[发明专利]基于zookeeper的全局序列生成方法及装置有效
申请号: | 201710414958.9 | 申请日: | 2017-06-05 |
公开(公告)号: | CN107247770B | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 钟小燕;廖小文;曹建平;林宏正 | 申请(专利权)人: | 广东亿迅科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 葛勤 |
地址: | 510000 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 zookeeper 全局 序列 生成 方法 装置 | ||
本发明公开一种基于zookeeper的全局序列生成方法及装置,该方法包括:分配多个序列生成器,并对序列生成器所生成序列进行初始化,以为每个序列指定步长、加载因子、初始值以及设置一内存队列;获取zookeeper分布式系统中zookeeper序列节点的分布式锁;根据zookeeper序列节点的当前值及步长计算出zookeeper序列节点的步长序列值;释放zookeeper序列节点的分布式锁,得到zookeeper序列节点对应的步长序列值;将步长序列值异步填充至序列生成器的内存队列;以及从内存队列中选取一序列值作为全局序列,并返回全局序列。本发明的技术方案能够提供唯一全局序列,满足业务需求。
技术领域
本发明涉及一种数据库中间件,尤其涉及一种基于zookeeper的全局序列生成方法及装置。
背景技术
zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
目前,由于电信的业务系统的交易量非常庞大,使用分布式数据库作为底层数据存储,因此数据库的自增序列已然不能提供全局唯一的序列。目前的分布式自增序列大部分是根据Zookeeper自身的强一致性和持久化顺序节点的顺序性的特点生成有序序列。每获取一个序列都需要去访问Zookeeper分布式系统并创建新的持久化顺序节点,效率比较低下,不满足于分布式数据库对序列进行快速反应的要求。因此需要提供高效可用的分布式全局序列服务来满足电信庞大的业务量。
有鉴于此,有必要提出对目前数据库自增序列的技术进行进一步的改进。
发明内容
为解决上述至少一技术问题,本发明的主要目的是提供一种基于zookeeper的全局序列生成方法。
为实现上述目的,本发明采用的一个技术方案为:提供一种基于zookeeper的全局序列生成方法,包括如下步骤:
分配多个序列生成器,并对序列生成器所生成序列进行初始化,以为每个序列指定步长、加载因子、初始值以及设置一内存队列;
获取zookeeper分布式系统中zookeeper序列节点的分布式锁;
根据zookeeper序列节点的当前值及步长计算出zookeeper序列节点的步长序列值;
释放zookeeper序列节点的分布式锁,得到zookeeper序列节点对应的步长序列值;
将步长序列值异步填充至序列生成器的内存队列;以及
从内存队列中选取一序列值作为全局序列,并返回全局序列。
在一具体的实施例中,所述根据zookeeper序列节点的当前值及步长计算出zookeeper序列节点的步长序列值的步骤,具体包括:
判断zookeeper序列节点是否进行初始化,
如果zookeeper序列节点没有初始化,则为每一序列创建持久化zookeeper序列节点并设置初始值,以及根据zookeeper序列节点初始值及步长计算出节点的步长序列值;
如果zookeeper序列节点已初始化,则根据zookeeper序列节点的当前值及步长计算出zookeeper序列节点的步长序列值。
在一具体的实施例中,所述将步长序列值异步填充至序列生成器的内存队列的步骤之后,还包括:
判断内存队中的序列值消耗的比例是否等于加载因子,
如果内存队中的序列值消耗的比例等于加载因子,则获取zookeeper分布式系统中zookeeper序列节点的分布式锁;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东亿迅科技有限公司,未经广东亿迅科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710414958.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:语音点歌方法、装置、终端及存储介质
- 下一篇:一种图像数据处理方法及系统