CN117221067A - 虚拟机远程带外接入系统、方法及存储介质 - Google Patents
虚拟机远程带外接入系统、方法及存储介质 Download PDFInfo
- Publication number
- CN117221067A CN117221067A CN202311281333.1A CN202311281333A CN117221067A CN 117221067 A CN117221067 A CN 117221067A CN 202311281333 A CN202311281333 A CN 202311281333A CN 117221067 A CN117221067 A CN 117221067A
- Authority
- CN
- China
- Prior art keywords
- layer
- virtual machine
- protocol
- remote
- user
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 48
- 230000002452 interceptive effect Effects 0.000 claims abstract description 19
- 238000007726 management method Methods 0.000 claims description 78
- 238000004458 analytical method Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 10
- 238000011161 development Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 5
- 238000005316 response function Methods 0.000 claims description 5
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 25
- 230000000694 effects Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 14
- 238000013461 design Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 8
- 238000005192 partition Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种虚拟机远程带外接入系统、方法及存储介质,涉及计算机与软件开发领域,系统包括用户终端、后端服务器和宿主机终端;用户终端的前端展示层提供功能性菜单,获取操作信息,协议统一层将交互操作统一规格化为标准的控制协议,生成用户操作指令;后端服务器的后端处理层调用协议相关层中的远程链接登录协议,建立对应的远程链接,转发用户操作指令;宿主机终端的宿主机管理层根据用户操作指令在多个虚拟机中确定目标虚拟机,获取虚拟机控制窗口,并回传至前端展示层进行展示。本申请解决了Hyper‑V虚拟化技术体系下缺乏可用的虚拟机远程带外接入方案的问题,实现了将虚拟机的带外接入从本地宿主机终端转移到远程用户终端的效果。
Description
技术领域
本申请涉及计算机与软件开发技术领域,尤其涉及一种虚拟机远程带外接入系统、方法及存储介质。
背景技术
随着各行各业全面云化,金融领域百分百上云已经成为必然的趋势,云上用户也出现了大规模的增长,用户对任何情况下都能接入虚拟机进行配置管理、故障分析、问题修复等的需求也越来越强烈。云上虚拟机给用户提供全场景、无中断的虚拟机远程带外接入能力是每一个云基础设施都必须解决的问题。对于初始化新建的虚拟机,用户需要通过远程带外接入手段对虚拟机进行初始化配置等操作,但由于Hyper-V虚拟化技术体系下缺失对应的解决方案,导致用户无法顺畅的完成该操作。
发明内容
本申请的主要目的在于:提供一种虚拟机远程带外接入系统、方法及存储介质,旨在解决相关技术中Hyper-V虚拟化技术体系下缺乏可用的虚拟机远程带外接入方案,对用户操作造成影响的技术问题。
为实现上述目的,本申请采用如下技术方案:
第一方面,本申请提供了一种虚拟机远程带外接入系统,系统包括用户终端、后端服务器和宿主机终端;
用户终端包括相互连接的前端展示层和协议统一层,后端服务器包括相互连接的后端处理层和协议相关层,后端处理层与协议统一层通信,宿主机终端上配置有多个虚拟机,宿主机终端包括与虚拟机连接的宿主机管理层,宿主机管理层与后端处理层通信;
前端展示层用于提供用户可操作的功能性菜单,获取用户进行交互操作的操作信息;
协议统一层用于根据操作信息将交互操作统一规格化为标准的控制协议,生成用户操作指令;
后端处理层用于调用协议相关层中的远程链接登录协议,根据用户操作指令建立对应的远程链接,转发用户操作指令至宿主机终端;
宿主机管理层用于根据用户操作指令在多个虚拟机中确定目标虚拟机,获取目标虚拟机的虚拟机控制窗口,以及将虚拟机控制窗口通过后端服务器回传至用户终端的前端展示层进行展示。
可选地,上述虚拟机远程带外接入系统中,后端处理层包括相互连接的协议解析模块和协议分发模块,协议解析模块与协议相关层连接,协议分发模块与宿主机管理层通信;
协议解析模块用于调用协议相关层中的远程链接登录协议,将接收到的用户操作指令解析为与远程链接登录协议相关的访问协议;
协议分发模块用于根据访问协议建立对应的远程链接,将用户操作指令传递给宿主机终端中对应的虚拟机,以实现虚拟机带外接入操作。
可选地,上述虚拟机远程带外接入系统中,远程链接登录协议包括Hyper-V虚拟机对应的远程桌面协议或KVM虚拟机对应的虚拟网络控制协议。
可选地,上述虚拟机远程带外接入系统中,系统还包括前端服务器;
前端服务器包括前端支持层,前端支持层分别与用户终端的前端展示层和后端服务器的后端处理层连接;
前端支持层用于提供标准的响应函数,以响应通过后端服务器回传的虚拟机控制窗口的展示操作,使用户终端的前端展示层进行虚拟机控制窗口的展示。
可选地,上述虚拟机远程带外接入系统中,系统还包括:
守护服务层,守护服务层分别与后端处理层、协议相关层和宿主机管理层连接,还与前端展示层连接;
守护服务层用于通过宿主机终端的端口连接器调用协议相关层中的远程链接登录协议,实现后端处理层与宿主机管理层的通信;以及与前端展示层进行交互,以实现对远程链路的管理操作。
可选地,上述虚拟机远程带外接入系统中,系统还包括:
元数据管理模块,元数据管理模块与后端处理层和宿主机管理层连接;
元数据管理模块用于存储和更新远程链接及其相关数据、各虚拟机的基础信息、各虚拟机与宿主机终端之间的对应关系。
可选地,上述虚拟机远程带外接入系统中,前端展示层采用Web开发模式;
前端展示层还用于对虚拟机控制窗口进行Web页面展示、对用户进行认证管控、对远程链路中的数据进行加密。
可选地,上述虚拟机远程带外接入系统中,系统的数据架构包括:
展示层,用于给前端展示层的页面展示功能提供数据支撑;
接入层,用于给后端处理层与宿主机管理层之间的访问和回传提供接口;
服务层,用于提供系统工作所需的平台功能;
资源层,用于实现数据存储和数据缓存。
第二方面,本申请提供了一种虚拟机远程带外接入方法,方法应用于如上述的系统,方法包括:
通过用户终端中的前端展示层提供用户可操作的功能性菜单,获取用户进行交互操作的操作信息;
通过用户终端的协议统一层根据操作信息将交互操作统一规格化为标准的控制协议,生成用户操作指令;
通过后端服务器中的后端处理层调用协议相关层中的远程链接登录协议,根据用户操作指令建立对应的远程链接,转发用户操作指令至宿主机终端;
通过宿主机终端中的宿主机管理层根据用户操作指令在多个虚拟机中确定目标虚拟机,获取目标虚拟机的虚拟机控制窗口;
通过宿主机管理层将虚拟机控制窗口通过后端服务器回传至用户终端的前端展示层进行展示。
第三方面,本申请提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被一个或多个处理器执行时,实现如上述的虚拟机远程带外接入方法。
本申请提供的上述一个或多个技术方案,可以具有如下优点或至少实现了如下技术效果:
本申请提出的一种虚拟机远程带外接入系统、方法及存储介质,通过位于用户终端的前端展示层提供用户可操作的功能性菜单,并获取用户进行交互操作的操作信息,由位于用户终端的协议统一层统一规格化为标准的控制协议,生成用户操作指令;然后在后端服务器中,通过后端处理层调用协议相关层中的远程链接登录协议,根据用户操作指令建立对应的远程链接,转发用户操作指令至宿主机终端;宿主机终端的宿主机管理层根据用户操作指令在多个虚拟机中确定目标虚拟机,获取目标虚拟机的虚拟机控制窗口,再将虚拟机控制窗口通过后端服务器回传至用户终端的前端展示层进行展示,实现了将虚拟机的带外接入从本地宿主机终端转移到远程用户终端的目的;该系统采用了分层设计,将虚拟机带外接入从宿主机的系统中剥离出来,可以提高可用性、增强安全性以及保证用户侧和管理侧的隔离性;而且,将整个远程带外接入链路经由用户终端、后端服务器和宿主机终端实现分段,不仅可以增强各个层级的单独管理能力,还可以动态扩展整个系统的适用范围。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的这些附图获得其他的附图。
图1为本申请虚拟机远程带外接入系统第一实施例的系统示意图;
图2为本申请虚拟机远程带外接入系统第一实施例的应用方案示意图;
图3为本申请虚拟机远程带外接入系统第一实施例的应用场景示例;
图4为本申请虚拟机远程带外接入系统第一实施例的技术架构示意图;
图5为本申请虚拟机远程带外接入系统第一实施例的数据架构示意图;
图6为本申请虚拟机远程带外接入系统第二实施例的远程链接示意图;
图7为本申请虚拟机远程带外接入系统第二实施例的层级架构示意图;
图8为本申请虚拟机远程带外接入系统第二实施例的连接操作界面示意;
图9为本申请虚拟机远程带外接入系统第二实施例的显示会话界面示意;
图10为本申请虚拟机远程带外接入系统第二实施例的用户认证界面示意;
图11为本申请虚拟机远程带外接入方法第一实施例的流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。在本申请中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连;可以是两个元件内部的连通,也可以是两个元件的相互作用关系。在本申请中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。另外,各个实施例的技术方案可以相互结合,但是,是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
随着各行各业全面云化,金融领域百分百上云已经成为必然的趋势,云上用户也出现了大规模的增长,用户对任何情况下都能接入虚拟机进行配置管理、故障分析、问题修复等的需求也越来越强烈。
虚拟化不仅颠覆了传统计算机领域对资源的整合能力和使用效率,软件定义的基础设施同样将很多传统的运维能力进行重构和改写。传统的服务器用户随着上云的开展全部都来到了云上,基于此,云上虚拟机给用户提供全场景、无中断的虚拟机远程带外接入能力是每一个云基础设施都必须解决的问题。Hyper-V是一款虚拟化产品,是一种系统管理程序虚拟化技术,能够实现桌面虚拟化。
对相关技术的分析发现,目前,在Windows Hyper-V云体系环境下,尚无可用的能与Linux KVM(Kernel-based Virtual Machine,基于Linux内核的虚拟机技术)云体系下的虚拟机VNC(Virtual Network Console,虚拟网络控制台)相匹配的虚拟机远程带外接入的解决方案,因此在Windows Hyper-V云体系环境下,当虚拟机出现网络故障、系统停止响应、登录组件异常、重启进维护模式等异常情况时,用户端便完全失去对虚拟机的维护以及问题定位能力,此时便只能完全依赖管理端的运维管理员从后台管理界面介入处理。同时,对于初始化新建的虚拟机,由于此时虚拟机尚未完全就绪,用户也需要通过远程带外接入手段对虚拟机进行初始化配置等操作,但是,目前由于Hyper-V虚拟化技术栈下缺失对应的解决方案,导致用户无法顺畅的完成该操作。
鉴于相关技术中Hyper-V虚拟化技术体系下缺乏可用的虚拟机远程带外接入方案,对用户操作造成影响的技术问题,本申请提供了一种虚拟机远程带外接入系统、方法及存储介质。
下面结合附图,通过具体的实施例和实施方式对本申请提供的虚拟机远程带外接入系统、方法及存储介质进行详细说明。
实施例一
参照图1,提出本申请虚拟机远程带外接入系统的第一实施例,该虚拟机远程带外接入系统应用于用户终端、后端服务器和宿主机终端构成的硬件系统中。
用户终端是指能够实现网络连接的终端设备,可以是手机、电脑、平板电脑、便携计算机、嵌入式工控机等终端设备;后端服务器是指能够实现网络连接的网络设备,可以是服务器、云平台等网络设备;宿主机终端是指能够实现网络连接的终端设备或网络设备,例如,可以是承载虚拟机的计算机终端,也可以是具有云上虚拟机的云平台。
下面结合图1所示的系统示意图,对本实施例的虚拟机远程带外接入系统进行详细描述。该系统可以包括:
用户终端、后端服务器和宿主机终端;
用户终端包括相互连接的前端展示层和协议统一层,后端服务器包括相互连接的后端处理层和协议相关层,后端处理层与协议统一层通信,宿主机终端上配置有多个虚拟机,宿主机终端包括与虚拟机连接的宿主机管理层,宿主机管理层与后端处理层通信;
前端展示层用于提供用户可操作的功能性菜单,获取用户进行交互操作的操作信息;
协议统一层用于根据操作信息将交互操作统一规格化为标准的控制协议,生成用户操作指令;
后端处理层用于调用协议相关层中的远程链接登录协议,根据用户操作指令建立对应的远程链接,转发用户操作指令至宿主机终端;
宿主机管理层用于根据用户操作指令在多个虚拟机中确定目标虚拟机,获取目标虚拟机的虚拟机控制窗口,以及将虚拟机控制窗口通过后端服务器回传至用户终端的前端展示层进行展示。
如图1所示,宿主机管理层可以关联多个虚拟机,这些虚拟机可以承载于宿主机终端上,宿主机管理层根据用户操作指令在多个虚拟机中确定目标虚拟机,具体可以通过识别用户操作指令中的虚拟机编号(VM-ID)来确定用户想要控制的目标虚拟机,从而获取该目标虚拟机的虚拟机控制窗口,返回给用户终端进行展示。
如图2所示为本实施例的应用方案示意图,该系统可以作为中心支撑位于一个更全面的应用系统中。
具体实施过程中,虚拟机用户使用远程虚拟机带外接入的时候,首先进行权限控制,通过认证管控模块实现,将用户信息输入外围系统,使得权限控制在管理员-云运维系统及用户-云管系统中采用统一的认证系统。这套认证方案独立于宿主机终端上管理面的AD(ActiveDirectory,集中管控)管控,有效隔离用户终端的用户操作界面与宿主机终端的运维管理界面。
实际应用中,外围系统的一些管理系统例如图2的云运维系统、云管系统、移动办公OA系统等,可以通过调用本实施例系统提供的虚拟机远程带外接入API,进行简单的功能调用和服务引入,实现用户对虚拟机的操作。
图2的应用方案中,虚拟机带外接入系统可以作为整个应用系统的中心支撑模块,即一套由前端对接、协议解析-转换和跳转分发组成的分层调用系统。其中,前端对接可以包含前端展示层和协议统一层,将用户对虚拟机控制台的操作如鼠标、键盘、音频、视频等,统一为一套标准的处理响应程式即用户操作指令,然后传递给后端;协议解析-转换可以包含后端处理层和协议相关层,将用户操作指令解析为协议相关的具体访问协议,传递给对应的底层的宿主机终端,进行实际的虚拟机带外接入操作;底层的跳转分发,在Hyper-V虚拟化技术体系下,实现协议转发,例如可以转发链接宿主机终端2179端口的VM-RDP协议,从而实现与宿主机管理层的通信。
本实施例提供的虚拟机远程带外接入系统,通过位于用户终端的前端展示层提供用户可操作的功能性菜单,并获取用户进行交互操作的操作信息,由位于用户终端的协议统一层统一规格化为标准的控制协议,生成用户操作指令;然后在后端服务器中,通过后端处理层调用协议相关层中的远程链接登录协议,根据用户操作指令建立对应的远程链接,转发用户操作指令至宿主机终端;宿主机终端的宿主机管理层根据用户操作指令在多个虚拟机中确定目标虚拟机,获取目标虚拟机的虚拟机控制窗口,再将虚拟机控制窗口通过后端服务器回传至用户终端的前端展示层进行展示,实现了将虚拟机的带外接入从本地宿主机终端转移到远程用户终端的目的;该系统采用了分层设计,将虚拟机带外接入从宿主机的系统中剥离出来,可以提高可用性、增强安全性以及保证用户侧和管理侧的隔离性;而且,将整个远程带外接入链路经由用户终端、后端服务器和宿主机终端实现分段,不仅可以增强各个层级的单独管理能力,还可以动态扩展整个系统的适用范围。
另外,该系统还将协议统一层和协议相关层分离,使整个系统方案适用范围可以动态扩展,既可以支持Hyper-V技术体系下的远程带外接入,也可以适用KVM技术体系下的虚拟机远程带外接入。该系统不依赖于虚拟机本身的运行状态,可以在虚拟机的各种运行状态下将虚拟机的虚拟机控制窗口发送至用户终端,给用户终端提供虚拟机的运行控制界面,并进行展示,保障了用户对虚拟机全方位的接入能力。
进一步地,前端展示层采用Web开发模式;
前端展示层还用于对虚拟机控制窗口进行Web页面展示、对用户进行认证管控、对远程链路中的数据进行加密。
具体的,前端展示层作为与用户直接交互的层级,可以采用符合安全设计标准的Web开发模式,进行认证管控和链路数据加密,这一层级可以作为用户面存在于整个系统中。
本实施例中,采用Web开发模式进行页面展示,界面直观且简洁,方便用户操作。
进一步地,后端处理层可以包括相互连接的协议解析模块和协议分发模块,协议解析模块与协议相关层连接,协议分发模块与宿主机管理层通信;
协议解析模块用于调用协议相关层中的远程链接登录协议,将接收到的用户操作指令解析为与远程链接登录协议相关的访问协议;
协议分发模块用于根据访问协议建立对应的远程链接,将用户操作指令传递给宿主机终端中对应的虚拟机,以实现虚拟机带外接入操作。
具体的,后端处理层具体分为协议解析模块和协议分发模块,协议解析模块作为前端,协议分发模块作为后端,可以将前端发送的用户操作指令解析为与远程链接登录协议相关的具体访问协议,传递给对应的底层宿主机终端,进行实际的虚拟机带外接入操作。
更进一步地,远程链接登录协议包括Hyper-V虚拟机对应的远程桌面协议(RemoteDesktop Protocol,RDP)或KVM虚拟机对应的虚拟网络控制协议(Virtual NetworkConsole,VNC)。
该系统中,将虚拟机的带外接入控制功能做了独立的封装和转发,可以确保整个虚拟化技术体系的安全性,以及用户面和管理面的隔离性。
本实施例中,协议解析模块和协议分发模块完成了协议相关的解析和转发动作,通过灵活的插口支持多种远程链接登录协议。通过协议解析模块和协议分发模块的设计,让该系统可以支持多种虚拟化技术体系中的虚机机远程带外接入技术,包括本实施例前述的Hyper-V虚拟化技术体系下基于VM-RDP协议的虚机远程带外接入,以及KVM下基于VNC协议的远程带外接入。
本实施例的一可选实施方式中,系统还包括前端服务器;
前端服务器包括前端支持层,前端支持层分别与用户终端的前端展示层和后端服务器的后端处理层连接;
前端支持层用于提供标准的响应函数,以响应通过后端服务器回传的虚拟机控制窗口的展示操作,使用户终端的前端展示层进行虚拟机控制窗口的展示。
如图3所示为本实施例的应用场景示例,图3提供了一种Hyper-V虚拟化技术体系。所有现代虚拟化系统都依赖于专门的虚拟机系统集成服务模块,以获得丰富的可用性体验、虚拟机与虚拟机监视器Hypervisor之间的通信以及独特的服务。基于图3的Hyper-V虚拟化技术体系,在虚拟机系统中添加了专门的内核驱动程序,可以将虚拟机中高层级的用户请求转换为Hyper-V特定协议,并通过虚拟机通道发送到宿主机终端的虚拟化管理程序。
图3中,根分区表示宿主机终端侧的分区结构,其他子分区表示虚拟机侧的分区结构。其中,宿主机终端将每一个虚拟机系统抽象为一个用户层的进程进行管理,如图3中的VMWP,多个虚拟机系统表示为VMWPs。VMWP通过管理程序层以及虚拟化基础设施驱动程序(VID)对宿主机终端的输入输出(IO)、处理器(CPU)和存储器(Memory)进行分配管理。该Hyper-V虚拟化技术体系中,提供了基础的VMBus(Virtual Machine Bus,用于实现管理操作系统和客户操作系统之间的数据通信)组件,作为宿主机终端侧底层的根分区与各个子分区之间以及不同子分区之间的通信通道,具体在宿主机终端侧依托VMBus构建了VSP(VirtualizationService Provider,用于控制虚拟机的IO请求)服务,在虚拟机侧依托VMBus构建了VSC(VirtualizationServiceClient,虚拟化服务用户端)服务和IC(IntegrationComponent,集成服务组件)。在整体架构中,虚拟机远程带外接入系统中的底层VM-RDP协议也可以依托VMBus进行构建,与VSP、VSC、IC位于同一层级中。
本实施例中,可以将虚拟机远程带外接入系统应用于图3的Hyper-V虚拟化技术体系下,如图4所示为本实施例的技术架构示意图,提出了该系统的实现层级,采用分层的设计方式,从上到下依次为前端展示层、协议统一层、前端支持层、后端处理层、协议相关层和宿主机管理层,中间各个层级可以采用串联调用协议,进行WS数据流、TCP数据流、VM-RDP数据流以及VMBUS数据流(图4中未示出)的传输。
在图4中,前端展示层负责提供用户可操作的功能性菜单以及从底层回传回来的虚拟机控制窗口,完成用户的交互式操作响应和用户指令的记录与回传;协议统一层负责将用户的多种多样的操作规格化为标准的控制协议,并且由前端支持层提供标准的响应函数,以响应从最终端即宿主机管理层返回的响应操作;后端处理层和协议相关层负责处理前端的用户链接请求,建立对应的链接,协议相关层主要是负责通过调用对应的远程链接登录协议(如RDP、VNC、SSh等)完成具体的远程链接过程;底层的宿主机管理层则提供了最原始最基础的功能支持。
图4的整个虚拟机远程带外接入系统采用的是分层模式,每个层级之间的耦合度非常低,可以支持单个层级的灵活插拔和修改操作。采用了协议拆分思路,将多元化的用户前端操作抽象为统一的标准化的操作指令,抽象为一种协议无关的层级。对于底层的控制,前面返回的响应也做了统一的抽象,方便底层对接多种多样的登录协议,如RDP,VNC等。后端处理层和协议相关层则主要完成了协议相关的解析和转发动作,通过灵活的插口支持多种底层登录控制协议。具体到本实施例中,基于图3中Hyper-V虚拟化技术体系下的如图4的虚拟机远程带外接入系统,就是通过FreeRDP模块(开源RDP模块)调用VM-RDP链接协议,进行与虚拟机带外控制台提供者即图3的底层管理程序的对接。
本实施例提供的虚拟机远程带外接入系统,采用了多个子组件对接调用的分层开发模式,结合标准的C/S架构和B/S架构,将整个技术架构拆分为前端展示层、协议统一层、前端支持层、后端处理层、协议相关层和宿主机管理层,分层设置的结构可以实现各个层结构灵活可插拔的效果,支持用户灵活的增加多种远程链接登录协议,包括VNC、RDP、VM-RDP等。
本实施例的一可选实施方式中,系统还包括:
守护服务层,守护服务层分别与后端处理层、协议相关层和宿主机管理层连接,还与前端展示层连接;
守护服务层用于通过宿主机终端的端口连接器调用协议相关层中的远程链接登录协议,实现后端处理层与宿主机管理层的通信;以及与前端展示层进行交互,以实现对远程链路的管理操作。
具体的,守护服务层可以是常驻守护进程,可以直接调用宿主机终端的2179端口连接器,完成与宿主机终端的通信。常驻守护进程存放了管理层面的信息,需要确保与宿主机终端的链路畅通,便于管理面与前端用户面交互。
本实施例的一可选实施方式中,该系统还包括:
元数据管理模块,元数据管理模块与后端处理层和宿主机管理层连接;
元数据管理模块用于存储和更新远程链接及其相关数据、各虚拟机的基础信息、各虚拟机与宿主机终端之间的对应关系。
在整个系统中,当面临大批量的虚拟机远程控制需求时,宿主机终端及其上的虚拟机的信息准确性是非常关键的。为了能使整个远程带外接入系统正常执行下去,在该系统中还设计一个元数据的管理模块。
如图2所示,元数据管理模块可以存储连接关系、虚拟机-宿主机关联信息、虚拟机基础信息和虚拟机用户基础信息等,例如针对前述的设定,可以记录整个环境中的活动链接、用户信息等数据,用户编辑好的链接数据,虚拟机连接所需的虚拟机编号信息,虚拟机与宿主机终端之间的对应关系等等,此处不作限定。元数据管理模块还可以将存储的数据存入数据库或日志系统,对应的,作为中心支撑的虚拟机远程带外接入系统,也可以将产生的数据存入数据库或日志系统,此处不作限定。
可见,元数据管理模块的作用是支持作为中心支撑的虚拟机远程带外接入系统,可以在一个完整的应用系统中正常完成链接工作。
可选的,由于虚拟机在故障转移群集(Failover Cluster)中会动态飘逸,虚拟机-宿主机关联信息并不是固定不动的,元数据模块还可以用于实时通过底层的VM管理组件进行数据同步,同步最新的虚拟机信息、宿主机终端信息或虚拟机-宿主机关联信息。
本实施例的一可选实施方式中,该系统的数据架构包括:
展示层,用于给前端展示层的页面展示功能提供数据支撑;
接入层,用于给后端处理层与宿主机管理层之间的访问和回传提供接口;
服务层,用于提供系统工作所需的平台功能;
资源层,用于实现数据存储和数据缓存。
如图5所示为本实施例中的数据架构示意图,数据架构分为四层。对于展示层,给前端展示层的页面展示功能提供数据支撑,使得前端展示层采用Jquery、Angular等模块实现精简的页面展示效果;对于接入层,给后端处理层与宿主机管理层之间的访问和回传提供接口,使得相关接口(如WebSocket,Pymysql等)实现底层云化平台上各个虚拟机的远程带外接入控制和管理操作;对于服务层,提供系统工作所需的平台功能,包含本系统中使用到的各种必要的平台功能模块,例如报表统计、用户操作记录、安全控制、API接口、基础元数据等;对于资源层,用于实现数据存储和数据缓存,具体可以采用MySQL、MQ、统一的日志系统等实现数据存储和缓存。
本实施例提供的虚拟机远程带外接入系统,可以帮助用户在任何情况下,都能够通过该虚拟机远程带外接入系统访问到自己的虚拟机界面,提升了用户对自己虚拟机的访问能力以及自运维能力。
实施例二
基于同一技术构思,参照图6和图7,提出本申请虚拟机远程带外接入系统的第二实施例。下面对本实施例的虚拟机远程带外接入系统进行详细描述。该系统具体包括:
用户终端、前端服务器、后端服务器和宿主机终端;
用户终端包括:
前端展示层,用于提供用户可操作的功能性菜单,获取用户进行交互操作的操作信息;
协议统一层,用于根据操作信息将交互操作统一规格化为标准的控制协议,生成用户操作指令;
前端服务器包括:
前端支持层,用于提供标准的响应函数,以响应通过后端服务器回传的虚拟机控制窗口的展示操作,使用户终端的前端展示层进行虚拟机控制窗口的展示;
后端服务器包括:
后端处理层,用于调用协议相关层中的远程链接登录协议,根据用户操作指令建立对应的远程链接,转发用户操作指令至宿主机终端;
后端处理层具体包括协议解析模块,用于调用协议相关层中的远程链接登录协议,将接收到的用户操作指令解析为与远程链接登录协议相关的访问协议;以及协议分发模块,用于根据访问协议建立对应的远程链接,将用户操作指令传递给宿主机终端中对应的虚拟机,以实现虚拟机带外接入操作;
宿主机终端包括:
宿主机管理层,用于根据用户操作指令在多个虚拟机中确定目标虚拟机,获取目标虚拟机的虚拟机控制窗口,以及将虚拟机控制窗口通过后端服务器回传至用户终端的前端展示层进行展示。
如图6所示为本实施例的远程链接示意图,如图7所示为本实施例的层级架构示意图;基于上述设定,底层ACS宿主机通过Hyper-V BUS与多个ACS虚拟机连接,底层ACS宿主机提供了基础的基于2179端口的VM连接器,如图6的Host-2179接口。
利用图6的Host-2179接口进行原始的远程调用有诸多的限制,包括需要在Windows环境下使用类MSTSC(Microsoft Terminal Services Client,远程桌面连接)的工具,进行人工的配置文件设置,并且依赖于用户所在Windows环境与底层宿主机终端的防火墙通路是否畅通,这显然在很多企业级的数据中心都是无法达成的,即使这些苛刻的条件被满足了,这种方式也仅适用于临时的单台虚拟机的配置使用,而且这种方式将底层宿主机终端的管理程序直接暴露给用户,存在非常大的安全问题。
因此,本实施例在底层ACS宿主机提供Host-2179接口的基础上,进行了完备的前端链路设计,如图6所示。前端链路中,虚拟机用户在用户终端上进行操作,用户终端的Web网页提供前端展示界面,该Web端通过远程网络链路与前端服务器即图6的前端展示界面后台连接,从而构成完备的前端展示层;然后通过协议统一层与后台服务器即守护进程服务端连接,以通过Host-2179接口访问ACS宿主机,守护进程服务端可以根据虚拟机编号信息,通过FreeRDP模块调用RDP协议,与ACS宿主机通信,然后ACS宿主机可以根据前端传入的虚拟机编号信息找到对应的ACS虚拟机,再与守护进程服务端通信,传回虚拟机控制窗口,展示在前端展示界面上,供用户进行交互操作。
为了简化整个远程链接中登录协议的对接难度,增强整个系统的灵活性和适应性,本实施例中,利用协议统一层将前端的用户操作动作和控制界面展示统一抽象为标准统一的协议模式;而后端由于要对接各种远程链接登录协议如RDP,VNC等,所以在后端处理层中定义了协议解析模块,将接收到的用户操作指令解析为与远程链接登录协议相关的访问协议,从而实现对ACS宿主机上ACS虚拟机的访问。
本实施例中,如图7所示,在系统的整体层级中采用了分层的设计模式,通过分层设计,简化了技术方案设计的复杂性,增强了技术的灵活性和适应性。通过协议统一层将前端复杂的用户行为和不同类型带外接入界面进行统一化,通过协议解析模块和协议分发模块的设计,让本系统可以支持多种虚拟化技术体系中的虚拟机远程带外接入,具有较高的适用性。
为了更好地体现本实施例中系统的呈现,下面以某公司私有云底座为例,按上述提出的虚拟机远程带外接入系统对相关平台进行实施部署后,用户终端上可以得到如图8所示的连接操作界面示意,用户可以在该界面上选择一个远程虚拟机桌面并进行连接操作,之后可以得到如图9所示的显示会话界面示意,显示当前活动会话以及相关信息;另外,用户还可以通过其他系统访问虚拟机远程带外接入系统对应提供的API接口方式来实现虚拟机远程带外接入,不过需要进行用户双因子认证,如图10所示的用户认证界面示意,验证通过后,可以跳转接入虚拟机远程带外控制界面,用户便可以对虚拟机进行控制操作。
上述方法步骤的具体实施方式中更多实施细节可参见实施例一中具体实施方式的描述,为了说明书的简洁,此处不再重复赘述。
本实施例提供的Hyper-V虚拟化技术体系下的虚拟机远程带外接入系统,针对当前Hyper-V虚拟化技术体系下缺失可用的虚拟机远程带外接入的问题,提出一种方便易用、管理灵活、安全可控的Hyper-V虚拟机远程带外接入方案,采用独特的分层设计模式,支持多虚拟化技术体系的融合带外接入,并且同时支持非Hyper-V体系下的虚拟机远程带外维护功能。
该系统应用在Hyper-V虚拟化技术体系下,借助Hyper-V虚拟机总线(VirtualMachine Bus,VM BUS),Windows提供了2179端口监听的类RDP协议,以便远程用户终端通过类RDP协议打开虚拟机的控制窗口,基于该最底层的系统支持,拉长了虚拟机带外控制链路,在提供用户虚拟机远程带外接入功能的基础上,还增加了外围管控及服务子模块,以达到Hyper-V虚拟化场景下用户能够在常规接入方式出现异常的情况下仍然能够打开虚拟机控制窗口,极大提升了用户的自运维能力。
实施例三
基于同一技术构思,参照图11,提出本申请虚拟机远程带外接入方法的第一实施例,该方法应用于上述实施例一或二的虚拟机远程带外接入系统。
如图11所示的流程示意图,该方法可以包括:
步骤S100:通过用户终端中的前端展示层提供用户可操作的功能性菜单,获取用户进行交互操作的操作信息;
步骤S200:通过用户终端的协议统一层根据操作信息将交互操作统一规格化为标准的控制协议,生成用户操作指令;
步骤S300:通过后端服务器中的后端处理层调用协议相关层中的远程链接登录协议,根据用户操作指令建立对应的远程链接,转发用户操作指令至宿主机终端;
步骤S400:通过宿主机终端中的宿主机管理层根据用户操作指令在多个虚拟机中确定目标虚拟机,获取目标虚拟机的虚拟机控制窗口;
步骤S500:通过宿主机管理层将虚拟机控制窗口通过后端服务器回传至用户终端的前端展示层进行展示。
需要说明,本实施例提供的虚拟机远程带外接入方法中可选采用上述系统实施例的各具体实施方式,因此,该方法中各个步骤可实现的功能和对应达到的技术效果可以参照本申请虚拟机远程带外接入系统各个实施例中具体实施方式的描述,且该方法至少具有上述实施例所带来的所有有益效果,为了说明书的简洁,此处不再赘述。
实施例四
基于同一发明构思,本实施例提供了一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机存取存储器(Random Access Memory,RAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘、服务器等等,该存储介质上存储有计算机程序,该计算机程序可被一个或多个处理器执行,该计算机程序被处理器执行时可以实现本申请虚拟机远程带外接入系统各个实施例的全部或部分步骤。
需要说明,上述本申请实施例序号仅为了描述,不代表实施例的优劣。以上实施例仅为本申请的可选实施例,并非因此限制本申请的专利范围,凡是在本申请的发明构思下,利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均包括在本申请的专利保护范围内。
Claims (10)
1.一种虚拟机远程带外接入系统,其特征在于,所述系统包括用户终端、后端服务器和宿主机终端;
所述用户终端包括相互连接的前端展示层和协议统一层,所述后端服务器包括相互连接的后端处理层和协议相关层,所述后端处理层与所述协议统一层通信,所述宿主机终端上配置有多个虚拟机,所述宿主机终端包括与所述虚拟机连接的宿主机管理层,所述宿主机管理层与所述后端处理层通信;
所述前端展示层用于提供用户可操作的功能性菜单,获取用户进行交互操作的操作信息;
所述协议统一层用于根据所述操作信息将所述交互操作统一规格化为标准的控制协议,生成用户操作指令;
所述后端处理层用于调用所述协议相关层中的远程链接登录协议,根据所述用户操作指令建立对应的远程链接,转发所述用户操作指令至所述宿主机终端;
所述宿主机管理层用于根据所述用户操作指令在多个所述虚拟机中确定目标虚拟机,获取所述目标虚拟机的虚拟机控制窗口,以及将所述虚拟机控制窗口通过所述后端服务器回传至所述用户终端的前端展示层进行展示。
2.如权利要求1所述的虚拟机远程带外接入系统,其特征在于,所述后端处理层包括相互连接的协议解析模块和协议分发模块,所述协议解析模块与所述协议相关层连接,所述协议分发模块与所述宿主机管理层通信;
所述协议解析模块用于调用所述协议相关层中的远程链接登录协议,将接收到的所述用户操作指令解析为与所述远程链接登录协议相关的访问协议;
所述协议分发模块用于根据所述访问协议建立对应的远程链接,将所述用户操作指令传递给所述宿主机终端中对应的所述虚拟机,以实现虚拟机带外接入操作。
3.如权利要求2所述的虚拟机远程带外接入系统,其特征在于,所述远程链接登录协议包括Hyper-V虚拟机对应的远程桌面协议或KVM虚拟机对应的虚拟网络控制协议。
4.如权利要求1所述的虚拟机远程带外接入系统,其特征在于,所述系统还包括前端服务器;
所述前端服务器包括前端支持层,所述前端支持层分别与所述用户终端的前端展示层和所述后端服务器的后端处理层连接;
所述前端支持层用于提供标准的响应函数,以响应通过所述后端服务器回传的所述虚拟机控制窗口的展示操作,使所述用户终端的前端展示层进行所述虚拟机控制窗口的展示。
5.如权利要求1所述的虚拟机远程带外接入系统,其特征在于,所述系统还包括:
守护服务层,所述守护服务层分别与所述后端处理层、所述协议相关层和所述宿主机管理层连接,还与前端展示层连接;
所述守护服务层用于通过所述宿主机终端的端口连接器调用所述协议相关层中的远程链接登录协议,实现所述后端处理层与所述宿主机管理层的通信;以及与所述前端展示层进行交互,以实现对所述远程链路的管理操作。
6.如权利要求1所述的虚拟机远程带外接入系统,其特征在于,所述系统还包括:
元数据管理模块,所述元数据管理模块与所述后端处理层和所述宿主机管理层连接;
所述元数据管理模块用于存储和更新所述远程链接及其相关数据、各所述虚拟机的基础信息、各所述虚拟机与所述宿主机终端之间的对应关系。
7.如权利要求1所述的虚拟机远程带外接入系统,其特征在于,所述前端展示层采用Web开发模式;
所述前端展示层还用于对所述虚拟机控制窗口进行Web页面展示、对用户进行认证管控、对所述远程链路中的数据进行加密。
8.如权利要求1至7任一项所述的虚拟机远程带外接入系统,其特征在于,所述系统的数据架构包括:
展示层,用于给所述前端展示层的页面展示功能提供数据支撑;
接入层,用于给所述后端处理层与所述宿主机管理层之间的访问和回传提供接口;
服务层,用于提供所述系统工作所需的平台功能;
资源层,用于实现数据存储和数据缓存。
9.一种虚拟机远程带外接入方法,其特征在于,所述方法应用于如权利要求1至8任一项所述的系统,所述方法包括:
通过用户终端中的前端展示层提供用户可操作的功能性菜单,获取用户进行交互操作的操作信息;
通过所述用户终端的协议统一层根据所述操作信息将所述交互操作统一规格化为标准的控制协议,生成用户操作指令;
通过后端服务器中的后端处理层调用协议相关层中的远程链接登录协议,根据所述用户操作指令建立对应的远程链接,转发所述用户操作指令至宿主机终端;
通过所述宿主机终端中的宿主机管理层根据所述用户操作指令在多个所述虚拟机中确定目标虚拟机,获取所述目标虚拟机的虚拟机控制窗口;
通过所述宿主机管理层将所述虚拟机控制窗口通过所述后端服务器回传至所述用户终端的前端展示层进行展示。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如权利要求9中任一项所述的虚拟机远程带外接入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311281333.1A CN117221067A (zh) | 2023-09-28 | 2023-09-28 | 虚拟机远程带外接入系统、方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311281333.1A CN117221067A (zh) | 2023-09-28 | 2023-09-28 | 虚拟机远程带外接入系统、方法及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117221067A true CN117221067A (zh) | 2023-12-12 |
Family
ID=89044263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311281333.1A Pending CN117221067A (zh) | 2023-09-28 | 2023-09-28 | 虚拟机远程带外接入系统、方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117221067A (zh) |
-
2023
- 2023-09-28 CN CN202311281333.1A patent/CN117221067A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10073709B2 (en) | Session monitoring of virtual desktops in a virtual machine farm | |
US20200213404A1 (en) | Integrated user interface for consuming services across different distributed networks | |
US10915218B2 (en) | Methods and systems for an intermediate graphical desktop sharing protocol | |
KR102391806B1 (ko) | 상이한 분산 네트워크 사이에서 서비스를 소비하는 통합형 api 및 ui 제공 기법 | |
US20210090568A1 (en) | In-band voice-assistant/concierge for controlling online meetings | |
US9489227B2 (en) | Apparatus and method for virtual desktop service | |
US8010679B2 (en) | Methods and systems for providing access to a computing environment provided by a virtual machine executing in a hypervisor executing in a terminal services session | |
US7676549B2 (en) | Techniques for providing accessibility options in remote terminal sessions | |
CN102196003B (zh) | 一种监控系统的远程控制方法及装置 | |
US8375126B2 (en) | Methods, apparatus and techniques for suspending, resuming, and sharing sessions using object serialization | |
CN111061540A (zh) | 一种基于容器技术的应用虚拟化方法及系统 | |
AU2007208093A1 (en) | Methods and systems for providing access to a computing environment | |
US20140032699A1 (en) | Remote user interface in a terminal server environment | |
WO2007100942A2 (en) | Methods and systems for providing access to a computing environment provided by a virtual machine executing in a hypervisor executing in a terminal services session | |
CN110275787B (zh) | 在线平台数据传输方法、装置、介质及电子设备 | |
CN108255547B (zh) | 一种应用程序控制方法及装置 | |
US11722550B2 (en) | Sharing an input device between remote desktops of multiple client devices | |
CN117221067A (zh) | 虚拟机远程带外接入系统、方法及存储介质 | |
CN115328609A (zh) | 一种云桌面数据处理的方法及系统 | |
KR101326231B1 (ko) | 가상화 소프트웨어 서비스 시스템 및 이를 위한 서비스 서버 및 사용자단말 | |
CN116016480B (zh) | 基于虚拟桌面的流程自动化控制方法及系统 | |
KR20130044278A (ko) | 가상단말 클라우드 네트워크 시스템 및 이기종 단말 플랫폼 어플리케이션 제공방법 | |
CN117591246B (zh) | 一种kvm虚拟机web终端的实现方法和装置 | |
CN117149122A (zh) | 同屏互动方法、装置、系统、设备及介质 | |
CN115348310A (zh) | 反向代理方法、装置、系统、电子设备及存储介质 |
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 |