[发明专利]支持动态管理定时任务的方法、系统、设备和存储介质有效
申请号: | 201710064140.9 | 申请日: | 2017-02-04 |
公开(公告)号: | CN108399095B | 公开(公告)日: | 2021-08-10 |
发明(设计)人: | 李秀海;丁琼;周宁 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 动态 管理 定时 任务 方法 系统 设备 存储 介质 | ||
本发明涉及一种支持动态管理定时任务的方法,该方法包括:通过反射机制获取注解;解析所述注解,获得注解信息;根据所述注解信息创建实例和设置实例的唯一标识;将所述实例和唯一标识存放在相应容器中。本发明还涉及一种支持动态管理定时任务的系统、电子设备和存储介质。
技术领域
本发明涉及计算机技术领域,尤其涉及一种支持动态管理定时任务的方法、系统、设备和存储介质。
背景技术
在企业软件中,有很多场景不需要人工介入,系统可自动完成,一般这种场景会通过定时任务解决。比如公司的报表系统会每天发出一份报表文件给公司的管理层查看公司运行情况,系统生成报表并发出这个动作,是不需要人工介入的,在某一个时刻,系统自动执行即可。这种自动执行的功能(定时任务)为worker,在大型的电商系统中,worker的数量会尤其多。
针对定时任务的实现,现阶段有两种方案,其中一种为SPRING注解实现定时任务,另一种为配置文件实现定时任务。在软件的开发过程中,为减少开发成本,提高开发效率,通常会选择编写一个普通的POJO(简单的Java对象),然后在配置文件中通过反射创建worker的schedule、trigger、和job。随着worker数量的增加,配置文件中就会存在大量的schedule、trigger、job等配置信息。虽然开源框架SPRING提供了注解实现定时任务的功能,但是它没有对外暴露schedule、trigger、job等实例的实例ID,这就导致worker管理人员不能在系统运行过程中对worker执行schedule的start、stop或者对trigger触发等动态管理功能。
SPRING注解实现定时任务是通过在系统启动时解析注解的属性创建定时任务,在系统启动完成后自动启动任务。但该技术方案存在以下问题:worker管理人员不能手动开启/关闭worker;不能在系统运行过程中对worker执行start、stop、对trigger触发一次等动态管理功能。
配置文件实现定时任务是通过在系统启动时解析配置文件中配置的属性创建定时任务,可以通过配置的实例ID,对定时任务进行管理。该技术方案存在的问题是:配置定时任务的工作量会随着定时任务数量的增多成线性增长,进而会导致开发效率低,后期维护成本高。
发明内容
有鉴于此,本发明提供一种支持动态管理定时任务的方法、系统、设备和存储介质,能够通过零配置就可实现对定时任务在运行的时动态管理,并且还能够减少开发成本,提高开发效率,进而解决现阶段不能在系统运行过程中对worker执行start、stop、对trigger触发一次等动态管理,以及开发效率低,后期维护成本高的问题。
为实现上述目的,根据本发明的一个方面,提供了一种支持动态管理定时任务的方法。
本发明的方法包括:通过反射机制获取注解;解析所述注解,获得注解信息;根据所述注解信息创建实例和设置实例的唯一标识;将所述实例和唯一标识存放在相应容器中。
可选地,本发明的方法还包括:将实例ID封装在注解中,进而将所述实例ID设置为实例的唯一标识。
可选地,所述实例ID包括schedule实例ID、trigger实例ID、job实例ID,进而分别将schedule实例ID、trigger实例ID、job实例ID设置为schedule实例、trigger实例和job实例的唯一标识。
可选地,根据所述注解信息创建实例和设置实例的唯一标识包括:根据所述注解信息创建job实例,并且设置所述job实例的唯一标识;根据所述注解信息和所述job实例,创建trigger实例,并且设置所述trigger实例的唯一标识;根据所述注解信息和所述trigger实例,创建schedule实例,并且设置所述schedule实例的唯一标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710064140.9/2.html,转载请声明来源钻瓜专利网。