Method for determining data transmission path and related device
By determining T time slots in the network system of the financial industry and selecting the path with the lowest average packet loss rate for data transmission, the problem of low system reliability is solved, and the reliability and delay satisfaction of data transmission are improved.
Patent Information
- Application Number
- CN202310594966.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-24
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2043-05-24
AI Technical Summary
In the prior art, network systems in the financial industry have low system reliability during data transmission, resulting in large data transmission delays and data loss, especially when link bandwidth is insufficient, data congestion and transmission failure occur.
By obtaining the data amount and network topology information of the data to be transmitted, determining T time slots, and calculating the packet loss situation of each time slot, selecting the path with the lowest average packet loss rate for data transmission, avoiding congestion caused by simultaneous data transmission and meeting the end-to-end delay requirements.
Improves the reliability of data transmission, reduces the number of data packet loss, avoids data congestion, and meets the end-to-end delay requirements.
Smart Images

Figure CN116566834B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of financial technology, and in particular to a method for determining a data transmission path and related devices. Background Art
[0002] In the financial industry, network systems typically include multiple transmission nodes and control nodes. The control node needs to select all or part of these transmission nodes to achieve end-to-end data transmission.
[0003] Currently, the control node can select a transmission node based on the Open Shortest Path First (OSPF) routing protocol. In this method, the control node can obtain network topology information and select a route with the minimum number of hops for data transmission based on the network topology information.
[0004] However, using this method for data transmission often results in low system reliability. For example, the amount of data transmitted on some links may exceed the available bandwidth, resulting in long data transmission delays and even frequent data transmission failures or losses. Summary of the Invention
[0005] The present application provides a method for determining a data transmission path and related devices to solve the problem of low system reliability in the prior art.
[0006] In a first aspect, the present application provides a method for determining a data transmission path, comprising: obtaining the amount of data to be transmitted; obtaining network topology information, wherein the network topology information indicates a source node, a destination node, multiple links located between the source node and the destination node, multiple bandwidths, and multiple delays, wherein the multiple bandwidths correspond one-to-one to the multiple links, and the multiple delays correspond one-to-one to the multiple links, each of the multiple bandwidths is the average bandwidth of the corresponding link, and each of the multiple delays is the propagation delay of the corresponding link; determining T time slots based on the data amount and the network topology information, wherein each of the T time slots includes multiple time slots A slotted transmission node and multiple slotted links, wherein the slotted transmission node is a transmission node obtained after the transmission node is time-slotted, and the slotted link is a transmission link obtained after the transmission link is time-slotted, and T is a positive integer; packet loss information corresponding to each of the T time slots is obtained, and the packet loss information corresponding to each time slot includes an average packet loss rate of each time slotted transmission node in the multiple slotted transmission nodes and each time slotted link in the multiple slotted links; a target path is determined based on the packet loss information corresponding to each time slot in the T time slots, and the sum of the average packet loss rates of the slotted transmission nodes and the slotted links in the target path is the lowest.
[0007] In this method, the target path with the lowest average packet loss rate minimizes packet loss during data transmission over this target path, improving data transmission reliability. Furthermore, each of the T time slots can transmit a portion of data, avoiding data congestion caused by simultaneous transmission of all data, thus helping to meet end-to-end latency requirements.
[0008] In some possible implementations, determining T time slots based on the data volume and the network topology information includes: obtaining first parameter information, the first parameter information including an upper bound on end-to-end delay; determining a first bandwidth from the multiple bandwidths, the average bandwidth of a link corresponding to the first bandwidth being less than the average bandwidth of links corresponding to other bandwidths, the other bandwidth being any bandwidth of the multiple bandwidths other than the first bandwidth; determining a first delay from the multiple delays, the propagation delay of a link corresponding to the first delay being greater than the propagation delay of links corresponding to other delays, the other delay being any delay of the multiple delays other than the first delay; determining a time slot granularity based on the data volume, the first bandwidth, and the first delay, the time slot granularity being the upper bound on the delay corresponding to each slotted transmission link in each time slot; and determining the T time slots based on the end-to-end delay upper bound and the time slot granularity.
[0009] In this method, T time slots are determined based on the upper bound of the end-to-end delay required by the network system, so that the delay when data is transmitted based on T time slots can meet the upper bound requirement of the end-to-end delay.
[0010] In some possible implementations, the time slot granularity is equal to the maximum value of a first value and a second value, the first value is equal to the ratio of the data volume to the average bandwidth of the link corresponding to the first bandwidth, and the second value is equal to the propagation delay of the link corresponding to the first delay.
[0011] In some possible implementations, T is equal to a third value, and the third value is a minimum integer that is not less than the ratio of the end-to-end delay upper bound to the time slot granularity.
[0012] In some possible implementations, the first parameter information further includes a transmission start time;
[0013] The method also includes: determining a target transmission period based on the start transmission time and the upper bound of the end-to-end delay, the target transmission period including T periods, the T periods corresponding one-to-one to the T time slots, and each period in the T periods being a transmission period of the time slot corresponding to each period.
[0014] In this method, each time slot has a corresponding transmission period. The transmission period corresponding to each time slot is distinguished so that data transmission in any time slot must be completed within the transmission period corresponding to the time slot, avoiding data congestion when multiple time slots are transmitted at the same time, which is conducive to meeting the delay requirements of each time slot.
[0015] In some possible implementations, determining the target path based on the packet loss information corresponding to each of the T time slots includes: constructing a first time extension graph based on the packet loss information corresponding to each of the T time slots, the first time extension graph including the following information: multiple slotted transmission nodes and multiple slotted links in each time slot, and an average packet loss rate of each slotted transmission node and each slotted link in each time slot; and adding a virtual source node and a virtual destination node to the first time extension graph to obtain a second time extension graph, the second time extension graph including the following information: The multiple slotted transmission nodes and multiple slotted links in each time slot, the virtual source node and the virtual destination node, the average packet loss rate of each slotted transmission node and each slotted link in each time slot, the average packet loss rate of T virtual sending links and T virtual receiving links, the T virtual sending links include the link from the virtual source node to the source node of each time slot in the T time slots, and the T virtual receiving links include the link from the destination node of each time slot in the T time slots to the virtual destination node; the target path is determined based on the second time extension graph and the first algorithm.
[0016] Among them, an example of the first time expansion diagram can be as follows Figure 4 As shown, the source nodes in the first time extension graph include source nodes corresponding to T time slots, and the destination nodes in the first time extension graph also include destination nodes corresponding to T time slots.
[0017] Accordingly, an example of the second time extension graph can be as follows Figure 5 The second time extension graph adds a virtual source node and a virtual destination node on the basis of the first time extension graph. When performing path calculation, the virtual source node and the virtual destination node can be used as the only source node and destination node.
[0018] In this method, in the second time extension graph, the average packet loss rates of T virtual sending links and T virtual receiving links are both 0, so that the average packet loss rate of the route calculated based on the virtual source node and the virtual destination node is consistent with the actual average packet loss rate.
[0019] In some possible implementations, the first algorithm includes a Dijkstra algorithm.
[0020] In some possible implementations, the packet loss information corresponding to each time slot includes the reliability weight of each slotted transmission node and each slotted link in each time slot, the reliability weight of each slotted transmission node in each time slot is generated based on the average packet loss rate of each slotted transmission node in each time slot, and the reliability weight of each slotted link in each time slot is generated based on the average packet loss rate of each slotted link in each time slot.
[0021] In this method, in the second time extension graph, the reliability weights of the T virtual sending links and the T virtual receiving links are all 0, so that the reliability weight of the route calculated based on the virtual source node and the virtual destination node is consistent with the actual reliability weight.
[0022] In a second aspect, the present application provides a device for determining a data transmission path, the device having the functionality to implement the behavior described in the method example of the first aspect. The functionality can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the functionality described above.
[0023] In one possible design, the device includes: an acquisition module and a processing module.
[0024] The acquisition module may be used to acquire the amount of data to be transmitted.
[0025] The acquisition module can also be used to obtain network topology information, where the network topology information indicates a source node, a destination node, multiple links between the source node and the destination node, multiple bandwidths, and multiple delays, where the multiple bandwidths correspond one-to-one to the multiple links, and the multiple delays correspond one-to-one to the multiple links. Each of the multiple bandwidths is an average bandwidth of the corresponding link, and each of the multiple delays is a propagation delay of the corresponding link.
[0026] The processing module can be used to determine T time slots based on the data volume and the network topology information, each of the T time slots includes multiple slotted transmission nodes and multiple slotted links, the slotted transmission node is a transmission node obtained after the transmission node is time slotted, and the slotted link is a transmission link obtained after the transmission link is time slotted, and T is a positive integer.
[0027] The acquisition module may also be configured to acquire packet loss information corresponding to each of the T time slots, where the packet loss information corresponding to each time slot includes an average packet loss rate of each transmission node and each link in each time slot.
[0028] The processing module may also be configured to determine a target path based on packet loss information corresponding to each of the T time slots, wherein the sum of average packet loss rates of transmission nodes and links in the target path is the lowest.
[0029] In some possible implementations, the acquisition module may also be configured to acquire first parameter information, where the first parameter information includes an upper bound on the end-to-end delay.
[0030] The processing module may also be configured to determine a first bandwidth from the multiple bandwidths, wherein the average bandwidth of a link corresponding to the first bandwidth is smaller than the average bandwidth of links corresponding to other bandwidths, and the other bandwidth is any bandwidth among the multiple bandwidths except the first bandwidth.
[0031] The processing module may further be configured to determine a first delay from the multiple delays, where the propagation delay of the link corresponding to the first delay is greater than the propagation delay of the links corresponding to the other delays, and the other delays are any delays from the multiple delays except the first delay.
[0032] The processing module may also be configured to determine a time slot granularity based on the data volume, the first bandwidth, and the first delay, where the time slot granularity is an upper bound of the delay corresponding to each slotted transmission link in each time slot.
[0033] The processing module may also be configured to determine the T time slots based on the end-to-end delay upper bound and the time slot granularity.
[0034] In some possible implementations, the time slot granularity is equal to the maximum value of a first value and a second value, the first value is equal to the ratio of the data volume to the average bandwidth of the link corresponding to the first bandwidth, and the second value is equal to the propagation delay of the link corresponding to the first delay.
[0035] In some possible implementations, T is equal to a third value, and the third value is a minimum integer that is not less than the ratio of the end-to-end delay upper bound to the time slot granularity.
[0036] In some possible implementations, the first parameter information also includes a transmission start time.
[0037] The processing module can also be used to determine the target transmission period based on the start transmission time and the upper limit of the end-to-end delay, wherein the target transmission period includes T periods, and the T periods correspond one-to-one to the T time slots. Each period in the T periods is the transmission period of the time slot corresponding to each period.
[0038] In some possible implementations, when the processing module is configured to determine the target path based on the packet loss information corresponding to each of the T time slots, it is specifically configured to:
[0039] A first time extension graph is constructed according to the packet loss information corresponding to each time slot in the T time slots, and the first time extension graph includes the following information: multiple time slotted transmission nodes and multiple time slotted links in each time slot, and the average packet loss rate of each time slotted transmission node and each time slotted link in each time slot; a virtual source node and a virtual destination node are added to the first time extension graph to obtain a second time extension graph, and the second time extension graph includes the following information: multiple time slotted transmission nodes and multiple time slotted links in each time slot, the virtual source node and the virtual destination node, the average packet loss rate of each time slotted transmission node and each time slotted link in each time slot, and the average packet loss rate of T virtual sending links and T virtual receiving links, the T virtual sending links include the link from the virtual source node to the source node of each time slot in the T time slots, and the T virtual receiving links include the link from the destination node of each time slot in the T time slots to the virtual destination node; the target path is determined based on the second time extension graph and the first algorithm.
[0040] In some possible implementations, the first algorithm includes a Dijkstra algorithm.
[0041] In some possible implementations, the packet loss information corresponding to each time slot includes the reliability weight of each slotted transmission node and each slotted link in each time slot, the reliability weight of each slotted transmission node in each time slot is generated based on the average packet loss rate of each slotted transmission node in each time slot, and the reliability weight of each slotted link in each time slot is generated based on the average packet loss rate of each slotted link in each time slot.
[0042] In a third aspect, the present application provides a device for determining a data transmission path. The device includes a communication interface and a processor, and optionally, a memory. The memory is configured to store computer programs or instructions. The processor is coupled to the memory and the communication interface. When the processor executes the computer program or instructions, the device executes the method described in the first aspect.
[0043] Optionally, the device can be applied to an electronic device.
[0044] In a fourth aspect, the present application provides a computer-readable storage medium, which stores a program code for controlling the execution of a device, wherein the program code includes instructions for implementing the method in the first aspect.
[0045] In a fifth aspect, the present application provides a computer program product comprising instructions, which, when executed on a device for determining a data transmission path, enables the device to implement the method in the first aspect.
[0046] It can be understood that the effects that can be obtained from the second to fifth aspects can be referred to the description in the first aspect and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0048] Figure 1 A schematic diagram of a network system architecture applicable to this application;
[0049] Figure 2 A flowchart of a method for determining a data transmission path provided in an embodiment of the present application;
[0050] Figure 3 A schematic diagram of a network topology structure provided for one embodiment of the present application;
[0051] Figure 4 A schematic diagram of a first time expansion diagram provided for an embodiment of the present application;
[0052] Figure 5 A schematic diagram of a second time expansion diagram provided in one embodiment of the present application;
[0053] Figure 6 A schematic flow chart of a method for determining a target path based on a second time extension graph and a first algorithm provided in an embodiment of the present application;
[0054] Figure 7 A schematic diagram of a first time expansion diagram provided in another embodiment of the present application;
[0055] Figure 8 A schematic diagram of a second time expansion diagram provided in another embodiment of the present application;
[0056] Figure 9 A schematic diagram of the device structure provided in one embodiment of the present application;
[0057] Figure 10 A schematic diagram of the device structure provided in another embodiment of the present application.
[0058] The above drawings illustrate specific embodiments of the present application, which will be described in more detail below. These drawings and the textual description are not intended to limit the scope of the present application in any way, but rather to illustrate the concepts of the present application to those skilled in the art by reference to specific embodiments. DETAILED DESCRIPTION
[0059] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
[0060] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0061] It should be noted that the method for determining the data transmission path and the related devices of the present application can be used in the financial field, and can also be used in any field other than finance. The application field of the method for determining the data transmission path and the related devices of the present application is not limited.
[0062] The data transmission path determination method and related apparatus of this application can be applied to centralized or distributed networking architectures. In a centralized architecture, the network system may include a control node and multiple transmission nodes. The control node can centrally plan routes for all services in the network. In a distributed architecture, the network system may not include a control node. Each of the multiple transmission nodes can plan routes to its own service. This application will be described using a centralized architecture as an example.
[0063] Figure 1 This is a schematic diagram of a network system architecture applicable to this application. Figure 1 As shown, the network system architecture includes a control node and m transmission nodes, where m is a positive integer. The control node can communicate with any one of the m transmission nodes.
[0064] In the system, each of the m transmission nodes can be an electronic device capable of transmitting data, such as a computer or a server.
[0065] The m transmission nodes include a source node and a destination node. The source node may be a node that receives a user service request. After receiving the service request, the source node may send the service request to the destination node. The destination node may remember and provide corresponding services based on the service request.
[0066] Optionally, the service request received by the source node may include one or more service requests, and the source node may receive one or more service requests within a time period.
[0067] In some embodiments, the service request may also be referred to as service data, transaction data, or transmission data, which is not limited in this application.
[0068] As an example, suppose that the network system includes node A, node B and node C. When node A wants to send data to node B, node A is recorded as the source node of the data to be transmitted and node B is recorded as the destination node of the data to be transmitted. Node A can directly send the data to be transmitted to node B, or when the transmission resources between node A and node B are relatively tight, the data to be transmitted can be indirectly sent to node B through node C. At this time, node C plays the role of a relay, which is equivalent to realizing data transmission by forwarding the data to be transmitted.
[0069] The control node can be used to determine the data transmission path and control the m transmission nodes to transmit data based on the transmission path. Specifically, the control node can obtain network topology information, which includes all transmission paths from the source node to the destination node. The control node can select a suitable transmission path from all transmission paths as the target transmission path, and then control the m transmission nodes to transmit data based on the target transmission path.
[0070] Optionally, the control node may obtain network topology information based on m transmission nodes. For example, each of the m transmission nodes may store its own path information and send the path information to the control node. Accordingly, the control node may determine the network topology information based on the path information sent by each transmission node. The path information includes the transmission path of each transmission node.
[0071] As an example, assume that Node A is the source node for data to be transmitted, and Node B is the destination node for data to be transmitted. There are two transmission paths between Node A and Node B: Node A → Node B, and Node A → Node C → Node B. After the control node determines these two transmission paths, it selects one for transmission.
[0072] In this embodiment, multiple transmission paths may exist between the source node and the destination node. Each of these multiple transmission paths may include one or more links. As an example, assuming the transmission path is node A → node C → node B, the transmission path includes two links: a link from node A to node C and a link from node C to node B.
[0073] In this embodiment, the network topology information may further indicate multiple bandwidths and multiple delays. The multiple bandwidths correspond one-to-one to multiple links in the system, and each of the multiple bandwidths can be used to indicate the average bandwidth of the corresponding link. The multiple delays may also correspond one-to-one to multiple links in the system, and each of the multiple delays can be used to indicate the propagation delay of the corresponding link.
[0074] In this embodiment, after network configuration is completed, the bandwidth resources of each link are known and maintained by the control node. The control node can arrange end-to-end routing for each service and reserve the required transmission bandwidth, and update the average bandwidth available on each edge.
[0075] In this embodiment, transmission nodes can exchange neighbor discovery signaling (i.e., Hello packets) and link-state advertisements (LSAs) to obtain node adjacency information and link propagation delay information, thereby generating a basic forwarding table. Simultaneously, each transmission node can transmit this information to the control node, which maintains the network-wide topology and link propagation delay information.
[0076] Currently, the control node can select a transmission path based on the OSPF protocol. In this method, the control node can select a route with the minimum number of hops for transmission based on network topology information.
[0077] However, using this method for data transmission often results in low system reliability. For example, the amount of data to be transmitted on some links may exceed the available bandwidth, resulting in long data transmission delays or even large amounts of data transmission failure or loss.
[0078] The method for determining a data transmission path provided in this application is intended to solve the problem of low system reliability in the prior art.
[0079] In the technical solution of the present application, the control node can obtain network information, which includes network topology information, the amount of data to be transmitted, the upper bound of end-to-end delay, etc., and then determine T time slots based on this network information, and obtain the packet loss situation corresponding to each time slot in these T time slots. The packet loss situation corresponding to each time slot includes the average packet loss rate of each transmission node and each link in each time slot. Finally, a path with the lowest average packet loss rate is selected from multiple transmission paths as the target transmission path. Among them, the average packet loss rate of the target path is the smallest, which can reduce the number of data packet losses and is conducive to improving the reliability of data transmission. In addition, each time slot in the T time slots can transmit a part of the data, avoiding data congestion when the data to be transmitted is transmitted at the same time, which is conducive to meeting the end-to-end delay requirements.
[0080] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0081] Figure 2 A flow chart of a method for determining a data transmission path provided in an embodiment of the present application. Figure 2 As shown, the method may include S201 to S205.
[0082] In this embodiment, the method can be applied to Figure 1 For example, the method may be implemented by a control node, or by a chip in the control node, or by an application or service in the control node.
[0083] S201: Obtain the amount of data to be transmitted.
[0084] In some possible implementations, the amount of data to be transmitted may be obtained based on a source node.
[0085] For example, a user may input a service request at the source node. The source node determines the amount of data to be transmitted based on the service request input by the user and sends indication information to the control node. The indication information may be used to indicate the amount of data to be transmitted.
[0086] In this embodiment, the amount of data to be transmitted may be M, where M is a positive integer.
[0087] S202. Obtain network topology information, where the network topology information indicates a source node, a destination node, multiple links between the source node and the destination node, multiple bandwidths, and multiple delays. The multiple bandwidths correspond one-to-one to the multiple links, and the multiple delays correspond one-to-one to the multiple links. Each bandwidth in the multiple bandwidths is an average bandwidth of the corresponding link, and each delay in the multiple delays is a propagation delay of the corresponding link.
[0088] In this embodiment, the method for obtaining network topology information can refer to the existing technology and will not be described in detail here.
[0089] In some implementations, the network topology information can be represented based on a network topology map.
[0090] Figure 3 A schematic diagram of a network topology structure provided in an embodiment of the present application. In this example, the network system includes five transmission nodes: S, A, B, C, and D, where S is the source node and D is the destination node.
[0091] The links of the network system include: S→A, S→C, A→B, A→C, A→D, B→D, C→D.
[0092] Each link has corresponding bandwidth and delay. The bandwidth is the average bandwidth of the link, and the delay is the average delay of the link.
[0093] The bandwidth in this network system includes: W S,A 、W S,C 、W A,B 、W A,C 、W A,D 、W B,D 、W C,D , where W S,A represents the average bandwidth of the link S→A, W S,C represents the average bandwidth of the link S→C, W A,B represents the average bandwidth of the link A→B, W A,C represents the average bandwidth of the link A→C, W A,D represents the average bandwidth of the link A→D, W B,D represents the average bandwidth of the link B→D, W C,D It represents the average bandwidth of the link C→D.
[0094] The delay in this network system includes: L S,A 、L S,C 、L A,B 、L A,C 、L A,D 、L B,D 、L C,D , where L S,A represents the average delay of the link S→A, L S,C represents the average delay of the link S→C, L A,B represents the average delay of the link A→B, L A,C represents the average delay of the link A→C, L A,D represents the average delay of the link A→D, L B,D represents the average delay of the link B→D, L C,D represents the average delay of the link C→D.
[0095] S203. Determine T time slots based on the data volume and network topology information. Each of the T time slots includes multiple slotted transmission nodes and multiple slotted links. The slotted transmission nodes are transmission nodes obtained after the transmission nodes are time slotted. The slotted links are transmission links obtained after the transmission links are time slotted. T is a positive integer.
[0096] In this embodiment, the size (or granularity) of each of the T time slots is τ, and the T time slots can be: τ1, τ2, ..., τ T .
[0097] In this embodiment, each transmission node in the network system may include T time-slotted transmission nodes, and these T time-slotted transmission nodes correspond one-to-one to T time slots. The T time-slotted transmission nodes of each transmission node can be used to perform all or part of the services of the transmission node.
[0098] As an example, the transmission node S may include T slotted transmission nodes: S1, S2, ..., S T Where S1 represents the slotted transmission node corresponding to the transmission node S in time slot τ1, S2 represents the slotted transmission node corresponding to the transmission node S in time slot τ2, and so on. T Indicates that the transmission node S is in time slot τ T The corresponding slotted transmission node.
[0099] In some possible implementations, a method for determining T time slots based on data volume and network topology information may include: obtaining first parameter information, the first parameter information including an upper bound on end-to-end delay; determining a first bandwidth from multiple bandwidths, the average bandwidth of a link corresponding to the first bandwidth being less than the average bandwidth of links corresponding to other bandwidths, the other bandwidths being any bandwidth from the multiple bandwidths other than the first bandwidth; determining a first delay from multiple delays, the propagation delay of a link corresponding to the first delay being greater than the propagation delay of links corresponding to other delays, the other delays being any delay from the multiple delays other than the first delay; determining a time slot granularity based on the data volume of data to be transmitted, the first bandwidth, and the first delay, the time slot granularity being the upper bound on the delay corresponding to each slotted transmission link in each time slot; and determining the T time slots based on the end-to-end delay upper bound and the time slot granularity.
[0100] End-to-end latency is the sum of all transmission, processing, and queuing delays along the path. Simply put, end-to-end latency can be considered the maximum allowable delay between a service being generated and transmitted at the source node and being received at the destination node. Accordingly, the upper bound on end-to-end latency is the maximum delay for data to be transmitted from the source node to the destination node.
[0101] Optionally, the transmission bandwidth and end-to-end delay upper bounds can be pre-set. For example, some augmented reality (AR) or virtual reality (VR) services require a transmission bandwidth of no less than 40 Mbps (megabits per second) and an end-to-end delay upper bound of no more than 20 ms (milliseconds).
[0102] In this embodiment, the first bandwidth may be a bandwidth with the smallest average link bandwidth among multiple bandwidths. As an example, assuming that the bandwidths include: S,A 、W S,C 、W A,B 、W A,C 、W A,D 、W B,D 、W C,D , if W S,A The average bandwidth of is the smallest, then W S,A The first bandwidth.
[0103] The first delay may be the delay with the largest propagation delay among the multiple delays. As an example, assuming that the delays include: L S,A 、L S,C 、L A,B 、L A,C 、L A,D 、L B,D 、L C,D , if L S,A The propagation delay of S,A The first delay.
[0104] In some possible implementations, the time slot granularity may be determined based on formula (1):
[0105] τ=max{a,b} (1)
[0106] Wherein, τ represents the time slot granularity, a represents the ratio of the amount of the data to be transmitted to the average bandwidth of the link corresponding to the first bandwidth, b represents the propagation delay of the link corresponding to the first delay, and max{·} represents the maximum value.
[0107] As an example, assume that the amount of data to be transmitted is M, and the average bandwidth of the link corresponding to the first bandwidth is W. min , then a=M / W min Assume that the propagation delay of the link corresponding to the first delay is L max , then b=L max .
[0108] In some possible implementations, the number of time slots T may be determined based on formula (2):
[0109]
[0110] Wherein, B represents the upper bound of the end-to-end delay, τ represents the time slot granularity, Indicates rounding down.
[0111] In some other possible implementations, the number of time slots T may also be determined based on formula (3):
[0112]
[0113] in, Indicates rounding up.
[0114] Optionally, the first parameter information also includes a transmission start time. The control node may obtain the transmission start time based on the source node. For example, the source node may send indication information to the control node, where the indication information is used to indicate that the source node received the service request at a first time, and the control node may use the first time as the transmission start time.
[0115] After the control node obtains the start transmission time, it can determine the target transmission period based on the start transmission time and the upper bound of the end-to-end delay. The target transmission period refers to the time range from the start transmission time generated by the service at the source node to the latest reception time when the service is received by the destination node.
[0116] In this embodiment, the target transmission period may include T periods, wherein the T periods may correspond one-to-one to the T time slots, and each of the T periods may be a transmission period of a corresponding time slot.
[0117] For example, assuming that the transmission start time is 0 and the upper bound of the end-to-end delay is B, the target transmission period can be determined based on formula (4):
[0118] H=[O,O+B) (4)
[0119] Wherein, H represents the target transmission period.
[0120] Accordingly, the time period corresponding to each time slot in the T time slots can be: τ k =[O+(k-1)·τ,O+k·τ), where τ k represents the kth time slot.
[0121] In this method, each time slot has a corresponding transmission period. In this way, the control node can control the slotted transmission nodes in each time slot to transmit data within the corresponding transmission time, which is conducive to avoiding network congestion in each time slot and improving system reliability.
[0122] S204 , obtaining packet loss information corresponding to each of the T time slots, where the packet loss information corresponding to each time slot includes an average packet loss rate of each slotted transmission node and each slotted link in each time slot.
[0123] In this embodiment, the packet loss information is used to indicate a packet loss situation, and the packet loss situation can be characterized based on an average packet loss rate.
[0124] Each slotted transmission node can collect the following information: the number of packets entering the node in each time slot (N1), the number of packets added (N2) or removed (N3) from the node's cache in each time slot (N4), and the number of packets leaving the node in each time slot (N4). After obtaining this information, the slotted transmission node can transmit it to the control node, which can then calculate the average packet loss rate of the slotted transmission node in each time slot based on this information: or
[0125] For each slotted link, the upstream node of the slotted link can count the number of packets leaving through its egress port in each time slot (S1) and transmit this information to the control node. Additionally, the downstream node of the slotted link can count the number of packets entering through its ingress port in each time slot (S2) and transmit this information to the control node. Based on S1 and S2, the control node can determine the average packet loss rate for each slotted link:
[0126] In this embodiment, for each time slot, the average packet loss rate of each time slotted link can be expressed as: The average packet loss rate of each slotted transmission node can be expressed as:
[0127] S205 , determining a target path based on packet loss information corresponding to each of the T time slots, wherein the sum of average packet loss rates of transmission nodes and links in the target path is the lowest.
[0128] Optionally, the method for determining the target path based on the packet loss information corresponding to each time slot in T time slots may include: constructing a first time extension graph based on the packet loss information corresponding to each time slot in T time slots, and the first time extension graph may include the following information: multiple time slotted transmission nodes and multiple time slotted links in each time slot, and the average packet loss rate of each time slotted transmission node and each time slotted link in each time slot; adding a virtual source node and a virtual destination node in the first time extension graph to obtain a second time extension graph, and the second time extension graph includes the following information: multiple time slotted transmission nodes and multiple time slotted links in each time slot, a virtual source node and a virtual destination node, the average packet loss rate of each time slotted transmission node and each time slotted link in each time slot, and the average packet loss rate of T virtual sending links and T virtual receiving links, the T virtual sending links include the link from the virtual source node to the source node of each time slot in the T time slots, and the T virtual receiving links include the link from the destination node of each time slot in the T time slots to the virtual destination node; determining the target path based on the second time extension graph and the first algorithm.
[0129] Figure 4A schematic diagram of a first time extension diagram provided by an embodiment of the present application. In this example, each of T time slots includes five slotted transmission nodes.
[0130] In this example, the first time slot includes five slotted transmission nodes: S 1 、A 1 、B 1 、C 1 and D 1 , S 1 is the first node of the first time slot, D 1 is the destination node of the first time slot; the second time slot includes five slotted transmission nodes: S 2 、A 2 、B 2 、C 2 and D 2 , S 2 is the first node of the first time slot, D 2 is the destination node of the first time slot; and so on, the Tth time slot includes five slotted transmission nodes: S T 、A T 、B T 、C T and D T , S T is the first node of the first time slot, D T is the destination node of the first time slot.
[0131] In this example, for each time slot, there may be multiple slotted links between the five slotted transmission nodes, each of which has its own corresponding average packet loss rate. In some embodiments, the slotted links may also be referred to as transmission edges.
[0132] For example, in the first time slot, the slotted links between five slotted transmission nodes may include: S 1 →A 1 、S 1 →C 1 、A 1 →B 1 、A 1 →C 1 、A 1 →D 1 、B 1 →D 1 、C 1 →D 1 , the average packet loss rates corresponding to these slotted links can be expressed as:
[0133] In this example, for each transmission node, one transmission node may include T time-slotted transmission nodes. Among the T time-slotted transmission nodes, the first T-1 transmission nodes have corresponding average packet loss rates.
[0134] For example, taking the transmission node S as an example, the transmission node S may include T time-slotted transmission nodes: S 1 、S 2 ,…,S T The average packet loss rates corresponding to the first T-1 transmission nodes can be:
[0135] In addition, there may be a storage link between every two adjacent slotted transmission nodes among the T time slotted transmission nodes. In some embodiments, the storage link may also be referred to as a storage edge.
[0136] For example, taking the transmission node S as an example, the storage links between the T time-slotted transmission nodes of the transmission node S may include: S 1 →S 2 、S 2 →S 3 ,…,S T-1 →S T .
[0137] Figure 5 A schematic diagram of a second time expansion diagram provided by an embodiment of the present application. In this example, the second time expansion diagram adds a virtual source node based on the first time expansion diagram. and virtual destination node and virtual source nodes The transmission link to the source node of each time slot and each destination node to the virtual destination node transmission link.
[0138] Among them, the virtual source node The transmission link to the source node of each time slot can also be called a virtual transmission link, and the average packet loss rate of each virtual transmission link can be recorded as 0. The transmission link can also be called a virtual receiving link, and the average packet loss rate of each virtual receiving link can also be recorded as 0.
[0139] In this embodiment, after the control node constructs the second time extension graph, it may determine the target path based on the second time extension graph and the first algorithm.
[0140] As an example, the first algorithm may include a Dijkstra algorithm.
[0141] It can be understood that the Dijkstra algorithm is only an example of the first algorithm and does not limit the scope of the first algorithm.
[0142] Optionally, a flow chart of a method for determining a target path based on the second time extension graph and the first algorithm can be as follows: Figure 6 shown.
[0143] In S601, a first node is determined from a second time extension graph, where the first node is any one of a plurality of slotted transmission nodes in the second time extension graph, and the first node is located in a first set.
[0144] In this method, all nodes in the second time-extended graph can be distributed in a first set and a second set, wherein the nodes in the first set are different from the nodes in the second set, and the total number of nodes in the first set and the second set is equal to the number of nodes in the second time-extended graph.
[0145] The first set may include at least one node, and the second set may also include at least one node.
[0146] During initialization, the virtual source node may be determined as the first node. In this case, the first set includes the virtual source node, and the second set includes all nodes except the virtual source node.
[0147] Combine Figure 5 , assuming that the first set can be recorded as Z1 and the second set can be recorded as Z2, then Where V represents all nodes in the second time expansion graph, Indicates that V All nodes except .
[0148] In S602, a second node is determined from the second set, a first transmission link exists between the second node and the first node, and an average packet loss rate of the first transmission link is lower than an average packet loss rate of a transmission link between the first node and other nodes, and the other node is any node in the second set except the second node.
[0149] In this embodiment, the number of the second node may be at least one.
[0150] In this method, the method of determining the second node from the second set may include: first determining a target node that has a transmission link with the first node from the second set, then comparing the average packet loss rate of each of these transmission links, and determining the target node of the transmission link with the lowest average packet loss rate as the second node.
[0151] Combine Figure 5 As an example, assume that the first node is the source node Since the second set is related to the source node The target nodes with transmission links include S1 、S 2 ,…,S T , and the source node If the average packet loss rate with each target node is 0, any one of the multiple target nodes can be determined as the second node.
[0152] As another example, assume that the first node is S 1 , the target nodes with transmission links in the second set include S 2 、A 1 and C 1 , and S 1 The relevant transmission links include three: S 1 →S 2 、S 1 →A 1 、S 1 →C 1 , the average packet loss rates corresponding to these three transmission links are: and like is the minimum value among the three average packet loss rates, then A 1 Determine the second node.
[0153] In S603, a first average packet loss rate is calculated, where the first average packet loss rate includes an average packet loss rate of a path from the first node to other nodes via the second node.
[0154] In this embodiment, the number of the first average packet loss rate may be at least one.
[0155] Combine Figure 5 , assuming the first node is S 1 , the second node is A 1 , the other nodes are D 1 , then the path from the first node to other nodes through the second node includes: ①S 1 →A 1 →D 1 ;②S 1 →A 1 →B 1 →D 1 ; ③S 1 →A 1 →C 1 →D 1 The first average packet loss rate includes the average packet loss rates of the three paths.
[0156] For any path, the average packet loss rate of the path is equal to the sum of the average packet loss rates of each link in the path.
[0157] In S604, a second average packet loss rate is calculated, where the second average packet loss rate includes an average packet loss rate of links between the first node and other nodes when the first node does not pass through the second node.
[0158] In this embodiment, the number of the second packet loss rate may be at least one.
[0159] Combine Figure 5 , assuming the first node is S 1 , the second node is A 1 , the other nodes are D 1 , then the paths from the first node to other nodes that do not pass through the second node include: S 1 →C 1 →D 1 , then the second average packet loss rate includes the average packet loss rate of the path, and the average packet loss rate of the path is equal to the sum of the average packet loss rates of each link in the path.
[0160] In S605, it is determined whether the first average packet loss rate is less than or equal to the second average packet loss rate. If so, execute S606; otherwise, execute S607.
[0161] Optionally, when the first average packet loss rate includes one and the second average packet loss rate includes multiple, determining whether the first average packet loss rate is less than or equal to the second average packet loss rate can be understood as determining whether the first average packet loss rate is less than or equal to any one of the second average packet loss rates.
[0162] Optionally, when the first average packet loss rate includes multiple first average packet loss rates and the second average packet loss rate includes one, determining whether the first average packet loss rate is less than or equal to the second average packet loss rate can be understood as determining whether there is one first average packet loss rate such that the first average packet loss rate is less than or equal to the second average packet loss rate.
[0163] In S606 , the second node is updated to the first set, and the second node is updated to the first node.
[0164] In this embodiment, updating the second node to the first set can be understood as removing the second node from the second set and adding the second node to the first set.
[0165] In this embodiment, the sum of the average packet loss rates in the first set is equal to the sum of the average packet loss rate between the virtual source node and the first node and the average packet loss rate between the first node and the second node.
[0166] In S607, a third node is determined from the second set, a transmission link exists between the third node and the first node, and the average packet loss rate of the link from the first node to other nodes through the third node is the lowest.
[0167] Combine Figure 5 , assuming the first node is S 1 , the second node is A 1 , the other nodes are D 1 , assuming S 1 By A 1 to D 1 The average packet loss rate of the path between is greater than S 1 By C 1 to D 1 The average packet loss rate of the path between 1 Determined as the third node.
[0168] In some embodiments, the third node may be the same node as the other nodes.
[0169] In S608 , the third node is updated to the first set, and the third node is updated to the first node.
[0170] In this embodiment, updating the third node to the first set can be understood as removing the third node from the second set and adding the third node to the first set.
[0171] In this embodiment, the sum of the average packet loss rates in the first set is equal to the sum of the average packet loss rate between the virtual source node and the first node and the average packet loss rate between the first node and the third node.
[0172] In S609, it is determined whether the first set includes a virtual destination node. If so, execute S610; otherwise, execute S601.
[0173] In this embodiment, when the first set includes a virtual destination node, it means that the transmission nodes in the first set can complete end-to-end transmission.
[0174] In S610 , a target path is determined based on the nodes in the first set.
[0175] In this embodiment, since the nodes in the first set are obtained based on the average packet loss rate of the link, the upstream node and downstream node corresponding to each node can be obtained based on each node in the first set, and then the target path can be determined based on the upstream node and downstream node of each node.
[0176] Combine Figure 5 , assuming S 1 and D 1The link between them is S 1 →A 1 →D 1 , then A 1 For S 1 The downstream node, S 1 A 1 The upstream node, D 1 A 1 The downstream node, A 1 D 1 upstream node.
[0177] In some possible implementations, packet loss can also be characterized by reliability weights. Accordingly, the packet loss information corresponding to each time slot includes the reliability weights of each slotted transmission node and each slotted link in each time slot.
[0178] The reliability weight of each slotted transmission node may be generated based on the average packet loss rate of each slotted transmission node, and the reliability weight of each slotted link may be generated based on the average packet loss rate of each slotted link.
[0179] As an example, for each time slot, it is assumed that the reliability weight of each time slotted link can be written as: The reliability weight of each slotted link ranges from [0,∞). The smaller the reliability weight of each slotted link, the higher the probability of successfully transmitting a service packet along the slotted link.
[0180] Alternatively, the reliability weight of each slotted link may be generated based on the average packet loss rate of each slotted link.
[0181] For example, in the first time slot, the slotted links between five slotted transmission nodes may include: S 1 →A 1 、S 1 →C 1 、A 1 →B 1 、A 1 →C 1 、A 1 →D 1 、B 1 →D 1 、C 1 →D 1 , the reliability weights corresponding to these slotted links can be recorded as:
[0182] As an example, for each time slot, it is assumed that the reliability weight of each time slotted transmission node can be recorded as: The reliability weight of each slotted transmission node ranges from [0 to ∞). The smaller the reliability weight of each slotted transmission node, the higher the probability of successfully caching services along the slotted transmission node.
[0183] Optionally, the reliability weight of each slotted transmission node may also be generated based on the average packet loss rate of each slotted transmission node.
[0184] For example, taking the transmission node S as an example, the transmission node S may include T time-slotted transmission nodes: S 1 、S 2 ,…,S T The reliability weights corresponding to the first T-1 transmission nodes can be:
[0185] Accordingly, the first time extension diagram can be as follows Figure 7 As shown, the second time expansion diagram can be as follows Figure 8 shown.
[0186] In the technical solution of the present application, after the control node determines the target path, it can send first information to each transmission node, where the first information is used to indicate the target path. In this way, each transmission node can transmit data based on the transmission path to meet service transmission requirements.
[0187] In the technical solution of the present application, the transmission nodes in the network system have the lowest end-to-end packet loss rate while meeting the end-to-end delay requirements, and can provide time-determined and highly reliable transmission services for new time-sensitive services.
[0188] Figure 9 This is a schematic diagram of the device structure provided in one embodiment of the present application. Figure 9 As shown, the apparatus 900 includes an acquisition module 901 and a processing module 902 .
[0189] As an example, the apparatus 900 may be used to implement Figure 2 The method of the embodiment shown in FIG. 8 , wherein the acquisition module 901 can be used to execute S201 , S202 and S204 , and the processing module 902 can be used to execute S203 and S205 .
[0190] As another example, the apparatus 900 can also be used to implement Figure 6 The method of the embodiment shown in FIG. 9 , wherein the processing module 902 can be used to execute S601 to S610 .
[0191] Figure 10This is a schematic diagram of the device structure provided in another embodiment of the present application. Figure 10 As shown, apparatus 1000 may include a processor 1001 and an interface circuit 1002. Processor 1001 and interface circuit 1002 are coupled to each other. It will be appreciated that interface circuit 1002 may be a transceiver or an input / output interface. Optionally, apparatus 1000 may further include a memory 1003 for storing instructions executed by processor 1001, input data required by processor 1001 to execute instructions, or data generated after processor 1001 executes instructions.
[0192] As an example, the processor 1001 may be used to implement the functions of the processing module 902. The interface circuit 1002 may be used to implement the functions of the acquisition module 901.
[0193] The apparatus 1000 may be an electronic device or a chip used in an electronic device.
[0194] It should be noted that it should be understood that the division of the various modules of the above device is merely a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. Moreover, these modules can all be implemented in the form of software called by a processing element; they can also all be implemented in the form of hardware; some modules can also be implemented in the form of software called by a processing element, and some modules can be implemented in the form of hardware. It can be a separate processing element, or it can be integrated into a chip of the above device. In addition, it can also be stored in the memory of the above device in the form of program code, and called by a processing element of the above device to perform the functions of the above-mentioned determined module. The implementation of other modules is similar. In addition, these modules can all or partly be integrated together, or they can be implemented independently. The processing element described here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each of the above modules can be completed by the hardware integrated logic circuit in the processor element or by instructions in the form of software.
[0195] For example, the above modules may be one or more integrated circuits configured to implement the above methods, such as one or more application specific integrated circuits (ASICs), one or more digital signal processors (DSPs), or one or more field programmable gate arrays (FPGAs). For another example, when a module is implemented by scheduling program code on a processing element, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call program code. For another example, these modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0196] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)).
[0197] The present application also provides an electronic device comprising: a processor, a memory and a computer program; wherein the computer program is stored in the memory and is configured to be executed by the processor, and the computer program includes instructions for executing a method for determining a data transmission path as described in any of the aforementioned embodiments of the present application.
[0198] The present application also provides a computer-readable storage medium, which stores a computer program. The computer program enables a server to execute instructions of the method for determining a data transmission path as described in any of the aforementioned embodiments of the present application.
[0199] An embodiment of the present application further provides a chip for executing instructions, wherein the chip is used to execute the method for determining a data transmission path executed by an electronic device as described in any of the aforementioned embodiments of the present application.
[0200] An embodiment of the present application also provides a program product, which includes a computer program, which is stored in a storage medium. At least one processor can read the computer program from the storage medium, and when the at least one processor executes the computer program, it can implement the method for determining the data transmission path performed by the electronic device in any of the aforementioned embodiments of the present application.
[0201] Those skilled in the art will appreciate that all or part of the steps in the above-described method embodiments can be implemented using hardware associated with program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0202] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some or all of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for determining a data transmission path, characterized in that: The method comprises: Get the amount of data to be transmitted; Acquire network topology information, where the network topology information indicates a source node, a destination node, multiple links between the source node and the destination node, multiple bandwidths, and multiple delays, where the multiple bandwidths correspond one-to-one to the multiple links, the multiple delays correspond one-to-one to the multiple links, each bandwidth in the multiple bandwidths is an average bandwidth of the corresponding link, and each delay in the multiple delays is a propagation delay of the corresponding link; Determining T time slots based on the data volume and the network topology information, each of the T time slots includes a plurality of slotted transmission nodes and a plurality of slotted links, the slotted transmission nodes are transmission nodes obtained after a time slotting process is performed on the transmission nodes, the slotted links are transmission links obtained after a time slotting process is performed on the transmission links, and T is a positive integer; Obtaining packet loss information corresponding to each of the T time slots, where the packet loss information corresponding to each time slot includes an average packet loss rate of each of the multiple slotted transmission nodes and each of the multiple slotted links; determining a target path based on packet loss information corresponding to each of the T time slots, wherein the sum of average packet loss rates of slotted transmission nodes and slotted links in the target path is the lowest; The determining the target path based on the packet loss information corresponding to each of the T time slots includes: Constructing a first time extension graph based on the packet loss information corresponding to each time slot in the T time slots, wherein the first time extension graph includes the following information: a plurality of slotted transmission nodes and a plurality of slotted links in each time slot, and an average packet loss rate of each slotted transmission node and each slotted link in each time slot; Adding a virtual source node and a virtual destination node to the first time extension graph to obtain a second time extension graph, wherein the second time extension graph includes the following information: multiple slotted transmission nodes and multiple slotted links in each time slot, the virtual source node and the virtual destination node, an average packet loss rate of each slotted transmission node and each slotted link in each time slot, and an average packet loss rate of T virtual sending links and T virtual receiving links, wherein the T virtual sending links include a link from the virtual source node to the source node of each time slot in the T time slots, and the T virtual receiving links include a link from the destination node of each time slot in the T time slots to the virtual destination node; The target path is determined based on the second time extension graph and the first algorithm.
2. The method according to claim 1, characterized in that The determining T time slots based on the data volume and the network topology information includes: Acquire first parameter information, where the first parameter information includes an upper bound of end-to-end delay; Determine a first bandwidth from the multiple bandwidths, where an average bandwidth of a link corresponding to the first bandwidth is smaller than an average bandwidth of links corresponding to other bandwidths, where the other bandwidth is any bandwidth among the multiple bandwidths except the first bandwidth; Determining a first delay from the multiple delays, where the propagation delay of a link corresponding to the first delay is greater than the propagation delay of links corresponding to other delays, and the other delay is any delay among the multiple delays except the first delay; Determine a time slot granularity based on the data volume, the first bandwidth, and the first delay, where the time slot granularity is the delay upper bound corresponding to each time slotted transmission link in each time slot; The T time slots are determined based on the end-to-end delay upper bound and the time slot granularity.
3. The method according to claim 2, characterized in that The time slot granularity is equal to the maximum value of a first value and a second value, the first value is equal to the ratio of the data volume to the average bandwidth of the link corresponding to the first bandwidth, and the second value is equal to the propagation delay of the link corresponding to the first delay.
4. The method according to claim 3, characterized in that The T is equal to a third value, and the third value is a minimum integer that is not less than the ratio of the end-to-end delay upper bound to the time slot granularity.
5. The method according to claim 4, characterized in that The first parameter information also includes a transmission start time; The method further comprises: A target transmission period is determined based on the transmission start time and the upper bound of the end-to-end delay, wherein the target transmission period includes T periods, the T periods correspond one-to-one to the T time slots, and each period in the T periods is a transmission period of the time slot corresponding to each period.
6. The method according to claim 1, characterized in that The first algorithm includes Dijkstra's algorithm.
7. The method according to any one of claims 1 to 6, characterized in that The packet loss information corresponding to each time slot includes the reliability weight of each slotted transmission node and each slotted link in each time slot. The reliability weight of each slotted transmission node in each time slot is generated based on the average packet loss rate of each slotted transmission node in each time slot, and the reliability weight of each slotted link in each time slot is generated based on the average packet loss rate of each slotted link in each time slot.
8. A device for determining a data transmission path, comprising: An acquisition module, used to obtain the amount of data to be transmitted; The acquisition module is further configured to acquire network topology information, where the network topology information indicates a source node, a destination node, a plurality of links between the source node and the destination node, a plurality of bandwidths, and a plurality of delays, wherein the plurality of bandwidths corresponds one-to-one to the plurality of links, the plurality of delays corresponds one-to-one to the plurality of links, each of the plurality of bandwidths is an average bandwidth of a corresponding link, and each of the plurality of delays is a propagation delay of a corresponding link; a processing module, configured to determine T time slots based on the data volume and the network topology information, wherein each of the T time slots includes a plurality of slotted transmission nodes and a plurality of slotted links, the slotted transmission nodes being transmission nodes obtained after time slotting, the slotted links being transmission links obtained after time slotting, and T being a positive integer; The acquisition module is further configured to acquire packet loss information corresponding to each of the T time slots, where the packet loss information corresponding to each time slot includes an average packet loss rate of each transmission node and each link in each time slot; The processing module is further configured to determine a target path based on packet loss information corresponding to each of the T time slots, wherein the sum of average packet loss rates of transmission nodes and links in the target path is the lowest; The processing module is specifically used to construct a first time extension graph according to the packet loss information corresponding to each time slot in the T time slots, wherein the first time extension graph includes the following information: multiple time slotted transmission nodes and multiple time slotted links in each time slot, and the average packet loss rate of each time slotted transmission node and each time slotted link in each time slot; a virtual source node and a virtual destination node are added to the first time extension graph to obtain a second time extension graph, wherein the second time extension graph includes the following information: multiple time slotted transmission nodes and multiple time slotted links in each time slot, the virtual source node and the virtual destination node, the average packet loss rate of each time slotted transmission node and each time slotted link in each time slot, and the average packet loss rate of T virtual sending links and T virtual receiving links, wherein the T virtual sending links include the link from the virtual source node to the source node of each time slot in the T time slots, and the T virtual receiving links include the link from the destination node of each time slot in the T time slots to the virtual destination node; The target path is determined based on the second time extension graph and the first algorithm.
9. An electronic device, characterized in that: include: a processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 7 when executed by a processor.
11. A computer program product, characterized in that The computer program product comprises instructions for implementing the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Low-duty-ratio wireless sensor network node sleep method based on link quality
CN105101369A
Low-orbit satellite routing improvement method based on virtual topology
CN111416655A