本技术涉及数据处理,特别是涉及一种标识数据的生成方法、装置、电子设备及存储介质。
背景技术:
1、当下,互联网技术的高速发展,给人们的工作、生活以及娱乐带来了丰富多彩的体验。其中,标识数据广泛存在于互联网技术的各类应用中,具有全局唯一、不重复的特点,例如玩家的身份标识、订单号、优惠券号以及商户号等。
2、相关技术中,一般是基于时间戳结合一些扩展的序列号等数据来生成标识数据。然而,当前的计算机系统计时存在有时间回退的情况,即由于地球自转的不均匀性和长期变慢性,每经过一段时间可能需要调整,存在有生成重复时间戳的情况。此时,将有可能对应生成重复的标识数据,无法满足唯一性的要求,影响标识数据的正常使用。
技术实现思路
1、本技术实施例提供了一种标识数据的生成方法、装置、电子设备及存储介质,能够改善标识数据的重复生成问题,有利于提高标识数据的使用体验。
2、一方面,本技术实施例提供了一种标识数据的生成方法,该方法包括以下步骤:
3、响应于标识生成请求,检测当前的第一时间戳是否处于回退时间段;
4、若所述第一时间戳处于回退时间段,从第二时间戳之前的时间段中确定至少一个第三时间戳;其中,所述第二时间戳为发生回退时的时间戳;
5、查询第一标识数据中未使用的序列号,得到所述第三时间戳对应的可用序列号集合;其中,所述第一标识数据为根据所述第三时间戳生成的标识数据;
6、根据所述第三时间戳以及所述可用序列号集合中的序列号,生成目标标识数据。
7、在一种可能的实现方式中,所述检测当前的第一时间戳是否处于回退时间段,包括:
8、获取所述第二时间戳和第四时间戳;所述第四时间戳为完成回退时的时间戳;
9、检测所述第一时间戳是否处于所述第二时间戳和所述第四时间戳之间;
10、当所述第一时间戳处于所述第二时间戳和所述第四时间戳之间,确定所述第一时间戳处于回退时间段;或者,当所述第一时间戳不处于所述第二时间戳和所述第四时间戳之间,确定所述第一时间戳不处于回退时间段。
11、在一种可能的实现方式中,所述检测当前的第一时间戳是否处于回退时间段,包括:
12、获取第五时间戳;所述第五时间戳为上次生成标识数据时所使用的时间戳;
13、比较所述第一时间戳和所述第五时间戳的大小,当所述第一时间戳小于所述第五时间戳时,确定所述第一时间戳处于回退时间段。
14、在一种可能的实现方式中,所述从第二时间戳之前的时间段中确定至少一个第三时间戳,包括:
15、从所述第二时间戳之前的时间段中,以所述第二时间戳为段尾,确定时间跨度为预设时长的第一时间段;
16、将所述第一时间段中的各个时间戳确定为第三时间戳。
17、在一种可能的实现方式中,所述从第二时间戳之前的时间段中确定至少一个第三时间戳,包括:
18、计算所述第二时间戳和所述第一时间戳之间的第一时长;
19、根据所述第一时长,确定第二时长;所述第二时长和所述第一时长正相关;
20、从所述第二时间戳之前的时间段中,以所述第二时间戳为段尾,确定时间跨度为第二时长的第二时间段;
21、将所述第二时间段中的各个时间戳确定为第三时间戳。
22、在一种可能的实现方式中,所述根据所述第三时间戳以及所述可用序列号集合中的序列号,生成目标标识数据,包括:
23、计算所述第二时间戳和所述第一时间戳之间的第一时长;
24、当所述第一时长大于第一阈值且小于第二阈值,根据所述第三时间戳以及所述可用序列号集合中的序列号,生成目标标识数据;
25、其中,所述第二阈值大于所述第一阈值。
26、在一种可能的实现方式中,所述方法还包括:
27、当所述第一时长小于所述第一阈值或者大于所述第二阈值,查询第二标识数据中未使用的回退编号,得到可用回退编号集合;其中,所述第二标识数据为根据所述第一时间戳生成的标识数据;
28、根据所述第一时间戳以及所述可用回退编号集合中的回退编号,生成目标标识数据。
29、在一种可能的实现方式中,所述方法还包括:
30、当所述可用序列号集合或者所述可用回退编号集合为空集时,从当前时刻起等待第一时长后获取第六时间戳;
31、根据所述第六时间戳和原始序列号集合中的序列号,生成目标标识数据;
32、其中,所述原始序列号集合中包括所有可供生成标识数据的序列号。
33、在一种可能的实现方式中,所述方法还包括:
34、若所述第一时间戳不处于回退时间段,获取第五时间戳;所述第五时间戳为上次生成标识数据时所使用的时间戳;
35、比较所述第一时间戳和所述第五时间戳是否一致;
36、当所述第一时间戳和所述第五时间戳一致,对上次生成的标识数据中的序列号进行自增运算,得到目标标识数据;或者,当所述第一时间戳和所述第五时间戳不一致,根据所述第一时间戳和原始序列号集合中的序列号,生成目标标识数据;
37、其中,所述原始序列号集合中包括所有可供生成标识数据的序列号。
38、在一种可能的实现方式中,所述响应于标识生成请求,检测当前的第一时间戳是否处于回退时间段,包括:
39、从多个设备中为所述标识生成请求分配执行设备;
40、通过所述执行设备,检测当前的第一时间戳是否处于回退时间段。
41、在一种可能的实现方式中,所述根据所述第三时间戳以及所述可用序列号集合中的序列号,生成目标标识数据,包括:
42、获取所述执行设备对应的设备编号;
43、对所述第三时间戳、所述可用序列号集合中的序列号和所述设备编号进行组合,得到目标标识数据。
44、另一方面,本技术实施例还提供了一种标识数据的生成装置,该装置包括:
45、检测单元,用于响应于标识生成请求,检测当前的第一时间戳是否处于回退时间段;
46、判断单元,用于若所述第一时间戳处于回退时间段,从第二时间戳之前的时间段中确定至少一个第三时间戳;其中,所述第二时间戳为发生回退时的时间戳;
47、查询单元,用于查询第一标识数据中未使用的序列号,得到所述第三时间戳对应的可用序列号集合;其中,所述第一标识数据为根据所述第三时间戳生成的标识数据;
48、处理单元,根据所述第三时间戳以及所述可用序列号集合中的序列号,生成目标标识数据。
49、在一种可能的实现方式中,上述检测单元包括的第一检测子单元,用于获取所述第二时间戳和第四时间戳;所述第四时间戳为完成回退时的时间戳;检测所述第一时间戳是否处于所述第二时间戳和所述第四时间戳之间;当所述第一时间戳处于所述第二时间戳和所述第四时间戳之间,确定所述第一时间戳处于回退时间段;或者,当所述第一时间戳不处于所述第二时间戳和所述第四时间戳之间,确定所述第一时间戳不处于回退时间段。
50、在一种可能的实现方式中,上述检测单元包括的第二检测子单元,用于获取第五时间戳;所述第五时间戳为上次生成标识数据时所使用的时间戳;比较所述第一时间戳和所述第五时间戳的大小,当所述第一时间戳小于所述第五时间戳时,确定所述第一时间戳处于回退时间段。
51、在一种可能的实现方式中,上述判断单元包括第一判断子单元,用于从所述第二时间戳之前的时间段中,以所述第二时间戳为段尾,确定时间跨度为预设时长的第一时间段;将所述第一时间段中的各个时间戳确定为第三时间戳。
52、在一种可能的实现方式中,上述判断单元包括第二判断子单元,用于计算所述第二时间戳和所述第一时间戳之间的第一时长;根据所述第一时长,确定第二时长;所述第二时长和所述第一时长正相关;从所述第二时间戳之前的时间段中,以所述第二时间戳为段尾,确定时间跨度为第二时长的第二时间段;将所述第二时间段中的各个时间戳确定为第三时间戳。
53、在一种可能的实现方式中,上述处理单元包括第一处理子单元,用于计算所述第二时间戳和所述第一时间戳之间的第一时长;当所述第一时长大于第一阈值且小于第二阈值,根据所述第三时间戳以及所述可用序列号集合中的序列号,生成目标标识数据;其中,所述第二阈值大于所述第一阈值。
54、在一种可能的实现方式中,上述处理单元包括第二处理子单元,用于当所述第一时长小于所述第一阈值或者大于所述第二阈值,查询第二标识数据中未使用的回退编号,得到可用回退编号集合;其中,所述第二标识数据为根据所述第一时间戳生成的标识数据;根据所述第一时间戳以及所述可用回退编号集合中的回退编号,生成目标标识数据。
55、在一种可能的实现方式中,上述处理单元包括第三处理子单元,用于当所述可用序列号集合或者所述可用回退编号集合为空集时,从当前时刻起等待第一时长后获取第六时间戳;根据所述第六时间戳和原始序列号集合中的序列号,生成目标标识数据;其中,所述原始序列号集合中包括所有可供生成标识数据的序列号。
56、在一种可能的实现方式中,本技术提供的标识数据的生成装置还包括:第一单元,用于若所述第一时间戳不处于回退时间段,获取第五时间戳;所述第五时间戳为上次生成标识数据时所使用的时间戳;比较所述第一时间戳和所述第五时间戳是否一致;当所述第一时间戳和所述第五时间戳一致,对上次生成的标识数据中的序列号进行自增运算,得到目标标识数据;或者,当所述第一时间戳和所述第五时间戳不一致,根据所述第一时间戳和原始序列号集合中的序列号,生成目标标识数据;其中,所述原始序列号集合中包括所有可供生成标识数据的序列号。
57、在一种可能的实现方式中,上述检测单元包括第三检测子单元,用于从多个设备中为所述标识生成请求分配执行设备;通过所述执行设备,检测当前的第一时间戳是否处于回退时间段。
58、在一种可能的实现方式中,上述处理单元包括第四处理子单元,用于获取所述执行设备对应的设备编号;对所述第三时间戳、所述可用序列号集合中的序列号和所述设备编号进行组合,得到目标标识数据。
59、另一方面,本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,该处理器执行所述计算机程序时实现上述的标识数据的生成方法。
60、另一方面,本技术实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,该程序被处理器执行时实现上述的标识数据的生成方法。
61、另一方面,本技术实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的标识数据的生成方法。
62、本技术实施例至少包括以下有益效果:本技术提供一种标识数据的生成方法、装置、电子设备及存储介质,响应于标识生成请求,首先检测当前的第一时间戳是否处于回退时间段内,当确定第一时间戳处于回退时间段内,从发生回退时的第二时间戳之前的一段时间段内确定出至少一个第三时间戳。第三时间戳是已经使用过、用于生成第一标识数据的时间戳,而每个时间戳均对应有较多的序列号,用于扩展可生成的标识数据的个数。本技术中,可以查询第一标识数据中未使用过的序列号,从而在发生回退的时间段中,使用之前冗余的部分序列号结合它们对应的第三时间戳来生成标识数据,可满足正常的使用需求;同时,又规避了可能生成重复标识数据的问题,提高了标识数据的可用性和使用体验。
63、本技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。