[發明專利]用于對象存儲集群的數據同步方法與系統有效
| 申請號: | 201910458490.2 | 申請日: | 2019-05-29 |
| 公開(公告)號: | CN110175159B | 公開(公告)日: | 2020-07-31 |
| 發明(設計)人: | 張婷;胡升波;何軍 | 申請(專利權)人: | 京東數字科技控股有限公司 |
| 主分類號: | G06F16/182 | 分類號: | G06F16/182;G06F11/14 |
| 代理公司: | 北京律智知識產權代理有限公司 11438 | 代理人: | 孫寶海;袁禮君 |
| 地址: | 100176 北京市大興區經濟*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 對象 存儲 集群 數據 同步 方法 系統 | ||
1.一種用于對象存儲集群的數據同步方法,其特征在于,在集群切換前后均由當前主集群執行,包括:
接收用戶請求并轉發所述用戶請求至對象存儲服務;
在所述用戶請求是數據變更請求時,響應所述對象存儲服務的請求處理成功消息識別所述數據變更請求對應的數據對象以及數據屬性;
在同步列表中將所述數據對象對應的所述數據屬性的值設置為集群名稱;
定時拉取所述同步列表以生成多個同步任務,一個同步任務對應一個數據對象;
按照所述數據對象、所述數據屬性以及每個所述數據屬性對應的集群名稱,通過多個線程執行所述多個同步任務,一個同步任務僅由一個線程執行。
2.如權利要求1所述的數據同步方法,其特征在于,還包括:
在所述轉發所述用戶請求至對象存儲服務之前,如果所述用戶請求是數據變更請求,識別所述數據變更請求的數據對象;
獲取所述數據對象的操作鎖,如果成功,轉發所述用戶請求至所述對象存儲服務;
響應所述對象存儲服務的請求處理結果返回消息釋放所述操作鎖。
3.如權利要求2所述的數據同步方法,其特征在于,所述獲取所述數據對象的操作鎖包括:
獲取該數據對象的操作鎖值;
如果所述操作鎖值在預設范圍內,更新所述操作鎖值以及所述操作鎖值對應的超時時間;
否則,對用戶端返回請求失敗消息。
4.如權利要求3所述的數據同步方法,其特征在于,所述釋放所述數據對象的操作鎖包括:
反向更新所述操作鎖值并取消所述超時時間。
5.如權利要求2所述的數據同步方法,其特征在于,所述通過多個線程執行所述多個同步任務包括:
設置所述線程在執行所述同步任務之前獲取所述同步任務對應的數據對象的操作鎖;
如果獲取操作鎖成功,執行所述同步任務后釋放所述同步任務對應的數據對象的操作鎖;
如果獲取操作鎖失敗,執行下一個同步任務。
6.如權利要求1~5任一項所述的數據同步方法,其特征在于,所述執行所述同步任務包括:
根據所述集群名稱和所述數據對象從每個數據屬性對應的集群獲取所述數據對象的所述數據屬性對應的最新數據;
根據所述最新數據更新其他集群中所述數據對象的所述數據屬性對應的數據;
在完成所述同步任務之后刪除所述同步列表中所述同步任務對應的數據對象。
7.如權利要求1所述的數據同步方法,其特征在于,還包括:
在開始接收用戶請求之前,設置結構相同的主集群和從集群;
在接收用戶請求之后,如果所述用戶請求是數據變更請求,響應所述對象存儲服務的請求處理成功消息初始化所述同步列表;
在所述同步列表中不存在所述數據變更請求對應的數據對象和/或該數據對象對應的數據屬性時,添加所述數據對象和/或所述數據屬性,并將所述數據屬性的值設置為集群名稱。
8.一種用于對象存儲集群的數據同步裝置,其特征在于,包括:
用戶接口模塊,設置為接收用戶請求并轉發所述用戶請求至對象存儲服務;
屬性識別模塊,設置為在所述用戶請求是數據變更請求時,響應所述對象存儲服務的請求處理成功消息識別所述數據變更請求對應的數據對象以及數據屬性;
列表更新模塊,設置為在同步列表中將所述數據對象對應的所述數據屬性的值設置為集群名稱;
任務下發模塊,設置為定時拉取所述同步列表以生成多個同步任務,一個同步任務對應一個數據對象;
同步任務執行模塊,設置為按照所述數據對象、所述數據屬性以及每個所述數據屬性對應的集群名稱,通過多個線程執行所述多個同步任務,一個同步任務僅由一個線程執行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于京東數字科技控股有限公司,未經京東數字科技控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910458490.2/1.html,轉載請聲明來源鉆瓜專利網。





