CN111580945A - 微服务任务协调调度方法及*** - Google Patents
微服务任务协调调度方法及*** Download PDFInfo
- Publication number
- CN111580945A CN111580945A CN202010316642.8A CN202010316642A CN111580945A CN 111580945 A CN111580945 A CN 111580945A CN 202010316642 A CN202010316642 A CN 202010316642A CN 111580945 A CN111580945 A CN 111580945A
- Authority
- CN
- China
- Prior art keywords
- task
- service
- micro
- survival
- execution
- 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 59
- 230000004083 survival effect Effects 0.000 claims abstract description 67
- 238000004590 computer program Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 230000002688 persistence Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004075 alteration Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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/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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种微服务任务协调调度方法、介质、设备及***,其中方法包括:获取微服务调用请求,并根据所述微服务调用请求计算相应的任务执行信息,以及根据所述任务执行信息生成任务队列;将所述任务执行信息持久化存储;依序判断所述任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据所述存活服务节点列表为该任务随机分配执行服务节点,以便所述执行服务节点根据所述任务执行信息执行任务;能够对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高***的容灾能力。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种微服务任务协调调度方法、一种计算机可读存储介质、一种计算机设备以及一种微服务任务协调调度***。
背景技术
在基于微服务而开发的***中,经常会遇到定时任务或者任务协调调度相关的业务。例如:按秒、分、时、天、周、月、年多重时间组合方式来自动触发其他业务微服务进行相关业务执行。
相关技术中,在对微服务任务进行协调调度的过程中,多通过研发人员根据具体的调度任务进行微服务的调用,需要耗费大量的人力物力,同时,数据未进行持久化处理导致***容灾能力较低。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种微服务任务协调调度方法,能够对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高***的容灾能力。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种微服务任务协调调度***。
为达到上述目的,本发明第一方面实施例提出了一种微服务任务协调调度方法,包括以下步骤:获取微服务调用请求,并根据所述微服务调用请求计算相应的任务执行信息,以及根据所述任务执行信息生成任务队列;将所述任务执行信息持久化存储;依序判断所述任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据所述存活服务节点列表为该任务随机分配执行服务节点,以便所述执行服务节点根据所述任务执行信息执行任务。
根据本发明实施例的微服务任务协调调度方法,首先,获取微服务调用请求,并根据微服务调用请求计算相应的任务执行信息,以及根据任务执行信息生成任务队列;接着,将任务执行信息持久化存储;然后,依序判断任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据存活服务节点列表为该任务随机分配执行服务节点,以便执行服务节点根据任务执行信息执行任务;从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高***的容灾能力。
另外,根据本发明上述实施例提出的微服务任务协调调度方法还可以具有如下附加的技术特征:
可选地,在根据所述存活服务节点列表为该任务随机分配执行服务节点之前,还包括:获取每个存活服务节点列表对应的心跳信息,并根据所述心跳信息计算每个存活服务节点对应的存活时间,以及将存活时间最久的存活服务节点选举为主节点,以便所述主节点根据所述存活服务节点列表为任务随机分配执行服务节点。
可选地,所述任务执行信息包括:任务执行时间、任务调用方法和任务对应的api接口。
可选地,在根据所述存活服务节点列表为该任务随机分配执行服务节点之后,还包括:根据所述任务执行时间判断该任务当前是否需要被执行,并在该任务需要被执行时,通过该任务对应的执行服务节点对该任务进行执行。
可选地,还包括:判断所述任务是否已被执行成功;如果否,则将该任务列入异常列表;如果是,则判断该任务是否需要再次被执行,并在判断结果为是时对该任务的下一次执行时间进行监控。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有微服务任务协调调度程序,该微服务任务协调调度程序被处理器执行时实现如上述的微服务任务协调调度方法。
根据本发明实施例的计算机可读存储介质,通过存储微服务任务协调调度程序,以使得处理器在执行该微服务任务协调调度程序时,实现如上述的微服务任务协调调度方法,从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高***的容灾能力。
为达到上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如上述的微服务任务协调调度方法。
根据本发明实施例的计算机设备,通过存储器对微服务任务协调调度程序进行存储,以使得处理器在执行该微服务任务协调调度程序时,实现如上述的微服务任务协调调度方法,从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高***的容灾能力。
为达到上述目的,本发明第四方面实施例提出了一种微服务任务协调调度***,包括:任务获取模块,所述任务获取模块用于获取微服务调用请求,并根据所述微服务调用请求计算相应的任务执行信息,以及根据所述任务执行信息生成任务队列;持久化模块,所述持久化模块用于将所述任务执行信息持久化存储;任务调度模块,所述任务调度模块用于依序判断所述任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据所述存活服务节点列表为该任务随机分配执行服务节点,以便所述执行服务节点根据所述任务执行信息执行任务。
根据本发明实施例的微服务任务协调调度***,通过设置任务获取模块用于获取微服务调用请求,并根据微服务调用请求计算相应的任务执行信息,以及根据任务执行信息生成任务队列;持久化模块用于将任务执行信息持久化存储;任务调度模块用于依序判断任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据存活服务节点列表为该任务随机分配执行服务节点,以便执行服务节点根据任务执行信息执行任务;从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高***的容灾能力。
另外,根据本发明上述实施例提出的微服务任务协调调度***还可以具有如下附加的技术特征:
可选地,在根据所述存活服务节点列表为该任务随机分配执行服务节点之前,还包括:获取每个存活服务节点列表对应的心跳信息,并根据所述心跳信息计算每个存活服务节点对应的存活时间,以及将存活时间最久的存活服务节点选举为主节点,以便所述主节点根据所述存活服务节点列表为任务随机分配执行服务节点。
可选地,所述任务执行信息包括:任务执行时间、任务调用方法和任务对应的api接口。
附图说明
图1为根据本发明实施例的微服务任务协调调度方法的流程示意图;
图2为根据本发明另一实施例的微服务任务协调调度方法的流程示意图;
图3为根据本发明实施例的微服务任务协调调度***的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
相关技术中,在对微服务任务进行协调调度的过程中,多通过研发人员根据具体的调度任务进行微服务的调用,需要耗费大量的人力物力,同时,数据未进行持久化处理导致***容灾能力较低。根据本发明实施例的微服务任务协调调度方法,首先,获取微服务调用请求,并根据微服务调用请求计算相应的任务执行信息,以及根据任务执行信息生成任务队列;接着,将任务执行信息持久化存储;然后,依序判断任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据存活服务节点列表为该任务随机分配执行服务节点,以便执行服务节点根据任务执行信息执行任务;从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高***的容灾能力。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为根据本发明实施例的微服务任务协调调度方法的流程示意图,如图1所示,该微服务任务协调调度方法包括以下步骤:
S101,获取微服务调用请求,并根据微服务调用请求计算相应的任务执行信息,以及根据任务执行信息生成任务队列。
即言,获取微服务的调用请求,该调用请求中包含微服务执行所需的参数信息,然后,根据微服务的调用请求进行相应任务执行信息的计算,并根据计算得到的任务执行信息生成执行微服务的任务队列。
其中,任务执行信息所包含的参数可以有多种。
作为一种示例,任务执行信息包括:任务执行时间、任务调用方法和任务对应的api接口。
作为另一种示例,任务执行信息中包括:微服务对应的调用方法、调用目标地址、调用目标类型信息、调用入参形式、任务执行时间、任务执行类型、任务对应的唯一可识别标识和任务执行表达式等。
需要说明的是,在获取到微服务调用请求之后,可以根据调用请求中任务对应的唯一可识别标识对该调用请求进行唯一性验证,并在验证通过后进行后续的操作,以验证调用请求的有效性。
S102,将任务执行信息持久化存储。
也就是说,将任务执行信息以结构化数据文件的形式、数据库的形式存储起来(例如,在写入到***分配中心的同时,一并写入到mysql数据库中),以提高***的容灾能力。
S103,依序判断任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据存活服务节点列表为该任务随机分配执行服务节点,以便执行服务节点根据任务执行信息执行任务。
也就是说,根据任务队列中任务的排序,依序判断每个任务是否正在被执行;如果当前任务正在被执行,则跳过该任务进行下一任务的判断;如果当前任务未被执行,则获取存活服务节点列表,并根据存活服务节点列表为该任务随机分配一个执行服务节点,从而,该执行服务节点可以根据任务执行信息进行任务的执行;进而,为每个任务进行执行服务节点的选定,可以防止同一任务在不同服务节点上被重复执行;节约计算资源。
在一些实施例中,在根据存活服务节点列表为该任务随机分配执行服务节点之前,还包括:
获取每个存活服务节点列表对应的心跳信息,并根据心跳信息计算每个存活服务节点对应的存活时间,以及将存活时间最久的存活服务节点选举为主节点,以便主节点根据存活服务节点列表为任务随机分配执行服务节点。
即言,根据存活时间进行主节点的选定,以通过该主节点对任务进行分配、
在一些实施例中,在根据存活服务节点列表为该任务随机分配执行服务节点之后,还包括:
根据任务执行时间判断该任务当前是否需要被执行,并在该任务需要被执行时,通过该任务对应的执行服务节点对该任务进行执行。
也就是说,主节点在进行任务任务分配的过程中,对任务队列进行持续的监控,以根据当前时间和任务队列中每个任务对应的任务执行时间判断当前该任务是否应当被执行;如果是,则令之前任务随机分配到的执行服务节点对该任务进行执行,从而,可以对任务进行有效地监控,以完成对任务进行按时执行的过程。
在一些实施例中,还包括:
判断任务是否已被执行成功;
如果否,则将该任务列入异常列表;
如果是,则判断该任务是否需要再次被执行,并在判断结果为是时对该任务的下一次执行时间进行监控。
即言,在任务被执行完成之后,相应的执行服务节点返回该次的执行结果;进而,***根据该执行结果判断对应的任务是否已被执行成功;如果该任务执行失败,则将该任务列入异常列表,并记录对应的失败和异常信息,以便相关人员后续对失败原因进行查询;如果该任务执行成功,则进一步判断该任务是否需要被再次执行;如果该任务还需要被再次执行,则对下一次的执行时间进行监控,以对任务的执行进行全方面的监控,防止出现严重的***故障。
在本发明的一个具体实施例中,本发明实施例提出的微服务任务协调调度方法包括以下步骤:
S201,获取微服务调用请求。
S202,根据微服务调用请求计算相应的任务执行信息。
S203,根据任务执行信息生成任务队列。
S204,将任务执行信息持久化存储。
S205,获取每个存活服务节点列表对应的心跳信息,并根据心跳信息计算每个存活服务节点对应的存活时间,以及将存活时间最久的存活服务节点选举为主节点。
S206,判断任务是否正在被执行分配;如果是,则执行步骤S207;如果否,则执行步骤S208。
S207,跳过该任务,并返回步骤S205.
S208,根据存活服务节点列表为该任务随机分配执行服务节点。
S209,判断任务当前是否已到任务执行时间;如果是,则执行步骤S210。
S210,通过该任务对应的执行服务节点对该任务进行执行。
S211,判断任务是否已被执行成功;如果否,则执行步骤S212;如果是,则执行步骤S213。
S212,将该任务列入异常列表。
S213,判断该任务是否需要再次被执行;如果是,则返回步骤S209;如果否,则执行步骤S214。
S214,清除该任务。
综上所述,根据本发明实施例的微服务任务协调调度方法,首先,获取微服务调用请求,并根据微服务调用请求计算相应的任务执行信息,以及根据任务执行信息生成任务队列;接着,将任务执行信息持久化存储;然后,依序判断任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据存活服务节点列表为该任务随机分配执行服务节点,以便执行服务节点根据任务执行信息执行任务;从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高***的容灾能力。
为了实现上述实施例,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有微服务任务协调调度程序,该微服务任务协调调度程序被处理器执行时实现如上述的微服务任务协调调度方法。
根据本发明实施例的计算机可读存储介质,通过存储微服务任务协调调度程序,以使得处理器在执行该微服务任务协调调度程序时,实现如上述的微服务任务协调调度方法,从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高***的容灾能力。
为了实现上述实施例,本发明第三方面实施例提出了一种微服务任务协调调度***;如图3所示,该微服务任务协调调度***包括:任务获取模块10、持久化模块20和任务调度模块30。
其中,任务获取模块10用于获取微服务调用请求,并根据微服务调用请求计算相应的任务执行信息,以及根据任务执行信息生成任务队列;
持久化模块20用于将任务执行信息持久化存储;
任务调度模块30用于依序判断任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据存活服务节点列表为该任务随机分配执行服务节点,以便执行服务节点根据任务执行信息执行任务。
在一些实施例中,在根据存活服务节点列表为该任务随机分配执行服务节点之前,还包括:
获取每个存活服务节点列表对应的心跳信息,并根据心跳信息计算每个存活服务节点对应的存活时间,以及将存活时间最久的存活服务节点选举为主节点,以便主节点根据存活服务节点列表为任务随机分配执行服务节点。
在一些实施例中,任务执行信息包括:任务执行时间、任务调用方法和任务对应的api接口。
需要说明的是,上述关于图1中微服务任务协调调度方法的描述同样适用于该微服务任务协调调度***,在此不做赘述。
综上所述,根据本发明实施例的微服务任务协调调度***,通过设置任务获取模块用于获取微服务调用请求,并根据微服务调用请求计算相应的任务执行信息,以及根据任务执行信息生成任务队列;持久化模块用于将任务执行信息持久化存储;任务调度模块用于依序判断任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据存活服务节点列表为该任务随机分配执行服务节点,以便执行服务节点根据任务执行信息执行任务;从而实现对微服务进行有效调度,提高调度效率,避免调度出错导致同一任务多次执行等错误的发生;同时,提高***的容灾能力。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种微服务任务协调调度方法,其特征在于,包括以下步骤:
获取微服务调用请求,并根据所述微服务调用请求计算相应的任务执行信息,以及根据所述任务执行信息生成任务队列;
将所述任务执行信息持久化存储;
依序判断所述任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据所述存活服务节点列表为该任务随机分配执行服务节点,以便所述执行服务节点根据所述任务执行信息执行任务。
2.如权利要求1所述的微服务任务协调调度方法,其特征在于,在根据所述存活服务节点列表为该任务随机分配执行服务节点之前,还包括:
获取每个存活服务节点列表对应的心跳信息,并根据所述心跳信息计算每个存活服务节点对应的存活时间,以及将存活时间最久的存活服务节点选举为主节点,以便所述主节点根据所述存活服务节点列表为任务随机分配执行服务节点。
3.如权利要求1所述的微服务任务协调调度方法,其特征在于,所述任务执行信息包括:任务执行时间、任务调用方法和任务对应的api接口。
4.如权利要求3所述的微服务任务协调调度方法,其特征在于,在根据所述存活服务节点列表为该任务随机分配执行服务节点之后,还包括:
根据所述任务执行时间判断该任务当前是否需要被执行,并在该任务需要被执行时,通过该任务对应的执行服务节点对该任务进行执行。
5.如权利要求1所述的微服务任务协调调度方法,其特征在于,还包括:
判断所述任务是否已被执行成功;
如果否,则将该任务列入异常列表;
如果是,则判断该任务是否需要再次被执行,并在判断结果为是时对该任务的下一次执行时间进行监控。
6.一种计算机可读存储介质,其特征在于,其上存储有微服务任务协调调度程序,该微服务任务协调调度程序被处理器执行时实现如权利要求1-5中任一项所述的微服务任务协调调度方法。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如权利要求1-5中任一项所述的微服务任务协调调度方法。
8.一种微服务任务协调调度***,其特征在于,包括:
任务获取模块,所述任务获取模块用于获取微服务调用请求,并根据所述微服务调用请求计算相应的任务执行信息,以及根据所述任务执行信息生成任务队列;
持久化模块,所述持久化模块用于将所述任务执行信息持久化存储;
任务调度模块,所述任务调度模块用于依序判断所述任务队列中的任务是否正在被执行,并在该任务未被执行时获取存活服务节点列表,以及根据所述存活服务节点列表为该任务随机分配执行服务节点,以便所述执行服务节点根据所述任务执行信息执行任务。
9.如权利要求8所述的微服务任务协调调度***,其特征在于,在根据所述存活服务节点列表为该任务随机分配执行服务节点之前,还包括:
获取每个存活服务节点列表对应的心跳信息,并根据所述心跳信息计算每个存活服务节点对应的存活时间,以及将存活时间最久的存活服务节点选举为主节点,以便所述主节点根据所述存活服务节点列表为任务随机分配执行服务节点。
10.如权利要求8所述的微服务任务协调调度***,其特征在于,所述任务执行信息包括:任务执行时间、任务调用方法和任务对应的api接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010316642.8A CN111580945A (zh) | 2020-04-21 | 2020-04-21 | 微服务任务协调调度方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010316642.8A CN111580945A (zh) | 2020-04-21 | 2020-04-21 | 微服务任务协调调度方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111580945A true CN111580945A (zh) | 2020-08-25 |
Family
ID=72115012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010316642.8A Pending CN111580945A (zh) | 2020-04-21 | 2020-04-21 | 微服务任务协调调度方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111580945A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685157A (zh) * | 2020-12-29 | 2021-04-20 | 平安普惠企业管理有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
CN112799799A (zh) * | 2020-12-29 | 2021-05-14 | 杭州涂鸦信息技术有限公司 | 数据消费方法及装置 |
CN112817717A (zh) * | 2021-01-28 | 2021-05-18 | 新华三大数据技术有限公司 | 一种定时任务的调度方法及装置 |
CN113064704A (zh) * | 2021-03-18 | 2021-07-02 | 北京沃东天骏信息技术有限公司 | 任务处理方法、装置、电子设备和计算机可读介质 |
CN113516301A (zh) * | 2021-06-22 | 2021-10-19 | 中国联合网络通信集团有限公司 | 面向自动驾驶的任务调度方法、终端设备及存储介质 |
CN114518948A (zh) * | 2022-02-21 | 2022-05-20 | 南京航空航天大学 | 面向大规模微服务应用的动态感知重调度的方法及应用 |
CN114548897A (zh) * | 2022-01-10 | 2022-05-27 | 北京思特奇信息技术股份有限公司 | 一种微服务组合订单引擎***及其微服务调用方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN102521044A (zh) * | 2011-12-30 | 2012-06-27 | 北京拓明科技有限公司 | 一种基于消息中间件的分布式任务调度方法及*** |
WO2016061935A1 (zh) * | 2014-10-20 | 2016-04-28 | 中兴通讯股份有限公司 | 一种资源调度方法、装置及计算机存储介质 |
CN105912401A (zh) * | 2016-04-08 | 2016-08-31 | 中国银行股份有限公司 | 一种分布式数据批处理***和方法 |
CN106533805A (zh) * | 2016-12-23 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种微服务请求处理方法、微服务控制器及微服务架构 |
CN106909467A (zh) * | 2017-02-28 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种基于微服务架构的分布式事务处理方法 |
CN107943567A (zh) * | 2017-10-20 | 2018-04-20 | 北京知道未来信息技术有限公司 | 一种基于amqp协议的高可靠性任务调度方法和*** |
CN108600012A (zh) * | 2018-04-26 | 2018-09-28 | 深圳光华普惠科技有限公司 | 微服务架构监控*** |
CN110413543A (zh) * | 2019-06-17 | 2019-11-05 | 中国科学院信息工程研究所 | 一种基于熔断和二级缓存的api网关保障服务高可用方法及*** |
-
2020
- 2020-04-21 CN CN202010316642.8A patent/CN111580945A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN102521044A (zh) * | 2011-12-30 | 2012-06-27 | 北京拓明科技有限公司 | 一种基于消息中间件的分布式任务调度方法及*** |
WO2016061935A1 (zh) * | 2014-10-20 | 2016-04-28 | 中兴通讯股份有限公司 | 一种资源调度方法、装置及计算机存储介质 |
CN105912401A (zh) * | 2016-04-08 | 2016-08-31 | 中国银行股份有限公司 | 一种分布式数据批处理***和方法 |
CN106533805A (zh) * | 2016-12-23 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种微服务请求处理方法、微服务控制器及微服务架构 |
CN106909467A (zh) * | 2017-02-28 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种基于微服务架构的分布式事务处理方法 |
CN107943567A (zh) * | 2017-10-20 | 2018-04-20 | 北京知道未来信息技术有限公司 | 一种基于amqp协议的高可靠性任务调度方法和*** |
CN108600012A (zh) * | 2018-04-26 | 2018-09-28 | 深圳光华普惠科技有限公司 | 微服务架构监控*** |
CN110413543A (zh) * | 2019-06-17 | 2019-11-05 | 中国科学院信息工程研究所 | 一种基于熔断和二级缓存的api网关保障服务高可用方法及*** |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685157A (zh) * | 2020-12-29 | 2021-04-20 | 平安普惠企业管理有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
CN112799799A (zh) * | 2020-12-29 | 2021-05-14 | 杭州涂鸦信息技术有限公司 | 数据消费方法及装置 |
CN112685157B (zh) * | 2020-12-29 | 2024-04-02 | 武汉安辰鑫信息科技有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
CN112817717A (zh) * | 2021-01-28 | 2021-05-18 | 新华三大数据技术有限公司 | 一种定时任务的调度方法及装置 |
CN112817717B (zh) * | 2021-01-28 | 2024-02-09 | 新华三大数据技术有限公司 | 一种定时任务的调度方法及装置 |
CN113064704A (zh) * | 2021-03-18 | 2021-07-02 | 北京沃东天骏信息技术有限公司 | 任务处理方法、装置、电子设备和计算机可读介质 |
CN113516301A (zh) * | 2021-06-22 | 2021-10-19 | 中国联合网络通信集团有限公司 | 面向自动驾驶的任务调度方法、终端设备及存储介质 |
CN113516301B (zh) * | 2021-06-22 | 2023-06-27 | 中国联合网络通信集团有限公司 | 面向自动驾驶的任务调度方法、终端设备及存储介质 |
CN114548897A (zh) * | 2022-01-10 | 2022-05-27 | 北京思特奇信息技术股份有限公司 | 一种微服务组合订单引擎***及其微服务调用方法 |
CN114518948A (zh) * | 2022-02-21 | 2022-05-20 | 南京航空航天大学 | 面向大规模微服务应用的动态感知重调度的方法及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111580945A (zh) | 微服务任务协调调度方法及*** | |
CN105912399B (zh) | 一种任务处理方法、装置及*** | |
US8392926B2 (en) | Scheduling heterogeneous partitioned resources with sharing constraints | |
CN107291546A (zh) | 一种资源调度方法及装置 | |
CN108369675B (zh) | 用于案例分配的技术 | |
CN112463375B (zh) | 一种数据处理的方法和装置 | |
US20140068613A1 (en) | Non-transitory computer-readable storage medium, information processing apparatus and scheduling method | |
CN108491254A (zh) | 一种数据仓库的调度方法及装置 | |
CN110648047A (zh) | 任务调度方法、装置、***和存储介质 | |
CN111381972A (zh) | 分布式任务调度方法、装置和*** | |
JP2017530453A (ja) | ワークフロー実行におけるシステムリソースの平等シェアリング | |
CN109032769B (zh) | 一种基于容器的持续集成ci任务处理方法及装置 | |
JP2017510886A (ja) | 定期注文の処理方法及びシステム | |
CN111459631A (zh) | 服务器自动化批处理方法及*** | |
CN111552558A (zh) | 异构云资源的调度方法及装置 | |
CN115951983A (zh) | 任务调度方法、装置、***和电子设备 | |
CN114780240A (zh) | 一种基于gpu分时复用的工作流调度方法、设备及存储介质 | |
CN110413393B (zh) | 集群资源管理方法、装置、计算机集群及可读存储介质 | |
CN113268331A (zh) | 机器人调用方法、机器人调用装置、管理***和存储介质 | |
CN116151582A (zh) | 一种基于资源标识的版本自动排期方法、装置及存储介质 | |
CN111475277A (zh) | 一种资源分配方法、***、设备及机器可读存储介质 | |
CN110968420A (zh) | 一种多爬虫平台的调度方法、装置、存储介质及处理器 | |
CN115454603A (zh) | 任务调度方法、装置、服务器及存储介质 | |
CN111796934B (zh) | 任务下发方法、装置、存储介质和电子设备 | |
CN117635044B (zh) | 一种高效的游戏研发项目管理方法、***及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200825 |
|
RJ01 | Rejection of invention patent application after publication |