CN106126644A - 基于NoSQL数据库的录波文件存储方法 - Google Patents
基于NoSQL数据库的录波文件存储方法 Download PDFInfo
- Publication number
- CN106126644A CN106126644A CN201610465934.1A CN201610465934A CN106126644A CN 106126644 A CN106126644 A CN 106126644A CN 201610465934 A CN201610465934 A CN 201610465934A CN 106126644 A CN106126644 A CN 106126644A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- channel
- storage
- row
- 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
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/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的目的在于提供一种基于NoSQL数据库的录波文件存储方法,本发明采用关系型数据库和NoSQL数据库相结合的方式对录波文件进行存储,关系型数据库存储录波配置文件,NoSQL数据库采用HBase数据库存储录波数据文件。本发明方法包括如下内容:1)录波配置文件的存储;1.1)录波配置文件表结构定义;1.2)对录波配置文件进行存储;2)录波数据文件的存储;2.1)录波数据文件存储定义;2.2)对录波数据文件进行存储。
Description
技术领域
本发明涉及录波数据文件的存储和分析,是一种大数据环境下,基于NoSQL数据库的一种存储方法。
背景技术
随着数字信息化时代的迅猛发展,信息量也呈***性增长态势。在人类充分享受信息化带来的资讯、方便和快捷时,也使得全球的数字信息资源正进入到一个前所未有的快速增长期。据IDC统计,2011年全球数据量已达到1.8ZB,相当于全世界人均产生200GB以上的数据,并且还将以每年50%的速度继续增长。在这汹涌来袭的数据浪潮下,社会各个领域也将开始其数据化进程。无论学术界、商界还是政府,都将不可避免的进入“大数据时代”。作为全球第二大经济体的基础能源支撑体系,中国电力工业概莫能外。
电力行业中数据量的增长也呈现出相似的态势。近几年,电力行业信息化也得到了长足的发展,我国电力企业信息化起源于20世纪60年代,从初始电力生产自动化到80年代以财务电算化为代表的管理信息化建设,再到近年大规模的企业信息化建设,特别伴随着下一代智能化电网的全面建设,以物联网和云计算为代表的新一代IT技术在电力行业中的广泛应用,电力数据资源开始急剧增长并形成了一定的规模。从长远来看,作为中国经济社会发展的“晴雨表”,电力数据以其与经济发展紧密而广泛的联系,将会呈现出无以伦比的正外部性,对我国经济社会发展以至人类社会进步也将形成更为强大的推动力。
发明内容
本发明的目的在于提供一种基于NoSQL数据库的录波文件存储方法,本发明采用关系型数据库和NoSQL数据库相结合的方式对录波文件进行存储,关系型数据库存储录波配置文件,NoSQL数据库采用HBase数据库存储录波数据文件。
本发明的技术方案如下:
一种基于NoSQL数据库的录波文件存储方法,包括如下内容:
1)录波配置文件的存储
1.1)录波配置文件表结构定义
录波配置文件名以“.cfg”结尾,其存储的录波配置文件为结构化数据,具体包括采样频率、信道数、行频以及信道信息等内容。这些内容采用关系库存储,为此定义了四个表,分别为“录波文件描述表、录波文件频率表、状态量点表、模拟量点表”,各表具体内容如下表1-1、1-2、1-3、1-4所示,对应的表结构及其关系如图1所示:
在图1中所示,CFG_FILE_Desc,Sample_Rate_List,Analog_Channel,Status_Channel为关系库中定义的四个表,存储配置文件信息;TimesDig和TimesAna为列族数据库(HBase)中定义的数据表,存储数据文件信息。配置文件描述表和其它几个表是一对多的关系,具体各个字段描述如下表所示:
表1-1
表1-2
表1-3
表1-4
1.2)对录波配置文件进行存储,具体流程为:
(a1)创建关系数据库中步骤1.1中的四种表;
(b1)读取配置文件,并且解析为各个表结构的数据;
(c1)按照先父表后子表的顺序将数据***,***表CFG_Fi le_Desc结构的数据后会产生全局唯一GUID,GUID作为其它表的关键字段进行输入,否则依据表的“参照完整性”定义,会存储数据失败。
2)录波数据文件的存储
2.1)录波数据文件存储定义
录波数据文件包含了各个遥测和遥信通道压缩后的采样值,遥测和遥信通道在录波配置文件中定义。录波数据文件的查询经常为一个数据文件的一个信道的完整数据,采用NoSQL数据库的一种列族数据库进行存储。依据固定了遥测遥信两种通道,列族数据库创建两个数据表:遥测表TimesDig和遥信表TimesAna,如图1所示。这两个表主键采用版本号+GUID+通道号的方式,方便按通道查找数据;每个录波配置文件中定义的的信道数量不一,因此将信道名+结束的点数为列名,存储为多列;由于列族数据按byte数组存储数据,因此将数据转化成byte数组进行存储。具体结构如下表2:
表2
2.2)对录波数据文件进行存储,具体流程为:
(a2)按通道读取录波数据文件内容;
(b2)根据信道数产生分割数据形成多个数据的数组;
(c2)在列族数据库中按行健设置列名,存储数据。
本发明对比现有技术,有如下优点:
1.录波文件存储到数据库中,集中管理,增加了索引,方便了查询,改变了文件存储查询较慢的问题。
2.录波文件存储到数据库中,形成了集中、统一的存储方式,方便了存储容量的扩充,改变了本地存储的限制。
3.本发明提供一种大数据的存储方式,通过可扩展的列族数据,能够存储非常大量的录波文件。通过这些大量的录波数据,可以进行机器学习,智能分析,产生更大的价值,改变了录波文件远程调取,人为分析的旧的模式。
附图说明
图1录波文件E-R图。
具体实施方式
以下是按照方法流程的一个实际案例,解析的文件为“DRL600C_DRec_119313_20140531_065437_121.cfg”,包含了数据库表的创建,数据的***等内容。利用数据库所建立的索引,方便了数据的查询,对于大数据下的智能分析,不在本方法描述范围内。
1.依照E-R图设计,创建关系库表,以sql语句为标准,通过创建具有相互关联的数据库表,具体为:
a)创建表CFG_File_Desc:
Create table CFG_File_Desc(
Station_Namevarchar(64)NOT NULL,
Recording_Device_IDvarchar(64)not null,
Revision_Year integer,
Tatal_Channel_Count integer,
Analog_Channel_Count integer,
Status_Channel_Count integer,
Line_Frequency FLOAT,
Sample_Rate_Count integer,
File_Start_Time TIMESTAMP,
Trigger_Time TIMESTAMP,
File_Type integer,
Time_Multiplier integer,
GUID serial unique,
HDR_File TEXT,
INF_File TEXT,
PRIMARY KEY(Station_Name,Recording_Device_ID,Trigger_Time)
)
b)创建表:Sample_Rate_List
Create tablesample_rate_list(
GUID integer references CFG_File_Desc(GUID),
Number integer,
Samp_Rate float,
Start_Samp integer,
End_Samp integer,
PRIMARY KEY(GUID,Number)
)
c)创建表Analog_Channel
Create tableanalog_channel(
GUID integer references CFG_File_Desc(GUID),
Channel_ID integer,
Channel_Namevarchar(64),
Phase_IDvarchar(2),
Monitored_Componentvarchar(64),
Channel_Unitsvarchar(32),
Channel_Multiplier float,
Channel_Offset float,
Channel_Skew float,
Range_Min_Limit_Value integer,
Range_Max_Limit_Value integer,
Channel_Ratio_Primary float,
Channel_Ratio_Secondary float,
Data_Primary_Secondary integer,
PRIMARY KEY(GUID,Channel_ID)
)
d)创建表Status_Channel
Create table test1.status_channel(
GUID integer references test1.CFG_File_Desc(GUID),
Channel_ID integer,
Channel_Namevarchar(64),
Phase_IDvarchar(2),
Monitored_Componentvarchar(64),
Normal_State integer,
PRIMARY KEY(GUID,Channel_ID)
)
2.读取配置文件*.cfg,获取相关内容,形成sql***语句:
a)***CFG_File_Desc表中数据:
insert
intocfg_file_desc(station_name,recording_device_ID,revision_year,tatal_channel_count,analog_channel_count,status_channel_count,l ine_frequency,sample_rate_count,file_start_time,trigger_time,file_type,time_multip lier,file_name)values('浙江.半山厂','#8号发变组故录DRL600A',1999,288,96,192,50.000000,2,'2014-05-3106:05:37.001000','2014-05-31 06:05:37.121000',1,1.000000,'DRL600C_DRec_119313_20140531_065437_121.cfg')
b)获取自动生成的GUID,执行下面sql后得到guid=3658
select station_device_id fromcfg_file_desc where Station_Name='浙江.半山厂'and Recording_Device_ID='#8号发变组故录DRL600A'and trigger_time='2014-05-31 06:05:37.121000'
c)***Sample_Rate_List表中数据:这里有两个频率段,顾***两条记录
insert
intosample_rate_list(station_device_id,number,samp_rate,start_samp,end_samp)values(3658,1,4800.000000,0,576)
insert
intosample_rate_list(station_device_id,number,samp_rate,start_samp,end_samp)values(3658,2,4800.000000,577,45504)
d)***Analog_Channel表中数据,以下是一条通道内容,实际会循环***所有通道数据。
insert intoanalog_channel(station_device_id,channel_id,channel_name,phase_id,monitored_Component,channel_units,channel_multiplier,channel_offset,channel_skew,range_min_limit_value,range_max_limit_value,channel_ratio_primary,channel_ratio_secondary,data_primary_secondary)values(3658,0,'发电机机端电压Ua','A','发电机','V',0.006200,0.000000,0.000000,-32767,32767,1.000000,1.000000,2)
e)***Status_Channel表中数据,以下是一条通道内容,实际会循环***所有通道数据。
insert intostatus_channel(station_device_id,channel_id,channel_name,phase_id,moni tored_component,normal_state)values(3658,0,'主变保护AB柜主变差动保护动作',”,”,69317296)
3.创建列族数据库表
按定义的表名TimesDig和TimesAna,调用***接口创建数据表。
4.***列族数据库
a)根据定义产生行健:1003658001,1是版本号,003658是guid,001为通道号
b)根据配置文件定义两个列名:
i.4800.000000,576
ii.4800.000000,45504
c)为每个列存储数据
d)再循环到下一个通道继续存储。
本发明的实施方式不限于此,在本发明上述基本技术思想前提下,按照本领域的普通技术知识和惯用手段对本发明内容所做出其它多种形式的修改、替换或变更,均落在本发明权利保护范围之内。
Claims (2)
1.一种基于NoSQL数据库的录波文件存储方法,其特征在于包括如下内容:
1)录波配置文件的存储;
1.1)录波配置文件表结构定义;
录波配置文件名以“.cfg”结尾,存储的录波配置文件为结构化数据,具体内容包括采样频率、信道数、行频以及信道信息;这些内容采用关系库存储,为此定义了四个表,分别为“录波文件描述表、录波文件频率表、状态量点表、模拟量点表”;
1.2)对录波配置文件进行存储,具体流程为:
(a1)创建关系数据库中步骤1.1)中的四种表;
(b1)读取配置文件,并且解析为各个表结构的数据;
(c1)按照先父表后子表的顺序将数据***,***表CFG_Fi le_Desc结构的数据后会产生全局唯一GUID,GUID作为其它表的关键字段进行输入,否则依据表的“参照完整性”定义,会存储数据失败;
2)录波数据文件的存储
2.1)录波数据文件存储定义
录波数据文件包含了各个遥测和遥信通道压缩后的采样值,遥测和遥信通道在录波配置文件中定义。录波数据文件的查询经常为一个数据文件的一个信道的完整数据,采用NoSQL数据库的一种列族数据库进行存储;依据固定了遥测遥信两种通道,列族数据库创建两个数据表:遥测表TimesDig和遥信表TimesAna。
2.2)对录波数据文件进行存储,具体流程为:
(a2)按通道读取录波数据文件内容;
(b2)根据信道数产生分割数据形成多个数据的数组;
(c2)在列族数据库中按行健设置列名,存储数据。
2.根据权利要求1所述的方法,其特征在于:所述遥测表TimesDig和遥信表TimesAna的主键采用版本号+GUID+通道号的方式,方便按通道查找数据;每个录波配置文件中定义的的信道数量不一,因此将信道名+结束的点数为列名,存储为多列;由于列族数据按byte数组存储数据,因此将数据转化成byte数组进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610465934.1A CN106126644A (zh) | 2016-06-22 | 2016-06-22 | 基于NoSQL数据库的录波文件存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610465934.1A CN106126644A (zh) | 2016-06-22 | 2016-06-22 | 基于NoSQL数据库的录波文件存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106126644A true CN106126644A (zh) | 2016-11-16 |
Family
ID=57268705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610465934.1A Pending CN106126644A (zh) | 2016-06-22 | 2016-06-22 | 基于NoSQL数据库的录波文件存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126644A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739854A (zh) * | 2018-12-27 | 2019-05-10 | 新华三大数据技术有限公司 | 一种数据存储方法及装置 |
CN110032604A (zh) * | 2019-02-02 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 数据存储装置、转译装置及数据库访问方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040010415A1 (en) * | 2000-02-23 | 2004-01-15 | Yoon-Deuk Seo | Apparatus and method for searching digital audio data file from media where digital audio data files are recorded |
CN103092992A (zh) * | 2013-02-17 | 2013-05-08 | 南京师范大学 | 基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法 |
CN104750809A (zh) * | 2015-03-26 | 2015-07-01 | 中国科学院软件研究所 | 一种支持关系模型和键-值结构的混合数据存储方法 |
CN105488058A (zh) * | 2014-09-17 | 2016-04-13 | 华中科技大学 | 一种电力***故障录波格式转换方法 |
-
2016
- 2016-06-22 CN CN201610465934.1A patent/CN106126644A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040010415A1 (en) * | 2000-02-23 | 2004-01-15 | Yoon-Deuk Seo | Apparatus and method for searching digital audio data file from media where digital audio data files are recorded |
CN103092992A (zh) * | 2013-02-17 | 2013-05-08 | 南京师范大学 | 基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法 |
CN105488058A (zh) * | 2014-09-17 | 2016-04-13 | 华中科技大学 | 一种电力***故障录波格式转换方法 |
CN104750809A (zh) * | 2015-03-26 | 2015-07-01 | 中国科学院软件研究所 | 一种支持关系模型和键-值结构的混合数据存储方法 |
Non-Patent Citations (1)
Title |
---|
白红伟等: "基于Hadoop的录波数据的存储与访问", 《河北省科学院学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739854A (zh) * | 2018-12-27 | 2019-05-10 | 新华三大数据技术有限公司 | 一种数据存储方法及装置 |
CN110032604A (zh) * | 2019-02-02 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 数据存储装置、转译装置及数据库访问方法 |
CN110032604B (zh) * | 2019-02-02 | 2021-12-07 | 北京奥星贝斯科技有限公司 | 数据存储装置、转译装置及数据库访问方法 |
US11226961B2 (en) | 2019-02-02 | 2022-01-18 | Beijing Oceanbase Technology Co., Ltd. | Data storage apparatus, translation apparatus, and database access method |
US11797533B2 (en) | 2019-02-02 | 2023-10-24 | Beijing Oceanbase Technology Co., Ltd. | Data storage apparatus, translation apparatus, and database access method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402976B (zh) | 一种基于多元异构模型的电网多源数据融合方法及*** | |
CN109669934B (zh) | 一种切合电力客服业务的数据仓库***及其构建方法 | |
CN103177094B (zh) | 一种物联网数据清洗方法 | |
CN109582667A (zh) | 一种基于电力调控大数据的多数据库混合存储方法及*** | |
CN104850601B (zh) | 基于图数据库的警务实时分析应用平台及其构建方法 | |
CN102332030A (zh) | 用于分布式键-值存储***的数据存储、管理和查询方法及*** | |
CN104317966A (zh) | 一种用于电力大数据快速组合查询的动态索引方法 | |
CN102609490B (zh) | 一种面向列存储dwms的b+树索引方法 | |
CN111159180A (zh) | 一种基于数据资源目录构建的数据处理方法及*** | |
Wang et al. | Distributed storage and index of vector spatial data based on HBase | |
CN107766541B (zh) | 配用电全局全量数据传输及存储方法、装置、电子设备 | |
CN104317864A (zh) | 一种基于iec61850逻辑节点的信息模型自动识别的方法 | |
Wang et al. | Massive remote sensing image data management based on HBase and GeoSOT | |
CN102375827A (zh) | 一种对版本化的电网模型数据库进行快速加载的方法 | |
CN106202149A (zh) | 一种iec61850模型文件转换方法 | |
CN111858730A (zh) | 一种图数据库的数据导入导出装置、方法、设备及介质 | |
Mostajabi et al. | A systematic review of data models for the big data problem | |
Liu et al. | Construction of power projects knowledge graph based on graph database Neo4j | |
CN115858513A (zh) | 数据治理方法、装置、计算机设备和存储介质 | |
CN106126644A (zh) | 基于NoSQL数据库的录波文件存储方法 | |
CN114443656A (zh) | 一种可定制的自动化数据模型分析工具及其使用方法 | |
CN112540987A (zh) | 一种基于数据集市的配用电大数据管理*** | |
Bakalov et al. | A network model for the utility domain | |
Humaira et al. | A survey on automatic mapping of ontology to relational database schema | |
Scriney et al. | Efficient cube construction for smart city data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161116 |