一种任务调度的方法及系统的利记博彩app

文档序号:8339459阅读:338来源:国知局
一种任务调度的方法及系统的利记博彩app
【技术领域】
[0001]本发明涉及网络通信技术领域,尤其涉及一种任务调度的方法及系统。
【背景技术】
[0002]在IT(Informat1n Technology,信息技术)系统中,存在大量后台需要周期性运行的任务,这些任务分布在多个系统平台,并且具有一定的优先级关系以及依赖关系,由于用于处理这些任务的资源是有限的,所以需要对这些任务进行合理的调度。
[0003]目前,进行任务调度的方法通常为调度工具提供一个任务配置界面,人工在任务配置界面上将需要运行的任务一个一个连接起来,然后根据业务经验设置每个任务的运行顺序、依赖条件以及优先级等。完成任务配置之后,任务调度系统根据人工配置的运行顺序并行运行某些任务时,如果任务调度系统的资源还有剩余,如果即将运行的任务所占用的资源小于任务调度系统的剩余资源时,任务调度系统可以运行该即将运行的任务,但当即将运行的任务所需占用的资源大于任务调度系统的剩余资源时,则任务调度系统不会启动该即将运行的任务,直到当前正在运行的任务运行结束之后再启动该即将运行的任务,因而在任务调度系统的剩余资源不足以运行即将运行的任务时导致等待时间过长,任务调度的效率低。

【发明内容】

[0004]本发明的实施例提供一种任务调度的方法及系统,可以解决任务调度效率低的问题。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]一方面,本发明的实施例提供一种任务调度的方法,所述方法应用于任务调度系统中,所述任务调度系统包括调度服务器、消息总线、用于运行不同任务的多个运行平台,所述方法包括:
[0007]所述调度服务器通过所述消息总线接收当前任务对应的运行平台发送的任务完成消息,所述任务完成消息用于指示所述当前任务对应的运行平台已完成所述当前任务;
[0008]所述调度服务器通过所述任务完成消息更新所述当前任务的任务状态以及所述当前任务的后续任务的任务状态,所述当前任务的后续任务为规定运行完所述当前任务之后运行的任务,其中,任务的任务状态包括等待状态、就绪状态、运行中状态和完成状态;
[0009]所述调度服务器从数据库中获取就绪任务,按照任务类型对所述就绪任务进行分组,并对每组中的就绪任务按静态优先级排序,所述任务类型为根据各任务平均每次运行时长划分的类型;
[0010]所述调度服务器获取每种任务类型的最大并发数、每种任务类型的就绪任务数量,以及每种任务类型的运行中任务数量,所述最大并发数为所述任务调度系统允许并行运行每种任务类型的任务的最大数量;
[0011]所述调度服务器通过所述每种任务类型的最大并发数、所述每种任务类型的就绪任务数量,以及所述每种任务类型的运行中任务数量,调整所述每种任务类型的最大并发数,将每种任务类型的就绪任务分别按照各组内就绪任务的排列顺序派发给各任务对应的运行平台运行,直至每种任务类型的运行中任务数量达到各自任务类型的最大并发数。
[0012]在本发明的另一实施例中,所述任务类型包括第一类型、第二类型、第三类型,其中,所述第一类型为平均每次运行时长大于等于第一预设时长的任务,所述第二类型为平均每次运行时长小于所述第一预设时长大于第二预设时长的任务,所述第三类型为平均每次运行时长小于等于所述第二预设时长的任务;
[0013]所述调度服务器通过所述每种任务类型的最大并发数、所述每种任务类型的就绪任务数量,以及所述每种任务类型的运行中任务数量,调整所述每种任务类型的最大并发数,将每种任务类型的就绪任务分别按照各组内就绪任务的排列顺序派发给各任务对应的运行平台运行,直至每种任务类型的运行中任务数量达到各自任务类型的最大并发数,包括:
[0014]所述调度服务器确定第一类型的运行中任务数量小于第一类型的最大并发数时,将第一类型的就绪任务按照静态优先级从高到低的顺序派发给各自对应的运行平台运行,直至所述第一类型的运行中任务数量达到所述第一类型的最大并发数;
[0015]当所述第一类型的就绪任务全部开始运行时,所述第一类型的运行中任务数量仍未达到所述第一类型的最大并发数,将所述第一类型的最大并发数中的剩余数量转换为第二类型的转换并发数,将第二类型的最大并发数更新为第二类型的原始最大并发数+所述第二类型的转换并发数;
[0016]所述调度服务器确定所述第二类型的运行中任务数量小于所述第二类型的最大并发数时,将第二类型的就绪任务按照静态优先级从高到低的顺序派发给各自对应的运行平台运行,直至所述第二类型的运行中任务数量达到所述第二类型的最大并发数;
[0017]当所述第二类型的就绪任务全部开始运行时,所述第二类型的运行中任务数量仍未达到所述第二类型的最大并发数,将所述第二类型的最大并发数中的剩余数量转换为第三类型的转换并发数,将第三类型的最大并发数更新为第三类型的原始并发数+所述第三类型的转换并发数;
[0018]所述调度服务器确定所述第三类型的运行中任务数量小于所述第三类型的最大并发数时,将第三类型的就绪任务按照静态优先级从高到低的顺序派发给各自对应的运行平台运行,直至所述第三类型的运行中任务数量达到所述第三类型的最大并发数。
[0019]在本发明的另一实施例中,所述调度服务器通过所述任务完成消息更新所述当前任务的任务状态以及当前任务的后续任务的任务状态,包括:
[0020]所述调度服务器将所述当前任务的任务状态更新为完成状态;
[0021]所述调度服务器从所述数据库中查找所述当前任务的后续任务;
[0022]当确定所述后续任务的前置任务都为完成状态时,将所述后续任务的任务状态更新为就绪状态,所述后续任务的前置任务为规定在运行所述后续任务之前需运行的任务。
[0023]在本发明的另一实施例中,在所述调度服务器通过消息总线接收运行平台发送的任务完成消息之前,所述方法还包括:
[0024]所述调度服务器从所述数据库中获取调度任务信息,所述调度任务信息包括调度任务的任务标识、所述调度任务的运行平台以及所述调度任务的静态优先级,所述调度任务包括所述任务调度系统需要运行的所有任务;
[0025]所述调度服务器通过查找所述调度任务间的数据关系,确定每个调度任务的前置任务;
[0026]所述调度服务器更新每个调度任务的静态优先级;
[0027]所述调度服务器确定每个调度任务的任务类型。
[0028]在本发明的另一实施例中,所述调度服务器更新每个调度任务的静态优先级,包括:
[0029]所述调度服务器确定每条任务路径的指定优先级,所述任务路径用于表示所述调度任务之间的关联以及运行顺序;
[0030]所述调度服务器将各任务路径上的每个调度任务的静态优先级与各自对应的指定优先级进行比较,当调度任务的静态优先级小于指定优先级时,将调度任务的静态优先级更新为指定优先级。
[0031]在本发明的另一实施例中,所述确定调度任务的任务类型,包括:
[0032]所述调度服务器获取每个调度任务在预设时间段内的运行总时长以及运行次数;
[0033]所述调度服务器通过每个调度任务在预设时间段内的运行总时长以及运行次数,确定每个调度任务的平均每次运行时长;
[0034]所述调度服务器将平均每次运行时长大于等于所述第一预设时长的调度任务分为第一类型;
[0035]所述调度服务器将平均每次运行时长小于所述第一预设时长大于所述第二预设时长的调度任务分为第二类型;
[0036]所述调度服务器将平均每次运行时长小于等于所述第二预设时长的调度任务分为第三类型。
[0037]另一方面,本发明的实施例提供一种任务调度的系统,包括:
[0038]运行平台,用于通过消息总线向调度服务器发送当前任务的任务完成消息,所述任务完成消息用于指示所述当前任务对应的运行平台已完成所述当前任务;
[0039]所述消息总线,用于接收所述当前任务对应的运行平台发送的所述任务完成消息,并将所述任务完成消息发送给调度服务器;
[0040]所述调度服务器,用于通过所述消息总线接收当前任务对应的运行平台发送的任务完成消息,通过所述任务完成消息更新所述当前任务的任务状态以及所述当前任务的后续任务的任务状态,所述当前任务的后续任务为规定运行完所述当前任务之后运行的任务,其中,任务的任务状态包括等待状态、就绪状态、运行中状态和完成状态;从数据库中获取就绪任务,按照任务类型对所述就绪任务进行分组,并对每组中的就绪任务按静态优先级排序,所述任务类型为根据各任务平均每次运行时长划分的类型;获取每种任务类型的最大并发数、每种任务类型的就绪任务数量,以及每种任务类型的运行中任务数量,所述最大并发数为所述调度系统允许并行运行每种任务类型的任务的最大数量;通过所述每种任务类型的最大并发数、所述每种任务类型的就绪任务数量,以及所述每种任务类型的运行中任务数量,调整所述每种任务类型的最大并发数,将每种任务类型的就绪任务分别按照各组内就绪任务的排列顺序派发给各任务对应的运行平台运行,直至每种任务类型的运行中任务数量达到各自任务类型的最大并发数;
[0041]所述运行平台,还用于运行所述调度服务器派发的各自对应的就绪任务。
[0042]在本发明的另一实施例中,所述任务类型包括第一类型、第二类型、第三类型,其中,所述第一类型为平均每次运行时长大于等于第一预设时长的任务,所述第二类型为平均每次运行时长小于所述第一预设时长大于第二预设时长的任务,所述第三类型为平均每次运行时长小于等于所述第二预设时长的任务;
[0043]所述调度服务器,用于确定第一类型的运行中任务数量小于第一类型的最大并发数时,将第一类型的就绪任务按照静态优先级从高到低的顺序派发给各自对应的运行平台运
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1