文档介绍:数据分析系统及数据分析方法
专利名称:数据分析系统及数据分析方法
技术领域:
本发明涉及数据分析技术领域,尤其涉及一种数据分析系统及数据分析方法。
背景技术:
近几年,由于数据在互联网领域的持续增长,各公司都面临海量数据的处理需求据本发明的另一个方面,还提供了一种数据分析方法,包括待调度任务生成模块根据预先定义的任务参数将收集的数据生成待调度的任务后存储到待调度任务存储模块;任务调度模块从所述待调度任务存储模块加载待调度的任务,并根据加载的任务的任务类型调用相应的任务处理模块;所述任务处理模块根据所述任务中的分析需求生成相应的类结构化查询语言Hive SQL语句向基于分布式计算Hadoop的数据仓库服务器发送;在接收到所述服务器返回的数据后完成对所述任务的数据分析。较佳地,在所述根据加载的任务的任务类型调用相应的任务处理模块之前,还包括所述任务处理模块将加载的任务封装到任务处理线程中;以及所述调用相应的任务处理模块具体为所述任务处理线程在运行过程中根据所述任务的任务类型调用相应的任务处理模块。其中,所述任务调度模块从所述待调度任务存储模块加载待调度的任务具体为所述任务调度模块将待调度的任务加载到调度栈;以及在所述任务调度模块将加载的任务封装到任务处理线程之前,还包括所述任务调度模块监测所述调度栈中各待调度的任务的任务执行时间;从调度栈中取出任务执行时间到达的任务。较佳地,在所述从调度栈中取出任务执行时间到达的任务之后,还包括所述任务调度模块将从所述调度栈中取出的任务转换为任务实例,并将转换的任务实例封装为优先级对象,该优先级对象的优先级是根据该任务的任务属性确定的;所述任务调度模块将所述优先级对象发送到优先级队列模块;所述优先级队列模块在接收到优先级对象后,根据该优先级对象的优先级与所述优先级队列模块中其它优先级对象的优先级进行比较,根据比较结果自动对该优先级对象进行排序;所述任务调度模块从所述优先级队列模块中获取优先级最高的优先级对象;并初始化一个任务处理线程,将获取的优先级对象中的任务实例传至该任务处理线程中;以及,所述调用相应的任务处理模块具体为该任务处理线程调用与所述任务实例中的任务的任务类型相应的任务处理模块。进一步,在所述该任务处理线程调用与所述任务实例中的任务的任务类型相应的任务处理模块后,还包括所述任务调度模块若确定出所述任务实例中的任务的任务类型为顺序任务类型,则从所述待调度任务存储模块中获取跟随该任务的其它任务;所述任务调度模块针对跟随该任务的每个其它任务,分别初始化一个任务处理线程进行携带,由各任务处理线程分别调用相应的任务处理模块。其中,所述任务调度模块针对跟随该任务的每个其它任务,分别初始化一个任务处理线程进行携带,由各任务处理线程分别调用相应的任务处理模块具体包括所述任务调度模块针对所述其它任务中的每个并行任务,并行初始化携带各并行任务的任务处理线程,由各并行初始化后的任务处理线程分别调用相应的任务处理模块。或者,所述任务调度模块针对跟随该任务的每个其它任务,分别初始化一个任务处理线程进行携带,由各任务处理线程分别调用相应的任务处理模块具体包括所述任务调度模块针对跟随该任务的其它任务中的下层级任务,在该任务处理完毕后,初始化携带所述下层级任务的任务处理线程,由该任务处理线程调用相应的任务处理模块。本发明实施例由于