[发明专利]一种基于分布式锁加载分布式任务的方法以及装置在审
申请号: | 201610159146.X | 申请日: | 2016-03-18 |
公开(公告)号: | CN107203429A | 公开(公告)日: | 2017-09-26 |
发明(设计)人: | 张一淳 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市清华源律师事务所11441 | 代理人: | 沈泳,王永秀 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分布式 加载 任务 方法 以及 装置 | ||
1.一种基于分布式锁加载分布式任务的方法,其特征在于,包括:
工作机从其抢占到的分布式锁中读取预先存储的任务配置信息,作为所述工作机的任务配置信息;
根据所述任务配置信息,从任务数据库中查找并加载所述工作机对应的分布式任务;
设置未抢占到所述分布式锁的机器为备机。
2.根据权利要求1所述的基于分布式锁加载分布式任务的方法,其特征在于,所述工作机从其抢占到的分布式锁中读取预先存储的任务配置信息,作为所述工作机的任务配置信息步骤执行之前,执行如下步骤:
分布式系统中可提供计算资源的N+M台所述机器,基于分布式锁服务争抢预设的数目为N的所述分布式锁;每个分布式锁只能被一台机器抢占;
针对N+M台所述机器中的每一台机器,判断所述机器是否成功抢占所述分布式锁;
若是,设置成功抢占所述分布式锁的机器为所述工作机,并执行所述工作机从其抢占到的分布式锁中读取预先存储的任务配置信息,作为所述工作机的任务配置信息步骤;
若否,返回执行所述分布式系统中可提供计算资源的N+M台所述机器,基于分布式锁服务争抢预设的数目为N的所述分布式锁步骤。
3.根据权利要求2所述的基于分布式锁加载分布式任务的方法,其特征在于,所述任务配置信息,包括:
所述分布式锁的数目N和所述分布式锁各自的锁标识;
其中,所述分布式锁的锁标识小于所述分布式锁的数目N,且大于等于0。
4.根据权利要求3所述的基于分布式锁加载分布式任务的方法,其特征在于,所述分布式任务记录在所述任务数据库的数据表中,所述数据表的主键包括:与所述分布式任务一一对应的任务标识;
每个任务标识所在的记录用于记录一个分布式任务。
5.根据权利要求4所述的基于分布式锁加载分布式任务的方法,其特征在于,所述根据所述任务配置信息,从任务数据库中查找并加载所述工作机对应的分布式任务步骤,包括:
根据所述分布式锁的数目N和成功抢占所述分布式锁的工作机的机器标识,确定所述工作机的任务筛选条件;
在所述数据表中查找满足所述工作机的任务筛选条件的分布式任务,作为所述工作机对应的分布式任务;
将查找到的所述分布式任务分别加载到各自对应的所述工作机上。
6.根据权利要求5所述的基于分布式锁加载分布式任务的方法,其特征在于,所述任务筛选条件,包括:
所述任务标识对所述分布式锁的数目N取模,得到的值等于所述工作机的机器标识的分布式任务;
其中,所述工作机的机器标识,由所述工作机抢占的分布式锁的锁标识确定。
7.根据权利要求4所述的基于分布式锁加载分布式任务的方法,其特征在于,所述主键为自增主键,且所述任务标识之间按照预设间隔阈值顺序排列。
8.根据权利要求2所述的基于分布式锁加载分布式任务的方法,其特征在于,所述分布式系统是基于ZooKeeper实现;
相应的,所述分布式锁,采用如下方式实现:
所述ZooKeeper上的N个数据节点;
其中,所述N个数据节点中的每一个数据节点下,存储所述数据节点代表的分布式锁的任务配置信息。
9.根据权利要求8所述的基于分布式锁加载分布式任务的方法,其特征在于,所述分布式系统中可提供计算资源的N+M台所述机器,基于分布式锁服务争抢预设的数目为N的所述分布式锁,采用如下方式实现:
N+M台所述机器在所述ZooKeeper上的N个数据节点下,创建临时子节点,成功在所述数据节点下创建所述临时子节点的机器成功抢占所述数据节点代表的分布式锁。
10.根据权利要求9所述的基于分布式锁加载分布式任务的方法,其特征在于,包括:
所述备机通过在所述ZooKeeper上的N个数据节点下注册监听节点,来监听所述分布式锁。
11.根据权利要求10所述的基于分布式锁加载分布式任务的方法,其特征在于,所述备机通过在所述ZooKeeper上的N个数据节点下注册监听节点,来监听所述分布式锁步骤执行之后,执行下述步骤:
获取一台或者多台工作机发生宕机的机器状态信息;
基于ZooKeeper删除所述机器状态信息各自对应的工作机的数据节点下创建的临时子节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610159146.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种双轴承PVC轮
- 下一篇:一种具有良好避震效果的全钢承重子午胎