Data transmission method, device, equipment, and storage medium

By automatically identifying abnormal links and recommending alternative paths, the manual maintenance problem after network exceptions is solved and data transmission efficiency is improved.

CN115767664BActive Publication Date: 2025-08-26CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111026400.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-02
Publication Date
2025-08-26
Estimated Expiration
2041-09-02

AI Technical Summary

Technical Problem

In the prior art, network maintenance is required after network abnormalities, resulting in large consumption of human and material resources and long maintenance time, affecting data transmission efficiency.

Method used

By obtaining the network performance parameters of the link, the abnormal link is automatically determined and alternative paths are recommended for data transmission, avoiding manual maintenance.

Benefits of technology

It realizes that in the abnormal network, no manual intervention is required, and the alternative path is automatically selected for data transmission, which reduces processing time and improves data transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115767664B_ABST
    Figure CN115767664B_ABST
Patent Text Reader

Abstract

The present application discloses a data transmission method, apparatus, device and storage medium, the method comprising: obtaining network performance parameters of each of at least three links; wherein the links comprise: a line through which a first node transmits data to a second node, the second node being a reachable node adjacent to the first node; determining an abnormal link based on the network performance parameters of each link; based on the abnormal link, determining a recommended path from at least one normal link to transmit the data to be transmitted through the recommended path; the normal link is a link in the at least three links other than the abnormal link; the data to be transmitted is the data to be transmitted through the abnormal link. This solution can automatically determine a recommended path for data transmission after a network anomaly occurs, without consuming excess manpower and material resources for network maintenance, reducing processing time after a network anomaly occurs, and improving data transmission efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and is related to, but not limited to, a data transmission method and apparatus, equipment, and storage medium. Background Art

[0002] Network performance parameters are important indicators of network quality, primarily including bandwidth, latency, packet loss rate, and jitter. With the rapid development of information technology, network system deployment has increased annually, and network quality monitoring is also undergoing continuous improvement and upgrades. Network quality monitoring systems can obtain the network performance parameters of each node in the network and then determine whether there are any network anomalies based on these parameters.

[0003] In related technologies, after a network quality monitoring system identifies a network anomaly, manual network maintenance is required to re-determine a new transmission path. However, manual network maintenance consumes significant manpower and material resources, takes a long time, and, because data transmission cannot be performed during the maintenance period, data transmission efficiency is reduced. Summary of the Invention

[0004] The present application provides a data transmission method and apparatus, equipment, and storage medium. This solution can automatically determine a recommended path for data transmission after a network anomaly occurs, eliminating the need to consume excess manpower and material resources for network maintenance, reducing processing time after network anomalies, and improving data transmission efficiency.

[0005] The technical solution of this application is achieved as follows:

[0006] The present application provides a data transmission method, the method comprising:

[0007] Obtaining network performance parameters of each of the at least three links; wherein the link comprises: a line through which a first node transmits data to a second node, where the second node is a reachable node adjacent to the first node;

[0008] determining an abnormal link based on a network performance parameter of each of the links;

[0009] Based on the abnormal link, a recommended path is determined from at least one normal link to transmit the data to be transmitted through the recommended path; the normal link is a link in the at least three links except the abnormal link; the data to be transmitted is data to be transmitted through the abnormal link.

[0010] The present application provides a data transmission device, comprising:

[0011] an acquiring unit, configured to acquire network performance parameters of each of the at least three links; wherein the link comprises: a line through which a first node transmits data to a second node, the second node being a reachable node adjacent to the first node;

[0012] a determining unit, configured to determine an abnormal link based on a network performance parameter of each of the links;

[0013] A recommendation unit is configured to determine a recommended path from at least one normal link based on the abnormal link, so as to transmit the data to be transmitted through the recommended path; the normal link is a link among the at least three links excluding the abnormal link; and the data to be transmitted is data to be transmitted through the abnormal link.

[0014] The present application also provides a data transmission device, comprising: a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and the processor implements the above-mentioned data transmission method when executing the program.

[0015] The present application also provides a storage medium on which a computer program is stored. When the computer program is executed by a processor, the above-mentioned data transmission method is implemented.

[0016] The data transmission method, apparatus, device and storage medium provided by the present application include obtaining the network performance parameters of each of the at least three links; wherein the links include: a line through which a first node transmits data to a second node, the second node being a reachable node adjacent to the first node; determining an abnormal link based on the network performance parameters of each link; determining a recommended path from at least one normal link based on the abnormal link, so as to transmit the data to be transmitted through the recommended path; the normal link is a link other than the abnormal link among the at least three links; the data to be transmitted is the data to be transmitted through the abnormal link. After determining that a link of the tested network is abnormal, the scheme can automatically determine a recommended path in the normal link based on the network performance parameters of each node, so as to replace the abnormal link with the recommended path to transmit data; in this way, on the one hand, the scheme can automatically determine the recommended path for data transmission without consuming excess manpower and material resources for network maintenance; on the other hand, it avoids manual maintenance, reduces the processing time after the network abnormality, and improves data transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 A schematic diagram of an optional structure of a data transmission system provided in an embodiment of the present application;

[0018] Figure 2 A schematic diagram of an optional flow chart of the data transmission method provided in an embodiment of the present application;

[0019] Figure 3 A schematic diagram of an optional structure of a network under test provided in an embodiment of the present application;

[0020] Figure 4 A schematic diagram of an optional flow chart of the data transmission method provided in an embodiment of the present application;

[0021] Figure 5 A schematic diagram of an optional flow chart of the data transmission method provided in an embodiment of the present application;

[0022] Figure 6 A schematic diagram of an optional flow chart of the data transmission method provided in an embodiment of the present application;

[0023] Figure 7 A schematic diagram of an optional flow chart of the data transmission method provided in an embodiment of the present application;

[0024] Figure 8 A schematic diagram of an optional flow chart of the data transmission method provided in an embodiment of the present application;

[0025] Figure 9 A schematic diagram of an optional flow chart of the data transmission method provided in an embodiment of the present application;

[0026] Figure 10 A schematic diagram of an optional flow chart of the data transmission method provided in an embodiment of the present application;

[0027] Figure 11 A schematic diagram of an optional structure of a data transmission system provided in an embodiment of the present application;

[0028] Figure 12 A schematic diagram of an optional flow chart of the data transmission method provided in an embodiment of the present application;

[0029] Figure 13 A schematic diagram of an optional flow chart of the data transmission method provided in an embodiment of the present application;

[0030] Figure 14 A schematic diagram of an optional structure of a network under test provided in an embodiment of the present application;

[0031] Figure 15 A schematic diagram of an optional structure of a data transmission device provided in an embodiment of the present application;

[0032] Figure 16 This is a schematic diagram of an optional structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0033] To make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the specific technical solutions of the application will be further described in detail below in conjunction with the drawings in the embodiments of the present application. The following embodiments are used to illustrate the present application but are not intended to limit the scope of the present application.

[0034] In the following description, reference is made to “some embodiments”, which describes a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0035] In the following description, the terms "first, second, and third" are used merely as examples to distinguish between different objects and do not represent a specific order or precedence for the objects. It is understood that the specific order or precedence of "first, second, and third" can be interchanged where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.

[0036] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application pertains. The terms used herein are for the purpose of describing the embodiments of this application only and are not intended to limit this application.

[0037] In order to facilitate understanding of the technical solution of this application, the nouns or technical terms involved in this application are explained below.

[0038] 1) A node, also known as a node device, refers to any hardware device in a network. For example, a node can be a server or a host. A node with management or control functions in a network is called a control node.

[0039] 2) Reachable nodes: If node A can transmit data to node B, node B is considered a reachable node of node A; if node A can transmit data directly to node B without passing through other nodes, node B is considered an adjacent reachable node of node A.

[0040] 3) Link refers to the line through which a node transmits data to its adjacent reachable nodes; the node that sends data in a link can be called the first node, and the node that receives data in a link can be called the second node.

[0041] 4) Path refers to a connection line consisting of one or more links.

[0042] 5) Network performance parameters: parameters used to characterize network transmission quality. Network performance parameters may include one or more of the following: latency, packet loss rate, and jitter time.

[0043] 6) Hybrid performance parameters, which are comprehensive parameters used to characterize network transmission quality; wherein, the hybrid performance parameters can be the fusion result of different types of network performance parameters.

[0044] The embodiments of the present application may provide a data transmission method and apparatus, a device, and a storage medium. In practical applications, the data transmission method may be implemented by a data transmission apparatus, and the functional entities in the data transmission apparatus may be collaboratively implemented by hardware resources of an electronic device (such as a terminal device), such as computing resources such as a processor, and communication resources (such as those used to support various communication methods such as optical cables and cellular communications).

[0045] The data transmission method provided in the embodiments of the present application is applied to a data processing system, wherein the data processing system includes a data processing terminal. In one example, the data processing system may also include a client. In another example, the data processing system may also include a node device.

[0046] As an example, the structure of the data processing system may be as follows Figure 1 As shown, it includes: a client 10 and a data processing terminal 20.

[0047] In one example, the client 10 and the data processing end 20 may be the same physical entity; in another example, Figure 1 As shown, the client 10 and the data processing end 20 may be different physical entities, and the client 10 and the data processing end 20 interact with each other through a network 30 .

[0048] Here, the client 10 is used to receive user operations and, based on the user operations, send requests to the data processing terminal 20. The data processing terminal 20 is used to receive the requests sent by the client 10 and, based on the requests, detect abnormal links and determine recommended paths.

[0049] In the embodiment of this application, based on Figure 1 In the data processing system shown, a client sends a first instruction to a data processing end, and the data processing end receives the first instruction and executes: obtaining network performance parameters of each of at least three links; wherein the links include: a line through which a first node transmits data to a second node, and the second node is a reachable node adjacent to the first node; determining an abnormal link based on the network performance parameters of each link; based on the abnormal link, determining a recommended path from at least one normal link; the normal link is a link among the at least three links other than the abnormal link; the recommended path is used to transmit data to be transmitted; and the data to be transmitted is data to be transmitted through the abnormal link.

[0050] Next, combine Figure 1The schematic diagram of the data processing system shown illustrates various embodiments of the data transmission method and apparatus, device and storage medium provided in the embodiments of the present application.

[0051] This embodiment provides a data transmission method, which is applied to a data transmission device, wherein the data transmission device can be implemented on an electronic device serving as a data processing terminal. The functions implemented by this method can be implemented by a processor in the electronic device calling program code. Of course, the program code can also be stored in a computer storage medium. Therefore, the electronic device includes at least a processor and a storage medium.

[0052] The electronic device may be any device capable of processing relevant information. In one embodiment, the electronic device may be a server.

[0053] Of course, the embodiments of the present application are not limited to the provided methods and hardware, and there are also multiple implementation methods, such as providing it as a storage medium (storing instructions for executing the data transmission method provided by the embodiments of the present application).

[0054] The data transmission method provided in the embodiment of the present application is described below.

[0055] Figure 2 This is a flow chart of a data transmission method according to an embodiment of the present application, which is used to detect whether there is an abnormal link in the tested network, and determine a recommended path after determining that there is an abnormal link, so as to replace the abnormal link with the recommended path to transmit data.

[0056] The data transmission method may include but is not limited to Figure 2 The following S201 to S203 are shown.

[0057] S201: A control node obtains network performance parameters of each of at least three links.

[0058] A link includes: a line through which a first node transmits data to a second node, and the second node is a reachable node adjacent to the first node.

[0059] The network performance parameters of a link are used to characterize the network transmission quality of the link. The embodiment of the present application does not specifically limit the parameter content included in the network performance parameters of the link, and can be configured according to actual needs.

[0060] In one example, the network performance parameter of the link may include at least one of the following: transmission delay (also referred to as latency), packet loss rate, and jitter time when the first node transmits data to the second node.

[0061] In one embodiment, the network performance parameters of the link are obtained by the first node in the link based on the deployed probe service, and S201 can be implemented as follows: the control node receives the network performance parameters of the link involved by each first node reported by at least three first nodes.

[0062] In another embodiment, the network performance parameters of the link are obtained through manual testing. S201 may be implemented as follows: the control node receives the network performance parameters of each of the at least three links obtained through manual testing.

[0063] S202: The control node determines an abnormal link based on the network performance parameters of each link.

[0064] The control node traverses each link and determines whether the network transmission quality of each link meets the data transmission conditions based on the network performance parameters of each link. When the network transmission quality of a link does not meet the data transmission conditions, the link is an abnormal link, and when the network transmission quality of a link meets the data transmission conditions, the link is a normal link. When judging whether a link meets the data transmission conditions, the network performance parameters of the link can be directly matched with the data transmission conditions to obtain a matching result (whether the data transmission conditions are met); or the network performance parameters of the link can be converted into other parameters (for example, mixed performance parameters), and the other parameters of the link can be matched with the data transmission conditions to obtain a matching result. It can be understood that when matching with different types of parameters (network performance parameters or other parameters), the data transmission conditions may be the same or different.

[0065] The embodiments of the present application do not limit the specific content of the data transmission conditions and can be configured according to actual needs.

[0066] S203: The control node determines a recommended path from at least one normal link based on the abnormal link, so as to transmit the data to be transmitted through the recommended path.

[0067] The normal link is a link other than the abnormal link among the at least three links; and the data to be transmitted is data to be transmitted through the abnormal link.

[0068] The control node selects a path that can replace the abnormal link from the normal links excluding the abnormal link in the at least three links as a recommended path, so that the data to be transmitted can be transmitted through the recommended path instead of the abnormal link.

[0069] In one example, the network under test is Figure 3As shown in (A), there are three links: link 1 from node a to node b, link 2 from node a to node c, and link 3 from node c to node b. If the abnormal link is link 1, the recommended path is the path consisting of link 2 and link 3.

[0070] In another example, the network under test is Figure 3 As shown in (B), there are six links: link 11 from node E to node A, link 12 from node A to node B, link 13 from node B to node F, link 14 from node E to node C, link 15 from node C to node D, and link 16 from node D to node F. If the abnormal link is link 12, the recommended path is the path consisting of links 14, 15, and 16.

[0071] The data transmission scheme provided by the embodiment of the present application includes obtaining the network performance parameters of each of the at least three links; wherein the links include: a line through which a first node transmits data to a second node, the second node being a reachable node adjacent to the first node; determining an abnormal link based on the network performance parameters of each link; determining a recommended path from at least one normal link based on the abnormal link, so as to transmit the data to be transmitted through the recommended path; the normal link is a link other than the abnormal link among the at least three links; the data to be transmitted is the data to be transmitted through the abnormal link. After determining that a link of the tested network is abnormal, the scheme can determine a recommended path in the normal link based on the network performance parameters of each node, so as to replace the abnormal link with the recommended path to transmit data; in this way, on the one hand, the scheme can automatically determine the recommended path for data transmission without consuming excess manpower and material resources for network maintenance; on the other hand, it avoids manual maintenance, reduces the processing time after the network abnormality, and improves data transmission efficiency.

[0072] The following two implementations are included for determining the abnormal link of the control node in S202:

[0073] Implementation method A: Determine abnormal links based on the network performance parameters of the links;

[0074] Implementation method B: determining abnormal links based on mixed performance parameters of the links.

[0075] For implementation A, it may include but is not limited to Figure 4 The following S202A1 to S202A4 are shown.

[0076] S202A1. The control node matches the network performance parameters of the link with a first data transmission condition.

[0077] The embodiment of the present application does not specifically limit the first data transmission condition and can be configured according to actual needs.

[0078] In a possible implementation, the first data transmission condition includes at least one transmission sub-condition; wherein different transmission sub-conditions are set for different parameters in the network performance parameters.

[0079] S202A2. The control node determines whether the network performance parameter of the link satisfies each transmission sub-condition of the at least one transmission sub-condition.

[0080] A link may correspond to one or more network performance parameters, wherein one network performance parameter corresponds to a transmission sub-condition in the first transmission condition.

[0081] If a link includes multiple network performance parameters, when each network performance parameter satisfies its corresponding transmission sub-condition, the link is considered to meet the first transmission condition.

[0082] In one example, the network performance parameter includes delay; the first data transmission condition includes a transmission sub-condition; and the one transmission sub-condition is: the delay is less than or equal to a delay threshold.

[0083] In one example, the network performance parameters include delay, packet loss rate, and jitter time; and the first data transmission condition includes three transmission sub-conditions.

[0084] The first transmission sub-condition includes: the delay is less than or equal to the delay threshold;

[0085] The second transmission sub-condition includes: the packet loss rate is less than or equal to the packet loss rate threshold;

[0086] The third transmission sub-condition includes: the jitter time is less than or equal to the jitter time threshold.

[0087] The control node matches the content of each parameter item included in the network performance parameters of the link with the transmission sub-condition corresponding to the parameter item, and determines whether the parameter item meets the transmission sub-condition.

[0088] S202A3: If there is a first link among the links whose network performance parameters do not satisfy any transmission sub-condition of the at least one transmission sub-condition, determine that the first link is the abnormal link.

[0089] The first link is any one of the at least three links.

[0090] If the network performance parameters of a first link among the links include at least one parameter item whose content does not satisfy a transmission sub-condition corresponding to the parameter item, the control node determines that the first link is an abnormal link.

[0091] S202A4: If there is a first link among the links whose network performance parameters meet all data transmission sub-conditions, the control node determines that the first link is a normal link.

[0092] If all parameter items in the network performance parameters of the first link satisfy the data transmission sub-condition corresponding to each parameter item, the control node determines that the first link is a normal link.

[0093] For implementation B, it may include but is not limited to Figure 5 The following S202B1 to S202B5 are shown.

[0094] S202B1. The control node determines a hybrid performance parameter of the link based on the network performance parameter of the link.

[0095] The embodiment of the present application does not specifically limit the method for determining the hybrid performance parameter of a link based on the network performance parameters of the link, and can be configured according to actual needs. In one example, the control node fuses the network performance parameters of the link to obtain a comprehensive parameter as the hybrid performance parameter of the link.

[0096] S202B2. The control node matches the hybrid performance parameter of the link with the second data transmission condition.

[0097] The embodiment of the present application does not specifically limit the second data transmission condition and can be configured according to actual needs.

[0098] Exemplarily, the second data transmission condition is: the hybrid performance parameter is less than or equal to the hybrid performance threshold.

[0099] S202B3. The control node determines whether the hybrid performance parameter of the link meets the second data transmission condition.

[0100] S202B4: If there is a second link among the links whose hybrid performance parameters do not meet the second data transmission condition, determine that the second link is the abnormal link.

[0101] S202B5: If there is a second link among the links whose mixed performance parameters meet the second data transmission condition, determine that the second link is a normal link.

[0102] The following describes a process in which the control node S202B1 determines the hybrid performance parameters of the link based on the network performance parameters of the link.

[0103] like Figure 6 As shown in the figure, taking the network performance parameters including delay, packet loss rate and jitter as an example, the process of obtaining mixed performance parameters of a link is described, including:

[0104] S601: A control node obtains a packet loss rate index based on the packet loss rate of the link and a first function.

[0105] The embodiment of the present application does not specifically limit the function form of the first function, and can be configured according to actual needs. Among them, the first function can be an activation function (Sigmoid).

[0106] Assume p ij represents the packet loss rate of the link from node i to node j, then the packet loss rate index of the link from node i to node j is It can be expressed by formula (1):

[0107]

[0108] Among them, t is an empirical constant value, f(p ij -t) is the first function.

[0109] S602: The control node obtains a jitter time index based on the jitter time of the link and a second function.

[0110] The embodiment of the present application does not specifically limit the functional form of the second function, and can be configured according to actual needs. For example, the second function can be an exponential function of the natural logarithm e.

[0111] Assumptions ij represents the jitter time of the link from node i to node j, then the jitter time index of the link from node i to node j is It is expressed by formula (2):

[0112]

[0113] S603: The control node determines a hybrid performance parameter of the link based on the link delay, the packet loss rate index, and the jitter time index.

[0114] In one embodiment, the control node uses the product of the delay of a link, the packet loss rate index of the link, and the jitter time of the link as the hybrid performance parameter of the link.

[0115] It is understandable that the product of the delay of a link, the packet loss rate index of the link and the jitter time of the link can also be further calculated and used as the hybrid performance parameter of the link.

[0116] It is understandable that the hybrid performance parameters of each link can be obtained through the method of S601 to S603. The embodiment of the present application does not specifically limit the method for obtaining the hybrid performance parameters of multiple links, and can be configured according to actual needs.

[0117] In one example, the mixed performance parameters of multiple links may be calculated by traversal execution.

[0118] In another example, the relevant parameters of multiple links (latency, packet loss rate, jitter time, packet loss rate index, jitter time index, and mixed performance parameters) can be combined into a matrix using a matrix approach. For example, the latencies of multiple links can be combined into a delay matrix. The matrix approach can then be used to calculate the mixed performance parameters of multiple links in parallel. This approach achieves higher computational efficiency when calculating the mixed performance parameters of multiple links.

[0119] The following describes in detail the process of the control node determining the recommended path in S203. The process may include but is not limited to: Figure 7 S2031 to S2034 shown.

[0120] S2031. The control node determines, from the at least one normal link, at least one first candidate link corresponding to the abnormal link.

[0121] The first node of the first candidate link is the same as the first node of the abnormal link, and the second node of the first candidate link is different from the second node of the abnormal link.

[0122] The control node determines, in at least one normal link, a link whose first node is the same as the first node of the abnormal link and whose second node is different from the second node of the abnormal link as a first candidate link. In other words, the first node of the abnormal link can transmit data to a node other than the abnormal link via the first candidate link.

[0123] In one example, the abnormal link is link 1 from node A1 to node B1, and the adjacent reachable nodes of node A1 include: node B1, node C1, and node D1. Then the first alternative links include link 2 from node A1 to node C1 and link 3 from node A1 to node D1.

[0124] S2032: The control node determines, from the at least one normal link, at least one second candidate link corresponding to the abnormal link.

[0125] The first node of the second candidate link is different from the first node of the abnormal link, and the second node of the second candidate link is the same as the second node of the abnormal link.

[0126] The control node determines, in at least one normal link, a link whose first node is different from the first node of the abnormal link and whose second node is the same as the second node of the abnormal link as a second candidate link. In other words, a node other than the first node of the abnormal link can transmit data to the second node of the abnormal link via the second candidate link.

[0127] In one example, the abnormal link is link 1 from node A1 to node B1, and node B1 is a reachable node adjacent to node A1, node E1, and node F1. The second alternative links include: link 4 from node E1 to node B1, and link 5 from node F1 to node B1.

[0128] S2033: The control node determines at least one first target link and at least one second target link that are capable of communication among the at least one first candidate link and the at least one second candidate link, respectively.

[0129] In one example, the first target link being able to communicate with the second target link means that the first target link can directly communicate with the second target link; that is, the second node of the first target link is the same as the first node of the second target link.

[0130] In another example, the first target link and the second target link being able to communicate means that the first target link can communicate with the second target link through other links; that is, the second node of the first target link is different from the first node of the second target link, and at least one continuous link is stored between the second node of the first target link and the first node of the second target link, wherein the continuous links contain the same node.

[0131] The control node determines, for each candidate link in the at least one candidate link, a link that can communicate with at least one second candidate link as the first target link; and uses the second link that can communicate as the second target link.

[0132] It can be understood that the first target link may include one or more; the second target link may also include one or more.

[0133] Example 3: The abnormal link is link 1 from node A1 to node B1. The adjacent reachable nodes of node A1 include nodes C1 and D1. The first alternative links include link 2 from node A1 to node C1 and link 3 from node A1 to node D1. The adjacent reachable nodes of node E1 and node F1 are both node B1. The second alternative links include link 4 from node E1 to node B1 and link 5 from node F1 to node B1.

[0134] If link 3 and link 4 can communicate through node G1, link 3 from node A1 to node D1 is used as the first target link, and link 4 from node E1 to node B1 is used as the second target link.

[0135] S2034. The control node determines the recommended path based on the at least one first target link and the at least one second target link.

[0136] The first target link, the communication link or communication node between the first target link and the second target link (the second node of the first target link or the first node of the second target link), and the second target link may constitute a path, ie, a candidate path.

[0137] It can be understood that at least one first target link, a communication link or a communication node between the first target link and the second target link, and at least one second target link may constitute one or more paths.

[0138] The implementation of S2034 may include but is not limited to any one of the following implementation methods 1 to 3.

[0139] Implementation method 1: If the control node determines that at least one first target link, a communication link or a communication node between the first target link and the second target link, and at least one second target link can form a path, the path is used as a recommended path to transmit the data to be transmitted of the abnormal link.

[0140] Implementation method 2: If the control node determines that at least one first target link, a communication link or a communication node between the first target link and the second target link, and at least one second target link can form multiple paths, any one of the multiple paths is used as a recommended path to transmit the data to be transmitted of the abnormal link.

[0141] Implementation method three: If the control node determines that at least one first target link, a communication link or a communication node between the first target link and the second target link, and at least one second target link can form multiple paths, the path among the multiple paths that meets the recommendation conditions is used as the recommended path to transmit the data to be transmitted of the abnormal link.

[0142] Based on Example 3, the recommended paths include: link 3 from node A1 to node D1, link 6 from node D1 to node G1, link 7 from node G1 to node E1, and link 4 from node E1 to node B1.

[0143] If S2034 adopts implementation method three, it can be implemented through the following two sub-methods.

[0144] Sub-method A: Determine the recommended path based on the network performance parameters of the link, which may include but is not limited to the following: Figure 8 S801 to S803 shown.

[0145] S801: A control node determines at least two candidate paths based on the at least one first target link and the at least one second target link.

[0146] The control node combines at least one first target link, a communication link or a communication node between the first target link and the second target link, and at least one second target link into a path to obtain at least two candidate paths.

[0147] S802: The control node determines the network performance parameter of the candidate path according to the network performance parameter of each link included in the candidate path.

[0148] The control node adds the network performance parameter of each link in the links included in each candidate path of the at least two candidate paths to obtain the network performance parameter of the candidate path.

[0149] In one example, the network performance parameter includes delay. S802 can be implemented as follows: the control node adds the delay of each link in the links included in each candidate path of at least two candidate paths to obtain the delay of the candidate path as the network performance parameter of the candidate path, thereby obtaining the network performance parameters of the at least two candidate paths.

[0150] In another example, in one example, the network performance parameters include delay, packet loss rate and jitter time, and S802 can be implemented as follows: the control node adds the delay of each link in the links included in the candidate path for each candidate path of at least two candidate paths to obtain the delay of the candidate path, adds the packet loss rate of each link in the links included in the candidate path to obtain the packet loss rate of the candidate path, adds the jitter time of each link in the links included in the candidate path to obtain the jitter time of the candidate path, and uses the delay of the candidate path, the packet loss rate of the candidate path and the jitter time of the candidate path as the network performance parameters of the candidate path; thereby obtaining the network performance parameters of at least two candidate paths.

[0151] S803: The control node selects, from the at least two candidate paths, a candidate path whose network performance parameters meet a first recommendation condition as the recommended path.

[0152] The embodiment of the present application does not specifically limit the content of the first recommendation condition and can be configured according to actual needs.

[0153] In one example, the first recommendation condition includes: minimum delay, minimum packet loss rate, or minimum jitter time.

[0154] The control node matches each candidate path of the at least two candidate paths with the first recommendation condition, and uses the candidate path that meets the first recommendation condition as the recommended path.

[0155] It should be noted that if there are multiple candidate paths that meet the first recommendation condition among at least two candidate paths, any one of the candidate paths that meet the first recommendation condition can be used as the recommended path; or, the multiple candidate paths that meet the first recommendation condition can be further screened according to other conditions to determine the recommended path.

[0156] Sub-method B: Determine the recommended path based on the network performance parameters of the link, which may include but is not limited to Figure 9 The following S901 to S903 are shown.

[0157] S901: A control node determines at least two candidate paths based on the at least one first target link and the at least one second target link.

[0158] The implementation of S901 may refer to the specific implementation process of the control node determining at least two candidate paths in S801.

[0159] S902: The control node determines the hybrid performance parameter of the candidate path according to the hybrid performance parameter of each link in the links included in the candidate path.

[0160] The hybrid performance parameters of the link are related to the network performance parameters of the link.

[0161] For the implementation of S902 , reference may be made to the description of the control node determining the hybrid performance parameters of the candidate paths in S802 .

[0162] S903: The control node selects, from the at least two candidate paths, a candidate path whose hybrid performance parameter meets a second recommendation condition as the recommended path.

[0163] The implementation of S903 may refer to the specific implementation process of the control node determining the recommended path in S803.

[0164] The data transmission method of the embodiment of the present application may further include an automatic deployment process of the probe service before executing S201 of the control node obtaining the network performance parameters of each of the at least three links, such as Figure 10 Shown, including:

[0165] S1001. A control node configures deployment parameters of at least one probe service.

[0166] The deployment parameters may include: an identifier of the first node; and a probe service for instructing the first node to obtain network performance parameters of a link from the first node to the second node.

[0167] The embodiment of the present application does not limit the number of parameter items included in the deployment parameters and the content of the parameter items, and can be configured according to actual needs.

[0168] In one example, the deployment parameter may be an identifier of the first node.

[0169] In another example, the deployment parameters may also include a deployment time.

[0170] In another example, the deployment parameter may further include a command identifier, so that the first node may detect the transmission quality of the link according to an operation indicated by the command identifier.

[0171] For example, when the command includes a Packet Internet Groper (ping), the first node may obtain the network performance parameters of the link according to an instruction of the ping.

[0172] It should be noted that when the deployment parameters do not include a command identifier, the ping command can be configured as the default command for the probe deployment.

[0173] S1001 may be implemented as follows: the control node performs the following processing for each probe service in at least one probe service: the control node configures corresponding parameter values ​​in each deployment parameter phase of the probe service, thereby obtaining deployment parameters of each probe service.

[0174] In one example, one first node corresponds to one probe service.

[0175] For example, the deployment parameters include the identifier of the first node; at least one probe service includes probe service 1 and probe service 2; the identifier of the first node corresponding to probe service 1 is Y001, and the identifier of the first node corresponding to probe service 2 is Y002. S1001 can be implemented as follows: for service 1, the control node configures the identifier of the first node to Y001 in the deployment parameters to obtain the deployment parameters of probe service 1; for service 2, the control node configures the identifier of the first node to Y002 in the deployment parameters to obtain the deployment parameters of probe service 2.

[0176] S1002: The control node creates a probe deployment task based on the deployment parameters of the at least one probe service.

[0177] In one example, the deployment parameters include the identifier of the first node, and S1002 can be implemented as follows: the control node uses the identifier of the first node in the deployment parameters as the deployment node of the probe deployment task, uses the program of the probe service as the deployment content of the probe deployment task, and creates the probe deployment task.

[0178] In another example, the deployment parameters include the identifier of the first node and the deployment time. S1002 can be implemented as follows: the control node uses the identifier of the first node in the deployment parameters as the deployment node of the probe deployment task, uses the deployment time in the deployment parameters as the control time of the probe deployment task, and uses the program of the probe service as the deployment content of the probe deployment task to create a probe deployment task.

[0179] When the deployment task of the probe service is developed based on Tekton software, S1002 can be implemented as follows: the control node submits the program code of the probe service and the deployment parameters of the probe service to the target code repository; the control node generates a target event based on the target code repository through the collector; and creates a probe deployment task for the target event through the Tekton software.

[0180] S1003: The control node controls the parallel deployment of the at least one probe service based on the probe deployment task.

[0181] The implementation of S1003 may include but is not limited to any of the following methods A to D.

[0182] Method A: The probe deployment parameters include the identifier of the first node. S1003 can be implemented as follows: the control node sends a probe deployment task in parallel to the nodes pointed to by at least one first node identifier in the probe deployment parameters to instruct at least one first node to deploy the probe service according to the probe deployment task.

[0183] Correspondingly, after receiving the probe deployment task, each first node runs the probe deployment task and deploys the probe service at its designated location.

[0184] Mode B: The probe deployment parameters include the identifier of the first node. S1003 can be implemented as follows: the control node receives the second operation, and in response to the second operation, deploys the probe service in parallel to the node pointed to by at least one first node identifier in the probe deployment parameters.

[0185] Method C, the probe deployment parameters include the identifier and deployment time of the first node. S1003 can be implemented as follows: the control node determines that the current time meets the deployment time, and sends a probe deployment task to the node pointed to by the identifier of at least one first node in the probe deployment parameters in parallel to instruct at least one first node to deploy the probe service according to the probe deployment task.

[0186] The embodiments of the present application do not specifically limit the form of the deployment time and can be configured according to actual needs. In one example, the deployment time can be configured as: 08:00:00 on July 3, 2021. In another example, the deployment time can be configured as a periodic time, for example, the deployment time can be configured as a deployment time with a period of 30 minutes starting from the current time.

[0187] Correspondingly, after receiving the probe deployment task, each first node runs the probe deployment task and deploys the probe service at its designated location.

[0188] Mode D: The probe deployment parameters include the identifier of the first node and the deployment time. S1003 can be implemented as follows: the control node determines that the current time meets the deployment time, and simultaneously deploys the probe service to the node pointed to by at least one first node identifier in the deployment parameters.

[0189] Among them, if the content of the probe service is updated, the probe service can be updated (equivalent to redeploying an updated probe service). The specific implementation can refer to the automatic deployment process of the probe service in S1001 to S1003 above, which will not be repeated here.

[0190] It should be noted that after completing the deployment operation of the probe service, the first node can further obtain the network performance parameters of the link from the first node to the second node according to the instruction of the probe service, and report the obtained network performance parameters of the link to the control node.

[0191] Exemplarily, after completing the deployment operation of the probe service, the first node can further obtain the delay of the first node transmitting data to the second node as the link delay from the first node to the second node by calling the function of the ping command in the probe service during the communication between the first node and the second node according to the instructions of the probe service, obtain the packet loss rate of the data transmitted from the first node to the second node as the link packet loss rate from the first node to the second node, obtain the jitter time of the data transmitted from the first node to the second node as the jitter time of the link (the link) from the first node to the second node, and use the delay of the link, the packet loss rate of the link and the jitter time of the link as the network performance parameters of the link.

[0192] It is understood that when the probe deployment task includes identifiers for other commands, the first node can also invoke the functions of other commands in the probe service to obtain other link parameters as part of the link's network performance parameters. For example, other commands may include traceroute. The specific processing procedures for each command can be referenced to the processing procedures for the ping command and will not be further described here.

[0193] Optionally, after completing the deployment operation of the probe service, the first node may further obtain network performance parameters of links from the first node to the plurality of second nodes according to instructions of the probe service.

[0194] The first node obtains the network performance parameters of the link from the first node to multiple second nodes according to the instructions of the probe service, which can be implemented as follows: the first node creates a corresponding number of thread instances according to the number of second nodes, and obtains the network performance parameters of the link from the first node to multiple second nodes by running multiple thread instances in parallel.

[0195] Optionally, the data transmission method provided in the embodiments of the present application may further include a display process. Specifically, the control node may display recommended paths, network performance parameters for each link, abnormal links, and so on. The embodiments of the present application do not specifically limit the display method and may be configured according to actual needs. For example, the display information may be organized into daily, weekly, or monthly reports based on time.

[0196] Below, the data transmission method provided in the embodiment of the present application is described through specific application scenarios.

[0197] Network performance parameters, including bandwidth, latency, packet loss rate, and jitter, are important indicators of network quality. With the rapid development of information technology, network system deployment has increased year by year. The rapid growth of various industries, including government, education, finance, and enterprise, is inseparable from modern network platforms. However, this rapid development is accompanied by increasing network operation, maintenance, and management costs across various industries, posing new challenges to network quality monitoring.

[0198] In the prior art, network system fault diagnosis mostly remains at the manual diagnosis stage, where operations and maintenance personnel manually perform operations such as ping and traceroute to locate the fault. In complex network systems, due to the large number of nodes, each fault location requires joint debugging and testing with the operations and maintenance personnel at the other end. This, on the one hand, results in significant labor and time costs. On the other hand, manual fault location takes a long time. If the fault is short-lived and cannot be reproduced, fault analysis and location cannot be determined quickly.

[0199] Of course, some companies have developed network quality monitoring systems, deploying probe services that report probe test results to monitoring platforms for data analysis and presentation. However, for large-scale Internet Protocol (IP) networks, there are no effective automated probe deployment solutions, resulting in high deployment and maintenance costs for large numbers of probes. Some technologies can analyze uploaded results to determine whether the tested network is abnormal, but after confirming network anomalies, they do not provide specific optimization solutions.

[0200] The present application designs an automatically configurable network quality monitoring and network optimization system (equivalent to the above-mentioned data transmission system). In view of the problems of probe service deployment, update workload and maintenance difficulties when network quality monitoring faces large-scale IP networks, the automatic deployment, start and stop and update of a large number of probes are realized through container (Docker) and Jenkins technology; at the same time, the probe service of the present application supports high-concurrency tasks. The present application has a timing module that can be configured in different dimensions, with controllable time granularity, and can configure multiple source nodes (equivalent to the first node of the present application) to detect multiple destination nodes (equivalent to the second node of the present application). At the same time, the existing network quality monitoring system does not process after determining that the network is abnormal. After determining that the tested network is abnormal, the present application combines the delay, packet loss and jitter between the nodes of the tested network with the dynamic programming method to provide a method for selecting other optimal paths in the event of path congestion or disconnection.

[0201] The technical solution of this application is described below.

[0202] like Figure 11 As shown, an embodiment of the present application provides a data transmission system (also referred to as an automatically configurable network quality monitoring and network system), including a network under test 1101 and a control node 1102. A network quality detection platform is deployed on the control node. The specific data transmission process may include: setting a scheduled task, automatically deploying a probe service in each network node by running an automatic deployment task created based on Docker and Jenkins software, the deployment node performs network quality detection according to the instructions in the task, and the detection results are sent to the control node. The control node then summarizes the network performance data into a report, obtains an optimized path (equivalent to the recommended path mentioned above) by mixing network performance indicators and dynamic programming methods, and finally uploads the report and path results to the display interface.

[0203] Among them, the network under test 1101 includes multiple first nodes 11011 (also called source nodes) and multiple second nodes 11012 (also called destination nodes), the first node 11011 includes a probe module 11011A; the control node 1102 can include a control module 11021, a node management module 11022, a timing module 11023, a storage module 11024, a data analysis module 11025, a display module 11026 and a network optimization module 11027.

