CN1630246B - A method for realizing remote desktop data acquisition - Google Patents

A method for realizing remote desktop data acquisition Download PDF

Info

Publication number
CN1630246B
CN1630246B CN 200310121263 CN200310121263A CN1630246B CN 1630246 B CN1630246 B CN 1630246B CN 200310121263 CN200310121263 CN 200310121263 CN 200310121263 A CN200310121263 A CN 200310121263A CN 1630246 B CN1630246 B CN 1630246B
Authority
CN
China
Prior art keywords
data
image
image data
desktop
mirror
Prior art date
Application number
CN 200310121263
Other languages
Chinese (zh)
Other versions
CN1630246A (en
Inventor
刘渤
孙成昆
宋艳芳
赵俊先
赵牧
Original Assignee
联想(北京)有限公司
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 联想(北京)有限公司 filed Critical 联想(北京)有限公司
Priority to CN 200310121263 priority Critical patent/CN1630246B/en
Publication of CN1630246A publication Critical patent/CN1630246A/en
Application granted granted Critical
Publication of CN1630246B publication Critical patent/CN1630246B/en

Links

Abstract

This invention discloses a method for obtaining long distance desktop data, which contains presetting network bridge connection driving module in core layer of local equipment for processing and transmitting mirror data, when the local equipment and current desktop change, said method comprises following steps, (a), in core layer the local equipment mirroring screen image data of current desktop and transmitting the mirrored image data to network bridge connection driving module, (b), the network bridge connection driving module receiving step (a) transmitted mirror image data and compressingit then transmitting compressed mirror image data to long distance equipment by socket transmission mode. Said invention can obtain the desktop data of local equipment more faster and make more convenient long distance control to local equipment.

Description

一种远程桌面获取数据的实现方法技术领域[0001] 本发明涉及数据获取技术,特别是指一种在Windows下远程桌面获取数据的实现方法。 Desktop A remote data acquisition method implemented BACKGROUND [0001] The present invention relates to data acquisition technology, and particularly to a method of data acquisition realized in the remote desktop under Windows. 背景技术[0002] 在Windows环境下,将本地计算机桌面发送到远端计算机,同时利用远端计算机来控制本地计算机的技术,在很多场合已被广泛使用,比如:电子教室、网络会议等等。 [0002] In a Windows environment, will send local computer desktop to a remote computer, while using the remote computer to the local computer control technology has been widely used in many occasions, such as: electronic classrooms, web conferencing and so on. 目前,获取本地计算机桌面数据并送至远端计算机主要有两种实现方案:[0003] 第一种方案是,利用图形驱动接口(⑶I)技术或直接绘图(DirectDraw)技术,定时截取本地计算机当前整个屏幕的图像数据,并将当前所截取到的图像数据与前次截取的图像数据进行比较,然后对发生变化的屏幕数据进行压缩,发送到远端计算机上。 Currently, access to the local computer and remote computer desktop data There are two main implementations: [0003] The first embodiment is the use of a graphical driver interface (⑶I) technique or a direct drawing (the DirectDraw) technique, the timing of the local machine is currently interception the image data of the entire screen, and the currently taken image data is compared with the previous image data taken, and then the changed screen data is compressed, sent to the remote computer. [0004] 第二种方案是,利用Windows应用程序接口(API)中的钩取函数和消息,主动感知本地计算机桌面中屏幕的变化区域;然后,仍利用GDI技术或直接绘图应用程序(DirectDraw API)技术截取当前屏幕变化区域的图像数据,并将当前截取的图像数据与存储的前一帧图像数据进行比较;如果比较结果不同,就将当前截取的图像数据进行无损压缩,送到远端计算机上,同时将存储的前一帧图像数据更新为当前截取的图像数据。 [0004] The second solution is to use Windows application program interface (API) hooking function and the message, the active sensing region changes the local computer desktop screen; Then, still using the GDI graphics technology or direct application (DirectDraw API ) interception of the current technical area of ​​image data of screen changes, and compares the frame preceding the current image data taken and stored image data; if a different comparison result, the image data of the current will be taken lossless compression, to the remote computer on, while the image data of the previous frame image data stored in the updated current intercepted. [0005] 上述两种方案虽然能动态地将变化的桌面图像数据送至远端,但这两种方案存在明显的不足之处:[0006] 1)两种方案都采用截取屏幕变化的方法获取屏幕图像数据,也就是说,在计算机桌面发生变化后,再读取屏幕数据,存在明显的滞后。 [0005] Although the above two schemes can be dynamically changed image data to the distal end of the desktop, but there are two significant deficiencies schemes: Method [0006] 1) two solutions are used, taken in acquiring screen change screen image data, that is, after the computer desktop changes, re-read screen data, there is a significant lag. [0007] 2)采用第一种方案截取屏幕的方法,不能预先判断屏幕的变化区域,当屏幕发生部分改变时仍需截取整个屏幕,浪费了大量的处理器时间。 [0007] 2) using the method of the first embodiment interception of the screen, not the screen change region is determined in advance, when the screen change part of the entire screen taken still occur, wasting a lot of processor time. [0008] 3)虽然第二种方案通过Windows API的钩取函数和消息感知屏幕变化,但对于某些应用程序,如使用自定义消息的应用程序,仍不能准确地获得屏幕的变化区域。 [0008] 3) Although the second option to take the message function and change the perception of the screen by hooking Windows API, but for some applications, such as using a custom message application, still can not accurately obtain the change of the screen. [0009] 4)对于截取屏幕图像数据的方法,在奔腾四处理器的计算机中,无论是使用GDI 还是DirectDraw,读取800*600、16位色的屏幕图像数据至少需要120毫秒,即使完全占有处理器资源,每秒至多截取八次屏幕,无法流畅的显示屏幕的快速变化。 [0009] 4) A method for interception of the screen image data, a computer Pentium D processor, whether using the DirectDraw or GDI, the screen image is read 800 * 600, 16-bit color data at least 120 milliseconds, even if the full possession of processor resources, up to eight times per second interception of the screen, rapid change can not be smooth display screen. [0010] 发明内容[0011] 有鉴于此,本发明的主要目的在于提供一种远程桌面获取数据的实现方法,可使远端设备更快速、流畅地获取本地设备的桌面数据。 [0010] SUMMARY [0011] In view of this, the main object of the present invention is to provide a remote desktop data acquisition implementation, the remote device can be more quickly and smoothly get local desktop data device. [0012] 本发明进一步的目的是提供一种远程桌面获取数据的实现方法,使远端设备能更方便地对本地设备进行远程控制。 A further object of the [0012] present invention to provide a remote desktop data acquisition implementation, the distal end of the device can more easily be remotely controlled the local device. [0013] 为达到上述目的,本发明的技术方案是这样实现的:[0014] 一种远程桌面获取数据的实现方法,预先在本地设备的核心层设置负责对镜像数据进行处理并传输的网络桥接驱动模块,当本地设备当前桌面发生变化后,该方法包括以下步骤:[0015] a.采用Windows NT架构下的镜像显示驱动机制,本地设备在核心层的镜像显示驱动模块实时镜像当前桌面变化区域的图像数据,并将镜像的图像数据发送给网络桥接驱动模块;[0016] b.网络桥接驱动模块接收步骤a发来的镜像图像数据,将所收到的镜像图像数据进行数据压缩,再通过套接字Socket传输方式将压缩后的镜像图像数据发给远端设备。 [0013] To achieve the above object, the technical solution of the present invention is implemented as follows: [0014] A remote desktop implementation of data acquisition, image data is set in advance is responsible for processing and transmission in the core network bridge device local drive module, when the local device current change table occurs, the method comprising the steps of:. [0015] a mirroring display drive mechanism, the local device under Windows NT architecture display driving module real mirror current desktop change region in the mirror of the core layer image data, and image data to mirror network bridge drive module;. [0016] b bridge network driver module receiving step a mirror image of data sent to the mirror image of the received data for data compression, and then through mirror image data transmission to a socket compression, to the remote device. [0017] 步骤a具体包括:[0018] al.在内存中创建一个图形驱动接口管理的图面;[0019] a2. Windows系统中的挂接操作系统核心模块调用设备驱动接口,获得本地设备中当前桌面的变化;[0020] a3.将步骤a2中所获得的桌面变化镜像到步骤al所创建的图面中,然后通过软件中断的方式,将镜像后的数据传递给网络桥接驱动模块。 [0017] Step a comprises: [0018] al to create a graphical drawing interface management driver in memory; [0019] a2 Windows operating system, mount system calls the device driver interface to the core module, the local device is obtained. change the current desktop;. [0020] a3 Desktop FIG surface variation obtained in step a2 to step al mirror created, and then by means of software interruption, the image data is transmitted to the network bridge drive module. [0021] 步骤b具体包括:[0022] bl.网络桥接驱动模块内部的中断管理模块装载中断服务例程,由中断服务例程接收镜像图像数据;[0023] b2.网络桥接驱动模块收到镜像图像数据后,将所收到的镜像图像数据添加到网络桥接驱动模块内部预先设置的存储链表中,并将当前收到的镜像图像数据进行压缩;然后将压缩后的数据通过Socket传送给远端设备。 [0021] Step b comprises: [0022] bl driving an internal bridge module interrupt management module is loaded interrupt service routine, receive image data from the image interrupt service routine; [0023] b2 network bridge driving module receives image. after the image data, adds a mirror image of the received data to the internal network bridge driver list storage module set in advance, and the compressed image data of the image currently received; and transmitting the compressed data to the remote through the Socket device. [0024] 其中,步骤1^2中将当前镜像图像数据存储到链表后进一步包括:判断存储链表中当前是否存在多个镜像图像数据,如果存在,则对链表中所有的镜像图像数据进行合并,并将合并后的镜像图像数据进行压缩;否则,直接将当前收到的镜像图像数据进行压缩。 [0024] wherein ^ 1 Step 2 currently stored in the image data to the image list further comprising: a plurality of mirror image storage data determining whether there is currently a linked list, if present, the image data for all mirror merge linked list, and compressing the combined image data mirroring; otherwise, directly to the mirror image currently received data is compressed. [0025] 步骤b中网络桥接驱动模块在向远端设备发送镜像数据的同时进一步包括:接收远端设备发来的控制操作事件。 While [0025] Step b bridge network driver module sending the mirror data to the remote device further comprises: receiving a control sent by the remote device operation event. 那么,网络桥接驱动模块收到远端设备发来的控制操作事件后,步骤b进一步包括:根据控制操作事件产生相应的控制动作,并驱动当前控制动作对应的端口完成相应的操作。 After that, the network bridge driving module receives remote device to send a control operation event, step b further comprising: generating a corresponding control operation according to a control operation event, and the drive current control operation corresponding to the port corresponding to the operation is completed. 这里,所述控制操作事件为鼠标、键盘事件。 Here, the control operation of a mouse event, a keyboard event. [0026] 上述方案中,所述的本地设备为计算机。 [0026] In the above embodiment, the local device is a computer. 所述的远端设备为计算机、或投影仪、或手持设备、或具有显示功能的移动终端。 The remote device is a computer, or a projector, or a handheld device, or a mobile terminal having a display function. [0027] 本发明所提供的远程桌面获取数据的实现方法,利用镜像显示驱动模块实时镜像当前桌面的内容,然后用网桥驱动模块通过TCP/IP将镜像内容发给远端设备,如此能使远端设备快速、流畅的获取本地设备桌面数据,该方法既能准确获取本地设备的屏幕变化, 又不会产生数据滞后的问题,也不会占用大量的处理器时间。 [0027] The present invention provides a method to realize a remote desktop acquiring data using the mirror display driver module of the current contents of the desktop real image, then the images of the contents bridge driver module, to the remote device via TCP / IP, so make remote device fast, smooth access to local device desktop data, the method can accurately obtain the screen changes the local device, but also will not have the problem of data lag, it will not take up a lot of processor time. 另外,由于网桥驱动模块能够接收远端设备输入的鼠标、键盘事件,并由鼠标键盘端口产生相应的鼠标、键盘动作,所以本发明的方法能方便的实现远端设备对本地设备的远程控制。 Further, since the bridge driving module capable of receiving the distal end of the mouse input device, keyboard events, mouse and keyboard port by generating the appropriate mouse, keyboard actions, the methods of the present invention can easily achieve remote control of the remote device to the local device . 附图说明[0028] 图1为实现本发明方法的系统组成结构示意图;[0029] 图2为本发明中采用的镜像显示驱动模块的内部组成结构图;[0030] 图3为本发明中采用的网络桥接驱动模块的内部组成结构图;[0031] 图4为本发明方法的实现流程图。 BRIEF DESCRIPTION [0028] FIG. 1 is a schematic view of the method of the present invention to realize the system composition structure; Mirror [0029] FIG. 2 of the present invention, the composition employed in the internal structure of FIG display driving module; [0030] FIG. 3 employed in the present invention. an internal component configuration diagram of a network bridge driving module; 4 is a flowchart of a method of the invention is achieved [0031] FIG. 具体实施方式[0032] 下面结合附图及具体实施例对本发明再作进一步详细的说明。 DETAILED DESCRIPTION [0032] accompanying drawings and the following specific embodiments of the present disclosure is further described in detail. [0033] 本发明的主要思想就是:首先在本地设备和远端设备之间创建一个负责对镜像数据进行处理并传输的网络桥接驱动模块,在本地设备当前桌面的内容发生变化后,利用Windows NT架构下核心层的镜像显示驱动机制镜像本地设备当前桌面的内容,再由网络桥接驱动模块通过TCP/IP方式将当前镜像的桌面数据发送给远端设备,在远端设备上实时显示。 [0033] The main idea of ​​the present invention is: first create a mirror responsible for data processing and transmission network bridge driver module between the local device and remote device, after the current contents of the desktop changes the local device, use Windows NT the core layer architecture mirror the current desktop display contents mirror driving mechanism of the local device, and then transmits the current desktop image data to the remote device by the network bridge drive module via TCP / IP embodiment, real-time display on the remote device. 如此,就可以使远端设备实时获取远程桌面的数据,并且保持远端桌面与本地设备桌面的同步变化。 So, you can make real-time access remote desktop remote device data, and synchronize local and remote desktop change desktop device. 这里所述的Windows NT架构可以是Windows NT 4. 0、Windows 2000、 Windows XP等操作系统架构;所述本地设备可以是各种类型的计算机;所述远端设备可以是计算机、手持设备、具有显示功能的移动终端、投影机等等。 Windows NT architecture described herein may be a Windows NT 4. 0, Windows 2000, Windows XP operating system architecture and the like; the local device may be various types of computer; the remote device may be a computer, a handheld device, having the mobile terminal displays, the projector function, and the like. [0034] 另外,本发明中本地设备的网络桥接驱动模块还可以接收远端设备输入的鼠标、 键盘事件,并传递给自身的鼠标键盘端口驱动程序,产生相应的鼠标、键盘动作,从而实现远端设备对本地设备的远程控制。 [0034] Further, the present invention is a network bridge drive module in the local device can also receive the distal end of the mouse input device, a keyboard event, a mouse and a keyboard is passed to its port driver, to produce the corresponding mouse, keyboard actions, in order to achieve far remote control terminal equipment to the local equipment. 更具体地说就是,对于远端用户而言,先将本地设备桌面通过镜像方式复制到远端设备上进行显示;然后远端用户针对远端设备当前显示出的桌面进行鼠标、键盘操作,所产生的操作事件被送回本地设备的网络桥接驱动模块中;网络桥接驱动模块将收到的相应事件传递给自身的鼠标键盘端口驱动程序,产生相应的鼠标、键盘动作;控制本地设备完成鼠标、键盘指定的操作,比如:打开桌面的某个文件夹等等;由于执行操作所引起的桌面变化会实时通过镜像机制发送给远端设备,并在远端设备桌面上显示,就好像是远端用户在其所在地进行本地操作一样,这就是远端设备对本地设备进行的远程控制。 More specifically, for the remote user, the first local device desktop replication by mirroring mode to be displayed on the remote device; far-end user and a mouse, a keyboard for operating a remote device of the current desktop display, the operation event generated is sent back to the local network bridge device driver module; network bridge driver module corresponding to the received event is transmitted to its own mouse and keyboard port driver, to produce the corresponding mouse and keyboard actions; the local device control mouse completed, keyboard specified action, such as: open the desktop in a folder, and so on; the desktop changes due to the implementation of the operation will be sent in real time due to the remote device by mirroring mechanism, and displayed on the desktop remote device, as if the distal operate as local user's premises, this is the remote control of a remote device to the local device. [0035] 可采用如图1所示的系统组成结构来实现本发明的上述思想,参见图1,本发明采用的系统包括本地和远端两部分,本地和远端模块之间通过TCP/IP方式进行消息和数据传送。 [0035] The compositions may take the configuration shown in FIG. 1 system to implement the aforementioned idea of ​​the present invention, 1, the system employed in the present invention Referring to FIG comprised between two parts of the local and remote, local and remote modules via TCP / IP and a message data transmission mode. 本地部分的功能全部在本地设备的核心层实现,也就是在操作系统内核中完成,主要包括:镜像显示驱动模块、网络桥接驱动模块、鼠标键盘端口驱动模块,另外,还包括:微端口驱动模块、安装模块、用于提供功能和实现界面管理的应用程序和注册表。 Functional local part of the whole core layer of the local equipment implementation is done in the operating system kernel, including: image display driving module, a network bridge drive module, mouse, keyboard port driver modules, additionally, further comprising: a miniport driver block install module that provides functionality and implement applications and registry interface management. 其中,镜像显示驱动模块为Windows NT架构下已有的镜像显示机制,其内部组成结构如图2所示,主要用于完成屏幕的镜像与定位、移动操作的判断以及包括光标数据在内的原始屏幕数据的传递,该模块使用GDI引擎完成图像的操作。 Wherein the mirror display driver module under Windows NT architecture conventional image display mechanism consisting of the internal structure shown in Figure 2, is mainly used to screen and mirror positioning, and includes determining a cursor moving operation, including the original data data transfer screen, the module uses GDI engine finished image. [0036] 网络桥接驱动模块为本发明新增加的处理机制,其内部组成结构如图3所示,该网络桥接驱动模块内部各组成部分主要能完成以下逻辑功能:①负责与镜像显示驱动模块之间的通讯,接收图像数据与备份变化区域;②将备份区域以链表形式存储,该链表是临界资源;③负责变化区域(或矩形)的合并、排序等操作;④负责备份缓冲的切换,防止图像在处理过程中发生撕裂;⑤实现软件中断服务程序的管理,该中断服务用于与镜像显示驱动模块之间的通讯;⑥实现位图数据的压缩;⑦实现Windows核心层网络套接字(Socket) 的数据传输;⑧负责光标数据的传输,该光标数据包括形状与位置;⑨负责屏幕显示模式变化的传输;⑩用于接收输入的鼠标、键盘事件,并重定向到鼠标键盘端口驱动模块。 [0036] The network bridge driver module of the present invention, the newly added processing mechanism, the internal structure shown in FIG composition, the various components of the internal module of the network bridge driver can perform the following logical functions primarily 3: ① responsible for the mirror display driver modules, communication, receives the image data and backup change region between; ② the spare area is stored in a linked list, the linked list is a critical resource; ③ responsible change region (or rectangular) were combined sorting and other operations; ④ used for switching the backup buffer, preventing tearing occurs in the image processing; ⑤ implement management software interrupt service routine, the interrupt service for communication between the drive module and the image display; ⑥ achieve compression bitmap data; ⑦ implement Windows core network socket (the Socket) data transmission; ⑧ responsible for the transmission of data cursor, the cursor shape and position data comprises; ⑨ responsible for varying transmission screen display mode; ⑩ mouse for receiving input, keyboard events, mouse and keyboard port redirected to driver module . 鼠标键盘端口驱动模块,主要用于接收网络桥接驱动模块发来的鼠标、键盘事件,然后调用操作系统注册的回调函数产生相应的鼠标、键盘动作。 Mouse keyboard port driver module, the main module is configured to receive a network bridge driver sent by the mouse, keyboard events, and then call the callback function is registered to produce the corresponding mouse and keyboard actions. [0037] 基于图1、图2、图3所述的系统结构,本发明远程桌面的数据获取方法如图4所示,包括以下步骤:[0038] 步骤401 :当本地设备当前桌面发生变化后,镜像显示驱动模块以WindowsNT架构下DDK提供的显示镜像机制为基础,完成本地设备当前桌面变化区域图像数据的镜像,并将镜像所获取的图像数据发送给网络桥接驱动模块。 [0037] Based on FIG 1, FIG 2, FIG 3, the system configuration, remote desktop data acquisition method of the present invention is shown in Figure 4, comprising the steps of: [0038] Step 401: When the local change in the device current desktop mirror display driving module to display a mirror mechanism provided under WindowsNT DDK based architecture, the local device to complete the current mirror changes the desktop area image data, and the acquired image data to the image network bridge drive module. 本发明中,实际镜像的图像数据只是变化区域的图像数据。 In the present invention, only the actual image data of the mirror data area of ​​the image changes. 本步骤中所述屏幕图像数据的获取与发送具体包括:[0039] al.在内存中创建一个⑶I管理的图面;[0040] bl.挂接操作系统核心模块(Win32k. sys)调用设备驱动接口(DDI),获得本地设备中当前桌面的变化。 In this step, acquiring the transmission data of the screen image comprises: [0039] al surface manager creates a ⑶I in memory; [0040] bl mount the operating system kernel module (Win32k sys.) Calls the device driver. Interface (DDI), to obtain a local desktop change the current device. 其中,所述调用的DDI包括:DrvCopyBits、DrvTextOut、DrvBitBlt、 DrvStrokepath 等等;[0041] cl.将步骤bl中所获得的桌面变化镜像到步骤al所创建的图面中,然后通过软件中断、回调等方式,比如采用INT22,将镜像后的数据传递给网络桥接驱动模块。 Wherein the DDI calls include: DrvCopyBits, DrvTextOut, DrvBitBlt, DrvStrokepath the like; [0041] cl desktop changing step bl obtained in step al drawing image to the created, then the software interrupt callback. etc., such as the use INT22, transmitting data to the network bridge mirrored drive module. [0042] 步骤402〜403 :网络桥接驱动模块收到镜像显示驱动模块发来的镜像数据后, 经过屏幕数据的备份、变化区域的合并以及对合并后镜像数据进行无损数据压缩,再通过Socket传输方式将压缩的镜像数据发送给远端设备,如此,远端设备即可获取远程桌面的数据。 [0042] Step 402~403: after the network bridge driving module receives image display driving module to the mirror data sent through the data backup screen, and the change in the region of the combined image data is combined for lossless data compression, and then transmitted through the Socket the way the decompressed image data to the remote device, thus, to the distal end of the device remote desktop acquired data. 本步骤具体的实现过程进一步包括:[0043] a2.网络桥接驱动模块中的中断管理模块(Interrupt Mgr)装载软件中断服务例程(ISR);[0044] b2.中断服务例程获得镜像显示驱动模块发来的屏幕图像数据后,通过内存管理模块(Mem Mgr)和链表管理模块(List Mgr)向链表中添加所收到的镜像的变化区域的图像数据;[0045] c2.调度线程(khedule Thread)判断链表中是否存储有多个变化区域的图像数据,如果有,则将链表中的变化区域进行合并,然后将合并后的图像数据交给图像处理模块(Image OP)进行压缩,这里所述的合并是指将两个或多个变化区域之间重合的部分去掉,因为如果屏幕快速变化,可能会出现连续送两个或多个镜像变化区域的情况;如果链表中只有当前图像数据,则直接将当前收到的镜像图像数据交给图像处理模块(Image OP)进行压缩;[0046] d2.压缩后的图像数据通 Specific implementation of the present process further comprises the step of: [0043] a2 network bridge driver module interrupt management module (Interrupt Mgr) loaded software interrupt service routine (ISR); [0044] b2 interrupt service routine to get the mirror display driver. sent by the module of the screen image data, through the memory management module (Mem Mgr) and list management module (List Mgr) adding the image data of the change area of ​​the image received to the list; [0045] c2 schedules threads (khedule. Thread) determines whether or not the list stored in the plurality of change area image data, and if there is, the list will change region are combined, and the combined image data to the image processing module (image OP) is compressed, herein said merging means to change between two or more regions overlap portion is removed, if the change in the screen due to the rapid, continuous transmission may occur two or more regions of the image changes; the list only if the current image data, directly to the mirror image of the currently received data to the image processing module (image OP) is compressed; [0046] d2 through the compressed image data. 过核心层Socket(K-Socket)传送到远端,在传输过程中,会根据网络当前流量自动调整数据包的大小和发送速度。 The core layer had Socket (K-Socket) is transmitted to the distal end, during transmission, the transmission will automatically adjust the size and speed of the data packets to the current network traffic. [0047] 本发明所述的数据获取还可以进一步包括:本地网络桥接驱动模块从远端获取控制操作事件,比如:鼠标键盘事件。 [0047] The data acquisition of the present invention may further comprise: a local network bridge driver module acquires operation event from a remote control, for example: mouse and keyboard events. 具体过程是这样的:[0048] 1)首先在步骤402中,网络桥接驱动模块在向远端设备发送镜像数据的同时,还接收从远端发来的诸如鼠标、键盘事件的控制操作事件,比如:利用鼠标或键盘对桌面进行的操作。 Specific process is as follows: [0048] 1) First, in step 402, the network bridge driver module simultaneously transmitting image data to the remote device, also receives from the remote sent such as a mouse, keyboard events to control operation event, for example: use the mouse or keyboard to operate the desktop. 这里,网络桥接驱动模块通过自身内部的核心层Socket(K-Socket)接收远端发来的诸如鼠标、键盘事件的控制操作事件。 Here, the network bridge driving module receives the distal end of the inner core layer through its own Socket (K-Socket) sent by such as a mouse, keyboard events to control operation event. [0049] 2)以鼠标、键盘事件为例,网络桥接驱动模块收到鼠标、键盘事件后,将其重定向到鼠标键盘端口驱动模块。 [0049] 2) In the mouse, keyboard events, for example, a network bridge driving module receives the mouse, the keyboard events, mouse redirect it to a keyboard port driver module. [0050] 3)鼠标键盘端口驱动模块收到鼠标、键盘事件后,产生相应的鼠标、键盘动作,并将所产生的鼠标、键盘动作送至鼠标、键盘类驱动模块,驱动鼠标或键盘端口完成相应的操作。 [0050] 3) driving module receives mouse and keyboard mouse port, the keyboard event, generates a corresponding mouse, keyboard actions, and the resulting mouse, keyboard actions to the mouse, keyboard-type drive module, the drive complete mouse or keyboard port corresponding operation. 具体步骤包括:鼠标键盘端口驱动模块先向操作系统注册鼠标、键盘端口,通知操作系统自身需要获取如何产生相应鼠标或键盘动作的方法,操作系统收到后会向鼠标键盘端口驱动模块返回相应的回调函数;在接收到鼠标、键盘事件后,鼠标键盘端口驱动模块会调用从操作系统获取的回调函数产生相应的鼠标、键盘动作。 These steps include: keyboard, mouse port driver module Xianxiang OS registration mouse, a keyboard port, notify the operating system itself needs to obtain a method how to generate a corresponding operation of a mouse or keyboard, the operating system returns a proper keyboard port to the mouse driver module callback function; after receiving mouse, keyboard events, mouse, keyboard port driver module calls produce the corresponding mouse, keyboard actions from the operating system acquired callback function. [0051] 实施例一:有线或无线网络投影机的远程投影。 [0051] Example a: wired or wireless network remote projector projection. [0052] 本发明方法可有效应用于有线或无线网络投影机中,本实施例中,本地设备就是需投影的设备,远端设备就是远程投影仪。 [0052] The method of the present invention is effectively applicable to a wired or wireless network projector in this embodiment, the local device is the device to be projected, the distal end of the remote device is a projector of the present embodiment. 具体做法就是:通过网络将远程投影仪与需投影设备连接起来,在需投影设备中设置有图1所示的本地部分,在远程投影仪中设置具有接收远程桌面数据和向需投影设备发送本端控制操作的网络处理模块。 Specific approach is: the network connection and the remote projector to be projected up device is provided with a local portion shown in FIG. 1 for an projection apparatus is provided having a remote desktop receiving data at the remote projector to be projected and the transmission device of the present end of the control network processing module operation. 所述网络处理模块一方面接收需投影设备发送过来的、实时镜像的、当前桌面的屏幕内容,并将所接收到内容及时显示;另一方面,网络处理模块接收本端的红外遥控输入,并将所收到的红外遥控输入通过网络传输给需投影设备去执行。 The network processing module receiving on the one hand to be projected over the transmission apparatus, the real-time image, the current contents of the desktop screen, and display the received content in a timely manner; the other hand, the network processing module receives this infrared remote control input terminal, and infrared remote control input received by the network transmission device to execute to be projected. 这里,可将红外遥控输入模拟为鼠标、键盘事件通过网络发送给网络桥接驱动模块进行处理。 Here, the input analog infrared remote control for the mouse, keyboard events to the network bridge driver module for processing through a network. [0053] 需投影设备中的镜像显示驱动模块镜像自身当前桌面的屏幕数据,并将镜像数据经过压缩后,通过中断方式发送给网络桥接驱动模块;网络桥接驱动模块将收到的压缩镜像数据通过TCP/IP的Socket方式传输给远程投影仪的网络处理模块,由网络处理模块将镜像数据进行显示。 [0053] for an image projection apparatus in its current display driving module desktop screen image data, and image data after compression, to a bridge drive module via the network interrupt; network bridge driving module receives the compressed image data TCP / IP Socket embodiment of a projector to the remote network processing module, the mirror data displayed by the network processing module. 同时,远程投影仪的网络处理模块接收红外遥控输入,并将红外遥控输入通过TCP/IP的Socket方式传输给需投影设备中的网络桥接驱动模块,网络桥接驱动模块收到后,将其重定向到鼠标键盘端口驱动模块,产生相应的操作。 Meanwhile, the remote projector network processing module receives infrared remote control input, and input to an infrared remote control device to be projected in the bridge drive module via the network of TCP / IP Socket embodiment, the network module receives the bridge driver, which redirects mouse keyboard port driver module to generate a corresponding operation. [0054] 实施例二:在远程监控/控制系统中应用。 [0054] Example II: the remote monitor / control system applications. [0055] 本发明也可有效的应用于远程监控/控制系统中,为了有效控制远程计算机系统,必然要实时地获取远程计算机的桌面,同时将远程鼠标、键盘等控制信息传递给本地计算机。 [0055] The present invention can be effectively applied to the remote monitor / control system in order to effectively control the remote computer systems, remote computer's desktop bound to obtain in real time, while the remote mouse, keyboard and other control information is transmitted to the local computer. 本实施例中,远端设备为远程计算机,本地设备为本地计算机,本地计算机中设置有图1所示的本地部分,在远程计算机中设置具有接收远程桌面数据和向本地计算机发送控制操作的监控/控制端处理模块。 Embodiment, the remote device is a remote computer, the local device for the local computer, the local computer is provided with a local portion of FIG. 1, is provided in the remote computer which monitors the received data and transmit remote desktop control operation of the present embodiment to the local computer / control terminal processing module. 具体远程桌面的数据获取过程与实施例一中所述过程类似。 Specific remote desktop data acquisition procedure similar to the first embodiment of the process. [0056] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。 [0056] The above are only preferred embodiments of the present invention but are not intended to limit the scope of the present invention.

Claims (9)

1. 一种远程桌面获取数据的实现方法,其特征在于,预先在本地设备的核心层设置负责对镜像数据进行处理并传输的网络桥接驱动模块,当本地设备当前桌面发生变化后,该方法包括以下步骤:a.采用Windows NT架构下的镜像显示驱动机制,本地设备在核心层的镜像显示驱动模块实时镜像当前桌面变化区域的图像数据,并将镜像的图像数据发送给网络桥接驱动模块;b.网络桥接驱动模块接收步骤a发来的镜像图像数据,将所收到的镜像图像数据进行数据压缩,再通过套接字Socket传输方式将压缩后的镜像图像数据发给远端设备。 A remote desktop data acquisition implementation method, wherein, in advance of the image data processing modules and a network bridge driving transmission is provided in the core layer is responsible for the local device, the local device when the current desktop is changed, the method comprising steps of: a mirroring under Windows NT architecture display drive mechanism, the local device display change area image data of the desktop of the drive module in the real-time image of the current image of the core layer, and transmits the image data to mirror network bridge drive module; b. the network bridge driver module receiving step a mirror image of data sent to the mirror image of the received data for data compression, and then sent to the remote device by mirroring a socket image data compressed transmission.
2.根据权利要求1所述的方法,其特征在于,步骤a具体包括:al.在内存中创建一个图形驱动接口管理的图面;a2. Windows系统中的挂接操作系统核心模块调用设备驱动接口,获得本地设备中当前桌面的变化;a3.将步骤a2中所获得的桌面变化镜像到步骤al所创建的图面中,然后通过软件中断的方式,将镜像后的数据传递给网络桥接驱动模块。 2. The method according to claim 1, wherein step a comprises: al creating a graphical drawing interface management driver in memory; a2 Windows operating system, mount system kernel calls the device driver module. Interface to obtain the desktop changes the local device current;. a3 desktop changing step a2 obtained in mirrored to step al drawing created, and then by means of software interrupts, transmitting data mirrored to the network bridge driver module.
3.根据权利要求1所述的方法,其特征在于,步骤b具体包括:bl.网络桥接驱动模块内部的中断管理模块装载中断服务例程,由中断服务例程接收镜像图像数据;b2.网络桥接驱动模块收到镜像图像数据后,将所收到的镜像图像数据添加到网络桥接驱动模块内部预先设置的存储链表中,并将当前收到的镜像图像数据进行压缩;然后将压缩后的数据通过Socket传送给远端设备。 3. The method according to claim 1, wherein step b comprises:.. Bl driving an internal bridge module interrupt management module is loaded interrupt service routine, receive image data from the image interrupt service routine; B2 network the data is then compressed; after the bridge driver module receives image data of the mirror, the mirror is added to the received image data list stored in the internal network bridge drive module set in advance, and mirror image currently received data compression transmitting to the remote device via Socket.
4.根据权利要求3所述的方法,其特征在于,步骤1^2中将当前镜像图像数据存储到链表后进一步包括:判断存储链表中当前是否存在多个镜像图像数据,如果存在,则对链表中所有的镜像图像数据进行合并,并将合并后的镜像图像数据进行压缩;否则,直接将当前收到的镜像图像数据进行压缩。 4. The method according to claim 3, wherein the step of storing the current 1 ^ 2 will be a mirror image of the linked list data further comprising: determining whether there is currently storing a plurality of linked list data mirror image, if present, of All mirror image list data were combined, and the compressed image data of the mirror combination; otherwise, directly to the mirror image currently received data is compressed.
5.根据权利要求1所述的方法,其特征在于,步骤b中网络桥接驱动模块在向远端设备发送镜像数据的同时进一步包括:接收远端设备发来的控制操作事件。 5. The method according to claim 1, wherein step (b) further comprises a network bridge driver module simultaneously transmitting the image data to the remote device: receiving remote device to send a control operation event.
6.根据权利要求5所述的方法,其特征在于,网络桥接驱动模块收到远端设备发来的控制操作事件后,步骤b进一步包括:根据控制操作事件产生相应的控制动作,并驱动当前控制动作对应的端口完成相应的操作。 6. The method as claimed in claim 5, wherein the network bridge driving module receives the remote device to send a control operation event, step b further comprising: generating a corresponding control operation according to a control operation event, and the drive current corresponding port control operation corresponding operation is completed.
7.根据权利要求5或6所述的方法,其特征在于,所述控制操作事件为鼠标、键盘事件。 The method according to claim 5 or claim 6, characterized in that the control operation of a mouse event, a keyboard event.
8.根据权利要求1至6任一项所述的方法,其特征在于,所述的本地设备为计算机。 8. A method according to any one of claims 1 to 6, wherein said local device is a computer.
9.根据权利要求1至6任一项所述的方法,其特征在于,所述的远端设备为计算机、或投影仪、或手持设备、或具有显示功能的移动终端。 9. A method according to any one of claims 1 to 6, wherein said remote device is a computer, or a projector, or a handheld device, or a mobile terminal having a display function.
CN 200310121263 2003-12-15 2003-12-15 A method for realizing remote desktop data acquisition CN1630246B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200310121263 CN1630246B (en) 2003-12-15 2003-12-15 A method for realizing remote desktop data acquisition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200310121263 CN1630246B (en) 2003-12-15 2003-12-15 A method for realizing remote desktop data acquisition

Publications (2)

Publication Number Publication Date
CN1630246A CN1630246A (en) 2005-06-22
CN1630246B true CN1630246B (en) 2011-04-27

Family

ID=34844132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200310121263 CN1630246B (en) 2003-12-15 2003-12-15 A method for realizing remote desktop data acquisition

Country Status (1)

Country Link
CN (1) CN1630246B (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101431736B (en) 2007-11-08 2012-03-21 康佳集团股份有限公司 Mobile terminal and its communication method
US9071843B2 (en) 2009-02-26 2015-06-30 Microsoft Technology Licensing, Llc RDP bitmap hash acceleration using SIMD instructions
CN101835043B (en) * 2010-03-23 2013-10-09 熔点网讯(北京)科技有限公司 Adaptive bandwidth desktop sharing method based on block encoding
CN101951364A (en) * 2010-08-25 2011-01-19 深圳市傲冠软件股份有限公司 Method and system for realizing security audit function in remote control process
CN102164167B (en) * 2011-02-21 2014-10-15 北京奇虎科技有限公司 A classification system and a transmission method for a remote control
CN102857361A (en) * 2011-07-02 2013-01-02 杨源杰 Light-weight remote computer out-of-band management method
CN103150204B (en) * 2011-12-23 2016-06-29 腾讯科技(深圳)有限公司 Operating system desktop management method and apparatus
WO2013134936A1 (en) * 2012-03-14 2013-09-19 华为技术有限公司 Screen recording method, and screen recording control method and device
CN104917831B (en) * 2012-06-25 2019-04-19 北京奇虎科技有限公司 A kind of interface presentation, system and terminal
CN103530073A (en) * 2012-07-05 2014-01-22 罗侍田 Computer graphic kernel mirror image display technology
CN104253804B (en) * 2013-06-28 2017-12-12 广州华多网络科技有限公司 A method and apparatus for transmitting image data
CN104765636B (en) * 2014-01-02 2018-05-04 华为技术有限公司 A synthetic method and apparatus for remote desktop image
CN104038560A (en) * 2014-06-30 2014-09-10 北京奇虎科技有限公司 Remote assistance method between mobile terminals, client side, electronic device and system
CN105187492B (en) * 2015-08-06 2019-06-11 上海斐讯数据通信技术有限公司 Terminal data sharing method, system and equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1375145A (en) 1999-02-26 2002-10-16 戴尔洛吉克公司 Digital browser phone
WO2003043301A2 (en) 2001-11-10 2003-05-22 Mobility Electronics, Inc. Handheld wireless conferencing technology
CN1436413A (en) 2000-04-10 2003-08-13 捷讯研究有限公司 System and method for pushing information from host system to mobile data communication device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1375145A (en) 1999-02-26 2002-10-16 戴尔洛吉克公司 Digital browser phone
CN1436413A (en) 2000-04-10 2003-08-13 捷讯研究有限公司 System and method for pushing information from host system to mobile data communication device
WO2003043301A2 (en) 2001-11-10 2003-05-22 Mobility Electronics, Inc. Handheld wireless conferencing technology

Also Published As

Publication number Publication date
CN1630246A (en) 2005-06-22

Similar Documents

Publication Publication Date Title
US8463912B2 (en) Remote displays in mobile communication networks
KR100238955B1 (en) Network video server apparatus and method
US7222356B1 (en) Communication apparatus, storage medium, camera and processing method
US6008804A (en) Remote collaboration system with selective annotation
US5781727A (en) Collaborative system for allowing user to draw annotation images on the user display and replicating the annotation images on the displays of all other computers
US5835713A (en) Remote collaboration system for selectively locking the display at remote computers to prevent annotation of the display by users of the remote computers
US7743135B2 (en) Display-screen-sharing system, display-screen-sharing method, transmission-side terminal, reception-side terminal, and recording medium
US5608426A (en) Palette management for application sharing in collaborative systems
US5761419A (en) Remote collaboration system including first program means translating user inputs into annotations and running on all computers while second program means runs on one computer
JP3617371B2 (en) Projector and information storage medium
JP4010199B2 (en) Display system
EP2280352A1 (en) Methods and apparatus for generating graphical and media displays at a client
US5754242A (en) Data formatting system for processing multiple independent input data streams for high resolution screen displays
CN102981793B (en) Method and apparatus for synchronizing one kind of screen
JP3224763B2 (en) A method and system for refreshing to duplicate the graphic image
EP2267975A2 (en) A method and apparatus for updating a graphical display in a distributed processing environment
JP5385340B2 (en) System and method for determining the media capabilities of the remote device
JP2004054783A5 (en)
US8656302B2 (en) Display system, network interactive display device, terminal, and control program
US20020002707A1 (en) System and method to display remote content
US5898419A (en) Method and apparatus for scaling a cursor on local computer to have the same size relative to a window on the local computer as another cursor has to another window on a remote computer
EP1455267A2 (en) Information processing apparatus and program
US8677022B2 (en) Method and apparatus for updating a graphical display in a distributed processing environment using compression
US20050033817A1 (en) Sharing OpenGL applications using application based screen sampling
JP3454500B2 (en) An information processing method, collaboration server, the collaboration system, a storage medium storing an information processing program

Legal Events

Date Code Title Description
C06 Publication
C10 Request of examination as to substance
C14 Granted