快速迁移多源异构电网大数据到HBase的方法及系统技术方案

技术编号:14874680 阅读:162 留言:0更新日期:2017-03-23 22:23
本发明专利技术公开了快速迁移多源异构电网大数据到HBase的方法及系统;包括如下步骤:连接电网数据库与HBase数据平台;电网数据库中的每一条数据均存在唯一的标识ID,电网数据库中的每一条数据均由标识ID+数据内容组成;根据唯一的标识ID建立ID映射表;选定数据源后,读取ID映射表,将ID映射表写入内存,ID映射表常驻内存;将ID映射表中的编码分别进行编码压缩,分别形成数据类ID行键和数据类内部ID行键;将数据类ID行键和数据类内部ID行键转化为字节数组;将数据类ID行键和数据类内部ID行键以及HBase的列名称qualifier按字节形式写入HBase表中。本发明专利技术实现了复杂的电力数据格式进行快速迁移。

【技术实现步骤摘要】

本专利技术涉及电力系统信息与技术通信领域,尤其涉及快速迁移多源异构电网大数据到HBase的方法及系统
技术介绍
在电网系统中,输变电设备是主要的设备。输变电设备的状态涉及到整个电网系统的安全以及系统的正常运行。电网系统的数据主要为输变电设备的状态数据。与输变电设备状态相关的数据有运行时气数据QX、微气象数据WQX、设备台账数据、EMS数据和GIS数据等。同时,设备的状态数据是时序数据,数据体量将随时间快速增长。因此,电网系统数据具有数据体量巨大,数据类型复杂的特点。并且,电网数据存储方式多样,数据存储在多种类型的数据源当中,如txt文本文件、CSV文件、Oracle数据库中和MySQL数据库中等。现在的智能变电站状态监测系统中存在的一些导入数据库的方法,大多是通过模型解析模块导入变电站模型配置文件,读取变电站状态监测系统模型数据,并转换为数据库表信息和数据库结构信息,随后写入传统关系型数据库。考虑到电网数据体量不断增长,传统的存储方式对存储服务器造成巨大的压力,因此将数据迁移到统一的HBase分布式平台进行存储管理具有非常重要的意义。然而,电网数据体量大,结构类型复杂,同时存储方式,使得数据迁移工作变得复杂。如何髙效快速地进行数据在新旧平台之间的迁移,是目前亟待解决的技术问题之一。专利[1](基于HBase的数据导入方法和系统CN104778182A)提出了一种提高导入数据到HBase速度的方法。在该专利中,首先将文件流中的行数据直接转化成json对象,再通过导入线程将json对象构造HBase的row对象,然后将row对象导入到HBase当中。专利[2](一种将智能变电站状态监测系统模型导入数据库的方法CN102521421A)提出了一种智能变电站状态监测系统模型导入数据库的方法。该方法首先读取智能变电站状态监测系统模型中的信息,然后模型信息与数据库表信息转换模块将所述模型解析模块读取的信息转换为数据库表信息和数据库结构信息。专利[3](一种基于HBase的输电线路综合数据存储方法CN104216989A)提供了一种基于HBase的输电线路综合数据存储方法。它采集输电线路综合数据,将所述输电线路综合数据进行分类处理,根据分类结果构建HBase表,并将所述HBase表内的输电线路综合数据转换为字节数组;将所述字节数组按照HBase表格式,依次存储至HBase分布式数据库。专利[1]和专利[2]以及专利[3]提出的方法均本方法不同。在专利[1]中,该方法仅仅将数据进行JSON化,实现了数据的规范化,方便构造row对象。但是在传输的数据量上没有减少,同时因为JSON化,反而需要更多的时间开销;同时该方法并没有考虑到空间效率的问题。专利[2]中提出了数据模型,但是该模型是针对传统数据库的,并没有考虑到大数据HBase平台。专利[3]中虽有提出HBase中列与行键的构成,但在行键的构建上直接采用字符串与编号连接的方法,无法针对更复杂的电力数据格式进行快速迁移。
技术实现思路
本专利技术的目的就是为了解决上述问题,提供一种快速迁移多源异构电网大数据到HBase的方法及系统,该方法可以将分布于CSV文件、Oracle数据库等多源的电网大数据快速迁移到HBase大数据平台中。为了实现上述目的,本专利技术采用如下技术方案:快速迁移多源异构电网大数据到HBase的方法,包括如下步骤:步骤(1):连接电网数据库与HBase数据平台;电网数据库中的每一条数据均存在唯一的标识ID,电网数据库中的每一条数据均由标识ID+数据内容组成;步骤(2):根据唯一的标识ID建立ID映射表,所述ID映射表包括包括数据类ID映射表和数据类内部ID映射表,将数据类ID映射表和数据类内部ID映射表存储在第二Oracle数据库当中;数据类ID映射表包括:数据类ID、数据类ID编码和数据类ID备注;数据类内部ID映射表包括:数据类内部ID和数据类内部ID编码;步骤(3):对数据源进行选择识别,选定数据源后,读取第二Oracle数据库当中的数据类ID映射表和数据类内部ID映射表,将数据类ID映射表和数据类内部ID映射表写入内存,数据类ID映射表和数据类内部ID映射表常驻内存;步骤(4):将数据类ID映射表中的数据类ID编码和数据类内部ID映射表中的数据类内部ID编码分别进行编码压缩,分别形成数据类ID行键和数据类内部ID行键;步骤(5):将数据类ID行键和数据类内部ID行键转化为字节数组;步骤(6):将数据类ID行键和数据类内部ID行键以及HBase的列名称qualifier按字节形式写入HBase表中。所述步骤(1)电网数据库包括:CSV文件、txt文本文件和第一Oracle数据库;所述步骤(2)的唯一的标识ID由数据类ID和数据类内部ID组成;数据类ID为表类型,数据类内部ID为表内部数据列的字段;所述步骤(2)的数据类ID编码的取值范围是1~13;数据类内部ID编码的取值范围是1~19;所述步骤(3)的数据源包括CSV文件、txt文本文件和第一Oracle数据库。所述步骤(4)的步骤为:根据数据类ID,查找步骤(3)存储的数据类ID映射表,得到数据类ID的编码;根据数据类内部ID,查找步骤(3)读入内存的数据类内部ID映射表,得到数据类内部ID的编码;根据数据类ID的取值范围,截取有意义的字节数组,将无意义的字段舍弃;同理,根据数据类内部ID的取值范围,截取有意义的字节数组,将无意义的字段舍弃。数据类ID取值范围为1~256,有意义的字节数组为最低位的8个bit。数据类内部ID取值范围根据需要设定,有意义的字节数组根据需要设定。截取最低位的8个bit,所需存储字节由int型的4字节减少为1个字节,节省75%的空间。快速迁移多源异构电网大数据到HBase的系统,包括:数据库连接模块:连接电网数据库与HBase数据平台;电网数据库中的每一条数据均存在唯一的标识ID,电网数据库中的每一条数据均由标识ID+数据内容组成;映射表建立模块:根据唯一的标识ID建立ID映射表,所述ID映射表包括包括数据类ID映射表和数据类内部ID映射表,将数据类ID映射表和数据类内部ID映射表存储在第二Oracle数据库当中;数据类ID映射表包括:数据类ID、数据类ID编码和数据类ID备注;数据类内部ID映射表包括:数据类内部ID和数据类内部ID编码;映射表读取模块:对数据源进行选择识别,选定数据源后,读取第二Oracle数据库当中的数据类ID映射表和数据类内部ID映射表,将数据类ID映射表和数据类内部ID映射表写入内存,数据类ID映射表和数据类内部ID映射表常驻内存;编码压缩模块:将数据类ID映射表中的数据类ID编码和数据类内部ID映射表中的数据类内部ID编码分别进行编码压缩,分别形成数据类ID行键和数据类内部ID行键;字节数组转化模块:将数据类ID行键和数据类内部ID行键转化为字节数组;数据写入模块:将数据类ID行键、数据类内部ID行键以及HBase的列名称qualifier按字节形式写入HBase表中。所述编码压缩模块被配置为:根据数据类ID,查找数据类ID映射表,得到数据类ID的编码;根据数据类内部ID,查找读入内存的数据类内部ID映射表,得到数据类内部ID的编码;本文档来自技高网
...
快速迁移多源异构电网大数据到HBase的方法及系统

