CN111416839B - 集群环境定时任务处理方法、***、装置及存储介质 - Google Patents
集群环境定时任务处理方法、***、装置及存储介质 Download PDFInfo
- Publication number
- CN111416839B CN111416839B CN202010119418.XA CN202010119418A CN111416839B CN 111416839 B CN111416839 B CN 111416839B CN 202010119418 A CN202010119418 A CN 202010119418A CN 111416839 B CN111416839 B CN 111416839B
- Authority
- CN
- China
- Prior art keywords
- node
- cluster
- timing task
- execution
- address
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及云计算技术领域,提出一种集群环境定时任务处理方法、***、装置及存储介质,其中的方法包括:当定时任务到达执行时间时,通过公共校验方法对预先建立的节点信息表进行校验,获得定时任务的执行节点的IP地址;判定当前时刻的集群节点的IP地址和预先设定的定时任务的执行节点的IP地址是否一致;若是,则确定当前时刻的集群节点为定时任务的执行节点,由其执行定时任务;若否,则确定当前时刻的集群节点不是定时任务的执行节点,退出定时任务调用程序。本发明通过IP选举方式确定集群环境中定时任务的执行节点,提升了可用性,避免了分布式锁现象的发生。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种集群环境定时任务处理方法、***、装置及存储介质。
背景技术
目前的应用架构设计中,集群部署已经成为标配,集群部署可以极大的提高应用架构的可用性,并且在某些应用架构中会通过集群扩容达到水平扩展应用性能的效果。但是单机单节点的服务升级为容器多节点,各节点通过负载均衡对外提供一致服务,升级后会有定时任务重复执行的问题。
但是,集群部署在进行定时任务处理时,由于多台机器会在同一时间执行相同任务,造成资源上的浪费,同时逻辑上会出现分布式锁问题,严重时甚至还会出现业务逻辑错误。
为了解决上述问题,业界常见的解决方式为,使用第三方工具Quartz的定时任务调度功能。其中,Quartz会将各节点任务存储到数据库中,执行任务时从数据库中取出任务并比较,从而保证只有一个节点处理任务。但是,仍然存在一下弊端:
1)、对数据库的强依赖问题,任务和处理任务的节点都存储在数据库中,并且同时创建很多Quartz工具依赖的表格;2)、频繁操作数据库为高并发***带来巨大的性能压力。
所以,亟需一种高可用性的集群处理定时任务的方法。
发明内容
本发明提供一种集群环境定时任务处理方法、***、电子装置及计算机可读存储介质,其主要通过建立节点信息表,并利用节点信息表筛选出预先设定的执行定时任务的节点IP一致的集群节点去执行定时任务。
为实现上述目的,本发明还提供一种集群环境定时任务处理方法,应用于电子装置,所述方法包括:
S110、当定时任务到达执行时间时,通过公共校验方法对预先建立的节点信息表进行校验,获得定时任务的执行节点的IP地址;所述节点信息表为对当前时刻的集群节点的IP地址查询得到;S120、判定当前时刻的集群节点的 IP地址和预先设定的所述定时任务的执行节点的IP地址是否一致;
S130、若是,则确定当前时刻的集群节点为所述定时任务的执行节点,由其执行定时任务;若否,则确定当前时刻的集群节点不是所述定时任务的执行节点,退出定时任务调用程序。
进一步,优选的,所述节点信息表的建立方法包括:
S210、由节点信息组成节点信息表;
S220、按照设定频率遍历所述节点信息表,并查询当前时刻的集群节点的 IP地址是否存在于所述节点信息表中,若存在,则更新其更新时间;若不存在,则将当前时刻的集群节点的节点信息***所述节点信息表中。
进一步,优选的,所述节点信息包括:主键、集群节点的IP地址、集群节点创建时间和集群节点更新时间。
进一步,优选的,所述公共校验方法包括:
S310、按照设定频率遍历所述节点信息表,并筛选出设定时间段内发生过更新的集群节点;
S320、在所述发生过更新的集群节点中按照预先设定的IP选举规则,选择出唯一的集群节点作为定时任务的执行节点。
进一步,优选的,所述预先设定的IP选举规则为集群节点IP的地址最小或者集群节点IP的地址最大的集群节点作为定时任务的执行节点。
为实现上述目的,本发明提供一种集群环境定时任务处理***,包括:执行节点的IP地址确定模块,用于当定时任务到达执行时间时,通过公共校验方法对预先建立的节点信息表进行校验,获得定时任务的执行节点的IP地址;所述节点信息表为对当前时刻的集群节点的IP地址查询得到;执行节点判定模块,用于判定当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址是否一致;若否,则确定当前时刻的集群节点不是所述定时任务的执行节点,退出定时任务调用程序;以及定时任务执行模块,用于所述执行节点判定模块判断当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址判定为一致时,确定当前时刻的集群节点为所述定时任务的执行节点,并由其执行定时任务。
为实现上述目的,本发明提供一种电子装置,该电子装置包括:存储器、处理器,所述存储器中存储有集群环境定时任务的执行程序,所述集群环境定时任务的执行程序被所述处理器执行时实现如下步骤:S110、当定时任务到达执行时间时,通过公共校验方法对预先建立的节点信息表进行校验,获得定时任务的执行节点的IP地址;所述节点信息表为对当前时刻的集群节点的IP地址查询得到;S120、判定当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址是否一致;S130、若是,则确定当前时刻的集群节点为所述定时任务的执行节点,由其执行定时任务;若否,则确定当前时刻的集群节点不是所述定时任务的执行节点,退出定时任务调用程序。进一步,所述节点信息表的建立方法包括:S210、由节点信息组成节点信息表;S220、按照设定频率遍历所述节点信息表,并查询当前时刻的集群节点的IP地址是否存在于所述节点信息表中,若存在,则更新其更新时间;若不存在,则将当前时刻的集群节点的节点信息***所述节点信息表中。进一步,优选的,所述公共校验方法包括:S310、按照设定频率遍历所述节点信息表,并筛选出设定时间段内发生过更新的集群节点;S320、在所述发生过更新的集群节点中按照预先设定的IP选举规则,选择出唯一的集群节点作为定时任务的执行节点。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括集群环境定时任务的执行程序,所述集群环境定时任务的执行程序被处理器执行时,实现上述的集群环境定时任务处理方法的步骤。
本发明提出的集群环境定时任务处理方法、电子装置及计算机可读存储介质,通过建立节点信息表,并定时刷新节点信息表中的各节点的更新时间;利用更新时间筛选出存活的节点,在存活的节点中基于IP地址筛选出唯一的节点执行定时任务。有益效果如下:
(1)、架构简单,仅需创建一张简单的节点信息表存储节点信息,不用维护具体业务数据;
(2)、具有高可用性;如果某个节点挂了,节点信息表中对应IP的更新记录不会更新,导致在公共校验VF方法中会排除不再存活的节点,从而可以保证由可用的节点进行定时任务处理;
(3)、具有唯一性;利用IP选举的方式选择的节点是唯一的,以保证任何时间点且仅有一个节点在处理任务,可以避免冲突和分布式锁现象的发生;
(4)、具有低耦合性;仅在定时任务调用初始,调用了公共校验VF方法,其他时刻均不依赖数据库,从而大大减轻了性能压力。
附图说明
图1为本发明集群环境定时任务处理方法较佳实施例的流程图;
图2为本发明的节点信息表的执行定时任务的较佳实施例的流程图;
图3为本发明的利用公共校验方法筛选执行节点的较佳实施例的示意图;
图4为本发明的集群环境定时任务处理***的较佳实施例的结构示意图;
图5为本发明的电子装置的较佳实施例的结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在集群环境中,多个服务器共用一个部署程序,而各个服务器启动后均创建了各自的定时器,故产生了各个服务器的定时任务,因此需要部署集群节点去处理定时任务。
需要说明的是,定时任务指的是业务功能任务,其执行周期和时间根据业务需要设定,具体的执行周期和时间并不影响本申请的方案的执行和规则设定。本申请解决了集群环境下定时任务执行的冲突问题,体现了执行定时任务时的执行逻辑,具体的业务定时任务的设定是根据业务需要具体设定。
根据是否可重复执行,将定时任务分为两种,一种是清除缓存数据或清理数据库过期数据等重复执行无影响的,另一种是不可重复执行的,如定时创建订单,定时处理数据,定时发邮件。本申请所指的定时任务上述两种都包括。
本发明提供一种集群环境定时任务处理方法。图1示出了根据本发明集群环境定时任务处理方法较佳实施例的流程。参照图1所示,该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
由于IP协议规定Internet网中每个节点,包括计算机、主机、路由器都必须分配有IP地址,在全网必须具有唯一性。因此,可以通过IP选举的方式来指定用于处理定时任务的唯一的节点。
如果应用节点都是分不同的主机部署的话,仅仅通过集群节点IP地址就可以区分。因此,本申请的执行前提条件是要保持生产环境中,保证集群节点有相同的时钟序列。
在本实施例中,集群环境定时任务处理方法包括:步骤S110-步骤 S130。
S110、当定时任务到达执行时间时,通过公共校验方法对预先建立的节点信息表进行校验,获得定时任务的执行节点的IP地址;所述节点信息表为对当前时刻的集群节点的IP地址查询得到;换句话说,当有定时任务需要执行时,首先通过公共校验方法根据当前时刻的集群节点的IP地址查询预先建立的节点信息表;在预先建立的节点信息表中去查找要执行目前的定时任务的执行节点。而具体的查找方式就是通过IP地址进行查找。
需要说明的是,节点信息表即是数据库中一张保存节点信息的数据表,可在***部署前通过脚本的方式执行创建到数据库中。
而目前的服务方式是容器多节点,各节点通过负载均衡对外提供一致服务,也就是说存在相同IP地址的节点。
而解决多点同时执行定时任务的关键是,如何保证多点中仅某一个节点处理同一任务。思路如各节点的共识机制、主从方案(保证某个节点为主节点,仅主节点执行定时任务)、多节点执行定时任务加锁(通过单线程的redis 存储状态)等。而本申请是属于主从方案。
集群各节点共用的部分作为解决问题的关键,而本申请中则为通过配置中心基于IP标记执行节点。
S120、判定当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址是否一致。
具体地说,就是将节点信息表中的所有节点按照预先设定的IP选举规则去筛选,得到符合预先设定的IP选举规则的节点作为当前定时任务的执行节点。
在一个具体的实施例中,预先设定的定时任务的执行节点的IP地址也就是说,预设的基于IP地址的执行节点的选举规则;就是预先设定一个IP地址的节点去执行定时任务,比如说IP最小节点去执行定时任务;看当前时刻的集群节点的IP是否是最小的一个。
S130、若是,则确定当前时刻的集群节点为所述定时任务的执行节点,由其执行定时任务;若否,则确定当前时刻的集群节点不是所述定时任务的执行节点,退出定时任务调用程序。
也就是看看当前时刻的集群节点的IP是否符合预设的选举规则,若符合,则其就是要执行定时任务的执行节点,开始执行定时任务;若不符合,则当前时刻的集群节点就不是执行节点,需要当前的集群节点退出定时任务调用程序,由下一个节点继续调用,查看下一个节点是否为执行节点,直至找到符合设定规则的执行节点,由其执行定时任务为止。
综上所述,通过建立节点信息表,每次执行定时任务的时候,通过公共校验方法遍历节点信息表,并按照预设的IP选举规则输出执行节点的IP地址;将当前的节点IP与执行节点的IP进行比对,从而找到执行节点,去执行定时任务。
步骤S110中通过公共校验方法根据当前集群节点的IP地址查询预先建立的节点信息表,所述节点信息表的建立方法包括步骤:S210-S220。
S210、由节点信息组成节点信息表。
节点信息表为数据库中一张保存节点信息的数据表。应用节点信息表用于存储集群部署方式下存活的节点的节点信息,其中,所述节点信息包括,主键、集群节点的IP地址、集群节点创建时间和集群节点更新时间。其中,集群节点IP也就是服务器节点IP地址。数据表存储了所有节点定时任务标记,作为执行判断的依据。
在具体的实施例中,节点信息的内容可以根据应用部署情况添加更多字段。还可以包括业务模块类型、版本号以及任务执行情况、端口和权重。
其中,UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。UUID由以下几部分的组合:
(1)当前日期和时间;(2)时钟序列。(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。(4)在 hibernate(Java orm框架)中,采用IP-JVM启动时间-当前时间右移32位- 当前时间-内部计数(8-8-4-8-4)来组成UUID。
S220、按照设定频率遍历所述节点信息表,并查询当前时刻的集群节点的 IP地址是否存在于所述节点信息表中,若存在,则更新其更新时间;若不存在,则将当前时刻的集群节点的节点信息***所述节点信息表中。
也就是说,节点信息表的建立方法包括两个部分,一个部分就是单纯的组建节点信息表;第二个部分就是组建的节点信息表执行定时任务,这里的定时任务就是定时刷新任务。定时刷新的目的,就是为了排除不再存活的节点。
综上所述,通过建立节点信息表,并通过定时更新节点信息表中所有节点的更新时间来反应所有节点的存活状态;并且可以随时查漏补缺,将节点信息表中没有的节点随时***节点信息表中。
图2示出了根据本发明的节点信息表的执行定时任务的较佳实施例的流程;参照图2所示,定时任务的执行流程如下:
在本实施例中,定时任务的执行频率设定为10分钟一次。具体地说,就是按照10分钟一次的频率遍历节点信息表;并查询当前时刻的集群节点的IP 地址是否存在于节点信息表中。若,当前时刻的集群节点的IP地址已存在于节点信息表中,则对其的更新时间项进行更新。也就是说,将其的更新时间替换为当前更新的时间。
如果当前时刻的集群节点的IP地址在节点信息表中不存在,则将当前时刻的集群节点的节点信息***进节点信息表。
总之,通过定时刷新的方式,随时更新节点信息表中的更新时间项,从而通过节点信息表中的更新时间项即可判断该节点是否还是存活状态。
图3示出了根据本发明的利用公共校验方法筛选执行节点的较佳实施例的示意;参照图3所示,所述公共校验方法包括步骤:S310-S320。
S310、按照设定频率遍历所述节点信息表,并筛选出设定时间段内发生过更新的集群节点。
需要说明的是,设定频率是指对节点信息表进行遍历的频率,也就是公共校验方法的执行频率。其中,公共校验方法的执行频率和定时任务的发生频率相关,是根据实际情况进行特殊设定的。在具体的实施过程中,这个频率可以是5-10分钟。
而设定时间段,是指在固定时间段内存活的集群节点。这个时间段的设定是一种过滤条件的设定,也就是说在固定时间段内发生过更新的集群节点,即得到在固定时间段内的存活节点集。
按照设定频率遍历节点信息表;并查询当前时刻的集群节点的IP地址是否存在于节点信息表中。若,当前时刻的集群节点的IP地址已存在于节点信息表中,则对其的更新时间项进行更新。也就是说,将其的更新时间替换为当前更新的时间;并且根据节点信息表中的当前节点的更新时间判断该集群节点是否为发生过更新的集群节点。
S320、在所述发生过更新的集群节点中按照预先设定的IP选举规则,选择出唯一的集群节点作为定时任务的执行节点。
需要说明的是,预设的选举规则包括:集群节点IP的地址最小或者集群节点IP的地址最大的集群节点作为定时任务的执行节点,或者其他可以确定唯一的集群节点IP的筛选规则。
下面以设定时间段为15分钟,IP选举规则为IP地址最小为例,来说明公共校验方法确定执行节点的方式。
首先查询节点信息表,利用updated_date>=(now()-'15min')对节点信息表中的节点进行过滤,筛选出最近15分钟内存在更新信息的节点(也就是存活节点);然后根据order by server_ip asc筛选IP地址最小的节点,也就是在筛选出的存活节点列表中,按照IP地址进行升序排序,在存活节点列表中排名第一的节点作为执行定时任务的节点。
综上所述,如果某个节点挂了,节点信息表中对应IP的更新记录不会更新,导致在公共校验VF方法中会排除不再存活的节点,从而可以保证由存活的节点进行定时任务处理。因此,通过公共校验方式选择的执行节点是唯一的,可以保证任何时间点仅有且只有一个存活节点在处理任务,可以避免执行节点冲突和分布式锁现象的发生。
图4示出了本发明的集群环境定时任务处理***的较佳实施例的结构。
参照图4所示,本发明提供一种集群环境定时任务处理***,包括:执行节点的IP地址确定模块41、执行节点判定模块42、定时任务执行模块 43。
其中,执行节点的IP地址确定模块41,用于当定时任务到达执行时间时,通过公共校验方法对预先建立的节点信息表进行校验,获得定时任务的执行节点的IP地址;所述节点信息表为对当前时刻的集群节点的IP地址查询得到;执行节点判定模块42,用于判定当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址是否一致;若否,则确定当前时刻的集群节点不是所述定时任务的执行节点,退出定时任务调用程序;以及定时任务执行模块43,用于所述执行节点判定模块判断当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址判定为一致时,确定当前时刻的集群节点为所述定时任务的执行节点,并由其执行定时任务。
本发明提供一种集群环境定时任务处理方法,应用于一种电子装置5。图 5示出了根据本发明集群环境定时任务处理方法较佳实施例的应用环境。
参照图5所示,在本实施例中,电子装置5可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置5包括:处理器52、存储器51、通信总线53及网络接口 54。
存储器51包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器51等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置5的内部存储单元,例如该电子装置5的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置5的外部存储器51,例如所述电子装置5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器51的可读存储介质通常用于存储安装于所述电子装置5的集群环境定时任务的执行程序50等。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
处理器52在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器51中存储的程序代码或处理数据,例如执行集群环境定时任务的执行程序50等。
通信总线53用于实现这些组件之间的连接通信。
网络接口54可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置5与其他电子设备之间建立通信连接。
图5仅示出了具有组件51-54的电子装置5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置5还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置5还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置5中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置5还可以包括射频(Radio Frequency,RF)电路,传感器、音频电路等等,在此不再赘述。
在图5所示的装置实施例中,作为一种计算机存储介质的存储器51中可以包括操作***、以及集群环境定时任务的执行程序50;处理器52执行存储器51中存储的集群环境定时任务的执行程序50时实现如下步骤:S110、当定时任务到达执行时间时,通过公共校验方法根据当前时刻的集群节点的IP 地址查询预先建立的节点信息表,获得定时任务的执行节点的IP地址;S120、判定当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的 IP地址是否一致;S130、若是,则确定当前时刻的集群节点为所述定时任务的执行节点,由其执行定时任务;若否,则确定当前时刻的集群节点不是所述定时任务的执行节点,退出定时任务调用程序。
在其他实施例中,集群环境定时任务的执行程序50还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器51中,并由处理器52执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。集群环境定时任务的执行程序50可以被分为执行节点的IP地址确定模块41、执行节点判定模块42和定时任务执行模块43,其中,IP地址确定模块41用于当定时任务到达执行时间时,通过公共校验方法对预先建立的节点信息表进行校验,获得定时任务的执行节点的IP地址;所述节点信息表为对当前时刻的集群节点的IP地址查询得到;执行节点判定模块42,用于判定当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址是否一致;若否,则确定当前时刻的集群节点不是所述定时任务的执行节点,退出定时任务调用程序;以及定时任务执行模块43,用于所述执行节点判定模块判断当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址判定为一致时,确定当前时刻的集群节点为所述定时任务的执行节点,并由其执行定时任务。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中包括集群环境定时任务的执行程序,所述集群环境定时任务的执行程序被处理器执行时实现如下操作:当定时任务到达执行时间时,通过公共校验方法对预先建立的节点信息表进行校验,获得定时任务的执行节点的IP地址;所述节点信息表为对当前时刻的集群节点的IP地址查询得到;S120、判定当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的 IP地址是否一致;S130、若是,则确定当前时刻的集群节点为所述定时任务的执行节点,由其执行定时任务;若否,则确定当前时刻的集群节点不是所述定时任务的执行节点,退出定时任务调用程序。
本发明之计算机可读存储介质的具体实施方式与上述集群环境定时任务处理方法、电子装置的具体实施方式大致相同,在此不再赘述。
总的来说,本发明集群环境定时任务处理方法、电子装置及计算机可读存储介质通过建立节点信息表,并定时刷新节点信息表中的各节点的更新时间;利用更新时间筛选出存活的节点,在存活的节点中基于IP地址筛选出唯一的节点执行定时任务。本发明架构简单,仅需创建一张简单的节点信息表存储节点信息,不用维护具体业务数据;具有高可用性,如果某个节点挂了,节点信息表中对应IP的更新记录不会更新,导致在公共校验VF方法(即公共校验法)中会排除不再存活的节点,从而可以保证由可用的节点进行定时任务处理;具有唯一性;利用IP选举的方式选择的节点是唯一的,以保证任何时间点仅有一个节点在处理任务,可以避免冲突和分布式锁的发生;具有低耦合性;仅在定时任务调用初始,调用了公共校验VF方法,其他时刻均不依赖数据库,从而大大减轻了性能压力。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘) 中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种集群环境定时任务处理方法,应用于电子装置,其特征在于,所述方法包括:
S110、当定时任务到达执行时间时,通过公共校验方法对预先建立的节点信息表进行校验,获得定时任务的执行节点的IP地址;所述节点信息表为对当前时刻的集群节点的IP地址查询得到;所述节点信息表的建立方法包括:S210、由节点信息组成节点信息表;S220、按照设定频率遍历所述节点信息表,并查询当前时刻的集群节点的IP地址是否存在于所述节点信息表中,若存在,则更新其更新时间;若不存在,则将当前时刻的集群节点的节点信息***所述节点信息表中;
所述公共校验方法包括:S310、按照设定频率遍历所述节点信息表,并筛选出设定时间段内发生过更新的集群节点;S320、在所述发生过更新的集群节点中按照预先设定的IP选举规则,选择出唯一的集群节点作为定时任务的执行节点;
S120、判定当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址是否一致;
S130、若是,则确定当前时刻的集群节点为所述定时任务的执行节点,由其执行定时任务;若否,则确定当前时刻的集群节点不是所述定时任务的执行节点,退出定时任务调用程序。
2.根据权利要求1所述的集群环境定时任务处理方法,其特征在于,所述节点信息包括:主键、集群节点的IP地址、集群节点创建时间和集群节点更新时间。
3.根据权利要求1所述的集群环境定时任务处理方法,其特征在于,所述的预先设定IP选举规则为集群节点IP的地址最小或者集群节点IP的地址最大的集群节点作为定时任务的执行节点。
4.一种集群环境定时任务处理***,其特征在于,包括:
执行节点的IP地址确定模块,用于当定时任务到达执行时间时,通过公共校验方法对预先建立的节点信息表进行校验,获得定时任务的执行节点的IP地址;所述节点信息表为对当前时刻的集群节点的IP地址查询得到;所述节点信息表的建立方法包括:由节点信息组成节点信息表;按照设定频率遍历所述节点信息表,并查询当前时刻的集群节点的IP地址是否存在于所述节点信息表中,若存在,则更新其更新时间;若不存在,则将当前时刻的集群节点的节点信息***所述节点信息表中;
所述公共校验方法包括:按照设定频率遍历所述节点信息表,并筛选出设定时间段内发生过更新的集群节点;在所述发生过更新的集群节点中按照预先设定的IP选举规则,选择出唯一的集群节点作为定时任务的执行节点;
执行节点判定模块,用于判定当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址是否一致;若否,则确定当前时刻的集群节点不是所述定时任务的执行节点,退出定时任务调用程序;
以及定时任务执行模块,用于所述执行节点判定模块判断当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址判定为一致时,确定当前时刻的集群节点为所述定时任务的执行节点,并由其执行定时任务。
5.一种电子装置,其特征在于,该电子装置包括:存储器、处理器,所述存储器中存储有集群环境定时任务的执行程序,所述集群环境定时任务的执行程序被所述处理器执行时实现如下步骤:
S110、当定时任务到达执行时间时,通过公共校验方法对预先建立的节点信息表进行校验,获得定时任务的执行节点的IP地址;所述节点信息表为对当前时刻的集群节点的IP地址查询得到;所述节点信息表的建立方法包括:S210、由节点信息组成节点信息表;S220、按照设定频率遍历所述节点信息表,并查询当前时刻的集群节点的IP地址是否存在于所述节点信息表中,若存在,则更新其更新时间;若不存在,则将当前时刻的集群节点的节点信息***所述节点信息表中;
所述公共校验方法包括:S310、按照设定频率遍历所述节点信息表,并筛选出设定时间段内发生过更新的集群节点;S320、在所述发生过更新的集群节点中按照预先设定的IP选举规则,选择出唯一的集群节点作为定时任务的执行节点;
S120、判定当前时刻的集群节点的IP地址和预先设定的所述定时任务的执行节点的IP地址是否一致;
S130、若是,则确定当前时刻的集群节点为所述定时任务的执行节点,由其执行定时任务;若否,则确定当前时刻的集群节点不是所述定时任务的执行节点,退出定时任务调用程序。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括集群环境定时任务的执行程序,所述集群环境定时任务的执行程序被处理器执行时,实现如权利要求1至3中任一项所述的集群环境定时任务处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119418.XA CN111416839B (zh) | 2020-02-26 | 2020-02-26 | 集群环境定时任务处理方法、***、装置及存储介质 |
PCT/CN2020/099330 WO2021169123A1 (zh) | 2020-02-26 | 2020-06-30 | 集群环境定时任务处理方法、***、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119418.XA CN111416839B (zh) | 2020-02-26 | 2020-02-26 | 集群环境定时任务处理方法、***、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111416839A CN111416839A (zh) | 2020-07-14 |
CN111416839B true CN111416839B (zh) | 2022-09-23 |
Family
ID=71492806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010119418.XA Active CN111416839B (zh) | 2020-02-26 | 2020-02-26 | 集群环境定时任务处理方法、***、装置及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111416839B (zh) |
WO (1) | WO2021169123A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084315B (zh) * | 2020-09-07 | 2024-06-11 | 腾讯科技(深圳)有限公司 | 问答互动方法、装置、存储介质及设备 |
CN112532721B (zh) * | 2020-11-27 | 2022-09-16 | 平安普惠企业管理有限公司 | 集群调用方法、装置、电子设备及存储介质 |
CN113806056B (zh) * | 2021-10-08 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 定时任务处理方法、装置、计算机设备和存储介质 |
CN114301563B (zh) * | 2021-12-24 | 2023-05-05 | 中国航发控制***研究所 | 集群间多余度同步电路、总线***及集群间同步的方法 |
CN114531442A (zh) * | 2022-02-17 | 2022-05-24 | 深圳壹账通智能科技有限公司 | 分布式定时任务管理方法、装置、设备及存储介质 |
CN114221863B (zh) * | 2022-02-22 | 2022-05-24 | 湖南云畅网络科技有限公司 | 一种分布式集群的节点智能选举方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761148A (zh) * | 2014-01-26 | 2014-04-30 | 北京京东尚科信息技术有限公司 | 集群定时调度任务的控制方法 |
WO2017211042A1 (zh) * | 2016-06-07 | 2017-12-14 | 中兴通讯股份有限公司 | 大数据的任务自动化测试方法和*** |
CN110046039A (zh) * | 2019-03-28 | 2019-07-23 | 厦门网宿有限公司 | 任务调度方法及***、调度中心服务器和存储介质 |
CN110134503A (zh) * | 2019-04-28 | 2019-08-16 | 中国银行股份有限公司 | 一种集群环境下的定时任务处理方法、装置及存储介质 |
CN110677493A (zh) * | 2019-10-11 | 2020-01-10 | 深圳市网心科技有限公司 | 服务状态确定方法及装置、计算机装置及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404390B (zh) * | 2011-11-07 | 2013-11-27 | 广东电网公司电力科学研究院 | 高速实时数据库的智能化动态负载均衡方法 |
JP6205912B2 (ja) * | 2013-07-05 | 2017-10-04 | 富士通株式会社 | 情報処理装置、配信方法および配信プログラム |
US9854028B2 (en) * | 2014-10-23 | 2017-12-26 | Bloomberg Finance L.P. | Apparatus and method for efficient, coordinated, distributed execution |
CN107483601A (zh) * | 2017-08-28 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种分布式定时任务的实现方法及执行*** |
CN110308983B (zh) * | 2019-04-19 | 2022-04-05 | 中国工商银行股份有限公司 | 资源负载均衡方法及***、服务节点和客户端 |
-
2020
- 2020-02-26 CN CN202010119418.XA patent/CN111416839B/zh active Active
- 2020-06-30 WO PCT/CN2020/099330 patent/WO2021169123A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761148A (zh) * | 2014-01-26 | 2014-04-30 | 北京京东尚科信息技术有限公司 | 集群定时调度任务的控制方法 |
WO2017211042A1 (zh) * | 2016-06-07 | 2017-12-14 | 中兴通讯股份有限公司 | 大数据的任务自动化测试方法和*** |
CN110046039A (zh) * | 2019-03-28 | 2019-07-23 | 厦门网宿有限公司 | 任务调度方法及***、调度中心服务器和存储介质 |
CN110134503A (zh) * | 2019-04-28 | 2019-08-16 | 中国银行股份有限公司 | 一种集群环境下的定时任务处理方法、装置及存储介质 |
CN110677493A (zh) * | 2019-10-11 | 2020-01-10 | 深圳市网心科技有限公司 | 服务状态确定方法及装置、计算机装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111416839A (zh) | 2020-07-14 |
WO2021169123A1 (zh) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111416839B (zh) | 集群环境定时任务处理方法、***、装置及存储介质 | |
CN108462760B (zh) | 电子装置、集群访问域名自动生成方法及存储介质 | |
CN107967135B (zh) | 计算引擎实现方法、电子装置及存储介质 | |
AU2017258818B2 (en) | Method, device, apparatus, and storage medium for generating identification information | |
US8626786B2 (en) | Dynamic language checking | |
US10229104B2 (en) | Efficient DFA generation for non-matching characters and character classes in regular expressions | |
CN107766039B (zh) | 从Java对象中存取属性值的方法、服务器及存储介质 | |
CN111901238B (zh) | 动态路由服务方法、装置、电子设备及存储介质 | |
US20220129458A1 (en) | Method for generating identification id, and apparatus implementing the same method | |
CN113342472A (zh) | 微服务集群创建方法、装置、电子设备及可读存储介质 | |
US10423667B2 (en) | Pattern matching machine | |
CN108664518B (zh) | 一种实现查表处理的方法及装置 | |
CN110955478B (zh) | 数据的分区动态显示方法、装置、设备及可读存储介质 | |
CN112667636A (zh) | 索引建立方法、装置及存储介质 | |
CN113569291B (zh) | 日志掩码方法及装置 | |
CN115309421A (zh) | 单点***的静态变量同步方法、装置、设备及存储介质 | |
US7610373B2 (en) | Voting mechanism for session invalidation processing in an application server cluster | |
US11914498B2 (en) | Selective induction of binary code at run-time for web-based customer service | |
US20230049428A1 (en) | Hash based filter | |
US20240078222A1 (en) | Selective Addition of Datum to a Tree Data Structure | |
US11347562B2 (en) | Management of dependencies between clusters in a computing environment | |
US20150371140A1 (en) | Minimizing Symbolic Finite Automata | |
CN115202901A (zh) | 微服务实例标识确定方法、装置、电子设备及存储介质 | |
US20220374528A1 (en) | Evaluation apparatus, evaluation system, evaluation method, and program | |
US20140136825A1 (en) | Parameter setting support device, and parameter setting support method |
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 |