针对虚拟机的通信系统、针对虚拟机的通信方法及装置与流程

文档序号:35349715发布日期:2023-09-07 21:46阅读:31来源:国知局
针对虚拟机的通信系统、针对虚拟机的通信方法及装置与流程

本技术涉及金融科技领域或其他领域,具体而言,涉及一种针对虚拟机的通信系统、针对虚拟机的通信方法及装置。


背景技术:

1、在idv架构(intelligent desktop virtualization,智能桌面虚拟化)的云桌面系统中,由于虚拟机部署在用户的个人电脑上,因此,若虚拟机的宿主机不属于同一个子网,虚拟机之间则无法进行通信。而现有技术为了解决上述问题,通常通过在物理网络进行特殊配置来实现虚拟机之间的通信,例如通过配置组播路由协议实现虚拟机之间的通信。但是,由于配置组播路由协议会增加网络负载,导致处于不同子网的虚拟机之间进行通信时,出现网络性能降低的问题,从而导致通信效率较低。

2、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本技术提供了一种针对虚拟机的通信系统、针对虚拟机的通信方法及装置,以至少解决相关技术中在处于不同子网的客户端对应的虚拟机之间进行通信时,存在通信效率低的技术问题。

2、根据本技术的一个方面,提供了一种针对虚拟机的通信系统,包括:第一客户端,与第一虚拟机连接,用于获取所述第一虚拟机发送的第一通讯报文,并将所述第一通讯报文发送至服务端,其中,所述第一通讯报文为所述第一虚拟机与目标虚拟机之间的通讯报文,所述第一虚拟机对应的第一客户端与所述目标虚拟机对应的第二客户端处于不同的子网;所述服务端,用于接收所述第一通讯报文,并依据所述第一通讯报文构建第二通讯报文,将所述第二通讯报文发送至所述第二客户端,其中,所述第二通讯报文为所述第二客户端可接收到的二进制格式的封装报文;所述第二客户端,与所述目标虚拟机连接,用于接收所述第二通讯报文,并将所述第二通讯报文发送至所述目标虚拟机。

3、进一步地,所述第一客户端还包括:第一进程,用于监控所述第一虚拟机是否发送所述第一通讯报文,并在所述第一虚拟机发送所述第一通讯报文的情况下,获取所述第一通讯报文。

4、进一步地,所述第一进程还用于在获取所述第一通讯报文之后,对所述第一通讯报文进行报文解析,得到第一数据,并将所述第一数据发送至所述服务端,其中,所述第一数据至少包括所述第一虚拟机的mac地址信息和所述目标虚拟机的mac地址信息。

5、进一步地,所述第一进程还用于获取所述第一客户端的ip地址信息,并将所述ip地址信息以及所述第一数据发送至所述服务端。

6、进一步地,所述服务端还用于基于所述第一客户端的ip地址信息以及所述第一数据构建所述第二通讯报文。

7、进一步地,所述服务端还包括:数据库,用于存储m个客户端中每个客户端对应的ip地址信息以及所述每个客户端所处子网的网关地址信息,其中,所述每个客户端为在目标时刻处于开启状态的客户端,所述m个客户端中包括所述第一客户端以及所述第二客户端,所述目标时刻为所述第一客户端将所述第一通讯报文发送至所述服务端的时刻,m为正整数。

8、进一步地,所述服务端还用于从所述数据库中获取所述m个客户端中的n个第三客户端中每个第三客户端所处子网的网关地址信息,得到n个网关地址信息,并将所述n个网关地址信息划分为l个信息集合,将所述第二通讯报文发送至每个信息集合中的任意一个网关地址信息所对应的第三客户端,其中,所述n个第三客户端为所述m个客户端中除所述第一客户端之外的客户端,所述每个信息集合中包含相同的网关地址信息,所述每个信息集合对应一个子网,n、l为正整数,且n大于或等于l。

9、进一步地,所述服务端还用于监测所述每个客户端在所述目标时刻的状态是否为所述开启状态,在一个客户端的状态为关闭状态的情况,将该客户端对应的ip地址信息以及该客户端对应的网关地址信息从所述数据库中删除。

10、进一步地,所述第二客户端包括:第二进程,用于将所述第二通讯报文发送至与所述目标虚拟机相对应的第一隧道终端;所述第一隧道终端,用于接收所述第二通讯报文,并对所述第二通讯报文进行报文解析处理,得到所述第一数据,其中,所述第一隧道终端还用于依据所述第二通讯报文检测所述第二通讯报文中包含的目标虚拟机的mac地址信息与所述目标虚拟机的实际mac地址信息是否相同,并在所述mac地址信息与所述实际mac地址信息相同的情况下,将所述第一数据发送至所述目标虚拟机。

