虚拟机访问方法、系统、设备及计算机可读存储介质
文献发布时间:2023-06-19 10:27:30
技术领域
本申请涉及虚拟机技术领域,尤其是涉及一种虚拟机访问方法、系统、设备及计算机可读存储介质。
背景技术
虚拟化技术是一种用软件模拟计算机硬件的技术,自从虚拟化技术获得了硬件厂商的支持以来,这种软件模拟硬件的性能获得了巨大的提升,以至于整个操作系统,不需要直接安装在物理硬件上,而是运行在虚拟硬件上,便可获得完全可以接受的性能。这种物理硬件称之为物理机(Physical Machine,简称PM),而虚拟硬件称之为虚拟机(VirtualMachine,简称VM),其上运行的操作系统称之为宾客操作系统(Guest OS,简称GOS)。管理虚拟机的软件称之为虚拟机管理器(Virtual Machine Monitor,简称VMM)。
而在目前常见的软件开发和测试环境中,往往需要远程连接虚拟机进行调试,但是需要计算机与虚拟机处于同一网络中,例如处于同一内网中,才能使计算机访问到进行调试的虚拟机,如果位于其他网络中例如外网时,计算机是无法与虚拟机建立远程连接,进行调试的。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种应用于代理服务器的虚拟机访问方法,能够使未处于同一网络的计算机远程连接虚拟机,提高便捷性。
本申请还提出一种应用于客户端的虚拟机访问方法。
本申请还提出一种应用于管理平台的虚拟机访问方法。
本申请还提出一种具有上述虚拟机访问方法的代理服务器。
本申请还提出一种具有上述虚拟机访问方法的客户端。
本申请还提出一种具有上述虚拟机访问方法的电子设备。
本申请还提出一种具有上述虚拟机访问方法的计算机可读存储介质。
根据本申请的第一方面实施例的虚拟机访问方法,包括:获取客户端请求访问目标虚拟机的访问请求;所述目标虚拟机为待被客户端访问的虚拟机;将所述访问请求转发给管理平台;接收所述管理平台根据所述访问请求返回的对应所述访问请求的访问标识;根据所述访问标识和预存的映射关系确定所述目标虚拟机,并将所述访问标识发送给所述客户端;获取所述客户端根据所述访问标识返回的通信请求;根据所述通信请求建立与所述目标虚拟机通信连接,以使所述客户端访问所述目标虚拟机。
根据本申请实施例的虚拟机访问方法,至少具有如下有益效果:通过获取客户端请求访问目标虚拟机的访问请求,将访问请求转发给管理平台,接收管理平台根据访问请求返回的访问标识,根据访问标识和预存的映射关系确定目标虚拟机并将访问标识返回给客户端,获取客户端根据访问标识返回的通信请求,根据通信请求与目标虚拟机建立通信连接,以使客户端通过通信连接访问目标虚拟机,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
根据本申请的一些实施例,所述根据所述通信请求建立与所述目标虚拟机通信连接,包括:对所述通信请求进行加密,生成加密请求;将所述加密请求转发给所述目标虚拟机,与所述目标虚拟机建立通信连接。
根据本申请的一些实施例,还包括:将预存的所述映射关系保存至数据库中。
根据本申请的第二方面实施例的目标虚拟机访问方法,包括:将访问请求发送给代理服务器,所述访问请求通过请求访问目标虚拟机生成,由所述代理服务器将所述访问请求转发给管理平台并获取所述管理平台根据所述访问请求返回的访问标识并根据所述访问标识和预存的映射关系确定所述目标虚拟机;获取代理服务器返回的访问标识;根据所述访问标识发送通信请求给代理服务器,以使所述代理服务器根据所述通信请求与所述目标虚拟机建立的通信连接进行访问,所述通信连接由所述代理服务器将所述通信请求转发给所述目标虚拟机建立。
根据本申请实施例的目标虚拟机访问方法,至少具有如下有益效果:将访问请求发送给代理服务器,由代理服务器将访问请求转发给管理平台并获取管理平台根据访问请求返回的访问标识,并由代理服务器根据访问标识和预存的映射关系确定请求访问的目标虚拟机,获取代理服务器发挥的访问标识,根据访问标识发送通信请求给代理服务器,以使代理服务器根据通信请求与待被访问的目标虚拟机建立的通信连接进行访问,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
根据本申请的第三方面实施例的目标虚拟机访问方法,包括:获取代理服务器转发的访问请求,所述访问请求由客户端通过请求访问目标虚拟机生成;
根据所述访问请求返回所述访问请求对应的访问标识,以使所述代理服务器将所述访问标识转发给客户端并根据客户端返回的通信请求建立通信连接。
根据本申请实施例的目标虚拟机访问方法,至少具有如下有益效果:通过获取代理服务器转发的由客户端请求访问目标虚拟机生成的访问请求,根据访问请求返回访问请求对应的访问标识,以使代理服务器根据访问标识和预存的映射关系与待被访问的目标虚拟机建立通信连接,客户端通过通信连接访问目标虚拟机,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
根据本申请的第四方面实施例的代理服务器,包括:第一获取模块,所述第一获取模块用于获取客户端请求访问目标虚拟机的访问请求;所述目标虚拟机为待被客户端访问的虚拟机;转发模块,所述转发模块用于将所述访问请求转发给管理平台;接收模块,所述接收模块用于接收所述管理平台根据所述访问请求返回的对应所述访问请求的访问标识;确定模块,所述确定模块用于根据所述访问标识和预存的映射关系确定所述目标虚拟机,并将所述访问标识发送给所述客户端;第二获取模块,所述第二获取模块用于获取所述客户端根据所述访问标识返回的通信请求;连接模块,所述连接模块用于根据所述通信请求建立与所述目标虚拟机通信连接,以使所述客户端访问所述目标虚拟机。
根据本申请实施例的代理服务器,至少具有如下有益效果:通过第一获取模块获取客户端请求访问待被客户端访问目标虚拟机的访问请求,转发模块将访问请求转发给管理平台,接收模块接收管理平台根据访问请求返回的访问标识,确定模块根据访问标识和预存的映射关系确定待被访问的目标虚拟机并将访问标识返回给客户端,第二获取模块获取客户端根据访问标识返回的通信请求,连接模块根据通信请求与目标虚拟机建立通信连接,以使客户端通过通信连接访问目标虚拟机,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
根据本申请的第五方面实施例的客户端,包括:发送模块,所述发送模块用于将访问请求发送给代理服务器,所述访问请求通过请求访问目标虚拟机生成,由所述代理服务器将所述访问请求转发给管理平台并获取所述管理平台根据所述访问请求返回的访问标识并根据所述访问标识和预存的映射关系确定所述目标虚拟机;第三获取模块,第三获取模块用于获取代理服务器返回的访问标识;访问模块,所述访问模块用于根据所述访问标识发送通信请求给代理服务器,以使所述代理服务器根据所述通信请求与所述目标虚拟机建立的通信连接进行访问,所述通信连接由所述代理服务器将所述通信请求转发给所述目标虚拟机建立。
根据本申请实施例的目标虚拟机访问方法,至少具有如下有益效果:其中发送模块将访问请求发送给代理服务器,由代理服务器将访问请求转发给管理平台并获取管理平台根据访问请求返回的访问标识,并由代理服务器根据访问标识和预存的映射关系确定请求访问的目标虚拟机,第三获取模块获取代理服务器发挥的访问标识,访问模块根据访问标识发送通信请求给代理服务器,以使代理服务器根据通信请求与待被访问的目标虚拟机建立的通信连接进行访问,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
根据本申请的第六方面实施例的目标虚拟机访问系统,包括:如第四方面实施例提到的代理服务器和第五方面实施例提到的客户端。
根据本申请的目标虚拟机访问系统,至少具有如下有益效果:通过第四方面提到的代理服务器和第五方面提到的客户端,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
根据本申请的第七方面实施例的电子设备,包括:至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行所述指令时实现如第一方面、第二方面和第三方面所述的虚拟机访问方法。
根据本申请的电子设备,至少具有如下有益效果:通过执行第一方面、第二方面和第三方面实施例中提到的虚拟机访问方法,能够使未处于同一网络的计算机远程连接虚拟机,提高便捷性。
根据本申请的第八方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面、第二方面和第三方面所述的虚拟机访问方法
根据本申请的计算机可读存储介质,至少具有如下有益效果:通过执行第一方面、第二方面和第三方面实施例中提到的虚拟机访问方法,能够使未处于同一网络的计算机远程连接虚拟机,提高便捷性。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
图1为本申请实施例中虚拟机访问方法的第一具体流程示意图;
图2为本申请实施例中虚拟机访问方法的步骤S160的一具体流程示意图;
图3为本申请实施例中虚拟机访问方法的第二具体流程示意图;
图4为本申请实施例中虚拟机访问方法的第三具体流程示意图;
图5为本申请实施例中代理服务器的一具体模块示意图;
图6为本申请实施例中客户端的一具体模块示意图;
图7为本申请实施例中虚拟机访问系统的一具体模块示意图;
图8为本申请实施例中虚拟机访问方法的一具体应用实例图。
附图标记:
第一获取模块110、转发模块120、接收模块130、确定模块140、第二获取模块150、连接模块160;发送模块210、第三获取模块220、访问模块230;代理服务器310;客户端320。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
需要说明的是,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同流程图中的顺序执行所示出或描述的步骤。如果涉及到“若干”,其含义是一个以上,如果涉及到“多个”,其含义是两个以上,如果涉及到“以下”,均应理解为包括本数。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本申请的实施例,并且除非另外要求,否则不会对本申请的范围施加限制。大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
需要说明的是,如无特殊说明,在实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
虚拟化技术是一种用软件模拟计算机硬件的技术,自从虚拟化技术获得了硬件厂商的支持以来,这种软件模拟硬件的性能获得了巨大的提升,以至于整个操作系统,不需要直接安装在物理硬件上,而是运行在虚拟硬件上,便可获得完全可以接受的性能。这种物理硬件称之为物理机,而虚拟硬件称之为虚拟机,其上运行的操作系统称之为宾客操作系统。管理虚拟机的软件称之为虚拟机管理器。
而在目前常见的软件开发和测试环境中,往往需要远程连接虚拟机进行调试,但是需要计算机与虚拟机处于同一网络中,例如处于同一内网中,才能使计算机访问到进行调试的虚拟机,如果位于其他网络中例如外网时,计算机是无法与虚拟机建立远程连接,进行调试的。
基于此,本申请实施例提供了一种虚拟机访问方法、系统、设备及计算机可读存储介质,能够使未处于同一网络的计算机远程连接虚拟机,提高便捷性。
第一方面,本申请实施例提供了一种应用于代理服务器的虚拟访问方法。
在一些实施例中,参照图1,示出了本申请实施例中虚拟机访问方法的流程示意图。其具体包括步骤:
S110,获取客户端请求访问目标虚拟机的访问请求;
S120,将访问请求转发给管理平台;
S130,接收管理平台根据访问请求返回的对应访问请求的访问标识;
S140,根据访问标识和预存的映射关系确定目标虚拟机,并将访问标识发送给客户端;
S150,获取客户端根据访问标识返回的通信请求;
S160,根据通信请求建立与目标虚拟机通信连接,以使客户端访问目标虚拟机。
在步骤S110中,代理服务器获取客户端用于请求访问目标虚拟机的访问请求;代理服务器用于获取客户端发送的网络信息进行中转处理;访问请求是指客户端进行访问时的请求,该访问请求指向客户端所要访问的目标虚拟机;目标虚拟机是指待被客户端访问的虚拟机。具体地说,客户端在进行访问的前端页面例如浏览器页面进行访问目标虚拟机,该访问行为会产生对应的访问请求,可以通过Nginx(engine x)将访问请求转发至代理服务器。
在步骤S120中,代理服务器接收到客户端转发过来的访问请求后,会将访问请求转发给管理平台,代理服务器将访问请求转发给管理平台是用于查询访问请求中携带的信息,例如客户端所要访问的目标虚拟机的标识信息。需要说明的是,代理服务器无法直接从客户端的访问请求解析得到所要访问的目标虚拟机,通过将访问请求发送给管理平台,由管理平台对访问请求进行解析,以将客户端所要访问的目标虚拟机告知给代理服务器。
在步骤S130中,当管理平台接收到代理服务器转发的访问请求后,会对访问请求进行解析,获取客户端所要访问的目标虚拟机的访问信息,例如代理服务器所连接的多个目标虚拟机中的某一个目标虚拟机的标识信息,包括目标虚拟机ID(Identity document,身份标识号)、目标虚拟机名称、主机域名、主机IP(Internet Protocol,网络之间互连的协议)等,根据该访问请求生成目标虚拟机所对应的访问标识。在实际应用中,访问标识包括客户端远程连接目标虚拟机所需要的ticket以及代理服务器进行路由连接的前缀标识,代理服务器会接收管理平台返回的访问请求所对应的访问标识。
在步骤S140中,当代理服务器接收到访问标识后,可以根据预存在代理服务器的映射关系和访问标识确定具体的目标虚拟机,通过确定待被访问的目标虚拟机后,该映射关系表示物理机与目标虚拟机的连接关系,例如目标虚拟机所对应的私网IP、私网端口号等。代理服务器还会将访问标识返回给客户端,以告知客户端所要连接的目标虚拟机的连接信息等。
在一些实施例中,代理服务器还可以将预存的映射关系保存到数据库中,以进行记录和保存,方便后续进行资料调取。
在步骤S150中,客户端当接收到代理服务器返回的访问标识后,能够确定连接目标虚拟机时所要的连接信息,通过该访问标识生成对应的通信请求,代理服务器可以接收客户端通过Nginx转发的通信请求。在实际应用中,客户端通过发送WebSocket(基于TCP的全双工通信协议)请求到代理服务器,以告知代理服务器需要连接目标虚拟机。
在步骤S160中,当代理服务器确定客户端所要访问的目标虚拟机以及获取连接目标虚拟机的信息例如连接目标虚拟机所需要的ticket以及代理服务器进行路由连接的前缀标识、目标虚拟机所对应的私网IP、私网端口号,目标虚拟机将客户端的通信请求通过上述信息转发到相应的目标虚拟机,与目标虚拟机建立通信连接,客户端可以通过建立的通信连接访问到目标虚拟机。在实际应用中,当代理服务器与客户端建立起通信连接后,会将目标虚拟机的显示界面等信息通过Nginx返回给客户端,在客户端上进行显示,例如在前端界面或者浏览器界面进行显示,用户可以在客户端上对目标虚拟机进行访问操作。
在一些实施例中,参考图2,步骤S160具体还包括步骤:
S161,对通信请求进行加密,生成加密请求;
S162,将加密请求转发给目标虚拟机,与目标虚拟机建立通信连接。
在步骤S161中,代理服务器在将通信请求发送给目标虚拟机以建立通信连接前,会对访问请求进行加密,生成加密请求,具体地说,对客户端的访问请求即WebSocket请求进行加密,生成WSS(Web Socket Secure,WebSocket的加密请求)请求。
在步骤S162中,当访问请求加密生成加密请求后,将加密请求转发给待被访问的目标虚拟机,从而与目标虚拟机建立通信连接,具体地说,即根据加密生成的WSS请求建立起WSS通信连接。
在本申请实施例中,通过对访问请求进行加密,能够在一定程度上提高代理服务器及客户端对目标虚拟机访问的安全性,避免出现安全信息泄露的风险。
本申请实施例通过获取客户端请求访问目标虚拟机的访问请求,将访问请求转发给管理平台,接收管理平台根据访问请求返回的访问标识,根据访问标识和预存的映射关系确定目标虚拟机并将访问标识返回给客户端,获取客户端根据访问标识返回的通信请求,根据通信请求与目标虚拟机建立通信连接,以使客户端通过通信连接访问目标虚拟机,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
第二方面,本申请实施例提供了一种应用于客户端的虚拟机访问方法。
在一些实施例中,参照图3,示出了本申请实施例中应用于客户端的虚拟机访问方法的流程示意图。其具体包括步骤:
S210,将访问请求发送给代理服务器,由代理服务器将访问请求转发给管理平台并获取管理平台根据访问请求返回的访问标识,并由代理服务器根据访问标识和预存的映射关系确定请求访问的目标虚拟机;
S220,获取代理服务器返回的访问标识;
S230,根据访问标识发送通信请求给代理服务器,以使代理服务器根据通信请求与请求访问的目标虚拟机建立的通信连接进行访问,通信连接由代理服务器将通信请求转发给目标虚拟机建立。
在步骤S210中,客户端通过调用代理服务器的服务接口对目标虚拟机进行访问,生成对应的访问请求,该访问请求包括目标虚拟机的标识信息等。客户端将访问请求发送给代理服务器,代理服务器将访问请求转发给管理平台,并获取管理平台根据访问请求返回的访问标识,代理服务器根据访问标识和预存在代理服务器处的关于目标虚拟机的映射关系,确定客户端所要访问的目标虚拟机,并将该访问标识返回给客户端。
在步骤S220和步骤S230中,客户端接获取到代理服务器返回的访问标识后,会根据该访问标识生成对应的通信请求,该通信请求能够通过Nginx转发给代理服务器,由代理服务器将其转发给目标虚拟机所处的主机,从而与该主机建立通信请求,从而使客户端能够访问主机上的对应的目标虚拟机。
在一些实施例中,代理服务器能够将通信请求进行加密,生成加密请求,从而根据加密请求建立通信连接。在实际应用中,将客户端的通信请求即WebSocket请求加密生成WSS请求,根据WSS请求与目标虚拟机所处的主机建立加密的通信连接,从而保证客户端对目标虚拟机访问的安全性。
在本申请实施例中,将访问请求发送给代理服务器,由代理服务器将访问请求转发给管理平台并获取管理平台根据访问请求返回的访问标识,并由代理服务器根据访问标识和预存的映射关系确定请求访问的目标虚拟机,获取代理服务器发挥的访问标识,根据访问标识发送通信请求给代理服务器,以使代理服务器根据通信请求与待被访问的目标虚拟机建立的通信连接进行访问,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
第三方面,本申请实施例提供了一种应用于管理中心的虚拟机访问方法。
需要说明的是,本申请实施例中所提到的管理平台预存有目标虚拟机的访问标识,即目标虚拟机的ticket,客户端及代理服务器可以通过访问管理平台以查询目标虚拟机的ticket进行后续的目标虚拟机连接。
在一些实施例中,参照图4,示出了本申请实施例中应用于管理平台的虚拟机访问方法的流程示意图。其具体包括步骤:
S310,获取代理服务器转发的访问请求,访问请求由客户端通过请求访问目标虚拟机生成;
S320,根据访问请求返回访问请求对应的访问标识,以使代理服务器将访问标识转发给客户端并根据客户端返回的通信请求建立通信连接。
在步骤S310中,管理平台会获取代理服务器转发过来的访问请求,该访问请求是由客户端在前端页面或浏览器调用代理服务器的服务接口以请求访问相关的目标虚拟机后所产生的请求,代理服务器接收到该访问请求后,会将访问请求转发给管理平台,以对客户端所要访问的目标虚拟机的ticket进行查询。
在步骤S320中,管理平台接收到代理服务器转发的访问标识后,会进行目标虚拟机的访问标识的查询,即目标虚拟机的ticket的查询,通过对目标虚拟机ticket的查询,确定对应的访问标识,即客户端对目标虚拟机进行远程连接时所需要的ticket以及客户端的路由前缀。将访问标识返回给代理服务器,代理服务器接收到访问标识后,会将访问标识返回给客户端,客户端接收到访问标识后,则能够根据接收到的目标虚拟机的ticket,生成并发送相应的通信请求即WebSocket请求,通过Nginx将其转发给代理服务器,代理服务器根据该通信请求转发给目标虚拟机对应的主机,从而由主机确定具体的目标虚拟机,建立起通信连接,客户端可以根据该通信连接与目标虚拟机进行远程连接及访问。
在本申请实施例中,通过获取代理服务器转发的由客户端请求访问目标虚拟机生成的访问请求,根据访问请求返回访问请求对应的访问标识,以使代理服务器根据访问标识和预存的映射关系与待被访问的目标虚拟机建立通信连接,客户端通过通信连接访问目标虚拟机,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
在可能实施的应用实例中,在客户端的前端页面或浏览器页面调用代理服务器即VM WebSocket代理服务器的服务接口,从而产生相应的请求即访问请求,通过Nginx将其转发至代理服务器处,代理服务器处接收到该访问请求后,会将访问请求转发给管理平台,从而查询客户端所要连接的目标虚拟机的ticket,管理平台查询到相应的ticket后,会将该ticket返回给代理服务器,代理服务器则将ticket返回给客户端,客户端根据目标虚拟机的ticket产生对应的HTTP请求及WebSocket请求,通过Nginx转发给代理服务器,代理服务器接收到该请求后,会对WebSocket请求进行加密生成WSS请求(WEB SOCKET SECUR)即WebSocket请求的加密版本,根据该WSS请求从而与目标虚拟机所对应的主机建立通信连接即远程连接,客户端可以通过该通信连接与目标虚拟机进行远程连接及访问。
第四方面,本申请实施例提供了一种用于执行第一方面实施例中提到的虚拟机访问方法的代理服务器。
在一些实施例中,参照图5,示出了本申请实施例中代理服务器的模块示意图,具体包括:第一获取模块110、转发模块120、接收模块130、确定模块140、第二获取模块150和连接模块160。
其中,第一获取模块110用于获取客户端请求访问目标虚拟机的访问请求;
转发模块120用于将访问请求转发给管理平台;
接收模块130用于接收管理平台根据访问请求返回的对应访问请求的访问标识;
确定模块140用于根据访问标识和预存的映射关系确定待被访问的目标虚拟机,并将访问标识发送给客户端;
第二获取模块150用于获取客户端根据访问标识返回的通信请求;
连接模块160用于根据通信请求建立与待被访问的目标虚拟机通信连接,以使客户端访问目标虚拟机。
需要说明的是,上述各个模块的具体功能及介绍已在第一方面实施例中详细说明,故不再赘述。
在本申请实施例中,通过第一获取模块110获取客户端请求访问待被客户端访问目标虚拟机的访问请求,转发模块120将访问请求转发给管理平台,接收模块130收管理平台根据访问请求返回的访问标识,确定模块140根据访问标识和预存的映射关系确定待被访问的目标虚拟机并将访问标识返回给客户端,第二获取模块150获取客户端根据访问标识返回的通信请求,连接模块160根据通信请求与目标虚拟机建立通信连接,以使客户端通过通信连接访问目标虚拟机,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
第五方面,本申请实施例提供了一种用于执行第二方面实施例中提到的虚拟机访问方法的客户端。
在一些实施例中,参照图6,示出了本申请实施例中客户端的模块示意图,具体包括:发送模块210、第三获取模块220和访问模块230;
其中发送模块210用于将访问请求发送给代理服务器,由代理服务器将访问请求转发给管理平台并获取管理平台根据访问请求返回的访问标识,并由代理服务器根据访问标识和预存的映射关系确定请求访问的目标虚拟机;
第三获取模块220用于获取代理服务器返回的访问标识;
访问模块230用于根据访问标识发送通信请求给代理服务器,以使代理服务器根据通信请求与待被访问的目标虚拟机建立的通信连接进行访问,通信连接由代理服务器将通信请求转发给目标虚拟机建立。
需要说明的是,上述各个模块的具体功能及介绍已在第二方面实施例中详细说明,故不再赘述。
在本申请实施例中,发送模块210将访问请求发送给代理服务器,由代理服务器将访问请求转发给管理平台并获取管理平台根据访问请求返回的访问标识,并由代理服务器根据访问标识和预存的映射关系确定请求访问的目标虚拟机,第三获取模块220获取代理服务器发挥的访问标识,访问模块230根据访问标识发送通信请求给代理服务器,以使代理服务器根据通信请求与待被访问的目标虚拟机建立的通信连接进行访问,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
第六方面,本申请实施例提供了一种虚拟机访问系统。
在一些实施例中,参照图7,示出了本申请实施例中虚拟机访问系统的模块示意图,具体包括:
第四方面实施例中提到的代理服务器310和第五方面实施例中提到的客户端320。
需要说明的是,上述提到的代理服务器310和客户端320的具体功能及介绍已在第四方面和第五方面实施例中详细说明,故不再赘述。
在可能实施的应用实例中,本申请实施例中的系统架构如图8所示,在客户端的前端页面或浏览器页面调用代理服务器的服务接口,从而产生相应的请求即访问请求,通过Nginx将其转发至代理服务器处,代理服务器处接收到该访问请求后,会将访问请求转发给管理平台,从而查询客户端所要连接的目标虚拟机的ticket,管理平台查询到相应的ticket后,会将该ticket返回给代理服务器,代理服务器则将ticket返回给客户端,客户端根据目标虚拟机的ticket产生对应的HTTP请求及WebSocket请求,通过Nginx转发给代理服务器,代理服务器接收到该请求后,会对WebSocket请求进行加密生成WSS请求(WEB SOCKETSECUR)即WebSocket请求的加密版本,根据该WSS请求从而与目标虚拟机所对应的主机建立通信连接即远程连接,客户端可以通过该通信连接与目标虚拟机进行远程连接及访问。另一方面,代理服务器还可以将映射关系保存到数据库中,以便后续进行查验。
在本申请实施例中,通过第四方面提到的代理服务器和第五方面提到的客户端,能够使未处于同一网络的计算机远程连接目标虚拟机,提高便捷性。
第七方面,本申请实施例还提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;
其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行第一方面、第二方面和第三方面实施例中提到的虚拟机访问方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本申请第一方面、第二方面和第三方面实施例中提到的虚拟机访问方法。处理器通过运行存储在存储器中的非暂态软件程序以及指令,从而实现上述第一方面、第二方面和第三方面实施例中提到的虚拟机访问方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行上述第一方面、第二方面和第三方面实施例中提到的虚拟机访问方法。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述第一方面、第二方面和第三方面实施例中提到的虚拟机访问方法所需的非暂态软件程序以及指令存储在存储器中,当被一个或者多个处理器执行时,执行上述第一方面、第二方面和第三方面实施例中提到的虚拟机访问方法。
第八方面,本申请实施例还提供了计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:执行第一方面、第二方面和第三方面实施例中提到的虚拟机访问方法;
在一些实施例中,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被第七方面实施例的电子设备中的一个处理器执行,可使得上述一个或多个处理器执行上述第一方面、第二方面和第三方面实施例中提到的虚拟机访问方法。
以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
在本说明书的描述中,参考术语“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。
尽管已经示出和描述了本申请的实施例,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
- 虚拟机访问方法、系统、设备及计算机可读存储介质
- 一种虚拟机数据访问方法、装置和计算机可读存储介质