CN103020169A - 一种电力数据的有效性及唯一性处理方法 - Google Patents
一种电力数据的有效性及唯一性处理方法 Download PDFInfo
- Publication number
- CN103020169A CN103020169A CN2012104898166A CN201210489816A CN103020169A CN 103020169 A CN103020169 A CN 103020169A CN 2012104898166 A CN2012104898166 A CN 2012104898166A CN 201210489816 A CN201210489816 A CN 201210489816A CN 103020169 A CN103020169 A CN 103020169A
- Authority
- CN
- China
- Prior art keywords
- data
- hour
- database
- power
- measurement point
- 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.)
- Pending
Links
Abstract
本发明是一种电力数据的有效性及唯一性处理方法,采集测量点的采集器序号、测量点序号、功率类型、费率类型及这些参数的对应数值,上传给后台SQL数据库;将数据先存入到VC++的数据链表中,等数据链表达到设定的数据长度时再统一进行存取,并需要对插入到最终数据库表中的数据进行进一步的筛选;对于每个测量点的数据按小时存储以方便后期的统计,从一个小时内采集获得的多个数据中选取最接近时间点的一条作为最有效的数据进行存储,所述的时间点是指一个小时区间的后端点时间。在使用SQL数据库存储及处理描述同一问题的多条记录时,能够从中择出最有效的一条数据,同时能够兼顾数据库访问次数及数据被更新的次数。
Description
技术领域
本发明涉及一种应用于电力系统自动化技术领域的数据有效性及数据唯一性处理方法。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,在实际的应用中已经相当广泛,并且在电力系统自动化领域数据库技术的应用也已比较成熟。电力数据具有突发性、集中性、实时性、准确性等特点,而数据的有效性和数据的唯一性是电力数据处理的最基本要求。
现有的电力数据处理方法,均选择使用数据库软件本身所提供的数据完整性约束来对数据的唯一性及有效性进行处理。这对于一条记录而言,功能已完全可以实现,但是对于两条所描述的事件是一样的记录而言,数据库软件所提供的数据完整性约束功能是很难达到甚至根本达不到想要的效果。这就需要在数据插入和更新时作进一步的处理,以确保数据有效及唯一。在数据存在突发性及重复性极高等情况下,还需要更精细的处理。
发明内容
本发明所要解决的技术问题是,提供一种电力数据的有效性及唯一性处理方法,在使用SQL数据库存储及处理描述同一问题的多条记录时,能够从中择出最有效的一条数据,同时能够兼顾数据库访问次数及数据被更新的次数。
为了解决上述问题,本发明采用了以下技术方案。
一种电力数据的有效性及唯一性处理方法,其特征在于按照以下步骤进行处理:
1)、采集:采集测量点的采集器序号、测量点序号、功率类型、费率类型及这些参数的对应数值;
2)上传:将步骤1)采集的信息上传给后台SQL数据库;
3)、存储:将数据先存入到VC++的数据链表中,等数据链表达到设定的数据长度时再统一进行存取,并需要对插入到最终数据库表中的数据进行进一步的筛选;所述进一步的筛选是指,在SQL数据库中新增一个临时表,先将链表中所有数据按设定长度分批插入到该临时表中,再用SQL视图处理临时表,将最有效的数据提取出来,放入历史库表中;
对于每个测量点的数据按小时存储以方便后期的统计,从一个小时内采集获得的多个数据中选取最接近时间点的一条作为最有效的数据进行存储,所述的时间点是指一个小时区间的后端点时间。
本发明的积极效果在于:采用本发明的方法,运用C++与SQL数据库相结合的方式,采取链表,数据库表,数据库视图等工具对采集系统所采集的数据进行处理。对于每一个数据记录,都以存储时间(savetime)作为有效性的判断条件。并新增一个临时表,先将链表中所有数据按一定长度分批插入到临时表中,再有SQL视图处理临时表,将存储时间最大的数据提取出来,放入历史库表中。这样便完成了高突发性的数据采集及存储时数据唯一性及数据有效性的处理。
具体实施方式
下面结合具体实例来进一步说明本发明。
本发明按照以下步骤进行处理:
1)、采集:前置程序通过计算机网络、RS485接口等方式采集测量点的采集器序号(rtuno)、测量点序号(pointno)、功率类型(power)、费率类型(tariff)及这些参数的对应数值(value)。
2)上传:将步骤1)采集的信息上传给后台数据库,后台维护测量点信息并根据采集器信息及测量点序号确定测量点的唯一性(tmr_point:pointcode,rtuno,pointno)。
3)、存储:对于每个测量点的数据按小时存储以方便后期的统计,在按小时存储时,一个小时内采集获得多个数据。存储时只需要其中一条数据,这条数据要尽可能的接近这个时间点,且需要保证每个时间点上都存上了数据值。从一个小时内采集获得的多个数据中选取最接近时间点的一条作为最有效的数据进行存储,所述的时间点是指一个小时区间的后端点时间,比如在3:00~4:00的一个小时区间中,时间点是指4:00。
比如:采集得第一条数据:rtuno=1,pointno=1,collectTime=1338508866(2012年6月1日0时1分6秒),tariff=0(总),power=0,value=554.19,存储到数据库中为:(‘pointOne’,1338512400(2012年6月1日1时0分0秒),0,0,0,554.19,0,1338508866);
当采集到第二条数据时,如rtuno=1,pointno=1,collectTime=1338508899(2012年6月1日0时1分39秒),tariff=0(总),power=0,value=554.21,先删除第一条数据,存储第二条数据到库中(‘pointOne’,1338512400(2012年6月1日1时0分0秒),0,0,0,554.21,0,1338508899),以此来确保数据的唯一性及有效性。
但是这样处理会存在一个问题:当数据量很大且采集间隔较短时,如测量点为600,每个测量点数据项为20,采集的时间间隔为一分钟,这样对于所有测计量在一分钟内需要对数据进行12000次的删除与插入操作。在加上其他的数据处理及运算,数据库的瞬间访问量还会更大。本发明的做法是将数据先存入到VC++的数据链表中,等数据链表达到设定的数据长度时再统一进行存取,这样就减少了数据库访问的次数。但因为电力数据的突发性和采集值上送的不确定性,数据链表中可能会同时存在同一计量点的相同数据项,因此需要对插入到最终数据库表中的数据进行进一步的筛选。
所述进一步的筛选是指,对于每一个数据记录,都以存储时间(savetime)作为有效性的判断条件。在VC++中如果处理存储时间会导致更多的链表操作,以致影响处理效率。在SQL数据库中新增一个临时表,此表结构与采集数据类似,先将链表中所有数据按设定长度分批插入到该临时表中,再用SQL视图处理临时表,将最有效的数据(即存储时间最大的数据)提取出来,放入历史库表中。这样便完成了高突发性的数据采集,以及存储时对数据唯一性及数据有效性的处理。
为了更清晰地描述所涉及的问题,现将数据库数据存储表结构描述如下:
---------------------------------------tmr_point-----------------------------------------------
create table tmr_point
(
pointCode CHAR(37) not null,
rtuNo NUMBER(4),
pointNo NUMBER(4),
source NUMBER(3)
constraint PK_TMR_POINT primary key (pointCode)
)organization index;
------------------------------------tmr_pointreading-----------------------------------------
create table tmrd_pointreading
(
pointCode CHAR(37),
collectTime NUMBER(10),
source NUMBER(3),
tariff NUMBER(3),
power NUMBER(3),
value REAL,
flag NUMBER(3),
savetime NUMBER(10),
constraint PK_TMRD_POINTREADING primary key (pointCode,collectTime,source,tariff,power);
)tablespace his_data;
-----------------------------------view_tmr_new_pointreading-----------------------------
create or replace view view_tmr_new_pointreading as
select distinct a.pointcode,a.collecttime,a.source,a.tariff,a.power,a.value,a.flag,a.savetime
from view_temp_pointreading a,
(select pointCode,collectTime,source,tariff,power,max(savetime) savetime
from view_temp_pointreading
group by pointCode,collectTime,source,tariff,power
order by pointCode,collectTime,source,tariff,power) b
where a.pointCode=b.pointCode and a.collectTime = b.collectTime and
a.source = b.source and a.tariff = b.tariff and a.power = b.power and a.savetime = b.savetime
order by a.pointCode,a.collectTime,a.source,a.tariff,a.power,a.savetime;
----------------------------------------view_temp_pointreading-----------------------------
create or replace view view_temp_pointreading as
select tmr.pointcode, tmp.collecttime,tmr.source,tmp.tariff,tmp.power,tmp.value,tmp.flag,tmp.savetime
from temp_pointreading tmp
inner join tmr_point tmr
on (tmp.pointno = tmr.pointno and tmp.rtuno = tmr.rtuno);
下面以低压电力用户集中抄表系统为例,进一步描述本发明。
本发明所涉及的数据库表、视图等结构可在附录中查到。低压电力用户集中抄表系统中涉及两个概念:集中器与测量点(或称计量点)。本发明中涉及的数据唯一性要求是对于某一时刻(以小时为单位,下同),某一测量点的具体某一值存在是唯一的。本发明中涉及的数据有效性要求对于某一个时刻,某一测量点的具体某一值为最接近此时刻测量点实际值。
主任务主要包括以下过程:
(1)、前置系统按指定时间间隔对每个采集器进行轮询,采集及处理相应数据,按指定的数据结构存放;
(2)、将采集到的数据按指定数据结构存放后追加到环形链表中;
(3)、每次放入环形链表前,对环形链表数据长度做一判断,在环形链表数据长度达到一半左右时(可根据实际情况设置环形链表的总长度及存储瓶颈)往临时表中;
(4)、将历史库表中与临时库表中重复的记录删除,待插入新数据,语句如下:
Delete from tmrd_pointreading where exists(select pointCode,source,collectTime,tariff,power from view_temp_pointreading where pointCode=tmrd_pointreading.pointcode and source=tmrd_pointreading.source and collecttime=tmrd_pointreading.collecttime and tariff=tmrd_pointreading.tariff and power=tmrd_pointreading.power )
这样就首先确保了历史库表中没有与临时库表中重复的数据了;
(5)、此时需要在临时表的基础上创建一个视图,这个视图的主要作用就是从临时表中取出不重复的且最有效的(存储时间最靠后的)数据,此处的视图如下:
create or replace view view_tmr_new_pointreading as
select distinct a.pointcode,a.collecttime,a.source,a.tariff,a.power,a.value,a.flag,a.savetime
from view_temp_pointreading a,
(select pointCode,collectTime,source,tariff,power,max(savetime) savetime
from view_temp_pointreading
group by pointCode,collectTime,source,tariff,power
order by pointCode,collectTime,source,tariff,power) b
where a.pointCode=b.pointCode and a.collectTime = b.collectTime and
a.source = b.source and a.tariff = b.tariff and a.power = b.power and a.savetime = b.savetime
order by a.pointCode,a.collectTime,a.source,a.tariff,a.power,a.savetime;
此视图主要的功能是取出某一个采集时间点的多条数据值中存储时间等于最大存储时间
的记录,即我们需要的有效值,且须确保唯一;
(6)、此时将提取出来的数据插入到历史库表中,然后就临时库表中的数据清除,等待下一轮数据处理。
Claims (1)
1.一种电力数据的有效性及唯一性处理方法,其特征在于按照以下步骤进行处理:
1)采集:采集测量点的采集器序号、测量点序号、功率类型、费率类型及这些参数的对应数值;
2)上传:将步骤1)采集的信息上传给后台SQL数据库;
3)存储:将数据先存入到VC++的数据链表中,等数据链表达到设定的数据长度时再统一进行存取,并需要对插入到最终数据库表中的数据进行进一步的筛选;所述进一步的筛选是指,在SQL数据库中新增一个临时表,先将链表中所有数据按设定长度分批插入到该临时表中,再用SQL视图处理临时表,将最有效的数据提取出来,放入历史库表中;
对于每个测量点的数据按小时存储以方便后期的统计,从一个小时内采集获得的多个数据中选取最接近时间点的一条作为最有效的数据进行存储,所述的时间点是指一个小时区间的后端点时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104898166A CN103020169A (zh) | 2012-11-27 | 2012-11-27 | 一种电力数据的有效性及唯一性处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104898166A CN103020169A (zh) | 2012-11-27 | 2012-11-27 | 一种电力数据的有效性及唯一性处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103020169A true CN103020169A (zh) | 2013-04-03 |
Family
ID=47968773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104898166A Pending CN103020169A (zh) | 2012-11-27 | 2012-11-27 | 一种电力数据的有效性及唯一性处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103020169A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336810A (zh) * | 2013-06-26 | 2013-10-02 | 国家电网公司 | 一种基于多核计算机的配电网拓扑分析方法 |
CN104865346A (zh) * | 2015-04-22 | 2015-08-26 | 北京交通大学 | 对车载尾气检测系统的采集数据进行验证的方法和装置 |
CN104978627A (zh) * | 2015-06-13 | 2015-10-14 | 烟台东方威思顿电气股份有限公司 | 一种电力采集终端更新内部电能表档案的方法 |
CN111061802A (zh) * | 2019-12-26 | 2020-04-24 | 宁波三星医疗电气股份有限公司 | 一种电力数据管理处理方法、装置及存储介质 |
CN111680046A (zh) * | 2020-08-12 | 2020-09-18 | 国网浙江省电力有限公司营销服务中心 | 用于高频电力数据的快速存储方法 |
CN112256697A (zh) * | 2020-10-14 | 2021-01-22 | 宁波三星医疗电气股份有限公司 | 一种用于电力采集终端数据管理的方法 |
CN114091900A (zh) * | 2021-11-22 | 2022-02-25 | 福州物联网开放实验室有限公司 | 一种结合实时抄表大数据的用水分析方法及存储介质 |
CN114338567A (zh) * | 2021-12-27 | 2022-04-12 | 锐迪科创微电子(北京)有限公司 | Sdio接口数据传输方法及装置、sdio接口设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354713A (zh) * | 2008-09-08 | 2009-01-28 | 大唐软件技术股份有限公司 | 数据存储方法和系统 |
US20090300027A1 (en) * | 2008-05-26 | 2009-12-03 | Seiko Epson Corporation | Database access server and database access system |
CN102654863A (zh) * | 2011-03-02 | 2012-09-05 | 华北计算机系统工程研究所 | 一种实时数据库历史数据组织管理方式 |
-
2012
- 2012-11-27 CN CN2012104898166A patent/CN103020169A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300027A1 (en) * | 2008-05-26 | 2009-12-03 | Seiko Epson Corporation | Database access server and database access system |
CN101354713A (zh) * | 2008-09-08 | 2009-01-28 | 大唐软件技术股份有限公司 | 数据存储方法和系统 |
CN102654863A (zh) * | 2011-03-02 | 2012-09-05 | 华北计算机系统工程研究所 | 一种实时数据库历史数据组织管理方式 |
Non-Patent Citations (2)
Title |
---|
梁洪浩等: "面向未来电网的计量自动化系统存储技术研究", 《广东电力》 * |
江勇: "流程工业历史数据库的研究", 《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑(季刊)》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336810A (zh) * | 2013-06-26 | 2013-10-02 | 国家电网公司 | 一种基于多核计算机的配电网拓扑分析方法 |
CN103336810B (zh) * | 2013-06-26 | 2016-08-31 | 国家电网公司 | 一种基于多核计算机的配电网拓扑分析方法 |
CN104865346A (zh) * | 2015-04-22 | 2015-08-26 | 北京交通大学 | 对车载尾气检测系统的采集数据进行验证的方法和装置 |
CN104865346B (zh) * | 2015-04-22 | 2017-02-01 | 北京交通大学 | 对车载尾气检测系统的采集数据进行验证的方法和装置 |
CN104978627A (zh) * | 2015-06-13 | 2015-10-14 | 烟台东方威思顿电气股份有限公司 | 一种电力采集终端更新内部电能表档案的方法 |
CN104978627B (zh) * | 2015-06-13 | 2018-05-29 | 烟台东方威思顿电气有限公司 | 一种电力采集终端更新内部电能表档案的方法 |
CN111061802A (zh) * | 2019-12-26 | 2020-04-24 | 宁波三星医疗电气股份有限公司 | 一种电力数据管理处理方法、装置及存储介质 |
CN111680046A (zh) * | 2020-08-12 | 2020-09-18 | 国网浙江省电力有限公司营销服务中心 | 用于高频电力数据的快速存储方法 |
CN111680046B (zh) * | 2020-08-12 | 2020-10-30 | 国网浙江省电力有限公司营销服务中心 | 用于高频电力数据的快速存储方法 |
CN112256697A (zh) * | 2020-10-14 | 2021-01-22 | 宁波三星医疗电气股份有限公司 | 一种用于电力采集终端数据管理的方法 |
CN114091900A (zh) * | 2021-11-22 | 2022-02-25 | 福州物联网开放实验室有限公司 | 一种结合实时抄表大数据的用水分析方法及存储介质 |
CN114338567A (zh) * | 2021-12-27 | 2022-04-12 | 锐迪科创微电子(北京)有限公司 | Sdio接口数据传输方法及装置、sdio接口设备 |
CN114338567B (zh) * | 2021-12-27 | 2023-09-05 | 锐迪科创微电子(北京)有限公司 | Sdio接口数据传输方法及装置、sdio接口设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103020169A (zh) | 一种电力数据的有效性及唯一性处理方法 | |
CN105005570B (zh) | 基于云计算的海量智能用电数据挖掘方法及装置 | |
CN103678042B (zh) | 一种基于数据分析的备份策略信息生成方法 | |
CN105893628A (zh) | 一种数据实时收集系统及方法 | |
CN105069703A (zh) | 一种电网海量数据管理方法 | |
CN105117171A (zh) | 一种能源scada海量数据分布式处理系统及其方法 | |
CN102231216B (zh) | 一种用于自助设备的现金管理方法和系统 | |
CN103514295B (zh) | 历史数据归档方法及历史数据归档装置 | |
CN106528787A (zh) | 一种基于海量数据多维分析的查询方法及装置 | |
CN101556666A (zh) | 建立审计模型的方法、装置及审计系统 | |
CN107247799A (zh) | 兼容多种大数据存储的数据处理方法、系统及其建模方法 | |
CN103902537A (zh) | 多业务的日志数据存储处理和查询系统及其方法 | |
CN106453482A (zh) | 一种物联网中间件系统及物联网系统 | |
CN107784098A (zh) | 实时数据仓库平台 | |
CN104850635B (zh) | 一种多数据源环境下数据缺失自动检查及集中监控方法 | |
CN106202566A (zh) | 一种基于大数据的海量用电数据混合存储系统及方法 | |
CN110083600A (zh) | 一种日志收集处理的方法、装置、计算设备及存储介质 | |
CN104933042B (zh) | 基于大数据量的数据库表采集优化技术 | |
CN109559054A (zh) | 一种电力工程施工信息处理系统 | |
CN104239447A (zh) | 电网时序大数据存储方法 | |
CN102609501A (zh) | 一种基于实时历史数据库的数据清洗方法 | |
CN105787090A (zh) | 一种电力数据的olap系统的索引建立方法和系统 | |
CN109460401B (zh) | 一种智能化的盾构tbm数据采集与补全方法 | |
CN104299065B (zh) | 一种调度自动化主备系统间模型正确性校验的方法 | |
CN109977139A (zh) | 基于类结构化查询语句的数据处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130403 |