[發(fā)明專利]存儲方法及存儲裝置在審
| 申請?zhí)枺?/td> | 201210403994.2 | 申請日: | 2012-10-22 |
| 公開(公告)號: | CN103778025A | 公開(公告)日: | 2014-05-07 |
| 發(fā)明(設計)人: | 朱建平;許劍峰;時冰川 | 申請(專利權)人: | 深圳市騰訊計算機系統(tǒng)有限公司 |
| 主分類號: | G06F11/00 | 分類號: | G06F11/00;G06F17/30 |
| 代理公司: | 深圳翼盛智成知識產(chǎn)權事務所(普通合伙) 44300 | 代理人: | 歐陽啟明 |
| 地址: | 518057 廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 存儲 方法 裝置 | ||
【技術領域】
本發(fā)明涉及計算機數(shù)據(jù)容錯存儲領域,特別涉及一種存儲方法及存儲裝置。
【背景技術】
隨著互聯(lián)網(wǎng)的普及與快速發(fā)展,流通的負載也越來越大,因此存儲架構需具有穩(wěn)定的特性,讓使用者在讀取或寫入數(shù)據(jù)時不會發(fā)生問題。
請參考圖1,其為現(xiàn)有技術的存儲架構方塊圖。存儲架構包括應用單元10、存儲群12以及兩個存儲器14、16,應用單元10例如是使用者端,存儲群12用于管理兩個存儲器14、16。所述存儲架構中,兩個存儲器14、16存儲相同的數(shù)據(jù),當兩個存儲器14、16的其中一個發(fā)生故障時,還有另外一個有安全且正確的數(shù)據(jù)以供應用單元10讀取,這種使用備份方式防止數(shù)據(jù)不見的作法稱為數(shù)據(jù)容災。
當兩個存儲器14、16的其中一個發(fā)生故障時,另外一個相對應的數(shù)據(jù)不可以寫入,藉此保持數(shù)據(jù)的一致性,此時稱為只讀,當存儲群12發(fā)生只讀時,應用單元10只能從存儲群12管理的存儲器14、16讀取數(shù)據(jù)而不能將數(shù)據(jù)寫入存儲器14、16,此種情況稱為訪問故障,會影響使用者端(也就是應用單元10),例如使用者端不能通過即時通信(Instant?Message;IM)軟件QQ發(fā)表說說,亦即不能將發(fā)表的說說寫入存儲器14、16中。
若是故障的存儲器確定無法再提供服務,可以用人工方式將另一個存儲器從只讀改為可寫,此時對應的數(shù)據(jù)只有一份可供使用,必須遷移到其它可以存儲兩份的存儲群中。
請參考圖2,其為現(xiàn)有技術的數(shù)據(jù)組織示意圖。圖2是以非關系型順序查詢語言(Not?only?Sequential?Query?Language;NoSQL)中的鍵值對(Key/Value?pair)數(shù)據(jù)庫為例,在現(xiàn)有技術的存儲架構中,是將一個鍵(以下稱為key)對應一個值(以下稱為value),其中key例如是QQ號,value可以視為列表且包括多個數(shù)據(jù)(圖中以數(shù)據(jù)1至數(shù)據(jù)8表示),每個數(shù)據(jù)例如是QQ的說說、動態(tài)的一條記錄。
現(xiàn)有技術的存儲架構中,添加數(shù)據(jù)的步驟如下:讀取value、解碼出數(shù)據(jù)列表、添加數(shù)據(jù)、編碼成數(shù)據(jù)列表、存儲到圖1的存儲器14、16;更新數(shù)據(jù)的步驟如下:讀取value、解碼出數(shù)據(jù)列表、找到對應的數(shù)據(jù)后更新、編碼成數(shù)據(jù)列表、存儲到圖1的存儲器14、16;刪除數(shù)據(jù)的步驟如下:讀取value、解碼出數(shù)據(jù)列表、找到對應的數(shù)據(jù)后刪除、編碼成數(shù)據(jù)列表、存儲到圖1的存儲器14、16。由于一個key對應一個value,亦即對應一個數(shù)據(jù)列表,因此不論是添加、更新或刪除數(shù)據(jù)列表中的某個數(shù)據(jù),都必須讀取整個數(shù)據(jù)列表后再寫入整個數(shù)據(jù)列表,浪費容錯存儲時間而降低存儲架構的效率。
故,有必要提出一種新的技術方案,以解決上述存儲群12發(fā)生只讀時,應用單元10不能將數(shù)據(jù)寫入的技術問題,以及添加、更新或刪除數(shù)據(jù)都必須讀取整個數(shù)據(jù)列表后再寫入整個數(shù)據(jù)列表,導致存儲架構效率不佳的技術問題。
【發(fā)明內容】
本發(fā)明的一個目的在于提供一種存儲方法及存儲裝置,不僅具有較高的數(shù)據(jù)容災及訪問容災的效果,同時實現(xiàn)較優(yōu)選的負載均衡,提高存儲架構中各節(jié)點設備的靈活性和可用性。
為達到上述目的,本發(fā)明提供了一種存儲方法,用于存儲架構,所述存儲架構包括應用單元以及至少兩個存儲群,所述存儲方法包括:
接收所述應用單元傳來的數(shù)據(jù);
將同一數(shù)據(jù)索引對應的數(shù)據(jù)分拆成至少兩個數(shù)據(jù)項;
為每個數(shù)據(jù)項加上時間戳;以及
根據(jù)所述至少兩個存儲群的可寫狀態(tài),將所述至少兩個數(shù)據(jù)項存儲到所述兩個存儲群的至少其中之一。
在上述存儲方法中,根據(jù)所述至少兩個存儲群的可寫狀態(tài),將所述至少兩個數(shù)據(jù)項存儲到所述兩個存儲群的至少其中之一的步驟中包括:
若要寫入的存儲群為只讀,則將所述數(shù)據(jù)項寫入所述至少兩個存儲群的另外一個。
在上述存儲方法中,根據(jù)所述至少兩個存儲群的可寫狀態(tài),將所述至少兩個數(shù)據(jù)項存儲到所述兩個存儲群的至少其中之一的步驟中包括:
若所述至少兩個存儲群均為可寫,則根據(jù)所述至少兩個存儲群的負載情況,將所述數(shù)據(jù)項寫入所述至少兩個存儲群的至少其中之一。
在上述存儲方法中,還包括:
讀取所述至少兩個存儲群中對應的數(shù)據(jù)項,將所述數(shù)據(jù)項更新后,加上時間戳,
若原數(shù)據(jù)項對應的存儲群可寫,則更新后寫回原存儲群;
若原數(shù)據(jù)項對應的存儲群只讀,則更新后將該數(shù)據(jù)項寫入其它可寫存儲群至少其中之一。
在上述存儲方法中,還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市騰訊計算機系統(tǒng)有限公司,未經(jīng)深圳市騰訊計算機系統(tǒng)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210403994.2/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:近接感測方法及裝置
- 下一篇:一種數(shù)據(jù)傳輸方法及裝置





