CN113342511A - 一种分布式任务管理系统及方法 - Google Patents

一种分布式任务管理系统及方法 Download PDF

Info

Publication number
CN113342511A
CN113342511A CN202110899391.5A CN202110899391A CN113342511A CN 113342511 A CN113342511 A CN 113342511A CN 202110899391 A CN202110899391 A CN 202110899391A CN 113342511 A CN113342511 A CN 113342511A
Authority
CN
China
Prior art keywords
task
tasks
executed
module
distributed
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
Application number
CN202110899391.5A
Other languages
English (en)
Inventor
王中原
陈靓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Peng Yun Network Technology Co ltd
Original Assignee
Nanjing Peng Yun Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Peng Yun Network Technology Co ltd filed Critical Nanjing Peng Yun Network Technology Co ltd
Priority to CN202110899391.5A priority Critical patent/CN113342511A/zh
Publication of CN113342511A publication Critical patent/CN113342511A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种分布式任务管理系统,包括:任务记录模块,用于记录任务的状态,延迟删除任务管理模块,用于延迟设定时间删除任务,任务执行模块,用于执行任务,任务管理模块,用于对任务进行资源分配并管理任务的执行,其中,任务管理模块先对待添加的任务进行管理,将符合条件的待添加任务添加进待执行列表,任务执行模块对在待执行列表中任务进行执行,任务记录模块接收任务管理模块或任务执行模块的指令来记录任务的执行情况,延迟删除任务管理模块对执行完毕的任务延迟设定时间后删除。本发明对执行过程中的任务状态进行记录,以便宕机情况下再次重启时任务能够继续执行,同时,还能够对执行完毕的任务延迟设定时间后再进行删除。

Description

