[發明專利]一種基于共享內存的虛擬機間通信方法及裝置有效
| 申請號: | 201710534392.3 | 申請日: | 2017-07-03 |
| 公開(公告)號: | CN107491354B | 公開(公告)日: | 2020-01-21 |
| 發明(設計)人: | 唐興培 | 申請(專利權)人: | 北京東土科技股份有限公司;北京科銀京成技術有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 11291 北京同達信恒知識產權代理有限公司 | 代理人: | 黃志華 |
| 地址: | 100041 北京市石*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 共享 內存 虛擬機 通信 方法 裝置 | ||
1.一種基于共享內存的虛擬機間通信方法,其特征在于,包括:
發送端虛擬機VM根據虛擬機監視器VMM下發的區域空間分配表,確定共享內存中接收端VM的區域空間,所述區域空間分配表中存儲有所述接收端VM與所述VMM從所述共享內存中為所述接收端VM分配的區域空間之間的對應關系;
將第一數據寫入所述區域空間中,并向所述區域空間中添加數據寫請求,其中,所述數據寫請求中攜帶有所述第一數據在所述區域空間中的位置標識、所述發送端VM的標識以及所述請求的操作類型;
接收所述接收端VM返回的第二數據,所述第二數據為所述接收端VM獲取所述數據寫請求、并根據所述位置標識獲取所述第一數據后,根據所述請求的操作類型對所述第一數據執行對應的操作后得到的。
2.如權利要求1所述的方法,其特征在于,所述區域空間中包括接收端VM的數據交換空間以及請求隊列,所述數據交換空間由若干個塊Block組成,用于存儲與其它VM之間的傳輸數據;以及
將第一數據寫入所述區域空間,具體包括:
在所述數據交換空間中選擇任意一個未被使用的Block,并將所述第一數據寫入選擇的Block中;以及
在將第一數據寫入所述區域空間中之后,向所述區域空間中添加數據寫請求之前,還包括:
將所述Block的標識確定為所述第一數據在所述區域空間中的位置標識。
3.如權利要求1所述的方法,其特征在于,向所述區域空間中添加數據寫請求之后,還包括:
發送第一處理器間中斷IPI給所述接收端VM;以及
在發送第一IPI給所述接收端VM之后,接收所述接收端VM返回的第二數據之前,還包括:
響應所述接收端VM發送的第二IPI;
確定所述第二IPI的中斷號表示系統間通信。
4.如權利要求1或2所述的方法,其特征在于,在發送端虛擬機VM確定共享內存中接收端VM的區域空間之前,還包括:
所述發送端VM和所述接收端VM分別對各自的區域空間進行下述初始化:
初始化各自的數據交換空間以及請求隊列,并將各自的數據交換空間以及請求隊列記錄到各自的區域空間中;和/或
將各自的標識記錄于各自的區域空間中;和/或
設置各自的處理請求的回調函數,所述處理請求的回調函數用于喚醒任務處理請求;和/或
設置各自的發送請求的回調函數,所述發送請求的回調函數用于喚醒任務發送請求。
5.如權利要求1所述的方法,其特征在于,如果發送端VM存在多個時,每一發送端VM在確定前一個發送端VM向所述接收端VM的區域空間添加所述前一發送端VM的數據寫請求成功之后,再向所述接收端VM的區域空間添加該發送端VM的數據寫請求。
6.一種基于共享內存的虛擬機間通信裝置,其特征在于,包括:
第一確定單元,用于根據虛擬機監視器VMM下發的區域空間分配表,確定共享內存中接收端VM的區域空間,所述區域空間分配表中存儲有所述接收端VM與所述VMM從所述共享內存中為所述接收端VM分配的區域空間之間的對應關系;
寫入單元,用于將第一數據寫入所述區域空間中,并向所述區域空間中添加數據寫請求,其中,所述數據寫請求中攜帶有所述第一數據在所述區域空間中的位置標識、發送端VM的標識以及所述請求的操作類型;
接收單元,用于接收所述接收端VM返回的第二數據,所述第二數據為所述接收端VM獲取所述數據寫請求、并根據所述位置標識獲取所述第一數據后,根據所述請求的操作類型對所述第一數據執行對應的操作后得到的。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京東土科技股份有限公司;北京科銀京成技術有限公司,未經北京東土科技股份有限公司;北京科銀京成技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710534392.3/1.html,轉載請聲明來源鉆瓜專利網。





