CN109829005A - 一种大数据处理方法及装置 - Google Patents
一种大数据处理方法及装置 Download PDFInfo
- Publication number
- CN109829005A CN109829005A CN201910005579.3A CN201910005579A CN109829005A CN 109829005 A CN109829005 A CN 109829005A CN 201910005579 A CN201910005579 A CN 201910005579A CN 109829005 A CN109829005 A CN 109829005A
- Authority
- CN
- China
- Prior art keywords
- module
- task
- source
- execution
- message
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种大数据处理方法及装置,涉及数据处理技术领域。本发明通过将实现大数据处理的各个模块解耦,由调度模块对各个模块进行调度,通过采集模块从源主机采集源数据,通过文件加载HDFS模块实现将该采集模块采集的该源数据加载到分布式文件***HADOOP中,以及SPARK统计模块根据业务需求从该HADOOP中抽取第二源数据并发送至关系数据库,并在整个过程中对各个模块的任务执行情况监测,在超时或执行失败时重新发起任务执行命令,能够在大数据处理时,提高处理效率和成功率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及大数据处理方法及装置。
背景技术
近年来,大数据处理的相关应用以及技术越来越受到重视。一方面,在科学研究过程中产生了大量的数据,对于数据的理解成为进行科学研究的一个重要手段。另一方面,随着信息技术的不断发展,企业,例如运营商、购物平台等在运营过程中积累了大量的历史数据。如何根据需求运用这些数据已经成为企业的核心竞争力。
目前,大数据的多维度统计一般有两种方案。一种是把数据导入通过数据库应用程序接口(Application Programming Interface,API)批量导入关系型数据库,然后执行相应的查询语句对数据进行汇总统计。一种是把数据导入分布式文件***Hadoop,然后通过hive或者phoenix中间件来支持结构化查询语言(Structured Query Language,SQL)查询统计。然而,随着处理的数据量越来越大,尤其到了亿级或数十亿级,关系型数据库的瓶颈越来越明显,数据导入、数据处理、数据汇总等会消耗大量***资源导致处理效率急剧下降,并且长时间占用***资源不仅导致用时较长,还会导致其他执行语句等待超时或出错。
发明内容
本发明实施例提供一种大数据处理方法及装置,能够在大数据处理时,提高处理效率和成功率。
为达到上述目的,本发明实施例提供了一种大数据处理方法,该方法包括:
采集模块从源主机采集源数据;
采集模块向调度模块发送调度消息,该调度消息用于指示调度文件加载HDFS模块;
调度模块根据该调度消息调度文件加载HDFS模块;
文件加载HDFS模块将该采集模块采集的该源数据加载到分布式文件***HADOOP中;
调度模块调度SPARK统计模块根据业务需求从HADOOP中抽取第二源数据;
调度模块调SPARK统计模块将该第二源数据发送至关系数据库;其中,在各个模块工作过程中,监控模块监控调度模块发送的各个模块的任务执行状态消息;该调度模块通过消息中间件与采集模块、监控模块、文件加载HDFS模块和SPARK统计模块进行通信。
对应地,本发明的实施例还提供了一种大数据处理装置,该装置包括:
采集模块,用于从源主机采集源数据;以及
向调度模块发送调度消息,该述调度消息用于指示调度模块对大数据处理装置的调度文件加载HDFS模块进行调度;其中,该采集模块包括若干个分布式主机;
调度模块,用于根据该采集模块发送的调度消息调度文件加载HDFS模块,以及调度大数据处理装置的其他各个模块;
文件加载HDFS模块,用于根据调度模块的指示将该采集模块采集的源数据加载到分布式文件***HADOOP中;
SPARK统计模块,用于根据调度模块的指示和业务需求从HADOOP中抽取第二源数据,以及将该第二源数据发送至关系数据库;
关系数据库,用于存储该第二源数据;
监控模块,用于在大数据处理装置各个模块工作过程中,监控该调度模块发送的各个模块的任务执行状态消息;
其中,该调度模块通过消息中间件与采集模块、监控模块、文件加载HDFS模块和SPARK统计模块进行通信。
本发明通过将实现大数据处理的各个模块解耦,通过采集模块从源主机采集源数据,通过调度模块来调度文件加载HDFS模块实现将该采集模块采集的该源数据加载到分布式文件***HADOOP中,以及调度SPARK统计模块根据业务需求从该HADOOP中抽取第二源数据并发送至关系数据库,能够在大数据处理时,提高处理效率和成功率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种大数据处理方法流程图;
图2为本发明实施例的一种源数据采集方法流程图;
图3为本发明实施例的一种根据任务执行状态结果发送任务执行状态消息的方法流程图;
图4为本发明实施例的另一种根据任务执行状态结果发送任务执行状态消息的方法流程图;
图5为本发明实施例的一种大数据处理装置结构示意图;
图6为本发明实施例的一种大数据处理装置硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种大数据处理装置,如图1所示,为本发明实施例的一种大数据处理方法流程图,该方法应用于一种大数据处理装置,该方法可以包括:
步骤101、采集模块从源主机采集源数据。
采集模块从源主机采集源数据可以由调度模块触发,也可以根据业务需求手动触发,或者由源主机触发,对此,本发明实施例不进行限定。
采集模块在完成源数据采集之后,可以向调度模块发送调度消息,告知调度模块已完成源数据采集,可以进行后续模块,即文件加载HDFS模块的调度。
步骤102、采集模块向调度模块发送调度消息,该调度消息用于指示调度文件加载HDFS模块。
步骤103、调度模块根据调度消息调度文件加载HDFS模块。
调度模块还负责其他各个模块的调度,并且在各个模块执行任务时,持续获取各个模块返回的任务执行状态结果,根据该任务执行状态结果更新监控数据,以便在显示模块可以实时观察到各个任务的执行进度和执行状态。
步骤104、文件加载HDFS模块将采集模块采集的源数据加载到分布式文件***HADOOP中。
分布式文件***HADOOP作为一个高度容错性的***,还可以提供高吞吐量的数据访问,便于后续SPARK统计模块的大规模数据访问和抽取。
步骤105、调度模块调度SPARK统计模块根据业务需求从HADOOP中抽取第二源数据。
具体的,可以采用多线程并发执行多个SPARK统计任务,在采用多线程并发执行多个SPARK统计任务时,为了避免资源被过度分配导致的主机宕机,可以使用乐观锁来控制,提升大并发量下的整体性能表现。
步骤106、调度模块调度SPARK统计模块将第二源数据发送至关系数据库。
具体的,在各个模块工作过程中,监控模块监控调度模块发送的各个模块的任务执行状态消息;该调度模块通过消息中间件与采集模块、监控模块、文件加载HDFS模块和SPARK统计模块进行通信。消息中间件可以以com组件的方式由***提供免费的即时通讯,例如:Kafka、RabbitMQ、RocketMQ,调度模块还可以通过其他理由各模块解耦进行数据交换的通信软件,对此,本发明实施例不进行限定。
关系数据库是由多张能互相联接的二维行列表格组成的数据库。是建立在关系模型基础上的数据库,关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。
进一步的,该方法还可以包括:
在各个模块完成任务后,删除各个模块在任务执行过程中产生的中间文件。
具体的,可以通过调度模块调度中间文件删除模块在每一个模块任务执行成功之后删除该模块在任务执行过程中产生的中间文件。
进一步的,采集模块可以包括若干个分布式主机。如图2所示,为本发明实施例的一种源数据采集方法流程图,即步骤101可以包括:
步骤201、获取源数据的数据信息,该数据信息可以包括但不限于:源数据存储位置和源数据对应文件名。
其中,源数据存储位置和源数据对应文件名用于确定该源数据需要从哪个源主机上采集,或者从源主机上的哪个数据库上采集,以及该源数据对应的文件名。
步骤202、根据数据源分组通过分布式锁分配不同的序列号标记不同分组的数据源。
数据源分组可以根据具体的业务需求中规定的字段进行分组,还可以根据源数据的地理区域划分规定的字段进行分组,对此,本发明实施例不作限定。
具体的,可以使用zookeeper来实现分布式锁,该zookeeper的分布式锁接口可以为Java语言版本,也可以为C语言版本。
步骤203、采集模块的若干个分布式主机根据序列号采用多线程方法采集不同分组的数据源。
多线程可以依靠线程池来进行。可以在采集开始时,初始化线程池,并在采集完源数据后,关闭该线程池。具体的,多线程采集过程为:将采集任务添加到队列,初始化线程池,然后自动启动添加的任务。线程池线程为后台线程,每个线程都使用默认的堆栈大小,以默认的优先级运行,如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将***另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的任务,则线程池将在一段时间后创建另一个辅助线程,可以设置一个最大线程,使得全程线程的总数目不超过该最大线程。
进一步的,所述SPARK统计模块根据业务需求从HADOOP中抽取第二源数据,可以包括:
SPARK统计模块获取源数据在HADOOP中的存放路径;根据业务需求确定数据获取维度;根据该维度从HADOOP中抽取第二源数据。
具体的,可以根据具体业务需求从源数据中抽取需要的字段对应的源数据。
进一步的,如图1所示,该方法还可以包括:
步骤107、调度模块获取文件加载HDFS模块和SPARK统计模块的任务执行状态结果。
该调度模块可以直接获取SPARK统计模块的任务执行状态结果,还可以通过调度SPARK任务状态查询模块来获取SPARK统计模块的任务执行状态结果,对此,本发明实施例不进行限定。
步骤108、调度模块根据文件加载HDFS模块和SPARK统计模块的任务执行状态结果向监控模块发送任务执行状态消息。
调度模块可以对文件加载HDFS模块和SPARK统计模块的任务执行状况进行初步分析,并将初步分析结果发送给监控模块,由监控模块作出下一步调度指示。
步骤109、监控模块根据任务执行状态消息向调度模块发送指示消息。
步骤110、调度模块根据监控模块发送的指示消息进行模块调度。
通过这样的方式可以避免由于某一个模块任务执行失败导致的数据处理终端,以及由于某一个模块超时执行任务但是一直不成功导致的可用资源受限,以及由于某一个数据处理任务由于总处理时间超时导致的可用资源受限。
进一步的,在步骤105之前,该方法还可以包括:
若该文件加载HDFS模块任务执行成功,调度模块调度SPARK统计模块根据业务需求从HADOOP中抽取第二源数据,以及将第二源数据发送至关系数据库。
进一步的,任务执行状态消息可以包括但不限于:任务执行状态和任务已执行次数,其中,该任务执行状态可以包括:任务执行成功、任务执行失败、任务正在执行和任务执行时间。如图3所示,为本发明实施例的根据任务执行状态结果发送任务执行状态消息的方法流程图,即步骤109可以包括:
步骤301、判断任务是否执行成功。
步骤302、若任务执行失败,判断任务已执行次数是否小于预设最大执行次数。若任务执行成功,结束该模块的调度。若任务正在执行,执行步骤304。
该预设最大执行次数可以视具体情况而定,本发明实施例对此不进行限定。
步骤303、若任务已执行次数小于预设最大执行次数,向调度模块发送指示消息,用于指示调度模块重新调度该任务执行失败的模块。若任务已执行次数大于预设最大执行次数,执行305。
步骤304、判断任务执行时间是否大于预设最大执行时间。
该预设最大执行时间可以视具体情况而定,本发明实施例对此不进行限定。
步骤305、生成告警日志。该告警日志用于提醒相关人员可能存在的风险。
步骤306、若任务执行时间大于预设最大执行时间,监控模块强行停止正在执行任务的模块正在执行的任务。若任务执行时间小于预设最大执行时间,继续执行该任务。执行步骤303。
进一步的,任务执行状态消息还可以包括总执行时间,该总执行时间是指已完成任务的各个模块完成任务的总耗时与正在执行任务的模块的任务执行时间之和。如图4所示,为本发明实施例的另一种根据任务执行状态结果发送任务执行状态消息的方法流程图,即步骤109还可以包括:
步骤401、若任务正在进行,判断总执行时间是否大于预设最大总执行时间。
该预设最大总执行时间可以视具体情况而定,本发明实施例对此不进行限定。
步骤402、若总执行时间大于预设最大总执行时间,监控模块强行停止正在执行任务的模块正在执行的任务。若总执行时间小于预设最大总执行时间,继续执行该任务。
步骤403、监控模块向调度模块发送指示消息,用于指示调度模块重新调度结束任务的该模块。
进一步的,该方法还可以包括:
显示模块显示各个模块的任务执行状态,以及显示关系数据库中的第二源数据。
具体的,可以通过标准数据查询语言SQL来访问关系数据库执行对关系数据库中数据的检索和操作,根据业务需求在显示模块展示该关系数据库中的第二源数据。该第二源数据在显示模块的展示形式可以为图形形式,也可以为报表等其他形式,对此,本发明实施例不进行限定。
本发明通过将实现大数据处理的各个模块解耦,通过采集模块从源主机采集源数据,通过调度模块来调度文件加载HDFS模块实现将该采集模块采集的该源数据加载到分布式文件***HADOOP中,以及调度SPARK统计模块根据业务需求从该HADOOP中抽取第二源数据并发送至关系数据库,并在整个过程中对各个模块的任务执行情况监测,在超时或执行失败时重新发起任务执行命令,能够在大数据处理时,提高处理效率和成功率。
本发明实施例提供一种大数据处理装置,如图5所示,示出了本发明的一种大数据处理装置结构示意图,图5所示的仅为示意图,并不对该虚拟物品交易预测装置的其他单元以及各个单元的交互形式构成限定,该装置还可以扩展其他功能模块,并通过调度模块实现自定义调度。该大数据处理装置500可以包括采集模块510、调度模块520、文件加载HDFS模块530、SPARK统计模块540、关系数据库550和监控模块560。
采集模块510,用于从源主机采集源数据;以及向调度模块520发送调度消息,该述调度消息用于指示调度模块对大数据处理装置的调度文件加载HDFS模块进行调度;其中,该采集模块包括若干个分布式主机。
采集模块从源主机采集源数据可以由调度模块触发,也可以根据业务需求手动触发,或者由源主机触发,对此,本发明实施例不进行限定。
采集模块在完成源数据采集之后,可以向调度模块发送调度消息,告知调度模块已完成源数据采集,可以进行后续模块,即文件加载HDFS模块的调度。
调度模块520,用于根据该采集模块510发送的调度消息调度文件加载HDFS模块530,以及调度大数据处理装置的其他各个模块。
调度模块在各个模块执行任务时,可以持续获取各个模块返回的任务执行状态结果,根据该任务执行状态结果更新监控数据,以便在显示模块可以实时观察到各个任务的执行进度和执行状态。
文件加载HDFS模块530,用于根据调度模块520的指示将该采集模块510采集的源数据加载到分布式文件***HADOOP中。
分布式文件***HADOOP作为一个高度容错性的***,还可以提供高吞吐量的数据访问,便于后续SPARK统计模块的大规模数据访问和抽取。
SPARK统计模块540,用于根据调度模块520的指示和业务需求从HADOOP中抽取第二源数据,以及将该第二源数据发送至关系数据库550。
具体的,可以采用多线程并发执行多个SPARK统计任务,在采用多线程并发执行多个SPARK统计任务时,为了避免资源被过度分配导致的主机宕机,可以使用乐观锁来控制,提升大并发量下的整体性能表现。
在各个模块工作过程中,监控模块监控调度模块发送的各个模块的任务执行状态消息;该调度模块通过消息中间件与采集模块、监控模块、文件加载HDFS模块和SPARK统计模块进行通信。消息中间件可以以com组件的方式由***提供免费的即时通讯,例如:Kafka、RabbitMQ、RocketMQ,调度模块还可以通过其他理由各模块解耦进行数据交换的通信软件,对此,本发明实施例不进行限定。
关系数据库550,用于存储该第二源数据。
关系数据库是由多张能互相联接的二维行列表格组成的数据库。是建立在关系模型基础上的数据库,关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。
监控模块560,用于在大数据处理装置各个模块工作过程中,监控该调度模块发送的各个模块的任务执行状态消息。
其中,该调度模块通过消息中间件与采集模块、监控模块、文件加载HDFS模块和SPARK统计模块进行通信。
进一步的,该大数据处理装置500还可以包括:
中间文件删除模块570,用于在各个模块完成任务后,删除各个模块在任务执行过程中产生的中间文件。
具体的,可以通过调度模块520调度中间文件删除模块570在每一个模块任务执行成功之后删除该模块在任务执行过程中产生的中间文件。
进一步的,采集模块520可以包括若干个分布式主机。采集模块510从源主机采集源数据,可以包括:采集模块510获取源数据的数据信息,该数据信息可以包括但不限于:源数据存储位置和源数据对应文件名;采集模块510根据数据源分组通过分布式锁分配不同的序列号标记不同分组的数据源;采集模块510的若干个分布式主机根据分配的序列号采用多线程方法采集不同分组的数据源。
其中,源数据存储位置和源数据对应文件名用于确定该源数据需要从哪个源主机上采集,或者从源主机上的哪个数据库上采集,以及该源数据对应的文件名。数据源分组可以根据具体的业务需求中规定的字段进行分组,还可以根据源数据的地理区域划分规定的字段进行分组,对此,本发明实施例不作限定。
具体的,可以使用zookeeper来实现分布式锁,该zookeeper的分布式锁接口可以为Java语言版本,也可以为C语言版本。
可以依靠线程池来进行多线程处理。具体的,可以在采集开始时,初始化线程池,并在采集完源数据后,关闭该线程池。具体的,多线程采集过程为:将采集任务添加到队列,初始化线程池,然后自动启动添加的任务。线程池线程为后台线程,每个线程都使用默认的堆栈大小,以默认的优先级运行,如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将***另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的任务,则线程池将在一段时间后创建另一个辅助线程,可以设置一个最大线程,使得全程线程的总数目不超过该最大线程。
进一步的,所述SPARK统计模块根据业务需求从HADOOP中抽取第二源数据,可以包括:
SPARK统计模块获取源数据在HADOOP中的存放路径;根据业务需求确定数据获取维度;根据该维度从HADOOP中抽取第二源数据。
进一步的,调度模块520还可以用于,获取文件加载HDFS模块和SPARK统计模块的任务执行状态结果;根据该任务执行状态结果向监控模块发送任务执行状态消息;以及根据监控模块发送的指示消息进行模块调度;监控模块560还可以用于,根据任务执行状态消息向调度模块520发送指示消息,以便调度模块52根据监该的指示消息进行模块调度。
通过这样的方式可以避免由于某一个模块任务执行失败导致的数据处理终端,以及由于某一个模块超时执行任务但是一直不成功导致的可用资源受限,以及由于某一个数据处理任务由于总处理时间超时导致的可用资源受限。
进一步的,该调度模块520还可以用于,若该文件加载HDFS模块任务执行成功,调度模块调度SPARK统计模块根据业务需求从HADOOP中抽取第二源数据,以及将第二源数据发送至关系数据库。
进一步的,任务执行状态消息可以包括但不限于:任务执行状态和任务已执行次数,其中,该任务执行状态可以包括:任务执行成功、任务执行失败、任务正在执行和任务执行时间。监控模块560根据任务执行状态消息向所述调度模块520发送指示消息,可以包括:若任务执行失败,且任务已执行次数小于预设最大执行次数,向调度模块520发送指示消息,用于指示调度模块520重新调度该任务执行失败的模块;若任务正在执行,且任务执行时间大于预设最大执行时间,监控模块560强行停止正在执行的任务,向调度模块520发送指示消息,用于指示调度模块520重新调度结束任务的该模块;该任务执行状态消息还可以包括总执行时间,该总执行时间是指已完成任务的各个模块完成任务的总耗时与正在执行任务的模块的任务执行时间之和;若总执行时间大于预设最大总执行时间,监控模块560强行停止正在执行的任务,向调度模块520发送指示消息,用于指示调度模块520重新调度结束任务的该模块。
进一步的,该大数据处理装置500还可以包括显示模块580,用于显示大数据处理装置各个模块的任务执行状态,以及显示关系数据库550中的第二源数据。
具体的,可以通过标准数据查询语言SQL来访问关系数据库执行对关系数据库中数据的检索和操作,根据业务需求在显示模块展示该关系数据库中的第二源数据。该第二源数据在显示模块的展示形式可以为图形形式,也可以为报表等其他形式,对此,本发明实施例不进行限定。
如图6所示,为本发明实施例的一种大数据处理装置硬件结构示意图,该虚大数据处理装置500包括处理器601,通信线路602,存储器603以及至少一个通信接口(图6中仅是示例性的以包括通信接口604为例进行说明)。
处理器601可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路,处理器601可以包括一个或多个CPU,例如图6中的CPU0和CPU1。
通信线路602可包括一通路,在上述组件之间传送信息。
通信接口604,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器603可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路602与处理器相连接。存储器也可以和处理器集成在一起。其中,存储器603用于存储执行本申请方案的计算机执行指令。
本发明通过将实现大数据处理的各个模块解耦,通过采集模块从源主机采集源数据,通过调度模块来调度文件加载HDFS模块实现将该采集模块采集的该源数据加载到分布式文件***HADOOP中,以及调度SPARK统计模块根据业务需求从该HADOOP中抽取第二源数据并发送至关系数据库,并在整个过程中对各个模块的任务执行情况监测,在超时或执行失败时重新发起任务执行命令,能够在大数据处理时,提高处理效率和成功率。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、***和装置,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,所述功能模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种大数据处理方法,其特征在于,所述方法应用于大数据处理装置,所述方法包括:
采集模块从源主机采集源数据;
采集模块向调度模块发送调度消息,所述调度消息用于指示调度文件加载HDFS模块;
调度模块根据所述调度消息调度文件加载HDFS模块;
文件加载HDFS模块将所述采集模块采集的所述源数据加载到分布式文件***HADOOP中;
调度模块调度SPARK统计模块根据业务需求从所述HADOOP中抽取第二源数据;
调度模块调SPARK统计模块将所述第二源数据发送至关系数据库;其中,在各个模块工作过程中,监控模块监控所述调度模块发送的各个模块的任务执行状态消息;所述调度模块通过消息中间件与所述采集模块、监控模块、文件加载HDFS模块和SPARK统计模块进行通信。
2.根据权利要求1所述的大数据处理方法,其特征在于,所述采集模块包括若干个分布式主机;
所述采集模块从源主机采集源数据,包括:
获取所述源数据的数据信息,所述数据信息包括:源数据存储位置和源数据对应文件名;
根据数据源分组通过分布式锁分配不同的序列号标记不同分组的数据源;
所述若干个分布式主机根据所述序列号采用多线程方法采集所述不同分组的数据源。
3.根据权利要求2所述的大数据处理方法,其特征在于,所述方法还包括:
所述调度模块获取所述文件加载HDFS模块和SPARK统计模块的任务执行状态结果;
所述调度模块根据所述文件加载HDFS模块和SPARK统计模块的任务执行状态结果向所述监控模块发送任务执行状态消息;
所述监控模块根据所述任务执行状态消息向所述调度模块发送指示消息;
所述调度模块根据所述监控模块发送的指示消息进行模块调度。
4.根据权利要求3所述的大数据处理方法,其特征在于,所述方法还包括:
若所述文件加载HDFS模块任务执行成功,所述调度模块调度所述SPARK统计模块根据业务需求从所述HADOOP中抽取第二源数据,以及将所述第二源数据发送至关系数据库。
5.根据权利要求4所述的大数据处理方法,其特征在于,所述任务执行状态消息包括:任务执行状态和任务已执行次数,其中,所述任务执行状态包括:任务执行成功、任务执行失败、任务正在执行和任务执行时间;
所述监控模块根据所述任务执行状态消息向所述调度模块发送指示消息,包括:
若任务执行失败,且所述任务已执行次数小于预设最大执行次数,向所述调度模块发送指示消息,用于指示所述调度模块重新调度所述任务执行失败的模块;
若任务正在执行,且任务执行时间大于预设最大执行时间,所述监控模块强行停止正在执行任务的所述模块正在执行的任务,向所述调度模块发送指示消息,用于指示所述调度模块重新调度结束任务的所述模块;
所述任务执行状态消息还包括总执行时间,所述总执行时间是指已完成任务的各个模块完成任务的总耗时与正在执行任务的模块的任务执行时间之和;
若所述总执行时间大于预设最大总执行时间,所述监控模块强行停止正在执行任务的所述模块正在执行的任务,向所述调度模块发送指示消息,用于指示所述调度模块重新调度结束任务的所述模块。
6.根据权利要求5所述的大数据处理方法,其特征在于,所述SPARK统计模块根据业务需求从所述HADOOP中抽取第二源数据,包括:
所述SPARK统计模块获取所述源数据在所述HADOOP中的存放路径;根据业务需求确定数据获取维度;根据所述维度从所述HADOOP中抽取第二源数据。
7.根据权利要求1-6任一项所述的大数据处理方法,其特征在于,所述方法还包括:
显示模块显示所述各个模块的任务执行状态,以及显示所述关系数据库中的第二源数据。
8.一种大数据处理装置,其特征在于,所述装置包括:
采集模块,用于从源主机采集源数据;以及
向调度模块发送调度消息,所述调度消息用于指示所述调度模块对所述大数据处理装置的调度文件加载HDFS模块进行调度;其中,所述采集模块包括若干个分布式主机;
调度模块,用于根据所述采集模块发送的调度消息调度文件加载HDFS模块,以及调度所述大数据处理装置的其他各个模块;
文件加载HDFS模块,用于根据调度模块的指示将所述采集模块采集的所述源数据加载到分布式文件***HADOOP中;
SPARK统计模块,用于根据调度模块的指示和业务需求从所述HADOOP中抽取第二源数据,以及将所述第二源数据发送至关系数据库;
关系数据库,用于存储所述第二源数据;
监控模块,用于在所述大数据处理装置各个模块工作过程中,监控所述调度模块发送的各个模块的任务执行状态消息;
其中,所述调度模块通过消息中间件与所述采集模块、监控模块、文件加载HDFS模块和SPARK统计模块进行通信。
9.根据权利要求8所述的大数据处理装置,其特征在于,所述采集模块从源主机采集源数据,包括:
所述采集模块获取所述源数据的数据信息,所述数据信息包括:源数据存储位置和源数据对应文件名;
所述采集模块根据数据源分组通过分布式锁分配不同的序列号标记不同分组的数据源;
所述若干个分布式主机根据所述序列号采用多线程方法采集所述不同分组的数据源。
10.根据权利要求9所述的大数据处理装置,其特征在于,所述调度模块还用于,
获取所述文件加载HDFS模块和SPARK统计模块的任务执行状态结果;
根据所述文件加载HDFS模块和SPARK统计模块的任务执行状态结果向所述监控模块发送任务执行状态消息;以及
根据所述监控模块发送的指示消息进行模块调度;
所述监控模块还用于,根据所述任务执行状态消息向所述调度模块发送指示消息。
11.根据权利要求10所述的大数据处理装置,其特征在于,所述调度模块还用于,
若所述文件加载HDFS模块任务执行成功,所述调度模块还用于,调度所述SPARK统计模块根据业务需求从所述HADOOP中抽取第二源数据,以及将所述第二源数据发送至关系数据库。
12.根据权利要求11所述的大数据处理装置,其特征在于,所述任务执行状态消息包括:任务执行状态和任务已执行次数,其中,所述任务执行状态包括:任务执行成功、任务执行失败、任务正在执行和任务执行时间;
所述监控模块根据所述任务执行状态消息向所述调度模块发送指示消息,包括:
若任务执行失败,且所述任务已执行次数小于预设最大执行次数,向所述调度模块发送指示消息,用于指示所述调度模块重新调度所述任务执行失败的模块;
若任务正在执行,且任务执行时间大于预设最大执行时间,所述监控模块强行停止正在执行任务的所述模块正在执行的任务,向所述调度模块发送指示消息,用于指示所述调度模块重新调度结束任务的所述模块;
所述任务执行状态消息还包括总执行时间,所述总执行时间是指已完成任务的各个模块完成任务的总耗时与正在执行任务的模块的任务执行时间之和;
若所述总执行时间大于预设最大总执行时间,所述监控模块强行停止正在执行任务的所述模块正在执行的任务,向所述调度模块发送指示消息,用于指示所述调度模块重新调度结束任务的所述模块。
13.根据权利要求12所述的大数据处理装置,其特征在于,所述SPARK统计模块根据业务需求从所述HADOOP中抽取第二源数据,包括:
所述SPARK统计模块获取所述源数据在所述HADOOP中的存放路径;根据业务需求确定数据获取维度;根据所述维度从所述HADOOP中抽取第二源数据。
14.根据权利要求8-13任一项所述的大数据处理装置,其特征在于,所述***还包括:
显示模块,用于显示所述大数据处理装置各个模块的任务执行状态,以及显示所述关系数据库中的第二源数据。
15.一种大数据处理装置,其特征在于,所述装置包括,
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序实现如权利要求1-7任一项所述的大数据处理方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的大数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910005579.3A CN109829005A (zh) | 2019-01-03 | 2019-01-03 | 一种大数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910005579.3A CN109829005A (zh) | 2019-01-03 | 2019-01-03 | 一种大数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109829005A true CN109829005A (zh) | 2019-05-31 |
Family
ID=66861698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910005579.3A Pending CN109829005A (zh) | 2019-01-03 | 2019-01-03 | 一种大数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109829005A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338705A (zh) * | 2020-02-13 | 2020-06-26 | 贝壳技术有限公司 | 一种数据处理的方法、装置和存储介质 |
CN111767130A (zh) * | 2020-07-01 | 2020-10-13 | 菏泽学院 | 一种数据采集***、方法、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324539A (zh) * | 2013-06-24 | 2013-09-25 | 浪潮电子信息产业股份有限公司 | 一种作业调度管理***及方法 |
CN104731595A (zh) * | 2015-03-26 | 2015-06-24 | 江苏物联网研究发展中心 | 面向大数据分析的混合计算*** |
CN106502772A (zh) * | 2016-10-09 | 2017-03-15 | 国网浙江省电力公司信息通信分公司 | 基于分布式离线技术的电量数据批量高速处理方法及*** |
CN106980678A (zh) * | 2017-03-30 | 2017-07-25 | 温馨港网络信息科技(苏州)有限公司 | 基于zookeeper技术的数据分析方法及*** |
CN107945086A (zh) * | 2017-11-17 | 2018-04-20 | 广州葵翼信息科技有限公司 | 一种应用于智慧城市的大数据资源管理*** |
CN108228830A (zh) * | 2018-01-03 | 2018-06-29 | 广东工业大学 | 一种数据处理*** |
-
2019
- 2019-01-03 CN CN201910005579.3A patent/CN109829005A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324539A (zh) * | 2013-06-24 | 2013-09-25 | 浪潮电子信息产业股份有限公司 | 一种作业调度管理***及方法 |
CN104731595A (zh) * | 2015-03-26 | 2015-06-24 | 江苏物联网研究发展中心 | 面向大数据分析的混合计算*** |
CN106502772A (zh) * | 2016-10-09 | 2017-03-15 | 国网浙江省电力公司信息通信分公司 | 基于分布式离线技术的电量数据批量高速处理方法及*** |
CN106980678A (zh) * | 2017-03-30 | 2017-07-25 | 温馨港网络信息科技(苏州)有限公司 | 基于zookeeper技术的数据分析方法及*** |
CN107945086A (zh) * | 2017-11-17 | 2018-04-20 | 广州葵翼信息科技有限公司 | 一种应用于智慧城市的大数据资源管理*** |
CN108228830A (zh) * | 2018-01-03 | 2018-06-29 | 广东工业大学 | 一种数据处理*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338705A (zh) * | 2020-02-13 | 2020-06-26 | 贝壳技术有限公司 | 一种数据处理的方法、装置和存储介质 |
CN111338705B (zh) * | 2020-02-13 | 2021-03-26 | 北京房江湖科技有限公司 | 一种数据处理的方法、装置和存储介质 |
CN111767130A (zh) * | 2020-07-01 | 2020-10-13 | 菏泽学院 | 一种数据采集***、方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
EP2503733B1 (en) | Data collecting method, data collecting apparatus and network management device | |
CN110825535B (zh) | 一种作业调度的方法和*** | |
US10133797B1 (en) | Distributed heterogeneous system for data warehouse management | |
CN108762900A (zh) | 高频任务调度方法、***、计算机设备和存储介质 | |
CN102662725B (zh) | 一种事件驱动的高并发流程虚拟机实现方法 | |
CN111125444A (zh) | 大数据任务调度管理方法、装置、设备及存储介质 | |
CN110177146A (zh) | 一种基于异步事件驱动的非阻塞Restful通信方法、装置和设备 | |
CN111400011B (zh) | 一种实时任务调度方法、***、设备及可读存储介质 | |
CN109408286A (zh) | 数据处理方法、装置、***、计算机可读存储介质 | |
CN113672500B (zh) | 深度学习算法的测试方法、装置、电子装置和存储介质 | |
CN101751288A (zh) | 应用进程调度的方法、设备及*** | |
CN107066339A (zh) | 分布式作业管理器及分布式作业管理方法 | |
CN112579267A (zh) | 一种去中心化大数据作业流调度方法及装置 | |
CN109426550A (zh) | 资源的调度方法及设备 | |
CN114489997A (zh) | 定时任务调度方法、装置、设备和介质 | |
CN109829005A (zh) | 一种大数据处理方法及装置 | |
CN111984505A (zh) | 一种运维数据采集引擎及采集方法 | |
CN116719622A (zh) | 业务流程的编排方法及业务流程编排*** | |
CN105550025B (zh) | 分布式基础设施即服务(IaaS)调度方法及*** | |
CN111522630B (zh) | 基于批次调度中心的计划任务执行方法以及*** | |
CN115421898A (zh) | 一种基于quartz框架的大数据任务调度管理***及方法 | |
CN113225269B (zh) | 基于容器的工作流调度方法、装置、***及存储介质 | |
CN115373886A (zh) | 服务群组容器停机方法、装置、计算机设备和存储介质 | |
CN114896049A (zh) | 电力人工智能平台作业任务调度方法、***、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190531 |
|
RJ01 | Rejection of invention patent application after publication |