[發明專利]一種基于索引排序的數據讀寫方法及裝置有效
| 申請號: | 201110444802.8 | 申請日: | 2011-12-27 |
| 公開(公告)號: | CN103186537B | 公開(公告)日: | 2018-01-12 |
| 發明(設計)人: | 舒軍;熊歡;史業政;田明 | 申請(專利權)人: | 騰訊科技(北京)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京德琦知識產權代理有限公司11018 | 代理人: | 王一斌,王琦 |
| 地址: | 100080 北京市海淀區海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 索引 排序 數據 讀寫 方法 裝置 | ||
技術領域
本發明涉及計算機數據存儲技術,特別涉及一種基于索引排序的數據讀寫方法及裝置。
背景技術
隨著計算機網絡技術的發展,通過點對點的技術來實現互聯網上的即時溝通的即時通信(IM,Instant Messaging)軟件工具應用越來越普遍,IM已經被大多數的用戶所接受并成為用戶日常生活以及工作中必不可少的一部分,通過IM軟件工具應用,例如,微博,用戶可以實現與朋友、同事以及同學之間的交流與溝通。
微群是微博中為不同用戶群提供交流溝通的平臺,是在微博中,一群人自發加入組成的小圈子,進行內部交流,并可以選擇將部分內容分享給自己的微博聽眾的產品。由于微群的特點,用戶訪問到的群內發表數據需要按時間倒排,即對于每次用戶最新發表的數據,都要寫到緩存的數據隊列的最前端。因而,數據讀寫時在數據隊列的排序方式對于緩存的內核資源消耗以及后續的數據檢索效率非常重要,有效的排序方式,能大量降低緩存的內核資源消耗、縮短檢索所需的時間,提高數據檢索效率。
圖1為現有基于索引排序的數據讀寫方法流程示意圖。以數據寫入為例,參見圖1,采用一級索引實現按時序倒排寫入,該流程包括:
步驟101,接收數據寫入請求,通過數據寫入請求中攜帶的關鍵詞(Key)匹配微群索引表,獲取待寫入數據對應的微群索引;
本步驟中,關鍵詞可以是用戶標識(ID,Identifier),根據發送數據寫入請求的用戶標識確定其所屬的微群,從包含各微群索引的微群索引表中獲取該對應的微群索引。
步驟102,根據微群索引,獲取寫入數據的數據塊地址ID;
本步驟中,微群索引中存儲寫入數據的數據塊的地址ID信息,較佳地,對于按時序倒排寫入數據的情形,數據塊地址ID信息為數據塊初始地址ID信息。
步驟103,根據獲取的數據塊地址ID,按時序倒排寫入數據。
本步驟中,通過讀到的數據塊地址ID,按時序倒排寫入數據,即將每次用戶最新發表的數據寫到內存的數據隊列最前端,并依序將數據隊列中寫入的數據在內存中后移。當數據塊容量小于數據容量時,可以申請更多數據塊,數據塊頭部存放指向下一個數據塊的數據塊地址ID。
圖2為現有基于索引排序的數據讀寫的內存結構示意圖。參見圖2,包括微群索引表以及數據塊區,微群索引表包括各微群索引,存儲數據塊地址ID信息,根據微群索引中的數據塊地址ID信息,找到數據塊區中相應的數據塊,按時序倒排寫入數據并依序將寫入的數據后移。實際應用中,對于一個數據塊在寫入當前數據后還有剩余存儲空間的情形,可以繼續用于寫入下一數據,即塊數據合并存儲。
由上述可見,現有采用一級索引實現按時序倒排寫入的方法,由于微群的特點,需要將用戶最新發表的數據寫到數據隊列最前端,因此,當寫入的數據量(消息量)較大時,在每次寫入新數據時,需要將已寫入的數據量占用的數據塊在內存中執行后移處理,這樣將導致大量的內核資源耗費,并且容易出錯。
發明內容
有鑒于此,本發明的主要目的在于提出一種基于索引排序的數據讀寫方法,降低讀寫數據的內核資源耗費。
本發明的另一目的在于提出一種基于索引排序的數據讀寫裝置,降低讀寫數據的內核資源耗費。
為達到上述目的,本發明提供了一種基于索引排序的數據讀寫方法,該方法包括:
接收數據讀寫請求,通過數據讀寫請求中攜帶的關鍵詞匹配微群索引表,獲取待寫入數據對應的微群索引;
根據數據讀寫請求中攜帶的讀寫時間信息,從獲取的微群索引中獲取與讀寫時間信息對應的二級索引地址標識ID信息;
根據獲取的二級索引地址ID信息尋址對應的二級索引,獲取讀寫數據的數據塊地址ID;
根據獲取的數據塊地址ID,按時序倒排讀寫數據。
所述數據讀寫請求包括數據寫入請求以及數據讀出請求,對于數據讀寫請求,所述讀寫時間信息為接收數據寫入請求的當前時間,對于數據讀出請求,所述讀寫時間信息為攜帶的數據發表的時間信息。
在所述接收數據讀寫請求之后,通過數據讀寫請求中攜帶的關鍵詞匹配微群索引表之前,進一步包括:
確定所述數據讀寫請求為數據寫入請求;
如果確定攜帶的讀寫時間信息超出控制策略預先設置的數據寫入時間段范圍,生成一個新二級索引并為新二級索引配置相應的二級索引地址ID信息以及寫入數據的數據塊地址ID信息。
在所述接收數據讀寫請求之后,通過數據讀寫請求中攜帶的關鍵詞匹配微群索引表之前,進一步包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(北京)有限公司,未經騰訊科技(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110444802.8/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





