通信建立方法及系统技术方案

技术编号:37149954 阅读:13 留言:0更新日期:2023-04-06 22:04
本说明书实施例提供通信建立方法及系统,其中所述通信建立方法应用于宿主机,所述宿主机上运行第一虚拟机和第二虚拟机,所述第一虚拟机和所述第二虚拟机运行相同的通信协议栈,包括:通过所述第一虚拟机向所述第二虚拟机发送携带有标识信息的通信请求;在所述第二虚拟机响应于所述通信请求检测所述标识信息通过的情况下,调用第一内存管理设备为所述第二虚拟机申请共享内存,并向所述第一虚拟机发送所述共享内存对应的内存信息;基于所述内存信息调用第二内存管理设备,并通过所述第二内存管理设备为所述第一虚拟机注册所述共享内存。理设备为所述第一虚拟机注册所述共享内存。理设备为所述第一虚拟机注册所述共享内存。

【技术实现步骤摘要】
通信建立方法及系统


[0001]本说明书实施例涉及虚拟机
,特别涉及通信建立方法及系统。

技术介绍

[0002]随着互联网技术的发展,云计算已成为现今服务方的主要服务支撑平台,而虚拟机化作为整个云计算的基石,伴随着服务器上的硬件资源密度的提升,单台宿主机上的虚拟机的密度也越来越高。实现当前云上应用的容器化、微服务、分布式化等,大量本来集中在一台机器或者一个进程中的服务被拆分到了不同的容器以及虚拟机上,很大程度的增加了网络通信量,致使网络通信的性能需求越来越高。现有技术中,为解决网络通信效率问题,大多数采用调度实现,即将不同的虚拟机迁移到同一宿主机上。虽然能够达到提升网络通信效率的目的,但是在通信时还需要执行完整的网络协议栈,此外还需要调用宿主机的转发模块进行转发,对网络通信效率提升有限;因此亟需一种有效的方案以解决上述问题。

技术实现思路

