CN113377813A - 全局唯一标识码生成方法、设备、系统和计算机可读介质 - Google Patents
全局唯一标识码生成方法、设备、系统和计算机可读介质 Download PDFInfo
- Publication number
- CN113377813A CN113377813A CN202110637650.7A CN202110637650A CN113377813A CN 113377813 A CN113377813 A CN 113377813A CN 202110637650 A CN202110637650 A CN 202110637650A CN 113377813 A CN113377813 A CN 113377813A
- Authority
- CN
- China
- Prior art keywords
- identification code
- unique identification
- global unique
- generating
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种全局唯一标识码生成方法、设备、系统和计算机可读介质。该方法包括:接收请求设备发送的全局唯一标识码生成请求,全局唯一标识码包括多个区间,多个区间包括时间区和伪随机数区;获取预设质数、请求设备的时间和请求设备对应的全局唯一标识码生成序号;基于时间生成时间区;基于预设质数和全局唯一标识码生成序号生成伪随机数区;以及基于多个区间生成全局唯一标识码。该方法能够用更低的空间成本和时间成本确保全局唯一标识码具有高安全性和唯一性,并且避免了因为单一生成设备时间回调或不同生成设备间时间不同步而产生重复时间戳的问题。
Description
技术领域
本申请主要涉及数据库技术领域,尤其涉及一种全局唯一标识码生成方法、设备、系统和计算机可读介质。
背景技术
数据库管理系统是一种向使用者提供对数据进行定义、创建、维护和访问的软件系统,通过对数据的统一组织和管理,最终实现对数据的处理、分析和理解。数据库管理系统采用唯一标识码对数据进行区分以达到唯一性标识。在具有多个相同的嵌入式设备实体系统的某些业务场景中,需要访问、使用、处理多个相同的嵌入式设备实体产生的业务数据。在这种情况下,通常要求多个嵌入式设备实体产生业务数据具有不重复、可区分的全局唯一标识码。
嵌入式设备在使用的过程中,在不同的业务场景下可能会产生大量的业务数据,一般采用数据库技术对如业务数据等进行存储、管理和处理。在此过程中,为提高数据的存储、管理和处理效率,采用唯一标识码标识每一项业务数据。现有的唯一标识码生成方式一般采用以下两种技术方案:(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算法计算业务数据的唯一标识码,存在如果时间回调或不同步,时间区间和序号区间的取值可能出现重复,导致生成重复碰撞的唯一标识码。
因此,如何生成一种高安全性、更低空间成本和时间成本、不受时间回调或不同步影响的全局唯一标识码是本领域技术人员亟需解决的问题。
发明内容
本申请要解决的技术问题是提供一种全局唯一标识码生成方法、设备、系统和计算机可读介质,能够生成一种高安全性、更低空间成本和时间成本、不受时间回调或不同步影响的全局唯一标识码。
为解决上述技术问题,本申请提供了一种全局唯一标识码生成方法,包括:接收请求设备发送的全局唯一标识码生成请求,所述全局唯一标识码包括多个区间,所述多个区间包括时间区和伪随机数区;获取预设质数、所述请求设备的时间和所述请求设备对应的全局唯一标识码生成序号;基于所述时间生成所述时间区;基于所述预设质数和所述全局唯一标识码生成序号生成所述伪随机数区;以及基于所述多个区间生成所述全局唯一标识码。
在本申请的一实施例中,所述多个区间还包括硬件识别区,所述方法还包括:获取所述请求设备的硬件标识;以及基于所述硬件标识生成所述硬件识别区。
在本申请的一实施例中,所述多个区间还包括符号区,所述符号区的取值为0或1。
在本申请的一实施例中,所述预设质数满足以下公式:
p≡3(mod 4)
其中,p为所述预设质数;所述基于所述预设质数和所述全局唯一标识码生成序号生成所述伪随机数区的步骤包括:当所述全局唯一标识码生成序号小于等于所述预设质数的一半时,基于以下公式生成所述伪随机数区:
Qr=n2 mod p
其中,p为所述预设质数,n为所述全局唯一标识码生成序号,Qr为所述伪随机数区;当所述全局唯一标识码生成序号大于所述预设质数的一半时,基于以下公式生成所述伪随机数区:
Qr=p-(n2 mod p)
其中,p为所述预设质数,n为所述全局唯一标识码生成序号,Qr为所述伪随机数区。
在本申请的一实施例中,所述时间区取值为所述时间的后M位二进制位,所述M为预设的时间区所占的数据宽度。
在本申请的一实施例中,所述全局唯一标识码的多个区间的排列顺序从前往后依次为:所述符号区、所述硬件识别区、所述时间区和所述伪随机数区。
在本申请的一实施例中,所述方法还包括:将生成的所述全局唯一标识码发送至所述请求设备。
为解决上述技术问题,本申请提供了一种全局唯一标识码生成设备,包括请求处理单元和全局唯一标识码生成单元。请求处理单元用于接收请求设备发送的全局唯一标识码生成请求;发送生成的所述全局唯一标识码至所述请求设备,其中,所述全局唯一标识码包括多个区间,所述多个区间包括时间区和伪随机数区。全局唯一标识码生成单元用于获取预设质数、所述请求设备的时间和全局唯一标识码生成序号;基于所述时间生成所述时间区;基于所述预设质数和所述全局唯一标识码生成序号生成所述伪随机数区;以及基于所述多个区间生成所述全局唯一标识码。
为解决上述技术问题,本申请提供了一种全局唯一标识码生成系统,包括:存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现如上所述的方法。
为解决上述技术问题,本申请提供了一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的方法。
与现有技术相比,本申请的全局唯一标识码生成方法、设备、系统和计算机可读介质基于预设质数和全局唯一标识码生成序号生成伪随机数区,以及基于设备时间生成时间区,然后生成包括伪随机数区和时间区的全局唯一标识码,能够用更低的空间成本和时间成本确保全局唯一标识码具有高安全性和唯一性,并且避免了因为单一生成设备时间回调或不同生成设备间时间不同步而产生重复时间戳的问题。
附图说明
包括附图是为提供对本申请进一步的理解,它们被收录并构成本申请的一部分,附图示出了本申请的实施例,并与本说明书一起起到解释本申请原理的作用。附图中:
图1是根据本申请一实施例示出的全局唯一标识码生成方法的流程示意图。
图2是根据本申请另一实施例示出的全局唯一标识码生成方法的流程示意图。
图3是根据本申请一实施例示出的全局唯一标识码生成设备的示意框图。
图4是根据本申请一实施例示出的全局唯一标识码生成系统的系统框图。
具体实施方式
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
本申请提供了一种全局唯一标识码生成方法。图1是根据本申请一实施例示出的全局唯一标识码生成方法的流程示意图。如图1所示,以应用于全局唯一标识码生成系统为例,本实施例的全局唯一标识码生成方法包括以下步骤101-105:
步骤101,接收请求设备发送的全局唯一标识码生成请求,全局唯一标识码包括多个区间,多个区间包括时间区和伪随机数区。
步骤102,获取预设质数、请求设备的时间和请求设备对应的全局唯一标识码生成序号。
步骤103,基于时间生成时间区。
步骤104,基于预设质数和全局唯一标识码生成序号生成伪随机数区。
步骤105,基于多个区间生成全局唯一标识码。
下面对上述步骤101-105进行详细说明:
在步骤101中,系统接收请求设备发送的全局唯一标识码生成请求。每一个全局唯一标识码划分为多个区间,多个区间至少包括时间区和伪随机数区。全局唯一标识码还可以根据需要增加其他类型的区间,本申请对此不作限定。
在步骤102中,系统获取预设质数、请求设备的时间和请求设备对应的全局唯一标识码生成序号。预设质数是在本申请实施例的全局唯一标识码生成方法的计算过程中指定的参数,可以根据应用场景或者伪随机数区的长度选择适合的质数。请求设备的时间可以为微秒时间或毫秒时间等单位的时间,本申请对此不作限定。与请求设备对应的全局唯一标识码生成序号是在本申请实施例的全局唯一标识码生成方法所生成的全局唯一标识码的序号。例如,ID为全局唯一标识码,IDn=f(n),当n=1,2,3,4....时,可以依次产生全局唯一标识码,全局唯一标识码生成序号即为此处的n。
在步骤103中,系统基于所获取到的请求设备的时间生成时间区。在本申请的一实施例中,时间区取值可以为请求设备的时间的后M位二进制位。M可以为预设的时间区所占的数据宽度。
在步骤104中,系统基于预设质数和与请求设备对应的全局唯一标识码生成序号生成伪随机数区。
在本申请的一实施例中,系统可以基于预设质数和全局唯一标识码生成序号利用二次剩余原理生成伪随机数区的非重复伪随机数列,步骤104可以包括步骤104a和104b,其中预设质数可以满足以下公式:
p≡3(mod 4)
其中,p为预设质数。
步骤104a,当全局唯一标识码生成序号小于等于预设质数的一半时,基于以下公式生成伪随机数区:
Qr=n2 mod p
其中,p为预设质数,n为全局唯一标识码生成序号,Qr为伪随机数区。
步骤104b,当全局唯一标识码生成序号大于预设质数的一半时,基于以下公式生成伪随机数区:
Qr=p-(n2 mod p)
其中,p为预设质数,n为全局唯一标识码生成序号,Qr为伪随机数区。
通过二次剩余原理生成的伪随机数区是非重复伪随机数列,能够保证最终生成的全局唯一标识码的唯一性。
本申请对步骤103和步骤104的执行顺序不作限定,可以任意顺序先后执行,也可同时执行。
在步骤105中,系统基于多个区间生成全局唯一标识码。在一个示例中,可以将多个区间按照预先设定的顺序进行排列得到全局唯一标识码。
本实施例的全局唯一标识码生成方法基于预设质数和全局唯一标识码生成序号生成伪随机数区,以及基于设备时间生成时间区,然后生成包括伪随机数区和时间区的全局唯一标识码,能够用更低的空间成本和时间成本确保全局唯一标识码具有高安全性和唯一性,并且避免了因为单一生成设备时间回调或不同生成设备间时间不同步而产生重复时间戳的问题。
图2是根据本申请另一实施例示出的全局唯一标识码生成方法的流程示意图。如图2所示,以应用于全局唯一标识码生成系统为例,本实施例的全局唯一标识码生成方法包括以下步骤201-207:
步骤201,接收请求设备发送的全局唯一标识码生成请求,全局唯一标识码包括多个区间,多个区间包括时间区、伪随机数区、硬件识别区和符号区。
步骤202,获取预设质数、请求设备的时间、请求设备的硬件标识和请求设备对应的全局唯一标识码生成序号。
步骤203,基于时间生成时间区。
步骤204,基于预设质数和全局唯一标识码生成序号生成伪随机数区。
步骤205,基于硬件标识生成硬件识别区。
步骤206,基于多个区间生成全局唯一标识码。
步骤207,将生成的全局唯一标识码发送至请求设备。
下面对上述步骤201-207进行详细说明:
在步骤201中,系统接收请求设备发送的全局唯一标识码生成请求。每一个全局唯一标识码划分为多个区间,多个区间包括时间区、伪随机数区、硬件识别区和符号区。全局唯一标识码还可以根据需要增加其他类型的区间,本申请对此不作限定。符号区是工程应用中常用的做法,用于增强的全局唯一标识码的可读性和易用性,可以由用户根据实际需要预先进行设置。在本申请的一实施例中,符号区的取值可以为0或1。
在步骤202中,系统获取预设质数、请求设备的时间、请求设备的硬件标识和请求设备对应的全局唯一标识码生成序号。预设质数是在本申请实施例的全局唯一标识码生成方法的计算过程中指定的参数,可以根据应用场景或者伪随机数区的长度选择适合的质数。请求设备的时间可以为微秒时间或毫秒时间等单位的时间,本申请对此不作限定。请求设备的硬件标识是用于区分请求设备的标识,可以是请求设备的序列号。与请求设备对应的全局唯一标识码生成序号是在本申请实施例的全局唯一标识码生成方法所生成的全局唯一标识码的序号。例如,ID为全局唯一标识码,IDn=f(n),当n=1,2,3,4....时,可以依次产生全局唯一标识码,全局唯一标识码生成序号即为此处的n。
在步骤203中,系统基于所获取到的请求设备的时间生成时间区。在本申请的一实施例中,时间区取值可以为请求设备的时间的后M位二进制位。M可以为预设的时间区所占的数据宽度。
在步骤204中,系统基于预设质数和与请求设备对应的全局唯一标识码生成序号生成伪随机数区。
在本申请的一实施例中,系统可以基于预设质数和全局唯一标识码生成序号利用二次剩余原理生成伪随机数区的非重复伪随机数列,步骤204可以包括步骤204a和204b,其中预设质数可以满足以下公式:
p≡3(mod 4)
其中,p为预设质数。
步骤204a,当全局唯一标识码生成序号小于等于预设质数的一半时,基于以下公式生成伪随机数区:
Qr=n2 mod p
其中,p为预设质数,n为全局唯一标识码生成序号,Qr为伪随机数区。
步骤204b,当全局唯一标识码生成序号大于预设质数的一半时,基于以下公式生成伪随机数区:
Qr=p-(n2 mod p)
其中,p为预设质数,n为全局唯一标识码生成序号,Qr为伪随机数区。
通过二次剩余原理生成的伪随机数区是非重复伪随机数列,能够保证最终生成的全局唯一标识码的唯一性。
在步骤205中,系统基于请求设备的硬件标识生成硬件识别区。硬件识别区可以根据硬件识别区的长度采用硬件标识的全部或部分数值。在一个示例中,硬件识别区可以采用请求设备的序列号的后4位二进制位。硬件识别区的作用除了可以区分设备外,也能进一步增加最终生成的全局唯一标识码的随机性。
本申请对步骤203、204和205的执行顺序不作限定,可以任意顺序先后执行,也可同时执行。
在步骤206中,系统基于多个区间生成全局唯一标识码。在一个示例中,可以将多个区间按照预先设定的顺序进行排列得到全局唯一标识码。在本申请的一实施例中,全局唯一标识码的多个区间的排列顺序从前往后可以依次为:符号区、硬件识别区、时间区和伪随机数区。表1为根据本申请实施例示出的全局唯一标识码的示例。如下表1所示,全局唯一标识码包括4个区间,从前往后依次为符号区、硬件识别区、时间区和伪随机数区,括号中的数字为该区间所占的数据宽度,该全局唯一标识码为01010110000101010100011101001101。
表1
在步骤207中,系统将生成的全局唯一标识码发送至请求设备。
本实施例的全局唯一标识码生成方法基于预设质数和全局唯一标识码生成序号生成伪随机数区,基于设备时间生成时间区,基于硬件标识生成硬件识别区,然后生成包括伪随机数区、时间区、硬件识别区和符号区的全局唯一标识码,能够用更低的空间成本和时间成本确保全局唯一标识码具有高安全性和唯一性,并且避免了因为单一生成设备时间回调或不同生成设备间时间不同步而产生重复时间戳的问题。
本申请还提供了一种全局唯一标识码生成设备。图3是根据本申请一实施例示出的全局唯一标识码生成设备的示意框图。如图3所示,全局唯一标识码生成设备300包括请求处理单元301和全局唯一标识码生成单元302。请求设备303向全局唯一标识码生成设备300发送全局唯一标识码生成请求。
请求处理单元301用于接收请求设备303发送的全局唯一标识码生成请求。其中,全局唯一标识码划分为多个区间,多个区间包括时间区和伪随机数区。全局唯一标识码还可以根据需要增加其他类型的区间,本申请对此不作限定。
全局唯一标识码生成单元302用于获取预设质数、请求设备303的时间和全局唯一标识码生成序号,基于时间生成时间区,基于预设质数和全局唯一标识码生成序号生成伪随机数区,然后基于多个区间生成全局唯一标识码。在全局唯一标识码生成单元302生成全局唯一标识码后,请求处理单元301还用于发送生成的全局唯一标识码至请求设备303。
预设质数是在本申请实施例的全局唯一标识码的生成过程中指定的参数,可以根据应用场景或者伪随机数区的长度选择适合的质数。请求设备303的时间可以为微秒时间或毫秒时间等单位的时间,本申请对此不作限定。与请求设备303对应的全局唯一标识码生成序号是在本申请实施例的全局唯一标识码生成设备所生成的全局唯一标识码的序号。例如,ID为全局唯一标识码,IDn=f(n),当n=1,2,3,4....时,可以依次产生全局唯一标识码,全局唯一标识码生成序号即为此处的n。
在本申请的一实施例中,时间区取值可以为请求设备303的时间的后M位二进制位。M可以为预设的时间区所占的数据宽度。
在本申请的一实施例中,全局唯一标识码生成单元302可以基于预设质数和全局唯一标识码生成序号利用二次剩余原理生成伪随机数区的非重复伪随机数列,具体可包括以下步骤1和2,并且预设质数可以满足以下公式:
p≡3(mod 4)
其中,p为预设质数。
步骤1,当全局唯一标识码生成序号小于等于预设质数的一半时,基于以下公式生成伪随机数区:
Qr=n2 mod p
其中,p为预设质数,n为全局唯一标识码生成序号,Qr为伪随机数区。
步骤2,当全局唯一标识码生成序号大于预设质数的一半时,基于以下公式生成伪随机数区:
Qr=p-(n2 mod p)
其中,p为预设质数,n为全局唯一标识码生成序号,Qr为伪随机数区。
通过二次剩余原理生成的伪随机数区是非重复伪随机数列,能够保证最终生成的全局唯一标识码的唯一性。
本申请对步骤1和2的执行顺序不作限定,可以任意顺序先后执行,也可同时执行。
在一个示例中,全局唯一标识码生成单元302可以将多个区间按照预先设定的顺序进行排列得到全局唯一标识码。
本实施例的全局唯一标识码生成设备基于预设质数和全局唯一标识码生成序号生成伪随机数区,以及基于设备时间生成时间区,然后生成包括伪随机数区和时间区的全局唯一标识码,能够用更低的空间成本和时间成本确保全局唯一标识码具有高安全性和唯一性,并且避免了因为单一生成设备时间回调或不同生成设备间时间不同步而产生重复时间戳的问题。
本申请还提供了一种全局唯一标识码生成系统,包括:存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现如上所述的任一种全局唯一标识码生成方法。
图4是根据本申请一实施例示出的全局唯一标识码生成系统的系统框图。全局唯一标识码生成系统400可包括内部通信总线401、处理器(Processor)402、只读存储器(ROM)403、随机存取存储器(RAM)404、以及通信端口405。当应用在个人计算机上时,全局唯一标识码生成系统400还可以包括硬盘407。内部通信总线401可以实现全局唯一标识码生成系统400组件间的数据通信。处理器402可以进行判断和发出提示。在一些实施例中,处理器402可以由一个或多个处理器组成。通信端口405可以实现全局唯一标识码生成系统400与外部的数据通信。在一些实施例中,全局唯一标识码生成系统400可以通过通信端口405从网络发送和接受信息及数据。全局唯一标识码生成系统400还可以包括不同形式的程序储存单元以及数据储存单元,例如硬盘407,只读存储器(ROM)403和随机存取存储器(RAM)404,能够存储计算机处理和/或通信使用的各种数据文件,以及处理器402所执行的可能的程序指令。处理器执行这些指令以实现方法的主要部分。处理器处理的结果通过通信端口传给用户设备,在用户界面上显示。
上述的全局唯一标识码生成方法可以实施为计算机程序,保存在硬盘407中,并可记载到处理器402中执行,以实施本申请中的任一种全局唯一标识码生成方法。
本申请还提供了一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的任一种全局唯一标识码生成方法。
全局唯一标识码生成方法实施为计算机程序时,也可以存储在计算机可读存储介质中作为制品。例如,计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩盘(CD)、数字多功能盘(DVD))、智能卡和闪存设备(例如,电可擦除可编程只读存储器(EPROM)、卡、棒、键驱动)。此外,本文描述的各种存储介质能代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于能存储、包含和/或承载代码和/或指令和/或数据的无线信道和各种其它介质(和/或存储介质)。
应该理解,上文所描述的实施例仅是示意。本文描述的实施例可在硬件、软件、固件、中间件、微码或者其任意组合中实现。对于硬件实现,处理单元可以在一个或者多个特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器和/或设计为执行本文所述功能的其它电子单元或者其结合内实现。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述申请披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示例性实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
本申请的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DAPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器或者其组合。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,压缩盘CD、数字多功能盘DVD……)、智能卡以及闪存设备(例如,卡、棒、键驱动器……)。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个申请实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
虽然本申请已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本申请,在没有脱离本申请精神的情况下还可做出各种等效的变化或替换,因此,只要在本申请的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。
Claims (10)
1.一种全局唯一标识码生成方法,包括:
接收请求设备发送的全局唯一标识码生成请求,所述全局唯一标识码包括多个区间,所述多个区间包括时间区和伪随机数区;
获取预设质数、所述请求设备的时间和所述请求设备对应的全局唯一标识码生成序号;
基于所述时间生成所述时间区;
基于所述预设质数和所述全局唯一标识码生成序号生成所述伪随机数区;以及
基于所述多个区间生成所述全局唯一标识码。
2.如权利要求1所述的方法,其特征在于,所述多个区间还包括硬件识别区,所述方法还包括:
获取所述请求设备的硬件标识;以及
基于所述硬件标识生成所述硬件识别区。
3.如权利要求1或2所述的方法,其特征在于,所述多个区间还包括符号区,所述符号区的取值为0或1。
4.如权利要求1所述的方法,其特征在于,所述预设质数满足以下公式:
p≡3(mod 4)
其中,p为所述预设质数;
所述基于所述预设质数和所述全局唯一标识码生成序号生成所述伪随机数区的步骤包括:
当所述全局唯一标识码生成序号小于等于所述预设质数的一半时,基于以下公式生成所述伪随机数区:
Qr=n2 mod p
其中,p为所述预设质数,n为所述全局唯一标识码生成序号,Qr为所述伪随机数区;
当所述全局唯一标识码生成序号大于所述预设质数的一半时,基于以下公式生成所述伪随机数区:
Qr=p-(n2 mod p)
其中,p为所述预设质数,n为所述全局唯一标识码生成序号,Qr为所述伪随机数区。
5.如权利要求1所述的方法,其特征在于,所述时间区取值为所述时间的后M位二进制位,所述M为预设的时间区所占的数据宽度。
6.如权利要求3所述的方法,其特征在于,所述全局唯一标识码的多个区间的排列顺序从前往后依次为:所述符号区、所述硬件识别区、所述时间区和所述伪随机数区。
7.如权利要求1所述的方法,其特征在于,还包括:
将生成的所述全局唯一标识码发送至所述请求设备。
8.一种全局唯一标识码生成设备,包括:
请求处理单元,用于接收请求设备发送的全局唯一标识码生成请求;发送生成的所述全局唯一标识码至所述请求设备,其中,所述全局唯一标识码包括多个区间,所述多个区间包括时间区和伪随机数区;以及
全局唯一标识码生成单元,用于获取预设质数、所述请求设备的时间和全局唯一标识码生成序号;基于所述时间生成所述时间区;基于所述预设质数和所述全局唯一标识码生成序号生成所述伪随机数区;以及基于所述多个区间生成所述全局唯一标识码。
9.一种全局唯一标识码生成系统,包括:
存储器,用于存储可由处理器执行的指令;以及
处理器,用于执行所述指令以实现如权利要求1-7任一项所述的方法。
10.一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110637650.7A CN113377813B (zh) | 2021-06-08 | 2021-06-08 | 全局唯一标识码生成方法、设备、系统和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110637650.7A CN113377813B (zh) | 2021-06-08 | 2021-06-08 | 全局唯一标识码生成方法、设备、系统和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113377813A true CN113377813A (zh) | 2021-09-10 |
CN113377813B CN113377813B (zh) | 2023-08-29 |
Family
ID=77576493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110637650.7A Active CN113377813B (zh) | 2021-06-08 | 2021-06-08 | 全局唯一标识码生成方法、设备、系统和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377813B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117114719A (zh) * | 2023-10-24 | 2023-11-24 | 四川数智云链科技有限公司 | 基于供应链全流程的数字防伪方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753683A (zh) * | 2015-04-08 | 2015-07-01 | 西安电子科技大学 | 车联网中具有高效撤销的群签名方法 |
CN105740725A (zh) * | 2016-01-29 | 2016-07-06 | 北京大学 | 一种文件保护方法与系统 |
KR101731921B1 (ko) * | 2017-02-20 | 2017-05-02 | 국방과학연구소 | 하드웨어 타입 소수 판별 장치 및 그 방법 |
CN106792677A (zh) * | 2017-03-28 | 2017-05-31 | 浙江神州量子网络科技有限公司 | 一种移动终端绑定针对性服务的认证方法和认证系统 |
CN107682577A (zh) * | 2017-10-09 | 2018-02-09 | 平安科技(深圳)有限公司 | 软电话加解密方法、装置及计算机可读存储介质 |
CN110109911A (zh) * | 2018-01-10 | 2019-08-09 | 武汉斗鱼网络科技有限公司 | 分布式全局id生成方法、存储介质、电子设备及方法 |
CN111831639A (zh) * | 2019-04-19 | 2020-10-27 | 北京车和家信息技术有限公司 | 一种全局唯一id生成方法及装置、车辆管理系统 |
CN112584355A (zh) * | 2020-12-13 | 2021-03-30 | 北京明朝万达科技股份有限公司 | 一种用于车辆间通信的密钥协同方法、系统和介质 |
CN112738135A (zh) * | 2021-01-29 | 2021-04-30 | 李晓坤 | 一种基于数字证书的无感知认证方法 |
-
2021
- 2021-06-08 CN CN202110637650.7A patent/CN113377813B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753683A (zh) * | 2015-04-08 | 2015-07-01 | 西安电子科技大学 | 车联网中具有高效撤销的群签名方法 |
CN105740725A (zh) * | 2016-01-29 | 2016-07-06 | 北京大学 | 一种文件保护方法与系统 |
KR101731921B1 (ko) * | 2017-02-20 | 2017-05-02 | 국방과학연구소 | 하드웨어 타입 소수 판별 장치 및 그 방법 |
CN106792677A (zh) * | 2017-03-28 | 2017-05-31 | 浙江神州量子网络科技有限公司 | 一种移动终端绑定针对性服务的认证方法和认证系统 |
CN107682577A (zh) * | 2017-10-09 | 2018-02-09 | 平安科技(深圳)有限公司 | 软电话加解密方法、装置及计算机可读存储介质 |
CN110109911A (zh) * | 2018-01-10 | 2019-08-09 | 武汉斗鱼网络科技有限公司 | 分布式全局id生成方法、存储介质、电子设备及方法 |
CN111831639A (zh) * | 2019-04-19 | 2020-10-27 | 北京车和家信息技术有限公司 | 一种全局唯一id生成方法及装置、车辆管理系统 |
CN112584355A (zh) * | 2020-12-13 | 2021-03-30 | 北京明朝万达科技股份有限公司 | 一种用于车辆间通信的密钥协同方法、系统和介质 |
CN112738135A (zh) * | 2021-01-29 | 2021-04-30 | 李晓坤 | 一种基于数字证书的无感知认证方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117114719A (zh) * | 2023-10-24 | 2023-11-24 | 四川数智云链科技有限公司 | 基于供应链全流程的数字防伪方法 |
CN117114719B (zh) * | 2023-10-24 | 2024-02-09 | 四川数智云链科技有限公司 | 基于供应链全流程的数字防伪方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113377813B (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959386B (zh) | 分布式全局唯一id生成方法、装置、设备和存储介质 | |
CN107229555A (zh) | 标识生成方法和装置 | |
CN108093026B (zh) | 多租户请求的处理方法及装置 | |
CN108399175B (zh) | 一种数据存储、查询方法及其装置 | |
US10282120B2 (en) | Method, apparatus and system for inserting disk | |
CN112492048B (zh) | 消息同步方法、装置、电子设备及可读存储介质 | |
CN109714249A (zh) | 一种小程序消息的推送方法及相关装置 | |
CN111984601A (zh) | 日志文件删除方法、装置、电子设备及存储介质 | |
CN113377813A (zh) | 全局唯一标识码生成方法、设备、系统和计算机可读介质 | |
CN113568891B (zh) | 分布式id生成方法、装置、服务器和可读存储介质 | |
CN114721594A (zh) | 一种分布式存储方法、装置、设备及机器可读存储介质 | |
CN105204782B (zh) | 一种实现数据存储的方法及装置 | |
CN116846980B (zh) | 一种积分发放和使用方法、系统及设备 | |
CN103051480B (zh) | 一种dn的存储方法及dn存储装置 | |
CN112818047A (zh) | 基于分布式数据库的数据存储方法、装置及电子设备 | |
JP6233846B2 (ja) | 可変長ノンスの生成 | |
CN112579566B (zh) | 分布式id的生成方法及装置 | |
CN114513469A (zh) | 分布式系统的流量整形方法、装置和存储介质 | |
CN112445800A (zh) | 一种数据流水号的生成方法、系统及电子设备 | |
CN112860755B (zh) | 业务标识生成方法、装置、计算机设备和介质 | |
CN113656411B (zh) | 用于图数据入库的方法及其装置 | |
CN117056133B (zh) | 一种基于分布式物联网架构的数据备份方法、装置及介质 | |
CN109960922B (zh) | 一种识别新激活设备的方法及装置 | |
CN117390610A (zh) | 一种身份标识生成方法、系统及装置 | |
CN116737417A (zh) | 数据同步方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |