一种基于共享内存的虚拟机间通信方法及装置制造方法及图纸

技术编号:16837174 阅读:32 留言:0更新日期:2017-12-19 19:46
本发明专利技术公开了一种基于共享内存的虚拟机间通信方法及装置,用以解决物理计算机中的虚拟机通信过程中,虚拟机访问共享内存时,虚拟机监视器需要与虚拟机进行频繁切换来对虚拟机进行安全性检查和页面授权的问题,提高了通信效率。所述方法包括:发送端虚拟机VM确定共享内存中接收端VM的区域空间;将第一数据写入区域空间中,并向区域空间中添加数据写请求,其中,数据写请求中携带有第一数据在区域空间中的位置标识、发送端VM的标识以及所述请求的操作类型;接收所述接收端VM返回的第二数据,第二数据为接收端VM获取数据写请求、并根据位置标识获取第一数据后,根据所述请求的操作类型对第一数据执行对应的操作后得到的。

A method and device for communication between virtual machines based on shared memory

The invention discloses a method and device for communication between virtual machines based on shared memory, in order to solve the virtual machine communication process physical computer in virtual machine access to shared memory, virtual machine and virtual machine monitors need to perform frequent handover to perform security checks and page authorization problem of virtual machine, improve the the efficiency of communication. The method comprises the following steps: sending VM virtual machine to determine the sharing of regional spatial memory VM receiver; the first data is written to the regional space, and add data write request to the regional space in which the data write request carries the position of the first data in the region of space identification, sender identification and VM the type of operation request; the receiving end receives second data returned by VM, second data receiving end VM access to data, and write requests according to the first data location identification, based on the type of operation the request to get first data execution after the corresponding operation.

