CN102566910B - 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统 - Google Patents

刷新虚拟桌面客户端屏显的方法及虚拟桌面系统 Download PDF

Info

Publication number
CN102566910B
CN102566910B CN201110419645.5A CN201110419645A CN102566910B CN 102566910 B CN102566910 B CN 102566910B CN 201110419645 A CN201110419645 A CN 201110419645A CN 102566910 B CN102566910 B CN 102566910B
Authority
CN
China
Prior art keywords
screen display
pixel
client
pixels
block
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.)
Active
Application number
CN201110419645.5A
Other languages
English (en)
Other versions
CN102566910A (zh
Inventor
何利明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GCI Science and Technology Co Ltd
Original Assignee
GCI Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GCI Science and Technology Co Ltd filed Critical GCI Science and Technology Co Ltd
Priority to CN201110419645.5A priority Critical patent/CN102566910B/zh
Publication of CN102566910A publication Critical patent/CN102566910A/zh
Application granted granted Critical
Publication of CN102566910B publication Critical patent/CN102566910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)

Abstract

本发明提供一种刷新虚拟桌面客户端屏显的方法及虚拟桌面系统,该虚拟桌面系统包括服务器和客户端,所述服务器包括服务器处理模块、服务器缓存器、比对器、传输器;所述客户端包括接收器、客户端缓存器、客户端处理模块、显示屏、移动检测模块。本发明的刷新虚拟桌面客户端屏显的方法及虚拟桌面系统在移动检测过程和减少数据传输量上有着明显的优势,其通过使用像素点/像素块的移动描述命令来指示客户端已有屏显数据的移动,避免了客户端缓存中的已有像素通过网络再次发送,有效取代了对部分差异区域单点像素进行逐个更新的过程,减少了需要传输的数据量,在当前带宽受限的网络环境下,采用上述做法可以有效减少对网络带宽的消耗并提高用户体验。

Description