【技术保护点】
快速迁移多源异构电网大数据到HBase的方法,其特征是,包括如下步骤:步骤(1):连接电网数据库与HBase数据平台;电网数据库中的每一条数据均存在唯一的标识ID,电网数据库中的每一条数据均由标识ID和数据内容组成;步骤(2):根据唯一的标识ID建立ID映射表,所述ID映射表包括包括数据类ID映射表和数据类内部ID映射表,将数据类ID映射表和数据类内部ID映射表存储在第二Oracle数据库当中;数据类ID映射表包括:数据类ID、数据类ID编码和数据类ID备注;数据类内部ID映射表包括:数据类内部ID和数据类内部ID编码;步骤(3):对数据源进行选择识别,选定数据源后,读取第二Oracle数据库当中的数据类ID映射表和数据类内部ID映射表,将数据类ID映射表和数据类内部ID映射表写入内存,数据类ID映射表和数据类内部ID映射表常驻内存;步骤(4):将数据类ID映射表中的数据类ID编码和数据类内部ID映射表中的数据类内部ID编码分别进行编码压缩,分别形成数据类ID行键和数据类内部ID行键;步骤(5):将数据类ID行键和数据类内部ID行键转化为字节数组;步骤(6):将数据类ID行键和数据类内部ID行键以及HBase的列名称qualifier按字节形式写入HBase表中。...

