A cache convergence control method and device for high-speed satellites and a storage medium

By constructing link state prediction vectors and using multi-queue structure for dynamic scheduling, the adaptability problem of cache control in high-speed satellite links is solved, and stable management and efficient utilization of cache resources are achieved.

CN121907323BActive Publication Date: 2026-05-29SHENZHEN XINGLIAN TIANTONG TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN XINGLIAN TIANTONG TECH CO LTD
Filing Date
2026-03-23
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

In high-speed satellite link environments, existing buffer control methods are difficult to adapt to dynamic changes in link status, leading to problems such as data accumulation or low processing efficiency.

Method used

By collecting link status parameters to construct a historical status window, generating a link status prediction vector, dividing the structure into multiple queues, and determining capacity quotas and scheduling weights based on the prediction vectors and service priorities, high and low water level thresholds and token slot mapping are set to achieve dynamic adjustment of cache resources.

Benefits of technology

Maintaining the stability of the cache state when the link state changes avoids data accumulation or resource idleness, ensuring the continuity and efficiency of data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121907323B_ABST
    Figure CN121907323B_ABST
Patent Text Reader

Abstract

The application discloses a cache convergence control method and device for high-speed satellites and a storage medium. The method comprises the following steps: a link history state window is constructed, and a link state prediction vector is generated based on the link history state window; the capacity quota and the scheduling weight of each queue are determined according to the link state prediction vector and the preconfigured service priority; the high and low water level thresholds of each queue are set based on the capacity quota, and the mapping relationship between the token slot and the available bandwidth is established according to the scheduling weight distribution of each queue; the token slot and the enqueuing or dequeuing strategy of each queue are adjusted according to the current cache occupation of each queue, the link state prediction vector and the mapping relationship, and when the collected inter-satellite switching probability exceeds the preset threshold, the enqueuing or dequeuing operation of at least part of the queues is frozen, and the capacity quota of the switching pre-occupying queue is expanded.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of satellite communication technology, and in particular to a buffer convergence control method, device and storage medium for high-speed satellites. Background Technology

[0002] As satellite communication systems develop towards higher speeds and wider bandwidths, inter-satellite links and satellite-to-ground links are gradually carrying a large amount of data services. Due to the influence of satellite orbits and the communication environment, high-speed satellite links typically have characteristics such as long propagation distances, frequent changes in link parameters, and unavoidable switching processes during transmission, resulting in fluctuations in link latency, available bandwidth, and bit error rate at different times.

[0003] In satellite communication networks, buffers are used to temporarily store data to be transmitted or processed, and are a crucial resource for ensuring service continuity. Current technologies typically employ pre-configured queue structures and fixed capacity limits to control the storage and scheduling of data entering the buffer. For example, data entry and transmission can be controlled by setting queue capacity limits or by simply differentiating data based on service categories.

[0004] However, in high-speed satellite link scenarios, due to the dynamic nature of link status, if the cache control method remains unchanged for a long period, it is prone to insufficient adaptability when link conditions change. On the one hand, when the link carrying capacity decreases or a switch occurs, data in the cache may accumulate in a concentrated manner; on the other hand, when link conditions improve, data processing efficiency may be affected due to mismatch in cache scheduling methods.

[0005] Therefore, in high-speed satellite link environments, how to manage the cache reasonably and keep it relatively stable when the link state changes remains a problem that needs further research in existing technologies. Summary of the Invention

[0006] To address the aforementioned technical problems, this application provides a buffer convergence control method, apparatus, and storage medium for high-speed satellites.

[0007] The technical solution provided in this application is described below:

[0008] The first aspect of this application provides a buffer convergence control method for high-speed satellites, the method comprising:

[0009] Collect propagation delay, delay jitter, available bandwidth, bit error rate, and inter-satellite handover probability of high-speed satellite links, and construct a historical status window of the links;

[0010] A link status prediction vector is generated based on the link history status window. The link status prediction vector is used to characterize the status change trend of the high-speed satellite link in the next control cycle.

[0011] In the cache queue structure, the cache space is divided into a multi-queue structure including real-time service queue, batch service queue, retransmission queue and switching pre-occupancy queue, and the capacity quota and scheduling weight of each queue are determined based on the link state prediction vector and the pre-configured service priority.

[0012] Based on the capacity quota, high and low water level thresholds are set for each queue to limit the data entry, freezing, and discarding behavior of the corresponding queue.

[0013] Token slots are allocated according to the scheduling weight of each queue, and a mapping relationship is established between the token slots and the current available bandwidth.

[0014] The allocation of token slots is adjusted based on the current cache occupancy of each queue and the link state prediction vector;

[0015] When the inter-satellite handover probability exceeds a preset threshold, at least some of the queue's enqueue or dequeue operations are frozen according to the mapping relationship, and the capacity quota of the handover pre-occupied queue is expanded.

[0016] Optionally, the step of allocating token slots according to the scheduling weight of each queue and establishing a mapping relationship between the token slots and the current available bandwidth includes:

[0017] The initial number of tokens that can be allocated to each queue within a unit scheduling cycle is calculated based on the scheduling weight of each queue.

[0018] The initial token quantity is adjusted based on the current cache usage and remaining capacity of each queue.

[0019] Map the adjusted token slots of each queue to the current available bandwidth, and calculate the maximum amount of data that each queue is allowed to send within a unit scheduling cycle, so that the total amount of data sent does not exceed the current available bandwidth.

[0020] Update the token slots of each queue based on the mapping results, and send tokens by consuming tokens according to the token slots when dequeuing a queue.

[0021] Optionally, adjusting the token slots and enqueue / dequeue strategies of each queue based on the current cache occupancy of each queue, the link state prediction vector, and the mapping relationship includes:

[0022] Calculate the cache usage deviation value for each queue, which is used to characterize the degree of difference between the current cache usage and the corresponding capacity quota;

[0023] Based on the link state prediction vector, the trend of available bandwidth change in the next control cycle is analyzed.

[0024] Based on the cache occupancy deviation value and the trend of available bandwidth change, the token adjustment factor of each queue is determined. The token adjustment factor is used to characterize the degree of amplification or suppression of the dequeue rate of each queue.

[0025] The initial number of tokens for each queue is adjusted according to the token adjustment factor;

[0026] The updated token slots are applied to the queue dequeue scheduling process, causing the current cache usage to converge to the corresponding capacity quota range within a continuous scheduling cycle.

[0027] Optionally, when the collected inter-satellite handover probability exceeds a preset threshold, freezing at least a portion of the queue's enqueue or dequeue operations and expanding the capacity quota of the handover pre-occupied queue includes:

[0028] Obtain the inter-satellite handover probability in the link state prediction vector and determine whether it exceeds a preset handover trigger threshold;

[0029] When the switching trigger threshold is exceeded, the mapping relationship is parsed and the data rate range is determined;

[0030] Based on the data rate range and the service priority, determine the target queue set that needs to be frozen.

[0031] Perform enqueue freezing, dequeue suppression, or a combination of both on at least a portion of the target queue set;

[0032] Once the handover is complete or the inter-satellite handover probability drops below the pre-configured release threshold, the freeze control is lifted and the capacity quotas for each queue are updated.

[0033] Optionally, setting high and low water level thresholds for each queue based on the capacity quota includes:

[0034] Get the capacity quota, current cache usage, and business priority of each queue;

[0035] For each queue, a basic high water level threshold and a basic low water level threshold are calculated according to the capacity quota. The high water level threshold is less than or equal to the capacity quota, and the low water level threshold is less than the high water level threshold.

[0036] The basic high water level threshold and basic low water level threshold are adjusted according to the business priority of each queue and the pre-configured queuing delay constraints.

[0037] When data enters the cache, compare the current cache occupancy of the corresponding queue with the corrected base high-water mark threshold and the base low-water mark threshold:

[0038] Data enqueueing is allowed if the current cache usage is below the corrected base low watermark threshold.

[0039] If the current cache usage is between the modified base low watermark threshold and the base high watermark threshold, enqueue restrictions are applied to low-priority data.

[0040] If the current cache usage reaches the basic high-water mark threshold, freeze new data from entering.

[0041] Optionally, the step of generating a link state prediction vector based on the link historical state window, wherein the link state prediction vector is used to characterize the state change trend of the high-speed satellite link in the next control cycle, includes:

[0042] In the link history status window, the propagation delay, delay jitter, available bandwidth, bit error rate and inter-satellite handover probability are sampled in a time series to obtain time series parameters.

[0043] Sliding statistics are performed on the time series parameters according to a preset time span to extract sequence features;

[0044] Based on the sequence characteristics, a link state change model is constructed, and the switching risk trend, available bandwidth change trend, and latency change trend in the next control cycle are inferred using the link state change model to obtain the inference results.

[0045] A link state prediction vector is generated based on the inference results. The link state prediction vector includes at least a bandwidth prediction component, a latency prediction component, and a handover probability prediction component.

[0046] Optionally, determining the capacity quota and scheduling weight of each queue based on the link state prediction vector and the pre-configured service priority includes:

[0047] Analyze the available bandwidth prediction component, latency prediction component, and handover risk prediction component in the link state prediction vector;

[0048] Obtain the business priority, pre-configured cache requirement constraints, and queuing latency constraints corresponding to each queue;

[0049] Based on the bandwidth prediction component, calculate the effective transmission capacity available for buffer scheduling within a unit control cycle;

[0050] Based on the effective transmission capacity and the buffering requirements of each queue, the basic capacity quota for each queue is determined.

[0051] Based on the aforementioned delay prediction component and handover probability prediction component, the basic capacity quota is corrected.

[0052] Based on the aforementioned service priorities and the revised basic capacity quota, the scheduling weights for each queue are generated.

[0053] Optionally, adjusting the token slots and enqueue / dequeue strategies for each queue includes:

[0054] The polling order of the queues is determined according to the scheduling weight of each queue;

[0055] When polling any queue, determine whether the queue has available token slots;

[0056] When the queue has available token slots, select data from the queue to perform dequeueing and send, and reduce the corresponding number of token slots;

[0057] If the queue does not have an available token slot, skip the queue and continue polling the next queue.

[0058] Optionally, after expanding the capacity quota of the switching pre-emptive queue, the method further includes:

[0059] Release some cache space from the capacity quota of the batch business queue or low-priority business queue;

[0060] The freed cache space is allocated to the switching preemption queue.

[0061] A second aspect of this application provides a buffer convergence control device for high-speed satellites, comprising:

[0062] A window construction unit is used to construct a link history state window and generate a link state prediction vector based on the link history state window. The link state prediction vector is used to characterize the state change trend of the high-speed satellite link in the next control cycle.

[0063] The queue processing unit is used to divide the cache space into a multi-queue structure including a real-time service queue, a batch service queue, a retransmission queue, and a switching pre-occupancy queue in the cache queue structure, and to determine the capacity quota and scheduling weight of each queue based on the link state prediction vector and the pre-configured service priority.

[0064] The mapping construction unit is used to set high and low water level thresholds for each queue based on the capacity quota, allocate token slots according to the scheduling weight of each queue, and establish a mapping relationship between the token slots and the current available bandwidth.

[0065] The queue control unit is used to adjust the token slots and enqueue or dequeue strategies of each queue according to the current cache occupancy of each queue, the link state prediction vector, and the mapping relationship. When the collected inter-satellite handover probability exceeds a preset threshold, it freezes the enqueue or dequeue operations of at least some queues and expands the capacity quota of the handover pre-occupied queue.

[0066] A third aspect of this application provides a buffer convergence control device for high-speed satellites, the device comprising:

[0067] Processor, memory, input / output units, and bus;

[0068] The processor is connected to the memory, the input / output unit, and the bus;

[0069] The memory stores a program, which the processor invokes to execute the first aspect and any one of the optional methods in the first aspect.

[0070] A fourth aspect of this application provides a computer-readable storage medium on which a program is stored, which, when executed on a computer, performs the methods of the first aspect and any one of the first aspects.

[0071] As can be seen from the above technical solutions, this application has the following beneficial effects:

[0072] 1. The method provided in this application integrates link state awareness, cache resource configuration, queue scheduling control, and switching scenario processing into the same control framework, thereby achieving continuous and stable adjustment of cache state under the dynamic changing environment of high-speed satellite links.

[0073] 2. This application takes the link state change trend as the unified driver, and coordinates the combination of cache space division, multi-queue capacity quota, scheduling weight, water level threshold constraint, token slot and bandwidth mapping, and cache reconstruction mechanism under switching scenarios, so that cache control is transformed from a discrete management method to a holistic convergence control process oriented towards link carrying capacity.

[0074] 3. This application ensures that the queuing, dequeuing, and capacity allocation behaviors of the cache are consistent with the carrying capacity of the link. When the link status changes, the cache occupancy of each queue no longer fluctuates randomly, but gradually tends to a stable range through the coordinated adjustment of capacity configuration, water level limit, and scheduling rhythm, thereby avoiding the repeated occurrence of sudden accumulation or resource idleness in different control stages.

[0075] 4. In scenarios such as inter-satellite handover that are prone to sudden changes in link capabilities, this application considers the handover risk and cache control process in a unified manner, so that cache resources can be continuously reconstructed and smoothly transitioned before and after the handover, reducing the disturbance of the handover process to the overall cache state. Attached Figure Description

[0076] To more clearly illustrate the technical solutions in this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0077] Figure 1 This is a schematic flowchart of an embodiment of the cache convergence control method for high-speed satellites provided in this application;

[0078] Figure 2 This is a schematic flowchart of an embodiment of step S103 in the cache convergence control method for high-speed satellites provided in this application;

[0079] Figure 3 This is a schematic flowchart of an embodiment of the cache convergence control method for high-speed satellites provided in this application, which involves adjusting the token slot.

[0080] Figure 4 This is a schematic flowchart of an embodiment of step S104 in the cache convergence control method for high-speed satellites provided in this application;

[0081] Figure 5 This is a schematic diagram of an embodiment of the buffer convergence control device for high-speed satellites provided in this application;

[0082] Figure 6 This is a schematic diagram of an embodiment of another buffer convergence control device for high-speed satellites provided in this application. Detailed Implementation

[0083] In embodiments of this application, the cache convergence control method for high-speed satellites can be executed by a communication device or network node with data processing and cache management capabilities. This executing entity can be deployed in a satellite payload, inter-satellite link node, satellite-to-ground gateway device, ground communication equipment, network switching equipment, or a combination thereof.

[0084] The execution entity can be implemented in hardware, software, or a combination of both. Correspondingly, it may include functional modules such as processors, memory, and communication interfaces, which are used to complete operations such as link status information collection, buffer queue management, and scheduling control.

[0085] It should be understood that this application does not limit the method to be performed by a single device, but can also be performed collaboratively by multiple functional nodes. For example, some steps can be performed by the onboard node, and some steps can be performed by the ground gateway or network control node, as long as the cache convergence control logic described in this application can be implemented.

[0086] Furthermore, the implementation of the method described in this application is not limited to any specific hardware structure or software architecture. It can be integrated into existing communication equipment or deployed as an independent control module in a communication system.

[0087] The buffer convergence control method for high-speed satellites described in this invention is applicable to satellite communication system environments with high-speed data transmission requirements, and is especially suitable for communication scenarios with inter-satellite links or satellite-to-ground links, and where the link status changes over time.

[0088] In low-Earth orbit satellite constellations, high-throughput satellite systems, or multi-satellite network communication systems, satellite nodes or satellites and ground nodes typically need to carry a large amount of data services, such as broadband access services, remote sensing data backhaul services, voice and video services, and control signaling services. In these scenarios, due to changes in satellite orbits and the influence of the communication environment, the available bandwidth, latency, and link stability of the links exhibit dynamic changes over different time periods, and there may also be inter-satellite or satellite-to-ground link switching processes.

