CN107818155A - 一种配电主站及配电主站数据的存储方法 - Google Patents

一种配电主站及配电主站数据的存储方法 Download PDF

Info

Publication number
CN107818155A
CN107818155A CN201711030090.9A CN201711030090A CN107818155A CN 107818155 A CN107818155 A CN 107818155A CN 201711030090 A CN201711030090 A CN 201711030090A CN 107818155 A CN107818155 A CN 107818155A
Authority
CN
China
Prior art keywords
data
row
main website
data table
row record
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
Application number
CN201711030090.9A
Other languages
English (en)
Inventor
黄浩然
郭宏光
饶国辉
余存
张欣
张睿
崔晓优
刘翼
张自朋
张敬安
申艳红
耿战霞
周玉勇
贾帅锋
靳玮玮
闫静卫
甄宏宇
吴春昇
龚程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xuji Group Co Ltd
XJ Electric Co Ltd
Original Assignee
Xuji Group Co Ltd
XJ Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xuji Group Co Ltd, XJ Electric Co Ltd filed Critical Xuji Group Co Ltd
Priority to CN201711030090.9A priority Critical patent/CN107818155A/zh
Publication of CN107818155A publication Critical patent/CN107818155A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification

Abstract

本发明涉及一种配电主站及配电主站数据的存储方法,其首先按行存储的方式保存数据,在行记录数据表中保存的数据稳定后,把行记录数据表中的数据转换为按列方式记录进行永久保存,保存成功后删除行记录数据表中的数据以节省存储空间;即本发明能够将采集的数据快速的保存在行记录数据表中,保存效率高;而在读取数据时,由于大部分数据是保存在列记录数据表中,使读取效率高,使用者访问数据时等待时间更短。

Description

一种配电主站及配电主站数据的存储方法
技术领域
本发明属于电力系统配电主站领域,具体涉及一种配电主站及配电主站数据的存储方法。
背景技术
配电主站是配电自动化主站系统的简称,是配电自动化系统的核心部分,主要实现配电网数据采集与监控等基本功能和电网拓扑分析应用等扩展功能,并具有与其他应用信息系统进行信息交互的功能,为配电网调度指挥和生产管理提供技术支撑。其中,配电主站中往往需要存储大量的历史数据;而一般的存储记录的方式包括以下两种方式:
行记录方式:
使用一条数据记录只用来保存一个模拟量在一个时刻的值,不同的时刻需要使用不同的记录来保存,假设有三个数据点,其ID分别为1、2、3,记录了两个时刻的值,17:00和18:00,如表1所示,为一个行记录方式保存的样式。此方式需要保存的记录数为ID数量乘以记录时刻个数乘以数据列数,实例中为3*2*3=18个。
表1行方式保存的数据记录
列记录方式:
使用一条数据记录的不同列来保存不同时刻的数据,一个数据在表中只占用一条记录,如上述行记录方式的保存数据量,而按列方式的保存样式如表2所示。此方式需要保存的记录数为ID数量乘以数据列数,实例中为3*3=9个。
表2列方式保存的数据记录
ID 17:00 18:00
1 10.4 11
2 201 200.5
3 78.5 80
上述行方式和列方式在存储方式上是不同的;其中,行方式保存的优势在于,当存储新数据时,数据库只需要增加新的数据记录即可完成,而不需要修改已经存在的数据,增加的效率很高,其缺点在于数据记录的数量较多,而且存在大量的重复数据(ID和时间),存储体积大,这些缺点会导致数据读取时查询的效率较差,因为在读取一定时间内的数据时,需要获取很多条数据记录,而数据库的查询和返回都需要一定的时间来处理。如果按照一百万数据点,每隔五分钟保存一次计算,每天需要记录的数据有1000000*12*24=288000000,即2.88亿记录,再加上一些统计值如平均值、最大值、最小值等,每天有3亿条记录左右,如果查询一个星期甚至一个月的记录,需要检索的记录是相当庞大。而实际项目中,至少需要保存3年以上的历史记录,随着需求的不断提高,保存周期也变得越来越短,5分钟已经不能满足一些地方的要求,这些会导致数据记录的进一步增加,使数据库的负担持续加大。
而列方式保存的优势在于,其数据记录数是基本确定的,与要保存的模拟量的多少相同,同样按照行方式保存的保存数据量,由于有一百万数据点,数据记录为一百万条,每个数据记录有12*24=288列。在这种存储方式下,由于数据记录较少,数据读取和查询时的效率会很高。其缺点在于增加数据记录时,需要更新已经存在的记录,这种操作在数据库中的效率是很低的,尤其更新到比较后面的数据列时,由于已经存在的数据变多,其效率会越来越差。
由于列方式保存时,其更新效率会随着数据列的增加而持续降低,不能达到在规定的时间段内保存完毕的程度,即5分钟存储一次的数据,在5分钟时间内还没有保存完成,从而引起数据堵塞,而下一个5分钟又有新的数据需要存储,会使堵塞的数据越来越多,直到存储程序崩溃。
而目前在一些技术领域中,虽然存在一些把行方式存储的数据转换为列方式存储数据的通用方法,但,这些方法由于查询条件的不确定,以及行存储数据有多列属性导致的转存为列存储方式的字段冲突问题,不能创建出符合所有查询条件的静态列存储数据库。其一般是采用根据查询条件动态生成列存储数据库的方法,但该方法由于动态生成列存储数据库,在每次查询时都会有一部分时间用于列存储数据库的生成,写操作本身比较消耗时间,因此会引起一部分效率降低;尤其是当访问吞吐量较大时,同时存在多个读写操作,又会更多的降低效率;另外,由于同时存在行存储方式和列存储方式,又会出现一部分的存储空间浪费,即就需要处理动态生成的列存储数据的删除和垃圾回收机制,其逻辑较复杂,实现难度大;这样就必然导致在进行数据保存和读取时,保存效率低、存储体积大以及读取效率低等的问题。
发明内容
本发明的目的在于提供了一种配电主站及配电主站数据的存储方法,用以解决在配电主站中采集的数据在数据库中的保存效率低、存储体积大以及读取效率低等的问题。
为实现上述目的,本发明所采用的技术方案是一种配电主站数据的存储方法,包括如下步骤:
1)创建数据表;
2)在创建的数据表中,创建行记录数据表和列记录数据表,用来保存数据;
3)每个周期采集一次配电主站中的数据;并在设定时间内将采集的数据按行方式保存在行记录数据表中;在完成数据的保存后,把行记录数据表中的数据转移到列记录数据表中,转移完成后,删除行记录数据表中的数据。
在数据未转移完成的情况下读取数据时,从行记录数据表中或者列记录数据表中进行读取。
在数据转移完成的情况下读取数据时,从列记录数据表中进行读取。
所述步骤2)中,在创建列记录数据表时,整合行记录数据表中的用于描述数据记录本身的相同列属性,并将其合并为一个字段,同时创建以时间为标识的字段来保存数据值。
所述步骤3)中的设定时间为从当天的0时到23时;所述周期为1小时。
一种配电主站,包括处理器,所述处理器用于执行实现如下方法的指令:
1)创建数据表;
2)在创建的数据表中,创建行记录数据表和列记录数据表,用来保存数据;
3)在设定的时间间隔内采集一次配电主站中的数据;并在设定时间内将所有采集的数据按行方式保存在行记录数据表中;在完成数据的保存后,把行记录数据表中的数据转移到列记录数据表中,转移完成后,删除行记录数据表中的数据。
在数据未转移完成的情况下读取数据时,从行记录数据表中或者列记录数据表中进行读取。
在数据转移完成的情况下读取数据时,从列记录数据表中进行读取。
所述步骤2)中,在创建列记录数据表时,整合行记录数据表中的用于描述数据记录本身的相同列属性,并将其合并为一个字段,同时创建以时间为标识的字段来保存数据值。
所述步骤3)中的设定时间为从当天的0时到23时;所述周期为1小时。
本发明的有益效果是:本发明能够将采集的数据快速的保存在行记录数据表中,保存效率高;在行记录数据稳定后,一次性的把已经稳定的行记录数据保存到列记录数据表中,转移完成后,删除行记录数据表中的数据,能够节省行记录数据表的存储空间,且在读取数据时,由于大部分数据是保存在列记录数据表中,不再需要进行列数据的转换,不存在写操作,读取效率高,使用者访问数据时等待时间短。
同时,在记录稳定后,进行行记录数据转移到列记录数据时,由于此时数据已经稳定,因此列记录数据表中只需要添加记录,不需要更新记录,因此写入效率是可以保证的,而且转移数据间隔时间较长,并且只会进行一次转换,不会有数据阻塞现象发生。
再者,由于在配电主站的数据存储中,其数据的保存是周期性的,同一类型和级别的数据其保存周期是相同并且固定的,本发明在数据库定义时能够创建出静态的列记录数据表,而且创建的列记录数据表可以抽象出行记录数据表中的相同列属性内容,并将相同列属性的内容合并为一个字段,同时创建以时间为标识的字段来保存数据值,这样就解决了行存储数据转换为列存储时可能存在的字段冲突问题。
附图说明
图1为本发明的配电主站中模拟量数据的存储方法。
具体实施方式
下面将结合附图对本发明作进一步说明。
本发明提供了一种配电主站数据的存储方法,其主要是在一天之内的数据按行方式保存,而一天之外的数据按列方式保存,即将行方式保存的数据转换成列方式保存,保证数据保存效率高、读取效率高;具体过程如图1所示。本发明还提供了一种配电主站,包括处理器,处理器用于执行实现上述存储方法的指令。
其中,本发明中的行方式保存是以一行记录为单位,每一行保存了多种类型的数据,其的读写过程是一致的,都是从第一列开始,到最后一列结束。而列保存以列数据集合为单位,其每一列数据类型是同质的。列保存的读取是列数据集合中的一段或者全部数据,写入时,一行记录被拆分为多列,每一列数据追加到对应列的末尾处。
本发明以配电主站中的模拟量数据为例进行介绍:
本实施例中的配电主站是配电自动化主站系统的简称,是配电自动化系统的核心部分,其主要实现配电网数据采集与监控等基本功能和电网拓扑分析应用等扩展功能,并具有与其他应用信息系统进行信息交互的功能,为配电网调度指挥和生产管理提供技术支撑。
而模拟量是配电主站需要采集的数据量的一种,特征是连续变化的量,表现为需要使用一个浮点数在计算机系统中进行表示,如一条线路或者电力负载的电压、电流、有功功率、无功功率等,在一个配电主站中,由于配电网规模的不同,模拟量的数量也有一些差异,在一般的城市配电网中,模拟量的数量在一百万左右。一般模拟量会在系统中分配有一个唯一的整数作为标识,成为ID。
假设采集的配电主站中的模拟量有两个数据点,每一个小时保存一次数据,一天为一个时间间隔,本发明的实施步骤为:
1)创建行记录数据表,如表3所示;创建列记录数据表,在创建列记录数据表时,把所有行记录数据表中“ID”字段整合为一个“ID”字段,并创建以时间为标识的字段,用于保存所有行记录数据表中的“值”字段,使创建的列数据表没有字段冲突,如表4所示;
表3行记录数据表
时间 ID
表4列记录数据表
ID 0 1 2 3 4 5 6 7 8 9 10 11 12 13 19 20 21 22 23
1
2
2)当天采集的模拟量数据,保存在行记录数据表中,为便于查看,假设数据1按时间递增,数据2按时间递减,则一天过后,行记录数据表中记录的数据如表5中所示;
表5一天的行记录数据
3)一天过后,在每天的24点将行记录数据表中保存的数据转移到列记录数据表中,转移后的列记录数据表中记录的数据即为前一天的历史数据,如表6中所示:
表6一天的列记录数据
ID 0 1 2 3 4 5 6 7 8 9 10 11 12 13 20 21 22 23
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 21 22 23 24
2 24 23 22 21 20 19 18 17 16 15 14 13 12 11 4 3 2 1
4)当行记录数据表将转移的数据记录完成后,删除行记录数据表中保存的数据;
5)每天重复步骤1)-4),实现数据的保存。
本实施例中,在将行记录数据表中的数据转移到列记录数据表中时,其具体的转换过程为:将行记录数据表中的一行记录拆分成多列单独保存,也即把所有行记录数据表中“ID”字段整合为一个“ID”字段,并创建以时间为标识的字段,用于保存所有行记录数据表中的“值”字段。具体的如表5和表6所示,将行记录数据表中的一行记录中的时间(0、0,1、1,…23、23)和ID(1、2)拆分并合并成一列仅为“ID”字段和以时间为标识的字段的列记录数据表,并分别将行记录数据表中对应的数据按照相应的映射关系,依次存储在列记录数据表中的对应位置即可。
本实施例中采用关系型数据库存储,典型代表有Oracle、MySql、达梦数据库等;其是按照时间序列保存配电主站中采集的数据。
本实施例中的数据库中可以有很多数据表,每个数据表用来存储一组信息;而数据表中的一行称为一个数据记录;对于数据表可进行添加数据记录,也可在数据表中的记录不添加的情况下,修改已经有的数据记录的内容,进行更新记录。
本发明中,在数据未转移完成的情况下读取数据时,从行记录数据表中或者列记录数据表中进行读取;而在数据转移完成的情况下读取数据时,从列记录数据表中直接进行读取。
本发明的技术方案主要是鉴于在对行方式保存和列方式保存的优势和劣势分析后,根据列方式保存在读取效率和存储体积上具有较大优势,尤其是读取的效率;而在实际应用中,读取数据比写入数据的使用场景更多,而且读取的效率与用户的体验息息相关;而列保存方式的主要不足在于数据更新方面的瓶颈,而产生数据更新效率的主要原因是数据不是一次写入的,而是需要分时段更新写入的,导致写入时需要更新已经存在的数据,才引起写入效率不高。同时,由于在配电主站的数据存储中,其数据的保存是周期性的,同一类型和级别的数据其保存周期是相同并且固定的,因此可以在数据库定义时创建出静态的列存储数据库,而且创建的列存储数据还可以抽象出行存储数据中的相同列属性内容并进行合并,解决行存储数据转换为列存储时可能存在的字段冲突问题。因此,本发明提供了一种同时使用行和列方式数据表存储数据的方法,即先使用行方式保存数据记录,当数据记录稳定后,再把数据整体转换为列方式保存,并删除行方式保存的数据;这样既可以保证当前历史数据保存的效率,又可以保证长时间数据读取的速度和减小行方式保存数据的体积,节省空间。
上述内容结合附图对本发明进行了描述,但是本发明并不局限于上述的具体实施方式,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多变形,这些均在本发明的保护范围之内。

