CN116264515A - 虚拟桌面资源远程访问控制方法、装置 - Google Patents
虚拟桌面资源远程访问控制方法、装置 Download PDFInfo
- Publication number
- CN116264515A CN116264515A CN202210783836.8A CN202210783836A CN116264515A CN 116264515 A CN116264515 A CN 116264515A CN 202210783836 A CN202210783836 A CN 202210783836A CN 116264515 A CN116264515 A CN 116264515A
- Authority
- CN
- China
- Prior art keywords
- virtual desktop
- information
- user
- agent
- service
- 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 42
- 230000004044 response Effects 0.000 claims abstract description 13
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 abstract description 3
- 239000003795 chemical substances by application Substances 0.000 description 73
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 230000004083 survival effect Effects 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- 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
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种虚拟桌面资源远程访问控制方法、装置,其中方法包括:通过统一访问网关接收用户的访问请求;基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理,得到第一虚拟桌面代理的标识;根据标识建立统一访问网关与第一虚拟桌面代理间的连接;利用第一虚拟桌面代理对所述访问请求进行响应,并通过统一访问网关返回响应结果。上述技术方案通过在虚拟桌面系统的现有组件和交互逻辑基础上加入注册分配步骤,在不破坏现有组件和逻辑的情况下,使得客户端通过显示协议连接远程虚拟桌面资源后,即使服务中的虚拟桌面资源服务发生故障,也可以获取其他桌面资源持续提供服务,有力地提升了用户体验。
Description
技术领域
本发明涉及云服务技术领域,具体涉及一种虚拟桌面资源远程访问控制方法、装置。
背景技术
用户使用云桌面产品可以从笔记本电脑、家用个人电脑或瘦客户端等智能终端访问个性化虚拟桌面服务。比如,VMware就是一个桌面和应用程序虚拟化的领先平台,在保持企业数据合规并安全存储在本地数据中心或云端(如移动云等云服务商)的同时,可跨设备、位置和网络提供一致的用户体验。
用户通过外部网络环境访问虚拟桌面资源,主要分成初始身份验证和会话连接两个阶段,身份验证阶段是从统一访问网关(UAG)到连接服务器,基于HTTPS相关协议,连接服务器返回用户身份信息,包含验证、授权和会话管理信息。会话连接阶段是客户端通过远程桌面显示协议,连接到具体桌面虚机中的代理(Agent)服务,并保持会话使用远程桌面。
在上述会话连接阶段,如果一台虚拟桌面资源代理服务进程由于某种原因出现假死或者代理服务不再监听端口,客户端将无法正常登录使用,这种情况下需要通过运维人员进行重启、排查甚至重新分配新的代理服务。而且,即使通过运维人员的人工介入解决了使用问题,也会对用户体验造成巨大的负面影响。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种虚拟桌面资源远程访问控制方法、装置。
根据本发明的一个方面,提供了一种虚拟桌面资源远程访问控制方法,所述方法包括:
通过统一访问网关接收用户的访问请求;
基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理,得到所述第一虚拟桌面代理的标识;
根据所述标识建立所述统一访问网关与所述第一虚拟桌面代理间的连接;
利用所述第一虚拟桌面代理对所述访问请求进行响应,并通过所述统一访问网关返回响应结果。
可选的,基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理,包括:
获取各虚拟桌面代理是否可用以及负载量信息;
根据所述是否可用以及负载量信息为所述访问请求确定供选择的虚拟桌面代理范围;
对于访问请求密集的用户,分配多个不同虚拟桌面代理;和/或,对于所述访问请求,按照负载量从少到多的顺序分配虚拟桌面代理。
可选的,基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理,包括:
构建分布式选举服务,利用所述分布式选举服务选举出第一虚拟桌面代理;
将所述第一虚拟桌面代理分配给所述用户。
可选的,构建分布式选举服务,包括:
配置分布式选举服务的元信息,所述元信息包括如下的至少一项:任期编号、投票目标节点标识、投票目标节点端口号或候选节点地址列表;
建立用户连接到虚拟桌面代理的任务日志;
形成用户状态快照,以供在更换虚拟桌面代理时快速恢复服务;
以各虚拟桌面代理为服务节点,基于Raft协议、所述元信息、所述任务日志以及所述用户状态快照,构建所述分布式选举服务。
可选的,配置分布式选举服务的元信息,包括:
根据元信息路径以及各服务节点状态创建元信息实例;
为所述元信息实例加载元信息的配置信息,并基于消息机制,根据当前任期和节点投票情况形成所述元信息实例的存储消息;
根据所述元信息实例的存储消息,存储所述元信息实例,以供所述分布式选举服务调用。
可选的,建立用户连接到虚拟桌面代理的任务日志,包括:
对日志存储实例进行初始化操作,基于嵌入式存储引擎保存所述日志实例;
在选举服务节点时,执行日志管理中如下的任一项:设计日志索引、保存日志实例和任期、对日志实例的增删改查、清空日志实例或重置日志任期索引。
可选的,形成用户状态快照,包括:
通过创建快照编写器、远程复制数据、配置快照属性的操作,记录用户状态机信息;
及时更新当前用户状态机的最新状态镜像文件,形成用户状态快照,使得在服务节点重新启动时直接加载所述镜像文件。
根据本发明的另一方面,提供了一种虚拟桌面资源远程访问控制装置,所述装置包括:
接收模块,适于通过统一访问网关接收用户的访问请求;
分配模块,适于基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理,得到所述第一虚拟桌面代理的标识;
连接模块,适于根据所述标识建立所述统一访问网关与所述第一虚拟桌面代理间的连接;
响应模块,适于利用所述第一虚拟桌面代理对所述访问请求进行响应,并通过所述统一访问网关返回响应结果。
根据本发明的又一方面,提供了一种虚拟桌面服务器,所述虚拟桌面服务器包括:统一访问网关、代理注册中心、虚拟桌面代理资源、连接服务器和AD域控服务器;
所述连接服务器和所述AD域控服务器用于通过所述代理注册中心对用户进行身份验证,使得用户通过显示协议在所述客户端、统一访问网关、代理注册中心和虚拟桌面代理资源之间建立会话连接;
其中,所述虚拟桌面服务器执行根据上述任一项所述的虚拟桌面资源远程访问控制方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行根据上述虚拟桌面资源远程访问控制方法对应的操作。
根据本发明的,基于现有虚拟桌面服务的协议架构,通过引入注册和分配机制,实现了一种新型的桌面虚拟资源的高可用架构,从而在不改变现有结构和交互逻辑的基础上,能够支持连接服务和统一访问网关服务的平滑接入。并且,客户端通过显示协议连接远程资源后,即使当前连接中虚机资源服务发生故障不可用,也可以自动地获取可用的桌面资源持续提供服务,有力地提升了用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的虚拟桌面资源远程访问控制方法流程图;
图2示出了本发明一实施例提供的元信息构建、存储响应的流程图;
图3示出了本发明一实施例提供的用户连接日志存储和调度的流程图;
图4示出了本发明一实施例提供的用户状态快照的实现、存储和调度的流程图;
图5示出了本发明一实施例提供的虚拟桌面资源远程访问控制装置的结构示意图;
图6示出了本发明一实施例提供的虚拟桌面服务器的结构示意图;
图7示出了本发明一实施例提供的远程访问框架的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1示出了本发明虚拟桌面资源远程访问控制方法实施例的流程图,该方法应用于虚拟桌面资源的服务器中,比如可适用于VMware平台架构中。如图1所示,该方法包括以下步骤:
步骤110:通过统一访问网关接收用户的访问请求。
其中,用户通过PC、笔记本、智能手机等客户端对虚拟桌面资源访问连接时,服务器可通过统一访问网关接收访问请求,统一访问网关(Unified Access Gateway,UAG),是用来作为暴露服务的唯一出口,具有安全控制、代理访问等能力,当然,该网关也可以通过其他网关结构实现,在本实施例中可不做具体限制。
步骤120:基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理,得到所述第一虚拟桌面代理的标识。
步骤130:根据所述标识建立所述统一访问网关与所述第一虚拟桌面代理间的连接。
在该步骤中,可以通过将各虚拟桌面代理和用户配置进行注册和管理,根据需要实现用户访问和虚拟桌面代理之间的动态匹配,特别是当正在连接的虚拟桌面代理出现故障或负载过大影响性能时,在用户没有感知的情况下就能够自动地将其访问切换连接到能够正常提供服务的第一虚拟桌面代理上。
步骤140:利用第一虚拟桌面代理对所述访问请求进行响应,并通过统一访问网关返回响应结果。
所述第一虚拟桌面代理对访问请求进行计算等操作后,可通过统一访问网关向客户终端返回。
综上,该实施例引入代理注册与分配的步骤后,虚拟桌面代理在对外提供服务时,通过对用户配置信息和虚拟桌面代理进行登记注册,如客户端连接到UAG网关后,经过注册分配后确定为其服务的第一虚拟桌面代理的标识,进而根据该标识路由到该第一虚拟桌面代理资源提供服务。
在一个优选的实施例中,步骤120基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理包括:获取各虚拟桌面代理是否可用以及负载量信息;根据所述信息为所述访问请求确定供选择的虚拟桌面代理范围;对于访问请求密集的用户,分配多个不同虚拟桌面代理;或者,按照负载量从少到多的顺序分配虚拟桌面代理。
特别地,在该优选实施例中,统一访问网关除了进行安全控制、代理访问之外,还实现了对客户端的负载进行均衡管理的能力,能够均衡地实现各客户端的访问请求,比如对于访问请求密集的客户端,可以通过分配多个不同虚拟桌面代理对其计算响应,实现客户端的负载均衡(Load Balance)。
当然,也可以按照各虚拟桌面代理的负载量从少到多的顺序分配虚拟桌面代理,从而实现服务器端的负载均衡(Load Balance)。
需要指出的是,结合图7所示的,在一些虚拟桌面资源平台中,一般通过显示协议实现客户端到网关的访问。显示协议是桌面虚拟化厂商必争之地,协议效率决定了虚拟桌面使用的用户体验,比如Microsoft使用RDP协议,Citrix用的是ICA协议,Vmware开发了自己的PCoIP协议,Redhat发布了SPICE协议。
在一个或一些实施例中,步骤120还包括:构建分布式选举服务,利用所述分布式选举服务选举出第一虚拟桌面代理。
具体的,通过该步骤,可以实现对UAG网关服务和桌面池中的虚拟桌面代理服务的统一调度管理,UAG网关也发现所有虚拟桌面代理服务,通过动态分配实现动态代理。并且,通过注册和分布式选举服务的动态分配功能,各虚拟桌面代理之间也可以互相发现对方,而实现代理间的直接通信。
优选的,确定好第一虚拟桌面代理之后,再根据第一虚拟桌面代理的标识在所述用户的客户端、统一访问网关与所述第一虚拟桌面代理间建立连接在建立连接,并通过谷歌远程过程调用(GoogleRemote Procedure Calls,GRPC)和Protobuf数据标准进行数据传输通信。
在一个或一些实施例中,构建分布式选举服务,包括:
配置分布式选举服务的元信息,所述元信息包括如下的至少一项:任期编号、投票目标节点标识、投票目标节点端口号或候选节点地址列表;
建立用户连接到虚拟桌面代理的任务日志;
形成用户状态快照,以供在更换虚拟桌面代理时快速恢复服务;
以各虚拟桌面代理为服务节点,基于所述元信息、所述任务日志以及所述用户状态快照,构建形成所述分布式选举服务。
具体的,第一虚拟桌面代理的确定优选采用基于Raft协议的分布式选举服务实现的,其中的关键步骤包括元信息设计与保存、日志设计与保存、快照设计与保存,心跳、元信息日志、选举信息、用户快照等传输方式等。
需要指出的是,Raft协议是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议,Raft是一个共识算法(consensus algorithm),所谓共识,就是多个节点对某个事情达成一致的看法,即使是在部分节点故障、网络延时、网络分割的情况下。
在本实施例的Raft协议中,定义了如下概念:leader:领导者,提供服务(生成写日志)的节点,任何时候Raft系统中只能有一个leader,而所有节点启动时都是跟随者follower状态;在一段时间内如果没有收到来自leader的心跳,从follower切换到候选者candidate,发起选举;如果收到大多数的造成票(含自己的一票)则切换到leader状态;如果发现其他节点比自己更新,则主动切换到follower。leader会不停的给follower发心跳消息,表明自己的存活状态。如果leader故障,那么follower会转换成candidate,重新选出leader。每一届新的履职期称之为一届任期,对应的术语叫term,termId为任期编号,时间被划分成一个个任期,每次选举后都会产生一个新的termId,一个任期内只有一个leader。另外,Raft协议中还包括请求投票RequestVote,附加日志AppendEntries,leader发送日志和心跳等的机制。
在一个优选实施例中,配置分布式选举服务的元信息,包括:根据元信息路径以及各服务节点状态创建元信息实例;为所述元信息实例加载元信息的配置信息,并基于消息机制,根据当前任期和节点投票情况形成所述元信息实例的存储消息;根据所述元信息实例的存储消息,存储所述元信息实例,以供所述分布式选举服务调用。
元信息包括用来记录比如Raft协议实现的内部状态,如当前term编号、投票给目标代理agent节点信息,包括节点ip,端口号,备份节点ip列表等。初始化元信息根据其存储路径、配置以及代理节点监控默认创建AgentInfo类型元信息存储,该类型可基于ProtoBuf消息机制存储实现。
具体参见图2所示的交互响应流程中,上述机制包括三个节点:元信息工厂、元信息和元信息存储。其中,所示元信息工厂AgentInfoFactory用于:主要负责元信息的初始化和调度节点监控,根据元信息路径、不同节点监控默认创建AgentInfo元信息实例;针对元信息操作完毕后,负责对元信息实例的回收。元信息AgentInfo用于:根据元信息存储配置信息,加载元信息存储配置信息,包含当前任期Term和Agent节点投票构建元信息存储消息AgentInfoStorage,对消息进行设置、分配、查询的操作,一次操作完毕后刷新至内存中并写入ProtoBufFile文件。元信息存储AgentInfoStorage用于:基于ProtoBuf Message实现的本地存储,负责元信息存储路径、配置、节点等元信息的维护。
在一个实施例中,建立用户连接到虚拟桌面代理的任务日志,包括:
对日志存储实例进行初始化操作,基于嵌入式存储引擎保存所述日志实例;在选举服务节点时,执行日志管理中如下的任一项:设计日志索引、保存日志实例和任期、对日志实例的增删改查、清空日志实例或重置日志任期索引。
该实施例主要用于对连接任务日志的设计、存储和调度管理,从而为获取日志快照提供基础。具体包括保存Raft各分组节点的日志信息,进行比如日志索引、日志实例和任期、对日志实例的增删改查、清空日志实例、重置日志任期索引等相关操作。
其中,存储引擎优选基于开源的LSM-Tree数据结构的嵌入式存储引擎RocksDB实现,RocksDB是一个来自facebook的可嵌入式的支持持久化的key-value存储系统,也可作为C/S模式下的存储数据库。初始化日志存储工厂根据节点日志存储路径和是否启用异步配置,默认创建日志存储对象,其按顺序组织所有数据,包括根据索引获取数据实例,插入数据、删除数据等。
日志的调度管理主要用于调用底层日志存储模块,针对其调用进行缓存、批量提交以及相关的检查和优化,日志存储和调度主要流程参见图3所示。
在一个优选实施例中,由于用户在虚机VM上操作任务比较频繁,每次用户任务提交需要记录内存中状态机的状态数据,对存储来说是不可持续的;如果VM进行重启,内容用户状态数据会丢失,重启过程会重新获取所有日志来重建整个状态机实例,过程很长启动缓慢;此外,如果增加新节点虚机,新节点需要从Raft Leader节点获取所有的日志重新获取至状态机,增加了网络带宽的负担。因此,引入快照模块。具体包括:通过创建快照编写器、远程复制数据、配置快照属性的操作,记录用户状态机及用户的信息,增量保存从而更新当前用户状态机的最新状态镜像文件,使得在虚机重新启动时能够直接加载所述镜像文件。
参见图4所示的,包括用户或服务节点状态镜像文件的快照是实现虚拟桌面服务快速转移的有效途径,主要用于VM用户的状态机及用户元信息的记录,为当前状态机的最新状态镜像进行增量保存,减少日志存储占用;启动时直接加载最新的镜像。
具体的快照的创建、存储和调度功能包括:创建快照编写器、远程URI复制数据、远程复制任务维护、配置快照属性如磁盘读写、网络带宽等、存储Raft服务节点虚机状态,复制镜像文件实现快照的安装,通知各Raft服务节点发布状态转换类型任务事件到消息队列,通过环形缓冲方式触发运行快照保存任务,并存储各种类型状态机快照,特别的,通过调度管理实现Raft服务节点虚机状态的存储、远程或者本地快照安装、镜像文件的复制,以及状态机快照同步和快照安装等。
图5示出了本发明虚拟桌面资源远程访问控制装置实施例的结构示意图。如图5所示,该装置500包括:
接收模块510,适于通过统一访问网关接收用户的访问请求;
分配模块520,适于基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理,得到所述第一虚拟桌面代理的标识;
连接模块530,适于根据所述标识建立所述统一访问网关与所述第一虚拟桌面代理间的连接;
响应模块540,适于利用所述第一虚拟桌面代理对所述访问请求进行响应,并通过所述统一访问网关返回响应结果。
综上,该实施例引入分配模块520后,所有虚拟桌面代理要想对外提供服务,可以先进行注册,客户端访问通过服务网关进行访问,然后路由到对应虚拟桌面代理服务进行交互访问,在客户端连接到UAG网关后,经过集中注册分配后才能确定为其服务的第一虚拟桌面代理的标识,进而根据该标识路由到可用的虚拟桌面资源提供服务。
在一个实施例中,分配模块520还适于:
获取各虚拟桌面代理是否可用以及负载量信息;
根据所述信息为所述访问请求确定供选择的虚拟桌面代理范围;
为访问请求密集的用户,分配多个不同虚拟桌面代理;和/或,对于所述访问请求,按照负载量从少到多的顺序分配虚拟桌面代理。
在一个实施例中,分配模块520还适于:
构建分布式选举服务,利用所述分布式选举服务选举出第一虚拟桌面代理;
将所述第一虚拟桌面代理分配给所述用户。
可选的,分配模块520中构建分布式选举服务,包括:
配置分布式选举服务的元信息,所述元信息包括如下的至少一项:任期编号、投票目标节点标识、投票目标节点端口号或候选节点地址列表;
建立用户连接到虚拟桌面代理的任务日志;
形成用户状态快照,以供在更换虚拟桌面代理时快速恢复服务;
以各虚拟桌面代理为服务节点,基于所述元信息、所述任务日志以及所述用户状态快照,形成所述分布式选举服务。
在一个实施例中,配置分布式选举服务的元信息,包括:
根据元信息路径以及各服务节点状态创建元信息实例;
为所述元信息实例加载元信息的配置信息,并基于消息机制,根据当前任期和节点投票情况形成所述元信息实例的存储消息;
根据所述元信息实例的存储消息,存储所述元信息实例,以供所述分布式选举服务调用。
在一个实施例中,建立用户连接到虚拟桌面代理的任务日志,包括:
对日志存储实例进行初始化操作,基于嵌入式存储引擎保存所述日志实例;
在选举服务节点时,执行日志管理中如下的任一项:设计日志索引、保存日志实例和任期、对日志实例的增删改查、清空日志实例或重置日志任期索引。
在一个实施例中,形成用户状态快照,包括:
通过创建快照编写器、远程复制数据、配置快照属性的操作,记录用户状态机信息;
及时更新当前用户状态机的最新状态镜像文件,形成用户状态快照,使得在服务节点重新启动时直接加载所述镜像文件。
图6示出了本发明虚拟桌面服务器实施例的结构示意图,本发明具体实施例并不对该虚拟桌面服务器的具体实现做限定。
结合图6所示的虚拟桌面服务器的结构,所述虚拟桌面服务器包括:统一访问网关、代理注册中心、虚拟桌面代理资源(桌面池)、连接服务器和AD域控服务器。
具体的,如果用户需要通过客户端连接远程桌面,通常通过统一接入网关UAG进行,连接的初始身份验证阶段是从客户端到UAG,经过代理注册中心再到连接服务器;连接服务器通过AD域控服务器对用户进行身份验证,并向代理注册中心返回用户的授权资源;用户通过显示协议从客户端到UAG,再经过代理注册中心到远程虚拟桌面代理资源,建立会话连接,其具体的远程访问的框架如图7所示,其图7中DMZ(demilitarized zone,隔离区)是为了解决安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区。
并且,在该实施例中公开的虚拟桌面服务器执行如上述任意实施例中的虚拟桌面资源远程访问控制方法对应的操作,从而通过代理注册中心,在用户无感的情况下,实现负载均衡和动态切换代理服务,提升用户体验。
本发明另一实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的虚拟桌面资源远程访问控制方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种虚拟桌面资源远程访问控制方法,所述方法包括:
通过统一访问网关接收用户的访问请求;
基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理,得到所述第一虚拟桌面代理的标识;
根据所述标识建立所述统一访问网关与所述第一虚拟桌面代理间的连接;
利用所述第一虚拟桌面代理对所述访问请求进行响应,并通过所述统一访问网关返回响应结果。
2.根据权利要求1所述的方法,其特征在于,基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理,包括:
获取各虚拟桌面代理是否可用以及负载量信息;
根据是否可用以及负载量信息为所述访问请求确定供选择的虚拟桌面代理范围;
对于访问请求密集的用户,分配多个不同虚拟桌面代理;和/或,对于所述访问请求,按照负载量从少到多的顺序分配虚拟桌面代理。
3.根据权利要求1或2所述的方法,其特征在于,基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理,包括:
构建分布式选举服务,利用所述分布式选举服务选举出第一虚拟桌面代理;
将所述第一虚拟桌面代理分配给所述用户。
4.根据权利要求3所述的方法,其特征在于,构建分布式选举服务,包括:
配置分布式选举服务的元信息,所述元信息包括如下的至少一项:任期编号、投票目标节点标识、投票目标节点端口号或候选节点地址列表;
建立用户连接到虚拟桌面代理的任务日志;
形成用户状态快照,以供在更换虚拟桌面代理时快速恢复服务;
以各虚拟桌面代理为服务节点,基于所述元信息、所述任务日志以及所述用户状态快照,构建所述分布式选举服务。
5.根据权利要求4所述的方法,其特征在于,配置分布式选举服务的元信息,包括:
根据元信息路径以及各服务节点状态创建元信息实例;
为所述元信息实例加载元信息的配置信息,并基于消息机制,根据当前任期和节点投票情况形成所述元信息实例的存储消息;
根据所述元信息实例的存储消息,存储所述元信息实例,以供所述分布式选举服务调用。
6.根据权利要求4所述的方法,其特征在于,建立用户连接到虚拟桌面代理的任务日志,包括:
对日志存储实例进行初始化操作,基于嵌入式存储引擎保存所述日志实例;
在选举服务节点时,执行日志管理中如下的任一项:设计日志索引、保存日志实例和任期、对日志实例的增删改查、清空日志实例或重置日志任期索引。
7.根据权利要求4所述的方法,其特征在于,形成用户状态快照,包括:
通过创建快照编写器、远程复制数据、配置快照属性的操作,记录用户状态机信息;
更新当前用户状态机的最新状态镜像文件,形成用户状态快照,使得在服务节点重新启动时直接加载所述镜像文件。
8.一种虚拟桌面资源远程访问控制装置,所述装置包括:
接收模块,适于通过统一访问网关接收用户的访问请求;
分配模块,适于基于各虚拟桌面代理的状态信息,为用户动态分配第一虚拟桌面代理,得到所述第一虚拟桌面代理的标识;
连接模块,适于根据所述标识建立所述统一访问网关与所述第一虚拟桌面代理间的连接;
响应模块,适于利用所述第一虚拟桌面代理对所述访问请求进行响应,并通过所述统一访问网关返回响应结果。
9.一种虚拟桌面服务器,所述虚拟桌面服务器包括:统一访问网关、代理注册中心、虚拟桌面代理资源、连接服务器和AD域控服务器;
所述连接服务器和所述AD域控服务器用于通过所述代理注册中心对用户进行身份验证,使得用户通过显示协议在所述客户端、统一访问网关、代理注册中心和虚拟桌面代理资源之间建立会话连接;
其中,所述虚拟桌面服务器执行如权利要求1-7中任一项所述的虚拟桌面资源远程访问控制方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的虚拟桌面资源远程访问控制方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210783836.8A CN116264515A (zh) | 2022-07-05 | 2022-07-05 | 虚拟桌面资源远程访问控制方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210783836.8A CN116264515A (zh) | 2022-07-05 | 2022-07-05 | 虚拟桌面资源远程访问控制方法、装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116264515A true CN116264515A (zh) | 2023-06-16 |
Family
ID=86723659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210783836.8A Pending CN116264515A (zh) | 2022-07-05 | 2022-07-05 | 虚拟桌面资源远程访问控制方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116264515A (zh) |
-
2022
- 2022-07-05 CN CN202210783836.8A patent/CN116264515A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11157304B2 (en) | System for peering container clusters running on different container orchestration systems | |
US11507364B2 (en) | Cloud services release orchestration with a reusable deployment pipeline | |
US11553034B2 (en) | Server computer management system for supporting highly available virtual desktops of multiple different tenants | |
US11409719B2 (en) | Co-locating microservice persistence containers within tenant-specific database | |
US8010651B2 (en) | Executing programs based on user-specified constraints | |
CN112104723B (zh) | 一种多集群的数据处理系统及方法 | |
CN102202078B (zh) | 一种用于配置服务器场的多个异类角色的方法和系统 | |
US20110185063A1 (en) | Method and system for abstracting non-functional requirements based deployment of virtual machines | |
US20050198303A1 (en) | Dynamic virtual machine service provider allocation | |
US10728169B1 (en) | Instance upgrade migration | |
US11201930B2 (en) | Scalable message passing architecture in a cloud environment | |
US11397622B2 (en) | Managed computing resource placement as a service for dedicated hosts | |
US9390156B2 (en) | Distributed directory environment using clustered LDAP servers | |
US20180227241A1 (en) | Dynamically adaptive cloud computing infrastructure | |
CN114168179B (zh) | 微服务管理方法、装置、计算机设备和存储介质 | |
US20210119940A1 (en) | Dynamic, distributed, and scalable single endpoint solution for a service in cloud platform | |
CN115086166A (zh) | 计算系统、容器网络配置方法及存储介质 | |
US9465677B2 (en) | Partitioned application environment | |
US10637924B2 (en) | Cloud metadata discovery API | |
CN116743762A (zh) | 服务注册集群流量切换方法、流量切换装置及存储介质 | |
US20200267230A1 (en) | Tracking client sessions in publish and subscribe systems using a shared repository | |
US10587725B2 (en) | Enabling a traditional language platform to participate in a Java enterprise computing environment | |
CN116264515A (zh) | 虚拟桌面资源远程访问控制方法、装置 | |
CN114662102A (zh) | 一种文件处理方法、装置及存储介质 | |
CN114726905A (zh) | 一种Tbox网络接入Android系统的方法、装置、设备及存储介质 |
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 |