[發(fā)明專利]用于傳輸信息的方法和裝置在審
| 申請?zhí)枺?/td> | 201610808299.2 | 申請日: | 2016-09-07 |
| 公開(公告)號: | CN107797872A | 公開(公告)日: | 2018-03-13 |
| 發(fā)明(設計)人: | 馮靖超;夏黎明;王全;曲寧;陳卓;馬彧;王海峰;梁藝冰 | 申請(專利權(quán))人: | 北京百度網(wǎng)訊科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 北京英賽嘉華知識產(chǎn)權(quán)代理有限責任公司11204 | 代理人: | 王達佐,馬曉亞 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 傳輸 信息 方法 裝置 | ||
技術(shù)領(lǐng)域
本申請涉及計算機技術(shù)領(lǐng)域,具體涉及計算機應用技術(shù)領(lǐng)域,尤其涉及一種用于傳輸信息的方法和裝置。
背景技術(shù)
操作系統(tǒng)內(nèi)的各節(jié)點之間可以通過共享內(nèi)存的方式進行信息傳輸。具體地,發(fā)送節(jié)點可以將信息存儲到共享內(nèi)存,接收節(jié)點在共享內(nèi)存單元中讀取信息,從而實現(xiàn)信息的傳輸。
通常,在信息傳輸之前通常需要初始化共享內(nèi)存中用于存儲信息的內(nèi)存單元。由于無法確定需要傳輸信息的大小,系統(tǒng)通常會將共享內(nèi)存設置成多個大小相同的內(nèi)存單元,并且為了可以存儲不同大小的信息,這里的內(nèi)存單元需要預留額外的空間,造成了內(nèi)存資源的浪費。而當需要傳輸?shù)男畔⒋笥诿總€內(nèi)存單元的大小時,系統(tǒng)還需要回收內(nèi)存單元,并重新分配出可以匹配需要傳輸信息大小的內(nèi)存單元,內(nèi)存單元的回收和重新分配的過程需要消耗大量的時間,這會導致信息傳輸?shù)臅r延增加,影響信息傳輸?shù)男省?/p>
發(fā)明內(nèi)容
本申請的目的在于提出一種改進的用于傳輸信息的方法和裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。
第一方面,本申請?zhí)峁┝艘环N用于傳輸信息的方法,所述方法包括:向共享內(nèi)存發(fā)送待傳輸?shù)牡谝恍畔ⅲ槐闅v所述共享內(nèi)存中的各內(nèi)存組,獲取與所述第一信息的大小相適應的第一內(nèi)存單元,其中,各所述內(nèi)存組包括至少一個內(nèi)存單元,且同一內(nèi)存組中的各所述內(nèi)存單元的大小相同,不同內(nèi)存組中的所述內(nèi)存單元的大小互不相同;將所述第一信息存儲到所述第一內(nèi)存單元,以使接收節(jié)點讀取所述第一內(nèi)存單元中的所述第一信息。
在一些實施例中,向操作系統(tǒng)申請所述共享內(nèi)存,并將所述共享內(nèi)存劃分為多個所述內(nèi)存組和預留內(nèi)存,各所述內(nèi)存單元的大小大于預設閾值。
在一些實施例中,所述內(nèi)存組包括靜態(tài)內(nèi)存組和動態(tài)內(nèi)存組,其中,所述動態(tài)內(nèi)存組中僅包括一個內(nèi)存單元;所述動態(tài)內(nèi)存組中的內(nèi)存單元的大小大于所述靜態(tài)內(nèi)存組中的各內(nèi)存單元的大小。
在一些實施例中,所述遍歷所述共享內(nèi)存中的各內(nèi)存組,獲取與所述第一信息的大小相適應的第一內(nèi)存單元,包括:遍歷所述共享內(nèi)存中的所述內(nèi)存組,判斷各所述內(nèi)存組中是否存在大于所述第一信息的內(nèi)存單元;若是,則在大于所述第一信息的各內(nèi)存單元中獲取與所述第一信息的大小差值最小的內(nèi)存單元作為第一內(nèi)存單元;若否,則根據(jù)所述預留內(nèi)存和所述動態(tài)內(nèi)存組中的內(nèi)存單元的空閑狀態(tài),重新分配與所述第一信息的大小相適應的第一內(nèi)存單元。
在一些實施例中,所述將所述共享內(nèi)存劃分為多個所述內(nèi)存組和預留內(nèi)存,包括:根據(jù)所述共享內(nèi)存第一次接收的信息的大小,將所述共享內(nèi)存劃分為多個所述內(nèi)存組和所述預留內(nèi)存,各所述內(nèi)存組中的內(nèi)存單元的大小均大于所述共享內(nèi)存第一次接收的信息的大小。
在一些實施例中,所述根據(jù)所述預留內(nèi)存和所述動態(tài)內(nèi)存組中的內(nèi)存單元的空閑狀態(tài),重新分配與所述第一信息的大小相適應的第一內(nèi)存單元,包括:判斷所述動態(tài)內(nèi)存組中的內(nèi)存單元是否空閑;若是,則獲取所述動態(tài)內(nèi)存組中的內(nèi)存單元,將該內(nèi)存單元與所述預留內(nèi)存重新組合,并分配與所述第一信息的大小相適應的第一內(nèi)存單元;若否,則刪除所述動態(tài)內(nèi)存組中的內(nèi)存單元,并從所述預留內(nèi)存中分配與所述第一信息的大小相適應的第一內(nèi)存單元。
第二方面,本申請?zhí)峁┝艘环N用于傳輸信息的裝置,包括:發(fā)送模塊,配置用于向共享內(nèi)存發(fā)送待傳輸?shù)牡谝恍畔ⅲ猾@取模塊,配置用于遍歷所述共享內(nèi)存中的各內(nèi)存組,獲取與所述第一信息的大小相適應的第一內(nèi)存單元,其中,各所述內(nèi)存組包括至少一個內(nèi)存單元,且同一內(nèi)存組中的各所述內(nèi)存單元的大小相同,不同內(nèi)存組中的所述內(nèi)存單元的大小互不相同;存儲模塊,配置用于將所述第一信息存儲 到所述第一內(nèi)存單元,以使接收節(jié)點讀取所述第一內(nèi)存單元中的所述第一信息。
在一些實施例中,所述裝置還包括:劃分模塊,配置用于向操作系統(tǒng)申請所述共享內(nèi)存,并將所述共享內(nèi)存劃分為多個所述內(nèi)存組和預留內(nèi)存,各所述內(nèi)存單元的大小大于預設閾值。
在一些實施例中,所述內(nèi)存組包括靜態(tài)內(nèi)存組和動態(tài)內(nèi)存組,其中,所述動態(tài)內(nèi)存組中僅包括一個內(nèi)存單元;所述動態(tài)內(nèi)存組中的內(nèi)存單元的大小大于所述靜態(tài)內(nèi)存組中的各內(nèi)存單元的大小。
在一些實施例中,所述獲取模塊包括:判斷子模塊,配置用于遍歷所述共享內(nèi)存中的所述內(nèi)存組,判斷各所述內(nèi)存組中是否存在大于所述第一信息的內(nèi)存單元;若是,則在大于所述第一信息的各內(nèi)存單元中獲取與所述第一信息的大小差值最小的內(nèi)存單元作為第一內(nèi)存單元;若否,則根據(jù)所述預留內(nèi)存和所述動態(tài)內(nèi)存組中的內(nèi)存單元的空閑狀態(tài),重新分配與所述第一信息的大小相適應的第一內(nèi)存單元。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京百度網(wǎng)訊科技有限公司,未經(jīng)北京百度網(wǎng)訊科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610808299.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 信息記錄介質(zhì)、信息記錄方法、信息記錄設備、信息再現(xiàn)方法和信息再現(xiàn)設備
- 信息記錄裝置、信息記錄方法、信息記錄介質(zhì)、信息復制裝置和信息復制方法
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄設備、信息重放設備、信息記錄方法、信息重放方法、以及信息記錄介質(zhì)
- 信息存儲介質(zhì)、信息記錄方法、信息重放方法、信息記錄設備、以及信息重放設備
- 信息存儲介質(zhì)、信息記錄方法、信息回放方法、信息記錄設備和信息回放設備
- 信息記錄介質(zhì)、信息記錄方法、信息記錄裝置、信息再現(xiàn)方法和信息再現(xiàn)裝置
- 信息終端,信息終端的信息呈現(xiàn)方法和信息呈現(xiàn)程序
- 信息創(chuàng)建、信息發(fā)送方法及信息創(chuàng)建、信息發(fā)送裝置





