一种多维度用电数据采集调度方法及系统与流程

文档序号:23993579发布日期:2021-02-20 14:37阅读:175来源:国知局
一种多维度用电数据采集调度方法及系统与流程

[0001]
本发明属于电力系统数据采集领域,具体涉及一种多维度用电数据采集调度方法及系统。


背景技术:

[0002]
目前电力系统数据种类、数据量越来越大,数据采集任务也面临巨大挑战,面对电能采集系统中日趋多样化的采集任务需求,在其拓展性、复用件和灵活性方面逐渐显现出一些不足。电力系统数据采集系统的实时性要求也越来越高,数据采集系统执行采集任务时往往需要针对大量数据同时采集,在高并发状态下可能造成终端用户争夺资源造成响应速度缓慢、影响数据及时采集和传输。
[0003]
现有数据采集任务调度主要通过预先配置好的静态优先级来控制任务调度的优先顺序,静态优先级包含较多的主观因素,不能真实、客观地反映任务的重要程度,有些任务的重要性在任务的整个生命周期内是动态变化的,尤其在高并发状态下,静态优先级无法较好的解决网络拥塞问题,已经不能很好适应多样化、实时性的数据采集需求。


技术实现要素:

[0004]
有鉴于此,本发明提出了一种多维度用电数据采集调度方法,用于解决电力数据采集系统中高并发状态下,任务执行效率低下造成数据采集延迟的问题。
[0005]
本发明第一方面,公开一种多维度用电数据采集调度方法,所述方法包括:将数据采集框架划分为调度、信道、任务三个维度,分别将每一维度封装成抽象类,根据每一维度的抽象类派生多个子类,建立调度维度子类与信道维度子类之间的对应关系;从任务维度获取数据采集任务,在调度维度中根据数据采集任务的静态优先级降序排列生成执行任务队列,并调用对应的信道维度子类执行所述执行任务队列;监控所述执行任务队列的执行状态,记录失败重试次数、同类型任务的平均处理速度,计算已执行任务的执行效率、未执行任务的预计时延;当已执行任务的执行效率小于预设阈值时,根据数据采集任务的静态优先级、同类型任务的平均处理速度、已执行任务的执行效率、未执行任务的预计时延、失败重试次数计算任务动态优先级;按照动态优先级大小调整执行任务队列中任务的优先级,按照动态优先级执行数据采集任务。
[0006]
优选的,根据每一维度的抽象类派生多个子类具体包括:对于调度维度,其派生类包括并行调度子类、串行调度子类;对于信道维度,使用模板封装信道初始化流程,其派生类包括rs485信道子类、hplc信道子类;对于任务维度,其派生类包括实时数据采集任务子类、历史数据采集任务子类、穿透任务子类。
[0007]
优选的,所述数据采集任务均携带主站分配的静态优先级、任务开始时间、任务结束时间、执行频率。
[0008]
优选的,所述计算已执行任务的执行效率、未执行任务的预计时延计算方法为:设当前任务队列中任务总数为n,其中已执行的任务个数为k,任务首次执行成功数为α,每个任务的理论执行时间为t
i
、已执行任务的实际执行时间为t
i’,已执行任务的执行效率为:未执行任务的预计时延t
i
为:其中i=1,2,

, k,k+1,

,n。
[0009]
优选的,所述根据数据采集任务的静态优先级、已执行任务的执行效率、同类型任务的平均执行速度、未执行任务的预计时延、失败重试次数计算各任务的动态优先级具体包括:根据静态优先级p
i
、未执行任务的预计时延t
i
、同类型任务的平均执行速度v
i
计算执行任务队列中首次执行的任务的动态优先级:其中p
j
表示执行任务队列中首次执行的任务的动态优先级,p
j
越大,优先级越高,表示权重系数,且。
[0010]
优选的,所述根据数据采集任务静态优先级、已执行任务的执行效率、同类型任务的平均执行速度、未执行任务的预计时延、失败重试次数计算各任务的动态优先级还包括:将首次执行失败的任务从初始执行任务队列中剔除,并加入延时任务队列;将执行失败的任务从初始执行任务队列中剔除,并加入延时任务队列;根据对应的静态优先级p
i
、已执行任务的执行效率、失败重试次数δ
i
计算延时任务队列中各失败重试任务的动态优先级:p
j

为各失败重试任务的动态优先级,p
i
为失败重试任务对应的静态优先级,
,k为已执行的任务个数。
[0011]
优选的,所述按照动态优先级大小调整执行任务队列中任务的优先级,按照动态优先级执行数据采集任务具体为:将延时任务队列中的任务按照动态优先级大小插入所述执行任务队列,形成新的执行任务队列,新的执行任务队列中,动态优先级高的优先执行。
[0012]
本发明第二方面,公开一种多维度用电数据采集调度系统,所述系统包括:维度划分模块:将数据采集框架划分为调度、信道、任务三个维度,分别将每一维度封装成抽象类,根据每一维度的抽象类派生多个子类,建立调度维度子类与信道维度子类之间的对应关系;任务执行模块:从任务维度获取数据采集任务,在调度维度中根据数据采集任务的静态优先级降序排列生成执行任务队列,并调用对应的信道维度子类执行所述执行任务队列;任务监控模块:监控所述执行任务队列的执行状态,记录失败重试次数、同类型任务的平均处理速度,计算已执行任务的执行效率、未执行任务的预计时延;优先级计算模块:当已执行任务的执行效率小于预设阈值时,根据数据采集任务的静态优先级、失败重试次数、同类型任务的平均处理速度、已执行任务的执行效率、未执行任务的预计时延计算任务动态优先级;任务调整模块:按照动态优先级大小调整执行任务队列中任务的优先级,按照动态优先级执行数据采集任务。
[0013]
本发明第三方面,公开一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现如本发明第一方面所述的方法。
[0014]
本发明第四方面,公开一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机实现如本发明第一方面所述的方法。
[0015]
本发明相对于现有技术具有以下有益效果:1)本发明借助于结构型模式中的桥接模式将数据采集框架划分为调度、信道、任务三个维度,实现多维度自由变换与组合,方便采集终端电能设备的和采集任务、采集方式的自由扩展,减少升级改造难度;2)本发明在任务执行的过程中实时监控任务队列的执行状态,当已执行任务的执行效率小于预设阈值时,根据数据采集任务的静态优先级、失败重试次数、同类型任务的平均处理速度、已执行任务的执行效率、未执行任务的预计时延分别计算任务的动态优先级,其中任务的动态优先级分为首次执行的任务动态优先级和失败重试任务的优先级,基于不同的策略分别计算动态优先级,最后按照动态优先级大小将失败重试任务插入执行队列正常执行;本发明基于当前任务的执行效率实时动态进行优先级调整,合理调度各项任务;3)本发明对于首次执行的任务,优先保障静态优先级较高、时延较长、同类型执行速度较快的任务优先执行,能均衡协调各影响因素,保障执行效率,防止个别任务的阻塞影响当
前整个任务队列的执行;对于运行失败的任务,通过补测机制建立延时任务队列,在原有的静态优先级的基础上,基于失败重试次数及当前任务执行效率计算动态优先级,在任务执行效率较高的情况优先保障静态优先级高、失败重试次数较少的任务优先执行;本发明在原有的静态优先级的基础上结合任务的实时执行状态进行不定时的优先级再分配,保障任务队列整体的执行效率。
附图说明
[0016]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]
图1为本发明的多维度用电数据采集调度方法流程示意图;图2为本发明数据采集架构示意图;图3为本发明进行动态优先级调整前后执行效率变化的效果图;图4为本发明的多维度用电数据采集调度系统结构示意图。
具体实施方式
[0018]
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
[0019]
在用电信息采集系统中,采集终端通过4g/以太网与主站通信连接,采集终端则通过rs485/电力载波/光纤/以太网等方式采集用户端的电能表数据。传统用电信息采集系统的多任务并发处理策略通常是根据任务属性分配静态优先级分类执行,造成部分任务长时间未得到响应,导致系统用户体验差。本发明在任务执行效率下降时实现任务优先级动态可调,适用于数据采集系统中多任务并发处理。
[0020]
请参阅图1,本发明提出一种多维度用电数据采集调度方法,其特征在于,所述方法包括:s1、将数据采集框架划分为调度、信道、任务三个维度,分别将每一维度封装成抽象类,根据每一维度的抽象类派生多个子类,建立调度维度子类与信道维度子类之间的对应关系;电力数据采集系统中通常要求采集不同信道、不同规约的传感数据,而且不同信道采取的采集调度策略可能各不相同,采集任务方面除了周期的采集任务,还有透传任务、控制命令等其他任务。面对采集调度、信道、采集任务3个维度的变化,使用普通的继承方式将产生大量的子类,非常不利于这3个维度的自由扩展。
[0021]
本发明借助于结构型模式中的桥接模式,将数据采集框架划分为调度、信道、任务三个维度,本发明实施例中,以调度为主维度,信道、任务为2个次维度进行数据采集,请参阅图2,图2为发明数据采集架构示意图,分别将每一维度封装成抽象类,根据每一维度的抽象类派生多个子类。
[0022]
对于调度维度(gatherdispatch类),该类下包括任务添加函数addtask()、回调函数datacallback()等,其派生类包括并行调度子类(termactivedisp子类)、串行调度子类,也可扩展其他采集调度方式(otherdisp子类);对于信道维度(gatherchannel类),使用模板封装信道初始化流程,该类下包括初始化函数init()、数据发送函数senddata()等,其派生类可包括rs485信道子类(rs485channel子类)、hplc信道子类(hplcchannel子类)、窄带电力载波信道子类、光纤信道子类、以太网信道子类等等多种。
[0023]
对于任务维度(metertask类),该类下包括超时信号函数recvtimeout()、请求函数request()、响应函数respons()等,其派生类包括实时数据采集任务子类(datatask子类)、历史数据采集任务子类、透传任务子类(proxytask子类)等等。
[0024]
图2中“+”表示公有函数,
“-”
表示私有函数。metertask类、gatherchannel类可以进行任意派生,它们的组合关系在运行时由对象动态绑定。由于不同信道对应的调度方式不同,还需建立调度维度子类与信道维度子类之间的对应关系。
[0025]
本发明借助桥接模式实现了信道维度、调度维度、任务维度的解耦,每一维度可自由扩展,方便应对数据采集系统中多维度的变化,减少数据采集系统升级改造难度。
[0026]
s2、从任务维度获取数据采集任务,在调度维度中根据数据采集任务的属性信息生成执行任务队列,并调用对应的信道维度子类执行所述执行任务队列;采集终端采集数据的方式可为主动采集和被动采集,主动采集和被动采集可切换,被动采集时接收主站下发的配置文件,根据配置文件获取数据采集任务的任务类型、采集方案、采集节点和采集时间点,数据采集任务还携带主站分配的静态优先级、任务开始时间、任务结束时间、执行频率等。在调度维度中根据数据采集任务生成执行任务队列,执行任务队列中,静态优先级高的优先执行,静态优先级相同的则按照任务开始时间顺序执行。
[0027]
执行任务时,可对信道进行并发度试探,保障最大并行执行速度。
[0028]
s3、监控所述执行任务队列的执行状态,记录失败重试次数、同类型任务的平均处理速度,计算已执行任务的执行效率、未执行任务的预计时延;计算已执行任务的执行效率的方法为:设当前任务队列中任务总数为n,其中已执行的任务个数为k,任务首次执行成功数为α,每个任务的理论执行时间为t
i
、已执行任务的实际执行时间为t
i’,已执行任务的执行效率的公式为:所述任务的理论执行时间t
i
通过任务开始时间、任务结束时间确定。本发明计算任务的执行效率时,考虑到了任务执行时间和首次任务的成功率α/n,当任务均在理论的执行时间内完成处理且任务成功率较高时,则判定有较高的执行高效率,在较高的执行效率下可实现任务的及时响应和处理,保证数据采集任务的实时性;反之,任务的实际执行时间超出理论执行时间或成功率交底时会影响任务执行效率。
[0029]
未执行任务的预计时延t
i
的公式为:其中i=1,2,

, k,k+1,

,n。
[0030]
取当前已执行任务的执行效率作为后续任务执行效率来预测任务执行队列中的未执行任务的时延,在执行效率下,预测第一个未执行任务i=k+1的实际执行时间为,得到其时延,其他任务以此类推,预测得到各个任务的时延。
[0031]
s4、当已执行任务的执行效率小于预设阈值时,根据数据采集任务的静态优先级、同类型任务的平均处理速度、已执行任务的执行效率、未执行任务的预计时延、失败重试次数计算任务动态优先级;具体计算时,可分别计算执行任务队列中首次执行的任务的动态优先级和计算失败重试任务的优先级,将执行任务队列中数据采集失败的任务从执行任务队列中移除,加入延时任务队列,在延时任务队列中重新调整优先级。延时任务队列向反应器注册定时器的方式进行任务延时处理,执行时间到达时,反应器分派超时事件,将延时任务插入正常调度的执行任务队列中执行。
[0032]
步骤s4具体包括如下分步骤:s41、预设一个执行效率阈值,比如设定执行效率阈值,当执行效率时,认为当前执行效率不佳,通过计算任务动态优先级的方式来调整任务队列。
[0033]
s42、根据静态优先级p
i
、未执行任务的预计时延t
i
、同类型任务的平均执行速度v
i
计算执行任务队列中首次执行的任务的动态优先级:其中p
j
表示执行任务队列中首次执行的任务的动态优先级,p
j
越大,优先级越高,表示权重系数,且。
[0034]
计算执行任务队列中任务动态优先级的方式,能均衡协调任务原先的静态优先级p
i
、任务的时延、任务的执行速度之间的关系,保障静态优先级较高、时延较长、同类型执行速度较快的任务优先执行,提高执行效率,防止部分任务长时间未得到响应,影响数据采集的实时性。
[0035]
s43、将执行失败的任务从初始执行任务队列中剔除,并加入延时任务队列;根据对应的静态优先级p
i
、已执行任务的执行效率、失败重试次数δ
i
计算延时任务队列中各失败重试任务的动态优先级:
p
j

为各失败重试任务的动态优先级,p
i
为失败重试任务对应的静态优先级,,k为已执行的任务个数。
[0036]
其中表示任务队列的平均重试次数,将当前任务的失败重试次数与平均重试次数比较,根据比较结果及当前任务执行效率来调整优先级。在当前任务执行效率对优先级调配的基础上,若失败重试次数大于平均重试次数则,优先级进一步下调,若失败重试次数小于平均重试次数则,优先级在当前基础上上调。若失败重试次数过多则发送告警信息,表示数据采集任务经过多次尝试仍然失败。对于多次采集失败的任务也可分时段采集,避开数据采集高峰期。
[0037]
本发明还实时监控cpu利用率,在cpu利用率超过设定阈值时,将动态优先级较低的暂停执行,以保证重要任务的执行。
[0038]
s5、按照动态优先级大小调整执行任务队列中任务的优先级,按照动态优先级执行任务队列的任务,返回步骤s3。
[0039]
具体的,将延时任务队列中的任务按照动态优先级大小插入所述执行任务队列,形成新的执行任务队列,新的执行任务队列中,动态优先级高的优先执行。
[0040]
本发明在任务执行的过程中实时监控任务队列的执行状态,当已执行任务的执行效率小于预设阈值时,根据数据采集任务的静态优先级、失败重试次数、同类型任务的平均处理速度、已执行任务的执行效率、未执行任务的预计时延等多个维度来计算任务的动态优先级,其中任务的动态优先级分为首次执行的任务动态优先级和失败重试任务的优先级,基于不同的策略分别计算动态优先级,本发明基于当前任务的执行效率实时动态进行优先级调整,合理调度任务,保证任务的执行效率。
[0041]
请参阅图3,图3为本发明进行动态优先级调整前后执行效率变化的效果图,在t
a
时刻,任务的执行效率开始低于预设的执行效率阈值,此时开始采用本发明的计算任务的动态优先级,并使用动态优先级进行任务调度,经过较短时间的反应和调整期,任务执行效率开始上升,到t
b
时刻,总体的任务执行效率高于设定的阈值,保障了任务执行效率,当任务执行效率再次回落时再次计算动态优先级并调度任务执行。
[0042]
请参阅图4,与所述方法实施例相对应,本发明还提出一种多维度用电数据采集调度系统,所述系统包括:维度划分模块10:将数据采集框架划分为调度、信道、任务三个维度,分别将每一维度封装成抽象类,根据每一维度的抽象类派生多个子类,建立调度维度子类与信道维度子类
之间的对应关系;任务执行模块20:从任务维度获取数据采集任务,在调度维度中根据数据采集任务生成执行任务队列,并调用对应的信道维度子类执行所述执行任务队列;任务监控模块30:监控所述执行任务队列的执行状态,记录失败重试次数、同类型任务的平均处理速度,计算已执行任务的执行效率、未执行任务的预计时延;优先级计算模块40:当已执行任务的执行效率小于预设阈值时,根据数据采集任务的静态优先级、失败重试次数、同类型任务的平均处理速度、已执行任务的执行效率、未执行任务的预计时延计算任务动态优先级;任务调整模块50:按照动态优先级大小调整执行任务队列中任务的优先级,按照动态优先级执行数据采集任务。
[0043]
本发明还公开一种电子设备,包括:至少一个处理器、至少一个存储器、通信接口和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,以实现本发明前述的多维度用电数据采集调度的步骤。
[0044]
本发明还公开一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机实现以实现本发明前述的多维度用电数据采集调度的步骤。所述存储介质包括:u盘、移动硬盘、只议存储器rom、随机存取存储器ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0045]
专业人员可以进一步意识到,结合本文中所公开的实施例描述的示例的模块及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能性一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应超过本发明的范围。
[0046]
此外,需要说明的是,以上所描述的系统实施例仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的,此处不做限制。另外,未在本实施例中详尽描述的技术细节,可参见本发明其它实施例,此处不再赘述。
[0047]
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1