WO2018082655A1 - Method and device for determining data transmission path - Google Patents

Method and device for determining data transmission path Download PDF

Info

Publication number
WO2018082655A1
WO2018082655A1 PCT/CN2017/109303 CN2017109303W WO2018082655A1 WO 2018082655 A1 WO2018082655 A1 WO 2018082655A1 CN 2017109303 W CN2017109303 W CN 2017109303W WO 2018082655 A1 WO2018082655 A1 WO 2018082655A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
paths
parameter
data
condition
Prior art date
Application number
PCT/CN2017/109303
Other languages
French (fr)
Chinese (zh)
Inventor
喻径舟
何子键
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2018082655A1 publication Critical patent/WO2018082655A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth

Definitions

  • the present invention relates to the field of data communication technologies, and in particular, to a method and apparatus for determining a data transmission path.
  • the data center includes multiple sending ends, multiple switches, and multiple receiving ends.
  • Each transmitting end, receiving end, and switch are connected to a centralized controller, and one transmitting end is connected to one or more switches.
  • a receiving end is also connected to one or more switches, and the transmitting end sends data to the receiving end through the switch. It can be seen that when there are multiple paths between one transmitting end and the receiving end, the transmitting end can pass through multiple paths.
  • One or more lines send data to the receiving end.
  • the transmitting end 1 in FIG. 1 can send data to the receiving end 2 through two paths. In order to prevent the lines from being too complicated in FIG. 1, only the transmitting end 1 and the receiving end 2 are shown.
  • the connection relationship of the switch in fact, each sender and each receiver can be connected to one or more switches.
  • any one of the transmitting ends maintains a path congestion table 1 of the congestion value of all the paths from the transmitting end to all the receiving ends.
  • the vertical index of the path congestion table 1 is the ID (identification) of the receiving end, and the horizontal index is the path ID of all the paths from the sending end to the corresponding receiving end.
  • the content in the table is the congestion value of the corresponding path.
  • the transmitting end may determine a path with the smallest congestion value in all paths to the receiving end in the path congestion table 1 and send the path to the receiving end on the path.
  • Send a message The packet sent on each path will be carried in the packet and will be carried in the packet.
  • the receiver After receiving the packet, the receiver will update the congestion value of the path carried in the packet to the path congestion table 2.
  • the path congestion table 2 is a table of congestion values of all paths from all the senders to the receivers maintained in the receiving end.
  • the vertical index of the path congestion table 2 is the ID of the sender, and the horizontal index is the corresponding sender to the receiver.
  • the path congestion table needs to be maintained in each of the transmitting end and each receiving end, which causes waste of resources.
  • the embodiment of the present invention provides a method and an apparatus for determining a data transmission path, which are used to solve the problem of waste of resources caused by the need to maintain a path congestion table in each of the transmitting end and each receiving end in the prior art.
  • the first aspect provides a method for determining a data transmission path, including: a sending end receiving a first indication message sent by a receiving end; and a sending end determining a first target path according to the first indication message, where the first target path is receiving
  • the same path does not exist in the strip path and the s path.
  • the n path is the path between the receiving end and the sending end.
  • the path status parameter includes at least one of the following parameters: load, congestion value, delay, and data to be received.
  • n is an integer greater than 1
  • m1 are integers greater than 0 and less than or equal to n
  • the sum of m1 and s is less than or equal to n
  • the transmitting end determines the m1 path as the second target path
  • the transmitting end determines the other paths except the s path in the n paths as the first The second target path
  • the transmitting end determines the second target path as a path for transmitting data to be transmitted.
  • the path state parameter of the path is a path state parameter of the total path of the path, a path state parameter of the first part of the path, or a path state parameter of the second part of the path
  • the total path includes the path All sub-paths
  • the first part of the path is a part of the total path, and includes a sub-path in the total path with the transmitting end as the starting node
  • the second part of the path is part of the total path, and includes the total path to receive
  • the end is a sub-path of the end node
  • one sub-path in the total path is a path between adjacent nodes in the total path
  • the starting node of one sub-path refers to sending data in the adjacent nodes constituting the sub-path
  • an end node of a sub-path refers to a node that receives data in a neighboring node constituting the sub-path.
  • the path state parameter of the path is not the path state parameter of the first part of the path
  • the method further includes: the sending end Determining, by the path state parameter of the first partial path of each path in the second target path, a third target path in the second target path; the transmitting end determining the second target path as a path for sending data to be sent, including: sending The terminal determines the third target path as a path for transmitting data to be transmitted.
  • the number of data saved in the transmitting end and the receiving end can be reduced.
  • the method further includes: the sending end sends the data to be sent according to the path for sending the data to be sent.
  • the sending end sends the data to be sent according to the path for sending the data to be sent, including: the sending end selects a path in the path for sending the data to be sent, and sends the data to be sent on the path; or The transmitting end severifies the data to be sent to obtain x data blocks, and respectively sends x data blocks on the path included in the path for transmitting the data to be transmitted, and the value of x and the path included in the path for transmitting the data to be transmitted The number is equal; or, the sender divides the data to be transmitted into a plurality of data blocks, and polls and transmits a plurality of data blocks on all paths included in the path for transmitting the data to be transmitted.
  • the method further includes: The transmitting end determines the delay of all the paths in the path for sending the data to be sent; the transmitting end divides the data to be sent into x data blocks, and sends x data respectively on the path included in the path for sending the data to be transmitted.
  • the block includes: the transmitting end shards the data to be sent to obtain x data blocks, and sends x data blocks respectively on the path included in the path for transmitting the data to be sent, and sends the path included in the path of the data to be sent. The smaller the delay The path is used to send the data block received by the sender in the x data blocks.
  • the method further includes: the sender sends a probe packet to the receiver on the path, and the probe packet is used to detect congestion of the path.
  • the congestion value of the path is the maximum of the congestion values of the sub-paths included in the path or the sum of the congestion values of the sub-paths included in the path; the congestion value of one sub-path is used for the starting node of the sub-path
  • the sum of the queue congestion values of at least one queue of the transmission probe message or the queue congestion value of at least one queue; the queue congestion value of one queue is the current queue depth of the queue, or the current queue depth of the queue.
  • the transmitting end selects the third target path in the second target path according to the path state parameter of the first partial path of each path in the second target path, including: the second target path is sent by the sending end.
  • the path state parameter in the path state parameter of the first part of the path meets the path condition parameter corresponding to the first condition is determined as the third target path, and the path state parameter satisfies the first condition, that is, each parameter in the path state parameter satisfies the respective Corresponding first condition, one parameter corresponds to a first condition, and a first condition includes a first threshold; when the value of a parameter is larger, indicating that the path state of the path is better, the parameter satisfies the corresponding first condition The value of the parameter is greater than or equal to the first threshold included in the corresponding first condition; when the value of a parameter is smaller, indicating that the path state of the path is better, the parameter satisfies the corresponding first condition and refers to the parameter.
  • the value is less than or equal to the first threshold
  • Threshold value when the value of a parameter is smaller, indicating that the path state of the path is better, the parameter satisfies the corresponding second condition, that is, the value of the parameter is less than or equal to the second threshold included in the corresponding second condition; Sending a second indication message to the receiving end, where the second indication message includes information for indicating the m2 paths.
  • the end-use path can be negotiated between the transmitting end and the receiving end to fully meet the respective requirements of the transmitting end and the receiving end.
  • a second aspect provides a method for determining a data transmission path, including: a receiving end determining a first target path among the n paths according to a path state parameter of each of the n paths, where the first target path includes allowing transmission
  • the m1 path used by the end and/or the s path used by the transmitting end are prohibited.
  • the m1 path and the s path do not have the same path.
  • the n paths are paths between the receiving end and the transmitting end.
  • the receiving end may determine, according to the path state parameter of each path in the n paths, the m1 path used by the sending end and/or the s path used by the sending end, and send the first path to the sending end.
  • An indication message so that the sending end determines the path for sending the data to be sent, because the technical solution provided by the embodiment of the present invention is that the m1 path and/or the s path are determined by the receiving end, and then the feedback is sent to the sending end, therefore, only Saving the path state table in the receiving end, without saving the path state table in the transmitting end, and the prior art Compared with the scheme, the resource consumption can be reduced.
  • the path state parameter of the path is a path state parameter of the total path of the path, a path state parameter of the first part of the path, or a path state parameter of the second part of the path
  • the total path includes the path All sub-paths
  • the first part of the path is a part of the total path, and includes a sub-path in the total path with the transmitting end as the starting node
  • the second part of the path is part of the total path, and includes the total path to receive
  • the end is a sub-path of the end node
  • one sub-path in the total path is a path between adjacent nodes in the total path
  • the starting node of one sub-path refers to sending data in the adjacent nodes constituting the sub-path
  • an end node of a sub-path refers to a node that receives data in a neighboring node constituting the sub-path.
  • the path state parameter of the path is a path state parameter of the first path of the path
  • the first path is not the first partial path
  • the first target path includes m1 paths
  • the receiving end is according to n paths.
  • the method further includes: receiving, by the receiving end, a second indication message sent by the sending end; the receiving end determining, according to the second indication message, the m2 path, m2
  • the strip path belongs to n paths; the receiving end determines the first target path in the n paths according to the path state parameter of each of the n paths, including: the path state parameter of the first path of the n paths of the receiving end
  • the path state parameter whose path state parameter satisfies the third condition is determined to be m11 paths, and the path state parameter satisfies the third condition, that is, each parameter in the path state parameter satisfies the corresponding third condition, and one parameter corresponds to one a third condition, a third condition comprising a third threshold
  • the path corresponding to the state parameter is determined to be m12 paths, and the path state parameter satisfies the fourth condition, that is, each parameter in the path state parameter satisfies the corresponding fourth condition, one parameter corresponds to a fourth condition, and one fourth condition includes one The fourth threshold; when the value of a parameter is larger, indicating that the path state of the path is better, the parameter satisfies the corresponding fourth condition, that is, the value of the parameter is greater than or equal to the fourth threshold included in the corresponding fourth condition; When the value of a parameter is smaller, indicating that the path state of the path is better, the parameter satisfies the corresponding fourth condition, that is, the value of the parameter is less than or equal to The fourth threshold included in the corresponding fourth condition; the receiving end determines the m11 path and the m12 path as the m1 path.
  • the number of data saved in the transmitting end and the receiving end is smaller, and the final used path can be negotiated between the transmitting end and the receiving end, thereby fully satisfying the respective requirements of the transmitting end and the receiving end. .
  • the method further includes: the receiving end is in the m1 path, the partial path in the m1 path, and the s path in the n paths.
  • the other path in the path or the part of the other paths in the other of the s paths receives the data sent by the transmitting end.
  • the third aspect provides a sending end, where the sending end has a function of implementing the behavior of the sending end in the method provided by the first aspect, and the function may be implemented by hardware or by executing corresponding software through hardware.
  • the hardware or software includes one or more units corresponding to the functions described above.
  • a fourth aspect provides a receiving end, where the receiving end has a function of implementing the behavior of the receiving end in the method provided by the second aspect, and the function may be implemented by using hardware or by executing corresponding software by hardware.
  • the hardware or software includes one or more units corresponding to the functions described above.
  • a fifth aspect provides a transmitting end, comprising: a memory, a processor, a transmitter, a receiver, and a bus; the memory is configured to store a computer to execute an instruction, the processor and the memory are connected through a bus, and the processor executes according to the computer stored in the memory.
  • any one of the third aspect and the fifth aspect can be referred to the technical effects brought by different design modes in the first aspect, and any one of the fourth aspect and the sixth aspect.
  • the technical effects brought about the technical effects brought by different design methods in the second aspect can be referred to, and details are not described herein again.
  • FIG. 6 is a flowchart of a method for determining a data transmission path according to an embodiment of the present invention.
  • the router generally includes multiple uplink boards, multiple switching network chips, and multiple downlink boards. Any one of the uplink boards can send the received data to any one or more switching network chips. Any one of the downstream boards.
  • the switching network chip has i (i is an integer greater than 1)
  • the uplink board 1 is in the i path.
  • the request signaling includes the amount of data that the uplink board 1 requests to send.
  • a multi-level scheduling subsystem can be connected in a router.
  • a system composed of a two-level scheduling subsystem can be referred to FIG. 3 (FIG. 3 J in The number of the switching network chips included in the second-level scheduling subsystem, j is an integer greater than 1.
  • the board in Figure 3 is the downstream board when receiving data, and is the upstream board when sending data.
  • Each scheduling subsystem can determine the data transmission path and transmit data according to the path according to the method provided by the embodiment of the present invention.
  • the transmitting end 40 in the embodiment of the present invention includes at least a transmitter 401, a receiver 402, a processor 403, and a memory 404.
  • the transmitter 401, the receiver 402, the processor 403, and the memory 404 can pass through the bus 405. connection.
  • the memory 404 may store a code for the processor 403 to perform a corresponding action, and may specifically be a read only memory (ROM), a random access memory (RAM), or an information and an instruction. Other types of dynamic storage devices can also be disk storage.
  • the processor 403 can analyze the instructions and perform processing and calculation of the data, and can be a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), and a specific integrated circuit ( Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, transistor logic device, hardware component, or any combination thereof.
  • Transmitter 401 is configured to transmit data, signaling, or messages
  • receiver 402 is configured to receive data, signaling, or messages.
  • the receiving end 50 in the embodiment of the present invention includes at least a transmitter 501, a receiver 502, a processor 503, and a memory 504.
  • the transmitter 501, the receiver 502, the processor 503, and the memory 504 can pass through the bus 505. connection.
  • the memory 504 may store code for the processor 503 to perform corresponding actions, specifically ROM, RAM or other types of dynamic storage devices that can store information and instructions, or may be disk storage.
  • the processor 503 can analyze the instructions and perform processing and calculation of the data, and can be specifically a CPU, a general purpose processor, a DSP, an ASIC, an FPGA, or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof.
  • Transmitter 501 is configured to transmit data, signaling, or messages
  • receiver 502 is configured to receive data, signaling, or messages.
  • the bus in FIG. 4 and FIG. 5 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component (PCI) bus, or an Extended Industry Standard Architecture (Extended Industry Standard Architecture). , referred to as EISA) bus.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component
  • EISA Extended Industry Standard Architecture
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figures 4 and 5, but it does not mean that there is only one bus or one type of bus.
  • An embodiment of the present invention provides a method for determining a data transmission path. As shown in FIG. 6, the method includes:
  • the receiving end determines the first target path in the n paths according to the path state parameter of each path in the n paths.
  • the n paths are the paths between the receiving end and the sending end.
  • the first target path includes the m1 paths allowed by the transmitting end and/or the s paths prohibited by the transmitting end.
  • the m1 paths and the s paths do not.
  • the path state parameter includes at least one of the following parameters: load, congestion value, delay, and amount of data to be received, n is an integer greater than 1, and m1 and s are integers greater than 0 and less than or equal to n. And the sum of m1 and s is less than or equal to n.
  • the n paths are generally all paths in the receiving end and the transmitting end or available paths in all paths.
  • the n paths may be the i path between the uplink board 1 and the downlink board 2.
  • the path state parameter of the path may be a path state parameter of the total path of the path, a path state parameter of the path of the first part of the path, or a path state parameter of the path of the second part of the path, where the total path includes all subpaths in the path.
  • the first part of the path is a part of the total path, and includes a sub-path with the transmitting end as the starting node in the total path
  • the second part of the path is a part of the total path
  • the end of the total path is terminated by the receiving end.
  • a sub-path in the total path is a path between adjacent nodes in the total path
  • a starting node of a sub-path refers to a node transmitting data in a neighboring node constituting the sub-path
  • one The end node of the sub path refers to a node that receives data in a neighboring node constituting the sub path.
  • the load of a path is a parameter that can represent the processing capability of the path, and may specifically be the load of the node with the largest load in the path.
  • the load of the total path of one path may be the load of the node with the largest load in the total path of the path
  • the load of the first part path (or the second part path) of one path may be the first part of the path
  • the load of the path 2 can be the maximum load of the upstream board 1, the switching network chip 2, and the downstream board 2 on the path 2.
  • the load of the node When the path used by the sending end is determined according to the load of the path, the path with a lighter load can be determined for the transmitting end, thereby improving the processing efficiency of the data sent by the sending end in the node.
  • the congestion value of a path may be a parameter that may be used to represent the degree of congestion of the path. Specifically, the congestion value of the sub-path with the largest congestion value or the sum of the congestion values of all the sub-paths in all the sub-paths in the path.
  • the congestion value of a path when the congestion value of a path is the congestion value of the total path of a path, the congestion value of the path 2 may be the sub-path between the uplink board 1 and the switching network chip 2 on the path 2.
  • the congestion value of the sub-path with the largest congestion value in the sub-path between the network chip 2 and the downstream board 2.
  • the amount of data to be received of a path may be the amount of data that has not been received in the amount of data that the receiving end has allocated for the path. It should be noted that the amount of data to be received of the total path of one path, the amount of data to be received of the first part of the path of one path, and the amount of data to be received of the second part of the path of one path are the same. Taking Figure 2 as an example, if the receiving end allocates 3 data amounts for path 2, the data volume of 3 times is 7000 bytes, 7000 bytes, 3000 respectively. Byte, the amount of data that the receiving end has allocated for path 2 is 17000 bytes.
  • the path used by the transmitting end may also be determined according to the delay of the path.
  • the delay of the total path of one path may be the delay of all the sub-paths in the total path in the path
  • the delay of the first part of the path (or the second part of the path) of one path may be the path The delay of all subpaths in the first part of the path (or the second part of the path).
  • a path with a small delay can be determined for the transmitting end, thereby improving data transmission efficiency.
  • the path state parameter may include only the value of the parameter that needs to be used by the receiving end. For example, when the receiving end determines the first target path among the n paths according to the congestion value of each path in the n paths, As shown in Table 2, the path state table may only contain the congestion value of the path.
  • the path 1, the path 2, and the path 3 may be a total path, a first partial path, or a second partial path of the three paths, respectively.
  • the receiving end can set a path with a better path state in the n paths.
  • the path is determined to be a path that is allowed to be used by the transmitting end, and the path with a poor path state in the n paths is determined as a path for which the transmitting end is prohibited.
  • the step 601 can be implemented in the following manner 1 or 2.
  • the receiving end may determine that each path in the path state parameters of the n paths meets the corresponding condition 1 as m1 paths, and the paths that satisfy the corresponding condition 2 are determined as s paths.
  • the condition 1 of the path load may be: the load of the path is less than T1, and the condition 2 may be: the load of the path is greater than T1', and T1' is greater than T1; the condition 1 corresponding to the congestion value of the path may be: the congestion value of the path If the value is less than T2, the condition 2 may be: the congestion value of the path is greater than T2', and the T2' is greater than T2; the condition 1 corresponding to the delay of the path may be: the delay of the path is less than T3, and the condition 2 may be: the delay of the path is greater than T3 ', T3' is greater than T3; condition 1 corresponding to the amount of data to be received of the path may be: the amount of data to be received of the path is less than T4, and condition 2 may be that the amount of data to
  • T1, T2, T3, T4, T1', T2', T3', and T4' may be determined according to actual application scenarios or specific values of each parameter in the path state parameters of all paths.
  • T1 can be the median or average of the loads of n paths.
  • the receiving end can determine the path with the load less than 40% in the n paths as the m1 path, and the path with the load greater than 70% in the n paths as the s path.
  • the receiving end may further determine that the path that meets the corresponding condition 1 in the path state parameters of the n paths is determined as the m1 path, and the path that satisfies the corresponding condition 2 is determined as s path.
  • the receiving end may determine the m1 path with the smallest parameter value of the path state parameters of the n paths as the m1 path, and the s path with the largest parameter value of the path state parameters of the n paths. Determined as s path.
  • the receiving end may further determine, as the m1 paths, multiple paths in which the parameter values of the path parameters of the n paths are the smallest, and maximize the value of each parameter in the path state parameters of the n paths.
  • the plurality of paths are determined as s paths in common; or the same path among the plurality of paths having the smallest parameter values is determined as m1 paths, and the same path among the plurality of paths having the largest parameter value is determined as s Path.
  • the receiving end can determine the five paths with the smallest load and the five paths with the smallest congestion value as the m1 path, and the three paths with the largest load and the congestion value.
  • the maximum of the three paths is determined as s paths; or the same path among the 20 paths with the smallest load and the 20 paths with the smallest congestion value is determined as m1 paths, and the maximum load of 20 paths and congestion values is maximized.
  • the same path in the 20 paths is determined as s paths.
  • Step 601 can also be implemented in other manners, and the above two modes are merely exemplary.
  • the receiving end sends a first indication message to the sending end, where the first indication message includes a first target path.
  • the first indication message may be Grant signaling.
  • the sending end receives the first indication message sent by the receiving end, and determines the first target according to the first indication message. path.
  • the sending end determines the m1 path as the second target path; when the first target path includes the s path, The transmitting end determines other paths than the s paths among the n paths as the second target path.
  • the transmitting end determines the second target path as a path for sending data to be sent.
  • the receiving end may determine, according to the path state parameter of each path in the n paths, the m1 path used by the sending end and/or the s path used by the sending end, and send the path to the sending end. a first indication message, so that the sending end determines the path for sending the data to be sent, because the technical solution provided by the embodiment of the present invention is that the m1 path and/or the s path are determined by the receiving end, and then the feedback is sent to the sending end. It is only necessary to save the path state table in the receiving end, and it is not necessary to save the path state table in the transmitting end, which can reduce resource consumption compared with the prior art solution.
  • the receiving end needs to obtain the value of each parameter in the path state parameter of each path.
  • the following describes the manner in which the receiving end obtains the value of each parameter in the path state parameter.
  • the method for obtaining the congestion value in the path state parameter of the path can be as follows:
  • the sender sends a probe packet to the receiver on a path (in order to distinguish it from the probe packet mentioned below, the probe packet is called a first probe packet), and the first probe packet is used for the first probe packet.
  • the congestion value of the path is the maximum of the congestion values of the sub-paths included in the path or the sum of the congestion values of the sub-paths included in the path;
  • the congestion value of the sub-path is the sub-path a sum of queue congestion values of at least one queue of the first node for transmitting the first probe message or a queue congestion value of at least one queue;
  • a queue congestion value of a queue is a current queue depth of the queue, or , the ratio of the current queue depth of the queue to the preset value.
  • the first detection packet and the second detection packet in the embodiment of the present invention may be a control packet or a data packet.
  • the first probe packet may be Request signaling.
  • the packet header of the first probe packet may include a path congestion field, and the congestion value may be written into the path congestion field.
  • the preset value may be the total depth of the queue, or may be a value slightly smaller than the total depth of the queue, and may also be other preset values.
  • each node has multiple outlets, and one of the multiple outlets of one node on one path corresponds to one next node of the node.
  • the uplink board 1 has i outlets, and each outlet is used to send data to a switching network chip.
  • Each egress of a node maintains one or more port queues.
  • the port queue is used to store data to be sent. The deeper the total depth of the queue, the more data that can be stored.
  • the start node of the sub-path compares the congestion value of the sub-path with the congestion value in the header of the first detection packet, and causes the larger value to be carried in In the header of the message.
  • the receiving end receives the first probe packet on the path.
  • the receiving end determines the congestion value in the packet header of the first probe packet as the congestion value of the path.
  • the method of obtaining the load in the path state parameter of the path can be as follows:
  • the sender sends a second probe packet to the receiver on a path.
  • the second probe packet is used to detect the load of each node on the path, and the load of the node with the largest load is carried in the packet header. .
  • the second probe packet may be Request signaling.
  • the packet header of the second probe packet may include a load field, and the load may be written into the payload field.
  • each node in the path can count and record its processing strength in unit time in the memory (or register).
  • the node reads the memory of the node. (or register) acquires the number of processing messages per unit time of the node (or the number of processed bits per unit time), and the number of processing messages per unit time of the node (or processed bits per unit time)
  • the node compares the load of the node with the load recorded in the header of the second probe packet, and causes the larger value to be carried in the header of the second probe packet. in.
  • the receiving end receives the second probe packet on the path.
  • the receiving end determines the load in the packet header of the second probe packet as the load of the path.
  • the receiving end since the path of the transmission data used by the transmitting end is sent by the receiving end, and the value of each parameter in the path state parameter of the path stored in the receiving end is the latest value, the receiving end always The path is selected according to the latest value of each parameter in the path state parameter of the path. Therefore, when the path state parameter includes the congestion value of the path, the reduced transmission may be avoided due to the untimely update of the congestion value in the prior art. The problem of the efficiency of sending packets.
  • the method of obtaining the delay in the path state parameter of the path may be as follows: the sender may timestamp the packet sent to the receiving end through a path, and the receiving end performs the timestamp after receiving the packet on the path. Subtraction gives the delay of the path. The calculated delay is the absolute delay.
  • the delay of the path from the sender to the receiver can be calculated according to the length of the fiber on the path from the sender to the receiver.
  • the calculated path delay is relative delay, and the length of the fiber is longer. The delay is also greater.
  • the delay of the one path is also g times the delay of the other path.
  • the delay is 50 ns
  • the delay is 5 us.
  • the method for obtaining the amount of data to be received in the path state parameter of the path may be as follows: the total amount of data allocated by the receiving end to be determined as a path, the path being any one of the n paths; the receiving end determining the path in the path The amount of data received on the receiving end; the receiving end determines the difference between the total amount of data and the amount of received data as the amount of data to be received of the path.
  • the path state parameter of the path is not the path state parameter of the first part of the path.
  • the method may further include: the path of the first part of the path of each path in the second target path by the sending end.
  • the state parameter selects the third target path in the second target path.
  • the step 605 may include: the sending end determines the third target path as the path for sending the data to be sent.
  • the path state table of the path of the first part of the path can be maintained in the sending end, and the path state table of the total path of the path can be maintained in the receiving end.
  • the receiving end needs to maintain w ⁇ i path state parameters, and only one path state parameter needs to be maintained in the transmitting end, and if the method in the prior art is used, the transmitting end needs to maintain v ⁇ i path states.
  • the path state parameter needs to be maintained in the receiving end. Therefore, in this case, the number of data to be maintained by the transmitting end in the embodiment of the present invention is less.
  • the path state table of the path of the first part of the path can be maintained in the sending end, and the path state table of the path of the second part of the path can be maintained in the receiving end.
  • the receiving end and the transmitting end Both path state parameters need to be maintained. Compared with the prior art, the number of data maintained by the sender and the receiver is less.
  • the transmitting end may also select the third target path in the second target path according to the path state parameter of the first partial path of the path, and use the third target path as the data to be sent. path of. Thereby, the path is selected by fully combining the path states of the entire path.
  • parameters in the path state parameter of the first partial path maintained in the sending end and the parameters in the path state parameter of the path maintained in the receiving end may be the same or different.
  • the transmitting end may delay the first part of the path according to the m1 path in order to ensure the efficiency of transmitting the data.
  • the plurality of paths having the shortest delay are selected as the third target path among the m1 paths.
  • the sending end selects the third target path in the second target path according to the path state parameter of the first partial path of each path in the second target path, including:
  • the transmitting end determines, as the third target path, the path corresponding to the path state parameter in the path state parameter of the first partial path of the second target path that satisfies the first condition, and the path state parameter satisfies the first condition, and refers to the path state parameter.
  • Each of the parameters meets the corresponding first condition, one parameter corresponds to a first condition, and a first condition includes a first threshold; when the value of a parameter is larger, indicating that the path state of the path is better, the parameter Satisfying the corresponding first condition means that the value of the parameter is greater than or equal to the first threshold included in the corresponding first condition; when the value of a parameter is smaller, indicating that the path state of the path is better, the parameter satisfies the corresponding The first condition is that the value of the parameter is less than or equal to the first threshold included in the corresponding first condition.
  • the path state parameters include a congestion value and a time delay. If the value of a parameter is smaller, indicating that the path state of the path is better, the transmitting end may be in the m1 path.
  • a path in which both the congestion value and the delay are less than or equal to the respective first thresholds is determined as the third target path.
  • the first threshold corresponding to the congestion value may be 50%
  • the first threshold corresponding to the delay may be 50 us.
  • the foregoing method further includes:
  • the sending end determines, as the m2 strip, the path corresponding to the path state parameter that satisfies the second condition in the path state parameter of the first partial path of the n paths. path.
  • the path state parameter satisfies the second condition that each parameter in the path state parameter satisfies a corresponding second condition, one parameter corresponds to a second condition, and a second condition includes a second threshold; when a parameter value The larger the value indicates the better the path state of the path, the parameter satisfies the corresponding second condition, which means that the value of the parameter is greater than or equal to the second threshold included in the corresponding second condition; when the value of a parameter is smaller, it indicates When the path state of the path is better, the parameter satisfies the corresponding second condition, that is, the value of the parameter is less than or equal to the second threshold included in the corresponding second condition.
  • the second threshold corresponding to the same parameter may be greater than the first threshold.
  • the second threshold corresponding to the same parameter may be smaller than the first threshold.
  • the sending end sends a second indication message to the receiving end, where the second indication message includes information for indicating the m2 paths.
  • the receiving end receives the second indication message sent by the sending end.
  • the receiving end determines m2 paths according to the second indication message, and the m2 paths belong to n paths.
  • step 601 may include:
  • the receiving end determines, as the m11 paths, the path corresponding to the path state parameter in which the path state parameter of the path of the first path of the n paths meets the third condition.
  • the first path is not the first part path.
  • the path state parameter satisfies the third condition, that is, each parameter in the path state parameter satisfies a corresponding third condition, one parameter corresponds to a third condition, and a third condition includes a third threshold; when the value of one parameter is larger If the path state of the path is better, the parameter satisfies the corresponding third condition, that is, the value of the parameter is greater than or equal to the third threshold included in the corresponding third condition; when the value of a parameter is smaller, the path is indicated. When the path state is better, the parameter satisfies the corresponding third condition, that is, the value of the parameter is less than or equal to the third threshold included in the corresponding third condition.
  • the receiving end determines, as the m12 paths, the path corresponding to the path state parameter that satisfies the fourth condition in the path state parameter of the first path of the m2 path.
  • the path state parameter satisfies the fourth condition, that is, each parameter in the path state parameter satisfies a corresponding fourth condition, one parameter corresponds to a fourth condition, and a fourth condition includes a fourth threshold; when a parameter value The larger the value indicates the better the path state of the path, the parameter satisfies the corresponding fourth condition, which means that the value of the parameter is greater than or equal to the fourth threshold included in the corresponding fourth condition; when the value of a parameter is smaller, indicating If the path state of the path is better, the parameter satisfies the corresponding fourth condition, that is, the value of the parameter is less than or equal to the corresponding The fourth threshold included in the fourth condition.
  • the receiving end determines m11 paths and m12 paths as m1 paths.
  • the third threshold corresponding to the same parameter may be greater than the fourth threshold.
  • the third threshold corresponding to the same parameter may be smaller than the fourth threshold.
  • the final used path can be negotiated between the transmitting end and the receiving end, and the other side adopts a relatively loose condition to select the path determined by one side.
  • the receiving end selects the m12 path by using the fourth threshold, because the fourth threshold is greater than the third threshold. Therefore, the condition for selecting the m12 paths in the m2 paths is relatively loose, so that the respective requirements of the transmitting end and the receiving end are sufficiently satisfied.
  • the path indicating the indication may be indicated by the number or ID of the carrying path in the first indication message and the second indication message.
  • the method may further include: sending, by the sending end, the data to be sent according to the path for sending the data to be sent.
  • the receiving end receives the data sent by the transmitting end on these paths.
  • the sending end may send the to-be-sent data according to the path of sending the to-be-sent data in any one of the first mode, the second mode, and the third mode:
  • Manner 1 The transmitting end selects a path in the path for sending data to be sent, and sends data to be sent on the path.
  • the transmitting end may select one path to send the data to be sent in the path for sending the data to be sent, or may use other preset rules to send the data to be sent, using a preset algorithm (for example, a hash algorithm). Select a path in the path to send data to be sent.
  • a preset algorithm for example, a hash algorithm
  • the transmitting end divides the data to be sent into x data blocks, and sends x data blocks respectively on the path included in the path for sending the data to be sent, where the value of x and the path for sending the data to be sent are included.
  • the number of paths is equal.
  • one of the paths for transmitting data to be transmitted is used to transmit one of the x data blocks.
  • the method may be: the sending end determines the delay of all the paths in the path for sending the data to be sent; the sending end severifies the data to be sent to obtain x data blocks, and sends the path of the data to be sent.
  • the x data blocks are respectively transmitted on the path included in the path, and the smaller the delay in the path included in the path for transmitting the data to be transmitted is used to transmit the data block received earlier by the transmitting end in the x data blocks.
  • the Scale Out router architecture achieves high performance of the router as a whole by stacking a stack of low-performance boards. In the Scale Out router architecture, there is no constraint on the placement of each board, which makes the switching network asymmetric. On the one hand, the asymmetry of the switching network is reflected in the length of the fiber on each path may be inconsistent, resulting in the time of each path. The delay may be inconsistent.
  • the asymmetricity of the switching network is reflected in the uneven load of each board.
  • the Scale Out router architecture uses distributed algorithms to acquire and process data. In this case, if the data is sent in the polling mode, the time of each packet in the path is inconsistent. If the packets are out of order, the downstream board needs to reorder the out-of-order packets before sending them out. As a result, a large reorder buffer (buffer) is required in the downstream board.
  • the path with the smaller delay is used to send the data block received by the sending end, so that the packet in the data block is not received after the downlink board receives the data block. It will be out of order, and the possibility of these data blocks being out of order is also very small, then the downstream board can send the message every time a message in the data block is received, without using these messages. Storage can greatly reduce the reordering cache required in the downstream board.
  • the path can be selected according to the load of the path. In this case, when the path is selected, the path with a larger load can be excluded, thereby effectively preventing the occurrence of packet loss and improving the reliability of data transmission.
  • Manner 3 The transmitting end shards the data to be sent to obtain a plurality of data blocks, and polls and sends a plurality of data blocks on all paths included in the path for transmitting the data to be transmitted.
  • the data block obtained by the severing in the embodiment of the present invention may include one cell or one packet or a plurality of packets, which is not specifically limited in this embodiment of the present invention.
  • the sending end may further send a data request message to the receiving end, where the data request message is used to request sending data to the receiving end, where the data request message includes the amount of data requested by the sending end, in this case,
  • the second indication message can be the same message as the data request message.
  • the sending end is an uplink board and the receiving end is a downlink board
  • the data request message may be Request signaling.
  • the receiving end may allocate the amount of data that is allowed to be sent to each transmitting end according to its processing capability, and include the data amount information that is allowed to be sent in the response message to be correspondingly sent.
  • the terminal returns, in which case the first indication message can be the same message as the response message.
  • the sending end is an uplink board and the receiving end is a downlink board
  • the response message may be Grant signaling.
  • the receiving end may send a response message multiple times to indicate the amount of data sent by the sending end at a time. And the path used to send the data sent this time.
  • the foregoing method is exemplified by using the foregoing method in a router.
  • the receiving end only selects a path according to the load in the path state parameter of the path, as shown in FIG. 7 .
  • the transmitting end determines, as the m2 paths, paths in which the congestion value of the first part of the path of the n paths is less than or equal to the second threshold.
  • the n paths are paths between the transmitting end and the receiving end.
  • the congestion value of the first part of the path is shown in Table 6. If the second threshold is 20%, the m2 paths include path 3 and path 4.
  • the sending end sends the request signaling to the receiving end, where the request signaling includes the amount of data that the sending end requests to send to the receiving end and the number of the m2 path.
  • the receiving end receives the Request signaling sent by the sending end, determines the m2 path according to the Request signaling, and allocates the amount of data allowed to be sent to the sending end.
  • the receiving end determines, in the n paths, a path whose load is less than or equal to a third threshold as m11 paths.
  • the load of the n paths may be stored in the receiving end.
  • the load of the n paths is as shown in Table 7. If the third threshold is 10%, the m11 paths are Includes path 0 and path 1.
  • the receiving end determines the m11 path and the m12 path as the m1 path.
  • the sender receives the Grant signaling sent by the receiving end, and obtains the m1 path and the amount of data that the sending end allows to send.
  • the sending end determines, as the third target path, a path that the congestion value of the first part of the path of the m1 path is less than or equal to the first threshold.
  • the third target path includes path 0 and path 3.
  • the receiving end only determines the path used by the transmitting end according to the load of the path, and the transmitting end may also select the path according to the congestion value of the path of the first part of the path, so as to prevent the current queue depth of an exit from being too deep.
  • the efficiency of data transmission is only determines the path used by the transmitting end according to the load of the path, and the transmitting end may also select the path according to the congestion value of the path of the first part of the path, so as to prevent the current queue depth of an exit from being too deep.
  • the transmitting end and the receiving end in the embodiment of the method of the present invention include corresponding hardware structures and/or software units for performing the respective functions in order to implement the above functions.
  • the present invention can be implemented in a combination of hardware or hardware and computer software in combination with the elements and algorithm steps of the various examples described in the embodiments disclosed herein. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
  • the embodiment of the present invention may divide the functional unit by the sending end and the receiving end according to the foregoing method embodiment.
  • each functional unit may be divided according to each function, or two or more functions may be integrated into one processing unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. It should be noted that the division of the unit in the embodiment of the present invention is schematic, and is only a logical function division, and the actual implementation may have another division manner.
  • FIG. 8 shows a possible structural diagram of a transmitting end involved in the above embodiment, and the transmitting end 80 includes a receiving unit 801 and a determining unit 802.
  • the receiving unit 801 is configured to receive a first indication message sent by the receiving end.
  • the determining unit 802 is configured to determine, according to the first indication message, the first target path, where the first target path is a path determined by the receiving end in the n paths according to the path state parameter of each path of the n paths, the first target
  • the path includes the m1 path that is allowed to be used by the sending end and/or the s path that is prohibited by the sending end.
  • the m1 path and the s path do not have the same path, and the n paths are paths between the receiving end and the transmitting end.
  • the path state parameter includes at least one of the following parameters: load, congestion value, delay, and amount of data to be received, n is an integer greater than 1, m1, s are integers greater than 0 and less than or equal to n, and m1 and s And less than or equal to n;
  • the determining unit 802 is further configured to determine the m1 paths as the second target path;
  • the determining unit 802 is further configured to determine other paths than the s paths among the n paths as the second target path;
  • the determining unit 802 is further configured to determine the second target path as a path for transmitting data to be sent.
  • the path state parameter of the path is a path state parameter of the total path of the path, a path state parameter of the path of the first part of the path, or a path state parameter of the path of the second part of the path, and the total path includes all subpaths in the path
  • the first part of the path is a part of the total path, and includes a sub-path with the transmitting end as the starting node in the total path
  • the second part of the path is a part of the total path, and includes the receiving end as the ending node in the total path.
  • a sub-path in the total path is a path between adjacent nodes in the total path
  • a starting node of a sub-path refers to a node transmitting data in a neighboring node constituting the sub-path, one sub-path
  • the end node of the path refers to a node that receives data in the adjacent nodes constituting the sub path.
  • the path state parameter of the path is not the path state parameter of the first part of the path.
  • the sending end 80 further includes a selecting unit 803: a selecting unit 803, configured to use each of the second target paths.
  • the path state parameter of the first partial path of the strip path selects the third target path in the second target path;
  • the unit 802 is specifically configured to determine the third target path as a path for sending data to be sent.
  • the sending end 80 further includes a sending unit 804, and the sending unit 804 is configured to send the to-be-sent data according to the path for sending the data to be sent.
  • the sending end 80 further includes a sharding unit 805, configured to sever the data to be sent to obtain x data blocks, and the sending unit 804 is configured to separately send x data blocks on the path included in the path for sending the data to be sent.
  • the value of x is equal to the number of paths included in the path for sending data to be sent; or
  • the sending end 80 further includes a sharding unit 805, configured to sever the data to be sent to obtain a plurality of data blocks, and the sending unit 804 is specifically configured to: send and send several times on all paths included in the path for sending the data to be sent. data block.
  • the determining unit 802 is further configured to determine a delay of all paths in the path for sending data to be sent;
  • the splitting unit 805 is specifically configured to perform sharding of the data to be sent to obtain x data blocks
  • the sending unit 804 is configured to separately send x data blocks on the path included in the path for sending the data to be sent, and send the data block to be sent.
  • the path with less delay in the path included in the path of the data is used to transmit the data block received earlier by the transmitting end in the x data blocks.
  • the selecting unit 803 is further configured to determine, as the m2 path, the path corresponding to the path state parameter in the path state parameter of the first partial path of the n paths that meets the second condition, where the path state parameter meets the
  • the second condition means that each parameter in the path state parameter satisfies the corresponding second condition, one parameter corresponds to a second condition, and a second condition includes a second threshold; when the value of one parameter is larger, the path of the path is indicated When the state is better, the parameter satisfies the corresponding second condition, that is, the value of the parameter is greater than or equal to the second threshold included in the corresponding second condition; when the value of one parameter is smaller, the path state of the path is better.
  • the parameter satisfies the corresponding second condition, that is, the value of the parameter is less than or equal to the second threshold included in the corresponding second condition;
  • the sending unit 804 is further configured to send a second indication message to the receiving end, where the second indication message includes Shows the information of the m2 path.
  • the receiving unit 801 can be a receiver, the sending unit 804 can be a transmitter, and the receiving unit 801 and the sending unit 804 can also be a communication interface.
  • the determining unit 802, the selecting unit 803, and the slicing unit 805 may be controllers or processors.
  • the receiving unit 801 is a receiver
  • the sending unit 804 is a transmitter
  • the determining unit 802, the selecting unit 803, and the splitting unit 805 can be a processor
  • the transmitting end of the embodiment of the present invention may be the sending shown in FIG.
  • the terminal 40 stores a computer execution instruction in the memory 404, and the processor 403 implements the above method according to the computer execution instruction, and the transmitter 401 and the receiver 402 perform the corresponding actions in the above method under the control of the processor 403.
  • the determining unit 1001 is further configured to: determine a total amount of data allocated for a path, where the path is any one of the n paths; determine a quantity of data received on the path; and total amount of data The difference from the amount of data received is determined as the amount of data to be received for the path.
  • the determining unit 1001 is specifically configured to determine, as the m11 paths, the path corresponding to the path state parameter in which the path state parameter of the path of the first path of the n paths meets the third condition, and the path state parameter meets the third condition.
  • Each parameter in the path state parameter satisfies a corresponding third condition, one parameter corresponds to a third condition, and a third condition includes a third threshold; when the value of one parameter is larger, indicating that the path state of the path is better If the parameter satisfies the corresponding third condition, the value of the parameter is greater than or equal to the corresponding third item.
  • the receiving unit 1003 is further configured to: in the m1 paths, the partial paths in the m1 paths, the other paths in the s paths in the n paths, or the s paths in the n paths.
  • the data sent by the sender is received on a part of the other paths.
  • the determining unit 1001 may be a controller or a processor
  • the sending unit 1002 may be a transmitter
  • the receiving unit 1003 may be a receiver
  • the sending unit 1002 and the receiving unit 1003 may also be a communication interface.
  • the embodiment of the present invention further provides a system for determining a data transmission path, where the system includes a transmitting end 80 and a receiving end 110, or the system includes a transmitting end 40 and a receiving end 50.
  • the steps of a method or algorithm described in connection with the present disclosure may be implemented in a hardware, or may be implemented by a processor executing software instructions.
  • the software instructions may be comprised of respective software units, which may be stored in a storage medium, an exemplary storage medium being coupled to the processor, such that the processor can read information from the storage medium and Write information to the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and the storage medium can be located in a storage device.
  • the functions described herein can be implemented in hardware, software, firmware, or any combination thereof.
  • the functions may be stored in a computer readable medium or transmitted as one or more instructions or code on a computer readable medium.
  • Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another.
  • a storage medium may be any available media that can be accessed by a general purpose or special purpose computer.