[0204] The control module 11021 can receive a request from the probe module 11011A in the network under test to call a task. The control module 11021 searches for the task to be called in the storage module 11024 according to the source IP address of the request to obtain the task information; the task information includes the task name, execution time, status, execution interval, source node name and address, destination node name and address, and execution command; the control module 11021 then calls the task information back to the probe module 11011A, and also receives the network performance data sent by the probe module 11011A in real time, and writes the network performance data into the storage module 11024.

[0205] The node management module 11022 is used to set node information in the network under test and write the set node information to the storage module 11024. The node information may include: node name, node type, and node address; the node type is a source node (also called a first node) or a destination node (also called a second node).

[0206] The timing module 11023 is used to set a scheduled task for monitoring network quality. Specifically, the timing module 11023 is configurable in different dimensions and can use the scheduled task scheduling framework that comes with the JAVA programming framework (Spring). It supports time settings in the fields of seconds, minutes, hours, days, months, and Saturdays, and the time granularity is controllable. Multiple subtasks can be configured in a scheduled task, and the instructions for task execution can be arbitrarily selected, making the monitoring task flexible and controllable. The start and stop of the scheduled task are determined by the status bit of the task. According to the node and path information in the measured network, the task name, execution time, status, execution interval, source node name and address, destination node name and address, and execution command are configured in the timing module 11023, and the task information is then written to the storage module 11024. The timing module 11023 can also summarize the network quality data according to the task name and execution time into daily reports, weekly reports, and weekly reports within the set time, and then write the report data to the storage module 11024.

[0207] The storage module 11024 is used to store the node information written by the node management module 11022, the scheduled tasks written by the timing module 11023, and the summarized report data. For example, the storage module 11024 can be a PostgreSQL database. The control module 11021 can query tasks from the storage module 11024.

[0208] The data analysis module 11025 is used to read the task reports, node paths and other data of the storage module 11024, analyze them according to the performance parameters of the tested network, determine whether there is excessive delay or network disconnection in the current network, mark if there is a problem in a certain section of the network, and then send the analyzed report data to the display module 11026 for data display.

[0209] Display module 11026 is used to receive data analyzed and processed by data analysis module 11025, and display the node list, scheduled task list, network quality monitoring daily report, weekly report, and monthly report information in the form of an interface; it can also display historical report data by selecting a time; display module 11026 can also display the optimization plan for the network path under test.

[0210] Network optimization module 11027 retrieves network performance data for links in the tested network from storage module 11024 and, based on the network performance parameters, identifies abnormal links and obtains the optimal path. Network performance is typically characterized by network latency, packet loss rate, and jitter. Therefore, when the packet loss rate, latency, or jitter exceeds a certain threshold of the historically recorded normal average latency, it is determined that network data transmission is abnormal. In this case, a hybrid performance indicator can be determined based on these three network performance parameters. This hybrid performance indicator can then be optimized using a dynamic programming algorithm to obtain the optimal path, or recommended path.

[0211] The following describes the automatic deployment process of the probe service.

[0212] The first node in the network under test where the probe service is deployed can be used to receive tasks, deploy the probe service according to the instructions of the task, and detect the transmission quality of each link in the network under test based on the probe service. This application realizes the automated deployment of the probe service through Docker and Jenkins, such as Figure 12 As shown, the process may include but is not limited to the following S1201 to S1206.

[0213] S1201. Upload the probe service to the code repository.

[0214] S1202. Install the Jenkins software environment.

[0215] In one example, a Jenkins environment may be installed in a node (Linux server) where the probe service is deployed; or the Jenkins environment may be installed using Docker.

[0216] In one example, the Jenkins environment may be installed in the control node; or the Jenkins environment may be installed using Docker.

[0217] Among them, using Docker to install the Jenkins environment can reduce the resource consumption of the host (Linux server or control node).

[0218] S1203. Configure basic components in the Jenkins software.

[0219] For example, the basic components in the Jenkins software may include information such as JDK, Maven, and Git.

[0220] S1204. Register the node where the probe service is to be deployed in the Jenkins software.

[0221] S1205. Create an automated deployment task in Jenkins software.

[0222] In the Jenkins software, create an automated deployment task (also referred to as a task).

[0223] S1206. Run the automated deployment task to deploy the probe service.

[0224] Through the automated deployment solution of the probe service, you can automatically complete the deployment, start, stop, and update of the probe service on multiple nodes.

[0225] The probe module supports high concurrency. After receiving a task sent by the network quality monitoring platform, which contains multiple subtasks, the probe module creates a thread pool instance for each subtask and takes out the instructions in the subtask. The instructions may include ping, tcpping, traceroute, etc., and traverse the destination nodes of all subtasks. The thread pool creates threads with the same number of threads as the number of destination nodes. The threads are automatically destroyed after execution. By associating tasks through the thread pool instance, the automatically created multi-threaded execution executes the detection task from the source node to a large number of destination nodes, allowing the probe module to execute a large number of dialing tasks at the same time. Network performance parameters include at least one of the following: bandwidth, delay, packet loss rate, and jitter. The network performance parameters are obtained through the ping command, and the data results are sent to the network quality monitoring platform in real time for storage.

[0226] The following is an explanation of the path optimization process. Figure 13 As shown, the process may include but is not limited to the following steps S1301 to S1307.

[0227] S1301. Obtain a delay matrix, a packet loss rate matrix, and a jitter time matrix.

[0228] Among them, the delay matrix D |N|×|N| d in ij ∈D |N|×|N| represents the delay between node i and node j, and the packet loss rate matrix P |N|×|N|p in ij ∈P |N|×|N| represents the packet loss rate between node i and node j, and the jitter time matrix S |N|×|N| s in ij ∈S |N|×|N| represents the jitter time between node i and node j.

[0229] S1302: Calculate hybrid network performance indicators.

[0230] S1302.1. Calculate the packet loss rate index matrix

[0231] Generally, in a communication network, the packet loss rate under a certain threshold is acceptable, but as the jitter time increases, the network quality drops sharply. Therefore, the Sigmoid activation function can be used to represent the packet loss index matrix.

[0232] The Sigmoid activation function is x∈(-∞,+∞),f(x)∈(0,1), when x>0,f(x)→1.

[0233] It can be obtained by the following formula (1):

[0234]

[0235] Among them, p ij It represents the packet loss rate between point i and node j. When the packet loss rate is greater than the threshold t, the packet loss rate index will increase exponentially.

[0236] S1302.2. Calculate the jitter time index matrix

[0237] Generally, in communication networks, low network jitter is very common, but as the jitter time increases, the network quality drops sharply. Therefore, the exponential function of the natural logarithm e can be used to represent the jitter time exponential matrix.

[0238] It is obtained from the following formula (2):

[0239]

[0240] in, represents the jitter time between node i and node j. When s ij ≥0, And when When the value is large, Growing exponentially.

[0241] S1302.3. Calculate the hybrid communication index matrix Y |N|×|N| .

[0242] The hybrid performance parameter y of the link in the network is obtained according to the following formula (3): ij ;

[0243]

[0244] S1303: Calculate the mixed performance parameters of all links.

[0245] Traverse all node pairs in the communication network and calculate the mixed performance parameter y of all links ij .

[0246] S1304. Initialize cache C.

[0247] The cache C is initialized and used to store the hybrid network performance indicators of the recommended paths.

[0248] S1305: Determine a recommended path based on the abnormal link.

[0249] If the abnormal link is the link between node i and node j, the recommended path can be determined according to the following formula (4).

[0250]

[0251] Among them, miny ij represents the recommended path; k1, k2,…, k n is the intermediate node between node i and node j, Represents node k n The mixed performance parameter value between node j and node j.

[0252] S1306: Determine whether the recommended path is in cache C.

[0253] If it exists in cache C, execute S1308; if not, execute S1307.

[0254] S1307: Store the recommended path and the hybrid performance parameter value of the recommended path.

[0255] The recommended path and the mixed performance parameter value of the recommended path are in the form of key-value pairs (i,…,j): The form of exists in cache C, where the ellipsis in (i,…,j) represents the nodes passed from node i to node j.

[0256] S1308: Output the recommended path.

[0257] The recommended path (or optimal path) is output and stored in the storage module.

[0258] like Figure 14 As shown, the network under test may include link 1 from node 1 to node 2; link 2 from node 1 to node 3; link 3 from node 3 to node 2; link 4 from node 1 to node 4; link 5 from node 4 to node 5; and link 6 from node 5 to node 2. The network performance parameters of link 1 include: delay 85ms, jitter 35ms, and packet loss rate 0; the network performance parameters of link 2 include: delay 35ms, jitter 12ms, and packet loss rate 0; the network performance parameters of link 3 include: delay 30ms, jitter 12ms, and packet loss rate 0; the network performance parameters of link 4 include: delay 25ms, jitter 12ms, and packet loss rate 0; the network performance parameters of link 5 include: delay 19ms, jitter 12ms, and packet loss rate 3%; and the network performance parameters of link 1 include: delay 19ms, jitter 9ms, and packet loss rate 2%.

[0259] According to the data processing solution of the present application, it can be obtained that: link 1 is an abnormal link; candidate path 1 includes: link 2 and link 3; candidate path 2 includes: link 4, link 5 and link 6; the recommended path is candidate path 1, that is, the recommended path includes: link 2 from node 1 to node 3, and link 3 from node 3 to node 2.

[0260] The key points of this application may include but are not limited to the following first to fourth points.

[0261] First, Docker and Jenkins technologies can be used to automatically deploy, start, stop, and update probe services on different network nodes, enabling real-time monitoring of network quality.

[0262] Second, the probe service supports high concurrency.

[0263] Third, we integrate network latency, packet loss rate, and jitter to propose a hybrid network performance metric. We then perform dynamic planning and optimization based on node and path information from network quality monitoring to determine the optimal communication path within the network.

[0264] Fourthly, it has a timing module that can be configured in different dimensions, and the time granularity is controllable.

[0265] This application has the following effects:

[0266] 1. When faced with large-scale and complex networks, manual deployment of related technologies will consume a lot of time and subsequent operation and maintenance costs. This application uses Docker and Jenkins technologies to realize the automated deployment, start-stop and update of a large number of probe services, greatly improving the efficiency of early deployment and later operation and maintenance.

[0267] 2. The probe service of the related art only supports detecting one destination node, while the probe service of this application supports one source node to detect multiple destination nodes at the same time.

[0268] 3. The time for deploying the probe service in this application is controllable, and the time granularity can be flexibly configured.

[0269] 4. The network optimization module of the present application can obtain the best communication path according to network quality data by mixing network performance indicators and dynamic programming methods.

[0270] Figure 15 This is a structural diagram of a data transmission device according to an embodiment of the present application. Figure 15 As shown, the data transmission device 150 may include an acquisition unit 1501, a determination unit 1502, and a recommendation unit 1503.

[0271] The acquisition unit 1501 is used to obtain network performance parameters of each of the at least three links; wherein the link includes: a line through which a first node transmits data to a second node, and the second node is a reachable node adjacent to the first node.

[0272] The determining unit 1502 is configured to determine an abnormal link based on the network performance parameter of each link.

[0273] The recommendation unit 1503 is configured to determine a recommended path from at least one normal link based on the abnormal link, so as to transmit the data to be transmitted through the recommended path; the normal link is a link among the at least three links excluding the abnormal link; and the data to be transmitted is data to be transmitted through the abnormal link.

[0274] In some embodiments, the determining unit 1502 is further configured to:

[0275] matching the network performance parameters of the link with a first data transmission condition; the first data transmission condition including at least one transmission sub-condition; wherein different transmission sub-conditions are set for different parameters in the network performance parameters;

[0276] If there is a first link among the links whose network performance parameters do not satisfy any transmission sub-condition of the at least one transmission sub-condition, the first link is determined to be the abnormal link.

[0277] In some embodiments, the determining unit 1502 is further configured to: determine a hybrid performance parameter of the link based on the network performance parameter of the link; match the hybrid performance parameter of the link with a second data transmission condition;

[0278] If there is a second link among the links whose hybrid performance parameters do not meet the second data transmission condition, the second link is determined to be the abnormal link.

[0279] In some embodiments, the determining unit 1502 is further configured to:

[0280] Obtaining a packet loss rate index based on the packet loss rate of the link and the first function;

[0281] Obtaining a jitter time index based on the jitter time of the link and a second function;

[0282] A hybrid performance parameter of the link is determined based on the link delay, the packet loss rate index, and the jitter time index.

[0283] In some embodiments, the recommendation unit 1503 is further configured to: determine, in the at least one normal link, at least one first candidate link corresponding to the abnormal link, wherein a first node of the first candidate link is the same as a first node of the abnormal link, and a second node of the first candidate link is different from a second node of the abnormal link;

[0284] Determine, in the at least one normal link, at least one second candidate link corresponding to the abnormal link, wherein a first node of the second candidate link is different from the first node of the abnormal link, and a second node of the second candidate link is the same as the second node of the abnormal link;

[0285] respectively determining at least one first target link and at least one second target link capable of communication among the at least one first candidate link and the at least one second candidate link;

[0286] The recommended path is determined based on the at least one first target link and the at least one second target link.

[0287] In some embodiments, the recommendation unit 1503 is further configured to:

[0288] determining at least two candidate paths based on the at least one first target link and the at least one second target link;

[0289] Determining the network performance parameters of the candidate path according to the network performance parameters of each link in the links included in the candidate path;

[0290] Among the at least two candidate paths, the candidate path whose network performance parameter meets the first recommendation condition is selected as the recommended path.

[0291] In some embodiments, the recommendation unit 1503 is further configured to:

[0292] determining at least two candidate paths based on the at least one first target link and the at least one second target link;

[0293] Determining a hybrid performance parameter of the candidate path according to a hybrid performance parameter of each link in the links included in the candidate path; the hybrid performance parameter of the link is related to the network performance parameter of the link;

[0294] Among the at least two candidate paths, the candidate path whose hybrid performance parameter meets the second recommendation condition is selected as the recommended path.

[0295] In some embodiments, the data transmission device 150 further includes a configuration unit, a creation unit, and a control unit.

[0296] A configuration unit is used to configure the deployment parameters of at least one probe service before obtaining the network performance parameters of each of the at least three links; the deployment parameters include: the identifier of the first node; the probe service is used to instruct the first node to obtain the network performance parameters.

[0297] A creating unit is configured to create a probe deployment task based on the deployment parameters of the at least one probe service.

[0298] A control unit is configured to control the parallel deployment of the at least one probe service based on the probe deployment task.

[0299] In some embodiments, the control unit is further configured to: determine whether the current time satisfies the deployment time included in the deployment parameters, and control the parallel deployment of the at least one probe service based on the probe deployment task.

[0300] In one example, the acquisition unit 1501 may be deployed in Figure 11 The control module 11021 in the determination unit 1502 can be deployed in Figure 11 The data analysis module 11025 and the recommendation unit 1503 can be deployed in Figure 11 The network optimization module 11027 in the configuration unit can be deployed in Figure 11 The timing module 11023 and the creation unit can be deployed in Figure 11 In the timing module 11023, the control unit can be deployed in Figure 11 Middle control module 11021.

[0301] It should be noted that the data transmission device provided in the embodiment of the present application includes the various units included, which can be implemented by a processor in an electronic device; of course, it can also be implemented by a specific logic circuit; in the implementation process, the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP) or a field programmable gate array (FPGA), etc.

