【技术实现步骤摘要】
本申请涉及计算机
,尤其涉及一种序列号的处理方法及设备。
技术介绍
序列表是用于创建唯一连续整数值的数据库对象,其典型的用途是创建全局唯一的序列号,以标识数据表中的一条数据记录。在数据表中的数据记录条数较少时,可直接在存放该数据表的数据库中创建一张序列表,在新增数据记录时,服务器从该序列表中获取序列号,并利用该序列号标识新增的数据记录。若数据库中需要记录的数据记录数量达到或超过一定规模后(如1000万),随着数据记录条数的继续增加,如果所有的数据记录都记录在同一数据表中,则对该数据表中的数据记录进行读、写操作的性能将会明显下降。因此,可将数据记录记载在多个数据表中,并将多个数据表存放于一个或多个数据库中,且为每个数据记录分配一个序列号。具体地,当有一个新增的数据记录需要写入数据库时,从序列表中获取一个序列号分配给当前新增的数据记录,完成数据记录的写入操作。具体地,从序列表中获取分配给数据记录的序列号的方式包括以下两种:第一种方式:在存储数据表的多个数据库中选择一个数据库,用于建立并存储序列表,所述序列表中有一个设定字段。当服务器需要获取序列号向数据库中写入数据记录时,从所述序列表中获取一个可用的序列号。在第一种序列号的获取方式下,存在单点风险,即当负责建立并存储序列表的数据库出现故障时,序列号的获取操作将无从进行,导致数据记录的写入操作也将无法进行。第二种方式:分别在每个数据库中建立一张序列表,并为该序列表分配一段序列号区间,在系统运行时,当服务器需要向某一数据库中写入数据记录时,则从该数据库中的序列表中获取序列号,也就是说,一个数据库中序列表内的 ...
【技术保护点】
一种序列号的处理方法,其特征在于,包括:服务器在需要向数据库中写入数据记录时,按照设定的数据库查询顺序,从多个数据库中选择一个数据库,并读取选择的数据库中的序列表;服务器从读取的序列表中获取N个可用序列号,所述N为正整数;服务器根据获取的可用序列号将所述数据记录写入数据库中。
【技术特征摘要】
1.一种序列号的处理方法,其特征在于,包括: 服务器在需要向数据库中写入数据记录时,按照设定的数据库查询顺序,从多个数据库中选择一个数据库,并读取选择的数据库中的序列表; 服务器从读取的序列表中获取N个可用序列号,所述N为正整数; 服务器根据获取的可用序列号将所述数据记录写入数据库中。2.如权利要求1所述的序列号的处理方法,其特征在于,按照设定的数据库查询顺序,从多个数据库中选择一个数据库,具体包括: 若服务器首次向数据库中写入数据记录,则从所述多个数据库中随机选择一个数据库; 若服务器不是首次向数据库中写入数据记录,则确定上一次选择的数据库,并根据所述数据库查询顺序,确定当前选择的数据库。3.如权利要求1所述的序列号的处理方法,其特征在于,在服务器需向数据库中写入数据记录之前,所述方法还包括: 为所述多个数据库中的每个数据库按照标号从小到大的顺序依次设置标号; 针对任一数据库中的序列表,通过以下方式生成序列表中的序列号: 将数据库的标号作为该数据库中序列表的初始序列号,并判断所述多个数据库的数量D是否为2的指数倍,所述D为大于I的正整数; 若是,针对任一数据库中的序列表,将该序列表中的初始序列号依次以D为增长步长得到的序列号作为该序列表中的序列号; 若否,确定小于D且距离D最近的2的指数倍数值X ; 针对标号不小于D-X且小于X的数据库中的序列表,将该序列表中的初始序列号依次以X为增长步长得到的序列号作为该序列表中的序列号; 针对剩余数据库中的序列表,将该序列表中的初始序列号依次以2X为增长步长得到的序列号作为该序列表中的序列号。4.如权利要求3所述的序列号的处理方法,其特征在于,所述方法还包括: 当任一数据库需要拆分为K个子数据库时,所述数据库中的序列表也拆分为K个子序列表,所述K为大于I的正整数; 其中:所述K个子序列表中的任一子序列表的初始序列号为:拆分前序列表中可用的最小K个序列号中的一个序列号,且任意两个子序列表的初始序列号不相同,任一子序列表中序列号间的增长步长为拆分前序列表中序列号间步长的K倍。5.如权利要求3所述的序列号的处理方法,其特征在于,服务器通过以下方式获取N个可用序列号: 服务器读取选择的数据库中序列表的下一可用序列号Current_next_value ; 服务器根据以下公式更新读取的Current_next_value:Current_next_value_new = Current_next_value+increase_step X N其中,Current_next_value_new为更新后的下一可用序列号,increase_step为增长步长,N为序列表中从Current_next_value起连续获取的序列号的个数; 服务器判断Current_next_value_new是否能够回写至序列表中; 若是,则将所述Current_next_value_new回写至序列表,并将从...
【专利技术属性】
技术研发人员:谢智永,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。