一种利用闲置资源的分布式任务调度方法及系统技术方案

技术编号:18417271 阅读:22 留言:0更新日期:2018-07-11 09:07
本发明专利技术提供一种利用闲置资源的分布式任务调度方法及系统,其中,该方法包括:获取目标设备的设备信息,判断目标设备的在线状态;对目标设备进行初始化,并根据目标设备的在线状态,生成可用设备列表;根据各个待分发任务的预计执行时间以及可用设备列表中的各个目标设备的闲置时间,按照任务分发策略将各个任务发送至时间匹配的各个所述目标设备;所述各个目标设备,自动执行所分发的任务通过本发明专利技术能够根据任务执行耗时估算方法准确匹配目标任务和执行设备,实现了分时段利用闲置设备资源,这种方式大大节省了运行成本,使得研发团队在不需要大量采购专用设备的情况下,有效实现自动化任务执行,并收集执行结果。

A distributed task scheduling method and system using idle resources

The present invention provides a distributed task scheduling method and system using idle resources, in which the method includes: obtaining the equipment information of the target equipment, judging the online state of the target equipment, initializing the target equipment, and generating the list of available equipment according to the online state of the target equipment; according to the individual points to be divided. The expected execution time of the task and the idle time of each target device in the list of available devices are sent to each of the target devices that match the time according to the task distribution strategy; the target devices, the tasks distributed automatically, can execute the time-consuming estimator based on the task. The method accurately matches the target task and the execution equipment, realizes the use of idle equipment resources in the period of time. This method greatly saves the running cost, so that the R & D team can effectively implement the automation task and collect the execution results without the need of a large number of special equipment for purchasing.

