[發明專利]一種基于鍵排序的數據存儲方法和裝置有效
| 申請號: | 201210541207.0 | 申請日: | 2012-12-14 |
| 公開(公告)號: | CN103870492B | 公開(公告)日: | 2017-08-04 |
| 發明(設計)人: | 陳崢;鄧大付 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京德琦知識產權代理有限公司11018 | 代理人: | 張馳,宋志強 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 排序 數據 存儲 方法 裝置 | ||
1.一種基于鍵排序的數據存儲方法,其特征在于,該方法包括:
在第一數據塊中存儲定長鍵及其值,其中所述存儲定長鍵包括:統一存儲各個定長鍵的公共前綴,并分別存儲各個定長鍵去除公共前綴后的剩余部分;
在第二數據塊存儲變長鍵及其值,其中所述存儲變長鍵包括:全量存儲基準鍵類型的變長鍵,而對前綴壓縮鍵類型的變長鍵執行前綴壓縮;該方法進一步包括:
將當前變長鍵與上一個基準鍵進行前綴比較,如果相同前綴串小于預先設置的閾值長度,則判定該當前變長鍵為基準鍵類型;如果相同前綴串大于所述閾值長度與預先設置的閾值差分的和,則判定該當前變長鍵為基準鍵類型;如果相同前綴串大于所述閾值長度而小于所述閾值長度與所述閾值差分的和,則判定該當前變長鍵為前綴壓縮鍵類型。
2.根據權利要求1所述的基于鍵排序的數據存儲方法,其特征在于,所述對前綴壓縮鍵類型的變長鍵執行前綴壓縮包括:
針對前綴壓縮鍵類型的變長鍵,存儲該前綴壓縮鍵類型的變長鍵與上一個基準鍵的公共前綴的長度,以及存儲該前綴壓縮鍵類型的變長鍵去除該公共前綴后的剩余部分。
3.根據權利要求1所述的基于鍵排序的數據存儲方法,其特征在于,該方法進一步包括:
當判定將定長鍵及其值存儲到第一數據塊失敗時,壓縮所述第一數據塊,并分配存儲緩沖區;當壓縮后第一數據塊的大小小于所述存儲緩沖區時,將所述壓縮后第一數據塊寫入所述存儲緩沖區;
當判定將變長鍵及其值存儲到第二數據塊失敗時,壓縮所述第二數據塊,并分配存儲緩沖區;當壓縮后第二數據塊的大小小于所述存儲緩沖區時,將所述壓縮后第二數據塊寫入所述存儲緩沖區。
4.根據權利要求1所述的基于鍵排序的數據存儲方法,其特征在于,該方法進一步包括:
當判定將定長鍵及其值存儲到第一數據塊成功時,將所述定長鍵及其值的布隆過濾器信息寫入到布隆過濾器中;
當判定將變長鍵及其值存儲到第二數據塊成功時,將所述定長鍵及其值的布隆過濾器信息寫入到布隆過濾器中。
5.根據權利要求1所述的基于鍵排序的數據存儲方法,其特征在于,該方法進一步包括:
設置讀取緩沖區,并當判定該讀取操作的讀取長度小于所述緩沖區且該當前數據塊不是最后數據塊時,取出下一數據塊的起始地址并記錄下一數據塊的長度并繼續讀取,直到讀取長度大于所述緩沖區的長度為止。
6.一種基于鍵排序的數據存儲裝置,其特征在于,該裝置包括定長鍵存儲單元和變長鍵存儲單元,其中:
定長鍵存儲單元,用于在在第一數據塊中存儲定長鍵及其值,其中所述存儲定長鍵包括:統一存儲各個定長鍵的公共前綴,并分別存儲各個定長鍵去除公共前綴后的剩余部分;
變長鍵存儲單元,用于在第二數據塊存儲變長鍵及其值,其中所述存儲變長鍵包括:全量存儲基準鍵類型的變長鍵,而對前綴壓縮鍵類型的變長鍵執行前綴壓縮;
該裝置進一步包括鍵類型區分單元;
鍵類型區分單元,用于將當前變長鍵與上一個基準鍵進行前綴比較,如果相同前綴串小于預先設置的閾值長度,則判定該當前變長鍵為基準鍵類型;如果相同前綴串大于所述閾值長度與預先設置的閾值差分的和,則判定該當前變長鍵為基準鍵類型;如果相同前綴串大于所述閾值長度而小于所述閾值長度與所述閾值差分的和,則判定該當前變長鍵為前綴壓縮鍵類型。
7.根據權利要求6所述的基于鍵排序的數據存儲裝置,其特征在于,
定長鍵存儲單元,用于針對前綴壓縮鍵類型的變長鍵,存儲該前綴壓縮鍵類型的變長鍵與上一個基準鍵的公共前綴的長度,以及存儲該前綴壓縮鍵類型 的變長鍵去除該公共前綴后的剩余部分。
8.根據權利要求6所述的基于鍵排序的數據存儲裝置,其特征在于,進一步包括數據塊間壓縮單元,其中:
數據塊間壓縮單元,用于當判定將定長鍵及其值存儲到第一數據塊失敗時,壓縮所述第一數據塊;當判定將變長鍵及其值存儲到第二數據塊失敗時,壓縮所述第二數據塊。
9.根據權利要求8所述的基于鍵排序的數據存儲裝置,其特征在于,進一步包括存儲緩沖單元;
存儲緩沖單元,用于分配存儲緩沖區,并當壓縮后第一數據塊的大小小于所述存儲緩沖區時,將所述壓縮后第一數據塊寫入所述存儲緩沖區;當壓縮后第二數據塊的大小小于所述存儲緩沖區時,將所述壓縮后第二數據塊寫入所述存儲緩沖區。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210541207.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種二維碼圖片的優化處理方法及移動終端
- 下一篇:熔鹽組合物
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