[0003]有鉴于此,本说明书实施例提供了一种通信建立方法。本说明书一个或者多个实施例同时涉及一种数据共享方法,一种通信建立系统,一种数据共享系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
[0004]根据本说明书实施例的第一方面,提供了一种通信建立方法,应用于宿主机,所述宿主机上运行第一虚拟机和第二虚拟机,所述第一虚拟机和所述第二虚拟机运行相同的通信协议栈,包括:
[0005]通过所述第一虚拟机向所述第二虚拟机发送携带有标识信息的通信请求;
[0006]在所述第二虚拟机响应于所述通信请求检测所述标识信息通过的情况下,调用第一内存管理设备为所述第二虚拟机申请共享内存,并向所述第一虚拟机发送所述共享内存对应的内存信息;
[0007]基于所述内存信息调用第二内存管理设备,并通过所述第二内存管理设备为所述第一虚拟机注册所述共享内存。
[0008]根据本说明书实施例的第二方面,提供了一种数据共享方法,应用于宿主机,所述宿主机上运行第一虚拟机和第二虚拟机,所述第一虚拟机和所述第二虚拟机运行相同的通信协议栈,且通过共享内存进行网络通信,包括:
[0009]通过所述第一虚拟机将应用程序关联的应用数据拷贝至所述共享内存,并向所述第二虚拟机发送数据读取通知;
[0010]在所述第二虚拟机接收到所述数据读取通知的情况下,基于所述数据读取通知在所述共享内存中针对所述第二虚拟机读取所述应用数据。
[0011]根据本说明书实施例的第三方面,提供了一种通信建立系统,包括:
[0012]第一虚拟机和第二虚拟机;
[0013]所述第一虚拟机和所述第二虚拟机所属同一宿主机,且运行相同的通信协议栈,
第一虚拟机用于存储共享内存的注册可执行指令,第二虚拟机用于存储共享内存的申请可执行指令,注册可执行指令被第一虚拟机执行以及申请可执行指令被第二虚拟机执行时实现上述通信建立方法的步骤。
[0014]根据本说明书实施例的第四方面,提供了一种数据共享系统,包括:
[0015]第一虚拟机和第二虚拟机;
[0016]所述第一虚拟机和所述第二虚拟机所属同一宿主机,且运行相同的通信协议栈,第一虚拟机用于存储共享内存的数据拷贝可执行指令,第二虚拟机用于存储共享内存的数据读取可执行指令,数据拷贝可执行指令被第一虚拟机执行以及数据读取可执行指令被第二虚拟机执行时实现上述数据共享方法的步骤。
[0017]根据本说明书实施例的第五方面,提供了一种计算设备,包括:
[0018]存储器和处理器;
[0019]所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令时实现任上述通信建立方法或数据共享方法的步骤。
[0020]根据本说明书实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述通信建立方法或数据共享方法的步骤。
[0021]根据本说明书实施例的第七方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述通信建立方法或数据共享方法的步骤。
[0022]本实施例提供的通信建立方法,其应用于宿主机,且运行有第一虚拟机和第二虚拟机,第一虚拟机和第二虚拟机又同时运行相同的通信协议栈;在此基础上,为了能够保证安全的前提下,提高第一虚拟机和第二虚拟机之间的通信效率,第一虚拟机可以向第二虚拟机发送携带有标识信息的通信请求,此时第二虚拟机可以响应于通信请求对标识信息进行通信检测,以确保二者所属同一宿主机且具有通信关系;在检测通过的情况下,第二虚拟机可以调用本地的第一内存管理设备申请与第一虚拟机进行通信使用的共享内存,并发送内存信息至第一虚拟机。第一虚拟机在接收到内存信息后,可以调用本地的第二内存管理设备注册共享内存,以达到第一虚拟机和第二虚拟机可以通过共享内存进行网络通信。实现同一宿主机中的虚拟机之间通过共享内存进行网络通信,有效的提高了网络通信效率,进而在虚拟机运行相同的通信协议栈的前提下,可以支持虚拟机上的应用做到无感透明加速通信,以为用户提供更优质的云上服务。
附图说明
[0023]图1是本说明书一个实施例提供的一种通信建立方法的应用示意图;
[0024]图2是本说明书一个实施例提供的一种通信建立方法的流程图;
[0025]图3是本说明书一个实施例提供的一种通信建立方法中建立通信连接后的结构框图;
[0026]图4是本说明书一个实施例提供的一种数据共享方法的流程图;
[0027]图5是本说明书一个实施例提供的一种通信建立方法的交互示意图;
[0028]图6是本说明书一个实施例提供的一种通信建立系统的结构示意图;
[0029]图7是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
[0030]在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
[0031]在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0032]应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通信建立方法,应用于宿主机,所述宿主机上运行第一虚拟机和第二虚拟机,所述第一虚拟机和所述第二虚拟机运行相同的通信协议栈,包括:通过所述第一虚拟机向所述第二虚拟机发送携带有标识信息的通信请求;在所述第二虚拟机响应于所述通信请求检测所述标识信息通过的情况下,调用第一内存管理设备为所述第二虚拟机申请共享内存,并向所述第一虚拟机发送所述共享内存对应的内存信息;基于所述内存信息调用第二内存管理设备,并通过所述第二内存管理设备为所述第一虚拟机注册所述共享内存。2.根据权利要求1所述的方法,所述通过所述第一虚拟机向所述第二虚拟机发送携带有标识信息的通信请求,包括:针对所述第一虚拟机获取所述宿主机的第一宿主机标识,以及所述第二内存管理设备的第二设备标识;基于所述第一宿主机标识和所述第二设备标识生成标识信息,并通过所述第一虚拟机向所述第二虚拟机发送携带有所述标识信息的通信请求。3.根据权利要求2所述的方法,所述在所述第二虚拟机响应于所述通信请求检测所述标识信息通过的情况下,调用第一内存管理设备为所述第二虚拟机申请共享内存,包括:通过所述第二虚拟机接收所述通信请求,并解析所述通信请求获得所述第一宿主机标识和所述第二设备标识;针对所述第二虚拟机获取所述宿主机的第二宿主机标识,以及所述第一内存管理设备的第一设备标识;在所述第一宿主机标识和所述第二宿主机标识相同,且所述第二设备标识和所述第一设备标识不同的情况下,执行调用第一内存管理设备为所述第二虚拟机申请共享内存的步骤。4.根据权利要求1所述的方法,所述调用第一内存管理设备为所述第二虚拟机申请共享内存,并向所述第一虚拟机发送所述共享内存对应的内存信息,包括:调用所述第一内存管理设备为所述第二虚拟机申请所述共享内存,并接收所述第一内存管理设备针对所述第二虚拟机反馈的内存信息;通过所述第二虚拟机运行的通信协议栈将所述内存信息封装在内存申请消息中,并发送至所述第一虚拟机;相应的,所述基于所述内存信息调用第二内存管理设备,并通过所述第二内存管理设备为所述第一虚拟机注册所述共享内存,包括:通过所述第一虚拟机接收所述内存申请消息,在所述内存申请消息中提取所述内存信息;基于所述内存信息调用第二内存管理设备,并通过所述第二内存管理设备为所述第一虚拟机注册所述共享内存,并接收所述第二内存管理设备针对所述第一虚拟机反馈的注册结果。5.根据权利要求1所述的方法,所述基于所述内存信息调用第二内存管理设备,并通过所述第二内存管理设备为所述第一虚拟机注册所述共享内存步骤执行之后,还包括:调用所述第二内存管理设备为所述第一虚拟机申请目标共享内存,并向所述第二虚拟
机发送所述目标共享内存对应的目标内存信息;基于所述目标内存信息调用所述第一内存管理设备,并通过所述第一内存管理设备为所述第二虚拟机注册所述目标共享内存。6.根据权利要求1所述的方法,所述宿主机还配置有内存管理设备,所述内存管理设备用于与虚拟机管理程序和所述宿主机的操作系统交互,并通过虚拟化处理在所述第一虚拟...

【专利技术属性】
技术研发人员:刘奖李靖轩潘雪松张苗磊陆扬
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1