Method, apparatus and computer program product for determining a communication line
By combining the Analytic Hierarchy Process (AHP) and the Information Weighting Method (IFB), the A* algorithm is optimized to comprehensively evaluate the performance indicators of multiple links and nodes in a communication line. This solves the problems of inaccurate and inefficient communication line calculations in existing technologies, and achieves more accurate and efficient communication path determination.
Patent Information
- Application Number
- CN202410615109.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-17
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2044-05-17
AI Technical Summary
Existing technologies, when determining communication lines, only consider link performance, which makes it difficult to comprehensively assess the various factors affecting the communication process, resulting in inaccurate calculation results and low efficiency.
By combining the analytic hierarchy process (AHP) and information weighting analysis, the weights of node performance indicators are determined, and the A* algorithm is optimized to consider the performance indicators of multiple links and nodes, thus comprehensively evaluating the optimal path of the communication line.
It enables comprehensive analysis of communication lines, allowing for more accurate determination of the optimal communication path and improving computational efficiency and accuracy.
Smart Images

Figure CN118802717B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of network communication, and particularly relates to a communication line determination method and device, electronic equipment and computer program product. BACKGROUND
[0002] A physical channel between two nodes in a network is referred to as a communication link, and a communication line is a connection of multiple communication links in sequence.
[0003] In the related art, the performance of a link between nodes can be analyzed, and the line is determined according to the analysis result. However, in the communication process, in addition to the performance of the link itself affecting the signal, other factors can also affect the communication process. Therefore, it is difficult to determine the optimal communication line from multiple communication lines by only considering the performance of the link. SUMMARY
[0004] Therefore, the embodiments of the present disclosure provide a communication line determination method, device, electronic equipment and computer program product to solve the problems in the related art.
[0005] In a first aspect, a communication line determination method is provided, including: in response to a service access request of a terminal, determining a starting node and a destination node matched with the service access request; obtaining multiple candidate communication lines between the starting node and the destination node, and respectively determining links included in the multiple candidate communication lines; obtaining node performance indicators of nodes corresponding to the links, and determining link weights corresponding to the links according to the node performance indicators; respectively determining line weights corresponding to the multiple candidate communication lines according to the corresponding link weights, and determining a target communication line from the multiple candidate communication lines according to the line weights.
[0006] In a second aspect, a communication line determination device is provided, including: a response module, configured to, in response to a service access request of a terminal, determine a starting node and a destination node matched with the service access request; an obtaining module, configured to obtain multiple candidate communication lines between the starting node and the destination node, and respectively determine links included in the multiple candidate communication lines; a first determining module, configured to obtain node performance indicators of nodes corresponding to the links, and determine link weights corresponding to the links according to the node performance indicators; and a second determining module, configured to respectively determine line weights corresponding to the multiple candidate communication lines according to the corresponding link weights, and determine a target communication line from the multiple candidate communication lines according to the line weights.
[0007] In a third aspect, the embodiment of the present disclosure provides an electronic device, comprising: at least one processor; a memory for storing at least one processor-executable instruction; wherein the at least one processor is configured to execute the instruction to implement the steps of the above method.
[0008] In a fourth aspect, the embodiment of the present disclosure provides a computer-readable storage medium, when the instructions in the computer-readable storage medium are executed by the processor of the electronic device, the electronic device can execute the steps of the above method.
[0009] The above at least one technical solution adopted by the embodiment of the present disclosure can achieve the following beneficial effects: by responding to the service access request of the terminal, the starting node and the destination node matched with the service access request are determined; a plurality of candidate communication lines between the starting node and the destination node are obtained, and the links included in the plurality of candidate communication lines are determined respectively; the node performance indicators of the nodes corresponding to the links are obtained, and the link weights corresponding to the links are determined according to the node performance indicators; according to the corresponding link weights, the line weights corresponding to the plurality of candidate communication lines are determined respectively, and the target communication line is determined from the plurality of candidate communication lines according to the line weights.
[0010] Based on this, the embodiment of the present disclosure can consider all candidate communication lines between the starting node and the destination node, and analyze each candidate communication line according to the links included in each candidate communication line and the node performance indicators of the nodes corresponding to the links, and finally determine the target communication line from the plurality of candidate communication lines. As can be seen, the embodiment of the present disclosure can fully consider all communication lines between the starting node and the destination node, and analyze the communication lines in combination with the node performance indicators of the nodes corresponding to the links, so that the communication line analysis is more comprehensive, and the optimal communication line can be determined more accurately. BRIEF DESCRIPTION OF DRAWINGS
[0011] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the drawings needed in the embodiments or prior art description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present disclosure, and other drawings can be obtained by those skilled in the art without creative labor.
[0012] Figure 1 A flowchart of a method of multi-factor weight distribution combining AHP judgment matrix and information weight method provided by the embodiment of the present disclosure is shown;
[0013] Figure 2 A structure diagram of a network topology scenario provided by the embodiment of the present disclosure is shown;
[0014] Figure 3A structural schematic diagram of a network topology communication line calculation system provided by an embodiment of the present disclosure is shown.
[0015] Figure 4 A flowchart of service execution provided by an embodiment of the present disclosure is shown.
[0016] Figure 5 A flowchart of a communication line determination method provided by an embodiment of the present disclosure is shown.
[0017] Figure 6 A structural schematic diagram of a communication line determination apparatus provided by an embodiment of the present disclosure is shown.
[0018] Figure 7 A structural schematic diagram of an electronic device provided by an embodiment of the present disclosure is shown.
[0019] Figure 8 A structural schematic diagram of a computer system provided by an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0020] Embodiments of the present disclosure will be described in more detail by referring to the drawings. Although certain embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be implemented in various forms, and should not be construed as being limited to the embodiments set forth herein, but rather, these embodiments are provided so as to more completely and thoroughly understand the present disclosure. It is understood that the drawings and embodiments of the present disclosure are for exemplary purposes only, and are not intended to limit the scope of protection of the present disclosure.
[0021] It is understood that each step recited in the method embodiments of the present disclosure can be executed in different orders, and / or in parallel. In addition, the method embodiments can include additional steps and / or omit the execution of the steps shown. The scope of the present disclosure is not limited in this respect.
[0022] The term “comprising” and variations thereof as used herein are open-ended, that is, “comprising but not limited to.” The term “based on” is “based, at least in part, on.” The term “one embodiment” means “at least one embodiment”; the term “another embodiment” means “at least one additional embodiment”; the term “some embodiments” means “at least some embodiments.” Related definitions are given below. It is noted that the concepts mentioned in the present disclosure are merely used to distinguish different devices, modules or units, and are not intended to limit the order or interdependence of the functions performed by these devices, modules or units.
[0023] It should be noted that the modification of "one" or "multiple" mentioned in the present disclosure is illustrative rather than restrictive, and those skilled in the art should understand that unless the context clearly indicates otherwise, it should be understood as "one or more".
[0024] The names of the messages or information exchanged between the plurality of devices in the embodiments of the present disclosure are only for illustrative purposes, and are not intended to limit the scope of the messages or information.
[0025] In the related art, the A* search algorithm, commonly known as the A-star algorithm, is one of the heuristic search algorithms. It is an algorithm for finding the lowest cost communication line between multiple network nodes on a graph plane. It is commonly used for movement calculation of non-player characters (NPCs) in games or movement calculation of bots (BOTS) in online games. Like the Dijkstra algorithm, this algorithm can obtain a shortest communication line, and like the breadth-first search (BFS) algorithm, it performs heuristic search. It should be understood that a network node refers to a computer or other device connected to a network with an independent address and data transmission or reception function.
[0026] In the current mainstream communication line calculation method, the commonly used routing algorithm only supports using the link attribute value between different network nodes as the weight, and the common link algorithm only considers one link in the calculation logic. If there are multiple links, the calculation result will be inaccurate. Moreover, in the prior art, only one node performance indicator is considered when determining the communication line. However, in actual applications, there are many node performance indicators involved in the transmission process of the signal. Therefore, it is difficult to determine an optimal communication line by only considering a single node performance indicator. In addition, in the prior art, the data of the link design between all network nodes needs to be considered when calculating the communication line, which involves a large amount of calculation, resulting in low efficiency of determining the communication line.
[0027] To solve the above problems, the present disclosure provides a communication line determination method and device, electronic equipment and computer program product. First, the node performance indicators involved in the communication process of the device can be determined, and the weights corresponding to each node performance indicator can be determined. Then, when planning the communication line, the node performance indicators involved in the device can also be involved in the planning of the communication line. Moreover, when planning the communication line, all links between two devices are included in the calculation, so that an optimal communication line can be planned.
[0028] And in the communication line calculation of the network topology, the performance indicators of each node involved in the service requirement need to be comprehensively considered, the performance indicators of the node are classified in importance by the service requirement, the weight proportion between the performance indicators of the node is refined based on the data distribution of the performance indicators of the node, and finally the weight distribution of each performance indicator of the node is obtained. Finally, the communication line calculation is performed based on the combined weight, and the optimal communication line of the service is obtained. This idea not only considers the initial service requirement of the user, but also considers the influence of the data distribution of the performance indicators of each routing node.
[0029] In some embodiments, the weight proportion of each performance indicator of the node can be calculated by combining the Analytic Hierarchy Process (AHP) judgment matrix and the information weight analysis method. Specifically, first, the initial AHP judgment matrix can be obtained according to the service information submitted by the user, i.e., the importance information of each performance indicator of the node; then, the weight proportion of each performance indicator of the node is refined by using the information weight method according to the specific data information of each performance indicator of the node; finally, the weight proportion of each performance indicator of the node updated by the information weight method is used to update the AHP judgment matrix again, if the AHP judgment matrix meets the consistency requirement, the final weight proportion of each performance indicator of the node is obtained based on the AHP judgment matrix; if the AHP judgment matrix does not meet the consistency requirement, the weight of each performance indicator of the node is confirmed again.
[0030] Figure 1 A flowchart of a method for multi-factor weight distribution combining AHP judgment matrix and information weight method provided by an embodiment of the present disclosure is shown. As shown in Figure 1 the specific steps are as follows:
[0031] Step 101: Construct an AHP judgment matrix.
[0032] In some embodiments, the initial AHP judgment matrix can be obtained according to the service information submitted by the user, the performance indicators of the node and other information.
[0033] In actual application, in the case where the user selects the time delay, the jitter, the packet loss rate and the device CPU occupancy rate as the performance indicators of the node for communication line calculation, the importance of each performance indicator of the node needs to be determined first, and the importance can be set in advance, which can be determined by relevant experts. Specifically, as shown in Table 1:
[0034] Table 1: Comparison table of importance of performance indicators of node
[0035] Node performance indicator name Latency Jitter Packet loss rate Device performance Node performance indicator importance High Medium Medium Low
[0036] Based on this, the initial matrix of each node performance index can be established, and the weight of each node performance index is solved, wherein the specific form of the decision matrix can be:
[0037]
[0038] The criterion layer is composed of each node performance index affecting the service quality, and the decision matrix of the criterion layer is the initial matrix as described above, and the specific form is as shown above. Each element in the decision matrix represents the importance of the node performance index in the criterion layer, and the specific definition is shown in the following table:
[0039] Table 2 Comparison table of importance of node performance index
[0040] i and j importance comparison m ij the value of Equal 1 Slightly more important 3 More important 5 Much more important 7 Very important 9
[0041] Meanwhile, the decision matrix should satisfy the following conditions:
[0042] (1) m ij > 0;
[0043] (2) m ji = 1 / m ij ;
[0044] (3) m ii = 1.
[0045] And according to the following importance ratio, the initial decision matrix is constructed, and the specific ratio is as follows:
[0046] High: Medium = Important = 5;
[0047] Medium: Low = Important = 5;
[0048] High: Low = Extremely Important = 9.
[0049] Based on this, the following AHP decision matrix element table can be obtained:
[0050] Table 3 AHP decision matrix element table
[0051]
[0052]
[0053] In the above table 3, the upper right lower diagonal line of the AHP decision matrix is 1, which means that the importance of the node performance index itself is completely equal to itself; and the data in the upper right corner and the lower left corner are mutually inverse symmetric format; and the numbers represent the relative importance between the node performance indexes, and the larger the number is, the stronger the relative importance is.
[0054] Step 102: In the case that the importance of the two node performance indicators is the same, the weight is determined again using the information weight analysis method.
[0055] In some embodiments, for the node performance indicators with the same importance, the weight ratio of each node performance indicator is obtained again based on the information weight analysis method. For example, in the example of step 101, the importance of jitter and packet loss rate is medium, so the weight ratio between jitter and packet loss rate needs to be recalculated by the information weight analysis method.
[0056] Specifically, the data example is as follows: there is a data table corresponding to the node performance indicators of different links as shown in the following table. It should be understood that the data in the data table is normalized data.
[0057] Table 4: Data table corresponding to node performance indicators of different links
[0058]
[0059]
[0060] Based on the data corresponding to the node performance indicators of jitter and packet loss rate in Table 4, the information weight analysis method is used to analyze and obtain Table 5:
[0061] Table 5: Calculation results of information weight method
[0062]
[0063] Among them, the information weight is calculated by taking the coefficient of variation CV as the standard; the greater the coefficient of variation CV of the node performance indicator, the greater the weight; and the maximum weight is obtained by normalizing the CV coefficient. Based on this, the final weight ratio of jitter and packet loss rate can be obtained as 6:1.
[0064] Step 103: Update the AHP judgment matrix according to the re-determined weight.
[0065] Specifically, the AHP judgment matrix can be updated according to the results of the information weight analysis. It should be understood that this step is mainly for node performance indicators with the same importance, i.e., further processing of node performance indicators with the same importance, and the following requirements need to be followed during the processing:
[0066] (1) The sum of the importance of the adjusted node performance indicators relative to other unadjusted node performance indicators remains unchanged. For example, in the initial state, the importance of jitter and packet loss rate relative to device performance is 5, so the sum is 10. After adjustment, the importance of jitter and packet loss rate relative to device performance should still be 10. For example, in the following example, 60 / 7+10 / 7, the sum is still 10.
[0067] (2) The importance ratio of the adjusted node performance indicators should be consistent with the weight ratio calculated by the information weight analysis method in step 102. Assuming that the weight ratio of jitter and packet loss rate calculated by the information weight analysis method is 6:1, then in the updated AHP judgment matrix, the ratio of the importance values of jitter and packet loss rate relative to other node performance indicators should also be 6:1, specifically, for example, 60 / 7:10 / 7.
[0068] (3) The importance of the unadjusted node performance metrics does not need to be changed. The importance of the adjusted node performance metrics and the importance of the unadjusted node performance metrics need to be modified accordingly.
[0069] In some embodiments, the update logic for Table 3 is as follows: In the initial matrix, the importance of jitter and packet loss rate is both 5, and the average value is also 5. The importance values of jitter and packet loss rate are adjusted according to the weight ratio of jitter:packet loss rate = 6:1 calculated by the information content weight analysis method, while maintaining the requirement that the average value remains 5, to adjust the data of the AHP judgment matrix, resulting in a new AHP judgment matrix.
[0070] Table 6. Updated AHP Initial Matrix Element Table
[0071] Device performance Jitter Packet loss rate Latency Device performance 1 7 / 60 7 / 10 1 / 9 Jitter 60 / 7 1 6 20 / 21 Packet loss rate 10 / 7 1 / 6 1 10 / 63 Latency 9 21 / 20 63 / 10 1
[0072] Step 104: Determine whether the updated AHP judgment matrix meets the consistency requirements.
[0073] In some embodiments, the consensus node performance index (CI) of the analytic hierarchy process (AHP) can be expressed as: Where, λ max is the largest eigenvalue of the matrix, and n is the order of the matrix.
[0074] The consistency ratio (CR) value is expressed as:
[0075] Table 7. Average Consistency Node Performance Indicators (RI)
[0076] 1 2 3 4 5 6 7 8 9 0.00 0.00 0.58 0.90 1.12 1.24 1.32 1.41 1.45
[0077] Where, λ max The method for determining it is as follows:
[0078] Step 1: Let A = (a ij Let A be an n-order square matrix. Normalizing each column vector in A, we get B = (b... ij ),in, i, j = 1, 2, ..., n.
[0079] Step 2, for B = (bij ) Summing up in row to get C=(C1, C2, …, Cn) n ) T wherein, i=1, 2, … n.
[0080] Step 3, normalize C to get W=(W1, W2, …, Wn) n ) T wherein, i=1, 2, … n, which is the approximate eigenvector.
[0081] Step 4, calculate as the approximate value of the maximum eigenvalue (AW) i represents the i-th component of AW.
[0082] Further, C.I. and C.R. can be calculated using the maximum eigenvalue, wherein the calculation formula of C.I. and C.R. is as follows:
[0083]
[0084]
[0085] From the above formula, C.R. <0.1, at this time, it is determined that the updated AHP judgment matrix meets the consistency requirement.
[0086] Step 105: determining the weight of each node performance index based on the updated AHP judgment matrix.
[0087] Table 8 Node performance index weight table
[0088] Node performance indicator Weight Device performance 0.05 Jitter 0.43 Packet loss rate 0.07 Latency 0.45
[0089] In some embodiments, when the weight of each node performance index is determined, the optimized A* algorithm can be used for multi-factor combination routing, and it should be understood that the factor is the node performance index of the embodiments of the present disclosure. Specifically, the embodiments of the present disclosure can use a combination of subjective judgment and objective data to propose a weight distribution idea of multiple node performance indexes, and provide an optimization method of A* algorithm based on network topology scene and a network topology communication line calculation system based on the algorithm.
[0090] Specifically, the theoretical formula of the A* algorithm can be represented as:
[0091] F(n)=G(N)+H(n)
[0092] Wherein: G(N) can be regarded as the cost spent from start to current, H(n) is the cost (estimated value) from current to end, and F(n) represents the communication cost required when the signal is transmitted on the communication line.
[0093] Problems of the original algorithm logic:
[0094] (1) In the prior art, the A* algorithm package only considers the case of one communication line between two network nodes when calculating the communication line. This logic cannot well adapt to the actual application of the network topology scene, because in the optimal communication line calculation scene of the network topology, there are usually multiple links between two device network nodes. In this case, the current A* algorithm cannot calculate the optimal communication line.
[0095] (2) In the A* algorithm, each network node needs an H(n) estimation function to provide an estimated value, i.e., a predicted cost of the network node to the destination network node. In the application scene of a map with coordinates, a predicted cost can be calculated according to the coordinates, but in the scene of network topology communication line calculation, there is no explicit predicted cost that can be given.
[0096] (3) In the case of unreasonable H(n) estimation function, the final obtained communication line may not be the optimal communication line.
[0097] Optimization processing of the optimization algorithm:
[0098] (1) Optimize the A* algorithm package, and in actual calculation, each link is taken as a basic unit of calculation, so as to ensure that each link participates in the communication line calculation.
[0099] (2) Optimize the A* algorithm package, and propose a setting method of the network node prediction function H(n). Since n candidate communication lines have been obtained by communication line screening, based on the link node performance index data of the candidate communication lines, the average weight W of all links is calculated according to the combination weight, and the product of the hop number of each network node and W is set. For example, if the hop number of network node A is m, the predicted cost H(n) of network node A is set as mW. It should be understood that the hop number refers to the total number of hops required for a message to be routed from a source node to a destination node, or the total number of links through which the message passes.
[0100] (3) When the optimal communication line is obtained for the first time, the communication line information and weight information are recorded, and the possibility of other communication lines is continued to be calculated until it is ensured that there is no better communication line.
[0101] Figure 2 A structure schematic diagram of a network topology scene provided by an embodiment of the present disclosure is shown. As shown in FIG. 1, the network topology scene includes a plurality of network nodes, and each network node is connected to at least one other network node through a link.Figure 2 As shown in FIG. 1, assuming the current networking environment is as shown in FIG. 1, and the initial network node is A, and the destination network node is G, the optimal communication path from A to G is found. Figure 2 As shown in FIG. 1, assuming the current networking environment is as shown in FIG. 1, and the initial network node is A, and the destination network node is G, the optimal communication path from A to G is found.
[0102] Table 9 Link weight table
[0103] Source network node Sink network node Link Weight A B L3 3 A D L1 5 A D L2 3 A M L17 5 B C L6 6 B D L4 2 B D L5 5 C D L7 5 C E L10 7 C E L11 1 D F L8 2 D F L9 5 E F L12 4 E F L13 3 E G L16 8 F G L14 5 F G L15 2 M N L18 9 N G L19 3
[0104] According to the results of the simple algorithm and the average value of the combination weight, the predicted cost of each network node is calculated: for example, the average value of the weights of all links is 4. In Table 9, the source network node is the starting network node of the link, and the destination network node is the destination network node of the link.
[0105] Table 10 Network node preset value table
[0106]
[0107]
[0108] In some embodiments, it is assumed that a message needs to be sent from network node A to network node G, i.e., the initial network node is A and the destination network node is G, and the determination of the specific communication path can include the following steps:
[0109] Step 201: In some embodiments, starting from network node A, the reachable communication paths of network node A are A->D, A->B, and A->M, and the links are L1, L2, L3, and L17, and then the F values corresponding to L1, L2, L3, and L17 can be calculated, specifically:
[0110] F(L2) = G(L2:3) + H(D:8) = 11, and the value of F(L2) is stored in queue.
[0111] F(L3) = G(L3:3) + H(B:12) = 15, and the value of F(L3) is stored in queue.
[0112] F(17) = G(L17:5) + H(M:8) = 13, and the value of F(L17) is stored in queue.
[0113] After determining the F values corresponding to L1, L2, L3, and L17, the values of F(L1), F(L2), F(L3), and F(L17) can be stored in queue, and in queue, multiple links can be arranged according to the size of the F value, and the corresponding table of queue is as follows:
[0114] Table 11 Queue 1 table
[0115] F(L2) = G(L2:3) + H(D:8) = 11 F(L1) = G(L1:5) + H(D:8) = 13 F(17) = G(L17:5) + H(M:8) = 13 F(L3) = G(L3:3) + H(B:12) = 15
[0116] Step 202: According to step 201, the link L2 with the minimum F value is taken out from the queue, F(L2) = 11, and the destination network node of L2 is D, not the destination network node G, so the calculation needs to be continued. Starting from the network node D, the reachable communication lines of the network node D are D->B, D->C, and D->F; the links are: L4, L5, L7, L8, and L9, and then the F values corresponding to each link are as follows:
[0117] F(L2->L4) = G(L2:3) + G(L4:2) + H(B: 12) = 17;
[0118] F(L2->L5) = G(L2:3) + G(L5:5) + H(B: 12) = 20;
[0119] F(L2->L7) = G(L2:3) + G(L7:5) + H(C:8) = 16;
[0120] F(L2->L8) = G(L2:3) + G(L8:2) + H(F:4) = 9;
[0121] F(L2->L9) = G(L2:3) + G(L9:5) + H(F:4) = 12;
[0122] And the F values corresponding to the multiple links obtained according to step 202 are used to update table 11 to obtain table 12.
[0123] Table 12 Queue 2 Table
[0124]
[0125]
[0126] Step 203: According to step 202, the link F(L2->L8) with the minimum F value is taken out from the queue, and the destination network node of L2->L8 is F, not the destination network node G, so the calculation needs to be continued. Starting from the network node F, the reachable communication lines of the network node F are F->E and F->G; the links are: L12, L13, L14, and L15. And then the F values corresponding to each link are as follows:
[0127] F(L2->L8->L12) = G(L2:3) + G(L8:2) + G(L12:4) + H(E:4) = 13;
[0128] F(L2->L8->L13) = G(L2:3) + G(L8:2) + G(L13:3) + H(E:4) = 12;
[0129] F(L2->L8->L14) = G(L2:3) + G(L8:2) + G(L14:5) + H(G:0) = 10;
[0130] F(L2->L8->L15) = G(L2:3) + G(L8:2) + G(L15:2) + H(G:0) = 7;
[0131] And according to the F value corresponding to the plurality of links obtained in step 203, the table 12 is updated to obtain table 13.
[0132] Table 13 queue 3 table
[0133] F(L2->L8->L15) = G(L2:3) + G(L8:2) + G(L15:2) + H(G:0) = 7 F(L2->L8->L14) = G(L2:3) + G(L8:2) + G(L14:5) + H(G:0) = 10 F(L2->L8->L13) = G(L2:3) + G(L8:2) + G(L13:3) + H(E:4) = 12 F(L2->L9) = G(L2:3) + G(L9:5) + H(F:4) = 12 F(L2->L8->L12) = G(L2:3) + G(L8:2) + G(L12:4) + H(E:4) = 13 F(L1) = G(L1:5) + H(D:8) = 13 F(17) = G(L17:5) + H(M:8) = 13 F(L3) = G(L3:3) + H(B:12) = 15 F(L2->L7) = G(L2:3) + G(L7:5) + H(B:8) = 16 F(L2->L4) = G(L2:3) + G(L4:2) + H(B:12) = 17 F(L2->L5) = G(L2:3) + G(L5:5) + H(B:12) = 20
[0134] Step 204: According to step 203, the link F(L2->L8->L15) with the minimum F value is taken out from the queue, F(L2->L8->L15) = 7, and the end point of the communication line is the destination network node G, at this time, it is determined that the communication line L2->L8->L15 is the current optimal communication line, and the communication line p = L2->L8->L15 is recorded; G(p) = G(L2:3) + G(L8:2) + G(L15:2) = 7;
[0135] Step 205: After determining the optimal communication line p, it is also necessary to judge whether there is a communication line with a G value smaller than G(p) in the queue queue, if there is, it is necessary to continue to calculate whether these communication lines are possible optimal communication lines, as follows:
[0136] Table 14 queue 4 table
[0137] F(L2->L8->L15) = G(L2:3) + G(L8:2) + G(L15:2) + H(G:0) = 7 F(L2->L8->L14) = G(L2:3) + G(L8:2) + G(L14:5) + H(G:0) = 10; G(L2->L8->L14) = 10 F(L2->L8->L13) = G(L2:3) + G(L8:2) + G(L13:3) + H(E:4) = 12; G(L2->L8->L13) = 8 F(L2->L9) = G(L2:3) + G(L9:5) + H(F:4) = 12; G(L2->L9) = 8 F(L2->L8->L12) = G(L2:3) + G(L8:2) + G(L12:4) + H(E:4) = 13; G(L2->L8->L12) = 9 F(L1) = G(L1:5) + H(D:8) = 13; G(L1) = 5 F(L17) = G(L17:5) + H(M:8) = 13; G(L17) = 5 F(L3) = G(L3:3) + H(B:12) = 15; G(L3) = 3 F(L2->L7) = G(L2:3) + G(L7:5) + H(B:8) = 16; G(L2->L7) = 8 F(L2->L4) = G(L2:3) + G(L4:2) + H(B:12) = 17; G(L2->L4) = 5 F(L2->L5) = G(L2:3) + G(L5:5) + H(B:12) = 20; G(L2->L5) = 8;
[0138] As shown in table 14, there are F(L1), F(L17), F(L3), F(L2->L4) with a G value smaller than G(p), so it is necessary to further calculate whether F(L1), F(L17), F(L3), F(L2->L4) have the possibility of becoming the optimal communication line.
[0139] Step 206: Further calculate the information of the communication lines with a G value smaller than G(p) in queue, such as F(L1), F(L17), F(L3), F(L2->L4).
[0140] Wherein the destination network node of F(L1) is D, and the reachable communication lines of D are D->B, D->C, D->F; The links are: L4, L5, L7, L8, L9.
[0141] Wherein the destination network node of F(L17) is M, and the reachable communication line of M is M->N; The link is: L18.
[0142] Where the destination network node of F(L3) is B, the reachable communication lines of B are B->D, B->C; the links are: L4, L5, L6.
[0143] Where the destination network node of F(L2->L4) is B, the reachable communication lines of B are B->C; the links are: L6.
[0144] Based on this, the F value corresponding to the above communication line can be obtained as F(L3->L4->L6) = G(L3:3) + G(L4:2) + G(L6:6) + H(B:8) = 19; G(L3->L4->L6) = 11.
[0145] F(L1->L4) = G(L1:5) + G(L4:2) + H(B:8) = 15; G(L1->L4) = 7;
[0146] F(L1->L5) = G(L1:5) + G(L5:5) + H(B:8) = 18; G(L1->L5) = 10;
[0147] F(L1->L7) = G(L1:5) + G(L7:5) + H(C:8) = 18; G(L1->L7) = 10;
[0148] F(L1->L8) = G(L1:5) + G(L8:2) + H(F:4) = 11; G(L1->L8) = 7;
[0149] F(L1->L9) = G(L1:5) + G(L9:5) + H(F:4) = 14; G(L1->L8) = 10;
[0150] F(L17->L18) = G(L17:5) + G(L18:9) + H(N:4) = 18; G(L17->L18) = 14;
[0151] F(L3->L4) = G(L3:3) + G(L4:2) + H(B:8) = 13; G(L3->L4) = 5;
[0152] F(L3->L5) = G(L3:3) + G(L5:5) + H(B:8) = 16; G(L3->L5) = 8;
[0153] F(L3->L6) = G(L3:3) + G(L6:6) + H(C:8) = 17; G(L3->L5) = 9;
[0154] F(L2->L4->L6) = G(L2:3) + G(L4:2) + G(L6:6) + H(B:8) = 19; G(L2->L4->L6) = 11;
[0155] Table 15 Queue 5 Table
[0156] F(L2->L8->L15) = G(L2:3) + G(L8:2) + G(L15:2) + H(G:0) = 7 F(L2->L8->L14) = G(L2:3) + G(L8:2) + G(L14:5) + H(G:0) = 10; G(L2->L8->L14) = 10 F(L1->L8) = G(L1:5) + G(L8:2) + H(F:4) = 11; G(L1->L8) = 7; F(L2->L8->L13) = G(L2:3) + G(L8:2) + G(L13:3) + H(E:4) = 12; G(L2->L8->L13) = 8 F(L2->L9) = G(L2:3) + G(L9:5) + H(F:4) = 12; G(L2->L9) = 8 F(L2->L8->L12) = G(L2:3) + G(L8:2) + G(L12:4) + H(E:4) = 13; G(L2->L8->L12) = 9 F(L3->L4) = G(L3:3) + G(L4:2) + H(B:8) = 13; G(L3->L4) = 5 F(L1->L9) = G(L1:5) + G(L9:5) + H(F:4) = 14; G(L1->L8) = 10 F(L1->L4) = G(L1:5) + G(L4:2) + H(B:8) = 15; G(L1->L4) = 7 F(L2->L7) = G(L2:3) + G(L7:5) + H(B:8) = 16; G(L2->L7) = 8 F(L3->L5) = G(L3:3) + G(L5:5) + H(B:8) = 16; G(L3->L5) = 8 F(L2->L4) = G(L2:3) + G(L4:2) + H(B:12) = 17; G(L2->L4) = 5 F(L3->L6) = G(L3:3) + G(L6:6) + H(C:8) = 17; G(L3->L5) = 9 F(L17->L18) = G(L17:5) + G(L18:9) + H(N:4) = 18; G(L17->L18) = 14; F(L1->L5) = G(L1:5) + G(L5:5) + H(B:8) = 18; G(L1->L5) = 10 F(L1->L7) = G(L1:5) + G(L7:5) + H(C:8) = 18; G(L1->L7) = 10 F(L2->L5) = G(L2:3) + G(L5:5) + H(B:12) = 20; G(L2->L5) = 8; F(L2->L4->L6) = G(L2:3) + G(L4:2) + G(L6:6) + H(B:8) = 19; G(L2->L4->L6) = 11
[0157] Step 207: Repeat step 205 and step 206 to determine whether there is a communication line with a G value smaller than G(p) in the queue queue. If there is, it is necessary to continue to calculate whether these communication lines can be the optimal communication line. As can be seen from Table 15, G(L3->L4) = 5 < G(p). At this time, it is determined that L3->L4 is the optimal line, and the optimal communication line matching G(L3->L4) is continued to be calculated on the basis of L3->L4, and Table 15 is updated.
[0158] Specifically, the destination network node of G(L3->L4) is D point. The reachable communication lines from the D point are D->C and D->F, and the links are L7, L8, and L9. The specific calculation is as follows:
[0159] F(L3->L4->L7) = G(L3:3) + G(L4:2) + G(L7:5) + H(C:8) = 18; G(L3->L4->L7) = 10;
[0160] F(L3->L4->L8) = G(L3:3) + G(L4:2) + G(L8:2) + H(F:4) = 11; G(L3->L4->L8) = 7;
[0161] F(L3->L4->L9) = G(L3:3) + G(L4:2) + G(L9:5) + H(F:4) = 14; G(L3->L4->L9) = 10;
[0162] F(L3->L4->L7), F(L3->L4->L8), and F(L3->L4->L9) are updated into the queue queue,
[0163] Table 16 Queue 6 Table
[0164] F(L2->L8->L15) = G(L2:3) + G(L8:2) + G(L15:2) + H(G:0) = 7 F(L2->L8->L14) = G(L2:3) + G(L8:2) + G(L14:5) + H(G:0) = 10; G(L2->L8->L14) = 10 F(L3->L4->L8) = G(L3:3) + G(L4:2) + G(L8:2) + H(F:4) = 11; G(L3->L4->L8) = 7 F(L1->L8) = G(L1:5) + G(L8:2) + H(F:4) = 11; G(L1->L8) = 7; F(L2->L8->L13) = G(L2:3) + G(L8:2) + G(L13:3) + H(E:4) = 12; G(L2->L8->L13) = 8 F(L2->L9) = G(L2:3) + G(L9:5) + H(F:4) = 12; G(L2->L9) = 8 F(L2->L8->L12) = G(L2:3) + G(L8:2) + G(L12:4) + H(E:4) = 13; G(L2->L8->L12) = 9 F(L3->L4) = G(L3:3) + G(L4:2) + H(B:8) = 13; G(L3->L4) = 5 F(L1->L9) = G(L1:5) + G(L9:5) + H(F:4) = 14; G(L1->L8) = 10 F(L3->L4->L9) = G(L3:3) + G(L4:2) + G(L9:5) + H(F:4) = 14; G(L3->L4->L9) = 10 F(L1->L4) = G(L1:5) + G(L4:2) + H(B:8) = 15; G(L1->L4) = 7 F(L2->L7) = G(L2:3) + G(L7:5) + H(B:8) = 16; G(L2->L7) = 8 F(L3->L5) = G(L3:3) + G(L5:5) + H(B:8) = 16; G(L3->L5) = 8 F(L2->L4) = G(L2:3) + G(L4:2) + H(B:12) = 17; G(L2->L4) = 5 F(L3->L6) = G(L3:3) + G(L6:6) + H(C:8) = 17; G(L3->L5) = 9 F(L17->L18) = G(L17:5) + G(L18:9) + H(N:4) = 18; G(L17->L18) = 14; F(L1->L5) = G(L1:5) + G(L5:5) + H(B:8) = 18; G(L1->L5) = 10 F(L1->L7) = G(L1:5) + G(L7:5) + H(C:8) = 18; G(L1->L7) = 10 F(L3->L4->L7) = G(L3:3) + G(L4:2) + G(L7:5) + H(C:8) = 18; G(L3->L4->L7) = 10 F(L2->L5) = G(L2:3) + G(L5:5) + H(B:12) = 20; G(L2->L5) = 8; F(L2->L4->L6) = G(L2:3) + G(L4:2) + G(L6:6) + H(B:8) = 19; G(L2->L4->L6) = 11
[0165] Step 208: According to step 207, it is determined that L3->L4->L8 is the optimal communication line, but the destination network node of G(L3->L4->L8) is F, and the network node F is not the target node G. Therefore, it is necessary to repeat step 205 and step 206. At this time, it is determined that L3->L4->L8 is the optimal line, and the optimal communication line matching G(L3->L4->L8) is continued to be calculated on the basis of L3->L4->L8.
[0166] Specifically, the destination network node of G(L3->L4->L8) is F point. The reachable communication line from F point is F->G; the link is L14, L15, and the specific calculation is as follows:
[0167] F(L3->L4->L8->L14) = G(L3:3) + G(L4:2) + G(L8:2) + G(L14:5) + H(G:0) = 12; G(L3->L4->L8->L14) = 12;
[0168] F(L3->L4->L8->L15) = G(L3:3) + G(L4:2) + G(L8:2) + G(L15:2) + H(G:0) = 9; G(L3->L4->L8->L15) = 9;
[0169] Based on this, the optimal communication line L3->L4->L8->L15 from network node A to network node G can be obtained.
[0170] Figure 3 A structural schematic diagram of a network topology communication line calculation system provided by an embodiment of the present disclosure is shown. As shown in Figure 3 The network topology communication line calculation system is mainly divided into five modules (service processing module 3021, data processing module 3023, weight confirmation module 3022, data synchronization module 3024, and communication line calculation module 3025), relies on two three-party tools (postgres basic database 3031 and NEO4J graph database 3032), and an optimized A* algorithm. The specific use steps are as follows:
[0171] First, the user in the user layer 301 initiates a service access request, and the operation layer 302 can respond to the service access request initiated by the user to perform communication line calculation.
[0172] In some embodiments, the operation layer 302 is mainly used for communication line calculation, and specifically includes five modules: service processing module 3021, data processing module 3023, weight confirmation module 3022, data synchronization module 3024, and communication line calculation module 3025. The functions of each module are as follows:
[0173] Service processing module 3021: responsible for interfacing with external devices, accepting service access requests of communication lines, and cooperating with other modules to complete the entire service access request.
[0174] Data processing module 3023: responsible for obtaining data from the postgres basic database 3031 and performing cleaning, screening, and normalization processing.
[0175] Weight confirmation module 3022: responsible for assigning weights to each node performance index of the communication line according to the business demand and the data sample of the node performance index.
[0176] Data synchronization module 3024: responsible for synchronizing the data required for communication line calculation in NEO4J from postgres to NEO4J.
[0177] Communication line calculation module 3025: responsible for communication line calculation, including communication line screening and accurate route calculation.
[0178] For the data layer 303, it includes the basic database 3031 and the graph database 3032. Among them, Postgres: basic database 3031, used for storing network node information, link information, etc.; NEO4J: graph database 3032, providing support for graph calculation for the communication line calculation module 3025.
[0179] The embodiment of the disclosure also provides an A* algorithm for optimization and modification in the network topology communication line calculation scenario. Specifically, the facility layer is mainly used for network devices and other facilities in the live network, and needs to collect network topology, network performance node performance index and other data from network devices by service collection.
[0180] Figure 4 A flowchart of business execution provided by the embodiment of the disclosure is shown. As shown in Figure 4 , the specific steps are as follows:
[0181] Step 401: in response to the user initiating a business access request, determining the initial network node, destination network node, constraint condition and node performance index of the business communication line.
[0182] Among them, the constraint condition includes delay constraint, communication line constraint, bandwidth constraint. The node performance index includes: delay, jitter, packet loss rate, device CPU occupancy, device memory occupancy, link performance degradation node performance index, etc. The node performance index importance classification: high, medium, low.
[0183] Step 402: according to the initial network node, destination network node, constraint condition and node performance index of the business communication line submitted by the user, performing communication line screening. That is, only considering the constraint condition, obtaining n communication lines meeting the constraint condition, and taking the devices and links passed by the n communication lines as the available communication lines for the subsequent route calculation.
[0184] Step 403, obtaining the data corresponding to the node performance index and processing the data, specifically including:
[0185] 1. Remove outliers.
[0186] Collect data and perform outlier elimination on the data, which can specifically be to remove obvious outliers in the node performance indicator data, to avoid the existence of outliers affecting the accuracy of the communication line calculation.
[0187] 2. Take the average
[0188] Take the average of the current time period as the node performance indicator data, to avoid the influence of temporary fluctuations on the accuracy of the communication line calculation. The length of the time period can be set by the user on the page, and the default is to use the data of the last hour as the data sample.
[0189] 3. Normalization
[0190] According to the different characteristics of the node performance indicator data of the algorithm factor, the appropriate normalization method is adopted to normalize the sample data. For example, the data such as delay and jitter do not have a specific threshold, and the distribution characteristics of the data sample should be preserved, so the maximum and minimum value normalization method is suitable; for data such as packet loss rate and memory occupancy rate, when the data is lower than a certain threshold, the impact on service quality is lower, and when it is higher than a certain threshold, the impact on service quality increases sharply, so the power function normalization method is suitable for normalization.
[0191] (1) Maximum and minimum value normalization:
[0192] Where x' represents the normalized value; max(x) represents the maximum value in the data sample; min(x) represents the minimum value in the data sample.
[0193] (2) Power function normalization:
[0194] x' = 2 (x-a)*b
[0195] Where x' represents the normalized value, and a represents the threshold value, which is the value above which the data has a sharp increase in impact on service quality. For example, when the memory occupancy is higher than 90, the service quality decreases sharply, so the threshold value is 0.9.
[0196] (3) Exponential function normalization:
[0197] Where x' represents the normalized value; max(x) represents the maximum value in the data sample.
[0198] Step 404: Calculate the weight of each node performance indicator according to the data of each node performance indicator.
[0199] Specifically, the AHP weight matrix can be combined with the information weight method, and a weight distribution method for multiple node performance indicators can be used. Finally, the weight of each node performance indicator is calculated based on the business information and the data corresponding to each node performance indicator.
[0200] Step 405: Based on the combination weight of each node performance indicator, the precise route calculation is performed according to the user-submitted business information and constraint conditions. The communication line calculation module 3025 performs communication line calculation based on the graph operation of NEO4J. The weight of the final communication line calculation is combined by using the weight of each route node performance indicator and the data of the corresponding node performance indicator.
[0201] Specifically, the four node performance indicators of delay, jitter, packet loss rate, and device performance participate in the communication line calculation. The weight ratio is delay: jitter: packet loss rate: device performance = 0.05: 0.43: 0.07: 0.45. Then the combination weight of a link is determined as weight = 0.45*delay + 0.43*jitter + 0.07*packet loss rate + 0.05*device performance. The data of each node performance indicator should be normalized.
[0202] Finally, the communication line calculation module 3025 uses the A* algorithm based on the network topology scene optimization to complete the calculation of the optimal communication line based on the NEO4J graph database 3032 and the combination weight.
[0203] The method for determining the communication line provided by the embodiments of the present disclosure can be executed by a terminal or a chip applied to a terminal.
[0204] For example, the terminal can include one or more of a mobile phone, a tablet computer, a wearable device, a vehicle-mounted device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), and a wearable device based on augmented reality (AR) and / or virtual reality (VR) technology, and the like. The terminal can also include, but is not limited to, a remote control device, a wearable device, a street lamp, a smart terminal of a household appliance, and the like, and the embodiments of the present disclosure do not make specific limitations thereto.
[0205] Figure 5 A flowchart of the method for determining the communication line provided by the embodiments of the present disclosure is shown. As shown in Figure 5 The method includes:
[0206] Step 501: in response to a service access request of a terminal, determining a starting node and a destination node matched with the service access request.
[0207] In some embodiments, a user can send a service access request by using a terminal, at this time, the terminal can be determined as the starting node, and a destination node receiving the service access request, wherein the destination node can send a feedback message to the terminal according to the service access request after obtaining the service access request.
[0208] Step 502: obtaining a plurality of candidate communication lines between the starting node and the destination node, and respectively determining links included in the plurality of candidate communication lines. It should be understood that the starting node and the destination node can use the candidate communication lines for information transmission. It should be understood that the number of links included in one candidate communication line can be one or more.
[0209] In some embodiments, a network topology communication line diagram corresponding to a current network environment can be obtained, and then the plurality of candidate communication lines can be obtained from the network topology communication line diagram according to the starting node and the destination node, and the links included in the candidate communication lines can be determined.
[0210] Step 503: obtaining a node performance index of a node corresponding to the link, and determining a link weight corresponding to the link according to the node performance index.
[0211] In some embodiments, two nodes correspond to one link, so when determining the link weight corresponding to the link, the node performance index of the node corresponding to the link can also be combined, so that the link can be analyzed more comprehensively.
[0212] Step 504: respectively determining a line weight corresponding to the plurality of candidate communication lines according to the corresponding link weight, and determining a target communication line from the plurality of candidate communication lines according to the line weight.
[0213] Based on this, the embodiments of the present disclosure can consider all links between the starting node and the destination node, determine an index value corresponding to each link according to the index value, determine a link weight corresponding to the link according to the index value, and then determine a plurality of candidate communication lines between the starting node and the destination node through the connection relationship between the plurality of links, determine a candidate communication line weight corresponding to the candidate communication line according to the weight of each link, and finally determine a target candidate communication line weight according to the candidate communication line weight. It can be seen that the embodiments of the present disclosure can fully consider all links between the starting node and the destination node, so that the communication line calculation is more accurate when determining the communication line between the starting node and the destination node, and the optimal communication line can be obtained more accurately.
[0214] In some embodiments, when the node performance indicators of the nodes corresponding to the link are obtained, and the link weight corresponding to the link is determined according to the node performance indicators, in the case that the number of node performance indicators is multiple, the indicator importance and the indicator value corresponding to the multiple node performance indicators can be obtained; then the judgment matrix is determined according to the indicator importance, and the indicator weight corresponding to the multiple node performance indicators is determined according to the judgment matrix; finally, the link weight of the link is determined according to the indicator weight and the corresponding indicator value.
[0215] Specifically, the initial AHP judgment matrix can be obtained according to the service information, node performance indicators and other information submitted by the user.
[0216] In actual application, in the case that the user selects the delay, the jitter, the packet loss rate and the device CPU occupancy rate as the node performance indicators for communication line calculation, the importance corresponding to each node performance indicator needs to be determined first, and the importance can be set in advance, which can be determined by relevant experts and can refer to the content of Table 1 described above. Based on this, the initial matrix of each node performance indicator can be established, and the weight of each node performance indicator is solved, wherein the specific form of the judgment matrix can be:
[0217] Wherein, each element in the judgment matrix represents the importance of the node performance indicator in the criterion layer, and the specific definition can be referred to Table 2 described above, and then the AHP judgment matrix element can be obtained combined with the corresponding conditions of the judgment matrix, which is specifically shown in Table 3 described above, wherein the upper right lower diagonal line in the AHP judgment matrix is 1, which means that the importance of the node performance indicator itself is completely equal to itself; the data in the upper right corner and the lower left corner are reciprocal symmetric format; the number represents the relative importance between the node performance indicators, and the larger the number is, the stronger the relative importance is.
[0218] In some embodiments, when the judgment matrix is determined according to the indicator importance, and the indicator weight corresponding to the multiple node performance indicators is determined according to the judgment matrix, if the importance of at least two node performance indicators in the multiple node performance indicators is the same, the indicator data corresponding to the at least two node performance indicators with the same importance in a preset period is obtained respectively; then the indicator weight corresponding to the at least two node performance indicators with the same importance is determined again according to the corresponding indicator data.
[0219] Specifically, for the node performance indicators with the same importance, the weight proportion of each node performance indicator also needs to be obtained based on the information weight analysis method. Assuming that the importance of the jitter and the packet loss rate is medium, the weight proportion between the jitter and the packet loss rate needs to be recalculated by the information weight analysis method.
[0220] Specifically, data examples: as there are different link node performance indicators corresponding data table (has been normalized) as shown in the table below, the specific indicator data is shown in Table 4. Based on this, the node performance indicators corresponding to the data of jitter and packet loss rate can be obtained, and the information amount weight analysis method is analyzed to re-determine the indicator weight corresponding to the jitter and packet loss rate.
[0221] In practical applications, after re-determining the indicator weight corresponding to the jitter and packet loss rate, the link weight corresponding to the link needs to be re-determined according to the re-determined indicator weight.
[0222] In some embodiments, when the target candidate communication line is determined from the plurality of candidate communication lines according to the candidate communication line weight, the plurality of intermediate nodes between the starting node and the destination node can be obtained first; then according to the link weight and the node hop number corresponding to the plurality of intermediate nodes, the predicted cost corresponding to the plurality of intermediate nodes is determined respectively; then according to the preset access order of the plurality of intermediate nodes, the plurality of intermediate nodes in the candidate communication line are traversed from the starting node, and in the traversal process, the link cost corresponding to the plurality of candidate communication lines is determined according to the predicted cost and the link weight; finally, the target communication line is determined from the plurality of candidate communication lines according to the link cost.
[0223] In practical applications, as shown in Figure 2 there can be one or more intermediate nodes between the starting node A and the destination node G. Based on this, when finding the optimal communication line from node A to node G, the weights of the plurality of links can be determined first, and then the predicted cost corresponding to the plurality of intermediate nodes is determined according to the link weight and the node hop number corresponding to the plurality of intermediate nodes.
[0224] Suppose that the average weight of all links in the current scenario is 4, at this time, for node A, through Figure 2 It can be seen that the hop number corresponding to node A is 3, at this time, the predicted cost H(n) of network node A is set to mW = 12, based on this, the predicted cost corresponding to the plurality of intermediate nodes in the current scenario can be obtained, as shown in Table 10.
[0225] In practical applications, when obtaining the optimal line between node A and node G, the plurality of intermediate nodes in the candidate communication line can be traversed from the starting node according to the preset access order of the plurality of intermediate nodes.
[0226] Specifically, for the starting node A, the node B, the node D and the node M can be analyzed first, and the optimal link is determined from L1, L2, L3 and L17, and the corresponding related content can be referred to in Table 11, so that the L2 with the minimum line cost F value can be obtained, and the node B corresponding to L2 is determined as the node B, which is not the destination node. Therefore, the subsequent nodes corresponding to the node B are analyzed, and the analysis mode of the subsequent nodes is consistent with that of the node A. The specific process can be referred to the related content in the foregoing Figure 2
[0227] In some embodiments, in the traversal process, the line cost of each candidate communication line can be determined according to the predicted cost and the line weight. First, the sub-communication line is determined from the plurality of candidate communication lines according to the intermediate node and the starting node. Then, the line cost of the sub-communication line can be determined according to the line weight of the sub-communication line and the predicted cost of the intermediate node.
[0228] Specifically, the sub-communication line is the communication line corresponding to the initial node A and any intermediate node. Because the intermediate node needs to be accessed according to the preset access order of the intermediate node in the traversal process, a plurality of sub-communication lines can be obtained in the access process. Therefore, the line weight of the plurality of sub-communication lines needs to be determined, and the line cost of the sub-communication line is determined in combination with the predicted cost of the intermediate node, so that the plurality of sub-communication lines can be analyzed in more detail, and the target sub-communication line can be further ensured to be the optimal communication line. It should be understood that the sub-communication line will gradually become longer as the link increases.
[0229] In some embodiments, after the target communication line is determined from the plurality of candidate communication lines according to the line cost, the line cost table can be constructed according to the line cost of the plurality of candidate communication lines, and the target line cost corresponding to the target communication line can be determined. Then, the target line cost is compared with the plurality of line costs in the line cost table one by one. If there is a candidate communication line with a line cost less than the target line cost in the line cost table, the target communication line is re-determined according to the candidate communication line with the line cost less than the target line cost.
[0230] Specifically, after the optimal target communication line is determined, it is further needed to judge whether there is a communication line with a smaller G value than G(p) in the queue queue, if there is, it is needed to continue to calculate whether these communication lines can be the optimal communication line. It should be understood that the G value is the real cost needed to be paid in the actual communication process, and the above target communication line is determined according to the line cost F, and F represents the communication cost needed when the signal is transmitted on the communication line, including the real cost and the predicted cost, therefore, it is further needed to compare the real costs corresponding to the target communication line and the plurality of candidate communication lines, and then obtain a target communication line with smaller line cost F and real cost G, and then the message can be transmitted from the starting node to the destination node at the fastest speed in the process of guaranteeing the communication quality.
[0231] In some embodiments, the embodiments of the present disclosure determine the link weights corresponding to the plurality of links when the candidate communication line includes a plurality of links, and then determine the line weight corresponding to the candidate communication line according to the link weights corresponding to the plurality of links.
[0232] Specifically, the target communication line can include a plurality of links, therefore, it is needed to determine the link weights corresponding to the plurality of links, and finally sum the link weights corresponding to the plurality of links, and then the line weight corresponding to the candidate communication line can be obtained.
[0233] The above mainly introduces the scheme provided by the embodiments of the present disclosure. It can be understood that, in order to realize the above functions, the electronic device contains the hardware structure and / or software module corresponding to each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed in the present text, the present disclosure can be realized in the form of hardware or the combination of hardware and computer software. Whether a certain function is realized in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. The professional technicians can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present disclosure.
[0234] The embodiments of the present disclosure can divide the functional units of the electronic device according to the above method examples, for example, each functional module can be divided corresponding to each function, or two or more functions can be integrated in one processing module. The above integrated module can be realized in the form of hardware or in the form of software functional module. It should be noted that the division of the module in the embodiments of the present disclosure is illustrative, and is only a logical function division, and another division mode can be used in actual implementation.
[0235] In the case of dividing each functional module according to each function, the disclosure provides a communication line determination apparatus, which can be an electronic device or a chip applied to an electronic device. Figure 6 A structural diagram of the communication line determination apparatus provided by the embodiments of the disclosure is shown. As shown in Figure 6 The apparatus 600 includes:
[0236] The response module 601 is configured to determine a starting node and a destination node matched with a service access request of a terminal in response to the service access request.
[0237] The acquisition module 602 is configured to acquire a plurality of candidate communication lines between the starting node and the destination node, and determine a plurality of links included in the plurality of candidate communication lines, respectively.
[0238] The first determination module 603 is configured to determine a link weight corresponding to each link according to an index value corresponding to the link, and determine a line weight corresponding to each of the plurality of candidate communication lines according to the corresponding link weight.
[0239] The second determination module 604 is configured to determine a target communication line from the plurality of candidate communication lines according to the line weight.
[0240] In some embodiments, the first determination module 603 is further configured to acquire a node performance index of a node corresponding to the link, acquire an index importance and an index value corresponding to a plurality of network performance indexes in the case that the number of the network performance indexes is a plurality, determine a judgment matrix according to the index importance, and determine an index weight corresponding to the plurality of node performance indexes according to the judgment matrix, wherein the judgment matrix is used to represent the index importance degree between node performance indexes, and determine the link weight of the link according to the index weight and the corresponding index value.
[0241] In some embodiments, the first determination module 603 is further configured to, if there are at least two node performance indexes with the same importance in the plurality of node performance indexes, acquire index data corresponding to the at least two node performance indexes with the same importance in a preset time period, respectively, and redetermine the index weight corresponding to the at least two node performance indexes with the same importance according to the corresponding index data, respectively.
[0242] In some embodiments, the second determining module 604 is further configured to acquire a plurality of intermediate nodes between the start node and the destination node; determine a predicted cost corresponding to each of the plurality of intermediate nodes according to the link weight and the node hop number corresponding to each of the plurality of intermediate nodes; traverse the plurality of intermediate nodes in the candidate communication line according to a preset access sequence of the plurality of intermediate nodes, and determine a line cost corresponding to each of the plurality of candidate communication lines according to the predicted cost and the line weight during the traversal; and determine a target communication line from the plurality of candidate communication lines according to the line cost.
[0243] In some embodiments, the second determining module 604 is further configured to determine a sub-communication line from the plurality of candidate communication lines according to the intermediate node and the start node; and determine a line cost corresponding to the sub-communication line according to the line weight corresponding to the sub-communication line and the predicted cost corresponding to the intermediate node.
[0244] In some embodiments, the apparatus 600 further includes a comparison module 605 configured to construct a line cost table according to the line cost corresponding to each of the plurality of candidate communication lines, determine a target line cost corresponding to the target communication line, and compare the target line cost with each of the line costs in the line cost table, and if there is a candidate communication line with a line cost smaller than the target line cost in the line cost table, determine a target communication line according to the candidate communication line with the line cost smaller than the target line cost.
[0245] In some embodiments, the second determining module 604 is further configured to, if the candidate communication line includes a plurality of links, acquire an index value corresponding to each of the plurality of links; and determine the line weight corresponding to the candidate communication line according to the index value corresponding to each of the plurality of links.
[0246] The embodiments of the present disclosure further provide an electronic device, including at least one processor, a memory for storing instructions executable by the at least one processor, and wherein the at least one processor is configured to execute the instructions to implement the steps of the above method.
[0247] Figure 7 A structural schematic diagram of an electronic device provided by the embodiments of the present disclosure is shown. As shown in the figure, the electronic device 700 includes at least one processor 701 and a memory 702 coupled to the processor 701, and the processor 701 can execute the corresponding steps in the above method disclosed by the embodiments of the present disclosure. Figure 7
[0248] The processor 701 can also be referred to as a central processing unit (CPU), which can be an integrated circuit chip that has the processing capability of signals. Each step in the above method disclosed by the embodiments of the present disclosure can be completed by the integrated logic circuit of hardware or the instructions in the form of software in the processor 701. The processor 701 can be a general-purpose processor, a digital signal processor (DSP), an ASIC, a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in conjunction with the embodiments of the present disclosure can be directly embodied as hardware code processing for execution, or executed by a combination of hardware and software modules in the code processing. The software module can be located in the memory 702, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, and other mature storage media in the art. The processor 701 reads the information in the memory 702, and completes the steps of the above method in conjunction with the hardware thereof.
[0249] In addition, various operations / processes according to the present disclosure, when implemented by software and / or firmware, can be downloaded from a storage medium or a network to a computer system with a special hardware structure, for example, Figure 8 The computer system 800 shown is installed with programs constituting the software, and when various programs are installed, the computer system can perform various functions, including functions such as those described above. Figure 8 A structure schematic diagram of a computer system provided by the embodiments of the present disclosure is shown.
[0250] The computer system 800 is intended to represent various forms of digital electronic computer devices, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown in the figures, their connections and relationships, and their functions, are merely examples, and are not intended to limit the implementations of the present disclosure described and / or claimed herein.
[0251] As Figure 8As shown, the computer system 800 includes a computing unit 801 that can perform various appropriate actions and processes in accordance with computer systems stored in a read only memory (ROM) 802 or loaded into a random access memory (RAM) 803 from a storage unit 808. Various programs and data required for the operation of the computer system 800 can also be stored in the RAM 803. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0252] A plurality of components in the computer system 800 are connected to the I / O interface 805, including an input unit 806, an output unit 807, a storage unit 808, and a communication unit 809. The input unit 806 can be any type of device that can input information to the computer system 800, and can receive inputted digital or character information, and generate key signal inputs related to user settings and / or function controls of the electronic device. The output unit 807 can be any type of device that can present information, and can include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 808 can include, but is not limited to, a magnetic disk, an optical disk. The communication unit 809 allows the computer system 800 to exchange information / data with other devices through a network such as the Internet, and can include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, for example, a Bluetooth™ device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.
[0253] The computing unit 801 can be various general and / or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 801 performs various methods and processes described above. For example, in some embodiments, the above-described methods disclosed by embodiments of the present disclosure can be implemented as a computer software program tangibly embodied in a machine-readable medium, for example, the storage unit 808. In some embodiments, part or all of the computer system can be loaded and / or installed on the electronic device via the ROM 802 and / or the communication unit 809. In some embodiments, the computing unit 801 can be configured to perform the above-described methods disclosed by embodiments of the present disclosure by any other appropriate means, for example, by means of firmware.
[0254] The embodiment of the present disclosure further provides a computer readable storage medium, wherein when instructions in the computer readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the above method disclosed by the embodiment of the present disclosure.
[0255] The computer readable storage medium in the embodiment of the present disclosure can be a tangible medium, which can contain or store programs for use by or in connection with an instruction execution system, apparatus or device. The above computer readable storage medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any suitable combination of the above. More specifically, the above computer readable storage medium can include one or more wire-based electrical connections, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above.
[0256] The above computer readable medium can be included in the above electronic device, or can exist separately and not be assembled into the electronic device.
[0257] The embodiment of the present disclosure further provides a computer program product, including a computer program product, wherein the computer program product is executed by a processor to implement the above method disclosed by the embodiment of the present disclosure.
[0258] In the embodiments of the present disclosure, the computer program product code for performing the operations of the present disclosure can be written in one or more programming languages or combinations thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" language or similar programming languages. Program code can be executed entirely on a user computer, partially on a user computer, as a separate software package, partially on a user computer and partially on a remote computer, or entirely on a remote computer or server. In the case involving a remote computer, the remote computer can be connected to the user computer through any kind of network including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer.
[0259] The flow diagrams and the block diagrams in the drawings are illustrations of architectures, functionalities, and operations of possible implementations of systems, methods, and computer program products according to various embodiments of present disclosure. In this regard, each block in the flow diagrams or block diagrams can represent a module, a segment, or a portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the block can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flow diagrams, and combinations thereof, can be implemented by special purpose hardware-based systems that perform the specified functions or operations, or combinations of special purpose hardware and computer instructions.
[0260] The modules, components or units described in the embodiments of the present disclosure can be implemented by software or by hardware. In some cases, the name of the module, component or unit does not constitute a limitation on the module, component or unit itself.
[0261] The functions described in this specification can be implemented in part or in whole by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
[0262] The above description is merely illustrative of the embodiments of the present disclosure and the principles of the technology involved. It is understood that the disclosure scope of the present disclosure is not limited to the technical solutions formed by the specific combinations of the above technical features, and should also cover other technical solutions formed by the combinations of the above technical features or equivalent features thereof without departing from the above disclosure concept. For example, the technical solutions formed by replacing the above features with the technical features disclosed in the present disclosure (but not limited to) having similar functions.
[0263] Although some specific embodiments of the present disclosure have been described in detail by way of examples, one skilled in the art should understand that the above examples are only for illustration, and are not intended to limit the scope of the present disclosure. One skilled in the art should understand that the above embodiments can be modified without departing from the scope and spirit of the present disclosure. The scope of the present disclosure is defined by the appended claims.
Claims
1. A method of determining a communication line, characterized by, The method comprises: in response to a service access request of a terminal, determining a starting node and a destination node matched with the service access request; obtaining a plurality of candidate communication lines between the starting node and the destination node, and respectively determining links included in the plurality of candidate communication lines; obtaining node performance indicators of nodes corresponding to the links, and determining link weights corresponding to the links according to the node performance indicators; wherein the node performance indicators include at least one of a time delay, a jitter, a packet loss rate, and a device CPU occupancy rate; determining line weights corresponding to the plurality of candidate communication lines according to the corresponding link weights, and determining a target communication line from the plurality of candidate communication lines according to the line weights; wherein the obtaining of the node performance indicators of the nodes corresponding to the links and the determination of the link weights corresponding to the links according to the node performance indicators comprise: in a case where the number of the node performance indicators is a plurality, obtaining indicator importance and an indicator value corresponding to each of the plurality of node performance indicators; determining a judgment matrix according to the indicator importance, and determining indicator weights corresponding to the plurality of node performance indicators according to the judgment matrix, wherein the judgment matrix is used to represent the indicator importance degree between the node performance indicators; determining the link weights of the links according to the indicator weights and the corresponding indicator values; the determination of the judgment matrix according to the indicator importance and the determination of the indicator weights corresponding to the plurality of node performance indicators according to the judgment matrix comprise: if the importance of at least two node performance indicators in the plurality of node performance indicators is the same, obtaining indicator data corresponding to the at least two node performance indicators with the same importance within a preset time period; respectively re-determining the indicator weights corresponding to the at least two node performance indicators with the same importance according to the corresponding indicator data.
2. The method of claim 1, wherein, the determination of the target communication line from the plurality of candidate communication lines according to the line weights comprises: obtaining a plurality of intermediate nodes between the starting node and the destination node; respectively determining predicted costs corresponding to the plurality of intermediate nodes according to the link weights and node hop numbers corresponding to the plurality of intermediate nodes; traversing the plurality of intermediate nodes in the candidate communication lines in a preset access order of the plurality of intermediate nodes from the starting node, and respectively determining line costs corresponding to the plurality of candidate communication lines according to the predicted costs and the line weights in the traversal process; determining the target communication line from the plurality of candidate communication lines according to the line costs.
3. The method of claim 2, wherein, the determination of the line costs corresponding to the plurality of candidate communication lines according to the predicted costs and the line weights in the traversal process comprises: determining sub-communication lines from the plurality of candidate communication lines according to the intermediate nodes and the starting node; determining line costs corresponding to the sub-communication lines according to the line weights corresponding to the sub-communication lines and the predicted costs corresponding to the intermediate nodes.
4. The method of claim 2, wherein, After the target communication line is determined from the plurality of candidate communication lines according to the line costs, the method further comprises: constructing a line cost table according to the line costs corresponding to the plurality of candidate communication lines, and determining a target line cost corresponding to the target communication line; comparing the target line cost with the plurality of line costs in the line cost table one by one, and if there is a candidate communication line with a line cost smaller than the target line cost in the line cost table, re-determining the target communication line according to the candidate communication line with the line cost smaller than the target line cost.
5. The method of claim 1, wherein, The determining of the line weights corresponding to the plurality of candidate communication lines respectively according to the corresponding link weights comprises: in the case where the candidate communication line comprises a plurality of links, determining the link weights corresponding to the plurality of links; determining the line weight corresponding to the candidate communication line according to the link weights corresponding to the plurality of links.
6. A determination device of a communication line, characterized by comprising: The device comprises: a response module configured to determine a starting node and a destination node matched with a service access request of a terminal in response to the service access request; an acquisition module configured to acquire a plurality of candidate communication lines between the starting node and the destination node, and determine a plurality of links comprised by the plurality of candidate communication lines respectively; a first determination module configured to acquire node performance indexes of nodes corresponding to the links, and determine link weights corresponding to the links according to the node performance indexes; wherein the node performance indexes comprise at least one of a time delay, a jitter, a packet loss rate, and a device CPU occupancy rate; a second determination module configured to determine line weights corresponding to the plurality of candidate communication lines respectively according to the corresponding link weights, and determine a target communication line from the plurality of candidate communication lines according to the line weights; the first determination module is further configured to, in the case where the number of node performance indexes is a plurality, acquire index importance and index values corresponding to the plurality of node performance indexes, determine a judgment matrix according to the index importance, and determine index weights corresponding to the plurality of node performance indexes according to the judgment matrix, wherein the judgment matrix is used to represent the index importance degree between node performance indexes, and determine the link weights of the links according to the index weights and the corresponding index values; the first determination module is further configured to, if there are at least two node performance indexes with the same importance in the plurality of node performance indexes, acquire index data corresponding to the at least two node performance indexes with the same importance in a preset time period respectively, and re-determine the index weights corresponding to the at least two node performance indexes with the same importance according to the corresponding index data respectively.
7. An electronic device, comprising: comprise: at least one processor; a memory for storing instructions executable by the at least one processor; wherein the at least one processor is configured to execute the instructions to implement the steps of the method according to any one of claims 1-5.
8. A computer program product, characterised in that, The computer program product, when executed by a computer, is used to make the computer execute the method according to any one of claims 1-5. The computer program product, when executed by a computer, is used to make the computer execute the method according to any one of claims 1-5.
Citation Information
Patent Citations
Network routing method and device based on weight calculation
CN111585894A
Method for optimizing cooperative network information and energy transmission in combination with weights of destination nodes
CN111586614A