CN111142977B - 一种定时任务的处理方法、装置、计算机设备及存储介质 - Google Patents
一种定时任务的处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111142977B CN111142977B CN201911368284.9A CN201911368284A CN111142977B CN 111142977 B CN111142977 B CN 111142977B CN 201911368284 A CN201911368284 A CN 201911368284A CN 111142977 B CN111142977 B CN 111142977B
- Authority
- CN
- China
- Prior art keywords
- preemption
- server
- continuous
- timing
- servers
- 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
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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- 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/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种定时任务的处理方法、装置、计算机设备及存储介质,方法包括:搭建Spring boot项目工程,并在所述Spring boot项目工程中引入定时任务框架的依赖包;在所述Spring boot项目工程使用的数据库中创建定时任务框架对应的配置表;在所述配置表中对所述定时任务框架进行配置;在多台不同的服务器上部署相同的定时任务;当定时任务的定时时间达到后,多台服务器同时启动所述定时任务并进行抢占;当其中有一台服务器抢占成功并开始执行时,则在所述配置表中将对应服务器的状态设置为抢占成功,并控制其他服务器停止抢占所述定时任务。本发明中,当某台服务器宕机时,其他服务器的定时任务自动启动,处理业务流程,无需人工干预,提高了效率,降低了成本。
Description
技术领域
本发明涉及定时任务领域,尤其涉及一种定时任务的处理方法、装置、计算机设备及存储介质。
背景技术
现有技术中,对于批处理任务(定时任务),普遍采用主备(A/B)形式的部署架构方案,但还没有统一管理与调度的平台,当某台部署批处理的(A)主服务器异常时,则这时(A)主服务器的批处理任务将无法正常执行,需要人工干预,以切换或者启动(B)备服务器中的批处理任务,以确保任务或者数据,能够在指定的时间范围内开始执行与处理。
即,现有技术的定时任务部署架构普遍为主备节点部署,当主服务器异常时,会影响定时任务的正常执行,需人工干预与监测,成本高,且人工执行与确认也相对耗时间,在一定场景下会影响业务的正常流程。
鉴于现有技术存在的上述问题,因此有必要对现有技术进行优化和改进。
发明内容
本发明实施例提供了一种定时任务的处理方法、装置、计算机设备及存储介质,旨在解决现有的定时任务处理方式成本高、不方便、效率低的问题。
第一方面,本发明实施例提供一种定时任务的处理方法,其包括:
搭建Spring boot项目工程,并在所述Springboot项目工程中引入定时任务框架的依赖包;
在所述Springboot项目工程使用的数据库中创建定时任务框架对应的配置表;
在所述配置表中对所述定时任务框架进行配置;
在多台不同的服务器上部署相同的定时任务;
当定时任务的定时时间达到后,多台服务器同时启动所述定时任务并进行抢占;
当其中有一台服务器抢占成功并开始执行时,则在所述配置表中将对应服务器的状态设置为抢占成功,并控制其他服务器停止抢占所述定时任务。
优选的,所述数据库为mysql数据库。
优选的,还包括:
当有服务器宕机时,剩余服务器在定时任务的定时时间到达后,继续同时启动所述定时任务并进行抢占。
优选的,所述在所述配置表中对所述定时任务框架进行配置,包括:
将所述定时任务框架中的定时任务配置为有状态。
优选的,所述在所述配置表中对所述定时任务框架进行配置,还包括:
将所述定时任务框架中的定时任务配置为持久化存储到数据库中。
优选的,所述当有服务器宕机时,剩余服务器在定时任务的定时时间到达后,继续同时启动所述定时任务并进行抢占之后,包括:
获取宕机服务器的服务器信息,并生成包含服务器信息的告警信息,并返回所述告警信息。
优选的,所述告警信息包含服务器ID、宕机时间和宕机原因。
第二方面,本发明实施例提供一种定时任务的处理装置,其包括:
搭建单元,用于搭建Springboot项目工程,并在所述Springboot项目工程中引入定时任务框架的依赖包;
创建单元,用于在所述Springboot项目工程使用的数据库中创建定时任务框架对应的配置表;
配置单元,用于在所述配置表中对所述定时任务框架进行配置;
部署单元,用于在多台不同的服务器上部署相同的定时任务;
抢占单元,用于当定时任务的定时时间达到后,多台服务器同时启动所述定时任务并进行抢占;
处理单元,用于当其中有一台服务器抢占成功并开始执行时,则在所述配置表中将对应服务器的状态设置为抢占成功,并控制其他服务器停止抢占所述定时任务。
第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的定时任务的处理方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述定时任务的处理方法。
本发明实施例提供了一种定时任务的处理方法、装置、计算机设备及存储介质,搭建Spring boot项目工程,并在所述Spring boot项目工程中引入定时任务框架的依赖包;在所述Spring boot项目工程使用的数据库中创建定时任务框架对应的配置表;在所述配置表中对所述定时任务框架进行配置;在多台不同的服务器上部署相同的定时任务;当定时任务的定时时间达到后,多台服务器同时启动所述定时任务并进行抢占;当其中有一台服务器抢占成功并开始执行时,则在所述配置表中将对应服务器的状态设置为抢占成功,并控制其他服务器停止抢占所述定时任务。本发明实施例中,当某台服务器宕机或者其他操作导致定时任务无法正常执行时,部署在其他服务器的定时任务自动启动,处理相关的业务流程,无需人工干预,提高了效率,降低了成本。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的定时任务的处理方法的流程示意图;
图2为本发明实施例提供的定时任务的处理装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的一种定时任务的处理方法的流程示意图,该方法包括步骤S101~S106:
S101、搭建Spring boot项目工程,并在所述Spring boot项目工程中引入定时任务框架的依赖包;
本步骤是搭建Springboot项目工程,在是Spring boot项目工程的代码中,同时引入对应定时任务框架的依赖包,例如quartz.jar,quartz-jobs.jar。
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
定时任务框架是指Quartz,Quartz是一个完全由java编写的开源作业调度框架。Quartz框架的核心是调度器。调度器负责管理Quartz应用运行时环境。Quartz采用了基于多线程的架构。启动时,框架初始化一套线程,这套线程被调度器用来执行预定的作业。Quartz依赖一套松耦合的线程池管理部件来管理线程环境。
S102、在所述Spring boot项目工程使用的数据库中创建定时任务框架对应的配置表;
本步骤是在所述Spring boot项目工程使使用的数据库中创建定时任务框架对应的配置表,该配置表是用来实现执行双活的调度。
在一实施例中,所述数据库为mysql数据库。mysql数据库是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
S103、在所述配置表中对所述定时任务框架进行配置;
本步骤是在配置表中对前述的定时任务框架的属性进行配置。
在一实施例中,所述步骤S103包括:
将所述定时任务框架中的定时任务配置为有状态。
即可以在所述配置表中将所述定时任务框架中的定时任务配置为有状态。
在定时任务框架(Quartz)中,job表示被调度的任务。主要有两种类型的job:无状态的(stateless)和有状态的(stateful)。对于同一个trigger(触发器)来说,有状态的job不能被并行执行,只有上一次触发的任务被执行完之后,才能触发下一次执行。
在一实施例中,所述步骤S103还包括:
将所述定时任务框架中的定时任务配置为持久化存储到数据库中。
即可以在所述配置表中将所述定时任务框架中的定时任务配置为持久化存储到数据库中。
在定时任务框架(Quartz)中,job主要有两种属性:volatility和durability,其中volatility表示任务是否被持久化到数据库存储,而durability表示在没有trigger(触发器)关联的时候任务是否被保留。volatility的值为true的时候任务被持久化到数据库存储,durability的值为true的时候表示在没有trigger(触发器)关联的时候任务被保留。一个job可以被多个trigger关联,但是一个trigger只能关联一个job。
S104、在多台不同的服务器上部署相同的定时任务;
这些不同的服务器是用来实现双活或者多活部署定时任务。即当一台或几台服务器宕机,只要仍有一台服务器正常,即可实现定时任务的正常秩序。
例如可以在四台不同的服务器上部署《生成订单流水文件》的定时任务,其执行时间为每日的00:30。
S105、当定时任务的定时时间达到后,多台服务器同时启动所述定时任务并进行抢占;
当部署有相同的定时任务的服务器正常时,这些服务器会同时启动定时任务并进行抢占,例如在00:30分,四台服务器上将会同时启动《生成订单流水文件》这个定时任务,则定时任务在Quartz代码上对应任务开始执行抢占。
S106、当其中有一台服务器抢占成功并开始执行时,则在所述配置表中将对应服务器的状态设置为抢占成功,并控制其他服务器停止抢占所述定时任务。
由于部署有相同的定时任务的服务器如果有多台正常时,那么会有多台服务器抢占,如果有某一台服务器已抢占开始执行时,则在所述配置表中将对应服务器的状态设置为抢占成功,这样其他服务器的定时任务则不再执行,等待下次定时任务的开始。通过本发明实施例,可以确保至少有一台服务器成功抢占定时任务并执行所述定时任务,并且本发明实施例无需人工监测,成本低,效率高。
在一实施例中,所述定时任务的处理方法还包括:
当有服务器宕机时,剩余服务器在定时任务的定时时间到达后,继续同时启动所述定时任务并进行抢占。
本发明实施例中,如果多台服务器中,有服务器宕机,剩余正常的服务器仍会在定时任务的定时时间到达时,继续同时启动该定时任务并进行定时任务的抢占,以确保剩余服务器中仍会有一台服务器抢占到该定时任务。当然,在此情况下,不能是全部的服务器都宕机,否则没有可用的服务器能够抢占定时任务。
在一实施例中,所述当有服务器宕机时,剩余服务器在定时任务的定时时间到达后,继续同时启动所述定时任务并进行抢占之后,包括:
获取宕机服务器的服务器信息,并生成包含服务器信息的告警信息,并返回所述告警信息。
本发明实施例中,在确认有服务器宕机,而其他服务器在抢占并执行定时任务之后,会获取宕机的服务器的服务器信息,并生成告警信息,该告警信息包含服务器信息,然后将告警信息返回。这样维护人员就能第一时间了解到服务器宕机的情况,以便对宕机的服务器进行维护。
在一实施例中,所述告警信息包含服务器ID、宕机时间和宕机原因。
本实施例中,所述告警信息包含的内容包含了服务器信息,即服务器ID,同时还包含宕机时间和宕机原因,这样维护人员就能了解到宕机的详细信息,并据此进行维护。
本发明实施例中,还可以各服务器的宕机次数和单次宕机的宕机时长进行统计,并返回统计信息。这样维护人员能够获得各个服务器的宕机情况,并进行对应的处理,确保定时任务能够处理成功。
另外,如果一服务器的宕机次数超过宕机阈值,并且其中有至少一次的宕机时长超过时长阈值,那么控制相应的服务器在下一次定时任务的定时时间到达时,则不再进行抢占,因为上述服务器极有可能出现大的问题,即使抢占成功,也可能无法正常进行处理,所以本发明实施例可以针对这种情况进行控制,由剩余服务器进行抢占。所述的宕机次数可以是5次,所述的宕机时长可以是10小时。
另外还可以对宕机次数超过宕机阈值,并且至少一次的宕机时长超过时长阈值的服务器进行标记,即将该服务器的状态标记为待维护服务器。对于此类服务器,当维护人员维护好之后,可以将其状态标记为正常。而对于正常的服务器则可以继续抢占定时任务。
本发明实施例中,还可以对参与定时任务的服务器进行动态管理,例如一个定时任务在初始状态下共部署在5台服务器上,正常情况下,这5台服务器均会对定时任务进行抢占,当其中一台服务器抢占成功时,其他服务器则停止抢占。
如果一台服务器多次未抢占成功,则说明该服务器可能自身有问题,例如网络问题、自身性能问题等等,所以本发明实施例针对这种情况,及时进行分析并反馈给维护人员。
即,本发明实施例可以统计每一台服务器抢占成功的总次数c、抢占失败的总次数s,连续抢占成功的次数lc和连续抢占失败的次数ls,以及定时任务的总执行次数T。
这样可以计算出:每一台服务器的抢占成功率为抢占成功的总次数c/定时任务的总执行次数T,每一台服务器的抢占失败率为抢占失败的总次数s/定时任务的总执行次数T,每一台服务器的连续抢占成功率为连续抢占成功的次数lc/定时任务的总执行次数T,每一台服务器的连续抢占失败率为连续抢占失败的次数ls/定时任务的总执行次数T。
本发明可以预先设置成功次数阈值、失败次数阈值、连续成功次数阈值、连续失败次数阈值、抢占成功率阈值、抢占失败率阈值、连续抢占成功率阈值、连续抢占失败率阈值。
对于一台服务器,如果抢占成功的总次数大于所述成功次数阈值,连续抢占成功的次数大于连续成功次数阈值,抢占成功率大于所述抢占成功率阈值,并且连续抢占成功率大于所述连续成功次数阈值,那么将所述服务器标记为优服务器。
对于一台服务器,如果抢占失败的总次数大于所述失败次数阈值,连续抢占失败的次数大于连续失败次数阈值,抢占失败率大于所述抢占失败率阈值,并且连续抢占失败率大于所述连续失败次数阈值,那么将所述服务器标记为差服务器。
而将其他服务器可标记为普通服务器。也就是说,服务器被分为了三个等级:优、普通和差。
另外,还将各个服务器的等级信息返回维护人员,这样维护人员就能了解到哪些服务器经常抢占成功,哪些服务器经常抢占失败,并根据实际情况进行调整。例如对于差服务器,则需要进行维护或投入更多资源,如果仍旧表现较差,可能需要关闭该服务器。
请参阅图2,图2为本发明实施例提供的一种定时任务的处理装置200的示意性框图,该装置200可以包括:
搭建单元201,用于搭建Springboot项目工程,并在所述Spring boot项目工程中引入定时任务框架的依赖包;
创建单元202,用于在所述Springboot项目工程使用的数据库中创建定时任务框架对应的配置表;
配置单元203,用于在所述配置表中对所述定时任务框架进行配置;
部署单元204,用于在多台不同的服务器上部署相同的定时任务;
抢占单元205,用于当定时任务的定时时间达到后,多台服务器同时启动所述定时任务并进行抢占;
处理单元206,用于当其中有一台服务器抢占成功并开始执行时,则在所述配置表中将对应服务器的状态设置为抢占成功,并控制其他服务器停止抢占所述定时任务。
在一实施例中,所述数据库为mysql数据库。
在一实施例中,所述的定时任务的处理装置还包括:
继续单元,用于当有服务器宕机时,剩余服务器在定时任务的定时时间到达后,继续同时启动所述定时任务并进行抢占。
在一实施例中,所述配置单元203包括:
状态配置单元,用于将所述定时任务框架中的定时任务配置为有状态。
在一实施例中,所述配置单元203还包括:
存储配置单元,用于将所述定时任务框架中的定时任务配置为持久化存储到数据库中。
在一实施例中,所述的定时任务的处理装置还包括:
告警单元,用于获取宕机服务器的服务器信息,并生成包含服务器信息的告警信息,并返回所述告警信息。
在一实施例中,所述告警信息包含服务器ID、宕机时间和宕机原因。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被处理器执行时可以实现上述实施例所提供的方法。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明还提供了一种计算机设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的方法。当然所述计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (7)
1.一种定时任务的处理方法,其特征在于,包括:
搭建Spring boot项目工程,并在所述Spring boot项目工程中引入定时任务框架的依赖包;
在所述Spring boot项目工程使用的数据库中创建定时任务框架对应的配置表;
在所述配置表中对所述定时任务框架进行配置;
在多台不同的服务器上部署相同的定时任务;
当定时任务的定时时间达到后,多台服务器同时启动所述定时任务并进行抢占;
当其中有一台服务器抢占成功并开始执行时,则在所述配置表中将对应服务器的状态设置为抢占成功,并控制其他服务器停止抢占所述定时任务;
当有服务器宕机时,剩余服务器在定时任务的定时时间到达后,继续同时启动所述定时任务并进行抢占;
获取宕机服务器的服务器信息,并生成包含服务器信息的告警信息,并返回所述告警信息,所述告警信息包含服务器ID、宕机时间和宕机原因;
对各服务器的宕机次数和单次宕机的宕机时长进行统计,并返回统计信息,所述统计信息包括:每一台服务器抢占成功的总次数c、抢占失败的总次数s,连续抢占成功的次数lc和连续抢占失败的次数ls,以及定时任务的总执行次数T;
预先设置成功次数阈值、失败次数阈值、连续成功次数阈值、连续失败次数阈值、抢占成功率阈值、抢占失败率阈值、连续抢占成功率阈值、连续抢占失败率阈值;对于一台服务器,如果抢占成功的总次数大于所述成功次数阈值,连续抢占成功的次数大于连续成功次数阈值,抢占成功率大于所述抢占成功率阈值,并且连续抢占成功率大于所述连续抢占成功率阈值,则将所述服务器标记为优服务器;对于一台服务器,如果抢占失败的总次数大于所述失败次数阈值,连续抢占失败的次数大于连续失败次数阈值,抢占失败率大于所述抢占失败率阈值,并且连续抢占失败率大于所述连续抢占失败率阈值,则将所述服务器标记为差服务器;将其他服务器标记为普通服务器;并将各个服务器的等级信息返回维护人员。
2.根据权利要求1所述的定时任务的处理方法,其特征在于,所述数据库为mysql数据库。
3.根据权利要求1所述的定时任务的处理方法,其特征在于,所述在所述配置表中对所述定时任务框架进行配置,包括:
将所述定时任务框架中的定时任务配置为有状态。
4.根据权利要求1所述的定时任务的处理方法,其特征在于,所述在所述配置表中对所述定时任务框架进行配置,还包括:
将所述定时任务框架中的定时任务配置为持久化存储到数据库中。
5.一种定时任务的处理装置,其特征在于,包括:
搭建单元,用于搭建Spring boot项目工程,并在所述Spring boot项目工程中引入定时任务框架的依赖包;
创建单元,用于在所述Spring boot项目工程使用的数据库中创建定时任务框架对应的配置表;
配置单元,用于在所述配置表中对所述定时任务框架进行配置;
部署单元,用于在多台不同的服务器上部署相同的定时任务;
抢占单元,用于当定时任务的定时时间达到后,多台服务器同时启动所述定时任务并进行抢占;
处理单元,用于当其中有一台服务器抢占成功并开始执行时,则在所述配置表中将对应服务器的状态设置为抢占成功,并控制其他服务器停止抢占所述定时任务;
继续单元,用于当有服务器宕机时,剩余服务器在定时任务的定时时间到达后,继续同时启动所述定时任务并进行抢占;
告警单元,用于获取宕机服务器的服务器信息,并生成包含服务器信息的告警信息,并返回所述告警信息,所述告警信息包含服务器ID、宕机时间和宕机原因;
统计单元,用于对各服务器的宕机次数和单次宕机的宕机时长进行统计,并返回统计信息,所述统计信息包括:每一台服务器抢占成功的总次数c、抢占失败的总次数s,连续抢占成功的次数lc和连续抢占失败的次数ls,以及定时任务的总执行次数T;
标记单元,用于预先设置成功次数阈值、失败次数阈值、连续成功次数阈值、连续失败次数阈值、抢占成功率阈值、抢占失败率阈值、连续抢占成功率阈值、连续抢占失败率阈值;对于一台服务器,如果抢占成功的总次数大于所述成功次数阈值,连续抢占成功的次数大于连续成功次数阈值,抢占成功率大于所述抢占成功率阈值,并且连续抢占成功率大于所述连续抢占成功率阈值,则将所述服务器标记为优服务器;对于一台服务器,如果抢占失败的总次数大于所述失败次数阈值,连续抢占失败的次数大于连续失败次数阈值,抢占失败率大于所述抢占失败率阈值,并且连续抢占失败率大于所述连续抢占失败率阈值,则将所述服务器标记为差服务器;将其他服务器标记为普通服务器;并将各个服务器的等级信息返回维护人员。
6.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的定时任务的处理方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述定时任务的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911368284.9A CN111142977B (zh) | 2019-12-26 | 2019-12-26 | 一种定时任务的处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911368284.9A CN111142977B (zh) | 2019-12-26 | 2019-12-26 | 一种定时任务的处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142977A CN111142977A (zh) | 2020-05-12 |
CN111142977B true CN111142977B (zh) | 2023-08-18 |
Family
ID=70520484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911368284.9A Active CN111142977B (zh) | 2019-12-26 | 2019-12-26 | 一种定时任务的处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142977B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506624A (zh) * | 2020-10-29 | 2021-03-16 | 望海康信(北京)科技股份公司 | 定时任务调度系统、方法及相应计算机设备和存储介质 |
CN113672409A (zh) * | 2021-08-24 | 2021-11-19 | 贵州电子商务云运营有限责任公司 | 一种基于一个定时任务执行多种不同业务事件的方法 |
CN113836161B (zh) * | 2021-09-30 | 2023-11-03 | 紫光云技术有限公司 | 一种利用数据库锁实现定时任务原子性的方法 |
CN116382814B (zh) * | 2023-03-31 | 2024-03-12 | 杭州端点网络科技有限公司 | 统一系统调度适配方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775985A (zh) * | 2016-12-26 | 2017-05-31 | 中国建设银行股份有限公司 | 一种批处理任务调度方法及装置 |
CN107203429A (zh) * | 2016-03-18 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种基于分布式锁加载分布式任务的方法以及装置 |
CN107566460A (zh) * | 2017-08-16 | 2018-01-09 | 微梦创科网络科技(中国)有限公司 | 分布式部署计划任务的方法和系统 |
CN107918556A (zh) * | 2016-10-11 | 2018-04-17 | 北京京东尚科信息技术有限公司 | 一种定时任务在多个服务器的并行执行方法和装置 |
CN108762931A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 基于分布式调度系统的任务调度方法、服务器及存储介质 |
CN109639490A (zh) * | 2018-12-18 | 2019-04-16 | 网宿科技股份有限公司 | 一种宕机通知方法及装置 |
CN110535939A (zh) * | 2019-08-29 | 2019-12-03 | 深圳前海环融联易信息科技服务有限公司 | 一种服务发现与抢占方法、装置、计算机设备及存储介质 |
-
2019
- 2019-12-26 CN CN201911368284.9A patent/CN111142977B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203429A (zh) * | 2016-03-18 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 一种基于分布式锁加载分布式任务的方法以及装置 |
CN107918556A (zh) * | 2016-10-11 | 2018-04-17 | 北京京东尚科信息技术有限公司 | 一种定时任务在多个服务器的并行执行方法和装置 |
CN106775985A (zh) * | 2016-12-26 | 2017-05-31 | 中国建设银行股份有限公司 | 一种批处理任务调度方法及装置 |
CN107566460A (zh) * | 2017-08-16 | 2018-01-09 | 微梦创科网络科技(中国)有限公司 | 分布式部署计划任务的方法和系统 |
CN108762931A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 基于分布式调度系统的任务调度方法、服务器及存储介质 |
CN109639490A (zh) * | 2018-12-18 | 2019-04-16 | 网宿科技股份有限公司 | 一种宕机通知方法及装置 |
CN110535939A (zh) * | 2019-08-29 | 2019-12-03 | 深圳前海环融联易信息科技服务有限公司 | 一种服务发现与抢占方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
面向分布式实时系统的安全驱动调度算法研究;夏平;周兴社;;计算机工程与应用(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111142977A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111142977B (zh) | 一种定时任务的处理方法、装置、计算机设备及存储介质 | |
US8938421B2 (en) | Method and a system for synchronizing data | |
CN108132837B (zh) | 一种分布式集群调度系统及方法 | |
CN107566460B (zh) | 分布式部署计划任务的方法和系统 | |
CN112181621A (zh) | 一种任务调度系统、方法、设备及存储介质 | |
US20230029198A1 (en) | Scheduling complex jobs in a distributed network | |
CN105653362A (zh) | 用于管理定时任务的方法和设备 | |
CN112910937A (zh) | 容器集群中的对象调度方法、装置、服务器和容器集群 | |
CN114371975A (zh) | 大数据组件参数调整方法、装置、电子设备及存储介质 | |
CN110704172B (zh) | 集群系统定时任务调度方法及集群系统 | |
CN107463390B (zh) | 一种软件升级方法及升级服务器 | |
CN112379989B (zh) | 一种定时任务进程与队列服务进程管理系统及方法 | |
CN103823711A (zh) | 在Java虚拟机中提供相对定时的方法及装置 | |
CN113342499B (zh) | 分布式任务调用方法、装置、设备、存储介质、程序产品 | |
US20200125385A1 (en) | System and method for providing machine learning based memory resiliency | |
CN111767125B (zh) | 任务执行方法、装置、电子设备、存储介质 | |
US10684889B2 (en) | Systems, methods, and computer program products for scheduling processing jobs to run in a computer system | |
WO2004012029A2 (en) | Restricting access to a method in a component | |
US11366692B2 (en) | Task execution based on whether task completion time exceeds execution window of device to which task has been assigned | |
CN113296914A (zh) | 一种基于ZooKeeper的分布式任务调度系统及方法 | |
CN114020368A (zh) | 基于状态机的信息处理方法、装置和存储介质 | |
CN110011832B (zh) | 一种计划任务的配置下发方法及装置 | |
CN107169129B (zh) | 一种调度方法和装置 | |
CN111158880A (zh) | 一种分布式定时任务调度方法、系统、装置及存储介质 | |
US7805326B2 (en) | System to resolve scheduling constraints |
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 |