Abstract

Disclosed in the present invention are a method and device for determining a data transmission path to solve the problem in the prior art of resource waste caused due to the fact that a path congestion table needs to be maintained in each sending terminal and each receiving terminal. The method comprises: a sending terminal receiving a first indication message sent by a receiving terminal; the sending terminal determining a first target path according to the first indication message, wherein the first target path comprises m1 paths allowed to be used by the sending terminal, and/or s paths which the sending terminal is forbidden to use; when the first target path comprises the m1 paths or the first target path comprises the m1 paths and the s paths, the sending terminal determining the m1 paths as second target paths; and when the first target path comprises the s paths, the sending terminal determining paths, other than the s paths, in n paths as second target paths; and the sending terminal determining the second target paths as paths for sending data to be sent. The present invention is suitable for the technical field of data communications.

Description

一种确定数据传输路径的方法、装置Method and device for determining data transmission path
本申请要求于2016年11月04日提交中国专利局、申请号为201610965515.4、申请名称为“一种确定数据传输路径的方法、装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. 201610965515.4, filed on November 4, 2016, the entire disclosure of which is incorporated herein by reference. In this application.
技术领域Technical field
本发明涉及数据通信技术领域,尤其涉及一种确定数据传输路径的方法、装置。The present invention relates to the field of data communication technologies, and in particular, to a method and apparatus for determining a data transmission path.
背景技术Background technique
如图1所示,数据中心包括多个发送端、多个交换机和多个接收端,每个发送端、接收端和交换机均与集中控制器连接,一个发送端与一个或多个交换机连接,一个接收端也与一个或多个交换机连接,发送端通过交换机向接收端发送数据,由此可知,当一个发送端与接收端之间存在多条路径时,发送端可以通过多条路径中的一条或多条向接收端发送数据。示例性的,图1中的发送端1可以通过2条路径向接收端2发送数据,图1中为了防止线条过多使得附图太过复杂,仅示出了发送端1和接收端2与交换机的连接关系,事实上每个发送端和每个接收端都可以与一个或多个交换机连接。As shown in FIG. 1 , the data center includes multiple sending ends, multiple switches, and multiple receiving ends. Each transmitting end, receiving end, and switch are connected to a centralized controller, and one transmitting end is connected to one or more switches. A receiving end is also connected to one or more switches, and the transmitting end sends data to the receiving end through the switch. It can be seen that when there are multiple paths between one transmitting end and the receiving end, the transmitting end can pass through multiple paths. One or more lines send data to the receiving end. Exemplarily, the transmitting end 1 in FIG. 1 can send data to the receiving end 2 through two paths. In order to prevent the lines from being too complicated in FIG. 1, only the transmitting end 1 and the receiving end 2 are shown. The connection relationship of the switch, in fact, each sender and each receiver can be connected to one or more switches.
其中,任意一个发送端中均维护有一张该发送端到所有接收端的所有路径的拥塞值的路径拥塞表1。路径拥塞表1的纵向索引为接收端的ID(标识),横向索引为该发送端到对应接收端的所有路径的路径ID,表中的内容为相应路径的拥塞值。Among them, any one of the transmitting ends maintains a path congestion table 1 of the congestion value of all the paths from the transmitting end to all the receiving ends. The vertical index of the path congestion table 1 is the ID (identification) of the receiving end, and the horizontal index is the path ID of all the paths from the sending end to the corresponding receiving end. The content in the table is the congestion value of the corresponding path.
一个发送端要将一个报文发送到一个接收端时,该发送端可以在路径拥塞表1中确定到该接收端的所有路径中的拥塞值最小的一条路径,并在该路径上向该接收端发送报文。在每条路径上发送的报文都会沿路探测路径的拥塞值并携带到报文中,抵达接收端后,接收端会将携带在报文中的路径的拥塞值更新到路径拥塞表2中。路径拥塞表2为在接收端中维护的一张所有发送端到该接收端的所有路径的拥塞值的表,路径拥塞表2的纵向索引为发送端的ID,横向索引为对应的发送端到该接收端的所有路径的路径ID,表中的内容为相应路径的拥塞值。当接收端有向一个发送端发送的报文时,接收端会在路径拥塞表2中随机确定或选取一个与该发送端之间的路径的拥塞值,携带在报文中向发送端反馈,以使得发送端更新路径拥塞表1。When a transmitting end sends a packet to a receiving end, the transmitting end may determine a path with the smallest congestion value in all paths to the receiving end in the path congestion table 1 and send the path to the receiving end on the path. Send a message. The packet sent on each path will be carried in the packet and will be carried in the packet. After receiving the packet, the receiver will update the congestion value of the path carried in the packet to the path congestion table 2. The path congestion table 2 is a table of congestion values of all paths from all the senders to the receivers maintained in the receiving end. The vertical index of the path congestion table 2 is the ID of the sender, and the horizontal index is the corresponding sender to the receiver. The path ID of all paths on the end. The contents of the table are the congestion values of the corresponding path. When the receiving end has a packet sent to a sending end, the receiving end randomly determines or selects a congestion value of the path between the transmitting end and the path in the path congestion table 2, and carries the feedback to the sending end in the packet. So that the sender updates the path congestion table 1.
由此可知,目前,在数据中心中,每个发送端和每个接收端中都需要维护路径拥塞表,会产生资源浪费。It can be seen that at present, in the data center, the path congestion table needs to be maintained in each of the transmitting end and each receiving end, which causes waste of resources.
发明内容Summary of the invention
本发明的实施例提供了一种确定数据传输路径的方法、装置,用以解决现有技术中由于每个发送端和每个接收端中都需要维护路径拥塞表导致的资源浪费的问题。The embodiment of the present invention provides a method and an apparatus for determining a data transmission path, which are used to solve the problem of waste of resources caused by the need to maintain a path congestion table in each of the transmitting end and each receiving end in the prior art.
为达到上述目的,本发明的实施例采用如下技术方案:In order to achieve the above object, embodiments of the present invention adopt the following technical solutions:
第一方面,提供了一种确定数据传输路径的方法,包括:发送端接收接收端发送的第一指示消息;发送端根据第一指示消息确定第一目标路径,第一目标路径为接收 端根据n条路径中的每条路径的路径状态参数在n条路径中确定出的路径,第一目标路径包括允许发送端使用的m1条路径和/或禁止发送端使用的s条路径,m1条路径和s条路径中不存在相同的路径,n条路径为接收端与发送端之间的路径,路径状态参数包括以下参数中的至少一种:负载、拥塞值、时延和待接收数据量,n为大于1的整数,m1、s均为大于0小于等于n的整数、且m1与s之和小于等于n;当第一目标路径包括m1条路径或者第一目标路径包括m1条路径和s条路径时,发送端将m1条路径确定为第二目标路径;当第一目标路径包括s条路径时,发送端将n条路径中的除s条路径之外的其他路径确定为第二目标路径;发送端将第二目标路径确定为发送待发送数据的路径。The first aspect provides a method for determining a data transmission path, including: a sending end receiving a first indication message sent by a receiving end; and a sending end determining a first target path according to the first indication message, where the first target path is receiving The path determined by the path according to the path state parameter of each path of the n paths in the n paths, the first target path includes an m1 path allowed by the transmitting end and/or an s path prohibited by the transmitting end, m1 The same path does not exist in the strip path and the s path. The n path is the path between the receiving end and the sending end. The path status parameter includes at least one of the following parameters: load, congestion value, delay, and data to be received. Quantity, n is an integer greater than 1, m1, s are integers greater than 0 and less than or equal to n, and the sum of m1 and s is less than or equal to n; when the first target path includes m1 paths or the first target path includes m1 paths And the s path, the transmitting end determines the m1 path as the second target path; when the first target path includes the s path, the transmitting end determines the other paths except the s path in the n paths as the first The second target path; the transmitting end determines the second target path as a path for transmitting data to be transmitted.
第一方面提供的方法,发送端根据接收端确定的第一目标路径确定用于发送待发送数据的路径,因此,仅在接收端中保存路径状态表即可,而不需要在发送端中保存路径状态表,与现有技术中的方案相比,可以降低资源消耗。According to the method provided by the first aspect, the transmitting end determines the path for sending the data to be sent according to the first target path determined by the receiving end, and therefore, the path state table is saved only in the receiving end, and does not need to be saved in the sending end. The path status table can reduce resource consumption compared to the prior art scheme.
在一种可能的设计中,路径的路径状态参数为路径的总路径的路径状态参数、路径的第一部分路径的路径状态参数或路径的第二部分路径的路径状态参数,总路径包括路径中的全部子路径,第一部分路径为总路径中的一部分、且包括总路径中的以发送端为起始节点的子路径,第二部分路径为总路径中的一部分、且包括总路径中的以接收端为结束节点的子路径,总路径中的一条子路径为总路径中的相邻节点之间的路径,一条子路径的起始节点是指构成该子路径的相邻节点中的发送数据的节点,一条子路径的结束节点是指构成该子路径的相邻节点中的接收数据的节点。In a possible design, the path state parameter of the path is a path state parameter of the total path of the path, a path state parameter of the first part of the path, or a path state parameter of the second part of the path, and the total path includes the path All sub-paths, the first part of the path is a part of the total path, and includes a sub-path in the total path with the transmitting end as the starting node, the second part of the path is part of the total path, and includes the total path to receive The end is a sub-path of the end node, and one sub-path in the total path is a path between adjacent nodes in the total path, and the starting node of one sub-path refers to sending data in the adjacent nodes constituting the sub-path A node, an end node of a sub-path refers to a node that receives data in a neighboring node constituting the sub-path.
在一种可能的设计中,路径的路径状态参数不为路径的第一部分路径的路径状态参数,在发送端将第二目标路径确定为发送待发送数据的路径之前,该方法还包括:发送端根据第二目标路径中的每条路径的第一部分路径的路径状态参数在第二目标路径中选择出第三目标路径;发送端将第二目标路径确定为发送待发送数据的路径,包括:发送端将第三目标路径确定为发送待发送数据的路径。In a possible design, the path state parameter of the path is not the path state parameter of the first part of the path, and before the sending end determines the second target path as the path for sending the data to be sent, the method further includes: the sending end Determining, by the path state parameter of the first partial path of each path in the second target path, a third target path in the second target path; the transmitting end determining the second target path as a path for sending data to be sent, including: sending The terminal determines the third target path as a path for transmitting data to be transmitted.
该种可能的设计中,可以使得发送端和接收端中保存的数据个数更少。In this possible design, the number of data saved in the transmitting end and the receiving end can be reduced.
在一种可能的设计中,该方法还包括:发送端根据发送待发送数据的路径发送待发送数据。In a possible design, the method further includes: the sending end sends the data to be sent according to the path for sending the data to be sent.
在一种可能的设计中,发送端根据发送待发送数据的路径发送待发送数据,包括:发送端在发送待发送数据的路径中选择一条路径,并在该条路径上发送待发送数据;或者,发送端将待发送数据进行切分得到x个数据块,并在发送待发送数据的路径中包括的路径上分别发送x个数据块,x的值与发送待发送数据的路径中包括的路径个数相等;或者,发送端将待发送数据进行切分得到若干个数据块,并在发送待发送数据的路径中包括的所有路径上轮询发送若干个数据块。In a possible design, the sending end sends the data to be sent according to the path for sending the data to be sent, including: the sending end selects a path in the path for sending the data to be sent, and sends the data to be sent on the path; or The transmitting end severifies the data to be sent to obtain x data blocks, and respectively sends x data blocks on the path included in the path for transmitting the data to be transmitted, and the value of x and the path included in the path for transmitting the data to be transmitted The number is equal; or, the sender divides the data to be transmitted into a plurality of data blocks, and polls and transmits a plurality of data blocks on all paths included in the path for transmitting the data to be transmitted.
在一种可能的设计中,当发送端将待发送数据进行切分得到x个数据块,并在发送待发送数据的路径中包括的路径上分别发送x个数据块时,该方法还包括:发送端确定发送待发送数据的路径中的所有路径的时延;发送端将待发送数据进行切分得到x个数据块,并在发送待发送数据的路径中包括的路径上分别发送x个数据块,包括:发送端将待发送数据进行切分得到x个数据块,并在发送待发送数据的路径中包括的路径上分别发送x个数据块,发送待发送数据的路径中包括的路径中的时延越小的路 径用于发送x个数据块中的发送端越早接收到的数据块。In a possible design, when the transmitting end shards the data to be transmitted to obtain x data blocks, and sends x data blocks respectively on the path included in the path for transmitting the data to be transmitted, the method further includes: The transmitting end determines the delay of all the paths in the path for sending the data to be sent; the transmitting end divides the data to be sent into x data blocks, and sends x data respectively on the path included in the path for sending the data to be transmitted. The block includes: the transmitting end shards the data to be sent to obtain x data blocks, and sends x data blocks respectively on the path included in the path for transmitting the data to be sent, and sends the path included in the path of the data to be sent. The smaller the delay The path is used to send the data block received by the sender in the x data blocks.
在一种可能的设计中,当一条路径的路径状态参数至少包括拥塞值时,该方法还包括:发送端在该路径上向接收端发送探测报文,探测报文用于探测该路径的拥塞值,该路径的拥塞值为该路径包含的子路径的拥塞值中的最大值或该路径包含的子路径的拥塞值之和;一个子路径的拥塞值为该子路径的起始节点的用于传输探测报文的至少一个队列的队列拥塞值之和或至少一个队列的队列拥塞值中的最大值;一个队列的队列拥塞值为该队列的当前队列深度,或者,该队列的当前队列深度和预设值之比。In a possible design, when the path state parameter of a path includes at least a congestion value, the method further includes: the sender sends a probe packet to the receiver on the path, and the probe packet is used to detect congestion of the path. Value, the congestion value of the path is the maximum of the congestion values of the sub-paths included in the path or the sum of the congestion values of the sub-paths included in the path; the congestion value of one sub-path is used for the starting node of the sub-path The sum of the queue congestion values of at least one queue of the transmission probe message or the queue congestion value of at least one queue; the queue congestion value of one queue is the current queue depth of the queue, or the current queue depth of the queue The ratio to the preset value.
在一种可能的设计中,发送端根据第二目标路径中的每条路径的第一部分路径的路径状态参数在第二目标路径中选择出第三目标路径,包括:发送端将第二目标路径的第一部分路径的路径状态参数中的路径状态参数满足第一条件的路径状态参数对应的路径确定为第三目标路径,路径状态参数满足第一条件是指路径状态参数中的各个参数均满足各自对应的第一条件,一个参数对应一个第一条件,一个第一条件包含一个第一阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第一条件是指该参数的值大于或等于对应的第一条件中包含的第一阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第一条件是指该参数的值小于或等于对应的第一条件中包含的第一阈值。In a possible design, the transmitting end selects the third target path in the second target path according to the path state parameter of the first partial path of each path in the second target path, including: the second target path is sent by the sending end. The path state parameter in the path state parameter of the first part of the path meets the path condition parameter corresponding to the first condition is determined as the third target path, and the path state parameter satisfies the first condition, that is, each parameter in the path state parameter satisfies the respective Corresponding first condition, one parameter corresponds to a first condition, and a first condition includes a first threshold; when the value of a parameter is larger, indicating that the path state of the path is better, the parameter satisfies the corresponding first condition The value of the parameter is greater than or equal to the first threshold included in the corresponding first condition; when the value of a parameter is smaller, indicating that the path state of the path is better, the parameter satisfies the corresponding first condition and refers to the parameter. The value is less than or equal to the first threshold included in the corresponding first condition.
在一种可能的设计中,在发送端接收接收端发送的第一指示消息之前,该方法还包括:发送端将n条路径的第一部分路径的路径状态参数中的路径状态参数满足第二条件的路径状态参数对应的路径确定为m2条路径,路径状态参数满足第二条件是指路径状态参数中的各个参数均满足各自对应的第二条件,一个参数对应一个第二条件,一个第二条件包含一个第二阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第二条件是指该参数的值大于或等于对应的第二条件中包含的第二阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第二条件是指该参数的值小于或等于对应的第二条件中包含的第二阈值;发送端向接收端发送第二指示消息,第二指示消息中包括用于指示m2条路径的信息。In a possible design, before the sending end receives the first indication message sent by the receiving end, the method further includes: the sending end meets the second condition by using the path state parameter in the path state parameter of the first partial path of the n paths The path corresponding to the path state parameter is determined to be m2 paths, and the path state parameter satisfies the second condition, that is, each parameter in the path state parameter satisfies the corresponding second condition, and one parameter corresponds to a second condition, and a second condition A second threshold is included; when the value of a parameter is larger, indicating that the path state of the path is better, the parameter satisfies the corresponding second condition, that is, the value of the parameter is greater than or equal to the second value included in the corresponding second condition. Threshold value; when the value of a parameter is smaller, indicating that the path state of the path is better, the parameter satisfies the corresponding second condition, that is, the value of the parameter is less than or equal to the second threshold included in the corresponding second condition; Sending a second indication message to the receiving end, where the second indication message includes information for indicating the m2 paths.
该种可能的设计,发送端和接收端之间可以协商确定最终使用的路径,从而充分的满足发送端和接收端各自的需求。In this kind of possible design, the end-use path can be negotiated between the transmitting end and the receiving end to fully meet the respective requirements of the transmitting end and the receiving end.
第二方面,提供了一种确定数据传输路径的方法,包括:接收端根据n条路径中的每条路径的路径状态参数在n条路径中确定第一目标路径,第一目标路径包括允许发送端使用的m1条路径和/或禁止发送端使用的s条路径,m1条路径和s条路径中不存在相同的路径,n条路径为接收端与发送端之间的路径,路径状态参数包括以下参数中的至少一种:负载、拥塞值、时延和待接收数据量,n为大于1的整数,m1、s均为大于0小于等于n的整数、且m1与s之和小于等于n;接收端向发送端发送第一指示消息,第一指示消息包括第一目标路径。A second aspect provides a method for determining a data transmission path, including: a receiving end determining a first target path among the n paths according to a path state parameter of each of the n paths, where the first target path includes allowing transmission The m1 path used by the end and/or the s path used by the transmitting end are prohibited. The m1 path and the s path do not have the same path. The n paths are paths between the receiving end and the transmitting end. The path status parameters include At least one of the following parameters: load, congestion value, delay, and amount of data to be received, n is an integer greater than 1, m1, s are integers greater than 0 and less than or equal to n, and the sum of m1 and s is less than or equal to n The receiving end sends a first indication message to the sending end, where the first indication message includes the first target path.
第二方面提供的方法,接收端可以根据n条路径中的每条路径的路径状态参数确定允许发送端使用的m1条路径和/或禁止发送端使用的s条路径,并向发送端发送第一指示消息,以使得发送端确定用于发送待发送数据的路径,由于本发明实施例提供的技术方案是通过接收端确定m1条路径和/或s条路径后向发送端反馈,因此,仅在接收端中保存路径状态表即可,而不需要在发送端中保存路径状态表,与现有技术中 的方案相比,可以降低资源消耗。The method provided by the second aspect, the receiving end may determine, according to the path state parameter of each path in the n paths, the m1 path used by the sending end and/or the s path used by the sending end, and send the first path to the sending end. An indication message, so that the sending end determines the path for sending the data to be sent, because the technical solution provided by the embodiment of the present invention is that the m1 path and/or the s path are determined by the receiving end, and then the feedback is sent to the sending end, therefore, only Saving the path state table in the receiving end, without saving the path state table in the transmitting end, and the prior art Compared with the scheme, the resource consumption can be reduced.
在一种可能的设计中,路径的路径状态参数为路径的总路径的路径状态参数、路径的第一部分路径的路径状态参数或路径的第二部分路径的路径状态参数,总路径包括路径中的全部子路径,第一部分路径为总路径中的一部分、且包括总路径中的以发送端为起始节点的子路径,第二部分路径为总路径中的一部分、且包括总路径中的以接收端为结束节点的子路径,总路径中的一条子路径为总路径中的相邻节点之间的路径,一条子路径的起始节点是指构成该子路径的相邻节点中的发送数据的节点,一条子路径的结束节点是指构成该子路径的相邻节点中的接收数据的节点。In a possible design, the path state parameter of the path is a path state parameter of the total path of the path, a path state parameter of the first part of the path, or a path state parameter of the second part of the path, and the total path includes the path All sub-paths, the first part of the path is a part of the total path, and includes a sub-path in the total path with the transmitting end as the starting node, the second part of the path is part of the total path, and includes the total path to receive The end is a sub-path of the end node, and one sub-path in the total path is a path between adjacent nodes in the total path, and the starting node of one sub-path refers to sending data in the adjacent nodes constituting the sub-path A node, an end node of a sub-path refers to a node that receives data in a neighboring node constituting the sub-path.
在一种可能的设计中,路径状态参数至少包括待接收数据量,在接收端根据n条路径中的每条路径的路径状态参数在n条路径中确定第一目标路径之前,该方法还包括:接收端确定为一条路径分配的总数据量,该路径为n条路径中的任意一条路径;接收端确定在该条路径上接收到的数据量;接收端将总数据量与接收到的数据量之差确定为该路径的待接收数据量。In a possible design, the path state parameter includes at least an amount of data to be received, and the method further includes: before the receiving end determines the first target path in the n paths according to the path state parameter of each of the n paths, the method further includes: The receiving end determines the total amount of data allocated for a path, the path is any one of the n paths; the receiving end determines the amount of data received on the path; the receiving end aggregates the total amount of data with the received data The difference between the quantities is determined as the amount of data to be received for the path.
在一种可能的设计中,路径的路径状态参数为路径的第一路径的路径状态参数,第一路径不为第一部分路径,第一目标路径包括m1条路径,在接收端根据n条路径中的每条路径的路径状态参数在n条路径中确定第一目标路径之前,该方法还包括:接收端接收发送端发送的第二指示消息;接收端根据第二指示消息确定m2条路径,m2条路径属于n条路径;接收端根据n条路径中的每条路径的路径状态参数在n条路径中确定第一目标路径,包括:接收端将n条路径的第一路径的路径状态参数中的路径状态参数满足第三条件的路径状态参数对应的路径确定为m11条路径,路径状态参数满足第三条件是指路径状态参数中的各个参数均满足各自对应的第三条件,一个参数对应一个第三条件,一个第三条件包含一个第三阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第三条件是指该参数的值大于或等于对应的第三条件中包含的第三阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第三条件是指该参数的值小于或等于对应的第三条件中包含的第三阈值;接收端将m2条路径的第一路径的路径状态参数中的路径状态参数满足第四条件的路径状态参数对应的路径确定为m12条路径,路径状态参数满足第四条件是指路径状态参数中的各个参数均满足各自对应的第四条件,一个参数对应一个第四条件,一个第四条件包含一个第四阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第四条件是指该参数的值大于或等于对应的第四条件中包含的第四阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第四条件是指该参数的值小于或等于对应的第四条件中包含的第四阈值;接收端将m11条路径和m12条路径确定为m1条路径。In a possible design, the path state parameter of the path is a path state parameter of the first path of the path, the first path is not the first partial path, the first target path includes m1 paths, and the receiving end is according to n paths. Before determining the first target path in the n paths, the method further includes: receiving, by the receiving end, a second indication message sent by the sending end; the receiving end determining, according to the second indication message, the m2 path, m2 The strip path belongs to n paths; the receiving end determines the first target path in the n paths according to the path state parameter of each of the n paths, including: the path state parameter of the first path of the n paths of the receiving end The path state parameter whose path state parameter satisfies the third condition is determined to be m11 paths, and the path state parameter satisfies the third condition, that is, each parameter in the path state parameter satisfies the corresponding third condition, and one parameter corresponds to one a third condition, a third condition comprising a third threshold; when the value of a parameter is larger, indicating that the path state of the path is better The parameter satisfies the corresponding third condition, that is, the value of the parameter is greater than or equal to the third threshold included in the corresponding third condition; when the value of a parameter is smaller, indicating that the path state of the path is better, the parameter satisfies the corresponding The third condition is that the value of the parameter is less than or equal to the third threshold included in the corresponding third condition; the receiving end satisfies the path condition of the fourth condition in the path state parameter of the first path of the m2 path. The path corresponding to the state parameter is determined to be m12 paths, and the path state parameter satisfies the fourth condition, that is, each parameter in the path state parameter satisfies the corresponding fourth condition, one parameter corresponds to a fourth condition, and one fourth condition includes one The fourth threshold; when the value of a parameter is larger, indicating that the path state of the path is better, the parameter satisfies the corresponding fourth condition, that is, the value of the parameter is greater than or equal to the fourth threshold included in the corresponding fourth condition; When the value of a parameter is smaller, indicating that the path state of the path is better, the parameter satisfies the corresponding fourth condition, that is, the value of the parameter is less than or equal to The fourth threshold included in the corresponding fourth condition; the receiving end determines the m11 path and the m12 path as the m1 path.
该种可能的设计中,可以使得发送端和接收端中保存的数据个数更少,发送端和接收端之间可以协商确定最终使用的路径,从而充分的满足发送端和接收端各自的需求。In this kind of possible design, the number of data saved in the transmitting end and the receiving end is smaller, and the final used path can be negotiated between the transmitting end and the receiving end, thereby fully satisfying the respective requirements of the transmitting end and the receiving end. .
在一种可能的设计中,在接收端向发送端发送第一指示消息之后,该方法还包括:接收端在m1条路径、m1条路径中的部分路径、n条路径中的除s条路径中的其他路径或者n条路径中的除s条路径中的其他路径中的部分路径上接收发送端发送的数据。 In a possible design, after the receiving end sends the first indication message to the sending end, the method further includes: the receiving end is in the m1 path, the partial path in the m1 path, and the s path in the n paths. The other path in the path or the part of the other paths in the other of the s paths receives the data sent by the transmitting end.
第三方面,提供了一种发送端,该发送端具有实现第一方面提供的方法中发送端行为的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元。The third aspect provides a sending end, where the sending end has a function of implementing the behavior of the sending end in the method provided by the first aspect, and the function may be implemented by hardware or by executing corresponding software through hardware. The hardware or software includes one or more units corresponding to the functions described above.
第四方面,提供了一种接收端,该接收端具有实现第二方面提供的方法中接收端行为的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元。A fourth aspect provides a receiving end, where the receiving end has a function of implementing the behavior of the receiving end in the method provided by the second aspect, and the function may be implemented by using hardware or by executing corresponding software by hardware. The hardware or software includes one or more units corresponding to the functions described above.
第五方面,提供了一种发送端,包括:存储器、处理器、发送器、接收器和总线;存储器用于存储计算机执行指令,处理器与存储器通过总线连接,处理器根据存储器存储的计算机执行指令,执行第一方面提供的任意一种确定数据传输路径的方法。A fifth aspect provides a transmitting end, comprising: a memory, a processor, a transmitter, a receiver, and a bus; the memory is configured to store a computer to execute an instruction, the processor and the memory are connected through a bus, and the processor executes according to the computer stored in the memory. An instruction to perform any of the methods of determining a data transmission path provided by the first aspect.
第六方面,提供了一种接收端,包括:存储器、处理器、发送器、接收器和总线;存储器用于存储计算机执行指令,处理器与存储器通过总线连接,处理器根据存储器存储的计算机执行指令,执行第二方面提供的任意一种确定数据传输路径的方法。A sixth aspect provides a receiving end, comprising: a memory, a processor, a transmitter, a receiver, and a bus; the memory is configured to store a computer to execute an instruction, the processor and the memory are connected through a bus, and the processor executes according to the computer stored in the memory. An instruction to perform any of the methods of determining a data transmission path provided by the second aspect.
另外,第三方面和第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,第四方面和第六方面中任一种设计方式所带来的技术效果可参见第二方面中不同设计方式所带来的技术效果,此处不再赘述。In addition, the technical effects brought by any one of the third aspect and the fifth aspect can be referred to the technical effects brought by different design modes in the first aspect, and any one of the fourth aspect and the sixth aspect. For the technical effects brought about, the technical effects brought by different design methods in the second aspect can be referred to, and details are not described herein again.
附图说明DRAWINGS
图1为现有技术中的一种数据中心的组成架构示意图;1 is a schematic structural diagram of a data center in the prior art;
图2为本发明实施例提供的一种路由器的组成架构示意图;2 is a schematic structural diagram of a router according to an embodiment of the present invention;
图3为本发明实施例提供的一种调度***的组成示意图;FIG. 3 is a schematic structural diagram of a scheduling system according to an embodiment of the present disclosure;
图4为本发明实施例提供的一种发送端的组成结构示意图;FIG. 4 is a schematic structural diagram of a structure of a transmitting end according to an embodiment of the present disclosure;
图5为本发明实施例提供的一种接收端的组成结构示意图;FIG. 5 is a schematic structural diagram of a receiving end according to an embodiment of the present disclosure;
图6为本发明实施例提供的一种确定数据传输路径的方法的流程图;FIG. 6 is a flowchart of a method for determining a data transmission path according to an embodiment of the present invention;
图7为本发明实施例提供的一种确定数据传输路径的方法的交互流程图;FIG. 7 is an interaction flowchart of a method for determining a data transmission path according to an embodiment of the present invention;
图8和图9分别为本发明实施例提供的一种发送端的组成结构示意图;FIG. 8 and FIG. 9 are schematic diagrams showing the structure of a transmitting end according to an embodiment of the present invention;
图10和图11分别为本发明实施例提供的一种接收端的组成结构示意图。FIG. 10 and FIG. 11 are respectively schematic diagrams showing the structure of a receiving end according to an embodiment of the present invention.
具体实施方式detailed description
本发明实施例提供的方法可以应用于如图1所示的数据中心中,也可以应用于路由器中。如图2所示,路由器中一般包括多个上行单板、多个交换网芯片和多个下行单板,任意一个上行单板可以将接收到的数据通过任意一个或多个交换网芯片发送至任意一个下行单板。示例性的,参见图2,当交换网芯片有i(i为大于1的整数)个时,当上行单板1有数据发往下行单板2时,上行单板1在i条路径中的某条路径上向下行单板2发送Request(请求)信令,Request信令中包括上行单板1请求发送的数据量;下行单板2根据自身处理能力为发送Request信令的所有上行单板分配允许发送的数据量,并通过Grant信令通知每个上行单板;上行单板1接收到下行单板2发送的Grant信令后,将要发送的数据进行切片得到多个cell(信元),在i条路径上轮询(Round-Robin)发送,下行单板2接收到cell后,将cell进行重组得到报文,并以报文为单位将数据发送出去。The method provided by the embodiment of the present invention can be applied to the data center shown in FIG. 1 and can also be applied to a router. As shown in FIG. 2, the router generally includes multiple uplink boards, multiple switching network chips, and multiple downlink boards. Any one of the uplink boards can send the received data to any one or more switching network chips. Any one of the downstream boards. Illustratively, referring to FIG. 2, when the switching network chip has i (i is an integer greater than 1), when the uplink board 1 has data sent to the downstream board 2, the uplink board 1 is in the i path. Sending the request (request) signaling to the downstream board 2 on a certain path. The request signaling includes the amount of data that the uplink board 1 requests to send. The downstream board 2 is the uplink board that sends the request signaling according to its own processing capability. The amount of data to be sent is allocated, and each uplink board is notified by the Grant signaling. After receiving the Grant signaling sent by the downlink board 2, the uplink board 1 slices the data to be sent to obtain multiple cells. Round-Robin is sent on the i-path. After receiving the cell, the downstream board 2 reassembles the cell to obtain the packet, and sends the data in units of packets.
需要说明的是,若将图2所示的***称为一个调度子***,路由器中可以串联多级调度子***,示例性的,有两级调度子***组成的***可以参见图3(图3中的j 为第二级调度子***中包括的交换网芯片的个数,j为大于1的整数),图3中的单板接收数据时为下行单板,发送数据时为上行单板。每个调度子***都可以采用本发明实施例提供的方法确定数据传输路径并根据该路径传输数据。It should be noted that, if the system shown in FIG. 2 is referred to as a scheduling subsystem, a multi-level scheduling subsystem can be connected in a router. For example, a system composed of a two-level scheduling subsystem can be referred to FIG. 3 (FIG. 3 J in The number of the switching network chips included in the second-level scheduling subsystem, j is an integer greater than 1. The board in Figure 3 is the downstream board when receiving data, and is the upstream board when sending data. Each scheduling subsystem can determine the data transmission path and transmit data according to the path according to the method provided by the embodiment of the present invention.
本发明实施例中还提供了一种用于实现本发明实施例提供的方法的发送端和接收端,本发明实施例中的发送端是指发送数据的一端,接收端是指接收数据的一端。The embodiment of the present invention further provides a transmitting end and a receiving end for implementing the method provided by the embodiment of the present invention. In the embodiment of the present invention, the transmitting end refers to one end of transmitting data, and the receiving end refers to one end of receiving data. .
如图4所示,本发明实施例中的发送端40至少包括发送器401、接收器402、处理器403和存储器404,发送器401、接收器402、处理器403和存储器404可以通过总线405连接。存储器404中可以存储用于处理器403执行相应动作的代码,具体可以为只读存储器(Read Only Memory,简称ROM),随机存取存储器(Random Access Memory,简称RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。处理器403可以分析指令并进行数据的处理和计算,具体可以为中央处理器(Central Processing Unit,简称CPU)、通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、特定集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。发送器401用于发送数据、信令或消息,接收器402用于接收数据、信令或消息。As shown in FIG. 4, the transmitting end 40 in the embodiment of the present invention includes at least a transmitter 401, a receiver 402, a processor 403, and a memory 404. The transmitter 401, the receiver 402, the processor 403, and the memory 404 can pass through the bus 405. connection. The memory 404 may store a code for the processor 403 to perform a corresponding action, and may specifically be a read only memory (ROM), a random access memory (RAM), or an information and an instruction. Other types of dynamic storage devices can also be disk storage. The processor 403 can analyze the instructions and perform processing and calculation of the data, and can be a central processing unit (CPU), a general-purpose processor, a digital signal processor (DSP), and a specific integrated circuit ( Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, transistor logic device, hardware component, or any combination thereof. Transmitter 401 is configured to transmit data, signaling, or messages, and receiver 402 is configured to receive data, signaling, or messages.
如图5所示,本发明实施例中的接收端50至少包括发送器501、接收器502、处理器503和存储器504,发送器501、接收器502、处理器503和存储器504可以通过总线505连接。存储器504中可以存储用于处理器503执行相应动作的代码,具体可以为ROM,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。处理器503可以分析指令并进行数据的处理和计算,具体可以为CPU、通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。发送器501用于发送数据、信令或消息,接收器502用于接收数据、信令或消息。As shown in FIG. 5, the receiving end 50 in the embodiment of the present invention includes at least a transmitter 501, a receiver 502, a processor 503, and a memory 504. The transmitter 501, the receiver 502, the processor 503, and the memory 504 can pass through the bus 505. connection. The memory 504 may store code for the processor 503 to perform corresponding actions, specifically ROM, RAM or other types of dynamic storage devices that can store information and instructions, or may be disk storage. The processor 503 can analyze the instructions and perform processing and calculation of the data, and can be specifically a CPU, a general purpose processor, a DSP, an ASIC, an FPGA, or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. Transmitter 501 is configured to transmit data, signaling, or messages, and receiver 502 is configured to receive data, signaling, or messages.
具体的,图4和图5中的总线可以为工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4和图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。Specifically, the bus in FIG. 4 and FIG. 5 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component (PCI) bus, or an Extended Industry Standard Architecture (Extended Industry Standard Architecture). , referred to as EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is shown in Figures 4 and 5, but it does not mean that there is only one bus or one type of bus.
本发明实施例提供了一种确定数据传输路径的方法,如图6所示,包括:An embodiment of the present invention provides a method for determining a data transmission path. As shown in FIG. 6, the method includes:
601、接收端根据n条路径中的每条路径的路径状态参数在n条路径中确定第一目标路径。601. The receiving end determines the first target path in the n paths according to the path state parameter of each path in the n paths.
其中,n条路径为接收端与发送端之间的路径,第一目标路径包括允许发送端使用的m1条路径和/或禁止发送端使用的s条路径,m1条路径和s条路径中不存在相同的路径,路径状态参数包括以下参数中的至少一种:负载、拥塞值、时延和待接收数据量,n为大于1的整数,m1、s均为大于0小于等于n的整数、且m1与s之和小于等于n。The n paths are the paths between the receiving end and the sending end. The first target path includes the m1 paths allowed by the transmitting end and/or the s paths prohibited by the transmitting end. The m1 paths and the s paths do not. The same path exists. The path state parameter includes at least one of the following parameters: load, congestion value, delay, and amount of data to be received, n is an integer greater than 1, and m1 and s are integers greater than 0 and less than or equal to n. And the sum of m1 and s is less than or equal to n.
本发明实施例中的发送端和接收端可以为路由器中的上行单板和下行单板,还可以为数据中心中的发送端和接收端。 The sending end and the receiving end in the embodiment of the present invention may be an uplink board and a downlink board in the router, and may also be a sending end and a receiving end in the data center.
具体的,n条路径一般为接收端与发送端之间的全部路径或全部路径中的可用路径。示例性的,基于图2所示的路由器,当发送端为上行单板1,接收端为下行单板2时,n条路径可以为上行单板1和下行单板2之间的i条路径。Specifically, the n paths are generally all paths in the receiving end and the transmitting end or available paths in all paths. For example, based on the router shown in FIG. 2, when the sending end is the uplink board 1 and the receiving end is the downlink board 2, the n paths may be the i path between the uplink board 1 and the downlink board 2. .
可选的,路径的路径状态参数可以为路径的总路径的路径状态参数、路径的第一部分路径的路径状态参数或路径的第二部分路径的路径状态参数,总路径包括路径中的全部子路径,第一部分路径为总路径中的一部分、且包括总路径中的以发送端为起始节点的子路径,第二部分路径为总路径中的一部分、且包括总路径中的以接收端为结束节点的子路径,总路径中的一条子路径为总路径中的相邻节点之间的路径,一条子路径的起始节点是指构成该子路径的相邻节点中的发送数据的节点,一条子路径的结束节点是指构成该子路径的相邻节点中的接收数据的节点。Optionally, the path state parameter of the path may be a path state parameter of the total path of the path, a path state parameter of the path of the first part of the path, or a path state parameter of the path of the second part of the path, where the total path includes all subpaths in the path. The first part of the path is a part of the total path, and includes a sub-path with the transmitting end as the starting node in the total path, the second part of the path is a part of the total path, and the end of the total path is terminated by the receiving end. a sub-path of a node, a sub-path in the total path is a path between adjacent nodes in the total path, and a starting node of a sub-path refers to a node transmitting data in a neighboring node constituting the sub-path, one The end node of the sub path refers to a node that receives data in a neighboring node constituting the sub path.
示例性的,参见图2,上行单板1和下行单板2之间的第2条路径的路径状态参数可以为第2条路径的总路径的路径状态参数、第2条路径的第一部分路径的路径状态参数或第2条路径的第二部分路径的路径状态参数,其中,第2条路径的总路径包括上行单板1与交换网芯片2之间的子路径和交换网芯片2与下行单板2之间的子路径,第2条路径的第一部分路径包括上行单板1与交换网芯片2之间的子路径,第2条路径的第二部分路径包括交换网芯片2与下行单板2之间的子路径。For example, referring to FIG. 2, the path state parameter of the second path between the uplink board 1 and the downlink board 2 may be a path state parameter of the total path of the second path, and a first part path of the second path. The path state parameter or the path state parameter of the second part of the path of the second path, wherein the total path of the second path includes the sub-path between the uplink board 1 and the switching network chip 2, and the switching network chip 2 and the downlink The sub-path between the boards 2, the first part of the path of the second path includes a sub-path between the uplink board 1 and the switching network chip 2, and the second part of the path of the second path includes the switching network chip 2 and the downlink Subpath between boards 2.
其中,一条路径的负载为可以表征该条路径的处理能力的参数,具体可以为该条路径中的负载最大的节点的负载。具体的,一条路径的总路径的负载可以为该条路径的总路径中的负载最大的节点的负载,一条路径的第一部分路径(或第二部分路径)的负载可以为该条路径的第一部分路径(或第二部分路径)中的负载最大的节点的负载。以图2为例,当一条路径的负载为该条路径的总路径的负载时,路径2的负载可以为路径2上的上行单板1、交换网芯片2和下行单板2中的负载最大的节点的负载。根据路径的负载确定发送端使用的路径时,可以为发送端确定负载较轻的路径,从而提高发送端发送的数据在节点中的处理效率。The load of a path is a parameter that can represent the processing capability of the path, and may specifically be the load of the node with the largest load in the path. Specifically, the load of the total path of one path may be the load of the node with the largest load in the total path of the path, and the load of the first part path (or the second part path) of one path may be the first part of the path The load of the node with the largest load in the path (or the second part of the path). As shown in Figure 2, when the load of a path is the load of the total path of the path, the load of the path 2 can be the maximum load of the upstream board 1, the switching network chip 2, and the downstream board 2 on the path 2. The load of the node. When the path used by the sending end is determined according to the load of the path, the path with a lighter load can be determined for the transmitting end, thereby improving the processing efficiency of the data sent by the sending end in the node.
一条路径的拥塞值为可以表征该条路径的拥塞程度的参数,具体可以为该条路径中的全部子路径中的拥塞值最大的子路径的拥塞值或该全部子路径的拥塞值之和。具体的,一条路径的总路径的拥塞值可以为该条路径的总路径中的全部子路径中的拥塞值最大的子路径的拥塞值或该全部子路径的拥塞值之和,一条路径的第一部分路径(或第二部分路径)的拥塞值可以为该条路径的第一部分路径(或第二部分路径)中的全部子路径中的拥塞值最大的子路径的拥塞值或第一部分路径(或第二部分路径)中的全部子路径的拥塞值之和。以图2为例,当一条路径的拥塞值为一条路径的总路径的拥塞值时,路径2的拥塞值可以为路径2上的上行单板1和交换网芯片2之间的子路径、交换网芯片2和下行单板2之间的子路径中的拥塞值最大的子路径的拥塞值。根据路径的拥塞值确定发送端使用的路径时,可以为发送端确定拥塞程度较轻的路径,从而降低各个路径的阻塞程度。The congestion value of a path may be a parameter that may be used to represent the degree of congestion of the path. Specifically, the congestion value of the sub-path with the largest congestion value or the sum of the congestion values of all the sub-paths in all the sub-paths in the path. Specifically, the congestion value of the total path of one path may be the congestion value of the sub-path with the largest congestion value or the sum of the congestion values of all the sub-paths in all the sub-paths in the total path of the path, the first of the paths The congestion value of a part of the path (or the second part of the path) may be the congestion value or the first part of the path of the sub-path with the largest congestion value in all the sub-paths of the first part of the path (or the second part of the path) (or The sum of the congestion values of all subpaths in the second part of the path). As shown in Figure 2, when the congestion value of a path is the congestion value of the total path of a path, the congestion value of the path 2 may be the sub-path between the uplink board 1 and the switching network chip 2 on the path 2. The congestion value of the sub-path with the largest congestion value in the sub-path between the network chip 2 and the downstream board 2. When determining the path used by the sender according to the congestion value of the path, you can determine the path with less congestion for the sender, thus reducing the degree of congestion of each path.
一条路径的待接收数据量可以为接收端已为该路径分配的数据量中的还未接收到的数据量。需要说明的是,一条路径的总路径的待接收数据量、一条路径的第一部分路径的待接收数据量和一条路径的第二部分路径的待接收数据量相同。以图2为例,若接收端为路径2分配了3次数据量,3次数据量分别为7000字节,7000字节,3000 字节,则接收端已为路径2分配的数据量为17000字节,若接收端已经通过路径2接收到了6000字节数据,则路径2的待接收数据量为11000字节。根据路径的待接收数据量确定发送端使用的路径时,可以为发送端确定待接收数据量较小的路径,从而使得各个路径上的数据流量更加均衡。The amount of data to be received of a path may be the amount of data that has not been received in the amount of data that the receiving end has allocated for the path. It should be noted that the amount of data to be received of the total path of one path, the amount of data to be received of the first part of the path of one path, and the amount of data to be received of the second part of the path of one path are the same. Taking Figure 2 as an example, if the receiving end allocates 3 data amounts for path 2, the data volume of 3 times is 7000 bytes, 7000 bytes, 3000 respectively. Byte, the amount of data that the receiving end has allocated for path 2 is 17000 bytes. If the receiving end has received 6000 bytes of data through path 2, the amount of data to be received in path 2 is 11,000 bytes. When the path used by the sending end is determined according to the amount of data to be received of the path, the path of the data to be received is determined to be smaller for the transmitting end, so that the data traffic on each path is more balanced.
另外,在本发明实施例中,还可以根据路径的时延确定发送端使用的路径。具体的,一条路径的总路径的时延可以为该条路径中的总路径中的全部子路径的时延,一条路径的第一部分路径(或第二部分路径)的时延可以为该条路径的第一部分路径(或第二部分路径)中的全部子路径的时延。该情况下,可以为发送端确定时延较小的路径,从而提高数据的传输效率。In addition, in the embodiment of the present invention, the path used by the transmitting end may also be determined according to the delay of the path. Specifically, the delay of the total path of one path may be the delay of all the sub-paths in the total path in the path, and the delay of the first part of the path (or the second part of the path) of one path may be the path The delay of all subpaths in the first part of the path (or the second part of the path). In this case, a path with a small delay can be determined for the transmitting end, thereby improving data transmission efficiency.
具体的,接收端中可以维护一张路径状态表,该表中记录了任意一个发送端到该接收端的任意一条路径的路径状态参数中包括的参数的值,步骤601在具体实现时,接收端可以根据该表获取任意一个发送端到该接收端的任意一条路径的路径状态参数中的任意一个参数的值,以用于在n条路径中确定第一目标路径。Specifically, the receiving end may maintain a path state table, where the value of the parameter included in the path state parameter of any path from any sending end to the receiving end is recorded, and in step 601, the receiving end is implemented. The value of any one of the path state parameters of any one of the sending ends to the receiving end may be obtained according to the table, for determining the first target path among the n paths.
示例性的,如表1所示(表1中以2个发送端、且每个发送端与接收端之间的路径为3条进行示例),路径状态表的纵向索引可以为发送端ID,横向索引可以为路径ID,表中的内容可以为路径的路径状态参数中的各个参数的值,表1中以路径状态参数包括拥塞值、负载、时延和待接收数据量进行示例。Exemplarily, as shown in Table 1 (in the case of two senders in Table 1, and the path between each sender and receiver is 3), the vertical index of the path state table may be the sender ID. The horizontal index may be a path ID, and the content in the table may be a value of each parameter in the path state parameter of the path. In Table 1, the path state parameter includes a congestion value, a load, a delay, and an amount of data to be received.
表1Table 1
Figure PCTCN2017109303-appb-000001
Figure PCTCN2017109303-appb-000001
需要说明的是,路径状态参数可以仅包括接收端需要用到的参数的值,例如,当接收端根据n条路径中的每条路径的拥塞值在n条路径中确定第一目标路径时,如表2所示,路径状态表中可以仅包含路径的拥塞值。It should be noted that the path state parameter may include only the value of the parameter that needs to be used by the receiving end. For example, when the receiving end determines the first target path among the n paths according to the congestion value of each path in the n paths, As shown in Table 2, the path state table may only contain the congestion value of the path.
表2Table 2
Figure PCTCN2017109303-appb-000002
Figure PCTCN2017109303-appb-000002
其中,路径1、路径2和路径3可以分别为三条路径的总路径、第一部分路径或第二部分路径。The path 1, the path 2, and the path 3 may be a total path, a first partial path, or a second partial path of the three paths, respectively.
具体的,步骤601在具体实现时,接收端可以将n条路径中的路径状态较好的路 径确定为允许发送端使用的路径,将n条路径中的路径状态较差的路径确定为禁止发送端使用的路径。Specifically, when the step 601 is implemented, the receiving end can set a path with a better path state in the n paths. The path is determined to be a path that is allowed to be used by the transmitting end, and the path with a poor path state in the n paths is determined as a path for which the transmitting end is prohibited.
具体的,当路径状态参数中包括的各个参数的值越小,表示路径的路径状态越好时,步骤601在具体实现时,可以通过以下方式1或方式2实现。Specifically, when the value of each parameter included in the path state parameter is smaller, the better the path state of the path is, the step 601 can be implemented in the following manner 1 or 2.
方式1、接收端可以将n条路径的路径状态参数中的各个参数均满足对应的条件1的路径确定为m1条路径,均满足对应的条件2的路径确定为s条路径。其中,路径的负载对应的条件1可以为:路径的负载小于T1,条件2可以为:路径的负载大于T1′,T1′大于T1;路径的拥塞值对应的条件1可以为:路径的拥塞值小于T2,条件2可以为:路径的拥塞值大于T2′,T2′大于T2;路径的时延对应的条件1可以为:路径的时延小于T3,条件2可以为:路径的时延大于T3′,T3′大于T3;路径的待接收数据量对应的条件1可以为:路径的待接收数据量小于T4,条件2可以为路径的待接收数据量大于T4′,T4′大于T4。 Mode 1, the receiving end may determine that each path in the path state parameters of the n paths meets the corresponding condition 1 as m1 paths, and the paths that satisfy the corresponding condition 2 are determined as s paths. The condition 1 of the path load may be: the load of the path is less than T1, and the condition 2 may be: the load of the path is greater than T1', and T1' is greater than T1; the condition 1 corresponding to the congestion value of the path may be: the congestion value of the path If the value is less than T2, the condition 2 may be: the congestion value of the path is greater than T2', and the T2' is greater than T2; the condition 1 corresponding to the delay of the path may be: the delay of the path is less than T3, and the condition 2 may be: the delay of the path is greater than T3 ', T3' is greater than T3; condition 1 corresponding to the amount of data to be received of the path may be: the amount of data to be received of the path is less than T4, and condition 2 may be that the amount of data to be received of the path is greater than T4', and T4' is greater than T4.
其中,T1、T2、T3、T4、T1′、T2′、T3′和T4′可以根据实际的应用场景确定或全部路径的路径状态参数中的各个参数的具体值进行确定。例如,T1可以为n条路径的负载的中值或平均值。The T1, T2, T3, T4, T1', T2', T3', and T4' may be determined according to actual application scenarios or specific values of each parameter in the path state parameters of all paths. For example, T1 can be the median or average of the loads of n paths.
示例性的,当路径状态参数中包括的参数为负载,若T1为40%,Exemplarily, when the parameter included in the path state parameter is a load, if T1 is 40%,
T1′为70%,则接收端可以将n条路径中的负载小于40%的路径确定为m1条路径,将n条路径中的负载大于70%的路径确定为s条路径。If T1' is 70%, the receiving end can determine the path with the load less than 40% in the n paths as the m1 path, and the path with the load greater than 70% in the n paths as the s path.
具体的,方式1在具体实现时,接收端还可以将n条路径的路径状态参数中的部分参数均满足对应的条件1的路径确定为m1条路径,均满足对应的条件2的路径确定为s条路径。Specifically, when the mode 1 is implemented, the receiving end may further determine that the path that meets the corresponding condition 1 in the path state parameters of the n paths is determined as the m1 path, and the path that satisfies the corresponding condition 2 is determined as s path.
方式2、接收端可以将n条路径的路径状态参数中的某个参数值最小的m1条路径确定为m1条路径,将n条路径的路径状态参数中的某个参数值最大的s条路径确定为s条路径。Mode 2: The receiving end may determine the m1 path with the smallest parameter value of the path state parameters of the n paths as the m1 path, and the s path with the largest parameter value of the path state parameters of the n paths. Determined as s path.
方式2在具体实现时,接收端还可以将n条路径的路径状态参数中的各个参数值最小的多条路径共同确定为m1条路径,将n条路径的路径状态参数中的各个参数值最大的多条路径共同确定为s条路径;或者,将各个参数值最小的多条路径中的相同的路径确定为m1条路径,将各个参数值最大的多条路径中的相同的路径确定为s条路径。In the specific implementation of the mode 2, the receiving end may further determine, as the m1 paths, multiple paths in which the parameter values of the path parameters of the n paths are the smallest, and maximize the value of each parameter in the path state parameters of the n paths. The plurality of paths are determined as s paths in common; or the same path among the plurality of paths having the smallest parameter values is determined as m1 paths, and the same path among the plurality of paths having the largest parameter value is determined as s Path.
示例性的,若路径状态参数中包括负载和拥塞值,则接收端可以将负载最小的5条路径和拥塞值最小的5条路径确定为m1条路径,将负载最大的3条路径和拥塞值最大的3条路径确定为s条路径;或者,将负载最小的20条路径和拥塞值最小的20条路径中的相同的路径确定为m1条路径,将负载最大的20条路径和拥塞值最大的20条路径中的相同的路径确定为s条路径。For example, if the path state parameter includes the load and the congestion value, the receiving end can determine the five paths with the smallest load and the five paths with the smallest congestion value as the m1 path, and the three paths with the largest load and the congestion value. The maximum of the three paths is determined as s paths; or the same path among the 20 paths with the smallest load and the 20 paths with the smallest congestion value is determined as m1 paths, and the maximum load of 20 paths and congestion values is maximized. The same path in the 20 paths is determined as s paths.
步骤601还可以通过其他的方式实现,上述两种方式仅仅为示例性说明。Step 601 can also be implemented in other manners, and the above two modes are merely exemplary.
602、接收端向发送端发送第一指示消息,第一指示消息包括第一目标路径。602. The receiving end sends a first indication message to the sending end, where the first indication message includes a first target path.
示例性的,当发送端和接收端为路由器中的上行单板和下行单板时,第一指示消息可以为Grant信令。For example, when the sending end and the receiving end are the uplink board and the downlink board in the router, the first indication message may be Grant signaling.
603、发送端接收接收端发送的第一指示消息,并根据第一指示消息确定第一目标 路径。603. The sending end receives the first indication message sent by the receiving end, and determines the first target according to the first indication message. path.
604、当第一目标路径包括m1条路径或者第一目标路径包括m1条路径和s条路径时,发送端将m1条路径确定为第二目标路径;当第一目标路径包括s条路径时,发送端将n条路径中的除s条路径之外的其他路径确定为第二目标路径。604. When the first target path includes the m1 path or the first target path includes the m1 path and the s path, the sending end determines the m1 path as the second target path; when the first target path includes the s path, The transmitting end determines other paths than the s paths among the n paths as the second target path.
605、发送端将第二目标路径确定为发送待发送数据的路径。605. The transmitting end determines the second target path as a path for sending data to be sent.
本发明实施例提供的方法,接收端可以根据n条路径中的每条路径的路径状态参数确定允许发送端使用的m1条路径和/或禁止发送端使用的s条路径,并向发送端发送第一指示消息,以使得发送端确定用于发送待发送数据的路径,由于本发明实施例提供的技术方案是通过接收端确定m1条路径和/或s条路径后向发送端反馈,因此,仅在接收端中保存路径状态表即可,而不需要在发送端中保存路径状态表,与现有技术中的方案相比,可以降低资源消耗。According to the method provided by the embodiment of the present invention, the receiving end may determine, according to the path state parameter of each path in the n paths, the m1 path used by the sending end and/or the s path used by the sending end, and send the path to the sending end. a first indication message, so that the sending end determines the path for sending the data to be sent, because the technical solution provided by the embodiment of the present invention is that the m1 path and/or the s path are determined by the receiving end, and then the feedback is sent to the sending end. It is only necessary to save the path state table in the receiving end, and it is not necessary to save the path state table in the transmitting end, which can reduce resource consumption compared with the prior art solution.
在步骤601之前,接收端需要获取每条路径的路径状态参数中的各个参数的值,以下对接收端获取路径状态参数中的各个参数的值的方式作示例性说明。Before the step 601, the receiving end needs to obtain the value of each parameter in the path state parameter of each path. The following describes the manner in which the receiving end obtains the value of each parameter in the path state parameter.
一、获取路径的路径状态参数中的拥塞值的方法可以如下:First, the method for obtaining the congestion value in the path state parameter of the path can be as follows:
11)发送端在一条路径上向接收端发送探测报文(为了与下文中的提到的探测报文进行区分,该探测报文称为第一探测报文),第一探测报文用于探测该路径的拥塞值,该路径的拥塞值为该路径包含的子路径的拥塞值中的最大值或该路径包含的子路径的拥塞值之和;一个子路径的拥塞值为该子路径的起始节点的用于传输第一探测报文的至少一个队列的队列拥塞值之和或至少一个队列的队列拥塞值中的最大值;一个队列的队列拥塞值为该队列的当前队列深度,或者,该队列的当前队列深度和预设值之比。11) The sender sends a probe packet to the receiver on a path (in order to distinguish it from the probe packet mentioned below, the probe packet is called a first probe packet), and the first probe packet is used for the first probe packet. Detecting the congestion value of the path, the congestion value of the path is the maximum of the congestion values of the sub-paths included in the path or the sum of the congestion values of the sub-paths included in the path; the congestion value of the sub-path is the sub-path a sum of queue congestion values of at least one queue of the first node for transmitting the first probe message or a queue congestion value of at least one queue; a queue congestion value of a queue is a current queue depth of the queue, or , the ratio of the current queue depth of the queue to the preset value.
其中,本发明实施例中的第一探测报文和第二探测报文可以为控制报文或数据报文。示例性的,当发送端和接收端为路由器中的上行单板和下行单板时,第一探测报文可以为Request信令。The first detection packet and the second detection packet in the embodiment of the present invention may be a control packet or a data packet. For example, when the sending end and the receiving end are the uplink board and the downlink board in the router, the first probe packet may be Request signaling.
步骤11)在具体实现时,第一探测报文的报文头中可以包括路径拥塞字段,拥塞值可以被写入该路径拥塞字段中。Step 11) In a specific implementation, the packet header of the first probe packet may include a path congestion field, and the congestion value may be written into the path congestion field.
其中,预设值可以为队列总深度,也可以为比队列总深度略小的值,还可以为其他的预设值。The preset value may be the total depth of the queue, or may be a value slightly smaller than the total depth of the queue, and may also be other preset values.
需要说明的是,每个节点均有多个出口,一条路径上的一个节点的多个出口中的一个出口对应该节点的一个下一节点。示例性的,基于图2所示的路由器,上行单板1有i个出口,每个出口用于向一个交换网芯片发送数据。节点的每个出口维护一个或多个端口队列,端口队列用于存储待发送的数据,队列总深度越深,可以存储的数据越多。当一个队列的队列拥塞值为该队列的当前队列深度和队列总深度之比时,若当前队列深度为60kB、队列总深度为100kB,则该队列的队列拥塞值即60kB/100kB=60%。第一探测报文每经过一个子路径时,该子路径的起始节点会将该子路径的拥塞值与第一探测报文报文头中的拥塞值进行比较,并使得较大值携带在报文头中。It should be noted that each node has multiple outlets, and one of the multiple outlets of one node on one path corresponds to one next node of the node. Exemplarily, based on the router shown in FIG. 2, the uplink board 1 has i outlets, and each outlet is used to send data to a switching network chip. Each egress of a node maintains one or more port queues. The port queue is used to store data to be sent. The deeper the total depth of the queue, the more data that can be stored. When the queue congestion value of a queue is the ratio of the current queue depth to the total queue depth of the queue, if the current queue depth is 60 kB and the total queue depth is 100 kB, the queue congestion value of the queue is 60 kB/100 kB=60%. When the first probe packet passes through a sub-path, the start node of the sub-path compares the congestion value of the sub-path with the congestion value in the header of the first detection packet, and causes the larger value to be carried in In the header of the message.
12)接收端在该路径上接收第一探测报文。12) The receiving end receives the first probe packet on the path.
13)接收端将第一探测报文的报文头中的拥塞值确定为该路径的拥塞值。13) The receiving end determines the congestion value in the packet header of the first probe packet as the congestion value of the path.
二、获取路径的路径状态参数中的负载的方法可以如下: Second, the method of obtaining the load in the path state parameter of the path can be as follows:
21)发送端在一条路径上向接收端发送第二探测报文,第二探测报文用于探测该路径上的每个节点的负载,并将负载最大的节点的负载携带在报文头中。21) The sender sends a second probe packet to the receiver on a path. The second probe packet is used to detect the load of each node on the path, and the load of the node with the largest load is carried in the packet header. .
示例性的,当发送端和接收端为路由器中的上行单板和下行单板时,第二探测报文可以为Request信令。For example, when the sending end and the receiving end are the uplink board and the downlink board in the router, the second probe packet may be Request signaling.
步骤21)在具体实现时,第二探测报文的报文头中可以包括一个负载字段,负载可以被写入该负载字段中。Step 21) In a specific implementation, the packet header of the second probe packet may include a load field, and the load may be written into the payload field.
需要说明的是,该路径中的每个节点可以在内存(或寄存器)中统计并记录自身在单位时间的处理强度,第二探测报文经过一个节点时,该节点通过读取该节点的内存(或寄存器)获取该节点的单位时间的处理报文的个数(或单位时间的处理的比特数),并将该节点的单位时间的处理报文的个数(或单位时间的处理的比特数)与该节点的处理能力之比确定为该节点的负载。例如,当该节点在单位时间的处理报文的个数(或单位时间的处理的比特数)为36M,该节点的处理强度为180M时,该节点的工作负载为36M/180M=20%。第二探测报文每经过一个节点,该节点将该节点的负载与第二探测报文的报文头中记录的负载进行比较,并使得较大值携带在第二探测报文的报文头中。It should be noted that each node in the path can count and record its processing strength in unit time in the memory (or register). When the second probe packet passes through a node, the node reads the memory of the node. (or register) acquires the number of processing messages per unit time of the node (or the number of processed bits per unit time), and the number of processing messages per unit time of the node (or processed bits per unit time) The ratio of the number to the processing power of the node is determined as the load of the node. For example, when the number of processing messages per unit time (or the number of processed bits per unit time) is 36M, and the processing strength of the node is 180M, the workload of the node is 36M/180M=20%. Each time the second probe packet passes through a node, the node compares the load of the node with the load recorded in the header of the second probe packet, and causes the larger value to be carried in the header of the second probe packet. in.
22)接收端在该路径上接收第二探测报文。22) The receiving end receives the second probe packet on the path.
23)接收端将第二探测报文的报文头中的负载确定为该路径的负载。23) The receiving end determines the load in the packet header of the second probe packet as the load of the path.
在数据中心中还存在另一个问题,由于发送端的路径拥塞表1的更新依赖于接收端反馈的拥塞值,一旦接收端没有向发送端发送的报文时,就无法实现路径拥塞表1的更新,从而使得发送端确定的用于发送报文的路径不一定是所有路径中拥塞值最小的路径,以致可能会降低发送端发送报文的效率。There is another problem in the data center. Since the path congestion of the sender is dependent on the congestion value fed back by the receiver, once the receiver does not send the message to the sender, the path congestion table 1 cannot be updated. Therefore, the path that is used by the sending end to send the packet is not necessarily the path with the smallest congestion value in all the paths, so that the efficiency of sending the packet by the sending end may be reduced.
本发明实施例提供的方法,由于发送端使用的发送数据的路径是由接收端发送的,而接收端中存储的路径的路径状态参数中的各个参数的值为最新的值,接收端总是根据路径的路径状态参数中的各个参数的最新的值选择路径,因此,当路径状态参数中包括路径的拥塞值时,可以避免出现由于现有技术中拥塞值更新不及时而可能导致的降低发送端发送报文的效率的问题。According to the method provided by the embodiment of the present invention, since the path of the transmission data used by the transmitting end is sent by the receiving end, and the value of each parameter in the path state parameter of the path stored in the receiving end is the latest value, the receiving end always The path is selected according to the latest value of each parameter in the path state parameter of the path. Therefore, when the path state parameter includes the congestion value of the path, the reduced transmission may be avoided due to the untimely update of the congestion value in the prior art. The problem of the efficiency of sending packets.
三、获取路径的路径状态参数中的时延的方法可以如下:发送端可以在通过一个路径发往接收端的报文中打时间戳,接收端在该路径上接收到报文后,进行时间戳减法得到该路径的时延。此时计算得到的时延为绝对时延。The method of obtaining the delay in the path state parameter of the path may be as follows: the sender may timestamp the packet sent to the receiving end through a path, and the receiving end performs the timestamp after receiving the packet on the path. Subtraction gives the delay of the path. The calculated delay is the absolute delay.
另外,一个发送端到一个接收端的路径的时延可以根据该发送端到该接收端的路径上的光纤长度计算得出,此时计算得到的路径时延为相对时延,光纤长度越长,路径时延也越大。In addition, the delay of the path from the sender to the receiver can be calculated according to the length of the fiber on the path from the sender to the receiver. The calculated path delay is relative delay, and the length of the fiber is longer. The delay is also greater.
具体的,当一条路径上的光纤长度为另一条路径上的光纤长度的g倍时,该一条路径的时延也为该另一条路径的时延的g倍。示例性的,如表3所示,当确定一条路径的光纤长度为10m时,时延是50ns,则当一条路径的光纤长度为1000m时,时延为5us。 Specifically, when the length of the fiber on one path is g times the length of the fiber on the other path, the delay of the one path is also g times the delay of the other path. Exemplarily, as shown in Table 3, when the length of the fiber of a path is determined to be 10 m, the delay is 50 ns, and when the length of the fiber of one path is 1000 m, the delay is 5 us.
表3table 3
光纤长度Fiber length 时延Delay
10m10m 50ns50ns
1000m1000m 5us5us
四、获取路径的路径状态参数中的待接收数据量的方法可以如下:接收端确定为一条路径分配的总数据量,该路径为n条路径中的任意一条路径;接收端确定在该条路径上接收到的数据量;接收端将总数据量与接收到的数据量之差确定为该路径的待接收数据量。The method for obtaining the amount of data to be received in the path state parameter of the path may be as follows: the total amount of data allocated by the receiving end to be determined as a path, the path being any one of the n paths; the receiving end determining the path in the path The amount of data received on the receiving end; the receiving end determines the difference between the total amount of data and the amount of received data as the amount of data to be received of the path.
可选的,路径的路径状态参数不为路径的第一部分路径的路径状态参数,在步骤605之前,上述方法还可以包括:发送端根据第二目标路径中的每条路径的第一部分路径的路径状态参数在第二目标路径中选择出第三目标路径;该情况下,步骤605在具体实现可以包括:发送端将第三目标路径确定为发送待发送数据的路径。Optionally, the path state parameter of the path is not the path state parameter of the first part of the path. Before the step 605, the method may further include: the path of the first part of the path of each path in the second target path by the sending end. The state parameter selects the third target path in the second target path. In this case, the step 605 may include: the sending end determines the third target path as the path for sending the data to be sent.
一种情况下,发送端中可以维护路径的第一部分路径的路径状态表,接收端中可以维护路径的总路径的路径状态表,该情况下,参见图2,若有w个发送端,v个接收端,那么接收端中需要维护w〃i个路径状态参数,发送端中仅需要维护i个路径状态参数,而若采用现有技术中的方法,发送端需要维护v〃i个路径状态参数,接收端中需要维护w〃i个路径状态参数,因此,该情况下,本发明实施例中发送端需要维护数据个数更少。In one case, the path state table of the path of the first part of the path can be maintained in the sending end, and the path state table of the total path of the path can be maintained in the receiving end. In this case, refer to FIG. 2, if there are w sending ends, v For the receiving end, the receiving end needs to maintain w〃i path state parameters, and only one path state parameter needs to be maintained in the transmitting end, and if the method in the prior art is used, the transmitting end needs to maintain v〃i path states. For the parameter, the path state parameter needs to be maintained in the receiving end. Therefore, in this case, the number of data to be maintained by the transmitting end in the embodiment of the present invention is less.
另一种情况下,发送端中可以维护路径的第一部分路径的路径状态表,接收端中可以维护路径的第二部分路径的路径状态表,该情况下,参见图2,接收端和发送端均需要维护i个路径状态参数,与现有技术相比,发送端和接收端维护的数据个数都更少。In another case, the path state table of the path of the first part of the path can be maintained in the sending end, and the path state table of the path of the second part of the path can be maintained in the receiving end. In this case, refer to FIG. 2, the receiving end and the transmitting end. Both path state parameters need to be maintained. Compared with the prior art, the number of data maintained by the sender and the receiver is less.
在上述情况下,发送端在确定第二目标路径后,还可以结合路径的第一部分路径的路径状态参数在第二目标路径中选择出第三目标路径,将第三目标路径作为发送待发送数据的路径。从而充分的结合整条路径的路径状态对路径进行选择。In the above case, after determining the second target path, the transmitting end may also select the third target path in the second target path according to the path state parameter of the first partial path of the path, and use the third target path as the data to be sent. path of. Thereby, the path is selected by fully combining the path states of the entire path.
需要说明的是,发送端中维护的第一部分路径的路径状态参数中的参数和接收端中维护的路径的路径状态参数中的参数可以相同,也可以不同。It should be noted that the parameters in the path state parameter of the first partial path maintained in the sending end and the parameters in the path state parameter of the path maintained in the receiving end may be the same or different.
例如,当接收端选择m1条路径时的依据为n条路径中的每条路径的总路径的拥塞值,那么发送端为了保证传输数据的效率,可以根据m1条路径的第一部分路径的时延在m1条路径中选择时延最短的多条路径作为第三目标路径。For example, when the receiving end selects the m1 path according to the congestion value of the total path of each path in the n paths, the transmitting end may delay the first part of the path according to the m1 path in order to ensure the efficiency of transmitting the data. The plurality of paths having the shortest delay are selected as the third target path among the m1 paths.
可选的,发送端根据第二目标路径中的每条路径的第一部分路径的路径状态参数在第二目标路径中选择出第三目标路径,包括:Optionally, the sending end selects the third target path in the second target path according to the path state parameter of the first partial path of each path in the second target path, including:
发送端将第二目标路径的第一部分路径的路径状态参数中的路径状态参数满足第一条件的路径状态参数对应的路径确定为第三目标路径,路径状态参数满足第一条件是指路径状态参数中的各个参数均满足各自对应的第一条件,一个参数对应一个第一条件,一个第一条件包含一个第一阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第一条件是指该参数的值大于或等于对应的第一条件中包含的第一阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应 的第一条件是指该参数的值小于或等于对应的第一条件中包含的第一阈值。The transmitting end determines, as the third target path, the path corresponding to the path state parameter in the path state parameter of the first partial path of the second target path that satisfies the first condition, and the path state parameter satisfies the first condition, and refers to the path state parameter. Each of the parameters meets the corresponding first condition, one parameter corresponds to a first condition, and a first condition includes a first threshold; when the value of a parameter is larger, indicating that the path state of the path is better, the parameter Satisfying the corresponding first condition means that the value of the parameter is greater than or equal to the first threshold included in the corresponding first condition; when the value of a parameter is smaller, indicating that the path state of the path is better, the parameter satisfies the corresponding The first condition is that the value of the parameter is less than or equal to the first threshold included in the corresponding first condition.
示例性的,当第二目标路径为m1条路径、路径状态参数包括拥塞值和时延时,若一个参数的值越小,表明路径的路径状态越好,发送端可以将m1条路径中的拥塞值和时延均小于或等于各自对应的第一阈值的路径确定为第三目标路径。例如,拥塞值对应的第一阈值可以为50%,时延对应的第一阈值可以为50us。Exemplarily, when the second target path is m1 paths, the path state parameters include a congestion value and a time delay. If the value of a parameter is smaller, indicating that the path state of the path is better, the transmitting end may be in the m1 path. A path in which both the congestion value and the delay are less than or equal to the respective first thresholds is determined as the third target path. For example, the first threshold corresponding to the congestion value may be 50%, and the first threshold corresponding to the delay may be 50 us.
可选的,上述方法还包括:Optionally, the foregoing method further includes:
31)在发送端接收接收端发送的第一指示消息之前,发送端将n条路径的第一部分路径的路径状态参数中的路径状态参数满足第二条件的路径状态参数对应的路径确定为m2条路径。31) Before the transmitting end receives the first indication message sent by the receiving end, the sending end determines, as the m2 strip, the path corresponding to the path state parameter that satisfies the second condition in the path state parameter of the first partial path of the n paths. path.
其中,路径状态参数满足第二条件是指路径状态参数中的各个参数均满足各自对应的第二条件,一个参数对应一个第二条件,一个第二条件包含一个第二阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第二条件是指该参数的值大于或等于对应的第二条件中包含的第二阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第二条件是指该参数的值小于或等于对应的第二条件中包含的第二阈值。Wherein, the path state parameter satisfies the second condition that each parameter in the path state parameter satisfies a corresponding second condition, one parameter corresponds to a second condition, and a second condition includes a second threshold; when a parameter value The larger the value indicates the better the path state of the path, the parameter satisfies the corresponding second condition, which means that the value of the parameter is greater than or equal to the second threshold included in the corresponding second condition; when the value of a parameter is smaller, it indicates When the path state of the path is better, the parameter satisfies the corresponding second condition, that is, the value of the parameter is less than or equal to the second threshold included in the corresponding second condition.
需要说明的是,当一个参数的值越大,表明路径的路径状态越好时,同一个参数对应的第二阈值可以大于第一阈值,当一个参数的值越小,表明路径的路径状态越好时,同一个参数对应的第二阈值可以小于第一阈值。It should be noted that when the value of a parameter is larger, indicating that the path state of the path is better, the second threshold corresponding to the same parameter may be greater than the first threshold. When the value of a parameter is smaller, the path state of the path is more When it is good, the second threshold corresponding to the same parameter may be smaller than the first threshold.
32)发送端向接收端发送第二指示消息,第二指示消息中包括用于指示m2条路径的信息。32) The sending end sends a second indication message to the receiving end, where the second indication message includes information for indicating the m2 paths.
33)接收端接收发送端发送的第二指示消息。33) The receiving end receives the second indication message sent by the sending end.
34)接收端根据第二指示消息确定m2条路径,m2条路径属于n条路径。34) The receiving end determines m2 paths according to the second indication message, and the m2 paths belong to n paths.
该情况下,若第一目标路径包括m1条路径,步骤601在具体实现时可以包括:In this case, if the first target path includes m1 paths, step 601 may include:
41)接收端将n条路径的第一路径的路径状态参数中的路径状态参数满足第三条件的路径状态参数对应的路径确定为m11条路径。41) The receiving end determines, as the m11 paths, the path corresponding to the path state parameter in which the path state parameter of the path of the first path of the n paths meets the third condition.
其中,第一路径不为第一部分路径。The first path is not the first part path.
路径状态参数满足第三条件是指路径状态参数中的各个参数均满足各自对应的第三条件,一个参数对应一个第三条件,一个第三条件包含一个第三阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第三条件是指该参数的值大于或等于对应的第三条件中包含的第三阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第三条件是指该参数的值小于或等于对应的第三条件中包含的第三阈值。The path state parameter satisfies the third condition, that is, each parameter in the path state parameter satisfies a corresponding third condition, one parameter corresponds to a third condition, and a third condition includes a third threshold; when the value of one parameter is larger If the path state of the path is better, the parameter satisfies the corresponding third condition, that is, the value of the parameter is greater than or equal to the third threshold included in the corresponding third condition; when the value of a parameter is smaller, the path is indicated. When the path state is better, the parameter satisfies the corresponding third condition, that is, the value of the parameter is less than or equal to the third threshold included in the corresponding third condition.
42)接收端将m2条路径的第一路径的路径状态参数中的路径状态参数满足第四条件的路径状态参数对应的路径确定为m12条路径。42) The receiving end determines, as the m12 paths, the path corresponding to the path state parameter that satisfies the fourth condition in the path state parameter of the first path of the m2 path.
其中,路径状态参数满足第四条件是指路径状态参数中的各个参数均满足各自对应的第四条件,一个参数对应一个第四条件,一个第四条件包含一个第四阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第四条件是指该参数的值大于或等于对应的第四条件中包含的第四阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第四条件是指该参数的值小于或等于对应的 第四条件中包含的第四阈值。Wherein, the path state parameter satisfies the fourth condition, that is, each parameter in the path state parameter satisfies a corresponding fourth condition, one parameter corresponds to a fourth condition, and a fourth condition includes a fourth threshold; when a parameter value The larger the value indicates the better the path state of the path, the parameter satisfies the corresponding fourth condition, which means that the value of the parameter is greater than or equal to the fourth threshold included in the corresponding fourth condition; when the value of a parameter is smaller, indicating If the path state of the path is better, the parameter satisfies the corresponding fourth condition, that is, the value of the parameter is less than or equal to the corresponding The fourth threshold included in the fourth condition.
43)接收端将m11条路径和m12条路径确定为m1条路径。43) The receiving end determines m11 paths and m12 paths as m1 paths.
需要说明的是,当一个参数的值越大,表明路径的路径状态越好时,同一个参数对应的第三阈值可以大于第四阈值,当一个参数的值越小,表明路径的路径状态越好时,同一个参数对应的第三阈值可以小于第四阈值。It should be noted that when the value of a parameter is larger, indicating that the path state of the path is better, the third threshold corresponding to the same parameter may be greater than the fourth threshold. When the value of a parameter is smaller, the path state of the path is more When it is good, the third threshold corresponding to the same parameter may be smaller than the fourth threshold.
该情况下,发送端和接收端之间可以协商确定最终使用的路径,对于一方确定的路径,另一方采用相对宽松的条件去选择。例如,当一个参数的值越小,表明路径的路径状态越好时,对于发送端选择的m2条路径,接收端采用第四阈值在其中选择出m12条路径,由于第四阈值大于第三阈值,因此,在m2条路径中选择m12条路径的条件相对宽松,从而充分的满足发送端和接收端各自的需求。In this case, the final used path can be negotiated between the transmitting end and the receiving end, and the other side adopts a relatively loose condition to select the path determined by one side. For example, when the value of a parameter is smaller, indicating that the path state of the path is better, for the m2 path selected by the transmitting end, the receiving end selects the m12 path by using the fourth threshold, because the fourth threshold is greater than the third threshold. Therefore, the condition for selecting the m12 paths in the m2 paths is relatively loose, so that the respective requirements of the transmitting end and the receiving end are sufficiently satisfied.
其中,第一指示消息和第二指示消息中可以通过携带路径的编号或ID对需要指示的路径进行指示。The path indicating the indication may be indicated by the number or ID of the carrying path in the first indication message and the second indication message.
可选的,在步骤605之后,上述方法还可以包括:发送端根据发送待发送数据的路径发送待发送数据。相应的,接收端在这些路径上接收发送端发送的数据。Optionally, after the step 605, the method may further include: sending, by the sending end, the data to be sent according to the path for sending the data to be sent. Correspondingly, the receiving end receives the data sent by the transmitting end on these paths.
具体的,发送端可以通过方式一、方式二和方式三中的任意一种方式根据发送待发送数据的路径发送待发送数据:Specifically, the sending end may send the to-be-sent data according to the path of sending the to-be-sent data in any one of the first mode, the second mode, and the third mode:
方式一、发送端在发送待发送数据的路径中选择一条路径,并在该条路径上发送待发送数据。Manner 1: The transmitting end selects a path in the path for sending data to be sent, and sends data to be sent on the path.
该情况下,发送端可以随机或采用预设算法(例如,哈希算法)在发送待发送数据的路径中选择一条路径发送待发送数据,也可以采用其他预设的规则在发送待发送数据的路径中选择一条路径发送待发送数据。In this case, the transmitting end may select one path to send the data to be sent in the path for sending the data to be sent, or may use other preset rules to send the data to be sent, using a preset algorithm (for example, a hash algorithm). Select a path in the path to send data to be sent.
方式二、发送端将待发送数据进行切分得到x个数据块,并在发送待发送数据的路径中包括的路径上分别发送x个数据块,x的值与发送待发送数据的路径中包括的路径个数相等。In the second manner, the transmitting end divides the data to be sent into x data blocks, and sends x data blocks respectively on the path included in the path for sending the data to be sent, where the value of x and the path for sending the data to be sent are included. The number of paths is equal.
该情况下,发送待发送数据的路径中的一条路径用于发送x个数据块中的一个数据块。In this case, one of the paths for transmitting data to be transmitted is used to transmit one of the x data blocks.
方式二在具体实现时还可以为:发送端确定发送待发送数据的路径中的所有路径的时延;发送端将待发送数据进行切分得到x个数据块,并在发送待发送数据的路径中包括的路径上分别发送x个数据块,发送待发送数据的路径中包括的路径中的时延越小的路径用于发送x个数据块中的发送端越早接收到的数据块。In the specific implementation, the method may be: the sending end determines the delay of all the paths in the path for sending the data to be sent; the sending end severifies the data to be sent to obtain x data blocks, and sends the path of the data to be sent. The x data blocks are respectively transmitted on the path included in the path, and the smaller the delay in the path included in the path for transmitting the data to be transmitted is used to transmit the data block received earlier by the transmitting end in the x data blocks.
在路由器中,当交换网对称(此时,i条路径上的时延近似相等)的情况下,通过在i条路径上采用轮询方式发送数据可以使得交换网负载均匀,路径无阻塞。为了提高路由器的性能,Scale Out(横向扩展)路由器架构被提出,Scale Out路由器架构中通过将一堆低性能的单板通过堆叠而使得路由器的整体达到很高的性能。在Scale Out路由器架构中,对各个单板的摆放没有约束,从而使得交换网不对称,交换网不对称的一方面体现在每条路径上的光纤长度可能不一致,从而导致每条路径的时延可能不一致,交换网不对称的另一方面体现在各个单板的负载不均匀,这是由于Scale Out路由器架构中是采用分布式算法获取和处理数据的。此时,若采用轮询方式发送数据,各个报文在路径中传输的时间不一致,导致到达下行单板的报文乱序的可能性是很大 的,报文乱序时,下行单板需要将乱序的报文进行重排序后才能发送出去,从而导致下行单板中需要较大的重排序缓存(buffer)。In a router, when the switching network is symmetric (in this case, the delays on the i paths are approximately equal), the data is transmitted in a polling manner on the i paths to make the switching network load uniform and the path non-blocking. In order to improve the performance of the router, the Scale Out router architecture is proposed. The Scale Out router architecture achieves high performance of the router as a whole by stacking a stack of low-performance boards. In the Scale Out router architecture, there is no constraint on the placement of each board, which makes the switching network asymmetric. On the one hand, the asymmetry of the switching network is reflected in the length of the fiber on each path may be inconsistent, resulting in the time of each path. The delay may be inconsistent. On the other hand, the asymmetricity of the switching network is reflected in the uneven load of each board. This is because the Scale Out router architecture uses distributed algorithms to acquire and process data. In this case, if the data is sent in the polling mode, the time of each packet in the path is inconsistent. If the packets are out of order, the downstream board needs to reorder the out-of-order packets before sending them out. As a result, a large reorder buffer (buffer) is required in the downstream board.
该情况下,通过采用方式二发送数据,可以使得时延越小的路径用于发送发送端越早接收到的数据块,这样在下行单板接收到数据块后,数据块中的报文不会乱序,并且,这些数据块乱序的可能性也是极小的,那么下行单板就可以每接收到数据块中的一个报文后就将该报文发送出去,而不用将这些报文存储下来,可以大大的减小下行单板中需要的重排序缓存。In this case, by using the mode 2 to send data, the path with the smaller delay is used to send the data block received by the sending end, so that the packet in the data block is not received after the downlink board receives the data block. It will be out of order, and the possibility of these data blocks being out of order is also very small, then the downstream board can send the message every time a message in the data block is received, without using these messages. Storage can greatly reduce the reordering cache required in the downstream board.
另外,在Scale Out路由器架构中,若一个负载已经很高的单板(或交换网芯片)继续处理数据,且处理的数据量超过了该单板(或交换网芯片)的处理能力,就会出现丢包的情况。本发明实施例中可以根据路径的负载选择路径,该情况下,在选择路径时,可以将负载较大的路径排除掉,从而可以有效的防止丢包的情况出现,提高数据传输的可靠性。In addition, in the Scale Out router architecture, if a board (or switching network chip) with a high load continues to process data, and the amount of processed data exceeds the processing capacity of the board (or switching network chip), There is a packet loss situation. In the embodiment of the present invention, the path can be selected according to the load of the path. In this case, when the path is selected, the path with a larger load can be excluded, thereby effectively preventing the occurrence of packet loss and improving the reliability of data transmission.
方式三、发送端将待发送数据进行切分得到若干个数据块,并在发送待发送数据的路径中包括的所有路径上轮询发送若干个数据块。Manner 3: The transmitting end shards the data to be sent to obtain a plurality of data blocks, and polls and sends a plurality of data blocks on all paths included in the path for transmitting the data to be transmitted.
本发明实施例经过切分得到的数据块可以包括一个信元或一个报文或多个报文,本发明实施例对此不做具体限定。The data block obtained by the severing in the embodiment of the present invention may include one cell or one packet or a plurality of packets, which is not specifically limited in this embodiment of the present invention.
另外,在本发明实施例中,发送端还可以向接收端发送数据请求消息,数据请求消息用于向接收端请求发送数据,数据请求消息包括发送端请求发送的数据量,该情况下,第二指示消息可以与数据请求消息为同一消息。具体的,当发送端为上行单板,接收端为下行单板时,数据请求消息可以为Request信令。In addition, in the embodiment of the present invention, the sending end may further send a data request message to the receiving end, where the data request message is used to request sending data to the receiving end, where the data request message includes the amount of data requested by the sending end, in this case, The second indication message can be the same message as the data request message. Specifically, when the sending end is an uplink board and the receiving end is a downlink board, the data request message may be Request signaling.
示例性的,如表4所示,数据请求消息中可以包括发送端ID,接收端ID,请求发送的数据量,m2(表4中以m2=4为例进行说明)条路径的路径ID。Exemplarily, as shown in Table 4, the data request message may include a sender ID, a receiver ID, a quantity of data to be sent, and m2 (in the example of m2=4 in Table 4) a path ID of the path.
表4Table 4
Figure PCTCN2017109303-appb-000003
Figure PCTCN2017109303-appb-000003
接收端接收到多个发送端发送的数据请求消息之后,可以根据自身的处理能力为每个发送端分配允许发送的数据量,并将允许发送的数据量信息包含在响应消息中向对应的发送端返回,该情况下,第一指示消息可以和响应消息为同一消息。具体的,当发送端为上行单板,接收端为下行单板时,响应消息可以为Grant信令。After receiving the data request message sent by multiple sending ends, the receiving end may allocate the amount of data that is allowed to be sent to each transmitting end according to its processing capability, and include the data amount information that is allowed to be sent in the response message to be correspondingly sent. The terminal returns, in which case the first indication message can be the same message as the response message. Specifically, when the sending end is an uplink board and the receiving end is a downlink board, the response message may be Grant signaling.
示例性的,如表5所示,响应消息中可以包括发送端ID,接收端ID,允许发送端发送的数据量,以及m1(表5中以m1=2为例进行说明)条路径的路径ID。Exemplarily, as shown in Table 5, the response message may include a sender ID, a receiver ID, an amount of data allowed to be sent by the sender, and a path of m1 (in the example of m1=2 in Table 5) ID.
表5table 5
Figure PCTCN2017109303-appb-000004
Figure PCTCN2017109303-appb-000004
需要说明的是,由于接收端为发送端分配的数据的数据量与发送端请求发送的数据量不一定相同,因此,接收端可以多次发送响应消息,用于指示发送端一次发送的数据量和发送该次发送的数据所使用的路径。 It should be noted that, because the data amount of the data allocated by the receiving end to the transmitting end is not necessarily the same as the amount of data sent by the sending end, the receiving end may send a response message multiple times to indicate the amount of data sent by the sending end at a time. And the path used to send the data sent this time.
本发明实施例中以上述方法应用在路由器中为例对上述方法进行示例性说明,在该示例中,接收端仅根据路径的路径状态参数中的负载选择路径,如图7所示,该方法包括:In the embodiment of the present invention, the foregoing method is exemplified by using the foregoing method in a router. In this example, the receiving end only selects a path according to the load in the path state parameter of the path, as shown in FIG. 7 . include:
701、发送端将n条路径的第一部分路径的拥塞值小于或等于第二阈值的路径确定为m2条路径。701. The transmitting end determines, as the m2 paths, paths in which the congestion value of the first part of the path of the n paths is less than or equal to the second threshold.
n条路径为发送端和接收端之间的路径。The n paths are paths between the transmitting end and the receiving end.
具体的,发送端中可以存储有n条路径的第一部分路径的拥塞值,n条路径的第一部分路径的拥塞值可以由发送端自己获取,示例性的,假设n=7,每条路径的第一部分路径的拥塞值如表6所示。若第二阈值为20%,则m2条路径包括路径3和路径4。Specifically, the congestion value of the first part of the path of the n paths may be stored in the sending end, and the congestion value of the path of the first part of the n paths may be obtained by the sending end itself, for example, assuming n=7, each path The congestion value of the first part of the path is shown in Table 6. If the second threshold is 20%, the m2 paths include path 3 and path 4.
表6Table 6
Figure PCTCN2017109303-appb-000005
Figure PCTCN2017109303-appb-000005
702、发送端向接收端发送Request信令,Request信令中包括发送端向接收端请求发送的数据量和m2条路径的编号。702. The sending end sends the request signaling to the receiving end, where the request signaling includes the amount of data that the sending end requests to send to the receiving end and the number of the m2 path.
703、接收端接收发送端发送的Request信令,根据Request信令确定m2条路径,并为发送端分配允许发送的数据量。703. The receiving end receives the Request signaling sent by the sending end, determines the m2 path according to the Request signaling, and allocates the amount of data allowed to be sent to the sending end.
704、接收端将n条路径中的、负载小于或等于第三阈值的路径确定为m11条路径。704. The receiving end determines, in the n paths, a path whose load is less than or equal to a third threshold as m11 paths.
具体的,接收端中可以存储有n条路径的负载,示例性的,基于表6所述的示例,n条路径的负载如表7所示,若第三阈值为10%,则m11条路径包括路径0和路径1。Specifically, the load of the n paths may be stored in the receiving end. For example, based on the example described in Table 6, the load of the n paths is as shown in Table 7. If the third threshold is 10%, the m11 paths are Includes path 0 and path 1.
表7Table 7
Figure PCTCN2017109303-appb-000006
Figure PCTCN2017109303-appb-000006
705、接收端将m2条路径中的、负载小于或等于第四阈值的路径确定为m12条路径。705. The receiving end determines, as the m12 paths, a path in the m2 path that has a load less than or equal to a fourth threshold.
示例性的,基于表7所述的示例,若第四阈值为30%,则m12条路径包括路径3。Exemplarily, based on the example described in Table 7, if the fourth threshold is 30%, the m12 paths include path 3.
706、接收端将m11条路径和m12条路径确定为m1条路径。706. The receiving end determines the m11 path and the m12 path as the m1 path.
707、接收端向发送端反馈Grant信令,Grant信令中包括m1条路径的编号和允许发送端发送的数据量信息。707. The receiving end feeds back the Grant signaling to the sending end, where the Grant signaling includes the number of the m1 path and the data amount information that is allowed to be sent by the sending end.
708、发送端接收接收端发送的Grant信令,获取m1条路径和发送端允许发送的数据量。708. The sender receives the Grant signaling sent by the receiving end, and obtains the m1 path and the amount of data that the sending end allows to send.
709、发送端将m1条路径的第一部分路径的拥塞值小于或等于第一阈值的路径确定为第三目标路径。709. The sending end determines, as the third target path, a path that the congestion value of the first part of the path of the m1 path is less than or equal to the first threshold.
示例性的,基于表6的示例,若第一阈值为40%,第三目标路径包括路径0和路径3。Exemplarily, based on the example of Table 6, if the first threshold is 40%, the third target path includes path 0 and path 3.
710、发送端根据第三目标路径向接收端发送待发送数据,待发送数据的数据量不大于允许发送端发送的数据量。710. The sending end sends, to the receiving end, the data to be sent according to the third target path, where the data volume of the data to be sent is not greater than the amount of data that is allowed to be sent by the sending end.
步骤710在具体实现时可以参见上文,在此不再赘述。 Step 710 can be referred to above in the specific implementation, and details are not described herein again.
该实施例中,接收端仅仅根据路径的负载确定发送端使用的路径,发送端还可以根据路径的第一部分路径的拥塞值选择路径,这样可以防止由于某个出口的当前队列深度太深而影响数据发送的效率。In this embodiment, the receiving end only determines the path used by the transmitting end according to the load of the path, and the transmitting end may also select the path according to the congestion value of the path of the first part of the path, so as to prevent the current queue depth of an exit from being too deep. The efficiency of data transmission.
上述主要从方法的角度对本发明实施例提供的方案进行了介绍。可以理解的是,本发明方法实施例中的发送端和接收端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件单元。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。The foregoing provides an introduction to the solution provided by the embodiments of the present invention from the perspective of a method. It can be understood that the transmitting end and the receiving end in the embodiment of the method of the present invention include corresponding hardware structures and/or software units for performing the respective functions in order to implement the above functions. Those skilled in the art will readily appreciate that the present invention can be implemented in a combination of hardware or hardware and computer software in combination with the elements and algorithm steps of the various examples described in the embodiments disclosed herein. Whether a function is implemented in hardware or computer software to drive hardware depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
本发明实施例可以根据上述方法实施例对发送端和接收端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。The embodiment of the present invention may divide the functional unit by the sending end and the receiving end according to the foregoing method embodiment. For example, each functional unit may be divided according to each function, or two or more functions may be integrated into one processing unit. . The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. It should be noted that the division of the unit in the embodiment of the present invention is schematic, and is only a logical function division, and the actual implementation may have another division manner.
图8示出了上述实施例中所涉及的发送端的一种可能的结构示意图,该发送端80包括接收单元801和确定单元802。FIG. 8 shows a possible structural diagram of a transmitting end involved in the above embodiment, and the transmitting end 80 includes a receiving unit 801 and a determining unit 802.
接收单元801,用于接收接收端发送的第一指示消息;The receiving unit 801 is configured to receive a first indication message sent by the receiving end.
确定单元802,用于根据第一指示消息确定第一目标路径,第一目标路径为接收端根据n条路径中的每条路径的路径状态参数在n条路径中确定出的路径,第一目标路径包括允许发送端使用的m1条路径和/或禁止发送端使用的s条路径,m1条路径和s条路径中不存在相同的路径,n条路径为接收端与发送端之间的路径,路径状态参数包括以下参数中的至少一种:负载、拥塞值、时延和待接收数据量,n为大于1的整数,m1、s均为大于0小于等于n的整数、且m1与s之和小于等于n;The determining unit 802 is configured to determine, according to the first indication message, the first target path, where the first target path is a path determined by the receiving end in the n paths according to the path state parameter of each path of the n paths, the first target The path includes the m1 path that is allowed to be used by the sending end and/or the s path that is prohibited by the sending end. The m1 path and the s path do not have the same path, and the n paths are paths between the receiving end and the transmitting end. The path state parameter includes at least one of the following parameters: load, congestion value, delay, and amount of data to be received, n is an integer greater than 1, m1, s are integers greater than 0 and less than or equal to n, and m1 and s And less than or equal to n;
当第一目标路径包括m1条路径或者第一目标路径包括m1条路径和s条路径时,确定单元802,还用于将m1条路径确定为第二目标路径;When the first target path includes m1 paths or the first target path includes m1 paths and s paths, the determining unit 802 is further configured to determine the m1 paths as the second target path;
当第一目标路径包括s条路径时,确定单元802,还用于将n条路径中的除s条路径之外的其他路径确定为第二目标路径;When the first target path includes s paths, the determining unit 802 is further configured to determine other paths than the s paths among the n paths as the second target path;
确定单元802,还用于将第二目标路径确定为发送待发送数据的路径。The determining unit 802 is further configured to determine the second target path as a path for transmitting data to be sent.
可选的,路径的路径状态参数为路径的总路径的路径状态参数、路径的第一部分路径的路径状态参数或路径的第二部分路径的路径状态参数,总路径包括路径中的全部子路径,第一部分路径为总路径中的一部分、且包括总路径中的以发送端为起始节点的子路径,第二部分路径为总路径中的一部分、且包括总路径中的以接收端为结束节点的子路径,总路径中的一条子路径为总路径中的相邻节点之间的路径,一条子路径的起始节点是指构成该子路径的相邻节点中的发送数据的节点,一条子路径的结束节点是指构成该子路径的相邻节点中的接收数据的节点。Optionally, the path state parameter of the path is a path state parameter of the total path of the path, a path state parameter of the path of the first part of the path, or a path state parameter of the path of the second part of the path, and the total path includes all subpaths in the path, The first part of the path is a part of the total path, and includes a sub-path with the transmitting end as the starting node in the total path, the second part of the path is a part of the total path, and includes the receiving end as the ending node in the total path. a sub-path, a sub-path in the total path is a path between adjacent nodes in the total path, and a starting node of a sub-path refers to a node transmitting data in a neighboring node constituting the sub-path, one sub-path The end node of the path refers to a node that receives data in the adjacent nodes constituting the sub path.
可选的,路径的路径状态参数不为路径的第一部分路径的路径状态参数,如图9所示,发送端80还包括选择单元803:选择单元803,用于根据第二目标路径中的每条路径的第一部分路径的路径状态参数在第二目标路径中选择出第三目标路径;确定 单元802,具体用于将第三目标路径确定为发送待发送数据的路径。Optionally, the path state parameter of the path is not the path state parameter of the first part of the path. As shown in FIG. 9, the sending end 80 further includes a selecting unit 803: a selecting unit 803, configured to use each of the second target paths. The path state parameter of the first partial path of the strip path selects the third target path in the second target path; The unit 802 is specifically configured to determine the third target path as a path for sending data to be sent.
可选的,发送端80还包括发送单元804;发送单元804,用于根据发送待发送数据的路径发送待发送数据。Optionally, the sending end 80 further includes a sending unit 804, and the sending unit 804 is configured to send the to-be-sent data according to the path for sending the data to be sent.
可选的,选择单元803,还用于在发送待发送数据的路径中选择一条路径,发送单元804,具体用于在该条路径上发送待发送数据;或者,Optionally, the selecting unit 803 is further configured to select a path in the path for sending the data to be sent, and the sending unit 804 is specifically configured to send the data to be sent on the path; or
发送端80还包括切分单元805,用于将待发送数据进行切分得到x个数据块,发送单元804,具体用于在发送待发送数据的路径中包括的路径上分别发送x个数据块,x的值与发送待发送数据的路径中包括的路径个数相等;或者,The sending end 80 further includes a sharding unit 805, configured to sever the data to be sent to obtain x data blocks, and the sending unit 804 is configured to separately send x data blocks on the path included in the path for sending the data to be sent. , the value of x is equal to the number of paths included in the path for sending data to be sent; or
发送端80还包括切分单元805,用于将待发送数据进行切分得到若干个数据块,发送单元804,具体用于在发送待发送数据的路径中包括的所有路径上轮询发送若干个数据块。The sending end 80 further includes a sharding unit 805, configured to sever the data to be sent to obtain a plurality of data blocks, and the sending unit 804 is specifically configured to: send and send several times on all paths included in the path for sending the data to be sent. data block.
可选的,确定单元802,还用于确定发送待发送数据的路径中的所有路径的时延;Optionally, the determining unit 802 is further configured to determine a delay of all paths in the path for sending data to be sent;
切分单元805,具体用于将待发送数据进行切分得到x个数据块,发送单元804,具体用于在发送待发送数据的路径中包括的路径上分别发送x个数据块,发送待发送数据的路径中包括的路径中的时延越小的路径用于发送x个数据块中的发送端越早接收到的数据块。The splitting unit 805 is specifically configured to perform sharding of the data to be sent to obtain x data blocks, and the sending unit 804 is configured to separately send x data blocks on the path included in the path for sending the data to be sent, and send the data block to be sent. The path with less delay in the path included in the path of the data is used to transmit the data block received earlier by the transmitting end in the x data blocks.
可选的,当一条路径的路径状态参数至少包括拥塞值时,发送单元804,还用于在该路径上向接收端发送探测报文,探测报文用于探测该路径的拥塞值,该路径的拥塞值为该路径包含的子路径的拥塞值中的最大值或该路径包含的子路径的拥塞值之和;一个子路径的拥塞值为该子路径的起始节点的用于传输探测报文的至少一个队列的队列拥塞值之和或至少一个队列的队列拥塞值中的最大值;一个队列的队列拥塞值为该队列的当前队列深度,或者,该队列的当前队列深度和预设值之比。Optionally, when the path state parameter of a path includes at least a congestion value, the sending unit 804 is further configured to send a probe packet to the receiver on the path, where the probe packet is used to detect a congestion value of the path, where the path is The congestion value is the maximum of the congestion values of the sub-paths included in the path or the sum of the congestion values of the sub-paths included in the path; the congestion value of one sub-path is used to transmit the probes of the start nodes of the sub-paths. The sum of the queue congestion values of at least one queue of the text or the maximum of the queue congestion values of at least one queue; the queue congestion value of one queue is the current queue depth of the queue, or the current queue depth and preset value of the queue Ratio.
可选的,选择单元803,具体用于:Optionally, the selecting unit 803 is specifically configured to:
将第二目标路径的第一部分路径的路径状态参数中的路径状态参数满足第一条件的路径状态参数对应的路径确定为第三目标路径,路径状态参数满足第一条件是指路径状态参数中的各个参数均满足各自对应的第一条件,一个参数对应一个第一条件,一个第一条件包含一个第一阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第一条件是指该参数的值大于或等于对应的第一条件中包含的第一阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第一条件是指该参数的值小于或等于对应的第一条件中包含的第一阈值。Determining, as the third target path, a path corresponding to the path state parameter in the path state parameter of the first partial path of the second target path that satisfies the first condition, and the path state parameter satisfying the first condition is in the path state parameter Each parameter satisfies a corresponding first condition, one parameter corresponds to a first condition, and a first condition includes a first threshold; when the value of a parameter is larger, indicating that the path state of the path is better, the parameter satisfies the corresponding The first condition is that the value of the parameter is greater than or equal to the first threshold included in the corresponding first condition; when the value of a parameter is smaller, indicating that the path state of the path is better, the parameter satisfies the corresponding first condition. It means that the value of the parameter is less than or equal to the first threshold included in the corresponding first condition.
可选的,选择单元803,还用于将n条路径的第一部分路径的路径状态参数中的路径状态参数满足第二条件的路径状态参数对应的路径确定为m2条路径,路径状态参数满足第二条件是指路径状态参数中的各个参数均满足各自对应的第二条件,一个参数对应一个第二条件,一个第二条件包含一个第二阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第二条件是指该参数的值大于或等于对应的第二条件中包含的第二阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第二条件是指该参数的值小于或等于对应的第二条件中包含的第二阈值;Optionally, the selecting unit 803 is further configured to determine, as the m2 path, the path corresponding to the path state parameter in the path state parameter of the first partial path of the n paths that meets the second condition, where the path state parameter meets the The second condition means that each parameter in the path state parameter satisfies the corresponding second condition, one parameter corresponds to a second condition, and a second condition includes a second threshold; when the value of one parameter is larger, the path of the path is indicated When the state is better, the parameter satisfies the corresponding second condition, that is, the value of the parameter is greater than or equal to the second threshold included in the corresponding second condition; when the value of one parameter is smaller, the path state of the path is better. The parameter satisfies the corresponding second condition, that is, the value of the parameter is less than or equal to the second threshold included in the corresponding second condition;
发送单元804,还用于向接收端发送第二指示消息,第二指示消息中包括用于指 示m2条路径的信息。The sending unit 804 is further configured to send a second indication message to the receiving end, where the second indication message includes Shows the information of the m2 path.
其中,接收单元801可以为接收器,发送单元804可以为发送器,接收单元801和发送单元804也可以为通信接口。确定单元802、选择单元803和切分单元805可以为控制器或处理器。The receiving unit 801 can be a receiver, the sending unit 804 can be a transmitter, and the receiving unit 801 and the sending unit 804 can also be a communication interface. The determining unit 802, the selecting unit 803, and the slicing unit 805 may be controllers or processors.
当接收单元801为接收器,发送单元804为发送器,确定单元802、选择单元803和切分单元805可以为处理器时,本发明实施例所涉及的发送端可以为图4所示的发送端40,该情况下,存储器404中存储计算机执行指令,处理器403根据该计算机执行指令实现上述方法,发送器401和接收器402在处理器403的控制下执行上述方法中的对应的动作。When the receiving unit 801 is a receiver, the sending unit 804 is a transmitter, and the determining unit 802, the selecting unit 803, and the splitting unit 805 can be a processor, the transmitting end of the embodiment of the present invention may be the sending shown in FIG. The terminal 40, in this case, stores a computer execution instruction in the memory 404, and the processor 403 implements the above method according to the computer execution instruction, and the transmitter 401 and the receiver 402 perform the corresponding actions in the above method under the control of the processor 403.
发送端80中的各个单元和发送端40中的各个器件均用于实现上述方法,因此,发送端80和发送端40的有益效果可以参见上述方法的有益效果,在此不再赘述。The respective units in the transmitting end 80 and the respective devices in the transmitting end 40 are used to implement the foregoing method. Therefore, the beneficial effects of the transmitting end 80 and the transmitting end 40 can be seen in the beneficial effects of the foregoing method, and details are not described herein again.
图10示出了上述实施例中所涉及的接收端的一种可能的结构示意图,该接收端100包括:确定单元1001,用于根据n条路径中的每条路径的路径状态参数在n条路径中确定第一目标路径,第一目标路径包括允许发送端使用的m1条路径和/或禁止发送端使用的s条路径,m1条路径和s条路径中不存在相同的路径,n条路径为接收端与发送端之间的路径,路径状态参数包括以下参数中的至少一种:负载、拥塞值、时延和待接收数据量,n为大于1的整数,m1、s均为大于0小于等于n的整数、且m1与s之和小于等于n;发送单元1002,用于向发送端发送第一指示消息,第一指示消息包括第一目标路径。FIG. 10 is a schematic diagram showing a possible structure of a receiving end involved in the foregoing embodiment. The receiving end 100 includes: a determining unit 1001, configured to determine n path paths according to path state parameters of each of the n paths. Determining a first target path, where the first target path includes an m1 path allowed by the transmitting end and/or an s path prohibited by the transmitting end, and the same path does not exist in the m1 path and the s path, and the n paths are The path between the receiving end and the transmitting end, the path state parameter includes at least one of the following parameters: load, congestion value, delay, and amount of data to be received, n is an integer greater than 1, and m1 and s are both greater than 0. An integer equal to n, and the sum of m1 and s is less than or equal to n; the sending unit 1002 is configured to send a first indication message to the sending end, where the first indication message includes the first target path.
可选的,路径的路径状态参数为路径的总路径的路径状态参数、路径的第一部分路径的路径状态参数或路径的第二部分路径的路径状态参数,总路径包括路径中的全部子路径,第一部分路径为总路径中的一部分、且包括总路径中的以发送端为起始节点的子路径,第二部分路径为总路径中的一部分、且包括总路径中的以接收端为结束节点的子路径,总路径中的一条子路径为总路径中的相邻节点之间的路径,一条子路径的起始节点是指构成该子路径的相邻节点中的发送数据的节点,一条子路径的结束节点是指构成该子路径的相邻节点中的接收数据的节点。Optionally, the path state parameter of the path is a path state parameter of the total path of the path, a path state parameter of the path of the first part of the path, or a path state parameter of the path of the second part of the path, and the total path includes all subpaths in the path, The first part of the path is a part of the total path, and includes a sub-path with the transmitting end as the starting node in the total path, the second part of the path is a part of the total path, and includes the receiving end as the ending node in the total path. a sub-path, a sub-path in the total path is a path between adjacent nodes in the total path, and a starting node of a sub-path refers to a node transmitting data in a neighboring node constituting the sub-path, one sub-path The end node of the path refers to a node that receives data in the adjacent nodes constituting the sub path.
可选的,确定单元1001,还用于:确定为一条路径分配的总数据量,该路径为n条路径中的任意一条路径;确定在该条路径上接收到的数据量;将总数据量与接收到的数据量之差确定为该路径的待接收数据量。Optionally, the determining unit 1001 is further configured to: determine a total amount of data allocated for a path, where the path is any one of the n paths; determine a quantity of data received on the path; and total amount of data The difference from the amount of data received is determined as the amount of data to be received for the path.
可选的,路径的路径状态参数为路径的第一路径的路径状态参数,第一路径不为第一部分路径,第一目标路径包括m1条路径,如图11所示,接收端100还包括接收单元1003;Optionally, the path state parameter of the path is a path state parameter of the first path of the path, the first path is not the first part path, and the first target path includes m1 paths. As shown in FIG. 11, the receiving end 100 further includes receiving. Unit 1003;
接收单元1003,用于接收发送端发送的第二指示消息;确定单元1001,还用于根据第二指示消息确定m2条路径,m2条路径属于n条路径;The receiving unit 1003 is configured to receive a second indication message sent by the sending end, where the determining unit 1001 is further configured to determine, according to the second indication message, the m2 paths, where the m2 paths belong to the n paths;
确定单元1001,具体用于将n条路径的第一路径的路径状态参数中的路径状态参数满足第三条件的路径状态参数对应的路径确定为m11条路径,路径状态参数满足第三条件是指路径状态参数中的各个参数均满足各自对应的第三条件,一个参数对应一个第三条件,一个第三条件包含一个第三阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第三条件是指该参数的值大于或等于对应的第三条 件中包含的第三阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第三条件是指该参数的值小于或等于对应的第三条件中包含的第三阈值;The determining unit 1001 is specifically configured to determine, as the m11 paths, the path corresponding to the path state parameter in which the path state parameter of the path of the first path of the n paths meets the third condition, and the path state parameter meets the third condition. Each parameter in the path state parameter satisfies a corresponding third condition, one parameter corresponds to a third condition, and a third condition includes a third threshold; when the value of one parameter is larger, indicating that the path state of the path is better If the parameter satisfies the corresponding third condition, the value of the parameter is greater than or equal to the corresponding third item. The third threshold included in the device; when the value of a parameter is smaller, indicating that the path state of the path is better, the parameter satisfies the corresponding third condition, that is, the value of the parameter is less than or equal to the corresponding third condition. Third threshold
确定单元1001,具体用于将m2条路径的第一路径的路径状态参数中的路径状态参数满足第四条件的路径状态参数对应的路径确定为m12条路径,路径状态参数满足第四条件是指路径状态参数中的各个参数均满足各自对应的第四条件,一个参数对应一个第四条件,一个第四条件包含一个第四阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第四条件是指该参数的值大于或等于对应的第四条件中包含的第四阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第四条件是指该参数的值小于或等于对应的第四条件中包含的第四阈值;The determining unit 1001 is specifically configured to determine, as the m12 paths, the path corresponding to the path state parameter that satisfies the fourth condition in the path state parameter of the first path of the m2 path, and the path state parameter meets the fourth condition. Each parameter in the path state parameter satisfies the corresponding fourth condition, one parameter corresponds to a fourth condition, and a fourth condition includes a fourth threshold; when the value of one parameter is larger, indicating that the path state of the path is better The parameter satisfies the corresponding fourth condition, that is, the value of the parameter is greater than or equal to the fourth threshold included in the corresponding fourth condition; when the value of a parameter is smaller, indicating that the path state of the path is better, the parameter is satisfied. Corresponding fourth condition means that the value of the parameter is less than or equal to the fourth threshold included in the corresponding fourth condition;
确定单元1001,具体用于将m11条路径和m12条路径确定为m1条路径。The determining unit 1001 is specifically configured to determine the m11 path and the m12 path as the m1 path.
可选的,接收单元1003,还用于:在m1条路径、m1条路径中的部分路径、n条路径中的除s条路径中的其他路径或者n条路径中的除s条路径中的其他路径中的部分路径上接收发送端发送的数据。Optionally, the receiving unit 1003 is further configured to: in the m1 paths, the partial paths in the m1 paths, the other paths in the s paths in the n paths, or the s paths in the n paths. The data sent by the sender is received on a part of the other paths.
其中,确定单元1001可以为控制器或处理器,发送单元1002可以为发送器,接收单元1003可以为接收器,发送单元1002和接收单元1003也可以为通信接口。The determining unit 1001 may be a controller or a processor, the sending unit 1002 may be a transmitter, the receiving unit 1003 may be a receiver, and the sending unit 1002 and the receiving unit 1003 may also be a communication interface.
当发送单元1002为发送器,接收单元1003为接收器,确定单元1001可以为处理器时,本发明实施例所涉及的接收端可以为图5所示的接收端50,该情况下,存储器504中存储计算机执行指令,处理器503根据该计算机执行指令实现上述方法,发送器501和接收器502在处理器503的控制下执行上述方法中的对应的动作。When the sending unit 1002 is a transmitter, the receiving unit 1003 is a receiver, and the determining unit 1001 is a processor, the receiving end of the embodiment of the present invention may be the receiving end 50 shown in FIG. 5, in this case, the memory 504 The storage computer executes the instructions, the processor 503 implements the above method according to the computer execution instructions, and the transmitter 501 and the receiver 502 perform the corresponding actions in the above method under the control of the processor 503.
接收端100中的各个单元和接收端50中的各个器件均用于实现上述方法,因此,接收端100和接收端50的有益效果可以参见上述方法的有益效果,在此不再赘述。The respective units in the receiving end 100 and the respective devices in the receiving end 50 are used to implement the above method. Therefore, the beneficial effects of the receiving end 100 and the receiving end 50 can be seen in the beneficial effects of the above method, and details are not described herein again.
本发明实施例还提供了一种确定数据传输路径的***,该***包括发送端80和接收端110,或者,该***包括发送端40和接收端50。The embodiment of the present invention further provides a system for determining a data transmission path, where the system includes a transmitting end 80 and a receiving end 110, or the system includes a transmitting end 40 and a receiving end 50.
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件单元组成,软件单元可以被存放于存储介质中,一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质中读取信息,且可向该存储介质中写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于存储设备中。The steps of a method or algorithm described in connection with the present disclosure may be implemented in a hardware, or may be implemented by a processor executing software instructions. The software instructions may be comprised of respective software units, which may be stored in a storage medium, an exemplary storage medium being coupled to the processor, such that the processor can read information from the storage medium and Write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in a storage device.
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。Those skilled in the art will appreciate that in one or more examples described above, the functions described herein can be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be stored in a computer readable medium or transmitted as one or more instructions or code on a computer readable medium. Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another. A storage medium may be any available media that can be accessed by a general purpose or special purpose computer.
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。 The specific embodiments of the present invention have been described in detail with reference to the preferred embodiments of the present invention. The scope of the protection, any modifications, equivalent substitutions, improvements, etc., which are made on the basis of the technical solutions of the present invention, are included in the scope of the present invention.

