CN109871381A - 电网运行数据自适应存储和查询的方法 - Google Patents
电网运行数据自适应存储和查询的方法 Download PDFInfo
- Publication number
- CN109871381A CN109871381A CN201910061072.XA CN201910061072A CN109871381A CN 109871381 A CN109871381 A CN 109871381A CN 201910061072 A CN201910061072 A CN 201910061072A CN 109871381 A CN109871381 A CN 109871381A
- Authority
- CN
- China
- Prior art keywords
- data
- grid operation
- operation data
- adaptive
- storage
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种电网运行数据自适应存储和查询的方法,定义自适应存储表结构;电网运行数据的自适应存储,将电网数据抽象为统一的数据存储表结构、数据存储接口,自动识别不同类型的运行数据,并存储到对应的数据库存储表中;电网运行数据的自适应查询,将电网数据抽象为统一数据查询表结构、数据查询接口,自动识别不同类型的数据查询请求,并从具体的数据库存储表中查询所需数据。本发明仅需定义存储表结构,自动实现表的创建管理,无需关注业务应用;自适应存储、查询方式避免了修改代码,不仅减少开发和维护成本,更能增加程序的健壮性和自适应性;极大地提高了数据结构的可扩展性,可灵活可扩展的数据存储、数据查询。
Description
技术领域
本发明属于电网调度自动化技术领域,尤其涉及一种对电网调度产生的各种运行数据的自适应存储和查询的方法
背景技术
在电网调度自动化系统的运行过程中,产生了大量的数据,包括体现电网运行状态的开关、刀闸、手车、地刀等分断设备运行位置;电网联络线或负荷的有功、无功、电流等信息;电网母线运行的线电压、相电压、零序电压等信息;电网变压器运行的档位、油温等信息;保护装置的保护信号状态;以及其它各类总加量计算量信息,譬如设备负载率、全网总加信息、分区总加信息、全站总加信息、断面总加信息等等;此外还包括各类统计量信息,包括日极值、月极值、年极值等信息。依据电网业务应用的需要,系统需要将这些数据(带时间戳信息)存储到商用数据库中,以便根据业务应用可随时按需查询。
随着电网的发展以及电网运行管理方式的变革,电网调度自动化系统也在不断融合各类不同业务,系统业务数据不断增多,数据种类愈加繁杂,数据存储以及数据查询的各类需求更加繁琐,诸如网络分析各类应用、智能操作票业务、负荷预测应用、二次设备在线监测、智能分析辅助决策的数据存储和查询需求等等,此外还包括新能源发电设备、电能量的数据存储和查询需求等。
如何实现这些复杂多变的数据存储及查询是一个长期以来困扰开发人员的问题,传统方法是通过硬编码的方式,定义各种表结构,实现各类表的自动创建管理,并实现数据存储和数据查询。硬编码的方式,面对随时扩展的业务应用,需要专业人员来完成此工作,可扩展性差、维护成本高,无法适应复杂多变的电网数据存储及查询需求,给相关软件开发商带来相当高的开发成本,给相关软件行业的发展带来阻碍。
发明内容
针对现有技术中存在的上述问题,本发明公开了一种电网运行数据自适应存储和查询的方法,将各种类型的电网运行数据抽象为一种统一的表结构信息以及属性结构信息,实现存储表的自适应自动存储和查询管理。本发明所采用的技术方案如下:
电网运行数据自适应存储和查询的方法,包括以下步骤:
步骤1、定义自适应存储表结构,根据存储表属性的变化情况进行存储表的管理;
步骤2、电网运行数据的自适应存储,将各种类型的电网数据抽象为统一的数据存储表结构、数据存储接口,自动识别各类业务应用所产生的不同类型的运行数据,并存储到对应的数据库存储表中;
步骤3、电网运行数据的自适应查询,将各种类型的电网数据抽象为统一数据查询表结构、数据查询接口,自动识别各类业务应用不同类型的数据查询请求,并从具体的数据库存储表中查询所需数据,返回各业务应用。
本发明具有以下优点:
1)面对新的类型的电网运行数据存储或查询时,仅需定义存储表结构,自动实现表的创建管理,无需关注业务应用。
2)自适应存储、查询方式避免了修改代码,不仅减少开发和维护成本,更能增加程序的健壮性和自适应性,具有很高的应用价值。
3)本发明通过对电网数据的管理、查询及存储进行分层分级处理,极大地提高了数据结构的可扩展性,可灵活可扩展的数据存储、数据查询,针对业务应用不同类型数据的存储和查询,直接通过动态匹配方法即可实现自适应,能够适应复杂多变的电网数据。
附图说明
图1是电网运行数据的自适应存储表结构定义及管理流程示意图;
图2是电网运行数据的自适应存储的流程示意图;
图3是电网运行数据的自适应查询的流程示意图。
具体实施方式
下面结合附图,对本发明的具体实施步骤进行详细描述。
电网运行数据自适应存储和查询的方法,包括以下步骤:
步骤1、定义自适应存储表结构,根据存储表属性的变化情况进行存储表的管理。如图1所示,是电网运行数据的自适应存储表结构定义及管理流程示意图具体包括以下步骤:
S1.1、自适应存储表结构定义及管理开始;
S1.2、数据管理层收到普通表结构数据、将普通表结构数据转换为统一结构,并用XML语言进行描述并持久化;
S1.3、底层数据库应用向管理层获取数据表结构及数据映射关系;
S1.4、数据管理层响应业务层需求并读取XML语言描述的统一结构;
S1.5、检查存储表结构及数据映射关系是否存在,如果存在、转步骤S1.9,如果不存在、转下一步;
S1.6、判断存储表是否是唯一表,如果是、转下一步,如果否、转步骤S1.8;
S1.7、数据管理层定义自适应存储表结构及数据映射关系、转步骤S1.11;
S1.8、若不是唯一表、则是月表或年表,数据管理层根据当前日期定义自适应存储表结构及数据映射关系、转步骤S1.11;
S1.9、检查自适应存储表属性是否发生了变化,如果是、转下一步,如果否、转步骤S1.11;
S1.10、更新自适应存储表结构,并更新数据映射关系;
S1.11、自适应存储表结构定义及管理结束。
为了更加直观形象地说明本实施例的实现方式,下面举例说明如下:
存储表结构信息定义如下:
存储表周期主要描述存储表的特征属性,描述这张表是月表、年表、唯一表;月表每月自动创建,并在表前缀名后增加月信息;年表,每年自动创建,并在表前缀名称后增加年信息;唯一表,自动创建,系统内唯一一张表。
上表中,name为表名称,cycleType为循环类型,String为字符串,Byte为字节。
存储表的属性信息定义如下:
属性信息 | 属性类型 | 属性名称 | 属性说明 |
colName | String | 属性名称 | 表的属性名称 |
colType | String | 属性数据类型 | 表的属性数据类型 |
colSize | Byte | 属性大小 | 表的属性的大小 |
colDesc | String | 属性描述 | 表的属性的中文描述信息 |
colBKey | Boolean | 是否为主键 | 表的属性是否为主键 |
colDefData | String | 属性默认数据 | 表的属性默认数据 |
上表中,属性信息中的英文单词在属性名称列有相应解释,Bollean为布尔值。
本方案中,通过抽象的存储表以及属性信息结构定义方法,对要管理的存储表进行统一定义,并用XML语言进行描述。业务应用需要存储不同类型的数据时,需要设计相应的存储表结构及属性,并用XML语言描述存储表结构及属性。系统将通过解析存储表结构以及属性信息,自动识别存储表信息,实现存储表的自动创建和管理。
步骤2、电网运行数据的自适应存储,将各种类型的电网数据抽象为统一的数据存储表结构、数据存储接口,自动识别各类业务应用所产生的不同类型的运行数据,并存储到对应的数据库存储表中。如图2所示,是电网运行数据的自适应存储的流程示意图,具体包括如下步骤:
S2.1、上层应用运行数据存储开始;
S2.2、将表名、属性名、以及运行数据组织为统一的SimpleValue(通用数据类型)结构,发送给底层数据库应用;
S2.3、数据库应用与数据管理层通信,获取运行数据结构定义;
S2.4、数据库应用解析SimpleValue结构数据并根据数据结构定义将数据持久化到数据库相应表中;
S2.5、电网运行数据自适应存储结束。
为了更加直观形象地说明本实施例的实现方式,下面举例说明如下:
本方案提出一种自适应的电网运行数据存储方法,采用统一的结构描述,来满足各类业务应用存储的不同类型的数据的需要。。为解决存储数据的类型多样性的问题,本方案中抽象了一种SimpleValue结构。SimpleValue是自定义的通用数据类型联合,其方法和属性囊括了常用数据类型,通过方法可以获取相应类型属性的值,实现数据结构的统一。
SimpleValue结构体为:
上表中,Jint32同int类型,Juint32同unsigned int类型,Jdouble同double类型,SimDateTime是1970年到现在的毫秒数、同unsigned long long类型,SimpleValueType同unsigned short int。
SimpleValue主要方法有:
上表中,boolean_value()、int_value()等均为自定义的C++函数(方法),用以获取相应类型的数据。
SimpleValue的方法与数据库映射关系如下:
本方案中,给出一种通用的数据存储结构,各类业务应用将所需存储的数据采用统一的结构描述,结构中主要包含以下信息:
注:SimpleValue通用数据类型,除已经注明的之外,本实施例中所涉及的英文单词,其含义均为本领域的标准技术含义。
本方案给出一种通用的数据存储接口,接口的输入、输出信息如下:
输入:要存储的表名称;要存储的数据,采用上述统一的数据存储结构进行描述;
输出:存储结构,成功或失败;失败的错误码信息。
本方案中,采用了通用的数据存储描述结构以及数据存储接口实现自适应的数据存储。业务应用将电力系统中产生的各种多样的需要存储的数据,通过统一的存储表描述结构进行描述抽象,并调用统一的数据存储接口,即可完成各式各样数据的存储,其优点在于:
1)业务应用无需关注不同类型的数据差异;2)业务应用无需关注存储数据的SQL语句的组织;3)业务应用无需关注月表、年表、唯一表之类的表的差别;4)业务应用无需关注表的创建管理;5)业务应用无需关注数据库的不同。
步骤3、电网运行数据的自适应查询,将各种类型的电网数据抽象为统一数据查询表结构、数据查询接口,自动识别各类业务应用不同类型的数据查询请求,并从具体的数据库存储表中查询所需数据,返回各业务应用。如图3所示,是电网运行数据的自适应查询的流程示意图,具体包括如下步骤:
S3.1、电网运行数据查询开始;
S3.2、上层应用将想要查询的存储表及属性名称,发送给底层数据库应用;
S3.3、底层数据库应用与数据管理层通信,获取数据结构定义;
S3.4、根据数据结构定义,去数据库查询数据;
S3.5、数据库应用将数据映射为SimpleValue结构返回上层应用;
S3.6、电网运行数据查询结束。
为了更加直观形象地说明本实施例的实现方式,下面举例说明如下:
本方案提出一种自适应的电网运行数据查询方法,来满足各类业务应用对不同类型的数据查询需求。本方案中定义了统一的应用数据查询命令结构描述,主要包含以下信息:
查询命令属性信息 | 查询命令属性类型 | 查询命令属性说明 |
tabName | String | 需要查询的表前缀名 |
colNames | vector<String> | 需要查询的属性队列 |
startTime | Datetime | 数据查询起始时间,可选 |
endTime | Datetime | 数据查询终止时间,可选 |
针对数据查询,同时支持各种不同类型的过滤条件,过滤条件采用统一的过滤结构进行描述:
考虑到返回的数据的类型多样性,同样采用SimpleValue结构描述类型多样化的查询返回的数据信息,返回的数据采用vector<SimpleValue>进行描述。
本方案给出一种通用的数据查询接口,接口的输入、输出信息如下:
输入:要查询的表名称;数据查询命令,采用上述统一的数据查询结构进行描述;数据查询过滤条件,采用上述统一的过滤结构进行描述;
输出:查询结果,成功或失败;失败的错误码信息;查询返回的数据信息。
本方案中,采用了通用的数据查询命令结构、数据查询过滤条件结构以及数据查询接口实现自适应的数据查询。业务应用将需要查询的数据请求,通过通用的数据查询命令结构、数据查询过滤条件结构进行组织,并通过数据查询接口提交查询请求即可,无需关注数据查询过程,从而避免了硬编码方式实现数据查询。
本方案实现了自适应的电网运行数据存储和数据查询方法,支持灵活可扩展的数据存储、数据查询,针对不同业务应用数据的存储和查询,直接通过动态匹配方法即可实现自适应,无需硬编码。从而消除了满足各应用复杂多变的数据存储以及数据查询时,需要频繁修改源代码的弊端。面对新增的数据类型的数据存储或查询时,仅需定义表存储结构,提交数据存储命令以及数据查询请求,实现了数据自适应的存储及查询。
Claims (6)
1.电网运行数据自适应存储和查询的方法,其特征在于,包括以下步骤:
步骤1、定义自适应存储表结构,根据存储表属性的变化情况进行存储表的管理;
步骤2、电网运行数据的自适应存储,将各种类型的电网数据抽象为统一的数据存储表结构、数据存储接口,自动识别各类业务应用所产生的不同类型的运行数据,并存储到对应的数据库存储表中;
步骤3、电网运行数据的自适应查询,将各种类型的电网数据抽象为统一数据查询表结构、数据查询接口,自动识别各类业务应用不同类型的数据查询请求,并从具体的数据库存储表中查询所需数据,返回各业务应用。
2.根据权利要求1所述的电网运行数据自适应存储和查询的方法,其特征在于,步骤1所述的定义自适应存储表结构具体包括以下步骤:
S1.1、自适应存储表结构定义及管理开始;
S1.2、数据管理层收到普通表结构数据、将普通表结构数据转换为统一结构,并用XML语言进行描述并持久化;
S1.3、底层数据库应用向管理层获取数据表结构及数据映射关系;
S1.4、数据管理层响应业务层需求并读取XML语言描述的统一结构;
S1.5、检查存储表结构及数据映射关系是否存在,如果存在、转步骤S1.9,如果不存在、转下一步;
S1.6、判断存储表是否是唯一表,如果是、转下一步,如果否、转步骤S1.8;
S1.7、数据管理层定义自适应存储表结构及数据映射关系、转步骤S1.11;
S1.8、若不是唯一表、则是月表或年表,数据管理层根据当前日期定义自适应存储表结构及数据映射关系、转步骤S1.11;
S1.9、检查自适应存储表属性是否发生了变化,如果是、转下一步,如果否、转步骤S1.11;
S1.10、更新自适应存储表结构,并更新数据映射关系;
S1.11、自适应存储表结构定义及管理结束。
3.根据权利要求2所述的电网运行数据自适应存储和查询的方法,其特征在于,步骤2所述的电网运行数据的自适应存储具体包括如下步骤:
S2.1、上层应用运行数据存储开始;
S2.2、将表名、属性名、以及运行数据组织为统一的SimpleValue结构,发送给底层数据库应用;
S2.3、数据库应用与数据管理层通信,获取运行数据结构定义;
S2.4、数据库应用解析SimpleValue结构数据并根据数据结构定义将数据持久化到数据库相应表中;
S2.5、电网运行数据自适应存储结束。
4.根据权利要求3所述的电网运行数据自适应存储和查询的方法,其特征在于,数据存储接口的输入、输出信息如下:
输入:要存储的表名称;要存储的数据,采用统一的数据存储结构进行描述;
输出:存储结构,成功或失败;失败的错误码信息。
5.根据权利要求1-4任一项所述的电网运行数据自适应存储和查询的方法,其特征在于,步骤3所述的电网运行数据的自适应查询具体包括如下步骤:
S3.1、电网运行数据查询开始;
S3.2、上层应用将想要查询的存储表及属性名称,发送给底层数据库应用;
S3.3、底层数据库应用与数据管理层通信,获取数据结构定义;
S3.4、根据数据结构定义,去数据库查询数据;
S3.5、数据库应用将数据映射为SimpleValue结构返回上层应用;
S3.6、电网运行数据查询结束。
6.根据权利要求5所述的电网运行数据自适应存储和查询的方法,其特征在于,数据查询接口的输入、输出信息如下:
输入:要查询的表名称;数据查询命令,采用统一的数据查询结构进行描述;数据查询过滤条件,采用统一的过滤结构进行描述;
输出:查询结果,成功或失败;失败的错误码信息;查询返回的数据信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910061072.XA CN109871381A (zh) | 2019-01-22 | 2019-01-22 | 电网运行数据自适应存储和查询的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910061072.XA CN109871381A (zh) | 2019-01-22 | 2019-01-22 | 电网运行数据自适应存储和查询的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109871381A true CN109871381A (zh) | 2019-06-11 |
Family
ID=66917992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910061072.XA Pending CN109871381A (zh) | 2019-01-22 | 2019-01-22 | 电网运行数据自适应存储和查询的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109871381A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489477A (zh) * | 2019-08-27 | 2019-11-22 | 山东浪潮通软信息科技有限公司 | 一种可配置数据源与多家不同上级系统自动对接的方法 |
CN111858596A (zh) * | 2020-07-22 | 2020-10-30 | 广东电网有限责任公司 | 数据获取方法、装置、计算机设备和存储介质 |
CN112398227A (zh) * | 2020-11-16 | 2021-02-23 | 国网辽宁省电力有限公司辽阳供电公司 | 基于d5000电网调度系统的变压器负载率的自动告警方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183986A (zh) * | 2007-11-26 | 2008-05-21 | 河北全通通信有限公司 | 节约存储、营造“绿色”数据仓库的方法 |
CN101452450A (zh) * | 2007-11-30 | 2009-06-10 | 上海市电力公司 | 一种多源数据转换服务方法及其装置 |
WO2009144941A1 (ja) * | 2008-05-30 | 2009-12-03 | 日本電気株式会社 | データベースシステム、データベース管理方法、データベース構造およびコンピュータプログラム |
CN102819609A (zh) * | 2012-08-23 | 2012-12-12 | 国电南京自动化股份有限公司 | 一种持久化数据模型建模方法 |
CN105677776A (zh) * | 2015-12-30 | 2016-06-15 | 厦门欣欣信息有限公司 | 一种数据处理方法及装置 |
CN106066895A (zh) * | 2016-06-30 | 2016-11-02 | 广东亿迅科技有限公司 | 一种智能查询系统 |
CN107463695A (zh) * | 2017-08-14 | 2017-12-12 | 浪潮软件股份有限公司 | 一种数据存储的方法及装置 |
-
2019
- 2019-01-22 CN CN201910061072.XA patent/CN109871381A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183986A (zh) * | 2007-11-26 | 2008-05-21 | 河北全通通信有限公司 | 节约存储、营造“绿色”数据仓库的方法 |
CN101452450A (zh) * | 2007-11-30 | 2009-06-10 | 上海市电力公司 | 一种多源数据转换服务方法及其装置 |
WO2009144941A1 (ja) * | 2008-05-30 | 2009-12-03 | 日本電気株式会社 | データベースシステム、データベース管理方法、データベース構造およびコンピュータプログラム |
CN102819609A (zh) * | 2012-08-23 | 2012-12-12 | 国电南京自动化股份有限公司 | 一种持久化数据模型建模方法 |
CN105677776A (zh) * | 2015-12-30 | 2016-06-15 | 厦门欣欣信息有限公司 | 一种数据处理方法及装置 |
CN106066895A (zh) * | 2016-06-30 | 2016-11-02 | 广东亿迅科技有限公司 | 一种智能查询系统 |
CN107463695A (zh) * | 2017-08-14 | 2017-12-12 | 浪潮软件股份有限公司 | 一种数据存储的方法及装置 |
Non-Patent Citations (1)
Title |
---|
张梁斌等: ""数据库表定义的动态修改方法"", 《计算机工程与设计》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489477A (zh) * | 2019-08-27 | 2019-11-22 | 山东浪潮通软信息科技有限公司 | 一种可配置数据源与多家不同上级系统自动对接的方法 |
CN110489477B (zh) * | 2019-08-27 | 2023-03-28 | 浪潮通用软件有限公司 | 一种可配置数据源与多家不同上级系统自动对接的方法 |
CN111858596A (zh) * | 2020-07-22 | 2020-10-30 | 广东电网有限责任公司 | 数据获取方法、装置、计算机设备和存储介质 |
CN112398227A (zh) * | 2020-11-16 | 2021-02-23 | 国网辽宁省电力有限公司辽阳供电公司 | 基于d5000电网调度系统的变压器负载率的自动告警方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109871381A (zh) | 电网运行数据自适应存储和查询的方法 | |
CN100547583C (zh) | 数据库的自动和动态提供的方法 | |
Kwong et al. | Case-based reasoning approach to concurrent design of low power transformers | |
US20090187579A1 (en) | System, Method and Product for Processing Utility Data | |
EP0658260A1 (en) | Information model based on a physical system | |
JP2011059939A (ja) | エネルギー管理システムおよびエネルギー管理方法 | |
CN102542351A (zh) | 一种酒店数据库建立方法及自动预订酒店的方法 | |
CN109145188A (zh) | 用于搜索区块链数据的方法、设备及计算机可读存储介质 | |
CN110196852A (zh) | 基于元数据管理的调控云电网模型数据管理方法及系统 | |
CN105245369B (zh) | 一种支持多传输协议的组件发布容器方法 | |
CN102103606A (zh) | 一种在手机客户端上实现高级检索商品的技术 | |
CN102402515A (zh) | 通用自定义查询系统及方法 | |
CN107729007A (zh) | 一种变电站统一在线监测图形编辑器的实现方法 | |
CN110287185A (zh) | 面向文档键值数据库的一对多关系查询的存储结构及方法 | |
CN100550024C (zh) | 用于供电设施的计算机辅助投标的数据处理设备及其应用 | |
Gono et al. | Analysis of distribution network failure databases | |
CN101964816A (zh) | 在b/s架构软件系统中浏览数据的方法和系统 | |
CN102855310A (zh) | 基于可扩展用户细分模型的有序用电数据转换方法及装置 | |
Simas et al. | A data exchange tool based on ontology for emergency response systems | |
CN107220327A (zh) | 基于MongoDB的数据查询方法及系统、服务终端、存储器 | |
US11347767B2 (en) | Software-defined database replication links | |
CN102306150A (zh) | 数据导出方法及装置 | |
Ma et al. | Extended common information model for distribution network production repair platform | |
CN105630998A (zh) | 元数据管理方法、装置及系统 | |
EP3511843A1 (en) | Method and system for integrating data received from one or more data sources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190611 |
|
RJ01 | Rejection of invention patent application after publication |