亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種實現(xiàn)分布式數(shù)據(jù)庫操作一致性的方法及裝置的制造方法_4

文檔序號:9750942閱讀:來源:國知局
節(jié)點廣播其heartbeat。
[ΟΙ52]實施中,所述其他節(jié)點具體是根據(jù)所述節(jié)點的時間戳Term id與本地currentTermid的大小關(guān)系進行投票的。
[0153]實施中,所述數(shù)據(jù)庫具體為鍵值key-value數(shù)據(jù)庫,所述日志的時間戳Term與索引index作為鍵key,所述DML操作指令作為值value。
[0154]實施中,所述發(fā)送模塊具體可以用于所述leader節(jié)點通過追加項AppendEntries遠程過程調(diào)用RPC將包括所述DML操作指令的日志同步復制至所述follower節(jié)點。
[0155]實施中,所述發(fā)送模塊具體可以包括:
[0156]確定單元,用于所述leader節(jié)點根據(jù)預(yù)先存儲的跟隨者follower節(jié)點的下一索引nextlndex值,確定所述follower節(jié)點與所述leader節(jié)點日志一致的索引地址;
[0157]刪除單元,用于將所述follower節(jié)點的所述索引地址之后的日志條目刪除;
[0158]發(fā)送單元,用于將包括所述DML操作指令的日志中所述索引地址之后的日志條目同步復制至跟隨者follower節(jié)點。
[0159]為了描述的方便,以上所述裝置的各部分以功能分為各種模塊或單元分別描述。當然,在實施本申請時可以把各模塊或單元的功能在同一個或多個軟件或硬件中實現(xiàn)。
[0160]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0161]本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0162]這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0163]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0164]盡管已描述了本申請的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請范圍的所有變更和修改。
【主權(quán)項】
1.一種實現(xiàn)分布式數(shù)據(jù)庫操作一致性的方法,其特征在于,包括如下步驟: 領(lǐng)導者leader節(jié)點接收客戶端發(fā)送的數(shù)據(jù)操作語言DML操作指令; 所述leader節(jié)點將所述DML操作指令追加到本地日志log中,并將包括所述DML操作指令的日志同步復制至跟隨者follower節(jié)點; 所述follower節(jié)點將所述leader節(jié)點發(fā)送的DML操作指令追加到本地日志log中; 所述leader節(jié)點和所述follower節(jié)點的本地狀態(tài)機分別從各自的本地log中依次讀取所述DML操作指令并放到數(shù)據(jù)庫中執(zhí)行。2.如權(quán)利要求1所述的方法,其特征在于,在所述領(lǐng)導者leader節(jié)點接收客戶端發(fā)送的數(shù)據(jù)操作語言DML操作指令之后、所述leader節(jié)點將所述DML操作指令追加到本地日志log之前,進一步包括: 所述leader節(jié)點執(zhí)行所述DML操作指令到本地數(shù)據(jù)庫,確定所述DML操作指令為可執(zhí)行后執(zhí)行回滾ro I Iback操作。3.如權(quán)利要求1所述的方法,其特征在于,在所述領(lǐng)導者leader節(jié)點接收客戶端發(fā)送的數(shù)據(jù)操作語言DML操作指令之前,進一步包括: 如果節(jié)點在預(yù)設(shè)時間內(nèi)沒有收到leader節(jié)點的心跳Heartbeat,發(fā)起選舉,并增加自身的當前時間戳currentT erm標識id ; 當所述節(jié)點獲得超過半數(shù)的其他節(jié)點的投票時,所述節(jié)點作為Ieader節(jié)點廣播其heartbeat ο4.如權(quán)利要求3所述的方法,其特征在于,所述其他節(jié)點具體是根據(jù)所述節(jié)點的時間戳Term id與本地currentTerm id的大小關(guān)系進行投票的。5.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)庫具體為鍵值key-value數(shù)據(jù)庫,所述日志的時間戳Term與索引index作為鍵key,所述DML操作指令作為值value。6.如權(quán)利要求1所述的方法,其特征在于,所述leader節(jié)點將包括所述DML操作指令的日志同步復制至跟隨者follower節(jié)點,具體為: 所述I eader節(jié)點通過追加項AppendEntries遠程過程調(diào)用RPC將包括所述DML操作指令的日志同步復制至所述foilower節(jié)點。7.如權(quán)利要求1所述的方法,其特征在于,所述leader節(jié)點將包括所述DML操作指令的日志同步復制至跟隨者follower節(jié)點,具體為: 所述leader節(jié)點根據(jù)預(yù)先存儲的跟隨者follower節(jié)點的下一索引next Index值,確定所述f oil ower節(jié)點與所述I eader節(jié)點日志一致的索引地址; 將所述follower節(jié)點的所述索引地址之后的日志條目刪除; 將所述DML操作指令執(zhí)行成功的日志中所述索引地址之后的日志條目發(fā)送至跟隨者foil ower 節(jié)點。8.一種實現(xiàn)分布式數(shù)據(jù)庫操作一致性的裝置,其特征在于,包括: 第一接收模塊,用于領(lǐng)導者leader節(jié)點接收客戶端發(fā)送的數(shù)據(jù)操作語言DML操作指令; 第一處理模塊,用于所述leader節(jié)點將所述DML操作指令追加到本地日志log中; 發(fā)送模塊,用于所述leader節(jié)點將包括所述DML操作指令的日志發(fā)送至跟隨者foil ower 節(jié)點; 第二接收模塊,用于所述follower節(jié)點接收所述leader節(jié)點發(fā)送的包括所述DML操作指令的日志; 第二處理模塊,用于所述follower節(jié)點將所述DML操作指令追加到本地日志log中; 執(zhí)行模塊,用于所述I eader節(jié)點和所述f oil ower節(jié)點的本地狀態(tài)機分別從各自的本地log中依次讀取所述DML操作指令并放到數(shù)據(jù)庫中執(zhí)行。9.如權(quán)利要求8所述的裝置,其特征在于,進一步包括: 確定模塊,用于在所述領(lǐng)導者leader節(jié)點接收客戶端發(fā)送的數(shù)據(jù)操作語言DML操作指令之后、所述leader節(jié)點將所述DML操作指令追加到本地日志log之前,所述leader節(jié)點執(zhí)行所述DML操作指令到本地數(shù)據(jù)庫,確定所述DML操作指令為可執(zhí)行后執(zhí)行回滾rollback操作。10.如權(quán)利要求8所述的裝置,其特征在于,進一步包括: 選舉發(fā)起模塊,用于在所述領(lǐng)導者leader節(jié)點接收客戶端發(fā)送的數(shù)據(jù)操作語言DML操作指令之前,如果節(jié)點在預(yù)設(shè)時間內(nèi)沒有收到leader節(jié)點的心跳Heartbeat,發(fā)起選舉,并增加自身的當前時間戳currentT erm標識id ; 領(lǐng)導者確定模塊,用于當所述節(jié)點獲得超過半數(shù)的其他節(jié)點的投票時,所述節(jié)點作為leader 節(jié)點廣播其 heartbeat。11.如權(quán)利要求10所述的裝置,其特征在于,所述其他節(jié)點具體是根據(jù)所述節(jié)點的時間戳Term id與本地currentTerm id的大小關(guān)系進行投票的。12.如權(quán)利要求8所述的裝置,其特征在于,所述數(shù)據(jù)庫具體為鍵值key-value數(shù)據(jù)庫,所述日志的時間戳Term與索引index作為鍵key,所述DML操作指令作為值value。13.如權(quán)利要求8所述的裝置,其特征在于,所述發(fā)送模塊具體用于所述leader節(jié)點通過追加項AppendEntries遠程過程調(diào)用RPC將包括所述DML操作指令的日志同步復制至所述foil ower 節(jié)點。14.如權(quán)利要求7所述的裝置,其特征在于,所述發(fā)送模塊具體包括: 確定單元,用于所述I eader節(jié)點根據(jù)預(yù)先存儲的跟隨者follower節(jié)點的下一索引nextlndex值,確定所述follower節(jié)點與所述leader節(jié)點日志一致的索引地址; 刪除單元,用于將所述follower節(jié)點的所述索引地址之后的日志條目刪除; 發(fā)送單元,用于將包括所述DML操作指令的日志中所述索引地址之后的日志條目同步復制至跟隨者follower節(jié)點。
【專利摘要】本申請?zhí)峁┝艘环N實現(xiàn)分布式數(shù)據(jù)庫操作一致性的方法及裝置,包括:leader節(jié)點接收客戶端發(fā)送的DML操作指令;leader節(jié)點將DML操作指令追加到本地日志log中,并將包括DML操作指令的日志同步復制至follower節(jié)點;follower節(jié)點將leader節(jié)點發(fā)送的DML操作指令追加到本地日志log中,所述leader節(jié)點和所述follower節(jié)點的本地狀態(tài)機分別從各自的本地log中依次讀取DML操作指令并放到數(shù)據(jù)庫中執(zhí)行。采用本申請?zhí)峁┑姆桨缚梢员苊饨巧靵y現(xiàn)象出現(xiàn),確保數(shù)據(jù)一致性,且客戶端需要同步等待的開銷大大降低,從而提高了整個系統(tǒng)正常運行的吞吐量。
【IPC分類】G06F17/30
【公開號】CN105512266
【申請?zhí)枴緾N201510881937
【發(fā)明人】黃小川
【申請人】曙光信息產(chǎn)業(yè)(北京)有限公司
【公開日】2016年4月20日
【申請日】2015年12月3日
當前第4頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1