【技术实现步骤摘要】
一种基于共享内存的虚拟机间通信方法及装置
本专利技术涉及虚拟化
,尤其涉及一种基于共享内存的虚拟机间通信方法及装置。
技术介绍
虚拟化是指通过虚拟化技术将一台物理计算机虚拟为多台逻辑计算机,即虚拟机(VirtualMachine,VM)。在一台计算机上可以同时运行多个VM,每个VM可以运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高了计算机的工作效率。虚拟机监视器(VirtualMachineMonitor,VMM)是虚拟机技术的核心,它是一层位于操作系统和计算机硬件之间的代码,它的主要任务是实现VM技术的各种底层机制,如虚拟化CPU(CentralProcessingUnit,中央处理器)、虚拟化设备、虚拟化内存和虚拟化网络等机制都是在VMM中实现的,VMM用于隔离并且管理上层运行的多个虚拟机,仲裁VM对底层硬件的访问,每个VM通过VMM来与硬件进行通信。当前计算机上的VM之间的通信方式有两种:基于CPU外总线和基于共享内存的通信方式。基于共享内存的通信方式具有通信协议简单、传输延迟低的优势,使用内存授权表(granttable)机制,来实现VM之间的内存页面传递和共享。然而,在VM的通信过程中,当VM访问共享内存时,VMM需要与VM进行频繁切换,以对VM进行安全性检查和页面授权,严重影响了通信效率。
技术实现思路
本专利技术公开了一种基于共享内存的虚拟机间通信方法及装置,用以解决物理计算机中的虚拟机通信过程中,虚拟机访问共享内存时,虚拟机监视器需要与虚拟机进行频繁切换来对虚拟机进行安全性检查和页面授权的问题,提高了通信效率。本专利技术实施例提供了一种基于共享内存的虚拟机间通信方法,包括:发送端虚拟机VM确定共享内存中接收端VM的区域空间;将第一数据写入所述区域空间中,并向所述区域空间中添加数据写请求,其中,所述数据写请求中携带有所述第一数据在所述区域空间中的位置标识、所述发送端VM的标识以及所述请求的操作类型;接收所述接收端VM返回的第二数据,所述第二数据为所述接收端VM获取所述数据写请求、并根据所述位置标识获取所述第一数据后,根据所述请求的操作类型对所述第一数据执行对应的操作后得到的。本专利技术实施例提供了一种基于共享内存的虚拟机间通信装置,包括:第一确定单元,用于发送端虚拟机VM确定共享内存中接收端VM的区域空间;写入单元,用于将第一数据写入所述区域空间中,并向所述区域空间中添加数据写请求,其中,所述数据写请求中携带有所述第一数据在所述区域空间中的位置标识、所述发送端VM的标识以及所述请求的操作类型;第一接收单元,用于接收所述接收端VM返回的第二数据,所述第二数据为所述接收端VM获取所述数据写请求、并根据所述位置标识获取所述第一数据后,根据所述请求的操作类型对所述第一数据执行对应的操作后得到的。本专利技术实施例提供了一种基于共享内存的虚拟机间通信方法,包括:接收端虚拟机VM从共享内存中自身的区域空间中获取发送端VM添加的数据写请求,其中,所述数据写请求中携带有所述发送端VM写入所述区域空间中的第一数据在所述区域空间中的位置标识、所述发送端VM的标识以及所述请求的操作类型;根据所述地址信息读取所述第一数据;根据所述请求的操作类型对所述第一数据执行对应的操作得到第二数据;向所述发送端VM发送所述第二数据。本专利技术实施例提供了一种基于共享内存的虚拟机间通信装置,包括:获取单元,用于接收端虚拟机VM从共享内存中自身的区域空间中获取发送端VM添加的数据写请求,其中,所述数据写请求中携带有所述发送端VM写入所述区域空间中的第一数据在所述区域空间中的位置标识、所述发送端VM的标识以及所述请求的操作类型;读取单元,用于根据所述地址信息读取所述第一数据;处理单元,用于根据所述请求的操作类型对所述第一数据执行对应的操作得到第二数据;第一发送单元,用于向所述发送端VM发送所述第二数据。本专利技术的有益效果包括:本专利技术提供的基于共享内存的虚拟机间通信方法及装置中,发送端VM确定共享内存中接收端VM的区域空间,将第一数据写入接收到VM的区域空间中,并向该区域空间中添加数据写请求,其中,数据写请求中携带有第一数据在接收端VM的区域空间中的地址信息、发送端VM的标识以及所述请求的操作类型,接收所述接收端VM返回的第二数据,该第二数据为接收端VM获取发送端添加的数据写请求、并根据数据写请求中携带的第一数据在接收端VM的区域空间中的地址信息获取所述第一数据后,根据数据写请求中携带的所述请求的操作类型对第一数据执行对应的操作后得到的,从而完成发送端VM与接收端VM之间的数据交互,解决了虚拟机访问共享内存时,VMM需要与虚拟机进行频繁切换来对虚拟机进行安全性检查和页面授权的问题,提高了通信效率。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例一提供的基于共享内存的虚拟机间通信方法的实施流程示意图;图2为本专利技术实施例二提供的基于共享内存的虚拟机间通信装置的结构示意图;图3为本专利技术实施例三提供的另一种基于共享内存的虚拟机间通信方法的实施流程示意图;图4为本专利技术实施例四提供的另一种基于共享内存的虚拟机间通信装置的结构示意图;图5为本专利技术实施例五提供的基于共享内存的文件系统访问服务实施流程示意图。具体实施方式为了解决物理计算机中的虚拟机通信过程中,虚拟机访问共享内存时,虚拟机监视器需要与虚拟机进行频繁切换来对虚拟机进行安全性检查和页面授权的问题,本专利技术提出了一种基于共享内存的虚拟机间通信方法及装置。本专利技术实施例提供的基于共享内存的虚拟机间通信方法的实施原理是:发送端VM确定共享内存中接收端VM的区域空间,将第一数据写入接收到VM的区域空间中,并向该区域空间中添加数据写请求,其中,数据写请求中携带有第一数据在接收端VM的区域空间中的地址信息、发送端VM的标识以及所述请求的操作类型,接收所述接收端VM返回的第二数据,该第二数据为接收端VM获取发送端添加的数据写请求、并根据数据写请求中携带的第一数据在接收端VM的区域空间中的地址信息获取所述第一数据后,根据数据写请求中携带的所述请求的操作类型对第一数据执行对应的操作后得到的,从而完成发送端VM与接收端VM之间的数据交互,虚拟机访问共享内存时,VMM无需与虚拟机进行频繁切换来对虚拟机进行安全性检查和页面授权,提高了通信效率。以下结合说明书附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术,并且在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。本专利技术实施例中的共享内存为从物理内存中规划出的一块独立的内存空间,在VM启动之前,VMM根据共享内存的预设配置表,将该共享内存映射给所有具有访问权限的VM,具有访问权限的VM可以直接访问该共享内存。其中,访问权限可以包括读权限、写权限或读/本文档来自技高网...
一种基于共享内存的虚拟机间通信方法及装置

【技术保护点】
一种基于共享内存的虚拟机间通信方法,其特征在于,包括:发送端虚拟机VM确定共享内存中接收端VM的区域空间;将第一数据写入所述区域空间中,并向所述区域空间中添加数据写请求,其中,所述数据写请求中携带有所述第一数据在所述区域空间中的位置标识、所述发送端VM的标识以及所述请求的操作类型;接收所述接收端VM返回的第二数据,所述第二数据为所述接收端VM获取所述数据写请求、并根据所述位置标识获取所述第一数据后,根据所述请求的操作类型对所述第一数据执行对应的操作后得到的。

【技术特征摘要】
1.一种基于共享内存的虚拟机间通信方法,其特征在于,包括:发送端虚拟机VM确定共享内存中接收端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.一种基于共享内存的虚拟机间通信装置,其特征在于,包括:...

【专利技术属性】
技术研发人员:唐兴培
申请(专利权)人:北京东土科技股份有限公司北京科银京成技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1