行业标准网
(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210051878.2 (22)申请日 2022.01.17 (71)申请人 瞰客信息科技(上海)有限公司 地址 201108 上海市闵行区金都路42 99号6 幢 (72)发明人 王飞  (74)专利代理 机构 北京中联智道知识产权代理 事务所(普通 合伙) 11963 代理人 熊蒙 (51)Int.Cl. G06F 16/2458(2019.01) G06F 16/23(2019.01) (54)发明名称 一种高吞吐量的唯一ID发放方法、 装置及存 储介质 (57)摘要 本发明公开了一种高吞吐量的唯一ID发放 方法、 装置及存储介质, 所述高吞吐量的唯一ID 发放方法, 包括: 采用long类型的数据存储唯一 ID, 所述long类型的数据包括存储0或者1的最高 位, 用于存储时间戳的时间戳位, 用于存储工作 机器ID的标识位以及用于生成递增序列号的序 列号位; 获取唯一ID服务主机的当前绝对时间 戳, 通过公式相对时间戳T相对=当前绝对时间戳 T绝对‑基准时间戳T0得到唯一ID服务主机的相对 时间戳, 将所述相对时间戳T相对写入所述long类 型的数据的时间戳位, 生成唯一ID。 本发明的一 种高吞吐量的唯一ID发放方法致力于在保证时 序和性能的前提下, 提高单机雪花算法的吞吐 量。 权利要求书2页 说明书9页 附图2页 CN 114372100 A 2022.04.19 CN 114372100 A 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,167772 16]进行拆分多缓存, 并 发发号。 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, 则进行工作机器排序等待。 7.根据权利要求6所述的一种高吞吐量的唯一ID发放方法, 其特征在于, 若当前绝对时 间戳T绝对需要执行t次增量唯一ID发号过程, 所述当前绝对 时间戳T绝对占用绝对 时间戳T绝对+ n1*T0唯一ID号数N1, 占用绝对时间戳T绝对+n2*T0唯一ID号数N2,……, 占用绝对时间戳T绝对+ nt*T0唯一ID号数Nt, 所述的N1, N2,……, Nt的值逐渐减小。 8.根据权利要求4所述的一种高吞吐量的唯一ID发放方法, 其特征在于, 针对所述增量权 利 要 求 书 1/2 页 2 CN 114372100 A 2唯一ID发号过程中的总发号量N增量进行监控, 在预设时间段内, 当N增量达到预设增量发 号量时, 则禁止执 行所述增量唯一 ID发号过程。 9.一种高吞吐量的唯一 ID发放装置, 其特 征在于, 包括: 数据存储模块, 采用lon g类型的数据存储唯一ID, 所述long类型的数据包括存储0或者 1的最高位, 用于存储时间戳的时间戳位, 用于存储工作机器ID的标识 位以及用于生 成递增 序列号的序列号 位; 以及唯一ID生成模块, 获取唯一ID服务主机的当前绝对时间戳, 通过公式相对时间戳 T相对=当前绝对时间戳T绝对‑基准时间戳T0得到唯一ID服务主机的相对时间戳, 将所述相对 时间戳T相 对写入所述 long类型的数据的时间戳 位, 生成唯一 ID。 10.一种存储介质, 存储有计算机可执行程序, 其特征在于, 所述计算机可执行程序被 执行时, 实现如权利要求1 ‑8任意一项所述的一种高吞吐量的唯一 ID发放方法。权 利 要 求 书 2/2 页 3 CN 114372100 A 3

.PDF文档 专利 一种高吞吐量的唯一ID发放方法、装置及存储介质

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种高吞吐量的唯一ID发放方法、装置及存储介质 第 1 页 专利 一种高吞吐量的唯一ID发放方法、装置及存储介质 第 2 页 专利 一种高吞吐量的唯一ID发放方法、装置及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 11:17:52上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。