[發(fā)明專利]一種減少linux下多進(jìn)程間數(shù)據(jù)拷貝的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201410100323.8 | 申請(qǐng)日: | 2014-03-19 |
| 公開(kāi)(公告)號(hào): | CN103838859B | 公開(kāi)(公告)日: | 2019-04-26 |
| 發(fā)明(設(shè)計(jì))人: | 任賦;陳從華;鄭福弟;李培明;黃杭星;范少卓 | 申請(qǐng)(專利權(quán))人: | 廈門雅迅網(wǎng)絡(luò)股份有限公司 |
| 主分類號(hào): | G06F3/06 | 分類號(hào): | G06F3/06 |
| 代理公司: | 廈門市精誠(chéng)新創(chuàng)知識(shí)產(chǎn)權(quán)代理有限公司 35218 | 代理人: | 戚東升 |
| 地址: | 361000 福建*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 減少 linux 進(jìn)程 數(shù)據(jù) 拷貝 方法 | ||
1.一種減少linux下多進(jìn)程間數(shù)據(jù)拷貝的方法,其特征在于:包括以下步驟:
步驟1:劃分共享內(nèi)存,定義為共享內(nèi)存組織;
步驟2:將該共享內(nèi)存組織劃分成不同大小的內(nèi)存池,每一內(nèi)存池由一個(gè)內(nèi)存頭和N個(gè)大小相同的內(nèi)存塊構(gòu)成,N為正整數(shù),該內(nèi)存頭用于存放每一內(nèi)存塊的使用標(biāo)識(shí),N個(gè)內(nèi)存塊以數(shù)組的形式線性排列在內(nèi)存頭后,每一內(nèi)存塊包括頭部域、用戶數(shù)據(jù)域和尾域,頭部域用于存放用戶計(jì)數(shù)、內(nèi)存類型、內(nèi)存塊索引和第一界定標(biāo)識(shí);用戶數(shù)據(jù)域用于保存需要交互的數(shù)據(jù);尾域用于存放內(nèi)存的第二界定標(biāo)識(shí),內(nèi)存塊的尾域用來(lái)對(duì)內(nèi)存進(jìn)行界定;所述頭域的第一界定標(biāo)識(shí)和尾域中的第二界定標(biāo)識(shí)均為特定的字符,在申請(qǐng)和釋放內(nèi)存時(shí)進(jìn)行內(nèi)存越界的檢查,以識(shí)別內(nèi)存操作問(wèn)題;
步驟3:應(yīng)用程序的進(jìn)程A申請(qǐng)某一內(nèi)存塊時(shí),從小到大依次查詢各內(nèi)存池中的各內(nèi)存塊,找到大小符合需求的內(nèi)存塊a,設(shè)置內(nèi)存頭中對(duì)應(yīng)該內(nèi)存塊a的使用標(biāo)識(shí)為占用標(biāo)識(shí),將該內(nèi)存塊a的頭部域中的用戶計(jì)數(shù)計(jì)清零,并向內(nèi)存a塊寫入待交互的數(shù)據(jù);
步驟4:進(jìn)程A將該內(nèi)存塊a中頭部域的內(nèi)存類型和內(nèi)存塊索引傳遞給目標(biāo)進(jìn)程D[i],(i=1,2,3……n,n為正整數(shù)),每多發(fā)送一個(gè)目標(biāo)進(jìn)程,進(jìn)程A將該內(nèi)存塊a的頭部域中的用戶計(jì)數(shù)累加1;
步驟5:目標(biāo)進(jìn)程D[i]通過(guò)該內(nèi)存類型和內(nèi)存塊索引訪問(wèn)到該內(nèi)存塊a,
步驟6:目標(biāo)進(jìn)程D[i]中,每減少一個(gè)目標(biāo)進(jìn)程使用該內(nèi)存塊a中數(shù)據(jù)域中的數(shù)據(jù)時(shí),則將該內(nèi)存塊a的頭部域中的用戶計(jì)數(shù)累減1,直至該用戶計(jì)數(shù)為零,當(dāng)用戶計(jì)數(shù)減為零時(shí),設(shè)置內(nèi)存頭對(duì)應(yīng)于該內(nèi)存塊a的使用標(biāo)識(shí)為空閑標(biāo)識(shí),把內(nèi)存塊釋放到內(nèi)存池中,以供重復(fù)使用。
2.根據(jù)權(quán)利要求1所述的一種減少linux下多進(jìn)程間數(shù)據(jù)拷貝的方法,其特征在于:步驟2中,N為正整數(shù)。
3.根據(jù)權(quán)利要求1所述的一種減少linux下多進(jìn)程間數(shù)據(jù)拷貝的方法,其特征在于:步驟2中,所述內(nèi)存池中各內(nèi)存塊的內(nèi)存頭、頭域、用戶數(shù)據(jù)域、尾域均為4n字節(jié),當(dāng)任意字段字節(jié)數(shù)不足4n字節(jié)時(shí),則補(bǔ)充填充字段,使其滿足4n字節(jié)的大小空間。
4.根據(jù)權(quán)利要求3所述的一種減少linux下多進(jìn)程間數(shù)據(jù)拷貝的方法,其特征在于:每一內(nèi)存塊的內(nèi)存頭的頭部域大小為4字節(jié),用戶數(shù)據(jù)字段的字節(jié)數(shù)由內(nèi)存池的類型決定,尾域中的第二界定標(biāo)識(shí)為1個(gè)字節(jié),填充字段為3個(gè)字節(jié)。
5.根據(jù)權(quán)利要求1所述的一種減少linux下多進(jìn)程間數(shù)據(jù)拷貝的方法,其特征在于:步驟2中,內(nèi)存池中的內(nèi)存頭存放有N個(gè)內(nèi)存塊的使用標(biāo)識(shí),當(dāng)內(nèi)存頭占用的字節(jié)數(shù)不足4的倍數(shù),則內(nèi)存頭補(bǔ)充填充字段。
6.根據(jù)權(quán)利要求1所述的一種減少linux下多進(jìn)程間數(shù)據(jù)拷貝的方法,其特征在于:步驟3中,應(yīng)用程序的進(jìn)程A申請(qǐng)到內(nèi)存塊a時(shí),將內(nèi)存塊a的數(shù)據(jù)域的首地址返回給申請(qǐng)者。
7.根據(jù)權(quán)利要求1所述的一種減少linux下多進(jìn)程間數(shù)據(jù)拷貝的方法,其特征在于:步驟6中,當(dāng)進(jìn)程不再使用該內(nèi)存塊a時(shí),則通過(guò)把待釋放的指針減去一個(gè)固定的頭域大小,得到所使用內(nèi)存的信息,該信息包括:內(nèi)存所屬的內(nèi)存池和內(nèi)存的使用計(jì)數(shù),再將內(nèi)存的使用計(jì)數(shù)減一,如果該內(nèi)存的使用技術(shù)為零,則把該內(nèi)存塊歸還的內(nèi)存池中;否則,直接返回。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廈門雅迅網(wǎng)絡(luò)股份有限公司,未經(jīng)廈門雅迅網(wǎng)絡(luò)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410100323.8/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 上一篇:未成年人用防水喉鏡葉片
- 下一篇:建筑裝修用拖把
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計(jì)算機(jī)能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機(jī)傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計(jì)算機(jī)之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時(shí)間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來(lái)自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機(jī)上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- LINUX內(nèi)核動(dòng)態(tài)加載方法
- 一種Linux嵌入式系統(tǒng)的安全啟動(dòng)方法
- 一種加快嵌入式Linux系統(tǒng)啟動(dòng)的方法
- Linux文件系統(tǒng)的多點(diǎn)備份和實(shí)時(shí)保護(hù)方法
- 基于硬件的Linux軟件開(kāi)發(fā)系統(tǒng)及其構(gòu)建方法
- 將VxWorks任務(wù)移植到Linux的方法及裝置
- 一種Linux內(nèi)核接管socket鏈接的方法和裝置
- 一種Linux系統(tǒng)的備份和還原方法
- 一種基于Linux系統(tǒng)盤的寫過(guò)濾系統(tǒng)和方法
- 一種基于Linux系統(tǒng)盤的熱插拔方法和系統(tǒng)
- 一種進(jìn)程自動(dòng)恢復(fù)方法
- 進(jìn)程啟動(dòng)方法及內(nèi)核、進(jìn)程
- 一種進(jìn)程間的通信方法和裝置
- 進(jìn)程解析裝置、進(jìn)程解析方法和進(jìn)程解析程序
- 32位進(jìn)程和64位進(jìn)程交叉注入方法及裝置
- 一種應(yīng)用進(jìn)程控制方法及裝置
- 插件下載方法及裝置
- 進(jìn)程間的數(shù)據(jù)傳輸方法和裝置
- 進(jìn)程監(jiān)視裝置、進(jìn)程監(jiān)視方法和進(jìn)程監(jiān)視程序
- 一種基于動(dòng)態(tài)監(jiān)測(cè)的進(jìn)程優(yōu)化調(diào)度方法
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





