一种用于电力大数据快速组合查询的动态索引方法技术

技术编号:10962320 阅读:106 留言:0更新日期:2015-01-28 14:46
本发明专利技术公开了一种用于电力大数据快速组合查询的动态索引方法,其特征在于,所述方法具体包括如下步骤:SS1利用动态索引图技术,为电力大数据建立一套立体的索引系统;SS2利用多条件组合查询方法创建索引;SS3建立电力大数据快速组合查询方案。本发明专利技术所达到的有益效果:采用动态索引图技术,实现多条件列索引的建立和快速组合查询,通过建立索引图为每个查询专门创建复合索引,避免了进行全表逐行扫描,大大提升了电力大数据组合查询的速度。

【技术实现步骤摘要】

本技术涉及,属于电力信息化

技术介绍
随着电力系统数字化进程的推进,电力系统积累了大量的发、输、用电数据。目前仅江苏省用电信息系统历年保存下来的全省用电信息数据已达到几十TB,如何利用现有的大数据分析技术,挖掘电力大数据的潜在价值,使电力企业为客户提供更好的服务,是一个值得研究的课题。而2013年《中国电力大数据发展白皮书》的发布,将中国的电力大数据研究推向了一个新的起点,对中国电力大数据的研究与应用有着划时代的意义。 电力大数据其特征可概括为3 “V”和3 “E”,3 “V”代表体量大(Volume),类型多(Variety)和速度快(Velocity), 3“E”代表数据即能量(Energy)、数据即交互(Exchange)、数据即共情(Empathy)。在用电大数据中,这样的概括同样适用。 大数据基础之上创建高效索引虽然非常之难,但显而易见的是,大数据对索引的需求相比传统数据库更加迫切:传统数据库在几十万、几百万数据量的情况下需要使用索引才能提供满足要求的查询性能,那么专注于处理动辄几百亿、几千亿数据量的大数据技术如果不提供索引又如何能满足性能需求呢?传统数据库的索引其实都是一种单索引结构,虽然很多基于Hadoop的大数据产品可以支持复合索引,然而这种复合索引其本质依然是单索引,即一次查询只能用一个索引,所谓复合索引也只是将多个字段简单拼接。单索引的效率可以满足用户单条件的查询,而传统的复合索引由于其拼接的技术过于简单,因此也只能支持单一的查询,如果用户的查询条件更复杂、条件组合更灵活时,它就完全不能满足用户的需求了。 目前比较常见的大数据解决方案为Hadoop+ HBase,该解决方案通过搭建分布式处理软件框架和分布式存储系统,实现大数据的分布式存储和查询。HBase是按Rowkey进行排序和存储的,在进行数据查询时需要对数据块按行检索,但是查询速度远无法满足实时的需求。
技术实现思路
为克服现有技术存在的缺陷,解决上述技术问题,本专利技术。 本专利技术采用如下技术方案:,其特征在于,所述方法具体包括如下步骤:SSl利用动态索引图技术,为电力大数据建立一套立体的索引系统;SS2利用多条件组合查询方法创建索引;SS3建立电力大数据快速组合查询方案。 优选地,步骤SSl包括:首先利用第一个域进行排序,建立若干索引起始点,然后使用hash技术将索引分段,构建一个多级立体式的索引分段系统。 优选地,步骤SS2包括:当用户使用条件组合进行数据查询时,数据库引擎会依据自身的独有机制动态使用这些原本独立创建索引提供任意组合的多条件的数据查询;优选地,步骤SS2还包括:若使用没有创建索引的字段与其它已经创建了索引的字段进行组合查询,系统首先智能地去判断,发现其中的几个字段已有索引,将优先使用这几个字段初步判断与过滤,得到一组中间查询结果;对于并未建立索引的其它字段,需要再对中间结果数据进行逐条扫描。 优选地,步骤SS3具体包括如下步骤:1)用户从客户端输入SQL命令;2)通过JDBC和HBase连接到索引数据库;3)解析SQL命令,从索引数据库找到对应的索引文件;4)对索引文件进行修剪,形成针对具体查询命令的动态索引图;5)通过动态索引图,得到需要查询的HFile的RowKey; 6)HBase根据RowKey从HDFS取数据;7)将查询结果返回给用户。 优选地,步骤SS3中的步骤2)包括:当HBase读入新增数据时,所有数据同步被送到指定的查询加速服务器,按指定关键字和日期对某个字段进行数值的统计,并建立查询索引;当用户向HBase发出查询请求时,该请求被即时送到特制的查询引擎,根据查询条件返回对应的索引地址,通过索引地址找到原始数据,并返回结果。 上述术语的含义:DIG (dynamic index graph)即动态索引图技术。 Hash, 一般翻译做“散列”,就是把任意长度的输入(又叫做预映射,pre-1mage),通过散列算法,变换成固定长度的输出,该输出就是散列值。 SQL (Structured Query Language)即结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 HBase即Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。 JDBC (Java Data Base Connectivity)即 java 数据库连接,是一种用于执行 SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。 RowKey相当于mysql数据库中的primary key,它就是那几个主键列的组合,列的顺序与primary key中定义的顺序一致。 HDFS 即 Hadoop Distributed File System,是一个分布式文件系统。 本专利技术所达到的有益效果:采用动态索引图技术,实现多条件列索引的建立和快速组合查询,通过建立索引图为每个查询专门创建复合索引,避免了进行全表逐行扫描,大大提升了电力大数据组合查询的速度。 【附图说明】 图1是本专利技术的动态索引图的一个索引实施例的示意图。 图2是本专利技术的电力大数据组合查询的流程示意图。 【具体实施方式】 下面结合附图对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。 为了解决大数据查询的效率问题,同时避免传统复合索引技术的带来的局限性,本专利技术提出了一种适用于用电大数据的复合索引技术——动态索引图技术(dynamicindex graph, DIG)。 DIG技术是一种基于分布式存储,分布式计算的索引架构,它对数据建立了一套立体的索引系统。这套索引系统首先利用第一个域进行排序,建立若干索引起始点,使用hash技术将索引分段,由第一个域的这些起始点指向下一个域的分段,以此类推,构建一个多级立体式的索引分段系统。当某一分段较疏松时,适当合并减少分段数,当某一分段较密集时,适当分离多建立分段,以达到分段的存储读取效率与查询效率之间的平衡。当一个查询开始时,由一个或多个起始点开始,根据约束条件进行递归查询。最终确定终结点的查询内容。 DIG充分利用了云设备的缓存调度,多核计算,将孤立创建的索引连接成索引系统,如图1所示的是本专利技术的动态索引图的一个索引实施例的示意图。当用户执行查询任务时,系统将智能的甄别查询类型,查询规模,自动选取最优的查询算法。在立体的索引系统中,利用选择的最优算法规避逐条搜索,充分使用系统预处理产生的多级索引及索引间的关联索引,索引内预判预读,多线程并行处理。最终达到大幅提高查询速度的效果。 由于在普通规模数据系统中的大多数查询是能够在秒级时间单位中完成,而这些操作对于海量数据往往就会上升成为分钟级,小时级的操作,DIG技术将查询海量数据时的大量应用从耗时若干分钟,加速至只需若干秒,从而把系统的响应时间压缩到用户等待的心理承受范围之内。 以四台设备,40亿条数据为例,假设每条数据有五个字段,每个字段10个字节定长本文档来自技高网
...

