A data transmission acceleration method, device, equipment, system, storage medium and product
Patent Information
- Application Number
- CN202611308441.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-27
- Publication Date
- 2026-09-22
AI Technical Summary
[0004]本申请提供一种数据传输加速方法、装置、设备、系统、存储介质及产品,以解决现有技术中仅依据瞬时网络指标进行路由决策,未考虑到网络质量的后续变化,缺乏提前规划最优路由的有效机制,无法避免潜在的网络瓶颈,最终限制网络资源的利用,数据传输速度较慢的问题
[0025]Compared with existing technologies, the present application provides a data transmission acceleration method, apparatus, device, system, storage medium, and product. This involves: acquiring network quality indicators between edge stations within a preset range; constructing a network topology graph with the edge stations as vertices and the transmission relationships between them as edges; determining the originating and destination edge stations of the packets to be transmitted within the network topology graph; using the network quality indicators as edge weights to obtain one or more shortest routes from the originating edge station to the destination edge station, forming a shortest route set; and using a pre-trained network quality prediction model to select the shortest route set with the optimal network quality at future times. The shortest routes are selected as the set of candidate routes for the message to be transmitted. Therefore, this embodiment first obtains the shortest route set to avoid blindly traversing all transmission paths and reduce unnecessary calculations. Then, considering subsequent changes in network quality, a network quality prediction model is used to select the route with the best network quality at future times from the shortest route set.
This routing mechanism compensates for the lack of a pre-planned optimal routing mechanism, effectively avoids potential network bottlenecks, fully utilizes network resources, and improves data transmission speed. In particular, it can significantly improve the efficiency and stability of data transmission in complex environments such as hybrid wide area networks.
Smart Images

Figure CN122802422A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a data transmission acceleration method, apparatus, device, system, storage medium, and product. Background Technology
[0002] In the field of telecommunications, the public network refers to a communication network capable of connecting to a global network infrastructure, providing a best-effort service model. Typically, the public network spans different geographical regions and operators, traversing multiple Autonomous Systems (AS) to provide services. However, because these ASes may belong to different commercial entities, the routing used for data transmission over the public network is often suboptimal, frequently resulting in unnecessary detours. For example, when sending data from a node in one region to a node in another region, the data packet may pass through more distant intermediate nodes, undoubtedly increasing transmission latency.
[0003] To improve public network transmission performance and further enhance network service quality, many network service providers have deployed edge sites or access points to build private backbone networks. Combining public and private backbone networks, service providers have constructed a new type of virtual overlay network—the Hybrid Wide Area Network (HWAN). In the complex environment of a Hybrid WAN, most existing data transmission solutions rely solely on instantaneous network metrics for routing decisions, failing to consider subsequent changes in network quality, lacking effective mechanisms for pre-planning optimal routes, and thus unable to avoid potential network bottlenecks. Ultimately, this limits the utilization of network resources and results in slow data transmission speeds. Summary of the Invention
[0004] This application provides a data transmission acceleration method, apparatus, device, system, storage medium, and product to solve the problems in the prior art where routing decisions are made solely based on instantaneous network indicators, without considering subsequent changes in network quality, lacking an effective mechanism for pre-planning optimal routes, failing to avoid potential network bottlenecks, ultimately limiting the utilization of network resources, and resulting in slow data transmission speeds.
[0005] To achieve the above objectives, embodiments of this application provide a data transmission acceleration method applied in a data center, comprising: Obtain network quality metrics among edge sites within a preset range; A network topology graph is constructed using the edge stations as vertices and the transmission relationships between the edge stations as edges; In the network topology graph, the starting edge station and the destination edge station of the message to be transmitted are determined. The network quality index is used as the edge weight of the network topology graph to obtain one or more shortest routes from the starting edge station to the destination edge station, forming a set of shortest routes. Using a pre-trained network quality prediction model, the shortest routes with the best network quality at future times are selected from the set of shortest routes. A set of routes, serving as the candidate routes for the message to be transmitted; wherein, The value is a positive integer. The network quality prediction model is trained based on the historical network quality indicators and corresponding labels of the sample routes. The labels are used to indicate whether the sample route is the optimal route at the sample prediction time.
[0006] As an improvement to the above scheme, the step of determining the originating edge station and the destination edge station of the packet to be transmitted in the network topology graph, using the network quality index as the edge weight of the network topology graph, and obtaining one or more shortest routes from the originating edge station to the destination edge station to form a shortest route set includes: The starting edge station and the destination edge station are determined in the network topology diagram; Using different types of network quality metrics as edge weights in the network topology graph, one or more shortest routes from the starting edge station to the destination edge station are obtained under each type of network quality metric, forming the shortest route set; wherein, the network quality metric includes at least one of the following: average latency, packet loss rate, and average latency jitter.
[0007] As an improvement to the above scheme, after the message to be transmitted is encapsulated with the first segmented routing message header, the starting edge station sequentially selects one route from the set of routes to be selected for transmission until the transmission to the destination edge station is successful and then stops selection, or if all transmissions to the destination edge station fail, the transmission is switched to the public network. The first segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; and source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted.
[0008] As an improvement to the above scheme, the starting edge station sequentially selects one route from the set of routes to be selected for transmission until the transmission to the destination edge station is successful, at which point the selection stops; or, if all transmissions to the destination edge station fail, transmission is switched to the public network. This includes: The starting edge station uses one of the routes in the set of routes to be selected as the current route to transmit the encapsulated message to be transmitted; During the transmission process from the starting edge station to the next edge station of the current route, if the transmission from the starting edge station to the next edge station fails, another route in the set of routes to be selected is selected as the current route for transmission until the transmission from the starting edge station to the next edge station is successful. If the transmission from the starting edge station to the next edge station is successful, the intermediate edge stations continue to transmit according to the current route until the transmission to the destination edge station is successful, at which point the selection stops. If the transmission fails during the transmission process of the intermediate edge stations in the current route, the transmission is switched to the public network. The intermediate edge stations are the edge stations in the current route excluding the starting edge station and the destination edge station. If all transmissions from the starting edge station to the next edge station fail, the transmission will be transferred to the public network.
[0009] As an improvement to the above scheme, the message to be transmitted is encapsulated with the second segmented routing message header and then copied, and a copy of the encapsulated message to be transmitted is transmitted using multiple routes in the set of routes to be selected. The second segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted; number of packet copies, used to identify the number of copies of the packet; and packet redundancy identifier, used to identify identical packets.
[0010] As an improvement to the above scheme, the method utilizes a pre-trained network quality prediction model to select the route with the optimal network quality at future times from the shortest route set. A set of routes, serving as the selection set for the message to be transmitted, including: The shortest route set is deduplicated and unreachable routes are removed to obtain the target shortest route set; The network quality metrics of the target shortest route set are input into the network quality prediction model to obtain the top-ranked network quality sets from high to low at future time points. A set of routes, serving as the set of routes to be selected for the message to be transmitted.
[0011] To achieve the above objectives, embodiments of this application also provide a data transmission acceleration method, applied to a client, comprising: Determine the originating and destination edge stations of the message to be transmitted; The originating edge station and the destination edge station are used to query the data center to obtain a set of routes to be selected for the message to be transmitted; wherein the data center executes the data transmission acceleration method described above. The message to be transmitted is transmitted using the set of routes to be selected.
[0012] As an improvement to the above scheme, the step of transmitting the message to be transmitted using the set of routes to be selected includes: Using the set of routes to be selected, construct the first segmented routing header; The message to be transmitted is encapsulated with the header of the first segmented routing message to obtain the first message to be transmitted; The first message to be transmitted is sent to the starting edge station so that the starting edge station can transmit the first message to be transmitted according to the first segmented routing message header; The first segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; and source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted.
[0013] As an improvement to the above scheme, the step of transmitting the message to be transmitted using the set of routes to be selected includes: Using the set of routes to be selected, construct the second segmented routing header; After encapsulating the message to be transmitted with the second segmented routing message header, the second message to be transmitted is obtained; The second message to be transmitted is sent to the starting edge station, so that the starting edge station copies the second message to be transmitted multiple times and uses multiple routes of the set of routes to be selected to transmit one copy of the second message to be transmitted. The second segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted; number of packet copies, used to identify the number of copies of the packet; and packet redundancy identifier, used to identify identical packets.
[0014] To achieve the above objectives, embodiments of this application also provide a data transmission acceleration method applied to edge sites, including: Measure network quality metrics between the network and other edge sites; The network quality metrics are sent to the data center, which is used to execute the data transmission acceleration method described above.
[0015] As an improvement to the above solution, the method further includes: The starting edge station receives the first message to be transmitted sent by the client, and sequentially selects one route from the set of routes to be selected for transmission until the transmission to the destination edge station is successful and then stops selection, or if all transmissions to the destination edge station fail, the transmission is switched to the public network. The destination edge station receives the first message to be transmitted, restores the first message to be transmitted, and obtains the message to be transmitted. The destination edge station modifies the destination address of the IP header of the packet to be transmitted to the source IP address and modifies the destination port of the UDP header of the packet to be transmitted to the source port number before sending it to the source station. The first message to be transmitted includes the message to be transmitted and a first segmented routing header. The first segmented routing header includes: the number of remaining hops of the route, used to identify the number of remaining hops of the current route; an edge site identifier sequence, used to identify the identifier of each edge site of the current route; a source IP address, used to indicate the IP address of the source site to be accessed by the message to be transmitted; and a source port number, used to indicate the port number of the source site to be accessed by the message to be transmitted.
[0016] As an improvement to the above solution, the method further includes: The starting edge station receives and copies the second message to be transmitted sent by the client. After modifying the copied second packet to be transmitted according to the set of routes to be selected, the starting edge station uses multiple routes in the set of routes to be selected to transmit one copy of the second packet to be transmitted. The destination edge station receives the first arriving copy of the second message to be transmitted and discards duplicate copies of the second message to be transmitted according to the message redundancy flag. The destination edge station restores the received second message to be transmitted to obtain the message to be transmitted. The destination edge station modifies the destination address of the IP header of the packet to be transmitted to the source IP address and modifies the destination port of the UDP header of the packet to be transmitted to the source port number before sending it to the source station. The second message to be transmitted includes the message to be transmitted and a second segmented routing message header. The second segmented routing message header includes: remaining hop count, used to identify the remaining hop count of the current route; edge station identifier sequence, used to identify the identifier of each edge station of the current route; source IP address, used to indicate the IP address of the source station to be accessed by the message to be transmitted; source port number, used to indicate the port number of the source station to be accessed by the message to be transmitted; message copy count, used to identify the number of copies of the message; and message redundancy identifier, used to identify identical messages.
[0017] As an improvement to the above scheme, the measurement of network quality metrics between the network and other edge sites includes: The edge controller sends the full edge site table to the main core of the forwarding plane; The main core notifies the control core of the forwarding plane to create a measurement task; The control core constructs a preset measurement message based on the measurement task and injects it into the packet sending queue of the network card; The slave core of the forwarding plane sends the preset measurement messages of the packet sending queue to other edge stations; The forwarding plane receives response measurement messages from other edge sites from the core and calculates network quality metrics between itself and other edge sites.
[0018] To achieve the above objectives, embodiments of this application also provide a data transmission acceleration device, comprising: The first acquisition module is used to acquire network quality indicators among edge stations within a preset range; The construction module is used to construct a network topology graph with the edge stations as vertices and the transmission relationships between the edge stations as edges; The second acquisition module is used to determine the starting edge station and the destination edge station of the message to be transmitted in the network topology graph, and to obtain one or more shortest routes from the starting edge station to the destination edge station using the network quality index as the edge weight of the network topology graph, forming a set of shortest routes. The prediction module is used to select the route with the best network quality at future times from the shortest route set using a pre-trained network quality prediction model. A set of routes, serving as the candidate routes for the message to be transmitted; wherein, The value is a positive integer. The network quality prediction model is trained based on the historical network quality indicators and corresponding labels of the sample routes. The labels are used to indicate whether the sample route is the optimal route at the sample prediction time.
[0019] To achieve the above objectives, embodiments of this application also provide a data transmission acceleration device, comprising: The determination module is used to determine the originating edge station and the destination edge station of the message to be transmitted; The query module is used to query the data center based on the originating edge station and the destination edge station to obtain a set of routes to be selected for the message to be transmitted; wherein the data center executes the data transmission acceleration method applied to the data center as described above; The transmission module is used to transmit the message to be transmitted using the set of routes to be selected.
[0020] To achieve the above objectives, embodiments of this application also provide a data transmission acceleration device, comprising: The measurement module is used to measure network quality metrics between the network and other edge sites. A sending module is used to send the network quality indicators to a data center; wherein the data center is used to execute the data transmission acceleration method applied to the data center as described above.
[0021] To achieve the above objectives, embodiments of this application also provide a data transmission acceleration system, including: Data center, used to execute data transmission acceleration methods as described above applied to data centers; The client is used to execute the data transmission acceleration method applied to the client as described above; Edge sites are used to implement data transmission acceleration methods as described above for edge sites.
[0022] To achieve the above objectives, embodiments of this application also provide a data transmission acceleration device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor implements the data transmission acceleration method as described above when executing the computer program.
[0023] To achieve the above objectives, embodiments of this application also provide a computer-readable storage medium, the computer-readable storage medium including a stored computer program; wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the data transmission acceleration method as described above.
[0024] To achieve the above objectives, embodiments of this application also provide a computer program product, including a computer program / instructions, which, when executed by a processor, implement the data transmission acceleration method as described above.
[0025] Compared with existing technologies, the present application provides a data transmission acceleration method, apparatus, device, system, storage medium, and product. This involves: acquiring network quality indicators between edge stations within a preset range; constructing a network topology graph with the edge stations as vertices and the transmission relationships between them as edges; determining the originating and destination edge stations of the packets to be transmitted within the network topology graph; using the network quality indicators as edge weights to obtain one or more shortest routes from the originating edge station to the destination edge station, forming a shortest route set; and using a pre-trained network quality prediction model to select the shortest route set with the optimal network quality at future times. The shortest routes are selected as the set of candidate routes for the message to be transmitted. Therefore, this embodiment first obtains the shortest route set to avoid blindly traversing all transmission paths and reduce unnecessary calculations. Then, considering subsequent changes in network quality, a network quality prediction model is used to select the route with the best network quality at future times from the shortest route set. This routing mechanism compensates for the lack of a pre-planned optimal routing mechanism, effectively avoids potential network bottlenecks, fully utilizes network resources, and improves data transmission speed. In particular, it can significantly improve the efficiency and stability of data transmission in complex environments such as hybrid wide area networks. Attached Figure Description
[0026] Figure 1 This is a flowchart of a data transmission acceleration method provided in an embodiment of this application; Figure 2 This is a schematic diagram of training data provided in an embodiment of this application; Figure 3 This is a schematic diagram of the message structure of a first message to be transmitted provided in an embodiment of this application; Figure 4 This is a schematic diagram of the message structure of a second message to be transmitted provided in an embodiment of this application; Figure 5 This is another flowchart of a data transmission acceleration method provided in the embodiments of this application; Figure 6 This is another flowchart of a data transmission acceleration method provided in an embodiment of this application; Figure 7 This is a schematic diagram of the structure of a preset measurement message provided in an embodiment of this application; Figure 8 This is a flowchart illustrating a network quality measurement workflow provided in an embodiment of this application; Figure 9 This is a structural block diagram of a data transmission acceleration system provided in an embodiment of this application; Figure 10This is an exception handling flowchart provided in an embodiment of this application; Figure 11 This is a flowchart of the multiple-transmission selective reception mode provided in the embodiments of this application; Figure 12 This is a structural block diagram of a data transmission acceleration device provided in an embodiment of this application; Figure 13 This is another structural block diagram of a data transmission acceleration device provided in the embodiments of this application; Figure 14 This is another structural block diagram of a data transmission acceleration device provided in an embodiment of this application; Figure 15 This is a structural block diagram of a data transmission acceleration device provided in an embodiment of this application. Detailed Implementation
[0027] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0028] In the description of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0029] In this application description, the terms "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0030] In this application description, the terms "first," "second," etc., are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus. The term "based on" means "at least partially based on." The term "according to" means "at least partially according to." 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." The term "and / or" means at least one of the connected objects, such as A and / or B, indicating three cases: including only A, only B, and both A and B. Unless otherwise stated, the term "multiple" means two or more.
[0031] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, data stored, data displayed, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with relevant laws, regulations and standards.
[0032] See Figure 1 , Figure 1 This is a flowchart of a data transmission acceleration method provided in an embodiment of this application. The data transmission acceleration method is applied to a data center and includes: S11. Obtain network quality indicators among edge stations within a preset range; It is worth noting that the preset range specifically includes the area containing the originating edge station and the destination edge station of the message to be transmitted, so that one or more shortest routes from the originating edge station to the destination edge station can be found using the network topology map constructed subsequently; for example, the originating edge station, the destination edge station, and edge stations directly or indirectly connected to the originating edge station or the destination edge station can be selected to constitute this area.
[0033] Specifically, the originating edge station of the message to be transmitted is the edge station closest to the client that initiated the message; the destination edge station of the message to be transmitted is the edge station closest to the source station of the message; where the source station is the station that the user requests, i.e., the message to be transmitted, to access.
[0034] Specifically, network quality metrics include at least one of the following: average latency, packet loss rate, and average latency jitter.
[0035] In one optional embodiment, obtaining the network quality indicators among edge stations within a preset range includes: Receive the network quality indicators obtained by each edge station in advance by sending preset measurement messages to other edge stations.
[0036] It is worth noting that each edge station can obtain network quality indicators in advance by sending preset measurement messages to other edge stations, and then send them to the data center so that the data center can obtain the network quality indicators between the edge stations.
[0037] S12. Construct a network topology graph with the edge stations as vertices and the transmission relationships between the edge stations as edges; It is understood that the embodiments of this application construct a network topology graph with edge stations as vertices and the transmission relationships between edge stations as edges. By abstracting each edge station and the transmission relationships between them into a graph structure, data support is provided for subsequent shortest route acquisition.
[0038] S13. Determine the starting edge station and destination edge station of the message to be transmitted in the network topology graph, use the network quality index as the edge weight of the network topology graph, obtain one or more shortest routes from the starting edge station to the destination edge station, and form a set of shortest routes. It is understood that, in this embodiment of the application, the starting edge station and the destination edge station of the packet to be transmitted are determined in the network topology graph. The network quality index between each edge station is used as the edge weight of the network topology graph to obtain one or more shortest routes from the starting edge station to the destination edge station. This avoids traversing all transmission paths when blindly predicting, reduces invalid calculations, and improves the acquisition efficiency. The one or more shortest routes from the starting edge station to the destination edge station refer to: the shortest routes ranked first among multiple routes from the starting edge station to the destination edge station, sorted from shortest to longest; these routes are aggregated to form a shortest route set, that is, the shortest route set includes the one or more shortest routes obtained, and each shortest route consists of multiple edge stations forming a transmission path.
[0039] Specifically, one or more shortest routes from the starting edge station to the destination edge station can be obtained through the K-Shortest Path Routing (KSP) algorithm.
[0040] S14. Using a pre-trained network quality prediction model, select the route with the best network quality from the shortest route set at the next future time. A set of routes, serving as the candidate routes for the message to be transmitted; wherein, The value is a positive integer. The network quality prediction model is trained based on the historical network quality indicators and corresponding labels of the sample routes. The labels are used to indicate whether the sample route is the optimal route at the sample prediction time.
[0041] This application embodiment takes into account subsequent changes in network quality and utilizes a pre-trained network quality prediction model to select the route with the optimal network quality at future times from the shortest route set. A set of routes is defined as follows: routes in the shortest route set are sorted in descending order of network quality from highest to lowest at future time points, and then the top routes are selected from this sort. These routes are aggregated to form a set of candidate routes for the transmission of the message to be transmitted. This set is used for the subsequent transmission of the message, making up for the lack of a mechanism for pre-planning the optimal route, effectively avoiding potential network bottlenecks, making full use of network resources, and improving data transmission speed. In particular, for the complex environment of hybrid wide area networks, it can significantly improve the efficiency and stability of data transmission.
[0042] Specifically, the network quality prediction model is used to predict the network quality of routes at future times. Its training steps include the training data acquisition process and the training process: Training data acquisition process: Historical network quality metrics for each sample route are acquired as training feature data. These historical network quality metrics include at least one of the following: average latency, packet loss rate, and average latency jitter at the historical time of the sample. A label is acquired for each sample route to indicate its optimal routing result at the sample prediction time, i.e., whether it is the optimal route at the sample prediction time. If it is, the label value is 1; otherwise, it is 0. The historical time of the sample is earlier than the sample prediction time, the sample prediction time is earlier than the current time, and the current time is earlier than the future time. For example, if the sample prediction time lags by 5 minutes relative to the historical time, the future time lags by 5 minutes relative to the current time, meaning the network quality prediction model can predict the network quality 5 minutes later. If the sample prediction time lags by 10 minutes relative to the historical time, the future time lags by 10 minutes relative to the current time, meaning the network quality prediction model can predict the network quality 10 minutes later. This embodiment does not impose specific limitations on the future time.
[0043] Specifically, the average latency, packet loss rate, and average latency jitter obtained within the measurement period of a given moment are used as the network quality indicators for that moment. Therefore, the average latency, packet loss rate, and average latency jitter obtained within the measurement period of a sample's historical moments are the average latency, packet loss rate, and average latency jitter for that sample's historical moments; similarly, the average latency, packet loss rate, and average latency jitter obtained within the measurement period of a sample's predicted moment are the average latency, packet loss rate, and average latency jitter for that sample's predicted moment. For example, the average latency, packet loss rate, and average latency jitter are calculated using a 10-minute measurement period and used as the network quality indicators for all moments within that corresponding period.
[0044] For example, the average latency, packet loss rate, and average latency jitter of each sample edge station within the measurement period of the sample's historical time are statistically analyzed and used as the average latency, packet loss rate, and average latency jitter of each sample edge station at the sample's historical time. Based on the average latency, packet loss rate, and average latency jitter of each sample edge station at the sample's historical time, and the average latency, packet loss rate, and average latency jitter of the sample route at the sample's historical time, training feature data is formed. The average latency, packet loss rate, and average latency jitter of each sample edge station within the measurement period of the sample prediction time are statistically analyzed and used as the average latency, packet loss rate, and average latency jitter of each sample edge station at the sample prediction time. Based on the average latency, packet loss rate, and average latency jitter of each sample edge station at the sample prediction time, the average latency, packet loss rate, and average latency jitter of the sample route at the sample prediction time are obtained.
[0045] Then, the sample routes are first sorted in ascending order of packet loss rate at the time of sample prediction. If the packet loss rates are the same, they are then sorted in ascending order of average latency at the time of sample prediction. If the average latency is the same, they are finally sorted in ascending order of average latency jitter at the time of sample prediction. The route at the top of the list after sorting is the optimal route, which is then manually labeled. A diagram of the training data is shown below. Figure 2 As shown in the figure, the training feature data are the average latency, packet loss rate, and average latency jitter of multiple sample routes (including sample route 1, sample route 2, sample route 3, etc.) at the sample historical time (e.g., 10:00:00). The label is the optimal route result at the sample prediction time (e.g., 10:10:00), where 1 indicates that it is the optimal route and 0 indicates that it is not the optimal route.
[0046] Training data and training process: Based on the average latency, packet loss rate, average jitter characteristics, and corresponding labels of each sample route, a random forest algorithm is used for offline training to obtain a trained network quality prediction model; specifically, the network quality prediction model is a random forest model.
[0047] In one specific embodiment, the average latency, packet loss rate, and average jitter characteristics of each shortest route in the shortest route set are used as three-dimensional feature vectors and input into the network quality prediction model to predict the optimal route. The model outputs the optimal route prediction probability value for each shortest route in the shortest route set. These optimal route prediction probabilities are then sorted from largest to smallest, and the top routes are selected from this sort. The shortest route is the one with the best network quality at future moments. The shortest routes are calculated and aggregated to form a set of candidate routes for the transmitted message. The higher the optimal route prediction probability of a particular shortest route within the shortest route set, the better its network quality in the future. In other words, this set of candidate routes includes the shortest routes within the shortest route set that have the best network quality in the future. The route, the previous The routes are the first few routes whose optimal route prediction probability values are sorted from largest to smallest. This route, also, represents the network quality ranking from high to low in the future. A route.
[0048] Furthermore, in this embodiment of the application, the set of routes to be selected for the message to be transmitted is converted into a format that can be processed by the forwarding plane, and a forwarding routing table is generated for edge sites to query.
[0049] Furthermore, embodiments of this application can be specifically applied to a global controller in a data center. The global controller obtains a set of candidate routes for the packets to be transmitted, converts them into a format that the forwarding plane can process, generates a forwarding routing table, and stores it in a database. The global controller distributes the forwarding routing table to each edge site controller, which then distributes it to the forwarding plane for querying during packet transmission.
[0050] In an optional embodiment, the step of determining the originating edge station and the destination edge station of the packet to be transmitted in the network topology graph, using the network quality index as the edge weight of the network topology graph, and obtaining one or more shortest routes from the originating edge station to the destination edge station to form a shortest route set includes: The starting edge station and the destination edge station are determined in the network topology diagram; Using different types of network quality indicators as edge weights in the network topology graph, one or more shortest routes from the starting edge station to the destination edge station are obtained under each type of network quality indicator, forming the shortest route set.
[0051] It is understood that the embodiments of this application do not use only one network quality indicator as the edge weight, but use different types of network quality indicators as edge weights to obtain one or more shortest routes from the starting edge site to the destination edge site under each type of network quality indicator, which can enrich the routes and provide sufficient choices for subsequent network quality prediction models.
[0052] The number of shortest routes obtained under each type can be the same or different.
[0053] Specifically, the step of using different types of network quality indicators as edge weights in the network topology graph to obtain one or more shortest routes from the starting edge station to the destination edge station under each type of network quality indicator, forming the shortest route set, includes: With the first j The network quality metric of this type is used as edge weights to obtain the distance from the starting edge station to the destination edge station. There are several shortest routes; among them, j =1, 2, ..., q , q The number of types of network quality indicators. Indicates the first j The network quality metrics of each type are used as edge weights to obtain the number of shortest routes; Add all the obtained shortest routes to the shortest route set.
[0054] It is worth noting that, in this embodiment, the process of obtaining the shortest route can begin with the first type of network quality metric, and then use different types of network quality metrics as edge weights, repeating the steps until the last type of network quality metric is used as the edge weight, thus obtaining the shortest route. , ,..., These shortest routes are aggregated to form a shortest route set. , ,..., They can be the same or different.
[0055] For example, using average latency as edge weights, to obtain Find the shortest route; use packet loss rate as the edge weight to obtain... Find the shortest route; use average latency jitter as the edge weight to obtain... The shortest route, which The shortest route, The shortest route and the Add the shortest route to the shortest route set.
[0056] In one optional embodiment, after the message to be transmitted is encapsulated with the first segmented routing message header, the starting edge station sequentially selects one route from the set of routes to be selected for transmission until the transmission to the destination edge station is successful and then stops selection, or the transmission to the destination edge station fails completely and then the transmission is switched to the public network. The first segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; and source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted.
[0057] Of course, the first segment routing header may also include other content, but this application embodiment does not impose specific restrictions.
[0058] It is worth noting that the embodiments of this application adopt unicast mode for transmitting the message to be transmitted. Unicast mode selects a route sequentially for transmitting service messages, which is suitable for ordinary users and ordinary services. Specifically, after the message to be transmitted is encapsulated with the first segmented route message header, the starting edge station sequentially selects (or utilizes) a route in the set of routes to be selected for transmission until the transmission to the destination edge station is successful and then the selection stops, or the transmission to the destination edge station fails and then the transmission is switched to the public network, which can ensure the reliability and stability of message transmission.
[0059] Furthermore, based on network quality from high to low, one route from the set of routes to be selected is selected to transmit the encapsulated message.
[0060] In one optional embodiment, the starting edge station sequentially selects one route from the set of routes to be selected for transmission until successful transmission to the destination edge station, at which point the selection stops; or, if all transmissions to the destination edge station fail, transmission is switched to the public network, including: The starting edge station uses one of the routes in the set of routes to be selected as the current route to transmit the encapsulated message to be transmitted; During the transmission process from the starting edge station to the next edge station of the current route, if the transmission from the starting edge station to the next edge station fails, another route in the set of routes to be selected is selected as the current route for transmission until the transmission from the starting edge station to the next edge station is successful. If the transmission from the starting edge station to the next edge station is successful, the intermediate edge stations continue to transmit according to the current route until the transmission to the destination edge station is successful, at which point the selection stops. If the transmission fails during the transmission process of the intermediate edge stations in the current route, the transmission is switched to the public network. The intermediate edge stations are the edge stations in the current route excluding the starting edge station and the destination edge station. If all transmissions from the starting edge station to the next edge station fail, the transmission will be transferred to the public network.
[0061] For example, the set of routes to be selected includes: route 1, route 2, route 3, and route 4; wherein the network quality from high to low is in the order of route 1, route 2, route 3, and route 4. Then, when using the set of routes to be selected for packet transmission, the routes will be selected in this order.
[0062] First, the client sets the header of the first segment routing message according to the route with the highest network quality (route 1), encapsulates the message to be transmitted with the header of the first segment routing message, and sends the first message to be transmitted to the starting edge station.
[0063] Then, the starting edge station receives the first packet to be transmitted and first transmits it to the next edge station according to route 1. If the starting edge station successfully transmits the packet to the next edge station, it stops selecting other routes. At this time, the intermediate edge stations will continue to transmit the first packet according to route 1. If the starting edge station fails to transmit the packet to the next edge station, it means that there is a situation where nodes within route 1 are unreachable. In this case, the starting edge station selects route 2, which has a slightly lower network quality, modifies the first segment routing header in the first packet to be transmitted, and transmits the first packet to the next edge station according to route 2. If successful, it stops selecting other routes. At this point, the intermediate edge station will continue to transmit the first packet according to route 2. If this still fails, it will switch to route 3 to transmit the first packet to the next edge station. If successful, it will stop selecting other routes and continue to transmit the first packet according to route 3. If this still fails, it will switch to route 4 to transmit the first packet to the next edge station. If successful, it will stop selecting other routes and continue to transmit the first packet according to route 4. If this still fails, it means that transmission using all routes in the set of routes to be selected has failed, and the first packet will be transmitted via the public network. Furthermore, during the process of the intermediate edge station continuing to transmit the first packet using routes 1, 2, 3, or 4, if transmission fails at any two intermediate edge stations, the first packet will be transmitted via the public network.
[0064] In addition, after receiving the first message to be transmitted, the destination edge station restores the first message to be transmitted to obtain the message to be transmitted; it modifies the destination address of the IP header of the message to be transmitted to the source station IP address and modifies the destination port of the UDP header of the message to be transmitted to the source station port number before sending it to the source station.
[0065] In one specific embodiment, the message structure of the first message to be transmitted is as follows: Figure 3 As shown, it includes: IP header, UDP (User Datagram Protocol) header, first segment routing header, and payload. The IP header can be either IPv4 (Internet Protocol version 4) or IPv6 (Internet Protocol version 6) depending on the network type used by the user. The first segment routing header includes the following key fields: Version: Indicates the version number of the message, occupying 1 byte.
[0066] TTL: Indicates the maximum number of hops a message can continue to be forwarded, occupying 1 byte.
[0067] Flags: Used to identify the message transmission mode, helping to distinguish between unicast mode messages and multiplexed message modes, occupying 2 bytes.
[0068] Segment Number: Represents the total number of hops for the route, specifically the total number of hops for one route in the current set of routes to be selected.
[0069] Segments Left: Indicates the remaining hop count for the current route. Specifically, it represents the remaining hop count for one route in the currently selected set of candidate routes, used to assist in the address offset in the packet header.
[0070] SR[1] to SR[n]: Represents the identifier of each edge station of the current route. Specifically, it identifies the identifier of each edge station of a route in the currently selected set of candidate routes, which can be modified by the starting edge station if the previously selected route fails to transmit. This identifier is specifically the SID (Segment ID), used to uniquely identify the edge station. By querying the full edge station table, the IP information corresponding to the identifier of each edge station can be obtained, including IPv4 and / or IPv6 addresses. The corresponding IP address is determined according to the protocol (IPv4 or IPv6) used in the outer IP packet header.
[0071] Server IP: Stores the IP address of the source server that the user ultimately accesses, i.e., the IP address of the source server that the message to be transmitted will access.
[0072] Server Port: Stores the port number of the source server accessed by the user, that is, the port number of the source server that the message to be transmitted needs to access.
[0073] Reserved: A reserved field that can be used for expansion.
[0074] The above structure not only ensures that business messages can be transmitted efficiently and accurately in complex network environments, but also supports multiple transmission modes to meet the needs of different scenarios.
[0075] In one optional embodiment, the message to be transmitted is encapsulated with the second segmented routing message header and then copied, and a copy of the encapsulated message to be transmitted is transmitted using multiple routes in the set of routes to be selected. The second segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted; number of packet copies, used to identify the number of copies of the packet; and packet redundancy identifier, used to identify identical packets.
[0076] Of course, the second segment routing header may also include other content, but this application embodiment does not impose specific limitations.
[0077] It is worth noting that the embodiments of this application employ a multi-send / selective receive mode for transmitting the message to be transmitted. This mode selects multiple routes to redundantly send the service message, significantly improving transmission stability and service reliability, providing high availability assurance for critical users and core services, and is suitable for important users and services. For a single user, a clear acceleration effect is perceptible. Specifically, the message to be transmitted is encapsulated with the second segmented routing message header and copied. Multiple routes from the set of routes to be selected are used to transmit each encapsulated message; one route corresponds to the transmission of one encapsulated message.
[0078] In addition, once the destination edge station receives the encapsulated message to be transmitted, it can discard any subsequent encapsulated messages to be transmitted that are received in the same manner. Specifically, duplicate messages can be discarded based on the message redundancy flag.
[0079] Furthermore, after receiving the second message to be transmitted, the destination edge station restores the second message to be transmitted to obtain the message to be transmitted; it modifies the destination address of the IP header of the message to be transmitted to the source IP address and modifies the destination port of the UDP header of the message to be transmitted to the source port number before sending it to the source station.
[0080] Furthermore, based on network quality from high to low, multiple routes from the set of routes to be selected are used to transmit each of the encapsulated packets to be transmitted.
[0081] For example, the set of routes to be selected includes: Route 1, Route 2, Route 3, and Route 4; where the network quality is ordered from high to low as Route 1, Route 2, Route 3, and Route 4. The packet replication quantity is 3 copies, meaning that 3 copies of the packet to be transmitted need to be transmitted, requiring 3 routes for transmission. Therefore, Route 1, Route 2, and Route 3, a total of 3 routes, are selected for transmission according to network quality from high to low.
[0082] First, the client encapsulates the message to be transmitted with the second segmented routing message header to obtain the second message to be transmitted and sends it to the starting edge station. The starting edge station copies it twice, resulting in a total of three second messages to be transmitted: second message to be transmitted 1, second message to be transmitted 2, and second message to be transmitted 3.
[0083] Then, the starting edge station uses route 1 to transmit the second message to be transmitted 1, uses route 2 to transmit the second message to be transmitted 2, and uses route 3 to transmit the second message to be transmitted 3.
[0084] Finally, when the destination edge station receives one of the second messages to be transmitted, such as second message to be transmitted 1, the destination edge station discards the second message to be transmitted 2 and the second message to be transmitted 3 that are received later.
[0085] In one specific embodiment, the message structure of the second message to be transmitted is as follows: Figure 4 As shown, it includes an IP header (selecting either an IPv4 or IPv6 header depending on the user's network type), a UDP header, a second segment routing header, and a payload. The second segment routing header includes the following key fields: Version: Indicates the version number of the message, occupying 1 byte.
[0086] TTL: Indicates the maximum number of hops a message can continue to be forwarded, occupying 1 byte.
[0087] Flags: Used to identify the message transmission mode, helping to distinguish between unicast mode messages and multiplexed message modes, occupying 2 bytes.
[0088] Segment Number: Represents the total number of hops for the route, specifically the total number of hops for one route in the current set of routes to be selected.
[0089] Segments Left: Indicates the remaining hop count for the current route. Specifically, it represents the remaining hop count for one route in the current set of candidate routes, used to assist in the address offset in the packet header.
[0090] SR[1] to SR[n]: Represents the identifier of each edge station in the current route, specifically the identifier of each edge station in one of the routes to be selected in the set of routes to be used. This identifier can be modified by the starting edge station in the second segment route header of the copied second packet to be transmitted. This identifier is specifically SID (Segment ID), used to uniquely identify the edge station. By querying the full edge station table, the IP information corresponding to the identifier of each edge station can be obtained, including IPv4 and / or IPv6 addresses. The corresponding IP address is determined according to the protocol (IPv4 or IPv6) used by the outer IP packet header.
[0091] Server IP: Stores the IP address of the source server that the user ultimately accesses, i.e., the IP address of the source server that the message to be transmitted will access.
[0092] Server Port: Stores the port number of the source server accessed by the user, that is, the port number of the source server that the message to be transmitted needs to access.
[0093] Copy number: Indicates the number of times the message is copied, used by the starting edge station to determine the number of copies of the second message to be transmitted. For the sake of reducing complexity, the default value for copy number is 3.
[0094] Payload number: This indicates message redundancy. It means the second message to be transmitted and the copied second message to be transmitted have the same message redundancy identifier. This is used by the destination edge station to discard identical second messages to be transmitted. For example, the destination edge station processes redundant messages based on the payload number field. If it has already received a second message to be transmitted with the same payload number, it will discard any subsequent redundant second messages to be transmitted with the same payload number.
[0095] In one alternative embodiment, the step of using a pre-trained network quality prediction model to select the route with the best network quality at a future time from the set of shortest routes is... A set of routes, serving as the selection set for the message to be transmitted, including: The shortest route set is deduplicated and unreachable routes are removed to obtain the target shortest route set; The network quality metrics of the target shortest route set are input into the network quality prediction model to obtain the top-ranked network quality sets from high to low at future time points. A set of routes, serving as the set of routes to be selected for the message to be transmitted.
[0096] It's worth noting that, in order to remove duplicate and invalid routes, the shortest route set is deduplicated and unreachable routes are removed to obtain the target shortest route set. Specifically, routes with a 100% packet loss rate are removed as unreachable routes.
[0097] Then, the network quality metric of each route in the target shortest route set is input into the network quality prediction model to obtain the top routes with optimal network quality at future times. A set of routes, serving as the set of routes to be selected for the message to be transmitted.
[0098] See Figure 5 , Figure 5 This is another flowchart of a data transmission acceleration method provided in this application embodiment. The data transmission acceleration method is applied to a client and includes: S21. Determine the originating edge station and the destination edge station of the message to be transmitted; It is worth noting that the embodiments of this application are specifically applied to a client, which initiates a message to be transmitted, and determines the edge station closest to the client as the starting edge station of the message to be transmitted; and determines the edge station closest to the source station of the message to be transmitted as the destination edge station of the message to be transmitted.
[0099] S22. Query the data center based on the starting edge station and the destination edge station to obtain a set of routes to be selected for the message to be transmitted; wherein, the data center executes the data transmission acceleration method applied to the data center as described above; It is worth noting that the data center has already stored a forwarding routing table in the database generated from the set of routes to be selected for the message to be transmitted. In this embodiment of the application, the data center can be queried according to the originating edge station and the destination edge station of the message to be transmitted to obtain the set of routes to be selected for the message to be transmitted.
[0100] S23. The message to be transmitted is transmitted using the set of routes to be selected.
[0101] It is worth noting that this embodiment utilizes the set of routes to be selected to transmit the message to be transmitted, thereby accelerating the transmission of the message from the client to the source station. Specifically, the client sends the message to be transmitted to the starting edge station, the starting edge station transmits the message to the destination edge station according to the set of routes to be selected, and the destination edge station transmits the message to the source station, thus completing the accelerated transmission of the message from the client to the source station.
[0102] Specifically, a segmented routing header is constructed using the set of routes to be selected, and the segmented routing header is encapsulated with the message to be transmitted before transmission. Further, the segmented routing header includes: a first segmented routing header and a second segmented routing header.
[0103] This application embodiment utilizes a set of routes to be selected to construct a segmented routing header, and encapsulates the segmented routing header into the message to be transmitted, so that the message to be transmitted can confirm the transmission path based on the segmented routing header during transmission, thereby completing the transmission of the message to be transmitted from the client to the source station.
[0104] In one optional embodiment, transmitting the message to be transmitted using the set of routes to be selected includes: Using the set of routes to be selected, construct the first segmented routing header; The message to be transmitted is encapsulated with the header of the first segmented routing message to obtain the first message to be transmitted; The first message to be transmitted is sent to the starting edge station so that the starting edge station can transmit the first message to be transmitted according to the first segmented routing message header; The first segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; and source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted.
[0105] It is worth noting that the embodiments of this application use unicast mode to transmit the message to be transmitted. The specific process and message structure can be referred to the above description, and will not be repeated here.
[0106] In one optional embodiment, transmitting the message to be transmitted using the set of routes to be selected includes: Using the set of routes to be selected, construct the second segmented routing header; After encapsulating the message to be transmitted with the second segmented routing message header, the second message to be transmitted is obtained; The second message to be transmitted is sent to the starting edge station, so that the starting edge station copies the second message to be transmitted multiple times and uses multiple routes of the set of routes to be selected to transmit one copy of the second message to be transmitted. The second segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted; number of packet copies, used to identify the number of copies of the packet; and packet redundancy identifier, used to identify identical packets.
[0107] It is worth noting that the embodiments of this application adopt a multi-transmit select-receive mode to transmit the message to be transmitted, which can improve transmission efficiency and reliability; the specific process and message structure can be referred to the above description, and will not be repeated here.
[0108] See Figure 6 , Figure 6 This is another flowchart of a data transmission acceleration method provided in an embodiment of this application. The data transmission acceleration method is applied to an edge site and includes: S31. Determine the starting edge station and destination edge station of the message to be transmitted; S32. Query the data center based on the starting edge station and the destination edge station to obtain a set of routes to be selected for the message to be transmitted; wherein, the data center executes the data transmission acceleration method applied to the data center as described above; S33. The message to be transmitted is transmitted using the set of routes to be selected.
[0109] It is worth noting that the embodiments of this application are specifically applied to edge sites, which measure network quality indicators between themselves and other edge sites and send them to the data center so that the data center can implement the above-mentioned data transmission acceleration method to obtain a set of routes to be selected, thereby enabling the transmission of the message to be transmitted using the set of routes to be selected.
[0110] In an optional embodiment, the method further includes: The starting edge station receives the first message to be transmitted sent by the client, and sequentially selects one route from the set of routes to be selected for transmission until the transmission to the destination edge station is successful, then stops the selection, or if all transmissions to the destination edge station fail, then the transmission is switched to the public network. The destination edge station receives the first message to be transmitted, restores the first message to be transmitted, and obtains the message to be transmitted. The destination edge station modifies the destination address of the IP header of the packet to be transmitted to the source IP address and modifies the destination port of the UDP header of the packet to be transmitted to the source port number before sending it to the source station. The first message to be transmitted includes the message to be transmitted and a first segmented routing header. The first segmented routing header includes: the number of remaining hops of the route, used to identify the number of remaining hops of the current route; an edge site identifier sequence, used to identify the identifier of each edge site of the current route; a source IP address, used to indicate the IP address of the source site to be accessed by the message to be transmitted; and a source port number, used to indicate the port number of the source site to be accessed by the message to be transmitted.
[0111] It is worth noting that the embodiments of this application use unicast mode to transmit the message to be transmitted. The specific process and message structure can be referred to the above description, and will not be repeated here.
[0112] In one optional embodiment, the edge station is the originating edge station of the message to be transmitted: The method further includes: The starting edge station receives and copies the second message to be transmitted sent by the client. After modifying the copied second packet to be transmitted according to the set of routes to be selected, the starting edge station uses multiple routes in the set of routes to be selected to transmit one copy of the second packet to be transmitted. The destination edge station receives the first arriving copy of the second message to be transmitted and discards duplicate copies of the second message to be transmitted according to the message redundancy flag. The destination edge station restores the received second message to be transmitted to obtain the message to be transmitted. The destination edge station modifies the destination address of the IP header of the packet to be transmitted to the source IP address and modifies the destination port of the UDP header of the packet to be transmitted to the source port number before sending it to the source station. The second message to be transmitted includes the message to be transmitted and a second segmented routing message header. The second segmented routing message header includes: remaining hop count, used to identify the remaining hop count of the current route; edge station identifier sequence, used to identify the identifier of each edge station of the current route; source IP address, used to indicate the IP address of the source station to be accessed by the message to be transmitted; source port number, used to indicate the port number of the source station to be accessed by the message to be transmitted; message copy count, used to identify the number of copies of the message; and message redundancy identifier, used to identify identical messages.
[0113] It is worth noting that the embodiments of this application use a multi-transmit select-receive mode to transmit the message to be transmitted. The specific process and message structure can be referred to the above description, and will not be repeated here.
[0114] In one optional embodiment, the measurement of network quality metrics between the network and other edge sites includes: Send preset measurement messages to other edge sites; Receive response measurement messages returned by other edge sites; The network quality index is calculated based on the preset measurement message and the response measurement message.
[0115] This application embodiment sends a preset measurement message to other edge sites, receives response measurement messages returned by other edge sites, and calculates network quality indicators between other edge sites based on the preset measurement message and the response measurement message, thus enabling accurate calculation of network quality indicators between edge sites.
[0116] For example, the structure of the preset measurement message is as follows: Figure 7 As shown. This preset measurement message includes an IP header (supporting both IPv4 and IPv6 networks, using the corresponding headers respectively), a UDP header, a measurement header, and a payload. The measurement header includes the following key fields: Version: Indicates the version number of the message, occupying 1 byte.
[0117] TTL: Represents the maximum number of hops a message can be forwarded, occupying 1 byte.
[0118] Flags: This field identifies the type of message and occupies 2 bytes. The M flag distinguishes between preset measurement messages and those without it. Messages with the M flag are preset measurement messages, while those without the M flag are service messages, i.e., messages to be transmitted. All messages sent throughout the measurement process are preset measurement messages, therefore their Flags field always contains the M flag.
[0119] Sign: Occupancy code, mainly used for security verification.
[0120] Task ID: Identifies the specific measurement task number.
[0121] Direction: Indicates the transmission direction of the message, divided into outbound (sent to other edge stations) and return (returned from other edge stations). Pre-defined measurement messages sent have an outbound flag (request) on the Direction flag, while messages returned from the other end have a return flag (reply) on this flag.
[0122] Cycle ID: Indicates the measurement cycle number to which this preset measurement message belongs. The CycleID value increments by 1 each time a new measurement cycle begins.
[0123] Sequence Number: Indicates the transmission sequence number of the preset measurement message within its measurement period.
[0124] T1: Records the timestamp of the preset measurement message sent by the sending end.
[0125] T2: Records the timestamp of the preset measurement message received by the receiver.
[0126] T3: Records the timestamp of the receiver preparing and sending the response measurement message.
[0127] T4: Records the timestamp of the response measurement message received by the sending end.
[0128] Here, the sending end refers to the edge station that sends the preset measurement message, and the receiving end refers to the edge station that receives the preset measurement message.
[0129] The above fields ensure that the preset measurement messages can accurately convey the necessary information, thereby supporting effective monitoring and analysis of network quality.
[0130] By sending preset measurement messages at fixed time intervals within the measurement period, the average latency, packet loss rate, and average latency jitter within the measurement period are statistically analyzed. The specific calculation formulas are as follows: The delay of a preset measurement message : ; In the formula, T1 is the timestamp of the sender sending the preset measurement message, T2 is the timestamp of the receiver receiving the preset measurement message, T3 is the timestamp of the receiver preparing and sending the response measurement message, and T4 is the timestamp of the sender receiving the response measurement message.
[0131] Packet loss rate within a measurement period : ; In the formula, This indicates the preset number of measurement messages sent by the sending end within a measurement period. This indicates the number of response measurement messages received by the sending end within the same measurement period.
[0132] Average delay within a measurement period : ; In the formula, This indicates the number of response measurement messages received by the sending end within a measurement period; Average delay jitter within a measurement period : ; In the formula, For the first measurement within a measurement period i The delay of a preset measurement message, This indicates the number of response measurement messages received by the sending end within a measurement period.
[0133] In one optional embodiment, the measurement of network quality metrics between the network and other edge sites includes: The edge controller sends the full edge site table to the main core of the forwarding plane; The main core notifies the control core of the forwarding plane to create a measurement task; The control core constructs a preset measurement message based on the measurement task and injects it into the packet sending queue of the network card; The slave core of the forwarding plane sends the preset measurement messages of the packet sending queue to other edge stations; The forwarding plane receives response measurement messages from other edge sites from the core and calculates network quality metrics between itself and other edge sites.
[0134] It's worth noting that the edge site comprises an edge controller and a forwarding plane. The edge controller primarily handles message communication and transmission between the data center and the forwarding plane. Specifically, the edge controller reports network quality metrics obtained from the forwarding plane to the global controller in the data center, and simultaneously distributes the forwarding routing table generated by the global controller to the forwarding plane. The global controller and edge controller communicate using gRPC, while the edge controller and forwarding plane communicate using Socket communication. The forwarding plane utilizes DPDK (Data Plane Development Kit) multi-core technology, where the master core handles message communication and processing, while the slave cores handle packet transmission. Furthermore, one slave core is selected as the control core, dedicated to network quality measurement, thereby obtaining network quality metrics between the edge site and other edge sites.
[0135] For example, network quality measurement work such as Figure 8As shown in the diagram, firstly, the edge controller sends a full edge site table containing detailed information such as the identifiers and IP addresses of all edge sites to the master core of the forwarding plane. Then, the master core instructs the control core to create measurement tasks (for a forwarding plane of an edge site, the control core of the forwarding plane creates a measurement task for each peer edge site except itself. Assume the number of edge sites within the preset range is p, and the number of measurement tasks constructed for each edge site is p-1). The measurement task creates a periodic packet sending timer, constructs preset measurement packets, and injects them into the packet queue of the network interface card. The slave core is responsible for sending the preset measurement packets from the packet queue to the forwarding planes of other edge sites. The forwarding planes of other edge sites send response measurement packets back to the sending forwarding plane. In this way, the sending forwarding plane can calculate the network quality indicators using the timestamps and other information recorded in the preset measurement packets and response measurement packets. Finally, the forwarding plane reports the measured network quality indicators to the edge controller. The edge controller then further reports the network quality indicators to the global controller.
[0136] Furthermore, embodiments of this application provide a data transmission acceleration system, including: A data center for performing the data transmission acceleration method as described above for use in a data center; A client, used to execute the data transmission acceleration method as described above for the client; An edge site is used to perform the data transmission acceleration method as described above for use at an edge site.
[0137] Specifically, the working process of the data center can be referred to the data transmission acceleration method applied to the data center in the above embodiments, the working process of the client can be referred to the data transmission acceleration method applied to the client in the above embodiments, and the working process of the edge site can be referred to the data transmission acceleration method applied to the edge site in the above embodiments, which will not be repeated here.
[0138] Furthermore, such as Figure 9 This application provides a data transmission acceleration system, including a global controller deployed in a data center, an edge controller and a forwarding plane located at the edge site of a private backbone network, and an acceleration SDK (Software Development Kit) installed on the client.
[0139] The purpose of the user-side acceleration SDK is to enable the nearest access for packets. By adding a first segment routing header or a second segment routing header to the packet to be transmitted, it ensures that the packet to be transmitted can be efficiently transmitted to the forwarding plane of the edge station (i.e., the starting edge station) closest to the user.
[0140] The role of the forwarding plane is in network quality measurement and packet transmission: The network quality measurement function is used for measurements between edge sites, primarily obtaining network quality metrics such as average latency, average latency jitter, and packet loss rate. These metrics reflect the current network quality. The forwarding plane periodically reports these network quality metrics to the edge controller at regular intervals. The packet transmission function of the forwarding plane forwards received packets from the user's acceleration SDK to the source station via a set of candidate routes calculated on the private backbone network.
[0141] The message transmission function is divided into unicast mode and multi-transmission selective mode. Users can choose unicast or multi-transmission selective mode as needed based on the importance of their services. In unicast mode, the message is transmitted sequentially via one route from the set of routes to be selected. For example, the route with the best future network quality is selected first. If the route becomes unreachable, the next best route is used, and so on. When all routes in the set fail to transmit, an escape mechanism is triggered to transmit the message to the source station via the public network. Multi-transmission selective mode selects multiple routes from the set of routes to be selected and transmits the message redundantly, thereby improving transmission efficiency and reliability.
[0142] Furthermore, the unicast mode specifically refers to: A network acceleration SDK is deployed on user terminals (such as mobile phones and computers). This SDK extracts the source IP address of the packet to be transmitted to identify its geographic information, thereby determining the starting edge station (hereinafter referred to as the "boarding point"). Simultaneously, it obtains the destination IP address through DNS resolution of the destination domain name, and selects the destination edge station (hereinafter referred to as the "drop-off point"). Subsequently, the SDK queries the global controller database interface to obtain a set of candidate routes for the packet to be transmitted. It first selects the optimal route, encapsulates the first segment routing header into the packet to be transmitted, and obtains the first packet to be transmitted. The SDK then sends the first packet to the boarding point. The forwarding plane at the boarding point, based on the routing information in the first segment routing header, transmits the packet hop-by-hop to the drop-off point. Finally, at the drop-off point, the forwarding plane strips the first segment routing header, restores the packet to be transmitted, and delivers it to the source station.
[0143] The SDK performs the following modifications to the packet to be transmitted: The optimal route from the set of routes to be selected is entered into the SR[1] to SR[n] fields of the packet, and the segment number is set to the total number of hops, while the segment left is initialized to zero. Simultaneously, the IP address and port number of the source station are entered into the Server IP and Server Port fields. Subsequently, the destination IP address of the first packet to be transmitted is modified to the Elastic Public IP of the boarding point, the UDP destination port is updated to the acceleration service port, and finally the packet is sent to the boarding point.
[0144] The boarding point forwards the first packet to be transmitted and performs the following modifications: The boarding point obtains the offset address and the next-hop edge station identifier by obtaining the segment left field of the first segment routing packet header, that is, obtains the edge station identifier SR[2]. Then, by querying the full edge station table, it queries the IP address corresponding to this edge station identifier, which is recorded as dstIP. The destination address of the IP header is changed to dstIP, the segment left count is reduced by 1, and the modified first packet to be transmitted is sent to the next-hop edge node.
[0145] The drop-off point forwarder performs the following modifications on the first packet to be transmitted: Based on the source address information in the header of the first segment routing packet, it modifies the destination address in the IP header to the Server IP, the destination port in the UDP header to the Server Port, and removes the header of the first segment routing packet, restoring it to the packet to be transmitted. Finally, it forwards the packet to the source station.
[0146] In unicast mode, transmission is by default via the optimal route from the set of candidate routes. When encountering network outages, high packet loss, or other anomalies, the system activates alternative routes and an escape mechanism, i.e., it selects the next best route for transmission, and so on, until all other transmissions fail, at which point it switches to public network transmission. For example... Figure 10 As shown, the anomaly handling is specifically divided into boarding point anomaly handling, intermediate edge station anomaly handling, and abortion point anomaly handling.
[0147] Handling of anomalies in the forwarding plane at the boarding point: When the current route experiences a transmission anomaly, switch to a route with a network quality ranking one place lower than the current route (hereinafter referred to as the suboptimal route), and modify the first packet to be transmitted as follows: 1. Update the SR[1] to SR[n] header of the first segment routing packet to a suboptimal route.
[0148] 2. Reset the segment number to the total hop count of the suboptimal route.
[0149] If a transmission anomaly occurs on the suboptimal route, the system continues to switch to a route with a network quality ranking one place lower than the suboptimal route, and continues to modify the first packet to be transmitted, i.e., switching step by step to routes with a network quality ranking one place lower. For complexity considerations, the default set of routes to be selected contains a total of 4 routes. If all 4 routes experience transmission anomalies, an escape mechanism is triggered, and the first packet to be transmitted is forwarded to the drop-off point via the public network.
[0150] Intermediate edge station forwarding plane anomaly handling: When any edge station fails to forward, the escape mechanism is immediately triggered, and the first message to be transmitted is forwarded to the drop-off point via the public network.
[0151] Handling of anomalies at the drop-off point: Escape message processing will be carried out uniformly.
[0152] 1. Strip the first segment routing packet header from the first packet to be transmitted to form the original packet to be transmitted.
[0153] 2. Restore Destination Address: Change the destination address in the IP header of the message to be transmitted to the IP address of the source server.
[0154] 3. Restore destination port: Change the destination port number in the UDP header of the message to be transmitted to the service port of the destination source station.
[0155] 4. Forward the message to be transmitted to the destination source station.
[0156] The aforementioned alternative routing and escape mechanisms ensure that, in abnormal circumstances, the packets to be transmitted can eventually be forwarded to the source station, and guarantee high forwarding efficiency.
[0157] Furthermore, such as Figure 11 The multiple-send selective reception mode is as follows: SDK: Fill the optimal route in the set of routes to be selected into the SR[1] to SR[n] fields of the packet, and set the segment number to the total number of hops, the segment left to zero, the copy number to the number of packet copies, and the payload number to the packet redundancy flag. At the same time, fill the source IP address and port number into the Server IP and Server Port fields. Then, modify the destination IP address of the second packet to be transmitted to the Elastic Public IP of the boarding point, update the UDP destination port to the acceleration service port, and finally send the packet to the boarding point.
[0158] Forwarding plane at the boarding point: Copy N-1 copies of the second message to be transmitted, for a total of N copies of the second message to be transmitted. Select the remaining N-1 routes in the set of routes to be selected, and modify the SR[1] to SR[n] fields and segment number in the copied N-1 copies of the second message to be transmitted; one of the remaining routes, and a modified second message to be transmitted is obtained.
[0159] Disembarkation forwarding plane: Forwards the first arriving second message to be transmitted or the modified second message to be transmitted to the source station, and discards subsequent redundant messages.
[0160] Anomaly Handling: When any route transmission fails, an escape mechanism is triggered to forward the data to the drop-off point forwarding plane via the public network.
[0161] See Figure 12 , Figure 12 This is a structural block diagram of a data transmission acceleration device 10 provided in an embodiment of this application. The data transmission acceleration device 10 includes: The first acquisition module 11 is used to acquire network quality indicators among edge stations within a preset range; Construction module 12 is used to construct a network topology graph with the edge stations as vertices and the transmission relationships between the edge stations as edges; The second acquisition module 13 is used to determine the starting edge station and the destination edge station of the message to be transmitted in the network topology graph, and to obtain one or more shortest routes from the starting edge station to the destination edge station using the network quality index as the edge weight of the network topology graph, thereby forming a set of shortest routes. The prediction module is used to select the route with the best network quality at future times from the shortest route set using a pre-trained network quality prediction model. A set of routes, serving as the candidate routes for the message to be transmitted; wherein, The value is a positive integer. The network quality prediction model is trained based on the historical network quality indicators and corresponding labels of the sample routes. The labels are used to indicate whether the sample route is the optimal route at the sample prediction time.
[0162] Optionally, the step of determining the originating edge station and the destination edge station of the packet to be transmitted in the network topology graph, using the network quality index as the edge weight of the network topology graph, and obtaining one or more shortest routes from the originating edge station to the destination edge station to form a shortest route set includes: The starting edge station and the destination edge station are determined in the network topology diagram; Using different types of network quality metrics as edge weights in the network topology graph, one or more shortest routes from the starting edge station to the destination edge station are obtained under each type of network quality metric, forming the shortest route set; wherein, the network quality metric includes at least one of the following: average latency, packet loss rate, and average latency jitter.
[0163] Optionally, after the message to be transmitted is encapsulated with the first segmented routing message header, the starting edge station sequentially selects one route from the set of routes to be selected for transmission until the transmission to the destination edge station is successful and then stops selection, or if all transmissions to the destination edge station fail, the transmission is switched to the public network. The first segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; and source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted.
[0164] Optionally, the starting edge station sequentially selects one route from the set of routes to be selected for transmission until successful transmission to the destination edge station, at which point selection stops; or, if all transmissions to the destination edge station fail, transmission is switched to the public network, including: The starting edge station uses one of the routes in the set of routes to be selected as the current route to transmit the encapsulated message to be transmitted; During the transmission process from the starting edge station to the next edge station of the current route, if the transmission from the starting edge station to the next edge station fails, another route in the set of routes to be selected is selected as the current route for transmission until the transmission from the starting edge station to the next edge station is successful. If the transmission from the starting edge station to the next edge station is successful, the intermediate edge stations continue to transmit according to the current route until the transmission to the destination edge station is successful, at which point the selection stops. If the transmission fails during the transmission process of the intermediate edge stations in the current route, the transmission is switched to the public network. The intermediate edge stations are the edge stations in the current route excluding the starting edge station and the destination edge station. If all transmissions from the starting edge station to the next edge station fail, the transmission will be transferred to the public network.
[0165] Optionally, the message to be transmitted is encapsulated with the second segmented routing message header and then copied, and a copy of the encapsulated message to be transmitted is transmitted using multiple routes in the set of routes to be selected. The second segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted; number of packet copies, used to identify the number of copies of the packet; and packet redundancy identifier, used to identify identical packets.
[0166] Optionally, the step of using a pre-trained network quality prediction model to select the shortest routes with the optimal network quality at future times from the shortest route set. A set of routes, serving as the selection set for the message to be transmitted, including: The shortest route set is deduplicated and unreachable routes are removed to obtain the target shortest route set; The network quality metrics of the target shortest route set are input into the network quality prediction model to obtain the top-ranked network quality sets from high to low at future time points. A set of routes, serving as the set of routes to be selected for the message to be transmitted.
[0167] It should be noted that the data transmission acceleration device described above in this embodiment can implement any step in the data transmission acceleration method embodiment applied to the data center in this application and achieve the same beneficial effect, which will not be elaborated here.
[0168] See Figure 13 , Figure 13 This is a structural block diagram of a data transmission acceleration device 20 provided in an embodiment of this application. The data transmission acceleration device 20 includes: The determination module 21 is used to determine the originating edge station and the destination edge station of the message to be transmitted; The query module 22 is used to query the data center based on the originating edge station and the destination edge station to obtain a set of routes to be selected for the message to be transmitted; wherein the data center executes the data transmission acceleration method described above. The transmission module 23 is used to transmit the message to be transmitted using the set of routes to be selected.
[0169] Optionally, transmitting the message to be transmitted using the set of routes to be selected includes: Using the set of routes to be selected, construct the first segmented routing header; The message to be transmitted is encapsulated with the header of the first segmented routing message to obtain the first message to be transmitted; The first message to be transmitted is sent to the starting edge station so that the starting edge station can transmit the first message to be transmitted according to the first segmented routing message header; The first segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; and source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted.
[0170] Optionally, transmitting the message to be transmitted using the set of routes to be selected includes: Using the set of routes to be selected, construct the second segmented routing header; After encapsulating the message to be transmitted with the second segmented routing message header, the second message to be transmitted is obtained; The second message to be transmitted is sent to the starting edge station, so that the starting edge station copies the second message to be transmitted multiple times and uses multiple routes of the set of routes to be selected to transmit one copy of the second message to be transmitted. The second segmented routing header includes: remaining hop count, used to identify the remaining hop count of the current route; edge site identifier sequence, used to identify the identifier of each edge site of the current route; source IP address, used to indicate the IP address of the source site to be accessed by the packet to be transmitted; source port number, used to indicate the port number of the source site to be accessed by the packet to be transmitted; number of packet copies, used to identify the number of copies of the packet; and packet redundancy identifier, used to identify identical packets.
[0171] It should be noted that the data transmission acceleration device described above in this embodiment can implement any step in the data transmission acceleration method embodiment applied to the client in this application and achieve the same beneficial effect, which will not be elaborated here.
[0172] See Figure 14 , Figure 14 This is a structural block diagram of a data transmission acceleration device 30 provided in an embodiment of this application. The data transmission acceleration device 30 includes: Measurement module 31 is used to measure network quality metrics between other edge sites; The sending module 32 is used to send the network quality indicators to the data center; wherein the data center is used to execute the data transmission acceleration method described above.
[0173] Optionally, the device further includes: The starting edge station is used to receive the first message to be transmitted sent by the client, and sequentially select one route from the set of routes to be selected for transmission until the transmission to the destination edge station is successful and then the selection stops, or the transmission to the destination edge station fails and then the transmission is switched to the public network. The first message to be transmitted includes the message to be transmitted and a first segmented routing header. The first segmented routing header includes: the number of remaining hops of the route, used to identify the number of remaining hops of the current route; an edge site identifier sequence, used to identify the identifier of each edge site of the current route; a source IP address, used to indicate the IP address of the source site to be accessed by the message to be transmitted; and a source port number, used to indicate the port number of the source site to be accessed by the message to be transmitted.
[0174] Optionally, the device further includes: The starting edge station is used to receive and copy the second message to be transmitted sent by the client. The starting edge station is used to modify the copied second message to be transmitted according to the set of routes to be selected, and then use multiple routes in the set of routes to be selected to transmit one copy of the second message to be transmitted. The destination edge station receives the first arriving copy of the second message to be transmitted and discards duplicate copies of the second message to be transmitted according to the message redundancy flag. The destination edge station restores the received second message to be transmitted to obtain the message to be transmitted. The destination edge station modifies the destination address of the IP header of the packet to be transmitted to the source IP address and modifies the destination port of the UDP header of the packet to be transmitted to the source port number before sending it to the source station. The second message to be transmitted includes the message to be transmitted and a second segmented routing message header. The second segmented routing message header includes: remaining hop count, used to identify the remaining hop count of the current route; edge station identifier sequence, used to identify the identifier of each edge station of the current route; source IP address, used to indicate the IP address of the source station to be accessed by the message to be transmitted; source port number, used to indicate the port number of the source station to be accessed by the message to be transmitted; message copy count, used to identify the number of copies of the message; and message redundancy identifier, used to identify identical messages.
[0175] Optionally, the measurement of network quality metrics between the network and other edge sites includes: The edge controller sends the full edge site table to the main core of the forwarding plane; The main core notifies the control core of the forwarding plane to create a measurement task; The control core constructs a preset measurement message based on the measurement task and injects it into the packet sending queue of the network card; The slave core of the forwarding plane sends the preset measurement messages of the packet sending queue to other edge stations; The forwarding plane receives response measurement messages from other edge sites from the core and calculates network quality metrics between itself and other edge sites.
[0176] It should be noted that the data transmission acceleration device described above in this embodiment can implement any step in the data transmission acceleration method embodiment applied to edge sites in this application and achieve the same beneficial effect, which will not be elaborated here.
[0177] Furthermore, this application also provides a computer-readable storage medium, which includes a stored computer program; wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the data transmission acceleration method as described in any of the above embodiments.
[0178] Furthermore, this application also provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the data transmission acceleration method as described in any of the above embodiments.
[0179] See Figure 15 , Figure 15 This is a structural block diagram of a data transmission acceleration device 40 provided in an embodiment of this application. The data transmission acceleration device 40 includes: a processor 41, a memory 42, and a computer program stored in the memory 42 and executable on the processor 41. When the processor 41 executes the computer program, it implements the steps in the above-described data transmission acceleration method embodiments. Alternatively, when the processor 41 executes the computer program, it implements the functions of each module / unit in the above-described device embodiments.
[0180] For example, the computer program may be divided into one or more modules / units, which are stored in the memory 42 and executed by the processor 41 to complete this application. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the data transmission acceleration device 40.
[0181] The data transmission acceleration device 40 may include, but is not limited to, a processor 41 and a memory 42. Those skilled in the art will understand that the schematic diagram is merely an example of the data transmission acceleration device 40 and does not constitute a limitation on the data transmission acceleration device 40. It may include more or fewer components than illustrated, or combine certain components, or different components. For example, the data transmission acceleration device 40 may also include input / output devices, network access devices, buses, etc.
[0182] The processor 41 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor. The processor 41 is the control center of the data transmission acceleration device 40, connecting all parts of the data transmission acceleration device 40 via various interfaces and lines.
[0183] The processor 41 can be any one of a CPU (Central Processing Unit), GPU (Graphics Processing Unit), TPU (Tensor Processing Unit), NPU (Neural Network Processing Unit), DPU (Deep Learning Processing Unit), APU (Accelerated Processing Unit), and GPGPU (General-Purpose Computing on Graphics Processing Unit). The processor 41 is the control center of the data transmission acceleration device 40, connecting various parts of the electronic device via various interfaces and lines.
[0184] The memory 42 can be used to store the computer programs and / or modules. The processor 41 implements various functions of the data transmission acceleration device 40 by running or executing the computer programs and / or modules stored in the memory 42 and calling the data stored in the memory 42. The memory 42 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function, etc.; the data storage area may store related data, etc. In addition, the memory 42 may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital card (SD card), flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0185] If the modules / units integrated in the data transmission acceleration device 40 are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by the processor 41, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.
[0186] It should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, in the accompanying drawings of the device embodiments provided in this application, the connection relationships between modules indicate that they have communication connections, which can be specifically implemented as one or more communication buses or signal lines. Those skilled in the art can understand and implement this without any creative effort.
[0187] The above description is the preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications are also considered to be within the scope of protection of this application.
Claims
1. A method for accelerating data transmission, characterized in that, Applications in data centers, including: Obtain network quality metrics among edge sites within a preset range; A network topology graph is constructed using the edge stations as vertices and the transmission relationships between the edge stations as edges; In the network topology graph, the starting edge station and the destination edge station of the message to be transmitted are determined. The network quality index is used as the edge weight of the network topology graph to obtain one or more shortest routes from the starting edge station to the destination edge station, forming a set of shortest routes. Using a pre-trained network quality prediction model, the shortest routes with the best network quality at future times are selected from the set of shortest routes. A set of routes, serving as the candidate routes for the message to be transmitted; wherein, The value is a positive integer. The network quality prediction model is trained based on the historical network quality indicators and corresponding labels of the sample routes. The labels are used to indicate whether the sample route is the optimal route at the sample prediction time.
2. The data transmission acceleration method as described in claim 1, characterized in that, The process involves determining the originating and destination edge stations of the packet to be transmitted in the network topology graph, using the network quality index as the edge weights of the network topology graph, and obtaining one or more shortest routes from the originating edge station to the destination edge station to form a shortest route set, including: The starting edge station and the destination edge station are determined in the network topology diagram; Using different types of network quality metrics as edge weights in the network topology graph, one or more shortest routes from the starting edge station to the destination edge station are obtained under each type of network quality metric, forming the shortest route set; wherein, the network quality metric includes at least one of the following: average latency, packet loss rate, and average latency jitter.
3. The data transmission acceleration method as described in claim 1, characterized in that, After the message to be transmitted is encapsulated with the first segmented routing message header, the starting edge station sequentially selects one route from the set of routes to be selected for transmission until the transmission to the destination edge station is successful and then stops selection, or if all transmissions to the destination edge station fail, the transmission is switched to the public network. The first segmented routing header includes: Route remaining hops: This indicates the number of hops remaining for the current route. An edge site identifier sequence, used to identify each edge site in the current route; The source IP address is used to indicate the IP address of the source server that the message to be transmitted is to access; The source port number indicates the port number of the source server that the message to be transmitted will access.
4. The data transmission acceleration method as described in claim 3, characterized in that, The starting edge station sequentially selects one route from the set of routes to be selected for transmission, and stops selecting once the transmission to the destination edge station is successful, or stops transmitting over the public network after all transmissions to the destination edge station fail. The starting edge station uses one of the routes in the set of routes to be selected as the current route to transmit the encapsulated message to be transmitted; During the transmission process from the starting edge station to the next edge station of the current route, if the transmission from the starting edge station to the next edge station fails, another route in the set of routes to be selected is selected as the current route for transmission until the transmission from the starting edge station to the next edge station is successful. If the transmission from the starting edge station to the next edge station is successful, the intermediate edge stations continue to transmit according to the current route until the transmission to the destination edge station is successful, at which point the selection stops. If the transmission fails during the transmission process of the intermediate edge stations in the current route, the transmission is switched to the public network. The intermediate edge stations are the edge stations in the current route excluding the starting edge station and the destination edge station. If all transmissions from the starting edge station to the next edge station fail, the transmission will be transferred to the public network.
5. The data transmission acceleration method as described in claim 1, characterized in that, The message to be transmitted is encapsulated with the second segmented routing message header and then copied. Multiple routes in the set of routes to be selected are used to transmit one copy of the encapsulated message to be transmitted. The second segmented routing header includes: Route remaining hops: This indicates the number of hops remaining for the current route. An edge site identifier sequence, used to identify each edge site in the current route; The source IP address is used to indicate the IP address of the source server that the message to be transmitted is to access; The source port number indicates the port number of the source server that the message to be transmitted will access. Message copy count, used to identify the number of copies of the message; Message redundancy flag, used to identify identical messages.
6. The data transmission acceleration method as described in claim 1, characterized in that, The method utilizes a pre-trained network quality prediction model to select the route with the optimal network quality at future times from the shortest route set. A set of routes, serving as the selection set for the message to be transmitted, including: The shortest route set is deduplicated and unreachable routes are removed to obtain the target shortest route set; The network quality metrics of the target shortest route set are input into the network quality prediction model to obtain the top-ranked network quality sets from high to low at future time points. A set of routes, serving as the set of routes to be selected for the message to be transmitted.
7. A method for accelerating data transmission, characterized in that, Applied to the client side, including: Determine the originating and destination edge stations of the message to be transmitted; The originating edge station and the destination edge station are used to query the data center to obtain a set of routes to be selected for the message to be transmitted; wherein, the data center executes the data transmission acceleration method as described in claim 1; The message to be transmitted is transmitted using the set of routes to be selected.
8. The data transmission acceleration method as described in claim 7, characterized in that, The transmission of the message to be transmitted using the set of routes to be selected includes: Using the set of routes to be selected, construct the first segmented routing header; The message to be transmitted is encapsulated with the header of the first segmented routing message to obtain the first message to be transmitted; The first message to be transmitted is sent to the starting edge station so that the starting edge station can transmit the first message to be transmitted according to the first segmented routing message header; The first segmented routing header includes: Route remaining hops: This indicates the number of hops remaining for the current route. An edge site identifier sequence, used to identify each edge site in the current route; The source IP address is used to indicate the IP address of the source server that the message to be transmitted is to access; The source port number indicates the port number of the source server that the message to be transmitted will access.
9. The data transmission acceleration method as described in claim 7, characterized in that, The transmission of the message to be transmitted using the set of routes to be selected includes: Using the set of routes to be selected, construct the second segmented routing header; After encapsulating the message to be transmitted with the second segmented routing message header, the second message to be transmitted is obtained; The second message to be transmitted is sent to the starting edge station, so that the starting edge station copies the second message to be transmitted multiple times and uses multiple routes of the set of routes to be selected to transmit one copy of the second message to be transmitted. The second segmented routing header includes: Route remaining hops: This indicates the number of hops remaining for the current route. An edge site identifier sequence, used to identify each edge site in the current route; The source IP address is used to indicate the IP address of the source server that the message to be transmitted is to access; The source port number indicates the port number of the source server that the message to be transmitted will access. Message copy count, used to identify the number of copies of the message; Message redundancy flag, used to identify identical messages.
10. A method for accelerating data transmission, characterized in that, Applied to edge sites, including: Measure network quality metrics between the network and other edge sites; The network quality metrics are sent to the data center; wherein the data center is used to execute the data transmission acceleration method as described in claim 1.
11. The data transmission acceleration method as described in claim 10, characterized in that, The method further includes: The starting edge station receives the first message to be transmitted sent by the client, and sequentially selects one route from the set of routes to be selected for transmission until the transmission to the destination edge station is successful, then stops the selection, or if all transmissions to the destination edge station fail, then the transmission is switched to the public network. The destination edge station receives the first message to be transmitted, restores the first message to be transmitted, and obtains the message to be transmitted. The destination edge station modifies the destination address of the IP header of the packet to be transmitted to the source IP address and modifies the destination port of the UDP header of the packet to be transmitted to the source port number before sending it to the source station. The first message to be transmitted includes a message to be transmitted and a first segmented routing header; the first segmented routing header includes: Route remaining hops: This indicates the number of hops remaining for the current route. An edge site identifier sequence, used to identify each edge site in the current route; The source IP address is used to indicate the IP address of the source server that the message to be transmitted is to access; The source port number indicates the port number of the source server that the message to be transmitted will access.
12. The data transmission acceleration method as described in claim 10, characterized in that, The method further includes: The starting edge station receives and copies the second message to be transmitted sent by the client. After modifying the copied second packet to be transmitted according to the set of routes to be selected, the starting edge station uses multiple routes in the set of routes to be selected to transmit one copy of the second packet to be transmitted. The destination edge station receives the first arriving copy of the second message to be transmitted and discards duplicate copies of the second message to be transmitted according to the message redundancy flag. The destination edge station restores the received second message to be transmitted to obtain the message to be transmitted. The destination edge station modifies the destination address of the IP header of the packet to be transmitted to the source IP address and modifies the destination port of the UDP header of the packet to be transmitted to the source port number before sending it to the source station. The second message to be transmitted includes the message to be transmitted and a second segmented routing message header; the second segmented routing message header includes: Route remaining hops: This indicates the number of hops remaining for the current route. An edge site identifier sequence, used to identify each edge site in the current route; The source IP address is used to indicate the IP address of the source server that the message to be transmitted is to access; The source port number indicates the port number of the source server that the message to be transmitted will access. Message copy count, used to identify the number of copies of the message; Message redundancy flag, used to identify identical messages.
13. The data transmission acceleration method as described in claim 10, characterized in that, The network quality metrics measured between the network and other edge sites include: The edge controller sends the full edge site table to the main core of the forwarding plane; The main core notifies the control core of the forwarding plane to create a measurement task; The control core constructs a preset measurement message based on the measurement task and injects it into the packet sending queue of the network card; The slave core of the forwarding plane sends the preset measurement messages of the packet sending queue to other edge stations; The forwarding plane receives response measurement messages from other edge sites from the core and calculates network quality metrics between itself and other edge sites.
14. A data transmission acceleration device, characterized in that, include: The first acquisition module is used to acquire network quality indicators among edge stations within a preset range; The construction module is used to construct a network topology graph with the edge stations as vertices and the transmission relationships between the edge stations as edges; The second acquisition module is used to determine the starting edge station and the destination edge station of the message to be transmitted in the network topology graph, and to obtain one or more shortest routes from the starting edge station to the destination edge station using the network quality index as the edge weight of the network topology graph, forming a set of shortest routes. The prediction module is used to select the route with the best network quality at future times from the shortest route set using a pre-trained network quality prediction model. A set of routes, serving as the candidate routes for the message to be transmitted; wherein, The value is a positive integer. The network quality prediction model is trained based on the historical network quality indicators and corresponding labels of the sample routes. The labels are used to indicate whether the sample route is the optimal route at the sample prediction time.
15. A data transmission acceleration device, characterized in that, include: The determination module is used to determine the originating edge station and the destination edge station of the message to be transmitted; The query module is used to query the data center based on the originating edge station and the destination edge station to obtain a set of routes to be selected for the message to be transmitted; wherein the data center executes the data transmission acceleration method as described in claim 1; The transmission module is used to transmit the message to be transmitted using the set of routes to be selected.
16. A data transmission acceleration device, characterized in that, include: The measurement module is used to measure network quality metrics between the network and other edge sites. A sending module is used to send the network quality indicators to a data center; wherein the data center is used to execute the data transmission acceleration method as described in claim 1.
17. A data transmission acceleration system, characterized in that, include: A data center for performing the data transmission acceleration method as described in any one of claims 1 to 6; A client for executing the data transmission acceleration method as described in any one of claims 7 to 9; An edge site for performing the data transmission acceleration method as described in any one of claims 10 to 13.
18. A data transmission acceleration device, characterized in that, The system includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor, when executing the computer program, implements the data transmission acceleration method as described in any one of claims 1 to 13.
19. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored computer program; wherein, when the computer program is executed, it controls the device on which the computer-readable storage medium is located to perform the data transmission acceleration method as described in any one of claims 1 to 13.
20. A computer program product, characterized in that, It includes a computer program / instruction that, when executed by a processor, implements the data transmission acceleration method as described in any one of claims 1 to 13.