用于实现多用户访问usb设备的装置及方法

文档序号:7590199阅读:128来源:国知局
专利名称:用于实现多用户访问usb设备的装置及方法
技术领域
本发明涉及通用串行总线(USB)技术,特别涉及一种用于实现多用户访问USB设 备的装置、以及一种用于实现多用户访问USB设备的方法。
背景技术
USB协议是一种通用外设连接规范,或者说,USB协议是一种外围串行通讯接口标 准。USB具有热插拔、数据传输可靠、扩展方便、低成本等特点,已成为当前电子设备必备 的外设接口。USB系统的拓扑体系主要由USB主机(Host)、USB集线器(Hub)和USB设备 (Node)这三个元素组成,USB主机可以通过USB连接线与USB设备直连、也可以通过USB连 接线和至少一个USB集线器与USB设备级连。随着USB技术的普及,USB接口逐渐开始替代传统RS-232串行接口。为适应这一 变化,例如路由器和交换机等数通设备也使用USB设备接口与作为USB主机的PC机直连或 级连,以便于作为USB主机的PC机用户可对作为USB设备的数通设备进行管理操作。图1 示出了一种级连状态下的示例性结构图,在图1中,可供用户登录的PC机作为USB主机,数 通设备A 数通设备C作为USB设备、并通过USB集线器级连至作为USB主机的PC机,用 户可登录作为USB主机的PC机通过USB接口访问数通设备A 数通设备C、并实现对数通 设备A 数通设备C的管理操作。然而,基于传统的USB系统的拓扑体系结构,现有技术中会存在如下的技术问题1、在每个USB系统中,有且只有1个USB主机,所有USB集线器和所有USB设备的 USB地址都由这一个USB主机分配,因此,在不改变USB系统的连线的前提下,只能有1个 USB主机能够对所有USB设备进行访问。以如图1所示的结构为例,用户只有登录作为USB主机的PC机才能够访问数通设 备A 数通设备C、并实现对数通设备A 数通设备C的管理操作,而对于登录图1中未示 出的其他非USB主机PC机的用户来说,除非通过改变USB连接线将非USB主机PC机变更 为USB主机,否则,就不可能通过数通设备A 数通设备C的USB接口访问数通设备A 数 通设备C,因而也就不可能实现对数通设备A 数通设备C的管理操作,也就是说,可通过 USB接口访问数通设备A 数通设备C、并实现对数通设备A 数通设备C的管理操作仅限 于登录USB主机的用户。2、由于USB系统用来判断数据传输超时是通过硬件握手信号来实现的,而在USB 连接线上过多的延时又会导致数据传输出现超时错误,因此,USB系统中要求每段直连的 USB连接线长度不超过5米、使用USB集线器的级联不超过5级(USB主机内集成的根集线 器不算在内),从而使得USB系统中USB主机和USB设备之间的最大距离不能超过30m。以如图1所示的结构为例,用户只能在30米之内的有限物理空间内实现对数通设 备A 数通设备C的访问和管理操作,从而对数通设备A 数通设备C的空间位置提出了 苛刻的要求。3、USB设备往往被作为USB主机的PC机利用其内部承载的操作系统(例如Windows系统)虚拟为相应的COM 口,而且,COM 口会与USB物理接口的逻辑端口号相关联, 以供用户区分不同的USB设备。但是,由于COM 口与逻辑端口号的这种关联是动态变化的, 因而就会造成连接在USB物理接口的USB设备容易被混淆、不易被区分。以如图1所示的结构为例,当数通设备A插入在PC机的USB物理接口 1之后,PC 机内承载的操作系统会将数通设备A虚拟为相应的COM 口 1,并将COM 口 1与USB物理接口 1的逻辑端口号1相关联。而当数通设备A从USB物理接口 1拔出之后,如果又有数通设备 B插入在除USB物理接口 1之外的其他USB物理接口,则数通设备B就有可能被虚拟为COM 口 1。此后,再当数通设备A再次插入USB物理接口 1之后,PC机内承载的操作系统又可能 会将数通设备A虚拟为COM 口 2,并将COM 口 2与USB物理接口 1的逻辑端口号1相关联。 也就是说,对于同样的数通设备A,即便其先后插入在同一个USB物理接口 1,其对应的COM 口也有可能不同;而对于同样的COM 口 1来说,其有可能先后对应不同的数通设备A和数通 设备B。从而,用户难以区分出COM 口 1对应的是数通设备A还是数通设备B,为用户对于 所有数通设备的管理带来诸多的不便。

