一种虚拟机的访问方法及装置与流程

文档序号:11285939阅读:217来源:国知局
一种虚拟机的访问方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种虚拟机的访问方法及装置。



背景技术:

虚拟机是通过软件模拟的具有完整硬件系统功能的,且运行在一个完全隔离环境中的完整计算机系统。

一般情况下,虚拟机与其对应的物理机通过固定的端口相连。当访问虚拟机时,需通过其对应的物理机,确定出对应的端口,然后通过此端口对虚拟机进行访问。

当需同时访问多个虚拟机时,需通过多个虚拟机分别对应的物理机,经其分别对应的端口,逐个对虚拟机进行访问,这导致虚拟机的访问效率较低。



技术实现要素:

本发明实施例提供了一种虚拟机的访问方法及装置,能减少虚拟机的访问时间。

第一方面,本发明实施例提供了一种虚拟机的访问方法,包括:

确定至少一个待访问虚拟机的标识信息,以及每一个所述待访问虚拟机分别对应的访问端口;

利用所述至少一个待访问虚拟机的标识信息和所述访问端口,构建每一个所述待访问虚拟机对应的访问链接;

根据各个所述访问链接,构建所述至少一个待访问虚拟机的控制台;

通过所述至少一个待访问虚拟机的控制台,对各个所述待访问虚拟机进行访问。

优选地,

所述确定至少一个待访问虚拟机的标识信息,以及每一个所述待访问虚拟机分别对应的访问端口,包括:

启动所述至少一个待访问虚拟机的代理服务;

通过所述至少一个待访问虚拟机的代理服务,确定所述标识信息和所述访问端口。

优选地,

所述通过所述至少一个待访问虚拟机的代理服务,确定所述标识信息和所述访问端口,包括:

通过所述代理服务,根据每一个所述待访问虚拟机的标识信息,确定所述待访问虚拟机对应的端口查询区域;

从所述端口查询区域中选择一个待查询端口;

a1:确定所述待查询端口是否可用,如果是,则执行a2;否则执行a3;

a2:将所述待查询端口确定为所述访问端口;

a3:从所述端口查询区域中选择一个未查询过的待查询端口,并执行a1。

优选地,

所述利用所述至少一个待访问虚拟机的标识信息和所述访问端口,构建每一个所述待访问虚拟机对应的访问链接,包括:

利用所述标识信息和所述访问端口,建立所述待访问虚拟机对应的安全外壳协议ssh连接隧道;

所诉根据各个所述访问链接,构建所述至少一个待访问虚拟机的控制台,包括:

根据各个所述ssh连接隧道,构建所述至少一个待访问虚拟机的控制台。

优选地,

在所述根据各个所述ssh连接隧道,构建所述至少一个待访问虚拟机的控制台之后,进一步包括:

根据预设的检测周期,对每个所述ssh连接隧道进行检测;

当存在至少一个ssh连接隧道出现异常时,删除所述出现异常的ssh连接隧道。

第二方面,本发明实施例提供了一种虚拟机的访问装置,包括:确定单元、构建单元和访问单元;其中,

所述确定单元,用于确定至少一个待访问虚拟机的标识信息,以及每一个所述待访问虚拟机分别对应的访问端口;

所述构建单元,用于利用所述至少一个待访问虚拟机的标识信息和所述访问端口,构建每一个所述待访问虚拟机对应的访问链接;并根据各个所述访问链接,构建所述至少一个待访问虚拟机的控制台;

所述访问单元,用于通过所述构建单元构建的至少一个待访问虚拟机的控制台,对各个所述待访问虚拟机进行访问。

优选地,

所述确定单元,用于启动所述至少一个待访问虚拟机的代理服务;通过所述至少一个待访问虚拟机的代理服务,确定所述标识信息和所述访问端口。

优选地,

所述确定单元,用于通过所述代理服务,根据每一个所述待访问虚拟机的标识信息,确定所述待访问虚拟机对应的端口查询区域;从所述端口查询区域中选择一个待查询端口,并执行:

a1:确定所述待查询端口是否可用,如果是,则执行a2;否则执行a3;

a2:将所述待查询端口确定为所述访问端口;

a3:从所述端口查询区域中选择一个未查询过的待查询端口,并执行a1。

优选地,

所述构建单元,用于利用所述标识信息和所述访问端口,建立所述待访问虚拟机对应的安全外壳协议ssh连接隧道;并根据各个所述ssh连接隧道,构建所述至少一个待访问虚拟机的控制台。

优选地,

进一步包括:检测单元;其中,

所述检测单元,进一步用于根据预设的检测周期,对每个所述ssh连接隧道进行检测;当存在至少一个ssh连接隧道出现异常时,删除所述出现异常的ssh连接隧道。

本发明实施例提供了一种虚拟机的访问方法及装置,首先确定各个待访问虚拟机的标识信息,以及每一个待访问虚拟机分别对应的访问端口,然后利用确定出的标识信息和访问端口,构建各个待访问虚拟机对应的访问链接,并根据各个访问链接,构建包括各个待访问虚拟机的控制台,而后可通过构建出的控制台,对各个待访问虚拟机进行访问。由此,通过虚拟机控制台即可对对应的虚拟机进行访问,而无需再通过各个虚拟机对应的物理机,经固定的端口对虚拟机进行逐个访问,从而减少了虚拟机的访问时间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种虚拟机的访问方法的流程图;

图2是本发明另一个实施例提供的一种虚拟机的访问方法的流程图;

图3是本发明一个实施例提供的一种虚拟机的访问装置的结构示意图;

图4是本发明另一个实施例提供的一种虚拟机的访问装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种虚拟机的访问方法,该方法可以包括以下步骤:

步骤101:确定至少一个待访问虚拟机的标识信息,以及每一个所述待访问虚拟机分别对应的访问端口;

步骤102:利用所述至少一个待访问虚拟机的标识信息和所述访问端口,构建每一个所述待访问虚拟机对应的访问链接;

步骤103:根据各个所述访问链接,构建所述至少一个待访问虚拟机的控制台;

步骤104:通过所述至少一个待访问虚拟机的控制台,对各个所述待访问虚拟机进行访问。

上述实施例中,首先确定各个待访问虚拟机的标识信息,以及每一个待访问虚拟机分别对应的访问端口,然后利用确定出的标识信息和访问端口,构建各个待访问虚拟机对应的访问链接,并根据各个访问链接,构建包括各个待访问虚拟机的控制台,而后可通过构建出的控制台,对各个待访问虚拟机进行访问。由此,通过虚拟机控制台即可对对应的虚拟机进行访问,而无需再通过各个虚拟机对应的物理机,经固定的端口对虚拟机进行逐个访问,从而减少了虚拟机的访问时间。

本发明一个实施例中,步骤101的具体实施方式,可以包括:

启动所述至少一个待访问虚拟机的代理服务;

通过所述至少一个待访问虚拟机的代理服务,确定所述标识信息和所述访问端口。

在这里,启动虚拟机访问的代理服务,则可利用一个代理机承载各个虚拟机的代理服务,同时确定多个虚拟机的访问端口,从而提高访问端口的确定效率,由此进一步减少了虚拟机的访问时间,提高虚拟机的访问效率。

本实施例中的方法至少可通过以下程序实现:

/opt/novnc/utils/websockify--web/opt/novnc--target-config=/opt/vnc_tokens6080>>/opt/novnc/novnc.log&

具体地,本发明一个实施例中,所述通过所述至少一个待访问虚拟机的代理服务,确定所述标识信息和所述访问端口,包括:

通过所述代理服务,根据每一个所述待访问虚拟机的标识信息,确定所述待访问虚拟机对应的端口查询区域;

从所述端口查询区域中选择一个待查询端口;

a1:确定所述待查询端口是否可用,如果是,则执行a2;否则执行a3;

a2:将所述待查询端口确定为所述访问端口;

a3:从所述端口查询区域中选择一个未查询过的待查询端口,并执行a1。

举例来说,虚拟机的标识信息为虚拟机的ip地址,则可通过此ip地址确定出对应的端口查询区域,若此端口查询区域中有两个待查询端口,分别为a和b,则首先看a是否可用,若a被占用或有连接故障,则再继续看b是否可用,若b可用,就将b确定为访问端口。由此,可避免确定出的访问端口无法访问虚拟机,从而提高虚拟机访问的准确率。

为了提高虚拟机访问的安全性,本发明一个实施例中,步骤102的具体实施方式,可以包括:

利用所述标识信息和所述访问端口,建立所述待访问虚拟机对应的安全外壳协议ssh连接隧道;

步骤103的具体实施方式,可以包括:

根据各个所述ssh连接隧道,构建所述至少一个待访问虚拟机的控制台。

