[發明專利]一種隊列的數據處理方法和系統有效
| 申請號: | 201110030815.0 | 申請日: | 2011-01-28 |
| 公開(公告)號: | CN102541746A | 公開(公告)日: | 2012-07-04 |
| 發明(設計)人: | 陳偉君 | 申請(專利權)人: | 深圳市金蝶中間件有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 鄭光 |
| 地址: | 518057 廣東省深圳市南山區高*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 隊列 數據處理 方法 系統 | ||
技術領域
本發明涉及計算機技術領域,特別涉及一種隊列的數據處理方法和系統。
背景技術
隊列(Queue)是只允許在一端進行插入,而在另一端進行刪除的運算受限的線性表。一般討論隊列指的都是FIFO(first?in?first?out)隊列,FIFO隊列的修改是依先進先出的原則進行的。新來的成員總是加入隊尾,每次離開的成員總是隊列頭上的,即“隊頭”數據最先被提取出來。
現有技術中,對隊列的操作一般包括:存儲、讀取、刪除。即:需要為數據建立一個索引ID;在將數據存儲到隊列中時,先將數據持久化到持久化存儲裝置中,并將該數據的索引ID按照入隊列的順序存儲到緩存中。當讀取隊列中的數據時,從該緩存中獲取隊頭的索引ID,然后根據該索引ID檢索持久化存儲裝置獲得對應的數據,然后讀取該數據并將該數據從持久化存儲裝置中刪除。
在實現本發明的過程中,發明人發現現有技術中至少存在以下問題:
現有技術中的隊列存儲、讀取、刪除操作時都需要對持久化存儲裝置進行操作,導致提取數據時的時延大,對系統效率造成影響。特別是讀取操作時,從緩存獲取索引ID后需要對持久化存儲裝置進行檢索以獲取相應的數據,并將該數據發送給應該用數據的程序,造成程序等待時間長。
發明內容
為了解決現有技術中對隊列進行操作時操作時延大的問題,本發明實施例提出了一種隊列的數據處理方法和系統。所述技術方案如下:
本發明實施例提出了一種隊列的數據處理方法,包括:
設置用于存儲隊列的持久化存儲裝置,以及用于存儲隊列中預設數量隊頭數據的緩存;
讀取所述緩存中數據的數量,當所述緩存中的數據數量低于預設數量時,則按所述隊列中的順序將所述持久化存儲裝置中的數據存儲到緩存中。
作為上述技術方案的優選,所述方法還包括:
當接收到讀取所述隊列中數據的請求時,讀取所述隊列中的第一個數據;
具體為:
當接收到讀取所述隊列中數據的請求時,讀取所述緩存以確定所述緩存中是否有數據,如果有數據,則將緩沖中的數據按照隊列的順序,讀取隊列中的第一個數據;如果沒有數據,則將所述持久化存儲設備中的數據按照隊列的順序,讀取隊列中的第一個數據。
作為上述技術方案的優選,所述將所述持久化存儲設備中的數據按照隊列的順序,讀取隊列中的第一個數據包括:
將所述持久化存儲設備中的數據按照隊列的順序,讀取隊列中的第一個數據;并將隊列中該第一個數據之后的預設數量的數據存儲到所述緩存中。
作為上述技術方案的優選,所述方法還包括:
將所述第一個數據從緩存和/或持久化存儲裝置中刪除。
作為上述技術方案的優選,所述方法還包括:
當接收到對該隊列進行存儲的請求時,將所請求存儲的數據存儲到緩存和/或持久化存儲裝置中,并采用異步模式返回存儲成功消息;
具體為:
當接收到請求存儲到隊列中的數據時,先將該數據進行索引化,以生成該數據的索引ID;同時,采用異步模式直接返回存儲成功消息;
讀取所述緩存以判斷該隊列是否全部位于緩存中,且緩存未滿;如果是,則將該數據存儲到所述緩存中;如果否,則直接將該數據存儲到所述持久化存儲裝置中。
本發明實施例還提出了一種隊列的數據處理系統,包括:
數據庫模塊,所述數據庫模塊包括用于存儲隊列中數據的持久化存儲裝置,以及用于存儲隊列中預設數量隊頭數據的緩存;
控制模塊,用于讀取所述緩存中數據的數量,當所述緩存中的數據數量低于預設數量時,則按所述隊列中的順序將所述持久化存儲裝置中的數據存儲到緩存中。
作為上述技術方案的優選,所述系統還包括:
讀取模塊,用于當接收到讀取所述隊列中數據的請求時,讀取所述隊列中的第一個數據;
所述讀取模塊包括:
判斷單元,當接收到讀取所述隊列中數據的請求時,讀取所述緩存以確定所述緩存中是否有數據;
緩存讀取單元,用于當所述緩存中有數據時,將緩沖中的數據按照隊列的順序,讀取隊列中的第一個數據;
持久化存儲設備讀取單元,用于當所述緩存中沒有數據時,將所述持久化存儲設備中的數據按照隊列的順序,讀取隊列中的第一個數據。
作為上述技術方案的優選,所述持久化存儲設備讀取單元包括:
第一度取子單元,用于將所述持久化存儲設備中的數據按照隊列的順序,讀取隊列中的第一個數據;
第二讀取子單元,用于將隊列中該第一個數據之后的預設數量的數據存儲到所述緩存中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市金蝶中間件有限公司,未經深圳市金蝶中間件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110030815.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:半導體器件
- 下一篇:散熱裝置及包含該散熱裝置的投影裝置





