CN102929967A - 随机数生成、存储和搜索的***及方法 - Google Patents
随机数生成、存储和搜索的***及方法 Download PDFInfo
- Publication number
- CN102929967A CN102929967A CN2012103862608A CN201210386260A CN102929967A CN 102929967 A CN102929967 A CN 102929967A CN 2012103862608 A CN2012103862608 A CN 2012103862608A CN 201210386260 A CN201210386260 A CN 201210386260A CN 102929967 A CN102929967 A CN 102929967A
- Authority
- CN
- China
- Prior art keywords
- random number
- interval
- storehouse
- index
- random
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000000151 deposition Methods 0.000 claims description 4
- 238000011084 recovery Methods 0.000 claims description 2
- 230000000153 supplemental effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 2
- 239000013589 supplement Substances 0.000 description 6
- 230000001502 supplementing effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种随机数生成、存储和搜索的***及方法。所述的***包括:号码区间库S1,用于生成和存放随机数的号码区间段;备用随机数库S2,从号码区间库中随机取得并生成随机数;已用索引库S3,与备用随机数库联系,根据号码区间建立已用随机数的索引,并将一个区间索引的已用随机数存放到对应独立的“已用分表”中;已用随机数库S4,与备用随机数库联系,用于存放所有已被使用的随机数,并将已用随机数按照已用索引库的随机数索引进行独立分表存放。本发明优化了海量随机数应用上的算法,同时也简化了实现的方法,极大地降低了成本,提高了性能,可以满足不同级别的数据处理要求。
Description
技术领域
本发明涉及数据处理,尤其涉及一种用于信息安全、通信、数字接口以及计算机等领域中的海量随机数生成、存储和搜索的***及方法。
背景技术
目前,很多数据处理领域都需要用到随机数,这些应用具体涉及到随机数的生成、存储和搜索等多个方面,如信息加密、QQ号、网上交易凭证码、网络游戏等。
随机数分为真随机数和伪随机数,真随机数即模拟物理模型(如掷硬币)产生的随机数,需要用物理随机发生器把具有随机性质的物理过程变换为随机数。但缺点是不能产生与原来完全相同的随机数,对计算结果不能进行重复检查,当需要产生海量的随机数时,物理模型会变得相当复杂,并且对于硬件要求也非常高。伪随机数都是通过一定的算法生成的,最常见的随机数算法是线性同余法中的加同余和乘同余法。但是,随着数据量的增长,复杂的算法生成的大量伪随机数会对CPU产生一定的负担,同样对于硬件的要求也非常高。
以上两种方法,当随机数达到一定数量级后,对于随机数的生成效率、存储及索引等方面将会产生应用的瓶颈,将很难简单地解决和突破。
发明内容
本发明的目的是解决上述现有技术中存在的问题,提出一种随机数生成、存储和搜索的***及方法。
本发明提出的随机数生成、存储和搜索的***包括:
号码区间库S1,用于生成和存放随机数的号码区间段;
备用随机数库S2,从号码区间库中随机取得并生成随机数;
已用索引库S3,与备用随机数库联系,根据号码区间建立已用随机数的索引,并将一个区间索引的已用随机数存放到对应独立的“已用分表”中;
已用随机数库S4,与备用随机数库联系,用于存放所有已被使用的随机数,并将已用随机数按照已用索引库的随机数索引进行独立分表存放。
所述的***还包括与已用索引库S3和已用随机数库S4联系的回收随机数库S5,用于回收不用的随机数,并将这些随机数返回至备用随机数库,留待再次利用。
本发明还提出一种随机数生成、存储和搜索的方法,包括如下步骤:
步骤A.生成号码区间;
步骤B.生成备用随机数;
步骤C.申请随机数;
步骤D.搜索随机数。
所述的步骤A包括:
A1.设置号码区间的生成规则,包括每个区间长度,区间段的最大数量,区间段的最小数量;
A2.按顺序生成一个号码区间段的开始号码;
A3.根据开始号码和区间长度生成该区间的结束号码;
A4.将生成的一个区间的开始号码和结束号码存储到号码区间库S1中;
A5.判断号码区间库生成的区间数量是否足够,如果不够,则重复步骤A2至步骤A4继续生成号码区间;
A6. 如果达到设定值,则结束生成号码区间。
所述的步骤B包括:
B1.从号码区间库中随机取一个区间,包括该区间的开始号码和结束号码;
B2.从所述区间的开始号码到结束号码的顺序生成所有号码;
B3.对所述区间的所有号码进行随机排序,得到一个区间的无序号码;
B4.删除号码区间库中取得的所述区间;
B5.将所述区间的所有随机数存到备用随机数库中;
B6.判断备用随机数库中的随机数会否足够,如果不足重复步骤B1至步骤B5,直到备用数据库中随机数达到设定值;
B7.如果足够,则结束生成备用随机数,并自动补充号码区间库中的区间。
所述的步骤C包括:
C1.应用方申请一定数量的随机数;
C2.从备用随机数库中随机地取一定数量的随机数;
C3.取一个随机数,搜索已用索引库,判断该随机数是否在已用索引库中;
C4.如果该随机数已经存在已用索引库中,则转步骤C7,如果该随机数不存在已用索引库中,则转步骤5;
C5.生成随机数对应的新索引,并存储到已用索引库中;
C6.将取出的随机数存放到索引对应的已用分表中;
C7.将取出的随机数存放到索引对应的“已用分表”中;
C8.将应用申请与随机数绑定并存储,以备搜索使用;
C9.判断是否完成随机数的申请数量,如果没有完成,则重复步骤C3至步骤C8,
C10:如果完成,则结束随机数处理,同时,补充“备用随机数库”的随机数量。
所述的步骤D包括:
D1.提交需要搜索的随机数;
D2.搜索已用索引库;
D3.判断该随机数是否存在于索引中;
D4.如果不在,表示该随机数不存在;
D5.如果存在,在已用随机数库中搜索索引区间对应的已用分表;
D6.判断已用分表中是否存在,如果没有,表示该随机数不存在;如果存在,返回该随机数信息。
本发明采用分层、分段、分库的思想、通过构造不同的***结构模块以及采用不同的流程步骤来实现海量随机数的生成、存储和搜索。本发明优化了海量随机数应用上的算法,同时也简化了实现的方法,极大地降低了成本,提高了性能,可以满足不同级别应用的要求。
附图说明
图1为本发明的结构框图;
图2为本发明的号码区间生成的流程图;
图3为本发明的备用随机数生成的流程图;
图4为本发明的随机数应用申请的流程图;
图5为本发明的随机数搜索的流程图。
具体实施方式
如图1所示,本发明提出的随机数生成、存储和搜索的***包括:号码区间库S1、备用随机数库S2、已用索引库S3、已用随机数库S4、回收随机数库S5。其中:
号码区间库S1用于生成和存放随机数的号码区间段,使用后的区间段将无效或删除,号码区间库的每个区间段包括开始数和结束数,每个区间段至少包括100万个随机数,号码区间库中可用的区间段至少10万个;
备用随机数库S2用于从号码区间库S1中随机取得并生成随机数,用于准备直接使用的随机数,并且保证该库中至少100万的随机数,并且可以根据需要控制随机数量;
已用索引库S3根据号码区间建立已用随机数的索引,已用索引库根据号码区间生成随机数对应的索引区间,索引区间包含开始号码和结束号码,每个索引区间至多容纳100万个号码,同时每一个索引对应已用随机数库中的一个独立已用分表,一个索引区间对应的所有随机数都放在该已用分表中。
已用随机数库S4用于存放所有已被使用的随机数,将随机数按照已用索引库的随机数索引进行独立分表存放。
回收随机数库S5用于回收不用的随机数,并将这些随机数返回至备用随机数库,留待再次利用。
本发明提出的随机数生成、存储和搜索的方法包括如下步骤:
步骤A.生成号码区间;
步骤B.生成备用随机数;
步骤C.申请随机数;
步骤D.搜索随机数。
下面结合手机话费充值号(即随机数),来详细说明本发明随机数的生成、存储和搜索方法。
图2为随机号码区间生成流程图。首先执行步骤A生成手机充值号的号码区间:
A1.首先设置手机充值号号码区间的生成规则,包括每个区间长度,区间段的最大数量,区间段的最小数量等;
A2.按递增顺序生成一个号码区间段的开始号码;
A3.根据开始号码和区间长度生成该区间的结束号码;
A4.将生成的号码区间存储到号码区间库中;
A5.判断号码区间库生成的区间数量是否达到设置的最大容量,如果没有达到,则重复步骤B2至步骤B4继续生成号码区间;
A6.如果达到,则结束生成号码区间操作。
图3为备用随机数生成流程图。生成号码区间后,根据步骤B生成手机充值密码的备用随机数:
B1.从号码区间库中随机抽取一个号码区间,该号码区间包括该区间的开始号码和结束号码;
B2.根据该号码区间的开始号码到结束号码的顺序生成所有充值密码(随机数);
B3.对区间的所有号码进行随机排序,得到一个号码区间的无序的充值密码;
B4.由于所取出的号码区间已用,从号码区间库中删除已取得的号码区间,以保证充值密码的不重复性;
B5.将得到的该号码区间的所有的无序的充值密码存到备用随机数库中;
B6.判断备用随机数库中的充值密码数量是否达到设定值,如未达到,重复步骤B1至步骤B5,直到备用数据库中充值密码数量达到设置的最大值,以保证有足够的随机数备用;
B7.如达到,则结束生成备用的充值密码(随机数),并自动补充“号码区间库”中的区间。
图4为随机数应用申请流程图。生成了无序的充值密码后,开始执行步骤C对这些充值密码进行应用申请:
C1.应用方申请一定数量的手机充值密码(随机数);
C2.从刚才准备好的备用随机数库中随机地取相应数量的手机充值密码;
C3.取其中一个手机充值密码,搜索已用索引库,检查该手机充值密码是否有对应的索引;
C4.如果该手机充值密码的索引已经存在已用索引库中,则转步骤C7,如不存在,则转步骤C5;
C5.生成手机充值密码(随机数)对应的新索引,索引规则为按随机数区间建立索引,一个索引区间包含开始号码和结束号码,每个区间可容纳100万个号码,每个索引对应一个随机数分表“已用分表”,该分表中存储索引区间的所有随机数;
C6.创建新索引对应的“已用分表”;
C7.将取出的手机充值密码(随机数)存放到索引对应的“已用分表”中;
C8.将手机充值号与手机充值密码绑定起来,以备搜索使用;
C9.判断是否完成手机充值密码(随机数)的申请,如果没有,则重复步骤C3至步骤C7,如果完成,则转步骤10;
C10,结束手机充值密码(随机数)处理,并将申请的随机数返回给应用方,同时,补充“备用随机数库”的随机数量。
图5为随机数搜索的流程图。当用户购买了手机充值卡,进行充值时,执行步骤D搜索随机数:
D1.用户根据提示输入手机充值卡密码,即提交需要搜索的随机数;
D2.根据手机充值卡密码(随机数)搜索已用索引库;检查手机充值卡密码是否在索引区间的开始号码和结束号码之间;
D3.如果搜索不到手机充值卡密码的对应的索引区间,表示该手机充值卡密码不存在,并返回充值失败;如果搜索到对应的索引区间,则转步骤5;
D5.搜索索引对应的“已用分表”;
D6.判断是否存在,没有搜索到手机充值卡密码(随机数),表示该手机充值卡密码不存在;
D8.如果手机充值卡密码(随机数)存在,则并返回相关信息,提示充值成功,将充值的话费增加到用户的手机余额账号上。
本发明所使用的方法号码随机性高,不容易被破解,安全强度大,同时,对于随机数的产生、管理、认证的效率也有很大的提高。本发明也适用于其他海量随机数的应用情况。
以上具体实施例仅用以举例说明本发明的结构,本领域的普通技术人员在本发明的构思下可以做出多种变形和变化,这些变形和变化均包括在本发明的保护范围之内。
Claims (9)
1.一种随机数生成、存储和搜索的***,其特征在于所述的***包括:
号码区间库S1,用于生成和存放随机数的号码区间段;
备用随机数库S2,从号码区间库中随机取得并生成随机数;
已用索引库S3,与备用随机数库联系,根据号码区间建立已用随机数的索引,并将一个区间索引的已用随机数存放到对应独立的“已用分表”中;
已用随机数库S4,与备用随机数库联系,用于存放所有已被使用的随机数,并将已用随机数按照已用索引库的随机数索引进行独立分表存放。
2.如权利要求1所述的***,其特征在于:所述的***还包括与已用索引库S3和已用随机数库S4联系的回收随机数库S5,用于回收不用的随机数,并将这些随机数返回至备用随机数库,留待再次利用。
3.如权利要求1所述的随机数***,其特征在于,所述的号码区间库的每个区间段包括开始数和结束数,每个区间段至少包括100万个随机数,号码区间库中可用的区间段至少10万个。
4.如权利要求1所述的随机数***,其特征在于:所述的已用索引库根据号码区间生成随机数对应的索引区间,索引区间包含开始号码和结束号码,每个索引区间至多容纳100万个号码。
5.一种随机数生成、存储和搜索的方法,其特征在于,所述的方法包括如下步骤:
步骤A.生成号码区间;
步骤B.生成备用随机数;
步骤C.申请随机数;
步骤D.搜索随机数。
6.如权利要求5所述的方法,其特征在于,所述的步骤A包括:
A1.设置号码区间的生成规则,包括每个区间长度,区间段的最大数量,区间段的最小数量;
A2.按顺序生成一个号码区间段的开始号码;
A3.根据开始号码和区间长度生成该区间的结束号码;
A4.将生成的一个区间的开始号码和结束号码存储到号码区间库S1中;
A5.判断号码区间库生成的区间数量是否足够,如果不够,则重复步骤A2至步骤A4继续生成号码区间;
A6. 如果达到设定值,则结束生成号码区间。
7.如权利要求5所述的方法,其特征在于,所述的步骤B包括:
B1.从号码区间库中随机取一个区间,包括该区间的开始号码和结束号码;
B2.从所述区间的开始号码到结束号码的顺序生成所有号码;
B3.对所述区间的所有号码进行随机排序,得到一个区间的无序号码;
B4.删除号码区间库中取得的所述区间;
B5.将所述区间的所有随机数存到备用随机数库中;
B6.判断备用随机数库中的随机数会否足够,如果不足重复步骤B1至步骤B5,直到备用数据库中随机数达到设定值;
B7.如果足够,则结束生成备用随机数,并自动补充号码区间库中的区间。
8.如权利要求5所述的方法,其特征在于,所述的步骤C包括:
C1.应用方申请一定数量的随机数;
C2.从备用随机数库中随机地取一定数量的随机数;
C3.取一个随机数,搜索已用索引库,判断该随机数是否在已用索引库中;
C4.如果该随机数已经存在已用索引库中,则转步骤C7,如果该随机数不存在已用索引库中,则转步骤5;
C5.生成随机数对应的新索引,并存储到已用索引库中;
C6.将取出的随机数存放到索引对应的已用分表中;
C7.将取出的随机数存放到索引对应的“已用分表”中;
C8.将应用申请与随机数绑定并存储,以备搜索使用;
C9.判断是否完成随机数的申请数量,如果没有完成,则重复步骤C3至步骤C8,
C10:如果完成,则结束随机数处理,同时,补充“备用随机数库”的随机数量。
9.如权利要求5所述的随机数生成、存储和搜索方法,其特征在于,所述的步骤D包括:
D1.提交需要搜索的随机数;
D2.搜索已用索引库;
D3.判断该随机数是否存在于索引中;
D4.如果不在,表示该随机数不存在;
D5.如果存在,在已用随机数库中搜索索引区间对应的已用分表;
D6.判断已用分表中是否存在,如果没有,表示该随机数不存在;如果存在,返回该随机数信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210386260.8A CN102929967B (zh) | 2012-10-12 | 2012-10-12 | 海量随机数生成、存储和搜索的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210386260.8A CN102929967B (zh) | 2012-10-12 | 2012-10-12 | 海量随机数生成、存储和搜索的***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102929967A true CN102929967A (zh) | 2013-02-13 |
CN102929967B CN102929967B (zh) | 2015-10-14 |
Family
ID=47644765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210386260.8A Expired - Fee Related CN102929967B (zh) | 2012-10-12 | 2012-10-12 | 海量随机数生成、存储和搜索的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102929967B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463626A (zh) * | 2014-12-03 | 2015-03-25 | 携程计算机技术(上海)有限公司 | 券号生成方法、服务器和服务器集群 |
CN108399266A (zh) * | 2018-03-23 | 2018-08-14 | 广州爱九游信息技术有限公司 | 数据抽取方法、装置、电子设备及计算机可读存储介质 |
CN117390610A (zh) * | 2023-12-13 | 2024-01-12 | 中国人民解放军国防科技大学 | 一种身份标识生成方法、***及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050207574A1 (en) * | 2004-03-19 | 2005-09-22 | Pitz Jeanne K | System and method for generating pseudorandom numbers |
CN1874357A (zh) * | 2005-09-30 | 2006-12-06 | 华为技术有限公司 | 一种产生标识符的方法 |
CN101344893A (zh) * | 2008-07-17 | 2009-01-14 | 中兴通讯股份有限公司 | 一种历史数据的存取方法和装置 |
CN102318300A (zh) * | 2011-07-22 | 2012-01-11 | 华为技术有限公司 | 直流补偿方法、直流补偿器和基带信号处理器 |
-
2012
- 2012-10-12 CN CN201210386260.8A patent/CN102929967B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050207574A1 (en) * | 2004-03-19 | 2005-09-22 | Pitz Jeanne K | System and method for generating pseudorandom numbers |
CN1874357A (zh) * | 2005-09-30 | 2006-12-06 | 华为技术有限公司 | 一种产生标识符的方法 |
CN101344893A (zh) * | 2008-07-17 | 2009-01-14 | 中兴通讯股份有限公司 | 一种历史数据的存取方法和装置 |
CN102318300A (zh) * | 2011-07-22 | 2012-01-11 | 华为技术有限公司 | 直流补偿方法、直流补偿器和基带信号处理器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463626A (zh) * | 2014-12-03 | 2015-03-25 | 携程计算机技术(上海)有限公司 | 券号生成方法、服务器和服务器集群 |
CN104463626B (zh) * | 2014-12-03 | 2018-11-13 | 携程计算机技术(上海)有限公司 | 券号生成方法、服务器和服务器集群 |
CN108399266A (zh) * | 2018-03-23 | 2018-08-14 | 广州爱九游信息技术有限公司 | 数据抽取方法、装置、电子设备及计算机可读存储介质 |
CN108399266B (zh) * | 2018-03-23 | 2022-01-07 | 阿里巴巴(中国)有限公司 | 数据抽取方法、装置、电子设备及计算机可读存储介质 |
CN117390610A (zh) * | 2023-12-13 | 2024-01-12 | 中国人民解放军国防科技大学 | 一种身份标识生成方法、***及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102929967B (zh) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101350869B (zh) | 基于索引和散列的电信计费去重方法及设备 | |
CN103729764B (zh) | 基于生物特征的数据传递方法与*** | |
CN107292701A (zh) | 订单分组方法和装置 | |
CN105893964A (zh) | 基于姿势的签名认证 | |
CN102779304A (zh) | 电子钱包中赠予金额的处理方法及服务器 | |
CN101984469A (zh) | 一种ic卡加油***自助发卡与充值方法 | |
CN107491965A (zh) | 一种生物特征库的建立方法和装置 | |
CN109711801A (zh) | 一种网银对账方法及装置 | |
CN102929967B (zh) | 海量随机数生成、存储和搜索的***及方法 | |
CN101329793A (zh) | 电子货币信息的处理方法和*** | |
CN109544803A (zh) | 基于声纹识别的充电方法及*** | |
CN105931379A (zh) | 一种智能电表扣费方法及*** | |
CN109272400A (zh) | 资源处理方法及装置 | |
CN109086289A (zh) | 一种媒体数据处理方法、客户端、介质和设备 | |
CN108230139A (zh) | 一种利用自助设备进行存单开户的方法及*** | |
CN102609840A (zh) | 一种多应用移动支付*** | |
CN202067348U (zh) | 电子***管理*** | |
CN204087331U (zh) | 自动存取款机 | |
CN113240401A (zh) | 基于区块链及5g消息的银行业务操作撤回方法及装置 | |
CN109697224A (zh) | 一种账单消息处理方法、装置和存储介质 | |
CN107392745A (zh) | 一种对帐数据碎片化处理方法 | |
CN110046898B (zh) | 账户信息的分组方法、装置及支付方法、装置 | |
CN203573402U (zh) | 智能金融终端 | |
CN208141444U (zh) | 虚拟货币的储存及交易装置 | |
CN205942884U (zh) | 一种指纹识别自动售货*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151014 |
|
CF01 | Termination of patent right due to non-payment of annual fee |