CN102546247B - 一种适用流式处理的大规模数据连续分析系统 - Google Patents
一种适用流式处理的大规模数据连续分析系统 Download PDFInfo
- Publication number
- CN102546247B CN102546247B CN201110450268.1A CN201110450268A CN102546247B CN 102546247 B CN102546247 B CN 102546247B CN 201110450268 A CN201110450268 A CN 201110450268A CN 102546247 B CN102546247 B CN 102546247B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- query
- inquiry
- management module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种适用流式处理的大规模数据连续分析系统,包括元数据管理模块,用于管理数据表和数据库的元信息;查询计划生成模块,用于接收查询请求,生成优化的查询计划;数据导入任务生成模块,用于接收数据导入请求,生成数据导入MR作业集;增量处理模块,用于并行地增量地提交Hadoop系统数据导入和查询作业;MR消息处理模块,用于接收Hadoop系统的Map或Reduce函数的结果,将结果输出给Reduce端或下一个作业;数据库连接模块,用于作为Hadoop系统和数据库之间的接口。本发明使用Hadoop系统将各节点中的数据库有机组织在一起,并发地执行数据导入和数据查询,使用管道技术改进MapReduce(MR)执行流程,使得数据查询以连续的流水的方式执行,大大缩短了大规模数据分析的时间。
Description
技术领域
本发明属于数据分析领域,具体涉及一种适用流式处理的大规模数据连续分析系统。它适用于针对大规模数据的并行分析计算,满足对查询响应时间要求较高数据分析应用。
背景技术
随着大数据时代的来临,面对如何从海量的数据中获取有价值的信息的问题,大规模数据分析变得越来越重要,同时也对数据分析系统提出了更高的要求。传统的使用单一数据库管理系统(DBMS)进行数据分析的方法已经无法支撑不断增长的数据,也无法满足多样的,快速的数据分析需求。
现有的两类主要的大规模数据分析系统:并行数据库系统(ParallelDBMS)和基于MapReduce(MR)框架的系统均存在不足之处。并行数据库的扩展性有限,且随着数据量的增量容错性难以保证,而基于MR的系统面对多数据集的处理效率较低,尤其是对关系数据的处理。因此,无论是学术界还是业界都开始考虑对两者的优势进行整合。但是大部分的整合仅仅是在接口层次上的整合,很少有进行体系结构上的整合。
对于已有的从体系结构上对MR框架和数据库进行整合的系统,依然存在整合不彻底,没有充分利用二者的优点的问题,而且缺乏对现有架构的改进,不能很好地适应多样的,快速的数据分析需求。如长时间的数据导入过程,MR的批处理设计等问题并没有很好的解决。
发明内容
本发明的目的是提供一种适用流式处理的大规模数据连续分析系统,该系统有机地整合了分布式数据处理系统Hadoop和数据库系统的优点,使用连续和流式的处理方式,在保持系统的可扩展性和可靠性的前提下,大大提高了对大规模数据集查询的响应速度。
一种适用流式处理的大规模数据连续分析系统,包括元数据管理模块、查询计划生成模块、数据导入任务生成模块、增量处理模块、MR消息处理模块和数据库连接模块;
所述元数据管理模块,用于存储配置文件、源数据模式信息、数据导入模式信息、数据库节点信息和数据库连接信息;
所述查询计划生成模块,用于接收用户查询请求,依据所述元数据管理模块的源数据模式信息解析用户查询请求,依据查询解析结果生成查询计划传送给增量处理模块,并将所述查询解析结果传送给数据导入任务生成模块;
所述数据导入任务生成模块,用于接收用户数据导入请求,依据所述用户数据导入请求和元数据管理模块提取源数据信息,生成配置文件,配置文件包含分配给源数据的数据库节点信息以及数据库连接信息;接收所述查询计划生成模块的查询解析结果,依据所述查询解析结果和源数据模式确定数据导入模式,数据导入模式只包含与查询相关的属性以及用于标识数据导入进度的增量标识属性,将配置文件、源数据模式和数据导入模式信息存储于所述元数据管理模块;依据数据导入模式和配置文件生成Hapdoop系统可执行的数据导入MR作业集,将数据导入MR作业集传送给增量处理模块;
所述增量处理模块,用于接收查询计划生成模块的查询计划和数据导入任务生成模块的数据导入MR作业集;所述增量处理模块将数据导入MR作业集提交给Hapdoop系统,Hapdoop系统调用所述数据库连接模块执行数据导入MR作业集;所述增量处理模块结合所述元数据管理模块中的配置文件将所述查询计划编译成Hapdoop系统可执行的查询MR作业集,每当导入数据达到预定量后,所述增量处理模块就向Hapdoop系统提交一次查询MR作业集,Hapdoop系统调用所述数据库连接模块针对导入的这一部分数据执行查询MR作业集;
MR消息处理模块,嵌入在Hadoop系统中,用于使Hadoop系统在执行数据导入或查询MR作业集时,将Map端产生的中间数据推送给对应的Reduce端,将Reduce端产生的执行结果推送给下一任务的Map端;
数据库连接模块,用于提供Hadoop系统与数据库之间的接口。
进一步地,所述查询计划生成模块包括查询缓存、解析器、优化器和规划器;
所述查询缓存,用于缓存历史查询和对应的查询计划;
所述解析器,用于接收用户查询请求,在所述查询缓存查找是否有与本次查询请求相同的历史查询请求,若有,则从查询缓存中提取相应的查询计划并传送给所述增量处理模块,否则,依据所述元数据管理模块的源数据模式信息,通过进行词法和语义分析生成抽象语法树,再将抽象语法树转化成由查询子操作组成的有向无连通图即逻辑查询计划;
所述优化器,用于对所述逻辑查询计划中的查询子操作进行修剪和合并生成优化的逻辑查询;
所述规划器,用于对所述优化后的逻辑查询计划中的查询子操作按照Map端和Reduce端任务进行归类,得到最终物理查询计划并传送给增量处理模块。
进一步地,所述数据导入任务生成模块包括源数据解析模块、配置文件生成模块、数据导入模式生成模块和数据导入任务编译模块;
所述源数据解析模块,用于接收用户数据导入请求,解析用户数据导入请求中的源数据信息并传送给所述配置文件生成模块和数据导入模式生成模块;
所述配置文件生成模块,用于接收所述源数据解析模块的源数据信息,从所述元数据管理模块的所有数据库节点中选取适合的数据库节点分配给所述源数据,在分配的数据库节点内选取存储源数据的数据库,进而生成包含分配的数据库节点及选取的数据库连接信息的配置文件,将配置文件存储于所述元数据管理模块;
所述数据导入模式生成模块,用于接收所述查询计划生成模块的查询解析结果和数据导入模式生成模块的源数据模式,依据所述查询解析结果和源数据模式确定数据导入模式,数据导入模式只包含与查询相关的属性以及用于标识数据导入进度的增量标识属性,将配置文件、源数据模式和数据导入模式信息存储于所述元数据管理模块;
所述数据导入任务编译模块,用于依据所述数据导入模式和所述配置文件生成Hapdoop系统可执行的数据导入MR作业集,将数据导入MR作业集传送给增量处理模块;
进一步地,所述增量处理模块包括整合优化器、编译器、执行器和开销评估模块;
所述整合优化器,用于接收所述查询计划生成模块的查询计划,依据当前导入数据的增量标识属性限定本次查询计划对应的数据集,并依据所述开销评估模块的前一次查询MR作业集执行情况优化本次查询计划,将优化后的本次查询计划传送给所述编译器;
所述编译器,用于将查询计划编译成可执行的查询MR作业集,将查询MR作业集传送给所述执行器;
所述执行器,用于将所述数据导入MR作业集提交给Hapdoop系统,Hapdoop系统调用所述数据库连接模块执行数据导入MR作业集;当导入数据达到预定量后,所述执行器就向Hapdoop系统提交本次查询MR作业集,Hapdoop系统调用所述数据库连接模块针对导入的这一部分数据执行查询MR作业集;
所述开销评估模块,用于收集和分析所述执行器的本次查询MR作业集的执行情况,将分析结果提供给所述整合优化器。
进一步地,所述执行模块还定期对数据库中不再使用的数据执行数据清理操作。
进一步地,所述MR消息处理模块包括注册管理模块、连接管理模块、缓存区管理模块、中间数据管理模块和队列管理模块;
所述注册管理模块,用于从Hadoop系统获取Map端和Reduce端任务的调度信息,在Map端和Reduce端均存在调度时,向所述连接管理模块传送连接指令;接收所述中间数据管理模块的检查点位置信息并提交给Hadoop系统,以便在hadoop系统执行查询MR作业集发生错误后,恢复到错误发生点处继续执行;
所述连接管理模块,用于在收到所述注册管理模块的连接指令时建立Map端和Reduce端的TCP连接,并将Map端生成数据或Reduce端生成数据传送给所述缓存区管理模块;
所述缓存区管理模块,用于缓存Map端生成数据或Reduce端生成数据;
所述中间数据管理模块,用于对所述缓存区管理模块中的数据做检查点并持久化到磁盘,将检查点位置信息传送给所述注册管理模块;
所述队列管理模块,用于将所述缓存区管理模块中的Map端生成数据做队列划分,将各队列中的数据推送到相应的Reduce端;或者将所述缓存区管理模块中的Reduce端生成数据推送到下一个任务的Map端。
本发明提供的适用流式处理的大规模数据连续分析系统具有以下特征和优点:
(1)连续,流式地处理方式。本系统将数据导入操作和数据分析操作并发地执行,在数据导入的过程中,以增量的处理方式执行数据分析任务。同时,通过修改MR任务执行流程,加入管道的处理方式,使得数据分析任务以一种连续,流式地处理方式执行。
(2)高效性。传统的数据分析任务,尤其是复杂的查询任务,其响应速度非常慢。尤其是数据导入等操作非常耗时,而且需要人工干预。本系统通过连续,流式地方式处理整个数据分析过程,以及自动生成相应的配置和程序,将数据分析任务分配给数据库节点执行,大大提高了系统查询的响应速度。
(3)灵活性。本系统各模块以松耦合的方式组织,各模块的功能相对独立,易于配置和替换。此外虽然本系统对MR进行了修改,但同时保持了MR的特性,使得系统能够同时支持多种数据分析接口。
(4)可扩展性和可靠性。本系统使用Hadoop系统存储数据,通过Hadoop系统保证了系统的可扩展性和可靠性。当数据量增加时,系统只需要通过添加工作节点即可。由于数据库只用于计算,因此当数据库失效时,系统自动将计算任务分配给另外的数据库节点。
附图说明
图1为本发明适用流式处理的大规模数据连续分析系统的体系结构图;
图2为本发明的查询计划生成模块的结构交互示意图;
图3为本发明的数据导入任务生成模块的结构交互示意图;
图4为本发明的增量执行模块结构交互示意图;
图5为本发明的MR消息处理模块结构交互示意图;
图6为本发明适用流式处理的大规模数据连续分析系统流程。
具体实施方式
本发明适用流式处理的大规模数据连续分析系统,通过有机地整合Hadoop系统和数据库系统,能够连续,流式地处理大规模数据分析,大大提高了查询响应速度。
Hadoop系统是MR框架的开源实现,包括底层用于存储的HDFS(Hadoop Distributed File System)和在它之上用于计算的MR框架。HDFS使用NameNode管理文件系统的元信息,使用DataNode存储具体的文件内容;MR框架将数据分析任务分解成由Map任务和Reduce任务组成的MR作业,使用JobTracker管理MR作业的分配和调度,使用TaskTracker管理运行于DataNode上的Map任务或Reduce任务。
本发明系统部署于由N(N≥1)台机器组成的集群环境中,其中一台作为主控机,其它的N-1台为工作机。在部署本发明系统之前需要部署好Hadoop集群和数据库节点。首先,在集群中部署增加了本发明的MR消息处理模块的Hadoop系统,其中主控机作为NameNode,其他工作机作为DataNode,同时在每台工作机上部署数据库节点;然后在主控机上,或使用另外的独立的机器部署本发明系统的其它模块。用户在部署了本发明系统的机器上直接通过该系统提供的查询接口提交相关的查询任务。
下面结合附图对本发明进一步详细说明。
如图1所示本发明适用流式处理的大规模数据连续分析系统包括元数据管理模块1、查询计划生成模块2、数据导入任务生成模块3、增量处理模块4、MR消息处理模块5和数据库连接模块6。
元数据管理模块1负责管理系统中用于存储配置文件、源数据模式信息、数据导入模式信息、数据库节点信息和数据库连接信息。这些元数据来自于查询请求中数据库、表格的创建,以及数据导入任务生成模块3所生成的相关信息。
如图2所示,查询计划生产模块2可以分为如下几个子模块:解析器2.1、查询缓存2.2、优化器2.3和规划器2.4。查询计划生成模块2接收用户提交的查询请求,生成优化的查询计划提交给增量处理模块4处理。
查询缓存2.2负责对历史查询的查询计划进行缓存。解析器2.1在接收用户的查询请求后,首先搜索查询缓存2.2,看是否存在相同的查询请求,如果存在则直接将对应的查询计划发送给增量处理模块4,否则对查询请求进行解析。解析器2.1从元数据管理模块1获取的源数据模式信息,通过进行词法和语义分析生成抽象语法树,即逻辑查询计划。然后将抽象语法树转化成一个有向无连通图(DAG),其中图中的节点代表查询子操作。优化器2.3从解析器2.1获取逻辑查询计划后,遍历DAG并对查询子操作进行修剪和合并实现优化,如删除不需要的列操作、将多个Join操作合并为单个多路Join操作以及为Join或者Group By操作增加数据重新划分操作等等。规划器2.4负责对优化器2.3生成的查询计划进行规划,将相关查询子操作按照适合Map或Reduce的操作进行归类,最后将规划好的查询计划提交给增量处理模块4处理。
如图3所示,数据导入任务生成模块3可以分为如下几个子模块:源数据解析模块3.1、配置文件生成模块3.2、数据导入模式生成模块3.3和数据导入任务编译模块3.4。数据导入任务生成模块3接收用户的数据导入请求,生成并行数据导入的MR作业集提交给增量处理模块4,使得数据以增量的方式从HDFS导入数据库。
源数据解析模块3.1通过对需要导入到数据库中的源数据进行分析,将源数据的位置和大小等相关信息传递给配置文件生成模块3.2。配置文件生成模块3.2依据源数据解析模块3.1获取的源数据信息,从所述元数据管理模块的所有数据库节点中选取适合的数据库节点分配给所述源数据,在分配的数据库节点内选取存储源数据的数据库,进而生成包含分配的数据库节点及选取的数据库连接信息的配置文件并保存到元数据管理模块1中。数据导入模式生成3.3负责修改导入的数据记录的模式信息,将记录中与查询无关的属性进行过滤,并根据数据的增量导入策略给每条记录加上用于标识数据导入进度的增量标识属性(如时间戳)。数据导入任务编译模块3.4用于依据所述数据导入模式和所述配置文件生成Hapdoop系统可执行的数据导入MR作业集,将数据导入MR作业集传送给增量处理模块。
如图4所示,增量处理模块4可以分为如下几个子模块:整合优化器4.1、编译器4.2、执行器4.3和开销评估模块4.4。增量处理模块4接收查询计划生成模块2提交的查询计划和数据导入任务生成模块3生成的数据导入MR作业,以并行地增量地方式执行数据导入和查询作业。
整合优化器4.1一方面根据数据导入的策略和用于识别增量数据的标记,修改由查询计划生成模块3传入的查询计划;另一方面,根据开销评估模块4.4提供的历史执行信息,对查询计划进行优化。编译器4.2负责将修改后的查询计划编译成可执行的MR作业集,并由执行器4.3负责以连续的,增量的方式提交给Hadoop执行。其中执行模块还会使用一个单独的线程定期执行数据清理操作,将数据库中已经处理过的数据清理掉。开销评估模块4.4收集查询作业的执行情况,根据开销模型进行统计分析,并提供给整合优化器4.1,得出更优化的执行计划。
如图5所示,MR消息处理模块5可以分为如下几个子模块:注册管理模块5.1、连接管理模块5.2、缓存区管理模块5.3、中间数据管理模块5.4和队列管理模块5.5。MR消息处理模块5负责接收Map或Reduce函数产生的结果,根据情况将对应的结果输出给Reduce端或下一个作业。
注册管理模块5.1用于从Hadoop系统获取Map端和Reduce端任务的调度信息,在Map端和Reduce端均存在调度时,向连接管理模块5.2传送连接指令;接收中间数据管理模块5.4的检查点位置信息并提交给Hadoop系统,以便在hadoop系统执行查询MR作业集发生错误后,恢复到错误发生点处继续执行;连接管理模块5.2用于在收到注册管理模块5.1的连接指令时建立Map端和Reduce端的TCP连接,并将Map端生成数据或Reduce端生成数据传送给缓存区管理模块5.3。缓存区管理模块5.3用于缓存Map端生成数据或Reduce端生成数据,当缓存中的数据量达到一定的阈值时,通过中间数据管理模块5.4对缓存中的数据做检查点,并持久化到磁盘。同时队列管理模块5.5用于将缓存区管理模块5.3中的Map端生成数据做队列划分,将各队列中的数据推送到相应的Reduce端;或者将缓存区管理模块5.3中的Reduce端生成数据推送到下一个任务的Map端。这种方式是对MR框架的修改,通过将Map产生的中间数据以推送的方式传递给Reduce,并发地执行Map和Reduce任务,大大降低了作业的完成时间。
数据库连接模块6是Hadoop系统和数据库之间的接口,负责将数据库整合为Hadoop系统的另一个存储引擎。通过该接口Hadoop系统可以直接从数据库读取数据,或直接将数据写入数据库。
本发明适用流式处理的大规模数据连续分析系统的流程如图6所示。首先,根据用户提交的数据导入和查询任务,创建相应的数据库模式,并将相关信息保存到元数据管理模块1中;然后分别向查询计划生成模块2和数据导入任务生成模块3提交查询任务和数据导入任务,系统并行地处理数据导入过程和查询任务的执行过程。其中,对于数据导入过程,系统首先获取源数据信息和查询信息,生成相关的元信息和数据导入作业,并分别提交给元数据管理模块1和增量处理模块4。增量处理模块4以连续的方式执行数据导入,一直到数据导入完成。对于查询任务,经过解析后生成对应的查询计划,然后提交给增量处理模块4。增量处理模块4对查询计划进行优化后,根据数据导入进度,以增量地方式提交给Hadoop执行,一直到查询任务完成。其中Hadoop在执行作业的过程中使用MR消息处理模块5使用流的方式处理中间数据,并发地执行Map和Reduce任务。
实例
为了验证本发明系统的可行性和有效性,在真实环境中部署本发明系统,在一台服务器上使用五台虚拟机搭建的集群环境进行试验。服务器装载VMWare Workstation虚拟机平台,在服务器上创建5个虚拟机,并搭建成由一个主控机和4个工作机组成的Hadoop和数据库集群。详细实验环境配置如表1所示。
表1实验环境配置
服务器 | 主控机 | 工作机1 | 工作机2 | 工作机3 | 工作机4 | |
CPU | 4*4core | 2core | 2core | 2core | 2core | 2core |
内存 | 24G | 2G | 2G | 2G | 2G | 2G |
磁盘 | 1T | 100G | 100G | 100G | 100G | 100G |
操作系统 | RH5 | Fedora15 | Fedora15 | Fedora15 | Fedora15 | Fedora15 |
Hadoop版本 | - | 0.20.203 | 0.20.203 | 0.20.203 | 0.20.203 | 0.20.203 |
数据库 | MonetDB | MonetDB | MonetDB | MonetDB | MonetDB | MonetDB |
数据集 | - | - | 21G | 21G | 21G | 21G |
首先在5台虚拟机上部署增加了MR消息处理模块5的Hadoop集群,其中NameNode和JobTracker部署在主控机上,DataNode等部署在4个工作机上;然后在每台工作机上部署MonetDB数据库;最后在主控机上部署元数据模块1、查询计划生成模块2、数据导入任务生成模块3、增量处理模块4和数据库连接模块6。
通过系统提供的查询接口,在主控机上执行对Data1和Data2执行Join查询,其中Date1和Data2分别对应表T1和T2。增量处理策略为对每100万条记录执行一次查询操作。提交查询请求后,系统将表T1和T2的模式信息保存到元数据管理模块,并同时执行查询计划生成和数据导入任务。数据导入任务生成模块根据Data1和Data2在集群中的分布和大小,分配相应的数据库节点,并生成数据分块和数据库连接参数,并保存到元数据管理模块。同时根据查询任务,修改数据的模式,删除无关属性,添加BIGINT型的Count_ID属性作为增量标记,然后生成数据导入的MR作业提交给增量处理模块执行。查询请求通过查询计划生成模块和增量处理模块生成优化的查询计划,每导入100万条记录,就对新增的数据执行次查询计划。增量处理模块对每次增量查询都会进行开销评估,并持续优化查询计划。当查询任务完成后,保存结果。
以上所述,仅为本发明最佳的具体实现方式,本发明的实现方法并不局限于此,任何在本发明领域内不脱离本发明精神下的改变,都应涵盖在本发明范围内。
Claims (6)
1.一种适用流式处理的大规模数据连续分析系统,包括元数据管理模块、查询计划生成模块、数据导入任务生成模块、增量处理模块、MR(MapReduce)消息处理模块和数据库连接模块;
所述元数据管理模块,用于存储配置文件、源数据模式信息、数据导入模式信息、数据库节点信息和数据库连接信息;
所述查询计划生成模块,用于接收用户查询请求,依据所述元数据管理模块的源数据模式信息解析用户查询请求,依据查询解析结果生成查询计划传送给增量处理模块,并将所述查询解析结果传送给数据导入任务生成模块;
所述数据导入任务生成模块,用于接收用户数据导入请求,依据所述用户数据导入请求和元数据管理模块提取源数据信息,生成配置文件,配置文件包含分配给源数据的数据库节点信息以及数据库连接信息;接收所述查询计划生成模块的查询解析结果,依据所述查询解析结果和源数据模式确定数据导入模式,数据导入模式只包含与查询相关的属性以及用于标识数据导入进度的增量标识属性,将配置文件、源数据模式和数据导入模式信息存储于所述元数据管理模块;依据数据导入模式和配置文件生成Hapdoop系统可执行的数据导入MR作业集,将数据导入MR作业集传送给增量处理模块;
所述增量处理模块,用于接收查询计划生成模块的查询计划和数据导入任务生成模块的数据导入MR作业集;所述增量处理模块将数据导入MR作业集提交给Hapdoop系统,Hapdoop系统调用所述数据库连接模块执行数据导入MR作业集;所述增量处理模块结合所述元数据管理模块中的配置文件将所述查询计划编译成Hapdoop系统可执行的查询MR作业集,每当导入数据达到预定量后,所述增量处理模块就向Hapdoop系统提交一次查询MR作业集,Hapdoop系统调用所述数据库连接模块针对导入的这一部分数据执行查询MR作业集;
MR消息处理模块,嵌入在Hadoop系统中,用于使Hadoop系统在执行数据导入或查询MR作业集时,将Map端产生的中间数据推送给对应的Reduce端,将Reduce端产生的执行结果推送给下一任务的Map端;
数据库连接模块,用于提供Hadoop系统与数据库之间的接口。
2.根据权利要求1所述的大规模数据连续分析系统,其特征在于,所述查询计划生成模块包括查询缓存、解析器、优化器和规划器;
所述查询缓存,用于缓存历史查询和对应的查询计划;
所述解析器,用于接收用户查询请求,在所述查询缓存查找是否有与本次查询请求相同的历史查询请求,若有,则从查询缓存中提取相应的查询计划并传送给所述增量处理模块,否则,依据所述元数据管理模块的源数据模式信息,通过进行词法和语义分析生成抽象语法树,再将抽象语法树转化成由查询子操作组成的有向无连通图即逻辑查询计划;
所述优化器,用于对所述逻辑查询计划中的查询子操作进行修剪和合并生成优化的逻辑查询;
所述规划器,用于对所述优化后的逻辑查询计划中的查询子操作按照Map端和Reduce端任务进行归类,得到最终物理查询计划并传送给增量处理模块。
3.根据权利要求1所述的大规模数据连续分析系统,其特征在于,所述数据导入任务生成模块包括源数据解析模块、配置文件生成模块、数据导入模式生成模块和数据导入任务编译模块;
所述源数据解析模块,用于接收用户数据导入请求,解析用户数据导入请求中的源数据信息并传送给所述配置文件生成模块和数据导入模式生成模块;
所述配置文件生成模块,用于接收所述源数据解析模块的源数据信息,从所述元数据管理模块的所有数据库节点中选取适合的数据库节点分配给所述源数据,在分配的数据库节点内选取存储源数据的数据库,进而生成包含分配的数据库节点及选取的数据库连接信息的配置文件,将配置文件存储于所述元数据管理模块;
所述数据导入模式生成模块,用于接收所述查询计划生成模块的查询解析结果和数据导入模式生成模块的源数据模式,依据所述查询解析结果和源数据模式确定数据导入模式,数据导入模式只包含与查询相关的属性以及用于标识数据导入进度的增量标识属性,将配置文件、源数据模式和数据导入模式信息存储于所述元数据管理模块;
所述数据导入任务编译模块,用于依据所述数据导入模式和所述配置文件生成Hapdoop系统可执行的数据导入MR作业集,将数据导入MR作业集传送给增量处理模块。
4.根据权利要求1所述的大规模数据连续分析系统,其特征在于,所述增量处理模块包括整合优化器、编译器、执行器和开销评估模块;
所述整合优化器,用于接收所述查询计划生成模块的查询计划,依据当前导入数据的增量标识属性限定本次查询计划对应的数据集,并依据所述开销评估模块的前一次查询MR作业集执行情况优化本次查询计划,将优化后的本次查询计划传送给所述编译器;
所述编译器,用于将查询计划编译成可执行的查询MR作业集,将查询MR作业集传送给所述执行器;
所述执行器,用于将所述数据导入MR作业集提交给Hapdoop系统,Hapdoop系统调用所述数据库连接模块执行数据导入MR作业集;当导入数据达到预定量后,所述执行器就向Hapdoop系统提交本次查询MR作业集,Hapdoop系统调用所述数据库连接模块针对导入的这一部分数据执行查询MR作业集;
所述开销评估模块,用于收集和分析所述执行器的本次查询MR作业集的执行情况,将分析结果提供给所述整合优化器。
5.根据权利要求4所述的大规模数据连续分析系统,其特征在于,所述执行模块还定期对数据库中不再使用的数据执行数据清理操作。
6.根据权利要求1所述的大规模数据连续分析系统,其特征在于,所述MR消息处理模块包括注册管理模块、连接管理模块、缓存区管理模块、中间数据管理模块和队列管理模块;
所述注册管理模块,用于从Hadoop系统获取Map端和Reduce端任务的调度信息,在Map端和Reduce端均存在调度时,向所述连接管理模块传送连接指令;接收所述中间数据管理模块的检查点位置信息并提交给Hadoop系统,以便在hadoop系统执行查询MR作业集发生错误后,恢复到错误发生点处继续执行;
所述连接管理模块,用于在收到所述注册管理模块的连接指令时建立Map端和Reduce端的TCP连接,并将Map端生成数据或Reduce端生成数据传送给所述缓存区管理模块;
所述缓存区管理模块,用于缓存Map端生成数据或Reduce端生成数据;
所述中间数据管理模块,用于对所述缓存区管理模块中的数据做检查点并持久化到磁盘,将检查点位置信息传送给所述注册管理模块;
所述队列管理模块,用于将所述缓存区管理模块中的Map端生成数据做队列划分,将各队列中的数据推送到相应的Reduce端;或者将所述缓存区管理模块中的Reduce端生成数据推送到下一个任务的Map端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110450268.1A CN102546247B (zh) | 2011-12-29 | 2011-12-29 | 一种适用流式处理的大规模数据连续分析系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110450268.1A CN102546247B (zh) | 2011-12-29 | 2011-12-29 | 一种适用流式处理的大规模数据连续分析系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102546247A CN102546247A (zh) | 2012-07-04 |
CN102546247B true CN102546247B (zh) | 2014-08-27 |
Family
ID=46352252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110450268.1A Expired - Fee Related CN102546247B (zh) | 2011-12-29 | 2011-12-29 | 一种适用流式处理的大规模数据连续分析系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546247B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294799B (zh) * | 2013-05-27 | 2016-12-28 | 北京大学 | 一种数据并行批量导入只读查询系统的方法及系统 |
CN104346380B (zh) * | 2013-07-31 | 2018-03-09 | 华为技术有限公司 | 基于MapReduce模型的数据排序方法和系统 |
CN103399787B (zh) * | 2013-08-06 | 2016-09-14 | 北京华胜天成科技股份有限公司 | 一种基于Hadoop云计算平台的MapReduce作业流式调度方法及调度系统 |
CN103559254B (zh) * | 2013-10-31 | 2018-03-02 | 上海上讯信息技术股份有限公司 | 一种基于模块的存储系统及方法 |
CN104657387B (zh) * | 2013-11-22 | 2019-02-05 | 华为技术有限公司 | 一种数据查询方法及装置 |
CN103678591B (zh) * | 2013-12-12 | 2017-07-11 | 用友网络科技股份有限公司 | 自动执行多业务单据统计处理的装置和方法 |
CN104008007B (zh) * | 2014-06-12 | 2018-06-01 | 深圳先进技术研究院 | 基于流式计算和批处理计算的互操作数据处理系统及方法 |
CN104484226B (zh) * | 2014-12-08 | 2018-02-02 | 无锡城市云计算中心有限公司 | MapReduce作业处理系统、服务器及处理方法 |
CN104536988B (zh) * | 2014-12-10 | 2017-10-24 | 杭州斯凯网络科技有限公司 | MonetDB分布式计算存储方法 |
CN105812202B (zh) * | 2014-12-31 | 2019-02-22 | 阿里巴巴集团控股有限公司 | 日志实时监控预警方法及其装置 |
CN104484472B (zh) * | 2014-12-31 | 2018-10-16 | 天津南大通用数据技术股份有限公司 | 一种混合多种异构数据源的数据库集群及实现方法 |
CN104899284B (zh) * | 2015-06-05 | 2018-09-04 | 北京京东尚科信息技术有限公司 | 一种基于元数据驱动调度系统的方法及装置 |
CN105183470B (zh) * | 2015-09-06 | 2018-11-30 | 东南大学 | 一种自然语言处理系统化服务平台 |
CN105718593B (zh) * | 2016-01-28 | 2019-04-16 | 长春师范大学 | 一种数据库查询优化方法及系统 |
CN107229635B (zh) * | 2016-03-24 | 2020-06-02 | 华为技术有限公司 | 一种数据处理的方法、存储节点及协调节点 |
CN105956021B (zh) * | 2016-04-22 | 2019-05-21 | 华中科技大学 | 一种适用于分布式机器学习的自动化任务并行的方法及其系统 |
CN106021285A (zh) * | 2016-04-29 | 2016-10-12 | 武汉佰钧成技术有限责任公司 | 一种基于Hadoop平台的海量数据增量抽取与分析方法 |
CN106095425A (zh) * | 2016-06-07 | 2016-11-09 | 中国建设银行股份有限公司 | 一种流式处理装置及流式处理系统 |
CN106354563B (zh) * | 2016-08-29 | 2020-05-22 | 广州市香港科大霍英东研究院 | 用于3d重建的分布式计算系统以及3d重建方法 |
CN106407329B (zh) * | 2016-09-05 | 2019-06-25 | 国网江苏省电力公司南通供电公司 | 海量平台往hadoop平台自动化导入增量数据的方法 |
CN107870857A (zh) * | 2016-09-28 | 2018-04-03 | 阿里巴巴集团控股有限公司 | 一种针对查询计划生成器进行测试的方法及装置 |
CN106599095B (zh) * | 2016-11-24 | 2020-07-14 | 上海交通大学 | 基于完整历史记录的减枝方法 |
CN106874133B (zh) | 2017-01-17 | 2020-06-23 | 北京百度网讯科技有限公司 | 流式计算系统中计算节点的故障处理 |
CN107241422B (zh) * | 2017-06-23 | 2020-08-11 | 浪潮云信息技术股份公司 | 一种实时将外部用户及用户组信息同步进Apache Ranger的方法 |
CN107451203B (zh) * | 2017-07-07 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 数据库访问方法及装置 |
CN107508909A (zh) * | 2017-09-15 | 2017-12-22 | 无锡南理工科技发展有限公司 | 多流实时管理无线中间件的处理方法 |
CN107766451A (zh) * | 2017-09-26 | 2018-03-06 | 广西电网有限责任公司电力科学研究院 | 一种面向电力大数据的跨数据库关联检索方法 |
CN110007967B (zh) * | 2017-12-29 | 2022-05-06 | 杭州海康威视数字技术股份有限公司 | 一种基于流式框架的数据处理方法、装置及设备 |
CN110083626B (zh) * | 2019-03-29 | 2021-08-31 | 奇安信科技集团股份有限公司 | 流式事件序列匹配方法及装置 |
CN113064910B (zh) * | 2021-03-18 | 2022-03-08 | 西南科技大学 | 一种反应式气动数据多维分析平台 |
CN114675978A (zh) * | 2022-02-24 | 2022-06-28 | 深圳市商汤科技有限公司 | 算法应用元的运行框架和数据处理方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101146267A (zh) * | 2007-10-24 | 2008-03-19 | 中兴通讯股份有限公司 | 一种短消息查询分析系统及方法 |
CN102158531A (zh) * | 2010-02-01 | 2011-08-17 | 北京大学 | 一种分布式查询数据流传输方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080133465A1 (en) * | 2006-12-04 | 2008-06-05 | Electronics And Telecommunications Research Institute | Continuous query processing apparatus and method using operation sharable among multiple queries on xml data stream |
-
2011
- 2011-12-29 CN CN201110450268.1A patent/CN102546247B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101146267A (zh) * | 2007-10-24 | 2008-03-19 | 中兴通讯股份有限公司 | 一种短消息查询分析系统及方法 |
CN102158531A (zh) * | 2010-02-01 | 2011-08-17 | 北京大学 | 一种分布式查询数据流传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102546247A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546247B (zh) | 一种适用流式处理的大规模数据连续分析系统 | |
US10521427B2 (en) | Managing data queries | |
Zhou et al. | SCOPE: parallel databases meet MapReduce | |
US9495427B2 (en) | Processing of data using a database system in communication with a data processing framework | |
US7930432B2 (en) | Systems and methods for distributing a workplan for data flow execution based on an arbitrary graph describing the desired data flow | |
CN103064875B (zh) | 一种服务化空间数据分布式查询方法 | |
Bruno et al. | Advanced join strategies for large-scale distributed computation | |
CN104620239A (zh) | 自适应查询优化 | |
CN106126601A (zh) | 一种社保大数据分布式预处理方法及系统 | |
CN103970902A (zh) | 一种大量数据情况下的可靠即时检索方法及系统 | |
CN104778236A (zh) | 一种基于元数据的etl实现方法及系统 | |
CN111078781B (zh) | 一种多源流式大数据融合汇聚处理框架模型实现方法 | |
Aluko et al. | Big SQL systems: an experimental evaluation | |
CN114756629B (zh) | 基于sql的多源异构数据交互分析引擎及方法 | |
CN107818181A (zh) | 基于Plcient交互式引擎的索引方法及其系统 | |
Anyanwu et al. | Algebraic optimization for processing graph pattern queries in the cloud | |
Hu et al. | Dualtable: A hybrid storage model for update optimization in hive | |
Solodovnikova et al. | Handling evolution in big data architectures | |
Hüske | Specification and optimization of analytical data flows | |
CN114817226A (zh) | 政府数据的处理方法及装置 | |
US10572483B2 (en) | Aggregate projection | |
Li et al. | The research of performance optimization methods based on Impala cluster | |
CN103942294A (zh) | 智能交通领域中海量数据检索的查询规划方法 | |
Benhamed et al. | Classification of knowledge processing by MapReduce | |
Tang et al. | Online application of science and technology program oriented distributed heterogeneous data integration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140827 Termination date: 20201229 |