一种智能电子设备的实时事件管理方法技术

技术编号:4102036 阅读:242 留言:0更新日期:2012-04-11 18:40
一种智能电子设备的实时事件管理方法,包括以下步骤:1)把实时事件的数据实体和逻辑关系分开存储和处理;2)使用链式池的机制来管理空闲索引节点;3)采用一个写指针和多个读指针的双向链表结构;4)使用事件发生时间和事件优先级两个关键字来处理实时事件之间的逻辑关系;5)根据存储在SRAM事件数据体中的产生时间关键字,在初始化时完整并正确地重建整个双链表;6)建立与操作系统接口的过程列表和事件管理例程接口。本发明专利技术有益效果在于能够提供对变电站内各种类型的实时事件进行管理,而且能够适用于多种实时操作系统上,简化各种智能电子设备对实时事件的管理复杂度,而能更侧重于对实时事件的分析、计算与处理功能。

【技术实现步骤摘要】

本专利技术涉及一种管理需掉电保存的实时事件的方法,适用于智能电子设备对来自 外部或自产生的实时事件的管理。
技术介绍
随着国家电网建设的发展,变电站自动化系统在各种电压等级的变电站得到大规 模应用。变电站自动化系统由多种具有不同功能的智能电子设备组成,如各种保护装置、测 控装置、通信装置、安全稳定装置、合并单元、智能操作箱和数字录波器等。在变电站运行过 程中,会发生大量的多种类型的实时事件,如断路器、隔离开关的变化信息,保护装置输出 的跳闸信息、值班人员对设备操作的信息、以及智能电子设备运行过程中产生的自诊断信 息。管理这些实时事件是智能电子设备的基本功能之一,智能电子设备需对这些信息进行 监视、存储和读取,并能够通过某种标准协议(如IEC61850)传输给与之互联的其它多个设 备。智能电子设备要按照实时事件的发生时间依次存储事件,并且在系统资源可用的 情况下,尽最大可能的存储重要的优先级高的事件。智能电子设备要实时、快速地按时间先 后次序对外传输事件,在突然失电后恢复正常运行的情况下,设备应能够继续传输未传输 过的事件,不能多传输,也不能少传输。传统的解决方案是使用SRAM(静态内存,一种具有静止存取功能的内存),作为存 储介质,使用环形队列的管理方式来管理事件,根据队列头尾索引下标序号来判断未传输 的实时事件。但是,环形队列是按照先进先出的原则存储和读取数据的,存在以下问题(1)在多任务环境下,应用任务存储实时事件的时刻并不严格以实时事件发生时 间的先后为序,在这种情况下,存储事件时需要调整原来队列中事件的存储位置,会牵涉到 大量的内存拷贝操作,严重影响实时处理效率。在大量事件同时产生的极端情况下,会严重 影响智能电子设备对外的响应速度。(2)在全站雪崩实验情况下,会产生大量实时事件,此时装置事件存储区一定会存 满。此时若发生新的实时事件,按照环形队列的操作逻辑,只能按照数组下标次序先覆盖最 先发生的事件,而不能根据事件的重要性次序先覆盖存储不重要且时间较旧的事件。如此, 会造成重要事件的丢失,影响其他设备对现场运行情况的分析和处理。另外一种解决方案使用链表来管理实时事件,但是,在对实时事件存储和读取时 会涉及到对链表中指针的操作。如果在操作链表指针时,设备突然失电,链表的结构必然会 遭到破坏。在设备恢复运行时,对链表的重构比较复杂,甚至不能完全正确的重构链表,造 成智能电子设备的初始化失败,不能正常运行。
技术实现思路
本专利技术的目的在于提出了一种通用的实时事件的管理方法,以解决多任务环境下 无法严格控制时序(1)或重负荷情况下无法完全保留重要事件(2)等问题,从而保证智能3电子设备在过程监视、事件存储、事件读取和记录传输等实时事件处理的稳定性,提高智能 电子设备的实时处理性能以及对外部的响应速度,并提高设备运行的稳定性与可靠性。为了实现上述目的和功能,本专利技术采取的技术方案的具体步骤是(1)把实时事件的数据实体和逻辑关系分开存储和处理。数据实体存储在SRAM, 使用数组的数据结构来管理;在内存中对应于SRAM中的每个事件数据的存储空间建立1个 存储索引节点,使用双向链表来管理所有索引节点,索引节点在链表中的位置次序动态反 映实时事件之间的先后逻辑关系。使用该方法解决以前实现方案中单独使用循环队列或链 表来管理的缺陷。(2)使用链式池的机制来管理空闲索引节点。在初始化事件管理器时,根据管理所 需的内存大小,一次性从系统分配大块内存后不再释放,并建立链式内存池,以后根据运行 需要从该链式池中动态地分配和回收索引节点,减少系统内存碎片的增加,提高系统的稳 定性。(3)为了实现在多个客户端(需获取实时事件的每个外部智能电子设备)之间共 享同一个事件数据实体,采用一个写指针和多个读指针的双向链表结构。同时设置事件数 据引用计数,每个客户端读取事件后,引用计数器即减1,当引用计数值为0时,回收该节点 到空闲索引节点链池。为了掉电后能重建链表,这个结构需在SRAM和内存中各保留一份, 根据内存中的读写指针值来判断是否有实时事件需对外传输。这样,可以减少SRAM的开 销,节省系统的硬件成本。(4)使用事件发生时间和事件优先级(两个关键字来处理实时事件之间的逻辑关 系。优先级反映了实时事件的重要性。存储事件时,按发生时间从老到新的次序连入索引 节点的双链表。并设置最近发生的低优先级的事件的最少保存数目,在SRAM空间满时,根 据此值来选择被覆盖存储的事件,此值由应用程序指定,提高管理程序的灵活性。(5)根据存储在SRAM事件数据体中的产生时间关键字,在初始化时完整并正确地 重建整个双链表。在实时事件传输过程中,如果装置失电并重新上电后,根据SRAM中事件 数据体的产生时间先后关系重建内存中事件索引节点的链表,并根据存储在SRAM读写指 针中的数组下标值,恢复内存中索引节点的链表一尾多头的指针值,如此,可以满足实时事 件管理的正确性。(6)建立与操作系统接口的过程列表,如分配和释放内存的系统接口,使用该列表 访问操作系统接口,封装操作系统的多样性。根据应用需求,为外部应用程序提供初始化、 存储以及读取等实时事件管理例程接口,屏蔽实现细节,使该方法具备良好的可扩展性和 通用性。每个数据体的定义分为管理用数据头和数据信息实体部分,并且管理数据头在前, 便于抽象管理各种类型的实时事件。本专利技术的效果是本方法能够提供对变电站内各种类型的实时事件进行管理,而且能够适用于多种 实时操作系统上,简化各种智能电子设备对实时事件的管理复杂度,而能更侧重于对实时 事件的分析、计算与处理功能。本方法提出了一种将事件数据的内容和相互之间的逻辑关系分开处理的方法,使 用双向链表管理事件之间的逻辑关系,降低了处理过程的复杂性,提高了实时事件的处理 性能。提出了根据数据的某个关键字正确的重建链表的方法,保证了实时事件管理的正确4性。另外,实时系统的内存管理考虑到实时性的要求,一般采用高效的管理算法,如伙 伴系统和边界标识法等,并且采用较简单的内存回收和释放算法,回收内存时,只是把相邻 的空闲内存块合并成一个大块,不存在专门的碎片回收算法。因此,如果频繁申请和释放内 存,会导致系统内存碎片的增加,影响实时系统的性能。考虑到本方案使用的数据体是等大 小的,本方法中使用了一个高效的链式池的管理方法来管理空闲内存区,申请和释放都是 从自管理的链式池中进行,无需动态、频繁地调用系统内存管理接口函数,而且申请和释放 算法的时间复杂度为0(1),提高了系统的实时性能。附图说明图1是本方法中各种数据存储结构和对应关系图。图2是本方法初始化实时事件管理器的流程框图。图3是本方法存储实时事件的流程框图。图4是本方法读取实时事件的流程框图(包含事件删除过程)。具体实施例方式本方法的具体实施方案如下(1)定义存储实时事件数据实体、索引节点以及各种管理数据的结构,各种结构之 间的逻辑关系见图1。在SRAM中定义存储实时事件实体的数组,每个事件体定义一个公用信息头,包括 的内容有事件发生时刻、反映事件重要性的优先级、引用计数器和有效性标志位。在内存 中定义存储双向链表前后节点位置的链表节点,实时事件索引节点含有一个链表节点和一 个索引变量,该索引变量的值为SRAM区中本文档来自技高网
...

【技术保护点】
一种智能电子设备的实时事件管理方法,其特征在于,包括以下步骤:1)把实时事件的数据实体和逻辑关系分开存储和处理;具体为,数据实体存储在SRAM,使用数组的数据结构来管理;在内存中对应于SRAM中的每个事件数据的存储空间建立1个存储索引节点,使用双向链表来管理所有索引节点,索引节点在链表中的位置次序动态反映实时事件之间的先后逻辑关系;2)使用链式池的机制来管理空闲索引节点;具体为,在初始化事件管理器时,根据管理所需的内存大小,一次性从系统分配内存后不再释放,并建立链式内存池,根据运行需要从该链式内存池中动态地分配和回收索引节点,减少系统内存碎片的增加,提高系统的稳定性。3)采用一个写指针和多个读指针的双向链表结构;具体为,同时设置事件数据引用计数,每个客户端读取事件后,引用计数器即减1,当引用计数值为0时,回收该节点到空闲索引节点链池。为了掉电后能重建链表,双向链表结构需在SRAM和内存中各保留一份,根据内存中的读写指针值来判断是否有实时事件需对外传输;4)使用事件发生时间和事件优先级两个关键字来处理实时事件之间的逻辑关系;具体为,存储事件时,按发生时间从老到新的次序连入索引节点的双链表,并设置最近发生的低优先级的事件的最少保存数目,在SRAM空间满时,根据最少保存数目来选择被覆盖存储的事件,最少保存数目由应用程序指定;5)根据存储在SRAM事件数据体中的产生时间关键字,在初始化时完整并正确地重建整个双链表;具体为,在实时事件传输过程中,如果装置失电并重新上电后,根据SRAM中事件数据体的产生时间先后关系重建内存中事件索引节点的链表,并根据存储在SRAM读写指针中的数组下标值,恢复内存中索引节点的链表一尾多头的指针值;6)建立与操作系统接口的过程列表和事件管理例程接口;具体为,使用过程列表使用操作系统提供的服务,并根据应用需求,为外部应用程序提供初始化、存储以及读取实时事件管理例程接口,屏蔽实现细节。...