11、根据本技术的另一方面,还提供了一种针对虚拟机的通信方法,包括:通过服务端接收第一客户端发送的第一通讯报文,其中,所述第一通讯报文为第一虚拟机与目标虚拟机之间的通讯报文,所述第一虚拟机对应的第一客户端与所述目标虚拟机对应的第二客户端处于不同的子网,所述第一通讯报文由所述第一虚拟机发送至所述第一客户端;通过所述服务端依据所述第一通讯报文构建第二通讯报文,并将所述第二通讯报文发送至所述第二客户端,其中,所述第二客户端用于将所述第二通讯报文发送至所述目标虚拟机,所述第二通讯报文为所述第二客户端可接收到的二进制格式的封装报文。

12、进一步地,通过所述服务端依据所述第一通讯报文构建第二通讯报文,并将所述第二通讯报文发送至所述第二客户端,包括:通过所述服务端从数据库中获取m个客户端中的n个第三客户端中每个第三客户端所处子网的网关地址信息,得到n个网关地址信息,其中,所述数据库用于存储所述m个客户端中每个客户端对应的ip地址信息以及所述每个客户端所处子网的网关地址信息,所述每个客户端为在目标时刻处于开启状态的客户端,所述m个客户端中包括所述第一客户端以及所述第二客户端,所述目标时刻为所述第一客户端将所述第一通讯报文发送至所述服务端的时刻,所述n个第三客户端为所述m个客户端中除所述第一客户端之外的客户端,m、n为正整数;通过所述服务端将所述n个网关地址信息划分为l个信息集合,其中,每个信息集合中包含相同的网关地址信息,所述每个信息集合对应一个子网,l为正整数,且l小于或等于n;通过所述服务端将所述第二通讯报文发送至所述每个信息集合中的任意一个网关地址信息所对应的第三客户端。

13、根据本技术的另一方面,还提供了一种针对虚拟机的通信装置,包括:第一发送模块,用于通过服务端接收第一客户端发送的第一通讯报文,其中,所述第一通讯报文为第一虚拟机与目标虚拟机之间的通讯报文,所述第一虚拟机对应的第一客户端与所述目标虚拟机对应的第二客户端处于不同的子网,所述第一通讯报文由所述第一虚拟机发送至所述第一客户端;第二发送模块,用于通过所述服务端依据所述第一通讯报文构建第二通讯报文,并将所述第二通讯报文发送至所述第二客户端,其中,所述第二客户端用于将所述第二通讯报文发送至所述目标虚拟机,所述第二通讯报文为所述第二客户端可接收到的二进制格式的封装报文。

14、根据本技术的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的针对虚拟机的通信方法。

15、根据本技术的另一方面,还提供了一种电子设备,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的针对虚拟机的通信方法。

16、在本技术中,首先通过第一客户端,与第一虚拟机连接,用于获取所述第一虚拟机发送的第一通讯报文,并将所述第一通讯报文发送至服务端,其中,所述第一通讯报文为所述第一虚拟机与目标虚拟机之间的通讯报文,所述第一虚拟机对应的第一客户端与所述目标虚拟机对应的第二客户端处于不同的子网;然后通过所述服务端,用于接收所述第一通讯报文,并依据所述第一通讯报文构建第二通讯报文,将所述第二通讯报文发送至所述第二客户端,其中,所述第二通讯报文为所述第二客户端可接收到的二进制格式的封装报文;最后通过所述第二客户端,与所述目标虚拟机连接,用于接收所述第二通讯报文,并将所述第二通讯报文发送至所述目标虚拟机。

17、在上述过程中,通过增加服务端,能够在第一客户端和第二客户端处于不同子网,并且在第一客户端对应的第一虚拟机与第二客户端对应的目标虚拟机进行通信时,通过服务端接收并转发第一通讯报文,来实现第一虚拟机与目标虚拟机之间的通信,无需对物理网络进行特殊配置,即可在不影响物理网络性能的前提下实现第一虚拟机与目标虚拟机之间的通信,避免了由于物理网络性能较差导致通信效率低的问题,从而实现了提高通信效率的技术效果,进而解决了相关技术中在处于不同子网的客户端对应的虚拟机之间进行通信时,存在通信效率低的技术问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1