CN104067202A - 鼠标同步的方法、装置和系统 - Google Patents

鼠标同步的方法、装置和系统 Download PDF

Info

Publication number
CN104067202A
CN104067202A CN201280027915.0A CN201280027915A CN104067202A CN 104067202 A CN104067202 A CN 104067202A CN 201280027915 A CN201280027915 A CN 201280027915A CN 104067202 A CN104067202 A CN 104067202A
Authority
CN
China
Prior art keywords
mouse
information
client
server end
server
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
CN201280027915.0A
Other languages
English (en)
Other versions
CN104067202B (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
Priority to CN201611201878.7A priority Critical patent/CN106843537B/zh
Publication of CN104067202A publication Critical patent/CN104067202A/zh
Application granted granted Critical
Publication of CN104067202B publication Critical patent/CN104067202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例涉及服务器端与客户端鼠标同步的装置、方法和系统。服务器端鼠标根据客户端的鼠标信息进行移动之后,服务器端还能够捕获服务器端最新的鼠标信息,并且将服务器端最新的鼠标信息返回到客户端,使得客户端在根据本端用户操作进行鼠标移动之后还能够根据服务器端的最新的鼠标信息再次调整客户端的光标显示,从而保证客户端与服务器鼠标的精准同步,使得用户获得准确的鼠标信息。

Description

鼠标同步的方法、 装置和系统
技术领域
本发明实施例涉及计算机技术, 特别是一种鼠标同步的方法、 装置和系 统。 背景技术
云计算网络中包括具有强大计算能力的 "云服务器" 和用户终端, 云计 算的核心理念就是通过不断提高 "云服务器" 的处理能力, 进而减少用户终 端的处理负担, 最终使用户终端筒化成一个单纯的输入输出设备, 并能按需 享受 "云" 的强大计算处理能力。 用户终端访问云服务器可以通过远程桌面 实现。 桌面云是远程桌面中的一种, 为云计算技术提供的统一桌面服务, 桌 面云将所有桌面虚拟机在数据中心进行托管并统一管理; 同时用户能够获得 完整 PC的使用体验。 用户可以通过瘦客户端 (Thin Client, TC )或者类似 的设备 (筒称云终端)在局域网或者远程访问获得与传统 PC—致的用户体 验。
桌面云技术中, 需要将客户端的鼠标的操作信息传递到服务器端, 以使 得客户端的鼠标操作在服务器端执行并生效,例如,用户移动客户端的鼠标, 客户端通过本地系统的鼠标控制应用程序接口 ( Application Programming Interface, API ) , 获得客户端鼠标按键状态和当前客户端鼠标的位置信息, 再通过协议通讯将其获取的客户端鼠标操作信息传递到服务器端,服务器端 接收到客户端鼠标操作信息后, 根据客户端鼠标操作信息再通过相关 API 将服务器端鼠标设置到相关位置和状态。
在上述过程中, 如何在客户端显示鼠标的操作信息是一个关键的技术。 现有技术中的一种方案是客户端获取到自己的鼠标操作信息之后, 先根据自 己鼠标的位置信息显示鼠标的位置移动, 使得用户立即看到鼠标位置的移 动, 再向服务器端传递本端鼠标的操作信息, 服务器端获取客户端鼠标操作 信息执行相关服务器端鼠标操作之后, 服务器端隐藏自己的鼠标光标, 并发 送自己的鼠标光标图形给客户端,客户端在之前已经显示给用户的鼠标的位 置上, 直接显示接收到的服务端鼠标光标形状即可。
然而上述技术方案, 实际上存在客户端显示的鼠标位置和服务端实际鼠 标位置不能精确同步的问题,如果服务器端还运行一些对鼠标位置进行控制 的特殊程序, 例如, 在虚拟桌面中运行即时通讯软件, 可以给他人共享自己 的桌面, 并允许他人远程控制鼠标, 此类软件会不断设置虚拟桌面鼠标位置 为他人远程控制的位置, 再例如, 虚拟桌面运行第一人称视角射击游戏时, 通常此类游戏都会强制设置鼠标到屏幕中央, 此时, 由于客户端显示的是自 己的鼠标位置, 因此会导致用户看不到服务器端鼠标光标的真实位置, 造成 不同步。 发明内容
本发明实施例提出了一种鼠标同步的方法、 装置和系统, 以实现客户端 鼠标与服务器端鼠标的同步。
第一方面, 本发明实施例提出了一种鼠标同步的方法, 所述鼠标同步包 括客户端鼠标与服务器端鼠标的同步, 包括: 获取客户端鼠标的第一信息, 其中,所述客户端鼠标的第一信息是用户操作客户端鼠标之后客户端鼠标的 实时信息; 根据所述客户端鼠标的第一信息控制客户端光标移动; 向服务器 端上报所述客户端鼠标的第一信息, 以使得所述服务器端根据所述客户端鼠 标的第一信息进行鼠标重定向操作;接收所述服务器端返回的服务器端鼠标 的第二信息, 其中, 所述服务器端鼠标的第二信息为所述服务器端根据所述 客户端鼠标的第一信息进行鼠标重定向操作之后的服务器端鼠标的实时信 息; 根据所述服务器端鼠标的第二信息控制所述客户端光标再次移动。
结合第一方面, 在第一种可能的实现方式中, 所述向服务器端上报所 述客户端鼠标的第一信息之前, 还包括: 获取客户端鼠标信息记录模块记 录的客户端鼠标的上次移动后的记录信息; 比较所述客户端鼠标的上次移 动后的记录信息与所述客户端鼠标的第一信息, 当所述客户端鼠标的第一 信息相对所述客户端鼠标的上次移动后的记录信息发生变化时, 执行所述 向服务器端上报所述客户端鼠标的第一信息的步骤。
结合第一方面或者第一方面的第一种可能的实现方式, 在第二种可能 的实现方式中, 当所述客户端鼠标的第一信息相对所述客户端鼠标的上次 移动后的记录信息发生变化时, 还包括: 根据所述客户端鼠标的第一信息, 更新所述客户端鼠标信息记录模块记录的客户端鼠标的上次移动后的记录 信息。
结合第一方面或者第一方面的第二种可能的实现方式, 在第三种可能 的实现方式中, 所述根据所述服务器端鼠标的第二信息控制所述客户端光 标再次移动之前, 还包括: 再次获取客户端鼠标信息记录模块记录的客户 端鼠标的上次移动后的记录信息, 其中, 所述客户端鼠标的上次移动后的 记录信息为所述客户端鼠标的第一信息; 比较所述客户端鼠标的第一信息 与所述服务器端鼠标的第二信息, 当所述服务器端鼠标的第二信息相对所 述客户端鼠标的第一信息发生变化时, 执行根据所述服务器端鼠标的第二 信息控制所述客户端光标再次移动的步骤。
第二方面, 还提出了一种鼠标同步的方法, 所述鼠标同步包括客户端 鼠标与服务器端鼠标的同步, 包括: 接收客户端上报的客户端鼠标的第一 信息, 其中, 所述客户端鼠标的第一信息是用户操作客户端鼠标之后客户 端鼠标的实时信息;根据所述客户端鼠标的第一信息进行鼠标重定向操作; 获取服务器端鼠标的第二信息, 其中, 所述服务器端鼠标的第二信息为所 述服务器端根据所述客户端鼠标的第一信息进行鼠标重定向操作之后的服 务器端鼠标的实时信息; 向所述客户端发送所述服务器端鼠标的第二信息, 以使得所述客户端根据所述服务器端鼠标的第二信息控制所述客户端光标 再次移动。
结合第二方面, 在第一种可能的实现方式中, 所述根据所述客户端鼠 标的第一信息进行鼠标重定向操作之后, 还包括: 监测是否发生服务器端 鼠标再次移动事件, 如果检测到所述服务器端鼠标再次移动事件, 执行所 述获取服务器端鼠标的第二信息的步骤。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中, 所述监测是否发生服务器端鼠标再次移动事件, 包括: 当发生第三方程序 调用所述服务器端鼠标控制接口, 并使得所述服务器端鼠标控制接口控制 服务器端鼠标再次移动, 监测到发生所述服务器端鼠标再次移动事件。
结合第二方面或者第二方面的第一种可能的实现方式, 在第二种可能 的实现方式中, 所述根据所述客户端鼠标的第一信息进行鼠标重定向操作 之前, 还包括: 获取服务器端鼠标信息记录模块记录的服务器端鼠标的上 次移动后的记录信息; 比较所述服务器端鼠标的上次移动后的记录信息与 所述客户端鼠标的第一信息, 当所述第一信息相对所述服务器端鼠标的上 次移动后的记录信息发生变化时, 执行根据所述客户端鼠标的第一信息进 行鼠标重定向操作的步骤。
结合第二方面或者第二方面的第二种可能的实现方式, 在第三种可能 的实现方式中, 所述根据所述客户端鼠标的第一信息进行鼠标重定向操作 之后, 还包括: 根据所述客户端鼠标的第一信息, 更新所述服务器端鼠标 信息记录模块记录的服务器端鼠标的上次移动后的记录信息。
结合第二方面或者第二方面的第三种可能的实现方式, 在第四种可能 的实现方式中, 所述向所述客户端发送所述服务器端鼠标的第二信息之前, 还包括: 再次获取服务器端鼠标信息记录模块记录的服务器端鼠标的上次 移动后的记录信息, 其中, 所述服务器端鼠标的上次移动后的记录信息为 所述客户端鼠标的第一信息; 比较所述客户端鼠标的第一信息与所述服务 器端鼠标的第二信息, 当所述服务器端鼠标的第二信息相对所述客户端鼠 标的第一信息发生变化时, 执行向所述客户端发送所述服务器端鼠标的第 二信息的步骤。 第三方面, 提出了一种用于客户端装置, 用于实现客户端鼠标与服务 器端鼠标的同步, 包括: 第一获取单元, 用于获取客户端鼠标的第一信息, 其中, 所述客户端鼠标的第一信息是用户操作客户端鼠标之后客户端鼠标 的实时信息; 客户端鼠标控制单元, 用于根据所述客户端鼠标的第一信息 控制客户端光标移动; 第一通信单元, 用于向服务器端上报所述客户端鼠 标的第一信息, 以使得所述服务器端根据所述客户端鼠标的第一信息进行 鼠标重定向操作; 所述第一获取单元, 还用于接收所述服务器端返回的服 务器端鼠标的第二信息, 其中, 所述服务器端鼠标的第二信息为所述服务 器端根据所述客户端鼠标的第一信息进行鼠标重定向操作之后的服务器端 鼠标的实时信息; 所述客户端鼠标控制单元, 还用于根据所述服务器端鼠 标的第二信息控制所述客户端光标再次移动。
第四方面, 提出一种服务器, 用于实现客户端鼠标与服务器端鼠标的 同步, 包括: 第二通信单元, 用于接收客户端上报的客户端鼠标的第一信 息, 其中, 所述客户端鼠标的第一信息是用户操作客户端鼠标之后客户端 鼠标的实时信息; 服务器端鼠标控制单元, 用于根据所述客户端鼠标的第 一信息进行鼠标重定向操作; 第二获取单元, 用于获取服务器端鼠标的第 二信息, 其中, 所述服务器端鼠标的第二信息为所述服务器端根据所述客 户端鼠标的第一信息进行鼠标重定向操作之后的服务器端鼠标的实时信 息; 所述第二通信单元, 还用于向所述客户端发送所述服务器端鼠标的第 二信息, 以使得所述客户端根据所述服务器端鼠标的第二信息控制所述客 户端光标再次移动。
第五方面, 提出一种通信系统, 所述通信系统包括客户端装置和服务 器, 用于实现客户端鼠标与服务器端鼠标的同步, 所述客户端装置用于获 取客户端鼠标的第一信息, 其中, 所述客户端鼠标的第一信息是用户操作 客户端鼠标之后客户端鼠标的实时信息, 根据所述客户端鼠标的第一信息 控制客户端光标移动, 以及向服务器端上报所述客户端鼠标的第一信息; 所述服务器用于接收客户端上报的所述客户端鼠标的第一信息, 根据所述 客户端鼠标的第一信息进行鼠标重定向操作, 获取服务器端鼠标的第二信 息, 其中, 所述服务器端鼠标的第二信息为所述服务器端根据所述客户端 鼠标的第一信息进行鼠标重定向操作之后的服务器端鼠标的实时信息, 以 及向所述客户端发送所述服务器端鼠标的第二信息; 所述客户端装置还用 于接收所述服务器端返回的所述服务器端鼠标的第二信息, 根据所述服务 器端鼠标的第二信息控制所述客户端光标再次移动。
第六方面, 提出一种客户端装置, 用于实现客户端鼠标与服务器端鼠 标的同步, 所述装置包括包括处理器、 存储器、 总线和通信接口; 所述存 储器用于存储计算机执行指令, 所述处理器与所述存储器通过所述总线连 接, 当所述客户端装置运行时, 所述处理器执行所述存储器存储的所述计 算机执行指令, 以使所述客户端装置执行如上第一方面所述的鼠标同步的 方法。
第七方面, 提出一种服务器, 用于实现客户端鼠标与服务器端鼠标的 同步; 所述服务器包括包括处理器、 存储器、 总线和通信接口; 所述存储 器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接, 当所述客户端装置运行时, 所述处理器执行所述存储器存储的所述计算机 执行指令, 以使所述服务器执行如上第二方面所述的鼠标同步的方法。
第八方面, 提出一种计算机可读介质, 包括计算机执行指令, 以供计 算机的处理器执行所述计算机执行指令时, 所述计算机执行如上第一方面 所述的鼠标同步的方法。
第九方面, 提出又一种计算机可读介质, 包括计算机执行指令, 以供 计算机的处理器执行所述计算机执行指令时, 所述计算机执行如上第二方 面所述的鼠标同步的方法。
本发明实施例中,服务器端鼠标根据客户端的鼠标信息进行移动之后, 服务器端还能够捕获服务器端最新的鼠标信息, 并且将服务器端最新的鼠标 信息返回到客户端,使得客户端在根据本端用户操作进行鼠标移动之后还能 够根据服务器端的最新的鼠标信息再次调整客户端的光标显示,从而保证客 户端与服务器鼠标的精准同步, 使得用户获得准确的鼠标信息, 保证了某些 特殊的程序在桌面云场景下的正常执行, 带来客户的良好体验。
附图说明
为了更清楚地说明本发明实施例的技术方案, 下面将对现有技术或实施 例中所需要使用的附图作筒单地介绍, 显而易见地, 下面描述中的附图仅仅 是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳 动的前提下, 还可以根据这些附图获得其他的附图。
图 1是根据本发明实施例鼠标同步通信系统的架构示意图;
图 2是根据本发明实施例一的鼠标同步方法的流程图;
图 3是根据本发明实施例二的鼠标同步方法的流程图;
图 4是根据本发明实施例三的鼠标同步方法的流程图;
图 5是根据本发明实施例客户端装置的组成示意图;
图 6是根据本发明实施例服务器的组成示意图;
图 7是根据本发明实施例通信系统的组成示意图;
图 8是根据本发明又一实施例客户端装置的组成示意图;
图 9是根据本发明又一实施例服务器的组成示意图。 具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是 全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创 造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
图 1描绘了实施本发明实施例鼠标同步的方法的系统架构的一个示例, 该架构描绘了桌面云的应用场景, 桌面云通常由客户端和服务器端组成, 客 户端的计算机 /终端设备通过访问服务器端的远程计算设备,将远程计算机的 桌面传送到客户端的终端设备。 图 1中客户端包括普通计算机(101 )、 平板 电脑( 102 )、 智能手机 ( 103 ) , 也可以包括瘦终端 TC (图未示 ), 客户端的 计算机或者终端设备通过网络(201 )使用远程桌面协议(202 )访问远程服 务器端。月良务器端包括月良务器 301、 302、 303....30η, 用户的虚拟桌面 (Virtual Desktop)以虚拟机(301a、 301b— 301η ) 的形式由服务器 301 实现, 服务器 302、 303....30η与服务器 301类似。 用户通过客户端访问服务器上分配给该 用户的虚拟机, 该虚拟机将用户访问的内容传输到用户的客户端进行显示。 服务器端还可以包括桌面云管理系统等(图未示), 管理系统可以装载在服 务器端的任意服务器上。
本发明实施例中的鼠标同步过程可以在图 1所示的桌面云的架构下实 施, 但是图 1所示的只是其中一种远程桌面场景为桌面云的场景, 本实施场 景仅是一种示例性说明, 图 1所示的各组成也只是给出了与本发明实施例相 关的组成部分, 并不是对本发明应用的具体限定。
在图 1所示的桌面云的架构下, 本发明实施例的鼠标同步的方法的实 施例一可以如图 2所示执行, 包括:
步骤 S201: 客户端装置获取客户端鼠标的第一信息, 其中, 所述客户 端鼠标的第一信息是用户操作客户端鼠标之后客户端鼠标的实时信息; 步骤 S202: 客户端装置根据所述客户端鼠标的第一信息控制客户端光 标移动;
步骤 S203: 客户端装置向服务器端上报所述客户端鼠标的第一信息; 步骤 S204: 服务器端接收客户端上报的客户端鼠标的第一信息, 根据 所述客户端鼠标的第一信息进行鼠标重定向操作;
步骤 S205: 获取月良务器端鼠标的第二信息, 其中, 所述服务器端鼠标 的第二信息为所述服务器端根据所述客户端鼠标的第一信息进行鼠标重定 向操作之后的服务器端鼠标的实时信息;
步骤 S206: 向所述客户端发送所述服务器端鼠标的第二信息; 步骤 S207:客户端接收所述服务器端返回的服务器端鼠标的第二信息, 根据所述服务器端鼠标的第二信息控制所述客户端光标再次移动。
本发明实施例中,服务器端鼠标根据客户端的鼠标信息进行移动之后, 服务器端还能够捕获服务器端最新的鼠标信息, 并且将服务器端最新的鼠标 信息返回到客户端,使得客户端在根据本端用户操作进行鼠标移动之后还能 够根据服务器端的最新的鼠标信息再次调整客户端的光标显示,从而保证客 户端与服务器鼠标的精准同步, 使得用户获得准确的鼠标信息, 保证了某些 特殊的程序在桌面云场景下的正常执行, 带来客户的良好体验。
以上实施例可以通过改造客户端装置与服务器的现有功能模块实现本 发明实施例的鼠标同步的方法,也可以通过在客户端装置与服务器中新增功 能模块的方式实现本发明实施例的鼠标同步的方法。 以下实施例将以客户端 装置和服务器中的鼠标控制应用程序接口 API和键鼠服务模块为例,来描述 几个具体实施例。
另外, 本发明实施例中的鼠标信息具体可以包括鼠标的位置信息和鼠 标的按键状态信息任意之一或者两者,在以下的具体实施例中将以包含两者 为例。
本发明实施例的鼠标同步的方法的实施例二可以如图 3所示, 包括: 步骤 S301: 用户移动鼠标, 客户端鼠标控制 API获取当前客户端鼠标 的第一位置信息和第一按键状态信息;
具体地, 客户端鼠标控制 API获取的当前客户端鼠标的第一位置信息 通过客户端屏幕 X与 y坐标信息表示。
步骤 S302: 客户端鼠标控制 API根据获取的客户端鼠标第一位置信息 和第一按键状态信息控制客户端光标移动, 以显示给用户;
步骤 S303: 客户端键鼠服务模块通过事件消息机制获取到所述客户端 鼠标第一位置信息和第一按键状态信息, 并通过客户端与服务器端的通信协 议将所述客户端鼠标第一位置信息和第一按键状态信息发送到服务器端; 步骤 S304: 服务器端键鼠服务模块接收所述客户端鼠标第一位置信息 和第一按键状态信息, 调用服务器端鼠标控制 API;
步骤 S305: 服务器端鼠标控制 API根据所述客户端鼠标第一位置信息 和第一按键状态信息, 进行鼠标重定向操作, 即控制服务器端鼠标移动到服 务器端鼠标第一位置和服务器端鼠标第一按键状态;
同时, 在本步骤中, 服务器端鼠标控制 API需要隐藏服务器端的鼠标 的光标位置, 以免客户端察觉鼠标移动的延迟;
步骤 S306: 第三方应用程序调用所述服务器端鼠标控制 API, 并使得 所述服务器端鼠标控制 API控制服务器端鼠标的位置或者按键状态进行改 变;
步骤 S307: 服务器端键鼠服务模块通过事件消息机制获取到所述服务 器端鼠标第二位置信息和第二按键状态信息, 第二位置信息和第二按键状态 信息为所述服务器端根据所述客户端鼠标的第一信息进行鼠标重定向操作 之后的服务器端鼠标的实时信息; 并通过客户端与服务器端的通信协议将所 述服务器端鼠标第二位置信息和第二按键状态信息发送到客户端;
步骤 S308: 客户端键鼠服务模块接收所述服务器端鼠标第二位置信息 和第二按键状态信息, 调用客户端鼠标控制 API;
步骤 S309: 客户端鼠标控制 API根据所述服务器端鼠标第二位置信息 和第二按键状态信息, 控制客户端光标移动到第二位置和实现第二按键状 态, 以显示给用户。
本发明实施例中, 服务器端鼠标根据客户端的鼠标位置和按键状态进 行移动之后, 服务器端还能够捕获服务器端最新的鼠标位置和按键状态, 并 且将服务器端最新的鼠标位置和按键状态返回到客户端,使得客户端能够根 据服务器端的最新的鼠标位置和按键状态调整客户端的光标显示, 能够保证 客户端与服务器鼠标的精准同步,从而使得用户获得准确的鼠标位置和按键 状态信息, 保证了某些特殊的程序在桌面云场景下的正常执行, 带来客户的 良好体验。 本发明实施例的鼠标同步的方法的实施例三可以如图 4所示, 包括: 步骤 S401: 在客户端和服务器端均设置鼠标信息记录模块, 如客户端 鼠标信息记录模块和服务器端鼠标信息记录模块,每端的鼠标信息记录模块 用于记录本端鼠标的上次移动后的记录信息 (位置上次移动后的记录信息, 按键状态上次移动后的记录信息), 当客户端和服务器端初始启动时, 每端 的鼠标信息记录模块记录本端鼠标的初始信息(初始位置信息, 初始按键状 态信息);
其中, 客户端鼠标信息记录模块记录的本端鼠标初始信息与服务器端 鼠标信息记录模块记录的本端鼠标初始信息默认为相同;
步骤 S402: 用户移动鼠标, 客户端鼠标控制 API获取当前客户端鼠标 的第一信息(第一位置信息, 第一按键状态信息);
具体地, 客户端鼠标控制 API获取的当前客户端鼠标的第一位置信息 通过客户端屏幕 X与 y坐标信息表示。
步骤 S403: 客户端键鼠服务模块通过事件消息机制获取到所述客户端 鼠标的信息 (第一位置信息, 第一按键状态信息), 客户端键鼠服务模块比 较当前客户端鼠标信息(第一位置信息, 第一按键状态信息)与客户端鼠标 信息记录模块记录的本端鼠标的初始信息(初始位置信息, 初始按键状态信 息), 如果发生变化, 执行步骤 S 404, 如果没有发生变化, 客户端鼠标控制 API返回执行步骤 S402;
步骤 S404: 客户端键鼠服务模块根据获取的当前客户端鼠标的第一信 息(第一位置信息, 第一按键状态信息)控制客户端光标移动, 并显示给用 户;
本实施例中, 还可以更新客户端鼠标信息记录模块记录的本端鼠标的 上次移动后的记录信息为当前值(第一位置信息, 第一按键状态信息); 步骤 S405: 客户端键鼠服务模块通过客户端与服务器端的通信协议将 所述客户端鼠标的第一信息(第一位置信息, 第一按键状态信息)发送到服 务器端;
步骤 S406:服务器端键鼠服务模块接收所述客户端鼠标的第一信息(第 一位置信息, 第一按键状态信息);
步骤 S407:服务器端键鼠服务模块比较当前客户端鼠标的第一信息(第 一位置信息, 第一按键状态信息)与服务器端鼠标信息记录模块记录的本端 鼠标的初始信息 (初始位置信息, 初始按键状态信息), 如果发生变化, 执 行步骤 S408, 如果没有发生变化, 则返回执行步骤 S406;
步骤 S408: 服务器端键鼠服务模块调用服务器端鼠标控制 API进行鼠 标重定向操作,即使得所述服务器端鼠标控制 API根据所述客户端鼠标第一 位置信息和第一按键状态信息,控制服务器端鼠标移动到服务器端鼠标第一 位置和服务器端鼠标第一按键状态;
本实施例中, 还可以更新服务器端鼠标信息记录模块记录的本端鼠标 的上次移动后的记录信息为当前值(第一位置信息, 第一按键状态信息); 同时, 在本步骤中, 如果移动服务器端鼠标, 服务器端鼠标控制 API 需要隐藏服务器端的鼠标的光标位置, 以免客户端察觉鼠标移动的延迟; 步骤 S409: 服务器端键鼠服务模块监测是否发生服务器端鼠标再次移 动事件, 如果检测到所述服务器端鼠标再次移动事件, 获取服务器端鼠标 的第二信息, 所述服务器端鼠标的第二信息为所述服务器端根据所述客户 端鼠标的第一信息进行鼠标重定向操作之后的服务器端鼠标的实时信息; 若第三方应用程序调用所述服务器端鼠标控制 API, 并使得所述服务 器端鼠标控制 API控制服务器端鼠标的位置或者按键状态进行改变,所述服 务器端键鼠服务模块获取更新后的服务器端鼠标的实时信息, 即第二信息 (第二位置信息, 第二按键状态信息);
步骤 S410: 服务器端键鼠服务模块比较该更新后的服务器端鼠标的第 二信息(第二位置信息, 第二按键状态信息)与服务器端鼠标信息记录模块 记录的本端鼠标的上次移动后的记录信息(第一位置信息和第一按键状态信 息 ),如果发生变化,执行步骤 S411 ,如果没有发生变化,返回执行步骤 S409; 步骤 S411: 所述服务器端键鼠服务通过客户端与服务器端的通信协议 将所述服务器端鼠标第二位置信息和第二按键状态信息发送到客户端;
步骤 S412: 客户端键鼠服务模块接收所述服务器端鼠标第二位置信息 和第二按键状态信息,客户端键鼠服务模块比较所述服务器端鼠标的第二信 息(第二位置信息, 第二按键状态信息)与客户端鼠标信息记录模块记录的 本端鼠标的上次移动后的信息 (第一位置信息, 第一按键状态信息), 如果 发生变化, 执行步骤 S413;
步骤 S413: 客户端键鼠服务模块调用客户端鼠标控制 API, 使得客户 端鼠标控制 API根据所述服务器端鼠标第二位置信息和第二按键状态信息, 控制客户端光标移动到第二位置和实现第二按键状态, 以显示给用户。
在本发明实施倒三中的另一个可以执行的实施例中, 当步骤 S403或者 步骤 S410在进行比较动作之后, 若确定发生变化之后, 还可以获得发生变 化的改变值(或者差值), 例如, 获取所述客户端鼠标的第一信息相对所述 客户端鼠标的上次移动后的记录信息的改变值, 并在步骤 S405 或者步骤 S411中向对端通知相应的改变值(或者差值), 那么相应地, 如果只是向对 端传递鼠标信息的改变值或者差值时, 对端需要根据本端的鼠标信息记录 模块记录的鼠标信息和所述改变值(或者差值) 恢复出当前鼠标信息的真 实位置或按键状态信息, 并进行相应地操作。
本发明实施例中, 服务器端鼠标根据客户端的鼠标位置和按键状态进 行移动之后, 服务器端还能够捕获服务器端最新的鼠标位置和按键状态, 并 且将服务器端最新的鼠标位置和按键状态返回到客户端,使得客户端能够根 据服务器端的最新的鼠标位置和按键状态调整客户端的光标显示, 能够保证 客户端与服务器鼠标的精准同步,从而使得用户获得准确的鼠标位置和按键 状态信息, 保证了某些特殊的程序在桌面云场景下的正常执行, 带来客户的 良好体验。 同时在本实施例中, 由于设置了鼠标信息记录模块, 因此本实施例中, 只在当前鼠标的位置信息或者按键状态发生变化时, 才向对端通知相应的鼠 标位置信息或者按键状态信息, 可以减少鼠标重定向操作的次数, 同时减少 客户端和服务器端消息的交互,减少带宽的占用,同时减轻相关设备的负载。
图 5为本发明实施例的客户端装置的结构组成示意图, 本发明实施例 的客户端装置可以通过瘦终端或者用户移动终端中的硬件实现或者软件组 件实现, 例如可以通过瘦终端中的键鼠服务模块实现。
所述客户端装置 500,用于实现客户端鼠标与服务器端鼠标的同步, 包 括:
第一获取单元 501 , 用于获取客户端鼠标的第一信息, 其中, 所述客户 端鼠标的第一信息是用户操作客户端鼠标之后客户端鼠标的实时信息; 客户端鼠标控制单元 502 ,用于根据所述客户端鼠标的第一信息控制客 户端光标移动;
第一通信单元 503 , 用于向服务器端上报所述客户端鼠标的第一信息, 以使得所述服务器端根据所述客户端鼠标的第一信息进行鼠标重定向操 作;
所述第一获取单元 501 ,还用于接收所述服务器端返回的服务器端鼠标 的第二信息, 其中, 所述服务器端鼠标的第二信息为所述服务器端根据所 述客户端鼠标的第一信息进行鼠标重定向操作之后的服务器端鼠标的实时 信息;
所述客户端鼠标控制单元 502,还用于根据所述服务器端鼠标的第二信 息控制所述客户端光标再次移动。
进一步地, 所述客户端装置还可以包括客户端鼠标信息记录模块 504, 用于保存客户端鼠标的上次移动后的记录信息;
则,所述第一获取单元 501 ,还用于获取所述客户端鼠标信息记录模块 记录的客户端鼠标的上次移动后的记录信息, 比较所述客户端鼠标的上次 移动后的记录信息与所述客户端鼠标的第一信息, 当所述客户端鼠标的第 一信息相对所述客户端鼠标的上次移动后的记录信息发生变化时, 触发所 述第一通信单元 503执行所述向服务器端上报所述客户端鼠标的第一信息。
所述客户端鼠标信息记录模块 504,还可以用于根据所述客户端鼠标的 第一信息, 更新所述客户端鼠标信息记录模块 504记录的客户端鼠标的上次 移动后的记录信息。
所述第一获取单元 501 ,还用于再次获取客户端鼠标信息记录模块记录 的客户端鼠标的上次移动后的记录信息, 其中, 所述客户端鼠标的上次移 动后的记录信息为所述客户端鼠标的第一信息, 比较所述客户端鼠标的第 一信息与所述服务器端鼠标的第二信息, 当所述服务器端鼠标的第二信息 相对所述客户端鼠标的第一信息发生变化时, 触发所述客户端鼠标控制单 元 502根据所述服务器端鼠标的第二信息控制所述客户端光标再次移动。
图 6为本发明实施例的服务器的结构组成示意图, 本发明实施例的服 务器可以是客户端远程登录的远端处理服务器,也可以是桌面云场景 /虚拟化 场景中提供虚拟机的服务器, 或者提供虚拟机管理的服务器; 该服务器实现 鼠标同步的功能可以通过硬件实现或者软件组件实现, 例如可以通过安装在 服务器中的键鼠服务模块实现。
所述服务器 600, 用于实现客户端鼠标与服务器端鼠标的同步, 包括: 第二通信单元 601 ,用于接收客户端上报的客户端鼠标的第一信息,其 中, 所述客户端鼠标的第一信息是用户操作客户端鼠标之后客户端鼠标的 实时信息;
服务器端鼠标控制单元 602,用于根据所述客户端鼠标的第一信息进行 鼠标重定向操作;
第二获取单元 603 , 用于获取服务器端鼠标的第二信息, 其中, 所述服 务器端鼠标的第二信息为所述服务器端根据所述客户端鼠标的第一信息进 行鼠标重定向操作之后的服务器端鼠标的实时信息; 所述第二通信单元 601 ,还用于向所述客户端发送所述服务器端鼠标的 第二信息, 以使得所述客户端根据所述服务器端鼠标的第二信息控制所述 客户端光标再次移动。
所述服务器还可以包括服务器端鼠标信息记录模块 604,用于保存服务 器端鼠标的上次移动后的记录信息;
贝' J ,所述第二获取单元 603 ,还用于获取所述服务器端鼠标信息记录模 块保存的服务器端鼠标的上次移动后的记录信息, 比较所述服务器端鼠标 的上次移动后的记录信息与所述客户端鼠标的第一信息, 当所述第一信息 相对所述服务器端鼠标的上次移动后的记录信息发生变化时, 触发所述服 务器端鼠标控制单元 602执行根据所述客户端鼠标的第一信息进行鼠标重 定向操作。
所述服务器端鼠标信息记录模块 604,还用于将根据所述客户端鼠标的 第一信息, 更新所述服务器端鼠标的上次移动后的记录信息。
所述第二获取单元 603 ,在获取服务器端鼠标的第二信息之后,还用于 再次获取服务器端鼠标信息记录模块记录的服务器端鼠标的上次移动后的 记录信息, 其中, 所述服务器端鼠标的上次移动后的记录信息为所述客户 端鼠标的第一信息, 比较所述客户端鼠标的第一信息与所述服务器端鼠标 的第二信息, 当所述服务器端鼠标的第二信息相对所述客户端鼠标的第一 信息发生变化时, 触发所述第二通信单元 601 向所述客户端发送所述服务 器端鼠标的第二信息。
所述服务器还包括监测单元 605 ,用于监测是否发生服务器端鼠标再次 移动事件, 如果检测到所述服务器端鼠标再次移动事件, 触发所述第二获 取单元 603获取服务器端鼠标的第二信息。
所述监测单元 605 ,具体用于监测是否发生第三方程序调用所述服务器 端鼠标控制接口, 并使得所述服务器端鼠标控制接口控制服务器端鼠标再 次移动, 如果是, 确定发生所述服务器端鼠标再次移动事件。 图 7为本发明实施例的通信系统的结构组成示意图, 该通信系统 700 用于客户端远程登录的远端处理服务器的场景, 也可以是用户使用桌面云 场景 /虚拟化场景, 该系统包括客户端装置 701和服务器 702, 用于实现客 户端鼠标与服务器端鼠标的同步;
所述客户端装置 701用于获取客户端鼠标的第一信息, 其中, 所述客 户端鼠标的第一信息是用户操作客户端鼠标之后客户端鼠标的实时信息, 根据所述客户端鼠标的第一信息控制客户端光标移动, 以及向服务器端上 报所述客户端鼠标的第一信息;
所述服务器 702用于接收客户端上报的所述客户端鼠标的第一信息, 根据所述客户端鼠标的第一信息进行鼠标重定向操作, 获取服务器端鼠标 的第二信息, 其中, 所述服务器端鼠标的第二信息为所述服务器端根据所 述客户端鼠标的第一信息进行鼠标重定向操作之后的服务器端鼠标的实时 信息, 以及向所述客户端发送所述服务器端鼠标的第二信息;
所述客户端装置 701还用于接收所述服务器端返回的所述服务器端鼠 标的第二信息, 根据所述服务器端鼠标的第二信息控制所述客户端光标再 次移动。
具体地, 该客户端装置 701可以包括如图 5所示的各功能子模块, 服务 器 702可以包括如图 6所示的各功能子模块, 为描述的方便和筒洁, 上述描 述的系统、 装置和单元的具体工作过程, 可以参考前述方法实施例中的对应 过程, 在此不再赘述。
图 8为本发明实施例的客户端装置的结构组成示意图。 本发明实施例的 客户端装置用于实现客户端鼠标与服务器端鼠标的同步;
该客户端装置可包括:
处理器 801、 存储器 802、 系统总线 803和通信接口 804。 处理器 801、 存储器 802和通信接口 804之间通过系统总线 803连接并完成相互间的通信。
处理器 801 可能为单核或多核中央处理单元 (Cent ra l Proces s ing Unit , CPU), 或者为特定集成电路 ( Application Specific Integrated Circuit, ASIC),或者为被配置成实施本发明实施例的一个或多个集成电路。
存储器 802 可以为高速 RAM 存储器, 也可以为非易失性存储器 ( non-volatile memory ), 例如至少一个磁盘存储器。
存储器 802用于存放程序 805。具体的,程序 805中可以包括程序代码, 所述程序代码包括计算机执行指令。
当虚拟机系统资源管理装置运行时, 处理器 801运行程序 805, 以执行 以下指令:
获取客户端鼠标的第一信息, 其中, 所述客户端鼠标的第一信息是用 户操作客户端鼠标之后客户端鼠标的实时信息;
根据所述客户端鼠标的第一信息控制客户端光标移动;
向服务器端上报所述客户端鼠标的第一信息, 以使得所述服务器端根 据所述客户端鼠标的第一信息进行鼠标重定向操作;
接收所述服务器端返回的服务器端鼠标的第二信息, 其中, 所述服务 器端鼠标的第二信息为所述服务器端根据所述客户端鼠标的第一信息进行 鼠标重定向操作之后的服务器端鼠标的实时信息;
根据所述服务器端鼠标的第二信息控制所述客户端光标再次移动。 具体地,本发明实施例中的客户端装置还根据所述指令执行上述图 3或 4所示的鼠标同步方法, 具体在此不再赘述。
图 9为本发明实施例的服务器的结构组成示意图。 本发明实施例的服务 器用于实现客户端鼠标与服务器端鼠标的同步;
该服务器可包括:
处理器 901、 存储器 902、 系统总线 903和通信接口 904。 处理器 901、 存储器 902和通信接口 904之间通过系统总线 803连接并完成相互间的通信。
处理器 901 可能为单核或多核中央处理单元 (Central Processing
Unit , CPU), 或者为特定集成电路 ( Application Specific Integrated C i rcui t , ASIC ),或者为被配置成实施本发明实施例的一个或多个集成电路。 存储器 902 可以为高速 RAM 存储器, 也可以为非易失性存储器 ( non-volat i le memory ), 例如至少一个磁盘存储器。
存储器 902用于存放程序 905。具体的,程序 905中可以包括程序代码, 所述程序代码包括计算机执行指令。
当虚拟机系统资源管理装置运行时, 处理器 901运行程序 905 , 以执行 以下指令:
接收客户端上报的客户端鼠标的第一信息, 其中, 所述客户端鼠标的 第一信息是用户操作客户端鼠标之后客户端鼠标的实时信息;
根据所述客户端鼠标的第一信息进行鼠标重定向操作;
获取服务器端鼠标的第二信息, 其中, 所述服务器端鼠标的第二信息 为所述服务器端根据所述客户端鼠标的第一信息进行鼠标重定向操作之后 的服务器端鼠标的实时信息;
向所述客户端发送所述服务器端鼠标的第二信息, 以使得所述客户端 根据所述服务器端鼠标的第二信息控制所述客户端光标再次移动。
具体地,本发明实施例中的服务器还根据所述指令执行上述图 3或 4所 示的鼠标同步方法, 具体在此不再赘述。
本领域普通技术人员将会理解, 本发明的各个方面、 或各个方面的可 能实现方式可以被具体实施为系统、 方法或者计算机程序产品。 因此, 本 发明的各方面、 或各个方面的可能实现方式可以采用完全硬件实施例、 完 全软件实施例 (包括固件、 驻留软件等等), 或者组合软件和硬件方面的实 施例的形式, 在这里都统称为"电路"、 "模块 "或者 "系统"。 此外, 本发明的 各方面、 或各个方面的可能实现方式可以采用计算机程序产品的形式, 计 算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介 质。 计算机可读存储介质包含但不限于电子、 磁性、 光学、 电磁、 红外或 半导体系统、 设备或者装置, 或者前述的任意适当组合, 如随机存取存储 器 (RAM)、 只读存储器 (ROM)、 可擦除可编程只读存储器 (EPROM 或者 快闪存储器)、 光纤、 便携式只读存储器 (CD-ROM)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代 码, 使得处理器能够执行在流程图中每个步骤、 或各步骤的组合中规定的 功能动作; 生成实施在框图的每一块、 或各块的组合中规定的功能动作的 装置。
计算机可读程序代码可以完全在用户的计算机上执行、 部分在用户的 计算机上执行、 作为单独的软件包、 部分在用户的计算机上并且部分在远 程计算机上, 或者完全在远程计算机或者服务器上执行。 也应该注意, 在 某些替代实施方案中, 在流程图中各步骤、 或框图中各块所注明的功能可 能不按图中注明的顺序发生。 例如, 依赖于所涉及的功能, 接连示出的两 个步骤、 或两个块实际上可能被大致同时执行, 或者这些块有时候可能被 以相反顺序执行。
本领域普通技术人员可以意识到, 结合本文中所公开的实施例描述的 各示例的单元及算法步骤, 能够以电子硬件、 或者计算机软件和电子硬件 的结合来实现。 这些功能究竟以硬件还是软件方式来执行, 取决于技术方 案的特定应用和设计约束条件。 专业技术人员可以对每个特定的应用来使 用不同方法来实现所描述的功能, 但是这种实现不应认为超出本发明的范 围。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局 限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可 轻易想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明 的保护范围应所述以权利要求的保护范围为准。

Claims (1)

  1. 权利要求
    1、 一种鼠标同步的方法, 其特征在于, 所述鼠标同步包括客户端鼠标 与服务器端鼠标的同步, 包括:
    获取客户端鼠标的第一信息, 其中, 所述客户端鼠标的第一信息是用 户操作客户端鼠标之后客户端鼠标的实时信息;
    根据所述客户端鼠标的第一信息控制客户端光标移动;
    向服务器端上报所述客户端鼠标的第一信息, 以使得所述服务器端根 据所述客户端鼠标的第一信息进行鼠标重定向操作;
    接收所述服务器端返回的服务器端鼠标的第二信息, 其中, 所述服务 器端鼠标的第二信息为所述服务器端根据所述客户端鼠标的第一信息进行 鼠标重定向操作之后的服务器端鼠标的实时信息;
    根据所述服务器端鼠标的第二信息控制所述客户端光标再次移动。
    2、 如权利要求 1所述的方法, 其特征在于, 所述向服务器端上报所述 客户端鼠标的第一信息之前, 还包括:
    获取客户端鼠标信息记录模块记录的客户端鼠标的上次移动后的记录 信息;
    比较所述客户端鼠标的上次移动后的记录信息与所述客户端鼠标的第 一信息, 当所述客户端鼠标的第一信息相对所述客户端鼠标的上次移动后 的记录信息发生变化时, 执行所述向服务器端上报所述客户端鼠标的第一 信息的步骤。
    3、 如权利要求 2所述的方法, 其特征在于, 当所述客户端鼠标的第一 信息相对所述客户端鼠标的上次移动后的记录信息发生变化时, 还包括: 根据所述客户端鼠标的第一信息, 更新所述客户端鼠标信息记录模块 记录的客户端鼠标的上次移动后的记录信息。
    4、 如权利要求 3所述的方法, 其特征在于, 所述根据所述服务器端鼠 标的第二信息控制所述客户端光标再次移动之前, 还包括: 再次获取客户端鼠标信息记录模块记录的客户端鼠标的上次移动后的 记录信息, 其中, 所述客户端鼠标的上次移动后的记录信息为所述客户端 鼠标的第一信息;
    比较所述客户端鼠标的第一信息与所述服务器端鼠标的第二信息, 当 所述服务器端鼠标的第二信息相对所述客户端鼠标的第一信息发生变化 时, 执行根据所述服务器端鼠标的第二信息控制所述客户端光标再次移动 的步骤。
    5、 一种鼠标同步的方法, 其特征在于, 所述鼠标同步包括客户端鼠标 与服务器端鼠标的同步, 包括:
    接收客户端上报的客户端鼠标的第一信息, 其中, 所述客户端鼠标的 第一信息是用户操作客户端鼠标之后客户端鼠标的实时信息;
    根据所述客户端鼠标的第一信息进行鼠标重定向操作;
    获取服务器端鼠标的第二信息, 其中, 所述服务器端鼠标的第二信息 为所述服务器端根据所述客户端鼠标的第一信息进行鼠标重定向操作之后 的服务器端鼠标的实时信息;
    向所述客户端发送所述服务器端鼠标的第二信息, 以使得所述客户端 根据所述服务器端鼠标的第二信息控制所述客户端光标再次移动。
    6、 如权利要求 5所述的方法, 其特征在于, 所述根据所述客户端鼠标 的第一信息进行鼠标重定向操作之后, 还包括:
    监测是否发生服务器端鼠标再次移动事件, 如果检测到所述服务器端 鼠标再次移动事件, 执行所述获取服务器端鼠标的第二信息的步骤。
    7、 如权利要求 6所述的方法, 其特征在于, 所述监测是否发生服务器 端鼠标再次移动事件, 包括:
    当发生第三方程序调用所述服务器端鼠标控制接口, 并使得所述服务 器端鼠标控制接口控制服务器端鼠标再次移动, 监测到发生所述服务器端 鼠标再次移动事件。 8、 如权利要求 5或 6所述的方法, 其特征在于, 所述根据所述客户端 鼠标的第一信息进行鼠标重定向操作, 包括:
    根据所述客户端鼠标的第一信息, 控制所述服务器端鼠标移动。
    9、 如权利要求 5或 6所述的方法, 其特征在于, 所述根据所述客户端 鼠标的第一信息进行鼠标重定向操作之前, 还包括:
    获取服务器端鼠标信息记录模块记录的服务器端鼠标的上次移动后的 记录信息;
    比较所述服务器端鼠标的上次移动后的记录信息与所述客户端鼠标的 第一信息, 当所述第一信息相对所述服务器端鼠标的上次移动后的记录信 息发生变化时, 执行根据所述客户端鼠标的第一信息进行鼠标重定向操作 的步骤。
    10、 如权利要求 9所述的方法, 其特征在于, 所述根据所述客户端鼠 标的第一信息进行鼠标重定向操作之后, 还包括:
    根据所述客户端鼠标的第一信息, 更新所述服务器端鼠标信息记录模 块记录的服务器端鼠标的上次移动后的记录信息。
    11、 如权利要求 10所述的方法, 其特征在于, 所述向所述客户端发送 所述服务器端鼠标的第二信息之前, 还包括:
    再次获取服务器端鼠标信息记录模块记录的服务器端鼠标的上次移动 后的记录信息, 其中, 所述服务器端鼠标的上次移动后的记录信息为所述 客户端鼠标的第一信息;
    比较所述客户端鼠标的第一信息与所述服务器端鼠标的第二信息, 当 所述服务器端鼠标的第二信息相对所述客户端鼠标的第一信息发生变化 时, 执行向所述客户端发送所述服务器端鼠标的第二信息的步骤。
    12、 如权利要求 11所述的方法, 其特征在于, 所述向所述客户端发送 所述服务器端鼠标的第二信息, 包括:
    获得所述服务器端鼠标的第二信息相对所述客户端鼠标的第一信息的 改变值;
    向所述客户端上报所述改变值。
    13、 一种客户端装置, 其特征在于, 用于实现客户端鼠标与服务器端 鼠标的同步, 包括:
    第一获取单元, 用于获取客户端鼠标的第一信息, 其中, 所述客户端 鼠标的第一信息是用户操作客户端鼠标之后客户端鼠标的实时信息;
    客户端鼠标控制单元, 用于根据所述客户端鼠标的第一信息控制客户 端光标移动;
    第一通信单元, 用于向服务器端上报所述客户端鼠标的第一信息, 以 使得所述服务器端根据所述客户端鼠标的第一信息进行鼠标重定向操作; 所述第一获取单元, 还用于接收所述服务器端返回的服务器端鼠标的 第二信息, 其中, 所述服务器端鼠标的第二信息为所述服务器端根据所述 客户端鼠标的第一信息进行鼠标重定向操作之后的服务器端鼠标的实时信 所述客户端鼠标控制单元, 还用于根据所述服务器端鼠标的第二信息 控制所述客户端光标再次移动。
    14、 如权利要求 13所述的装置, 其特征在于, 还包括:
    客户端鼠标信息记录模块, 用于保存客户端鼠标的上次移动后的记录 信息;
    则, 所述第一获取单元, 还用于获取所述客户端鼠标信息记录模块记 录的客户端鼠标的上次移动后的记录信息, 比较所述客户端鼠标的上次移 动后的记录信息与所述客户端鼠标的第一信息, 当所述客户端鼠标的第一 信息相对所述客户端鼠标的上次移动后的记录信息发生变化时, 触发所述 第一通信单元执行所述向服务器端上报所述客户端鼠标的第一信息。
    15、 如权利要求 14所述的装置, 其特征在于, 所述客户端鼠标信息记 录模块, 还用于根据所述客户端鼠标的第一信息, 更新所述客户端鼠标信 息记录模块记录的客户端鼠标的上次移动后的记录信息。
    16、 如权利要求 15所述的装置, 其特征在于, 所述第一获取单元, 还 用于再次获取客户端鼠标信息记录模块记录的客户端鼠标的上次移动后的 记录信息, 其中, 所述客户端鼠标的上次移动后的记录信息为所述客户端 鼠标的第一信息, 比较所述客户端鼠标的第一信息与所述服务器端鼠标的 第二信息, 当所述服务器端鼠标的第二信息相对所述客户端鼠标的第一信 息发生变化时, 触发所述客户端鼠标控制单元根据所述服务器端鼠标的第 二信息控制所述客户端光标再次移动。
    17、 一种服务器, 其特征在于, 用于实现客户端鼠标与服务器端鼠标 的同步, 包括:
    第二通信单元, 用于接收客户端上报的客户端鼠标的第一信息, 其中, 所述客户端鼠标的第一信息是用户操作客户端鼠标之后客户端鼠标的实时 信息;
    服务器端鼠标控制单元, 用于根据所述客户端鼠标的第一信息进行鼠 标重定向操作;
    第二获取单元, 用于获取服务器端鼠标的第二信息, 其中, 所述服务 器端鼠标的第二信息为所述服务器端根据所述客户端鼠标的第一信息进行 鼠标重定向操作之后的服务器端鼠标的实时信息;
    所述第二通信单元, 还用于向所述客户端发送所述服务器端鼠标的第 二信息, 以使得所述客户端根据所述服务器端鼠标的第二信息控制所述客 户端光标再次移动。
    18、 如权利要求 17所述的服务器, 其特征在于, 还包括:
    服务器端鼠标信息记录模块, 用于保存服务器端鼠标的上次移动后的 记录信息;
    则, 所述第二获取单元, 还用于获取所述服务器端鼠标信息记录模块 保存的服务器端鼠标的上次移动后的记录信息, 比较所述服务器端鼠标的 上次移动后的记录信息与所述客户端鼠标的第一信息, 当所述第一信息相 对所述服务器端鼠标的上次移动后的记录信息发生变化时, 触发所述服务 器端鼠标控制单元执行根据所述客户端鼠标的第一信息进行鼠标重定向操 作。
    19、 如权利要求 18所述的服务器, 其特征在于, 所述服务器端鼠标信 息记录模块, 还用于将根据所述客户端鼠标的第一信息, 更新所述服务器 端鼠标的上次移动后的记录信息。
    20、 如权利要求 19所述的服务器, 其特征在于, 所述第二获取单元, 在获取服务器端鼠标的第二信息之后, 还用于再次获取服务器端鼠标信息 记录模块记录的服务器端鼠标的上次移动后的记录信息, 其中, 所述服务 器端鼠标的上次移动后的记录信息为所述客户端鼠标的第一信息, 比较所 述客户端鼠标的第一信息与所述服务器端鼠标的第二信息, 当所述服务器 端鼠标的第二信息相对所述客户端鼠标的第一信息发生变化时, 触发所述 第二通信单元向所述客户端发送所述服务器端鼠标的第二信息。
    21、 如权利要求 17-20任一项所述的服务器, 其特征在于, 还包括: 监测单元, 用于监测是否发生服务器端鼠标再次移动事件, 如果检测 到所述服务器端鼠标再次移动事件, 触发所述第二获取单元获取服务器端 鼠标的第二信息。
    22、 如权利要求 21所述的服务器, 其特征在于, 所述监测单元, 具体 用于监测是否发生第三方程序调用所述服务器端鼠标控制接口, 并使得所 述服务器端鼠标控制接口控制服务器端鼠标再次移动, 如果是, 确定发生 所述服务器端鼠标再次移动事件。
    23、 一种通信系统, 其特征在于, 所述通信系统包括客户端装置和服 务器, 用于实现客户端鼠标与服务器端鼠标的同步,
    所述客户端装置用于获取客户端鼠标的第一信息, 其中, 所述客户端 鼠标的第一信息是用户操作客户端鼠标之后客户端鼠标的实时信息, 根据 所述客户端鼠标的第一信息控制客户端光标移动, 以及向服务器端上报所 述客户端鼠标的第一信息;
    所述服务器用于接收客户端上报的所述客户端鼠标的第一信息, 根据 所述客户端鼠标的第一信息进行鼠标重定向操作, 获取服务器端鼠标的第 二信息, 其中, 所述服务器端鼠标的第二信息为所述服务器端根据所述客 户端鼠标的第一信息进行鼠标重定向操作之后的服务器端鼠标的实时信 息, 以及向所述客户端发送所述服务器端鼠标的第二信息;
    所述客户端装置还用于接收所述服务器端返回的所述服务器端鼠标的 第二信息, 根据所述服务器端鼠标的第二信息控制所述客户端光标再次移 动。
    24、 如权利要求 23所述的通信系统, 所述客户端装置还用于实现上述 权利要求 1-4任一项所述的方法,所述服务器还用于实现上述权利要求 5-12 任一项所述的方法。
    25、 一种客户端装置, 其特征在于, 用于实现客户端鼠标与服务器端 鼠标的同步;
    所述装置包括包括处理器、 存储器、 总线和通信接口;
    所述存储器用于存储计算机执行指令, 所述处理器与所述存储器通过所 述总线连接, 当所述客户端装置运行时, 所述处理器执行所述存储器存储的 所述计算机执行指令, 以使所述客户端装置执行如权利要求 1-4中任一所述 的鼠标同步的方法。
    26、 一种服务器, 其特征在于, 用于实现客户端鼠标与服务器端鼠标 的同步;
    所述服务器包括包括处理器、 存储器、 总线和通信接口;
    所述存储器用于存储计算机执行指令, 所述处理器与所述存储器通过所 述总线连接, 当所述客户端装置运行时, 所述处理器执行所述存储器存储的 所述计算机执行指令, 以使所述服务器执行如权利要求 5-13中任一所述的 鼠标同步的方法。
    27、 一种计算机可读介质, 其特征在于, 包括计算机执行指令, 以供计 算机的处理器执行所述计算机执行指令时, 所述计算机执行如权利要求 1-4 中任一所述的鼠标同步的方法。
    28、 一种计算机可读介质, 其特征在于, 包括计算机执行指令, 以供计 算机的处理器执行所述计算机执行指令时,所述计算机执行如权利要求 5-13 中任一所述的鼠标同步的方法。
CN201280027915.0A 2012-12-31 2012-12-31 鼠标同步的方法、装置和系统 Active CN104067202B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611201878.7A CN106843537B (zh) 2012-12-31 2012-12-31 鼠标同步的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/088099 WO2014101213A1 (zh) 2012-12-31 2012-12-31 鼠标同步的方法、装置和系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201611201878.7A Division CN106843537B (zh) 2012-12-31 2012-12-31 鼠标同步的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN104067202A true CN104067202A (zh) 2014-09-24
CN104067202B CN104067202B (zh) 2016-12-28

Family

ID=51019805

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201280027915.0A Active CN104067202B (zh) 2012-12-31 2012-12-31 鼠标同步的方法、装置和系统
CN201611201878.7A Active CN106843537B (zh) 2012-12-31 2012-12-31 鼠标同步的方法、装置和系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201611201878.7A Active CN106843537B (zh) 2012-12-31 2012-12-31 鼠标同步的方法、装置和系统

Country Status (2)

Country Link
CN (2) CN104067202B (zh)
WO (1) WO2014101213A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183269A (zh) * 2014-06-10 2015-12-23 宏正自动科技股份有限公司 自动辨识游标所在屏幕的方法
CN109992184A (zh) * 2019-03-31 2019-07-09 山东超越数控电子股份有限公司 一种云桌面鼠标加速系统及方法
CN111049790A (zh) * 2018-10-15 2020-04-21 北京仁光科技有限公司 数据交互系统和数据交互方法
CN114547047A (zh) * 2021-12-22 2022-05-27 广州工程技术职业学院 一种在线协作绘图方法、装置、设备及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708533B (zh) * 2016-08-31 2023-01-06 华为云计算技术有限公司 在应用瘦客户端中设置鼠标显示状态的方法及装置
CN107580068A (zh) * 2017-09-21 2018-01-12 深信服科技股份有限公司 一种光标同步的方法、相关设备及系统
CN109701265A (zh) * 2018-12-04 2019-05-03 上海达龙信息科技有限公司 远程桌面光标模式切换方法、系统、客户端及远端服务器
CN110489042B (zh) * 2019-07-17 2021-10-19 视联动力信息技术股份有限公司 一种基于视联网模拟拖拽的方法及系统
CN112631447A (zh) * 2020-12-24 2021-04-09 广州虎牙科技有限公司 鼠标同步处理方法、装置、电子设备及存储介质
CN113741744A (zh) * 2021-02-04 2021-12-03 上海达龙信息科技有限公司 基于远程桌面的光标显示方法、装置、介质及电子设备
CN113515213A (zh) * 2021-08-03 2021-10-19 恒安嘉新(北京)科技股份公司 一种光标形状同步方法、远程浏览系统、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889026A (zh) * 2006-07-31 2007-01-03 华为技术有限公司 一种kvm切换系统及其鼠标同步方法
CN101377724A (zh) * 2007-08-29 2009-03-04 富士通电子零件有限公司 信息处理装置、kvm开关和服务器
CN101441523A (zh) * 2007-11-21 2009-05-27 富士通电子零件有限公司 信息处理设备和远程系统
CN101685354A (zh) * 2008-09-26 2010-03-31 宏正自动科技股份有限公司 校准远程计算机光标对客户端计算机鼠标反应的方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3501556B2 (ja) * 1995-06-19 2004-03-02 キヤノン株式会社 ウィンドウ共有システム及びウィンドウ共有システムの制御方法
US7447995B2 (en) * 2002-06-28 2008-11-04 Hewlett-Packard Development Company, L.P. System and method for cursor calibration
CN100578429C (zh) * 2007-06-08 2010-01-06 广东威创视讯科技股份有限公司 对服务端的多鼠标远程控制方法
CN101339473A (zh) * 2008-08-26 2009-01-07 华为技术有限公司 一种鼠标的同步方法、系统和服务器
CN102591493B (zh) * 2011-12-30 2014-12-24 浙江海康科技有限公司 一种用于ipkvm系统的鼠标光标同步方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889026A (zh) * 2006-07-31 2007-01-03 华为技术有限公司 一种kvm切换系统及其鼠标同步方法
CN101377724A (zh) * 2007-08-29 2009-03-04 富士通电子零件有限公司 信息处理装置、kvm开关和服务器
CN101441523A (zh) * 2007-11-21 2009-05-27 富士通电子零件有限公司 信息处理设备和远程系统
CN101685354A (zh) * 2008-09-26 2010-03-31 宏正自动科技股份有限公司 校准远程计算机光标对客户端计算机鼠标反应的方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183269A (zh) * 2014-06-10 2015-12-23 宏正自动科技股份有限公司 自动辨识游标所在屏幕的方法
CN105183269B (zh) * 2014-06-10 2018-03-30 宏正自动科技股份有限公司 自动辨识游标所在屏幕的方法
CN111049790A (zh) * 2018-10-15 2020-04-21 北京仁光科技有限公司 数据交互系统和数据交互方法
CN111049790B (zh) * 2018-10-15 2021-08-17 北京仁光科技有限公司 数据交互方法
CN109992184A (zh) * 2019-03-31 2019-07-09 山东超越数控电子股份有限公司 一种云桌面鼠标加速系统及方法
CN114547047A (zh) * 2021-12-22 2022-05-27 广州工程技术职业学院 一种在线协作绘图方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2014101213A1 (zh) 2014-07-03
CN106843537A (zh) 2017-06-13
CN104067202B (zh) 2016-12-28
CN106843537B (zh) 2019-09-03

Similar Documents

Publication Publication Date Title
CN104067202A (zh) 鼠标同步的方法、装置和系统
US7930447B2 (en) Listing windows of active applications of computing devices sharing a keyboard based upon requests for attention
KR101750429B1 (ko) 공동 편집을 위한 문서 편집 시스템 및 방법
US20090006977A1 (en) Method and System of Computer Remote Control that Optimized for Low Bandwidth Network and Low Level Personal Communication Terminal Device
EP2857931A1 (en) Application program interface display method, device, terminal and readable storage medium
CN102109959A (zh) 屏幕旋转时java应用程序界面跟随旋转的方法
US8924478B2 (en) Virtual desktop infrastructure (VDI) login acceleration
CN107948731B (zh) 视频流合并方法、服务器及计算机可读存储介质
JP2005228227A (ja) シンクライアントシステム及びその通信方法
CN112221127B (zh) 一种云游戏的多点控制方法及装置
WO2022022132A1 (zh) 画面更新方法、装置、计算机设备和存储介质
Jadhav et al. Vnc architecture based remote desktop access through android mobile phones
CN113778593B (zh) 云桌面控制方法、装置、电子设备、存储介质及程序产品
CN110442389B (zh) 一种多桌面环境共享使用gpu的方法
CN114327201A (zh) 云手机操控方法、装置及计算机设备
CN110178353A (zh) 业务处理方法、云服务器和终端设备
CN113825170A (zh) 用于确定网络通道的方法和装置
CN112269631A (zh) 虚拟机共享键鼠系统
CN110650215A (zh) 边缘网络的函数执行方法及装置
CN103179102A (zh) 一种桌面虚拟化方法、设备及系统
CN105027054A (zh) 一种手势操作的转换方法和装置
CN109240608B (zh) 一种配置信息同步方法及装置
CN111813237A (zh) 一种虚拟键盘和鼠标实现远程控制的实现方法
CN116974680B (zh) 一种基于外设鼠键的电脑桌面远程控制方法、装置及设备
KR102552753B1 (ko) 딜레이 절감을 위한 vmi 화면 표시 방법 및 장치

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

Effective date of registration: 20220216

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.