实现终端本地桌面和远端虚拟桌面合并显示的系统和方法
【专利摘要】实现终端本地桌面和远端虚拟桌面合并显示的系统和方法,包括位于终端本地的客户端模块和位于远端虚拟桌面服务器的服务端模块。其中客户端模块包含应用信息收集、应用窗口信息收集、任务栏信息收集、窗口显示整合、桌面整合处理与通讯客户端5个子模块。服务端模块包含应用信息整合、代理窗口生成、窗口操作处理、桌面整合处理与通讯服务端4个子模块。当本地终端与远端虚拟桌面服务器的连接建立起来之后,客户端模块和服务器端模块通过判断应用运行的位置来确定如何在本地终端显示桌面和应用的信息。本发明的好处是在同一个桌面上可以同时使用本地桌面和远端虚拟桌面上的应用,避免在两种桌面之间不断切换的过程。
【专利说明】实现终端本地桌面和远端虚拟桌面合并显示的系统和方法
【技术领域】
[0001]本发明涉及桌面虚拟化【技术领域】,特别是涉及通过对位于终端本地桌面和远端虚拟桌面的应用进行合并显示和窗口处理从而获得无缝操作体验的终端用户桌面技术。
【背景技术】
[0002]桌面虚拟化是一种基于部署在数据中心或管理中心的服务器计算节点的计算模型,其将所有的用户桌面通过资源池化的技术在数据中心进行统一托管、分发和管理。桌面虚拟化计算模型分为本地客户端和远端虚拟桌面服务两部分,本地客户端如果想要获取远端虚拟桌面到本地通常要借助于类似于微软的远程显示协议(RDP,Remote DisplayProtocol)或 Citrix 的独立计算架构协议(ICA, Independent Computing Architecture)的通讯协议。桌面虚拟化使用户在获得完整的PC使用体验的同时,运维管理的压力和成本也大大降低。此外,桌面虚拟化极大地提高了计算机资源的利用率,使用虚拟化技术合并物理服务器后,一台服务器可以支持几十甚至几百个桌面同时运行,服务器的平均资源利用率可提高到90%。而且降低了整机系统总成本,大幅度降低了能耗。目前,提供桌面虚拟化解决方案的主要厂商包括微软、Vmware和Citrix。
[0003]远程显示协议(RDP, Remote Display Protocol)是一种多通道的数据交互协议,用于在一台终端设备上显示储存在一台服务器上或是由该服务器产生的运动画面流数据,终端设备在接收到运动画面流数据之后执行一个解码过程并根据绘图位置信息在窗口中绘制并显示数据。目前接受度比较高的远程显示协议主要有三种:一种是RDP协议,早期由Citrix开发,后来被微软购买并集成在Windows服务器操作系统中,这种协议被微软和Vmware的桌面虚拟化产品使用;第二种就是Citrix自己开发的目前独有的ICA协议,Citrix将这种协议使用到其桌面虚拟化产品中。第三种就是PCoIP协议,在VMWare的桌面虚拟化产品中是除了 RDP协议外的首选协议。
[0004]计算机终端,是指包含中央处理单元、协处理单元、存储单元、输入单元、输出单元的电子计算设备。计算机终端伴随着主机时代的集中处理模式而产生,并随着计算技术的发展而发展,迄今为止,计算技术经历了主机时代、个人计算时代和网络计算时代这三个发展时期,与计算技术发展的三个阶段相对应,计算机终端也经历了字符哑终端、图形终端和网络终端三个阶段。目前常见的计算机终端若按照是否便于携带可以分为两类:一类是桌面终端,包括:字符哑终端、个人计算机(Personal Computer)、瘦客户机(Thin Client)等;另一类是移动终端,包括:笔记本电脑、平板电脑、掌上电脑、手机等。本发明涉及到的计算机终端是指瘦客户机或云终端。
[0005]瘦客户机是指使用专业嵌入式处理器、小型本地闪存、精简版操作系统的基于工业标准设计的小型行业专用商用计算机终端。由于没有可移除的部件,瘦客户机可以提供比普通PC更加安全可靠的使用环境,以及更低的功耗。初期的瘦客户机主要作为基于服务器的计算架构(SBC, Server Based Computing)的客户端而存在,面向的客户群体主要是企业客户,解决其大量的客户端设备由于分散部署而带来的运维管理问题。[0006]云终端是一个在目前云计算技术大发展,公有云、私有云架构广泛存在的背景下出现的概念,其面向的客户群体不仅包括企业级客户,也包括消费类客户,涵盖的客户端设备形态也更广泛,只要终端设备具备从云计算平台获取资源的能力即可被称作云终端。在虚拟桌面技术架构(VDI, Virtual Desktop Infrastructure)出现以后,只要集成桌面虚拟化客户端,瘦客户机也可以成为能够远程获取被托管在云计算架构中的用户桌面或应用资源的云终端。
[0007]虽然基于服务器的计算架构(SBC, Server Based Computing)实现了集中计算,集中存储及集中管理维护,但是这仅限于服务器数量有限的情况下,当服务器的数量进一步增长的时候,服务器的管理维护将成为新的瓶颈。而虚拟桌面技术架构则可以很好的解决上面的问题,通过将用户桌面资源池化的技术,用户可以方便的管理资源池中成千上万的用户桌面资源而不必关心底层物理服务器的运作细节,从而实现运维自动化,有效降低总拥有成本(TC0)。正是由于存在这样的优势,因此虚拟桌面技术架构(VDI,VirtualDesktop Infrastructure)未来会占据主要市场份额,而支持虚拟桌面架构的云终端将成为市场的主流,企业用户桌面终端从瘦客户机转向云终端是市场的必然选择,也是瘦客户机的必由之路。
[0008]目前瘦客户机或云终端的本地桌面与从服务器端获取的远端虚拟桌面之间是相互独立的,即在客户端连接到远端服务器获取到远端虚拟桌面之前用户看到的是瘦客户机的本地桌面,而当客户端已经获取到远端虚拟桌面以后本地显示的则是远端虚拟桌面,两个桌面之上的内容是完全不同的,并且不能同时被看到,需要通过桌面切换的方式才能看到另一个桌面上的内容。此外,随着客户端设备功能的增强,用户会提出额外的应用需求,如在用户的终端设备上(瘦客户机或云终端)也会安装一些本地的个人应用,这样就存在使用虚拟桌面时无法使用本地应用,而使用本地应用时则不能使用虚拟桌面的问题。使用者若要使用远端桌面上的应用和本地应用时只能频繁切换本地桌面与远端桌面,严重影响桌面虚拟化体验效果。为了解决这一问题,本发明提出了一个便捷的解决办法使终端本地桌面与远端虚拟桌面整合为一个桌面,在同一个桌面上可以同时使用本地桌面和远端桌面上的应用,避免在两者之间不断切换的过程。
【发明内容】
[0009]鉴于目前如果想要同时看到并操作终端本地桌面(见说明书附图1)和远端虚拟桌面(见说明书附图2)上的应用需要切换到目标桌面之后才能进行,因此,本发明提出了一种新的系统和方法,可以将终端本地桌面上的应用整合到远端虚拟桌面上(见说明书附图3),使得本地桌面和远端虚拟桌面的操作可以无缝的进行。根据本发明的系统包括:服务端模块和客户端模块两部分。二者又包含若干子模块,各子模块的名称及功能如下:
客户端模块包含6个子模块,分别为:1)应用信息收集:用于枚举收集本地应用的快捷方式,包括桌面快捷方式和开始菜单项目以及提取相应的图标和显示名称。2)应用窗口信息收集:用于获取客户端桌面上的本地应用窗口数据,包括窗口大小、窗口 Title、窗口图标、窗口位置等信息。3)任务栏信息收集:用于获取客户端桌面上的任务栏信息。4)窗口显示整合:用于实现客户端程序界面和本地应用窗口的无缝整合。5)桌面整合处理与通讯客户端:用于接收来自桌面整合处理与通讯服务端的桌面整合数据。[0010]服务器端模块包含4个子模块,分别为:1)应用信息整合:用于利用客户端获取到的应用信息创建桌面快捷方式、开始菜单等相应项目,并对用户的操作做出响应。2)代理窗口生成:生成虚假的代理窗口,模拟本地应用窗口。3)窗口操作处理:当用户操作代理窗口时,将用户操作返回给Client端。4)桌面整合处理与通讯服务端:一方面用于接收来自窗口操作处理子模块的桌面整合数据并发送给桌面整合处理与通讯客户端,另一方面用于从桌面整合处理与通讯客户端接收本地客户端的桌面数据并发送给应用信息整合子模块和代理窗口生成子模块。
【专利附图】
【附图说明】
[0011]图1,本地客户端桌面示意图。
[0012]图2,远端虚拟桌面在本地客户端显示示意图。
[0013]图3,本地桌面和远端虚拟桌面混合后示意图。
[0014]图4,本地桌面和远端虚拟桌面合并显示系统架构图。
【具体实施方式】
[0015]以下列举本发明的实施方式与相关图示以帮助了解本发明,其内容并非用来限定本发明范围,本发明的范围仍应以权力要求书的叙述为主。
[0016]实施本发明需要在云终端本地和桌面虚拟化服务器上分别安装本发明的桌面整合系统客户端和服务端软件,此外云终端本地和桌面虚拟化服务器上需要分别启动一个监听进程以监听并接收来自桌面整合系统客户端或服务端的数据或消息。
[0017]当终端尚未与远端虚拟桌面服务器建立连接并获取到虚拟桌面之前,显示的就是本地桌面和应用。
[0018]当终端第一次与远端虚拟桌面服务器建立连接并获取到虚拟桌面之后,显示的是经整合后的包含本地应用和远端应用的远端虚拟桌面。
[0019]当终端与远端虚拟桌面服务器建立连接并获取到虚拟桌面之后,如果用户运行的是远端应用,本发明中的桌面整合系统对桌面和应用窗口的变化数据并不作处理而是交给系统缺省的远程桌面客户端和服务器端来处理。如果用户运行的是本地应用,本发明中的桌面整合系统将对运行本地应用导致的窗口变化进行处理后再交给系统缺省的远程桌面客户端和服务器端来处理。
[0020]用户运行本地应用时,桌面整合系统客户端和服务端进行数据交互的过程如下。
[0021]桌面整合系统客户端通过应用信息收集、应用窗口信息收集和任务栏信息收集三个模块获得本地应用的必要信息。
[0022]桌面整合系统客户端通过远程桌面协议客户端将本地应用信息发送到该系统服务端。
[0023]桌面整合系统服务端收到本地应用信息后通过应用信息整合和代理窗口生成两个模块在虚拟桌面上生成虚假窗口。
[0024]在用户交互操作的过程中,当收到用户的操作信息时桌面整合系统服务端通过远程桌面协议客户端将虚假窗口上的操作发送到整合系统客户端。
[0025]桌面整合系统客户端通过窗口显示整合模块对用户操作信息进行处理后将窗口变化在本地显示。
[0026]通过本发明的桌面整合系统和方法,终端用户无需在虚拟桌面和本地桌面之间进行切换即可同时看到和运行两个桌面上的应用,用户的工作效率和使用体验都得到大幅提升。
【权利要求】
1.实现终端本地桌面和远端虚拟桌面合并显示的系统和方法,其特征在于:包含位于终端本地的客户端模块和位于远端虚拟桌面服务器的服务端模块。
2.对于权利要求1中提到的客户端模块包含6个子模块,分别为: I)应用信息收集:用于枚举收集本地应用的快捷方式,包括桌面快捷方式和开始菜单项目以及提取相应的图标和显不名称; 2 )应用窗口信息收集:用于获取客户端桌面上的本地应用窗口数据,包括窗口大小、窗口 Title、窗口图标、窗口位置等信息; 3)任务栏信息收集:用于获取客户端桌面上的任务栏信息; 4)窗口显示整合:用于实现客户端程序界面和本地应用窗口的无缝整合; 5)桌面整合处理与通讯客户端:用于接收来自桌面整合处理与通讯服务端的桌面整合数据。
3.对于权利要求1中提到的服务器端模块包含4个子模块,分别为: I)应用信息整合:用于利用客户端获取到的应用信息创建桌面快捷方式、开始菜单等相应项目,并对用户的操作做出响应; 2 )代理窗口生成:生成虚假的代理窗口,模拟本地应用窗口 ; 3)窗口操作处理:当用户操作代理窗口时,将用户操作返回给Client端; 4)桌面整合处理与通讯服务端:一方面用于接收来自窗口操作处理子模块的桌面整合数据并发送给桌面整合处理与通讯客户端,另一方面用于从桌面整合处理与通讯客户端接收本地客户端的桌面数据并发送给应用信息整合子模块和代理窗口生成子模块。`
4.对于权利要求1中提到的客户端模块以软件组件的形式安装在终端本地并且需要启动一个监听进程用于接收来自桌面整合服务端的数据或消息。
5.对于权利要求1中提到的服务端模块以软件组件的形式安装在远端虚拟桌面服务器上并且需要启动一个监听进程用于接收来自桌面整合客户端的数据或消息。
6.对于权利要求1中提到的用户桌面整合系统,当终端尚未与远端虚拟桌面服务器建立连接并获取到虚拟桌面之前,显示的就是本地桌面和应用。
7.对于权利要求1中提到的用户桌面整合系统,当终端第一次与远端虚拟桌面服务器建立连接并获取到虚拟桌面之后,显示的是经整合后的包含本地应用和远端应用的远端虚拟桌面。
8.对于权利要求1中提到的用户桌面整合系统,当终端与远端虚拟桌面服务器建立连接并获取到虚拟桌面之后,如果用户运行的是远端应用,桌面整合系统对桌面和应用窗口的变化数据并不作处理而是交给系统缺省的远程桌面客户端和服务器端来处理。
9.对于权利要求8中提到的当终端与远端虚拟桌面服务器建立连接并获取到虚拟桌面之后,如果用户运行的是本地应用,桌面整合系统将对运行本地应用导致的窗口变化进行处理后再交给系统缺省的远程桌面客户端和服务器端来处理。
10.对于权利要求1中提到的客户端和服务端模块的数据交互的过程是: 1)桌面整合系统客户端通过应用信息收集、应用窗口信息收集和任务栏信息收集三个模块获得本地应用的必要信息; 2)桌面整合系统客户端通过远程桌面协议客户端将本地应用信息发送到桌面整合系统服务端;3)桌面整合系统服务端收到本地应用信息后通过应用信息整合和代理窗口生成两个模块在虚拟桌面上生成虚假窗口; 4)在用户交互操作桌面的过程中,当收到用户的操作信息时桌面整合系统服务端通过远程桌面协议客户端将虚假窗口上的操作发送到桌面整合系统客户端; 5)桌面整合系统客户端通过窗口显示整合模块对用户操作信息进行处理后将窗口变化在本地显示。
【文档编号】H04L29/08GK103677970SQ201210354821
【公开日】2014年3月26日 申请日期:2012年9月24日 优先权日:2012年9月24日
【发明者】李明博, 韩春雷, 王良 申请人:北京云端时代科技有限公司