一种调用安装于电子设备上的应用的方法及装置的制造方法

文档序号:9579078阅读:376来源:国知局
一种调用安装于电子设备上的应用的方法及装置的制造方法
【技术领域】
[0001]本发明涉及互联网云计算和虚拟化领域,尤其涉及一种调用安装于电子设备上的应用的方法及装置。
【背景技术】
[0002]随着互联网云计算和虚拟化技术的发展,在虚拟桌面技术领域也取得了长足的进步,产生了桌面虚拟化,即VDI (Virtual Desktop Infrastructure,虚拟桌面基础架构)的概念,其实质是一种将个人计算机环境从物理设施上分离出来、基于服务器的Client/Server(客户端/服务端)计算模式,而所有的数据都存放在数据中心内的集中式大型存储设备中,也可以理解为一种支持企业级实现桌面系统远程动态访问与数据中心统一托管的技术。其目标是实现可通过任何终端设备、在任何地点、任何时间,访问互联网上属于用户个人的桌面系统。而虚拟桌面系统的典型构架,在后台远端一般是一个庞大的虚拟机集群,每个用户都需要一个虚拟机为其服务;所有的终端设备通过互联网最终都连接到一个网关的中继设备上,然后对用户进行虚拟机的分发工作。
[0003]虚拟桌面基础架构及技术,带来了两方面的优点:管理员可以将所有的桌面虚拟机在互联网数据中心进行部署、托管,并进行统一的管理,降低运维成本;终端用户能够通过网络访问虚拟桌面,获得与完整的物理PC(个人电脑)桌面相似的使用体验,降低用户端的物理硬件成本。
[0004]目前VDI所使用的关键技术,是桌面传输协议,也称为网络显示协议,及其协议实现。一般来说基于两条技术路线:首先是服务器渲染(Host Rendering):虚拟机桌面的所有图形图像处理工作,都在远端服务器上完成,向用户终端发送的仅是像素信息,终端无需进行大量的运算,剔除了对CPU和内存资源要求较高的客户端设计,保持了客户端结构简洁,但是对网络带宽要求较大。其次是客户端渲染(Client Rendering):客户端具备一定的运算能力,承担部分桌面图像图形计算工作,数据可以压缩传输,节约网络带宽。
[0005]虚拟化技术的架构,见图1。在X86架构服务器主机上,基于Hypervisor虚拟化引擎(或称为虚拟机管理器、虚拟机监视器),可以创建并运行多台虚拟机,每台虚拟机都类似一台物理PC机,完全独立运行并相互隔离,可以安装用户所需的各种不同的客户操作系统(Guest OS),如Windows XP、Windows7、基于Linux内核的各种发布版或商业版本等。
[0006]在X86架构物理服务器硬件的计算环境中,Hypervisor虚拟化引擎如Xen、KVM (Kernel-based Virtual Machine,基于 Kernel 的虚拟机)等,也称为 VMM (VirtualMachine Monitor,虚拟机监视器或管理器),是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统及其上的应用程序共享硬件。Hypervisor是一种在虚拟计算环境中的“元”操作系统,可以访问服务器主机上包括CPU处理器、内存、磁盘、网卡在内的所有物理设备资源。Hypervisors不但调度协调这些硬件资源的访问,也同时在各个虚拟机之间施加隔离和防护。当服务器启动并运行Hypervisor时,可以给每一台虚拟机分配适量的CPU、内存,网络和磁盘资源,同时加载虚拟机的客户操作系统(Guest OS)。Hypervisor是所有虚拟化技术的核心,通过Hypervisor实现对虚拟机的生命周期进行管理,比如其基本能力之一就是支持非中断的在线迁移虚拟机,使虚拟机从一个主机迁移到另一个主机上,而终端用户在使用虚拟机的过程中不会有任何感知。
[0007]目前市场上主要的X86虚拟化Hypervisor的架构类型,包括:1.虚拟机直接运行在系统硬件上,Hypervisor创建出硬件全仿真的实例,被称为裸机型。2.虚拟机运行在传统操作系统上,同样创建的是硬件全仿真实例,被称为托管型或宿主型。3.虚拟机运行在传统操作系统上,创建一个独立的虚拟化实例,比如容器,指向底层托管操作系统,被称为“操作系统虚拟化”。而其中最常见的仍然是裸机型的Hypervisor,虚拟化内核直接安装在硬件计算资源上,虚拟机及其客户操作系统(Guest OS)安装并运行在Hypervisor之上。其特点是软硬件架构和管理更高效、更灵活,硬件的效能能够更好地发挥出来,从而提高物理服务器上计算资源、存储资源和网络资源的利用率,降低运营成本。
[0008]虚拟桌面技术,是将Hypervisor创建和管理的虚拟机操作系统的桌面,拉远到用户的终端本地系统上进行显示,同时将虚拟机的音视频也重定向到终端输出,而将终端用户的鼠标、键盘等人体学输入操作或录音、摄像等音视频输入操作,重定向到虚拟机中去,再通过虚拟机的桌面反馈并呈现出来。一般采用VDI虚拟桌面传输协议或称为网络显示协议,来实现桌面拉远和外设重定向。虚拟桌面的架构和组件部署见图2,通过安装在用户终端(如瘦终端、PC机或笔记本电脑)上的虚拟桌面客户端程序,可以访问企业的Hypervisor虚拟化服务器主机及其上的虚拟机。Hypervisor服务器主机创建并管理虚拟机,实现虚拟机的设备仿真。在虚拟机中,部署虚拟桌面代理程序、目标存根程序和其他驱动等组件,从而实现虚拟桌面与客户端程序的消息交互和通信。
[0009]通过虚拟桌面技术,可以为终端用户提供操作、使用和维护虚拟机0S(0peratingSystem,操作系统)、桌面系统及其上已安装应用程序的途径和方法,达到与物理PC机桌面完全相同的用户体验和使用效果。
[0010]不管现有技术中的哪一种虚拟化引擎或虚拟桌面协议,都存在一个问题,即虚拟机中的客户操作系统(Guest OS)和用户本地的终端操作系统,各自独立,用户所需的各种应用程序,要么部署在虚拟桌面的客户操作系统中并启动运行(这是虚拟桌面大多数用户的使用场景和方式),要么部署在终端本地系统中并启动运行。所以目前的各种方案和产品,都不能从虚拟桌面中直接启动一个原本安装在终端本地的应用,也不能的从终端本地直接启动一个原本安装在虚拟桌面客户操作系统中的应用。在某些有特定需求的应用场景下,就会给虚拟桌面的使用带来不便,从而限制了虚拟桌面的应用场景。比如计划安装到虚拟机中的某些应用程序,运行时对资源的消耗和实时性要求较高,可能会显著增加网络压力。在虚拟机配置较差或网络带宽不足的情况下,一旦虚拟桌面的延时超过50ms,就会产生卡顿感,直接影响虚拟机的性能表现以及应用程序的使用体验,导致虚拟桌面用户的体验变差。所以把这类应用部署安装在虚拟机中并不合适,而安装在用户终端本地系统中,更能满足性能要求。此时只要能够解决从虚拟桌面中直接快速启动终端应用的问题,而不需要在虚拟桌面和终端本地桌面之间反复切换,就能极大提升桌面易用性。