[0089] The method of this invention can be deployed in satellite communication nodes, inter-satellite relay nodes, ground gateway equipment, or network control nodes to perform cache management and scheduling control of data to be transmitted or processed. When a satellite node needs to send data to other nodes via a high-speed link, the method of this invention can be used to uniformly control different service data in the cache, ensuring that the cache behavior remains consistent with changes in link carrying capacity.

[0090] For example, in a low-Earth orbit satellite constellation scenario, the link status changes when a satellite establishes or releases inter-satellite links with neighboring satellites at different orbital positions. The method of this invention can adjust the cached resources to adapt to the changes in link conditions. In a scenario where a satellite establishes a communication window with a ground station, the method of this invention can also be used to manage and schedule the data in the cache when the communication window is opened or closed.

[0091] It should be noted that the above scenarios are merely illustrative examples, and the method of the present invention is also applicable to other data transmission scenarios with high-speed satellite links, and is not limited to specific constellation types, communication systems, or service models.

[0092] To facilitate understanding of the technical solutions of this application by those skilled in the art, the following explanations are provided for some of the terms used in the specification:

[0093] High-speed satellite link: refers to a communication link used for data transmission between satellites or between a satellite and a ground node. It has a high data transmission rate, and the link status parameters (such as latency, bandwidth, etc.) change dynamically with the satellite's position or the communication environment.

[0094] Link history status window: refers to the time series data set formed by continuously or periodically collecting relevant status parameters of high-speed satellite links within a preset time range, which is used to reflect the changes in link status over a period of time.

[0095] Link state prediction vector: refers to a data structure generated based on the historical link state window, used to characterize the trend of high-speed satellite link state changes in the next control cycle. It can contain prediction information on parameters such as available bandwidth, latency, or handover risk.

[0096] Cache: refers to storage resources used to temporarily store data to be sent, processed, or forwarded, in order to balance the difference between the data arrival rate and the link transmission rate.

[0097] Multi-queue structure: refers to a structure of multiple logical queues in the cache space, which are divided according to business type or processing requirements. Different queues are used to store different types of data.

[0098] Real-time service queue: refers to a queue used to cache latency-sensitive data services, such as voice, video, or control signaling data.

[0099] Batch service queue: refers to a queue used to cache data services with relatively relaxed latency requirements, such as file transfer or data return services.

[0100] Retransmission queue: refers to a queue used to buffer data that needs to be retransmitted due to transmission failure.

[0101] Handover pre-occupied queue: refers to a cache queue reserved or expanded in inter-satellite or satellite-to-ground link handover scenarios, used to store data that needs to be prioritized during the handover.

[0102] Capacity quota: refers to the proportion of cache space or the upper limit of capacity allocated to each queue, which is used to limit the range of cache resources that the corresponding queue can occupy.

[0103] Scheduling weight: refers to the parameter used to characterize the proportion of sending opportunities or resources obtained by each queue during the scheduling process, and is used to control the scheduling priority of different queues.

[0104] High watermark threshold / Low watermark threshold: These refer to the buffer occupancy boundary parameters set for the queue. The low watermark threshold represents the lower bound of normal queue operation, while the high watermark threshold represents the upper bound of queue occupancy. Different control behaviors are triggered when the buffer occupancy exceeds the corresponding threshold.

[0105] Token slot: refers to the amount of data that can be sent to each queue within a unit scheduling period, used to limit the amount of data that each queue is allowed to dequeue within the scheduling period.

[0106] The mapping relationship between token slots and available bandwidth refers to the relationship between the token slots of each queue and the available bandwidth of the link, which is used to keep the data transmission volume of each queue matched with the link carrying capacity.

[0107] Cache usage: refers to the amount of data already stored in each queue at a certain moment, used to reflect the actual usage status of cache resources.

[0108] Inter-satellite handover probability: refers to the probability measure of inter-satellite link handover occurring in the next control cycle, used to characterize the risk level of changes in link topology or connection relationship.

[0109] Cache convergence control: refers to the control process that gradually brings the cache occupancy state to a stable range under changing link conditions by controlling the cache's enqueue, dequeue, and capacity allocation behavior.

[0110] The embodiments in this application are described below:

[0111] Please see Figure 1 This application first provides an embodiment of a buffer convergence control method for high-speed satellites, which includes:

[0112] S101. Construct a link history state window and generate a link state prediction vector based on the link history state window. The link state prediction vector is used to characterize the state change trend of the high-speed satellite link in the next control cycle.

[0113] The process involves collecting propagation delay, jitter, available bandwidth, bit error rate, and inter-satellite handover probability data for high-speed satellite links, and constructing a historical link status window. In this step, communication nodes can obtain the current operational status parameters of the high-speed satellite link through the link monitoring module or network status acquisition module. For example, propagation delay can be obtained through link probe messages or feedback information in statistical communication protocols; jitter can be calculated by analyzing changes between multiple consecutive measurements; available bandwidth can be estimated by statistically analyzing the actual amount of data that can be transmitted per unit time; bit error rate can be obtained through error statistics at the physical layer or link layer; and the probability of inter-satellite link handover can be estimated through satellite orbit information, link topology information, or predictive information provided by the network control system.

[0114] To reflect changes in link status over a period of time, this embodiment records the aforementioned parameters in chronological order and forms a link history status window within a preset time range. For example, the link parameters can be continuously collected over several consecutive control cycles, and the data collected in each cycle can be stored in the status window in chronological order.

[0115] A link state prediction vector is generated based on the link historical state window. This vector characterizes the state change trend of the high-speed satellite link within the next control cycle. In this step, data from the link historical state window can be used to estimate the link state trend for the next control cycle. Specifically, statistical analysis can be performed on the link parameters in the historical window, such as calculating average values, magnitudes of change, or directions of change, to obtain the characteristics of link state changes.

[0116] Furthermore, a link state prediction vector can be generated, which comprehensively represents the trend of link state changes within the next control cycle. For example, the prediction vector can include information on bandwidth change trends, latency change trends, and link stability changes. In this way, subsequent buffer control processes can not only refer to the current link state but also consider potential changes in the link over a short period, thereby improving the adaptability of buffer control. For example, if the available bandwidth of the link is observed to gradually decrease over a certain period while the bit error rate shows an upward trend, the generated prediction vector can reflect the potential decrease in link transmission capacity, allowing subsequent steps to make corresponding adjustments during buffer resource allocation and scheduling.

[0117] In a specific embodiment, one way to generate a link state prediction vector based on the link historical state window includes: in the link historical state window, performing time-series sampling on the collected propagation delay, delay jitter, available bandwidth, bit error rate, and inter-satellite handover probability to obtain time-series parameters; performing sliding statistics on the time-series parameters over a preset time span to extract sequence features; constructing a link state change model based on the sequence features, and inferring the handover risk trend, available bandwidth change trend, and delay change trend in the next control cycle through the link state change model to obtain inference results; generating a link state prediction vector based on the inference results, wherein the link state prediction vector includes at least a bandwidth prediction component, a delay prediction component, and a handover probability prediction component.

[0118] Specifically, during the operation of a communication node, link status parameters can be continuously collected according to a preset sampling period, such as obtaining the link operating status at millisecond or second intervals, and storing them in the link historical status window in chronological order, thereby forming time series data of multiple parameters. For example, propagation delay sequence, delay jitter sequence, bandwidth change sequence, bit error rate change sequence, and inter-satellite handover probability sequence can be formed respectively.

[0119] The time series parameters are subjected to sliding statistics over a preset time span to extract sequence features that reflect the changing patterns of the link status. In practice, a fixed-length time window can be used to perform sliding calculations on the time series data, such as calculating the average value, magnitude of change, or fluctuation trend of each parameter over multiple consecutive sampling periods. This sliding statistical method reduces the impact of single-sample fluctuations on link status assessment, making the extracted sequence features more reflective of the overall changes in the link over a period of time.

[0120] After extracting sequence features, a link state change model can be constructed based on these features, and this model can be used to infer the link state change trend in the next control cycle. In some implementations, the link state change model can be established based on the correlation between historical state features, such as estimating the future operating state of the link by analyzing the relationship between bandwidth change trends, latency fluctuation trends, and bit error rate changes. Through this link state change model, possible link state changes in the next control cycle can be predicted, such as inferring the change trends of available bandwidth, latency, and the risk trend of link switching.

[0121] For example, in certain operational scenarios, if the link history status window shows a continuous decrease in available bandwidth and an upward trend in the bit error rate, the link status change model can infer that the link transmission capacity may further decrease in the next control cycle; as another example, when it is predicted that the satellite orbit position will change, the link status change model can infer that the probability of inter-satellite link switching may increase.

[0122] After obtaining the above inference results, a link state prediction vector can be generated based on these results. This link state prediction vector comprehensively characterizes the changing trend of the link state within the next control cycle and may contain multiple prediction components. For example, the link state prediction vector may contain at least a bandwidth prediction component, a delay prediction component, and a handover probability prediction component. Specifically, the bandwidth prediction component represents the changing trend of the available bandwidth of the link within the next control cycle; the delay prediction component represents the possible changes in link delay; and the handover probability prediction component represents the probability of an inter-satellite handover occurring within the next control cycle.

[0123] S102. In the cache queue structure, the cache space is divided into a multi-queue structure including real-time service queue, batch service queue, retransmission queue and switching pre-occupied queue, and the capacity quota and scheduling weight of each queue are determined according to the link state prediction vector and the pre-configured service priority.

[0124] In the cache queue structure, the cache space is divided into a multi-queue structure including real-time service queue, batch service queue, retransmission queue and handover pre-occupancy queue, and the capacity quota and scheduling weight of each queue are determined based on the link state prediction vector and the pre-configured service priority.

[0125] In this step, the communication node first logically divides the buffer space into multiple queues to classify and manage different types of data. For example, the buffer can be divided into a real-time service queue, a batch service queue, a retransmission queue, and a handover pre-emption queue. The real-time service queue can be used to store latency-sensitive data, such as voice data, video streams, or control signaling; the batch service queue can be used to store data with relatively low latency requirements, such as file transfers or remote sensing data backhauls; the retransmission queue can be used to store data that needs to be retransmitted; and the handover pre-emption queue can be used to store data that needs priority protection during link switching scenarios.

[0126] After queue partitioning, cache resources can be allocated based on link state prediction vectors and pre-configured service priorities. For example, when predicted link bandwidth is sufficient, the capacity ratio of batch service queues can be appropriately increased to improve link utilization; conversely, when predicted link state may deteriorate, the capacity ratio of real-time service queues can be appropriately increased to ensure timely transmission of critical service data. Simultaneously, corresponding scheduling weights can be assigned to each queue to indicate its priority in obtaining transmission opportunities during the transmission scheduling process. Through the combination of capacity quotas and scheduling weights, different services can be coordinated and managed at both the cache resource allocation and data transmission levels.

[0127] In a specific embodiment, determining the capacity quota and scheduling weight of each queue based on the link state prediction vector and the pre-configured service priority includes: parsing the available bandwidth prediction component, latency prediction component, and handover risk prediction component in the link state prediction vector; obtaining the service priority, pre-configured cache requirement constraints, and queuing latency constraints corresponding to each queue; calculating the effective transmission capacity available for cache scheduling within a unit control cycle based on the bandwidth prediction component; determining the basic capacity quota of each queue based on the effective transmission capacity and the cache requirement constraints of each queue; correcting the basic capacity quota based on the latency prediction component and the handover probability prediction component; and generating the scheduling weight of each queue according to the service priority and the corrected basic capacity quota.

[0128] Specifically, the available bandwidth prediction component, latency prediction component, and handover risk prediction component in the link state prediction vector are analyzed. In this step, multiple prediction parameters characterizing the link's operational trend in the next control cycle can be extracted from the link state prediction vector. For example, the available bandwidth prediction component reflects the data transmission capacity the link may provide in the next control cycle; the latency prediction component reflects the potential trend of link transmission latency changes; and the handover risk prediction component reflects the likelihood of an inter-satellite handover occurring in the next control cycle.

[0129] The process involves obtaining the business priority, pre-configured cache requirement constraints, and queuing latency constraints corresponding to each queue. In specific implementations, different priority levels and cache requirement parameters can be pre-set for different types of services. For example, real-time service queues typically have higher business priorities and stricter queuing latency constraints, while batch service queues may have larger cache requirements but relatively lower queuing latency requirements.

[0130] After obtaining link prediction information and service parameters, the effective transmission capacity available for buffer scheduling within a unit control period can be calculated based on the bandwidth prediction component. Specifically, based on the predicted available link bandwidth and the length of the control period, the total amount of data that the link can transmit within the control period can be estimated, and this amount of data can be used as the effective transmission capacity available for buffer scheduling within the current control period. For example, when the predicted available link bandwidth is a certain value and the control period is of fixed length, the data capacity allowed to be sent within that period can be calculated.

[0131] After obtaining effective transmission capacity, the basic capacity quota for each queue can be determined based on the effective transmission capacity and the buffering requirements of each queue. In specific implementation, the buffer space can be initially allocated according to the buffering requirements of each service queue and its service type. For example, a relatively large basic capacity can be allocated to data backhaul services that require stable buffering space, while a capacity proportion that meets the short-term buffering requirements can be allocated to real-time service queues.

[0132] After determining the basic capacity quota, it can be adjusted based on the latency prediction component and the handover probability prediction component. For example, when the predicted link latency may increase, the capacity quota of the real-time service queue can be appropriately increased to avoid data from affecting the quality of real-time services due to increased queuing delays; when the predicted link handover risk is high, the capacity ratio of the handover pre-occupied queue can be appropriately increased to temporarily cache critical data during link handover. Meanwhile, for queues with lower priority and less sensitivity to latency, their capacity ratio can be appropriately reduced to release some cached resources.

[0133] The scheduling weights of each queue are generated based on the service priority and the revised base capacity quota. Specifically, service priority can be used as the primary weighting factor, combined with the revised capacity quota of each queue, to comprehensively calculate the scheduling weights. This ensures that queues with higher service priorities and larger capacity quotas receive more transmission opportunities during data transmission scheduling. For example, within a certain control period, if the predicted link bandwidth is sufficient and the handover risk is low, the batch service queue may receive a larger capacity quota and be assigned a relatively higher scheduling weight. Conversely, if the predicted link may experience handover or latency fluctuations, the scheduling weights of the real-time service queue and the handover pre-occupied queue can be appropriately increased to prioritize the transmission of critical service data.

[0134] S103. Based on the capacity quota, set high and low water level thresholds for each queue, allocate token slots according to the scheduling weight of each queue, and establish a mapping relationship between the token slots and the current available bandwidth.

[0135] Based on the capacity quota, high and low watermark thresholds are set for each queue to limit the data entry, freezing, and discarding behavior of the corresponding queue. In this step, corresponding high and low watermark thresholds can be set according to the capacity quota of each queue to reflect different states of queue buffer occupancy.

[0136] For example, the capacity quota of any queue can be divided into multiple occupancy intervals. The low-water mark threshold indicates that the queue is in a relatively idle state, while the high-water mark threshold indicates that the queue is approaching its capacity limit. When the queue cache occupancy is below the low-water mark threshold, new data can be allowed to enter the queue normally; as the cache occupancy gradually approaches the high-water mark threshold, some low-priority data can be restricted from entering the queue; when the cache occupancy reaches the basic high-water mark threshold, new data entry can be temporarily frozen, or some data can be discarded.

