CN100374999C - 一种网络计算机远程监控的方法 - Google Patents
一种网络计算机远程监控的方法 Download PDFInfo
- Publication number
- CN100374999C CN100374999C CNB2005100568896A CN200510056889A CN100374999C CN 100374999 C CN100374999 C CN 100374999C CN B2005100568896 A CNB2005100568896 A CN B2005100568896A CN 200510056889 A CN200510056889 A CN 200510056889A CN 100374999 C CN100374999 C CN 100374999C
- Authority
- CN
- China
- Prior art keywords
- screen
- mouse
- rfb
- current
- scanning
- 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.)
- Active
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种网络计算机远程监控的方法,RFB服务器软件为每个与RFB服务器端建立连接的RFB客户端启动:鼠标扫描线程和屏幕扫描线程;所述鼠标扫描线程实时监控当前RFB服务器端的鼠标位置变化,并将指示当前鼠标位置变化的屏幕信息发送至RFB客户端;所述屏幕扫描线程实时监控当前屏幕信息的变化,并将发生变化的屏幕信息发送至RFB客户端;所述RFB客户端根据接收到的所述指示当前鼠标位置变化的屏幕信息或所述发生变化的屏幕信息更新自身的屏幕信息。应用本发明方法能够提高RFB服务器端软件的鼠标监控效率,使RFB客户端用户得以远程实现控制功能。
Description
技术领域
本发明涉及网络计算机的应用技术,特别涉及实现网络计算机远程监控的方法。
背景技术
网络计算机(NC,Network Computer)是一种无硬盘、光驱、软驱等设备的简化计算机,其利用本地资源或服务器资源进行计算,利用服务器资源进行数据存储,具有安全、可靠、易管理等特点,并已在政府、职能部门、和企业中得到了广泛应用。与普通计算机不同,网络计算机除了运行本地应用以外,主要是通过登录WBT(指服务器端运行Windows系列操作***)或者UBT(指服务器端运行Unix或Linux系列操作***),运行服务器上的应用。目前,以登录WBT方式下的应用居多,其采用的通讯协议主要有远程桌面协议(RDP,Remote Desktop Protocol)和独立计算结构协议(ICA,Independent Computing Architecture)两种。
其中,高可管理性是网络计算机的一个主要需求。在实际应用中,网络计算机会分布在企业的各个位置,且有时会比较离散,因此,管理员需要在自己的计算机上看到网络计算机的屏幕,并能通过自己的计算机来远程配置网络计算机或对网络计算机的故障进行诊断。这样,不但可以极大减少***维护成本,并且可以对网络计算机的用户行为进行监控,提高工作效率。于是目前,在网络计算机的应用技术中,很重要的一部分就是远程监控***。
当前大部分的远程监控***都是基于远程帧缓冲区(RFB,RemoteFrame Buffer)协议来实现的。在监控过程中,被监控的主机也被称为RFB服务器端首先要运行RFB服务器软件,该软件将监听RFB客户端即监控主机的连接请求。一旦RFB客户端通过RFB协议连接到RFB服务器后,RFB服务器端将会把RFB服务器端的屏幕抓取过来,并通过RFB协议传送给所述RFB客户端。这样,管理员就能在RFB客户端上实时的看到所述RFB服务器端的整个屏幕,同时,管理员也可以通过鼠标和键盘来操纵该屏幕,这些操作都会通过RFB协议实时的传递给RFB服务器端,RFB服务器软件会将这些操作事件放入其所在主机的消息队列中,进而达到对RFB服务器端进行远程监控的目的。
当前比较成熟的RFB服务器软件主要运行在Linux和Windows操作***上,网络计算机采用的操作***分为嵌入式Linux和Wince两种。Wince是微软开发的一款嵌入式操作***,但是,目前在Wince平台上运行的RFB服务器软件的性能并不理想,基本达不到产品化的要求。
由于,所述Wince平台上运行的RFB服务器软件采用查询的方式了解RFB服务器端的屏幕是否发生变化,并将发生变化的部分发送给RFB客户端。因此,采用此种处理机制,在实际应用中将出现如下问题:
RFB服务器软件为了了解屏幕是否发生变化,只能通过查询的方式来比较当前屏幕信息是否与以前的屏幕信息一致。为了更好的实现比较,首先将屏幕划分为大小相同的一系列区域,然后启动一个线程来对每个区域进行比较,一旦某个区域发生了变化,就将该区域的屏幕信息发送给RFB客户端,RFB客户端就可以看到RFB服务器端的屏幕了。但是,屏幕的信息量非常大,整个屏幕的比较过程非常耗时。比如:对于1024×768象素大小的屏幕来说,如果每个区域的大小为64×32象素,这样就会有348个区域,全部比较下来则需要2至3秒,一旦屏幕的变化集中于右下方,则需要2秒以后才会比较得到变化的区域信息,因此RFB客户端屏幕的同步相当缓慢。
为了实现监控功能,用户还需要在RFB客户端通过鼠标和键盘来控制RFB服务器端。当用户在RFB客户端移动鼠标时,RFB客户端会将鼠标的移动信息以RFB协议的形式传送给RFB服务器端,RFB服务器端提取鼠标的信息,并在自身所在主机上模拟出该鼠标的行为。然后RFB服务器端再将自身鼠标位置的变化信息发送给RFB客户端,进而达到RFB客户端通过鼠标控制RFB服务器端的目的。
但是,由于鼠标位置的变化被看作屏幕变化的一部分,当RFB客户端的鼠标变化信息发送给RFB服务器端后,只有等RFB服务器软件执行了整个屏幕的对比以后才会将鼠标位置的更新传递给RFB客户端。并且,根据前面所述可知RFB服务器软件对比整个屏幕的效率非常低,所以RFB客户端所看到的RFB服务器端的鼠标变化,将变得非常跳跃,没有一点连贯性,使得RFB客户端的用户几乎不能控制鼠标。这样,就无法在RFB客户端实现重要的控制功能。
综上所述,在现有的网络计算机远程监控技术中,基于Wince平台的RFB服务器软件不能高效对RFB服务器端屏幕和鼠标进行监控,使RFB服务器端和RFB客户端的屏幕同步过于缓慢,并且RFB服务器端鼠标位置的变化无法及时传输至RFB客户端,造成用户在RFB客户端无法对RFB服务器端实现有效控制。
发明内容
有鉴于此,本发明的主要目的在于提供一种网络计算机远程监控的方法,能够提高基于Wince平台的RFB服务器软件的监控效率,使RFB服务器端与RFB客户端之间实现理想的鼠标同步效果,从而用户在RFB客户端得以对RFB服务器端进行有效控制。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种网络计算机远程监控的方法,RFB服务器软件为每个与RFB服务器端建立连接的RFB客户端启动鼠标扫描线程和屏幕扫描线程;
所述鼠标扫描线程包括:
A1.判断当前RFB服务器端的鼠标位置是否发生变化,如果是,执行步骤B1;否则返回步骤A1;
B1.将指示当前鼠标位置变化的屏幕信息发送至RFB客户端,返回步骤A1;
所述屏幕扫描线程包括:
A2.判断当前屏幕信息是否发生变化,如果是,执行步骤B2;否则返回步骤A2;
B2.将发生变化的屏幕信息发送至RFB客户端,返回步骤A2;
所述RFB客户端根据接收到的所述指示当前鼠标位置变化的屏幕信息或所述发生变化的屏幕信息更新自身的屏幕信息。
其中,该方法进一步包括:将RFB服务器端的屏幕划分为一个或一个以上的子屏幕;该一个或一个以上子屏幕一一对应一个或一个以上的所述屏幕扫描线程,且每个屏幕扫描线程的扫描范围配置为自身对应的子屏幕的覆盖范围;
RFB服务器软件为每个与RFB服务器端建立连接的RFB客户端启动:鼠标扫描线程和该一个或一个以上子屏幕对应的一个或一个以上的屏幕扫描线程。
其中,该方法进一步包括:所述RFB服务器软件首先启动主线程;
所述主线程包括:
在RFB客户端建立连接时,为该RFB客户端启动所述鼠标扫描线程和所述一个或一个以上的屏幕扫描线程;
在RFB客户端退出连接时,结束该RFB客户端对应的鼠标扫描线程和一个或一个以上的屏幕扫描线程。
其中,所述鼠标扫描线程中,
所述步骤A1包括:
A11.获取当前RFB服务器端的初始鼠标位置信息并保存为鼠标原来位置;
A12.获取所述RFB服务器端的当前鼠标位置信息并保存为鼠标当前位置,判断所述鼠标当前位置与所述鼠标原来位置是否相同,如果相同,返回步骤A12;否则执行步骤B1;
所述步骤B1为:将指示当前鼠标位置变化的屏幕信息发送至RFB客户端,将鼠标原来位置的值更新为步骤A12所述鼠标当前位置的值,返回步骤A12。
其中,所述鼠标扫描线程进一步包括:获取当前RFB服务器端的光标大小;
步骤B1中,所述指示当前鼠标位置变化的屏幕信息包括:步骤A12所述鼠标原来位置处所述光标大小的屏幕信息和步骤A12所述鼠标当前位置处所述光标大小的屏幕信息;
所述RFB客户端根据所述指示当前鼠标位置变化的屏幕信息更新自身屏幕信息的方法为:将自身所述鼠标原来位置处光标大小的屏幕信息更新为所接收到的所述鼠标原来位置处光标大小的屏幕信息,将自身所述鼠标当前位置处光标大小的屏幕信息更新为所接收到的所述鼠标当前位置处光标大小的屏幕信息。
其中,所述鼠标扫描线程中,所述获取RFB服务器端初始鼠标位置信息或当前鼠标位置信息的方法为:通过调用RFB服务器端的***函数获取所述初始鼠标位置信息或当前鼠标位置信息。
其中,将每个所述子屏幕划分为一个或一个以上的扫描区域;
每个所述屏幕扫描线程中,
所述步骤A2为:对自身对应子屏幕内的每个扫描区域进行扫描,判断是否有扫描区域的屏幕信息发生变化,如果是,执行步骤B2;否则返回步骤A2;
步骤B2中,所述发生变化屏幕信息为:所述屏幕信息发生变化的扫描区域的屏幕信息;
所述RFB客户端根据接收到的屏幕信息发生变化的扫描区域的屏幕信息更新自身屏幕信息的方法为:将自身屏幕中对应区域的屏幕信息更新为所述屏幕信息发生变化的扫描区域的屏幕信息。
其中,所述RFB服务器端的屏幕被划分为十六个子屏幕,该十六个子屏幕一一对应十六个屏幕扫描线程。
由上述方案可以看出,本发明的关键在于:RFB服务器软件分别为与RFB服务器端建立连接的RFB客户端启动鼠标扫描线程和屏幕扫描线程;所述鼠标扫描线程用于对RFB服务器端的鼠标位置进行监控,并将鼠标位置的变化信息发送给RFB客户端;所述屏幕扫描线程用于对RFB服务器端的屏幕信息进行监控,并将屏幕的变化信息发送给RFB客户端;所述RFB客户端根据接收到的鼠标位置变化信息以及屏幕变化信息完成自身鼠标位置以及屏幕信息的更新。
因此,本发明所提供的网络计算机远程监控方法,能够提高基于Wince平台的RFB服务器软件扫描鼠标和屏幕的效率,使用户在RFB客户端看到的鼠标位置变化更趋近于RFB服务器端鼠标的真实情况,并显著提高RFB服务器端与RFB客户端屏幕同步的速度,从而真正实现RFB客户端用户对RFB服务器端的实时监控。
附图说明
图1为本发明方法中主线程一较佳实施例处理流程示意图;
图2为图1所述鼠标扫描线程一较佳实施例处理流程示意图;
图3为图1所述屏幕扫描线程一较佳实施例处理流程示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明方法的主要处理思想为:RFB服务器端软件分别启动鼠标扫描线程和屏幕扫描线程,用于对RFB服务器端的鼠标和屏幕的变化分别进行监控。为了进一步提高屏幕监控的效率,该方法还进一步将RFB服务器端的整个屏幕划分为一个或一个以上的子屏幕,每个子屏幕对应一个屏幕扫描线程,各屏幕扫描线程分别监控各自对应子屏幕内的屏幕变化。由于,RFB服务器软件将为每个与RFB服务器端建立连接的RFB客户端启动鼠标扫描线程和一个或一个以上的屏幕扫描线程,为了实现多个RFB客户端对RFB服务器端的并发监控,该方法还进一步首先启动主线程,用于集中控制各RFB客户端的鼠标扫描线程和屏幕扫描线程。
图1为本发明方法中主线程一较佳实施例处理流程示意图。本实施例中,将整个屏幕划分为十六个子屏幕,每个子屏幕对应一个屏幕扫描线程。如图1所示,具体处理包括:
步骤101:RFB服务器软件启动后,主线程读取注册表信息,对RFB服务器软件的端口、密码等参数进行初始化,并创建RFB服务器端与RFB客户端的SOCKET通信接口,开始实时监听来自RFB客户端的建立连接请求。
步骤102:判断是否有RFB客户端建立连接,如果是,执行步骤103;否则返回步骤102。
步骤103:为步骤102所述建立连接的RFB客户端启动鼠标扫描线程和十六个屏幕扫描线程,所述鼠标扫描线程和十六个屏幕扫描线程将分别对各自对应的鼠标位置信息、十六个子屏幕的屏幕信息的变化进行监控,并将鼠标位置的变化信息、以及各子屏幕的变化信息实时发送给RFB客户端。
其中,所述鼠标扫描线程和屏幕扫描线程的具体处理将在以下的图2和图3中加以详细说明,这里不再阐述。
另外,在启动所述屏幕扫描线程时还要为各屏幕扫描线程配置一系列参数,比如:各屏幕扫描线程各自的扫描区域,即各屏幕扫描线程对应的子屏幕的覆盖范围等等。
步骤104:判断是否步骤102所述建立连接的RFB客户端退出连接,如果是,执行步骤105;否则执行步骤106。
步骤105:结束步骤104所述退出连接的RFB客户端的鼠标扫描线程和十六个屏幕扫描线程,返回步骤102,继续监控是否有RFB客户端建立连接。
上述步骤103至步骤105的处理为主线程对于一个RFB客户端进行的处理,针对每个与RFB服务器端建立连接的RFB客户端,所述主线程均将执行所述步骤103至步骤105的处理,从而达到并发处理多个RFB客户端的建立连接请求的目的,实现大量RFB客户端对RFB服务器端的并发监控功能。
步骤106:判断RFB服务器软件是否退出,如果是,结束当前处理;否则返回步骤102,继续监控是否有RFB客户端建立连接。
图2为图1所述鼠标扫描线程一较佳实施例处理流程示意图。如图2所示,该鼠标扫描线程具体包括:
步骤201:获取RFB服务器端的本地光标大小,用于确定指示鼠标位置变化的屏幕信息占用的屏幕区域大小。
步骤202:获取鼠标的初始位置信息并保存为鼠标原来位置。
步骤203:获取当前鼠标的位置信息并保存为鼠标当前位置。
其中,所述鼠标原来位置和鼠标当前位置为鼠标扫描线程中用于保存鼠标位置信息的两个变量。
这里,采用调用***函数的方式来直接获取所述鼠标的初始位置信息或当前鼠标的位置信息,并且本发明对于获取鼠标位置信息的方法并不进行限定。步骤204:比较所述鼠标原来位置和鼠标当前位置的值,判断二者是否相同,如果是,则说明鼠标位置发生变化,执行步骤205;否则说明鼠标位置未发生变化,返回步骤203,重新对鼠标位置的变化进行监控。
步骤205:读取步骤204所述鼠标原来位置,根据该鼠标原来位置的值得到鼠标位置变化之前所在的位置。然后按步骤201所获取的光标大小获取当前RFB服务器端所述鼠标原来位置处所述光标大小区域的屏幕信息,并将该屏幕信息通过RFB协议发送至该鼠标扫描进程对应的RFB客户端。该RFB客户端接收到该屏幕信息后,将自身对应的所述鼠标原来位置处光标大小区域的屏幕信息更新为所接收到的屏幕信息,从而去除RFB客户端屏幕上所述鼠标原来位置处的光标显示。
步骤206:读取步骤204所述鼠标当前位置,根据该鼠标当前位置的值得到鼠标位置变化后所在的位置。然后按步骤201所获取的光标大小获取当前RFB服务器端所述鼠标当前位置处所述光标大小区域的屏幕信息,并将该屏幕信息通过RFB协议发送至该鼠标扫描进程对应的RFB客户端。该RFB客户端接收到该屏幕信息后,将自身对应的所述鼠标当前位置处光标大小区域的屏幕信息更新为所接收到的屏幕信息,从而在RFB客户端屏幕上鼠标当前位置处显示光标。
其中,以上所述步骤205和步骤206可并行执行。
步骤207:将步骤204所述RFB服务器端保存的鼠标原来位置的值更新为所述鼠标当前位置的值。
步骤208:判断是否结束鼠标扫描线程,如果是,结束当前处理;否则返回步骤203,从而前面步骤203所述鼠标当前位置的值将作为当前鼠标原来位置的值,开始与后续步骤203中获取的鼠标当前位置的值进行比对,循环完成对RFB服务器端鼠标位置变化的监控。
这里,在主线程确定结束鼠标扫描线程时,将向鼠标扫描线程发送命令,从而鼠标扫描线程可以判断是否结束该鼠标扫描线程。
根据图2所述的处理可见,本发明通过独立的鼠标扫描线程专门监控鼠标位置的变化。一旦鼠标位置发生变化,只需将鼠标原来位置处光标大小区域的屏幕信息、以及鼠标变化后的当前位置处光标大小区域的屏幕信息通过RFB协议传送给RFB客户端,即可实现鼠标位置信息在RFB客户端屏幕的更新。由于,鼠标当前所在的位置信息可通过***函数直接获得,无需像现有技术那样扫描整个屏幕后通过比对得到,同时,鼠标位置在屏幕当中显示的光标仅为很小的一个正方形区域,则进行鼠标位置更新时需要传输的数据量也很小。经过测试,本发明方法即使应用于10M的网络中,用户在RFB客户端看到的鼠标移动也非常流畅,能够实现理想的鼠标同步效果。
图3为图1所述屏幕扫描线程一较佳实施例处理流程示意图。图1中启动的每一个屏幕扫描线程均将执行如图3所示的处理,具体步骤包括:
步骤301:当前屏幕扫描进程读取所述主线程配置的参数,如自身对应的扫描区域,即确定自身对应的子屏幕覆盖范围。然后将该自身对应的子屏幕划分为一系列64×32象素大小的区域。
其中,关于将整个屏幕划分为几个子屏幕、每个子屏幕包含的象素个数、每个子屏幕划分为几个扫描区域、以及各子屏幕内每个扫描区域的大小等问题,均根据当前对RFB服务器端进行监控的需要而定,本发明对此不进行限定。
步骤302:获取子屏幕的初始屏幕信息,并保存到缓冲区1中。
步骤303:获取子屏幕当前的屏幕信息,并保存到缓冲区2中。
其中,所述缓冲区1和缓冲区2为屏幕扫描线程开辟的用于保存子屏幕信息的两个缓存空间。
步骤304:设置该子屏幕包含的扫描区域中的第一个区域为当前扫描区域。
其中,通常将子屏幕中左上角的扫描区域定为第一个扫描区域,然后从左至由,从上至下对各扫描区域逐一进行扫描,但具体各扫描区域的扫描顺序遵循何种规律,非本发明涉及的问题,因此本发明对此不进行限定。
步骤305:从所述缓冲区1和缓冲区2中分别读取所述当前扫描区域的屏幕信息,判断缓冲区1和缓冲区2中保存的当前扫描区域的屏幕信息是否相同,如果是,执行步骤307;否则执行步骤306。
步骤306:将步骤305所述缓冲区2中的当前扫描区域的屏幕信息,通过RFB协议发送给RFB客户端,该RFB客户端将自身对应的所述扫描区域中的屏幕信息更新为所接收到的屏幕信息。
这里,RFB客户端接收到来自RFB服务器端的屏幕信息后,无需分辨该屏幕信息是指示鼠标变化的屏幕信息还是本步骤所述当前扫描区域的屏幕信息。RFB客户端根据所接收的屏幕信息覆盖的区域大小、所在位置等参数,将自身屏幕上对应位置处相同区域大小的屏幕信息更新为所接收的屏幕信息,从而完成与RFB服务器端之间的鼠标位置信息和屏幕信息的同步。
步骤307:判断步骤305所述当前扫描区域是否为该子屏幕的最后一个扫描区域,如果是,执行步骤309;否则执行步骤308。
步骤308:设置下一扫描区域为当前扫描区域,返回步骤305,从而继续对下一扫描区域的屏幕信息变化进行监控。
步骤309:将步骤303所述缓冲区2的屏幕信息保存到缓冲区1中。
步骤310:判断是否结束屏幕扫描线程,如果是,结束当前处理;否则返回步骤303,从而前面步骤303所述缓冲区2中的屏幕信息将作为当前缓冲区1中的屏幕信息,开始与后续步骤303中获取的缓冲区2中的屏幕信息进行比对,循环监控该子屏幕的屏幕信息变化。
这里,在主线程确定结束屏幕扫描线程时,将向屏幕扫描线程发送命令,从而屏幕扫描线程可以判断是否结束该屏幕扫描线程。
根据图3所示的处理可见,本发明采用多线程并发技术,将整个屏幕划分为若干个子屏幕,每个子屏幕内进一步划分为若干区域,每个子屏幕对应一个屏幕扫描线程。RFB服务器软件启动以后,主线程启动各个子屏幕对应的屏幕扫描线程,并通过给每个屏幕扫描线程传递不同的线程参数,使得每个屏幕扫描线程只负责扫描自身对应的子屏幕覆盖范围内的屏幕信息变化。由于,各屏幕扫描线程是并发的,如果整个屏幕划分为十六个子屏幕,则相对于现有技术来说,屏幕扫描线程扫描的范围将缩小到原来的1/16,扫描效率将提高15倍。
因此,应用本发明方法能够显著提高RFB服务器端屏幕与RFB客户端屏幕同步的速度,用户在RFB客户端能真正实时监控RFB服务器端的屏幕变化,再结合图2所示的鼠标扫描线程的高效处理机制,使RFB客户端用户得以实现重要的控制功能。
以上图1至图3所述的实施例适合规模较大的网络计算机远程监控***。对于RFB客户端较少、无需实现多个RFB客户端并发监控功能的***来说,RFB服务器软件也可以不启动用于对鼠标扫描线程和屏幕扫描线程进行集中控制的主线程,同样也可以实现本发明目的。
另外,如果在本发明方法应用的远程监控***中,RFB服务器端的屏幕基本不发生变化,为了节省***资源,RFB服务器软件也可以仅启动一个屏幕扫描线程对整个RFB服务器端的屏幕进行监控。由于,RFB服务器软件启动的鼠标扫描线程可以保证鼠标位置变化的实时更新,而屏幕信息基本不变,因此启用一个屏幕扫描线程同样可以使用户在RFB客户端实现有效控制功能。
综上所述,应用本发明方法能够使基于Wince平台的RFB服务器软件高效对RFB服务器端屏幕和鼠标的变化进行监控,实现RFB服务器端和RFB客户端屏幕的实时同步,使运行于Wince平台的RFB服务器软件的产品化成为可能。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种网络计算机远程监控的方法,其特征在于,远程帧缓冲区RFB服务器软件为每个与RFB服务器端建立连接的RFB客户端启动鼠标扫描线程和屏幕扫描线程;
所述鼠标扫描线程包括:
A1.判断当前RFB服务器端的鼠标位置是否发生变化,如果是,执行步骤B1;否则返回步骤A1;
B1.将指示当前鼠标位置变化的屏幕信息发送至RFB客户端,返回步骤A1;
所述屏幕扫描线程包括:
A2.判断当前屏幕信息是否发生变化,如果是,执行步骤B2;否则返回步骤A2;
B2.将发生变化的屏幕信息发送至RFB客户端,返回步骤A2;
所述RFB客户端根据接收到的所述指示当前鼠标位置变化的屏幕信息或所述发生变化的屏幕信息更新自身的屏幕信息。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:将RFB服务器端的屏幕划分为一个或一个以上的子屏幕;该一个或一个以上子屏幕一一对应一个或一个以上的所述屏幕扫描线程,且每个屏幕扫描线程的扫描范围配置为自身对应的子屏幕的覆盖范围;
RFB服务器软件为每个与RFB服务器端建立连接的RFB客户端启动:鼠标扫描线程和该一个或一个以上子屏幕对应的一个或一个以上的屏幕扫描线程。
3.根据权利要求1或2所述的方法,其特征在于,该方法进一步包括:所述RFB服务器软件首先启动主线程;
所述主线程包括:
在RFB客户端建立连接时,为该RFB客户端启动所述鼠标扫描线程和所述一个或一个以上的屏幕扫描线程;
在RFB客户端退出连接时,结束该RFB客户端对应的鼠标扫描线程和一个或一个以上的屏幕扫描线程。
4.根据权利要求3所述的方法,其特征在于,所述鼠标扫描线程中,
所述步骤A1包括:
A11.获取当前RFB服务器端的初始鼠标位置信息并保存为鼠标原来位置;
A12.获取所述RFB服务器端的当前鼠标位置信息并保存为鼠标当前位置,判断所述鼠标当前位置与所述鼠标原来位置是否相同,如果相同,返回步骤A12;否则执行步骤B1;
所述步骤B1为:将指示当前鼠标位置变化的屏幕信息发送至RFB客户端,将鼠标原来位置的值更新为步骤A12所述鼠标当前位置的值,返回步骤A12。
5.根据权利要求4所述的方法,其特征在于,所述鼠标扫描线程进一步包括:获取当前RFB服务器端的光标大小;
步骤B1中,所述指示当前鼠标位置变化的屏幕信息包括:步骤A12所述鼠标原来位置处所述光标大小的屏幕信息和步骤A12所述鼠标当前位置处所述光标大小的屏幕信息;
所述RFB客户端根据所述指示当前鼠标位置变化的屏幕信息更新自身屏幕信息的方法为:将自身所述鼠标原来位置处光标大小的屏幕信息更新为所接收到的所述鼠标原来位置处光标大小的屏幕信息,将自身所述鼠标当前位置处光标大小的屏幕信息更新为所接收到的所述鼠标当前位置处光标大小的屏幕信息。
6.根据权利要求4所述的方法,其特征在于,所述鼠标扫描线程中,所述获取RFB服务器端初始鼠标位置信息或当前鼠标位置信息的方法为:通过调用RFB服务器端的***函数获取所述初始鼠标位置信息或当前鼠标位置信息。
7.根据权利要求2所述的方法,其特征在于,将每个所述子屏幕划分为一个或一个以上的扫描区域;
每个所述屏幕扫描线程中,
所述步骤A2为:对自身对应子屏幕内的每个扫描区域进行扫描,判断是否有扫描区域的屏幕信息发生变化,如果是,执行步骤B2;否则返回步骤A2;
步骤B2中,所述发生变化屏幕信息为:所述屏幕信息发生变化的扫描区域的屏幕信息;
所述RFB客户端根据接收到的屏幕信息发生变化的扫描区域的屏幕信息更新自身屏幕信息的方法为:将自身屏幕中对应区域的屏幕信息更新为所述屏幕信息发生变化的扫描区域的屏幕信息。
8.根据权利要求7所述的方法,其特征在于,所述RFB服务器端的屏幕被划分为十六个子屏幕,该十六个子屏幕一一对应十六个屏幕扫描线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100568896A CN100374999C (zh) | 2005-03-28 | 2005-03-28 | 一种网络计算机远程监控的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100568896A CN100374999C (zh) | 2005-03-28 | 2005-03-28 | 一种网络计算机远程监控的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1841285A CN1841285A (zh) | 2006-10-04 |
CN100374999C true CN100374999C (zh) | 2008-03-12 |
Family
ID=37030337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100568896A Active CN100374999C (zh) | 2005-03-28 | 2005-03-28 | 一种网络计算机远程监控的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100374999C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104038535A (zh) * | 2010-12-22 | 2014-09-10 | 北京华夏未来信息技术有限公司 | 在虚拟应用环境下改善用户体验的方法及虚拟应用*** |
CN102176770B (zh) * | 2011-02-17 | 2014-06-18 | 宇龙计算机通信科技(深圳)有限公司 | 在移动通信中协助导航的方法及移动终端 |
CN102164166B (zh) * | 2011-02-21 | 2014-10-15 | 北京奇虎科技有限公司 | 一种用于远程控制的分区传输方法和*** |
CN104158915B (zh) * | 2011-02-21 | 2018-02-09 | 北京奇虎科技有限公司 | 一种用于远程控制的分区传输方法和*** |
CN102637408A (zh) * | 2012-04-16 | 2012-08-15 | 武斌 | 一种led媒体屏远程监控方法 |
CN102929415A (zh) * | 2012-09-17 | 2013-02-13 | 浪潮(北京)电子信息产业有限公司 | 一种本地监控器及其与远程虚拟机鼠标显示同步的方法 |
CN109525281A (zh) * | 2018-11-01 | 2019-03-26 | 北京全路通信信号研究设计院集团有限公司 | 一种监测***的监测方法 |
CN110489042B (zh) * | 2019-07-17 | 2021-10-19 | 视联动力信息技术股份有限公司 | 一种基于视联网模拟拖拽的方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003001688A (ja) * | 2001-06-26 | 2003-01-08 | Sumitomo Heavy Ind Ltd | 通信ネットワークを利用した遠隔監視方法 |
US6664969B1 (en) * | 1999-11-12 | 2003-12-16 | Hewlett-Packard Development Company, L.P. | Operating system independent method and apparatus for graphical remote access |
CN1499750A (zh) * | 2002-11-04 | 2004-05-26 | 威达电股份有限公司 | 监控影像实时传输***及方法 |
US20050021656A1 (en) * | 2003-07-21 | 2005-01-27 | Callegari Andres C. | System and method for network transmission of graphical data through a distributed application |
-
2005
- 2005-03-28 CN CNB2005100568896A patent/CN100374999C/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6664969B1 (en) * | 1999-11-12 | 2003-12-16 | Hewlett-Packard Development Company, L.P. | Operating system independent method and apparatus for graphical remote access |
JP2003001688A (ja) * | 2001-06-26 | 2003-01-08 | Sumitomo Heavy Ind Ltd | 通信ネットワークを利用した遠隔監視方法 |
CN1499750A (zh) * | 2002-11-04 | 2004-05-26 | 威达电股份有限公司 | 监控影像实时传输***及方法 |
US20050021656A1 (en) * | 2003-07-21 | 2005-01-27 | Callegari Andres C. | System and method for network transmission of graphical data through a distributed application |
Also Published As
Publication number | Publication date |
---|---|
CN1841285A (zh) | 2006-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100374999C (zh) | 一种网络计算机远程监控的方法 | |
JP6633224B2 (ja) | Mecアプリケーションの再配置を制御するための方法及びサーバ | |
US8677353B2 (en) | Provisioning a standby virtual machine based on the prediction of a provisioning request being generated | |
Kosta et al. | Thinkair: Dynamic resource allocation and parallel execution in the cloud for mobile code offloading | |
US7716373B2 (en) | Method, apparatus, and computer product for updating software | |
US9201675B2 (en) | DAAS manager and DAAS client for DAAS system | |
EP3249871A1 (en) | Method and device for updating network service descriptor | |
EP1257909B1 (en) | Method and apparatus for improving utilization of a resource on a shared client | |
US10686837B2 (en) | Method and device for customizing security service | |
CN106302565A (zh) | 业务服务器的调度方法及*** | |
EP3103217B1 (en) | Monitoring system and monitoring method for software defined networks | |
CN104991811B (zh) | 隔离***切换时进程运行状态的调整方法以及智能终端 | |
US20030135617A1 (en) | Intelligent system control agent | |
US9900359B2 (en) | System and method for supporting video processing load balancing for user account management in a computing environment | |
CN111858054A (zh) | 一种异构环境下基于边缘计算的资源调度***及方法 | |
EP3267323A1 (en) | Thin client system, connection management device, virtual machine operating device, method, and storage medium | |
Wang et al. | Reducing task completion time in mobile offloading systems through online adaptive local restart | |
EP4345614A1 (en) | Pod deployment method and apparatus | |
Happ et al. | Towards gateway to Cloud offloading in IoT publish/subscribe systems | |
EP2472416B1 (en) | Data query system and constructing method thereof and corresponding data query method | |
Ali et al. | Probabilistic normed load monitoring in large scale distributed systems using mobile agents | |
CN117014492A (zh) | 云桌面动态迁移方法、装置、设备及存储介质 | |
CN106453118B (zh) | 一种流量控制方法及流量控制*** | |
US9166897B1 (en) | System and method for supporting dynamic offloading of video processing for user account management in a computing environment | |
EP3048822B1 (en) | Mobility management method, device, system and computer storage medium |
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 |