The present disclosure relates to the field of wireless communications technologies, and in particular, to a data transmission method and apparatus and a switch.
With rapid development of mobile communications technologies, wireless communications systems are developing towards mobile, broadband, and Internet Protocol (IP)-based systems, competitions in the mobile communications market are becoming more intense, and technical updates are becoming more frequent. To reduce costs, future base stations will mostly use a form of a centralized data center, and large-scale real-time data processing is performed by a plurality of servers in the centralized data center. In this data processing manner, servers in the centralized data center will face great data exchange pressures.
In the prior art, high-bandwidth low-delay switches are configured according to peak requirements needed by uplink and downlink of servers, and high-performance switches are used to implement mesh interconnection of the servers in the centralized data center, so as to ensure that bandwidth and access delay between the servers can satisfy large-scale real-time data processing.
Although the high-performance switches can meet data communication requirements between the servers, the high-performance switches have relatively high costs. In addition, prices of switches with the same performance may reduce gradually in future developments. However, because of continuous developments of communications technologies, there will be an increasing quantity of servers in a centralized data center, and requirements for the scale and real-time quality of data processing become higher. Consequently, costs of switches in the entire system cannot be reduced easily.
Embodiments of the present disclosure provide a data transmission method and apparatus and a switch, so that a low-bandwidth switch is used to implement large-scale real-time data exchange in a centralized data processing process, thereby achieving an objective of reducing system costs.
According to a first aspect, an embodiment of the present disclosure provides a data transmission method, including dividing a channel into at least two sub-channels at a node, where the node is a point at which the channel and a backplane intersect; and performing data transmission with at least one server using the sub-channels.
In a first possible implementation manner of the first aspect, when the channel is a downlink channel, the dividing a channel into at least two sub-channels at a node includes dividing the downlink channel into at least two downlink sub-channels at the node; before performing data transmission with at least one server using the sub-channels, the method includes replicating a downlink data packet, where a quantity of replicates is the same as a quantity of the downlink sub-channels; and performing data transmission with at least one server using the sub-channels includes sending the downlink data packets to the at least one server using the downlink sub-channels.
In a second possible implementation manner of the first aspect, when the channel is an uplink channel, dividing a channel into at least two sub-channels at a node includes dividing the uplink channel into at least two uplink sub-channels at the node; and performing data transmission with at least one server using the sub-channels includes receiving uplink data packets that are sent by the at least one server using the uplink sub-channels.
With reference to the second possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect, before receiving uplink data packets that are sent by the at least one server using the uplink sub-channels, the method further includes, if a conflict exists when the at least one server sends the uplink data packets using the uplink sub-channels, making arbitration on the at least one server to obtain an arbitration result; and receiving uplink data packets that are sent by the at least one server using the uplink sub-channels includes receiving, according to the arbitration result, an uplink data packet that is sent by a selected server using an uplink sub-channel connected to the selected server.
With reference to the third possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, making arbitration on the at least one server to obtain an arbitration result includes making the arbitration on the at least one server according to at least one of a priority of the at least one server, or a priority of a data packet sent by the at least one server.
With reference to any one of the first aspect, or the first to the fourth implementation manners of the first aspect, in a fifth possible implementation manner of the first aspect, after dividing a channel into at least two sub-channels at a node, the method further includes allocating bandwidth to the at least one server according to a bandwidth requirement of the at least one server connected to the sub-channels.
According to a second aspect, an embodiment of the present disclosure provides a data transmission apparatus, including a division module configured to divide a channel into at least two sub-channels at a node, where the node is a point at which the channel and a backplane intersect; and a transmission module configured to perform data transmission with at least one server using the sub-channels obtained by means of division by the division module.
In a first possible implementation manner of the second aspect, the apparatus further includes a replication module; the division module is configured to, when the channel is a downlink channel, divide the downlink channel into at least two downlink sub-channels at the node; the replication module is configured to replicate a downlink data packet, where a quantity of replicates is the same as a quantity of the downlink sub-channels obtained by means of division by the division module; and the transmission module is configured to send the downlink data packets replicated by the replication module to the at least one server using the downlink sub-channels.
In a second possible implementation manner of the second aspect, the division module is configured to, when the channel is an uplink channel, divide the uplink channel into at least two uplink sub-channels at the node; and the transmission module is configured to receive uplink data packets that are sent by the at least one server using the uplink sub-channels.
With reference to the second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the apparatus further includes an arbitration module configured to, if a conflict exists when the at least one server sends the uplink data packets using the uplink sub-channels, make arbitration on the at least one server to obtain an arbitration result; where the transmission module is configured to receive, according to the arbitration result of the arbitration module, an uplink data packet that is sent by a selected server using an uplink sub-channel connected to the selected server.
With reference to the third possible implementation manner of the second aspect, in a fourth possible implementation manner of the second aspect, the arbitration module is configured to make the arbitration on the at least one server according to at least one of the following: a priority of the at least one server; or a priority of a data packet sent by the at least one server.
With reference to any one of the second aspect, or the first to the fourth implementation manners of the second aspect, in a fifth possible implementation manner of the second aspect, the apparatus further includes an allocation module configured to, after the division module divides the channel into the at least two sub-channels at the node, allocate bandwidth to the at least one server according to a bandwidth requirement of the at least one server connected to the sub-channels.
According to a third aspect, an embodiment of the present disclosure provides a switch, including a processor and a memory, where the memory stores an execution instruction, and when the switch operates, the processor communicates with the memory, and the processor executes the execution instruction to cause the switch to execute any one of the foregoing first aspect, or the first to the fifth possible implementation manners of the first aspect.
The data transmission method and apparatus and the switch provided in the embodiments of the present disclosure can be applied to a channel that is connected to a backplane, where the channel is divided into a plurality of sub-channels at a node, that is, at a point at which the channel and the backplane intersect, and the sub-channels are connected to different servers. In this process, each of the sub-channels obtained by means of division can exclusively use all bandwidth of the original channel, so that a server can be connected to a switch using a plurality of sub-channels and occupy bandwidth of a plurality of channels. Therefore, in the embodiments of the present disclosure, a low-bandwidth switch can be used to implement large-scale real-time data exchange in a centralized data processing process, thereby reducing costs of the switch to some extent.
To make the objectives, technical solutions, and advantages of the embodiments of the present disclosure clearer, the following clearly describes the technical solutions in the embodiments of the present disclosure with reference to the accompanying drawings in the embodiments of the present disclosure. The described embodiments are some but not all of the embodiments of the present disclosure. All other embodiments obtained by persons of ordinary skill in the art based on the embodiments of the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.
101: Divide a channel into at least two sub-channels at a node, where the node is a point at which the channel and a backplane intersect.
Generally, a switch may include several channels which are also referred to as ports, the switch has a physical connection with a server using these channels, and these channels are, for example, uplink channels or downlink channels. In this step, all channels of the switch or some of the channels that are independent are connected to the backplane in advance, and the backplane may be a backplane that is disposed on the switch and has a connection function on a manager, a line card or the like of the switch, or a backplane that is newly disposed and independent of the switch. For a channel that is connected to the backplane, the channel is divided into at least two sub-channels at a node, and each of the sub-channels can exclusively use all bandwidth of the original channel. Then, the sub-channels are connected to different servers or a same server. The node is a point at which the channel and the backplane intersect. For details, refer to
With reference to
Optionally, after the channel is divided into at least two sub-channels at a node, the switch may further allocate bandwidth to at least one server according to a bandwidth requirement of a server connected to each sub-channel.
A quantity of channels of the switch is fixed. After connection relationships of sub-channels of each channel and a server are configured, bandwidth for the server to access the switch may be allocated to the server according to a requirement of the server. Referring to
Optionally, asymmetric uplink and downlink bandwidth is provided to each server, that is, uplink and downlink bandwidth provided to each server may be different. Referring to
102: Perform data transmission with at least one server using the sub-channels.
For each server, the switch sends downlink data packet to the server using a downlink sub-channel between the switch and the server. Alternatively, the switch receives an uplink data packet that is sent by the server using an uplink sub-channel between the switch and the server.
Optionally, the switch may maintain a mapping table of mapping information between servers and channels. For example, a functional entity may be added to maintain the corresponding information table. In this way, after receiving a data packet, the switch finds a corresponding channel in the mapping table according to a server identifier carried by the data packet, and sends the data packet using the found channel.
The data transmission method provided in this embodiment of the present disclosure can be applied to a channel that is connected to a backplane, where the channel is divided into a plurality of sub-channels at a node, that is, at a point at which the channel and the backplane intersect, and the sub-channels are connected to different servers. In this process, each of the sub-channels obtained by means of division can exclusively use all bandwidth of the original channel, so that a server can be connected to a switch using a plurality of sub-channels and occupy bandwidth of a plurality of channels. Therefore, in the embodiments of the present disclosure, a low-bandwidth switch can be used to implement large-scale real-time data exchange in a centralized data processing process, thereby reducing costs of the switch to some extent.
Optionally, in the foregoing Embodiment 1, when the channel is a downlink channel, the switch divides the downlink channel into at least two downlink sub-channels at the node. In this case, in a process of sending a downlink data packet, the downlink data packet is first replicated, and a quantity of replicates is the same as a quantity of the downlink sub-channels. Then, the downlink data packets are sent to at least one server using the downlink sub-channels, and each server selects to receive a data packet that is needed according to a requirement of the server itself and drops a useless data packet. For details, refer to
With reference to
Optionally, in the foregoing Embodiment 1, when the channel is an uplink channel, the switch divides the uplink channel into at least two uplink sub-channels at the node. In this case, the switch receives an uplink data packet that is sent by at least one server using an uplink sub-channel connected to the server. In a process of receiving the uplink data packet, for a plurality of uplink sub-channels that is divided from an uplink channel, the uplink sub-channels are connected to different servers. Therefore, the switch may select to connect to only one of the uplink sub-channels. In this case, the switch only receives an uplink data packet that is sent by a server connected to the uplink sub-channel. Alternatively, a module with functions of sending uplink data and arbitrating may be arranged. For example, the arbitration module may be disposed on a node or disposed independently. If the node determines that a conflict exists when the at least one server sends an uplink data packet using the uplink sub-channels connected to the server, the arbitration module makes arbitration on the at least one server to obtain an arbitration result, and selects a server according to the arbitration result, so that the switch only receives an uplink data packet that is sent by the selected server using an uplink sub-channel connected to the server. Alternatively, the switch receives uplink data packets that are sent by the servers successively according to the arbitration result. For details, refer to
With reference to
The data transmission apparatus provided in this embodiment of the present disclosure can be applied to a channel that is connected to a backplane, where the channel is divided into a plurality of sub-channels at a node, that is, at a point at which the channel and the backplane intersect, and the sub-channels are connected to different servers. In this process, each of the sub-channels obtained by means of division can exclusively use all bandwidth of the original channel, so that a server can be connected to a switch using a plurality of sub-channels and occupy bandwidth of a plurality of channels. Therefore, in the embodiments of the present disclosure, a low-bandwidth switch can be used to implement large-scale real-time data exchange in a centralized data processing process, thereby reducing costs of the switch to some extent.
Optionally, in an embodiment of the present disclosure, the division module 11 is configured to, when the channel is an uplink channel, divide the uplink channel into at least two uplink sub-channels at the node; and the transmission module 12 is configured to receive uplink data packets that are sent by at least one server using the uplink sub-channels.
Referring to
Further, optionally, in an embodiment of the present disclosure, the arbitration module 14 is configured to make arbitration on the at least one server according to at least one of the following: a priority of the at least one server; or a priority of a data packet sent by the at least one server.
Referring to
Persons of ordinary skill in the art may understand that all or some of the steps of the method embodiments may be implemented by a program instructing relevant hardware. The program may be stored in a computer-readable memory medium. When the program runs, the steps of the method embodiments are performed. The foregoing memory medium includes any medium that can store program code, such as a read-only memory (ROM), a random-access memory (RAM), a magnetic disk, or an optical disc.
Finally, it should be noted that the foregoing embodiments are merely intended for describing the technical solutions of the present disclosure, but not for limiting the present disclosure. Although the present disclosure is described in detail with reference to the foregoing embodiments, persons of ordinary skill in the art should understand that they may still make modifications to the technical solutions described in the foregoing embodiments or make equivalent replacements to some or all technical features thereof, without departing from the scope of the technical solutions of the embodiments of the present disclosure.
This application is a continuation of International Application No. PCT/CN2014/077278, filed on May 12, 2014, the disclosure of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2014/077278 | May 2014 | US |
Child | 15349476 | US |