一种基于Hadoop的大数据实时处理系统技术方案

技术编号:15299698 阅读:121 留言:0更新日期:2017-05-12 01:52
本发明专利技术公开了一种基于Hadoop的大数据实时处理系统。本发明专利技术实施例中在创建查询任务的同时,进行过滤索引,过滤索引的同时可以将过滤完的索引文件分发到datanode上面,同时datanode完成本地文件的查询,并向客户端返回查询结果。并且本发明专利技术实施例中任何datanode的查询完成,都可以通过实时传输中间件的周期轮询机制快速的向客户端返回查询结果。本发明专利技术实施例中,在HDFS内的数据查询处理过程都是并发执行的,最大限度的利用了计算机的硬件设备,使查询达到了实时完成,极大地提高了查询的效率,用户执行查询操作时便能获得查询结果,提高数据查询的效率,快速响应客户端的查询请求。

A large data real-time processing system based on Hadoop

The invention discloses a large data real-time processing system based on Hadoop. The embodiment of the invention to create query tasks at the same time, filtration index, while filtering index can be filtered to distribute the index files to datanode, datanode and complete the local file search, and query results are returned to the client. Moreover, any datanode query in the embodiment of the invention can quickly return the query result to the client through the periodic polling mechanism of the real-time transport middleware. In one embodiment of the invention, in the HDFS data query processing is executed concurrently, to maximize the use of the computer hardware, which achieves the real-time query, greatly improve the efficiency of the query, the user query operation can get query results, improve the efficiency of data query, fast in response to the client's request.

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及一种基于Hadoop的大数据实时处理系统
技术介绍
随着信息化的发展,企业要处理的数据呈爆炸式的增长,数据量都达到了超大规模(例如从TB级到PB级),由此带来了一系列的问题。数据量的增多,系统的负载越来越大,数据的入库和查询性能随之下降。在不增加硬件成本的情况下,如何发挥系统的最大性能,使入库和查询的速度最快,是许多企业面临的难题。云计算的出现为海量数据处理提供了有效地解决途径,在通常的云计算解决方案中存在基于Hadoop的框架设计,Hadoop中包括:分布式文件系统(HadoopDistributedFileSystem,HDFS)和MapReduce。HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。通过Hadoop的HDFS可以方便的实现海量数据存储,同时有效防止单点故障,避免不必要的损失。但是,在HDFS上进行数据检索时,常用的方法是开启全局搜索MapReduce,即需要进行大规模数据的并行运算,这需要完整过滤一遍HDFS上存储的所有数据。在云计算中,尤其是海量数据的情况下,现有技术中在HDFS上使用MapReduce进行全局搜索会对系统资源造成巨大的浪费,耗费大量的时间。
技术实现思路
本专利技术的目的在于提供一种基于Hadoop的大数据实时处理系统,用于提高数据查询的效率,快速响应客户端的查询请求。为了达到上述目的,本专利技术采用这样的如下技术方案:本专利技术提供一种基于Hadoop的大数据实时处理系统,所述基于Hadoop的大数据实时处理系统包括:客户端、实时传输中间件、分布式文件系统HDFS,其中,所述HDFS包括:控制节点namenode和多个数据节点datanode;所述控制节点,用于在所述多个数据节点上启动多线程,实时的创建需要入库的多个数据分别对应的索引,并将多个索引按照创建时间保存在多个索引文件中;所述客户端,用于通过所述实时传输中间件向所述HDFS发送数据获取get请求;所述实时传输中间件,用于将所述客户端发送的数据获取请求转发给所述控制节点;所述控制节点,用于根据所述客户端发送的数据获取请求创建查询任务,所述查询任务包括:目标数据所满足的查询条件,所述查询条件包括:查询时间条件;根据所述查询条件中的查询时间条件和所述多个索引文件进行匹配,筛选出满足所述查询时间条件的索引条件;将所述查询任务分发到所述多个数据节点上,根据所述筛选出的索引文件和所述查询条件查询所述多个数据节点,从而得到满足所述查询条件的数据的位置;再次向所述多个数据节点分发所述查询任务,根据所述满足所述查询条件的数据的位置在所述多个数据节点上读取数据,当所述多个数据节点中任何一个数据节点查询成功时,返回查询结果;所述实时传输中间件,用于按照预置的轮询周期轮询查询结果目录,如果所述查询结果目录不为空,则读取所述查询结果目录中的查询结果文件并返回给客户端;所述客户端,用于通过所述实时传输中间件实时的获取到所述查询结果文件。采用上述技术方案后,本专利技术提供的技术方案将有如下优点:本专利技术实施例提供的基于Hadoop的大数据实时处理系统中,可以实现对大数据实时处理,在大数据实时处理系统中可以实现数据的入库,查询,传输都是并发的,且是实时的。本专利技术实施例中在创建查询任务的同时,进行过滤索引,过滤索引的同时可以将过滤完的索引文件分发到datanode上面,同时datanode完成本地文件的查询,并向客户端返回查询结果。并且本专利技术实施例中任何datanode的查询完成,都可以通过实时传输中间件的周期轮询机制快速的向客户端返回查询结果。本专利技术实施例中,在HDFS内的数据查询处理过程都是并发执行的,最大限度的利用了计算机的硬件设备,使查询达到了实时完成,极大地提高了查询的效率,用户执行查询操作时便能获得查询结果,提高数据查询的效率,快速响应客户端的查询请求。附图说明图1为本专利技术实施例提供一种基于Hadoop的大数据实时处理系统的组成结构示意图;图2为本专利技术实施例提供基于jetty的查询流程示意图。具体实施方式本专利技术实施例提供了一种基于Hadoop的大数据实时处理系统,用于提高数据查询的效率,快速响应客户端的查询请求。为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本专利技术一部分实施例,而非全部实施例。基于本专利技术中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。以下分别进行详细说明。本专利技术基于Hadoop的大数据实时处理系统的一个实施例,可以实现在分布式系统基础架构上完成数据的快速实时查询。本专利技术实施例可以克服现有技术中的云计算解决方案中常用数据处理方法会造成系统资源浪费,数据处理时间长的缺点,提供一种有效的海量数据实时处理方法。本专利技术实施例中数据的入库,查询,传输都是并发的、实时的。请参阅图1所示,本专利技术提供的基于Hadoop的大数据实时处理系统,包括:客户端、实时传输中间件、分布式文件系统(HadoopDistributedFileSystem,HDFS),其中,HDFS包括:控制节点(namenode)和多个数据节点(datanode);控制节点,用于在多个数据节点上启动多线程,实时的创建需要入库的多个数据分别对应的索引,并将多个索引按照创建时间保存在多个索引文件中;客户端,用于通过实时传输中间件向HDFS发送数据获取get请求;实时传输中间件,用于将客户端发送的数据获取请求转发给控制节点;控制节点,用于根据客户端发送的数据获取请求创建查询任务,查询任务包括:目标数据所满足的查询条件,查询条件包括:查询时间条件;根据查询条件中的查询时间条件和多个索引文件进行匹配,筛选出满足查询时间条件的索引条件;将查询任务分发到多个数据节点上,根据筛选出的索引文件和查询条件查询多个数据节点,从而得到满足查询条件的数据的位置;再次向多个数据节点分发查询任务,根据满足查询条件的数据的位置在多个数据节点上读取数据,当多个数据节点中任何一个数据节点查询成功时,返回查询结果;实时传输中间件,用于按照预置的轮询周期轮询查询结果目录,如果查询结果目录不为空,则读取查询结果目录中的查询结果文件并返回给客户端;客户端,用于通过实时传输中间件实时的获取到查询结果文件。本专利技术实施例中,基于Hadoop实现HDFS,HDFS有高容错性的特点,HDFS可以提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序,HDFS放宽了POSIX的要求,可以以流的形式访问(streamingaccess)文件系统中的数据。其中,实时传输中间件设置在客户端和HDFS之间,客户端和HDFS之间的交互通过实时传输中间件来完成,例如查询请求的转发和查询结果的转发等。在本专利技术的本文档来自技高网...
一种基于Hadoop的大数据实时处理系统

【技术保护点】
一种基于Hadoop的大数据实时处理系统,其特征在于,所述基于Hadoop的大数据实时处理系统包括:客户端、实时传输中间件、分布式文件系统HDFS,其中,所述HDFS包括:控制节点namenode和多个数据节点datanode;所述控制节点,用于在所述多个数据节点上启动多线程,实时的创建需要入库的多个数据分别对应的索引,并将多个索引按照创建时间保存在多个索引文件中;所述客户端,用于通过所述实时传输中间件向所述HDFS发送数据获取get请求;所述实时传输中间件,用于将所述客户端发送的数据获取请求转发给所述控制节点;所述控制节点,用于根据所述客户端发送的数据获取请求创建查询任务,所述查询任务包括:目标数据所满足的查询条件,所述查询条件包括:查询时间条件;根据所述查询条件中的查询时间条件和所述多个索引文件进行匹配,筛选出满足所述查询时间条件的索引条件;将所述查询任务分发到所述多个数据节点上,根据所述筛选出的索引文件和所述查询条件查询所述多个数据节点,从而得到满足所述查询条件的数据的位置;再次向所述多个数据节点分发所述查询任务,根据所述满足所述查询条件的数据的位置在所述多个数据节点上读取数据,当所述多个数据节点中任何一个数据节点查询成功时,返回查询结果;所述实时传输中间件,用于按照预置的轮询周期轮询查询结果目录,如果所述查询结果目录不为空,则读取所述查询结果目录中的查询结果文件并返回给客户端;所述客户端,用于通过所述实时传输中间件实时的获取到所述查询结果文件。...

【技术特征摘要】
1.一种基于Hadoop的大数据实时处理系统,其特征在于,所述基于Hadoop的大数据实时处理系统包括:客户端、实时传输中间件、分布式文件系统HDFS,其中,所述HDFS包括:控制节点namenode和多个数据节点datanode;所述控制节点,用于在所述多个数据节点上启动多线程,实时的创建需要入库的多个数据分别对应的索引,并将多个索引按照创建时间保存在多个索引文件中;所述客户端,用于通过所述实时传输中间件向所述HDFS发送数据获取get请求;所述实时传输中间件,用于将所述客户端发送的数据获取请求转发给所述控制节点;所述控制节点,用于根据所述客户端发送的数据获取请求创建查询任务,所述查询任务包括:目标数据所满足的查询条件,所述查询条件包括:查询时间条件;根据所述查询条件中的查询时间条件和所述多个索引文件进行匹配,筛选出满足所述查询时间条件的索引条件;将所述查询任务分发到所述多个数据节点上,根据所述筛选出的索引文件和所述查询条件查询所述多个数据节点,从而得到满足所述查询条件的数据的位置;再次向所述多个数据节点分发所述查询任务,根据所述满足所述查询条件的数据的位置在所述多个数据节点上读取数据,当所述多个数据节点中任何一个数据节点查询成功时,返回查询结果;所述实时传输中间件,用于按照预置的轮询周期轮询查询结果目录,如果所述查询结果目录不为空,则读取所述查询结果目录中的查询结果文件并返回给客户端;所述客户端,用于通过所述实时传输中间件实时的获取到所述查询结果文件。2.根据权利要求1所述的一种基于Hadoop的大数据实时处理系统,其特征在于,所述控制节点,具体用于按照B+...

【专利技术属性】
技术研发人员:陈嵩荣郑志伟张木辉蔡剑齐王晓强
申请(专利权)人:南威软件股份有限公司
类型:发明
国别省市:福建;35

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

1