【技术实现步骤摘要】
一种利用闲置资源的分布式任务调度方法及系统
本专利技术涉及计算机
,具体涉及一种利用闲置资源的分布式任务调度方法及系统。
技术介绍
在软件研发过程中,有很多的自动化任务(例如,持续集成中的编译打包、静态代码检查、自动测试等)需要大量的相关配套资源来完成执行,因此需要采购大量的设备来支持。然而,在现实中有很多的设备在空闲时间内则处于闲置状态,因此如何实现可用资源在闲置时段的充分利用就成为一个亟待解决的问题。现有的分布式设备调度方案多是以主控机和执行机的形式组成。主控机通过发送执行代理指令到执行机,通过执行代理指令来调度执行机的任务执行。如图1所示,现有的自动化任务机器调度方法:(1)主控机负责任务及机器调度,所有执行机负责任务执行;(2)执行机作为主控机的Slave,全时段被主控机掌控;(3)任务由主控机主动按需发起,执行机接收任务并执行。然而,现有的自动化任务机器调度方法存在以下问题:主控机和执行机必须绑定在一起为用户提供服务,执行机必须完全受控,那么闲置资源一旦用来支持主控机调度,就会在一定程度上失去自主性,有些种类的闲置资源(例如,临时性闲置资源、个人PC机资源等)就不适用于接受主控机完全调度。
技术实现思路
有鉴于此,本专利技术的目的是提供一种利用闲置资源的分布式任务调度方法及系统,根据设备的闲置时间来分发任务,有效提高设备资源利用率,节约运行成本。本专利技术的技术方案是提供一种利用闲置资源的分布式任务调度方法,其中,该方法包括:获取目标设备的设备信息,判断所述目标设备的在线状态;对所述目标设备进行初始化,并根据所述目标设备的在线状态,生成可用设备列表;根据各个待分发任务的预计执行时间以及所述可用设备列表中的各个所述目标设备的闲置时间,按照任务分发策略将各个所述任务分发至时间匹配的所述各个目标设备,其中所述任务分发策略为:目标设备闲置时间*目标设备的单位时间内可执行原子任务数≥待分发任务的预计执行时间/原子任务的执行时间,其中,所述原子任务为所述任务的单位预设任务,所述原子任务的执行时间表示单位时间内执行单位预设任务的时长,所述目标设备闲置时间表示目标设备的闲置时长;所述各个目标设备,自动执行所分发的所述任务。可选地,所述设备信息包括:所述目标设备的IP地址、设备类型、设备持有人信息。可选地,对所述目标设备进行初始化包括:检测各个所述目标设备的联通性,根据所述设备信息对所述目标设备进行认证访问,并在各个所述目标设备上安装资源调度客户端。可选地,判断所述目标设备的在线状态信息包括:由资源调度引擎向所述资源调度客户端定时发送探测信息,并根据所述资源调度客户端的响应,以判断所述目标设备的在线状态。可选地,判断所述目标设备的在线状态还包括:所述资源调度引擎与所述资源调度客户端之间通过建立TCP长连接,并定时向所述资源调度客户端发送探测信息;如果所述资源调度引擎能够正常收到响应,则所述资源调度客户端处于在线状态;如果所述资源调度引擎不能正常收到响应,则所述资源调度客户端处于离线状态。可选地,对所述目标设备进行初始化,并根据所述目标设备的在线状态,生成可用设备列表,还包括:根据所述目标设备的在线状态,实时更新所述可用设备列表。可选地,所述任务分发策略还包括:如果任务状态是执行失败状态,则进入失败任务处理流程,其中,所述失败任务处理流程包括:判断失败任务的次数是否超过了预设阀值;如果所述失败任务的次数大于等于所述预设阀值,则将所述失败任务移至异常任务列表;如果所述失败次数小于所述阀值,则将所述任务再次进行分发。本专利技术还提供一种利用闲置资源的分布式任务调度系统,该系统包括:信息获取装置,用于获取目标设备的设备信息,判断所述目标设备的在线状态;可用信息装置,用于对所述目标设备进行初始化,并根据所述目标设备的在线状态,生成可用设备列表;任务分发装置,根据各个待分发任务的预计执行时间以及所述可用设备列表中的各个所述目标设备的闲置时间,按照任务分发策略将各个所述任务发送至时间匹配的所述各个所述目标设备,其中所述任务分发策略为:目标设备闲置时间*目标设备的单位时间内可执行原子任务数≥待分发任务的预计执行时间/原子任务的执行时间,其中,所述原子任务为所述任务的单位预设任务,所述原子任务的执行时间表示单位时间内执行单位预设任务的时长,所述目标设备闲置时间表示目标设备的闲置时长;任务执行装置,所述各个目标设备,自动执行所分发的所述任务。可选地,所述设备信息包括:所述目标设备的IP地址、设备类型、设备持有人信息。可选地,所述可用信息装置用于:检测各个所述目标设备的联通性,根据所述设备信息对所述目标设备进行认证访问,并在各个所述目标设备上安装资源调度客户端。可选地,所述信息获取装置用于:由资源调度引擎向所述资源调度客户端定时发送探测信息,并根据所述资源调度客户端的响应,以判断所述目标设备的在线状态。可选地,所述信息获取装置还用于:所述资源调度引擎与所述资源调度客户端之间通过建立TCP长连接,并定时向所述资源调度客户端发送探测信息;如果所述资源调度引擎能够正常收到响应,则所述资源调度客户端处于在线状态;如果所述资源调度引擎不能正常收到响应,则所述资源调度客户端处于离线状态。可选地,所述可用信息装置还包括:根据所述目标设备的在线状态,实时更新所述可用设备列表。可选地,所述任务分发策略还包括:如果任务状态是执行失败状态,则进入失败任务处理流程,其中,所述失败任务处理流程包括:判断失败任务的次数是否超过了预设的阀值;如果所述失败任务的次数大于等于所述阀值,则将所述失败任务移至异常任务列表;如果所述失败次数小于所述阀值,则将所述任务再次进行分发。本专利技术还提供一种利用闲置资源的分布式任务调度系统,该系统包括:存储器和处理器,其中,所述存储器用于存储指令,所述处理器用于执行所述指令用于:获取目标设备的设备信息,判断所述目标设备的在线状态;对所述目标设备进行初始化,并根据所述目标设备的在线状态,生成可用设备列表;根据各个待分发任务的预计执行时间以及所述可用设备列表中的各个所述目标设备的闲置时间,按照任务分发策略将各个所述任务分发至时间匹配的所述各个目标设备,其中所述任务分发策略为:目标设备闲置时间*目标设备的单位时间内可执行原子任务数≥待分发任务的预计执行时间/原子任务的执行时间,其中,所述原子任务为所述任务的单位预设任务,所述原子任务的执行时间表示单位时间内执行单位预设任务的时长,所述目标设备闲置时间表示目标设备的闲置时长;所述各个目标设备,自动执行所分发的所述任务。通过本专利技术提供的利用闲置资源的分布式任务调度方法及系统,能够根据任务执行耗时估算方法准确匹配目标任务和执行设备,通过设备状态自动探活,能够准确的下发任务到激活状态的目标设备,实现了分时段利用闲置设备资源,这种方式大大节省了运行成本,使得研发团队在不需要大量采购专用设备的情况下,有效实现自动化任务执行(例如,持续集成中的编译打包、静态代码检查、自动测试),并收集执行结果。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还本文档来自技高网...

