具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
参阅图1,图1是本申请处理USB接口信息的方法一实施例的流程图。本实施例的执行主体为具有至少两个USB接口的终端,或者能够通过USB扩展器扩展出至少两个USB接口的终端。终端可以为手机、电脑等具有USB接口的终端。本实施例中的处理USB接口信息的方法包括以下步骤:
S101:监测本机的USB接口是否连接终端,其中,所述USB接口的数量为至少两个。
终端正常工作后,监测本机所有的USB接口是否连接USB终端。其中,本机的USB接口的数量为至少两个,以便用户对USB终端进行批量操作。
本机可以轮询每个USB接口,也可以随机检测,此处不做限制,只要保证能监测本机所有的USB接口即可。
S102:当检测到任一所述USB接口连接终端时,获取连接终端的USB接口的关键字,其中,所述关键字与USB接口信息一一对应,所述USB接口信息为根据本机USB接口类唯一标识符预先获取的,所述唯一标识符为全球唯一标识符,每个终端的所述USB接口类对应一个全球唯一标识符。
当本机检测到其中任意一个USB接口连接USB终端时,获取连接终端的USB接口的关键字。
其中,关键字与USB接口信息一一对应,关键字用于标识USB接口本身的信息、特征,每个USB接口信息对应的关键字互不相同。USB接口信息是根据本机USB接口类唯一标识符预先获取的,唯一标识符为全球唯一标识符GUID,每个终端的USB接口类对应一个全球唯一标识符。唯一标示符包括GUID值、GUID类型、GUID描述符。
GUID值为本机USB接口类的唯一编号。GUID类型用于标识本机USB接口类中各接口的类型。GUID描述符用于标识部件本身的信息、特征,以使本机能够根据GUID描述符加载相应的USB接口类信息。
关键字可以为GUID描述符中的标识连接终端的USB接口的任意特征,只要是能够标识该接口,并且能够与其他接口区别开来即可。
S103:根据所述USB接口信息以及所述连接终端的USB接口的关键字确定连接终端的USB接口。
本机根据获取到的本机所有的USB接口信息以及连接终端的USB接口的关键字,获取与连接终端的USB接口的关键字相匹配的USB接口,从而确定连接终端的USB接口。
S104:通过所述连接终端的USB接口与所述终端通信,获取并保存所述终端的物理地址以及通信信息,以通过所述物理地址绑定所述终端与所述本机,其中,通信信息包括诊断口信息。
本机在确定连接终端的USB接口之后,通过该USB接口和与该接口连接的终端进行通信,获取并保存与该USB接口连接的终端的物理地址以及该USB接口连接的终端有关的通信信息,以通过获取到的物理地址将绑定本机以及与本机的USB接口连接的终端。
其中,物理地址用于查找该物理地址对应的终端。通信信息至少包括诊断口(DIAG)信息,诊断口用于传递USB信息,以使通过USB接口连接的本机以及终端能够进行信息交互。
由于终端的物理地址的唯一性,当连接本机的USB接口的终端经重启或插拔等操作使得DIAG发生变化时,本机也能通过物理地址找到该终端,并查询、获取该终端相关的通信信息,使得本机能够与连接本机的终端绑定成功。
可选的,连接本机的USB接口的终端的通信信息或其他信息可以与该终端的物理地址进行绑定,以使本机能够通过该终端的物理地址便可获取与该终端所有相关的信息,以便查找或更新本机内该终端的通信信息或其他信息,便于统一管理与维护。
上述方案,通过监测本机的USB接口是否连接终端,并在检测到任一所述USB接口连接终端时,获取连接终端的USB接口的关键字,根据USB接口信息以及连接终端的USB接口的关键字确定连接终端的USB接口,通过连接终端的USB接口与该终端通信,获取并保存该终端的物理地址以及通信信息,以通过物理地址绑定该终端与本机,能够自动识别并正确绑定连接的终端的USB接口信息,操作简单,提高USB终端设备之间的通信可靠性。
请参阅图2,图2是本申请处理USB接口信息的方法另一实施例的流程图。本实施例的执行主体为具有至少两个USB接口的终端,或者能够通过USB扩展器扩展出至少两个USB接口的终端。终端可以为手机、电脑等具有USB接口的终端。本实施例中的处理USB接口信息的方法包括以下步骤:
S201:监测本机的USB接口是否连接终端,其中,所述USB接口的数量为至少两个。
终端正常工作后,监测本机所有的USB接口是否连接USB终端。其中,本机的USB接口的数量为至少两个,以便用户对USB终端进行批量操作。
本机可以轮询每个USB接口,也可以随机检测,此处不做限制,只要保证能监测本机所有的USB接口即可。
S202:当检测到任一所述USB接口连接终端时,获取连接终端的USB接口的关键字,其中,所述关键字与USB接口信息一一对应,所述USB接口信息为根据本机USB接口类唯一标识符预先获取的,所述唯一标识符为全球唯一标识符,每个终端的所述USB接口类对应一个全球唯一标识符。
当本机检测到其中任意一个USB接口连接USB终端时,获取连接终端的USB接口的关键字。
其中,关键字与USB接口信息一一对应,关键字用于标识USB接口本身的信息、特征,每个USB接口信息对应的关键字互不相同。USB接口信息是根据本机USB接口类唯一标识符预先获取的,唯一标识符为全球唯一标识符GUID,每个终端USB接口类对应一个全球唯一标识符。唯一标示符包括GUID值、GUID类型、GUID描述符。
GUID值为本机USB接口类的唯一编号。GUID类型用于标识本机USB接口类中各接口的类型。GUID描述符用于标识部件本身的信息、特征,以使本机能够根据GUID描述符加载相应的USB接口类信息。
关键字可以为GUID描述符中的标识连接终端的USB接口的任意特征,只要是能够标识该接口,并且能够与其他接口区别开来即可。
S203:判断是否能够根据所述USB接口信息获取所有的所述USB接口的关键字。
本机判断是否能够根据USB信息获取本机中所有的USB接口的关键字。
当能够根据USB接口信息获取所有的USB接口的关键字时,执行步骤S204。
当无法根据USB接口信息获取所有的USB接口的关键字时,执行步骤S205。
S204:当能够根据所述USB接口信息获取所述所有的USB接口的关键字时,根据所述所有的USB接口的关键字以及所述连接终端的USB接口的关键字确定连接终端的USB接口。
当本机能够根据USB接口信息获取所有的USB接口的关键字时,根据所有的USB接口的关键字以及连接终端的USB接口的关键字,获取与连接终端的USB接口的关键字相匹配的USB接口,并确定该USB接口为连接终端的USB接口。
S205:当无法根据所述USB接口信息获取到所述所有的USB接口的关键字时,判断所述连接终端的USB接口是否为USB3.0协议的接口;当所述连接终端的USB接口为USB3.0协议的接口时,从所述本机的注册表中获取所述所有的USB接口的关键字,根据所述所有的USB接口的关键字以及所述连接终端的USB接口的关键字确定连接终端的USB接口。
当本机无法根据USB接口信息获取所有的USB接口的关键字时,判断连接终端的USB接口是否为USB3.0协议的接口。
当本机判断连接终端的USB接口不是USB3.0协议的接口时,不执行任何操作。
当本机判断连接终端的USB接口为USB3.0协议的接口时,从本机的注册表中获取所有的USB接口的关键字,根据所有的USB接口的关键字以及连接终端的USB接口的关键字,获取与连接终端的USB接口的关键字相匹配的USB接口,并确定该USB接口为连接终端的USB接口。
S206:通过所述连接终端的USB接口与所述终端通信,获取并保存所述终端的物理地址以及通信信息,以通过所述物理地址绑定所述终端与所述本机,其中,通信信息包括诊断口信息。
本机在确定连接终端的USB接口之后,通过该USB接口和与该接口连接的终端进行通信,获取并保存与该USB接口连接的终端的物理地址以及该USB接口连接的终端有关的通信信息,以通过获取到的物理地址将绑定本机以及与本机的USB接口连接的终端。
其中,物理地址用于查找该物理地址对应的终端。通信信息至少包括诊断口(DIAG)信息,诊断口用于传递USB信息,以使通过USB连接的本机以及终端能够进行信息交互。
其中,本机获取到连接USB接口的终端的物理地址后,绑定该终端的物理地址以及通信信息,以通过物理地址查找或更新通信信息。
例如,将连接本机的USB接口的终端的通信信息或其他信息与该终端的物理地址进行绑定,以使本机能够通过该终端的物理地址便可获取与该终端所有相关的信息,以便查找或更新本机内该终端的通信信息或其他信息,便于统一管理与维护。
由于终端的物理地址的唯一性,当连接本机的USB接口的终端经重启或插拔等操作使得DIAG发生变化时,本机也能通过物理地址找到该终端,并查询、获取该终端相关的通信信息,使得本机能够与连接本机的终端绑定成功。
S207:根据所述终端的物理地址监测所述终端的通信信息是否发生变化,当所述通信信息变化时,更新所述通信信息。
在本机与连接本机的USB接口的终端进行通信时,本机根据该终端的的物理地址获取该终端的通信信息,并监测该终端的通信信息是否发生变化。其中,当该终端与本机的连接状态发生改变时,该终端的通信信息会发生变化,从而可以通过监测通信信息是否发生变化来判断该终端与本机连接状态。当该终端与本机断开连接、重新建立连接时,该终端的通信信息均会发生变化。
当监测到通信信息变化时,更新该终端通信信息。否则,不做任何处理。
其中,更新该终端通信信息的方法为:根据通信信息发生变化的终端的物理地址查找与物理地址绑定的通信信息,并将变化的通信信息替换现有的通信信息。
例如,当本机监测到任一连接本机的终端的通信信息发生变化时,获取通信信息发生变化的终端的物理地址,并根据获取到的物理地址查找与该物理地址绑定的通信信息,将变化的通信信息替换现有的通信信息,并将变化的通信信息重新与该物理地址进行绑定。
上述方案,通过监测本机的USB接口是否连接终端,并在检测到任一所述USB接口连接终端时,获取连接终端的USB接口的关键字,根据USB接口信息以及连接终端的USB接口的关键字确定连接终端的USB接口,通过连接终端的USB接口与该终端通信,获取并保存该终端的物理地址以及通信信息,以通过物理地址绑定该终端与本机,能够自动识别并正确绑定连接的终端的USB接口信息,操作简单,提高USB终端设备之间的通信可靠性。
当监测到连接本机的终端的通信信息发生变化时,能够根据该终端的物理地址更新已绑定的通信信息。
请参阅图3,图3是本申请处理USB接口信息的终端一实施例的结构示意图。其中,终端具有至少两个USB接口,或者能够通过USB扩展器扩展出至少两个USB接口。终端可以为手机、电脑等具有USB接口的终端。本实施例中包含的各模块用于分别执行图1对应的实施例中的各步骤,具体请参阅图1对应的实施例中的相关描述,此处不赘述。本实施例的处理USB接口信息的终端包括监测模块310、获取模块320、确定模块330以及绑定模块340。
监测模块310用于监测本机的USB接口是否连接终端,其中,USB接口的数量为至少两个。比如,监测模块310监测本机的USB接口是否连接终端,其中,USB接口的数量为至少两个。监测模块310将监测结果发送给获取模块320。
获取模块320用于接收监测模块310发送的监测结果,当监测结果为检测到任一USB接口连接终端时,获取连接终端的USB接口的关键字,其中,关键字与USB接口信息一一对应,USB接口信息为根据本机USB接口类唯一标识符预先获取的,唯一标识符为全球唯一标识符,每个终端的USB接口类对应一个全球唯一标识符。
比如,获取模块320接收监测模块310发送的监测结果,当监测结果为检测到任一USB接口连接终端时,获取连接终端的USB接口的关键字,其中,关键字与USB接口信息一一对应,USB接口信息为根据本机所述USB接口类唯一标识符预先获取的,唯一标识符为全球唯一标识符,每个终端的USB接口类对应一个全球唯一标识符。获取模块320将获取到的连接终端的USB接口的关键字发送给确定模块330。
确定模块330用于接收获取模块320发送的连接终端的USB接口的关键字,根据USB接口信息以及连接终端的USB接口的关键字确定连接终端的USB接口。
比如,确定模块330接收获取模块320发送的连接终端的USB接口的关键字,根据USB接口信息以及连接终端的USB接口的关键字确定连接终端的USB接口。确定模块330将确定的连接终端的USB接口的信息发送给绑定模块340。
绑定模块340用于接收确定模块330发送的连接终端的USB接口的信息,通过连接终端的USB接口与终端通信,获取并保存终端的物理地址以及通信信息,以通过物理地址绑定终端与本机,其中,通信信息包括诊断口信息。
比如,绑定模块340接收确定模块330发送的连接终端的USB接口的信息,通过连接终端的USB接口与终端通信,获取并保存终端的物理地址以及通信信息,以通过物理地址绑定终端与本机,其中,通信信息包括诊断口信息。
上述方案,通过监测本机的USB接口是否连接终端,并在检测到任一所述USB接口连接终端时,获取连接终端的USB接口的关键字,根据USB接口信息以及连接终端的USB接口的关键字确定连接终端的USB接口,通过连接终端的USB接口与该终端通信,获取并保存该终端的物理地址以及通信信息,以通过物理地址绑定该终端与本机,能够自动识别并正确绑定连接的终端的USB接口信息,操作简单,提高USB终端设备之间的通信可靠性。
请参阅图4,图4是本申请处理USB接口信息的终端另一实施例的结构示意图。其中,终端具有至少两个USB接口,或者能够通过USB扩展器扩展出至少两个USB接口。终端可以为手机、电脑等具有USB接口的终端。本实施例中包含的各模块用于分别执行图2对应的实施例中的各步骤,具体请参阅图2对应的实施例中的相关描述,此处不赘述。本实施例的处理USB接口信息的终端包括监测模块310、获取模块320、判断模块330以及绑定模块340。其中,确定模块330包括判断单元331以及确定单元332。
监测模块310用于监测本机的USB接口是否连接终端,其中,USB接口的数量为至少两个。比如,监测模块310监测本机的USB接口是否连接终端,其中,USB接口的数量为至少两个。监测模块310将监测结果发送给获取模块320。
获取模块320用于接收监测模块310发送的监测结果,当监测结果为检测到任一USB接口连接终端时,获取连接终端的USB接口的关键字,其中,关键字与USB接口信息一一对应,USB接口信息为根据本机所述USB接口类唯一标识符预先获取的,唯一标识符为全球唯一标识符,每个终端的USB接口类对应一个全球唯一标识符。
比如,获取模块320接收监测模块310发送的监测结果,当监测结果为检测到任一USB接口连接终端时,获取连接终端的USB接口的关键字,其中,关键字与USB接口信息一一对应,USB接口信息为根据本机USB接口类唯一标识符预先获取的,唯一标识符为全球唯一标识符,每个终端的USB接口类对应一个全球唯一标识符。获取模块320将获取到的连接终端的USB接口的关键字发送给确定模块330。
确定模块330用于接收获取模块320发送的连接终端的USB接口的关键字,根据USB接口信息以及连接终端的USB接口的关键字确定连接终端的USB接口。
其中,判断单元331用于接收连接终端的USB接口的关键字,判断是否能够根据USB接口信息获取所有的USB接口的关键字。判断单元331将判断结果发送给确定单元332。
确定单元332用于接收判断单元331发送的判断结果,当判断结果为能够根据USB接口信息获取所有的USB接口的关键字时,根据所有的USB接口的关键字以及连接终端的USB接口的关键字确定连接终端的USB接口。
确定单元332还用于当判断结果为无法根据USB接口信息获取到所有的USB接口的关键字时,判断连接终端的USB接口是否为USB3.0协议的接口;当连接终端的USB接口为USB3.0协议的接口时,从本机的注册表中获取所有的USB接口的关键字,根据所有的USB接口的关键字以及连接终端的USB接口的关键字确定连接终端的USB接口。
比如,确定模块330接收获取模块320发送的连接终端的USB接口的关键字,根据USB接口信息以及连接终端的USB接口的关键字确定连接终端的USB接口。
其中,判断单元331接收连接终端的USB接口的关键字,判断是否能够根据USB接口信息获取所有的USB接口的关键字。判断单元331将判断结果发送给确定单元332。
确定单元332接收判断单元331发送的判断结果,当判断结果为能够根据USB接口信息获取所有的USB接口的关键字时,根据所有的USB接口的关键字以及连接终端的USB接口的关键字确定连接终端的USB接口。
确定单元332还用于当判断结果为无法根据USB接口信息获取到所有的USB接口的关键字时,判断连接终端的USB接口是否为USB3.0协议的接口;当连接终端的USB接口为USB3.0协议的接口时,从本机的注册表中获取所有的USB接口的关键字,根据所有的USB接口的关键字以及连接终端的USB接口的关键字确定连接终端的USB接口。
确定单元332将确定的连接终端的USB接口的信息发送给绑定模块340。
绑定模块340用于接收确定单元332发送的连接终端的USB接口的信息,通过连接终端的USB接口与终端通信,获取并保存终端的物理地址以及通信信息,以通过物理地址绑定终端与本机,其中,通信信息包括诊断口信息。
比如,绑定模块340接收确定模块330发送的连接终端的USB接口的信息,通过连接终端的USB接口与终端通信,获取并保存终端的物理地址以及通信信息,以通过物理地址绑定终端与本机,其中,通信信息包括诊断口信息。
绑定模块340还用于绑定终端的物理地址以及通信信息,以通过物理地址查找或更新通信信息。比如,绑定模块340绑定终端的物理地址以及通信信息,以通过物理地址查找或更新通信信息。
绑定模块340还用于根据终端的物理地址监测终端的通信信息是否发生变化,当终端的通信信息变化时,更新通信信息。比如,绑定模块340根据终端的物理地址监测终端的通信信息是否发生变化,当终端的通信信息变化时,更新通信信息。
上述方案,通过监测本机的USB接口是否连接终端,并在检测到任一所述USB接口连接终端时,获取连接终端的USB接口的关键字,根据USB接口信息以及连接终端的USB接口的关键字确定连接终端的USB接口,通过连接终端的USB接口与该终端通信,获取并保存该终端的物理地址以及通信信息,以通过物理地址绑定该终端与本机,能够自动识别并正确绑定连接的终端的USB接口信息,操作简单,提高USB终端设备之间的通信可靠性。
当监测到连接本机的终端的通信信息发生变化时,能够根据该终端的物理地址更新已绑定的通信信息。
以上描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。