CN102449604A - 虚拟桌面中分布处理的方法和*** - Google Patents

虚拟桌面中分布处理的方法和*** Download PDF

Info

Publication number
CN102449604A
CN102449604A CN2011800013542A CN201180001354A CN102449604A CN 102449604 A CN102449604 A CN 102449604A CN 2011800013542 A CN2011800013542 A CN 2011800013542A CN 201180001354 A CN201180001354 A CN 201180001354A CN 102449604 A CN102449604 A CN 102449604A
Authority
CN
China
Prior art keywords
desktop
virtual desktop
subregion
application
administration module
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.)
Granted
Application number
CN2011800013542A
Other languages
English (en)
Other versions
CN102449604B (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102449604A publication Critical patent/CN102449604A/zh
Application granted granted Critical
Publication of CN102449604B publication Critical patent/CN102449604B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例给出一种分布式虚拟桌面方法和***,该方法包括:虚拟桌面管理模块识别应用对应的应用窗口中的桌面子区域;所述虚拟桌面管理模块为所述桌面子区域选择虚拟桌面应用处理模块;所述虚拟桌面管理模块从为所述桌面子区域选择的所述虚拟桌面应用处理模块获取所述桌面子区域的像素数据;所述虚拟桌面管理模块将获取的所述桌面子区域的像素数据显示在虚拟桌面终端上,从而可以针对不同应用按照不同的桌面子区域分配虚拟桌面应用处理模块,避免了由于不同应用对处理能力的差异引起的计算能力资源的浪费。

Description

虚拟桌面中分布处理的方法和***
技术领域
本发明涉及IT领域,特别是一种虚拟桌面中分布处理的方法和***。
背景技术
当前的虚拟桌面***,***为用户分配处理能力(例如,计算能力,本申请后续内容以计算能力为例进行描述),对于单个用户,通常使用一种计算能力处理虚拟桌面中的所有应用。但是,在某些情况下,虚拟桌面用户打开多个应用或打开的单个应用中包括多个对象时,不同的应用或对象对计算能力的要求可能会差别很大(例如:当虚拟桌面用户通过虚拟桌面打开多个应用,并且打开的每个应用所处理的内容或者对象有可能对计算能力的要求差别较大,例如网页浏览和网络游戏对计算能力的要求就差别很大;或者,当虚拟桌面用户通过虚拟桌面打开一个应用,该应用需要处理多种内容或者对象,并且这些内容或者对象对计算能力的要求差别较大,例如网页中有文字部分,也有媒体播放窗口,文字处理和多媒体处理对计算能力的要求差别较大)。
当上述情况发生时,当前的虚拟桌面***只能为所有应用或者应用中的所有类型的内容或者对象分配相同的资源,如果虚拟桌面***按照最低处理能力要求分配资源则无法满足对处理能力要求高的内容或者对象的处理;如果虚拟桌面***按照最高要求分配资源则对于对处理能力要求低的内容或者对象来说会造成资源的浪费。
发明内容
本发明实施例提供了一种虚拟桌面中分布处理的方法和***,可以识别不同应用的桌面子区域,针对不同应用的桌面子区域分配虚拟桌面应用处理单元,避免了资源的浪费。
本发明实施例提供了一种虚拟桌面中分布处理的方法,包括:
虚拟桌面管理模块识别应用对应的应用窗口中的桌面子区域;
所述虚拟桌面管理模块为所述桌面子区域选择虚拟桌面应用处理模块;
所述虚拟桌面管理模块从为所述桌面子区域选择的所述虚拟桌面应用处理模块获取所述桌面子区域的像素数据;
所述虚拟桌面管理模块将获取的所述桌面子区域的像素数据显示在虚拟桌面终端上。
本发明实施例还提供了一种虚拟桌面中的分布处理***,所述***包括:虚拟桌面管理模块,至少一个虚拟桌面应用处理模块,其中,
虚拟桌面管理模块,用于识别应用对应的应用窗口中的桌面子区域,为所述桌面子区域选择虚拟桌面应用处理模块,从为所述桌面子区域选择的所述虚拟桌面应用处理模块获取所述桌面子区域的像素数据,将获取的所述桌面子区域的像素数据显示在虚拟桌面终端上;
所述至少一个虚拟桌面应用处理模块,用于为所述应用提供处理能力,并向所述虚拟桌面管理模块反馈所述桌面子区域的像素数据。
本发明实施例提供了一种虚拟桌面中分布处理的方法和***,通过在虚拟桌面***中引入虚拟桌面管理模块,识别应用对应的应用窗口中的桌面子区域,为不同的桌面子区域选择不同的虚拟桌面应用处理模块,由选择的虚拟桌面应用处理模块对桌面子区域进行处理并提供像素数据用以显示在虚拟桌面终端上,从而可以针对不同应用按照不同的桌面子区域分配虚拟桌面应用处理模块,避免了由于不同应用对处理能力需求的差异引起的资源的浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种虚拟桌面中分布处理的方法流程示意图;
图2是本发明实施例提供的虚拟桌面中分布处理的***架构示意图;
图3是本发明实施例提供的一种分布式虚拟桌面场景下的***架构示意图;
图4是本发明实施例提供的另一种虚拟桌面中分布处理的方法流程示意图;
图5是本发明实施例提供的一种分布刷新虚拟桌面的方法流程示意图;
图6是本发明实施例提供的另一种虚拟桌面中分布处理的消息流程示意图;
图7是本发明实施例提供的虚拟桌面中只打开应用-1窗口,并且应用-1窗口中含有一种内容对象的桌面状态示意图;
图8是本发明实施例提供的另一种虚拟桌面中分布处理的消息流程示意图;
图9是本发明实施例提供的虚拟桌面中只打开应用-1窗口,并且应用-1窗口中含有两种内容对象的的桌面状态示意图;
图10是本发明实施例提供的另一种虚拟桌面中分布处理的消息流程示意图;
图11是本发明实施例提供的虚拟桌面中打开应用-1窗口和应用-3窗口的桌面状态示意图;
图12是本发明实施例提供的另一种虚拟桌面中分布处理的消息流程示意图;
图13是本发明实施例提供的虚拟桌面中打开应用-1的显示区域遮挡应用-4的显示区域的部分区域的桌面状态示意图;
图14是本发明实施例提供的另一种虚拟桌面中分布处理的消息流程示意图;
图15是本发明实施例提供的一种虚拟桌面中的分布处理***架构示意图。
具体实施方式
如图1所示,为本发明实施例提供的一种虚拟桌面中分布处理的方法流程示意图,包括:
步骤101:虚拟桌面管理模块识别应用对应的应用窗口中的桌面子区域;
步骤102:所述虚拟桌面管理模块为所述桌面子区域选择虚拟桌面应用处理模块;
步骤103:所述虚拟桌面管理模块从为所述桌面子区域选择的所述虚拟桌面应用处理模块获取所述桌面子区域的像素数据;
步骤104:所述虚拟桌面管理模块将获取的所述桌面子区域的像素数据显示在虚拟桌面终端上。
本发明实施例提供了一种虚拟桌面中分布处理的方法,通过在虚拟桌面***中引入虚拟桌面管理模块,识别应用对应的应用窗口中的桌面子区域,为不同的桌面子区域选择不同的虚拟桌面应用处理模块,由选择的虚拟桌面应用处理模块对桌面子区域进行处理并提供像素数据用以显示在虚拟桌面终端上,从而可以针对不同应用按照不同的桌面子区域分配虚拟桌面应用处理模块,避免了由于不同应用对处理能力需求的差异引起的资源的浪费。
需要说明的是,本发明后续实施例以计算能力为例进行描述,但本领域技术人员了解的是,计算能力仅是处理能力的一种典型情况,并不意味着本申请的限定。
进一步需要说明的是,在现有技术中,应用中包括的不同对象可能对计算能力的需求也存在着差异,当把对计算能力有不同需求的对象分配到同一虚拟桌面应用处理模块时,也会造成计算能力的浪费。针对这种情况,本发明后续实施例进一步识别对象对应的桌面子区域,进而解决该问题,后续实施例将进行细致描述。
首先,对本发明实施例中的名称做出以下说明,本领域技术人员理解的是,下述解释仅是加强术语的理解,并不意味着下述术语仅限于解释所列出的内容:
本发明实施例中的终端,指的是所有具有显示功能的设备,包括但不限于:电脑显示器、电视、便携机、手机、瘦终端等等。
桌面指的是计算机***在终端显示设备上的显示区域。
应用指的是计算机***中或者网络设备中能够被用户使用或者访问的程序或者服务例如:Office应用程序、各类网站、本地游戏、网络游戏、多媒体下载服务、网络聊天服务以及其他类的网络服务等。
应用窗口指的是应用呈现给用户的界面。
应用的显示区域指的是应用窗口在终端屏幕上显示时占据的屏幕区域。
对象指的是终端上能够显示的各种内容,对象的类别可以是文本、视频、flash动画、游戏、图标或网页中的超链接等;对象的显示区域指的是对象在终端屏幕上显示时占据的屏幕区域;对象的内容就是用来处理、显示、传递对象所需的数据,例如:文本内容,视频帧数据,游戏数据。
应用的显示信息至少包括下列信息中的一种:
1)应用的显示区域信息,例如:应用窗口的显示位置(显示坐标)、应用窗口的绝对尺寸(长宽)、应用窗口的相对尺寸(相对于之前应用窗口的变化量),应用窗口是否最小化、应用窗口是否最大化、应用窗口是否全屏等等;
2)对象的类别,例如:网页、视频、flash动画、游戏等;
3)对象的显示区域信息,例如:对象的显示位置(显示坐标),对象的绝对尺寸(长宽),对象的相对尺寸(相对于之前对象显示区域的变化量),对象是否最小化、对象是否最大化、对象是否全屏等;
4)对象的内容。
桌面子区域指的是桌面的任何显示区域,桌面子区域可以包括下列显示区域的一种或者多种:
应用的显示区域;
应用的显示区域的部分区域;
对象的显示区域;
对象的显示区域的部分区域。
总之,桌面子区域可以是根据任何规则划分的桌面的任何显示区域,可以用来区分不同的应用或对象。
桌面子区域的显示信息至少包括下列信息中的一种:
1)应用的类别;
2)应用的显示区域信息;
3)应用的内容;
4)对象的类别;
5)对象的显示区域信息;
6)对象的内容。
应用区域对照表是桌面的显示区域与对应应用的对照关系,可以采用表、树等形式,本发明对具体的存储方式并不进行限定。
桌面显示像素数据指的是用来显示整个桌面或者部分桌面的像素数据。
桌面子区域的像素数据指的是可以用来显示桌面子区域的像素数据。
输入事件指的是虚拟桌面终端向网络发送的携带用户桌面操作相关信息的消息,输入事件至少包括下列信息中的一种:
1)按键的标识信息,按的哪个键,包括:键盘、鼠标、游戏手柄等所有用户可操作的输入设备上的按钮、操作杆等操作部件;
2)按键是按下去还是松开的标识信息;
3)位置信息,例如:鼠标的位置(显示坐标),光标的位置(显示坐标),输入焦点的位置(显示坐标)等等;
4)鼠标点击间隔时间;
5)滚轮的移动信息;
6)触摸屏被触摸的位置信息、触摸点的变化信息、触摸点的力度信息等。
输入事件对应的应用指的是接受输入事件的应用。
输入事件对应的对象指的是被输入事件操作的目标对象。
改变的应用窗口指的是窗口位置或者窗口大小发生变化的应用窗口。改变的应用窗口可以是一个应用窗口,也可以是多个应用窗口。
受影响的应用窗口指的是由于改变的应用窗口的改变、或者新的应用窗口的出现而遮挡或者显现的应用窗口。受影响的应用窗口可以是一个应用窗口,也可以是多个应用窗口。
远端应用服务器可以是任何一种可以通过网络访问的设备,例如:网站服务器、网络游戏服务器或网络视频服务器等。
图2是本发明实施例提供的虚拟桌面中分布处理的***架构示意图,本发明实施例即基于上述***架构。
图3是本发明实施例提供的一种分布式虚拟桌面场景下的***架构示意图,用来展示分布式虚拟桌面***在具体实施的时候有可能呈现的状态。
如图4所示,为本发明实施例提供的另一种虚拟桌面中分布处理的方法流程示意图,该分布处理虚拟桌面的方法包括:
步骤311:虚拟桌面管理模块接收到远端应用服务器发送的应用的显示信息。
步骤312:虚拟桌面管理模块识别桌面子区域;
具体的,虚拟桌面管理模块将所述应用中的每个对象的显示区域、应用中的每种对象的显示区域、应用中的对处理能力(例如,计算能力)需求相同或相近的多种对象的显示区域或者由用户或者虚拟桌面服务提供商制定的规则决定的应用中的多种对象的显示区域识别为一个或者多个桌面子区域,所述桌面子区域可以是一个对象的显示区域或者多个对象的显示区域的集合,还可以是一个对象的显示区域的部分区域。
步骤313:虚拟桌面管理模块为所述桌面子区域选择虚拟桌面应用处理模块;
具体的,虚拟桌面管理模块根据所述桌面子区域中的对象的类型和/或桌面子区域中的对象对处理能力(例如,计算能力)的要求选择虚拟桌面应用处理模块,例如:为包含有网页文字对象的桌面子区域选择具有网页处理功能的虚拟桌面应用处理模块;为包含有视频对象的桌面子区域选择具有视频处理能力的虚拟桌面应用处理模块;为包含有游戏对象的桌面子区域选择具有游戏处理能力的虚拟桌面应用处理模块。另一方面,本领域技术人员可以理解的是,虚拟桌面管理模块还可以根据***负载或者随机选择虚拟桌面应用处理模块。
其中,所述虚拟桌面应用处理模块可以是虚拟桌面管理模块新分配的,也可以是虚拟桌面管理模块之前分配的;另一方面,虚拟桌面管理模块可以总是为桌面子区域选择新分配的虚拟桌面应用处理模块,或,虚拟桌面管理模块可以总是为桌面子区域选择同一个虚拟桌面应用处理模块。
进一步的,虚拟桌面管理模块可以使用下列方法判断是否为桌面子区域选择新分配虚拟桌面应用处理模块:
方法一:如果虚拟桌面管理模块没有为所述桌面子区域或者没有为所述桌面子区域中的对象分配过虚拟桌面应用处理模块,则虚拟桌面管理模块为桌面子区域或桌面子区域中的对象重新分配虚拟桌面应用处理模块;如果虚拟桌面管理模块之前曾经为所述桌面子区域或者为所述桌面子区域中的对象分配过虚拟桌面应用处理模块,则选择之前为所述桌面子区域或者所述桌面子区域中的对象分配的虚拟桌面应用处理模块;或者
方法二:如果桌面子区域中的对象的类型发生变化,则虚拟桌面管理模块为桌面子区域或桌面子区域中的对象重新分配虚拟桌面应用处理模块,如果桌面子区域中的对象的类型没有变化,则虚拟桌面管理模块选择之前为所述桌面子区域或者为所述桌面子区域中的对象分配的虚拟桌面应用处理模块。
步骤314:虚拟桌面管理模块从所述虚拟桌面应用处理模块获取所述桌面子区域的像素数据;
具体的,虚拟桌面管理模块向所选择的虚拟桌面应用处理模块发送桌面子区域的显示信息,虚拟桌面应用处理模块向虚拟桌面管理模块反馈桌面子区域的像素数据。虚拟桌面应用处理模块可以采用渲染的方式,根据所述桌面子区域的显示信息生成像素数据。像素数据的生成可以采用现有技术中的多种方式,本发明对此并不进行限定。
步骤315:虚拟桌面管理模块将所述桌面子区域的像素数据显示在虚拟桌面终端上;
具体的,虚拟桌面管理模块向虚拟桌面终端发送桌面显示像素数据,虚拟桌面管理模块用桌面子区域的像素数据生成整个虚拟桌面的像素数据,将生成的整个虚拟桌面像素数据作为桌面显示像素数据发送给虚拟桌面终端;或者虚拟桌面管理模块将桌面子区域的像素数据作为桌面显示像素数据发送给虚拟桌面终端。虚拟桌面终端将接收到的桌面显示像素数据显示在虚拟桌面终端的屏幕上。
需要说明的是,显存(即一块特殊的内存)中可以存储整个桌面的像素数据,每个桌面子区域在该显存中都对应相应的地址段,桌面管理模块把收到的桌面子区域的像素数据写入相应的地址段,当所有的桌面子区域的像素数据都写入显存后,即完成整个虚拟桌面像素数据的生成。
更进一步的,本发明实施例对所示方法中各模块的功能进行说明如下:
虚拟桌面管理模块的功能为:
1)接收到远端应用服务器发送的应用的显示信息;
2)接收虚拟终端发送的输入操作;
3)识别桌面子区域;
4)为所述桌面子区域选择虚拟桌面应用处理模块;
5)从所述虚拟桌面应用处理模块获取所述桌面子区域的像素数据,具体为:
A)向所选择的虚拟桌面应用处理模块发送桌面子区域的显示信息;
B)接收虚拟桌面应用处理模块向虚拟桌面管理模块反馈桌面子区域的像素数据。
6)将所述桌面子区域的像素数据显示在虚拟桌面终端上,具体为:向虚拟桌面终端发送桌面显示像素数据,虚拟桌面管理模块用桌面子区域的像素数据生成整个虚拟桌面的像素数据,将生成的整个虚拟桌面像素数据作为桌面显示像素数据发送给虚拟桌面终端;或者虚拟桌面管理模块将桌面子区域的像素数据作为桌面显示像素数据发送给虚拟桌面终端。
虚拟桌面应用处理模块的功能为:
1)接收虚拟桌面管理模块发送的桌面子区域的显示信息;
2)向虚拟桌面管理模块发送桌面子区域的像素数据。
虚拟桌面终端的功能为:将虚拟桌面管理模块发送的桌面显示像素数据显示在虚拟桌面终端的屏幕上。
需要说明的是,本发明实施例对上述模块功能的说明仅是对方案的侧面的解释,并不意味着本发明实施例中的模块必然执行上述的某些或全部功能,相反的,部分功能是可选的。
如图5所示,为本发明实施例提供的一种分布刷新虚拟桌面的方法流程示意图,该分布刷新虚拟桌面的方法包括:
步骤321:虚拟桌面管理模块收到虚拟终端发送的输入事件,或者收到远端应用服务器发送的应用的显示信息。
步骤322:虚拟桌面管理模块识别需要刷新的桌面子区域,具体的,虚拟桌面管理模块将改变的应用窗口中的一个或者多个桌面子区域识别为需要刷新的桌面子区域,或者将一个或者多个受影响的应用窗口中的一个或者多个桌面子区域识别为需要刷新的桌面子区域。
需要说明的是,当虚拟桌面管理模块接收到虚拟终端发送的输入事件时,根据输入事件打开对应的应用,从而造成虚拟桌面显示内容的改变;或者,直接接收到远端应用服务器发送的应用的显示信息,引起虚拟桌面显示内容的改变。
步骤323:虚拟桌面管理模块从为所述需要刷新的桌面子区域分配的虚拟桌面应用处理模块获取需要刷新的桌面子区域的像素数据,方法为:虚拟桌面管理模块向分配给需要刷新的桌面子区域的虚拟桌面应用处理模块发送桌面子区域的刷新请求;虚拟桌面应用处理模块向虚拟桌面管理模块反馈需要刷新的桌面子区域的像素数据。
步骤324:虚拟桌面管理模块将所述需要刷新的桌面子区域的像素数据显示在虚拟桌面终端上,方法为:虚拟桌面管理模块向虚拟桌面终端发送桌面显示像素数据。虚拟桌面管理模块用需要刷新的桌面子区域的像素数据生成整个虚拟桌面的像素数据,将生成的整个虚拟桌面像素数据作为桌面显示像素数据发送给虚拟桌面终端;或者虚拟桌面管理模块将需要刷新的桌面子区域的像素数据作为桌面显示像素数据发送给虚拟桌面终端。虚拟桌面终端将接收到的桌面显示像素数据显示在虚拟桌面终端的屏幕上。
说明:如果虚拟桌面管理模块中存储了需要刷新的桌面子区域的像素数据,则步骤323可以省略。
步骤321至步骤324所示方法中各模块的功能说明如下:
虚拟桌面管理模块的功能为:
1)接收到远端应用服务器发送的应用的显示信息;
2)接收虚拟终端发送的输入操作;
3)识别需要刷新的桌面子区域;
4)从为所述需要刷新的桌面子区域分配的虚拟桌面应用处理模块获取需要刷新的桌面子区域的像素数据,具体为:
A)向分配给需要刷新的桌面子区域的虚拟桌面应用处理模块发送桌面子区域的刷新请求;
B)接收虚拟桌面应用处理模块向虚拟桌面管理模块反馈桌面子区域的像素数据。
6)将所述桌面子区域的像素数据显示在虚拟桌面终端上,具体为:向虚拟桌面终端发送桌面显示像素数据,虚拟桌面管理模块用需要刷新的桌面子区域的像素数据生成整个虚拟桌面的像素数据,将生成的整个虚拟桌面像素数据作为桌面显示像素数据发送给虚拟桌面终端;或者虚拟桌面管理模块将需要刷新的桌面子区域的像素数据作为桌面显示像素数据发送给虚拟桌面终端。
虚拟桌面应用处理模块的功能为:
1)接收虚拟桌面管理模块发送的桌面子区域的刷新请求;
2)向虚拟桌面管理模块发送桌面子区域的像素数据。
虚拟桌面终端的功能为:将虚拟桌面管理模块发送的桌面显示像素数据显示在虚拟桌面终端的屏幕上。
从而可以针对不同应用或者同一应用的不同对象按照不同的桌面子区域分配虚拟桌面应用处理模块,避免了由于不同应用对计算能力的差异引起的计算能力资源的浪费。进一步的,本发明实施例可以识别桌面子区域中不同的应用、对象,针对不同的应用、对象或对计算能力具备相似需求的应用或对象分配虚拟桌面应用处理模块,从而能够识别虚拟桌面各个区域的内容和对象,根据内容和对象的分配相应的应用处理能力进行处理,使得对计算资源的使用更加合理、有效。
如图6所示,为本发明实施例提供的另一种虚拟桌面中分布处理的消息流程示意图,图6对应的实施例的前提条件包括:用户通过虚拟桌面终端访问虚拟桌面。用户在虚拟桌面终端中进行了一个桌面操作,例如:鼠标双击虚拟桌面上的网络游戏图标或者按下快捷键打开虚拟桌面上的网络游戏图标等等。、
所述虚拟桌面中分布处理的方法包括:
步骤401:虚拟桌面终端向虚拟桌面管理模块发送输入事件。
步骤402:虚拟桌面管理模块选择虚拟桌面应用处理模块,方法如下:
虚拟桌面管理模块解析所述输入事件,根据所述输入事件携带的位置信息确定所述输入事件对应的应用或者输入事件对应的对象;
虚拟桌面管理模块选择虚拟桌面应用处理模块处理所述输入事件,具体的:虚拟桌面管理模块为每个应用或者每类应用配置缺省的虚拟桌面应用处理模块,虚拟桌面管理模块根据所述应用的属性和\或***负载为所述应用分配缺省配置的虚拟桌面应用处理模块;或者,虚拟桌面管理模块为所述应用随机分配虚拟桌面应用处理模块。
例如:用户通过鼠标或者操作杆点击打开虚拟桌面中的一个某游戏图标,输入事件是鼠标或操纵杆的点击事件,虚拟桌面管理模块根据点击发生的坐标确定点击发生的区域,在应用区域对照表中查找到点击事件对应的应用是某游戏图标,虚拟桌面管理模块为所述某游戏图标配置了缺省的虚拟桌面应用处理模块-1,因此虚拟桌面管理模块选择虚拟桌面应用处理模块-1处理所述点击事件;
其中,所述虚拟桌面应用处理模块-1可以是虚拟桌面管理模块新分配的,也可以是虚拟桌面管理模块之前分配的;虚拟桌面管理模块可以总是选择新分配的虚拟桌面应用处理模块处理所述输入事件;虚拟桌面管理模块可以总是选择同一个虚拟桌面应用处理模块处理所述输入事件;虚拟桌面管理模块还可以使用下列方法判断是否选择新分配虚拟桌面应用处理模块:如果虚拟桌面管理模块没有为所述输入事件对应的应用或者所述输入事件对应的对象分配过虚拟桌面应用处理模块,则虚拟桌面管理模块新分配虚拟桌面应用处理模块处理所述输入事件;如果虚拟桌面管理模块之前曾经为所述输入事件对应的应用或者所述输入事件对应的对象分配过虚拟桌面应用处理模块,则选择之前为所述输入事件对应的应用或者所述输入事件对应的对象分配的虚拟桌面应用处理模块处理所述输入事件。
步骤403:虚拟桌面管理模块向选择的虚拟桌面应用处理模块-1发送操作信息,所述操作信息中包含输入事件中的全部或者部分信息,还可以包含输入事件对应的应用的信息,还可以包含输入事件对应的对象的信息:
步骤404:虚拟桌面应用处理模块-1向虚拟桌面管理模块发送应用请求。例如:
1)当桌面操作事件为双击网络游戏图标,虚拟桌面应用处理模块向虚拟桌面管理模块发送建立网络游戏链接的应用请求,其中至少包括下列信息中的一个:
a)网络游戏服务器地址;
b)建立网络链接的请求信息;
c)请求的源地址等。
步骤405:虚拟桌面管理模块将所述应用请求转发给远端应用服务器。
如图7所示,为本发明实施例提供的虚拟桌面中只打开应用-1窗口,并且应用-1窗口中含有一种内容对象的桌面状态示意图。
如图8所示,为本发明实施例提供的另一种虚拟桌面中分布处理的消息流程示意图,该方法对应于图7所示的桌面状态,该方法前提条件包括:
1)用户通过虚拟桌面终端-1在虚拟桌面中双击应用-1的图标;
2)用户在虚拟桌面中只打开了应用-1窗口;
3)远端应用服务器-1为所述应用-1提供服务以及内容;
4)并且应用-1中只含有对象-1,例如:网络游戏。
此时,虚拟桌面的状态即为图7所示。
图8对应的虚拟桌面中分布处理的消息流程包括:
步骤501:远端应用服务器-1向虚拟桌面管理模块发送应用的显示信息。例如:网络游戏网站发送网络游戏开始界面的显示信息。由于应用-1中只包含对象-1,因此应用的显示信息至少包括下列信息中的一种:
1)应用-1的显示区域信息;
2)对象的类别,即对象-1的类别;
3)对象的显示区域信息,即对象-1的显示区域信息;
4)对象的内容,即对象-1的内容。
步骤502:虚拟桌面管理模块选择虚拟桌面应用处理模块。在本发明实施例中,应用-1中只含有对象-1,虚拟桌面管理模块将应用-1窗口的区域识别为桌面子区域-1,桌面子区域-1等于应用-1窗口的区域,桌面子区域-1只含有对象-1,虚拟桌面管理模块根据所述对象-1的类型或者对象-1对计算能力要求为所述桌面子区域-1选择虚拟桌面应用处理模块-1,另一方面,虚拟桌面管理模块也可以根据***负载或者随机选择虚拟桌面应用处理模块。
所述虚拟桌面应用处理模块-1可以是虚拟桌面管理模块新分配的,也可以是虚拟桌面管理模块之前分配的。
502-1:虚拟桌面管理模块可以总是为桌面子区域-1新分配虚拟桌面应用处理模块。
502-2:虚拟桌面管理模块可以总是为桌面子区域-1选择同一个虚拟桌面应用处理模块。
502-3:虚拟桌面管理模块还可以使用下列方法判断是否为桌面子区域-1选择新分配虚拟桌面应用处理模块:
方法一:如果虚拟桌面管理模块之前没有为所述桌面子区域-1或者所述对象-1分配过虚拟桌面应用处理模块,则虚拟桌面管理模块新分配虚拟桌面应用处理模块作为虚拟桌面应用处理模块-1;如果虚拟桌面管理模块之前曾经为所述桌面子区域-1或者所述对象-1分配过虚拟桌面应用处理模块,则虚拟桌面管理模块选择之前为所述桌面子区域-1或者所述对象-1分配的虚拟桌面应用处理模块作为虚拟桌面应用处理模块-1;
方法二:如果对象-1的类别发生变化,则虚拟桌面管理模块新分配虚拟桌面应用处理模块作为虚拟桌面应用处理模块-1,如果对象-1的类别没有变化,则虚拟桌面管理模块选择之前为所述桌面子区域-1或者所述对象-1分配的虚拟桌面应用处理模块作为虚拟桌面应用处理模块-1。
步骤503:虚拟桌面管理模块向虚拟桌面应用处理模块-1发送桌面子区域-1的显示信息。所述桌面区域-1的显示信息至少包括下列信息中的一种:
1)对象的类别,即对象-1的类别;
2)对象的显示区域信息,即对象-1的显示区域信息;
3)对象的内容,即对象-1的内容。
步骤504:虚拟桌面应用处理模块向虚拟桌面管理模块反馈桌面子区域-1的像素数据。虚拟桌面应用处理模块根据桌面子区域-1显示信息生成桌面子区域-1的像素数据,并且将生成的桌面子区域-1的像素数据反馈给虚拟桌面管理模块。
步骤505:虚拟桌面管理模块向虚拟桌面终端发送桌面显示像素数据。虚拟桌面管理模块可以用桌面子区域-1像素数据生成整个虚拟桌面的像素数据,将生成的整个虚拟桌面的像素数据作为桌面显示像素数据发送给虚拟桌面终端;或者虚拟桌面管理模块将桌面子区域-1的像素数据作为桌面显示像素数据发送给虚拟桌面终端。虚拟桌面终端将接收到的桌面显示像素数据显示在虚拟桌面终端的屏幕上。
如图9所示,为本发明实施例提供的虚拟桌面中只打开应用-1窗口,并且应用-1窗口中含有两种内容对象的的桌面状态示意图;如图9所示,为本发明实施例提供的另一种虚拟桌面中分布处理的消息流程示意图,该消息流程的前提条件为:
1)用户通过虚拟桌面终端-1在虚拟桌面中双击应用-1的图标;
2)用户在虚拟桌面中只打开了应用-1窗口;
3)所述应用-1窗口中的内容来自远端应用服务器-1;
4)并且应用-1窗口中含有对象-1和对象-2,例如:对象-1是文本,对象-2是视频。
此时,虚拟桌面的状态即为图9所示:
本发明实施例提供的消息流程包括:
步骤601:远端应用服务器-1向虚拟桌面管理模块发送应用的显示信息,由于应用-1中包含对象-1和对象-2,所述应用的显示信息包含如下信息:
1)应用-1的显示区域信息;
2)对象的类别,即对象-1的类别和对象-2的类别;
3)对象的显示区域信息,即对象-1的显示区域信息和对象-2的显示区域信息;
4)对象的内容,即对象-1的内容和对象-2的内容。
步骤602:虚拟桌面管理模块为桌面子区域选择虚拟桌面应用处理模块,方法为:
602-1:首先,虚拟桌面管理模块识别桌面子区域,具体的:虚拟桌面管理模块将下述中的至少一种识别为一个或者多个桌面子区域:
将应用中的每个对象的显示区域;
应用中的每种对象的显示区域;
应用中的对计算能力要求相近的多种对象的显示区域;或者,
由用户或者虚拟桌面服务提供商制定的规则决定的应用中的多种对象的显示区域。
所述桌面子区域可以是一个对象的显示区域或者多个对象的显示区域的集合,还可以是一个对象的显示区域的部分区域。本实施例中虚拟桌面管理模块将对象-1的显示区域识别为桌面子区域-1,将对象-2的显示区域识别为桌面子区域-2。
602-2:虚拟桌面管理模块为所述桌面子区域选择虚拟桌面应用处理模块,具体的:虚拟桌面管理模块根据所述桌面子区域中的对象的类型、桌面子区域中的对象对计算能力的要求、***负载或者随机选择虚拟桌面应用处理模块,例如:为网页文字桌面子区域选择具有网页处理功能的虚拟桌面应用处理模块,为视频桌面子区域选择具有视频处理能力的虚拟桌面应用处理模块,为游戏桌面子区域选择具有游戏处理能力的虚拟桌面应用处理模块。本实施例中可以根据对象的类型选择虚拟桌面应用处理模块:虚拟桌面管理模块为桌面子区域-1选择具有文本处理能力的虚拟桌面应用处理模块-1,为桌面子区域-2选择具有视频处理能力的虚拟桌面应用处理模块-2。
其中,所述虚拟桌面应用处理模块可以是虚拟桌面管理模块新分配的,也可以是虚拟桌面管理模块之前分配的;虚拟桌面管理模块可以总是为桌面子区域选择新分配的虚拟桌面应用处理模块;虚拟桌面管理模块可以总是为桌面子区域选择同一个虚拟桌面应用处理模块。
进一步的,虚拟桌面管理模块可以使用下列方法判断是否为桌面子区域重新选择虚拟桌面应用处理模块:
如果虚拟桌面管理模块没有为所述桌面子区域或者所述桌面子区域中的对象分配过虚拟桌面应用处理模块,则虚拟桌面管理模块新分配虚拟桌面应用处理模块;如果虚拟桌面管理模块之前曾经为所述桌面子区域或者所述桌面子区域中的对象分配过虚拟桌面应用处理模块,则选择之前为所述桌面子区域或者所述桌面子区域中的对象分配的虚拟桌面应用处理模块;或者
如果桌面子区域中的对象的类型发生变化,则虚拟桌面管理模块新分配虚拟桌面应用处理模块,如果桌面子区域中的对象的类型没有变化,则虚拟桌面管理模块选择之前为所述桌面子区域或者所述桌面子区域中的对象分配的虚拟桌面应用处理模块。
步骤603:虚拟桌面管理模块向虚拟桌面应用处理模块-1发送桌面子区域-1的显示信息。所述桌面子区域-1的显示信息至少包括下列信息中的一种:
1)对象的类别,即对象-1的类别;
2)对象的显示区域信息,即对象-1的显示区域信息;
3)对象的内容,即对象-1的内容。
步骤604:虚拟桌面应用处理模块-1向虚拟桌面管理模块反馈桌面子区域-1的像素数据。
步骤605:虚拟桌面管理模块向虚拟桌面应用处理模块-2发送桌面子区域-2的显示信息。所述桌面子区域-2的显示信息至少包括下列信息中的一种:
1)对象的类别,即对象-2的类别;
2)对象的显示区域信息,即对象-2的显示区域信息;
3)对象的内容,即对象-2的内容。
步骤606:虚拟桌面应用处理模块-2向虚拟桌面管理模块反馈桌面子区域-2的像素数据。
步骤607:虚拟桌面管理模块向虚拟桌面终端发送桌面显示像素数据。虚拟桌面管理模块可以用桌面子区域-1的像素数据以及桌面子区域-2的像素数据生成整个虚拟桌面的像素数据,将生成的整个虚拟桌面像素数据作为桌面显示像素数据发送给虚拟桌面终端;或者虚拟桌面管理模块将桌面子区域-1的像素数据和桌面子区域-2的像素数据作为桌面显示像素数据发送给虚拟桌面终端。虚拟桌面终端将接收到的桌面显示像素数据显示在虚拟桌面终端的屏幕上。
需要说明的是:步骤603步骤604和步骤605~步骤606的先后顺序不限;本实施例同样适用应用窗口中包含2种以上内容对象的情况。
如图11所示,为本发明实施例提供的虚拟桌面中打开应用-1窗口和应用-3窗口的桌面状态示意图。如图12所示,为本发明实施例提供的另一种虚拟桌面中分布处理的消息流程示意图,该消息流程的前提条件为:
1)用户在虚拟桌面中打开了应用-1窗口和应用-3窗口;
2)用户在虚拟桌面中通过桌面操作来修改应用-1窗口的位置或者大小,例如拖动鼠标,使得原来应用-3窗口被应用-1窗口遮挡的区域需要显示在虚拟桌面中。
此时,虚拟桌面的状态即为图11所示。
本发明实施例提供的消息流程包括:
步骤701:虚拟桌面终端-1向虚拟桌面管理模块发送输入事件,其中输入事件携带的桌面操作的类型为鼠标点击拖动。
步骤702:虚拟桌面管理模块识别需要刷新的桌面子区域。虚拟桌面管理模块将改变的应用窗口中的一个或者多个桌面子区域识别为需要刷新的桌面子区域,或者将一个或者多个受影响的应用窗口中的一个或者多个桌面子区域识别为需要刷新的桌面子区域(需要说明的是,在每一个应用窗口显示的时候,虚拟桌面管理模块已经将每一个应用的窗口识别为一个或者多个桌面子区域,并且为每一个桌面子区域分配了虚拟桌面应用处理模块,具体过程前述实施例,此处不再赘述),虚拟桌面管理模块向分配给需要刷新的桌面子区域的虚拟桌面应用处理模块发送桌面子区域的刷新请求。本实施例中改变的应用窗口是应用-1窗口,受影响的应用窗口有应用-3窗口,虚拟桌面管理模块将应用-1对应的桌面子区域-1和应用-3对应的桌面子区域-3识别为需要刷新的桌面子区域。
步骤703:虚拟桌面管理模块向分配给需要刷新的桌面子区域-1的虚拟桌面应用处理模块-1发送桌面子区域-1的刷新请求。
步骤704:虚拟桌面应用处理模块-1向虚拟桌面管理模块反馈需要刷新的桌面子区域-1的像素数据。
步骤705:虚拟桌面管理模块向分配给需要刷新的桌面子区域-3的虚拟桌面应用处理模块-3发送桌面子区域-3的刷新请求。
步骤706:虚拟桌面应用处理模块-3向虚拟桌面管理模块反馈需要刷新的桌面子区域-3的像素数据。
步骤707:虚拟桌面管理模块向虚拟桌面终端发送桌面显示像素数据。虚拟桌面管理模块可以用需要刷新的桌面子区域-1的像素数据以及需要刷新的桌面子区域-3的像素数据生成整个虚拟桌面的像素数据,将生成的整个虚拟桌面像素数据作为桌面显示像素数据发送给虚拟桌面终端;或者虚拟桌面管理模块将需要刷新的桌面子区域-1的像素数据和需要刷新的桌面子区域-3的像素数据作为桌面显示像素数据发送给虚拟桌面终端。虚拟桌面终端将接收到的桌面显示像素数据显示在虚拟桌面终端的屏幕上。
需要说明的是:步骤703和步骤705的先后顺序不限;如果虚拟桌面管理模块中存储了桌面子区域的像素数据,则步骤703~步骤706可以省略。
还需要进行说明的是,当虚拟桌面的显示内容发生改变后,虚拟桌面管理模块识别需要刷新的桌面子区域,将不同区域对应的应用刷新到应用对照表中。
如图13所示,为本发明实施例提供的虚拟桌面中打开应用-1的显示区域遮挡应用-4的显示区域的部分区域的桌面状态示意图。如图14所示,为本发明实施例提供的另一种虚拟桌面中分布处理的消息流程示意图,该消息流程的前提条件为:
1)用户在虚拟桌面中打开应用-4窗口;
2)用户在虚拟桌面中打开应用-1窗口,远端应用服务器-1为应用-1提供内容和服务,远端应用服务器-1还可以主动向用户的虚拟桌面推送应用-1窗口;
3)应用-1的显示区域挡住了应用-4的显示区域的部分区域。
此时,虚拟桌面的状态即为图13所示.
本发明实施例提供的消息流程包括:
步骤801:远端应用服务器-1向虚拟桌面管理模块发送应用的显示信息。
步骤802:虚拟桌面管理模块获得应用-1的像素数据。虚拟桌面管理模块按照步骤502~步骤504的方法,或者步骤602~步骤606的方法,将虚拟桌面管理模块应用-1的显示区域识别为一个或者多个桌面子区域,虚拟桌面管理模块获取识别出的所述桌面子区域的像素数据。
步骤803:虚拟桌面管理模块识别需要刷新的桌面子区域。虚拟桌面管理模块将一个或者多个受影响的应用窗口中的一个或者多个桌面子区域识别为需要刷新的桌面子区域,虚拟桌面管理模块向分配给每一个需要刷新的桌面子区域的虚拟桌面应用处理模块发送桌面子区域的刷新请求,本实施例中受影响的应用窗口有应用-4窗口,将应用-4窗口对应的桌面子区域-4识别为需要刷新的桌面子区域。
步骤804:虚拟桌面管理模块向分配给桌面子区域-4的虚拟桌面应用处理模块-4发送桌面子区域-4的刷新请求。
步骤805:虚拟桌面应用处理模块-4向虚拟桌面管理模块反馈需要刷新的桌面区域-4的像素数据。
步骤806:虚拟桌面管理模块向虚拟桌面终端发送桌面显示像素数据。虚拟桌面管理模块用桌面子区域-1的像素数据以及需要刷新的桌面子区域-4的像素数据生成整个虚拟桌面的像素数据,将生成的整个虚拟桌面像素数据作为桌面显示像素数据发送给虚拟桌面终端;或者虚拟桌面管理模块将桌面子区域-1的像素数据和需要刷新的桌面子区域-4的像素数据作为桌面显示像素数据发送给虚拟桌面终端。虚拟桌面终端将接收到的桌面显示像素数据显示在虚拟桌面终端的屏幕上。
需要说明的是,步骤802和步骤803步骤805的先后顺序不限;如果虚拟桌面管理模块中存储了桌面子区域的像素数据,则步骤804和步骤806可以省略。
本发明实施例提供了虚拟桌面中分布处理的方法,当来至虚拟终端的输入事件或远端应用服务器的显示信息造成虚拟桌面的显示内容发生改变时,虚拟桌面管理模块识别需要刷新的桌面子区域,依据前述的分配原则为识别出的桌面子区域分配虚拟桌面应用处理模块,用来处理对应的桌面子区域的刷新请求,完成在虚拟桌面终端上的显示,从而可以尽量满足相似计算能力的应用或对象分配到同一虚拟桌面应用处理模块,避免计算能力的浪费。
对应于上述方法实施例,如图15所示,本发明还提供了一种虚拟桌面中的分布处理***,包括:虚拟桌面管理模块1501,至少一个虚拟桌面应用处理模块1502,
虚拟桌面管理模块1501,用于识别应用对应的应用窗口中的桌面子区域,为所述桌面子区域选择虚拟桌面应用处理模块1502,从为所述桌面子区域选择的所述虚拟桌面应用处理模块1502获取所述桌面子区域的像素数据,将获取的所述桌面子区域的像素数据显示在虚拟桌面终端上;
所述至少一个虚拟桌面应用处理模块1502,用于为所述应用提供处理能力,并向所述虚拟桌面管理模块反馈所述桌面子区域的像素数据。
进一步的,所述虚拟桌面管理模块1501,还用于接收所述虚拟桌面终端发送的输入事件,根据所述输入事件携带的位置信息确定所述输入事件对应的应用。
所述虚拟桌面管理模块1501,具体用于当所述输入事件为点击事件时,根据点击发生的坐标确定点击发生的区域,在应用区域对照表中查找所述点击事件对应的应用。
所述虚拟桌面管理模块1501,还用于识别需要刷新的桌面子区域,所述需要刷新的桌面子区域为因所述输入事件发生改变的应用窗口中的一个或多个桌面子区域。
所述虚拟桌面管理模块1501,还用于向分配给所述需要刷新的桌面子区域的虚拟桌面应用处理模块1502发送刷新请求,接收所述虚拟桌面应用处理模块1502反馈的刷新后的像素数据。
所述***还包括至少一个应用服务器1503,所述虚拟桌面管理模块1501,还用于接收所述应用服务器1503发送的所述应用的显示信息,所述应用的显示信息包括下列信息中的至少一个:所述应用的显示区域信息;所述对象的类别;所述对象的显示区域信息;所述对象的内容。
所述虚拟桌面管理模块1501,具体用于根据下述原则中的至少一种进行虚拟桌面应用处理模块1502的选择:
所述虚拟桌面管理模块1501根据所述桌面子区域中的对象的类型选择虚拟桌面应用处理模块1502;
所述虚拟桌面管理模块1501根据所述桌面子区域中的对象对处理能力的要求选择虚拟桌面应用处理模块1502。
所述虚拟桌面管理模块1501,具体用于向选择的虚拟桌面应用处理模块1502发送所述桌面子区域的显示信息,接收所述虚拟桌面应用处理模块1502反馈的像素数据。
本发明实施例给出一种虚拟桌面中分布处理的方法和***,能够识别虚拟桌面各个区域的内容和对象,根据内容和对象的分配相应的应用处理能力进行处理,使得对计算资源的使用更加合理、有效。
虽然以上有些地方描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些具体实施方式仅是举例说明,本领域的技术人员在不脱离本发明的原理和实质的情况下,可以对上述方法和***的细节进行各种省略、替换和改变。例如以合并上述方法步骤的方式,按照实质相同的方法执行实质相同的功能以实现实质相同的结果则属于本发明的范围。因此,本发明的范围仅由所附权利要求书限定。
本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (21)

1.一种虚拟桌面中的分布处理方法,其特征在于,包括:
虚拟桌面管理模块识别应用对应的应用窗口中的桌面子区域;
所述虚拟桌面管理模块为所述桌面子区域选择虚拟桌面应用处理模块;
所述虚拟桌面管理模块从为所述桌面子区域选择的所述虚拟桌面应用处理模块获取所述桌面子区域的像素数据;
所述虚拟桌面管理模块将获取的所述桌面子区域的像素数据显示在虚拟桌面终端上。
2.如权利要求1所述的方法,其特征在于,所述应用包括至少一个对象。
3.如权利要求1或2所述的方法,其特征在于,所述桌面子区域包括下列显示区域的至少一种:所述应用的显示区域;所述应用包括的对象的显示区域。
4.如权利要求3所述的方法,其特征在于,当所述应用包括多个对象时,所述桌面子区域为各个对象的显示区域或对处理能力需求相同或相近的对象的显示区域的集合。
5.如权利要求1所述的方法,其特征在于,在所述虚拟桌面管理模块识别应用窗口中的桌面子区域之前,所述方法还包括:
所述虚拟桌面管理模块接收所述虚拟桌面终端发送的输入事件;
所述虚拟桌面管理模块根据所述输入事件携带的位置信息确定所述输入事件对应的应用。
6.如权利要求5所述的方法,其特征在于,所述虚拟桌面管理模块根据所述输入事件携带的位置信息确定所述输入事件对应的应用包括:
当所述输入事件为点击事件时,所述虚拟桌面管理模块根据点击发生的坐标确定点击发生的区域,在应用区域对照表中查找所述点击事件对应的应用。
7.如权利要求5所述的方法,其特征在于,在所述虚拟桌面管理模块接收所述虚拟桌面终端发送的输入事件之后,所述方法还包括:
所述虚拟桌面管理模块识别需要刷新的桌面子区域,所述需要刷新的桌面子区域为因所述输入事件发生改变的应用窗口中的一个或多个桌面子区域。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
所述虚拟桌面管理模块向分配给所述需要刷新的桌面子区域的虚拟桌面应用处理模块发送刷新请求,接收所述虚拟桌面应用处理模块反馈的刷新后的像素数据。
9.如权利要求2所述的方法,其特征在于,在所述虚拟桌面管理模块识别应用窗口中的桌面子区域之前,所述方法还包括:
所述虚拟桌面管理模块接收应用服务器发送的所述应用的显示信息,所述应用的显示信息包括下列信息中的至少一个:所述应用的显示区域信息;所述对象的类别;所述对象的显示区域信息;所述对象的内容。
10.如权利要求1所述的方法,其特征在于,所述虚拟桌面管理模块为所述桌面子区域选择虚拟桌面应用处理模块包括:
所述虚拟桌面管理模块根据下述原则中的至少一种进行虚拟桌面应用处理模块的选择:
所述虚拟桌面管理模块根据所述桌面子区域中的对象的类型选择虚拟桌面应用处理模块;
所述虚拟桌面管理模块根据所述桌面子区域中的对象对处理能力的要求选择虚拟桌面应用处理模块。
11.如权利要求10所述的方法,其特征在于,在所述虚拟桌面管理模块为所述桌面子区域选择虚拟桌面应用处理模块之前,所述方法还包括:
所述虚拟桌面管理模块判断是否为所述桌面子区域或所述桌面子区域中的对象选择过虚拟桌面应用处理模块,如果否,则当所述虚拟桌面子区域中的对象发生改变时,为所述桌面子区域重新选择虚拟桌面应用处理模块;如果是,为所述桌面子区域选择已分配的虚拟桌面应用处理模块。
12.如权利要求1所述的方法,其特征在于,所述虚拟桌面管理模块从为所述桌面子区域选择的所述虚拟桌面应用处理模块获取所述桌面子区域的像素数据包括:
所述虚拟桌面管理模块向选择的虚拟桌面应用处理模块发送所述桌面子区域的显示信息,接收所述虚拟桌面应用处理模块反馈的像素数据。
13.如权利要求1所述的方法,其特征在于,所述虚拟桌面管理模块将获取的所述桌面子区域的像素数据显示在虚拟桌面终端上包括:
所述虚拟桌面管理模块用所述桌面子区域的像素数据生成整个虚拟桌面的像素数据,将生成的整个虚拟桌面像素数据作为桌面显示像素数据发送给虚拟桌面终端;或者,
所述虚拟桌面管理模块将桌面子区域的像素数据作为桌面显示像素数据发送给虚拟桌面终端。
14.一种虚拟桌面中的分布处理***,其特征在于,所述***包括:虚拟桌面管理模块,至少一个虚拟桌面应用处理模块,其中,
虚拟桌面管理模块,用于识别应用对应的应用窗口中的桌面子区域,为所述桌面子区域选择虚拟桌面应用处理模块,从为所述桌面子区域选择的所述虚拟桌面应用处理模块获取所述桌面子区域的像素数据,将获取的所述桌面子区域的像素数据显示在虚拟桌面终端上;
所述至少一个虚拟桌面应用处理模块,用于为所述应用提供处理能力,并向所述虚拟桌面管理模块反馈所述桌面子区域的像素数据。
15.如权利要求14所述的***,其特征在于,所述虚拟桌面管理模块,还用于接收所述虚拟桌面终端发送的输入事件,根据所述输入事件携带的位置信息确定所述输入事件对应的应用。
16.如权利要求15所述的***,其特征在于,所述虚拟桌面管理模块,具体用于当所述输入事件为点击事件时,根据点击发生的坐标确定点击发生的区域,在应用区域对照表中查找所述点击事件对应的应用。
17.如权利要求15所述的***,其特征在于,所述虚拟桌面管理模块,还用于识别需要刷新的桌面子区域,所述需要刷新的桌面子区域为因所述输入事件发生改变的应用窗口中的一个或多个桌面子区域。
18.如权利要求17所述的***,其特征在于,所述虚拟桌面管理模块,还用于向分配给所述需要刷新的桌面子区域的虚拟桌面应用处理模块发送刷新请求,接收所述虚拟桌面应用处理模块反馈的刷新后的像素数据。
19.如权利要求14所述的***,其特征在于,所述***还包括至少一个应用服务器,所述虚拟桌面管理模块,还用于接收所述应用服务器发送的所述应用的显示信息,所述应用的显示信息包括下列信息中的至少一个:所述应用的显示区域信息;所述对象的类别;所述对象的显示区域信息;所述对象的内容。
20.如权利要求14所述的***,其特征在于,所述虚拟桌面管理模块,具体用于根据下述原则中的至少一种进行虚拟桌面应用处理模块的选择:
所述虚拟桌面管理模块根据所述桌面子区域中的对象的类型选择虚拟桌面应用处理模块;
所述虚拟桌面管理模块根据所述桌面子区域中的对象对处理能力的要求选择虚拟桌面应用处理模块。
21.如权利要求14所述的***,其特征在于,所述虚拟桌面管理模块,具体用于向选择的虚拟桌面应用处理模块发送所述桌面子区域的显示信息,接收所述虚拟桌面应用处理模块反馈的像素数据。
CN2011800013542A 2011-08-01 2011-08-01 虚拟桌面中分布处理的方法和*** Active CN102449604B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/077881 WO2012159361A1 (zh) 2011-08-01 2011-08-01 虚拟桌面中分布处理的方法和***

Publications (2)

Publication Number Publication Date
CN102449604A true CN102449604A (zh) 2012-05-09
CN102449604B CN102449604B (zh) 2013-03-27

Family

ID=46010197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011800013542A Active CN102449604B (zh) 2011-08-01 2011-08-01 虚拟桌面中分布处理的方法和***

Country Status (2)

Country Link
CN (1) CN102449604B (zh)
WO (1) WO2012159361A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414712A (zh) * 2013-08-05 2013-11-27 深圳市杰云科技有限公司 一种分布式虚拟桌面管理***和方法
CN103838375A (zh) * 2014-02-28 2014-06-04 深圳市深信服电子科技有限公司 终端输入方法及终端
CN106126252A (zh) * 2016-06-30 2016-11-16 乐视控股(北京)有限公司 一种加载应用桌面的方法及电子设备
CN107426114A (zh) * 2017-08-28 2017-12-01 西安万像电子科技有限公司 资源分配方法及***
CN108021425A (zh) * 2017-12-28 2018-05-11 南开大学 一种集成多个应用图形窗口的虚拟桌面***及运行方法
CN110138817A (zh) * 2018-02-08 2019-08-16 中兴通讯股份有限公司 流媒体播放方法、装置、设备及计算机可读存储介质
CN111431948A (zh) * 2020-06-15 2020-07-17 广东睿江云计算股份有限公司 一种框架与内容分离的云桌面优化显示方法及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100191854A1 (en) * 2009-01-26 2010-07-29 Vmware, Inc. Process demand prediction for distributed power and resource management
US20110161404A1 (en) * 2009-12-31 2011-06-30 Nimbus Is, Inc. Systems and methods for communicating data between a server and a device on a virtual desktop

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7817163B2 (en) * 2003-10-23 2010-10-19 Microsoft Corporation Dynamic window anatomy
US8176434B2 (en) * 2008-05-12 2012-05-08 Microsoft Corporation Virtual desktop view scrolling
JP2010054762A (ja) * 2008-08-28 2010-03-11 Sony Corp 情報処理装置および方法、並びにプログラム
US7831661B2 (en) * 2008-12-18 2010-11-09 Vmware, Inc. Measuring client interactive performance using a display channel

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100191854A1 (en) * 2009-01-26 2010-07-29 Vmware, Inc. Process demand prediction for distributed power and resource management
US20110161404A1 (en) * 2009-12-31 2011-06-30 Nimbus Is, Inc. Systems and methods for communicating data between a server and a device on a virtual desktop

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103414712A (zh) * 2013-08-05 2013-11-27 深圳市杰云科技有限公司 一种分布式虚拟桌面管理***和方法
CN103414712B (zh) * 2013-08-05 2016-01-27 深圳市杰云科技有限公司 一种分布式虚拟桌面管理***和方法
CN103838375A (zh) * 2014-02-28 2014-06-04 深圳市深信服电子科技有限公司 终端输入方法及终端
CN103838375B (zh) * 2014-02-28 2017-12-29 深信服科技股份有限公司 终端输入方法及终端
CN106126252A (zh) * 2016-06-30 2016-11-16 乐视控股(北京)有限公司 一种加载应用桌面的方法及电子设备
CN107426114A (zh) * 2017-08-28 2017-12-01 西安万像电子科技有限公司 资源分配方法及***
CN107426114B (zh) * 2017-08-28 2021-02-12 西安万像电子科技有限公司 资源分配方法及***
CN108021425A (zh) * 2017-12-28 2018-05-11 南开大学 一种集成多个应用图形窗口的虚拟桌面***及运行方法
CN108021425B (zh) * 2017-12-28 2020-11-03 南开大学 一种集成多个应用图形窗口的虚拟桌面***及运行方法
CN110138817A (zh) * 2018-02-08 2019-08-16 中兴通讯股份有限公司 流媒体播放方法、装置、设备及计算机可读存储介质
CN111431948A (zh) * 2020-06-15 2020-07-17 广东睿江云计算股份有限公司 一种框架与内容分离的云桌面优化显示方法及***
CN111431948B (zh) * 2020-06-15 2020-10-16 广东睿江云计算股份有限公司 一种框架与内容分离的云桌面优化显示方法及***

Also Published As

Publication number Publication date
CN102449604B (zh) 2013-03-27
WO2012159361A1 (zh) 2012-11-29

Similar Documents

Publication Publication Date Title
CN102449604B (zh) 虚拟桌面中分布处理的方法和***
US9043712B2 (en) System and method for simultaneous display of multiple information sources
CN107077497B (zh) 复合分区函数
US20150256594A1 (en) System and method for enabling a collaborative desktop environment
US9674275B1 (en) Providing a file system interface to network-accessible computing resources
US20150235403A1 (en) System and method for implementing a dynamic media link
US9052806B2 (en) User interface for presenting media items of social networking service in media reel
CN111651141B (zh) 小程序落地页的展现方法、装置、电子设备和存储介质
CN101137079B (zh) 一种基于移动终端融合网页浏览与即时通信的方法及设备
CN111880695A (zh) 一种屏幕共享方法、装置、设备及存储介质
CN111752426A (zh) 聊天线程的显示方法、记录介质及计算机装置
CN106970845A (zh) 远程应用连接共享
CN105024913A (zh) 进行即时通讯会话的方法、装置及***
CN104077151A (zh) 快速启动网络应用的方法和电子设备
US10148602B2 (en) Enhancing messaging application functionality
CN108366275B (zh) 提供视频流的方法和装置
CN113741754A (zh) 任务创建方法、装置、电子设备和计算机可读存储介质
CN109947528B (zh) 信息处理方法和装置
CN111817944A (zh) 图片分享的方法、装置及电子设备
CN105404505A (zh) 一种信息处理方法和电子设备
CN112578962A (zh) 信息流展示方法、装置、设备和介质
CN114416248A (zh) 会话方法及其装置
CN112988426A (zh) 消息的处理方法和装置
CN101069358B (zh) 在移动通信终端的待机模式画面上显示非典型模板类型的方法、记录用于执行该方法的程序的计算机可读记录介质以及具有其功能的移动通信终端
CN111158566A (zh) 一种事件处理方法、装置、设备和存储介质

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
TR01 Transfer of patent right

Effective date of registration: 20220307

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right