一种同时支持离线数据和实时在线数据的大数据处理解决系统的制作方法

文档序号:9911202阅读:2006来源:国知局
一种同时支持离线数据和实时在线数据的大数据处理解决系统的制作方法
【技术领域】
[0001]本发明涉及一种大数据处理解决方案,特别是一种同时支持离线数据和实时在线数据的完整的大数据处理解决系统。
【背景技术】
[0002]随着技术的发展,人们越来越需要构建复杂和低延迟的处理系统。他们所能使用的两个工具都不能完全解决问题:用于处理历史数据的可扩展的高延迟批处理系统,和无法再处理结果的低延迟流式处理系统。但将这两个工具连在一起,就可以构建可用的解决方案。
[0003]Hadoop框架带来了批量数据处理,但是网络规模大数据的实时处理仍然是一个挑战。有很多技术可以用来建立这样一个完整的数据处理系统,但要选择合适的工具并且编排使用它们却是复杂和艰巨的。

【发明内容】

[0004]基于以上情况,本发明提出了一种同时支持离线数据和实时在线数据的完整的大数据处理解决方案。其中包括:
[0005]一、一个可配置的能够采集多种数据来源的数据采集模块,并引入了分布式故障检测机制,来提高数据采集的稳定性和可靠性。
[0006]二、一个可配置的数据预处理模块,可以从统一配置中心读取配置信息加载相应的处理程序。
[0007]三、一个改进算法的分布式文件存储模块,提出一种对节点性能的评估方法,对HDFS存储算法进行改进,使其能更加快速、高效、准确地完成海量数据的存储工作。
[0008]四、一个高性能的实时数据处理模块,采用Strom分布式流式处理框架,处理海量实时数据,并将计算结果实时存入数据库中。
[0009]五、一个高性能的离线数据处理模块,采用HadoopMapReduce编程模型,并提出了一种基于节点动态性能推断的任务分配算法,提高了离线数据处理模块的性能和稳定性。
[0010]六、一个高度定制化的综合展示模块,基于Web容器提供查询服务,通过ECharts实现分析结果可视化,用户可通过拖拽自定义布局,定制个性化的展示页面,图表之间支持联动和钻取。并提供界面对统一配置中心进行维护。
[0011 ]为实现本发明之目的,采用以下技术方案予以实现:
[0012]—种同时支持离线数据和实时在线数据的大数据处理系统,包括:
[0013]数据采集模块、预处理模块、分布式存储模块、分布式实时流计算模块、离线数据处理模块、数据库、数据综合分析查询模块、综合展示模块和统一配置中心;
[0014]其中:
[0015]数据采集模块用于从统一配置中心读取配置信息,根据该配置信息读取关系型数据库中的数据,并将该数据导入分布式文件存储模块,接收应用集群发出的处理请求,将接收到的请求数据直接提供给分布式实时流计算模块,将应用集群日志文件传送到本地磁盘进行存储备份;
[0016]数据预处理模块用于从统一配置中心读取配置信息,读取本地磁盘存储的应用的日志文件,对数据进行处理后存入本地磁盘,并上传文件到分布式文件存储模块;
[0017]分布式存储模块用于存储海量数据;
[0018]分布式实时流计算模块用于从数据采集模块读取数据,并读取统一配置中心的配置信息,进行实时计算,将计算结果存储到数据库中;离线数据处理模块用于处理分布式文件存储模块中存储的数据,将各个指标计算完成后写入数据库;
[0019]数据库用于存储数据;
[0020]数据综合分析查询模块用于访问数据库,并提供各种指标查询接口;
[0021 ]综合展示模块用于基于web容器提供查询服务,实现分析结果可视化;
[0022]统一配置中心用于对应用集群进行配置。
[0023]所述的大数据处理系统,优选的:数据采集模块包括消息中间件模块,该消息中间件模块接收应用集群发出的处理请求,接收到的数据直接提供给分布式实时流计算模块;该消息中间件模块还将应用集群日志文件传送到本地磁盘进行存储备份。
[0024]所述的大数据处理系统,优选的:数据预处理模块对数据进行预处理包括对数据进行清洗、规约,压缩处理相同类别的数据。
[0025]所述的大数据处理系统,优选的分布式文件存储模块包括:存储节点、节点性能评估模块;
[0026]其中:
[0027](I)节点性能评估模块对应用集群中各个服务器的性能进行评估,生成一个动态的节点性能基准文件,该文件根据需求定期更新;对集群中节点服务器性能评估包括服务器的CPU处理能力、内存性能和磁盘I/O性能;
[0028](2)当用户上传文件时,节点性能评估模块先计算存储节点的性能数值与所有节点性能数值总和的比例值,再根据该比例的值来确定该节点可以存储的数据大小占集群总存储数据大小的比例。
[0029]所述的大数据处理系统,优选的:
[0030]服务器节点的性能值P_i用以下函数描述,其中C_i表示CPU性能值,M_i表示内存性能值,D_i表示磁盘I/O性能值,W_i表示网络I/O性能值:
[0031]Pi = aCi+0Mi+yDi+5ffi
[0032]α+β+ γ +δ = I
[0033]上述公式中α、β、γ、3这四个参数表示各个指标对于服务器性能的不同权重的影响。
[0034]一种同时支持离线数据和实时在线数据的大数据处理方法,包括:
[0035]从统一配置中心读取配置信息,根据该配置信息读取关系型数据库中的数据,并将该数据导入分布式文件存储模块,接收应用集群发出的处理请求,将接收到的请求数据直接提供给分布式实时流计算模块,将应用集群日志文件传送到本地磁盘进行存储备份;
[0036]从统一配置中心读取配置信息,读取本地磁盘存储的应用的日志文件,对数据进行预处理后存入本地磁盘,并上传文件到分布式文件存储模块;
[0037]从数据采集模块读取数据,并读取统一配置中心的配置信息,进行实时计算,将计算结果存储到数据库中;离线数据处理模块用于处理分布式文件存储模块中存储的数据,将各个指标计算完成后写入数据库。
[0038]所述的大数据处理方法,优选的:对数据进行预处理包括对数据进行清洗、规约,压缩处理相同类别的数据。
【附图说明】
[0039]图1为本发明提供的同时支持离线数据和实时在线数据的大数据处理系统示意图;
[0040]图2为本发明的改进调度算法示意图。
【具体实施方式】
[0041]如图1所示,同时支持离线数据和实时在线数据的大数据处理系统包括:数据采集模块、数据预处理模块、统一配置中心、分布式文件存储模块、分布式实时流计算模块、离线数据处理模块、数据库、数据综合分析查询模块和综合展示模块。
[0042]数据采集模块:
[0043](I)从统一配置中心读取配置信息,通过定时循环调度的方式将一个关系型数据库(例如:MySQL,0racle等)中的数据增量导入分布式文件存储模块,如HDFS。例如导入Oracle数据库中存储的用户信息表,产品明细表等,该数据作为基础数据在后续的日志处理中配合日志数据进行分析、计算等处理。数据采集模块可以根据以上从配置中心读取的数据配置导出数据的数据库的连接信息、从哪些表导出数据,导出数据的方式(全量/增量)以及导出数据的开始时间、数据类型等。
[0044](2)包括消息中间件模块,可以是WebSphere MQ消息中间件,该中间件模块接收应用集群发出的处理请求,接收到的数据直接提供给分布式实时流计算模块用于实时计算。通过该消息中间件模块将各应用的日志文件(应用集群日志文件)传送到本地磁盘进行存储备份。该部分不会对数据进行任何处理修改,保证数据完整地存储。日志文件将直接提供给数据预处理模块使用。采集模块还可包括调度模块和同步任务管理模块,同步任务管理模块用于同步将数据库中的数据采集到HDFS,调度模块用于对上述数据采集进行定时。
[0045](3)数据采集模块作为一个分布式系统,本身为多节点结构,数据需要在不同节点间进行传输,因此会出现节点失效、系统进程失效、节点负载过大等情况,而这些情况都将会导致数据丢失。为了保障数据的传输安全,本发明还提出了一个基于数据采集模块的分布式故障检测框架。该框架中,数据采集模块采集的数据源包括两类节点,一类是主节点,另一类是受控节点,将一个监控节点管理服务器作为主节点,各应用节点作为受控节点,在各个应用节点完成对各个应用的监测和控制功能,监控主节点通过心跳通信的方法与各个受控节点进行数据交互。受控节点需要定时向其发送心跳数据,报告该节点应用的状态信息,可以是该节点的应用名称、存储位置、IP地址、当前节点的CPU负载等节点状态信息。当某个受控节点在心跳周期内没有发送心跳数据,则判定该节点暂时失效,当某个节点失效时及时报警,有利于相关人员尽快排除故障,提高数据传输的容错性和可靠性。同时,管理员可以通过web界面来对受控节点配置进行更改,并通过心跳通信由监控节点来通知受控节点更新其配置。
[0046]数据预处理模块:从统一配置中心读取配置信息,读取通过所述消息中间件模块传送到本地磁盘的各个应用的日志文件,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1