Claims (10)

1.一种配电主站数据的存储方法,其特征在于,包括如下步骤:
1)创建数据表;
2)在创建的数据表中,创建行记录数据表和列记录数据表,用来保存数据;
3)每个周期采集一次配电主站中的数据;并在设定时间内将采集的数据按行方式保存在行记录数据表中;在完成数据的保存后,把行记录数据表中的数据转移到列记录数据表中,转移完成后,删除行记录数据表中的数据。
2.根据权利要求1所述的配电主站数据的存储方法,其特征在于,在数据未转移完成的情况下读取数据时,从行记录数据表中或者列记录数据表中进行读取。
3.根据权利要求2所述的配电主站数据的存储方法,其特征在于,在数据转移完成的情况下读取数据时,从列记录数据表中进行读取。
4.根据权利要求1所述的配电主站数据的存储方法,其特征在于,所述步骤2)中,在创建列记录数据表时,整合行记录数据表中的用于描述数据记录本身的相同列属性,并将其合并为一个字段,同时创建以时间为标识的字段来保存数据值。
5.根据权利要求1所述的配电主站数据的存储方法,其特征在于,所述步骤3)中的设定时间为从当天的0时到23时;所述周期为1小时。
6.一种配电主站,包括处理器,其特征在于,所述处理器用于执行实现如下方法的指令:
1)创建数据表;
2)在创建的数据表中,创建行记录数据表和列记录数据表,用来保存数据;
3)在设定的时间间隔内采集一次配电主站中的数据;并在设定时间内将所有采集的数据按行方式保存在行记录数据表中;在完成数据的保存后,把行记录数据表中的数据转移到列记录数据表中,转移完成后,删除行记录数据表中的数据。
7.根据权利要求6所述的配电主站,其特征在于,在数据未转移完成的情况下读取数据时,从行记录数据表中或者列记录数据表中进行读取。
8.根据权利要求7所述的配电主站,其特征在于,在数据转移完成的情况下读取数据时,从列记录数据表中进行读取。
9.根据权利要求6所述的配电主站,其特征在于,所述步骤2)中,在创建列记录数据表时,整合行记录数据表中的用于描述数据记录本身的相同列属性,并将其合并为一个字段,同时创建以时间为标识的字段来保存数据值。
10.根据权利要求6所述的配电主站,其特征在于,所述步骤3)中的设定时间为从当天的0时到23时;所述周期为1小时。
CN201711030090.9A 2017-10-27 2017-10-27 一种配电主站及配电主站数据的存储方法 Pending CN107818155A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711030090.9A CN107818155A (zh) 2017-10-27 2017-10-27 一种配电主站及配电主站数据的存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711030090.9A CN107818155A (zh) 2017-10-27 2017-10-27 一种配电主站及配电主站数据的存储方法