Claims (30)

  1. 一种确定数据传输路径的方法,其特征在于,包括:A method for determining a data transmission path, comprising:
    发送端接收接收端发送的第一指示消息;The sending end receives the first indication message sent by the receiving end;
    所述发送端根据所述第一指示消息确定第一目标路径,所述第一目标路径为所述接收端根据n条路径中的每条路径的路径状态参数在所述n条路径中确定出的路径,所述第一目标路径包括允许所述发送端使用的m1条路径和/或禁止所述发送端使用的s条路径,所述m1条路径和所述s条路径中不存在相同的路径,所述n条路径为所述接收端与所述发送端之间的路径,所述路径状态参数包括以下参数中的至少一种:负载、拥塞值、时延和待接收数据量,n为大于1的整数,m1、s均为大于0小于等于n的整数、且m1与s之和小于等于n;Determining, by the sending end, the first target path according to the first indication message, where the first target path is determined by the receiving end according to the path state parameter of each path of the n paths in the n paths Path, the first target path includes an m1 path that is allowed to be used by the sending end, and/or an s path that is prohibited from being used by the sending end, where the m1 path and the s path do not exist in the same path. a path, where the n paths are paths between the receiving end and the sending end, where the path state parameter includes at least one of the following parameters: load, congestion value, delay, and amount of data to be received, n For an integer greater than 1, m1, s are integers greater than 0 and less than or equal to n, and the sum of m1 and s is less than or equal to n;
    当所述第一目标路径包括所述m1条路径或者所述第一目标路径包括所述m1条路径和所述s条路径时,所述发送端将所述m1条路径确定为第二目标路径;When the first target path includes the m1 paths or the first target path includes the m1 paths and the s paths, the transmitting end determines the m1 paths as the second target path ;
    当所述第一目标路径包括所述s条路径时,所述发送端将所述n条路径中的除所述s条路径之外的其他路径确定为第二目标路径;When the first target path includes the s paths, the transmitting end determines other paths of the n paths except the s paths as the second target path;
    所述发送端将所述第二目标路径确定为发送待发送数据的路径。The transmitting end determines the second target path as a path for transmitting data to be transmitted.
  2. 根据权利要求1所述的方法,其特征在于,所述路径的路径状态参数为所述路径的总路径的路径状态参数、所述路径的第一部分路径的路径状态参数或所述路径的第二部分路径的路径状态参数,所述总路径包括所述路径中的全部子路径,所述第一部分路径为所述总路径中的一部分、且包括所述总路径中的以所述发送端为起始节点的子路径,所述第二部分路径为所述总路径中的一部分、且包括所述总路径中的以所述接收端为结束节点的子路径,所述总路径中的一条子路径为所述总路径中的相邻节点之间的路径,一条子路径的起始节点是指构成该子路径的相邻节点中的发送数据的节点,一条子路径的结束节点是指构成该子路径的相邻节点中的接收数据的节点。The method according to claim 1, wherein the path state parameter of the path is a path state parameter of a total path of the path, a path state parameter of a first partial path of the path, or a second of the path a path state parameter of a partial path, the total path including all sub-paths in the path, the first partial path being a part of the total path, and including the sender in the total path a sub-path of the start node, the second partial path is a part of the total path, and includes a sub-path in the total path with the receiving end as an end node, and one sub-path in the total path A path between adjacent nodes in the total path, a starting node of a sub-path refers to a node that transmits data in a neighboring node constituting the sub-path, and an ending node of a sub-path refers to a sub-node A node that receives data in a neighboring node of a path.
  3. 根据权利要求2所述的方法,其特征在于,所述路径的路径状态参数不为所述路径的第一部分路径的路径状态参数,在所述发送端将所述第二目标路径确定为发送待发送数据的路径之前,所述方法还包括:The method according to claim 2, wherein the path state parameter of the path is not a path state parameter of the first partial path of the path, and the second target path is determined to be sent to be sent by the transmitting end. Before sending the path of the data, the method further includes:
    所述发送端根据所述第二目标路径中的每条路径的第一部分路径的路径状态参数在所述第二目标路径中选择出第三目标路径;The transmitting end selects a third target path in the second target path according to a path state parameter of a first partial path of each path in the second target path;
    所述发送端将所述第二目标路径确定为发送待发送数据的路径,包括:所述发送端将所述第三目标路径确定为发送待发送数据的路径。The sending end determines the second target path as a path for sending data to be sent, and the sending end determines the third target path as a path for sending data to be sent.
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1 to 3, wherein the method further comprises:
    所述发送端根据所述发送待发送数据的路径发送所述待发送数据。The sending end sends the to-be-sent data according to the path for sending data to be sent.
  5. 根据权利要求4所述的方法,其特征在于,所述发送端根据所述发送待发送数据的路径发送所述待发送数据,包括:The method according to claim 4, wherein the sending end sends the data to be sent according to the path for sending data to be sent, including:
    所述发送端在所述发送待发送数据的路径中选择一条路径,并在该条路径上发送所述待发送数据;或者,The transmitting end selects a path in the path for sending data to be sent, and sends the to-be-sent data on the path; or
    所述发送端将所述待发送数据进行切分得到x个数据块,并在所述发送待发送数据的路径中包括的路径上分别发送所述x个数据块,x的值与所述发送待发送数据的路径中包括的路径个数相等;或者, Transmitting, by the sending end, the to-be-sent data to obtain x data blocks, and respectively transmitting the x data blocks on the path included in the path for sending the data to be sent, the value of x and the sending The number of paths included in the path of the data to be sent is equal; or
    所述发送端将所述待发送数据进行切分得到若干个数据块,并在所述发送待发送数据的路径中包括的所有路径上轮询发送所述若干个数据块。And sending, by the sending end, the data to be sent to obtain a plurality of data blocks, and polling and transmitting the several data blocks on all paths included in the path for sending the data to be sent.
  6. 根据权利要求5所述的方法,其特征在于,当所述发送端将所述待发送数据进行切分得到x个数据块,并在所述发送待发送数据的路径中包括的路径上分别发送所述x个数据块时,所述方法还包括:The method according to claim 5, wherein the transmitting end shards the data to be transmitted to obtain x data blocks, and sends the data blocks respectively in the path included in the path for transmitting the data to be transmitted. When the x data blocks are used, the method further includes:
    所述发送端确定所述发送待发送数据的路径中的所有路径的时延;Determining, by the sending end, a delay of all paths in the path for sending data to be sent;
    所述发送端将所述待发送数据进行切分得到x个数据块,并在所述发送待发送数据的路径中包括的路径上分别发送所述x个数据块,包括:Transmitting, by the sending end, the data to be sent to obtain x data blocks, and respectively transmitting the x data blocks on the path included in the path for sending the data to be sent, including:
    所述发送端将所述待发送数据进行切分得到x个数据块,并在所述发送待发送数据的路径中包括的路径上分别发送所述x个数据块,所述发送待发送数据的路径中包括的路径中的时延越小的路径用于发送所述x个数据块中的所述发送端越早接收到的数据块。Transmitting, by the sending end, the data to be sent to obtain x data blocks, and respectively transmitting the x data blocks on the path included in the path for sending the data to be sent, where the data to be sent is sent The path with a smaller delay in the path included in the path is used to transmit the data block received earlier by the transmitting end of the x data blocks.
  7. 根据权利要求1-6任一项所述的方法,其特征在于,当一条路径的路径状态参数至少包括拥塞值时,所述方法还包括:The method according to any one of claims 1-6, wherein when the path state parameter of a path includes at least a congestion value, the method further includes:
    所述发送端在该路径上向所述接收端发送探测报文,所述探测报文用于探测该路径的拥塞值,该路径的拥塞值为该路径包含的子路径的拥塞值中的最大值或该路径包含的子路径的拥塞值之和;一个子路径的拥塞值为该子路径的起始节点的用于传输所述探测报文的至少一个队列的队列拥塞值之和或所述至少一个队列的队列拥塞值中的最大值;一个队列的队列拥塞值为该队列的当前队列深度,或者,该队列的当前队列深度和预设值之比。The sending end sends a probe packet to the receiving end on the path, where the probe packet is used to detect the congestion value of the path, and the congestion value of the path is the largest among the congestion values of the subpath included in the path. a value or a sum of congestion values of the sub-paths included in the path; a congestion value of a sub-path is a sum of queue congestion values of the at least one queue of the start node of the sub-path for transmitting the probe message, or The maximum of the queue congestion values of at least one queue; the queue congestion value of a queue is the current queue depth of the queue, or the ratio of the current queue depth of the queue to the preset value.
  8. 根据权利要求3所述的方法,其特征在于,所述发送端根据所述第二目标路径中的每条路径的第一部分路径的路径状态参数在所述第二目标路径中选择出第三目标路径,包括:The method according to claim 3, wherein the transmitting end selects a third target in the second target path according to a path state parameter of a first partial path of each path in the second target path Path, including:
    所述发送端将所述第二目标路径的第一部分路径的路径状态参数中的路径状态参数满足第一条件的路径状态参数对应的路径确定为第三目标路径,所述路径状态参数满足第一条件是指所述路径状态参数中的各个参数均满足各自对应的第一条件,一个参数对应一个第一条件,一个第一条件包含一个第一阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第一条件是指该参数的值大于或等于对应的第一条件中包含的第一阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第一条件是指该参数的值小于或等于对应的第一条件中包含的第一阈值。Determining, by the sending end, a path corresponding to the path state parameter that satisfies the first condition in the path state parameter of the first partial path of the second target path as the third target path, where the path state parameter satisfies the first The condition is that each parameter in the path state parameter satisfies a corresponding first condition, one parameter corresponds to a first condition, and a first condition includes a first threshold; when a parameter has a larger value, indicates a path When the path state is better, the parameter satisfies the corresponding first condition, that is, the value of the parameter is greater than or equal to the first threshold included in the corresponding first condition; when the value of a parameter is smaller, the path state of the path is better. The parameter satisfies the corresponding first condition, that is, the value of the parameter is less than or equal to the first threshold included in the corresponding first condition.
  9. 根据权利要求8所述的方法,其特征在于,在发送端接收接收端发送的第一指示消息之前,所述方法还包括:The method according to claim 8, wherein before the sending end receives the first indication message sent by the receiving end, the method further includes:
    所述发送端将所述n条路径的第一部分路径的路径状态参数中的路径状态参数满足第二条件的路径状态参数对应的路径确定为m2条路径,所述路径状态参数满足第二条件是指所述路径状态参数中的各个参数均满足各自对应的第二条件,一个参数对应一个第二条件,一个第二条件包含一个第二阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第二条件是指该参数的值大于或等于对应的第二条件中包含的第二阈值;当一个参数的值越小,表明路径的路径状态越好时,该参 数满足对应的第二条件是指该参数的值小于或等于对应的第二条件中包含的第二阈值;The transmitting end determines, as the m2 path, a path corresponding to the path state parameter in the path state parameter of the first partial path of the n paths that satisfies the second condition, where the path state parameter satisfies the second condition It is assumed that each parameter in the path state parameter satisfies a corresponding second condition, one parameter corresponds to a second condition, and a second condition includes a second threshold; when the value of one parameter is larger, the path state of the path is indicated The better the parameter satisfies the corresponding second condition, the value of the parameter is greater than or equal to the second threshold included in the corresponding second condition; when the value of a parameter is smaller, indicating that the path state of the path is better, The reference The number satisfies the corresponding second condition, that is, the value of the parameter is less than or equal to the second threshold included in the corresponding second condition;
    所述发送端向所述接收端发送第二指示消息,所述第二指示消息中包括用于指示所述m2条路径的信息。The sending end sends a second indication message to the receiving end, where the second indication message includes information for indicating the m2 paths.
  10. 一种确定数据传输路径的方法,其特征在于,包括:A method for determining a data transmission path, comprising:
    接收端根据n条路径中的每条路径的路径状态参数在所述n条路径中确定第一目标路径,所述第一目标路径包括允许发送端使用的m1条路径和/或禁止所述发送端使用的s条路径,所述m1条路径和所述s条路径中不存在相同的路径,所述n条路径为所述接收端与发送端之间的路径,所述路径状态参数包括以下参数中的至少一种:负载、拥塞值、时延和待接收数据量,n为大于1的整数,m1、s均为大于0小于等于n的整数、且m1与s之和小于等于n;The receiving end determines a first target path among the n paths according to a path state parameter of each of the n paths, where the first target path includes an m1 path that is allowed to be used by the transmitting end, and/or the sending is prohibited. The s path used by the end, the same path is not existed in the m1 path and the s path, and the n paths are paths between the receiving end and the sending end, and the path state parameters include the following At least one of the parameters: load, congestion value, delay, and amount of data to be received, n is an integer greater than 1, m1, s are integers greater than 0 and less than or equal to n, and the sum of m1 and s is less than or equal to n;
    所述接收端向所述发送端发送第一指示消息,所述第一指示消息包括所述第一目标路径。The receiving end sends a first indication message to the sending end, where the first indication message includes the first target path.
  11. 根据权利要求10所述的方法,其特征在于,所述路径的路径状态参数为所述路径的总路径的路径状态参数、所述路径的第一部分路径的路径状态参数或所述路径的第二部分路径的路径状态参数,所述总路径包括所述路径中的全部子路径,所述第一部分路径为所述总路径中的一部分、且包括所述总路径中的以所述发送端为起始节点的子路径,所述第二部分路径为所述总路径中的一部分、且包括所述总路径中的以所述接收端为结束节点的子路径,所述总路径中的一条子路径为所述总路径中的相邻节点之间的路径,一条子路径的起始节点是指构成该子路径的相邻节点中的发送数据的节点,一条子路径的结束节点是指构成该子路径的相邻节点中的接收数据的节点。The method according to claim 10, wherein the path state parameter of the path is a path state parameter of a total path of the path, a path state parameter of a first partial path of the path, or a second of the path a path state parameter of a partial path, the total path including all sub-paths in the path, the first partial path being a part of the total path, and including the sender in the total path a sub-path of the start node, the second partial path is a part of the total path, and includes a sub-path in the total path with the receiving end as an end node, and one sub-path in the total path A path between adjacent nodes in the total path, a starting node of a sub-path refers to a node that transmits data in a neighboring node constituting the sub-path, and an ending node of a sub-path refers to a sub-node A node that receives data in a neighboring node of a path.
  12. 根据权利要求10或11所述的方法,其特征在于,所述路径状态参数至少包括待接收数据量,在接收端根据n条路径中的每条路径的路径状态参数在所述n条路径中确定第一目标路径之前,所述方法还包括:The method according to claim 10 or 11, wherein the path state parameter includes at least an amount of data to be received, and the path state parameter of each path of the n paths is in the n paths at the receiving end. Before determining the first target path, the method further includes:
    所述接收端确定为一条路径分配的总数据量,该路径为所述n条路径中的任意一条路径;Determining, by the receiving end, a total amount of data allocated for a path, where the path is any one of the n paths;
    所述接收端确定在该条路径上接收到的数据量;The receiving end determines the amount of data received on the path;
    所述接收端将所述总数据量与所述接收到的数据量之差确定为该路径的待接收数据量。The receiving end determines the difference between the total data amount and the received data amount as the amount of data to be received of the path.
  13. 根据权利要求11所述的方法,其特征在于,所述路径的路径状态参数为所述路径的第一路径的路径状态参数,所述第一路径不为所述第一部分路径,所述第一目标路径包括所述m1条路径,在接收端根据n条路径中的每条路径的路径状态参数在所述n条路径中确定第一目标路径之前,所述方法还包括:The method according to claim 11, wherein the path state parameter of the path is a path state parameter of the first path of the path, the first path is not the first partial path, the first The target path includes the m1 paths, and before the determining, by the receiving end, the first target path in the n paths according to the path state parameter of each of the n paths, the method further includes:
    所述接收端接收所述发送端发送的第二指示消息;Receiving, by the receiving end, the second indication message sent by the sending end;
    所述接收端根据所述第二指示消息确定m2条路径,所述m2条路径属于所述n条路径;Determining, by the receiving end, m2 paths according to the second indication message, where the m2 paths belong to the n paths;
    接收端根据n条路径中的每条路径的路径状态参数在所述n条路径中确定第一目标路径,包括:The receiving end determines the first target path among the n paths according to the path state parameter of each path of the n paths, including:
    所述接收端将所述n条路径的第一路径的路径状态参数中的路径状态参数满足第三条件的路径状态参数对应的路径确定为m11条路径,所述路径状态参数满足第三条 件是指所述路径状态参数中的各个参数均满足各自对应的第三条件,一个参数对应一个第三条件,一个第三条件包含一个第三阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第三条件是指该参数的值大于或等于对应的第三条件中包含的第三阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第三条件是指该参数的值小于或等于对应的第三条件中包含的第三阈值;Determining, by the receiving end, a path corresponding to the path state parameter in which the path state parameter of the first path of the n paths meets the third condition is m11 paths, where the path state parameter satisfies the third The component means that each parameter in the path state parameter satisfies a corresponding third condition, one parameter corresponds to a third condition, and a third condition includes a third threshold; when the value of one parameter is larger, the path indicates When the path state is better, the parameter satisfies the corresponding third condition, that is, the value of the parameter is greater than or equal to the third threshold included in the corresponding third condition; when the value of a parameter is smaller, the path state of the path is better. When the parameter satisfies the corresponding third condition, the value of the parameter is less than or equal to the third threshold included in the corresponding third condition;
    所述接收端将所述m2条路径的第一路径的路径状态参数中的路径状态参数满足第四条件的路径状态参数对应的路径确定为m12条路径,所述路径状态参数满足第四条件是指所述路径状态参数中的各个参数均满足各自对应的第四条件,一个参数对应一个第四条件,一个第四条件包含一个第四阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第四条件是指该参数的值大于或等于对应的第四条件中包含的第四阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第四条件是指该参数的值小于或等于对应的第四条件中包含的第四阈值;Determining, by the receiving end, a path corresponding to the path state parameter in which the path state parameter of the first path of the m2 path meets the fourth condition is m12 paths, where the path state parameter satisfies the fourth condition It is assumed that each parameter in the path state parameter meets a corresponding fourth condition, one parameter corresponds to a fourth condition, and a fourth condition includes a fourth threshold; when the value of one parameter is larger, the path state of the path is indicated The better, the parameter satisfies the corresponding fourth condition, that is, the value of the parameter is greater than or equal to the fourth threshold included in the corresponding fourth condition; when the value of one parameter is smaller, indicating that the path state of the path is better, The parameter satisfies the corresponding fourth condition, that is, the value of the parameter is less than or equal to the fourth threshold included in the corresponding fourth condition;
    所述接收端将所述m11条路径和所述m12条路径确定为所述m1条路径。The receiving end determines the m11 path and the m12 path as the m1 path.
  14. 根据权利要求10-13任一项所述的方法,其特征在于,在所述接收端向所述发送端发送第一指示消息之后,所述方法还包括:The method according to any one of claims 10 to 13, wherein after the receiving end sends the first indication message to the sending end, the method further includes:
    所述接收端在所述m1条路径、所述m1条路径中的部分路径、所述n条路径中的除所述s条路径中的其他路径或者所述n条路径中的除所述s条路径中的其他路径中的部分路径上接收所述发送端发送的数据。And the receiving end is in the m1 path, a partial path in the m1 path, the other path in the n paths, or the n paths in the n paths except the s The data sent by the transmitting end is received on a part of the other paths in the strip path.
  15. 一种发送端,其特征在于,包括:A transmitting end, comprising:
    接收单元,用于接收接收端发送的第一指示消息;a receiving unit, configured to receive a first indication message sent by the receiving end;
    确定单元,用于根据所述第一指示消息确定第一目标路径,所述第一目标路径为所述接收端根据n条路径中的每条路径的路径状态参数在所述n条路径中确定出的路径,所述第一目标路径包括允许所述发送端使用的m1条路径和/或禁止所述发送端使用的s条路径,所述m1条路径和所述s条路径中不存在相同的路径,所述n条路径为所述接收端与所述发送端之间的路径,所述路径状态参数包括以下参数中的至少一种:负载、拥塞值、时延和待接收数据量,n为大于1的整数,m1、s均为大于0小于等于n的整数、且m1与s之和小于等于n;a determining unit, configured to determine, according to the first indication message, a first target path, where the first target path is determined by the receiving end according to a path state parameter of each path of the n paths in the n paths And the first target path includes an m1 path that is allowed to be used by the sending end, and/or an s path that is prohibited from being used by the sending end, where the m1 path does not exist in the s path Path, the path between the receiving end and the sending end, the path state parameter includes at least one of the following parameters: load, congestion value, delay, and amount of data to be received, n is an integer greater than 1, m1, s are integers greater than 0 less than or equal to n, and the sum of m1 and s is less than or equal to n;
    当所述第一目标路径包括所述m1条路径或者所述第一目标路径包括所述m1条路径和所述s条路径时,所述确定单元,还用于将所述m1条路径确定为第二目标路径;When the first target path includes the m1 path or the first target path includes the m1 path and the s path, the determining unit is further configured to determine the m1 path as Second target path;
    当所述第一目标路径包括所述s条路径时,所述确定单元,还用于将所述n条路径中的除所述s条路径之外的其他路径确定为第二目标路径;When the first target path includes the s path, the determining unit is further configured to determine, among the n paths, other paths than the s paths as the second target path;
    所述确定单元,还用于将所述第二目标路径确定为发送待发送数据的路径。The determining unit is further configured to determine the second target path as a path for sending data to be sent.
  16. 根据权利要求15所述的发送端,其特征在于,所述路径的路径状态参数为所述路径的总路径的路径状态参数、所述路径的第一部分路径的路径状态参数或所述路径的第二部分路径的路径状态参数,所述总路径包括所述路径中的全部子路径,所述第一部分路径为所述总路径中的一部分、且包括所述总路径中的以所述发送端为起始节点的子路径,所述第二部分路径为所述总路径中的一部分、且包括所述总路径中的以所述接收端为结束节点的子路径,所述总路径中的一条子路径为所述总路径中的相邻节点之间的路径,一条子路径的起始节点是指构成该子路径的相邻节点中的发送数 据的节点,一条子路径的结束节点是指构成该子路径的相邻节点中的接收数据的节点。The transmitting end according to claim 15, wherein the path state parameter of the path is a path state parameter of a total path of the path, a path state parameter of a first partial path of the path, or a path of the path a path state parameter of the two-part path, the total path includes all sub-paths in the path, the first partial path is a part of the total path, and includes the sender in the total path a sub-path of the start node, the second partial path is a part of the total path, and includes a sub-path in the total path with the receiving end as an end node, and one of the total paths A path is a path between adjacent nodes in the total path, and a starting node of a sub-path refers to a number of transmissions in adjacent nodes constituting the sub-path According to the node, the end node of a sub-path refers to a node that receives data in a neighboring node constituting the sub-path.
  17. 根据权利要求16所述的发送端,其特征在于,所述路径的路径状态参数不为所述路径的第一部分路径的路径状态参数,所述发送端还包括:The transmitting end according to claim 16, wherein the path state parameter of the path is not a path state parameter of the first part of the path, and the sending end further comprises:
    选择单元,用于根据所述第二目标路径中的每条路径的第一部分路径的路径状态参数在所述第二目标路径中选择出第三目标路径;a selecting unit, configured to select a third target path in the second target path according to a path state parameter of the first partial path of each path in the second target path;
    所述确定单元,具体用于将所述第三目标路径确定为发送待发送数据的路径。The determining unit is specifically configured to determine the third target path as a path for sending data to be sent.
  18. 根据权利要求15-17任一项所述的发送端,其特征在于,所述发送端还包括发送单元;The transmitting end according to any one of claims 15-17, wherein the transmitting end further comprises a sending unit;
    所述发送单元,用于根据所述发送待发送数据的路径发送所述待发送数据。The sending unit is configured to send the to-be-sent data according to the path for sending data to be sent.
  19. 根据权利要求18所述的发送端,其特征在于,The transmitting end according to claim 18, wherein
    所述发送端还包括选择单元,用于在所述发送待发送数据的路径中选择一条路径,所述发送单元,具体用于在该条路径上发送所述待发送数据;或者,The sending end further includes a selecting unit, configured to select a path in the path for sending data to be sent, where the sending unit is specifically configured to send the to-be-sent data on the path; or
    所述发送端还包括切分单元,用于将所述待发送数据进行切分得到x个数据块,所述发送单元,具体用于在所述发送待发送数据的路径中包括的路径上分别发送所述x个数据块,x的值与所述发送待发送数据的路径中包括的路径个数相等;或者,The sending end further includes a sharding unit, configured to sever the data to be sent to obtain x data blocks, where the sending unit is specifically configured to separately perform paths included in the path for sending data to be sent separately Transmitting the x data blocks, where the value of x is equal to the number of paths included in the path for sending the data to be sent; or
    所述发送端还包括切分单元,用于将所述待发送数据进行切分得到若干个数据块,所述发送单元,具体用于在所述发送待发送数据的路径中包括的所有路径上轮询发送所述若干个数据块。The sending end further includes a sharding unit, configured to sever the data to be sent to obtain a plurality of data blocks, where the sending unit is specifically configured to use all the paths included in the path for sending the data to be sent. The polling sends the number of data blocks.
  20. 根据权利要求19所述的发送端,其特征在于,The transmitting end according to claim 19, characterized in that
    所述确定单元,还用于确定所述发送待发送数据的路径中的所有路径的时延;The determining unit is further configured to determine a delay of all paths in the path for sending the data to be sent;
    所述切分单元,具体用于将所述待发送数据进行切分得到x个数据块,所述发送单元,具体用于在所述发送待发送数据的路径中包括的路径上分别发送所述x个数据块,所述发送待发送数据的路径中包括的路径中的时延越小的路径用于发送所述x个数据块中的所述发送端越早接收到的数据块。The sharding unit is configured to sever the data to be sent to obtain x data blocks, where the sending unit is specifically configured to separately send the information on the path included in the path for sending data to be sent. The x data blocks, the smaller the delay in the path included in the path for transmitting the data to be transmitted, the smaller the data block received by the transmitting end of the x data blocks.
  21. 根据权利要求15-20任一项所述的发送端,其特征在于,当一条路径的路径状态参数至少包括拥塞值时,所述发送端还包括发送单元;The transmitting end according to any one of claims 15 to 20, wherein when the path state parameter of a path includes at least a congestion value, the transmitting end further includes a sending unit;
    所述发送单元,用于在该路径上向所述接收端发送探测报文,所述探测报文用于探测该路径的拥塞值,该路径的拥塞值为该路径包含的子路径的拥塞值中的最大值或该路径包含的子路径的拥塞值之和;一个子路径的拥塞值为该子路径的起始节点的用于传输所述探测报文的至少一个队列的队列拥塞值之和或所述至少一个队列的队列拥塞值中的最大值;一个队列的队列拥塞值为该队列的当前队列深度,或者,该队列的当前队列深度和预设值之比。The sending unit is configured to send a probe packet to the receiving end, where the probe packet is used to detect a congestion value of the path, and the congestion value of the path is a congestion value of the subpath included in the path. The maximum value in the sum or the sum of the congestion values of the sub-paths included in the path; the congestion value of one sub-path is the sum of the queue congestion values of the at least one queue of the start node of the sub-path for transmitting the probe message Or the maximum of the queue congestion values of the at least one queue; the queue congestion value of one queue is the current queue depth of the queue, or the ratio of the current queue depth of the queue to a preset value.
  22. 根据权利要求17所述的发送端,其特征在于,所述选择单元,具体用于:The transmitting end according to claim 17, wherein the selecting unit is specifically configured to:
    将所述第二目标路径的第一部分路径的路径状态参数中的路径状态参数满足第一条件的路径状态参数对应的路径确定为第三目标路径,所述路径状态参数满足第一条件是指所述路径状态参数中的各个参数均满足各自对应的第一条件,一个参数对应一个第一条件,一个第一条件包含一个第一阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第一条件是指该参数的值大于或等于对应的第一条件中包含的第一阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满 足对应的第一条件是指该参数的值小于或等于对应的第一条件中包含的第一阈值。Determining, by the path state parameter of the path state parameter of the first partial path of the second target path, a path corresponding to the path state parameter satisfying the first condition as a third target path, where the path state parameter satisfies the first condition Each parameter in the path state parameter satisfies a corresponding first condition, one parameter corresponds to a first condition, and a first condition includes a first threshold; when the value of one parameter is larger, the path state of the path is better. When the parameter satisfies the corresponding first condition, the value of the parameter is greater than or equal to the first threshold included in the corresponding first condition; when the value of a parameter is smaller, indicating that the path state of the path is better, the parameter Full The first condition corresponding to the foot means that the value of the parameter is less than or equal to the first threshold included in the corresponding first condition.
  23. 根据权利要求22所述的发送端,其特征在于,The transmitting end according to claim 22, characterized in that
    所述选择单元,还用于将所述n条路径的第一部分路径的路径状态参数中的路径状态参数满足第二条件的路径状态参数对应的路径确定为m2条路径,所述路径状态参数满足第二条件是指所述路径状态参数中的各个参数均满足各自对应的第二条件,一个参数对应一个第二条件,一个第二条件包含一个第二阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第二条件是指该参数的值大于或等于对应的第二条件中包含的第二阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第二条件是指该参数的值小于或等于对应的第二条件中包含的第二阈值;The selecting unit is further configured to determine, as the m2 paths, the path corresponding to the path state parameter in the path state parameter of the first partial path of the n paths that meets the second condition, where the path state parameter is satisfied. The second condition is that each parameter in the path state parameter satisfies a corresponding second condition, one parameter corresponds to a second condition, and a second condition includes a second threshold; when the value of one parameter is larger, indicating When the path state of the path is better, the parameter satisfies the corresponding second condition, that is, the value of the parameter is greater than or equal to the second threshold included in the corresponding second condition; when the value of a parameter is smaller, the path state of the path is indicated. The better, the parameter satisfies the corresponding second condition, that is, the value of the parameter is less than or equal to the second threshold included in the corresponding second condition;
    所述发送端还包括发送单元,所述发送单元用于向所述接收端发送第二指示消息,所述第二指示消息中包括用于指示所述m2条路径的信息。The sending end further includes a sending unit, where the sending unit is configured to send a second indication message to the receiving end, where the second indication message includes information for indicating the m2 paths.
  24. 一种接收端,其特征在于,包括:A receiving end, comprising:
    确定单元,用于根据n条路径中的每条路径的路径状态参数在所述n条路径中确定第一目标路径,所述第一目标路径包括允许发送端使用的m1条路径和/或禁止所述发送端使用的s条路径,所述m1条路径和所述s条路径中不存在相同的路径,所述n条路径为所述接收端与发送端之间的路径,所述路径状态参数包括以下参数中的至少一种:负载、拥塞值、时延和待接收数据量,n为大于1的整数,m1、s均为大于0小于等于n的整数、且m1与s之和小于等于n;a determining unit, configured to determine, in the n paths, a first target path according to a path state parameter of each of the n paths, where the first target path includes an m1 path allowed by the transmitting end and/or prohibited The s path used by the sending end, the same path does not exist in the m1 path and the s path, and the n paths are paths between the receiving end and the sending end, and the path status The parameter includes at least one of the following parameters: load, congestion value, delay, and amount of data to be received, n is an integer greater than 1, m1, s are integers greater than 0 and less than or equal to n, and the sum of m1 and s is less than Equal to n;
    发送单元,用于向所述发送端发送第一指示消息,所述第一指示消息包括所述第一目标路径。And a sending unit, configured to send, to the sending end, a first indication message, where the first indication message includes the first target path.
  25. 根据权利要求24所述的接收端,其特征在于,所述路径的路径状态参数为所述路径的总路径的路径状态参数、所述路径的第一部分路径的路径状态参数或所述路径的第二部分路径的路径状态参数,所述总路径包括所述路径中的全部子路径,所述第一部分路径为所述总路径中的一部分、且包括所述总路径中的以所述发送端为起始节点的子路径,所述第二部分路径为所述总路径中的一部分、且包括所述总路径中的以所述接收端为结束节点的子路径,所述总路径中的一条子路径为所述总路径中的相邻节点之间的路径,一条子路径的起始节点是指构成该子路径的相邻节点中的发送数据的节点,一条子路径的结束节点是指构成该子路径的相邻节点中的接收数据的节点。The receiving end according to claim 24, wherein the path state parameter of the path is a path state parameter of a total path of the path, a path state parameter of a first partial path of the path, or a path of the path a path state parameter of the two-part path, the total path includes all sub-paths in the path, the first partial path is a part of the total path, and includes the sender in the total path a sub-path of the start node, the second partial path is a part of the total path, and includes a sub-path in the total path with the receiving end as an end node, and one of the total paths The path is a path between adjacent nodes in the total path, the start node of a sub-path refers to a node that transmits data in a neighboring node constituting the sub-path, and the end node of a sub-path refers to A node that receives data in a neighboring node of a subpath.
  26. 根据权利要求24或25所述的接收端,其特征在于,所述确定单元,还用于:The receiving end according to claim 24 or 25, wherein the determining unit is further configured to:
    确定为一条路径分配的总数据量,该路径为所述n条路径中的任意一条路径;Determining a total amount of data allocated for a path, the path being any one of the n paths;
    确定在该条路径上接收到的数据量;Determine the amount of data received on the path;
    将所述总数据量与所述接收到的数据量之差确定为该路径的待接收数据量。The difference between the total amount of data and the received amount of data is determined as the amount of data to be received of the path.
  27. 根据权利要求25所述的接收端,其特征在于,所述路径的路径状态参数为所述路径的第一路径的路径状态参数,所述第一路径不为所述第一部分路径,所述第一目标路径包括所述m1条路径,所述接收端还包括接收单元;The receiving end according to claim 25, wherein the path state parameter of the path is a path state parameter of the first path of the path, and the first path is not the first partial path, the first a target path includes the m1 paths, and the receiving end further includes a receiving unit;
    所述接收单元,用于接收所述发送端发送的第二指示消息;The receiving unit is configured to receive a second indication message sent by the sending end;
    所述确定单元,还用于根据所述第二指示消息确定m2条路径,所述m2条路径属于所述n条路径; The determining unit is further configured to determine, according to the second indication message, m2 paths, where the m2 paths belong to the n paths;
    所述确定单元,具体用于将所述n条路径的第一路径的路径状态参数中的路径状态参数满足第三条件的路径状态参数对应的路径确定为m11条路径,所述路径状态参数满足第三条件是指所述路径状态参数中的各个参数均满足各自对应的第三条件,一个参数对应一个第三条件,一个第三条件包含一个第三阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第三条件是指该参数的值大于或等于对应的第三条件中包含的第三阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第三条件是指该参数的值小于或等于对应的第三条件中包含的第三阈值;The determining unit is specifically configured to determine, as the m11 paths, the path corresponding to the path state parameter in the path state parameter of the first path of the n paths that meets the third condition, where the path state parameter meets The third condition is that each parameter in the path state parameter satisfies a corresponding third condition, one parameter corresponds to a third condition, and a third condition includes a third threshold; when the value of one parameter is larger, indicating When the path state of the path is better, the parameter satisfies the corresponding third condition, that is, the value of the parameter is greater than or equal to the third threshold included in the corresponding third condition; when the value of one parameter is smaller, the path state of the path is indicated. The better the parameter meets the corresponding third condition, the value of the parameter is less than or equal to the third threshold included in the corresponding third condition;
    所述确定单元,具体用于将所述m2条路径的第一路径的路径状态参数中的路径状态参数满足第四条件的路径状态参数对应的路径确定为m12条路径,所述路径状态参数满足第四条件是指所述路径状态参数中的各个参数均满足各自对应的第四条件,一个参数对应一个第四条件,一个第四条件包含一个第四阈值;当一个参数的值越大,表明路径的路径状态越好时,该参数满足对应的第四条件是指该参数的值大于或等于对应的第四条件中包含的第四阈值;当一个参数的值越小,表明路径的路径状态越好时,该参数满足对应的第四条件是指该参数的值小于或等于对应的第四条件中包含的第四阈值;The determining unit is specifically configured to determine, as the m12 paths, the path corresponding to the path state parameter in the path state parameter of the first path of the m2 path that meets the fourth condition, where the path state parameter meets The fourth condition is that each parameter in the path state parameter satisfies a fourth condition corresponding to each, one parameter corresponds to a fourth condition, and a fourth condition includes a fourth threshold; when the value of one parameter is larger, indicating When the path state of the path is better, the parameter satisfies the corresponding fourth condition, that is, the value of the parameter is greater than or equal to the fourth threshold included in the corresponding fourth condition; when the value of one parameter is smaller, the path state of the path is indicated. The better, the parameter satisfies the corresponding fourth condition, that is, the value of the parameter is less than or equal to the fourth threshold included in the corresponding fourth condition;
    所述确定单元,具体用于将所述m11条路径和所述m12条路径确定为所述m1条路径。The determining unit is specifically configured to determine the m11 path and the m12 path as the m1 path.
  28. 根据权利要求24-27任一项所述的接收端,其特征在于,所述接收端还包括接收单元,所述接收单元用于:The receiving end according to any one of claims 24 to 27, wherein the receiving end further comprises a receiving unit, the receiving unit is configured to:
    在所述m1条路径、所述m1条路径中的部分路径、所述n条路径中的除所述s条路径中的其他路径或者所述n条路径中的除所述s条路径中的其他路径中的部分路径上接收所述发送端发送的数据。a part of the m1 path, the m1 path, the other of the n paths except the s path, or the n of the n paths The data sent by the transmitting end is received on a part of the other paths.
  29. 一种发送端,其特征在于,包括:存储器、处理器、发送器、接收器和总线;A transmitting end, comprising: a memory, a processor, a transmitter, a receiver, and a bus;
    所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,所述处理器根据所述存储器存储的所述计算机执行指令,执行如权利要求1-9中任意一项所述的确定数据传输路径的方法。The memory is configured to store a computer execution instruction, the processor is connected to the memory through the bus, and the processor executes any one of claims 1-9 according to the computer execution instruction stored in the memory. The method of determining a data transmission path as described in the item.
  30. 一种接收端,其特征在于,包括:存储器、处理器、发送器、接收器和总线;A receiving end, comprising: a memory, a processor, a transmitter, a receiver, and a bus;
    所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,所述处理器根据所述存储器存储的所述计算机执行指令,执行如权利要求10-14中任意一项所述的确定数据传输路径的方法。 The memory is configured to store a computer execution instruction, the processor is connected to the memory through the bus, and the processor executes any one of claims 10-14 according to the computer execution instruction stored in the memory. The method of determining a data transmission path as described in the item.
