A method and system for time-slot-based scheduled broadcasting tasks driven by trigger time points

By constructing a task module, a trigger module, and asynchronous coroutines, and combining them with optimization algorithms, a time-slot-based scheduled broadcast task driven by trigger time points in a communication system was implemented. This solves the problem of delayed accumulation of broadcast tasks in existing technologies and improves the stability and efficiency of the system.

CN116614783BActive Publication Date: 2026-03-13COWAVE SATELLITE COMM TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-27
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

In communication systems, existing technologies cannot achieve accurate broadcasting of a single time slot plan within a cycle or synchronous management of multiple broadcast tasks, resulting in accumulated task delays that affect system stability and efficiency.

Method used

A time-slot-based broadcast task method driven by trigger time points is adopted. By constructing a task module, a trigger module, and asynchronous coroutines, and combining ant colony algorithm and genetic algorithm to optimize the superframe loop, broadcast tasks are managed and executed. A pre-signal is used to ensure that the task is executed within the error range, and task addition and subtraction are handled through an extension module.

Benefits of technology

This ensures that each broadcast task is executed precisely within the planned time point, avoiding mutual interference between tasks, improving system stability and efficiency, and reducing resource waste and latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116614783B_ABST
    Figure CN116614783B_ABST
Patent Text Reader

Abstract

This invention discloses a method and system for time-slot plan broadcasting tasks driven by trigger time points, used by a central station in a network control system to periodically send data to remote stations. The method includes the following steps: constructing a task module based on the periodic broadcasting tasks from the central station to remote stations in the network control system; the task module is connected to the network control system; the task module is used to manage the broadcasting tasks; and constructing a trigger module, which, based on the settings of the task module, creates asynchronous coroutines for the broadcasting tasks, and the asynchronous coroutines execute the broadcast plan. This invention enables the network control system to manage multiple broadcasting tasks with different periods simultaneously, and ensures that the time-slot plan broadcast by each broadcasting task takes effect on the remote stations.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This invention claims priority to the following patent: Patent Application No. 2023100621561, Application Date: January 16, 2023, Patent Title: A Method and System for Time Slot Scheduled Broadcast Tasks Based on Trigger Time Point Driven. Technical Field

[0002] This invention relates to the field of satellite communication technology, and in particular to a method and system for time-slot planned broadcasting missions driven by trigger time points. Background Technology

[0003] Resources in a communication system, including terminals, frequencies, and time, are isolated through interactive networks. This means that only terminals within the same interactive network can communicate, and different interactive networks do not interfere with each other. Specifically, in this communication system, the central station sends data packets to remote stations using TDM forward carriers, broadcasting them via large carrier waves.

[0004] Compared to the old network control system that used Sleep(T) to control the broadcast period, assuming that the preprocessing of the broadcast task takes 10ms, the broadcast task period will no longer be T, but T+10ms for the old program. This results in each broadcast task being executed delaying the next broadcast task by 10ms, and this 10ms keeps accumulating.

[0005] Therefore, this application aims to solve how to achieve accurate broadcasting of a single time slot plan within a period, and how to implement a solution for synchronously managing multiple broadcast tasks. Summary of the Invention

[0006] Purpose of the invention: Based on the problems mentioned in the background technology, this application triggers broadcast tasks based on accurate time points. Compared with the old network control system that uses Sleep(T) to control the broadcast cycle, the time-point triggering method ensures that each task can be executed within a reasonable error range of the planned time point. Furthermore, it manages multiple broadcast tasks and effectively isolates them, so that each broadcast task only needs to focus on its own work and will not affect the execution of other broadcast tasks due to processing time issues.

[0007] Technical solution:

[0008] A time-slot-based scheduled broadcast task method driven by trigger time points is provided for the central station in a network control system to periodically send data to remote stations, including the following steps:

[0009] S1. Construct a task module for accessing the network control system, used to create and execute periodic broadcast tasks from the central station to remote stations in the network control system;

[0010] S2. Construct a trigger module, which, based on the task module settings, creates an asynchronous coroutine for the broadcast task, and the asynchronous coroutine executes the broadcast plan;

[0011] S3. Manage broadcast tasks through the task module.

[0012] According to one aspect of this application, the construction process of the trigger module includes:

[0013] S21. Set up a detection unit to check the time interval S of the broadcast task. T ;

[0014] S22. Based on the time interval of the inspection, set a trigger threshold;

[0015] S23. Obtain the execution time of the time slot plan broadcast within the current period, and obtain the current time;

[0016] Set the trigger condition for the current broadcast: if the difference between the current time and the execution time of the current broadcast is less than or equal to the trigger threshold, then the broadcast task in the current period will be executed;

[0017] Otherwise, wait for the current value to increase until the trigger condition is met;

[0018] S24. Repeat step S23 to execute the broadcast task in the next cycle.

[0019] According to one aspect of this application, using the triggering module to create an asynchronous coroutine and execute a broadcast plan includes the following steps:

[0020] S2a, Construct or read a superframe loop T; a superframe loop consists of n superframes, and a superframe consists of m time slots, where n and m are both positive integers;

[0021] S2b, Obtaining the broadcast activation interval D based on the network control system. T Get the current time; get the theoretical trigger execution time point;

[0022] S2c, Calculate the error value, and determine the difference, error value, and effective interval D between the theoretical trigger execution time points. T Whether the sum is greater than the difference between the start time of the superframe loop T.

[0023] According to one aspect of this application, the process by which the task module creates a periodic broadcast task includes:

[0024] S11. Collect the communication task requirements of each remote station within a predetermined time period, and construct a task scheduling topology sequence diagram based on the communication task requirements within the predetermined time period.

[0025] S12. Use depth-first search to calculate the connectivity and reachability of the task scheduling topology sequence graph, obtain the directed tasks in the task scheduling topology sequence graph that meet the connectivity and reachability, and construct a set of tasks to be processed based on the directed tasks.

[0026] S13. Calculate the overall resource utilization rate of each directed task in the set of tasks to be processed, sort them in descending order, and select the top K items as candidate tasks; K is an integer greater than or equal to 3.

[0027] S14. Construct time slots based on each candidate task item, and form superframes through the time slots to construct a superframe loop for each candidate task item.

[0028] S15. Optimize the time resources of the superframe loop using optimization algorithms including ant colony optimization and genetic optimization; obtain the optimized superframe loop.

[0029] According to one aspect of this application, step S11 further comprises:

[0030] S11a. Obtain the communication task requirements of each remote station within a predetermined time period, and divide the communication task requirements into common requirements and individual requirements by calculating the number of repetitions of the communication task; among them, the communication task requirements with more than half the number of repetitions of the remote stations are common requirements.

[0031] S11b. Normalize the number of repetitions of communication requirement tasks and use it as the weighting coefficient of communication task requirements.

[0032] S11c. Calculate the basic duration of communication task requirements within each predetermined time period based on non-repetitive communication task requirements; calculate the comprehensive duration of communication task requirements within each predetermined time period based on weighting coefficients and communication task durations.

[0033] S11d. Calculate the difference between the total duration and the basic duration of communication task requirements in each time period, and use this difference as the idle time slot; calculate the ratio of the basic duration to the total duration.

[0034] S11e. Search for communication task requirements within other predetermined time periods. If the ratio of the basic duration to the total duration of communication task requirements within the predetermined time period exceeds the threshold, then adjust some common requirements or individual requirements to adjacent predetermined time periods.

[0035] According to one aspect of this application, S2a further comprises: constructing or reading a superframe loop, the superframe loop comprising n superframes, each superframe comprising m basic time slots and a idle time slots.

[0036] According to one aspect of this application, the method for the task module to manage broadcast tasks includes:

[0037] S31. Construct a front-end signal unit and connect it to the network control system. The front-end signal unit emits a front-end signal in one cycle and broadcasts it through the central station.

[0038] S32. The remote station receives the pre-signal and sets the corresponding broadcast task execution time within the current period based on the time when the pre-signal is received.

[0039] According to one aspect of this application, a method for performing multiple broadcast tasks is also included, comprising the following steps:

[0040] S4. Construct an extension module, which is used to add or remove broadcast tasks.

[0041] According to one aspect of this application, the extension module further includes:

[0042] When the expansion module receives a broadcast task to add or remove items...

[0043] Information about increasing or decreasing broadcast tasks is sent to the task module, which then reconstructs the superframe loop based on the updated broadcast task information.

[0044] According to another aspect of this application, a time-slot-based scheduled broadcast task system driven by a trigger time point, comprising the method described in any of the above technical solutions, the system including:

[0045] The task module is connected to the network control system and is used to manage broadcast tasks; the task module includes a pre-signal unit, which emits a pre-signal.

[0046] The triggering module is configured based on the task module. The triggering module includes a detection unit, and a trigger threshold is set based on the detection unit.

[0047] Asynchronous coroutines are used to execute broadcast schedules for broadcast tasks;

[0048] The pre-signal unit emits a pre-signal within a cycle, which is broadcast via the central station. The remote station receives the pre-signal and, using the moment the pre-signal is received as a reference time, sets the execution time of the corresponding broadcast task within the current cycle; sets a trigger threshold; obtains the execution time of the time slot planned broadcast within the current cycle, and obtains the current time; sets the trigger condition for the current broadcast: if the difference between the current time and the execution time of the current broadcast is less than or equal to the trigger threshold, the broadcast task within the current cycle is executed; otherwise, it waits for the current time value to increase until the trigger condition is met.

[0049] Beneficial effects:

[0050] 1. This application, based on a time-triggered method, ensures that each broadcast task is executed at the planned time or within a reasonable margin of error.

[0051] 2. This invention enables the management of multiple broadcast tasks, allowing each broadcast task to focus solely on its own task without affecting the execution of other broadcast tasks due to processing time or other issues. Attached Figure Description

[0052] Figure 1 This is a flowchart of the process of the present invention.

[0053] Figure 2 This is a task sequence diagram of the task module polling of the present invention.

[0054] Figure 3 This invention adds a Task-N sequence diagram.

[0055] Figure 4 This is the first Scheduler implementation pseudocode in this invention.

[0056] Figure 5 These are four superframe loop diagrams selected in the superframe sequence of this invention.

[0057] Figure 6 It is based on the present invention Figure 5 A timeline diagram of the planned broadcast task execution.

[0058] Figure 7 This is the theoretical start time diagram for the first superframe loop of this invention.

[0059] Figure 8 This is a diagram showing the relationship between the interactive network superframe sequence and the superframe loop of the present invention.

[0060] Figure 9 This is the second Scheduler implementation pseudocode of the present invention. Detailed Implementation

[0061] The invention will now be further described with reference to the accompanying drawings.

[0062] In this application, Task-N represents a task, Task_exec represents the execution time, Task_T is a program-defined value, and Scheduler represents the task module.

[0063] Based on the problems mentioned in the background technology above, this application proposes a time-slot planning broadcast task method and system driven by trigger time points. To better illustrate this application, this embodiment explains some terms: a superframe sequence refers to a set of consecutive superframe cycles with the same center frequency but different time periods under the same interactive network. A time-slot plan refers to the communication planning of all remote stations under the interactive network within a certain time period, which is called a superframe cycle. Superframe and time slot are both concepts of time period. In the same time-slot plan, the order of the time periods they represent is: superframe cycle > superframe > time slot. A superframe cycle consists of n superframes, and a superframe consists of m time slots. A time slot is the smallest unit of time resource allocation, where n and m are both positive integers. Time slots are further divided into control time slots, login time slots, and service time slots. When allocating control time slots and service time slots, each time slot can only be allocated to one remote station, and only the remote station with this time slot can use it for communication. Login time slots can be used by any remote station under the interactive network.

[0064] Therefore, this application improves the process by which the central station in a network control system periodically sends data to a remote station, including the following steps:

[0065] S1. Based on the periodic broadcast tasks from the central station to the remote station in the network control system, a task module is constructed, and the task module is connected to the network control system;

[0066] S2. The task module is used to manage broadcast tasks;

[0067] S3. Construct a trigger module. The trigger module is based on the task module settings and creates an asynchronous coroutine for the broadcast task. The asynchronous coroutine executes the broadcast plan.

[0068] That is, by building a task module, the broadcast tasks of the periodic time slot plan are managed to ensure the effectiveness of the time slots.

[0069] In specific scenarios, since the tasks originate from various remote stations, it is necessary to analyze and decompose the tasks. Specifically:

[0070] In an improved embodiment, the process by which the task module creates periodic broadcast tasks includes:

[0071] S11. Collect the communication task requirements of each remote station within a predetermined time period, and construct a task scheduling topology sequence diagram based on the communication task requirements within the predetermined time period.

[0072] S12. Use depth-first search to calculate the connectivity and reachability of the task scheduling topology sequence graph, obtain the directed tasks in the task scheduling topology sequence graph that meet the connectivity and reachability, and construct a set of tasks to be processed based on the directed tasks.

[0073] S13. Calculate the overall resource utilization rate of each directed task in the set of tasks to be processed, sort them in descending order, and select the top K items as candidate tasks; K is an integer greater than or equal to 3.

[0074] S14. Construct time slots based on each candidate task item, and form superframes through the time slots to construct a superframe loop for each candidate task item.

[0075] S15. Optimize the time resources of the superframe loop using optimization algorithms including ant colony optimization and genetic optimization; obtain the optimized superframe loop.

[0076] In this embodiment, to arrange the tasks into a superframe, a task scheduling time-series topology is constructed. Then, a depth-first search algorithm is used to calculate its connectivity and reachability. Schemes meeting the conditions are grouped into a set of tasks to be processed, forming feasible solutions. These feasible solutions are then optimized and selected to obtain a superframe loop. This results in better efficiency, with improvements in resource consumption and timeliness. The solution in this embodiment is approximately 9.5% more efficient than the method of combining tasks at any time.

[0077] Step S11 further comprises:

[0078] S11a. Obtain the communication task requirements of each remote station within a predetermined time period, and divide the communication task requirements into common requirements and individual requirements by calculating the number of repetitions of the communication task; among them, the communication task requirements with more than half the number of repetitions of the remote stations are common requirements.

[0079] S11b. Normalize the number of repetitions of communication requirement tasks and use it as the weighting coefficient of communication task requirements.

[0080] S11c. Calculate the basic duration of communication task requirements within each predetermined time period based on non-repetitive communication task requirements; calculate the comprehensive duration of communication task requirements within each predetermined time period based on weighting coefficients and communication task durations.

[0081] S11d. Calculate the difference between the total duration and the basic duration of communication task requirements in each time period, and use this difference as the idle time slot; calculate the ratio of the basic duration to the total duration.

[0082] S11e. Search for communication task requirements within other predetermined time periods. If the ratio of the basic duration to the total duration of communication task requirements within the predetermined time period exceeds the threshold, then adjust some common requirements or individual requirements to adjacent predetermined time periods.

[0083] In this embodiment, task analysis and processing are the foundation for optimization. Therefore, by analyzing tasks, common tasks are identified as core and fundamental tasks, assigned weights, merged, and then transmitted. This ensures that tasks can be sent within a predetermined timeframe for most periods. If task repetition is low in a few time periods, the set task sending time may be exceeded. In this case, the relevant tasks can be transferred to adjacent superframes. Simultaneously, task consolidation allows more time to resend important tasks, preventing packet loss at some remote terminals and subsequent task re-requests, thus avoiding resource waste and congestion.

[0084] Before describing this embodiment, it's important to understand that in traditional computer communication, triggering a task at a precise point in time is difficult. However, if the actual time of task triggering and execution is within the allowable error range of the theoretical time, the task can be considered correctly triggered and executed. Therefore, in this embodiment, the task module manages broadcast tasks using the following method:

[0085] S21. Construct a front-end signal unit and connect it to the network control system. The front-end signal unit emits a front-end signal in one cycle and broadcasts it through the central station.

[0086] S22. The remote station receives the pre-signal and sets the corresponding broadcast task execution time within the current period based on the time when the pre-signal is received.

[0087] In this embodiment, the present application proposes a pre-signal that is received by the remote station in advance before the next broadcast task, and then used as a trigger signal.

[0088] Based on the above embodiments, the construction process of the trigger module in this embodiment includes:

[0089] S21. Set up a detection unit, and set the detection unit to check the time interval S of the broadcast task. T ;

[0090] S22. Based on the time interval of the inspection, set a trigger threshold;

[0091] S23. Obtain the execution time of the time slot plan broadcast within the current period, and obtain the current time;

[0092] Set the trigger condition for the current broadcast:

[0093] If the current time minus the execution time of the current broadcast is less than or equal to the trigger threshold, then the broadcast task within the current period will be executed.

[0094] Otherwise, wait for the current value to increase until the trigger condition is met;

[0095] S24. Repeat step S23 to execute the broadcast task in the next cycle.

[0096] This embodiment is illustrated in conjunction with the broadcast task scheduler, which needs to continuously check the execution time of the tasks it manages. However, if the broadcast task scheduler checks without intervals, it will consume a lot of computer resources, making the computer unable to complete other tasks. Therefore, a reasonable interval is needed between two checks by the broadcast task scheduler.

[0097] First, set a reasonable check interval for the broadcast task scheduler, denoted as ST. Each check point of the broadcast task scheduler can cover a certain time period after calculating the error forward or backward. In order to ensure that the check of the broadcast task scheduler can correctly trigger the execution of the task, these time periods must cover the entire time axis. Taking an error value of ST / 2 as an example, this ensures that the execution time of the task is detected.

[0098] Due to the large amount of specific algorithms and code, the subsequent code demonstrations will show the program's computation process in pseudocode form.

[0099] The specific workflow is as follows: Figure 2 As shown. Here, ST is a system variable with a pre-set value, set to 100ms in the network control system; Task_T is the size of the superframe loop corresponding to this broadcast task; and Task_exec is yet to be determined.

[0100] In a further embodiment, using the triggering module to create an asynchronous coroutine and execute a broadcast plan includes the following steps:

[0101] S2a, Construct or read a superframe loop T; a superframe loop consists of n superframes, and a superframe consists of m time slots, where n and m are both positive integers;

[0102] S2b, Obtaining the broadcast activation interval D based on the network control system. T Get the current time; get the theoretical trigger execution time point;

[0103] S2c, Calculate the error value, and determine the difference, error value, and effective interval D between the theoretical trigger execution time points. T Whether the sum is greater than the difference between the start time of the superframe loop T.

[0104] In a further embodiment, S2a further comprises: constructing or reading a superframe loop, wherein the superframe loop includes n superframes, and each superframe includes m basic time slots and a idle time slots. In this embodiment, by aggregating and processing repetitive tasks, the length of the superframe is reduced, thereby providing a certain number of idle time slots. Within these idle time slots, important information from adjacent time periods or information that cannot be accommodated in other time periods and requires a new superframe for processing can be sent.

[0105] Based on the above, the triggering module is used to create an asynchronous coroutine and execute a broadcast plan, including the following steps:

[0106] S31. Construct a superframe loop T in units of time slots; one superframe loop consists of n superframes, and one superframe consists of m time slots, where n and m are both positive integers.

[0107] S32. Obtain the broadcast activation interval D based on the network control system. T Get the current time; get the theoretical trigger execution time.

[0108] S33. Constructing the error value, then construct the difference between the theoretical trigger execution time points + the error value + the difference between the start time points of the effective interval DT and the superframe loop T.

[0109] like Figure 3 As shown, we will first take four superframe cycles in the superframe sequence as an example for analysis. The superframe cycle size of this superframe sequence is T, and the time periods corresponding to these four superframe cycles are T0, T1, T2, and T3, respectively. The start time points of these four time periods are t0, t1, t2, and t3, respectively.

[0110] Based on the above, we can plan the execution timeline of the broadcast task, as shown in the figure. In the figure above, exec_t1, exec_t2, etc., are different theoretical trigger execution times for the broadcast task, and DT is the time interval from when the broadcast is sent from the central station to when it is received at the remote end. The time slot plan of the superframe loop T1 takes effect at time t1. If 1 satisfies exec_t1+DT<=t1, then the actual execution time point and the theoretical time point have a certain error. This error is less than ST / 2. In order to ensure that the time slot plan received by the remote station is valid, then exec_t1+ST / 2+DT<=t1 must be satisfied. Now we only need to determine the time point exec_t1 as the first Task_exec to realize a broadcast task that meets the requirements.

[0111] ST = Optimal superframe loop time / 20, rounded to the nearest integer in units of 50. In the TD system, 50ns = 1 NCR time, so most time-related counts in the system are rounded to the nearest integer in units of 50.

[0112] The number of superframes within a superframe loop represents the maximum number of remote stations the central station can communicate with simultaneously. This metric is determined by the hardware, and the current optimal solution is 40-60 frames per second (the optimal solution, but it can be changed), so it is usually filled in by the user.

[0113] Target superframe size = 1 / number of superframes per second; Time slot size = 8µs for front protection + 0µs for back protection + [bandwidth / (1 + roll-off factor) / number of symbols transmitted per time slot]; Number of time slots = target superframe size / time slot size.

[0114] 1. Whenever a new remote station begins alignment, add it to the position (preferred) or the tail of the remote station queue that is currently being aligned.

[0115] 2. Each time communication begins after a new remote station has finished aligning, add it to the remote station queue at position 0 (preferred) or at the end.

[0116] 3. When a remote station transitions from alignment to communication, replace this position in the remote station queue that is currently being aligned with 0.

[0117] 4. When a remote station leaves the network, its position becomes 0, regardless of whether it is in the communication queue or the alignment queue. Each time slot allocation: simultaneously traverse the control time slots and the communication remote station queues. The communication remote station queues are allocated to control time slots sequentially. When the communication remote station queue is empty, the remaining control time slots are pushed onto the stack (last-in, first-out). Then, control time slots are popped from the stack one by one and matched with the remote stations currently performing time slot alignment. The remaining control time slots are filled with 0 for later use.

[0118] This ensures that the remote station that communicates first is always at the beginning of the time slot plan, and the remote station that starts alignment first is always at the end of the time slot plan. It also ensures that the position of the control time slot allocated to a remote station remains unchanged throughout its superframe cycle, even during its entry and exit from the network.

[0119] Before a broadcast task begins, all information regarding the superframe corresponding to that broadcast task should be known. ST is a system variable, a fixed value set by the program. T is the size of the superframe cycle, configured by the user before starting the broadcast task. DT, the time interval, should also be a known value calculated from the distances between the central station, satellite, and remote station.

[0120] To facilitate the calculation of exec_t1, when a broadcast task begins, the time of 0:00 on the current day is used as the theoretical start time of the first superframe loop of the planned superframe sequence.

[0121] like Figure 5As shown. ft represents the UTC time of 0:00 on the day when the 0 broadcast task starts, now_time represents the current time, and the superframe loop containing the calculated time point now_time+DT+xT is taken as T0. Then exec_t1=t1-(now_time+DT+xT), where xT is a protection time. An appropriate protection time allows the broadcast task to be triggered slightly earlier to ensure that the broadcast time slot plan can reach the remote station in advance. xT must be greater than or equal to ST / 2.

