[發(fā)明專(zhuān)利]分布式數(shù)據(jù)庫(kù)同步方法和系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201210586458.0 | 申請(qǐng)日: | 2012-12-28 |
| 公開(kāi)(公告)號(hào): | CN103902617A | 公開(kāi)(公告)日: | 2014-07-02 |
| 發(fā)明(設(shè)計(jì))人: | 朱俊華 | 申請(qǐng)(專(zhuān)利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類(lèi)號(hào): | G06F17/30 | 分類(lèi)號(hào): | G06F17/30 |
| 代理公司: | 深圳市深佳知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 44285 | 代理人: | 唐華明 |
| 地址: | 518129 廣東*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 分布式 數(shù)據(jù)庫(kù) 同步 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)領(lǐng)域,更具體地說(shuō),涉及分布式數(shù)據(jù)庫(kù)同步方法和系統(tǒng)。
背景技術(shù)
隨著云計(jì)算的興起,對(duì)海量數(shù)據(jù)存儲(chǔ)和管理的需求也在不斷地增加。在這樣的趨勢(shì)下,近幾年出現(xiàn)了許多面向海量數(shù)據(jù)管理的大規(guī)模分布式數(shù)據(jù)庫(kù),通過(guò)利用商用硬件搭建大規(guī)模服務(wù)器集群來(lái)提供海量的數(shù)據(jù)存儲(chǔ)和管理能力。
副本機(jī)制作為保證數(shù)據(jù)庫(kù)服務(wù)的可靠性和可用性的關(guān)鍵技術(shù)之一,在各種新興的大規(guī)模分布式數(shù)據(jù)庫(kù)系統(tǒng)中得到了廣泛運(yùn)用。在實(shí)際應(yīng)用中,一般會(huì)在數(shù)據(jù)中心之間采用異步復(fù)制的方式,對(duì)數(shù)據(jù)復(fù)制只提供最終一致性的保證,即通過(guò)將主數(shù)據(jù)庫(kù)的數(shù)據(jù)與副本數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行同步的方式,來(lái)保證數(shù)據(jù)的可靠性和可用性。為了保證主數(shù)據(jù)庫(kù)與副本數(shù)據(jù)庫(kù)同步的有效性,需要在各種故障場(chǎng)景下都能檢查并同步不一致的數(shù)據(jù)副本,確保數(shù)據(jù)庫(kù)在出現(xiàn)故障后能快速恢復(fù)到出錯(cuò)前的正確狀態(tài),從而提升數(shù)據(jù)庫(kù)的可用性和可靠性。
現(xiàn)有技術(shù)中,所采用的技術(shù)方案一般為,在整個(gè)數(shù)據(jù)庫(kù)同步系統(tǒng)包括有主數(shù)據(jù)庫(kù)、副數(shù)據(jù)庫(kù)和同步單元,主數(shù)據(jù)庫(kù)和副數(shù)據(jù)庫(kù)均包括數(shù)據(jù)格式化單元,哈希值生成器和樹(shù)結(jié)構(gòu)生成器。
數(shù)據(jù)格式化單元負(fù)責(zé)按照共同數(shù)據(jù)模型接收,格式化,存儲(chǔ)和管理數(shù)據(jù)單元。哈希模型定義了一種或多種哈希算法及其輸入格式,哈希值生成器根據(jù)哈希模型為數(shù)據(jù)單元生成哈希值。樹(shù)結(jié)構(gòu)生成器把數(shù)據(jù)格式化單元中的數(shù)據(jù)單元組織成一棵樹(shù)。在樹(shù)結(jié)構(gòu)生成器生成樹(shù)后,哈希值生成器計(jì)算樹(shù)中每個(gè)節(jié)點(diǎn)的哈希值,從而得到一棵哈希樹(shù)。若節(jié)點(diǎn)為葉節(jié)點(diǎn),節(jié)點(diǎn)哈希值通過(guò)對(duì)其包含的數(shù)據(jù)單元的哈希值的計(jì)算得到,如節(jié)點(diǎn)不是葉節(jié)點(diǎn),節(jié)點(diǎn)哈希值通過(guò)對(duì)其子節(jié)點(diǎn)的哈希值和包含的數(shù)據(jù)單元的哈希值的計(jì)算得到。
同步單元通過(guò)對(duì)比主數(shù)據(jù)庫(kù)的哈希樹(shù)和副數(shù)據(jù)庫(kù)的哈希樹(shù),確定不一致的數(shù)據(jù)單元,同步單元通知主數(shù)據(jù)庫(kù)將不一致的數(shù)據(jù)單元從主數(shù)據(jù)庫(kù)傳送至副數(shù)據(jù)庫(kù);在將所有的哈希樹(shù)對(duì)比、并完成所有不一致的數(shù)據(jù)單元的傳送后,即為完成了數(shù)據(jù)庫(kù)的同步。
發(fā)明人通過(guò)研究發(fā)現(xiàn),現(xiàn)有技術(shù)中的技術(shù)方案至少存在以下缺陷:
由于在現(xiàn)有技術(shù)中,需要在同步單元中完成所有節(jié)點(diǎn)中數(shù)據(jù)單元的哈希樹(shù)比較,所以執(zhí)行數(shù)據(jù)一致性檢查時(shí),需要較長(zhǎng)的時(shí)間,從而使得數(shù)據(jù)同步的效率較低。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供分布式數(shù)據(jù)庫(kù)同步方法和系統(tǒng),以解決現(xiàn)有技術(shù)存在的數(shù)據(jù)同步的效率較低的問(wèn)題。
本發(fā)明是這樣實(shí)現(xiàn)的:
一方面,提供了一種分布式數(shù)據(jù)庫(kù)同步方法,分布式數(shù)據(jù)庫(kù)包括主服務(wù)器集群和備份服務(wù)器集群,主服務(wù)器集群中主節(jié)點(diǎn)包括一個(gè)或多個(gè)區(qū)間,備份服務(wù)器集群中備份節(jié)點(diǎn)包括一個(gè)或多個(gè)區(qū)間,主服務(wù)器集群中每個(gè)區(qū)間在備份服務(wù)器集群中都對(duì)應(yīng)一個(gè)區(qū)間,主服務(wù)器集群包括第一主節(jié)點(diǎn)和第二主節(jié)點(diǎn),備份服務(wù)器集群包括第一備份節(jié)點(diǎn)和第二備份節(jié)點(diǎn),所述方法包括:
第一主節(jié)點(diǎn)獲取主服務(wù)器集群中各個(gè)主節(jié)點(diǎn)的所有區(qū)間哈希樹(shù)的根節(jié)點(diǎn)的區(qū)間哈希值,并生成以主服務(wù)器集群中所述區(qū)間哈希值為葉節(jié)點(diǎn)的主服務(wù)器集群哈希樹(shù);其中,主節(jié)點(diǎn)的區(qū)間哈希樹(shù)為主節(jié)點(diǎn)以區(qū)間中的數(shù)據(jù)單元為葉節(jié)點(diǎn)構(gòu)造的哈希樹(shù);
第一備份節(jié)點(diǎn)獲取備份服務(wù)器集群中各個(gè)備份節(jié)點(diǎn)的所有區(qū)間哈希樹(shù)的根節(jié)點(diǎn)的區(qū)間哈希值,并生成以備份服務(wù)器集群中所述區(qū)間哈希值為葉節(jié)點(diǎn)的備份服務(wù)器集群哈希樹(shù);其中,備份節(jié)點(diǎn)的區(qū)間哈希樹(shù)為備份節(jié)點(diǎn)以區(qū)間中的數(shù)據(jù)單元為葉節(jié)點(diǎn)構(gòu)造的哈希樹(shù);
第一主節(jié)點(diǎn)通過(guò)比較主服務(wù)器集群哈希樹(shù)和備份服務(wù)器集群哈希樹(shù),確定區(qū)間哈希值不一致的第二主節(jié)點(diǎn)的區(qū)間哈希樹(shù)和第二備份節(jié)點(diǎn)的區(qū)間哈希樹(shù);
第二主節(jié)點(diǎn)通過(guò)比較第二主節(jié)點(diǎn)的區(qū)間哈希樹(shù)和第二備份節(jié)點(diǎn)的區(qū)間哈希樹(shù),確定第二主節(jié)點(diǎn)中需同步的數(shù)據(jù)單元和第二備份節(jié)點(diǎn)需同步的數(shù)據(jù)單元;
第二主節(jié)點(diǎn)根據(jù)第二主節(jié)點(diǎn)中需同步的數(shù)據(jù)單元和第二備份節(jié)點(diǎn)中需同步的數(shù)據(jù)單元進(jìn)行數(shù)據(jù)同步。
進(jìn)一步的,所述以區(qū)間中的數(shù)據(jù)單元為葉節(jié)點(diǎn)構(gòu)造的哈希樹(shù),具體包括:
根據(jù)數(shù)據(jù)單元信息和區(qū)間信息為每個(gè)區(qū)間構(gòu)造以數(shù)據(jù)單元為葉節(jié)點(diǎn)的樹(shù)結(jié)構(gòu);
根據(jù)哈希模型,計(jì)算所述樹(shù)結(jié)構(gòu)每個(gè)葉節(jié)點(diǎn)的哈希值,以生成所述區(qū)間哈希樹(shù);
為每個(gè)區(qū)間哈希樹(shù)加入對(duì)應(yīng)的區(qū)間標(biāo)識(shí)。
進(jìn)一步的,所述主服務(wù)器集群中每個(gè)區(qū)間在備份服務(wù)器中都對(duì)應(yīng)一個(gè)區(qū)間,具體的包括:
分別為所述主服務(wù)器集群中每個(gè)區(qū)間和所述備份服務(wù)器中每個(gè)區(qū)間設(shè)有區(qū)間標(biāo)識(shí);
將所述主服務(wù)器集群中每個(gè)區(qū)間的區(qū)間標(biāo)識(shí)和對(duì)應(yīng)的備份服務(wù)器中區(qū)間的區(qū)間標(biāo)識(shí)加以關(guān)聯(lián)。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210586458.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語(yǔ)言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫(kù)結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 一種分布式處理方法、系統(tǒng)及其裝置
- 基于分布式系統(tǒng)的數(shù)據(jù)訪(fǎng)問(wèn)方法和裝置
- 一種基于分布式鎖加載分布式任務(wù)的方法以及裝置
- 一種分布式光伏集群系統(tǒng)
- 一種分布式能源遠(yuǎn)程監(jiān)測(cè)管理系統(tǒng)及方法
- 任務(wù)處理方法和分布式計(jì)算框架
- 一種分布式電源監(jiān)控系統(tǒng)
- 一種基于區(qū)塊鏈的聯(lián)盟信任分布式身份認(rèn)證方法及系統(tǒng)
- 分布式系統(tǒng)中分布式鎖調(diào)度方法及裝置
- 用于批處理的分布式鎖處理方法、裝置及系統(tǒng)
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線(xiàn)程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





