[發明專利]利用緩存響應數據請求的方法和系統有效
| 申請號: | 201710292218.2 | 申請日: | 2017-04-28 |
| 公開(公告)號: | CN108804447B | 公開(公告)日: | 2021-05-25 |
| 發明(設計)人: | 李銘浩;尹亮;沈俊杰 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/2455 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 張一軍;姜勁 |
| 地址: | 100195 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 利用 緩存 響應 數據 請求 方法 系統 | ||
1.一種利用緩存響應數據請求的系統,該系統包括數據請求接口、緩存數據管理器和緩存,
其特征在于,
在所述緩存中,每個數據以鍵-值對的形式被存儲,其中鍵是該數據的唯一性標識,而值表示該數據的內容;
所述數據請求接口用于接收用戶對數據的請求,并且把接收的請求發送給所述緩存數據管理器;
所述緩存數據管理器接收所述請求,從所述請求中提取查詢表達式,利用預設的哈希函數根據所述查詢表達式產生哈希值,確定所述緩存中是否存在等于該哈希值的鍵,當存在時,從所述緩存中讀出該鍵對應的值,并通過所述數據請求接口把該值返回給所述用戶,否則,根據所述查詢表達式從相應的外部數據源獲取數據結果,把獲取的數據結果通過所述數據請求接口返回給所述用戶,同時,以所述哈希值作為鍵,以獲取的數據結果作為值,把該鍵-值對保存在所述緩存中;所述緩存數據管理器在從外部數據源獲取數據時,同時根據預定的關聯關系從外部數據源獲取與該數據相關的關聯數據作為值,并且根據所述關聯關系產生對應所述關聯數據的鍵,并且把該鍵-值對保存在所述緩存中;
所述數據是數據庫表數據,所述查詢表達式包括數據庫表列名集并且所述鍵是根據所述列名集產生的串,當該串的任何子串與所述緩存中的某個鍵匹配,則從所述緩存中的獲取該鍵對應的數據,根據所述串中除去所述子串的其余部分對應的查詢條件從相應外部數據源獲取數據并且與從所述緩存中獲取的數據合并,以及通過所述數據請求接口把合并的數據返回給所述用戶,同時,以所述串為鍵,以所述合并的數據作為值,把該鍵-值對保存在所述緩存中。
2.根據權利要求1所述的系統,其中,所述緩存數據管理器每次把數據保存到所述緩存時,判斷待存入的數據的大小加上所述緩存中已有數據的大小的和值是否超過預設的限定值,如果超過,則根據最近最少使用算法,逐個刪除所述緩存中最近最少使用的數據,直到待存入的數據的大小加上所述緩存中已有數據的大小的和值不超過所述限定值。
3.根據權利要求1所述的系統,其中,所述緩存中的每個數據附帶有時間戳,該時間戳記載該數據被存入所述緩存的時間,并且所述緩存數據管理器定期地檢查所述緩存中每個數據的時間戳的時間是否早于當前設定的有效時限,如果是,從所述緩存中刪除該數據。
4.根據權利要求1所述的系統,其中,所述緩存數據管理器維持用戶查詢日志,并根據給定的學習算法定期確定用戶的偏好查詢表達式,當用戶登錄時,根據該用戶的偏好查詢表達式產生哈希值作為鍵,從相應外部數據源根據所述偏好查詢表達式獲取相應的數據結果作為值,并把該鍵-值對在所述緩存中保存。
5.一種利用緩存響應數據請求的方法,其特征在于,在所述緩存中,每個數據以鍵-值對的形式被存儲,其中鍵是該數據的唯一性標識,而值表示該數據的內容,所述方法包括:
接收用戶對數據的請求;
從所述請求中提取查詢表達式;
利用預設的哈希函數根據所述查詢表達式產生哈希值;
確定所述緩存中是否存在等于該哈希值的鍵,當存在時,從所述緩存中讀出該鍵對應的值,并返回給所述用戶,否則,根據所述查詢表達式從相應的外部數據源獲取數據結果,把獲取的數據結果返回給所述用戶,同時,以所述哈希值作為鍵,以獲取的數據結果作為值,把該鍵-值對存儲在所述緩存中;在從所述外部數據源獲取數據結果時,同時根據預定的關聯關系從所述外部數據源獲取與該數據結果相關的關聯數據作為值,并且根據所述關聯關系產生對應所述關聯數據的鍵,并且把該鍵-值對保存在所述緩存中;
所述數據是數據庫表數據,所述查詢表達式包括數據庫表列名集并且所述鍵是根據所述列名集產生的串,當該串的任何子串與所述緩存中的某個鍵匹配,則從所述緩存中的獲取該鍵對應的數據,根據所述串中除去所述子串的其余部分對應的查詢條件從相應外部數據源獲取數據并且與從所述緩存中獲取的數據合并,以及通過所述數據請求接口把合并的數據返回給所述用戶,同時,以所述串為鍵,以所述合并的數據作為值,把該鍵-值對保存在所述緩存中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710292218.2/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種數據檢索方法和系統
- 下一篇:生成待推送信息的方法和裝置
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





