CN109496415B - 一种虚拟机访问远端加速设备方法及系统 - Google Patents
一种虚拟机访问远端加速设备方法及系统 Download PDFInfo
- Publication number
- CN109496415B CN109496415B CN201880002508.1A CN201880002508A CN109496415B CN 109496415 B CN109496415 B CN 109496415B CN 201880002508 A CN201880002508 A CN 201880002508A CN 109496415 B CN109496415 B CN 109496415B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- access
- resource
- acceleration
- remote acceleration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000001133 acceleration Effects 0.000 title claims abstract description 416
- 238000000034 method Methods 0.000 title claims description 38
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000004891 communication Methods 0.000 claims description 47
- 230000004044 response Effects 0.000 claims description 28
- 238000013507 mapping Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 2
- 238000002955 isolation Methods 0.000 abstract description 9
- 239000003795 chemical substances by application Substances 0.000 description 58
- 238000012217 deletion Methods 0.000 description 9
- 230000037430 deletion Effects 0.000 description 9
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种虚拟机访问远端加速设备的方法及系统,虚拟机访问其从远端加速系统中租用的资源时,虚拟机不与远端加速系统通过网络进行通信,而是将资源调用指令中的处理命令和加速资源的标识,转换为对所述虚拟机上的虚拟设备文件的访问请求,然后将访问请求发送给物理主机上的访问代理模块,由物理主机的访问代理模块将该待访问远端的加速资源的信息发送至所述远端加速系统。如此,可以实现不同虚拟机之间的网络隔离,降低了公有云场景中运行虚拟机的网络和加速资源的网络是不同的网络的网络管理负担,减小了虚拟机的网络安全风险。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种虚拟机访问远端加速设备的方法及系统。
背景技术
随着虚拟化和云计算的发展,物理主机通过对硬件资源虚拟化,在物理主机上部署虚拟机(Virtual Machine,VM),越来越多的业务被迁移到虚拟机上。随着客户应用和数据的暴发式增长,对计算能力的要求也越来越高,通用中央处理器(Central ProcessingUnit,CPU)的计算能力已经无法满足当前业务快速发展的高性能计算诉求。因此,能经济有效地获取高性能计算能力、可扩展性好、计算资源利用率高、发展潜力巨大的异构计算应运而生。图形处理器(Graphics Processing Unit,GPU)的功能不再局限于图像处理,发展成为ー个有着高计算峰值和内存带宽的高度并行处理器,用以加速计算,提高业务的计算能力。
目前,通过在远端部署用于提高租户的业务的计算能力的加速资源,例如GPU资源,支持虚拟机各种各样的GPU应用成为新的发展方向。在公有云场景中,运行客户端的网络和加速资源的网络是不同的网络。例如在远端部署GPU资源的公有云场景中,运行虚拟机的网络是公共的网络,运行加速资源的网络是私有的网络。远端随着租户的数量越来越多,如果租户直接访问加速资源的网络,网络管理复杂,增加了安全风险。因此,如何降低公有云场景中的网络管理负担,降低安全风险成为亟待解决的问题。
发明内容
本申请公开了一种虚拟机访问远端加速设备的方法、装置及云计算系统,实现了与远端加速系统进行通信的不同虚拟机之间的网络隔离,减小了虚拟机的网络安全风险。
第一方面,本申请实施例提供一种虚拟机访问远端加速设备的方法,所述虚拟机部署在物理主机上,所述物理主机上还部署有访问代理模块。所述方法包括:所述虚拟机获取对远端加速设备进行访问的资源调用指令,所述虚拟机将所述资源调用指令转换为对所述虚拟机上的虚拟设备文件的访问请求。所述虚拟机将所述访问请求传输到所述访问代理模块,所述访问代理模块通过自身与所述远端加速设备之间的通信连接,向所述远端加速设备发送所述访问请求。
在本申请实施例提供的虚拟机访问远端加速设备的方法中,所述物理主机上部署有访问代理模块,虚拟机访问其从远端加速系统中租用的加速资源时,将对远端加速设备进行访问的资源调用指令转换为对所述虚拟机上的虚拟设备文件的访问请求,将所述访问请求传输到所述访问代理模块,所述访问代理模块通过自身与所述远端加速设备之间的通信连接,向所述远端加速设备发送所述访问请求。在该方法中,虚拟机不与远端加速系统通过网络进行通信,而是将待访问远端的加速资源的资源调用指令转换为对所述虚拟机上的虚拟设备文件的访问请求,将所述访问请求传输到所述物理主机的访问代理模块,由物理主机的访问代理模块将发送访问请求至所述远端加速系统,通过物理主机的访问代理模块代理虚拟机与远端加速系统进行通信,以实现虚拟机业务的加速处理。如此,可以实现多个虚拟机之间的网络隔离,降低了公有云场景中运行虚拟机的网络和加速资源的网络是不同的网络的网络管理负担,减小了虚拟机的网络安全风险。
结合第一方面,在第一种实现方式中,所述虚拟机获取资源调用指令之前,所述方法还包括:所述虚拟机发送对所述远端加速设备的资源配置请求,所述访问代理模块获取资源配置请求的响应消息。所述响应消息携带由远端资源系统分配的所述远端加速设备的信息。所述远端加速设备的信息包括所述远端加速设备的标识和网络连接信息。所述虚拟机确定所述远端加速设备是否已经分配给自身,如果是,创建所述虚拟设备文件,所述虚拟设备文件与所述远端加速设备对应。
结合第一方面的第一种实现方式,在第二种实现方式中,所述虚拟机确定所述远端加速设备是否已经分配给自身包括:所述虚拟机定期向所述访问代理模块发起查询,确定所述远端加速设备是否已经分配给自身;或者,所述访问代理模块获取资源配置请求的响应消息之后,通知所述虚拟机所述远端加速设备已经分配。
结合第一方面的第一种或第二种实现方式,在第三种实现方式中,所述虚拟机获取资源调用指令之前,所述方法还包括:所述虚拟机向所述访问代理模块发送通道建立指令;所述访问代理模块接收到所述通道建立指令之后,根据所述远端加速设备的网络连接信息,建立自身与所述远端加速设备的通信连接。
结合第一方面或第一方面的第一种至第三种实现方式中的任一种实现方式,在第四种实现方式中,所述虚拟机获取资源调用指令之前,所述方法还包括:所述虚拟机与所述访问代理模块之间建立通信连接。
结合第一方面的第四种实现方式,在第五种实现方式中,所述虚拟机与所述访问代理模块之间建立通信连接包括:获得所述物理主机上的一部分存储空间,所述存储空间由所述虚拟机与所述访问代理模块共享使用;则,所述虚拟机将所述访问请求传输到所述访问代理模块包括:所述虚拟机将所述访问请求写入到所述存储空间,所述访问代理模块从所述存储空间读取所述访问请求。
第二方面,提供一种计算机系统,所述计算机系统包括:虚拟机和访问代理模块,所述虚拟机和所述访问代理模块部署在物理主机上,所述虚拟机部署在所述物理主机上,所述物理主机上还部署有访问代理模块,所述虚拟机,用于获取对远端加速设备的资源调用指令,将所述资源调用指令转换为对所述虚拟机上的虚拟设备文件的访问请求,将所述访问请求传输到所述访问代理模块;所述访问代理模块,用于通过自身与所述远端加速设备之间的通信连接,向所述远端加速设备发送所述访问请求。
结合第二方面,在第一种实现方式中,所述虚拟机,还用于发送对所述远端加速设备的资源配置请求;所述访问代理模块,还用于获取资源配置请求的响应消息,所述响应消息携带由远端加速系统分配的所述远端加速设备的信息,所述远端加速设备的信息包括所述远端加速设备的标识和网络连接信息;所述虚拟机,还用于确定所述远端加速设备是否已经分配给自身,如果是,创建所述虚拟设备文件,所述虚拟设备文件与所述远端加速设备对应。
结合第二方面的第一种实现方式,在第二种实现方式中,所述虚拟机,还用于定期向所述访问代理模块发起查询,确定所述远端加速设备是否已经分配给自身。
结合第二方面的第一种实现方式,在第三种实现方式中,所述访问代理模块,还用于获取资源配置请求的响应消息之后,通知所述虚拟机所述远端加速设备已经分配。
结合第二方面的第二种或第三种实现方式,在第四种实现方式中,所述虚拟机,还用于向所述访问代理模块发送通道建立指令;所述访问代理模块,还用于接收到所述通道建立指令之后,根据所述远端加速设备的网络连接信息,建立自身与所述远端加速设备的通信连接。
结合第二方面或第二方面的第一种至第四种实现方式中的任一种实现方式,在第五种实现方式中,所述虚拟机,还用于在所述虚拟机与所述访问代理模块之间建立通信连接。
结合第二方面的第五种实现方式,在第六种实现方式中,所述虚拟机,还用于获得所述物理主机上的一部分存储空间,所述存储空间由所述虚拟机与所述访问代理模块共享使用;所述虚拟机,还用于所述虚拟机将所述访问请求写入到所述存储空间;所述访问代理模块,还用于从所述存储空间读取所述访问请求。
第三方面,提供一种计算机可读存储介质,、所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行上述第一方面的任一所述的方法。
在本申请实施例提供的虚拟机访问远端加速设备的方法中,虚拟机访问其从远端加速系统中租用的加速资源时,虚拟机不与远端加速系统通过网络进行通信,而是将待访问远端的加速资源的信息(例如所述处理命令和所述加速资源的标识)发送给物理主机,由物理主机将该待访问远端的加速资源的信息发送至所述远端加速系统。如此,可以远端实现多个虚拟机之间的网络隔离,降低了公有云场景中运行虚拟机的网络和加速资源的网络是不同的网络的网络管理负担,减小了虚拟机的网络安全风险。
附图说明
图1a为本申请实施例涉及云计算系统100的一种结构示意图;
图1b为本申请实施例涉及云计算系统100的另一结构示意图;
图2为本申请实施例提供的一种虚拟机访问远端加速设备的方法的流程示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
请参见图1a,图1a为本申请实施例涉及一种云计算系统100的结构示意图。所述云计算系统100包括远端加速系统110、管理节点120和至少一个物理主机,例如物理主机130a和物理主机130b。在所述云计算系统100中,管理节点120用于管理远端加速系统110中部署的加速资源。物理主机使用物理主机的网卡与远端加速系统110通过网络进行通信。物理主机对物理主机的硬件资源虚拟化,创建至少一个或多个虚拟机。物理主机上部署的所述一个或多个虚拟机可以租用远端加速系统110中部署的加速资源。所述远端加速系统110用于为虚拟机提供加速资源,以通过所述加速资源对虚拟机的待加速处理的业务进行加速处理。
物理主机作为其上部署的虚拟机的宿主机,内部运行有主机操作系统。在图1a所示的云计算系统100中,物理主机可以是服务器、电脑或通信终端等计算设备。物理主机上部署的每个虚拟机运行有独立于所述主机操作系统的另一操作系统。每个虚拟机相当于一个小型计算机。
在所述远端加速系统110中部署有加速资源池,加速资源池包括若干加速资源,例如图1a所示的加速资源111、加速资源112和加速资源113。在所述远端加速系统110中,所述加速资源可以是实体加速资源,也可以是虚拟加速资源。实体加速资源可以是部署在远端加速系统110中的硬件加速装置。虚拟加速资源可以是远端加速系统110或管理节点120将硬件加速资源进行虚拟化之后,创建的虚拟化加速资源。
本申请将远端加速系统中的加速资源还可以称为远端加速设备,远端加速设备可由若干硬件加速装置组成,硬件加速装置可以用但不限于图形处理器(GraphicsProcessing Unit,GPU)或现场可编程门阵列(Field-Programmable Gate Array,FPGA)或专用定制芯片(ASIC Application Specific Integrated Circuit,ASIC)等装置实现。远端加速设备也可以指硬件设备被虚拟化后的虚拟设备。请参见图1b,图1b为本申请实施例涉及云计算系统100的另一结构示意图。如图1b所示,用户通过虚拟机访问远端加速设备之前,预先通过客户端,例如与虚拟机130a1、虚拟机130a2和虚拟机130b一一对应的客户端C1、客户端C2和客户端C3,向管理节点120发起配置所述虚拟机待访问远端加速设备的加速资源的申请,管理节点120对远端的加速资源进行虚拟化,将部署在远端的至少部分加速资源配置给虚拟机使用。该客户端可以是部署在虚拟机或其他物理主机上的客户端,具体可以是部署在虚拟机或其他物理主机上的应用管理软件。例如具体实现时,用户在虚拟机部署的客户端中输入所述虚拟机的用户需要租用的加速资源的类型和数量,由虚拟机向管理节点120发送对所述远端加速设备的资源配置请求。管理节点120接收到客户端发送的包括加速资源的类型和数量的加速资源的资源配置请求后,发送资源配置请求至远端加速系统110,由远端加速系统110为虚拟机配置与加速资源的类型和数量对应的加速资源。在远端加速系统110为虚拟机配置完与加速资源的类型和数量对应的加速资源后,管理节点120将远端加速系统110为虚拟机配置的该加速资源映射给所述虚拟机。
管理节点120将远端加速系统110为虚拟机配置的该加速资源映射给所述虚拟机时,管理节点120发送所述资源配置请求的响应消息至虚拟机所在的物理主机,物理主机的访问代理模块获取所述资源配置请求的响应消息,所述响应消息携带由远端加速系统110响应虚拟机发送的资源配置请求而发送给所述虚拟机的所述远端加速设备的信息,所述远端加速设备的信息包括待访问的所述远端加速设备的标识和网络连接信息。所述远端加速设备的标识可以包括若干硬件加速装置分别对应的标识。所述若干硬件加速装置为远端加速系统110响应虚拟机发送的资源配置请求而为所述虚拟机配置的加速资源。物理主机获取所述资源配置请求的响应消息后,所述虚拟机确定所述远端加速设备是否已经分配给自身,如果是,创建虚拟设备文件,所述虚拟设备文件与所述远端加速设备对应。所述虚拟机确定所述远端加速设备是否已经分配给自身包括:所述虚拟机定期向所述物理主机的访问代理模块发起查询,确定所述远端加速设备是否已经分配给自身;或者,所述物理主机的访问代理模块获取资源配置请求的响应消息之后,通知所述虚拟机所述远端加速设备已经分配。
如果虚拟机有访问远端的加速资源的需求,所述虚拟机向所述访问代理模块发送通道建立指令,以及所述虚拟机与所述访问代理模块之间建立通信连接。所述访问代理模块接收到所述通道建立指令之后,根据所述远端加速设备的网络连接信息,建立自身与所述远端加速设备的通信连接。在本实施方式中,所述虚拟机与所述访问代理模块之间建立通信连接包括:所述虚拟机获得所述物理主机上的一部分存储空间,所述存储空间由所述虚拟机与所述访问代理模块共享使用。在一种实现方式中,该存储空间可以是虚拟机与所述物理主机之间预定义的与映射的加速资源对应的存储空间。虚拟机创建的虚拟设备文件可以用于保存所述加速资源的标识和所述存储空间的对应关系。虚拟机可以保存所述加速资源的标识和虚拟设备文件的对应关系,以便后续使用所述加速资源的标识和所述存储空间的对应关系时,可以根据所述加速资源的标识和所述虚拟设备文件的对应关系查找到所述虚拟设备文件,进而查找到所述加速资源的标识和所述存储空间的对应关系。在本实施方式中,所述加速资源的标识和所述存储空间的对应关系,可以是加速资源的标识和所述存储空间的地址的对应关系。
虚拟机访问远端的加速资源时,所述虚拟机获取对远端加速设备的资源调用指令,所述资源调用指令包括虚拟机在从远端加速系统110中租用的若干加速资源中,确定的待访问的加速资源的标识和处理命令,待访问的加速资源的标识包括待访问的远端加速设备的标识。所述虚拟机将所述资源调用指令转换为对所述虚拟机上的虚拟设备文件的访问请求。如图1b所示,每个虚拟机包括与远端加速设备对应的远端加速设备的虚拟设备文件,例如虚拟机130a1包括与加速资源111对应的第一虚拟设备文件M10。所述虚拟设备文件用于将虚拟机租用的部署在远端加速系统110中的所述加速资源映射为本地的加速资源。如此,虚拟机获取对远端加速设备的资源调用指令后,将所述资源调用指令转换为对所述虚拟机上的虚拟设备文件的访问请求,以访问远端加速系统110中的所述加速资源映射在虚拟机本地的加速资源。
所述虚拟机将所述访问请求传输到所述物理主机上的访问代理模块,由所述物理主机中的所述访问代理模块通过自身与所述远端加速设备之间的通信连接,向所述远端加速设备发送所述访问请求。所述访问请求包括虚拟机在从远端加速系统110中租用的若干加速资源中,确定的待访问的加速资源的标识和处理命令。具体的,如图1b所示,每个物理主机上包括网卡,并且部署有与所述远端加速设备对应的访问代理模块,例如虚拟机130a1所在的物理主机130a包括网卡W1和与所述加速资源111对应的访问代理模块D10。所述访问代理模块用于代理虚拟机访问虚拟机租用的部署在远端加速系统110中的加速资源。所述访问代理模块通过所述物理主机的网卡发送所述处理命令和所述加速资源的标识至远端加速系统110发送该加速资源的标识和处理命令至物理主机,物理主机代理所述虚拟机,将该加速资源的标识和处理命令发送至所述远端加速系统110。远端加速系统110接收到访问请求中的该加速资源的标识和处理命令后,通知与该加速资源的标识对应的所述加速资源执行所述处理命令,以通过用户租用的加速资源向虚拟机提供加速计算服务。所述远端加速系统110通过所述远端加速系统110与物理主机之间的网络将所述加速资源处理所述处理命令的结果返回至所述物理主机,由所述物理主机返回所述加速资源处理所述处理命令的结果至所述虚拟机,以实现虚拟机通过物理主机的访问代理模块代理访问远端加速设备,提高虚拟机的业务计算能力的目的。本实施方式中通过虚拟机访问远端的加速资源映射在本地的虚拟设备文件,由物理主机代理所述虚拟机访问远端加速设备实现不同虚拟机之间的网络隔离,降低公有云场景中运行虚拟机的网络和加速资源的网络是不同的网络的网络管理负担。
在一种实施方式中,所述虚拟机发送所述访问请求中的处理命令和加速资源的标识的实现方式为,虚拟机可以保存所述访问请求中的处理命令和加速资源的标识至所述存储空间,并向所述访问代理模块发送包括所述加速资源的标识的通知,以便访问代理模块根据预定义的所述加速资源的标识和所述存储空间的对应关系从所述存储空间中获取所述访问请求中的处理命令和加速资源的标识。
在其他实施方式中,所述虚拟机可以向所述访问代理模块发送包括所述存储空间的地址的通知至所述访问代理模块。如此,所述访问代理模块可以不用根据预定义的所述加速资源的标识和所述存储空间的对应关系从所述存储空间中获取所述访问请求中的处理命令和加速资源的标识,而是根据所述存储空间的地址从所述存储空间中获取所述访问请求中的所述处理命令和所述加速资源的标识。
在其他实施方式中,如果所述虚拟机向所述访问代理模块发送包括所述加速资源的标识的通知,所述虚拟机可以不用通过保存所述访问请求中的加速资源的标识至所述存储空间,以节省所述存储空间的存储容量,提高所述存储空间的使用率。在其他实施方式中,如果所述虚拟机向所述访问代理模块发送包括所述存储空间的地址的通知,所述虚拟机可以通过保存所述访问请求中的加速资源的标识至所述存储空间,以实现向所述访问代理模块发送所述访问请求中的加速资源的标识。
具体的,如图1b所示,以两个物理主机,一个物理主机上部署两个虚拟机,另一个物理主机上部署一个虚拟机,每个物理主机中的任一个虚拟机租用一个加速资源,另一虚拟机租用两个加速资源为例说明本申请实施例提供的云计算系统100。所述两个物理主机分别是物理主机130a和130b,物理主机130a上的两个虚拟机是虚拟机130a1和虚拟机130a2,物理主机130b上的虚拟机是虚拟机130b1。所述物理主机130a上的虚拟机130a1租用了部署在远端加速系统110中的两个加速资源,分别是加速资源111和加速资源112,物理主机130a上的虚拟机130a1创建有与所述两个加速资源111和加速资源112一一对应的两个虚拟设备文件,分别是第一虚拟设备文件M10和第二虚拟设备文件M20。物理主机130a上的虚拟机130a2租用了部署在远端加速系统110中的一个加速资源,为加速资源113,物理主机130a上的虚拟机130a2创建有与加速资源113对应的一个虚拟设备文件,为第三虚拟设备文件M30。以及,物理主机130b上的虚拟机130b1租用了部署在远端加速系统110中的一个加速资源,为加速资源114,物理主机130b上的虚拟机130b1包括与加速资源114对应的一个虚拟设备文件,是第四虚拟设备文件M40。物理主机130a包括网卡W1和三个访问代理模块,分别是访问代理模块D10、访问代理模块D20和访问代理模块D30,物理主机130b包括网卡W2和一个访问代理模块D40。图1b所示的每个访问代理模块可以加载至所述访问代理模块所属的物理主机的主机操作系统中,在所述主机操作系统中运行。在其他实现方式中,访问代理模块也可以运行在虚拟机监视器中或VMware提供的虚拟化平台上。
在图1b所示的云计算系统100中,所述第一虚拟设备文件M10用于将虚拟机130a1租用的部署在远端加速系统110中的所述加速资源111映射为本地的加速资源。所述虚拟机130a1将对远端加速设备的所述资源调用指令转换为对所述虚拟机上的虚拟设备文件的访问请求,通过所述第一虚拟设备文件M10请求访问所述加速资源。所述虚拟机130a1发送访问请求至所述访问代理模块D10,所述访问请求包括处理命令和加速资源111的标识,所述访问代理模块D10通过所述物理主机130a的网卡W1发送所述处理命令和所述加速资源111的标识至远端加速系统110。
在图1b所示的云计算系统100中,除所述第一虚拟设备文件M10之外的其他虚拟设备文件,例如第二虚拟设备文件M20或第三虚拟设备文件M30或第四虚拟设备文件M40,与所述第一虚拟设备文件M10的作用相同,用于将第二虚拟设备文件M20或第三虚拟设备文件M30或第四虚拟设备文件M40各自所属的虚拟机租用的加速资源映射为本地的加速资源。所述虚拟机通过虚拟设备文件,例如第二虚拟设备文件M20或第三虚拟设备文件M30或第四虚拟设备文件M40,请求访问虚拟设备文件映射的本地的加速资源后,将对远端加速设备的所述资源调用指令转换为对虚拟设备文件的访问请求,发送访问请求至与虚拟设备文件对应的访问代理模块,所述访问代理模块通过访问代理模块所在的所述物理主机的网卡发送所述处理命令和所述加速资源的标识至远端加速系统110,以实现所述虚拟机的业务的加速处理。
在本申请实施例提供的云计算系统100中,虚拟机访问其从远端加速系统110中租用的加速资源时,虚拟机不与远端加速系统110通过网络进行通信,而是将待访问远端的加速资源的信息,例如资源调用指令中的处理命令和加速资源的标识,转换为对所述虚拟机上的虚拟设备文件的访问请求,然后将访问请求发送给物理主机上的访问代理模块,由物理主机的访问代理模块将该待访问远端的加速资源的信息发送至所述远端加速系统110。如此,可以实现不同虚拟机之间的网络隔离,降低了公有云场景中运行虚拟机的网络和加速资源的网络是不同的网络的网络管理负担,减小了虚拟机的网络安全风险。
下面结合图1b所示的云计算系统100的结构,对本申请实施例中的虚拟机访问远端加速设备的方法进行详细描述。
请参见图2,图2为本申请实施例提供的一种虚拟机访问远端加速设备的方法的流程示意图。该方法应用于图1b所示的云计算系统100,包括步骤200-260。其中,步骤200-220可由用于管理云加速系统的管理节点120执行,步骤230、240可由虚拟机执行,步骤250可由物理主机执行,步骤260可由远端加速系统110执行。该方法可参考如下步骤200-260实现:
200、管理节点120接收用户通过客户端发送的加速资源的资源配置请求。客户端例如图1b中所示的客户端C1。
用户在虚拟机部署的客户端中输入所述虚拟机租户需要租用的加速资源的类型和数量。
210、管理节点120发送资源配置请求至远端加速系统110,所述资源配置请求包括所述虚拟机的标识和所述虚拟机需要租用的加速资源的类型和数量。
远端加速系统110接收到资源配置请求后,为虚拟机配置与加速资源的类型和数量对应的加速资源,返回配置成功消息至所述管理节点120。管理节点120接收到配置成功消息后,创建加速资源的标识,保存所述虚拟机的标识和所述加速资源的标识之间的对应关系。
管理节点120接收到所述配置成功消息后,管理节点120将远端加速系统110为虚拟机配置的该加速资源映射给所述虚拟机,具体实现可以参见如下步骤220。
220、管理节点120映射加速资源给所述虚拟机。
在远端加速系统110为虚拟机配置完与加速资源的类型和数量对应的加速资源后,所述管理节点120将该加速资源映射给所述虚拟机,具体实现方式为,管理节点120发送所述资源配置请求的响应消息至虚拟机所在的物理主机,物理主机的访问代理模块获取所述资源配置请求的响应消息,所述响应消息携带由远端加速系统110响应虚拟机发送的资源配置请求而发送给所述虚拟机的所述远端加速设备的信息,所述远端加速设备的信息包括待访问的所述远端加速设备的标识和网络连接信息。
所述远端加速设备的标识可以包括若干硬件加速装置分别对应的标识。所述若干硬件加速装置为远端加速系统110响应虚拟机发送的资源配置请求而为所述虚拟机配置的加速资源。所述网络连接信息用于所述物理主机与所述远端加速系统110之间建立网络连接。
所述网络连接信息包括所述远端加速系统110的网络地址和网络端口号。所述远端加速系统110的网络地址是符合网络通讯协议的网络地址,具体可以是符合因特网互联协议(Internet Protocol,IP)的IP地址或媒体访问控制(MAC,Media Access Control)地址。MAC地址用于在网络中唯一标示一个网卡。
物理主机获取所述资源配置请求的响应消息后,所述虚拟机确定所述远端加速设备是否已经分配给自身,如果是,创建虚拟设备文件,所述虚拟设备文件与所述远端加速设备对应。所述虚拟机确定所述远端加速设备是否已经分配给自身包括:所述虚拟机定期向所述物理主机的访问代理模块发起查询,确定所述远端加速设备是否已经分配给自身;或者,所述物理主机的访问代理模块获取资源配置请求的响应消息之后,通知所述虚拟机所述远端加速设备已经分配。
在本申请实施例提供的虚拟机访问远端加速设备的方法中,虚拟机访问其从远端加速系统110中租用的加速资源时,虚拟机不与远端加速系统110通过网络进行通信,而是而是将待访问远端的加速资源的信息,例如资源调用指令中的处理命令和加速资源的标识,转换为对所述虚拟机上的虚拟设备文件的访问请求,然后将访问请求发送给物理主机上的访问代理模块,由物理主机的访问代理模块将该待访问远端的加速资源的信息发送至所述远端加速系统110。如此,通过物理主机代理虚拟机访问远端的加速资源,远端实现了多个虚拟机之间的网络隔离,减小了虚拟机的网络安全风险。
将加速资源分配给所述虚拟机以后,如果用户需要访问远端的加速资源,顺序执行如下步骤230-270,以实现用户通过虚拟机访问远端的加速资源。
230、虚拟机接收用户通过部署在虚拟机上的客户端发送的资源调用指令。所述资源调用指令包括加速资源的标识和处理命令,所述加速资源为所述远端加速系统110提供给所述虚拟机使用的加速资源。所述处理命令用于指示与该加速资源的标识对应的加速资源执行加速计算处理。
240、虚拟机将所述资源调用指令转换为对所述虚拟机上的虚拟设备文件的访问请求。
如图1b所示,每个虚拟机包括与远端加速设备对应的远端加速设备的虚拟设备文件,例如虚拟机130a1包括与加速资源111对应的第一虚拟设备文件M10。所述虚拟设备文件用于将虚拟机租用的部署在远端加速系统110中的所述加速资源映射为本地的加速资源。如此,虚拟机获取对远端加速设备的资源调用指令后,将所述资源调用指令转换为对所述虚拟机上的虚拟设备文件的访问请求,以访问远端加速系统110中的所述加速资源映射在虚拟机本地的加速资源。
250、所述虚拟机将所述访问请求传输到所述物理主机上的访问代理模块。所述访问请求包括虚拟机在从远端加速系统110中租用的若干加速资源中,确定的待访问的加速资源的标识和处理命令。
在一种实施方式中,所述虚拟机发送所述访问请求中的处理命令和加速资源的标识的实现方式为,虚拟机可以保存所述访问请求中的处理命令和加速资源的标识至所述存储空间,并向所述访问代理模块发送包括所述加速资源的标识的通知,以便访问代理模块根据预定义的所述加速资源的标识和所述存储空间的对应关系从所述存储空间中获取所述访问请求中的处理命令和加速资源的标识。
在其他实施方式中,所述虚拟机可以向所述访问代理模块发送包括所述存储空间的地址的通知至所述访问代理模块。如此,所述访问代理模块可以不用根据预定义的所述加速资源的标识和所述存储空间的对应关系从所述存储空间中获取所述访问请求中的处理命令和加速资源的标识,而是根据所述存储空间的地址从所述存储空间中获取所述访问请求中的所述处理命令和所述加速资源的标识。
在其他实施方式中,如果所述虚拟机向所述访问代理模块发送包括所述加速资源的标识的通知,所述虚拟机可以不用通过保存所述访问请求中的加速资源的标识至所述存储空间,以节省所述存储空间的存储容量,提高所述存储空间的使用率。在其他实施方式中,如果所述虚拟机向所述访问代理模块发送包括所述存储空间的地址的通知,所述虚拟机可以通过保存所述访问请求中的加速资源的标识至所述存储空间,以实现向所述访问代理模块发送所述访问请求中的加速资源的标识。
虚拟机发送处理命令至物理主机之前,或虚拟机发送处理命令和加速资源的标识至物理主机之前,所述虚拟机需要先确认所述虚拟机和所述物理主机共享的所述存储空间。虚拟机确认所述虚拟机和所述物理主机共享的所述存储空间有两种实现方式,第一种实现方式为:虚拟机根据预先保存的所述加速资源的标识和所述存储空间的对应关系,确认所述存储空间。在该实现方式中,所述加速资源的标识和所述存储空间的对应关系,可以是加速资源的标识和所述存储空间的地址的对应关系。第二种实现方式为:虚拟机根据所述加速资源的标识查找与所述加速资源的标识对应的虚拟设备文件,所述虚拟设备文件用于保存所述加速资源的标识与存储空间的对应关系。所述虚拟机根据虚拟设备文件中保存的所述加速资源的标识与所述存储空间的对应关系,确认与所述加速资源的标识对应的所述存储空间。
260、所述物理主机中的所述访问代理模块通过自身与所述远端加速设备之间的通信连接,向所述远端加速设备发送所述访问请求。
所述物理主机中的所述访问代理模块通过自身与所述远端加速设备之间的通信连接,向所述远端加速设备发送所述访问请求,包括:
所述物理主机封装所述访问请求中的所述加速资源的标识和所述处理命令,获得访问加速资源的请求,所述访问加速资源的请求包括所述加速资源的标识和所述处理命令。所述物理主机将所述访问加速资源的请求发送给所述远端加速系统110。
所述物理主机发送的所述访问加速资源的请求包含在数据包中,所述数据包还包括所述网络连接信息。
270、所述远端加速系统110根据所述加速资源的标识,将所述处理命令发送给与所述加速资源的标识对应的加速资源处理。
在本申请实施例提供的虚拟机访问远端加速设备的方法中,虚拟机访问其从远端加速系统110中租用的加速资源时,虚拟机不与远端加速系统110通过网络进行通信,而是将待访问远端的加速资源的信息,例如资源调用指令中的处理命令和加速资源的标识,转换为对所述虚拟机上的虚拟设备文件的访问请求,然后将访问请求发送给物理主机上的访问代理模块,由物理主机将该待访问远端的加速资源的信息发送至所述远端加速系统110。如此,可以实现不同虚拟机之间的网络隔离。由于本申请实施例可以实现多个虚拟机之间的网络隔离,如果接入该网络的一些虚拟机遭到网络攻击,可以避免与被攻击的虚拟机接入同一网络的其他处于正常工作的虚拟机通过该网络被攻击,减小了虚拟机的网络安全风险。
基于上述图2所示的虚拟机访问远端加速设备的方法,在步骤230之前,虚拟机向所述访问代理模块发送通道建立指令,以及所述虚拟机与所述访问代理模块之间建立通信连接。所述访问代理模块接收到所述通道建立指令之后,根据所述远端加速设备的网络连接信息,建立自身与所述远端加速设备的通信连接。在本实施方式中,所述虚拟机与所述访问代理模块之间建立通信连接包括:所述虚拟机获得所述物理主机上的一部分存储空间,所述存储空间由所述虚拟机与所述访问代理模块共享使用。在一种实现方式中,该存储空间可以是虚拟机与所述物理主机之间预定义的与映射的加速资源对应的存储空间。虚拟机创建的虚拟设备文件可以用于保存所述加速资源的标识和所述存储空间的对应关系。虚拟机可以保存所述加速资源的标识和虚拟设备文件的对应关系,以便后续使用所述加速资源的标识和所述存储空间的对应关系时,可以根据所述加速资源的标识和所述虚拟设备文件的对应关系查找到所述虚拟设备文件,进而查找到所述加速资源的标识和所述存储空间的对应关系。在本实施方式中,所述加速资源的标识和所述存储空间的对应关系,可以是加速资源的标识和所述存储空间的地址的对应关系。
基于上述图2所示的虚拟机访问远端加速设备的方法,在步骤220中,物理主机获取所述资源配置请求的响应消息后,所述虚拟机确定所述远端加速设备是否已经分配给自身,如果是,创建虚拟设备文件。虚拟机创建所述虚拟设备文件之后,可以将所述加速资源的属性信息保存至所述虚拟设备文件。所述资源配置请求的响应消息包括所述加速资源的属性信息。如此,所述虚拟机后续有查找所述加速资源的属性信息的需求时,可以通过所述虚拟设备文件查找到所述加速资源的属性信息。
利用虚拟设备文件保存所述加速资源的属性信息后,所述虚拟机查找所述加速资源的属性信息的具体实现方式为:所述虚拟机接收属性查询请求,所述属性查询请求包括所述加速资源的标识。所述虚拟机根据所述加速资源的标识查询所述虚拟设备文件,获取所述加速资源的属性信息。所述物理加速资源的属性信息包括组成所述物理加速资源的加速硬件的属性信息,所述加速硬件的属性信息包括所述加速硬件的类型、标识或使用状态。
所述访问代理模块接收到所述远端加速设备的信息中的加速资源的标识和所述网络连接信息后,会保存保存所述网络连接信息和所述加速资源的标识的对应关系。所述物理主机保存所述网络连接信息和所述加速资源的标识的对应关系,包括:所述物理主机创建所述加速资源在所述物理主机上映射的网络设备文件,保存所述网络连接信息至所述网络设备文件,以及保存所述加速资源的标识和所述网络设备文件的对应关系。
所述虚拟机向所述访问代理模块发送通道建立指令,通道建立指令包括加速资源的标识,所述物理主机根据所述加速资源的标识查找所述网络连接信息,根据所述网络连接信息与所述远端加速系统110建立通信连接关系。如果通过网络设备文件保存所述网络连接信息,所述物理主机根据所述加速资源的标识查找所述网络连接信息,包括:所述物理主机根据所述加速资源的标识查找所述网络设备文件,获取所述网络连接信息。
在上述步骤220之后,即管理节点120映射加速资源给所述虚拟机后,如果虚拟机用户有删除加速资源的需求,会通过客户端指示管理节点120删除加速资源。客户端用户登录客户端后,可以通过客户端界面呈现的虚拟机对应的加速资源的信息,确定待删除的加速资源。虚拟机对应的加速资源的信息包括已为虚拟机分配的加速资源的标识和/或加速资源的数量和/或加速资源的类型。客户端用户根据虚拟机对应的加速资源的信息输入待删除的加速资源的删除请求,客户端接收到所述待删除的加速资源的删除请求后,发送加速资源删除指令至管理节点120。管理节点120接收客户端发送的加速资源删除指令,对虚拟机用户需要删除的加速资源进行删除。加速资源删除指令包括虚拟机的标识和待删除的加速资源的标识。在其他实现方式中,所述加速资源删除指令还可以包括待删除的加速资源的数量和/或加速资源的类型。
管理节点120删除加速资源的实现方式为:管理节点120根据所述加速资源删除指令删除虚拟机的标识和待删除的加速资源的标识的对应关系。
管理节点120接收客户端发送的加速资源删除指令后,还可以指示虚拟机断开所述虚拟机访问远端加速系统110中的待删除的加速资源时所建立的的所述虚拟机与所述访问代理模块之间的通信连接。所述管理节点120指示虚拟机断开所述虚拟机访问远端加速系统110中的待删除的加速资源时所述虚拟机与所述访问代理模块之间的通信连接的具体实现方式为,所述管理节点120发送通信通道断开指令至所述物理主机。所述通信通道断开指令包括所述虚拟机的标识和待删除的所述加速资源的标识。所述物理主机接收到所述通信通道断开指令后,发送所述通信通道断开指令至所述虚拟机,由所述虚拟机断开所述虚拟机访问所述远端加速系统110中的待删除的加速资源时所使用的所述虚拟机与所述访问代理模块之间的通信连接。所述虚拟机断开所述虚拟机与所述访问代理模块之间的通信连接时,将待删除的所述加速资源的标识和所述存储空间的地址之间的映射关系删除。如此,所述虚拟机将无法利用所述虚拟机和所述物理主机的访问代理模块之间的通信连接,即无法通过使用所述物理主机和所述虚拟机之间共享的与待删除的所述加速资源的标识对应的所述存储空间访问待删除的所述加速资源。
在一种具体实现方式中,如果待删除的所述加速资源的标识和所述存储空间的地址的映射关系保存在所述虚拟设备文件中,所述虚拟机接收到所述物理主机发送的所述映射关系删除指令后,可以通过将待删除的所述加速资源的标识对应的虚拟设备文件删除,以删除所述虚拟设备文件中的待删除的所述加速资源的标识和所述存储空间的地址的映射关系。
虚拟机断开所述虚拟机和所述物理主机的访问代理模块之间的通信连接后,可以向所述物理主机发送通信通道断开信息,所述通信通道断开信息用于指示所述物理主机删除网络设备文件,以指示所述物理主机断开虚拟机访问远端加速系统110中的加速资源时所使用的所述物理主机与所述远端加速系统110之间的通信连接。
在其他实现方式中,物理主机可以在接收到管理节点120发送的通信通道断开指令后,删除网络设备文件,而无需等待所述虚拟机向所述物理主机发送通信通道断开信息后,再删除所述网络设备文件。
在其他实现方式中,虚拟机断开所述虚拟机访问远端加速系统110中的待删除的加速资源时所使用的通信通道时,可以断开与待删除的所述加速资源对应的所述虚拟机与所述物理主机的访问代理模块之间的通信连接,以及与待删除的所述加速资源对应的所述物理主机与所述远端加速系统110之间的通信连接组成的两个通信连接中的任一个或两个通信连接。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的保护范围。
Claims (18)
1.一种虚拟机访问远端加速设备的方法,其特征在于,所述虚拟机部署在物理主机上,所述物理主机上还部署有访问代理模块,所述方法包括:
所述虚拟机获取对远端加速设备的资源调用指令;
所述虚拟机将所述资源调用指令转换为对所述虚拟机的虚拟设备文件的访问请求,其中,所述访问请求中包括所述资源调用指令携带的所述远端加速设备的标识,所述虚拟设备文件用于将所述虚拟机租用的远端加速资源映射为本地的加速资源;
所述虚拟机将所述访问请求传输到所述访问代理模块;
所述访问代理模块获取所述访问请求中的所述远端加速设备的标识,并通过自身与所述远端加速设备之间的通信连接,向所述远端加速设备发送所述访问请求。
2.如权利要求1所述的方法,其特征在于,所述虚拟机获取资源调用指令之前,所述方法还包括:
所述虚拟机发送对所述远端加速设备的资源配置请求;
所述访问代理模块获取资源配置请求的响应消息,所述响应消息携带由远端加速系统分配的所述远端加速设备的信息,所述远端加速设备的信息包括所述远端加速设备的标识和网络连接信息;
所述虚拟机确定所述远端加速设备是否已经分配给自身,如果是,创建所述虚拟设备文件,所述虚拟设备文件与所述远端加速设备对应。
3.如权利要求2所述的方法,其特征在于,所述虚拟机确定所述远端加速设备是否已经分配给自身包括:
所述虚拟机定期向所述访问代理模块发起查询,确定所述远端加速设备是否已经分配给自身;或者,所述访问代理模块获取资源配置请求的响应消息之后,通知所述虚拟机所述远端加速设备已经分配。
4.如权利要求2或3所述的方法,其特征在于,所述虚拟机获取资源调用指令之前,所述方法还包括:
所述虚拟机向所述访问代理模块发送通道建立指令;
所述访问代理模块接收到所述通道建立指令之后,根据所述远端加速设备的网络连接信息,建立自身与所述远端加速设备的通信连接。
5.如权利要求1所述的方法,其特征在于,所述虚拟机获取资源调用指令之前,所述方法还包括:
所述虚拟机与所述访问代理模块之间建立通信连接。
6.如权利要求5所述的方法,其特征在于,所述虚拟机与所述访问代理模块之间建立通信连接包括:
获得所述物理主机上的一部分存储空间,所述存储空间由所述虚拟机与所述访问代理模块共享使用;
则所述虚拟机将所述访问请求传输到所述访问代理模块包括:所述虚拟机将所述访问请求写入到所述存储空间,所述访问代理模块从所述存储空间读取所述访问请求。
7.如权利要求6所述的方法,其特征在于,所述访问代理模块获取所述访问请求中的所述远端加速设备的标识,包括:
所述虚拟机向所述代理模块发送包括所述远端加速设备的标识的通知;
所述代理模块接收所述通知,并根据预定义的所述远端加速设备的标识和所述存储空间的对应关系从所述存储空间中获取所述访问请求中的处理命令。
8.如权利要求6所述的方法,其特征在于,所述访问代理模块获取所述访问请求中的所述远端加速设备的标识,包括:
所述访问代理模块根据所述存储空间的地址从所述存储空间中获取所述访问请求中的处理命令和所述加速资源的标识。
9.一种计算机系统,其特征在于,所述计算机系统包括:虚拟机和访问代理模块,所述虚拟机和所述访问代理模块部署在物理主机上;
所述虚拟机,用于获取对远端加速设备的资源调用指令,将所述资源调用指令转换为对所述虚拟机的虚拟设备文件的访问请求,其中,所述访问请求中包括所述资源调用指令携带的所述远端加速设备的标识,所述虚拟设备文件用于将所述虚拟机租用的远端加速资源映射为本地的加速资源;将所述访问请求传输到所述访问代理模块;
所述访问代理模块,用于获取所述远端加速设备的标识,并通过自身与所述远端加速设备之间的通信连接,向所述远端加速设备发送所述访问请求。
10.如权利要求9所述的系统,其特征在于,
所述虚拟机,还用于发送对所述远端加速设备的资源配置请求;
所述访问代理模块,还用于获取资源配置请求的响应消息,所述响应消息携带由远端加速系统分配的所述远端加速设备的信息,所述远端加速设备的信息包括所述远端加速设备的标识和网络连接信息;
所述虚拟机,还用于确定所述远端加速设备是否已经分配给自身,如果是,创建所述虚拟设备文件,所述虚拟设备文件与所述远端加速设备对应。
11.如权利要求10所述的系统,其特征在于,所述虚拟机,还用于定期向所述访问代理模块发起查询,确定所述远端加速设备是否已经分配给自身。
12.如权利要求10所述的系统,其特征在于,所述访问代理模块,还用于获取资源配置请求的响应消息之后,通知所述虚拟机所述远端加速设备已经分配。
13.如权利要求10或11所述的系统,其特征在于,
所述虚拟机,还用于向所述访问代理模块发送通道建立指令;
所述访问代理模块,还用于接收到所述通道建立指令之后,根据所述远端加速设备的网络连接信息,建立自身与所述远端加速设备的通信连接。
14.如权利要求9所述的系统,其特征在于,所述虚拟机,还用于在所述虚拟机与所述访问代理模块之间建立通信连接。
15.如权利要求14所述的系统,其特征在于,所述虚拟机,还用于获得所述物理主机上的一部分存储空间,所述存储空间由所述虚拟机与所述访问代理模块共享使用;
所述虚拟机,还用于所述虚拟机将所述访问请求写入到所述存储空间;
所述访问代理模块,还用于从所述存储空间读取所述访问请求。
16.如权利要求15所述的系统,其特征在于,
所述虚拟机,还用于向所述代理模块发送包括所述远端加速设备的标识的通知;
所述代理模块,还用于接收所述通知,并根据预定义的所述远端加速设备的标识和所述存储空间的对应关系从所述存储空间中获取所述访问请求中的处理命令。
17.权利要求15所述的系统,其特征在于,
所述访问代理模块,还用于根据所述存储空间的地址从所述存储空间中获取所述访问请求中的处理命令和所述加速资源的标识。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如权利要求1-8所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/080290 WO2019178855A1 (zh) | 2018-03-23 | 2018-03-23 | 一种虚拟机访问远端加速设备方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109496415A CN109496415A (zh) | 2019-03-19 |
CN109496415B true CN109496415B (zh) | 2021-02-09 |
Family
ID=65713879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880002508.1A Active CN109496415B (zh) | 2018-03-23 | 2018-03-23 | 一种虚拟机访问远端加速设备方法及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200356401A1 (zh) |
EP (1) | EP3734928A4 (zh) |
CN (1) | CN109496415B (zh) |
WO (1) | WO2019178855A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110618871B (zh) * | 2019-09-21 | 2022-07-22 | 苏州浪潮智能科技有限公司 | 一种fpga云平台加速资源的分配方法与系统 |
CN110933135B (zh) * | 2019-10-31 | 2022-11-29 | 苏州浪潮智能科技有限公司 | 在计算机设备中建立网络连接的方法和装置 |
CN111240868B (zh) * | 2020-01-22 | 2024-04-02 | 阿里巴巴集团控股有限公司 | 实例处理与调用方法、设备、系统及存储介质 |
CN111736950B (zh) * | 2020-06-12 | 2024-02-23 | 广东浪潮大数据研究有限公司 | 一种虚拟机的加速器资源添加方法及相关装置 |
CN112398685B (zh) * | 2020-11-04 | 2024-01-19 | 腾讯科技(深圳)有限公司 | 基于移动终端的主机设备加速方法、装置、设备及介质 |
CN112882791B (zh) * | 2021-02-04 | 2024-04-09 | 深信服科技股份有限公司 | 虚拟机性能的优化方法、设备及存储介质 |
CN112511569B (zh) * | 2021-02-07 | 2021-05-11 | 杭州筋斗腾云科技有限公司 | 网络资源访问请求的处理方法、系统及计算机设备 |
CN113793246B (zh) * | 2021-11-16 | 2022-02-18 | 北京壁仞科技开发有限公司 | 图形处理器资源的使用方法及装置、电子设备 |
CN114499945B (zh) * | 2021-12-22 | 2023-08-04 | 天翼云科技有限公司 | 一种虚拟机的入侵检测方法及装置 |
CN114691034A (zh) * | 2022-03-07 | 2022-07-01 | 阿里巴巴(中国)有限公司 | 一种数据存储方法及数据处理设备 |
CN115659290B (zh) * | 2022-11-07 | 2023-07-21 | 海光信息技术股份有限公司 | 代码保护系统、方法、虚拟系统、芯片及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797345A (zh) * | 2004-12-30 | 2006-07-05 | 微软公司 | 用于虚拟化图形子系统的系统和方法 |
CN102236762A (zh) * | 2010-04-30 | 2011-11-09 | 国际商业机器公司 | 用于处理对多租户应用的文件访问的方法和文件代理装置 |
CN103309722A (zh) * | 2012-03-14 | 2013-09-18 | 北京三星通信技术研究有限公司 | 一种云计算系统及其应用访问方法 |
CN105579959A (zh) * | 2013-09-24 | 2016-05-11 | 渥太华大学 | 硬件加速器虚拟化 |
CN107515775A (zh) * | 2016-06-15 | 2017-12-26 | 华为技术有限公司 | 一种数据传输方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9836316B2 (en) * | 2012-09-28 | 2017-12-05 | Intel Corporation | Flexible acceleration of code execution |
CN104270464A (zh) * | 2014-10-22 | 2015-01-07 | 西安未来国际信息股份有限公司 | 一种云计算虚拟化网络架构及优化方法 |
CN106487601B (zh) * | 2015-08-24 | 2021-04-30 | 中兴通讯股份有限公司 | 资源监控方法、装置及系统 |
US9720714B2 (en) * | 2015-08-26 | 2017-08-01 | International Business Machines Corporation | Accelerator functionality management in a coherent computing system |
CN105224387A (zh) * | 2015-09-07 | 2016-01-06 | 浪潮集团有限公司 | 一种云计算下虚拟机的安全部署方法 |
CN105159753B (zh) * | 2015-09-25 | 2018-09-28 | 华为技术有限公司 | 加速器虚拟化的方法、装置及集中资源管理器 |
CN105933415A (zh) * | 2016-04-21 | 2016-09-07 | 国家计算机网络与信息安全管理中心 | 一种基于vnc代理的云计算环境中虚拟机在线录屏方法与系统 |
US10776144B2 (en) * | 2017-01-08 | 2020-09-15 | International Business Machines Corporation | Address space management with respect to a coherent accelerator processor interface architecture |
-
2018
- 2018-03-23 CN CN201880002508.1A patent/CN109496415B/zh active Active
- 2018-03-23 EP EP18910769.1A patent/EP3734928A4/en not_active Withdrawn
- 2018-03-23 WO PCT/CN2018/080290 patent/WO2019178855A1/zh unknown
-
2020
- 2020-07-28 US US16/940,780 patent/US20200356401A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797345A (zh) * | 2004-12-30 | 2006-07-05 | 微软公司 | 用于虚拟化图形子系统的系统和方法 |
CN102236762A (zh) * | 2010-04-30 | 2011-11-09 | 国际商业机器公司 | 用于处理对多租户应用的文件访问的方法和文件代理装置 |
CN103309722A (zh) * | 2012-03-14 | 2013-09-18 | 北京三星通信技术研究有限公司 | 一种云计算系统及其应用访问方法 |
CN105579959A (zh) * | 2013-09-24 | 2016-05-11 | 渥太华大学 | 硬件加速器虚拟化 |
CN107515775A (zh) * | 2016-06-15 | 2017-12-26 | 华为技术有限公司 | 一种数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019178855A1 (zh) | 2019-09-26 |
CN109496415A (zh) | 2019-03-19 |
US20200356401A1 (en) | 2020-11-12 |
EP3734928A4 (en) | 2021-01-20 |
EP3734928A1 (en) | 2020-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109496415B (zh) | 一种虚拟机访问远端加速设备方法及系统 | |
US20220107848A1 (en) | Edge service providing method and apparatus, and device | |
CN110113441B (zh) | 实现负载均衡的计算机设备、系统和方法 | |
CN110088732B (zh) | 一种数据包处理方法、主机和系统 | |
CN111934918B (zh) | 对同一容器集群内的容器实例的网络隔离方法和装置 | |
US10698717B2 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
KR101623416B1 (ko) | 통신 방법 및 시스템 | |
WO2016034014A1 (zh) | 一种基于虚拟机迁移的网关控制方法、装置及系统 | |
CN113596191B (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
US20130315242A1 (en) | Network Communication Method and Device | |
CN111193773B (zh) | 负载均衡方法、装置、设备及存储介质 | |
CN105208048A (zh) | 全局迁移管理器、网关、虚拟机迁移系统及其方法 | |
US11671363B2 (en) | Method and apparatus for cross-service-zone communication, and data center network | |
EP3742785A1 (en) | Session management method and device | |
RU2540820C2 (ru) | Способ и коммутатор для отправки пакета | |
CN111327668B (zh) | 网络管理方法、装置、设备和存储介质 | |
CN112583618B (zh) | 为业务提供网络服务的方法、装置和计算设备 | |
CN112333017B (zh) | 一种服务配置方法、装置、设备及存储介质 | |
CN110830574B (zh) | 一种基于docker容器实现内网负载均衡的方法 | |
CN113572864B (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
CN113364741A (zh) | 一种应用访问方法及代理服务器 | |
CN104506654A (zh) | 云计算系统及动态主机配置协议服务器备份方法 | |
CN110909030B (zh) | 一种信息处理方法及服务器集群 | |
CN109450768B (zh) | 容器互联的方法及用于容器互联的系统 | |
CN113676390B (zh) | 基于vxlan的触发式动态安全通道的方法、用户端及中央控制台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211231 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |