[發明專利]一種多層關聯存儲架構的數據同步方法及數據同步系統有效
| 申請號: | 201210435819.1 | 申請日: | 2012-11-05 |
| 公開(公告)號: | CN103793181B | 公開(公告)日: | 2019-05-24 |
| 發明(設計)人: | 舒軍;田明;黃利華 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 郝傳鑫 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多層 關聯 存儲 架構 數據 同步 方法 系統 | ||
一種多層關聯存儲架構的數據同步方法包括:主模塊接收外部寫操作的請求,將數據寫到寫緩存,并根據對所述寫緩存的寫操作記錄一個數字序列;當主模塊的寫緩存數據量達到一閾值,數據從寫緩存刷新輸出至固態硬盤文件;主模塊為刷新輸出操作記錄一個數字序列;主模塊按數字序列中數字的順序,將寫操作與刷新輸出操作分別同步給從模塊;從模塊接收同步的寫操作,將主模塊的寫緩存數據同步到本地寫緩存的對應位置;從模塊接收到同步的刷新輸出操作,將主模塊的固態硬盤文件同步到本地固態硬盤文件的對應位置。本發明將寫緩存和固態硬盤文件之間的關系解耦,各自同步自己的數據,可保證數據的準確性和一致性。本發明還提供一種多層關聯存儲架構的數據同步系統。
技術領域
本發明涉及數據存儲領域,尤其涉及一種多層關聯存儲架構的數據同步方法及數據同步系統。
背景技術
圖1所示為現有的一種存儲架構及其同步方式的示意圖。其中,主模塊用于處理外部寫請求與讀請求,從模塊用于從主模塊接收同步數據更新,且從模塊僅能處理外部讀請求。如圖1所示,此種同步方式的同步原理是:將服務部署多份,一個主模塊,多個從模塊;當外部寫請求發往主模塊時,每來一次外部寫請求,主模塊記錄一個數字序列(sequence),數字序列隨著寫請求的增加而順序遞增;主模塊按照數字序列中數字的順序,將寫操作同步發送給各個從模塊;各個從模塊接收到主模塊發來的寫操作時,更新本地數據,并記錄本地數據的數字序列;當主模塊與從模塊兩邊的數字序列一致時,表示從模塊的數據已經是最新。此種同步方式的基本思想是將每次的寫操作同步給從模塊,從而保證從模塊的數據能實時更新,并且與主模塊數據一致。
然而,此種同步方式的設計初衷是為了滿足較簡單的存儲模型,如一層存儲以及無關聯的多層存儲。但若遇到本公司現在采用的多層關聯式存儲架構(如圖2所示),此種同步方式并不適用。
現在采用的一種存儲架構是將數據存儲在固態硬盤文件(ssd file),根據固態硬盤的實現原理,在固態硬盤文件之上加了一個寫緩存(writebuffer),以提高固態硬盤的寫入性能,并最大化的延長固態硬盤使用壽命。在圖2所示的存儲架構中,數據在固態硬盤文件的存儲位置,決定了該數據在寫緩存中的存儲位置偏移量,數據在寫緩存與固態硬盤文件的存儲位置必須一一對應。
如果將圖1所示的同步方式應用于圖2所示的存儲架構中,則會存在如下問題:
(1)數據一致性問題。按照此種同步方式,主模塊將寫操作按數字序列中數字的順序同步給從模塊后,從模塊先寫寫緩存,當寫緩存中的數據量達到規定閾值時,將寫緩存中的數據全部刷新輸出(flush)到固態硬盤文件。這個過程中,很難保證從模塊寫寫緩存時,每條數據在寫緩存的相對位置與主模塊相同;另外,當從模塊將數據從寫緩存刷新輸出到固態硬盤文件時,也很難保證刷新輸出的數據塊在固態硬盤文件中的存儲位置與主模塊相同,如果在寫緩存或固態硬盤文件中任何一個存儲位置不與主模塊相同,那么此數據將變成無效數據,無法被用戶讀取到。
(2)設計復雜度問題。如果要解決(1)中的數據準確性問題,同步邏輯的設計將會變得很復雜。
發明內容
有鑒于此,本發明提供一種可保證數據一致性且設計簡單的多層關聯存儲架構的數據同步方法和多層關聯存儲架構的數據同步系統。
上述的多層關聯存儲架構的數據同步方法和多層關聯存儲架構的數據同步系統是通過以下技術方案實現的:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210435819.1/2.html,轉載請聲明來源鉆瓜專利網。





