[發明專利]一種將隊列讀寫管理整合的軟件實現方法有效
| 申請號: | 202110517809.1 | 申請日: | 2021-05-12 |
| 公開(公告)號: | CN113190353B | 公開(公告)日: | 2023-07-18 |
| 發明(設計)人: | 朱曉李;葛長恩 | 申請(專利權)人: | 北京睿芯高通量科技有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京科龍寰宇知識產權代理有限責任公司 11139 | 代理人: | 孫皓晨 |
| 地址: | 102600 北京市大興區北京經濟技*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 隊列 讀寫 管理 整合 軟件 實現 方法 | ||
本發明公開一種將隊列讀寫管理整合的軟件實現方法,其包括:封裝一個統一調用接口,統一調用接口的函數包括創建函數、讀取函數、寫入函數、銷毀函數和獲取信息函數;任一業務第一次調用創建函數時,創建一個對應的句柄作為該業務的總入口,并根據需求創建對應業務的內存隊列,內存隊列中包含多個內存節點,所有內存節點均由一鏈表統一管理;當任一使用者使用內存時,先調用創建函數,然后通過使用者所在業務的對應句柄查找其所要使用的內存節點的節點名稱,如果節點存在,則按照節點類型對應的方式使用對應內存節點,并將使用者的用戶信息記錄到鏈表中,否則,根據使用者的需求創建新的內存節點。
技術領域
本發明涉及計算機內存管理技術領域,具體而言,涉及一種將隊列讀寫管理整合的軟件實現方法。
背景技術
在數據結構中,隊列是一種常見的內存管理方法,其包括順序隊列、鏈式隊列、循環隊列、雙向隊列等,每種隊列都有各自的邏輯實現方法。在數據處理時若需要用到某種隊列,則需要在代碼中嵌入對應隊列的管理邏輯,這套邏輯可認為是通用邏輯。若多個模塊均用到某種隊列時,則需要將一套隊列邏輯在各個模塊重復使用,每次使用都需要獨立實現,從而導致重復開發,造成代碼冗余。
以環形隊列為例,可以將一個固定長度的數組在邏輯上想象成一個環形,隊頭元素的位置和隊尾元素的位置都不是固定的,會隨著出隊、入隊動態改變。如圖1所示,可以將隊頭元素(front變量)和隊尾元素(rear變量)看做是兩個追逐的點,圍著一個圓圈互相追趕,只要他們在追趕過程中沒有相遇,隊列就不是滿的;若隊頭元素和隊尾元素相遇了,則隊列可能為滿也可能為空。按此邏輯每個數組空間都能不斷得到利用。但這個邏輯在使用時需要獨立的代碼實現,并且不同的實現間可能有微小差別,無法直接彼此替代,因而導致后期要維護的版本較多,增加維護成本。
發明內容
為了解決上述問題,本發明提供一種將隊列讀寫管理整合的軟件實現方法,通過將各種隊列操作整合到一個模塊,對外提供統一接口,用以實現其他模塊僅需調用接口即可實現隊列的讀寫管理,集合度高、開發方便,避免了重復冗余的代碼,提高開發效率。
為達到上述目的,本發明提供了一種將隊列讀寫管理整合的軟件實現方法,其將多種隊列操作整合到一個模塊中,包括以下步驟:
步驟1:封裝一個統一調用接口,用于內存空間的開辟和管理,其中,所述統一調用接口的函數包括創建函數、讀取函數、寫入函數、銷毀函數和獲取信息函數;
步驟2:任一業務第一次調用創建函數時,創建一個對應的句柄作為該業務的總入口,并根據需求創建對應業務的內存隊列,所述內存隊列中包含多個內存節點,所有內存節點均由一鏈表統一管理,其中,每個內存節點包含節點名稱信息;
步驟3:當任一使用者使用內存時,先調用創建函數,然后通過使用者所在業務的對應句柄查找其所要使用的內存節點的節點名稱,
如果所要使用的內存節點存在,則按照節點類型對應的方式使用對應內存節點,并將使用者的用戶信息記錄到鏈表中;
如果所要使用的內存節點不存在,則根據使用者的需求創建新的內存節點。
在本發明一實施例中,其中,步驟2中任一業務的對應句柄在創建好后,讀取函數、寫入函數、銷毀函數和獲取信息函數均以這個句柄作為入參。
在本發明一實施例中,其中,步驟2中的鏈表將鏈表頭和多個內存節點作為鏈表的管理對象進行管理。
在本發明一實施例中,其中,步驟2中的所述句柄包括鏈表信息和內存屬性記錄信息,其中:
所述內存屬性記錄信息包括節點類型、任一內存節點的使用情況和使用者的用戶信息;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京睿芯高通量科技有限公司,未經北京睿芯高通量科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110517809.1/2.html,轉載請聲明來源鉆瓜專利網。