一种分布式任务管理系统及方法
技术领域
本发明属于分布式存储技术领域,更具体地说,涉及一种分布式任务管理系统及方法。
背景技术
随着大数据时代的到来,分布式存储技术得到越来越广泛的应用,分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,在系统的可靠性、可用性和存取效率方面的表现相当出色,而且还易于扩展。
在分布式存储系统中,如何分布式地接收业务请求并转化为任务,利用现有资源(包括但不限于各种计算、存储资源等)协同处理不同任务,处理完成后响应(包括正常、异常响应)用户,记录相应的任务日志,以及在部分或全部分布式服务重启后重新加载任务并处理,是分布式任务处理需要解决的核心问题。
如申请公布日为2020年5月22日,申请公布号为CN111190753A,专利名称为分布式任务处理方法、装置、存储介质和计算机设备的中国专利公开了一种技术方案,该方法包括:获取分布式任务,分布式任务包括多个首次执行的子任务,当检测到当前子任务为首次执行的子任务,且当前子任务对应的任务进程的运行时长大于预设的运行时长时,将当前子任务标记为运行超时任务,并中断当前子任务的任务进程;统计运行超时任务的总数量,当运行超时任务的总数量小于预设阈值时,将中断任务进程的当前子任务的任务状态标记为已完成状态;获取分布式任务的各个子任务对应的任务状态,当各个子任务的任务状态为已完成状态时,将分布式任务的状态标记为运行结束状态。
申请公布日为2019年11月1日,申请公布号为CN110399207A,专利名称为分布式存储系统中定时任务处理方法、系统及存储介质的中国专利公开了一种技术方案,包括S1定时任务持久化:接收来自WEB客户端/CLI或者后台配置的定时任务策略,将相应的配置参数解析持久化到本地数据库中;S2定时任务交互处理和执行:在集群主节点中维护独立的消息进程,负责客户端和节点之间的定时任务交互处理和任务执行,读取定时任务配置数据,根据数据格式解析封装成对应的任务详情及执行具体任务,并同步更新任务状态;S3任务增量同步:同步持久化任务策略数据库至集群其他节点,保持节点间的定时任务一致,当主节点挂掉或者出现异常时,其他备选从节点将自动比对持久化任务数据库,同步对应的定时任务策略,拉起相应失败的定时任务。
不同于上述技术方案,本发明提供了另一种不同的分布式任务管理系统及方法。
发明内容
1. 要解决的问题
针对现有技术中分布式服务如何利用现有资源更好地进行任务的处理以及发生宕机等情况时再次重启任务不中断等问题,本发明提供一种分布式任务管理系统及方法。
2. 技术方案
为了解决上述问题,本发明所采用的技术方案如下:一种分布式任务管理系统,包括:
任务记录模块,用于记录任务的状态,延迟删除任务管理模块,用于延迟设定时间删除任务,任务执行模块,用于执行任务,任务管理模块,用于对任务进行资源分配并管理任务的执行,其中,任务管理模块先对待添加的任务进行管理,将符合条件的待添加任务添加进待执行列表,任务执行模块对在待执行列表中任务进行执行,任务记录模块接收任务管理模块或任务执行模块的指令来记录任务的执行情况,延迟删除任务管理模块对执行完毕的任务延迟设定时间后删除。本技术方案对符合条件的任务进行执行,同时对执行过程中的任务状态进行记录,以便宕机情况下再次重启时任务能够继续执行,同时,延迟删除任务管理模块对执行完毕的任务延迟设定时间后再进行删除,使分布式服务系统能够更好地工作。
进一步地,所述任务管理模块判断待添加任务与现有任务是否互斥,如果是,则对该待添加任务不予执行。对待添加任务与待执行任务进行互斥判断,可以避免因为任务之间的冲突导致系统无法正常工作。
进一步地,所述任务管理模块对经过互斥判断的待添加任务进行负载上限判断,若该待添加任务超过系统负载上限,则不予执行。经过互斥判断之后,对该待添加任务进行负载上限判断,若该待添加任务超过系统负载上限,则对该任务不予执行,以免系统因为过载而无法正常提供服务。
进一步地,所述任务管理模块对不需要执行的任务进行取消。本技术方案能够提供取消任务的功能,在用户发现任务已无执行的必要时,可主动对任务进行取消。
进一步地,所述任务执行模块分为同步任务执行模块和异步任务执行模块,其中,所述同步任务执行模块执行同步任务,所述异步执行模块执行异步任务。
本发明同时提供一种分布式任务管理方法,用于上述的分布式任务管理系统,其特征在于:包括以下步骤:
S1、任务管理模块对用户发起的待添加的任务请求进行管理,将符合条件的待添加任务添加进待执行列表,
S2、任务执行模块对步骤S1中的任务进行执行,
S3、任务记录模块接收任务管理模块和/或任务执行模块的指令记录任务的状态。
进一步地,所述步骤S1为:任务管理模块判断待添加任务与现有任务是否互斥,对与现有任务互斥的任务不予执行,对与现有任务非互斥的任务进行负载上限判断,对于超过负载上限的待添加任务不予执行。
进一步地,当任务执行完毕后,延迟删除任务管理模块将执行完毕的任务延迟设定时间从当前任务集合里删除。
进一步地,对不需要执行的任务由所述任务管理模块进行取消。
进一步地,所述任务分为同步任务和异步任务,同步任务由同步任务模块执行,异步任务由异步任务模块执行。
3. 有益效果
相比于现有技术,本发明的有益效果为:
(1)本发明能够对分布式任务进行管理,对待添加的任务进行互斥判断,与待执行的任务互斥的待添加任务将不予执行,而与待执行任务不是互斥的待添加任务将按顺序执行,从而确保各个分布式任务的有序进行;
(2)本发明能够在任务执行过程中取消或停止而不会对系统造成不良影响,如导致系统宕机等等;
(3)本发明在任务成功执行完毕后,可以延迟设定时间从当前任务集合中删除。
附图说明
图1为本发明的流程框图;
图2为本发明中的任务记录模块工作示意框图;
图3为本发明中的任务管理模块工作示意框图;
图4为本发明中的任务日志中心工作示意框图;
图5为本发明中的任务记录中心工作示意框图。
具体实施方式
下面结合具体实施例对本发明进一步进行描述。
首先对本发明中涉及的一些词语进行解释:
Task:任务;Task Id:任务序号;Task Status:任务状态;Task Type:任务类型属性;do Work():执行任务模块;cancel():取消任务模块,
在分布式存储系统中,分布式服务会部署在不同的存储节点,即多个存储节点会同时提供服务。当用户大量的不同业务请求到达分布式服务器后,分布式服务器需要对每个业务请求进行处理并响应,为此,每一个服务都有一个任务管理模块,该任务管理模块对任务进行管理,而分布式服务会有多个服务,相应地,就有多个任务管理模块,本发明的目的是对多个任务管理模块进行管理,以确保分布式服务的顺利进行。本发明包括任务记录模块、延迟删除任务管理模块、任务执行模块和任务管理模块,其中,任务记录模块用于接受任务管理模块和/任务执行模块的指令来记录任务的状态,延迟删除任务管理模块用于延迟设定时间删除任务,任务执行模块用于执行任务,任务管理模块用于对任务进行资源分配并管理任务的执行。
如图1所示,本发明提供分布式任务管理,用于管理分布式服务中的各项任务,首先,本发明中所说的任务分为同步任务与异步任务,所谓同步任务是指用户发起的业务请求,需要等待任务执行完成,任务管理模块返回任务执行结果给用户的任务;异步任务是指用户发起的业务请求,只需要等待任务校验(包括负载上限校验和任务互斥校验)完成,依赖不同的资源,异步任务添加到等待队列中等待执行后,任务管理模块即可返回初步结果给用户。更具体地说,同步任务需要等待执行完成后才会反馈执行结果给用户,而异步任务无需等待任务执行完成,用户就会收到初步的反馈结果。用户发起任务的时候会将该任务标记为同步任务或异步任务。所有任务Task都具有任务序号Task Id、任务状态TaskStatus、任务类型属性Task Type以及执行任务方法do Work()、取消任务方法cancel(),任务序号用来标记任务自身的Id,任务状态用来标记任务自身的状态,任务类型属性用来标记任务自身的类型,执行任务方法提供任务执行接口以便任务执行模块进行执行,取消任务方法提供任务取消接口以便任务管理模块取消任务等等。用户发起的任务分为同步任务和异步任务后,该任务的类型属性会表明该任务为同步任务或异步任务,不同类型的任务由不同的任务执行模块执行,具体地说,同步任务由同步任务执行模块执行,异步任务由异步执行任务模块执行。需要注意的是,同步任务不接受取消指令,即用户发起请求执行同步任务后不可以取消。
下面结合图1和图3来说明任务的执行过程,当用户发起一项业务请求后(用户发起的业务请求针对的任务称为待添加任务),该项业务请求会依次通过任务互斥判断、负载上限判断然后进行资源分配,资源分配成功的任务会进入待执行列表或任务记录队列,而如果其中的任意一个判断没有通过,则该业务请求会被标记为失败,反馈异常给用户。更具体地说,用户发起一项业务请求后,任务管理模块判断该项业务请求针对的待添加任务与现有任务(包括待执行列表中的任务(也称待执行任务)和正在执行的任务)之间是否互斥,如果该项待添加任务与现有任务互斥,则任务管理模块将该业务请求标记为失败,不再进行负载上限判断,而是直接反馈给用户该项任务异常。如果该项待添加任务与现有任务不是互斥,比如该项待添加任务求与现有任务是依赖关系或者该项待添加任务是独立任务,则任务管理器对该项待添加任务继续进行负载上限判断,判断该项待添加任务是否会超出系统的负载上限,如果超出,则对该项待添加任务不予分配资源,直接反馈异常给用户,如果没有超出负载的系统上限,则对该项待添加任务分配资源。如果当前的资源足够该项待添加任务执行,则该项任务为符合条件的任务,即所谓符合条件的任务是指经过互斥判断、负载上限判断的任务,并且成功分配了资源的任务,符合条件的待添加任务将进入待执行列表,等待执行模块进行执行,任务执行模块分为同步任务执行模块和异步任务执行模块,同步任务执行模块用于执行同步任务,异步任务执行模块用于执行异步任务,如果当前的资源不足以保证该项待添加任务执行,则该项业务请求失败,反馈异常给用户。在任务执行模块开始执行任务之前,任务管理模块进行添加任务、初始化任务或者取消任务时,将发送指令给任务记录模块,任务记录模块在任务记录中心和任务日志中心进行记录。在任务执行过程中,任务执行模块发送指令给任务记录模块,任务记录模块在任务记录中心和任务日志中心进行记录。当任务执行完毕,延迟删除任务管理模块将已经执行完毕的任务从当前活动任务集合中删除,任务记录模块在任务记录中心中将该被删除的任务记录进历史列表中。
图2所示的任务记录模块主要用来对任务进行记录、修改、存档,可以添加、删除、获取单个任务、列出所有任务、修改任务状态等,即当用户发起的业务请求转化为对应任务后,任务记录模块会将该任务记录下来,防止系统宕机后任务丢失,造成业务请求丢失。任务记录模块将任务当前的运行状态记录在任务记录中心,并随着任务的进行随时对任务记录中心中的记录进行更新,如图5所示;同时,任务记录模块还将任务日志记录在任务日志中心,任务日志中心记录了若干条任务的日志,包括任务开始执行的时间、任务序号、任务类型等信息,同时,任务日志中心的日志也在持续更新,如图4所示。更具体地说,在任务管理模块进行初始化任务、添加任务、取消任务等操作时,任务管理模块会发送指令给任务记录模块,任务记录模块对上述操作进行记录,同时记录下当前的任务列表;在任务执行过程中,任务执行模块发送指令给任务记录模块,任务记录模块记录在执行过程中的任务状态,对任务日志中心和任务记录中心同时更新。
任务记录模块记录的目的在于在系统正常启动或者发生异常中断重启的情况下,任务管理模块可以加载到之前任务记录中心记录的执行点,继续执行任务直至任务完成,避免因宕机造成任务中断或信息丢失。
下面具体来说明本系统中的各个模块的功能,延迟删除任务管理模块主要用来延迟设定时间删除任务,当任务执行模块执行完某个任务后,发送一个删除任务请求给延迟删除任务管理模块,延迟删除任务管理模块延迟设定时间将该已经执行成功的任务从当前活动任务集合中删除,但该任务仍可通过历史任务表查询,即已经执行成功的任务会从当前活动任务集合中删除,但会存储到历史任务表中,以便用户查询。具体实施时,具体的延迟时间可以自行设定。针对用户发起的已经执行成功的任务延迟设定时间删除,目的在于方便用户确认指令执行成功,对于执行失败的任务可不进行删除,用户可手动删除。
任务执行模块主要执行任务执行列表中的任务,具体包括任务执行起始记录动作(包括起始操作日志、性能参数,涉及重要业务时可以设定报警触发或者邮件通知管理员)、任务步骤记录、任务资源回收、任务完成记录动作(通知用户任务完成,更新操作日志记录以及性能参数,如果是重要业务,还需要更新报警状态和邮件通知用户)。需要说明的是,上述记录为任务执行过程中的状况,因此由任务执行模块给任务记录模块发送指令,任务记录模块完成记录。任务执行模块分为同步任务执行模块和异步任务执行模块,同步任务执行模块执行同步任务,异步任务执行模块执行异步任务。这两种任务执行模块之间的线程资源并不共享,也就不会冲突。
任务管理模块主要用于任务的管理,包括初始化所有任务、任务添加、任务取消、任务展示、拒绝添加任务以及判断待添加任务是否与现有任务是否互斥等,本发明中的现有任务包括正在执行的任务和待执行任务。支持任务中断后加载继续执行功能,支持分布式添加任务功能,所谓的分布式添加任务功能如图2所示,图2中的分布式服务1、分布式服务2、分布式服务3均可接受任务,提供分布式服务。任务管理模块停止时,会设置停止标签,然后将正在执行的任务执行完毕,不再接受新的任务,包括用户请求的任务和分配给该任务管理模块的待执行列表中的任务。当用户同时发起或连续发起多个任务,在该多个任务的执行期间,若发现后续任务已经没有执行的必要,则可以取消后续任务,而不影响已经执行完毕的任务。如果被取消的任务被取消之前已经在待执行列表中,则将其从待执行列表中删除,如果被取消的任务在被取消之前不在待执行列表中,则任务记录模块将其在任务记录中心中将其标记为取消,具体实施时,任务记录中心和任务日志中心可以为数据库。
本发明可实现以下功能:
(1)分布式地接受业务请求:一般来说,分布式存储系统在处理任务以时序为准,业务请求以先到先处理为准则,先接收的业务请求总是会先处理,后接收的业务请求会后处理,比如先收到业务请求A,后收到业务请求B,那么会对业务请求A先处理,等收到A的响应后再执行业务请求B。有时候用户业务并不会严格遵守执行A并收到A响应后再执行B的顺序,例如用户业务先发起请求A,没等A请求返回,紧接着又发起请求B,通过业务处理和网络传输后,任务管理模块可能先接收到业务B请求,后接收到业务A请求,这时任务管理模块会按照时间顺序先处理业务B请求,然后再处理业务A请求。如果用户业务需要严格遵守行A并收到A响应后再执行B的顺序,则需要用户保证顺序,先发起业务A请求,收到业务A请求的响应之后,再发起业务B请求。
(2)记录业务请求:当用户发起的业务请求转化为对应任务后,任务管理模块会发送指令给任务记录模块,任务记录模块会将该任务记录下来,防止系统宕机后任务丢失,造成业务请求丢失。任务开始执行后,任务执行模块会发送指令给任务记录模块以记录任务每一个关键步骤。具体如图2所示,具体地说,用户发起了三个请求,分别是请求1、请求2和请求3,这三个请求分别对应分布式服务1、分布式服务2和分布式服务3,任务处理模块对该三个正在运行的任务进行处理,任务记录模块分别对该三个任务进行记录,以防止系统出现宕机后任务丢失。本领域技术人员都清楚服务指的是可以长期运行在后台的应用程序,程序里有任务管理逻辑。
(3)任务互斥判断:一般来说,分布式存储系统所处理的任务可以根据类型、资源划分为以下三大类:
a、不同类型任务,
b、同类型但不同资源任务,
c、同类型同资源任务,
在业务或应用场景上,又可以根据任务的执行条件来进行划分,分为互斥任务、依赖任务和独立任务,独立任务与其他任务不存在关系,可直接进行负载上限判断,以排队执行,互斥任务指的是某些类型任务与其他类型任务互相排斥,无法同时执行,这类任务我们称之为互斥任务。如现有两个任务A和B,其中任务A是扩展卷任务,即将卷1从1T扩展到2T;任务B是缩容卷任务,即将卷1从1T缩容到512G,当任务A执行完成之后卷的大小已经是2T,如果此时接着执行任务B,会发现任务B执行的条件已经不存在,所以任务B无法执行,任务A和任务B就是互斥任务,在这种情况下,任务管理模块可以根据用户业务需要,对用户新提交的任务进行互斥校验,如果校验发现存在互斥任务,则提示用户任务互斥,以便用户根据当前业务进行调整,本发明中可将在后的互斥任务标记为失败,不再执行,从而避免因出现互斥任务造成某些任务的冲突。所谓的依赖指的是一个任务的执行需要以另一个任务的完成为条件,比如现有两个任务A和B,其中任务A是创建卷任务,即创建大小为1T的卷1,而任务B是扩展卷任务,即创建一个大小为2T的卷2,任务B的执行需要公用剩余空间,所以任务B需要等待任务A执行完成之后再执行。与互斥判断中不通过的任务不被执行不同,依赖任务和独立任务会在进行互斥判断后再进行负载上限判断,然后分配资源按顺序插入执行列表等待执行。本发明中将待添加任务与现有任务进行互斥判断,待添加任务即待添加进执行列表中的任务,也是用户发起的业务请求针对的任务,该任务尚未添加进执行列表,即有不被执行的可能,现有任务包括待执行任务和正在执行的任务。
(4)负载上限判断:每个分布式服务的任务管理模块在设计时都会设有最大负载任务数量,即负载上限,这样可以有效地设置阈值,防止系统因为过载而无法正常提供服务。当任务提交时需要判断是否触及最大负载,如果当前任务已经触及最大负载,则直接返回异常给用户,给出有效提示,以便用户根据当前业务进行调整。
(5)任务资源分配:任务分为同步任务和异步任务,用户发起业务请求时,分布式存储系统会标记该任务为同步任务或异步任务,不论是同步任务或是异步任务,在执行时均需要资源,包括执行线程资源、其他任务所需资源等等。同步任务在业务请求转化为任务后,即需要占用执行线程资源,在执行任务时其他资源均采用公平竞争原则进行竞争。异步任务在进入等待队列后并不占用任何资源,在出队后需要占用执行线程资源,在执行任务时其他资源均采用公平竞争原则进行竞争,这点与同步任务相同。
(6)任务完成:任务在执行完成后,需要记录任务完成状态,异步任务还需要向用户投递执行完成时间。如图3所示,具体为:当一项任务经过任务互斥判断、负载上限判断的检验之后,如果检验发现当前任务不存在互斥任务,同时也未超过分布式存储系统的负载上限,任务管理模块给该项任务分配资源,使该任务能够顺利执行,当该项任务执行完毕后,任务管理模块将会发送指令给任务记录模块以记录该项任务已完成的状态,针对其中的异步任务,任务管理模块还需要向用户反馈该项任务已完成。
(7)任务延迟删除:分布式存储系统中的任务完成后,不会立即删除该任务,用户仍能通过界面查看任务执行状态,待设定时间后,该任务变为历史任务,用户无需高度关注,从界面任务列表中消失。具体实施时,设定时间可由用户根据具体情况自行设定。
(8)任务日志:任务记录模块在记录任务时可根据需要同时记录起始操作日志、性能参数metric,涉及重要业务时可以设定告警触发或者邮件通知管理员。任务完成时任务记录模块接收任务执行模块的指令来更新操作日志记录以及metric,如果是重要任务,还需要更新告警状态和邮件通知具体用户。如图4所示,具体为:当前分布式存储系统的三个任务,分别是分布式服务1、分布式服务2和分布式服务3,任务记录模块对该三项服务的日志和性能参数进行记录。任务记录模块在记录时将上述内容记录在任务日志中心中,同时还记录在任务记录中心。需要说明的是,任务日志中心有若干条日志,比如按照时间发展详细记录任务的信息,任务记录中心只保留最新的一条记录,记载当前任务的状态。
(9)初始化加载(分布式服务正常启动/异常中断重启):当任务记录模块记录任务后,分布式存储系统发生宕机或者分布式服务被人为中断(例如服务升级操作等),分布式存储系统再次启动后需要重新初始化并加载任务,任务管理模块可以加载到之前任务记录的执行点,继续执行任务直至完成。如图5所示,当前的三个分布式服务分别为分布式服务1、分布式服务2和分布式服务3,任务记录模块对当前正在处理的三个任务进行记录,当分布式存储系统出现宕机或其他异常情况时,任务记录模块记载了当前的三个任务的情况,当分布式存储系统再次启动后,任务管理模块加载到之前任务记录执行的节点,确保各个任务能够被有效执行。

Claims (10)

1.一种分布式任务管理系统,其特征在于:包括:
任务记录模块,用于记录任务的状态,
延迟删除任务管理模块,用于延迟设定时间删除任务,
任务执行模块,用于执行任务,
任务管理模块,用于对任务进行资源分配并管理任务的执行,
其中,任务管理模块对待添加的任务进行管理,将符合条件的待添加任务添加进待执行列表,任务执行模块对在待执行列表中的任务进行执行,任务记录模块接收任务管理模块和/或任务执行模块的指令来记录任务的执行情况,延迟删除任务管理模块对执行完毕的任务延迟设定时间后删除。
2.根据权利要求1所述的分布式任务管理系统,其特征在于:所述任务管理模块判断待添加任务与现有任务是否互斥,如果是,则对该待添加任务不予执行。
3.根据权利要求2所述的分布式任务管理系统,其特征在于:所述任务管理模块对经过互斥判断的待添加任务进行负载上限判断,若该待添加任务超过系统负载上限,则不予执行。
4.根据权利要求1-3中任一权利要求所述的分布式任务管理系统,其特征在于:所述任务管理模块对不需要执行的任务进行取消。
5.根据权利要求1-3中任一权利要求所述的分布式任务管理系统,其特征在于:所述任务执行模块分为同步任务执行模块和异步任务执行模块,其中,所述同步任务执行模块执行同步任务,所述异步执行模块执行异步任务。
6.一种分布式任务管理方法,用于如权利要求1-5中任一权利要求所述的分布式任务管理系统,其特征在于:包括以下步骤:
S1、任务管理模块对用户发起的待添加的任务请求进行管理,将符合条件的待添加任务添加进待执行列表,
S2、任务执行模块对步骤S1中待执行列表中的任务进行执行,
S3、任务记录模块接收任务管理模块和/或任务执行模块的指令记录任务的状态。
7.根据权利要求6所述的分布式任务管理方法,其特征在于:所述步骤S1为:任务管理模块判断待添加任务与现有任务是否互斥,对与现有任务互斥的任务不予执行,对与现有任务非互斥的任务进行负载上限判断,对于超过负载上限的待添加任务不予执行。
8.根据权利要求6或7所述的分布式任务管理方法,其特征在于:当任务执行完毕后,延迟删除任务管理模块将执行完毕的任务延迟设定时间删除。
9.根据权利要求6或7所述的分布式任务管理方法,其特征在于:对不需要执行的任务由所述任务管理模块进行取消。
10.根据权利要求6或7所述的分布式任务管理方法,其特征在于:所述任务分为同步任务和异步任务,同步任务由同步任务模块执行,异步任务由异步任务模块执行。
CN202110899391.5A 2021-08-06 2021-08-06 一种分布式任务管理系统及方法 Pending CN113342511A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110899391.5A CN113342511A (zh) 2021-08-06 2021-08-06 一种分布式任务管理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110899391.5A CN113342511A (zh) 2021-08-06 2021-08-06 一种分布式任务管理系统及方法

Publications (1)

Publication Number Publication Date
CN113342511A true CN113342511A (zh) 2021-09-03

Family

ID=77480900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110899391.5A Pending CN113342511A (zh) 2021-08-06 2021-08-06 一种分布式任务管理系统及方法

Country Status (1)

Country Link
CN (1) CN113342511A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806049A (zh) * 2021-09-17 2021-12-17 金蝶软件(中国)有限公司 任务排队方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671299B2 (en) * 2011-05-26 2014-03-11 Google Inc. Delaying the initiation of transitioning to a lower power mode by placing a computer system into an intermediate power mode between a normal power mode and the lower power mode
CN106547613A (zh) * 2016-10-20 2017-03-29 西北工业大学 任务处理流程的调度及故障恢复方法
CN110895483A (zh) * 2018-09-12 2020-03-20 北京奇虎科技有限公司 任务恢复方法及装置
CN113031992A (zh) * 2021-04-27 2021-06-25 中国平安人寿保险股份有限公司 Annoy热更新方法、装置、设备及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671299B2 (en) * 2011-05-26 2014-03-11 Google Inc. Delaying the initiation of transitioning to a lower power mode by placing a computer system into an intermediate power mode between a normal power mode and the lower power mode
CN106547613A (zh) * 2016-10-20 2017-03-29 西北工业大学 任务处理流程的调度及故障恢复方法
CN110895483A (zh) * 2018-09-12 2020-03-20 北京奇虎科技有限公司 任务恢复方法及装置
CN113031992A (zh) * 2021-04-27 2021-06-25 中国平安人寿保险股份有限公司 Annoy热更新方法、装置、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806049A (zh) * 2021-09-17 2021-12-17 金蝶软件(中国)有限公司 任务排队方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
US5687372A (en) Customer information control system and method in a loosely coupled parallel processing environment
US7328213B2 (en) Transaction processing method, transaction control apparatus and program thereof
JP3121584B2 (ja) 多重システム・クラスタ内のサーバの数を制御する方法及び装置
US7330860B2 (en) Fault tolerant mechanism to handle initial load of replicated object in live system
US5682507A (en) Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
US20060070072A1 (en) Information processing apparatus, memory area management method, and computer program
US20220283846A1 (en) Pod deployment method and apparatus
US20100251248A1 (en) Job processing method, computer-readable recording medium having stored job processing program and job processing system
US5790868A (en) Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
CN114064414A (zh) 一种高可用的集群状态监控方法及系统
US8132174B2 (en) Concurrency management in cluster computing of business applications
CN110971700A (zh) 分布式锁的实现方法及装置
US5630133A (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
CN109697112B (zh) 分布式集约化一站式作业系统和实现方法
CN113342511A (zh) 一种分布式任务管理系统及方法
CN113157411B (zh) 一种基于Celery的可靠可配置任务系统及装置
US20070174836A1 (en) System for controlling computer and method therefor
CN115964176B (zh) 云计算集群调度方法、电子设备和存储介质
CN112199432A (zh) 一种基于分布式的高性能数据etl装置及控制方法
CN112039963A (zh) 一种处理器的绑定方法、装置、计算机设备和存储介质
US11348656B2 (en) Efficient resource sharing
CN117407125B (zh) Pod高可用实现方法、装置、设备及可读存储介质
CN114356214B (zh) 一种针对kubernetes系统提供本地存储卷的方法及系统
JP3494788B2 (ja) プログラム実行管理システム及びプログラム実行管理方法
WO2020207078A1 (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210903