[0302] The description of the above device embodiment is similar to the description of the above method embodiment and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of this application, please refer to the description of the method embodiment of this application for understanding.

[0303] It should be noted that, in the embodiment of the present application, if the above-mentioned data transmission method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a magnetic disk or an optical disk. In this way, the embodiment of the present application is not limited to any specific combination of hardware and software.

[0304] Correspondingly, an embodiment of the present application provides a data transmission device, including a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor executes the program, the steps in the data transmission method provided in the above embodiment are implemented.

[0305] Correspondingly, an embodiment of the present application provides a storage medium, that is, a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps in the data transmission method provided in the above embodiment are implemented.

[0306] It should be noted that the description of the above storage medium and device embodiments is similar to the description of the above method embodiments and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium and device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.

[0307] It should be noted that Figure 16 FIG. 1 is a schematic diagram of a hardware entity of the electronic device 160 according to an embodiment of the present application. In one example, the electronic device 160 may be the control node, the first node, or the second node. Figure 16 As shown, the electronic device 160 includes: a processor 1601, at least one communication bus 1602, a user interface 1603, at least one external communication interface 1604, and a memory 1605. The communication bus 1602 is configured to enable communication between these components. The user interface 1603 may include a display screen, and the external communication interface 1604 may include a standard wired interface and a wireless interface.

[0308] The memory 1605 is configured to store instructions and applications executable by the processor 1601, and can also cache data to be processed or processed by the processor 1601 and various modules in the electronic device (for example, image data, audio data, voice communication data and video communication data), which can be implemented through flash memory (FLASH) or random access memory (Random Access Memory, RAM).

[0309] It should be understood that “one embodiment” or “an embodiment” mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, “in one embodiment” or “in some embodiments” appearing throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. The above-mentioned serial numbers of the embodiments of the present application are for description only and do not represent the advantages and disadvantages of the embodiments.

[0310] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.

[0311] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.

[0312] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they may be located in one place or distributed across multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the scheme of this embodiment.

[0313] In addition, all functional units in the embodiments of the present application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the above-mentioned integrated units can be implemented in the form of hardware or in the form of hardware plus software functional units.

[0314] Those skilled in the art will understand that all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above-mentioned method embodiment; and the aforementioned storage medium includes: mobile storage devices, read-only memories (ROM), magnetic disks or optical disks, and other media that can store program codes.

[0315] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application can be essentially or in other words, the part that contributes to the relevant technology can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks, or optical disks.

[0316] The above is merely an embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

Claims

1. A data transmission method, characterized in that: The method is applied to a control node, and includes: Obtaining network performance parameters of each of the at least three links; wherein the link comprises: a line through which a first node transmits data to a second node, where the second node is a reachable node adjacent to the first node; determining an abnormal link based on a network performance parameter of each of the links; Based on the abnormal link, determine a recommended path from at least one normal link to transmit the data to be transmitted through the recommended path; the normal link is a link other than the abnormal link among the at least three links; the data to be transmitted is data to be transmitted through the abnormal link; The step of determining a recommended path from at least one normal link based on the abnormal link includes: Determine, in the at least one normal link, at least one first candidate link corresponding to the abnormal link and at least one second candidate link corresponding to the abnormal link, wherein a first node of the first candidate link is the same as a first node of the abnormal link, and a second node of the first candidate link is different from a second node of the abnormal link; a first node of the second candidate link is different from the first node of the abnormal link, and a second node of the second candidate link is the same as the second node of the abnormal link; respectively determining at least one first target link and at least one second target link capable of communication among the at least one first candidate link and the at least one second candidate link; The recommended path is determined based on the at least one first target link and the at least one second target link.

2. The method according to claim 1, characterized in that The determining of an abnormal link based on the network performance parameter of each link includes: matching the network performance parameters of the link with a first data transmission condition; the first data transmission condition including at least one transmission sub-condition; wherein different transmission sub-conditions are set for different parameters in the network performance parameters; If there is a first link among the links whose network performance parameters do not satisfy any transmission sub-condition of the at least one transmission sub-condition, the first link is determined to be the abnormal link.

3. The method according to claim 1, characterized in that The determining of an abnormal link based on the network performance parameter of each link includes: determining a hybrid performance parameter of the link based on a network performance parameter of the link; matching the hybrid performance parameter of the link with a second data transmission condition; If a second link exists among the links and the hybrid performance parameter does not meet the second data transmission condition, the second link is determined to be the abnormal link.

4. The method according to claim 3, characterized in that The network performance parameters include: delay, packet loss rate and jitter time. The determining of the hybrid performance parameters of the link based on the network performance parameters of the link includes: Obtaining a packet loss rate index based on the packet loss rate of the link and the first function; Obtaining a jitter time index based on the jitter time of the link and a second function; A hybrid performance parameter of the link is determined based on the link delay, the packet loss rate index, and the jitter time index.

5. The method according to claim 1, wherein The determining the recommended path based on the at least one first target link and the at least one second target link includes: determining at least two candidate paths based on the at least one first target link and the at least one second target link; Determining the network performance parameters of the candidate path according to the network performance parameters of each link in the links included in the candidate path; Among the at least two candidate paths, the candidate path whose network performance parameter meets the first recommendation condition is selected as the recommended path.

6. The method according to claim 1, characterized in that The determining the recommended path based on the at least one first target link and the at least one second target link includes: determining at least two candidate paths based on the at least one first target link and the at least one second target link; Determining a hybrid performance parameter of the candidate path according to a hybrid performance parameter of each link in the links included in the candidate path; the hybrid performance parameter of the link is related to the network performance parameter of the link; Among the at least two candidate paths, the candidate path whose hybrid performance parameter meets the second recommendation condition is selected as the recommended path.

7. The method according to claim 1 or 2, characterized in that Before obtaining the network performance parameters of each of the at least three links, the method further includes: Configuring deployment parameters of at least one probe service; the deployment parameters include: an identifier of the first node; the probe service is used to instruct the first node to obtain the network performance parameter; Creating a probe deployment task based on the deployment parameters of the at least one probe service; The at least one probe service is controlled to be deployed in parallel based on the probe deployment task.

8. The method according to claim 7, characterized in that The deployment parameters further include: deployment time; and the controlling the parallel deployment of the at least one probe service based on the probe deployment task includes: It is determined that the current time meets the deployment time, and the at least one probe service is controlled to be deployed in parallel based on the probe deployment task.

9. A data transmission device, characterized in that: The device is deployed on a control node and includes: an acquiring unit, configured to acquire network performance parameters of each of the at least three links; wherein the link comprises: a line through which a first node transmits data to a second node, the second node being a reachable node adjacent to the first node; a determining unit, configured to determine an abnormal link based on a network performance parameter of each of the links; A recommendation unit is used to determine at least one first alternative link corresponding to the abnormal link and at least one second alternative link corresponding to the abnormal link in at least one normal link, and respectively determine at least one first target link and at least one second target link that can communicate in the at least one first alternative link and the at least one second alternative link, and determine a recommended path based on the at least one first target link and the at least one second target link to transmit the data to be transmitted through the recommended path; the normal link is a link other than the abnormal link in the at least three links; the data to be transmitted is data to be transmitted through the abnormal link; the first node of the first alternative link is the same as the first node of the abnormal link, and the second node of the first alternative link is different from the second node of the abnormal link; the first node of the second alternative link is different from the first node of the abnormal link, and the second node of the second alternative link is the same as the second node of the abnormal link.

10. A data transmission device comprising a memory and a processor, wherein the memory stores a computer program executable on the processor, and the processor implements the data transmission method according to any one of claims 1 to 8 when executing the computer program.

11. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the data transmission method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Management system, management apparatus, device, information management method, and program

    CN108292255A

  • Transmission path switching method

    CN108337701A