CN111782365A - 定时任务处理方法、装置、设备及存储介质 - Google Patents
定时任务处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111782365A CN111782365A CN202010615233.8A CN202010615233A CN111782365A CN 111782365 A CN111782365 A CN 111782365A CN 202010615233 A CN202010615233 A CN 202010615233A CN 111782365 A CN111782365 A CN 111782365A
- Authority
- CN
- China
- Prior art keywords
- task
- queue
- execution
- timing
- execution parameter
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 36
- 230000001960 triggered effect Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 52
- 230000015654 memory Effects 0.000 claims description 20
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 239000000126 substance Substances 0.000 claims description 2
- 230000003111 delayed effect Effects 0.000 claims 4
- 230000005012 migration Effects 0.000 abstract description 7
- 238000013508 migration Methods 0.000 abstract description 7
- 238000013135 deep learning Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
- G06Q10/1095—Meeting or appointment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Linguistics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了定时任务处理方法、装置、设备及存储介质,涉及智能管理办公平台和深度学习领域。具体实现方案为:获取第一定时任务的第一执行参数和用于标识第一定时任务的第一任务标识ID,并根据第一执行参数对数据库进行写入或者对数据库中的信息进行修改或删除;将用于触发第一定时任务的第一延迟时间段和第一任务ID发送给分布式高速缓存集群;从分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从数据库获取第二定时任务的第二执行参数;以及根据第二任务ID和第二执行参数触发第二定时任务的执行,由于定时任务的执行由分布式高速缓存集群统一分发,从而可以支持多实例扩展,支持容器化部署和迁移。
Description
技术领域
本申请实施例涉及源代码中的智能管理办公平台和深度学习,尤其涉及一种定时任务处理方法、装置、设备及存储介质。
背景技术
在线协同办公平台中,有许多后端服务有定时任务的功能,比如会议服务需要保存并周期性通知用户的每周例会,项目服务需要在结束前的一段时间提醒参与者及时完成等等,甚至有的服务自身需要定时清理数据。现有定时任务管理方案的定时任务管理在各实例的内存中维护,如果需要修改任务执行的逻辑,或者增加任务执行的其他渠道,整个服务需要一起更新部署和上线,影响面较大。
发明内容
本申请提供了一种定时任务处理方法、装置、设备及存储介质。
根据本申请的第一方面,提供了一种定时任务处理方法,包括:
获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,并根据所述第一执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除;
将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群;
从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数;以及
根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行。
根据本申请的第二方面,提供了一种定时任务处理装置,包括:
获取模块,用于获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,并根据所述第一执行参数对所述数据库进行写入或者对所述数据库中的信息进行修改或删除;
发送模块,用于将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群;
所述获取模块,还用于从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数;以及
触发模块,用于根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行。
根据本申请的第三方面,至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的方法。
根据本申请第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行上述第一方面所述的方法。
本申请中的一个实施例具有如下优点或有益效果:通过获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,并根据所述第一执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除;将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群;从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数;以及根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行,由于定时任务的执行由分布式高速缓存集群统一分发,从而可以支持多实例扩展,支持容器化部署和迁移。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请一实施例提供的定时任务处理方法的流程示意图;
图2为本申请另一实施例提供的定时任务处理方法的流程示意图;
图3为图2所示实施例提供的定时任务处理方法的过程示意图;
图4为本申请另一实施例提供的定时任务处理方法的流程示意图;
图5为图4所示实施例提供的定时任务处理方法的过程示意图;
图6为本申请另一实施例提供的定时任务处理方法的流程示意图;
图7为本申请另一实施例提供的定时任务处理方法的流程示意图;
图8为图7所示实施例提供的定时任务处理方法的过程示意图;
图9为本申请一实施例提供的定时任务处理装置的结构示意图;以及
图10是用来实现本申请实施例的定时任务处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
传统定时任务管理主要有以下两种解决方案:一是在各实例的内存中维护,例如利用Quartz库;二是通过选主机制,选出主机(master)后来统一管理定时任务。但是在第一种方案中,由于各实例各自负责管理实例接受到的定时任务请求。如果由于断电等不可抗力因素导致宿主机宕机,那需要额外的检测和调度逻辑,将这些定时规则负载均衡地转移到其他存活实例上。这样的检测调度逻辑需要一直运行,保证一旦有实例不可用,所管理的定时任务可以准确迁移恢复并及时触发。而在第二种方案中,使用选主机制也需要额外消耗资源进行master存活监听,一旦需要管理的定时任务量多,则单机的计算能力能达到瓶颈。
此外,上述方案会将定时任务的触发和执行耦合在一起,如果需要修改任务执行的逻辑,或者增加任务执行的其他渠道,整个服务需要一起更新部署和上线,影响面较大。
图1为本申请一实施例提供的定时任务处理方法的流程示意图,需要说明的是,本申请下述实施例中以执行主体为定时任务处理装置为例进行介绍。如图1所示,本实施例提供的定时任务处理方法可以包括:
步骤S101、获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,并根据所述第一执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除。
具体来说,本实施例中的第一定时管理实例可以为多个,其可以获取到定时任务的执行参数,该执行参数可以包括:具体的任务、任务起始时间,任务执行间隔时长、任务执行间隔时间单位以及任务终止时间等参数,获取到该执行参数以及用于标识该定时任务的标识(identifier)ID后,可以根据具体执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除。本实施例中的数据库可以例如是MySQL数据库。
步骤S102、将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群。
举例来说,第一定时管理实例会确定用于触发所述第一定时任务的第一延迟时间段,并发送给分布式高速缓存集群,并使得分布式高速缓存集群根据该第一延迟时间段来设置第一任务的延迟触发时间段。
步骤S103、从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数。
举例来说,第二定时管理实例会从分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数。
步骤S104、根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行。
需要说明的是,本实施例中的步骤S101-S102可以由第一定时管理实例实现,步骤S103-S104可以由第二定时管理实例实现,而第一定时管理实例和第二定时管理实例可以相同也可以不同,此处区分第一定时管理实例和第二定时管理实例仅为了表示两者可能不同,类似地,本实施例中第一定时任务和第二定时任务可以相同也可以不同,此处区分第一定时任务和第二定时任务仅为了表示两者可能不同。
综上所述,在本实施例中,通过获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,并根据所述第一执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除;将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群;从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数;以及根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行,由于定时任务的执行由分布式高速缓存集群统一分发,从而可以支持多实例扩展,支持容器化部署和迁移。
在一个实施例中,S102之前,还包括:
根据所述第一执行参数确定所述第一延迟时间段。
具体来说,可以根据第一执行参数和当前时间来计算第一延迟时间段。
在一个实施例中,所述分布式高速缓存集群包括redis或memcache。
在一个实施例中,所述分布式消息中间件集群包括kafka、activemq或rabbitmq。
图2为本申请另一实施例提供的定时任务处理方法的流程示意图,在图1所示实施例基础上,本实施例是一种可能的实现方式。如图2所示,本实施例提供的定时任务处理方法可以包括:
步骤S201、接收第一请求接收实例发送的所述第一执行参数和所述第一任务ID,并根据所述第一执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除。
举例来说,本实施例中第一定时管理实例可以直接接收请求接收实例发送的所述第一执行参数和所述第一任务ID。
步骤S202、将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群。
步骤S203、从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数。
步骤S202-S203与图1中的S102-S103相同,此处不再赘述。
步骤S204、将所述第二任务ID和所述第二执行参数发送给第一任务执行实例。
步骤S205、通过第一任务执行实例根据所述第二任务ID和所述第二执行参数执行所述第二定时任务。
具体来说,可以将第二任务ID和所述第二执行参数发送给第一任务执行实例,使得第一任务执行实例根据所述第二任务ID和所述第二执行参数执行所述第二定时任务。
下面结合图3对本实施例进行详细说明。
图3为图2所示实施例提供的定时任务处理方法的过程示意图。如图3所示,可以包括如下步骤:
a1,第一请求接收实例在接收到定时任务请求后,生成用于标识该定时任务请求的任务ID,并将该定时任务请求中的定时相关信息和生成的任务ID发送给第一定时管理实例,该定时任务请求可以包括定时任务的执行参数,该执行参数可以包括:具体的任务、任务起始时间,任务执行间隔时长、任务执行间隔时间单位以及任务终止时间等参数,当第一定时管理实例接收到定时任务请求中的执行参数以及用于标识该定时任务的标识ID后,可以根据具体执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除,举例来说,当该定时任务请求为创建定时任务请求时,第一定时管理实例将该创建定时任务相关信息写入数据库中;当该定时任务请求为修改定时任务请求时,第一定时管理实例根据该修改定时任务的相关信息对数据库中的对应信息进行修改;当该定时任务请求为删除定时任务请求时,第一定时管理实例根据该删除定时任务请求的相关信息对数据库中的对应信息进行删除。
b1,当定时任务请求为修改定时任务请求或删除定时任务请求时,第一定时管理实例会从数据库中读取所需修改或取消的定时任务信息,进行存在性校验,并将存在性校验的结果反馈回第一请求接收实例。
c1,该第一定时管理实例将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群,并且第二定时管理实例从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数。
d1,在获取到第二任务ID和第二执行参数后,第二定时管理实例将所述第二任务ID和所述第二执行参数发送给第一任务执行实例,所述第一任务执行实例根据所述第二任务ID和所述第二执行参数执行所述第二定时任务。
e1,当第一请求接收实例收到即时任务请求时,会直接将该即时任务请求中的任务执行信息发送给第一任务执行实例进行执行。
在本实施例中,通过接收第一请求接收实例发送的所述第一执行参数和所述第一任务ID,并根据所述第一执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除;将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群;从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数;以及将所述第二任务ID和所述第二执行参数发送给第一任务执行实例,所述第一任务执行实例根据所述第二任务ID和所述第二执行参数执行所述第二定时任务,由于定时任务的执行由分布式高速缓存集群统一分发,从而可以支持多实例扩展,支持容器化部署和迁移。
图4为本申请另一实施例提供的定时任务处理方法的流程示意图,在图1所示实施例基础上,本实施例是另一种可能的实现方式。如图4所示,本实施例提供的定时任务处理方法可以包括:
步骤S401、通过第二请求接收实例将所述第一执行参数和所述第一任务ID写入分布式消息中间件集群。
步骤S402、从所述分布式消息中间件集群中读取所述第一执行参数和所述第一任务ID。
具体来说,本实施例中,第二请求接收实例在接收到定时任务请求时,会先将第一执行参数和所述第一任务ID写入分布式消息中间件集群,这样分布式消息中间件集群会向第二请求接收实例返回一个确认反馈,避免出现第一定时管理实例直接向第二请求接收实例返回确认反馈,但又未能及时处理相应定时管理请求的情况,因此分布式消息中间件集群,可以为定时任务请求的接收提供一个缓冲的过程,以缓解第一定时管理实例的处理压力。
步骤S403、将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群。
步骤S404、从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数。
步骤S403-S404与图1中的S102-S103相同,此处不再赘述。
步骤S405、将所述第二任务ID对应的即时任务信息和所述第二执行参数写入所述分布式消息中间件集群。
步骤S406、通过第二任务执行实例从所述分布式消息中间件集群读取所述即时任务信息,并根据所述即时任务信息执行所述第二定时任务。
类似地,分布式消息中间件集群也可以在第二定时管理实例和第二任务执行实例之间提供一个缓冲的过程,以缓解第二任务执行实例的处理压力。
下面结合图5对本实施例进行详细说明。
图5为图4所示实施例提供的定时任务处理方法的过程示意图。如图5所示,可以包括如下步骤:
a2,第二请求接收模块接收到定时任务请求后,如果接收到的定时任务请求为修改定时任务请求或删除定时任务请求时,第二请求接收模块会从数据库中读取所需修改或取消的定时任务相关信息,进行存在性校验。
b2,第二请求接收模块将接收到的定时任务请求中的定时任务执行参数以及该第二请求接收模块为接收到的定时任务请求生成的任务ID写入分布式消息中间件集群。
c2,第一定时管理模块从分布式消息中间件集群中读取定时任务执行参数。
d2,第一定时管理模块在数据库中新增定时任务执行参数或者修改或删除数据库中对应的定时任务执行参数
e2,第一定时管理模块在分布式高速缓存集群的延时队列中添加下一次触发的定时任务时间和ID,或者,第二定时管理模块从延时队列中取出当前触发的定时任务ID,并通过d2从数据库获取该当前触发的定时任务的执行参数。
f2,第二定时管理模块将对应于该当前触发的定时任务的即时任务信息写入分布式消息中间件集群。
g2,第二任务执行实例读取分布式消息中间件集群中的即时任务信息,进行操作。
通过图5可以看出,本实施例中的请求接收实例、定时管理实例以及任务执行实例是完全解耦的,因此,当需要修改任务执行的逻辑,或者增加任务执行的其他渠道时,只需要更新任务实现模块即可,实现轻量级部署,此外,请求接收实例除了接收即时任务外,还提供创建、修改、删除定时任务的接口。
在本实施例中,由于定时任务的执行由分布式高速缓存集群统一分发,从而可以支持多实例扩展,支持容器化部署和迁移,而分布式消息中间件集群的加入,可以为定时任务请求的接收提供一个缓冲的过程,以缓解第一定时管理实例的处理压力。此外,由于请求接收实例、定时管理实例以及任务执行实例是完全解耦的,因此,当需要修改任务执行的逻辑,或者增加任务执行的其他渠道时,只需要更新任务实现模块即可,实现轻量级部署。
图6为本申请另一实施例提供的定时任务处理方法的流程示意图,在图4所示实施例基础上,分布式消息中间件集群中包括定时队列和即时队列。如图6所示,本实施例提供的定时任务处理方法可以包括:
步骤S601、通过第二请求接收实例将所述第一执行参数和所述第一任务ID写入所述定时队列。
步骤S602、从所述定时队列中读取所述第一执行参数和所述第一任务ID。
步骤S603、将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群。
步骤S604、从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数。
步骤S603-S604与图1中的S102-S103相同,此处不再赘述。
步骤S605、将所述即时任务信息和所述第二执行参数写入所述即时队列。
步骤S606、通过第二任务执行实例从所述即时队列读取所述即时任务信息,并根据所述即时任务信息执行所述第二定时任务。
具体来说,请求任务接收实例会将接收到的定时任务相关信息和即时任务相关信息分别写入分布式消息中间件集群两个不同topic中,例如topic A和topic B中,以分别供定时管理实例和任务执行实例读取,随即返回响应。
定时管理实例负责从topic A中消费定时规则信息,写入或修改数据库中进行保存,并将下一次的定时任务ID写入分布式高速缓存集群的分布式延时队列。此外,定时管理实例还会有线程池,从延时队列中获取待触发的任务ID,从数据库中读取任务具体信息,计算下一次的触发时间,写入分布式高速缓存集群的延时队列,并将具体信息写入分布式消息中间件集群的topic B中。
本实施例中,在分布式消息中间件集群中划分定时队列和即时队列,可以实现数据的分类管理,便于定时管理实例和任务执行实例读取。
图7为本申请另一实施例提供的定时任务处理方法的流程示意图,在图1所示实施例基础上,分布式高速缓存集群中包括第一队列、第二队列和第三队列,所述第一队列和所述第三队列为延迟队列,所述第二队列为非延时队列。如图7所示,本实施例提供的定时任务处理方法可以包括:
步骤S701、获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,并根据所述第一执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除。
本实施例中,S701与S101与类似,此处不再赘述。
步骤S702、将所述第一延迟时间段发送给所述分布式高速缓存集群,并将所述第一任务ID存入所述第一队列中。
步骤S703、在所述第一延迟时间段到期后,通过所述分布式高速缓存集群将所述第一任务ID从所述第一队列转移至所述第二队列,并将所述第一任务ID备份至所述第三队列,并设置第二延迟时间段。
步骤S704、从所述第二队列中获取所述第一任务ID,并从所述数据库获取所述第一执行参数。
步骤S705、确定对所述第一任务ID和所述第一执行参数的打包发送成功,并向所述分布式高速缓存集群发送打包发送成功通知,使得所述分布式高速缓存集群删除所述第三队列中的第一任务ID;或者,在所述第二延迟时间段到期后,通过所述分布式高速缓存集群将所述第一任务ID从所述第三队列转移至所述第二队列中。
步骤S706、根据所述第一任务ID和所述第一执行参数触发所述第一定时任务的执行。
具体来说,由于分布式高速缓存集群的分布式队列没有消息签收机制,为了保证在将信息写入分布式消息中间件集群之前的处理中,不会因为实例的宕机造成定时任务触发的缺失,本实施例在获取ID时同时将当前正在处理的任务ID写入另一个延时队列,并设置一个超时时间。如果在这个超时时间内,该实例没有签收这个ID,那该任务ID会被别的实例重新执行,确保任务不缺失。
以下结合图8对本实施例进行详细说明。
图8为图7所示实施例提供的定时任务处理方法的过程示意图。如图8所示,可以包括如下步骤:
a3,第一定时管理实例将所述第一任务ID存入所述第一队列中,设定延时为第一延迟时间段,例如1小时。
b3,第一延迟时间段到期后,分布式高速缓存集群将所述第一任务ID从所述第一队列转移至所述第二队列。
c3,分布式高速缓存集群将第一任务ID备份至所述第三队列,并设置第二延迟时间段,例如30s。
d3,第二定时管理实例从所述第二队列中获取所述第一任务ID,并从所述数据库获取所述第一执行参数,并打包发送。
e3.1,第二定时管理实例确定对所述第一任务ID和所述第一执行参数的打包发送成功,并向所述分布式高速缓存集群发送打包发送成功通知,使得所述分布式高速缓存集群删除所述第三队列中的第一任务ID。
e3.2,打包发送出现问题(如实例宕机),第二延迟时间段到期,所述分布式高速缓存集群将所述第一任务ID从所述第三队列转移至所述第二队列中。
可以理解的是,上述e3.1和e3.2只会发生其中之一,并且a3和d3可能是两个不同的定时管理实例执行的。
本实施例中,通过在分布式高速缓存集群中设置第一队列、第二队列和第三队列,并在所述第一延迟时间段到期后,所述分布式高速缓存集群将所述第一任务ID从所述第一队列转移至所述第二队列,并将所述第一任务ID备份至所述第三队列,并设置第二延迟时间段,然后第二定时管理实例确定对所述第一任务ID和所述第一执行参数的打包发送成功,并向所述分布式高速缓存集群发送打包发送成功通知,使得所述分布式高速缓存集群删除所述第三队列中的第一任务ID;或者,所述第二延迟时间段到期,所述分布式高速缓存集群将所述第一任务ID从所述第三队列转移至所述第二队列中,可以确保任务不缺失,保证对定时任务的安全处理。
图9为本申请一实施例提供的定时任务处理装置的结构示意图。如图9所示,本实施例提供的预测模型建模装置包括获取模块91、发送模块92以及触发模块93,其中,
获取模块91,用于获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,并根据所述第一执行参数对所述数据库进行写入或者对所述数据库中的信息进行修改或删除;
发送模块92,用于将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群;
所述获取模块91,还用于从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数;以及
触发模块93,用于根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行。
在一个实施例中,所述获取模块91,具体用于接收所述第一请求接收实例发送的所述第一执行参数和所述第一任务ID。
在一个实施例中,所述发送模块92,还用于将所述第二任务ID和所述第二执行参数发送给第一任务执行实例;以及
所述触发模块93,还用于通过第一任务执行实例根据所述第二任务ID和所述第二执行参数执行所述第二定时任务。
在一个实施例中,所述获取模块91,具体用于:
通过第二请求接收实例将所述第一执行参数和所述第一任务ID写入分布式消息中间件集群;以及
从所述分布式消息中间件集群中读取所述第一执行参数和所述第一任务ID。
在一个实施例中,所述触发模块93,具体用于:
将所述第二任务ID对应的即时任务信息和所述第二执行参数写入所述分布式消息中间件集群;以及
通过第二任务执行实例从所述分布式消息中间件集群读取所述即时任务信息,并根据所述即时任务信息执行所述第二定时任务。
在一个实施例中,所述分布式消息中间件集群中包括定时队列和即时队列;
所述获取模块91,具体用于:
通过所述第二请求接收实例将所述第一执行参数和所述第一任务ID写入所述定时队列;以及
从所述定时队列中读取所述第一执行参数和所述第一任务ID;
所述触发模块93,具体用于:
将所述即时任务信息和所述第二执行参数写入所述即时队列;以及
通过所述第二任务执行实例从所述即时队列读取所述即时任务信息。
在一个实施例中,所述分布式高速缓存集群中包括第一队列、第二队列和第三队列,所述第一队列和所述第三队列为延迟队列,所述第二队列为非延时队列;
所述发送模块92,还用于:
将所述第一延迟时间段发送给所述分布式高速缓存集群,并将所述第一任务ID存入所述第一队列中;以及
在所述第一延迟时间段到期后,通过所述分布式高速缓存集群将所述第一任务ID从所述第一队列转移至所述第二队列,并将所述第一任务ID备份至所述第三队列,并设置第二延迟时间段;
所述获取模块91,还用于从所述第二队列中获取所述第一任务ID,并从所述数据库获取所述第一执行参数;以及
所述触发模块93,还用于:
确定对所述第一任务ID和所述第一执行参数的打包发送成功,并向所述分布式高速缓存集群发送打包发送成功通知,使得所述分布式高速缓存集群删除所述第三队列中的第一任务ID;或者,所述在所述第二延迟时间段到期后,通过所述分布式高速缓存集群将所述第一任务ID从所述第三队列转移至所述第二队列中;以及
根据所述第一任务ID和所述第一执行参数触发所述第一定时任务的执行。
在一个实施例中,所述获取模块91,还用于在将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群之前,根据所述第一执行参数确定所述第一延迟时间段。
在一个实施例中,所述分布式高速缓存集群包括redis或memcache。
在一个实施例中,所述分布式消息中间件集群包括kafka、activemq或rabbitmq。
本申请各实施例提供的定时任务处理装置可用于执行如前述各对应的实施例所示的方法,其实现方式与原理相同,不再赘述。
本申请实施例提供的定时任务处理方法及装置,应用于源代码中的智能管理办公平台,通过获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,并根据所述第一执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除;将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群;从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数;以及根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行,由于定时任务的执行由分布式高速缓存集群统一分发,从而可以支持多实例扩展,支持容器化部署和迁移。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图10所示,是根据本申请实施例的定时任务处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图10中以一个处理器1001为例。
存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的定时任务处理方法的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的定时任务处理方法。
存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的定时任务处理方法的方法对应的程序指令/模块(例如,附图9所示的获取模块91、发送模块92以及触发模块93)。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的定时任务处理方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据定时任务处理方法的电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至定时任务处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
定时任务处理方法的电子设备还可以包括:输入装置1003和输出装置004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置1003可接收输入的数字或字符信息,以及产生与定时任务处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算机程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算机程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,并根据所述第一执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除;所述将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群;从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数;以及根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行,由于定时任务的执行由分布式高速缓存集群统一分发,从而可以支持多实例扩展,支持容器化部署和迁移。应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (22)
1.一种定时任务处理方法,包括:
获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,并根据所述第一执行参数对数据库进行写入或者对所述数据库中的信息进行修改或删除;
将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群;
从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数;以及
根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行。
2.根据权利要求1所述的方法,其中,所述获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,包括:
接收第一请求接收实例发送的所述第一执行参数和所述第一任务ID。
3.根据权利要求2所述的方法,其中,所述根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行,包括:
将所述第二任务ID和所述第二执行参数发送给第一任务执行实例;以及通过所述第一任务执行实例根据所述第二任务ID和所述第二执行参数执行所述第二定时任务。
4.根据权利要求1所述的方法,其中,所述获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,包括:
通过第二请求接收实例将所述第一执行参数和所述第一任务ID写入分布式消息中间件集群;以及
从所述分布式消息中间件集群中读取所述第一执行参数和所述第一任务ID。
5.根据权利要求4所述的方法,其中,所述根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行,包括:
将所述第二任务ID对应的即时任务信息和所述第二执行参数写入所述分布式消息中间件集群;以及
通过第二任务执行实例从所述分布式消息中间件集群读取所述即时任务信息,并根据所述即时任务信息执行所述第二定时任务。
6.根据权利要求5所述的方法,其中,所述分布式消息中间件集群中包括定时队列和即时队列;
所述通过第二请求接收实例将所述第一执行参数和所述第一任务ID写入所述分布式消息中间件集群,包括:
通过第二请求接收实例将所述第一执行参数和所述第一任务ID写入所述定时队列;
所述从分布式消息中间件集群中读取所述第一执行参数和所述第一任务ID,包括:
从所述定时队列中读取所述第一执行参数和所述第一任务ID;
所述将所述第二任务ID对应的即时任务信息和所述第二执行参数写入所述分布式消息中间件集群,包括:
将所述即时任务信息和所述第二执行参数写入所述即时队列;以及
所述通过第二任务执行实例从所述分布式消息中间件集群读取所述即时任务信息,包括:
通过所述第二任务执行实例从所述即时队列读取所述即时任务信息。
7.根据权利要求1-6中任一项所述的方法,其中,所述分布式高速缓存集群中包括第一队列、第二队列和第三队列,所述第一队列和所述第三队列为延迟队列,所述第二队列为非延时队列;
所述将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群,包括:
将所述第一延迟时间段发送给所述分布式高速缓存集群,并将所述第一任务ID存入所述第一队列中;
所述方法还包括:
在所述第一延迟时间段到期后,通过所述分布式高速缓存集群将所述第一任务ID从所述第一队列转移至所述第二队列,并将所述第一任务ID备份至所述第三队列,并设置第二延迟时间段;
从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数,包括:
从所述第二队列中获取所述第一任务ID,并从所述数据库获取所述第一执行参数;以及
所述方法,还包括:
确定对所述第一任务ID和所述第一执行参数的打包发送成功,并向所述分布式高速缓存集群发送打包发送成功通知,使得所述分布式高速缓存集群删除所述第三队列中的第一任务ID;或者,在所述第二延迟时间段到期后,通过所述分布式高速缓存集群将所述第一任务ID从所述第三队列转移至所述第二队列中;
所述根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行,包括:
根据所述第一任务ID和所述第一执行参数触发所述第一定时任务的执行。
8.根据权利要求1-7中任一项所述的方法,其中,所述将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群之前,还包括:
根据所述第一执行参数确定所述第一延迟时间段。
9.根据权利要求1-8中任一项所述的方法,其中,所述分布式高速缓存集群包括redis或memcache。
10.根据权利要求4-6中任一项所述的方法,其中,所述分布式消息中间件集群包括kafka、activemq或rabbitmq。
11.一种定时任务处理装置,包括:
获取模块,用于获取第一定时任务的第一执行参数和用于标识所述第一定时任务的第一任务标识ID,并根据所述第一执行参数对所述数据库进行写入或者对所述数据库中的信息进行修改或删除;
发送模块,用于将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群;
所述获取模块,还用于从所述分布式高速缓存集群中获取用于标识待触发的第二定时任务的第二任务ID,并从所述数据库获取所述第二定时任务的第二执行参数;以及
触发模块,用于根据所述第二任务ID和所述第二执行参数触发所述第二定时任务的执行。
12.根据权利要求11所述的装置,其中,所述获取模块,具体用于接收所述第一请求接收实例发送的所述第一执行参数和所述第一任务ID。
13.根据权利要求12所述的装置,其中:
所述发送模块,还用于将所述第二任务ID和所述第二执行参数发送给第一任务执行实例;以及
所述触发模块,还用于通过第一任务执行实例根据所述第二任务ID和所述第二执行参数执行所述第二定时任务。
14.根据权利要求11所述的装置,其中,所述获取模块,具体用于:
通过第二请求接收实例将所述第一执行参数和所述第一任务ID写入分布式消息中间件集群;以及
从所述分布式消息中间件集群中读取所述第一执行参数和所述第一任务ID。
15.根据权利要求14所述的装置,其中,所述触发模块,具体用于:
将所述第二任务ID对应的即时任务信息和所述第二执行参数写入所述分布式消息中间件集群;以及
通过第二任务执行实例从所述分布式消息中间件集群读取所述即时任务信息,并根据所述即时任务信息执行所述第二定时任务。
16.根据权利要求15所述的装置,其中,所述分布式消息中间件集群中包括定时队列和即时队列;
所述获取模块,具体用于:
通过所述第二请求接收实例将所述第一执行参数和所述第一任务ID写入所述定时队列;以及
从所述定时队列中读取所述第一执行参数和所述第一任务ID;
所述触发模块,具体用于:
将所述即时任务信息和所述第二执行参数写入所述即时队列;以及
通过所述第二任务执行实例从所述即时队列读取所述即时任务信息。
17.根据权利要求11-16中任一项所述的装置,其中,所述分布式高速缓存集群中包括第一队列、第二队列和第三队列,所述第一队列和所述第三队列为延迟队列,所述第二队列为非延时队列;
所述发送模块,还用于:
将所述第一延迟时间段发送给所述分布式高速缓存集群,并将所述第一任务ID存入所述第一队列中;以及
在所述第一延迟时间段到期后,通过所述分布式高速缓存集群将所述第一任务ID从所述第一队列转移至所述第二队列,并将所述第一任务ID备份至所述第三队列,并设置第二延迟时间段;
所述获取模块,还用于从所述第二队列中获取所述第一任务ID,并从所述数据库获取所述第一执行参数;以及
所述触发模块,还用于:
确定对所述第一任务ID和所述第一执行参数的打包发送成功,并向所述分布式高速缓存集群发送打包发送成功通知,使得所述分布式高速缓存集群删除所述第三队列中的第一任务ID;或者,所述在所述第二延迟时间段到期后,通过所述分布式高速缓存集群将所述第一任务ID从所述第三队列转移至所述第二队列中;以及
根据所述第一任务ID和所述第一执行参数触发所述第一定时任务的执行。
18.根据权利要求11-17中任一项所述的装置,其中,所述获取模块,还用于在将用于触发所述第一定时任务的第一延迟时间段和所述第一任务ID发送给分布式高速缓存集群之前,根据所述第一执行参数确定所述第一延迟时间段。
19.根据权利要求11-18中任一项所述的装置,其中,所述分布式高速缓存集群包括redis或memcache。
20.根据权利要求14-16中任一项所述的装置,其中,所述分布式消息中间件集群包括kafka、activemq或rabbitmq。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615233.8A CN111782365B (zh) | 2020-06-30 | 2020-06-30 | 定时任务处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010615233.8A CN111782365B (zh) | 2020-06-30 | 2020-06-30 | 定时任务处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782365A true CN111782365A (zh) | 2020-10-16 |
CN111782365B CN111782365B (zh) | 2024-03-08 |
Family
ID=72759995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010615233.8A Active CN111782365B (zh) | 2020-06-30 | 2020-06-30 | 定时任务处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782365B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579269A (zh) * | 2020-12-04 | 2021-03-30 | 深圳前海微众银行股份有限公司 | 一种定时任务处理方法及装置 |
CN112966005A (zh) * | 2021-03-08 | 2021-06-15 | 平安科技(深圳)有限公司 | 定时消息发送方法、装置、计算机设备以及存储介质 |
CN113159590A (zh) * | 2021-04-27 | 2021-07-23 | 海信集团控股股份有限公司 | 一种用药管理方法、服务器和移动终端 |
CN113448699A (zh) * | 2020-12-30 | 2021-09-28 | 北京新氧科技有限公司 | 一种分布式定时任务处理***、方法及相关装置 |
CN113742044A (zh) * | 2021-09-09 | 2021-12-03 | 平安科技(深圳)有限公司 | 定时任务管理方法、装置、设备及存储介质 |
CN113934731A (zh) * | 2021-11-05 | 2022-01-14 | 盐城金堤科技有限公司 | 任务执行方法、装置、存储介质及电子设备 |
CN116431318A (zh) * | 2023-06-13 | 2023-07-14 | 云账户技术(天津)有限公司 | 定时任务处理方法、装置、电子设备及存储介质 |
CN112579269B (zh) * | 2020-12-04 | 2024-07-02 | 深圳前海微众银行股份有限公司 | 一种定时任务处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287751A (zh) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 任务执行方法及装置、分布式*** |
CN109582466A (zh) * | 2017-09-29 | 2019-04-05 | 北京金山软件有限公司 | 一种定时任务执行方法、分布式服务器集群及电子设备 |
US20190163545A1 (en) * | 2017-11-30 | 2019-05-30 | Oracle International Corporation | Messages with delayed delivery in an in-database sharded queue |
CN110347492A (zh) * | 2019-07-15 | 2019-10-18 | 深圳前海乘势科技有限公司 | 基于时间策略的分布式任务调度方法和装置 |
WO2019237531A1 (zh) * | 2018-06-14 | 2019-12-19 | 平安科技(深圳)有限公司 | 一种网络节点的监测方法与*** |
-
2020
- 2020-06-30 CN CN202010615233.8A patent/CN111782365B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287751A (zh) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 任务执行方法及装置、分布式*** |
CN109582466A (zh) * | 2017-09-29 | 2019-04-05 | 北京金山软件有限公司 | 一种定时任务执行方法、分布式服务器集群及电子设备 |
US20190163545A1 (en) * | 2017-11-30 | 2019-05-30 | Oracle International Corporation | Messages with delayed delivery in an in-database sharded queue |
WO2019237531A1 (zh) * | 2018-06-14 | 2019-12-19 | 平安科技(深圳)有限公司 | 一种网络节点的监测方法与*** |
CN110347492A (zh) * | 2019-07-15 | 2019-10-18 | 深圳前海乘势科技有限公司 | 基于时间策略的分布式任务调度方法和装置 |
Non-Patent Citations (1)
Title |
---|
曹海涛;胡牧;蒋厚明;: "基于集群节点间即时拷贝的会话同步技术研究", 计算机***应用, no. 03 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579269A (zh) * | 2020-12-04 | 2021-03-30 | 深圳前海微众银行股份有限公司 | 一种定时任务处理方法及装置 |
CN112579269B (zh) * | 2020-12-04 | 2024-07-02 | 深圳前海微众银行股份有限公司 | 一种定时任务处理方法及装置 |
CN113448699A (zh) * | 2020-12-30 | 2021-09-28 | 北京新氧科技有限公司 | 一种分布式定时任务处理***、方法及相关装置 |
CN112966005A (zh) * | 2021-03-08 | 2021-06-15 | 平安科技(深圳)有限公司 | 定时消息发送方法、装置、计算机设备以及存储介质 |
CN112966005B (zh) * | 2021-03-08 | 2023-07-25 | 平安科技(深圳)有限公司 | 定时消息发送方法、装置、计算机设备以及存储介质 |
CN113159590A (zh) * | 2021-04-27 | 2021-07-23 | 海信集团控股股份有限公司 | 一种用药管理方法、服务器和移动终端 |
CN113742044A (zh) * | 2021-09-09 | 2021-12-03 | 平安科技(深圳)有限公司 | 定时任务管理方法、装置、设备及存储介质 |
CN113934731A (zh) * | 2021-11-05 | 2022-01-14 | 盐城金堤科技有限公司 | 任务执行方法、装置、存储介质及电子设备 |
CN116431318A (zh) * | 2023-06-13 | 2023-07-14 | 云账户技术(天津)有限公司 | 定时任务处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111782365B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782365B (zh) | 定时任务处理方法、装置、设备及存储介质 | |
CN110806923B (zh) | 一种区块链任务的并行处理方法、装置、电子设备和介质 | |
CN112486648A (zh) | 任务调度方法、装置、***、电子设备和存储介质 | |
CN111694857B (zh) | 存储资源数据的方法、装置、电子设备及计算机可读介质 | |
CN112181683A (zh) | 消息中间件的并发消费方法以及装置 | |
CN111694646A (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
CN112527899A (zh) | 数据同步的方法、装置、设备以及存储介质 | |
CN111581948A (zh) | 文档解析方法、装置、设备及存储介质 | |
KR20210036874A (ko) | 개발 키트 조작 임무 처리 방법, 장치, 기기 및 저장매체 | |
CN111930487A (zh) | 作业流调度方法、装置、电子设备及存储介质 | |
KR20210092689A (ko) | 그래프 데이터베이스의 순회 방법, 장치, 설비 및 저장매체 | |
CN111600790B (zh) | 基于区块链的消息处理方法、装置、设备和存储介质 | |
CN112540914A (zh) | 单元测试的执行方法、执行装置、服务器和存储介质 | |
CN110995504A (zh) | 微服务节点异常处理方法、装置及*** | |
CN111782147A (zh) | 用于集群扩缩容的方法和装置 | |
CN109960212B (zh) | 任务发送方法和装置 | |
CN110647570B (zh) | 数据处理方法、装置以及电子设备 | |
CN110688229B (zh) | 任务处理方法和装置 | |
CN115576684A (zh) | 任务处理方法、装置、电子设备及存储介质 | |
CN112565356A (zh) | 数据存储方法、装置以及电子设备 | |
EP3859529A2 (en) | Backup management method and system, electronic device and medium | |
CN111782357B (zh) | 标签控制方法及装置、电子设备和可读存储介质 | |
CN111782341A (zh) | 用于管理集群的方法和装置 | |
CN110750419B (zh) | 离线任务的处理方法、装置、电子设备及存储介质 | |
CN112099933B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |