CN110620735B - 一种基于表格化配置的动态负载均衡遥测方法 - Google Patents
一种基于表格化配置的动态负载均衡遥测方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding 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
一种基于表格化配置的动态负载均衡遥测方法,用于周期性任务中,在每个周期完成所需的必要功能后,再进行观测数据遥测;步骤如下:(1.1)将所有要发送的遥测数据定义为表格形式,形成遥测数据配置及运行表;(1.2)利用周期性遥测任务生成器遍历表中的每一行,根据每行遥测数据的静态配置信息准备遥测数据,根据动态运行时信息配置遥测任务参数,生成遥测任务;(1.3)将每个遥测任务放入待执行的优先级队列中,等待被执行;(1.4)定义周期性遥测任务执行器,在每个周期计算本周期的剩余时间、过去ts的总线负载率;(1.5)计算可以执行的遥测消息数量,按照优先级从队列中取出相应数量的遥测任务执行;1.6)遥测接收方设置接收缓存,平衡峰值总线负载。
Description
技术领域
本发明涉及一种基于表格化配置的动态负载均衡遥测方法,可用于周期性遥测功能的实现中,属于测控与控制***技术领域。
背景技术
工业用测量与控制***常常会对***运行状态的监测。而在大多数情况下,所监测的数据无法通过有线的方式传递下来,因此通常由监测设备将数据周期性的发送给遥测设备,通过天线***以无线的方式发送到远端接收端。由于遥测天线***存在带宽限制,因此,遥测设备常常会限制监测设备向其发送遥测信息的总线的负载率,防止遥测数据还未通过天线发出,就被新到来的数据覆盖了,造成因数据丢失导致的不完整、不一致等问题。
目前解决该问题的方法通常是静态设计,即在设计的时候预先估算好每个周期遥测消耗的时间和总线负载率分配,这样的方法当遥测信息的种类发生变化时,需要重新进行设计,工作量极大。而且,静态设计的方案通常采用实际运行时总线利用率较低,来确保额定总线负载率约束的满足,无法高效利用硬件设备的能力。
发明内容
本发明解决的技术问题是:克服现有技术的不足和困难,提出一种基于表格化配置的动态负载均衡遥测方法,该方法通过表格化配置,实现了遥测解决方案的高扩展性,同时通过动态计算总线负载,并据此进行负载均衡的策略,在满足总线负载率约束的条件下,大大提高了总线资源的利用率。
本发明解决技术的方案是:一种基于表格化配置的动态负载均衡遥测方法,该遥测方法用于周期性任务中,在每个周期完成所需的必要功能后,再进行观测数据遥测;所述方法包括以下步骤:
(1.1)、将所有要发送的遥测数据定义为表格形式,形成遥测数据配置及运行表,表格中的每一行包括一个遥测数据项,每个遥测数据项包括两部分内容:静态配置信息和动态运行时信息;
(1.2)、定义周期性遥测任务生成器,利用该生成器遍历遥测数据配置及运行表中的每一行,根据每一行遥测数据的静态配置信息准备遥测数据,根据动态运行时信息配置遥测任务参数,并生成遥测任务;
(1.3)、周期性遥测任务生成器将(1.2)生成的每个遥测任务放入待执行的优先级队列中,等待被执行;
(1.4)、定义周期性遥测任务执行器,该执行器在每个周期计算本周期的剩余时间,同时计算过去ts的总线负载率;所述的t取值范围1-2s;
(1.5)、根据计算得到的剩余时间和过去ts的总线负载率,计算可以执行的遥测消息数量,并按照优先级从遥测任务队列中取出相应数量的遥测任务执行;
(1.6)、遥测接收方设置接收缓存,平衡峰值总线负载。
优选的,所述的静态配置信息包括:数据的名称、数据索引、发送目的地址、数据容量(单位为位)、可靠性等级、发送条件、需要发送周期数;所述可靠性等级包括关键,重要,一般;动态运行状态包括:使能标志、已发送周期数、触发器。
优选的,周期性遥测任务生成器所生成的每个遥测任务均由一个统一的单周期遥测任务运行表单构成,该单周期遥测任务运行表单包括如下部分:发送目的地址、数据容量、预计运行时间。
优选的,周期性遥测任务生成器从遥测数据配置及运行表第一行开始处理,通过如下步骤将生成的每个遥测任务放入待执行的优先级队列中:
(4.1)、判断当前行所定义的遥测数据是否满足遥测数据配置及运行表中的发送条件,若满足则置遥测数据配置及运行表中的使能标志为真;并执行下一步,否则执行(4.3);
(4.2)、判断当前已发送周期数是否小于需要发送周期数:若当前已发送周期数小于需要发送周期数,则生成一张单周期遥测任务运行表单,用遥测数据配置及运行表中的发送目的地址、数据容量分别填充单周期遥测任务运行表单的同名域,计算单周期遥测任务运行表单的预计运行时间,根据遥测数据配置及运行表中的可靠性等级,放入相应的优先级队列中,并将遥测数据配置及运行表中的已发送周期数加1;
若当前已发送周期数大于等于需要发送周期数,将遥测数据配置及运行表中的使能标志置为假;
(4.3)、对遥测数据配置及运行表的下一行数据从步骤(4.1)开始执行。
优选的,所述的预计运行时间采用对应处理行中遥测数据的数据容量除以总线通信波特率的方法得到。
优选的,优先级队列分为三级优先级,分别为关键信息、重要信息、一般信息;其中,关键信息优先执行,并通过重复执行两次的方式来保证执行正确和可靠;重要信息优先被执行即放在一般信息之前被执行,一般信息在无其他两种信息时执行。
优选的,所述的计算本周期的剩余时间步骤如下:
(6.1)、在每周期初始,置微秒计时器Timer为0值;
(6.2)、完成每周期工作后,查询微秒计时器Timer的时间,作为周期内已消耗时间值;
(6.3)、用周期时长的95%减去周期内已消耗时间值得到本周期剩余时间。
优选的,计算过去ts的总线负载率计算步骤如下:
(7.1)、初始化遥测位数计数器Count_Total为0值;
(7.2)、按周期统计每周期的遥测数据位数Count;
(7.3)、令Count_Total=Count_Total+Count;
(7.4)、查询累积周期数是否达到ts,若达到,则Count_Total/t并向上取整作为过去ts累积总线负载率,将其值赋给BusLoad后,将Count_Total清零,返回(7.2)步;若未达到,则返回(7.2)步。
优选的,计算可以执行的遥测消息数量处理步骤包括:
(8.1)、设定单周期总线负载率BusLoad_Local值为0;
(8.2)、预取遥测任务,按本周期剩余时间值估算本周期最大待执行的遥测任务数:
(8.3)、按照总线负载率额定值对遥测任务数进行限制:当过去ts的总线负载率BusLoad大于总线负载率额定值,且上周期的单周期内总线负载率,即当前的BusLoad_Local值均大于总线负载率额定值时,则逐项继续减少遥测任务数,直到本周期总线负载率小于额定总线负载率时,停止减少遥测任务数;此时遥测任务数为本周期最终的待执行遥测任务数;
(8.4)、执行本周期待执行遥测任务,关键信息队列中出队的遥测任务执行两次,重要信息队列和一般信息队列中出队的遥测任务均执行一次,同时计算本周期总累计遥测信息位数,同时根据本周期总累积遥测信息位数除以周期时长的方法,计算本周期的单周期内总线负载率BusLoad_Local。
优选的,所述的(8.2)通过下述方式实现:
(8.2.1)、根据本周期剩余时间值,从关键信息队列中预取待执行的遥测任务,同时分别累积遥测任务执行时间和累积遥测信息位数;关键信息队列中出队的遥测任务执行时间和遥测信息位数按照双倍进行累计;
(8.2.2)、若关键信息队列中已经无需要执行的遥测任务,则从重要信息队列中预取待执行的遥测任务,同时分别累积遥测信息执行时间和累积遥测信息位数;重要信息队列中出队的遥测任务执行时间和遥测信息位数按照单倍进行累计;
(8.2.3)、若重要信息队列中的遥测任务执行完毕,则从一般信息队列中预取待执行的遥测任务,同时分别累积遥测信息执行时间和累积遥测信息位数;一般信息队列中出队的遥测任务执行时间和遥测信息位数按照单倍进行累计;
在上述预取遥测任务的过程中,若累积的遥测任务执行时间值已大于本周期剩余时间值,则将当前所有预取的遥测任务数减1后,作为本周期最大待执行的遥测任务数;否则,将优先级队列中所有的遥测任务数作为本周期最大待执行的遥测任务数。
优选的,所述的步骤(1.6)遥测接收方设置接收缓存,平衡峰值总线负载,所述缓存的大小应设置为总线负载率峰值的2倍以上,同时接收方接收数据的处理速度应高于总线额定负载率的1.2倍以上。
本发明与现有技术相比,具有如下优点:
(1)、本发明所述方法对计算资源的利用上达到了最优化设计。充分利用每周期控制后,剩余的计算时间进行遥测发送,提高了遥测数据的发送效率,从计算资源的角度,增加了遥测的吞吐量,在固定周期内,可以发送更多的遥测数据,方便对***各方面运行特性的监测;
(2)、本发明所述方法在计算资源优化利用的基础上,对总线负载的利用上也达到了最优化。由于天线的带宽限制,遥测***往往会对遥测数据传输的总线的负载率进行限制。通常所采用的静态设计方法,常常在一开始将遥测过程中的每一类数据的发送节奏固定下来,以适应通信总线的负载率约束,这通常需要进行多轮迭代测试才能够将总线的利用率调整到满意的程度,而即便如此,为了对设计偏差进行补偿,通常对总线的利用率依然有牺牲。而本发明所述方法可以根据总线的即时负载状况,对发送的遥测数据量进行调整,从而最大化了总线的利用率;
(3)、传统的静态遥测方案无法根据***的真实运行状态进行动态调整,当***在某种工况下可行的遥测方案,在另外一种工况下很可能就变得不可行,从而限制了***的适应性。本发明所述方法可以通过配置额定的总线负载率来动态调整遥测方案,甚至每周期的遥测方案均不相同,从而大大提高了原***的适应性,降低了设计成本;
(4)、本发明所述方法通过触发器等方式,兼容了每一种遥测消息的不同处理方式,同时还可以添加处理完毕后的后续措施,极大的扩展了目前的遥测功能。
(5)本发明通过表格化的形式对遥测数据进行配置,从而使数据和处理得以分离,极大的增加了遥测数据种类的可扩展性。通过触发器的形式,为不同的遥测消息采用不同的处理形式提供了可能。在遥测信息的发送上,同时考虑了计算资源和总线负载率的约束,在此约束上,动态分析每一周期用于遥测处理的计算资源和总线资源,从而大大提升了计算资源的利用率和总线资源的利用率。在硬件设备不变的情况下,最大化了遥测数据的吞吐量,更好的服务于获取被监测***的采样数据。
(6)本发明通过动态计算总线负载率,可以满足在遥测总线负载率约束的情况下,有效提高遥测发送效率,增加单位时间里遥测发送的数据量,从而方便了对更多的监测数据的遥测获取,增强了对被监测***运行状态的监测力度;
(7)本发明可以通过对静态遥测数据的配置,来调整遥测数据的种类、数据的频率以及数据相关操作等,具有更好的扩展性;
(8)本发明遥测方法效率容易评估,其使每周期任务耗时较为固定,从而可以更好的估算***的运行效率。
附图说明
图1为本发明的处理流程图。
具体实施方式
下文结合附图1对本发明做详细说明。一种基于表格化配置的动态负载均衡遥测方法,该遥测方法用于周期性任务中,在每个周期完成所需的必要功能后,再进行观测数据遥测;所述方法包括以下步骤:
(1.1)、将所有要发送的遥测数据定义为表格形式,形成遥测数据配置及运行表,表格中的每一行包括一个遥测数据项,每个遥测数据项包括两部分内容:静态配置信息和动态运行时信息:
所述的静态配置信息包括:数据的名称、数据索引、发送目的地址、数据容量(单位为位)、可靠性等级、发送条件、需要发送周期数;所述可靠性等级包括关键,重要,一般;动态运行状态包括:使能标志、已发送周期数、触发器。
(1.2)、定义周期性遥测任务生成器,利用该生成器遍历遥测数据配置及运行表中的每一行,根据每一行遥测数据的静态配置信息准备遥测数据,根据动态运行时信息配置遥测任务参数,并生成遥测任务:
周期性遥测任务生成器所生成的每个遥测任务均由一个统一的单周期遥测任务运行表单构成,该单周期遥测任务运行表单包括如下部分:发送目的地址、数据容量、预计运行时间。
(1.3)、周期性遥测任务生成器将(1.2)生成的每个遥测任务放入待执行的优先级队列中,等待被执行:
周期性遥测任务生成器从遥测数据配置及运行表第一行开始处理,通过如下步骤将生成的每个遥测任务放入待执行的优先级队列中:
(1.3.1)、判断当前行所定义的遥测数据是否满足遥测数据配置及运行表中的发送条件,若满足则置遥测数据配置及运行表中的使能标志为真;并执行下一步,否则执行(1.3.3);
(1.3.2)、判断当前已发送周期数是否小于需要发送周期数:若当前已发送周期数小于需要发送周期数,则生成一张单周期遥测任务运行表单,用遥测数据配置及运行表中的发送目的地址、数据容量分别填充单周期遥测任务运行表单的同名域,计算单周期遥测任务运行表单的预计运行时间,根据遥测数据配置及运行表中的可靠性等级,放入相应的优先级队列中,并将遥测数据配置及运行表中的已发送周期数加1;所述的预计运行时间采用对应处理行中遥测数据的数据容量除以总线通信波特率的方法得到。
若当前已发送周期数大于等于需要发送周期数,将遥测数据配置及运行表中的使能标志置为假;
(1.3.3)、对遥测数据配置及运行表的下一行数据从步骤(1.3.1)开始执行。
(1.4)、定义周期性遥测任务执行器,该执行器在每个周期计算本周期的剩余时间,同时计算过去1s的总线负载率;
所述的本周期的剩余时间计算步骤如下:
(A1.4.1)、在每周期初始,置微秒计时器Timer为0值;
(A1.4.2)、完成每周期工作后,查询微秒计时器Timer的时间,作为周期内已消耗时间值;
(A1.4.3)、用周期时长的95%减去周期内已消耗时间值得到本周期剩余时间。
所述的过去1s的总线负载率计算步骤如下:
(B1.4.1)、初始化遥测位数计数器Count_Total为0值;
(B1.4.2)、按周期统计每周期的遥测数据位数Count;
(B1.4.3)、令Count_Total=Count_Total+Count;
(B1.4.4)、查询累积周期数是否达到1s,若达到,则Count_Total并向上取整作为过去1s累积总线负载率,将其值赋给BusLoad后,将Count_Total清零,返回(B1.4.2)步;若未达到,则返回(B1.4.2)步。
(1.5)、根据计算得到的剩余时间和过去ts的总线负载率,计算可以执行的遥测消息数量,并按照优先级从遥测任务队列中取出相应数量的遥测任务执行;遥测任务的优先级队列分为三级优先级,分别为关键信息、重要信息、一般信息;其中,关键信息优先执行,并通过重复执行两次的方式来保证执行正确和可靠;重要信息优先被执行即放在一般信息之前被执行,一般信息在无其他两种信息时执行。
计算可以执行的遥测消息数量,并按照优先级从遥测任务队列中取出相应数量的遥测任务执行的步骤如下:
(1.5.1)、设定单周期总线负载率BusLoad_Local值为0;
(1.5.2)、预取遥测任务,按本周期剩余时间值估算本周期最大待执行的遥测任务数:
(1.5.3)、按照总线负载率额定值对遥测任务数进行限制:当过去ts的总线负载率BusLoad大于总线负载率额定值,且上周期的单周期内总线负载率,即当前的BusLoad_Local值均大于总线负载率额定值时,则逐项继续减少遥测任务数,直到本周期总线负载率小于额定总线负载率时,停止减少遥测任务数;此时遥测任务数为本周期最终的待执行遥测任务数;
(1.5.4)、执行本周期待执行遥测任务,关键信息队列中出队的遥测任务执行两次,重要信息队列和一般信息队列中出队的遥测任务均执行一次,同时计算本周期总累计遥测信息位数,同时根据本周期总累积遥测信息位数除以周期时长的方法,计算本周期的单周期内总线负载率BusLoad_Local。
其中(1.5.2)通过下述方式实现:
(1.5.2.1)、根据本周期剩余时间值,从关键信息队列中预取待执行的遥测任务,同时分别累积遥测任务执行时间和累积遥测信息位数;关键信息队列中出队的遥测任务执行时间和遥测信息位数按照双倍进行累计;
(1.5.2.2)、若关键信息队列中已经无需要执行的遥测任务,则从重要信息队列中预取待执行的遥测任务,同时分别累积遥测信息执行时间和累积遥测信息位数;重要信息队列中出队的遥测任务执行时间和遥测信息位数按照单倍进行累计;
(1.5.2.3)、若重要信息队列中的遥测任务执行完毕,则从一般信息队列中预取待执行的遥测任务,同时分别累积遥测信息执行时间和累积遥测信息位数;一般信息队列中出队的遥测任务执行时间和遥测信息位数按照单倍进行累计;
在上述预取遥测任务的过程中,若累积的遥测任务执行时间值已大于本周期剩余时间值,则将当前所有预取的遥测任务数减1后,作为本周期最大待执行的遥测任务数;否则,将优先级队列中所有的遥测任务数作为本周期最大待执行的遥测任务数。
(1.6)、遥测接收方设置接收缓存,平衡峰值总线负载。所述缓存的大小应设置为总线负载率峰值的2倍以上,同时接收方接收数据的处理速度应高于总线额定负载率的1.2倍以上。
实施例:
我们以对4种固定数据1种随机数据的序列观察遥测结果为例来描述我们的方法。在某***中遥测周期为5ms,波特率为32000bit/s,总线负载率额定值为28000bit/s,以某个整秒点T0为例,以T0、T1、T2三个剖面来描述遥测任务执行器的运行场景(其中,T1=T0+5ms,T2=T0+10ms,消息5的发送条件在T1时刻触发)。
表1遥测消息静态配置表
表2遥测消息动态运行表
表3遥测任务运行表单
任务名称 | 发送目的地址 | 数据容量(位) | 预计运行时间 |
任务1 | IP1 | 4*16 | 2ms |
任务2 | IP2 | 1*16 | 0.5ms |
任务3 | IP3 | 4*16 | 2ms |
任务4 | IP4 | 3*16 | 1.5ms |
任务5 | IP5 | 2*16 | 1ms |
基于均衡负载的遥测数据表格化配置设计方法,来发送遥测数据。方法如下:
(1)、对5种遥测消息采用表格形式配置形成遥测数据静态配置表和动态运行表,如表1、2所示;
(2)、根据遥测数据静态配置表和动态运行表,定义周期性遥测任务生成器,配置遥测任务参数,如表3所示;
(3)、根据遥测信息的可靠性等级,将(1.2)生成的每个遥测任务放入待执行的优先级队列中(此时,任务1、任务5放入关键信息队列中,任务2、任务4放入重要信息队列中,任务3放入一般信息队列中),等待被执行。;
(4)、定义周期性遥测任务执行器,每周期在被调用时,计算本周期的剩余时间(即:T0时刻所在周期剩余时间为4.6ms,T1时刻所在周期剩余时间为4.1ms,T2时刻所在周期剩余时间为4.1ms),同时计算总线过去1s的负载率28120bit/s;
(5)、根据计算得到的剩余时间和过去1s的总线负载率,计算可以执行的遥测消息数量,并按照优先级从遥测任务队列中取出相应数量的遥测任务执行,详见表4所示。
(5.1)、T0时刻,本周期剩余时间为4.6ms,关键信息队列中待执行的遥测任务为任务1,所执行时间为2ms,遥测信息位数为4*16bit,关键信息队列中出队全部遥测任务执行时间和遥测信息位数按照双倍进行累计,故所耗费时间为4ms,遥测信息位数为8*16bit;然后从重要信息队列中取出待执行的遥测任务2、4,任务2所执行时间为0.5ms,遥测信息位数为1*16bit,任务4所执行时间为1.5ms,遥测信息位数为3*16bit;此时发现,在预取任务4过程中,所累积的遥测任务执行时间值6ms(4ms+0.5ms+1.5ms)大于剩余时间4.6ms,则不能执行任务4;同时经计算,本周期总线负载率BusLoad_Local为28800bit/s,大于总线负载率额定值28000bit/s,故不能执行任务2,故T0周期,只能执行任务1,不能执行任务2、任务3、任务4,限流后总线负载率25600bit/s;
(5.2)、T1时刻,本周期剩余时间为4.1ms,关键信息队列中待执行的遥测任务为任务5,所执行时间为1ms,遥测信息位数为2*16bit,关键信息队列中出队全部遥测任务执行时间和遥测信息位数按照双倍进行累计,故所耗费时间为2ms,遥测信息位数为4*16bit;然后从重要信息队列中取出待执行的遥测任务2、4,任务2所执行时间为0.5ms,遥测信息位数为1*16bit,任务4所执行时间为1.5ms,遥测信息位数为3*16bit;然后从一般信息队列中取出待执行的遥测任务3,任务3所执行时间为2ms,遥测信息位数为4*16bit;此时发现,在预取任务3过程中,所累积的遥测任务执行时间值6ms(2ms+0.5ms+1.5ms+2ms)大于剩余时间4.1ms,故T1周期,只能执行任务5、任务2、任务4,不能执行任务3;经计算,本周期总线负载率BusLoad_Local为25600bit,小于总线负载率额定值;
(5.3)、T2时刻,本周期剩余时间为4.1ms,关键信息队列中待执行的遥测任务为任务5,所执行时间为1ms,遥测信息位数为2*16bit,关键信息队列中出队全部遥测任务执行时间和遥测信息位数按照双倍进行累计,故所耗费时间为2ms,遥测信息位数为4*16bit;此时重要信息队列无待执行遥测任务,则从一般信息队列中取出待执行的遥测任务3,任务3所执行时间为2ms,遥测信息位数为4*16bit;此时所有的遥测任务均执行完毕。此时,所累积的遥测任务执行时间值4ms(2ms+2ms)小于剩余时间4.1ms,故T2周期,可执行全部遥测任务,即任务5、任务3;经计算,本周期总线负载率BusLoad_Local为25600bit,小于总线负载率额定值;
(6)、遥测接收方设置每5毫秒接收缓存大小为51200bit,处理速度为34000bit/s。
表4遥测任务执行器执行结果
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (8)
1.一种基于表格化配置的动态负载均衡遥测方法,其特征在于,该遥测方法用于周期性任务中,在每个周期完成所需的必要功能后,再进行观测数据遥测;所述方法包括以下步骤:
(1.1)、将所有要发送的遥测数据定义为表格形式,形成遥测数据配置及运行表,表格中的每一行包括一个遥测数据项,每个遥测数据项包括两部分内容:静态配置信息和动态运行时信息;
(1.2)、定义周期性遥测任务生成器,利用该生成器遍历遥测数据配置及运行表中的每一行,根据每一行遥测数据的静态配置信息准备遥测数据,根据动态运行时信息配置遥测任务参数,并生成遥测任务;
(1.3)、周期性遥测任务生成器将(1.2)生成的每个遥测任务放入待执行的优先级队列中,等待被执行;
(1.4)、定义周期性遥测任务执行器,该执行器在每个周期计算本周期的剩余时间,同时计算过去ts的总线负载率;所述的t取值范围1-2;
(1.5)、根据计算得到的剩余时间和过去ts的总线负载率,计算可以执行的遥测消息数量,并按照优先级从遥测任务队列中取出相应数量的遥测任务执行;
(1.6)、遥测接收方设置接收缓存,平衡峰值总线负载;
所述的计算本周期的剩余时间步骤如下:
(6.1)、在每周期初始,置微秒计时器Timer为0值;
(6.2)、完成每周期工作后,查询微秒计时器Timer的时间,作为周期内已消耗时间值;
(6.3)、用周期时长的95%减去周期内已消耗时间值得到本周期剩余时间;
计算过去ts的总线负载率计算步骤如下:
(8.1)、初始化遥测位数计数器Count_Total为0值;
(8.2)、按周期统计每周期的遥测数据位数Count;
(8.3)、令Count_Total=Count_Total+Count;
(8.4)、查询累积周期数是否达到ts,若达到,则Count_Total/t并向上取整作为过去ts累积总线负载率,将其值赋给BusLoad后,将Count_Total清零,返回(8.2)步;若未达到,则返回(8.2)步;
计算可以执行的遥测消息数量处理步骤包括:
(9.1)、设定单周期总线负载率BusLoad_Local值为0;
(9.2)、预取遥测任务,按本周期剩余时间值估算本周期最大待执行的遥测任务数:
(9.3)、按照总线负载率额定值对遥测任务数进行限制:当过去ts的总线负载率BusLoad大于总线负载率额定值,且上周期的单周期内总线负载率,即当前的BusLoad_Local值均大于总线负载率额定值时,则逐项继续减少遥测任务数,直到本周期总线负载率小于额定总线负载率时,停止减少遥测任务数;此时遥测任务数为本周期最终的待执行遥测任务数;
(9.4)、执行本周期待执行遥测任务,关键信息队列中出队的遥测任务执行两次,重要信息队列和一般信息队列中出队的遥测任务均执行一次,同时计算本周期总累计遥测信息位数,同时根据本周期总累积遥测信息位数除以周期时长的方法,计算本周期的单周期内总线负载率BusLoad_Local。
2.根据权利要求1所述的一种基于表格化配置的动态负载均衡遥测方法,其特征在于:所述的静态配置信息包括:数据的名称、数据索引、发送目的地址、数据容量,单位为位、可靠性等级、发送条件、需要发送周期数;所述可靠性等级包括关键,重要,一般;动态运行状态包括:使能标志、已发送周期数、触发器。
3.根据权利要求1所述的一种基于表格化配置的动态负载均衡遥测方法,其特征在于,周期性遥测任务生成器所生成的每个遥测任务均由一个统一的单周期遥测任务运行表单构成,该单周期遥测任务运行表单包括如下部分:发送目的地址、数据容量、预计运行时间。
4.根据权利要求1所述的一种基于表格化配置的动态负载均衡遥测方法,其特征在于,周期性遥测任务生成器从遥测数据配置及运行表第一行开始处理,通过如下步骤将生成的每个遥测任务放入待执行的优先级队列中:
(4.1)、判断当前行所定义的遥测数据是否满足遥测数据配置及运行表中的发送条件,若满足则置遥测数据配置及运行表中的使能标志为真;并执行下一步,否则执行(4.3);
(4.2)、判断当前已发送周期数是否小于需要发送周期数:若当前已发送周期数小于需要发送周期数,则生成一张单周期遥测任务运行表单,用遥测数据配置及运行表中的发送目的地址、数据容量分别填充单周期遥测任务运行表单的同名域,计算单周期遥测任务运行表单的预计运行时间,根据遥测数据配置及运行表中的可靠性等级,放入相应的优先级队列中,并将遥测数据配置及运行表中的已发送周期数加1;
若当前已发送周期数大于等于需要发送周期数,将遥测数据配置及运行表中的使能标志置为假;
(4.3)、对遥测数据配置及运行表的下一行数据从步骤(4.1)开始执行。
5.根据权利要求4所述的一种基于表格化配置的动态负载均衡遥测方法,其特征在于:所述的预计运行时间采用对应处理行中遥测数据的数据容量除以总线通信波特率的方法得到。
6.根据权利要求1所述的一种基于表格化配置的动态负载均衡遥测方法,其特征在于:优先级队列分为三级优先级,分别为关键信息、重要信息、一般信息;其中,关键信息优先执行,并通过重复执行两次的方式来保证执行正确和可靠;重要信息优先被执行即放在一般信息之前被执行,一般信息在无其他两种信息时执行。
7.根据权利要求1所述的一种基于表格化配置的动态负载均衡遥测方法,其特征在于,所述的(9.2)通过下述方式实现:
(9.2.1)、根据本周期剩余时间值,从关键信息队列中预取待执行的遥测任务,同时分别累积遥测任务执行时间和累积遥测信息位数;关键信息队列中出队的遥测任务执行时间和遥测信息位数按照双倍进行累计;
(9.2.2)、若关键信息队列中已经无需要执行的遥测任务,则从重要信息队列中预取待执行的遥测任务,同时分别累积遥测信息执行时间和累积遥测信息位数;重要信息队列中出队的遥测任务执行时间和遥测信息位数按照单倍进行累计;
(9.2.3)、若重要信息队列中的遥测任务执行完毕,则从一般信息队列中预取待执行的遥测任务,同时分别累积遥测信息执行时间和累积遥测信息位数;一般信息队列中出队的遥测任务执行时间和遥测信息位数按照单倍进行累计;
在上述预取遥测任务的过程中,若累积的遥测任务执行时间值已大于本周期剩余时间值,则将当前所有预取的遥测任务数减1后,作为本周期最大待执行的遥测任务数;否则,将优先级队列中所有的遥测任务数作为本周期最大待执行的遥测任务数。
8.根据权利要求1所述的一种基于表格化配置的动态负载均衡遥测方法,其特征在于:所述的步骤(1.6)遥测接收方设置接收缓存,平衡峰值总线负载,所述缓存的大小应设置为总线负载率峰值的2倍以上,同时接收方接收数据的处理速度应高于总线额定负载率的1.2倍以上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910849417.8A CN110620735B (zh) | 2019-09-09 | 2019-09-09 | 一种基于表格化配置的动态负载均衡遥测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910849417.8A CN110620735B (zh) | 2019-09-09 | 2019-09-09 | 一种基于表格化配置的动态负载均衡遥测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110620735A CN110620735A (zh) | 2019-12-27 |
CN110620735B true CN110620735B (zh) | 2023-02-28 |
Family
ID=68922741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910849417.8A Active CN110620735B (zh) | 2019-09-09 | 2019-09-09 | 一种基于表格化配置的动态负载均衡遥测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110620735B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865817A (zh) * | 2020-06-23 | 2020-10-30 | 烽火通信科技股份有限公司 | 遥测采集器负载均衡管控方法、装置、设备及存储介质 |
Citations (10)
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 (zh) * | 2012-05-29 | 2012-09-05 | 福州大学 | 用于无线传感器网络的任务容错分配方法 |
CN103617359A (zh) * | 2013-12-04 | 2014-03-05 | 中国船舶重工集团公司第七二四研究所 | 一种多阵面旋转相控阵雷达任务调度方法 |
CN106773711A (zh) * | 2017-01-13 | 2017-05-31 | 清华大学 | 一种铁路机车运行操纵***的混合任务调度方法及模型 |
CN107192411A (zh) * | 2017-05-15 | 2017-09-22 | 中国西安卫星测控中心 | 一种航天器多遥测参数分析窗口划分方法 |
WO2018124949A1 (en) * | 2016-12-28 | 2018-07-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Dynamic management of monitoring tasks in a cloud environment |
CN109241194A (zh) * | 2018-09-29 | 2019-01-18 | 广东省信息工程有限公司 | 基于高性能集群分布的数据库***的负载均衡方法及装置 |
CN109507692A (zh) * | 2018-11-06 | 2019-03-22 | 珠海欧比特宇航科技股份有限公司 | 一种星务信息流仿真***及其方法 |
CN109960177A (zh) * | 2017-12-25 | 2019-07-02 | 郑州宇通客车股份有限公司 | Can总线数据处理方法和控制*** |
-
2019
- 2019-09-09 CN CN201910849417.8A patent/CN110620735B/zh active Active
Patent Citations (10)
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 (zh) * | 2012-05-29 | 2012-09-05 | 福州大学 | 用于无线传感器网络的任务容错分配方法 |
CN103617359A (zh) * | 2013-12-04 | 2014-03-05 | 中国船舶重工集团公司第七二四研究所 | 一种多阵面旋转相控阵雷达任务调度方法 |
WO2018124949A1 (en) * | 2016-12-28 | 2018-07-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Dynamic management of monitoring tasks in a cloud environment |
CN106773711A (zh) * | 2017-01-13 | 2017-05-31 | 清华大学 | 一种铁路机车运行操纵***的混合任务调度方法及模型 |
CN107192411A (zh) * | 2017-05-15 | 2017-09-22 | 中国西安卫星测控中心 | 一种航天器多遥测参数分析窗口划分方法 |
CN109960177A (zh) * | 2017-12-25 | 2019-07-02 | 郑州宇通客车股份有限公司 | Can总线数据处理方法和控制*** |
CN109241194A (zh) * | 2018-09-29 | 2019-01-18 | 广东省信息工程有限公司 | 基于高性能集群分布的数据库***的负载均衡方法及装置 |
CN109507692A (zh) * | 2018-11-06 | 2019-03-22 | 珠海欧比特宇航科技股份有限公司 | 一种星务信息流仿真***及其方法 |
Non-Patent Citations (4)
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 (zh) | 2019-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101546276B (zh) | 多核环境下实现中断调度的方法及多核处理器 | |
CN108768876B (zh) | 一种面向机器学习框架的流量调度方法 | |
CN111506430B (zh) | 多任务下数据处理的方法、装置及电子设备 | |
CN104243240A (zh) | 一种基于OpenFlow的SDN流量测量方法 | |
CN110019386B (zh) | 一种流数据处理方法及设备 | |
CN105338061A (zh) | 一种轻量级消息中间件的实现方法与*** | |
CN110620735B (zh) | 一种基于表格化配置的动态负载均衡遥测方法 | |
CN109189509A (zh) | 接口的调用方法、接口调用的响应方法及服务器 | |
CN110061924A (zh) | 一种报文转发方法、装置及相关产品 | |
CN114064309A (zh) | 一种基于处理优先级的电缆业务数据处理方法及装置 | |
CN112367270B (zh) | 一种报文发送的方法和设备 | |
CN111988345A (zh) | 一种信息同步的方法及设备 | |
EP3011456B1 (en) | Sorted event monitoring by context partition | |
CN113438169A (zh) | 一种数据调度方法、电子设备及存储介质 | |
Balman et al. | Dynamic adaptation of parallelism level in data transfer scheduling | |
CN109361761B (zh) | 一种物联网通信终端操作*** | |
Miao et al. | Smart batching: A load-sensitive self-tuning packet I/O using dynamic batch sizing | |
US11275621B2 (en) | Device and method for selecting tasks and/or processor cores to execute processing jobs that run a machine | |
CN113722174B (zh) | 一种PCIe带宽实时监控***及其监控方法 | |
CN105518617B (zh) | 缓存数据的处理方法及装置 | |
CN115033904A (zh) | 数据处理方法、装置、***、介质和产品 | |
CN115002209A (zh) | 数据处理方法、装置及*** | |
CN113614658B (zh) | 管线运算装置、可编程逻辑控制器及管线处理的执行方法 | |
CN109862023B (zh) | 一种嵌入式设备实现加速计算和高速网络数据传输方法 | |
US9391904B2 (en) | Delay timer device, method for managing a plurality of delays, and apparatus for delaying a plurality of data packets |
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 |