CN112286669A - 任务处理方法及装置 - Google Patents

任务处理方法及装置 Download PDF

Info

Publication number
CN112286669A
CN112286669A CN202011320055.2A CN202011320055A CN112286669A CN 112286669 A CN112286669 A CN 112286669A CN 202011320055 A CN202011320055 A CN 202011320055A CN 112286669 A CN112286669 A CN 112286669A
Authority
CN
China
Prior art keywords
task
task data
data
state
database
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.)
Withdrawn
Application number
CN202011320055.2A
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.)
Shanghai Sensetime Intelligent Technology Co Ltd
Original Assignee
Shanghai Sensetime Intelligent 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 Shanghai Sensetime Intelligent Technology Co Ltd filed Critical Shanghai Sensetime Intelligent Technology Co Ltd
Priority to CN202011320055.2A priority Critical patent/CN112286669A/zh
Publication of CN112286669A publication Critical patent/CN112286669A/zh
Withdrawn 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

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

任务处理方法及装置
技术领域
本公开涉及云计算技术领域,具体涉及一种任务处理方法及装置。
背景技术
以云计算技术建立起来的软件运行平台称为云平台,租户可以通过云平台按需购买各种服务,无需搭建IT基础设施,从而节省采购和运维成本。
在多租户的云平台系统中,由租户购买服务产生的任务总数往往达到百万级,并且租户购买服务的时间跨度可以长达几年,每一种服务的时间计量单位也不同,例如会有月、天、分钟等各种粒度,由购买服务产生的任务也需要在不同粒度的时间点触发运行。
相关技术中的云平台系统,无法同时满足大量且长时间跨度的任务实时触发。
发明内容
为解决云平台系统大量且长时间跨度的任何实时触发的技术问题,本公开实施方式提供了一种任务处理方法及装置。
第一方面,本公开实施方式提供了一种任务处理方法,应用于云平台系统,所述方法包括:
获取多个任务数据;所述多个任务数据是与租户购买的所述云平台系统上的服务相关的任务数据,并且所述多个任务数据中的每一个任务数据均包括任务的触发时间;
将所述多个任务数据存储于数据库,并定期由所述数据库中获取目标任务;所述目标任务包括触发时间在第一预设时间阈值内的任务数据;
将所述目标任务发送至任务队列,并通过定时触发器将所述任务队列的各任务在对应的触发时间运行。
在一些实施方式中,所述将所述多个任务数据存储于数据库,包括:
在所述多个任务数据中确定第一任务和第二任务,所述第一任务是触发时间在第二预设时间阈值内的各任务数据,所述第二任务是除所述第一任务之外的各任务数据;所述第二预设时间阈值小于或等于所述第一预设时间阈值;
将所述第一任务发送至所述任务队列,并且,将所述第一任务和所述第二任务存储于所述数据库。
在一些实施方式中,所述任务数据包括状态信息和所述触发时间;所述方法还包括:
响应于所述任务数据的当前处理状态发生变化,将所述任务数据的状态信息设置为与所述当前处理状态对应的状态信息。
在一些实施方式中,响应于所述任务数据的当前处理状态发生变化,将所述任务数据的状态信息设置为与所述当前处理状态对应的状态信息,包括:
响应于所述任务数据未被注册至所述定时触发器,将所述任务数据的状态信息设置为未注册状态;
响应于所述任务数据已被注册至所述定时触发器,且尚未在对应的触发时间运行,将所述任务数据的状态信息设置为已注册状态;
响应于所述任务数据在对应的触发时间运行且运行成功,将所述任务数据的状态信息设置为已完成状态;
响应于所述任务数据在对应的触发时间运行且运行失败,并且所述任务数据的失败次数未超过预设阈值,将所述任务数据的状态信息设置为未完成状态。
在一些实施方式中,所述定期由所述数据库中获取目标任务,包括:
定期获取所述数据库中的各所述任务数据的状态信息;
将满足任一预设触发条件的所述任务数据确定为所述目标任务,所述预设触发条件包括:
所述任务数据的状态信息为未注册状态,且所述任务数据的触发时间在所述第一预设时间阈值内;
所述任务数据的状态信息为已注册状态,且所述任务数据在对应触发时间未运行;
所述任务数据的状态信息为未完成状态。
在一些实施方式中,所述云平台系统包括主节点和多个从节点,每个所述从节点包括定时触发器;
所述获取多个任务数据,包括:所述主节点获取所述多个任务数据;
所述将所述多个任务数据存储于数据库,并定期由所述数据库中获取目标任务,包括:所述主节点将所述多个任务数据存储于数据库,并且所述主节点定期由所述数据库中获取目标任务;
所述将所述目标任务发送至任务队列,并通过定时触发器将所述任务队列的各任务在对应的触发时间运行,包括:
所述主节点将所述目标任务发送至队列服务器的所述任务队列,所述多个从节点由所述任务队列中获取任务,并且,每个从节点将获取的任务注册到各自的定时触发器。
在一些实施方式中,所述的方法,还包括:
响应于所述主节点处于异常状态,由所述多个从节点中确定一个从节点作为主节点。
在一些实施方式中,所述获取多个任务数据,包括:
获取租户购买所述服务的支付订单,并根据所述支付订单生成与所述服务相关的所述多个任务数据。
第二方面,本公开实施方式提供了一种任务处理装置,应用于云平台系统,所述装置包括:
获取模块,用于获取多个任务数据;所述多个任务数据是与租户购买的所述云平台系统上的服务相关的任务数据,并且所述多个任务数据中的每一个任务数据均包括任务的触发时间;
存储模块,用于将所述多个任务数据存储于数据库,并定期由所述数据库中获取目标任务;所述目标任务包括触发时间在第一预设时间阈值内的任务数据;
发送模块,用于将所述目标任务发送至任务队列,并通过定时触发器将所述任务队列的各任务在对应的触发时间运行。
在一些实施方式中,所述存储模块具体用于:
在所述多个任务数据中确定第一任务和第二任务,所述第一任务是触发时间在第二预设时间阈值内的各任务数据,所述第二任务是除所述第一任务之外的各任务数据;所述第二预设时间阈值小于或等于所述第一预设时间阈值;
将所述第一任务发送至所述任务队列,并且,将所述第一任务和所述第二任务存储于所述数据库。
在一些实施方式中,所述任务数据包括状态信息和所述触发时间;所述装置还包括:
状态设置模块,用于响应于所述任务数据的当前处理状态发生变化,将所述任务数据的状态信息设置为与所述当前处理状态对应的状态信息。
在一些实施方式中,所述状态设置模块具体用于:
响应于所述任务数据未被注册至所述定时触发器,将所述任务数据的状态信息设置为未注册状态;
响应于所述任务数据已被注册至所述定时触发器,且尚未在对应的触发时间运行,将所述任务数据的状态信息设置为已注册状态;
响应于所述任务数据在对应的触发时间运行且运行成功,将所述任务数据的状态信息设置为已完成状态;
响应于所述任务数据在对应的触发时间运行且运行失败,并且所述任务数据的失败次数未超过预设阈值,将所述任务数据的状态信息设置为未完成状态。
在一些实施方式中,所述存储模块具体用于:
定期获取所述数据库中的各所述任务数据的状态信息;
将满足任一预设触发条件的所述任务数据确定为所述目标任务,所述预设触发条件包括:
所述任务数据的状态信息为未注册状态,且所述任务数据的触发时间在所述第一预设时间阈值内;
所述任务数据的状态信息为已注册状态,且所述任务数据在对应触发时间未运行;
所述任务数据的状态信息为未完成状态。
在一些实施方式中,所述云平台系统包括主节点和多个从节点,每个所述从节点包括定时触发器;
所述获取模块具体用于:由所述主节点获取所述多个任务数据;
所述存储模块具体用于:由所述主节点将所述多个任务数据存储于数据库,并且所述主节点定期由所述数据库中获取目标任务;
所述发送模块具体用于:由所述主节点将所述目标任务发送至队列服务器的所述任务队列,所述多个从节点由所述任务队列中获取任务,并且,每个从节点将获取的任务注册到各自的定时触发器。
在一些实施方式中,所述的装置,还包括:
主节点确定模块,用于响应于所述主节点处于异常状态,由所述多个从节点中确定一个从节点作为主节点。
在一些实施方式中,所述获取模块具体用于:
获取租户购买所述服务的支付订单,并根据所述支付订单生成与所述服务相关的所述多个任务数据。
第三方面,本公开实施方式提供了一种云平台系统,包括:
处理器;和
存储器,与所述处理器可通信连接,其存储有能够被所述处理器读取的计算机指令,当所述计算机指令被读取时,所述处理器执行根据第一方面任一实施方式所述的方法。
第四方面,本公开实施方式提供了一种存储介质,存储有计算机可读指令,所述计算机可读指令用于使计算机执行根据第一方面任一实施方式所述的方法。
本公开实施方式的任务处理方法,包括获取多个任务数据,而且在获取任务数据之后,并非将任务数据直接发送至任务队列,而是存储于数据库中,从而在系统宕机情况下无需重新生成任务数据,满足云平台系统长时间跨度的可靠性要求。并且定期从数据库中获取第一预设时间阈值内的目标任务发送至任务队列,对于不到第一预设时间阈值的任务数据继续保留在数据库中,从而根据任务的触发时间分散系统压力,满足海量任务的高可靠性调度需求。同时通过定时触发器保证任务队列的任务高精度的实时触发,理论可以精确到纳秒级别的实时触发,从而实现多租户云平台系统的海量长时间跨度任务的实时触发。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开一些实施方式中任务处理方法的流程图。
图2是根据本公开另一些实施方式中任务处理方法的流程图。
图3是根据本公开另一些实施方式中任务处理方法的流程图。
图4是根据本公开一些实施方式中云平台系统的结构框图。
图5是根据本公开一些实施方式中任务处理方法的流程图。
图6是根据本公开一些实施方式中任务处理装置的结构框图。
图7是根据本公开另一些实施方式中任务处理装置的结构框图。
图8是适于实现本公开任务处理方法的计算机系统的结构框图。
具体实施方式
下面将结合附图对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。此外,下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
随着云计算的发展,越来越多的互联网企业推出了基于云计算技术的云平台系统,在云平台系统中,租户可以按照自身的业务需求购买相应的服务。
对于云平台系统来说,针对每个租户需要先创建项目,在项目下创建应用,从而租户可以在应用中购买各种服务,例如云解析服务、云搜索服务等。这样多个层级下来,单个租户可能就会创建数以千记的服务,而每个服务在租户每次购买后都会触发近10个任务,对于整个系统几百个租户来说,云平台系统的任务总数就会达到百万级。
同时,往往租户购买服务的时间跨度可以长达几年,并且每一种服务的时间计量单位也不同,例如会有月、天、分钟等各种粒度,由购买这些服务所产生的任务也就需要在不同粒度的时间点触发运行。
由此可见,多租户的云平台系统具有任务量较大且长时间跨度任务需实时触发的特点。基于此,本公开实施方式提供一种任务处理方法及装置,实现云平台系统的海量任务高可靠实时触发运行。
第一方面,本公开实施方式提供了一种任务处理方法,图1中示出了根据本公开任务处理方法的一些实施方式。
如图1所示,在一些实施方式中,本公开任务处理方法包括:
S110、获取多个任务数据。
具体来说,任务数据是指与租户购买的云平台系统上的服务相关的任务数据,并且每个任务数据均包括该任务的触发时间。
在一个示例中,租户在某个云平台系统购买该系统提供的某个服务,例如在KS(Keystone)云平台购买该云平台提供的某kss(Keystone service)实例,云平台系统会根据购买该kss实例的支付订单,生成与该kss实例相关的一系列任务数据,例如:
“在订单开始时间触发更新kss实例购买量和状态的任务”;
“在订单结束时间触发更新kss实例购买量和状态的任务”;
“在订单开始时间触发的推送服务配额限制(scf,Service Claim/Fee)到kg(Keystone Gateway)网关服务的任务”;
“在订单结束时间触发的推送服务配额限制(scf)到kg网关服务的任务”;
“在订单开始时间推送部署工单给运维管理服务(oss,Operations SupportSystem)的任务”;
“在订单结束后N天推送销毁部署的工单给运维管理服务(oss)的任务”;
“在订单结束时间前N天推送服务即将结束的通知任务”;等。
上述每一个任务数据中均包括任务的触发时间,例如“订单开始时间”、“订单结束时间”、“订单结束后N天”等,触发时间表示该任务数据对应的任务需要在该触发时间运行。当然,可以理解的是,上述任务数据的触发时间粒度是可以不同的,例如可以是天、分钟、秒等各种时间粒度,并不局限于上述示例。
S120、将多个任务数据存储于数据库,并定期由数据库中获取目标任务。
具体来说,在获取多个任务数据之后,并非直接将上述任务数据推送至任务队列,而是将多个任务数据存储于数据库中。
在一个示例中,在获取多个任务数据之后,根据任务数据生成对应的配置数据,并将多个配置数据存储于数据库中,也即数据库中的每个任务对应一条配置数据。配置数据是指该任务的运行参数数据,例如可包括任务的触发时间以及当前任务状态等参数信息,下述进行详细说明,在此暂且不表。
云平台系统可定期检查数据库中的任务数据,将触发时间在第一预设时间阈值内的任务数据确定为目标任务。
在一个示例中,云平台系统可包括定时器,通过定时器来触发定期检查数据库中的任务数据。定时器可以根据具体的场景需求设置不同的间隔时长,例如触发精度可以为分钟(min)级别。
在一个示例中,云平台系统可每隔10min检查一次数据库中的任务数据,将触发时间在10min之内的任务数据确定为目标任务,也即目标任务表示将在10min之内触发运行的任务,而对于触发时间在10min之外的任务,则继续存储于数据库中。
在下述实施方式中对如何由数据库中获取目标任务进行详细说明,在此暂且不表。
S130、将目标任务发送至任务队列,并通过定时触发器将任务队列的各任务在对应的触发时间运行。
定时触发器指系统的定时器,根据触发时间将任务数据注册到定时触发器,通过定时触发器将已注册任务在对应的触发时间触发运行。对于高精度的定时触发器,理论上可以精确到纳秒级别,从而实现在对应的触发时间高精度实时地运行任务。
具体来说,在由数据库中获取目标任务之后,将目标任务发送至任务队列,任务队列可指系统的队列服务,例如队列服务器的任务列表。将目标任务发送至任务队列中,持续抓取任务队列中的任务并注册至定时触发器,从而通过定时触发器使得目标任务在对应的触发时间高精度实时触发运行。
通过上述可知,本公开实施方式的任务处理方法,在获取多个任务数据后,并非将任务数据直接发送至任务队列,而是将任务数据存储于数据库中,从而在系统宕机情况下无需重新生成任务数据,满足云平台系统长时间跨度的可靠性要求。并且定期从数据库中获取第一预设时间阈值内的目标任务发送至任务队列,对于不到第一预设时间阈值的任务数据继续保留在数据库中,根据任务的触发时间分散系统压力,满足海量任务的高可靠性调度需求。同时通过定时触发器保证任务队列的任务高精度的实时触发,理论可以精确到纳秒级别的实时触发,从而实现多租户云平台系统的海量长时间跨度任务的实时触发。
在一些实施方式中,考虑到租户购买服务之后,在生成的多个任务数据中,部分任务数据可能需要在订单开始时刻即时运行,或者在订单开始时刻的较短时间内触发运行。例如上述示例中“在订单开始时间触发更新kss实例购买量和状态的任务”,需要在订单开始时间即时运行。因此,在一些实施方式中,在将任务数据存储于数据库时,还包括对即时或较短时间内运行的任务进行处理的过程。下面结合图2实施方式进行详细说明。
如图2所示,在一些实施方式中,本公开任务处理方法包括:
S210、在多个任务数据中确定第一任务和第二任务。
S220、将第一任务发送至任务队列,并且,将第一任务和第二任务存储于数据库。
具体来说,在获取多个任务数据之后,根据各个任务数据的触发时间,将触发时间在第二预设时间阈值内的任务数据确定为第一任务,将第一任务之外的任务数据确定为第二任务。第二预设时间阈值小于或等于第一预设时间阈值,也即第二预设时间阈值表示距离订单开始时刻较短的时间范围。从而将需要在订单开始时刻即时或较短时间内运行的任务数据确定为第一任务,而将第一任务之外的任务数据,也即无需在第二预设时间阈值内运行的任务确定为第二任务。
将第一任务发送至上述任务队列,从而抓取任务队列中的第一任务注册至定时触发器,通过定时触发器使得第一任务在对应的触发时间即时运行。同时,将第一任务和第二任务存储于数据库中,参照前述示例即可。
通过上述可知,本实施方式的任务处理方法,通过在多个任务数据中确定第一任务和第二任务,从而将需要在订单开始时刻即时或较短时间内运行的第一任务发送至任务队列,保证订单开始时间的即时任务实时触发运行。
在一些实施方式中,存储于数据库中的每一个任务数据均包括该任务的触发时间和当前的状态信息,状态信息表示该任务数据的当前运行状态。也即,随着任务数据的当前处理状态发生变化,系统会将该任务数据的状态信息设置为与当前处理状态对应的状态信息,状态信息会对应写入数据库中该任务数据的配置数据,从而系统在获取目标任务时即可可根据状态信息确定。
具体来说,在一些实施方式中,任务数据在被处理过程中可包括以下几种任务状态的切换:
未注册状态:指任务数据未被注册到定时触发器。例如,数据库中触发时间在第一预设时间阈值之外的任务数据。
已注册状态:指任务数据已被注册到定时触发器,但尚未触发运行。例如,触发时间在第一预设时间阈值内,但当前时刻尚未到触发时间的任务数据。
已完成状态:指任务数据在对应的触发时间被触发运行,并且运行成功。例如,注册到定时触发器,且被定时触发器在触发时间成功运行的任务数据。
未完成状态:指任务数据在对应的触发时间被触发运行且运行失败,并且需要重新推送运行。例如,在首次触发运行超时失败,需要再次触发运行的任务数据。
失败状态:指任务数据在对应的触发时间被触发运行且运行失败,但是无需重新推送运行。例如,在多次触发运行均运行失败,无需再次触发运行的任务数据。
基于上述任务状态,系统在每个任务数据的当前处理状态发生变化时,将任务数据的状态信息设置为上述对应的状态信息,也即未注册状态、已注册状态、已完成状态、未完成状态、失败状态中的其中一种。
值得说明的是,本公开实施方式中,在任务数据触发运行失败之后,并非直接将该任务数据设置为失败状态,而是判断该任务数据是否需要重新运行。例如对于“在订单开始时间调取第三方数据库的任务”,在任务触发时间可能由于当前网络故障导致该任务运行失败,若在后续时间段再次触发运行则可能运行成功。因此本公开实施方式中,将运行失败的任务设置为未完成状态,在下一个时间段重复发送运行。但是也要考虑到,如果是由于第三方数据库故障导致的运行失败,那么无论重复运行多少次,该任务都无法成功运行,为了避免这些重复运行任务对资源的占用,本公开实施方式是在失败次数预设阈值,对于超过预设阈值的失败任务,则确定为失败状态,不再重复运行。
在一个示例中,例如设置失败次数预设阈值为M,在某个任务数据在触发时间运行失败的情况下,判断该任务数据的失败次数是否超过M,若未超过则将该任务数据的状态信息设置为未完成状态,若超过则将该任务数据的状态信息设置未失败状态。
数据库中的每个任务数据均具有各自的状态信息,从而在由数据库中确定目标任务时,即可根据任务数据的状态信息进行确定。下面结合图3实施方式进行详细说明。
如图3所示,在一些实施方式中,本公开任务处理方法包括:
S310、定期获取数据库中的各任务数据的状态信息。
S320、将状态信息满足任一预设触发条件的任务数据确定为目标任务。
具体来说,在一个示例中,在获取多个任务数据之后,根据任务数据生成对应的配置数据,并将配置数据存储于数据库中。数据库中每一个配置数据包括该任务的状态信息,可通过设置定时器实现定期检查数据库中每个配置数据的状态信息,从而即可获取到各任务数据的当前状态,将状态信息满足预设触发条件的任务数据确定为目标任务。
在本公开实施方式中,预设触发条件包括以下几种:
1)任务数据的状态信息为未注册状态,且任务数据的触发时间在第一预设时间阈值内。
例如,系统每隔10min定期检查数据库一次,将触发时间在10min以内的任务数据确定为目标任务。
2)任务数据的状态信息为已注册状态,且任务数据在对应触发时间未运行。
例如,某个任务数据在上个时间段被发送至任务队列,且该任务数据已被注册至定时触发器,但是在对应触发时间被遗漏触发运行。也即,虽然该任务数据被注册至定时触发器,但是却没有被正确的运行,则需要在当前时间段再次推送该任务,从而将该任务数据同样确定为目标任务。
3)任务数据的状态信息为未完成状态。
例如,某个任务数据在上个时间段运行失败,且失败次数未超过预设阈值,则需要在当前时间段再次推送该任务,同样将该任务数据确定为目标任务。
系统基于上述预设触发条件,定期检查数据库中的任务数据,将满足上述任一条件的任务数据确定为目标任务,从而将目标任务发送至任务队列,后续处理过程参见前述实施方式即可,在此不再赘述。
通过上述可知,本公开实施方式的任务处理方法,通过数据库中各任务数据的任务状态确定目标任务,并且目标任务不仅包括触发时间在第一预设时间阈值内的任务数据,还包括由于遗漏运行或运行失败等原因需要重新运行的任务,保证海量任务较为准确可靠的触发运行,云平台系统具有更高的可靠性。
值得说明的是,上述实施方式中的任务处理方法,可以由系统的一个节点执行,也可以由多个节点共同执行,本公开对此不作限制。而在一些实施方式中,本公开提供了一种分布式主从架构的云平台系统,从而可实现系统的无缝横向扩容。
图4中示出了本公开一些实施方式中的系统结构。如图4所示,在一些实施方式中,本公开云平台系统包括主节点410、多个从节点420以及队列服务器430。主节点410接收任务数据以及发送目标任务和第一任务,队列服务器430提供任务队列,接收主节点410发送的目标任务和第一任务,每一个从节点420均包括定时触发器,从节点420从任务队列抓取任务并注册至各自的定时触发器中。图5中示出了基于图4系统结构的本公开任务处理方法的一个具体实施方式,下面结合图4和图5进行详细说明。
如图5所示,在本实施方式中,任务处理方法共包括如下几个阶段:
一、主节点接收任务数据并存储于数据库。
在本阶段中,任务处理方法包括:
S501、获取租户购买云平台系统上的服务的支付订单,并根据支付订单生成与所述服务相关的多个任务数据。
具体来说,当租户购买云平台系统上的相关服务,会根据租户的购买信息生成相应的支付订单,支付订单可包括租户的租户标识、服务类型、服务起止时间以及支付情况等信息。根据支付订单包括的订单信息,生成与购买服务相关的一系列任务,也即多个任务数据,每个任务数据中包括有该任务数据的触发时间。
在一个示例中,例如,租户A购买了三年解析服务,可生成支付订单包括:租户A(ID:XXXX),服务类型:解析服务,起止时间:X年X月X日~X年X月X日,支付类型:网银支付,支付时间:X年X月X日,支付状态:已支付完成,等相关订单信息。
根据支付订单包括的订单信息,可生成例如下一系列任务数据:
“在订单开始时间触发更新该解析服务购买量和状态的任务”;
“在订单结束时间触发更新该解析服务购买量和状态的任务”;
“在订单开始时间触发的推送服务配额限制(scf)到kg网关服务的任务”;
“在订单结束时间触发的推送服务配额限制(scf)到kg网关服务的任务”;
“在订单开始时间推送部署工单给运维管理服务(oss)的任务”;
“在订单结束后N天推送销毁部署的工单给运维管理服务(oss)的任务”;
“在订单结束时间前N天推送服务即将结束的通知任务”。
上述每一个任务数据中均包括该任务数据的触发时间和状态信息。
S502、主节点获取多个任务数据,并在多个任务数据中确定第一任务和第二任务。
具体来说,主节点在获取上述任务数据之后,根据各个任务数据的触发时间,确定第一任务以及除第一任务之外的第二任务,具体过程参见图2实施方式即可,在此不再赘述。
S503、主节点将第一任务发送至队列服务器,并且将第一任务和第二任务存储于数据库。
具体来说,在本实施方式中,主节点根据任务数据生成对应的配置数据,配置数据包括任务的触发时间以及状态信息,将第一任务和第二任务对应的配置数据均存储于数据库中。同时,为了第一任务的即时触发运行,将第一任务发送至队列服务器的任务队列。
在本实施方式中,本公开的数据库采用多主结构,任务数据可同步复制更新,保证任务数据在长时间跨度下不会丢失,满足长时间跨度任务的系统可靠性。
在本阶段中,主节点接收各个租户购买服务生成的任务数据,一方面将任务数据中的第一任务发送至队列服务器,另一方面将所有任务数据存储于数据库中。
二、主节点定期从数据库中获取目标任务。
在本阶段,本公开任务处理方法包括:
S504、主节点定期由数据库中获取目标任务。
具体来说,本步骤可参见上述图3实施方式说明,在一个示例中,主节点可设置定时器,通过设置定时器实现定期检查数据库中各个配置数据的状态信息,将状态信息满足任一预设触发条件的任务数据确定为目标任务。本领域技术人员参见前述说明即可实现,在此不再赘述。
值得说明的是,在本实施方式中,为保证数据库中各个任务数据在触发时间之前至少被检查一次,主节点的定时器定期获取目标任务的间隔时间小于或等于第一预设时间阈值,从而避免数据库中的任务数据在定期检测过程中被遗漏,提高系统可靠性。
在一个示例中,主节点每隔5min检查数据库中各个任务数据的任务状态,将触发时间在10min之内的未注册状态的任务数据确定为目标任务,从而保证各个任务数据在触发时间之前至少被检查一次。
S505、主节点将目标任务发送至队列服务器。
具体来说,主节点在确定目标任务之后,将目标任务发送至队列服务器的任务队列。
在本阶段中,主节点定期由数据库中确定需要运行的目标任务,并将目标任务发送至队列服务器中,从而将针对各个租户各个服务的海量任务分散发送至队列服务器。
三、从节点获取任务队列的任务并注册至定时触发器。
在本阶段中,本公开方法包括:
S506、多个从节点由队列服务器的任务队列中获取任务,并且,每个从节点将获取的任务注册到各自的定时触发器。
具体来说,根据系统的运算压力,可以横向扩容多个从节点,每个从节点均设置一个定时触发器。
多个从节点由队列服务器的任务队列中获取任务,任务队列中的任务包括目标任务和第一任务,表示即将运行的任务数据以及需要重复运行的任务数据。每个从节点在抓取任务队列中的任务之后,根据抓取任务的配置数据将该任务注册到各自的定时触发器中,从而通过定时触发器将各个注册任务在触发时间运行。
在本阶段中,从节点抓取队列服务器的任务队列中的任务,将任务注册到各自的定时触发器中,从而通过定时触发器将各个注册任务在触发时间运行。
基于前述,在本实施方式中,每个任务数据包括状态信息,监控任务数据的运行情况从而设置对应的状态信息。例如:当任务数据注册至定时触发器时,将该任务数据的任务状态设置为已注册状态;当已注册至定时触发器的任务数据在触发时间运行且运行成功时,将该任务数据的任务状态设置为已完成状态;等。从而根据任务数据的状态信息确定目标任务,具体过程本领域技术人员参见图3实施方式所述即可,在此不再赘述。
通过上述可知,本公开实施方式的任务处理方法,应用的云平台系统为包括主节点和多个从节点的主从架构,从而可根据系统的运算能力实现无缝横向扩容,满足海量任务的处理需求,实现多租户云平台系统的海量长时间跨度任务的实时触发。
在本实施方式中,考虑到系统的高可靠性,从而在主节点处于宕机等异常状态下,从多个从节点从确定一个从节点作为新的主节点。具体来说,本实施方式的任务处理方法还包括:
响应于主节点处于异常状态,由多个从节点中确定一个从节点作为主节点。
具体而言,当主节点处于宕机等异常状态下时,系统可通过选举算法,由多个从节点中选举一个从节点作为新的主节点,从而保证云平台系统高可靠性稳定运行。选举过程本领域技术人员根据相关技术中选举机制即可实现,在此不再赘述。
值得说明的是,在本实施方式中,本公开云平台系统基于Go语言实现,Go语言是谷歌开发的编程语言,具有支持高并发等优点,从而实现单机百万级协程并发,保证海量任务的实时触发。
通过上述可知,在本实施方式中,云平台系统采用主从分布式架构,从而实现系统横向无缝扩容,满足海量任务的处理需求。并且在任务处理是,将任务数据存储于数据库中,保证系统长时间跨度的可靠性,而且根据任务的触发时间分散系统压力,满足海量任务的高可靠性调度需求。同时通过定时触发器保证任务队列的任务高精度的实时触发,实现多租户云平台系统的海量长时间跨度任务的实时触发。再有,主从分布式架构在主节点宕机之后自动选举新主节点,保证系统高可靠,而且基于Go语言实现,实现单机百万级协程并发,保证海量任务的实时触发。
第二方面,本公开实施方式提供了一种任务处理装置,该装置应用于云平台系统。图6中示出了本公开任务处理装置的一些实施方式。
如图6所示,在一些实施方式中,本公开任务处理装置包括:
获取模块10,用于获取多个任务数据;多个任务数据是与租户购买的云平台系统上的服务相关的任务数据,并且多个任务数据中的每一个任务数据均包括任务的触发时间;
存储模块20,用于将多个任务数据存储于数据库,并定期由数据库中获取目标任务;目标任务包括触发时间在第一预设时间阈值内的任务数据;
发送模块30,用于将目标任务发送至任务队列,并通过定时触发器将任务队列的各任务在对应的触发时间运行。
通过上述可知,本公开实施方式的任务处理装置,在获取多个任务数据后,并非将任务数据直接发送至任务队列,而是将任务数据存储于数据库中,从而在系统宕机情况下无需重新生成任务数据,满足云平台系统长时间跨度的可靠性要求。并且定期从数据库中获取第一预设时间阈值内的目标任务发送至任务队列,对于不到第一预设时间阈值的任务数据继续保留在数据库中,根据任务的触发时间分散系统压力,满足海量任务的高可靠性调度需求。同时通过定时触发器保证任务队列的任务高精度的实时触发,理论可以精确到纳秒级别的实时触发,从而实现多租户云平台系统的海量长时间跨度任务的实时触发。
在一些实施方式中,存储模块20具体用于:
在多个任务数据中确定第一任务和第二任务,第一任务是触发时间在第二预设时间阈值内的各任务数据,第二任务是除第一任务之外的各任务数据;第二预设时间阈值小于或等于第一预设时间阈值;
将第一任务发送至任务队列,并且,将第一任务和第二任务存储于数据库。
如图7所示,在一些实施方式中,任务数据包括状态信息和触发时间;任务处理装置还包括:
状态设置模块40,用于响应于任务数据的当前处理状态发生变化,将任务数据的状态信息设置为与当前处理状态对应的状态信息。
在一些实施方式中,状态设置模块40具体用于:
响应于任务数据未被注册至定时触发器,将任务数据的状态信息设置为未注册状态;
响应于任务数据已被注册至定时触发器,且尚未在对应的触发时间运行,将任务数据的状态信息设置为已注册状态;
响应于任务数据在对应的触发时间运行且运行成功,将任务数据的状态信息设置为已完成状态;
响应于任务数据在对应的触发时间运行且运行失败,并且任务数据的失败次数未超过预设阈值,将任务数据的状态信息设置为未完成状态。
在一些实施方式中,存储模块20具体用于:
定期获取数据库中的各任务数据的状态信息;
将满足任一预设触发条件的任务数据确定为目标任务,预设触发条件包括:
任务数据的状态信息为未注册状态,且任务数据的触发时间在第一预设时间阈值内;
任务数据的状态信息为已注册状态,且任务数据在对应触发时间未运行;
任务数据的状态信息为未完成状态。
在一些实施方式中,云平台系统包括主节点和多个从节点,每个从节点包括定时触发器;
获取模块具体用于:由主节点获取多个任务数据;
存储模块具体用于:由主节点将多个任务数据存储于数据库,并且主节点定期由数据库中获取目标任务;
发送模块具体用于:由主节点将目标任务发送至队列服务器的任务队列,多个从节点由任务队列中获取任务,并且,每个从节点将获取的任务注册到各自的定时触发器。
如图7所示,在一些实施方式中,任务处理装置,还包括:
主节点确定模块50,用于响应于主节点处于异常状态,由多个从节点中确定一个从节点作为主节点。
在一些实施方式中,获取模块10具体用于:
获取租户购买服务的支付订单,并根据支付订单生成与服务相关的多个任务数据。
通过上述可知,本公开实施方式的任务处理装置,在获取多个任务数据后,并非将任务数据直接发送至任务队列,而是将任务数据存储于数据库中,从而在系统宕机情况下无需重新生成任务数据,满足云平台系统长时间跨度的可靠性要求。并且定期从数据库中获取第一预设时间阈值内的目标任务发送至任务队列,对于不到第一预设时间阈值的任务数据继续保留在数据库中,根据任务的触发时间分散系统压力,满足海量任务的高可靠性调度需求。同时通过定时触发器保证任务队列的任务高精度的实时触发,理论可以精确到纳秒级别的实时触发,从而实现多租户云平台系统的海量长时间跨度任务的实时触发。
第三方面,本公开实施方式提供了一种云平台系统,包括:
处理器;和
存储器,与所述处理器可通信连接,其存储有能够被所述处理器读取的计算机指令,当所述计算机指令被读取时,所述处理器执行根据第一方面任一实施方式所述的任务处理方法。
第四方面,本公开实施方式提供了一种存储介质,存储有计算机可读指令,所述计算机可读指令用于使计算机执行根据第一方面任一实施方式所述的任务处理方法。
具体而言,图8示出了适于用来实现本公开方法的计算机系统600的结构示意图,通过图8所示系统,可实现上述处理器及存储介质相应功能。
如图8所示,计算机系统600包括处理器(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施方式,上文方法过程可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
显然,上述实施方式仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本公开创造的保护范围之中。

Claims (18)

1.一种任务处理方法,应用于云平台系统,其特征在于,所述方法包括:
获取多个任务数据;所述多个任务数据是与租户购买的所述云平台系统上的服务相关的任务数据,并且所述多个任务数据中的每一个任务数据均包括任务的触发时间;
将所述多个任务数据存储于数据库,并定期由所述数据库中获取目标任务;所述目标任务包括触发时间在第一预设时间阈值内的任务数据;
将所述目标任务发送至任务队列,并通过定时触发器将所述任务队列的各任务在对应的触发时间运行。
2.根据权利要求1所述的方法,其特征在于,所述将所述多个任务数据存储于数据库,包括:
在所述多个任务数据中确定第一任务和第二任务,所述第一任务是触发时间在第二预设时间阈值内的各任务数据,所述第二任务是除所述第一任务之外的各任务数据;所述第二预设时间阈值小于或等于所述第一预设时间阈值;
将所述第一任务发送至所述任务队列,并且,将所述第一任务和所述第二任务存储于所述数据库。
3.根据权利要求1或2所述的方法,其特征在于,所述任务数据包括状态信息和所述触发时间;所述方法还包括:
响应于所述任务数据的当前处理状态发生变化,将所述任务数据的状态信息设置为与所述当前处理状态对应的状态信息。
4.根据权利要求3所述的方法,其特征在于,响应于所述任务数据的当前处理状态发生变化,将所述任务数据的状态信息设置为与所述当前处理状态对应的状态信息,包括:
响应于所述任务数据未被注册至所述定时触发器,将所述任务数据的状态信息设置为未注册状态;
响应于所述任务数据已被注册至所述定时触发器,且尚未在对应的触发时间运行,将所述任务数据的状态信息设置为已注册状态;
响应于所述任务数据在对应的触发时间运行且运行成功,将所述任务数据的状态信息设置为已完成状态;
响应于所述任务数据在对应的触发时间运行且运行失败,并且所述任务数据的失败次数未超过预设阈值,将所述任务数据的状态信息设置为未完成状态。
5.根据权利要求4所述的方法,其特征在于,所述定期由所述数据库中获取目标任务,包括:
定期获取所述数据库中的各所述任务数据的状态信息;
将满足任一预设触发条件的所述任务数据确定为所述目标任务,所述预设触发条件包括:
所述任务数据的状态信息为未注册状态,且所述任务数据的触发时间在所述第一预设时间阈值内;
所述任务数据的状态信息为已注册状态,且所述任务数据在对应触发时间未运行;
所述任务数据的状态信息为未完成状态。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述云平台系统包括主节点和多个从节点,每个所述从节点包括定时触发器;
所述获取多个任务数据,包括:所述主节点获取所述多个任务数据;
所述将所述多个任务数据存储于数据库,并定期由所述数据库中获取目标任务,包括:所述主节点将所述多个任务数据存储于数据库,并且所述主节点定期由所述数据库中获取目标任务;
所述将所述目标任务发送至任务队列,并通过定时触发器将所述任务队列的各任务在对应的触发时间运行,包括:
所述主节点将所述目标任务发送至队列服务器的所述任务队列,所述多个从节点由所述任务队列中获取任务,并且,每个从节点将获取的任务注册到各自的定时触发器。
7.根据权利要求6所述的方法,其特征在于,还包括:
响应于所述主节点处于异常状态,由所述多个从节点中确定一个从节点作为主节点。
8.根据权利要求1至7所述的方法,其特征在于,所述获取多个任务数据,包括:
获取租户购买所述服务的支付订单,并根据所述支付订单生成与所述服务相关的所述多个任务数据。
9.一种任务处理装置,应用于云平台系统,其特征在于,所述装置包括:
获取模块,用于获取多个任务数据;所述多个任务数据是与租户购买的所述云平台系统上的服务相关的任务数据,并且所述多个任务数据中的每一个任务数据均包括任务的触发时间;
存储模块,用于将所述多个任务数据存储于数据库,并定期由所述数据库中获取目标任务;所述目标任务包括触发时间在第一预设时间阈值内的任务数据;
发送模块,用于将所述目标任务发送至任务队列,并通过定时触发器将所述任务队列的各任务在对应的触发时间运行。
10.根据权利要求9所述的装置,其特征在于,所述存储模块具体用于:
在所述多个任务数据中确定第一任务和第二任务,所述第一任务是触发时间在第二预设时间阈值内的各任务数据,所述第二任务是除所述第一任务之外的各任务数据;所述第二预设时间阈值小于或等于所述第一预设时间阈值;
将所述第一任务发送至所述任务队列,并且,将所述第一任务和所述第二任务存储于所述数据库。
11.根据权利要求9或10所述的装置,其特征在于,所述任务数据包括状态信息和所述触发时间;所述装置还包括:
状态设置模块,用于响应于所述任务数据的当前处理状态发生变化,将所述任务数据的状态信息设置为与所述当前处理状态对应的状态信息。
12.根据权利要求11所述的装置,其特征在于,所述状态设置模块具体用于:
响应于所述任务数据未被注册至所述定时触发器,将所述任务数据的状态信息设置为未注册状态;
响应于所述任务数据已被注册至所述定时触发器,且尚未在对应的触发时间运行,将所述任务数据的状态信息设置为已注册状态;
响应于所述任务数据在对应的触发时间运行且运行成功,将所述任务数据的状态信息设置为已完成状态;
响应于所述任务数据在对应的触发时间运行且运行失败,并且所述任务数据的失败次数未超过预设阈值,将所述任务数据的状态信息设置为未完成状态。
13.根据权利要求12所述的装置,其特征在于,所述存储模块具体用于:
定期获取所述数据库中的各所述任务数据的状态信息;
将满足任一预设触发条件的所述任务数据确定为所述目标任务,所述预设触发条件包括:
所述任务数据的状态信息为未注册状态,且所述任务数据的触发时间在所述第一预设时间阈值内;
所述任务数据的状态信息为已注册状态,且所述任务数据在对应触发时间未运行;
所述任务数据的状态信息为未完成状态。
14.根据权利要求9至13任一项所述的装置,其特征在于,所述云平台系统包括主节点和多个从节点,每个所述从节点包括定时触发器;
所述获取模块具体用于:由所述主节点获取所述多个任务数据;
所述存储模块具体用于:由所述主节点将所述多个任务数据存储于数据库,并且所述主节点定期由所述数据库中获取目标任务;
所述发送模块具体用于:由所述主节点将所述目标任务发送至队列服务器的所述任务队列,所述多个从节点由所述任务队列中获取任务,并且,每个从节点将获取的任务注册到各自的定时触发器。
15.根据权利要求14所述的装置,其特征在于,还包括:
主节点确定模块,用于响应于所述主节点处于异常状态,由所述多个从节点中确定一个从节点作为主节点。
16.根据权利要求9至15任一项所述的装置,其特征在于,所述获取模块具体用于:
获取租户购买所述服务的支付订单,并根据所述支付订单生成与所述服务相关的所述多个任务数据。
17.一种云平台系统,其特征在于,包括:
处理器;和
存储器,与所述处理器可通信连接,其存储有能够被所述处理器读取的计算机指令,当所述计算机指令被读取时,所述处理器执行根据权利要求1至8任一项所述的方法。
18.一种存储介质,其特征在于,存储有计算机可读指令,所述计算机可读指令用于使计算机执行根据权利要求1至8任一项所述的方法。
CN202011320055.2A 2020-11-23 2020-11-23 任务处理方法及装置 Withdrawn CN112286669A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011320055.2A CN112286669A (zh) 2020-11-23 2020-11-23 任务处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011320055.2A CN112286669A (zh) 2020-11-23 2020-11-23 任务处理方法及装置

Publications (1)

Publication Number Publication Date
CN112286669A true CN112286669A (zh) 2021-01-29

Family

ID=74425236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011320055.2A Withdrawn CN112286669A (zh) 2020-11-23 2020-11-23 任务处理方法及装置

Country Status (1)

Country Link
CN (1) CN112286669A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051019A (zh) * 2021-03-31 2021-06-29 北京和信融慧信息科技有限公司 流程任务执行管控方法、装置以及设备
CN113807924A (zh) * 2021-09-24 2021-12-17 华院分析技术(上海)有限公司 基于批量处理算法的业务处理分配方法、系统、存储介质及设备
WO2023275588A1 (en) * 2021-06-28 2023-01-05 Sensetime International Pte. Ltd. Methods and apparatuses for automatic operational maintenance

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051019A (zh) * 2021-03-31 2021-06-29 北京和信融慧信息科技有限公司 流程任务执行管控方法、装置以及设备
WO2023275588A1 (en) * 2021-06-28 2023-01-05 Sensetime International Pte. Ltd. Methods and apparatuses for automatic operational maintenance
CN113807924A (zh) * 2021-09-24 2021-12-17 华院分析技术(上海)有限公司 基于批量处理算法的业务处理分配方法、系统、存储介质及设备

Similar Documents

Publication Publication Date Title
CN112286669A (zh) 任务处理方法及装置
CN110222091B (zh) 一种海量数据实时统计分析方法
CN108710544B (zh) 一种数据库系统的进程监控方法及轨道交通综合监控系统
CN111752850B (zh) 区块链系统的测试方法及相关设备
CN110895488B (zh) 任务调度方法及装置
CN112579692B (zh) 一种数据同步方法、装置、系统、设备及存储介质
CN112256593B (zh) 一种程序处理方法、装置、计算机设备和可读存储介质
CN110798339A (zh) 一种基于分布式任务调度框架的任务容灾方法
CN113157426B (zh) 一种任务调度方法、系统、设备及存储介质
CN111628903B (zh) 交易系统运行状态的监控方法及监控系统
CN110096284B (zh) 一种可视化发布软件的方法、装置、电子设备及存储介质
CN112783629A (zh) 服务调用方法、装置、电子设备及存储介质
CN112650815B (zh) 环境数据的同步方法及装置、存储介质及电子装置
CN110875832A (zh) 异常业务监控方法、装置、系统及计算机可读存储介质
Zhu et al. Challenges in practicing high frequency releases in cloud environments
CN112765188A (zh) 配置信息处理方法、配置管理系统、电子设备及存储介质
CN115271835A (zh) 一种发票生成方法、装置、电子设备及存储介质
US11941564B2 (en) Event monitoring with support system integration
CN113515403B (zh) 微服务状态检查方法、计算机设备及存储介质
CN117032916B (zh) 基于事件的任务调度算法、装置和存储介质
CN112148463B (zh) 一种业务流程控制方法及装置
US20230039822A1 (en) Automated monitoring of infrastructure and application on cloud
CN114035807A (zh) 应用发布系统、方法、装置以及设备
CN112860389A (zh) 一种基于状态机的任务调度方法
CN115460077A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20210129

WW01 Invention patent application withdrawn after publication