[发明专利]一种基于原子操作的分布式发号方法、装置及电子设备在审
申请号: | 202110439886.X | 申请日: | 2021-04-23 |
公开(公告)号: | CN113312349A | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 叶峰;陈朝 | 申请(专利权)人: | 北京淇瑀信息科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/2455 |
代理公司: | 北京清诚知识产权代理有限公司 11691 | 代理人: | 喻颖 |
地址: | 100012 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 原子 操作 分布式 方法 装置 电子设备 | ||
1.一种基于原子操作的分布式发号方法,其特征在于,所述方法包括:
获取本次发号采用的用户自定义序列规则;
当接收到节点的起始发号请求时,采用所述自定义序列号规则生成起始全局唯一ID序列,并将所述起始全局唯一ID序列存储到缓冲队列;
根据节点发号请求的顺序通过原子操作的方式将当前全局唯一ID序列值自增1生成新的全局唯一ID序列,并将所述新的全局唯一ID序列存储到缓冲队列;
当接收到节点的发号消费请求时,从所述缓存队列中依次读取全局唯一ID序列。
2.根据权利要求1所述的方法,其特征在于,当所述缓冲队列达到存储阈值时,清空缓冲队列,并根据节点发号请求的顺序通过原子操作的方式将当前全局唯一ID序列值自增1生成新的全局唯一ID序列,并将所述新的全局唯一ID序列存储到缓冲队列。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述获取本次发号采用的用户自定义序列规则包括:
接收用户输入的关键词;
根据所述关键词匹配用户自定义序列库,显示匹配到的至少一个用户自定义序列规则;
根据用户对所述至少一个用户自定义序列规则的选取操作确定本次发号采用的用户自定义序列规则。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述全局唯一ID序列的取值范围采用分片原理生成。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
将从缓存队列读取的全局唯一ID序列存入数据库。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述自定义序列号规则的结构包括序列号名称、开始索引、序列最小值、序列最大值、递增步长、前一个索引、当前索引和序列号格式。
7.一种基于原子操作的分布式发号装置,其特征在于,所述装置包括:
获取模块,用于获取本次发号采用的用户自定义序列规则;
第一生成模块,用于当接收到节点的起始发号请求时,采用所述自定义序列号规则生成起始全局唯一ID序列,并将所述起始全局唯一ID序列存储到缓冲队列;
第二生成模块,用于根据节点发号请求的顺序通过原子操作的方式将当前全局唯一ID序列值自增1生成新的全局唯一ID序列,并将所述新的全局唯一ID序列存储到缓冲队列;
读取模块,用于当接收到节点的发号消费请求时,从所述缓存队列中依次读取全局唯一ID序列。
8.根据权利要求7所述的装置,其特征在于,所述第二生成模块还用于当所述缓冲队列达到存储阈值时,清空缓冲队列,并根据节点发号请求的顺序通过原子操作的方式将当前全局唯一ID序列值自增1生成新的全局唯一ID序列,并将所述新的全局唯一ID序列存储到缓冲队列。
9.根据权利要求8所述的装置,其特征在于,所述获取模块包括:
接收模块,用于接收用户输入的关键词;
匹配模块,用于根据所述关键词匹配用户自定义序列库,显示匹配到的至少一个用户自定义序列规则;
确定模块,用于根据用户对所述至少一个用户自定义序列规则的选取操作确定本次发号采用的用户自定义序列规则。
10.根据权利要求9所述的装置,其特征在于,所述全局唯一ID序列的取值范围采用分片原理生成。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
存储模块,用于将从缓存队列读取的全局唯一ID序列存入数据库。
12.根据权利要求7所述的装置,其特征在于,所述自定义序列号规则的结构包括序列号名称、开始索引、序列最小值、序列最大值、递增步长、前一个索引、当前索引和序列号格式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京淇瑀信息科技有限公司,未经北京淇瑀信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110439886.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可调节的自动钢筋绑扎机
- 下一篇:一种具备防爆包裹结构的新能源照明路灯