1. 實時事務的特性與分類
實時數(shù)據(jù)庫系統(tǒng)(Real-Time Database System, RTDBS)是數(shù)據(jù)和事務都可以具有定時特性或顯式定時限制的數(shù)據(jù)庫系統(tǒng),其正確性不僅依賴于邏輯結果,而且依賴于該邏輯結果產(chǎn)生的時間。這種雙重約束使得實時數(shù)據(jù)庫在處理事務時需要考慮更多維度的時間因素,而非傳統(tǒng)數(shù)據(jù)庫單純關注數(shù)據(jù)一致性。
實時事務根據(jù)其截止期要求和錯失截止期帶來的后果嚴重性,可分為硬實時事務、軟實時事務和固實時事務三種類型。硬實時事務錯失截止期會導致災難性后果或系統(tǒng)性能急劇下降,必須保證在截止期內(nèi)完成;軟實時事務錯失截止期可以容忍,但會降低系統(tǒng)性能;固實時事務在截止期后完成其結果將變得無用,但不會造成損害。這種分類對調(diào)度策略的選擇至關重要,因為不同類別的事務需要不同的調(diào)度保證。
實時事務具有多種關鍵屬性,包括到達時間(a(t))、開始執(zhí)行時間(s(t))、截止期(d(t))、數(shù)據(jù)截止期(ddt(t))、訪問的數(shù)據(jù)對象數(shù)(L(t))等。數(shù)據(jù)截止期是一個特別重要的概念,定義為事務截至某個時刻訪問的時序數(shù)據(jù)對象的有效期終點的最小者,它反映了事務訪問數(shù)據(jù)的時效性要求。理解這些屬性對于設計高效的事務調(diào)度和并發(fā)控制機制至關重要。
2. 實時事務的優(yōu)先級分配策略
在實時數(shù)據(jù)庫系統(tǒng)中,合理分配事務優(yōu)先級是調(diào)度成功的核心。最早截止期優(yōu)先(EDF)算法是最基本的動態(tài)優(yōu)先級分配策略,按照事務的截止期分配優(yōu)先級,截止期越早,優(yōu)先級越高。研究表明,EDF算法能夠?qū)崿F(xiàn)全部的處理器利用率,有利于提升系統(tǒng)性能。
最小空余時間優(yōu)先(LSF)策略則基于事務運行時間估算,按照事務的空余時間(slack time)分配優(yōu)先級??沼鄷r間定義為截止期與預計完成時間的差值,空余時間越小,優(yōu)先級越高。這種策略考慮了事務的執(zhí)行進度,更能反映事務的緊急程度。
傳統(tǒng)優(yōu)先級分配策略只考慮事務截止期,而忽略了數(shù)據(jù)時效性要求。為此,研究人員提出了同時考慮事務截止期和”數(shù)據(jù)截止期”的混合策略。其中,截止期最小者優(yōu)先策略按事務截止期和數(shù)據(jù)截止期之間的最小者分配優(yōu)先級;而基于數(shù)據(jù)截止期的空余時間最小者優(yōu)先策略則在LSF基礎上引入數(shù)據(jù)截止期概念,使優(yōu)先級分配更加全面。
對于混合實時事務環(huán)境,MCC-DATI協(xié)議采用動態(tài)優(yōu)先級驅(qū)動調(diào)度算法,通過限制非定期的軟實時事務對硬實時事務的阻塞時間,保證硬實時事務的可調(diào)度性;同時,采用非定期任務調(diào)度算法以及基于時間戳間隔的動態(tài)串行化順序調(diào)整機制來減少軟實時事務的截止期錯失率。
3. 實時事務的并發(fā)控制協(xié)議
并發(fā)控制是保證多個事務同時執(zhí)行時不破壞數(shù)據(jù)庫一致性的關鍵技術。實時數(shù)據(jù)庫中的并發(fā)控制協(xié)議主要分為悲觀控制協(xié)議和樂觀控制協(xié)議兩大類。
3.1 基于鎖的悲觀并發(fā)控制協(xié)議
基于鎖的協(xié)議采用”先檢測沖突,后執(zhí)行”的悲觀策略,在事務訪問數(shù)據(jù)前先獲取相應鎖,防止沖突發(fā)生。兩段鎖協(xié)議(2PL)是傳統(tǒng)數(shù)據(jù)庫中最常用的并發(fā)控制協(xié)議,但在實時環(huán)境中容易導致優(yōu)先級反轉問題。
為解決優(yōu)先級反轉問題,研究者提出了多種改進策略。優(yōu)先級繼承協(xié)議是其中一種基本方法,當出現(xiàn)優(yōu)先級倒置時,低優(yōu)先級事務繼承高優(yōu)先級事務的優(yōu)先級。有條件的優(yōu)先級繼承協(xié)議則進一步改進,系統(tǒng)會檢驗低優(yōu)先級事務是否已接近完成,是則繼承高優(yōu)先級,否則將其取消。數(shù)據(jù)優(yōu)先級法為每個數(shù)據(jù)對象分配優(yōu)先級,其值等于所有申請事務的最高優(yōu)先級,如果申請事務的優(yōu)先級比該值低,申請就被拒絕。
SRP-DATI協(xié)議通過增加讀寫語義擴展堆棧資源策略(SRP),引入寫優(yōu)先級頂(WPL)和動態(tài)讀寫優(yōu)先級頂(RWPL)概念,有效控制數(shù)據(jù)沖突導致的優(yōu)先級反轉問題。該協(xié)議要求事務的搶占等級與優(yōu)先級滿足特定關系,確保高優(yōu)先級事務能夠及時搶占資源。
3.2 樂觀并發(fā)控制協(xié)議
樂觀并發(fā)控制(OCC)采用”先執(zhí)行,后檢測沖突”的策略,假定事務間沖突概率很小,事務在執(zhí)行過程中不受限制,僅在提交時進行沖突檢測。OCC將事務處理分為讀階段、計算階段、驗證階段和提交階段四個階段。
OCC-DATI協(xié)議利用賦予每個事務的時標間隔來檢測數(shù)據(jù)沖突,動態(tài)調(diào)整事務的串行化次序,從而減少重新啟動事務的數(shù)量。時標間隔反映了事務之間的串行次序,在事務處理中被不斷調(diào)整,根據(jù)沖突類型的不同(讀/寫、寫/讀和寫/寫),可以向前或向后調(diào)整各個沖突事務的時標間隔。
OCC-CS算法基于提交空間(Commit Space)概念,通過動態(tài)調(diào)整執(zhí)行順序避免不必要的重啟。根據(jù)半提交選擇法的不同,OCC-CS算法可分為CS-LEFT、CS-RIGHT、CS-ALT和CS-LRC算法。實驗表明,CS-ALT算法能夠比基于動態(tài)調(diào)整串行化順序方法的OCC-DATI算法更有效地避免不必要的重啟。
4. 數(shù)據(jù)時態(tài)特性對事務調(diào)度的影響
實時數(shù)據(jù)庫中的數(shù)據(jù)具有鮮明的時態(tài)特性,這些特性直接影響事務調(diào)度和并發(fā)控制的效果。時序數(shù)據(jù)對象具有外部有效期,其值只在特定時間范圍內(nèi)有效。數(shù)據(jù)有效期分為絕對有效期和相對有效期,絕對有效期表示單個數(shù)據(jù)對象值有效的時間范圍,而相對有效期則表示一組相關數(shù)據(jù)對象之間的時間一致性要求。
數(shù)據(jù)截止期是連接事務調(diào)度與數(shù)據(jù)時態(tài)特性的關鍵概念。事務在某個時刻的數(shù)據(jù)截止期定義為該時刻前訪問的所有時序數(shù)據(jù)對象的有效期終點的最小值。數(shù)據(jù)截止期在事務執(zhí)行過程中動態(tài)變化,隨著事務訪問更多數(shù)據(jù)而可能縮短。調(diào)度器必須同時考慮事務截止期和數(shù)據(jù)截止期,以確保事務在提交時訪問的數(shù)據(jù)仍然有效。
為保證數(shù)據(jù)的時間一致性,研究者提出了夭折-等待處理策略。該策略基于數(shù)據(jù)截止期和響應時間估算,當事務無法在數(shù)據(jù)有效期內(nèi)完成時,系統(tǒng)根據(jù)情況決定是讓事務等待數(shù)據(jù)的新版本還是夭折重啟??紤]數(shù)據(jù)”相似性”的夭折-等待策略進一步擴展了這一思想,當連續(xù)數(shù)據(jù)版本之間差異較小時,即使超過有效期,仍可接受舊版本數(shù)據(jù),提高系統(tǒng)靈活性。
在主動實時數(shù)據(jù)庫中,時態(tài)數(shù)據(jù)的不同變化速率(穩(wěn)定性)也影響調(diào)度決策。易變的時態(tài)數(shù)據(jù)有效期較短,而穩(wěn)定的時態(tài)數(shù)據(jù)有效期較長。調(diào)度器需要根據(jù)數(shù)據(jù)的穩(wěn)定性特征調(diào)整調(diào)度策略,對易變數(shù)據(jù)采取更積極的預取和更新策略。
5. 事務調(diào)度與并發(fā)控制的性能優(yōu)化技術
實時數(shù)據(jù)庫系統(tǒng)性能優(yōu)化的核心目標是降低事務錯失截止期的比率(錯失率),同時提高資源利用率和系統(tǒng)吞吐量。針對這一目標,研究者提出了多種性能優(yōu)化技術。
動態(tài)調(diào)整串行化順序是減少不必要事務重啟的有效方法。通過動態(tài)調(diào)整事務的串行化順序和讀寫順序,系統(tǒng)可以尋找可串行化的調(diào)度,避免不必要的事務重啟。與靜態(tài)串行化順序相比,動態(tài)調(diào)整能更好地適應實時環(huán)境的變化,提高事務完成率。
犧牲重啟事務策略針對系統(tǒng)高負載情況下的資源浪費問題,通過讓更有可能滿足截止期的未重啟過的事務優(yōu)先執(zhí)行,減少”浪費的執(zhí)行”。該策略在系統(tǒng)負載較高時特別有效,能提高實時事務滿足截止期的機會,降低系統(tǒng)錯失率。
多版本并發(fā)訪問策略將數(shù)據(jù)庫存儲空間分為一致版本和工作版本,讀鎖請求作用于一致版本,寫鎖請求作用于工作版本。這種讀寫分離策略允許多個讀操作同時進行,提高系統(tǒng)并發(fā)性。提交鎖通過將寫鎖升級為提交鎖來獲得,確保數(shù)據(jù)一致性的同時減少阻塞。
陰影節(jié)點方法實現(xiàn)優(yōu)先級繼承,當出現(xiàn)事務阻塞時,向事務隊列插入一個新節(jié)點,該節(jié)點對應的事務和寄存器狀態(tài)與被阻塞事務相同,且優(yōu)先級繼承自被阻塞事務。這種方法有效減少線程切換帶來的資源消耗,支持多重繼承,提高系統(tǒng)對阻塞的處理能力。
雙重循環(huán)結構是數(shù)據(jù)庫工作線程的一種高效設計,外層循環(huán)不斷從事務隊列中讀取當前優(yōu)先級最高的事務,內(nèi)層循環(huán)則根據(jù)事務的程序計數(shù)器執(zhí)行事務的字節(jié)碼指令,并檢查事務隊列中的搶占式調(diào)度標志。這種結構使系統(tǒng)能夠?qū)崟r響應事務隊列變化,通過搶占式調(diào)度優(yōu)先執(zhí)行新到達的高優(yōu)先級事務。
6. 混合實時事務的調(diào)度框架
現(xiàn)實世界的實時應用通常需要同時處理多種類型的事務,混合實時事務調(diào)度框架因此顯得尤為重要。兩層結構的混合實時數(shù)據(jù)庫系統(tǒng)模型包含事務解析器、非定期事務調(diào)度器、EDF調(diào)度器、并發(fā)控制器以及硬實時事務隊列與非定期事務隊列。
在這種框架下,TB算法(Total Bandwidth Server)是一種有效的非定期事務調(diào)度算法。TB算法按照EDF算法安排非定期事務的搶占執(zhí)行,為每個非定期事務分配一個盡可能早的截止期,并且要求這個截止期保證不會影響硬實時事務的可調(diào)度性。通過縮短非定期事務的截止期,使得這些事務在EDF調(diào)度器中能夠獲得更高的優(yōu)先級,從而在不影響硬實時事務滿足截止期的前提下,促進非定期事務的響應時間。
MCC-DATI協(xié)議是針對混合實時事務環(huán)境的一種綜合并發(fā)控制方案,它集成SRP-DATI協(xié)議與OCC-DATI協(xié)議,既保證硬實時事務的可調(diào)度性,又減少軟實時事務的截止期錯失率。該協(xié)議通過動態(tài)調(diào)整串行化順序,最小化由于軟實時事務與硬實時事務之間的數(shù)據(jù)沖突而導致的軟實時事務重啟。
仿真實驗表明,MCC-DATI協(xié)議在不同的系統(tǒng)負載與截止期約束下都能夠改進系統(tǒng)的性能,相對于先前的混合事務并發(fā)控制協(xié)議表現(xiàn)出更好的適應性。這種性能優(yōu)勢在動態(tài)變化的實時環(huán)境中尤為寶貴。
7. 結論與未來研究方向
實時數(shù)據(jù)庫事務調(diào)度與并發(fā)控制機制是一個復雜而關鍵的研究領域,直接影響實時系統(tǒng)的性能和可靠性。通過對實時事務特性的深入分析,合理的優(yōu)先級分配策略,有效的并發(fā)控制協(xié)議,以及考慮數(shù)據(jù)時態(tài)特性的優(yōu)化方法,可以顯著提高實時數(shù)據(jù)庫系統(tǒng)的性能。
未來研究有幾個重要方向值得關注。其一是智能自適應優(yōu)化技術,利用機器學習方法預測事務執(zhí)行模式和數(shù)據(jù)訪問模式,動態(tài)調(diào)整調(diào)度策略。其二是分布式實時事務處理,隨著物聯(lián)網(wǎng)和邊緣計算的發(fā)展,分布式環(huán)境下的實時事務調(diào)度和并發(fā)控制面臨新的挑戰(zhàn)。其三是實時性與一致性權衡,在嚴格要求實時性的場景下,如何合理放寬一致性要求以提高事務完成率值得深入研究。
實時數(shù)據(jù)庫技術的發(fā)展將推動實時應用在智能制造、自動駕駛、智能電網(wǎng)等關鍵領域的更廣泛應用,為數(shù)字化轉型提供堅實的技術支撐。



互聯(lián)網(wǎng).png)



-1.png)












伙伴.png)



