WO2012155452A1 - 获取数据终端设备识别信息的方法和系统 - Google Patents

获取数据终端设备识别信息的方法和系统 Download PDF

Info

Publication number
WO2012155452A1
WO2012155452A1 PCT/CN2011/081028 CN2011081028W WO2012155452A1 WO 2012155452 A1 WO2012155452 A1 WO 2012155452A1 CN 2011081028 W CN2011081028 W CN 2011081028W WO 2012155452 A1 WO2012155452 A1 WO 2012155452A1
Authority
WO
WIPO (PCT)
Prior art keywords
data terminal
terminal device
port
correspondence
identification code
Prior art date
Application number
PCT/CN2011/081028
Other languages
English (en)
French (fr)
Inventor
栾岚
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to BR112013029123A priority Critical patent/BR112013029123A2/pt
Priority to EP11865462.3A priority patent/EP2720152A4/en
Publication of WO2012155452A1 publication Critical patent/WO2012155452A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Definitions

  • the present invention relates to the field of computer applications, and in particular, to a method and system for acquiring identification information of a data terminal device.
  • the processing method of the Linux system is different from that of the Windows system, the method of managing the data terminal device under the Windows system cannot be directly transplanted to the Linux system, and the Linux system does not have a port and device processing mechanism similar to the Windows system, so Linux The data terminal equipment management and identification methods under the system came into being.
  • the management software of the data terminal device on the Linux system mainly obtains the PIDWID information of the device by using the third-party software (lsusb) running on the system, and then confirms the correspondence between the port name and the individual port type by using the enumeration test mode. .
  • This method can be adapted to the search of a single device, but in the case of port abnormalities, multiple device insertions, etc., the enumeration error rate of the device is high and the management operation of multiple devices cannot be supported temporarily.
  • port heuristics need to open the port and send an instruction to confirm the port's attributes. A series of operations results in poor real-time performance when identifying device operations.
  • the present invention provides a method and system for acquiring identification information of a data terminal device, and the technical problem to be solved is how to acquire identification information of the data terminal device in real time.
  • the present invention provides the following technical solutions:
  • a method for obtaining identification information of a data terminal device includes:
  • the correspondence between the M1 number and the port type of the data terminal device and the corresponding relationship between the M1 number and the port name of the data terminal device are combined to obtain a correspondence between the port type and the port name of the data terminal device.
  • the manner of obtaining the correspondence between the M1 number and the port type of the data terminal device includes: Method 1: acquiring a product identification code of the data terminal device;
  • Corresponding relationship between the M1 number and the port type of the data terminal device is obtained by using the product identification code of the data terminal device as a key, from the correspondence between the M1 number and the port type corresponding to each product identification code stored in advance.
  • Method 2 Obtain a product identifier and a vendor identifier of the data terminal device
  • Determining by using a product identifier of the data terminal device and a vendor identifier as a key, from the correspondence between the M1 number and the port type corresponding to the combination of the product identification code and the vendor identifier stored in advance. Correspondence between the M1 number of the data terminal device and the port type.
  • the product identification code and the vendor identification code are obtained by:
  • the step of obtaining the correspondence between the M1 number and the port name of the data terminal device in the system includes:
  • the method further includes:
  • the data terminal device is assigned a bus number and a device address on the bus, and the bus number and the device address on the bus are used as identifiers for identifying the data terminal device in response to an external operation.
  • a system for obtaining identification information of a data terminal device comprising:
  • a first acquiring device configured to acquire a correspondence between a M1 number of the data terminal device and a port type
  • a second obtaining device configured to: obtain, from a system file for recording attribute information of the USB device connected to the operating system, a correspondence between the M1 number and the port name of the data terminal device in the operating system;
  • a merging device configured to: merge the correspondence between the M1 number and the port type of the data terminal device and the correspondence between the M1 number and the port name of the data terminal device, to obtain a port type and a port name of the data terminal device Correspondence.
  • the first obtaining device is configured to acquire a correspondence between the M1 number and the port type of the data terminal device by: obtaining a product identification code of the data terminal device; using the product identification code of the data terminal device as a key, Obtaining a correspondence between the M1 number and the port type of the data terminal device in the corresponding relationship between the M1 number and the port type corresponding to each product identification code stored in advance; or obtaining the product identification code and vendor identification of the data terminal device Code;
  • the product identification code and the vendor identification code of the end device are keywords, and the data terminal device is obtained from the correspondence between the M1 number and the port type corresponding to the combination of the pre-stored product identification code and the vendor identification code. Correspondence between M1 and port type.
  • the first obtaining device includes:
  • a reading module configured to read, from the system file, a file whose directory corresponding to the data terminal device is "*-*", where * is an integer;
  • a first obtaining module configured to: obtain, in a file whose directory is "*-*", the product identification code from a file whose directory includes product identification code information, and, from the directory, the supplier identification code information Obtaining the vendor identifier of the data terminal device in the file.
  • the second obtaining device includes:
  • a second obtaining module configured to: obtain a file with a directory of "*-*:*.#” from a file corresponding to the directory of the data terminal device in the system file as "*-*",
  • the "#” in "*_*:*.#” is the M1 number of one port of the data terminal device;
  • the third obtaining module is configured to: obtain a file whose directory is ttyUSB* or ttyACM* under the file whose directory is "*-*:*.#", and "*" in the directory ttyUSB* or ttyACM*
  • the location of the port is the port name of the same port, and the corresponding relationship between the M1 number and the port name of the port is obtained.
  • the system also includes:
  • a distribution device is arranged to: assign a bus number to the data terminal device and a device address on the bus, and use the bus number and the device address on the bus as an identifier for identifying the data terminal device in response to an external operation.
  • the present invention utilizes the characteristics of the system file format to obtain the correspondence between the M1 number and the port name in the current system, and combines the obtained correspondence between the M1 number and the port type to obtain the port name and The correspondence between the port types achieves the purpose of obtaining the identification information.
  • the time required is shorter, the accuracy is higher, and the real-time requirement is achieved.
  • FIG. 1 is a schematic flow chart of an embodiment of a method for acquiring identification information of a data terminal device according to the present invention
  • FIG. 2 is a schematic flow chart of an embodiment of a system for acquiring data terminal device identification information according to the present invention
  • FIG. 3 is a schematic structural diagram of a first acquiring device 201 in the system embodiment shown in FIG. 2.
  • FIG. 1 is a schematic flowchart diagram of an embodiment of a method for acquiring data terminal device identification information in a Linux system according to the present invention.
  • the method embodiment shown in FIG. 1 includes:
  • Step 101 Obtain a correspondence between a multifunction interface (MI) number of the data terminal device and a port type.
  • MI multifunction interface
  • the correspondence between the M1 and the port type can be obtained according to the product identification code of the data terminal device, and the method for obtaining the product identification code can be obtained by using a third-party software, and can also read the attribute of the USB device used for recording the system connection.
  • the file corresponding to the data terminal device in the system file of the information is a file of "*-*", where * is an integer; in the file whose directory is "*-*", the file including the product identification code information from the directory Obtain the product identification code.
  • the corresponding relationship between the M1 number and the port type corresponding to the product identification code can be manually queried, or can be obtained by an automatic query, which includes: using the product identification code of the data terminal device as a key Corresponding relationship between the M1 number and the port type of the data terminal device is obtained from the correspondence between the M1 number and the port type corresponding to each product identification code stored in advance.
  • the following methods may also be used to obtain, including: obtaining the product identification code and the supplier identification code of the data terminal device;
  • the product identification code and the vendor identification code of the data terminal device are
  • the keyword the correspondence between the M1 number and the port type of the data terminal device is obtained from the correspondence between the M1 number and the port type corresponding to the combination of the pre-stored product identification code and the vendor identification code.
  • the method for obtaining the vendor identification code may also be obtained by using a third-party software, or the directory corresponding to the data terminal device in the system file may be read as "*-* The file of "where * is an integer; the vendor identification code of the data terminal device is obtained from the file whose directory includes "*-*" from the directory including the supplier identification code information.
  • Step 102 Obtain a correspondence between the M1 number and the port name of the data terminal device in the system from a system file used to record attribute information of the USB device connected to the system;
  • the file whose directory information is "*-*:*.#” is obtained, and the directory is "*" "#" in -*:*.#” is the M1 number of a port of the data terminal device; under the file whose directory is "*-*:*.#", the directory is ttyUSB* or The ttyACM* file, the "*" in the directory ttyUSB* or ttyACM* is used as the port name of the same port, so that the corresponding relationship between the M1 number and the port name of the port is obtained;
  • Step 103 Combine the correspondence between the M1 number and the port type of the data terminal device and the correspondence between the M1 number and the port name of the data terminal device to obtain a correspondence between the port type and the port name of the data terminal device.
  • the data terminal device may be assigned a bus number and a device address on the bus, and the bus number and the device address on the bus are used as the identifier for responding to the external operation.
  • the identifier of the data terminal device after receiving the external pair According to the access request of the terminal device, the data terminal device is determined by using the identifier.
  • the embodiments described below are applicable to Linux system identification of data ports of composite ports, data terminal devices such as mobile phones, and handover management and control between multiple devices.
  • the Linux system can be Little Red Riding Hood, Red Flag Linux, Ubuntu, Fedora Core, SUSE Linux, Gentoo, RED HATES or Debian.
  • the composite port of the data terminal device means that the data terminal device can be driven to be mapped into multiple virtual ports in the Linux system.
  • the driver maps the virtual port on the system, such as a data terminal.
  • the drive maps multiple virtual ports on the system.
  • Each item in the device information table shall include a device name, a system information, a PID, and a VID (vendor ID); each item in the device port information list includes a M1 number and a port type of the data storage device of the PID number. Correspondence relationship.
  • the information in the above two lists is designed at the beginning of the product design, so for a data terminal device, the above information can be determined.
  • the device PID, VID, port number and function are all clear at the beginning of the design. Therefore, the VID of each manufacturer is determined, the PID of each device is determined, and the port M1 and The correspondence between the information of the port function (port type) is determinable.
  • the above two lists can be stored in the system directory in the form of xml, and then opened, parsed, and obtained corresponding information when used, or directly exist in the device management application in the form of a static table, because the static table is in There is a clear advantage in query efficiency, so this aspect uses the static table to manage device information;
  • the reason why the PID is used as the keyword is as follows:
  • the VID information of the device is obtained by the vendor to the USB execution forum.
  • the VID information of all the hardware devices of the same device manufacturer is the same. If the VID is used as the keyword, then one Under the VID keyword, it is possible to find two in the list.
  • the PIDs of devices of different manufacturers may be the same, but for the same manufacturer, the PID of one device is unique and different between the same device vendors, so using PID as a keyword can find the only item.
  • the method for obtaining the data terminal device identification information specifically includes:
  • Step A Obtain a device list (CurrDevList) of the data terminal device on the current system bus, where the item in the CurrDevList is DevStmct, where the DevStmct package has a unique ID identifier, CurrDevice.id, and device information, where the device information includes the PID, VID, device format information and device name.
  • the device information is obtained by acquiring the PID of the data terminal device and obtaining the pre-stored device information list according to the PID, and specifically includes the following processes:
  • each device plugged into the USB bus is represented in the form of a folder in the system, wherein the properties of the USB device used to record the system connection in the Linux system are recorded.
  • the path information of the system file of the information is DirList (folder list);
  • the path DevPath for obtaining the PID and VID is combined, for example, in the form of a folder of 2-1, and DevPath is /sys/bus/usb. /device/2- 1;
  • DeviceInfoList can obtain device details.
  • the VID information can be obtained by reading the file named idVendor when the DevPath directory is opened. It is determined whether the VID information is in the pre-stored device information list. If not, it indicates that the data terminal device is not a vendor device that needs to be managed, that is, the data terminal device is ignored.
  • the unique ID of the data terminal device in the system, CurrDevice.id is obtained as follows:
  • BusNumber bus number
  • DevAddress device address on the bus
  • DeviceInfoList After the PID information is queried in DeviceInfoList to obtain the name and system information of the device and the unique ID of the device, the above information is added to DevStruct. Repeat the above operation to store the device information of all current devices in the system in the CurrDevList.
  • Step B Update the device list.
  • Step B can specifically have the following steps:
  • LastDevList (first empty);
  • CurrDevList. size > LastDevList. size it means that the current device ⁇ 1 J table state is Insert_Dev; in this case, it is necessary to determine whether the device PID is the PID of the device disc mode, and if so, the device management module needs to issue the corresponding command ( ject ), switch the device to composite port mode, so that the device enters the normal composite port mode. And update the corresponding device information in CurrDevList to replace its corresponding composite port device information.
  • CurrDevList. size LastDevList. size , the device list status does not change, go to the next Round polling;
  • CurrDevList.size LastDevList.size , you need to determine whether CurrDevice is set. If the user does not set CurrDevice, the current device list status is Remove—Idle— Dev; If CurrDevice is set and CurrDevList is not queried in CurrDevList, the current The device list status is Remove— Selected— Dev; if the user sets CurrDevice but the CurrDevList has the CurrDevList ID, the current device list status is still Remove—Idle—Dev.
  • CurrDevList can accurately record the data terminal equipment connected to the system in real time.
  • Step c Obtain an external data terminal device to be operated
  • Step D Obtain detailed port information of the specified device.
  • the PID is used as a key to obtain the pre-stored device port information list.
  • the specific relationship between the M1 information and the port type is as follows: In the device port information list (DevicelnterfaceInfolist), the corresponding information of the Ml number of the CurrDevice and the port type is searched by using the PID information of the CurrDevice as a key, and the information is inserted into the MilnterfaceTypeMap, where the MilnterfaceTypeMap is the M1 information with the M1 as the key. Correspondence table with port type.
  • Step D1 Combine the DevDirList to query the folder directory of the PID information of the data terminal device (such as 2-1) and the path /sys/bus/usb/devices, and combine to generate the folder path InterfacePath mapped by the device; for example, The folder format is 2-1, and InterfacePath is /sys/bus/usb/device/2- 1;
  • Step D2 Open the folder where the InterfacePath path is located, and obtain all the subdirectory names to be added to the SubDirList, where the subdirectory is shaped like *-*:*.# (*.# are integers), such as 2-1:1.0;
  • Step D3 Extract the path data item in the SubDirList, open the subdirectory according to the path data item, and obtain a folder name in which the shape is ttyUSB* or ttyACM* (* is an integer), and the "*" in the folder name is The location is the name of the port that the Interface drives the enumeration on the system;
  • Step D4 The number of the # in the subdirectory *-*:*.# (*, #all integer) pointed to by the path data item used in step D3 is taken as the MI number of the same interface in step D3, such as 2 -1: In 1.0, 0 is the Ml number;
  • Step D5 According to the port name and the M1 number obtained by the steps D3 and D4, the correspondence between the port name and the M1 of the same interface is obtained, and the correspondence is recorded in the MilnterfaceNameMa with the M1 as the key;
  • Step D6 Combine the MilnterfaceTypeMap and the MilnterfaceNameMap with the port MI number as a key to obtain a correspondence between the port name and the port type.
  • Step E Once the detailed port information of CurrDevice and its devices is determined, the device can be operated as needed. After the device is requested by the device to the device module, the device module puts the device information requested by the user into the CurrDevice.
  • the device management involved in the present invention does not include the device opening and closing operations, and only provides the device information of the candidate device. Its detailed port information is to be operated by the user.
  • FIG. 2 is a schematic diagram of a system for acquiring data terminal device identification information according to the present invention.
  • the system embodiment shown in Figure 2 includes:
  • a first obtaining means 201 configured to acquire a correspondence relationship between the M1 number of the data terminal device and the port type
  • a second obtaining device 202 which is connected to the first obtaining device 201, and configured to: obtain the data terminal device in the Linux system from a system file for recording attribute information of a USB device connected to an operating system The correspondence between the M1 number and the port name;
  • a merging device 203 which is connected to the second obtaining device 202, and configured to: merge the correspondence between the M1 number and the port type of the data terminal device and the correspondence between the M1 number and the port name of the data terminal device, Corresponding relationship between the port type and the port name of the data terminal device is obtained.
  • the first obtaining device 201 is configured to obtain a correspondence between the M1 number and the port type of the data terminal device by: obtaining a product identification code of the data terminal device; and using the product identification code of the data terminal device as a key
  • the correspondence between the M1 number and the port type of the data terminal device is obtained from the correspondence between the M1 number and the port type corresponding to each product identification code stored in advance; or, obtaining the product identification code of the data terminal device and a vendor identifier; a correspondence between the M1 number and the port type corresponding to the combination of each product identifier and vendor identifier stored in advance, using the product identifier and the vendor identifier of the data terminal device as keywords
  • the correspondence between the M1 number and the port type of the data terminal device is obtained.
  • FIG. 3 is a schematic structural diagram of a first acquiring device 201 in the system embodiment shown in FIG. 2.
  • the first obtaining means 201 shown in FIG. 3 includes:
  • a reading module 301 configured to read, from the system file, a file corresponding to the directory of the data terminal device as "*-*", where * is an integer;
  • a first obtaining module 302 configured to: obtain, in a file whose directory is "*-*", the product identification code from a file whose directory includes product identification code information, and the slave directory includes a vendor identification code The vendor identification code of the data terminal device is obtained from the file of the information.
  • the second acquiring device includes:
  • a second obtaining module configured to: correspond to the data terminal device in the system file In the file whose directory is "*-*”, obtain the file whose directory is "*-*:*.#” under the path information, and use the location in the directory "*_*:*.#” as the data terminal. Ml number of one port of the device;
  • the third obtaining module is configured to: obtain a file whose directory is ttyUSB* or ttyACM* under the file whose directory is "*-*:*.#", and "*" in the directory ttyUSB* or ttyACM*
  • the location of the port is the port name of the same port, and the corresponding relationship between the M1 number and the port name of the port is obtained.
  • system further includes:
  • a distribution device is arranged to: assign a bus number to the data terminal device and a device address on the bus, and use the bus number and the device address on the bus as an identifier for identifying the data terminal device in response to an external operation.
  • the system embodiment provided by the present invention obtains the correspondence between the M1 number and the port name in the current system by using the characteristics of the system file format, and combines the obtained correspondence between the M1 number and the port type.
  • the correspondence between the port name and the port type can be obtained, and the purpose of obtaining the identification information is achieved.
  • the time required is shorter, the accuracy is higher, and the real-time requirement is achieved. .
  • all or part of the steps of the foregoing embodiments may also be implemented by using an integrated circuit. These steps may be separately fabricated into individual integrated circuit modules, or multiple modules or steps may be fabricated into a single integrated circuit module. achieve.
  • the invention is not limited to any particular combination of hardware and software.
  • the devices/function modules/functional units in the above embodiments may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices.
  • each device/function module/functional unit in the above embodiment is implemented in the form of a software function module and sold or used as a stand-alone product, it can be stored in a computer readable storage medium.
  • the above mentioned computer readable storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
  • the present invention utilizes the characteristics of the system file format to obtain the current system.
  • the correspondence between the M1 and the port name, and the correspondence between the obtained M1 and the port type can obtain the correspondence between the port name and the port type, and achieve the purpose of obtaining the identification information, and the prior art Compared with the method, it takes less time, more accuracy, and meets the needs of real-time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种获取数据终端设备识别信息的方法和系统;所述方法包括:获取数据终端设备的MI号与端口类型的对应关系;从用于记录系统连接的USB设备的属性信息的系统文件中,获取所述数据终端设备在所述系统中的MI号与端口名称的对应关系;以及合并所述数据终端设备的MI号与端口类型的对应关系和所述数据终端设备的MI号与端口名称的对应关系,得到所述数据终端设备的端口类型和端口名称的对应关系。

Description

获取数据终端设备识别信息的方法和系统
技术领域
本发明涉及计算机应用领域, 尤其涉及一种获取数据终端设备识别信息 的方法和系统。
背景技术
随着无线数据卡、 手机等终端数据产品的迅猛发展, 数据终端产品的网 络接入方式越来越多样化, 硬件设备的性能大幅提升, 这一切都使得用户对 设备的统一化、 多样化地操作需求越来越迫切。 PC侧数据终端设备管理软件 作为设备与用户的桥梁就成为了提升用户体验、 提高产品易用性能的重要拼 版。
而对于 PC侧数据终端设备管理软件的运行平台, 除了微软的 windows 系列操作系统, Mac OS、 Linux等操作系统在市场上以其炫丽的视觉效果、 大量的应用软件等优势赢得了越来越多人的关注。 本文所涉及的技术方案是 来自于现实需求,即如何让 Linux系统下的 PC侧数据终端设备管理软件正确 识别数据终端设备, 并能对系统插入的多个同类产品进行管理、监控和切换。 由于 Linux系统的处理方式与 Windows系统的处理方式不同,不能将 Windows 系统下数据终端设备管理的方法直接移植到 Linux系统,且在 Linux系统也没 有类似于 windows系统的端口和设备处理机制, 所以 Linux系统下的数据终 端设备管理、 识别方法应运而生。
目前 Linux 系统上数据终端类设备的管理软件主要利用系统上运行的第 三方软件 ( lsusb )获得设备的 PIDWID信息, 再通过釆用枚举试探的方式确 认操作的端口名称与个别端口类型的对应关系。 这种方法可以适应单个设备 的查找, 但是在端口异常、 多个设备插入等情况下, 设备的枚举错误率很高 且暂时无法支持多设备的管理操作。 另外端口试探需要打开端口并发送指令 确认端口的属性, 一系列的操作造成在识别设备操作时较差的实时性。
目前, 应用软件的主流趋势是, 在各种操作系统上软件有一致的表现以 方便用户的操作, 但是上述这种方式与 windows的方便管理多设备比起来, 无论从性能还是实时性的操作, 都不能满足对性能提高的强烈需求。
发明内容
本发明提供一种获取数据终端设备识别信息的方法和系统, 要解决的技 术问题是如何实时性地获取数据终端设备的识别信息。
为解决上述技术问题, 本发明提供了如下技术方案:
一种获取数据终端设备的识别信息的方法, 包括:
获取数据终端设备的 Ml号与端口类型的对应关系;
从用于记录系统连接的 USB设备的属性信息的系统文件中,获取所述数 据终端设备在所述系统中的 Ml号与端口名称的对应关系; 以及
合并所述数据终端设备的 Ml号与端口类型的对应关系和所述数据终端 设备的 Ml号与端口名称的对应关系, 得到所述数据终端设备的端口类型和 端口名称的对应关系。
获取数据终端设备的 Ml号与端口类型的对应关系的方式包括: 方式一: 获取数据终端设备的产品识别码;
以所述数据终端设备的产品识别码为关键字, 从预先存储的各产品识别 码所对应的 Ml号与端口类型的对应关系中,得到所述数据终端设备的 Ml号 与端口类型的对应关系; 或者,
方式二: 获取数据终端设备的产品识别码和供应商识别码;
以所述数据终端设备的产品识别码和供应商识别码为关键字, 从预先存 储的各产品识别码和供应商识别码的组合所对应的 Ml号与端口类型的对应 关系中, 得到所述数据终端设备的 Ml号与端口类型的对应关系。
所述产品识别码和所述供应商识别码是通过如下方式获取的:
从所述系统文件中, 读取所述数据终端设备对应的目录为 "*-*" 的文 件, 其中 *为整数;以及
在所述目录为 "*-*" 的文件中, 从目录包括产品识别码信息的文件中 获取所述数据终端设备的产品识别码, 以及, 从目录包括供应商识别码信息 的文件中获取所述数据终端设备的供应商识别码。
获取所述数据终端设备在所述系统中的 Ml号与端口名称的对应关系的 步骤包括:
从所述系统文件中所述数据终端设备对应的目录为 "*-*" 的文件中, 获 取目录为 "*-*:*.#" 的文件, 将目录 "*_*:*.#" 中的 所在位作为所述数 据终端设备一个端口的 Ml号; 以及
在所述目录为 "*-*:*.#" 的文件下, 获取目录为 ttyUSB*或者 ttyACM* 的文件, 将目录 ttyUSB*或者 ttyACM*中的 "*" 所在位作为同一端口的端口 名称, 从而得到所述端口的 Ml号与端口名称的对应关系;
其中 *和#均为整数。 所述方法还包括:
为所述数据终端设备分配总线号和总线上的设备地址, 将所述总线号和 总线上的设备地址作为用于响应外部操作时识别所述数据终端设备的标识。
一种获取数据终端设备的识别信息的系统, 包括:
第一获取装置, 其设置成获取数据终端设备的 Ml号与端口类型的对应 关系;
第二获取装置, 其设置成: 从用于记录操作系统所连接的 USB设备的属 性信息的系统文件中, 获取所述数据终端设备在该操作系统中的 Ml号与端 口名称的对应关系; 以及
合并装置, 其设置成: 合并所述数据终端设备的 Ml号与端口类型的对 应关系和所述数据终端设备的 Ml号与端口名称的对应关系, 得到所述数据 终端设备的端口类型和端口名称的对应关系。
所述第一获取装置是设置成通过如下方式获取数据终端设备的 Ml号与 端口类型的对应关系: 获取数据终端设备的产品识别码; 以所述数据终端设 备的产品识别码为关键字, 从预先存储的各产品识别码所对应的 Ml号与端 口类型的对应关系中, 得到所述数据终端设备的 Ml号与端口类型的对应关 系; 或者, 获取数据终端设备的产品识别码和供应商识别码; 以所述数据终 端设备的产品识别码和供应商识别码为关键字, 从预先存储的各产品识别码 和供应商识别码的组合所对应的 Ml号与端口类型的对应关系中, 得到所述 数据终端设备的 Ml号与端口类型的对应关系。
所述第一获取装置包括:
读取模块, 其设置成从所述系统文件中, 读取所述数据终端设备对应的 目录为 "*-*" 的文件, 其中 *为整数;
第一获取模块, 其设置成: 在所述目录为 "*-*" 的文件中, 从目录包 括产品识别码信息的文件中获取所述产品识别码, 以及, 从目录包括供应商 识别码信息的文件中获取所述数据终端设备的供应商识别码。
所述第二获取装置包括:
第二获取模块, 其设置成: 从所述系统文件中所述数据终端设备对应的 目录为 "*-*" 的文件中, 获取目录为 "*-*:*.#" 的文件, 将目录 "*_*:*.#" 中的 "#" 所在位作为所述数据终端设备一个端口的 Ml号; 以及
第三获取模块, 其设置成: 在所述目录为 "*-*:*.#" 的文件下, 获取目 录为 ttyUSB*或者 ttyACM*的文件, 将目录 ttyUSB*或者 ttyACM*中的 "*" 所在位作为同一端口的端口名称, 从而得到所述端口的 Ml号与端口名称的 对应关系;
其中 *和#均为整数。 所述系统还包括:
分配装置, 其设置成: 为所述数据终端设备分配总线号和总线上的设备 地址, 将所述总线号和总线上的设备地址作为用于响应外部操作时识别所述 数据终端设备的标识。
与现有技术相比, 本发明利用系统文件格式的特点, 得到在当前系统中 Ml号与端口名称的对应关系 ,再结合已获取的 Ml号与端口类型的对应关系 , 就可以得到端口名称与端口类型的对应关系, 达到了获取识别信息的目的, 与现有技术中的枚举方法相比, 需要花费的时间更短, 准确性更高, 达到了 实时性的需要。 附图概述
图 1为本发明提供的获取数据终端设备识别信息的方法实施例的流程示 意图;
图 2为本发明提供的获取数据终端设备识别信息的系统实施例的流程示 意图;
图 3为图 2所示系统实施例中第一获取装置 201的结构示意图。
本发明的较佳实施方式
为使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图及具体 实施例对本发明作进一步的详细描述。 需要说明的是, 在不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互任意组合。
图 1为本发明提供的在 Linux系统中获取数据终端设备识别信息的方法 实施例的流程示意图。 图 1所示方法实施例, 包括:
步骤 101、 获取数据终端设备的多功能端口 ( multifunction Interface, MI ) 号与端口类型的对应关系;
其中该 Ml号与端口类型的对应关系可以根据数据终端设备的产品识别 码得到, 而该产品识别码的获取方法可以通过第三方软件得到, 也可以读取 用于记录系统连接的 USB设备的属性信息的系统文件下所述数据终端设备对 应的目录为 "*-*" 的文件, 其中 *为整数;在所述目录为 "*-*" 的文件中, 从目录包括产品识别码信息的文件获取所述产品识别码。
在得到该产品识别码后, 可以人工查询该产品识别码所对应的 Ml号与 端口类型的对应关系, 也可以通过自动查询得到, 具体包括: 以所述数据终 端设备的产品识别码为关键字, 从预先存储的各产品识别码所对应的 Ml号 与端口类型的对应关系中, 得到所述数据终端设备的 Ml号与端口类型的对 应关系。
需要说明的是, 考虑到某些厂商的产品识别码可能会相同, 为提高查找 的准确度, 还可以釆用如下方式来获取, 包括: 获取数据终端设备的产品识 别码和供应商识别码; 以所述数据终端设备的产品识别码和供应商识别码为 关键字, 从预先存储的各产品识别码和供应商识别码的组合所对应的 Ml号 与端口类型的对应关系中, 得到所述数据终端设备的 Ml号与端口类型的对 应关系。
同理, 与产品识别码的获取方法类似, 所述供应商识别码的获取方法也 可以通过第三方软件得到, 也可以读取上述系统文件中所述数据终端设备对 应的目录为 "*-*" 的文件, 其中 *为整数;在所述目录为 "*-*" 的文件中从 目录包括供应商识别码信息的文件中获取所述数据终端设备的供应商识别 码。
步骤 102、 从用于记录系统连接的 USB设备的属性信息的系统文件中, 获取所述数据终端设备在所述系统中的 Ml号与端口名称的对应关系;
具体地, 从所述系统文件中所述数据终端设备对应的目录为 "*-*" 的文 件中, 获取该路径信息中目录为 "*-*:*.#"的文件,将目录 "*-*:*.#" 中的 "#" 所在位作为所述数据终端设备一个端口的 Ml号; 在所述目录为 "*-*:*.#" 的 文件下, 获取目录为 ttyUSB*或者 ttyACM*的文件, 将目录 ttyUSB*或者 ttyACM*中的 "*" 所在位作为同一端口的端口名称, 从而得到该端口的 Ml 号与端口名称的对应关系;
其中 *和#均为整数。 步骤 103、合并所述数据终端设备的 Ml号与端口类型的对应关系和所述 数据终端设备的 Ml号与端口名称的对应关系, 得到所述数据终端设备的端 口类型和端口名称的对应关系。
由上可以看出, 利用系统文件格式的特点, 得到在当前系统中 Ml号与 端口名称的对应关系, 再结合已获取的 Ml号与端口类型的对应关系, 就可 以得到端口名称与端口类型的对应关系, 达到了获取识别信息的目的, 与现 有技术中的枚举方法相比, 需要花费的时间更短、 准确性更高, 达到了实时 性的需要。
其中, 为了方便系统唯一标识该数据终端设备, 可以为所述数据终端设 备分配总线号和总线上的设备地址, 将所述总线号和总线上的设备地址作为 用于响应外部操作时识别所述数据终端设备的标识, 在接收到外部对所述数 据终端设备的访问请求时, 釆用所述标识确定所述数据终端设备。 下文所述的实施例适用于 Linux 系统对复合端口的数据卡、 手机等数据 终端设备端口的识别及多个设备之间的切换管理和控制。 其中所述 Linux 系 统可以是小红帽 Linux、红旗 Linux、 ubuntu、 Fedora Core、 SUSE Linux、 Gentoo、 RED HATES或 Debian等。 数据终端设备的复合端口是指该数据终端设备可 以在 Linux 系统中被驱动映射成多个虚拟端口, 如该数据终端设备在实现多 个不同功能时驱动会在系统上映射出虚拟端口, 如数据终端设备既可以作为 调制解调器, 也可以作为存储设备时, 驱动会为其在系统上映射出多个虚拟 端口。
下面对本发明提供的方法实施例做进一步说明:
预先在 Linux 系统存储设备信息列表( DevicelnfoList ) 以及设备端口信 息列表( DevicelnterfacelnfoList )。其中上述两个列表均是以产品识别码( PID ) 为关键字制作而成。
其中,该设备信息表中每一项应包含设备名称、制式信息、 PID以及 VID (供应商 ID ) ; 该设备端口信息列表中每一项包括该 PID号的数据存储设备 的 Ml号和端口类型对应关系。
上述两个列表中的信息是在产品设计伊始设计好的, 所以对于一款数据 终端设备, 上述信息都是能够确定的。 换句话说, 其设备 PID、 VID, 端口数 量以及功能均是设计之初就已经明确的, 因此, 每个厂商的 VID是确定的, 每一款设备的 PID是确定的, 端口的 Ml号与端口功能(端口类型) 的信息 之间的对应关系是可以确定的。
上述两个列表, 可以以 xml的方式存放在系统目录下, 在使用时再打开、 解析、 并获取相应信息, 也可以直接以静态表的形式存在于设备管理的应用 程序中, 由于静态表在查询效率上有明显的优势, 故本方面釆用静态表的形 式对设备信息进行管理;
之所以使用 PID作为关键字, 理由是: 设备的 VID信息由供应商向 USB 执行论坛申请得到, 同一设备厂商的全部硬件设备的 VID信息都是相同的, 如果釆用 VID作为关键字,则一个 VID关键字下有可能在列表中查找到两条 以上的项目, 不同厂商的设备的 PID可能相同, 但是对同一厂商, 一款设备 的 PID唯一, 在同一设备厂商之间也不同, 所以使用 PID作为关键字可以查 找到唯——条项目。
获取数据终端设备识别信息的方法具体包括:
步骤 A、 获取当前系统总线上数据终端设备的设备列表(CurrDevList ) , 其中该 CurrDevList中的项目为 DevStmct,其中 DevStmct包^殳备唯一的 ID 标识 CurrDevice.id和设备信息, 其中设备信息包括 PID、 VID, 设备制式信 息以及设备名称。
其中设备信息是通过获取数据终端设备的 PID, 并根据 PID从预先存储 的设备信息列表中得到的, 具体包括如下流程:
由于 Linux系统以文件的形式对设备进行管理, 故每一个插到 USB总线 上的设备均在系统中以文件夹的形式进行表示, 其中, 在 Linux 系统中用于 记录系统连接的 USB 设备的属性信息的系统文件所在的路径信息是 DirList (文件夹列表) ;
对上述的文件夹列表 DirList进行 选, 将文件夹形式仅包括如 *-* ( *为 整数)的文件夹添加至 DevDirList; 其中, DirList包含的文件夹形式包括 2-1、 2-1 :1.0等, 其中形如 2-1 :1.0 的目录为 2-1 代表的设备的子目录, 故在生成 DevDirList时, 只添加形如 2-1的文件夹至 DevDirList;
根据 DevDirList中文件夹的名称和路径 /sys/bus/usb/devices组合成用于获 取 PID和 VID的路径 DevPath, 例如, 以文件夹形式为 2-1为例, DevPath为 / sys/bus/usb/ devices/2- 1;
根据 PID信息查询 DevicelnfoList可以获取设备详细信息。
考虑到不同厂商之间的 PID可能会相同, 因此在获取 PID信息的同时, 还需要获取 VID信息,其中 VID信息可以在打开 DevPath所在目录时读取其 中名为 idVendor的文件来获取,其中还可以判断该 VID信息是否在预先存储 的设备信息列表中, 如果不在, 则表示该数据终端设备并非需要管理的厂商 设备, 即忽略该数据终端设备。 其中数据终端设备在系统中的唯一 ID标识 CurrDevice.id是通过如下方式 得到的:
在确定系统中路径 /sys/bus/usb/devices下有该设备的文件后, 为设备分配 BusNumber (总线号)以及其在总线上对应的 DevAddress (总线上设备地址), 将 BusNumber与 DevAddress组合形成数据终端设备在系统的唯一 ID标识。
通过 PID信息在 DevicelnfoList进行查询得到设备的名称与制式信息以及 设备的唯一 ID标识后, 将上述信息添加到 DevStruct中。 重复上述操作将系 统当前所有设备的设备信息存放于 CurrDevList中。
步骤 B、 对设备列表进行更新;
其中,设备列表的可能的变化情况包含 Remove— Idle— Dev (空闲设备 (非 当前操作设备)移除)、 Remove_Selected_Dev(当前使用设备移除)、 Insert_Dev (设备插入) 。 若当前状态为 Remove— Selected— Dev, 可以直接上报, 通知 CM ( Client Management )软件做相应的提示及操作。 针对 Remove— Idle— Dev 以及 Insert— Dev, 需要更新 CurrDevList。 其中 CM软件是用来根据用户选择 CurrDevice信息, 获取详细的设备端口信息, 即设备端口名称与端口类型的 对应关系, 从而完成对设备具体信息获取工作。
具体来说, 循环检测当前系统上数据终端设备的变化情况。 其中步骤 B 具体可以有如下几个步骤:
B 1、 获取当前设备列表 CurrDevList;
B2、 与上次循环获取的设备列表 LastDevList (第一次为空)进行比较;
B3、 通过比较 CurrDevList与 LastDevList的大小来确定设备列表的变化 状态。
若 CurrDevList. size > LastDevList. size , 表示当前设备歹1 J表^ 态为 Insert— Dev; 此时需要判断该设备 PID是否为设备光盘模式的 PID, 若是, 设 备管理模块需要下发相应指令( ject ) , 将设备切换至复合端口模式, 使得 设备进入正常的复合端口模式。并更新 CurrDevList中的相应设备信息替换成 其对应的复合端口设备信息。
若 CurrDevList. size = LastDevList. size , 设备列表状态无变化, 进入下一 轮次轮询;
若 CurrDevList.size < LastDevList.size , 需要判断是否设置了 CurrDevice , 若用户没有设置 CurrDevice, 则当前设备列表状态为 Remove— Idle— Dev; 若设 置了 CurrDevice且在 CurrDevList没有查询到 CurrDevList的 ID, 则当前设备 列表状态为 Remove— Selected— Dev;若用户设置了 CurrDevice但在 CurrDevList 查询到了 CurrDevList的 ID, 则当前设备列表状态仍为 Remove— Idle— Dev。
B4、 更新 LastDevList , 即将 CurrDevList赋值给 LastDevList。
通过上述步骤 B1~B4, 可以准确地得到设备列表的变化情况。 由于检测 周期一般在 500毫秒左右,所以 CurrDevList可以准确地记录系统实时连接的 数据终端设备。
步骤 c、 获取外部待操作的数据终端设备;
由于数据终端设备的所有端口都存在独占性, 即同一时刻设备的某个端 口只能被一个主体进行操作。 在未选定操作时, 为了提高设备操作的效率, 在获取系统上的数据终端列表的时候并没有对设备进行打开操作故在轮询系 统设备时不需要获取端口的详细信息, 只在用户确定操作的设备的信息后, 再获取设备相应的端口信息, 并根据相应的功能进行端口的打开操作。 对用 户选定的设备, 在设备管理模块中记为 CurrDevice;
步骤 D、 获得指定设备详细端口信息。
由于数据终端设备多是多端口复用的, 并且每种业务都需要操作特定的 端口。 但是由于 Linux 系统的开源特性, 各个厂商在制作多端口设备驱动的 时候, 必须符合现有的 Linux相关规范, 目前在系统中看到数据终端设备枚 举出来的端口只有端口名称, 其形式根据不同的硬件平台有 ttyUSB*或者 ttyACM*两种形式(*为整数代表在系统上的端口地址) 。 Linux 系统下没有 类似 windows系统的对每一个 Interface (端口) 的详细描述信息。
具体来说, 以 PID为关键字, 从预先存储的设备端口信息列表中获取该
PID对应的 Ml号与端口类型的对应关系, 再以系统中该 Ml号与端口名称的 对应关系, 再合并上述两个对应关系, 得到端口类型和端口名称的对应关系。
其中, Ml信息与端口类型的对应关系具体获取方式如下: 在设备端口信息列表( DevicelnterfacelnfoList )中, 以 CurrDevice的 PID 信息为关键字, 查询 CurrDevice的 Ml号与端口类型的对应关系, 并将信息 插入 MilnterfaceTypeMap中, 其中 MilnterfaceTypeMap是以 Ml号为关键字 的 Ml信息与端口类型的对应关系表。
其中, Ml信息与端口名称的对应关系具体获取方式如下:
步骤 D1、结合 DevDirList查询上述数据终端设备的 PID信息的文件夹目 录(如 2-1 )以及路径 /sys/bus/usb/devices, 组合生成设备在系统映射出来的文 件夹路径 InterfacePath; 例如, 以文件夹形式为 2-1 为例, InterfacePath为 / sys/bus/usb/ devices/2- 1;
步骤 D2、 打开 InterfacePath路径所在文件夹, 获取所有子目录名称添加 进 SubDirList中, 其中子目录形如 *-*:*.# ( *.#均为整数) , 如 2-1 :1.0;
步骤 D3、 取出 SubDirList中的路径数据项, 根据该路径数据项打开该子 目录, 获取其中形如 ttyUSB*或者 ttyACM* ( *为整数) 的文件夹名称, 将该 文件夹名称中的 "*"所在位作为该 Interface在系统上驱动枚举出来的端口名 称;
步骤 D4、 将步骤 D3所使用的路径数据项所指的子目录 *-*:*.# ( *, #均 为整数)中的#号所在位作为步骤 D3中同一 Interface的 MI号,如 2-1: 1.0中, 0为 Ml号;
步骤 D5、根据步骤 D3和 D4得出的端口名称和 Ml号,得到同一 Interface 的端口名称和 Ml号的对应关系, 并将对应关系记录在以 Ml号为关键字的 MilnterfaceNameMa 中;
步骤 D6、将上述 MilnterfaceTypeMap及 MilnterfaceNameMap以端口 MI 号为关键字进行合并, 即可得到端口名称与端口类型的对应关系;
步骤 E、 一旦确定 CurrDevice及其设备的详细端口信息之后, 就可以根 据需要对设备进行操作。 在用户对设备模块提出设备切换请求之后, 设备模 块会将用户请求的设备信息放入 CurrDevice中, 本发明所涉及的设备管理不 包括设备的打开、 关闭操作, 只提供备选设备的设备信息及其详细的端口信 息待用户进行操作。 图 2为本发明提供的获取数据终端设备识别信息的系统实施例。 图 2所 示系统实施例, 包括:
第一获取装置 201,其设置成获取数据终端设备的 Ml号与端口类型的对 应关系;
第二获取装置 202, 其与所述第一获取装置 201相连, 并设置成: 从用 于记录操作系统所连接的 USB设备的属性信息的系统文件中,获取所述数据 终端设备在该 Linux系统中 Ml号与端口名称的对应关系; 以及
合并装置 203 , 其与所述第二获取装置 202相连, 并设置成: 合并所述 数据终端设备的 Ml号与端口类型的对应关系和所述数据终端设备的 Ml号与 端口名称的对应关系, 得到所述数据终端设备的端口类型和端口名称的对应 关系。
其中, 所述第一获取装置 201 , 是设置通过如下方式获取数据终端设备 的 Ml号与端口类型的对应关系: 获取数据终端设备的产品识别码; 以所述 数据终端设备的产品识别码为关键字, 从预先存储的各产品识别码所对应的 Ml号与端口类型的对应关系中, 得到所述数据终端设备的 Ml号与端口类型 的对应关系; 或者, 获取数据终端设备的产品识别码和供应商识别码; 以所 述数据终端设备的产品识别码和供应商识别码为关键字, 从预先存储的各产 品识别码和供应商识别码的组合所对应的 Ml号与端口类型的对应关系中, 得到所述数据终端设备的 Ml号与端口类型的对应关系。
图 3为图 2所示系统实施例中第一获取装置 201的结构示意图。 图 3所 示第一获取装置 201包括:
读取模块 301 , 其设置成从所述系统文件中, 读取所述数据终端设备对 应的目录为 "*-*" 的文件, 其中 *为整数;以及
第一获取模块 302, 其设置成: 在所述目录为 "*-*" 的文件中, 从目录 包括产品识别码信息的文件中获取所述产品识别码, 以及, 从目录包括供应 商识别码信息的文件中获取所述数据终端设备的供应商识别码。
其中, 所述第二获取装置包括:
第二获取模块, 其设置成: 从所述系统文件中所述数据终端设备对应的 目录为 "*-*" 的文件中, 获取该路径信息下目录为 "*-*:*.#" 的文件, 将目 录 "*_*:*.#" 中的 所在位作为所述数据终端设备一个端口的 Ml号; 以 及
第三获取模块, 其设置成: 在所述目录为 "*-*:*.#" 的文件下, 获取目 录为 ttyUSB*或者 ttyACM*的文件, 将目录 ttyUSB*或者 ttyACM*中的 "*" 所在位作为同一端口的端口名称, 从而得到该端口的 Ml号与端口名称的对 应关系;
其中 *和#均为整数。 可选地, 所述系统还包括:
分配装置, 其设置成: 为所述数据终端设备分配总线号和总线上的设备 地址, 将所述总线号和总线上的设备地址作为用于响应外部操作时识别所述 数据终端设备的标识。
本发明提供的系统实施例, 与现有技术相比, 利用系统文件格式的特点, 得到在当前系统中 Ml号与端口名称的对应关系,再结合已获取的 Ml号与端 口类型的对应关系, 就可以得到端口名称与端口类型的对应关系, 达到了获 取识别信息的目的, 与现有技术中的枚举方法相比, 需要花费的时间更短, 准确性更高, 达到了实时性的需要。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计 算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中, 所述计算机程序在相应的硬件平台上(如系统、 设备、 装置、 器件等)执行, 在执行时, 包括方法实施例的步骤之一或其组合。
可选地, 上述实施例的全部或部分步骤也可以使用集成电路来实现, 这 些步骤可以被分别制作成一个个集成电路模块, 或者将它们中的多个模块或 步骤制作成单个集成电路模块来实现。 这样, 本发明不限制于任何特定的硬 件和软件结合。
上述实施例中的各装置 /功能模块 /功能单元可以釆用通用的计算装置来 实现, 它们可以集中在单个的计算装置上, 也可以分布在多个计算装置所组 成的网络上。 上述实施例中的各装置 /功能模块 /功能单元以软件功能模块的形式实现 并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。 上述提到的计算机可读取存储介质可以是只读存储器, 磁盘或光盘等。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应以权利要求所述的保护范围为准。
工业实用性
与现有技术相比, 本发明利用系统文件格式的特点, 得到在当前系统中
Ml号与端口名称的对应关系 ,再结合已获取的 Ml号与端口类型的对应关系 , 就可以得到端口名称与端口类型的对应关系, 达到了获取识别信息的目的, 与现有技术中的枚举方法相比, 需要花费的时间更短, 准确性更高, 达到了 实时性的需要。