[0137] In one specific embodiment, one way to set high and low water level thresholds for each queue includes:

[0138] Obtain the capacity quota, current cache usage, and service priority of each queue; calculate the corresponding basic high-water mark threshold and basic low-water mark threshold for each queue according to the capacity quota, wherein the high-water mark threshold is less than or equal to the capacity quota, and the low-water mark threshold is less than the high-water mark threshold; adjust the basic high-water mark threshold and basic low-water mark threshold according to the service priority of each queue and the pre-configured queuing delay constraints; when data enters the cache, compare the current cache usage of the corresponding queue with the adjusted basic high-water mark threshold and basic low-water mark threshold: if the current cache usage is lower than the adjusted basic low-water mark threshold, allow data to enter the queue; if the current cache usage is between the adjusted basic low-water mark threshold and the basic high-water mark threshold, implement queuing restrictions on low-priority data; if the current cache usage reaches the basic high-water mark threshold, freeze the entry of new data.

[0139] Furthermore, token slots are allocated according to the scheduling weight of each queue, and a mapping relationship is established between the token slots and the current available bandwidth. In this step, a corresponding number of token slots can be allocated to each queue based on its scheduling weight. A token slot can be understood as the data quota that each queue is allowed to send within a unit scheduling cycle.

[0140] For example, within a scheduling cycle, if any queue receives a higher scheduling weight, it can be allocated more token slots, allowing it to send more data; while queues with lower scheduling weights receive relatively fewer token slots. After token slot allocation, a mapping can be established between the token slots and the available bandwidth of the link, ensuring that the total amount of data allowed to be sent by all queues within a scheduling cycle does not exceed the link's capacity. This method keeps the data transmission rate in the buffer matched to the actual transmission capacity of the link, thereby reducing link congestion caused by excessively high transmission rates.

[0141] In a specific implementation, see Figure 2 One embodiment of step S103 includes:

[0142] S1031. Calculate the number of initial tokens that can be allocated to each queue within a unit scheduling cycle based on the scheduling weight of each queue.

[0143] In this step, the communication node first obtains the scheduling weights of each queue determined in step S103. The scheduling weight represents the proportion of resources occupied by different queues during the transmission scheduling process. For example, real-time service queues can be configured with higher scheduling weights, while batch service queues can be configured with relatively lower scheduling weights. At the beginning of each scheduling period, the allocable token resources can be initially allocated according to the scheduling weights of each queue. Specifically, the total number of tokens allowed to be allocated within a scheduling period can be allocated according to the proportion of the scheduling weights of each queue, thus obtaining the initial number of tokens for each queue. For example, assuming that the total number of tokens that can be allocated by the system within a certain scheduling period is 100, and the scheduling weights of the real-time service queue, batch service queue, retransmission queue, and handover pre-allocation queue are 4, 2, 2, and 1 respectively, the initial number of tokens can be allocated to each queue according to the weight proportions, so that queues with higher scheduling weights get more data transmission opportunities within the scheduling period.

[0144] S1032. Adjust the initial token quantity according to the current cache usage and remaining capacity of each queue;

[0145] After initial token allocation, the current cache usage and remaining capacity of each queue can be obtained to reflect the current data backlog. When the cache usage of any queue is high, it indicates that there is a lot of data to be sent in that queue. In this case, the number of tokens for that queue can be increased appropriately to prioritize the sending of data in that queue during the scheduling cycle, thereby reducing the queuing time of data in the cache. Conversely, when the cache usage of any queue is low or the queue is close to an idle state, the number of tokens for that queue can be reduced appropriately to avoid excessive occupation of sending resources. For example, if the cache usage of the retransmission queue is significantly higher than that of other queues during a certain scheduling cycle, the number of tokens for that queue can be increased based on the initial number of tokens to speed up the sending speed of retransmission data. At the same time, if the current cache usage of the batch service queue is low, its number of tokens can be reduced appropriately, and the released token resources can be redistributed to other queues. In this embodiment, by adjusting the initial number of tokens, the token allocation can be made more consistent with the current cache state.

[0146] S1033. Map the adjusted token slots of each queue to the current available bandwidth, and calculate the maximum amount of data that each queue is allowed to send within a unit scheduling cycle, so that the total amount of data sent does not exceed the current available bandwidth.

[0147] In this step, the available bandwidth of the current high-speed satellite link can be obtained, and bandwidth mapping can be performed on the token slots of each queue based on this bandwidth. Specifically, the total amount of data that the link can carry within the scheduling period can be calculated based on the available bandwidth of the link and the duration of the scheduling period. Furthermore, the adjusted number of tokens for each queue can be correlated with the data volume that the link can carry, so that each token represents a certain data transmission limit. For example, each token can be set to correspond to a fixed-size data block, thereby determining the amount of data that each queue can send within the scheduling period based on the number of tokens it holds. The allowed data volumes for all queues can also be aggregated to ensure that the total amount of data allowed for all queues to send within the scheduling period does not exceed the transmission capacity corresponding to the current available bandwidth of the link. For example, when the available bandwidth of the link is 500 Mbps and the scheduling period is 10 ms, the maximum amount of data that the link can send within this period can be calculated, and the data transmission limit of each queue within this period can be limited accordingly.

[0148] S1034. Update the token slots of each queue according to the mapping result, and send the tokens according to the token slots when dequeuing the queue.

[0149] After bandwidth mapping is completed, the calculated token slots can be updated in the scheduling control structure of the corresponding queue. When the scheduling module selects data from the cache queue for transmission, it needs to check whether the corresponding queue still holds available tokens. If the queue still has available tokens, data in that queue is allowed to be dequeued and transmitted, consuming the corresponding number of tokens after the corresponding data is transmitted. When the tokens in the queue are exhausted, data transmission in that queue is suspended for the current scheduling period until the next scheduling period when tokens are reallocated. For example, during scheduling, when a real-time service queue still holds available tokens, data can be taken from that queue for transmission first, and the corresponding number of tokens is reduced after each data transmission. When the queue's tokens are exhausted, even if there is still data to be transmitted in the queue, it is necessary to wait for the next scheduling period to obtain tokens again. Through this embodiment, the data transmission behavior of each queue can be kept consistent with the available bandwidth of the link, thereby avoiding link congestion or continuous cache backlog caused by excessively high data transmission rates in a high-speed satellite link environment.

[0150] S104. Based on the current cache occupancy of each queue, the link state prediction vector, and the mapping relationship, adjust the token slots and enqueue or dequeue strategies of each queue, and when the collected inter-satellite handover probability exceeds a preset threshold, freeze the enqueue or dequeue operations of at least some queues and expand the capacity quota of the handover pre-occupied queue.

[0151] The token slot allocation is adjusted based on the current cache occupancy of each queue and the link state prediction vector. In this step, the cache occupancy of each queue can be monitored in real time, and the token slots can be dynamically adjusted in conjunction with the link state prediction vector. For example, when the cache occupancy of any queue continues to increase, the number of token slots for that queue can be appropriately increased to speed up data transmission and reduce data backlog in the queue; when the cache occupancy of any queue is low, its token slots can be appropriately reduced to avoid excessive transmission resource occupation. Simultaneously, when the link state prediction vector indicates that the available link bandwidth may decrease, the overall token slot allocation for each queue can be reduced, gradually decreasing the cache transmission rate; when the predicted link bandwidth may increase, the number of token slots can be appropriately increased to improve link utilization efficiency. In this way, the cache scheduling strategy can be dynamically adjusted according to changes in link state.

[0152] In this application, when the inter-satellite handover probability exceeds a preset threshold, the enqueueing or dequeueing operations of at least a portion of the queues are frozen according to the mapping relationship, and the capacity quota of the handover pre-occupied queue is expanded. In this step, when the inter-satellite handover probability is detected to exceed the preset threshold, it can be assumed that the link may undergo connection changes or path adjustments in a short period. To reduce the impact of the link handover process on the cache state, temporary control strategies can be implemented for some queues. For example, based on the mapping relationship between token slots and available bandwidth, new data entry can be suspended for some non-critical service queues, or their dequeueing operations can be temporarily restricted, thereby reducing the transmission pressure during the link handover. Simultaneously, the capacity quota of the handover pre-occupied queue can be increased, allowing data requiring priority protection to be temporarily stored in this queue. After the link handover is completed, normal enqueueing and dequeueing operations of each queue can be gradually restored, and cache resources can be redistributed to each service queue, restoring the cache system to normal operation. Through the above steps, the cache system can continuously adjust according to link state changes in a high-speed satellite link environment, thereby improving the stability and adaptability of cache management.

[0153] In one specific embodiment, see Figure 3 One way to adjust the token slots includes:

[0154] S301. Calculate the cache occupancy deviation value for each queue, wherein the cache occupancy deviation value is used to characterize the degree of difference between the current cache occupancy and the corresponding capacity quota;

[0155] In this step, the current cache usage of each queue can be obtained first, along with the capacity quota of the corresponding queue determined in step S103. The cache usage deviation value of each queue can be calculated by comparing the difference between the current cache usage and the corresponding capacity quota. The cache usage deviation value characterizes the degree of difference between the current cache state of a queue and the target capacity range. For example, when the current cache usage of any queue is significantly higher than its capacity quota, the queue can be considered to be in a data backlog state, and its cache usage deviation value is positive; when the current cache usage of any queue is lower than its capacity quota, it indicates that the queue is in a relatively idle state, and its cache usage deviation value can be negative or small.

[0156] S302. Based on the link state prediction vector, analyze the available bandwidth change trend in the next control cycle;

[0157] In this embodiment, the link state prediction vector generated in step S102 can be used to analyze the trend of changes in the available bandwidth of the link in the next control cycle. For example, by analyzing the bandwidth change information in the prediction vector, it can be determined whether the link bandwidth may increase, remain stable, or decrease in the next control cycle. If the predicted link bandwidth shows a decreasing trend, it indicates that the link transmission capacity may weaken; if the predicted bandwidth shows an increasing trend, it indicates that the link transmission capacity may strengthen. By analyzing the bandwidth change trend, the possible changes in link transmission capacity can be considered in advance when adjusting the token slot. For example, when the predicted link bandwidth will decrease, the overall sending rate can be appropriately reduced to reduce the risk of congestion of cached data on the link side.

[0158] S303. Based on the cache occupancy deviation value and the trend of available bandwidth change, determine the token adjustment factor for each queue. The token adjustment factor is used to characterize the degree of amplification or suppression of the dequeue rate of each queue.

[0159] By combining the buffer occupancy deviation of each queue with the trend of available link bandwidth, a corresponding token adjustment factor is determined for each queue. The token adjustment factor characterizes whether the transmission rate of the corresponding queue needs to be amplified or suppressed within the current scheduling period. For example, when the buffer occupancy deviation of any queue is large and positive, it indicates that there is a lot of data to be transmitted in that queue. In this case, a larger token adjustment factor can be set for that queue to increase its dequeue rate. Conversely, when the buffer occupancy of any queue is low, a smaller token adjustment factor can be set for it to reduce the consumption of transmission resources. Furthermore, the token adjustment factor can be adjusted overall based on the trend of link bandwidth changes. For example, when a decrease in link bandwidth is predicted, the token adjustment factor for each queue can be reduced overall to limit the increase in transmission rate.

[0160] S304. Adjust the initial number of tokens for each queue according to the token adjustment factor;

[0161] After determining the token adjustment factor for each queue, this factor can be applied to the initial number of tokens allocated to each queue in the current scheduling cycle. Specifically, the initial number of tokens can be increased or decreased based on the token adjustment factor for each queue, thus obtaining the updated token slots. For example, when the token adjustment factor for any queue is greater than 1, a certain number of tokens can be added to the original initial number of tokens to increase the sending capacity of that queue; when the adjustment factor is less than 1, the number of tokens for that queue can be reduced to decrease its sending rate. In this way, the sending rate of different queues can be adjusted in a fine-grained manner without changing the overall scheduling structure.

[0162] S305. Apply the updated token slot to the queue dequeue scheduling process so that the current cache usage converges to the corresponding capacity quota range within the continuous scheduling cycle.

[0163] In this step, the updated token slots can be applied to the actual queue scheduling process. When the scheduling module selects data to send from each queue, it needs to determine whether to allow data transmission based on the number of tokens currently held by the corresponding queue. As the scheduling cycle progresses, the data transmission rate of each queue will dynamically change according to the buffer usage under the token adjustment mechanism. When the buffer usage of any queue is high, its token count will gradually increase, thereby speeding up the data transmission rate; when the buffer usage decreases to near the capacity quota, its token count will gradually return to normal levels.

[0164] Through dynamic adjustments over multiple scheduling cycles, the buffer occupancy of each queue can gradually approach the target range corresponding to its capacity quota, thereby achieving convergence control of the buffer state. For example, when any queue accumulates a large amount of data in a short period of time, the system can increase its token quantity to accelerate the sending rate, causing the buffer occupancy of that queue to gradually decrease; once the buffer occupancy returns to a normal level, its token quantity is gradually reduced, allowing the resource allocation among the queues to stabilize again.

[0165] In another specific embodiment, see Figure 4 The process of freezing at least a portion of the enqueue or dequeue operations and expanding the capacity quota of the pre-allocated handover queue when the collected inter-satellite handover probability exceeds a preset threshold may include the following steps:

[0166] S401. Obtain the inter-satellite handover probability in the link state prediction vector and determine whether it exceeds the preset handover trigger threshold.

[0167] In this step, an inter-satellite handover probability parameter characterizing link topology stability can be extracted from the link state prediction vector generated in step S102. This parameter reflects the risk level of potential inter-satellite connection handover in the next control cycle. The inter-satellite handover probability can be compared with a pre-configured handover trigger threshold in the system. When the inter-satellite handover probability is lower than the threshold, the current link connection state is considered relatively stable, and the cache scheduling strategy remains normal. When the inter-satellite handover probability exceeds the threshold, it is considered that the link may undergo inter-satellite connection changes in a short period of time, thereby triggering the cache protection control process. For example, in a low-Earth orbit satellite constellation communication scenario, due to satellite orbital motion, the links between satellites will periodically reconfigure. When the system predicts that a certain link is about to be switched, the cache protection mechanism can be activated in advance.

[0168] S402. When the switching trigger threshold is exceeded, the mapping relationship is parsed and the data rate range is determined;

[0169] After detecting a high risk of inter-satellite handover, the mapping relationship between token slots and available bandwidth established in step S105 can be parsed to obtain the data transmission rate range corresponding to each queue within the current scheduling period. Specifically, the expected transmission rate of each queue within the current scheduling period can be calculated based on the number of token slots currently held by each queue and the data transmission quota corresponding to each token, and further divided into several data rate intervals. For example, the queue transmission rate can be divided into a high data rate interval, a medium data rate interval, and a low data rate interval.

[0170] S403. Determine the target queue set for which freeze control needs to be performed based on the data rate range and the service priority.

[0171] In this step, the target queue set for which freeze control needs to be implemented can be determined by combining the data rate range corresponding to the queue and the service priority information. For example, when a link is about to switch, data transmission of real-time service queues and retransmission queues can be prioritized, while batch service queues or low-priority service queues can be restricted. When any queue is in a high data rate range and its service priority is low, the queue can be included in the target queue set to reduce its occupation of link resources.

[0172] S404. Perform enqueue freezing, dequeue suppression, or a combination of both on at least a portion of the queues in the target queue set;

