远程虚拟桌面系统的操作方法及装置与流程

文档序号:11176712阅读:505来源:国知局
远程虚拟桌面系统的操作方法及装置与流程

本发明涉及通信领域,具体而言,涉及一种远程虚拟桌面系统的操作方法及装置。



背景技术:

随着云计算技术的发展,传统的使用pc机办公的场景受到冲击。越来越多的企业和政府等机构采用更绿色安全的云桌面办公的方式。

云桌面办公的方式是指将个人使用的桌面系统以虚拟机或其他方式集中部署于云服务器,个人通过云终端设备,或者其他接入方式访问位于云服务器的桌面系统。

使用云桌面办公的优点之一就是云桌面可以很方便地使用手机,平板电脑等设备进行访问,从而摆脱固定办公位置的束缚,可以随时随地接入办公。

但使用手机或平板电脑访问云桌面时也有不方便之处。不方便之处在于,手机或平板电脑的操作系统一般是以触摸屏为输入设备来设计的(例如android、ios系统的手机);而云桌面系统一般是采用传统的桌面操作系统(例如windows),即,以鼠标、键盘为输入设备进行操作的。现在要在以触摸屏为输入设备的手机或平板电脑上操作以鼠标、键盘为输入设备的桌面系统。使用习惯和操作风格的迥异,会让用户的使用体验变差,从而影响云桌面在移动场景下的使用推广。



技术实现要素:

本发明提供了一种远程虚拟桌面系统的操作方法及装置,以至少解决相关技术中触摸屏设备访问云桌面所带来的操作不便的问题。

根据本发明的一个方面,提供了一种远程虚拟桌面系统的操作方法,包括:捕获用户在触摸屏设备上的操作手势;按预定规则将所述操作手势解析为远程虚拟桌面系统的对应操作;将解析后所述对应操作发送至所述远程虚拟桌面系统。

优选地,所述方法还包括:接收所述远程桌面虚拟系统返回的执行所述对应操作的操作结果,并在所述触摸屏设备上显示所述操作结果。

优选地,所述操作手势包括以下至少之一:触屏点数、触屏压力大小、触屏滑动方向、触屏时长。

优选地,所述对应操作为通过鼠标或键盘的输入操作。

优选地,所述触摸屏设备与所述远程虚拟桌面系统之间通过以下至少之一协议进行通讯:spice协议、vmware协议、rdp协议、citrix协议。

优选地,所述触摸屏设备所采用的操作系统为android或ios;所述远程虚拟桌面系统所采用的操作系统为视窗windows操作系统。

根据本发明的另一个方面,提供了一种触摸屏设备,包括:操作手势识别接口,用于捕获用户在所述触摸屏设备上的操作手势;用户意图识别模块,用于按预定规则将所述操作手势解析为所述远程虚拟桌面系统的对应操作;通讯模块,用于将解析后所述对应操作发送至所述远程虚拟桌面系统。

优选地,所述通讯模块还用于接收来自所述远程虚拟桌面系统的执行所述对应操作的操作结果。

优选地,所述触摸屏设备还包括显示模块,用于在所述触摸屏设备上显示所述操作结果。

根据本发明的又一方面,提供了一种远程虚拟桌面系统的操作方法,包括:接收触摸屏设备所捕获的用户在所述触摸屏设备上的操作手势;按预定规则将所述操作手势解析为远程虚拟桌面系统的对应操作。

优选地,所述方法还包括:调用所述远程桌面虚拟系统的api接口执行所述对应操作,并将执行所述对应操作的操作结果返回至所述触摸屏设备。

优选地,所述操作手势包括以下至少之一:触屏点数、触屏压力大小、触屏滑动方向、触屏时长。

优选地,所述对应操作为通过鼠标或键盘的输入操作。

优选地,所述触摸屏设备与所述远程虚拟桌面系统之间通过以下至少之一协议进行通讯:spice协议、vmware协议、rdp协议、citrix协议。

优选地,所述触摸屏设备所采用的操作系统为android或ios;所述远程虚拟桌面系统所采用的操作系统为视窗windows操作系统。

根据本发明的又一方面,提供了一种远程虚拟桌面系统,包括:通讯模块,用于接收触摸屏设备所捕获的用户在所述触摸屏设备上的操作手势;用户意图识别模块,用于按预定规则将所述操作手势解析为远程虚拟桌面系统的对应操作。

优选地,所述远程虚拟桌面系统还包括用户意图处理模块,用于调用所述远程桌面虚拟系统的api接口执行所述对应操作;所述通讯模块还用于将在所述远程桌面虚拟系统上执行所述对应操作的操作结果返回给所述触摸屏设备。

根据本发明的又一方面,提供了一种远程虚拟桌面系统的操作装置,包括前文中所述的触摸屏设备以及远程桌面虚拟系统,其中,所述远程虚拟桌面系统包括:通讯模块,用于接收来自所述触摸屏设备的所述对应操作;用户意图处理模块,用于调用所述远程桌面虚拟系统的api接口执行所述对应操作。

优选地,所述远程虚拟桌面系统的通讯模块还用于将在所述远程桌面虚拟系统上执行所述对应操作的操作结果返回给所述触摸屏设备。

根据本发明的又一方面,提供了一种远程虚拟桌面系统的操作装置,包括前文中所述的远程桌面虚拟系统以及触摸屏设备,其中,所述触摸屏设备包括:操作手势识别接口,用于捕获用户在所述触摸屏设备上的操作手势;通讯模块,用于将所述操作手势发送至所述远程桌面虚拟系统。

优选地,所述触摸屏设备还包括显示模块,用于在所述触摸屏设备上显示所述操作结果。

通过本发明,将用户在触摸屏设备上的操作手势进行识别,解析为远程虚拟桌面系统的对应操作,以在远程虚拟桌面系统执行该对应操作,从而照顾了用户使用移动终端的已有习惯,提升用户通过移动终端操作云桌面的使用体验,以方便云桌面在移动应用场景下的使用推广。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例在触摸屏设备上操作远程虚拟桌面系统的方法流程图;

图2是根据本发明实施例的远程虚拟桌面系统的操作装置的结构示意图;

图3是根据本发明实施例的远程虚拟桌面系统的操作装置的结构示意图;

图4是根据本发明实施例在触摸屏设备上操作远程虚拟桌面系统的方法流程图;

图5是根据本发明实施例的手指点击操作的识别流程图;

图6是根据本发明实施例的鼠标左键单击或双击的识别流程图;

图7是根据本发明实施例的手指点击映射为鼠标左键单击或双击的处理流程图;

图8是根据本发明实施例的手指长按滑动的识别流程图;

图9是根据本发明实施例的手指长按滑动映射为windows窗口滚动条滚动操作的流程图;

图10是根据本发明实施例的手指拨动的识别流程图;

图11是根据本发明实施例的手指拨动映射为windows窗口的翻页操作的流程图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本发明实施例中,提供了一种方便用户使用触屏移动设备操作远程桌面系统的方法和装置。移动智能终端与远程桌面之间的连接可通过特定的远程桌面协议来建立。该远程桌面协议可以是目前业界主流的spice,vmware,rdp,citrix等协议,也可以是用户自定义的具有相同功能的协议。在移动终端与远程桌面之间已建立好基本的通信连接的场景下,本发明实施例以用户使用触屏移动设备的操作习惯为参考,提供一种基于触摸屏的手势操作习惯来操作桌面系统的技术方案。同时,在移动终端与远程桌面之间的基本的通信连接建立后,桌面系统的画面将以图像的形式在移动终端的屏幕上刷新显示。

在本实施例中提供了一种在触摸屏设备上操作远程虚拟桌面系统的方法,图1是根据本发明实施例的流程图,如图1所示,该流程包括如下步骤:

步骤s102,捕获用户在触摸屏设备上的操作手势;

步骤s104,按预定规则将操作手势解析为远程虚拟桌面系统的对应操作;

步骤s106,将解析后所述对应操作发送至所述远程虚拟桌面系统。

在上述实施例中,通过利用触屏设备操作系统以及桌面类操作系统已有的接口,构建了一种方便用户使用触屏设备操作桌面系统的方法,以屏蔽了不同类型的操作系统输入方式的差异,从而照顾了用户使用移动终端的已有习惯,提升用户通过移动终端操作云桌面的使用体验,以方便云桌面在移动应用场景下的使用推广。

其中,在步骤s102中,在用户通过触摸屏设备登录进入远程虚拟桌面系统后,可通过触摸屏设备操作系统的手势识别接口来捕获用户的操作手势。

其中,在上述实施例中,操作手势包括以下至少之一:触屏点数、触屏压力大小、触屏滑动方向、触屏时长。

其中,在上述步骤s106之后,还包括,远程桌面虚拟系统调用其操作系统的api接口执行该对应操作,并将执行对应操作的操作结果返回给触摸屏设备。触摸屏设备刷新显示该操作结果。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种远程虚拟桌面系统的操作装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

如图2和3所示,该操作装置的各功能模块根据所实现的功能的不同设置于触摸屏设备和虚拟桌面中。具体地,该装置包括如下模块:

用户意图识别模块:该模块可以位于触屏设备上(如图2所示),也可以位于虚拟桌面中(如图3所述),这两种设置的区别仅在于用户意图识别模块的位置不同,其功能基本是一致的,当用户在触屏上进行操作时,用户意图识别模块根据从操作系统的手势识别接口获取到的手势操作或者操作组合以及其相关的时间等特性,来对用户意图进行识别。

通讯模块:包括位于移动触屏设备上的通讯模块和位于虚拟桌面中的通讯模块,其中,位于移动触屏设备上的通讯模块其功能是与位于虚拟桌面中的通讯模块进行通信,来完成指令的发送与接收。位于虚拟桌面中的通讯模块其功能是与位于触屏设备中的通讯模块进行通信,来完成指令的发送与接收。两个通讯模块大多数的时候需要通过internet建立通信链接,一般两个通讯模块会建立一个tcp连接来进行指令的收发。

用户意图处理模块:位于虚拟桌面中,其功能是根据接收到的用户意图,调用桌面操作系统中对应的接口来实现该意图。

需要进一步说明的是,需要以下辅助模块来配合以上4个模块构成一个完整的架构:

触屏设备的操作系统,其中需要包含有手势操作的识别接口。例如当用户的手指在触屏上按下时,该接口需要捕获press事件,当用户的手指离开触屏时,该接口需要捕获up事件,同时所捕获的事件可供外部使用。

虚拟桌面的桌面操作系统,其中包含有桌面操作系统的输入接口,例如可向外部提供鼠标左键单击,右键单击,双击等接口。

以上部分由于都是触屏设备或者虚拟桌面中已包含的模块和功能,所以未将之包含在本方法所描述的系统之中,但需要它们配合已构成完整的方法。

在本发明的实施例中,上述远程虚拟桌面系统的操作装置可以通过在现有的触摸屏设备和虚拟桌面中部署上述功能模块来实现,也可以是一个包括触摸屏设备和虚拟桌面的完整系统。

基于前文中的操作装置,本发明实施例还提供了一种用户使用触屏设备操作桌面系统的方法,如图4所示,该方法包括如下流程:

步骤s401,用户通过app的方式在移动智能设备上登陆进入远程的虚拟桌面中。此时,用户再触碰移动智能设备的触摸屏,智能设备的操作系统捕获用户的操作,并将之解析为操作系统所定义的基本原子操作(例如:单指press,单指up等)。

步骤s402,用户意图识别模块监听操作系统的手势操作解析结果,并根据手势操作结果的组合以及对应的时间,力度,幅度等信息特性来判定用户的操作意图。判断的策略是开放性的,在之后的实施例中将给出多种操作判定的实例。

步骤s403,触屏设备上的通讯模块,将用户意图识别模块的判定结果,发送至远端虚拟桌面的通讯模块。

步骤s404,位于虚拟桌面中的用户意图处理模块,接收通讯模块中的用户意图,再调用桌面操作系统中的对应的api接口,实现该用户意图。

步骤s405,用户意图的操作结果通过远程桌面协议的图像通道(或者以其他方式也可,不限)传回给移动智能设备的app。

步骤s406,触屏设备上的app在屏幕上刷新图像以显示该用户意图的所得结果。

基于以上方法及流程,最终实现的效果是以用户所习惯的移动终端触屏的操作方式来完成远程桌面系统中的对应操作,尽量照顾用户对移动终端设备的操作习惯,以方便云桌面在移动终端场景的使用推广。

为使本发明的目的、技术方案更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。在下面的具体实施例中,触屏设备为采用ios/android系统的手机或者平板电脑,云端系统的虚拟桌面为采用windows系统的云桌面。通过以下优选的实施方式具体描述了如何按预定规则将操作手势解析为远程虚拟桌面系统的对应操作。

实施方式1:将手指的单指点击映射为鼠标的左键单击或者左键双击。

该操作是由位于触屏设备上的用户意图识别模块来实现,将用户在屏幕上的手势操作识别为一次手指点击。具体识别流程如图5所示,包括以下步骤:

步骤s501,手指触碰屏幕。

步骤s502,在指定时间内,手指抬起,离开屏幕。

步骤s503,识别为一次手指的点击操作。

图6所示流程是由位于触屏设备上的用户意图识别模块在图5识别手指点击的基础上,将用户在屏幕上的手势操作识别为一次鼠标左键单击或者鼠标左键双击的过程,具体包括如下步骤:

步骤s601,判断是否是一次手指的点击操作,如果是,则继续执行步骤s602,如果否则流程结束。

步骤s602,等待指定时间。

步骤s603,判断在指定时间内,是否发生了其他手势操作,如果否,则执行步骤s604,如果是则执行步骤s605。

步骤s604,进一步判断是否是一次手指的点击操作,如果是,则执行步骤s605,如果否则流程结束。

步骤s606,识别为鼠标左键双击。

步骤s605,识别为鼠标左键单击。

图7所示流程是将触屏设备上的手指的单指点击映射为远端windows桌面中的鼠标左键单击或者左键双击的整体处理过程,包括如下步骤:

步骤s701,触屏设备上的用户意图识别模块识别出一次鼠标左键单击或双击的操作意图,具体识别策略可参考前文的识别流程。,

步骤s702,触屏设备上的通讯模块将识别结果发送给远端的windows虚拟桌面中的通讯模块。

步骤s703,位于桌面中的用户意图处理模块接收到通讯模块中的识别结果,按照识别结果调用windows系统的api来进行对应的操作。例如如果是单击,则连续调用windows的wm_lbuttondown与wm_lbuttonup两个接口;如果是双击,则直接调用windows的wm_lbuttondbclk接口。

步骤s704,虚拟桌面中的当前活动窗口执行接口调用,并将调用执行后的桌面图像数据回传给触屏设备。图像数据的压缩与回传一般由特定的远程桌面协议来完成。如spice协议,citrix协议,rdp协议等。

步骤s705,触屏设备接收到图像数据后,刷新屏幕数据以完成操作结果的图像显示。

实施方式2:将手指的长按滑动映射为windows窗口滚动条的滚动操作。

该操作是由位于触屏设备上的用户意图识别模块来实现,将用户在屏幕上的手势操作识别为一次长按滑动的操作。具体识别流程如图8所示,包括如下步骤:

步骤s801,手指触碰屏幕。

步骤s802,判断手指是否在屏幕上移动超过指定长度,如果否,则流程结束。

步骤s803,进一步判断手指在屏幕上的移动是否超过指定时间,如果否,则流程结束。

步骤s804,手指抬起离开屏幕。

步骤s805,在步骤s802和步骤s803均满足条件的情况下,识别为一次手指的长按滑动。

如图9所示,位于触屏设备上的用户意图识别模块在识别出一次长按滑动的操作的基础上,将该长按滑动映射为windows窗口滚动条的滚动操作,具体包括如下步骤:

步骤s901,触屏设备上的用户意图识别模块识别出一次长按滑动的操作。在本实施方式中,可将长按滑动的操作认为是用户期望在当前的windows桌面中进行滚动条滚动的操作,后续按滚动条滚动的操作来进行映射及后续处理。对于滚动条的滚动,可根据长按滑动的路径,进一步识别是垂直滚动还是水平滚动。

步骤s902,触屏设备上的通讯模块将识别结果发送给远端的windows虚拟桌面中的通讯模块。

步骤s903,位于桌面中的用户意图处理模块接收到通讯模块中的识别结果,按照识别结果调用windows系统的api来进行对应的操作。例如如果是水平滚动,则调用windows的ws_hscroll相关接口;如果是垂直滚动,则调用windows的ws_vscroll相关接口。同时根据长按滑动的距离和时间来决定调用接口发送相关操作的次数。

步骤s904,虚拟桌面中的当前活动窗口执行接口调用。如果当前窗口是有对应滚动条的话,将实际执行滚动操作;如果当前窗口无对应滚动条,则实际将不执行操作。之后,将调用执行后的桌面图像数据回传给触屏设备。图像数据的压缩与回传一般由特定的远程桌面协议来完成。如spice协议,citrix协议,rdp协议等。

步骤s905,触屏设备接收到图像数据后,刷新屏幕数据以完成操作结果的图像显示。

实施方式3:将手指的拨动映射为翻页操作。

在本实施例中,触屏设备上的用户意图识别模块识别出一次手指的拨动操作,手指拨动的具体识别策略如图10所示,包括如下步骤:

步骤s1001,手指触碰屏幕。

步骤s1002,手指抬起离开屏幕。

步骤s1003,判断手指是否在屏幕上移动超过一个较短的指定长度,但小于长按滑动的下限,如果是,则执行步骤s1004,如果否,则结束流程。

步骤s1004,判断手指在屏幕上的移动是否超过一个较短的指定时间,但短于长按滑动的下限,如果是,则执行步骤s1005,如果否,则结束流程。

步骤s1005,识别为一次单指拨动。

如图11所示,在本实施例中,将手指的拨动映射为翻页操作包括如下步骤:

步骤s1101,触屏设备上的用户意图识别模块识别出一次手指的拨动操作,手指拨动的具体识别策略参见前文,注意与前文中长按滑动的识别策略的区别。在本实施方式中,将手指拨动的操作认为是用户期望在当前的windows桌面中在阅读文档时希望进行翻页的操作,后续按翻页的操作来进行映射及后续处理。对于翻页也有向上翻页与向下翻页,可根据手指移动的路径是向上移动还是向下移动,来进一步识别是上翻页还是下翻页。

步骤s1102,触屏设备上的通讯模块将识别结果发送给远端的windows虚拟桌面中的通讯模块。

步骤s1103,位于桌面中的用户意图处理模块接收到通讯模块中的识别结果,按照识别结果调用windows系统的api来进行对应的操作。例如如果是向上翻页,则调用windows的接口发送一个pageup的键盘按键事件;如果是向下翻页,则调用windows的接口发送一个pagedown的键盘按键事件。

步骤s1104,虚拟桌面中的当前活动窗口来响应pageup或pagedown的按键事件。如果当前窗口是一个可以翻页的文档,则实际执行翻页操作;否则,则实际将不执行操作。之后,将调用执行后的桌面图像数据回传给触屏设备。图像数据的压缩与回传一般由特定的远程桌面协议来完成。如spice协议,citrix协议,rdp协议等。

步骤s1105,触屏设备接收到图像数据后,刷新屏幕数据以完成操作结果的图像显示。

在本发明的上述具体实施例中,通过用户意图识别模块,可以根据用户在触屏上的操作或操作组合来自定义需要在远程桌面系统中所做的操作,这种可扩展性是本方案的优点,当应用此方案在使用移动只能终端操作云桌面时,可以根据用户对移动终端的使用习惯来不断改进对桌面系统的操作方式,可持续提升用户使用云桌面的操作体验。

本发明实施例还提供了一种触摸屏设备,该触摸屏设备包括:

操作手势识别接口,与触摸屏设备的操作系统耦合,用于在用户通过触摸屏设备登录进入远程虚拟桌面系统后,捕获用户在触摸屏设备上的操作手势;

用户意图识别模块,用于按预定规则将操作手势解析为远程虚拟桌面系统的对应操作;

通讯模块,用于将解析后对应操作发送至远程虚拟桌面系统。

在另一实施例中,该触摸屏设备不包括上述的用户意图识别模块,该用户意图识别模块的功能可以由虚拟桌面来实现,即,可在虚拟桌面中设置该用户意图识别模块将操作手势解析为对应操作。

本发明实施例还提供了一种远程虚拟桌面系统,该远程虚拟桌面系统包括:

通讯模块,用于在用户通过触摸屏设备登录进入远程虚拟桌面系统后,接收触摸屏设备所捕获的操作手势,其中,操作手势由触摸屏设备按预定规则解析为远程虚拟桌面系统的对应操作;

用户意图处理模块,用于调用远程桌面虚拟系统的api接口执行对应操作。

其中,在另一优先实施例中,远程虚拟桌面系统还可以设置一用户意图识别模块,即,在所接收到的操作手势未解析为远程虚拟桌面系统的对应操作的情况下,通过该用户意图识别模块对操作手势进行相应的解析。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种存储介质。在本实施例中,该存储介质可以被设置为存储用于执行前文实施例的步骤的程序代码。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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