CN114020420A - 一种分布式待执行任务执行方法及系统、存储介质、终端 - Google Patents
一种分布式待执行任务执行方法及系统、存储介质、终端 Download PDFInfo
- Publication number
- CN114020420A CN114020420A CN202111108091.7A CN202111108091A CN114020420A CN 114020420 A CN114020420 A CN 114020420A CN 202111108091 A CN202111108091 A CN 202111108091A CN 114020420 A CN114020420 A CN 114020420A
- Authority
- CN
- China
- Prior art keywords
- task
- executed
- execution
- node
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012795 verification Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012550 audit Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002354 daily effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种分布式待执行任务执行方法及系统、存储介质、终端,与现有技术相比,本发明通过接收待执行任务,并分配与所述待执行任务对应的任务编号;根据所述任务编号,确定与所述待执行任务对应的目标执行节点;将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务,由此待执行任务通过在目标执行节点上分布式执行,从而能够避免多个待执行任务抢占系统资源,提高了待执行任务的执行效率,同时也减轻了服务器的负载。
Description
技术领域
本发明涉及一种数据处理技术领域,特别是涉及一种分布式待执行任务执行方法及系统、存储介质、终端。
背景技术
Linux服务器就是采用Linux系统的网络服务器,同时也有采用windows的服务器,作用是类似的。Linux系统是众所周知最具稳定性的系统;事实上,以Linux系统的服务器用户在出现系统崩溃的反馈上比例非常少。这对于用户来说,特别是小型和中小型企业的用户特别有价值,因为服务器系统一旦崩溃对企业的业务会造成很大的影响。
在现有的企业Linux服务器运维中,对Linux服务器维护和管理是必不可少的。随着Linux服务器上大量需要定时执行的待执行任务,传统的LinuxCrontab会因为在大量的待执行任务在同一台服务器上执行,容易导致服务器的负载过高,甚至出现宕机问题,从而会影响待执行任务的执行效率。
发明内容
有鉴于此,本发明提供一种分布式待执行任务执行方法及系统、存储介质、终端,主要目的在于能够以分布式的方式执行待执行任务,以减轻服务器的负载。
依据本发明一个方面,提供了一种分布式待执行任务执行方法,包括:
接收待执行任务,并分配与所述待执行任务对应的任务编号;
根据所述任务编号,确定与所述待执行任务对应的目标执行节点;
将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务。
进一步地,在将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务之前,所述方法还包括:
在所述目标执行节点对应多个待执行任务的情况下,依据与所述目标执行节点对应的多个待执行任务,建立任务清单;
所述将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务包括:
将所述任务清单推送至所述目标执行节点上,并在所述目标执行节点中,根据预设的配置执行条件对所述任务清单上的待执行任务进行校验,以检查所述任务清单中的待执行任务是否满足所述配置执行条件;
若所述任务清单通过校验,则通过所述目标执行节点执行所述任务清单上的待执行任务。
进一步地,所述根据预设的配置执行条件对所述任务清单上的待执行任务进行校验之前,所述方法还包括:
接收与每一所述待执行任务对应的待执行任务规则;
依据每一所述待执行任务所对应的待执行任务规则,确定所述目标执行节点对应的配置执行条件,其中,所述配置执行规则包括所述目标执行节点上的所有待执行任务分别对应的执行时间规则,所述执行时间规则包括预设执行时间、以及与所述预设执行时间对应的触发指令;
将所述配置执行规则推送至对应的所述目标执行节点中。
进一步地,所述若所述任务清单通过校验,则通过所述目标执行节点执行所述任务清单上的待执行任务,包括:
若所述任务清单通过校验,则对所述任务清单中的每个待执行任务分配对应的节点执行编号;
将所述任务编号和所述节点执行编号上报至日志中心;
所述将符合所述配置执行规则的待执行任务在所述目标执行节点上根据所述配置执行规则执行之后,所述方法还包括:
将所述待执行任务的执行结果上报至所述日志中心。
进一步地,所述将符合所述配置执行规则的待执行任务的执行结果上报至所述日志中心,包括:
若所述日志中心接收到的执行结果为执行成功,则将所述待执行任务所对应的所述任务编号和所述节点执行编号所对应状态标记为成功;
若所述日志中心接收到的执行结果为执行失败,则将所述待执行任务所对应的的所述任务编号和所述节点执行编号所对应状态标记为失败,并发送所述待执行任务的执行失败提示信息。
进一步地,所述分配与所述待执行任务对应的任务编号之前,所述方法还包括:
将所述待执行任务添加至待审核队列,并根据待执行任务规则对所述待执行任务进行审计;
若所述待执行任务符合所述待执行任务规则,则执行所述分配与所述待执行任务对应的任务编号。
进一步地,所述根据所述任务编号,确定与所述待执行任务对应的目标执行节点,包括:
对所述待执行任务的任务编号和可执行节点的数量进行求余运算,获得所述待执行任务的求余结果;
选择所述可执行节点中与所述求余结果匹配的节点作为所述目标执行节点。
依据本发明另一个方面,提供了一种分布式待执行任务执行系统,包括
第一配置模块,用于接收待执行任务,并分配与所述待执行任务对应的任务编号;
第二配置模块,用于根据所述任务编号,确定与所述待执行任务对应的目标执行节点;
执行模块,用于将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务。
根据本发明的再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被处理器执行时实现上述中任一项所述的方法的步骤。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种分布式待执行任务执行方法及系统、存储介质、终端,与现有技术相比,本发明实施例通过接收待执行任务,并分配与所述待执行任务对应的任务编号;根据所述任务编号,确定与所述待执行任务对应的目标执行节点;通过将所述待执行任务推送至所述目标执行节点上,通过所述目标执行节点执行所述待执行任务,由此待执行任务通过在目标执行节点上分布式执行,从而能够避免多个待执行任务抢占系统资源,提高了待执行任务的执行效率,同时也减轻了服务器的负载。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种分布式待执行任务执行方法流程图;
图2示出了本发明实施例提供的另一种分布式待执行任务执行方法流程图;
图3示出了本发明实施例提供的一种分布式待执行任务执行系统的模块示意图;
图4示出了本发明实施例提供的另一种分布式待执行任务执行系统的模块示意图;
图5示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种分布式待执行任务执行方法,如图1所示,该方法包括:
101、接收待执行任务,并分配与所述待执行任务对应的任务编号。
为了克服现有技术中利用linux处理待执行任务进而导致待执行任务执行效率低,且服务器负载过高的缺陷,本发明实施例利用配置中心接收待执行任务,并在配置中心上对每一待执行任务分配所对应的唯一任务编号。
具体地,可以预先在配置中心添加待执行任务,并在配置中心指定添加的待执行任务所对应的配置执行规则,配置执行规则包括待执行任务对应预设执行时间、以及触发指令,其中,触发指令可以为:每天的24时统计某网站当天的用户浏览量,也可以为每隔12小时统计某购物网站的用户积分、当天的营业额,根据业务需求,确定需要定时执行的指令,并建立添加的待执行任务与该指令之间的对应关系,如待执行任务1对应订单服务,待执行任务2对应用户积分服务,与此同时,预设执行时间可以为:如设定每隔6小时统计用户的订单总量。并且,在配置中心添加完成待执行任务后,可以在配置中心查看和修改添加的所有的待执行任务。
其中,通过配置中心分配与所述待执行任务对应的任务编号,可通过任务编号对待执行任务进行标识,以便对其在分布式执行时进行跟踪。
102、根据所述任务编号,确定与所述待执行任务对应的目标执行节点。
可以理解的是,根据所述待执行任务所对应的任务编号,配置中心在多个执行节点中确定与所述待执行任务对应的目标执行节点。
对于本发明实施例,将与此待执行任务对应的配置执行规则添加至目标执行节点上,以使相应的目标执行节点具有与待添加的待执行任务相应的配置执行规则,由于服务所涉及的执行节点部署在多个服务器上,因此能够避免在同一台服务器运行待执行任务,从而避免服务器负载过高。
103、将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务。
本发明实施例主要应用配置中心将待执行任务分布式到目标执行节点执行的场景。本发明实施例的执行主体为能够将待执行任务分布式调度到目标执行节点执行的装置或者设备。
对于本发明实施例,将待执行的待执行任务分布式分配到目标执行节点上,待执行任务根据目标执行节点上的配置执行规则执行,能够提高待执行任务的执行效率,同时能够减轻服务器的负载。例如:当到达待执行任务的预设执行时间时,目标执行节点自动触发待执行任务的触发指令,使待执行任务在目标执行节点上执行,由于服务所涉及的执行节点部署在多个服务器上,因此能够避免在同一台服务器运行待执行任务,从而导致服务器负载过高。
本发明实施例提供的一种分布式待执行任务执行方法,与目前在linux上执行待执行任务的方式相比,本发明能够接收待执行任务,并分配与所述待执行任务对应的任务编号;根据所述任务编号,确定与所述待执行任务对应的目标执行节点;将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务,由此待执行任务通过在目标执行节点上分布式执行,从而能够避免多个待执行任务抢占系统资源,提高了待执行任务的执行效率,同时也减轻了服务器的负载。
进一步的,为了更好的说明上述对分布式待执行任务执行过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种分布式待执行任务执行方法,如图2所示,所述方法包括:
201、接收待执行任务,并分配与所述待执行任务对应的任务编号。
对于本发明实施例,待执行任务为多个,在配置中心接收到多个待执行任务后,配置中心对多个待执行任务分别对应分配一个任务编号,进而在具有多个待执行任务时,每一待执行任务可通过不同的任务编号区分,以便对每一待执行任务进行追踪。例如,待执行任务的个数为8个,配置中心对8个待执行任务分别进行相对应的任务编号:1、2、3、4、5、6、7、8。
由于现有的LinuxCrontab不具备审计功能,因此,linux服务器不便对待执行任务进行管理,容易因人为因素导致线上故障,对于本发明实施例,为了将对添加至配置中心的待执行任务进行管理,在将待执行任务添加至配置中心前,还对待执行任务进行审计处理,基于此,在步骤201前,所述方法还包括:将所述待执行任务添加至待审核队列,并根据待执行任务规则对所述待执行任务进行审计;若所述待执行任务符合所述待执行任务规则,则执行所述分配与所述待执行任务对应的任务编号。
可以理解的是,待执行任务规则包括待执行任务所对应的执行规则是否与执行规则一致、以及待执行任务的执行是否合规,作为具体的,开发人员将待执行的待执行任务提交至待审核队列,开发人员对与待执行任务所对应的执行规则与执行规则进行对比审查,并对待执行任务的执行是否合规进行审查,若审核人员确认待执行任务所对应的执行规则与执行规则一致、以及待执行任务的执行合规,则审核人员将此审计通过后的待执行任务推送至配置中心。
202、根据所述任务编号,确定与所述待执行任务对应的目标执行节点。
对于本发明实施例,在待执行任务为多个时,对多个待执行任务分别根据分别对应的任务编号,分别确定与每一待执行任务所对应的目标执行节点,以便对多个待执行任务进行分配,例如:执行节点有4个,分别为执行节点1、执行节点2、执行节点3和执行节点4,配置中心将执行节点1确定为待执行任务1和待执行任务2的目标执行节点、执行节点2确定为待执行任务3和待执行任务4的目标执行节点、执行节点3确定为待执行任务5和待执行任务6的目标执行节点、执行节点4确定为待执行任务7和待执行任务8的目标执行节点。再例如,可以为所有待执行任务分配连续的任务编号,并且为当前可用执行被设置连续的设备编号,由于各个任务编号互不相同且具有连续性,而且各个设备编号也互不相同且具有连续性,可以根据任务编号和设备编号之间的数字关系进行分类。例如比较设备编号和任务编号的末位数字,将数字相同的任务编号分配至具有相同末位数字的设备编号所对应的可用执行节点中。
为了使多个待执行任务可以均匀的分配到各执行节点上,步骤202具体包括:对所述待执行任务的任务编号和可执行节点的数量进行求余运算,获得所述待执行任务的求余结果;选择所述可执行节点中与所述求余结果匹配的节点作为所述目标执行节点。
例如,假设当待执行任务共有11条,为每条待执行任务连续编号,得到11个任务编号:1001,1002,1003,1004,…,1010,1011;
假设当前可用执行节点共有10台,为每台可用执行节点连续编号,得到10个设备编号:01,02,03,…,09,10;
对每个任务编号除以可用执行节点数量10后取余,分别得到以下任务余数值:1,2,3,…,9,,0,11;
根据分类规则,将每个任务余数的末尾数字与设备编号的末位数字相对应,即:任务编号1001的任务余数为1,对应编号为01的执行节点;任务编号1002的任务余数为2,对应编号为02的执行节点;…,任务编号1010的任务余数为0,对应编号为10的执行节点;任务编号1011的任务余数为11,对应编号为01的执行节点。
经过上述分类,执行节点01上分配有两条待执行任务,执行节点02至10上均分配有一条待执行任务,每两台执行节点上分配的任务差值最多为1,因此总体看来,集群中所有可用执行节点在处理任务是基本上达到均衡的,有利于提升集群环境下的任务处理效率。同时,每一条待执行任务都被分配到唯一的一台执行节点中,无需采用现有技术中的加锁机制即可避免出现任务重复分配的情况。
203、在所述目标执行节点对应多个待执行任务的情况下,依据与所述目标执行节点对应的多个待执行任务,建立任务清单。
对于本发明实施例,可以理解的是,配置中心收集所有待执行任务,并将所有待执行任务分别分配至与其对应的目标执行节点上,因此,在一个目标执行节点上添加有多个待执行任务后,在目标执行节点上将多个待执行任务整理为与目标执行节点对应的待执行的任务清单,由于目标执行节点直接整理任务清单,因此,任务清单可根据待执行任务在目标执行节点上的添加而进行修改,避免了目标执行节点在待执行任务更新后任务清单无法被更新的问题;且配置中心与多个执行节点连接,避免配置中心对更新的执行节点的待执行任务分配资源调度不平衡问题,实现了目标执行节点资源的灵活占用。
204、将所述任务清单推送至所述目标执行节点上,并在所述目标执行节点中,根据预设的配置执行条件对所述任务清单上的待执行任务进行校验,以检查所述任务清单中的待执行任务是否满足所述配置执行条件。
可以理解的是,为了加强对所有的待执行任务的管理,通过对添加至目标执行节点的待执行任务进行检查,并对任务清单上的所有待执行任务根据预设的配置执行规则进行逐条检查,以完成对目标执行节点上的待执行任务的校验,以保证在目标执行节点上执行的待执行任务均为可执行的有效任务。
此外,若任务清单具有不符合配置执行规则的待执行任务,为了保证此待执行任务能被执行,则将此待执行任务返回至配置中心,配置中心再对此待执行任务重新分配一个任务编号,并重新为其确定目标执行节点,并将与此待执行任务的配置执行规则添加至此目标执行节点上,以使此待执行任务可在与其重新分配的目标执行中心上执行。并且在具有不符合配置执行规则的待执行任务返回至配置中心后,在目标执行节点上的所有待执行任务均符合配置执行规则,则在目标执行节点上重新将符合配置执行规则的所有待执行任务建立任务清单,以保证任务清单上的待执行任务均可在目标执行节点上执行。
为了使目标执行节点上的预设的配置执行规则与待执行任务一一对应,避免在目标节点上添加的配置执行规则过多,以及避免目标执行节点的负载过多,本发明实施例在步骤204之前,还包括:接收与每一所述待执行任务对应的待执行任务规则;依据每一所述待执行任务所对应的待执行任务规则,确定所述目标执行节点对应的配置执行条件,其中,所述配置执行规则包括所述目标执行节点上的所有待执行任务分别对应的执行时间规则,所述执行时间规则包括预设执行时间、以及与所述预设执行时间对应的触发指令;将所述配置执行规则推送至对应的所述目标执行节点中。
例如:配置中心接收与待执行任务1对应的待执行任务规则101,配置中心对待执行任务1所分配的目标执行节点为执行节点1001,则配置中心将待执行任务规则101添加至执行节点1001上,即完成对与待执行任务1对应的待执行任务规则101的在目标执行节点上的分配;由于待执行任务为多个,则在执行节点1001上添加与其对应的所有待执行任务的待执行任务规则,例如,在执行节点1001上添加的待执行任务包括待执行任务1、待执行任务2、待执行任务3和待执行任务4,且待执行任务1对应的待执行任务规则101、待执行任务2对应的待执行任务规则102、待执行任务3对应的待执行任务规则103和待执行任务4对应的待执行任务规则104,因此,在执行节点1001上添加待执行任务规则101、待执行任务规则102、待执行任务规则103和待执行任务规则104,执行节点1001将待执行任务规则101、待执行任务规则102、待执行任务规则103和待执行任务规则104整理成预设的配置执行规则。
205、若所述任务清单通过校验,则通过所述目标执行节点执行所述任务清单上的待执行任务。
可以理解的是,通过定时轮询目标执行节点的待执行任务,当到达或接近所述待执行任务的预设执行时间时,将待执行任务存储至待执行任务的对象列表中,并在到达待执行任务的预设执行时间时,待执行任务接收到触发指令实施执行,避免因使用同一目标执行节点造成对该目标执行节点进行负载过高。
为了对待执行任务进行跟踪和功能标识,以便对其执行结果在日志中心进行相对的记录,在步骤205之前,还包括:若所述任务清单通过校验,则对所述任务清单中的每个待执行任务分配对应的节点执行编号;将所述任务编号和所述节点执行编号上报至日志中心。
可以理解的是,在目标执行节点上的每一待执行任务均被分配一个唯一的节点执行编号,例如,在执行节点1001上的符合配置执行规则的待执行任务分别是待执行任务1,再分别对待执行任务1进行唯一的节点执行编号分配,比如,待执行任务1的节点执行编号为110,,则将待执行任务1所对应的任务编号和节点执行编号,可以以1+110的形式上报给日志中心,以使1+110代表在执行节点1001上的待执行任务1。
为了对目标执行节点上的待执行任务的执行结果在日志中心上统计,在步骤205之后,还包括将所述待执行任务的执行结果上报至所述日志中心。
例如,在执行节点1001上的符合配置执行规则的待执行任务分别是待执行任务1的节点执行编号为110,则将待执行任务1所对应的任务编号和节点执行编号,可以以1+110的形式上报给日志中心,若待执行任务1在执行节点101上执行结束,则对1+110进行结果标记,以便在日志中心对待执行任务1的执行结果进行记录和查询。
由于,现有的linux系统不具备对执行出错的待执行任务报警功能,因此,本实施例的步骤205还包括:若所述日志中心接收到的执行结果为执行成功,则将所述待执行任务所对应的所述任务编号和所述节点执行编号所对应状态标记为成功;若所述日志中心接收到的执行结果为执行失败,则将所述待执行任务所对应的的所述任务编号和所述节点执行编号所对应状态标记为失败,并发送所述待执行任务的执行失败提示信息。
例如,若待执行任务1在执行节点101上执行结束,待执行任务1的执行结果为执行成功,则在日志中心对1+110标记的执行结果为其所执行的功能,如待执行任务1为每隔1小时统计某购物网站的用户积分,在执行时间为每周的周日的9点执行,若待执行任务1在每周的周日的9点执行成功,则对1+110所对应状态标记的功能为“每隔1小时统计某购物网站的用户积分”,以便通过日志中心对待执行任务1的执行功能进行查询;若待执行任务1在执行节点101上执行结束,待执行任务1的执行结果为执行失败,则在日志中心对1+110标记的执行失败,如待执行任务1为每隔1小时统计某购物网站的用户积分,在执行时间为每周的周日的9点执行,若待执行任务1在每周的周日的9点执行失败,则对1+110所对应状态标记为“失败”,并通过邮件通知相关人员所述待执行任务执行失败,且在通知邮件内记载1+110在于其相对的执行节点101上执行失败,以便相关人员在执行节点上对此待执行任务进行修改或删除。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种分布式待执行任务执行方法,如图3所示,该系统包括第一配置模块31、第二配置模块32和执行模块33。
第一配置模块31用于接收待执行任务,并分配与所述待执行任务对应的任务编号;
第二配置模块32用于根据所述任务编号,确定与所述待执行任务对应的目标执行节点;
执行模块33用于将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务。
进一步的,如图4所示,所述系统还包括:
第一整理模块34,用于在所述目标执行节点对应多个待执行任务的情况下,依据与所述目标执行节点对应的多个待执行任务,建立任务清单;
所述执行模块33包括:
确定单元331,用于将所述任务清单推送至所述目标执行节点上,并在所述目标执行节点中,根据预设的配置执行条件对所述任务清单上的待执行任务进行校验,以检查所述任务清单中的待执行任务是否满足所述配置执行条件;
执行单元332,用于若所述任务清单通过校验,则通过所述目标执行节点执行所述任务清单上的待执行任务。
进一步的,所述系统还包括:
接收模块35,用于接收与每一所述待执行任务对应的待执行任务规则;
第三配置模块36,用于依据每一所述待执行任务所对应的待执行任务规则,确定所述目标执行节点对应的配置执行条件,其中,所述配置执行规则包括所述目标执行节点上的所有待执行任务分别对应的执行时间规则,所述执行时间规则包括预设执行时间、以及与所述预设执行时间对应的触发指令;
第二整理模块37,用于将所述配置执行规则推送至对应的所述目标执行节点中。
进一步的,所述系统还包括:
分配模块38,用于若所述任务清单通过校验,则对所述任务清单中的每个待执行任务分配对应的节点执行编号;
第一上报模块39,用于将所述任务编号和所述节点执行编号上报至日志中心;
进一步的,所述系统还包括:
第二上报模块40,用于将所述待执行任务的执行结果上报至所述日志中心。
进一步的,所述第二上报模块40包括:
第一执行结果上报单元401,用于若所述日志中心接收到的执行结果为执行成功,则将所述待执行任务所对应的所述任务编号和所述节点执行编号所对应状态标记为成功;
第二执行结果上报单元402,用于若所述日志中心接收到的执行结果为执行失败,则将所述待执行任务所对应的的所述任务编号和所述节点执行编号所对应状态标记为失败,并发送所述待执行任务的执行失败提示信息。
进一步的,所述系统还包括:
审计模块41,用于将所述待执行任务添加至待审核队列,并根据待执行任务规则对所述待执行任务进行审计;
推送模块42,用于若所述待执行任务符合所述待执行任务规则,则执行所述分配与所述待执行任务对应的任务编号。
进一步的,所述包括:
配置单元321,用于对所述待执行任务的任务编号和可执行节点的数量进行求余运算,获得所述待执行任务的求余结果;
指定单元322,用于选择所述可执行节点中与所述求余结果匹配的节点作为所述目标执行节点。
需要说明的是,本发明实施例提供的一种分布式待执行任务执行装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:接收待执行任务,并分配与所述待执行任务对应的任务编号;根据所述任务编号,确定与所述待执行任务对应的目标执行节点;将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务。
基于上述如图1所示方法和如图3所示装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图5所示,该计算机设备包括:处理器51、存储器52、及存储在存储器52上并可在处理器上运行的计算机程序,其中存储器52和处理器51均设置在总线53上所述处理器51执行所述程序时实现以下步骤:接收待执行任务,并分配与所述待执行任务对应的任务编号;根据所述任务编号,确定与所述待执行任务对应的目标执行节点;将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务。
通过本发明的技术方案,本发明能够接收待执行任务,并分配与所述待执行任务对应的任务编号;根据所述任务编号,确定与所述待执行任务对应的目标执行节点;将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务,由此待执行任务通过在目标执行节点上分布式执行,从而能够避免多个待执行任务抢占系统资源,提高了待执行任务的执行效率,同时也减轻了服务器的负载。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (10)
1.一种分布式待执行任务执行方法,其特征在于,包括:
接收待执行任务,并分配与所述待执行任务对应的任务编号;
根据所述任务编号,确定与所述待执行任务对应的目标执行节点;
将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务。
2.根据权利要求1所述的方法,其特征在于,所述在将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务之前,所述方法还包括:
在所述目标执行节点对应多个待执行任务的情况下,依据与所述目标执行节点对应的多个待执行任务,建立任务清单;
所述将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务,包括:
将所述任务清单推送至所述目标执行节点上,并在所述目标执行节点中,根据预设的配置执行条件对所述任务清单上的待执行任务进行校验,以检查所述任务清单中的待执行任务是否满足所述配置执行条件;
若所述任务清单通过校验,则通过所述目标执行节点执行所述任务清单上的待执行任务。
3.根据权利要求2所述的方法,其特征在于,所述根据预设的配置执行条件对所述任务清单上的待执行任务进行校验之前,所述方法还包括:
接收与每一所述待执行任务对应的待执行任务规则;
依据每一所述待执行任务所对应的待执行任务规则,确定所述目标执行节点对应的配置执行条件,其中,所述配置执行规则包括所述目标执行节点上的所有待执行任务分别对应的执行时间规则,所述执行时间规则包括预设执行时间、以及与所述预设执行时间对应的触发指令;
将所述配置执行规则推送至对应的所述目标执行节点中。
4.根据权利要求2所述的方法,其特征在于,所述若所述任务清单通过校验,则通过所述目标执行节点执行所述任务清单上的待执行任务,包括:
若所述任务清单通过校验,则对所述任务清单中的每个待执行任务分配对应的节点执行编号;
将所述任务编号和所述节点执行编号上报至日志中心;
所述将符合所述配置执行规则的待执行任务在所述目标执行节点上根据所述配置执行规则执行之后,所述方法还包括:
将所述待执行任务的执行结果上报至所述日志中心。
5.根据权利要求4所述的方法,其特征在于,所述将符合所述配置执行规则的待执行任务的执行结果上报至所述日志中心,包括:
若所述日志中心接收到的执行结果为执行成功,则将所述待执行任务所对应的所述任务编号和所述节点执行编号所对应状态标记为成功;
若所述日志中心接收到的执行结果为执行失败,则将所述待执行任务所对应的的所述任务编号和所述节点执行编号所对应状态标记为失败,并发送所述待执行任务的执行失败提示信息。
6.根据权利要求1所述的方法,其特征在于,所述分配与所述待执行任务对应的任务编号之前,所述方法还包括:
将所述待执行任务添加至待审核队列,并根据待执行任务规则对所述待执行任务进行审计;
若所述待执行任务符合所述待执行任务规则,则执行所述分配与所述待执行任务对应的任务编号。
7.根据权利要求1所述的方法,其特征在于,所述根据所述任务编号,确定与所述待执行任务对应的目标执行节点,包括:
对所述待执行任务的任务编号和可执行节点的数量进行求余运算,获得所述待执行任务的求余结果;
选择所述可执行节点中与所述求余结果匹配的节点作为所述目标执行节点。
8.一种分布式待执行任务执行系统,其特征在于,包括:
第一配置模块,用于接收待执行任务,并分配与所述待执行任务对应任务编号;
第二配置模块,用于根据所述任务编号,确定与所述待执行任务对应的目标执行节点;
执行模块,用于将所述待执行任务推送至所述目标执行节点上,并通过所述目标执行节点执行所述待执行任务。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111108091.7A CN114020420A (zh) | 2021-09-22 | 2021-09-22 | 一种分布式待执行任务执行方法及系统、存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111108091.7A CN114020420A (zh) | 2021-09-22 | 2021-09-22 | 一种分布式待执行任务执行方法及系统、存储介质、终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114020420A true CN114020420A (zh) | 2022-02-08 |
Family
ID=80054488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111108091.7A Pending CN114020420A (zh) | 2021-09-22 | 2021-09-22 | 一种分布式待执行任务执行方法及系统、存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020420A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860453A (zh) * | 2022-05-27 | 2022-08-05 | 中国第一汽车股份有限公司 | 场景引擎的任务执行方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291536A (zh) * | 2017-05-23 | 2017-10-24 | 南京邮电大学 | 一种云计算环境下应用任务流调度方法 |
CN111338793A (zh) * | 2020-02-14 | 2020-06-26 | 拉扎斯网络科技(上海)有限公司 | 集群任务分发方法、装置、设备及存储介质 |
WO2020238989A1 (zh) * | 2019-05-30 | 2020-12-03 | 华为技术有限公司 | 一种调度任务处理实体的方法及装置 |
CN112099958A (zh) * | 2020-11-17 | 2020-12-18 | 深圳壹账通智能科技有限公司 | 分布式多任务管理方法、装置、计算机设备及存储介质 |
CN112416545A (zh) * | 2020-11-04 | 2021-02-26 | 北京五八信息技术有限公司 | 一种任务处理方法及装置 |
-
2021
- 2021-09-22 CN CN202111108091.7A patent/CN114020420A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291536A (zh) * | 2017-05-23 | 2017-10-24 | 南京邮电大学 | 一种云计算环境下应用任务流调度方法 |
WO2020238989A1 (zh) * | 2019-05-30 | 2020-12-03 | 华为技术有限公司 | 一种调度任务处理实体的方法及装置 |
CN111338793A (zh) * | 2020-02-14 | 2020-06-26 | 拉扎斯网络科技(上海)有限公司 | 集群任务分发方法、装置、设备及存储介质 |
CN112416545A (zh) * | 2020-11-04 | 2021-02-26 | 北京五八信息技术有限公司 | 一种任务处理方法及装置 |
CN112099958A (zh) * | 2020-11-17 | 2020-12-18 | 深圳壹账通智能科技有限公司 | 分布式多任务管理方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
AHMAD QAWASMEH: ""OpenMP Task Scheduling Analysis via OpenMP Runtime API and Tool Visualization"", 《2014 IEEE INTERNATIONAL PARALLEL & DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS》, 4 December 2014 (2014-12-04), pages 1049 - 1058 * |
肖宏宇: ""雾计算节点间协同工作算法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 2020, 15 January 2020 (2020-01-15), pages 136 - 765 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860453A (zh) * | 2022-05-27 | 2022-08-05 | 中国第一汽车股份有限公司 | 场景引擎的任务执行方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837410B (zh) | 任务调度方法、装置、电子设备及计算机可读存储介质 | |
CN107423120B (zh) | 任务调度方法及装置 | |
CN108268372B (zh) | Mock测试处理方法、装置、存储介质和计算机设备 | |
WO2020181813A1 (zh) | 一种基于数据处理的任务调度方法及相关设备 | |
US20190347753A1 (en) | Data processing method, apparatus and device, and computer-readable storage medium | |
CN111818112A (zh) | 一种基于Kafka系统的发送消息的方法和装置 | |
CN111258737A (zh) | 一种资源调度的方法、装置和过滤式调度器 | |
CN110764872A (zh) | 一种基于云服务架构的自动报税方法、系统及相关设备 | |
CN110765167B (zh) | 保单数据的处理方法、装置及设备 | |
WO2022142666A1 (zh) | 数据处理方法、装置、终端设备及存储介质 | |
CN106991070B (zh) | 实时计算方法及装置 | |
CN112579692A (zh) | 一种数据同步方法、装置、系统、设备及存储介质 | |
CN105184463A (zh) | 专利产品会员管理系统 | |
CN114020420A (zh) | 一种分布式待执行任务执行方法及系统、存储介质、终端 | |
CN116483546B (zh) | 分布式训练任务调度方法、装置、设备及存储介质 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN111158960A (zh) | 一种基于内存的分布式异常数据处理方法和设备 | |
WO2013140412A1 (en) | A method and system for distributed computing of jobs | |
CN111796934B (zh) | 任务下发方法、装置、存储介质和电子设备 | |
CN112000657A (zh) | 数据管理方法、装置、服务器及存储介质 | |
CN112685157B (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
CN111221847B (zh) | 监控数据存储方法、装置及计算机可读存储介质 | |
CN113703930A (zh) | 任务调度方法、装置及系统、计算机可读存储介质 | |
CN113886043B (zh) | 一种综合部署公有云和私有云的仿真任务调度系统 | |
CN113204434B (zh) | 基于k8s的计划任务执行方法、装置及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |