一种基于IEC 61850的状态监测日志存储及访问方法
技术领域
本发明涉及一种基于IEC61850MMS日志服务的状态监测历史数据访问策略,属于国际标准《变电站通信网络及系统》(IEC61850)制造报文规范(MMS)中日志服务(logservices)的应用领域。
背景技术
目前,IEC61850已经在我国的智能化变电站中作为主要的通讯标准得到广泛应用,对解决变电站各设备和子系统间的互操作性问题起到了良好的效果。变电站一次设备状态监测系统作为变电站自动化系统的重要组成部分,目前也已普遍实施IEC61850标准。
一次设备状态监测对设备运行参数进行持续在线采集并对其进行综合分析评估,以实现对设备状态的有效诊断和评估,对设备的运行、维护提供辅助决策信息。随着一次设备状态监测应用的不断深化及运行经验的积累,系统已从早期的实时数据采集及数据异常告警的简单应用阶段过渡到以多角度、历史数据综合分析为基础的高级应用阶段。高级应用的正确性、有效性取决于多种因素,其中原始数据基于时间的完整性是一个重要方面。目前的变电站一次设备状态监测系统通讯还是以实时数据通讯为主,历史数据的存储由客户端系统自主完成,出现通讯故障、设备存储故障时容易造成历史数据缺失;在IEC61850标准中,可通过日志服务(log services)实现下级设备的历史数据、故障信息、告警记录等的保存及上级设备对这些信息的读取,目前的状态监测IEC61850应用规范对这一方面的要求覆盖已开始完善。由于IED装置本身的存储空间和内存的局限性,加上日志本身的复杂性以及理解程度的差异,对大量日志信息进行存取时,日志数据内部格式、存储模式、访问策略对日志的查询效率、响应时间、互操作性及日志LCB属性的可维护性有着举足轻重的作用。而基于IEC 61850的状态监测日志存储及访问方法为日志数据的完整性、互操作性、可追溯性提供方便、高效且可行的技术手段。
发明内容
针对现有技术中存在的问题,在IEC61850标准中,对日志服务的外部特征做了详细的规定,应用对此功能的具体实现方式并未强制要求,本发明的目的是:对涉及的日志存储及访问方法基于Linux/Vxworks嵌入式操作系统下的IED装置上采用合理、简便的日志数据存储和访问策略以及通过IEC61850日志服务,满足客户端对状态监测装置历史数据完整性和可追溯性的需求。
本发明实现以上发明目的采用如下方案:一种基于IEC 61850状态监测日志存储及访问方法,其步骤包括:
1)装置启动日志服务时仅对日志控制块的必要属性进行快速初始化。
2)根据61850通信规范,采用合理的日志标题和日志内部数据存储格式满足数据的互操作性和可追溯性;
3)采用外部存储机制,在启动日志事件监视器,当与日志相关数据集成员的数值发生变化时,按照生成规则生成变化数据流,并选择符合触发条件的数据存入日志历史数据库,同时对日志控制块LCB的相应属性进行更新;
4)采用内存覆盖技术,在客户端请求日志服务时将符合条件的大量历史数据从数据库中检索先调入日志缓冲区,然后映射至MMS日志服务数据结构,并分批次执行服务请求,完成日志服务后,清空日志缓冲区中的日志服务数据结构等待下一次客户端请求;
所述步骤1)中在IED上电时,通过数据库日志信息的检索只对各日志控制块(LCB)的属性进行如NewEntry、NewEnyTime、OldEnyTime初始化,而此时并没有对日志对象Journal进行初始化以及对日志数据与MMS服务之间进行映射;
所述步骤2)中对日志数据内容的存储格式是根据MMS中的日志控制结构体和日志条目结构体的内部数据统一格式而进行的,单条日志数据内容可以是某数据集全体成员、部分成员或单个成员,以占用存储空间较小的二进制形式保存到数据库;
所述步骤3)中,日志事件监视器通过定时器驱动,按照数据变化规则生成变化数据,并根据触发选项对数据流进行监视,将符合要求的数据记入日志历史数据库;记录时,每个符合规则的数据集成员形成一条历史数据记录,历史数据库按照用户配置的历史数据库容量采用先进先出规则进行维护,当日志历史数据库容量超过用户配置容量时,自动对入库时间最早的记录执行删除操作。被从日志历史数据库中因超容量被删除的数据被记录入系统备份数据库,用于核对客户端调用日志服务后历史数据库获取的正确性,同时对日志控制块属性进行更新操作。
所述步骤4)中仅在客户端请求日志服务时,才按照用户日志查询需求从日志历史数据库中读取符合要求的历史数据记录,对大量信息分批次把日志信息读入到日志缓冲区,映射到MMS服务,上传客户端完成后清空日志缓冲区,重复上述步骤直至完成所有日志服务请求。
根据上述技术方案实现的本发明的有益效果是:由于IED装置本身的存储空间和内存的局限性,加上日志本身的复杂性以及理解程度的差异,对大量日志信息进行存取时,采用合理、简便的日志数据内部格式、存储模式、访问策略解决了IED装置日志服务查询效率、响应时间、互操作性、内存溢出、数据丢失等问题,为电力系统各专业领域站端装置历史数据的完整性和可追踪性提供了有力的技术支持。
附图说明
图1为本发明的日志存储及访问过程流程图。
图2为本发明所涉及的系统框架示意图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。
本专利的实施方式包含了如下操作:
如图1所示,一种基于IEC 61850的状态监测日志存储及访问策略,包含如下步骤:
1)装置启动日志服务时对日志控制块的必要属性进行快速初始化。
2)根据61850通信规范,采用合理的日志标题和日志内部数据存储格式满足数据的互操作性和可追溯性;
3)采用外部存储机制,在启动日志事件监视器,当与日志相关数据集成员的数值发生变化时,按照生成规则生成变化数据流,并选择符合触发条件的数据存入日志历史数据库,同时对日志控制块LCB的相应属性进行更新;
4)采用内存覆盖技术,日志服务器在客户端请求日志服务时将符合条件的历史数据从数据库中检索先调入日志缓冲区,然后映射至MMS日志服务数据结构并执行服务请求,完成日志服务后,删除内存中的日志服务数据结构等待下一次客户端请求;
在步骤1)中,在IED上电时,通过数据库日志信息的检索只对各日志控制块(LCB)的属性进行如NewEntry、NewEnyTime、OldEnyTime初始化,而此时由于没有客户端请求日志服务,所以并没有对日志对象Journal进行初始化以及对日志数据与MMS服务之间进行映射;
在步骤2)中,日志的存储格式必须要能满足日志的时间性、顺序性以及日志的内部数据格式,因此单条日志内容主要包括EntryTime(日志时间)、ListNum(成员数量)、DsRef(数据集引用)、logData(日志数据)几部分,对日志数据内容的存储格式是根据MMS中的日志控制结构体和日志条目结构体的内部数据统一格式而进行的,单条日志数据内容可以是某数据集全体成员、部分成员或单个成员,以占用存储空间较小的二进制形式保存到数据库;
在步骤3)日志相关数据集的成员数值发生变化时通过定时器驱动,按照数据变化规则生成变化数据,并根据触发选项对数据流进行监视,将符合要求的数据按照日志事先规定的存储格式记入日志历史数据库;记录时,每个符合规则的数据集全体成员、部分成员或单个成员形成一条历史数据记录,历史数据库按照用户配置的历史数据库容量采用先进先出规则进行维护,当日志历史数据库容量超过用户配置容量时,自动对入库时间最早的记录执行删除操作,同时对日志控制块属性进行更新操作。
在步骤4)中,日志服务器仅在客户端请求日志服务时,日志服务器按照用户日志查询需求从日志历史数据库中读取符合要求的日志数据记录,对大量日志数据记录应采用分批次把日志数据记录读入到日志缓冲区,并按照数据的描述信息将其重构为MMS日志信息数据结构,上传客户端完成后,下一批次的日志数据记录度对日志缓冲区采用覆盖技术,重复上述步骤直至完成所有日志服务请求。完成本次日志服务调用之后,内存中的日志信息即销毁。图2为本发明所涉及的系统框架示意图。
以上所说明的实施方式用于对本发明描述的技术方案进行说明,并非限制其为唯一实施方式。对于本发明所属领域的普通技术人员应当理解并仍可以对发明的具体实施方式进行改进或等同替换,这些修改或者等同替换也应视为处于本发明的权利要求范围中。