标识生成器、标识生成方法及计算机程序产品技术

技术编号:36750079 阅读:115 留言:0更新日期:2023-03-04 10:35
本申请公开了一种标识生成器、标识生成方法及计算机程序产品,属于数据处理技术领域。本申请实施例中的标识生成器包括:通信模块,用于接收标识生成请求,所述标识生成请求用于请求为目标对象生成标识;处理模块,用于在所述通信模块接收到所述标识生成请求之后,获取所述目标对象对应的业务标识和系统码,获取当前时间与基准时间的时间偏移,以及获取所述目标对象对应的唯一的目标符号;以及,生成所述目标对象的目标标识,所述目标标识包括所述业务标识、所述系统码、所述时间偏移和所述目标符号。由此,可以提升标识的安全性。可以提升标识的安全性。可以提升标识的安全性。

【技术实现步骤摘要】
标识生成器、标识生成方法及计算机程序产品


[0001]本申请属于数据处理
,具体涉及一种标识生成器、标识生成方法及计算机程序产品。

技术介绍

[0002]在业务系统中,往往需要一个非严格自增并且长度不变的标识ID来做业务主键。目前在为业务对象比如消息、订单等生成标识时,通常采用递增的方式为不同的业务对象生成对应标识。这种情况下,由于生成的标识是递增的,不够随机,将会造成容易泄漏生成的标识的数量,从而造成所生成的标识的安全性较差。

技术实现思路