Publications (1)

Publication Number Publication Date
CN107818155A true CN107818155A (zh) 2018-03-20

Family

ID=61603360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711030090.9A Pending CN107818155A (zh) 2017-10-27 2017-10-27 一种配电主站及配电主站数据的存储方法

Country Status (1)

Country Link
CN (1) CN107818155A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960693A (zh) * 2018-11-22 2019-07-02 成都长城开发科技有限公司 一种基于关系型数据库负荷曲线存储方法
CN110990402A (zh) * 2019-11-26 2020-04-10 中科驭数(北京)科技有限公司 由行存储到列存储的格式转化方法、查询方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847971B1 (en) * 1998-05-28 2005-01-25 Oracle International Corporation Lightweight data replication
CN102663114A (zh) * 2012-04-17 2012-09-12 中国人民大学 面向并发olap的数据库查询处理方法
CN104361099A (zh) * 2014-11-21 2015-02-18 北京邮电大学 一种面向异构存储的适配装置
CN106445727A (zh) * 2015-08-07 2017-02-22 中国移动通信集团重庆有限公司 数据备份和恢复方法及系统
CN106844312A (zh) * 2017-02-14 2017-06-13 济南浪潮高新科技投资发展有限公司 一种数据表转换方法、装置、可读介质及存储控制器
CN106874437A (zh) * 2017-02-04 2017-06-20 中国人民大学 面向数据库一体机的内存数据仓库行列存储转换实现方法
US9720602B1 (en) * 2016-06-01 2017-08-01 International Business Machines Corporation Data transfers in columnar data systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847971B1 (en) * 1998-05-28 2005-01-25 Oracle International Corporation Lightweight data replication
CN102663114A (zh) * 2012-04-17 2012-09-12 中国人民大学 面向并发olap的数据库查询处理方法
CN104361099A (zh) * 2014-11-21 2015-02-18 北京邮电大学 一种面向异构存储的适配装置
CN106445727A (zh) * 2015-08-07 2017-02-22 中国移动通信集团重庆有限公司 数据备份和恢复方法及系统
US9720602B1 (en) * 2016-06-01 2017-08-01 International Business Machines Corporation Data transfers in columnar data systems
CN106874437A (zh) * 2017-02-04 2017-06-20 中国人民大学 面向数据库一体机的内存数据仓库行列存储转换实现方法
CN106844312A (zh) * 2017-02-14 2017-06-13 济南浪潮高新科技投资发展有限公司 一种数据表转换方法、装置、可读介质及存储控制器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960693A (zh) * 2018-11-22 2019-07-02 成都长城开发科技有限公司 一种基于关系型数据库负荷曲线存储方法
CN110990402A (zh) * 2019-11-26 2020-04-10 中科驭数(北京)科技有限公司 由行存储到列存储的格式转化方法、查询方法及装置

Similar Documents

Publication Publication Date Title
CN103559323B (zh) 数据库实现方法
CN104809237A (zh) LSM-tree索引的优化方法和装置
US20170011082A1 (en) Mechanisms for merging index structures in molap while preserving query consistency
US6654868B2 (en) Information storage and retrieval system
CN101777016A (zh) 一种连续数据保护系统的快照存储和数据恢复方法
CN102375827B (zh) 一种对版本化的电网模型数据库进行快速加载的方法
CN106354890B (zh) 一种基于N-ary树结构的随机访问的文件系统的实现方法
CN103890856A (zh) 支持内存储数据结构的可移位存储器
CN105653609A (zh) 基于内存的数据处理方法及装置
CN103678519A (zh) 一种支持Hive DML增强的混合存储系统及其方法
US20100161668A1 (en) Method and system for index serialization
CN101840430A (zh) 智能卡数据库多表操作方法及装置
CN111708894B (zh) 一种知识图谱创建方法
CN110096509A (zh) 大数据环境下实现历史数据拉链表存储建模处理的系统及方法
CN107818155A (zh) 一种配电主站及配电主站数据的存储方法
US7225178B2 (en) Data structure in database, database system for managing database and database managing method and system
CN100399338C (zh) 一种数据记录处理方法
CN111708895B (zh) 一种知识图谱系统的构建方法及装置
CN116662019B (zh) 请求的分配方法、装置、存储介质及电子装置
CN104111899A (zh) 一种缓存数据的存储方法及系统及读取方法
CN103309890A (zh) 一种Linux文件系统与实时数据库索引融合的技术
CN102968467A (zh) 一种多层Bloom Filter的优化方法及查询方法
CN111597262B (zh) 一种区块链中的区块数据的管理方法和管理系统
CN117009187B (zh) 上位机监控系统cid文件增量式编译方法、系统及设备
CN113486021B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180320