著录项信息
专利名称 | 虚拟机终端数据的获取方法、装置及系统 |
申请号 | CN201310582493.X | 申请日期 | 2013-11-19 |
法律状态 | 权利终止 | 申报国家 | 暂无 |
公开/公告日 | 2014-02-26 | 公开/公告号 | CN103607452A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8;;;G;0;6;F;9;/;4;5;5查看分类表>
|
申请人 | 北京云巢动脉科技有限公司 | 申请人地址 | 浙江省杭州市萧山区经济技术开发区鸿兴路389号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 浙江桌面云网络科技有限公司 | 当前权利人 | 浙江桌面云网络科技有限公司 |
发明人 | 杨耀敏;吕盛宇;曲维杰;董龙洋;宋月 |
代理机构 | 北京康信知识产权代理有限责任公司 | 代理人 | 吴贵明;张永明 |
摘要
本发明公开了一种虚拟机终端数据的获取方法、装置和系统,其中,虚拟机终端数据的获取方法包括云客户端接收云服务器发送的虚拟机列表;云客户端对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令;云客户端接收云服务器返回的终端数据,其中,云服务器使用终端数据截取命令来获取虚拟机上的终端数据。通过本发明,能够达到在客户端的虚拟机上不安装软件实现桌面录像功能的效果。
1.一种虚拟机终端数据的获取方法,其特征在于,包括:
云客户端接收云服务器发送的虚拟机列表;
所述云客户端对所述虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令;
所述云客户端接收所述云服务器返回的终端数据,其中,所述云服务器使用所述终端数据截取命令来获取所述虚拟机上的所述终端数据;
其中,在所述云客户端接收所述云服务器返回的终端数据之前,所述方法还包括:
所述云服务器接收所述终端数据截取命令;
根据所述终端数据截取命令启动所述终端数据的获取功能,来获取对应虚拟机上的终端数据;
将获取到的所述对应虚拟机上的终端数据发送给所述云客户端;
在所述终端数据截取命令为录像命令,所述终端数据为图像数据的情况下,根据所述终端数据截取命令启动所述终端数据的获取功能,来获取对应虚拟机上的终端数据的步骤包括:
所述云服务器根据所述录像命令启动录像功能,获取在执行所述录像命令后由所述云客户端返回的图像指令;
所述云服务器将所述图像指令还原回对应的所述图像数据,获取到所述录像功能截取到的所述图像数据。
2.根据权利要求1所述的方法,其特征在于,在所述云客户端接收所述云服务器返回的终端数据之后,所述方法还包括:
所述云客户端压缩并加密所述图像数据,生成录像数据;
转换所述录像数据的格式,并将转换格式后的录像数据保存在所述云客户端的录像目录中。
3.根据权利要求2所述的方法,其特征在于,在转换所述录像数据的格式,并将转换格式后的录像数据保存在所述云客户端的录像目录中之后,所述方法还包括:
接收播放命令,根据所述播放命令搜索所述录像目录,获取需要播放的录像数据;
对所述需要播放的录像数据进行解压缩和解密,生成播放数据;
播放所述播放数据。
4.根据权利要求1-3中任意一项所述的方法,其特征在于,在接收云服务器发送的虚拟机列表之前,所述方法还包括:
所述云客户端与所述云服务器建立通讯关系,并发送身份验证信息至所述云服务器;
在所述云服务器验证所述身份验证信息合法之后,所述云服务器发送所述虚拟机列表至所述云客户端。
5.一种虚拟机终端数据的获取装置,其特征在于,包括:
第一接收模块,用于接收云服务器发送的虚拟机列表;
触发模块,用于对所述虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令;
第二接收模块,用于接收所述云服务器返回的终端数据,其中,所述云服务器使用所述终端数据截取命令来获取所述虚拟机上的所述终端数据;
其中,在所述终端数据截取命令为录像命令,所述终端数据为图像数据的情况下,所述装置还包括:
压缩加密模块,用于压缩并加密所述图像数据,生成录像数据;
处理模块,用于转换所述录像数据的格式,并将转换格式后的录像数据保存在云客户端的录像目录中。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
子接收模块,用于接收播放命令;
搜索模块,用于根据所述播放命令搜索所述录像目录,获取需要播放的录像数据;
解压缩解密模块,用于对所述需要播放的录像数据进行解压缩和解密,生成播放数据;
播放模块,用于播放所述播放数据。
7.根据权利要求5或6所述的装置,其特征在于,所述装置还包括:
通讯模块,用于所述云服务器建立通讯关系,并发送身份验证信息至所述云服务器;
发送模块,用于在所述云服务器验证所述身份验证信息合法之后,所述云服务器发送所述虚拟机列表至所述云客户端。
8.一种虚拟机终端数据的获取系统,其特征在于,包括:
云服务器,发送虚拟机列表;
云客户端,与所述云服务器建立通讯关系,用于接收所述虚拟机列表,在对所述虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令之后,接收所述云服务器返回的终端数据;
其中,所述云服务器使用所述终端数据截取命令来获取所述虚拟机上的所述终端数据;
其中,所述云服务器包括:
接收装置,用于接收所述终端数据截取命令;
云服务器处理器,用于根据所述终端数据截取命令启动所述终端数据的获取功能,来获取对应虚拟机上的终端数据;
发送装置,用于将获取到的所述对应虚拟机上的终端数据发送给所述云客户端;
在所述终端数据截取命令为录像命令,所述终端数据为图像数据的情况下,所述云服务器处理器包括:
第一子处理器,用于根据所述录像命令启动录像功能,获取在执行所述录像命令后由所述云客户端返回的图像指令;
第二子处理器,用于将所述图像指令还原回对应的所述图像数据,获取到所述录像功能截取到的所述图像数据。
9.根据权利要求8所述的系统,其特征在于,所述云客户端包括:
客户端处理器,用于压缩并加密所述图像数据,生成录像数据,并在转换所述录像数据的格式之后,将转换格式后的录像数据保存在所述云客户端的录像目录中。
10.根据权利要求9所述的系统,其特征在于,所述云客户端还包括:
播放器,用于接收播放命令,根据所述播放命令搜索所述录像目录,获取需要播放的录像数据,在对所述需要播放的录像数据进行解压缩和解密,生成播放数据之后,播放所述播放数据。
11.一种虚拟机终端数据的获取方法,其特征在于,包括:
云服务器发送虚拟机列表至云客户端;
所述云服务器获取到所述云客户端发送的终端数据截取命令,其中,所述云客户端对所述虚拟机列表中的任意一个或多个虚拟机下发所述终端数据截取命令;
所述云服务器使用所述终端数据截取命令来获取所述虚拟机上的所述终端数据;
所述云服务器返回所述终端数据至所述云客户端;
其中,在所述云服务器获取到所述云客户端发送的终端数据截取命令之后,所述方法还包括:
根据所述终端数据截取命令启动所述终端数据的获取功能,来获取对应虚拟机上的终端数据;
将获取到的所述对应虚拟机上的终端数据发送给所述云客户端;
在所述终端数据截取命令为录像命令,所述终端数据为图像数据的情况下,根据所述终端数据截取命令启动所述终端数据的获取功能,来获取对应虚拟机上的终端数据的步骤包括:
所述云服务器根据所述录像命令启动录像功能,获取在执行所述录像命令后由所述云客户端返回的图像指令;
所述云服务器将所述图像指令还原回对应的所述图像数据,获取到所述录像功能截取到的所述图像数据。
虚拟机终端数据的获取方法、装置及系统\n技术领域\n[0001] 本发明涉及计算机互联网领域,具体而言,涉及一种虚拟机终端数据的获取方法、装置及系统。\n背景技术\n[0002] 录像软件可以将电脑屏幕、硬件(DV、DC、TV电视卡、摄像头)上的运动图像捕捉并以AVI、WMV、FLV、SWF、MPG等格式存储。一些设计前卫的录像软件还会具有广播功能,支持将捕捉到的影像广播到局域网或同一网段内,共享给互联网上的用户,通过录像软件的该功能可间接实现远程监控。\n[0003] 桌面虚拟化是指将计算机的桌面进行虚拟化,以达到桌面使用的安全性和灵活性。可以通过任何设备,在任何地点,任何时间访问在网络上的属于用户个人的桌面系统。\n[0004] 目前,如果需要在桌面虚拟化中使用桌面录像功能,只能通过在虚拟机中安装具有相应功能的录像软件,依靠现有的软件提供的功能去实现桌面录像功能,生成相应的图像数据,不安装软件则无法实桌面录像功能。\n[0005] 目前针对相关技术在客户端的虚拟机上不安装软件则无法实现桌面录像功能的问题,目前尚未提出有效的解决方案。\n发明内容\n[0006] 针对相关技术的的问题,目前尚未提出有效的解决方案,为此,本发明的主要目的在于提供一种虚拟机终端数据的获取方法、装置及系统,以解决上述问题。\n[0007] 为了实现上述目的,根据本发明的一个方面,提供了一种虚拟机终端数据的获取方法,该方法包括:云客户端接收云服务器发送的虚拟机列表;云客户端对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令;云客户端接收云服务器返回的终端数据,其中,云服务器使用终端数据截取命令来获取虚拟机上的终端数据。\n[0008] 为了实现上述目的,根据本发明的另一方面,提供了一种虚拟机终端数据的获取装置,该装置包括:第一接收模块,用于接收云服务器发送的虚拟机列表;触发模块,用于对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令;第二接收模块,用于云客户端接收云服务器返回的终端数据,其中,云服务器使用终端数据截取命令来获取虚拟机上的终端数据。\n[0009] 为了实现上述目的,根据本发明的另一方面,提供了一种虚拟机终端数据的获取系统,该装置包括:云服务器,发送虚拟机列表;云客户端,与云服务器建立通讯关系,用于接收虚拟机列表,在对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令之后,接收云服务器返回的终端数据;其中,云服务器使用终端数据截取命令来获取虚拟机上的终端数据。\n[0010] 为了实现上述目的,根据本发明的另一方面,提供了一种虚拟机终端数据的获取方法包括:云服务器发送虚拟机列表至云客户端;述云服务器获取到云客户端发送的终端数据截取命令,其中,云客户端对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令;云服务器使用终端数据截取命令来获取虚拟机上的终端数据;云服务器返回终端数据至云客户端。\n[0011] 通过本发明,采用虚拟机终端数据的获取方法包括:云客户端接收云服务器发送的虚拟机列表;云客户端对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令;云客户端接收云服务器返回的终端数据,其中,云服务器使用终端数据截取命令来获取虚拟机上的终端数据。,解决了在客户端的虚拟机上不安装软件则无法实现桌面录像功能的问题,进而达到了在客户端的虚拟机上不安装软件实现桌面录像功能的效果。\n附图说明\n[0012] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:\n[0013] 图1是根据本发明实施例的虚拟机终端数据的获取系统的结构示意图;\n[0014] 图2是根据本发明第一实施例的虚拟机终端数据的获取方法的流程图;\n[0015] 图3是根据本发明第二实施例的虚拟机终端数据的获取方法的流程图;\n[0016] 图4是根据本发明又一实施例的虚拟机终端数据的获取方法的流程图;\n[0017] 图5是根据本发明第一实施例的虚拟机终端数据的获取装置的结构示意图;以及[0018] 图6是根据本发明第二实施例的虚拟机终端数据的获取装置的结构示意图。\n具体实施方式\n[0019] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。\n[0020] 在描述本发明的各实施例的进一步细节之前,将参考图1来描述可用于实现本发明的原理的一个合适的计算体系结构。在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本发明的各实施例。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本发明,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。\n[0021] 转向附图,其中相同的参考标号指代相同的元素,本发明的原理被示为在一个合适的计算环境中实现。以下描述基于所述的本发明的实施例,并且不应认为是关于此处未明确描述的替换实施例而限制本发明。\n[0022] 图1示出了可用于这些设备的一个示例计算机体系结构的示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本发明的使用范围或功能提出任何局限。也不应将该计算系统解释为对图1所示的任一组件或其组合具有任何依赖或需求。\n[0023] 本发明的原理可以使用其它通用或专用计算或通信环境或配置来操作。适用于本发明的众所周知的计算系统、环境和配置的示例包括但不限于,个人计算机、服务器,多处理器系统、基于微处理的系统、小型机、大型计算机、以及包括任一上述系统或设备的分布式计算环境。\n[0024] 如本发明所使用的,术语“模块”、“组件”或“单元”可以指在配置信息的更新系统\n200上执行的软件对象或例程。此处所描述的不同组件、模块、单元、引擎和服务可被实现为在标志位的访问系统200上执行(例如,作为单独的线程)的对象或进程。尽管此处所描述的系统和方法较佳地以软件来实现,但是硬件或软件和硬件的组合的实现也是可能并被构想的。\n[0025] 在其最基本的配置中,图1是根据本发明第一实施例的虚拟机终端数据的获取系统的结构示意图。如图1所示,该虚拟机终端数据的获取系统包括云服务器20和云客户端\n10。\n[0026] 云服务器20发送虚拟机列表。该虚拟机列表可以是包括当前阶段云服务器20连接的所有的虚拟机的信息列表,也可以是包括当前阶段云服务器20连接的部分虚拟机的信息列表。云服务器20与虚拟机之间可以是通过桌面运协议建立连接关系,桌面云协议是基于三层架构实现的一套桌面虚拟化协议,包含普通服务器、云服务器20和云客户端10,其中云服务器20作为控制端。云服务器20发送该虚拟机列表以便于云客户端10接收该虚拟机列表。\n[0027] 云客户端10与云服务器20建立通讯关系,该云客户端10用于接收虚拟机列表,在对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令之后,接收云服务器20返回的终端数据;其中,云服务器20使用终端数据截取命令来获取虚拟机上的终端数据。\n[0028] 根据本发明实施例,通过云客户端10与云服务器20建立通讯关系之后,云客户端\n10接收与服务器发送的虚拟机列表,并对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令,云服务器20使用终端数据截取命令来获取虚拟机上的终端数据并返回给与云客户端10,使得云客户端10能够获取到虚拟机上的终端数据。当终端数据截取命令为录像命令,终端数据图像数据为图像数据时,实现了虚拟机中的录像功能,不需要安装额外的软件,便于用户使用。\n[0029] 具体的,上述实施例中的云客户端10与云服务器20建立通讯关系,其通信方式可以是管道、共享内存、socket(一种进程通信机制)等进程间通信方式。当云客户端10与云服务器20建立通讯关系的同时,云客户端10还向云服务器20发送身份验证请求,以验证身份信息,该身份信息为云客户端10本身合法的身份标识,可以验证的密码,为程序运行时输入进去的部分内容。在建立通讯关系并验证合法之后,云客户端10接收云服务器20发送虚拟机列表,并对该虚拟机列表中任意一个虚拟机或者任意多个虚拟机下发终端数据截取命令,该终端数据截取命令可以是用于截取虚拟机中图像数据的命令,也可以是录像命令,该录像命令用于开启录像流程,其中,终端数据可以是录像后的图像数据。云服务器20在接收到云客户端10发送的终端数据截取命令之后,通过使用终端数据截取命令来获取该终端数据截取命令对应的虚拟机上的终端数据,并将该终端数据发送给云客户端10,云客户端10接收云服务器20返回的终端数据。当终端数据为图像数据时,则云客户端10接收云服务器\n20返回的图像数据。\n[0030] 优选地,云服务器20包括接收装置、云服务器处理器和发送装置。\n[0031] 接收装置用于接收终端数据截取命令。在云客户端10接收云服务器20发送该虚拟机列表之后,云客户端10对该虚拟机列表中任意一个虚拟机或者任意多个虚拟机下发终端数据截取命令,并将该终端数据截取命令发送给云服务器20,云服务器20中的接收装置接收该终端数据截取命令,用于截取相应的虚拟机的终端数据。\n[0032] 云服务器处理器用于根据终端数据截取命令启动终端数据的获取功能,来获取对应虚拟机上的终端数据。在接收装置接收到终端数据截取命令之后,云服务器处理器根据该终端数据截取命令启动终端数据的获取功能,读取桌面云协议中虚拟机的具体信息,获取与终端数据截取命令相应的虚拟机上的终端数据。对于桌面云协议中的云服务器20来说,所有的虚拟机桌面的数据都经过云服务器20,因此可以通过云服务器20来获取虚拟机的终端数据。另外,普通服务器也可以获取到虚拟机中具体的图像数据,但是普通的服务器只负责单独的某个特定的虚拟机,而云服务器20可以因此这里优选云服务器20获取终端数据,该终端数据可以是虚拟机桌面录像后的图像数据。\n[0033] 发送装置用于将获取到的对应虚拟机上的终端数据发送给云客户端10。在云服务器20处理器启动终端数据的获取功能获取与终端数据截取命令对应的虚拟机上的终端数据之后,发送装置将该终端数据按照预定的方式发送给云客户端10。\n[0034] 优选地,在终端数据截取命令为录像命令,终端数据为图像数据的情况下,云服务器处理器可以包括第一子处理器和第二子处理器。\n[0035] 第一子处理器用于根据录像命令启动录像功能,获取在执行录像命令后由云客户端10返回的图像指令。当云客户端10向虚拟机下发录像命令后,第一子处理器根据该录像命令启动录像功能,开启录像流程。在执行录像命令后,云客户端10返回图像指令,第一子处理器获取云客户端10返回图像指令以便于截取与该图像指令对应的图像数据。\n[0036] 第二子处理器用于将图像指令还原回对应的图像数据,获取到录像功能截取到的图像数据。云服务器20中将需要录像的虚拟机数据截获,同时将一些图像指令还原回对应的图像数据,然后持续的发送给云客户端10,将数据存储起来。\n[0037] 具体的,上述方案中的图像指令指的是可以对图像数据进行压缩、加密后的数据,同时包含一部分内部身份标示。而此处将图像指令还原回对应的图像数据的步骤是指压缩、加密的反过程,这里面可以使用任意合适的压缩算法及加密算法。\n[0038] 优选的,在服务器端还原图像数据时,还根据图像指令中带的身份标识,去判断数据的合法性。其中,身份标识指的是能代表自己身份的数据,这里面可以使用外部输入的唯一的标识码,也可以使用配置的任何区分唯一的内容代替。\n[0039] 根据本发明实施例,对于需要管控虚拟机,实现后台监控的需求,可以在后台无痕录像,不需要一直去盯着虚拟机,由于主要通过云服务器20控制,将桌面录像录制下来,保留一份完整的使用记录,且不影响用户的正常使用。\n[0040] 优选地,云客户端10包括客户端处理器。该客户端处理器用于压缩并加密图像数据,生成录像数据,并在转换录像数据的格式之后,将转换格式后的录像数据保存在云客户端10的录像目录中。在云客户端10接收到图像数据之后,先将该图像数据缓存起来,并通过客户端处理器对图像数据进行压缩和加密以生成录像数据,然后对录像数据采用预定的编码格式进行编码,例如可以采用h264等编码格式进行编码以将录像数据转换成系相应的格式,最后将转换格式后的录像数据保存在云客户端10本地的录像目录中。\n[0041] 根据本发明实施例,通过云客户端10向云服务器20发送录像命令,启动录像功能已开启录像流程,从而实现虚拟机中桌面录像功能,不需要额外的软件安装就可以完成桌面录像,对于需要桌面录像的用户更加方便。\n[0042] 优选地,云客户端10还包括播放器,该播放器用于接收播放命令,根据播放命令搜索录像目录,获取需要播放的录像数据,在对需要播放的录像数据进行解压缩和解密,生成播放数据之后,播放播放数据。当用户需要查看某一虚拟机的录像时,向云客户端10输入该虚拟机的录像播放命令,播放器接收该播放命令,并根据该播放命令搜索云客户端10本地的录像目录,以找到相应的虚拟机的录像数据。在找到录像数据之后,播放器读取该录像数据,由于存储在云客户端10本地的录像目录中的录像数据是经过压缩和加密后的数据,因此需要对录像数据进行解压缩和解密处理,从而生成能够进行播放的播放数据,也即是还原成视频录像数据,然后播放还原后的视频录像数据。\n[0043] 根据本发明实施例,用户可以根据需要随时启用或者禁用虚拟机桌面录制功能,以及对桌面录像的播放控制,使用方便快捷。\n[0044] 本发明实施例还提供了一种虚拟机终端数据的获取方法,该方法可以用于本发明实施例的虚拟机终端数据的获取系统中,本发明实施例的虚拟机终端数据的获取系统也可以用于执行本发明实施例的虚拟机终端数据的获取方法。\n[0045] 图2是根据本发明第一实施例的虚拟机终端数据的获取方法的流程图,如图2所示该方法包括如下步骤:\n[0046] 步骤S101,可以通过云客户端10接收云服务器20发送的虚拟机列表。\n[0047] 具体的,在上述步骤实现过程中,可以在建立通讯关系并验证合法之后,云客户端\n10接收云服务器20发送虚拟机列表,该虚拟机列表可以是包括当前阶段云服务器20连接的所有的虚拟机的列表,也可以是包括当前阶段云服务器20连接的部分虚拟机的列表。云服务器20与虚拟机之间可以是通过桌面运协议建立连接关系,桌面云协议是基于三层架构实现的一套桌面虚拟化协议,包含普通服务器、云服务器20和云客户端10,其中云服务器20作为控制端。\n[0048] 步骤S102,云客户端10对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令。\n[0049] 具体的,在上述步骤实现过程中,该终端数据截取命令可以是用于截取虚拟机中图像数据的命令,也可以是录像命令,录像命令用于开启录像流程,其中,终端数据可以是录像后的图像数据。当用户需要获取虚拟机列表中任一个或者多个虚拟机的终端数据时,可以向云客户端10发送请求信号,并通过云客户端10对相应的虚拟机下发终端数据截取命令,用以获取虚拟机的终端数据。\n[0050] 步骤S103,云客户端10接收云服务器20返回的终端数据,其中,云服务器20使用终端数据截取命令来获取虚拟机上的终端数据。\n[0051] 具体的,在上述步骤实现过程中,云服务器20在接收到云客户端10发送的终端数据截取命令之后,通过使用终端数据截取命令来获取该终端数据截取命令对应的虚拟机上的终端数据,并将该终端数据发送给云客户端10,云客户端10接收云服务器20返回的终端数据。当终端数据为图像数据时,则云客户端10接收云服务器20返回的图像数据。\n[0052] 根据本发明实施例,通过云客户端10与云服务器20建立通讯关系之后,云客户端\n10接收与服务器发送的虚拟机列表,并对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令,云服务器20使用终端数据截取命令来获取虚拟机上的终端数据并返回给与云客户端10,使得云客户端10能够获取到虚拟机上的终端数据。当终端数据截取命令为录像命令,终端数据图像数据为图像数据时,实现了虚拟机中的录像功能,不需要安装额外的软件,便于用户使用。\n[0053] 优选地,在步骤S101之前,虚拟机终端数据的获取方法还包括以下步骤:\n[0054] 步骤S1,云客户端10与云服务器20建立通讯关系,并发送身份验证信息至云服务器20。\n[0055] 云客户端10在接收云服务器20发送的虚拟机列表之前,需要与云服务器20建立通讯关系,其通信方式可以是管道、共享内存、socket(一种进程通信机制)等进程间通信方式。当云客户端10与云服务器20建立通讯关系的同时,云客户端10还向云服务器20发送身份验证请求,以验证身份信息,该身份信息为云客户端10本身合法的身份标识,可以验证的密码,为程序运行时输入进去的部分内容。\n[0056] 步骤S2,在云服务器20验证身份验证信息合法之后,云服务器20发送虚拟机列表至云客户端10。\n[0057] 在验证云客户端10的身份信息合法之后,云客户端10与云服务器20之间才能够进行通信,并实现数据的交互,云服务器20则将虚拟机列表发送至云客户端10。\n[0058] 图3是根据本发明第二实施例的虚拟机终端数据的获取方法的流程图。该虚拟机终端数据的获取方法可以作为上述实施例的虚拟机终端数据的获取方法的一种优选实施方式。如图3所示该方法包括如下步骤:\n[0059] 步骤S201,云客户端10接收云服务器20发送的虚拟机列表。\n[0060] 云客户端10在接收云服务器20发送的虚拟机列表之前,需要与云服务器20建立通讯关系,其通信方式可以是管道、共享内存、socket(一种进程通信机制)等进程间通信方式。当云客户端10与云服务器20建立通讯关系的同时,云客户端10还向云服务器20发送身份验证请求,以验证身份信息,该身份信息为云客户端10本身合法的身份标识,可以验证的密码,为程序运行时输入进去的部分内容。在建立通讯关系并验证合法之后,云客户端10接收云服务器20发送虚拟机列表,该虚拟机列表可以是包括当前阶段云服务器20连接的所有的虚拟机的列表,也可以是包括当前阶段云服务器20连接的部分虚拟机的列表。云服务器\n20与虚拟机之间可以是通过桌面运协议建立连接关系,桌面云协议是基于三层架构实现的一套桌面虚拟化协议,包含普通服务器、云服务器20和云客户端10,其中云服务器20作为控制端。\n[0061] 步骤S202,云客户端10对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令。\n[0062] 该终端数据截取命令可以是用于截取虚拟机中图像数据的命令,也可以是录像命令,录像命令用于开启录像流程,其中,终端数据可以是录像后的图像数据。当用户需要获取虚拟机列表中任一个或者多个虚拟机的终端数据时,可以向云客户端10发送请求信号,并通过云客户端10对相应的虚拟机下发终端数据截取命令,用以获取虚拟机的终端数据。\n[0063] 步骤S203,云服务器20接收终端数据截取命令。\n[0064] 在云客户端10接收云服务器20发送该虚拟机列表之后,云客户端10对该虚拟机列表中任意一个虚拟机或者任意多个虚拟机下发终端数据截取命令,并将该终端数据截取命令发送给云服务器20,云服务器20接收该终端数据截取命令,用于截取相应的虚拟机的终端数据。\n[0065] 步骤S204,根据数据截取命令启动终端数据的获取功能,来获取对应虚拟机上的终端数据。\n[0066] 在接收装置接收到终端数据截取命令之后,云服务器20处理器根据该终端数据截取命令启动终端数据的获取功能,读取桌面云协议中虚拟机的具体信息,获取与终端数据截取命令相应的虚拟机上的终端数据。对于桌面云协议中的云服务器20来说,所有的虚拟机桌面的数据都经过云服务器20,因此可以通过云服务器20来获取虚拟机的终端数据。另外,普通服务器也可以获取到虚拟机中具体的图像数据,但是普通的服务器只负责单独的某个特定的虚拟机,而云服务器20可以因此这里优选云服务器20获取终端数据,该终端数据可以是虚拟机桌面录像后的图像数据。\n[0067] 步骤S205,将获取到的对应虚拟机上的终端数据发送给云客户端10。\n[0068] 在云服务器20处理器启动终端数据的获取功能获取与终端数据截取命令对应的虚拟机上的终端数据之后,将该终端数据按照预定的方式发送给云客户端10。\n[0069] 步骤S206,云客户端10接收云服务器20返回的终端数据,其中,云服务器20使用终端数据截取命令来获取虚拟机上的终端数据。\n[0070] 云服务器20在接收到云客户端10发送的终端数据截取命令之后,通过使用终端数据截取命令来获取该终端数据截取命令对应的虚拟机上的终端数据,并将该终端数据发送给云客户端10,云客户端10接收云服务器20返回的终端数据。当终端数据为图像数据时,则云客户端10接收云服务器20返回的图像数据。\n[0071] 优选地,在终端数据截取命令为录像命令,终端数据为图像数据的情况下,步骤S204包括步骤S2041和步骤S2042。\n[0072] 步骤S2041,云服务器20根据录像命令启动录像功能,获取在执行录像命令后由云客户端10返回的图像指令。\n[0073] 当云客户端10向虚拟机下发录像命令后,云服务器20根据该录像命令启动录像功能,开启录像流程。在执行录像命令后,云客户端10返回图像指令,云服务器20获取云客户端10返回图像指令以便于截取与该图像指令对应的图像数据。\n[0074] 步骤S2041,云服务器20将图像指令还原回对应的图像数据,获取到录像功能截取到的图像数据。云服务器20中将需要录像的虚拟机数据截获,同时将一些图像指令还原回对应的图像数据,然后持续的发送给云客户端10,将数据存储起来。\n[0075] 具体的,上述方案中的图像指令指的是可以对图像数据进行压缩、加密后的数据,同时包含一部分内部身份标示。而此处将图像指令还原回对应的图像数据的步骤是指压缩、加密的反过程,这里面可以使用任意合适的压缩算法及加密算法。\n[0076] 优选的,在服务器端还原图像数据时,还根据图像指令中带的身份标识,去判断数据的合法性。其中,身份标识指的是能代表自己身份的数据,这里面可以使用外部输入的唯一的标识码,也可以使用配置的任何区分唯一的内容代替。\n[0077] 根据本发明实施例,对于需要管控虚拟机,实现后台监控的需求,可以在后台无痕录像,不需要一直去盯着虚拟机,由于主要通过云服务器20控制,将桌面录像录制下来,保留一份完整的使用记录,且不影响用户的正常使用。\n[0078] 优选地,步骤S206之后,该虚拟机终端数据的获取方法还可以包括以下步骤:\n[0079] 步骤S7,云客户端10压缩并加密图像数据,生成录像数据。\n[0080] 在云客户端10接收到图像数据之后,先将该图像数据缓存起来,并通过客户端处理器对图像数据进行压缩和加密以生成录像数据。\n[0081] 步骤S8,转换录像数据的格式,并将转换格式后的录像数据保存在云客户端10的录像目录中。\n[0082] 然后对录像数据采用预定的编码格式进行编码,例如可以采用h264等编码格式进行编码以将录像数据转换成系相应的格式,最后将转换格式后的录像数据保存在云客户端\n10本地的录像目录中。\n[0083] 根据本发明实施例,通过云客户端10向云服务器20发送录像命令,启动录像功能已开启录像流程,从而实现虚拟机中桌面录像功能,不需要额外的软件安装就可以完成桌面录像,对于需要桌面录像的用户更加方便。\n[0084] 优选地,在步骤S8之后,该虚拟机终端数据的获取方法还可以包括如下步骤:\n[0085] 步骤S9,接收播放命令,根据播放命令搜索录像目录,获取需要播放的录像数据。\n当用户需要查看某一虚拟机的录像时,向云客户端10输入该虚拟机的录像播放命令,播放器接收该播放命令,并根据该播放命令搜索云客户端10本地的录像目录,以找到相应的虚拟机的录像数据,并获取该录像数据。\n[0086] 步骤S10,对需要播放的录像数据进行解压缩和解密,生成播放数据。在找到录像数据之后,播放器读取该录像数据,由于存储在云客户端10本地的录像目录中的录像数据是经过压缩和加密后的数据,因此需要对录像数据进行解压缩和解密处理,从而生成能够进行播放的播放数据,也即是还原成视频录像数据。\n[0087] 步骤S11,播放播放数据。通过对需要播放的录像数据进行解压缩和解密之后,生成能够进行播放的播放数据,也即是还原成视频录像数据,然后播放该视频录像数据[0088] 根据本发明实施例,用户可以根据需要随时启用或者禁用虚拟机桌面录制功能,以及对桌面录像的播放控制,使用方便快捷。\n[0089] 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。\n[0090] 本发明实施例还提供了另一种虚拟机终端数据的获取方法,图4是根据本发明又一实施例的虚拟机终端数据的获取方法的流程图。如图4所示,该方法包括以下步骤:\n[0091] 步骤S301,云服务器20发送虚拟机列表至云客户端10。\n[0092] 该虚拟机列表可以是包括当前阶段云服务器20连接的所有的虚拟机的列表,也可以是包括当前阶段云服务器20连接的部分虚拟机的列表。云服务器20与虚拟机之间可以是通过桌面运协议建立连接关系,桌面云协议是基于三层架构实现的一套桌面虚拟化协议,包含普通服务器、云服务器20和云客户端10,其中云服务器20作为控制端。云服务器20发送该虚拟机列表给云客户端10,以便于云客户端10接收该虚拟机列表并截取虚拟机的终端数据。\n[0093] 步骤S302,云服务器20获取到云客户端10发送的终端数据截取命令,其中,云客户端10对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令。\n[0094] 云服务器20与云客户端10建立通讯关系,其通信方式可以是管道、共享内存、socket(一种进程通信机制)等进程间通信方式。当云服务器20与云客户端10建立通讯关系的同时,云客户端10还向云服务器20发送身份验证请求,以验证身份信息,该身份信息为云客户端10本身合法的身份标识,可以验证的密码,为程序运行时输入进去的部分内容。在建立通讯关系并验证合法之后,云客户端10接收云服务器20发送虚拟机列表,并对该虚拟机列表中任意一个虚拟机或者任意多个虚拟机下发终端数据截取命令,该终端数据截取命令可以是用于截取虚拟机中图像数据的命令,也可以是录像命令,该录像命令用于开启录像流程,其中,终端数据可以是录像后的图像数据。\n[0095] 步骤S303,云服务器20使用终端数据截取命令来获取虚拟机上的终端数据。\n[0096] 在云服务器20接收到终端数据截取命令之后,根据该终端数据截取命令启动终端数据的获取功能,读取桌面云协议中虚拟机的具体信息,获取与终端数据截取命令相应的虚拟机上的终端数据。对于桌面云协议中的云服务器20来说,所有的虚拟机桌面的数据都经过云服务器20,因此可以通过云服务器20来获取虚拟机的终端数据。另外,普通服务器也可以获取到虚拟机中具体的图像数据,但是普通的服务器只负责单独的某个特定的虚拟机,而云服务器20可以因此这里优选云服务器20获取终端数据,该终端数据可以是虚拟机桌面录像后的图像数据。\n[0097] 步骤S304,云服务器20返回终端数据至云客户端10。\n[0098] 在云服务器20处理器启动终端数据的获取功能获取与终端数据截取命令对应的虚拟机上的终端数据之后,发送装置将该终端数据按照预定的方式发送给云客户端10。\n[0099] 根据本发明实施例,通过云客户端10接收与服务器发送的虚拟机列表,并对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令,云服务器20使用终端数据截取命令来获取虚拟机上的终端数据并返回给与云客户端10,使得云客户端10能够获取到虚拟机上的终端数据。当终端数据截取命令为录像命令,终端数据图像数据为图像数据时,实现了虚拟机中的录像功能,不需要安装额外的软件,便于用户使用。\n[0100] 本发明实施例还提供了一种虚拟机终端数据的获取装置。需要说明的是,本发明实施例的虚拟机终端数据的获取装置可以用于执行本发明实施例所提供的虚拟机终端数据的获取方法,本发明实施例的虚拟机终端数据的获取方法也可以通过本发明实施例所提供的虚拟机终端数据的获取装置来执行。\n[0101] 图5是根据本发明第一实施例的虚拟机终端数据的获取装置的结构示意图。如图5所示,该虚拟机终端数据的获取装置包括:第一接收模块101、触发模块102和第二接收模块\n103。\n[0102] 其中,第一接收模块101用于接收云服务器20发送的虚拟机列表。\n[0103] 具体的,在上述示例实施过程中,云客户端10在接收云服务器20发送的虚拟机列表之前,需要与云服务器20建立通讯关系,其通信方式可以是管道、共享内存、socket(一种进程通信机制)等进程间通信方式。当云客户端10与云服务器20建立通讯关系的同时,云客户端10还向云服务器20发送身份验证请求,以验证身份信息,该身份信息为云客户端10本身合法的身份标识,可以验证的密码,为程序运行时输入进去的部分内容。在建立通讯关系并验证合法之后,通过第一接收模块101接收云服务器20发送虚拟机列表,该虚拟机列表可以是包括当前阶段云服务器20连接的所有的虚拟机的列表,也可以是包括当前阶段云服务器20连接的部分虚拟机的列表。云服务器20与虚拟机之间可以是通过桌面运协议建立连接关系,桌面云协议是基于三层架构实现的一套桌面虚拟化协议,包含普通服务器、云服务器\n20和云客户端10,其中云服务器20作为控制端。\n[0104] 触发模块102用于对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令。\n[0105] 具体的,该终端数据截取命令可以是用于截取虚拟机中图像数据的命令,也可以是录像命令,录像命令用于开启录像流程,其中,终端数据可以是录像后的图像数据。当用户需要获取虚拟机列表中任一个或者多个虚拟机的终端数据时,可以向云客户端10发送请求信号,并通过触发模块102对相应的虚拟机下发终端数据截取命令,用以获取虚拟机的终端数据。\n[0106] 第二接收模块103用于云客户端10接收云服务器20返回的终端数据,其中,云服务器20使用终端数据截取命令来获取虚拟机上的终端数据。\n[0107] 云服务器20在接收到云客户端10发送的终端数据截取命令之后,通过使用终端数据截取命令来获取该终端数据截取命令对应的虚拟机上的终端数据,并将该终端数据发送给云客户端10,通过第二接收模块103接收云服务器20返回的终端数据。当终端数据为图像数据时,则第二接收模块103接收云服务器20返回的图像数据。\n[0108] 根据本发明实施例,通过云客户端10与云服务器20建立通讯关系之后,云客户端\n10接收与服务器发送的虚拟机列表,并对虚拟机列表中的任意一个或多个虚拟机下发终端数据截取命令,云服务器20使用终端数据截取命令来获取虚拟机上的终端数据并返回给与云客户端10,使得云客户端10能够获取到虚拟机上的终端数据。当终端数据截取命令为录像命令,终端数据图像数据为图像数据时,实现了虚拟机中的录像功能,不需要安装额外的软件,便于用户使用。\n[0109] 图6是根据本发明第二实施例的虚拟机终端数据的获取装置的结构示意图。该实施例的虚拟机终端数据的获取装置可以作为上述实施例的虚拟机终端数据的获取装置的一种优选实施方式。如图6所示,该虚拟机终端数据的获取装置包括:第一接收模块101、触发模块102、第二接收模块103、压缩加密模块104和处理模块105。第一接收模块101、触发模块102和第二接收模块103与图5所示的第一接收模块101、触发模块102和第二接收模块103具有相同的功能,这里不做赘述。\n[0110] 在终端数据截取命令为录像命令,终端数据为图像数据的情况下,压缩加密模块\n104用于云客户端10压缩并加密图像数据,生成录像数据。在云客户端10接收到图像数据之后,先将该图像数据缓存起来,并通过压缩加密模块104对图像数据进行压缩和加密以生成录像数据。\n[0111] 处理模块105用于转换录像数据的格式,并将转换格式后的录像数据保存在云客户端10的录像目录中。在对图像数据进行压缩和加密之后,对录像数据采用预定的编码格式进行编码,例如可以采用h264等编码格式进行编码以将录像数据转换成系相应的格式,最后将转换格式后的录像数据保存在云客户端10本地的录像目录中,以便于用户从录像目录中查找相应的录像数据。\n[0112] 优选地,虚拟机终端数据的获取装置还包括子接收模块、搜索模块、解压缩解密模块和播放模块。\n[0113] 子接收模块用于接收播放命令。当用户需要查看某一虚拟机的录像时,向云客户端10输入该虚拟机的录像播放命令,子接收模块用于接收该用户输入的录像播放命令,触发录像数据进行播放。\n[0114] 搜索模块用于根据播放命令搜索录像目录,获取需要播放的录像数据。由于在客户端本地的录像目录中存有录像数据,该录像数据为云服务器20返回的图像数据经过压缩和加密处理后得到的录像数据,通过搜索模块在录像目录中进行搜索,找到相应的录像数据,并获取该录像数据。\n[0115] 解压缩解密模块用于对需要播放的录像数据进行解压缩和解密,生成播放数据。\n由于存储在云客户端10本地的录像目录中的录像数据是经过压缩和加密后的数据,因此需要通过解压缩解密模块对录像数据进行相应的解压缩和解密处理,也即是对录像数据进行还原,从而生成能够进行播放的播放数据。\n[0116] 播放模块用于播放播放数据。当解压缩解密模块对需要播放的录像数据进行还原处理,得到的播放数据可以直接用于播放,用户可以通过播放模块播放该播放数据。\n[0117] 优选地,虚拟机终端数据的获取装置还包括:通讯模块和发送模块。\n[0118] 通讯模块用于云服务器20建立通讯关系,并发送身份验证信息至云服务器20。云客户端10在接收云服务器20发送的虚拟机列表之前,需要与云服务器20建立通讯关系,其通信方式可以是管道、共享内存、socket(一种进程通信机制)等进程间通信方式。当云客户端10与云服务器20建立通讯关系的同时,云客户端10还向云服务器20发送身份验证请求,以验证身份信息,该身份信息为云客户端10本身合法的身份标识,可以验证的密码,为程序运行时输入进去的部分内容。\n[0119] 发送模块用于在云服务器20验证身份验证信息合法之后,云服务器20发送虚拟机列表至云客户端10。在验证云客户端10的身份信息合法之后,云客户端10与云服务器20之间才能够进行通信,并实现数据的交互,云服务器20则将虚拟机列表发送至云客户端10。\n[0120] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。\n[0121] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。\n[0122] 本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。\n[0123] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。\n[0124] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2021-10-29
未缴年费专利权终止
IPC(主分类): H04L 29/08
专利号: ZL 201310582493.X
申请日: 2013.11.19
授权公告日: 2017.09.12
- 2019-05-07
专利权的转移
登记生效日: 2019.04.17
专利权人由浙江云巢科技有限公司变更为浙江桌面云网络科技有限公司
地址由311200 浙江省杭州市萧山区水务大厦B楼1302变更为311200 浙江省杭州市萧山区经济技术开发区鸿兴路389号
- 2017-09-12
- 2017-08-18
专利申请权的转移
登记生效日: 2017.07.31
申请人由北京云巢动脉科技有限公司变更为浙江云巢科技有限公司
地址由100084 北京市海淀区农大南路88号万霖大厦406室变更为311200 浙江省杭州市萧山区水务大厦B楼1302
- 2014-03-26
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201310582493.X
申请日: 2013.11.19
- 2014-02-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2013-05-08
|
2013-01-10
| | |
2
| | 暂无 |
2013-04-23
| | |
3
| |
2012-01-04
|
2011-10-14
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |