[发明专利]一种基于JAVA链表生成分布式序列号的轻量级方法及系统有效
申请号: | 201710253435.0 | 申请日: | 2017-04-18 |
公开(公告)号: | CN107045445B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 赵洁 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F8/73 | 分类号: | G06F8/73;G06F8/71;G06F9/455;G06F9/50;G06F9/52 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100086 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 java 生成 分布式 序列号 轻量级 方法 系统 | ||
本发明涉及一种基于JAVA链表生成分布式序列号的轻量级方法及系统,属于序列号生成领域,解决了在分布式环境下生成序列号时整体结构复杂、不易改动且与外系统对接时复杂度大的问题。本发明通过按照预设的配置文件中的序列号生成参数以预设的生成方式生成设定数量的序列号,并存放到分布式部署的JAVA应用的全局变量链表中;将生成的设定数量的序列号中最后一个序列号的位置记录到所述配置文件中相对应的序列号生成参数中;根据所需获取的序列号的数量对所述全局变量链表中的序列号进行带同步机制的剪切,获取所需数量的序列号。用于在占用轻量级的硬件和底层资源的情况下,通过简单配置即可实现分布式部署下唯一序列号的生成。
技术领域
本发明涉及序列号生成领域,尤其涉及一种基于JAVA链表生成分布式序列号的轻量级方法及系统。
背景技术
随着计算机技术的飞速发展,现在的软件应用系统正在向分布式的应用发展。在分布式系统中原有的一些技术和方法已经不适用了,在非分布式的应用系统中只要依靠数据库系统的一些机制即可生成序列号(不同数据库序列号生成的方式和使用方式不同)。而在分布式系统中序列号的生成,会因为高并发、多服务端请求等因素,导致依靠数据库系统提供的机制已经满足不了。现有的分布式应用下生成序列号方式为两种,一种是通过单独的ZooKeeper(一种分布式服务框架)服务器的分布式系统生成序列号,该方式的缺点是:应用系统在生成序列号时,要求部署一套ZooKeeper分布式应用,依赖ZooKeeper提供的能力,存在ZooKeeper单点主机故障问题;另一种是通过对数据库集群进行编码,以及集群内的自增字段共同组成唯一主键,该方式的缺点是:表关联操作相对比较复杂,需要两个字段作为联合主键,对于已有系统由单一主键转为复合主键,改动成本增大,而且在与外系统对接时复杂度增加。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种基于JAVA链表生成分布式序列号的轻量级方法及系统,目的在于在JAVA应用软件向分布式部署时,不依赖其他软件与应用,通过简单配置即可实现分布式部署下唯一序列号的生成,只需要占用轻量级的硬件和底层资源,能保证序列号生成的连续性且有效避免重复,并通过JAVA的同步机制实现序列号发放唯一性。
本发明解决上述技术问题的技术方案如下:
一种基于JAVA链表生成分布式序列号的轻量级方法,包括以下步骤:
S1,按照预设的配置文件中的序列号生成参数以预设的生成方式生成设定数量的序列号,并将生成的设定数量的序列号存放到分布式部署的JAVA应用的全局变量链表中;
S2,将生成的设定数量的序列号中最后一个序列号的位置记录到所述配置文件中相对应的序列号生成参数中;
S3,根据所需获取的序列号的数量对所述全局变量链表中的序列号进行带同步机制的剪切,获取所需数量的序列号。
本发明的有益效果是:通过JAVA全局链表存储当前可用序列号,在JAVA应用软件向分布式部署时,不依赖其他软件与应用,通过简单配置即可实现分布式部署下唯一序列号的生成,只需要占用轻量级的硬件和底层资源。生成序列号之后记录已生成序列号的位置,保证序列号生成的连续性且有效避免重复,并通过JAVA的同步机制实现序列号发放唯一性。
在上述技术方案的基础上,本发明还可以做如下改进:
进一步,所述配置文件中的序列号生成参数包括:应用编码、默认队列长度、序列初始值和当前序列最大值;所述当前序列最大值用于记录已经生成的设定数量的序列号中最后一个序列号的位置,所述S1中首次生成设定数量的序列号时,将当前序列最大值初始化为与序列初始值相等的值。
采用上述进一步方案的有益效果是:配置文件可以设置多种参数,能够通过配置满足各种不同类型的序列号的要求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710253435.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:吊臂折弯机专用高效节能电液比例系统
- 下一篇:一种弯头