基于任务槽的前置机实时漏补方法和系统与流程

文档序号:17929946发布日期:2019-06-15 00:45阅读:412来源:国知局
基于任务槽的前置机实时漏补方法和系统与流程
本发明涉及抄表
技术领域
,特别涉及一种基于任务槽的前置机实时漏补方法和系统。
背景技术
:采集成功率,作为电力采集系统中反映采集质量的一项重要指标。目前绝大部分的采集系统存在数据补招滞后不及时、效率不高等现象,最终导致电力系统的采集成功率不高,影响用户的系统使用体验。目前绝大部分电力采集系统的补招采用如下的方式:定期地在一天的某几个时间段去统计哪些表计存在漏点,然后去发起补招。这样的方式只会在定好的某几个时间段去进行数据漏点审计统计,然后进行补招,这将导致漏点审计效率低,数据漏点会在好几个采集周期一直存在,导致采集成功率不高。技术实现要素:本发明提供一种基于任务槽的前置机实时漏补方法和系统,解决现有上述的问题。为解决上述问题,本发明实施例提供一种基于任务槽的前置机实时漏补方法,包括以下步骤:配置表计的任务模型,发起轮招任务;读取任务模型中的数据进度表;解析数据进度表中的进度时间;采样任务模型中的参考时间和采集周期时间;将进度时间与参考时间比较,若其差值大于周期时间,则发起补招任务,以进度时间作为起始时间,以参考时间作为结束时间,对这两者时间内的表计数据进行采集;若其差值小于周期时间,则根据任务模型对当前表计进行数据采集,采集成功后,更新数据进度表,以该任务的任务结束时间作为数据进度表中的进度时间。作为一种实施方式,还包括以下步骤:若长时间未能采集到数据时,则将根据配置文件进行跳点采集。作为一种实施方式,所述配置文件包括:重发次数、重发间隔时间、跳点数据间隔以及最大采集的数据间隔。作为一种实施方式,所述任务模型包括对应单一表计的任务分组,任务分组中包括若干采集任务,每个采集任务中包括数据密度、曲线、参考时间以及采集周期,其中,曲线包括若干数据项。作为一种实施方式,每个所述数据项均包括一张数据进度表。本发明还提供一种基于任务槽的前置机实时漏补系统,包括:配置模块,用于配置表计的任务模型,发起轮招任务;读取模块,用于读取任务模型中的数据进度表;解析模块,用于解析数据进度表中的进度时间;采样模块,用于采样任务模型中的参考时间和采集周期时间;漏电补招模块,用于将进度时间与参考时间比较,若其差值大于周期时间,则发起补招任务,以进度时间作为起始时间,以参考时间作为结束时间,对这两者时间内的表计数据进行采集;若其差值小于周期时间,则根据任务模型对当前表计进行数据采集,采集成功后,更新数据进度表,以该任务的任务结束时间作为数据进度表中的进度时间。作为一种实施方式,还包括:跳点模块,用于在长时间未能采到数据时,则将根据配置文件进行跳点采集。作为一种实施方式,所述配置文件包括:重发次数、重发间隔时间、跳点数据间隔以及最大采集的数据间隔。作为一种实施方式,所述任务模型包括对应单一表计的任务分组,任务分组中包括若干采集任务,每个采集任务中包括数据密度、曲线、参考时间以及采集周期,其中,曲线包括若干数据项。作为一种实施方式,每个所述数据项均包括一张数据进度表。本发明相比于现有技术的有益效果在于:通过每次到了预定点开始采集的时候,会根据电表的采集进度时间点去进行采集,如果采集进度时间点与当前时间点之间还有漏点的会一起补抄回来,这样可以省掉漏点审计的过程,有助于提高补招的及时性,提升整体的采集成功率。附图说明图1为本发明的基于任务槽的前置机实时漏补方法的流程图;图2为本发明的任务模型的模块图;图3为本发明的基于任务槽的前置机实时漏补系统的模块连接图。附图标注:1、配置模块;2、读取模块;3、解析模块;4、采样模块;5、漏电补招模块;6、跳点模块。具体实施方式以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。实施例一如图1所示,一种基于任务槽的前置机实时漏补方法,包括以下步骤:s100:配置表计的任务模型,发起轮招任务;s200:读取任务模型中的数据进度表;s300:解析数据进度表中的进度时间;s400:采样任务模型中的参考时间和采集周期时间;s500:将进度时间与参考时间比较;s600:若其差值大于周期时间,则发起补招任务,以进度时间作为起始时间,以参考时间作为结束时间,对这两者时间内的表计数据进行采集;s700:若其差值小于周期时间,则根据任务模型对当前表计进行数据采集,采集成功后,更新数据进度表,以该任务的任务结束时间作为数据进度表中的进度时间;s800:若长时间未能采集到数据时,则将根据配置文件进行跳点采集。完成上述步骤的需要针对每块表计配置任务模型,如图2所示,任务模型包括对应单一表计的任务分组,任务分组中包括若干采集任务,每个采集任务中包括数据密度、曲线(profile)、参考时间以及采集周期,其中,曲线包括若干数据项。数据密度:指数据项冻结的周期,该周期是用户、电表、集中器、主站项目建设初期共同协商的。曲线:用来对应一组数据项集合,每种规约中任务号都对应规定一组数据项;参考时间:与采集周期结合来共同影响任务触发的起始基准时间;采集周期:指采集任务的产生周期;数据项:对应规约中的数据传送单位。除此之外,轮招任务之前还有准备工作:轮招任务的采集流程在各个产生的任务里,实现execute(messagerspblockresponse)方法,然后采用状态机控制整个任务的初始化、执行以及销毁等操作。任务初始化(taskstateinitialize):包括终端档案、电表档案、数据项,任务进度比对;任务请求(taskstaterequest):通常是组织相应规约的序列化类,并将消息push到mq发送队列中。任务回应(taskstateresponse):等待数据回应,判断超时,如果数据有回应需要分析返回的结果,更新进度,并判断是否需要请求下一个点数据。任务超时(taskstatetimeout),判断是否超过重发次数,否则重新发送报文。任务结束(taskstatefinish):通常是将自己从任务池中销毁。上述状态转换并不是在一个阻塞过程中完成,而是任务调度器中与其他执行任务一次被“询问”完成。轮招任务针对每块表的每个数据项都会维护一张数据进度表,以记录表的数据项的数据采集到的具体的某个时间点(即数据进度表中的进度时间)。具体的数据进度表如下:字段数据类型是否主键comment设备idvarchar2(32)true曲线任务idvarchar2(32)true数据项编码varchar2(32true进度时间datefalse配置文件包括:重发次数(task.retrytimes)、重发间隔时间(task.retryinterval)、跳点数据间隔(task.jumpinterval)以及最大采集的数据间隔(task.maxcollinterval)。在本实施例中,重发次数为2次,重发间隔时间为60s,跳点数据间隔为4个,最大采集的数据间隔为4个。实施例二如图3所示,一种基于任务槽的前置机实时漏补系统,包括配置模块1、读取模块2、解析模块3、采样模块4、漏电补招模块5以及跳点模块6,配置模块1用于配置表计的任务模型,发起轮招任务;读取模块2用于读取任务模型中的数据进度表;解析模块3用于解析数据进度表中的进度时间;采样模块4用于采样任务模型中的参考时间和采集周期时间;漏电补招模块5用于将进度时间与参考时间比较,若其差值大于周期时间,则发起补招任务,以进度时间作为起始时间,以参考时间作为结束时间,对这两者时间内的表计数据进行采集;若其差值小于周期时间,则根据任务模型对当前表计进行数据采集,采集成功后,更新数据进度表,以该任务的任务结束时间作为数据进度表中的进度时间;跳点模块6用于在长时间未能采到数据时,则将根据配置文件进行跳点采集。任务模型包括对应单一表计的任务分组,任务分组中包括若干采集任务,每个采集任务中包括数据密度、曲线(profile)、参考时间以及采集周期,其中,曲线包括若干数据项。数据密度:指数据项冻结的周期,该周期是用户、电表、集中器、主站项目建设初期共同协商的。曲线:用来对应一组数据项集合,每种规约中任务号都对应规定一组数据项;参考时间:与采集周期结合来共同影响任务触发的起始基准时间;采集周期:指采集任务的产生周期;数据项:对应规约中的数据传送单位。除此之外,轮招任务之前还有准备工作:轮招任务的采集流程在各个产生的任务里,实现execute(messagerspblockresponse)方法,然后采用状态机控制整个任务的初始化、执行以及销毁等操作。任务初始化(taskstateinitialize):包括终端档案、电表档案、数据项,任务进度比对;任务请求(taskstaterequest):通常是组织相应规约的序列化类,并将消息push到mq发送队列中。任务回应(taskstateresponse):等待数据回应,判断超时,如果数据有回应需要分析返回的结果,更新进度,并判断是否需要请求下一个点数据。任务超时(taskstatetimeout),判断是否超过重发次数,否则重新发送报文。任务结束(taskstatefinish):通常是将自己从任务池中销毁。上述状态转换并不是在一个阻塞过程中完成,而是任务调度器中与其他执行任务一次被“询问”完成。轮招任务针对每块表的每个数据项都会维护一张数据进度表,以记录表的数据项的数据采集到的具体的某个时间点(即数据进度表中的进度时间)。具体的数据进度表如下:字段数据类型是否主键comment设备idvarchar2(32)true曲线任务idvarchar2(32)true数据项编码varchar2(32true进度时间dateflase配置文件包括:重发次数(task.retrytimes)、重发间隔时间(task.retryinterval)、跳点数据间隔(task.jumpinterval)以及最大采集的数据间隔(task.maxcollinterval)。在本实施例中,重发次数为2次,重发间隔时间为60s,跳点数据间隔为4个,最大采集的数据间隔为4个。本发明基于任务槽的前置机实时漏补方法和系统,通过每次到了预定点开始采集的时候,会根据电表的采集进度时间点去进行采集,如果采集进度时间点与当前时间点之间还有漏点的会一起补抄回来,这样可以省掉漏点审计的过程,有助于提高补招的及时性,提升整体的采集成功率。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1