一种基于内存计算的分布式数据分析处理方法

文档序号:9667453阅读:406来源:国知局
一种基于内存计算的分布式数据分析处理方法
【技术领域】
[0001]本文涉及一种大数据分析技术领域,具体是一种基于内存计算框架的分布式数据分析处理方法。
【背景技术】
[0002]随着云计算时代的来临,“大数据”这一新兴词汇也吸引了越来越多的关注;所谓大数据是指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合;大数据的意义并不单纯的指掌握巨大的数据信息,而在于如何提取大量数据所包含的关键信息,即如何对大数据进行处理分析;当然对海量数据进行分布式数据挖掘,必须依托于云计算的分布式处理、分布式数据库和云存储、虚拟化技术等。
[0003]互联网飞速发展,信息化数据急剧膨胀,海量数据的分析处理所面临的难题也越来越多;此外,云计算平台的不断发展也为数据的处理分析带来新的挑战和机遇,传统的数据分析方法也越来越无法满足要求;大数据作为一种新兴的产业,其获取利益的关键就在于通过对数据的“加工”实现数据的“增值”,“加工”的速率必然决定利益“增值”的空间,所以如何快速对海量数据进行查询分析变的尤为重要。
[0004]传统的数据分析平台对数据的分析处理不具有实时性,这是因为传统的数据计算框架存在必须读取存储的缺点,在数据量过大时往往处理缓慢,导致大量的延迟;而新的计算框架基于内存计算的方法,不仅继承传统计算框架分布式的处理框架,能自动优化计算过程等,而且弥补了传统计算框架不具有实时性的缺点,使得数据处理速度极大提升;因此我们需要一个可基于新的内存式计算框架来进行数据分析处理的平台,从而使大数据处理更加快捷方便。

【发明内容】

