[發明專利]一種報文內存的管理方法及系統在審
| 申請號: | 201410139264.5 | 申請日: | 2014-04-09 |
| 公開(公告)號: | CN103970672A | 公開(公告)日: | 2014-08-06 |
| 發明(設計)人: | 李鵬 | 申請(專利權)人: | 漢柏科技有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 北京天奇智新知識產權代理有限公司 11340 | 代理人: | 謝磊 |
| 地址: | 300384 天津市西青*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 報文 內存 管理 方法 系統 | ||
技術領域
本發明屬于計算機網絡技術領域,具體涉及一種報文內存的管理方法及系統。
背景技術
任何的網絡設備都離不開報文內存的管理,通常都需要在初始化階段申請一大塊內存,然后通過特定的管理方法進行內存的管理。具體來說,在驅動程序接收報文之前,先申請一塊內存,這樣就可以將報文接收下來;另外,在報文處理階段,有時會根據報文的特點,程序會再次申請一塊內存對報文進行管理,一套良好的報文管理機制,將會保證整個系統高效的工作。
在現有技術中,如附圖1所示,通常都是預先申請一大塊內存,然后對這一大塊內存進行等大小分割,分割成為大小相同的若干塊小內存,在驅動程序接收報文時,或者在報文處理階段根據報文的特點需要再次申請內存時,均是從分割的若干塊大小相同的小內存中隨機調用一個或者多個,對報文進行存儲,這種報文內存的管理機制往往忽略了報文本身大小與存儲的內存大小的關系,會出現內存的大小遠遠大于報文大小的現象,導致無法按需分配內存存儲報文,進而造成了內存的浪費。
因此,有必要提供一種報文內存的管理方法及系統,對內存塊進行分割,并將分割后的小內存塊進行大小分類,實現了報文內存可以按需分配,需要多大的內存就分配多大的內存存儲。
發明內容
本發明的目的是提供一種報文內存的管理方法及系統,對內存塊進行分割,并將分割后的小內存塊進行大小分類,實現了報文內存可以按需分配,需要多大的內存就分配多大的內存存儲,以克服現有技術中的報文管理往往是簡單地分配統一大小的內存來存儲報文而存在內存浪費的缺陷。
根據本發明的一個方面,提供一種報文內存的管理方法,包括以下步驟:預先申請一塊用于存儲報文的內存;按照預設的分割規則,對申請到的所述內存進行分割,以將該內存分割成若干塊字節長度不等的內存,并對分割后的若干塊內存進行大小分類;根據所要存儲的報文的大小,選用大小適配的內存分配給該報文。
其中,在上述發明中,所述預設的分割規則包括:分割的內存大小為管理段長度與數據段長度之和,其中數據段的長度是可變的,分為若干長度不等的字節。
其中,在上述發明中,所述管理段包含有能夠識別所述數據段的長度的標志字段;通過讀取所述管理段內的標志字段,獲取該管理段所對應的內存的大小。
其中,在上述發明中,所述對分割后的若干塊內存進行大小分類,包括:統計分割后的內存的數據段的長度,將數據段的長度相同的內存歸為一類放在同一鏈表;所述方法,還包括:在報文釋放占用的內存后,回收該內存并將其放回所屬的大小分類對應的鏈表中。
其中,在上述發明中,所述根據所要存儲的報文的大小,選用大小適配的內存分配給該報文,包括:如果所要存儲的報文的大小與字節長度不等的內存中的某一個對應,則選用與所要存儲的報文的大小相同的內存分配給該報文;如果所要存儲的報文的大小與字節長度不等的內存中的任一個均不對應,則選用與所要存儲的報文的大小相近的內存分配給該報文;如果所要存儲的報文的大小與字節長度不等的內存中的某一個對應,且該對應大小的內存均已被占用,則選用較該對應大小的內存的大小更大且與之大小相近的未被占用的內存分配給該報文。
其中,在上述發明中,所述管理段還包含有報文起始地址、報文結束地址、本塊內存的起始地址和本塊內存的結束地址。
根據本發明的另一個方面,提供一種報文內存的管理系統,包括:內存申請單元,用于在初始階段預先申請一塊存儲報文的內存,并將申請到的內存發送至內存分割單元;內存分割單元,與所述內存申請單元連接,用于在接收所述內存申請單元申請到的內存后,按照預設的分割規則,對接收到的所述內存進行分割,以將該內存分割成若干塊字節長度不等的內存,并對分割后的若干塊內存進行大小分類;內存選用單元,與所述內存分割單元連接,用于根據所要存儲的報文的大小,選用內存分割單元分割的大小與報文的大小相適配的內存分配給該報文。
其中,在上述發明中,所述系統,還包括:內存回收單元,與所述內存分割單元連接,用于在報文釋放占用的內存后,回收該內存并將其放回所屬的大小分類的內存集合中。
其中,在上述發明中,預設的分割規則包括:分割的內存大小為管理段長度與數據段長度之和,其中數據段的長度是可變的,分為若干長度不等的字節,管理段包含有能夠識別所述數據段的長度的標志字段;內存選用單元通過讀取管理段內的標志字段,獲取該管理段所對應的內存的大小,以選用與報文的大小相適配的內存分配給該報文;內存回收單元通過讀取管理段內的標志字段,獲取該管理段所屬的內存的大小,以將該內存放回其所屬的大小分類的內存集合中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于漢柏科技有限公司,未經漢柏科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410139264.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:柔性抗沖擊塑料風筒涂覆布
- 下一篇:一種從硼鐵礦中提取優質鐵粉和硼砂的方法





