一种分布式调度系统及方法技术方案

技术编号:19489107 阅读:19 留言:0更新日期:2018-11-17 12:02
本发明专利技术提供了一种分布式调度系统及方法,该系统包括调度部、运行部以及存储部,调度部包括至少一个调度单元,运行部包括多个运行单元,存储部包括至少一个存储单元,调度单元,适于从文件系统中提取待处理任务,并将待处理任务分为多个子任务;调度单元,还适于将多个子任务分发至相应的运行单元,并由运行单元执行对应子任务;调度单元,还适于记录各子任务的执行过程生成记录信息,并将记录信息存储于存储单元。解决了由中央设备集中处理任务而造成的单点问题,当任务失败或执行设备出现故障,由其他设备节点继续执行,实现了任务失败自动多机重试,保证任务及时、正确运行。当任务执行过程中出现其他问题还可以通过该系统向用户进行报警通知。

【技术实现步骤摘要】
一种分布式调度系统及方法
本专利技术涉及计算机
,特别是涉及一种分布式调度系统及方法。
技术介绍
海姆达尔是一个具有完全自主知识产权的海量数据挖掘与分析系统,该系统可以实现对海量数据的挖掘和处理,并提供方便易用的工具供数据挖掘人员和运营分析人员使用。目前分析人员采用该系统在查询文件时,查找到的是文件通常是原始日志,因此还需要对原始日志进行再次加工、处理、分析等,这无疑会增加分析人员的工作量,不利于提高分析人员的工作效率,此时为了能够为分析人员等提供便利,需要在海姆达尔系统中直接实现原始日志的进一步抽取、细化。但是,目前在使用该系统进行数据挖掘处理或数据抽取任务时,都是基于脚本/计算平台/硬编码的方式串起整个流程。该种方式中,所有调度任务都由中央设备来统一完成,数据处理任务调度信息集中汇总到中央设备这一管理节点上,导致信息流拥挤,若该管理节点出现故障会影响整个系统的数据处理任务,此外,当前系统的任务处理效率低,无法满足用户需求。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的分布式调度系统和相应的方法。依据本专利技术的一个方面,提供了一种分布式调度系统,包括调度部、运行部以及存储部,所述调度部包括至少一个调度单元,所述运行部包括多个运行单元,所述存储部包括至少一个存储单元,所述调度单元,适于从文件系统中提取待处理任务,并将所述待处理任务分为多个子任务;所述调度单元,还适于将所述多个子任务分发至相应的运行单元,并由所述运行单元执行对应子任务;所述调度单元,还适于记录各子任务的执行过程生成记录信息,并将所述记录信息存储于存储单元。可选地,所述系统还包括:前端部,包括至少一个前端单元,所述前端单元适于开发获取代码,并根据所述代码生成对应的待处理任务;将所述待处理任务上传至文件系统进行存储。可选地,所述调度单元,还适于:结合所述待处理任务的来源将所述待处理任务分为多个子任务,并根据各运行单元的运行状态将所述多个子任务分发至相应的运行单元。可选地,所述运行单元,还适于:根据所接收的对应子任务创建相应的运行环境,并在所述运行环境中执行该子任务。可选地,所述调度单元,还适于:监控并记录各运行单元中子任务的执行过程,并在监控到任一子任务执行异常时,自动启动其他运行单元继续执行该子任务。可选地,所述调度单元,还适于:从各子任务的执行过程中提取各子任务的元信息以及临时信息,其中,所述元信息包括子任务标识信息和/或子任务类型,所述临时信息包括子任务数量和/或执行时间;利用所述元信息以及临时信息生成记录信息。可选地,所述存储单元,还适于:若所述存储单元包括etcd数据库、mysql数据库以及redis数据库,则将所述元信息存储至所述etcd数据库和/或mysql数据库中,以及将所述临时信息存储至所述redis数据库中。可选地,所述前端单元,还适于:显示各子任务的执行过程,并监控该显示状态,在所述显示状态异常时执行报警通知。可选地,所述前端单元,还适于:接收用户的触发以暂停所执行的子任务或启动所需执行的子任务。依据本专利技术的另一个方面,还提供了一种分布式调度方法,包括:从文件系统中提取待处理任务,并将所述待处理任务分为多个子任务;将所述多个子任务分发至相应的运行单元,并由所述运行单元执行对应子任务;记录各子任务的执行过程生成记录信息,并将所述记录信息存储于存储单元。可选地,从文件系统中提取待处理任务之前,还包括:开发获取代码,并根据所述代码生成对应的待处理任务;将所述待处理任务上传至文件系统进行存储。可选地,将所述待处理任务分为多个子任务,包括:结合所述待处理任务的来源将所述待处理任务分为多个子任务。可选地,将所述多个子任务分发至相应的运行单元,包括:根据各运行单元的运行状态将所述多个子任务分发至相应的运行单元。可选地,由所述运行单元执行对应子任务,包括:由所述运行单元根据所接收的对应子任务创建相应的运行环境,并在所述运行环境中执行该子任务。可选地,所述方法,还包括:监控并记录各运行单元中子任务的执行过程,并在监控到任一子任务执行异常时,自动启动其他运行单元继续执行该子任务。可选地,记录各子任务的执行过程生成记录信息,包括:从各子任务执行过程中提取各子任务的元信息以及临时信息,其中,所述元信息包括子任务标识信息和/或子任务类型,所述临时信息包括子任务数量和/或执行时间;利用所述元信息以及临时信息生成记录信息。可选地,将所述记录信息存储至存储单元,包括:若所述存储单元包括etcd数据库、mysql数据库以及redis数据库,则将所述元信息存储至所述etcd数据库和/或mysql数据库中,以及将所述临时信息存储至所述redis数据库中。可选地,所述方法还包括:显示各子任务的执行过程,并监控该显示状态,在所述显示状态异常时执行报警通知。可选地,所述方法,还包括:接收用户的触发以暂停所执行的子任务或启动所需执行的子任务。依据本专利技术的另一个方面,还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序代码,当所述计算机程序代码在计算机上运行时,导致所述计算机执行上述任一项所述的分布式调度方法。依据本专利技术的另一个方面,还提供了一种计算设备,包括:处理器;存储有计算机程序代码的存储器;当所述计算机程序代码被所述处理器运行时,导致所述计算设备执行上述任一项所述的分布式调度方法。本专利技术的分布式调度系统包括调度部、运行部以及存储部,其中,调度部包括至少一个调度单元,运行部包括多个运行单元,存储部包括至少一个存储单元。具体地,首先由调度单元从文件系统中提取待处理任务,并将待处理任务分为多个子任务。其次,由调度单元将多个子任务分发至相应的运行单元,待运行单元接收到相应的子任务后执行对应子任务。进一步,由调度单元记录各子任务的执行过程并生成记录信息,进而将记录信息存储于存储单元。由此可见,本专利技术通过至少一个调度单元、多个运行单元以及至少一个存储单元的分布式架构,由调度单元将所获取的待处理任务分为多个子任务,并由多个运行单元并行执行对应的子任务,解决了现有技术中由中央设备集中处理任务而造成的单点问题,并且,采用多节点并行执行任务的结构,当任务失败或执行设备出现故障,可以由其他设备节点继续执行,实现了任务失败自动多机重试,保证了任务的及时、正确运行。另一方面,本专利技术通过对将所记录信息进行实时存储,便于后续分析人员或其他处理设备查找获取对应信息,从侧面进一步提升了任务处理的及时性。此外,本专利技术提供的分布式调度系统还可以自动将所提取的任务代码分类发放,方便各任务的处理,无需用户进一步关心任务代码如何运行,只需将其上传至本专利技术的调度系统,即可将所需运行的代码自动分类并调度到合适的机器上运行,进一步实现任务失败自动重试的功能。更多地,当任务执行过程中出现其他问题还可以通过该系统向用户进行报警通知。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。附图说明通过阅读下本文档来自技高网...

