[發明專利]多進程操作共享內存的方法和裝置有效
| 申請號: | 201310370343.2 | 申請日: | 2013-08-22 |
| 公開(公告)號: | CN104424030B | 公開(公告)日: | 2020-01-14 |
| 發明(設計)人: | 趙文 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 44224 廣州華進聯合專利商標代理有限公司 | 代理人: | 何平;鄧云鵬 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 進程 操作 共享 內存 方法 裝置 | ||
本發明提供了一種多進程操作共享內存的方法,所述方法包括:當第一進程需修改第一共享內存中的數據時,將所述第一共享內存中的數據復制到預分配的與所述第一共享內存大小相等的第二共享內存中;所述第一進程修改所述第二共享內存中的數據;第二共享內存中的數據修改完畢后,將存儲的當前數據區的地址由第一共享內存的地址修改為第二共享內存的地址。該方法能夠使得共享內存的讀操作和寫操作并發執行,從而提高了設備的處理效率。此外,還提供了一種多進程操作共享內存的裝置以及另一種多進程操作共享內存的方法和裝置。
技術領域
本發明涉及計算機技術領域,特別是涉及一種多進程操作共享內存的方法和裝置。
背景技術
共享內存是指可被更多的進程所共享的內存,其被描述成內存一個區域(段)的映射。進程是應用程序的運行實例,是應用程序的一次動態執行。多進程操作共享內存是指實現讀取共享內存中的數據或者寫入數據至共享內存中,多進程可通過共享內存實現進程間的通信。
傳統技術中,多進程操作共享內存為保持內存數據的準確,需要使用資源鎖,即:進程在讀取共享內存中的數據或者寫入數據至共享內存中之前,都需要先獲取到共享內存的資源鎖,只有獲取到資源鎖的進程才能對共享內存進行讀操作或寫操作,而不能獲取到資源鎖的進程則會阻塞。
然而,發明人發現現有技術中至少存在以下技術問題:
由于無法獲取資源鎖時將會阻塞進程,當一個進程在對共享內存進行讀操作時(該進程獲取到資源鎖),則其他所有進程無法對共享內存進行讀操作或寫操作,當一個進程對共享內存進行寫操作時,其他所有進程也無法對共享內存進行讀操作或寫操作,這必然會影響設備的處理效率。特別是在單進程寫多進程讀(即讀操作大大多于寫操作的次數)的應用場景中,這種串行的處理方式使得設備的處理效率較低,從而影響了設備的處理性能。
發明內容
基于此,有必要針對傳統技術中處理效率低的技術問題,提供一種多進程操作共享內存的方法和裝置。
一種多進程操作共享內存的方法,所述方法包括:
當第一進程需修改第一共享內存中的數據時,將所述第一共享內存中的數據復制到預分配的與所述第一共享內存大小相等的第二共享內存中;
所述第一進程修改所述第二共享內存中的數據;
第二共享內存中的數據修改完畢后,將存儲的當前數據區的地址由第一共享內存的地址修改為第二共享內存的地址。
一種多進程操作共享內存的裝置,所述裝置包括:
數據復制模塊,用于當第一進程需修改第一共享內存中的數據時,將所述第一共享內存中的數據復制到預分配的與所述第一共享內存大小相等的第二共享內存中;
數據修改模塊,用于通過第一進程修改所述第二共享內存中的數據;
地址修改模塊,用于在第二共享內存中的數據修改完畢后,將存儲的當前數據區的地址由第一共享內存的地址修改為第二共享內存的地址。
上述多進程操作共享內存的方法和裝置,由于在第一進程要修改第一共享內存中的數據時,將第一共享內存中的數據復制到了預分配的與第一共享內存大小相等的第二共享內存中,使得第一進程的數據寫入可在第二共享內存中進行。這樣,在第一進程的寫操作執行過程中,第二進程仍可以讀取到修改前的數據,因而讀取數據的進程不會被阻塞。由于沒有為共享內存設置資源鎖,進程無需競爭資源就能夠對共享內存實現讀操作和寫操作,且讀操作的進程不會因為有進程在執行寫操作而阻塞,而寫操作的進程也不會因為有進程在執行讀操作而阻塞,因此能夠提高設備的處理效率,從而提高設備的處理性能。
一種多進程操作共享內存的方法,所述方法包括:
當第一進程需修改鏈表中的第一節點所對應的第一數據區中的數據時,將數據寫入空閑可用的第二數據區;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310370343.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:固件更新壓力測試系統及方法
- 下一篇:BMC固件自動更新系統及方法





