购供售一体化电能量采集与监控系统中基于分布式缓存的采集任务调度方法

文档序号:6439682阅读:117来源:国知局
专利名称:购供售一体化电能量采集与监控系统中基于分布式缓存的采集任务调度方法
技术领域
本发明涉及一种购供售一体化电能量采集与监控系统中基于分布式缓存的采集任务调度方法,本方法也适用于传统的电能量采集与监控系统。
背景技术
传统的电能量采集与监控系统都是独立分散的系统,一般都是变电站、电厂关口电量采集一套系统,电力用户用电信息采集又是另外一套系统,因为数据分散,只要采用一般的基于采集结点间的采集程序控制的任务调度就可以满足任务调度的作用。
新型的购供售一体化电能量采集与监控系统要将电厂变电站和电力用户纳入一个平台采集,数据类型多,数据量大,从高压到低压用户,从几十万到上百万,乃至上千万, 对于这些数据的采集传统的任务调度不管从实时性还是数据量都已经不能满足系统的需求。
目前传统的电能量采集与监控系统中的任务调度方式大多是采用在采集集群内部通过消息总线进行任务调度,其步骤首先在采集集群中指定某个采集结点作为任务调度主机,由这台主机生成任务通过消息总线给其他结点分配任务,采用这种方式不可避免地会出现当主机退出集群时,整个采集集群需要重新进行运算找出下一个主机,这样会造成采集服务的短暂中断,而且会造成任务丢失等现象;另一种比较常用的方法是采集集群通过一致性HASH算法由每台采集结点负载均衡地接管一部分任务,这种方法没有调度主机的概念,采集集群中的每台采集结点地位是均等的,当集群中的任何一个结点退出的话,会通过一致HASH算法把这台上的任务再平均分配到其他结点上,但是这也是需要有一段时间去完成运算,这个过程也会造成采集服务的短暂中断。
上述现有技术的缺点如下在采集集群中的某些结点状态变化的时候会对采集服务造成一段时间中断,以上任务调度方式会由于采集集群中的采集结点的频繁启停造成部分任务丢失;对任务执行缺乏有效监控,对失败任务不容易回收,实现负载均衡等难度都较大等缺点。发明内容
本发明所要解决的技术问题是提供一种购供售一体化电能量采集与监控系统中基于分布式缓存的采集任务调度方法。
本发明解决其技术问题所采用的技术方案一种购供售一体化电能量采集与监控系统中基于分布式缓存的采集任务调度方法,其特征在于所述方法由分布式缓存、任务管理器、前置采集集群及消息总线组成的采集任务调度系统完成;具体步骤如下(一)由所述任务管理器根据任务模板生成采集任务,将所述采集任务放到所述分布式缓存的任务数据区(1)由所述采集与监控系统将数据库中的任务模板加载到所述分布式缓存的任务数据区,由任务管理器从所述任务数据区获取任务模板,并对任务模板的状态进行判断,过滤掉无效和停用的任务模板;(2)对任务模板进行增加或/和删除修改对任务模板根据需要进行增加或/和删除修改,由任务管理器对作出修改的任务模板进行监测,并通过消息总线获取相应的信息;(3)创建任务线程池通过分析任务模板的内容,根据任务需要执行的时间和周期创建任务线程池,任务管理器根据任务时间要求属性动态地生成采集任务,并将所生成的采集任务放入所述任务线程池中,由任务管理器统一管理;所述采集任务由任务ID号和任务信息体组成,一个任务ID号对应唯一一个任务信息体;(二)由任务管理器通过权重轮询算法对所述采集任务进行调度,将采集任务通过消息总线分发给各个采集结点,采集结点获取采集任务后进行报文组装、下发和接收解析操作, 采集任务结束后更新采集任务状态(1)所述权重轮询算法根据每台采集服务器的不同处理能力,给每台采集服务器分配不同的权值,使其能够接收相应权值数的任务请求;(2)分配好的采集任务会标记上采集结点的任务ID号标识,把分配的任务发送到消息总线上,同时在分布式缓存的任务数据区中记录下这个采集任务的状态,包括已经分配给哪台采集结点执行和采集任务的执行状态和时间;(3)采集结点获取任务后,根据任务信息体的内容进行报文的组装、下发及接收解析操作,然后根据采集任务执行结果通过消息总线返回到分布式缓存的任务数据区;所述采集任务执行结果包括成功、失败和超时;(三)任务管理器对执行完成的采集任务进行相应的处理任务管理器定时地对所述任务数据区进行监测,对执行成功的任务进行清理,对执行失败和超时的任务进行重新进行分配;当前置采集集群里的某个采集结点突然退出时,任务管理器监测到采集结点工况变化信息,对这个采集结点上正在执行的采集任务和未执行的采集任务进行回收,将这些采集任务重新分配到其他在线的采集结点上。
所述任务信息体包括采集任务所要采集或者设置的数据项、采集的开始和结束时间、以及采集的通讯方式和通讯协议。所述任务数据区里的数据是以MAP方式存储的。
本发明的有益效果如下本发明利用分布式缓存进行采集任务的调度,解决了前置采集集群的任务均衡分配问题,当采集结点投退后,所述采集任务调度系统能保持正常运行,不会发生中断现象,并且能够对退出采集结点上正在执行的任务进行回收重新处理。能很好地解决庞大数据的任务调度问题,从根本上解决了购供售一体化点能量采集与监控系统数据类型多,数据量大的瓶颈问题;实现了采集任务的高效、均衡、稳定调度。可以实现省管辖范围内全部电力用户的“全覆盖、全采集、全费控”和全部购电、供电、售电、地电关口及公变考核点的自动采集与集成应用。


