【技术实现步骤摘要】
任务处理方法、装置、电子设备和计算机可读存储介质
[0001]本专利技术涉及数据处理
,具体而言,涉及一种任务处理方法、装置、电子设备和计算机可读存储介质。
技术介绍
[0002]集群是指将多个服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。现今,为了提高集群的可用性,往往采用分布式或多worker协同的方式部署。在部署启动时,可能需要执行一些仅要求执行一次的初始化任务、定时任务等,如数据库写入初始化数据、数据同步、消息通知等。但是,在分布式或多worker协同的部署模式下,集群中有多少个节点(服务器),代码也将执行多少次,可能会导致任务重复执行,产生错误的预期,任务处理的合理性有待提高。
技术实现思路
[0003]本专利技术的目的之一包括,例如,提供了一种任务处理方法、装置、电子设备和计算机可读存储介质,以至少部分地改善任务处理合理性有待提升的问题。
[0004]本专利技术的实施例可以这样实现:
[0005]第一方面,本专利技术提供一种任务处理方法,应用于分布式集群 ...
【技术保护点】
【技术特征摘要】
1.一种任务处理方法,其特征在于,应用于分布式集群中的任一节点,每个所述节点上分别部署有待处理任务的任务调度逻辑,所述节点能够访问基于Redis的分布式锁数据库,所述方法包括:获得待处理任务;根据所述分布式锁数据库,判断当前节点是否为满足设定条件的目标节点;若是,则向所述目标节点添加唯一任务锁,加锁成功的情况下执行所述待处理任务;若否,则该当前节点跳过所述待处理任务的执行。2.根据权利要求1所述的任务处理方法,其特征在于,所述分布式锁数据库包括Redis有序集合,所述Redis有序集合内存放有分布式集群中各节点的成员标识及各节点正在执行的任务数量;所述根据所述分布式锁数据库,判断当前节点是否为满足设定条件的目标节点的步骤,包括:基于当前节点的成员标识和各节点正在执行的任务数量,判断当前节点正在执行的任务数量是否为所有节点中最小;若是,则判定当前节点为目标节点。3.根据权利要求2所述的任务处理方法,其特征在于,所述方法还包括:在由所述目标节点执行所述待处理任务的情况下,将所述Redis有序集合中存放的所述目标节点正在执行的任务数量加一;在执行完成所述待处理任务的情况下,将所述Redis有序集合中存放的所述目标节点正在执行的任务数量减一,并在所述Redis有序集合中删除所述任务锁。4.根据权利要求1所述的任务处理方法,其特征在于,所述分布式锁数据库包括Redis有序集合,所述Redis有序集合内存放有分布式集群中各节点的成员标识及各节点的动态优先级;所述根据所述分布式锁数据库,判断当前节点是否为满足设定条件的目标节点的步骤,包括:基于当前节点的成员标识和各节点的动态优先级,判断当前节点的优先级是否为最高;若是,则判定当前节点为目标节点。5.根据权利要求1所述的任务处理方法,其特征在于,所述分布式锁数据库包括Redis唯一字...
【专利技术属性】
技术研发人员:王越,邓金城,
申请(专利权)人:北京知道创宇信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。