[发明专利]一种基于用户标识的全局标识生成方法及设备在审
| 申请号: | 202210115458.6 | 申请日: | 2022-01-30 |
| 公开(公告)号: | CN114463129A | 公开(公告)日: | 2022-05-10 |
| 发明(设计)人: | 徐单恒 | 申请(专利权)人: | 杭州安存网络科技有限公司 |
| 主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06F40/126 |
| 代理公司: | 杭州伟知新盛专利代理事务所(特殊普通合伙) 33275 | 代理人: | 李成龙 |
| 地址: | 310000 浙江省杭州市拱*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 用户 标识 全局 生成 方法 设备 | ||
本发明公开了一种基于用户标识的全局标识生成方法及设备,所述方法包括:基于用户请求信息获取用户标识和相关业务信息,并调用Token器生成Token信息;基于用户请求信息获取当前时间戳和当前请求序号;对Token信息、当前时间戳及当前请求序号利用信息编码技术生成全局唯一标识。本发明通过设置Token信息来替换雪花算法中工作机器id部分,解决工作机器id位需要分配问题;并通过时钟回拨判别准则下的时间戳更新策略和请求序号更新策略,避免生成重复的全局标识,保证服务的正常运行。
技术领域
本发明属于计算机技术领域,具体来说涉及一种基于用户标识的全局标识生成方法及设备。
背景技术
在复杂分布式交易系统中,服务请求端往往需要对大量请求消息、交易进行全局唯一性标识。全局唯一性标识,本质上是一个分布式系统中一般由数字、字母组成的,具有系统唯一性的字符串。
现有应用中,交易系统一般是采用交易时间戳、工作机器id、自增序列号三部分信息拼接的方式创建全局唯一标识,比如:雪花算法,是有一个64位的数据结构,包含1位标识位,41位时间戳,10位机器位(一般包含5位数据中心ID和5位工作机器ID),12位序列位组成。可见,该技术时间戳基于服务器时钟生成,当服务器发生时钟回拨时,生成ID的时间戳也会随之回退,从而导致可能生成重复标识;同时该技术机器位一共有10bit位,无法满足数量大于1024的情况,同时为实现机器位自动分配功能还需要依赖外部存储服务。
发明内容
本发明的目的之一在于提供一种基于用户标识的全局标识生成方法及设备,以解决背景技术中现有的全局标识生成方法需要依赖外部存储服务等问题。
本发明的目的之二在于提供一种基于用户标识的全局标识生成方法及设备,以解决背景技术中现有的全局标识生成方法在出现时钟回拨时会导致生成重复标识的问题。
为实现上述目的,本发明提供技术方案如下:
一种基于用户标识的全局标识生成方法,所述方法包括:
Token信息获取步骤,基于用户请求信息获取用户标识和相关业务信息,并调用Token器生成Token信息;
时间戳及序号获取步骤,基于用户请求信息获取当前时间戳和当前请求序号;
编码步骤,对Token信息、当前时间戳及当前请求序号利用信息编码技术生成全局唯一标识。
优选地,,所述Token信息获取步骤包括以下子步骤:
通过用户请求信息获取用户标识和相关业务信息,所述相关业务信息为请求IP、请求时间戳、用户盐值中的一个或多个;
将用户标识和相关业务信息使用分隔符拼接成字符串;
将字符串通过MD5加密生成Token信息。
优选地,所述时间戳及序号获取步骤包括以下子步骤:
基于用户请求信息获取当前时间戳、上次请求序号及判别要素;
基于判别要素和预设的时钟回拨判别准则判定是否发生时钟回拨,并利用时钟回拨判别准则下的时间戳更新策略更新当前时间戳;
对上次请求序号利用时钟回拨判别准则下的序号更新策略更新当前请求序号;
请求序号门限下的当前时间戳及当前请求序号二次更新。
优选地,所述判别要素为上次生成全局唯一标识的时间戳,所述时钟回拨判别准则为若上次生成全局唯一标识的时间戳大于当前时间戳,则发生时钟回拨,否则未发生时钟回拨。
优选地,所述时间戳更新策略为若发生时钟回拨,则当前时间戳替换为上次生成全局唯一标识的时间戳,否则当前时间戳不变。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安存网络科技有限公司,未经杭州安存网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210115458.6/2.html,转载请声明来源钻瓜专利网。





