CN113312128B - 一种融合微服务与idv架构的桌面云系统 - Google Patents

一种融合微服务与idv架构的桌面云系统 Download PDF

Info

Publication number
CN113312128B
CN113312128B CN202110566572.6A CN202110566572A CN113312128B CN 113312128 B CN113312128 B CN 113312128B CN 202110566572 A CN202110566572 A CN 202110566572A CN 113312128 B CN113312128 B CN 113312128B
Authority
CN
China
Prior art keywords
desktop
desktop cloud
micro
service
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
Application number
CN202110566572.6A
Other languages
English (en)
Other versions
CN113312128A (zh
Inventor
王振宇
苏传宇
连锐男
谭杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202110566572.6A priority Critical patent/CN113312128B/zh
Publication of CN113312128A publication Critical patent/CN113312128A/zh
Application granted granted Critical
Publication of CN113312128B publication Critical patent/CN113312128B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明中公开了一种融合微服务与IDV架构的桌面云系统,包括:桌面云客户端,在内网和外网环境下运行虚拟桌面;桌面云服务端,采用微服务架构模式设计,其与桌面云客户端通过网络隧道相互连接,并为其提供集中管控、系统镜像和用户数据存储服务;桌面云管理控制台,为所述桌面云服务端提供对本地PC资源的统一管控界面;物理资源,所述物理资源包括桌面云服务端的计算服务器、存储服务器,本地PC资源池以及交换机设备、路由器设备。本发明通过桌面云客户端、桌面云服务端、桌面云管理控制台以及物理资源的相互配合,实现用户在不同的PC资源上访问相同的虚拟桌面,同时实现系统管理员对多个虚拟桌面的集中管理。

Description

一种融合微服务与IDV架构的桌面云系统
技术领域
本发明涉及云计算领域,具体涉及一种融合微服务与IDV架构的桌面云系统。
背景技术
由于云计算和虚拟化技术的兴起,用户期望能够随处办公。但在传统的模式下,企业、学校、医院、政府机关等各类机构的电脑终端设备数量不断增加,桌面环境的管理与维护成本巨大。桌面云作为一种基于云计算和面向服务的新模式,可以通过云平台为本地桌面提供可随时获取的、按需使用的、安全可靠的各类桌面管理服务。它可以看作是传统桌面在云计算环境下的创新和发展,继承了云计算领域中按需获取,随处可用的先进模式的优势,弥补了当前企业、学校等不同组织办公的缺陷。
主流的桌面云方案分类两大类:传统的VDI架构和起步稍晚的IDV架构。根据《高校云桌面计算机实验室方案选择与设计》文献中介绍,VDI架构的桌面云方案存在网络延迟和带宽限制等问题,而IDV架构的桌面云方案由于其集中管理,分布计算的特点能够更充分地利用本地设备资源从而表现出更出色的性能和适应性,但是仍然具有运维难度大等不足。
微服务架构是将应用程序构建为松耦合、可独立部署的一组服务。微服务架构的优势是使得大型复杂应用程序可以持续交付和持续部署以及便于维护等。
发明内容
本发明的目的在于提供一种融合微服务与IDV架构的桌面云系统,所述系统基于集中控制,本地运行的IDV理念以及采用微服务架构模式设计,实现用户在不同的PC资源上访问相同的虚拟桌面,同时实现系统管理员对多个虚拟桌面的集中管理,具有集中配置和管理、支持离线、用户体验好、成本低的优点。
本发明至少通过如下技术方案之一实现。
一种融合微服务与IDV架构的桌面云系统,所述系统包括:
桌面云客户端,所述桌面云客户端在内网和外网环境下运行虚拟桌面;
桌面云服务端,所述桌面云服务端采用微服务架构与所述桌面云客户端通过网络隧道相互连接,并为所述桌面云客户端提供集中管控模块、镜像和用户数据存储;
桌面云管理控制台,为所述桌面云服务端提供对本地PC资源的统一管控界面,将管理员在浏览器各项操作转换为对服务端各种功能接口的调用,服务端返回响应后再将结果进行展示;
物理资源,所述物理资源包括桌面云服务端的计算服务器、存储服务器,本地PC资源池以及交换机设备、路由器设备。
优选的,所述桌面云客户端通过自动化运维工具部署到本地PC主机,运行本地VM和实现云端对本地PC主机的管控。
优选的,所述桌面云客户端包括采用微服务架构风格构建的桌面云服务端子系统。
优选的,所述桌面云服务端子系统分为通用型微服务单元和业务型微服务单元;
所述通用型微服务单元包括API网关、服务发现、数据库、消息队列微服务单元;
所述业务型微服务单元包括镜像管理、个人数据服务单元、存储管理、网络管理、桌面配置服务单元、用户管理微服务单元;
所述桌面云服务端子系统的所有业务服务功能通过向API网关注册后统一对外提供RESTful API接口,用型微服务单元和业务型微服务单元运行的相关数据均保存在各自得数据库中。
优选的,所述用户管理微服务单元所述用户管理服务单元用于用户登录认证、划分用户组和角色、设置用户权限;
所述镜像管理服务单元用于查看磁盘镜像使用状态和占用空间、增删磁盘镜像、启停存储池;
所述个人数据服务单元用于设置公共云盘和私有云盘,公共云盘能被组织内用户共享,私有云盘只被本用户占有;
所述桌面配置服务单元用于根据用户组划分虚拟网络,指定用户组内模板镜像和配置存储空间。
优选的,所述桌面云服务端还存储着虚拟桌面镜像文件和个人数据,用于持久保存虚拟桌面实例。
优选的,所述磁盘镜像采用桌面云服务端集中存储,同时同步到所有本地PC主机,
磁盘镜像采用分层存储,基于aufs构建磁盘镜像的分层存储,将系统文件保存为模板镜像,将用户数据保存成子镜像。
优选的,所述磁盘镜像采用分布式数据缓存和动态派送技术,桌面云客户端只需首次启动时从服务器端下载完整的磁盘镜像,通过Rsync算法来对本地和远程的数据进行增量同步,并保证服务器端磁盘镜像的最新版本。
优选的,所述本地PC的主机包括笔记本、台式机。
优选的,所述数据库为关系型数据库、键值型数据库、文档型数据库和图数据库。
与现有的技术相比,本发明的有益效果为:
(1)高可扩展性和敏捷部署:由于服务端程序采用微服务架构和容器技术,根据业务拆分成多个独立部署的微服务单元,能够在云端结合容器管理平台进行弹性伸缩和敏捷交付;
(2)虚拟桌面的性能更优:本地PC主机启动虚拟桌面时间减小,同时,虚拟桌面的运行更加流畅;
(3)维护的时间成本降低:采用桌面云系统后,重装系统或者安装程序只需要管理员更新模板镜像即可,效率更高;
(4)对外设的支持更友好。
附图说明
为了更清楚的说明本发明实施的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;
图1为本发明的融合微服务与IDV架构的桌面云系统示意图;
图2为基于微服务的桌面云服务端系统设计示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于理解,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
如图1所示的一种融合微服务与IDV架构的桌面云系统,其包含4层结构。从下向上,依次为资源层、虚拟化层、服务层、应用层。
第1层为资源层,提供桌面云平台所涉及到的各类硬件资源,资源层的物理资源包括桌面云服务端的计算服务器、存储服务器,本地PC资源池以及交换机设备、路由器设备。在服务器侧,主要包括计算设备、网络设备和存储设备;在客户端侧,主要包括各种类型主机以及外接设备,外接设备包括USB接口、打印机或U盘。通过USB重定向技术、硬件虚拟化技术,将分散的各类异构资源虚拟接入到桌面云平台,进行统一管理和调度;桌面云平台的桌面云客户端在内网和外网环境下运行虚拟桌面。
第2层为虚拟化层,通过kvm、libvirt开源虚拟化技术将服务器侧、客户侧资源池化,将各种功能封装为可组合、可重用的服务。在微服务架构中,根据不同的目的,人们可以通过不同的方式使用同一个功能,在考虑客户如何使用该软件时,这一点尤其重要。应用种类包括Web,原生应用、移动端Web、平板应用及可穿戴设备等,针对每一种都应该考虑如何对已有的功能进行组合来实现这些应用。这就是服务的可组合、可重用性。并为第3层提供各种规范、约束和支撑,例如管理来宾操作系统的API。
第3层为服务层,服务层的桌面云服务端采用微服务架构与所述桌面云客户端通过网络隧道相互连接,位于同一局域网内的虚拟桌面优先使用内部专用网络隧道互通,并为所述桌面云客户端提供集中管控模块、镜像和用户数据存储。
其中,所述集中管控模块包括web端应用程序、实现镜像管理、存储管理等。
所诉服务端程序具体实施方式如下:
1)所诉IDV桌面云系统服务端基于Go语言开发。其中Go语言具有良好的跨平台性和运行效率。语言层面的Goroutine协程特性使其对并发编程支持度非常高。适用于所述云桌面系统服务端编写。
2)所述IDV桌面云系统基于MVC架构,其中视图层由前端IDV-Web、IDV-Client实现。数据访问层由model包各结构体实现。
3)所述IDV桌面云系统的API采用REST+JSON的组合实现。其中使用JSON作为HTTP请求和响应的媒体类型。
4)所述IDV桌面云系统的所有业务数据都在MySQL数据库中进行持久化保存,在启动服务端程序时建立MySQL数据库的连接,并检查系统所需的数据表是否已经创建。如果尚未创建,IDV-Server会根据model包中相关结构体的定义创建其对应的数据表。如果已经创建,则会检查表结构是否与代码中的定义相同。
5)所述IDV-Server在启动时,会建立与服务端主机libvirtd守护进程的TCP连接。成功连接libvirt后,会调用libvirt.StoragePoolRefresh方法刷新存储池以及镜像的相关信息,并将结果保存至数据库中。
6)所述镜像存储池的后端可基于NFS和Ceph实现。对于NFS而言,存储池对应服务器上的一个目录,镜像对应目录下的一个文件。
7)所述桌面云系统的虚拟网络通过OpenvSwitch+VXLAN实现。IDV-Server需要在启动时读取数据库中的虚拟网络信息,启动OVS网桥与dnsmasq进程,完成虚拟网络的初始化工作。
所述桌面云系统中HTTP请求处理过程如下:
1)接收请求,解析路由。IDV-Server在接收到请求后,会首先根据HTTP请求方法和路径,查找启动服务器时的路由注册信息,解析到handler包下对应的处理函数,交给对应的handler函数处理。
2)处理请求,记录操作日志。请求对应的handler函数会根据预先定义的业务逻辑以及实际需求,调用libvirt对虚拟资源进行管理。之后调用model包下的结构体方法对数据库进行操作。最后根据返回的操作结果,记录系统的操作日志。
3)构造响应并返回。完成操作后,IDV-Server需要构造响应信息,将该响应信息返回给客户端,之后与客户端之间通过三次挥手断开TCP连接,完成本次HTTP请求的处理流程。
所述桌面云系统采用计算资源与存储资源相分离的架构,由本地的优选的物理主机为虚拟机提供计算资源(CPU、内存等),由云端的存储集群以及本地的镜像缓存提供虚拟机的存储资源(虚拟磁盘、光盘等)。
所述桌面云系统镜像存储具体实施例如下:
1)所述服务端程序IDV-Servr运行于服务端主机,基于存储集群建立云端的镜像存储池,为云桌面的运行提供各类镜像文件。管理员可在云端的管理平台对云桌面进行统一的配置管理,并为云桌面准备好所需的镜像文件资源。
2)所述镜像主要包括:模板镜像、实例镜像、数据镜像三类镜像。
3)所述模板镜像保存了课程云桌面的基础环境,安装有实验课程所需的操作系统及相关软件,每一门课程对应一个模板镜像。
4)所述实例镜像利用Copy-On-Write机制保存学生本次桌面会话所产生的修改数据,并作为系统盘挂载到虚拟机中。
5)所述数据镜像保存了实验课程所需的相关数据,以只读的方式挂载到虚拟机中。
6)所述所需镜像由桌面云服务端通过libvirt进行管理。libvirt通过StoragePool(存储池)和Storage Volume(存储卷)来组织物理主机的存储资源。其生命周期包括:
a.Undefined。该状态是存储池的初始状态,此时存储池还没有在libvirt中定义。可通过调用libvirt.StoragePoolDefineXML方法或执行virsh pool-define命令使用XML描述文件定义存储池,将其转换为Inactive状态。
b.Inactive。该状态即Defined状态,表示存储池此时已经在libvirt中定义,但处于非活跃状态,此时存储池下的所有Volume不可用。可通过调用libvirt.StoragePoolCreate方法或执行virsh pool-start命令,将其转换为Active状态。
c.Active。该状态即可用状态,表示存储池可正常工作,为虚拟机提供Volume。可调用libvirt.StoragePoolDestroy方法或执行virsh pool-destroy命令,将其转换为Inactive或Undefined状态。
7)所述镜像文件创建操作由管理员在客户端完成。管理员选择要创建的模板镜像的大小、格式,以及操作系统的安装镜像。之后,还需设置用于挂载该模板镜像的云端虚拟机的运行参数,并在计算集群主机上启动虚拟机实例。
8)虚拟机启动后,桌面云系统客户端通过SPICE协议连接至云端虚拟机的桌面环境中,管理员即可安装系统,制作桌面环境。
9)所述镜像更新操作同由管理员在客户端完成,管理员首先会在客户端选择要更新的模板镜像,之后设置云端虚拟机的运行参数,启动虚拟机。客户端会基于模板镜像创建qcow2格式的临时镜像,作为系统盘挂载到虚拟机中。
10)虚拟机启动后,客户端通过SPICE协议连接至云端虚拟机的桌面环境中,管理员即可对桌面环境进行更新。更新完成后,管理员可以选择销毁或合并临时镜像,将更新提交至后端的模板镜像中,最后通知服务端刷新存储池中的镜像信息,完成模板镜像的更新。
所述桌面云客户端通过自动化运维工具部署到本地PC主机,运行本地VM和实现云端对本地PC主机的管控。所述本地PC的主机包括笔记本、台式机。
所述桌面云客户端包括采用微服务架构构建的桌面云服务端子系统。
所述桌面云服务端子系统分为通用型微服务单元和业务型微服务单元;
所述通用型微服务单元包括API网关、服务发现、数据库、消息队列微服务单元;
所述数据库为关系型数据库、键值型数据库、文档型数据库和图数据库。
所述业务型微服务单元包括镜像管理、个人数据服务单元、存储管理、网络管理、桌面配置服务单元、用户管理微服务单元;
所述的网络管理具体为分为划分虚拟网络、分配与回收ip等,实现方式为ovs技术。
所述镜像管理服务单元用于查看磁盘镜像使用状态和占用空间、增删磁盘镜像、启停存储池;
所述个人数据服务单元用于设置公共云盘和私有云盘,公共云盘能被组织内用户共享,私有云盘只被本用户占有;
所述桌面配置服务单元用于根据用户组划分虚拟网络,指定用户组内模板镜像和配置存储空间。
所述用户管理微服务单元所述用户管理服务单元用于用户登录认证、划分用户组和角色、设置用户权限;
所述桌面云服务端子系统的所有业务服务功能通过向API网关注册后统一对外提供RESTful API接口,用型微服务单元和业务型微服务单元运行的相关数据均保存在各自得数据库中;
所述桌面云服务端还存储磁盘镜像文件和个人数据,用于持久保存虚拟桌面实例;所述桌面云客户端实时将虚拟桌面数据增量同步至桌面云服务端。
所述磁盘镜像采用桌面云服务端集中存储,同时同步到所有本地PC主机,桌面和应用的更新更为简便,集中维护的1工作量和难度大大降低。
所述桌面云服务端存储的磁盘镜像采用差分磁盘存储,有效减小磁盘的存储开销。
磁盘镜像采用分层存储,基于aufs构建磁盘镜像的分层存储,将不易发生改变的系统文件保存为模板镜像,将用户数据保存成子镜像。通过这种差分存储可以有效地节省系统的存储空间,以及减少后续同步的数据量;
所述磁盘镜像采用分布式数据缓存和动态派送,桌面云客户端只需首次启动时从服务器端下载完整的磁盘镜像,通过Rsync算法来对本地和远程的数据进行增量同步,并保证服务器端磁盘镜像的最新版本。
服务层主要基于微服务架构设计并实现IDV桌面云平台的业务功能逻辑,以满足各种复杂的应用场景。其中,服务器侧基于微服务架构模式中领域驱动设计原则抽象出各功能模块,如用户管理、镜像管理、桌面配置、个人数据等,并通过标准化的Restful API接口向用户提供服务。此外,还提供SSH和本地调用的特性功能。
第4层为应用层,其中,服务器侧通过Web网站将各种服务和业务流程展示给最终用户;而客户端侧,通过在本机上安装的桌面云客户端软件进行本地VM的管理。
图2为基于微服务的桌面云服务端系统设计示意图,具体包括微服务架构、桌面云系统的拆分逻辑以及与客户端、Web控制台的交互。对于桌面云服务端的微服务架构,将微服务单元抽象为两类,其中:
一类是通用服务,即服务发现、API网关,其与业务逻辑无关;
另一类是业务服务,其根据领域驱动设计的理念将桌面云平台按照业务功能拆分成多个服务,包括用户管理、镜像管理、存储管理、虚拟网络管理和桌面管理。
所有业务服务通过向API网关注册后统一对外提供RESTful API接口。同时,微服务单元运行的相关数据均保存在各自得数据库中。
桌面云管理控制台是面向Web端的管控平台,其为所述桌面云服务端提供了简洁易用的功能界面,对本地PC资源的统一管控界面,将管理员在浏览器各项操作转换为对服务端各种功能接口的调用,服务端返回响应后再将结果进行展示。
桌面云客户端运行在本地主机之上,其功能主要可分为两类:
一是管理本地KVM虚拟化环境。通过libvirt对本地的各类资源进行管理,并负责完成虚拟机创建、运销毁时所需的各类工作;
二是与服务资源进行通信,通过桌面云微服务提供端的API接口完成桌面云系统的各项业务操作,向服务端发送用户及桌面的各项数据,并通过网络从数据中心获取运行所需的各类镜像文件。
桌面云系统不限制组织类型,可以为企业、高校和政务机关,只需将单位内部PC资源接入桌面云系统,可实现桌面云系统的集中控制管理。
所述桌面云系统服务端中用户与教学管理功能具体实施例如下:
1)用户创建与删除。该功能是用户管理板块的基础功能。由管理员登录Web端的桌面云控制台进行操作。管理员可通过交互式操作创建学生信息,管理员提交创建请求后,IDV-Web会将学生信息通过HTTP请求发送至IDV-Server,由IDV-Server进行处理。IDV-Server会遍历学生列表,若该学生用户不存在,则在数据库中插入新记录。最后IDV-Server返回HTTP响应报文,由前端的IDV-Web将操作结果展示给管理员,即完成了学生用户的创建操作。删除用户的操作流程与创建流程大致相同,同样由管理员在web端完成操作。
2)创建班级并关联学生。管理员登录桌面云系统控制台后,首先输入班级的相关信息(班级ID、班级名、学院、入学年份等),完成班级的创建。之后为该班级选中需要关联的学生用户,发送HTTP请求至IDV-Server由服务端程序处理,在数据库中添加班级与学生的关联记录,即可完成班级与学生的关联操作。
3)创建课程并关联班级。管理员登录桌面云系统控制台后,首先输入课程的基本信息,并选择实验课程的任课教师、模板镜像、操作系统、虚拟网络,发送HTTP请求至IDV-Server,完成课程的创建。之后为该课程选中需要关联的班级,发送HTTP请求至IDV-Server由服务端程序处理,在数据库中添加课程与班级的关联记录,即可完成课程与班级的关联操作。
本发明的其中一个实施例的应用场景为高校教学场景,设计并开发基于KVM与融合微服务的IDV架构桌面虚拟化系统。通过Libvirt API实现对虚拟桌面及各类虚拟资源的配置和管理;基于NFS、Ceph和本地存储方案构建镜像资源存储池;基于Open vSwitch构建VXLAN Tunnel实现虚拟桌面跨物理网络的通信方案。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (9)

1.一种融合微服务与IDV架构的桌面云系统,其特征在于,所述系统包括:
桌面云客户端,所述桌面云客户端在内网和外网环境下运行虚拟桌面;
桌面云服务端,所述桌面云服务端采用微服务架构与所述桌面云客户端通过网络隧道相互连接,并为所述桌面云客户端提供集中管控模块、镜像和用户数据存储;
桌面云管理控制台,为所述桌面云服务端提供对本地PC资源的统一管控界面,将管理员在浏览器的操作转换为对服务端各种功能接口的调用,服务端返回响应后再将结果进行展示;
物理资源,所述物理资源包括桌面云服务端的计算服务器、存储服务器,本地PC资源池以及交换机设备、路由器设备;
所述桌面云服务端子系统分为通用型微服务单元和业务型微服务单元;
所述通用型微服务单元包括API网关、服务发现、数据库、消息队列微服务单元;
所述业务型微服务单元包括镜像管理、个人数据服务单元、存储管理、网络管理、桌面配置服务单元、用户管理微服务单元;
所述桌面云服务端子系统的所有业务服务功能通过向API网关注册后统一对外提供RESTful API接口,通用型微服务单元和业务型微服务单元运行的相关数据均保存在各自的数据库中。
2.根据权利要求1所述的一种融合微服务与IDV架构的桌面云系统,其特征在于,所述桌面云客户端通过自动化运维工具部署到本地PC主机,运行本地VM和实现云端对本地PC主机的管控。
3.根据权利要求2所述的一种融合微服务与IDV架构的桌面云系统,其特征在于,所述桌面云客户端包括采用微服务架构风格构建的桌面云服务端子系统。
4.根据权利要求3所述的一种融合微服务与IDV架构的桌面云系统,其特征在于,所述用户管理微服务单元用于用户登录认证、划分用户组和角色、设置用户权限;
所述镜像管理服务单元用于查看磁盘镜像使用状态和占用空间、增删磁盘镜像、启停存储池;
所述个人数据服务单元用于设置公共云盘和私有云盘,公共云盘能被组织内用户共享,私有云盘只被本用户占有;
所述桌面配置服务单元用于根据用户组划分虚拟网络,指定用户组内模板镜像和配置存储空间。
5.根据权利要求4所述的一种融合微服务与IDV架构的桌面云系统,其特征在于,所述桌面云服务端还存储着虚拟桌面镜像文件和个人数据,用于持久保存虚拟桌面实例。
6.根据权利要求5所述的一种融合微服务与IDV架构的桌面云系统,其特征在于,所述磁盘镜像采用桌面云服务端集中存储,同时同步到所有本地PC主机;
所述磁盘镜像采用分层存储,基于aufs构建磁盘镜像的分层存储,将系统文件保存为模板镜像,将用户数据保存成子镜像。
7.根据权利要求6所述的一种融合微服务与IDV架构的桌面云系统,其特征在于,所述磁盘镜像采用分布式数据缓存和动态派送技术,桌面云客户端只需首次启动时从服务器端下载完整的磁盘镜像,通过Rsync算法来对本地和远程的数据进行增量同步,并保证服务器端磁盘镜像的最新版本。
8.根据权利要求7所述的一种融合微服务与IDV架构的桌面云系统,其特征在于,所述本地PC主机包括笔记本、台式机。
9.根据权利要求8所述的一种融合微服务与IDV架构的桌面云系统,其特征在于,所述数据库为关系型数据库、键值型数据库、文档型数据库和图数据库。
CN202110566572.6A 2021-05-24 2021-05-24 一种融合微服务与idv架构的桌面云系统 Active CN113312128B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110566572.6A CN113312128B (zh) 2021-05-24 2021-05-24 一种融合微服务与idv架构的桌面云系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110566572.6A CN113312128B (zh) 2021-05-24 2021-05-24 一种融合微服务与idv架构的桌面云系统

Publications (2)

Publication Number Publication Date
CN113312128A CN113312128A (zh) 2021-08-27
CN113312128B true CN113312128B (zh) 2023-06-20

Family

ID=77374318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110566572.6A Active CN113312128B (zh) 2021-05-24 2021-05-24 一种融合微服务与idv架构的桌面云系统

Country Status (1)

Country Link
CN (1) CN113312128B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500564B (zh) * 2021-12-27 2024-07-09 华能澜沧江水电股份有限公司 一种云桌面系统的客户端硬件适配方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477531B2 (en) * 2010-01-27 2016-10-25 Vmware, Inc. Accessing virtual disk content of a virtual machine without running a virtual desktop
US10356214B2 (en) * 2017-03-29 2019-07-16 Ca, Inc. Composing monolithic applications based on multi-container applications
CN107864217B (zh) * 2017-11-21 2020-08-04 南京斯坦德云科技股份有限公司 云桌面智能推送系统
US11385940B2 (en) * 2018-10-26 2022-07-12 EMC IP Holding Company LLC Multi-cloud framework for microservice-based applications
CN112052060A (zh) * 2020-09-07 2020-12-08 西安雷风电子科技有限公司 基于容器技术的idv桌面不留密终端、服务器、系统及方法

Also Published As

Publication number Publication date
CN113312128A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
CN111061540B (zh) 一种基于容器技术的应用虚拟化方法及系统
EP2302509B1 (en) Synchronization of server-side cookies with client-side cookies
CN108513657B (zh) 数据转换方法及备份服务器
US11716406B2 (en) Data caching for cloud services
US10404613B1 (en) Placement of control and data plane resources
US11709692B2 (en) Hot growing a cloud hosted block device
WO2019047976A1 (zh) 网络文件管理方法、终端及计算机可读存储介质
US11681585B2 (en) Data migration for a shared database
CN110198329A (zh) 数据库部署方法、装置、系统、电子设备及可读介质
US20220311757A1 (en) Cross-regional replication of keys
CN112256676A (zh) 一种数据库迁移的方法、装置、设备和介质
JP2021515304A (ja) システムにおける時系列ログ構造のキーバリュー・ストア内のチェックポイントを使用した障害後のリカバリのための方法、コンピュータ・プログラム、および装置
CN113312128B (zh) 一种融合微服务与idv架构的桌面云系统
CN114579250B (zh) 一种构建虚拟集群的方法、装置及存储介质
US20200117703A1 (en) Management of Remote Access User Application Layouts
JP2021513137A (ja) 階層型ストレージ管理システムにおけるデータ・マイグレーション
Chullipparambil Big data analytics using Hadoop tools
CN115469807A (zh) 磁盘功能配置方法、装置、设备及存储介质
US11501014B2 (en) Secure data replication in distributed data storage environments
CN111949378B (zh) 虚拟机启动模式切换方法和装置、存储介质及电子设备
US20240202077A1 (en) Service cluster instance backup and recovery methods and related devices
US20230131665A1 (en) Updating virtual images of computing environments
US20240028335A1 (en) Application state synchronization across computing environments to an alternate application
Ward et al. Deploying Azure SQL
CN117271868A (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
GR01 Patent grant
GR01 Patent grant