CN109102200B - 一种定时任务处理方法及装置 - Google Patents

一种定时任务处理方法及装置 Download PDF

Info

Publication number
CN109102200B
CN109102200B CN201810979821.2A CN201810979821A CN109102200B CN 109102200 B CN109102200 B CN 109102200B CN 201810979821 A CN201810979821 A CN 201810979821A CN 109102200 B CN109102200 B CN 109102200B
Authority
CN
China
Prior art keywords
task
subtask
parameter
subtasks
determining
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.)
Active
Application number
CN201810979821.2A
Other languages
English (en)
Other versions
CN109102200A (zh
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201810979821.2A priority Critical patent/CN109102200B/zh
Publication of CN109102200A publication Critical patent/CN109102200A/zh
Application granted granted Critical
Publication of CN109102200B publication Critical patent/CN109102200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1097Task assignment

Abstract

公开了一种定时任务处理方法及装置。一种定时任务处理方法,该方法包括:任一业务集群的主设备在接收到主任务初始化通知的情况下,读取预设的配置文件,并使用该配置文件中的参数值,为预设配置模型中对应的待赋值参数赋值;根据系统中数据库的数量N,确定所述主任务的子任务的数量M,并将所述主任务拆分为M个子任务;根据已赋值的配置模型中子任务分配参数的值,确定M个子任务中由本集群处理的m个子任务,并将所确定的m个子任务分发至本集群的设备;所述集群的任一设备在接收到子任务的情况下,确定该子任务对应的数据库,并根据该子任务对该对应数据库的数据进行处理。

Description

一种定时任务处理方法及装置
技术领域
本说明书实施例涉及互联网应用技术领域,尤其涉及一种定时任务处理方法及装置。
背景技术
随着业务量的提高,业务系统一般采用多个业务设备构成的业务集群,处理系统中需要定时调度执行的任务。以理财业务系统为例,可以包括多个业务集群及1个数据集群,数据集群中的多个数据库中,分别存储着不同客户账户的业务操作记录等数据。以系统中每日向客户账户发放理财收益的定时任务为例,首先通过预先编写的代码完成对该任务的初始化配置,并根据配置将该任务分为多个二级任务,并分发至各业务集群中,再由各集群的主设备将二级任务拆分为三级人物后,分发至本集群的各业务设备,由各业务设备按照配置的流程处理接收到的三级任务。根据不同的业务需求,需要编写不同的代码,对任务进行各类配置,从而实现各种处理流程。
基于现有技术,需要一种操作更灵活的定时任务处理方案。
发明内容
针对上述技术问题,本说明书实施例提供一种定时任务处理方法及装置,技术方案如下:
一种定时任务处理方法,该方法应用于系统中的任一业务集群,所述业务集群中包括若干设备,所述若干设备中包括1台主设备,该方法包括:
任一业务集群的主设备在接收到主任务初始化通知的情况下,读取预设的配置文件,并使用该配置文件中的参数值,为预设配置模型中对应的待赋值参数赋值;所述待赋值参数包括:子任务分配参数,用于表示系统中各业务集群对任一主任务的各子任务的分配模式;
根据系统中数据库的数量N,确定所述主任务的子任务的数量M,并将所述主任务拆分为M个子任务;其中,N和M为正整数且2≤M≤N,每个子任务至少对应1个数据库;
根据已赋值的配置模型中子任务分配参数的值,确定M个子任务中由本集群处理的m个子任务,并将所确定的m个子任务分发至本集群的设备;其中,m为正整数,且m≤M;
所述集群的任一设备在接收到子任务的情况下,确定该子任务对应的数据库,并根据该子任务对该对应数据库的数据进行处理。
一种定时任务处理装置,该装置应用于系统中的任一业务集群,所述业务集群中包括若干设备,所述若干设备中包括1台主设备,该装置包括:
应用于业务集群主设备的主任务初始化模块、子任务拆分模块、子任务分发模块,以及应用于业务集群任一设备的子任务执行模块;
所述主任务初始化模块,用于在接收到主任务初始化通知的情况下,读取预设的配置文件,并使用该配置文件中的参数值,为预设配置模型中对应的待赋值参数赋值;所述待赋值参数包括:子任务分配参数,用于表示系统中各业务集群对任一主任务的各子任务的分配模式;
所述子任务拆分模块,用于根据系统中数据库的数量N,确定所述主任务的子任务的数量M,并将所述主任务拆分为M个子任务;其中,N和M为正整数且2≤M≤N,每个子任务至少对应1个数据库;
所述子任务分发模块,用于根据已赋值的配置模型中子任务分配参数的值,确定M个子任务中由本集群处理的m个子任务,并将所确定的m个子任务分发至本集群的设备;其中,m为正整数,且m≤M;
所述子任务执行模块,用于在接收到子任务的情况下,确定该子任务对应的数据库,并根据该子任务对该对应数据库的数据进行处理。
本说明书实施例所提供的技术方案,预先设定各种定时任务可以通用的配置模型,模型中包括若干待赋值的参数,在对主任务进行初始化时,确定若干参数的值,从而实现对不同主任务的不同配置,并在后续根据初始化时赋值得到的配置模型,进行子任务的拆分、分发及处理。本方案使对主任务的配置过程更灵活、简便,从而可以实现更灵活的定时任务处理过程。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书实施例的业务系统的框架示意图;
图2是本说明书实施例的定时任务处理方法的流程示意图;
图3是本说明书实施例的定时任务处理装置的一种结构示意图;
图4是本说明书实施例的定时任务处理装置的另一种结构示意图;
图5是用于配置本说明书实施例装置的一种设备的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
本说明书中的业务系统的架构可以如图1所示,可以包括多个业务集群及一个数据集群。每个业务集群中包括多台业务设备,其中1台为主设备,其他为从设备。数据集群中包括多个数据库,可以按照预设的存储规则,分别存储不同的业务数据。可以理解的是,本说明书中所指的集群,是指逻辑集群,而并非必须为物理集群。
现有技术中,在处理定时任务时,任务被定时触发后,首先根据预先编写的代码,对该任务进行初始化配置,例如确定处理数据时的速率等。初始化完成后,该任务将被拆分为多个二级任务,从而发送至若干业务集群的主设备。
主设备接收到二级任务后,进一步地将二级任务拆分为三级任务,并根据负载均衡的原则,将各三级任务分发至本集群的各业务设备(可以包括主设备自身),从而由各业务设备根据三级任务具体地处理数据集群中各数据库的数据。
上述流程为处理定时任务时的基本流程,但根据不同的业务需求而设定不同定时任务,也需要根据不同的需求设定不同的额外步骤,例如,在各个拆分节点、分发节点进行预设条件的判断等,不同的定时任务可能存在着不同或相同的额外步骤,对此,现有技术的方案需要针对不同的任务编写的代码,从而实现不同的配置,因而对定时任务的实现、配置过程较为繁琐。此外,使用代码进行初始化配置后,至任务执行完成之前,无法对执行过程的参数值进行更改,也增加了定时任务处理的不便。
针对上述问题,本说明书实施例提供一种定时任务处理方法,应用于系统中的任一业务集群,参见图2所示,该方法可以包括以下步骤:
S101,任一业务集群的主设备在接收到主任务初始化通知的情况下,读取预设的配置文件,并使用该配置文件中的参数值,为预设配置模型中对应的待赋值参数赋值;
本说明书提供的方案中,对定时任务仅进行一次拆分与分发,为便于描述,将拆分前的任务成为主任务,拆分后的成为子任务。
主任务被定时触发后,系统中各个业务集群的主设备,均可以接收到对应的主任务初始化通知,其中某一业务集群的主设备可以对该主任务进行配置初始化,具体地可以由通知指定或由各主设备协商决定进行初始化的主设备,在此不做详细阐述。
本说明书提供的方案中,预先设定了配置模型,模型中包括若干待赋值的参数,而定时任务的配置文件中包括各参数的值,通过为不同参数赋不同的值,实现对不同定时任务的不同配置。主设备对主任务进行初始化时,将读取配置文件中的参数值,并为配置模型中的对应参数赋值。
本说明书提供的方案中,将各个定时任务均相同的基本流程之外的步骤,均抽象为待赋值的参数,并将对应的具体步骤抽象为参数值。例如,待赋值参数可以包括子任务分配参数,用于表示系统中各业务集群对任一主任务的各子任务的分配模式,则参数值为具体的分配模式,如均衡模式、绑定模式等,使用配置文件中的参数值为配置模型的参数赋值后,即为该主任务指定了子任务分配的具体模式,关于子任务分配的具体执行将于S103中详细描述。
S102,根据系统中数据库的数量N,确定所述主任务的子任务的数量M,并将所述主任务拆分为M个子任务;其中,N和M为正整数且2≤M≤N,每个子任务至少对应1个数据库;
1个主任务通常需要对系统中各个数据库的数据进行处理,如捞取各个数据库中的特定数据等,因而1台业务设备直接处理1个主任务,可能造成设备负载过高,且处理效率低下。
本方案中根据系统中数据库的数量,将主任务拆分为多个子任务,每个子任务对应1个或多个数据库,并由1个或多个业务集群的各业务设备,分别处理各子任务,从而提高定时任务的处理效率。
其中,子任务的数量M可以不小于2、且不大于数据库的数量N,例如,当主任务的任务量较小时,拆分太多反而可能增加拆分与分发的工作量,因此可以仅拆分为2个或少数几个;而当任务量较大时,如上所述主任务通常是处理各数据库中的数据,因此最多可以为每个数据库拆分1个对应的子任务。
根据N确定M的具体规则,可以由研发人员根据经验确定、或通过大数据训练相应的模型、等等,本说明书实施例对此不做限定。
S103,根据已赋值的配置模型中子任务分配参数的值,确定M个子任务中由本集群处理的m个子任务,并将所确定的m个子任务分发至本集群的设备;其中,m为正整数,且m≤M;
如S101中所述,待赋值参数可以包括子任务分配参数,而对应的参数值可以为均衡模式、绑定模式等。本说明书实施例中,可以首先确定已赋值的配置模型中子任务分配参数的值。
若确定子任务分配参数的值为均衡模式,则根据预设的均衡分配规则、及子任务的数量M,确定由本集群处理的m个子任务。例如,均衡分配规则可以为,将M个子任务顺序均分至各个业务集群,则可以据此确定由本集群处理的子任务个数m、及具体哪m个子任务;又如,均衡分配规则中可以包括各业务集群中的设备数量,从而为设备数量较多的集群分配较多的子任务;等等。本说明书实施例不做具体限定。
若确定子任务分配参数的值为绑定模式,则获得预设的本集群与系统中各数据库的绑定关系,并确定M个子任务与系统中各数据库的对应关系;根据所述绑定关系与对应关系,确定M个子任务中由本集群处理的m个子任务。如S102中所述,每个子任务至少对应1个数据库,因此在S103中可以据此确定M个子任务与系统中各数据库的对应关系;此外,在将该任务配置为绑定模式的情况下,研发人员还将预先设定各集群与数据库的绑定关系。因此,在本步骤中,可以根据绑定关系与对应关系,确定本集群绑定的数据库对应的子任务。
S104,所述集群的任一设备在接收到子任务的情况下,确定该子任务对应的数据库,并根据该子任务对该对应数据库的数据进行处理。
S103中将m个子任务分发至本集群的各业务设备时,也可以根据负载均衡的原则,尽量均衡地分发至各设备,从而提高子任务的处理效率,但可以理解的是,实际情况中各设备接收到的子任务的数量可能相同或不同。
根据该子任务对该对应数据库的数据进行处理时,也可能涉及到需要在初始化时为配置模型赋值的参数,例如捞取数据库的特定数据时,具体的捞取速率、捞取量等,均可以通过为对应参数赋值的方式进行指定。
根据本说明书提供的方案,通过预设的配置模型,对不同定时任务可能涉及到的不同步骤进行了抽象,抽象为待赋值的参数后,只需在配置文件中指定参数值,即可通过赋值的方式实现灵活的配置。
子任务分配参数可以通过赋值,实现不同的子任务分配模式的配置。
配置模型的待赋值参数,还可以包括任务启动参数,用于表示启动子任务的条件,具体的参数值可以为窗口期模式、依赖模式、等等。
对应的定时任务处理流程中,在根据该子任务对该对应数据库的数据进行处理时,可以首先确定已赋值的配置模型中任务启动参数的值,并判断当前情况是否满足所确定参数值对应的任务启动条件。
例如,如果确定任务启动参数的值为窗口期模式,则获得预设的窗口期起始时间与终止时刻,并确定当前时刻;判断当前时刻是否不小于起始时刻且不大于终止时刻,即当前时刻是否在窗口期内。如果判断结果为当前时刻在窗口期内,则可以根据该子任务对该对应数据库的数据进行处理。此外,如果当前时刻大于终止时刻,还可以进行任务超时报警等。
又如,如果确定任务启动参数的值为依赖模式,则确定预设的依赖任务,并获得该依赖任务当前的任务状态;判断所述依赖任务当前的任务状态,是否为已完成状态。如果该依赖任务已完成,则本任务满足启动条件,可以根据该子任务对该对应数据库的数据进行处理。
可以理解的是,窗口期模式与依赖模式也可以结合使用,例如当依赖任务完成且当前时刻在窗口期内时,确定本任务满足启动条件。并且,任务启动参数的值还可以为其他具体参数值,如可以为永久模式,即任务不会停止,将永久循环执行,等等,本说明书实施例不做限定。
配置模型的待赋值参数,还可以包括其他参数,如在主任务与子任务拆分、分发与执行的各个节点,均可以设置相应的参数,如主/子任务前置判断参数、主/子任务结束判断参数、等等,通过为这些设置子各节点的参数赋值,可以实现在各个节点执行之前或之后,加入额外的执行步骤。
本说明书提供的方案中,通过为配置模型的参数赋值,可以实现定时任务处理流程的灵活配置,此外,还可以通过直接修改模型的参数值,实现在任务处理过程中,改变对定时任务的配置,从而使任务的处理流程更加灵活。
本说明实施例中,所述主设备在接收到参数值修改指令的情况下,可以获取所述修改指令中指定的参数及参数值;例如,对于子任务分配参数,初始化时赋值为绑定模式,则可以在修改指令中指定子任务分配参数和均衡模式。
确定指定的参数与参数值后,可以使用所指定的参数值,为已赋值的配置模型中的所指定的参数重新赋值,以便后续步骤中,根据已赋值的配置模型中新的参数值对定时任务进行处理。例如,将子任务分配参数重新赋值为均衡模式,从而可以在定时任务的处理过程中,根据实际需求灵活地调整。
下面结合一个更为具体的实例,对本说明书提供的定时任务处理方法进行说明。
以理财场景为例,假设需要在每日0点向用户发放前一日的理财收益,则每日0点将触发收益发放任务(主任务),具体地,包括从数据库中捞取每个客户的收益额数据,并根据该金额向客户发放收益。
假设系统中包括业务集群A与业务集群B,共2个业务集群,且A与B中均分别包括5个业务设备,分别为设备1、设备2、……设备10。此外,系统中10个数据库,分别为数据库1、数据库2、……数据库10,且每个数据库中均按照客户号的顺序,分别存储了100位客户的业务流量,例如,数据库1中存储了客户号为00001~00100的客户的业务流量;数据库1中存储了客户号为00101~00200的客户的业务流量;等等。
该主任务被定时触发后,将向集群A与集群B的主设备,发送主任务初始化通知,假设集群A的主设备对该主任务进行初始化配置,则该主设备将读取预设的配置文件,并使用该配置文件中的参数值,为预设配置模型中的子任务分配参数、任务启动参数、捞取条件判断参数、数据捞取速率参数、数据分发尺寸参数、等参数赋值,假设将子任务分配参数赋值为均衡模式、任务启动参数赋值为窗口模式、捞取条件判断参数赋值为结算平台已将收益金额存入数据库、数据捞取速率参数赋值为20条/分钟、数据分发尺寸参数赋值为10条、等等,从而得到已赋值的配置模型。
集群A的主设备,还可以根据系统中数据库的数量10,确定将要拆分的子任务的数量,如10,并将主任务拆分为10个子任务,即针对10个数据库进行数据捞取与收益分发的子任务。由于子任务分配参数的值为均衡模式,则可以将对应数据库1~5的5个子任务,确定为由本集群(集群A)处理的子任务,并进行分发。
此外,集群A对主任务完成拆分后,还可以进一步地更改主任务的状态,从而通知集群B的主设备获取并分发另外5个子任务。
集群A与集群B中的各设备(假设分发后每个业务设备均分到1个子任务)接收到子任务后,确定该子任务对应的数据库,假设集群A的设备1接收到的子任务对应数据库1,由于配置模型中将任务启动参数赋值为窗口模式,并将捞取条件判断参数赋值为结算平台已将收益金额存入数据库,则可以首先判断当前时间是否在窗口期内,若是,则继续处理,即进一步判断结算平台,是否已将客户号为00001~00100的客户的收益金额存入数据库1中,若是,则继续处理,即捞取00001~00100客户的100条收益金额数据,捞取速率为20条/分钟。
将100条数据捞取完毕后(或者在捞取过程中),为了提高处理效率,可以根据负载均衡的原则,将数据进一步地分发至本集合的各设备,进行收益分发的处理。
此外,还可以在捞取过程中,根据实际情况修改捞取速率,如在设备负载较高时,将速率修改为10条/分钟,等等。
可见,应用上述方案,可以通过配置模型的待赋值参数,对定时任务进行抽象与扩展,并且可以在任务处理过程中动态地修改参数值,从而使定时任务的配置与处理过程更加灵活、简便,提高了任务的实现与处理效率。
相应于上述方法实施例,本说明书实施例还提供一种定时任务处理装置,应用于系统中的任一业务集群,所述业务集群中包括若干设备,所述若干设备中包括1台主设备,参见图3所示,该装置可以包括:
应用于业务集群主设备的主任务初始化模块110、子任务拆分模块120、子任务分发模块130,以及应用于业务集群任一设备的子任务执行模块140;
所述主任务初始化模块110,用于在接收到主任务初始化通知的情况下,读取预设的配置文件,并使用该配置文件中的参数值,为预设配置模型中对应的待赋值参数赋值;所述待赋值参数包括:子任务分配参数,用于表示系统中各业务集群对任一主任务的各子任务的分配模式;
所述子任务拆分模块120,用于根据系统中数据库的数量N,确定所述主任务的子任务的数量M,并将所述主任务拆分为M个子任务;其中,N和M为正整数且2≤M≤N,每个子任务至少对应1个数据库;
所述子任务分发模块130,用于根据已赋值的配置模型中子任务分配参数的值,确定M个子任务中由本集群处理的m个子任务,并将所确定的m个子任务分发至本集群的设备;其中,m为正整数,且m≤M;
所述子任务执行模块140,用于在接收到子任务的情况下,确定该子任务对应的数据库,并根据该子任务对该对应数据库的数据进行处理。
在本说明书提供的一种具体实施方式中,所述子任务分发模块130,具体可以用于:
确定已赋值的配置模型中子任务分配参数的值;
若确定子任务分配参数的值为均衡模式,则根据预设的均衡分配规则、及子任务的数量M,确定由本集群处理的m个子任务;
若确定子任务分配参数的值为绑定模式,则获得预设的本集群与系统中各数据库的绑定关系,并确定M个子任务与系统中各数据库的对应关系;根据所述绑定关系与对应关系,确定M个子任务中由本集群处理的m个子任务。
在本说明书提供的一种具体实施方式中,所述待赋值参数,还可以包括:任务启动参数,用于表示启动子任务的条件;
所述子任务执行模块140,可以包括:
启动参数值确定单元,用于确定已赋值的配置模型中任务启动参数的值;
启动条件判断单元,用于判断当前情况是否满足所确定参数值对应的任务启动条件;
子任务执行单元,用于在当前情况满足所确定参数值对应的任务启动条件的情况下,根据该子任务对该对应数据库的数据进行处理。
在本说明书提供的一种具体实施方式中,在所确定任务启动参数的值为窗口期模式的情况下,所述启动条件判断单元,具体可以用于:
获得预设的窗口期起始时间与终止时刻,并确定当前时刻;
判断当前时刻是否不小于起始时刻且不大于终止时刻。
在本说明书提供的一种具体实施方式中,在所确定任务启动参数的值为依赖模式的情况下,所述启动条件判断单元,具体可以用于:
确定预设的依赖任务,并获得该依赖任务当前的任务状态;
判断所述依赖任务当前的任务状态,是否为已完成状态。
在本说明书提供的一种具体实施方式中,参见图4所示,所述装置还包括应用于业务集群主设备的参数值修改模块150,具体用于:
所述主设备在接收到参数值修改指令的情况下,获取所述修改指令中指定的参数及参数值;
使用所指定的参数值,为已赋值的配置模型中的所指定的参数重新赋值,以便后续步骤中,根据已赋值的配置模型中新的参数值对定时任务进行处理。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述的定时任务处理方法。该方法至少包括:
一种定时任务处理方法,该方法应用于系统中的任一业务集群,所述业务集群中包括若干设备,所述若干设备中包括1台主设备,该方法包括:
任一业务集群的主设备在接收到主任务初始化通知的情况下,读取预设的配置文件,并使用该配置文件中的参数值,为预设配置模型中对应的待赋值参数赋值;所述待赋值参数包括:子任务分配参数,用于表示系统中各业务集群对任一主任务的各子任务的分配模式;
根据系统中数据库的数量N,确定所述主任务的子任务的数量M,并将所述主任务拆分为M个子任务;其中,N和M为正整数且2≤M≤N,每个子任务至少对应1个数据库;
根据已赋值的配置模型中子任务分配参数的值,确定M个子任务中由本集群处理的m个子任务,并将所确定的m个子任务分发至本集群的设备;其中,m为正整数,且m≤M;
所述集群的任一设备在接收到子任务的情况下,确定该子任务对应的数据库,并根据该子任务对该对应数据库的数据进行处理。
图5示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的定时任务处理方法。该方法至少包括:
一种定时任务处理方法,该方法应用于系统中的任一业务集群,所述业务集群中包括若干设备,所述若干设备中包括1台主设备,该方法包括:
任一业务集群的主设备在接收到主任务初始化通知的情况下,读取预设的配置文件,并使用该配置文件中的参数值,为预设配置模型中对应的待赋值参数赋值;所述待赋值参数包括:子任务分配参数,用于表示系统中各业务集群对任一主任务的各子任务的分配模式;
根据系统中数据库的数量N,确定所述主任务的子任务的数量M,并将所述主任务拆分为M个子任务;其中,N和M为正整数且2≤M≤N,每个子任务至少对应1个数据库;
根据已赋值的配置模型中子任务分配参数的值,确定M个子任务中由本集群处理的m个子任务,并将所确定的m个子任务分发至本集群的设备;其中,m为正整数,且m≤M;
所述集群的任一设备在接收到子任务的情况下,确定该子任务对应的数据库,并根据该子任务对该对应数据库的数据进行处理。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (13)

1.一种定时任务处理方法,该方法应用于系统中的任一业务集群,所述业务集群中包括若干设备,所述若干设备中包括1台主设备,该方法包括:
任一业务集群的主设备在接收到主任务初始化通知的情况下,读取预设的配置文件,并使用该配置文件中的参数值,为预设配置模型中对应的待赋值参数赋值;所述待赋值参数包括:子任务分配参数,用于表示系统中各业务集群对任一主任务的各子任务的分配模式;
根据系统中数据库的数量N,确定所述主任务的子任务的数量M,并将所述主任务拆分为M个子任务;其中,N和M为正整数且2≤M≤N,每个子任务至少对应1个数据库;
根据已赋值的配置模型中子任务分配参数的值,确定M个子任务中由本集群处理的m个子任务,并将所确定的m个子任务分发至本集群的设备;其中,m为正整数,且m≤M;
所述集群的任一设备在接收到子任务的情况下,确定该子任务对应的数据库,并根据该子任务对该对应数据库的数据进行处理。
2.根据权利要求1所述的方法,所述根据已赋值的配置模型中子任务分配参数的值,确定M个子任务中由本集群处理的m个子任务,包括:
确定已赋值的配置模型中子任务分配参数的值;
若确定子任务分配参数的值为均衡模式,则根据预设的均衡分配规则、及子任务的数量M,确定由本集群处理的m个子任务;
若确定子任务分配参数的值为绑定模式,则获得预设的本集群与系统中各数据库的绑定关系,并确定M个子任务与系统中各数据库的对应关系;根据所述绑定关系与对应关系,确定M个子任务中由本集群处理的m个子任务。
3.根据权利要求1所述的方法,所述待赋值参数,还包括:任务启动参数,用于表示启动子任务的条件;
所述根据该子任务对该对应数据库的数据进行处理,包括:
确定已赋值的配置模型中任务启动参数的值;
判断当前情况是否满足所确定参数值对应的任务启动条件;
若是,则根据该子任务对该对应数据库的数据进行处理。
4.根据权利要求3所述的方法,在所确定任务启动参数的值为窗口期模式的情况下,所述判断当前情况是否满足所确定值对应的任务启动条件,包括:
获得预设的窗口期起始时间与终止时刻,并确定当前时刻;
判断当前时刻是否不小于起始时刻且不大于终止时刻。
5.根据权利要求3所述的方法,在所确定任务启动参数的值为依赖模式的情况下,所述判断当前情况是否满足所确定值对应的任务启动条件,包括:
确定预设的依赖任务,并获得该依赖任务当前的任务状态;
判断所述依赖任务当前的任务状态,是否为已完成状态。
6.根据权利要求1至5任一项所述的方法,还包括:
所述主设备在接收到参数值修改指令的情况下,获取所述修改指令中指定的参数及参数值;
使用所指定的参数值,为已赋值的配置模型中的所指定的参数重新赋值,以便后续步骤中,根据已赋值的配置模型中新的参数值对定时任务进行处理。
7.一种定时任务处理装置,该装置应用于系统中的任一业务集群,所述业务集群中包括若干设备,所述若干设备中包括1台主设备,该装置包括:
应用于业务集群主设备的主任务初始化模块、子任务拆分模块、子任务分发模块,以及应用于业务集群任一设备的子任务执行模块;
所述主任务初始化模块,用于在接收到主任务初始化通知的情况下,读取预设的配置文件,并使用该配置文件中的参数值,为预设配置模型中对应的待赋值参数赋值;所述待赋值参数包括:子任务分配参数,用于表示系统中各业务集群对任一主任务的各子任务的分配模式;
所述子任务拆分模块,用于根据系统中数据库的数量N,确定所述主任务的子任务的数量M,并将所述主任务拆分为M个子任务;其中,N和M为正整数且2≤M≤N,每个子任务至少对应1个数据库;
所述子任务分发模块,用于根据已赋值的配置模型中子任务分配参数的值,确定M个子任务中由本集群处理的m个子任务,并将所确定的m个子任务分发至本集群的设备;其中,m为正整数,且m≤M;
所述子任务执行模块,用于在接收到子任务的情况下,确定该子任务对应的数据库,并根据该子任务对该对应数据库的数据进行处理。
8.根据权利要求7所述的装置,所述子任务分发模块,具体用于:
确定已赋值的配置模型中子任务分配参数的值;
若确定子任务分配参数的值为均衡模式,则根据预设的均衡分配规则、及子任务的数量M,确定由本集群处理的m个子任务;
若确定子任务分配参数的值为绑定模式,则获得预设的本集群与系统中各数据库的绑定关系,并确定M个子任务与系统中各数据库的对应关系;根据所述绑定关系与对应关系,确定M个子任务中由本集群处理的m个子任务。
9.根据权利要求7所述的装置,所述待赋值参数,还包括:任务启动参数,用于表示启动子任务的条件;
所述子任务执行模块,包括:
启动参数值确定单元,用于确定已赋值的配置模型中任务启动参数的值;
启动条件判断单元,用于判断当前情况是否满足所确定参数值对应的任务启动条件;
子任务执行单元,用于在当前情况满足所确定参数值对应的任务启动条件的情况下,根据该子任务对该对应数据库的数据进行处理。
10.根据权利要求9所述的装置,在所确定任务启动参数的值为窗口期模式的情况下,所述启动条件判断单元,具体用于:
获得预设的窗口期起始时间与终止时刻,并确定当前时刻;
判断当前时刻是否不小于起始时刻且不大于终止时刻。
11.根据权利要求9所述的装置,在所确定任务启动参数的值为依赖模式的情况下,所述启动条件判断单元,具体用于:
确定预设的依赖任务,并获得该依赖任务当前的任务状态;
判断所述依赖任务当前的任务状态,是否为已完成状态。
12.根据权利要求7至11任一项所述的装置,还包括应用于业务集群主设备的参数值修改模块,具体用于:
所述主设备在接收到参数值修改指令的情况下,获取所述修改指令中指定的参数及参数值;
使用所指定的参数值,为已赋值的配置模型中的所指定的参数重新赋值,以便后续步骤中,根据已赋值的配置模型中新的参数值对定时任务进行处理。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至6任一项所述的方法。
CN201810979821.2A 2018-08-27 2018-08-27 一种定时任务处理方法及装置 Active CN109102200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810979821.2A CN109102200B (zh) 2018-08-27 2018-08-27 一种定时任务处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810979821.2A CN109102200B (zh) 2018-08-27 2018-08-27 一种定时任务处理方法及装置

Publications (2)

Publication Number Publication Date
CN109102200A CN109102200A (zh) 2018-12-28
CN109102200B true CN109102200B (zh) 2021-08-10

Family

ID=64851180

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810979821.2A Active CN109102200B (zh) 2018-08-27 2018-08-27 一种定时任务处理方法及装置

Country Status (1)

Country Link
CN (1) CN109102200B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175201A (zh) * 2019-04-10 2019-08-27 阿里巴巴集团控股有限公司 业务数据处理方法、系统、装置及电子设备
CN112787840B (zh) * 2019-11-11 2022-07-22 华为技术有限公司 一种实现业务功能部署的方法、装置和系统
CN113467921B (zh) * 2021-07-23 2024-02-09 中国工商银行股份有限公司 一种任务管理方法、装置及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100259A (zh) * 2015-08-18 2015-11-25 北京京东尚科信息技术有限公司 一种分布式定时任务执行方法和系统
CN105700958A (zh) * 2016-01-07 2016-06-22 北京京东尚科信息技术有限公司 一种任务自动拆分以及子任务并行执行的方法及其系统
CN106406983A (zh) * 2015-07-27 2017-02-15 阿里巴巴集团控股有限公司 一种集群中的任务调度方法及装置
CN106874080A (zh) * 2016-07-07 2017-06-20 阿里巴巴集团控股有限公司 基于分布式服务器集群的数据计算方法及系统
CN106874094A (zh) * 2017-02-17 2017-06-20 广州爱九游信息技术有限公司 定时任务处理方法、装置及计算设备
CN107402950A (zh) * 2017-04-28 2017-11-28 阿里巴巴集团控股有限公司 基于分库分表的文件处理方法和装置
CN107678840A (zh) * 2016-08-01 2018-02-09 百度在线网络技术(北京)有限公司 用于运行任务的系统、方法和装置
CN107688500A (zh) * 2017-07-26 2018-02-13 阿里巴巴集团控股有限公司 一种分布式任务处理方法、装置、系统及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017347847B2 (en) * 2016-10-26 2022-03-24 Soroco Private Limited Systems and methods for discovering automatable tasks

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406983A (zh) * 2015-07-27 2017-02-15 阿里巴巴集团控股有限公司 一种集群中的任务调度方法及装置
CN105100259A (zh) * 2015-08-18 2015-11-25 北京京东尚科信息技术有限公司 一种分布式定时任务执行方法和系统
CN105700958A (zh) * 2016-01-07 2016-06-22 北京京东尚科信息技术有限公司 一种任务自动拆分以及子任务并行执行的方法及其系统
CN106874080A (zh) * 2016-07-07 2017-06-20 阿里巴巴集团控股有限公司 基于分布式服务器集群的数据计算方法及系统
CN107678840A (zh) * 2016-08-01 2018-02-09 百度在线网络技术(北京)有限公司 用于运行任务的系统、方法和装置
CN106874094A (zh) * 2017-02-17 2017-06-20 广州爱九游信息技术有限公司 定时任务处理方法、装置及计算设备
CN107402950A (zh) * 2017-04-28 2017-11-28 阿里巴巴集团控股有限公司 基于分库分表的文件处理方法和装置
CN107688500A (zh) * 2017-07-26 2018-02-13 阿里巴巴集团控股有限公司 一种分布式任务处理方法、装置、系统及设备

Also Published As

Publication number Publication date
CN109102200A (zh) 2018-12-28

Similar Documents

Publication Publication Date Title
US10783002B1 (en) Cost determination of a service call
CN109102200B (zh) 一种定时任务处理方法及装置
TW202016815A (zh) 一種並行化執行區塊鏈交易的方法、裝置及系統
US20150128143A1 (en) Realizing jumps in an executing process instance
CN112380020A (zh) 一种算力资源分配方法、装置、设备及存储介质
CN110413673B (zh) 数据库数据统一采集与分发方法及系统
CN109005214B (zh) 一种资源调度方法及装置
CN111553699B (zh) 一种资源调度方法及装置
CN103763346A (zh) 一种分布式资源调度方法及装置
CN107578338B (zh) 一种业务发布方法、装置及设备
US20200034209A1 (en) Information processing system and resource allocation method
CN111143039A (zh) 一种虚拟机的调度方法、装置及计算机存储介质
CN111124644B (zh) 任务调度资源的确定方法、装置及系统
CN108241535B (zh) 资源管理的方法、装置及服务器设备
CN113608751B (zh) 推理服务平台的运行方法、装置、设备及存储介质
CN111125057A (zh) 一种业务请求的处理方法、装置及计算机系统
CN110019260B (zh) 一种用户数据的更新方法及相关设备
CN108614697B (zh) 后台Dex编译管控的方法及装置
CN115545639B (zh) 金融业务处理方法、装置、电子设备及存储介质
CN110188975A (zh) 一种资源获取方法及装置
CN113553180A (zh) 一种容器的调度方法、装置及电子设备
EP3848800B1 (en) Method and apparatus for displaying message box, terminal and storage medium
US11340952B2 (en) Function performance trigger
CN113723892A (zh) 数据处理方法、装置、电子设备及存储介质
CN113268324A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201009

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201009

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant