[发明专利]一种通信的方法及装置有效
申请号: | 201880002000.1 | 申请日: | 2018-02-24 |
公开(公告)号: | CN110402568B | 公开(公告)日: | 2020-10-09 |
发明(设计)人: | 肖露;魏明昌 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通信 方法 装置 | ||
本发明提出了一种数据传输方法以及实现该方法的装置。在当前的做法中,主机上的虚拟设备运行的应用程序之间通过远程直接内存访问进行通信时,需要进行多次虚拟化和数据转发,增加了数据传输所需要进行的步骤,从而产生了大量的网络开销和时延。针对当前做法所导致的效率低的问题,本发明中,虚拟设备上的应用程序申请共享内存,并利用该共享内存与其他的应用程序进行数据传输。通过这种做法,减少了虚拟设备上的应用程序之间进行数据传输所需要进行的步骤,降低了网络开销和时延,从而提高了系统的效率。
技术领域
本技术涉及网络通信领域,特别涉及一种云环境下的通信的方法和装置。
背景技术
随着网络虚拟化技术的高速发展,越来越多的应用程序(Application,APP)在虚拟机上运行。为了提高网络通信的效率,主机上的应用程序之间进行通信通常采用远程直接内存访问(英文全称:Remote Direct Memory Access,缩写:RDMA)的方式进行通信。RDMA是指通过网络把资料直接转入计算机的存储器,将数据从一个系统快速移动到远程系统的存储器中,而不对操作系统造成任何影响,从而解决了网络传输中主机端数据处理的延迟问题。当本端主机上的虚拟机运行的应用程序与远端的主机上的虚拟机运行的应用程序时,需要在本地虚拟机和远端的虚拟机上配置虚拟网段,然后桥接到物理网卡上,从而进行通信。
目前,主机上的虚拟机运行的应用程序之间通过RDMA进行通信,需要进行多次虚拟化和数据转发,增加了数据传输所需要进行的步骤,从而产生了大量的网络开销和时延,降低了系统的效率。
发明内容
本申请的实施例提供一种通信的方法,以增加虚拟机上运行的应用程序之间进行的数据传输效率。
第一方面,本申请提供了一种通信方法,该方法包括:第一共享代理监控第一共享内存,其中,该第一共享内存供第一应用程序使用,第一应用程序运行在第一虚拟设备中,第一虚拟设备位于第一主机中,而该第一共享内存属于第一主机的内存的一部分且不属于第一主机为第一虚拟设备指定的内存,第一主机中设置有独立于第一虚拟设备的第一共享代理;当确定第一共享内存中写入第一应用程序的数据后,第一共享代理从第一共享内存中读取该数据,并将该数据发送到第二应用程序,其中,第二应用程序为第一应用程序指定的数据共享方。通过这种做法,减少了虚拟设备上的应用程序之间进行数据传输所需要进行的步骤,降低了网络开销和时延,从而提高了系统的效率。
对于上述第一方面,一种可能的实现方式是,第一应用程序申请第一共享内存,并获得分配的第一共享内存;第一应用程序向共享管理中心注册第一应用程序的共享信息,第一应用程序的共享信息包括第一应用程序的标识、第一应用程序指定的数据共享方的标识以及第一共享内存的信息。通过这种做法,使得应用程序之间进行数据传输时,可以来检验相关应用程序是否有共享数据的权限,从而增加了系统的稳定性。
对于上述第一方面,另一种可能的实现方式是,当第一共享代理从第一共享内存中读取数据之前,第一共享代理根据第一应用程序的标识,向共享管理中心发送查询消息,接收共享管理中心发送的查询响应消息,该查询响应消息指示第一应用程序的数据共享方的信息,该数据共享方的信息包括第二应用程序的标识,则第一共享代理根据第二应用程序的标识,执行将数据发送到第二应用程序的步骤。通过这种方法,可以提高系统运行的效率。
对于上述第一方面,另一种可能的实现方式是,第一共享代理将数据发送到第二应用程序是通过远程直接内存访问的方式。通过这种方法,可以提高数据传输的速度,进而提高系统运行的效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880002000.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息为中心的网络中基于中心性的缓存
- 下一篇:设备的批量注册和配置