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

文档序号:9754687阅读:来源:国知局
户端的图像计算所述第一偏移量。
[0066]优选地,所述计算模块根据第一图像和上一次发送给瘦客户端的图像,判断当前活动窗口的滚动区域是否发生变化的功能具体用于:
[0067]将所述上一次发送给瘦客户端的图像的每一行或列与所述第一图像对应的行或列进行匹配,若均能够匹配,则判断出所述当前活动窗口的滚动区域没有发生变化;如果所述上一次发送给瘦客户端的图像的某一行或列与所述第一图像对应的行或列不能匹配,则判断出所述当前活动窗口的滚动区域发生变化。
[0068]优选地,所述计算模块根据第一图像和上一次发送给瘦客户端的图像计算第一偏移量的功能具体用于:
[0069]根据所述第一滚动方向判断出所述滚动区域对应的图像是下移或左移,将所述上一次发送给瘦客户端的图像的第I行或列与所述第一图像的第η行或列进行匹配,若能够匹配,则将所述上一次发送给瘦客户端的图像的第2到(2+χ)行或列与所述第一图像的第(η+1)到(n+1+x)行或列进行匹配,若均能够匹配,则所述第一偏移量为(η-1);
[0070]其中,η为正整数,X为大于2的正整数。
[0071]优选地,所述计算模块根据第一图像和上一次发送给瘦客户端的图像计算偏第一移量的功能具体用于:
[0072]根据所述第一滚动方向判断出所述滚动区域对应的图像是上移或右移,将所述上一次发送给瘦客户端的图像的第m行或列与所述第一图像的第η行或列进行匹配,若能够匹配,则将所述上一次发送给瘦客户端的图像的第(m-1-x)到(m-Ι)行或列与所述第一图像的第(n-1-x)到(η-1)行或列进行匹配,若均能够匹配,则所述第一偏移量为(m-n);
[0073]其中,η为正整数,X为大于2的正整数,m为上一次发送给瘦客户端的图像的总行或列数。
[0074]优选地,所述计算模块根据第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息的功能具体用于:
[0075]根据所述第一滚动方向判断出所述滚动区域对应的图像是下移或左移,将所述上一次发送给瘦客户端的图像的第I行或列与所述第一图像的第η行或列进行匹配,若能够匹配,则所述第一新出现的像素信息为所述第一图像的第I到第(η-1)行或列;若不能匹配,则继续将所述上一次发送给瘦客户端的图像的第I行或列与所述第一图像的第(η+1)行或列进行匹配;若所述上一次发送给瘦客户端的图像的第I行或列与所述第一图像的所有行或列均不能匹配,则所述第一新出现的像素信息为所述第一图像;其中,η为正整数,X为大于2的正整数。
[0076]优选地,所述计算模块根据第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息的功能具体用于:
[0077]根据所述第一滚动方向判断出所述滚动区域对应的图像是上移或右移,将所述上一次发送给瘦客户端的图像的第m行或列与所述第一图像的第η行或列进行匹配,若能够匹配,则所述第一新出现的像素信息为第一图像的第η到第m行或列;若不能匹配,则继续将所述上一次发送给瘦客户端的图像的第m行或列与所述第一图像的第(η-1)行或列进行匹配;若所述上一次发送给瘦客户端的图像的第m行或列与所述第一图像的所有行或列均不能匹配,则所述第一新出现的像素信息为第一图像;其中,m为上一次发送给瘦客户端的图像的总行或列数。
[0078]优选地,所述计算模块根据第二图像和第一图像计算第二偏移量的功能具体用于:
[0079]根据所述第二滚动方向判断出所述滚动区域对应的图像是下移或左移,将所述第一图像的第I行或列与所述第二图像的第η行或列进行匹配,若能够匹配,则将所述第一图像的第2到(2+χ)行或列与所述第二图像的第(η+1)到(n+1+x)行或列进行匹配,若均能够匹配,则所述第二偏移量为(η-1);
[0080]其中,η为正整数,X为大于2的正整数。
[0081]优选地,所述计算模块根据第二图像和第一图像计算第二偏移量的功能具体用于:
[0082]根据所述第二滚动方向判断出所述滚动区域对应的图像是上移或右移,将所述第一图像的第m行或列与所述第二图像的第η行或列进行匹配,若能够匹配,则将所述第一图像的第(m-1-x)到(m-Ι)行或列与所述第二图像的第(n-1-x)到(n_l)行或列进行匹配,若均能够匹配,则所述第二偏移量为(m-n)。其中,η为正整数,χ为大于2的正整数,m为所述第一图像的总行或列数。
[0083]优选地,所述计算模块还用于:
[0084]检测到虚拟桌面中的一个窗口由非活动窗口变为所述当前活动窗口,获取当前获得窗口的应用类型,在自身保存的应用类型中查找所述当活动前窗口的应用类型,若查找至IJ,则将所述当前活动窗口的滚动区域对应的图像进行缓存,并发送给所述瘦客户端。
[0085]本发明还提出了一种更新虚拟桌面的装置,至少包括:
[0086]接收模块,用于接收到来自服务器的第一偏移量和第一滚动方向或第二偏移量和第二滚动方向;
[0087]移动模块,用于根据接收到的第一滚动方向或第二滚动方向判断出当前活动窗口的滚动区域是下移或上移,将滚动区域均匀下移或上移,直到下移或上移的行数与接收到的第一偏移量或第二偏移量相等。
[0088]优选地,所述移动模块还用于:
[0089]根据所述接收到的第一滚动方向或第二滚动方向判断出所述当前活动窗口的滚动区域是左移或右移,将所述滚动区域均匀左移或右移,直到左移或右移的列数与所述接收到的第一偏移量或第二偏移量相等。
[0090]优选地,所述接收模块还用于:
[0091]接收到来自所述服务器的第一新出现的像素信息或第二新出现的像素信息;
[0092]所述瘦客户端还包括:
[0093]显示模块,用于将接收的第一新出现的像素信息或第二新出现的像素信息在上移或下移或左移或右移过程中新出现的像素上进行显示。
[0094]与现有技术相比,本发明包括:服务器接收到第一滚动命令时,计算第一滚动命令对应的第一偏移量,将计算得到的第一偏移量和接收到的第一滚动命令中的第一滚动方向发送给瘦客户端;服务器在预设时间内检测是否接收到第二滚动命令,如果没有接收到第二滚动命令,则服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息,将计算得到的第一新出现的像素信息发送给瘦客户端。通过本发明的方案,服务器在接收到第一滚动命令时,只将第一偏移量和第一滚动方向发送给瘦客户端,然后在预设时间内继续检测是否接收到第二滚动命令,如果没有接收到第二滚动命令,则服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息,将计算得到的第一新出现的像素信息发送给瘦客户端,而不需要在每次接收到滚动命令时都将变化后的虚拟桌面对应的图像发送给瘦客户端,减少了虚拟桌面对带宽的浪费,从而节约了带宽。
【附图说明】
[0095]下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
[0096]图1为本发明的应用于服务器的更新虚拟桌面的方法的流程图;
[0097]图2为本发明的更新虚拟桌面的方法的实施例的流程图;
[0098]图3为本发明的更新虚拟桌面的装置的结构组成示意图;
[0099]图4为本发明的另一种更新虚拟桌面的装置的结构组成示意图。
【具体实施方式】
[0100]为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。
[0101]参见图1,本发明提出了一种更新虚拟桌面的方法,应用于服务器,包括:
[0102]步骤100、服务器接收到第一滚动命令时,计算第一滚动命令对应的第一偏移量。
[0103]本步骤中,计算第一滚动命令对应的第一偏移量包括:
[0104]将当前活动窗口的滚动区域对应的第一图像进行缓存;根据本次缓存的第一图像和上一次发送给瘦客户端的图像,判断出当前活动窗口的滚动区域发生变化,根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一偏移量。
[0105]本步骤中,第一滚动命令可以是鼠标中键命令、或鼠标移动和鼠标左键按下命令、或手指在触摸屏上的滑动等。第一滚动命令中还包括第一滚动方向。
[0106]本步骤中,如果服务器没有接收到滚动命令,则结束本流程。
[0107]其中,当判断出当前活动窗口的滚动区域没有发生变化,则结束本流程。
[0108]其中,服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像,判断当前活动窗口的滚动区域是否发生变化包括:
[0109]将上一次发送给瘦客户端的图像的每一行(或列)与本次缓存的第一图像对应的行(或列)进行匹配,若均能够匹配,则判断出当前活动窗口的滚动区域没有发生变化;如果上一次发送给瘦客户端的图像的某一行(或列)与本次缓存的第一图像对应的行(或列)不能匹配,则判断出当前活动窗口的滚动区域发生变化。
[0110]其中,上一次发送给瘦客户端的图像的某一行(或列)与本次缓存的第一图像对应的行(或列)能够匹配是指上一次发送给瘦客户端的图像的某一行(或列)的每一个像素与本次缓存的第一图像对应的行(或列)对应的像素均相同。
[0111]其中,根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一偏移量包括:
[0112]根据第一滚动方向判断出滚动区域对应的图像是下移(或左移),将上一次发送给瘦客户端的图像的第I行(或列)与本次缓存的第一图像的第η行进行匹配,若能够匹配,则将上一次发送给瘦客户端的图像的第2到(2+χ)行(或列)与本次缓存的第一图像的第(η+1)到(n+1+x)行(或列)进行匹配,若均能够匹配,则第一偏移量为(η-1)。其中,η为正整数,χ为大于2的正整数。
[0113]其中,上一次发送给瘦客户端的图像的第I行(或列)与本次缓存的第一图像的第η行(或列)能够匹配是指上一次发送给瘦客户端的图像的第I行(或列)的每一个像素与本次缓存的第一图像的第η行(或列)对应的像素均相同。
[0114]其中,若上一次发送给瘦客户端的图像的第I行(或列)与本次缓存的第一图像的第η行(或列)不能匹配,则继续将上一次发送给瘦客户端的图像的第I行(或列)与本次缓存的第一图像的第(η+1)行(或列)进行匹配。
[0115]根据第一滚动方向判断出滚动区域对应的图像是上移(或右移),将上一次发送给瘦客户端的图像的第m行(或列)与本次缓存的第一图像的第η行(或列)进行匹配,若能够匹配,则将上一次发送给瘦客户端的图像的第(m-1-x)到(m-Ι)行(或列)与本次缓存的第一图像的第(n-1-x)到(η-1)行(或列)进行匹配,若均能够匹配,则第一偏移量为(m-n)。其中,η为正整数,χ为大于2的正整数,m为上一次发送给瘦客户端的图像的总行(或列)数。
[0116]其中,若上一次发送给瘦客户端的图像的第m行(或列)与本次缓存的第一图像的第η行(或列)不能匹配,则继续将上一次发送给瘦客户端的图像的第m行(或列)与本次缓存的第一图像的第(η-1)行(或列)进行匹配。
[0117]步骤101、将计算得到的第一偏移量和接收到的第一滚动命令中的第一滚动方向发送给瘦客户端。
[0118]步骤102、服务器在预设时间内检测是否接收到第二滚动命令,如果没有接收到第二滚动命令,则服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息,将计算得到的第一新出现的像素信息发送给瘦客户端。
[0119]本步骤中,当服务器在预设时间内接
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1