CN110620735A - 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
CN110620735A
CN110620735A CN201910849417.8A CN201910849417A CN110620735A CN 110620735 A CN110620735 A CN 110620735A CN 201910849417 A CN201910849417 A CN 201910849417A CN 110620735 A CN110620735 A CN 110620735A
Authority
CN
China
Prior art keywords
telemetry
telemetering
period
task
data
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.)
Granted
Application number
CN201910849417.8A
Other languages
Chinese (zh)
Other versions
CN110620735B (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

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 the peak bus load.

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 monitoring device usually sends the data to the remote device periodically, and sends the data to the remote receiving end in a wireless manner through 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-2 s;
(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 the 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 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 period number is less than the required sent period 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 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, and taking the time as a consumed time value in the period;
(6.3) subtracting the time value consumed 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), making Count _ Total equal to 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 remote measurement task expected to be executed in the period, executing the remote measurement task dequeued from the key information queue twice, executing the remote measurement tasks dequeued from the important information queue and the general information queue once, calculating the total accumulated remote measurement information digit in the period, and calculating the bus load rate BusLoad _ Local in the single period of the period according to a method of dividing the total accumulated remote measurement information digit in the period by the period duration.
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 telemetry task in the important information queue is finished, prefetching the telemetry task to be executed from the general information queue, and simultaneously accumulating the telemetry information execution time and the number of bits of the accumulated 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 residual calculation time is fully utilized for telemetering transmission after each period of control, the transmission efficiency of telemetering data is improved, the telemetering throughput is increased from the perspective of calculation resources, more telemetering data can be transmitted 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 acquired better.
(6) By dynamically calculating the bus load rate, the invention can effectively improve the telemetering transmission efficiency and increase the telemetering transmitted data volume in unit time under the condition of telemetering bus load rate constraint, thereby facilitating the telemetering acquisition of more monitoring data and enhancing the monitoring strength of the operation state of the monitored system;
(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: 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 composed of 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.
(1.3), the periodic telemetry task generator puts each telemetry task generated in (1.2) into a priority queue to be executed, waiting 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 period number is less than the required sent period 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 telemetric 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;
(1.3.3) and configuring and executing the next row of data of the telemetric 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 calculation steps of the remaining time of the period are as follows:
(A1.4.1), setting a microsecond Timer to be 0 at the beginning of each period;
(A1.4.2), after each period of work 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 0;
(B1.4.2), counting the telemetry data digit Count of each period according to the period;
(B1.4.3), make Count _ Total equal to 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 clearing the counting _ Total, and returning to the step (B1.4.2); if not, the step is returned (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;
and (1.5.4) executing the remote measurement tasks expected to be executed in the period, executing the remote measurement tasks dequeued from the key information queue twice, executing the remote measurement tasks dequeued from the important information queue and the general information queue once, calculating the total accumulated remote measurement information digit in the period, and calculating the bus load rate BusLoad _ Local in the single period of the period according to the method of dividing the total accumulated remote measurement information digit in the period by the period duration.
Wherein (1.5.2) is realized by the following way:
(1.5.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 accumulating the execution time of the telemetry task and 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 telemetering information bits according to double;
(1.5.2.2), if the key information queue has no telemetry task to be executed, prefetching the telemetry task to be executed from the important information queue, and simultaneously accumulating the telemetry information execution time and the number of bits of the accumulated 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;
(1.5.2.3), if the telemetry task in the important information queue is finished, prefetching the telemetry task to be executed from the general information queue, and simultaneously accumulating the telemetry information execution time and the number of bits of the accumulated 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.
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, a telemetry period is 5ms, a baud rate is 32000bit/s, a bus load rate rated value is 28000bit/s, and taking a certain whole second point T0 as an example, three sections of T0, T1 and T2 are used to describe an operation scene of a telemetry task executor (wherein T1 is T0+5ms, T2 is T0+10ms, and a sending condition of a message 5 is triggered at the T1 moment).
TABLE 1 static configuration Table for telemetry messages
TABLE 2 dynamic running table for telemetric messages
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, as 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) according to the reliability level of the telemetering information, putting each telemetering task generated in the step (1.2) into a priority queue to be executed (at the moment, 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.1ms) 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) and T0, wherein 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 16 bits, 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 that the consumed time is 4ms, and the number of telemetering information bits is 8 x 16 bits; then, taking out the telemetering tasks 2 and 4 to be executed from the important information queue, wherein the execution time of the task 2 is 0.5ms, the number of bits of the telemetering information is 1 x 16bit, the execution time of the task 4 is 1.5ms, and the number of bits of the telemetering information is 3 x 16 bit; at this time, in the process of prefetching task 4, if the accumulated execution time value of the telemetry task of 6ms (4ms +0.5ms +1.5ms) is greater than the remaining time of 4.6ms, task 4 cannot be executed; meanwhile, through calculation, the bus load rate BusLoad _ Local in the period is 28800bit/s and is more than the rated value of the bus load rate 28000bit/s, so that the task 2 cannot be executed, the T0 period can only execute the task 1, cannot execute the task 2, the task 3 and the task 4, and the bus load rate after current limiting is 25600 bit/s;
(5.2) and T1, wherein the remaining time of the period is 4.1ms, the telemetering tasks to be executed in the key information queue are task 5, the execution time is 1ms, the number of telemetering information bits is 2 x 16 bits, 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 that the consumed time is 2ms, and the number of telemetering information bits is 4 x 16 bits; then, taking out the telemetering tasks 2 and 4 to be executed from the important information queue, wherein the execution time of the task 2 is 0.5ms, the number of bits of the telemetering information is 1 x 16bit, the execution time of the task 4 is 1.5ms, and the number of bits of the telemetering information is 3 x 16 bit; then taking out the remote measuring task 3 to be executed from the general information queue, wherein the execution time of the task 3 is 2ms, and the number of remote measuring information bits is 4 x 16 bits; at this time, in the process of prefetching task 3, the accumulated telemetry task execution time value 6ms (2ms +0.5ms +1.5ms +2ms) is greater than the remaining time 4.1ms, so that in the period of 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 time T2, the remaining time of the period is 4.1ms, the telemetering tasks to be executed in the key information queue are task 5, the executed time is 1ms, the number of telemetering information bits is 2 x 16 bits, the executed 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 2ms, and the number of telemetering information bits is 4 x 16 bits; 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 16 bits; 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 a period of T2; 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
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 (11)

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 carried out 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;
and (1.6) setting a receiving buffer by the telemetry receiving party, and balancing peak bus load.
2. The method of claim 1, wherein the method comprises: 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.
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 period number is less than the required sent period 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 next row data of the telemetering data from the step (4.1).
5. The method of claim 4, wherein the dynamic load balancing telemetry method based on 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 first, i.e. before the general information, which is executed when there are no other two kinds of information.
7. The method of claim 1, wherein the method comprises: 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, and taking the time as a consumed time value in the period;
(6.3) subtracting the time value consumed in the period from 95% of the period time length to obtain the remaining time of the period.
8. The method of claim 1, wherein the method comprises: 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), making Count _ Total equal to 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).
9. The method of claim 1, wherein the step of calculating the number of telemetry messages that can be executed comprises:
(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 remote measurement tasks expected to be executed in the period, executing the remote measurement tasks dequeued in the key information queue twice, executing the remote measurement tasks dequeued in the important information queue and the general information queue once, calculating the total accumulated remote measurement information digit in the period, and calculating the bus load rate BusLoad _ Local in the single period of the period according to a method of dividing the total accumulated remote measurement information digit in the period by the period duration.
10. A tabular configuration based dynamic load balancing telemetry method according to claim 9, characterised in that said (9.2) is implemented by:
(9.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 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 telemetering information bits according to double;
(9.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;
(9.2.3), if the telemetry task in the important information queue is finished, prefetching the telemetry task to be executed from the general information queue, and simultaneously accumulating the telemetry information execution time and the number of bits of the accumulated 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.
11. 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 true CN110620735A (en) 2019-12-27
CN110620735B 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)

Cited By (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.COM: "Telstra Remote Telemetry", 《HTTPS://WWW.TELSTRA.COM.AU/CONTENT/DAM/TCOM/BUSINESS-ENTERPRISE/SECURITY-SERVICES/PDF/TELSTRA-REMOTE-TELEMETRY-DATASHEET1.PDF》 *
凌晓冬,武小悦,刘琦: "多星测控调度问题任务优先级研究", 《数学的实践与认识》 *
李 文: "遥感数据处理任务综合调度问题研究", 《中国优秀硕士学位论文全文数据库》 *
白保存,贺仁杰,李菊芳,陈英武: "面向点及区域目标的遥感卫星任务调度", 《国防科技大学学报》 *

Cited By (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

Also Published As

Publication number Publication date
CN110620735B (en) 2023-02-28

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
CN104243240A (en) SDN (self-defending network) flow measuring method based on Open Flow
CN110019386B (en) Stream data processing method and device
CN102480430B (en) Method and device for realizing message order preservation
CN111506430B (en) Method and device for processing data under multitasking and electronic equipment
CN107748696A (en) The method and terminal device of a kind of task scheduling
CN108737292A (en) A kind of sending method and system, server of bulk messages
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
CN109005223A (en) Internet of Things resource regulating method and system, computer readable storage medium and terminal
CN103678522B (en) A kind of data acquisition of intelligent substation metering system and conversion method
CN110912992A (en) Diagnostic data transmission method, device, equipment and system
CN114116172A (en) Flow data acquisition method, device, equipment and storage medium
CN106856459B (en) Message scheduling method and device
CN104821958A (en) WebService-based power utilization data packet interactive interface method
CN110147254A (en) A kind of data buffer storage processing method, device, equipment and readable storage medium storing program for executing
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
CN100466622C (en) Method and system for random packet interval sampling on network
Balman et al. Dynamic adaptation of parallelism level in data transfer scheduling
CN109361761B (en) Internet of things communication terminal operating system
Lin et al. Aoi research on pmu cloud side cooperative system of active distribution network
CN113556403B (en) Communication method and system for distributed training
CN105518617B (en) Data cached processing method and processing device

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