[發明專利]內存共享方法、裝置、電子設備及存儲介質在審
| 申請號: | 202010780090.6 | 申請日: | 2020-08-05 |
| 公開(公告)號: | CN111813584A | 公開(公告)日: | 2020-10-23 |
| 發明(設計)人: | 彭浩 | 申請(專利權)人: | OPPO廣東移動通信有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F9/455;G06F9/50 |
| 代理公司: | 深圳市智圈知識產權代理事務所(普通合伙) 44351 | 代理人: | 苗燕 |
| 地址: | 523860 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 共享 方法 裝置 電子設備 存儲 介質 | ||
1.一種內存共享方法,其特征在于,應用于數據共享系統,所述數據共享系統包括主機以及運行于所述主機的虛擬機,所述主機運行有至少一個主機進程,所述虛擬機運行有至少一個虛擬機進程,所述方法包括:
基于所述虛擬機進程接收來自主機進程的共享內存建立請求,并基于所述共享內存建立請求,為待建立的共享內存分配第一虛擬機物理地址;
將所述第一虛擬機物理地址對應的內存映射到所述主機進程的進程地址空間;
從所述第一虛擬機物理地址對應的內存中為待建立的共享內存分配物理內存頁;
將所述物理內存頁對應的內存映射到所述虛擬機進程的進程地址空間,將所述物理內存頁對應的內存作為所述虛擬機進程與所述主機進程之間的共享內存。
2.根據權利要求1所述的方法,其特征在于,所述共享內存建立請求攜帶第一校驗信息,所述從所述第一虛擬機物理地址對應的內存中為待建立的共享內存分配物理內存頁,包括:
接收目標進程發送的第二校驗信息,所述目標進程運行于所述主機或所述虛擬機;
判斷所述第二校驗信息與所述第一校驗信息是否匹配;
若所述第二校驗信息與所述第一校驗信息匹配,則從所述第一虛擬機物理地址對應的內存中為待建立的共享內存分配物理內存頁。
3.根據權利要求2所述的方法,其特征在于,所述方法還包括:
若所述第二校驗信息與所述第一校驗信息不匹配,從第二虛擬機物理地址對應的內存中為待建立的共享內存分配物理內存頁,所述第二虛擬機物理地址與所述第一虛擬機物理地址分別為所述虛擬機對應的總虛擬機物理地址中不同的虛擬機物理地址。
4.根據權利要求2或3所述的方法,其特征在于,所述虛擬機包括第一共享內存驅動,所述判斷所述第二校驗信息與所述第一校驗信息是否匹配,包括:
調用所述第一共享內存驅動;
基于所述第一共享內存驅動檢測所述虛擬機是否存在缺頁異常;
若檢測到缺頁異常,判斷所述第二校驗信息與所述第一校驗信息是否匹配。
5.根據權利要求1-3任一項所述的方法,其特征在于,所述將所述第一虛擬機物理地址對應的內存映射到所述主機進程的進程地址空間,包括:
根據所述第一虛擬機物理地址,確定對應的第一主機物理地址;
將所述第一主機物理地址對應的內存映射到所述主機進程的進程地址空間。
6.根據權利要求5所述的方法,其特征在于,所述根據所述第一虛擬機物理地址,確定對應的第一主機物理地址之前,所述方法還包括:
在所述虛擬機啟動時,獲取所述主機預留的物理內存;
根據所述預留的物理內存對應的主機物理地址,將所述預留的物理內存映射到與所述主機物理地址一致的虛擬機物理地址。
7.根據權利要求1所述的方法,其特征在于,所述主機包括第二共享內存驅動,所述基于所述虛擬機進程接收來自主機進程的共享內存建立請求,包括:
基于所述主機進程獲取用于建立共享內存的共享內存建立指令;
基于所述共享內存建立指令調用所述第二共享內存驅動;
通過所述第二共享內存驅動,向所述虛擬機進程發送所述共享內存建立請求;
基于所述虛擬機進程接收來自主機進程的共享內存建立請求。
8.根據權利要求1所述的方法,其特征在于,所述將所述物理內存頁對應的內存映射到所述虛擬機進程的進程地址空間之后,所述方法還包括:
當所述虛擬機進程向所述主機進程共享數據時,基于所述共享內存寫入待共享數據,并將所述待共享數據在所述共享內存中的存儲信息發送至所述主機進程,以使所述主機進程基于所述存儲信息從所述共享內存獲取所述待共享數據。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于OPPO廣東移動通信有限公司,未經OPPO廣東移動通信有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010780090.6/1.html,轉載請聲明來源鉆瓜專利網。





