[发明专利]一种基于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 生成 分布式 序列号 轻量级 方法 系统 | ||
1.一种基于JAVA链表生成分布式序列号的轻量级方法,其特征在于,包括以下步骤:
S1,按照预设的配置文件中的序列号生成参数以预设的生成方式生成设定数量的序列号,并将生成的设定数量的序列号存放到分布式部署的JAVA应用的全局变量链表中;
其中,所述配置文件中的序列号生成参数包括:应用编码、默认队列长度、序列初始值和当前序列最大值;所述当前序列最大值用于记录已经生成的设定数量的序列号中最后一个序列值,所述S1中首次生成设定数量的序列号时,将当前序列最大值初始化为与序列初始值相等的值;
所述S1中所述以预设的生成方式生成设定数量的序列号的过程包括:根据所述配置文件中的当前序列最大值以递增方式生成序列值,将应用编码与序列值组装生成所述默认队列长度设定的数量的序列号;
S2,将生成的设定数量的序列号中最后一个序列值记录到所述配置文件中相对应的序列号生成参数中;
S3,根据所需获取的序列号的数量对所述全局变量链表中的序列号进行带同步机制的剪切,获取所需数量的序列号;
所述S3中在所述进行带同步机制的剪切前,先判断所述全局变量链表的长度是否满足本次剪切所需的长度,若是,则进行同步机制的剪切,若否,则执行S1。
2.根据权利要求1所述基于JAVA链表生成分布式序列号的轻量级方法,其特征在于,所述方法还包括:
S4,在所述S3中进行带同步机制的剪切后获取到的序列号前加上预设的前缀,组合得到所需序列号。
3.一种基于JAVA链表生成分布式序列号的轻量级系统,其特征在于,包括以下模块:
序列号生成模块,用于按照预设的配置文件中的序列号生成参数以预设的生成方式生成设定数量的序列号,并将生成的设定数量的序列号存放到分布式部署的JAVA应用的全局变量链表中;
其中,所述配置文件中的序列号生成参数包括:应用编码、默认队列长度、序列初始值和当前序列最大值;所述当前序列最大值用于记录已经生成的设定数量的序列号中最后一个序列值,所述序列号生成模块首次生成序列号时,将当前序列最大值初始化为与序列初始值相等的值;
所述序列号生成模块中所述预设的生成方式为:根据所述配置文件中的当前序列最大值以递增方式生成序列值,将应用编码与序列值组装生成所述默认队列长度设定的数量的序列号;
序列号记录模块,用于将生成的设定数量的序列号中最后一个序列值记录到所述配置文件中相对应的序列号生成参数中;
序列号获取模块,用于根据所需获取的序列号的数量对所述全局变量链表中的序列号进行带同步机制的剪切,获取所需数量的序列号;
所述序列号获取模块还用于在所述进行带同步机制的剪切前,先判断所述全局变量链表的长度是否满足本次剪切所需的长度,若是,则进行同步机制的剪切,若否,则调用所述序列号生成模块生成设定数量的序列号。
4.根据权利要求3所述基于JAVA链表生成分布式序列号的轻量级系统,其特征在于,所述系统还包括:
序列号组合模块,用于在所述序列号获取模块进行带同步机制的剪切后获取到的序列号前加上预设的前缀,组合得到所需序列号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710253435.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:吊臂折弯机专用高效节能电液比例系统
- 下一篇:一种弯头