一种光标同步的方法、相关设备及系统与流程

文档序号:13450259阅读:257来源:国知局
一种光标同步的方法、相关设备及系统与流程

本发明涉及计算机领域,尤其涉及一种光标同步的方法、相关设备及系统。



背景技术:

随着云技术的兴起,传统桌面办公方式逐渐在被桌面云方式所替代,即虚拟桌面基础设施(virtualdesktopinfrastructure,简称“vdi”)。通过桌面云访问云服务器,桌面云技术中,需要将客户端的光标的操作信息传递到服务器端,以使得客户端的光标操作在服务器端执行并生效,例如,用户移动客户端的光标,客户端通过本地系统中的光标控制相关的应用程序接口(applicationprogramminginterface,api),获得光标按键的状态及当前位置信息,再通过协议通讯将其获取的客户端光标操作信息传递到服务器端,服务器端接收到该操作信息之后,再通过相关的api将客户端的光标设置到相关位置和状态。

如何在客户端和服务器端显示和处理光标信息是一个无法避免的技术问题,现有技术中的第一种方案是客户端获取到自己的光标信息之后,先根据自身的光标信息显示光标的位置移动,使得用户立即看到光标位置的移动,再向服务器端传递本端光标信息,服务器端获取到客户端的光标信息并执行相关服务器端的光标操作之后,服务器端不显示自身的光标,并发送自身的光标图形给客户端,客户端在之前已经显示给用户的光标位置上直接显示接收到的服务器光标形状即可。

现有技术中的第二种方案是公布号为cn106843537a所公开的方案,客户端在获取到自身的光标信息之后,将该信息传递给服务器端,服务器端获取到客户端的光标信息并执行相关服务器端的光标操作之后,服务器端显示自身的光标,并发送自身的光标信息给客户端,使得客户端的光标与服务器端的光标保持同步。

第一种方案中,客户端的光标位置与服务器端的光标不能精确同步,当用户需要在服务器端的虚拟桌面运行一些需要光标显示或对光标位置控制精度较高的程序或外设时,例如电子白板,手写板及射击类游戏及图像缩放软件时,由于不反馈服务器侧的光标位置,客户侧与服务器侧的光标位置不精确同步,导致用户使用这些应用程序或外设产生误操作,用户体验不佳。

第二种方案中,服务器端会向客户端反馈服务器端的光标位置信息,在信息传递过程需要耗费时间,使得服务器端与客户端的光标会存在延时同步,对于大多数应用程序而言,并不需要虚拟机中的光标显示或对光标同步的精度需求不高,若完全采用第二种方案,这种延时的存在,降低了用户体验。



技术实现要素:

本发明实施例提供了一种光标同步的方法、相关设备及系统。

本发明实施例第一方面提供了一种光标同步的方法,可包括:

当目标进程启动或目标设备启用时,判断所述目标进程或目标设备是否在预置白名单中;

若在白名单中,则在所述目标进程执行期间或所述目标设备使用期间,获取所述服务器端光标的实时信息;

向所述客户端发送所述服务器端光标的实时信息。

结合第一方面,在第一方面的第一种可能的实施方式中,所述向所述客户端发送所述服务器端光标的实时信息,包括:

判断所述服务器端光标的实时信息是否发生变化,若发生变化,则向所述客户端发送所述服务器端光标的实时信息。

结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述获取所述服务器端光标的实时信息,包括:

当所述白名单中的目标设备启用时,对所述目标设备进行过滤驱动监控以获取所述服务器端光标的实时信息;

当所述白名单中的目标进程启动时,对所述目标进程进行过apihook处理以获取所述服务器端光标的实时信息。

结合第一方面,第一方面的第一种可能的实施方式,第一方面的第二种可能的实施方式中的任一种实施方式,在第一方面的第三种可能的实施方式中,该方法还包括:

当所述客户端光标信息在用户的操作下发送变化时,获取所述客户端光标信息;

根据所述客户端光标信息重定向所述服务器端光标,并向所述客户端反馈所述服务器端重定向后的光标信息。

本发明实施例第二方面提供了一种服务器,可包括:

判断单元,用于当目标进程启动或目标设备启用时,判断所述目标进程或目标设备是否在预置白名单中,若在白名单中,则触发获取单元;

第一获取单元,用于在所述目标进程执行期间或所述目标设备使用期间,获取所述服务器端光标的实时信息;

发送单元,用于向所述客户端发送所述服务器端光标的实时信息,以使得所述客户端调整所述客户端光标与所述服务器端光标保持同步。

结合第二方面,在第二方面的第一种可能的实施方式中,所述发送单元,包括:

判断模块,用于判断所述服务器端光标的实时信息是否发生变化,若发生变化,则触发发送模块;

发送模块,用于向所述客户端发送所述服务器端光标的实时信息。

结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述第一获取单元,包括:

第一获取模块,用于当所述白名单中的目标设备启用时,对所述目标设备进行过滤驱动监控以获取所述服务器端光标的实时信息;

第二获取模块,用于当所述白名单中的目标进程启动时,对所述目标进程进行过apihook处理以获取所述服务器端光标的实时信息。

结合第二方面,第二方面的第一种可能的实施方式,第二方面的第二种可能的实施方式中任一种实施方式,在第二方面的第三种可能的实施方式中,该服务器还包括:

第二获取单元,用于当所述客户端光标信息在用户的操作下发送变化时,获取所述客户端光标信息;

调整单元,用于根据所述客户端光标的位置信息重定向所述服务器端光标,并向所述客户端反馈所述服务器端重定向后的光标信息。

本发明实施例第三方面提供了一种光标同步系统,可包括:

客户端及服务器,其中,

所述服务器用于执行第一方面,第一方面的第一种可能的实施方式,第一方面的第二种可能的实施方式,第一方面的第三种可能的实施方式中任一项所述的方法;

所述客户端用于根据所述服务器发送的服务器端光标的实时信息,调整所述客户端光标与所述服务器端光标保持同步。

从以上技术方案可以看出,本发明实施例具有以下优点:

当白名单中的目标进程启动或目标设备启用时,服务器可以获取目标进程执行期间或目标设备使用期间的服务器端光标的实时信息,并将该服务器端光标的实时信息发送给客户端,以使得客户端可以调整客户端或外设的光标,使得白名单中的目标进程执行期间或所述目标设备使用期间客户端光标与服务器端光标保持精确同步,满足了用户对客户端和服务器端光标同步的不同层次需求,提升了用户体验。

附图说明

图1为本发明实施例中光标同步的方法一个实施例;

图2为本发明实施例中光标同步的方法另一个实施例;

图3为本发明实施例中服务器的一个实施例;

图4为本发明实施例中服务器的另一个实施例。

具体实施方式

本发明实施例提供了一种光标同步的方法、相关设备及系统,用于智能实现服务器端光标与客户端光标的同步。

为了便于理解,先对本发明实施例的桌面云运用场景进行示例性的说明:桌面云通常由客户端和服务器端组成,客户端的终端设备通过访问服务器端的远程计算设备,将远程计算设备的桌面传送到客户端的终端设备,客户端的终端设备可以包括普通计算机、平板电脑、智能手机及瘦客终端tc等,客户端的终端设备通过网络使用远程桌面协议访问远程服务器端,服务器端可以设置多个服务器,每个服务器可以同时实现多个虚拟机,用户通过客户端访问服务器上分配给该用户的虚拟机,该虚拟机将用户访问的内容传输到用户的客户端进行显示。可以理解的是,本发明实施例可以在上述的桌面云场景中实施,也可以是在其他需要进行光标映射的场景中实施,具体运用场景此处不做限定。

下面对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中光标同步的方法一个实施例可包括:

101、判断目标进程或目标设备是否在预置白名单中;

用户使用虚拟机中的程序的功能是以一个个进程实现的,可以在服务器侧设置白名单,监测识别每个启动的目标进程,具体的监测识别手段为现有技术,此处不做赘述,当监测到的目标进程在白名单时,则执行步骤102,若目标进程不在白名单中,则执行其他操作,此处不做限定。

当用户在客户端启动目标设备时,如电子白板及手写板时,服务器可以识别目标设备的身份信息,例如可以根据目标设备的出厂分配的身份标示来识别目标设备身份信息,具体的识别手段为现有技术,此处不做赘述,判断目标设备是否在预置的白名单中,若目标设备在白名单中,则执行步骤102,若目标设备不在白名单中,则执行其他操作,例如可以不向客户端发送服务器端光标的实时信息。

可以理解的是,本实施例中的白名单可以根据用户的需求进行设置或运营商根据软件或外设的特性进行合理设置,该白名单可以根据用户的需求进行实时调整,具体此处不做限定。

102、在目标进程执行期间或目标设备使用期间,获取服务器端光标的实时信息;

当启动的目标进程或启用的目标设备在预置的白名单时,服务器可以获取目标进程执行过程中或目标设备在使用过程中的服务器侧光标的实时信息,该实时信息包括光标的位置信息及形状信息中的一种或多种,具体的获取方式将在后续的实时例中详细描述。

103、向客户端发送服务器端光标的实时信息。

在获取到目标进程执行过程中或目标设备在使用过程中的服务器端光标的实时信息之后,服务器可以向对应的客户端发送服务器侧光标的实时信息,以使得客户端可以调整客户端或外设的光标的位置及形状,使其与服务器端光标保持同步。

以上可知,当白名单中的目标进程启动或目标设备启用时,服务器可以获取目标进程执行期间或目标设备使用期间的服务器端光标的实时信息,并将该服务器端光标的实时信息发送给客户端,以使得客户端可以调整客户端或外设的光标,使得白名单中的目标进程执行期间或目标设备使用期间客户端光标与服务器端光标保持精确同步,当没有启动白名单中的目标进程启动或目标设备启用时,可以不向客户端发送服务器端光标的实时信息,满足了用户对客户端和服务器端光标同步不同层次的需求,提升了用户体验。

上述实施例对本发明实施例中光标同步的方法的流程进行了描述,下面将对其进行详细描述,请参阅图2,本发明实施例中光标同步的方法另一个实施例可包括:

201、判断目标进程或目标设备是否在预置白名单中;

202、在目标进程执行期间或目标设备使用期间,获取服务器端光标的实时信息;

当启动的目标进程或启用的目标设备在预置的白名单时,服务器可以获取目标进程执行过程中或目标设备在使用过程中的服务器侧光标的实时信息,该实时信息包括光标的位置信息及形状信息中的一种或多种,具体的获取方式将在后续的实时例中详细描述。

具体的,当白名单中的目标设备启用时,需要服务器侧的驱动程序进行驱动,服务器可以对目标设备进行过滤驱动监控以获取服务器端光标信息,具体的过滤驱动监控实施方式为现有技术,此处不做赘述;当白名单中的目标进程启动时,对目标进程进行过apihook处理以获取服务器端光标信息,具体的apihook实施方式为现有技术,此处不做赘述。

可以理解的是,本实施例中过滤驱动监控及apihook技术获取服务器侧光标信息为优选方案,具体运用中,服务器侧还可以通过其他的监控技术获取服务器侧光标信息,具体的获取方式此处不做限定。

203、判断所述服务器端光标的实时信息是否发生变化;

在获取到目标进程执行过程中或目标设备在使用过程中的服务器端光标的实时信息之后,服务器可以对服务器侧的光标实时信息进行比对,若服务器侧的光标信息发生变化时,可以执行步骤204,若没有发生变化,则可以不发送该信息,执行其他操作。

204、向客户端发送服务器端光标的实时信息;

若服务器侧的光标信息发生变化时,服务器可以向对应的客户端发送服务器侧光标的实时信息,以使得客户端可以调整客户端或外设的光标的位置及形状,使其与服务器端光标保持同步。

进一步的,当用户在客户端操作使得客户端的光标信息发生变化时,为了保持客户端与服务器端的光标保持一致,本实施例还可以进一步包括:

205、接收客户端发送的客户端光标信息;

当用户在客户端操作使得客户端的光标信息发生变化之后,服务器可以接收到客户端发送的客户端光标信息标。

206、服务器根据客户端光标信息重定向服务器端的光标。

服务器可以根据客户端的光标信息对服务器端的光标进行重定向,以完成用户的操作目,并向客户端反馈服务器端重定向后的光标信息,以使得客户端可以进一步调整光标,使得白名单中的目标进程执行期间或目标设备使用期间客户端光标与服务器端光标保持精确同步,满足了用户对客户端和服务器端光标同步不同层次的需求,提升了用户体验。

上述实施例对本发明实施例中光标同步的方法进行了描述,下面将对本发明实施例中服务器进行描述,请参阅图3,本发明实施例中服务器的一个实施例可包括:

判断单元301,用于当目标进程启动或目标设备启用时,判断目标进程或目标设备是否在预置白名单中,若在白名单中,则触发第一获取单元;

第一获取单元302,用于在目标进程执行期间或目标设备使用期间,获取服务器端光标的实时信息;

发送单元303,用于向客户端发送服务器端光标的实时信息,以使得客户端调整客户端光标的与服务器端光标保持同步。

本实施例中所描述的服务器的具体功能与上述图1中所描述的内容类似,具体可参阅图1所示的实施例。

请参阅图4,本发明实施例中服务器的另一个实施例,可包括:

判断单元401,用于当目标进程启动或目标设备启用时,判断目标进程或目标设备是否在预置白名单中,若在白名单中,则触发第一获取单元;

第一获取单元402,用于在目标进程执行期间或目标设备使用期间,获取服务器端光标的实时信息;

发送单元403,用于向客户端发送服务器端光标的实时信息,以使得客户端调整客户端光标的与服务器端光标保持同步。

进一步的,本发明实施例中的第一获取单元402,可以包括:

第一获取模块4021,用于当白名单中的目标设备启用时,对目标设备进行过滤驱动监控以获取服务器端光标信息;

第二获取模块4022,用于当白名单中的目标进程启动时,对目标进程进行过apihook处理以获取服务器端光标信息。

进一步的,本发明实施例中的发送单元403,可以包括:

判断模块4031,用于判断所述服务器端光标的实时信息是否发生变化,若发生变化,则触发发送模块;

发送模块4032,用于向所述客户端发送所述服务器端光标的实时信息。

进一步的,本实施例中的服务器还可以包括:

第二获取单元404,用于当客户端光标信息在用户的操作下发送变化时,获取客户端光标信息;

调整单元405,用于根据客户端光标信息重定向服务器端光标的位置,并向客户端反馈服务器端重定向后的光标信息。

本实施例中所描述的服务器的具体功能与上述图2中所描述的内容类似,具体可参阅图2所示的实施例。

本发明实施例还提供了一种光标同步系统,具体可包括:客户端及服务器,其中,

该服务器用于执行如上述图1或图2中所描述的步骤;

该客户端用于根据服务器发送的服务器端光标的实时信息,调整客户端光标与服务器端光标保持同步。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1