[go: up one dir, main page]

CN117097684B - Data transmission method and device, storage medium and electronic equipment - Google Patents

Data transmission method and device, storage medium and electronic equipment Download PDF

Info

Publication number
CN117097684B
CN117097684B CN202311344021.0A CN202311344021A CN117097684B CN 117097684 B CN117097684 B CN 117097684B CN 202311344021 A CN202311344021 A CN 202311344021A CN 117097684 B CN117097684 B CN 117097684B
Authority
CN
China
Prior art keywords
node
ports
port
target
output
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
CN202311344021.0A
Other languages
Chinese (zh)
Other versions
CN117097684A (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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311344021.0A priority Critical patent/CN117097684B/en
Publication of CN117097684A publication Critical patent/CN117097684A/en
Application granted granted Critical
Publication of CN117097684B publication Critical patent/CN117097684B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/111Switch interfaces, e.g. port details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the application provides a data transmission method and device, a storage medium and electronic equipment, wherein the method comprises the following steps: determining N first ports in an idle state and M second ports in the idle state in a first node, wherein the first ports are input ports, the second ports are output ports, and N and M are natural numbers greater than or equal to 1; determining a target connection relation by using the N first ports and the M second ports, wherein the target connection relation is a connection relation between a target input port in the N first ports and a target output port in the M second ports, the target connection relation is a connection relation which is allowed to be established by a second node, and the first node and the second node are both data transmission nodes in a multi-stage switching network structure; and transmitting the data to the second node by utilizing the target connection relation. Through the application, the problem of low data transmission efficiency in the related art is solved, and the effect of improving the data transmission efficiency is achieved.

Description

Data transmission method and device, storage medium and electronic equipment
Technical Field
The embodiment of the application relates to the field of data transmission, in particular to a data transmission method and device, a storage medium and electronic equipment.
Background
The present invention relates to a multi-stage switching network structure, and more particularly to a multi-stage switching network structure with a high capacity and high scalability. The multistage switching network structure is formed by cascading a plurality of single-stage structure switching units, and in the multistage switching network structure, only the input port of the first-stage switching unit and the output port of the last-stage switching unit are direct input and output ports of the switching structure; the input/output ports of the switching units between the stages are indirect input/output ports, obviously, in the multi-stage switching structure, the smaller the number of stages is, the smaller the switching delay is, but the switching paths are correspondingly reduced, so that internal collision blocking is more easy to generate, and therefore, the multi-stage switching structure has a compromise between various performances.
The current multistage switching network structure generally consists of three stages of nodes, and the common hardware design for realizing handshake adopts a two-stage arbitration method: the method comprises the steps of carrying out polling arbitration on each input port with an access request to select an effective input port, then sending a request of the input port to a node corresponding to each idle output port, carrying out polling arbitration on successfully authorized output ports according to a returned authorization result to obtain the effective output port, and then matching the effective output port with the effective input port to carry out data transmission. In order to achieve matching between ports, a two-stage arbiter needs to be set up inside the first node, the first stage for selecting a valid input port and the second stage for selecting a valid output port. The two-stage arbitration method increases the exchange delay, generates a large amount of arbitration information to be maintained, and requests of input ports are processed in series and cannot be performed in parallel. The first-stage arbiter selects only one valid input port, so that at the same time, the idle output port sends handshake requests for the same input request, which causes a large matching delay between multiple input ports and multiple output ports, multiple matching periods are needed, and the data transmission efficiency is low.
Disclosure of Invention
The embodiment of the application provides a data transmission method and device, a storage medium and electronic equipment, so as to at least solve the problem of low data transmission efficiency in the related art.
According to an embodiment of the present application, there is provided a data transmission method including: determining N first ports in an idle state and M second ports in the idle state in a first node, wherein the first ports are input ports, the second ports are output ports, and the N and the M are natural numbers greater than or equal to 1; determining a target connection relationship by using the N first ports and the M second ports, where the target connection relationship is a connection relationship between a target input port in the N first ports and a target output port in the M second ports, and the target connection relationship is a connection relationship allowed to be established by a second node, and the first node and the second node are both data transmission nodes in a multi-stage switching network structure; and transmitting the data to the second node by utilizing the target connection relation.
According to another embodiment of the present application, there is provided a data transmission node including: the device comprises a first node, a matching component and route control equipment, wherein the matching component is used for determining a target connection relation by utilizing N first ports and M second ports which are in idle states, the first ports are input ports in the first node, the second ports are output ports in the first node, the target connection relation is a connection relation between the target input ports in the N first ports and the target output ports in the M second ports, the target connection relation is a connection relation which the second node allows to establish, the first node and the second node are data transmission nodes in a multi-stage switching network structure, and the N and the M are natural numbers which are larger than or equal to 1; the route control device is configured to receive the target connection relationship sent by the matching component, and send data of multiple sending devices to the second node by using the target connection relationship.
According to another embodiment of the present application, there is provided a multi-stage switching network architecture, comprising: a transmitting device, a data transmission node, and a receiving device, where the transmitting device is configured to transmit a plurality of data to the data transmission node through a plurality of data transmission ports; the data transmission node comprises a first node, a matching component and a routing control device, wherein the matching component is used for determining a target connection relation by utilizing N first ports and M second ports in an idle state, the first ports are input ports in the first node, the second ports are output ports in the first node, the target connection relation is a connection relation between the target input ports in the N first ports and the target output ports in the M second ports, the target connection relation is a connection relation which the second node is allowed to establish, the first nodes and the second nodes are all data transmission nodes in a multi-stage switching network structure, and the N and the M are natural numbers which are greater than or equal to 1; the route control device is configured to receive the target connection relationship sent by the matching component, and send data of multiple sending devices to the second node by using the target connection relationship; the receiving device is configured to receive the data sent by the second node through a plurality of receiving ports.
According to another embodiment of the present application, there is provided a data transmission apparatus including: the first determining module is used for determining N first ports in an idle state and M second ports in the idle state in the first node, wherein the first ports are input ports, the second ports are output ports, and N and M are natural numbers which are greater than or equal to 1; a second determining module, configured to determine a target connection relationship by using the N first ports and the M second ports, where the target connection relationship is a connection relationship between a target input port in the N first ports and a target output port in the M second ports, and the target connection relationship is a connection relationship allowed to be established by a second node, and the first node and the second node are both data transmission nodes in a multi-stage switching network structure; and the first transmission module is used for transmitting the data to the second node by utilizing the target connection relation.
According to a further embodiment of the present application, there is also provided a computer readable storage medium having stored therein a computer program, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
According to a further embodiment of the present application, there is also provided an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
According to the method and the device, the input port and the output port which are in the idle state in the first node are firstly determined, then connection between the input port and the output port which are in the idle state is established, the connection is sent to the second node for authorization, the target connection relationship between the target input port and the target output port is established under the condition that the second node allows connection establishment, and finally data are sent according to the target connection relationship. The method for realizing connection by two-stage arbitration is not used any more, the input-output matching time required by realizing connection is reduced, and a plurality of input requests can be issued in parallel to a plurality of idle output ports for connection. Therefore, the problem of low data transmission efficiency in the related art can be solved, and the effect of improving the data transmission efficiency is achieved.
Drawings
Fig. 1 is a block diagram of a hardware structure of a mobile terminal of a data transmission method according to an embodiment of the present application;
FIG. 2 is a flow chart of a data transmission method according to an embodiment of the present application;
FIG. 3 is a block diagram of a three stage CLOS switching network architecture according to an embodiment of the present application;
FIG. 4-1 is a schematic diagram I of establishing a port connection according to an embodiment of the present application;
FIG. 4-2 is a schematic diagram II of establishing a port connection according to an embodiment of the present application;
fig. 4-3 are schematic diagrams three of establishing a port connection according to an embodiment of the present application;
fig. 5 is a schematic diagram of a data transmission node according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of an IM node according to an embodiment of the present application;
FIG. 7 is a schematic diagram of an OM node according to an embodiment of the present application;
fig. 8 is a block diagram of a data transmission apparatus according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in detail below with reference to the accompanying drawings in conjunction with the embodiments.
It should be noted that the terms "first," "second," and the like in the description and claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order.
The following explanation of the related art to which the present application relates is as follows:
an Input Module (IM) is a first stage of three-stage CLOS interconnect, where the Input is directly connected to the sender port and the output is connected to the CM, i.e. the second stage node.
The second stage of the three-stage CLOS interconnection is not directly connected with the port of the sender or the receiver, and is connected with the IM, namely the first stage node, and is connected with the OM, namely the third stage node.
And an Output Module (OM for short), wherein the input of the third stage of the third-stage CLOS interconnection is connected with the CM, namely the second-stage node, and the Output of the third-stage CLOS is directly connected with the port of the receiving party.
An arbiter: when a plurality of data sources send out requests simultaneously, the request of which data source is responded according to the corresponding arbitration judging condition.
The method embodiments provided in the embodiments of the present application may be performed in a mobile terminal, a computer terminal or similar computing device. Taking the mobile terminal as an example, fig. 1 is a block diagram of a hardware structure of a mobile terminal of a data transmission method according to an embodiment of the present application. As shown in fig. 1, a mobile terminal may include one or more (only one is shown in fig. 1) processors 102 (the processor 102 may include, but is not limited to, a microprocessor MCU or a processing device such as a programmable logic device FPGA) and a memory 104 for storing data, wherein the mobile terminal may also include a transmission device 106 for communication functions and an input-output device 108. It will be appreciated by those skilled in the art that the structure shown in fig. 1 is merely illustrative and not limiting of the structure of the mobile terminal described above. For example, the mobile terminal may also include more or fewer components than shown in fig. 1, or have a different configuration than shown in fig. 1.
The memory 104 may be used to store a computer program, for example, a software program of application software and a module, such as a computer program corresponding to a data transmission method in the embodiment of the present application, and the processor 102 executes the computer program stored in the memory 104, thereby performing various functional applications and data processing, that is, implementing the method described above. Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory remotely located relative to the processor 102, which may be connected to the mobile terminal via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, simply referred to as NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is configured to communicate with the internet wirelessly.
In this embodiment, a data transmission method is provided, fig. 2 is a flowchart of the data transmission method according to an embodiment of the present application, and as shown in fig. 2, the flowchart includes the following steps:
step S202, determining N first ports in an idle state and M second ports in the idle state in a first node, wherein the first ports are input ports, the second ports are output ports, and N and M are natural numbers greater than or equal to 1;
step S204, determining a target connection relation by utilizing N first ports and M second ports, wherein the target connection relation is a connection relation between a target input port in the N first ports and a target output port in the M second ports, the target connection relation is a connection relation which is allowed to be established by a second node, and the first node and the second node are both data transmission nodes in a multistage switching network structure;
step S206, transmitting the data to the second node by using the target connection relationship.
The main body of execution of the steps may be a specific processor set in the terminal, the server, the terminal or the server, or a processor or a processing device set relatively independently from the terminal or the server, for example, a processor set in the first node, etc. But is not limited thereto.
Through the steps, the input port and the output port which are in the idle state in the first node are firstly determined, then the connection between the input port and the output port which are in the idle state is established, the connection is sent to the second node for authorization, the target connection relationship between the target input port and the target output port is established under the condition that the second node allows connection establishment, and finally data is sent according to the target connection relationship. The method for realizing connection by two-stage arbitration is not used any more, the input-output matching time required by realizing connection is reduced, and a plurality of input requests can be issued in parallel to a plurality of idle output ports for connection. Therefore, the problem of low data transmission efficiency in the related art can be solved, and the effect of improving the data transmission efficiency is achieved.
Optionally, the first node and the second node are data transmission nodes in a multi-stage switched network structure. The multistage switching network structure comprises multistage data transmission nodes. For example, the multi-stage switching network fabric may be a multi-stage CLOS network, where the multi-stage CLOS switching network fabric is a three-stage CLOS switching network fabric, the three-stage CLOS switching network fabric includes an input stage, an intermediate stage, and an output stage. The first node is an input stage and the second node is an intermediate stage. As shown in fig. 3, the data transmission nodes in the three-stage CLOS switching network structure are IM, CM and OM in sequence, which are all composed of node switching networks. Each pair of input and output ports includes a plurality of selectable paths therebetween, i.e., a plurality of input ports and output ports. Any one CM node may communicate data transmissions between IM and OM as an intermediate level path.
Optionally, the value of N is determined by the number of input ports in idle state. The value of M is determined by the number of output ports in the idle state. For example, in the case where 4 input ports and 4 output ports are included in the first node, the value of N is 2, with the input ports 1 and 3 being in an idle state. The output ports 1-4 are all in idle state and the value of M is 4. In the case of including a plurality of output ports in an idle state, a plurality of first connection relations may be established between the first port and the second port, for example, a connection relation is established between the input port 1 and the output port 0, and a connection relation is established between the input port 3 and the output port 1. And transmitting the plurality of first connection relations to the second node for authorization. The target connection relationship authorized by the second node may include one or a plurality of connection relationships established between, for example, the authorized input port 3 and the output port 1, to obtain the target connection relationship. Data is input from the input port 1 and output from the output port 3 according to the target connection relation, and then the data output by the output port 3 is stored in the output buffer 3, and the output buffer 3 corresponds to the input port 3 in the second node, so that the purpose of rapidly transmitting the data to the receiving equipment can be achieved.
In one exemplary embodiment, determining N first ports in an idle state and M second ports in an idle state in a first node includes: acquiring a port state identifier of each of a plurality of input ports included in a first node, and obtaining a plurality of input port state identifiers, wherein the input port state identifiers are used for identifying whether the input ports are currently in a data transmission state; determining N first ports from the plurality of input ports by using the plurality of input port state identifiers; acquiring a port state identifier of each of a plurality of output ports included in a first node, and obtaining a plurality of output port state identifiers, wherein the output port state identifiers are used for identifying whether the output ports are currently in a data transmission state; and determining M second ports from the plurality of output ports by using the plurality of output port state identifiers.
Optionally, the input port status flag is set by determining whether the input port is currently in a data input state. For example, input port 1 is not currently inputting data, and the input port status flag of input port 1 is labeled 1. The input port 2 is currently transmitting data, the input port status flag of the input port 2 is marked 0. Similarly, the output port status flag is set by determining whether the output port is currently in a data output state. For example, if output port 1 is not currently outputting data, then the input port status flag of output port 1 is labeled 1. The output port 2 is currently outputting data, the input port status flag of the input port 2 is marked as 0.
According to the embodiment, by acquiring the port state identification of each input port and the port state identification of each output port, whether the input port and the output port are in the idle state or not can be rapidly and accurately determined, and the states of the input port and the output port do not need to be judged through an arbiter, so that the judging time is saved.
In one exemplary embodiment, determining a target connection relationship using N first ports and M second ports includes: determining an input idle count value corresponding to each first port to obtain N input idle count values, wherein the input idle count value corresponding to each first port is an accumulated value of idle input ports recorded according to the port number of each first port; determining an output idle count value corresponding to each second port to obtain M output idle count values, wherein the output idle count value of each second port is an accumulated value of idle output ports recorded according to the port number of each output port; and determining the target connection relation by utilizing the N input idle count values and the M output idle count values.
Optionally, the input idle count value corresponding to the input port is accumulated according to a port ordering of the input port in the first node. For example, the first node includes 4 input ports and 4 output ports. Input port 1 and input port 3 are in an idle state and input port 0 and input port 2 are in a non-idle state. The input idle count value of input port 0 is 0, the input idle count value of input port 1 is 1, the input idle count value of input port 2 is 1, and the input idle count value of input port 3 is 2. And when the output ports 1-4 are in an idle state, the output idle count value of the output port 0 is 1, the output idle count value of the output port 1 is 2, the output idle count value of the output port 2 is 3, and the output idle count value of the output port 3 is 4. According to the embodiment, the input ports and the output ports with the connection corresponding relation can be clearly displayed through the set input idle count value and the set output idle count value.
Optionally, determining the target connection relationship using the N input idle count values and the M output idle count values includes: comparing the N input idle count values with the M output idle count values to obtain a comparison result; under the condition that the comparison result comprises the same input idle count value and output idle count value, determining a target input port and a target output port corresponding to the same input idle count value and output idle count value; binding the connection between the target input port and the target output port to obtain a first connection relation; and determining a target connection relation by using the first connection relation. As in the above embodiment, by comparing the input idle count values of the 4 input ports with the output idle count values of the 4 output ports, it is determined that the input idle count value of the input port 1 and the input idle count value of the output port 0 are the same, and are both 1. The input idle count value of the input port 3 is the same as the output idle count value of the output port 1, and is 2. A first connection is established between the input port 1 and the output port 0 and a first connection is established between the input port 3 and the output port 1. The first connection relationship may include a plurality.
Optionally, determining the target connection relationship using the first connection relationship includes: transmitting the first connection relationship to the second node to instruct the second node to verify the first connection relationship; receiving a verification result sent by a first node; and determining the first connection relation as a target connection relation under the condition that the second node is indicated to authorize the first connection relation in the verification result. In this embodiment, the second node arbitrates the first connection relationship by the set polling arbiter. The first connection relation comprises a port state identifier of the target input port, a port state identifier of the target output port, an input count value of the target input port and an output count value of the target output port. The poll arbiter determines whether to grant the first connection relationship by determining these values. For example, in the case where the first connection relationship is a connection relationship between the input port 1 and the output port 0, since the output port 0 is not in an idle state, the second node does not authorize the connection between the input port 1 and the output port 0. In the case that the first connection relationship is a connection relationship established between the input port 3 and the output port 1, the input port 3 and the output port 1 are in an idle state, and the input port state identifier of the input port 3 and the output port state identifier of the output port 1 are the same, the connection between the input port 3 and the output port 1 is authorized.
According to the embodiment, the connection relation between the input port and the output port can be quickly established by comparing the input port state identification and the output port state identification, and the second node is used for carrying out authorization judgment, so that the arbitration time of the first node is reduced, and the port connection establishment time is saved.
In an exemplary embodiment, after receiving the verification result sent by the first node, the method further includes: and unbinding the connection between the target input port and the target output port under the condition that the second node does not authorize the first connection relation in the verification result.
Optionally, after unbinding the target input port and the target output port, if the unbinding target output port is in an idle state, the unbinding target output port may continue to establish a connection relationship with other ports.
Optionally, after determining the first connection relationship as the target connection relationship, in the case that the second node is indicated to authorize the first connection relationship in the verification result, the method further includes: accumulating counting cardinalities corresponding to the N first ports, wherein the counting cardinalities are used for representing the number of established target connection relations in the N first ports; the target input port and the target output port are marked as being in a non-idle state. In this embodiment, the function of the counting base is to prevent the serial application of the same port whose authorization result is failed, and the counting is performed based on the counting base when the idle count value of the input port is calculated afterwards. The idle count value of the input port is the count of the idle input port, and the idle count value starts with the count base as the count. The purpose of quickly and accurately establishing the connection relation can be realized.
In one exemplary embodiment, transmitting a plurality of data to a second node using a target connection relationship includes: and sending the target connection relation to the route control device so as to instruct the route control device to transmit data to the second node according to the target connection relation. Optionally, the route control device is configured to transmit the data to an output buffer corresponding to a port number of the target output port according to the target input port and the target output port in the target connection relationship, where the buffer number of the output buffer corresponds to the input node in the second node, so that the data can be quickly transmitted to the second node.
In an exemplary embodiment, before sending the target connection relationship to the routing control device to instruct the routing control device to transmit data to the second node according to the target connection relationship, the method further includes: receiving a plurality of data transmission requests sent by a sending device, wherein the data transmission requests comprise data to be transmitted and a destination address; the data and the destination address are sent to the routing control device to instruct the routing control device to send the data and the destination address to the second node according to the target connection relationship.
Optionally, a plurality of transmitting ports are provided in the transmitting device, and as shown in fig. 3, the transmitting ports transmit data to an input port in an idle state in the first node. Since the connection relationship between the input port and the output port in the idle state has been established, a plurality of transmitting ports can transmit a plurality of data to the first node at the same time, simultaneously, and not serially, thereby increasing the transmission speed of the data.
Optionally, the present application is described in detail below with reference to a specific embodiment, as shown in fig. 4-1, fig. 4-2, and fig. 4-3, where the first node is an IM, and the number of input ports and output ports connected by the IM is 4. In fig. 4-1 and 4-3, the idle state of an input port is used to indicate that the input port is idle, but there is an access request (an access request sent by a receiving port, requesting transmission of data). The counting base is used for preventing the serial application of the port with the same authorization result as failure, and counting is carried out on the basis of the counting base when the idle count value of the input port is calculated afterwards. The input idle count value of the input port is the count of the idle input port, and the count base is used as the count start. As shown in fig. 4-1, the idle state of the input port 1 is 1 and the count base is 0, so that the input port idle count value of the input port 1 is 1; the idle state of the input port 2 is 0, so that the idle count value of the input port 2 is not changed and is still 1; since the idle state of the input port 3 is 1, the input port idle count value of the input port 3 is incremented by 1 and 2.
The output idle state of the output node is used for indicating that the IM output end corresponding to the output port is in the idle state and the corresponding buffer module is not full. The output port idle count is a count of output ports that are idle in radix. As shown in fig. 4-1, the idle state of the output port 0 is 1, so count 1; the idle state of the output port 1 is 1, so the count is 2; the idle state of the output port 2 is 1, so the count is 3; the idle state of the output port of output port 3 is 1, so count 4.
The idle state of the input/output port and the idle count value are then compared as a match flag, and temporarily locked (i.e., the connection relationship is temporarily established, for example, the first connection relationship described above). As shown in fig. 4-1, the input port 0 and the output port 0 are successfully matched and temporarily locked; the input port 3 and the output port 1 are successfully matched and temporarily locked, then an access request and an access destination address are sent to the next-stage CM, and an authorization result is returned to the IM. As shown in fig. 4-1, the lower node replies the authorization result: and if the output port authorization result of the output node number 0 is successful authorization, the input port 0 and the output port 0 are completely locked, and the connection relationship is sent to the routing control module for data transmission. And the output port authorization result of the output node number 0 is failure authorization, the input port 3 and the output port 1 are unlocked temporarily, the counting base number is increased by 1 to 1, and the next round of matching is carried out.
As shown in fig. 4-2, only the input port 3 is in the idle state, the idle state count is 2 (the number of idle ports plus the count base is 2), at this time, 3 output ports are in the idle state, the output ports are counted, and compared with the input port matching, the input port 3 and the output port 2 are successfully and temporarily locked. And then sending an access request and an access destination address to the next-stage CM, returning an authorization result to the IM, and as shown in fig. 4-2, outputting the output port authorization result of the node number 2 as failure authorization, releasing the successful temporary locking of the matching of the input port 3 and the output port 2, and carrying out the next round of matching by adding 1 to the counting base number.
As shown in fig. 4-3, only the input port 3 is in idle state, the idle state count is 3 (the idle port count is increased by the count base is 3, at this time, the output port has 3 output ports in idle state, count them, and compare with the input port match, the input port 3 and the output port 3 match successfully lock temporarily, then send the access request and the access destination address to the next CM, return the authorization result to IM, as shown in fig. 4-3, the output port authorization result of the output node number 3 is successful authorization, then lock the input port 3 and the output port 3 completely, send the connection relationship to the route control module, and perform data transmission.
Optionally, after obtaining the input/output idle state, and calculating an input/output idle count value by the count base, and taking the count value as the matching label of the input/output. After the temporary lock is obtained, the input/output idle count value is sent to the CM to request access and access destination address, and the input/output terminal is completely locked (the connection relationship is sent to the route control device to perform data routing) or the temporary lock is released (the input/output terminal is completely locked if the authorization result is successful, and the input/output terminal is released if the authorization result is failed) according to the returned authorization result. The count radix is incremented by 1 each time there is no failed grant or temporary lock on the grant results but there is an idle output port and an input port that is idle (the sending port has a request but is not locked). And (5) re-matching. The above method can successfully route the input port of the first node to the appropriate output port. And sending the connection relation of the completely locked input and output ports to the routing control equipment, and writing the data into an output buffer.
In this embodiment, a data transmission node is provided, and fig. 5 is a schematic diagram of the data transmission node according to an embodiment of the present application, as shown in fig. 5, where the data transmission node includes: a first node, a matching component and a route control device, wherein,
the matching component is used for determining a target connection relation by utilizing N first ports and M second ports in an idle state, wherein the first ports are input ports in a first node, the second ports are output ports in the first node, the target connection relation is a connection relation between the target input ports in the N first ports and the target output ports in the M second ports, the target connection relation is a connection relation which the second node is allowed to establish, the first node and the second node are data transmission nodes in a multi-stage switching network structure, and N and M are natural numbers which are larger than or equal to 1;
and the route control equipment is used for receiving the target connection relation sent by the matching component and sending the data of the plurality of sending equipment to the second node by utilizing the target connection relation.
Through the data transmission node, the input port and the output port which are in the idle state in the first node are firstly determined, then the connection between the input port and the output port which are in the idle state is established, the connection is sent to the second node for authorization, the target connection relationship between the target input port and the target output port is established under the condition that the second node allows connection establishment, and finally the data is sent according to the target connection relationship. The method for realizing connection by two-stage arbitration is not used any more, the input-output matching time required by realizing connection is reduced, and a plurality of input requests can be issued in parallel to a plurality of idle output ports for connection. Therefore, the problem of low data transmission efficiency in the related art can be solved, and the effect of improving the data transmission efficiency is achieved.
Optionally, the first node and the second node are data transmission nodes in a multi-stage switched network structure. The multistage switching network structure comprises multistage data transmission nodes. For example, the multi-stage switching network fabric may be a multi-stage CLOS network, where the multi-stage CLOS switching network fabric is a three-stage CLOS switching network fabric, the three-stage CLOS switching network fabric includes an input stage, an intermediate stage, and an output stage. The first node is an input stage and the second node is an intermediate stage. As shown in fig. 3, the data transmission nodes in the three-stage CLOS switching network structure are IM, CM and OM in sequence, which are all composed of node switching networks. Each pair of input and output ports includes a plurality of selectable paths therebetween, i.e., a plurality of input ports and output ports. Any one CM node may communicate data transmissions between IM and OM as an intermediate level path.
Optionally, the value of N is determined by the number of input ports in idle state. The value of M is determined by the number of output ports in the idle state. For example, in the case where 4 input ports and 4 output ports are included in the first node, the value of N is 2, with the input ports 1 and 3 being in an idle state. The output ports 1-4 are all in idle state and the value of M is 4. In the case of including a plurality of output ports in an idle state, a plurality of first connection relations may be established between the first port and the second port, for example, a connection relation is established between the input port 1 and the output port 0, and a connection relation is established between the input port 3 and the output port 1. And transmitting the plurality of first connection relations to the second node for authorization. The target connection relationship authorized by the second node may include one or a plurality of connection relationships established between, for example, the authorized input port 3 and the output port 1, to obtain the target connection relationship. Data is input from the input port 1 and output from the output port 3 according to the target connection relation, and then the data output by the output port 3 is stored in the output buffer 3, and the output buffer 3 corresponds to the input port 3 in the second node, so that the purpose of rapidly transmitting the data to the receiving equipment can be achieved.
In one exemplary embodiment, the matching component includes: the first counter is used for recording the input idle count value of each first port according to the port number of each first port to obtain N input idle count values; and the second counter is used for recording the output idle count value of each second port according to the port number of each second port to obtain M output idle count values.
Alternatively, as shown in fig. 6, the first counter includes m counters, and is connected to the input idle port to transmit the input idle count value to the comparator. The second counter also comprises m counters, is connected with the output idle port and transmits the output idle count value to the comparator.
Optionally, the matching component further comprises: the device comprises a comparator and a handshake module, wherein the comparator is used for comparing N input idle count values with M output idle count values to obtain a comparison result; the handshake module is used for binding the connection between the target input port and the target output port to obtain a first connection relation under the condition that the comparison result comprises the same input idle count value and output idle count value; and sending the first connection relationship to the second node, and determining the first connection relationship as a target connection relationship under the condition that the second node authorizes the first connection relationship.
Optionally, the input port status flag is set by determining whether the input port is currently in a data input state. For example, input port 1 is not currently inputting data, and the input port status flag of input port 1 is labeled 1. The input port 2 is currently transmitting data, the input port status flag of the input port 2 is marked 0. Similarly, the output port status flag is set by determining whether the output port is currently in a data output state. For example, if output port 1 is not currently outputting data, then the input port status flag of output port 1 is labeled 1. The output port 2 is currently outputting data, the input port status flag of the input port 2 is marked as 0.
According to the embodiment, by acquiring the port state identification of each input port and the port state identification of each output port, whether the input port and the output port are in the idle state or not can be rapidly and accurately determined, and the states of the input port and the output port do not need to be judged through an arbiter, so that the judging time is saved.
Optionally, the handshake module is further configured to unbind the connection between the target input port and the target output port in case the second node does not authorize the first connection relationship.
Optionally, after unbinding the target input port and the target output port, if the unbinding target output port is in an idle state, the unbinding target output port may continue to establish a connection relationship with other ports.
Optionally, after determining the first connection relationship as the target connection relationship, in the case that the second node is indicated to authorize the first connection relationship in the verification result, the method further includes: accumulating counting cardinalities corresponding to the N first ports, wherein the counting cardinalities are used for representing the number of established target connection relations in the N first ports; the target input port and the target output port are marked as being in a non-idle state. In this embodiment, the function of the counting base is to prevent the serial application of the same port whose authorization result is failed, and the counting is performed based on the counting base when the idle count value of the input port is calculated afterwards. The idle count value of the input port is the count of the idle input port, and the idle count value starts with the count base as the count. The purpose of quickly and accurately establishing the connection relation can be realized.
Optionally, the matching component further comprises: and the base counter is used for accumulating the counting bases corresponding to the N first ports, wherein the counting bases are used for representing the number of established target connection relations in the N first ports. In this embodiment, the function of the counting base is to prevent the serial application of the same port whose authorization result is failed, and the counting is performed based on the counting base when the idle count value of the input port is calculated afterwards. The idle count value of the input port is the count of the idle input port, and the idle count value starts with the count base as the count. The purpose of quickly and accurately establishing the connection relation can be realized.
In an exemplary embodiment, the data transmission node further comprises: and the plurality of output caches are connected with the route control equipment and are used for receiving the data transmitted by the route control equipment according to the target connection relation and caching the data. Optionally, as shown in fig. 5, an output port corresponds to an output buffer, according to the port number of the output port, data can be quickly buffered in the corresponding output buffer, and the buffer number of the output buffer corresponds to the input node in the second node, so that the data can be quickly transmitted to the second node.
In this embodiment, a multi-stage switching network structure is provided, including: the device comprises a sending device, a data transmission node and a receiving device, wherein the sending device is used for transmitting a plurality of data to the data transmission node through a plurality of data transmission ports; the data transmission node comprises a first node, a matching component and a routing control device, wherein the matching component is used for determining a target connection relation by utilizing N first ports and M second ports which are in idle states, the first ports are input ports in the first node, the second ports are output ports in the first node, the target connection relation is a connection relation between the target input ports in the N first ports and the target output ports in the M second ports, the target connection relation is a connection relation which the second node allows to establish, the first node and the second node are data transmission nodes in a multistage switching network structure, and N and M are natural numbers which are larger than or equal to 1; the route control device is used for receiving the target connection relation sent by the matching component and sending the data of the plurality of sending devices to the second node by utilizing the target connection relation; and the receiving equipment is used for receiving the data sent by the second node through a plurality of receiving ports.
Through the multistage switching network structure, the input port and the output port which are in the idle state in the first node are firstly determined, then the connection between the input port and the output port which are in the idle state is established, the connection is sent to the second node for authorization, the target connection relationship between the target input port and the target output port is established under the condition that the second node allows connection establishment, and finally data is sent according to the target connection relationship. The method for realizing connection by two-stage arbitration is not used any more, the input-output matching time required by realizing connection is reduced, and a plurality of input requests can be issued in parallel to a plurality of idle output ports for connection. Therefore, the problem of low data transmission efficiency in the related art can be solved, and the effect of improving the data transmission efficiency is achieved.
Optionally, the first node and the second node are data transmission nodes in a multi-stage switched network structure. The multistage switching network structure comprises multistage data transmission nodes. For example, the multi-stage switching network fabric may be a multi-stage CLOS network, where the multi-stage CLOS switching network fabric is a three-stage CLOS switching network fabric, the three-stage CLOS switching network fabric includes an input stage, an intermediate stage, and an output stage. The first node is an input stage and the second node is an intermediate stage. As shown in fig. 3, the data transmission nodes in the three-stage CLOS switching network structure are IM, CM and OM in sequence, which are all composed of node switching networks. Each pair of input and output ports includes a plurality of selectable paths therebetween, i.e., a plurality of input ports and output ports. Any one CM node may communicate data transmissions between IM and OM as an intermediate level path.
Optionally, the value of N is determined by the number of input ports in idle state. The value of M is determined by the number of output ports in the idle state. For example, in the case where 4 input ports and 4 output ports are included in the first node, the value of N is 2, with the input ports 1 and 3 being in an idle state. The output ports 1-4 are all in idle state and the value of M is 4. In the case of including a plurality of output ports in an idle state, a plurality of first connection relations may be established between the first port and the second port, for example, a connection relation is established between the input port 1 and the output port 0, and a connection relation is established between the input port 3 and the output port 1. And transmitting the plurality of first connection relations to the second node for authorization. The target connection relationship authorized by the second node may include one or a plurality of connection relationships established between, for example, the authorized input port 3 and the output port 1, to obtain the target connection relationship. Data is input from the input port 1 and output from the output port 3 according to the target connection relation, and then the data output by the output port 3 is stored in the output buffer 3, and the output buffer 3 corresponds to the input port 3 in the second node, so that the purpose of rapidly transmitting the data to the receiving equipment can be achieved.
In one exemplary embodiment, the second node includes: and the polling arbiter is used for arbitrating the first connection relation between the target input port and the target output port so as to verify the correctness of the first connection relation, wherein the first connection relation is the target connection relation under the condition that the first connection relation passes the verification.
In this embodiment, the second node arbitrates the first connection relationship by the set polling arbiter. The first connection relation comprises a port state identifier of the target input port, a port state identifier of the target output port, an input count value of the target input port and an output count value of the target output port. The poll arbiter determines whether to grant the first connection relationship by determining these values. For example, in the case where the first connection relationship is a connection relationship between the input port 1 and the output port 0, since the output port 0 is not in an idle state, the second node does not authorize the connection between the input port 1 and the output port 0. In the case that the first connection relationship is a connection relationship established between the input port 3 and the output port 1, the input port 3 and the output port 1 are in an idle state, and the input port state identifier of the input port 3 and the output port state identifier of the output port 1 are the same, the connection between the input port 3 and the output port 1 is authorized.
According to the embodiment, the connection relation between the input port and the output port can be quickly established by comparing the input port state identification and the output port state identification, and the second node is used for carrying out authorization judgment, so that the arbitration time of the first node is reduced, and the port connection establishment time is saved.
In one exemplary embodiment, the multi-stage switching network structure further comprises: and the third node is connected with the second node and is used for receiving the data transmitted by the second node and the destination address of the data and transmitting the data to the receiving equipment according to the destination address. Alternatively, as shown in fig. 7, in the case where the third node is OM, OM only needs to arbitrate the next node according to the destination to which the data is to be routed. The method comprises the steps of firstly sending an input request and a data destination thereof into a polling arbiter, and arbitrating an output result by the polling arbiter according to the prior arbitration result and the state of the current request. And the routing control equipment selects corresponding output from the input data according to the result of the polling arbiter. And finally, writing the output data into an output buffer, and determining whether to send out the data according to the states of OM and an output port by the output buffer.
In summary, the embodiment is suitable for the functional requirement of the CLOS interconnection architecture, the hardware implementation is easier, and the handshake can be performed while distributing multiple input requests to the output ports in parallel with less matching time.
From the description of the above embodiments, it will be clear to a person skilled in the art that the method according to the above embodiments may be implemented by means of software plus the necessary general hardware platform, but of course also by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk), comprising several instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method described in the embodiments of the present application.
The embodiment also provides a data transmission device, which is used for implementing the above embodiment and the preferred implementation manner, and is not described in detail. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
Fig. 8 is a block diagram of a data transmission apparatus according to an embodiment of the present application, as shown in fig. 8, the apparatus includes:
a first determining module 82, configured to determine N first ports in an idle state and M second ports in an idle state in a first node, where the first ports are input ports, the second ports are output ports, and N and M are natural numbers greater than or equal to 1;
a second determining module 84, configured to determine a target connection relationship by using the N first ports and the M second ports, where the target connection relationship is a connection relationship between a target input port in the N first ports and a target output port in the M second ports, and the target connection relationship is a connection relationship that the second node is allowed to establish, and the first node and the second node are both data transmission nodes in the multi-stage switching network structure;
the first transmission module 86 is configured to transmit data to the second node using the target connection relationship.
By the device, the input port and the output port which are in the idle state in the first node are firstly determined, then the connection between the input port and the output port which are in the idle state is established, the connection is sent to the second node for authorization, the target connection relationship between the target input port and the target output port is established under the condition that the second node allows connection establishment, and finally data is sent according to the target connection relationship. The method for realizing connection by two-stage arbitration is not used any more, the input-output matching time required by realizing connection is reduced, and a plurality of input requests can be issued in parallel to a plurality of idle output ports for connection. Therefore, the problem of low data transmission efficiency in the related art can be solved, and the effect of improving the data transmission efficiency is achieved.
In an exemplary embodiment, the first determining module includes:
a first obtaining unit, configured to obtain a port status identifier of each of a plurality of input ports included in a first node, to obtain a plurality of input port status identifiers, where the input port status identifier is used to identify whether the input port is currently in a data transmission state;
the first determining unit is used for determining N first ports from the plurality of input ports by utilizing the state identifiers of the plurality of input ports;
a second obtaining unit, configured to obtain a port status identifier of each of a plurality of output ports included in the first node, to obtain a plurality of output port status identifiers, where the output port status identifier is used to identify whether the output port is currently in a data transmission state;
and the second determining unit is used for determining M second ports from the plurality of output ports by utilizing the plurality of output port state identifiers.
In an exemplary embodiment, the second determining module includes:
a third determining unit, configured to determine an input idle count value corresponding to each first port, to obtain N input idle count values, where the input idle count value corresponding to each first port is an accumulated value of idle input ports recorded according to a port number of each first port;
A fourth determining unit, configured to determine an output idle count value corresponding to each second port, to obtain M output idle count values, where the output idle count value of each second port is an accumulated value of idle output ports recorded according to a port number of each output port;
and a fifth determining unit for determining a target connection relationship using the N input idle count values and the M output idle count values.
In one exemplary embodiment, the fifth determining unit includes:
the first comparison subunit is used for comparing the N input idle count values with the M output idle count values to obtain a comparison result;
the first determining subunit is configured to determine, when the comparison result includes the same input idle count value and output idle count value, a target input port and a target output port corresponding to the same input idle count value and output idle count value;
the first binding subunit is used for binding the connection between the target input port and the target output port to obtain a first connection relation;
and the second determining subunit is used for determining the target connection relation by utilizing the first connection relation.
In one exemplary embodiment, the target connection relationship is determined using the first connection relationship by: transmitting the first connection relationship to the second node to instruct the second node to verify the first connection relationship; receiving a verification result sent by a first node; and determining the first connection relation as a target connection relation under the condition that the second node is indicated to authorize the first connection relation in the verification result.
In an exemplary embodiment, the above apparatus further includes:
and the unbinding module is used for unbinding the connection between the target input port and the target output port under the condition that the second node does not authorize the first connection relationship in the verification result after receiving the verification result sent by the first node.
In an exemplary embodiment, the above apparatus further includes:
the accumulation module is used for accumulating counting cardinalities corresponding to the N first ports after the first connection relationship is determined to be the target connection relationship under the condition that the second node is indicated to authorize the first connection relationship in the verification result, wherein the counting cardinalities are used for representing the number of the established target connection relationship in the N first ports;
and the marking module is used for marking that the target input port and the target output port are in a non-idle state.
In an exemplary embodiment, the first transmission module includes:
and the sending unit is used for sending the target connection relation to the route control equipment so as to instruct the route control equipment to transmit data to the second node according to the target connection relation.
In an exemplary embodiment, the above apparatus further includes:
the receiving module is used for sending the target connection relation to the route control equipment so as to instruct the route control equipment to receive a plurality of data transmission requests sent by the sending equipment before transmitting data to the second node according to the target connection relation, wherein the data transmission requests comprise data to be transmitted and a destination address;
And the sending module is used for sending the data and the destination address to the routing control equipment so as to instruct the routing control equipment to send the data and the destination address to the second node according to the target connection relation.
It should be noted that each of the above modules may be implemented by software or hardware, and for the latter, it may be implemented by, but not limited to: the modules are all located in the same processor; alternatively, the above modules may be located in different processors in any combination.
Embodiments of the present application also provide a computer readable storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
In one exemplary embodiment, the computer readable storage medium may include, but is not limited to: a usb disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing a computer program.
Embodiments of the present application also provide an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
In an exemplary embodiment, the electronic device may further include a transmission device connected to the processor, and an input/output device connected to the processor.
Specific examples in this embodiment may refer to the examples described in the foregoing embodiments and the exemplary implementation, and this embodiment is not described herein.
It will be appreciated by those skilled in the art that the modules or steps of the application described above may be implemented in a general purpose computing device, they may be concentrated on a single computing device, or distributed across a network of computing devices, they may be implemented in program code executable by computing devices, so that they may be stored in a storage device for execution by computing devices, and in some cases, the steps shown or described may be performed in a different order than that shown or described herein, or they may be separately fabricated into individual integrated circuit modules, or multiple modules or steps of them may be fabricated into a single integrated circuit module. Thus, the present application is not limited to any specific combination of hardware and software.
The foregoing description is only of the preferred embodiments of the present application and is not intended to limit the same, but rather, various modifications and variations may be made by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application should be included in the protection scope of the present application.

Claims (18)

1. A data transmission method, comprising:
determining N first ports in an idle state and M second ports in the idle state in a first node, wherein the first ports are input ports, the second ports are output ports, and N and M are natural numbers greater than or equal to 1;
determining a target connection relationship by using the N first ports and the M second ports, wherein the target connection relationship is a connection relationship between a target input port in the N first ports and a target output port in the M second ports, the target connection relationship is a connection relationship allowed to be established by a second node, and the first node and the second node are both data transmission nodes in a multistage switching network structure;
transmitting data to the second node using the target connection relationship;
The determining, by using the N first ports and the M second ports, a target connection relationship includes:
determining an input idle count value corresponding to each first port to obtain N input idle count values, wherein the input idle count value corresponding to each first port is an accumulated value of idle input ports recorded according to the port number of each first port;
determining an output idle count value corresponding to each second port to obtain M output idle count values, wherein the output idle count value of each second port is an accumulated value of idle output ports recorded according to the port number of each output port;
comparing N input idle count values with M output idle count values to obtain a comparison result;
under the condition that the comparison result comprises the same input idle count value and the same output idle count value, determining the same target input port and the same target output port corresponding to the input idle count value and the same output idle count value;
binding the connection between the target input port and the target output port to obtain a first connection relation;
Transmitting the first connection relationship to the second node to instruct the second node to verify the first connection relationship;
receiving a verification result sent by the first node;
and determining the first connection relation as the target connection relation under the condition that the second node is indicated to authorize the first connection relation in the verification result.
2. The method of claim 1, wherein determining N first ports in an idle state and M second ports in an idle state in the first node comprises:
acquiring port state identifiers of each of a plurality of input ports included in the first node, and obtaining a plurality of input port state identifiers, wherein the input port state identifiers are used for identifying whether the input ports are currently in a data transmission state;
determining N first ports from a plurality of input ports by using a plurality of input port state identifiers;
acquiring port state identifiers of each of a plurality of output ports included in the first node, and obtaining a plurality of output port state identifiers, wherein the output port state identifiers are used for identifying whether the output ports are currently in a data transmission state or not;
And determining M second ports from the output ports by using the output port state identifiers.
3. The method of claim 2, wherein after receiving the authentication result sent by the first node, the method further comprises:
and unbinding the connection between the target input port and the target output port under the condition that the second node is not authorized to the first connection relation in the verification result.
4. The method according to claim 2, wherein, in case the second node is indicated in the verification result to authorize the first connection relation, after determining the first connection relation as the target connection relation, the method further comprises:
accumulating the counting cardinality corresponding to the N first ports, wherein the counting cardinality is used for representing the number of the established target connection relations in the N first ports;
marking that the target input port and the target output port are in a non-idle state.
5. The method of claim 1, wherein transmitting a plurality of data to the second node using the target connection relationship comprises:
And sending the target connection relation to a routing control device to instruct the routing control device to transmit the data to the second node according to the target connection relation.
6. The method of claim 5, wherein before sending the target connection relationship to a routing control device to instruct the routing control device to transmit the data to the second node in accordance with the target connection relationship, the method further comprises:
receiving a plurality of data transmission requests sent by a sending device, wherein the data transmission requests comprise the data to be transmitted and a destination address;
and sending the data and the destination address to the routing control equipment so as to instruct the routing control equipment to send the data and the destination address to the second node according to the target connection relation.
7. A data transmission node, comprising: a first node comprising a matching component and a route control device, wherein,
the matching component is configured to determine a target connection relationship by using N first ports and M second ports in an idle state, where the first ports are input ports in the first node, the second ports are output ports in the first node, the target connection relationship is a connection relationship between N target input ports in the first ports and M target output ports in the second port, the target connection relationship is a connection relationship allowed to be established by the second node, and the first node and the second node are both data transmission nodes in a multi-stage switching network structure, where N and M are natural numbers greater than or equal to 1;
The route control device is configured to receive the target connection relationship sent by the matching component, and send data of multiple sending devices to the second node by using the target connection relationship;
wherein the matching component is further configured to determine a target connection relationship using the N first ports and the M second ports in the idle state by: determining an input idle count value corresponding to each first port to obtain N input idle count values, wherein the input idle count value corresponding to each first port is an accumulated value of idle input ports recorded according to the port number of each first port; determining an output idle count value corresponding to each second port to obtain M output idle count values, wherein the output idle count value of each second port is an accumulated value of idle output ports recorded according to the port number of each output port; comparing N input idle count values with M output idle count values to obtain a comparison result; under the condition that the comparison result comprises the same input idle count value and the same output idle count value, determining the same target input port and the same target output port corresponding to the input idle count value and the same output idle count value; binding the connection between the target input port and the target output port to obtain a first connection relation; transmitting the first connection relationship to the second node to instruct the second node to verify the first connection relationship; receiving a verification result sent by the first node; and determining the first connection relation as the target connection relation under the condition that the second node is indicated to authorize the first connection relation in the verification result.
8. The data transmission node of claim 7, wherein the matching component comprises: a first counter, a second counter, wherein,
the first counter is configured to record an input idle count value of each first port according to a port number of each first port, so as to obtain N input idle count values;
and the second counter is used for recording the output idle count value of each second port according to the port number of each second port to obtain M output idle count values.
9. The data transmission node of claim 8, wherein the matching component further comprises: a comparator, and a handshake module, wherein,
the comparator is used for comparing N input idle count values with M output idle count values to obtain a comparison result;
the handshake module is configured to bind connection between the target input port and the target output port to obtain a first connection relationship when the comparison result includes the same input idle count value and the same output idle count value; and sending the first connection relationship to the second node, and determining the first connection relationship as the target connection relationship under the condition that the second node authorizes the first connection relationship.
10. The data transmission node of claim 9, wherein the data transmission node comprises a plurality of data transmission nodes,
the handshake module is further configured to unbind a connection between the target input port and the target output port if the second node does not authorize the first connection relationship.
11. The data transmission node of claim 7, wherein the matching component further comprises: a radix counter, wherein,
the radix counter is configured to accumulate count radix corresponding to the N first ports, where the count radix is used to represent the number of the established target connection relationships in the N first ports.
12. The data transmission node of claim 7, further comprising: a plurality of output buffers, wherein,
and the plurality of output caches are connected with the route control equipment and are used for receiving the data transmitted by the route control equipment according to the target connection relation and caching the data.
13. A multi-stage switching network architecture comprising: a transmitting device, a data transmission node, a receiving device, wherein,
the transmitting device is configured to transmit a plurality of data to the data transmission node through a plurality of data transmission ports;
The data transmission node comprises a first node, the first node comprises a matching component and a routing control device, the matching component is used for determining a target connection relation by utilizing N first ports and M second ports in an idle state, the first ports are input ports in the first node, the second ports are output ports in the first node, the target connection relation is a connection relation between target input ports in N first ports and target output ports in M second ports, the target connection relation is a connection relation which the second node allows to establish, the first node and the second node are both data transmission nodes in a multi-stage switching network structure, and the N and the M are natural numbers which are greater than or equal to 1; the route control device is configured to receive the target connection relationship sent by the matching component, and send data of multiple sending devices to the second node by using the target connection relationship;
the receiving device is configured to receive the data sent by the second node through a plurality of receiving ports;
wherein the matching component is further configured to determine a target connection relationship using the N first ports and the M second ports in the idle state by: determining an input idle count value corresponding to each first port to obtain N input idle count values, wherein the input idle count value corresponding to each first port is an accumulated value of idle input ports recorded according to the port number of each first port; determining an output idle count value corresponding to each second port to obtain M output idle count values, wherein the output idle count value of each second port is an accumulated value of idle output ports recorded according to the port number of each output port; comparing N input idle count values with M output idle count values to obtain a comparison result; under the condition that the comparison result comprises the same input idle count value and the same output idle count value, determining the same target input port and the same target output port corresponding to the input idle count value and the same output idle count value; binding the connection between the target input port and the target output port to obtain a first connection relation; transmitting the first connection relationship to the second node to instruct the second node to verify the first connection relationship; receiving a verification result sent by the first node; and determining the first connection relation as the target connection relation under the condition that the second node is indicated to authorize the first connection relation in the verification result.
14. The multi-stage switching network structure of claim 13, wherein the second node comprises: a round-robin arbiter, wherein,
the polling arbiter is configured to arbitrate a first connection relationship between the target input port and the target output port to verify correctness of the first connection relationship, where the first connection relationship is the target connection relationship when the first connection relationship is verified.
15. The multi-stage switching network structure of claim 13, further comprising: a third node, wherein,
the third node is connected with the second node, and is used for receiving the data transmitted by the second node and the destination address of the data, and transmitting the data to the receiving equipment according to the destination address.
16. A data transmission apparatus, comprising:
the first determining module is used for determining N first ports in an idle state and M second ports in the idle state in a first node, wherein the first ports are input ports, the second ports are output ports, and N and M are natural numbers which are greater than or equal to 1;
A second determining module, configured to determine a target connection relationship by using N first ports and M second ports, where the target connection relationship is a connection relationship between a target input port in the N first ports and a target output port in the M second ports, and the target connection relationship is a connection relationship allowed to be established by a second node, and the first node and the second node are both data transmission nodes in a multi-stage switching network structure;
the first transmission module is used for transmitting data to the second node by utilizing the target connection relation;
wherein the second determining module comprises: the first determining unit is used for determining an input idle count value corresponding to each first port to obtain N input idle count values, wherein the input idle count value corresponding to each first port is an accumulated value of idle input ports recorded according to the port number of each first port; the second determining unit is used for determining an output idle count value corresponding to each second port to obtain M output idle count values, wherein the output idle count value of each second port is an accumulated value of idle output ports recorded according to the port number of each output port; the first comparison unit is used for comparing the N input idle count values with the M output idle count values to obtain a comparison result; a third determining unit, configured to determine, when the comparison result includes the same input idle count value and the same output idle count value, the target input port and the target output port corresponding to the same input idle count value and the same output idle count value; a first binding unit, configured to bind a connection between the target input port and the target output port to obtain a first connection relationship; the first indicating unit is used for sending the first connection relation to the second node so as to indicate the second node to verify the first connection relation; the first receiving unit is used for receiving the verification result sent by the first node; and a second indicating unit configured to determine the first connection relationship as the target connection relationship when the second node is indicated to authorize the first connection relationship in the verification result.
17. A computer readable storage medium, characterized in that a computer program is stored in the computer readable storage medium, wherein the computer program, when being executed by a processor, implements the steps of the method according to any of the claims 1 to 6.
18. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method of any one of claims 1 to 6 when the computer program is executed.
CN202311344021.0A 2023-10-17 2023-10-17 Data transmission method and device, storage medium and electronic equipment Active CN117097684B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311344021.0A CN117097684B (en) 2023-10-17 2023-10-17 Data transmission method and device, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311344021.0A CN117097684B (en) 2023-10-17 2023-10-17 Data transmission method and device, storage medium and electronic equipment

Publications (2)

Publication Number Publication Date
CN117097684A CN117097684A (en) 2023-11-21
CN117097684B true CN117097684B (en) 2024-02-27

Family

ID=88772039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311344021.0A Active CN117097684B (en) 2023-10-17 2023-10-17 Data transmission method and device, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN117097684B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108173787A (en) * 2017-11-30 2018-06-15 成都成电光信科技股份有限公司 Data transmission path selection method, Method of Scheduling Parallel and the device of FC interchangers
CN109510786A (en) * 2019-01-22 2019-03-22 伍星霖 A kind of route control method and switching equipment
CN113259264A (en) * 2021-07-07 2021-08-13 北京国科天迅科技有限公司 Data transmission method and device, computer equipment and storage medium
CN113630347A (en) * 2021-08-13 2021-11-09 山东云海国创云计算装备产业创新中心有限公司 Data transmission method, system, storage medium and equipment
CN113676422A (en) * 2021-10-25 2021-11-19 苏州浪潮智能科技有限公司 Node matching method and device
CN116260776A (en) * 2017-10-24 2023-06-13 英特尔公司 Hardware assisted virtual switch

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018122583A1 (en) * 2016-12-30 2018-07-05 Intel Corporation System and method to enable fairness on multi-level arbitrations for switch architectures
US11922220B2 (en) * 2018-11-08 2024-03-05 Intel Corporation Function as a service (FaaS) system enhancements

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116260776A (en) * 2017-10-24 2023-06-13 英特尔公司 Hardware assisted virtual switch
CN108173787A (en) * 2017-11-30 2018-06-15 成都成电光信科技股份有限公司 Data transmission path selection method, Method of Scheduling Parallel and the device of FC interchangers
CN109510786A (en) * 2019-01-22 2019-03-22 伍星霖 A kind of route control method and switching equipment
CN113259264A (en) * 2021-07-07 2021-08-13 北京国科天迅科技有限公司 Data transmission method and device, computer equipment and storage medium
CN113630347A (en) * 2021-08-13 2021-11-09 山东云海国创云计算装备产业创新中心有限公司 Data transmission method, system, storage medium and equipment
CN113676422A (en) * 2021-10-25 2021-11-19 苏州浪潮智能科技有限公司 Node matching method and device
WO2023071116A1 (en) * 2021-10-25 2023-05-04 苏州浪潮智能科技有限公司 Node matching method and apparatus, device, and medium

Also Published As

Publication number Publication date
CN117097684A (en) 2023-11-21

Similar Documents

Publication Publication Date Title
CN109656873B (en) Block chain-based data archiving method and device and terminal equipment
CN110070445B (en) Transaction processing method and device based on blockchain system
CN110011988A (en) Based on the certification authentication method and device of block chain, storage medium, electronic device
CN113630347B (en) Data transmission method, system, storage medium and equipment
CN111683118B (en) Block chain-based consensus method and device, master node equipment and slave node equipment
US7058053B1 (en) Method and system to process a multicast request pertaining to a packet received at an interconnect device
CN113014666B (en) Block chain protocol stack architecture method, system, equipment and storage medium
CN111010381B (en) Cross-chain-based identity authentication method and system
CN106686129A (en) Load balancing method and load balancing system
CN112688870B (en) Routing method, routing device and node equipment
CN107332943A (en) A kind of message forwarding method and device
CN115495399B (en) Distributed arbitration system, method, device, storage medium and electronic equipment
CN117097684B (en) Data transmission method and device, storage medium and electronic equipment
CN110490734B (en) Transaction group construction and broadcasting method and system, equipment and storage medium
CN103888314B (en) The method that finite state machine status are verified based on uio sequence method
CN110460536A (en) For the data processing method and device of block chain, medium and electronic equipment
CN108289117B (en) Multi-party access system based on FPGA and processing method
US6848017B2 (en) Method and apparatus for determining connections in a crossbar switch
CN117155851B (en) Data packet transmission method and system, storage medium and electronic device
CN110069564B (en) Information query system and method based on block chain
CN115150343B (en) Exchange chip verification platform device and method based on UVM
CN116055403A (en) Message data transmission method, device and server
CN113886487B (en) Message transmission method, system, medium, equipment and mobile terminal
WO2022007587A1 (en) Switch and data processing system
CN115114009B (en) Data query method, master node and slave node

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