CN110568946A - 一种端口控制方法、设备及介质 - Google Patents
一种端口控制方法、设备及介质 Download PDFInfo
- Publication number
- CN110568946A CN110568946A CN201910825071.8A CN201910825071A CN110568946A CN 110568946 A CN110568946 A CN 110568946A CN 201910825071 A CN201910825071 A CN 201910825071A CN 110568946 A CN110568946 A CN 110568946A
- Authority
- CN
- China
- Prior art keywords
- target
- port
- usb
- equipment
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4081—Live connection to bus, e.g. hot-plugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
Abstract
本申请实施例公开了一种端口控制方法、设备及介质,其中方法包括:获取目标设备的设备信息;根据所述设备信息确定所述目标设备的连接信息,所述连接信息包括所述目标设备对应的目标USB集线器的标识和目标USB端口的标识;根据所述目标USB集线器的标识向所述目标USB集线器对应的控制设备发送端口控制指令,所述端口控制指令用于指示所述控制设备根据所述目标USB端口的标识对应的电子开关对所述目标USB端口进行开关处理。采用本申请实施例,有助于提升对设备的连接控制效率,并减少人工成本。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种端口控制方法、设备及介质。
背景技术
目前存在很多需要对USB设备如手机进行插拔的场景,以根据需要对USB设备进行连接控制。例如,在对手机的性能测试场景中,需要通过USB将手机接插在PC机上,以实现手机和PC机的连接,并进行测试准备。而在测试过程中,需要让手机独立运行,不能将手机接插在PC机上,而要断开手机和PC机的连接,否则会影响性能测试结果。目前对USB设备的连接控制如性能测试过程中的连接控制都是通过人工进行USB插拔操作,以实现手机和PC机的连接或断开连接,对手机等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自动通断控制,实现连接设备和上位机之间的连接或断开连接,这就有助于提升对设备的连接控制效率,并减少人工成本。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中的附图作简单地介绍。
图1是本申请实施例提供的一种系统架构图;
图2a是本申请实施例提供的另一种系统架构图;
图2b是本申请实施例提供的又一种系统架构图;
图2c是本申请实施例提供的又一种系统架构图;
图2d是本申请实施例提供的又一种系统架构图;
图3是本申请实施例提供的一种电子开关的结构示意图;
图4是本申请实施例提供的一种端口控制方法的流程示意图;
图5是本申请实施例提供的另一种端口控制方法的流程示意图;
图6是本申请实施例提供的一种端口控制方法的交互示意图;
图7是本申请实施例提供的一种端口控制装置的结构示意图;
图8是本申请实施例提供的一种端口控制设备的结构示意图;
图9是本申请实施例提供的另一种端口控制装置的结构示意图;
图10是本申请实施例提供的另一种端口控制设备的结构示意图。
具体实施方式
在本申请实施例中,对于需要对连接USB的连接设备进行连接控制的场景,本申请可以通过向对应的USB控制设备发送指令如端口控制指令,使得USB控制设备能够根据该端口控制指令对对应的USB端口进行开关处理,以实现USB自动通断,实现设备间基于USB的连接控制。下面结合本申请的架构进行描述。
请参见图1,是本申请实施例提供的一种系统架构图。如图1所示,该系统可包括上位机、USB集线器、控制设备、电子开关和至少一个连接设备,该上位机和各连接设备可以通过USB(如该USB集线器)进行连接。其中,该USB集线器、控制设备、电子开关可集成于一个设备中,比如集成于USB控制设备中,该USB控制设备具有该USB集线器、控制设备和电子开关的功能;或者,该USB集线器、控制设备、电子开关也可以独立存在;或者,该控制设备和电子开关集成,USB集线器独立存在,等等,本申请不做限定。在本申请中,上位机可通过USB集线器向控制设备发送端口控制指令,以使控制设备通过电子开关对相应的USB端口进行开关处理,实现USB自动通断,以实现上位机和连接设备的连接或断开连接。在一些实施例中,该系统还可包括通信转换模块,其中,该通信转换模块可用于对该端口控制指令进行协议转换,该协议转换包括将支持USB协议的端口控制指令转换为支持串行传输协议的端口控制指令。该通信转换模块可独立于上述的设备(器件),或者,该通信转换模块可集成于该USB控制设备中,或者,该通信转换模块可集成于该USB集线器或控制设备中,本申请不做限定。从而USB集线器可通过将该端口控制指令发送给通信转换模块,以使通信转换模块对该端口控制指令进行协议转换后再发送给控制设备,以便于控制设备快速解析出该端口控制指令。可以理解,该控制设备还可通过其他方式解析出该端口控制指令。
在本申请中,上位机可以是指发出操控命令如上述的端口控制指令的设备,比如为PC机(如用于控制嵌入式设备等的PC机)、主机、服务器、计算机等等。USB集线器可以为USB HUB,或者称为或包括USB集线器控制(Controller)芯片、USB HUB Controller芯片等等,其能够实现将一路USB拓展为多路USB端口(接口、通道);该USB集线器可以根据需要多级级联,以达到更多的拓展目的,扩展出更多的USB端口。例如,该USB集线器可以为FE1.1SUSB 2.0HIGH SPEED 4-PORT HUB CONTROLLER,其为一种将一个USB接口拓展为4路USB端口的芯片,可以理解,该USB集线器还可以为其他结构或者包括其他数目的USB端口,此处不一一列举。控制设备可以指具有一定控制和处理能力的设备,在一些实施例中,其可用于嵌入系统设计,如为微控制单元(Microcontroller Unit,MCU),单片机(如具体为意法半导体生产的STM32单片机)等等;该控制设备具有一定的代码存储能力、代码运行能力、内存存储能力,以及IO(输入输出,也可记为I/O)能力;在一些实施例中,该控制设备还可叫做控制芯片、控制器等等,本申请不做限定。通信转换模块可以是指一种可以实现USB协议与串行传输协议转换的芯片,其可借助驱动程序在上位机系统上模拟出串口设备;在本申请中,可以通过该通信转换模块,实现上位机与控制设备如单片机之间的通信;该通信转换模块还可叫做传输模块、通信转换芯片等等,本申请不做限定。电子开关可以用于实现对USB端口的开关处理,控制USB端口的接通和断开,即实现连接设备和上位机建立连接和断开连接;比如其可以通过控制设备的I/O信号,控制连接在电子开关上两个引脚之间的接通与断开,实现USB自动通断,其具有一定的过电流能力;该电子开关还可叫做开关、开关芯片、开关阵列、电子开关芯片等等。连接设备可通过USB端口与上位机连接,比如该连接设备可以为终端如手机(Android手机、iOS手机等)、存储设备如U盘等等,该连接设备还可叫做USB设备、外接设备等等,本申请不做限定。
可以理解,在可能的设计中,该USB集线器可以是USB连接线或者USB端口,其可以仅支持一个连接设备与上位机连接,即连接设备可通过该USB连接线或USB端口与上位机进行连接。
请参见图2a,是本申请实施例提供的另一种系统架构图。如图2a所示,该USB集线器、控制设备、电子开关可集成于USB控制设备中,该USB控制设备还可集成有上述的通信转换模块。该USB控制设备集成了自动通断功能。通过该USB控制设备设计,将控制设备对应的嵌入式系统与USB集线器等集成为一体,使得在设计的硬件设备上,能够提供多路USB端口,以实现连接多个连接设备,有助于节约设备成本,并能够基于该系统自动匹配USB端口实现USB通断控制。其中,USB控制设备是控制连接设备如手机与上位机如本地计算机之间的连接和断开连接的一个设备,连接设备通过USB线,连接到USB控制设备对应的USB端口,USB控制设备通过USB线与上位机连接,该USB控制设备实现了USB集线器的功能,并能够针对来自上位机的命令如端口控制指令,进行端口控制指令的传输,以控制USB端口的通断。
请结合图2a,一并参见图2b,是本申请实施例提供的又一种系统架构图。如图2b所示,该系统可包括上位机、USB集线器如USB HUB、通信转换模块、控制设备如嵌入式智能控制器、电子开关和N个连接设备,该USB HUB、通信转换模块、控制设备、电子开关可以集成为USB控制设备。其中,USBHUB可以包括USB HUB Controller及周边电路,其可以拓展出N+1个USB端口(PORT),比如分别为0到N号USB端口。该0号USB端口(USB PORT-0)可以与通信转换模块连接,其余N个端口可以作为拓展的USB端口与连接设备连接,USB HOST端口(主端口)可以和上位机连接。在一些实施例中,通信转换模块可包括USB端口和串行通信端口如USART串行通信端口,控制设备可包括串行I/O接口,通信转换模块的USB端口可以与USBHUB的USB PORT-0端口连接,另一端的USART串行通信端口可以与控制设备的串行I/O端口连接。电子开关可用于控制USB端口的通断,比如其可通过USB电气特性实现,通过控制电平变化实现对应的USB端口的通断。
请参见图2c,是本申请实施例提供的又一种系统架构图。如图2c所示,该USB集线器、控制设备、电子开关可独立设置,该系统还可包括通信转换模块,该通信转换模块可独立设置,也可以设置于该USB集线器或控制设备中。连接设备可通过USB线,连接到USB集线器对应的USB端口,USB集线器通过USB线与上位机连接,该USB集线器能够针对来自上位机的命令如端口控制指令,进行端口控制指令的传输,比如将端口控制指令传输给通信转换模块,由通信转换模块传输给控制设备,以通过电子开关控制USB端口的通断。从而能够基于该系统自动匹配USB端口实现USB通断控制。进一步的,请结合图2c,一并参见图2d,是本申请实施例提供的又一种系统架构图。如图2d所示,该系统可包括上位机、USB集线器如USBHUB、通信转换模块、控制设备如单片机、电子开关和N个连接设备,各设备或模块可独立设置。各设备或模块的描述请参照上述相关描述,此处不赘述。
请一并参见图3,是本申请实施例提供的一种电子开关的结构示意图。如图3所示,以USB2.0为例,在USB电气特性中,USB2.0包含4根线缆。电子开关的开关两端,可以串在USB线缆的VCC线上,该开关可以由控制设备如嵌入式智能控制器的一个已知I/O口进行控制,通过电子开关控制VCC线的电平变化实现对应的USB端口的通断控制。在上述的电气连接方式中,该电子开关可以和USB端口一一对应,以快速实现USB通断控制,提升控制效率和可靠性。例如,控制设备的I/O-1控制串接在USB PORT-1的USB线缆VCC线路中,I/O-2控制串接在USB PORT-2的USB线缆VCC线路中,以此类推,I/O-N控制串接在USB PORT-N的USB线缆VCC线路中。本申请能够利用电子开关完成电路的接入与断开,从而实现USB的自动通断。可以理解,图3的结构仅是作为一种示例,比如其可以表示USB2.0线缆示例,在实际使用中,还可以使用其他的线缆结构来实现开关控制,本申请不做限定。
本申请的技术方案可应用于各种需要对连接USB的连接设备进行连接控制的场景,比如可包括对连接设备如终端的测试场景、针对连接设备如U盘的使用场景等等。
例如,本申请可应用于测试场景,比如移动测试,具体可以是性能测试。其中,该移动测试可以是指对移动设备上的应用采用自动化方案进行测试的技术,通常可以将待测试应用运行在多种移动设备上,以测试该应用在不同设备上的兼容性。具体可通过搭建移动设备如上述的连接设备+自动化运行平台如PC机的方式进行,即将连接设备如Android手机通过USB接在PC机上,并在PC机上运行自动化测试框架和脚本,完成自动化测试。而性能测试可以是指通过运行被测试应用,并借助HOOK应用底层接口、借助操作系统API等手段,获取应用运行时的性能数据,该性能数据可以包括实时功耗、内存占用数据、CPU占用数据、网络流量数据、GPU占用数据等等,以便于根据获取到的性能数据对应用的运行状态进行分析和优化,进而达到降低功耗、提高流畅度目的等等。
在移动测试中,用户可通过移动测试服务商提供的平台即测试平台(可以为Web平台),选择需要测试的目标机型,并上传自动化测试脚本。测试平台将会根据机型和测试脚本,将测试脚本分发到接入了用户指定机型的PC机上,并由PC机上的服务程序运行该测试脚本以实现测试。在移动测试中,性能测试是用户常用的一种测试类型,在测试平台如WeTest云测平台的性能测试中,需要将终端如手机中途隔离。目前的测试是通过USB连接方式,将手机接入到PC机。具体的,在性能测试开始阶段,需要通过USB将手机与PC机连接,以实现手机和PC机的连接,并进行测试准备。而在测试过程中,需要让手机独立运行,以保持手机使用场景与实际使用场景一致,因此需要断开手机和PC机的连接,让手机独立运行,保证手机USB处于无电气连接的隔离状态,否则将会对手机产生状态影响,包括对插入USB后的充电模式带来的影响,后台USB服务运行所消耗的资源带来性能测试偏差等等。目前对USB设备的连接控制都是通过人工进行USB插拔操作,包括在性能测试开始阶段通过USB将手机插接于PC机,在测试过程中,将测试脚本运行起来之后,拔出手机与PC连接的USB线缆等等,以实现手机和PC机的连接或断开连接等,该人工操作方式对手机等连接设备的连接控制效率低,且增加了人工成本。而本申请能够通过自动匹配出USB端口,对匹配出的USB端口进行开关处理实现自动控制USB通断,从而在性能测试过程中控制手机与PC机之间的连接或断开连接,从而实现自动化性能测试,这就有助于提升对设备的连接控制效率,提升性能测试效率,并减少人工成本,且能够使用云端手机,实现性能测试云端化,并解决了性能测试则无法实现设备共享,可能需要与机房协调借出特殊机型的手机的问题,实现了Android千余种机型的设备共享。
又如,本申请的技术方案可应用于连接设备的使用场景。以连接设备为U盘、上位机为个人电脑为例(上述的USB集线器、控制设备、电子开关等可配置于该个人电脑中,或者独立配置),用户可预先在个人电脑上设置对该U盘的端口控制指令(如开启指示或关断指示)以及该端口控制指令的触发条件,以便于在满足端口控制指令的触发条件时触发该端口控制指令,实现对USB自动通断。例如,可按照插入U盘的时长来设置触发条件1,并将该触发条件1与端口控制指令如关断指示关联,如插入U盘的时长达到10分钟,确定满足触发条件1,即可触发该设置的关断指示,控制断开该U盘和个人电脑的连接,以确保U盘数据安全,提升安全性。又如,可根据在U盘拷贝完数据的时长来设置触发条件2,并将该触发条件2和端口控制指令如关断指示关联,如拷贝完某一文件的时长达到5分钟,且该五分钟对U盘无任何操作,可确定满足触发条件2,进而可触发该关断指示,控制断开该U盘和个人电脑的连接。又如,可根据对个人电脑上的文件的特定操作指令和打开可移动存储设备的界面的操作指令来设置触发条件3,并将触发条件3与端口控制指令如开启指示关联,该特定操作可以是复制操作指令或剪切操作指令,如在检测到对前脑上的文件的复制操作指令且在预设时间范围如20秒内检测到打开该可移动存储设备的界面的操作指令,即可确定满足触发条件3,进而可触发该开启指示,控制该U盘和个人电脑建立连接,以便于用户对该U盘进行操作。
请参见图4是本申请实施例的一种端口控制方法的流程示意图,该端口控制方法可应用于上述的端口控制设备如上位机中。如图4所示,本实施例的端口控制方法包括以下步骤:
401、获取目标设备的设备信息。
在本申请中,该设备信息可以包括设备标识,用于标识该设备的身份,如该设备标识可以为USB串号、设备识别码等等。比如设备如Android手机可以通过USB连接到计算机中,并以USB设备的形式挂在到操作系统中,设备的USB串号可以是指其作为USB SlaveDevice所具有的USB设备特征属性值。在计算机系统内,设备的USB串号都是唯一的,因此可以通过USB串号进行设备间的区分。
针对计算机系统,如Windows、Linux内核系统(Ubuntu等)、MAC OS系统等等,所有接口都满足接口标准,所接入的设备同样也满足对应接口标准,操作系统会根据各类接口标准中所提供的方式,获取所接入设备的信息,并在操作系统中建立设备信息管理。通过操作系统提供的API接口,能够获取到设备的设备信息如上述的USB串号,以用于识别与区分设备。
在一些实施例中,该设备信息还可包括设备的厂商信息、机型信息等等,本申请不做限定。
在一些实施例中,上位机可在需要对某一连接设备如上述的目标设备进行连接控制时,触发获取该目标设备的设备信息。比如上位机可在接收到其他模块或设备的操作请求(该请求可以包括设备信息如设备的串号,还可用于指示断开连接或建立连接等等)时,又如可在连接情况满足预设条件(比如连接时长超过预设时间阈值未获取到该目标设备的任何数据等等)时,触发获取该目标设备的设备信息以实现对该目标设备的连接控制。
例如,在一些实施例中,可预先建立网络监听端口,从而上位机可通过该监听端口接收来自其他模块或设备针对连接设备的连接控制的操作请求;又如,在性能测试场景,上位机可根据性能测试脚本触发获取该目标设备的设备信息,比如性能测试脚本开始运行时或运行之前的1分钟触发获取该设备信息。
402、根据该设备信息确定该目标设备的连接信息,该连接信息包括该目标设备对应的目标USB集线器的标识和该目标设备在该目标USB集线器对应的目标USB端口的标识。
在本申请中,针对计算机系统,如Windows、Linux内核系统(Ubuntu等)、MAC OS系统等,操作系统可以对接入系统的所有设备建立系统设备树,以表示接入设备所接入的接口、设备层级关系和设备连接关系等等。根据该系统设备树,能够获取到上位机上所有接入的设备的拓扑结构。
在一些实施例中,上位机在确定该目标设备的连接信息时,可以通过获取系统设备树,根据该设备信息遍历该系统设备树,以确定该目标设备的连接信息。其中,该系统设备树包括至少一个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 HUB的USB端口的关系。
进一步的,在一些实施例中,如果该共享存储区的系统设备树中存在与该操作系统的系统设备树中连接关系不同的第二节点,根据该操作系统的系统设备树中该第二节点的连接关系更新该共享存储区的系统设备树中该第二节点的连接关系。
也就是说,上位机可通过将共享存储区的系统设备树和操作系统读取的系统设备树进行对比,比如从根节点开始对比,依次读取操作系统的系统设备树的节点信息,逐个与共享存储区系统设备树的节点信息进行对比。若共享存储区系统设备树对应的节点无设备,操作系统读取的系统设备树对应的节点有设备,则可以将从操作系统的系统设备树的该节点的信息更新到共享存储区系统设备树的该节点,如果该节点有子节点,还可将所有子节点信息更新到共享存储区的系统设备树。若共享存储区系统设备树对应的某一节点存在设备,操作系统读取的系统设备树对应的节点存在设备,但存在的设备(或信息)不同,则可通过操作系统读取的系统设备树更新共享存储区的系统设备树,以使该共享存储区的系统设备树保持最新。该共享存储区的系统设备树可能包括操作系统的系统操作树所没有的节点或连接关系,即操作系统系统设备树是共享存储区的系统设备树的子集合。比如该共享存储区的系统设备树相对于操作系统的系统设备树,可能多了已经离线(断开了连接)的节点设备(USB集线器、连接设备等)的信息,这些信息为历史信息,通过历史信息,可以快速确定连接断开但实际并未移除的节点设备,基于此可用于恢复连接时获取对应设备USB端口等相关信息时实现连接快速恢复等。从而有助于提升连接控制的效率和可靠性。
403、根据该目标USB集线器的标识向该目标USB集线器对应的控制设备发送端口控制指令,该端口控制指令包括该目标USB端口的标识,该端口控制指令用于指示该控制设备根据该目标USB端口的标识对应的电子开关对该目标USB端口进行开关处理。
其中,该开关处理包括通过该目标USB端口与该目标设备建立连接或断开连接。
在一些实施例中,根据该目标USB集线器的标识向该目标USB集线器对应的控制设备发送端口控制指令,可以是指上位机根据该目标USB集线器的标识确定该目标USB集线器,进而向该目标USB集线器发送端口控制指令,以便于该USB集线器向控制设备发送(如通过通信转换模块向该控制设备发送)该端口控制指令;如果该目标集线器及其对应的通信转换模块、控制设备、电子开关为集成于一体的USB控制设备,则还可以是指上位机根据该目标USB集线器的标识确定该USB控制设备,并该USB控制设备(中的USB集线器)发送该端口控制信息,以便于通过内部传输将该端口控制指令发送给控制设备,此处不赘述。
在一些实施例中,该端口控制指令还可包括对该目标USB端口的开关指示,该开关指示包括开启指示或关断指示。其中,该开启指示可用于指示通过该目标USB端口与该目标设备建立连接,该关断指示可用于指示通过该目标USB端口与该目标设备断开连接。以便于控制设备可根据具体的开关指示控制对应的电子开关对该目标USB端口进行开关处理,以提升控制效率。
在本申请实施例中,上位机能够根据目标设备的设备信息确定其连接信息,根据该连接信息包括的目标USB集线器的标识向对应的控制设备发送端口控制指令,以便于控制设备通过对应的电子开关对该目标USB端口进行开关处理,以实现该目标USB端口的自动通断,实现连接设备和上位机之间的连接或断开连接,这就有助于提升对设备的连接控制效率,并减少人工成本。
请参见图5,是本申请实施例的另一种端口控制方法的流程示意图,该端口控制方法可应用于上述的端口控制设备如USB控制设备、USB集线器或控制设备中,下面以USB控制设备为例进行说明。如图5所示,本实施例的端口控制方法包括以下步骤:
501、接收上位机发送的端口控制指令,该端口控制指令包括目标设备对应的目标USB端口的标识,该端口控制指令可用于指示对该目标USB端口的标识对应的目标USB端口进行开关处理。
在一些实施例中,该端口控制指令还可包括对该目标USB端口的开关指示,该开关指示可以为开启指示或关断指示,此处不赘述。
502、根据目标USB端口的标识确定与该目标USB端口对应的电子开关。
其中,该USB端口可以和该电子开关一一对应,比如可预先设置得到USB端口的标识和电子开关的标识的对应关系;该电子开关可以和控制设备的输入输出端口即I/O口一一对应,如可预先设置得到电子开关的标识和I/O口的对应关系,或者预先设置得到USB端口的标识、电子开关的标识、I/O口三者之间的对应关系等等。
503、利用该电子开关对该目标USB端口进行开关处理,该开关处理可包括通过该目标USB端口控制该目标设备与该上位机建立连接或断开连接。
在一些实施例中,该方法可应用于该目标设备对应的USB控制设备,该USB控制设备包括该目标设备对应的目标USB集线器、通信转换模块和控制设备。USB控制设备在接收上位机发送的端口控制指令时,可以是通过USB集线器接收上位机发送的端口控制指令,并由USB集线器将该端口控制指令发送给通信转换模块进行协议转换,进而将协议转换后的端口控制指令发送给控制设备,以便于控制设备利用该目标USB端口对应的电子开关对该目标USB端口进行开关处理,即进行连接控制。
在一些实施例中,USB控制设备在利用该电子开关对该目标USB端口进行开关处理时,可以通过确定该电子开关对应的目标输入输出端口即I/O口,并控制该目标I/O口输出与该端口控制指令对应的电平,通过输出的电平控制该电子开关对该目标USB端口进行开关处理。通过前述的电子开关设计的方式,可以通过目标USB端口的标识确定控制设备控制该目标USB端口的电子开关所对应的I/O口(引脚),进而可通过控制该引脚输出高电平或低电平,以达到控制电子开关的电气通断,实现对该目标USB端口的通断控制。例如,该引脚输出低电平时,表明开启(接通)该电子开关,实现该目标USB端口的连通;该引脚输出高电平时,表明关闭该电子开关,实现该目标USB端口的关断。具体的电平控制方式可根据电气特性和电子开关的连接结构预先设置得到,本申请不做限定。
例如,如果该端口控制指令为开启指示,则可连通该目标USB端口,以使目标设备与上位机通过该目标USB端口建立连接;如果该端口控制指令为关断指示,则可关断该目标USB端口,以使目标设备与上位机通过该目标USB端口断开连接。又如,如果端口控制指令没有携带开关指示,且目标USB处于连通状态,则可关断该目标USB端口,以使目标设备与上位机通过该目标USB端口断开连接;如果端口控制指令没有携带开关指示,且目标USB处于关断状态,则可连通该目标USB端口,以使目标设备与上位机通过该目标USB端口建立连接。
在本申请实施例中,端口控制设备如USB控制设备可在接收到上位机发送的端口控制指令时,通过与该端口控制指令包括的目标USB端口对应的电子开关对该目标USB端口进行开关处理,以实现对该目标USB端口的自动通断控制,进而实现连接设备和上位机之间的连接或断开连接,这就有助于提升对设备的连接控制效率,并减少人工成本。
请参见图6,是本申请实施例的一种端口控制方法的交互示意图。如图6所示,本实施例的端口控制方法包括以下步骤:
601、上位机获取目标设备的设备信息。
例如,该设备信息可以包括目标设备的USB串号。图6中未示出包括目标设备在内的连接设备示例。
602、上位机根据该设备信息遍历系统设备树,以确定该目标设备对应的目标USB集线器的标识和目标USB端口的标识。
其中,该目标USB端口的标识可以是指该目标USB集线器上为该目标设备分配的USB端口,比如为该目标设备当前连接的USB端口,或者可以是上一次连接的USB端口(当前可处于关断状态)。
603、上位机根据该目标USB集线器的标识向该目标USB集线器发送端口控制指令。
其中,该端口控制指令可包括该目标USB端口的标识,该端口控制指令可用于指示控制设备根据该目标USB端口的标识对应的电子开关对该目标USB端口进行开关处理。
604、目标USB集线器向通信转换模块发送端口控制指令。
该目标USB集线器可接收来自上位机的端口控制指令,该端口控制指令为为支持USB协议的指令转换。进而该目标USB集线器可通过向对应的通信转换模块发送该端口控制指令,以便于通信转换模块对该端口控制指令进行协议转换。
605、通信转换模块对端口控制指令进行协议转换。
606、通信转换模块对端口控制指令进行协议转换后,向控制设备发送端口控制指令。
该通信转换模块可以将该端口控制指令转换为支持串行传输协议的指令,进而可将协议转换后的端口控制指令发送给控制设备,以便于实现对该目标USB端口的通断控制。
607、控制设备根据目标USB端口的标识确定对应的电子开关,利用该电子开关对该目标USB端口进行开关处理。
该开关处理可包括通过该目标USB端口控制该目标设备与该上位机建立连接或断开连接,此处不赘述。
其中,该USB集线器、通信转换模块、控制设备、电子开关可以即集成于一个设备中,如图中虚线框所示;或者,该USB集线器、通信转换模块、控制设备、电子开关,本实施例不做限定。
具体的,控制设备上电启动后,可初始化所有I/O输出,将输出设置为电子开关接通电平状态(例如,本申请所设计硬件中,可以是输出低电平为电子开关接通状态),并可初始化串行通信I/O口。控制设备等待接收通信转换模块的指令,如果接收到通信转换模块的指令,解析其中的USB端口号和具体操作,根据端口号和具体操作,对对应的I/O引脚进行控制输出,实现对对应电子开关的开关控制。完成操作后,可等到接收新的指令。
可选的,本申请所设计的通信协议可以为单字节协议,比如8bit为一组,其为通信转换模块最小读取单元。单字节的最高位低7bit位:0表示断开操作,1表示连接操作,低7位0-6bit位:表示了通道编号。从而本申请的USB集线器如USB HUB可以最大支持127个USB通道。但实际上一般USB HUB多设计支持4、7、10、20个通道,因为过多通道将会降低USB单个子通道的传输速率。
可选的,该端口控制指令还可包括对该目标USB端口的开关指示,该开关指示可以为开启指示或关断指示,从而控制设备可根据该开关指示进行开关处理,以实现连接控制,从而提升了控制效率,此处不赘述。
在一些实施例中,上位机还可通过确定该目标设备对应的通信转换模块的标识或控制设备的标识等,直接向该该目标设备对应的通信转换模块或控制设备发送端口控制指令,以实现对该目标设备和上位机的连接控制。
在本实施例中,能够根据系统设备树的拓扑关系,通过结合嵌入式与电子开关技术,实现了自动匹配端口,根据上位机的端口控制指令实现USB自动通断,使得无需人工配置,就可以自动确定需要进行连接控制的目标设备的位置,进而针对该目标设备的USB端口实施连接或断开操作,降低了人工配置的复杂度和人工成本,且提升了对设备的连接控制效率和便捷性。
基于上述端口控制方法实施例的描述,本发明实施例还公开了一种端口控制装置,该端口控制装置可以是运行于端口控制设备如上位机中的一个计算机程序(包括程序代码/程序指令)。例如,该端口控制装置可以执行图4、图5或图6所示的方法。请参见图7,该端口控制装置700可以运行如下单元:
处理单元701,用于获取目标设备的设备信息;
处理单元701,还用于根据该设备信息确定该目标设备的连接信息,该连接信息包括该目标设备对应的目标USB集线器的标识和该目标设备在该目标USB集线器对应的目标USB端口的标识;
通信单元702,用于根据该目标USB集线器的标识向该目标USB集线器对应的控制设备发送端口控制指令,该端口控制指令包括该目标USB端口的标识,该端口控制指令用于指示该控制设备根据该目标USB端口的标识对应的电子开关对该目标USB端口进行开关处理;其中,该开关处理包括通过该目标USB端口与该目标设备建立连接或断开连接。
在一些实施例中,处理单元701在根据该设备信息确定该目标设备的连接信息时,可具体用于:获取系统设备树,该系统设备树包括至少一个USB集线器的标识以及每个USB集线器的连接设备的信息,该连接设备的信息包括连接设备对应的USB端口的标识和连接设备的设备信息,该目标设备为该连接设备中的任一个;根据该设备信息遍历该系统设备树,以确定目标设备的连接信息。
在一些实施例中,该系统设备树存储于共享存储区;
处理单元701,还可用于从操作系统中读取系统设备树,并从该共享存储区读取系统设备树;将该操作系统的系统设备树与该共享存储区的系统设备树进行对比;如果该操作系统的系统设备树存在该共享存储区的系统设备树没有的第一节点,将该第一节点的信息添加到该共享存储区的系统设备树。
其中,该第一节点的信息包括该第一节点的节点信息和该第一节点的子节点的节点信息,该节点信息包括以下任一项或多项:USB集线器的标识、连接设备对应的USB端口的标识和连接设备的设备信息。
在一些实施例中,处理单元701,还可用于在该共享存储区的系统设备树中存在与该操作系统的系统设备树中连接关系不同的第二节点时,根据该操作系统的系统设备树中该第二节点的连接关系更新该共享存储区的系统设备树中该第二节点的连接关系。
在一些实施例中,该端口控制指令还包括对该目标USB端口的开关指示,该开关指示为开启指示或关断指示;
其中,该开启指示用于指示通过该目标USB端口与该目标设备建立连接,该关断指示用于指示通过该目标USB端口与该目标设备断开连接。
根据本申请的一个实施例,图4、图5或图6所示的方法所涉及的各个步骤均可以是由图7所示的端口控制装置中的各个单元来执行的。例如,图4中所示的步骤401和402可以由图7中所示的处理单元701来执行,步骤403可以由图7所示的通信单元702来执行;又如,图6中所示的步骤601和602可以由图7中所示的处理单元701来执行,步骤603可以由图7所示的通信单元702来执行,等等,此处不赘述。
基于上述方法实施例以及装置实施例的描述,本申请实施例还提供一种端口控制设备,如该端口控制设备可以为上位机。请参见图8,该端口控制设备至少包括处理器801、输入设备802、输出设备803以及计算机(可读)存储介质804。其中,端口控制设备内的处理器801、输入设备802、输出设备803以及计算机存储介质804可通过总线或其他方式连接。
计算机存储介质804可以存储在端口控制设备的存储器中,计算机存储介质804用于存储计算机程序,该计算机程序包括程序指令,处理器801用于执行该计算机存储介质804存储的程序指令。处理器801(或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,本申请实施例该的处理器801可用于进行一系列的端口控制处理,包括:获取目标设备的设备信息;根据该设备信息确定该目标设备的连接信息,该连接信息包括该目标设备对应的目标USB集线器的标识和该目标设备在该目标USB集线器对应的目标USB端口的标识;通过输出设备并根据该目标USB集线器的标识向该目标USB集线器对应的控制设备发送端口控制指令,该端口控制指令包括该目标USB端口的标识,该端口控制指令用于指示该控制设备根据该目标USB端口的标识对应的电子开关对该目标USB端口进行开关处理;等等。
其中,该输入设备802可包括键盘、触摸屏、接收器如射频接收器或其他输入设备中的一种或多种;输出设备803可包括扬声器、显示器、发送器如射频发送器或其他输出设备中的一种或多种,图8中示出了发送器。可选的,该端口控制设备还可包括内存模块、电源模块等等。
本申请实施例还提供了一种计算机存储介质(Memory),该计算机存储介质是端口控制设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括端口控制设备中的内置存储介质,当然也可以包括端口控制设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了端口控制设备的操作系统。并且,在该存储空间中还存放了适于被处理器801加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器801加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关端口控制实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由处理器801加载并执行如下步骤:获取目标设备的设备信息;根据该设备信息确定该目标设备的连接信息,该连接信息包括该目标设备对应的目标USB集线器的标识和该目标设备在该目标USB集线器对应的目标USB端口的标识;根据该目标USB集线器的标识向该目标USB集线器对应的控制设备发送端口控制指令,该端口控制指令包括该目标USB端口的标识,该端口控制指令用于指示该控制设备根据该目标USB端口的标识对应的电子开关对该目标USB端口进行开关处理;其中,该开关处理包括通过该目标USB端口与该目标设备建立连接或断开连接。
在一些实施例中,该根据该设备信息确定该目标设备的连接信息时,该一条或多条指令还可由处理器801加载并具体执行:获取系统设备树,该系统设备树包括至少一个USB集线器的标识以及每个USB集线器的连接设备的信息,该连接设备的信息包括连接设备对应的USB端口的标识和连接设备的设备信息,该目标设备为该连接设备中的任一个;根据该设备信息遍历该系统设备树,以确定该目标设备的连接信息。
在一些实施例中,该系统设备树存储于共享存储区,该一条或多条指令还可由处理器801加载并具体执行:从操作系统中读取系统设备树,并从该共享存储区读取系统设备树;将该操作系统的系统设备树与该共享存储区的系统设备树进行对比;如果该操作系统的系统设备树存在该共享存储区的系统设备树没有的第一节点,将该第一节点的信息添加到该共享存储区的系统设备树。其中,该第一节点的信息包括该第一节点的节点信息和该第一节点的子节点的节点信息,该节点信息包括以下任一项或多项:USB集线器的标识、连接设备对应的USB端口的标识和连接设备的设备信息。
在一些实施例中,该一条或多条指令还可由处理器801加载并具体执行:如果该共享存储区的系统设备树中存在与该操作系统的系统设备树中连接关系不同的第二节点,根据该操作系统的系统设备树中该第二节点的连接关系更新该共享存储区的系统设备树中该第二节点的连接关系。
在一些实施例中,该端口控制指令还包括对该目标USB端口的开关指示,该开关指示为开启指示或关断指示;
其中,该开启指示用于指示通过该目标USB端口与该目标设备建立连接,该关断指示用于指示通过该目标USB端口与该目标设备断开连接。
基于上述端口控制方法实施例的描述,本发明实施例还公开了一种端口控制装置,该端口控制装置可以是运行于端口控制设备如USB控制设备、USB集线器、控制设备等中的一个计算机程序(包括程序代码/程序指令)。例如,该端口控制装置可以执行图4、图5或图6所示的方法。请参见图9,该端口控制装置900可以运行如下单元:
通信单元901,用于接收上位机发送的端口控制指令,该端口控制指令包括目标设备对应的目标USB端口的标识,该端口控制指令用于指示对该目标USB端口的标识对应的目标USB端口进行开关处理;
处理单元902,用于根据目标USB端口的标识确定与该目标USB端口对应的电子开关;
处理单元902,还用于利用该电子开关对目标USB端口进行开关处理,该开关处理包括通过目标USB端口控制目标设备与上位机建立连接或断开连接。
在一些实施例中,处理单元902在利用该电子开关对该目标USB端口进行开关处理时,可具体用于:确定该电子开关对应的目标输入输出端口,并控制该目标输入输出端口输出与该端口控制指令对应的电平,通过输出的电平控制该电子开关对该目标USB端口进行开关处理;其中,该USB端口和该电子开关一一对应,该电子开关和该输入输出端口一一对应。
在一些实施例中,该方法应用于该目标设备对应的USB控制设备,该USB控制设备包括该目标设备对应的目标USB集线器、通信转换模块和控制设备;通信单元901在接收上位机发送的端口控制指令时,可具体用于:
通过目标USB集线器接收上位机发送的端口控制指令,并通过该目标USB集线器将该端口控制指令发送给该通信转换模块,由该通信转换模块对该端口控制指令进行协议转换后,将协议转换后的端口控制指令发送给该控制设备;
其中,该协议转换包括将支持USB协议的端口控制指令转换为支持串行传输协议的端口控制指令。
在一些实施例中,该端口控制指令还包括对该目标USB端口的开关指示,该开关指示为开启指示或关断指示;
其中,该开启指示用于指示通过该目标USB端口与该目标设备建立连接,该关断指示用于指示通过该目标USB端口与该目标设备断开连接。
根据本申请的一个实施例,图5或图6所示的方法所涉及的各个步骤可以是由图9所示的端口控制装置中的各个单元来执行的。例如,图5中所示的步骤501可以由图9中所示的通信单元901来执行,步骤502和503可以由图9所示的处理单元902来执行,等等,此处不赘述。
根据本申请的另一个实施例,图7和/或图9所示的端口控制装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,基于端口控制装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4、图5或图6中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码/程序指令),来构造如图7或图9中所示的端口控制装置,以及来实现本申请实施例的端口控制方法。该计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
基于上述方法实施例以及装置实施例的描述,本申请实施例还提供一种端口控制设备,如该端口控制设备可以为USB控制设备、USB集线器或控制设备等。请参见图10,该端口控制设备至少包括处理器1001、输入设备1002、输出设备1003以及计算机(可读)存储介质1004。其中,端口控制设备内的处理器1001、输入设备1002、输出设备1003以及计算机存储介质1004可通过总线或其他方式连接。
计算机存储介质1004可以存储在端口控制设备的存储器中,计算机存储介质1004用于存储计算机程序,该计算机程序包括程序指令,处理器1001用于执行该计算机存储介质1004存储的程序指令。处理器1001是终端的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,本申请实施例该的处理器1001可用于进行一系列的端口控制处理,包括:通过输入设备1002接收上位机发送的端口控制指令,该端口控制指令包括目标设备对应的目标USB端口的标识,该端口控制指令用于指示对该目标USB端口的标识对应的目标USB端口进行开关处理;根据目标USB端口的标识确定与该目标USB端口对应的电子开关;利用该电子开关对该目标USB端口进行开关处理;等等。
其中,该输入设备1002可包括键盘、触摸屏、接收器如射频接收器或其他输入设备中的一种或多种;输出设备1003可包括扬声器、显示器、发送器如射频发送器或其他输出设备中的一种或多种,图10中示出了接收器。该端口控制设备还可包括USB集线器、通信转换模块、控制设备、电子开关等,图中未示出,或者这些设备或模块还可以与处理器1001集成设置,比如控制设备可以为处理器,本申请不做限定。可选的,该端口控制设备还可包括内存模块、电源模块等等。
本申请实施例还提供了一种计算机(可读)存储介质(Memory),该计算机存储介质是端口控制设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可包括端口控制设备中的内置存储介质,当然也可包括端口控制设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了端口控制设备的操作系统。并且,在该存储空间中还存放了适于被处理器1001加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器1001加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关端口控制实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由处理器1001加载并执行如下步骤:接收上位机发送的端口控制指令,该端口控制指令包括目标设备对应的目标USB端口的标识,该端口控制指令用于指示对该目标USB端口的标识对应的目标USB端口进行开关处理;根据目标USB端口的标识确定与该目标USB端口对应的电子开关;利用该电子开关对该目标USB端口进行开关处理,该开关处理包括通过该目标USB端口控制该目标设备与该上位机建立连接或断开连接。
在一些实施例中,该利用该电子开关对该目标USB端口进行开关处理时,该一条或多条指令还可由处理器1001加载并具体执行:确定该电子开关对应的目标输入输出端口,并控制该目标输入输出端口输出与该端口控制指令对应的电平,通过输出的电平控制该电子开关对该目标USB端口进行开关处理;其中,该USB端口和该电子开关一一对应,该电子开关和该输入输出端口一一对应。
在一些实施例中,该端口控制设备为USB控制设备,该USB控制设备包括该目标设备对应的目标USB集线器、通信转换模块和控制设备;
在接收上位机发送的端口控制指令时,该一条或多条指令还可由处理器1001加载并具体执行:通过该目标USB集线器接收上位机发送的端口控制指令,并通过该目标USB集线器将该端口控制指令发送给该通信转换模块,由该通信转换模块对该端口控制指令进行协议转换后,将协议转换后的端口控制指令发送给该控制设备;其中,该协议转换包括将支持USB协议的端口控制指令转换为支持串行传输协议的端口控制指令。
在一些实施例中,该端口控制指令还包括对该目标USB端口的开关指示,该开关指示为开启指示或关断指示,此处不赘述。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种端口控制方法,其特征在于,包括:
获取目标设备的设备信息;
根据所述设备信息确定所述目标设备的连接信息,所述连接信息包括所述目标设备对应的目标USB集线器的标识和所述目标设备在所述目标USB集线器对应的目标USB端口的标识;
根据所述目标USB集线器的标识向所述目标USB集线器对应的控制设备发送端口控制指令,所述端口控制指令包括所述目标USB端口的标识,所述端口控制指令用于指示所述控制设备根据所述目标USB端口的标识对应的电子开关对所述目标USB端口进行开关处理;
其中,所述开关处理包括通过所述目标USB端口与所述目标设备建立连接或断开连接。
2.根据权利要求1所述的方法,其特征在于,所述根据所述设备信息确定所述目标设备的连接信息,包括:
获取系统设备树,所述系统设备树包括至少一个USB集线器的标识以及每个USB集线器的连接设备的信息,所述连接设备的信息包括连接设备对应的USB端口的标识和连接设备的设备信息,所述目标设备为所述连接设备中的任一个;
根据所述设备信息遍历所述系统设备树,以确定所述目标设备的连接信息。
3.根据权利要求2所述的方法,其特征在于,所述系统设备树存储于共享存储区,所述方法还包括:
从操作系统中读取系统设备树,并从所述共享存储区读取系统设备树;
将所述操作系统的系统设备树与所述共享存储区的系统设备树进行对比;
如果所述操作系统的系统设备树存在所述共享存储区的系统设备树没有的第一节点,将所述第一节点的信息添加到所述共享存储区的系统设备树;
其中,所述第一节点的信息包括所述第一节点的节点信息和所述第一节点的子节点的节点信息,所述节点信息包括以下任一项或多项:USB集线器的标识、连接设备对应的USB端口的标识和连接设备的设备信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果所述共享存储区的系统设备树中存在与所述操作系统的系统设备树中连接关系不同的第二节点,根据所述操作系统的系统设备树中所述第二节点的连接关系更新所述共享存储区的系统设备树中所述第二节点的连接关系。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述端口控制指令还包括对所述目标USB端口的开关指示,所述开关指示为开启指示或关断指示;
其中,所述开启指示用于指示通过所述目标USB端口与所述目标设备建立连接,所述关断指示用于指示通过所述目标USB端口与所述目标设备断开连接。
6.一种端口控制方法,其特征在于,包括:
接收上位机发送的端口控制指令,所述端口控制指令包括目标设备对应的目标USB端口的标识,所述端口控制指令用于指示对所述目标USB端口的标识对应的目标USB端口进行开关处理;
根据目标USB端口的标识确定与所述目标USB端口对应的电子开关;
利用所述电子开关对所述目标USB端口进行开关处理,所述开关处理包括通过所述目标USB端口控制所述目标设备与所述上位机建立连接或断开连接。
7.根据权利要求6所述的方法,其特征在于,所述利用所述电子开关对所述目标USB端口进行开关处理,包括:
确定所述电子开关对应的目标输入输出端口,并控制所述目标输入输出端口输出与所述端口控制指令对应的电平,通过输出的电平控制所述电子开关对所述目标USB端口进行开关处理;
其中,所述USB端口和所述电子开关一一对应,所述电子开关和所述输入输出端口一一对应。
8.根据权利要求6或7所述的方法,其特征在于,所述方法应用于所述目标设备对应的USB控制设备,所述USB控制设备包括所述目标设备对应的目标USB集线器、通信转换模块和控制设备;
所述接收上位机发送的端口控制指令,包括:
通过所述目标USB集线器接收上位机发送的端口控制指令,并通过所述目标USB集线器将所述端口控制指令发送给所述通信转换模块,由所述通信转换模块对所述端口控制指令进行协议转换后,将协议转换后的端口控制指令发送给所述控制设备;
其中,所述协议转换包括将支持USB协议的端口控制指令转换为支持串行传输协议的端口控制指令。
9.一种端口控制设备,包括输入设备和输出设备,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-5任一项所述的方法,或者执行如权利要求6-8任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-5任一项所述的方法,或者执行如权利要求6-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910825071.8A CN110568946B (zh) | 2019-09-02 | 2019-09-02 | 一种端口控制方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910825071.8A CN110568946B (zh) | 2019-09-02 | 2019-09-02 | 一种端口控制方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110568946A true CN110568946A (zh) | 2019-12-13 |
CN110568946B CN110568946B (zh) | 2021-08-24 |
Family
ID=68777319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910825071.8A Active CN110568946B (zh) | 2019-09-02 | 2019-09-02 | 一种端口控制方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110568946B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112787961A (zh) * | 2020-12-31 | 2021-05-11 | 锐捷网络股份有限公司 | 物理端口的拆分方法及装置 |
CN114116315A (zh) * | 2021-11-27 | 2022-03-01 | 深圳市锐宝智联信息有限公司 | 一种应用于工业信息安全主板的usb失效恢复方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1405657A (zh) * | 2001-09-15 | 2003-03-26 | Lg电子株式会社 | 与串行总线相连的设备的电源控制装置 |
CN1672139A (zh) * | 2002-07-26 | 2005-09-21 | 摩托罗拉公司 | 双模式兼容usb集线器设备和方法 |
CN201607724U (zh) * | 2009-12-30 | 2010-10-13 | 北京飞天诚信科技有限公司 | 一种支持多线程操作的usb hub |
CN103473207A (zh) * | 2013-09-25 | 2013-12-25 | 飞天诚信科技股份有限公司 | 一种usb集线器装置 |
CN103559162A (zh) * | 2013-10-28 | 2014-02-05 | 飞天诚信科技股份有限公司 | 一种定位hub组上的usb设备的方法和主机 |
US20150227485A1 (en) * | 2014-02-07 | 2015-08-13 | Texas Instruments Incorporated | Usb switch with multi-role ports |
CN106919525A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 一种usb设备集群控制装置及系统 |
CN208061193U (zh) * | 2017-12-26 | 2018-11-06 | 航天信息股份有限公司 | 集群控制装置 |
CN109918306A (zh) * | 2019-03-08 | 2019-06-21 | 深圳市腾讯网络信息技术有限公司 | 音频处理设备、系统、方法、装置及存储介质 |
-
2019
- 2019-09-02 CN CN201910825071.8A patent/CN110568946B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1405657A (zh) * | 2001-09-15 | 2003-03-26 | Lg电子株式会社 | 与串行总线相连的设备的电源控制装置 |
CN1672139A (zh) * | 2002-07-26 | 2005-09-21 | 摩托罗拉公司 | 双模式兼容usb集线器设备和方法 |
CN201607724U (zh) * | 2009-12-30 | 2010-10-13 | 北京飞天诚信科技有限公司 | 一种支持多线程操作的usb hub |
CN103473207A (zh) * | 2013-09-25 | 2013-12-25 | 飞天诚信科技股份有限公司 | 一种usb集线器装置 |
CN103559162A (zh) * | 2013-10-28 | 2014-02-05 | 飞天诚信科技股份有限公司 | 一种定位hub组上的usb设备的方法和主机 |
US20150227485A1 (en) * | 2014-02-07 | 2015-08-13 | Texas Instruments Incorporated | Usb switch with multi-role ports |
CN106919525A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 一种usb设备集群控制装置及系统 |
CN208061193U (zh) * | 2017-12-26 | 2018-11-06 | 航天信息股份有限公司 | 集群控制装置 |
CN109918306A (zh) * | 2019-03-08 | 2019-06-21 | 深圳市腾讯网络信息技术有限公司 | 音频处理设备、系统、方法、装置及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112787961A (zh) * | 2020-12-31 | 2021-05-11 | 锐捷网络股份有限公司 | 物理端口的拆分方法及装置 |
CN112787961B (zh) * | 2020-12-31 | 2022-08-16 | 锐捷网络股份有限公司 | 物理端口的拆分方法及装置 |
CN114116315A (zh) * | 2021-11-27 | 2022-03-01 | 深圳市锐宝智联信息有限公司 | 一种应用于工业信息安全主板的usb失效恢复方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110568946B (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109587005B (zh) | 连接检测方法、装置、计算机设备以及可读存储介质 | |
CN100483966C (zh) | 控制家用自动系统启动的设备和方法 | |
EP3419227B1 (en) | Methods for automatically configuring multiple chassis link aggregation group (mc-lag) | |
CN110568946B (zh) | 一种端口控制方法、设备及介质 | |
CN106452847B (zh) | Wifi设备智能识别方法及装置 | |
CN104349304A (zh) | 一种信息处理的方法及电子设备 | |
WO2016082522A1 (zh) | 管理路径确定方法及装置 | |
CN112055096A (zh) | 自动设置设备通信地址的方法及装置 | |
US20140059257A1 (en) | Keyboard-video-mouse system and method of providing and using the same | |
CN112542206A (zh) | Lpddr测试方法、装置、可读存储介质及电子设备 | |
CN107273258A (zh) | 一种刀片服务器内置交换机的自动化重启测试方法及系统 | |
CN104158709A (zh) | 一种光模块识别的方法及端口扩展设备 | |
CN110069290A (zh) | 一种多bmc的控制参数配置方法、系统及相关组件 | |
CN110459260B (zh) | 自动测试切换装置、方法和系统 | |
CN111948971A (zh) | 一种智能卡管理装置及其数据转接方法 | |
CN111831341A (zh) | 配置文件加载方法、装置及系统和计算机可读介质 | |
CN116137603A (zh) | 链路故障的检测方法和装置、存储介质及电子装置 | |
CN106685588B (zh) | 一种适配器、数据传输系统及方法 | |
CN201657197U (zh) | 智能电源管理视频监控设备 | |
RU2678488C1 (ru) | Способ конфигурирования устройства связи и устройство связи | |
CN113133043A (zh) | 网络连接选用方法及装置和嵌入式设备 | |
CN111147400A (zh) | 一种命令行配置同步的方法、装置及电子设备 | |
CN113268358A (zh) | 数据通信方法、装置和系统及多设备级联系统 | |
US11604602B2 (en) | Control device, execution device and device management method | |
CN115599311B (zh) | 极性反转方法及装置、存储介质、电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |