[发明专利]一种带有签名的唯一ID生成方法、装置、设备及存储介质在审
申请号: | 201910007475.6 | 申请日: | 2019-01-04 |
公开(公告)号: | CN111416879A | 公开(公告)日: | 2020-07-14 |
发明(设计)人: | 史永鹏 | 申请(专利权)人: | 卓望数码技术(深圳)有限公司 |
主分类号: | H04L29/12 | 分类号: | H04L29/12;H04L9/32 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 唐致明;洪铭福 |
地址: | 518000 广东省深圳市南山区高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 带有 签名 唯一 id 生成 方法 装置 设备 存储 介质 | ||
本发明公开了一种带有签名的唯一ID生成方法,包括:获取当前系统时间,生成时间ID;通过Redis生成序列号;根据预设签名规则生成签名;将所述时间ID、所述序列号和所述签名组合生成唯一ID。本发明还公开了一种带有签名的唯一ID生成装置、设备及存储介质。本发明涉及计算机软件技术领域,一种带有签名的唯一ID生成方法、装置、设备及存储介质,通过获取当前系统时间,生成时间ID,通过Redis生成序列号,根据预设签名规则生成签名,将时间ID、序列号和签名组合生成唯一ID,通过Redis生成序列号,无需单独部署生成ID的服务,通过唯一ID中的签名验证唯一ID的有效性,缩短系统的响应时间,提高查询效率,有效屏蔽一些非法请求,提高系统的安全性和稳定性。
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种带有签名的唯一ID生成方法、装置、设备及存储介质。
背景技术
唯一ID是通过一定的方法、按一定的规则生成的ID,主要的特性就是唯一。唯一ID的用途十分广泛。生成ID的方法有很多种,适应不同的场景、需求以及性能要求。现有的生成唯一ID的方法有以下四种:
(1)通过数据库的自增长字段或序列生成ID;
(2)UUID;
(3)通过Twitter的snowflake算法生成ID;
(4)MongoDB的objectID。
针对第一种方法,不同的数据库实现方式不一样,迁移成本太高,分库分表实现比较复杂,扩展性比较差;针对第二种方法,生成的ID含义字母等必须使用字符串存储,查询性能比较低,ID是无序的,ID占用的存储空间比较大;针对第三种方法,需要独立部署ID的生成服务、依赖于各服务的时钟;针对第四种方法,生成的ID是一个十六进制的字符串,影响查询效率。
并且,以上四种ID生成方法没有签名,任何用户的请求都需要到缓存或数据库中查询才能验证是否是真实有效的ID,增加了接口的响应时间,影响系统的稳定性。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的是提供一种带有签名的唯一ID生成方法、装置、设备及存储介质,提高系统的安全性和稳定性。
本发明所采用的技术方案是:
第一方面,本发明提供一种带有签名的唯一ID生成方法,包括:
获取当前系统时间,生成时间ID;
通过Redis生成序列号;
根据预设签名规则生成签名;
将所述时间ID、所述序列号和所述签名组合生成唯一ID。
作为上述方案的进一步改进,所述获取当前系统时间,生成时间ID具体包括:
获取当前系统时间的毫秒数,将所述当前系统时间的毫秒数与系统初始时间的毫秒数之差作为时间ID。
作为上述方案的进一步改进,所述通过Redis生成序列号具体包括:
获取当前系统名称作为关键字,将所述关键字与所述时间ID组合作为Redis的第一密钥,生成唯一序列号,Redis存储所第一密钥。
作为上述方案的进一步改进,所述根据预设签名规则生成签名具体包括:
抽取所述时间ID的部分字符作为第一签名变量,抽取所述序列号的部分字符作为第二签名变量,将所述第一签名变量和所述第二签名变量进行第一逻辑运算,生成第三签名变量;
将所述第三签名变量与预设的签名密钥进行第二逻辑运算,生成签名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卓望数码技术(深圳)有限公司,未经卓望数码技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910007475.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆侧翻预测方法及装置
- 下一篇:一种基于5G系统的网络寻呼方法及装置