刷新虚拟桌面客户端屏显的方法及虚拟桌面系统
技术领域
本发明涉及网络优化技术,尤其涉及一种刷新虚拟桌面客户端屏显的方法以及一种虚拟桌面系统。
背景技术
当前的虚拟化技术不只是基础的服务器虚拟化,高层次的桌面虚拟化和应用虚拟化技术也已经获得了蓬勃的发展和广泛的关注。但不同于服务器的虚拟化技术,桌面虚拟化和应用虚拟化对网络具有极大的依赖性,在网络条件并不能得到充分保障的今天,这种对网络的依赖性成为大力发展和推广桌面虚拟化和应用虚拟化技术的重大桎梏。
目前的桌面虚拟化和应用虚拟化技术主要受制于网络,在目前不足以提供优质而稳定的网络环境下,各大虚拟化厂商只能通过使用其他如优化、压缩等手段来达到降低带宽占用的目的,利用缓存机制就是其中一种普遍使用的手段。目前,Microsoft、VMware、Citrix等厂商的桌面虚拟化产品都已经实现了服务器端的缓存机制,其中Citrix和VMware更是提供了客户端缓存。通过使用缓存机制,可以将最近的显示数据进行短期保存,更新时可以避免对全屏显示数据进行重新编码传输,有利于减轻CPU或GPU(Graphic Processing Unit,图形处理器)的负荷,而且能够减少数据的传输量。
通过对Microsoft、VMware、Citrix等厂商通过缓存机制刷新屏幕技术的研究,可以总结出目前市场上各种桌面产品的屏幕刷新技术的基本思想,如图1所示,现有技术中的虚拟桌面系统一般包括服务器和客户端,其中,服务器包括服务器缓存器、传输器、服务器处理模块、比对器,客户端包括客户端缓存器、接收器、客户端处理模块、显示屏。下面描述虚拟桌面系统进行屏幕刷新的具体处理过程:
在服务器端,首先从发起屏幕刷新事件开始,服务器端将刷新前的那一张屏显数据替入服务器缓存器中并处理完成屏幕刷新事件,服务器处理模块向比对器发送待更新的屏显数据(同时服务器处理模块还向传输器发送指定的模式数据,该模式数据中包括传输通道、加密算法等信息),然后将刷新后的屏显与服务器缓存器中刷新前的屏显在比对器中进行对比,获得前后两张屏显的差异区域,然后将该差异区域上的更新屏显数据传输给传输器,最后,传输器对接收的屏显数据进行编码打包,通过指定的传输通道传输给客户端的接收器,同时在服务器端完成刷新后的屏显;
在客户端,接收器接收到来自虚拟通道的刷屏请求信号,将本次刷新前的屏显数据替入客户端缓存器中,并继续接收来自虚拟通道编码打包后的更新屏显数据,进行拆包解码,然后发送给客户端处理模块,客户端处理模块从客户端缓存器中获取之前的屏显数据,并结合拆包解码后的更新屏显数据,即可重构出新的屏显数据,最后将重构出的屏显数据发送给显示屏,完成屏幕显示。
根据理论分析,只要从客户端缓存器中读取的原有屏显数据和从服务器缓存中读取的原有屏显数据一致,重构的屏显与服务器端刷新的屏显应该也具有一致性。
上述技术在网络带宽不受限制的情况下并没有什么明显的缺点。然而,就目前普遍的网络环境而言,一方面我们能够获得的网络带宽普遍是不稳定且受限的;而另一方面,大规模的部署桌面虚拟化产品又需要占用相当多的网络带宽。这样一来,就会导致部分的虚拟桌面用户因为带宽受限无法及时接收从服务器端发送过来的无损桌面数据,从而降低了虚拟桌面的用户体验。
那么,是否能够通过充分利用缓存技术所带来的便利,进一步减少服务器端与客户端之间数据的传输量,从而提高虚拟桌面的用户体验呢?解决这个问题对桌面虚拟化和应用虚拟化技术的普及具有重大意义。
发明内容
为解决上述问题,本发明提供一种刷新虚拟桌面客户端屏显的方法及一种虚拟桌面系统,能够减少服务器端与客户端之间不必要的数据传输,避免在客户端中已经存有的数据通过网络再次重发,从而有效地节约了网络带宽。
为实现上述目的,本发明采用如下的技术方案:
一种刷新虚拟桌面客户端屏显的方法,包括以下步骤:
服务器端发起屏幕刷新事件,将刷新前的屏显数据替入服务器缓存器中并处理完成服务器端的屏幕刷新事件,然后将刷新后的屏显与刷新前的屏显进行对比,获得前后两张屏显的差异区域,并以像素为基本单位,在所述差异区域上进行像素点/像素块的移动检测,检测在所述差异区域中是否存在有位置改变但像素相同的像素点/像素块,并将这些像素点/像素块的位置变化通过移动描述来进行表述,然后将能够通过移动描述的像素点/像素块的移动描述命令、不能通过移动描述的像素点/像素块的更新数据分别进行编码、打包处理,并通过不同的虚拟通道传输给客户端;
客户端对从不同虚拟通道传送过来的移动描述命令包与更新数据包进行识别、拆包、解码,然后从客户端缓存器中获取之前的屏显数据,根据移动描述命令进行像素点/像素块的移动,并结合所述更新数据,重构出新的屏显数据,完成屏幕显示。
一种虚拟桌面系统,包括服务器和客户端,所述服务器包括服务器处理模块、服务器缓存器、比对器、传输器;所述客户端包括接收器、客户端缓存器、客户端处理模块、显示屏;所述服务器还包括移动检测模块;
所述服务器处理模块用于发起屏幕刷新事件并处理完成服务器端的屏幕刷新事件后,向所述比对器发送刷新后的屏显数据;
所述服务器缓存器用于存储刷新前的屏显数据;
所述比对器用于将刷新后的屏显与刷新前的屏显进行对比,获得前后两张屏显的差异区域;
所述移动检测模块用于以像素为基本单位,在所述差异区域上进行像素点/像素块的移动检测,检测在所述差异区域中是否存在有位置改变但像素相同的像素点/像素块,并将这些像素点/像素块的位置变化通过移动描述来进行表述;
所述传输器用于将能够通过移动描述的像素点/像素块的移动描述命令、不能通过移动描述的像素点/像素块的更新数据分别进行编码、打包处理,并通过不同的虚拟通道传输给所述接收器;
所述接收器用于对从不同虚拟通道传送过来的移动描述命令包与更新数据包进行识别、拆包、解码,处理完成后发送给所述客户端处理模块;
所述客户端处理模块用于从所述客户端缓存器中获取之前的屏显数据,根据移动描述命令进行像素点/像素块的移动,并结合所述更新数据,重构出新的屏显数据,发送给所述显示屏以完成屏幕显示。
由以上方案可以看出,本发明的刷新虚拟桌面客户端屏显的方法及虚拟桌面系统,在移动检测过程和减少数据传输量上有着明显的优势,其通过使用像素点/像素块的移动描述命令来指示客户端已有屏显数据的移动,避免了客户端缓存中的已有像素通过网络再次发送,有效取代了对部分差异区域单点像素进行逐个更新的过程,粗化了处理对象的粒度,也减少了需要传输的数据量,在当前带宽受限的网络环境下,采用上述做法可以有效减少对网络带宽的消耗,降低虚拟化技术对网络资源的依赖性,从而极大扩展了远程显示协议的广泛适用性并提高了用户体验。
附图说明
图1为传统的虚拟桌面系统结构示意图;
图2为实施例一中的一种刷新虚拟桌面客户端屏显的方法流程示意图;
图3为实施例二中的一种刷新虚拟桌面客户端屏显的方法流程示意图;
图4为实施例三中的一种虚拟桌面系统结构示意图。
具体实施方式
本发明提供一种刷新虚拟桌面客户端屏显的方法及虚拟桌面系统,以解决现有技术中需要对差异区域数据进行逐个更新从而导致的数据传输量大、不能有效节约网络带宽的问题。下面结合附图对本发明的具体实施例作进一步的描述。
实施例一
本实施例以移动描述的对象为像素点为例进行说明,如图2所示,一种刷新虚拟桌面客户端屏显的方法,包括两个部分,即服务器端的处理过程和客户端的处理过程:
在服务器端,服务器端发起屏幕刷新事件,将刷新前的屏显数据替入服务器缓存器中并处理完成服务器端的屏幕刷新事件,然后将刷新后的屏显与刷新前的屏显进行对比,获得前后两张屏显的差异区域,并以像素为基本单位,在所述差异区域上进行像素点的移动检测,检测在所述差异区域中是否存在有位置改变但像素相同的像素点,如果有则将这些像素点的位置变化通过移动描述来进行表述,然后将能够通过移动描述的像素点的移动描述命令、不能通过移动描述的像素点的更新数据分别进行编码、打包处理,并通过不同的虚拟通道传输给客户端;
在客户端,客户端对从不同虚拟通道传送过来的移动描述命令包与更新数据包进行识别、拆包、解码,然后从客户端缓存器中获取之前的屏显数据,根据移动描述命令进行像素点的移动,并结合所述更新数据,重构出新的屏显数据,完成屏幕显示。
将本发明的方案与现有技术进行对比可知,本发明的刷新虚拟桌面客户端屏显的方法,最重要的是在服务器端增加了一个移动检测过程,移动检测主要是在比对器工作的基础上,将缓存在服务器缓存器中的原有屏显数据和刷新后的屏显数据的差异区域进行进一步的分析。
移动检测的基本算法思想描述如下:像素P是由显示数据x和显示位置y所确定的二元组,可以表示为P(x,y)。另外,屏显本身是由若干的像素点构成,因此一个屏显也可以看作若干像素点的集合。这里我们将旧的(刷新前)屏显称为S1,新的(刷新后)屏显为S2,S1∩S2表示S1和S2中相同像素点的集合,即是两张屏显的不变区域。以像素为基本单位,移动检测算法将检测在新旧两张屏显的差异区域(即为)中是否存在有位置改变但像素相同的像素点。若存在这样的点a,则我们可以把其归入移动检测点集合Q={P1|P1∈S1,P2∈S2,P1→x=P2→x,P1→y≠P2→y}中,并且将P1→y到P2→y的位置变化通过移动描述即一个表述函数f来进行表述,f可表述为:
f1=f1(P,P2→y),P∈Q
表示将P移动到P2的位置。
通过移动检测确定了能够通过移动描述的像素点之后,我们就只需要将这些像素点的移动描述进行编码打包处理,并利用Transmitter(传输器)新开一个虚拟通道专门用于传输这些移动描述的命令包。而其他的像素点数据(即不能通过移动描述的像素点的更新数据)则使用原来的技术,通过传统的用于屏幕刷新的虚拟通道进行传输。
完成服务器端的传输改良之后,我们还需要在客户端上进行接收数据的改良处理,以识别从新建虚拟通道传送过来的移动描述命令包。客户端接收到来自虚拟通道的刷屏请求信号,将刷新前的屏显数据替入客户端缓存,并继续接收来自虚拟通道的数据包,依传递虚拟通道的不同,识别为普通的用于屏幕刷新的更新数据包和移动描述命令包。通过使用不同的拆包解码算法,分别获得原始的更新数据和一组移动描述命令。
对移动描述命令包的识别、拆包、解码的过程都需要在重构屏显前完成,作为一个较好的实施例,可将上述处理过程均放在Receiver(接收器)中进行实现。进行识别的过程非常简单,由于采取了虚拟通道技术,只需要将用于传送移动描述命令包的虚拟通道数据提取出来,即可实现命令包与其他更新数据包的分离。而拆包和解码的过程则只需要配备一个对应于服务器端将移动描述进行编码打包过程的模块即可在客户端获得原始的移动描述命令。
获得的移动描述命令和通过原有屏幕刷新通道传输的更新数据事实上都是通过Receiver(接收器)接收,然后传递给具有处理功能的客户端处理模块。客户端处理模块从客户端缓存器中读取原有屏显数据,利用移动描述命令进行像素点的移动,并结合更新数据进行其他变化区域的更新,从而达到完全重构屏显的目的。根据理论分析,只要从客户端缓存器中读取的原有屏显数据和从服务器缓存器中读取的原有屏显数据一致,重构的屏显与服务器端刷新的屏显应该也具有一致性。
实施例二
本实施例与实施例一的区别在于:本实施例中移动描述的对象为像素块而非像素点。如图3所示,一种刷新虚拟桌面客户端屏显的方法,包括以下步骤:
服务器端发起屏幕刷新事件,将刷新前的屏显数据替入服务器缓存器中并处理完成服务器端的屏幕刷新事件,然后将刷新后的屏显与刷新前的屏显进行对比,获得前后两张屏显的差异区域,并以像素为基本单位,在所述差异区域上进行像素块的移动检测,检测在所述差异区域中是否存在有位置改变但像素相同的像素块,如果有则将这些像素块的位置变化通过移动描述来进行表述,然后将能够通过移动描述的像素块的移动描述命令、不能通过移动描述的像素块的更新数据分别进行编码、打包处理,并通过不同的虚拟通道传输给客户端;
客户端对从不同虚拟通道传送过来的移动描述命令包与更新数据包进行识别、拆包、解码,然后从客户端缓存器中获取之前的屏显数据,根据移动描述命令进行像素块的移动,并结合所述更新数据,重构出新的屏显数据,完成屏幕显示。
可以想象,如果把屏幕上所有的像素点都进行单独的移动检测和移动描述,那移动检测将是一个非常密集的CPU运算过程(如一个19×10的屏幕上所有的像素可能有二百万以上)。事实上,可以想到,移动其实很多时候是一个连续的过程,根据之前的屏幕移动状态,我们可以对接下来可能发生的移动进行估计,这种对过去经验的积累,我们称作学习。服务器端的服务器处理模块将通过学习来对将要发生的移动进行估计,这部分内容通过VMware与Teradici共同开发的PCoIP协议已经完全实现了(本发明借用这方面的思想,但是并不做赘述)。
对于本发明的移动描述,对单个的像素点进行移动描述比较简单,通过上面的f1即可完成,但宏观上讲,如果需要对大量的单点进行移动描述,那总体的表述数据量就将非常大,这不符合本发明的初衷。因此,本发明还对实施例一中的移动描述进行了改良,将移动描述的对象从像素点变为像素块,该像素块可以设定一定的要求,如该像素块由至少设定个数像素点所组成。
检测在所述差异区域中是否存在有位置改变但像素相同的像素块的过程即为寻找能够通过移动描述的像素块的过程,因为发生位置变化的像素块必然可以通过移动描述来进行表述。寻找能够通过移动描述的像素块的方法有很多,作为一个较好的实施例,本发明提出两种比较成熟的方法:
其一是将屏幕显示在图像应用层时就进行分离,确认出各种类型,此时的图像未被分解成位图,可以直接将整体图像元素(如窗体,图标等)进行记录,利用新旧屏显的记录,确定成为位图后可以绑定处理的像素块,即获得了能够通过移动描述的像素块。这种在图像的应用层就将图像元素分离出来进行匹配的方法,可以有效减少在像素形式下进行匹配的工作量,能大大降低服务器CPU的工作负担。
另外一种方法是根据像素点进行处理,将新旧屏显中适应的像素匹配(利用目前已有的很多成熟算法都可以实现,这里不做重点讨论。),找到成块的像素,获得能够通过移动描述的像素块。
通过以上任意一种方式获得的绑定像素块都是确认在新旧屏显中进行了移动的像素块,事实上,重新进行的移动描述已经可以初步扩展了,不但可以描述平动像素块,也可以进行特定角度转动的描述,因此,我们的移动描述表述函数可以变更为:
f=f(P,P2→y,m,θ),P∈Q,m=1,2
其中,m=1表示像素块的平动,即当m=1时,f表示将P移动到P2的位置,同时整个像素块都随着P平移;m=2表示像素块的转动,即当m=2时,f表示将P以P2为中心逆时针转动θ°角度,可以取0、90、180或270等值,同时整个像素块都随着P平移。
以上的两种移动描述还只是最简单的移动描述,事实上,像素块的位置变化除了包括平动、转动之外,还可以包括以上二种移动描述的组合,以扩展像素块的移动描述。
以前单点的P变成现在用于表示区域的L,且有:
1)对任意P∈L,f=f(P,P2→y,m,θ)∈F=F(L,P2→y,m,θ)成立;
2)对任意P0∈L,P1∈L,若有P0≠P1,则f(P0,P2→y,m,θ)≠f(P1,P2→y,m,θ);反之也成立;
3)对任意P0∈L,P1∈L,若有f(P0,P2→y,m,θ)=f(P1,P2→y,m,θ),则P0=P1;反之也成立。
利用上述方式,在处理大像素块移动时,可以仅使用简单的移动描述来代替大规模的区域像素更新,数据传输量将大大减少。而且即使没有可以使用的大像素块出现,这也不会给网络增加额外的负担。
本实施例中的其它技术特征与实施例一相同,在此不予赘述。
实施例三
与上述两个实施例中的刷新虚拟桌面客户端屏显的方法相对应的,本发明还提供一种虚拟桌面系统,如图4所示,包括服务器和客户端,所述服务器包括服务器处理模块、服务器缓存器、比对器、传输器;所述客户端包括接收器、客户端缓存器、客户端处理模块、显示屏;另外,所述服务器还包括移动检测模块;
所述服务器处理模块用于发起屏幕刷新事件并处理完成服务器端的屏幕刷新事件后,向所述比对器发送刷新后的屏显数据;
所述服务器缓存器用于存储刷新前的屏显数据;
所述比对器用于将刷新后的屏显与刷新前的屏显进行对比,获得前后两张屏显的差异区域;
所述移动检测模块用于以像素为基本单位,在所述差异区域上进行像素点/像素块的移动检测,检测在所述差异区域中是否存在有位置改变但像素相同的像素点/像素块,并将这些像素点/像素块的位置变化通过移动描述来进行表述;
所述传输器用于将能够通过移动描述的像素点/像素块的移动描述命令、不能通过移动描述的像素点/像素块的更新数据分别进行编码、打包处理,并通过不同的虚拟通道传输给所述接收器;
所述接收器用于对从不同虚拟通道传送过来的移动描述命令包与更新数据包进行识别、拆包、解码,处理完成后发送给所述客户端处理模块;
所述客户端处理模块用于从所述客户端缓存器中获取之前的屏显数据,根据移动描述命令进行像素点/像素块的移动,并结合所述更新数据,重构出新的屏显数据,发送给所述显示屏以完成屏幕显示。
优选的,所述服务器处理模块还可以用于向所述传输器发送指定的模式数据,该模式数据包括传输通道信息和加密算法等信息,以指定传输器进行数据传输时的传输通道以及进行编码时的加密算法。
优选的,所述客户端缓存器用于当客户端接收到从虚拟通道传输过来的刷屏请求信号后,将完成本次刷新处理前的屏显数据进行存储(即为客户端处理模块所读取的“之前的屏显数据”)。
优选的,所述像素块由至少设定个数的像素点所组成。
优选的,所述移动检测模块可以包括第一检测子模块,用于检测在所述差异区域中是否存在有位置改变但像素相同的像素块,具体为:将屏幕显示在图像应用层进行分离,确认出各种类型,将整体图像元素进行记录,利用新旧屏显的记录,获得成为位图后能够通过移动描述的像素块。
或者,所述移动检测模块可以包括第二检测子模块,用于检测在所述差异区域中是否存在有位置改变但像素相同的像素块,具体为:根据像素点进行处理,将新旧屏显中适应的像素匹配,获得能够通过移动描述的像素块。
本发明的一种虚拟桌面系统中的其它技术特征与本发明的一种刷新虚拟桌面客户端屏显的方法相同,在此不予赘述。
通过以上几个实施例可以看出,本发明的刷新虚拟桌面客户端屏显的方法及虚拟桌面系统,充分利用了客户端缓存的便利,其通过使用像素点/像素块的移动描述命令来指示客户端已有屏显数据的移动,避免了客户端缓存中的已有像素通过网络再次发送,有效取代了对部分差异区域单点像素进行逐个更新的过程,粗化了处理对象的粒度,也减少了需要传输的数据量,在当前带宽受限的网络环境下,采用上述做法可以有效减少对网络带宽的消耗,降低虚拟化技术对网络资源的依赖性,从而极大扩展了远程显示协议的广泛适用性并提高了用户体验。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

Claims (11)

1.一种刷新虚拟桌面客户端屏显的方法,其特征在于,包括以下步骤:
服务器端发起屏幕刷新事件,将刷新前的屏显数据替入服务器缓存器中并处理完成服务器端的屏幕刷新事件,然后将刷新后的屏显与刷新前的屏显进行对比,获得前后两张屏显的差异区域,并以像素为基本单位,在所述差异区域上进行像素点/像素块的移动检测,检测在所述差异区域中是否存在有位置改变但像素相同的像素点/像素块,并将这些像素点/像素块的位置变化通过移动描述来进行表述,然后将能够通过移动描述的像素点/像素块的移动描述命令、不能通过移动描述的像素点/像素块的更新数据分别进行编码、打包处理,并通过不同的虚拟通道传输给客户端;
客户端对从不同虚拟通道传送过来的移动描述命令包与更新数据包进行识别、拆包、解码,然后从客户端缓存器中获取之前的屏显数据,根据移动描述命令进行像素点/像素块的移动,并结合所述更新数据,重构出新的屏显数据,完成屏幕显示。
2.根据权利要求1所述的刷新虚拟桌面客户端屏显的方法,其特征在于,所述像素块由至少设定个数的像素点所组成。
3.根据权利要求2所述的刷新虚拟桌面客户端屏显的方法,其特征在于,检测在所述差异区域中是否存在有位置改变但像素相同的像素块的过程具体包括:将屏幕显示在图像应用层进行分离,确认出各种类型,将整体图像元素进行记录,利用新旧屏显的记录,获得成为位图后能够通过移动描述的像素块。
4.根据权利要求2所述的刷新虚拟桌面客户端屏显的方法,其特征在于,检测在所述差异区域中是否存在有位置改变但像素相同的像素块的过程具体包括:根据像素点进行处理,将新旧屏显中适应的像素匹配,获得能够通过移动描述的像素块。
5.根据权利要求3或4所述的刷新虚拟桌面客户端屏显的方法,其特征在于,所述像素块的位置变化包括像素块的平动、像素区域的转动或者二者的组合。
6.一种虚拟桌面系统,包括服务器和客户端,所述服务器包括服务器处理模块、服务器缓存器、比对器、传输器;所述客户端包括接收器、客户端缓存器、客户端处理模块、显示屏;其特征在于,所述服务器还包括移动检测模块;
所述服务器处理模块用于发起屏幕刷新事件并处理完成服务器端的屏幕刷新事件后,向所述比对器发送刷新后的屏显数据;
所述服务器缓存器用于存储刷新前的屏显数据;
所述比对器用于将刷新后的屏显与刷新前的屏显进行对比,获得前后两张屏显的差异区域;
所述移动检测模块用于以像素为基本单位,在所述差异区域上进行像素点/像素块的移动检测,检测在所述差异区域中是否存在有位置改变但像素相同的像素点/像素块,并将这些像素点/像素块的位置变化通过移动描述来进行表述;
所述传输器用于将能够通过移动描述的像素点/像素块的移动描述命令、不能通过移动描述的像素点/像素块的更新数据分别进行编码、打包处理,并通过不同的虚拟通道传输给所述接收器;
所述接收器用于对从不同虚拟通道传送过来的移动描述命令包与更新数据包进行识别、拆包、解码,处理完成后发送给所述客户端处理模块;
所述客户端处理模块用于从所述客户端缓存器中获取之前的屏显数据,根据移动描述命令进行像素点/像素块的移动,并结合所述更新数据,重构出新的屏显数据,发送给所述显示屏以完成屏幕显示。
7.根据权利要求6所述的虚拟桌面系统,其特征在于,所述服务器处理模块还用于向所述传输器发送指定的模式数据,所述模式数据包括传输通道信息和加密算法信息。
8.根据权利要求6所述的虚拟桌面系统,其特征在于,所述像素块由至少设定个数的像素点所组成。
9.根据权利要求8所述的虚拟桌面系统,其特征在于,所述移动检测模块包括第一检测子模块,用于将屏幕显示在图像应用层进行分离,确认出各种类型,将整体图像元素进行记录,利用新旧屏显的记录,获得成为位图后能够通过移动描述的像素块。
10.根据权利要求8所述的虚拟桌面系统,其特征在于,所述移动检测模块包括第二检测子模块,用于根据像素点进行处理,将新旧屏显中适应的像素匹配,获得能够通过移动描述的像素块。
11.根据权利要求6或7所述的虚拟桌面系统,其特征在于,所述客户端缓存器用于当客户端接收到刷屏请求信号后,将刷新前的屏显数据进行存储。
CN201110419645.5A 2011-12-14 2011-12-14 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统 Active CN102566910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110419645.5A CN102566910B (zh) 2011-12-14 2011-12-14 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110419645.5A CN102566910B (zh) 2011-12-14 2011-12-14 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统