【技术保护点】
1.一种分布式调度系统,包括调度部、运行部以及存储部,所述调度部包括至少一个调度单元,所述运行部包括多个运行单元,所述存储部包括至少一个存储单元,所述调度单元,适于从文件系统中提取待处理任务,并将所述待处理任务分为多个子任务;所述调度单元,还适于将所述多个子任务分发至相应的运行单元,并由所述运行单元执行对应子任务;所述调度单元,还适于记录各子任务的执行过程生成记录信息,并将所述记录信息存储于存储单元。

【技术特征摘要】
1.一种分布式调度系统,包括调度部、运行部以及存储部,所述调度部包括至少一个调度单元,所述运行部包括多个运行单元,所述存储部包括至少一个存储单元,所述调度单元,适于从文件系统中提取待处理任务,并将所述待处理任务分为多个子任务;所述调度单元,还适于将所述多个子任务分发至相应的运行单元,并由所述运行单元执行对应子任务;所述调度单元,还适于记录各子任务的执行过程生成记录信息,并将所述记录信息存储于存储单元。2.根据权利要求1所述的系统,其中,还包括:前端部,包括至少一个前端单元,所述前端单元适于开发获取代码,并根据所述代码生成对应的待处理任务;将所述待处理任务上传至文件系统进行存储。3.根据权利要求1或2所述的系统,其中,所述调度单元,还适于:结合所述待处理任务的来源将所述待处理任务分为多个子任务,并根据各运行单元的运行状态将所述多个子任务分发至相应的运行单元。4.根据权利要求1或2所述的系统,其中,所述运行单元,还适于:根据所接收的对应子任务创建相应的运行环境,并在所述运行环境中执行该子任务。5.根据权利要求4所述的系统,其中,所述调度单元,还适于:监控并记录各运行单元中子任务的执行过程,并在监控到任一子任务执行异常时,自动启动其他运行...

【专利技术属性】
技术研发人员:王肖磊刘陟王志超
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

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

1