【技术实现步骤摘要】
券号生成方法、服务器和服务器集群
本专利技术涉及一种券号生成方法、服务器和服务器集群。
技术介绍
目前各大互联网电商平台都会推出电子优惠券或代金券,用户通过在电商平台上输入电子优惠券或代金券从而获得相应的优惠。这些电子优惠券或代金券的券号通常是由一个数字序列组成,现有的券号生成方法主要有以下几种: 1、顺序券号法:按顺序或一定的规律生成券号,如第一张券的券号为54584,第二张券的券号为54585,第三张券的券号为54586,这种方法生成的券号存在明显的规律,用户很容易通过一张券的券号推测出其它券的券号,这样会给电商平台带来很大的损失; 2、随机索引排重法:通过随机的排列组合生成券号,并在数据库建立庞大的已发券号索引用于记录已经发行过的券号,在下一次发行券时,先在数据库中进行查重,只将没有发行过的券号发行出去,这种方法由于券号是完全随机的,所以用户不容易猜出,电商平台相对比较安全,但是随着已发行过的券号数量越来越多,索引查重也变得越来越低效,从而影响券号生成的效率; 3、局部随机法:在按照顺序或一定的规律生成券号后,在将生成的券号中的一部分数字随机排列,如对11位券号的后四位进行随机,生成的券号如:12345670212,12345672901,12345678921等。这种方法由于随机的范围较小,且范围内的券可使用的概率很大,所以也存在较大的安全风险。如果扩大随机位数,比如扩大到8位,那么将占用服务器大量内存,且效率也十分低下。 由此看来,现有的券号生成方法普遍存在安全风险大、生成效率低以及容易给电商平台造成严重损失的问题 ...
【技术保护点】
一种券号生成方法,其特征在于,该券号生成方法用于生成一具有M位数字的券号,M为正整数,该券号的范围在a与b之间,a为大于或等于0的整数,b为大于a且小于10M的整数;该券号生成方法包括初始化一备选券号缓冲区的步骤,该备选券号缓冲区用于存储N个备选券号,N为正整数;初始化该备选券号缓冲区的步骤包括:S11、取p,p为与b‑a+1互质的数;S12、取R,R的取值范围在a与b之间;S13、判断该备选券号缓冲区存储的备选券号是否为N个,若否,执行S14,若是,初始化结束;S14、根据公式R’=[(R‑a+p)mod(b‑a+1)]+a生成R’;S15、将最新生成的R’作为备选券号存入该备选券号缓冲区,并将最新生成的R’赋值给R,然后返回S13;该券号生成方法还包括:在初始化结束之后执行S21:在该备选券号缓冲区中随机选取一个备选券号作为实际券号输出,并将随机选取的该备选券号从该备选券号缓冲区移除。
【技术特征摘要】
1.一种券号生成方法,其特征在于,该券号生成方法用于生成一具有M位数字的券号,M为正整数,该券号的范围在a与b之间,a为大于或等于O的整数,b为大于a且小于1m的整数; 该券号生成方法包括初始化一备选券号缓冲区的步骤,该备选券号缓冲区用于存储N个备选券号,N为正整数; 初始化该备选券号缓冲区的步骤包括: Sn、取P,P为与b-a+Ι互质的数; 512、取R,R的取值范围在a与b之间; 513、判断该备选券号缓冲区存储的备选券号是否为N个,若否,执行S14,若是,初始化结束;514、根据公式R’ = [ (R-a+p)mod(b_a+l) ]+a 生成 R’ ; 515、将最新生成的R’作为备选券号存入该备选券号缓冲区,并将最新生成的R’赋值给R,然后返回S13 ; 该券号生成方法还包括:在初始化结束之后执行S21:在该备选券号缓冲区中随机选取一个备选券号作为实际券号输出,并将随机选取的该备选券号从该备选券号缓冲区移除。2.如权利要求1所述的券号生成方法,其特征在于,该券号生成方法还包括在将随机选取的该备选券号从该备选券号缓冲区移除之后执行以下步骤: S22、根据公式R’ = [(R-a+p)mod(b-a+l)]+a生成R’,将最新生成的R’作为备选券号存入该备选券号缓冲区,并将最新生成的R’赋值给R。3.如权利要求1或2所述的券号生成方法,其特征在于,每次的R均存于一数据库中,该券号生成方法还包括:在初始化结束之后执行S31:在该备选券号缓冲区中随机选取多个备选券号作为待输出券号存入一待输出券号缓冲区,并将随机选取的该备选券号从该备选券号缓冲区移除,该备选券号缓冲区和该待输出券号缓冲区均设于服务器中; 该券号生成方法还包括:将S21替换为以下步骤: 5211、判断该待输出券号缓冲区存储的待输出券号是否少于Q个,Q为正整数,若是,执行 §212, 若否,执行S213 ; 5212、在该备选券号缓冲区中随机选取至少一个备选券号作为待输出券号存入该待输出券号缓冲区,并将随机选取的该些备选券号从该备选券号缓冲区移除,然后返回S211 ; 5213、在该待输出券号缓冲区中随机选取一个待输出券号作为实际券号输出,并将随机选取的该待输出券号从该待输出券号缓冲区移除。4.如权利要求1至3中任意一项所述的券号生成方法,其特征在于,S12为在a与b之间随机取R。5.如权利要求1所述的券号生成方法,其特征在于,a的范围为O至1St为小于M且大于或等于O的整数,b的范围为Kf-1Ot至10M。6.如权利要求1所述的券号生成方法,其特征在于,P还在10M_B至b之间,B为N的数量级的指数。7.一种服务器,其特征在于,该服务器用于生成一具有M位数字的券号,M为正整数,该券号的范围在a与b之间,a为大于或等于O的整数,b为大于a且小于1m的整数; 该服务器包括一用于初始化一备选券号缓冲区的初始化单元,该...
【专利技术属性】
技术研发人员:汤波,赵阳,刘琦,
申请(专利权)人:携程计算机技术上海有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。