一种大数据的处理方法、系统的制作方法

文档序号:6545471阅读:207来源:国知局
一种大数据的处理方法、系统的制作方法
【专利摘要】本发明适用于信息处理【技术领域】,提供了一种大数据的处理方法、系统,所述方法包括:实时处理系统根据预置的配置文件获取异构数据源的数据结构信息并发送所述异构数据源的数据结构信息至批处理系统,所述批处理系统根据所述异构数据源的数据结构信息建立元数据表;实时处理系统接收源数据流,对所述源数据流进行实时处理并写入实时处理结果至实时处理系统的数据库中,同时发送实时处理结果至批处理系统,以由批处理系统将所述实时处理结果存储在元数据表中;批处理系统接收批处理作业指令,根据所述批处理作业指令执行相应的批处理任务,并展示作业结果。本发明,避免了手工进行数据预处理的操作,减少了数据处理前期的预处理时间成本。
【专利说明】一种大数据的处理方法、系统
【技术领域】
[0001]本发明属于信息处理【技术领域】,尤其涉及一种大数据的处理方法、系统。
【背景技术】
[0002]批处理和实时处理是目前大数据分析中对于数据处理的两种基本方法。所谓批处理就是将作业按照它们的性质分组(或分批),然后再成组(或成批)地提交给计算机系统,由计算机自动完成处理后再输出结果,它的目的是为了提高系统吞吐量和资源的利用率。现在的批处理系统,如分布式文件系统、并行数据库等都大大地提高了系统的资源利用率和作业吞吐量,不仅适用于存储在内存中的小数据集,同时还能够扩展到处理庞大的数据集。所谓实时处理是指实时数据通过接入层源源不断地进入实时处理系统,在数据处理层根据相应的计算任务进行计算,然后将计算结果写入到归档层,供下一个系统查询或者使用。现在的实时处理系统如S4、Storm、Puma等都具有低延迟、支持实时不间断处理等特性。基于这两种方式独立存在的开源系统不胜其数,不同的使用场景使得大数据处理分析逐渐地向两个独立地方向发展。
[0003]但是随着数据量的大规模增长,不同的服务对数据的处理要求变得复杂多样,我们在实践中发现了如下的实际需求:在对海量数据进行批处理时,需要自动获取其中某个特定的事件或者实体的实时状态;同样地,在对大数据进行实时处理时,需要自动查询某个特定事件或者实体的历史记录。在这种情况下,人们真正想要的是批处理和实时处理的结合体,既满足实时处理的需求,又获取批处理深度挖掘后的数据价值。
[0004]然而,在常见的实现方案中,大数据的批处理系统和实时处理系统为两个独立的系统。若要结合使用,实时数据经过加工处理存储到批处理系统的环节需要人工完成,人工建表和导入数据的过程不仅时间开销巨大、效率低,而且人工成本也偏高。

【发明内容】

[0005]本发明实施例提供了一种大数据的处理方法、系统,旨在解决现有技术提供的大数据处理方法,不仅时间开销巨大、效率低,而且人工成本也偏高的问题。
[0006]一方面,提供一种大数据的处理方法,所述方法包括:
[0007]实时处理系统解析预置的配置文件,获取异构数据源的数据结构信息;
[0008]实时处理系统发送所述异构数据源的数据结构信息至批处理系统,所述批处理系统根据所述异构数据源的数据结构信息建立元数据表;
[0009]实时处理系统接收源数据流,对所述源数据流进行实时处理;
[0010]实时处理系统写入实时处理结果至实时处理系统的数据库中;
[0011]实时处理系统发送实时处理结果至批处理系统,以由批处理系统将所述实时处理结果存储在元数据表中;
[0012]批处理系统接收批处理作业指令;
[0013]批处理系统根据所述批处理作业指令执行相应的批处理任务,并展示作业结果。[0014]进一步地,所述批处理作业指令是实时处理系统推送至批处理系统的;或
[0015]所述批处理作业指令是客户分配给批处理系统的。
[0016]进一步地,所述实时处理系统发送实时处理结果至批处理系统,由批处理系统将所述实时处理结果存储在元数据表中包括:
[0017]实时处理系统设置定时器;
[0018]实时处理系统建立和批处理系统的套接字通信;
[0019]实时处理系统根据所述定时器设置的周期,周期性地将所述实时处理结果发送至批处理系统。
[0020]另一方面,提供一种实时处理系统,所述实时处理系统包括:
[0021]数据结构信息获取单元,用于解析预置的配置文件,获取异构数据源的数据结构信息;
[0022]数据结构信息发送单元,用于发送所述异构数据源的数据结构信息至批处理系统,以由所述批处理系统根据所述异构数据源的数据结构信息建立元数据表;
[0023]实时处理单元,用于接收源数据流,对所述源数据流进行实时处理;
[0024]第一实时结果存储单元,用于写入实时处理结果至实时处理系统的数据库中;
[0025]实时结果发送单元,用于发送实时处理结果至批处理系统,以由批处理系统先将所述实时处理结果存储在元数据表中,再根据接收到的批处理作业指令执行相应的批处理任务,并展示作业结果。
[0026]进一步地,所述实时处理系统还包括:
[0027]批处理作业指令推送单元,用于推送批处理作业指令至批处理系统。
[0028]进一步地,所述实时结果发送单元包括:
[0029]定时器设置模块,用于设置定时器;
[0030]通信建立模块,用于建立和批处理系统的套接字通信;
[0031]实时结果发送模块,用于根据所述定时器设置的周期,周期性地发送所述实时处理结果至批处理系统。
[0032]又一方面,提供一种批处理系统,所述批处理系统包括:
[0033]数据结构信息接收单元,用于接收实时处理系统发送的异构数据源的数据结构信息;
[0034]元数据表建立单元,用于根据所述异构数据源的数据结构信息建立元数据表;
[0035]实时结果接收单元,用于接收实时处理系统发送的实时处理结果;
[0036]第二实时结果存储单元,用于将所述实时处理结果存储在元数据表中;
[0037]批处理作业指令接收单元,用于批处理系统接收批处理作业指令;
[0038]批处理执行单元,用于根据所述批处理作业指令执行相应的批处理任务,并展示作业结果。
[0039]进一步地,所述批处理作业指令接收单元包括:
[0040]第一批处理作业指令接收模块,用于接收实时处理系统推送的批处理作业指令;或
[0041]第二批处理作业指令接收模块,用于接收批处理查询客户端分配的批处理作业指令。[0042]进一步地,所述第二实时结果存储单元周期性地将所述实时处理结果通过复制方式加载至批处理系统的数据库中。
[0043]再一方面,提供一种大数据的处理系统,所述系统包括实时数据查询客户端、如上所述的实时处理系统、批处理查询客户端和如上所述的批处理系统,所述实时数据查询客户端与所述实时处理系统连接,所述实时处理系统与所述批处理系统连接,所述批处理系统与所述批处理查询客户端连接。
[0044]在本发明实施例,提供的实时处理系统可以支持多种异构数据源,批处理系统提供AutoTransform、AutoPartition工具,通过这些自动化工具实现了自动建表、自动分块和加载数据的机制,可以提高批处理的自动化程度,避免了手工进行数据预处理的操作,减少了数据处理前期的预处理时间成本,提高了数据批处理的效率。另外,实时处理系统可以对流式数据实时处理的能力的同时,将实时处理结果实时写入至批处理底层的PostgreSQL数据库中,减少数据转存过渡期的开销。
【专利附图】

【附图说明】
[0045]图1是本发明实施例一提供的大数据的处理方法的实现流程图;
[0046]图2是本发明实施例一提供的大数据的处理系统的结构框图。
【具体实施方式】
[0047]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0048]在本发明实施例中,实时处理系统根据预置的配置文件获取异构数据源的数据结构信息,并发送所述异构数据源的数据结构信息至批处理系统,由批处理系统根据所述异构数据源的数据结构信息建立元数据表;实时处理系统接收到源数据流后,对所述源数据流进行实时处理,写入实时处理结果至实时处理系统的数据库中,同时发送实时处理结果至批处理系统,以由批处理系统将所述实时处理结果存储在元数据表中,批处理系统接收到批处理作业指令后,根据所述批处理作业指令执行相应的批处理任务,并展示作业结果。
[0049]以下结合具体实施例对本发明的实现进行详细描述:
[0050]实施例一
[0051]图1示出了本发明实施例一提供的大数据的处理方法的实现流程,详述如下:
[0052]在步骤SlOl中,实时处理系统解析预置的配置文件,获取异构数据源的数据结构信息。
[0053]在本实施例中,实时处理系统可以预先根据待处理的异构数据源的结构信息进行配置文件的设置,后续,接收到源数据流后,实时处理系统即可根据预先设置的配置文件对接收到的源数据流进行解析,得到所述源数据流的数据信息。
[0054]其中,用户成功登录由实时处理系统和批处理系统组成的大数据的处理系统的主界面后,可以通过主界面左侧的工具栏进行数据源管理。管理员账号用户通过管理账号登录后,可以根据异构数据源的结构信息对配置文件进行设置,而普通账号用户只可以查询数据分析结果。[0055]在步骤S102中,实时处理系统发送所述异构数据源的数据结构信息至批处理系统,所述批处理系统根据所述异构数据源的数据结构信息建立元数据表。
[0056]在本实施例中,异构数据源的数据结构信息中包括数据名称、数据各字段的名称和类型,批处理系统接收到异构数据源的数据结构信息后,即可启动AutoTransform工具,由AutoTransform工具根据该信息自动生成相应的PostgreSQL或Hive建表语句,并通过建表语句在批处理系统的数据库中建立元数据表。
[0057]在步骤S103中,实时处理系统接收源数据流,对所述源数据流进行实时处理,并写入实时处理结果至实时处理系统的数据库中。
[0058]在本实施例中,实时处理系统中包括根据具体的应用要求进行编写的特定的gStorm程序,gStorm程序可以根据预置的配置文件实时处理源数据流,并将需要的实时处理结果实时写入到实时处理系统的持久化模块数据库中,以便实时查询。
[0059]在步骤S104中,实时处理系统发送实时处理结果至批处理系统,以由批处理系统将所述实时处理存储在元数据表中。
[0060]在本实施例中,批处理系统采用Hadoop、Hive和PostgreSQL等开源组件。批处理系统接收到实时处理结果后,对实时处理结果中包括的数据进行分块,具体可以通过AutoPartition工具实现全局哈希分块和本地哈希分块。其中,全局哈希分块是通过全局散列器执行一个已定制过的Hadoop MapReduce作业来读取存储在批处理系统(HadoopDistributed File System, HDFS)的主节点上的数据文件,然后根据系统中子节点的个数将读取的数据进行重新划分。本地哈希分块是通过本地散列器将HDFS上的分区分别下载到每个子节点的本地文件系统中,然后基于最大块大小设置将这些分区文件二次划分为较小的块。最后,批处理系统将这些较小的块通过复制方式独立地加载至批处理系统的各个子节点上的数据库中。其中,各个子节点上的数据库中存储的数据按照日期和时间的顺序进行存储。
[0061]在步骤S105中,批处理系统接收批处理作业指令。
[0062]在本实施例中,批处理系统通过两种方式接收批处理作业指令。一种是实时处理系统推送批处理作业指令至批处理系统。其中,实时处理系统可以扩展gStorm程序的Bolt功能,使其能与批处理系统的管理者“ JobTracker”进行通信,并推送SQL命令给批处理系统,再由批处理系统解析SQL语句为MapReduce任务。具体实现时,实时处理系统可以设置指定条件,当满足指定条件时,实时处理系统推送批处理作业指令至批处理系统。这种接收批处理作业指令的方式,在发挥gStorm对流式数据实时处理的能力的同时,将实时处理结果实时写入至批处理底层的PostgreSQL数据库中,减少数据转存过渡期的开销。另一种是由批处理系统等待客户分配批处理作业指令。
[0063]在步骤S106中,批处理系统根据所述批处理作业指令执行相应的批处理任务,并展示作业结果。
[0064]在本实施例中,批处理作业指令是SQL命令,批处理系统接收到SQL命令后,将SQL命令翻译成MapReduce任务,同时再将MapReduce任务对应到底层关系型数据库可以执行的SQL语句,以实现快速查询。
[0065]本实施例,提供的实时处理系统可以支持多种异构数据源,批处理系统提供AutoTransform、AutoPartition工具,通过这些自动化工具实现了自动建表、自动分块和加载数据的机制,可以提高批处理的自动化程度,避免了手工进行数据预处理的操作,减少了数据处理前期的预处理时间成本,提高了数据批处理的效率。另外,实时处理系统可以对流式数据实时处理的能力的同时,将实时处理结果实时写入至批处理底层的PostgreSQL数据库中,减少数据转存过渡期的开销。
[0066]本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如R0M/RAM、磁盘或光盘等。
[0067]实施例二
[0068]图2示出了本发明实施例二提供的大数据的处理系统的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该大数据的处理系统包括:实时数据查询客户端23、实时处理系统21、批处理查询客户端24和批处理系统22,所述实时数据查询客户端23与所述实时处理系统21连接,所述实时处理系统21与所述批处理系统22连接,所述批处理系统22与所述批处理查询客户端连接24。
[0069]具体的,实时处理系统21包括:数据结构信息获取单元211、数据结构信息发送单元212、实时处理单元213、第一实时结果存储单元214和实时结果发送单元215。
[0070]其中,数据结构信息获取单元211,用于解析预置的配置文件,获取异构数据源的数据结构信息;
[0071]数据结构信息发送单元212,用于发送所述异构数据源的数据结构信息至批处理系统,以由所述批处理系统根据所述异构数据源的数据结构信息建立元数据表;
[0072]实时处理单元213,用于接收源数据流,对所述源数据流进行实时处理;
[0073]第一实时结果存储单元214,用于写入实时处理结果至实时处理系统的数据库中;
[0074]实时结果发送单元215,用于发送实时处理结果至批处理系统,以由批处理系统先将所述实时处理结果存储在元数据表中,再根据接收到的批处理作业指令执行相应的批处理任务,并展示作业结果。
[0075]进一步地,实时处理系统21还包括:
[0076]批处理作业指令推送单元,用于推送批处理作业指令至批处理系统。
[0077]具体的,所述实时结果发送单元215包括:
[0078]定时器设置模块,用于设置定时器;
[0079]通信建立模块,用于建立和批处理系统的套接字通信;
[0080]实时结果发送模块,用于根据所述定时器设置的周期,周期性地发送所述实时处理结果至批处理系统。
[0081]具体的,所述批处理系统22包括:数据结构信息接收单元221、元数据表建立单元222、实时结果接收单元223、第二实时结果存储单元224、批处理作业指令接收单元225和批处理执行单元226。
[0082]其中,数据结构信息接收单元221,用于接收实时处理系统发送的异构数据源的数据结构信息;
[0083]元数据表建立单元222,用于根据所述异构数据源的数据结构信息建立元数据表;[0084]实时结果接收单元223,用于接收实时处理系统发送的实时处理结果;
[0085]第二实时结果存储单元224,用于将所述实时处理结果存储在元数据表中;
[0086]批处理作业指令接收单元225,用于接收批处理作业指令;
[0087]批处理执行单元226,用于根据所述批处理作业指令执行相应的批处理任务,并展示作业结果。
[0088]具体的,所述批处理作业指令接收单元225包括:
[0089]第一批处理作业指令接收模块,用于接收实时处理系统推送的批处理作业指令;或
[0090]第二批处理作业指令接收模块,用于接收批处理查询客户端24分配的批处理作业指令。
[0091]具体的,所述第二实时结果存储单元224周期性地将所述实时处理结果通过复制方式加载至批处理系统的数据库中。
[0092]具体的,实时数据查询客户端23可以发送实时查询指令至实时处理系统21,进行实时查询。
[0093]具体的,批处理系统22结合MapReduce框架和并行数据库的优势,利用了MapReduce框架和并行数据库的优势,其中MapReduce部分负责数据载入、转换等任务,并行数据库负责查询密集型任务,两者结合实现对离线数据进行深度挖掘,不仅取得MapReduce等大规模并行数据处理架构的容错性,同时还可以高效地执行复杂的SQL语句分析。
[0094]另外,该大数据的处理系统还提供了人性化的一站式系统管理和交互环境,用户可以直接通过Web端设定和修改系统参数,实时监控集群的运行状态。大数据处理系统还通过调用数据可视化框架,将查询结果动态、美观地呈现给用户。
[0095]本发明实施例已经实际运用于处理深圳市交通管理部门提供的真实的海量实时数据,解决海量实时交通数据所面临的主要技术瓶颈,包括快速检索和高效分析。
[0096]总体而言,支持批处理和实时处理的大数据的处理方法,实现了实时处理和批处理的互操作,既能够满足用户对于海量历史数据的统计分析的功能,又能够支持实时数据查询统计功能,人性化的界面展示模块还能将查询、分析结果通过实时动态图表展示给用户,可视化程度很高。
[0097]本发明实施例提供的系统可以应用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
[0098]值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0099]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种大数据的处理方法,其特征在于,所述方法包括: 实时处理系统解析预置的配置文件,获取异构数据源的数据结构信息; 实时处理系统发送所述异构数据源的数据结构信息至批处理系统,以由所述批处理系统根据所述异构数据源的数据结构信息建立元数据表; 实时处理系统接收源数据流,对所述源数据流进行实时处理; 实时处理系统写入实时处理结果至实时处理系统的数据库中; 实时处理系统发送实时处理结果至批处理系统,以由批处理系统将所述实时处理结果存储在兀数据表中; 批处理系统接收批处理作业指令; 批处理系统根据所述批处理作业指令执行相应的批处理任务,并展示作业结果。
2.如权利要求1所述的方法,其特征在于,所述批处理作业指令是实时处理系统推送至批处理系统的;或 所述批处理作业指令是客户分配给批处理系统的。
3.如权利要求1或2所述的方法,其特征在于,所述实时处理系统发送实时处理结果至批处理系统,由批处理系统将所述实时处理结果存储在元数据表中包括: 实时处理系统设置定时器; 实时处理系统建立和批处理系统的套接字通信; 实时处理系统根据所述定时器设置的周期,周期性地将所述实时处理结果发送至批处理系统。
4.一种实时处理系统,其特征在于,所述实时处理系统包括: 数据结构信息获取单元,用于解析预置的配置文件,获取异构数据源的数据结构信息; 数据结构信息发送单元,用于发送所述异构数据源的数据结构信息至批处理系统,以由所述批处理系统根据所述异构数据源的数据结构信息建立元数据表; 实时处理单元,用于接收源数据流,对所述源数据流进行实时处理; 第一实时结果存储单元,用于写入实时处理结果至实时处理系统的数据库中; 实时结果发送单元,用于发送实时处理结果至批处理系统,以由批处理系统先将所述实时处理结果存储在元数据表中,再根据接收到的批处理作业指令执行相应的批处理任务,并展示作业结果。
5.如权利要求4所述的实时处理系统,其特征在于,所述实时处理系统还包括: 批处理作业指令推送单元,用于推送批处理作业指令至批处理系统。
6.如权利要求4或5所述的实时处理系统,其特征在于,所述实时结果发送单元包括: 定时器设置模块,用于设置定时器; 通信建立模块,用于建立和批处理系统的套接字通信; 实时结果发送模块,用于根据所述定时器设置的周期,周期性地发送所述实时处理结果至批处理系统。
7.一种批处理系统,其特征在于,所述批处理系统包括: 数据结构信息接收单元,用于接收实时处理系统发送的异构数据源的数据结构信息; 元数据表建立单元,用于根据所述异构数据源的数据结构信息建立元数据表;实时结果接收单元,用于接收实时处理系统发送的实时处理结果; 第二实时结果存储单元,用于将所述实时处理结果存储在元数据表中; 批处理作业指令接收单元,用于批处理系统接收批处理作业指令; 批处理执行单元,用于根据所述批处理作业指令执行相应的批处理任务,并展示作业结果。
8.如权利要求7所述的批处理系统,其特征在于,所述批处理作业指令接收单元包括: 第一批处理作业指 令接收模块,用于接收实时处理系统推送的批处理作业指令;或 第二批处理作业指令接收模块,用于接收批处理查询客户端分配的批处理作业指令。
9.如权利要求7或8所述的批处理系统,其特征在于,所述第二实时结果存储单元周期性地将所述实时处理结果通过复制方式加载至批处理系统的数据库中。
10.一种大数据的处理系统,其特征在于,所述系统包括实时数据查询客户端、如权利要求4至6任一项所述的实时处理系统、批处理查询客户端和如权利要求7至9任一项所述的批处理系统,所述实时数据查询客户端与所述实时处理系统连接,所述实时处理系统与所述批处理系统连接,所述批处理系统与所述批处理查询客户端连接。
【文档编号】G06F17/30GK103942330SQ201410182903
【公开日】2014年7月23日 申请日期:2014年4月30日 优先权日:2014年4月30日
【发明者】范小朋, 沈慧, 杨鑫, 赵东辉, 须成忠 申请人:深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1