【技术特征摘要】
一种智能电子设备的实时事件管理方法,其特征在于,包括以下步骤1)把实时事件的数据实体和逻辑关系分开存储和处理;具体为,数据实体存储在SRAM,使用数组的数据结构来管理;在内存中对应于SRAM中的每个事件数据的存储空间建立1个存储索引节点,使用双向链表来管理所有索引节点,索引节点在链表中的位置次序动态反映实时事件之间的先后逻辑关系;2)使用链式池的机制来管理空闲索引节点;具体为,在初始化事件管理器时,根据管理所需的内存大小,一次性从系统分配内存后不再释放,并建立链式内存池,根据运行需要从该链式内存池中动态地分配和回收索引节点,减少系统内存碎片的增加,提高系统的稳定性。3)采用一个写指针和多个读指针的双向链表结构;具体为,同时设置事件数据引用计数,每个客户端读取事件后,引用计数器即减1,当引用计数值为0时,回收该节点到空闲索引节点链池。为了掉电后能重建链表,双向链表结构需在SRAM和内存中各保留一份,根据内存中的读写指针值来判断是否有实时事件需对外传输;4)使用事件发生时间和事件优...

【专利技术属性】
技术研发人员:吴海罗华煜滕春涛张少波张宏波田小锋
申请(专利权)人:国网电力科学研究院
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1