国产精品无码一区二区三级,免费无码又爽又刺激网站,女人18一级毛片免费观看,久青草国产在线观看,91网在线,大桥未久亚洲一区二区,国产午睡沙发系列大全,免费无码又爽又刺激高潮的视频免费

      一種并發(fā)控制解耦的云原生數(shù)據(jù)庫系統(tǒng)及其事務(wù)處理方法

      文檔序號:42326796發(fā)布日期:2025-07-01 19:46閱讀:11來源:國知局

      本發(fā)明涉及數(shù)據(jù)庫,具體涉及一種并發(fā)控制解耦的云原生數(shù)據(jù)庫系統(tǒng)及其事務(wù)處理方法。


      背景技術(shù):

      1、隨著云計算技術(shù)的快速發(fā)展,云原生數(shù)據(jù)庫架構(gòu)逐漸成為數(shù)據(jù)庫系統(tǒng)的主流設(shè)計范式。傳統(tǒng)云原生數(shù)據(jù)庫系統(tǒng)將執(zhí)行層與數(shù)據(jù)存儲層解耦,形成存算分離的兩層架構(gòu),從而實現(xiàn)計算與存儲的獨立擴展,提升數(shù)據(jù)庫系統(tǒng)的可擴展性與彈性。

      2、并發(fā)控制(concurrency?control,cc)作為數(shù)據(jù)庫系統(tǒng)中的核心功能模塊,旨在保障數(shù)據(jù)的原子性、一致性、隔離性與持久性。如圖1(a)和(b)所示,目前大多數(shù)云原生數(shù)據(jù)庫系統(tǒng)要么將并發(fā)控制與執(zhí)行層耦合,要么將并發(fā)控制與數(shù)據(jù)存儲層耦合。但是,隨著數(shù)據(jù)規(guī)模的不斷增加,這種并發(fā)控制耦合的云原生數(shù)據(jù)庫系統(tǒng)面臨著嚴峻的可擴展性挑戰(zhàn)。例如,當并發(fā)控制與執(zhí)行層耦合時,需要增加執(zhí)行節(jié)點數(shù)量來提升并發(fā)控制性能,但執(zhí)行節(jié)點間的協(xié)調(diào)開銷也隨之增加,當協(xié)調(diào)開銷超過了新增節(jié)點所帶來的性能收益時,數(shù)據(jù)庫系統(tǒng)整體性能就會下降;當并發(fā)控制與數(shù)據(jù)存儲層耦合時,由于并發(fā)控制需要大量計算資源來解決并發(fā)沖突且數(shù)據(jù)存儲節(jié)點計算資源有限,即使增加數(shù)據(jù)存儲節(jié)點的數(shù)量,也難以提高并發(fā)控制的性能。因此,并發(fā)控制的資源需求既不與執(zhí)行層一致,也不與數(shù)據(jù)存儲層一致,為了提高并發(fā)控制的性能和拓展性,需要將并發(fā)控制解耦,形成執(zhí)行層-并發(fā)控制層-數(shù)據(jù)存儲層三層解耦的云原生數(shù)據(jù)庫系統(tǒng)。


      技術(shù)實現(xiàn)思路

      1、本發(fā)明的目的在于提供一種并發(fā)控制解耦的云原生數(shù)據(jù)庫系統(tǒng)及其事務(wù)處理方法:一方面,將數(shù)據(jù)庫并發(fā)控制從數(shù)據(jù)存儲層與執(zhí)行層中解耦,構(gòu)建執(zhí)行層-并發(fā)控制層-數(shù)據(jù)存儲層三層解耦的云原生數(shù)據(jù)庫系統(tǒng),以避免傳統(tǒng)并發(fā)控制耦合架構(gòu)的性能瓶頸,提升數(shù)據(jù)庫并發(fā)控制的靈活性、彈性和可拓展性,為高并發(fā)、大規(guī)模數(shù)據(jù)處理提供強有力的支持;另一方面,提供了一種事務(wù)處理方法,該方法應(yīng)用于所述并發(fā)控制解耦的云原生數(shù)據(jù)庫系統(tǒng),提高并發(fā)控制的可拓展性。

      2、本發(fā)明的技術(shù)方案具體是:

      3、一種并發(fā)控制解耦的云原生數(shù)據(jù)庫系統(tǒng),包括并發(fā)控制、執(zhí)行層和數(shù)據(jù)存儲層,并發(fā)控制從數(shù)據(jù)存儲層與執(zhí)行層中解耦,形成執(zhí)行層-并發(fā)控制層-數(shù)據(jù)存儲層的三層解耦的云原生數(shù)據(jù)庫系統(tǒng)。

      4、如上所述的云原生數(shù)據(jù)庫系統(tǒng)的事務(wù)處理方法,包括如下步驟:

      5、步驟1:初始化執(zhí)行節(jié)點的事務(wù)批處理的時間間隔epoch并設(shè)置并發(fā)控制節(jié)點的事務(wù)隔離級別;

      6、步驟2:執(zhí)行節(jié)點根據(jù)設(shè)定的epoch的大小從客戶端接收事務(wù)請求;

      7、步驟3:執(zhí)行節(jié)點為接收的事務(wù)生成對應(yīng)的讀集和寫集;

      8、步驟4:執(zhí)行節(jié)點將讀集和寫集發(fā)送給并發(fā)控制節(jié)點,并等待并發(fā)控制節(jié)點的事務(wù)處理結(jié)果反饋;

      9、步驟5:并發(fā)控制節(jié)點對同一epoch內(nèi)的每個事務(wù)進行讀集驗證,若事務(wù)通過讀集驗證,將該事務(wù)中的寫集發(fā)送給其他并發(fā)控制節(jié)點,否則將該事務(wù)的狀態(tài)設(shè)置為回滾狀態(tài);

      10、步驟6:并發(fā)控制節(jié)點等待當前epoch的寫集收集完整;

      11、步驟7:引入全局寫版本映射表和局部寫版本映射表這兩個輔助數(shù)據(jù)結(jié)構(gòu),對當前epoch內(nèi)的每個事務(wù)進行寫集驗證;

      12、所述全局寫版本映射表,用于維護系統(tǒng)范圍內(nèi)的全局版本信息,確保任何事務(wù)均能獲取數(shù)據(jù)行的最新版本和刪除狀態(tài);

      13、所述局部寫版本映射表,用于記錄當前epoch內(nèi)的事務(wù)臨時寫入版本,以便檢測同一epoch內(nèi)事務(wù)之間的并發(fā)寫沖突;

      14、步驟8:并發(fā)控制節(jié)點更新全局寫版本映射表并寫入持久化日志,且將本epoch的所有事務(wù)的狀態(tài)反饋給執(zhí)行節(jié)點;

      15、步驟9:并發(fā)控制節(jié)點將持久化日志異步發(fā)送給存儲節(jié)點。

      16、如上所述的事務(wù)處理方法,所述事務(wù)隔離級別包括讀已提交、可重復(fù)讀以及快照隔離。

      17、如上所述的事務(wù)處理方法,步驟2所述的執(zhí)行節(jié)點根據(jù)設(shè)定的epoch的大小從客戶端接收事務(wù)請求為:執(zhí)行節(jié)點判斷當前epoch號是否發(fā)生了改變,若否,執(zhí)行節(jié)點繼續(xù)從客戶端接收事務(wù)請求;若是,則當前epoch號代表的本批次的事務(wù)收集完成,開啟下一個epoch號所代表批次的事務(wù)收集。

      18、如上所述的事務(wù)處理方法,所述步驟3所述執(zhí)行節(jié)點為接收的事務(wù)生成對應(yīng)的讀集和寫集包括:

      19、當一個epoch的事務(wù)收集完整后,執(zhí)行節(jié)點為本批次的事務(wù)生成對應(yīng)的讀集和寫集;

      20、執(zhí)行節(jié)點將事務(wù)內(nèi)的sql語句經(jīng)過詞法分析、語法分析、查詢優(yōu)化后生成物理執(zhí)行計劃,并根據(jù)物理執(zhí)行計劃從數(shù)據(jù)存儲節(jié)點獲取元數(shù)據(jù),依據(jù)元數(shù)據(jù)生成對應(yīng)的讀集和寫集。

      21、如上所述的事務(wù)處理方法,所述步驟4具體為:當一個epoch內(nèi)的所有事務(wù)的讀集和寫集生成完畢后,執(zhí)行節(jié)點將這些讀寫集進行序列化和數(shù)據(jù)壓縮,并發(fā)送至任一并發(fā)控制節(jié)點;完成發(fā)送操作后,執(zhí)行節(jié)點中負責(zé)當前epoch事務(wù)處理的線程將進入阻塞狀態(tài),以等待來自并發(fā)控制節(jié)點的事務(wù)處理結(jié)果反饋。

      22、如上所述的事務(wù)處理方法,在所述步驟5中,在收到執(zhí)行節(jié)點發(fā)來的讀集和寫集后,并發(fā)控制節(jié)點根據(jù)步驟1設(shè)置的事務(wù)隔離級別,基于當前的epoch號獨立驗證本地的讀集:如果并發(fā)控制節(jié)點的事務(wù)隔離級別是讀已提交,直接將寫集發(fā)送給其他并發(fā)控制節(jié)點;如果事務(wù)隔離級別是可重復(fù)讀,遍歷當前的所有讀集,如果發(fā)現(xiàn)有讀集的版本和當前記錄的版本不一致,回滾當前的事務(wù),否則將寫集發(fā)送給其他所有對等并發(fā)控制節(jié)點;如果事務(wù)隔離級別是快照隔離,驗證當前快照是否被更新,如果被更新中止當前事務(wù),否則將寫集發(fā)送給其他并發(fā)控制節(jié)點。

      23、如上所述的事務(wù)處理方法,步驟7進一步包括:

      24、步驟7.1:并發(fā)控制節(jié)點驗證當前epoch內(nèi)的事務(wù)和之前epoch的事務(wù)之間的寫沖突;

      25、步驟7.2:并發(fā)控制節(jié)點驗證當前epoch內(nèi)事務(wù)之間的寫沖突。

      26、如上所述的事務(wù)處理方法,步驟7.1所述并發(fā)控制節(jié)點驗證當前epoch內(nèi)的事務(wù)和之前epoch的事務(wù)之間的寫沖突的方法為:并發(fā)控制節(jié)點遍歷當前epoch內(nèi)所有事務(wù)的寫集,對每個寫操作執(zhí)行有效性檢查,若寫操作為更新或刪除,則要求目標數(shù)據(jù)行必須在全局寫版本映射表中存在且未被邏輯刪除;若寫操作為插入,則目標數(shù)據(jù)行不得存在于全局寫版本映射表中;對于有效性檢查未通過的事務(wù),并發(fā)控制節(jié)點將其事務(wù)狀態(tài)設(shè)置為回滾狀態(tài)。

      27、如上所述的事務(wù)處理方法,步驟7.2所述并發(fā)控制節(jié)點驗證當前epoch內(nèi)事務(wù)之間的寫沖突,對于epoch內(nèi)的一個事務(wù)驗證流程如下:遍歷這個事務(wù)的所有寫集,通過局部寫版本映射表查找當前epoch的最新寫集的數(shù)據(jù)行,如果找到的數(shù)據(jù)行為空,表明沒有其他事務(wù)試圖更新該行,因此當前事務(wù)可以繼續(xù)執(zhí)行,將事務(wù)需要更新的數(shù)據(jù)行插入到局部寫版本映射表中;否則,epoch內(nèi)的事務(wù)之間發(fā)生了寫沖突,通過比較事務(wù)號的大小來確定哪個事務(wù)能夠成功提交,哪個事務(wù)需要進行回滾;并發(fā)控制節(jié)點將能夠提交的事務(wù)的狀態(tài)設(shè)置為提交,將需要回滾的事務(wù)狀態(tài)設(shè)置為回滾。

      28、與現(xiàn)有技術(shù)相比較,本發(fā)明具有如下有益效果:本發(fā)明將數(shù)據(jù)庫并發(fā)控制從數(shù)據(jù)存儲層與執(zhí)行層中解耦,構(gòu)建執(zhí)行層-并發(fā)控制層-數(shù)據(jù)存儲層三層解耦的云原生數(shù)據(jù)庫系統(tǒng),能夠避免傳統(tǒng)并發(fā)控制耦合架構(gòu)的性能瓶頸,將數(shù)據(jù)庫并發(fā)控制模塊解耦后,每個并發(fā)控制節(jié)點都可以接收事務(wù)并解決沖突,且可以根據(jù)具體的工作負載獨立伸縮,提升了數(shù)據(jù)庫并發(fā)控制的靈活性、彈性和可拓展性,在面對大規(guī)模的工作負載時,并發(fā)控制能夠獨立地彈性伸縮,適應(yīng)實時變化的工作負載,可以為高并發(fā)、大規(guī)模數(shù)據(jù)處理提供強有力的支持;并提供了一種事務(wù)處理方法,該方法應(yīng)用于所述并發(fā)控制解耦的云原生數(shù)據(jù)庫系統(tǒng),提高并發(fā)控制的可拓展性。

      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1
      主站蜘蛛池模板: 永久免费中文字幕av| 午夜一区二区三区视频| 麻豆久久久国内精品| 自拍视频在线观看三级| 成人在线视频网站不卡| 昔阳县| 人妻精品一区二区免费| 亚洲一区二区免费日韩| 美女窝人体色www网站| 素人激情福利视频| 霍山县| 国产av色| 中文字幕精品乱码亚洲一区99| 日本女优中文字幕在线观看| 镇康县| 亚洲精品中文字幕二区| 黄陵县| 迭部县| 久久亚洲国产欧洲精品一| 中文字幕亚洲国产精品| 在线成人tv天堂中文字幕| 国产大片中文字幕| 日本亚洲一级中文字幕| 国产黑色丝袜在线观看视频| 日韩精品一二区在线视频 | 亚洲人成网站www| 日韩不卡av在线一区二区三区| 91中文字幕一区在线| 青青草原亚洲在线视频| 亚洲综合久久一本久道| 中江县| 淳化县| 蓬安县| 枣强县| 91久久国产福利自产拍| 中文字幕一区韩国三级| 国产福利一区二区三区视频在线看 | 国产精品成人免费久久黄| AV中文字幕在线视| 在线a人片免费观看国产| 人妻少妇太爽了嫩草影院|