Link switching method and device, equipment, storage medium and product
By filtering the traffic in satellite communications and using variable window length sliding window switching, the ping-pong switching problem is solved, improving the efficiency and robustness of satellite communications and reducing computational overhead and the impact of frequent switching.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-13
- Publication Date
- 2026-03-27
AI Technical Summary
The existing satellite communication system suffers from the ping-pong handover problem, which leads to low communication efficiency. In particular, frequent switching of transmission strategies increases control signaling overhead and data buffering pressure when service traffic fluctuates, affecting system throughput efficiency.
By acquiring the current service traffic, filtering is performed to update the historical service traffic sequence, the current sliding window length is determined, and link switching is performed based on this result. Filtering is used to discard obviously abnormal data, and a sliding window switching scheme with a variable window length is used to reduce computational overhead and ping-pong switching probability.
It effectively reduces the probability of ping-pong handover, improves system performance and communication efficiency, reduces unnecessary handovers, and enhances system robustness and transmission bandwidth utilization.
Smart Images

Figure CN121750573A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to link switching methods, apparatus, devices, storage media and products. Background Technology
[0002] In current satellite communications, a common practice to improve service throughput is link coordination, which involves using multiple satellite links simultaneously to transmit service data from a single terminal or multiple terminals. Therefore, it's necessary to control the link transmission strategy, switching between different strategies based on the real-time transmission requirements of the service data. These available transmission strategies can be summarized as single-link transmission mode and multi-link coordinated transmission mode. Taking a two-link scenario as an example, in a coordinated transmission scenario with two satellite links, satellite 1 has a maximum transmission bandwidth of 10Mbps, and satellite 2 has a maximum transmission bandwidth of 40Mbps. When service terminal one and service terminal two transmit data to each other, the available transmission strategies are single-link satellite 1 transmission, single-link satellite 2 transmission, and two-link coordinated transmission. The system can select a specific transmission strategy based on the actual service traffic demand: when the service traffic is less than 10Mbps, satellite 1 link transmission is selected; when the service traffic is greater than or equal to 10Mbps but less than 40Mbps, satellite 2 link transmission is selected; and when the service traffic is greater than or equal to 40Mbps, two-link coordinated transmission is selected. This design, which selects the transmission link in real-time based on traffic, satisfies service transmission requirements while improving bandwidth utilization and avoiding waste.
[0003] However, in actual business data transmission, real-time traffic statistics fluctuate. These fluctuations can lead to a ping-pong handover problem when switching transmission strategies. Specifically, when transmission traffic fluctuates around a handover threshold, it causes frequent changes in the transmission strategy, resulting in frequent handover procedures. This increases control signaling overhead and data caching pressure during handover, severely impacting system throughput and potentially causing packet loss and a significant reduction in the system's actual transmittable bandwidth. Therefore, preventing the ping-pong handover problem and improving satellite communication efficiency has become a pressing technical issue. Summary of the Invention
[0004] The main objective of this application is to provide a link switching method, apparatus, device, storage medium, and product, which aims to solve the technical problem of low efficiency in existing satellite communications due to the ping-pong switching problem.
[0005] To achieve the above objectives, this application proposes a link switching method, the link switching method comprising: Obtain the current service traffic, filter the current service traffic to obtain the filtering result, and update the historical service traffic sequence according to the filtering result to obtain the current service traffic sequence; The current sliding window length is determined based on the current business traffic sequence. The link switching result is determined based on the current service traffic sequence and the current sliding window length, and the link switching is performed based on the link switching result.
[0006] Optionally, updating the historical service traffic sequence based on the filtering result to obtain the current service traffic sequence includes: Determine the average value of slices in the historical business traffic sequence; Determine the difference between the average value of the slice and the filtering result; The historical service traffic sequence is updated based on the difference and the filtering result to obtain the current service traffic sequence.
[0007] Optionally, updating the historical service traffic sequence based on the difference and the filtering result to obtain the current service traffic sequence includes: The mutation reference value is determined based on the average value of the slices and the preset filter tolerance weight; If the difference is less than the mutation reference value, the filtering result is added to the historical service traffic sequence to obtain the current service traffic sequence.
[0008] Optionally, after determining the mutation reference value based on the slice average and the preset filter tolerance weight, the method further includes: If the difference is greater than or equal to the mutation reference value, determine the target difference between the filtering result and the target data in the historical service traffic sequence, and determine whether the mutation list is empty; If the mutation list is empty, the filtering result is added to the mutation list to obtain an updated mutation list; If the length of the updated mutation list is greater than the preset data mutation length, the filtering result is added to the historical service traffic sequence to obtain the current service traffic sequence.
[0009] Optionally, determining the current sliding window length based on the current service traffic sequence includes: A cache list is determined based on the current service traffic sequence, and the average value of the cache list is calculated. The target link strategy is determined based on the average value of the cache list; The current sliding window length is determined based on the target link strategy and the current link strategy.
[0010] Optionally, the step of determining the link switching result based on the current service traffic sequence and the current sliding window length, and performing link switching based on the link switching result, includes: Determine whether the current sliding window length is less than the preset link switching window length; If the current sliding window length is less than the preset link switching window length, return to the step of determining the cache list based on the current service traffic sequence and calculating the average value of the cache list; If the current sliding window length is greater than or equal to the preset link switching window length, the target link strategy is determined based on the current service traffic sequence; Link switching is performed based on the target link strategy.
[0011] Furthermore, to achieve the above objectives, this application also proposes a link switching device, which includes: The acquisition module is used to acquire the current service traffic, filter the current service traffic to obtain the filtering result, and update the historical service traffic sequence according to the filtering result to obtain the current service traffic sequence. The determination module is used to determine the current sliding window length based on the current service traffic sequence; The link switching module is used to determine the link switching result based on the current service traffic sequence and the current sliding window length, and to perform link switching based on the link switching result.
[0012] In addition, to achieve the above objectives, this application also proposes a link switching device, the device comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the link switching method as described above.
[0013] In addition, to achieve the above objectives, this application also proposes a storage medium, which is a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, it implements the steps of the link switching method described above.
[0014] In addition, to achieve the above objectives, this application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the steps of the link switching method described above.
[0015] This application acquires current service traffic, filters the current service traffic to obtain a filtering result, and updates the historical service traffic sequence based on the filtering result to obtain the current service traffic sequence. It then determines the current sliding window length based on the current service traffic sequence; determines the link switching result based on the current service traffic sequence and the current sliding window length; and performs link switching based on the link switching result. Because this application is based on the actual fluctuations in service traffic, filters and discards obviously abnormal statistical data, and then determines a variable current sliding window length based on the current service traffic sequence, the above method of this application can reduce computational overhead and the probability of ping-pong switching, thereby improving the overall system performance. Attached Figure Description
[0016] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0017] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 This is a flowchart illustrating an embodiment of the link switching method of this application. Figure 2 This is a flowchart illustrating Embodiment 2 of the link switching method in this application; Figure 3 This is a complete flowchart illustrating Embodiment 2 of the link switching method of this application; Figure 4 This is a schematic diagram of the module structure of the link switching device according to an embodiment of this application; Figure 5 This is a schematic diagram of the device structure of the hardware operating environment involved in the link switching method in the embodiments of this application.
[0019] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation
[0020] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.
[0021] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.
[0022] It should be noted that the executing entity in this embodiment can be a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, or mobile phone, or an electronic device or link switching device capable of performing the above functions. The following description uses a link switching device as an example to illustrate this embodiment and the subsequent embodiments.
[0023] Based on this, embodiments of this application provide a link switching method, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the link switching method of this application in Embodiment 1.
[0024] In this embodiment, the link switching method includes the following steps: Step S10: Obtain the current service traffic, filter the current service traffic to obtain the filtering result, and update the historical service traffic sequence according to the filtering result to obtain the current service traffic sequence; It should be noted that the current service traffic can be the real-time collected service traffic in satellite communication, which can be the bandwidth size. The specific collection interval can be customized according to the actual scenario, such as collecting once every 2 seconds. Filtering the current service traffic can be a process of filtering and judging the current service traffic to remove the influence of a single outlier on subsequent strategy selection, retaining multiple values with consistent trends, i.e., removing outlier current service traffic values. The historical service traffic sequence can be a sequence constructed from historical service traffic. Updating the historical service traffic sequence based on the filtering result to obtain the current service traffic sequence can be achieved by adding the filtering result to the historical service traffic sequence.
[0025] Step S20: Determine the current sliding window length based on the current service traffic sequence; It should be noted that determining the current sliding window length based on the current service traffic sequence can be done by determining the target link connection strategy based on the current service traffic sequence. If the target link connection strategy is consistent with the current link connection strategy, the current sliding window length is the originally set window length. If the target link connection strategy is inconsistent with the current link connection strategy, the window length is gradually increased, and the switching process is temporarily suspended during the process to obtain the currently increased sliding window length, which is the current sliding window length.
[0026] Step S30: Determine the link switching result based on the current service traffic sequence and the current sliding window length, and perform link switching based on the link switching result.
[0027] It should be noted that determining the link switching result based on the current service traffic sequence and the current sliding window length may be that when it is determined according to the current service traffic sequence that link switching is required and the current sliding window length is greater than or equal to the preset link switching window length, the link switching result is that link switching is required, and the target link for switching is determined according to the current service traffic sequence, and then link switching is executed.
[0028] In this embodiment, the current service traffic is obtained, the current service traffic is filtered to obtain a filtering result, and the historical service traffic sequence is updated according to the filtering result to obtain the current service traffic sequence; the current sliding window length is determined based on the current service traffic sequence; the link switching result is determined according to the current service traffic sequence and the current sliding window length, and link switching is performed according to the link switching result. Since this embodiment discards obvious abnormal statistical data through filtering according to the fluctuation reality of the actual service traffic, and then determines the variable current sliding window length based on the current service traffic sequence, the above method of this embodiment can reduce the calculation overhead and the probability of ping-pong switching, and improve the performance of the overall system.
[0029] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar content as in the above-mentioned embodiment 1 can be referred to the above introduction and will not be repeated hereinafter. On this basis, please refer to Figure 2 , Figure 2 which is a schematic flow chart provided for the second embodiment of the link switching method of the present application. The step S10 further includes the following steps: [[ID=!1]] Step S101: Determine the slice average value of the historical service traffic sequence; It should be noted that in the initialization of this embodiment, a switching threshold T is set, the original window length for calculating the average value of the sliding window is L = L_min, the trust window length is set to L_trust, a filtering tolerance weight w (0 < w < 1) is set, a mutation data list L_warn and a filtered data list L_filter are set, and the mutation length of the same trend data is set to M. The slice average value of the historical service traffic sequence may be to take the latest number of data equal to the original window length from the historical service traffic sequence (that is, the filtered data list L_filter), and then calculate the average value to obtain the slice average value. If the original window length is 6, then calculating the slice average value is to take the latest 6 data from the historical service traffic sequence and calculate the average value to obtain the slice average value.
[0030] Step S102: Determine the difference between the slice average value and the filtering result; It should be noted that the filtering result is the result obtained after preliminary outlier removal from the current service traffic. If no outliers are removed, the current service traffic is considered normal; if the current service traffic is abnormal, it is removed, and the process returns to step S10 to obtain the current service traffic. The difference between the slice average and the filtering result can be determined by directly calculating the difference between the slice average and the filtering result.
[0031] Step S103: Update the historical service traffic sequence according to the difference and the filtering result to obtain the current service traffic sequence.
[0032] It should be noted that updating the historical service traffic sequence based on the difference and the filtering result can be done by considering the current service traffic normal when the difference is less than a preset threshold, adding the current service traffic to the historical service traffic sequence to obtain the current service traffic sequence.
[0033] Furthermore, in order to improve link switching efficiency, step S103 may include: determining a mutation reference value based on the slice average value and a preset filter tolerance weight; If the difference is less than the mutation reference value, the filtering result is added to the historical service traffic sequence to obtain the current service traffic sequence.
[0034] It should be noted that the preset filter tolerance weight can be the filter tolerance weight w set in the initialization above. The mutation reference value can be the slice average value multiplied by the filter tolerance weight w. If the difference is less than the mutation reference value, the filtering result can be added to the historical service traffic sequence to obtain the current service traffic sequence.
[0035] Furthermore, if the difference is greater than or equal to the mutation reference value, the target difference between the filtering result and the target data in the historical service traffic sequence is determined, and it is determined whether the mutation list is empty; If the mutation list is empty, the filtering result is added to the mutation list to obtain an updated mutation list; If the length of the updated mutation list is greater than the preset data mutation length, the filtering result is added to the historical service traffic sequence to obtain the current service traffic sequence.
[0036] It should be noted that the target data in the historical service traffic sequence can be the last data in the historical service traffic sequence, that is, the data most recently added to the historical service traffic sequence. The mutation list can be used to store a list of data determined to be mutated. The preset data mutation length can be the same trend data mutation length set during initialization, which is M.
[0037] Furthermore, to reduce computational overhead, when the filtered data does exhibit certain fluctuations, the window length for calculation will change based on multiple judgment results. Specifically, determining the current sliding window length based on the current business traffic sequence includes: A cache list is determined based on the current service traffic sequence, and the average value of the cache list is calculated. The target link strategy is determined based on the average value of the cache list; The current sliding window length is determined based on the target link strategy and the current link strategy.
[0038] It should be noted that determining the cache list based on the current service traffic sequence can involve traversing the current service traffic sequence. If the index of the traversed data is less than the original window length L-1, the traversed data is added to the cache list. If the index of the traversed data is equal to the original window length L-1, the average value of the data in the cache list is calculated. Determining the target link strategy based on the average value of the cache list can be done by determining the target link based on the average value of the cache list and the communication strategy. Determining the current sliding window length based on the target link strategy and the current link strategy can be done by setting the original window length L when the target link strategy and the current link strategy match (i.e., they are on the same communication link or have the same communication strategy). Otherwise, the sliding window length L+=1. The communication strategy can be a scenario of coordinated transmission between two satellite links. Satellite 1 has a maximum transmission bandwidth of 10Mbps, and Satellite 2 has a maximum transmission bandwidth of 40Mbps. When service terminal 1 and service terminal 2 transmit data to each other, the available transmission strategies are single-link satellite 1 transmission, single-link satellite 2 transmission, and two-link coordinated transmission. The system can select a transmission strategy according to the actual service traffic requirements. When the service traffic is less than 10Mbps, satellite 1 link transmission is selected. When the service traffic is greater than or equal to 10Mbps but less than 40Mbps, satellite 2 link transmission is selected. When the service traffic is greater than or equal to 40Mbps, two-link coordinated transmission is selected.
[0039] Furthermore, step S30 includes: determining whether the current sliding window length is less than the preset link switching window length; If the current sliding window length is less than the preset link switching window length, return to the step of determining the cache list based on the current service traffic sequence and calculating the average value of the cache list; If the current sliding window length is greater than or equal to the preset link switching window length, the target link strategy is determined based on the current service traffic sequence; Link switching is performed based on the target link strategy.
[0040] It should be noted that the preset link switching window length can be the original window length L plus the trust window length L_trust. Determining the target link policy according to the current service traffic sequence can be to determine the cache list according to the current service traffic sequence, calculate the average value of the cache list, determine the target link according to the average value and the communication policy, and switch to the target link.
[0041] The complete process in this embodiment can be referred to Figure 3 , Figure 3 is the schematic diagram of the complete process provided by the second embodiment of the link switching method of this application; 1. As Figure 3 shown, after the algorithm process starts, set the switching threshold to T, the original window length for calculating the average value by sliding window is L = L_min, the trust window length is set to L_trust, and set the filtering tolerance weight w (0 < w < 1); set the mutation data list L_warn, the filtered data list L_filter, and set the mutation length of the same trend data to M; 2. Real-time monitor the statistical value on which the policy selection decision depends, such as service traffic, output a statistical value every once in a while, and execute step 3 every time a statistical value is output; 3. Filter the current statistical value Vi (i = 0, 1, 2...). If the current statistical value is the first data, execute step 11. If it is not the first data, execute step 4; 4. Calculate the difference α between the current value and the (window length) slice average value of the filtered data list L_filter, and continue to execute step 5; 5. Compare the size of α with the product of the slice average value of the list L_filter and the filtering tolerance weight w; if abs(α) < w * average value, clear the mutation data list and execute step 11. If abs(α) >= w * average value, execute step 6; 6. Calculate the difference β between the current value and the last data of the filtered data list; judge whether the mutation list is empty. If it is an empty list, execute step 9. If it is not an empty list, execute step 7; 7. Calculate whether the current difference β and the difference β_pre calculated from the previous data according to step 6 are in the same direction, that is, whether their signs are the same. If they are the same, execute step 9. If they are different, execute step 8; 8. Clear the mutation data list L_warn and continue to execute step 9; 9. Store the current value into the mutation data list L_warn; continue to execute step 10; 10. Judge whether the length of the mutation data list L_warn is greater than the set mutation length M of the same trend data. If the length of L_warn is greater than M, execute step 11. If it is less than or equal to M, return to execute step 2; 11. Put the data into the filtered list L_filter, output the slice average value for step 4, and continue to execute step 12; 12. Take a statistical value Fi (i = 0, 1, 2...) from the filtered data list L_filter. If the list L_filter is an empty list, return to execute step 2. If it is not empty, for each statistical value Fi taken out, perform a sliding window average value calculation. Specifically: 1) If i < L - 1, put it into the cache list A and continue to execute step 12; 2) If i = L - 1, put it into the cache list A, calculate an average value Fa once, and continue to execute step 13; 3) If i > L - 1, A[n] = A[n + 1] (n = 0, 1, 2... L - 2), A[L - 1] = Fi, calculate an average value Fa once, and continue to execute step 13; (slide out) 13. If the interval where the calculated Fa is located matches the current policy, reset the window length for calculating the sliding window average value to the original window length L_min, and then continue to execute step 12. If it does not match, execute step 14; 14. Increase the sliding window length L for calculating the average value by 1. If the current window length L is less than the sum of the original window length and the confidence window length L_trust, return to execute step 12; otherwise, execute step 15; 15. Determine to start the switching process, and at the same time reset the window length for calculating the sliding window average value to the original window length L_min, and return to execute step 12.
[0042] In this embodiment, when dealing with sudden noise interference of the monitoring value (current service traffic), it can reduce the number of switches. When the monitoring value fluctuates up and down near the switching threshold, this embodiment can also significantly reduce the number of switches. When the monitoring value changes flatly, this embodiment has the same effect as the traditional sliding window switching algorithm, that is, this embodiment can reduce unnecessary ping-pong switching, improve the system robustness, and at the same time improve the efficiency of the system switching strategy.
[0043] In practical implementation, in multi-satellite collaborative communication scenarios (such as a collaborative transmission scenario with two satellite links, where the maximum transmission bandwidth of satellite 1 is 10Mbps and the maximum transmission bandwidth of satellite 2 is 40Mbps, then when service terminal 1 and service terminal 2 transmit data to each other, the available transmission strategies are single-link satellite 1 transmission, single-link satellite 2 transmission, and two-link collaborative transmission. The system can select a transmission strategy according to the actual service traffic demand. When the service traffic is less than 10Mbps, satellite 1 link transmission is selected; when the service traffic is greater than or equal to 10Mbps but less than 40Mbps, satellite 2 link transmission is selected; when the service traffic is greater than or equal to 40Mbps, two-link collaborative transmission is selected), a single terminal can obtain high transmission bandwidth gain by connecting to multiple satellite links simultaneously. In the process of selecting the optimal link transmission strategy, link strategy switching judgment is usually involved. Fluctuating service data transmission demand often leads to ping-pong switching, affecting system transmission efficiency. The specific implementation method of multi-link anti-ping-pong switching in the two-satellite link switching selection scenario in this embodiment is as follows: The system uses real-time traffic bandwidth as the basis for link strategy switching. The switching criteria for link selection are as follows: when the real-time traffic bandwidth is less than 10Mbps, satellite link one is selected for transmission; when it is greater than or equal to 10Mbps, satellite link two is selected for transmission. Set the link switching threshold to 10Mbps, and the traffic bandwidth is counted every 2 seconds. The original window length of the sliding window for calculating the average traffic bandwidth is L=6, the confidence window length is L_trust=3, the filter tolerance weight is w=0.5, and empty lists L_warn and L_filter are set. The length of the average slice of the filtered data list is 6, and the length of the same trend data change is M=1. Assume that the current link is selected as link one. Set the raw statistical data to be entered sequentially as [9, 9, 9, 9, 9, 9, 20, 8, 8, 9, 9, 9, 9, 10, 11, 13, 14, 12, 15, 15, 13, 16, 16, 14, 15, 13, 11, 10, 9, 8, 7, 8, 7, 9, 20, 20, 21, 19, 23, 23, 24, 9, 9, 8, 8, 9, 9, 20, 3, 24, 4, 9, 9, 9, 8, 9], in Mbps; When the algorithm module (link switching device) receives the first statistical data 9, it directly executes step 11, outputs the average value of 9 for step 4, then executes step 12-1, and returns to step 2 to continue receiving the second statistical data; When the algorithm module receives the second statistical data 9, during step 5, the difference between the current value and the slice average is 0, which is less than the product of the average and the filter tolerance weight, 4.5. Therefore, step 11 is executed, and then step 12 is executed. Since the data length is not enough to meet the set sliding window length, the algorithm returns to step 2 to continue receiving the third statistical data. When the algorithm module receives the 3rd, 4th, and 5th data points, the execution flow for each data point is the same as that for the 2nd data point. When the algorithm module receives the 6th data point, during step 5, the difference between the current value and the slice average is 0, which is less than the product of the average and the filter tolerance weight, 4.5. Therefore, step 11 is executed, followed by step 12. Since the data length has reached the sliding window length for calculating the average, the average value Fa=9 is calculated once, and step 13 is executed. Since the interval of the average value is consistent with the current state, the sliding window length is reset, and step 12 is executed again. Since the filtered data list L_filter is empty at this time, step 2 is returned to be executed, and the 7th statistical data point is received. When the algorithm module receives the 7th data, during step 5, the difference between the current value and the slice average is 11, which is greater than the product of the average and the filter tolerance weight, 4.5. Therefore, step 6 is executed. The difference β between the current value and the last data in the filtered data list is 11. Since the current mutation data list L_warn is empty, step 9 is executed. During step 10, since the length of the mutation data list is not greater than 1, the process returns to step 2 to receive the 8th statistical data. When the algorithm module receives the 8th data point, during step 5, the difference between the current value and the slice average is -1, and the absolute value is less than the product of the average and the filter tolerance weight, 4.5. The mutation data list is cleared, and step 11 is executed. Then step 12 is executed. Since the data length has reached the sliding window length for calculating the average, the average value Fa = 8.834 is calculated once, and step 13 is executed. Since the interval of the average value is consistent with the current state, the sliding window length is reset, and step 12 is executed. Since the filtered data list L_filter is empty at this time, step 2 is returned to be executed, and the 9th statistical data point is received. When the algorithm module receives data from the 9th to the 15th data, the processing flow is the same as when it receives data from the 8th data. When the algorithm module receives the 16th data point, the absolute value of the difference between the current value and the slice average is less than the product of the average and the filter tolerance weight. The mutation data list is cleared, and step 11 is executed. Then step 12 is executed. Since the data length has reached the sliding window length for calculating the average, the average value Fa=10.167 is calculated once, and step 13 is executed. Since the interval where the average value is located is inconsistent with the current state, step 14 is executed. The sliding window length for calculating the average value is increased by 1, that is, L=7, which is less than the sum of the original window length and the confidence window length, so step 12 is executed. Since the filtered data list L_filter is empty at this time, step 2 is returned to be executed, and the 17th statistical data point is received. When the algorithm module receives the 17th and 18th data points, the execution flow is the same as when it receives the 16th data point. When the algorithm module receives the 19th data point, the absolute value of the difference between the current value and the slice average is less than the product of the average and the filter tolerance weight. The mutation data list is cleared, and step 11 is executed. Then step 12 is executed. Since the data length has reached the sliding window length for calculating the average, the average value Fa = 11.333 is calculated once, and step 13 is executed. Since the interval of the average value is inconsistent with the current state, step 14 is executed. The sliding window length for calculating the average value is increased by 1, that is, L = 10, which is equal to the sum of the original window length and the confidence window length. Therefore, step 15 is executed, and the switching process is executed. The link selection strategy is switched to link two, and the sliding window length is reset to 6. Step 12 is executed. Since the filtered data list L_filter is empty at this time, step 2 is returned to be executed, and the 20th statistical data point is received. When the algorithm module receives the 20th to 30th data, the execution flow is the same as when the 8th data is received. After returning, it continues to receive the 31st data. When the algorithm module receives data from the 31st to the 33rd data, the execution flow is the same as when the 16th data is received. After returning, it continues to receive data from the 34th data. When the algorithm module receives the 34th data, the execution flow is the same as that of the 19th data. At this time, since the average value Fa=9.111 calculated by the sliding window, the link selection strategy is switched to link one, and after returning, it continues to receive the 35th data. When the algorithm module receives the 35th data, the execution flow is the same as when the 7th data is received. After returning, it continues to receive the 36th data. When the algorithm module receives the 36th data point, during step 5, the difference between the current value and the slice average is greater than the product of the average and the filter tolerance weight, so step 6 is executed. The difference β between the current value and the last data point in the filtered data list is 11. Since the current mutation data list L_warn is not empty, step 7 is executed. β and β_pre are in the same direction, so step 9 is executed. In step 10, since the length of the mutation data list is greater than 1, steps 11 and 12 are executed. At this point, two data points enter the filtered data list. The first data point is retrieved to calculate the sliding window. After averaging, proceed to step 13. Since the calculated Fa=9.833 matches the current strategy, return to step 12 to retrieve the second data. After calculating the sliding window average, proceed to step 13. Since the calculated Fa=11.833 does not match the current strategy, proceed to step 14. The sliding window length for calculating the average is increased by 1, i.e., L=7, which is less than the sum of the original window length and the confidence window length, so continue to proceed to step 12. Since the filtered data list L_filter is empty at this time, return to step 2 to continue receiving the 37th statistical data. When the algorithm module receives the 37th data, the execution flow is the same as when the 7th data is received. After returning, it continues to receive the 38th data. When the algorithm module receives the 38th data point, during step 5, the difference between the current value and the slice average is greater than the product of the average and the filter tolerance weight, so step 6 is executed. The difference β between the current value and the last data point in the filtered data list is -1. Since the current mutation data list L_warn is not empty, step 7 is executed. Since β and β_pre are in different directions, step 8 is executed to clear the mutation data list. Steps 9 and 10 are then executed. In step 10, since the length of the mutation data list is not greater than 1, the execution returns to step 2 to continue receiving the 39th statistical data point. When the algorithm module receives the 39th data, the execution flow is the same as when the 38th data is received. After returning, it continues to receive the 40th data. When the algorithm module receives the 40th data, the execution flow is the same as that of the 36th data. Since the average value of the sliding window is not matched with the current strategy after two consecutive calculations, the window length of the sliding window for calculating the average value is increased by 2, that is, L=9. After returning, it continues to receive the 41st data. When the algorithm module receives the 41st data, the execution flow is the same as that of the 19th data. At this time, since the average value Fa=15.667 calculated by the sliding window, the link selection strategy is switched to link two, and after returning, it continues to receive the 42nd data. When the algorithm module receives the 42nd data, the execution flow is the same as when the 7th data is received. After returning, it continues to receive the 43rd data. When the algorithm module receives the 43rd data point, during step 5, the difference between the current value and the slice average is greater than the product of the average and the filter tolerance weight, so step 6 is executed. The difference β between the current value and the last data point in the filtered data list is -13. Since the current mutation data list L_warn is not empty, step 7 is executed. β and β_pre are in the same direction, so step 9 is executed. In step 10, since the length of the mutation data list is greater than 1, steps 11 and 12 are executed. At this time, there are two data points in the filtered data list. After taking out the first data point and calculating the sliding window average, step 13 is executed. Since the calculated Fa=19.833 matches the current policy, step 12 is returned to be executed to take out the second data point. After calculating the sliding window average, step 13 is executed. Since the calculated Fa=18 matches the current policy, step 12 is executed. Since the filtered data list L_filter is empty at this time, step 2 is returned to be executed to continue receiving the 44th statistical data point. When the algorithm module receives the 44th data, the execution flow is the same as when the 7th data, and after returning, it continues to receive the 45th data; When the algorithm module receives the 45th data, the execution flow is the same as when the 43rd data is received. After returning, it continues to receive the 46th data. When the algorithm module receives the 46th data, the execution flow is the same as when the 6th data is received. After returning, it continues to receive the 47th data. When the algorithm module receives the 47th data, the execution flow is the same as when the 16th data is received. After returning, it continues to receive the 48th data. When the algorithm module receives the 48th data, the execution flow is the same as when the 7th data is received. After returning, it continues to receive the 49th data. When the algorithm module receives the 49th, 50th, and 51st data points, the execution flow is the same as when the 38th data point is received. After returning, it continues to receive the 52nd data point. When the algorithm module receives the 52nd and 53rd data, the execution flow is the same as when the 16th data is received. After returning, it continues to receive the 54th data. When the algorithm module receives the 54th data, the execution process is the same as that of the 19th data. At this time, since the average value Fa is calculated by sliding window to be 8.778, the link selection strategy is switched to link one, and after returning, it continues to receive the 55th data. When the algorithm module receives the 55th and 56th data points, the execution flow is the same as when the 6th data point is received, and the process ends.
[0044] By processing the data through the algorithm module, the algorithm proposed in this embodiment can effectively filter out the interference of large-scale data changes on the handover, avoiding ping-pong handover. For normal increases and decreases in bandwidth demand, or for a sudden increase in normal bandwidth demand, this embodiment can effectively switch to the corresponding available link according to the demand. At the same time, the use of variable window length improves the computational efficiency.
[0045] This embodiment smooths and filters the current statistical value (current business traffic) based on the average value of slices of real-time data (i.e., historical business traffic sequences). Individual isolated data exceeding the tolerance limit is considered abnormal and discarded. Furthermore, for sudden increases in business transmission traffic in real-world scenarios, the filtering scheme employed in this embodiment monitors the real-time trend of statistical data changes and selects whether to discard or retain the current data. This removes interference from individual abnormal data in the selection of the switching strategy while meeting the requirement of switching strategy selection due to traffic changes in actual transmission. Regarding the execution of the switching strategy, this embodiment proposes a variable-window sliding window slow switching scheme. When the filtered data is stable, the calculation window length is shorter, reducing computational overhead. When the filtered data exhibits fluctuations, the calculation window length changes based on multiple judgment results. The switching process is only executed when multiple consecutive judgment results indicate switching to the same transmission strategy, ensuring switching accuracy and reducing the probability of ping-pong switching to some extent. The specific execution steps are as follows: (1) For each statistical data (i.e., current business traffic) received, the current value (current business traffic) is first filtered and judged to remove the influence of a single outlier on the subsequent strategy selection and judgment, and retain multiple values with the same trend of change; (2) The window length of the sliding window to calculate the average value is variable. The way it changes is that when the current data changes slowly and the smoothness is high, the window length is kept to be the shortest and the calculation efficiency is the highest. When it is determined that a switch needs to be executed, the window length is gradually increased. During this period, the switch process is temporarily suspended until it is determined that a switch to the same strategy is needed multiple times in a row, and then the switch process is finally executed.
[0046] To address the issue of frequent switching caused by fluctuations in the statistical rate of transmitted service data, this embodiment designs a filtering process that tolerates data fluctuations within a certain range based on the actual fluctuations in service transmission traffic, discards obviously abnormal statistical data, and completes the first stage of data cleaning and filtering. In the second stage of the switching process, this embodiment adopts a sliding window switching scheme with a variable window length, which can reduce computational overhead and the probability of ping-pong switching, thereby improving the overall system performance.
[0047] It should be noted that the above examples are only for understanding this application and do not constitute a limitation on the link switching method of this application. Any simple modifications based on this technical concept are within the protection scope of this application.
[0048] This application also provides a link switching device, please refer to... Figure 4 The link switching device includes: The acquisition module 10 is used to acquire the current service traffic, filter the current service traffic to obtain the filtering result, and update the historical service traffic sequence according to the filtering result to obtain the current service traffic sequence. The determining module 20 is used to determine the current sliding window length based on the current service traffic sequence; The link switching module 30 is used to determine the link switching result based on the current service traffic sequence and the current sliding window length, and to perform link switching based on the link switching result.
[0049] This embodiment acquires the current service traffic, filters the current service traffic to obtain a filtering result, and updates the historical service traffic sequence based on the filtering result to obtain the current service traffic sequence. It then determines the current sliding window length based on the current service traffic sequence, determines the link switching result based on the current service traffic sequence and the current sliding window length, and performs link switching based on the link switching result. Since this embodiment is based on the actual fluctuations in service traffic, it filters and discards obviously abnormal statistical data, and then determines a variable current sliding window length based on the current service traffic sequence. This method reduces computational overhead and the probability of ping-pong switching, improving the overall system performance. The link switching device provided in this application, using the link switching method in the above embodiment, can solve the technical problem of low efficiency in existing satellite communications due to ping-pong switching. Compared with the prior art, the beneficial effects of the link switching device provided in this application are the same as those of the link switching method provided in the above embodiment, and other technical features in the link switching device are the same as those disclosed in the method of the above embodiment, and will not be repeated here.
[0050] This application provides a link switching device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, which are executed by the at least one processor to enable the at least one processor to perform the link switching method in Embodiment 1 above.
[0051] The following is for reference. Figure 5The diagram illustrates a structural schematic suitable for implementing the link switching device in the embodiments of this application. The link switching device in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Description), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 5 The link switching device shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0052] like Figure 5 As shown, the link switching device may include a processing unit 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1003 into a random access memory (RAM) 1004. The RAM 1004 also stores various programs and data required for the operation of the link switching device. The processing unit 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, a touchscreen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1003 including, for example, magnetic tape, hard disk, etc.; and communication devices 1009. Communication device 1009 allows the link switching device to communicate wirelessly or wiredly with other devices to exchange data. While the figure shows link switching devices with various systems, it should be understood that implementation or possession of all the systems shown is not required. More or fewer systems may be implemented alternatively.
[0053] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from ROM 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.
[0054] The link switching device provided in this application, employing the link switching method described in the above embodiments, can solve the technical problem of low satellite communication efficiency caused by the ping-pong switching problem in existing satellite communications. Compared with the prior art, the beneficial effects of the link switching device provided in this application are the same as those of the link switching method provided in the above embodiments, and other technical features of this link switching device are the same as those disclosed in the previous embodiment method, and will not be repeated here.
[0055] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.
[0056] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0057] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the link switching method in the above embodiments.
[0058] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0059] The aforementioned computer-readable storage medium may be included in the link switching device; or it may exist independently and not be assembled into the link switching device.
[0060] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof. These programming languages include object-oriented programming languages—such as Python, Java, Smalltalk, and C++—and conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0061] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0062] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.
[0063] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., a computer program) for executing the above-described link switching method. This solves the technical problem of low efficiency in existing satellite communications due to the ping-pong switching problem. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the link switching method provided in the above embodiments, and will not be repeated here.
[0064] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the link switching method described above.
[0065] The computer program product provided in this application can solve the technical problem of low satellite communication efficiency caused by the ping-pong handover issue in existing satellite communications. Compared with the prior art, the beneficial effects of the computer program product provided in this application are the same as those of the link handover method provided in the above embodiments, and will not be repeated here.
[0066] The above description is only a part of the embodiments of this application and does not limit the scope of protection of this application. All equivalent structural transformations made under the technical concept of this application and using the content of this application specification and drawings, or direct / indirect applications in other related technical fields, are included in the scope of protection of this application.
Claims
1. A link switching method, characterized in that, The link switching method includes the following steps: Obtain the current service traffic, filter the current service traffic to obtain the filtering result, and update the historical service traffic sequence according to the filtering result to obtain the current service traffic sequence; The current sliding window length is determined based on the current business traffic sequence. The link switching result is determined based on the current service traffic sequence and the current sliding window length, and the link switching is performed based on the link switching result.
2. The link switching method as described in claim 1, characterized in that, The step of updating the historical service traffic sequence based on the filtering result to obtain the current service traffic sequence includes: Determine the average value of slices in the historical business traffic sequence; Determine the difference between the average value of the slice and the filtering result; The historical service traffic sequence is updated based on the difference and the filtering result to obtain the current service traffic sequence.
3. The link switching method as described in claim 2, characterized in that, The step of updating the historical service traffic sequence based on the difference and the filtering result to obtain the current service traffic sequence includes: The mutation reference value is determined based on the average value of the slices and the preset filter tolerance weight; If the difference is less than the mutation reference value, the filtering result is added to the historical service traffic sequence to obtain the current service traffic sequence.
4. The link switching method as described in claim 3, characterized in that, After determining the mutation reference value based on the slice average and the preset filter tolerance weight, the method further includes: If the difference is greater than or equal to the mutation reference value, determine the target difference between the filtering result and the target data in the historical service traffic sequence, and determine whether the mutation list is empty; If the mutation list is empty, the filtering result is added to the mutation list to obtain an updated mutation list; If the length of the updated mutation list is greater than the preset data mutation length, the filtering result is added to the historical service traffic sequence to obtain the current service traffic sequence.
5. The link switching method according to any one of claims 1-4, characterized in that, Determining the current sliding window length based on the current service traffic sequence includes: A cache list is determined based on the current service traffic sequence, and the average value of the cache list is calculated. The target link strategy is determined based on the average value of the cache list; The current sliding window length is determined based on the target link strategy and the current link strategy.
6. The link switching method as described in claim 5, characterized in that, The step of determining the link switching result based on the current service traffic sequence and the current sliding window length, and performing link switching based on the link switching result, includes: Determine whether the current sliding window length is less than the preset link switching window length; If the current sliding window length is less than the preset link switching window length, return to the step of determining the cache list based on the current service traffic sequence and calculating the average value of the cache list; If the current sliding window length is greater than or equal to the preset link switching window length, the target link strategy is determined based on the current service traffic sequence; Link switching is performed based on the target link strategy.
7. A link switching device, characterized in that, The link switching device includes: The acquisition module is used to acquire the current service traffic, filter the current service traffic to obtain the filtering result, and update the historical service traffic sequence according to the filtering result to obtain the current service traffic sequence. The determination module is used to determine the current sliding window length based on the current service traffic sequence; The link switching module is used to determine the link switching result based on the current service traffic sequence and the current sliding window length, and to perform link switching based on the link switching result.
8. A link switching device, characterized in that, The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the link switching method as described in any one of claims 1 to 6.
9. A storage medium, characterized in that, The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, it implements the steps of the link switching method as described in any one of claims 1 to 6.
10. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the steps of the link switching method as described in any one of claims 1 to 6.