微服务任务协调调度方法及系统技术方案

技术编号:25395849 阅读:27 留言:0更新日期:2020-08-25 23:01
本发明专利技术公开了一种微服务任务协调调度方法、介质、设备及系统,其中方法包括:获取微服务调用请求,并根据所述微服务调用请求计算相应的任务执行信息,以及根据所述任务执行信息生成任务队列;将所述任务执行信息持久化存储;依序判断所述任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据所述存活服务节点列表为该任务随机分配执行服务节点,以便所述执行服务节点根据所述任务执行信息执行任务;能够对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高系统的容灾能力。

【技术实现步骤摘要】
微服务任务协调调度方法及系统
本专利技术涉及数据处理
,特别涉及一种微服务任务协调调度方法、一种计算机可读存储介质、一种计算机设备以及一种微服务任务协调调度系统。
技术介绍
在基于微服务而开发的系统中,经常会遇到定时任务或者任务协调调度相关的业务。例如:按秒、分、时、天、周、月、年多重时间组合方式来自动触发其他业务微服务进行相关业务执行。相关技术中,在对微服务任务进行协调调度的过程中,多通过研发人员根据具体的调度任务进行微服务的调用,需要耗费大量的人力物力,同时,数据未进行持久化处理导致系统容灾能力较低。
技术实现思路
本专利技术旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种微服务任务协调调度方法,能够对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高系统的容灾能力。本专利技术的第二个目的在于提出一种计算机可读存储介质。本专利技术的第三个目的在于提出一种计算机设备。本专利技术的第四个目的在于提出一种微服务任务协调调度系统。为达到上述目的,本专利技术第一方面实施例提出了一种微服务任务协调调度方法,包括以下步骤:获取微服务调用请求,并根据所述微服务调用请求计算相应的任务执行信息,以及根据所述任务执行信息生成任务队列;将所述任务执行信息持久化存储;依序判断所述任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据所述存活服务节点列表为该任务随机分配执行服务节点,以便所述执行服务节点根据所述任务执行信息执行任务。根据本专利技术实施例的微服务任务协调调度方法,首先,获取微服务调用请求,并根据微服务调用请求计算相应的任务执行信息,以及根据任务执行信息生成任务队列;接着,将任务执行信息持久化存储;然后,依序判断任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据存活服务节点列表为该任务随机分配执行服务节点,以便执行服务节点根据任务执行信息执行任务;从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高系统的容灾能力。另外,根据本专利技术上述实施例提出的微服务任务协调调度方法还可以具有如下附加的技术特征:可选地,在根据所述存活服务节点列表为该任务随机分配执行服务节点之前,还包括:获取每个存活服务节点列表对应的心跳信息,并根据所述心跳信息计算每个存活服务节点对应的存活时间,以及将存活时间最久的存活服务节点选举为主节点,以便所述主节点根据所述存活服务节点列表为任务随机分配执行服务节点。可选地,所述任务执行信息包括:任务执行时间、任务调用方法和任务对应的api接口。可选地,在根据所述存活服务节点列表为该任务随机分配执行服务节点之后,还包括:根据所述任务执行时间判断该任务当前是否需要被执行,并在该任务需要被执行时,通过该任务对应的执行服务节点对该任务进行执行。可选地,还包括:判断所述任务是否已被执行成功;如果否,则将该任务列入异常列表;如果是,则判断该任务是否需要再次被执行,并在判断结果为是时对该任务的下一次执行时间进行监控。为达到上述目的,本专利技术第二方面实施例提出了一种计算机可读存储介质,其上存储有微服务任务协调调度程序,该微服务任务协调调度程序被处理器执行时实现如上述的微服务任务协调调度方法。根据本专利技术实施例的计算机可读存储介质,通过存储微服务任务协调调度程序,以使得处理器在执行该微服务任务协调调度程序时,实现如上述的微服务任务协调调度方法,从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高系统的容灾能力。为达到上述目的,本专利技术第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如上述的微服务任务协调调度方法。根据本专利技术实施例的计算机设备,通过存储器对微服务任务协调调度程序进行存储,以使得处理器在执行该微服务任务协调调度程序时,实现如上述的微服务任务协调调度方法,从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高系统的容灾能力。为达到上述目的,本专利技术第四方面实施例提出了一种微服务任务协调调度系统,包括:任务获取模块,所述任务获取模块用于获取微服务调用请求,并根据所述微服务调用请求计算相应的任务执行信息,以及根据所述任务执行信息生成任务队列;持久化模块,所述持久化模块用于将所述任务执行信息持久化存储;任务调度模块,所述任务调度模块用于依序判断所述任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据所述存活服务节点列表为该任务随机分配执行服务节点,以便所述执行服务节点根据所述任务执行信息执行任务。根据本专利技术实施例的微服务任务协调调度系统,通过设置任务获取模块用于获取微服务调用请求,并根据微服务调用请求计算相应的任务执行信息,以及根据任务执行信息生成任务队列;持久化模块用于将任务执行信息持久化存储;任务调度模块用于依序判断任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据存活服务节点列表为该任务随机分配执行服务节点,以便执行服务节点根据任务执行信息执行任务;从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高系统的容灾能力。另外,根据本专利技术上述实施例提出的微服务任务协调调度系统还可以具有如下附加的技术特征:可选地,在根据所述存活服务节点列表为该任务随机分配执行服务节点之前,还包括:获取每个存活服务节点列表对应的心跳信息,并根据所述心跳信息计算每个存活服务节点对应的存活时间,以及将存活时间最久的存活服务节点选举为主节点,以便所述主节点根据所述存活服务节点列表为任务随机分配执行服务节点。可选地,所述任务执行信息包括:任务执行时间、任务调用方法和任务对应的api接口。附图说明图1为根据本专利技术实施例的微服务任务协调调度方法的流程示意图;图2为根据本专利技术另一实施例的微服务任务协调调度方法的流程示意图;图3为根据本专利技术实施例的微服务任务协调调度系统的方框示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。相关技术中,在对微服务任务进行协调调度的过程中,多通过研发人员根据具体的调度任务进行微服务的调用,需要耗费大量的人力物力,同时,数据未进行持久化处理导致系统容灾能力较低。根据本专利技术实施例的微服务任务协调调度方法,首先,获取微服务调用请求,并根据微服务调用请求计算相应的任务执行信息,以及根据任务执行信息生成任务队列;接着,将任务执行信息持久化存储本文档来自技高网...

