一种更新虚拟桌面的方法和装置的制造方法

文档序号:9754687阅读:227来源:国知局
一种更新虚拟桌面的方法和装置的制造方法
【技术领域】
[0001]本发明涉及云计算技术,尤指一种更新虚拟桌面的方法和装置。
【背景技术】
[0002]虚拟桌面是云计算的一个重要应用,与传统的PC机和笔记本相比,瘦客户端的桌面被运行在远程数据中心的虚拟桌面所代替。虚拟桌面中的内容以图像的方式回传到使用者的屏幕上。其中,瘦客户端是指在客户端-服务器网络体系中的一个基本无需应用程序的计算机终端。
[0003]现有的更新虚拟桌面的方法是:当虚拟桌面发生变化时,服务器将变化后的虚拟桌面对应的图像发送给瘦客户端。
[0004]现有的更新虚拟桌面的方法中,在虚拟桌面对应的图像发生部分变化时,服务器均要将变化后的虚拟桌面对应的整个图像信息发送给瘦客户端,从而对带宽的占用较大,造成了在更新虚拟桌面时对带宽的浪费。

【发明内容】

[0005]为了解决上述问题,本发明提出了一种更新虚拟桌面的方法和装置,能够减少更新虚拟桌面时对带宽的浪费,从而节约带宽。
[0006]为了达到上述目的,本发明提出了一种更新虚拟桌面的方法,应用于服务器,包括:
[0007]服务器接收到第一滚动命令时,计算第一滚动命令对应的第一偏移量;
[0008]将计算得到的第一偏移量和接收到的第一滚动命令中的第一滚动方向发送给瘦客户端;
[0009]服务器在预设时间内检测是否接收到第二滚动命令,如果没有接收到第二滚动命令,则服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息,将计算得到的第一新出现的像素信息发送给瘦客户端。
[0010]优选地,当所述服务器在预设时间内接收到第二滚动命令,该方法还包括:
[0011]所述服务器将所述当前活动窗口的滚动区域对应的第二图像进行缓存,并根据所述第二图像和所述第一图像,判断出所述当前活动窗口的滚动区域发生变化,根据所述第二图像和所述第一图像计算第二偏移量,将计算得到的第二偏移量和所述第二滚动命令中的第二滚动方向发送给所述瘦客户端;
[0012]所述服务器继续执行在预设时间内检测是否接收到第三滚动命令的步骤。
[0013]优选地,当所述服务器根据所述第二图像和所述第一图像,判断出所述当前活动窗口的滚动区域没有发生变化时,该方法还包括:
[0014]所述服务器根据所述第二图像和所述上一次发送给瘦客户端的图像计算第二新出现的像素信息,将计算得到的第二新出现的像素信息发送给所述瘦客户端。
[0015]优选地,所述计算第一滚动命令对应的偏移量包括:
[0016]将当前活动窗口的滚动区域对应的第一图像进行缓存;
[0017]根据本次缓存的第一图像和上一次发送给瘦客户端的图像,判断出当前活动窗口的滚动区域发生变化时,根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算所述第一偏移量。
[0018]优选地,所述服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像,判断当前活动窗口的滚动区域是否发生变化包括:
[0019]将所述上一次发送给瘦客户端的图像的每一行或列与所述第一图像对应的行或列进行匹配,若均能够匹配,则判断出所述当前活动窗口的滚动区域没有发生变化;如果所述上一次发送给瘦客户端的图像的某一行或列与所述第一图像对应的行或列不能匹配,则判断出所述当前活动窗口的滚动区域发生变化。
[0020]优选地,所述根据第一图像和上一次发送给瘦客户端的图像计算第一偏移量包括:
[0021]根据所述第一滚动方向判断出所述滚动区域对应的图像是下移或左移,将所述上一次发送给瘦客户端的图像的第I行或列与所述第一图像的第η行或列进行匹配,若能够匹配,则将所述上一次发送给瘦客户端的图像的第2到(2+χ)行或列与所述第一图像的第(η+1)到(n+1+x)行或列进行匹配,若均能够匹配,则所述第一偏移量为(η-1);
[0022]其中,η为正整数,X为大于2的正整数。
[0023]优选地,当所述上一次发送给瘦客户端的图像的第I行或列与所述第一图像的第η行或列不能匹配时,该方法还包括:
[0024]继续将所述上一次发送给瘦客户端的图像的第I行或列与所述第一图像的第(η+1)行或列进行匹配。
[0025]优选地,所述根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一偏移量包括:
[0026]根据所述第一滚动方向判断出所述滚动区域对应的图像是上移或右移,将所述上一次发送给瘦客户端的图像的第m行或列与所述第一图像的第η行或列进行匹配,若能够匹配,则将所述上一次发送给瘦客户端的图像的第(m-1-x)到(m-Ι)行或列与所述第一图像的第(n-1-x)到(η-1)行或列进行匹配,若均能够匹配,则所述第一偏移量为(m-n);
[0027]其中,η为正整数,X为大于2的正整数,m为上一次发送给瘦客户端的图像的总行或列数。
[0028]优选地,当所述上一次发送给瘦客户端的图像的第m行或列与所述第一图像的第η行或列不能匹配时,该方法还包括:
[0029]继续将所述上一次发送给瘦客户端的图像的第m行或列与所述第一图像的第(η-1)行或列进行匹配。
[0030]优选地,所述服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息包括:
[0031]根据所述第一滚动方向判断出所述滚动区域对应的图像是下移或左移,将所述上一次发送给瘦客户端的图像的第I行与所述第一图像的第η行进行匹配,若能够匹配,则所述第一新出现的像素信息为所述第一图像的第I到第(η-1)行或列;若不能匹配,则继续将所述上一次发送给瘦客户端的图像的第I行或列与所述第一图像的第(η+1)行或列进行匹配;若所述上一次发送给瘦客户端的图像的第I行或列与所述第一图像的所有行均不能匹配,则所述第一新出现的像素信息为所述第一图像;其中,η为正整数,X为大于2的正整数。
[0032]优选地,所述服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息包括:
[0033]根据所述第一滚动方向判断出所述滚动区域对应的图像是上移或右移,将所述上一次发送给瘦客户端的图像的第m行或列与所述第一图像的第η行或列进行匹配,若能够匹配,则所述第一新出现的像素信息为第一图像的第η到第m行或列;若不能匹配,则继续将所述上一次发送给瘦客户端的图像的第m行或列与所述第一图像的第(η-1)行或列进行匹配;若所述上一次发送给瘦客户端的图像的第m行或列与所述第一图像的所有行或列均不能匹配,则所述第一新出现的像素信息为第一图像;其中,m为上一次发送给瘦客户端的图像的总行或列数。
[0034]优选地,所述根据第二图像和第一图像计算第二偏移量包括:
[0035]根据所述第二滚动方向判断出所述滚动区域对应的图像是下移或左移,将所述第一图像的第I行或列与所述第二图像的第η行或列进行匹配,若能够匹配,则将所述第二图像的第2到(2+χ)行或列与所述第一图像的第(η+1)到(n+1+x)行或列进行匹配,若均能够匹配,则所述第二偏移量为(η-1);
[0036]其中,η为正整数,X为大于2的正整数。
[0037]优选地,当所述第一图像的第I行或列与所述第二图像的第η行或列不能匹配时,该方法还包括:
[0038]继续将所述第一图像的第I行或列与所述第二图像的第(η+1)行或列进行匹配。
[0039]优选地,所述根据第二图像和第一图像计算第二偏移量包括:
[0040]根据所述第二滚动方向判断出所述滚动区域对应的图像是上移或右移,将所述第一图像的第m行或列与所述第二图像的第η行或列进行匹配,若能够匹配,则将所述第一图像的第(m-1-x)到(m-Ι)行或列与所述第二图像的第(n-1-x)到(n_l)行或列进行匹配,若均能够匹配,则所述第二偏移量为(m-n)。其中,η为正整数,X为大于2的正整数,m为所述第一图像的总行或列数。
[0041]优选地,当所述第一图像的第m行或列与所述第二图像的第η行或列不能匹配,该方法还包括:
[0042]继续将所述第一图像的第m行或列与所述第二图像的第(η-1)行或列进行匹配。
[0043]优选地,当虚拟桌面中的一个窗口由非活动窗口变为所述当前活动窗口时,该方法还包括:
[0044]所述服务器获取当前获得窗口的应用类型,在自身保存的应用类型中查找所述当活动前窗口的应用类型,若查找到,则所述服务器将所述当前活动窗口的滚动区域对应的图像进行缓存,并发送给所述瘦客户端。
[0045]本发明还提出了一种更新虚拟桌面的方法,应用于瘦客户端,包括:
[0046]瘦客户端接收到来自服务器的第一偏移量和第一滚动方向或第二偏移量和第二滚动方向,根据接收到的第一滚动方向或第二滚动方向判断出当前活动窗口的滚动区域是下移或上移,将滚动区域均匀下移或上移,直到下移或上移的行数与接收到的第一偏移量或第二偏移量相等。
[0047]优选地,当根据所述接收到的第一滚动方向或第二滚动方向判断出所述当前活动窗口的滚动区域是左移或右移时,该方法还包括:
[0048]将所述滚动区域均匀左移或右移,直到左移或右移的列数与所述接收到的第一偏移量或第二偏移量相等。
[0049]优选地,当所述瘦客户端接收到来自所述服务器的第一新出现的像素信息或第二新出现的像素信息时,该方法还包括:
[0050]将接收的第一新出现的像素信息或第二新出现的像素信息在上移或下移或左移或右移过程中新出现的像素上进行显示。
[0051]本发明还提出了一种更新虚拟桌面的装置,至少包括:
[0052]计算模块,用于接收到第一滚动命令时,计算第一滚动命令对应的第一偏移量;在预设时间内检测是否接收到第二滚动命令;如果没有接收到第二滚动命令,则根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息;
[0053]发送模块,用于将计算得到的第一偏移量和接收到的第一滚动命令中的第一滚动方向发送给瘦客户端;将计算得到的第一新出现的像素信息发送给瘦客户端。
[0054]优选地,所述计算模块还用于:
[0055]在预设时间内接收到第二滚动命令,将所述当前活动窗口的滚动区域对应的第二图像进行缓存;并根据所述第二图像和所述第一图像,判断出所述当前活动窗口的滚动区域发生变化,根据所述第二图像和所述第一图像计算第二偏移量;
[0056]在所述发送模块将计算得到的第二偏移量和所述第二滚动命令中的第二滚动方向发送给瘦客户端后,所述计算模块还用于:
[0057]继续在预设时间内检测是否接收到第三滚动命令;
[0058]所述发送模块还用于:
[0059]将计算得到的第二偏移量和所述第二滚动方向发送给所述瘦客户端。
[0060]优选地,所述计算模块还用于:
[0061]根据所述第二图像和所述第一图像,判断出所述当前活动窗口的滚动区域没有发生变化,根据所述第二图像和所述上一次发送给瘦客户端的图像计算第二新出现的像素信息;
[0062]所述发送模块还用于:
[0063]将计算得到的第二新出现的像素信息发送给所述瘦客户端。
[0064]优选地,所述计算模块计算第一滚动命令对应的第一偏移量的功能具体用于:
[0065]将当前活动窗口的滚动区域对应的第一图像进行缓存;服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像,判断出当前活动窗口的滚动区域发生变化时,根据本次缓存的第一图像和上一次发送给瘦客
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1