举例来说,当待访问虚拟机为xen时,根据各个待访问虚拟机的标识信息和访问端口,建立每个待访问虚拟机各自对应的安全外壳协议(secureshell,ssh)连接隧道,再根据各个待访问虚拟机的ssh连接隧道,构建各个待访问虚拟机的控制台,从而使得在通过控制台对虚拟机进行访问时,需通过ssh连接通道,例如,用户通过客户端用novnc的地址和6080端口访问vnc_auto.html,对虚拟机进行访问,从而提高了虚拟机访问的安全性。

本发明一个实施例中,在步骤104之后,可以进一步包括:根据预设的检测周期,对每个所述ssh连接隧道进行检测;当存在至少一个ssh连接隧道出现异常时,删除所述出现异常的ssh连接隧道。

在这里,定期对ssh连接隧道进行巡检,对异常的ssh连接隧道端口的资源进行回收,保证控制台的正常运行,提高虚拟控制台的访问准确率。

如图2所示,本发明实施例提供了一种虚拟机的访问方法,该方法可以包括以下步骤:

步骤201:启动至少一个待访问虚拟机的代理服务。

此步骤可通过以下程序实现:/opt/novnc/utils/websockify--web/opt/novnc--target-config=/opt/vnc_tokens6080>>/opt/novnc/novnc.log&

步骤202:通过所述代理服务,根据每一个所述待访问虚拟机的标识信息,确定所述待访问虚拟机对应的端口查询区域。

例如,虚拟机的标识信息为虚拟机的ip地址,则可通过此ip地址确定出对应的端口查询区域。

步骤203:从所述端口查询区域中选择一个待查询端口。

步骤204:判断所述待查询端口是否可用,如果是,则执行步骤205,否则执行步骤206。

步骤205:将所述待查询端口确定为访问端口,并执行步骤207。

步骤206:从所述端口查询区域中选择一个未查询过的待查询端口,并执行步骤204。

例如,端口查询区域中有两个待查询端口,分别为a和b,则首先看a是否可用,若a被占用或有连接故障,则再继续看b是否可用,若b可用,就将b确定为访问端口。

步骤207:利用所述标识信息和所述访问端口,建立所述待访问虚拟机对应的安全外壳协议ssh连接隧道。

步骤208:根据各个所述ssh连接隧道,构建所述至少一个待访问虚拟机的控制台。

举例来说,当待访问虚拟机为xen时,根据各个待访问虚拟机的标识信息和访问端口,建立每个待访问虚拟机各自对应的ssh连接隧道,再根据各个待访问虚拟机的ssh连接隧道,构建各个待访问虚拟机的控制台,从而提高了虚拟机访问的安全性。

步骤209:通过所述至少一个待访问虚拟机的控制台,对各个所述待访问虚拟机进行访问。

上述实施例中,首先确定各个待访问虚拟机的标识信息,以及每一个待访问虚拟机分别对应的访问端口,然后利用确定出的标识信息和访问端口,构建各个待访问虚拟机对应的访问链接,并根据各个访问链接,构建包括各个待访问虚拟机的控制台,而后可通过构建出的控制台,对各个待访问虚拟机进行访问。由此,通过虚拟机控制台即可对对应的虚拟机进行访问,而无需再通过各个虚拟机对应的物理机,经固定的端口对虚拟机进行逐个访问,从而减少了虚拟机的访问时间。

如图3所示,本发明实施例提供了一种虚拟机的访问装置,包括:确定单元301、构建单元302和访问单元303;其中,

所述确定单元301,用于确定至少一个待访问虚拟机的标识信息,以及每一个所述待访问虚拟机分别对应的访问端口;

所述构建单元302,用于利用所述至少一个待访问虚拟机的标识信息和所述访问端口,构建每一个所述待访问虚拟机对应的访问链接;并根据各个所述访问链接,构建所述至少一个待访问虚拟机的控制台;

所述访问单元303,用于通过所述构建单元构建的至少一个待访问虚拟机的控制台,对各个所述待访问虚拟机进行访问。

上述实施例中,首先确定各个待访问虚拟机的标识信息,以及每一个待访问虚拟机分别对应的访问端口,然后利用确定出的标识信息和访问端口,构建各个待访问虚拟机对应的访问链接,并根据各个访问链接,构建包括各个待访问虚拟机的控制台,而后可通过构建出的控制台,对各个待访问虚拟机进行访问。由此,通过虚拟机控制台即可对对应的虚拟机进行访问,而无需再通过各个虚拟机对应的物理机,经固定的端口对虚拟机进行逐个访问,从而减少了虚拟机的访问时间。

本发明一个实施例中,所述确定单元301,用于启动所述至少一个待访问虚拟机的代理服务;通过所述至少一个待访问虚拟机的代理服务,确定所述标识信息和所述访问端口。

在这里,启动虚拟机访问的代理服务,则可利用一个代理机承载各个虚拟机的代理服务,同时确定多个虚拟机的访问端口,从而提高访问端口的确定效率,由此进一步提高虚拟机的访问效率。

本实施例中的方法至少可通过以下程序实现:

/opt/novnc/utils/websockify--web/opt/novnc--target-config=/opt/vnc_tokens6080>>/opt/novnc/novnc.log&

具体地,本发明一个实施例中,所述确定单元301,用于通过所述代理服务,根据每一个所述待访问虚拟机的标识信息,确定所述待访问虚拟机对应的端口查询区域;从所述端口查询区域中选择一个待查询端口,并执行:

a1:确定所述待查询端口是否可用,如果是,则执行a2;否则执行a3;

a2:将所述待查询端口确定为所述访问端口;

a3:从所述端口查询区域中选择一个未查询过的待查询端口,并执行a1。

举例来说,虚拟机的标识信息为虚拟机的ip地址,则可通过此ip地址确定出对应的端口查询区域,若此端口查询区域中有两个待查询端口,分别为a和b,则首先看a是否可用,若a被占用或有连接故障,则再继续看b是否可用,若b可用,就将b确定为访问端口。由此,可避免确定出的访问端口无法访问虚拟机,从而提高虚拟机访问的准确率。

为了提高虚拟机访问的安全性,所述构建单元302,用于利用所述标识信息和所述访问端口,建立所述待访问虚拟机对应的安全外壳协议ssh连接隧道;并根据各个所述ssh连接隧道,构建所述至少一个待访问虚拟机的控制台。

举例来说,当待访问虚拟机为xen时,根据各个待访问虚拟机的标识信息和访问端口,建立每个待访问虚拟机各自对应的安全外壳协议(secureshell,ssh)连接隧道,再根据各个待访问虚拟机的ssh连接隧道,构建各个待访问虚拟机的控制台,从而使得在通过控制台对虚拟机进行访问时,需通过ssh连接通道,例如,用户通过客户端用novnc的地址和6080端口访问vnc_auto.html,对虚拟机进行访问,从而提高了虚拟机访问的安全性。

如图4所示,本发明一个实施例中,该访问装置可以进一步包括:检测单元401;其中,

所述检测单元401,进一步用于根据预设的检测周期,对每个所述ssh连接隧道进行检测;当存在至少一个ssh连接隧道出现异常时,删除所述出现异常的ssh连接隧道。

在这里,定期对ssh连接隧道进行巡检,对异常的ssh连接隧道端口的资源进行回收,保证控制台的正常运行,提高虚拟控制台的访问准确率。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明还提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明上述任一实施例提供的方法。

另外,本发明还提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明上述任一实施例提供的方法。

综上所述,本发明各个实施例至少具有如下有益效果:

1、在本发明实施例中,首先确定各个待访问虚拟机的标识信息,以及每一个待访问虚拟机分别对应的访问端口,然后利用确定出的标识信息和访问端口,构建各个待访问虚拟机对应的访问链接,并根据各个访问链接,构建包括各个待访问虚拟机的控制台,而后可通过构建出的控制台,对各个待访问虚拟机进行访问。由此,通过虚拟机控制台即可对对应的虚拟机进行访问,而无需再通过各个虚拟机对应的物理机,经固定的端口对虚拟机进行逐个访问,从而减少了虚拟机的访问时间。

2、在本发明实施例中,启动虚拟机访问的代理服务,则可利用一个代理机承载各个虚拟机的代理服务,同时确定多个虚拟机的访问端口,从而提高访问端口的确定效率,由此进一步减少了虚拟机的访问时间,提高虚拟机的访问效率。

3、在本发明实施例中,通过待访问虚拟机的标识信息,确定待访问虚拟机对应的端口查询区域,从确定出的端口查询区域中,确定待访问虚拟机对应的访问端口。由此,可避免确定出的访问端口无法访问虚拟机,从而提高虚拟机访问的准确率。

4、在本发明实施例中,利用待访问虚拟机的标识信息和访问端口,建立待访问虚拟机对应的ssh连接隧道,并根据ssh连接隧道,构建各个待访问虚拟机的控制台。从而使得在通过控制台对虚拟机进行访问时,需通过ssh连接通道,由此提高了虚拟机访问的安全性。

5、在本发明实施例中,定期对ssh连接隧道进行巡检,对异常的ssh连接隧道端口的资源进行回收,保证控制台的正常运行,提高虚拟控制台的访问准确率。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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