CN114090190A - External device identification system and external device identification method - Google Patents
External device identification system and external device identification method Download PDFInfo
- Publication number
- CN114090190A CN114090190A CN202111439254.XA CN202111439254A CN114090190A CN 114090190 A CN114090190 A CN 114090190A CN 202111439254 A CN202111439254 A CN 202111439254A CN 114090190 A CN114090190 A CN 114090190A
- Authority
- CN
- China
- Prior art keywords
- data
- external device
- module
- equipment
- external
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
The embodiment of the invention discloses an external equipment identification system and an external equipment identification method, wherein the system comprises: the first interaction module is used for acquiring external equipment data after the external equipment is detected to be inserted into the client equipment, and sending the external equipment data to the transmission module, wherein the external equipment data comprises an equipment descriptor; the transmission module is used for transmitting the external equipment data to the virtual host control module; the virtual host control module is used for virtually generating hardware equipment according to the external equipment data and sending the external equipment data to the second interaction module through the hardware equipment; the second interaction module is used for determining the external equipment by the external equipment data so as to enable the server side equipment to identify the external equipment. The embodiment of the invention optimizes specific steps in the data transmission process of the external equipment, improves the data transmission efficiency and reduces network resources required under the abnormal network environment.
Description
Technical Field
The present invention relates to the field of communications technologies, and in particular, to an external device identification system and an external device identification method.
Background
With the development of cloud desktop technology, more and more users are beginning to use a thin client device and a cloud desktop application to implement the assembly of a Personal Computer (PC).
When a user inserts an external device, such as a keyboard or a mouse connected based on a Universal Serial Bus (USB) into the thin client device, the local cloud desktop application sends related information of the external device to the server device, so that the server device identifies the external device and responds to an operation instruction triggered by the user through the external device.
However, if there is a network delay or a network fluctuation packet drop in the process of identifying and responding the external device by the server device, the use of the external device will be delayed to some extent, and even the driver corresponding to the external device will be failed, and the external device cannot be used.
Disclosure of Invention
In view of the above, the present invention provides an external device identification system and an external device identification method, which are used to improve the current situation that the external device is difficult to be used normally due to network delay or network fluctuation packet drop.
In a first aspect, an embodiment of the present invention provides an external device identification system, including a server device and a client device for inserting an external device, where the client device is in communication connection with the server device;
the client equipment comprises a first interaction module and a transmission module, and the server equipment comprises a virtual host control module and a second interaction module;
the first interaction module is used for acquiring external device data based on a universal serial bus protocol after the external device is detected to be inserted into the client device, and sending the external device data to the transmission module, wherein the external device data comprises a device descriptor;
the transmission module is used for transmitting the external equipment data received from the first interaction module to the virtual host control module;
the virtual host control module is configured to receive the external device data sent by the transmission module, virtually generate a hardware device corresponding to the usb protocol according to the external device data, and send the external device data to the second interaction module through the hardware device;
the second interaction module is configured to determine the external device according to the external device data sent by the virtual host control module, so that the server device identifies the external device.
Optionally, in an implementation manner provided in the embodiment of the present invention, the transmission module is specifically configured to encapsulate the external device data received from the first interaction module according to a transmission control protocol, obtain encapsulated data, and send the encapsulated data to the virtual host control module;
the virtual host control module is specifically configured to receive and analyze the encapsulation data to obtain the external device data, virtually generate a hardware device corresponding to the universal serial bus protocol according to the external device data, and send the external device data to the second interaction module through the hardware device.
Optionally, in an implementation manner provided in the embodiment of the present invention, the transmission module is specifically configured to compress the external device data received from the first interaction module according to a preset compression algorithm, obtain compressed data, and send the compressed data to the virtual host control module;
the virtual host control module is specifically configured to receive and decompress the compressed data to obtain the external device data, virtually generate a hardware device corresponding to the universal serial bus protocol according to the external device data, and send the external device data to the second interaction module through the hardware device.
Further, in an implementation manner provided by the embodiment of the present invention, the transmission module is specifically configured to scan the external device data according to a preset step size and a preset window size to obtain scanned repeated data and non-repeated data, obtain compressed data according to the repeated data and the non-repeated data, and send the compressed data to the virtual host control module.
Optionally, in an implementation manner provided by the embodiment of the present invention, the client device and the server device are in communication connection based on a transmission control protocol or a user data packet protocol.
In a second aspect, an embodiment of the present invention provides an external device identification method, which is applied to a server device and a client device for inserting an external device, where the client device is in communication connection with the server device;
the client equipment comprises a first interaction module and a transmission module, and the server equipment comprises a virtual host control module and a second interaction module;
the first interaction module acquires external equipment data based on a universal serial bus protocol after detecting that the external equipment is inserted into the client equipment, and sends the external equipment data to the transmission module, wherein the external equipment data comprises an equipment descriptor;
the transmission module sends the external device data received from the first interaction module to the virtual host control module;
the virtual host control module receives the external device data sent by the transmission module, virtually generates a hardware device corresponding to the universal serial bus protocol according to the external device data, and sends the external device data to the second interaction module through the hardware device;
and the second interaction module determines the external equipment according to the external equipment data sent by the virtual host control module so that the server side equipment can identify the external equipment.
Optionally, in an implementation manner provided by the embodiment of the present invention, the sending, by the transmission module, the external device data received from the first interaction module to the virtual host control module includes:
the transmission module encapsulates the external equipment data received from the first interaction module according to a transmission control protocol to obtain encapsulated data and sends the encapsulated data to the virtual host control module;
the virtual host control module receives the external device data sent by the transmission module, virtually generates a hardware device corresponding to the universal serial bus protocol according to the external device data, and sends the external device data to the second interaction module through the hardware device, including:
the virtual host control module receives and analyzes the encapsulation data to obtain the external equipment data;
and virtually generating hardware equipment corresponding to the universal serial bus protocol according to the external equipment data, and sending the external equipment data to the second interaction module through the hardware equipment.
Further, in an implementation manner provided by the embodiment of the present invention, the sending, by the transmission module, the external device data received from the first interaction module to the virtual host control module includes:
the transmission module compresses the external equipment data received from the first interaction module according to a preset compression algorithm to obtain compressed data and sends the compressed data to the virtual host control module;
the virtual host control module receives the external device data sent by the transmission module, virtually generates a hardware device corresponding to the universal serial bus protocol according to the external device data, and sends the external device data to the second interaction module through the hardware device, and the method includes:
the virtual host control module receives and decompresses the compressed data to obtain the external device data;
and virtually generating hardware equipment corresponding to the universal serial bus protocol according to the external equipment data, and sending the external equipment data to the second interaction module through the hardware equipment.
Optionally, in an implementation manner provided by the embodiment of the present invention, the compressing, by the transmission module, the external device data received from the first interaction module according to a preset compression algorithm to obtain compressed data, and sending the compressed data to the virtual host control module, includes:
the transmission module is specifically used for scanning the external equipment data according to a preset step length and a preset window size to obtain scanned repeated data and non-repeated data;
and obtaining compressed data according to the repeated data and the unrepeated data, and sending the compressed data to the virtual host control module.
Optionally, in an implementation manner provided by the embodiment of the present invention, the client device and the server device are in communication connection based on a transmission control protocol or a user data packet protocol.
In the external device identification system disclosed by the embodiment of the invention, the first interaction module is used for acquiring external device data, such as a device descriptor of the external device, and sending the external device data to the transmission module after detecting that the external device is inserted into the client device; the transmission module is used for transmitting the external equipment data to the virtual host control module; the virtual host control module is used for virtually generating hardware equipment according to the external equipment data and sending the external equipment data to the second interaction module through the hardware equipment; the second interaction module is used for determining the external equipment by the external equipment data so as to enable the server side equipment to identify the external equipment.
Based on the above, the embodiment of the invention optimizes the step that the external device data needs to be sent to the cloud desktop application client for data interaction in the external device data transmission process, and improves the identification efficiency of the external device; and the steps of data fragmentation and data combination are omitted, the data transmission efficiency is improved, and the network resources required under the abnormal network environment are reduced.
Drawings
In order to more clearly illustrate the technical solution of the present invention, the drawings required to be used in the embodiments will be briefly described below, and it should be understood that the following drawings only illustrate some embodiments of the present invention, and therefore should not be considered as limiting the scope of the present invention. Like components are numbered similarly in the various figures.
Fig. 1 is a schematic structural diagram illustrating an external device identification system according to an embodiment of the present invention;
fig. 2 is a schematic flow chart illustrating an external device identification method according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments.
The components of embodiments of the present invention generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present invention, presented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present invention without making any creative effort, shall fall within the protection scope of the present invention.
Hereinafter, the terms "including", "having", and their derivatives, which may be used in various embodiments of the present invention, are only intended to indicate specific features, numbers, steps, operations, elements, components, or combinations of the foregoing, and should not be construed as first excluding the existence of, or adding to, one or more other features, numbers, steps, operations, elements, components, or combinations of the foregoing.
Furthermore, the terms "first," "second," "third," and the like are used solely to distinguish one from another and are not to be construed as indicating or implying relative importance.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which various embodiments of the present invention belong. The terms (such as those defined in commonly used dictionaries) should be interpreted as having a meaning that is consistent with their contextual meaning in the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein in various embodiments of the present invention.
Referring to fig. 1, fig. 1 shows a schematic structural diagram of an external device identification system according to an embodiment of the present invention, where the external device identification system 100 according to an embodiment of the present invention includes a server device 110 and a client device 120 for inserting an external device, and the client device 120 is communicatively connected to the server device 110;
the client device 120 comprises a first interaction module 121 and a transmission module 122, and the server device 110 comprises a virtual host control module 111 and a second interaction module 112;
the first interaction module 121 is configured to, after detecting that the external device is inserted into the client device 120, obtain external device data based on a universal serial bus protocol, and send the external device data to the transmission module 122, where the external device data includes a device descriptor;
the transmission module 122 is configured to send the external device data received from the first interaction module 121 to the virtual host control module 111;
the virtual host control module 111 is configured to receive the external device data sent by the transmission module 122, virtually generate a hardware device corresponding to the universal serial bus protocol according to the external device data, and send the external device data to the second interaction module 112 through the hardware device;
the second interaction module 112 is configured to determine the external device according to the external device data sent by the virtual host control module 111, so that the server device 110 identifies the external device.
It should be understood that the embodiment of the present invention is applied to a C/S (Client/Server) architecture system, and can be used for implementing a cloud desktop technology. The external device may be a USB (Universal Serial Bus) device, i.e., an input or output device for performing data interaction based on a Universal Serial Bus standard, and therefore, the first interaction module 121 interacts with the external device based on a Universal Serial Bus protocol.
That is, the first interaction module 121 in the embodiment of the present invention identifies the external device after detecting that the external device is inserted, that is, enumerates device description data of the external device, where the device description data is used to describe the external device, such as a device descriptor and a configuration descriptor. The first interaction module 121 sends the enumerated device description data to the transmission module 122, so that the transmission module 122 sends the external data to the virtual host control module 111 of the server device 110.
It can also be understood that, the first interaction module 121 obtains device description data used for describing the external device in the external device data, and also includes data that the user wants to write in the external device, for example, when the external device is a usb disk, the user stores the file resource into the usb disk by using the computer device, and the first interaction module 121 writes the file resource into the usb disk based on the universal serial bus standard; the data that the user wants to read from the external device through the client device is also included, for example, the first interaction module 121 writes the file resource in the usb disk into the computer device based on the usb standard; the operation data is triggered by the external device through the user, for example, when the external device is a mouse and the user moves the mouse, the mouse determines the operation data according to the user action, and the first interaction module 121 sends the operation data to the computer device based on the universal serial bus standard, so that the computer device responds to the operation data.
Optionally, in an optional manner provided in the embodiment of the present invention, the first interaction module 121 includes a first USB stack of the client device.
The transmission module 122 is configured to transmit the external device data sent by the first interaction module 121 to the virtual host control module 111 of the server device 110.
Optionally, in a possible manner, the transmission module 122 includes a network protocol stack.
It should be noted that, in a common manner of implementing external device data transmission in a cloud desktop technology, the external device data needs to be transmitted through a cloud desktop application client, the cloud desktop application client is used to bridge the first interaction module 121 and the transmission module 122, that is, the first interaction module 121 sends the acquired external device data to the cloud desktop application client, and the cloud desktop application client forwards the received external device data to the transmission module 122, so that the transmission module 122 sends the external device data to the virtual host control module 111.
In the embodiment of the present invention, the first interaction module 121 sends the external device data to the transmission module 122, so as to reduce the steps required for data transmission, and further reduce the time for the server device 110 to respond to the external device.
Further, the virtual host control module 111 disposed in the server device 110 may be configured to virtually generate each bottom layer hardware, such as a video card and a network card, required by the server device 110. In the embodiment of the present invention, the virtual host control module 111 plays a role in data transmission and reception. Furthermore, the virtual host control module 111 is configured to virtually generate a hardware device corresponding to the universal serial bus protocol in addition to data transmission and reception, to identify the external device data sent by the transmission module 122, and to call a corresponding scheduling method according to the universal serial bus protocol to notify the second interaction module 112 of receiving the external device data. It is understood that different usb protocols may correspond to different scheduling methods.
It is understood that the user may implement the virtual Host control module 111 through an application program preset in the server device, and the virtual Host control module 111 exemplarily includes a Virtual Host Controller Interface (VHCI) Controller implemented by the user according to a virtual operating system simulator.
It should be further noted that, in the process of performing external device data Transmission between a common client device and a server device, a Transmission module of the client device encapsulates external device fragments based on a Transmission Control Protocol (TCP) so as to send the external device data processed by the fragments to a virtual Transmission hardware device, such as a virtual network card, of the server device; the virtual transmission hardware equipment combines the external equipment data to obtain complete external equipment data, sends the complete external equipment data to the transmission module of the server-side equipment, and then the transmission module of the server-side equipment delivers the complete external equipment data to the interaction module of the server-side equipment to complete the external equipment data transmission between the client-side equipment and the server-side equipment.
It will be appreciated that the virtual transport hardware device is only used to establish a communication connection with the transport module of the client device and to consolidate the fragmented external device data and not to analyze or control the external device data.
The transmission module of the server device and the interaction module of the server device are both modules in a kernel of an operating system carried by the server device, and it is known that data transmission of the server device is actually completed in the kernel of the operating system.
It can be understood that since the external device data transmission is essentially completed in the system kernel, the analysis or control of the external device data in the system kernel is more complicated and costly. In particular, since the relevant code of the Windows kernel is not open source, analysis or control of external device data in the Windows kernel is more difficult.
Therefore, in the embodiment of the present invention, the virtual host control module 111 virtualizes corresponding underlying hardware to receive complete external device data instead of fragmented external device data, and the virtual host control module 111 is used to send the external device data to the second interaction module 112.
It can be understood that, compared with the system kernel, the difficulty and cost of analyzing and controlling the external device data in the virtual host control module 111 are lower, and since the received complete external device data is complete, the process that the server device needs to merge data is reduced, and the data transmission efficiency is improved.
Further, the second interaction module 112 and the first interaction module 121 both have similar functions and are used for acquiring external device data and performing data exchange with a corresponding lower layer module/lower layer device, for example, the second interaction module 112 performs data exchange with the virtual host control module 111, and the first interaction module 121 performs data exchange with an external device.
Similarly, in one possible approach, the second interaction module 112 includes a second USB stack of the server device.
It should be understood that, although the external device identification system disclosed in the embodiment of the present invention is a scheme for enabling the server device to identify the external device, the connection mode of each module in the external device identification can also complete corresponding interaction of external device data. If the acquired external device operation data is sent to the virtual host control module 111 through the second interaction module 112, the virtual host control module 111 receives the external device operation data based on the universal serial bus standard and sends the external device operation data to the transmission module 122, and the transmission module 122 sends the external device operation data to the first interaction module 121, so that the first interaction module 121 interacts with the external device according to the external device operation data.
Therefore, the external device identification system provided by the embodiment of the invention optimizes the current situation that the external device data needs to be transmitted through the cloud desktop application client, so that the first interaction module 121 directly transmits the external device data to the transmission module 122, the steps required for external device data transmission are reduced, and the identification efficiency of the external device is improved; moreover, when the transmission module 122 interacts with the virtual host control module 111 of the server device 110, the transmission module 122 directly sends complete external device data, so that the server device 110 can analyze the external device data according to the virtual host control module 111, and a step of data merging is omitted, thereby improving data transmission efficiency and reducing network resources required under an abnormal network environment.
Optionally, in an implementation manner provided in the embodiment of the present invention, the transmission module 122 is specifically configured to encapsulate, according to a transmission control protocol, the external device data received from the first interaction module 121, obtain encapsulated data, and send the encapsulated data to the virtual host control module 111;
the virtual host control module 111 is specifically configured to receive and analyze the encapsulation data to obtain the external device data, virtually generate a hardware device corresponding to the usb protocol according to the external device data, and send the external device data to the second interaction module 112 through the hardware device.
That is, in this embodiment, transport module 122 interacts with virtual host control module 111 based on TCP. It can be understood that, compared with UDP (User data packet Protocol), the data transmission process based on TCP is more stable, the problems of packet loss and the like in the data transmission process can be avoided, and the ordered transmission of data and the accuracy of data can be ensured.
Optionally, in an implementation manner provided in the embodiment of the present invention, the transmission module 122 is specifically configured to compress the external device data received from the first interaction module 121 according to a preset compression algorithm, obtain compressed data, and send the compressed data to the virtual host control module 111;
the virtual host control module 111 is specifically configured to receive and decompress the compressed data to obtain the external device data, virtually generate a hardware device corresponding to the usb protocol according to the external device data, and send the external device data to the second interaction module 112 through the hardware device.
That is, in this embodiment, the transmission module 122 compresses the data to be transmitted in advance, so as to reduce the bandwidth resource occupied by network transmission, and further improve the dependence of the external device identification process on the network environment.
Further, in an implementation manner provided by the embodiment of the present invention, the transmission module 122 is specifically configured to scan the external device data according to a preset step size and a preset window size, obtain scanned repeated data and non-repeated data, obtain compressed data according to the repeated data and the non-repeated data, and send the compressed data to the virtual host control module 111.
In other words, the transmission module 122 scans the external device data according to the preset step length and the preset window size to obtain a plurality of external device data with the preset window size; compressing the same data, namely the repeated data, in the external equipment data with the preset window size to reduce the bandwidth resources required by the repeated data in the transmission process; the compressed data is obtained by combining the repeated data and the non-repeated data, so as to reduce the bandwidth resource required for the communication between the transmission module 122 and the virtual host control module 111.
Optionally, in an implementation manner provided by the embodiment of the present invention, the client device 120 and the server device 110 are connected based on a transmission control protocol or a user data packet protocol.
Corresponding to the external device identification system provided by the embodiment of the present invention, an external device identification method is further provided by the embodiment of the present invention, referring to fig. 2, and fig. 2 shows a flow diagram of the external device identification method provided by the embodiment of the present invention, the external device identification method provided by the embodiment of the present invention is applied to a server device and a client device for inserting the external device, and the client device and the server device are in communication connection:
the client equipment comprises a first interaction module and a transmission module, and the server equipment comprises a virtual host control module and a second interaction module;
s110, after detecting that the external device is inserted into the client device, the first interaction module acquires external device data based on a universal serial bus protocol and sends the external device data to the transmission module, wherein the external device data comprises a device descriptor;
s120, the transmission module sends the external device data received from the first interaction module to the virtual host control module;
s130, the virtual host control module receives the external device data sent by the transmission module, virtually generates a hardware device corresponding to the universal serial bus protocol according to the external device data, and sends the external device data to the second interaction module through the hardware device;
s140, the second interaction module determines the external device according to the external device data sent by the virtual host control module, so that the server device identifies the external device.
It can be understood that the external device identification method disclosed in the embodiment of the present invention is used for executing the process steps shown in fig. 2 according to the external device identification system disclosed in the system embodiment shown in fig. 1, and the implementation scheme and the beneficial effect related to the external device identification system are also applicable to the external device identification method, which is not described herein again.
Optionally, in an implementation manner provided in the embodiment of the present invention, S120 includes:
the transmission module encapsulates the external equipment data received from the first interaction module according to a transmission control protocol to obtain encapsulated data and sends the encapsulated data to the virtual host control module;
further, S130 includes:
the virtual host control module receives and analyzes the encapsulation data to obtain the external equipment data;
and virtually generating hardware equipment corresponding to the universal serial bus protocol according to the external equipment data, and sending the external equipment data to the second interaction module through the hardware equipment.
Optionally, in an implementation manner provided in the embodiment of the present invention, S120 includes:
the transmission module compresses the external equipment data received from the first interaction module according to a preset compression algorithm to obtain compressed data and sends the compressed data to the virtual host control module;
further, S130 includes:
the virtual host control module receives and decompresses the compressed data to obtain the external device data;
and virtually generating hardware equipment corresponding to the universal serial bus protocol according to the external equipment data, and sending the external equipment data to the second interaction module through the hardware equipment.
Optionally, in an implementation manner provided by the embodiment of the present invention, the compressing, by the transmission module, the external device data received from the first interaction module according to a preset compression algorithm to obtain compressed data, and sending the compressed data to the virtual host control module, includes:
the transmission module is specifically used for scanning the external equipment data according to a preset step length and a preset window size to obtain scanned repeated data and non-repeated data;
and obtaining compressed data according to the repeated data and the unrepeated data, and sending the compressed data to the virtual host control module.
Optionally, in an implementation manner provided by the embodiment of the present invention, the client device and the server device are in communication connection based on a transmission control protocol or a user data packet protocol.
In the several embodiments provided in the present application, it should be understood that the disclosed system and method may be implemented in other ways. The system embodiments described above are merely illustrative, and the flowcharts and block diagrams in the figures, for example, illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, each functional module or unit in each embodiment of the present invention may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention or a part of the technical solution that contributes to the prior art in essence can be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a smart phone, a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention.
Claims (10)
1. An external device identification system is characterized by comprising a server-side device and a client-side device for inserting an external device, wherein the client-side device is in communication connection with the server-side device;
the client equipment comprises a first interaction module and a transmission module, and the server equipment comprises a virtual host control module and a second interaction module;
the first interaction module is used for acquiring external device data based on a universal serial bus protocol after the external device is detected to be inserted into the client device, and sending the external device data to the transmission module, wherein the external device data comprises a device descriptor;
the transmission module is used for transmitting the external equipment data received from the first interaction module to the virtual host control module;
the virtual host control module is configured to receive the external device data sent by the transmission module, virtually generate a hardware device corresponding to the usb protocol according to the external device data, and send the external device data to the second interaction module through the hardware device;
the second interaction module is configured to determine the external device according to the external device data sent by the virtual host control module, so that the server device identifies the external device.
2. The system according to claim 1, wherein the transmission module is specifically configured to encapsulate the external device data received from the first interaction module according to a transmission control protocol, obtain encapsulated data, and send the encapsulated data to the virtual host control module;
the virtual host control module is specifically configured to receive and analyze the encapsulation data to obtain the external device data, virtually generate a hardware device corresponding to the universal serial bus protocol according to the external device data, and send the external device data to the second interaction module through the hardware device.
3. The system according to claim 1, wherein the transmission module is specifically configured to compress the external device data received from the first interaction module according to a preset compression algorithm, obtain compressed data, and send the compressed data to the virtual host control module;
the virtual host control module is specifically configured to receive and decompress the compressed data to obtain the external device data, virtually generate a hardware device corresponding to the universal serial bus protocol according to the external device data, and send the external device data to the second interaction module through the hardware device.
4. The system according to claim 3, wherein the transmission module is specifically configured to scan the external device data according to a preset step size and a preset window size, obtain scanned repeated data and non-repeated data, obtain compressed data according to the repeated data and the non-repeated data, and send the compressed data to the virtual host control module.
5. The system of claim 1, wherein the client device and the server device are communicatively coupled based on a transmission control protocol or a transmission control protocol.
6. The external equipment identification method is applied to server equipment and client equipment for inserting the external equipment, wherein the client equipment is in communication connection with the server equipment;
the client equipment comprises a first interaction module and a transmission module, and the server equipment comprises a virtual host control module and a second interaction module;
the first interaction module acquires external equipment data based on a universal serial bus protocol after detecting that the external equipment is inserted into the client equipment, and sends the external equipment data to the transmission module, wherein the external equipment data comprises an equipment descriptor;
the transmission module sends the external device data received from the first interaction module to the virtual host control module;
the virtual host control module receives the external device data sent by the transmission module, virtually generates a hardware device corresponding to the universal serial bus protocol according to the external device data, and sends the external device data to the second interaction module through the hardware device;
and the second interaction module determines the external equipment according to the external equipment data sent by the virtual host control module so that the server side equipment can identify the external equipment.
7. The method of claim 6, wherein the transmitting module sending the external device data received from the first interactive module to the virtual host control module comprises:
the transmission module encapsulates the external equipment data received from the first interaction module according to a transmission control protocol to obtain encapsulated data and sends the encapsulated data to the virtual host control module;
the virtual host control module receives the external device data sent by the transmission module, virtually generates a hardware device corresponding to the universal serial bus protocol according to the external device data, and sends the external device data to the second interaction module through the hardware device, including:
the virtual host control module receives and analyzes the encapsulation data to obtain the external equipment data;
and virtually generating hardware equipment corresponding to the universal serial bus protocol according to the external equipment data, and sending the external equipment data to the second interaction module through the hardware equipment.
8. The method of claim 6, wherein the transmitting module sending the external device data received from the first interactive module to the virtual host control module comprises:
the transmission module compresses the external equipment data received from the first interaction module according to a preset compression algorithm to obtain compressed data and sends the compressed data to the virtual host control module;
the virtual host control module receives the external device data sent by the transmission module, virtually generates a hardware device corresponding to the universal serial bus protocol according to the external device data, and sends the external device data to the second interaction module through the hardware device, and the method includes:
the virtual host control module receives and decompresses the compressed data to obtain the external device data;
and virtually generating hardware equipment corresponding to the universal serial bus protocol according to the external equipment data, and sending the external equipment data to the second interaction module through the hardware equipment.
9. The method according to claim 8, wherein the transmitting module compresses the external device data received from the first interaction module according to a preset compression algorithm to obtain compressed data, and sends the compressed data to the virtual host control module, and the method comprises:
the transmission module is specifically used for scanning the external equipment data according to a preset step length and a preset window size to obtain scanned repeated data and non-repeated data;
and obtaining compressed data according to the repeated data and the unrepeated data, and sending the compressed data to the virtual host control module.
10. The method of claim 6, wherein the client device and the server device are communicatively coupled based on a transmission control protocol or a user data packet protocol.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111439254.XA CN114090190A (en) | 2021-11-30 | 2021-11-30 | External device identification system and external device identification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111439254.XA CN114090190A (en) | 2021-11-30 | 2021-11-30 | External device identification system and external device identification method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114090190A true CN114090190A (en) | 2022-02-25 |
Family
ID=80305712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111439254.XA Pending CN114090190A (en) | 2021-11-30 | 2021-11-30 | External device identification system and external device identification method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090190A (en) |
-
2021
- 2021-11-30 CN CN202111439254.XA patent/CN114090190A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109194647B (en) | Data transmission method and device, electronic equipment and storage medium | |
US20180157562A1 (en) | Virtual machine-based data transmission method, apparatus and system | |
CN102413150B (en) | Server and virtual desktop control method and virtual desktop control system | |
US20140143672A1 (en) | System and method for function expandable collaboration screen system | |
CN107292808B (en) | Image processing method and device and image coprocessor | |
CN111931188B (en) | Vulnerability testing method and system in login scene | |
CN113489805B (en) | Butt joint method, device, equipment and storage medium of cloud desktop system | |
CN105207975A (en) | Data transmission method and data transmission system for USB image equipment under VDI architecture | |
US20130138770A1 (en) | Apparatus and method for sharing web contents using inspector script | |
CN111569417A (en) | Peripheral data transmission method and system for cloud games | |
US20120166585A1 (en) | Apparatus and method for accelerating virtual desktop | |
CN112311720B (en) | Data transmission method and device | |
KR20220061926A (en) | Method and apparatus for switching skin of mini-program page, and electronic device | |
CN113746837A (en) | Information processing method and device, electronic equipment and computer readable medium | |
CN113159000A (en) | Face recognition method, device and system | |
CN105262491A (en) | Data compression method, data compression system, data decompression method, data decompression system and communication equipment | |
CN114090190A (en) | External device identification system and external device identification method | |
CN108132767B (en) | Application window preview method and system | |
CN109831673B (en) | Live broadcast room data processing method, device, equipment and storage medium | |
CN109308288B (en) | Data processing method and device | |
CN109586979B (en) | Message transmission method and device | |
CN108289165B (en) | Method and device for realizing camera control based on mobile phone and terminal equipment | |
CN115348333B (en) | Data transmission method, system and equipment based on UDP double-end communication interaction | |
CN108021459B (en) | Method and device for sending dotting logs across processes | |
CN107318129B (en) | Data processing method and device and terminal |
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 |