[发明专利]全局唯一标识码生成方法、设备、系统和计算机可读介质有效
申请号: | 202110637650.7 | 申请日: | 2021-06-08 |
公开(公告)号: | CN113377813B | 公开(公告)日: | 2023-08-29 |
发明(设计)人: | 陈海聪;林喆 | 申请(专利权)人: | 上海商米科技集团股份有限公司;深圳米开朗基罗科技有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F7/58 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 骆希聪 |
地址: | 200433 上海市杨浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 全局 唯一 标识 生成 方法 设备 系统 计算机 可读 介质 | ||
本申请提供了一种全局唯一标识码生成方法、设备、系统和计算机可读介质。该方法包括:接收请求设备发送的全局唯一标识码生成请求,全局唯一标识码包括多个区间,多个区间包括时间区和伪随机数区;获取预设质数、请求设备的时间和请求设备对应的全局唯一标识码生成序号;基于时间生成时间区;基于预设质数和全局唯一标识码生成序号生成伪随机数区;以及基于多个区间生成全局唯一标识码。该方法能够用更低的空间成本和时间成本确保全局唯一标识码具有高安全性和唯一性,并且避免了因为单一生成设备时间回调或不同生成设备间时间不同步而产生重复时间戳的问题。
技术领域
本申请主要涉及数据库技术领域,尤其涉及一种全局唯一标识码生成方法、设备、系统和计算机可读介质。
背景技术
数据库管理系统是一种向使用者提供对数据进行定义、创建、维护和访问的软件系统,通过对数据的统一组织和管理,最终实现对数据的处理、分析和理解。数据库管理系统采用唯一标识码对数据进行区分以达到唯一性标识。在具有多个相同的嵌入式设备实体系统的某些业务场景中,需要访问、使用、处理多个相同的嵌入式设备实体产生的业务数据。在这种情况下,通常要求多个嵌入式设备实体产生业务数据具有不重复、可区分的全局唯一标识码。
嵌入式设备在使用的过程中,在不同的业务场景下可能会产生大量的业务数据,一般采用数据库技术对如业务数据等进行存储、管理和处理。在此过程中,为提高数据的存储、管理和处理效率,采用唯一标识码标识每一项业务数据。现有的唯一标识码生成方式一般采用以下两种技术方案:(1)使用数据库管理系统内部生成的序号;(2)使用如SnowFlake、UUID(Universally Unique Identifier)等算法生成唯一标识码。
SnowFlake是Twitter公司采用的一种64位标识码生成算法,其由毫秒时间戳、数据中心ID、工作节点ID、序列号组成。SnowFlake算法序号区间的取值采用当前毫秒时间戳内,从0开始递增,则在其它区间相同的情况下,总是会得到重复的序号值。SnowFlake算法依靠毫秒时间戳实现UUID的唯一性,但若不同生成设备间时间不同步、或者单一生成设备时间回调则产生重复时间戳。
现有的技术方案主要存在以下问题:(1)安全性不佳,如采用数据库管理系统内部生成的序号作为业务数据的标识码,由于该序号为单调递增的数据编号,可根据已有的数据或使用多次向数据库管理系统查询等手段推算出其它业务数据的标识码,从而增加了嵌入式设备的潜在风险;(2)由国际标准化组织(ISO)提出的UUID(Universally UniqueIdentifier)算法使用128位作为数据的唯一标识码,其具有极低的重复概率,但是使用128位,即16个字节,作为业务数据的唯一标识码在嵌入式设备上对空间和时间的成本过高;(3)使用Twitter公司提出的SnowFlake算法计算业务数据的唯一标识码,存在如果时间回调或不同步,时间区间和序号区间的取值可能出现重复,导致生成重复碰撞的唯一标识码。
因此,如何生成一种高安全性、更低空间成本和时间成本、不受时间回调或不同步影响的全局唯一标识码是本领域技术人员亟需解决的问题。
发明内容
本申请要解决的技术问题是提供一种全局唯一标识码生成方法、设备、系统和计算机可读介质,能够生成一种高安全性、更低空间成本和时间成本、不受时间回调或不同步影响的全局唯一标识码。
为解决上述技术问题,本申请提供了一种全局唯一标识码生成方法,包括:接收请求设备发送的全局唯一标识码生成请求,所述全局唯一标识码包括多个区间,所述多个区间包括时间区和伪随机数区;获取预设质数、所述请求设备的时间和所述请求设备对应的全局唯一标识码生成序号;基于所述时间生成所述时间区;基于所述预设质数和所述全局唯一标识码生成序号生成所述伪随机数区;以及基于所述多个区间生成所述全局唯一标识码。
在本申请的一实施例中,所述多个区间还包括硬件识别区,所述方法还包括:获取所述请求设备的硬件标识;以及基于所述硬件标识生成所述硬件识别区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海商米科技集团股份有限公司;深圳米开朗基罗科技有限公司,未经上海商米科技集团股份有限公司;深圳米开朗基罗科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110637650.7/2.html,转载请声明来源钻瓜专利网。