随机数生成、存储和搜索的系统及方法技术方案

技术编号:8323530 阅读:163 留言:0更新日期:2013-02-14 01:19
本发明专利技术公开一种随机数生成、存储和搜索的系统及方法。所述的系统包括:号码区间库S1,用于生成和存放随机数的号码区间段;备用随机数库S2,从号码区间库中随机取得并生成随机数;已用索引库S3,与备用随机数库联系,根据号码区间建立已用随机数的索引,并将一个区间索引的已用随机数存放到对应独立的“已用分表”中;已用随机数库S4,与备用随机数库联系,用于存放所有已被使用的随机数,并将已用随机数按照已用索引库的随机数索引进行独立分表存放。本发明专利技术优化了海量随机数应用上的算法,同时也简化了实现的方法,极大地降低了成本,提高了性能,可以满足不同级别的数据处理要求。

【技术实现步骤摘要】

本专利技术涉及数据处理,尤其涉及一种用于信息安全、通信、数字接口以及计算机等领域中的海量。
技术介绍
目前,很多数据处理领域都需要用到随机数,这些应用具体涉及到随机数的生成、 存储和搜索等多个方面,如信息加密、QQ号、网上交易凭证码、网络游戏等。随机数分为真随机数和伪随机数,真随机数即模拟物理模型(如掷硬币)产生的随机数,需要用物理随机发生器把具有随机性质的物理过程变换为随机数。但缺点是不能产生与原来完全相同的随机数,对计算结果不能进行重复检查,当需要产生海量的随机数时, 物理模型会变得相当复杂,并且对于硬件要求也非常高。伪随机数都是通过一定的算法生成的,最常见的随机数算法是线性同余法中的加同余和乘同余法。但是,随着数据量的增长,复杂的算法生成的大量伪随机数会对CPU产生一定的负担,同样对于硬件的要求也非常闻。 以上两种方法,当随机数达到一定数量级后,对于随机数的生成效率、存储及索引等方面将会产生应用的瓶颈,将很难简单地解决和突破。
技术实现思路
本专利技术的目的是解决上述现有技术中存在的问题,提出一种。本专利技术提出的随机数生成、存储和搜索的系统包括号码区间库Si,用于生成和存放随机数的号码区间段;备用随机数库S2,从号码区间库中随机取得并生成随机数;已用索引库S3,与备用随机数库联系,根据号码区间建立已用随机数的索引,并将一个区间索引的已用随机数存放到对应独立的“已用分表”中;已用随机数库S4,与备用随机数库联系,用于存放所有已被使用的随机数,并将已用随机数按照已用索引库的随机数索引进行独立分表存放。所述的系统还包括与已用索引库S3和已用随机数库S4联系的回收随机数库S5, 用于回收不用的随机数,并将这些随机数返回至备用随机数库,留待再次利用。本专利技术还提出一种随机数生成、存储和搜索的方法,包括如下步骤步骤A.生成号码区间;步骤B.生成备用随机数;步骤C.申请随机数;步骤D.搜索随机数。所述的步骤A包括Al.设置号码区间的生成规则,包括每个区间长度,区间段的最大数量,区间段的最小4数量;A2.按顺序生成一个号码区间段的开始号码;A3.根据开始号码和区间长度生成该区间的结束号码;A4.将生成的一个区间的开始号码和结束号码存储到号码区间库SI中;A5.判断号码区间库生成的区间数量是否足够,如果不够,则重复步骤A2至步骤A4继续生成号码区间;A6.如果达到设定值,则结束生成号码区间。所述的步骤B包括BI.从号码区间库中随机取一个区间,包括该区间的开始号码和结束号码;B2.从所述区间的开始号码到结束号码的顺序生成所有号码;B3.对所述区间的所有号码进行随机排序,得到一个区间的无序号码;B4.删除号码区间库中取得的所述区间;B5.将所述区间的所有随机数存到备用随机数库中;B6.判断备用随机数库中的随机数会否足够,如果不足重复步骤BI至步骤B5,直到备用数据库中随机数达到设定值;B7.如果足够,则结束生成备用随机数,并自动补充号码区间库中的区间。所述的步骤C包括Cl.应用方申请一定数量的随机数;C2.从备用随机数库中随机地取一定数量的随机数;C3.取一个随机数,搜索已用索引库,判断该随机数是否在已用索引库中;C4.如果该随机数已经存在已用索引库中,则转步骤C7,如果该随机数不存在已用索引库中,则转步骤5;C5.生成随机数对应的新索引,并存储到已用索引库中;C6.将取出的随机数存放到索引对应的已用分表中;C7.将取出的随机数存放到索引对应的“已用分表”中;CS.将应用申请与随机数绑定并存储,以备搜索使用;C9.判断是否完成随机数的申请数量,如果没有完成,则重复步骤C3至步骤CS,ClO :如果完成,则结束随机数处理,同时,补充“备用随机数库”的随机数量。所述的步骤D包括Dl.提交需要搜索的随机数;D2.搜索已用索引库;D3.判断该随机数是否存在于索引中;D4.如果不在,表示该随机数不存在;D5.如果存在,在已用随机数库中搜索索引区间对应的已用分表;D6.判断已用分表中是否存在,如果没有,表示该随机数不存在;如果存在,返回该随机数信息。本专利技术采用分层、分段、分库的思想、通过构造不同的系统结构模块以及采用不同的流程步骤来实现海量随机数的生成、存储和搜索。本专利技术优化了海量随机数应用上的算法,同时也简化了实现的方法,极大地降低了成本,提高了性能,可以满足不同级别应用的要求。附图说明图I为本专利技术的结构框图;图2为本专利技术的号码区间生成的流程图;图3为本专利技术的备用随机数生成的流程图;图4为本专利技术的随机数应用申请的流程图;图5为本专利技术的随机数搜索的流程图。具体实施方式如图I所示,本专利技术提出的随机数生成、存储和搜索的系统包括号码区间库SI、 备用随机数库S2、已用索引库S3、已用随机数库S4、回收随机数库S5。其中号码区间库SI用于生成和存放随机数的号码区间段,使用后的区间段将无效或删除, 号码区间库的每个区间段包括开始数和结束数,每个区间段至少包括100万个随机数,号码区间库中可用的区间段至少10万个;备用随机数库S2用于从号码区间库SI中随机取得并生成随机数,用于准备直接使用的随机数,并且保证该库中至少100万的随机数,并且可以根据需要控制随机数量;已用索引库S3根据号码区间建立已用随机数的索弓丨,已用索引库根据号码区间生成随机数对应的索引区间,索引区间包含开始号码和结束号码,每个索引区间至多容纳100 万个号码,同时每一个索引对应已用随机数库中的一个独立已用分表,一个索引区间对应的所有随机数都放在该已用分表中。已用随机数库S4用于存放所有已被使用的随机数,将随机数按照已用索引库的随机数索弓I进行独立分表存放。回收随机数库S5用于回收不用的随机数,并将这些随机数返回至备用随机数库, 留待再次利用。本专利技术提出的随机数生成、存储和搜索的方法包括如下步骤步骤A.生成号码区间;步骤B.生成备用随机数;步骤C.申请随机数;步骤D.搜索随机数。下面结合手机话费充值号(即随机数),来详细说明本专利技术随机数的生成、存储和搜索方法。图2为随机号码区间生成流程图。首先执行步骤A生成手机充值号的号码区间 Al.首先设置手机充值号号码区间的生成规则,包括每个区间长度,区间段的最大数量,区间段的最小数量等;A2.按递增顺序生成一个号码区间段的开始号码;A3.根据开始号码和区间长度生成该区间的结束号码;A4.将生成的号码区间存储到号码区间库中;A5.判断号码区间库生成的区间数量是否达到设置的最大容量,如果没有达到,则重复步骤B2至步骤B4继续生成号码区间; A6.如果达到,则结束生成号码区间操作。图3为备用随机数生成流程图。生成号码区间后,根据步骤B生成手机充值密码的备用随机数 BI.从号码区间库中随机抽取一个号码区间,该号码区间包括该区间的开始号码和结束号码; B2.根据该号码区间的开始号码到结束号码的顺序生成所有充值密码(随机数); B3.对区间的所有号码进行随机排序,得到一个号码区间的无序的充值密码; B4.由于所取出的号码区间已用,从号码区间库中删除已取得的号码区间,以保证充值密码的不重复性; B5.将得到的该号码区间的所有的无序的充值密码存到备用随机数库中; B6.判断备用随机数库中的充值密码数量是否达到设定值,如未达到,重复步骤本文档来自技高网...

【技术保护点】
一种随机数生成、存储和搜索的系统,其特征在于所述的系统包括:号码区间库S1,用于生成和存放随机数的号码区间段;备用随机数库S2,从号码区间库中随机取得并生成随机数;已用索引库S3,与备用随机数库联系,根据号码区间建立已用随机数的索引,并将一个区间索引的已用随机数存放到对应独立的“已用分表”中;已用随机数库S4,与备用随机数库联系,用于存放所有已被使用的随机数,并将已用随机数按照已用索引库的随机数索引进行独立分表存放。

【技术特征摘要】
1.一种随机数生成、存储和搜索的系统,其特征在于所述的系统包括 号码区间库Si,用于生成和存放随机数的号码区间段; 备用随机数库S2,从号码区间库中随机取得并生成随机数; 已用索引库S3,与备用随机数库联系,根据号码区间建立已用随机数的索引,并将一个区间索引的已用随机数存放到对应独立的“已用分表”中; 已用随机数库S4,与备用随机数库联系,用于存放所有已被使用的随机数,并将已用随机数按照已用索引库的随机数索引进行独立分表存放。2.如权利要求I所述的系统,其特征在于所述的系统还包括与已用索引库S3和已用随机数库S4联系的回收随机数库S5,用于回收不用的随机数,并将这些随机数返回至备用随机数库,留待再次利用。3.如权利要求I所述的随机数系统,其特征在于,所述的号码区间库的每个区间段包括开始数和结束数,每个区间段至少包括100万个随机数,号码区间库中可用的区间段至少10万个。4.如权利要求I所述的随机数系统,其特征在于所述的已用索引库根据号码区间生成随机数对应的索引区间,索引区间包含开始号码和结束号码,每个索引区间至多容纳100万个号码。5.一种随机数生成、存储和搜索的方法,其特征在于,所述的方法包括如下步骤 步骤A.生成号码区间; 步骤B.生成备用随机数; 步骤C.申请随机数; 步骤D.搜索随机数。6.如权利要求5所述的方法,其特征在于,所述的步骤A包括 Al.设置号码区间的生成规则,包括每个区间长度,区间段的最大数量,区间段的最小数量; A2.按顺序生成一个号码区间段的开始号码; A3.根据开始号码和区间长度生成该区间的结束号码; A4.将生成的一个区间的开始号码和结束号码存储到号码区间库SI中; A5.判断号码区间库生成的区间数量是否足够,如果不够,则重复步骤A2至步骤A4继续生成号码区间; A6.如果达到设定值,则结束生成号码区间。7.如权...

【专利技术属性】
技术研发人员:黄新山余华堂万建宏计许凡陈俊舒加利
申请(专利权)人:深圳市华阳信通科技发展有限公司
类型:发明
国别省市:

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

1