[0003]本申请实施例的目的是提供一种标识生成器、标识生成方法及计算机程序产品,以解决目前生成的标识的安全性较差的问题。
[0004]为了解决上述技术问题,本申请是这样实现的:
[0005]第一方面,提供了一种标识生成器,包括:
[0006]通信模块,用于:接收标识生成请求,所述标识生成请求用于请求为目标对象生成标识;
[0007]处理模块,用于:在所述通信模块接收到所述标识生成请求之后,获取所述目标对象对应的业务标识和系统码,获取当前时间与基准时间的时间偏移,以及获取所述目标对象对应的唯一的目标符号;以及,生成所述目标对象的目标标识,所述目标标识包括所述业务标识、所述系统码、所述时间偏移和所述目标符号。
[0008]作为一种可选的实施方式,所述目标标识包括用于指示所述时间偏移的标识位,所述标识位采用4位数字。
[0009]作为一种可选的实施方式,所述时间偏移包括月偏移和日偏移,所述标识位的前两位数字指示所述月偏移,所述标识位的后两位数字指示所述日偏移。
[0010]作为一种可选的实施方式,所述处理模块具体用于:
[0011]从预缓存号码段中提取所述目标对象对应的目标号码;
[0012]根据预设的号码与符号的对应关系,将所述目标号码对应的符号确定为所述目标符号。
[0013]作为一种可选的实施方式,所述处理模块具体用于:
[0014]在所述预缓存号码段的被提取号码的个数占所述预缓存号码段的号码总个数的比值达到预设更新因子的情况下,判断当前时间距离所述预缓存号码段的更新时间的时长是否超过预设更新周期;
[0015]在当前时间距离所述预缓存号码段的更新时间的时长没有超过所述预设更新周期时,增大所述预缓存号码段的原步长,获得新的第一步长,并利用所述新的第一步长从数据库中选取新的号码段进行缓存;
[0016]在当前时间距离所述预缓存号码段的更新时间的时长超过所述预设更新周期时,缩小所述预缓存号码段的原步长,获得新的第二步长,并利用所述新的第二步长从数据库中选取新的号码段进行缓存。
[0017]作为一种可选的实施方式,所述处理模块具体用于:在获得所述新的第一步长之后,判断所述新的第一步长是否大于预设最大步长,并在所述新的第一步长没有大于所述预设最大步长时,利用所述新的第一步长从数据库中选取新的号码段进行缓存,或者,在所述新的第一步长大于所述预设最大步长时,利用所述预缓存号码段的原步长从数据库中选取新的号码段进行缓存;
[0018]和/或,在获得所述新的第二步长之后,判断所述新的第二步长是否小于预设最小步长,并在所述新的第二步长没有小于所述预设最小步长时,利用所述新的第二步长从数据库中选取新的号码段进行缓存,或者,在所述新的第二步长小于所述预设最小步长时,利用所述预缓存号码段的原步长从数据库中选取新的号码段进行缓存。
[0019]作为一种可选的实施方式,所述处理模块具体用于:
[0020]在当前时间距离所述预缓存号码段的更新时间的时长超过所述预设更新周期时,判断当前时间距离所述预缓存号码段的更新时间的时长是否超过预设时长阈值;
[0021]在当前时间距离所述预缓存号码段的更新时间的时长超过所述预设时长阈值时,缩小所述预缓存号码段的原步长,获得新的第二步长,并利用所述新的第二步长从数据库中选取新的号码段进行缓存;或者,在当前时间距离所述预缓存号码段的更新时间的时长没有超过所述预设时长阈值时,利用所述预缓存号码段的原步长从数据库中选取新的号码段进行缓存。
[0022]作为一种可选的实施方式,所述预缓存号码段与所述新的号码段缓存在不同的缓存池中;所述处理模块具体用于:在所述预缓存号码段中的号码被提取完之后,从缓存的所述新的号码段中提取所述目标对象对应的目标号码。
[0023]第二方面,提供了一种标识生成方法,包括:
[0024]接收标识生成请求,所述标识生成请求用于请求为目标对象生成标识;
[0025]获取所述目标对象对应的业务标识和系统码,获取当前时间与基准时间的时间偏移,以及获取所述目标对象对应的唯一的目标符号;
[0026]生成所述目标对象的目标标识,所述目标标识包括所述业务标识、所述系统码、所述时间偏移和所述目标符号。
[0027]第三方面,提供了一种计算机程序产品,包括计算机程序或指令,当所述计算机程序或指令被处理器执行时实现如第二方面所述的方法的步骤。
[0028]本申请实施例中,在接收到用于请求为目标对象生成标识的标识生成请求之后,可以获取该目标对象对应的业务标识和系统码,获取当前时间与基准时间的时间偏移,以及获取该目标对象对应的唯一的目标符号,并生成该目标对象的目标标识,所述目标标识包括所述业务标识、所述系统码、所述时间偏移和所述目标符号。由此相比于目前采用递增的方式生成标识,可以结合多方面信息比如时间偏移、唯一的符号等生成标识,从而提升标识的安全性。
附图说明
[0029]图1是本申请实施例提供的一种标识生成器的结构示意图;
[0030]图2是本申请实施例中生成的标识的示意图;
[0031]图3是本申请实施例中步长更新过程的示意图;
[0032]图4是本申请实施例提供的一种标识生成方法的流程图。
具体实施方式
[0033]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0034]本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。
[0035]在大型分布式系统中,往往需要对大量的数据和消息等进行唯一标识。如支付系统、商品系统等,数据日渐增长,对数据分库分表后需要有一个唯一标识ID来标识一条数据或消息,数据库的自增ID显然不能满足需求。特别一点的对象比如订单、优惠券等,也都需要有唯一ID作标识。此时一个能够生成全局唯一ID的标识生成器(或称为:标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种标识生成器,其特征在于,包括:通信模块,用于:接收标识生成请求,所述标识生成请求用于请求为目标对象生成标识;处理模块,用于:在所述通信模块接收到所述标识生成请求之后,获取所述目标对象对应的业务标识和系统码,获取当前时间与基准时间的时间偏移,以及获取所述目标对象对应的唯一的目标符号;以及,生成所述目标对象的目标标识,所述目标标识包括所述业务标识、所述系统码、所述时间偏移和所述目标符号。2.根据权利要求1所述的标识生成器,其特征在于,所述目标标识包括用于指示所述时间偏移的标识位,所述标识位采用4位数字。3.根据权利要求2所述的标识生成器,其特征在于,所述时间偏移包括月偏移和日偏移,所述标识位的前两位数字指示所述月偏移,所述标识位的后两位数字指示所述日偏移。4.根据权利要求1至3中任一项所述的标识生成器,其特征在于,所述处理模块具体用于:从预缓存号码段中提取所述目标对象对应的目标号码;根据预设的号码与符号的对应关系,将所述目标号码对应的符号确定为所述目标符号。5.根据权利要求4所述的标识生成器,其特征在于,所述处理模块具体用于:在所述预缓存号码段的被提取号码的个数占所述预缓存号码段的号码总个数的比值达到预设更新因子的情况下,判断当前时间距离所述预缓存号码段的更新时间的时长是否超过预设更新周期;在当前时间距离所述预缓存号码段的更新时间的时长没有超过所述预设更新周期时,增大所述预缓存号码段的原步长,获得新的第一步长,并利用所述新的第一步长从数据库中选取新的号码段进行缓存;在当前时间距离所述预缓存号码段的更新时间的时长超过所述预设更新周期时,缩小所述预缓存号码段的原步长,获得新的第二步长,并利用所述新的第二步长从数据库中选取新的号码段进行缓存。6.根据权利要求5所述的标识生成器,其特征在于,所述处理模块具体用于:在获得所述新的第一步长之后,判断所述新的第一步长是否大于预设最大步长,并在所述新的第一步长没有大于所述预设最大步长时,利用所述新的第一步...

【专利技术属性】
技术研发人员:秦坤
申请(专利权)人:北京集度科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1