[發(fā)明專利]用于對(duì)象存儲(chǔ)集群的數(shù)據(jù)同步方法與系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201910458490.2 | 申請(qǐng)日: | 2019-05-29 |
| 公開(kāi)(公告)號(hào): | CN110175159B | 公開(kāi)(公告)日: | 2020-07-31 |
| 發(fā)明(設(shè)計(jì))人: | 張婷;胡升波;何軍 | 申請(qǐng)(專利權(quán))人: | 京東數(shù)字科技控股有限公司 |
| 主分類號(hào): | G06F16/182 | 分類號(hào): | G06F16/182;G06F11/14 |
| 代理公司: | 北京律智知識(shí)產(chǎn)權(quán)代理有限公司 11438 | 代理人: | 孫寶海;袁禮君 |
| 地址: | 100176 北京市大興區(qū)經(jīng)濟(jì)*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 對(duì)象 存儲(chǔ) 集群 數(shù)據(jù) 同步 方法 系統(tǒng) | ||
本公開(kāi)提供一種數(shù)據(jù)同步方法與系統(tǒng)。數(shù)據(jù)同步方法包括:接收用戶請(qǐng)求并轉(zhuǎn)發(fā)所述用戶請(qǐng)求至對(duì)象存儲(chǔ)服務(wù);在所述用戶請(qǐng)求是數(shù)據(jù)變更請(qǐng)求時(shí),響應(yīng)所述對(duì)象存儲(chǔ)服務(wù)的請(qǐng)求處理成功消息識(shí)別所述數(shù)據(jù)變更請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)對(duì)象以及數(shù)據(jù)屬性;在同步列表中將所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的所述數(shù)據(jù)屬性的值設(shè)置為集群名稱;定時(shí)拉取所述同步列表以生成多個(gè)同步任務(wù),一個(gè)同步任務(wù)對(duì)應(yīng)一個(gè)數(shù)據(jù)對(duì)象;按照所述數(shù)據(jù)對(duì)象、所述數(shù)據(jù)屬性以及每個(gè)所述數(shù)據(jù)屬性對(duì)應(yīng)的集群名稱,通過(guò)多個(gè)線程執(zhí)行所述多個(gè)同步任務(wù),一個(gè)同步任務(wù)僅由一個(gè)線程執(zhí)行。本公開(kāi)提供的數(shù)據(jù)同步方法可以增強(qiáng)集群間數(shù)據(jù)同步的可靠性。
技術(shù)領(lǐng)域
本公開(kāi)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種用于對(duì)象存儲(chǔ)集群的數(shù)據(jù)同步方法與系統(tǒng)。
背景技術(shù)
對(duì)象存儲(chǔ)是一種海量小文件的分布式存儲(chǔ)系統(tǒng),部署在一個(gè)獨(dú)立的集群上。為了避免單個(gè)集群發(fā)生故障時(shí)數(shù)據(jù)丟失,需要將數(shù)據(jù)備份到別的集群,其中用戶寫(xiě)入的集群稱為主集群(假設(shè)該集群為A),備份集群稱為從集群(假設(shè)該集群為B),同一時(shí)刻只有一個(gè)集群對(duì)用戶提供服務(wù)。
當(dāng)主集群發(fā)生故障時(shí),需要變更對(duì)外服務(wù)的集群,將原來(lái)的主集群變更為從集群,將原來(lái)的從集群變更為主集群,即集群切換。切換發(fā)生前,如果主集群A還有一部分?jǐn)?shù)據(jù)未來(lái)得及同步到從集群B,切換后,當(dāng)A集群修復(fù)后重新啟動(dòng),為了數(shù)據(jù)的完備性,需要將A集群上未同步完的這部分?jǐn)?shù)據(jù)再繼續(xù)同步到B,此時(shí)會(huì)發(fā)生同步服務(wù)與用戶對(duì)集群B的并發(fā)寫(xiě),產(chǎn)生各種復(fù)雜的一致性問(wèn)題。
如果切換后在A集群向B集群同步完成前禁止用戶寫(xiě)入新的主集群B,會(huì)嚴(yán)重影響用戶使用。如果切換后不限制用戶寫(xiě)入,將B集群新寫(xiě)入的數(shù)據(jù)寫(xiě)入新的消息隊(duì)列,當(dāng)A集群恢復(fù)時(shí),存在A集群向B集群同步和B集群向A集群同步的雙向同步,在同步的時(shí)候,以時(shí)間戳比較待同步數(shù)據(jù)與目標(biāo)集群數(shù)據(jù)的新舊,只有當(dāng)待同步數(shù)據(jù)新于目標(biāo)集群數(shù)據(jù)時(shí),才進(jìn)行同步。
此方案有諸多問(wèn)題:第一,來(lái)回多次切換主從集群時(shí),消息隊(duì)列維護(hù)相對(duì)復(fù)雜,需要大量人工干預(yù);第二,當(dāng)A或B集群一方的數(shù)據(jù)不存在時(shí),數(shù)據(jù)的時(shí)間戳也不存在,則無(wú)法比較時(shí)間戳,所以可能發(fā)生新的寫(xiě)數(shù)據(jù)操作被舊的刪除操作覆蓋,或者新的刪除數(shù)據(jù)操作被舊的寫(xiě)數(shù)據(jù)操作覆蓋等情況;第三,當(dāng)B集群上進(jìn)行的是修改數(shù)據(jù)的Meta或ACL等元數(shù)據(jù)操作(數(shù)據(jù)內(nèi)容未發(fā)生改動(dòng))時(shí),也會(huì)更改數(shù)據(jù)的時(shí)間戳,此時(shí),判斷時(shí)間戳則不會(huì)同步A集群上的數(shù)據(jù),此時(shí)可能發(fā)生丟失A集群上的數(shù)據(jù)內(nèi)容的情況;第四,當(dāng)切換迅速,發(fā)生兩集群數(shù)據(jù)時(shí)間戳相同的情況時(shí),則通過(guò)時(shí)間戳無(wú)法判斷;第五,此方案嚴(yán)重依賴兩個(gè)集群的時(shí)鐘服務(wù),并且需要確保兩個(gè)集群的時(shí)鐘一致,當(dāng)某個(gè)集群的時(shí)鐘服務(wù)發(fā)生問(wèn)題時(shí),會(huì)發(fā)生大范圍的一致性問(wèn)題;
綜上,如果不禁止用戶寫(xiě)操作,上述方案將有大量的沖突情況無(wú)法解決,往往會(huì)產(chǎn)生大量的一致性問(wèn)題或者需要大量的人工干預(yù)。
需要說(shuō)明的是,在上述背景技術(shù)部分公開(kāi)的信息僅用于加強(qiáng)對(duì)本公開(kāi)的背景的理解,因此可以包括不構(gòu)成對(duì)本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
發(fā)明內(nèi)容
本公開(kāi)的目的在于提供一種數(shù)據(jù)同步方法與數(shù)據(jù)同步系統(tǒng),用于至少在一定程度上克服由于相關(guān)技術(shù)的限制和缺陷而導(dǎo)致的同步流程復(fù)雜、同步數(shù)據(jù)誤差以及同步可靠性不高等問(wèn)題。
根據(jù)本公開(kāi)實(shí)施例的第一方面,提供一種數(shù)據(jù)同步方法,包括:接收用戶請(qǐng)求并轉(zhuǎn)發(fā)所述用戶請(qǐng)求至對(duì)象存儲(chǔ)服務(wù);在所述用戶請(qǐng)求是數(shù)據(jù)變更請(qǐng)求時(shí),響應(yīng)所述對(duì)象存儲(chǔ)服務(wù)的請(qǐng)求處理成功消息識(shí)別所述數(shù)據(jù)變更請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)對(duì)象以及數(shù)據(jù)屬性;在同步列表中將所述數(shù)據(jù)對(duì)象對(duì)應(yīng)的所述數(shù)據(jù)屬性的值設(shè)置為集群名稱;定時(shí)拉取所述同步列表以生成多個(gè)同步任務(wù),一個(gè)同步任務(wù)對(duì)應(yīng)一個(gè)數(shù)據(jù)對(duì)象;按照所述數(shù)據(jù)對(duì)象、所述數(shù)據(jù)屬性以及每個(gè)所述數(shù)據(jù)屬性對(duì)應(yīng)的集群名稱,通過(guò)多個(gè)線程執(zhí)行所述多個(gè)同步任務(wù),一個(gè)同步任務(wù)僅由一個(gè)線程執(zhí)行;
在本公開(kāi)的一種示例性實(shí)施例中,還包括:
在所述轉(zhuǎn)發(fā)所述用戶請(qǐng)求至對(duì)象存儲(chǔ)服務(wù)之前,如果所述用戶請(qǐng)求是數(shù)據(jù)變更請(qǐng)求,識(shí)別所述數(shù)據(jù)變更請(qǐng)求的數(shù)據(jù)對(duì)象;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于京東數(shù)字科技控股有限公司,未經(jīng)京東數(shù)字科技控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910458490.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 對(duì)象選擇裝置、對(duì)象選擇程序及對(duì)象選擇方法
- 對(duì)象顯示裝置、對(duì)象顯示系統(tǒng)以及對(duì)象顯示方法
- 對(duì)象顯示裝置、對(duì)象顯示方法和對(duì)象顯示程序
- 對(duì)象顯示裝置、對(duì)象顯示方法和對(duì)象顯示程序
- 對(duì)象顯示裝置、對(duì)象顯示方法和對(duì)象顯示程序
- 對(duì)象分析方法、對(duì)象分析設(shè)備及對(duì)象分析系統(tǒng)
- 對(duì)象索引方法、對(duì)象搜索方法及對(duì)象索引系統(tǒng)
- 對(duì)象分類方法和對(duì)象分類設(shè)備
- 對(duì)象庫(kù)中的對(duì)象簽名
- 對(duì)象追蹤方法、對(duì)象追蹤系統(tǒng)以及對(duì)象追蹤程序
- 動(dòng)態(tài)存儲(chǔ)管理裝置及方法
- 一種存儲(chǔ)方法、服務(wù)器及存儲(chǔ)控制器
- 一種基于存儲(chǔ)系統(tǒng)的控制方法及裝置
- 一種信息的存儲(chǔ)控制方法
- 一種數(shù)據(jù)存儲(chǔ)方法及裝置
- 數(shù)據(jù)存儲(chǔ)方法、裝置、計(jì)算機(jī)設(shè)備以及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)存儲(chǔ)控制方法及裝置
- 存儲(chǔ)設(shè)備、存儲(chǔ)系統(tǒng)及存儲(chǔ)方法
- 物料存儲(chǔ)方法及系統(tǒng)
- 基于雙芯智能電表的數(shù)據(jù)分類存儲(chǔ)方法和裝置
- 一種集群調(diào)度呼叫業(yè)務(wù)中主叫終端信息顯示方法
- 更新網(wǎng)絡(luò)流量管理設(shè)備同時(shí)維持有效性
- 與集群調(diào)度系統(tǒng)進(jìn)行通信的方法、群集接入網(wǎng)關(guān)及系統(tǒng)
- 一種管理集群通信系統(tǒng)資源的方法
- 基于Kubernetes和OpenStack容器云平臺(tái)多集群構(gòu)建方法、介質(zhì)、設(shè)備
- 一種容災(zāi)系統(tǒng)、容災(zāi)處理方法、監(jiān)控節(jié)點(diǎn)和備份集群
- 一種ETCD集群恢復(fù)方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)介質(zhì)
- 混合云場(chǎng)景下保證可用集群數(shù)量的方法、裝置及系統(tǒng)
- 一種集群拓?fù)涓路椒ā⑾到y(tǒng)、設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 集群切換方法、集群切換裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)