发明内容
有鉴于此,本发明提供了一种用于实现多用户访问USB设备的装置、以及一种用 于实现多用户访问USB设备的方法。本发明提供的一种用于实现多用户访问USB设备的装置,所述装置具有可通过IP 网络被远程访问的IP网络接口、以及可连接USB设备的若干个USB物理接口,且,所述装置 还包括TCP驱动模块,用于提供若干个可被所述远程访问使用的TCP端口 ;USB驱动模块,用于驱动若干个USB物理接口 ;接口映射模块,建立并维护TCP端口的TCP端口号与USB物理接口的USB端口号 之间的映射关系;在所述远程访问以所述装置的IP地址为目的IP地址、以任一TCP端口为 目的端口时,依据所述映射关系将该TCP端口映射至对应的USB物理接口,并实现该TCP端 口与对应的USB物理接口之间的数据协议转换。所述接口映射模块中进一步设置有每一 USB物理接口的USB端口号与该USB物理 接口的丝印号之间的第一对应关系;所述接口映射模块进一步接收配置信息,所述配置信息中包含有TCP端口号与丝 印号之间的第二对应关系;依据所述第一对应关系和所述第二对应关系建立所述映射关系。所述装置进一步具有一配置输入端口,所述接口映射模块通过所述配置输入端口 接收所述配置信息;或者,所述接口映射模块进一步通过TCP驱动模块接收使用预留TCP端 口发来的所述配置信息。所述接口映射模块进一步在获知任一 USB物理接口有USB设备插入后,检查是否 已建立有该USB物理接口的所述映射关系、并在已建立所述映射关系时请求所述TCP驱动 模块触发该USB物理接口所对应的TCP端口进入监听状态;在获知任一 USB物理接口有USB 设备拔出后,检查是否已建立有该USB物理接口的所述映射关系、并在已建立所述映射关 系时请求所述TCP驱动模块触发该USB物理接口所对应的TCP端口进入关闭状态。
所述接口映射模块进一步在建立所述映射关系之后,判断已建立的所述映射关系 中的USB端口号所对应的USB物理接口是否有USB设备插入、并在有USB设备插入时请求 所述TCP驱动模块触发该USB物理接口所对应的TCP端口进入监听状态;以及,所述接口映射模块进一步获知在任一 USB物理接口有USB设备插入后,检查 是否已建立有该USB物理接口的所述映射关系、并在已建立所述映射关系时请求所述TCP 驱动模块触发该USB物理接口所对应的TCP端口进入监听状态;在获知任一 USB物理接口 有USB设备拔出后,检查是否已建立有该USB物理接口的所述映射关系、并在已建立所述映 射关系时请求所述TCP驱动模块触发该USB物理接口所对应的TCP端口进入关闭状态。所述接口映射模块进一步在获知有USB物理接口插入USB设备时记录该USB物理 接口的插入事件、在获知有USB物理接口拔出USB设备时删除已记录的该USB物理接口的 插入事件;以及,所述接口映射模块进一步在建立所述映射关系之后依据记录的插入事件 执行所述判断。本发明提供的一种用于实现多用户访问USB设备的方法,该方法应用于具有可通 过IP网络被远程访问的IP网络接口、以及可连接USB设备的若干个USB物理接口的装置 中,且,所述方法包括提供若干个可被所述远程访问使用的TCP端口、并驱动若干个USB物理接口 ;建立并维护TCP端口的TCP端口号与USB物理接口的USB端口号之间的映射关 系;在所述远程访问以所述装置的IP地址为目的IP地址、以任一 TCP端口为目的端 口时,依据所述映射关系将该TCP端口映射至对应的USB物理接口,并实现该TCP端口与对 应的USB物理接口之间的数据协议转换。所述方法进一步包括预先设置每一 USB物理接口的USB端口号与该USB物理接口的丝印号之间的第一 对应关系;接收配置信息,所述配置信息中包含有TCP端口号与丝印号之间的第二对应关 系;依据所述第一对应关系和所述第二对应关系,建立所述映射关系。所述方法进一步预先设置配置输入端口,并进一步利用所述配置输入端口接收所 述配置信息;或者,所述方法进一步预先设置预留TCP端口,并进一步接收PC机使用预留 TCP端口访问时发送的所述配置信息。所述方法在获知任一 USB物理接口有USB设备插入后进一步包括检查是否已建 立有该USB物理接口的所述映射关系、并在已建立所述映射关系时触发该USB物理接口所 对应的TCP端口进入监听状态;所述方法在获知任一 USB物理接口有USB设备拔出后进一步包括检查是否已建 立有该USB物理接口的所述映射关系、并在已建立所述映射关系时触发该USB物理接口所 对应的TCP端口进入关闭状态。所述方法在建立所述映射关系之后进一步包括判断已建立的所述映射关系中的 USB端口号所对应的USB物理接口是否有USB设备插入、并在有USB设备插入时触发该USB 物理接口所对应的TCP端口进入监听状态;
7
所述方法在获知任一 USB物理接口有USB设备插入后进一步包括检查是否已建 立有该USB物理接口的所述映射关系、并在已建立所述映射关系时触发该USB物理接口所 对应的TCP端口进入监听状态;所述方法在获知任一 USB物理接口有USB设备拔出后进一步包括检查是否已建 立有该USB物理接口的所述映射关系、并在已建立所述映射关系时触发该USB物理接口所 对应的TCP端口进入关闭状态。所述方法在获知任一 USB物理接口有USB设备插入时进一步包括记录该USB物 理接口的插入事件;所述方法在获知任一 USB物理接口有USB设备拔出时进一步包括删除已记录的 该USB物理接口的插入事件;以及,所述方法在建立所述映射关系之后进一步依据记录的 插入事件执行所述判断。由上述技术方案可见,利用本发明,用户均可使用TCP端口实现跨IP网络的远程 访问,并通过远程访问时所使用的TCP端口被映射在对应的USB物理接口,从而即可通过所 映射的USB物理接口访问到连接对应USB物理接口的USB设备。由于同一个TCP端口号并 不限于登录在同一台PC机的用户所使用,因而能够避免对USB设备的单USB主机访问限 制,实现真正的多用户访问;而且,通过IP网络对USB设备的访问也使得PC机与USB设备 之间的距离可以任意扩展,避免了 USB设备的空间位置局限性。更优地,TCP端口与USB物理接口的映射关系,可以依据用户配置的TCP端口号与 USB物理接口的丝印号之间的对应关系而建立。用户可先行观察其需要访问的USB设备所 连接的USB物理接口上所刻印的丝印号,然后输入其需要使用的TCP端口的TCP端口号与 观察到的USB物理接口的丝印号之间的对应关系,从而就能够建立得到其需要使用的TCP 端口与其需要访问的USB设备所连接的USB物理接口之间的映射关系。如此一来,由于用户 能够获知其自行设置的TCP端口号与丝印号之间的对应关系,因而也就能够唯一推知TCP 端口与USB物理接口的映射关系,从而即可依据不同的TCP端口区分出插入在对应USB物 理接口的USB设备,进而也就便于对USB设备的管理。即便USB设备所连接的USB物理接 口会发生变化,用户仍能够使用该USB设备之前所对应的TCP端口、并重新配置该TCP端口 的TCP端口号与新的USB物理接口的丝印号之间的对应关系,从而能够避免由于USB物理 接口的变化而导致的对USB设备识别的混淆。


图1为现有技术中的一种USB主机级连USB设备的示例性结构图;图2为本发明实施例中用于实现多用户访问USB设备的系统的一种示例性结构 图;图3为如图2所示的用于实现多用户访问USB设备的装置的内部原理示意图;图4为如图2所示的并具有如图3所示逻辑层的用于实现多用户访问USB设备的 装置的一种较佳内部结构示意图;图fe为本实施例用于实现多用户访问USB设备的装置执行映射配置的处理过程 示意图;图恥为本实施例用于实现多用户访问USB设备的装置执行接口映射的处理过程示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对 本发明进一步详细说明。本实施例以基于IP网络的系统架构替代了现有技术中单纯的USB系统架构,并在 基于IP网络的系统架构中设置了一种集成有IP网络接口(例如百兆以太接口)和多个 USB物理接口的装置,并利用该装置实现多用户对任意USB设备的访问。具体参见图2,本实施例用于实现多用户访问USB设备的系统中包括位于IP网络一侧的至少一台PC机;位于所述IP网络另一侧的本实施例中用于实现多用户访问USB设备的装置、以 及可连接该装置的USB接口的至少一台USB设备(例如具有USB设备功能的数通设备)。 由于本实施例中用于实现多用户访问USB设备的装置通过其具有的IP网络接口连接在IP 网络,因而该装置具有IP地址;但所述至少一台USB设备仅仅是连接用于实现多用户访问 USB设备的装置、而并未连接IP网络,因而可以不具有IP地址。其中,本实施例中用于实现多用户访问USB设备的装置能够提供若干个可被任一 PC机通过所述IP网络访问时使用的TCP端口、并可作为USB主机驱动若干个可插入USB设 备的USB物理接口(具有的USB物理接口数量可以任意设置,因而该装置需要集成有集线 器功能或内置集线器)。而且,本实施例中用于实现多用户访问USB设备的装置中还能够建立并维护有至 少一个TCP端口的TCP端口号与其任一 USB物理接口的USB端口号(或称之为集线器端口 号)之间的映射关系。该映射关系可以在装置初始化后自动建立(即该映射关系为装置自 带的映射关系),也可以在装置使用过程中由用户自行配置(即该映射关系为用户自定义 的映射关系、且在被用户配置之前并不存在于该装置中)。用户所登录的任一台PC机均可通过IP网络、并使用远程登录协议(例如Telnet 协议)实现对本实施例中用于实现多用户访问USB设备的装置的远程访问。任一台PC机 在远程访问时,需要以该装置的IP地址为目的IP地址、以该装置提供的任一 TCP端口为目 的端口。虽然访问的目的IP地址为本实施例中用于实现多用户访问USB设备的装置的IP 地址,但是,该装置会依据上述的映射关系将作为目的端口的TCP端口映射在对应的USB物 理接口,从而使得任一台PC机对该装置的访问映射为对插入在对应USB物理接口的USB设 备的访问、且上述装置对PC机不可见。如上可见,由于同一个TCP端口号并不限于登录在同一台PC机的用户所使用,因 而能够避免对USB设备的单USB主机访问限制,实现真正的多用户访问;而且,通过IP网络 对USB设备的访问也使得PC机与USB设备之间的距离可以任意扩展,避免了 USB设备的空 间位置局限性。此外,只要用户能够获知TCP端口的TCP端口号与USB物理接口的USB端口号之 间的映射关系,即可依据TCP端口区分出插入在对应USB物理接口的USB设备,进而也就能 够便于对USB设备的管理。
为此,本实施例中较佳地由用户自行配置TCP端口的TCP端口号与USB物理接口 的USB端口号之间的映射关系。具体的配置方式为用户可观察其需要访问的USB设备所连接的USB物理接口上 所刻印的丝印号(本文所述的“丝印号”是指刻印在USB物理接口的可视标记)。然后,用 户向本实施例中用于实现多用户访问USB设备的装置输入其需要使用的TCP端口的TCP端 口号、以及其观察到的丝印号之间的对应关系,该装置即可依据用户配置的上述对应关系、 以及该装置内部预先设定的同一 USB物理接口的USB端口号与丝印号之间的对应关系(即 该对应关系为装置自带的对应关系),建立得到用户需要使用的TCP端口的TCP端口号与用 户需要访问的USB设备所连接的USB物理接口的USB端口号之间的映射关系。这样,由于用户能够获知TCP端口号与丝印号之间的对应关系,因而也就能够唯 一推知TCP端口与USB物理接口的映射关系,从而即可依据TCP端口区分出插入在对应USB 物理接口的USB设备,进而也就便于对USB设备的管理。即便USB设备所连接的USB物理 接口会发生变化,用户仍能够使用该USB设备之前所对应的TCP端口、并重新配置该TCP端 口的TCP端口号与新的USB物理接口的丝印号之间的对应关系,从而能够避免由于USB物 理接口的变化而导致的对USB设备识别的混淆。参见图3,本实施例中用于实现多用户访问USB设备的装置的内部逻辑层包括TCP协议栈,其用于提供预定数量的TCP端口,以供任一 PC机通过所述IP网络访 问时使用;USB设备类驱动、USB协议栈驱动、以及USB主机控制器驱动,用于驱动若干个USB 物理接口(例如,驱动若干USB物理接口识别插入的USB设备、以及基于USB协议的数据传 输);接口映射功能,主要包括建立并维护TCP端口与USB物理接口之间的映射关系;在 任一 PC机以所述装置的IP地址为目的IP地址、以任一 TCP端口为目的端口访问时,能够 利用上述映射关系将作为目的端口的TCP端口映射至对应的USB物理接口,并实现该TCP 端口与对应的USB物理接口之间的数据协议转换。当需要用户配置上述的映射关系时,接口映射功能可以将用户输入的配置信息中 的TCP端口号与丝印号绑定,并根据预先设置的同一 USB物理接口的丝印号与USB端口号 之间的对应关系,查找到配置信息中的丝印号所对应的USB端口号,进而即可建立配置信 息中的TCP端口号与查找到的USB端口号之间的映射关系、即TCP端口与USB物理接口之 间的映射关系。当USB设备类驱动获知任一 USB物理接口有USB设备插入后,即可通过控制通道 C2向接口映射功能上报插入事件,再由接口映射功能依据上述的映射关系识别出对应的 TCP端口、并通过控制通道Cl向TCP协议栈注册所识别出的对应的TCP端口,使得TCP协议 栈能够触发对应的TCP端口进入监听(Listening)状态。实际应用中,USB设备类驱动可以在接口映射功能针对任一 USB物理接口建立映 射关系之后立即检测该USB物理接口是否有USB设备插入;接口映射功能也可以在USB设 备类驱动检测到任一 USB物理接口有USB设备插入后立即检查是否已针对该USB物理接口 建立有映射关系。当对应的TCP端口进入监听状态后,使用该TCP端口的访问即可被映射在该TCP端口所对应的USB物理接口,并在该TCP端口与对应的USB物理接口之间传输数据。其中, 所传输的数据可以被分段地体现为接口映射功能与TCP协议栈之间的数据流Ml、接口映射 功能与USB设备类驱动之间的数据流M2、以及USB设备类驱动与USB协议栈驱动之间的数 据流M3。由于接口映射功能还能够实现数据流Ml与数据流M2之间基于协议转换的透传, 因而,数据流Ml、数据流M2、以及数据流M3之间能够衔接。当USB设备类驱动获知任一 USB物理接口有USB设备拔出后,即可通过控制通道 C2向接口映射功能上报拔出事件,再由接口映射功能依据上述的映射关系识别出对应的 TCP端口、并通过控制通道Cl向TCP协议栈注销所识别出的对应的TCP端口,使得TCP协议 栈触发对应的TCP端口进入关闭状态。基于如图3所示的内部逻辑层,本实施例中用于实现多用户访问USB设备的装置 除了具有可通过IP网络被远程访问的IP网络接口、以及可连接USB设备的若干个USB物 理接口之外,参见图4,该装置还具体包括如下的内部逻辑结构TCP驱动模块,其至少承载有TCP协议栈、并用于提供若干个可被远程访问使用的 TCP 端 口 ;USB驱动模块,其至少承载有USB设备类驱动、USB协议栈驱动、以及USB主机控制 器驱动,并用于驱动若干个可插入USB设备的USB物理接口 ;接口映射模块,用于建立并维护TCP端口的TCP端口号与USB物理接口之间的的 USB端口号映射关系;在任一 PC机执行的远程访问以本机的IP地址为目的IP地址、以任 一 TCP端口为目的端口时,依据上述映射关系将作为目的端口的TCP端口映射至对应的USB 物理接口,并实现该TCP端口与对应的USB物理接口之间的数据协议转换。为了便于用户可自行决定上述的映射关系,接口映射模块中进一步设置有每一 USB物理接口的USB端口号与该USB物理接口的丝印号之间的对应关系,并能够进一步接收 用户输入的配置信息,该配置信息中包含有TCP端口号与丝印号之间的对应关系,从而即 可使得接口映射模块依据上述两个对应关系,建立TCP端口的TCP端口号与USB物理接口 的USB端口号之间的映射关系。用户输入配置信息的方式有两种本地配置方式,用户在本实施例中用于实现多用户访问USB设备的装置所在的IP 网络的一侧、即本地侧直接向该装置输入配置信息,此时,该装置可以进一步具有一专用于 接收配置信息的配置输入端口,以使得接口映射模块通过配置输入端口接收配置信息;远程配置方式,用户登录PC机、并通过IP网络访问本实施例中用于实现多用户访 问USB设备的装置,该PC机在此时的访问过程中可以向该装置发送配置信息,且该PC机此 时的访问所使用的TCP端口是专用于接收配置信息的预留TCP端口 ;接口映射模块能够将 使用预留TCP端口的访问识别为配置操作,并将使用预留TCP端口的访问所发送的信息识 别为配置信息。此外,接口映射模块还可以依据USB物理接口是否有设备插入来维护对应的TCP 端口的状态,具体说接口映射模块在每次建立上述映射关系之后,都会判断已建立的映射关系中的 USB端口号所对应的USB物理接口是否已有USB设备插入,并在该USB物理接口已有USB设 备插入时请求TCP驱动模块触发该USB物理接口所对应的TCP端口进入监听状态;其中,接口映射模块可以在建立上述映射关系后立即通知USB驱动模块执行检测、并依据检测结果 执行判断;或者,接口映射模块也可以依据其在每次获知有USB设备插入的USB物理接口时 记录的插入事件来执行判断,这种情况下,接口映射模块还需要在每次获知有USB物理接 口拔出USB设备时删除已记录的该USB物理接口的插入事件;接口映射模块在USB驱动模块检测到有USB物理接口插入USB设备(USB驱动模 块中承载的USB设备类驱动上报插入事件)后,检查是否已建立有该USB物理接口的上述 映射关系,并在该USB物理接口已建立上述映射关系时依据上述映射关系请求TCP驱动模 块(TCP驱动模块中承载的TCP协议栈)触发该USB物理接口所对应的TCP端口进入监听 状态;也就是说,只要任一 USB物理接口同时满足插入有USB设备、以及建立有对应的映 射关系这两个条件,接口映射模块就请求TCP驱动模块触发对应的TCP端口进入监听状态, 但两个条件成立的先后关系并不影响对应的TCP端口进入监听状态;接口映射模块还在USB驱动模块检测到有USB物理接口的USB设备拔出(USB驱 动模块中承载的USB设备类驱动上报拔出事件)后,检查是否已建立有该USB物理接口的 所述映射关系,并在该USB物理接口已建立映射关系时依据所述映射关系请求TCP驱动模 块(TCP驱动模块中承载的TCP协议栈)触发该USB物理接口所对应的TCP端口进入关闭 状态。以下,在结合具体工作流程对本实施例用于实现多用户访问USB设备的装置进一 步说明。图fe为本实施例用于实现多用户访问USB设备的装置中执行映射配置的处理过 程示意图。如图如所示,该映射配置的处理过程主要由接口映射模块来完成、并包括S11,接口映射模块接收到用户输入的配置信息(本地输入或远程输入)。S12,接口映射模块判断配置信息中的TCP端口号所表示的TCP端口是否已被使 用,S卩,TCP端口号所表示的TCP端口是否已存在与USB物理接口的映射关系,如果是,则表 示以该TCP端口号进行配置会导致对应的TCP端口同时映射多于一个USB物理接口、从而 出现冲突,因此跳转至S17 ;否则继续执行S13。S13,接口映射模块将配置信息中的TCP端口号与丝印号绑定,然后继续执行S14。S14,接口映射模块依据预先设置的USB端口号与丝印号的对应关系,识别出被绑 定的丝印号所对应的USB端口号,并建立配置信息中的TCP端口号与所识别出的USB端口 号之间的映射关系,用于表示用户所要配置的TCP端口与USB物理接口之间的映射关系,然 后继续执行S15。S15,接口映射模块判断所识别出的USB端口号对应的USB物理接口此时是否有 USB设备插入,如果有USB设备插入并继续执行S16,否则结束本流程。本步骤中的判断方式可以为接口映射模块等待接收USB设备类驱动上报的插入 事件,或者,也可以为接口映射模块查询其记录的设备插入信息、该设备插入信息记录有 USB设备类驱动已上报的所有插入事件。 S16,接口映射模块立即向TCP驱动模块注册配置信息中的TCP端口号,以通知TCP 驱动模块立即触发对应的TCP端口进入监听状态,从而允许使用该TCP端口号远程访问对 应的USB物理接口此时已插入的USB设备,然后结束本流程。
S17,接口映射模块输出TCP端口冲突的提示信息,然后结束本流程。至此,一次配置流程结束。图恥为本实施例用于实现多用户访问USB设备的装置中执行接口映射的处理过 程示意图。如图恥所示,该接口映射的处理过程包括S21,USB驱动模块检测到有设备插入任一 USB物理接口、并获取插入设备的设备 类型。本步骤中的处理过程具体包括USB驱动模块中承载的HCD会通知USB协议栈驱 动有设备插入USB物理接口,再由USB驱动模块中承载的USB协议栈驱动利用通用的USB 控制命令获取插入设备的类型,然后通知USB驱动模块中承载的USB设备类驱动有设备插 入USB物理接口。S22,USB驱动模块依据获取的设备类型判断插入USB物理接口的设备是否为合法 USB设备,如果是则执行S23,否则,表示设备不匹配并结束本流程。本步骤中所述的“合法”主要是指带有USB串行接口、并允许被用户管理的USB设 备。例如,对于本实施例来说,带有USB串行接口、并允许被用户管理的“合法”USB设备可 以为数通设备,而例如U盘、USB鼠标等不需要在本实施例中由用于管理的USB设备则不属 于“合法”USB设备。也就是说,“合法”可以理解为预先设定的一种默认的USB设备类别, 只有属于这种USB设备类别的USB设备才“合法”。本步骤中的处理过程具体包括USB驱动模块中承载的USB设备类驱动依据USB 协议栈驱动获取的设备类型执行上述判断,如果是,则通过S23触发接口映射模块,否则, 通知USB协议栈驱动设备不匹配并结束本流程。S23,USB驱动模块向接口映射模块上报插入事件,以通知接口映射模块有USB设 备插入USB物理接口,然后执行S24。S24,接口映射模块记录设备插入信息,然后执行S25。本步骤中所记录的设备插入信息,可以供如图fe中所示的S15使用。接口映射模块 在获知有USB物理接口拔出USB设备时还应当删除已记录的该USB物理接口的插入事件。S25,接口映射模块依据已建立的映射关系判断插入有USB设备的USB物理接口是 否存在对应的TCP端口、即插入USB设备的USB物理接口已建立有映射关系,如果是,则执 行S26,否则,表示插入在该USB物理接口的USB设备无法被远程访问、并结束本流程。S26,接口映射模块向TCP驱动模块注册对应的TCP端口号,以通知TCP驱动模块 立即触发对应的TCP端口进入监听状态,从而允许使用对应的TCP端口号远程访问该USB 物理接口此时已插入的USB设备,然后结束本流程。至此,一次映射流程结束。除了如上所述的用于实现多用户访问USB设备的系统以及装置之外,本实施例还 提供了一种用于实现多用户访问USB设备的方法。该方法应用于具有可通过IP网络被远程访问的IP网络接口、以及可连接USB设 备的若干个USB物理接口的装置中。而且,该方法能够提供若干个可被任一 PC机的远程访问使用的TCP端口、并驱动 若干个可插入USB设备的USB物理接口,与此同时,该方法还可以包括如下步骤建立并维护TCP端口与USB物理接口之间的映射关系,该映射关系可以表示为TCP端口的TCP端口号与USB物理接口的USB端口号之间的映射关系;以及,在任一 PC机以应用该方法的装置的IP地址为目的IP地址、以任一 TCP端 口为目的端口访问时,依据上述映射关系将该TCP端口映射至对应的USB物理接口,并实现 该TCP端口与对应的USB物理接口之间的数据协议转换。此外,为了使用户能够获知TCP端口与USB物理接口之间的映射关系、以便于对 USB设备的管理,该方法可以支持用户配置TCP端口号与USB物理接口的丝印号之间的对应 关系,并依据用户配置的上述对应关系建立TCP端口与USB物理接口的映射关系。具体说,用户可先行观察其需要访问的USB设备所连接的USB物理接口上所刻印 的丝印号。然后,向应用该方法的装置输入其执行远程访问时需要使用的TCP端口号、以及 其观察到的丝印号之间的对应关系,该方法即可依据用户配置的上述对应关系、以及预先 设定的同一 USB物理接口的USB端口号与丝印号之间的对应关系,建立得到用户需要使用 的TCP端口的TCP端口号与用户需要访问的USB设备所连接的USB物理接口的USB端口号 之间的映射关系。与前文装置部分所述的同理,用户输入配置信息的方式有两种针对本地配置方式,该方法可以进一步具有一专用于接收配置信息的配置输入端 口,并利用配置输入端口接收所述配置信息。针对远程配置方式,该方法可以进一步预先设置预留TCP端口,并进一步接收PC 机访问预留TCP端口所发送的配置信息,即该方法将使用预留TCP端口的访问识别为配置 操作,并将使用预留TCP端口的访问所发送的信息识别为配置信息。此外,该方法还可以依据USB物理接口是否有设备插入来维护对应的TCP端口的 状态,具体说在每次建立上述映射关系之后,都会判断已建立的上述映射关系中的USB端口号 所对应的USB物理接口是否已有USB设备插入,并在该USB物理接口已有USB设备插入时 触发该USB物理接口所对应的TCP端口进入监听状态;其中,可以在建立上述映射关系后立 即执行检测、并依据即时的检测结果执行判断;或者,也可以依据此前在每次获知有USB设 备插入USB物理接口时进一步记录该USB物理接口的插入事件来执行判断,而且,在每次获 知有USB物理接口拔出USB设备时还应当删除已记录的该USB物理接口的插入事件;在每次获知有USB物理接口插入USB设备后,检查是否已建立有该USB物理接口 的上述映射关系,并在该USB物理接口已建立上述映射关系时依据上述映射关系触发该 USB物理接口所对应的TCP端口进入监听状态;也就是说,只要任一 USB物理接口同时满足插入有USB设备、以及建立有对应的映 射关系这两个条件,该方法就触发对应的TCP端口进入监听状态,但两个条件成立的先后 关系并不影响对应的TCP端口进入监听状态;还在每次获知有USB物理接口的USB设备拔出后,检查是否已建立有该USB物理 接口的上述映射关系,并在该USB物理接口已建立上述映射关系时依据上述映射关系触发 该USB物理接口所对应的TCP端口进入关闭状态。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保 护范围之内。
1权利要求
1.一种用于实现多用户访问USB设备的装置,其特征在于,所述装置具有可通过IP网 络被远程访问的IP网络接口、以及可连接USB设备的若干个USB物理接口,且,所述装置还 包括TCP驱动模块,用于提供若干个可被所述远程访问使用的TCP端口 ;USB驱动模块,用于驱动若干个USB物理接口 ;接口映射模块,建立并维护TCP端口的TCP端口号与USB物理接口的USB端口号之间 的映射关系;在所述远程访问以所述装置的IP地址为目的IP地址、以任一 TCP端口为目的 端口时,依据所述映射关系将该TCP端口映射至对应的USB物理接口,并实现该TCP端口与 对应的USB物理接口之间的数据协议转换。
2.如权利要求1所述的装置,其特征在于,所述接口映射模块中进一步设置有每一 USB物理接口的USB端口号与该USB物理接口 的丝印号之间的第一对应关系;所述接口映射模块进一步接收配置信息,所述配置信息中包含有TCP端口号与丝印号 之间的第二对应关系;依据所述第一对应关系和所述第二对应关系建立所述映射关系。
3.如权利要求2所述的装置,其特征在于,所述装置进一步具有一配置输入端口,所述 接口映射模块通过所述配置输入端口接收所述配置信息;或者,所述接口映射模块进一步 通过TCP驱动模块接收使用预留TCP端口发来的所述配置信息。
4.如权利要求2所述的装置,其特征在于,所述接口映射模块进一步在建立所述映射 关系之后,判断已建立的所述映射关系中的USB端口号所对应的USB物理接口是否有USB 设备插入、并在有USB设备插入时请求所述TCP驱动模块触发该USB物理接口所对应的TCP 端口进入监听状态。
5.如权利要求2所述的装置,其特征在于,所述接口映射模块进一步在获知任一USB物 理接口有USB设备插入后,检查是否已建立有该USB物理接口的所述映射关系、并在已建立 所述映射关系时请求所述TCP驱动模块触发该USB物理接口所对应的TCP端口进入监听状 态;在获知任一 USB物理接口有USB设备拔出后,检查是否已建立有该USB物理接口的所述 映射关系、并在已建立所述映射关系时请求所述TCP驱动模块触发该USB物理接口所对应 的TCP端口进入关闭状态。
6.如权利要求2所述的装置,其特征在于,所述接口映射模块进一步在建立所述映射关系之后,判断已建立的所述映射关系中的 USB端口号所对应的USB物理接口是否有USB设备插入、并在有USB设备插入时请求所述 TCP驱动模块触发该USB物理接口所对应的TCP端口进入监听状态;以及,所述接口映射模块进一步获知在任一 USB物理接口有USB设备插入后,检查是 否已建立有该USB物理接口的所述映射关系、并在已建立所述映射关系时请求所述TCP驱 动模块触发该USB物理接口所对应的TCP端口进入监听状态;在获知任一 USB物理接口有 USB设备拔出后,检查是否已建立有该USB物理接口的所述映射关系、并在已建立所述映射 关系时请求所述TCP驱动模块触发该USB物理接口所对应的TCP端口进入关闭状态。
7.如权利要求4或6所述的装置,其特征在于,所述接口映射模块进一步在获知有USB物理接口插入USB设备时记录该USB物理接口 的插入事件、在获知有USB物理接口拔出USB设备时删除已记录的该USB物理接口的插入事件;以及,所述接口映射模块进一步在建立所述映射关系之后依据记录的插入事件执行所 述判断。
8.一种用于实现多用户访问USB设备的方法,其特征在于,该方法应用于具有可通过 IP网络被远程访问的IP网络接口、以及可连接USB设备的若干个USB物理接口的装置中, 且,所述方法包括提供若干个可被所述远程访问使用的TCP端口、并驱动若干个USB物理接口 ;建立并维护TCP端口的TCP端口号与USB物理接口的USB端口号之间的映射关系;在所述远程访问以所述装置的IP地址为目的IP地址、以任一 TCP端口为目的端口时, 依据所述映射关系将该TCP端口映射至对应的USB物理接口,并实现该TCP端口与对应的 USB物理接口之间的数据协议转换。
9.如权利要求8所述的方法,其特征在于,所述方法进一步包括预先设置每一 USB物理接口的USB端口号与该USB物理接口的丝印号之间的第一对应 关系;接收配置信息,所述配置信息中包含有TCP端口号与丝印号之间的第二对应关系;依据所述第一对应关系和所述第二对应关系,建立所述映射关系。
10.如权利要求9所述的方法,其特征在于,所述方法进一步预先设置配置输入端口, 并进一步利用所述配置输入端口接收所述配置信息;或者,所述方法进一步预先设置预留 TCP端口,并进一步接收PC机使用预留TCP端口访问时发送的所述配置信息。
11.如权利要求9所述的方法,其特征在于,所述方法在建立所述映射关系之后进一步 包括判断已建立的所述映射关系中的USB端口号所对应的USB物理接口是否有USB设备 插入、并在有USB设备插入时触发该USB物理接口所对应的TCP端口进入监听状态。
12.如权利要求9所述的方法,其特征在于,所述方法在获知任一 USB物理接口有USB设备插入后进一步包括检查是否已建立有 该USB物理接口的所述映射关系、并在已建立所述映射关系时触发该USB物理接口所对应 的TCP端口进入监听状态;所述方法在获知任一 USB物理接口有USB设备拔出后进一步包括检查是否已建立有 该USB物理接口的所述映射关系、并在已建立所述映射关系时触发该USB物理接口所对应 的TCP端口进入关闭状态。
13.如权利要求9所述的方法,其特征在于,所述方法在建立所述映射关系之后进一步包括判断已建立的所述映射关系中的USB 端口号所对应的USB物理接口是否有USB设备插入、并在有USB设备插入时触发该USB物 理接口所对应的TCP端口进入监听状态;所述方法在获知任一 USB物理接口有USB设备插入后进一步包括检查是否已建立有 该USB物理接口的所述映射关系、并在已建立所述映射关系时触发该USB物理接口所对应 的TCP端口进入监听状态;所述方法在获知任一 USB物理接口有USB设备拔出后进一步包括检查是否已建立有 该USB物理接口的所述映射关系、并在已建立所述映射关系时触发该USB物理接口所对应 的TCP端口进入关闭状态。
14.如权利要求11或13所述的方法,其特征在于,所述方法在获知任一 USB物理接口有USB设备插入时进一步包括记录该USB物理接 口的插入事件;所述方法在获知任一 USB物理接口有USB设备拔出时进一步包括删除已记录的该 USB物理接口的插入事件;以及,所述方法在建立所述映射关系之后进一步依据记录的插入事件执行所述判断。
全文摘要
本发明公开了一种用于实现多用户访问USB设备的装置及方法。利用本发明,用户均可使用TCP端口实现跨IP网络的远程访问,并通过远程访问时所使用的TCP端口被映射在对应的USB物理接口,从而访问到连接对应USB物理接口的USB设备。由于同一个TCP端口号并不限于登录在同一台PC机的用户所使用,因而能够避免对USB设备的单USB主机访问限制,实现真正的多用户访问;而且,通过IP网络对USB设备的访问也避免了USB设备的空间位置局限性。此外,TCP端口与USB物理接口的映射关系可以依据用户配置的TCP端口号与USB物理接口的丝印号的对应关系而建立,便于对USB设备的管理。
文档编号H04L29/06GK102098309SQ20111004252
公开日2011年6月15日 申请日期2011年2月22日 优先权日2011年2月22日
发明者赵志宇, 邱文杰 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1