图1为本发明方法的流程图。
图2为采集任务调度系统的结构示意图。
图3为购供售一体化电能量采集与监控系统中本发明所涉及到的硬件部分示意图。
具体实施方式
实施例(参见图1-3):一种基于分布式缓存的采集任务调度方法,其特征在于所述方法由分布式缓存、任务管理器、前置采集集群以及消息总线组成的采集任务调度系统完成,具体步骤如下(1)开始;(2)获取任务模板所属采集与监控系统先把数据库中的任务模板预先加载到分布式缓存的任务数据区中,由任务管理器从分布式缓存的任务数据区获取任务模板,对任务模板的状态进行判断, 过滤掉无效的、停用的采集任务。
(3)任务模板的增删改通知由于任务模板需要经常进行人工修改和增加,所以任务管理器负责对作出的修改内容进行监测,通过监测分布式缓存的任务数据区的变化状态,通过消息总线获取到相应的信息;(4)创建任务线程池由于任务模板比较多,有的采集任务对实时性要求也很高,所以通过创建一个任务线程池存放需要生成的采集任务,通过分析任务模板的内容获知采集任务需要执行的时间和周期后,生成采集任务并放入任务线程池;由任务管理器统一管理;所述生成的采集任务由任务ID号和任务信息体组成,一个任务ID号对应唯一一个任务信息体。
(5)判断采集终端是否占用对于采集终端来说同一时刻只能有一个任务执行,不能同时执行多个任务,所以在进行采集任务分配时需要判断采集终端的状态是否是占用状态;(6)任务放入已分配的任务线程池如果采集终端没有被占用,也就是处于空闲状态,任务管理器就通过权重轮询算法计算各个采集结点的负载情况,根据负载均衡的原则将采集任务分配到不同的采集结点上;(7)任务放入未分配的任务线程池如果采集终端已经被占用,也就是处于忙的状态,就把采集任务先放入一个任务未分配的任务线程池里,由任务管理器检测采集终端,等采集终端空闲以后再进行重新分配;(8)多线程调度由于未分配任务线程池比较大,采集任务调度系统通过任务线程池进行多线程同时调度,提高效率;(9)按照采集终端生成任务优先级线程在同一个采集终端有多个采集任务的情况下,通过任务的属性生成优先级线程,对优先级高的任务优先进行调度并通知采集结点;(10)采集结点获取任务采集结点通过消息总线获取任务,根据任务的详细内容进行报文的组装、下发以及对报文的解析,获取数据后执行入库操作或者通知前台展示页面;(11)采集结点执行完成后更新任务状态采集结点根据任务的执行状况,得到任务的执行结果,同时根据任务ID号把任务的执行结果直接更新返回分布式缓存的任务数据区;(12)结束。
在本实施例中,所述任务信息体包括采集任务所要采集或者设置的数据项、采集的开始和结束时间、以及采集的通讯方式和通讯协议。所述任务数据区里的数据是以MAP方式存储的。在图2中,所述采集任务调度系统包括分布式缓存、任务管理器、前置采集集群以及消息通知总线。
a、分布式缓存负责储存任务线程,实现前置采集集群结点以客户端形式访问,提供采集结点退出、加入监控服务。
b、任务管理器主要实现任务创建、任务分配以及任务的清除和再分配等功能。
C、前置采集集群是任务的最终执行者,负责任务的执行和数据解析,最终更新任务的状态。
d、消息总线主要是把分配好的任务通过消息总线发送到采集结点上。
在图3中,采集任务调度系统所涉及的硬件包括客户机、WEB服务器、采集任务缓冲服务器、采集任务调度服务器和前置采集集群。
用户的具体操作过程如下(参见图3)用户在客户机13上的WEB页面上发起一批终端的召测采集任务,如何被分配到采集结点执行和返回的说明如下 (1)、采集任务调度过程 a、任务生成用户在客户机13上从TOB页面上选择终端和需要召测的数据项,在WEB结点上生成采集任务,将采集任务放入任务缓存服务器15中的分布式缓存的任务线程池中。
b、任务调度采集任务调度服务器16根据采集前置集群17中各采集结点的状态和负荷情况,将采集任务分配到各个采集结点上。
C、采集结点执行任务采集结点根据采集任务信息体内容进行组装报文下发给采集终端,采集终端回复的报文通过采集结点进行解析,把任务执行的结果返回给WEB结点,并清除相应的任务。
d、WEB服务器14显示结果WEB结点得到任务结果后根据任务ID号进行对应后显示在前台页面上。
权利要求
1.一种购供售一体化电能量采集与监控系统中基于分布式缓存的采集任务调度方法, 其特征在于所述方法由分布式缓存、任务管理器、前置采集集群及消息总线组成的采集任务调度系统完成;具体步骤如下(一)由所述任务管理器根据任务模板生成采集任务,将所述采集任务放到所述分布式缓存的任务数据区(1)由所述采集与监控系统将数据库中的任务模板加载到所述分布式缓存的任务数据区,由任务管理器从所述任务数据区获取任务模板,并对任务模板的状态进行判断,过滤掉无效和停用的任务模板;(2)对任务模板进行增加或/和删除修改对任务模板根据需要进行增加或/和删除修改,由任务管理器对作出修改的任务模板进行监测,并通过消息总线获取相应的信息;(3)创建任务线程池通过分析任务模板的内容,根据任务需要执行的时间和周期创建任务线程池,任务管理器根据任务时间要求属性动态地生成采集任务,并将所生成的采集任务放入所述任务线程池中,由任务管理器统一管理;所述采集任务由任务ID号和任务信息体组成,一个任务ID号对应唯一一个任务信息体;(二)由任务管理器通过权重轮询算法对所述采集任务进行调度,将采集任务通过消息总线分发给各个采集结点,采集结点获取采集任务后进行报文组装、下发和接收解析操作, 采集任务结束后更新采集任务状态(1)所述权重轮询算法根据每台采集服务器的不同处理能力,给每台采集服务器分配不同的权值,使其能够接收相应权值数的任务请求;(2)分配好的采集任务会标记上采集结点的任务ID号标识,把分配的任务发送到消息总线上,同时在分布式缓存的任务数据区中记录下这个采集任务的状态,包括已经分配给哪台采集结点执行和采集任务的执行状态和时间;(3)采集结点获取任务后,根据任务信息体的内容进行报文的组装、下发及接收解析操作,然后根据采集任务执行结果通过消息总线返回到分布式缓存的任务数据区;所述采集任务执行结果包括成功、失败和超时;(三)任务管理器对执行完成的采集任务进行相应的处理任务管理器定时地对所述任务数据区进行监测,对执行成功的任务进行清理,对执行失败和超时的任务进行重新进行分配;当前置采集集群里的某个采集结点突然退出时,任务管理器监测到采集结点工况变化信息,对这个采集结点上正在执行的采集任务和未执行的采集任务进行回收,将这些采集任务重新分配到其他在线的采集结点上。
2.根据权利要求1所述的购供售一体化电能量采集与监控系统中基于分布式缓存的采集任务调度方法,其特征在于所述任务信息体包括采集任务所要采集或者设置的数据项、采集的开始和结束时间、以及采集的通讯方式和通讯协议。
3.根据权利要求2所述的购供售一体化电能量采集与监控系统中基于分布式缓存的采集任务调度方法,其特征在于所述任务数据区里的数据是以MAP方式存储的。
全文摘要
本发明涉及一种购供售一体化电能量采集与监控系统中基于分布式缓存的采集任务调度方法,包括下列步骤任务管理器根据任务模板创建采集任务,并将采集任务存放在分布式缓存的任务数据区里,任务管理器根据前置采集集群中的各个采集结点的负载情况均衡地分配任务,采集结点通过消息总线获取任务,启动相应的任务执行流程,执行完后将任务的执行状态更新回分布式缓存。本发明的有益效果是能很好地解决庞大数据的任务调度问题,从根本上解决了购供售一体化点能量采集与监控系统数据类型多,数据量大的瓶颈问题;实现了采集任务的高效、均衡、稳定调度。
文档编号G06F9/46GK102508709SQ20111038935
公开日2012年6月20日 申请日期2011年11月30日 优先权日2011年11月30日
发明者严小文, 唐如意, 张洁, 张颖琦, 徐俊杰, 杨文生, 王军, 许浩, 陶晓峰, 高鲁鑫 申请人:国电南瑞科技股份有限公司, 河北省电力公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1