【技术特征摘要】
1.快速迁移多源异构电网大数据到HBase的方法,其特征是,包括如下步骤:步骤(1):连接电网数据库与HBase数据平台;电网数据库中的每一条数据均存在唯一的标识ID,电网数据库中的每一条数据均由标识ID和数据内容组成;步骤(2):根据唯一的标识ID建立ID映射表,所述ID映射表包括包括数据类ID映射表和数据类内部ID映射表,将数据类ID映射表和数据类内部ID映射表存储在第二Oracle数据库当中;数据类ID映射表包括:数据类ID、数据类ID编码和数据类ID备注;数据类内部ID映射表包括:数据类内部ID和数据类内部ID编码;步骤(3):对数据源进行选择识别,选定数据源后,读取第二Oracle数据库当中的数据类ID映射表和数据类内部ID映射表,将数据类ID映射表和数据类内部ID映射表写入内存,数据类ID映射表和数据类内部ID映射表常驻内存;步骤(4):将数据类ID映射表中的数据类ID编码和数据类内部ID映射表中的数据类内部ID编码分别进行编码压缩,分别形成数据类ID行键和数据类内部ID行键;步骤(5):将数据类ID行键和数据类内部ID行键转化为字节数组;步骤(6):将数据类ID行键和数据类内部ID行键以及HBase的列名称qualifier按字节形式写入HBase表中。2.如权利要求1所述的快速迁移多源异构电网大数据到HBase的方法,其特征是,所述步骤(1)电网数据库包括:CSV文件、txt文本文件和第一Oracle数据库。3.如权利要求1所述的快速迁移多源异构电网大数据到HBase的方法,其特征是,所述步骤(2)的唯一的标识ID由数据类ID和数据类内部ID组成;数据类ID为表类型,数据类内部ID为表内部数据列的字段。4.如权利要求1所述的快速迁移多源异构电网大数据到HBase的方法,其特征是,所述步骤(2)的数据类ID编码的取值范围是1~13;数据类内部ID编码的取值范围是1~19。5.如权利要求1所述的快速迁移多源异构电网大数据到HBase的方法,其特征是,所述步骤(3)的数据源包括CSV文件、txt文本文件和第一Oracle数据库。6.如权利要求1所述的快速迁移多源异构电网大数据到HBase的方法,其特征是,所述步骤(4)的步骤为:根据数据类ID,查找步骤(3)存储的数据类ID映射表,得到数据类ID的编码;根据数据类内部ID,查找步骤(3)读入内存的数据类内部ID映射表,...

【专利技术属性】
技术研发人员:林颖张方正苏建军李冬郭志红陈玉峰祝永新盛戈皞李勇吴观斌杨祎朱城铠刘斌王畅马艳李程启耿玉杰白德盟石鑫张雷
申请(专利权)人:国网山东省电力公司电力科学研究院上海交通大学国家电网公司
类型:发明
国别省市:山东;37

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

1