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

文档序号:9754687阅读:来源:国知局
收到第二滚动命令,服务器将当前活动窗口的滚动区域对应的第二图像进行缓存,并根据第二图像和第一图像,判断出当前活动窗口的滚动区域发生变化,根据第二图像和第一图像计算第二偏移量,将计算得到的第二偏移量和第二滚动命令中的第二滚动方向发送给所述瘦客户端;服务器继续执行在预设时间内检测是否接收到第三滚动命令的步骤。
[0120]其中,当服务器根据第二图像和所述第一图像,判断出当前活动窗口的滚动区域没有发生变化时,服务器根据第二图像和上一次发送给瘦客户端的图像计算第二新出现的像素信息,将计算得到的第二新出现的像素信息发送给瘦客户端。
[0121]本步骤中,服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息包括:
[0122]根据第一滚动方向判断出滚动区域对应的图像是下移(或左移),将上一次发送给瘦客户端的图像的第I行(或列)与本次缓存的第一图像的第η行(或列)进行匹配,若能够匹配,则第一新出现的像素信息为本次缓存的图像的第I到第(η-1)行(或列);若不能匹配,则继续将上一次发送给瘦客户端的图像的第I行(或列)与本次缓存的第一图像的第(η+1)行(或列)进行匹配;若上一次发送给瘦客户端的图像的第I行(或列)与本次缓存的第一图像的所有行均不能匹配,则第一新出现的像素信息为本次缓存的图像。其中,η为正整数,χ为大于2的正整数。
[0123]根据第一滚动方向判断出滚动区域对应的图像是上移(或右移),将上一次发送给瘦客户端的图像的第m行(或列)与本次缓存的第一图像的第η行(或列)进行匹配,若能够匹配,则第一新出现的像素信息为本次缓存的图像的第η到第m行(或列);若不能匹配,则继续将上一次发送给瘦客户端的第一图像的第m行(或列)与本次缓存的图像的第(n-1)行(或列)进行匹配;若上一次发送给瘦客户端的图像的第m行(或列)与本次缓存的第一图像的所有行均不能匹配,则第一新出现的像素信息为本次缓存的图像。其中,m为上一次发送给瘦客户端的图像的总行(或列)数。
[0124]本步骤中,如果接收到第二滚动命令,则服务器将当前活动窗口的滚动区域对应的第二图像进行缓存,并根据第二图像和第一图像,判断出当前活动窗口的滚动区域发生变化,根据第二图像和第一图像计算第二偏移量,将计算得到的第二偏移量和第二滚动方向发送给瘦客户端;服务器继续执行在预设时间内检测是否接收到第三滚动命令的步骤。
[0125]其中,如果根据第二图像和第一图像,判断出当前活动窗口的滚动区域没有发生变化,则服务器根据第二图像和上一次发送给瘦客户端的图像计算第二新出现的像素信息,将计算得到的第二新出现的像素信息发送给瘦客户端。
[0126]其中,服务器根据本次缓存的第二图像和第一图像,判断当前活动窗口的滚动区域是否发生变化包括:
[0127]将第二图像的每一行(或列)与本次缓存的第一图像对应的行(或列)进行匹配,若均能够匹配,则判断出当前活动窗口的滚动区域没有发生变化;如果第二图像的某一行(或列)与本次缓存的第一图像对应的行(或列)不能匹配,则判断出当前活动窗口的滚动区域发生变化。
[0128]其中,第二图像的某一行与本次缓存的第一图像对应的行能够匹配是指第二图像的某一行(或列)的每一个像素与本次缓存的第一图像对应的行(或列)对应的像素均相同。
[0129]其中,根据第二图像和第一图像计算第二偏移量包括:
[0130]根据第二滚动方向判断出滚动区域对应的图像是下移(或左移),将第一图像的第I行(或列)与第二图像的第η行(或列)进行匹配,若能够匹配,则将第一图像的第2到(2+χ)行(或列)与第二图像的第(η+1)到(n+1+x)行(或列)进行匹配,若均能够匹配,贝Il第二偏移量为(n-1)。
[0131]其中,第一图像的第I行(或列)与第二图像的第η行(或列)能够匹配是指第一图像的第I行(或列)的每一个像素与第二图像的第η行(或列)对应的像素均相同。
[0132]其中,若第一图像的第I行(或列)与第二图像的第η行(或列)不能匹配,则继续将第一图像的第I行(或列)与第二图像的第(η+1)行(或列)进行匹配。
[0133]根据第二滚动方向判断出滚动区域对应的图像是上移(或右移),将第一图像的第m行(或列)与第二图像的第η行(或列)进行匹配,若能够匹配,则将第一图像的第(m-1-x)到(m-Ι)行(或列)与第二图像的第(n-1-x)到(n_l)行(或列)进行匹配,若均能够匹配,则第二偏移量为(m-n)。其中,η为正整数,χ为大于2的正整数,m为第一图像的总行(或列)数。
[0134]其中,若第一图像的第m行(或列)与第二图像的第η行(或列)不能匹配,则继续将第一图像的第m行(或列)与第二图像的第(η-1)行(或列)进行匹配。
[0135]本发明的方法中,当虚拟桌面中的一个窗口由非活动窗口变为当前活动窗口时,还包括:
[0136]服务器获取当前获得窗口的应用类型,在自身保存的应用类型中查找当活动前窗口的应用类型,若查找到,则服务器将当前活动窗口的滚动区域对应的图像进行缓存,并发送给瘦客户端。
[0137]其中,若查找不到,则采用现有的方法将变化后的屏幕对应的图像发送给瘦客户端。
[0138]其中,可以从当前活动窗口标题中的字符串获取当前获得窗口的应用类型。
[0139]其中,应用类型可以是Microsoft Word、或Microsoft Excel、或记事本或浏览器坐寸ο
[0140]本发明提出了一种更新虚拟桌面的方法,应用于瘦客户端,包括:
[0141]瘦客户端接收到来自服务器的第一偏移量和第一滚动方向或第二偏移量和第二滚动方向,根据接收到的第一滚动方向或第二滚动方向判断出当前活动窗口的滚动区域是下移(或上移),将滚动区域均匀下移(或上移),直到下移(或上移)的行数与接收到的第一偏移量或第二偏移量相等。
[0142]其中,若根据接收到的第一滚动方向或第二滚动方向判断出当前活动窗口的滚动区域是右移(或左移),则将滚动区域均匀右移(或左移),直到右移(或左移)的列数与接收到的第一偏移量或第二偏移量相等。
[0143]其中,下移(或上移)过程中,滚动区域上面(或上面)的新出现的像素采用纯色(例如白色)填补,左移(或右移)过程中,滚动区域左面(或右面)的新出现的像素采用纯色(例如白色)填补。
[0144]当瘦客户端接收到来自服务器的第一新出现的像素信息或第二新出现的像素信息时,该方法还包括:
[0145]将接收的第一新出现的像素信息或第二新出现的像素信息在上移或下移或左移或右移过程中新出现的像素上进行显示。
[0146]下面通过具体实施例详细说明本发明的方法,参见图2,该方法包括:
[0147]步骤200、服务器接收到第一滚动命令时,计算第一滚动命令对应的第一偏移量。
[0148]步骤201、服务器将计算得到的第一偏移量和接收到的第一滚动命令中的第一滚动方向发送给瘦客户端。
[0149]步骤202、瘦客户端接收到第一偏移量和第一滚动方向,根据接收到的第一滚动方向判断出当前活动窗口的滚动区域是上移或下移,将滚动区域均匀上移或下移,直到上移或下移的行数与接收到的第一偏移量相等。
[0150]本步骤中,当根据接收到的第一滚动方向判断出当前活动窗口的滚动区域是左移或右移,将滚动区域均匀左移或右移,直到左移或右移的行数与接收到的第一偏移量相等。
[0151]步骤203、服务器在预设时间内检测是否接收到第二滚动命令,如果没有接收到第二滚动命令,则执行步骤204 ;如果接收到第二滚动命令,则执行步骤206。
[0152]步骤204、服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息,将计算得到的第一新出现的像素信息发送给瘦客户端。
[0153]步骤205、瘦客户端将接收到的第一新出现的像素信息在上移或下移或左移或右移过程中新出现的像素上进行显示。
[0154]步骤206、服务器将当前活动窗口的滚动区域对应的第二图像进行缓存,并根据第二图像和第一图像,判断出当前活动窗口的滚动区域是否发生变化,如果发生变化,则执行步骤207 ;如果不发生变化,则执行步骤209。
[0155]步骤207、根据第二图像和第一图像计算第二偏移量,将计算得到的第二偏移量和第二滚动命令中的第二滚动方向发送给所述瘦客户端;并执行步骤203。
[0156]步骤208、瘦客户端接收到第二偏移量和第二滚动方向,根据接收到的第二滚动方向判断出当前活动窗口的滚动区域是上移或下移,将滚动区域均匀上移或下移,直到上移或下移的行数与接收到的第二偏移量相等。
[0157]本步骤中,当根据接收到的第二滚动方向判断出当前活动窗口的滚动区域是左移或右移,将滚动区域均匀左移或右移,直到左移或右移的行数与接收到的第二偏移量相等。
[0158]步骤209、服务器根据第二图像和上一次发送给瘦客户端的图像计算第二新出现的像素信息,将计算得到的第二新出现的像素信息发送给瘦客户端。
[0159]步骤210、瘦客户端将接收到的第二新出现的像素信息在上移或下移或左移或右移过程中新出现的像素上进行显示。
[0160]参见图3,本发明还提出了一种更新虚拟桌面的装置,至少包括:
[0161]计算模块300,用于接收到第一滚动命令时,计算第一滚动命令对应的第一偏移量;在预设时间内检测是否接收到第二滚动命令;如果没有接收到第二滚动命令,则根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算第一新出现的像素信息;
[0162]发送模块301,用于将计算得到的第一偏移量和接收到的第一滚动命令中的第一滚动方向发送给瘦客户端;将计算得到的第一新出现的像素信息发送给瘦客户端。
[0163]本发明的装置中,计算模块300还用于:
[0164]在预设时间内接收到第二滚动命令,将所述当前活动窗口的滚动区域对应的第二图像进行缓存;并根据所述第二图像和所述第一图像,判断出所述当前活动窗口的滚动区域发生变化,根据所述第二图像和所述第一图像计算第二偏移量;
[0165]在所述发送模块301将计算得到的第二偏移量和所述第二滚动命令中的第二滚动方向发送给瘦客户端后,所述计算模块300还用于:
[0166]继续在预设时间内检测是否接收到第三滚动命令;
[0167]所述发送模块301还用于:
[0168]将计算得到的第二偏移量和所述第二滚动方向发送给所述瘦客户端。
[0169]本发明的装置中,计算模块300还用于:
[0170]根据第二图像和第一图像,判断出当前活动窗口的滚动区域没有发生变化,根据第二图像和上一次发送给瘦客户端的图像计算第二新出现的像素信息;
[0171]发送模块301还用于:
[0172]将计算得到的第二新出现的像素信息发送给瘦客户端。
[0173]本发明的装置中,计算模块300计算第一滚动命令对应的第一偏移量的功能具体用于:
[0174]将当前活动窗口的滚动区域对应的第一图像进行缓存;服务器根据本次缓存的第一图像和上一次发送给瘦客户端的图像,判断出当前活动窗口的滚动区域发生变化时,根据本次缓存的第一图像和上一次发送给瘦客户端的图像计算所述第一偏移量。
[0175]本发明的装置中,所述计算模块300根据第一图像和上一次发送给瘦客户端的图像,判断当前活动窗口的滚动区域是否发生变化的功能具体用于:
[0176]将所述上一次发送给瘦客户端的图像的每一行或列与所述第一图像对应的行或列
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1