欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

隨機數(shù)生成、存儲和搜索的系統(tǒng)及方法

文檔序號:6378689閱讀:388來源:國知局
專利名稱:隨機數(shù)生成、存儲和搜索的系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理,尤其涉及一種用于信息安全、通信、數(shù)字接口以及計算機等領(lǐng)域中的海量隨機數(shù)生成、存儲和搜索的系統(tǒng)及方法。
背景技術(shù)
目前,很多數(shù)據(jù)處理領(lǐng)域都需要用到隨機數(shù),這些應用具體涉及到隨機數(shù)的生成、 存儲和搜索等多個方面,如信息加密、QQ號、網(wǎng)上交易憑證碼、網(wǎng)絡游戲等。
隨機數(shù)分為真隨機數(shù)和偽隨機數(shù),真隨機數(shù)即模擬物理模型(如擲硬幣)產(chǎn)生的隨機數(shù),需要用物理隨機發(fā)生器把具有隨機性質(zhì)的物理過程變換為隨機數(shù)。但缺點是不能產(chǎn)生與原來完全相同的隨機數(shù),對計算結(jié)果不能進行重復檢查,當需要產(chǎn)生海量的隨機數(shù)時, 物理模型會變得相當復雜,并且對于硬件要求也非常高。偽隨機數(shù)都是通過一定的算法生成的,最常見的隨機數(shù)算法是線性同余法中的加同余和乘同余法。但是,隨著數(shù)據(jù)量的增長,復雜的算法生成的大量偽隨機數(shù)會對CPU產(chǎn)生一定的負擔,同樣對于硬件的要求也非常聞。
以上兩種方法,當隨機數(shù)達到一定數(shù)量級后,對于隨機數(shù)的生成效率、存儲及索引等方面將會產(chǎn)生應用的瓶頸,將很難簡單地解決和突破。發(fā)明內(nèi)容
本發(fā)明的目的是解決上述現(xiàn)有技術(shù)中存在的問題,提出一種隨機數(shù)生成、存儲和搜索的系統(tǒng)及方法。
本發(fā)明提出的隨機數(shù)生成、存儲和搜索的系統(tǒng)包括號碼區(qū)間庫Si,用于生成和存放隨機數(shù)的號碼區(qū)間段;備用隨機數(shù)庫S2,從號碼區(qū)間庫中隨機取得并生成隨機數(shù);已用索引庫S3,與備用隨機數(shù)庫聯(lián)系,根據(jù)號碼區(qū)間建立已用隨機數(shù)的索引,并將一個區(qū)間索引的已用隨機數(shù)存放到對應獨立的“已用分表”中;已用隨機數(shù)庫S4,與備用隨機數(shù)庫聯(lián)系,用于存放所有已被使用的隨機數(shù),并將已用隨機數(shù)按照已用索引庫的隨機數(shù)索引進行獨立分表存放。
所述的系統(tǒng)還包括與已用索引庫S3和已用隨機數(shù)庫S4聯(lián)系的回收隨機數(shù)庫S5, 用于回收不用的隨機數(shù),并將這些隨機數(shù)返回至備用隨機數(shù)庫,留待再次利用。
本發(fā)明還提出一種隨機數(shù)生成、存儲和搜索的方法,包括如下步驟步驟A.生成號碼區(qū)間;步驟B.生成備用隨機數(shù);步驟C.申請隨機數(shù);步驟D.搜索隨機數(shù)。
所述的步驟A包括Al.設(shè)置號碼區(qū)間的生成規(guī)則,包括每個區(qū)間長度,區(qū)間段的最大數(shù)量,區(qū)間段的最小4數(shù)量;A2.按順序生成一個號碼區(qū)間段的開始號碼;A3.根據(jù)開始號碼和區(qū)間長度生成該區(qū)間的結(jié)束號碼;A4.將生成的一個區(qū)間的開始號碼和結(jié)束號碼存儲到號碼區(qū)間庫SI中;A5.判斷號碼區(qū)間庫生成的區(qū)間數(shù)量是否足夠,如果不夠,則重復步驟A2至步驟A4繼續(xù)生成號碼區(qū)間;A6.如果達到設(shè)定值,則結(jié)束生成號碼區(qū)間。
所述的步驟B包括BI.從號碼區(qū)間庫中隨機取一個區(qū)間,包括該區(qū)間的開始號碼和結(jié)束號碼;B2.從所述區(qū)間的開始號碼到結(jié)束號碼的順序生成所有號碼;B3.對所述區(qū)間的所有號碼進行隨機排序,得到一個區(qū)間的無序號碼;B4.刪除號碼區(qū)間庫中取得的所述區(qū)間;B5.將所述區(qū)間的所有隨機數(shù)存到備用隨機數(shù)庫中;B6.判斷備用隨機數(shù)庫中的隨機數(shù)會否足夠,如果不足重復步驟BI至步驟B5,直到備用數(shù)據(jù)庫中隨機數(shù)達到設(shè)定值;B7.如果足夠,則結(jié)束生成備用隨機數(shù),并自動補充號碼區(qū)間庫中的區(qū)間。
所述的步驟C包括Cl.應用方申請一定數(shù)量的隨機數(shù);C2.從備用隨機數(shù)庫中隨機地取一定數(shù)量的隨機數(shù);C3.取一個隨機數(shù),搜索已用索引庫,判斷該隨機數(shù)是否在已用索引庫中;C4.如果該隨機數(shù)已經(jīng)存在已用索引庫中,則轉(zhuǎn)步驟C7,如果該隨機數(shù)不存在已用索引庫中,則轉(zhuǎn)步驟5;C5.生成隨機數(shù)對應的新索引,并存儲到已用索引庫中;C6.將取出的隨機數(shù)存放到索引對應的已用分表中;C7.將取出的隨機數(shù)存放到索引對應的“已用分表”中;CS.將應用申請與隨機數(shù)綁定并存儲,以備搜索使用;C9.判斷是否完成隨機數(shù)的申請數(shù)量,如果沒有完成,則重復步驟C3至步驟CS,ClO :如果完成,則結(jié)束隨機數(shù)處理,同時,補充“備用隨機數(shù)庫”的隨機數(shù)量。
所述的步驟D包括Dl.提交需要搜索的隨機數(shù);D2.搜索已用索引庫;D3.判斷該隨機數(shù)是否存在于索引中;D4.如果不在,表示該隨機數(shù)不存在;D5.如果存在,在已用隨機數(shù)庫中搜索索引區(qū)間對應的已用分表;D6.判斷已用分表中是否存在,如果沒有,表示該隨機數(shù)不存在;如果存在,返回該隨機數(shù)信息。
本發(fā)明采用分層、分段、分庫的思想、通過構(gòu)造不同的系統(tǒng)結(jié)構(gòu)模塊以及采用不同的流程步驟來實現(xiàn)海量隨機數(shù)的生成、存儲和搜索。本發(fā)明優(yōu)化了海量隨機數(shù)應用上的算法,同時也簡化了實現(xiàn)的方法,極大地降低了成本,提高了性能,可以滿足不同級別應用的要求。


圖I為本發(fā)明的結(jié)構(gòu)框圖;圖2為本發(fā)明的號碼區(qū)間生成的流程圖;圖3為本發(fā)明的備用隨機數(shù)生成的流程圖;圖4為本發(fā)明的隨機數(shù)應用申請的流程圖;圖5為本發(fā)明的隨機數(shù)搜索的流程圖。
具體實施方式
如圖I所示,本發(fā)明提出的隨機數(shù)生成、存儲和搜索的系統(tǒng)包括號碼區(qū)間庫SI、 備用隨機數(shù)庫S2、已用索引庫S3、已用隨機數(shù)庫S4、回收隨機數(shù)庫S5。其中號碼區(qū)間庫SI用于生成和存放隨機數(shù)的號碼區(qū)間段,使用后的區(qū)間段將無效或刪除, 號碼區(qū)間庫的每個區(qū)間段包括開始數(shù)和結(jié)束數(shù),每個區(qū)間段至少包括100萬個隨機數(shù),號碼區(qū)間庫中可用的區(qū)間段至少10萬個;備用隨機數(shù)庫S2用于從號碼區(qū)間庫SI中隨機取得并生成隨機數(shù),用于準備直接使用的隨機數(shù),并且保證該庫中至少100萬的隨機數(shù),并且可以根據(jù)需要控制隨機數(shù)量;已用索引庫S3根據(jù)號碼區(qū)間建立已用隨機數(shù)的索弓丨,已用索引庫根據(jù)號碼區(qū)間生成隨機數(shù)對應的索引區(qū)間,索引區(qū)間包含開始號碼和結(jié)束號碼,每個索引區(qū)間至多容納100 萬個號碼,同時每一個索引對應已用隨機數(shù)庫中的一個獨立已用分表,一個索引區(qū)間對應的所有隨機數(shù)都放在該已用分表中。
已用隨機數(shù)庫S4用于存放所有已被使用的隨機數(shù),將隨機數(shù)按照已用索引庫的隨機數(shù)索弓I進行獨立分表存放。
回收隨機數(shù)庫S5用于回收不用的隨機數(shù),并將這些隨機數(shù)返回至備用隨機數(shù)庫, 留待再次利用。
本發(fā)明提出的隨機數(shù)生成、存儲和搜索的方法包括如下步驟步驟A.生成號碼區(qū)間;步驟B.生成備用隨機數(shù);步驟C.申請隨機數(shù);步驟D.搜索隨機數(shù)。
下面結(jié)合手機話費充值號(即隨機數(shù)),來詳細說明本發(fā)明隨機數(shù)的生成、存儲和搜索方法。
圖2為隨機號碼區(qū)間生成流程圖。首先執(zhí)行步驟A生成手機充值號的號碼區(qū)間 Al.首先設(shè)置手機充值號號碼區(qū)間的生成規(guī)則,包括每個區(qū)間長度,區(qū)間段的最大數(shù)量,區(qū)間段的最小數(shù)量等;A2.按遞增順序生成一個號碼區(qū)間段的開始號碼;A3.根據(jù)開始號碼和區(qū)間長度生成該區(qū)間的結(jié)束號碼;A4.將生成的號碼區(qū)間存儲到號碼區(qū)間庫中;A5.判斷號碼區(qū)間庫生成的區(qū)間數(shù)量是否達到設(shè)置的最大容量,如果沒有達到,則重復步驟B2至步驟B4繼續(xù)生成號碼區(qū)間;
A6.如果達到,則結(jié)束生成號碼區(qū)間操作。圖3為備用隨機數(shù)生成流程圖。生成號碼區(qū)間后,根據(jù)步驟B生成手機充值密碼的備用隨機數(shù)
BI.從號碼區(qū)間庫中隨機抽取一個號碼區(qū)間,該號碼區(qū)間包括該區(qū)間的開始號碼和結(jié)束號碼;
B2.根據(jù)該號碼區(qū)間的開始號碼到結(jié)束號碼的順序生成所有充值密碼(隨機數(shù)); B3.對區(qū)間的所有號碼進行隨機排序,得到一個號碼區(qū)間的無序的充值密碼;
B4.由于所取出的號碼區(qū)間已用,從號碼區(qū)間庫中刪除已取得的號碼區(qū)間,以保證充值密碼的不重復性;
B5.將得到的該號碼區(qū)間的所有的無序的充值密碼存到備用隨機數(shù)庫中;
B6.判斷備用隨機數(shù)庫中的充值密碼數(shù)量是否達到設(shè)定值,如未達到,重復步驟BI至步驟B5,直到備用數(shù)據(jù)庫中充值密碼數(shù)量達到設(shè)置的最大值,以保證有足夠的隨機數(shù)備用;
B7.如達到,則結(jié)束生成備用的充值密碼(隨機數(shù)),并自動補充“號碼區(qū)間庫”中的區(qū)間。圖4為隨機數(shù)應用申請流程圖。生成了無序的充值密碼后,開始執(zhí)行步驟C對這些充值密碼進行應用申請
Cl.應用方申請一定數(shù)量的手機充值密碼(隨機數(shù));
C2.從剛才準備好的備用隨機數(shù)庫中隨機地取相應數(shù)量的手機充值密碼;
C3.取其中一個手機充值密碼,搜索已用索引庫,檢查該手機充值密碼是否有對應的索
弓I ;
C4.如果該手機充值密碼的索引已經(jīng)存在已用索引庫中,則轉(zhuǎn)步驟C7,如不存在,則轉(zhuǎn)步驟C5 ;
C5.生成手機充值密碼(隨機數(shù))對應的新索引,索引規(guī)則為按隨機數(shù)區(qū)間建立索引,一個索引區(qū)間包含開始號碼和結(jié)束號碼,每個區(qū)間可容納100萬個號碼,每個索引對應一個隨機數(shù)分表“已用分表”,該分表中存儲索引區(qū)間的所有隨機數(shù);
C6.創(chuàng)建新索引對應的“已用分表”;
C7.將取出的手機充值密碼(隨機數(shù))存放到索引對應的“已用分表”中;
CS.將手機充值號與手機充值密碼綁定起來,以備搜索使用;
C9.判斷是否完成手機充值密碼(隨機數(shù))的申請,如果沒有,則重復步驟C3至步驟C7,如果完成,則轉(zhuǎn)步驟10 ;
C10,結(jié)束手機充值密碼(隨機數(shù))處理,并將申請的隨機數(shù)返回給應用方,同時,補充“備用隨機數(shù)庫”的隨機數(shù)量。圖5為隨機數(shù)搜索的流程圖。當用戶購買了手機充值卡,進行充值時,執(zhí)行步驟D搜索隨機數(shù)
Dl.用戶根據(jù)提示輸入手機充值卡密碼,即提交需要搜索的隨機數(shù);
D2.根據(jù)手機充值卡密碼(隨機數(shù))搜索已用索引庫;檢查手機充值卡密碼是否在索引區(qū)間的開始號碼和結(jié)束號碼之間;D3.如果搜索不到手機充值卡密碼的對應的索引區(qū)間,表示該手機充值卡密碼不存在,并返回充值失敗;如果搜索到對應的索引區(qū)間,則轉(zhuǎn)步驟5 ;
D5.搜索索引對應的“已用分表”;
D6.判斷是否存在,沒有搜索到手機充值卡密碼(隨機數(shù)),表示該手機充值卡密碼不存
在;
D8.如果手機充值卡密碼(隨機數(shù))存在,則并返回相關(guān)信息,提示充值成功,將充值的話費增加到用戶的手機余額賬號上。本發(fā)明所使用的方法號碼隨機性高,不容易被破解,安全強度大,同時,對于隨機數(shù)的產(chǎn)生、管理、認證的效率也有很大的提高。本發(fā)明也適用于其他海量隨機數(shù)的應用情況。
以上具體實施例僅用以舉例說明本發(fā)明的結(jié)構(gòu),本領(lǐng)域的普通技術(shù)人員在本發(fā)明的構(gòu)思下可以做出多種變形和變化,這些變形和變化均包括在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種隨機數(shù)生成、存儲和搜索的系統(tǒng),其特征在于所述的系統(tǒng)包括 號碼區(qū)間庫Si,用于生成和存放隨機數(shù)的號碼區(qū)間段; 備用隨機數(shù)庫S2,從號碼區(qū)間庫中隨機取得并生成隨機數(shù); 已用索引庫S3,與備用隨機數(shù)庫聯(lián)系,根據(jù)號碼區(qū)間建立已用隨機數(shù)的索引,并將一個區(qū)間索引的已用隨機數(shù)存放到對應獨立的“已用分表”中; 已用隨機數(shù)庫S4,與備用隨機數(shù)庫聯(lián)系,用于存放所有已被使用的隨機數(shù),并將已用隨機數(shù)按照已用索引庫的隨機數(shù)索引進行獨立分表存放。
2.如權(quán)利要求I所述的系統(tǒng),其特征在于所述的系統(tǒng)還包括與已用索引庫S3和已用隨機數(shù)庫S4聯(lián)系的回收隨機數(shù)庫S5,用于回收不用的隨機數(shù),并將這些隨機數(shù)返回至備用隨機數(shù)庫,留待再次利用。
3.如權(quán)利要求I所述的隨機數(shù)系統(tǒng),其特征在于,所述的號碼區(qū)間庫的每個區(qū)間段包括開始數(shù)和結(jié)束數(shù),每個區(qū)間段至少包括100萬個隨機數(shù),號碼區(qū)間庫中可用的區(qū)間段至少10萬個。
4.如權(quán)利要求I所述的隨機數(shù)系統(tǒng),其特征在于所述的已用索引庫根據(jù)號碼區(qū)間生成隨機數(shù)對應的索引區(qū)間,索引區(qū)間包含開始號碼和結(jié)束號碼,每個索引區(qū)間至多容納100萬個號碼。
5.一種隨機數(shù)生成、存儲和搜索的方法,其特征在于,所述的方法包括如下步驟 步驟A.生成號碼區(qū)間; 步驟B.生成備用隨機數(shù); 步驟C.申請隨機數(shù); 步驟D.搜索隨機數(shù)。
6.如權(quán)利要求5所述的方法,其特征在于,所述的步驟A包括 Al.設(shè)置號碼區(qū)間的生成規(guī)則,包括每個區(qū)間長度,區(qū)間段的最大數(shù)量,區(qū)間段的最小數(shù)量; A2.按順序生成一個號碼區(qū)間段的開始號碼; A3.根據(jù)開始號碼和區(qū)間長度生成該區(qū)間的結(jié)束號碼; A4.將生成的一個區(qū)間的開始號碼和結(jié)束號碼存儲到號碼區(qū)間庫SI中; A5.判斷號碼區(qū)間庫生成的區(qū)間數(shù)量是否足夠,如果不夠,則重復步驟A2至步驟A4繼續(xù)生成號碼區(qū)間; A6.如果達到設(shè)定值,則結(jié)束生成號碼區(qū)間。
7.如權(quán)利要求5所述的方法,其特征在于,所述的步驟B包括 BI.從號碼區(qū)間庫中隨機取一個區(qū)間,包括該區(qū)間的開始號碼和結(jié)束號碼; B2.從所述區(qū)間的開始號碼到結(jié)束號碼的順序生成所有號碼; B3.對所述區(qū)間的所有號碼進行隨機排序,得到一個區(qū)間的無序號碼; B4.刪除號碼區(qū)間庫中取得的所述區(qū)間; B5.將所述區(qū)間的所有隨機數(shù)存到備用隨機數(shù)庫中; B6.判斷備用隨機數(shù)庫中的隨機數(shù)會否足夠,如果不足重復步驟BI至步驟B5,直到備用數(shù)據(jù)庫中隨機數(shù)達到設(shè)定值; B7.如果足夠,則結(jié)束生成備用隨機數(shù),并自動補充號碼區(qū)間庫中的區(qū)間。
8.如權(quán)利要求5所述的方法,其特征在于,所述的步驟C包括 Cl.應用方申請一定數(shù)量的隨機數(shù); C2.從備用隨機數(shù)庫中隨機地取一定數(shù)量的隨機數(shù); C3.取一個隨機數(shù),搜索已用索引庫,判斷該隨機數(shù)是否在已用索引庫中; C4.如果該隨機數(shù)已經(jīng)存在已用索引庫中,則轉(zhuǎn)步驟C7,如果該隨機數(shù)不存在已用索引庫中,則轉(zhuǎn)步驟5; C5.生成隨機數(shù)對應的新索引,并存儲到已用索引庫中; C6.將取出的隨機數(shù)存放到索引對應的已用分表中; Cl.將取出的隨機數(shù)存放到索引對應的“已用分表”中; CS.將應用申請與隨機數(shù)綁定并存儲,以備搜索使用; C9.判斷是否完成隨機數(shù)的申請數(shù)量,如果沒有完成,則重復步驟C3至步驟CS, ClO :如果完成,則結(jié)束隨機數(shù)處理,同時,補充“備用隨機數(shù)庫”的隨機數(shù)量。
9.如權(quán)利要求5所述的隨機數(shù)生成、存儲和搜索方法,其特征在于,所述的步驟D包括 Dl.提交需要搜索的隨機數(shù); D2.搜索已用索引庫; D3.判斷該隨機數(shù)是否存在于索引中; D4.如果不在,表示該隨機數(shù)不存在; D5.如果存在,在已用隨機數(shù)庫中搜索索引區(qū)間對應的已用分表; D6.判斷已用分表中是否存在,如果沒有,表示該隨機數(shù)不存在;如果存在,返回該隨機數(shù)信息。
全文摘要
本發(fā)明公開一種隨機數(shù)生成、存儲和搜索的系統(tǒng)及方法。所述的系統(tǒng)包括號碼區(qū)間庫S1,用于生成和存放隨機數(shù)的號碼區(qū)間段;備用隨機數(shù)庫S2,從號碼區(qū)間庫中隨機取得并生成隨機數(shù);已用索引庫S3,與備用隨機數(shù)庫聯(lián)系,根據(jù)號碼區(qū)間建立已用隨機數(shù)的索引,并將一個區(qū)間索引的已用隨機數(shù)存放到對應獨立的“已用分表”中;已用隨機數(shù)庫S4,與備用隨機數(shù)庫聯(lián)系,用于存放所有已被使用的隨機數(shù),并將已用隨機數(shù)按照已用索引庫的隨機數(shù)索引進行獨立分表存放。本發(fā)明優(yōu)化了海量隨機數(shù)應用上的算法,同時也簡化了實現(xiàn)的方法,極大地降低了成本,提高了性能,可以滿足不同級別的數(shù)據(jù)處理要求。
文檔編號G06F17/30GK102929967SQ201210386260
公開日2013年2月13日 申請日期2012年10月12日 優(yōu)先權(quán)日2012年10月12日
發(fā)明者黃新山, 余華堂, 萬建宏, 計許凡, 陳俊, 舒加利 申請人:深圳市華陽信通科技發(fā)展有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
通化市| 双流县| 白水县| 黄冈市| 田林县| 溆浦县| 靖宇县| 冷水江市| 田林县| 湖口县| 休宁县| 龙泉市| 新民市| 桃江县| 温宿县| 高邮市| 丹棱县| 张北县| 沧源| 尉犁县| 德兴市| 奇台县| 高淳县| 民丰县| 贺州市| 酉阳| 南宁市| 黄冈市| 衡东县| 陆川县| 耿马| 巴中市| 阜平县| 随州市| 固镇县| 淮滨县| 古浪县| 中超| 浠水县| 宁都县| 大田县|