[发明专利]一种基于非关系型数据库的控制定时器执行的方法有效

专利信息
申请号: 201510917191.2 申请日: 2015-12-10
公开(公告)号: CN105573841B 公开(公告)日: 2019-06-04
发明(设计)人: 马顺风 申请(专利权)人: 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司
主分类号: G06F9/50 分类号: G06F9/50
代理公司: 中科专利商标代理有限责任公司 11021 代理人: 宋焰琴
地址: 100080 北京市海淀区杏石口路6*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 关系 数据库 控制 定时器 执行 方法
【说明书】:

发明提供了一种基于非关系型数据库的控制定时器执行的方法,首先建立一个非关系型数据库,然后为各定时器配置标识符,当各定时器接收到执行指令时,判断所述非关系型数据库中是否已经存在该定时器的标识符,若存在,则令该定时器不执行;否则,将该定时器的标识符写入所述非关系型数据库,并令该定时器执行。本发明在避免定时器单点的同时,能防止多个定时器在某一时间段内同时执行,节省了资源,在数据库异常时进行了相应的配置,使得定时器不会因为数据库失效而无法运行。

技术领域

本发明涉及计算机软件领域,尤其涉及一种基于非关系型数据库的控制定时器执行的方法。

背景技术

目前大多数系统都会用到定时器(worker),定时器的作用是在设定的时间间隔到期时自动触发应用实例,以执行一些业务操作。在大型的java系统(例如购物网站)中,通常会设有多个服务器,每个服务器均包括多个应用实例,并且每个服务器包括应用实例相同,每个应用实例对应一个定时器,例如,若设有10台服务器,每台服务器均包括100个应用实例,针对其中一个应用实例A,由于其在10台服务器中均存在,那么就对应设有10个相同的定时器,如果10个相同的定时器都执行,那相对应的应用实例A会在10台服务器上都运行,进行相同的业务操作,这无疑造成了资源的浪费。

现有技术是采用spring通过依赖数据库来防止多定时器同时执行,因为要依赖数据库,所以就涉及到建表等繁琐操作,并且不能给出数据库挂掉后定时器如何工作的解决方案。

另外一种是将所有的定时器均设于一台服务器中,专门用于触发其他服务器中的应用实例,此方案的缺点是会造成定时器单点,即一旦定时器所处的服务器出现异常导致定时器无法执行,其他服务器中的应用实例也均无法运行。

发明内容

(一)要解决的技术问题

本发明的目的在于,提供一种基于非关系型数据库的控制定时器执行的方法,可以防止多个定时器同时执行,同时解决定时器单点的问题。

(二)技术方案

本发明提供一种基于非关系型数据库的控制定时器执行的方法,包括:

S1,建立一个非关系型数据库;

S2,为各定时器配置标识符,其中,相同的定时器所配置的标识符相同,相同的定时器是指用于触发同一应用实例的定时器;

S3,当各定时器接收到执行指令时,判断非关系型数据库中是否已经存在该定时器的标识符,若存在,则令该定时器不执行;否则,将该定时器的标识符写入非关系型数据库,并令该定时器执行。

(三)有益效果

本发明通过为定时器配置标识符,并通过标识符在非关系型数据库进行判定,以获取定时器的“执行权限”,并在数据库中设置标识符的删除时间,避免定时器单点,并能防止多个定时器在某一时间段内同时执行,节省了资源;另外,本发明在数据库异常时进行了相应的配置,使得定时器不会因为数据库失效而无法运行。

附图说明

图1是本发明实施例提供的基于redis数据库的控制定时器执行的方法的流程图。

图2是本发明实施例提供的定时器与redis数据库的结构示意图。

图3是本发明实施例提供的redis数据库中主从节点的示意图。

具体实施方式

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510917191.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top