CN105306433B - 一种访问虚拟机服务器的方法和装置 - Google Patents
一种访问虚拟机服务器的方法和装置 Download PDFInfo
- Publication number
- CN105306433B CN105306433B CN201510575541.1A CN201510575541A CN105306433B CN 105306433 B CN105306433 B CN 105306433B CN 201510575541 A CN201510575541 A CN 201510575541A CN 105306433 B CN105306433 B CN 105306433B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- access
- agent process
- main controller
- server
- 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
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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2876—Pairs of inter-processing entities at each side of the network, e.g. split proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种访问虚拟机服务器的方法和装置,所述方法包括:接收访问终端发送的访问请求;根据所述访问请求获取虚拟机标识;通过主控机代理进程与所述虚拟机标识对应的虚拟机中的虚拟机代理进程建立通信通道,并将所述访问请求通过所述通信通道发送给所述虚拟机代理进程,使得所述虚拟机代理进程将所述访问请求发送给所述虚拟机中的虚拟机服务器。本发明提供的访问虚拟机服务器的方法和装置,通过虚拟机标识来识别所要访问虚拟机,并在主控机代理进程和虚拟机代理进程之间建立通信通道,通过通信通道来传输访问数据,在此过程不需要知道所要访问虚拟机的IP地址,即可与虚拟机服务器通信。
Description
技术领域
本发明涉及虚拟化技术领域,特别是涉及一种访问虚拟机服务器的方法和装置。
背景技术
随着社会不断进步,人们对于互联网的使用越来越频繁。数据共享和管理要求越来越高,企业服务器也随着多元化数据,变得越来越复杂。软件技术的进步,使得虚拟化技术诞生。虚拟化技术可以在一台物理机器上虚拟出多个系统,充分利用硬件资源。且由一些虚拟化软件厂商提供的管理软件可以轻松管理大量的服务器。
当前,虽然虚拟化管理软件方便了服务器管理,但是单个虚拟的服务器系统的访问,仍然停留在传统的访问机制,即:必须配置IP(互联网协议,Internet Protocol)地址,通过IP地址访问虚拟服务器。网络管理员进行虚拟服务器管理时,总是要清晰的知道各个虚拟服务器的IP地址,尤其是当IP地址有调整时,将会耗费管理员大量时间。这样通过配置IP地址来访问虚拟服务器,会造成操作过程繁琐不便。
发明内容
基于此,有必要针对通过配置IP地址来访问虚拟服务器,会造成操作过程繁琐的问题,提供一种访问虚拟机服务器的方法,所述方法包括:
接收访问终端发送的访问请求;
根据所述访问请求获取虚拟机标识;
通过主控机代理进程与所述虚拟机标识对应的虚拟机中的虚拟机代理进程建立通信通道,并将所述访问请求通过所述通信通道发送给所述虚拟机代理进程,使得所述虚拟机代理进程将所述访问请求发送给所述虚拟机中的虚拟机服务器;
在其中一个实施例中,所述方法还包括:
通过所述主控机代理进程接收所述虚拟机服务器根据所述访问请求返回的访问结果,所述访问结果是所述虚拟机服务器通过所述虚拟机代理进程经过所述通信通道返回到所述主控机代理进程的;
将所述访问结果返回给所述访问终端。
在其中一个实施例中,所述接收访问终端发送的访问请求,包括:
接收访问终端发送的访问指令;
根据所述访问指令向所述访问终端返回包括虚拟机标识的统一资源定位符;
接收所述访问终端根据所述统一资源定位符发送的访问请求。
在其中一个实施例中,所述通过所述主控机代理进程接收所述虚拟机服务器根据所述访问请求返回的访问结果,包括:
通过所述主控机代理进程接收所述虚拟机服务器在判定所述访问请求来自于所述主控机代理进程时根据所述访问请求返回的访问结果。
在其中一个实施例中,所述接收访问终端发送的访问请求,包括:
接收访问终端发送的第一访问指令;
根据所述第一访问指令返回临时统一资源定位符;
接收所述访问终端根据所述临时统一资源定位符发送的第二访问指令;
根据所述第二访问指令返回持久统一资源定位符和安全验证信息;
接收所述访问终端根据所述持久统一资源定位符发送的包含所述安全验证信息的访问请求;
根据所述安全验证信息进行验证,若验证通过则执行所述根据所述访问请求获取虚拟机标识的步骤。
在其中一个实施例中,所述通过主控机代理进程与所述虚拟机标识对应的虚拟机中的虚拟机代理进程建立通信通道,包括:
通过主控机代理进程发出携带有所述虚拟机标识的询问包,接收所述虚拟机标识对应的虚拟机通过虚拟机代理进程返回的响应包,以与所述虚拟机中的虚拟机代理进程建立通信通道。
上述访问虚拟机服务器的方法,在主控机服务器接收到访问终端发送的访问请求,要获取虚拟机标识,将访问请求和虚拟机标识发送给主控机代理进程。主控机代理进程接收到访问请求和虚拟机标识时,与虚拟机标识对应的虚拟机中的虚拟机代理进程建立通信通道,并通过通信通道将访问请求发送给虚拟机代理进程,虚拟机代理进程将其接收到的访问请求发送给虚拟机服务器。这样通过虚拟机标识来识别所要访问虚拟机,并在主控机代理进程和虚拟机代理进程之间建立通信通道,通过通信通道来传输访问数据,在此过程不需要知道所要访问虚拟机的IP地址,即可与虚拟机服务器通信。访问过程中,无需知道虚拟机的IP地址,也就不需要为虚拟机配置IP地址,即可实现与虚拟机传输访问数据,满足与虚拟机通信的需求。
一种访问虚拟机服务器的装置,所述装置包括:
请求接收模块,用于接收访问终端发送的访问请求;
获取模块,用于根据所述访问请求获取虚拟机标识;
请求发送模块,用于通过主控机代理进程与所述虚拟机标识对应的虚拟机中的虚拟机代理进程建立通信通道,并将所述访问请求通过所述通信通道发送给所述虚拟机代理进程,使得所述虚拟机代理进程将所述访问请求发送给所述虚拟机中的虚拟机服务器。
在其中一个实施例中,所述装置还包括:
结果接收模块,用于通过所述主控机代理进程接收所述虚拟机服务器根据所述访问请求返回的访问结果,所述访问结果是所述虚拟机服务器通过所述虚拟机代理进程经过所述通信通道返回到所述主控机代理进程的;
结果返回模块,用于将所述访问结果返回给所述访问终端。
在其中一个实施例中,所述请求接收模块包括:
指令接收模块,用于接收访问终端发送的访问指令;
返回模块,用于根据所述访问指令向所述访问终端返回包括所述虚拟机标识的统一资源定位符;
接收模块,用于接收所述访问终端根据所述统一资源定位符发送的所述访问请求。
在其中一个实施例中,所述结果接收模块具体用于通过所述主控机代理进程接收所述虚拟机服务器在判定所述访问请求来自于所述主控机代理进程时根据所述访问请求返回的访问结果。
在其中一个实施例中,所述请求接收模块包括:
第一指令接收模块,用于接收访问终端发送的第一访问指令;
第一返回模块,用于根据所述第一访问指令返回临时统一资源定位符;
第二指令接收模块,用于接收所述访问终端根据所述临时统一资源定位符发送的第二访问指令;
第二返回模块,用于根据所述第二访问指令返回持久统一资源定位符和安全验证信息;
第二接收模块,接收所述访问终端根据所述持久统一资源定位符发送的包含所述安全验证信息的访问请求;
验证模块,用于根据所述安全验证信息对所述访问请求进行验证;
所述获取模块还用于若所述验证模块验证通过,则根据所述访问请求获取虚拟机标识。在其中一个实施例中,所述请求发送模块具体用于通过主控机代理进程发出携带有所述虚拟机标识的询问包,接收所述虚拟机标识对应的虚拟机通过虚拟机代理进程返回的响应包,以与所述虚拟机中的虚拟机代理进程建立通信通道。
上述访问虚拟机服务器的装置,在请求接收模块接收到访问终端发送的访问请求,获取模块获取虚拟机标识,并将访问请求和虚拟机标识发送给请求发送模块。请求发送模块接收到访问请求和虚拟机标识时,与虚拟机标识对应的虚拟机中的虚拟机代理进程建立通信通道,并通过通信通道将访问请求发送给虚拟机代理进程,虚拟机代理进程将其接收到的访问请求发送给虚拟机服务器。这样通过虚拟机标识来识别所要访问的虚拟机,并在主控机代理进程和虚拟机代理进程之间建立通信通道,通过通信通道来传输访问数据,在此过程而不需要知道所要访问虚拟机的IP地址,即可与虚拟机服务器通信。访问过程中,无需知道虚拟机的IP地址,也就不需要为虚拟机配置IP地址,即可实现与虚拟机传输访问数据,满足与虚拟机通信的需求。
附图说明
图1为一个实施例中访问虚拟机服务器系统的应用环境图;
图2为一个实施例中访问虚拟机服务器系统的结构示意图;
图3为一个实施例中访问虚拟机服务器方法的流程示意图;
图4为一个实施例中接收访问终端发送的访问请求的步骤的流程示意图;
图5为另一个实施例中接收客户端发送的访问请求步骤的流程示意图;
图6为一个实施例中访问虚拟机服务器方法的时序图;
图7为一个实施例中访问虚拟机服务器的装置的结构框图;
图8为另一个实施例中访问虚拟机服务器的装置的结构框图;
图9为一个实施例中请求接收模块的结构框图;
图10为另一个实施例中请求接收模块的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
图1是一个实施例中访问虚拟机服务器系统的应用环境图。访问虚拟机服务器系统包括访问终端110和服务器集群120。访问终端110与服务器集群120通过网络连接,访问终端110通过软件客户端或者web管理页面访问服务器集群120。服务器集群120包括多台物理主机。服务器集群120中的物理主机之间可通过IP地址进行通信。服务器集群120包括主控机121,主控机121对服务器集群120中的物理主机和虚拟机进行管理。主控机121为服务器集群120中的物理主机。
虚拟化技术是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构件的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。虚拟机,指通过软件模拟的具有完成硬件系统功能的、运行在一个完全隔离环境中的计算机系统。
如图2所示,一种访问虚拟机服务器的系统中,主控机121上运行有主控机服务器121a、主控机代理进程121b和至少一个虚拟机(比如图2中虚拟机121d、虚拟机121g)。虚拟机上运行着虚拟机服务器和虚拟机代理进程(比如图2中虚拟机121d上运行着虚拟机服务器121e和虚拟机代理进程121f)。访问终端110向服务器集群120发出访问请求,通过主控机121来访问具体的虚拟机(比如图2中虚拟机121d)。
如图3所示,提供了一种访问虚拟机服务器的方法,本实施例以该方法应用于图2中的访问虚拟机服务器系统中的主控机121来举例说明。该服务器集群120中的主控机121上运行有访问虚拟机服务器的程序,通过访问虚拟机服务器的程序来实施访问虚拟机服务器的方法。该方法具体包括如下步骤:
步骤302,接收访问终端发送的访问请求。
在一个实施例中,访问终端110通过软件客户端或者web管理页面发出访问指令,主控机服务器收到访问终端110的访问指令时,会返回给访问终端110统一资源定位符,访问终端110根据统一资源定位符发送访问请求到主控机服务器。统一资源定位符(URL,Uniform Resource Locator)是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器对文件应该如何处理。
步骤304,根据访问请求获取虚拟机标识。
在一个实施例中,主控机服务器121a在接收到访问终端110发送的访问请求时,在访问请求中提取虚拟机标识。虚拟机标识唯一标识了所要访问的虚拟机,虚拟机标识可以是随机数、特定字符或字符串中至少一种。虚拟机标识是主控机服务器121a用于区别不同虚拟机的特殊标识,虚拟机标识不是IP地址。
在另一个实施例中,主控机服务器121a在接收到访问终端110根据统一资源定位符发送的访问请求时,根据访问请求提取统一资源定位符中的虚拟机标识。在一个实施例中,统一资源定位符中包括特殊字段,该特殊字段包括了虚拟机标识,标识了具体所要访问的虚拟机服务器。
步骤306,通过主控机代理进程与虚拟机标识对应的虚拟机中的虚拟机代理进程建立通信通道,并将访问请求通过通信通道发送给虚拟机代理进程,使得虚拟机代理进程将访问请求发送给虚拟机中的虚拟机服务器。
具体地,主控机服务器121a将访问请求和虚拟机标识发送给主控机代理进程121b,主控机代理进程121b与虚拟机标识对应的虚拟机121d中的虚拟机代理进程121f建立通信通道121c,并将访问请求通过通信通道121c发送给虚拟机代理进程121f,虚拟机代理进程121f将访问请求发送给虚拟机服务器121e。
在一个实施例中,虚拟机代理进程121f接收到访问请求后,使用本地地址将访问请求发送给虚拟机服务器121e。本地地址是指本地回环地址,以127开头的地址(127.0.0.1-127.255.255.254),通常用127.0.0.1来表示。
在一个实施例中,主控机服务器121a将访问请求和虚拟机标识发送给主控机代理进程121a,主控机代理进程121a将虚拟机标识封装在询问包中,并将询问包通过广播或者组播的形式发送出去。虚拟机标识对应的虚拟机121d收到询问包时,通过虚拟机代理进程121f返回响应包。主控机服务器121a接收到响应包,与虚拟机代理进程121f建立通信通道121c。主控机服务器121a和虚拟机服务器121e可以通过通信通道进行数据传输。
在另一个实施例中,主控机代理进程121a可以获取服务器集群120中主控机之外的其它物理主机的信息,包括物理主机的IP地址,物理主机上运行的虚拟机的虚拟机标识等。每台物理主机和虚拟机上都运行有代理进程(proxy app)。主控机代理进程121a通过使用广播的形式发送询问数据包。主控机之外的其他物理主机或者虚拟机收到询问数据包,反馈回包括物理主机或虚拟机信息的响应数据包,主控机代理进程121a提取响应数据包中的详细信息,以便与主控机之外的物理主机或虚拟机进行通信。
在一个实施例中,访问终端110可以使用http、ftp以及https等协议将访问请求发送给主控机服务器121a。主控机服务器121a接收到http、ftp或https访问请求报文后,将目标虚拟机的虚拟机标识封装在http、ftp或https访问请求报文中,并将包括目标虚拟机的虚拟机标识的访问请求报文通过通行通道121c发送到虚拟机服务器121e,虚拟机服务器121e根据访问请求返回相应的访问结果。
在另一个实施例中,在访问终端110通过安全外壳协议(SSH,Secure Shell)登录虚拟机121d的控制台、访问终端110与虚拟机121d进行TCP socket通信或访问终端110通过虚拟化管理软件与虚拟机121d的进行交互等过程中。主控机服务器121a接收到访问终端110的建立连接的连接请求报文时,将目标虚拟机的虚拟机标识封装在连接请求报文中,并将包括目标虚拟机的虚拟机标识的连接请求报文通过通行通道121c发送给虚拟机121d,虚拟机121a根据连接请求报文返回相应的响应报文,以便访问终端110与虚拟机121a建立通行连接。
SSH(安全外壳协议,Secure Shell)为建立在应用层和传输层基础上的安全协议,SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。TCP(通过传输控制协议,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。虚拟化管理软件,是将多个实体计算机资源组合起来,虚拟出不受实体资源关系约束的管理软件。
本实施例中,通过虚拟机标识来识别所要访问虚拟机,并在主控机代理进程和虚拟机代理进程之间建立通信通道,通过通信通道来传输访问数据,在此过程不需要知道所要访问虚拟机的IP地址,即可与虚拟机服务器通信。访问过程中,无需知道虚拟机的IP地址,也就不需要为虚拟机配置IP地址,即可实现与虚拟机传输访问数据,满足与虚拟机通信的需求。
在一个实施例中,步骤306之后,还包括返回访问结果的步骤,具体包括如下步骤A和B:
步骤A,通过主控机代理进程接收虚拟机服务器根据访问请求返回的访问结果,访问结果是虚拟机服务器通过虚拟机代理进程经过通信通道返回到主控机代理进程的。
具体地,虚拟机服务器121e接收到访问请求之后,根据访问请求返回相应的访问结果,将访问结果发送给虚拟机代理进程121f,虚拟机代理进程121f将访问结果通过通信通道121c发送给主控机代理进程121b,主控机代理进程121b将访问结果发送给主控机服务器121a。
步骤B,将访问结果返回给访问终端。
在一个实施例中,主控机服务器121a将接受到的访问结果使用http、https、ftp等使用IP地址协议发送给访问终端110。
本实施例中,虚拟机服务器将访问结果通过虚拟机代理进程与主控机代理进程之间的通信通道发送给主控机服务器,无需使用IP地址就可以完成访问结果的传输,使得数据传输更加方便快捷。
在一个实施例中,主控机服务器121a接收到访问请求后,进行反向代理,主控机服务器121a作为反向代理服务器,将访问请求转发给虚拟机服务器121e,在主控机服务器121a接收到虚拟机服务121e返回的访问结果后,将访问结果转发给访问终端110。反向代理,是指以代理服务器来接受互联网上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给互联网上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
如图4所示,在一个实施例中,步骤302,具体包括以下步骤:
步骤402,接收访问终端发送的访问指令。
在一个实施例中,访问终端110上有虚拟化管理软件客户端或者web管理页面,其中软件客户端界面或web管理页面中的访问服务器集群120中虚拟机的按钮被点击,则访问终端110发出访问指令。
步骤404,根据访问指令向访问终端返回包括虚拟机标识的统一资源定位符。
在一个实施例中,主控机服务器121a接收到访问终端110发送的访问指令之后,根据访问指令给访问终端110发送统一资源定位符,统一资源定位符中包括虚拟机标识。
步骤406,接收所述访问终端根据统一资源定位符发送的访问请求。
在一个实施例中,统一资源定位符中包括检验码或随机数,访问终端110接收到统一资源定位符后,将校验码或随机数封装在访问请求中,发送给主控机服务器121a,主控机服务器121a对接收到的访问请求进行校验。如果校验通过,将访问请求发送给主控机代理进程121b;如果校验未通过,则拒绝访问或者返回拒绝访问的反馈信息。
本实施例中,在同一资源定位符中包括检验码或随机数,以便对访问请求进行校验,保证了访问过程的安全性。
在一个实施例中,步骤A具体包括如下步骤:
通过主控机代理进程接收虚拟机服务器在判定访问请求来自于主控机代理进程时根据访问请求返回的访问结果。
具体地,虚拟机服务器121e接收到访问请求之后,判断访问请求的来源,具体判断访问请求是否来自主控机代理进程121b。如果判定访问请求来自主控机代理进程121b,虚拟机服务器121e则根据访问请求获取相应的访问结果,并将相应的访问结果发送给虚拟机代理进程121f;如果不是,虚拟机服务器121e则拒绝访问,不返回相应的访问结果或者返回拒绝访问的反馈信息。
在一个实施例中,主控机代理进程121b接收到主控机服务器121a发送的访问请求后,主控机代理进程121b在访问请求中加入主控机代理进程121b的标记信息,将包括主控机代理进程121b的标记信息的访问请求通过通信通道121c发送给虚拟机代理进程121f。虚拟机代理进程121f将包括主控机代理进程121b的标记信息的访问请求发送给虚拟机服务器121e。虚拟机服务器121e对包括主控机代理进程121b标记信息的访问请求进行判断,判定主控机代理进程121b的标记信息正确之后,则返回访问结果,判定主控机代理进程121b的标记信息错误之后,则拒绝访问或反馈拒绝访问信息。
本实施例中,虚拟机服务器对访问请求的来源进行判断,确保访问请求来源安全,保证了访问虚拟机服务器访问过程的安全性,避免第三方恶意入侵虚拟机服务器。
如图5所示,在一个实施例中,步骤302,具体包括如下步骤:
步骤502,接收访问终端发送的第一访问指令。
在一个实施例中,访问终端110中的虚拟化管理软件客户端或web管理页面中的访问相关虚拟机服务器的按钮被点击,访问终端110发出第一访问指令。
步骤504,根据第一访问指令返回临时统一资源定位符。
在一个实施例中,主控机服务器121a接收到第一访问指令后,根据第一访问指令返回临时统一资源定位符,临时统一资源定位符包括特殊字段,该特殊字段用以标识具体访问的虚拟机。访问终端110在预定时间内根据临时统一资源定位符发出访问指令有效;如果超过预定时间,访问终端110根据临时统一资源定位符发出访问指令,则访问指令无效。临时统一资源定位符用于保证访问指令在预设短时间内有效。其中预设短时间可以设置为1毫秒至60毫秒,也可以设置为5毫秒至30毫秒。
步骤506,接收访问终端根据临时统一资源定位符发送的第二访问指令。
在一个实施例中,访问终端110接收到临时统一资源定位符,根据临时统一资源定位符在预设短时间内发出第二访问指令。
在一个实施例中,临时统一资源定位符,在预设短时间内有效。主控机服务器121a在发送临时统一资源定位符时开始计时,如果主控机服务器121a未在预设短时间内收到访问终端110根据临时统一资源定位符发送的第二访问指令,则临时统一资源定位符失效。访问终端110需要重新获取临时统一资源定位符来访问虚拟机服务器121e。
步骤508,根据第二访问指令返回持久统一资源定位符和安全验证信息。
在一个实施例中,主控机服务器121a接收到第二访问指令后,则会返回持久统一资源定位符,持久统一资源定位符包括虚拟机标识。持久统一资源定位符可以保证访问终端110根据持久统一资源定位符发送的访问请求持久有效,或者在预设长时间内有效,预设长时间大于临时统一资源定位符的预设短时间。
在一个实施例中,主控机服务器121a在返回持久统一资源定位符的同时,也利用http、https、ftp等协议将安全验证信息发送给访问终端110。其中安全验证信息可以是验证码、随机数、特殊字符或关键字符串中的至少一种。
步骤510,接收访问终端根据持久统一资源定位符发送的包含安全验证信息的访问请求。
在一个实施例中,访问终端110根据持久统一资源定位符和安全验证信息发送访问请求,访问终端110提取安全验证信息,将安全验证信息封装在访问请求中。
在一个实施例中,访问终端110收到包括校验码或随机数的持久统一资源定位符,访问终端110根据持久统一资源定位符利用浏览器访问主控服务器121a,主控机服务器121a校验持久统一资源定位符并进行跳转访问到虚拟机服务器121e,主控机服务器121a生成cookie,并将cookie发送到访问终端110上。访问终端110再次访问虚拟机服务器121e时,直接通过将cookie发送给主控机服务器121a就可以进行访问,主控机服务器121a根据收到的cookie进行跳转访问。
步骤512,根据所述安全验证信息进行验证,若验证通过则执行所述根据所述访问请求获取虚拟机标识的步骤。
在一个实施例中,主控机服务器121a对包括安全验证信息的访问请求进行验证。若验证通过,根据访问请求获取虚拟机标识,以便访问与虚拟机标识对应的虚拟机服务器121e;若验证未通过,则拒绝访问,不获取虚拟机标识。
本实施例中,通过设置临时统一资源定位符和安全信息等安全措施,充分保证了访问主控机服务器的过程的安全,并保证在安全的环境下对虚拟机服务器进行访问。
在一个实施例中,步骤306具体包括如下步骤:
通过主控机代理进程发出携带有虚拟机标识的询问包,接收虚拟机标识对应的虚拟机通过虚拟机代理进程返回的响应包,以与虚拟机中的虚拟机代理进程建立通信通道。
其中主控机代理进程121a和虚拟机代理进程121f通过通信通道121c可以不使用IP地址即可进行通信,例如KVM的virtio serial。通信通道121c为临时的双工数据通信通道。在主控机代理进程121a接收到访问结果后,则会与虚拟机代理进程121f断开通行通道206,以便访问终端110下次访问服务器集群120中的任何虚拟机,建立新的通信通道。KVM(基于内核的虚拟机,Kernel-based Virtual Machine),是Linux下x86硬件平台上的全功能虚拟化解决方案,使用KVM可允许多个包括Linux和Windows每个虚拟机有私有的硬件,包括网卡、磁盘以及图形适配卡等。可以从KVM客户端和管理软件的单一界面直接访问位于多个远程位置的服务器和设备。Virtio serial为KVM技术中用于通信的虚拟队列接口。
本实施例中,主控机代理进程通过发送询问包和接收虚拟机代理进程返回的响应包建立通信通道,主控机代理进程和虚拟机代理进程无需知道虚拟机的IP地址即可利用通信通道进行通信,从而实现了主控机和虚拟机之间的数据传输,避免了在通信前需要为虚拟机配置IP地址的过程。
如图6所示,在一个实施例中,一种访问虚拟机服务器的方法,访问终端110发送第一访问指令,主控机服务器121a接收到第一访问指令后,返回临时URL(统一资源定位符,Uniform Resource Locator),临时URL中包括虚拟机标识,虚拟机标识唯一标识所要访问的虚拟机。访问终端110接收到临时URL,通过根据URL发送第二访问指令,主控机服务器121a接收到第二访问指令后,返回持久URL和安全信息。访问终端110根据URL发送包括安全信息的访问请求。
主控机服务器121a接收到访问请求,对访问请求中的安全信息进行安全验证,验证通过,将访问请求和虚拟机标识发送给主控机代理进程121b。
主控机代理进程121b接收到访问请求和虚拟机标识后,发送出带有虚拟机标识的询问包,与虚拟机标识对应的虚拟机通过虚拟机代理进程121f返回响应包,主控机代理进程121b与虚拟机代理进程121f建立通信通道121c,主控机代理进程121b通过通信通道121c将访问请求发送给虚拟机代理进程121f。
虚拟机代理进程121f接收到访问请求之后,将访问请求发送给虚拟机服务器121e。虚拟机服务器121e根据访问请求查找相应的访问结果,并将访问结果发送给虚拟机代理进程121f。虚拟机代理进程121f接收到访问结果之后,将访问结果通过通信通道121c发送给主控机代理进程121b。主控机代理进程121b将访问结果发送给主控机服务器121a,主控机服务器121a将访问结果返回给访问终端110。
如图7所示,在一个实施例中,提供一种访问虚拟机服务器的装置700,所述装置包括:请求接收模块702,获取模块704和请求发送模块706。
请求接收模块702,用于接收访问终端发送的访问请求;
获取模块704,用于根据访问请求获取虚拟机标识;
请求发送模块706,用于通过主控机代理进程与虚拟机标识对应的虚拟机中的虚拟机代理进程建立通信通道,并将访问请求通过通信通道发送给虚拟机代理进程,使得虚拟机代理进程将访问请求发送给虚拟机中的虚拟机服务器。
本实施例中,在请求接收模块702接收到访问终端发送的访问请求后,获取模块704根据访问请求获取虚拟机标识,通过虚拟机标识来识别所要访问的虚拟机,请求发送模块706在主控机代理进程和虚拟机代理进程之间建立通信通道,通过通信通道来传输访问数据,在此访问过程中不需要知道所要访问虚拟机服务器的IP地址,即可与虚拟机服务器通信。访问过程中,无需知道虚拟机的IP地址,也就不需要为虚拟机配置IP地址,即可实现与虚拟机传输访问数据,满足与虚拟机通信的需求。
如图8所示,在一个实施例中,所述装置700还包括:结果接收模块708和结果返回模块710。
结果接收模块708,用于通过主控机代理进程接收虚拟机服务器根据访问请求返回的访问结果,访问结果是虚拟机服务器通过虚拟机代理进程经过通信通道返回到主控机代理进程的。
结果返回模块710,用于将访问结果返回给访问终端。
本实施例中,结果接收模块708虚拟机服务器根据访问请求按照访问路线经过通信通道返回的访问结果。结果返回模块710接收到访问结果后,将访问结果返回给访问终端。在虚拟机返回访问结果的过程中,无需使用IP地址就可以完成访问结果的传输,使得数据传输更加方便快捷。
如图9所示,在一个实施例中,请求接收模块702包括:
指令接收模块712,用于接收访问终端发送的访问指令。
返回模块714,用于根据访问指令向访问终端返回包括虚拟机标识的统一资源定位符。
第一接收模块716,用于接收访问终端根据统一资源定位符发送的访问请求。
本实施例中,指令接收模块712在接收到访问终端发送的访问指令后,返回模块714根据访问指令返回统一资源定位符,统一资源定位符中包括虚拟机标识和校验信息。访问终端110接收到统一资源定位符之后,根据统一资源定位符发送访问请求。第一接收模块716接收到访问终端发送的访问请求,对访问请求进行验证,保证访问请求的安全性。
在一个实施例中,结果接收模块708具体用于通过主控机代理进程接收虚拟机服务器在判定访问请求来自于主控机代理进程时根据访问请求返回的访问结果。
结果返回模块710具体用于将访问结果返回给访问终端。
本实施例中,结果接收模块708接收虚拟机服务器返回的访问结果。该返回结果是在虚拟机服务器对访问请求验证通过后,验证内容为判断访问请求是否来自于主控机代理进程,在确保访问请求安全的情况下,根据访问请求返回访问结果,避免第三方的侵入虚拟机服务器造成损害。结果返回模块710在安全的环境下将访问结果返回访问终端。
如图10所示,在一个实施例中,请求接收模块702包括:
第一指令接收模块718,用于接收访问终端发送的第一访问指令。
第一返回模块720,用于根据第一访问指令返回临时统一资源定位符。
第二指令接收模块722,用于接收访问终端根据临时统一资源定位符发送的第二访问指令。
第二返回模块724,用于根据第二访问指令返回持久统一资源定位符和安全验证信息。
第二接收模块726,用于接收访问终端根据所述持久统一资源定位符发送的包含所述安全验证信息的访问请求。
验证模块728,用于根据安全验证信息对访问请求进行验证;
所述获取模块704还用于若所述验证模块728验证通过,则根据所述访问请求获取虚拟机标识。
本实施例中,请求接收模块702根据访问指令返回临时统一资源定位符、持久的统一资源定位符和安全信息验证,使访问终端110在安全环境下发送包括安全信息的访问请求,以便请求接收模块702对访问请求进行验证,保证了访问终端110访问主控机服务器121a的安全性,避免第三方的恶意入侵。
在一个实施例中,请求发送模块702具体用于通过主控机代理进程发出携带有虚拟机标识的询问包,接收虚拟机标识对应的虚拟机通过虚拟机代理进程返回的响应包,以与虚拟机中的虚拟机代理进程建立通信通道。
本实施例中,请求发送模块702通过主控机代理进程发出携带有虚拟机标识的询问包,虚拟机标识对应的虚拟机服务器接收到询问包之后,会发送响应包,请求发送模块702接收到响应包后,通过主控机代理进程与虚拟机代理进程建立通信通道。这样,请求发送模块702建立了通信通道,使主控机服务器和虚拟机服务器可以通过通信通道进行通信。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种访问虚拟机服务器的方法,所述方法包括:
接收访问终端发送的第一访问指令;
根据所述第一访问指令返回临时统一资源定位符;
接收所述访问终端根据所述临时统一资源定位符发送的第二访问指令;
根据所述第二访问指令返回持久统一资源定位符和安全验证信息;
接收所述访问终端根据所述持久统一资源定位符发送的包含所述安全验证信息的访问请求;
根据所述安全验证信息进行验证,若验证通过则根据所述访问请求获取虚拟机标识;
通过主控机代理进程与所述虚拟机标识对应的虚拟机中的虚拟机代理进程建立通信通道,并将所述访问请求通过所述通信通道发送给所述虚拟机代理进程,使得所述虚拟机代理进程将所述访问请求发送给所述虚拟机中的虚拟机服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述主控机代理进程接收所述虚拟机服务器根据所述访问请求返回的访问结果,所述访问结果是所述虚拟机服务器通过所述虚拟机代理进程经过所述通信通道返回到所述主控机代理进程的;
将所述访问结果返回给所述访问终端。
3.根据权利要求2所述的方法,其特征在于,所述通过所述主控机代理进程接收所述虚拟机服务器根据所述访问请求返回的访问结果,包括:
通过所述主控机代理进程接收所述虚拟机服务器在判定所述访问请求来自于所述主控机代理进程时根据所述访问请求返回的访问结果。
4.根据权利要求1所述的方法,其特征在于,所述通过主控机代理进程与所述虚拟机标识对应的虚拟机中的虚拟机代理进程建立通信通道,包括:
通过主控机代理进程发出携带有所述虚拟机标识的询问包,接收所述虚拟机标识对应的虚拟机通过虚拟机代理进程返回的响应包,以与所述虚拟机中的虚拟机代理进程建立通信通道。
5.一种访问虚拟机服务器的装置,其特征在于,所述装置包括:
第一指令接收模块,用于接收访问终端发送的第一访问指令;
第一返回模块,用于根据所述第一访问指令返回临时统一资源定位符;
第二指令接收模块,用于接收所述访问终端根据所述临时统一资源定位符发送的第二访问指令;
第二返回模块,用于根据所述第二访问指令返回持久统一资源定位符和安全验证信息;
第二接收模块,用于接收所述访问终端根据所述持久统一资源定位符发送的包含所述安全验证信息的访问请求;
验证模块,用于根据所述安全验证信息对所述访问请求进行验证;
获取模块,用于若所述验证模块验证通过,则根据所述访问请求获取虚拟机标识;
请求发送模块,用于通过主控机代理进程与所述虚拟机标识对应的虚拟机中的虚拟机代理进程建立通信通道,并将所述访问请求通过所述通信通道发送给所述虚拟机代理进程,使得所述虚拟机代理进程将所述访问请求发送给所述虚拟机中的虚拟机服务器。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
结果接收模块,用于通过所述主控机代理进程接收所述虚拟机服务器根据所述访问请求返回的访问结果,所述访问结果是所述虚拟机服务器通过所述虚拟机代理进程经过所述通信通道返回到所述主控机代理进程的;
结果返回模块,用于将所述访问结果返回给所述访问终端。
7.根据权利要求6所述的装置,其特征在于,所述结果接收模块具体用于通过所述主控机代理进程接收所述虚拟机服务器在判定所述访问请求来自于所述主控机代理进程时根据所述访问请求返回的访问结果。
8.根据权利要求5所述的装置,其特征在于,所述请求发送模块具体用于通过主控机代理进程发出携带有所述虚拟机标识的询问包,接收所述虚拟机标识对应的虚拟机通过虚拟机代理进程返回的响应包,以与所述虚拟机中的虚拟机代理进程建立通信通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510575541.1A CN105306433B (zh) | 2015-09-10 | 2015-09-10 | 一种访问虚拟机服务器的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510575541.1A CN105306433B (zh) | 2015-09-10 | 2015-09-10 | 一种访问虚拟机服务器的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105306433A CN105306433A (zh) | 2016-02-03 |
CN105306433B true CN105306433B (zh) | 2019-04-19 |
Family
ID=55203188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510575541.1A Active CN105306433B (zh) | 2015-09-10 | 2015-09-10 | 一种访问虚拟机服务器的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105306433B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3033217C (en) | 2016-08-09 | 2021-09-28 | Huawei Technologies Co., Ltd. | Method for virtual machine to access physical server in cloud computing system, apparatus, and system |
CN106909432B (zh) * | 2017-02-15 | 2020-01-10 | 南京赛宁信息技术有限公司 | 一种ctf在线竞赛平台的在线环境智能部署系统及方法 |
CN107273186A (zh) * | 2017-06-28 | 2017-10-20 | 深信服科技股份有限公司 | 访问虚拟机服务器的方法、物理主机以及虚拟机 |
CN109525553B (zh) * | 2018-10-12 | 2021-06-11 | 网络通信与安全紫金山实验室 | 一种url请求的传输保护方法、中间设备、服务器及系统 |
CN109726078B (zh) * | 2018-12-28 | 2022-12-06 | 广东亿迅科技有限公司 | 一种无侵入jvm线程堆栈采集的方法及装置 |
CN112329000B (zh) * | 2020-07-22 | 2024-06-04 | 深圳Tcl新技术有限公司 | 设备校验方法、主控设备、被控设备及可读存储介质 |
CN112416522B (zh) * | 2020-11-24 | 2024-06-28 | 北京华胜天成科技股份有限公司 | 一种虚拟机控制方法及其装置 |
CN112738074B (zh) * | 2020-12-25 | 2023-02-24 | 成都鼎安华智慧物联网股份有限公司 | 一种网络隔离中实现Telnet通信的方法 |
CN114900332B (zh) * | 2022-04-12 | 2024-05-31 | 深圳市乐凡信息科技有限公司 | 虚拟环境的数据传输方法、装置、设备及存储介质 |
CN117591248B (zh) * | 2024-01-18 | 2024-05-03 | 杭州筋斗腾云科技有限公司 | 基于容器化虚拟机的终端系统处理方法及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326997A (zh) * | 2012-03-23 | 2013-09-25 | 百度在线网络技术(北京)有限公司 | 一种访问虚拟服务器的方法及虚拟服务器系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571895B (zh) * | 2010-12-08 | 2015-04-01 | 中国电信股份有限公司 | 远程访问虚拟机的方法和系统 |
CN103200215A (zh) * | 2012-01-08 | 2013-07-10 | 佳都新太科技股份有限公司 | 一种在https上实现XenServer虚拟机远程控制的方法 |
EP2913956B1 (en) * | 2012-11-22 | 2017-01-04 | Huawei Technologies Co., Ltd. | Management control method and device for virtual machines |
CN104580531A (zh) * | 2015-02-05 | 2015-04-29 | 湖南合天智汇信息技术有限公司 | 一种基于WebSocket代理的Web远程桌面访问控制方法 |
-
2015
- 2015-09-10 CN CN201510575541.1A patent/CN105306433B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326997A (zh) * | 2012-03-23 | 2013-09-25 | 百度在线网络技术(北京)有限公司 | 一种访问虚拟服务器的方法及虚拟服务器系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105306433A (zh) | 2016-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105306433B (zh) | 一种访问虚拟机服务器的方法和装置 | |
CN106533883B (zh) | 一种网络专线的建立方法、装置及系统 | |
US11075821B2 (en) | Method and apparatus for managing field device based on cloud server | |
CN104348777B (zh) | 一种移动终端对第三方服务器的访问控制方法及系统 | |
CN103944890B (zh) | 基于客户端/服务器模式的虚拟交互系统及方法 | |
TWI230885B (en) | Computer network system, computer system, method for communication between computer systems, method for measuring computer system performance, and storage medium | |
CN106209726B (zh) | 一种移动应用单点登录方法及装置 | |
EP2919435A1 (en) | Communication terminal and secure log-in method and program | |
CN106936853A (zh) | 一种面向系统集成的跨域单点登录系统及方法 | |
CN104052746B (zh) | 异构应用单点登录系统及其单点登录方法 | |
CN108270882A (zh) | 域名的解析方法和装置、存储介质、电子装置 | |
CN103067404B (zh) | 一种用户访问嵌入式web服务器的方法 | |
US20110295941A1 (en) | System and method for continuation of a web session | |
CN105991518B (zh) | 网络接入认证方法及装置 | |
CN111062023B (zh) | 多应用系统实现单点登录的方法及装置 | |
CN107222561A (zh) | 一种传输层反向代理方法 | |
CN110401641A (zh) | 用户认证方法、装置、电子设备 | |
CN109491887A (zh) | 测试环境部署方法、装置、计算机设备及存储介质 | |
WO2021057802A1 (zh) | 管理das系统的方法和设备、电子设备、存储介质 | |
KR20210089113A (ko) | 사설 네트워크 간의 통신을 위한 방법, 장치, 전자 기기 및 저장 매체 | |
WO2020224241A1 (zh) | 一种云通信方法及装置、用户设备、网络设备 | |
CN111726328B (zh) | 用于对第一设备进行远程访问的方法、系统以及相关设备 | |
CN110730189A (zh) | 一种通信认证方法、装置、设备及存储介质 | |
CN117527338A (zh) | 一种物联网应用中双向身份加强鉴定方法及系统 | |
CN112068929A (zh) | 一种多架构云平台接入第三方web服务的统一管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong. Applicant after: SINFOR Polytron Technologies Inc Address before: 518000 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong. Applicant before: Shenxinfu Electronics Science and Technology Co., Ltd., Shenzhen |
|
GR01 | Patent grant | ||
GR01 | Patent grant |