一种基于智能电网wams的时序大数据存储方法

文档序号:9810601阅读:487来源:国知局
一种基于智能电网wams的时序大数据存储方法
【技术领域】
[0001 ]本发明属于实时数据库技术领域,主要涉及智能电网WAMS的时序大数据存储方 法。
【背景技术】
[0002] 随着智能电网技术的不断发展,作为智能电网重要支撑的"广域监测系统(Wide Area Measurement System,WAMS)"成为当前研究的热点。电网广域监测系统是通过布局在 全网关键节点的同步相量测量单元(Phasor Measurement Unit,PMU),实现全网的动态监 测与控制。
[0003] 当前,智能电网WAMS主要有以下特点:(1)布局在全网的监测节点数量越来越多; (2)监测节点数据的实时性要求较高,数据产生周期为几十毫秒级;(3)对于系统的稳定性 要求较高;(4)历史时序数据量规模越来越大,应用的丰富性和互动性不断增强,对历史数 据的访问需求越来越高。而常规的数据存储方法并不能良好地适用于智能电网WAMS之中。 因此,有必要针对智能电网WAMS,设计一种与其特点相适应的数据存储方法。

【发明内容】

[0004] 本发明目的是:针对智能电网WAMS时序数据的特征,提供一种能够满足于智能电 网WAMS场景的时序大数据快速加载查询且具有高可靠的存储方法,解决智能电网WAMS量测 节点规模大、数据产生频率高的时序数据的高速加载问题,为实现以时间维度(多个量测节 点,在一个时刻上的数据集合)断面数据的快速查询提供基础。
[0005] 具体地说,本发明是采用以下技术方案实现的,包括以下步骤:
[0006] 1)根据WAMS场景建立相应的键-值存储模型作为数据模型;
[0007] 2)以每秒钟每一个测点创建一个存储单元,存储单元的长度根据WAMS数据的采样 频率设置;
[0008] 3)在数据加载过程中采用预写日志技术,首先将数据以日志形式顺序写入磁盘, 然后再将数据加载至内存进行存储操作;
[0009] 4)对数据中值进行压缩,而键保持不变;
[0010] 5)根据加载数据的规模、加载频率,对数据进行分库。
[0011] 上述技术方案的进一步特征在于,所述键-值存储模型,其键的结构为〈时间戳,测 点id>,值的结构为〈质量码数组,数据值数组〉,表示如下:
[0012] Key =〈timestamp,id>
[0013] Value=<status[UnitLength],valueItem[UnitLength]>
[0014] 其中,Key代表键,t imestamp,代表时间戳,Value代表值,Uni tLength代表存储单 元的长度,status [Uni tLength]为质量码数组,valueItem[Uni tLength]为数据值数组;
[0015] Key的排序方式为:以时间戳优先排序,其次按测点id排序,时间戳与测点id均采 用增序排序;
[0016] Value的质量码数组与数据值数组采用一一对应关系,且质量码数据与数据值数 组的数据元素按照时间顺序存储。
[0017] 本发明的有益效果如下:本发明采用键-值存储模型,符合聚簇思想,每个测点每 一秒钟建立一个存储单元,从而减少冗余数据的存储;同时采用数据压缩,减少磁盘1/0,进 而提升数据加载性能。根据数据测点规模、数据产生频率,建立灵活数据库分库机制,提升 数据查询效率。采用预写日志技术,当系统异常崩溃时,可通过日志文件快速恢复数据,提 升系统的可靠性。
【附图说明】
[0018] 图1是键-值存储模型示意图。
【具体实施方式】
[0019] 下面结合实施例并参照附图对本发明作进一步详细描述。
[0020] 本发明的步骤如下:
[0021] 1)根据WAMS场景建立相应的键-值(K-V,Key-Value)存储模型作为数据模型。图1 给出了κ-v存储模型示意。其中的符号含义为:timestamp,存储单元的时间戳,精度到秒级; id,测点id(量测量的惟一标识);status,存储单元的数据质量码数组;valuel tem,存储单 元的数据值数组;uni tLength,存储单元长度。由该图可知,Κ-V存储模型中key的结构为〈时 间戳,测点id>,value的结构为〈质量码数组,数据值数组〉。
[0022] 其中,模型Key的排序方式:1)时间戳优先排序,其次为测点id; 2)时间戳与测点id 均采用增序排序。而模型Value的质量码数组与数据值数组采用一一对应关系(即: ValUeItem[l]、StatUS[l]表示同一条记录的数值与数值的质量码),且质量码数据与数据 值数组的数据元素按照时间顺序存储。
[0023] 2)以每秒钟每一个测点创建一个存储单元,存储单元的长度(UnitLength)根据 WAMS数据的采样频率设置。由于WAMS场景的数据产生周期为毫秒级,因此,1 < UnitLength < 1000。
[0024] 3)在数据加载过程中采用预写日志技术(Write-Ahead Logging,WAL),首先将数 据以日志形式顺序写入磁盘,然后再将数据加载至内存进行存储操作。当系统崩溃,重新扫 描日志文件即可恢复在内存中,未成功写入至数据库数据文件中的那部分数据。由于记录 写入日志文件是按照顺序方式写入,因此,在保证系统可靠性的同时也有较高数据加载效 率。
[0025] 4)对数据中值进行压缩,而键保持不变;
[0026] 5)根据加载数据的规模、加载频率,对数据进行分库。由于任何类型数据库或多或 少都存在数据堆积效应,如:关系型数据表的"记录"增加、时序数据库测点时标数据增加均 会导致数据查询效率降低,故有必要进行数据分开。按本发明的分库策略,可以灵活的实现 数据库分库。例如,某WAMS系统的测点数量为50000、数据采样频率为50Hz。若以一小时分一 个库的机制,则每一个数据库的时标数据为90亿条。
[0027] 以下将根据某区域电网WAMS系统的应用实例来描述本方法的【具体实施方式】,即: 测点规模为50000测点、数据采样频率为50Hz。本方法采用rocksDB键值数据库实现了上述 模型。所采用的服务器配置如下:
[0033]根据以上参数的配置,某电网区域的WAMS测点规模:5万个测点、数据产生周期为 20毫秒;数据库分库为:每一小时WASM时序数据建立一个rocksDB数据库。同时,根据本方法 κ-v存储模型设置,时序数据顺序加载与查询的效率如下:
[0035]如上表,本方法数据加载与查询效率分别为:2065万/秒、16286万/秒。其中,单位 "万/秒"表示:每一秒钟加载/查询多少万条数据值。在该实例的场景下,数据加载的需求大 于250万/秒(50000测点乘以每秒产生50条数值),因此,本方法高效的满足了 WAMS场景时序 数据应用需求。
[0036]虽然本发明已以较佳实施例公开如上,但实施例并不是用来限定本发明的。在不 脱离本发明之精神和范围内,所做的任何等效变化或润饰,同样属于本发明之保护范围。因 此本发明的保护范围应当以本申请的权利要求所界定的内容为标准。
【主权项】
1. 一种基于智能电网WAMS的时序大数据存储方法,其特征在于,包括以下步骤: 1) 根据WAMS场景建立相应的键-值存储模型作为数据模型; 2) 以每秒钟每一个测点创建一个存储单元,存储单元的长度根据WAMS数据的采样频率 设置; 3) 在数据加载过程中采用预写日志技术,首先将数据以日志形式顺序写入磁盘,然后 再将数据加载至内存进行存储操作; 4) 对数据中值进行压缩,而键保持不变; 5 )根据加载数据的规模、加载频率,对数据进行分库。2. 根据权利要求1所述的基于智能电网WAMS的时序大数据存储方法,其特征在于,所述 键-值存储模型,其键的结构为〈时间戳,测点id>,值的结构为〈质量码数组,数据值数组〉, 表示如下: Key=<timestamp, id> Value=<status[UnitLength], valueItem[UnitLength]> 其中,Key代表键,time stamp,代表时间戳,Value代表值,UnitLength代表存储单元的 长度,8丨81:118[1]11;[让611〖1:11]为质量码数组,¥311161丨6111[1]11;[让611〖1:11]为数据值数组; Key的排序方式为:以时间戳优先排序,其次按测点id排序,时间戳与测点id均采用增 序排序; Value的质量码数组与数据值数组采用一一对应关系,且质量码数据与数据值数组的 数据元素按照时间顺序存储。
【专利摘要】本发明公开了一种基于智能电网WAMS的时序大数据存储方法,属于实时数据库技术领域。本发明根据WAMS场景建立相应的键-值存储模型作为数据模型,以每秒钟每一个测点创建一个存储单元,存储单元的长度根据WAMS数据的采样频率设置,在数据加载过程中采用预写日志技术,对数据中值进行压缩,而键保持不变,根据加载数据的规模、加载频率,对数据进行分库。本发明能够满足于智能电网WAMS场景的时序大数据快速加载、查询,具有很强的高可靠性。
【IPC分类】G06F17/30
【公开号】CN105574074
【申请号】CN201510819767
【发明人】王远, 蒋英明, 郑晓露, 周淳, 粟勇, 史英杰, 袁军, 吴鹏, 陈亮, 陈立宇, 朱月梅
【申请人】江苏瑞中数据股份有限公司
【公开日】2016年5月11日
【申请日】2015年11月23日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1