【技术保护点】
一种用于电力大数据快速组合查询的动态索引方法,其特征在于,所述方法具体包括如下步骤:SS1利用动态索引图技术,为电力大数据建立一套立体的索引系统;SS2利用多条件组合查询方法创建索引;SS3建立电力大数据快速组合查询方案。

【技术特征摘要】
1.一种用于电力大数据快速组合查询的动态索引方法,其特征在于,所述方法具体包括如下步骤: SSl利用动态索引图技术,为电力大数据建立一套立体的索引系统; SS2利用多条件组合查询方法创建索引; SS3建立电力大数据快速组合查询方案。2.根据权利要求1所述的一种用于电力大数据快速组合查询的动态索引方法,其特征在于,所述步骤SSl包括:首先利用第一个域进行排序,建立若干索引起始点,然后使用hash技术将索引分段,构建一个多级立体式的索引分段系统。3.根据权利要求1所述的一种用于电力大数据快速组合查询的动态索引方法,其特征在于,所述步骤SS2包括:当用户使用条件组合进行数据查询时,数据库引擎会依据自身的独有机制动态使用这些原本独立创建索引提供任意组合的多条件的数据查询。4.根据权利要求3所述的一种用于电力大数据快速组合查询的动态索引方法,其特征在于,步骤SS2还包括:若使用没有创建索引的字段与其它已经创建了索引的字段进行组合查询,系统首先智能地去判断,发现其中的几个字段已有索引,将优先使用这几个字段初步判断与过滤,...

【专利技术属性】
技术研发人员:郑海雁金农顾国栋丁晓吴钢王红星徐金玲金璐熊政丁陈方超仲春林李昆明李新家尹飞孟嘉季聪
申请(专利权)人:国家电网公司江苏省电力公司江苏方天电力技术有限公司江苏省电力公司南京供电公司上海晟淘大数据科技有限公司
类型:发明
国别省市:北京;11

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

1