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



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



-1.png)




.png)


證.png)


伙伴.png)
伙伴.png)
伙伴.png)



