[发明专利]虚拟机和宿主的通信方法、装置、设备以及存储介质在审
申请号: | 202111646664.1 | 申请日: | 2021-12-30 |
公开(公告)号: | CN114327771A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 樊冰新;陈逢锦;郑旗 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/54 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟机 宿主 通信 方法 装置 设备 以及 存储 介质 | ||
1.一种虚拟机和宿主的通信方法,包括:
响应于接收到来自宿主的第一调用请求,根据所述第一调用请求,确定共享内存地址;
处理所述第一调用请求,得到处理结果;
调用预先设置的宿主函数,将所述处理结果写入所述共享内存地址指示的内存处,以供宿主读取。
2.根据权利要求1所述的方法,其中,在处理所述第一调用请求之前,所述方法还包括:
初始化处理环境。
3.根据权利要求1所述的方法,其中,所述处理所述第一调用请求,包括:
响应于确定处理过程中需要访问宿主,向宿主发送访问请求;
从宿主处获取针对所述访问请求的响应;
根据所获取的响应,处理所述第一调用请求。
4.根据权利要求1所述的方法,其中,所述方法还包括:
向宿主发送第二调用请求,所述第二调用请求包括共享内存地址和调用参数的长度,以供宿主根据所述共享内存的地址和调用参数的长度从共享内存中读取调用参数;
接收宿主返回的处理结果的长度,所述处理结果是宿主利用调用参数对所述第二调用请求处理得到的;
调用所述宿主函数,将根据所述处理结果的长度在所述共享内存中设置的缓冲区地址发送给宿主,以供宿主根据所述缓冲区地址写入所述处理结果。
5.根据权利要求1-4任一项所述的方法,其中,所述方法还包括:
对调用过程中传递的数据进行序列化;以及
在读取数据时执行反序列化操作。
6.一种虚拟机和宿主的通信装置,包括:
接收单元,被配置成响应于接收到来自宿主的第一调用请求,根据所述第一调用请求,确定共享内存地址;
处理单元,被配置成处理所述第一调用请求,得到处理结果;
第一返回单元,被配置成调用预先设置的宿主函数,将所述处理结果写入所述共享内存地址指示的内存处,以供宿主读取。
7.根据权利要求6所述的装置,其中,所述装置还包括初始化单元,被配置成:
初始化处理环境。
8.根据权利要求6所述的装置,其中,所述处理单元进一步被配置成:
响应于确定处理过程中需要访问宿主,向宿主发送访问请求;
从宿主处获取针对所述访问请求的响应;
根据所获取的响应,处理所述第一调用请求。
9.根据权利要求6所述的装置,其中,所述装置还包括:
发送单元,被配置成向宿主发送第二调用请求,所述第二调用请求包括共享内存地址和调用参数的长度,以供宿主根据所述共享内存的地址和调用参数的长度从共享内存中读取调用参数;
接收单元,被配置成接收宿主返回的处理结果的长度,所述处理结果是宿主利用调用参数对所述第二调用请求处理得到的;
第二返回单元,被配置成调用所述宿主函数,将根据所述处理结果的长度在所述共享内存中设置的缓冲区地址发送给宿主,以供宿主根据所述缓冲区地址写入所述处理结果。
10.根据权利要求6-9任一项所述的装置,其中,所述装置还包括:
序列化单元,被配置成对调用过程中传递的数据进行序列化;以及
反序列化单元,被配置成在读取数据时执行反序列化操作。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111646664.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种水下探测装置
- 下一篇:一种升降电梯制动系统