一种基于RDBMS的高效负荷曲线数据存取设计的方法技术

技术编号:30362737 阅读:16 留言:0更新日期:2021-10-16 17:21
本发明专利技术提供一种基于RDBMS的高效负荷曲线数据存取设计的方法,涉及负荷曲线数据存储技术领域。该基于RDBMS的高效负荷曲线数据存取设计的方法,所述方法包括一种计量系统中负荷曲线存储方案,更具体地说,如何将表计的负荷曲线数据存储到RDBMS中,保证性能和易用性的同时最大限度降低存储空间;所述负荷曲线存储的储存结构设置为“表号”、“冻结时间:年月日”、“数据标志”和“JSON数值”,所述“表号”为设备I D。本发明专利技术经测定,所研究的负荷曲线数据存取新结构,和经典的负荷曲线数据存储比较,相同的数据量,能够节省三分之二的空间,SQL存取的性能稍慢(基于Orac l e自带的JSON存取机制,经测定,性能并不低),解决了数据存储空间巨大的问题,降低了存储成本。降低了存储成本。

【技术实现步骤摘要】
一种基于RDBMS的高效负荷曲线数据存取设计的方法


[0001]本专利技术涉及负荷曲线数据的存储
,具体为一种基于RDBMS的高效负荷曲线数据存取设计的方法。

技术介绍

[0002]目前随着电力公司业务的扩展和电网的管控能力的加强,需要大量的终端负荷曲线数据进行业务分析。
[0003]现有的申请号201811395641.6,其专利名称为一种基于关系型数据库负荷曲线存储方法,其通过设计一张表,1块表1天1个数据项的数据存一行,每行数据项包括N列采集数据,N为正整数;在N列采集数据中每一列存储间隔X分钟的数据;N
×
X≥1440,当N
×
X>1440时,n
×
X=1440,n为正整数,取N列中的n列作为采集数据列,其余N

n列为空,同样能够降低存储空间,并且也是通过1张表1天1个数据项的数据存一行来实现,在对基础上结合本领域的公知常识能够得到本技术方案。
[0004]一般负荷曲线数据依据三个范式的设计原则会设计成如下几个字段: [表号],[冻结时间],[数据标志],[数值],满足数据库设计的三个范式的要求,但是他的问题就是占用存储空间大,磁盘I/O大,虽然,目前的Oracle 这类数据库有数据压缩功能,但是经测定,压缩率有限,所以需要另辟蹊径,寻找新的解决方案。

技术实现思路

[0005](一)解决的技术问题
[0006]针对现有技术的不足,本专利技术提供了一种基于RDBMS的高效负荷曲线数据存取设计的方法,解决了占用存储空间大的问题。
[0007](二)技术方案
[0008]为实现以上目的,本专利技术通过以下技术方案予以实现:
[0009]一种基于RDBMS的高效负荷曲线数据存取设计的方法,所述方法包括一种计量系统中负荷曲线存储方案,更具体地说,如何将表计的负荷曲线数据存储到RDBMS中,保证性能和易用性的同时最大限度降低存储空间;
[0010]所述负荷曲线存储的储存结构设置为“表号”、“冻结时间:年月日”、“数据标志”和“JSON数值”,所述“表号”为设备ID;,所述“冻结时间:年月日”精确到一天,代表本条记录是某个“数据标志”一天的数据,“数据标志”用于区分数据类型的ID,“JSON数值”的格式为{“hhnn”:“值”,,,,}。
[0011]优选的,所述“hhnn”代表时分,固定4位,“hhnn”所能表达的时间范围,可以是00:0023:59的任意值,并不限制于1、5、10、15、30、60分钟周期的时间,可以连续,也可以不连续,可以是周期的,也可以是随机的,例如:0000:代表零点零分0015:代表零点15分,2345:代表23点45分。
[0012]优选的,所述“JSON数值”格式的解析是各种程序开发语言普遍支持的一种标准格
式,可采用SQL语言、JAVA和C++语言。
[0013]优选的,由于“JSON数值”字段是JSON格式,不满足范式,低版本的 RDBMS一般不能直接存取,因此,需要二次开发RDBMS的存取“JSON数值”字段的增、删、改和查的相应函数编译到RDBMS数据库中供SQL查询语言调用,Oracle以上的版本支持JSON格式的数据存储和解析,基于Oracle自带的JSON存取机制,Oracle功能特性:
[0014]特性1:对JSON Data的存储和管理;
[0015](1)数据表可以使用JSON虚拟列来作表的键key;
[0016](2)可以创建JSON索引;
[0017]特性2:对JSON Data的查询;
[0018](1)JSON路径表达式增强功能:可以包含必须满足的过滤器表达式,通过匹配的数据和转换方法来改变它;
[0019](2)解析成JSON后可以使用点符号访问JSON数组或对象中的元素;
[0020](3)增加了JSON functions(方法):
[0021]json_value,json_query,json_object,json_array,json_table, json_objectagg,json_arrayagg
[0022]JSON condition(条件判断):
[0023]json_exists(返回boolean数据类型),is json,is not json, json_textcontains。
[0024](三)有益效果
[0025]本专利技术提供了一种基于RDBMS的高效负荷曲线数据存取设计的方法。具备以下有益效果:
[0026]本专利技术提出一种基于RDBMS的高效负荷曲线数据存取设计的方法,其经测定,所研究的负荷曲线数据存取新结构,和经典的负荷曲线数据存储比较,相同的数据量,能够节省三分之二的空间,SQL存取的性能稍慢(基于Oracle自带的JSON存取机制,经测定,性能并不低),解决了数据存储空间巨大的问题,降低了存储成本。
具体实施方式
[0027]下面将对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0028]实施例:
[0029]本专利技术实施例提供一种基于RDBMS的高效负荷曲线数据存取设计的方法,所述方法包括一种计量系统中负荷曲线存储方案,更具体地说,如何将表计的负荷曲线数据存储到RDBMS中,保证性能和易用性的同时最大限度降低存储空间;
[0030]所述负荷曲线存储的储存结构设置为“表号”、“冻结时间:年月日”、“数据标志”和“JSON数值”,所述“表号”为设备ID;,所述“冻结时间:年月日”精确到一天,代表本条记录是某个“数据标志”一天的数据,“数据标志”用于区分数据类型的ID,“JSON数值”的格式为{“hhnn”:“值”,,,,}。
[0031]所述“hhnn”代表时分,固定4位,“hhnn”所能表达的时间范围,可以是00:0023:59的任意值,并不限制于1、5、10、15、30、60分钟周期的时间,可以连续,也可以不连续,可以是周期的,也可以是随机的,例如: 0000:代表零点零分0015:代表零点15分,2345:代表23点45分。
[0032]所述“JSON数值”格式的解析是各种程序开发语言普遍支持的一种标准格式,可采用SQL语言、JAVA和C++语言。
[0033]由于“JSON数值”字段是JSON格式,不满足范式,低版本的RDBMS一般不能直接存取,因此,需要二次开发RDBMS的存取“JSON数值”字段的增、删、改和查的相应函数编译到RDBMS数据库中供SQL查询语言调用,Oracle 以上的版本支持JSON格式的数据存储和解析,基于Oracle自带的JSON存取机制,Oracle功能特性:
[0034]特性1:对JSON本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RDBMS的高效负荷曲线数据存取设计的方法,其特征在于:所述方法包括一种计量系统中负荷曲线存储方案,更具体地说,如何将表计的负荷曲线数据存储到RDBMS中,保证性能和易用性的同时最大限度降低存储空间;所述负荷曲线存储的储存结构设置为“表号”、“冻结时间:年月日”、“数据标志”和“JSON数值”,所述“表号”为设备ID;,所述“冻结时间:年月日”精确到一天,代表本条记录是某个“数据标志”一天的数据,“数据标志”用于区分数据类型的ID,“JSON数值”的格式为{“hhnn”:“值”,,,,}。2.根据权利要求1所述的一种基于RDBMS的高效负荷曲线数据存取设计的方法,其特征在于:所述“hhnn”代表时分,固定4位,“hhnn”所能表达的时间范围,可以是00:0023:59的任意值,并不限制于1、5、10、15、30、60分钟周期的时间,可以连续,也可以不连续,可以是周期的,也可以是随机的,例如:0000:代表零点零分0015:代表零点15分,2345:代表23点45分。3.根据权利要求1所述的一种基于RDBMS的高效负荷曲线数据存取设计的方法,其特征在于:所述“JSON数值”格式的解析是各种程序开发语言普遍支持的一种标准格式,可采用SQL语言、JAVA和C++语言。4.根据权利要求1所述的一种基...

【专利技术属性】
技术研发人员:王锋刘春华王晓栋
申请(专利权)人:深圳弘星智联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1