[發明專利]具有容量動態控制功能的內存數據存儲裝置及其實現方法無效
| 申請號: | 200710063612.5 | 申請日: | 2007-02-06 |
| 公開(公告)號: | CN101241492A | 公開(公告)日: | 2008-08-13 |
| 發明(設計)人: | 陶長標 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F11/00;G06F12/00 |
| 代理公司: | 北京律誠同業知識產權代理有限公司 | 代理人: | 梁揮;徐金國 |
| 地址: | 518057廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 具有 容量 動態控制 功能 內存 數據 存儲 裝置 及其 實現 方法 | ||
技術領域
本發明涉及一種具有容量動態控制功能的內存數據存儲裝置及其實現方法,特別是涉及一種在應用系統運行過程中根據內存數據庫的使用情況對內存數據庫容量進行動態調整以達到內存數據庫持續可用的實現方法及其裝置。
背景技術
隨著豐富多彩的各種移動增殖業務(如點對點短信業務、多媒體彩信業務等)的開展及普及,業務量每年都在快速增長,為了提高系統的數據處理能力,系統一般都采用內存數據庫。因為內存數據庫與物理數據庫相比,有著無法比擬的處理速度,所以內存數據庫正被越來越多的業務系統所采用。
在目前的內存數據庫系統中,一般都是采用一個哈希(Hash)沖突隊列來保存記錄,一條記錄在內存數據庫中的生存周期是由業務層來決定的,而不是內存數據庫主動控制,對內存數據庫中的記錄的清理都是采用一個獨立線程掃描死記錄(即生命周期超長的記錄)的方式進行,而對內存數據庫容量缺少一種實時的監控與管理,很容易造成內存數據庫的溢出(即使用率達100%),使內存表無效。
同時,又因為記錄在內存數據庫的生存周期是由業務層決定,所以就會存在一旦業務層控制不好,一條記錄就會反復在內存數據庫與物理數據庫之間反復操作,這就增加不必要的物理I/O(Input/Output,輸入/輸出)操作,嚴重制約著整個系統的處理性能。
發明內容
本發明所要解決的技術問題在于提供一種具有容量動態控制功能的內存數據存儲裝置及其實現方法,用于通過最大可能地利用內存數據庫操作速度高于物理庫的特點,來提高系統的數據處理性能,并保證內存數據庫的穩定可用性與健壯性。
為了實現上述目的,本發明提供了一種具有容量動態控制功能的內存數據存儲裝置,其特征在于,包括:數據存儲模塊、容量監控模塊;所述數據存儲模塊又包括:CQ記錄模塊、DQ記錄模塊、FQ記錄模塊、記錄數據模塊及節點信息模塊;
所述CQ記錄模塊,用于通過各CQ隊列的記錄鏈分別存放同一哈希值的記錄,并連接到哈希索引數據區鏈表上,且所述各記錄鏈的鏈頭連接在哈希入口鏈表上;
所述DQ記錄模塊,用于通過臟記錄鏈存放臟記錄,并將接入所述臟記錄鏈的記錄連接到所述哈希索引數據區鏈表上;所述接入所述臟記錄鏈的記錄屬于DQ隊列節點,未接入所述臟記錄鏈的記錄屬于當前記錄隊列節點,所述臟記錄鏈中的臟記錄按使用先后插入;
所述各CQ隊列的記錄鏈與所述臟記錄鏈相交的節點為臟記錄、當前沖突隊列記錄和空閑隊列記錄;
所述FQ記錄模塊用于存放所述空閑隊列記錄;
所述記錄數據模塊,連接所述CQ記錄模塊、所述DQ記錄模塊、所述FQ記錄模塊,用于通過記錄數據區鏈表保存所述臟記錄、所述當前沖突隊列記錄及所述空閑隊列記錄對應的記錄數據;
所述節點信息模塊,連接所述CQ記錄模塊、所述DQ記錄模塊、所述FQ記錄模塊、所述記錄數據模塊,用于存放所述哈希入口鏈表的表頭信息、所述DQ隊列的首尾指針信息、所述FQ的首尾指針信息及所述記錄數據區鏈表的首地址信息;
所述容量監控模塊通過不同的操作接口對所述數據存儲模塊進行相應的動態監控與調整。
所述的具有容量動態控制功能的內存數據存儲裝置,其中,所述操作接口包括初始化接口、增加記錄接口、查詢記錄接口、修改記錄接口、刪除記錄接口、遷移記錄接口、動態控制接口和/或批量清理接口。
為了實現上述目的,本發明還提供了一種具有容量動態控制功能的內存數據存儲裝置的實現方法,其特征在于,包括:
步驟一,設置包含縱向鏈和橫向鏈的二維表表示內存表,所述縱向鏈為各CQ隊列的記錄鏈,一條所述記錄鏈存放同一哈希值的記錄,并連接到哈希索引數據區鏈表上,所述記錄鏈的鏈頭連接在哈希入口鏈表上,所述哈希入口鏈表的表頭登記在所述內存表的表節點中;
所述橫向鏈為臟記錄鏈,接入所述臟記錄鏈的記錄屬于DQ隊列節點,并連接到所述哈希索引數據區鏈表上,未接入所述臟記錄鏈的記錄屬于當前記錄隊列節點,所述臟記錄鏈中的記錄按使用先后插入,所述DQ隊列的首尾指針登記在所述內存表的表節點中;
所述縱向鏈、橫向鏈相交的節點是所述內存表的所有記錄,包括臟記錄、當前沖突隊列記錄和空閑隊列記錄,所述空閑隊列記錄存放在所述FQ隊列,且所述FQ隊列的首尾指針登記在所述內存表的表節點中;所述臟記錄、所述當前沖突隊列記錄和所述空閑隊列記錄對應的記錄數據保存在記錄數據區鏈表中,該記錄數據區鏈表的首地址登記在所述內存表的表節點中;及
步驟二,通過相應的操作接口對所述內存表的容量進行相應的動態監控與調整。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710063612.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于治療尿崩癥的藥物
- 下一篇:治療神經性皮炎的中藥組合物





