CN112835837B - Method for establishing data connection, related device and computer program product - Google Patents

Method for establishing data connection, related device and computer program product Download PDF

Info

Publication number
CN112835837B
CN112835837B CN202110153316.4A CN202110153316A CN112835837B CN 112835837 B CN112835837 B CN 112835837B CN 202110153316 A CN202110153316 A CN 202110153316A CN 112835837 B CN112835837 B CN 112835837B
Authority
CN
China
Prior art keywords
information
port
data
virtual
processing
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.)
Active
Application number
CN202110153316.4A
Other languages
Chinese (zh)
Other versions
CN112835837A (en
Inventor
陈方耀
胡水华
李国川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110153316.4A priority Critical patent/CN112835837B/en
Publication of CN112835837A publication Critical patent/CN112835837A/en
Application granted granted Critical
Publication of CN112835837B publication Critical patent/CN112835837B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Abstract

The embodiment of the application discloses a method, a device, electronic equipment, a computer readable storage medium and a computer program product for establishing data connection, which relate to the technical field of cloud computing and further relate to the technical field of virtualization. One embodiment of the method comprises the following steps: after receiving port scanning information sent by a request end based on PCIE protocol, generating at least one virtual PCIE port corresponding to port demand information contained in the port scanning information, respectively controlling each virtual PCIE port to return response information to the request end, and after receiving a target port connection request sent by the request end according to the response information, establishing data connection between the request end and the target virtual PCIE port. The PCIE port configuration can be dynamically realized, so that the adaptive configuration is carried out aiming at the scanning information of the request terminal, and the design cost is reduced while the flexibility of the data receiving terminal system is improved.

Description

Method for establishing data connection, related device and computer program product
Technical Field
The present application relates to the field of cloud computing technology, and more particularly, to a method, an apparatus, an electronic device, a computer readable storage medium, and a computer program product for establishing a data connection.
Background
The PCIE (peripheral component interconnect express) interface is a high-speed serial computer expansion bus standard, which is widely used in consumer, server and industrial applications to connect a host system processor with external devices, such as network cards, GPU (Graphics Processing Unit), memory cards and various types of accelerator cards.
With the wide application of virtualization technology, one physical host system virtualizes multiple host systems (virtual machines or containers), and in order to improve system performance, the virtual machines hope to directly access PCIE devices, so PCIE devices are required to virtualize multiple PCIE devices and are directly allocated to the virtual machines for use.
Conventionally, a plurality of PCIE devices are designed in PCIE devices, and are connected together through PCIE switches to PCIE interfaces of a host system.
Disclosure of Invention
The embodiment of the application provides a method, a device, electronic equipment, a computer readable storage medium and a computer program product for establishing data connection.
In a first aspect, an embodiment of the present application proposes a method for establishing a data connection, including: responding to the received port scanning information sent by the request terminal based on the PCIE protocol, and generating at least one virtual PCIE port corresponding to the port demand information contained in the port scanning information; respectively controlling each virtual PCIE port to return response information to the request terminal; and in response to receiving a target port connection request sent by the request end according to the response information, establishing data connection between the request end and the target virtual PCIE port.
In a second aspect, an embodiment of the present application proposes an apparatus for establishing a data connection, including: the port generating unit is configured to generate at least one virtual PCIE port corresponding to port demand information contained in the port scanning information in response to receiving the port scanning information sent by the request terminal based on the PCIE protocol; the port response unit is configured to control each virtual PCIE port to return response information to the request end; and the connection establishment unit is configured to establish data connection between the request end and the target virtual PCIE port in response to receiving a target port connection request sent by the request end according to the response information.
In a third aspect, an embodiment of the present application provides an electronic device, including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform a method of establishing a data connection as described in any one of the implementations of the first aspect when executed.
In a fourth aspect, embodiments of the present application provide a non-transitory computer-readable storage medium storing computer instructions for enabling a computer to implement a method of establishing a data connection as described in any of the implementations of the first aspect when executed.
In a fifth aspect, embodiments of the present application provide a computer program product comprising a computer program which, when executed by a processor, is capable of implementing a method of establishing a data connection as described in any of the implementations of the first aspect.
The method, the device, the electronic equipment, the computer readable storage medium and the computer program product for establishing data connection provided by the embodiment of the application generate at least one virtual PCIE port corresponding to port demand information contained in port scanning information after responding to port scanning information sent by a request end based on PCIE protocol, respectively control each virtual PCIE port to return response information to the request end, and establish data connection between the request end and a target virtual PCIE port after responding to a target port connection request sent by the request end according to the response information.
The PCIE port configuration can be dynamically realized, so that the adaptive configuration is carried out aiming at the scanning information of the request terminal, and the design cost is reduced while the flexibility of the data receiving terminal system is improved.
It should be understood that the description of this section is not intended to identify key or critical features of the embodiments of the application or to delineate the scope of the application. Other features of the present application will become apparent from the description that follows.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the detailed description of non-limiting embodiments, made with reference to the following drawings, in which:
FIG. 1 is an exemplary system architecture in which the present application may be applied;
fig. 2 is a flowchart of a method for establishing a data connection according to an embodiment of the present application;
FIG. 3 is a flowchart of another method for establishing a data connection according to an embodiment of the present application;
FIG. 4 is a flow chart of another method for establishing a data connection, also provided in an embodiment of the present application;
fig. 5 is a flowchart of a method for establishing a data connection in an application scenario according to an embodiment of the present application;
fig. 6 is a block diagram of an apparatus for establishing a data connection according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of an electronic device adapted to perform a method for establishing a data connection according to an embodiment of the present application.
Detailed Description
Exemplary embodiments of the present application are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present application to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present application. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness. It should be noted that, in the case of no conflict, the embodiments and features in the embodiments may be combined with each other.
FIG. 1 illustrates an exemplary system architecture 100 to which embodiments of the methods, apparatus, electronic devices, and computer-readable storage media of establishing a data connection of the present application may be applied.
As shown in fig. 1, a system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 is used as a medium to provide communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The user may interact with other terminal devices and the server 105 via the network 104 using the terminal devices 101, 102, 103 to receive or send messages or the like. Various applications for implementing information communication between the terminal devices 101, 102, 103 and the server 105, such as a co-processing application, a remote computing application, an instant messaging application, and the like, may be installed on the terminal devices.
The terminal devices 101, 102, 103 and the server 105 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices with display screens, including but not limited to smartphones, tablets, laptop and desktop computers, etc.; when the terminal devices 101, 102, 103 are software, they may be installed in the above-listed electronic devices, which may be implemented as a plurality of software or software modules, or may be implemented as a single software or software module, which is not particularly limited herein. When the server 105 is hardware, it may be implemented as a distributed server cluster formed by a plurality of servers, or may be implemented as a single server; when the server is software, the server may be implemented as a plurality of software or software modules, or may be implemented as a single software or software module, which is not particularly limited herein.
The server 105 may provide various services through various built-in applications, for example, a remote computing application that may provide a remote computing function, and the server 105 may achieve the following effects when running the remote computing application: the method comprises the steps of receiving port scanning information sent based on PCIE protocol from terminal equipment 101, 102 and 103 serving as a request end through a network 104, generating at least one virtual PCIE port corresponding to port requirements contained in the port scanning information, respectively controlling each virtual PCIE port to return response information to the request end, and establishing data connection between the request end and a target virtual PCIE port after responding to a target port connection request sent by the request end according to the response information.
Since more computing resources and stronger computing power are generally required for data processing, the method for establishing a data connection provided in the subsequent embodiments of the present application is generally performed by the server 105 having stronger computing power and more computing resources, and accordingly, the device for establishing a data connection is generally also disposed in the server 105. However, it should be noted that, when the terminal devices 101, 102, 103 also have the required computing capability and computing resources, the terminal devices 101, 102, 103 can also complete each operation performed by the server 105 through the remote computing application installed thereon, and further output the same result as the server 105
Correspondingly, the means for establishing the data connection may also be provided in the terminal devices 101, 102, 103 to enable a collaborative operation between the different terminal devices. In this case, the exemplary system architecture 100 may also not include the server 105 and the corresponding portion of the network 104.
It should be understood that the number of terminal devices, networks and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring to fig. 2, fig. 2 is a flowchart of a method for establishing a data connection according to an embodiment of the present application, wherein the flowchart 200 includes the following steps:
in step 201, at least one virtual PCIE port corresponding to port requirement information included in the port scanning information is generated in response to receiving port scanning information sent by the requesting end based on the PCIE protocol.
The present step aims to generate at least one virtual port according to the port requirement information contained in the port scan information after obtaining the port scan information sent by the request end of the data processing based on the PCIE protocol by an execution body (e.g., server 105 shown in fig. 1) of the method for establishing a data connection, which is embodied as a receiving end.
Wherein the PCIE bus is a high-speed serial replacement for the older PCI/PCI-X bus. One of the main differences between PCIE buses and old PCI is the bus topology. PCI uses a shared parallel bus architecture in which the PCI host and all devices share a common set of address, data, and control lines. In contrast, PCIE is based on a point-to-point topology, with separate serial links connecting each device to the root system (host). Due to its shared bus topology, the PCI bus in a single direction can be arbitrated (in the case of multiple hosts) and limited to one host at a time. In addition, the old PCI clock scheme limits the bus clock to the slowest peripherals on the bus (regardless of the devices involved in the bus transaction). In contrast, PCIE bus links support full duplex communication between any two endpoints, while concurrent access across multiple endpoints is not inherently limited.
In terms of bus protocols, PCIE communications are encapsulated in data packets. The task of packing and unpacking data and status message traffic is handled by the transaction layer of the PCIE port, and the fundamental differences in electrical signals and bus protocols require the use of different mechanical form factors and expansion connectors (thus requiring a new motherboard and a new adapter board). At the software level, PCIE retains backward compatibility with PCI; traditional PCI system software can detect and configure newer PCIE devices without explicit support of PCIE standards, but new PCIE functions cannot be accessed. A PCIE link between two devices may consist of 1 to 32 lanes. In a multi-lane link, packet data is striped across lanes, and peak data throughput is proportional to the overall link width. The channel count is auto-negotiated during device initialization and may be limited by either endpoint.
Further, according to the characteristics of PCIE protocol transmission, when the request end sends port scan information to the execution body, the request end may include corresponding port requirement information according to a data processing requirement of the request end, so as to instruct the execution body to determine whether a real PCIE port satisfying the requirement information exists, and after receiving the port requirement information, the execution body may generate a virtual PCIE port according to a requirement of the request end.
In some embodiments, preset configuration information capable of meeting the processing capability and the history requirement information can be determined according to the processing capability and the history requirement information of the request end, so that the virtual PCIE port is pre-generated according to the preset configuration information, and when port scanning information sent by the request end based on the PCIE protocol is received, a corresponding response is directly given, so that efficiency of a method for establishing the data connection is improved.
It should be appreciated that when determining the preset configuration information based on the historical demand information, the upper limit value in the historical demand configuration information is generally based on the preset configuration information, so that the determined preset configuration information can completely meet the data processing requirement of the data request end.
It should be noted that the history requirement information may be obtained directly from the local storage device by the execution body, or may be obtained from a non-local storage device (for example, the terminal devices 101, 102, 103 shown in fig. 1). The local storage device may be a data storage module, such as a server hard disk, provided in the execution body, in which case the history requirement information may be read out quickly locally; the non-local storage device may also be any other electronic device arranged to store data, such as a user terminal or the like, in which case the executing entity may obtain the required historical demand information by sending an acquisition command to the electronic device.
Step 202, each virtual PCIE port is controlled to return response information to the requesting end.
In this embodiment, after the execution body completes the generation of the virtual PCIE ports, each virtual PCIE port is controlled to send a response to the request end, so as to respond to port scanning information of the request end, inform that the request end has a corresponding "real" PCIE port, and establish data connection after the request end selects a suitable "real" PCIE port.
In step 203, in response to receiving the target port connection request sent by the requesting end according to the response information, a data connection between the requesting end and the target virtual PCIE port is established.
In this embodiment, after responding to the request end through each virtual PCIE port in step 202, the request end may determine a target port according to a use requirement and send a connection request, and after the execution body receives the request information, the data connection between the request end and the target virtual PCIE port is correspondingly established.
It should be understood that, when the request end sends the target port according to the response information, the executing body determines the corresponding configuration information according to the virtual PCIE information pointed by the target port, so as to complete the establishment of the data connection between the request end and the target virtual PCIE port.
According to the method for establishing data connection, after the port scanning information sent by the request end based on the PCIE protocol is received, at least one virtual PCIE port corresponding to the port demand information contained in the port scanning information is generated, each virtual PCIE port is respectively controlled to return response information to the request end, and after the target port connection request sent by the request end according to the response information is received, data connection between the request end and the target virtual PCIE port is established. The PCIE port configuration can be dynamically realized, so that the adaptive configuration is carried out aiming at the scanning information of the request terminal, and the design cost is reduced while the flexibility of the data receiving terminal system is improved.
In some optional implementations of this embodiment, generating at least one virtual PCIE port corresponding to port requirement information included in the port scan information includes: extracting port requirement information contained in the port scanning information from the port scanning information; and generating virtual PCIE ports meeting the number requirements and the performance requirements according to the number requirements and the performance requirements of the target ports in the port requirement information.
Specifically, when the port scanning information sent by the request end is obtained, the port number requirement and the performance requirement are correspondingly determined to determine a reasonable configuration proportion, the allocable performance parameters of the receiving end which is locally or to be configured by the execution main body are obtained, and the virtual PCIE ports meeting the number requirement and the performance requirement are generated according to the configuration proportion, so that the virtual PCIE ports are matched and determined according to the port requirement information in the scanning information, and the waste of data processing resources is avoided.
Referring to fig. 3, fig. 3 is a flowchart of another method for establishing a data connection according to an embodiment of the present application, and in addition, for more clearly describing a process of generating configuration parameters of a control panel, fig. 4 is an interactive flowchart of a request end, an execution body, and a control panel according to the embodiment, where the flowchart 300 includes the following steps:
In step 301, at least one virtual PCIE port corresponding to port requirement information included in the port scanning information is generated in response to receiving port scanning information sent by the requesting end based on the PCIE protocol.
In this embodiment, reference may be made to step 401 in fig. 4.
Step 302, each virtual PCIE port is controlled to return response information to the requesting end.
In this embodiment, reference may be made to step 402 in fig. 4.
Step 303, in response to receiving the target port connection request sent by the requesting end according to the response information, establishing a data connection between the requesting end and the target virtual PCIE port.
In this embodiment, reference may be made to steps 403 and 404 in fig. 4.
Step 304, a to-be-processed data packet sent by the request end to the target virtual PCIE port based on the PCIE protocol is obtained, and the to-be-processed data packet is decomposed into port pointing information and data information.
In this embodiment, after the data connection between the request end and the target virtual PCIE port is established in the step 303, a to-be-processed data packet sent by the request end to the target virtual PCIE port based on the PCIE protocol is obtained, where the to-be-processed data includes port pointing information that points to and determines the target virtual PCIE port, and a transaction layer data packet (Transaction Layer Packet, abbreviated as TLP) that includes the to-be-processed data, and may refer to steps 406 and 407 in fig. 4 correspondingly.
Step 305, send the port pointing information to the control panel, control the control panel to generate configuration parameters for processing the data information.
In this embodiment, the port pointing information is sent to the control panel, where the control panel is configured to process the spatial configuration of the receiving end device, the bus and the configuration request of the requesting end, and drive the local control of the requesting end, and after the port pointing information is obtained, the control panel may determine the corresponding processing space and the configuration parameter according to the port pointing information, so that the data processing panel performs corresponding data processing according to the configuration parameter, and may refer to step 408 and step 409 in fig. 4 correspondingly.
Step 306, the data information is sent to the processing panel, and the processing panel is controlled to perform data processing according to the configuration parameters.
In this embodiment, after the TLP is directly obtained in step 304, the content is directly sent to the data processing panel, and after the TLP is received, the data processing panel performs corresponding data processing according to the configuration parameters generated in step 305, so as to obtain a corresponding processing result.
In practice, when data transmission and processing are performed based on PCIE protocol, the data processing panel is generally used for group data transmission (Direct Memory Acces, abbreviated as DMA) operation and interrupt operation.
In some embodiments, after the data processing panel obtains the configuration parameters, the data processing panel may also instruct other execution bodies, operation modules, and the like to execute corresponding operations according to the specific directions of the configuration parameters, the control content, and the like, which is not limited in this application.
The above steps 301-303 are identical to the steps 201-203 shown in fig. 2, and the same parts are referred to the corresponding parts of the previous embodiment, and will not be described herein again.
The embodiment further provides a specific method for processing the data of the request end based on the method for establishing the data connection provided in the embodiment shown in fig. 2, so as to realize virtual parameter configuration through software distribution of the control panel and instruct the processing panel for directly acquiring the data information in the data to be processed to perform corresponding processing through hardware design, and the method combines software and hardware, thereby improving the data processing efficiency and saving the design cost on the premise of ensuring the data processing quality.
In some optional implementations of the present embodiment, the method further includes:
step 307, obtaining the data processing result generated by the processing panel, combining the port pointing information and the data processing result, and generating a data feedback result.
Specifically, after the data processing panel in step 306 completes the data processing on the TLP, the execution body may obtain the data processing result generated in the data processing panel, and combine the port pointing information with the data processing result, so as to mark the data processing result by using the port pointing information, and generate a data feedback result.
In the process of marking the data processing result by the port pointing information, the marking identifier generated by the port pointing information is generally used for informing the request end of the relevant configuration information of the data sending port, namely, the configuration information of the PCIE port requested by the request end is generated based on the configuration information of the PCIE of the target virtual port, so that the request end considers that the data feedback result is sent by the actually existing real PCIE port.
On the basis, corresponding headers, dense headers and the like can be generated according to the port pointing information, so that a request end of data processing can identify and confirm the obtained data processing result according to the marking content of the headers, the dense headers and the like generated by the port pointing information.
In practice, for further saving the setup cost at the hardware level, the physical hardware for performing the combination of the port pointing information and the data processing result in the present implementation may be configured together with the physical hardware for decomposing the data packet to be processed into the port pointing information and the data information in the above step 304.
Step 308, feeding back the data feedback result to the request end.
In some optional implementations of this embodiment, in order to further implement data cooperative processing between a request end and a receiving end based on PCIE protocol, to improve a data processing effect, when the data request end issues a data processing request, only an operation instruction executed by a desired data receiving end and corresponding address information may be issued, where in this case, the step of controlling the processing panel to perform data processing according to configuration parameters includes: controlling the processing panel to start DMA reading operation by adopting the configuration parameters; and controlling the processing panel to send a DMA read request to the request end, and processing data after receiving response data corresponding to the DMA read request.
Specifically, the data plane mainly processes the DMA operation, and the start instruction and the interrupt operation issued by the request end. The control panel simulates configuration of information such as queues, addresses, parameters and the like issued by the request terminal to the data panel, when the request terminal issues a starting instruction, the data panel starts DMA operation, and writes the data of the receiving terminal equipment into the memory specified by the execution main body or reads the data from the memory specified by the request terminal to the execution main body.
In practice, after the data panel completes the DMA write request, an interrupt TLP packet is sent to the request end, so as to achieve the interrupt purpose.
In order to further meet the output processing and configuration requirements of the request end and improve the trust degree of the request end on the execution main body and the processing capability of the execution main body corresponding to the request end, the device virtualization may be further performed on the execution main body, that is, the execution main body is virtualized into other devices according to the requirements of the request end so as to correspond to the requirements of the request end, in some optional implementations of the embodiment, before sending the port pointing information to the control panel and controlling the control panel to generate the configuration parameters for processing the data information, the method further includes: determining equipment virtual information according to the data packet to be processed; the equipment virtual information is sent to the control panel, and the control panel is controlled to generate local virtual equipment according to the equipment virtual information; and the control panel generating configuration parameters for processing the data information includes: and configuring the local virtual equipment according to the port pointing information, and generating configuration parameters for processing the data information.
Specifically, virtual information of the device is determined according to the data packet to be processed, that is, target device which is expected to be adopted by the request end and is used for processing the data packet to be processed is obtained, virtual information is correspondingly determined according to the type of the target device (for example, when the target device is determined to be a network card, virtual information which correspondingly virtualizes the execution main body into the network card is generated), the virtual information is then sent to a control panel, so that the control panel virtualizes the execution main body according to the virtual information, corresponding local virtual device is obtained, and after port pointing information is received, the local virtual device is configured according to the port pointing information, and configuration parameters for processing the data information are generated.
In practice, when the request end sends the port scan information, the corresponding port requirement information included in the port scan information may be added with the device virtual information, so that when the execution body receives the port requirement information, the content in the port requirement information may be read, and the device virtual information may be determined, which may refer to step 405 in fig. 4 correspondingly.
Further, after the request end determines that the execution body is the target device, the corresponding driving information may be further issued, so that the execution body further and accurately performs the device on the local virtual device according to the driving information, so as to ensure that the local virtual device can operate smoothly, and the step 404 in fig. 4 may be referred to correspondingly.
On the basis of any of the foregoing embodiments, in order to implement hot plug replacement between different receiving ends, after each virtual PCIE port is controlled to return response information to the requesting end, the method further includes: acquiring configuration information of each virtual PCIE port, and correspondingly generating a configuration information set; responding to receiving a configuration information set acquisition request sent by other receiving terminals, and sending the configuration information set to the other receiving terminals; and controlling the other receiving ends to perform virtual PCIE port configuration according to the configuration information set.
Specifically, after the executing body returns response information to the request end from the virtual PCIE ports, the executing body obtains configuration information of each virtual PCIE port, and generates a corresponding configuration information set, so that subsequent other receiving ends generate virtual PCIE ports with the same number and performance as the current number and performance according to the information configuration information set, when receiving a configuration information set obtaining request sent by other receiving ends, the executing body sends the configuration information set to the other receiving ends, controls the other receiving ends to perform virtual PCIE port configuration according to the configuration information set, restores the virtual PCIE port configuration situation performed by the executing body at present, and completes hot plug replacement between different receiving ends, so that configuration space parameters of the receiving end device are modified through software according to configuration information set software after hardware devices are pulled out.
For further understanding, a specific implementation is provided in connection with a specific application scenario, please refer to the flowchart 500 shown in fig. 5.
In step 501, in response to receiving port scan information sent by a request end based on PCIE protocol, port requirement information included in the port scan information is extracted from the port scan information.
Specifically, the data receiving end receives port scanning information sent by the request end based on the PCIE protocol, wherein the port demand information included in the port scanning information is the number of ports 2, and a transmission rate of each port at least meets 2.5GT/s.
Under the application scenario, the data receiving end is usually a PCIE hardware device, and after the hardware device receives port scan information sent by the request end based on a PCIE protocol, a software portion disposed on one side of the PCIE hardware extracts port requirement information included in the port scan information from the port scan information.
In step 502, virtual PCIE ports satisfying the number requirements and the performance requirements are generated according to the number requirements and the performance requirements of the target ports in the port requirement information.
Specifically, the software part generates corresponding configuration parameters according to the number of target ports and the performance requirements read from the port requirement information, configures virtual PCIE ports meeting the number requirements and the performance requirements according to the parameters, and obtains virtual PCIE ports a and B, where transmission rates of the virtual PCIE ports a and B both support 3GT/s.
In step 503, each virtual PCIE port is controlled to return response information to the requesting end.
Specifically, the software portion controls the virtual PCIE ports a and B to return response information to the requesting end.
In step 504, in response to receiving the target port connection request sent by the requesting end according to the response information, a data connection between the requesting end and the target virtual PCIE port is established.
Specifically, in response to receiving a connection request, which is returned by the request end according to response information of the virtual PCIE port a and points to a target port of the virtual PCIE port a, a data connection between the request end and the virtual PCIE port a is correspondingly established.
In step 505, a to-be-processed data packet sent by the request end to the target virtual PCIE port based on the PCIE protocol is obtained, and the to-be-processed data packet is decomposed into port pointing information and data information.
Step 506, sending the port pointing information to a control panel, and controlling the control panel to generate configuration parameters for processing the data information.
Step 507, sending the data information to the processing panel, and controlling the processing panel to start the DMA read operation by using the configuration parameters.
Step 508, controlling the processing panel to send a DMA read request to the request terminal, and performing data processing after receiving the response data corresponding to the DMA read request.
Step 509, obtaining a data processing result generated by the processing panel, and combining the port pointing information and the data processing result to generate a data feedback result.
Step 510, feeding back the data feedback result to the request end.
The overlapping portions of the foregoing steps 501-510 and the embodiments shown in fig. 2 and fig. 3 may refer to corresponding descriptions, which are not repeated herein, and the PCIE port configuration is dynamically implemented by combining software and hardware, so as to adaptively configure scanning information of the request end, and process the issued data of the request end according to the result of the adaptive configuration, and on the premise that high-rate transmission and read-write are ensured by using hardware direct transmission, the dynamic configuration of the PCIE port of the receiving end is implemented in a software manner, and finally, design cost is reduced while flexibility of a system of the data receiving end is improved.
With further reference to fig. 6, as an implementation of the method shown in the foregoing figures, the present application provides an embodiment of an apparatus for establishing a data connection, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be specifically applied to various electronic devices.
As shown in fig. 6, the apparatus 600 for establishing a data connection of the present embodiment may include: a port generating unit 601, a port responding unit 602, and a connection establishing unit 603. The port generating unit 601 is configured to generate at least one virtual PCIE port corresponding to port requirement information included in port scanning information in response to receiving port scanning information sent by a request end based on a PCIE protocol; a port response unit 602, configured to control each virtual PCIE port to return response information to the requesting end; the connection establishment unit 603 is configured to, in response to receiving a target port connection request sent by the requesting end according to the response information, establish a data connection between the requesting end and the target virtual PCIE port.
In this embodiment, in the apparatus 600 for establishing a data connection: the specific processing of the port generating unit 601, the port responding unit 602, and the connection establishing unit 603 and the technical effects thereof may refer to the relevant descriptions of steps 201 to 203 in the corresponding embodiment of fig. 2, and are not described herein.
In some optional implementations of the present embodiment, the port generating unit 601 includes: a demand information acquisition subunit configured to extract port demand information contained in the port scan information from the port scan information; and the port generation subunit is configured to generate virtual PCIE ports meeting the number requirements and the performance requirements according to the number requirements and the performance requirements of the target ports in the port requirement information.
In some optional implementations of this embodiment, the apparatus for establishing a data connection further includes: the data processing unit is configured to obtain a data packet to be processed, which is sent to the target virtual PCIE port by the request terminal based on PCIE protocol, and to decompose the data packet to be processed into port pointing information and data information; a configuration parameter generating unit configured to send the port pointing information to a control panel, and control the control panel to generate configuration parameters for processing the data information; and the data processing unit is configured to send the data information to the processing panel and control the processing panel to perform data processing according to the configuration parameters.
In some optional implementations of this embodiment, the apparatus for establishing a data connection further includes: a device virtual information determining unit configured to determine device virtual information from the data packet to be processed; a device virtual unit configured to send the device virtual information to the control panel, and control the control panel to generate a local virtual device according to the device virtual information; and the configuration parameter generating unit is further configured to configure the local virtual device according to the port pointing information and generate configuration parameters for processing the data information.
In some optional implementations of this embodiment, the apparatus for establishing a data connection further includes: the data feedback result generation unit is configured to acquire a data processing result generated by the processing panel, combine the port pointing information with the data processing result and generate a data feedback result; and the data feedback result feedback unit is configured to feed back the data feedback result to the request end.
In some alternative implementations of the present embodiment, the data processing unit includes: a data information transmitting subunit configured to transmit the data information to the processing panel; a read operation initiation unit configured to control the processing panel to initiate a DMA read operation using the configuration parameters; a read request transmitting subunit configured to control the processing panel to transmit a DMA read request to the request terminal; and the data response processing subunit is configured to control the processing panel to receive the response data corresponding to the DMA read request and then perform data processing.
In some optional implementations of this embodiment, the apparatus for establishing a data connection further includes: the configuration information set generating unit is configured to acquire the configuration information of each virtual PCIE port after the virtual PCIE ports are respectively controlled to return response information to the request terminal, and correspondingly generate a configuration information set; a configuration information set sending unit configured to send the configuration information set to other receiving terminals in response to receiving a configuration information set acquisition request sent by the other receiving terminals; and the port configuration control unit is configured to control the other receiving ends to perform virtual PCIE port configuration according to the configuration information set.
The embodiment exists as an embodiment of a device corresponding to the embodiment of the method, and the device for establishing data connection provided by the embodiment can dynamically implement PCIE port configuration to adaptively configure scanning information of a request end, thereby improving flexibility of a system of a data receiving end and reducing design cost.
According to embodiments of the present application, there is also provided an electronic device, a readable storage medium and a computer program product.
Fig. 7 shows a schematic block diagram of an example electronic device 700 that may be used to implement embodiments of the present application. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the application described and/or claimed herein.
As shown in fig. 7, the apparatus 700 includes a computing unit 701 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 702 or a computer program loaded from a storage unit 708 into a Random Access Memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 may also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Various components in device 700 are connected to I/O interface 705, including: an input unit 706 such as a keyboard, a mouse, etc.; an output unit 707 such as various types of displays, speakers, and the like; a storage unit 708 such as a magnetic disk, an optical disk, or the like; and a communication unit 709 such as a network card, modem, wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The computing unit 701 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 701 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 701 performs the respective methods and processes described above, for example, a method of establishing a data connection. For example, in some embodiments, the method of establishing a data connection may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 708. In some embodiments, part or all of the computer program may be loaded and/or installed onto device 700 via ROM 702 and/or communication unit 709. When a computer program is loaded into RAM 703 and executed by computing unit 701, one or more steps of the method of establishing a data connection described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the method of establishing a data connection by any other suitable means (e.g. by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present application may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this application, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of large management difficulty and weak service expansibility in the traditional physical host and virtual private server (VPS, virtual Private Server) service. Servers may also be divided into servers of a distributed system or servers that incorporate blockchains.
According to the technical scheme of the embodiment of the application, PCIE port configuration can be dynamically realized to adaptively configure the scanning information of the request terminal, so that the flexibility of a data receiving terminal system is improved, and meanwhile, the design cost is reduced.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps described in the present application may be performed in parallel, sequentially, or in a different order, provided that the desired results of the technical solutions disclosed in the present application can be achieved, and are not limited herein.
The above embodiments do not limit the scope of the application. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application are intended to be included within the scope of the present application.

Claims (14)

1. A method for establishing a data connection for a server side, comprising:
responding to port scanning information sent by a request terminal based on PCIE protocol, and generating at least one virtual PCIE port corresponding to port demand information contained in the port scanning information;
Respectively controlling each virtual PCIE port to return response information to the request terminal;
responding to a target port connection request sent by the request end according to the response information, and establishing data connection between the request end and a target virtual PCIE port;
acquiring a data packet to be processed, which is sent to the target virtual PCIE port by the request terminal based on PCIE protocol, and decomposing the data packet to be processed into port pointing information and data information;
transmitting the port pointing information to a control panel, and controlling the control panel to generate configuration parameters for processing the data information;
and sending the data information to a processing panel, and controlling the processing panel to perform data processing according to the configuration parameters.
2. The method of claim 1, wherein generating at least one virtual PCIE port corresponding to port requirement information contained in the port scan information comprises:
extracting port requirement information contained in the port scanning information from the port scanning information;
and generating virtual PCIE ports meeting the number requirements and the performance requirements according to the number requirements and the performance requirements of the target ports in the port requirement information.
3. The method of claim 1, further comprising, prior to sending the port-pointing information to a control panel, controlling the control panel to generate configuration parameters that process the data information:
determining equipment virtual information according to the data packet to be processed;
the equipment virtual information is sent to the control panel, and the control panel is controlled to generate local virtual equipment according to the equipment virtual information; and
the controlling the control panel to generate configuration parameters for processing the data information includes: and configuring the local virtual equipment according to the port pointing information, and generating configuration parameters for processing the data information.
4. The method of claim 1, further comprising:
acquiring a data processing result generated by the processing panel, combining the port pointing information and the data processing result, and generating a data feedback result;
and feeding back the data feedback result to the request end.
5. The method of claim 1, the step of controlling the processing panel to perform data processing according to the configuration parameters comprising:
controlling the processing panel to start DMA reading operation by adopting the configuration parameters;
And controlling the processing panel to send a DMA reading request to the request end, and processing data after receiving response data corresponding to the DMA reading request.
6. The method of claim 1, after the separately controlling each virtual PCIE port to return response information to the requesting end, further comprising:
acquiring configuration information of each virtual PCIE port, and correspondingly generating a configuration information set;
responding to receiving a configuration information set acquisition request sent by other receiving terminals, and sending the configuration information set to the other receiving terminals;
and controlling the other receiving ends to perform virtual PCIE port configuration according to the configuration information set.
7. An apparatus for establishing a data connection for deployment at a server side, comprising:
the port generating unit is configured to generate at least one virtual PCIE port corresponding to port demand information contained in the port scanning information in response to receiving port scanning information sent by a request end based on PCIE protocol;
the port response unit is configured to control each virtual PCIE port to return response information to the request end;
the connection establishment unit is configured to respond to a target port connection request sent by the request end according to the response information, and establish data connection between the request end and a target virtual PCIE port;
The data processing unit is configured to obtain a data packet to be processed, which is sent to the target virtual PCIE port by the request terminal based on PCIE protocol, and to decompose the data packet to be processed into port pointing information and data information;
a configuration parameter generating unit configured to send the port pointing information to a control panel, and control the control panel to generate configuration parameters for processing the data information;
and the data processing unit is configured to send the data information to the processing panel and control the processing panel to perform data processing according to the configuration parameters.
8. The apparatus of claim 7, wherein the port generation unit comprises:
a demand information acquisition subunit configured to extract port demand information contained in the port scan information from the port scan information;
and the port generation subunit is configured to generate virtual PCIE ports meeting the number requirements and the performance requirements according to the number requirements and the performance requirements of the target ports in the port requirement information.
9. The apparatus of claim 7, further comprising:
a device virtual information determining unit configured to determine device virtual information according to the data packet to be processed;
A device virtual unit configured to send the device virtual information to the control panel, and control the control panel to generate a local virtual device according to the device virtual information; and
the configuration parameter generating unit is further configured to configure the local virtual device according to the port pointing information, and generate configuration parameters for processing the data information.
10. The apparatus of claim 7, further comprising:
the data feedback result generation unit is configured to acquire a data processing result generated by the processing panel, combine the port pointing information with the data processing result and generate a data feedback result;
and the data feedback result feedback unit is configured to feed back the data feedback result to the request end.
11. The apparatus of claim 7, wherein the data processing unit comprises:
a data information transmitting subunit configured to transmit the data information to a processing panel;
a read operation initiation unit configured to control the processing panel to initiate a DMA read operation with the configuration parameters;
a read request transmitting subunit configured to control the processing panel to transmit a DMA read request to the request terminal;
And the data response processing subunit is configured to control the processing panel to receive the response data corresponding to the DMA read request and then perform data processing.
12. The apparatus of claim 7, further comprising:
the configuration information set generating unit is configured to acquire the configuration information of each virtual PCIE port after the virtual PCIE ports are respectively controlled to return response information to the request end, and correspondingly generate a configuration information set;
a configuration information set sending unit configured to send a configuration information set to other receiving ends in response to receiving a configuration information set acquisition request sent by the other receiving ends;
and the port configuration control unit is configured to control the other receiving ends to perform virtual PCIE port configuration according to the configuration information set.
13. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein, the liquid crystal display device comprises a liquid crystal display device,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of establishing a data connection of any one of claims 1-6.
14. A non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method of establishing a data connection of any one of claims 1-6.
CN202110153316.4A 2021-02-04 2021-02-04 Method for establishing data connection, related device and computer program product Active CN112835837B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110153316.4A CN112835837B (en) 2021-02-04 2021-02-04 Method for establishing data connection, related device and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110153316.4A CN112835837B (en) 2021-02-04 2021-02-04 Method for establishing data connection, related device and computer program product

Publications (2)

Publication Number Publication Date
CN112835837A CN112835837A (en) 2021-05-25
CN112835837B true CN112835837B (en) 2023-06-23

Family

ID=75932039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110153316.4A Active CN112835837B (en) 2021-02-04 2021-02-04 Method for establishing data connection, related device and computer program product

Country Status (1)

Country Link
CN (1) CN112835837B (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620551A (en) * 2009-05-07 2010-01-06 曙光信息产业(北京)有限公司 Network card interrupt control method for a plurality of virtual machines
CN103931144A (en) * 2013-07-08 2014-07-16 华为技术有限公司 Method, equipment and system for communication in virtual domain
WO2017004746A1 (en) * 2015-07-03 2017-01-12 华为技术有限公司 Network configuration method, network system and device
CN107278299A (en) * 2015-03-26 2017-10-20 英特尔公司 The functional methods, devices and systems of secondary bus are realized via reconfigurable virtual switch
CN109445905A (en) * 2018-06-22 2019-03-08 华为技术有限公司 Virtual-machine data communication means and system and virtual machine configuration method and apparatus
CN110413554A (en) * 2018-04-28 2019-11-05 杭州海康威视数字技术股份有限公司 Hot plug system and hot-plug method
CN110543404A (en) * 2019-07-19 2019-12-06 广东浪潮大数据研究有限公司 Server, hard disk lighting method and system and computer readable storage medium
CN111092773A (en) * 2019-12-25 2020-05-01 成都九芯微科技有限公司 PCIE (peripheral component interface express) switching chip port configuration system and method supporting virtual switching
CN111656336A (en) * 2018-06-30 2020-09-11 华为技术有限公司 PCIE sending and receiving method, device, equipment and system
CN111913794A (en) * 2020-08-04 2020-11-10 北京百度网讯科技有限公司 Method and device for sharing GPU, electronic equipment and readable storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023824B (en) * 2012-12-11 2015-08-26 华为技术有限公司 Based on data transmission system and the method for peripheral component interface express passway PCIe
US11392525B2 (en) * 2019-02-01 2022-07-19 Liqid Inc. Specialized device instantiation onto PCIe fabrics

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620551A (en) * 2009-05-07 2010-01-06 曙光信息产业(北京)有限公司 Network card interrupt control method for a plurality of virtual machines
CN103931144A (en) * 2013-07-08 2014-07-16 华为技术有限公司 Method, equipment and system for communication in virtual domain
CN107278299A (en) * 2015-03-26 2017-10-20 英特尔公司 The functional methods, devices and systems of secondary bus are realized via reconfigurable virtual switch
WO2017004746A1 (en) * 2015-07-03 2017-01-12 华为技术有限公司 Network configuration method, network system and device
CN106664242A (en) * 2015-07-03 2017-05-10 华为技术有限公司 Network configuration method, network system and device
CN110413554A (en) * 2018-04-28 2019-11-05 杭州海康威视数字技术股份有限公司 Hot plug system and hot-plug method
CN109445905A (en) * 2018-06-22 2019-03-08 华为技术有限公司 Virtual-machine data communication means and system and virtual machine configuration method and apparatus
CN111656336A (en) * 2018-06-30 2020-09-11 华为技术有限公司 PCIE sending and receiving method, device, equipment and system
CN110543404A (en) * 2019-07-19 2019-12-06 广东浪潮大数据研究有限公司 Server, hard disk lighting method and system and computer readable storage medium
CN111092773A (en) * 2019-12-25 2020-05-01 成都九芯微科技有限公司 PCIE (peripheral component interface express) switching chip port configuration system and method supporting virtual switching
CN111913794A (en) * 2020-08-04 2020-11-10 北京百度网讯科技有限公司 Method and device for sharing GPU, electronic equipment and readable storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云数据中心I/O资源池化;王展;安学军;;集成技术(第01期);全文 *
基于TMS320C6678的国产DSP操作系统引导程序设计;马云;游夏;;电子技术与软件工程(第06期);全文 *

Also Published As

Publication number Publication date
CN112835837A (en) 2021-05-25

Similar Documents

Publication Publication Date Title
US11200079B2 (en) System and method for virtual machine live migration
US9645956B2 (en) Delivering interrupts through non-transparent bridges in a PCI-express network
US10585832B2 (en) Apparatus and methods for dynamic role switching among USB hosts and devices
CN109445905B (en) Virtual machine data communication method and system and virtual machine configuration method and device
TWI556174B (en) System and method for assigning virtual functions and management host thereof
EP3343364A1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
CN113296884B (en) Virtualization method, virtualization device, electronic equipment, virtualization medium and resource virtualization system
US11829309B2 (en) Data forwarding chip and server
US9116881B2 (en) Routing switch apparatus, network switch system, and routing switching method
CN112929183B (en) Intelligent network card, message transmission method, device, equipment and storage medium
US20160077986A1 (en) Electronic apparatus providing real-time switching and sharing of usb electronic devices among hosts
CN103092676A (en) Analog input output method, device and system of virtual machine cluster
CN112835837B (en) Method for establishing data connection, related device and computer program product
US20140075063A1 (en) Smart device with no AP
CN112148663A (en) Data exchange chip and server
CN103036815B (en) A kind of information technology and communication technology ICT emerging system
CN116743587B (en) Virtual network interface implementation method and device based on heterogeneous computing accelerator card
US10417156B2 (en) Hardware resource sharing within peripheral component interconnect express (PCIE) environment capable of assigning hardware resource dynamically
WO2019124259A1 (en) Configuration management device, configuration management system, configuration management method, and configuration management program
CN108023837B (en) Virtual network switch system and establishing method thereof
CN117591450B (en) Data processing system, method, equipment and medium
CN108108243B (en) Resource sharing system and method
CN108132900A (en) Interconnecting device, telecommunication system and data transmission method
TWI690789B (en) Graphic processor system
CN117421268A (en) Interconnection system, equipment and network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant