本申请涉及计算机,尤其涉及一种字符序列生成方法、装置、电子设备、芯片及存储介质。
背景技术:
1、在现有的技术方案中,字符序列的唯一性一般通过校验来控制。通过算法,例如随机算法或非随机算法,生成字符序列,将生成的字符序列与已经存在的字符序列进行逐一比对,若重复,则将该字符序列丢弃,并再次生成新的序列,直到序列不再重复,然而,当现有的字符序列数量不断增长时,这种方式需要遍历所有字符序列,会导致系统运行效率降低。
技术实现思路
1、本申请实施例提供了一种字符序列生成方法、字符序列生成装置、电子设备、芯片及计算机可读存储介质。
2、本申请实施例的技术方案是这样实现的:
3、第一方面,本申请实施例提供了一种字符序列生成方法,包括:
4、构建字符集;所述字符集中的元素与索引一一对应;
5、获取第一字符序列;所述第一字符序列为系统中当前存在的最大字符序列;
6、基于所述字符集、所述第一字符序列以及预设步长中的至少之一,生成第二字符序列。
7、本申请实施例所提供的字符序列生成方法,所述基于所述字符集、所述第一字符序列以及预设步长中的至少之一,生成第二字符序列,包括:
8、若所述第一字符序列中存在元素不属于所述字符集,则基于所述字符集,初始化生成所述第二字符序列,所述第二字符序列的序列位数与所述第一字符序列的序列位数相同。
9、本申请实施例所提供的字符序列生成方法,所述基于所述字符集、所述第一字符序列以及预设步长中的至少之一,生成第二字符序列,包括:
10、若所述第一字符序列中的元素都属于所述字符集,则在所述第一字符序列的基础上按照所述预设步长进位,生成所述第二字符序列。
11、本申请实施例所提供的字符序列生成方法,所述在所述第一字符序列的基础上按照所述预设步长进位,生成所述第二字符序列,包括:
12、从所述第一字符序列的最低位开始至所述第一字符序列的最高位结束,确定第一序列位;所述第一序列位为进位后符合预设规则的序列位;
13、将所述第一字符序列中所述第一序列位的元素按照预设步长进位,并将所述第一字符序列中低于所述第一序列位的序列位初始化,生成所述第二字符序列;
14、若从所述第一字符序列的最低位至所述第一字符序列的最高位,所有序列位进位后都不符合预设规则,则将所述第一字符序列的序列位数加1,基于所述字符集,初始化生成所述第二字符序列。
15、本申请实施例所提供的字符序列生成方法,所述预设规则包括:字符序列中各个元素不重复。
16、本申请实施例所提供的字符序列生成方法,所述字符集中的元素种类包括以下至少一种:字母、数字和特殊字符。
17、本申请实施例所提供的字符序列生成方法,还包括:
18、对接收到的请求中用户的唯一标识加锁;
19、当达到预设时长和/或生成所述请求中用户对应的第二字符序列时,释放锁。
20、第二方面,本申请实施例提供了一种字符序列生成装置,包括:
21、构建单元:用于构建字符集;所述字符集中的元素与索引一一对应;
22、获取单元:用于获取第一字符序列;所述第一字符序列为系统中当前存在的最大字符序列;
23、生成单元:用于基于所述字符集、所述第一字符序列以及预设步长中的至少之一,生成第二字符序列。
24、本申请实施例中,所述生成单元,具体用于若所述第一字符序列中存在元素不属于所述字符集,则基于所述字符集,初始化生成所述第二字符序列,所述第二字符序列的序列位数与所述第一字符序列的序列位数相同。
25、本申请实施例中,所述生成单元,具体用于若所述第一字符序列中的元素都属于所述字符集,则在所述第一字符序列的基础上按照所述预设步长进位,生成所述第二字符序列。
26、本申请实施例中,所述生成单元,具体用于从所述第一字符序列的最低位开始至所述第一字符序列的最高位结束,确定第一序列位;所述第一序列位为进位后符合预设规则的序列位;将所述第一字符序列中所述第一序列位的元素按照预设步长进位,并将所述第一字符序列中低于所述第一序列位的序列位初始化,生成所述第二字符序列;若从所述第一字符序列的最低位至所述第一字符序列的最高位,所有序列位进位后都不符合预设规则,则将所述第一字符序列的序列位数加1,基于所述字符集,初始化生成所述第二字符序列。
27、本申请实施例中,所述预设规则包括:字符序列中各个元素不重复。
28、本申请实施例中,所述字符集中的元素种类包括以下至少一种:字母、数字和特殊字符。
29、本申请实施例中,所述获取单元,还用于对接收到的请求中用户的唯一标识加锁;当达到预设时长和/或生成所述请求中用户对应的第二字符序列时,释放锁。
30、第三方面,本申请提供一种电子设备,包括:处理器和存储器,该存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行本申请实施例所提供的任意一种字符序列生成方法。
31、第四方面,本申请提供一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行本申请实施例所提供的任意一种字符序列生成方法。
32、第五方面,本申请提供一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行本申请实施例所提供的任意一种字符序列生成方法。
33、本申请实施例所提供的字符序列生成方法,通过构建字符集,定义字符集中各个字符元素的索引,再结合系统中当前存在的最大字符序列以及预设的步长,生成新的字符序列,无需遍历所有数据就可以保证生成的新的字符序列的唯一性,提升系统的运行效率。
1.一种字符序列生成方法,其特征在于,包括:
2.根据权利要求1所述的字符序列生成方法,其特征在于,所述基于所述字符集、所述第一字符序列以及预设步长中的至少之一,生成第二字符序列,包括:
3.根据权利要求1所述的字符序列生成方法,其特征在于,所述基于所述字符集、所述第一字符序列以及预设步长中的至少之一,生成第二字符序列,包括:
4.根据权利要求3所述的字符序列生成方法,其特征在于,所述在所述第一字符序列的基础上按照所述预设步长进位,生成所述第二字符序列,包括:
5.根据权利要求1所述的字符序列生成方法,其特征在于,
6.根据权利要求1所述的字符序列生成方法,其特征在于,
7.根据权利要求1-6中任一项所述的字符序列生成方法,其特征在于,还包括:
8.一种字符序列生成装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:处理器和存储器,该存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行如权利要求1-7中任一项所述的字符序列生成方法。
10.一种芯片,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如权利要求1-7中任一项所述的字符序列生成方法。
11.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1-7中任一项所述的字符序列生成方法。