[發明專利]持久化數據隊列及其加載的方法和裝置在審
| 申請號: | 201310425421.4 | 申請日: | 2013-09-17 |
| 公開(公告)號: | CN103473329A | 公開(公告)日: | 2013-12-25 |
| 發明(設計)人: | 周曉斌;經端;劉琦;劉永杰;王冰 | 申請(專利權)人: | 廣州市信息安全測評中心 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 廣州新諾專利商標事務所有限公司 44100 | 代理人: | 張玲春 |
| 地址: | 510635 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 持久 數據 隊列 及其 加載 方法 裝置 | ||
技術領域
本發明屬于計算機技術領域,尤其是一種持久化數據隊列的方法和裝置,及其對應的數據加載方法和裝置。
背景技術
在各種模塊化系統中,模塊之間通過數據進行交互。為了異步化模塊間交互,一般都需要采用隊列系統,用于模塊間通信。隊列(Queue)是指不僅允許在其中插入數據,而且可以從其中取出數據進行操作的數據單元。一般而言,對隊列的操作主要包括加載、讀取、刪除,即將將需要隊列化操作的數據價加載至隊列之中,從隊列中讀取數據后,將該數據進行刪除。
由于計算機的資源是有限的,因此對隊列的長度也存在限制。因此當隊列長度超出限制后,只能丟棄新增的數據或者將隊列中已經存在的數據拋棄。此外,在計算機關機或者斷電后,也會導致隊列中已存在的數據丟失。為此,研究人員提出了持久化的隊列方法,例如將需要保存的隊列中的數據存儲在本地數據文件、內存數據庫或者遠程數據庫中。
然而,該持久化數據隊列的方法由于采用嚴格持久化,每個進入隊列的數據都需要持久化一次,導致對數據的讀寫頻繁操作,導致計算機系統的性能下降或阻塞。此外,對單個數據進行操作也無法有效利用磁盤的連續讀寫性能,讀寫速度較慢,而且在多線程并行入隊列的時候,可能會導致并行IO操作。
發明內容
為此,本發明的目的是要提供一種持久化數據隊列的方法和裝置,旨在解決現有持久化隊列需要頻繁進行讀取操作,導致系統負載較大的技術缺陷。此外,本發明還提供了一種與所述持久化數據隊列的方法和裝置對應的隊列的數據加載方法和裝置。
為此,本發明所述采用的技術方案如下:
本發明第一方面提供了一種持久化數據隊列的方法,包括以下步驟:
在數據隊列中的數據長度超過上限值后,將新增的數據填充至一持久隊列之中;
所述持久隊列中的數據長度達到預設值后,則對所述持久隊列中的數據進行持久化操作。
根據本發明第一方面提供的方法,在對所述持久隊列中的數據進行持久化操作后,將所述持久隊列中的數據清除。
根據本發明第一方面提供的方法,所述數據隊列中數據長度的上限值為所述數據隊列的長度的80%~95%,優選90%。
根據本發明第一方面提供的方法,所述持久隊列位于內存之中,和/或所述持久化操作包括將所述持久隊列中的數據存放至文件系統的步驟。
本發明第二方面提供了一種持久化數據隊列的裝置,包括:
填充模塊,用于在數據隊列中的數據長度超過上限值后,將新增的數據填充至一持久隊列之中;
持久化模塊,用于所述持久隊列中的數據長度達到預設值后,則對所述持久隊列中的數據進行持久化操作。
根據本發明第二方面提供的方法,,還包括清除模塊,用于在對所述持久隊列中的數據進行持久化操作后,將所述持久隊列中的數據清除。
此外,本發明第三方面提供了一種數據隊列的數據加載方法,包括以下步驟:
在數據隊列中的數據長度低于下限值后,將文件系統中的持久化的數據加載至所述數據隊列之中;
在出現以下條件之一后,停止數據加載,
A、數據隊列中的數據長度超過其上限值;
B、持久化的數據和持久隊列中的數據已經全部被加載。
根據本發明第三方面提供的方法,在加載數據時,新增的數據直接寫入所述數據隊列之中。
根據本發明第三方面提供的方法,所述下限值為所述數據隊列的長度的5%~15%,優選為數據隊列的長度的10%。
另外,本發明第四方面提供了一種數據隊列的數據加載裝置,包括:
加載模塊,用于在數據隊列中的數據長度低于下限值后,將文件系統中的持久化的數據加載至所述數據隊列之中;
停止模塊,用于在出現以下條件之一后,停止數據加載,
A、所述數據隊列中的數據長度超過其上限值;
B、持久化的數據和持久隊列中的數據已經全部被加載。
通過上述本發明的技術方案可以看出,本發明所述的持久化數據隊列的方法對數據隊列中數據長度進行監控,在數據隊列的數據長度超過上限值后,將新增的數據暫時存放在持久隊列之中,然后才批量進行持久化操作,這樣可以批量進行讀取操作,提高系統總體性能,降低了系統的負載。
附圖說明
圖1是本發明所述持久化數據隊列的方法一實施方式的流程圖;
圖2是本發明所述持久化數據隊列的方法一實施方式的流程圖;
圖3是本發明所述持久化數據隊列的方法一實施方式中隊列的示意圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州市信息安全測評中心,未經廣州市信息安全測評中心許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310425421.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種銅套引出式電阻分壓器
- 下一篇:一種燃料轉運手動應急裝置
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