[0122] In the above formula, ft is determined to be 0:00 on the current day, now_time can be obtained by the time.now() method in the computer language, but t0 and t1 are still undetermined. In computers, time is generally stored as a positive integer, which represents the number of seconds that have passed since January 1, 1970, 00:00:00, and is called a timestamp. Therefore, time can be treated as a positive integer in arithmetic.

[0123] Given that the superframe loop size is T, then t0 = ft + T * (now_time + DT + xT - ft) / / T. By dividing by T and then multiplying by T, and rounding the interval between the time point and ft with T as the granularity, we can calculate t0. Then t1 = t0 + T.

[0124] At this point, all the variables needed to start a broadcast task have been determined: Task-N.Task_T=T; Task-N.task_exec=ft+T*(now_time+DT+xT-ft) / / T+T-(now_time+DT+xT).

[0125] Based on the above embodiments, a method for performing multiple broadcast tasks is also included, comprising the following steps:

[0126] S4. Construct an extension module, which is used to add or remove broadcast tasks.

[0127] According to one aspect of this application, the extension module further includes:

[0128] When the expansion module receives a broadcast task to add or remove items...

[0129] Information about increasing or decreasing broadcast tasks is sent to the task module, which then reconstructs the superframe loop based on the updated broadcast task information.

[0130] like Figure 6The diagram shows the relationship between superframe sequences and superframe cycles within the same interactive network. A and B represent two different superframe sequences in this interactive network, AL1 is the superframe cycle in superframe sequence A, and AT is the size of the superframe cycle in this superframe sequence; the same applies to BL1 and BT. It is clear from the diagram that the period is a concept relative to the superframe sequence, therefore the basic unit of broadcast task management should also be the superframe sequence, meaning that each superframe sequence has a separate broadcast task (Task-N).

[0131] The broadcast task scheduler checks at regular intervals whether the execution time of Task-N meets the trigger execution requirements. We only need to modify it slightly to check whether each broadcast task in the set of Task-N has reached the trigger execution condition. Each time a new superframe sequence is added to the network control system, a broadcast task needs to be added to this set.

[0132] In this embodiment, the new broadcast task scheduler implements pseudocode, which can use, for example... Figure 8 The content shown uses the Dict type in Python as the storage structure for the Task-N collection, which makes it easy to identify each Task-N. The name is a unique identifier assigned when a Task-N is added to this Dict.

[0133] like Figure 9 The image shows one of the program execution logs in this embodiment. TBTP stands for Time Slot Plan, which is broadcast to the remote station. Network:2-1 represents the name of the broadcast task. Each superframe cycle includes 50 superframes, with a time block size of 2.114 seconds. Due to the large link latency, DT is set to 2 seconds, and an additional 0.5s guard time is added. The superframe count starts from 0 and resets to 0 after reaching 65535. It can be seen that when the current superframe count is 1275, the program broadcasts the time slot plan for the next 50 superframes with a count of 1375 after 4 seconds. Since 2.5 > 2.114, the program broadcasts the time slot plan for the next 50 superframes within the second superframe cycle.

[0134] A system for effectively broadcasting time-slot plans, comprising a task module connected to a network control system for managing broadcast tasks; the task module includes:

[0135] A pre-signal unit, which emits a pre-signal;

[0136] The triggering module is configured based on the task module. The triggering module includes a detection unit, and a trigger threshold is set based on the detection unit.

[0137] Asynchronous coroutines are used to execute broadcast schedules for broadcast tasks.

[0138] The pre-signal unit emits a pre-signal within a cycle, which is broadcast via the central station. The remote station receives the pre-signal and, using the moment the pre-signal is received as a reference time, sets the execution time of the corresponding broadcast task within the current cycle; sets a trigger threshold; obtains the execution time of the time slot planned broadcast within the current cycle, and obtains the current time; sets the trigger condition for the current broadcast: if the current time - the execution time of the current broadcast ≤ the trigger threshold, then the broadcast task within the current cycle is executed; otherwise, it waits for the current time value to increase until the trigger condition is met.

[0139] The above technical solution assumes that preprocessing for a broadcast task requires 10ms. In the old program, the broadcast task period would no longer be T, but T+10ms. This would cause each broadcast task execution to delay the next broadcast task by 10ms, and this 10ms would accumulate. However, using a time-based Scheduler ensures that the theoretical time interval between two task triggers is always T, while the actual triggering always occurs within ST / 2 seconds before or after the time point with a period of T. Again, assuming the preprocessing for a broadcast task requires 10ms, advancing the first trigger time by 10ms will advance the trigger time of every subsequent task by 10ms. Furthermore, the error in each broadcast task will not affect the error in the next broadcast task, thus ensuring that the broadcast task period is stably controlled to T.

[0140] Using time-point triggering for broadcast tasks makes broadcast execution more controllable and facilitates future expansion. For example, if a remote station is added to the interactive network during program execution, and the satellite link latency of this station is greater than initially preset, we only need to calculate the difference between the two latency values ​​and then reduce the Task_exec of Task-N by the corresponding difference. This ensures that the broadcast time slot plan takes effect normally, and the value of Task_T remains unchanged, so the broadcast task cycle is not affected. Subsequent task triggering times on the entire timeline will be advanced by this difference. Similarly, errors caused by system hardware issues leading to extended computation time can also be corrected by adjusting Task_exec once.

[0141] The research revealed the following problems in certain scenarios, for example:

[0142] When constructing or reading superframe loops, the different requirements of different types of services for the length and number of time slots were not taken into account, which may lead to a decrease in the service quality of some services or a waste of resources. When using asynchronous coroutines to execute broadcast plans, the uncertainties such as channel interference, packet loss, and latency that may exist in the network were not taken into account, which may lead to unstable execution results or failure of broadcast tasks. When adding or removing broadcast tasks in the construction of extension modules, the impact of adding or removing broadcast tasks on existing broadcast tasks was not taken into account, which may lead to changes in the execution time or order of the original broadcast tasks, affecting the synchronization or continuity of broadcast tasks.

[0143] The following solutions are proposed to address the above problems.

[0144] The communication task requirements of each remote station within a predetermined time period are collected, and then classified and normalized according to parameters such as the number of repetitions, weight coefficients, basic duration, and comprehensive duration of the communication task requirements.

[0145] Based on the communication task requirements, a task scheduling topology sequence graph is constructed, and its connectivity and reachability are calculated using depth-first search.

[0146] Calculate the overall resource utilization rate of each directed task in the set of tasks to be processed, sort them in descending order, and select the top K items as candidate tasks.

[0147] A time slot is constructed for each candidate task, and a superframe is formed by combining the time slots to construct a superframe loop for each candidate task.

[0148] Optimization algorithms, including ant colony optimization and genetic algorithm, are used to optimize the time resources of superframe loop;

[0149] Construct a front-end signal unit, connect it to the network control system, send out front-end signals, and broadcast them via the central station;

[0150] The remote station receives the preceding signal and sets the execution time of the corresponding broadcast task in the current period based on the time when the preceding signal is received;

[0151] Build a trigger module, set the detection unit and trigger threshold based on the task module;

[0152] Get the execution time of the time slot plan broadcast within the current period, and get the current time;

[0153] Set the trigger condition for the current broadcast: if the difference between the current time and the execution time of the current broadcast is less than or equal to the trigger threshold, then the broadcast task in the current period is executed; otherwise, wait for the current time value to increase until the trigger condition is met.

[0154] Repeat the above steps to execute the broadcast task in the next cycle;

[0155] Use asynchronous coroutines to execute broadcast plans, construct or read superframe loops, obtain broadcast effective intervals based on network control systems, obtain the current time and theoretical trigger execution time, calculate error values, and determine whether the superframe loop needs to be adjusted.

[0156] An extension module is built to add or remove broadcast tasks. Information about adding or removing broadcast tasks is sent to the task module, which then rebuilds the superframe loop based on the updated broadcast task information.

[0157] To address the issues that a fixed trigger threshold may lead to significant errors in execution timing, and that judging based on the execution time of the time slot plan broadcast within the current period and the current time may consume excessive computing resources when executing tasks, the following solutions are provided:

[0158] A receiving module is built to receive and process broadcast task requests from other remote stations in real time in order to obtain the latest communication task request information.

[0159] The task construction module builds a task scheduling topology sequence diagram based on the received communication task requirement information, regenerates the set of tasks to be processed, and sorts them in descending order of comprehensive resource utilization. The task module selects the top K tasks as candidate tasks and constructs corresponding time slots and superframe loops. An optimization algorithm is applied to optimize the time resources in the superframe loop for each candidate task.

[0160] Construct a trigger module and update the detection unit parameters. Determine the execution conditions of the broadcast task based on the time slot of the current broadcast task, the scheduled broadcast execution time, and the current time.

[0161] The trigger module executes the broadcast plan for the broadcast task with the asynchronous coroutine, and considers an adaptive threshold adjustment mechanism.

[0162] Update the pre-signal. After receiving the pre-signal, the remote station sets the execution time of the broadcast task in the current period based on the received time.

[0163] This data processing flow will effectively solve the problem of synchronization and timeliness of broadcast tasks, reduce transmission delays and errors, and reduce the consumption of computing resources, thereby improving system performance.

[0164] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the spirit and scope of this application. Accordingly, this specification and drawings are merely illustrative descriptions of the application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from its scope. Thus, if such modifications and modifications fall within the scope of the claims and their equivalents, this application is also intended to include such modifications and modifications.

