[發明專利]一種報文緩存管理方法與裝置在審
| 申請號: | 201410356667.5 | 申請日: | 2014-07-24 |
| 公開(公告)號: | CN104133784A | 公開(公告)日: | 2014-11-05 |
| 發明(設計)人: | 趙金芳;張義;周保華;張力;陳魁 | 申請(專利權)人: | 大唐移動通信設備有限公司 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩 |
| 地址: | 100083*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 報文 緩存 管理 方法 裝置 | ||
技術領域
本發明涉及數據通信技術領域,尤其涉及一種報文緩存管理方法與裝置。
背景技術
隨著信息技術的日益發展,對數據處理的吞吐性能尤其是報文吞吐性能的要求也日益提高。在數據報文的收發及數據處理過程中,必不可少的要利用緩存即內存塊來存儲和傳遞數據。
在傳統的報文處理過程中,報文在緩存塊的頂頭放置,即報文的數據首地址與緩存首地址是一致的;在模塊間傳遞數據時要通過數據拷貝搬移實現報文數據的交互,具體的,在某個模塊對緩存B1中的報文處理完后,可能需要剝離或者封裝報文頭再交給另一模塊的緩存B2,此時一般會涉及報文長度的變化,會需要進行數據拷貝搬移,且搬移后的數據一般仍從緩存B2的首地址開始放置。
參照圖1,為現有技術中報文數據在多個模塊間傳輸的緩存變更示意圖。
參照圖2,為現有技術中報文封裝、解封裝過程中報文數據在兩個緩存間的搬移示意圖。
為了實現報文從緩存B1到緩存B2的搬移,我們需要首先申請緩存B2、搬移數據,然后再釋放緩存B1。反之亦然,數據從緩存B2搬遷到緩存B1的報文封裝方向,除了數據的拷貝搬移,也存在新緩存的申請、老緩沖的釋放操作。由此可知,現有的緩存管理技術,其關注點集中在緩存的申請、釋放等基本操作上,主要存在以下缺點:
在跨協議層/跨模塊的報文傳輸中,當封裝、解封裝數據報文頭時,需要申請新緩存、將數據從老緩沖中搬移到新緩存中、之后再釋放老緩存,這一連串的操作造成性能上的瓶頸;而且現有的技術實現,在釋放報文緩存時,均要求釋放的緩存地址必須是申請時獲取的原始緩存地址,這導致緩存的使用者在該緩存內訪問或處理數據時,需要備份原始的緩存地址,在增加了使用者的存儲消耗的同時,也增加了使用復雜度。
發明內容
(一)要解決的技術問題
本發明所要解決的技術問題是:現有技術在跨協議層/跨模塊的報文傳輸中,當封裝、解封裝數據報文頭時,需要申請新緩存、將數據從老緩存中搬移到新緩存中、之后再釋放老緩存,這一連串的操作造成性能上的瓶頸問題;而且現有的技術在釋放報文緩存時,均要求釋放的緩存地址必須是申請時獲取的原始緩存地址,這導致緩存的使用者在該緩存內訪問或處理數據時,需要備份原始的緩存地址,在增加了使用者的內存消耗的同時也增加了使用復雜度。
(二)技術方案
為解決上述技術問題,本發明提供一種報文緩存管理方法,該方法包括:
創建用于管理緩存塊狀態的緩存狀態表;
當接收到報文緩存請求時,根據所述緩存狀態表查找空閑緩存塊;
在所述空閑緩存塊的首地址處預留預設長度的頭區空間后以當前內存地址作為數據首地址存放發送所述報文緩存請求的報文;
根據報文處理過程中對報文頭數據的操作在報文首部或當前的可用頭區空間內調整當前數據指針的地址偏移;
將調整后的數據指針作為入參釋放緩存。
本發明還提供了一種報文緩存管理裝置,該裝置包括:
緩存狀態表創建模塊,用于創建用于管理緩存塊狀態的緩存狀態表;
查找模塊,用于當接收到報文緩存請求時,根據所述緩存狀態表查找空閑緩存塊;
存儲模塊,用于在所述空閑緩存塊的首地址處預留預設長度的頭區空間后以當前內存地址作為數據首地址存放發送所述報文緩存請求的報文;
地址偏移模塊,用于根據報文處理過程中對報文頭數據的操作在報文首部或當前的可用頭區空間內調整當前數據指針的地址偏移;
緩存釋放模塊,用于在處理過程結束后將調整后的數據指針作為入參釋放緩存。
(三)有益效果
通過采用本發明提供的報文緩存管理方法與裝置,通過合理規劃緩存塊頭部的預留空間,可實現報文在CPU內部各模塊傳輸過程中的零拷貝傳輸,避免同一個報文在CPU內各模塊間傳輸時的數據搬移、以及緩存申請/釋放操作,可有效減少內存IO次數,使得包處理性能與報文長度無關成為可能,提高包吞吐性能;同時避免緩存使用者對原始地址的備份,以及由此造成的內存資源浪費以及緩存泄露問題。
附圖說明
通過參考附圖會更加清楚的理解本發明的特征和優點,附圖是示意性的而不應理解為對本發明進行任何限制,在附圖中:
圖1為現有技術中報文數據在多個模塊間傳輸的緩存變更示意圖;
圖2為現有技術中報文封裝、解封裝過程中報文數據在兩個緩存間的搬移示意圖;
圖3為本發明一種報文緩存管理方法的流程圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大唐移動通信設備有限公司,未經大唐移動通信設備有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410356667.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:用于直接存儲器訪問控制器的條件鏈接
- 下一篇:處理分散式緩存數據的方法和裝置





