CN109254765B - 定时任务管理方法、装置、计算机设备及存储介质 - Google Patents
定时任务管理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109254765B CN109254765B CN201810959335.4A CN201810959335A CN109254765B CN 109254765 B CN109254765 B CN 109254765B CN 201810959335 A CN201810959335 A CN 201810959335A CN 109254765 B CN109254765 B CN 109254765B
- Authority
- CN
- China
- Prior art keywords
- task
- jar
- timing task
- timed
- timing
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- 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
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种定时任务管理方法、装置、计算机设备及存储介质,该方法包括:通过预先部署的定时任务检测工具,对与定时任务管理服务器相连的服务器集群的源代码进行扫描,获取定时任务代码块;将定时任务代码块存储到对应的定时任务工程中,并采用编译打包工具对定时任务工程进行处理,获取定时任务Jar包;通过项目依赖管理工具从第三方类库中获取与请求标识对应的目标Jar包通过项目依赖管理工具从第三方类库中获取目标Jar包;将定时任务Jar包和目标Jar包存储在Lib文件夹中,并采用JarsLink框架对Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理。实现了对定时任务代码块的集中统一管理,提高了获取定时任务代码块的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种定时任务管理方法、装置、计算机设备及存储介质。
背景技术
在不同的需求或者项目中基本上都会存在定时任务处理的需求,随着业务量的提升,***中定时任务处理的业务量大幅度提升,对用于实现定时任务的代码块的新增、删除和修改操作也越来越频繁。目前针对业务程序中需要新增、删除或者修改用于实现定时任务的代码块的需求,常采用的方式为开发人员重复的编写,手动删除和修改。仅能实现针对某一具体的业务程序添加、删除和修改用于实现定时任务的代码块,使得开发人员重复工作量增大,浪费开发人员的时间,造成开发效率不高。同时,缺乏对用于实现定时任务的代码块的统一管理。
发明内容
本发明实施例提供一种定时任务管理方法、装置、计算机设备及存储介质,以解决当前定时任务代码块开发效率低和不能统一管理的问题。
一种定时任务管理方法,包括定时任务管理服务器执行的如下步骤:
通过预先部署的定时任务检测工具,对与所述定时任务管理服务器相连的服务器集群的源代码进行扫描,获取定时任务代码块;
将所述定时任务代码块存储到对应的定时任务工程中,并采用编译打包工具对所述定时任务工程进行编译打包处理,获取定时任务Jar包;
获取所述定时任务Jar包对应的操作请求,所述操作请求包括请求标识,基于所述请求标识,通过项目依赖管理工具从第三方类库中获取与所述请求标识对应的目标Jar包;
将所述定时任务Jar包和所述目标Jar包存储在Lib文件夹中,并采用JarsLink框架对所述Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理。
一种定时任务管理装置,包括:
代码块获取模块,用于通过预先部署的定时任务检测工具,对与所述定时任务管理服务器相连的服务器集群的源代码进行扫描,获取定时任务代码块;
定时任务Jar包获取模块,用于将所述定时任务代码块存储到对应的定时任务工程中,并采用编译打包工具对所述定时任务工程进行编译打包处理,获取定时任务Jar包;
目标Jar包获取模块,用于获取所述定时任务Jar包对应的操作请求,所述操作请求包括请求标识,基于所述请求标识,通过项目依赖管理工具从第三方类库中获取与所述请求标识对应的目标Jar包;
Jar包管理模块,用于将所述定时任务Jar包和所述目标Jar包存储在Lib文件夹中,并采用JarsLink框架对所述Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述定时任务管理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述定时任务管理方法的步骤。
上述定时任务管理方法、装置、计算机设备及存储介质,通过定时任务检测工具获取定时任务代码块,不需要人工参与,提高了获取定时任务代码块的效率。当获取定时任务代码块后,将定时任务代码块存储到对应的定时任务工程中,并采用编译打包工具对定时任务工程进行处理,获取定时任务Jar包。然后通过项目依赖管理工具获取目标Jar包,实现对应的业务逻辑。最后将定时任务Jar包和目标Jar包存储在Lib文件夹中,并采用JarsLink框架对Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理,实现了对定时任务代码块的集中统一管理。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中定时任务管理方法的一应用场景图;
图2是本发明一实施例中定时任务管理方法的一流程图;
图3是图2中步骤S11的一具体流程图;
图4是一实施例中定时任务管理方法的另一流程图;
图5是图4中步骤S102的一具体流程图;
图6是图2中步骤S40的一具体流程图;
图7是图2中步骤S40的另一具体流程图;
图8本发明一实施例中定时任务管理装置的一示意图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的定时任务管理方法,可应用在如图1的应用环境中,该定时任务管理方法包括定时任务监控端和与该定时任务监控端通信相连的定时任务管理服务器,其中,定时任务监控端通过网络与定时任务管理服务器进行通信。本实施例中采用的定时任务管理服务器和定时任务监控端分别为SVN服务器和SVN客户端。其中,SVN是Subversion的简称,是一个开放源代码的版本控制***。定时任务管理服务器有2种运行方式:独立服务器和借助apache(一种Web服务器)运行。本实施例采用的是独立服务器的运行方式,提高数据处理的速度。
在一实施例中,如图2所示,提供一种定时任务管理方法,以该方法应用在图1中的定时任务管理服务器为例进行说明,包括定时任务管理服务器执行的如下步骤:
S10:通过预先部署的定时任务检测工具,对与定时任务管理服务器相连的服务器集群的源代码进行扫描,获取定时任务代码块。
其中,定时任务检测工具指用于检测定时任务代码块的工具。请示人物代码块指服务器集群中的应用程序中编写的用于实现定时任务功能的代码块。具体地,定时任务服务器通过预先部署的定时任务检测工具,扫描服务器集群中各服务器中的应用程序,从服务器集群中各服务器的应用程序中获取定时任务代码块。通过定时任务检测工具,获取定时任务代码块,实现了自动扫描与定时任务管理服务器相连的服务器集群的源代码,不需要人工参与,自动获取定时任务代码块,提高了获取定时任务代码块的效率。
S20:将定时任务代码块存储到对应的定时任务工程中,并采用编译打包工具对定时任务工程进行编译打包处理,获取定时任务Jar包。
其中,定时任务工程指预先创建好的用于存储定时任务代码块的工程。只有将获取的定时任务代码块存储到创建的定时任务工程中,才能使用编译打包工具进行编译打包处理。若不创建定时任务工程,不能直接对定时任务代码块进行编译打包处理。具体地,定时任务管理服务器获取到定时任务代码块后,会触发定时任务管理服务器中的任务工程创建脚本,运行任务工程创建脚本,创建新的定时任务工程。其中,任务工程创建脚本指存储在定时任务管理服务器中用于创建新工程的脚本。当定时任务工程创建完成后,定时任务管理服务器将定时任务代码块存储在创建的定时任务工程中。本实施例中,为了方便对定时任务代码块进行管理,一个定时任务工程仅允许存储一个定时任务模块。在将定时任务代码块存储在定时任务工程后,定时任务管理服务器会调用编译打包工具对定时任务工程进行编译和打包处理,使得定时任务工程生成定时任务Jar包。为了方便管理定时任务Jar包,每个定时任务Jar包都有一个对应的包名。由于Ant的跨平台性和操作简单的特点,使得Ant很容易集成到一些开发环境中,因此,本实施例中采用Ant对定时任务工程编译打包。其中,Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。
S30:获取定时任务Jar包对应的操作请求,操作请求包括请求标识,基于请求标识,通过项目依赖管理工具从第三方类库中获取与请求标识对应的目标Jar包。
项目依赖管理工具是跟踪管理第三方类库的工具。本实施例中,该项目依赖管理工具可以为Ivy,Ivy是一个用来跟踪管理第三方类库的工具。Ivy具有良好的灵活性和可配置性,使其可以适应各种不同的依赖管理要求和工程构建过程要求。具体地,在获取定时任务Jar包后,开发人员需要对定时任务Jar包进行相对应的处理操作,本实施例中对定时任务Jar包进行的处理操作包括增加、删除和修改。开发人员在项目依赖管理工具中输入一种处理操作,定时任务管理服务器则会获取到对应的操作请求,该操作请求中包括请求标识。该请求标识指用于标识开发人员输入的操作处理的特定字符。本实施例中的请求标识与操作请求一一对应,一种操作请求对应一个请求标识。如操作请求为增加时,对应的请求标识为“1”;操作请求为删除时,对应的请求标识为“2”;操作请求为修改时,对应的请求标识为“0”。SVN 服务器在获取到操作请求对应的请求标识后,会从第三方类库中选取与请求标识对应的目标Jar包。其中,第三方类库包括大量的开源Jar包,这些开源Jar包可以实现不同的业务逻辑,如实现动态加载功能的Jar包、卸载功能的Jar包和模块间调用功能的Jar包。为了方便定时任务管理服务器根据请求标识查找对应的目标Jar包,开发人员会基于第三方类库中的开源Jar包,制作一个使操作标识和Jar包关联的表,SVN在获取的请求标识后,会查询该表找到对应的目标Jar包。其中,本实施例中的目标Jar包指开发人员需要的Jar。Jar包是指预先采用Java语言编译好的函数封装得到的包,通过获取目标Jar包实现对应的业务逻辑。
S40:将定时任务Jar包和目标Jar包存储在Lib文件夹中,并采用JarsLink框架对Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理。
其中,JarsLink框架是一个基于Java的模块化开发框架,用于在运行目标JAR包时,提供调用目标Jar包的接口。本实施例中,采用JarsLink框架对定时任务Jar包和目标Jar包进行监控管理,通过调用目标Jar包的接口可以快速方便地实现定时任务Jar包的执行逻辑。具体地,定时任务管理服务器在获取定时任务Jar包和目标Jar包后,将定时任务Jar包和目标Jar包存储到一个Lib文件夹中,实现Lib文件夹对定时任务Jar包和目标Jar包进行管理。Lib文件指存储在SVN中的静态数据连接库,用于对Jar包进行统一管理。可理解,Jar包只有存储在Lib文件夹中才可使用。然后通过JarsLink框架提供的目标Jar包的接口实现对定时任务Jar包的监控管理。
步骤S10-步骤S40,通过定时任务检测工具获取定时任务代码块,不需要人工参与,提高了获取定时任务代码块的效率。当获取定时任务代码块后,将定时任务代码块存储到对应的定时任务工程中,并采用编译打包工具对定时任务工程进行处理,获取定时任务Jar包。然后通过项目依赖管理工具获取目标Jar包,实现对应的业务逻辑。最后将定时任务Jar包和目标Jar包存储在Lib文件夹中,并采用JarsLink框架对Lib文件夹中的定时任务Jar包和目标Jar包进行监控,实现对定时任务代码块的集中统一管理,使得后续可以灵活的使用定时任务代码块实现功能。
在一实施例中,如图3所示,步骤S10中,获取定时任务代码块,具体包括如下步骤:
S11:获取预先配置好的定时任务检测工具,定时任务检测工具包括定时任务标识。
具体地,开发人员在定时任务管理服务器上编写好扫描路径、入口的规范和目标路径,完成定时任务检测工具的配置编写。定时任务检测工具通过扫描路径对、入口的规范和目标路径在定时任务管理服务器中配置定时任务检测工具,以便利用该定时任务检测工具实现对定时任务模块进行自动化扫描,从而实现智能监控,提高监控效率。其中,扫描路径指开发人员在定时任务管理服务器上编写的定时任务检测工具扫描服务器集群中各服务器的应用程序的路径。入口的规范指开发人员在定时任务管理服务器上编写的用于实现定时任务管理服务器和服务器集群中的各服务器进行信息交互的入口标准。目标路径指定时任务管理服务器获取服务器集群中各服务器数据的路径。
为了方便定时任务检测工具检测服务器集群中的定时任务代码块,定时任务检测工具中携带定时任务标识。定时任务标识指用于识别定时任务代码块的特定字符,包括但不限于模块ID和关键字。
S12:采用定时任务检测工具对服务器集群中的应用程序进行递归扫描,获取与定时任务标识匹配的定时任务代码块。
其中,定时任务标识指用于识别定时任务代码块的标识。服务器集群中各服务器的应用程序都是按照文件夹的形式存在的,一个应用程序中包括多个功能模块,一个功能模块中包括多个子功能模块,相对应地,一个应用程序所在的文件夹下包括多个分别用于存储功能模块的文件,一个文件下又会包括多个分别用于存储子功能模块的子文件。因此,本实施例中,定时任务检测工具采用的是递归扫描方式逐层扫描文件夹中每一层文件对应的程序代码,实现对服务器集群中的应用程序进行全面自动化扫描,提高定时任务代码块的获取效率。
具体地,定时任务管理服务器中部署好的定时任务检测工具根据任务配置请求中的扫描路径、入口的规范和目标路径,实现对服务器集群的源代码进行递归扫描,以获取服务器集群中的定时任务代码块,实现对服务器集群进行全面自动化扫描,提高定时任务代码块的获取效率。本实施例中,定时任务检测工具先通过目标路径找到服务器集群中对应的服务器,然后通过预先配置好的扫描路径对该服务器中的程序代码进行递归描,若应用程序中存在定时任务标识,则表示应用程序中存在定时任务代码块,服务器集群中的该服务器通过预先设置的数据传输接口将定时任务代码块发送给定时任务管理服务器。
步骤S11-步骤S12,通过部署定时任务检测工具,实现自动化获取定时任务代码块,不需要人工参与,提高了定时任务代码块获取的效率。使用定时任务检测工具对服务器集群中的应用程序进行递归扫描,获取与定时任务标识匹配的定时任务代码块,在服务器集群中的应用程序中,只要有定时任务标识,则认为该定时任务标识对应定时任务代码块,可以避免人工查找定时任务代码块时出现遗漏的情况。
在一实施例中,如图4所示,在步骤S10,获取定时任务代码块的步骤之后,定时任务管理方法还包括如下步骤:
S101:从与定时任务管理服务器相连的服务器集群中,获取定时任务代码块对应的任务属性文件,将任务属性文件存储在数据库中。
具体地,每一个定时任务代码块都有一个对应的任务属性文件。其中,任务属性文件指定时任务代码块中的属性参数形成的文件,用于管理定时任务代码块的参数。该任务属性文件中包括定时任务代码块对应的定时任务表达式、定时任务名称、定时任务版本号和定时任务功能描述等。进一步地,定时任务表达式包括定时任务参数,该定时任务参数包括但不限于定时任务启用标识、停用标识、执行结果、执行状态和执行周期。
定时任务管理服务器通过定时任务检测工具,从与定时任务管理服务器相连的服务器集群中,获取定时任务代码块后,同时会获取该定时任务代码块对应的任务属性文件,然后将任务属性文件存储在数据库中,方便后续通过任务属性文件修改定时任务代码块的任务参数。
S102:基于任务属性文件,对与任务属性文件相对应的定时任务Jar包进行修改。
一般地,调整定时任务代码块中的一些参数时,如启用时间、停止时间和执行周期等参数,不会直接修改定时任务Jar包,是通过修改定时任务代码块对应的任务属性文件中的定时任务表达式实现的。本实施例中的对定时任务Jar包进行监控指监控定时任务Jar包的运行情况,包括运行时间、运行结果和运行状态。其中,运行时间指定时任务Jar包运行的时间,如什么时候开始运行的、什么时候结束运行和已经运行了多久等。运行结果指定时任务Jar包运行的结果,如运行状态指定时任务Jar包运行的状态中试运行、停止还是异常。
步骤S101-步骤S102,通过获取定时任务代码块对应的任务属性文件,并将任务属性文件存储在数据库中,方便后续在对定时任务代码块中的参数进行修改时,可以通过更改数据库中存储的任务属性文件,更改定时任务Jar包,增加了定时任务Jar包处理的灵活性。
在一实施例中,如图5所示,步骤S102,基于任务属性文件,对与任务属性文件相对应的定时任务Jar包进行修改,具体包括如下步骤:
S1021:获取定时任务监控端发送的登录请求,登录请求包括登录账号和登录密码。
其中,登录请求指用户登录定时任务监控端时进行身份验证的请求。本实施例中的登录请求包括登录账号和登录密码。登录账号指用户用于登录定时任务监控端的账号,登录密码指用户用于登录定时任务监控端的密码。具体地,用户在定时任务监控端输入登录账号和登录密码后,点击定时任务监控端的登录按钮,定时任务监控端将登录请求发送给定时任务管理服务器。定时任务管理服务器通过获取定时任务监控端发送的登录请求,对进入定时任务监控端的用户进行身份验证,保证了数据的安全性。
S1022:对登录账号和登录密码进行验证,若验证通过,则获取定时任务监控端发送的修改操作请求,修改操作请求包括文件标识。
具体地,定时任务管理服务器在获取到定时任务监控端发送的登录账号和登录密码后,会对登录账号和登录密码进行验证,若登录账号和登录密码与定时任务管理服务器中存储的登录账号和登录密码匹配,则验证通过,以保障数据的安全性。在登录账号和登录密码验证通过后,用户可以在定时任务监控端对定时任务Jar包进行修改,当用户需要对定时任务Jar包进行修改时,定时任务监控端会发送修改操作请求给对应的定时任务管理服务器。为了方便定时任务管理服务器找到需要修改的任务属性文件,修改操作请求中携带有文件标识。其中,修改操作请求指修改定时任务Jar包的操作请求。文件标识指用于识别定时任务Jar包对应的任务属性文件的标识。
S1023:基于文件标识获取与文件标识相对应的目标任务属性文件。
具体地,定时任务管理服务器获取到定时任务监控端发送的修改操作请求后,会通过修改操作请求携带的文件标识,在数据库中查询与该文件标识相对应的任务属性文件,该任务属性文件则为目标任务属性文件。其中,目标任务属性文件指含有修改操作请求中的文件标识的任务属性文件。
S1024:基于修改操作请求对目标任务属性文件进行修改,完成对与任务属性文件相对应的定时任务Jar包的修改操作。
本实施例中的修改操作请求具体包括对定时任务Jar包的启用时间、停止时间和执行周期等参数进行修改。由于用户在定时任务监控端修改定时任务Jar包对应的启用时间、停止时间和执行周期等参数时,不能直接对打包好的定时任务Jar包进行参数修改,只能通过对定时任务Jar包对应的任务属性文件的修改,完成对定时任务Jar包的修改。具体地,用户在定时任务监控端修改定时任务Jar包对应的启用时间、停止时间和执行周期等参数,然后点击修改的操作按钮,定时任务管理服务器会找到定时任务Jar包对应的目标任务属性文件,对目标任务属性文件中的启用时间、停止时间和执行周期等参数进行相应的修改。由此,完成对定时任务Jar包的监控操作。
在一实施例中,采用JarsLink框架对Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理主要包括通过JarsLink框架提供的接口,调用目标Jar包完成对定时任务Jar包的增加或者删除操作。需要说明的是,在对定时任务Jar包进行监控管理之前,用户需要在定时任务监控端输入登录账号和登录密码,在定时任务管理服务器对用户输入的登录账号和登录密码验证通过后,才可以实现对定时任务Jar包的监控管理。如图6所示,步骤S40,将定时任务Jar包和目标Jar包存储在Lib文件夹中,并采用JarsLink框架对Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理,具体包括如下步骤:
S411:获取增加操作请求,增加操作请求携带有待处理定时任务Jar包的包名。
其中,待处理定时任务Jar包指用户根据业务需求,需要添加或者删除的定时任务Jar包。本实施例中,用户还可以根据业务需求,在定时任务监控端增加一个或者多个待处理定时任务Jar包,实现对应的业务需求。具体地,用户在定时任务监控端选择增加的操作按钮,定时任务监控端会将增加操作请求发送给对应的定时任务管理服务器。增加操作请求中携带有待处理定时任务Jar包的包名,方便定时任务管理服务器根据待处理定时任务Jar包的包名找到对应的待处理定时任务Jar包。
S412:通过待处理定时任务Jar包的包名,获取与定时任务Jar包的包名对应的待处理任务Jar包。
具体地,定时任务管理服务器根据增加操作请求中的待处理定时任务Jar包的包名,获取与待处理定时任务Jar包的包名对应的待处理任务Jar包,为后续对待处理任务Jar包进行增加操作提供了数据来源。
S413:通过增加操作请求,从目标Jar包中获取与增加操作请求对应的动态加载的Jar包,通过JarsLink框架完成对待处理任务Jar包的监控管理操作。
具体地,定时任务管理服务器获取增加操作请求后,会根据增加操作请求从目标Jar包中获取动态加载功能的Jar包和模块间调用功能的Jar包。在获取动态加载功能的Jar包和模块间调用功能的Jar包后,通过JarsLink框架提供的接口将对应的待处理任务Jar包添加到定时任务监控端,完成对待处理任务Jar包的监控管理操作,可以理解地,本实施例中的监控管理操作指增加操作。通过增加操作请求和JarsLink框架完成对待处理任务Jar包的监控管理操作,使得用户只需要在定时任务监控端点击增加操作按钮,就可以实现对待处理任务Jar包的增加操作,方便用户操作。
在一实施例中,如图7所示,步骤S40,将定时任务Jar包和目标Jar包存储在Lib文件夹中,并采用JarsLink框架对Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理,具体包括如下步骤:
S421:获取删除操作请求,删除操作请求携带有待处理定时任务Jar包的包名。
具体地,用户在定时任务监控端选择删除的操作按钮,定时任务监控端会将删除操作请求发送给对应的定时任务管理服务器。删除操作请求中携带有待处理定时任务Jar包的包名,方便定时任务管理服务器根据待处理定时任务Jar包的包名找到对应的待处理定时任务Jar包。
S422:通过待处理定时任务Jar包的包名,获取与定时任务Jar包的包名对应的待处理任务Jar包。
具体地,定时任务管理服务器根据删除操作请求中的待处理定时任务Jar包的包名,获取与待处理定时任务Jar包的包名对应的待处理任务Jar包,为后续对待处理任务Jar包进行删除操作提供了数据来源。
S423:通过删除操作请求,从目标Jar包中获取与删除操作请求对应的卸载功能的Jar包,通过JarsLink框架完成对待处理任务Jar包的监控管理操作。
具体地,定时任务管理服务器获取删除操作请求后,会根据删除操作请求从目标Jar包中获取卸载功能的Jar包和模块间调用功能的Jar包,通过通过JarsLink框架提供的接口将卸载功能的Jar包和模块间调用功能的Jar包,将对应的待处理任务Jar包从定时任务监控端中删除,完成对待处理任务Jar包的监控管理操作,可以理解地,本实施例中的监控管理操作指删除操作。通过删除操作请求和JarsLink框架完成对待处理任务Jar包的监控管理操作,使得用户只需要在定时任务监控端点击删除的操作按钮,就可以实现对待处理任务Jar包的删除操作,方便用户操作。
步骤S411-步骤S423,通过获取增加操作请求或者删除操作请求,从而获取需要增加或者需要删除的待处理定时任务Jar包的包名,然后根据待处理定时任务Jar包的包名在定时任务管理服务器中的找到对应的待处理任务Jar包,然后根据增加或者删除操作从目标Jar包中选择对应的动态加载功能的Jar包或者卸载功能的Jar包,通过JarsLink框架提供的接口完成对待处理任务Jar包的增加和删除操作,使得对待处理定时任务Jar包进行增加和删除操作更加方便,实现了灵活配置定时任务Jar包。
本发明实施例所提供的定时任务管理方法,通过定时任务检测工具获取定时任务代码块,不需要人工参与,提高了获取定时任务代码块的效率。当获取定时任务代码块后,将定时任务代码块存储到对应的定时任务工程中,并采用编译打包工具对定时任务工程进行处理,获取定时任务Jar包。然后通过项目依赖管理工具获取目标Jar包,实现对应的业务逻辑。最后将定时任务Jar包和目标Jar包存储在Lib文件夹中,并采用JarsLink框架对Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理,实现了对定时任务代码块的集中统一管理。获取定时任务监控端发送的修改操作,由于不能直接对打包好的定时任务Jar包进行参数修改,因此,通过对目标属性文件进行修改,实现对定时任务Jar包的修改。通过获取定时任务监控端发送的增加或者删除操作,从目标Jar包中调用对应的动态加载的Jar包或者卸载功能的Jar包,实现对待处理定时任务Jar包的增加或者删除操作,实现了定时任务Jar包的灵活配置。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种定时任务管理装置,该定时任务管理装置与上述实施例中定时任务管理方法一一对应。如图8所示,该定时任务管理装置包括代码块获取模块10、定时任务Jar包获取模块20、目标Jar包获取模块30和Jar包监控管理模块40。各功能模块详细说明如下:
代码块获取模块10,用于通过预先部署的定时任务检测工具,对与定时任务管理服务器相连的服务器集群的源代码进行扫描,获取定时任务代码块。
定时任务Jar包获取模块20,用于将定时任务代码块存储到对应的定时任务工程中,并采用编译打包工具对定时任务工程进行编译打包处理,获取定时任务Jar包。
目标Jar包获取模块30,用于获取定时任务Jar包对应的操作请求,操作请求包括请求标识,基于请求标识,通过项目依赖管理工具从第三方类库中获取与请求标识对应的目标Jar包。
Jar包监控管理模块40,用于将定时任务Jar包和目标Jar包存储在Lib文件夹中,并采用JarsLink框架对Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理。
进一步地,代码块获取模块10包括定时任务检测工具部署单元11和定时任务代码块获取单元12。
定时任务检测工具获取单元11,用于获取预先配置好的定时任务检测工具,定时任务检测工具包括定时任务标识。
定时任务代码块获取单元12,用于采用定时任务检测工具对服务器集群中的应用程序进行递归扫描,获取与定时任务标识匹配的定时任务代码块。
进一步地,定时任务管理装置还包括任务属性文件获取模块101和定时任务Jar包修改模块102。
任务属性文件获取模块101,用于从与定时任务管理服务器相连的服务器集群中,获取定时任务代码块对应的任务属性文件,将任务属性文件存储在数据库中。
定时任务Jar包修改模块102,用于基于任务属性文件,对与任务属性文件相对应的定时任务Jar包进行修改。
进一步地,定时任务Jar包修改模块102包括登录请求获取单元1021、修改操作请求获取单元1022、目标任务属性文件获取单元1023和Jar包修改单元1024。
登录请求获取单元1021,用于获取定时任务监控端发送的登录请求,登录请求包括登录账号和登录密码。
修改操作请求获取单元1022,用于对登录账号和登录密码进行验证,若验证通过,则获取定时任务监控端发送的修改操作请求,修改操作请求包括文件标识。
目标任务属性文件获取单元1023,用于基于文件标识获取与文件标识相对应的目标任务属性文件。
Jar包修改单元1024,用于基于修改操作请求对目标任务属性文件进行修改,完成对与任务属性文件相对应的定时任务Jar包的修改操作。
进一步地,Jar包监控管理模块40包括增加操作请求单元411、第一待处理任务Jar包获取单元412和第一监控管理单元413。
增加操作请求单元411,用于获取增加操作请求,增加操作请求携带有待处理定时任务Jar包的包名。
第一待处理任务Jar包获取单元412,用于通过待处理定时任务Jar包的包名,获取与定时任务Jar包的包名对应的待处理任务Jar包。
第一监控管理单元413,用于通过增加操作请求,从目标Jar包中获取与增加操作请求对应的动态加载的Jar包,通过JarsLink框架完成对待处理任务Jar包的监控管理操作。
进一步地,Jar包监控管理模块40,还包括删除操作请求获取单元421、第二待处理任务Jar包获取单元422和第二监控管理单元423。
删除操作请求获取单元421,用于获取删除操作请求,删除操作请求携带有待处理定时任务Jar包的包名。
第二待处理任务Jar包获取单元422,用于通过待处理定时任务Jar包的包名,获取与定时任务Jar包的包名对应的待处理任务Jar包。
第二监控管理单元423,用于通过删除操作请求,从目标Jar包中获取与删除操作请求对应的卸载功能的Jar包,通过JarsLink框架完成对待处理任务Jar包的监控管理操作。
关于定时任务管理装置的具体限定可以参见上文中对于定时任务管理方法的限定,在此不再赘述。上述定时任务管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储定时任务管理方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种定时任务管理方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例定时任务管理方法的步骤,例如图2所示的步骤S10至步骤S40。或者,计算机程序被处理器执行时实现上述实施例定时任务管理装置的各模块/单元的功能,例如图8所示的模块10至模块40。为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例定时任务管理方法的步骤,例如图2所示的步骤S10至步骤S40。或者,计算机程序被处理器执行时实现上述实施例定时任务管理装置的各模块/单元的功能,例如图8所示的模块10至模块40。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (8)
1.一种定时任务管理方法,其特征在于,包括定时任务管理服务器执行的如下步骤:
通过预先部署的定时任务检测工具,对与所述定时任务管理服务器相连的服务器集群的源代码进行扫描,获取定时任务代码块;
从与所述定时任务管理服务器相连的服务器集群中,获取所述定时任务代码块对应的任务属性文件,将所述任务属性文件存储在数据库中;
获取定时任务监控端发送的登录请求,所述登录请求包括登录账号和登录密码;对所述登录账号和所述登录密码进行验证,若验证通过,则获取定时任务监控端发送的修改操作请求,所述修改操作请求包括文件标识;基于所述文件标识获取与所述文件标识相对应的目标任务属性文件;基于所述修改操作请求对所述目标任务属性文件进行修改,完成对与所述任务属性文件相对应的定时任务Jar包的修改操作;
将所述定时任务代码块存储到对应的定时任务工程中,并采用编译打包工具对所述定时任务工程进行编译打包处理,获取定时任务Jar包;
获取所述定时任务Jar包对应的操作请求,所述操作请求包括请求标识,基于所述请求标识,通过项目依赖管理工具从第三方类库中获取与所述请求标识对应的目标Jar包;
将所述定时任务Jar包和所述目标Jar包存储在Lib文件夹中,并采用JarsLink框架对所述Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理。
2.如权利要求1所述的定时任务管理方法,其特征在于,所述获取定时任务代码块,包括:
获取预先配置好的定时任务检测工具,所述定时任务检测工具包括定时任务标识;
采用所述定时任务检测工具对服务器集群中的应用程序进行递归扫描,获取与所述定时任务标识匹配的定时任务代码块。
3.如权利要求1所述的定时任务管理方法,其特征在于,所述采用JarsLink框架对所述Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理,包括:
获取增加操作请求,所述增加操作请求携带有待处理定时任务Jar包的包名;
通过所述待处理定时任务Jar包的包名,获取与定时任务Jar包的包名对应的待处理任务Jar包;
通过所述增加操作请求,从目标Jar包中获取与所述增加操作请求对应的动态加载的Jar包,通过JarsLink框架完成对待处理任务Jar包的监控管理操作。
4.如权利要求1所述的定时任务管理方法,其特征在于,所述采用JarsLink框架对所述Lib文件夹中的定时任务Jar包和目标Jar包进行监控还包括;
获取删除操作请求,所述删除操作请求携带有待处理定时任务Jar包的包名;
通过所述待处理定时任务Jar包的包名,获取与定时任务Jar包的包名对应的待处理任务Jar包;
通过所述删除操作请求,从目标Jar包中获取与所述删除操作请求对应的卸载功能的Jar包,通过JarsLink框架完成对待处理任务Jar包的监控管理操作。
5.一种定时任务管理装置,其特征在于,包括:
代码块获取模块,用于通过预先部署的定时任务检测工具,对与所述定时任务管理服务器相连的服务器集群的源代码进行扫描,获取定时任务代码块;
任务属性文件获取模块,用于从与定时任务管理服务器相连的服务器集群中,获取定时任务代码块对应的任务属性文件,将任务属性文件存储在数据库中;
定时任务Jar包修改模块,用于获取定时任务监控端发送的登录请求,所述登录请求包括登录账号和登录密码;对所述登录账号和所述登录密码进行验证,若验证通过,则获取定时任务监控端发送的修改操作请求,所述修改操作请求包括文件标识;基于所述文件标识获取与所述文件标识相对应的目标任务属性文件;基于所述修改操作请求对所述目标任务属性文件进行修改,完成对与所述任务属性文件相对应的定时任务Jar包的修改操作;
定时任务Jar包获取模块,用于将所述定时任务代码块存储到对应的定时任务工程中,并采用编译打包工具对所述定时任务工程进行编译打包处理,获取定时任务Jar包;
目标Jar包获取模块,用于获取所述定时任务Jar包对应的操作请求,所述操作请求包括请求标识,基于所述请求标识,通过项目依赖管理工具从第三方类库中获取与所述请求标识对应的目标Jar包;
Jar包管理模块,用于将所述定时任务Jar包和所述目标Jar包存储在Lib文件夹中,并采用JarsLink框架对所述Lib文件夹中的定时任务Jar包和目标Jar包进行监控管理。
6.如权利要求5所述的定时任务管理装置,其特征在于,所述代码块获取模块,包括:
定时任务检测工具部署单元,用于获取预先配置好的定时任务检测工具,所述定时任务检测工具包括定时任务标识;
定时任务代码块获取单元,用于采用所述定时任务检测工具对服务器集群中的应用程序进行递归扫描,获取与所述定时任务标识匹配的定时任务代码块。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述定时任务管理方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述定时任务管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810959335.4A CN109254765B (zh) | 2018-08-22 | 2018-08-22 | 定时任务管理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810959335.4A CN109254765B (zh) | 2018-08-22 | 2018-08-22 | 定时任务管理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109254765A CN109254765A (zh) | 2019-01-22 |
CN109254765B true CN109254765B (zh) | 2023-08-25 |
Family
ID=65050261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810959335.4A Active CN109254765B (zh) | 2018-08-22 | 2018-08-22 | 定时任务管理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109254765B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109712A (zh) * | 2019-04-04 | 2019-08-09 | 平安科技(深圳)有限公司 | 业务组件加载方法、装置、计算机设备和存储介质 |
CN110597553A (zh) * | 2019-09-10 | 2019-12-20 | 浙江大搜车软件技术有限公司 | 任务执行方法、装置、计算机设备和可读存储介质 |
CN111158741B (zh) * | 2019-12-23 | 2024-04-12 | 北京五八信息技术有限公司 | 监控业务模块对第三方类库依赖关系变化的方法及装置 |
CN113722057A (zh) * | 2021-03-12 | 2021-11-30 | 京东数字科技控股股份有限公司 | 大数据集群处理方法和***、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102520952A (zh) * | 2011-12-14 | 2012-06-27 | 北京佳讯飞鸿电气股份有限公司 | 软件代码版本自动构建及发布方法 |
CN106104467A (zh) * | 2014-06-30 | 2016-11-09 | 北京新媒传信科技有限公司 | 一种自动化部署方法和终端 |
CN107589966A (zh) * | 2017-09-22 | 2018-01-16 | 郑州云海信息技术有限公司 | 软件开发***中管理代码的方法和装置 |
CN107729066A (zh) * | 2017-11-08 | 2018-02-23 | 重庆扬讯软件技术股份有限公司 | 一种基于svn资源库自动化构建发布方法与装置 |
CN107748695A (zh) * | 2017-10-24 | 2018-03-02 | 平安科技(深圳)有限公司 | 定时任务处理方法、装置、存储介质和计算机设备 |
CN107894919A (zh) * | 2017-11-30 | 2018-04-10 | 中国平安财产保险股份有限公司 | 定时任务触发方法、装置、设备及可读存储介质 |
CN108173892A (zh) * | 2016-12-07 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 云端镜像操作方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10261763B2 (en) * | 2016-12-13 | 2019-04-16 | Palantir Technologies Inc. | Extensible data transformation authoring and validation system |
-
2018
- 2018-08-22 CN CN201810959335.4A patent/CN109254765B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102520952A (zh) * | 2011-12-14 | 2012-06-27 | 北京佳讯飞鸿电气股份有限公司 | 软件代码版本自动构建及发布方法 |
CN106104467A (zh) * | 2014-06-30 | 2016-11-09 | 北京新媒传信科技有限公司 | 一种自动化部署方法和终端 |
CN108173892A (zh) * | 2016-12-07 | 2018-06-15 | 腾讯科技(深圳)有限公司 | 云端镜像操作方法和装置 |
CN107589966A (zh) * | 2017-09-22 | 2018-01-16 | 郑州云海信息技术有限公司 | 软件开发***中管理代码的方法和装置 |
CN107748695A (zh) * | 2017-10-24 | 2018-03-02 | 平安科技(深圳)有限公司 | 定时任务处理方法、装置、存储介质和计算机设备 |
CN107729066A (zh) * | 2017-11-08 | 2018-02-23 | 重庆扬讯软件技术股份有限公司 | 一种基于svn资源库自动化构建发布方法与装置 |
CN107894919A (zh) * | 2017-11-30 | 2018-04-10 | 中国平安财产保险股份有限公司 | 定时任务触发方法、装置、设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
彩铃Web服务器定时调度框架设计及应用;王强;王纯;朱晓民;廖建新;;北京工商大学学报(自然科学版)(06);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109254765A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254765B (zh) | 定时任务管理方法、装置、计算机设备及存储介质 | |
CN108197200B (zh) | 日志追踪方法、装置、计算机设备和存储介质 | |
CN110209652B (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN108804618B (zh) | 数据库配置方法、装置、计算机设备和存储介质 | |
CN109726134B (zh) | 接口测试方法和*** | |
CN109032631B (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
CN111949899B (zh) | 业务集成方法及业务平台 | |
CN110308999B (zh) | 一种应用间动态共享依赖包的方法、存储介质及移动终端 | |
CN112769706B (zh) | 组件化路由方法及*** | |
CN113835713B (zh) | 源码包下载方法、装置、计算机设备和存储介质 | |
CN110764788B (zh) | 云存储部署方法、装置、计算机设备和可读存储介质 | |
CN114531477B (zh) | 功能组件的配置方法、装置、计算机设备和存储介质 | |
CN113377668A (zh) | 服务接口的自动化测试方法、装置和计算机设备 | |
CN111666211A (zh) | 服务动态测试方法、装置、计算机设备及存储介质 | |
CN110362356B (zh) | 函数数据处理方法、装置、计算机设备和存储介质 | |
CN110502242B (zh) | 代码自动生成方法、装置、计算机设备及存储介质 | |
CN113986734A (zh) | 代码覆盖报告生成方法、装置、设备及介质 | |
CN112235124B (zh) | 一种皮基站配置方法、装置、存储介质和电子装置 | |
CN114461219A (zh) | 数据解析方法、装置、计算机设备和存储介质 | |
CN110727477B (zh) | 组件加载方法、装置、计算机设备和存储介质 | |
CN112559352A (zh) | 接口测试的方法、装置、设备及存储介质 | |
CN112035163A (zh) | 软件开发包配置方法、设备和存储介质 | |
CN109492144B (zh) | 软件***的关联关系分析方法、装置和存储介质 | |
CN113992739B (zh) | 一种局域网ota固件升级装置、方法及*** | |
CN105354081A (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 |