CN105208123A - 一种虚拟桌面的实现方法及其系统 - Google Patents
一种虚拟桌面的实现方法及其系统 Download PDFInfo
- Publication number
- CN105208123A CN105208123A CN201510621809.0A CN201510621809A CN105208123A CN 105208123 A CN105208123 A CN 105208123A CN 201510621809 A CN201510621809 A CN 201510621809A CN 105208123 A CN105208123 A CN 105208123A
- Authority
- CN
- China
- Prior art keywords
- virtual desktop
- queue
- worker
- module
- thread
- 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
Classifications
-
- 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/08—Protocols specially adapted for terminal emulation, e.g. Telnet
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种虚拟桌面的实现方法,该方法在虚拟桌面的实现过程中使用了HashSet来存储工作者workers,通过可重入锁ReentrantLock对其进行并发保护,每个worker都是一个Runnable接口,使用了实现接口BlockingQueue的阻塞队列来存储待处理工作Job,并把队列作为构造函数参数,从而实现业务可以灵活的扩展定制线程池的队列,从而实现了基于有界阻塞数组队列虚拟桌面的。业务使用JDK自身的有界阻塞数组队列Synchronous?Array?Blocking?Queue来实现。通过本发明提高虚拟桌面部署分发效率,优化请求调度,从而有效的降低服务器负载压力,提升服务性能,提升请求响应效率,从而改善用户体验。
Description
技术领域
本发明涉及虚拟化技术领域,尤其涉及一种虚拟桌面的实现方法及其系统。
背景技术
云计算是使用SOA即Service-OrientedArchitecture架构的思想,它把软硬件作为一种资源服务提供给终端用户使用。服务开发用户则可以利用云计算平台提供的公共接口来获取相应的硬件和软件资源来进行服务的开发,而终端用户则可根据自身的需求定制和使用服务。
云计算平台中的基础设施即服务IaaS(Infrastructureasaservice)是把基础设备这些设施作为一种底层资源来为上层提供服务。IaaS的设施有很多,常见的PC、网络、处理、存储、带宽等等都可以是它的基础资源。这些基础资源其实对用户来说是透明的,也就是说当它们被提供的时候是经过虚拟化后的计算资源,这些资源只作为服务提供给云用户的使用者,使用者则不用关心这些资源的来源或者实现细节。此外这些资源对外都会被封装为统一的逻辑接口,从而屏蔽了底层硬件的差异。因此虚拟化过程对IaaS显得尤为重要,而具体实现中底层的资源并非只是单层构架,而往往被虚拟为若干层。目前底层资源被抽象为虚拟数据中心、服务机群、虚拟机群等。
此外,面对如此大规模的集群资源,当然负载均衡问题也是备受关注。如何很好地协调、配置和使用这么多的资源是许多厂商和研究领域迫在眉睫的一个问题,如果整合得当,必将有利于提高效率、降低成本,达到节能高效,否则就会形成资源浪费。
云桌面虚拟化解决方案在注重保障性价比的基础上,让政企事业单位IT系统管理和维护更简单和高效,具有极大的应用优势。它能够降低使用成本,而且部署灵活。
通过桌面虚拟化方案,单位所有人员使用的桌面系统及业务系统都集中在数据中心运行,所有业务工作实际保存、运行在数据中心的服务器,用户只能远程看到运行程序的图像,大大保证数据的安全;另外,管理员通过应用内置的安全策略,可以让用户无法将文件和信息保存在本地设备和移动磁盘上,防止机密数据随便贝拷贝造成的泄漏,从而有效实现数据安全和信息安全。
而在实际应用中,一般的做法是采用成熟的商业化组件部署虚拟桌面。无法针对具体的虚拟桌面进行高效的定制,优化消息对接机制,实现高效的消息分发;系统服务器负载压力大,服务性能降低,请求响应效率低,客户体验较差。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种虚拟桌面的实现方法及其系统,通过基于有界阻塞数组队列的线程池进行虚机桌面的实现,从而提高虚拟桌面部署分发效率,优化请求调度,降低服务器负载压力,提升服务性能,改善用户体验。
为实现上述目的,一方面,本发明提供了一种虚拟桌面的实现方法,该方法是基于有界阻塞数组队列的线程池进行虚拟桌面的实现,其流程如下:构建域控管理,构建虚拟化服务器资源池,构建资源池管理中心,构建虚拟桌面管理系统,构建虚拟机桌面VDI,通过客户端连接VDI;在上述虚拟桌面的实现过程中,还需要线程处理请求,使用了HashSet来存储工作者workers,通过可重入锁ReentrantLock对其进行并发保护,每个worker都是一个Runnable接口,使用了实现接口BlockingQueue的阻塞队列来存储待处理工作Job,并把队列作为构造函数参数,从而实现业务灵活的扩展定制线程池的队列,业务使用JDK自身的有界阻塞数组队列SynchronousArrayBlockingQueue来实现;通过有界阻塞数组队列的线程池和各个构建流程相结合实现虚拟桌面。
另一方面,本发明还提供了一种虚拟桌面系统,该系统包括:虚拟化服务器模块、域控管理模块、虚拟桌面管理模块、虚拟桌面模块、控制中心模块、PC浏览器虚拟桌面客户端模块。
虚拟化服务器模块,提供物理服务器hypervisor层服务。
域控管理模块,提供权限管理,账号管理服务。
虚拟桌面管理模块,提供对虚拟机和用户之间对应管理,以及桌面策略管理等。
虚拟桌面模块,提供虚拟机的调度管理。
控制中心模块,提供虚拟化资源池管理。
PC浏览器虚拟桌面客户端模块,提供客户连接服务。
本发明技术方案带来的有益效果:
第一,采用本发明的方法提高了虚拟桌面部署分发效率。
第二,采用本发明的方法,提高了云桌面部署过程中消息队列的高效处理,优化请求调度,降低服务器负载压力,提升服务性能,提升请求响应效率,改善用户体验。
第三,采用本发明的方法,可以提供部署的成功率,这样做可以有效降低部署的成本,提高整个系统的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的基于有界阻塞数组队列实现的线程池调度模型图;
图2是本发明的虚拟化桌面系统部署架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
虚拟化桌面设计实现原理是将使用和运行分开,硬件资源集中部署方式,实现使用和运行分开。
虚拟化桌面由三部份组成:云终端,桌面虚拟化软件和桌面云服务器。它不同于传统PC的分布式计算模式,它将计算资源集中到了服务器上,在服务器端使用虚拟化技术,虚拟出多个虚拟机,通过远程桌面协议将虚拟机内的操作系统和应用的图像信息传输到云终端上,在显示器上显示。云终端有点类似电视的机顶盒,是一个输入和输出的转换设备,用以接收服务器传到的图像,同时把用户的输入信息发送到服务器。
这里的云终端,可以是瘦客户机,也可以是PC机,笔记本等,在操作系统上安装客户端软件。
云桌面原理将桌面OS/APP/用户数据迁向后台服务器。虚拟化技术将OS/APP/用户数据都迁向后台服务器,云终端通过网络将鼠标键盘输入传向服务器,服务器执行应用的界面通过网络传回云终端显示出来,不需要更改后台应用。
本发明提供了一种虚拟桌面的实现方法,具体流程为:
a.构建域控管理
a1.开始运行dcpromo
a2.进入AD的安装向导
a3.关于系统兼容性的说明
a4.创建域控制器的类型
a5.创建一个新域。选第一项"在新林中的域",因为本文的环境为安装第一个域。
a6.创建的域的名称。
a7.NetBIOS域名
a8.数据库及日志文件存放的位置
a9.共享的系统卷
a10.设置权限
b.构建虚拟化服务器资源池
通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
c.构建资源池管理中心
动态数据中心环境要求使用主动管理,利用标准化和自动化来最有效地利用资源池管理中心的灵活性。利用简化和标准化的工作流将业务要求与IT流程连接起来,帮助消除代价高昂的错误并降低对手动任务的依赖。
资源池管理中心可让管理员使用标准化模板迅速部署虚拟机和主机,并利用自动修正确保与虚拟主机配置以及主机和虚拟机补丁程序级别的遵从性。资源池管理中心还可让管理员控制关键功能,例如VMotion、DistributedResourceScheduler、HighAvailability和FaultTolerance。强大的编排引擎使管理员能够创建和轻松实施最佳实践工作流。
d.构建虚拟桌面管理系统
虚拟桌面管理系统以托管服务的形式从专为交付整个桌面而构建的虚拟化平台上交付丰富的个性化虚拟桌面,而不仅仅是应用程序以实现简化桌面管理。通过虚拟桌面管理系统您可以将虚拟桌面整合到数据中心的服务器中,并独立管理操作系统、应用程序和用户数据,从而在获得更高业务灵活性的同时,使最终用户能够通过各种网络条件获得灵活的高性能桌面体验,实现桌面虚拟化的个性化。
e.构建虚拟机桌面VDI
通过网络,迅速部署一个通用的、支持性桌面环境。创建一个Windows7桌面映像并使用该映像来部署服务器虚拟机监控程序上的虚拟机。一台服务器可以支持许多虚拟桌面。这些桌面的每个反应作为一个独立Windows7桌面。不同的是使用远程桌面服务(RDS),连接到某个虚拟桌面的用户不会影响其他虚拟桌面或主机服务器有该VM所有功能的完全访问权限。用户仍可以使用远程桌面客户端连接到他们的虚拟桌面。
f.通过客户端连接VDI
软件是一种安装简便的客户端软件,使您可以通过任何设备——包括智能电话、平板电脑和PC——接入文档、应用和桌面。作为员工,每天要使用多种设备办公,并希望获得一种方法来接入所有工作内容,如应用和文档,帮助顺利完成工作。IT专业人士正努力应对这些设备的快速普及,同时为用户提供他们希望的移动高清用户体验。可与支持技术的IT基础架构协同运行,通过任何设备为员工提供丰富、一致而安全的内容接入体验,而不增加IT部门的管理复杂性。
在虚拟化桌面的实现过程中,内部需要使用大量的线程处理请求,而单次请求响应时间通常比较短,基于操作系统的本地调用方式大量的创建和销毁线程本身会成为系统的一个性能瓶颈和资源浪费。若使用线程池技术可以实现工作线程的复用,即一个工作线程创建和销毁的生命周期期间内可以执行处理多个任务,从而总体上降低线程创建和销毁的频率和时间,提升了系统性能。本发明通过使用有界阻塞数组队列的线程池技术进行虚拟化桌面的实现,从微观方面优化请求调度,从而有效的降低服务器负载压力,提升服务性能,提升请求响应效率,从而改善用户体验。
如图1所示为本发明基于有界阻塞数组队列的线程池调度模型,基于该模型的虚拟桌面实现方法是使用了HashSet来存储工作者workers,通过可重入锁ReentrantLock对其进行并发保护。每个worker都是一个Runnable接口。使用了实现接口BlockingQueue的阻塞队列来存储待处理工作Job,并把队列作为构造函数参数,从而实现业务可以灵活的扩展定制线程池的队列。业务使用JDK自身的有界阻塞数组队列SynchronousArrayBlockingQueue来实现。
具体实现是基于多个构造参数实现灵活初始化,几个核心参数如下:CorePoolSize:核心工作者数。MaximumPoolSize:最大工作者数。keepAliveTime:超过核心工作者数时闲置工作者的存活时间。WorkQueue:待处理Job队列,BlockingQueue接口。默认初始化后不启动工作者,等待有请求时才启动。可以通过调用线程池接口提前启动核心工作数个工作者线程,也可以启动业务期望的多个工作者线程。
(1)工作者Workers数量低于核心工作者数CorePoolSize时会优先创建一个工作者Worker处理Job,处理成功则返回。
(2)工作者Workers数量高于核心工作者数时会优先把Job放入到待处理队列,放入队列成功时处理结束。
(3)步骤2中入队失败会识别工作者数是否还小于最大工作者数MaximumPoolSize,小于的话也会新创建一个工作者Worker处理Job。
具体实现如下步骤:
首先定义阻塞队列,创建链表安全线程队列。
其次,将一个工作任务入队列。
第三、将一个元素出队,如果队列为空,则阻塞,直到有对象入队。
在实际的应用中,线程池的启动时的各项参数由指定的配置文件config.xml读入,包括线程池中核心线程数的大小,最大线程数的大小,空闲线程生命周期等,面对不同的应用,需要对线程池做出相应的改进、扩展,使得线程池的应用情况能够更好的满足系统的实际需求。
如图2所示为本发明的一种虚拟桌面系统部署架构图,该系统包括:虚拟化服务器模块、域控管理模块、虚拟桌面管理模块、虚拟桌面模块、控制中心模块、PC浏览器虚拟桌面客户端模块。
虚拟化服务器模块,提供物理服务器hypervisor层服务。
域控管理模块,提供权限管理,账号管理服务。
虚拟桌面管理模块,提供对虚拟机和用户之间对应管理,以及桌面策略管理等。
虚拟桌面模块,提供虚拟机的调度管理。
控制中心模块,提供虚拟化资源池管理。
PC浏览器虚拟桌面客户端模块,提供客户连接服务。
以上对本发明实施例所提供的一种虚拟桌面的实现方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种虚拟桌面的实现方法,其特征在于,该方法是基于有界阻塞数组队列的线程池进行虚拟桌面的实现,其流程如下:构建域控管理,构建虚拟化服务器资源池,构建资源池管理中心,构建虚拟桌面管理系统,构建虚拟机桌面VDI,通过客户端连接VDI;在上述虚拟桌面的实现过程中,还需要线程处理请求,使用了HashSet来存储工作者workers,通过可重入锁ReentrantLock对其进行并发保护,每个worker都是一个Runnable接口,使用了实现接口BlockingQueue的阻塞队列来存储待处理工作Job,并把队列作为构造函数参数,从而实现业务灵活的扩展定制线程池的队列,业务使用JDK自身的有界阻塞数组队列SynchronousArrayBlockingQueue来实现;通过有界阻塞数组队列的线程池和各个构建流程相结合实现虚拟桌面。
2.根据权利要求1所述的方法,其特征在于,所述方法的具体实现是基于多个构造参数实现灵活初始化,核心参数如下:CorePoolSize,核心工作者数;MaximumPoolSize,最大工作者数;keepAliveTime,超过核心工作者数时闲置工作者的存活时间;WorkQueue,待处理Job队列,BlockingQueue接口;默认初始化后不启动工作者,等待有请求时才启动;通过调用线程池接口提前启动核心工作数个工作者线程,或启动业务期望的多个工作者线程。
3.根据权利要求2所述的方法,其特征在于,工作者Workers数量低于核心工作者数CorePoolSize时会优先创建一个工作者Worker处理Job,处理成功则返回;工作者Workers数量高于核心工作者数时会优先把Job放入到待处理队列,放入队列成功时处理结束;入队失败会识别工作者数是否还小于最大工作者数MaximumPoolSize,小于的话也会新创建一个工作者Worker处理Job。
4.根据权利要求1或2或3所述的方法,其特征在于,线程池启动时的各项参数由指定的配置文件config.xml读入,包括线程池中核心线程数的大小,最大线程数的大小,空闲线程生命周期,面对不同的应用,线程池做出相应的改进、扩展,使得线程池的应用情况能够满足系统的实际需求。
5.一种虚拟桌面系统,其特征在于,该系统包括:虚拟化服务器模块、域控管理模块、虚拟桌面管理模块、虚拟桌面模块、控制中心模块、PC浏览器虚拟桌面客户端模块;
虚拟化服务器模块,提供物理服务器hypervisor层服务;
域控管理模块,提供权限管理,账号管理服务;
虚拟桌面管理模块,提供对虚拟机和用户之间对应管理,以及桌面策略管理等;
虚拟桌面模块,提供虚拟机的调度管理;
控制中心模块,提供虚拟化资源池管理;
PC浏览器虚拟桌面客户端模块,提供客户连接服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510621809.0A CN105208123A (zh) | 2015-09-24 | 2015-09-24 | 一种虚拟桌面的实现方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510621809.0A CN105208123A (zh) | 2015-09-24 | 2015-09-24 | 一种虚拟桌面的实现方法及其系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105208123A true CN105208123A (zh) | 2015-12-30 |
Family
ID=54955546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510621809.0A Pending CN105208123A (zh) | 2015-09-24 | 2015-09-24 | 一种虚拟桌面的实现方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105208123A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108492003A (zh) * | 2017-02-15 | 2018-09-04 | 蓝色棱镜有限公司 | 分配优化的处理自动化进程的系统 |
CN108664393A (zh) * | 2018-04-03 | 2018-10-16 | 广东电网有限公司信息中心 | 一种多服务器资源池兼容性测试与修正方法 |
CN111861383A (zh) * | 2020-06-29 | 2020-10-30 | 国网河北省电力有限公司景县供电分公司 | 一种线上居家办公安全平台 |
CN112822062A (zh) * | 2019-11-15 | 2021-05-18 | 辽宁省交通高等专科学校 | 一种用于桌面云服务平台的管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130007737A1 (en) * | 2011-07-01 | 2013-01-03 | Electronics And Telecommunications Research Institute | Method and architecture for virtual desktop service |
CN102932344A (zh) * | 2012-10-26 | 2013-02-13 | 曙光信息产业(北京)有限公司 | 桌面虚拟化环境中的客户端信息审计方法和系统 |
CN102937911A (zh) * | 2011-08-16 | 2013-02-20 | 中兴通讯股份有限公司 | 虚拟机资源的管理方法及系统 |
CN203225789U (zh) * | 2013-04-23 | 2013-10-02 | 成都万维图新信息技术有限公司 | 基于云计算的虚拟桌面终端系统 |
-
2015
- 2015-09-24 CN CN201510621809.0A patent/CN105208123A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130007737A1 (en) * | 2011-07-01 | 2013-01-03 | Electronics And Telecommunications Research Institute | Method and architecture for virtual desktop service |
CN102937911A (zh) * | 2011-08-16 | 2013-02-20 | 中兴通讯股份有限公司 | 虚拟机资源的管理方法及系统 |
CN102932344A (zh) * | 2012-10-26 | 2013-02-13 | 曙光信息产业(北京)有限公司 | 桌面虚拟化环境中的客户端信息审计方法和系统 |
CN203225789U (zh) * | 2013-04-23 | 2013-10-02 | 成都万维图新信息技术有限公司 | 基于云计算的虚拟桌面终端系统 |
Non-Patent Citations (1)
Title |
---|
刘飞: "几种线程池的实现算法分析", 《架构师》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108492003A (zh) * | 2017-02-15 | 2018-09-04 | 蓝色棱镜有限公司 | 分配优化的处理自动化进程的系统 |
CN108492003B (zh) * | 2017-02-15 | 2023-10-31 | 蓝色棱镜有限公司 | 分配优化的处理自动化进程的系统 |
CN108664393A (zh) * | 2018-04-03 | 2018-10-16 | 广东电网有限公司信息中心 | 一种多服务器资源池兼容性测试与修正方法 |
CN108664393B (zh) * | 2018-04-03 | 2021-09-14 | 广东电网有限公司信息中心 | 一种多服务器资源池兼容性测试与修正方法 |
CN112822062A (zh) * | 2019-11-15 | 2021-05-18 | 辽宁省交通高等专科学校 | 一种用于桌面云服务平台的管理方法 |
CN111861383A (zh) * | 2020-06-29 | 2020-10-30 | 国网河北省电力有限公司景县供电分公司 | 一种线上居家办公安全平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11038778B2 (en) | Methods and systems that provision distributed applications that invoke functions provided by a distributed-function-as-a-service feature | |
CN103533086B (zh) | 一种云计算系统中的资源统一调度方法 | |
CN103051710B (zh) | 一种虚拟云平台管理系统 | |
US11508021B2 (en) | Processes and systems that determine sustainability of a virtual infrastructure of a distributed computing system | |
US10942790B2 (en) | Automated-application-release-management subsystem that incorporates script tasks within application-release-management pipelines | |
US11265202B2 (en) | Integrated automated application deployment | |
CN112104723B (zh) | 一种多集群的数据处理系统及方法 | |
US10157044B2 (en) | Automated application-release-management subsystem | |
Tianfield | Cloud computing architectures | |
CN104579792A (zh) | 多适配方式实现多种类型虚拟资源集中管理架构及方法 | |
US20090271498A1 (en) | System and method for layered application server processing | |
US11301262B2 (en) | Policy enabled application-release-management subsystem | |
CN102681899A (zh) | 云计算服务平台的虚拟计算资源动态管理系统 | |
US10452426B2 (en) | Methods and systems for configuration-file inheritance | |
Wei et al. | Aneka cloud application platform and its integration with windows azure | |
US20170163732A1 (en) | Inter-task communication within application-release-management pipelines | |
CN102622264A (zh) | 一种云计算中多虚拟化计算平台方法 | |
US20170161057A1 (en) | Plug-in-based artifact-management subsystem | |
US11032145B2 (en) | Methods and systems that provision applications across multiple computer systems | |
CN103309721A (zh) | 虚拟机监视器管理系统及方法 | |
CN105208123A (zh) | 一种虚拟桌面的实现方法及其系统 | |
CN102981888A (zh) | 用于Power服务器的虚拟化实现方法 | |
CN104536805A (zh) | 一种虚拟化平台的资源提供系统及方法 | |
US10171370B1 (en) | Distribution operating system | |
CN205103599U (zh) | 一种跨境贸易bpo应用云终端装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151230 |
|
WD01 | Invention patent application deemed withdrawn after publication |