Claims

1、 一种获取数据终端设备的识别信息的方法, 包括:
获取数据终端设备的多功能端口 (Ml )号与端口类型的对应关系; 从用于记录系统连接的 USB设备的属性信息的系统文件中,获取所述数 据终端设备在所述系统中的 Ml号与端口名称的对应关系; 以及
合并所述数据终端设备的 Ml号与端口类型的对应关系和所述数据终端 设备的 Ml号与端口名称的对应关系, 得到所述数据终端设备的端口类型和 端口名称的对应关系。
2、 根据权利要求 1所述的方法, 其中, 获取数据终端设备的 Ml号与端 口类型的对应关系的方式包括:
方式一: 获取数据终端设备的产品识别码;
以所述数据终端设备的产品识别码为关键字, 从预先存储的各产品识别 码所对应的 Ml号与端口类型的对应关系中,得到所述数据终端设备的 Ml号 与端口类型的对应关系; 或者,
方式二: 获取数据终端设备的产品识别码和供应商识别码;
以所述数据终端设备的产品识别码和供应商识别码为关键字, 从预先存 储的各产品识别码和供应商识别码的组合所对应的 Ml号与端口类型的对应 关系中, 得到所述数据终端设备的 Ml号与端口类型的对应关系。
3、 根据权利要求 2所述的方法, 其中, 所述产品识别码和所述供应商识 别码是通过如下方式获取的:
从所述系统文件中, 读取所述数据终端设备对应的目录为 "*-*" 的文 件, 其中 *为整数; 以及
在所述目录为 "*-*" 的文件中, 从目录包括产品识别码信息的文件中 获取所述数据终端设备的产品识别码, 以及, 从目录包括供应商识别码信息 的文件中获取所述数据终端设备的供应商识别码。
4、 根据权利要求 1至 3任一所述的方法, 其中, 获取所述数据终端设备 在所述系统中的 MI号与端口名称的对应关系的步骤包括:
从所述系统文件中所述数据终端设备对应的目录为 "*-*" 的文件中, 获 取目录为 "*-*:*.#" 的文件, 将目录 "*_*:*.#" 中的 所在位作为所述数 据终端设备一个端口的 Ml号; 以及
在所述目录为 "*-*:*.#" 的文件下, 获取目录为 ttyUSB*或者 ttyACM* 的文件, 将目录 ttyUSB*或者 ttyACM*中的 "*" 所在位作为同一端口的端口 名称, 从而得到所述端口的 Ml号与端口名称的对应关系;
其中 *和#均为整数。
5、 根据权利要求 1所述的方法, 还包括:
为所述数据终端设备分配总线号和总线上的设备地址, 将所述总线号和 总线上的设备地址作为用于响应外部操作时识别所述数据终端设备的标识。
6、 一种获取数据终端设备的识别信息的系统, 包括:
第一获取装置, 其设置成获取数据终端设备的多功能端口 ( Ml )号与端 口类型的对应关系;
第二获取装置, 其设置成: 从用于记录操作系统所连接的 USB设备的属 性信息的系统文件中, 获取所述数据终端设备在该操作系统中的 Ml号与端 口名称的对应关系; 以及
合并装置, 其设置成: 合并所述数据终端设备的 Ml号与端口类型的对 应关系和所述数据终端设备的 Ml号与端口名称的对应关系, 得到所述数据 终端设备的端口类型和端口名称的对应关系。
7、 根据权利要求 6所述的系统, 其中,
所述第一获取装置是设置成通过以下方式获取数据终端设备的 Ml号与 端口类型的对应关系:
获取数据终端设备的产品识别码; 以所述数据终端设备的产品识别码为 关键字, 从预先存储的各产品识别码所对应的 Ml号与端口类型的对应关系 中, 得到所述数据终端设备的 Ml号与端口类型的对应关系; 或者 获取数据终端设备的产品识别码和供应商识别码; 以所述数据终端设备 的产品识别码和供应商识别码为关键字, 从预先存储的各产品识别码和供应 商识别码的组合所对应的 Ml号与端口类型的对应关系中, 得到所述数据终 端设备的 Ml号与端口类型的对应关系。
8、 根据权利要求 7所述的系统, 其中, 所述第一获取装置包括: 读取模块, 其设置成从所述系统文件中, 读取所述数据终端设备对应的 目录为 "*-*" 的文件, 其中 *为整数;
第一获取模块, 其设置成: 在所述目录为 "*-*" 的文件中, 从目录包 括产品识别码信息的文件中获取所述产品识别码, 以及, 从目录包括供应商 识别码信息的文件中获取所述数据终端设备的供应商识别码。
9、根据权利要求 6至 8任一所述的系统,其中,所述第二获取装置包括: 第二获取模块, 其设置成: 从所述系统文件中所述数据终端设备对应的 目录为 "*-*" 的文件中, 获取目录为 "*-*:*.#" 的文件, 将目录 "*_*:*.#" 中的 "#" 所在位作为所述数据终端设备一个端口的 Ml号; 以及
第三获取模块, 其设置成: 在所述目录为 "*-*:*.#" 的文件下, 获取目 录为 ttyUSB*或者 ttyACM*的文件, 将目录 ttyUSB*或者 ttyACM*中的 "*" 所在位作为同一端口的端口名称, 从而得到所述端口的 Ml号与端口名称的 对应关系;
其中 *和#均为整数。
10、 根据权利要求 9所述的系统, 还包括:
分配装置, 其设置成: 为所述数据终端设备分配总线号和总线上的设备 地址, 将所述总线号和总线上的设备地址作为用于响应外部操作时识别所述 数据终端设备的标识。
PCT/CN2011/081028 2011-07-08 2011-10-20 获取数据终端设备识别信息的方法和系统 WO2012155452A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
BR112013029123A BR112013029123A2 (pt) 2011-07-08 2011-10-20 método e sistema para a obtenção de informações de identificação de um dispositivo terminal de dados
EP11865462.3A EP2720152A4 (en) 2011-07-08 2011-10-20 METHOD AND SYSTEM FOR OBTAINING IDENTIFICATION INFORMATION OF A DATA END USER

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110191470.7 2011-07-08
CN201110191470.7A CN102393848B (zh) 2011-07-08 2011-07-08 获取数据终端设备识别信息的方法和系统

Publications (1)

Publication Number Publication Date
WO2012155452A1 true WO2012155452A1 (zh) 2012-11-22

Family

ID=45861172

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/081028 WO2012155452A1 (zh) 2011-07-08 2011-10-20 获取数据终端设备识别信息的方法和系统

Country Status (4)

Country Link
EP (1) EP2720152A4 (zh)
CN (1) CN102393848B (zh)
BR (1) BR112013029123A2 (zh)
WO (1) WO2012155452A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105930243A (zh) * 2016-04-18 2016-09-07 深圳市德名利电子有限公司 一种测试usb设备的端口确定方法及系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468260A (zh) * 2014-11-13 2015-03-25 百度在线网络技术(北京)有限公司 一种移动终端设备的识别方法、装置及系统
CN104820647B (zh) * 2015-03-20 2017-12-29 惠州Tcl移动通信有限公司 一种处理usb接口信息的方法及终端
CN105430565B (zh) * 2015-10-29 2019-04-26 广州番禺巨大汽车音响设备有限公司 基于双docking接口实现数据接入的方法及系统
CN106445847A (zh) * 2016-09-12 2017-02-22 天脉聚源(北京)传媒科技有限公司 一种u盘sn码的获取方法及装置
CN109951860B (zh) * 2017-12-21 2022-07-08 深圳Tcl新技术有限公司 一种获取wifi信息的方法、智能电视及存储介质
CN108280034A (zh) * 2018-01-30 2018-07-13 深圳市宏电技术股份有限公司 一种安卓系统usb-hid设备自适应方法及装置
CN109254935A (zh) * 2018-08-17 2019-01-22 青岛海信电器股份有限公司 智能电视外接存储设备类型的识别方法和装置
CN113886302A (zh) * 2021-10-19 2022-01-04 深圳市元征科技股份有限公司 应用设备的串口号获取方法、装置、终端设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609829A (zh) * 2003-10-24 2005-04-27 英业达股份有限公司 Linux操作系统下对USB设备即插即用的方法
CN1632774A (zh) * 2004-04-30 2005-06-29 山东新北洋信息技术股份有限公司 Usb接口设备的识别方法
CN101853224A (zh) * 2010-04-21 2010-10-06 中兴通讯股份有限公司 一种Linux系统数据卡设备端口识别的方法及装置
US20110156872A1 (en) * 2009-12-31 2011-06-30 Alcatel-Lucent Usa Inc. Smart rfid reader/router

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981080B2 (en) * 2001-01-31 2005-12-27 Hewlett-Packard Development Company, L.P. Look-up table based USB identification
US20070204070A1 (en) * 2006-02-27 2007-08-30 Kyocera Mita Corporation USB device, USB system and recording medium storing USB control program
US7707323B2 (en) * 2006-09-11 2010-04-27 Research In Motion Limited Method and apparatus for enabling enhanced USB interaction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609829A (zh) * 2003-10-24 2005-04-27 英业达股份有限公司 Linux操作系统下对USB设备即插即用的方法
CN1632774A (zh) * 2004-04-30 2005-06-29 山东新北洋信息技术股份有限公司 Usb接口设备的识别方法
US20110156872A1 (en) * 2009-12-31 2011-06-30 Alcatel-Lucent Usa Inc. Smart rfid reader/router
CN101853224A (zh) * 2010-04-21 2010-10-06 中兴通讯股份有限公司 一种Linux系统数据卡设备端口识别的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105930243A (zh) * 2016-04-18 2016-09-07 深圳市德名利电子有限公司 一种测试usb设备的端口确定方法及系统

