一种基于HBase的智能电网时标量测数据存储方法与流程

文档序号:12666780阅读:334来源:国知局
本发明涉及一种智能电网时标量测数据的存储方法,具体是涉及一种基于HBase的智能电网时标量测数据存储方法。
背景技术
:智能电网时标量测数据是电网应用中十分重要的数据,作为智能电网四大数据类型的重要组成部分,是智能电网设备状态监测、辅助决策分析、大数据挖掘等的重要基础。当前,智能电网时标量测数据存储的主要特点是:(1)时标量测数据量大,存储周期跨度长;(2)数据格式固定;(3)数据加载吞吐量要求高;(4)访问模式以断面和批量查询为主;(5)对于数据存储稳定性要求高;(6)历史数据规模不断增大,应用的丰富性和互动性不断增强,对历史数据的访问需求越来越高。针对时标量测数据的以上特征,需要提出一种新型的智能电网时标量测数据存储方法。技术实现要素:发明目的:为了克服现有技术中存在的不足,本发明提供一种基于HBase的智能电网时标量测数据存储方法,可以大幅度提升时标量测数据的加载和访问性能,同时提升数据存储的可靠性,目的在于解决:(1)数据规模大、数据产生持续性强的时标量测数据的高速加载;(2)以时间为维度的断面数据(多个量测点在同一个时刻上的数据集合)和批量数据(单个量测点在多个时刻上的数据集合)的快速访问;(3)高可靠的数据加载方法。技术方案:为实现上述目的,本发明的一种基于HBase的智能电网时标量测数据存储方法,包括以下步骤:S1根据量测点的时标和业务模型建立时标量测数据存储模型;S2采用WAL(Write-AheadLogging)技术—预写式日志技术完成对数据记录的加载从而实现将请求加载的数据全部加载到存储模型中;S3根据量测点规模和数据产生频率,建立数据分区机制,当存储模型中数据量达到分区条件时,实现动态预分区。进一步地,所述步骤S1包括以下步骤:基于分布式列式数据库HBase存储结构,设计行键结构为<CC+DT+YMDHMS+MT>,其中CC为地市编码,DT为变电站编码,YMDHMS为年月日时分秒,MT为量测类型;设计列键结构为<MID>,其中MID为设备编码。进一步地,所述步骤S2包括以下步骤:首先完成数据记录的加载过程,将请求加载的数据记录顺序写入一个日志文件中;然后再将请求加载的数据加载至存储模型进行存储操作;当在数据加载过程中,出现断电、崩溃和其他异常时,通过重新扫描所述日志文件实现将内存中未成功写入数据存储模型的数据进行重新加载。有益效果:本发明与现有技术比较,具有的优点是:针对数据规模大、数据产生持续性强的时标量测数据,实现数据高速加载,满足时标量测数据快速加载;采用WAL技术,确保系统异常崩溃时,可通过日志文件快速恢复数据,提升数据加载的可靠性;设计了一种智能电网时标量测数据的列式存储模型,采用聚簇思想,根据时标和业务模型建立存储单元,确保少量数据连续访问,同时进行数据压缩,减少磁盘I/O,提升数据访问性能;根据量测点规模和数据产生频率,建立灵活的数据分区机制,确保大量数据分布式访问,提升数据访问性能。附图说明图1是存储模型结构示意图。具体实施方式下面结合附图对本发明作更进一步的说明。本发明针对智能电网时标量测数据存储特点,提出了一种基于HBase的智能电网时标量测数据存储方法,主要包括以下步骤:根据量测点的时标和业务模型建立时标量测数据存储模型;采用WAL(Write-AheadLogging)技术即预写式日志技术完成对数据记录的加载从而实现将请求加载的数据全部加载到内存中的存储模型文件中;根据量测点规模和数据产生频率,建立数据分区机制,当内存中存储模型文件中存储数据量达到分区条件时,即实现动态预分区。下面分别对上述步骤进行具体说明:根据量测点的时标和业务模型建立时标量测数据存储模型:本发明方法基于分布式列式数据库HBase存储结构,如图1所示,设计RowKey即行键结构为<CC+DT+YMDHMS+MT>,其中CC表示地市编码,DT表示变电站编码,YMDHMS表示年月日时分秒,MT表示量测类型;设计ColumnKey列键结构为<MID>,其中MID表示设备编码,图1中Value表示数据值,即量测点量测数据值;采用WAL技术完成对数据记录的加载从而实现将请求加载的数据全部加载到存储模型中:为了保证数据加载的可靠性,本方法采用WAL(Write-AheadLogging)技术即预写式日志技术;首先完成数据记录的加载过程,将请求加载的数据数据记录顺序写入一个日志文件中;然后再将请求加载的数据加载至内存的存储模型中进行相关存储操作;当在数据加载过程中,出现断电、崩溃等异常时,通过重新扫描日志文件实现将内存中未成功写入数据存储模型的数据进行重新加载,由于日志文件时按照顺序写入,因此数据记载效率是可以得到保证的,同时确保了数据加载的可靠性;根据量测点规模和数据产生频率,建立数据分区机制,当存储模型中数据量达到分区条件时,实现动态预分区:本发明方法通过对存储模型—基于分布式列式数据库HBase存储结构中RowKey行键进行散列的方式建立数据自适应分区策略,在数据加载过程中,首先对RowKey按照字典顺序进行排序,以确保数据加载过程中数据按照RowKey顺序加载至存储模型中,当存储模型中数据量达到分区条件时,该分区提交是指配置指定单区最大存储容量,根据RowKey分布进行分区操作,同时支持通过指定分区的起止RowKey实现动态预分区,再次参照图1,在存储模型中RowKey按照字典顺序排序,排序规则为从RowKey1开始,依次按照RowKey2、RowKey3往下,同样对于ColunmKey按照顺序排序,包括ColunmKey1,ColunmKey2,…,ColunmKeyN,数据加载过程中数据按照RowKey顺序和ColunmKey顺序加载至存储模型中,Value指数据值,当存储模型中数据量达到3×N条时,从RowKey1开始至RowKey3截止实现第一个分区的动态预分区,同样道理,依次实现分区二、分区三至分区N的动态预分区;例如,某地区用电信息采集系统时标量测点为3600万,其数据采样频率均为15分钟,若以一天分一个区的分区机制,则每个分区的数据量达到条,当存储模型中数据量达到3240000000条时,则进行动态预分区。实施例:以下将某地区用电信息采集系统时标量测数据的实例来描述本发明方法的具体实施方式,并采用分布式列式数据库HBase实现上述存储模型;服务器硬件配置如表1所示:表1服务器软件配置如表2所示:操作系统数据库CentOS6.5HBase-1.2.0表2HBase服务参数配置如表3所示:参数名值备注hbase.regionserver.handler.count10RegionServer的请求处理IO线程数hbase.hregion.max.filesize4G单个Reigon的最大存储空间hfile.block.cache.size0.2storefile读缓存占用Heap的百分比hbase.hstore.blockingStoreFiles7storefilecompaction阈值表3数据表结构如表4所示:表4数据模型编码如表5所示:表5设该地区用电信息采集数据量测点规模约为3600万,数据产生周期为15分钟,数据库分表为按天分表,数据分区阈值为4GB,则每个分区的数据量达到条,当存储模型中数据量达到3240000000条时,则进行动态预分区,根据以上参数的配置,通过本发明方法设计的存储模型,数据加载与访问效率如表6所示:操作类型加载访问效率(万/秒)1938表6如上表,本发明方法数据加载效率为19万/秒,本发明方法数据访问效率为38万/秒,其中,单位“万/秒”表示:每一秒钟加载/访问多少万条数据值,在该实例(设该地区用电信息采集数据量测点规模约为3600万,数据产生周期为15分钟,数据库分表为按天分表,数据分区阈值为4GB)的场景下,数据加载的需求大于因此,本发明方法高效地满足了该地区用电信息采集系统时标量测数据应用需求。以上所述仅是本发明的优选实施方式,应当指出:对于本
技术领域
的技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1