[發明專利]一種數據讀寫的方法、裝置和系統有效
| 申請號: | 201280003247.8 | 申請日: | 2012-11-15 |
| 公開(公告)號: | CN103403709A | 公開(公告)日: | 2013-11-20 |
| 發明(設計)人: | 雷曉松 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 讀寫 方法 裝置 系統 | ||
技術領域
本發明涉及計算機領域,特別涉及一種對數據讀寫的方法、裝置和系統。
背景技術
在現有技術中,通常情況下,采用變長Key-Value存儲方法的存儲系統通過LSM-Tree的方式進行存儲,追加的方式進行更新。
首先系統按照預先設定的規則(如文件名)為目標數據唯一確定Key值,然后將目標數據寫入內存。當目標數據很小時,一次全部寫入內存,進行排序,當內存中的數據達到一定規模或是經過一定時間后,將數據寫入到磁盤。當目標數據較大時,系統按照將數據分批次寫入內存,每次寫入內存的數據,都按照一定規則排序。當內存中的數據達到一定規模或是經過一定時間后,將內存中的數據寫入到磁盤,形成小的有序文件。目標數據文件被全部寫入磁盤后,形成若干小的有序文件,然后系統按照相同的排序規則把這若干小的有序文件進行排序歸并,形成大的有序文件,存儲在磁盤中。當需要對存儲的數據進行查找時,需要使用Bloom?Filter進行過濾,以確定目標數據。Bloom?Filter是一種二進制向量數據結構,用來檢測一個元素是不是集合中的一個成員。但由于其數據結構本身的制約,使它并不能做出完全正確的判斷,即,進行過濾后的數據雖然包括了目標數據,但也包括除目標數據以外的數據。這樣,隨著原始數據量的增大,錯誤率會增高。為避免錯誤現象的出現,系統必須對已經執行過過濾操作的數據進行二次選擇。
在實現本發明過程中,發明人發現現有技術中至少存在如下問題:
在寫入數據時,需要對數據進行兩次排序,即,在內存進行一次排序,在存儲介質中進行一次排序,在讀取數據時,需要對數據進行二次選擇,致使系統讀寫數據的效率低,開銷大,且抵抗外界的干擾性能差(例如在數據寫入的過程中停電等)。
發明內容
本發明的實施例提供一種數據讀寫的方法、裝置和系統,解決現有數據讀寫方法系統開銷大、效率低、抵抗外界干擾性能差的問題。
為達到上述目的,本發明的實施例采用如下技術方案:
第一方面,提供一種數據寫入的方法,包括:
獲取寫入指令,所述寫入指令包含待寫入的數據;
根據所述數據,提取數據特征值,所述數據特征值是唯一表征所述數據的參數;
根據所述數據特征值計算與所述數據特征值對應的索引,所述索引對應于所述數據特征值;
根據所述索引選定與所述索引對應的索引塊,其中,存儲介質中存儲有至少一個索引塊;
將所述索引塊調入內存;
將所述數據寫入所述存儲介質;
獲取所述數據在所述存儲介質中的物理地址;
將所述索引和所述物理地址一并寫入調入所述內存的所述索引塊中;
將調入所述內存的所述索引塊寫入所述存儲介質中。
結合第一方面,在第一方面的第一種可能的實現方式中,所述方法,還包括:
當將所述數據寫入存儲介質時,將所述索引和所述物理地址寫入所述存儲介質中。
結合第一方面,在第一方面的第二種可能的實現方式中,所述根據所述索引選定與所述索引對應的索引塊,進一步包括:
按照預設的規則,對所述索引進行計算;
根據所述計算得到的值,在存儲在所述存儲介質中的索引塊中確定與所述索引對應的所述索引塊。
第二方面,提供一種數據讀取的方法,包括:
獲取讀取指令,所述讀取指令中包含數據特征值,所述數據特征值唯一表征待讀取的數據;
根據所述讀取指令,提取數據特征值;
根據所述數據特征值,按照預設的算法計算與所述數據特征值對應的索引;
選定與所述索引對應的索引塊,所述索引塊存儲在存儲介質中,所述索引塊記錄有至少一條索引以及記錄的各索引對應的物理地址;
將所述索引塊調入內存;
在調入內存的所述索引塊中,檢測與所述數據特征值對應的索引是否唯一;
當檢測結果唯一時,在所述索引塊中查找所述索引對應的物理地址;
按照所述索引對應的物理地址從所述存儲介質中讀取所述數據。
結合第二方面,在第二方面的第一種可能的實現方式中,當檢測結果是存在至少兩條與所述數據特征值對應的索引時,進一步包括:
在所述索引塊中查找各條索引對應的物理地址,其中,各物理地址指向所述存儲介質中的不同數據;
從各物理地址指向的數據中,查找所述數據特征值與讀取指令包含的數據特征值相同的數據并讀取。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201280003247.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:太陽能草坪燈系統
- 下一篇:內部設置有氣囊的緩沖罐
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





