[发明专利]一种高吞吐量的唯一ID发放方法、装置及存储介质在审
申请号: | 202210051878.2 | 申请日: | 2022-01-17 |
公开(公告)号: | CN114372100A | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 王飞 | 申请(专利权)人: | 瞰客信息科技(上海)有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/23 |
代理公司: | 北京中联智道知识产权代理事务所(普通合伙) 11963 | 代理人: | 熊蒙 |
地址: | 201108 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 吞吐量 唯一 id 发放 方法 装置 存储 介质 | ||
1.一种高吞吐量的唯一ID发放方法,其特征在于,包括:
采用long类型的数据存储唯一ID,所述long类型的数据包括存储0或者1的最高位,用于存储时间戳的时间戳位,用于存储工作机器ID的标识位以及用于生成递增序列号的序列号位;
获取唯一ID服务主机的当前绝对时间戳,通过公式相对时间戳T相对=当前绝对时间戳T绝对-基准时间戳T0得到唯一ID服务主机的相对时间戳,将所述相对时间戳T相对写入所述long类型的数据的时间戳位,生成唯一ID。
2.根据权利要求1所述的一种高吞吐量的唯一ID发放方法,其特征在于,所述时间戳位的位数Bit时间根据所述相对时间戳的时间精度基准确定,所述标识位的位数Bit标识根据系统的最大机器容量确定,所述序列号位的位数Bit序列由公式序列号位的位数Bit序列=long类型的数据总位数Bit-时间戳位的位数Bit 时间-标识位的位数Bit标识-1计算得到;
可选地,所述时间精度基准为秒级,所述时间戳位的位数Bit时间小于或者等于30位。
3.根据权利要求2所述的一种高吞吐量的唯一ID发放方法,其特征在于,将所述时间戳位的位数Bit时间控制为30位,将所述标识位的位数Bit标识控制为10位,所述序列号位的位数Bit序列为24位;
每个协程(或线程)针对所述序列号位可生成的号段[1,16777216]进行拆分多缓存,并发发号。
4.根据权利要求1-3任意一项所述的一种高吞吐量的唯一ID发放方法,其特征在于,当所述唯一ID服务主机由当前绝对时间戳T绝对计算得到当前相对时间戳T相对所对应的唯一ID号段的剩余发放量N=0时,判断是否还有工作机器需要发放唯一ID;
若判断结果为是,则执行增量唯一ID发号过程:
将所述唯一ID服务主机的当前绝对时间戳T绝对自增n*T0后,向剩余需要发放唯一ID的工作机器继续发放由绝对时间戳T绝对+n*T0计算得到的相对时间戳所对应的唯一ID号段中的唯一ID;其中n*T0为按照最小时间精度基准逐次自增,n为自增次数,所述n*T0小于等于系统允许时间戳误差η。
5.根据权利要求4所述的一种高吞吐量的唯一ID发放方法,其特征在于,当所述唯一ID服务主机的当前绝对时间戳T绝对2更新为T绝对1+n*T0时,所述的绝对时间戳T绝对1为占用了当前绝对时间戳T绝对2的唯一ID的上一当前绝对时间戳,所述唯一ID服务主机在进行当前绝对时间戳T绝对2的唯一ID发放时,发放唯一ID的实际号数等于当前绝对时间戳T绝对2的理论发号数减去绝对时间戳T绝对1占用的发号数。
6.根据权利要求4所述的一种高吞吐量的唯一ID发放方法,其特征在于,预设当前绝对时间戳T绝对的增量唯一ID发号过程中可占用未来绝对时间戳的唯一ID号数阈值Nmax,若当前绝对时间戳T绝对的增量唯一ID发号过程中发出的唯一ID号数达到号数阈值Nmax之后,仍然还有工作机器需要发放唯一ID,则进行工作机器排序等待。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瞰客信息科技(上海)有限公司,未经瞰客信息科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210051878.2/1.html,转载请声明来源钻瓜专利网。