[0173] After determining the target queue set, corresponding control policies can be implemented for the queues within it. Specifically, enqueue freezing control can be implemented for some queues, temporarily prohibiting new data from entering the queue to avoid continuous cache backlog; dequeue suppression control can also be implemented for some queues, limiting the data transmission rate of the queue within the scheduling cycle. In some cases, both enqueue freezing and dequeue suppression control can be implemented simultaneously. For example, when the data volume of a batch service queue is large and the risk of link switching is high, new data entry into the queue can be restricted and its transmission rate reduced simultaneously, thereby reducing cache fluctuations that may occur during link switching.

[0174] S405. When the handover is completed or when the inter-satellite handover probability drops below the pre-configured release threshold, the freeze control is lifted and the capacity quotas of each queue are updated.

[0175] Once the link handover process is complete, or when the inter-satellite handover probability is detected to have decreased below the pre-configured release threshold in a subsequent control cycle, the link state can be considered to have stabilized again. At this point, the freeze or suppression controls applied to the target queue set can be lifted, and normal enqueue and dequeue behavior for each queue can be restored. Simultaneously, the capacity quotas for each queue can be recalculated based on the latest link state, allowing cache resources to be reallocated according to normal service scheduling strategies. For example, after the link handover is complete, the data inbound and outbound rates of batch service queues can be gradually restored, and the previously expanded handover pre-allocated queue capacity can be redistributed to each service queue, restoring the cache system to a stable operating state.

[0176] The embodiments of the methods provided in this application have been described in detail above. The embodiments of the related apparatus provided in this application will be described below.

[0177] See Figure 5 This application provides an embodiment of a buffer convergence control device for high-speed satellites, the embodiment including:

[0178] The window construction unit S501 is used to construct a link history state window and generate a link state prediction vector based on the link history state window. The link state prediction vector is used to characterize the state change trend of the high-speed satellite link in the next control cycle.

[0179] The queue processing unit S502 is used to divide the cache space into a multi-queue structure including a real-time service queue, a batch service queue, a retransmission queue and a switching pre-occupancy queue in the cache queue structure, and determine the capacity quota and scheduling weight of each queue based on the link state prediction vector and the pre-configured service priority.

[0180] The mapping construction unit S503 is used to set high and low water level thresholds for each queue based on the capacity quota, allocate token slots according to the scheduling weight of each queue, and establish a mapping relationship between the token slots and the current available bandwidth.

[0181] The queue control unit S504 is used to adjust the token slots and enqueue or dequeue strategies of each queue according to the current cache occupancy of each queue, the link state prediction vector and the mapping relationship, and freeze the enqueue or dequeue operations of at least some queues and expand the capacity quota of the switching pre-occupied queue when the collected inter-satellite handover probability exceeds a preset threshold.

[0182] Optionally, the mapping building unit S504 is specifically used for:

[0183] The initial number of tokens that can be allocated to each queue within a unit scheduling cycle is calculated based on the scheduling weight of each queue.

[0184] The initial token quantity is adjusted based on the current cache usage and remaining capacity of each queue.

[0185] Map the adjusted token slots of each queue to the current available bandwidth, and calculate the maximum amount of data that each queue is allowed to send within a unit scheduling cycle, so that the total amount of data sent does not exceed the current available bandwidth.

[0186] Update the token slots of each queue based on the mapping results, and send tokens by consuming tokens according to the token slots when dequeuing a queue.

[0187] Optionally, the queue control unit S504 is specifically used for:

[0188] Calculate the cache usage deviation value for each queue, which is used to characterize the degree of difference between the current cache usage and the corresponding capacity quota;

[0189] Based on the link state prediction vector, the trend of available bandwidth change in the next control cycle is analyzed.

[0190] Based on the cache occupancy deviation value and the trend of available bandwidth change, the token adjustment factor of each queue is determined. The token adjustment factor is used to characterize the degree of amplification or suppression of the dequeue rate of each queue.

[0191] The initial number of tokens for each queue is adjusted according to the token adjustment factor;

[0192] The updated token slots are applied to the queue dequeue scheduling process, causing the current cache usage to converge to the corresponding capacity quota range within a continuous scheduling cycle.

[0193] Optionally, the queue control unit S504 is specifically used for:

[0194] Obtain the inter-satellite handover probability in the link state prediction vector and determine whether it exceeds a preset handover trigger threshold;

[0195] When the switching trigger threshold is exceeded, the mapping relationship is parsed and the data rate range is determined;

[0196] Based on the data rate range and the service priority, determine the target queue set that needs to be frozen.

[0197] Perform enqueue freezing, dequeue suppression, or a combination of both on at least a portion of the target queue set;

[0198] Once the handover is complete or the inter-satellite handover probability drops below the pre-configured release threshold, the freeze control is lifted and the capacity quotas for each queue are updated.

[0199] Optionally, the mapping building unit S503 is specifically used for:

[0200] Get the capacity quota, current cache usage, and business priority of each queue;

[0201] For each queue, a basic high water level threshold and a basic low water level threshold are calculated according to the capacity quota. The high water level threshold is less than or equal to the capacity quota, and the low water level threshold is less than the high water level threshold.

[0202] The basic high water level threshold and basic low water level threshold are adjusted according to the business priority of each queue and the pre-configured queuing delay constraints.

[0203] When data enters the cache, compare the current cache occupancy of the corresponding queue with the corrected base high-water mark threshold and the base low-water mark threshold:

[0204] Data enqueueing is allowed if the current cache usage is below the corrected base low watermark threshold.

[0205] If the current cache usage is between the modified base low watermark threshold and the base high watermark threshold, enqueue restrictions are applied to low-priority data.

[0206] If the current cache usage reaches the basic high-water mark threshold, freeze new data from entering.

[0207] Optionally, the window building unit S501 is specifically used for:

[0208] In the link history status window, the collected propagation delay, delay jitter, available bandwidth, bit error rate and inter-satellite handover probability are sampled in a time series to obtain time series parameters;

[0209] Sliding statistics are performed on the time series parameters according to a preset time span to extract sequence features;

[0210] Based on the sequence characteristics, a link state change model is constructed, and the switching risk trend, available bandwidth change trend, and latency change trend in the next control cycle are inferred using the link state change model to obtain the inference results.

[0211] A link state prediction vector is generated based on the inference results. The link state prediction vector includes at least a bandwidth prediction component, a latency prediction component, and a handover probability prediction component.

[0212] Optionally, the queue processing unit S502 is specifically used for;

[0213] Analyze the available bandwidth prediction component, latency prediction component, and handover risk prediction component in the link state prediction vector;

[0214] Obtain the business priority, pre-configured cache requirement constraints, and queuing latency constraints corresponding to each queue;

[0215] Based on the bandwidth prediction component, calculate the effective transmission capacity available for buffer scheduling within a unit control cycle;

[0216] Based on the effective transmission capacity and the buffering requirements of each queue, the basic capacity quota for each queue is determined.

[0217] Based on the aforementioned delay prediction component and handover probability prediction component, the basic capacity quota is corrected.

[0218] Based on the aforementioned service priorities and the revised basic capacity quota, the scheduling weights for each queue are generated.

[0219] Please see Figure 6 This application also provides a buffer convergence control device for high-speed satellites, comprising:

[0220] Processor 601, memory 602, input / output unit 603, bus 604;

[0221] The processor 601 is connected to the memory 602, the input / output unit 603, and the bus 604;

[0222] The memory 602 stores a program, and the processor 601 calls the program to execute any of the methods described above.

[0223] This application also relates to a computer-readable storage medium on which a program is stored, which, when run on a computer, causes the computer to perform any of the methods described above.

[0224] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0225] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.

[0226] The units described as separate components may or may not be physically separate. 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 units can be selected to achieve the purpose of this embodiment according to actual needs.

[0227] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0228] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

Claims

