1.一種基于約瑟夫環(huán)的大數(shù)據隨機存取方法,其特征在于,包括以下步驟:
步驟一,在UsbKey密鑰的支持下,利用梅森素數(shù)旋轉隨機算法生成隨機數(shù)和數(shù)據切片,并把隨機數(shù)和數(shù)據切片加密存儲到數(shù)據庫;
步驟二,在UsbKey密鑰的支持下,根據上次關閉參數(shù)或者默認啟動參數(shù),加載數(shù)據庫中存儲的隨機數(shù)和數(shù)據切片以組合生成隨機序列,將生成的隨機序列分發(fā)給n個隨機隊列,從數(shù)據切片中利用約瑟夫環(huán)算法把需要裝載的隨機序列解密并裝載到隨機隊列中,以增加裝載隨機度;
步驟三,根據加載的數(shù)據切片信息監(jiān)控是否需要加載新的數(shù)據切片信息,當隨機隊列中的數(shù)據不足時,觸發(fā)繼續(xù)加載數(shù)據并分發(fā)給隨機隊列;
步驟四,根據獲取數(shù)據請求中的約瑟夫環(huán)參數(shù)索引,在Usbkey中獲取相應的約瑟夫參數(shù),從隨機隊列獲取數(shù)據。
2.根據權利要求1所述的基于約瑟夫環(huán)的大數(shù)據隨機存取方法,其特征在于,在步驟二中,隨機序列的生成流程包括以下步驟:啟動數(shù)據生成客戶端,檢查usbkey是否正常,輸入生成數(shù)據的批次、數(shù)量等參數(shù);生成記錄隨機序列;把生成的記錄序列切片,分成n份,放入n個文件,并使用從usbkey獲得的密鑰把這n個文件加密完成;數(shù)據切片存入具體文件,與數(shù)據切片相關的信息存入數(shù)據庫中。
3.根據權利要求2所述的基于約瑟夫環(huán)的大數(shù)據隨機存取方法,其特征在于,在步驟二中,隨機序列裝載的流程包括以下步驟:檢查必須的usbkey是否正常,如不正常直接失敗退出;獲取上次系統(tǒng)退出時的參數(shù),如果是第一次啟動,使用默認的配置參數(shù);使用usbkey中獲取的密鑰解密切片文件;根據切片文件和數(shù)據庫中的信息生成ID序列;從ID序列中順序獲取數(shù)據,隨機分發(fā)給任意一個隨機隊列。
4.根據權利要求1所述的基于約瑟夫環(huán)的大數(shù)據隨機存取方法,其特征在于,在步驟三中,隨機隊列的監(jiān)控流程包括如下步驟:判斷M個隨機隊列中是否存在數(shù)據不足最大數(shù)據的20%的隊列;如果存在隨機隊列數(shù)據不足最大數(shù)據的20%,則判斷隨機序列中加載的切片數(shù)據是否不足最大加載切片數(shù)據的20%;如果隨機序列中的數(shù)據不足最大加載切片數(shù)據的20%,取下一組切片數(shù)據文件,取解密密鑰以組合成新的隨機序列,并且續(xù)接到當前隨機序列中;從隨機序列中順序抽取數(shù)據隨機插入到數(shù)據不足的隨機隊列中,直到所有隨機隊列充滿為止;判斷獲取數(shù)據的銷售日志是否超過最大值,如果超過最大值,把銷售日志記錄入庫;判斷獲取數(shù)據的未寫入日志時間是否超過規(guī)定值,如果超過規(guī)定值把日志記錄入庫;判斷完成,休眠一段時間,繼續(xù)返回進行循環(huán)判斷。
5.根據權利要求1所述的基于約瑟夫環(huán)的大數(shù)據隨機存取方法,其特征在于,在步驟四中,獲取數(shù)據的流程包括如下步驟:驗證請求參數(shù)和usbkey是否正常,如果不正常,直接返回出錯;根據請求參數(shù)的隨機數(shù)參數(shù),從usbkey中獲取到使用的約瑟夫環(huán)參數(shù);根據約瑟夫環(huán)參數(shù),確定應該從m個隨機隊列中的哪個隊列取數(shù)據;根據約瑟夫環(huán)參數(shù),在取數(shù)據的隨機隊列中取得要請求的信息;記錄信息日志;判斷隨機隊列數(shù)據是否充足,如果充足,直接返回請求數(shù)據,如果有隨機隊列數(shù)據不充足,調用加載隊列子流程加載數(shù)據。
6.一種實施權利要求1-5中任一項所述的基于約瑟夫環(huán)的大數(shù)據隨機存取方法的系統(tǒng),其特征在于,包括以下功能模塊:
隨機數(shù)產生單元,可在UsbKey密鑰的支持下,利用梅森素數(shù)旋轉隨機算法生成隨機數(shù)和數(shù)據切片,并把隨機數(shù)和數(shù)據切片加密存儲到數(shù)據庫中;
隨機序列裝載分發(fā)單元,可在UsbKey密鑰的支持下,根據上次關閉參數(shù)或者默認啟動參數(shù),加載數(shù)據庫中存儲的隨機數(shù)和數(shù)據切片以組合生成隨機序列,然后將生成的隨機序列分發(fā)給n個隨機隊列,從數(shù)據切片中利用約瑟夫環(huán)算法把需要裝載的隨機序列解密并裝載到隨機隊列中,以增加裝載隨機度;
監(jiān)控單元,根據加載的數(shù)據切片信息決定是否加載新的數(shù)據切片信息,當隨機隊列中的數(shù)據不足時,觸發(fā)繼續(xù)加載數(shù)據并分發(fā)給隨機隊列,以監(jiān)控隨機隊列中的數(shù)據;
數(shù)據獲取單元,根據獲取數(shù)據請求中的約瑟夫環(huán)參數(shù)索引,在Usbkey中獲取相應的約瑟夫參數(shù),從隨機隊列獲取數(shù)據。
7.根據權利要求6所述的實施基于約瑟夫環(huán)的大數(shù)據隨機存取方法的系統(tǒng),其特征在于,隨機序列裝載分發(fā)單元包括隨機序列裝載器,隊列分發(fā)器以及隨機隊列,其中隨機序列裝載器可在Usbkey的密鑰支持下,綜合隨機數(shù)、數(shù)據切片以及系統(tǒng)上次關閉參數(shù),從數(shù)據切片中把需要裝載的隨機序列解密并裝載到數(shù)據庫中;隊列分發(fā)器負責把隨機序列裝載器裝載的隨機序列分發(fā)到相應的n個隨機隊列中,盡可能的達到最大隨機性;隨機隊列存儲隨機序列的數(shù)據,以提高取數(shù)據速率。