【技术实现步骤摘要】
一种电能质量管理系统共享内存更新方法
本专利技术属于通信设备
,尤其是涉及一种电能质量管理系统共享内存更新方法。
技术介绍
电能质量管理系统共享内存是在其多进程进行数据交互的一个核心,各个进程可以实时高效对其进行访问和读写操作。当数据成功由系统数据库中导入到共享内存后,它相当于用一个字符串指针来指向一块内存,各个进程通过字符串指针对共享内存表数据记录进行访问和读写操作。共享内存是系统中多个进程共享的一部分物理内存,是多个进程之间需要共享的一些数据的集合,方便多个进程之间进行数据交互。一个简洁高效的共享内存存储结构,影响整个系统的数据准确性和稳定性。共享内存存储结构在多进程获取共享内存数据和写入更新共享内存数据中起着重要的作用。共享内存数据结构需要方便进程实时高效准确获取共享内存表数据的地址,需要能够准确存储所需要保存的各种类型的数据表,需要具有一定的容错机制。现有电能质量管理系统的的共享内存中存在共享内存表结构混杂,读写共享内存机制繁杂,影响到系统进程对共享内存数据的读写的效率和稳定性。
技术实现思路
有鉴于此,本专利技术旨在提出一种电能质量管理系统共享内存更新 ...
【技术保护点】
1.一种电能质量管理系统共享内存更新方法,其特征在于,包括:S1、通过电能质量管理系统数据库中不同功能的共享内存表配置信息,创建对应的共享内存表对象;共享内存表对象用于加载电能质量管理系统共享内存中各种类型共享内存表的类型和数据;S2、创建共享内存表对象数组,将S1步创建的共享内存表对象保存到该数组中;S3、电能质量管理系统共享内存管理服务进程获取更新内存命令,从共享内存表对象数组的共享内存表对象中查找需要更新的共享内存表数据信息,进行更新。
【技术特征摘要】
1.一种电能质量管理系统共享内存更新方法,其特征在于,包括:S1、通过电能质量管理系统数据库中不同功能的共享内存表配置信息,创建对应的共享内存表对象;共享内存表对象用于加载电能质量管理系统共享内存中各种类型共享内存表的类型和数据;S2、创建共享内存表对象数组,将S1步创建的共享内存表对象保存到该数组中;S3、电能质量管理系统共享内存管理服务进程获取更新内存命令,从共享内存表对象数组的共享内存表对象中查找需要更新的共享内存表数据信息,进行更新。2.根据权利要求1所述的电能质量管理系统共享内存更新方法,其特征在于,所述步骤S1中,共享内存表包括终端通道信息表、厂站智能表计信息表、厂站终端信息表、系统进程信息表、系统服务器节点信息表、系统服务配置信息表、抄表任务模板信息表、抄表任务设置信息表。;所述共享内存表事先配置在电能质量管理系统数据库中,每次电能质量管理系统启动后,共享内存管理服务进程从数据库中通过加载这些共享内存表配置信息,创建和初始化对应的共享内存表对象;每种共享内存表对象直接保存对应类型共享内存表的表主键ID和表记录项数据。3.根据权利要求1所述的电能质量管理系统共享内存更新方法,其特征在于:所述共享内存表对象包括表主键ID和hash数组;表主键ID:用于识别每个共享内存表;所述hash数组包括多个元素,每一个元素直接绑定电能质量管理系统共享内存表每一条记录项数据存储空间;对共享内存表对象中的hash数组元素进行更新相当于直接对电能质量管理系统共享内存中表记录项数据进行操作;当共享内存表对象hash数组数据发生改变,其他进程可以立即获取到更新的数据。4.根据权利要求3所述的电能质量管理系统共享内存更新方法,其特征在于:每个共享内存表包括多条表记录项数据,所述表记录项数据是由对应的共享内存表对象中hash数组存储;所述hash数组的每个元素结构包括hash地址、表记录主键ID、表记录数据、表记录属性、表记录存储下一跳hash地址组成;hash地址:为每一条共享内存表记录项数据存储在共享内存表对象hash数组中元素的索引,该地址通过采用hash函数进行寻址;表记录主键ID:用于识别每个表记录;表记录数据:为对应的表记录项数据;表记录属性:为表记录的标志位;表记录存储下一跳hash地址:用于存储下一条表记录的hash地址,当寻址到表记录属性标志位为碰撞状态时,表示该处存储记录中出现冲突,根据表记录存储的下一跳地址,指向下一个存储的hash地址;共享内存表对象hash数组通过该hash地址来索引下一个hash数组元素。5.根据权利要求3所述的电能质量管理系统共享内存更新方法,其特征在于:所述表记录属性的标志位包括初始状态、碰撞状态、有值状态;当处于异常情况时会设置无效值。所述初始状态为表记录初始状态位;碰撞状态为表记录有冲突地方,需要进入下一跳hash地址寻址;通过hash函数对hash数组进行索引操作,有不同的表记录主键ID可能对应相同的存储hash地址,此时需要进入碰撞状态进一步寻址,存储或更新所关联的下一个hash数组元素。有值状态为表记录已经写入内存表记录数据后更新的状态。6.根据权利要求1所述的电能质量管理系统共享内存更新方法,其特征在于,所述步骤S3中,共享内存数据更新的具体方法如下:S301、通过更新内...
【专利技术属性】
技术研发人员:陈欢,张浩,张振华,
申请(专利权)人:天津凯发电气股份有限公司,
类型:发明
国别省市:天津,12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。