【发明内容】

[0011]有鉴于此,本发明提供一种调用安装于电子设备上的应用的方法和装置,提高从虚拟机桌面调用应用的便易性。
[0012]基于上述目的本发明提供的调用安装于电子设备上的应用的方法,应用于虚拟机,包括下述步骤:
[0013]检测用户应用程序触发指令;
[0014]确定所述应用程序触发指令在电子设备上所对应的第一应用程序;
[0015]向电子设备发送所述第一应用程序的启动通知消息,使得所述电子设备能够根据所述启动通知消息运行所述第一应用程序;
[0016]所述第一应用程序为安装于电子设备上的应用程序。
[0017]可选的,检测用户应用程序触发指令之前,还包括如下步骤:
[0018]接收从电子设备传送的第一应用程序关联消息;
[0019]处理所述应用程序关联消息,在虚拟机桌面创建用于启动所述第一应用程序的第一对象。
[0020]可选的,所述用于启动第一应用程序的对象包括第一程序的桌面快捷方式对象;处理所述应用程序关联消息,在虚拟机桌面创建用于启动所述第一应用程序的第一对象的步骤具体包括:
[0021]保存所述第一应用程序关联消息中的第一应用程序启动信息;
[0022]弓丨用COM组件IWshRuntimeLibrary,声明对应于第一应用程序的操作对象WshShell ;
[0023]调用CreateShortcut创建快捷方式方法创建第一应用程序的桌面快捷方式的IffshShortcut 对象;
[0024]保存所述桌面快捷方式对象的属性信息,完成所述第一对象的创建。
[0025]可选的,向电子设备发送与所述应用程序启动信息对应的启动通知消息的步骤具体包括:通过虚拟机的目标存根程序调用Windows应用程序编程接口 API函数通知虚拟机的桌面代理程序,向电子设备发送与所述应用程序启动信息对应的启动通知消息。
[0026]可选的,所述Windows应用程序编程接口 API函数为PostMessage函数。
[0027]进一步,本发明还提供一种调用安装于电子设备上的应用的方法,应用于电子设备,包括的如下步骤:
[0028]接收从虚拟机端发送的第一应用程序的启动通知消息;
[0029]根据所述启动通知消息运行所述第一应用程序;
[0030]所述第一应用程序与用户在虚拟机端发出的应用程序触发指令对应,并根据应用程序触发指令确定。
[0031]可选的,接收从虚拟机端发送的第一应用程序启动通知消息之前,还包括:
[0032]检测到用户的拖放动作;
[0033]判断所述拖放动作的结束位置在虚拟机所对应的窗口区域内;
[0034]获取被拖放的第一应用程序的属性信息;
[0035]将对应于所述属性信息的第一应用程序关联消息发送到虚拟机端。
[0036]可选的,检测到用户的拖放动作步骤之前,还包括:
[0037]调用Windows应用程序编程接口函数DragAcceptFiles,使得所述电子设备程序窗口允许接受拖放文件的操作;
[0038]或,通过Windows集成开发环境设置电子设备程序窗口的Accept Files属性,使得所述电子设备程序窗口允许接受拖放文件的操作;
[0039]所述电子设备程序窗口包括电子设备上的远端虚拟机所对应的桌面客户端程序窗P。
[0040]可选的,根据所述启动通知消息运行所述第一应用程序的步
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1