PCT/CN2017/109303 2016-11-04 2017-11-03 Method and device for determining data transmission path WO2018082655A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610965515.4A CN108023817B (en) 2016-11-04 2016-11-04 Method and device for determining data transmission path
CN201610965515.4 2016-11-04

Publications (1)

Publication Number Publication Date
WO2018082655A1 true WO2018082655A1 (en) 2018-05-11

Family

ID=62075369

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/109303 WO2018082655A1 (en) 2016-11-04 2017-11-03 Method and device for determining data transmission path

Country Status (2)

Country Link
CN (1) CN108023817B (en)
WO (1) WO2018082655A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113543206A (en) * 2020-04-21 2021-10-22 华为技术有限公司 Method, system and device for data transmission

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108738078A (en) * 2018-06-25 2018-11-02 北斗地网(重庆)科技集团有限公司 A kind of transmission side data subtraction unit, equipment and readable storage medium storing program for executing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104170335A (en) * 2012-04-03 2014-11-26 瑞典爱立信有限公司 Congestion control and resource allocation in split architecture networks
WO2016127368A1 (en) * 2015-02-12 2016-08-18 华为技术有限公司 Path selection method, device and system
CN105915466A (en) * 2016-04-15 2016-08-31 北京邮电大学 MPTCP path selection method and apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101932062B (en) * 2010-09-03 2012-12-05 电子科技大学 Multipath routing method in Ad Hoc network environment
CN102065480A (en) * 2010-11-22 2011-05-18 北京邮电大学 Path priority-based wireless sensor network congestion avoidance and control method
CN102546106B (en) * 2011-12-28 2014-03-26 南京邮电大学 Multipath parallel transmission method facing satellite network
CN102843257B (en) * 2012-08-15 2016-08-03 无锡北邮感知技术产业研究院有限公司 A kind of path evaluation method and device
CN104618236A (en) * 2015-01-21 2015-05-13 网宿科技股份有限公司 Parallel data transmission system and method of acceleration network
US9548892B2 (en) * 2015-01-26 2017-01-17 Arista Networks, Inc. Method and system for preventing polarization in a network
CN105827367A (en) * 2016-05-06 2016-08-03 深圳市国华光电研究院 Wireless data transmission method and system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104170335A (en) * 2012-04-03 2014-11-26 瑞典爱立信有限公司 Congestion control and resource allocation in split architecture networks
WO2016127368A1 (en) * 2015-02-12 2016-08-18 华为技术有限公司 Path selection method, device and system
CN105915466A (en) * 2016-04-15 2016-08-31 北京邮电大学 MPTCP path selection method and apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113543206A (en) * 2020-04-21 2021-10-22 华为技术有限公司 Method, system and device for data transmission
CN113543206B (en) * 2020-04-21 2023-08-22 华为技术有限公司 Method, system and device for data transmission

Also Published As

Publication number Publication date
CN108023817B (en) 2021-03-02
CN108023817A (en) 2018-05-11

Similar Documents

Publication Publication Date Title
CN110278157B (en) Congestion control method and network equipment
US11876715B2 (en) Load balancing method, device, and system
WO2019033857A1 (en) Packet control method and network device
CN114338523B (en) Message forwarding method and device
EP4175232A1 (en) Congestion control method and device
WO2021196616A1 (en) Message report method and apparatus, device, and storage medium
CN112104562B (en) Congestion control method and device, communication network and computer storage medium
CN106330742B (en) Flow control method and network controller
WO2022213817A1 (en) Routing method and routing apparatus
WO2012171460A1 (en) Method and device for packet transmission
WO2018082655A1 (en) Method and device for determining data transmission path
CN101997775A (en) Method for improving utility route in delay tolerant network
US8549193B2 (en) Data transmission method, device and system
CN109039941B (en) Adaptive packet scattering method based on path classification in data center network
WO2021143913A1 (en) Congestion control method, apparatus and system, and storage medium
CN102223311A (en) Queue scheduling method and device
CN107820218B (en) Method and equipment for setting message transmission mode
US20140211649A1 (en) Reducing latency of at least one stream that is associated with at least one bandwidth reservation
CN111464453A (en) Message forwarding method and device
Yaakob et al. Performance analysis of optimal packet size for congestion control in wireless sensor networks
US20220124036A1 (en) Network congestion handling method and related apparatus
JP2017147583A (en) Network repeater
WO2021209016A1 (en) Method for processing message in network device, and related device
JP2011166342A (en) Traffic control system and method, program, and communication relay device
Escudero-Sahuquillo et al. FBICM: Efficient congestion management for high-performance networks using distributed deterministic routing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17866558

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17866558

Country of ref document: EP

Kind code of ref document: A1