在远程控制过程中传输数据的设备及方法

文档序号:6384208阅读:477来源:国知局
专利名称:在远程控制过程中传输数据的设备及方法
技术领域
本发明涉及网络数据通信技术领域,具体涉及在远程控制过程中传输数据的设备及方法。
背景技术
远程控制,是指计算机设备的管理人员或者系统支持人员等通过互联网连通远程的被控制端的计算机设备,将被控制端计算机设备的桌面环境显示到管理人员或者协助人员等的计算机设备上,通过本地计算机设备对远程的被控制端计算机设备进行系统配置、软件安装程序、故障排除等工作。
远程控制的相关工作需要通过网络才能进行,位于本地的计算机设备是操作指令的发出端,称为主控端,而远程的被控制端计算机设备可以称为受控端,受控端接收并执行主控端发出的操作指令并在受控端予以执行。主控端和受控端可以是位于同一局域网中的计算机设备,也可以是连入互联网的处在任何位置的两部或多部计算机设备。要实现主控端对受控端的控制,通常需要在主控端的计算机设备中安装客户端程序,在受控端的计算机设备中安装服务器端程序,使用时主控端的客户端程序向受控端的服务器端程序发出信号,建立一个远程服务的链接,然后通过这个远程服务的链接,受控端将其桌面环境(包括桌面的背景信息以及桌面上显示的图标等信息)传输并显示到主控端,主控端发送各种远程控制功能相应的远程控制命令,控制受控端的计算机设备执行远程控制命令,当受控端的显示界面发生变化时,还需要将更新后的界面信息发送到主控端要求其进行相应的画面更新显示,以此循环往复,从而完成各种远程控制相关的工作。现有技术中在向主控端传输受控端的桌面环境信息时,通常是直接对受控端的桌面进行截图,然后将截取到的图片组合成数据报文发送到主控端。然而,以图片的格式进行数据的传输时需要较大的带宽,由于主控端或受控端实际使用的网络带宽的限制,远程控制操作常常达不到或者难以趋近于流畅运行的理想状态。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的在远程控制过程中传输数据的设备和相应的在远程控制过程中传输数据的方法。依据本发明的一个方面,提供了一种在远程控制过程中传输数据的设备,包括设置单元,适于在与主控端建立起远程控制连接后,将受控端的桌面背景显示为单色;确定单元,适于确定待传输的图像;数据传送单元,适于如果所述待传输的图像中包括全部或部分桌面背景,则将所述单色对应的色值传送给所述主控端,以便于主控端根据所述色值显示受控端的桌面背

-5^ O可选地,还包括
恢复单元,适于根据主控端的指示或者在预置的时间点,将受控端的桌面背景恢复为原始状态。可选地,所述设置单元包括信息获取子单元,适于在与主控端建立起远程控制连接后,获取受控端的桌面背景信息,并将所述桌面背景信息保存到指定的注册表文件中;设置子单元,适于按照预置的颜色值将所述受控端的桌面背景设置为单色;所述恢复单元包括信息读取子单元,适于在预置的时间点,读取所述指定的注册表文件中保存的桌面背景信息;恢复子单元,用于根据所读取到的桌面背景信息恢复受控端的桌面背景设置。可选地,所述桌面背景信息包括受控端使用的桌面背景图片及其显示方式,所述显示方式包括拉伸、居中或平铺,所述信息获取子单元包括第一系统函数调用子单元,适于通过调用操作系统提供的应用程序编程接口 API函数,获取被控端使用的桌面背景图片的路径;注册表读取子单元,适于通过读取系统的注册表获取被控端桌面背景图片的显示方式;所述恢复子单元包括注册表修改子单元,适于根据所读取到的桌面背景信息修改系统的注册表项键值;第二系统函数调用子单元,适于通过调用操作系统的API函数通知操作系统基于修改后的注册表键值刷新被控端的桌面背景。可选地,还包括信息删除单元,适于在受控端的桌面背景设置之后,删除所述指定的注册表文件中保存的桌面背景信息;所述信息读取子单元具体适于在远程控制连接断开时、远程控制程序退出时或远程控制程序重新启动时,读取所述指定的注册表文件,如果所述指定的注册表文件不为空,则读取所述其中保存的桌面背景信息,并触发所述恢复子单元根据所读取到的桌面背景信息恢复受控端的桌面背景设置。可选地,所述确定单元包括抓取子单元,适于基于所述受控端的显示界面进行图像抓取,获取显示界面图像;分块子单元,适于将所述显示界面图像划分为至少两个区块,将所述区块分别确定为待传输的图像;所述数据传送单元,包括判断子单元,适于判断当前区块中是否包括全部或部分桌面背景;数据传送子单元,适于如果判断当前区块中包括全部或部分桌面背景,则将所述单色对应的色值及当前区块的坐标传送给主控端,以便主控端根据所述当前区块对应的单色的色值及坐标对所述当前区块进行显示。
可选地,还包括索引单元,适于如果获取到当前区块中所包含的颜色种类为两种,则对两种颜色分别进行索引;编码执行单元,适于以两种颜色分别对应的索引值对所述当前区块进行编码;编码传送单元,适于将编码结果,以及所述索引值与颜色值的对应关系传送给所述主控端;以便主控端根据所述编码结果,以及所述索引值与颜色值的对应关系,显示所述当前区块。可选地,还包括平滑性检测单元,适于如果获取到当前区块中所包含的颜色种类为至少三种,则对所述区块的平滑性进行判断;压缩方式确定单元,适于根据判断结果确定对所述当前区块的压缩方式;压缩执行单元,适于以所述压缩方式对所述区块相应的图像数据进行压缩;压缩数据传送单元,适于将压缩后的图像数据传送给所述主控端,以便主控端根据所述压缩后的图像数据显示所述当前区块。可选地,还包括监控单元,适于根据预设时间间隔周期扫描受控端的显示界面;更新单元,适于监测每次扫描中一个或多个所述区块中包含的颜色变化,将发生变化的区块坐标,以及变化后的图像编码结果,发送给主控端,以便主控端根据所述坐标以及图像编码结果,显示对应的一个或多个区块。可选地,还包括提示单元,适于在将受控端的桌面背景显示为单色时,显示相应的提示信息。根据本发明的另一方面,提供了一种在远程控制过程中传输数据的方法,包括在与主控端建立起远程控制连接后,将受控端的桌面背景显示为单色;确定待传输的图像;如果所述待传输的图像中包括全部或部分桌面背景,则将所述单色对应的色值传送给所述主控端,以便于主控端根据所述色值显示受控端的桌面背景。可选地,还包括根据主控端的指示或在预置的时间点,将受控端的桌面背景恢复为原始状态。可选地,所述在与主控端建立起远程控制连接后,将受控端的桌面背景显示为单色包括在与主控端建立起远程控制连接后,获取受控端的桌面背景信息,并将所述桌面背景信息保存到指定的注册表文件中;按照预置的颜色值将所述受控端的桌面背景设置为单色;所述在预置的时间点,将受控端的桌面背景恢复为原始状态包括在预置的时间点,读取所述指定的注册表文件中保存的桌面背景信息;根据所读取到的桌面背景信息恢复受控端的桌面背景设置。可选地,所述桌面背景信息包括受控端使用的桌面背景图片及其显示方式,所述显示方式包括拉伸、居中或平铺,所述获取受控端的桌面背景信息包括通过操作调用系统提供的应用程序编程接口 API函数,获取受控端使用的桌面背景图片的路径;通过读取系统的注册表获取受控端桌面背景图片的显示方式;所述根据所读取到的桌面背景信息恢复受控端的桌面背景设置包括根据所读取到的桌面背景信息修改系统的注册表项键值;通过调用操作系统的API函数通知操作系统基于修改后的注册表键值刷新受控端的桌面背景。可选地,还包括在受控端的桌面背景设置之后,删除所述指定的注册表文件中保存的桌面背景信息;所述在预置的时间点,将受控端的桌面背景恢复为原始状态包括在远程控制连接断开时、远程控制程序退出时或远程控制程序重新启动时,读取所述指定的注册表文件,如果所述指定的注册表文件不为空,则读取所述其中保存的桌面背景信息,并触发根据所读取到的桌面背景信息恢复受控端的桌面背景设置的操作。可选地,所述确定待传输的图像包括基于所述受控端的显示界面进行图像抓取,获取显示界面图像;将所述显示界面图像划分为至少两个区块,将所述区块分别确定为待传输的图像;所述如果所述待传输的图像中包括全部或部分桌面背景,则将所述单色对应的色值传送给所述主控端,以便于主控端根据所述色值显示受控端的桌面背景,包括判断当前区块中是否包括桌面背景;如果是,则将所述单色对应的色值及当前区块的坐标传送给主控端,以便主控端根据所述当前区块对应的单色的色值及坐标对所述当前区块进行显示。可选地,还包括如果获取到当前区块中所包含的颜色种类为两种,则对两种颜色分别进行索引;以两种颜色分别对应的索引值对所述当前区块进行编码;将编码结果,以及所述索引值与颜色色值的对应关系传送给所述主控端;以便主控端根据所述编码结果,以及所述索引值与颜色色值的对应关系,显示所述当前区块。可选地,还包括如果获取到当前区块中所包含的颜色种类为至少三种,则对所述区块的平滑性进行判断;根据判断结果确定对所述当前区块的压缩方式;以所述压缩方式对所述区块相应的图像数据进行压缩;将压缩后的图像数据传送给所述主控端,以便主控端根据所述压缩后的图像数据显示所述当前区块。可选地,还包括根据预设时间间隔周期扫描受控端的显示界面;监测每次扫描中一个或多个所述区块中包含的颜色变化,将发生变化的区块坐标,以及变化后的颜色索引值,发送给主控端,以便主控端根据所述坐标以及颜色索引值,所述索引值与颜色色值的对应关系,显示对应的一个或多个区块。
可选地,还包括在将受控端的桌面背景显示为单色时,显示相应的提示信息。根据本发明的在远程控制过程中传输数据的设备及方法中,可以由设置单元在受控端与主控端建立起远程控制连接后,将受控端的桌面背景显示为单色;由确定单元确定待传输的图像后,由数据传送单元在待传输的图像中包括全部或部分桌面背景时,将单色对应的色值传送给所述主控端,从而可以使主控端根据传送的色值显示受控端的桌面背景,使受控端向主控端传输的桌面背景图片被数据量相对较小的色值替代,能够降低远程控制过程中从受控端向主控端传输的数据量,由此解决了远程控制过程中传输受控端背景图片占用大量带宽的问题,取得了降低传输受控端背景图片时所占用的带宽,提高远程控制操作的流畅度的有益效果。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式



通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图1示出了根据本发明一个实施例的方法的流程图;图2示出了根据本发明一个实施例的设备的示意图;图3示出了根据本发明另一个实施例的设备的示意图;以及,图4示出了根据本发明再一个实施例的设备的示意图。
具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。参见图1,本发明实施例提供了 一种在远程控制过程中传输数据的方法,该方法可以包括以下步骤SlOl :在与主控端建立起远程控制连接后,将受控端的桌面背景显示为单色;在本发明实施例中,考虑到在将受控端的显示界面数据向主控端传送的过程中,实际上很大一部分数据是代表受控端的桌面背景,并且一般情况下,受控端用户可能会将桌面背景设置为较为复杂的图片,传输这样的图片数据时,就需要占用较大的传输带宽。但实际上,受控端的桌面背景对于远程协助操作其实完全没有意义,因此,在传输桌面背景图片上所占用的传输带宽实际上是一种浪费。如果能够减少这部分数据,则会大大节省对传输带宽的占用,同时也不会影响远程协助服务的正常进行。为此,在本发明实施例中,在与主控端建立起远程控制连接后,并不是直接对受控端的显示界面进行截图,而是首先将受控端的桌面背景显示为单色,然后再进行图像的传送。这样,就会使得受控端的显示界面变得比较简单,在简单显示界面基础上进行截图进而对图片进行编码时,需要的信息量就会比较少,进而在进行数据报文的传送时,占用的传输带宽也就会比较少。其中,在将受控端的桌面背景设置为单色时,具体的颜色值可以是任意的,例如,可以是黑色等等。具体实现时,可以通过修改注册表中对应的表项的方式,来实现将桌面背景设置为某颜色值的单色。例如,注册表项HKEY CURRENT USER\Control Panel\Desktopd下的Wallpaper的键值代表桌面背景使用的图片的文件名,因此,为了将桌面背景改为单色值,首先就可以将该注册表项的键值改为空,这样就可以使得桌面背景图片为无,也即,不将任何一张图片设置为桌面背景图片;同时,可以通过修改注册表项HKEY⑶RRENTUSER\Control Panel\Colors下的Background的键值,来将桌面背景颜色设置为所需要的颜色。其中,Background的键值为字符串型,该字符串分为三段,每段之间以“空格”作为分隔符,三段数据分别代表三原色的取值,也即红色R、绿色G、蓝色B,每段数据的取值范围均为O至255,因此,可以通过为三个段输入对应的数值,就可以实现对桌面背景颜色的修改。例如,将Background的键值设置为“O O 0”,则桌面背景将显示为黑色,将Background的键值设置为“255 O 0”,则桌面背景将显示为红色,等等。在实际应用中,桌面背景的颜色值可以任意选择。当然,在具体实现时,可以在远程协助工具预先编写好对应的程序,并在程序中设置好所需桌面背景颜色的RGB值,然后通过该程序来修改系统的注册表项,即可实现上述将受控端桌面背景设置为单色。需要说明的是,由于将受控端的桌面背景改变为单色仅仅是为了在远程协助服务的过程中减少对传输带宽的占用,因此,在远程协助过程结束之后,还可以自动将桌面背景恢复到之前的状态,并且在将桌面背景改变为单色之后,还可以提示用户,“为了使得远程协助的过程更流畅,需要将其桌面背景暂时改为某种颜色,在远程协助完成之后会自动恢复”,等等。或者,还可以在修改之前询问用户是否允许对桌面背景进行临时性的修改,如果用户同意修改,再对其桌面背景进行修改。为了能够自动将桌面背景恢复到修改之前的状态,在将桌面背景设置为单色之前,还可以获取受控端的桌面背景信息,并将其保存到一个指定的注册表文件中。其中,所谓的桌面背景信息,可以包括桌面背景使用的图片的路径,以及背景图片的显示方式(居中、平铺或者拉伸),也即,需要获知在修改之前,桌面背景采用的是那幅图片,该图片是以居中、平铺还是拉伸的方式显示的,将这些信息保存在一个注册表文件中。然后,在需要恢复桌面背景设置时,就可以读取出这个注册表文件中保存的桌面背景信息,然后通过使用这些信息重新设置受控端的桌面背景即可。其中,具体在获取桌面背景信息时,可以通过读取注册表获取指定的注册表项的键值,根据该键值来获取到桌面背景图片的显示方式,同时,可以通过调用操作系统提供的API (Application Programming Interface,应用程序编程接口)函数的方式,来获取桌面背景图片的保存路径,也即知悉受控端使用的是哪幅图片。例如,通过读取HKEY_CURRENT_USER\Control Panel\Desktop 下的 WallpaperStyle 和 TileWallpaper 这两个注册表项的键值,即可获取到桌面背景图片使用的显示方式。例如,如果TileWallpaper的键值为0,WallpaperStyle的键值也为0,则代表桌面背景图片的显示方式为居中;如果Tileffallpaper的键值为I, WallpaperStyle的键值为O,则代表桌面背景图片的显示方式为平铺;如果TileWallpaper的键值为0,WallpaperStyle的键值为2,则代表桌面背景图片的显示方式为拉伸。因此,通过读取这两个注册表项的键值,即可获知当前的桌面背景图片采用的是何种显示方式。同时,可以通过调用系统提供的API的方式,来获取桌面背景图片的保存路径。该API函数可以是SystemParametersInfo, SystemParametersInfo函数可以用来查询或设置系统级参数,可以通过该函数获取到受控端使用的桌面背景图片的路径。在获取到桌面背景图片的路径以及显示方式之后,就可以将这些信息保存在一个注册表文件(以reg为后缀名的文件)中。这样,当需要将受控端的桌面背景恢复到修改之前的状态时,就可以从该注册表文件中读取出保存的桌面背景信息,然后用这些信息来修改对应的注册表项的键值(例如,可以包括TiIeWalIpaper、WalIpaperStyle、Wallpaper>ConvertedffalIpaper以及OriginalWallpaper的值),然后调用系统提供的API函数来通知操作系统基于修改后的注册表键值刷新被控端的桌面背景,就可以使得受控端的桌面背景恢复到修改前的状态。例如,同样可以调用SystemParametersInfo函数,将其参数设置为SPI_SETDESKWALLPAPER,即可通知操作系统使用修改后的注册表键值设置桌面背景图片。其中,在具体实现时,恢复桌面背景信息的时间点可以有多个。例如,可是在完成一次远程控制服务之后,执行恢复桌面背景信息的操作。其中,可以将与主控端断开远程控制连接的事件作为完成远程控制服务的标志,以及,在接收到断开与主控端之间的远程控制连接的消息时,首先执行恢复桌面背景信息的操作,然后再断开与主控端之间的连接。或者,也可以将退出远程控制程序的事件作为完成远程控制服务的标志,也即,当接收到退出远程控制程序的消息时(也即在断开与主控端之间的连接之后,例如用户点击受控端远程控制程序的关闭按钮时),首先执行恢复桌面背景信息的操作,然后再结束受控端的远程控制程序。当然,如果将与主控端断开远程控制连接的事件或者退出远程控制程序的事件作为恢复桌面背景的触发事件,则一旦远程控制程序在运行过程中出现故障导致异常退出,则桌面背景将无法自动恢复到原始状态。为了避免这种情况的产生,可以设置多个用于恢复的时间点,例如,可以包括远程控制连接断开时、远程控制程序退出时、远程控制程序下次启动时,等等;并且只要在任意一个时间点完成了桌面背景的恢复,就将注册表文件中保存的桌面背景信息删除。这样,各个时间点就可以通过判断注册表文件中是否为空,来判断是否已经执行过桌面背景的恢复操作,如果为空,则证明已经执行过恢复操作,则不再重复执行恢复操作,如果不为空,则证明尚未执行恢复操作,因此就可以执行恢复操作。例如,假设远程控制程序由于故障造成异常退出,尚未执行桌面背景的恢复操作,则在远程控制程序下次启动时,发现注册表文件不为空,就可以证明桌面背景尚未恢复,并根据注册表文件中保存的信息执行具体的恢复操作即可。以上所述是由受控端自行决定在何时进行桌面背景的恢复,在实际应用中,由于具体的协助操作是在主控端发出的,受控端只是执行主控端发出的指令,主控端更容易获知何一次远程协助服务在何时可以结束。因此,也可以由主控端向受控端发送恢复指示,这样受控端可以在收到主控端的指示之后,将受控端的桌面背景恢复为原始状态。其中,主控端发出的恢复指示,可以是由主控端用户手动发出的,例如,在主控端用户完成了此次服务的所有操作之后,可以首先向受控端发出一个恢复桌面背景的指令,待受控端完成桌面背景的恢复操作之后,再发出断开连接等指令。当然,主控端也可以是在发出断开连接指令的同时或者之后,发出恢复桌面背景的指令,等等。S102 :确定待传输的图像;在将受控端的桌面背景设置为单色之后,就可以确定待传输的图像,为向主控端传送做准备。其中,在确定待传输的图像时,可以对受控端的显示界面(包括桌面背景以及桌面上的图标、开始菜单、任务栏及其中显示的程序标签等等)进行截图,然后直接将截取到的图像作为待传输的图像,然后对该图像进行编码,将得到的数据报文传送给主控端即可。由于已经将桌面背景设置为单色,因此在对截取到的显示界面图片进行编码时所需的数据量就会变小,相应的,进行数据传输时就会减少对传输带宽的占用。或者,本发明实施例还可以与图像的分块传输相结合。在远程协助过程中进行图像传输时,通常会采用画面的部分区域更新方式进行图像的更新,也就是说,同样出于对降低传输带宽的考虑,如果在受控端发现与上一时刻相比,屏幕中只有部分区域的图像发生了变化,其他的区域不变,则可以仅将这部分发生了变换的区域图像传输给主控端。为了实现这种部分区域更新,通常需要对图像进行分块,也即在传输之前,先将图像分成一个一个的区块,然后再将这些区块分别进行编码,并将各个区块的编码信息以及坐标(包括各个区块的起始坐标、所占的宽高像素值,等等)发送到主控端,在主控端按照各个区块的编码信息转换成图片,并按照各自的坐标值对各个区块进行组合,得到完整的图像,从而展现出被控端的显示界面。如果受控端在下一时刻对显示界面截图得到图像之后,可以按照同样的方式对图像进行分块,然后与上一时刻对应位置上的区块进行比较,仅将发生变换的区块进行编码,并将得到的数据报文及区块对应的坐标发送到主控端,与上一时刻比未发生变化的区块则可以不必再重复发送到主控端。主控端可以将新接收到的发生变化的区块与原来接收到的未发生变化的区块按照各自的坐标进行组合,得到完整的图像,以此类推。而在本发明实施例中,在将受控端的桌面背景设置为单色之后,同样可以将抓取到的显示界面图像按照一定的方式划分为多个区块,然后将各个区块作为待传输的图像,进而对每个区块进行编码,之后再发送到主控端。需要说明的是,关于具体如何对图像进行分块,以及如何确定各个区块的坐标、宽高等,可以参见已有技术中的实现方式,这里不再详述。S103:如果所述待传输的图像中包括全部或部分桌面背景,则将所述单色对应的色值传送给所述主控端,以便于主控端根据所述色值显示受控端的桌面背景。在确定了待传输的图像之后,就可以对待传输图像进行编码,将得到的数据报文发送到主控端,以便在主控端显示出受控端的显示界面。其中,如果待传输的图像中包括全部或部分桌面背景,则就可以将桌面背景的单色对应的色值传送给主控端。其中,在结合图像分块传输的情况下,效果尤为明显。这是因为,一般情况下,显示界面中会有很大的面积是桌面背景,例如,如果用户没有打开任何程序窗口,则用户的显示界面中可能仅在左侧等位置显示一些图标,在最下方显示“开始”按钮以及状态栏,其余部分均为桌面背景;这样对显示界面图像进行分块之后,得到的各个区块中,就可能有很大一部分区块都是仅包括桌面背景,因此,对于这样的区块而言,只要将该区块的坐标以及桌面背景的色值发送给主控端而言,而不用再对该区块中的各个像素进行编码,因此,大大节省了编码数据量,进而节省传输带宽。而对于不仅仅包含桌面背景的区块而言,本发明实施例也提供了相应的图像编码方法,以尽可能降低对传输带宽的占用。具体的,可以对区块中包含的颜色种类进行判断,如果只有两种颜色,则可以对两种颜色分别进行索引,然后以两种颜色分别对应的索引值对所述当前区块进行编码,再将编码结果,以及索引值与颜色值的对应关系传送给主控端,这样主控端就可以根据编码结果,以及索引值与颜色值的对应关系,显示出当前区块。例如,在获取到两种颜色值之后,可以用O代表其中一种颜色值,用I代表另一种颜色值,然后用O和I做索引,按区块里从上到下一行一行的顺序对各个像素进行编码,对于各个像素而言,如果是第一种颜色值就编码成O,如果是第二种颜色值就编码成I。这样,索引值只有一位,索引值对应的颜色值可以是24位,因为颜色值需要通过RGB的具体取值来表示出具体为什么颜色。也就是说说,在这种方式下,并不需要将每个像素都用24位的颜色值来进行编码,而是仅用I位的索引值来对各个像素进行编码,同时将两个索引值分别对应的颜色值发送给主控端即可。换言之,假设某区块共有一万个像素,则如果每个像素都用24位的颜色值来进行编码,则编码后的数据量至少为24万比特,而如果按照本发明实施例提供的编码方式,编码后的数据量仅为I万比特,而另外只需要通过几十比特的数据即可表示出编码值与颜色值之间的对应关系,可见,这种方式大大降低了图像编码所需的数据量,进而节省传输带宽。另外,如果某区块中包含的颜色值超过三种,则可以对区块图像的平滑性进行判断,然后据判断结果确定该区块的压缩方式,以这种适当的压缩方式对该区块的图像进行压缩,然后将压缩后的图像数据传送给主控端,以便主控端根据压缩后的图像数据显示当前区块。例如,如果平滑则用JPEG( Joint Photographic Experts Group,联合图像专家小组)算法进行压缩,如果不平滑则用ZIP算法进行压缩。其中,所谓的平滑是与尖锐相对的概念,平滑就是指图像中各个图像之间颜色的过度比较平缓,整幅图像画面比较柔和,没有太清晰的边缘界限,等等。在判断一幅图像是否平滑时,可以判断图像内相邻象素的颜色差异的总和是否小于一个阈值(其取值可以根据实际的需要来设定或调整),如果小于,则证明该图像比较平滑,进而可以选择更适合平滑图像的JPEG算法进行压缩;否则该图像不平滑,也即比较尖锐,进而可以选择更适合不平滑图像的ZIP算法进行压缩。当然,由于不同的区块采用的图像压缩算法可能不同,因此,为了主控端能够正确地解码,还可以在向主控端传输压缩后的数据报文的同时,携带上对应区块的图像压缩算法,以便主控端利用对应的解压算法,恢复出对应区块图像。其中,ZIP是一种无损的压缩方式,对于确定的图像,其压缩比例是相同的;但JPEG算法则可以根据不同的压缩质量要求来调整其压缩比例,并且,在相同压缩质量的情况下,平滑度与压缩比例成反比,也即,在使用JPEG算法对平滑的图像进行压缩时,如果所需的压缩质量一定,则可以根据图像的平滑度来选择JPEG算法的压缩比例,如果图像的平滑度越高,则可以使用越低的压缩比例,否则,如果图像的平滑度越低,则也使用的压缩比例也越高。另外,在相同的压缩比例的情况下,图像压缩质量与图像平滑度成正比,也即,图像平滑度越高,则图像压缩质量也就越高。需要说明的是,具体在判断一个区块中那个包含的颜色值的数量时,可以遍历区域里的每个象素,获知到第一个像素的颜色值时,将该颜色值保存在一个颜色值表中,获知到下一个像素的颜色值之后,首先判断颜色值表中是否存在该颜色值,如果不在表里,则代表发现一个新的颜色,同时把这个颜色值插入到颜色值表里,如果已经在颜色值表中了,则继续遍历,以此类推,最终就可以获知到一个区块中共包含多少个像素值。当然,如前文所述,如果发现一个区块中包含三个以上的颜色值,就采用判断平滑度的方式来选择压缩算法进行压缩后发送,因此,在遍历的过程中,当发现三种颜色值之后,就可以停止遍历,以节省操作时间。另外,在实际应用中,如果一个区块中包括三种甚至更多颜色时,也可以使用与前述两种具有颜色值时类似的索引方法对图像进行编码,只是在包含的颜色值非常多,以至于一个索引值所占的比特数接近一个颜色值所占的比特数时,就没有必要按照这种方式进行索引来,根据平滑度选择压缩方式进行压缩即可。总之,在将受控端桌面背景设置为单色之后,可以通过多种方式来尽可能的降低对传输带宽的占用。当受控端的数据报文传输到主控端 之后,主控端就可以对数据报文进行解析,并还原出受控端显示界面的图像。同时,在受控端,还会根据预设时间间隔周期扫描受控端的显示界面,监测每次扫描中一个或多个所述区块中包含的颜色变化,将发生变化的区块坐标,以及变化后的图像编码结果,发送给主控端,以便主控端根据所述坐标以及图像编码结果,显示对应的一个或多个区块。与本发明实施例提供的在远程控制过程中传输数据的方法相对应,本发明实施例还提供了一种在远程控制过程中传输数据的设备,参见图2,该设备可以被配置在远处协助系统的受控端,具体可以包括设置单元201,适于在与主控端建立起远程控制连接后,将受控端的桌面背景显示为单色;确定单元202,适于确定待传输的图像;数据传送单元203,适于如果所述待传输的图像中包括全部或部分桌面背景,则将所述单色对应的色值传送给所述主控端,以便于主控端根据所述色值显示受控端的桌面背

-5^ O为了能够在远程协助服务结束后,将受控端的桌面背景恢复到原始的状态,在实际应用中,参见图3,该设备还可以包括恢复单元204,适于在预置的时间点,将受控端的桌面背景恢复为原始状态。具体实现时,为了实现上述恢复过程,所述设置单元201具体可以包括信息获取子单元,适于在与主控端建立起远程控制连接后,获取受控端的桌面背景信息,并将所述桌面背景信息保存到指定的注册表文件中;设置子单元,适于按照预置的颜色值将所述受控端的桌面背景设置为单色;所述恢复单元204具体可以包括信息读取子单元,适于根据主控端的指示或在预置的时间点,读取所述指定的注册表文件中保存的桌面背景信息;恢复子单元,用于根据所读取到的桌面背景信息恢复受控端的桌面背景设置。其中,所述桌面背景信息包括受控端使用的桌面背景图片及其显示方式,所述显示方式包括拉伸、居中或平铺,所述信息获取子单元包括第一系统函数调用子单元,适于通过调用操作系统提供的应用程序编程接口 API函数,获取被控端使用的桌面背景图片的路径;注册表读取子单元,适于通过读取系统的注册表获取被控端桌面背景图片的显示方式;所述恢复子单元包括注册表修改子单元,适于根据所读取到的桌面背景信息修改系统的注册表项键值;第二系统函数调用子单元,适于通过调用操作系统的API函数通知操作系统基于修改后的注册表键值刷新被控端的桌面背景。此外,该设备还可以包括信息删除单元,适于在受控端的桌面背景设置之后,删除所述指定的注册表文件中保存的桌面背景信息;所述信息读取子单元具体适于在远程控制连接断开时、远程控制程序退出时或远程控制程序重新启动时,读取所述指定的注册表文件,如果所述指定的注册表文件不为空,则读取所述其中保存的桌面背景信息,并触发所述恢复子单元根据所读取到的桌面背景信息恢复受控端的桌面背景设置。在实际应用中,本发明实施例还可以与图像的分块传输技术相结合,具体的,参见图4,所述确定单元202可以包括抓取子单元2021,适于基于所述受控端的显示界面进行图像抓取,获取显示界面图像;分块子单元2022,适于将所述显示界面图像划分为至少两个区块,将所述区块分别确定为待传输的图像;所述数据传送单元203,包括判断子单元2031,适于判断当前区块中是否包括全部或部分桌面背景;数据传送子单元2032,适于如果判断当前区块中包括全部或部分桌面背景,则将所述单色对应的色值及当前区块的坐标传送给主控端,以便主控端根据所述当前区块对应的单色的色值及坐标对所述当前区块进行显示。具体实现时,该设备还可以包括索引单元,适于如果获取到当前区块中所包含的颜色种类为两种,则对两种颜色分别进行索引;编码执行单元,适于以两种颜色分别对应的索引值对所述当前区块进行编码;编码传送单元,适于将编码结果,以及所述索引值与颜色值的对应关系传送给所述主控端;以便主控端根据所述编码结果,以及所述索引值与颜色值的对应关系,显示所述当前区块。另外,该设备还可以包括平滑性检测单元,适于如果获取到当前区块中所包含的颜色种类为至少三种,则对所述区块的平滑性进行判断;压缩方式确定单元,适于根据判断结果确定对所述当前区块的压缩方式;压缩执行单元,适于以所述压缩方式对所述区块相应的图像数据进行压缩;压缩数据传送单元,适于将压缩后的图像数据传送给所述主控端,以便主控端根据所述压缩后的图像数据显示所述当前区块。
在远程协助的过程中,该设备还可以包括监控单元,适于根据预设时间间隔周期扫描受控端的显示界面;更新单元,适于监测每次扫描中一个或多个所述区块中包含的颜色变化,将发生变化的区块坐标,以及变化后的图像编码结果,发送给主控端,以便主控端根据所述坐标以及图像编码结果,显示对应的一个或多个区块。此外,该设备还可以包括提示单元,适于在将受控端的桌面背景显示为单色时,显示相应的提示信息。在本发明实施例的在远程控制过程中传输数据的设备中,可以由设置单元在受控端与主控端建立起远程控制连接后,将受控端的桌面背景显示为单色;由确定单元确定待传输的图像后,由数据传送单元在待传输的图像中包括全部或部分的桌面背景时,将单色对应的色值传送给所述主控端,从而可以使主控端根据传送的色值显示受控端的桌面背景,使受控端向主控端传输的桌面背景图片被数据量相对较小的色值替代,能够降低远程控制过程中从受控端向主控端传输的数据量,由此解决了远程控制过程中传输受控端背景图片占用大量带宽的问题,取得了降低传输受控端背景图片时所占用的带宽,提高远程控制操作的流畅度的有益效果。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式
的权利要求书由此明确地并入该具体实施方式
,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的在远程控制过程中传输数据的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。本申请可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
权利要求
1.一种在远程控制过程中传输数据的设备,包括设置单元,适于在与主控端建立起远程控制连接后,将受控端的桌面背景显示为单色;确定单兀,适于确定待传输的图像;数据传送单元,适于如果所述待传输的图像中包括全部或部分桌面背景,则将所述单色对应的色值传送给所述主控端,以便于主控端根据所述色值显示受控端的桌面背景。
2.如权利要求1所述的设备,还包括恢复单元,适于根据主控端的指示或者在预置的时间点,将受控端的桌面背景恢复为原始状态。
3.如权利要求1或2所述的设备,所述设置单元包括信息获取子单元,适于在与主控端建立起远程控制连接后,获取受控端的桌面背景信息,并将所述桌面背景信息保存到指定的注册表文件中;设置子单元,适于按照预置的颜色值将所述受控端的桌面背景设置为单色;所述恢复单元包括信息读取子单元,适于在预置的时间点,读取所述指定的注册表文件中保存的桌面背景 目息;恢复子单元,用于根据所读取到的桌面背景信息恢复受控端的桌面背景设置。
4.如权利要求1至3任一项所述的设备,所述桌面背景信息包括受控端使用的桌面背景图片及其显示方式,所述显示方式包括拉伸、居中或平铺,所述信息获取子单元包括第一系统函数调用子单元,适于通过调用操作系统提供的应用程序编程接口 API函数,获取被控端使用的桌面背景图片的路径;注册表读取子单元,适于通过读取系统的注册表获取被控端桌面背景图片的显示方式;所述恢复子单元包括注册表修改子单元,适于根据所读取到的桌面背景信息修改系统的注册表项键值;第二系统函数调用子单元,适于通过调用操作系统的API函数通知操作系统基于修改后的注册表键值刷新被控端的桌面背景。
5.如权利要求1至4任一项所述的设备,还包括信息删除单元,适于在受控端的桌面背景设置之后,删除所述指定的注册表文件中保存的桌面背景信息;所述信息读取子单元具体适于在远程控制连接断开时、远程控制程序退出时或远程控制程序重新启动时,读取所述指定的注册表文件,如果所述指定的注册表文件不为空,则读取所述其中保存的桌面背景信息,并触发所述恢复子单元根据所读取到的桌面背景信息恢复受控端的桌面背景设置。
6.如权利要求1至5任一项所述的设备,所述确定单元包括抓取子单元,适于基于所述受控端的显示界面进行图像抓取,获取显示界面图像;分块子单元,适于将所述显示界面图像划分为至少两个区块,将所述区块分别确定为待传输的图像;所述数据传送单元,包括判断子单元,适于判断当前区块中是否包括全部或部分桌面背景;数据传送子单元,适于如果判断当前区块中包括全部或部分桌面背景,则将所述单色对应的色值及当前区块的坐标传送给主控端,以便主控端根据所述当前区块对应的单色的色值及坐标对所述当前区块进行显示。
7.如权利要求1至6任一项所述的设备,还包括索引单元,适于如果获取到当前区块中所包含的颜色种类为两种,则对两种颜色分别进行索引;编码执行单元,适于以两种颜色分别对应的索引值对所述当前区块进行编码;编码传送单元,适于将编码结果,以及所述索引值与颜色值的对应关系传送给所述主控端;以便主控端根据所述编码结果,以及所述索引值与颜色值的对应关系,显示所述当前区块。
8.如权利要求1至7任一项所述的设备,还包括平滑性检测单元,适于如果获取到当前区块中所包含的颜色种类为至少三种,则对所述区块的平滑性进行判断;压缩方式确定单元,适于根据判断结果确定对所述当前区块的压缩方式;压缩执行单元,适于以所述压缩方式对所述区块相应的图像数据进行压缩;压缩数据传送单元,适于将压缩后的图像数据传送给所述主控端,以便主控端根据所述压缩后的图像数据显示所述当前区块。
9.如权利要求1至8任一项所述的设备,还包括监控单元,适于根据预设时间间隔周期扫描受控端的显示界面;更新单元,适于监测每次扫描中一个或多个所述区块中包含的颜色变化,将发生变化的区块坐标,以及变化后的图像编码结果,发送给主控端,以便主控端根据所述坐标以及图像编码结果,显示对应的一个或多个区块。
10.如权利要求1至9任一项所述的设备,还包括提示单元,适于在将受控端的桌面背景显示为单色时,显示相应的提示信息。
11.一种在远程控制过程中传输数据的方法,包括在与主控端建立起远程控制连接后,将受控端的桌面背景显示为单色;确定待传输的图像;如果所述待传输的图像中包括全部或部分桌面背景,则将所述单色对应的色值传送给所述主控端,以便于主控端根据所述色值显示受控端的桌面背景。
12.如权利要求11所述的方法,还包括根据主控端的指示或在预置的时间点,将受控端的桌面背景恢复为原始状态。
13.如权利要求11或12所述的方法,所述在与主控端建立起远程控制连接后,将受控端的桌面背景显示为单色包括在与主控端建立起远程控制连接后,获取受控端的桌面背景信息,并将所述桌面背景信息保存到指定的注册表文件中;按照预置的颜色值将所述受控端的桌面背景设置为单色;所述在预置的时间点,将受控端的桌面背景恢复为原始状态包括在预置的时间点,读取所述指定的注册表文件中保存的桌面背景信息;根据所读取到的桌面背景信息恢复受控端的桌面背景设置。
14.如权利要求11至13任一项所述的方法,所述桌面背景信息包括受控端使用的桌面背景图片及其显示方式,所述显示方式包括拉伸、居中或平铺,所述获取受控端的桌面背景信息包括通过操作调用系统提供的应用程序编程接口 API函数,获取受控端使用的桌面背景图片的路径;通过读取系统的注册表获取受控端桌面背景图片的显示方式;所述根据所读取到的桌面背景信息恢复受控端的桌面背景设置包括根据所读取到的桌面背景信息修改系统的注册表项键值;通过调用操作系统的API函数通知操作系统基于修改后的注册表键值刷新受控端的桌面背景。
15.如权利要求11至14任一项所述的方法,还包括在受控端的桌面背景设置之后,删除所述指定的注册表文件中保存的桌面背景信息;所述在预置的时间点,将受控端的桌面背景恢复为原始状态包括在远程控制连接断开时、远程控制程序退出时或远程控制程序重新启动时,读取所述指定的注册表文件,如果所述指定的注册表文件不为空,则读取所述其中保存的桌面背景信息,并触发根据所读取到的桌面背景信息恢复受控端的桌面背景设置的操作。
16.如权利要求11至15任一项所述的方法,所述确定待传输的图像包括基于所述受控端的显示界面进行图像抓取,获取显示界面图像;将所述显示界面图像划分为至少两个区块,将所述区块分别确定为待传输的图像;所述如果所述待传输的图像中包括全部或部分桌面背景,则将所述单色对应的色值传送给所述主控端,以便于主控端根据所述色值显示受控端的桌面背景,包括判断当前区块中是否包括桌面背景;如果是,则将所述单色对应的色值及当前区块的坐标传送给主控端,以便主控端根据所述当前区块对应的单色的色值及坐标对所述当前区块进行显示。
17.如权利要求11至16任一项所述的方法,还包括如果获取到当前区块中所包含的颜色种类为两种,则对两种颜色分别进行索引;以两种颜色分别对应的索引值对所述当前区块进行编码;将编码结果,以及所述索引值与颜色色值的对应关系传送给所述主控端;以便主控端根据所述编码结果,以及所述索引值与颜色色值的对应关系,显示所述当前区块。
18.如权利要求11至17任一项所述的方法,还包括如果获取到当前区块中所包含的颜色种类为至少三种,则对所述区块的平滑性进行判断;根据判断结果确定对所述当前区块的压缩方式;以所述压缩方式对所述区块相应的图像数据进行压缩;将压缩后的图像数据传送给所述主控端,以便主控端根据所述压缩后的图像数据显示所述当前区块。
19.如权利要求11至18任一项所述的方法,还包括根据预设时间间隔周期扫描受控端的显示界面;监测每次扫描中一个或多个所述区块中包含的颜色变化,将发生变化的区块坐标,以及变化后的颜色索引值,发送给主控端,以便主控端根据所述坐标以及颜色索引值,所述索引值与颜色色值的对应关系,显示对应的一个或多个区块。
20.如权利要求11至19任一项所述的方法,还包括在将受控端的桌面背景显示为单色时,显示相应的提示信息。
全文摘要
本发明涉及网络数据通信技术领域,其公开了在远程控制过程中传输数据的设备及方法,其中,所述设备包括设置单元,适于在与主控端建立起远程控制连接后,将受控端的桌面背景显示为单色;确定单元,适于确定待传输的图像;数据传送单元,适于如果所述待传输的图像中包括全部或部分桌面背景,则将所述单色对应的色值传送给所述主控端,以便于主控端根据所述色值显示受控端的桌面背景。通过本发明,解决了远程控制过程中传输受控端背景图片占用大量带宽的问题,取得了降低传输受控端背景图片时所占用的带宽,提高远程控制操作的流畅度的有益效果。
文档编号G06F3/14GK103019641SQ20121054123
公开日2013年4月3日 申请日期2012年12月13日 优先权日2012年12月13日
发明者刘晓燕, 马小丁 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1