Also Published As

Publication number Publication date
CN102393848B (zh) 2017-05-24
EP2720152A1 (en) 2014-04-16
EP2720152A4 (en) 2014-08-06
CN102393848A (zh) 2012-03-28
BR112013029123A2 (pt) 2017-02-07

Similar Documents

Publication Publication Date Title
WO2012155452A1 (zh) 获取数据终端设备识别信息的方法和系统
JP5728130B2 (ja) 多段階多ソースバックアップの方法と装置
JP5851023B2 (ja) 電力状態ベースのバックアップの方法と装置
JP5819518B2 (ja) 多ソース復元の方法と装置
US8819319B2 (en) Computer system and method for inheriting HBA identifier of PCI card
US20070248311A1 (en) System and method for transferring data between electronic data storage devices
US8230121B2 (en) Method and apparatus for identifying a device handle in a computer system
CN101853224B (zh) 一种Linux系统数据卡设备端口识别的方法及装置
US9384098B1 (en) Portable data archiving device
JP2011008402A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2010219725A (ja) ネットワーク装置および外部記憶装置をネットワーク上に公開する方法
WO2014185948A1 (en) Extraction of operating system-specific characteristics via a communication interface
CN113608790A (zh) 基于Linux系统的串口设备自适配管理方法、系统及存储介质
CN111294413B (zh) 一种互联网协议ip地址的确定方法、装置和可读介质
US11288078B1 (en) Providing firmware specific information via ACPI tables
WO2013189388A2 (zh) 一种接入usb网卡的方法、usb网卡及pc
CN101853142B (zh) 一种带虚拟光驱的usb设备的识别方法
CN100449472C (zh) 一种处理磁盘热插拔的方法及装置
KR100733742B1 (ko) 휴대용 정보처리 단말기 및 상기 단말기의 통신 시스템
US9104671B2 (en) Automatic storage media content cataloging
CN101216809A (zh) 全usb接口通用数字家电计算盒及其构建数字家电的方法
CN110187844B (zh) 一种硬raid设备节点自动识别及挂载的方法及装置
US10642839B2 (en) Associating hardware to store applications
KR100754195B1 (ko) 멀티미디어 장치의 데이터 백업 방법
JPWO2013046334A1 (ja) 情報処理装置,基本システム起動方法,及び基本システム起動プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11865462

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2011865462

Country of ref document: EP

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013029123

Country of ref document: BR

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 112013029123

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20131112