一种电网时序大数据并行加载方法技术

技术编号:11133029 阅读:463 留言:0更新日期:2015-03-12 03:20
本发明专利技术公开了一种电网时序大数据并行加载方法,以解决多客户端并行加载海量历史时序数据时遇到的不能并行加载而产生等待现象的问题。本发明专利技术通过对索引映射表做分区处理、根据待加载的数据量的大小对历史时序数据存储表做分区预处理、根据各数据节点上所分配的历史时序数据存储表分区的范围,对待加载的海量历史时序数据做保持数据局部性的处理,经过上述处理后能够有效减少并行加载海量历史时序数据时多客户端读写索引映射表文件遇到的磁盘IO冲突和集群不同节点之间网络通信开销,避免单节点加载海量历史时序数据时负载过重带来的性能问题。本方法能充分利用分布式并行处理能力,大大减少海量历史时序数据加载的时间。

【技术实现步骤摘要】

本专利技术涉及一种数据并行加载方法,属于大数据处理、分布式实时数据库领域,特别适用于智能电网、物联网中海量历史时序数据的并行加载方法。
技术介绍
随着工业化、信息化的不断发展,大型流程工业企业在生产信息化过程中产生越来越多的海量历史时序数据。以电力系统为例,一方面是测点规模越来越大,预计将达到千万级甚至亿级以上;另一方面是历史时序数据量规模越来越大,预计将达到PB字节以上,这对实时数据库的处理规模、处理速度提出了更高的要求。传统实时数据库受制于其传统的软件体系架构,在数据规模、处理能力、并行计算、负载均衡、动态自治等方面已无法满足实际应用需求。在实时数据库领域,引入大数据处理技术来解决上述问题是当前研究时序大数据处理的主要方法,而基于Hadoop+HBase的方法则是当前大数据处理事实上的标准(如图1所示)。对以HBase为存储层的大数据处理系统,为了提高系统的查询性能,一般对数据存储表的索引做哈希处理生成固定长度的字节数组,即单独建立一张表来完成数据存储表索引的哈希映射,也称为索引映射表。生产系统运行时,随着时间的推移大量测点将产生海量的历史时序数据,而对于基于Hadoop+HBase的大数据处理系统的初次上线或运行时已经产生的海量历史时序数据的加载将成为一个亟待解决的问题。单客户端加载海量历史时序数据不能发挥分布式并发处理的能力,需要耗费大量的时间才能完成,而一般的多客户端并行加载在<br>数据加载时又会遇到多客户端同时读写索引映射表文件产生大量的磁盘IO冲突和集群不同节点之间网络通信开销大而引起的不能并行加载及由此产生的等待现象的问题;经初步检索,暂未发现有解决上述技术问题的技术方案。
技术实现思路
为了解决上述问题,本专利技术提供了一种电网时序大数据并行加载方法,该方法可以有效减少并行加载时,多客户端读写索引映射表文件遇到的磁盘IO冲突,并且通过保持数据局部性的方法来减少集群节点之间的网络通信开销,这样能够充分利用分布式系统的并行处理能力进而高效的完成海量历史时序数据的加载。为了实现上述目的,本专利技术采用了如下技术方案:一、分区处理多客户端并行加载海量历史时序数据,每条数据记录都会首先访问索引映射表文件来确定该条数据记录将要写到哪个数据存储表的分区,这样一来对于海量历史时序数据并行加载时,对索引映射表文件的读写将造成过多的磁盘IO冲突,进而成为影响海量历史时序数据并行加载性能的瓶颈。因此,本专利技术对索引映射表做分区处理,利用HBase的分区管理能力,来使索引映射文件表的不同分区均衡地分布在不同的数据节点上,这样可以减少多客户端并行加载时遇到的磁盘IO冲突;本专利技术还根据待加载的数据量的大小对历史时序数据存储表做分区预处理,以避免多客户端并行加载海量历史时序数据时过多的写数据请求集中到某个数据节点及“hot region”问题。二、保持待加载数据的数据局部性(Data Locality)海量历史时序数据存储于单个数据节点进行数据加载将不能充分发挥分布式系统并行处理的能力,且会造成该机器节点负载过重。而将海量历史时序数据随意的按文件大小切分后分发到各数据节点,这样进行多客户端数据加载时将会使不同数据节点之间网络通信开销成为制约系统性能的瓶颈。本专利技术方法通过读取每个数据节点所管理的历史数据存储表的分区及每个分区所对应的索引映射表的范围,对待加载的海量历史时序数据按分区进行切分处理,并把切分后的属于同一个数据节点的历史时序数据合并后分发到其所对应的数据节点。经过上述处理即保持数据局部性后,再进行多客户端并行加载数据时,能够确保每个客户端会将待加载的历史时序数据存储在本客户端机器(数据节点)所管理的历史数据存储表的分区中。这样,避免了多客户端并行加载海量历史时序数据时网络带宽成为影响系统加载性能瓶颈的可能。本专利技术方法对索引映射表文件和历史数据存储表做分区处理后能够减少并行加载海量历史时序数据时多客户端同时读写索引映射表遇到的磁盘IO冲突、过多的写数据请求集中到某一个数据节点及“hot region”问题,保持待加载数据的数据局部性能够避免多客户端并行加载海量历史时序数据时集群不同数据节点之间的网络通信开销成为影响系统加载性能瓶颈的可能性,进而能够最大限度的利用分布式并行处理能力,减少数据加载的时间,从而高效地完成海量历史时序数据的并行加载。附图说明图1是典型的Hadoop+HBase分布式系统集群架构图。图2是本专利技术方法的流程图。具体实施方式下面结合附图和实施例对本专利技术作进一步详细说明。本实施例以电网业务场景中某一应用实例来描述本专利技术。假设如下基于Hadoop、HBase的集群由5台机器构成并对该集群进行高可用HA配置,各机器的配置情况如下表1。在该应用场景中有60万测点,数据采集频率为60帧/min,采集到的每条数据记录大概为70字节,则这60万测点一天(24小时)将产生3.3T字节的数据。下面以将3.3T数据加载到大数据系统中为例描述本方法的实施方式。表1集群各机器的配置本专利技术方法的流程图如图2所示:(1)分区处理对索引映射表文件进行分区处理。将索引映射表文件根据该集群及测点规模的情况分为30个分区,利用HBase的分区管理功能,将这30个分区随机均衡的分配给三个datanode节点。对历史数据存储表进行分区预处理,根据该集群datanode个数、待加载的数据量大小及集群分区配置文件的大小,将历史数据存储表预分为5000个分区,利用HBase的分区管理功能,将这5000个分区随机均衡分配给三个datanode节点。(2)保持数据局部性及并行加载将60万个测点名写入到索引映射表文件中;读取各datanode节点所管理的历史数据存储表的分区及每个分区所对应的索引映射表的范围,对待加载的3.3T数据进行切分处理;把属于同一个数据节点的历史数据的切分合并后分发到其所对应的数据节点(datanode);在每个datanode上启动一个客户端并行加载这些历史时序数据。本专利技术不限于上述实施例,一切采用等同替换或等效替换形成的技术方案均属于本专利技术要求保护的范围。本文档来自技高网
...
一种电网时序大数据并行加载方法

【技术保护点】
一种电网时序大数据并行加载方法,其特征在于,包括如下步骤:对索引映射表做分区处理,将索引映射表文件的不同分区均衡地分布到不同的数据节点上;根据待加载的数据量的大小对历史时序数据存储表做分区预处理;根据各数据节点上所分配的时序数据存储表分区的范围,对待加载的海量历史时序数据做保持数据局部性处理;启动多个客户端并行加载各自数据节点上的数据。

【技术特征摘要】
1.一种电网时序大数据并行加载方法,其特征在于,包括如下步骤:
对索引映射表做分区处理,将索引映射表文件的不同分区均衡地分布到不
同的数据节点上;
根据待加载的数据量的大小对历史时序数据存储表做分区预处理;
根据各数据节点上所分配的时序数据存储表分区的范围,对待加载的海量
历史时序数据做保持数据局部性处理;
启动多个客户端并行加载各...

【专利技术属性】
技术研发人员:王远袁军包建国胡健张珂珩
申请(专利权)人:江苏瑞中数据股份有限公司
类型:发明
国别省市:江苏;32

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

1