【技术保护点】
1.一种微服务任务协调调度方法,其特征在于,包括以下步骤:/n获取微服务调用请求,并根据所述微服务调用请求计算相应的任务执行信息,以及根据所述任务执行信息生成任务队列;/n将所述任务执行信息持久化存储;/n依序判断所述任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据所述存活服务节点列表为该任务随机分配执行服务节点,以便所述执行服务节点根据所述任务执行信息执行任务。/n

【技术特征摘要】
1.一种微服务任务协调调度方法,其特征在于,包括以下步骤:
获取微服务调用请求,并根据所述微服务调用请求计算相应的任务执行信息,以及根据所述任务执行信息生成任务队列;
将所述任务执行信息持久化存储;
依序判断所述任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据所述存活服务节点列表为该任务随机分配执行服务节点,以便所述执行服务节点根据所述任务执行信息执行任务。


2.如权利要求1所述的微服务任务协调调度方法,其特征在于,在根据所述存活服务节点列表为该任务随机分配执行服务节点之前,还包括:
获取每个存活服务节点列表对应的心跳信息,并根据所述心跳信息计算每个存活服务节点对应的存活时间,以及将存活时间最久的存活服务节点选举为主节点,以便所述主节点根据所述存活服务节点列表为任务随机分配执行服务节点。


3.如权利要求1所述的微服务任务协调调度方法,其特征在于,所述任务执行信息包括:任务执行时间、任务调用方法和任务对应的api接口。


4.如权利要求3所述的微服务任务协调调度方法,其特征在于,在根据所述存活服务节点列表为该任务随机分配执行服务节点之后,还包括:
根据所述任务执行时间判断该任务当前是否需要被执行,并在该任务需要被执行时,通过该任务对应的执行服务节点对该任务进行执行。


5.如权利要求1所述的微服务任务协调调度方法,其特征在于,还包括:
判断所述任务是否已被执行成功;
如果否,则将该任务列入异常列表;
如果是,则判断该任务是否需要再次被执行,并在判断结果为是时对该任务的下一次执...

【专利技术属性】
技术研发人员:胡豪杰许哲榕梁豪郑保顺
申请(专利权)人:智业互联厦门健康科技有限公司
类型:发明
国别省市:福建;35

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

1