CN110334126B - 基于Spring MVC的定时任务处理方法、装置和计算机设备 - Google Patents
基于Spring MVC的定时任务处理方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN110334126B CN110334126B CN201910433920.5A CN201910433920A CN110334126B CN 110334126 B CN110334126 B CN 110334126B CN 201910433920 A CN201910433920 A CN 201910433920A CN 110334126 B CN110334126 B CN 110334126B
- Authority
- CN
- China
- Prior art keywords
- task
- timing
- timing task
- path
- event object
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 98
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000004048 modification Effects 0.000 claims description 18
- 238000012986 modification Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 239000010453 quartz Substances 0.000 description 3
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种基于Spring MVC的定时任务处理方法、装置和计算机设备。所述方法涉及定时任务的处理,该方法具体包括:获取在数据库表中为定时任务配置的最新的属性,属性包括定时任务的触发条件、任务标识和任务路径;根据属性创建继承自事件接口类的事件对象并在满足所述触发条件时,发布所述事件对象;创建用于监听事件对象是否发布的、且继承自监听器接口类的监听器对象;当通过监听器对象监听到事件对象发布时,则获取事件对象所对应定时任务的任务标识和任务路径;将任务标识和任务路径传递至任务调度器,以使任务调度器在按照任务路径查询到与任务标识对应的定时任务时,执行定时任务。采用本方法能够实现修改定时任务后不需重启系统。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于Spring MVC的定时任务处理方法、装置、计算机设备和存储介质。
背景技术
定时任务是需要系统定时执行的任务,定时任务会在一定的触发条件下触发执行。Spring MVC是一种Web层的“模型-视图-控制器”框架,现有的SpringMVC中触发执行定时任务的方式是通过在Spring MVC配置文件中添加配置定时任务实现的,在系统启动时读取配置文件从而将定时任务的信息直接一次性读取出来后,保存在内存中,以在满足触发条件时执行该定时任务。
但是,在上述方式中,系统不会再执行根据配置文件获取定时任务的步骤,这样导致的问题是若通过配置文件修改了定时任务,修改后的定时任务不会被读取到,只能通过重新启动系统后,再通过读取配置文件执行修改后的定时任务,但是这样每修改一次定时任务的配置文件都需要重启系统,就会影响系统的正常使用。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现修改定时任务后不需重启系统的基于Spring MVC的定时任务处理方法、装置、计算机设备和存储介质。
一种基于Spring MVC的定时任务处理方法,所述方法包括:
获取在数据库表中为定时任务配置的最新的属性,所述属性包括所述定时任务的触发条件、任务标识和任务路径;
根据所述属性创建继承自事件接口类的事件对象,并在满足所述触发条件时,发布所述事件对象;
创建继承自监听器接口类的监听器对象;
当通过所述监听器对象监听到所述事件对象发布时,则获取所述事件对象所对应定时任务的任务标识和任务路径;
将所述任务标识和所述任务路径传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,执行所述定时任务。
在其中一个实施例中,所述获取在数据库表中为定时任务配置的最新的属性包括:
实时读取数据库中的数据库表;
解析所述数据库表中用于表示定时任务状态的字段对应的值;
当所述字段对应的值表示所述定时任务已生效时,则
解析所述数据库表中用于标识定时任务的字段,得到任务标识;
解析所述数据库表中用于表示定时任务路径的字段,得到任务路径。
在其中一个实施例中,所述方法还包括:
展示对定时任务进行配置的页面;
获取在所述页面中触发的针对所述定时任务的属性的修改操作;
根据所述修改操作获取所述定时任务的最新的属性;
将最新的属性传递至所述事件对象,以使所述事件对象按照所述更新后的属性进行发布。
在其中一个实施例中,所述属性还包括用于执行所述定时任务的处理类名;
所述获取所述事件对象所对应定时任务的任务标识和任务路径包括:
获取所述事件对象所对应定时任务的任务标识、任务路径和处理类名;
所述将所述任务标识和所述任务路径传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,执行所述定时任务包括:
将所述任务标识、任务路径和处理类名传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,调用所述处理类名对应的处理函数执行所述定时任务。
在其中一个实施例中,所述定时任务包括第一定时任务和第二定时任务;所述第一定时任务的属性由第一服务器配置后存储到数据库表中,所述第二定时任务的属性由第二服务器配置后存储到数据库表中;所述第一定时任务和所述第二定时任务对应了同一处理类;所述方法还包括:
接收第一服务器发起的用于执行所述第一定时任务的请求;
对所述第一定时任务对应的处理类执行加锁操作;
当在执行所述第一定时任务的过程中,接收到第二服务器发起的用于执行所述第二定时任务的请求时,则将所述第二定时任务添加至消息队列中;
当所述第一定时任务执行结束后,对所述第一定时任务的处理类执行释放锁操作;
对所述消息队列中的第二定时任务的处理类执行加锁操作;
当所述第二定时任务执行结束后,对所述二定时任务的处理类执行释放锁操作。
一种基于Spring MVC的定时任务处理装置,所述装置包括:
获取模块,用于获取在数据库表中为定时任务配置的最新的属性,所述属性包括所述定时任务的触发条件、任务标识和任务路径;
事件对象创建模块,用于根据所述属性创建继承自事件接口类的事件对象,并在满足所述触发条件时,发布所述事件对象;
监听器对象创建模块,用于创建用于监听所述事件对象是否发布的、且继承自监听器接口类的监听器对象;
定时任务获取模块,用于当通过所述监听器对象监听到所述事件对象发布时,则获取所述事件对象所对应定时任务的任务标识和任务路径;
定时任务执行模块,用于将所述任务标识和所述任务路径传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,执行所述定时任务。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取在数据库表中为定时任务配置的最新的属性,所述属性包括所述定时任务的触发条件、任务标识和任务路径;
根据所述属性创建继承自事件接口类的事件对象,并在满足所述触发条件时,发布所述事件对象;
创建用于监听所述事件对象是否发布的、且继承自监听器接口类的监听器对象;
当通过所述监听器对象监听到所述事件对象发布时,则获取所述事件对象所对应定时任务的任务标识和任务路径;
将所述任务标识和所述任务路径传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,执行所述定时任务。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取在数据库表中为定时任务配置的最新的属性,所述属性包括所述定时任务的触发条件、任务标识和任务路径;
根据所述属性创建继承自事件接口类的事件对象,并在满足所述触发条件时,发布所述事件对象;
创建用于监听所述事件对象是否发布的、且继承自监听器接口类的监听器对象;
当通过所述监听器对象监听到所述事件对象发布时,则获取所述事件对象所对应定时任务的任务标识和任务路径;
将所述任务标识和所述任务路径传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,执行所述定时任务。
上述基于Spring MVC的定时任务处理方法、装置、计算机设备和存储介质,通过数据库表对定时任务的进行配置,这样可以随时修改数据库表中定时任务的属性,实现对定时任务的修改,并基于Spring MVC框架中的事件处理过程,实现对定时任务的监听与执行,可以直接根据修改后的最新的属性执行定时任务时而不需要重启系统。在数据库表中定时任务的属性被更新后,只需要获取在数据库表中为定时任务配置的最新的属性,根据最新的属性创建继承自Spring MVC中事件接口类的事件对象以及创建继承自Spring MVC中监听器接口类的监听器对象;当通过监听器对象监听到事件对象根据定时任务的触发条件发布时,则获取事件对象所对应定时任务的任务标识和任务路径,并将任务标识和任务路径传递至任务调度器,任务调度器就可以按照任务路径查询到与任务标识对应的定时任务并执行,实现了在不需要重启系统的情况下执行更新后的定时任务。
附图说明
图1为一个实施例中基于Spring MVC的定时任务处理方法的应用场景图;
图2为一个实施例中基于Spring MVC的定时任务处理方法的流程示意图;
图3为一个实施例中基于Spring MVC的定时任务处理装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于Spring MVC的定时任务处理方法,可以应用于如图1所示的应用环境中。其中,定时任务服务器102通过网络与数据库服务器104进行通信。定时任务服务器102可以获取在数据库服务器104的数据库表中为定时任务配置的最新的属性,所述属性包括所述定时任务的触发条件、任务标识和任务路径;并根据所述属性创建继承自事件接口类的事件对象,并在满足所述触发条件时,发布所述事件对象;定时任务服务器102还创建用于监听事件对象是否发布的、且继承自监听器接口类的监听器对象;当通过所述监听器对象监听到所述事件对象发布时,则监听器对象可以获取到所述事件对象所对应定时任务的任务标识和任务路径;定时任务服务器102就可以将所述任务标识和所述任务路径传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,执行所述定时任务。其中,定时任务服务器以及数据库服务器都可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种基于Spring MVC的定时任务处理方法,以该方法应用于图1中的定时任务服务器102为例进行说明,包括以下步骤:
步骤202,获取在数据库表中为定时任务配置的最新的属性,属性包括定时任务的触发条件、任务标识和任务路径。
其中,数据库表是数据库服务器中用于配置定时任务的数据表。当系统启动时,定时任务服务器可以从数据库服务器中实时地读取数据库表中为定时任务配置的最新的属性,包括定时任务的触发条件、任务标识和任务路径。定时任务的触发条件是用于触发执行定时任务的条件,比如某一天的某个时间节点,当到达该时间节点时触发执行定时任务。任务标识用于唯一标识定时任务,可以根据任务标识确定与之对应的定时任务。任务路径是存放用于处理定时任务的处理类的路径,任务路径可以对应多个处理类,即多个处理函数。在一个实施例中,数据库表可以是Quartz框架中的数据库表。
定时任务服务器可以实时读取数据库表中用于配置定时任务的每个字段的参数值,按照各个字段的描述规则解析参数值后得到为该定时任务配置的属性。以下为一个实施例中数据库表所包括的字段有:
ID:表示任务标识;
CLASS_PATH:表示任务路径;
METHOD_NAME:表示处理类的处理类名;
CORN_EXPRESSION:表示触发条件;
LOCK_MINUTES:表示定时任务在被执行加锁操作后的被锁时间;
IS_ENABLE:是否生效;
CREATED_BY:该条配置信息的创建人;
CREATED_DATE:创建时间;
UPDATEE_BY:配置信息的修改人;
UPDATED_DATE:修改时间。
在需要配置某一个条定时任务时,就可以在数据库表中设置BEAN_ID、CLASS_PATH、METHOD_NAME,并按照规则设置作为触发条件的时间表达式CORN-EXPRESSION,将IS_ENABLE设置为启用,则任务调度器会在系统启动后按照触发条件调用定时任务的处理类自动执行该定时任务。
在一个实施例中,步骤202即获取在数据库表中为定时任务配置的最新的属性具体包括:实时读取数据库中的数据库表;解析数据库表中用于表示定时任务状态的字段对应的值;当字段对应的值表示定时任务已生效时,则解析数据库表中用于标识定时任务的字段,得到任务标识;解析数据库表中用于表示定时任务路径的字段,得到任务路径。
其中,数据库中可通过数据库表对大量的定时任务进行配置,每条配置信息对应了一个定时任务,当数据库表中用于表示定时任务状态的字段对应的值表示该条配置信息已经生效时,才会执行步骤202之后的步骤。定时任务状态可以用字段IS_ENABLE来表示,可以根据该字段对应的值确定定时任务的配置信息是否生效,比如若IS_ENABLE=1则代表该配置信息生效,若IS_ENABLE=0则代表该配置信息未生效。
具体地,当根据表示定时任务状态的字段对应的值确定定时任务已经生效时,可以进一步解析该数据库表中用于标识定时任务的字段得到任务标识,解析该数据库表中用于表示定时任务路径的字段,得到任务路径。也就是,通过定时任务状态确定配置信息对应的定时任务是否生效再决定是否对其进行处理。
步骤204,根据属性创建继承自事件接口类的事件对象,并在满足所述触发条件时,发布所述事件对象。
其中,事件对象记录了定时任务的具体信息。当获取到数据库表中定时任务的属性后,可以根据定时任务的属性创建包括这些属性的事件对象。
事件接口类可以是Spring MVC框架中的接口类ApplicationEvent,可以创建继承自Spring MVC框架中的接口类ApplicationEvent的事件对象QuartzEvent,事件对象继承了该事件接口类的特性,事件对象QuartzEvent是ApplicationEvent的实现类,实现类是接口类的具体实现方法或对象。具体地,根据定时任务的属性创建事件对象实质上就是创建的事件对象的属性包括定时任务的任务标识、任务路径、处理类名、触发条件、任务状态等等,也就是将获取的这些属性传递给创建的事件对象。
由于事件对象的属性包括定时任务的触发条件,将事件对象发布指的是将该事件对象注册到系统中,也就是当系统启动后,该事件对象会在满足定时任务的触发条件时调用ApplicationEventPublisher类中的publishEvent,通过事件广播器将事件发布出去,将与定时任务对应的该事件对象传递给系统内的监听器对象。
步骤206,创建用于监听事件对象是否发布的、且继承自监听器接口类的监听器对象。
其中,监听器对象是事件对象的监听者,也可以称之为事件对象的接收者。具体地,在创建了与定时任务对应的事件对象后,还可以创建用于对该事件对象进行监听的监听器对象。监听器接口类可以是Spring MVC框架中的接口类ApplicationListener,创建继承自Spring MVC框架中的接口类ApplicationListener的监听器对象QuartzListenerEnhance,监听器对象QuartzListenerEnhance是具体的实现类。当将某个事件对象作为监听器对象的传递参数时,监听器对象就可以监听该事件对象的发布。
步骤208,当通过监听器对象监听到事件对象发布时,则获取事件对象所对应定时任务的任务标识和任务路径。
具体地,当系统中的事件对象通过事件广播器发布之后,就会被监听器对象接收到,监听器对象在监听到某个事件对象发布时,就获取事件对象所对应定时任务的任务标识和任务路径可以将创建的事件对象QuartzEvent作为创建的监听器对象QuartzListenerEnhance的函数参数,当QuartzEvent发布时,QuartzListenerEnhance就会获取QuartzEvent中定时任务的所有属性,包括定时任务的任务标识和任务路径。
比如,创建的事件对象的示例代码如下:
创建的监听器对象的示例代码如下:
步骤210,将任务标识和任务路径传递至任务调度器,以使任务调度器在按照任务路径查询到与任务标识对应的定时任务时,执行定时任务。
具体地,可以通过任务调度器的工厂类创建任务调度器实例并初始化后启动该任务调度器,任务调度器中可以存放大量的定时任务,在监听器对象接收到关于定时任务的属性时,就会将该属性传递至任务调度器,任务调度器可以根据任务路径查找与任务标识对应的定时任务,并通过该任务路径中与该定时任务对应的处理类执行该定时任务。
在一个具体的应用场景中,定时任务为:每五分钟外发一条短信。就可以在数据库表中配置一个短信外发的定时任务,设置BEAN_ID、CLASS_PATH、METHOD_NAME,并设置好触发条件CORN-EXPRESSION(每五分钟执行),将IS_ENABLE设置为启用,则系统会自动创建与该定时任务相关的事件对象和事件监听器,并通过任务调度器按照时间表达式执行该定时任务。若用户对该定时任务进行修改以实现每10分钟外发一条短信,则修改CORN-EXPRESSION对应的值即可,事件对象可以在获取到更新后的配置信息后,根据定时任务最新的触发条件进行事件发布,就可以直接在监测到该事件时执行更新后的定时任务,而不需要重启系统。
上述基于Spring MVC的定时任务处理方法中,通过数据库表实现对定时任务的配置,这样可以随时在数据库表中修改定时任务的属性,实现对定时任务的修改,可以直接根据修改后的最新的属性执行定时任务时而不需要重启系统。只需要获取在数据库表中为定时任务配置的最新的属性,根据最新的属性创建继承自事件接口类的事件对象以及创建继承自监听器接口类的监听器对象;当通过监听器对象监听到事件对象根据定时任务的触发条件发布时,则获取事件对象所对应定时任务的任务标识和任务路径,并将任务标识和任务路径传递至任务调度器,任务调度器就可以按照任务路径查询到与任务标识对应的定时任务并执行。
在其中一个实施例中,上述方法还包括:展示对定时任务进行配置的页面;获取在页面中触发的针对定时任务的属性的修改操作;根据修改操作获取定时任务的最新的属性;将最新的属性传递至事件对象,以使事件对象按照更新后的属性进行发布。
具体地,数据库服务器可以展示对定时任务进行配置的页面,当用户修改了定时任务的配置信息并保存后,数据库服务器就可以获取到用户触发的修改操作,根据修改操作获取定时任务的最新的属性,将最新的属性传递至创建的事件对象。
在其中一个实施例中,修改操作针对的属性是触发条件,则定时任务服务器获取到最新的触发条件并传递给事件对象,在系统启动后,事件对象就根据最新的触发条件进行发布。
在其中一个实施例中,修改操作针对的属性是任务路径,则定时任务服务器获取最新的任务路径,从最新的任务路径中查询与任务标识对应的定时任务,并在满足触发条件时,调用最新的任务路径中的处理类执行定时任务。
在其中一个实施例中,修改操作针对的属性是任务状态,则定时任务服务器将会在系统启动时,不接收已创建的与该定时任务对应的事件对象的注册,这样,即便满足触发条件,事件对象也不会发布,从而无法执行定时任务。
上述实施例中,可以随时对定时任务的配置信息进行修改,事件对象可以按照修改后的属性发布事件,就可以实现直接根据修改后的最新的属性执行定时任务时而不需要重启系统。
在其中一个实施例中,属性还包括用于执行定时任务的处理类名;
步骤208中的获取事件对象所对应定时任务的任务标识和任务路径具体包括:
获取事件对象所对应定时任务的任务标识、任务路径和处理类名;
步骤210,即将任务标识和任务路径传递至任务调度器,以使任务调度器在按照任务路径查询到与任务标识对应的定时任务时,执行定时任务具体包括:将任务标识、任务路径和处理类名传递至任务调度器,以使任务调度器在按照任务路径查询到与任务标识对应的定时任务时,调用处理类名对应的处理函数执行定时任务。
其中,处理类名对应了具体执行定时任务的函数。当通过监听器对象监听到事件对象的发布时,就获取该事件对象所包括的定时任务的属性,并将获取的任务标识、任务路径和处理类名传递给任务调度器时,任务调度器按照任务路径查询到与任务标识对应的定时任务,并调用与传递的处理类名执行该定时任务。
在其中一个实施例中,定时任务包括第一定时任务和第二定时任务;第一定时任务的属性由第一服务器配置后存储到数据库表中,第二定时任务的属性由第二服务器配置后存储到数据库表中;第一定时任务和第二定时任务对应了同一处理类;方法还包括:接收第一服务器发起的用于执行第一定时任务的请求;对第一定时任务对应的处理类执行加锁操作;当在执行第一定时任务的过程中,接收到第二服务器发起的用于执行第二定时任务的请求时,则将第二定时任务添加至消息队列中;当第一定时任务执行结束后,对第一定时任务的处理类执行释放锁操作;对消息队列中的第二定时任务的处理类执行加锁操作;当第二定时任务执行结束后,对二定时任务的处理类执行释放锁操作。
具体地,在接收到第一服务器发送的用于执行第一定时任务的请求后,定时任务服务器根据该请求,在满足第一定时任务的触发条件时会执行第一定时任务,在接收到第二服务器发送的用于执行第二定时任务的请求后,定时任务服务器根据该请求,在满足第二定时任务的触发条件时执行第二定时任务,但是由于第一定时任务和第二定时任务对应了同一处理类,如果这两个请求同时提交则只能保证最先到来的请求对应的操作可以执行,也就是在先到来的请求获得了该处理类的锁,而在后到来的需要等待,会被添加至定时任务消息队列中。因此,在执行第一定时任务之前,需要对根据第一定时任务的锁时间对处理类执行加锁操作,并将在后到来的第二定时任务添加至定时任务消息队列中,在第一定时任务执行结束之后,对第一定时任务的处理类执行释放锁操作,然后再按照第二定时任务的加锁时间对在后的第二定时任务的处理类执行加锁操作,直至第二定时任务执行结束后对其处理类执行释放锁操作。
在其中一个实施例中,在每个定时任务的配置信息中,还包括对该定时任务对应的处理类进行锁定的时间LOCK_MINUTES,也就是在处理类被锁的该段时间内该处理类仅用于处理当前的定时任务,当锁定时间到达时,则对该处理类执行释放锁操作。
在一个具体的实施例中,基于Spring MVC的定时任务处理方法具体包括以下步骤:
实时读取数据库中的数据库表;
解析数据库表中用于表示定时任务状态的字段对应的值;
当字段对应的值表示定时任务已生效时,则
解析数据库表中用于标识定时任务的字段,得到任务标识;
解析数据库表中用于表示定时任务路径的字段,得到任务路径;
解析数据库表中用于表示定时任务的触发条件的字段,得到触发条件;
根据任务标识、任务路径、触发条件创建继承自事件接口类的事件对象,并在满足触发条件时,发布所述事件对象;
当获取到针对定时任务的属性的修改操作时,则根据修改操作获取定时任务的最新的属性;
将最新的属性传递至事件对象,以使事件对象按照更新后的属性进行发布;
创建用于监听事件对象是否发布的、且继承自监听器接口类的监听器对象;
当通过监听器对象监听到事件对象发布时,则获取事件对象所对应定时任务的任务标识、处理类名和任务路径;
将处理类名、任务标识和任务路径传递至任务调度器,以使任务调度器在按照任务路径查询到与任务标识对应的定时任务时,调用处理类名对应的处理函数执行定时任务。
在执行定时任务之前,对定时任务对应的处理类执行加锁操作;
当在执行第一定时任务的过程中,接收到根据该处理类执行另一定时任务的请求时,则将该另一定时任务添加至消息队列中;
当定时任务执行结束后,对定时任务的处理类执行释放锁操作;
对消息队列中的该另一定时任务的处理类执行加锁操作;
当该另一定时任务执行结束后,对对应的处理类执行释放锁操作。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种基于Spring MVC的定时任务处理装置300,包括:获取模块302、事件对象创建模块304、监听器对象创建模块306、定时任务获取模块308和定时任务执行模块310,其中:
获取模块302,用于获取在数据库表中为定时任务配置的最新的属性,属性包括定时任务的触发条件、任务标识和任务路径;
事件对象创建模块304,用于根据属性创建继承自事件接口类的事件对象,并在满足所述触发条件时,发布所述事件对象;
监听器对象创建模块306,用于创建用于监听事件对象是否发布的、且继承自监听器接口类的监听器对象;
定时任务获取模块308,用于当通过监听器对象监听到事件对象发布时,则获取事件对象所对应定时任务的任务标识和任务路径;
定时任务执行模块310,用于将任务标识和任务路径传递至任务调度器,以使任务调度器在按照任务路径查询到与任务标识对应的定时任务时,执行定时任务。
在其中一个实施例中,获取模块302还用于实时读取数据库中的数据库表;解析数据库表中用于表示定时任务状态的字段对应的值;当字段对应的值表示定时任务已生效时,则解析数据库表中用于标识定时任务的字段,得到任务标识;解析数据库表中用于表示定时任务路径的字段,得到任务路径。
在其中一个实施例中,上述装置还包括定时任务更新模块,定时任务更新模块用于展示对定时任务进行配置的页面;获取在页面中触发的针对定时任务的属性的修改操作;根据修改操作获取定时任务的最新的属性;将最新的属性传递至事件对象,以使事件对象按照更新后的属性进行发布。
在其中一个实施例中,属性还包括用于执行定时任务的处理类名;定时任务获取模块308还用于获取事件对象所对应定时任务的任务标识、任务路径和处理类名;定时任务执行模块310还用于将任务标识、任务路径和处理类名传递至任务调度器,以使任务调度器在按照任务路径查询到与任务标识对应的定时任务时,调用处理类名对应的处理函数执行定时任务。
在其中一个实施例中,定时任务包括第一定时任务和第二定时任务;第一定时任务的属性由第一服务器配置后存储到数据库表中,第二定时任务的属性由第二服务器配置后存储到数据库表中,第一定时任务和第二定时任务对应了同一处理类;上述装置还包括请求接收模块、加锁模块、添加模块和释放锁模块,请求接收模块用于接收第一服务器发起的用于执行第一定时任务的请求;加锁模块用于对第一定时任务对应的处理类执行加锁操作;添加模块用于当在执行第一定时任务的过程中,接收到第二服务器发起的用于执行第二定时任务的请求时,则将第二定时任务添加至消息队列中;释放锁模块用于当第一定时任务执行结束后,对第一定时任务的处理类执行释放锁操作;加锁模块还用于对消息队列中的第二定时任务的处理类执行加锁操作;释放锁模块还用于当第二定时任务执行结束后,对二定时任务的处理类执行释放锁操作。
上述基于Spring MVC的定时任务处理装置,通过数据库表实现对定时任务的配置,这样可以随时在数据库表中修改定时任务的属性,实现对定时任务的修改,可以直接根据修改后的最新的属性执行定时任务时而不需要重启系统。只需要获取在数据库表中为定时任务配置的最新的属性,根据最新的属性创建继承自事件接口类的事件对象以及创建继承自监听器接口类的监听器对象;当通过监听器对象监听到事件对象根据定时任务的触发条件发布时,则获取事件对象所对应定时任务的任务标识和任务路径,并将任务标识和任务路径传递至任务调度器,任务调度器就可以按照任务路径查询到与任务标识对应的定时任务并执行。
关于基于Spring MVC的定时任务处理装置的具体限定可以参见上文中对于基于Spring MVC的定时任务处理方法的限定,在此不再赘述。上述基于Spring MVC的定时任务处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种基于Spring MVC的定时任务处理方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的Spring MVC的定时任务处理装置可以实现为一种计算机程序的形式,计算机程序可在如图4所示的计算机设备上运行。计算机设备的存储器中可存储组成该Spring MVC的定时任务处理装置的各个程序模块,比如,图3所示的获取模块302、事件对象创建模块304、监听器对象创建模块306、定时任务获取模块308和定时任务执行模块310。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的Spring MVC的定时任务处理方法中的步骤。
例如,图4所示的计算机设备可以通过如图3所示的Spring MVC的定时任务处理装置中的获取模块302执行步骤202。计算机设备可通过事件对象创建模块304执行步骤204。计算机设备可通过监听器对象创建模块306执行步骤206。计算机设备可通过定时任务获取模块308执行步骤208。计算机设备可通过定时任务执行模块310执行步骤210。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述Spring MVC的定时任务处理方法的步骤。此处Spring MVC的定时任务处理方法的步骤可以是上述各个实施例的SpringMVC的定时任务处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述Spring MVC的定时任务处理方法的步骤。此处Spring MVC的定时任务处理方法的步骤可以是上述各个实施例的Spring MVC的定时任务处理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于Spring MVC的定时任务处理方法,所述方法包括:
实时读取数据库表中用于配置定时任务的每个字段的参数值,按照各个字段的描述规则解析参数值后得到为所述定时任务配置的属性,所述属性包括所述定时任务的触发条件、任务标识和任务路径;
实时读取在数据库表中为定时任务配置的每个字段的参数值,当表示定时任务状态的字段对应的值表示所述定时任务已经生效时,根据所述属性创建继承自事件接口类的事件对象,并在系统启动后满足所述触发条件时,发布所述事件对象,以将与所述定时任务对应的事件对象传递至系统内的监听器对象;
创建用于监听所述事件对象是否发布的、且继承自监听器接口类的监听器对象;
当通过所述监听器对象监听到所述事件对象发布时,则获取所述事件对象所对应定时任务的任务标识和任务路径;
将所述任务标识和所述任务路径传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,执行所述定时任务;
展示对定时任务进行配置的页面,获取在所述页面中触发的针对所述定时任务的属性的修改操作,根据所述修改操作获取所述定时任务的最新的属性,将最新的属性传递至所述事件对象,以使所述事件对象在系统启动后按照更新后的属性对所述定时任务进行发布。
2.根据权利要求1所述的方法,其特征在于,所述实时读取数据库表中用于配置定时任务的每个字段的参数值,按照各个字段的描述规则解析参数值后得到为所述定时任务配置的属性,包括:
实时读取数据库中的数据库表;
解析所述数据库表中用于表示定时任务状态的字段对应的值;
当所述字段对应的值表示所述定时任务已生效时,则
解析所述数据库表中用于标识定时任务的字段,得到任务标识;
解析所述数据库表中用于表示定时任务路径的字段,得到任务路径。
3.根据权利要求1所述的方法,其特征在于,所述属性还包括用于执行所述定时任务的处理类名;
所述获取所述事件对象所对应定时任务的任务标识和任务路径包括:
获取所述事件对象所对应定时任务的任务标识、任务路径和处理类名;
所述将所述任务标识和所述任务路径传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,执行所述定时任务包括:
将所述任务标识、任务路径和处理类名传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,调用所述处理类名对应的处理函数执行所述定时任务。
4.根据权利要求1所述的方法,其特征在于,所述定时任务包括第一定时任务和第二定时任务;所述第一定时任务的属性由第一服务器配置后存储到数据库表中,所述第二定时任务的属性由第二服务器配置后存储到数据库表中;所述第一定时任务和所述第二定时任务对应了同一处理类;所述方法还包括:
接收第一服务器发起的用于执行所述第一定时任务的请求;
对所述第一定时任务对应的处理类执行加锁操作;
当在执行所述第一定时任务的过程中,接收到第二服务器发起的用于执行所述第二定时任务的请求时,则将所述第二定时任务添加至消息队列中;
当所述第一定时任务执行结束后,对所述第一定时任务的处理类执行释放锁操作;
对所述消息队列中的第二定时任务的处理类执行加锁操作;
当所述第二定时任务执行结束后,对所述二定时任务的处理类执行释放锁操作。
5.一种基于Spring MVC的定时任务处理装置,其特征在于,所述装置包括:
获取模块,用于实时读取数据库表中用于配置定时任务的每个字段的参数值,按照各个字段的描述规则解析参数值后得到为所述定时任务配置的属性,所述属性包括所述定时任务的触发条件、任务标识和任务路径;
事件对象创建模块,用于实时读取在数据库表中为定时任务配置的每个字段的参数值,当表示定时任务状态的字段对应的值表示所述定时任务已经生效时,根据所述属性创建继承自事件接口类的事件对象,并在系统启动后满足所述触发条件时,发布所述事件对象,以将与所述定时任务对应的事件对象传递至系统内的监听器对象;
监听器对象创建模块,用于创建用于监听所述事件对象是否发布的、且继承自监听器接口类的监听器对象;
定时任务获取模块,用于当通过所述监听器对象监听到所述事件对象发布时,则获取所述事件对象所对应定时任务的任务标识和任务路径;
定时任务执行模块,用于将所述任务标识和所述任务路径传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,执行所述定时任务;
定时任务更新模块,用于展示对定时任务进行配置的页面,获取在所述页面中触发的针对所述定时任务的属性的修改操作,根据所述修改操作获取所述定时任务的最新的属性,将最新的属性传递至所述事件对象,以使所述事件对象在系统启动后按照更新后的属性对所述定时任务进行发布。
6.根据权利要求5所述的装置,其特征在于,所述获取模块还用于实时读取数据库中的数据库表;解析所述数据库表中用于表示定时任务状态的字段对应的值;当所述字段对应的值表示所述定时任务已生效时,则解析所述数据库表中用于标识定时任务的字段,得到任务标识;解析所述数据库表中用于表示定时任务路径的字段,得到任务路径。
7.根据权利要求5所述的装置,其特征在于,所述定时任务获取模块还用于获取所述事件对象所对应定时任务的任务标识、任务路径和处理类名;所述定时任务执行模块还用于将所述任务标识、任务路径和处理类名传递至任务调度器,以使所述任务调度器在按照所述任务路径查询到与所述任务标识对应的定时任务时,调用所述处理类名对应的处理函数执行所述定时任务。
8.根据权利要求5所述的装置,其特征在于,所述定时任务包括第一定时任务和第二定时任务;所述第一定时任务的属性由第一服务器配置后存储到数据库表中,所述第二定时任务的属性由第二服务器配置后存储到数据库表中;所述第一定时任务和所述第二定时任务对应了同一处理类;
请求接收模块,用于接收第一服务器发起的用于执行所述第一定时任务的请求;
加锁模块,用于对所述第一定时任务对应的处理类执行加锁操作;
添加模块,用于当在执行所述第一定时任务的过程中,接收到第二服务器发起的用于执行所述第二定时任务的请求时,则将所述第二定时任务添加至消息队列中;
释放锁模块,用于当所述第一定时任务执行结束后,对所述第一定时任务的处理类执行释放锁操作;
所述加锁模块,用于对所述消息队列中的第二定时任务的处理类执行加锁操作;
所述释放锁模块,用于当所述第二定时任务执行结束后,对所述二定时任务的处理类执行释放锁操作。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910433920.5A CN110334126B (zh) | 2019-05-23 | 2019-05-23 | 基于Spring MVC的定时任务处理方法、装置和计算机设备 |
PCT/CN2019/102926 WO2020232878A1 (zh) | 2019-05-23 | 2019-08-28 | 基于Spring MVC的定时任务处理方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910433920.5A CN110334126B (zh) | 2019-05-23 | 2019-05-23 | 基于Spring MVC的定时任务处理方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334126A CN110334126A (zh) | 2019-10-15 |
CN110334126B true CN110334126B (zh) | 2024-02-27 |
Family
ID=68139037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910433920.5A Active CN110334126B (zh) | 2019-05-23 | 2019-05-23 | 基于Spring MVC的定时任务处理方法、装置和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110334126B (zh) |
WO (1) | WO2020232878A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506624A (zh) * | 2020-10-29 | 2021-03-16 | 望海康信(北京)科技股份公司 | 定时任务调度系统、方法及相应计算机设备和存储介质 |
CN112540861B (zh) * | 2020-12-08 | 2023-09-08 | 北京奇艺世纪科技有限公司 | 数据采集方法、数据处理方法、装置及电子设备 |
CN112463348B (zh) * | 2021-01-27 | 2021-06-15 | 北京搜狐新媒体信息技术有限公司 | 一种定时任务处理方法及装置 |
CN113076186B (zh) * | 2021-05-07 | 2023-07-28 | 泰康保险集团股份有限公司 | 任务处理的方法、装置、电子设备和存储介质 |
CN113553162A (zh) * | 2021-08-09 | 2021-10-26 | 湖南酷陆网络科技有限公司 | 一种环卫云平台程序运行定时任务管理系统 |
CN113672409A (zh) * | 2021-08-24 | 2021-11-19 | 贵州电子商务云运营有限责任公司 | 一种基于一个定时任务执行多种不同业务事件的方法 |
CN113961330A (zh) * | 2021-11-04 | 2022-01-21 | 京东科技信息技术有限公司 | 分布式定时任务执行方法、装置、设备和计算机可读介质 |
CN114510282B (zh) * | 2021-12-15 | 2024-02-13 | 北京达佳互联信息技术有限公司 | 一种自动化应用的运行方法、装置、设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156265A (zh) * | 2014-08-08 | 2014-11-19 | 乐得科技有限公司 | 定时任务的处理方法和处理装置 |
CN108287923A (zh) * | 2018-02-28 | 2018-07-17 | 山东汇贸电子口岸有限公司 | 一种可视化接口数据智能提取系统及其设计方法 |
CN108399095A (zh) * | 2017-02-04 | 2018-08-14 | 北京京东尚科信息技术有限公司 | 支持动态管理定时任务的方法、系统、设备和存储介质 |
CN109359809A (zh) * | 2018-09-03 | 2019-02-19 | 中国平安人寿保险股份有限公司 | 工作任务分配方法、系统、计算机设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5758952B2 (ja) * | 2013-06-04 | 2015-08-05 | 楊 泰和 | スプリング装置 |
CN105809299A (zh) * | 2014-12-27 | 2016-07-27 | 华为技术有限公司 | 业务流程管理的通知服务处理的方法及业务流程管理引擎 |
US9881265B2 (en) * | 2015-01-30 | 2018-01-30 | Oracle International Corporation | Method and system for implementing historical trending for business records |
CN108733468A (zh) * | 2017-04-20 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 定时任务动态配置方法及装置、存储介质及服务器集群 |
-
2019
- 2019-05-23 CN CN201910433920.5A patent/CN110334126B/zh active Active
- 2019-08-28 WO PCT/CN2019/102926 patent/WO2020232878A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156265A (zh) * | 2014-08-08 | 2014-11-19 | 乐得科技有限公司 | 定时任务的处理方法和处理装置 |
CN108399095A (zh) * | 2017-02-04 | 2018-08-14 | 北京京东尚科信息技术有限公司 | 支持动态管理定时任务的方法、系统、设备和存储介质 |
CN108287923A (zh) * | 2018-02-28 | 2018-07-17 | 山东汇贸电子口岸有限公司 | 一种可视化接口数据智能提取系统及其设计方法 |
CN109359809A (zh) * | 2018-09-03 | 2019-02-19 | 中国平安人寿保险股份有限公司 | 工作任务分配方法、系统、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020232878A1 (zh) | 2020-11-26 |
CN110334126A (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334126B (zh) | 基于Spring MVC的定时任务处理方法、装置和计算机设备 | |
CN109828847B (zh) | 基于区块链的锁处理方法、装置、计算机设备及存储介质 | |
CN109542529B (zh) | 基于函数名称的埋点方法、装置、计算机设备及存储介质 | |
US10095483B2 (en) | Modularized XML namespaces | |
CN110825420A (zh) | 分布式集群的配置参数更新方法、装置、设备及存储介质 | |
CN111159233B (zh) | 分布式缓存方法、系统、计算机设备以及存储介质 | |
CN110765484B (zh) | 一种征信数据处理方法及电子设备 | |
CN112953745B (zh) | 服务调用方法、系统、计算机设备和存储介质 | |
CN112613993B (zh) | 交易数据处理方法、装置、计算机设备和存储介质 | |
CN110224855B (zh) | 微服务实例的注册方法、装置、计算机设备及存储介质 | |
CN110597918A (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
US11657034B2 (en) | Data consistency in master data integration | |
CN109460252B (zh) | 基于git的配置文件处理方法、装置和计算机设备 | |
CN109254765B (zh) | 定时任务管理方法、装置、计算机设备及存储介质 | |
US9665732B2 (en) | Secure Download from internet marketplace | |
CN111177776A (zh) | 多租户数据隔离方法与系统 | |
US20220272171A1 (en) | Method and apparatus for subscribing to resource | |
CN109117152B (zh) | 服务生成系统及方法 | |
CN113132356B (zh) | Udp报文的分发方法、设备及存储介质 | |
CN112235352B (zh) | 一种服务依赖梳理方法和装置 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US10185735B2 (en) | Distributed database system and a non-transitory computer readable medium | |
CN112069223B (zh) | 数据获取需求处理方法、装置、计算机设备和存储介质 | |
CN112637085B (zh) | 流量录制方法、装置、计算机设备和存储介质 | |
CN110166528B (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 |