一种基于移动Agent的电能质量监测数据管理方案
技术领域
本发明涉及电能质量监测数据管理领域。
背景技术
电能质量不仅关系到电网企业的安全经济运行,也影响到用户的安全运行和产品质量。电能质量监测系统是及时发现和评估电能质量问题的重要手段。目前国内各省级电能质量监测系统普遍采用三层式架构,由变电站监测终端、监测子站和监测主站组成,监测主站保存系统全局信息,监测子站存储此监测子站范围内的监测终端上送的监测数据,与主站构成分布式数据库结构。随着电能质量监测工作的推进,某些地区的监测系统已包含数千个监测点。海量监测数据的管理已经成为各省级电能质量监测系统建设中需要解决的重要问题。
现有文献中与本申请提案最为接近的技术方案为:①基于分布式文件系统的海量电能质量监测数据管理方案, 电力系统自动化, 2014, 38(2): 102-108. ②A PowerQuality Monitoring Data Management Scheme Based on Distributed Database,Advanced Materials Research, 2013(732-733): 1410-1414.
文献①提出了一种基于分布式文件系统的海量电能质量监测数据管理方案。此方案将不同电能质量指标的历史监测数据分别压缩后存储在文件中;利用现有监测子站以及相关系统的分布式异构服务器作为文件服务器以存储数据文件;利用监测主站服务器作为主服务器,保存数据特征值和文件索引,并对文件资源进行统一管理。此方案拟利用文件系统存储电能质量监测数据,而目前国内各省级电能质量监测系统的主站和子站均普遍采用数据库存储数据,改造工程量大、费用高。在读取历史监测数据时,客户端仍需要从各个需检索的监测子站远程读取大量数据,且客户端与监测子站必须一直维持通信协议连接,同步等待所有监测子站数据返回。这种“检索程序静止、监测数据流动”的检索方式将造成通信网络负担重、检索耗时长等问题,且不适用于网络带宽和稳定性均较差的网络。
文献②提出了一种基于分布式数据库的海量电能质量监测数据管理方案。与文献①类似,利用监测主站服务器作为主服务器,保存数据特征值和索引,并对分布式数据库进行统一管理;利用现有监测子站以及相关系统的分布式异构服务器作为分布式数据库服务器以存储监测数据。与文献①中的方案一样,在读取历史监测数据时,“检索程序静止、监测数据流动”的检索方式将造成通信网络负担重、检索耗时长等问题,且不适用于网络带宽和稳定性均较差的网络。
文献①提出了一种基于分布式文件系统的海量电能质量监测数据管理方案。此方案有以下缺点:1.在读取历史监测数据时,客户端仍需要从监测子站远程读取大量数据,且客户端与监测子站必须一直维持通信协议连接,同步等待所有监测子站数据返回。这种“检索程序静止、监测数据流动”的检索方式将造成通信网络负担重、检索耗时长等问题。未来偏远地区或用户侧的电能质量监测终端和子站可通过无线网络接入,网络带宽和稳定性均不如有线网络,此方案适应性较差。2.所提方案拟利用文件系统存储电能质量监测数据,而目前国内各省级电能质量监测系统的主站和子站均普遍采用数据库存储数据,如按此方案改造,则工程量大、费用高、且无法有效利用原有的软件和数据资源,系统原有投资无法得到保障。
文献②提出了一种基于分布式数据库的海量电能质量监测数据管理方案。与文献①中的方案一样,在读取历史监测数据时,“检索程序静止、监测数据流动”的检索方式将造成通信网络负担重、检索耗时长等问题,且不适用于网络带宽和稳定性均较差的网络。
发明内容
本发明的目的是提供一种基于移动Agent的电能质量监测数据管理方案,在不改变原有电能质量监测系统数据库架构的前提下,将移动Agent技术应用于电能质量监测数据管理,采用“检索程序流动、监测数据静止”的方式,监测主站将移动Agent代码发送到监测子站,移动Agent在子站异步、自主地完成数据管理工作,此过程中主站与子站不必维持通信协议连接,移动Agent仅将结果返回监测主站,解决现有方案通信网络负担重、检索耗时长、系统改造复杂等问题。
为实现上述目的,本发明的技术方案是:一种基于移动Agent的电能质量监测数据管理系统,包括监测主站系统和各监测子站系统,所述监测主站系统包括系统路由表、全局资源表、主站数据库、客户端交互进程、主站数据管理进程、移动Agent 管理进程、主站备份进程和待发布移动Agent,所述各监测子站系统包括子站数据库、数据监测Agent和本地管理Agent;
所述系统路由表用于存储监测主站与监测子站间以及各监测子站间的传输网络情况,移动Agent在生成时将所述系统路由表作为数据状态载入保存,作为移动Agent选择迁移路径的基本依据;所述全局资源表存储了各监测子站的基本信息,在生成派驻于监测子站的数据监测Agent和本地管理Agent时将所述全局资源表作为数据状态载入保存,作为监测子站数据管理的基本依据;所述主站数据库存储由监测子站中的本地数据管理Agent每天定时上送的各监测终端电能质量指标的统计值和合格率值,用于快速响应客户端的简单查询请求;所述客户端交互进程负责解析并响应客户端的数据请求;所述主站数据管理进程负责主站数据库的检索与存储;所述移动Agent 管理进程负责生成和派遣移动Agent;所述主站备份进程负责周期性地对主站的数据和进程进行镜像备份,以便在主站意外崩溃时,在存有镜像的子站启动一个新主站,接管整个系统;所述待发布移动Agent用于移动到子站中,在子站中完成数据管理工作;所述子站数据库存储本子站范围内的监测终端上送的监测数据;所述数据监测Agent由监测主站派遣,驻留在子站中,在监测终端的数据周期性上送后的解析过程中对监测数据进行分析,与国标进行比对,如发现电能质量监测数据异常情况,及时向主站发送消息;所述本地管理Agent由监测主站派遣,驻留在监测子站中,实现子站数据库的检索、存储、周期性备份和恢复工作,配合数据处理Agent、启动处理Agent和结果收集Agent实现数据管理功能。
本发明实施例中,所述监测主站与监测子站间以及各监测子站间的传输网络情况包括各监测子站IP地址、物理地址、是否连通和传输代价,所述传输代价为带宽、时延和跳步数参数的综合值。
本发明实施例中,所述各监测子站的基本信息包括各监测子站所接入监测终端IP地址、监测终端类型、监测子站数据库连接字符串和数据字典。
本发明实施例中,所述各监测终端电能质量指标的统计值包括电能质量指标的最大值、最小值、平均值以及95%概率值。
本发明实施例中,所述待发布移动Agent包括数据处理Agent,用于移动到监测子站完成数据处理任务,并将结果返回;启动处理Agent,配合实现异步的数据处理;结果收集Agent,配合实现结果返回。
本发明实施例中,所述电能质量监测数据异常情况包括电能质量指标超标、数据缺失或数据值异常。
一种采用如上所述的基于移动Agent的电能质量监测数据管理系统实现数据管理的流程为:监测主站的移动Agent 管理进程根据任务生成一个启动处理Agent,派遣启动处理Agent遍历所有监测子站,在每个监测子站释放一个特定的数据处理程序后即向下一个监测子站迁移,当启动处理Agent到达最后监测子站并释放数据处理程序后,向主站返回已遍历所有监测子站的消息,所述启动处理Agent就地销毁,监测主站移动Agent管理进程生成并派遣一个结果收集Agent依据同样的路径迁移,将数据处理的结果回收,当结果收集Agent到达最后监测子站并回收数据处理结果后,向主站返回回收的数据处理结果,监测主站获取结果收集Agent返回的结果,所述结果收集Agent就地销毁。
本发明实施例中,所述启动处理Agent在每个监测子站释放的数据处理程序与监测子站的本地管理Agent交互完成数据处理任务,任务完成后所述数据处理程序就地销毁。
相较于现有技术,本发明具有以下有益效果:
1、相对于现有方案,首先,本申请提案避免了主站与子站间的大量原始数据传输,节约了通信带宽,提高了检索效率;其次,主站派遣移动Agent后即与子站断开通信协议连接,可异步执行其它操作,直到移动Agent结果有返回,提高了主站的性能和系统的容错能力。最后,其充分利用了子站间通信资源、因此,能有效适用于子站数量较多、主站与子站间通信条件有限、子站间通信情况良好的应用场景。
2、本申请提案采用将某些监测子站数据处理Agent(数据监测Agent和本地管理Agent)派驻到子站的方式,相对于现有方案将程序固定部署在子站的方法,此方案更具灵活性、如数据分析方法或业务流程改变,可派驻新移动Agent至子站,避免频繁停运系统修改策略,提高了系统的可扩展性。
3、本申请提案无需改变现有电能质量监测系统普遍采用的数据存储媒介,可适用于采用数据库存储的原系统,依据现有条件,仅增加所需程序和执行环境即可实现本方案。相对现有方案,改造复杂度低、成本较小,且能较好地利用现有系统的软件和数据资源,避免已有监测数据的丢失。
附图说明
图1是基于移动Agent的数据管理系统总体架构图。
图2是客户端响应的跨职能流程图。
图3是基于移动Agent的电能质量监测数据管理方案流程图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明一种基于移动Agent的电能质量监测数据管理方案,依靠基于移动Agent的电能质量监测数据管理系统实现数据管理流程。所述基于移动Agent的电能质量监测数据管理系统包括监测主站系统和各监测子站系统,所述监测主站系统包括系统路由表(System Router Table,SRT)、全局资源表(Global Resource Table,GRT)、主站数据库(Master station Database,MDB)、客户端交互进程(Client Process,CP)、主站数据管理进程(Master station Data Management Process,MDMP)、移动Agent 管理进程(MobileAgent Management Process,MAMP)、主站备份进程(Master station Backup Process)和待发布移动Agent,所述各监测子站系统包括子站数据库(Substation Database,SDB)、数据监测Agent(Data Monitoring Agent,DMA)和本地管理Agent(Local Management Agent,LMA)。
初始化后的系统总体架构图如图1所示。下面将分别阐述系统各组成部分的功能。
监测主站系统:
1)系统路由表(System Router Table,SRT)
此表用于存储主站与子站间以及各子站间的传输网络情况,包括各子站IP地址、物理地址、是否连通、传输代价(带宽、时延、跳步数等参数的综合值)等信息。移动Agent在生成时将此表作为数据状态载入保存,作为移动Agent选择迁移路径的基本依据。
2)全局资源表(Global Resource Table,GRT)
此表中存储了各监测子站所接入监测终端IP地址、终端类型、子站数据库连接字符串、数据字典等信息。派驻于子站的数据监测Agent和本地管理Agent在生成时将此表作为数据状态载入保存,作为子站数据管理的基本依据。
3)主站数据库(Master station Database,MDB)
此数据库中存储了按天为周期保存的各监测点各电能质量指标的统计值(最大值、最小值、平均值以及95%概率值)和合格率值,用于快速响应客户端的简单查询请求。此类数据由子站中的本地数据管理Agent按每天定时上送。
4)客户端交互进程(Client Process,CP)
此进程负责解析并响应客户端的数据请求。
5)主站数据管理进程(Master station Data Management Process,MDMP)
此进程负责MDB的检索与存储。
6)移动Agent管理进程(Mobile Agent Management Process,MAMP)
此进程负责生成和派遣移动Agent。
以上CP、MDMP和MAMP三类进程交互实现客户端响应的流程如下图2所示,当客户端发起数据请求时,CP将请求分解为数个基本请求的组合,发送到MDMP,MDMP查看主站数据库是否有所需数据,如果有,则从主站数据库中获取所需数据,返回CP,CP汇总各基本请求所获取的数据,返回结果给客户端并结束请求,如果主站数据库没有所需数据,则派遣移动Agent到各子站获取数据。
7)主站备份进程(Master station Backup Process)
此进程负责周期性地对主站的数据和进程进行镜像备份,以便在主站意外崩溃时,在存有镜像的子站启动一个新主站,接管整个系统。
8)待发布移动Agent
包括数据处理Agent(Data Processing Agent,DPA),用于移动到子站完成数据处理任务,并将结果返回;启动处理Agent(Start Processing Agent,SPA)与结果收集Agent(Result Collecting Agent,RCA)配合实现异步的数据处理和结果返回。
监测子站系统:
1)子站数据库(Substation Database,SDB)
此数据库存储此子站范围内的监测终端上送的监测数据。
2)数据监测Agent(Data Monitoring Agent,DMA)
由监测主站派遣,驻留在子站中。在监测终端的数据周期性上送(召唤)后的解析过程中对监测数据进行分析,与国标进行比对,如发现电能质量指标超标、数据缺失、数据值异常等情况,及时向主站发送消息。
3)本地管理Agent(Local Management Agent,LMA)
由监测主站派遣,驻留在子站中,实现子站数据库的检索、存储、周期性备份和恢复工作,配合DPA、SPA和RCA实现数据管理功能。
依据上述基于移动Agent的电能质量数据管理系统,本发明可实现如下所述基于移动Agent的电能质量数据管理流程。
如图3所示,监测主站的MAMP仅派遣一个SPA遍历所有子站,在每个子站释放一个特定的数据处理程序后即向下一个子站迁移。数据处理程序并行自主地与LMA交互,完成数据处理任务。当主站收到SPA已遍历所有子站的消息后,MAMP派遣一个RCA依据同样的路径迁移,将数据处理的结果回收。
以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。