CN104778203A - 费控智能电能表中负荷记录分块索引存储及查询方法 - Google Patents
费控智能电能表中负荷记录分块索引存储及查询方法 Download PDFInfo
- Publication number
- CN104778203A CN104778203A CN201510069845.0A CN201510069845A CN104778203A CN 104778203 A CN104778203 A CN 104778203A CN 201510069845 A CN201510069845 A CN 201510069845A CN 104778203 A CN104778203 A CN 104778203A
- Authority
- CN
- China
- Prior art keywords
- record
- load
- index
- time
- concordance list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Supply And Distribution Of Alternating Current (AREA)
Abstract
一种费控智能电能表中负荷记录分块索引存储及查询方法,涉及电器仪表技术领域,其包括以下步骤:为费控智能电能表中的各类负荷记录分别对应建立一个记录池,每一个记录池采用先进先出的循环队列存储数据;建立总索引表,其包括各类负荷记录的单条负荷记录长度、记录池起始地址、月索引起始地址、记录条数的起始偏移、记录条数的当前偏移、当前记录时间、起始记录时间;在负荷记录产生的同时,为每类负荷记录分别建立相应的月索引表、日索引表及时索引表。本发明节省了查找时间,避免了主站误判及在进行清零命令时,执行时间过长、无法进行其它操作的问题;避免了记录时标中的年月日的重复存储,节约了存储空间。
Description
技术领域
本发明涉及电器仪表技术领域,具体来讲是一种费控智能电能表中负荷记录分块索引存储及查询方法。
背景技术
随着电子技术的发展,费控智能电能表得到了越来越广泛的应用,由于从计量到数据处理都采用集成电路为核心的电子器件,从而取消了电能表上长期使用的机械部件,使得电能表的体积大大减小,可靠性、精度大大增强,而随着单片机、智能芯片在费控智能电能表中的运用,伴随着各种需求使得费控智能电能表新增了许多的功能。负荷记录就是其中一种的新增功能。电力系统的负荷涉及广大地区的各类用户,每个用户的用电情况很不相同,且事先无法确知在什么时间、什么地点、增加哪一类负荷。因此,电力系统的负荷变化带有随机性。人们用负荷曲线记述负荷随时间变化的情况,并据此研究负荷变化的规律性。负荷曲线是调度电力系统的电力和进行电力系统规划的依据。而要得到负荷曲线,就要求电表能够对相应的负荷进行记录。费控智能电能表中要求记录“电压、电流、频率”、“有、无功功率”、“功率因数”、“有、无功总电能”、“四象限无功总电能”、“当前需量”等六类负荷,每类负荷要求能够记录上万条。并且要求可以抄读指定块数的负荷记录和抄读某一时间点之后存储的负荷记录。
负荷记录的顺序记录和查找法是一种简单常见的处理方法。其工作原理是依次顺序记录负荷记录,再负荷记录查询时对顺序记录采用二分查找法。负荷记录的顺序记录就是按照事件发生的时间依次记录相应的负荷数据,包括负荷记录发生的时间(年月日时分)和各类负荷记录应记录数据。如果要进行清零操作必须把每条记录进行清零。由于记录是按时间顺序存储,并且存储时同时记录时标中的年月日。因此可以以时间为关键字进行二分查找。
但是,随着数据记录越来越多,传统的方法需要多次读取记录及比较,因此浪费了大量的查找时间,更有甚者,如果查找时间过长将导致主站误判为无应答;尤其在收到清零命令时,将导致执行时间过长、无法进行其它操作。
另外,由于传统的方法将记录时标中的年月日的重复存储,占用了大量的存储空间。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种费控智能电能表中负荷记录分块索引存储及查询方法,本发明节省了查找时间,避免了主站误判及在进行清零命令时,执行时间过长、无法进行其它操作的问题。避免了记录时标中的年月日的重复存储,节约了存储空间。
为达到以上目的,本发明采取的技术方案是:一种费控智能电能表中负荷记录分块索引存储方法,包括以下步骤:步骤S11.为费控智能电能表中的各类负荷记录分别对应建立一个记录池,每一个记录池采用先进先出的循环队列存储数据;步骤S12.建立总索引表,其包括各类负荷记录的单条负荷记录长度、记录池起始地址、月索引起始地址、记录条数的起始偏移、记录条数的当前偏移、当前记录时间、起始记录时间;步骤S13.在负荷记录产生的同时,为每类负荷记录分别建立相应的月索引表、日索引表及时索引表。
在上述技术方案的基础上,步骤S11中,所述费控智能电能表包括六类负荷记录,分别为第一类负荷记录,包括A相电压、B相电压、C相电压、A相电流、B相电流、C相电流、频率;第二类负荷记录,包括总有功功率、A相有功功率、B相有功功率、C相有功功率、总无功功率、A相无功功率、B相无功功率、C相无功功率;第三类负荷记录,包括总功率因数、A相功率因数、B相功率因数、C相功率因数;第四类负荷记录,包括正向总有功电能、反向总有功电能、组合无功1电能、组合无功2电能;第五类负荷记录,包括第一象限无功、第二象限无功、第三象限无功、第四象限无功;第六类负荷记录,包括当前有功需量、当前无功需量。
在上述技术方案的基础上,步骤S12中,所述单条负荷记录长度是指每类负荷记录在记录池中一条的长度;所述记录池起始地址是指每类负荷记录的记录池在存储器中的起始地址;所述月索引起始地址是指某类负荷记录的月索引表的起始地址;所述记录条数的起始偏移是指最早一条记录在记录池中的位置,所述记录条数的当前偏移是指最近一条记录在记录池中的位置;所述起始记录时间指最早记录发生的时间;所述当前记录时间是指当前记录发生的时间。
在上述技术方案的基础上,步骤S13中,为每类负荷记录分别建立一个月索引表,所述月索引表包括日索引起始地址、月索引记录条数、记录年月;为每类负荷记录月索引表中的至少一个月对应建立日索引表,所述日索引表包括时索引起始地址、日索引记录条数;为每类负荷记录日索引表中的每一日分别对应建立时索引表,所述时索引表包括时索引记录的起始条数偏移、时索引记录条数。
在上述技术方案的基础上,所述日索引起始地址是指某类负荷记录的日索引表的起始地址;所述月索引记录条数是指在此月中负荷记录产生的条数;所述记录年月是指符合记录产生的时间年月日时分中的年月。
在上述技术方案的基础上,所述时索引起始地址是指某类负荷记录的时索引表的起始地址;所述日索引记录条数是指在此日中负荷记录产生的条数。
在上述技术方案的基础上,所述时索引记录的起始条数偏移是指此时产生的负荷记录在记录池中的位置;所述时索引记录条数是指在此时中负荷记录产生的条数。
在上述技术方案的基础上,为每类负荷记录月索引表中的当前月、最近1个月、最近2个月、最近3个月分别对应建立日索引表。
本发明还提供一种基于上述分块索引存储方法的费控智能电能表中负荷记录查询方法,包括以下步骤:步骤S21.查询总索引表得到对应负荷记录的当前记录时间和记录条数的当前偏移、起始记录时间和记录条数的起始偏移、月索引起始地址;步骤S22.判断是否查询最近一条负荷记录,若是,跳转至步骤S23;若否,跳转至步骤S24;步骤S23.根据当前记录时间和记录条数的当前偏移,读取记录池中最近一条负荷记录,跳转至步骤S29;步骤S24.判断是否查询最早的若干条记录,若是,跳转至步骤S26;若否,跳转至步骤S25;步骤S25.判断给定时间是否小于起始记录时间,若是,跳转至步骤S26;若否,跳转至步骤S27;步骤S26.根据起始记录时间和记录条数的起始偏移,读取记录池中最早的若干条记录,跳转至步骤S29;步骤S27.判断给定时间是否大于等于当前记录时间,若是,跳转至步骤S29;若否,跳转至步骤S28;步骤S28.依次查询月索引表、日索引表、时索引表,得到若干条目标记录,跳转至步骤S29;步骤S29.返回。
在上述技术方案的基础上,步骤S28具体包括以下步骤:步骤S281.查询月索引表得到日索引的起始地址;步骤S282.查询日索引表得到时索引的起始地址;步骤S283.查询时索引表得到时索引记录的起始条数偏移和时索引记录条数;步骤S284.读取记录池中的若干条目标记录。
本发明的有益效果在于:
1.本发明采用动态日期分块索引法通过各索引表可以准确的进行对欲查记录位置进行定位,不需要多次读取记录及比较,因此节省了查找时间,避免了主站误判及在进行清零命令时,执行时间过长、无法进行其它操作的问题。
2.本发明采用动态日期分块索引的方法将年、月、日、时压缩到各索引表中,避免了记录时标中的年月日的重复存储,节约了存储空间。
附图说明
图1为本发明中费控智能电能表中负荷记录日期分块索引存储方法流程图;
图2为费控智能电能表中负荷记录查询方法流程图;
图3为图2中步骤S28的具体步骤流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,一种费控智能电能表中负荷记录日期分块索引存储方法,包括以下步骤:
步骤S11.为费控智能电能表中的各类负荷记录分别对应建立一个记录池,每一个记录池采用先进先出的循环队列存储数据;具体的,所述费控智能电能表包括六类负荷记录,分别为第一类负荷记录,包括A相电压、B相电压、C相电压、A相电流、B相电流、C相电流、频率;第二类负荷记录,包括总有功功率、A相有功功率、B相有功功率、C相有功功率、总无功功率、A相无功功率、B相无功功率、C相无功功率;第三类负荷记录,包括总功率因数、A相功率因数、B相功率因数、C相功率因数;第四类负荷记录,包括正向总有功电能、反向总有功电能、组合无功1电能、组合无功2电能;第五类负荷记录,包括第一象限无功、第二象限无功、第三象限无功、第四象限无功。第六类负荷记录,包括当前有功需量、当前无功需量。
步骤S12.建立总索引表,其包括各类负荷记录的单条负荷记录长度、记录池起始地址、月索引起始地址、记录条数的起始偏移、记录条数的当前偏移、当前记录时间、起始记录时间;所述单条负荷记录长度是指每类负荷记录在记录池中一条的长度;所述记录池起始地址是指每类负荷记录的记录池在存储器中的起始地址;所述月索引起始地址是指某类负荷记录的月索引表的起始地址;所述记录条数的起始偏移是指最早一条记录在记录池中的位置,所述记录条数的当前偏移是指最近一条记录在记录池中的位置;起始记录时间指最早记录发生的时间;当前记录时间是指当前记录发生的时间。
步骤S13.在负荷记录产生的同时,为每类负荷记录分别建立相应的月索引表、日索引表及时索引表。具体的,为每类负荷记录分别建立一个月索引表,所述月索引表包括日索引起始地址、月索引记录条数、记录年月;为每类负荷记录月索引表中的至少一个月对应建立日索引表,优选的,为每类负荷记录月索引表中的当前月、最近1个月、最近2个月、最近3个月分别对应建立日索引表,所述日索引表包括时索引起始地址、日索引记录条数;为每类负荷记录日索引表中的每一日分别对应建立时索引表,所述时索引表包括时索引记录的起始条数偏移、时索引记录条数。其中,所述日索引起始地址是指某类负荷记录的日索引表的起始地址;所述月索引记录条数是指在此月中负荷记录产生的条数;所述记录年月是指符合记录产生的时间年月日时分中的年月。所述时索引起始地址是指某类负荷记录的时索引表的起始地址;所述日索引记录条数是指在此日中负荷记录产生的条数。所述时索引记录的起始条数偏移是指此时产生的负荷记录在记录池中的位置。所述时索引记录条数是指在此时中负荷记录产生的条数。
参见图2所示,基于上述分块索引存储方法的费控智能电能表中负荷记录查询方法,包括以下步骤:
步骤S21.查询总索引表得到对应负荷记录的当前记录时间和记录条数的当前偏移、起始记录时间和记录条数的起始偏移、月索引起始地址;
步骤S22.判断是否查询最近一条负荷记录,若是,跳转至步骤S23;若否,跳转至步骤S24;
步骤S23.根据当前记录时间和记录条数的当前偏移,读取记录池中最近一条负荷记录,跳转至步骤S29;
步骤S24.判断是否查询最早的若干条记录,若是,跳转至步骤S26;若否,跳转至步骤S25;所述若干条记录,为人为设置的记录条数。
步骤S25.判断给定时间是否小于起始记录时间,若是,跳转至步骤S26;若否,跳转至步骤S27;
步骤S26.根据起始记录时间和记录条数的起始偏移,读取记录池中最早的若干条记录,跳转至步骤S29;
步骤S27.判断给定时间是否大于等于当前记录时间,若是,跳转至步骤S29;若否,跳转至步骤S28;
步骤S28.依次查询月索引表、日索引表、时索引表,得到若干条目标记录,跳转至步骤S29;
步骤S29.返回。
参见图3所示,步骤S28具体包括以下步骤:
步骤S281.查询月索引表得到日索引的起始地址;
步骤S282.查询日索引表得到时索引的起始地址;
步骤S283.查询时索引表得到时索引记录的起始条数偏移和时索引;
步骤S284.读取记录池中的若干条目标记录。
下面通过具体的实例对本发明做进一步解释。
1、费控智能电能表中的六类负荷记录
费控智能电能表中要能够记录DL/T645—2007定义的六类负荷记录。这六类负荷记录可以任意组合,可以设置不同的时间间隔(1-60分钟可设,默认15分钟),要记录最近3个月的数据。具体的六类负荷记录如下:
第一类负荷记录,包括A相电压、B相电压、C相电压、A相电流、B相电流、C相电流、频率;
第二类负荷记录,包括总有功功率、A相有功功率、B相有功功率、C相有功功率、总无功功率、A相无功功率、B相无功功率、C相无功功率;
第三类负荷记录,包括总功率因数、A相功率因数、B相功率因数、C相功率因数;
第四类负荷记录,包括正向总有功电能、反向总有功电能、组合无功1电能、组合无功2电能;
第五类负荷记录,包括第一象限无功、第二象限无功、第三象限无功、第四象限无功。
第六类负荷记录,包括当前有功需量、当前无功需量。
2、日期分块索引法
2.1记录池
记录池是为了存储每类负荷记录在存储器中分配一个连续的存储区域。此区域是一个循环存储区域,每当有记录产生时就依次顺序把记录写入记录池中,当记录数超过最大记录条数后就从头进行循环覆盖,其具体的内容为:
记录0 | 记录1 | 记录2 | …… | 记录Nmax-1 | 记录Nmax-2 | 记录Nmax |
第一类负荷记录池中每条记录的内容为:
产生记录的分钟为此条负荷记录发生时间年月日时分中的分。
第二类负荷记录池中每条记录的内容为:
第三类负荷记录池中每条记录的内容为:
产生记录的分钟 | 总功率因数 | A相功率因数 | B相功率因数 | C相功率因数 |
第四类负荷记录池中每条记录的内容为:
产生记录的分钟 | 正向总有功电能 | 反向总有功电能 | 组合无功1电能 | 组合无功2电能 |
第五类负荷记录池中每条记录的内容为:
产生记录的分钟 | 第一象限无功 | 第二象限无功 | 第三象限无功 | 第四象限无功 |
第六类负荷记录池中每条记录的内容为:
产生记录的分钟 | 当前有功需量 | 当前无功需量 |
2.2索引表
2.2.1六类负荷记录总索引
负荷记录总的索引表,它包括六类负荷记录的单条负荷记录长度、记录池起始地址、月索引起始地址、起始偏移、当前偏移。单条负荷记录长度是指每类负荷记录在记录池中一条的长度。记录池起始地址是指每类负荷记录的记录池在存储器中的起始地址。起始偏移是指最早的一个记录的在记录池中的位置,当前偏移是指最近的一个记录在记录池中的位置。这里的偏移是指记录的条数,不是指地址。例如在记录池中某条记录是第N个记录(记录从0开始),则它的偏移就为N。起始记录时间指最早记录发生的时间。当前记录时间是指当前记录发生的时间。月索引起始地址是指某类负荷记录的月索引表的起始地址。六类负荷记录池起始地址在编写程序时会各自分配一个固定的地址。此索引表在费控智能电能表工作时是放在单片机的RAM中。
2.2.2月索引
为每类负荷记录建立一个月索引表,它包括日索引起始地址、记录数、记录年月。日索引起始地址是指某类负荷记录的日索引表的起始地址。记录数是指在此月中负荷记录产生的条数。记录年月是指符合记录产生的时间年月日时分中的年月。每类负荷记录建立一个月索引表,共建立六个月索引表,每个月索引表如下:
日索引起始地址(4字节) | 记录数(2字节) | 记录年月(2字节) |
当前月负荷日索引起始地址 | 记录数 | 记录产生年月 |
最近1个月负荷日索引起始地址 | 记录数 | 记录产生年月 |
最近2个月负荷日索引起始地址 | 记录数 | 记录产生年月 |
最近3个月负荷日索引起始地址 | 记录数 | 记录产生年月 |
2.2.3日索引
为每类负荷记月索引表中当前月、最近1个月、最近2个月、最近3个月分别建立一个日索引表,它包括时索引起始地址、记录数。时索引起始地址是指某类负荷记录的时索引表的起始地址。记录数是指在此日中负荷记录产生的条数。每类负荷记录建立4个日索引表,共4×6=24个日索引表,每个日索引表如下:
时索引起始地址(4字节) | 记录数(2字节) |
第一类负荷1日时索引起始地址 | 已记录数 |
第一类负荷2日时索引起始地址 | 已记录数 |
第一类负荷3日时索引起始地址 | 已记录数 |
第一类负荷4日时索引起始地址 | 已记录数 |
第一类负荷5日时索引起始地址 | 已记录数 |
第一类负荷6日时索引起始地址 | 已记录数 |
第一类负荷7日时索引起始地址 | 已记录数 |
第一类负荷8日时索引起始地址 | 已记录数 |
第一类负荷9日时索引起始地址 | 已记录数 |
第一类负荷10日时索引起始地址 | 已记录数 |
第一类负荷11日时索引起始地址 | 已记录数 |
第一类负荷12日时索引起始地址 | 已记录数 |
第一类负荷13日时索引起始地址 | 已记录数 |
第一类负荷14日时索引起始地址 | 已记录数 |
第一类负荷15日时索引起始地址 | 已记录数 |
第一类负荷16日时索引起始地址 | 已记录数 |
第一类负荷17日时索引起始地址 | 已记录数 |
第一类负荷18日时索引起始地址 | 已记录数 |
第一类负荷19日时索引起始地址 | 已记录数 |
第一类负荷20日时索引起始地址 | 已记录数 |
第一类负荷21日时索引起始地址 | 已记录数 |
第一类负荷22日时索引起始地址 | 已记录数 |
第一类负荷23日时索引起始地址 | 已记录数 |
第一类负荷24日时索引起始地址 | 已记录数 |
第一类负荷25日时索引起始地址 | 已记录数 |
第一类负荷26日时索引起始地址 | 已记录数 |
第一类负荷27日时索引起始地址 | 已记录数 |
第一类负荷28日时索引起始地址 | 已记录数 |
第一类负荷29日时索引起始地址 | 已记录数 |
第一类负荷30日时索引起始地址 | 已记录数 |
第一类负荷31日时索引起始地址 | 已记录数 |
2.2.4时索引
为每类负荷记日索引表中的1日到31日分别建立一个时索引表,它包括时索引起始偏移、记录数。时索引起始偏移是指此时产生的负荷记录在记录池中的位置,即是指哪一条记录。记录数是指在此时中负荷记录产生的条数。每个日索引表对应31个时索引表,共6×4×31=744个时索引表,每个时索引表如下:
起始偏移(2字节) | 已记录数(1字节) |
第一类负荷0时索引起始偏移 | 已记录数 |
第一类负荷1时索引起始偏移 | 已记录数 |
第一类负荷2时索引起始偏移 | 已记录数 |
第一类负荷3时索引起始偏移 | 已记录数 |
第一类负荷4时索引起始偏移 | 已记录数 |
第一类负荷5时索引起始偏移 | 已记录数 |
第一类负荷6时索引起始偏移 | 已记录数 |
第一类负荷7时索引起始偏移 | 已记录数 |
第一类负荷8时索引起始偏移 | 已记录数 |
第一类负荷9时索引起始偏移 | 已记录数 |
第一类负荷10时索引起始偏移 | 已记录数 |
第一类负荷11时索引起始偏移 | 已记录数 |
第一类负荷12时索引起始偏移 | 已记录数 |
第一类负荷13时索引起始偏移 | 已记录数 |
第一类负荷14时索引起始偏移 | 已记录数 |
第一类负荷15时索引起始偏移 | 已记录数 |
第一类负荷16时索引起始偏移 | 已记录数 |
第一类负荷17时索引起始偏移 | 已记录数 |
第一类负荷18时索引起始偏移 | 已记录数 |
第一类负荷19时索引起始偏移 | 已记录数 |
第一类负荷20时索引起始偏移 | 已记录数 |
第一类负荷21时索引起始偏移 | 已记录数 |
第一类负荷22时索引起始偏移 | 已记录数 |
第一类负荷23时索引起始偏移 | 已记录数 |
2.3存储的处理
2.3.1负荷记录的初始化
在费控智能电能表首次上电时要进行初始化,初始化中包括对负荷记录的初始化。在费控智能电能表收到清零命令后也要进行负荷记录的初始化。这里负荷记录的初始化就是指负荷记录的清零。由于负荷记录的数据量很大,如果每条记录进行逐条清零的话,将会需要较长的时间来执行负荷记录的清零。在建立了索引表后负荷记录的清零可以采用另外一种方式,只需把索引表清零就可以完成负荷记录的清零。
索引表中六类符合记录月索引的大小为6*4*8=192字节,六类符合记录日索引的大小为6*4*31*6=4464字节,
六类符合记录时索引的大小为6*4*31*24*3=53568字节,所有索引共192+4464+53568=58224字节。在费控智能电能表中存放负荷记录采用的是FLASH芯片,而FLASH中的存储空间按扇区进行分块的,并且可以对扇区进行全擦除的。一个扇区为64KB,而各个索引的大小之和小于64KB,那么可以把索引分配在一个扇区中。这样以来对索引的清零可以通过这个扇区的擦除来完成,同时执行的速度是比较快的,需要1秒钟左右的时间。由于对发送给电表的清零命令是先应答后执行,所以允许执行时间大于500毫秒。
2.3.2索引表的建立及负荷记录的记录
索引表的建立有两种方法一种是静态的,一种是动态的。静态的处理方法是在编写程序时,把索引表的地址分配好固化到程序中,当进行负荷记录初始化时在固化的索引表导入到存储芯片中。这样做会带来一个问题就是浪费程序存储空间,毕竟程序存储空间相对存储芯片来说是比较稀缺的资源。动态的处理方法是在负荷记录产生的同时进行索引表的建立,这种方法节约了程序空间。以下就以第一类负荷记录为例来说明索引表的建立及负荷记录的记录。
在存储负荷记录的芯片中为索引表分配一个扇区,命名为索引扇区。定义一个长整型的指针指向该扇区,命名为索引扇区指针P,当负荷记录初始化时,该指针指向该扇区的起始地址。当负荷记录初始化时总索引表初始化如下:
六类负荷记录池的起始地址是在存储芯片中存放负荷记录的区域为每类负荷记录分配的记录池的起始地址,在分配地址时要考虑,在每类负荷记录达到最大记录时不能产生相互覆盖。
当第一类负荷记录产生记录时,假设产生的时间为1409080730。首先查询总索引表得到第一类负荷记录的月索引起始地址、单条负荷记录长度、起始偏移、结束偏移、记录池起始地址。如果查询得到的月索引起始地址为0,则说明月索引表还未建立。把索引扇区指针指向地址作为第一类负荷记录月索引起始地址写入总索引表中,设此时索引扇区指针P指向地址为Pm0d0h0。如下表:
以索引扇区指针指向地址为起始地址,在存储芯片中建立第一类负荷记录的月索引表。当月索引表建立后索引扇区指针P=索引扇区指针P+月索引表的大小=索引扇区指针P+32。当前月的日索引的地址起始地址为索引扇区指针P指向地址,设为Pm9d0h0,当前月的记录数加1,记录年月为记录发生时的年月,月索引表如下:
日索引起始地址(4字节) | 记录数(2字节) | 记录年月(2字节) | |
当前月 | Pm9d0h0 | 1 | 1409 |
最近1月 | 0 | 0 | 0 |
最近2月 | 0 | 0 | 0 |
最近3月 | 0 | 0 | 0 |
以索引扇区指针指向地址为起始地址,在存储芯片中建立第一类负荷记录当前月对应的日索引表。当日索引表建立后索引扇区指针P=索引扇区指针P+日索引表的大小=索引扇区指针P+186。8日的时索引的地址起始地址为索引扇区指针P指向地址,设为Pm9d8h0,8日的记录数加1。在写入时只用写入8日对应的数据,其它的不用写入,因为在索引表清零时都已写入0。日索引表如下:
时索引起始地址(4字节) | 记录数(2字节) | |
1日 | 0 | 0 |
2日 | 0 | 0 |
3日 | 0 | 0 |
4日 | 0 | 0 |
5日 | 0 | 0 |
6日 | 0 | 0 |
7日 | 0 | 0 |
8日 | Pm9d8h0 | 1 |
9日 | 0 | 0 |
10日 | 0 | 0 |
11日 | 0 | 0 |
12日 | 0 | 0 |
13日 | 0 | 0 |
14日 | 0 | 0 |
15日 | 0 | 0 |
16日 | 0 | 0 |
17日 | 0 | 0 |
18日 | 0 | 0 |
19日 | 0 | 0 |
20日 | 0 | 0 |
21日 | 0 | 0 |
22日 | 0 | 0 |
23日 | 0 | 0 |
24日 | 0 | 0 |
25日 | 0 | 0 |
26日 | 0 | 0 |
27日 | 0 | 0 |
28日 | 0 | 0 |
29日 | 0 | 0 |
30日 | 0 | 0 |
31日 | 0 | 0 |
以索引扇区指针指向地址Pm9d8h0为起始地址,在存储芯片中建立第一类负荷记录14年9月8日对应的时索引表。7时对应的已记录数加1,起始偏移为总索引表中第一类负荷记录的当前偏移。在写入时只用写入7时对应的数据,其它的不用写入,因为在索引表清零时都已写入0。当8日的时索引表建立后索引扇区指针P=索引扇区指针P+时索引表的大小=索引扇区指针P+72。时索引表如下:
起始偏移(2字节) | 已记录数(1字节) | |
0时 | 0 | 0 |
1时 | 0 | 0 |
2时 | 0 | 0 |
3时 | 0 | 0 |
4时 | 0 | 0 |
5时 | 0 | 0 |
6时 | 0 | 0 |
7时 | 0 | 1 |
8时 | 0 | 0 |
9时 | 0 | 0 |
10时 | 0 | 0 |
11时 | 0 | 0 |
12时 | 0 | 0 |
13时 | 0 | 0 |
14时 | 0 | 0 |
15时 | 0 | 0 |
16时 | 0 | 0 |
17时 | 0 | 0 |
18时 | 0 | 0 |
19时 | 0 | 0 |
20时 | 0 | 0 |
21时 | 0 | 0 |
22时 | 0 | 0 |
23时 | 0 | 0 |
在第一类负荷记录的记录池中写入此记录。写入地址为第一类负荷记录池起始地址+当前偏移(2)*单条负荷记录长度(18),写入内容为:产生记录的分钟30、A相电压、B相电压、C相电压、A相电流、B相电流、C相电流、频率。第一类负荷记录的记录池:
30 | A相电压 | B相电压 | C相电压 | A相电流 | B相电流 | C相电流 | 频率 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
…… | …… | …… | …… | …… | …… | …… | …… |
假设在15分钟后即1409080745又产生了一个第一类负荷记录。首先查询总索引表,发现第一类负荷记录的月索引起始地址为非零,则说明之前有过记录。把当前偏移加1后写入总索引表中,新的总索引表如下:
根据查询得到的第一类负荷记录的月索引起始地址找到月索引表,在月索引表中找到当前月的年月即1409,和1409080745的记录比较没有跨月。当前月的记录数加1,更新后的月索引表如下:
日索引起始地址(4字节) | 记录数(2字节) | 记录年月(2字节) | |
当前月 | Pm9d0h0 | 2 | 1409 |
最近1月 | 0 | 0 | 0 |
最近2月 | 0 | 0 | 0 |
最近3月 | 0 | 0 | 0 |
由于查询得到当前月的日索引起始地址不为零,根据得到当前月的日索引起始地址计算出8日的地址:日索引起始地址+7*6。当前日的记录数加1,更新后的日索引表如下:
时索引起始地址(4字节) | 记录数(2字节) | |
1日 | 0 | 0 |
2日 | 0 | 0 |
3日 | 0 | 0 |
4日 | 0 | 0 |
5日 | 0 | 0 |
6日 | 0 | 0 |
7日 | 0 | 0 |
8日 | Pm9d8h0 | 2 |
9日 | 0 | 0 |
10日 | 0 | 0 |
11日 | 0 | 0 |
12日 | 0 | 0 |
13日 | 0 | 0 |
14日 | 0 | 0 |
15日 | 0 | 0 |
16日 | 0 | 0 |
17日 | 0 | 0 |
18日 | 0 | 0 |
19日 | 0 | 0 |
20日 | 0 | 0 |
21日 | 0 | 0 |
22日 | 0 | 0 |
23日 | 0 | 0 |
24日 | 0 | 0 |
25日 | 0 | 0 |
26日 | 0 | 0 |
27日 | 0 | 0 |
28日 | 0 | 0 |
29日 | 0 | 0 |
30日 | 0 | 0 |
31日 | 0 | 0 |
由于查询得到8日的时索引起始地址不为零,根据查询得到8日的时索引起始地址计算出7时的地址:时索引起始地址+7*3。当前时的记录数加1,更新后的时索引表如下:
起始偏移(2字节) | 已记录数(1字节) | |
0时 | 0 | 0 |
1时 | 0 | 0 |
2时 | 0 | 0 |
3时 | 0 | 0 |
4时 | 0 | 0 |
5时 | 0 | 0 |
6时 | 0 | 0 |
7时 | 0 | 2 |
8时 | 0 | 0 |
9时 | 0 | 0 |
10时 | 0 | 0 |
11时 | 0 | 0 |
12时 | 0 | 0 |
13时 | 0 | 0 |
14时 | 0 | 0 |
15时 | 0 | 0 |
16时 | 0 | 0 |
17时 | 0 | 0 |
18时 | 0 | 0 |
19时 | 0 | 0 |
20时 | 0 | 0 |
21时 | 0 | 0 |
22时 | 0 | 0 |
23时 | 0 | 0 |
在第一类负荷记录的记录池中写入此记录。写入地址为第一类负荷记录池起始地址+当前偏移(2)*单条负荷记录长度(18),写入内容为:产生记录的分钟45、A相电压、B相电压、C相电压、A相电流、B相电流、C相电流、频率。第一类负荷记录的记录池:
30 | A相电压 | B相电压 | C相电压 | A相电流 | B相电流 | C相电流 | 频率 |
45 | A相电压 | B相电压 | C相电压 | A相电流 | B相电流 | C相电流 | 频率 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
…… | …… | …… | …… | …… | …… | …… | …… |
假设在1409090815产生了一个第一类负荷记录。首先查询总索引表,发现第一类负荷记录的月索引起始地址为非零,则说明之前有过记录。把当前偏移加1后写入总索引表中,新的总索引表如下:
根据查询得到的第一类负荷记录的月索引起始地址找到月索引表,在月索引表中找到当前月的年月即1409,和1409090815的记录比较没有跨月。当前月的记录加1,更新后的月索引表如下:
日索引起始地址(4字节) | 记录数(2字节) | 记录年月(2字节) | |
当前月 | Pm9d0h0 | 3 | 1409 |
最近1月 | 0 | 0 | 0 |
最近2月 | 0 | 0 | 0 |
最近3月 | 0 | 0 | 0 |
由于查询得到当前月的日索引起始地址不为零,根据得到当前月的日索引起始地址计算出9日的地址:日索引起始地址+8*6。发现9日的时索引起始地址为0,9日的时索引起始地址为索引扇区指针P指向地址Pm9d9h0,9日的记录数加1,更新后的日索引表如下:
时索引起始地址(4字节) | 记录数(2字节) | |
1日 | 0 | 0 |
2日 | 0 | 0 |
3日 | 0 | 0 |
4日 | 0 | 0 |
5日 | 0 | 0 |
6日 | 0 | 0 |
7日 | 0 | 0 |
8日 | Pm9d8h0 | 2 |
9日 | Pm9d9h0 | 1 |
10日 | 0 | 0 |
11日 | 0 | 0 |
12日 | 0 | 0 |
13日 | 0 | 0 |
14日 | 0 | 0 |
15日 | 0 | 0 |
16日 | 0 | 0 |
17日 | 0 | 0 |
18日 | 0 | 0 |
19日 | 0 | 0 |
20日 | 0 | 0 |
21日 | 0 | 0 |
22日 | 0 | 0 |
23日 | 0 | 0 |
24日 | 0 | 0 |
25日 | 0 | 0 |
26日 | 0 | 0 |
27日 | 0 | 0 |
28日 | 0 | 0 |
29日 | 0 | 0 |
30日 | 0 | 0 |
31日 | 0 | 0 |
以索引扇区指针指向地址Pm9d9h0为起始地址,在存储芯片中建立第一类负荷记录14年9月9日对应的时索引表。8时对应的已记录数加1,起始偏移为总索引表中第一类负荷记录的当前偏移。计算出8时的地址:时索引起始地址+8*3,写入存储其中。当14年9月9日的时索引表建立后索引扇区指针P=索引扇区指针P+时索引表的大小=索引扇区指针P+72。更新后14年9月9日的时索引表如下:
起始偏移(2字节) | 已记录数(1字节) | |
0时 | 0 | 0 |
1时 | 0 | 0 |
2时 | 0 | 0 |
3时 | 0 | 0 |
4时 | 0 | 0 |
5时 | 0 | 0 |
6时 | 0 | 0 |
7时 | 0 | 0 |
8时 | 2 | 1 |
9时 | 0 | 0 |
10时 | 0 | 0 |
11时 | 0 | 0 |
12时 | 0 | 0 |
13时 | 0 | 0 |
14时 | 0 | 0 |
15时 | 0 | 0 |
16时 | 0 | 0 |
17时 | 0 | 0 |
18时 | 0 | 0 |
19时 | 0 | 0 |
20时 | 0 | 0 |
21时 | 0 | 0 |
22时 | 0 | 0 |
23时 | 0 | 0 |
在第一类负荷记录的记录池中写入此记录。写入地址为第一类负荷记录池起始地址+当前偏移(2)*单条负荷记录长度(18),写入内容为:产生记录的分钟15、A相电压、B相电压、C相电压、A相电流、B相电流、C相电流、频率。第一类负荷记录的记录池:
30 | A相电压 | B相电压 | C相电压 | A相电流 | B相电流 | C相电流 | 频率 |
45 | A相电压 | B相电压 | C相电压 | A相电流 | B相电流 | C相电流 | 频率 |
15 | A相电压 | B相电压 | C相电压 | A相电流 | B相电流 | C相电流 | 频率 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
…… | …… | …… | …… | …… | …… | …… | …… |
假设在1410090815产生了一个第一类负荷记录。首先查询总索引表,发现第一类负荷记录的月索引起始地址为非零,则说明之前有过记录。把当前偏移加1后写入总索引表中,新的总索引表如下:
根据查询得到的第一类负荷记录的月索引起始地址找到月索引表,在月索引表中找到当前月的年月即1409,和1410090815的记录比较有跨月。把当前月的数据转存到最近1月中,更新后的月索引表如下:
日索引起始地址(4字节) | 记录数(2字节) | 记录年月(2字节) | |
当前月 | Pm10d0h0 | 1 | 1410 |
最近1月 | Pm9d0h0 | 3 | 1409 |
最近2月 | 0 | 0 | 0 |
最近3月 | 0 | 0 | 0 |
接下来要建立14年10月的日索引表、时索引表方法同上。
在记录4个月后,月索引表如下:
日索引起始地址(4字节) | 记录数(2字节) | 记录年月(2字节) | |
当前月 | Pm12d0h0 | N12 | 1412 |
最近1月 | Pm11d0h0 | N11 | 1411 |
最近2月 | Pm10d0h0 | N10 | 1410 |
最近3月 | Pm9d0h0 | N9 | 1409 |
当4个月记录完后,第一类负荷记录的所有索引表就算建立完成,以后不再增加新的索引表。当15年1月1日1时30分产生记录后,1501的日索引起始地址就为Pm9d0h0。新月索引表如下:
日索引起始地址(4字节) | 记录数(2字节) | 记录年月(2字节) | |
当前月 | Pm9d0h0 | N01 | 1501 |
最近1月 | Pm12d0h0 | N12 | 1412 |
最近2月 | Pm11d0h0 | N11 | 1411 |
最近3月 | Pm10d0h0 | N10 | 1410 |
同时总索引表中第一类负荷记录的起始偏移要加14年09月中的记录数,起始记录时间改为下月的1日1时0分即1410010100。总索引表如下:
2.3.3负荷记录的查询
负荷记录的查询有三类:最早的N个记录、最近的一个记录、给定时间开始的N个记录。
在采用日期索引后,查询就变的很简单。当查询最早的N个记录时,通过查找总索引表中的起始偏移就可以定位最早的一个负荷记录在记录池中的位置,然后在此偏移的基础上连续向后读取N-1个就得到所需数据。当查询最近的一个记录时,通过查找总索引表中的当前偏移就可以定位最近的一个负荷记录在记录池中的位置,直接读取就可以了。
给定时间开始的N个记录是指从记录池中找到大于等于给定时间开始的N个记录。对于查找给定时间开始的N个记录,首先判断给定时间是否大于总索引表中的当前记录时间,如果大于就返回空。如果给定时间小于总索引表中的起始记录时间,则返回起始记录时间开始的N个记录。当给定时间介于总索引表中的起始记录时间和当前记录时间之间,就要查询索引表得到所需记录的起始偏移。根据给定的时间查找月索引表中对应的年月的日索引表的起始地址。根据给定的时间的日期通过日索引表找到此日的时索引表起始地址。根据给定的时间通过时索引表找到此时开始的记录在记录池中的偏移和此时内的记录数R。从得到的偏移开始查找R个记录,找出其中分大于等给定查找时间中的分钟。如果找到就连续读取N个记录。如果R个记录中没找到,那么就从第R+1个记录开始连续读取N个记录。
3、本发明采用动态日期分块索引的方法与顺序记录查找的方法相比,节省了存储空间,节省了查询时间:
顺序记录查找法在对负荷记录存储时连时标(年月日时分)一起存储,动态日期分块索引的方法在对负荷记录存储时其中只存储了时标中的分钟一起存储,相当于一条记录节省4个字节。虽然动态日期分块索引比顺序记录查找多了一些索引表,但是这些索引表占的空间相对来说是比较小的。所有索引表可索引时数为6*4*31*24=17856个,按负荷记录间隔为15分钟来计算,一个小时有4条记录。因此所有索引表可索引记录数为17856*4=71424个。由3.3.1可知所有索引表共占58224字节。节省的空间为71424*4-58224=285696-58224=227472字节。
顺序记录查找法使用的基于记录的时标的二分查找法。在进行二分查找法时首先要获取时标,获取时标就要读取记录,这个过程需要消耗一定的时间。在获取完时标后要进行比较大小进行二分查找法,这个过程也会消耗一定的时间。在进行每次比较前都要进行时标的读取。采用动态日期分块索引的方法是首先要查询总索引表,而总索引表驻留在RAM中对它的查询可以很快完成。接着查询月索引表时,可以把月索引表一次读入缓冲区中,再进行检索。由于日索引的结构是固定的1-31天数据。因此根据月索引表中查的的日索引表起始地址,可以计算出给定时间对应时索引表的地址。同理由于时索引的结构是固定的0-23时数据。因此根据时索引表起始地址,可以计算出给定时间对应的地址进而得到给定时内记录的起始偏移和已记录数N。最后可以直接从起始偏移出读取N个的记录放到缓冲区中,再进行分钟的比较。从上述可以看出采用动态日期分块索引法只进行了4次读取操作。仅仅进行两次二分查找就需要读取四次,由于记录往往比较多可以达到上万条,因此需要进行多次的二分查找,读取次数将远远多于4次。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种费控智能电能表中负荷记录分块索引存储方法,其特征在于,包括以下步骤:
步骤S11.为费控智能电能表中的各类负荷记录分别对应建立一个记录池,每一个记录池采用先进先出的循环队列存储数据;
步骤S12.建立总索引表,其包括各类负荷记录的单条负荷记录长度、记录池起始地址、月索引起始地址、记录条数的起始偏移、记录条数的当前偏移、当前记录时间、起始记录时间;
步骤S13.在负荷记录产生的同时,为每类负荷记录分别建立相应的月索引表、日索引表及时索引表。
2.如权利要求1所述的费控智能电能表中负荷记录分块索引存储方法,其特征在于:步骤S11中,所述费控智能电能表包括六类负荷记录,分别为
第一类负荷记录,包括A相电压、B相电压、C相电压、A相电流、B相电流、C相电流、频率;
第二类负荷记录,包括总有功功率、A相有功功率、B相有功功率、C相有功功率、总无功功率、A相无功功率、B相无功功率、C相无功功率;
第三类负荷记录,包括总功率因数、A相功率因数、B相功率因数、C相功率因数;
第四类负荷记录,包括正向总有功电能、反向总有功电能、组合无功1电能、组合无功2电能;
第五类负荷记录,包括第一象限无功、第二象限无功、第三象限无功、第四象限无功;
第六类负荷记录,包括当前有功需量、当前无功需量。
3.如权利要求1所述的费控智能电能表中负荷记录分块索引存储方法,其特征在于:步骤S12中,
所述单条负荷记录长度是指每类负荷记录在记录池中一条的长度;
所述记录池起始地址是指每类负荷记录的记录池在存储器中的起始地址;
所述月索引起始地址是指某类负荷记录的月索引表的起始地址;
所述记录条数的起始偏移是指最早一条记录在记录池中的位置,
所述记录条数的当前偏移是指最近一条记录在记录池中的位置;
所述起始记录时间指最早记录发生的时间;
所述当前记录时间是指当前记录发生的时间。
4.如权利要求1所述的费控智能电能表中负荷记录分块索引存储方法,其特征在于:步骤S13中,
为每类负荷记录分别建立一个月索引表,所述月索引表包括日索引起始地址、月索引记录条数、记录年月;
为每类负荷记录月索引表中的至少一个月对应建立日索引表,所述日索引表包括时索引起始地址、日索引记录条数;
为每类负荷记录日索引表中的每一日分别对应建立时索引表,所述时索引表包括时索引记录的起始条数偏移、时索引记录条数。
5.如权利要求4所述的费控智能电能表中负荷记录分块索引存储方法,其特征在于:
所述日索引起始地址是指某类负荷记录的日索引表的起始地址;
所述月索引记录条数是指在此月中负荷记录产生的条数;
所述记录年月是指符合记录产生的时间年月日时分中的年月。
6.如权利要求4所述的费控智能电能表中负荷记录分块索引存储方法,其特征在于:
所述时索引起始地址是指某类负荷记录的时索引表的起始地址;
所述日索引记录条数是指在此日中负荷记录产生的条数。
7.如权利要求4所述的费控智能电能表中负荷记录分块索引存储方法,其特征在于:
所述时索引记录的起始条数偏移是指此时产生的负荷记录在记录池中的位置;
所述时索引记录条数是指在此时中负荷记录产生的条数。
8.如权利要求4所述的费控智能电能表中负荷记录分块索引存储方法,其特征在于:为每类负荷记录月索引表中的当前月、最近1个月、最近2个月、最近3个月分别对应建立日索引表。
9.基于权利要求1所述分块索引存储方法的费控智能电能表中负荷记录查询方法,其特征在于,包括以下步骤:
步骤S21.查询总索引表得到对应负荷记录的当前记录时间和记录条数的当前偏移、起始记录时间和记录条数的起始偏移、月索引起始地址;
步骤S22.判断是否查询最近一条负荷记录,若是,跳转至步骤S23;若否,跳转至步骤S24;
步骤S23.根据当前记录时间和记录条数的当前偏移,读取记录池中最近一条负荷记录,跳转至步骤S29;
步骤S24.判断是否查询最早的若干条记录,若是,跳转至步骤S26;若否,跳转至步骤S25;
步骤S25.判断给定时间是否小于起始记录时间,若是,跳转至步骤S26;若否,跳转至步骤S27;
步骤S26.根据起始记录时间和记录条数的起始偏移,读取记录池中最早的若干条记录,跳转至步骤S29;
步骤S27.判断给定时间是否大于等于当前记录时间,若是,跳转至步骤S29;若否,跳转至步骤S28;
步骤S28.依次查询月索引表、日索引表、时索引表,得到若干条目标记录,跳转至步骤S29;
步骤S29.返回。
10.如权利要求9所述的费控智能电能表中负荷记录查询方法,其特征在于,步骤S28具体包括以下步骤:
步骤S281.查询月索引表得到日索引的起始地址;
步骤S282.查询日索引表得到时索引的起始地址;
步骤S283.查询时索引表得到时索引记录的起始条数偏移和时索引记录条数;
步骤S284.读取记录池中的若干条目标记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510069845.0A CN104778203B (zh) | 2015-02-10 | 2015-02-10 | 费控智能电能表中负荷记录分块索引存储及查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510069845.0A CN104778203B (zh) | 2015-02-10 | 2015-02-10 | 费控智能电能表中负荷记录分块索引存储及查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104778203A true CN104778203A (zh) | 2015-07-15 |
CN104778203B CN104778203B (zh) | 2017-12-15 |
Family
ID=53619667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510069845.0A Active CN104778203B (zh) | 2015-02-10 | 2015-02-10 | 费控智能电能表中负荷记录分块索引存储及查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104778203B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105652051A (zh) * | 2015-12-30 | 2016-06-08 | 深圳市科陆电子科技股份有限公司 | 一种电能表数据快速清零的方法 |
CN108280028A (zh) * | 2017-12-27 | 2018-07-13 | 浙江恒业电子有限公司 | 一种基于动态分配的智能电能表负荷记录实现的方法 |
CN108319730A (zh) * | 2018-03-19 | 2018-07-24 | 北京智立行走科技有限公司 | 一种自动生成仪表索引表的方法 |
CN110134323A (zh) * | 2018-02-02 | 2019-08-16 | 河南许继仪表有限公司 | 一种flash存储器 |
CN111061650A (zh) * | 2019-11-15 | 2020-04-24 | 珠海许继电气有限公司 | Soe信息的管理方法及其存储装置 |
CN111796775A (zh) * | 2020-07-07 | 2020-10-20 | 威胜集团有限公司 | 智能电表数据存储方法及装置 |
CN112527828A (zh) * | 2020-12-10 | 2021-03-19 | 福建新大陆支付技术有限公司 | 一种税控机税控记录存储方法及检索查询方法 |
CN113220668A (zh) * | 2021-06-01 | 2021-08-06 | 烟台东方威思顿电气有限公司 | 基于分组的负荷曲线数据存取方法 |
CN114356792A (zh) * | 2021-11-18 | 2022-04-15 | 国电南瑞三能电力仪表(南京)有限公司 | 基于flash预擦除技术的电能表冻结数据存储方法及电能表 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101858966A (zh) * | 2010-05-10 | 2010-10-13 | 珠海市科荟电器有限公司 | 电能表数据采集装置仿真检测系统 |
WO2011074925A2 (ko) * | 2009-12-18 | 2011-06-23 | 에스케이 텔레콤주식회사 | 스마트 포털을 이용한 수요응답 시스템 및 방법 |
CN102495891A (zh) * | 2011-12-09 | 2012-06-13 | 北京科东电力控制系统有限责任公司 | 一种用于微型电网智能终端的实时数据库实现方法 |
CN103412889A (zh) * | 2013-07-19 | 2013-11-27 | 深圳市金正方科技股份有限公司 | 智能电表的数据存储和查询方法及其系统 |
CN104035882A (zh) * | 2014-06-21 | 2014-09-10 | 宁波三星电气股份有限公司 | 一种采用小内存的电力集中器抄读和存储进口电能表数据的方法 |
CN104077395A (zh) * | 2014-07-01 | 2014-10-01 | 贵州电网公司信息通信分公司 | 一种电力系统等效化简重新生成内存库索引的方法 |
CN104268178A (zh) * | 2014-09-16 | 2015-01-07 | 积成电子股份有限公司 | 应用于电力用户用电信息采集系统的电能量数据写库方法 |
-
2015
- 2015-02-10 CN CN201510069845.0A patent/CN104778203B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011074925A2 (ko) * | 2009-12-18 | 2011-06-23 | 에스케이 텔레콤주식회사 | 스마트 포털을 이용한 수요응답 시스템 및 방법 |
CN101858966A (zh) * | 2010-05-10 | 2010-10-13 | 珠海市科荟电器有限公司 | 电能表数据采集装置仿真检测系统 |
CN102495891A (zh) * | 2011-12-09 | 2012-06-13 | 北京科东电力控制系统有限责任公司 | 一种用于微型电网智能终端的实时数据库实现方法 |
CN103412889A (zh) * | 2013-07-19 | 2013-11-27 | 深圳市金正方科技股份有限公司 | 智能电表的数据存储和查询方法及其系统 |
CN104035882A (zh) * | 2014-06-21 | 2014-09-10 | 宁波三星电气股份有限公司 | 一种采用小内存的电力集中器抄读和存储进口电能表数据的方法 |
CN104077395A (zh) * | 2014-07-01 | 2014-10-01 | 贵州电网公司信息通信分公司 | 一种电力系统等效化简重新生成内存库索引的方法 |
CN104268178A (zh) * | 2014-09-16 | 2015-01-07 | 积成电子股份有限公司 | 应用于电力用户用电信息采集系统的电能量数据写库方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105652051A (zh) * | 2015-12-30 | 2016-06-08 | 深圳市科陆电子科技股份有限公司 | 一种电能表数据快速清零的方法 |
CN108280028A (zh) * | 2017-12-27 | 2018-07-13 | 浙江恒业电子有限公司 | 一种基于动态分配的智能电能表负荷记录实现的方法 |
CN108280028B (zh) * | 2017-12-27 | 2024-04-05 | 浙江恒业电子股份有限公司 | 一种基于动态分配的智能电能表负荷记录实现的方法 |
CN110134323A (zh) * | 2018-02-02 | 2019-08-16 | 河南许继仪表有限公司 | 一种flash存储器 |
CN108319730A (zh) * | 2018-03-19 | 2018-07-24 | 北京智立行走科技有限公司 | 一种自动生成仪表索引表的方法 |
CN111061650B (zh) * | 2019-11-15 | 2022-06-14 | 珠海许继电气有限公司 | Soe信息的管理方法及其存储装置 |
CN111061650A (zh) * | 2019-11-15 | 2020-04-24 | 珠海许继电气有限公司 | Soe信息的管理方法及其存储装置 |
CN111796775A (zh) * | 2020-07-07 | 2020-10-20 | 威胜集团有限公司 | 智能电表数据存储方法及装置 |
CN112527828A (zh) * | 2020-12-10 | 2021-03-19 | 福建新大陆支付技术有限公司 | 一种税控机税控记录存储方法及检索查询方法 |
CN113220668B (zh) * | 2021-06-01 | 2022-05-27 | 烟台东方威思顿电气有限公司 | 基于分组的负荷曲线数据存取方法 |
CN113220668A (zh) * | 2021-06-01 | 2021-08-06 | 烟台东方威思顿电气有限公司 | 基于分组的负荷曲线数据存取方法 |
CN114356792A (zh) * | 2021-11-18 | 2022-04-15 | 国电南瑞三能电力仪表(南京)有限公司 | 基于flash预擦除技术的电能表冻结数据存储方法及电能表 |
CN114356792B (zh) * | 2021-11-18 | 2023-03-10 | 国电南瑞三能电力仪表(南京)有限公司 | 基于flash预擦除技术的电能表冻结数据存储方法及电能表 |
Also Published As
Publication number | Publication date |
---|---|
CN104778203B (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104778203A (zh) | 费控智能电能表中负荷记录分块索引存储及查询方法 | |
CN100382048C (zh) | 一种内存管理方法 | |
CN106095828B (zh) | 一种基于用电信息采集终端的曲线数据存储方案 | |
CN106503276A (zh) | 一种用于实时监控系统的时间序列数据库的方法与装置 | |
CN103885887B (zh) | 用户数据存储方法、读取方法及系统 | |
CN108304484A (zh) | 关键词匹配方法及装置、电子设备和可读存储介质 | |
CN102455973A (zh) | 一种利用Flash芯片剩余空间设置数据区擦写数据的方法 | |
CN103383690A (zh) | 分布式数据存储方法及系统 | |
CN102955861A (zh) | 一种基于备份文件的索引文件生成方法和装置 | |
CN105912601A (zh) | 能量管理系统分布式实时内存数据库的分区存储方法 | |
CN103793439A (zh) | 一种实时检索信息获取方法、装置及服务器 | |
CN104516822A (zh) | 一种内存访问方法和设备 | |
CN103605756A (zh) | 用于联机分析处理的数据处理方法和装置 | |
CN103235798A (zh) | 多源地理网格的业务域空间资源存储方法和系统 | |
CN102591787A (zh) | Java卡的数据处理方法及装置 | |
CN114819596B (zh) | 一种区域变电站规划方法、系统、终端及存储介质 | |
CN111124313A (zh) | 电力采集终端数据读写方法、装置和电子设备 | |
CN103678577A (zh) | 一种数据更新方法及装置 | |
CN103020077A (zh) | 一种电力系统实时数据库内存管理方法 | |
CN103258044B (zh) | 一种面向dsp的二元组nandflash数据文件管理方法 | |
CN103246539B (zh) | 基于用户使用习惯的gis系统模块加载方法 | |
CN101901192B (zh) | 一种片上和片外数据对象静态分配方法 | |
CN107273443A (zh) | 一种基于大数据模型元数据的混合索引方法 | |
CN112632027A (zh) | 一种日志数据存储方法及装置 | |
CN108280028B (zh) | 一种基于动态分配的智能电能表负荷记录实现的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190709 Address after: 430000 Dongxin Road Guanggu Pioneer Street, Wuhan Free Trade Zone, Hubei Province, 10 (original 3) 1 Unit 2, No. 201, 2190 Patentee after: Wuhan Time Wave Network Technology Co., Ltd. Address before: 430050 No. 270, Sancun, Jinkou, Hanyang District, Wuhan City, Hubei Province Patentee before: WUHAN RADARKING ELECTRONICS CORP. |
|
TR01 | Transfer of patent right |