CN103793279A - 一种融合应用虚拟化和桌面虚拟化的虚拟化方法 - Google Patents
一种融合应用虚拟化和桌面虚拟化的虚拟化方法 Download PDFInfo
- Publication number
- CN103793279A CN103793279A CN201310470241.8A CN201310470241A CN103793279A CN 103793279 A CN103793279 A CN 103793279A CN 201310470241 A CN201310470241 A CN 201310470241A CN 103793279 A CN103793279 A CN 103793279A
- Authority
- CN
- China
- Prior art keywords
- virtual
- application program
- desktop
- application
- list
- 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
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明属于远程操作计算机的方法,具体涉及一种融合应用虚拟化和桌面虚拟化的虚拟化方法。它包括下述步骤:步骤一:建立列表;步骤二:运行客户端要求的应用程序;步骤三:判断冲突;步骤四:桌面虚拟化转换,提取与运行的应用程序相关的输出信号,连同运行的应用程序本身的信息就构成了与该桌面虚拟化对应的应用虚拟化数据,步骤五:传输应用程序结果;步骤六:新应用程序的运行。本发明的有益效果是:运行效率高、资源占用低、稳定性好、通用性高。
Description
技术领域
本发明属于远程操作计算机的方法,具体涉及一种融合应用虚拟化和桌面虚拟化的虚拟化方法。
背景技术
网络化桌面部署是指能够通过网络快速将桌面环境和应用分发到业务单元中,而不需要预先在机器中安装操作系统和应用程序。桌面虚拟化和应用虚拟化是两种不同的桌面部署方法,它们都是将计算放置在服务器端,通过远程传输协议将显示投射到客户端,同时将客户端的IO事件转发到服务器端。
应用虚拟化是一个操作系统实例,多个应用程序,用户在远程部署时,仅针对应用程序进行操作。桌面虚拟化是每个用户一个操作系统实例,即不同用户在远程部署时,各自拥有独立的操作系统。现有的应用虚拟化技术以及桌面虚拟化技术都是基于一种计算和IO分离的技术原理,即计算在服务器上运行,而应用程序的显示结果投放到远端的客户端上,即计算和IO分离,同时客户端的外设比如打印机,扫描仪等IO设备都会映射到服务器上,用户使用起来就和使用本地的设备一样。
应用虚拟化和桌面虚拟化都具有各自的优缺点,桌面虚拟化给用户一个完整的桌面操作环境,用户的可定制化性很高,在网络带宽足够的情况下,用户使用桌面虚拟化和使用本地的桌面一样的用户体验,但它的缺点也很明显,每个用户需要占用一个操作系统的映像,需要占用的服务器资源比较高,一个较高配置的服务器最多能带动4-6个用户,为了保证用户顺畅运行,甚至只能带4个以下的用户,对服务器资源消耗非常大。应用虚拟化的缺点是,多个用户共享一个操作系统实例,存在应用程序冲突,个别用户无法执行操作的情况。
一般情况下应用虚拟化和桌面虚拟化使用不同的客户端,应用虚拟化服务器和桌面虚拟化服务器需要分别部署,两者运行原理不同,数据格式不完全相同,因此无法将两者结合使用。
发明内容
本发明的目的是,针对现有技术的缺陷提供运行效率高、资源占用低、稳定性好、通用性高的一种融合应用虚拟化和桌面虚拟化的虚拟化方法。
本发明是这样实现的:一种融合应用虚拟化和桌面虚拟化的虚拟化方法,其特征在于:包括下述步骤
步骤一:建立列表
建立两个空白列表,其中一个列表用于记录应用虚拟化无冲突的应用程序,另一个列表记录桌面虚拟化程序的应用程序,
步骤二:运行客户端要求的应用程序
根据客户端提出运行应用程序请求,首先查询用于记录应用虚拟化无冲突应用程序的列表,如果查询到该列表中记录相应应用程序,直接使用应用虚拟化方式运行应用程序,然后执行步骤五,
如果在记录应用虚拟化无冲突应用程序的列表中没有查询到相应应用程序的记录,则查询记录桌面虚拟化程序的列表;如果在记录桌面虚拟化程序的列表中查询到相应应用程序,在远程服务器上启动一个新的桌面操作环境,并在该新的桌面操作环境中运行该应用程序,然后执行步骤四,
如果在记录应用虚拟化无冲突应用程序的列表和记录桌面虚拟化程序的列表中均没有查询到相应应用程序的记录,那么按照应用虚拟化方式执行所述的应用程序,
步骤三:判断冲突
如果监测到操作系统给出应用程序冲突的结果,则针对该应用程序启动一个新的桌面操作环境,并在该新的桌面操作环境中运行该应用程序,同时在记录桌面虚拟化程序的列表中增加该应用程序,在应用程序执行完成后然后执行步骤四;如果应用程序执行完成没有监测到系统给出应用程序冲突的结果,那么在记录应用虚拟化无冲突应用程序的列表上增加该应用程序,然后执行步骤五,
步骤四:桌面虚拟化转换
在桌面虚拟化运行过程中,远程操作系统对桌面虚拟化涉及的所有I/O信息均进行监控。对于桌面虚拟化的输入信号操作系统按照桌面虚拟化的运行要求,直接输入给桌面虚拟化程序,对于桌面虚拟化的输出信号操作系统提取与运行的应用程序相关的输出信号,上述与运行的应用程序相关的输出信号连同运行的应用程序本身的信息就构成了与该桌面虚拟化对应的应用虚拟化数据,
步骤五:传输应用程序结果
通过应用虚拟化的方式进行数据传输,应用虚拟化的传输方式可以选用任意现有技术中的应用虚拟化的传输方式,
当传输的信息来源是应用虚拟化数据时,直接按照传输协议的要求进行传输,客户端可以自动处理相关信息;当传输的信息来源是转换为应用虚拟化数据的桌面虚拟化数据时,将应用程序信息与步骤四中所述的8类信号共同传输给虚拟的客户端,客户端可以自动处理相关信息,
步骤六:新应用程序的运行
当有新客户端的新应用程序需要运行时,从本方法的步骤二开始执行。
如上所述的一种融合应用虚拟化和桌面虚拟化的虚拟化方法,其中,所述的与运行的应用程序相关的输出信号包括:最大化信号、最小化信号、还原信号、分辨率变化信号、拖动窗体信号、新窗体生成信号、窗体销毁信号和托盘信号。
如上所述的一种融合应用虚拟化和桌面虚拟化的虚拟化方法,其中,所述的与运行的应用程序相关的输出信号提取的方法是,创建hook注入到需要虚拟化的应用程序中,截获操作系统的上述事件。
本发明的有益效果是:通过建立两个历史记录列表,记录已经已经成功运行过应用程序,不需要再执行以上的尝试步骤,从而提高了系统的运行效率;对于不会产生冲突的应用程序,能够选择资源占用少的应用虚拟化方式运行,占用系统资源少;对于可能产生冲突的应用程序,能够选择稳定性好的桌面虚拟化方式运行,系统稳定性大大提高;通过将桌面虚拟化产生的数据转换为应用虚拟化数据,可以给不同客户端配置相同的接口,系统通用性较好。
具体实施方式
一种融合应用虚拟化和桌面虚拟化的方法,包括下述步骤:
步骤一:建立列表
建立两个空白列表,其中一个列表用于记录应用虚拟化无冲突的应用程序,另一个列表记录应用虚拟化存在冲突的应用程序。其中记录应用虚拟化存在冲突的列表,也就是记录桌面虚拟化程序的列表。
步骤二:运行客户端要求的应用程序
根据客户端提出运行应用程序请求,首先查询用于记录应用虚拟化无冲突应用程序的列表,如果查询到该列表中记录相应应用程序,则说明该应用程序在使用应用虚拟化时不存在冲突,直接使用应用虚拟化方式运行应用程序,然后执行步骤五。
如果在记录应用虚拟化无冲突应用程序的列表中没有查询到相应应用程序的记录,则查询记录桌面虚拟化程序的列表;如果在记录桌面虚拟化程序的列表中查询到相应应用程序,则说明该应用程序在使用应用虚拟化时存在冲突,此时需要在远程服务器上启动一个新的桌面操作环境,并在该新的桌面操作环境中运行该应用程序,然后执行步骤四。
如果在记录应用虚拟化无冲突应用程序的列表和记录桌面虚拟化程序的列表中均没有查询到相应应用程序的记录,那么按照应用虚拟化方式执行所述的应用程序,然后执行步骤三。
步骤三:判断冲突
对于步骤二中在两个列表中均没有查询到记录的应用程序,在执行过程中远程服务器的操作系统可能会出现因为应用程序冲突而出错。如果监测到操作系统给出应用程序冲突的结果,则针对该应用程序启动一个新的桌面操作环境,并在该新的桌面操作环境中运行该应用程序,同时在记录桌面虚拟化程序的列表中增加该应用程序,在应用程序执行完成后然后执行步骤四;如果应用程序执行完成没有监测到系统给出应用程序冲突的结果,那么在记录应用虚拟化无冲突应用程序的列表上增加该应用程序,然后执行步骤五。
步骤四:桌面虚拟化转换
在桌面虚拟化运行过程中,远程操作系统对桌面虚拟化涉及的所有IO信息均进行监控,对于桌面虚拟化的输入信号(Input信号)操作系统按照桌面虚拟化的运行要求,直接输入给桌面虚拟化程序,对于桌面虚拟化的输出信号(Output信号)操作系统提取与运行的应用程序相关的输出信号,这些信号包括下列信号:最大化信号、最小化信号、还原信号、分辨率变化信号、拖动窗体信号、新窗体生成信号、窗体销毁信号和托盘信号(右下角的显示后台运行应用程序的部分就是托盘信号)。这些信息提取的方法是,创建hook注入到需要虚拟化的应用程序中(该技术为本领域的通用技术),截获操作系统的上述事件。上述八个信号的信息连同运行的应用程序本身的信息就构成了与该桌面虚拟化对应的应用虚拟化数据。
步骤五:传输应用程序结果
通过应用虚拟化的方式进行数据传输,应用虚拟化的传输方式可以选用任意现有技术中的应用虚拟化的传输方式,例如ICA、RDP、VAP等传输协议均可完成上述操作。
当传输的信息来源是应用虚拟化数据时,直接按照传输协议的要求进行传输,客户端可以自动处理相关信息;当传输的信息来源是转换为应用虚拟化数据的桌面虚拟化数据时,将应用程序信息与步骤四中所述的八类信号共同传输给虚拟的客户端,客户端可以自动处理相关信息。
步骤六:新应用程序的运行
当有新客户端的新应用程序需要运行时,从本方法的步骤二开始执行。
Claims (3)
1.一种融合应用虚拟化和桌面虚拟化的虚拟化方法,其特征在于:包括下述步骤
步骤一:建立列表
建立两个空白列表,其中一个列表用于记录应用虚拟化无冲突的应用程序,另一个列表记录桌面虚拟化程序的应用程序,
步骤二:运行客户端要求的应用程序
根据客户端提出运行应用程序请求,首先查询用于记录应用虚拟化无冲突应用程序的列表,如果查询到该列表中记录相应应用程序,直接使用应用虚拟化方式运行应用程序,然后执行步骤五,
如果在记录应用虚拟化无冲突应用程序的列表中没有查询到相应应用程序的记录,则查询记录桌面虚拟化程序的列表;如果在记录桌面虚拟化程序的列表中查询到相应应用程序,在远程服务器上启动一个新的桌面操作环境,并在该新的桌面操作环境中运行该应用程序,然后执行步骤四,
如果在记录应用虚拟化无冲突应用程序的列表和记录桌面虚拟化程序的列表中均没有查询到相应应用程序的记录,那么按照应用虚拟化方式执行所述的应用程序,
步骤三:判断冲突
如果监测到操作系统给出应用程序冲突的结果,则针对该应用程序启动一个新的桌面操作环境,并在该新的桌面操作环境中运行该应用程序,同时在记录桌面虚拟化程序的列表中增加该应用程序,在应用程序执行完成后然后执行步骤四;如果应用程序执行完成没有监测到系统给出应用程序冲突的结果,那么在记录应用虚拟化无冲突应用程序的列表上增加该应用程序,然 后执行步骤五,
步骤四:桌面虚拟化转换
在桌面虚拟化运行过程中,远程操作系统对桌面虚拟化涉及的所有IO信息均进行监控,对于桌面虚拟化的输入信号操作系统按照桌面虚拟化的运行要求,直接输入给桌面虚拟化程序,对于桌面虚拟化的输出信号操作系统提取与运行的应用程序相关的输出信号,上述与运行的应用程序相关的输出信号连同运行的应用程序本身的信息就构成了与该桌面虚拟化对应的应用虚拟化数据,
步骤五:传输应用程序结果
通过应用虚拟化的方式进行数据传输,应用虚拟化的传输方式可以选用任意现有技术中的应用虚拟化的传输方式,
当传输的信息来源是应用虚拟化数据时,直接按照传输协议的要求进行传输,客户端可以自动处理相关信息;当传输的信息来源是转换为应用虚拟化数据的桌面虚拟化数据时,将应用程序信息与步骤四中所述的八类信号共同传输给虚拟的客户端,客户端可以自动处理相关信息,
步骤六:新应用程序的运行
当有新客户端的新应用程序需要运行时,从本方法的步骤二开始执行。
2.如权利要求1所述的一种融合应用虚拟化和桌面虚拟化的虚拟化方法,其特征在于:所述的与运行的应用程序相关的输出信号包括:最大化信号、最小化信号、还原信号、分辨率变化信号、拖动窗体信号、新窗体生成信号、窗体销毁信号和托盘信号。
3.如权利要求1或2所述的一种融合应用虚拟化和桌面虚拟化的虚拟化方法,其特征在于:所述的与运行的应用程序相关的输出信号提取的方法是, 创建hook注入到需要虚拟化的应用程序中,截获操作系统的上述事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310470241.8A CN103793279A (zh) | 2013-10-10 | 2013-10-10 | 一种融合应用虚拟化和桌面虚拟化的虚拟化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310470241.8A CN103793279A (zh) | 2013-10-10 | 2013-10-10 | 一种融合应用虚拟化和桌面虚拟化的虚拟化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103793279A true CN103793279A (zh) | 2014-05-14 |
Family
ID=50668989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310470241.8A Pending CN103793279A (zh) | 2013-10-10 | 2013-10-10 | 一种融合应用虚拟化和桌面虚拟化的虚拟化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103793279A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107864217A (zh) * | 2017-11-21 | 2018-03-30 | 南京斯坦德云科技股份有限公司 | 云桌面智能推送系统 |
CN107870803A (zh) * | 2016-09-28 | 2018-04-03 | 中国电信股份有限公司 | 智能桌面虚拟化的数据重定向优化方法、装置和系统 |
WO2021000321A1 (en) * | 2019-07-04 | 2021-01-07 | Citrix Systems, Inc. | SEARCHING SaaS VIRTUAL APPLICATIONS |
CN112748831A (zh) * | 2020-12-23 | 2021-05-04 | 湖南麒麟信安科技股份有限公司 | 一种通过桌面快捷方式打开虚拟应用的方法、装置及介质 |
-
2013
- 2013-10-10 CN CN201310470241.8A patent/CN103793279A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107870803A (zh) * | 2016-09-28 | 2018-04-03 | 中国电信股份有限公司 | 智能桌面虚拟化的数据重定向优化方法、装置和系统 |
CN107864217A (zh) * | 2017-11-21 | 2018-03-30 | 南京斯坦德云科技股份有限公司 | 云桌面智能推送系统 |
CN107864217B (zh) * | 2017-11-21 | 2020-08-04 | 南京斯坦德云科技股份有限公司 | 云桌面智能推送系统 |
WO2021000321A1 (en) * | 2019-07-04 | 2021-01-07 | Citrix Systems, Inc. | SEARCHING SaaS VIRTUAL APPLICATIONS |
CN113302588A (zh) * | 2019-07-04 | 2021-08-24 | 思杰系统有限公司 | 搜索SaaS虚拟应用 |
US11693913B2 (en) | 2019-07-04 | 2023-07-04 | Citrix Systems, Inc. | Searching SaaS virtual applications |
CN112748831A (zh) * | 2020-12-23 | 2021-05-04 | 湖南麒麟信安科技股份有限公司 | 一种通过桌面快捷方式打开虚拟应用的方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3439246B1 (en) | Service deployment method and apparatus, and network element | |
WO2017124842A1 (zh) | 一种截图的方法及装置 | |
EP3313049B1 (en) | Methods and apparatus for realizing data sharing between client and virtual desktop | |
CN105281921B (zh) | 一种虚拟桌面实现组播的方法及装置 | |
US20120297382A1 (en) | Virtual server and virtual machine management method for supporting zero client | |
CN111314339B (zh) | 数据传输方法及装置 | |
CN102521018A (zh) | 基于云的虚拟剪贴板 | |
US10591999B2 (en) | Hand gesture recognition method, device, system, and computer storage medium | |
CN114500623B (zh) | 网络靶场互联互通方法、装置、设备及可读存储介质 | |
CN103793279A (zh) | 一种融合应用虚拟化和桌面虚拟化的虚拟化方法 | |
EP3122008A1 (en) | Cloud desktop pushing method and system, pushing end and receiving end | |
US20150256446A1 (en) | Method and apparatus for relaying commands | |
EP3276914A1 (en) | Data sharing method and device for virtual desktop | |
CN102868723A (zh) | 管理零终端机和桌面虚拟机的控制台及管理方法 | |
CN108874699B (zh) | 多系统使用mtp功能的方法、装置及电子设备 | |
EP2942711B1 (en) | Dynamic generation of proxy connections | |
WO2016095449A1 (zh) | 一种虚拟桌面的显示方法、终端和存储介质 | |
CN103209209A (zh) | 基于Windows系统和网络传输的应用虚拟化实现方法及系统 | |
CN103209178B (zh) | CloudStack平台上兼容SPICE协议的方法 | |
CN110109623A (zh) | 一种kvm系统的u盘远程操作的实现方法 | |
US9129124B2 (en) | Dynamic provisioning of virtual systems | |
TW201701152A (zh) | 網路伺服系統 | |
CN112637119A (zh) | 主机扫描方法、装置、存储介质及电子设备 | |
CN108337300B (zh) | 一种应用于窄带物联网的人机接口通信方法和系统 | |
CN107766066A (zh) | 一种更新从属模块固件的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140514 |