A link reestablishment method and system
By optimizing transmission path selection and fault recovery mechanisms in the content delivery network, the link problems caused by node failures in multi-path transmission are solved, achieving more efficient and reliable data transmission.
Patent Information
- Application Number
- CN202411743024.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-29
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2044-11-29
AI Technical Summary
In content delivery networks, multiple transmissions can lead to failures in establishing connections between CDN nodes and link failures due to network fluctuations and node failures, affecting user experience and origin server stability. Related technologies have not been able to effectively solve this problem.
By acquiring the detection results of each node and the source station, multiple transmission paths with no duplicate intermediate nodes and the same return to the source node are determined. The initial path is established first, and alternative paths are used for fault recovery. Data is split and compressed for transmission when necessary, and the path selection is optimized by using detection weights.
It improves the continuity and stability of data transmission, avoids node reuse, reduces computing resource consumption, improves bandwidth utilization efficiency, reduces source station pressure, and ensures the reliability and fault tolerance of data transmission.
Smart Images

Figure CN119676291B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of content distribution network, and particularly relates to a link reconstruction method and system. BACKGROUND
[0002] The application acceleration product is a transport layer acceleration product. By relying on high-quality nodes and lines of a content delivery network (CDN) platform, and by means of core technologies such as intelligent scheduling and transmission optimization, the application acceleration product provides performance optimization services for various applications based on TCP / UDP protocols, and can effectively solve problems such as public network link jitter and congestion.
[0003] The application acceleration gateway, as one of important components of the application acceleration product, can realize fast transmission of data according to intelligent routing issued by a dynamic path proxy service Agent. In order to further improve transmission efficiency and reliability, a multi-path transmission technology can be used to establish multiple paths from a user side to a source station, so that data packets are transmitted through the multiple paths at the same time.
[0004] However, in actual application, due to network fluctuations, node failures and other reasons, multi-path transmission may fail to establish a link between CDN nodes and may fail to transmit data in a transmission process, which affects user experience. However, the related art does not provide an effective solution to these problems. SUMMARY
[0005] In order to overcome the problems in the related art, the present disclosure provides a link reconstruction method and system. The technical solution of the present disclosure is as follows.
[0006] According to a first aspect of an embodiment of the present disclosure, a link reconstruction method is provided, comprising:
[0007] obtaining a detection result of each node and each source station, the detection result comprising at least index data representing node transmission performance;
[0008] determining multiple transmission paths with non-repeated intermediate nodes and the same source nodes according to the detection result; the multiple transmission paths comprising a first number of initial paths and a second number of alternative paths, and the source node being a previous hop node of a source station;
[0009] establishing a first number of transmission paths for data transmission according to a priority order of the multiple transmission paths, the first number of transmission paths comprising the initial paths and / or the alternative paths, and the initial paths having a higher priority than the alternative paths.
[0010] Optionally, establishing a first number of transmission paths for data transmission according to a priority order of the multiple transmission paths comprises:
[0011] establish each initial path through inter-node association to perform data transmission; or
[0012] In the case where the initial path establishment fails, determine a third number of the initial paths that fail to be established;
[0013] reestablish the candidate paths in sequence until the number of the candidate paths that are successfully established meets the third number;
[0014] perform data transmission through the initial paths that are successfully established and the candidate paths that are successfully established;
[0015] In the case where the second number of the candidate paths are reestablished and the number of the candidate paths that are successfully established does not meet the third number, perform data transmission through the initial paths that are successfully established and the candidate paths that are successfully established.
[0016] Optionally, according to the priority order of the plurality of transmission paths, establish a first number of transmission paths to perform data transmission, including:
[0017] split target data for data transmission according to the first number to obtain a first number of sub-data;
[0018] perform transmission of the sub-data through the first number of transmission paths respectively.
[0019] Optionally, further comprising:
[0020] cache the sub-data in a cache area;
[0021] perform transmission of the sub-data through the first number of transmission paths respectively; including:
[0022] determine a first timeout time;
[0023] determine whether each of the sub-data in the cache area receives an acknowledgement packet within the first timeout time;
[0024] in the case where the sub-data does not receive the acknowledgement packet, confirm that a transmission path corresponding to the sub-data that does not receive the acknowledgement packet has a link fault;
[0025] reestablish the candidate paths in sequence to obtain a target candidate path corresponding to the transmission path that has the link fault;
[0026] determine the sub-data corresponding to the transmission path that has the link fault from the cache area, and perform transmission of the sub-data through the target candidate path.
[0027] Optionally, after confirming that a link fault occurs in the transmission path corresponding to the sub-data for which no acknowledgement message is received, the method further comprises:
[0028] triggering an abnormal session of the transmission path at a source return node of the transmission path;
[0029] determining a second timeout time of the abnormal session;
[0030] the transmitting the sub-data through the target alternative path comprises:
[0031] in a case where the target alternative path is successfully established within the second timeout time, transmitting the sub-data through the target alternative path.
[0032] Optionally, the transmitting the sub-data through the first number of transmission paths respectively comprises:
[0033] determining whether each of the sub-data is greater than a minimum compression requirement respectively;
[0034] in a case where the sub-data is greater than the minimum compression requirement, compressing the sub-data and adding a compression identifier to a protocol header of the compressed sub-data; the compression identifier is used to represent that the data is compressed data, so that a tail node decompresses the compressed sub-data based on the compression identifier; the tail node is determined by a transmission direction of the transmission path; the transmission direction comprises uplink transmission or downlink transmission;
[0035] transmitting the compressed sub-data with the added compression identifier through the first number of transmission paths respectively.
[0036] Optionally, the transmitting the sub-data through the first number of transmission paths respectively comprises:
[0037] determining an upper hop node of a source return node in each of the transmission paths respectively;
[0038] setting content of a target option according to a session identifier of the target data in each of the upper hop nodes; wherein the content of the target option is used to identify the association of each connection corresponding to the target data; the connection is a connection between nodes in the transmission path;
[0039] distributing the sub-data transmitted through the associated transmission paths to a server of a same source return node, so as to process the sub-data of each of the transmission paths through a same process of the server.
[0040] Optionally, the method further comprises obtaining a detection result of each node and each source station; the obtaining the detection result comprises:
[0041] periodically probe each node and each source station to obtain a probe result;
[0042] calculate, weight and network jitter smooth the probe result, and determine a probe weight of each node; the probe weight represents a priority of the node in the process of determining a transmission path;
[0043] add the probe weight to the probe result to obtain the probe result carrying the probe weight;
[0044] determine a plurality of transmission paths with non-repeated intermediate nodes and the same source return node according to the probe result, including:
[0045] determine a plurality of transmission paths with non-repeated intermediate nodes and the same source return node according to the probe result carrying the probe weight.
[0046] According to a second aspect of the embodiments of the present disclosure, a link reconstruction system is provided, including:
[0047] The acquisition module is configured to acquire a probe result of each node and each source station, and the probe result includes at least index data representing node transmission performance;
[0048] The determination module is configured to determine a plurality of transmission paths with non-repeated intermediate nodes and the same source return node according to the probe result; the plurality of transmission paths include a first number of initial paths and a second number of alternative paths, and the source return node is a previous hop node of the source station;
[0049] The establishment module is configured to establish a first number of transmission paths for data transmission according to a priority order of the plurality of transmission paths, and the first number of transmission paths include the initial paths and / or the alternative paths, and the priority of the initial paths is higher than that of the alternative paths.
[0050] According to a third aspect of the embodiments of the present disclosure, an electronic device is provided, including a memory, a processor and a computer program stored on the memory and executable on the processor, and when the computer program is executed by the processor, the steps of the link reconstruction method in the first aspect are implemented.
[0051] According to a fourth aspect of the embodiments of the present disclosure, a computer readable storage medium is provided, and the computer readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the link reconstruction method in the first aspect are implemented.
[0052] According to a fifth aspect of the embodiments of the present disclosure, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the steps of the link reestablishment method of the first aspect.
[0053] The present disclosure determines the transmission paths with no repeated intermediate nodes and the same source nodes according to the detection result, thereby avoiding potential bottlenecks caused by node repetition. In the case of initial path establishment failure or link failure, the alternative paths can be used for data transmission, the traffic can be dynamically allocated, the overload of a single node or path can be avoided, and the source station pressure can be effectively relieved. BRIEF DESCRIPTION OF DRAWINGS
[0054] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings needed to be used in the description of the embodiments of the present disclosure 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.
[0055] Figure 1 is a step schematic diagram of a link reestablishment method according to an embodiment of the present disclosure;
[0056] Figure 2 is a schematic diagram of transmission path reestablishment due to inter-node link establishment failure according to an embodiment of the present disclosure;
[0057] Figure 3 is a schematic diagram of transmission path reestablishment due to link failure according to an embodiment of the present disclosure;
[0058] Figure 4 is a block diagram of a link reestablishment system according to an embodiment of the present disclosure;
[0059] Figure 5 is a schematic diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0060] The technical solutions of the embodiments of the present disclosure will be described clearly and completely in combination with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only some of the embodiments of the present disclosure, not all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present disclosure.
[0061] The terms "first", "second", etc. in the specification and claims of the present disclosure are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present disclosure can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally of a kind and do not limit the number of objects, for example, the first object can be one or more. In addition, "and / or" in the specification and claims indicates at least one of the connected objects, and the character " / ", generally indicates that the objects before and after are in a "or" relationship.
[0062] For the convenience of understanding, first, the professional vocabulary involved in the present disclosure is explained.
[0063] Dynamic path agent service (dynamic agent): for dynamic acceleration customers, periodic detection of CDN nodes and customer source stations is provided, the detection results are obtained, and the detection results are calculated, EWMA (Exponentially Weighted Moving-Average, exponentially weighted moving average) weighted, network jitter smoothing, etc. After processing, the final detection weight is obtained, and reported to the central path calculation service (CCS, Central Path Calculation Service) for intelligent routing decision. The dynamic agent provides dynamic acceleration intelligent routing detection service for application acceleration products, and at the same time serves as a bridge between the CCS and the application acceleration gateway, responsible for receiving and setting the dynamic path.
[0064] CCS: responsible for comprehensive operation of node and source station quality data reported by dynamic agent, so as to obtain the optimal path of source return, and transmit the optimal path data to the application acceleration gateway through the dynamic agent.
[0065] Application acceleration gateway: access customer requests, accelerate dynamic resources according to customer configuration, provide multi-transmission, data compression and other functions. According to the optimal source return path issued by the dynamic agent, ensure normal forwarding of requests in the CDN node, and finally achieve the purpose of the fastest and most stable source return.
[0066] In actual application process, due to network fluctuation, node failure and other reasons, multi-transmission may exist problems of connection failure between CDN nodes and link failure in transmission process.
[0067] In the presence of the problem of inter-CDN node connection failure, users will immediately feel the phenomenon of slow access speed, page loading delay or even inability to access, resulting in higher bounce rate; at the same time, due to the unavailability of CDN nodes, the user's request is directly transferred to the source station, which will suddenly increase the traffic pressure of the source station, thereby affecting the stability and response speed of the source station, which will directly affect the user experience and business operation.
[0068] In the presence of the problem of link failure in the transmission process, the data that has not been sent will be transferred from the transmission path with link failure to the remaining available paths for transmission, which will increase the burden of the CDN node, and the processing capacity and response speed of the CDN node will decrease. Excessive burden may cause the computing resources and network bandwidth of the CDN node to reach the limit or even be exhausted, and under high load, it is more likely to fail or crash, directly affecting the stability and reliability of the service. Cause the user to load part of the page or video buffering error, which still seriously affects the user experience.
[0069] To solve the above technical problems, the present disclosure proposes a link reconstruction method. The method can effectively alleviate the influence of transmission path errors in multi-path scenarios on user experience.
[0070] Figure 1 is a step schematic diagram of a link reconstruction method according to an embodiment of the present disclosure. As shown in Figure 1 The method can specifically include the following steps:
[0071] Step S11: Obtain the detection results of each node and each source station, wherein the detection results at least include index data representing the transmission performance of the node.
[0072] Start the dynamic Agent and periodically detect each CDN node and source station. Collect the detection results, mainly including index data representing the transmission performance of the node, such as packet loss rate, delay, bandwidth, etc.
[0073] Step S12: According to the detection results, determine a plurality of transmission paths with non-repeated intermediate nodes and the same source node; the plurality of transmission paths include a first number of initial paths and a second number of alternative paths, and the source node is the previous hop node of the source station.
[0074] Report the detection results to the CCS. Based on the detection results, the CCS obtains a plurality of transmission paths with non-repeated intermediate nodes and the same source node. The plurality of transmission paths are the optimal transmission paths determined based on the detection results after analyzing the transmission efficiency between nodes.
[0075] Each transmission path includes a user terminal, an edge node, an intermediate node, a back-to-source node, and a source station, wherein the intermediate nodes of each transmission path are different from each other, and each transmission path includes one or more intermediate nodes.
[0076] A user initiates a request through a user terminal such as a computer, a mobile phone, or the like, an edge node receives the request of the user and is part of a CDN, an intermediate node forwards the request of the edge node to a back-to-source node, the back-to-source node is usually a node pointing to a content source, and the back-to-source node obtains the required content from a source station and returns the content to the edge node after receiving the request, and the source station is a server storing original content.
[0077] The plurality of transmission paths include initial paths and alternative paths, the initial paths are transmission paths determined to be activated at the beginning, and the alternative paths are transmission paths activated when the initial paths have errors.
[0078] The number of transmission paths used in parallel transmission in a multi-path transmission scenario can be determined according to network load conditions, that is, the first number. Therefore, when the CCS determines the optimal path, the initial paths of the first number need to be determined, and in order to ensure that the system can stably perform data transmission when the initial paths have errors, the second number of alternative paths can be configured. The first number and the second number can be equal, and in the case where the first number and the second number are consistent, if each initial path has an error, there will be the same number of alternative paths to perform the same data transmission task, which can effectively avoid the problem of data loading failure caused by errors of the transmission paths.
[0079] The transmission paths obtained by the CCS are distributed to the edge nodes through dynamic agents.
[0080] Step S13: According to the priority order of the plurality of transmission paths, a first number of transmission paths are established for data transmission, the first number of transmission paths include initial paths and / or alternative paths, and the priority of the initial paths is higher than that of the alternative paths.
[0081] After receiving the transmission paths distributed by the dynamic agents, the edge nodes establish the transmission paths and perform data transmission through the successfully established transmission paths.
[0082] Since the initial paths are transmission paths determined to be activated at the beginning, the priority of the initial paths is higher than that of the alternative paths when the transmission paths are established.
[0083] When the first number of transmission paths are needed for data transmission, the initial paths and the alternative paths are established in turn according to the priority order, so that the first number of transmission paths are successfully established. If all the initial paths are successfully established, that is, the first number of initial paths are successfully established, the requirement of the first number of transmission paths is met, and at this time, the alternative paths are not established. If the initial paths fail to be established, the alternative paths are reestablished, so that the first number of transmission paths are used for data transmission.
[0084] To ensure that the first number of transmission paths are used for data transmission in the multi-transmission scenario, after the transmission paths are successfully established, it is necessary to confirm whether a link fault occurs in the transmission path at all times, and when a link fault occurs in the transmission path, the alternative paths need to be established, so that the first number of transmission paths are used for multi-transmission of the target data at all times. In a specific implementation, if the first number of initial paths are successfully established, if a link fault occurs in the initial paths during data transmission using the initial paths, the alternative paths are reestablished in turn, and the successfully established alternative paths are used for data transmission.
[0085] In the case where the reestablished alternative paths meet the current transmission requirement, the remaining alternative paths that are not established are not reestablished, and the remaining alternative paths are used for preparing for possible subsequent transmission errors, and in the case where subsequent transmission errors still occur, the remaining alternative paths are reestablished in turn.
[0086] By using the embodiments of the present disclosure, based on the detection results, the method can determine a plurality of transmission paths that do not repeat the intermediate nodes and have the same source nodes. This not only ensures the diversity of data transmission, but also improves the transmission efficiency and stability of the overall network by avoiding the repeated use of intermediate nodes. By obtaining the detection results of each node and each source station, detailed index data about the transmission performance of the nodes can be collected, which provides a solid foundation for subsequent path selection and optimization. The plurality of transmission paths include a first number of initial paths and a second number of alternative paths, so that the system can quickly switch to the alternative paths when the initial paths have problems, thereby ensuring the continuity and stability of data transmission. The case of link failure is considered, and corresponding measures are provided. When a link fault occurs in the transmission path, the system can quickly reestablish the alternative paths to ensure the continuity of data transmission.
[0087] In an optional embodiment, the initial paths and the alternative paths are established only once.
[0088] The initial path and the alternative path are established only once. If a transmission path fails to be established, or a link failure occurs during data transmission, the transmission path will not be considered in subsequent data transmission tasks.
[0089] For example, the CCS issues initial path 1, initial path 2, initial path 3, and alternative link 1, alternative link 2, and alternative link 3, establishes the three initial paths, and initial path 1 and initial path 2 are successfully established, and initial path 3 fails to be established. In order to ensure that there are three transmission paths for data transmission, alternative link 1, alternative link 2, and alternative link 3 are sequentially reestablished, alternative link 1 fails to be established, and alternative link 2 is successfully established, at which time alternative link 3 is not reestablished. Initial path 1, initial path 2, and alternative link 2 are used for data transmission. During the data transmission process, initial path 1 has a link failure, and alternative link 3 is reestablished, and alternative link 1 and initial path 3 are no longer considered.
[0090] By limiting the number of times of establishment of the initial path and the alternative path to one, the system can avoid unnecessary repeated establishment processes, thereby saving a large amount of computing resources and time.
[0091] In an optional embodiment, the detection results of each node and each source station are obtained, including: periodically detecting each node and each source station to obtain the detection results; calculating, weighting, and network jitter smoothing processing the detection results to determine the detection weight of each node; the detection weight represents the priority of the node being selected in the process of determining the transmission path; adding the detection weight to the detection results to obtain the detection results carrying the detection weight; and determining a plurality of transmission paths with non-repeated intermediate nodes and the same source nodes according to the detection results, including: determining a plurality of transmission paths with non-repeated intermediate nodes and the same source nodes according to the detection results carrying the detection weight.
[0092] The dynamic agent provides periodic detection of CDN nodes and customer source stations to obtain detection results. The detection period can be adjusted according to the speed of network changes and the stability of transmission requirements.
[0093] The detection results include, but are not limited to, packet loss rate, delay, bandwidth utilization, and other index data that can represent system transmission performance. The collected detection data can be calculated to obtain the performance indicators of each node, such as average packet loss rate and average delay.
[0094] After the detection result is collected, the detection result can be calculated, EWMA weighted, network jitter smoothed, etc. The specific performance is that: the performance indicators of each node are weighted and summed to obtain the comprehensive performance score of the node, and the volatility and instability of the network performance are considered, and a smoothing algorithm is used to process the comprehensive performance score to reduce the influence of short-term fluctuations on path selection.
[0095] The smoothed comprehensive performance score can be used as the detection weight of the node, which reflects the priority of the node in determining the transmission path.
[0096] Based on the detection weight of each node, a path search algorithm can be used to search for multiple possible transmission paths between the nodes and the source station. The performance of the multiple possible transmission paths can be evaluated, including the total delay and total bandwidth utilization of the path, to obtain the performance evaluation result of the path.
[0097] Then, according to the performance evaluation result of the path and the current transmission demand, multiple transmission paths with the same source node and no repeated intermediate nodes can be selected from the multiple possible transmission paths, which can meet the demand of multi-path transmission. The selected multiple transmission paths are the optimal transmission paths in the current transmission scenario.
[0098] By periodically detecting each node and each source station, the system can obtain real-time network state information, which provides reliable data support for subsequent path selection. After calculating, weighting and network jitter smoothing of the detection result, the system can more accurately evaluate the performance of each node and determine their priority in transmission path selection. By considering the detection weight of the node, the system can avoid assigning data transmission tasks to nodes with poor performance, thereby optimizing the utilization of network resources.
[0099] In an optional embodiment, according to the priority order of the multiple transmission paths, a first number of transmission paths are established for data transmission, including: establishing each initial path for data transmission through inter-node association; or, in the case where the initial path establishment fails, determining a third number of the initial paths that fail to establish; sequentially rebuilding the alternative paths until the number of successfully established alternative paths meets the third number; and performing data transmission through the successfully established initial paths and the third number of alternative paths; wherein, in the case where the second number of alternative paths are all rebuilt and the number of successfully established alternative paths does not meet the third number, data transmission is performed through the successfully established initial paths and the successfully established alternative paths.
[0100] The transmission paths are established according to a priority order that the initial paths are established first and then the alternative paths are established, so that there are a first number of transmission paths successfully established.
[0101] In the process of establishing the transmission paths, there are two cases, one is that all the initial paths are successfully established, and the other is that there is an initial path failed to be established and the alternative paths need to be established to meet the target of a first number of transmission paths successfully established.
[0102] The transmission paths are established by inter-node association. The edge node associates with the intermediate nodes of each transmission path according to the received transmission path, and then the intermediate nodes associate with the source return node, and the source return node associates with the source station. In the case of association failure at any association link of the transmission path, it is determined that the transmission path fails to be established. For example, when the edge node fails to connect the next hop parent node, it is determined that the transmission path fails to be established; when the non-edge node fails to connect the next hop parent node, it is also determined that the transmission path fails to be established.
[0103] In the first stage, a first number of initial paths are established to determine whether all the initial paths are successfully established. If the first number of initial paths are successfully established, the second stage is not entered, and the successfully established initial paths are used for data transmission. If there is an initial path failed to be established, it is determined that the number of currently successfully established initial paths does not meet the requirement of the first number, and the alternative paths need to be established to meet the requirement of multi-transmission using the first number of transmission paths.
[0104] In the second stage, the third number of the initial paths failed to be established is determined, so that it is determined that there are still third number of transmission paths to meet the requirement of multi-transmission using the first number of transmission paths. The alternative paths are sequentially re-established until the number of successfully established alternative paths meets the third number, and the establishment of the alternative paths is stopped. The meaning of sequentially re-establishing each alternative path is that in the case of an alternative path failed to be established, the next alternative path is started to be established. In a specific implementation, if the Nth transmission path fails to be established, the N+1th transmission path is re-established for the Nth transmission path, if the N+1th transmission path fails to be established, the N+2th transmission path is re-established, until all the alternative paths are tried to be re-established, the re-establishment of the alternative paths is stopped, or in the process of sequentially re-establishing the alternative paths, an alternative path is successfully established, and the re-establishment of the alternative paths is also stopped.
[0105] In the case that the third number of alternative paths are successfully established, the initial paths successfully established in the first stage and the third number of alternative paths are used for data transmission to meet the requirement of multi-transmission using the first number of transmission paths for the current target data.
[0106] Wherein, each transmission path is established only once, and in the case that any transmission path fails to be established, it will not be considered in the subsequent transmission path establishment, and the disclosure will not re-establish the transmission path that has failed to be established before. That is, there are three cases for the state of the transmission path, successful establishment, failed establishment, and non-establishment. When considering the establishment of the transmission path, only the transmission path in the non-established state is established.
[0107] Therefore, there is a case that the second number of alternative paths are sequentially re-established, but the number of alternative paths that are successfully established still does not meet the requirement of the third number, and as a result, the number of transmission paths that can currently perform data transmission does not meet the requirement of the first number, the transmission paths that can currently perform data transmission include the initial paths that are successfully established in the first stage and the alternative paths that are successfully established in the second stage. In this case, data transmission is performed using the paths that do not currently meet the requirement of the first number.
[0108] By using the embodiment of the disclosure, by preferentially establishing the initial paths and sequentially establishing the alternative paths when necessary, as many transmission paths as possible can be effectively utilized. By establishing multiple transmission paths (including initial paths and alternative paths), when some paths fail to be established, the remaining transmission paths can still be established, thereby maintaining the continuity of data transmission, improving the fault tolerance and reliability of data transmission. By re-establishing other available alternative paths with the same source node, node resources are fully utilized, the overall bandwidth utilization efficiency is improved, node high load is avoided, direct source return caused by node failure is reduced, the pressure of the source station is reduced, and the stability and response speed of the source station are improved.
[0109] In an optional embodiment, according to the priority order of the multiple transmission paths, the first number of transmission paths are established for data transmission, including: splitting the target data for data transmission according to the first number to obtain a first number of sub-data; and respectively transmitting the sub-data through the first number of transmission paths.
[0110] The target data currently required for data transmission is determined, and the target data is subjected to multi-path transmission. The number of transmission paths that are currently successfully established, i.e., the first number, is determined. The target data is divided according to the first number to obtain a first number of sub-data, and the sub-data is in the form of a data block. Each sub-data is transmitted through a transmission path, i.e., the transmission path and the sub-data are in a one-to-one relationship. The sub-data transmitted by each transmission path is different, and each transmission path needs to transmit the sub-data.
[0111] By splitting the target data into multiple sub-data and transmitting them through different transmission paths respectively, the network bandwidth and transmission resources can be fully utilized, thereby accelerating the overall transmission speed of the data. Parallel transmission of multiple transmission paths means that even if a certain path fails or is congested, other paths can still continue to transmit data, thereby improving the fault tolerance and reliability of data transmission. For large data transmission tasks, splitting into multiple sub-data and transmitting through multiple paths can more effectively manage the transmission process and avoid the problem of overload and bottleneck of a single path.
[0112] In an optional embodiment, the transmitting the sub-data through the first number of transmission paths respectively comprises: determining whether each of the sub-data is greater than a minimum compression requirement respectively; compressing the sub-data when the sub-data is greater than the minimum compression requirement, and adding a compression identifier to a protocol header of the compressed sub-data; the compression identifier is used to represent that the data is compressed data, so that the end node decompresses the compressed sub-data based on the compression identifier; the end node is determined by a transmission direction of the transmission path; the transmission direction comprises uplink transmission or downlink transmission; and the compressed sub-data with the compression identifier is transmitted through the first number of transmission paths respectively.
[0113] After the target data is split according to the first number to obtain the first number of sub-data, the size of each sub-data needs to be determined, and the sub-data that is too large needs to be compressed to improve the efficiency of data transmission. The split sub-data has a respective serial number, which is used to restore each sub-data to the correct target data. The sub-data are spliced in sequence according to the serial number to ensure that each sub-data is in the correct position.
[0114] The minimum compression requirement is set according to historical experience or the load of the current system. The meaning of the minimum compression requirement is that when the size of a data is greater than the minimum compression requirement, the data needs to be compressed.
[0115] The transmission direction of the transmission path includes uplink transmission or downlink transmission. The uplink transmission means from the client to the server, and the downlink transmission means from the server to the client. When the uplink transmission or the downlink transmission is performed, the end node is different. The end node of the uplink transmission is a source return node, and the end node of the downlink transmission is an edge node.
[0116] The sub-data is respectively compressed and judged, and the size relationship between the sub-data and the minimum compression requirement is determined. When the sub-data is greater than the minimum compression requirement, the sub-data is compressed, and a compression identifier is added to the compressed sub-data. The compression identifier is added to the protocol header. If a data has a compression identifier, it indicates that the data is obtained by compression. If the data needs to be processed, the data needs to be decompressed first to obtain the original data, and then the original data is processed. Specifically, at the end node, after receiving the data transmitted by the intermediate node of the previous hop, for example, receiving the sub-data, it is necessary to identify whether the data carries a compression identifier; if the data carries a compression identifier, the end node needs to decompress the data to obtain decompressed data, and then perform subsequent processing, such as transmission and analysis, on the decompressed data; if the data does not carry a compression identifier, the received sub-data is directly used for subsequent processing.
[0117] When the sub-data is not greater than the minimum compression requirement, the sub-data is directly transmitted through the transmission path. When the sub-data is greater than the minimum compression requirement, the sub-data is compressed to obtain compressed sub-data, and the compressed sub-data is transmitted through the transmission path.
[0118] By judging whether the sub-data is greater than the minimum compression requirement and compressing the sub-data greater than the requirement, the amount of data that needs to be transmitted can be significantly reduced. Since the compressed data occupies less network bandwidth, the transmission speed of the data is accelerated. In the case of parallel transmission of multiple transmission paths, the compressed data can more effectively utilize the bandwidth of each node, and the transmission efficiency of the overall network is improved.
[0119] In order to ensure that each sub-data corresponding to the target data can be uniformly processed, the association of each connection corresponding to the target data needs to be set to ensure that the associated transmission paths can transmit the data processed by themselves to the same place.
[0120] In an optional embodiment, the sub-data is respectively transmitted through the first number of transmission paths, including: determining the previous hop node of the source return node in each transmission path; in each previous hop node, setting the content of the target option according to the session identifier of the target data; wherein, the content of the target option is used to identify the association of each connection corresponding to the target data; the connection is the connection between each node in the transmission path; the associated sub-data transmitted through each transmission path is distributed to the same server of the source return node; and the sub-data of each transmission path is processed through the same process of the server.
[0121] The target option can be a tcp option.
[0122] The last hop node of the source return node is determined in each transmission path, and the content of the target option is set according to the session identifier of the corresponding target data in the last hop node. The connections for the multi-transmission of the target data are associated with each other. In addition, the association of each transmission path needs to be transmitted to the LVS (Linux Virtual Server) and the source return node kernel.
[0123] The LVS is used to ensure that all associated transmission paths are connected to the source return node, and each sub-data in the transmission path is distributed to the same RS (Real Server), so as to avoid switching of requests between different servers, improve the stability and response speed of the service; and the source return node kernel is used to ensure that the sub-data of all associated transmission paths are distributed to the same worker process of the source return node for processing.
[0124] After the source return node receives the sub-data corresponding to each transmission path of the target data, it is determined whether the sub-data has a compression identifier. If the sub-data has a compression identifier, the sub-data is first decompressed to obtain the original sub-data that is not compressed, and then the sub-data that is not compressed is spliced according to the sequence number when the sub-data is split, and then forwarded to the source station.
[0125] By effectively identifying and associating multiple connections, the embodiments of the present disclosure can ensure that data packets can be correctly classified into corresponding sessions in a multi-transmission scenario. If a link fails, the system can quickly identify and switch to other available links using the set content of the target option, ensuring the continuity and stability of the data flow, and enhancing the fault recovery capability of the system.
[0126] When the target data is multi-transmitted using a first number of transmission paths, some transmission paths may have link failures. The following is a solution used by the present disclosure to solve this problem. The solution can solve the problems of transmission speed decline, even transmission failure, traffic waste and resource consumption caused by link failure in the multi-transmission process, by using data caching in the edge node. If the edge node finds that the transmission path has a link failure, a new transmission path to the same source return node is established, and the data is distributed to the new transmission path for transmission, which can better cope with node failures and significantly improve transmission efficiency.
[0127] In an optional embodiment, the method further comprises: buffering the sub-data in a buffer area; transmitting the sub-data through the first number of transmission paths; determining a first timeout time; determining whether each of the sub-data in the buffer area receives an acknowledgement message within the first timeout time; in the case that there is sub-data that does not receive an acknowledgement message, determining that the transmission path corresponding to the sub-data that does not receive an acknowledgement message has a link fault; sequentially rebuilding the alternative paths to obtain a target alternative path corresponding to the transmission path with a link fault; and determining the sub-data corresponding to the transmission path with a link fault from the buffer area and transmitting the sub-data through the target alternative path.
[0128] When the edge node transmits the sub-data of the target data through the transmission path, the edge node buffers the transmitted sub-data in a buffer area.
[0129] The edge node needs to determine whether each of the sub-data in the buffer area is successfully transmitted through the transmission path according to the received acknowledgement message. A first timeout time is set for receiving the acknowledgement message. The acknowledgement message can be an ACK message. When a sender sends a data packet to a receiver, the receiver sends an ACK message back to the sender to confirm that the data has been successfully received after successfully receiving the data.
[0130] If the acknowledgement message corresponding to a sub-data is received within the first timeout time, it is determined that the transmission path corresponding to the sub-data successfully transmits the sub-data. If the acknowledgement message corresponding to a sub-data is not received within the first timeout time, it is determined that the transmission path corresponding to the sub-data does not successfully transmit the sub-data, and the transmission path has a link fault.
[0131] To deal with the problem of link fault of the transmission path, in the case that there is a transmission path with a link fault, the edge node initiates link reconstruction to reestablish a transmission path to the same source node, i.e., to rebuild an alternative path to transmit the sub-data that needs to be transmitted by the transmission path with a link fault.
[0132] In the case that any transmission path has a link fault, a fourth number of the transmission paths with a link fault is determined, and the alternative paths that have not been established are rebuilt in sequence until the fourth number of the alternative paths that have been successfully established is met. In the case that the fourth number of the alternative paths have been successfully established, the rebuilding of the alternative paths is stopped. The sub-data corresponding to each of the transmission paths with a link fault is determined in the buffer area, and the sub-data is transmitted through the alternative path corresponding to the transmission path with a link fault.
[0133] In the process of transmitting the sub-data through the alternative path, it is still determined whether the alternative path has a link fault. If the alternative link has a fault, the edge node rebuilds the alternative path that has not been established to restore the transmission of the sub-data.
[0134] If a transmission path has a link fault, but there is no currently unestablished alternative path that can be rebuilt, that is, the current alternative path for recovering transmission corresponding to the transmission path cannot be rebuilt, the sub-data corresponding to the transmission path with the link fault can be transmitted using the transmission path that currently has no link fault.
[0135] In a specific example, N existing transmission paths transmit target data. When it is determined that a certain transmission path, for example, the Nth path, has a link fault, the edge node initiates link rebuilding to reestablish an N+1 path to the same source node, and transfers the sub-data corresponding to the Nth path to the newly established N+1 path for transmission, thereby ensuring that the target data is transmitted using N transmission paths at the same time and improving transmission efficiency. If the N+1 path also has a link fault, the N+2 path is continuously rebuilt, and the sub-data of the N+1 path is transmitted through the N+2 path. In the process of transmission, it is determined whether the N+2 path has a link fault. If the link fault still occurs in the process of transmitting the sub-data after rebuilding all alternative links, the sub-data is transmitted using the transmission path that currently has no link fault.
[0136] If the sub-data corresponding to the transmission path with the link fault has no compression identifier and exceeds the minimum compression requirement, the sub-data needs to be compressed and then transmitted through the reestablished transmission path.
[0137] By using the embodiments of the present disclosure, the system can retain a copy of the data in the process of data transmission by buffering the sub-data in the cache area. Even if a problem occurs in the transmission process, the data can be reacquired from the cache, thereby improving the reliability of data transmission. By setting the first timeout time and checking whether an acknowledgement packet is received, the system can timely detect a possible link fault in the data transmission process. Once a fault is detected, the system can quickly respond by rebuilding the alternative path to restore data transmission, thereby ensuring the integrity of the data and the continuity of the transmission. After confirming the link fault, the system can extract the sub-data that has not been successfully transmitted from the cache area and retransmit the sub-data through the rebuilt alternative path, thereby ensuring that the data can be successfully transmitted to the destination even in the worst case.
[0138] In the case of link exception of the transmission path, not only the reconstruction of the transmission path at the edge node is needed, but also the cooperation of the reconstruction of the transmission path at the source node. The following is the operation of the source node in the scenario of reconstructing the transmission path.
[0139] In an optional embodiment, after confirming that the transmission path corresponding to the sub-data for which the acknowledgement message is not received has a link fault, the method further comprises: triggering an abnormal session of the transmission path at a source node of the transmission path; determining a second timeout time of the abnormal session; and transmitting the sub-data through the target alternative path comprises: in the case that the target alternative path is successfully established within the second timeout time, transmitting the sub-data through the target alternative path.
[0140] If there is a link fault of the transmission path, an abnormal session corresponding to the transmission path is triggered at the source node. The abnormal session can be a downstream abnormal session.
[0141] After the abnormal session is triggered, it is in a keep-alive state. In the case that the abnormal session is in the keep-alive state, the connection of the alternative path corresponding to the transmission path with the link fault is waited for, and after the connection is established, the remaining data can be transmitted through the alternative path of the new connection.
[0142] A second timeout time is set for the abnormal session. After the abnormal session is triggered and enters the keep-alive state, the keep-alive state lasts for the second timeout time. If the second timeout time is exceeded, the abnormal session is released, and the old connection is disconnected, so as to avoid resource waste.
[0143] Therefore, for a transmission path, if the transmission path has a link fault, the transmission path needs to obtain a successfully established alternative path corresponding to the transmission path within the second timeout time. If the transmission path with the link fault obtains the successfully established alternative path within the second timeout time, the alternative path can be used to continue transmitting the sub-data of the transmission path. If the transmission path with the link fault does not obtain the successfully established alternative path within the second timeout time, the sub-data of the transmission path can only be transmitted through the remaining transmission paths without the link fault.
[0144] By adopting the embodiments of the present disclosure, when the transmission path has a link fault and no acknowledgement message is received, the system can quickly trigger an abnormal session at the source node, which helps to quickly identify and handle problems in the network and reduce transmission delay or data loss caused by the link fault. By setting a second timeout time for the abnormal session, the system can keep the keep-alive state of the abnormal session for a certain period of time and wait for the connection of the alternative path. If the alternative path is successfully established within the timeout time, the data can be continuously transmitted through the path, so that the network resources are effectively utilized.
[0145] Figure 2 Figure 1 is a schematic diagram of transmission path reconstruction due to inter-node link failure according to an embodiment of the present disclosure. As shown in Figure 1, a top 6 optimal transmission path set is obtained by dynamic Agent probing each CDN node and source station, and reporting the probing result carrying the probing weight to CCS. The top 6 optimal transmission path set includes 6 initial paths and 6 backup paths. The transmission path set is ip1-ip2-ip8-o1; ip1-ip3-ip8-o1; ip1-ip4-ip8-o1; ip1-ip5-ip8-o1; ip1-ip6-ip8-o1; ip1-ip7-ip8-o1. Figure 2
[0146] In the process of establishing each transmission path, it is determined whether the inter-node connection of each transmission path is successful.
[0147] Step 1: The edge node ip1 establishes connection with nodes ip2, ip3 and ip4 after receiving the top 6 optimal transmission path set from the dynamic Agent.
[0148] Step 2: The transit parent nodes ip2, ip3 and ip4 establish connection with the back source node ip8, and the back source node ip8 establishes connection with the source station o1.
[0149] In the process of establishing each transmission path, it is determined whether the inter-node connection of each transmission path is successful.
[0150] Step 3: The first inter-node link failure is found, and the node ip1 fails to establish connection with the node ip2. The link ip1-ip5-ip8-o1 is reconstructed, and the current multi-path transmission path is ip1-ip3-ip8-o1, ip1-ip4-ip8-o1 and ip1-ip5-ip8-o1.
[0151] Step 4: The second inter-node link failure is found, and the node ip1 fails to establish connection with the node ip3. The link ip1-ip6-ip8-o1 is reconstructed, and the current multi-path transmission path is ip1-ip4-ip8-o1, ip1-ip5-ip8-o1 and ip1-ip6-ip8-o1.
[0152] Step 5: The third inter-node link failure is found, and the node ip5 fails to establish connection with the node ip8. The node ip5 informs the node ip1 to reconstruct the link ip1-ip7-ip8-o1, and the current multi-path transmission path is ip1-ip4-ip8-o1, ip1-ip6-ip8-o1 and ip1-ip7-ip8-o1.
[0153] Step 6: The fourth time the inter-node association fails, the node ip1 fails to associate the node ip7, no transmission path has been established, and the re-establishment operation of the transmission path is no longer retried, and the remaining available transmission path is used, and the current multi-transmission path is ip1-ip4-ip8-o1, ip1-ip6-ip8-o1.
[0154] Figure 3 is a schematic diagram of transmission path re-establishment due to link failure according to an embodiment of the present disclosure. As shown in Figure 3
[0155] After the dynamic Agent probes each CDN node and the source station, the probe result carrying the probe weight is reported to the CCS, and the top 2N optimal transmission path without repeated transit nodes and the same source return node is obtained through the CCS, including N initial paths and N backup paths, and the transmission path is distributed to the edge node through the dynamic Agent. Assuming that 3-way transmission is used for target data, N is 3. The transmission path set is ip1-ip2-ip8-o1; ip1-ip3-ip8-o1; ip1-ip4-ip8-o1; ip1-ip5-ip8-o1; ip1-ip6-ip8-o1; ip1-ip7-ip8-o1.
[0156] The application acceleration gateway edge node ip1 receives the top 6 optimal path set distributed by the dynamic Agent, establishes a connection with the intermediate nodes ip2, ip3, and ip4, the intermediate nodes ip2, ip3, and ip4 establish a connection with the node ip8, and the source return node ip8 establishes a connection with the source station o1.
[0157] The edge node ip1 splits the target data to be transmitted, and sends the sub-data of the target data to the intermediate nodes ip2, ip3, and ip4 respectively, and transmits the target data to the intermediate nodes in multiple ways; it is judged whether the size of the data block corresponding to the sub-data exceeds the minimum compression requirement; if the size of the data block corresponding to the sub-data exceeds the minimum compression requirement, the sub-data is compressed, and a compression identifier is added to the protocol header of the compressed sub-data; the edge node will cache the sub-data that has been sent.
[0158] It is judged whether the sub-data sent by the edge node ip1 is received within the timeout time; if there is sub-data waiting for the ACK message returned through the intermediate parent node within the timeout time, it is considered that the transmission path of the sub-data has link failure; for example, if the edge node does not receive the ACK message returned through the parent node ip2, the edge node considers that ip1-ip2-ip8-o1 has link failure.
[0159] When link failure occurs in the multi-path transmission process, the edge node ip1 reestablishes a link to the same source return node ip8, and transfers the sub-data of the transmission path with link failure to the newly established transmission path for transmission; at the same time, if the data block of the sub-data does not have a compression identifier and the size exceeds the minimum compression requirement, data compression is performed, and a compression identifier is added to the protocol header. For example, for ip1-ip2-ip8-o1 with link failure, ip1-ip5-ip8-o1 is established, that is, the multi-path path set is ip1-ip3-ip8-o1, ip1-ip4-ip8-o1, ip1-ip5-ip8-o1; the edge node ip1 transfers the sub-data transmitted by ip1-ip2-ip8-o1 to the newly established link ip1-ip5-ip8-o1 for transmission.
[0160] The intermediate nodes ip3, ip4, and ip5 receive the sub-data and analyze the sub-data.
[0161] Each previous hop node ip3, ip4, and ip5 of the source return node sets a tcp option field according to the session id, which is used to identify the association of multiple connections and deliver relevant information to the LVS and the kernel.
[0162] When the LVS distribution ensures that the reestablished link is connected to the source return node, the LVS distribution can be distributed to the same RS, that is, the source return node ip8.
[0163] On the source return node, each transmission path has a corresponding abnormal session. In the case of link failure of a certain transmission path, the abnormal session on the source return node will be triggered, and the abnormal session is in the keep-alive state. It is judged whether the source return node receives the new connection corresponding to the transmission path with link failure within the second timeout time. If it is received, the remaining data is transmitted using the new connection, that is, the connection of the reestablished transmission path of the transmission path with link failure; if it is not received, the old connection session is disconnected, that is, the connection of the transmission path with link failure. For example, when ip1-ip2-ip8-o1 has link failure, the downstream abnormal session corresponding to ip1-ip2-ip8-o1 on the source return node enters the keep-alive state and waits for a new downstream connection, that is, ip5-ip8, to transmit the remaining data; if the downstream abnormal session does not receive a new connection within a certain time, the session is released and the old connection ip2-ip8 is disconnected.
[0164] The associated connection is distributed by the source return node kernel to the same worker process of the source return node ip8 for processing.
[0165] The source return node identifies whether the protocol header has a compression identifier. If it has, decompression is performed, and data aggregation and splicing are performed, and the data is returned to the source station o1.
[0166] The disclosure can rebuild a transmission path through the same source return node for the problem of failed connection between CDN nodes in a multi-path scenario, always ensure N available links, fully utilize node resources, avoid high node load, ensure efficient operation of the service, and reduce the pressure on the source station, improve the stability and response speed of the source station.
[0167] The disclosure can rebuild a transmission path through the same source return node for the problem of failed connection between CDN nodes in a multi-path scenario, always ensure N available links, fully utilize node resources, avoid high node load, ensure efficient operation of the service, and reduce the pressure on the source station, improve the stability and response speed of the source station.
[0168] In summary, the link rebuilding method provided by the disclosure can fully utilize node resources, improve the overall bandwidth usage efficiency, avoid high node load, and ensure efficient operation of the service, thereby significantly improving the transmission speed and efficiency, improving user experience and business operation; at the same time, the node load balancing, high availability, reduces the direct source return caused by node failure, reduces the pressure on the source station, improves the stability and response speed of the source station; in addition, the combination of compression technology can effectively reduce the use of network bandwidth and help enterprises save network transmission costs.
[0169] Figure 4 is a block diagram of a link rebuilding system according to an embodiment of the disclosure. As shown in Figure 4 , the system includes:
[0170] The acquisition module 410 is configured to acquire detection results of each node and each source station, wherein the detection results at least include index data representing node transmission performance;
[0171] The determination module 420 is configured to determine a plurality of transmission paths with no repeated intermediate nodes and the same source return node according to the detection results; the plurality of transmission paths include a first number of initial paths and a second number of alternative paths, and the source return node is the next hop node of the source station.
[0172] The establishment module 430 is configured to establish a first number of transmission paths for data transmission according to the priority order of the plurality of transmission paths, wherein the first number of transmission paths include the initial paths and / or the alternative paths, and the priority of the initial paths is higher than that of the alternative paths.
[0173] The embodiment of the disclosure further provides an electronic device, which refers to Figure 5 , Figure 5 is a schematic diagram of an electronic device according to an embodiment of the disclosure. As shown in Figure 5As shown, the electronic device 500 includes a memory 510 and a processor 520, the memory 510 and the processor 520 are in communication with each other through a bus, and the memory 510 stores a computer program which can run on the processor 520, thereby implementing the steps in the link reestablishment method disclosed in the embodiments of the present disclosure.
[0174] The embodiments of the present disclosure also provide a computer readable storage medium, and the computer readable storage medium stores a computer program. When the computer program is executed by a processor, the steps in the link reestablishment method disclosed in the embodiments of the present disclosure are implemented.
[0175] The embodiments of the present disclosure also provide a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in the link reestablishment method disclosed in the embodiments of the present disclosure are implemented.
[0176] Each of the embodiments in the specification is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts of each embodiment can be referred to each other.
[0177] Those skilled in the art should understand that the embodiments of the present disclosure can be provided as a method, device or computer program product. Therefore, the embodiments of the present disclosure can adopt a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the embodiments of the present disclosure can adopt the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program codes.
[0178] The embodiments of the present disclosure are described with reference to the flowcharts and / or block diagrams of the methods, devices, electronic devices and computer program products according to the embodiments of the present disclosure. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of the flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a general purpose computer, a special purpose computer, an embedded processor or other programmable data processing terminal devices to produce a machine, so that the instructions executed by the computer or other programmable data processing terminal devices produce a device that implements the functions specified in the flowcharts and / or block diagrams. Figure 1 The device that implements the functions specified in one flow or multiple flows and / or blocks Figure 1 The device that implements the functions specified in one flow or multiple flows and / or blocks
[0179] These computer program instructions can also be stored in a computer readable storage medium which can guide the computer or other programmable data processing terminal devices to work in a specific way, so that the instructions stored in the computer readable storage medium produce a product including instruction devices which implement the functions specified in the flowcharts and / or block diagrams.Figure 1 one or more processes and / or blocks Figure 1 the function(s) specified in the block or blocks.
[0180] These computer program instructions can also be loaded into computer or other programmable data processing terminal devices, so that a series of operation steps are performed on the computer or other programmable terminal devices to generate a computer-implemented process, so that the instructions executed on the computer or other programmable terminal devices provide steps for implementing the function(s) specified in the block or blocks. Figure 1 one or more processes and / or blocks Figure 1 the function(s) specified in the block or blocks.
[0181] Although some embodiments of the present disclosure have been described, those skilled in the art who have acquired the basic inventive concept can make further changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the embodiments of the present disclosure.
[0182] The above describes in detail a link reestablishment method and system provided by the present disclosure, and the principles and implementation manners of the present disclosure are described by applying specific examples. The above description of the embodiments is only for helping to understand the method of the present disclosure and its core idea; meanwhile, for those skilled in the art, according to the idea of the present disclosure, there will be changes in the specific implementation manners and application ranges; in summary, the content of the present description should not be understood as limiting the present disclosure.
Claims
1. A link reestablishment method, characterized by, The method comprises: obtaining detection results of each node and each source station, wherein the detection results at least include index data representing node transmission performance; determining a plurality of transmission paths with non-repeated intermediate nodes and the same source node according to the detection results, wherein the plurality of transmission paths include a first number of initial paths and a second number of alternative paths, and the source node is the last hop node of the source station; establishing a first number of transmission paths for data transmission according to the priority order of the plurality of transmission paths, wherein the first number of transmission paths include the initial paths and / or the alternative paths, and the priority of the initial paths is higher than that of the alternative paths; establishing a first number of transmission paths for data transmission according to the priority order of the plurality of transmission paths, comprising: establishing each initial path for data transmission through inter-node association; or, in the case where the initial path establishment fails, determining a third number of the initial paths that fail to be established; rebuilding the alternative paths in sequence until the number of the alternative paths that are successfully established meets the third number; performing data transmission through the initial paths that are successfully established and the third number of the alternative paths that are successfully established; wherein, in the case where the second number of the alternative paths are all rebuilt and the number of the alternative paths that are successfully established does not meet the third number, data transmission is performed through the initial paths that are successfully established and the alternative paths that are successfully established.
2. The method of claim 1, wherein, establishing a first number of transmission paths for data transmission according to the priority order of the plurality of transmission paths, comprising: splitting target data for data transmission according to a first number to obtain a first number of sub-data; transmitting the sub-data through the first number of transmission paths, respectively.
3. The method of claim 2, wherein, The method further comprises: caching the sub-data in a cache area; transmitting the sub-data through the first number of transmission paths, respectively, comprising: determining a first timeout time; determining whether each sub-data in the cache area receives an acknowledgement packet within the first timeout time; in the case where the sub-data does not receive an acknowledgement packet, confirming that the transmission path corresponding to the sub-data that does not receive an acknowledgement packet has a link fault; rebuilding the alternative paths in sequence to obtain a target alternative path corresponding to the transmission path with a link fault; determining the sub-data corresponding to the transmission path with a link fault from the cache area, and transmitting the sub-data through the target alternative path.
4. The method of claim 3, wherein, After confirming that the transmission path corresponding to the sub-data that does not receive an acknowledgement packet has a link fault, the method further comprises: triggering an abnormal session of the transmission path at the source node of the transmission path; determining a second timeout time of the abnormal session; the transmitting the sub-data through the target alternative path, comprising: in the case where the target alternative path is successfully established within the second timeout time, transmitting the sub-data through the target alternative path.
5. The method of claim 2, wherein, the transmitting the sub-data through the first number of transmission paths, respectively, comprising: determining whether each sub-data is greater than a minimum compression requirement, respectively; In a case that the sub-data is greater than the minimum compression requirement, the sub-data is compressed, and a compression identifier is added to a protocol header of the compressed sub-data; the compression identifier is used to represent that the data is compressed data, so that a terminal node decompresses the compressed sub-data based on the compression identifier; the terminal node is determined by a transmission direction of the transmission path; the transmission direction includes uplink transmission or downlink transmission; The compressed sub-data with the added compression identifier is transmitted through the first number of transmission paths.
6. The method of claim 2, wherein, Transmitting the sub-data through the first number of transmission paths includes: Determining an upper hop node of a source node in each transmission path; In each upper hop node, setting content of a target option according to a session identifier of the target data; wherein the content of the target option is used to identify the association of each connection corresponding to the target data; the connection is a connection between nodes in the transmission path; Distributing the sub-data transmitted through the associated transmission paths to a server of the same source node, so as to process the sub-data of each transmission path through the same process of the server.
7. The method according to any of claims 1 to 6, characterized in that Obtaining a detection result of each node and each source station includes: Periodically detecting each node and each source station to obtain a detection result; After calculating, weighting and network jitter smoothing processing of the detection result, determining a detection weight of each node; the detection weight represents the priority of the node selected in the process of determining the transmission path; Adding the detection weight to the detection result to obtain the detection result carrying the detection weight; According to the detection result, determining a plurality of transmission paths with non-repeated intermediate nodes and the same source node, including: According to the detection result carrying the detection weight, determining a plurality of transmission paths with non-repeated intermediate nodes and the same source node.
8. A link reestablishment system, characterized by, Including: An obtaining module is configured to obtain a detection result of each node and each source station, and the detection result at least includes index data representing node transmission performance; A determining module is configured to determine a plurality of transmission paths with non-repeated intermediate nodes and the same source node according to the detection result; the plurality of transmission paths include a first number of initial paths and a second number of alternative paths, and the source node is an upper hop node of a source station; An establishing module is configured to establish a first number of transmission paths for data transmission according to a priority order of the plurality of transmission paths, the first number of transmission paths include the initial paths and / or the alternative paths, and a priority of the initial paths is greater than a priority of the alternative paths; According to the priority order of the plurality of transmission paths, establishing a first number of transmission paths for data transmission includes: Establishing each initial path for data transmission through inter-node association; or, In a case that the initial path establishment fails, determining a third number of the initial paths that fail to be established; reestablishing the candidate paths in sequence until the number of successfully established candidate paths meets the third number; transmitting data through the successfully established initial path and the third number of successfully established candidate paths; wherein, in a case that the second number of candidate paths are all reestablished and the number of successfully established candidate paths does not meet the third number, transmitting data through the successfully established initial path and the successfully established candidate paths.
9. An electronic device, comprising: comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, which, when executed by the processor, implements the steps of the link reestablishment method according to any one of claims 1-7.
Citation Information
Patent Citations
Data transmission method and device, equipment and storage medium
CN115767664A