Publications (2)

Publication Number Publication Date
CN102566910A CN102566910A (zh) 2012-07-11
CN102566910B true CN102566910B (zh) 2015-02-04

Family

ID=46412444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110419645.5A Active CN102566910B (zh) 2011-12-14 2011-12-14 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统

Country Status (1)

Country Link
CN (1) CN102566910B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103200237B (zh) * 2013-03-11 2016-06-08 天脉聚源(北京)传媒科技有限公司 一种保持远程桌面同步的方法和装置
CN105227603A (zh) * 2014-06-23 2016-01-06 中兴通讯股份有限公司 虚拟桌面图像处理方法、装置、虚拟桌面服务器及瘦终端
CN104243459A (zh) * 2014-09-03 2014-12-24 福建星网锐捷网络有限公司 一种虚拟桌面实现方法、装置、终端和系统
CN105516229B (zh) * 2014-10-15 2020-02-28 中兴通讯股份有限公司 一种更新虚拟桌面的方法和装置
CN104464593B (zh) * 2014-11-21 2017-09-26 京东方科技集团股份有限公司 用于显示装置的驱动方法、显示画面更新方法及装置
CN105245915B (zh) * 2015-09-30 2018-11-23 上海有孚网络股份有限公司 云桌面高清视频传输方法
CN105760238B (zh) 2016-01-29 2018-10-19 腾讯科技(深圳)有限公司 图形指令数据的处理方法和装置及系统
CN107517232A (zh) * 2016-06-16 2017-12-26 北京易讯通信息技术股份有限公司 云桌面的调度系统
CN106161630A (zh) * 2016-07-20 2016-11-23 中霆云计算科技(上海)有限公司 一种基于远程桌面协议的客户端屏幕更新显示方法
CN107682694B (zh) * 2017-07-07 2020-02-04 西安万像电子科技有限公司 图像编解码方法、装置及系统
CN108153573A (zh) * 2017-12-26 2018-06-12 合肥中科云巢科技有限公司 云桌面图像更新方法及虚拟机
CN109901907B (zh) * 2019-03-15 2022-05-20 北京星网锐捷网络技术有限公司 一种传输虚拟桌面的方法和服务器
CN110515686B (zh) * 2019-08-28 2021-05-18 联想(北京)有限公司 一种图像显示方法及装置
CN111953986A (zh) * 2020-07-23 2020-11-17 西安万像电子科技有限公司 图像处理方法及装置
CN113176961B (zh) * 2021-05-14 2024-05-31 深圳前海微众银行股份有限公司 桌面帧处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178461B1 (en) * 1998-12-08 2001-01-23 Lucent Technologies Inc. Cache-based compaction technique for internet browsing using similar objects in client cache as reference objects
CN1694058A (zh) * 2005-04-30 2005-11-09 广东威创日新电子有限公司 一种基于服务器端/客户端结构远程显示处理方法
CN101022398A (zh) * 2007-03-21 2007-08-22 中国科学院计算技术研究所 在多节点智能网络应用服务系统中实现剪贴板共享的方法
CN102215265A (zh) * 2011-06-14 2011-10-12 杭州思福迪信息技术有限公司 实现远程虚拟桌面访问统一管理和监控的系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4218336B2 (ja) * 2002-12-12 2009-02-04 ソニー株式会社 情報処理システム、サービス提供装置および方法、情報処理装置および方法、並びにプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178461B1 (en) * 1998-12-08 2001-01-23 Lucent Technologies Inc. Cache-based compaction technique for internet browsing using similar objects in client cache as reference objects
CN1694058A (zh) * 2005-04-30 2005-11-09 广东威创日新电子有限公司 一种基于服务器端/客户端结构远程显示处理方法
CN101022398A (zh) * 2007-03-21 2007-08-22 中国科学院计算技术研究所 在多节点智能网络应用服务系统中实现剪贴板共享的方法
CN102215265A (zh) * 2011-06-14 2011-10-12 杭州思福迪信息技术有限公司 实现远程虚拟桌面访问统一管理和监控的系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2004-192451A 2004.07.08 *

