集群系统定时任务调度方法及集群系统技术方案

技术编号:23148814 阅读:23 留言:0更新日期:2020-01-18 13:22
本发明专利技术公开了集群系统定时任务调度方法及集群系统。涉及计算机软件领域,其中,方法通过获取集群节点的节点编号,并在每个集群节点上启动逻辑控制定时任务,利用逻辑控制定时任务访问分布式缓存服务申请凭证,申请到凭证的集群节点作为执行节点获得执行权限执行定时任务。克服了现有技术中定时任务被多个集群节点重复执行的问题,能够在原有集群系统环境下实现,无需额外开发新系统,对系统侵入性小,同时保证集群系统安全性和可靠性,并且通过凭证来判断执行权限,降低了定时任务调度难度。可广泛应用于分布式架构集群系统中。

Scheduled task scheduling method and cluster system in cluster system

【技术实现步骤摘要】
集群系统定时任务调度方法及集群系统
本专利技术涉及计算机软件领域,尤其是一种集群系统定时任务调度方法及集群系统。
技术介绍
在软件系统应用中,为了提高系统的性能、可靠性、可用性等,用户会使用集群部署的方式,把一个软件程序部署到多台机器上运行。当用户使用定时任务,即在约定某个时间点上执行某个软件程序,例如每天零时的时间点执行数据库备份、报表统计等操作均属于定时任务,由于集群系统部署的原因,程序会被部署到多台机器的软件执行,同时被多次执行,这样会导致系统资源的浪费,并且由于重复执行造成数据和程序错误等问题。如何在集群环境下执行定时任务,目前有一些实现方案,比较常见的是单独部署定时任务服务器,这种情况下集群系统需要添加外部接口,以便通过外部接口访问执行的目标程序,同时开发定时任务服务器,并在该服务器上配置时间规则,定时的访问上述外部接口进行定时任务执行,由于外部接口的访问只会在集群系统中的某个节点进行接收和处理,所以不会出现多个节点重复执行同一个定时任务的现象。但是该实现方案有较为明显的缺点,1)需要添加定时任务服务器,这会增加系统复杂度;2)除了在目标系统上进行开发,还需要在定时任务服务器上进行开发,增加开发和维护工作量;3)定时任务封装成外部接口,会降低系统安全性;4)需要额外的开发工作来保障定时任务服务器自身的可靠性和可用性。因此需要提出一种集群系统定时任务调度方法,能够在集群系统环境下,无需额外开发新系统,对系统侵入性小,同时保证集群系统安全性和可靠性的前提下,解决定时任务被多个集群节点重复执行的问题。
技术实现思路
本专利技术实施例旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术实施例的目的是提供一种保证集群系统安全性和可靠性的集群系统定时任务调度方法。本专利技术实施例所采用的技术方案是:第一方面,本专利技术实施例提供一种集群系统定时任务调度方法,包括:获取集群节点的节点编号;所述集群节点访问分布式缓存服务申请凭证;申请到所述凭证的集群节点作为执行节点获得执行权限执行定时任务。进一步地,所述执行节点申请到所述凭证后更新持有凭证标记。进一步地,所述凭证的组成包括:节点标识和凭证失效时间,所述节点标识为所述执行节点的节点编号。进一步地,所述执行节点在所述凭证失效时间到达之前进行续期更新所述凭证失效时间。进一步地,当所述执行节点出现宕机情况时,所述执行节点的凭证过期后,每个所述集群节点重新申请凭证。进一步地,所述集群系统为Redis集群系统。第二方面,本专利技术实施例还提供一种集群系统定时任务调度装置,包括:获取节点编号模块:用于获取集群节点的节点编号;申请凭证模块:用于所述集群节点访问分布式缓存服务申请凭证;执行定时任务模块:用于申请到所述凭证的集群节点作为执行节点获得执行权限执行定时任务。第三方面,本专利技术实施例还提供一种集群系统,所述集群系统包括多个集群节点,每个集群节点有唯一节点编号,当所述集群系统发布定时任务时,根据如第一方面任一项所述的一种集群系统定时任务调度方法在所述集群节点中选择执行节点执行所述定时任务。第四方面,本专利技术实施例提供一种集群系统定时任务调度设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述处理器通过调用所述存储器中存储的计算机程序,用于执行如第一方面任一项所述的方法。第五方面,本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面任一项所述的方法。本专利技术实施例的有益效果是:本专利技术实施例通过获取集群节点的节点编号,并在每个集群节点上启动逻辑控制定时任务,利用逻辑控制定时任务访问分布式缓存服务申请凭证,申请到凭证的集群节点作为执行节点获得执行权限执行定时任务。克服了现有技术中定时任务被多个集群节点重复执行的问题,能够在原有集群系统环境下实现,无需额外开发新系统,对系统侵入性小,同时保证集群系统安全性和可靠性,并且通过凭证来判断执行权限,降低了定时任务调度难度。进一步地,本专利技术实施例中申请到凭证的执行节点在凭证失效前可以选择一直续期,保证该节点一直作为执行节点执行定时任务,效果等同于单机执行,所以能够有效解决现有集群节点对同一定时任务重复执行的问题。可广泛应用于分布式架构集群系统中。附图说明图1是本专利技术中集群系统定时任务调度方法的一具体实施例的实现流程图;图2是本专利技术中集群系统定时任务调度方法的一具体实施例的具体流程图;图3是本专利技术中集群系统定时任务调度装置的一具体实施例的结构框图。具体实施方式为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对照附图说明本专利技术的具体实施方式。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。实施例一:本专利技术实施例一提供一种集群系统定时任务调度方法,定时任务可以是在预设时间触发执行的任务,也可以是按预设周期触发执行的任务,其中,定时任务的触发是指满足该定时任务的执行条件时开始执行该定时任务,例如,当到达该定时任务的预设的触发时间,该定时任务开始执行。在现有的各种系统,如管理系统等,定时任务都是十分常见的功能类型。例如,定时任务可以为定期的对数据库中新获得的数据进行压缩、每天的固定时刻对数据进行一次筛选、每天零时的时间点执行数据库备份、报表统计等。定时任务被创建后,创建该定时任务的服务器或应用,可以自动启动一个线程或进程使该定时任务在指定的触发时刻或按一定的周期执行。图1为本实施例提供的集群系统定时任务调度方法的实现流程图,如图1所示,该方法包括以下步骤:S1:获取集群节点的节点编号。本实施例中,给集群中每个节点进行编号,得到每个集群节点的节点编号,用于区分不同的集群节点,例如通过随机生成的方式为每一个集群节点生成一个唯一身份标识,同时每个集群节点上启动逻辑控制定时任务,主要用于进行凭证申请、凭证续期、定时任务执行等操作。S2:集群节点定时访问分布式缓存服务申请凭证。进一步地,凭证是唯一的,是一种包含节点标识和凭证失效时间的缓存数据,其中,节点标识为成功申请到凭证的集群节点的节点编号。本实施例的集群环境下,各集群节点分布式缓存服务申请凭证,缓存服务器维护节点编号列表,同时利用分布式缓存服务的消息发布和订阅功能,各集群节点向分布式缓存服务订阅定时任务消息。S3:申请到凭证的集群节点作为执行节点获得执行权限执行定时任务,具本文档来自技高网
...

