[發(fā)明專(zhuān)利]一種將隊(duì)列讀寫(xiě)管理整合的軟件實(shí)現(xiàn)方法有效
| 申請(qǐng)?zhí)枺?/td> | 202110517809.1 | 申請(qǐng)日: | 2021-05-12 |
| 公開(kāi)(公告)號(hào): | CN113190353B | 公開(kāi)(公告)日: | 2023-07-18 |
| 發(fā)明(設(shè)計(jì))人: | 朱曉李;葛長(zhǎng)恩 | 申請(qǐng)(專(zhuān)利權(quán))人: | 北京睿芯高通量科技有限公司 |
| 主分類(lèi)號(hào): | G06F9/50 | 分類(lèi)號(hào): | G06F9/50 |
| 代理公司: | 北京科龍寰宇知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司 11139 | 代理人: | 孫皓晨 |
| 地址: | 102600 北京市大興區(qū)北京經(jīng)濟(jì)技*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 隊(duì)列 讀寫(xiě) 管理 整合 軟件 實(shí)現(xiàn) 方法 | ||
1.一種將隊(duì)列讀寫(xiě)管理整合的軟件實(shí)現(xiàn)方法,其特征在于,將多種隊(duì)列操作整合到一個(gè)模塊中,包括以下步驟:
步驟1:封裝一個(gè)統(tǒng)一調(diào)用接口,用于內(nèi)存空間的開(kāi)辟和管理,其中,所述統(tǒng)一調(diào)用接口的函數(shù)包括創(chuàng)建函數(shù)、讀取函數(shù)、寫(xiě)入函數(shù)、銷(xiāo)毀函數(shù)和獲取信息函數(shù);
步驟2:任一業(yè)務(wù)第一次調(diào)用創(chuàng)建函數(shù)時(shí),創(chuàng)建一個(gè)對(duì)應(yīng)的句柄作為該業(yè)務(wù)的總?cè)肟冢⒏鶕?jù)需求創(chuàng)建對(duì)應(yīng)業(yè)務(wù)的內(nèi)存隊(duì)列,所述內(nèi)存隊(duì)列中包含多個(gè)內(nèi)存節(jié)點(diǎn),所有內(nèi)存節(jié)點(diǎn)均由一鏈表統(tǒng)一管理,其中,每個(gè)內(nèi)存節(jié)點(diǎn)包含節(jié)點(diǎn)名稱(chēng)信息,所述句柄包括鏈表信息和內(nèi)存屬性記錄信息,其中:
所述內(nèi)存屬性記錄信息包括節(jié)點(diǎn)類(lèi)型、任一內(nèi)存節(jié)點(diǎn)的使用情況和使用者的用戶(hù)信息;
所述鏈表信息包括所有內(nèi)存節(jié)點(diǎn)數(shù)目的記錄、鏈表頭互斥鎖、任一內(nèi)存節(jié)點(diǎn)的節(jié)點(diǎn)名稱(chēng)信息、節(jié)點(diǎn)編號(hào)信息、使用對(duì)應(yīng)節(jié)點(diǎn)的用戶(hù)信息和對(duì)應(yīng)節(jié)點(diǎn)的節(jié)點(diǎn)入口句柄信息,其中,所述所有內(nèi)存節(jié)點(diǎn)數(shù)目的記錄和所述鏈表頭互斥鎖設(shè)置在鏈表頭中,所述互斥鎖用于在增加或刪除鏈表管理對(duì)象時(shí)鎖定鏈表;
步驟3:當(dāng)任一使用者使用內(nèi)存時(shí),先調(diào)用創(chuàng)建函數(shù),然后通過(guò)使用者所在業(yè)務(wù)的對(duì)應(yīng)句柄查找其所要使用的內(nèi)存節(jié)點(diǎn)的節(jié)點(diǎn)名稱(chēng),
如果所要使用的內(nèi)存節(jié)點(diǎn)存在,則按照節(jié)點(diǎn)類(lèi)型對(duì)應(yīng)的方式使用對(duì)應(yīng)內(nèi)存節(jié)點(diǎn),并將使用者的用戶(hù)信息記錄到鏈表中;
如果所要使用的內(nèi)存節(jié)點(diǎn)不存在,則根據(jù)使用者的需求創(chuàng)建新的內(nèi)存節(jié)點(diǎn)。
2.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于,步驟2中任一業(yè)務(wù)的對(duì)應(yīng)句柄在創(chuàng)建好后,讀取函數(shù)、寫(xiě)入函數(shù)、銷(xiāo)毀函數(shù)和獲取信息函數(shù)均以這個(gè)句柄作為入?yún)ⅰ?/p>
3.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于,步驟2中的鏈表將鏈表頭和多個(gè)內(nèi)存節(jié)點(diǎn)作為鏈表的管理對(duì)象進(jìn)行管理。
4.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于,步驟3中使用者使用對(duì)應(yīng)內(nèi)存節(jié)點(diǎn)具體為對(duì)所述內(nèi)存節(jié)點(diǎn)進(jìn)行讀操作或?qū)懖僮鳌?/p>
5.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)方法,其特征在于,步驟3中所述節(jié)點(diǎn)類(lèi)型包括普通節(jié)點(diǎn)、FIFO節(jié)點(diǎn)和環(huán)形節(jié)點(diǎn)。
6.根據(jù)權(quán)利要求5所述的實(shí)現(xiàn)方法,其特征在于,所述普通節(jié)點(diǎn)包括多個(gè)小內(nèi)存塊,每個(gè)小內(nèi)存塊根據(jù)使用情況分別放入空隊(duì)列和滿(mǎn)隊(duì)列,其中,所述空隊(duì)列為存放寫(xiě)入數(shù)據(jù)小內(nèi)存塊的隊(duì)列,所述滿(mǎn)隊(duì)列為存放已經(jīng)寫(xiě)入數(shù)據(jù)等待被讀取的小內(nèi)存塊的隊(duì)列,初始時(shí)兩個(gè)隊(duì)列均為空,不同使用者對(duì)普通隊(duì)列使用的具體過(guò)程為:
寫(xiě)操作使用者的使用過(guò)程為:
步驟311:寫(xiě)操作使用者調(diào)用讀取函數(shù),并通過(guò)節(jié)點(diǎn)入口句柄從空隊(duì)列中獲取小內(nèi)存塊;
步驟312:寫(xiě)操作使用者向獲取的小內(nèi)存塊中寫(xiě)入數(shù)據(jù);
步驟313:寫(xiě)操作使用者通過(guò)寫(xiě)入函數(shù)將寫(xiě)入數(shù)據(jù)的小內(nèi)存塊放入滿(mǎn)隊(duì)列;
讀操作使用者的使用過(guò)程為:
步驟321:讀操作使用者調(diào)用讀取函數(shù),并通過(guò)節(jié)點(diǎn)入口句柄從滿(mǎn)隊(duì)列中獲取小內(nèi)存塊;
步驟322:讀操作使用者從獲取的小內(nèi)存塊中讀取數(shù)據(jù);
步驟323:讀操作使用者通過(guò)寫(xiě)入函數(shù)將讀取完成后的小內(nèi)存塊放入空隊(duì)列;
其中,當(dāng)多個(gè)讀操作使用者和多個(gè)寫(xiě)操作使用者同時(shí)使用時(shí),多個(gè)寫(xiě)操作使用者分別獲取其所需的小內(nèi)存塊寫(xiě)入,多個(gè)讀操作使用者分別讀取其所需的小內(nèi)存塊。
7.根據(jù)權(quán)利要求5所述的實(shí)現(xiàn)方法,其特征在于,所述FIFO節(jié)點(diǎn)包括一整塊內(nèi)存塊,所述內(nèi)存塊按照字節(jié)被使用者讀取或?qū)懭耄x取和寫(xiě)入按照順序以隊(duì)列形式進(jìn)行,具體為:
寫(xiě)操作使用者的使用過(guò)程為:寫(xiě)操作使用者根據(jù)寫(xiě)標(biāo)志通過(guò)讀取函數(shù)獲取指定空間,然后將數(shù)據(jù)寫(xiě)入指定空間,寫(xiě)入完成后通過(guò)寫(xiě)入函數(shù)釋放對(duì)應(yīng)空間并重置寫(xiě)標(biāo)志;
讀操作使用者的使用過(guò)程為:
步驟331:每個(gè)讀操作使用者先在鏈表中注冊(cè)其使用對(duì)應(yīng)節(jié)點(diǎn)的用戶(hù)信息;
步驟332:不同屬性的讀操作使用者同時(shí)通過(guò)讀取函數(shù)讀取數(shù)據(jù);
步驟333:讀操作使用者讀取完成后通過(guò)寫(xiě)入函數(shù)釋放對(duì)應(yīng)空間,并更新寫(xiě)標(biāo)志;
其中,F(xiàn)IFO節(jié)點(diǎn)允許多個(gè)讀操作使用者同時(shí)讀取,但只允許一個(gè)寫(xiě)操作使用者執(zhí)行寫(xiě)入操作。
8.根據(jù)權(quán)利要求5所述的實(shí)現(xiàn)方法,其特征在于,所述環(huán)形節(jié)點(diǎn)的內(nèi)存空間為一段首尾相接的空間,環(huán)形節(jié)點(diǎn)的內(nèi)存空間按照字節(jié)被使用者讀取或?qū)懭耄浒╢ront變量和rear變量,front變量為保存隊(duì)頭的位置,rear變量為保存即將入隊(duì)的位置,初始化狀態(tài)時(shí)front變量=rear變量=0,不同使用者使用環(huán)形節(jié)點(diǎn)的具體過(guò)程為:
步驟341:設(shè)環(huán)形節(jié)點(diǎn)的大小為maxSize,寫(xiě)操作使用者通過(guò)讀取函數(shù)讀取數(shù)據(jù)時(shí),指定其獲取的空間大小為size1,則其入隊(duì)位置為(rear+size1)%maxSize,其中,%表示取余數(shù);
步驟342:寫(xiě)操作使用者寫(xiě)入數(shù)據(jù)后通過(guò)寫(xiě)入函數(shù)釋放對(duì)應(yīng)空間,同時(shí)查看是否有讀操作使用者,如果有則向讀操作使用者發(fā)出信號(hào);
步驟343:當(dāng)任一讀操作使用者通過(guò)讀取函數(shù)讀取數(shù)據(jù)時(shí),指定其獲取的空間大小為size2,對(duì)應(yīng)讀操作使用者查看是否有數(shù)據(jù),如果沒(méi)有數(shù)據(jù)則繼續(xù)等待;如果有數(shù)據(jù),則設(shè)置標(biāo)志位表示內(nèi)存被讀取中,此時(shí),其他讀操作使用者也以同樣的方式同時(shí)讀取;
步驟344:當(dāng)對(duì)應(yīng)讀操作使用者讀取完成后,通過(guò)寫(xiě)入函數(shù)釋放對(duì)應(yīng)空間,最后一個(gè)讀操作使用者釋放空間時(shí),環(huán)形節(jié)點(diǎn)的隊(duì)頭位置為(front+size2)%maxSize,其中,%表示取余數(shù);
其中,環(huán)形節(jié)點(diǎn)允許多個(gè)讀操作使用者同時(shí)讀取,但只允許一個(gè)寫(xiě)操作使用者執(zhí)行寫(xiě)入操作。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于北京睿芯高通量科技有限公司,未經(jīng)北京睿芯高通量科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110517809.1/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 隊(duì)列調(diào)度系統(tǒng)及方法
- 一種從多隊(duì)列節(jié)點(diǎn)獲取消息的方法及系統(tǒng)
- 隊(duì)列請(qǐng)求處理方法和裝置
- 一種隊(duì)列清空方法以及相關(guān)設(shè)備
- 一種基于Linux通用塊層多隊(duì)列的優(yōu)化系統(tǒng)及方法
- 一種分離存儲(chǔ)的隊(duì)列實(shí)現(xiàn)方法及裝置
- 一種數(shù)據(jù)處理方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種接口擁塞時(shí)延的計(jì)算方法及裝置
- 一種報(bào)文調(diào)度方法及裝置
- RDMA網(wǎng)絡(luò)下的網(wǎng)卡隊(duì)列創(chuàng)建方法以及裝置
- 光盤(pán)磁盤(pán)一體化數(shù)據(jù)讀寫(xiě)總成
- 一種智能卡讀寫(xiě)設(shè)備
- 數(shù)據(jù)總線寬度不相等的雙口RAM讀寫(xiě)與仲裁控制器
- 一種提高金屬表面射頻信號(hào)通訊能力的讀寫(xiě)卡器結(jié)構(gòu)
- 數(shù)據(jù)總線寬度不相等的雙口RAM讀寫(xiě)與仲裁控制器
- 文件讀寫(xiě)裝置及方法
- 數(shù)據(jù)讀寫(xiě)方法、讀寫(xiě)裝置和動(dòng)態(tài)隨機(jī)存儲(chǔ)器
- 一種適用于不同規(guī)格IC卡的讀寫(xiě)設(shè)備
- 數(shù)據(jù)讀寫(xiě)的方法、裝置和電子設(shè)備
- 一種RFID打印機(jī)的RFID標(biāo)簽讀寫(xiě)方法及系統(tǒng)
- 一種城市智能管理系統(tǒng)
- 一種用于裝飾材料的電子商務(wù)供應(yīng)鏈管理系統(tǒng)
- 一種旅游智能管理系統(tǒng)
- 一種塑編企業(yè)專(zhuān)用管理系統(tǒng)
- 適用于教育系統(tǒng)學(xué)生移動(dòng)終端的分級(jí)管控平臺(tái)
- 一種用于高校的信息管理系統(tǒng)
- 一種用于醫(yī)院的信息管理系統(tǒng)
- 一種智能樓宇管理系統(tǒng)及其平臺(tái)管理、招租管理操作方法
- 一種教育培訓(xùn)運(yùn)營(yíng)支撐系統(tǒng)
- 一種基于多系統(tǒng)集成的倉(cāng)儲(chǔ)物流管理系統(tǒng)