1. A buffer convergence control method for high-speed satellites, characterized in that, The method includes: A link history status window is constructed, and a link status prediction vector is generated based on the link history status window. The link status prediction vector is used to characterize the status change trend of the high-speed satellite link in the next control cycle. In the cache queue structure, the cache space is divided into a multi-queue structure including real-time service queue, batch service queue, retransmission queue and switching pre-occupancy queue, and the capacity quota and scheduling weight of each queue are determined based on the link state prediction vector and the pre-configured service priority. Based on the capacity quota, high and low water level thresholds are set for each queue, and token slots are allocated according to the scheduling weight of each queue. The token slots are then mapped to the current available bandwidth. Based on the current cache occupancy of each queue, the link state prediction vector, and the mapping relationship, the token slots and enqueue or dequeue strategies of each queue are adjusted. When the collected inter-satellite handover probability exceeds a preset threshold, the enqueue or dequeue operations of at least some queues are frozen and the capacity quota of the handover pre-occupied queue is expanded.

2. The buffer convergence control method for high-speed satellites according to claim 1, characterized in that, The step of allocating token slots according to the scheduling weight of each queue and establishing a mapping relationship between the token slots and the current available bandwidth includes: The initial number of tokens that can be allocated to each queue within a unit scheduling cycle is calculated based on the scheduling weight of each queue. The initial token quantity is adjusted based on the current cache usage and remaining capacity of each queue. Map the adjusted token slots of each queue to the current available bandwidth, and calculate the maximum amount of data that each queue is allowed to send within a unit scheduling cycle, so that the total amount of data sent does not exceed the current available bandwidth. Update the token slots of each queue based on the mapping results, and send tokens by consuming tokens according to the token slots when dequeuing a queue.

3. The buffer convergence control method for high-speed satellites according to claim 2, characterized in that, The step of adjusting the token slots and enqueue / dequeue strategies of each queue based on the current cache occupancy of each queue, the link state prediction vector, and the mapping relationship includes: Calculate the cache usage deviation value for each queue, which is used to characterize the degree of difference between the current cache usage and the corresponding capacity quota; Based on the link state prediction vector, the trend of available bandwidth change in the next control cycle is analyzed. Based on the cache occupancy deviation value and the trend of available bandwidth change, the token adjustment factor of each queue is determined. The token adjustment factor is used to characterize the degree of amplification or suppression of the dequeue rate of each queue. The initial number of tokens for each queue is adjusted according to the token adjustment factor; The updated token slots are applied to the queue dequeue scheduling process, causing the current cache usage to converge to the corresponding capacity quota range within a continuous scheduling cycle.

4. The buffer convergence control method for high-speed satellites according to claim 1, characterized in that, When the collected inter-satellite handover probability exceeds a preset threshold, freezing at least a portion of the queue's enqueue or dequeue operations and expanding the capacity quota of the handover pre-occupied queue includes: Obtain the inter-satellite handover probability in the link state prediction vector and determine whether it exceeds a preset handover trigger threshold; When the switching trigger threshold is exceeded, the mapping relationship is parsed and the data rate range is determined; Based on the data rate range and the service priority, determine the target queue set that needs to be frozen. Perform enqueue freezing, dequeue suppression, or a combination of both on at least a portion of the target queue set; Once the handover is complete or the inter-satellite handover probability drops below the pre-configured release threshold, the freeze control is lifted and the capacity quotas for each queue are updated.

5. The buffer convergence control method for high-speed satellites according to claim 1, characterized in that, Based on the capacity quota, setting high and low water level thresholds for each queue includes: Get the capacity quota, current cache usage, and business priority of each queue; For each queue, a basic high water level threshold and a basic low water level threshold are calculated according to the capacity quota. The high water level threshold is less than or equal to the capacity quota, and the low water level threshold is less than the high water level threshold. The basic high water level threshold and basic low water level threshold are adjusted according to the business priority of each queue and the pre-configured queuing delay constraints. When data enters the cache, compare the current cache occupancy of the corresponding queue with the corrected base high watermark threshold and the base low watermark threshold. Data enqueueing is allowed if the current cache usage is below the corrected base low watermark threshold. If the current cache usage is between the modified base low watermark threshold and the base high watermark threshold, enqueue restrictions are applied to low-priority data. If the current cache usage reaches the basic high-water mark threshold, freeze new data from entering.

6. The buffer convergence control method for high-speed satellites according to claim 1, characterized in that, The link state prediction vector is generated based on the link historical state window. This link state prediction vector is used to characterize the state change trend of the high-speed satellite link in the next control cycle, including: In the link history status window, the collected propagation delay, delay jitter, available bandwidth, bit error rate and inter-satellite handover probability are sampled in a time series to obtain time series parameters; Sliding statistics are performed on the time series parameters according to a preset time span to extract sequence features; Based on the sequence characteristics, a link state change model is constructed, and the switching risk trend, available bandwidth change trend, and latency change trend in the next control cycle are inferred using the link state change model to obtain the inference results. A link state prediction vector is generated based on the inference results. The link state prediction vector includes at least a bandwidth prediction component, a latency prediction component, and a handover probability prediction component.

7. The buffer convergence control method for high-speed satellites according to claim 6, characterized in that, Based on the link state prediction vector and the pre-configured service priorities, the capacity quota and scheduling weight of each queue are determined, including: Analyze the available bandwidth prediction component, latency prediction component, and handover risk prediction component in the link state prediction vector; Obtain the business priority, pre-configured cache requirement constraints, and queuing latency constraints corresponding to each queue; Based on the bandwidth prediction component, calculate the effective transmission capacity available for buffer scheduling within a unit control cycle; Based on the effective transmission capacity and the buffering requirements of each queue, the basic capacity quota for each queue is determined. Based on the aforementioned delay prediction component and handover probability prediction component, the basic capacity quota is corrected. Based on the aforementioned service priorities and the revised basic capacity quota, the scheduling weights for each queue are generated.

8. The buffer convergence control method for high-speed satellites according to any one of claims 1 to 7, characterized in that, The adjustment of the token slots and enqueue / dequeue strategies for each queue includes: The polling order of the queues is determined according to the scheduling weight of each queue; When polling any queue, determine whether the queue has available token slots; When the queue has available token slots, select data from the queue to perform dequeueing and send, and reduce the corresponding number of token slots; If the queue does not have an available token slot, skip the queue and continue polling the next queue.

9. The buffer convergence control method for high-speed satellites according to any one of claims 1 to 7, characterized in that, Following the expansion of the capacity quota of the switching pre-emptive queue, the following is also included: Release some cache space from the capacity quota of the batch business queue or low-priority business queue; The freed cache space is allocated to the switching preemption queue.

10. A buffer convergence control device for high-speed satellites, characterized in that, include: A window construction unit is used to construct a link history state window and generate a link state prediction vector based on the link history state window. The link state prediction vector is used to characterize the state change trend of the high-speed satellite link in the next control cycle. The queue processing unit is used to divide the cache space into a multi-queue structure including a real-time service queue, a batch service queue, a retransmission queue, and a switching pre-occupancy queue in the cache queue structure, and to determine the capacity quota and scheduling weight of each queue based on the link state prediction vector and the pre-configured service priority. The mapping construction unit is used to set high and low water level thresholds for each queue based on the capacity quota, allocate token slots according to the scheduling weight of each queue, and establish a mapping relationship between the token slots and the current available bandwidth. The queue control unit is used to adjust the token slots and enqueue or dequeue strategies of each queue according to the current cache occupancy of each queue, the link state prediction vector, and the mapping relationship. When the collected inter-satellite handover probability exceeds a preset threshold, it freezes the enqueue or dequeue operations of at least some queues and expands the capacity quota of the handover pre-occupied queue.

11. A buffer convergence control device for high-speed satellites, characterized in that, The device includes: Processor, memory, input / output units, and bus; The processor is connected to the memory, the input / output unit, and the bus; The memory stores a program, which the processor invokes to perform the method as described in any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium contains a program that, when executed on a computer, performs the method as described in any one of claims 1 to 9.