CN110620735B - Dynamic load balancing telemetering method based on tabular configuration - Google Patents

Dynamic load balancing telemetering method based on tabular configuration Download PDF

Info

Publication number
CN110620735B
CN110620735B CN201910849417.8A CN201910849417A CN110620735B CN 110620735 B CN110620735 B CN 110620735B CN 201910849417 A CN201910849417 A CN 201910849417A CN 110620735 B CN110620735 B CN 110620735B
Authority
CN
China
Prior art keywords
telemetering
telemetry
period
task
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910849417.8A
Other languages
Chinese (zh)
Other versions
CN110620735A (en
Inventor
高飞
刘思东
苏平
薛玥
曹芳芳
彭汉章
梁中兴
王�琦
徐自衡
李丽萍
孙建祥
张欣
王冲
杨威
钱景
周绍楠
刘海彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Aerospace Automatic Control Research Institute
Original Assignee
Beijing Aerospace Automatic Control Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Aerospace Automatic Control Research Institute filed Critical Beijing Aerospace Automatic Control Research Institute
Priority to CN201910849417.8A priority Critical patent/CN110620735B/en
Publication of CN110620735A publication Critical patent/CN110620735A/en
Application granted granted Critical
Publication of CN110620735B publication Critical patent/CN110620735B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Selective Calling Equipment (AREA)

Abstract

A dynamic load balancing telemetering method based on tabular configuration is used for carrying out observation data telemetering after necessary functions required by each period are completed in periodic tasks; the method comprises the following steps: (1.1) defining all telemetering data to be transmitted into a table form to form a telemetering data configuration and operation table; (1.2) preparing telemetering data according to the static configuration information of the telemetering data of each row by using each row in a periodic telemetering task generator history table, configuring telemetering task parameters according to the dynamic running information, and generating a telemetering task; (1.3) putting each telemetry task into a priority queue to be executed to wait for being executed; (1.4) defining a periodic telemetry task executor, and calculating the remaining time of the period and the bus load rate of the past ts in each period; (1.5) calculating the number of the executed telemetry messages, and taking out a corresponding number of telemetry tasks from the queue to execute according to the priority; 1.6 The telemetry receiver sets up the receive buffer to balance peak bus loads.

Description

Dynamic load balancing telemetering method based on tabular configuration
Technical Field
The invention relates to a dynamic load balancing telemetering method based on tabular configuration, which can be used for realizing a periodic telemetering function and belongs to the technical field of measurement and control systems.
Background
Industrial measurement and control systems often monitor the operating conditions of the system. In most cases, the monitored data cannot be transmitted by wire, so the data is usually periodically transmitted to the remote monitoring device by the monitoring device, and is wirelessly transmitted to the remote receiving end by the antenna system. Because the telemetering antenna system has bandwidth limitation, the telemetering equipment often limits the load rate of a bus to which the telemetering information is sent by the monitoring equipment, and prevents the telemetering data from being covered by new data before being sent out by the antenna, so that the problems of incompleteness, inconsistency and the like caused by data loss are solved.
The current method for solving the problem is usually static design, namely, the time consumed by each period of telemetry and the bus load rate distribution are estimated in advance during design, and when the type of the telemetry information changes, the method needs to be redesigned, so that the workload is very large. In addition, in the static design scheme, the utilization rate of the bus is low in actual operation to ensure that the load rate constraint of the rated bus is met, and the capability of the hardware equipment cannot be efficiently utilized.
Disclosure of Invention
The technical problem solved by the invention is as follows: the method realizes high expansibility of a telemetry solution through tabular configuration, and greatly improves the utilization rate of bus resources under the condition of meeting the constraint of bus load rate through dynamically calculating the bus load and carrying out a load balancing strategy according to the bus load.
The technical scheme of the invention is as follows: a dynamic load balancing telemetering method based on tabular configuration is used for periodical tasks, and observation data telemetering is carried out after each period finishes required necessary functions; the method comprises the following steps:
(1.1) defining all the telemetric data to be transmitted into a table form to form a telemetric data configuration and operation table, wherein each row in the table comprises a telemetric data item, and each telemetric data item comprises two parts: static configuration information and dynamic runtime information;
(1.2) defining a periodic telemetry task generator, traversing each row in a telemetry data configuration and operation table by using the generator, preparing telemetry data according to the static configuration information of each row of telemetry data, configuring telemetry task parameters according to dynamic operation information, and generating a telemetry task;
(1.3) the periodic telemetry task generator puts each telemetry task generated in the step 1.2 into a priority queue to be executed, and waits to be executed;
(1.4) defining a periodic telemetry task executor, wherein the executor calculates the residual time of the period in each period and simultaneously calculates the bus load rate of the past ts; the value range of t is 1-2s;
(1.5) calculating the number of the executable telemetry messages according to the calculated remaining time and the bus load rate of the past ts, and taking out a corresponding number of telemetry tasks from the telemetry task queue according to the priority to execute;
and (1.6) setting a receiving buffer by a telemetry receiving party, and balancing peak bus load.
Preferably, the static configuration information includes: the name of the data, the index of the data, the sending destination address, the data capacity (the unit is bit), the reliability level, the sending condition and the number of cycles needed to send; the reliability level includes critical, important, general; the dynamic operating states include: enable flag, number of sent cycles, flip-flop.
Preferably, each telemetry task generated by the periodic telemetry task generator is formed by a unified single-period telemetry task running form, and the single-period telemetry task running form comprises the following parts: destination address, data capacity, expected run time.
Preferably, the periodic telemetry task generator starts processing from the first row of the telemetry data configuration and running table, and puts each generated telemetry task into a priority queue to be executed by the following steps:
(4.1) judging whether the telemetering data defined by the current row meets the sending condition in the telemetering data configuration and operation table, and if so, setting an enabling flag in the telemetering data configuration and operation table to be true; and executing the next step, otherwise, executing (4.3);
(4.2) judging whether the current sent cycle number is less than the cycle number needing to be sent: if the current sent cycle number is less than the required sending cycle number, generating a single-cycle telemetering task running form, respectively filling the same name fields of the single-cycle telemetering task running form with the sending destination address and the data capacity in the telemetering data configuration and running table, calculating the predicted running time of the single-cycle telemetering task running form, putting the single-cycle telemetering task running form into a corresponding priority queue according to the reliability level in the telemetering data configuration and running table, and adding 1 to the sent cycle number in the telemetering data configuration and running table;
if the number of the current sent cycles is more than or equal to the number of the cycles needing to be sent, setting an enabling mark in the telemetering data configuration and operation table to be false;
and (4.3) configuring and executing next row data of the telemetering data from the step (4.1).
Preferably, the predicted running time is obtained by dividing the data capacity of the telemetry data in the corresponding processing line by the bus communication baud rate.
Preferably, the priority queue is divided into three levels of priorities, namely key information, important information and general information; the key information is preferentially executed, and the correct and reliable execution is ensured by repeatedly executing twice; the important information is executed first, i.e. before the general information, which is executed when there are no other two kinds of information.
Preferably, the step of calculating the remaining time of the present period is as follows:
(6.1) setting a microsecond Timer to be 0 at the beginning of each period;
(6.2) after the work of each period is finished, inquiring the time of a microsecond Timer as a consumed time value in the period;
and (6.3) subtracting the consumed time value in the period from 95% of the period time length to obtain the remaining time of the period.
Preferably, the bus load rate calculating step of calculating the past ts is as follows:
(7.1) initializing a telemetering digit counter Count _ Total to be a value of 0;
(7.2) counting the number of telemetering data bits per period according to the period;
(7.3), let Count _ Total = Count _ Total + Count;
(7.4) inquiring whether the accumulated periodicity reaches ts, if so, counting _ Total/t and rounding up to be used as the load rate of the past ts accumulated bus, assigning the value to BusLoad, then resetting the counting _ Total, and returning to the step (7.2); if not, returning to the step (7.2).
Preferably, the processing step of calculating the number of telemetry messages that can be executed comprises:
(8.1) setting the single-cycle bus load rate BusLoad _ Local value to be 0;
and (8.2) prefetching the telemetry tasks, and estimating the maximum number of the telemetry tasks to be executed in the period according to the remaining time value of the period:
(8.3) limiting the number of the telemetry tasks according to the rated value of the bus load rate: when the bus load rate Busload of the past ts is greater than the rated value of the bus load rate and the bus load rate in the single period of the previous period, namely the current Busload _ Local values are all greater than the rated value of the bus load rate, continuously reducing the number of the telemetering tasks item by item until the bus load rate in the period is less than the rated bus load rate, and stopping reducing the number of the telemetering tasks; at the moment, the number of the telemetering tasks is the final number of the telemetering tasks to be executed in the period;
and (8.4) executing the telemetry task expected to be executed in the cycle, executing the dequeued telemetry task in the key information queue twice, executing the dequeued telemetry task in the important information queue and the general information queue once, calculating the total accumulated telemetry information digit in the cycle, and calculating the bus load rate BusLoad _ Local in the single cycle of the cycle according to a method of dividing the total accumulated telemetry information digit in the cycle by the cycle time length.
Preferably, the (8.2) is realized by the following steps:
(8.2.1) prefetching the telemetry task to be executed from the key information queue according to the remaining time value of the period, and simultaneously respectively accumulating the execution time of the telemetry task and the bit number of the accumulated telemetry information; accumulating the execution time of the dequeued telemetering tasks in the key information queue and the number of telemetering information bits according to double;
(8.2.2) if the key information queue does not have the telemetry task needing to be executed, prefetching the telemetry task to be executed from the important information queue, and simultaneously accumulating the execution time of the telemetry information and accumulating the number of bits of the telemetry information; accumulating the execution time of the dequeued telemetering tasks and the number of telemetering information bits in the important information queue according to single times;
(8.2.3) if the execution of the telemetry task in the important information queue is finished, prefetching the telemetry task to be executed from the general information queue, and simultaneously respectively accumulating the execution time of the telemetry information and the number of bits of the telemetry information; the execution time of the dequeued telemetering tasks in the general information queue and the number of the telemetering information bits are accumulated according to single times;
in the process of prefetching the telemetry task, if the accumulated execution time value of the telemetry task is greater than the residual time value of the period, subtracting 1 from the number of all the prefetched telemetry tasks currently, and taking the number of the telemetry tasks to be executed in the maximum period; otherwise, taking the number of all the telemetry tasks in the priority queue as the maximum number of the telemetry tasks to be executed in the period.
Preferably, in the step (1.6), the telemetry receiving party sets a receiving buffer to balance peak bus load, the size of the buffer should be set to be more than 2 times of the peak value of the bus load rate, and the processing speed of the receiving data of the receiving party should be more than 1.2 times of the rated load rate of the bus.
Compared with the prior art, the invention has the following advantages:
(1) The method achieves the optimized design on the utilization of computing resources. The method has the advantages that the remaining computing time is fully utilized for telemetering and sending after each period of control, the sending efficiency of telemetering data is improved, the telemetering throughput is increased from the perspective of computing resources, more telemetering data can be sent in a fixed period, and the monitoring of various operating characteristics of the system is facilitated;
(2) The method of the invention optimizes the utilization of the bus load on the basis of the optimized utilization of the computing resources. Due to the bandwidth limitations of the antenna, telemetry systems tend to limit the load rate of the bus over which telemetry data is transmitted. The static design method usually adopted is to fix the sending rhythm of each type of data in the telemetry process at the beginning to adapt to the load rate constraint of the communication bus, which usually needs to perform multiple iterations of tests to adjust the utilization rate of the bus to a satisfactory degree, and even then, the utilization rate of the bus is still sacrificed to compensate the design deviation. The method of the invention can adjust the sent telemetering data amount according to the instant load condition of the bus, thereby maximizing the utilization rate of the bus;
(3) The traditional static telemetry scheme cannot be dynamically adjusted according to the real running state of the system, and when the telemetry scheme of the system is feasible under a certain working condition, the telemetry scheme of the system is likely to become infeasible under another working condition, so that the adaptability of the system is limited. The method of the invention can dynamically adjust the telemetering scheme by configuring the rated bus load rate, even the telemetering schemes in each period are different, thereby greatly improving the adaptability of the original system and reducing the design cost;
(4) The method of the invention is compatible with different processing modes of each telemetering message by means of triggers and the like, and can add subsequent measures after the processing is finished, thereby greatly expanding the current telemetering function.
(5) The invention configures the telemetering data in a tabular form, thereby separating data and processing and greatly increasing the expandability of the telemetering data types. By means of the form of the trigger, different forms of processing are made possible for different telemetry messages. In the sending of the telemetering information, the constraints of the computing resources and the bus load rate are considered at the same time, and the computing resources and the bus resources used for telemetering processing in each period are dynamically analyzed on the constraints, so that the utilization rate of the computing resources and the utilization rate of the bus resources are greatly improved. Under the condition that hardware equipment is unchanged, the throughput of the telemetry data is maximized, and the sampling data of the monitored system can be better acquired.
(6) According to the invention, by dynamically calculating the bus load rate, the telemetering transmission efficiency can be effectively improved and the telemetering transmission data volume in unit time can be increased under the condition of telemetering bus load rate constraint, so that more monitoring data can be conveniently telemetered and obtained, and the monitoring strength of the running state of a monitored system is enhanced;
(7) The invention can adjust the type of the telemetering data, the frequency of the data, the data-related operation and the like by configuring the static telemetering data, thereby having better expansibility;
(8) The efficiency of the telemetering method is easy to evaluate, and the time consumption of tasks in each period is fixed, so that the operating efficiency of the system can be better estimated.
Drawings
FIG. 1 is a process flow diagram of the present invention.
Detailed Description
The invention is described in detail below with reference to fig. 1. A dynamic load balancing telemetering method based on tabular configuration is used for periodical tasks, and observation data telemetering is carried out after each period finishes required necessary functions; the method comprises the following steps:
(1.1) defining all the telemetric data to be transmitted into a table form to form a telemetric data configuration and operation table, wherein each row in the table comprises a telemetric data item, and each telemetric data item comprises two parts of contents: static configuration information and dynamic runtime information:
the static configuration information includes: the name of the data, the index of the data, the sending destination address, the data capacity (the unit is bit), the reliability level, the sending condition and the number of cycles needed to send; the reliability level includes critical, important, general; the dynamic operating states include: enable flag, number of sent cycles, flip-flop.
(1.2) defining a periodic telemetry task generator, traversing each row in a telemetry data configuration and operation table by using the generator, preparing telemetry data according to the static configuration information of each row of telemetry data, configuring parameters of a telemetry task according to dynamic runtime information, and generating a telemetry task:
each telemetry task generated by the periodic telemetry task generator is formed by a unified single-period telemetry task running form, and the single-period telemetry task running form comprises the following parts: sending destination address, data capacity, expected run time.
(1.3) the periodic telemetry task generator puts each telemetry task generated in the step 1.2 into a priority queue to be executed, and waits to be executed:
the periodic telemetry task generator starts processing from a first row of a telemetry data configuration and running table, and each generated telemetry task is placed in a priority queue to be executed through the following steps:
(1.3.1) judging whether the telemetering data defined by the current row meets the sending conditions in the telemetering data configuration and operation table, and if so, setting an enabling mark in the telemetering data configuration and operation table to be true; and executing the next step, otherwise, executing (1.3.3);
(1.3.2), judging whether the current sent cycle number is less than the required sending cycle number: if the current sent cycle number is less than the cycle number required to be sent, generating a single-cycle telemetering task running form, filling the same name fields of the single-cycle telemetering task running form with the sending destination address and the data capacity in the telemetering data configuration and running table respectively, calculating the predicted running time of the single-cycle telemetering task running form, putting the running time into a corresponding priority queue according to the reliability level in the telemetering data configuration and running table, and adding 1 to the sent cycle number in the telemetering data configuration and running table; the predicted running time is obtained by dividing the data capacity of the telemetering data in the corresponding processing line by the bus communication baud rate.
If the number of the current sent cycles is more than or equal to the number of the cycles needing to be sent, setting an enabling mark in the telemetering data configuration and operation table to be false;
and (1.3.3) configuring and executing the next row of data of the telemetry data from the step (1.3.1).
(1.4) defining a periodic telemetry task executor, wherein the executor calculates the remaining time of the period in each period and simultaneously calculates the bus load rate of the past 1 s;
the remaining time calculation step of this cycle is as follows:
(A1.4.1), setting a microsecond Timer to be 0 at the beginning of each period;
(A1.4.2) after the work of each period is finished, inquiring the time of a microsecond Timer, and taking the time as a consumed time value in the period;
(A1.4.3), and subtracting the time value consumed in the period from 95% of the period time length to obtain the remaining time of the period.
The bus load rate calculation steps of the past 1s are as follows:
(B1.4.1), initializing a telemetering digit counter Count _ Total to be a value of 0;
(B1.4.2), counting the number of telemetering data bits per period according to the period;
(b1.4.3), let Count _ Total = Count _ Total + Count;
(B1.4.4), inquiring whether the accumulated periodicity reaches 1s, if so, counting _ Total and rounding up to be used as the accumulated bus load rate of the past 1s, assigning the value to BusLoad, then resetting the counting _ Total, and returning to the step (B1.4.2); if not, returning to the step (B1.4.2).
(1.5) calculating the number of the executable telemetry messages according to the calculated remaining time and the bus load rate of the past ts, and taking out a corresponding number of telemetry tasks from the telemetry task queue according to the priority to execute; the priority queue of the remote measurement task is divided into three levels of priority, namely key information, important information and general information; the key information is preferentially executed, and the correct and reliable execution is ensured by repeatedly executing twice; the important information is executed first, i.e. before the general information, which is executed when there are no other two kinds of information.
The steps of calculating the number of the executed telemetry messages and taking out the corresponding number of the telemetry tasks from the telemetry task queue according to the priority are as follows:
(1.5.1) setting the single-cycle bus load rate BusLoad _ Local value to be 0;
(1.5.2), pre-fetching the telemetry tasks, and estimating the maximum number of the telemetry tasks to be executed in the period according to the remaining time value of the period:
(1.5.3) limiting the number of the telemetry tasks according to the rated value of the bus load rate: when the bus load rate Busload of the past ts is greater than the rated value of the bus load rate and the bus load rate in the single period of the previous period, namely the current Busload _ Local values are all greater than the rated value of the bus load rate, continuously reducing the number of the telemetering tasks item by item until the bus load rate in the period is less than the rated bus load rate, and stopping reducing the number of the telemetering tasks; at the moment, the number of the telemetering tasks is the final number of the telemetering tasks to be executed in the period;
(1.5.4) the bus load rate BusLoad _ Local in a single period of the period is calculated according to a method of dividing the total accumulated telemetering information digit of the period by the period time.
Wherein (1.5.2) is achieved by:
(1.5.2.1) prefetching a telemetry task to be executed from the key information queue according to the remaining time value of the period, and simultaneously respectively accumulating the execution time of the telemetry task and accumulating the number of bits of the telemetry information; accumulating the execution time of the dequeued telemetering tasks in the key information queue and the number of telemetering information bits according to double;
(1.5.2.2), if the key information queue has no telemetering tasks which need to be executed, prefetching the telemetering tasks to be executed from the important information queue, and simultaneously respectively accumulating the telemetering information execution time and the telemetering information digit; accumulating the execution time of the dequeued telemetering tasks and the number of telemetering information bits in the important information queue according to single times;
(1.5.2.3), if the execution of the telemetry task in the important information queue is finished, prefetching the telemetry task to be executed from the general information queue, and simultaneously respectively accumulating the execution time of the telemetry information and the number of bits of the telemetry information; the execution time of the dequeued telemetering tasks in the general information queue and the number of the telemetering information bits are accumulated according to single times;
in the process of prefetching the telemetering tasks, if the accumulated telemetering task execution time value is greater than the residual time value of the period, subtracting 1 from the number of all the prefetched telemetering tasks currently, and taking the number as the maximum number of the telemetering tasks to be executed in the period; otherwise, taking the number of all the telemetry tasks in the priority queue as the maximum number of the telemetry tasks to be executed in the period.
And (1.6) setting a receiving buffer by the telemetry receiving party, and balancing peak bus load. The size of the cache is set to be more than 2 times of the peak value of the bus load rate, and meanwhile, the processing speed of the data received by the receiving party is higher than 1.2 times of the rated load rate of the bus.
Example (b):
we describe our method by taking as an example the observation of telemetry results on a sequence of 4 fixed data and 1 random data. In a certain system, the telemetry period is 5ms, the baud rate is 32000bit/s, the rated value of the bus load rate is 28000bit/s, and the operating scene of the telemetry task actuator is described by taking a certain integral second point T0 as an example and three sections of T0, T1 and T2 (wherein, T1= T0+5ms, T2= T0+10ms, and the sending condition of the message 5 is triggered at the time T1).
TABLE 1 static configuration Table for telemetry messages
Figure BDA0002196393160000101
TABLE 2 dynamic running table for telemetric messages
Figure BDA0002196393160000102
Figure BDA0002196393160000111
TABLE 3 telemetry task run form
Task name Sending destination address Data capacity (bit) Predicted run time
Task 1 IP1 4*16 2ms
Task 2 IP2 1*16 0.5ms
Task 3 IP3 4*16 2ms
Task 4 IP4 3*16 1.5ms
Task 5 IP5 2*16 1ms
And transmitting the telemetry data based on the telemetry data tabulation configuration design method for balancing the load. The method comprises the following steps:
(1) Configuring 5 telemetry messages in a table form to form a telemetry data static configuration table and a telemetry data dynamic operation table, wherein the table form is shown in tables 1 and 2;
(2) Defining a periodic telemetry task generator according to a telemetry data static configuration table and a dynamic operation table, and configuring telemetry task parameters as shown in a table 3;
(3) And (3) putting each telemetering task generated in the step (1.2) into a priority queue to be executed according to the reliability level of the telemetering information (at this time, the task 1 and the task 5 are put into a key information queue, the task 2 and the task 4 are put into an important information queue, and the task 3 is put into a general information queue), and waiting to be executed. (ii) a
(4) Defining a periodic telemetry task executor, calculating the remaining time of the period (namely, the remaining time of the period of the T0 moment is 4.6ms, the remaining time of the period of the T1 moment is 4.1ms, and the remaining time of the period of the T2 moment is 4.1 ms) when each period is called, and simultaneously calculating the load rate 28120bit/s of the bus in the past 1 s;
(5) And calculating the number of the executable telemetry messages according to the calculated remaining time and the bus load rate of the past 1s, and taking out a corresponding number of telemetry tasks from the telemetry task queue according to the priority to execute, wherein the details are shown in a table 4.
(5.1) at the time of T0, the remaining time of the period is 4.6ms, the telemetering tasks to be executed in the key information queue are task 1, the execution time is 2ms, the number of telemetering information bits is 4 x 16bit, the execution time and the number of telemetering information bits of all the telemetering tasks which are dequeued in the key information queue are accumulated according to double times, so the consumed time is 4ms, and the number of telemetering information bits is 8 x 16bit; then, telemetering tasks 2 and 4 to be executed are taken out from the important information queue, the execution time of the task 2 is 0.5ms, the number of bits of telemetering information is 1 x 16bit, the execution time of the task 4 is 1.5ms, and the number of bits of telemetering information is 3 x 16bit; at this time, in the process of prefetching task 4, if the accumulated execution time value of the telemetry task is 6ms (4 ms +0.5ms +1.5 ms) longer than the remaining time 4.6ms, task 4 cannot be executed; meanwhile, through calculation, the bus load rate BusLoad _ Local in the period is 28800 bits/s and is more than the rated value of the bus load rate 28000 bits/s, so that the task 2 cannot be executed, the task 1 can only be executed in the T0 period, the task 2, the task 3 and the task 4 cannot be executed, and the bus load rate after current limiting is 25600 bits/s;
(5.2) at the time of T1, the remaining time of the period is 4.1ms, the telemetering tasks to be executed in the key information queues are tasks 5, the executed time is 1ms, the number of telemetering information bits is 2 x 16bit, the executed time and the number of telemetering information bits of all the telemetering tasks which are dequeued in the key information queues are accumulated according to double times, so the consumed time is 2ms, and the number of telemetering information bits is 4 x 16bit; then, telemetering tasks 2 and 4 to be executed are taken out from the important information queue, the execution time of the task 2 is 0.5ms, the number of bits of telemetering information is 1 x 16bit, the execution time of the task 4 is 1.5ms, and the number of bits of telemetering information is 3 x 16bit; then taking out the telemetering task 3 to be executed from the general information queue, wherein the execution time of the task 3 is 2ms, and the number of bits of the telemetering information is 4 x 16bit; at this time, in the process of prefetching task 3, the accumulated execution time value of the telemetry task is 6ms (2ms +0.5ms +1.5ms + 2ms) is greater than the remaining time 4.1ms, so that in the period T1, only task 5, task 2 and task 4 can be executed, and task 3 cannot be executed; calculated, the bus load rate BusLoad _ Local of the period is 25600 bits and is smaller than the rated value of the bus load rate;
(5.3) at the time of T2, the remaining time of the period is 4.1ms, the telemetering tasks to be executed in the key information queues are task 5, the executed time is 1ms, the telemetering information digits are 2X 16bit, the executed time and the telemetering information digits of all the telemetering tasks which are dequeued in the key information queues are accumulated according to double times, so the consumed time is 2ms, and the telemetering information digits are 4X 16bit; at the moment, if the important information queue has no telemetering task to be executed, taking out the telemetering task 3 to be executed from the general information queue, wherein the execution time of the task 3 is 2ms, and the number of telemetering information bits is 4 x 16bit; at this point all telemetry tasks are performed. At this time, the accumulated telemetry task execution time value 4ms (2ms + 2ms) is less than the remaining time 4.1ms, so that all telemetry tasks, namely task 5 and task 3, can be executed in the T2 period; calculated, the bus load rate BusLoad _ Local of the period is 25600 bits and is smaller than the rated value of the bus load rate;
(6) And the receiving buffer size of the telemetering receiver is set to be 51200 bits every 5 milliseconds, and the processing speed is 34000 bits/s.
TABLE 4 telemetry task executor execution results
Figure BDA0002196393160000131
Figure BDA0002196393160000141
Although the present invention has been described with reference to the preferred embodiments, it is not intended to limit the present invention, and those skilled in the art can make variations and modifications of the present invention without departing from the spirit and scope of the present invention by using the methods and technical contents disclosed above.

Claims (8)

1. A dynamic load balancing telemetering method based on tabular configuration is characterized in that the telemetering method is used in periodic tasks, and observation data telemetering is performed after necessary functions required by each period are completed; the method comprises the following steps:
(1.1) defining all the telemetric data to be transmitted into a table form to form a telemetric data configuration and operation table, wherein each row in the table comprises a telemetric data item, and each telemetric data item comprises two parts: static configuration information and dynamic runtime information;
(1.2) defining a periodic telemetry task generator, traversing each row in a telemetry data configuration and operation table by using the generator, preparing telemetry data according to the static configuration information of each row of telemetry data, configuring telemetry task parameters according to dynamic operation information, and generating a telemetry task;
(1.3) the periodic telemetry task generator puts each telemetry task generated in the step 1.2 into a priority queue to be executed, and waits to be executed;
(1.4) defining a periodic telemetry task executor, wherein the executor calculates the residual time of the period in each period and simultaneously calculates the bus load rate of the past ts; the value range of t is 1-2;
(1.5) calculating the number of the executable telemetry messages according to the calculated remaining time and the bus load rate of the past ts, and taking out a corresponding number of telemetry tasks from the telemetry task queue according to the priority to execute;
(1.6) the telemetering receiver sets a receiving cache to balance peak bus load;
the step of calculating the remaining time of the period is as follows:
(6.1) setting a microsecond Timer to be 0 at the beginning of each period;
(6.2) after the work of each period is finished, inquiring the time of a microsecond Timer as a consumed time value in the period;
(6.3) subtracting the consumed time value in the period from 95% of the period time length to obtain the remaining time of the period;
the bus load rate calculation steps for calculating past ts are as follows:
(8.1) initializing a telemetering digit counter Count _ Total to be a value of 0;
(8.2) counting the number of telemetering data bits per period according to the period;
(8.3), let Count _ Total = Count _ Total + Count;
(8.4) inquiring whether the accumulated periodicity reaches ts, if so, counting _ Total/t and rounding up to be used as the load rate of the past ts accumulated bus, assigning the value to BusLoad, then resetting the counting _ Total, and returning to the step (8.2); if not, returning to the step (8.2);
the processing step of calculating the number of telemetry messages that can be executed includes:
(9.1) setting the single-cycle bus load rate BusLoad _ Local value to be 0;
and (9.2) prefetching the telemetry tasks, and estimating the maximum number of the telemetry tasks to be executed in the period according to the remaining time value of the period:
(9.3) limiting the number of the telemetry tasks according to the rated value of the bus load rate: when the bus load rate Busload of the past ts is greater than the rated value of the bus load rate and the bus load rate in the single period of the previous period, namely the current Busload _ Local values are all greater than the rated value of the bus load rate, continuously reducing the number of the telemetering tasks item by item until the bus load rate in the period is less than the rated bus load rate, and stopping reducing the number of the telemetering tasks; at the moment, the number of the telemetering tasks is the final number of the telemetering tasks to be executed in the period;
and (9.4) executing the telemetering tasks expected to be executed in the cycle, executing the dequeued telemetering tasks in the key information queue twice, executing the dequeued telemetering tasks in the important information queue and the general information queue once, calculating the total accumulated telemetering information digit in the cycle, and calculating the bus load rate BusLoad _ Local in the single cycle of the cycle according to the method of dividing the total accumulated telemetering information digit in the cycle by the cycle time length.
2. The method of claim 1, wherein the dynamic load balancing telemetry method is based on a tabular configuration, and wherein: the static configuration information comprises: the name, data index, sending destination address and data capacity of the data, wherein the unit is bit, reliability level, sending condition and number of cycles required to be sent; the reliability level includes critical, important, general; the dynamic operating states include: enable flag, number of sent cycles, flip-flop.
3. The method of claim 1, wherein each telemetry task generated by the periodic telemetry task generator is comprised of a unified single-period telemetry task execution form, the single-period telemetry task execution form comprising: destination address, data capacity, expected run time.
4. The method of claim 1, wherein the periodic telemetry task generator begins processing from a first row of the telemetry data configuration and execution table, and each generated telemetry task is placed in a priority queue to be executed by:
(4.1) judging whether the telemetering data defined by the current row meets the sending conditions in the telemetering data configuration and operation table, and if so, setting an enabling mark in the telemetering data configuration and operation table to be true; and executing the next step, otherwise, executing (4.3);
(4.2) judging whether the current sent cycle number is less than the required sending cycle number: if the current sent cycle number is less than the cycle number required to be sent, generating a single-cycle telemetering task running form, filling the same name fields of the single-cycle telemetering task running form with the sending destination address and the data capacity in the telemetering data configuration and running table respectively, calculating the predicted running time of the single-cycle telemetering task running form, putting the running time into a corresponding priority queue according to the reliability level in the telemetering data configuration and running table, and adding 1 to the sent cycle number in the telemetering data configuration and running table;
if the number of the current sent cycles is more than or equal to the number of the cycles needing to be sent, setting an enabling mark in the telemetering data configuration and operation table to be false;
and (4.3) configuring and executing the next row of data of the telemetry data by the step (4.1).
5. The method of claim 4, wherein the dynamic load balancing telemetry based on a tabular configuration comprises: the predicted running time is obtained by dividing the data capacity of the telemetric data in the corresponding processing line by the bus communication baud rate.
6. The method of claim 1, wherein the method comprises: the priority queue is divided into three levels of priorities, namely key information, important information and general information; the key information is preferentially executed, and the correct and reliable execution is ensured by repeatedly executing twice; the important information is executed with priority, i.e., before the general information, which is executed when there are no other two kinds of information.
7. A tabular configuration based dynamic load balancing telemetry method as claimed in claim 1, in which said (9.2) is implemented by:
(9.2.1) prefetching the telemetry task to be executed from the key information queue according to the residual time value of the period, and simultaneously respectively accumulating the execution time of the telemetry task and accumulating the bit number of the telemetry information; accumulating the execution time of the dequeued telemetering tasks in the key information queue and the number of the telemetering information bits according to double;
(9.2.2) if the key information queue does not have the telemetry tasks needing to be executed, prefetching the telemetry tasks to be executed from the important information queue, and simultaneously accumulating the execution time of the telemetry information and accumulating the number of bits of the telemetry information; accumulating the execution time of the dequeued telemetering tasks and the number of telemetering information bits in the important information queue according to single times;
(9.2.3) if the execution of the telemetering tasks in the important information queue is finished, prefetching the telemetering tasks to be executed from the general information queue, and simultaneously respectively accumulating the telemetering information execution time and the telemetering information digit; the execution time of the dequeued telemetering tasks in the general information queue and the number of the telemetering information bits are accumulated according to single times;
in the process of prefetching the telemetry task, if the accumulated execution time value of the telemetry task is greater than the residual time value of the period, subtracting 1 from the number of all the prefetched telemetry tasks currently, and taking the number of the telemetry tasks to be executed in the maximum period; otherwise, taking the number of all the telemetry tasks in the priority queue as the maximum number of the telemetry tasks to be executed in the period.
8. The method of claim 1, wherein the method comprises: and (1.6) the telemetering receiver sets a receiving cache to balance peak value bus load, the size of the cache is set to be more than 2 times of the peak value of the bus load rate, and meanwhile, the processing speed of the data received by the receiver is higher than 1.2 times of the rated load rate of the bus.
CN201910849417.8A 2019-09-09 2019-09-09 Dynamic load balancing telemetering method based on tabular configuration Active CN110620735B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910849417.8A CN110620735B (en) 2019-09-09 2019-09-09 Dynamic load balancing telemetering method based on tabular configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910849417.8A CN110620735B (en) 2019-09-09 2019-09-09 Dynamic load balancing telemetering method based on tabular configuration

Publications (2)

Publication Number Publication Date
CN110620735A CN110620735A (en) 2019-12-27
CN110620735B true CN110620735B (en) 2023-02-28

Family

ID=68922741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910849417.8A Active CN110620735B (en) 2019-09-09 2019-09-09 Dynamic load balancing telemetering method based on tabular configuration

Country Status (1)

Country Link
CN (1) CN110620735B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865817A (en) * 2020-06-23 2020-10-30 烽火通信科技股份有限公司 Load balancing control method, device and equipment for remote measuring collector and storage medium

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4296399A (en) * 1998-05-29 1999-12-20 Indranet Technologies Limited An autopoietic network system endowed with distributed artificial intelligence for the supply of high volume high-speed multimedia telesthesia, telemetry, telekinesis, telepresence, telemanagement, telecommunications, and data processing services
CA2699586A1 (en) * 2007-09-17 2009-03-26 Pal Even Gaarder Method and apparatus for monitoring power transmission
CN102655685A (en) * 2012-05-29 2012-09-05 福州大学 Task fault-tolerance allocation method for wireless sensor networks
CN103617359A (en) * 2013-12-04 2014-03-05 中国船舶重工集团公司第七二四研究所 Multi-array-surface rotation phased array radar task scheduling method
CN106773711A (en) * 2017-01-13 2017-05-31 清华大学 The hybrid tasks scheduling method and model of a kind of railway locomotive operation steerable system
CN107192411A (en) * 2017-05-15 2017-09-22 中国西安卫星测控中心 A kind of many telemetry parameter analysis window division methods of spacecraft
WO2018124949A1 (en) * 2016-12-28 2018-07-05 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic management of monitoring tasks in a cloud environment
CN109241194A (en) * 2018-09-29 2019-01-18 广东省信息工程有限公司 The load-balancing method and device of Database Systems based on High-Performance Computing Cluster distribution
CN109507692A (en) * 2018-11-06 2019-03-22 珠海欧比特宇航科技股份有限公司 A kind of Star Service information flow analogue system and its method
CN109960177A (en) * 2017-12-25 2019-07-02 郑州宇通客车股份有限公司 CAN bus data processing method and control system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4296399A (en) * 1998-05-29 1999-12-20 Indranet Technologies Limited An autopoietic network system endowed with distributed artificial intelligence for the supply of high volume high-speed multimedia telesthesia, telemetry, telekinesis, telepresence, telemanagement, telecommunications, and data processing services
CA2699586A1 (en) * 2007-09-17 2009-03-26 Pal Even Gaarder Method and apparatus for monitoring power transmission
CN102655685A (en) * 2012-05-29 2012-09-05 福州大学 Task fault-tolerance allocation method for wireless sensor networks
CN103617359A (en) * 2013-12-04 2014-03-05 中国船舶重工集团公司第七二四研究所 Multi-array-surface rotation phased array radar task scheduling method
WO2018124949A1 (en) * 2016-12-28 2018-07-05 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic management of monitoring tasks in a cloud environment
CN106773711A (en) * 2017-01-13 2017-05-31 清华大学 The hybrid tasks scheduling method and model of a kind of railway locomotive operation steerable system
CN107192411A (en) * 2017-05-15 2017-09-22 中国西安卫星测控中心 A kind of many telemetry parameter analysis window division methods of spacecraft
CN109960177A (en) * 2017-12-25 2019-07-02 郑州宇通客车股份有限公司 CAN bus data processing method and control system
CN109241194A (en) * 2018-09-29 2019-01-18 广东省信息工程有限公司 The load-balancing method and device of Database Systems based on High-Performance Computing Cluster distribution
CN109507692A (en) * 2018-11-06 2019-03-22 珠海欧比特宇航科技股份有限公司 A kind of Star Service information flow analogue system and its method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Telstra Remote Telemetry;telstra.com;《https://www.telstra.com.au/content/dam/tcom/business-enterprise/security-services/pdf/telstra-remote-telemetry-datasheet1.pdf》;20171206;1-2 *
多星测控调度问题任务优先级研究;凌晓冬,武小悦,刘琦;《数学的实践与认识》;20081031;114-119 *
遥感数据处理任务综合调度问题研究;李 文;《中国优秀硕士学位论文全文数据库》;20160301;全文 *
面向点及区域目标的遥感卫星任务调度;白保存,贺仁杰,李菊芳,陈英武;《国防科技大学学报》;20091231;59-63 *

Also Published As

Publication number Publication date
CN110620735A (en) 2019-12-27

Similar Documents

Publication Publication Date Title
CN101546276B (en) Method for achieving interrupt scheduling under multi-core environment and multi-core processor
Song et al. Age based task scheduling and computation offloading in mobile-edge computing systems
CN108768876B (en) Traffic scheduling method facing machine learning framework
CN111506430B (en) Method and device for processing data under multitasking and electronic equipment
CN104579862B (en) Data communication network for aircraft
CN104243240A (en) SDN (self-defending network) flow measuring method based on Open Flow
CN110620735B (en) Dynamic load balancing telemetering method based on tabular configuration
CN109189509A (en) The response method and server that call method, the interface of interface call
CN110019386B (en) Stream data processing method and device
CN114064309A (en) Cable service data processing method and device based on processing priority
CN112367270B (en) Method and equipment for sending message
EP3011456B1 (en) Sorted event monitoring by context partition
Miao et al. Smart batching: A load-sensitive self-tuning packet I/O using dynamic batch sizing
CN113438169A (en) Data scheduling method, electronic equipment and storage medium
Balman et al. Dynamic adaptation of parallelism level in data transfer scheduling
CN109361761B (en) Internet of things communication terminal operating system
CN111988345B (en) Information synchronization method and device
US11275621B2 (en) Device and method for selecting tasks and/or processor cores to execute processing jobs that run a machine
CN105518617B (en) Data cached processing method and processing device
CN115033904A (en) Data processing method, apparatus, system, medium, and product
CN115002209A (en) Data processing method, device and system
CN109862023B (en) Method for realizing accelerated calculation and high-speed network data transmission by embedded equipment
CN107689979A (en) A kind of download request processing method and processing equipment
CN103294527A (en) Method, system, and server for processing network task
KR20210137472A (en) Pipeline arithmetic unit, programmable logic controller, and execution method of pipelined processing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant