Methods and systems for cloud computing units to access terminal I / O devices
By introducing a combination of bus proxy unit and cloud computing unit into the terminal device, the problems of limited computing power and inconsistent user experience caused by the integration of computing unit and I/O device are solved. The cloud computing unit can access terminal I/O device, which improves the scalability and management convenience of computer system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA UNITED NETWORK COMM GRP CO LTD
- Filing Date
- 2023-10-24
- Publication Date
- 2026-06-30
AI Technical Summary
In existing computer systems, the computing unit and I/O device are integrated into the same device, which results in limited computing power, poor scalability, inconsistent user experience, and high difficulty in deployment, maintenance and management.
By adding a bus proxy unit to the terminal device, the cloud computing unit can access the terminal I/O device, and data transmission can be achieved on the network using a bus proxy program and a virtual bus driver, thus decoupling the physical integration between the computing unit and the I/O device.
It enables cloud computing units to access existing standard I/O devices via the network, making full use of existing I/O devices, adapting to the edge-cloud integrated computer architecture, improving computing power and user experience consistency, and simplifying deployment and maintenance.
Smart Images

Figure CN119892923B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communication technology, and in particular to a method for a cloud computing unit to access terminal I / O devices, a system for a cloud computing unit to access terminal I / O devices, an electronic device, and a computer-readable storage medium. Background Technology
[0002] PCs (Personal Computers), mobile phones, set-top boxes, and IoT terminals are all computer systems. A computer system generally consists of three functional components: multiple input / output devices with different functions, a processing unit, and memory. Taking a PC as an example, its input / output devices include a monitor, mouse, keyboard, speakers, and camera; it has a built-in CPU (Central Processing Unit) as its processing unit and a certain amount of RAM (Random Access Memory) as its storage. A typical small computing system model is as follows: Figure 1 As shown. The computer's processing unit and input / output devices (I / O devices) are connected via a communication bus to achieve data transmission. Small computer systems generally use short-range or board-level communication bus technologies, commonly including USB (Universal USB).
[0003] Serial Bus (Universal Serial Bus), PCI (Peripheral Component Interconnect, a standard defining local buses), I2C (Inter-Integrated Circuit, a bidirectional two-wire synchronous serial bus), etc. A single bus can connect multiple I / O devices simultaneously.
[0004] The arithmetic unit contains controller hardware for each bus and runs operating system software. To enable the software in the arithmetic unit to use the communication buses, the operating system needs to load drivers for each bus controller; similarly, to enable the software in the arithmetic unit to communicate with different I / O devices, the operating system needs to load drivers for each I / O device.
[0005] A characteristic of existing computer systems is that the computing unit and I / O devices are integrated into the same device, forming a terminal product with complete computing capabilities. In this technical architecture, existing short-range or board-level communication bus technologies are applicable and function well. However, this type of computer system has three main problems: First, due to its reliance on the integrated computing unit, its computing power is limited and difficult to expand; second, the computing performance varies greatly between different products, resulting in inconsistent user experiences for the same application across different terminals; and third, software needs to be installed on the terminal, leading to significant deployment, maintenance, and management challenges. Summary of the Invention
[0006] To at least address the aforementioned technical problems in the prior art, this disclosure provides a method for a cloud computing unit to access terminal I / O devices, a system for a cloud computing unit to access terminal I / O devices, an electronic device, and a computer-readable storage medium, enabling the cloud computing unit to access I / O devices on the terminal device; thus, it can make full use of the existing massive number of I / O devices and adapt to the new computer architecture of edge-cloud integration.
[0007] In a first aspect, this disclosure provides a method for a cloud computing unit to access terminal input / output (I / O) devices, applied to a bus proxy unit, the method comprising:
[0008] Identify the bus controller present in the terminal device and load the bus agent program;
[0009] Establish a network connection with the cloud computing unit, and enable the cloud computing unit to load the virtual bus driver and the device driver for the I / O device.
[0010] The bus proxy program receives data from I / O devices, forwards the data to the corresponding device driver through the virtual bus driver on the cloud computing unit, and forwards the data sent by the device driver to the bus proxy program through the virtual bus driver on the cloud computing unit to the corresponding I / O devices.
[0011] Furthermore,
[0012] The process of loading the virtual bus driver into the cloud computing unit includes:
[0013] The terminal device sends information about each bus to the cloud computing unit, enabling the cloud computing unit to load the virtual bus driver for each type of bus based on the bus information; and,
[0014] Establish a network connection with each virtual bus driver in the cloud computing unit;
[0015] The device driver program that enables the cloud computing unit to load I / O devices includes:
[0016] Initialize the communication bus and obtain information about the I / O devices connected to the bus;
[0017] The information of the I / O devices is sent to the virtual bus driver of the cloud computing unit through the network connection, so that the virtual bus driver loads the corresponding device driver according to the information of the I / O devices.
[0018] or,
[0019] The cloud computing unit communicates with the bus controller through a bus proxy program, enabling the cloud computing unit to obtain information about the I / O devices on the bus. Then, the virtual bus driver loads the corresponding device driver based on the I / O device information.
[0020] Furthermore, the initialization of the communication bus and the acquisition of I / O device information connected to the bus include:
[0021] Information about I / O devices can be obtained directly from the bus controller via a bus proxy program; or,
[0022] Receive the bus initialization command sent by the virtual bus driver to the bus agent;
[0023] The bus controller is initialized via a bus agent program according to the instructions for initializing the bus, in order to obtain information about the I / O devices connected to the bus.
[0024] Furthermore, the method also includes:
[0025] When there are multiple cloud computing units, a separate connection is established between the bus agent program and the cloud computing unit for each communication bus.
[0026] The separate connection is used for subsequent communication between the bus agent of the communication bus and the virtual bus driver corresponding to the communication bus.
[0027] Furthermore, establishing a network connection with the cloud computing unit includes:
[0028] Connect to the computing unit management server, query the address of the cloud computing unit to be connected, and provide the identifier of this terminal device during the query, so that the computing unit management server can determine the address information of the cloud computing unit to be connected based on the terminal device identifier, and return the address information of the cloud computing unit to be connected to the bus agent unit.
[0029] Connect to the cloud computing unit using the returned address information of the cloud computing unit.
[0030] Furthermore,
[0031] The method further includes:
[0032] When querying the address of the cloud computing unit to be connected to the computing unit management server, the system also provides identification information of the communication bus, so that the address information of the cloud computing unit returned by the computing unit management server to the bus proxy unit also includes the correspondence between the cloud computing unit and the communication bus.
[0033] The step of connecting to the cloud computing unit using the returned address information of the cloud computing unit includes:
[0034] Based on the correspondence between the cloud computing units and the communication bus, each bus agent program is connected to the corresponding cloud computing unit.
[0035] Secondly, this disclosure provides a method for a cloud computing unit to access terminal input / output (I / O) devices, applied to a cloud computing unit, the method comprising:
[0036] A network connection is established with the bus proxy unit, which identifies the bus controller present in the terminal device and loads the bus proxy program;
[0037] Loading the virtual bus driver based on the bus proxy unit; and...
[0038] The device driver for I / O devices is loaded based on the bus proxy unit;
[0039] The virtual bus driver forwards data from I / O devices to the corresponding device drivers. The data from I / O devices is received by the bus proxy unit through the bus proxy program and forwarded to the virtual bus driver. The data sent by the device driver to the I / O devices is sent to the bus proxy program through the virtual bus driver and then forwarded to the corresponding I / O devices through the bus proxy program.
[0040] Furthermore,
[0041] The loading of the virtual bus driver based on the bus proxy unit includes:
[0042] Receive information about each bus contained in the terminal device sent by the bus proxy unit;
[0043] The virtual bus driver for each type of bus is loaded based on the bus information;
[0044] Establish a network connection between each virtual bus driver and the bus agent unit;
[0045] The device driver program for loading I / O devices based on the bus proxy unit includes:
[0046] The virtual bus driver receives information about I / O devices sent by the bus proxy unit through the network connection. The information about I / O devices is obtained by the bus proxy unit after initializing the communication bus. The virtual bus driver then loads the corresponding device driver according to the information about the I / O devices.
[0047] or,
[0048] The virtual bus driver communicates with the bus controller through the bus agent to obtain information about the I / O devices on the bus, and then loads the corresponding device driver based on the I / O device information.
[0049] Furthermore,
[0050] Before receiving information about the I / O devices sent by the bus proxy unit via the network connection, the following is also included:
[0051] The virtual bus driver sends an instruction to the bus agent to initialize the bus, so that the bus agent unit initializes the bus controller through the bus agent according to the instruction to obtain information about the I / O devices connected to the bus.
[0052] Thirdly, this disclosure provides a system for a cloud computing unit to access terminal I / O devices, the system comprising a bus proxy unit and a cloud computing unit, the bus proxy unit comprising:
[0053] The first loading module is configured to identify the bus controller present in the terminal device and load the bus agent program;
[0054] The first connection module is configured to establish a network connection with the cloud computing unit, load the virtual bus driver for the cloud computing unit, and load the device driver for the I / O device for the cloud computing unit.
[0055] The transmission module is configured to receive data from I / O devices via a bus proxy program, forward the data to the corresponding device driver via a virtual bus driver on the cloud computing unit, and forward data sent by the device driver to the bus proxy program via the virtual bus driver on the cloud computing unit to the corresponding I / O devices.
[0056] Furthermore, the first connection module includes a first sending unit and a connection unit;
[0057] The first sending unit is configured to send the information of each bus contained in the terminal device to the cloud computing unit, so that the cloud computing unit can load the virtual bus driver for each type of bus according to the bus information.
[0058] The connection unit is configured to establish a network connection with each virtual bus driver in the cloud computing unit.
[0059] The first connection module further includes an initialization unit and a second sending unit;
[0060] The initialization unit is configured to initialize the communication bus and obtain information about the I / O devices connected to the bus.
[0061] The second sending unit is configured to send the information of the I / O device to the virtual bus driver of the cloud computing unit through a network connection, so that the virtual bus driver can load the corresponding device driver according to the information of the I / O device;
[0062] Alternatively, the first connection module may further include a relay unit;
[0063] The relay unit is configured to enable the cloud computing unit to communicate with the bus controller through a bus proxy program, and to enable the cloud computing unit to obtain information about the I / O devices on the bus. Then, the virtual bus driver loads the corresponding device driver according to the information of the I / O devices.
[0064] Furthermore, the initialization unit is specifically configured as follows:
[0065] Information about I / O devices can be obtained directly from the bus controller via a bus proxy program; or,
[0066] Receives the bus initialization command sent by the virtual bus driver to the bus agent; and,
[0067] The bus controller is initialized via a bus agent program according to the instructions for initializing the bus, in order to obtain information about the I / O devices connected to the bus.
[0068] Furthermore, the first connection module is also configured as follows:
[0069] When there are multiple cloud computing units, a separate connection is established between the bus agent program and the cloud computing unit for each communication bus.
[0070] The separate connection is used for subsequent communication between the bus agent of the communication bus and the virtual bus driver corresponding to the communication bus.
[0071] Furthermore, the first connection module is specifically configured as follows:
[0072] Connect to the computing unit management server, query the address of the cloud computing unit to be connected, and provide the identifier of this terminal device during the query, so that the computing unit management server can determine the address information of the cloud computing unit to be connected based on the terminal device identifier, and return the address information of the cloud computing unit to be connected to the bus agent unit.
[0073] Connect to the cloud computing unit using the returned address information of the cloud computing unit.
[0074] Furthermore, the first connection module is specifically configured as follows:
[0075] When querying the address of the cloud computing unit to be connected to the computing unit management server, the system also provides identification information of the communication bus, so that the address information of the cloud computing unit returned by the computing unit management server to the bus proxy unit also includes the correspondence between the cloud computing unit and the communication bus.
[0076] Based on the correspondence between the cloud computing units and the communication bus, each bus agent program is connected to the corresponding cloud computing unit.
[0077] Fourthly, this disclosure provides a system for a cloud computing unit to access terminal I / O devices, the system comprising a bus proxy unit and a cloud computing unit, the cloud computing unit comprising:
[0078] The second connection module is configured to establish a network connection with the bus proxy unit, which identifies the bus controller present in the terminal device and loads the bus proxy program.
[0079] The second loading module is configured to load the virtual bus driver based on the bus proxy unit;
[0080] The third loading module is configured to load the device driver for the I / O device based on the bus proxy unit;
[0081] The access module is configured to forward data from I / O devices to the corresponding device drivers via a virtual bus driver. The data from the I / O devices is received by the bus proxy unit through a bus proxy program and forwarded to the virtual bus driver. The data sent by the device driver to the I / O devices is sent to the bus proxy program through the virtual bus driver and then forwarded to the corresponding I / O devices through the bus proxy program.
[0082] Furthermore,
[0083] The second loading module is specifically configured as follows:
[0084] Receive information about each bus contained in the terminal device sent by the bus proxy unit;
[0085] The virtual bus driver for each type of bus is loaded based on the bus information;
[0086] Establish a network connection between each virtual bus driver and the bus agent unit;
[0087] The third loading module is specifically configured as follows:
[0088] The virtual bus driver receives information about I / O devices sent by the bus proxy unit through the network connection. The information about I / O devices is obtained by the bus proxy unit after initializing the communication bus. The virtual bus driver then loads the corresponding device driver according to the information about the I / O devices.
[0089] or,
[0090] The virtual bus driver communicates with the bus controller through the bus agent to obtain information about the I / O devices on the bus, and then loads the corresponding device driver based on the I / O device information.
[0091] Furthermore,
[0092] The third loading module is further configured to send an initialization bus instruction to the bus agent program via a virtual bus driver program before receiving information about I / O devices sent by the bus agent unit through a network connection. This allows the bus agent unit to initialize the bus controller through the bus agent program according to the initialization bus instruction, thereby obtaining information about the I / O devices connected to the bus.
[0093] Fifthly, this disclosure provides an electronic device including a memory and a processor, wherein the memory stores a computer program, and when the processor runs the computer program stored in the memory, the processor executes a method for a cloud computing unit to access terminal I / O devices as described in either the first or second aspect.
[0094] In a sixth aspect, this disclosure provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the method for a cloud computing unit to access a terminal I / O device as described in either the first or second aspect above.
[0095] Beneficial effects:
[0096] The method, system, electronic device, and storage medium for cloud computing units to access terminal I / O devices provided in this disclosure can enable cloud computing units to access I / O devices of existing technical standards via a network. It can reuse existing I / O controllers, bus controllers, device drivers, and other products, making full use of the existing massive number of I / O devices and adapting to the new computer architecture of edge-cloud integration. Attached Figure Description
[0097] Figure 1 This is a schematic diagram of a small computing system model;
[0098] Figure 2 A cloud computing unit access terminal I / O provided in Embodiment 1 of this disclosure
[0099] A flowchart illustrating the method for using the device;
[0100] Figure 3 This is a cloud computing unit access terminal I / O provided in Embodiment 2 of this disclosure.
[0101] A flowchart illustrating the method for using the device;
[0102] Figure 4 This is a cloud computing unit access terminal I / O provided in Embodiment 3 of this disclosure.
[0103] Basic structural diagram of the device system;
[0104] Figure 5 This is a cloud computing unit access terminal I / O provided in Embodiment 3 of this disclosure.
[0105] A flowchart illustrating the method for using the device;
[0106] Figure 6 An architecture diagram of a bus proxy unit provided in Embodiment 4 of this disclosure;
[0107] Figure 7 This is an architecture diagram of a cloud computing unit provided in Embodiment 5 of this disclosure;
[0108] Figure 8 This is an architectural diagram of an electronic device provided in Embodiment Six of this disclosure. Detailed Implementation
[0109] To enable those skilled in the art to better understand the technical solutions of this disclosure, the disclosure will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments and drawings described herein are merely for explaining the invention and are not intended to limit the invention.
[0110] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence; furthermore, in the absence of conflict, the embodiments and features in the embodiments of this disclosure can be arbitrarily combined with each other.
[0111] The terminology used in the embodiments of this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of this disclosure. The singular forms “a,” “the,” and “the” as used in the embodiments of this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.
[0112] In the following description, the use of suffixes such as “module,” “part,” or “unit” to denote elements is solely for the purpose of illustrative purposes and has no specific meaning in itself. Therefore, “module,” “part,” or “unit” may be used interchangeably.
[0113] The following detailed embodiments illustrate the technical solutions of this disclosure and how they solve the aforementioned technical problems in the prior art. It is understood that in the embodiments of this application, the executing entity may perform some or all of the steps in the embodiments of this application. These steps or operations are merely examples, and the embodiments of this application may also perform other operations or variations thereof. Furthermore, the steps may be executed in different orders as presented in the embodiments of this application, and it is not necessary to execute all the operations in the embodiments of this application. Moreover, the following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.
[0114] Figure 2 This is a flowchart illustrating a method for a cloud computing unit to access terminal I / O devices, as provided in Embodiment 1 of this disclosure. It is applied to a bus proxy unit, such as... Figure 2 As shown, the method includes:
[0115] Step S101: Identify the bus controller present in the terminal device and load the bus agent program;
[0116] Step S102: Establish a network connection with the cloud computing unit, and load the virtual bus driver and the device driver of the I / O device into the cloud computing unit.
[0117] Step S103: Receive data from I / O devices through the bus proxy program, forward the data to the corresponding device driver through the virtual bus driver on the cloud computing unit, and forward the data sent by the device driver to the I / O devices through the virtual bus driver on the cloud computing unit to the corresponding I / O devices.
[0118] To address the problems inherent in architectures that integrate computing units and I / O devices into the same device, this disclosure separates the computing unit from the terminal device and utilizes cloud computing power instead, forming an edge-cloud integrated computer architecture. In this new computer architecture, existing bus technologies are no longer applicable. Therefore, it is necessary to enable the cloud computing unit to access the I / O devices on the terminal device. This disclosure adds a bus proxy unit to the terminal device. This unit connects to the I / O devices in the south direction via existing bus technology and to the cloud-side computing unit (i.e., the cloud computing unit) in the north direction via a network. It converts the data transmission protocol on the bus to the data transmission protocol on the network, thereby enabling the cloud-side computing unit to communicate with the I / O devices within the terminal.
[0119] The bus proxy unit includes network connectivity devices and network communication software. In traditional computer systems, network connectivity devices are considered I / O devices, while network communication software is part of the processing unit software. However, in this disclosure, the bus proxy unit is an independent unit, and the network connectivity devices and network communication software it contains are not considered I / O devices or software of the computer system.
[0120] The bus proxy unit identifies the bus controllers present in the terminal device and loads a bus proxy program for each bus controller. The bus proxy program is responsible for communicating with the bus controller. Generally, terminal devices support a plug-and-play mechanism, which allows them to identify the bus controllers present in the terminal device.
[0121] The bus proxy unit obtains the network address information of the cloud computing unit. This network address information includes the cloud computing unit's IP address or domain name, as well as the TCP port number. The bus proxy unit can then establish a TCP connection with the cloud computing unit using this information.
[0122] The bus proxy unit initiates a network connection using the network address information of the cloud computing unit; it then synchronizes bus information with the cloud computing unit. After synchronizing the bus information, the cloud computing unit loads the virtual bus driver for each type of bus based on the bus information. Next, the cloud computing unit obtains information about the I / O devices connected to the bus and loads the corresponding device drivers.
[0123] When I / O devices send data to the computing unit, the bus proxy program receives the data from the I / O devices and forwards it to the virtual bus driver program via the network connection. The virtual bus driver program then forwards the data to the device driver program. When the cloud computing unit sends data to I / O devices, the device driver program first sends the data intended for the I / O devices to the virtual bus driver program. The virtual bus driver program forwards the data to the bus proxy program via the network connection, and then the bus proxy program forwards the data to the corresponding I / O devices.
[0124] This disclosure enables cloud computing units to access existing standard I / O devices via a network. Existing I / O controllers, bus controllers, and device drivers can be reused. The bus driver is split into a bus proxy program and a virtual bus driver, which communicate via a network connection. This approach fully utilizes the vast number of existing I / O devices and adapts to the new edge-cloud integrated computer architecture. The computing power of the I / O devices no longer depends on the integrated computing unit within the device; computing power is unrestricted and easily expandable. Furthermore, because a cloud computing unit is used, the user experience is consistent across different terminals. The virtual bus driver and device driver are installed by the cloud computing unit, reducing reliance on terminal capabilities and facilitating unified deployment and maintenance management.
[0125] Furthermore,
[0126] The process of loading the virtual bus driver into the cloud computing unit includes:
[0127] The terminal device sends information about each bus to the cloud computing unit, enabling the cloud computing unit to load the virtual bus driver for each type of bus based on the bus information; and,
[0128] Establish a network connection with each virtual bus driver in the cloud computing unit;
[0129] The device driver program that enables the cloud computing unit to load I / O devices includes:
[0130] Initialize the communication bus and obtain information about the I / O devices connected to the bus;
[0131] The information of the I / O devices is sent to the virtual bus driver of the cloud computing unit through the network connection, so that the virtual bus driver loads the corresponding device driver according to the information of the I / O devices.
[0132] or,
[0133] The cloud computing unit communicates with the bus controller through a bus proxy program, enabling the cloud computing unit to obtain information about the I / O devices on the bus. Then, the virtual bus driver loads the corresponding device driver based on the I / O device information.
[0134] The method for establishing a network connection between the bus proxy unit and the cloud computing unit can be as follows: A network connection is established between the bus proxy unit and the computing unit. The bus proxy unit sends information about each bus contained in the device to the cloud computing unit. The information for each bus must include at least the bus type. After synchronizing the bus information, the computing unit loads the virtual bus driver for each type of bus based on the bus information. For example, if the bus information includes both USB and PCI types, the cloud computing unit loads the virtual bus driver for both the USB and PCI buses simultaneously. This establishes a network connection between the bus proxy unit and each virtual bus driver in the cloud computing unit.
[0135] When loading the I / O device information and corresponding device drivers for the cloud computing unit, the cloud computing unit needs to obtain the information of the I / O devices on the bus. This can be done by the bus proxy unit through the initialization of the communication bus and sending it to the cloud computing unit. Generally, the bus proxy unit will allocate system resources to the bus controller after identifying it (this is a plug-and-play mechanism), including the address range needed to access the internal registers of the bus controller and the interrupt number needed to receive the bus controller's interrupt signal. The initialization of the bus controller includes a series of accesses to its internal registers and setting interrupt vectors. After the bus controller initialization is complete, the bus proxy unit can obtain the information of the I / O devices connected to the bus. The information includes the type of I / O device; the bus proxy program of the bus proxy unit sends the I / O device information to the virtual bus driver through the network connection. The virtual bus driver loads the corresponding device driver according to the I / O device information.
[0136] In another preferred embodiment of this disclosure, the virtual bus driver of the cloud computing unit can also communicate with the bus controller through a bus proxy program to obtain information about the I / O devices, including the type of the I / O devices. The virtual bus driver then loads the corresponding device driver based on the I / O device information.
[0137] Furthermore, the initialization of the communication bus and the acquisition of I / O device information connected to the bus include:
[0138] Information about I / O devices can be obtained directly from the bus controller via a bus proxy program; or,
[0139] Receive the bus initialization command sent by the virtual bus driver to the bus agent;
[0140] The bus controller is initialized via a bus agent program according to the instructions for initializing the bus, in order to obtain information about the I / O devices connected to the bus.
[0141] The bus proxy unit can initialize the communication bus after receiving the bus initialization command sent by the virtual bus driver to the bus proxy program. Alternatively, the bus proxy unit can initialize the bus before establishing a network connection with the arithmetic unit, directly obtaining information about the I / O devices from the bus controller, including the type of the I / O devices. After identifying the I / O devices, the bus proxy unit establishes a network connection with the arithmetic unit, enabling the arithmetic unit to connect to the I / O devices through the bus proxy unit.
[0142] Furthermore, the method also includes:
[0143] When there are multiple cloud computing units, a separate connection is established between the bus agent program and the cloud computing unit for each communication bus.
[0144] The separate connection is used for subsequent communication between the bus agent of the communication bus and the virtual bus driver corresponding to the communication bus.
[0145] The bus proxy unit is configured with the network address information of the computing unit. When using a computing unit, the bus proxy unit establishes a network connection with the computing unit as follows: a network connection is established between the bus proxy unit and the computing unit, and the bus proxy unit sends the information of each bus contained in the device to the cloud computing unit. The information of each bus includes at least the bus type. The cloud computing unit simultaneously loads the virtual bus drivers for various types of buses.
[0146] When a bus proxy unit connects to multiple processing units, the method for establishing a network connection and synchronizing bus information between the bus proxy unit and the processing units can also be as follows: For each communication bus, a separate connection is established between its bus proxy program and the processing unit, and the information of that bus is sent after the connection is established. After synchronizing the bus information, the method further includes: the processing unit loading the corresponding bus driver according to the bus information. For example, if the type of the bus is a USB bus, then the virtual bus driver for the USB bus is loaded; if the type of the bus is a PCI bus, then the virtual bus driver for the PCI bus is loaded; the aforementioned network connection is used for subsequent communication between the bus proxy program and the virtual bus driver for that bus.
[0147] Furthermore, establishing a network connection with the cloud computing unit includes:
[0148] Connect to the computing unit management server, query the address of the cloud computing unit to be connected, and provide the identifier of this terminal device during the query, so that the computing unit management server can determine the address information of the cloud computing unit to be connected based on the terminal device identifier, and return the address information of the cloud computing unit to be connected to the bus agent unit.
[0149] Connect to the cloud computing unit using the returned address information of the cloud computing unit.
[0150] In one embodiment of this disclosure, the network address information of the computing unit can be pre-configured in the bus proxy unit, and the bus proxy unit establishes a connection based on the network address information of the computing unit.
[0151] In another preferred embodiment of this disclosure, dynamic configuration of computing units can also be achieved. The method for establishing a connection between the bus proxy unit and the dynamically allocated computing units is as follows: a computing unit management server is configured in the system, and the bus proxy unit is configured only with the address of the computing unit management server. The bus proxy unit connects to the computing unit management server and queries the address of the computing unit to be connected. The identifier of the terminal device is provided during the query. The computing unit management server determines the address information of the computing unit to be connected based on the terminal device identifier and returns the address information to the bus proxy unit. The bus proxy unit uses the address information to connect to the computing unit; thereby achieving dynamic configuration of computing units.
[0152] Furthermore,
[0153] The method further includes:
[0154] When querying the address of the cloud computing unit to be connected to the computing unit management server, the system also provides identification information of the communication bus, so that the address information of the cloud computing unit returned by the computing unit management server to the bus proxy unit also includes the correspondence between the cloud computing unit and the communication bus.
[0155] The step of connecting to the cloud computing unit using the returned address information of the cloud computing unit includes:
[0156] Based on the correspondence between cloud computing units and communication buses, each bus agent program is connected to its corresponding cloud computing unit.
[0157] When connecting multiple processing units, for each communication bus, its bus agent program establishes a separate connection with the processing unit, and sends information about the bus after the connection is established.
[0158] The method of establishing a separate connection between each bus agent and the arithmetic unit also includes allowing different bus agents to connect to different arithmetic units. That is, a terminal device can connect to multiple arithmetic units, each accessing different I / O devices. To achieve this, the bus agent independently connects to the arithmetic unit management server to query information about the arithmetic unit it needs to connect to. During the query, in addition to providing the identifier of the terminal device, it also needs to provide the identifier of the communication bus. When the arithmetic unit management server returns the address information of the arithmetic unit to the bus agent, it can return the address information of multiple arithmetic units, including the correspondence between the arithmetic unit and the communication bus, enabling the bus agent to connect to the correct arithmetic unit.
[0159] The embodiments disclosed herein enable cloud computing units to access I / O devices of existing technical standards via a network. Existing I / O controllers, bus controllers, device drivers, and other products can be reused, making full use of the existing massive number of I / O devices and adapting to the new computer architecture of edge-cloud integration.
[0160] Figure 3 This is a flowchart illustrating a method for a cloud computing unit to access terminal I / O devices, as provided in Embodiment 2 of this disclosure. It is applied to a cloud computing unit, such as... Figure 3 As shown, the method includes:
[0161] Step S201: Establish a network connection with the bus proxy unit, which identifies the bus controller present in the terminal device and loads the bus proxy program;
[0162] Step S202: Load the virtual bus driver based on the bus proxy unit; and,
[0163] Step S203: Load the device driver for the I / O device based on the bus proxy unit;
[0164] Step S204: The virtual bus driver forwards data from the I / O device to the corresponding device driver. The data from the I / O device is received by the bus proxy unit through the bus proxy program and forwarded to the virtual bus driver. The data sent by the device driver to the I / O device is sent to the bus proxy program through the virtual bus driver and forwarded to the corresponding I / O device through the bus proxy program.
[0165] Furthermore,
[0166] The loading of the virtual bus driver based on the bus proxy unit includes:
[0167] Receive information about each bus contained in the terminal device sent by the bus proxy unit;
[0168] The virtual bus driver for each type of bus is loaded based on the bus information;
[0169] Establish a network connection between each virtual bus driver and the bus agent unit;
[0170] The device driver program for loading I / O devices based on the bus proxy unit includes:
[0171] The virtual bus driver receives information about I / O devices sent by the bus proxy unit through the network connection. The information about I / O devices is obtained by the bus proxy unit after initializing the communication bus. The virtual bus driver then loads the corresponding device driver according to the information about the I / O devices.
[0172] or,
[0173] The virtual bus driver communicates with the bus controller through the bus agent to obtain information about the I / O devices on the bus, and then loads the corresponding device driver based on the I / O device information.
[0174] Furthermore,
[0175] Before receiving information about the I / O devices sent by the bus proxy unit via the network connection, the following is also included:
[0176] The virtual bus driver sends an instruction to the bus agent to initialize the bus, so that the bus agent unit initializes the bus controller through the bus agent according to the instruction to obtain information about the I / O devices connected to the bus.
[0177] This disclosure discloses a method for accessing terminal I / O devices from the cloud computing unit side. The implementation process corresponds to that of the bus proxy unit side, and can be found in the relevant description in Embodiment 1.
[0178] The embodiments disclosed herein enable cloud computing units to access I / O devices on terminal devices; thus, it can make full use of the existing massive number of I / O devices and adapt to the new computer architecture of edge-cloud integration.
[0179] To more clearly describe the technical solution of this disclosure, Embodiment 3 of this disclosure also provides a method for a cloud computing unit to access terminal I / O devices. This method is based on a system implementation of a cloud computing unit accessing terminal I / O devices, and the basic structure of the system is as follows: Figure 4As shown, a bus proxy unit is added to the terminal device. This unit connects to the I / O devices in the south via existing bus technology and to the cloud computing unit in the north via the network. It converts the data transmission protocol on the bus into the data transmission protocol on the network, thereby enabling the cloud computing unit to communicate with the I / O devices in the terminal.
[0180] (I) As Figure 5 As shown, the basic flow of the method includes:
[0181] S1. The bus proxy unit establishes a network connection with the arithmetic unit;
[0182] S2. The bus proxy unit initializes the communication bus;
[0183] S3. The arithmetic unit establishes a connection with the I / O devices through the bus proxy unit;
[0184] S4. The arithmetic unit communicates with I / O devices through the bus proxy unit.
[0185] (II) In the method described in (I) above, the method for establishing a network connection between the bus proxy unit and the arithmetic unit in step S1 is as follows:
[0186] 1. The bus proxy unit identifies the bus controllers present in the terminal device and loads a bus proxy program for each bus controller. The bus proxy program is responsible for communicating with the bus controller. Generally, terminal devices support a plug-and-play mechanism, through which the bus controllers present in the terminal device can be identified.
[0187] 2. The bus proxy unit is configured with the network address information of the computing unit. For example, the network address information includes the computing unit's IP address or network domain name, as well as the TCP protocol port number. The bus proxy unit can establish a TCP connection with the computing unit using this information.
[0188] 3. The bus proxy unit uses the network address information of the arithmetic unit to initiate the establishment of a network connection.
[0189] (III) In the method described in (II) above, the method for establishing a network connection between the bus proxy unit and the computing unit can be as follows: a network connection is established between the bus proxy unit and the computing unit, and the bus proxy unit sends information about each bus contained in the device to the computing unit. The information about each bus includes at least the type of the bus.
[0190] After synchronizing the bus information, the following steps are also included: (1) The arithmetic unit loads the virtual bus driver for each type of bus according to the bus information. For example, if the bus information includes both USB and PCI types, the arithmetic unit loads the virtual bus driver for the USB bus and the virtual bus driver for the PCI bus at the same time. (2) The bus proxy unit establishes a separate network connection with each virtual bus driver for subsequent communication between the bus proxy program and the virtual bus driver for that bus.
[0191] (iv) In the method described in (i) above, the method for the bus agent unit to initialize the communication bus in step S2 is as follows: (1) The virtual bus driver sends an instruction to the bus agent program to initialize the bus; (2) The bus agent program initializes the bus controller.
[0192] Generally, the bus agent unit allocates system resources to the bus controller after identifying it (this is a plug-and-play mechanism), including the address range needed to access the bus controller's internal registers and the interrupt number needed to receive bus controller interrupt signals. Initializing the bus controller involves a series of accesses to its internal registers and setting interrupt vectors.
[0193] After the bus controller initialization is complete, the bus agent program can obtain information about the I / O devices connected to the bus.
[0194] (V) In the method described in (I) above, the method by which the arithmetic unit establishes a connection with the I / O device through the bus proxy unit in step S3 is as follows: (1) The virtual bus driver communicates with the bus controller through the bus proxy program to obtain information about the I / O device, including the type of the I / O device. (2) The virtual bus driver loads the corresponding device driver according to the information of the I / O device.
[0195] Alternatively: (1) The bus agent obtains information about the I / O devices from the bus controller, including the type of the I / O devices. (2) The bus agent sends the I / O device information to the virtual bus driver via a network connection. (3) The virtual bus driver loads the corresponding device driver based on the I / O device information.
[0196] (vi) In the method described in (i) above, the method by which the arithmetic unit communicates with the I / O device through the bus proxy unit in step S4 is as follows: (1) When the I / O device sends data to the arithmetic unit, the bus proxy program receives the data from the I / O device and forwards the data to the virtual bus driver through the network connection. The virtual bus driver then forwards the data to the device driver. (2) When the arithmetic unit sends data to the I / O device, the device driver first sends the data to the virtual bus driver. The virtual bus driver then forwards the data to the bus proxy program through the network connection. The bus proxy program then forwards the data to the I / O device.
[0197] II. Methods for Dynamically Configuring Computational Units
[0198] (VII) The method in (I) above, the method of establishing a network connection between the bus proxy unit and the computing unit in step S1, also includes the method of establishing a connection between the bus proxy unit and the dynamically allocated computing unit. Specifically: (1) A computing unit management server is configured in the system, and only the computing unit management server is configured in the bus proxy unit. (2) The bus proxy unit connects to the computing unit management server and queries the address of the computing unit to be connected. The identifier of the terminal device is provided during the query. (3) The computing unit management server determines the address information of the computing unit to be connected according to the identifier of the terminal device, returns the address information to the bus proxy unit, and the bus proxy unit uses the address information to connect to the computing unit.
[0199] III. Methods for connecting multiple operational units
[0200] (viii) In the method described in (ii) above, the method for establishing a network connection between the bus agent unit and the arithmetic unit and synchronizing bus information can also be: for each communication bus, a separate connection is established between its bus agent program and the arithmetic unit, and the information of the bus is sent after the connection is established.
[0201] After synchronizing the bus information, the following steps are also included: (1) The arithmetic unit loads the corresponding bus driver according to the bus information. For example, if the type of the bus is a USB bus, the virtual bus driver for the USB bus is loaded; if the type of the bus is a PCI bus, the virtual bus driver for the PCI bus is loaded; (2) The above network connection is used for communication between the bus agent program and the virtual bus driver of the bus.
[0202] (ix) The method in (viii) above, in which each bus agent program establishes a separate connection with the arithmetic unit, further includes: different bus agents program can establish connections with different arithmetic units. That is, a terminal device can connect to multiple arithmetic units, and each arithmetic unit accesses different I / O devices. To implement this method, the method in (vii) above also includes: when the arithmetic unit management server returns the address information of the arithmetic unit to the bus agent program, it can return the address information of multiple arithmetic units, including the correspondence between the arithmetic unit and the communication bus, so that the bus agent program can connect to the correct arithmetic unit.
[0203] (x) To implement the method in (ix) above, the method in (vii) above can also be: the bus agent program independently connects to the arithmetic unit management server to query the information of the arithmetic unit to be connected. When querying, in addition to providing the identifier of the terminal device to which it belongs, the identifier information of the communication bus is also required.
[0204] IV. Alternative Solution: Delayed Connection
[0205] (xi) The method described in (i) above can be replaced by:
[0206] 1. The bus proxy unit initializes the communication bus.
[0207] 2. After identifying the I / O device, the bus proxy unit establishes a network connection with the arithmetic unit, enabling the arithmetic unit to establish a connection with the I / O device through the bus proxy unit.
[0208] 3. The arithmetic unit communicates with I / O devices through the bus proxy unit.
[0209] (XII) In the method described in (XI) above, step 2 is specifically as follows: (1) The bus proxy program obtains information about the I / O devices from the bus controller, including the type of the I / O devices. (2) The bus proxy program obtains the address information of the arithmetic unit, establishes a connection with the arithmetic unit, and synchronizes the bus information and I / O device information. (3) The arithmetic unit loads the corresponding virtual bus driver based on the bus information and loads the corresponding device driver based on the I / O device information. (4) The above network connection is used for subsequent communication between the bus proxy program and the virtual bus driver.
[0210] In this method, each I / O device loads a virtual bus driver; that is, one bus agent connects to multiple virtual bus drivers. In practice, the virtual bus driver and the I / O device driver can be merged.
[0211] (xiii) In the method described in (xii) above, the method by which the bus agent program obtains the address information of the arithmetic unit can be either pre-configured or queried from the arithmetic unit management server. When querying the arithmetic unit management server, in addition to providing the identifier of the terminal device to which it belongs, the identifier information of the I / O device must also be provided.
[0212] This disclosure enables cloud computing units to access terminal I / O devices, reusing existing I / O controllers, bus controllers, device drivers, and other products. It fully utilizes existing massive I / O devices and adapts to the new end-to-end cloud-integrated computer architecture. The computing power of the I / O devices no longer depends on the computing units integrated within the devices; computing power is unrestricted and easily expandable. Furthermore, because cloud computing units are used, the user experience is consistent across different terminals. The virtual bus driver and device driver are installed by the cloud computing unit, reducing dependence on terminal capabilities and facilitating unified deployment and maintenance management.
[0213] Embodiment 4 of this disclosure also provides a system for a cloud computing unit to access terminal I / O devices. The system includes a bus proxy unit and a cloud computing unit, such as... Figure 6 As shown, the bus proxy unit includes:
[0214] The first loading module 11 is configured to identify the bus controller present in the terminal device and load the bus agent program;
[0215] The first connection module 12 is configured to establish a network connection with the cloud computing unit, load the virtual bus driver on the cloud computing unit, and load the device driver for the I / O device on the cloud computing unit.
[0216] The transmission module 13 is configured to receive data from I / O devices through a bus proxy program, forward the data to the corresponding device driver through the virtual bus driver on the cloud computing unit, and forward the data sent by the device driver to the bus proxy program through the virtual bus driver on the cloud computing unit to the corresponding I / O device.
[0217] Furthermore, the first connection module 12 includes a first sending unit and a connection unit;
[0218] The first sending unit is configured to send the information of each bus contained in the terminal device to the cloud computing unit, so that the cloud computing unit can load the virtual bus driver for each type of bus according to the bus information.
[0219] The connection unit is configured to establish a network connection with each virtual bus driver in the cloud computing unit.
[0220] The first connection module 12 further includes an initialization unit and a second sending unit;
[0221] The initialization unit is configured to initialize the communication bus and obtain information about the I / O devices connected to the bus.
[0222] The second sending unit is configured to send the information of the I / O device to the virtual bus driver of the cloud computing unit through a network connection, so that the virtual bus driver can load the corresponding device driver according to the information of the I / O device;
[0223] Alternatively, the first connection module 12 may further include a relay unit;
[0224] The relay unit is configured to enable the cloud computing unit to communicate with the bus controller through a bus proxy program, and to enable the cloud computing unit to obtain information about the I / O devices on the bus. Then, the virtual bus driver loads the corresponding device driver according to the information of the I / O devices.
[0225] Furthermore, the initialization unit is specifically configured as follows:
[0226] Information about I / O devices can be obtained directly from the bus controller via a bus proxy program; or,
[0227] Receives the bus initialization command sent by the virtual bus driver to the bus agent; and,
[0228] The bus controller is initialized via a bus agent program according to the instructions for initializing the bus, in order to obtain information about the I / O devices connected to the bus.
[0229] Furthermore, the first connection module 12 is also configured as follows:
[0230] When there are multiple cloud computing units, a separate connection is established between the bus agent program and the cloud computing unit for each communication bus.
[0231] The separate connection is used for subsequent communication between the bus agent of the communication bus and the virtual bus driver corresponding to the communication bus.
[0232] Furthermore, the first connection module 12 is specifically configured as follows:
[0233] Connect to the computing unit management server, query the address of the cloud computing unit to be connected, and provide the identifier of this terminal device during the query, so that the computing unit management server can determine the address information of the cloud computing unit to be connected based on the terminal device identifier, and return the address information of the cloud computing unit to be connected to the bus agent unit.
[0234] Connect to the cloud computing unit using the returned address information of the cloud computing unit.
[0235] Furthermore, the first connection module 12 is specifically configured as follows:
[0236] When querying the address of the cloud computing unit to be connected to the computing unit management server, the system also provides identification information of the communication bus, so that the address information of the cloud computing unit returned by the computing unit management server to the bus proxy unit also includes the correspondence between the cloud computing unit and the communication bus.
[0237] Based on the correspondence between the cloud computing units and the communication bus, each bus agent program is connected to the corresponding cloud computing unit.
[0238] Embodiment 5 of this disclosure also provides a system for a cloud computing unit to access terminal I / O devices. The system includes a bus proxy unit and a cloud computing unit, such as... Figure 7 As shown, the cloud computing unit includes:
[0239] The second connection module 21 is configured to establish a network connection with the bus proxy unit, which identifies the bus controller present in the terminal device and loads the bus proxy program.
[0240] The second loading module 22 is configured to load the virtual bus driver based on the bus proxy unit;
[0241] The third loading module 23 is configured to load the device driver of the I / O device based on the bus proxy unit;
[0242] Access module 24 is configured to forward data from I / O devices to the corresponding device drivers via a virtual bus driver. The data from I / O devices is received by the bus proxy unit through a bus proxy program and forwarded to the virtual bus driver. The data sent by the device driver to the I / O devices is sent to the bus proxy program through the virtual bus driver and then forwarded to the corresponding I / O devices through the bus proxy program.
[0243] Furthermore,
[0244] The second loading module 22 is specifically configured as follows:
[0245] Receive information about each bus contained in the terminal device sent by the bus proxy unit;
[0246] The virtual bus driver for each type of bus is loaded based on the bus information;
[0247] Establish a network connection between each virtual bus driver and the bus agent unit;
[0248] The third loading module 23 is specifically configured as follows:
[0249] The virtual bus driver receives information about I / O devices sent by the bus proxy unit through the network connection. The information about I / O devices is obtained by the bus proxy unit after initializing the communication bus. The virtual bus driver then loads the corresponding device driver according to the information about the I / O devices.
[0250] or,
[0251] The virtual bus driver communicates with the bus controller through the bus agent to obtain information about the I / O devices on the bus, and then loads the corresponding device driver based on the I / O device information.
[0252] Furthermore,
[0253] The third loading module 23 is further configured to send an initialization bus instruction to the bus agent program through a virtual bus driver program before receiving information about I / O devices sent by the bus agent unit through a network connection. This allows the bus agent unit to initialize the bus controller through the bus agent program according to the initialization bus instruction, thereby obtaining information about I / O devices connected to the bus.
[0254] The system for accessing terminal I / O devices by the cloud computing unit in Embodiments 4 and 5 of this disclosure is used to implement the method for accessing terminal I / O devices by the cloud computing unit in Embodiments 1 to 3. Therefore, the description is relatively simple. For details, please refer to the relevant descriptions in the preceding Embodiments 1 to 3. It will not be repeated here.
[0255] In addition, such as Figure 8 As shown, Embodiment Six of this disclosure also provides an electronic device, including a memory 100 and a processor 200. The memory 100 stores a computer program. When the processor 200 runs the computer program stored in the memory 100, the processor 200 executes the various possible methods described above.
[0256] The memory 100 is connected to the processor 200. The memory 100 can be a flash memory, a read-only memory, or another type of memory. The processor 200 can be a central processing unit or a microcontroller.
[0257] Furthermore, embodiments of this disclosure also provide a computer-readable storage medium storing a computer program, which is executed by a processor using the various possible methods described above.
[0258] The computer-readable storage medium includes volatile or non-volatile, removable or non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, computer program modules or other data). Computer-readable storage media includes, but is not limited to, RAM (Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory or other memory technologies, CD-ROM (Compact Disc Read-Only Memory), Digital Video Disc (DVD) or other optical disc storage, cartridges, magnetic tapes, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer.
[0259] It is understood that the above embodiments are merely exemplary embodiments used to illustrate the principles of this disclosure, and this disclosure is not limited thereto. For those skilled in the art, various modifications and improvements can be made without departing from the spirit and substance of this disclosure, and these modifications and improvements are also considered to be within the scope of protection of this disclosure.
Claims
1. A method for a cloud computing unit to access terminal input / output (I / O) devices, characterized in that, Applied to a bus proxy unit, the method includes: The system identifies the bus controllers present in the terminal device and loads a corresponding bus agent program for each identified bus controller. The bus agent program is used to interact directly with the corresponding bus controller. Establish a network connection with the cloud computing unit, and enable the cloud computing unit to load the virtual bus driver and the device driver for the I / O device. The bus proxy program receives data from I / O devices, forwards the data to the corresponding device driver through the virtual bus driver on the cloud computing unit, and forwards the data sent by the device driver to the bus proxy program through the virtual bus driver on the cloud computing unit to the corresponding I / O device. The step of loading the virtual bus driver into the cloud computing unit includes: The terminal device sends information about each bus to the cloud computing unit, enabling the cloud computing unit to load the virtual bus driver for each type of bus based on the bus information; and, Establish a network connection with each virtual bus driver in the cloud computing unit.
2. The method according to claim 1, characterized in that, The device driver program that enables the cloud computing unit to load I / O devices includes: Initialize the communication bus and obtain information about the I / O devices connected to the bus; The information of the I / O devices is sent to the virtual bus driver of the cloud computing unit through the network connection, so that the virtual bus driver loads the corresponding device driver according to the information of the I / O devices. or, The cloud computing unit communicates with the bus controller through a bus proxy program, enabling the cloud computing unit to obtain information about the I / O devices on the bus. Then, the virtual bus driver loads the corresponding device driver based on the I / O device information.
3. The method according to claim 2, characterized in that, The initialization of the communication bus and the acquisition of I / O device information connected to the bus include: Information about I / O devices can be obtained directly from the bus controller via a bus proxy program; or, Receive the bus initialization command sent by the virtual bus driver to the bus agent; The bus controller is initialized via a bus agent program according to the instructions for initializing the bus, in order to obtain information about the I / O devices connected to the bus.
4. The method according to claim 1, characterized in that, The method further includes: When there are multiple cloud computing units, a separate connection is established between the bus agent program and the cloud computing unit for each communication bus. The separate connection is used for subsequent communication between the bus agent of the communication bus and the virtual bus driver corresponding to the communication bus.
5. The method according to claim 1 or 4, characterized in that, Establishing a network connection with the cloud computing unit includes: Connect to the computing unit management server, query the address of the cloud computing unit to be connected, and provide the identifier of this terminal device during the query, so that the computing unit management server can determine the address information of the cloud computing unit to be connected based on the terminal device identifier, and return the address information of the cloud computing unit to be connected to the bus agent unit. Connect to the cloud computing unit using the returned address information of the cloud computing unit.
6. The method according to claim 5, characterized in that, The method further includes: When querying the address of the cloud computing unit to be connected to the computing unit management server, the system also provides the identification information of the communication bus, so that the address information of the cloud computing unit returned by the computing unit management server to the bus proxy unit also includes the correspondence between the cloud computing unit and the communication bus. The step of connecting to the cloud computing unit using the returned address information of the cloud computing unit includes: Based on the correspondence between the cloud computing units and the communication bus, each bus agent program is connected to the corresponding cloud computing unit.
7. A method for a cloud computing unit to access terminal input / output (I / O) devices, characterized in that, Applied to cloud computing units, the method includes: A network connection is established with the bus agent unit, enabling the bus agent unit to identify the bus controllers present in the terminal device and load a corresponding bus agent program for each identified bus controller. The bus agent program is used to interact directly with the corresponding bus controller. Loading the virtual bus driver based on the bus proxy unit includes: Receive information about each bus contained in the terminal device sent by the bus proxy unit; The virtual bus driver for each type of bus is loaded based on the bus information; Establish a network connection between each virtual bus driver and the bus agent unit; The device driver for I / O devices is loaded based on the bus proxy unit; The virtual bus driver forwards data from I / O devices to the corresponding device drivers. The data from I / O devices is received by the bus proxy unit through the bus proxy program and forwarded to the virtual bus driver. The data sent by the device driver to the I / O devices is sent to the bus proxy program through the virtual bus driver and then forwarded to the corresponding I / O devices through the bus proxy program.
8. The method according to claim 7, characterized in that, The device driver program for loading I / O devices based on the bus proxy unit includes: The virtual bus driver receives information about I / O devices sent by the bus proxy unit through the network connection. The information about I / O devices is obtained by the bus proxy unit after initializing the communication bus. The virtual bus driver then loads the corresponding device driver according to the information about the I / O devices. or, The virtual bus driver communicates with the bus controller through the bus agent to obtain information about the I / O devices on the bus, and then loads the corresponding device driver based on the I / O device information.
9. The method according to claim 8, characterized in that, Before receiving information about the I / O devices sent by the bus proxy unit via the network connection, the following is also included: The virtual bus driver sends an instruction to the bus agent to initialize the bus, so that the bus agent unit initializes the bus controller through the bus agent according to the instruction to obtain information about the I / O devices connected to the bus.
10. A system for a cloud computing unit to access terminal I / O devices, characterized in that, The system includes a bus proxy unit and a cloud computing unit, wherein the bus proxy unit includes: The first loading module is configured to identify the bus controllers present in the terminal device and load a corresponding bus agent program for each identified bus controller. The bus agent program is used to interact directly with the corresponding bus controller. The first connection module is configured to establish a network connection with the cloud computing unit, load the virtual bus driver for the cloud computing unit, and load the device driver for the I / O device for the cloud computing unit. The transmission module is configured to receive data from I / O devices through a bus proxy program, forward the data to the corresponding device driver through the virtual bus driver on the cloud computing unit, and forward the data sent by the device driver to the bus proxy program through the virtual bus driver on the cloud computing unit to the corresponding I / O device. The process of loading the virtual bus driver into the cloud computing unit includes: The terminal device sends information about each bus to the cloud computing unit, enabling the cloud computing unit to load the virtual bus driver for each type of bus based on the bus information; and, Establish a network connection with each virtual bus driver in the cloud computing unit.
11. The system according to claim 10, characterized in that, The first connection module includes an initialization unit and a second transmission unit; The initialization unit is configured to initialize the communication bus and obtain information about the I / O devices connected to the bus. The second sending unit is configured to send the information of the I / O device to the virtual bus driver of the cloud computing unit through a network connection, so that the virtual bus driver can load the corresponding device driver according to the information of the I / O device; Alternatively, the first connection module may further include a relay unit; The relay unit is configured to enable the cloud computing unit to communicate with the bus controller through a bus proxy program, and to enable the cloud computing unit to obtain information about the I / O devices on the bus. Then, the virtual bus driver loads the corresponding device driver according to the information of the I / O devices.
12. The system according to claim 11, characterized in that, The initialization unit is specifically configured as follows: Information about I / O devices can be obtained directly from the bus controller via a bus proxy program; or, Receives the bus initialization command sent by the virtual bus driver to the bus agent; and, The bus controller is initialized via a bus agent program according to the instructions for initializing the bus, in order to obtain information about the I / O devices connected to the bus.
13. The system according to claim 10, characterized in that, The first connection module is also configured as follows: When there are multiple cloud computing units, a separate connection is established between the bus agent program and the cloud computing unit for each communication bus. The separate connection is used for subsequent communication between the bus agent of the communication bus and the virtual bus driver corresponding to the communication bus.
14. The system according to claim 10 or 13, characterized in that, The first connection module is specifically configured as follows: Connect to the computing unit management server, query the address of the cloud computing unit to be connected, and provide the identifier of this terminal device during the query, so that the computing unit management server can determine the address information of the cloud computing unit to be connected based on the terminal device identifier, and return the address information of the cloud computing unit to be connected to the bus agent unit. Connect to the cloud computing unit using the returned address information of the cloud computing unit.
15. The system according to claim 14, characterized in that, The first connection module is further configured as follows: When querying the address of the cloud computing unit to be connected to the computing unit management server, the system also provides the identification information of the communication bus, so that the address information of the cloud computing unit returned by the computing unit management server to the bus proxy unit also includes the correspondence between the cloud computing unit and the communication bus. Based on the correspondence between the cloud computing units and the communication bus, each bus agent program is connected to the corresponding cloud computing unit.
16. A system for a cloud computing unit to access terminal I / O devices, characterized in that, The system includes a bus proxy unit and a cloud computing unit, wherein the cloud computing unit includes: The second connection module is configured to establish a network connection with the bus proxy unit, which identifies the bus controller present in the terminal device and loads the bus proxy program. The second loading module is configured to load the virtual bus driver based on the bus proxy unit, including: receiving information about each bus contained in the terminal device sent by the bus proxy unit; The virtual bus driver for each type of bus is loaded based on the bus information; Establish a network connection between each virtual bus driver and the bus agent unit; The third loading module is configured to load the device drivers for I / O devices based on the bus proxy unit; The access module is configured to forward data from I / O devices to the corresponding device drivers via a virtual bus driver. The data from the I / O devices is received by the bus proxy unit through a bus proxy program and forwarded to the virtual bus driver. The data sent by the device driver to the I / O devices is sent to the bus proxy program through the virtual bus driver and then forwarded to the corresponding I / O devices through the bus proxy program.
17. The system according to claim 16, characterized in that, The third loading module is specifically configured as follows: The virtual bus driver receives information about I / O devices sent by the bus proxy unit through the network connection. The information about I / O devices is obtained by the bus proxy unit after initializing the communication bus. The virtual bus driver then loads the corresponding device driver according to the information about the I / O devices. or, The virtual bus driver communicates with the bus controller through the bus agent to obtain information about the I / O devices on the bus, and then loads the corresponding device driver based on the I / O device information.
18. The system according to claim 17, characterized in that, The third loading module is further configured to send an initialization bus instruction to the bus agent program via a virtual bus driver program before receiving information about I / O devices sent by the bus agent unit through a network connection. This allows the bus agent unit to initialize the bus controller through the bus agent program according to the initialization bus instruction, thereby obtaining information about the I / O devices connected to the bus.
19. An electronic device, characterized in that, It includes a memory and a processor, wherein the memory stores a computer program, and when the processor runs the computer program stored in the memory, the processor performs a method for a cloud computing unit to access terminal I / O devices as described in any one of claims 1-6 or 7-9.
20. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method for a cloud computing unit to access a terminal I / O device as described in any one of claims 1-6 or 7-9.