一种分布式数据挖掘系统及方法技术方案

技术编号:14690191 阅读:81 留言:0更新日期:2017-02-23 12:43
本发明专利技术提供了一种分布式数据挖掘系统及方法,涉及数据挖掘技术领域。系统中先由第一控制服务器作为工作节点;并由第二控制服务器实时监控,在确认第一控制服务器发生故障时,向前置服务器发送工作节点更替请求,完成工作节点的更替。从而在完成工作节点切换后,恢复整个分布式数据挖掘系统的正常工作。本发明专利技术可以避免当前作为主控节点的JobTracker服务器一旦出现故障则将导致整个hadoop框架的任务调度体系陷入瘫痪,无法完成任务调度和处理的问题。

【技术实现步骤摘要】

本专利技术涉及数据挖掘
,尤其涉及一种分布式数据挖掘系统及方法
技术介绍
近年来,以大数据、云计算、移动互联网等为代表的新一代信息技术的兴起在全球范围内掀起了“第三次IT革命”。随着大数据时代的到来,如何进一步提升数据分析能力,深入挖掘数据的业务价值,近而带动产品创新、业务流程和管理体制的变革,实现真正“以数据说话”,成为一项新课题。数据挖掘的本质是从大量数据中挖掘出隐含的、对决策有潜在价值的关系、模式和趋势。由于涉及海量数据的计算,对实现系统的框架有较高要求。目前主流的大数据挖掘系统是采用分布式的挖掘结构,即将一项大数据分析任务进行分解,然后由多台服务器并行计算,最后对分项结果进行汇总。例如以hadoop框架为主要代表的分布式系统基本架构被广泛应用。在hadoop框架中,JobTracker服务器承担总调度的重要角色,即接收用户终端提交的大数据分析作业,根据map/reduce算法实现任务的分解,然后根据运算服务器(TaskTracker)的忙闲程度将任务分发到空闲的运算服务器上。JobTracker服务器同时监控运算服务器(TaskTracker)上任务的执行情况,若任务执行有异常,则对任务进行重新分配。此框架存在一个很明显的缺陷,即单点故障的风险。作为主控节点的JobTracker服务器一旦出现故障则将导致整个hadoop框架的任务调度体系陷入瘫痪。具体表现为用户终端因作为服务入口的主控节点故障而无法完成任务的提交;运算服务器(TaskTracker)的执行过程得不到监控而造成执行失败任务得不到重新分配;同时运算服务器(TaskTracker)因失去了任务分配者而使资源处于闲置状态。
技术实现思路
本专利技术的实施例提供一种分布式数据挖掘系统及方法,以解决当前作为主控节点的JobTracker服务器一旦出现故障则将导致整个hadoop框架的任务调度体系陷入瘫痪,无法完成任务调度和处理的问题。为达到上述目的,本专利技术采用如下技术方案:一种分布式数据挖掘系统,包括:用户终端组、前置服务器组、第一控制服务器、第二控制服务器以及运算服务器组;所述用户终端组包括多个用户终端;所述前置服务器组包括多个前置服务器;所述运算服务器组包括多个运算服务器;所述用户终端组与所述前置服务器组通信连接;所述前置服务器组分别与所述第一控制服务器、第二控制服务器和所述运算服务器组通信连接;所述用户终端,用于向所述前置服务器发送数据挖掘任务请求;所述前置服务器,用于解析所述数据挖掘任务请求的域名信息,根据所述数据挖掘任务请求的域名信息将所述数据挖掘任务请求提交到作为工作节点的第一控制服务器;所述第一控制服务器,用于将所述数据挖掘任务请求对应的数据挖掘任务进行分解,形成多个数据挖掘子任务;将所述多个数据挖掘子任务发送给所述前置服务器;所述前置服务器,还用于将所述多个数据挖掘子任务分配到多个运算服务器处进行处理,并接收运算服务器的任务反馈信息,并将所述任务反馈信息发送给所述第一控制服务器;所述第一控制服务器,还用于将所述任务反馈信息实时同步发送到第二控制服务器处;所述第二控制服务器,用于实时监控所述第一控制服务器,在确认所述第一控制服务器发生故障时,向所述前置服务器发送工作节点更替请求;所述前置服务器,还用于根据所述工作节点更替请求,更新记录所述第二控制服务器的网络地址,以使得所述第二控制服务器作为工作节点;所述第二控制服务器,还用于向各运算服务器广播任务信息收集请求;所述运算服务器,还用于在监听到所述广播任务信息收集请求时,向所述前置服务器反馈任务情况信息;所述前置服务器,还用于将所述任务情况信息发送给所述第二控制服务器;所述第二控制服务器,还用于对所述任务情况信息和所述任务反馈信息进行对比,确定所述任务情况信息和所述任务反馈信息的差异信息,并根据预先设置的处理策略,对所述差异信息进行处理。进一步的,所述前置服务器,还用于获取前置服务器组中的其他前置服务器的运行状态信息;在所述其他前置服务器的运行状态为故障状态时,接收与其他前置服务器连接的用户终端的连接请求,并建立通信连接。进一步的,所述前置服务器,还用于记录作为工作节点的第一控制服务器的网络地址或作为工作节点的第二控制服务器的网络地址。此外,所述前置服务器,具体用于接收运算服务器的心跳信息;所述运算服务器的心跳信息包括运算服务器处理数据挖掘子任务的任务反馈信息和运算服务器的CPU资源信息;将所述运算服务器的心跳信息发送给所述第一控制服务器。此外,所述第一控制服务器,具体用于在将多个数据挖掘子任务发送给所述前置服务器时,向第二控制服务器发送数据同步信息;所述数据同步信息包括数据挖掘子任务的任务编号和各数据挖掘子任务对应的运算服务器的IP地址;在接收到运算服务器的心跳信息后,将运算服务器的心跳信息实时同步发送到第二控制服务器处。此外,所述第二控制服务器,具体用于以一预设时间间隔定时向所述第一控制服务器发送心跳请求;若连续n次向所述第一控制服务器发送心跳请求后,均没有收到第一控制服务器的心跳应答信息,则确定所述第一控制服务器发生故障,向所述前置服务器发送工作节点更替请求;其中n为预先设置的次数阈值。此外,所述第二控制服务器,具体用于:根据所述任务情况信息和所述任务反馈信息,生成两份任务清单列表;所述任务清单列表包括运算服务器的IP地址和运算服务器的CPU资源信息;根据所述两份任务清单列表,确定差异信息;若所述差异信息为第一控制服务器已分配给运算服务器后由于第一控制服务器故障,未同步到第二控制服务器的任务,根据所述任务情况信息更新第二控制服务器的数据同步信息;若所述差异信息为第一控制服务器已分配给运算服务器,且运算服务器处理任务失败后,由于第一控制服务器故障,未同步到第二控制服务器的任务,从所述任务情况信息中获取任务失败信息,并将所述任务失败信息对应的数据挖掘子任务重新分配;若所述差异信息为第一控制服务器尚未分配的数据挖掘子任务,将尚未分配的数据挖掘子任务通过前置服务器分配给运算服务器处进行处理。此外,所述第一控制服务器,具体用于根据运算服务器的CPU资源信息,将一数据挖掘子任务分配给各运算服务器中CPU资源最大的运算服务器。一种分布式数据挖掘方法,应用于上述的分布式数据挖掘系统,该系统包括:用户终端组、前置服务器组、第一控制服务器、第二控制服务器以及运算服务器组;所述用户终端组包括多个用户终端;所述前置服务器组包括多个前置服务器;所述运算服务器组包括多个运算服务器;所述用户终端组与所述前置服务器组通信连接;所述前置服务器组分别与所述第一控制服务器、第二控制服务器和所述运算服务器组通信连接;所述方法包括:用户终端向所述前置服务器发送数据挖掘任务请求;前置服务器解析所述数据挖掘任务请求的域名信息,根据所述数据挖掘任务请求的域名信息将所述数据挖掘任务请求提交到作为工作节点的第一控制服务器;第一控制服务器将所述数据挖掘任务请求对应的数据挖掘任务进行分解,形成多个数据挖掘子任务,并将所述多个数据挖掘子任务发送给所述前置服务器;所述前置服务器将所述多个数据挖掘子任务分配到多个运算服务器处进行处理,并接收运算服务器的任务反馈信息,并将所述任务反馈信息发送给所述第一控制服务器;所述第一本文档来自技高网
...
一种分布式数据挖掘系统及方法

【技术保护点】
一种分布式数据挖掘系统,其特征在于,包括:用户终端组、前置服务器组、第一控制服务器、第二控制服务器以及运算服务器组;所述用户终端组包括多个用户终端;所述前置服务器组包括多个前置服务器;所述运算服务器组包括多个运算服务器;所述用户终端组与所述前置服务器组通信连接;所述前置服务器组分别与所述第一控制服务器、第二控制服务器和所述运算服务器组通信连接;所述用户终端,用于向所述前置服务器发送数据挖掘任务请求;所述前置服务器,用于解析所述数据挖掘任务请求的域名信息,根据所述数据挖掘任务请求的域名信息将所述数据挖掘任务请求提交到作为工作节点的第一控制服务器;所述第一控制服务器,用于将所述数据挖掘任务请求对应的数据挖掘任务进行分解,形成多个数据挖掘子任务;将所述多个数据挖掘子任务发送给所述前置服务器;所述前置服务器,还用于将所述多个数据挖掘子任务分配到多个运算服务器处进行处理,并接收运算服务器的任务反馈信息,并将所述任务反馈信息发送给所述第一控制服务器;所述第一控制服务器,还用于将所述任务反馈信息实时同步发送到第二控制服务器处;所述第二控制服务器,用于实时监控所述第一控制服务器,在确认所述第一控制服务器发生故障时,向所述前置服务器发送工作节点更替请求;所述前置服务器,还用于根据所述工作节点更替请求,更新记录所述第二控制服务器的网络地址,以使得所述第二控制服务器作为工作节点;所述第二控制服务器,还用于向各运算服务器广播任务信息收集请求;所述运算服务器,还用于在监听到所述广播任务信息收集请求时,向所述前置服务器反馈任务情况信息;所述前置服务器,还用于将所述任务情况信息发送给所述第二控制服务器;所述第二控制服务器,还用于对所述任务情况信息和所述任务反馈信息进行对比,确定所述任务情况信息和所述任务反馈信息的差异信息,并根据预先设置的处理策略,对所述差异信息进行处理。...

【技术特征摘要】
1.一种分布式数据挖掘系统,其特征在于,包括:用户终端组、前置服务器组、第一控制服务器、第二控制服务器以及运算服务器组;所述用户终端组包括多个用户终端;所述前置服务器组包括多个前置服务器;所述运算服务器组包括多个运算服务器;所述用户终端组与所述前置服务器组通信连接;所述前置服务器组分别与所述第一控制服务器、第二控制服务器和所述运算服务器组通信连接;所述用户终端,用于向所述前置服务器发送数据挖掘任务请求;所述前置服务器,用于解析所述数据挖掘任务请求的域名信息,根据所述数据挖掘任务请求的域名信息将所述数据挖掘任务请求提交到作为工作节点的第一控制服务器;所述第一控制服务器,用于将所述数据挖掘任务请求对应的数据挖掘任务进行分解,形成多个数据挖掘子任务;将所述多个数据挖掘子任务发送给所述前置服务器;所述前置服务器,还用于将所述多个数据挖掘子任务分配到多个运算服务器处进行处理,并接收运算服务器的任务反馈信息,并将所述任务反馈信息发送给所述第一控制服务器;所述第一控制服务器,还用于将所述任务反馈信息实时同步发送到第二控制服务器处;所述第二控制服务器,用于实时监控所述第一控制服务器,在确认所述第一控制服务器发生故障时,向所述前置服务器发送工作节点更替请求;所述前置服务器,还用于根据所述工作节点更替请求,更新记录所述第二控制服务器的网络地址,以使得所述第二控制服务器作为工作节点;所述第二控制服务器,还用于向各运算服务器广播任务信息收集请求;所述运算服务器,还用于在监听到所述广播任务信息收集请求时,向所述前置服务器反馈任务情况信息;所述前置服务器,还用于将所述任务情况信息发送给所述第二控制服务器;所述第二控制服务器,还用于对所述任务情况信息和所述任务反馈信息进行对比,确定所述任务情况信息和所述任务反馈信息的差异信息,并根据预先设置的处理策略,对所述差异信息进行处理。2.根据权利要求1所述的分布式数据挖掘系统,其特征在于,所述前置服务器,还用于获取前置服务器组中的其他前置服务器的运行状态信息;在所述其他前置服务器的运行状态为故障状态时,接收与其他前置服务器连接的用户终端的连接请求,并建立通信连接。3.根据权利要求2所述的分布式数据挖掘系统,其特征在于,所述前置服务器,还用于记录作为工作节点的第一控制服务器的网络地址或作为工作节点的第二控制服务器的网络地址。4.根据权利要求3所述的分布式数据挖掘系统,其特征在于,所述前置服务器,具体用于接收运算服务器的心跳信息;所述运算服务器的心跳信息包括运算服务器处理数据挖掘子任务的任务反馈信息和运算服务器的CPU资源信息;将所述运算服务器的心跳信息发送给所述第一控制服务器。5.根据权利要求4所述的分布式数据挖掘系统,其特征在于,所述第一控制服务器,具体用于在将多个数据挖掘子任务发送给所述前置服务器时,向第二控制服务器发送数据同步信息;所述数据同步信息包括数据挖掘子任务的任务编号和各数据挖掘子任务对应的运算服务器的IP地址;在接收到运算服务器的心跳信息后,将运算服务器的心跳信息实时同步发送到第二控制服务器处。6.根据权利要求5所述的分布式数据挖掘系统,其特征在于,所述第二控制服务器,具体用于以一预设时间间隔定时向所述第一控制服务器发送心跳请求;若连续n次向所述第一控制服务器发送心跳请求后,均没有收到第一控制服务器的心跳应答信息,则确定所述第一控制服务器发生故障,向所述前置服务器发送工作节点更替请求;其中n为预先设置的次数阈值。7.根据权利要求6所述的分布式数据挖掘系统,其特征在于,所述第二控制服务器,具体用于:根据所述任务情况信息和所述任务反馈信息,生成两份任务清单列表;所述任务清单列表包括运算服务器的IP地址和运算服务器的CPU资源信息;根据所述两份任务清单列表,确定差异信息;若所述差异信息为第一控制服务器已分配给运算服务器后由于第一控制服务器故障,未同步到第二控制服务器的任务,根据所述任务情况信息更新第二控制服务器的数据同步信息;若所述差异信息为第一控制服务器已分配给运算服务器,且运算服务器处理任务失败后,由于第一控制服务器故障,未同步到第二控制服务器的任务,从所述任务情况信息中获取任务失败信息,并将所述任务失败信息对应的数据挖掘子任务重新分配;若所述差异信息为第一控制服务器尚未分配的数据挖掘子任务,将尚未分配的数据挖掘子任务通过前置服务器分配给运算服务器处进行处理。8.根据权利要求7所述的分布式数据挖掘系统,其特征在于,所述第一控制服务器,具体用于根据运算服务器的CPU资源信息,将一数据挖掘子任务分配给各运算服务器中CPU资源最大的运算服务器。9.一种分布式数据挖掘方法,其特征在于,应用于权利要求1至8任一项所述的分布式数据挖掘系统,该系统包括:用户终端组、前置服务器组、第一控制服务器、第二控制服务器以及运算服务器组;所述用户终端组包括多个用户终端;所述前置服务器组包括多个前置服务器;所述运算服务器组包括...

【专利技术属性】
技术研发人员:丁贤金焰王备
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1