Also Published As

Publication number Publication date
CN102566910A (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
CN102566910B (zh) 刷新虚拟桌面客户端屏显的方法及虚拟桌面系统
JP5123186B2 (ja) 任意のフォーマットにおけるラージオブジェクトの通信のためのリモートプロトコルサポート
US9510048B2 (en) Dynamically changing streaming video quality
US8392596B2 (en) Methods for detecting and handling video and video-like content in remote display system
JP5027899B2 (ja) 遠隔の表示部へ伝送するためにフレームバッファをコピーする方法及びシステム
EP2912546B1 (en) Performance enhancement in virtual desktop infrastructure (vdi)
US10200707B2 (en) Video bit stream decoding
US20140164605A1 (en) Method and system for visualizing an adaptive screen according to a terminal
CN105917382B (zh) 用于交互式图形流传输的方法和系统
US9300818B2 (en) Information processing apparatus and method
WO2018039482A1 (en) Network-enabled graphics processing module
WO2015078156A1 (zh) 一种图形数据的处理方法、装置及系统
US20160373772A1 (en) Efficient encoding of display data
GB2556262A (en) Management of memory for storing display data
US20130009981A1 (en) Transcoding detection and adjustment of content for optimal display
US20120113103A1 (en) Apparatus and method for executing 3d application program using remote rendering
CN109314792B (zh) 内容分发网络中的mpeg媒体传输集成的方法和设备
CN100536567C (zh) 一种矢量图形数据传输方法
CN113709493B (zh) 一种kvm系统的视频流数据加密装置、方法及设备
US9875076B1 (en) Remoting client having GPU off-loader
JP2013218665A (ja) 遠隔制御システム、クライアント装置及びサーバ装置
CN105610979B (zh) 一种基于虚拟化技术的网络资源传输系统及其方法
US20230412512A1 (en) Data traffic reduction for redundant data streams
EP2726995B1 (en) Methods, apparatuses and computer program products for improving network transmission by reducing memory copy overhead by providing direct access to data
US10015559B2 (en) Transcoding detection and adjustment of content for optimal display

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant