一种端口重定向的方法、服务器和系统的制作方法

文档序号:9931397阅读:882来源:国知局
一种端口重定向的方法、服务器和系统的制作方法
【技术领域】
[0001] 本发明涉及通信技术领域,特别涉及一种端口重定向的方法、服务器和系统。
【背景技术】
[0002] 远程虚拟桌面是指计算和存储资源集中在远程服务器端(一般为数据中心),通过 远程桌面协议将远程虚拟桌面的界面投递到本地的各种终端(如:瘦客户机,台式电脑、便 携电脑、移动终端PAD、智能手机等)上显示出来,同时能把本地终端的各种输入输出设备 (如:键盘,鼠标,通用串行总线(USB,Universal Serial Bus)外设,串并口外设,耳机和麦 克风等)映射到远程服务器端。
[0003] -般终端上带有一个或多个"端口(硬件)",操作系统会识别出这些串行通信端 口,依次加载系统自带的"端口驱动",并默认创建出对应的"端口设备文件",简称"端口" (如C0M1、C0M2等)来与之对应。后续操作系统内,所有针对"端□"(如C0M1)的操作,实际上 就是对连接在"端口(硬件)"上的"端口物理设备"进行操作。
[0004] 在远程虚拟桌面系统中,一般包括终端和服务器,如果服务器需要使用终端侧的 端口打印机等端口物理设备,一种方式是可以先采用USB转端口线方式接入终端,然后通过 USB重定向方式,把终端侧的物理设备,映射到远程服务器中,如图1所示,如上"USB客户 端"、"USB服务端"、"USB总转串口驱动"等几部分,构成USB重定向框架主体,负责完成USB设 备的重定向映射工作,把本地终端侧的物理USB设备,成功映射到了服务器的远程虚拟桌面 系统中,再配合远程桌面中安装的USB转端口驱动,创建出在设备管理器中可见的端口设备 对象,以及关联的供应用操作的端口(如C0M1)来,后续针对此端口的读写操作,实际上就是 读写操作终端侧的端口物理设备。
[0005] 上述使用端口设备的方式,某些应用(一般是服务)在安装时,需要绑定具体的虚 拟端口(如C0M1),且在操作系统启动过程中,该应用就会自动运行并立即打开此端口,而此 时桌面用户还没有通过终端登录远程桌面,也就是终端侧的端口还没有在远程桌面中映射 出来,也就意味着应用此时打开的虚拟端口可能不存在,或者可能虚拟端口(如C0M1)存在, 但它所指向的不是真正用户想要使用的终端侧端口物理设备,最终桌面用户登录远程桌面 后,使用时会发现不能正常工作。

【发明内容】

[0006] 本申请提供了一种端口重定向的方法、终端和服务器,避免了服务器内应用先于 端口重定向之前就打开端口,导致后续工作不正常问题。
[0007] -方面,本申请的实施例提供一种端口重定向的方法,该端口重定向方法应用于 云交互系统(例如远程虚拟桌面系统)中,该云交互系统中包括服务器和用户设备,在服务 器中预置有映射关系配置表,该映射关系配置表包括至少一个端口绑定关系,其中,端口可 以是串口(标识一般为COM加数字序号,如C0M1)或者并口(标识一般为LPT加数字序号,如 LPT1 ),每个端口绑定关系记录一个虚拟端口标识与一个物理端口标识的绑定关系,端口绑 定关系记录的虚拟端口标识用来标识服务器中的虚拟端口,该虚拟端口标识为区别服务器 建立的虚拟端口的唯一标识,端口绑定关系记录的物理端口标识用来标识终端的物理端 口,该物理端口标识为区别终端的物理端口的唯一标识;
[0008] 在服务器中安装有至少一个应用,其中,每个应用可以分别对应一个或多个端口 绑定关系,该至少一个应用包括目标应用,例如文档编辑应用word,目标虚拟端口是指服务 器中供目标应用使用的虚拟端口,目标物理端口是指终端中目标应用期望使用的物理端 口,目标虚拟端口与目标物理端口对应,例如,虚拟端口 C0M1与物理端口 C0M1对应,该方法 包括:
[0009] 服务器根据映射关系配置表中与目标应用对应的端口绑定关系所记录的虚拟端 口标识,创建目标虚拟端口,并根据映射关系配置表生成映射关系表,其中,映射关系表包 括映射关系配置表中与目标虚拟端口对应的端口绑定关系;
[0010] 服务器在预设条件满足时,在所述目标虚拟端口被目标应用打开的情况下,根据 映射关系表通知终端开启与所述目标虚拟端口对应的目标物理端口,终端接收到通知后, 即开启目标虚拟端口对应的目标物理端口,例如目标虚拟端口 C0M1被word打开,此时,根据 该映射关系表即可通知终端开启目标虚拟端口C0M1对应的目标物理端口C0M1,终端接收到 通知后,即开启目标虚拟端口 C0M1对应的目标物理端口 C0M1。
[0011] 上述过程在所述服务器中应用打开虚拟端口之前,提前了创建虚拟端口,避免了 服务器内应用先于端口重定向正常工作之前就打开虚拟端口,导致后续工作不正常问题。
[0012] 在一个可能的设计中,服务器根据映射关系配置表生成映射关系表,具体可以是 如下过程实现:
[0013]在终端登录服务器时,终端可以将至少一个物理端口的端口标识向服务器发送, 该至少一个物理端口的端口标识可以是包括至少一个物理端口的端口标识的物理端口标 识列表,服务器从终端获取终端的至少一个物理端口的物理端口标识,获取到的物理端口 标识包括第一物理端口标识,其中,第一物理端口标识是指在获取到的物理端口标识中映 射关系配置表记录有的物理端口标识,例如,目标物理端口具有该第一物理端口标识;
[0014] 服务器根据所述映射关系配置表,将所有第一物理端口标识所各自对应的端口绑 定关系添入映射关系表,例如,至少一个物理端口的端口标识包括物理端口 C0M1、C0M2,其 中,C0M1为映射关系配置表记录有的物理端口标识,而COM2未记录,则C0M1为第一物理端口 标识,此时将C0M1对应的端口绑定关系添入映射表。
[0015] 此过程中,服务器获取到的物理端口标识中映射关系配置表记录有的物理端口标 识,将所有第一物理端口标识所各自对应的端口绑定关系添入所述映射关系表,实现绑定 关系的映射。
[0016] 在另一个可能的设计中,获取到的物理端口标识包括第二物理端口标识,第二物 理端口标识是指在获取到的物理端口标识中映射关系配置表未记录有的物理端口标识,即 例如上面描述的映射关系配置表记录有的COM2;
[0017] 所述方法还包括:服务器创建第二物理端口标识与预设虚拟端口标识的端口绑定 关系,并将创建的端口绑定关系添入所述映射关系表。
[0018] 其中,预设虚拟端口可以是服务器根据映射关系配置表创建的虚拟端口中,预留 的虚拟端口,也可以是预先新创建的虚拟端口。
[0019]例如,以获取到的物理端口标识为物理端口标识列表为例,在物理端口标识列表 中存在所述映射关系配置表未记录有的物理端口标识时,如在端口信息列表中包括上述物 理端口标识C0M1、COM2的基础上,端口信息列表中还包括物理端口标识COM 3、COM4,由于上 述映射关系配置表中没有终端侧的物理端口标识C0M3、C0M4与服务器侧的虚拟端口的绑定 关系,因此需要再创建或分配给物理端口 COM 3、C0M4对应的虚拟端口,创建它们的绑定关 系,并将创建的端口绑定关系添入映射关系表。
[0020] 在物理端口标识列表中存在所述映射关系配置表未记录有的物理端口标识时,还 可以将服务器根据映射关系配置表创建的虚拟端口的标识与第二物理端口标识绑定,而不 用重新再创建新的虚拟端口,例如,上述服务器侧的虚拟端口标识COM2未指定终端侧的物 理端口,由于终端侧的物理端口标识COM3没有直接的虚拟端口对应,则终端侧的物理端口 标识COM3优先会从空闲的虚拟端口标识去匹配绑定,此处会匹配上虚拟端口标识COM2,当 服务器侧无空闲的虚拟端口标识时,才会去创建新的虚拟端口标识给终端侧的物理端口标 识COM3匹配。
[0021] 这样,服务器对于获取到的物理端口标识中所述映射关系配置表未记录有的物理 端口标识,可以创建对应的端口绑定关系,并添加到映射关系表。
[0022] 在另一个可能的设计中,预设条件满足是指所述服务器预置的端口自动连接开关 处于关闭状态,其中,端口自动连接开关具有打开状态和关闭状态两种状态。
[0023] 在另一个可能的设计中,同样在处于关闭状态服务器预置的端口自动连接开关情 况下,若目标虚拟端口被目标应用打开,才根据映射关系表通知终端开启与所述目标虚拟 端口对应的目标物理端口。
[0024] 在另一个可能的设计中,所述预设条件不满足可以是指所述服务器预置的端口自 动连接开关处于打开状态;
[0025] 所述方法还包括:服务器通知终端开启所述映射关系表中每条端口绑定关系记录 的物理端口标识所指定的物理端口。
[0026] 这种情况下,服务器直接通知所述终端开启所述映射关系表中每条端口绑定关系 记录的物理端口标识所指定的物理端口,而不需要在目标虚拟端口被所述目标应用打开才 去打开对应的物理端口,提高后续端口数据写入效率。
[0027] 在另一个可能的设计中,根据映射关系表通知终端开启与所述目标虚拟端口对应 的目标物理端口,包括:服务器在获取到目标应用待写入目标物理端口的数据时,查询映射 关系表中目标物理端口的状态,若查询到目标物理端口的状态为关闭状态,则通知终端打 开目标物理端口,终端接收到相应通知后,即打开目标物理端口,终端在打开目标物理端口 后还可以通知服务器更新映射表中目标物理端口的状态,如有关闭状态(例如true表示)更 改为打开状态(例如false表不)。
[0028] 在另一个可能的设计中,根据映射关系表通知终端开启与所述目标虚拟端口对应 的目标物理端口,包括:
[0029] 服务器在获取到所述目标应用待写入目标物理端口的数据时,查询映射关系表中 目标物理端口的状态,若查询到目标物理端口的状态为关闭状态,则通知终端打开所述目 标物理端口,此时,在应用有待写入所述目标物理端口的数据时,才去开启对应的目标物理 端口,避免了资源的浪费。
[0030] 在另一个可能的设计中,服务器在获知终端打开目标物理端口时,向目标虚拟端 口发送待写的数据,经目标虚拟端口向目标物理端口转发待写的数据,终端的目标物理端 口接收到该待写的数据,即写入该待写的数据,实现了应用对物理端口的使用。
[0031] 在另一个可能的设计中,服务器在获知终端打开所述目标物理端口时,更新映射 关系表中目标物理端口的状态为打开状态,实现了映射关系表的自动动态管理,提尚了易 用性。
[0032] 例如,在服务器中预置的端口自动连接开关,在端口自动连接开关处于打开状态, 服务器通知所述终端开启所述映射关系表中每条端口绑定关系记录的物理端口标识所指 定的物理端口的情况下,在获知终端开启了对应的物理端口后,将映射关系表中终端的物 理端口状态修改为打开状态,即由false修改为true;又例如,在服务器在获取到目标应用 待写入所述目标物理端口的数据时,通知所述终端打开所述目标物理端口的情况下,将映 射关系表中终端侧的目标物理端口状态也对应修改为打开状态,即也由false修改为true。
[0033] 在另一个可能的设计中,若目标物理端口的状态为打开状态,则服务器向目标虚 拟端口发送待写的数据,经目标虚拟端口向所述目标物理端口转发待写的数据。
[0034] 在另一个可能的设计中,所述映射关系配置表还包括预置的禁止创建对应虚拟端 口的物理端口标识,此时,通过映射关系配置表,可以避免终端的物理端口因某些原因不希 望端口指向被改变,而造成端口冲突的问题。
[0035] 在另一个可能的设计中,所述预设条件不满足还可以是所述服务器内预置端口重 定向总开关处于关闭状态,即不允许对终端物理端口进行重定向,此时,所述方法
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1