[0165] The above are merely preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A method for driving a time-slotted broadcast task based on a trigger time point, for a central station in a network control system to periodically send data to remote stations, characterized in that, The method comprises the following steps: S1, constructing a task module of an access network control system, for creating and executing a periodic broadcast task of a central station to a remote station in the network control system; S2, constructing a trigger module, the trigger module is based on the task module setting, creating an asynchronous coroutine for the broadcast task, and the asynchronous coroutine executes a broadcast plan; S3, managing the broadcast task through the task module; The process of creating a periodic broadcast task by the task module comprises: S11, collecting communication task demands of each remote station in a predetermined time period, and constructing a task scheduling topology time sequence diagram based on the communication task demands in the predetermined time period; S12, calculating the connectivity and reachability of the task scheduling topology time sequence diagram by using a depth-first search, obtaining a directed task in the task scheduling topology time sequence diagram that meets the connectivity and reachability, and constructing a to-be-processed task set based on the directed task; S13, calculating the comprehensive resource utilization of the directed task in the to-be-processed task set one by one, and arranging them in descending order, selecting the first K items as candidate task items; K is an integer greater than or equal to 3; S14, constructing a time slot based on each candidate task item, and forming a superframe by the time slots, constructing a superframe cycle of each candidate task item; S15, optimizing the time resources of the superframe cycle by using an optimization algorithm including an ant colony algorithm and a genetic algorithm; obtaining an optimized superframe cycle.

2. The method of claim 1, wherein the time point is a trigger time point. The step S11 further comprises: S11a, obtaining the communication task demands of each remote station in a predetermined time period, dividing the communication task demands into common demands and individual demands by calculating the repetition number of the communication demand tasks; wherein the common demands are the communication task demands whose repetition number exceeds half of the number of remote stations; S11b, normalizing the repetition number of the communication demand tasks as the weight coefficient of the communication task demands; S11c, calculating the basic duration of the communication task demands in each predetermined time period based on the non-repeated communication task demands; calculating the comprehensive duration of the communication task demands in each predetermined time period based on the weight coefficient and the communication task duration; S11d, calculating the difference between the comprehensive duration and the basic duration of the communication task demands in each time period, taking the difference as an idle time slot; calculating the ratio of the basic duration to the comprehensive duration; S11e, searching for the communication task demands in other predetermined time periods, if the ratio of the basic duration to the comprehensive duration of the communication task demands in the predetermined time period exceeds a threshold, adjusting part of the common demands or individual demands to the adjacent predetermined time period.

3. The method of claim 1, wherein the time point is triggered by a time point trigger event. The method for managing the broadcast task by the task module comprises: ​ S31, constructing a pre-signal unit, accessing the network control system, the pre-signal unit sends a pre-signal in a period, and the pre-signal is broadcasted by the central station; S32, the remote station receives the pre-signal, and sets the execution time of the corresponding broadcast task in the current period based on the time when the pre-signal is received as the reference time.

4. The method of claim 3, wherein the time point is a trigger time point. Further comprising a method for executing multiple broadcast tasks, comprising the following steps: S4, constructing an expansion module, the expansion module is used to increase or decrease the broadcast task.

5. The method of claim 4, wherein the time point is a trigger time point. The expansion module further comprises: When the expansion module receives an increase or decrease of the broadcast task, The information of increasing or decreasing the broadcast task is sent to the task module, and the task module reconstructs the superframe cycle based on the updated broadcast task information.

6. A system for driving a time-slot schedule broadcast task based on a trigger time point, based on the method of any one of claims 1 to 5, characterized in that, Comprise: The task module accesses the network control system and is used for managing the broadcast task; The task module comprises a pre-signal unit which sends a pre-signal; The trigger module is set based on the task module, and the trigger module comprises a detection unit which sets a trigger threshold based on the detection unit; An asynchronous coroutine is used for executing a broadcast plan of the broadcast task; The pre-signal unit sends a pre-signal in a cycle and broadcasts the pre-signal via a central station; the remote station receives the pre-signal and sets the execution time of the corresponding broadcast task in the current cycle based on the time when the pre-signal is received as a reference time; The trigger threshold is set; The execution time of the time slot plan broadcast in the current cycle is obtained, and the current time is obtained; the trigger condition of the current broadcast is set: the difference between the current time and the execution time of the current broadcast is less than or equal to the trigger threshold, and the broadcast task in the current cycle is executed; Otherwise, wait for the current time value to increase until the trigger condition is reached.

Citation Information

Patent Citations

  • Time slot synchronization method for TDMA / MF-TDMA satellite communication system

    CN114867095A

  • Node processing method and device, electronic equipment, storage medium and server

    CN115002114A

  • Timing task processing method and device

    CN115292023A