[發明專利]一種中間件內存管理方案有效
| 申請號: | 201010527977.0 | 申請日: | 2010-11-02 |
| 公開(公告)號: | CN102455976A | 公開(公告)日: | 2012-05-16 |
| 發明(設計)人: | 姜宇;韋偉;萬英杰;趙新陽;曹杰 | 申請(專利權)人: | 上海寶信軟件股份有限公司 |
| 主分類號: | G06F12/06 | 分類號: | G06F12/06 |
| 代理公司: | 上海伯瑞杰知識產權代理有限公司 31227 | 代理人: | 季申清 |
| 地址: | 201203 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 中間件 內存 管理 方案 | ||
技術領域
本發明涉及系統開發工作中的內存管理方法,尤其涉及在產品開發尤其是中間件的開發過程中的內存管理方法。?
背景技術
內存管理是很多系統開發工作需要考慮的問題,能夠高效穩定的管理內存是一個系統可靠運行的前提條件。?
而目前已有的內存管理系統的實現方案中,主要考慮了內存管理的以下幾個方面:
1、建立內存物理地址和邏輯地址的映射關系,對內存物理頁面信息的維護等。這種管理系統涉及到硬件層面,主要用于嵌入式系統的開發。?
2、對內存訪問的保護措施,主要是考慮對越界訪問內存時需要采取的措施,防止緩沖區溢出的漏洞。?
3、對大量小塊內存分配的管理方案,防止產生大量的內存碎片。?
4、針對特定領域的內存管理方案,如音頻視頻解碼過程、圖象處理過程、打印過程、網絡通信等領域。?
但是在中間件的開發過程中,多個模塊之間需要頻繁的共享數據,且對性能有較高的要求,沒有一種現有的內存管理的方案,能為中間件的開發提供一種高效穩定的訪問內存的方式,并能完成并發訪問數據時所需的同步數據的工作。?
發明內容
本發明所要解決的技術問題是提供一種中間件內存管理的方法,解決現在內存管理的方法不能滿足中間件內存管理高效穩定需要的缺陷。?
技術方案?
一種中間件內存管理的方法,其特征在于包括以下步驟:?
1)中間件應用系統啟動,根據配?獲取一塊內存區域,并初始化所述內存區域;初始化過程包括首先?所述內存區域分為結構化區和擴展區,再?結構化區分為多個固定容量大小的存儲單元,并設有結構化區總體頭部信息,保存該區的存儲單元信息,而在擴展區設有擴展區總體頭部信息,在所述擴展區總體頭部信息中包括空閑單元鏈表和已用單元鏈表;?
2)運行時,當有模塊根據需要在所述內存區域內申請一定大小的內存時,需要進行內存分配,分配過程包括:?
判斷的步驟,即首先判斷所申請大小是否超過結構化區存儲單元最大單?元臨界值,?
分配的步驟,即判斷后如大小沒有超過,則在結構化區中,按照申請內存的大小查找空閑的存儲單元,如找到則分配成功,如沒有找到或所申請大小超過結構化區存儲單元最大單元臨界值,則在擴展區中查找,從空閑單元鏈表中找到一個大小足夠的單元,并?找到的單元拆分成兩個,一個按照申請的大小響應這次申請,放入已用單元鏈表,另一個保留在空閑單元鏈表,而如果找到的這個單元大小等于申請內存的大小,則不用拆分,?接放入已用單元鏈表,如從空閑單元鏈表中沒有找到大小足夠的單元,則分配失敗,?
響應的步驟,即如果分配成功,則返回可用的存儲單元的地址,如分配失敗,則返回空值;?
3)步驟2中所述可用的存儲單元使用完畢后,需要釋放,內存釋放的過程包括:?
判斷的步驟,根據傳入的地址判斷屬于結構化區還是擴展區,?
釋放的步驟,如屬于結構化區,則更新結構化區的頭部信息,?該存儲單元?為空閑狀態,如屬于擴展區,則?該存儲單元移出已用單元鏈表,并查看該存儲單元是否有相鄰的空閑單元,如有相鄰的空閑單元,則?該存儲單元和相鄰的空閑單元合并為一個單元,并修改空閑單元鏈表,更新擴展區的頭部信息。?
4)當應用系統停止,清除所述內存區域的內容。?
進一步,所述結構化區的多個固定容量大小的存儲單元分別包括多種不同的容量大小,每種容量大小的存儲單元有多個。?
所述多種容量大小的存儲單元中,相同容量大小的多個存儲單元位于同一存儲區域,并設有區域頭部信息。?
所述多種容量大小的存儲單元的容量大小為按照倍數遞增。?
所述區域頭部信息保存有該區域的存儲單元信息和鎖信息。?
所述區域頭部信息保存有區域內各單元的使用者ID信息和使用時間信息。?
進一步,所述擴展區的存儲單元生成時設有單元頭部信息,所述單元頭部信息或包括該單元的使用者ID信息和使用時間信息。?
進一步,所述中間件包括管理模塊,所述管理模塊定時檢查存儲單元的使用者ID信息和使用時間信息,判斷該單元是否超出使用期限,?長時間不釋放并且使用者模塊已經異常退出的存儲單元進行釋放。?
有益效果?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海寶信軟件股份有限公司,未經上海寶信軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010527977.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:機床的監視方法、監視裝置和機床
- 下一篇:注射裝置





