[發明專利]一種數據緩存方法和數據緩存裝置有效
| 申請號: | 201410055379.6 | 申請日: | 2014-02-18 |
| 公開(公告)號: | CN104850507B | 公開(公告)日: | 2019-03-15 |
| 發明(設計)人: | 阮佳彬;蔡偉林;陸莉;王海洋;段文文;李映輝;陳秋瀅;陳旺林;陳文輝;曾岳鋒;秦銘雪;樊偉 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08;G06F16/2455 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 楊倫 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 緩存 方法 裝置 | ||
1.一種數據緩存方法,其特征在于,包括:
當數據塊存入緩存池時,獲取所述緩存池中游標指向的第一剩余空間的容量;其中,所述第一剩余空間為初始化后緩存池中可用于存儲數據的地址空間,包括從游標指向的地址空間直到緩存池尾部構成的地址空間,所述游標指示所述第一剩余空間的起始位置,所述第一剩余空間的終止位置為緩存池的尾部;
判斷所述游標指向的第一剩余空間的容量與所述數據塊的長度的大小關系;
若所述游標指向的第一剩余空間的容量大于或等于所述數據塊的長度,從所述游標指向的地址空間開始將所述數據塊的組成部分依次存儲到所述第一剩余空間中;
當所述數據塊存儲到所述第一剩余空間之后,將所述游標移動到所述數據塊的尾部,移動后的所述游標指向所述緩存池中存儲所述數據塊之后的第一剩余空間。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:
若所述游標指向的第一剩余空間的容量小于所述數據塊的長度,將所述游標移動到所述緩存池中已存儲的第一數據塊,并將所述第一數據塊從所述緩存池中淘汰掉,所述第一數據塊被淘汰掉后在所述緩存池中騰出的地址空間為所述游標指向的第二剩余空間;
從所述游標指向的地址空間開始將所述數據塊的組成部分依次存儲到所述第二剩余空間中;
當所述數據塊存儲到所述第二剩余空間之后,將所述游標移動到所述數據塊的尾部,移動后的所述游標指向所述緩存池中存儲所述數據塊之后的第二剩余空間。
3.根據權利要求2所述的方法,其特征在于,所述將所述第一數據塊從所述緩存池中淘汰掉之后,還包括:
判斷所述游標指向的第二剩余空間的容量與所述數據塊的長度的大小關系;
若所述游標指向的第二剩余空間的容量大于或等于所述數據塊的長度,觸發執行從所述游標指向的地址空間開始將所述數據塊的組成部分依次存儲到所述第二剩余空間中;
若所述游標指向的第二剩余空間的容量小于所述數據塊的長度,將所述緩存池中已存儲的第二數據塊從所述緩存池中淘汰掉,并將所述第二數據塊被淘汰掉后在所述緩存池中騰出的地址空間合并入所述第二剩余空間,觸發執行從所述游標指向的地址空間開始將所述數據塊的組成部分依次存儲到所述第二剩余空間中,所述第二數據塊為所述緩存池中位于所述游標之后且與所述第一數據塊相鄰的數據塊。
4.根據權利要求2所述的方法,其特征在于,所述將所述第一數據塊從所述緩存池中淘汰掉之后,還包括:
判斷所述游標指向的第二剩余空間的容量與所述數據塊的長度的大小關系;
若所述游標指向的第二剩余空間的容量大于或等于所述數據塊的長度,觸發執行從所述游標指向的地址空間開始將所述數據塊的組成部分依次存儲到所述第二剩余空間中;
若所述游標指向的第二剩余空間的容量小于所述數據塊的長度,當所述緩存池中從所述游標指向的地址空間直到所述緩存池的尾部都不存在已存儲的數據塊時,將所述第一剩余空間合并入所述第二剩余空間,并觸發執行從所述游標指向的地址空間開始將所述數據塊的組成部分依次存儲到所述第二剩余空間中。
5.根據權利要求1至4中任一項所述的方法,其特征在于,所述數據塊包括:鍵、上一塊地址、下一塊地址、數據長度、數據內容。
6.根據權利要求5所述的方法,其特征在于,所述獲取所述緩存池中游標指向的第一剩余空間的容量,包括:
根據所述數據塊的鍵查詢哈希表,從所述緩存池中查找到第四數據塊,所述第四數據塊為與所述數據塊的鍵取值相同的數據塊,所述緩存池中從所述第四數據塊的尾部開始直到所述緩存池的尾部為所述第一剩余空間。
7.根據權利要求6所述的方法,其特征在于,所述第四數據塊包括:鍵、上一塊地址、下一塊地址、數據長度、數據內容;
所述從所述游標指向的地址空間開始將所述數據塊的組成部分依次存儲到所述第一剩余空間中之后,還包括:
將所述數據塊的上一塊地址設置為預置的符號;
將所述數據塊的下一塊地址設置為所述第四數據塊的存儲地址;
將所述第四數據塊的上一塊地址設置為所述數據塊的存儲地址。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410055379.6/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