【技术保护点】
1.一种集群系统定时任务调度方法,其特征在于,包括:/n获取集群节点的节点编号;/n所述集群节点访问分布式缓存服务申请凭证;/n申请到所述凭证的集群节点作为执行节点获得执行权限执行定时任务。/n

【技术特征摘要】
1.一种集群系统定时任务调度方法,其特征在于,包括:
获取集群节点的节点编号;
所述集群节点访问分布式缓存服务申请凭证;
申请到所述凭证的集群节点作为执行节点获得执行权限执行定时任务。


2.根据权利要求1所述的一种集群系统定时任务调度方法,其特征在于,所述执行节点申请到所述凭证后更新持有凭证标记。


3.根据权利要求1所述的一种集群系统定时任务调度方法,其特征在于,所述凭证的组成包括:节点标识和凭证失效时间,所述节点标识为所述执行节点的节点编号。


4.根据权利要求3所述的一种集群系统定时任务调度方法,其特征在于,所述执行节点在所述凭证失效时间到达之前进行续期更新所述凭证失效时间。


5.根据权利要求1所述的一种集群系统定时任务调度方法,其特征在于,当所述执行节点出现宕机情况时,所述执行节点的凭证过期后,每个所述集群节点重新申请凭证。


6.根据权利要求1至5任一项所述的一种集群系统定时任务调度方法,其特征在于,所述集群系统为Redis集群...

【专利技术属性】
技术研发人员:王存思翁裂加
申请(专利权)人:深圳市递四方信息科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1