CN112084303A - 基于HBase的电网运行数据存储访问方法及其系统 - Google Patents
基于HBase的电网运行数据存储访问方法及其系统 Download PDFInfo
- Publication number
- CN112084303A CN112084303A CN202010893676.3A CN202010893676A CN112084303A CN 112084303 A CN112084303 A CN 112084303A CN 202010893676 A CN202010893676 A CN 202010893676A CN 112084303 A CN112084303 A CN 112084303A
- Authority
- CN
- China
- Prior art keywords
- data
- power grid
- grid operation
- attribute
- type
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 30
- 230000008859 change Effects 0.000 claims abstract description 11
- 238000010276 construction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004804 winding Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- Public Health (AREA)
- Water Supply & Treatment (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Supply And Distribution Of Alternating Current (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于HBase的电网运行数据存储访问方法及其系统,旨在解决传统电网运行数据存储访问效率低且难以适应数据结构变化的技术问题。其包括:根据电网历史运行数据,生成数据结构描述信息;实时获取待写入电网运行数据,进行数据结构描述信息检查和更新,并将待写入电网运行数据进行序列化处理后存储到HBase数据库;根据数据查询请求从HBase数据库中读取查询数据,并将查询数据进行反序列化处理后反馈到客户端。本发明能够适应电网运行数据的数据类型和数据结构变化,有效提升电网运行海量历史数据的存储访问效率,实现电网运行数据的高效集中存储。
Description
技术领域
本发明涉及一种基于HBase的电网运行数据存储访问方法及其系统,属于电力系统自动化数据处理技术领域。
背景技术
随着电力系统的快速发展,尤其是特高压大电网的建设,对电网的运行管理和电网运行数据的综合运用的要求越来越高。然而,随着规模扩充和积累时间的增加,电网运行历史数据的数据量越来越大,依靠传统方法,通过关系型数据库(RDBMS)存储电网运行历史数据存在很多问题,包括:数据存储量大,量级可达到TB或PB级,关系型数据库处理困难;进行数据访问时数据响应速度受到关系型数据库对海量数据的访问制约,读取及写入时间长,已经难以满足数据访问的性能需求,影响数据存储以及处理效率;无法满足数据结构随时间不断变化,存储和访问的扩展性差。目前电力系统领域急需一种新的数据存储和查询方法,来解决上述问题。
发明内容
针对传统电网运行数据存储访问效率低且难以适应数据结构变化的问题,本发明提出了一种基于HBase的电网运行数据存储访问方法及其系统,解决了同类数据随时间变化无法用固定结构定义的问题,实现电网运行历史数据的高效存储,提升了电网运行海量历史数据的存储访问效率,满足了对电网运历史数据的存储访问应用需求。
为达到上述目的,本发明是采用下述技术方案实现的:
第一方面,本发明提供了一种基于HBase的电网运行数据存储访问方法,具体包括如下步骤:
根据接收到的数据查询请求从预先构建的HBase数据库中读取查询数据,并将查询数据进行反序列化处理后反馈到客户端。
结合第一方面,进一步的,所述HBase数据库的构建方法包括如下步骤:
步骤A、根据电网历史运行数据,生成数据结构描述信息;
步骤B、获取待写入电网运行数据,对步骤A中的数据结构描述信息进行检查和更新,并对待写入电网运行数据进行序列化处理后存储到HBase数据库。
结合第一方面,进一步的,所述数据结构描述信息包括数据类型描述表和数据属性描述表,其中,所述数据类型描述表包括多条数据类型描述记录,所述数据类型描述记录包括下述中至少一种:数据类型编号;数据类型标识;数据类型描述;数据类型版本;
所述数据属性描述表包括多条数据属性描述记录,所述数据属性描述记录包括下述中至少一种:数据属性编号;所属数据类型编号;数据属性顺序编号;数据属性标识;基本数据类型;数据属性长度;数据属性缺省值;数据属性描述。
结合第一方面,进一步的,步骤B的具体操作如下:
步骤B01、根据待写入电网运行数据获取待写入数据类型标识model_idin和待写入数据属性集合Uin;
步骤B02、从数据类型描述表中检索出数据类型标识与model_idin相同的数据类型描述记录,构成数据类型描述集合model;
步骤B03、当model不为空时,从model中选取数据类型版本最大的数据类型描述记录,将其对应的数据类型编号记为mdl_ridmatch,进入步骤B04,当model为空时,进入步骤B07;
步骤B04、从数据属性描述表中选取所属数据类型编号与mdl_ridmatch相同的所有数据属性描述记录,构成数据属性描述集合mdl;
步骤B05、当mdl不为空时,将mdl对应的属性集合记为Utab,进入步骤B06,当mdl为空时,进入步骤B08;
步骤B06、比较待写入数据属性集合Uin和属性集合Utab,当Uin和Utab不一致,进入步骤B07,否则进入步骤B09;
步骤B07、将待写入电网运行数据的数据类型描述记录写入数据类型描述表,其数据类型版本为待写入电网运行数据的断面时刻,进入步骤B02;
步骤B08、将待写入电网运行数据的数据属性描述记录写入数据属性描述表,进入步骤B04;
步骤B09、基于待写入数据属性集合Uin,对待写入电网运行数据进行序列化处理,获得对应的字节序列;
步骤B10、基于待写入电网运行数据的断面时刻和行键生成规则生成统一格式的定长行键RowKey;
步骤B11、根据步骤B09的字节序列和步骤B10的行键RowKey形成键值对,利用HBase的编程接口将键值对写入到HBase数据库的数据表中,所述数据表的表名为待写入数据类型标识model_idin。
结合第一方面,进一步的,所述步骤B06中Uin和Utab一致性的判断方法如下:
结合第一方面,进一步的,读取查询数据并将查询数据进行反序列化处理后反馈到客户端的具体操作如下:
步骤S1、通过解析数据查询请求获得请求数据类型集合Areq和请求数据断面时间范围tmin~tmax;
步骤S2、从HBase数据库中查询出所有断面时间在tmin~tmax内的键值对,形成查询数据集;
步骤S3、从查询数据集中任选一个键值对,从行键中解析出键值对对应的断面时刻tsec,并获得键值对对应的字节序列;
步骤S4、根据断面时刻tsec和数据类型集合Areq从数据属性描述表中获取查询属性集合Utab_req;
步骤S5、利用Utab_req对步骤S3中的字节序列进行反序列处理,获得结构化电网运行数据;
步骤S6、重复步骤S3~S5,获取查询数据集合中所有键值对对应的电网运行数据,合并电网运行数据后将查询结果反馈到客户端。
结合第一方面,进一步的,所述步骤S4的具体操作如下:
从数据类型描述表中检索出数据类型标识与Areq中的数据类型标识相同且数据类型版本不大于断面时刻tsec的数据类型描述记录,构成初始集合model0;
从model0中获取数据类型版本与tsec差值最小的数据类型描述记录,将该数据类型描述记录对应的数据类型编号记为mdl_rid1;
从数据属性描述表中选取所属数据类型编号与mdl_rid1相同的所有数据属性描述记录,构成查询属性集合Utab_req。
第二方面,本发明提供了一种基于HBase的电网运行数据存储访问系统,包括:
数据存储模块,用于利用HBase数据库存储电网运行数据;
读数据模块,用于根据数据查询请求从数据存储模块中读取查询数据,并将查询数据反序列化处理后反馈到客户端。
结合第二方面,进一步的,所述系统还包括数据结构描述模块,用于定义并记录电网运行数据的类型和属性;
所述数据结构描述模块包括建立在关系型数据库中的数据类型描述表和数据属性描述表,其中,所述数据类型描述表用于记录电网运行数据的所有类型以及每个类型的变化版本;所述数据属性描述表用于记录电网运行数据的每个数据类型对应的每个版本的数据结构属性。
结合第二方面,进一步的,所述系统还包括写数据模块,所述写数据模块用于实时获取电网运行数据,一方面根据电网运行数据检查并更新所述数据结构描述模块中的类型和属性,另一方面对电网运行数据进行序列化处理得到对应的字节序列,并将字节序列写入所述数据存储模块。
与现有技术相比,本发明所达到的有益效果:
本发明提出了一种基于HBase的电网运行数据存储访问方法及其系统,利用HBase数据库进行电网运行数据的读取和写入,读写速度快、数据处理性能好,实现了电网运行历史数据的高效集中存储,提高了电网运行数据读写的可靠性,解决了电网运行历史数据存储访问无法满足应用需求的技术问题。
本发明通过数据结构描述定义电网运行数据的类型和结构变化,再通过序列化处理将海量电网运行数据存储到HBase数据库,提高了电网运行数据存储和访问效率,通过给定的读写步骤解决了数据结构变化引起的数据解析问题,统一数据存放的组织结构,满足不同应用对电网运行历史数据的访问需求,提升了数据访问性能,同时,相比较传统关系型数据库,本发明HBase数据库对存储空间的利用率高,能够有效节约存储硬件成本。
附图说明
图1是本发明一种基于HBase的电网运行数据存储访问方法的步骤流程图。
图2是本发明中将电网运行数据写入HBase数据库的步骤流程图。
图3是本发明一种基于HBase的电网运行数据存储访问系统的结构示意图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明提供了一种基于HBase的电网运行数据存储访问方法,如图1所示,具体包括如下步骤:
根据接收到的数据查询请求从预先构建的HBase数据库中读取查询数据,并将查询数据进行反序列化处理后反馈到客户端。
在本发明方法中,HBase数据库的构建方法包括如下步骤:
步骤A、根据电网历史运行数据,生成数据结构描述信息。数据结构描述信息包括数据类型描述表和数据属性描述表,其中,数据类型描述表包括多条数据类型描述记录,数据属性描述表包括多条数据属性描述记录。
数据类型描述记录包括下述中至少一种:数据类型编号;数据类型标识;数据类型描述;数据类型版本;其中,数据类型编号具有唯一性,用于区分电网运行数据的类型版本,即电网运行数据的每个类型的每个版本都对应一个数据类型编号;数据类型标识用于区分电网运行数据的类型;数据类型描述用于记录电网运行数据对应的类型说明信息;数据类型版本用于标示电网运行数据的类型版本信息,即电网运行数据的类型结构变化信息,同一类电网运行数据可以包括多个版本,当一类电网运行数据结构发生变化时,数据类型描述表中自动新增一个数据类型版本记录,该新增版本为待写入数据的断面时刻。数据类型版本的长度为14个字节,格式为YYYYMMDDHHMISS,YYYY对应年份,MM对应月份,DD对应日期,HHMISS对应时分秒。
数据属性描述记录包括下述中至少一种:数据属性编号;所属数据类型编号;数据属性顺序编号;数据属性标识;基本数据类型;数据属性长度;数据属性缺省值;数据属性描述;其中,数据属性编号具有唯一性,用于区分电网运行数据的属性;所属数据类型编号用于关联数据类型描述表,标示属性对应的电网运行数据的类型,即所述数据类型编号与该电网运行数据对应的数据类型编号一致;数据属性描述用于记录数据属性的说明信息。
步骤B、获取待写入电网运行数据,对步骤A中的数据结构描述信息进行检查和更新,并对待写入电网运行数据进行序列化处理后存储到HBase数据库;如图2所示,步骤B的具体操作如下:
步骤B01、根据待写入电网运行数据获取待写入数据类型标识model_idin和待写入数据属性集合Uin,其中,数据属性集合Uin中包含数据属性描述记录中的全部内容。
步骤B02、从数据类型描述表中检索出数据类型标识与model_idin相同的数据类型描述记录,构成数据类型描述集合model。
步骤B03、当model不为空时,从model中选取数据类型版本最大的数据类型描述记录,将其对应的数据类型编号记为mdl_ridmatch,进入步骤B04;当model为空时,说明在目前的数据类型描述表中没有与model_idin相同的数据类型描述记录,进入步骤B07。
步骤B04、从数据属性描述表中选取所属数据类型编号与mdl_ridmatch相同的所有数据属性描述记录,构成数据属性描述集合mdl。
步骤B05、当mdl不为空时,将mdl对应的属性集合记为Utab,进入步骤B06;当mdl为空时,说明在数据属性描述表中没有与mdl_ridmatch中的数据类型对应的数据属性信息,进入步骤B08。
步骤B06、比较待写入数据属性集合Uin和属性集合Utab,当Uin和Utab不一致,进入步骤B07,否则进入步骤B09。Uin和Utab一致性的判断方法为:当Uin和Utab中的数据属性描述记录数量相同且时,判断集合Uin与Utab一致,否则判定集合Uin与Utab不一致。假设集合Uin={x1,x2,…,xi,…,xm},集合Utab={x1,x2,…,xj,…,xn},其中,xi表示Uin中第i个属性记录,xj表示Utab中第j个属性记录,当且m=n,则判定集合Uin与Utab一致,否则判定集合Uin与Utab不一致。Uin与Utab不一致说明此类数据发生了结构变化,需要更新数据类型版本。
步骤B07、将待写入电网运行数据的数据类型描述记录写入数据类型描述表,更新数据类型版本,其数据类型版本为待写入电网运行数据的断面时刻,进入步骤B02。
步骤B08、将待写入电网运行数据的数据属性描述记录写入数据属性描述表,更新数据属性信息,进入步骤B04。
步骤B09、基于待写入数据属性集合Uin,对待写入电网运行数据进行序列化处理,获得对应的字节序列。
步骤B10、基于待写入电网运行数据的断面时刻和行键生成规则生成统一格式的定长行键RowKey。本发明行键生成规则如下:
行键长度设计为定长16个字节,格式为{hash}{dispatch_no}{datetime},其中,{hash}表示哈希函数产生的整数,长度为1个字节;{dispatch_no}表示电网调度机构编号,长度为1个字节;{datetime}表示电网运行数据的断面时刻,长度为14个字节,格式为:YYYYMMDDHHMISS,从值上看{datetime}与该电网运行数据的数据类型版本一致。
步骤B11、根据步骤B09的字节序列和步骤B10的行键RowKey形成键值对,利用HBase的编程接口将键值对写入到HBase数据库的数据表中,数据表的表名为待写入数据类型标识model_idin。
在构建完成HBase数据库后,本发明从HBase数据库中读取、查询数据,并反馈到客户端,具体操作如下:
步骤S1、获取客户端发送的数据查询请求,通过解析数据查询请求获得请求数据类型集合Areq和请求数据断面时间范围tmin~tmax,数据类型集合Areq包括一个或多个数据类型标识。
步骤S2、从HBase数据库中查询出所有断面时间在tmin~tmax内的键值对,形成查询数据集。将tmin和tmax转换成YYYYMMDDHHMISS格式,与HBase数据库中的键值对做匹配,进行数据查询。
步骤S3、从查询数据集中任选一个键值对,从行键中解析出键值对对应的断面时刻tsec,并获得键值对对应的字节序列。
步骤S4、根据断面时刻tsec和数据类型集合Areq从数据属性描述表中获取查询属性集合Utab_req。步骤S4的具体操作为:
1)从数据类型描述表中检索出数据类型标识与Areq中的数据类型标识相同且数据类型版本不大于断面时刻tsec的数据类型描述记录,构成初始集合model0,当Areq中存在多个数据类型标识时,按顺序逐一对每个数据类型标识进行检索操作。
2)依次计算model0中每条数据类型描述记录的数据类型版本与tsec的差值,从model0中获取数据类型版本与tsec差值最小的数据类型描述记录,将该数据类型描述记录对应的数据类型编号记为mdl_rid1。
3)从数据属性描述表中选取所属数据类型编号与mdl_rid1相同的所有数据属性描述记录,构成查询属性集合Utab_req。
步骤S5、利用Utab_req对步骤S3中的字节序列进行反序列处理,获得结构化电网运行数据。
步骤S6、重复步骤S3~S5,获取查询数据集合中所有键值对对应的电网运行数据,合并电网运行数据后将查询结果反馈到客户端。
本发明还提供了一种基于HBase的电网运行数据存储访问系统,如图3所示,包括数据结构描述模块、数据存储模块、写数据模块和读数据模块,其中,数据结构描述模块用于定义并记录电网运行数据的类型和属性;数据存储模块用于利用HBase数据库存储电网运行数据;写数据模块用于实时获取电网运行数据,一方面根据电网运行数据检查并更新所述数据结构描述模块中的类型和属性,另一方面对电网运行数据进行序列化处理得到对应的字节序列,并将字节序列写入所述数据存储模块;读数据模块用于根据数据查询请求从数据存储模块中读取查询数据,并将查询数据反序列化处理后反馈到客户端。
数据结构描述模块包括建立在关系型数据库中的数据类型描述表和数据属性描述表,其中,数据类型描述表用于记录电网运行数据的所有类型以及每个类型的变化版本,数据属性描述表用于记录电网运行数据的每个数据类型对应的每个版本的数据结构属性。
数据类型描述表包括多条数据类型描述记录,每条数据类型描述记录包括下述中至少一种:数据类型编号;数据类型标识;数据类型描述;数据类型版本;其中,数据类型编号具有唯一性,用于区分电网运行数据的类型版本,数据类型标识用于区分电网运行数据的类型,数据类型描述用于记录电网运行数据对应的类型说明信息,数据类型版本用于标示电网运行数据的类型版本信息,即电网运行数据的类型结构变化信息,同一类电网运行数据可以包括多个版本,当一类电网运行数据结构发生变化时,数据类型描述表中自动新增一个数据类型版本记录,该新增版本为待写入数据的断面时刻。数据类型版本的长度为14个字节,格式为YYYYMMDDHHMISS,YYYY对应年份,MM对应月份,DD对应日期,HHMISS对应时分秒。
本发明数据类型描述记录属性如表1所示:
表1
数据项 | 类型 | 描述 | 备注 |
MODEL_RID | Int | 数据类型编号 | 唯一 |
MODEL_ID | String | 数据类型标识 | 唯一 |
MODEL_DESC | String | 数据类型描述 | |
MODEL_VERSION | Datetime | 数据类型版本 |
下面以电网运行方式数据为例进行说明一下数据类型描述记录,电网运行方式数据包括各个一次设备相关的各类运行数据,其数据类型包括:厂站信息、母线信息、交流线段信息、发电机信息、变压器绕组信息等,以断面时间2018-01-01 00:00:00的数据为例,在初始状态下,数据类型描述表为空,每类数据都没有对应的数据类型描述记录,则新加入的记录如表2所示:
表2
MODEL_RID | MODEL_ID | MODEL_DESC | MODEL_VERSION |
1 | Substation | 厂站信息 | 20180101000000 |
2 | Bus | 母线信息 | 20180101000000 |
3 | ACline | 交流线段信息 | 20180101000000 |
4 | DCline | 直流线段信息 | 20180101000000 |
5 | Unit | 发电机信息 | 20180101000000 |
6 | Transformer | 变压器绕组信息 | 20180101000000 |
…… | …… | …… | …… |
当某类电网运行数据的结构属性发生变化时,需要在数据类型描述表中新增一条数据类型描述记录。例如断面时间为2019-05-01 00:00:00时,电网运行方式数据中的直流线路信息的属性发生了变化,则需要在表2的基础上增加一条记录,增加后的数据类型描述表如表3所示,增加的记录的MODEL_RID为n+1:
表3
数据属性描述表包括多条数据属性描述记录,每条数据属性描述记录包括下述中至少一种:数据属性编号;所属数据类型编号;数据属性顺序编号;数据属性标识;数据属性名称;基本数据类型;数据属性长度;数据属性缺省值;数据属性描述;其中,数据属性编号具有唯一性,用于区分电网运行数据的属性;所属数据类型编号用于关联数据类型描述表,标示属性对应的电网运行数据的类型,与对应的数据类型编号一致;数据属性顺序编号用于记录每个属性在其所属数据类型对应的属性集合中的位置顺序;数据属性标识不唯一,同一属性可能存在不同版本,进而有不同属性标识;数据属性名称是属性的一个标示,一般用英文字符标示,长度较短,唯一且非空;基本数据类型是指数据库基本数据类型,包括数字类型、日期和时间类型、文本字符串类型、二进制字符串类型等;数据属性长度用于标示数据属性的长度(单位为字节),长度为空表示使用该属性对应基本数据类型的默认长度;数据属性缺省值是在数据属性为空时进行补充使用的;数据属性描述用于记录数据属性的说明信息,长度较长,可为空。
本发明数据属性描述记录属性如表4所示:
表4
数据项 | 类型 | 描述 | 备注 |
PROPERTY_RID | Int | 数据属性编号 | 唯一 |
MODEL_RID | Int | 所属数据类型编号 | |
PROPERTY_NO | Int | 数据属性顺序编号 | |
PROPERTY_ID | String | 数据属性标识 | |
PROPERTY_DATATYPE | Int | 基本数据类型 | |
PROPERTY_LENGTH | Int | 数据属性长度 | |
PROPERTY_DEFAULT | String | 数据属性缺省值 | |
PROPERTY_DESC | String | 数据属性描述 |
数据存储模块采用HBase数据库,数据存储模块会为每一类电网运行数据分别在HBase数据库中建立一张数据表,所有数据表均只有一个列族且该列族只包含一个列,用于存储序列化处理后的一类电网运行数据。
本发明还提供了一种基于HBase的电网运行数据存储访问系统,包括处理器及存储介质。存储介质用于存储指令,处理器用于根据存储介质中的指令进行操作以执行本发明方法的步骤。
本发明还提供了计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明方法的步骤。
本发明利用HBase数据库进行电网运行数据的读取和写入,读写速度快、数据处理性能好,实现了电网运行历史数据的高效集中存储,提高了电网运行数据读写的可靠性,解决了电网运行历史数据存储访问无法满足应用需求的技术问题。HBase数据库和序列化处理提高了电网运行数据存储和访问效率,解决了数据结构变化引起的数据解析问题,能够满足不同应用对电网运行历史数据的访问需求,提升了数据访问性能。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于HBase的电网运行数据存储访问方法,其特征在于,包括如下步骤:
根据接收到的数据查询请求从预先构建的HBase数据库中读取查询数据,并将查询数据进行反序列化处理后反馈到客户端。
2.根据权利要求1所述的一种基于HBase的电网运行数据存储访问方法,其特征在于,所述HBase数据库的构建方法包括如下步骤:
步骤A、根据电网历史运行数据,生成数据结构描述信息;
步骤B、获取待写入电网运行数据,对步骤A中的数据结构描述信息进行检查和更新,并对待写入电网运行数据进行序列化处理后存储到HBase数据库。
3.根据权利要求2所述的一种基于HBase的电网运行数据存储访问方法,其特征在于,所述数据结构描述信息包括数据类型描述表和数据属性描述表,其中,所述数据类型描述表包括多条数据类型描述记录,所述数据类型描述记录包括下述中至少一种:数据类型编号;数据类型标识;数据类型描述;数据类型版本;
所述数据属性描述表包括多条数据属性描述记录,所述数据属性描述记录包括下述中至少一种:数据属性编号;所属数据类型编号;数据属性顺序编号;数据属性标识;基本数据类型;数据属性长度;数据属性缺省值;数据属性描述。
4.根据权利要求3所述的一种基于HBase的电网运行数据存储访问方法,其特征在于,步骤B的具体操作如下:
步骤B01、根据待写入电网运行数据获取待写入数据类型标识model_idin和待写入数据属性集合Uin;
步骤B02、从数据类型描述表中检索出数据类型标识与model_idin相同的数据类型描述记录,构成数据类型描述集合model;
步骤B03、当model不为空时,从model中选取数据类型版本最大的数据类型描述记录,将其对应的数据类型编号记为mdl_ridmatch,进入步骤B04,当model为空时,进入步骤B07;
步骤B04、从数据属性描述表中选取所属数据类型编号与mdl_ridmatch相同的所有数据属性描述记录,构成数据属性描述集合mdl;
步骤B05、当mdl不为空时,将mdl对应的属性集合记为Utab,进入步骤B06,当mdl为空时,进入步骤B08;
步骤B06、比较待写入数据属性集合Uin和属性集合Utab,当Uin和Utab不一致,进入步骤B07,否则进入步骤B09;
步骤B07、将待写入电网运行数据的数据类型描述记录写入数据类型描述表,其数据类型版本为待写入电网运行数据的断面时刻,进入步骤B02;
步骤B08、将待写入电网运行数据的数据属性描述记录写入数据属性描述表,进入步骤B04;
步骤B09、基于待写入数据属性集合Uin,对待写入电网运行数据进行序列化处理,获得对应的字节序列;
步骤B10、基于待写入电网运行数据的断面时刻和行键生成规则生成统一格式的定长行键RowKey;
步骤B11、根据步骤B09的字节序列和步骤B10的行键RowKey形成键值对,利用HBase的编程接口将键值对写入到HBase数据库的数据表中,所述数据表的表名为待写入数据类型标识model_idin。
5.根据权利要求4所述的一种基于HBase的电网运行数据存储访问方法,其特征在于,所述步骤B06中Uin和Utab一致性的判断方法如下:
当Uin和Utab中的数据属性描述记录数量相同且Uin⊆ Utab时,判断集合Uin与Utab一致,否则判定集合Uin与Utab不一致。
6.根据权利要求5所述的一种基于HBase的电网运行数据存储访问方法,其特征在于,读取查询数据并将查询数据进行反序列化处理后反馈到客户端的具体操作如下:
步骤S1、通过解析数据查询请求获得请求数据类型集合Areq和请求数据断面时间范围tmin~tmax;
步骤S2、从HBase数据库中查询出所有断面时间在tmin~tmax内的键值对,形成查询数据集;
步骤S3、从查询数据集中任选一个键值对,从行键中解析出键值对对应的断面时刻tsec,并获得键值对对应的字节序列;
步骤S4、根据断面时刻tsec和数据类型集合Areq从数据属性描述表中获取查询属性集合Utab_req;
步骤S5、利用Utab_req对步骤S3中的字节序列进行反序列处理,获得结构化电网运行数据;
步骤S6、重复步骤S3~S5,获取查询数据集合中所有键值对对应的电网运行数据,合并电网运行数据后将查询结果反馈到客户端。
7.根据权利要求6所述的一种基于HBase的电网运行数据存储访问方法,其特征在于,所述步骤S4的具体操作如下:
从数据类型描述表中检索出数据类型标识与Areq中的数据类型标识相同且数据类型版本不大于断面时刻tsec的数据类型描述记录,构成初始集合model0;
从model0中获取数据类型版本与tsec差值最小的数据类型描述记录,将该数据类型描述记录对应的数据类型编号记为mdl_rid1;
从数据属性描述表中选取所属数据类型编号与mdl_rid1相同的所有数据属性描述记录,构成查询属性集合Utab_req。
8.一种基于HBase的电网运行数据存储访问系统,其特征在于,包括:
数据存储模块,用于利用HBase数据库存储电网运行数据;
读数据模块,用于根据数据查询请求从数据存储模块中读取查询数据,并将查询数据反序列化处理后反馈到客户端。
9.根据权利要求8所述的一种基于HBase的电网运行数据存储访问系统,其特征在于,所述系统还包括数据结构描述模块,用于定义并记录电网运行数据的类型和属性;
所述数据结构描述模块包括建立在关系型数据库中的数据类型描述表和数据属性描述表,其中,所述数据类型描述表用于记录电网运行数据的所有类型以及每个类型的变化版本;所述数据属性描述表用于记录电网运行数据的每个数据类型对应的每个版本的数据结构属性。
10.根据权利要求9所述的一种基于HBase的电网运行数据存储访问系统,其特征在于,所述系统还包括写数据模块,所述写数据模块用于实时获取电网运行数据,一方面根据电网运行数据检查并更新所述数据结构描述模块中的类型和属性,另一方面对电网运行数据进行序列化处理得到对应的字节序列,并将字节序列写入所述数据存储模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893676.3A CN112084303B (zh) | 2020-08-31 | 2020-08-31 | 基于HBase的电网运行数据存储访问方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893676.3A CN112084303B (zh) | 2020-08-31 | 2020-08-31 | 基于HBase的电网运行数据存储访问方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112084303A true CN112084303A (zh) | 2020-12-15 |
CN112084303B CN112084303B (zh) | 2022-09-06 |
Family
ID=73729442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010893676.3A Active CN112084303B (zh) | 2020-08-31 | 2020-08-31 | 基于HBase的电网运行数据存储访问方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084303B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190397A (zh) * | 2021-03-25 | 2021-07-30 | 北京城建智控科技有限公司 | 基于多进程架构的微机监测系统实时数据处理方法 |
CN113468209A (zh) * | 2021-07-27 | 2021-10-01 | 广西电网有限责任公司 | 一种电网监控系统高速内存数据库访问方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991741A (zh) * | 2015-06-24 | 2015-10-21 | 江苏瑞中数据股份有限公司 | 一种基于键值模型的情境适配电网大数据存储方法 |
CN109669925A (zh) * | 2018-11-21 | 2019-04-23 | 北京市天元网络技术股份有限公司 | 非结构化数据的管理方法及装置 |
CN109726205A (zh) * | 2018-12-26 | 2019-05-07 | 国电南瑞科技股份有限公司 | 一种电力系统安全稳定分析数据存储系统及存储方法 |
-
2020
- 2020-08-31 CN CN202010893676.3A patent/CN112084303B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991741A (zh) * | 2015-06-24 | 2015-10-21 | 江苏瑞中数据股份有限公司 | 一种基于键值模型的情境适配电网大数据存储方法 |
CN109669925A (zh) * | 2018-11-21 | 2019-04-23 | 北京市天元网络技术股份有限公司 | 非结构化数据的管理方法及装置 |
CN109726205A (zh) * | 2018-12-26 | 2019-05-07 | 国电南瑞科技股份有限公司 | 一种电力系统安全稳定分析数据存储系统及存储方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190397A (zh) * | 2021-03-25 | 2021-07-30 | 北京城建智控科技有限公司 | 基于多进程架构的微机监测系统实时数据处理方法 |
CN113468209A (zh) * | 2021-07-27 | 2021-10-01 | 广西电网有限责任公司 | 一种电网监控系统高速内存数据库访问方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112084303B (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112084303B (zh) | 基于HBase的电网运行数据存储访问方法及其系统 | |
CN104978361B (zh) | 动力环境实时监控数据存储方法及装置 | |
CN107943831B (zh) | 一种基于HBase的电网历史数据集中存储方法 | |
CN103631596A (zh) | 业务对象数据录入及更新规则的配置装置和配置方法 | |
CN109726205B (zh) | 一种电力系统安全稳定分析数据存储系统及存储方法 | |
CN111897856A (zh) | 监管报文生成方法、装置、电子设备及可读存储介质 | |
CN112506486A (zh) | 搜索系统建立方法、装置、电子设备及可读存储介质 | |
CN111159204B (zh) | 一种通过配置的方式生成标签的方法及系统 | |
CN102999637A (zh) | 根据文件特征码为文件自动添加文件标签的方法及系统 | |
CN106780157B (zh) | 基于Ceph的电网多时态模型存储与管理系统及方法 | |
CN101710322A (zh) | 一种信息关联的方法和系统 | |
CN115080651A (zh) | Excel数据导入方法、装置、电子设备及存储介质 | |
CN112231319B (zh) | 一种地铁监控系统的实时数据存储和查询方法 | |
CN113722533A (zh) | 信息推送方法、装置、电子设备及可读存储介质 | |
CN111625596A (zh) | 新能源实时消纳调度的多源数据同步共享方法及系统 | |
CN102597969A (zh) | 带属性的键值存储的数据库管理装置及其键值存储结构的高速缓存装置 | |
CN103345485A (zh) | 一种大型主机平台动态报表自动生成方法及系统 | |
CN110471373B (zh) | 信息处理方法、程序和信息处理装置 | |
CN110928839B (zh) | 国际运价数据的存储方法和系统 | |
CN108073652B (zh) | 一种事件分组优化存储方法 | |
CN111309996A (zh) | 一种智能化图书馆辅助管理系统 | |
CN104572834A (zh) | 一种过程元模型构建方法及装置 | |
CN113360686B (zh) | 配电网单线图存储方法、调阅方法、调阅系统及服务端 | |
CN113434365B (zh) | 数据特征监控方法、装置、电子设备及存储介质 | |
CN113726018B (zh) | 一种电能数据采集系统及方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |