分布式任务调度系统及方法技术方案

技术编号:19023155 阅读:190 留言:0更新日期:2018-09-26 19:00
本发明专利技术公开了一种分布式任务调度系统及任务调度方法,该分布式任务调度系统包括:调度模块以及与调度模块通信连接的多个任务执行模块;调度模块用于获取任务请求,并根据任务请求向相应的任务执行模块分发任务以完成任务请求。通过任务请求模块处理机顶盒测试任务请求,调度模块根据任务请求向相应的任务执行模块分发任务以完成任务请求,达到自动下发测试任务、自动控制机顶盒以及自动分析判断测试结果的功能。

【技术实现步骤摘要】
分布式任务调度系统及方法
本专利技术涉及计算机及自动控制
,具体来说,涉及一种对机顶盒终端进行自动测试的分布式任务调度系统及任务调度方法。
技术介绍
针对相关技术中不能够实现对直播卫星机顶盒终端进行自动测试的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中不能够实现对直播卫星机顶盒终端进行自动测试的问题,本专利技术提出一种分布式任务调度系统及任务调度方法,能够实现对直播卫星机顶盒终端的测试任务配置、发布的功能。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种分布式任务调度系统,包括:调度模块以及与调度模块通信连接的多个任务执行模块;调度模块用于获取任务请求,并根据任务请求向相应的任务执行模块分发任务以完成任务请求。根据本专利技术的一个实施例,任务的数量为多个;其中,多个任务的处理时序均与任务请求相符合。根据本专利技术的一个实施例,调度模块根据任务请求对任务请求进行封装,还用于将封装后的任务请求分解为多个任务。根据本专利技术的一个实施例,还包括:消息中间件,通信连接于调度模块和多个任务执行模块之间;其中,调度模块通过消息中间件将多个任务分发至相应的任务执行模块,且相应的任务执行模块通过消息中间件向调度模块返回任务执行结果。根据本专利技术的一个实施例,还包括监测模块,用于获取多个任务执行模块中各个任务执行模块的任务状态。根据本专利技术的一个实施例,监测模块还用于根据任务状态注销任务模块或创建任务模块。根据本专利技术的一个实施例,还包括:多个任务请求模块,与调度模块均通信连接,用于根据需求生成任务请求;其中,调度模块还用于将多个任务执行模块的任务执行结果返回至相应的任务请求模块,以使任务请求模块对返回的任务执行结果进行分析。根据本专利技术的一个实施例,还包括:存储模块,通信连接于任务请求模块和多个任务执行模块;其中,多个任务执行模块中各个任务执行模块将任务结果存至存储模块;以及任务请求模块通过存储模块获取任务结果。根据本专利技术的另一方面,提供了一种任务调度方法,包括:获取任务请求;根据任务请求向相应的任务执行模块分发任务以完成任务请求。根据本专利技术的一个实施例,根据任务请求向相应的任务执行模块分发任务,包括:根据任务请求对任务请求进行封装;以及将封装后的任务请求分解为多个任务。本专利技术通过任务请求模块处理机顶盒测试任务管理的任务请求,调度模块根据任务请求向相应的任务执行模块分发任务以完成任务请求,达到自动下发测试任务、并自动控制机顶盒以及自动分析判断测试结果的功能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的分布式任务调度系统的框图;图2是根据本专利技术实施例的分布式任务调度系统的业务流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术概念的示例性的实施例可以许多不同的形式实施,并且不应该被解释为受限于此处所述的实施例;更确切地说,提供这些实施例是以便本专利技术将充分和完整,并且将示例性的实施例的概念充分传达给本领域的普通技术人员。在附图中,相同的参考标记指代相同的元件,并且因此它们的描述将会被省略。根据本专利技术的实施例,提供了一种分布式任务调度系统。根据本专利技术实施例的分布式任务调度系统包括:调度模块20、与调度模块20通信连接的多个任务执行模块30、以及与调度模块10均通信连接的多个任务请求模块10;其中调度模块20用于获取任务请求模块10根据需求生成的任务请求,并根据任务请求向相应的任务执行模块30分发任务以完成任务请求。具体地,用户可通过任务请求模块10进行机顶盒测试任务管理的任务请求,例如该任务请求可包括测试流程和机顶盒按键流程,调度模块20可根据该任务请求向相应的任务执行模块30分发任务以完成任务请求,达到自动下发测试任务并自动控制机顶盒的功能。进一步地,调度模块20还可以将多个任务执行模块30的任务执行结果返回至相应的任务请求模块10,以使任务请求模块30对返回的任务执行结果进行分析,实现了对各个控制机顶盒的测试结果的进行自动分析和判断的功能。在一个实施例中,任务的数量为多个;其中多个任务的处理时序均与任务请求相符合。进一步地,调度模块根据任务请求对任务请求进行封装,还用于将封装后的任务请求分解为多个任务。具体地,调度模块20可在接收到任务请求后根据业务需求,对多个任务请求进行业务层面的封装,之后再将封装后的业务分解成多个任务,分发给相应的任务执行模块30。任务执行模块30可以在任务完成后将任务结果发送给调度模块20,也可以通过其它方式获取各个任务执行模块30的任务结果。如图1所示,在一个实施例中,还包括:存储模块,通信连接于任务请求模块10和多个任务执行模块30;其中,多个任务执行模块中各个任务执行模块30将任务结果存至存储模块;以及任务请求模块10可通过存储模块获取任务结果。其中存储模块可以包括数据存储模块61、数据库62和文件存储模块63。具体地,通过存储模块可以采集机顶盒的日志文件,进一步经任务请求模块10或其它分析模块可对日志文件进行自动分析生成测试结果,从而达到对各个机顶盒的测试结果进行自动测试的目的。如图1所示,在一个实施例中,本专利技术的分布式任务调度系统还包括:消息中间件40,通信连接于调度模块20和多个任务执行模块30之间;其中,调度模块20通过消息中间件40将多个任务分发至相应的任务执行模块,且相应的任务执行模块30通过消息中间件40向调度模块20返回任务执行结果。还可以通过消息中间件40生成任务目录。在一个实施例中,还包括监测模块50,用于获取多个任务执行模块中各个任务执行模块的任务状态。进一步地,监测模块还用于根据任务状态注销任务模块或创建任务模块。具体地,监测模块50可用于检测各个任务执行模块30的运行状态和任务队列的堆积情况。当监测模块50检测到任务执行模块30为空闲、且任务队列中没有任务时,监测模块50会自动注销掉该任务执行模块来释放系统资源。当监测模块50检测到所有任务执行模块30在工作,且任务队列中有大量任务堆积时,监测模块50会自动创建任务模块来处理堆积的任务。如图2所示,是根据本专利技术实施例的分布式任务调度系统的业务流程图。包括以下步骤:步骤1,任务请求模块10接到任务后,向调度模块20发送任务请求的消息。步骤2,调度模块20接收到任务请求的消息后,会根据业务需求进行判断,如果是复合任务(多个任务组成一个业务),就需要等待其他任务请求。然后根据业务需求,形成业务的处理时序以对任务进行并行处理或有序的处理。调度模块20在完成业务封装后,再将业务根据处理时序拆分成多个任务发生到消息中间件40。步骤3,任务执行模块30从消息中间件40中取出任务后,根据任务内容完成本次任务。步骤4,任务执行模块30在完成任务后,将任务完成的消息发生给消息中间件4本文档来自技高网...

【技术保护点】
1.一种分布式任务调度系统,其特征在于,包括:调度模块以及与所述调度模块通信连接的多个任务执行模块;所述调度模块用于获取任务请求,并根据所述任务请求向相应的任务执行模块分发任务以完成所述任务请求。

【技术特征摘要】
1.一种分布式任务调度系统,其特征在于,包括:调度模块以及与所述调度模块通信连接的多个任务执行模块;所述调度模块用于获取任务请求,并根据所述任务请求向相应的任务执行模块分发任务以完成所述任务请求。2.根据权利要求1所述的分布式任务调度系统,其特征在于,所述任务的数量为多个;其中,所述多个任务的处理时序均与所述任务请求相符合。3.根据权利要求2所述的分布式任务调度系统,其特征在于,所述调度模块根据所述任务请求对所述任务请求进行封装,还用于将封装后的任务请求分解为所述多个任务。4.根据权利要求1所述的分布式任务调度系统,其特征在于,还包括:消息中间件,通信连接于所述调度模块和所述多个任务执行模块之间;其中,所述调度模块通过所述消息中间件将所述多个任务分发至所述相应的任务执行模块,且所述相应的任务执行模块通过所述消息中间件向所述调度模块返回任务执行结果。5.根据权利要求1所述的分布式任务调度系统,其特征在于,还包括监测模块,用于获取所述多个任务执行模块中各个任务执行模块的任务状态。6.根据权利要求5所述的分...

【专利技术属性】
技术研发人员:余英赵予汐王欣刚张越月张谦张若纯张新强
申请(专利权)人:国家新闻出版广电总局广播电视卫星直播管理中心
类型:发明
国别省市:北京,11

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

1