【技术保护点】
1.一种利用闲置资源的分布式任务调度方法,其特征在于,包括:获取目标设备的设备信息,判断所述目标设备的在线状态;对所述目标设备进行初始化,并根据所述目标设备的在线状态,生成可用设备列表;根据各个待分发任务的预计执行时间以及所述可用设备列表中的各个所述目标设备的闲置时间,按照任务分发策略将各个所述任务分发至时间匹配的所述各个目标设备,其中所述任务分发策略为:目标设备闲置时间*目标设备的单位时间内可执行原子任务数≥待分发任务的预计执行时间/原子任务的执行时间,其中,所述原子任务为所述任务的单位预设任务,所述原子任务的执行时间表示单位时间内执行单位预设任务的时长,所述目标设备闲置时间表示目标设备的闲置时长;所述各个目标设备,自动执行所分发的所述任务。

【技术特征摘要】
1.一种利用闲置资源的分布式任务调度方法,其特征在于,包括:获取目标设备的设备信息,判断所述目标设备的在线状态;对所述目标设备进行初始化,并根据所述目标设备的在线状态,生成可用设备列表;根据各个待分发任务的预计执行时间以及所述可用设备列表中的各个所述目标设备的闲置时间,按照任务分发策略将各个所述任务分发至时间匹配的所述各个目标设备,其中所述任务分发策略为:目标设备闲置时间*目标设备的单位时间内可执行原子任务数≥待分发任务的预计执行时间/原子任务的执行时间,其中,所述原子任务为所述任务的单位预设任务,所述原子任务的执行时间表示单位时间内执行单位预设任务的时长,所述目标设备闲置时间表示目标设备的闲置时长;所述各个目标设备,自动执行所分发的所述任务。2.根据权利要求1所述的方法,其特征在于,所述设备信息包括:所述目标设备的IP地址、设备类型、设备持有人信息。3.根据权利要求1所述的方法,其特征在于,对所述目标设备进行初始化包括:检测各个所述目标设备的联通性,根据所述设备信息对所述目标设备进行认证访问,并在各个所述目标设备上安装资源调度客户端。4.根据权利要求1所述的方法,其特征在于,判断所述目标设备的在线状态信息包括:由资源调度引擎向所述资源调度客户端定时发送探测信息,并根据所述资源调度客户端的响应,以判断所述目标设备的在线状态。5.根据权利要求4所述的方法,其特征在于,判断所述目标设备的在线状态还包括:所述资源调度引擎与所述资源调度客户端之间通过建立TCP长连接,并定时向所述资源调度客户端发送探测信息;如果所述资源调度引擎能够正常收到响应,则所述资源调度客户端处于在线状态;如果所述资源调度引擎不能正常收到响应,则所述资源调度客户端处于离线状态。6.根据权利要求1所述的方法,其特征在于,对所述目标设备进行初始化,并根据所述目标设备的在线状态,生成可用设备列表,还包括:根据所述目标设备的在线状态,实时更新所述可用设备列表。7.根据权利要求1所述的方法,其特征在于,所述任务分发策略还包括:如果任务状态是执行失败状态,则进入失败任务处理流程,其中,所述失败任务处理流程包括:判断失败任务的次数是否超过了预设阀值;如果所述失败任务的次数大于等于所述预设阀值,则将所述失败任务移至异常任务列表;如果所述失败次数小于所述阀值,则将所述任务再次进行分发。8.一种利用闲置资源的分布式任务调度系统,其特征在于,包括:信息获取装置,用于获取目标设备的设备信息,判断所述目标设备的在线状态;可用信息装置,用于对所述目标设备进行初始化,并根据所述目标设备的在线状态,生成可用设备列表;任务分发装置,根据各个待分发任务的预计执行时间以及所述可用设备列表中的各个所述目标设备的闲置时间,按照任务分发策略将各个所述任务发送至时间匹配...

【专利技术属性】
技术研发人员:熊志男魏爱鑫王小晰
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1