用于电能表冻结的数据存储方法、装置及计算机设备制造方法及图纸

技术编号:34768473 阅读:56 留言:0更新日期:2022-08-31 19:24
本申请涉及用于电能表冻结的数据存储方法、装置、计算机设备、存储介质和计算机程序产品。方法包括:获取电能表冻结任务,根据冻结任务生成对应标志值放入数组,标志值不为0时,根据标志值对应冻结任务的关联对象数量在初始化链表中添加节点生成最终链表,每个节点的数据结构包括对应关联对象的对象属性描述符、数据长度和数据指针,根据数据长度申请存放对应关联对象的冻结数据的临时内存,数据指针指向临时内存,遍历最终链表,根据对象属性描述符确定与标志值对应冻结任务的关联对象,根据数据指针从临时内存获取关联对象的冻结数据存入存储设备。采用本方法能够有效解决内存空间占用过多的问题,并且达到保证数据源统一的有益效果。益效果。益效果。

【技术实现步骤摘要】
用于电能表冻结的数据存储方法、装置及计算机设备


[0001]本申请涉及电能表
,特别是涉及一种用于电能表冻结的数据存储方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]电能表是电网数据采集的基本设备之一,是电力系统中计量电能的唯一部件,其重要性和可靠性不言而喻。冻结是电能表一项重要的数据记录功能,电能表在工作时,当有冻结发生,电表要记录冻结数据,而具体要记录什么数据,则取决于用户为该冻结配置的关联对象类型,并在冻结发生时存储这些关联对象在冻结发生时的具体值。在电能表电源断电的情况下,要求所有与结算有关的冻结数据应至少保存16年,其它数据应至少保存3年,并且,同一冻结时间点,各类冻结保存的相同数据项应保持一致。
[0003]现有技术中,传统的单片机在冻结处理的方法是对各类冻结任务申请各自固定的内存空间,这种方式内存空间占用过多,且在同一时间点不同类型冻结数据源可能存在不一致的风险。如小时冻结时会同步发生分钟冻结,且都需要存储正反向有功总电能数据,由于传统两个冻结任务单独采样数据,因此采样时刻有先后顺序,可能导致实际采样结果并不一致,但从冻结功能要求看,这两个数据应该是同一时刻的、一致的。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够解决内存空间占用过多,保证数据源统一的用于电能表冻结的数据存储方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005]第一方面,本申请提供了一种用于电能表冻结的数据存储方法。方法包括:<br/>[0006]获取电能表冻结任务;
[0007]根据冻结任务生成对应的标志值,并将标志值添加到数组中;
[0008]循环判断数组中的标志值,直到标志值不为0时,根据标志值对应的冻结任务的关联对象数量在初始化链表中添加节点并生成最终链表,每个节点的数据结构包括对应的每个关联对象的OAD、数据长度和数据指针;
[0009]根据数据长度申请临时内存,并将对应的关联对象的冻结数据存入临时内存,数据指针指向临时内存的地址;
[0010]循环判断数组中的标志值,直到标志值不为0时,遍历最终链表,根据OAD确定与标志值对应的冻结任务的所有关联对象,并根据关联对象的数据指针从对应的临时内存获取冻结任务的关联对象的冻结数据存入存储设备。
[0011]在其中一个实施例中,在根据关联对象的数据指针从对应的临时内存获取冻结任务的关联对象的冻结数据存入存储设备之后,方法还包括:
[0012]释放临时内存。
[0013]在其中一个实施例中,电能表冻结任务包括瞬时冻结、分钟冻结、小时冻结、日冻
结、结算日冻结、月冻结、阶梯结算冻结、时区表切换冻结、日时段表切换冻结、费率电价切换冻结和阶梯切换冻结中的至少一种。
[0014]在其中一个实施例中,冻结任务的关联对象包括正向有功电能、反向有功电能、正向有功总电能、反向有功总电能、组合无功1电能、组合无功2电能、组合无功1总电能、组合无功2总电能、第一象限无功电能、第二象限无功电能、第三象限无功电能、第四象限无功电能、第一象限无功总电能、第二象限无功总电能、第三象限无功总电能、第四象限无功总电能、A相正向有功电能、B相正向有功电能、C相正向有功电能、A相反向有功电能、B相反向有功电能、C相反向有功电能、正向有功最大需量及发生时间、反向有功最大需量及发生时间、A相电压合格率、B相电压合格率、C相电压合格率、月度用电量、有功功率、无功功率、有功需量、无功需量、电压、电流和功率因数中的至少一种。
[0015]在其中一个实施例中,存储设备包括EEPROM、Flash和磁盘存储器中的至少一种。
[0016]在其中一个实施例中,当同一时间点存在两个以上冻结任务时,根据标志值对应的冻结任务的关联对象数量在初始化链表中添加节点并生成最终链表,包括:
[0017]S1,根据标志值在初始化链表中添加第一个冻结任务的关联对象的节点,将初始化链表更新为第1链表;
[0018]S2,根据标志值确定第i个冻结任务,其中,i∈{2,3,...,n}且n≥2;
[0019]S3,根据第i个冻结任务的关联对象的OAD遍历第i

1链表,判断第i个冻结任务中是否存在与第i

1链表的节点中不同的关联对象;
[0020]S4,若存在,则在第i

1链表中添加不同的关联对象的节点,将第i

1链表更新为第i链表;否则第i链表与第i

1链表保持一致;
[0021]S5,重复步骤S2

S4,直至完成第n个冻结任务的关联对象的节点添加,更新得到第n链表,第n链表为最终链表。
[0022]在其中一个实施例中,当同一时间点存在两个以上冻结任务时,遍历最终链表,根据OAD确定与标志值对应的冻结任务的所有关联对象,并根据关联对象的数据指针从对应的临时内存获取冻结任务的关联对象的冻结数据存入存储设备,包括:
[0023]遍历最终链表,根据OAD分别确定不同标志值对应的冻结任务的所有关联对象;
[0024]根据关联对象的数据指针从对应的临时内存分别获取不同标志值对应的冻结任务的关联对象的冻结数据,并分别存入存储设备。
[0025]第二方面,本申请还提供了一种用于电能表冻结的数据存储装置。装置包括:
[0026]获取模块,用于获取电能表冻结任务;
[0027]标志值生成模块,用于根据冻结任务生成对应的标志值,并将标志值添加到数组中;
[0028]最终链表生成模块,用于循环判断数组中的标志值,直到标志值不为0时,根据标志值对应的冻结任务的关联对象数量在初始化链表中添加节点并生成最终链表,每个节点的数据结构包括对应的每个关联对象的OAD、数据长度和数据指针;
[0029]临时存储模块,用于根据数据长度申请临时内存,并将对应的关联对象的冻结数据存入临时内存,数据指针指向临时内存的地址;
[0030]关联对象确定模块,用于循环判断数组中的标志值,直到标志值不为0时,遍历最终链表,根据OAD确定与标志值对应的冻结任务的所有关联对象;
[0031]数据存储模块,用于根据关联对象的数据指针从对应的临时内存获取冻结任务的关联对象的冻结数据存入存储设备。
[0032]第三方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述用于电能表冻结的数据存储方法的步骤。
[0033]第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述用于电能表冻结的数据存储方法的步骤。
[0034]第五方面,本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述用于电能表冻结的数据存储方法的步骤。
...

【技术保护点】

【技术特征摘要】
1.一种用于电能表冻结的数据存储方法,其特征在于,所述方法包括:获取电能表冻结任务;根据所述冻结任务生成对应的标志值,并将所述标志值添加到数组中;循环判断所述数组中的标志值,直到所述标志值不为0时,根据所述标志值对应的冻结任务的关联对象数量在初始化链表中添加节点并生成最终链表,每个所述节点的数据结构包括对应的每个关联对象的OAD、数据长度和数据指针;根据所述数据长度申请临时内存,并将对应的关联对象的冻结数据存入所述临时内存,所述数据指针指向所述临时内存的地址;循环判断所述数组中的标志值,直到所述标志值不为0时,遍历所述最终链表,根据OAD确定与所述标志值对应的冻结任务的所有关联对象,并根据所述关联对象的数据指针从对应的临时内存获取所述冻结任务的关联对象的冻结数据存入存储设备。2.根据权利要求1所述的方法,其特征在于,在根据所述关联对象的数据指针从对应的临时内存获取所述冻结任务的关联对象的冻结数据存入存储设备之后,所述方法还包括:释放所述临时内存。3.根据权利要求1所述的方法,其特征在于,所述电能表冻结任务包括瞬时冻结、分钟冻结、小时冻结、日冻结、结算日冻结、月冻结、阶梯结算冻结、时区表切换冻结、日时段表切换冻结、费率电价切换冻结和阶梯切换冻结中的至少一种。4.根据权利要求1所述的方法,其特征在于,所述冻结任务的关联对象包括正向有功电能、反向有功电能、正向有功总电能、反向有功总电能、组合无功1电能、组合无功2电能、组合无功1总电能、组合无功2总电能、第一象限无功电能、第二象限无功电能、第三象限无功电能、第四象限无功电能、第一象限无功总电能、第二象限无功总电能、第三象限无功总电能、第四象限无功总电能、A相正向有功电能、B相正向有功电能、C相正向有功电能、A相反向有功电能、B相反向有功电能、C相反向有功电能、正向有功最大需量及发生时间、反向有功最大需量及发生时间、A相电压合格率、B相电压合格率、C相电压合格率、月度用电量、有功功率、无功功率、有功需量、无功需量、电压、电流和功率因数中的至少一种。5.根据权利要求1所述的方法,其特征在于,所述存储设备包括EEPROM、Flash和磁盘存储器中的至少一种。6.根据权利要求1

5任一项所述的方法,其特征在于,当同一时间点存在两个以上冻结任务时,所述根据所述标志值对应的冻结任务的关联对象数量在初始化链表中添加节点并生成最终链表,包括:S1,根据所述标志值在初始化链表中添加第一个冻结任务的关联对象的节点,将所述初始化链表更新为第1链表;S2,根据所述标志值确定第i个冻结任务,其中,i∈{2,3,...,n}且n≥...

【专利技术属性】
技术研发人员:杨玉勇张晓东黄金涛张晨云许园园缪炜沈志文
申请(专利权)人:江阴长仪集团有限公司
类型:发明
国别省市:

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

1