[0005]本发明的目的在于设计与实现一种基于内存计算的分布式数据分析处理方法;它充分利用了分布式计算的优点将任务进行分解,多台计算机共同处理,大大提高计算效率,同时在内存中进行计算,避免中间数据或结果在存储系统中的反复读写,大大减少计算时间;同时本数据查询分析处理方法提供的语言为类结构化查询语言(Structured QueryLanguage,SQL)语言,使得数据处理程序的编写难度也大大降低,提高可用性。
[0006]本发明的技术实现方案如下。
[0007]—种基于内存计算的分布式数据分析处理方法,该方法包括以下实现步骤。
[0008]1)提供一个类SQL解析器,将传入的查询分析文本解析为相应的逻辑计划,并进行初步优化。
[0009]2)提供一个任务转换器,将类SQL解析器生成的逻辑计划转换为可为大数据内存计算模型识别的计算表达式,包含多个自定义的转化类。
[0010]3)提供一个查询优化器,将传入的内存计算模型可识别的表达式转化为逻辑计划同时对逻辑计划进行优化,然后转化为物理执行计划,即将优化后的逻辑执行计划映射到物理执行操作类,这些操作类都是对弹性分布式数据集(Resilient DistributedDatasets,RDD)的操作,也就是对数据的操作。
[0011]上述步骤1)中所述类SQL解析器的程序语言为类SQL语言,该程序语言具有易于编程,自动优化,可扩展性强等优点,可以轻松实现简单的并行执行任务和“尴尬并行”的数据分析任务,且编码后的任务允许系统自动优化执行方式,同时用户可以创建自己的函数以便做特殊处理,大大减轻了程序员的负担。
[0012]上述步骤2)中所述任务转换器用于实现数据处理任务向大数据内存计算模型转换,例如数据的读取、分割、存储等都要按照内存计算模型处理数据的方式进行;类SQL解析器产生的逻辑计划若包含并集,交集等算子则直接转换为大数据内存计算模型自带的并集,交集算子;而不能直接转换为内存计算模型可识别的数据处理算子,如求唯一不同值,求和等操作则转化为内存计算模型可识别的RDD表达式。
[0013]上述步骤3)中所述查询优化器的具体执行逻辑完全交给内存计算模型的有向无环图调度器去切分,切分作业为多个操作过程,并内部转化为多个任务集,由任务调度器完成任务的调度,并最终交由相应的节点进行执行;具体的执行步骤如下。
[0014]31)将传入的查询分析文本翻译成逻辑计划。
[0015]32)查询优化器对逻辑计划进行优化。
[0016]33)经过一系列的转化将逻辑计划转化为物理计划,同时部分操作进行进一步优化,例如求交集等。
[0017]34)物理计划中的每个节点都有一个execute()执行方法,可执行一个或多个RDD的操作,这些RDD的操作就是数据查询分析的方法。
[0018]本发明是一种基于内存计算的分布式数据分析处理方法,所基于的计算框架为当下最受瞩目的大数据内存计算模型,其快速的数据处理能力是成为本发明计算框架的根本;同时本发引入了开源的数据分析平台,因其提供的类SQL语言不仅易于编程,而且允许系统自动优化执行方式,且支持自定义功能类,这会大大减小编程压力;但是传统的分析平台是基于分布式系统基础架构(Hadoop)开发,类SQL编写的程序最终会转化为编程模型(MapReduce)的操作;而要基于大数据内存计算模型开发数据分析方法就必须将类SQL编程语言转化为内存计算模型可识别的编程语言,这也就是本专利的核心。
[0019]本专利提出的是一种基于内存计算的分布式数据分析处理方法,内存计算模型作为当前最流行的大数据计算平台,虽提供自己的编程语言可使用户完成数据库的分析处理,但仍缺乏一个完整的易上手的数据查询分析方法,本专利弥补了这一方面的空白;通过本发明,即使是非专业人员,也能轻松完成海量数据的查询分析,并且数据的处理速度要远远快于传统的数据分析处理。
【附图说明】
[0020]图1是本专利的核心架构图。
[0021 ]图2是本专利的数据流程图。
【具体实施方式】
[0022]下面参照附图对本发明进行详细说明;以下对本发明的详细说明并不是对本发明的限制;相反,本发明的范围是由所附权利要求而定的。
[0023]本发明是一种基于内存计算的分布式数据分析处理方法,其核心架构图如图1所示;主要执行过程如下。
[0024]S0:用类SQL解析器对查询语句进行解析;例如加载,遍历,写入等数据操作最终转换为逻辑计划。
[0025]S1:使用任务转化器将解析器生成的逻辑计划转换成可被计算框架识别的查询分析表达式。
[0026]S2:任务转化器生成的表达式由查询优化器来做最后的优化,执行等处理;此处的工作完全为内存计算模型的操作;其实现了查询文本表达式=> 逻辑计划=> 优化的逻辑计划=>物理计划=> RDD操作的功能;在这一步中用户不需要考虑任务如何分割优化或执行,内存计算模型会自动完成。
[0027]上述步骤S1中的计算框架是基于内存的计算框架,其数据流程如图2所示;主要流程如下。
[0028]S10:从存储系统中读入文件,并转化为RDD;由图看看出可同时读取多个文件。
[0029]S11:内存计算模型的有向无环图编程模型会把作业自动切分成多个操作过程,操作过程内部再转化为多个子任务集,这些任务都是对RDD的操作,例如映射,并集等操作。
[0030]S12:处理后的数据存储到文件系统。
[0031]由图,可以看出只有在读取数据时才会访问文件系统,这就是基于内存计算的优势所在,所有的计算均在内存中完成,不需多次访问文件系统,大大加快数据处理的速率。
【主权项】
1.一种基于内存计算框架的分布式数据分析处理方法,其特征在于,包括以下步骤: 1)提供一个类SQL解析器,将传入的查询分析文本解析为相应的逻辑计划,并进行初步优化; 2)提供一个任务转换器,将类SQL解析器生成的逻辑计划转换为可为大数据内存计算模型识别的计算表达式,包含多个自定义的转化类; 3)提供一个查询优化器,将传入的内存计算模型可识别的表达式转化为逻辑计划同时对逻辑计划进行优化,然后转化为物理执行计划,即将优化后的逻辑执行计划映射到物理执行操作类,这些操作类都是对RDD的操作,也就是对数据的操作。2.如权利要求1所述的方法,其特征在于:所述步骤1)中所述类SQL解析器的程序语言为类SQL语言,该程序语言具有易于编程,自动优化,可扩展性强等优点,可以轻松实现简单的并行执行任务和“尴尬并行”的数据分析任务,且编码后的任务允许系统自动优化执行方式,同时用户可以创建自己的函数以便做特殊处理,大大减轻了程序员的负担。3.如权利要求1所述的方法,其特征在于:所述步骤2)中所述任务转换器用于实现数据处理任务向大数据内存计算模型转换,例如数据的读取、分割、存储等都要按照内存计算模型处理数据的方式进行;类SQL解析器产生的逻辑计划若包含并集,交集等算子则直接转换为大数据内存计算模型自带的并集,交集算子; 而不能直接转换为内存计算模型可识别的数据处理算子,如求唯一不同值,求和等操作则转化为内存计算模型可识别的RDD表达式。4.如权利要求1所述的方法,其特征在于:所述步骤3)中所述查询优化器的具体执行逻辑完全交给内存计算模型的有向无环图调度器去切分,切分作业为多个操作过程,并内部转化为多个任务集,由任务调度器完成任务的调度,并最终交由相应的节点进行执行;具体的执行步骤如下: .31)将传入的查询分析文本翻译成逻辑计划; .32 )查询优化器对逻辑计划进行优化; .33)经过一系列的转化将逻辑计划转化为物理计划,同时部分操作进行进一步优化,例如求交集等; .34)物理计划中的每个节点都有一个executeO执行方法,可执行一个或多个RDD的操作,这些RDD的操作就是数据查询分析的方法。
【专利摘要】本发明提供了一种基于内存计算的分布式数据分析处理方法,包括如下步骤:1)提供一个类SQL解析器,将传入的查询分析文本解析为相应的逻辑计划,并进行初步优化;2)提供一个任务转换器,将类SQL解析器生成的逻辑计划转换为可为大数据内存计算模型识别的计算表达式,包含多个自定义的转化类;3)提供一个查询优化器,将传入的内存计算模型可识别的表达式转化为逻辑计划同时对逻辑计划进行优化,然后转化为物理执行计划。针对传统大数据处理在数据查询分析处理上的空缺,本发明提供了一种基于内存计算的分布式数据分析处理方法,继承了内存计算模型在数据处理方面的优势,使得数据查询分析的编程语言更加简单。
【IPC分类】G06F17/30
【公开号】CN105426504
【申请号】CN201510839621
【发明人】朱志祥, 肖跃雷, 张龙兴, 陈晓
【申请人】陕西艾特信息化工程咨询有限责任公司
【公开日】2016年3月23日
【申请日】2015年11月27日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1