摄像头外设在虚拟化环境下的重定向方法

文档序号:10661206阅读:722来源:国知局
摄像头外设在虚拟化环境下的重定向方法
【专利摘要】本发明公开了一种摄像头外设在虚拟化环境下的重定向方法,该方法通过远程传输协议发送消息,让终端在本地直接读取摄像头的数据,直接在本地的远程桌面窗口上进行解码显示从而显示图像,对用户而言就是一个完全的本地显示,即不需要进行网络上的两次数据传输,也不带来任何延迟的现象,同时也不需要在网络上传输任何的图像数据,网络上传输的仅是几个简单的通信消息,大大降低网络的负载及提升用户体验。
【专利说明】
摄像头外设在虚拟化环境下的重定向方法
技术领域
[0001]本发明涉及一种摄像头外设在虚拟化环境下的重定向方法,属于应用发布技术领域。
【背景技术】
[0002]在科学技术进步的推动下网络技术日益发达,对服务器的需求也越来越高。目前全球各个行业都开始推行虚拟化的应用,虚拟化可以用来进行服务器,存储,网络,桌面应用程序的整合,未来的发展将上升到云计算。而虚拟化是做好云计算的基础。桌面虚拟化是在数据中心的服务器上进行服务器虚拟化,生成大量的独立的桌面操作系统(虚拟机或者虚拟桌面),同时根据专有的虚拟桌面协议发送给终端设备。用户终端通过以太网登陆到虚拟主机上,只需要记住用户名和密码及网关信息,即可随时随地的通过网络访问自己的桌面系统。而在桌面虚拟化的使用中,出现了大量图像设备(如摄像头等)的使用需求。为了节省I T硬件成本,提高服务器的利用率,虚拟化技术日益盛行,虚拟化英文翻译为Virtualizat1n,在IT界,虚拟化指的是利用各种方法把物理计算机的各种硬件资源(包括CPU、RAM、硬盘和网络控制器)给模拟出来,从而实现在单台物理机上运行多个和“真实”计算机一样的虚拟机的技术,每个虚拟机可以运行自己独立的操作系统而互不冲突。
[0003]虚拟化技术在节省IT硬件成本,提高服务器利用率等方面为企业带来了诸多好处,随着虚拟化技术及管理的普及,越来越多的企业开始进行虚拟化方案的部署。引入虚拟化服务器后,企业可以集中对员工的桌面进行管理和维护,大大减轻管理的工作量。
[0004]部署了桌面虚拟化后,整体的结构附图1所示,桌面虚拟化方案中,要做到和使用PC机一样的用户体验,那么对外设的重定向支持是必不可少的关键环节。
[0005]对于外设来说,重定向过程基本上都是把所有的USB数据发送到远端的虚拟桌面上,对于摄像头来说,重定向过程如下:首先是把外设的数据重定向到虚拟桌面,由于摄像头的数据在虚拟桌面上显示出来又会以动态图像的方式进行展现,因此虚拟桌面的动态图像数据需要再次传送到用户终端上。如此的重定向过程相当于图像数据会在网络上来回传输两遍,由于摄像头是动态的数据,数据量相对来说比较大,在图像晃动的情况下每秒多达几MB,普通情况下也有数百KB的流量在实时传输,因此采用该种重定向方式来说,存在如下两个不足:
1、流量占用问题,如此大的流量在网络中两遍的传输对网络造成一定的压力,尤其如果是在网络带宽不是足够的环境下使用,例如跨广域网或者无线WLAN等;
2、图像的延迟,由于网络的延迟再加之大流量的传输会导致图像的延迟,图像的改变首先要传输到服务器,然后再从服务器反馈回终端才能感觉到,从而使用上用户体验不佳。

【发明内容】

[0006]本发明要解决的技术问题是提供一种摄像头外设在虚拟化环境下的重定向方法,利用该方法可以简化网络数据传输,避免网络延迟现象,大大降低网络的负载及提升用户体验。
[0007]为解决上述技术问题,本发明所采取的技术方案是:一种摄像头外设在虚拟化环境下的重定向方法,其特征在于包括如下步骤:
(1)首先,在终端插入摄像头外设,虚拟桌面发现摄像头外设的接入后,启动重定向功能,利用网络对摄像头外设所显示的内容进行读取;
(2)读取过程中,对读取摄像头数据请求进行截取,虚拟桌面对截取的信息进行分析,并把请求封装后发送至终端,同时把应用程序在桌面上的位置信息也发送至终端;
(3)根据远程显示协议,把读取请求以及位置信息进行转换后,进行处理;
(4)同时虚拟桌面对摄像头外设所接收的数据,在本地进行读取,把数据信息及应用程序展示相应的位置上;
(5)关闭应用程序,虚拟桌面端通过远程显示协议发送关闭消息给终端,终端停止读取摄像头的数据。
[0008]对上述方法作进一步说明,所述的步骤(4)中,当应用程序的位置移动后,再次读取位置信息时,同时虚拟桌面端发送通知消息给终端进行图像绘制点的变更。
[0009]采用上述技术方案所产生的有益效果在于:本发明所涉及的方法,和当前业界的方案相比,主要通过再次把数据重定向回终端的方式,大大提升了摄像头该类设备在虚拟化环境下的使用体验;本发明中利用本地摄像头进行读取,然后把读取请求发送至终端,实现一次网络数据传输,即可实现虚拟桌面,该方法避免因两次传输造成网络数据延迟或堵塞,从而降低网络使用率,减轻网络压力,同时提升在无线或广域网情况下的使用效果;本发明中的本地进行摄像头数据的读取,然后展现在应用程序所在的位置上,从根本上消除因网络延迟带来的影响,提升摄像头使用时的用户体验,最大程度的模拟本地PC的用户体验。
【附图说明】
[0010]下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0011]图1是原有虚拟环境下重定向方法的整体架构图;
图2是本发明中摄像头外设在虚拟环境下重定向的架构图;
图3是本发明的方法流程图;
图4是摄像头重定向的原理框图;
图5是USB外设重定位的时序图。
[0012]其中:1、存储服务器,2、服务器集群,3、交换机,4、虚拟桌面控制器,5、终端,6、虚拟化平台,7、摄像头。
【具体实施方式】
[0013]本发明涉及一种摄像头外设在虚拟化环境下的重定向方法,该方法的具体开发思路,如附图2所示:对于摄像头外设的重定向,由于数据量比较大,需要在所对应的专用虚拟通道中传输,客户端远程虚拟桌面对于重定向摄像头外设的读写请求,被桌面传输协议截获,读写请求和数据被转发至客户端,然后然后客户端中的摄像头外设对请求作出应答、响应操作,并通过桌面传输协议返回应答结果数据给服务器端,再由服务器端将收到的应答数据传送到摄像头外设。
[0014]本发明中,虚拟化指的是利用软件把物理计算机的各种硬件资源(包括CPU、RAM、硬盘和网络控制器)给模拟出来,从而实现在单台物理机上运行多个和“真实”计算机一样的虚拟机的技术。每个虚拟机可以运行自己独立的操作系统而互不冲突。重定向指的是在虚拟化环境下,每个用户都使用的是运行在服务器端的操作系统,那么对于本地瘦终端上所接的所有外设,如果需要在虚拟桌面里面显示出来的话,需要把本地外设映射到虚拟桌面中,使用的效果就好像外设插在普通PC里面一样,这种把本地外设映射到虚拟桌面中的技术,称之为外设重定向。外设重定向常见于重定向USB类型的设备(U盘、摄像头、打印机、光驱、USB Key等)、串口及并口等。
[0015]本发明中针对的是摄像头外设,其特点是采集图像,每秒采集数据量相对来说比较大,在图像晃动的情况下每秒多达几MB,普通情况下也有数百KB的流量在实时传输,因此需要对摄像头外设进行重定向,实现网络的快速传输。
[0016]摄像头重定向其基本原理框图如附图4所示,其中摄像头客户端:负责从摄像头中获取数据,并转发到摄像头服务端;摄像头服务端:负责创建、删除虚拟摄像头,并把摄像头客户端发送的数据转发到对应的虚拟摄像头中;虚拟摄像头:负责与各类摄像头应用程序交互,并处理摄像头服务端发送过来的数据。一般在操作中,摄像头重定向需要满足:1、摄像头重定向工作于应用层,2、客户端需要安装对应摄像头驱动程序(一般摄像头免驱或者自带驱动),来识别和使用具体的设备,3、虚拟机中不需要安装对应的驱动程序,4、这种模式的优势是:速度快、可靠性高、支持视频数据压缩,占用带宽少。
[0017]基于以上的思路,发明人设计出摄像头外设在虚拟化环境下的重定向方法方法的具体流程,如附图3所示,包括:
(1)在终端插入摄像头外设后,和普通的类似,进行重定向,让虚拟桌面发现外设的接入;
(2)打开摄像头的应用程序后,正常情况下应用程序会读取摄像头设备的数据,然后以图像方式进行展现。新的方法在读取的时候,对读取摄像头数据请求进行截取,并不进行真正的数据读取,反而是把读取请求封装后直接转发到终端上,同时发送过去的还有应用程序在桌面上的位置信息等一些要素;
(3)终端通过远程显示协议接收到消息后,本地进行摄像头数据的读取,然后展现在应用程序所在的位置上,在使用者的角度看来,和本地的摄像头一样,数据不再通过网络进行传输,而是在终端进行本地的读取和显示;
(4)当移动应用程序的位置信息时,虚拟桌面端发送通知消息给终端进行图像绘制点的变更;
(5)关闭应用程序时,虚拟桌面端通过远程显示协议发送关闭消息给终端,终端停止读取摄像头的数据。
[0018]在上述流程(2)中,摄像头外设的读取请求即是USB重定向过程。对于远程服务器负责直接与虚拟USB外设进行交互,并借助由QEMU虚拟机提供的虚拟设备接口(VDI)进行消息传递。Guest端充当USB-guest端,将读请求和USB协议数据通过VDI接口发送到服务端,月艮务端使用USB重定向协议封装消息后,通过USB重定向通道转发到客户端。客户端处理读请求后将处理结果发送到服务端,服务端通过VDI接口将USB数据通过QEMU写回到虚拟Guest的虚拟USB设备。对于客户端的操作系统来说,USB数据处理过程是透明的,整个过程就像是直接对物理USB设备进行操作,从而实现云桌面中的USB重定向。由此可以了解USB重定向的时序图,如附图5所示。
[0019]在上述流程(5)中,远程显示协议负责将数据从数据中心桌面传送到终端,流行的远程显示协议提供了高分辨率会话、多媒体流远程处理、多显示支持、动态对象压缩、USB重定向、驱动器映射等功能。其中对于USB重定向协议(USBredirect1n)是一个网络协议,定义了重定向一台机器上USB设备的各种控制数据报文到另一台机器(或者虚拟机)的规范,通过网络连接发送USB设备传输,用于打通USB设备与连接端之间、远程虚拟设备与真实USB设备之间的通信数据传输和重定向。它的功能如下:1)监控管理物理USB设备的状态;2)USB控制数据报文处理;3)外部操作处理。
[0020]通过图2和图1的比较,不难发现,本发明中的方法仅仅通过读取插入信息,发送请求信息和位置信息,即可完成虚拟化的重定向,实现摄像头在虚拟环境下的无缝展示。
[0021]通过再次把数据重定向回终端的方式大大提升了摄像头该类设备在虚拟化环境下的使用体验,不需要在网络上传输任何的图像数据,考虑到目前的方式是先把数据传输到虚拟桌面,而虚拟桌面再把显示的图像传输到终端上去,这两次的传输纯粹是浪费了,因此新的方式通过远程传输协议发送消息,让终端本地直接读取摄像头的数据,直接在本地的远程桌面窗口上进行解码显示从而显示图像,对用户而言就是一个完全的本地显示,即不需要进行网络上的两次数据传输,也不带来任何延迟的现象,网络上传输的仅是几个简单的通信消息,大大降低网络的负载及提升用户体验。
[0022]以上为本发明较佳的实施方式,本发明所属领域的技术人员还能够对上述实施方式进行变更和修改,因此,本发明并不局限于上述的【具体实施方式】,凡是本领域技术人员在本发明的基础上所作的任何显而易见的改进、替换或变型均属于本发明的保护范围。
【主权项】
1.一种摄像头外设在虚拟化环境下的重定向方法,其特征在于包括如下步骤: (1)首先,在终端插入摄像头外设,虚拟桌面发现摄像头外设的接入后,启动重定向功能,利用网络对摄像头外设所显示的内容进行读取; (2)读取过程中,对读取摄像头数据请求进行截取,虚拟桌面对截取的信息进行分析,并把请求封装后发送至终端,同时把应用程序在桌面上的位置信息也发送至终端; (3)根据远程显示协议,把读取请求以及位置信息进行转换后,进行处理; (4)同时虚拟桌面对摄像头外设所接收的数据,在本地进行读取,把数据信息及应用程序展示相应的位置上; (5)关闭应用程序,虚拟桌面端通过远程显示协议发送关闭消息给终端,终端停止读取摄像头的数据。2.根据权利要求1所述的摄像头外设在虚拟化环境下的重定向方法,其特征在于所述的步骤(4)中,当应用程序的位置移动后,再次读取位置信息时,同时虚拟桌面端发送通知消息给终端进行图像绘制点的变更。
【文档编号】H04N5/232GK106027882SQ201610315686
【公开日】2016年10月12日
【申请日】2016年5月16日
【发明人】范炉林
【申请人】深圳市青葡萄科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1