基于RDP协议的USB存储设备重定向方法及虚拟机与流程

文档序号:14571744发布日期:2018-06-01 22:35阅读:1082来源:国知局
基于RDP协议的USB存储设备重定向方法及虚拟机与流程

本发明涉及云计算领域,具体涉及一种基于RDP协议的USB存储设备重定向方法及虚拟机。



背景技术:

云桌面技术是基于数据空间的云桌面,主要通过虚拟化应用,将云端资源如数据空间、管理服务提供桌面化的方式发布给各操作终端。

现有技术中USB存储设备的重定向可以虽然达到了将USB存储设备重定向到远程Windows里面的功能,但是不够灵活,用户只能在登录Windows之前将该设备插入终端。如果用户已经登录到远程的Windows系统中,此时再插入USB存储设备时,已经无法重定向到远程Windows里面。然而实际使用中,这种在登录Windows后再进行USB存储设备的插入、拔出、再插入等操作经常遇到。



技术实现要素:

针对现有技术的不足,本发明提供了一种基于RDP协议的USB存储设备重定向方法及虚拟机,解决了USB存储设备热插拔重定向的问题。

为实现以上目的,本发明通过以下技术方案予以实现:

根据本发明的第一方面,提供一种基于RDP协议的USB存储设备重定向方法,包括:

登录服务端后,根据监测到的所述客户端上USB存储设备的状态信息添加相应的动态处理策略;

根据所述动态处理策略将所述USB存储设备在服务端上重定向或移除。

进一步地,所述根据监测到的所述客户端上USB存储设备的状态信息添加相应的动态处理策略包括:

响应于插入USB存储设备的动作,动态添加用于重定向USB存储设备的接口;

响应于移除USB存储设备的动作,动态添加用于移除USB存储设备的接口。

进一步地,所述根据所述动态处理策略将所述USB存储设备在服务端上重定向或移除,包括:

检测所述USB存储设备是否已经被重定向;

如果所述USB存储设备未被重定向,将所述USB存储设备加入客户端的设备管理列表后通知服务端加载所述USB存储设备;

调用所述处理策略,将所述USB存储设备重定向至服务端;

其中,所述处理策略包括动态添加用于重定向USB存储设备的接口。

进一步地,所述根据所述动态处理策略将所述USB存储设备在服务端上重定向或移除,包括:

通知服务端移除所述USB存储设备,从客户端的设备管理列表中移除所述USB存储设备;

调用所述处理策略,将所述USB存储设备从服务端移除;

其中,所述处理策略包括动态添加用于移除USB存储设备的接口。

进一步地,还包括:

登录服务端前,检测到USB存储设备连接客户端时,根据预设配置文件将所述USB存储设备重定向至服务端。

根据本发明的第二方面,提供一种虚拟机,包括:

选择模块,用于登录服务端后,根据监测到的所述客户端上USB存储设备的状态信息添加相应的动态处理策略;

处理模块,用于根据所述动态处理策略将所述USB存储设备在服务端上重定向或移除。

进一步地,所述选择模块包括:

第一选择单元,用于响应于插入USB存储设备的动作,动态添加用于重定向USB存储设备的接口;

第二选择单元,用于响应于移除USB存储设备的动作,动态添加用于移除USB存储设备的接口。

进一步地,所述处理模块包括:

判断单元,用于检测所述USB存储设备是否已经被重定向;

第一处理子单元,用于如果所述USB存储设备未被重定向,将所述USB存储设备加入客户端的设备管理列表后通知服务端加载所述USB存储设备;

第二处理子单元,用于调用所述处理策略,将所述USB存储设备重定向至服务端;

其中,所述处理策略包括动态添加用于重定向USB存储设备的接口。

进一步地,所述处理模块包括:

第三处理子单元,用于通知服务端移除所述USB存储设备,从客户端的设备管理列表中移除所述USB存储设备;

第四处理子单元,用于调用所述处理策略,将所述USB存储设备从服务端移除;

其中,所述处理策略包括动态添加用于移除USB存储设备的接口。

进一步地,还包括预设置模块,所述预设置模块,用于登录服务端前,检测到USB存储设备连接客户端时,根据预设配置文件将所述USB存储设备重定向至服务端。

本发明实施例提供了一种基于RDP协议的USB存储设备重定向方法及虚拟机。具备以下有益效果:

通过USB存储设备状态的动态监测,及增加动态重定向、删除的接口,可解决系统协议不支持USB存储设备热插拔重定向的问题,满足了用户使用USB存储设备时可随时插入、拔出的需求。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明中一实施例中示出的基于RDP协议的USB存储设备重定向方法的流程图。

图2是本发明中另一实施例中示出的基于RDP协议的USB存储设备重定向方法的流程图。

图3是本发明中又一实施例中示出的基于RDP协议的USB存储设备重定向方法的流程图。

图4是本发明中又一实施例中示出的基于RDP协议的USB存储设备重定向方法的流程图。

图5是本发明中一实施例中示出的虚拟机的模块框图。

图6是本发明中另一实施例中示出的虚拟机的模块框图。

图7是本发明中一实施例中示出的虚拟机中选择模块的结构示意图。

图8是本发明中一实施例中示出的虚拟机中处理模块的结构示意图。

图9是本发明中另一实施例中示出的虚拟机中处理模块的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

随着云计算等相关技术的不断应用,计算机向着小型化、轻便化的方向发展。远程桌面、云桌面的相关应用也越来越普及,其可以在小型化的终端上同样能够流畅的操作Windows操作系统,达到与普通计算机相似的功能。该技术很大程度上节约了成本,同时也方便了管理。而FreeRDP是一个免费开源实现的一个远程桌面协议(RDP)工具,用于从Linux、Android、ARM等系统(客户端)连接到Windows(服务端)的远程桌面,进行Window操作。用户在使用时不免会遇到需要使用U盘等USB移动存储设备。FreeRDP提供的技术可以在登录的时候,通过命令行参数或者指定待重定向到Windows里面的设备,如果是Android系统也是类似,在登录前先通过接口设置好待重定向的设备,然后再通过FreeRDP登录Windows。通过这种方式用户插在小型终端上的USB存储设备映射到远程的Windows系统里面,达到操作它的功能。在实际使用中,如果用户已经登录到远程的Windows系统中,此时再插入USB存储设备时,已经无法重定向到远程Windows里面。这种在登录Windows后再进行USB存储设备的插入、拔出、再插入等操作经常遇到。

因此,本发明提供一种基于RDP协议的USB存储设备重定向方法,可基于RDP协议支持实现登录系统后USB存储设备热插拔重定向。图1是本发明中一实施例中示出的基于RDP协议的USB存储设备重定向方法的流程图。如图1所示,所述基于RDP协议的USB存储设备重定向方法包括:

在步骤101中,登录服务端后,根据监测到的所述客户端上USB存储设备的状态信息添加相应的动态处理策略。

在该步骤中,FreeRDP远程登录Windows运行中,客户端实时监测系统中的有关USB存储设备的挂载与卸载等有关USB存储设备的状态信息,然后将该有关USB存储设备的状态信息发送至FreeRDP。FreeRDP根据客户端检测到的USB存储设备的插入或移除动作判断USB存储设备的状态变化,然后基于所述的状态信息选择对应挂载或卸载USB存储设备的处理策略。例如,在Linux(X86、ARM)系统中可通过代码定时循环查询外设挂载信息,从中筛选出USB存储设备的信息;而在Android系统中则可以通过监听系统广播ACTION_MEDIA_MOUNTED、ACTION_MEDIA_EJECT、ACTION_MEDIA_UNMOUNTED,判断是否有USB存储设备状态的变化。对应的,在检测到USB存储设备状态变化后,FreeRDP中增加动态处理策略,用于动态处理设备重定向与动态删除。这样,增加的动态处理策略登录远程系统之后到注销登录之前的任何时刻处理USB存储设备的热插拔动作。

在步骤102中,根据所述动态处理策略将所述USB存储设备在服务端上重定向或移除。

在该步骤中,所述处理策略包括用于重定向USB存储设备的接口及用于移除USB存储设备的接口。当客户端插入USB存储设备时,调用用于重定向USB存储设备的接口,将所述USB存储设备重定向至服务端;当客户端移除USB存储设备时,调用用于移除USB存储设备的接口,将所述USB存储设备从服务端移除。

由上述实施例可知,本发明通过USB存储设备状态的动态监测,及动态增加重定向、删除的接口,可解决系统协议不支持USB存储设备热插拔重定向的问题,满足了用户使用USB存储设备时可随时插入、拔出的需求。

基于上述实施例,本发明提供的基于RDP协议的USB存储设备重定向方法还包括步骤103。如图3所示,在步骤103中:登录服务端前,检测到USB存储设备连接客户端时,根据预设配置文件将所述USB存储设备重定向至服务端。即FreeRDP在登录Windows之前,将USB存储设备插入客户端时,通过命令行参数或者指定待重定向到Windows里面的设备,如果是Android系统也是类似,在登录前先通过接口设置好待重定向的设备,然后再通过FreeRDP登录Windows。在本实施例中,实现了在FreeRDP登录Windows前后都可以将USB存储设备重定向至Windows端。

下面通过一具体实施例对本发明作进一步地说明:

图3是本发明中另一实施例中示出的基于RDP协议的USB存储设备重定向方法的流程图。如图3所示,所述重定向方法应用于USB存储设备插入客户端时,包括:

在步骤301中,客户端监测到USB存储设备插入。

在不同系统中可采用不同的实时监测USB存储设备方法完成USB存储设备的挂载、移除动作。例如,在Linux(X86、ARM)系统中可通过代码定时循环查询挂载信息,从中筛选出USB存储设备的信息;在Android系统中通过监听系统广播判断是否有USB存储设备状态的变化。

在步骤302中,发送系统信息。

即客户端检查到有USB存储设备的插入时,向FreeRDP发送USB存储设备插入的系统信息。如果FreeRDP是以独立进程运行的,客户端则可以通过系统消息、共享内存等进程间通信的方式告知FreeRDP,便于FreeRDP响应于移除USB存储设备的动作,动态添加用于移除USB存储设备的接口。

在步骤303中,FreeRDP接收系统信息。

在步骤304中,判断USB存储设备是否已经重定向,若未重定向则执行步骤305,若已重定向则执行步骤308。

在该步骤中,需要先检测所述USB存储设备是否已经被重定向,避免重复操作,影响用户使用。如果所述USB存储设备未被重定向,则执行重定向服务。

在步骤305中,加入设备管理列表。

在步骤306中,调用动态添加的USB接口。

如果所述USB存储设备未被重定向,将所述USB存储设备加入客户端的设备管理列表,然后通知服务端加载所述USB存储设备。FreeRDP调用动态添加的用于重定向USB存储设备的接口将所述USB存储设备重定向至服务端。

在步骤307中,服务端显示USB设备接入。

服务端的远程Windows完成USB存储设备的重定向,并显示USB设备接入。

在步骤308中,忽略系统消息。

图4是本发明中另一实施例中示出的基于RDP协议的USB存储设备重定向方法的流程图。如图4所示,所述重定向方法应用于USB存储设备移除客户端时,包括:

在步骤401中,客户端监测到USB存储设备卸载。

例如,在Linux(X86、ARM)系统中可通过代码定时循环查询卸载信息,从中筛选出USB存储设备的信息;在Android系统中通过监听系统广播判断是否有USB存储设备状态的变化。

在步骤402中,发送系统信息。

即客户端检查到有USB存储设备的移除时,向FreeRDP发送USB存储设备移除的系统信息。如果FreeRDP是以独立进程运行的,客户端则可以通过系统消息、共享内存等进程间通信的方式告知FreeRDP,便于FreeRDP响应于移除USB存储设备的动作,动态添加用于移除USB存储设备的接口。

在步骤403中,FreeRDP接收系统信息。

在步骤404中,判断USB存储设备是否已经重定向,若未重定向则执行步骤405,若已重定向则执行步骤408。

在该步骤中,需要先检测所述USB存储设备是否已经被重定向,如果所述USB存储设备未被重定向,则无需执行响应操作。

在步骤405中,加入设备管理列表。

在步骤406中,调用动态添加的USB接口。

如果所述USB存储设备未被重定向,通知服务端移除所述USB存储设备,从客户端的设备管理列表中移除所述USB存储设备,释放相关资源。将所述USB存储设备加入客户端的设备管理列表,然后通知服务端加载所述USB存储设备。FreeRDP调用动态添加的用于移除USB存储设备的接口,将所述USB存储设备从服务端移除。

在步骤407中,服务端显示USB设备拔出。

服务端的远程Windows完成USB存储设备的卸载,并显示USB设备拔出。

在步骤408中,忽略系统消息。

由上可知,本发明通过USB存储设备状态的动态监测,及增加动态重定向、删除的接口,基于FreeRDP协议不支持USB存储设备热插拔重定向的问题,可满足用户使用USB存储设备时可随时插入、拔出的需求。

本发明还提供对应上述基于RDP协议的USB存储设备重定向方法的一种虚拟机。图5是本发明中一实施例中示出的虚拟机的模块框图。如图5所示,该虚拟机,包括:

选择模块51,用于登录服务端后,根据监测到的所述客户端上USB存储设备的状态信息添加相应的动态处理策略;

处理模块52,用于根据所述动态处理策略将所述USB存储设备在服务端上重定向或移除。

在另一实施例中,如图6所示,所述虚拟机还包括预设置模块53,所述预设置模块,用于登录服务端前,检测到USB存储设备连接客户端时,根据预设配置文件将所述USB存储设备重定向至服务端。

进一步地,如图7所示,所述选择模块51包括:

第一选择单元511,用于响应于插入USB存储设备的动作,动态添加用于重定向USB存储设备的接口;

第二选择单元512,用于响应于移除USB存储设备的动作,动态添加用于移除USB存储设备的接口。

进一步地,如图8所示,所述处理模块52包括:

判断单元521,用于检测所述USB存储设备是否已经被重定向;

第一处理子单元522,用于如果所述USB存储设备未被重定向,将所述USB存储设备加入客户端的设备管理列表后通知服务端加载所述USB存储设备;

第二处理子单元523,用于调用所述处理策略,将所述USB存储设备重定向至服务端;

其中,所述处理策略包括动态添加用于重定向USB存储设备的接口。

进一步地,如图9所示,所述处理模块502还包括:

第三处理子单元524,用于通知服务端移除所述USB存储设备,从客户端的设备管理列表中移除所述USB存储设备;

第四处理子单元525,用于调用所述处理策略,将所述USB存储设备从服务端移除;

其中,所述处理策略包括动态添加用于移除USB存储设备的接口。

上述装置中各个模块、单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

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