一种基于HBase的电网设备状态监测数据存储和查询方法及系统的制作方法

文档序号:8528252阅读:245来源:国知局
一种基于HBase的电网设备状态监测数据存储和查询方法及系统的制作方法
【技术领域】
[0001] 本发明属于电力系统网络化监控及信息处理技术领域,尤其涉及一种基于HBase的电网设备状态监测数据存储和查询方法及系统。
【背景技术】
[0002] 现代电网要求可靠、安全、经济、高效运行,这需要对组成电网的主要设备的健康 状况进行在线监测、数据搜集和评估。监测数据以"数据点"(单个设备的一个属性)为单 位,描述一项数据指标,形成时间序列数据。由于电网设备数量大,采样率高,监测数据规模 呈现海量。现有电网设备状态监测主站系统普遍采用企业级关系数据库进行数据的集中存 储。由于关系型数据库以及所采用的按行存储模式主要被设计为支持数据记录和事务处理 (OLTP),能够进行多条件的查询,但支持的数据量规模小,不能满足电网状态监测数据的海 量存储需求;另外,当存储的数据量较大时,数据装载以及查询时性能下降明显,不能很好 的适应状态监测大数据的准实时处理应用需求。目前,只有少量的监测数据上传到主站系 统,大量可能隐含重大价值的数据被丢弃,造成数据的极大浪费。
[0003] 另外,状态监测数据也可以直接以文本文件的形式存储,并保存到磁盘阵列中,这 种方式只适合对数据进行存储备份,查询功能只能在应用软件层上实现,实现复杂、功能不 稳定,系统代价大,更不易实现多条件复杂查询。
[0004] Hadoop云计算平台具备可靠性高、数据存储量大、数据并行处理等优势,目前成为 信息技术领域的研宄热点。广泛应用于生物信息处理、搜索引擎、文本分类等领域。Hadoop 提供了一个分布式的数据库系统HBase,是建立在HDFS之上,提供高可靠性、高性能、列存 储、可伸缩、实时读写的数据库系统,这为实现海量电网设备状态监测数据的存储和快速查 询提供了新的技术支持。但是HBase介于nosql和RDBMS之间,仅能通过主键(rowkey) 和主键的range来检索数据,仅支持单行事务。用户在使用电网设备状态监测系统时,通常 需要利用多个条件对监测数据进行综合查询。因此要应用HBase进行电网设备状态监测数 据的存储,需要对其逻辑存储模式进行有效的设计。
[0005] 电网设备状态监测数据的格式可描述如下表一:
[0006] 表一
【主权项】
1. 一种基于HBase的电网设备状态监测数据存储和查询方法,其特征在于,包括: 汇聚节点收集状态监测数据,并上传至HDFS主控节点; HDFS主控节点把接收到的状态监测数据合并生成大文件,并上传到HDFS ; MapReduce模块读取上传到HDFS中的数据,并根据读取的数据生成rowkey,根据 rowkey 构建 HBase 表; 设置查询条件,Jffiase根据所述查询条件和rowkey进行查询。
2. 根据权利要求1所述的基于HBase的电网设备状态监测数据存储和查询方法,其 特征在于,将设备编号和采集时间转换为整型,再采用Z曲线对设备编号和采集时间进行 重新编码,z-order = fz (Int (设备编号),Int (采集时间)),把所述rowkey设计为 rowkey =设备类型编号+z-order。
3. 根据权利要求2所述的基于HBase的电网设备状态监测数据存储和查询方法,其特 征在于,所述查询条件设置为关键字Q (Q. S,Q. R)查询,其中,Q. S为设备类型集,Q. R为查询 的设备编号范围和采样时间范围,根据所述z-order = fzaa$Ss (Int (设备编号),Int (采 集时间))对Q. R进行Z曲线变换,得到z-order的范围z-rang,根据Q. S和z-rang调用 HBase的scan接口进行查询。
4. 根据权利要求3所述的基于HBase的电网设备状态监测数据存储和查询方法,其特 征在于,当汇聚节点接收的缓存数据到预先设定阈值^时,将缓存中的数据发送至HDFS 主控节点,HDFS主控节点按照Si大小将接收到的缓冲数据首先存储为本地文件,待本地文 件数量累计达到预先设置的阈值时S2,利用SequenceFile将6 2个本地文件合并生成规 模为(S # S 2)的大文件,并启动文件上传至HDFS的流程。
5. 根据权利要求4所述的基于HBase的电网设备状态监测数据存储和查询方法,其特 征在于,所述HBase表包括rowkey、时间戳和列族,列族包括设备类型、设备编号和N个连续 采样点数据三列。
6. 根据权利要求5所述的基于HBase的电网设备状态监测数据存储和查询方法,其特 征在于,所述汇聚节点接收状态检测数据后进行数据清洗,并采用循环缓冲池进行数据缓 存。
7. -种实施权利要求1所述方法的系统,其特征在于,包括汇聚节点、HDFS主控节点、 HDFS、HBase和查询客户端,汇聚节点收集状态监测数据,并上传至HDFS主控节点,HDFS主 控节点把接收到的状态监测数据合并生成大文件,并上传到HDFS,HDFS中的MapReduce模 块读取上传到HDFS中的数据,并根据读取的数据生成rowkey,根据rowkey构建HBase表, 查询客户端用于设置查询条件和接收查询结果,HBase根据所述查询条件和rowkey进行查 询。
8. 根据权利要求7所述系统,其特征在于,所述MapReduce模块将设备编号和采集 时间转换为整型,再采用Z曲线对设备编号和采集时间进行重新编码,z-order = fzaa $换(Int (设备编号),Int (采集时间)),把所述rowkey设计为rowkey =设备类型编号 +z-〇rder〇
9. 根据权利要求8所述系统,其特征在于,所述查询条件设置为关键字Q(Q. S,Q. R) 查询,其中,Q.S为设备类型集合,Q.R为查询的设备编号范围和采样时间范围,根据所 述z-order = fzaa$换(Int (设备编号),Int (采集时间))对Q. R进行Z曲线变换,得到 z-order的范围z-rang,根据Q. S和z-rang调用HBase的scan接口进行查询。
10.根据权利要求9所述系统,其特征在于,当汇聚节点接收的缓存数据到预先设定 阈值^时,将缓存中的数据发送至HDFS主控节点,HDFS主控节点按照S1大小将接收到 的缓冲数据首先存储为本地文件,待本地文件数量累计达到预先设置的阈值时S2,利用 SequenceFile将S2个本地文件合并生成规模为(S 3 S2)的大文件,并启动文件上传至 HDFS的流程。
【专利摘要】本发明涉及一种基于HBase的电网设备状态监测数据存储和查询方法及系统,方法包括:汇聚节点收集状态监测数据,并上传至HDFS主控节点:HDFS主控节点把接收到的状态监测数据合并生成大文件,并上传到HDFS;MapReduce模块读取上传到HDFS中的数据,并根据读取的数据生成rowkey,根据rowkey构建HBase表;设置查询条件,HBase根据所述查询条件和rowkey进行查询。本发明将电网设备状态监测数据与HBase、HDFS相结合,能够支持海量状态检测数据的可靠存储和快速的多条件查询。
【IPC分类】G06F17-30
【公开号】CN104850640
【申请号】CN201510274013
【发明人】宋亚奇, 朱永利, 李莉
【申请人】华北电力大学(保定)
【公开日】2015年8月19日
【申请日】2015年5月26日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1