CN102929967A - 随机数生成、存储和搜索的***及方法 - Google Patents

随机数生成、存储和搜索的***及方法 Download PDF

Info

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
Application number
CN2012103862608A
Other languages
English (en)
Other versions
CN102929967B (zh
Inventor
黄新山
余华堂
万建宏
计许凡
陈俊
舒加利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN HUAYANG XINTONG TECHNOLOGY DEVELOPMENT CO LTD
Original Assignee
SHENZHEN HUAYANG XINTONG TECHNOLOGY DEVELOPMENT CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENZHEN HUAYANG XINTONG TECHNOLOGY DEVELOPMENT CO LTD filed Critical SHENZHEN HUAYANG XINTONG TECHNOLOGY DEVELOPMENT CO LTD
Priority to CN201210386260.8A priority Critical patent/CN102929967B/zh
Publication of CN102929967A publication Critical patent/CN102929967A/zh
Application granted granted Critical
Publication of CN102929967B publication Critical patent/CN102929967B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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.判断已用分表中是否存在,如果没有,表示该随机数不存在;如果存在,返回该随机数信息。
CN201210386260.8A 2012-10-12 2012-10-12 海量随机数生成、存储和搜索的***及方法 Expired - Fee Related CN102929967B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 华为技术有限公司 直流补偿方法、直流补偿器和基带信号处理器

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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