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

隨機(jī)數(shù)獲取方法、裝置及電子設(shè)備與流程

文檔序號(hào):11653940閱讀:294來源:國知局
隨機(jī)數(shù)獲取方法、裝置及電子設(shè)備與流程

本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,具體而言,涉及一種隨機(jī)數(shù)獲取方法、裝置及電子設(shè)備。



背景技術(shù):

隨機(jī)數(shù)為在一定范圍內(nèi)隨機(jī)產(chǎn)生的數(shù),被大量應(yīng)用于不同領(lǐng)域,如仿真學(xué)、網(wǎng)絡(luò)安全、信息通訊軍事、審計(jì)等。隨機(jī)數(shù)包括偽隨機(jī)數(shù)和真隨機(jī)數(shù),其中,偽隨機(jī)數(shù)通過某種數(shù)學(xué)公式或者算法產(chǎn)生的數(shù)值序列,而真隨機(jī)數(shù)是通過某些隨機(jī)物理過程產(chǎn)生。

在現(xiàn)有技術(shù)中,通常從隨機(jī)數(shù)芯片中獲取真隨機(jī)數(shù),其過程為,需要獲取隨機(jī)數(shù)的應(yīng)用發(fā)起隨機(jī)數(shù)請(qǐng)求,驅(qū)動(dòng)在收到隨機(jī)數(shù)請(qǐng)求后直接將該請(qǐng)求封裝為對(duì)應(yīng)的私有協(xié)議,通過以太發(fā)送到硬件。硬件通過解析驅(qū)動(dòng)的隨機(jī)數(shù)請(qǐng)求,向隨機(jī)數(shù)芯片發(fā)起交易,獲取對(duì)應(yīng)長(zhǎng)度的隨機(jī)數(shù)。硬件將獲取到的隨機(jī)數(shù)封裝私有協(xié)議,通過以太發(fā)送給驅(qū)動(dòng),驅(qū)動(dòng)解析對(duì)應(yīng)的私有協(xié)議,響應(yīng)軟件隨機(jī)數(shù)請(qǐng)求。

也就是說,現(xiàn)有技術(shù)中,需要獲取隨機(jī)數(shù)的應(yīng)用每一次的隨機(jī)數(shù)請(qǐng)求都從隨機(jī)數(shù)芯片獲取,實(shí)際應(yīng)用中,隨機(jī)數(shù)的物理產(chǎn)生過程速度較慢,響應(yīng)一次隨機(jī)請(qǐng)求的時(shí)延比較大,一次隨機(jī)數(shù)請(qǐng)求需要等待很長(zhǎng)的時(shí)間才能完成,處理效率低。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例提供了一種隨機(jī)數(shù)獲取方法、裝置及電子設(shè)備,將從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù)進(jìn)行存儲(chǔ),在每次接收到隨機(jī)數(shù)請(qǐng)求時(shí),從存儲(chǔ)的隨機(jī)數(shù)中獲取相應(yīng)長(zhǎng)度的隨機(jī)數(shù)返回,以改善上述問題。

為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:

一種隨機(jī)數(shù)獲取方法,所述方法包括:接收隨機(jī)數(shù)請(qǐng)求,所述隨機(jī)數(shù)請(qǐng)求中包括所要獲取的隨機(jī)數(shù)的請(qǐng)求字節(jié)長(zhǎng)度;從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回長(zhǎng)度為所述請(qǐng)求字節(jié)長(zhǎng)度的隨機(jī)數(shù),其中,所述預(yù)設(shè)存儲(chǔ)區(qū)域存儲(chǔ)有從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù);若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)的字節(jié)長(zhǎng)度小于或等于預(yù)設(shè)水線值,從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域。

一種隨機(jī)數(shù)獲取裝置,所述裝置包括:

隨機(jī)數(shù)存儲(chǔ)模塊,用于在預(yù)設(shè)存儲(chǔ)區(qū)域存儲(chǔ)從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù),請(qǐng)求接收模塊,用于接收隨機(jī)數(shù)請(qǐng)求,所述隨機(jī)數(shù)請(qǐng)求中包括所要獲取的隨機(jī)數(shù)的請(qǐng)求字節(jié)長(zhǎng)度;隨機(jī)數(shù)返回模塊,用于從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回長(zhǎng)度為所述請(qǐng)求字節(jié)長(zhǎng)度的隨機(jī)數(shù);隨機(jī)數(shù)更新模塊,若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)的字節(jié)長(zhǎng)度小于或等于預(yù)設(shè)水線值,用于從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域。

一種電子設(shè)備,所述電子設(shè)備包括存儲(chǔ)器和處理器,所述存儲(chǔ)器耦接到所述處理器,所述存儲(chǔ)器存儲(chǔ)指令,當(dāng)所述指令由所述處理器執(zhí)行時(shí)使所述處理器執(zhí)行以下操作:接收隨機(jī)數(shù)請(qǐng)求,所述隨機(jī)數(shù)請(qǐng)求中包括所要獲取的隨機(jī)數(shù)的請(qǐng)求字節(jié)長(zhǎng)度;從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回長(zhǎng)度為所述請(qǐng)求字節(jié)長(zhǎng)度的隨機(jī)數(shù),其中,所述預(yù)設(shè)存儲(chǔ)區(qū)域存儲(chǔ)有從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù);若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)的字節(jié)長(zhǎng)度小于或等于預(yù)設(shè)水線值,從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域。

本發(fā)明實(shí)施例提供的隨機(jī)數(shù)獲取方法、裝置及電子設(shè)備中,在預(yù)設(shè)存儲(chǔ)區(qū)域存儲(chǔ)有從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù),每次接收到隨機(jī)數(shù)請(qǐng)求時(shí),從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回隨機(jī)數(shù),并且,當(dāng)預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)字節(jié)長(zhǎng)度小于或等于預(yù)設(shè)水線值,從隨機(jī)數(shù)芯片中獲取隨機(jī)數(shù)并存儲(chǔ)于預(yù)設(shè)存儲(chǔ)區(qū)域中。本方案中,響應(yīng)隨機(jī)數(shù)請(qǐng)求而返回的隨機(jī)數(shù)從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取,在預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)的字節(jié)長(zhǎng)度大于預(yù)設(shè)水線值時(shí),不需要從隨機(jī)數(shù)芯片獲取隨機(jī)數(shù),減少了響應(yīng)隨機(jī)數(shù)請(qǐng)求從隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)的次數(shù),提高了處理效率。

為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。

附圖說明

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

圖1示出了本發(fā)明第一實(shí)施例提供的隨機(jī)數(shù)獲取方法的流程圖;

圖2示出了本發(fā)明第二實(shí)施例提供的隨機(jī)數(shù)獲取裝置的功能模塊圖;

圖3示出了本發(fā)明第三實(shí)施例提供的電子設(shè)備的結(jié)構(gòu)框圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。同時(shí),在本發(fā)明的描述中,術(shù)語“第一”、“第二”等僅用于區(qū)分描述,而不能理解為指示或暗示相對(duì)重要性。

第一實(shí)施例

本實(shí)施例提供了一種隨機(jī)數(shù)獲取方法,用于獲取隨機(jī)數(shù)。請(qǐng)參見圖1,該方法包括:

步驟s110:接收隨機(jī)數(shù)請(qǐng)求,所述隨機(jī)數(shù)請(qǐng)求中包括所要獲取的隨機(jī)數(shù)的請(qǐng)求字節(jié)長(zhǎng)度。

接收需要隨機(jī)數(shù)的應(yīng)用、程序或者設(shè)備等發(fā)起的隨機(jī)數(shù)請(qǐng)求,并且在該隨機(jī)數(shù)請(qǐng)求包括相應(yīng)應(yīng)用、程序或者設(shè)備等需要的隨機(jī)數(shù)的字節(jié)長(zhǎng)度,即所要獲取的隨機(jī)數(shù)的請(qǐng)求字節(jié)長(zhǎng)度。例如接收到的隨機(jī)數(shù)請(qǐng)求中的請(qǐng)求字節(jié)長(zhǎng)度為2,表示發(fā)起隨機(jī)數(shù)請(qǐng)求的應(yīng)用、程序或者設(shè)備等需要2字節(jié)長(zhǎng)度的隨機(jī)數(shù)。

步驟s120:從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回長(zhǎng)度為所述請(qǐng)求字節(jié)長(zhǎng)度的隨機(jī)數(shù),其中,所述預(yù)設(shè)存儲(chǔ)區(qū)域存儲(chǔ)有從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù)。

在預(yù)設(shè)存儲(chǔ)區(qū)域存儲(chǔ)有從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù),該預(yù)設(shè)存儲(chǔ)區(qū)域可以是內(nèi)存中構(gòu)建的緩沖區(qū),其具體大小并不限定,可以是隨機(jī)數(shù)芯片所能生成的最大隨機(jī)數(shù)的大小。當(dāng)接收到隨機(jī)數(shù)請(qǐng)求,則從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取隨機(jī)數(shù)并返回到發(fā)起隨機(jī)數(shù)請(qǐng)求的相應(yīng)應(yīng)用、程序或者設(shè)備等,獲取的長(zhǎng)度為隨機(jī)數(shù)請(qǐng)求中的請(qǐng)求字節(jié)長(zhǎng)度。例如,隨機(jī)數(shù)請(qǐng)求中的字節(jié)長(zhǎng)度為2字節(jié),則獲取并返回長(zhǎng)度為2字節(jié)的隨機(jī)數(shù)。

進(jìn)一步的,獲取并返回的隨機(jī)數(shù)為預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù),使返回的隨機(jī)數(shù)不同,保持隨機(jī)數(shù)的隨機(jī)性。具體實(shí)現(xiàn)可以通過指針,每次根據(jù)隨機(jī)數(shù)請(qǐng)求獲取并返回隨機(jī)數(shù)時(shí)從預(yù)設(shè)存儲(chǔ)區(qū)域中的指針處開始獲取,并且在獲取并返回后,指針偏移,其偏移量等于隨機(jī)數(shù)請(qǐng)求中的請(qǐng)求字節(jié)長(zhǎng)度,以從預(yù)設(shè)存儲(chǔ)區(qū)域中依次獲取隨機(jī)數(shù),例如,預(yù)設(shè)存儲(chǔ)區(qū)域中隨機(jī)數(shù)長(zhǎng)度為100字節(jié),接收到一次隨機(jī)數(shù)請(qǐng)求中的請(qǐng)求字節(jié)長(zhǎng)度為2字節(jié),則獲取并返回第1至2字節(jié)的隨機(jī)數(shù);再接收到一次隨機(jī)數(shù)請(qǐng)求中的請(qǐng)求長(zhǎng)度為3字節(jié),則獲取并返回第3至5字節(jié)的隨機(jī)數(shù),以此類推,每次返回的隨機(jī)數(shù)都非之前響應(yīng)于隨機(jī)數(shù)請(qǐng)求而返回過的數(shù)。或者是,將每次響應(yīng)隨機(jī)數(shù)請(qǐng)求從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取的隨機(jī)數(shù)刪除,使預(yù)設(shè)存儲(chǔ)區(qū)域中剩余的隨機(jī)數(shù)均為未被獲取過的隨機(jī)數(shù),下次接收到隨機(jī)數(shù)獲取請(qǐng)求時(shí)返回的隨機(jī)數(shù)為未向發(fā)起隨機(jī)數(shù)請(qǐng)求的應(yīng)用、程序或者設(shè)備等返回過的隨機(jī)數(shù)。

另外,從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回的隨機(jī)數(shù)也可以是部分長(zhǎng)度為未被獲取過的隨機(jī)數(shù),以保持隨機(jī)數(shù)的隨機(jī)性。

步驟s130:若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)的字節(jié)長(zhǎng)度小于或等于預(yù)設(shè)水線值,從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域。

預(yù)設(shè)存儲(chǔ)區(qū)域中的隨機(jī)數(shù)長(zhǎng)度有限,每次從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回隨機(jī)數(shù)后,預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)減少,減少到存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)的字節(jié)長(zhǎng)度小于或等于預(yù)設(shè)水線值時(shí),預(yù)設(shè)存儲(chǔ)區(qū)域中的隨機(jī)數(shù)可能剛好滿足在向隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)的時(shí)間段內(nèi)的隨機(jī)數(shù)請(qǐng)求,此時(shí)可以從隨機(jī)數(shù)芯片獲取隨機(jī)數(shù),并將從隨機(jī)數(shù)芯片獲取到的隨機(jī)數(shù)存儲(chǔ)于預(yù)設(shè)存儲(chǔ)區(qū)域中。

其中,當(dāng)從隨機(jī)數(shù)芯片獲取到隨機(jī)數(shù)時(shí),若預(yù)設(shè)存儲(chǔ)區(qū)域中還有隨機(jī)數(shù),可以將從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù)覆蓋預(yù)設(shè)存儲(chǔ)區(qū)域中原來的隨機(jī)數(shù),使預(yù)設(shè)存儲(chǔ)區(qū)域中的隨機(jī)數(shù)全部更新為從隨機(jī)數(shù)芯片新獲取的隨機(jī)數(shù)。當(dāng)然,若預(yù)設(shè)存儲(chǔ)區(qū)域中有被獲取過的隨機(jī)數(shù)以及未被獲取過的隨機(jī)數(shù),可以將從隨機(jī)數(shù)芯片獲得的隨機(jī)數(shù)僅覆蓋被獲取過的隨機(jī)數(shù)。

另外,本實(shí)施例中,每次從隨機(jī)數(shù)芯片獲取到用于存儲(chǔ)到預(yù)設(shè)存儲(chǔ)區(qū)域的隨機(jī)數(shù)長(zhǎng)度為該隨機(jī)數(shù)芯片所能產(chǎn)生的最長(zhǎng)字節(jié)長(zhǎng)度的隨機(jī)數(shù),以盡量減少從隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)的次數(shù)。

進(jìn)一步的,在接收隨機(jī)數(shù)請(qǐng)求的步驟之前,還可以包括:從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域,以在保證預(yù)設(shè)存儲(chǔ)區(qū)域中具有隨機(jī)數(shù)的情況下響應(yīng)隨機(jī)數(shù)請(qǐng)求。

在本實(shí)施例中,預(yù)設(shè)水線值為預(yù)先設(shè)置的字節(jié)長(zhǎng)度值。初始設(shè)置的預(yù)設(shè)水線值可以是一個(gè)經(jīng)驗(yàn)值,使在每次接收到隨機(jī)數(shù)請(qǐng)求時(shí)均能從預(yù)設(shè)存儲(chǔ)區(qū)域獲取未被獲取過的長(zhǎng)度滿足所述請(qǐng)求字節(jié)長(zhǎng)度的隨機(jī)數(shù)的情況下,向隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)的次數(shù)盡量少。優(yōu)選的,預(yù)設(shè)水線值的初始值可以為256字節(jié),當(dāng)然,預(yù)設(shè)水線值的初始值在本實(shí)施例中并不限定。

進(jìn)一步的,當(dāng)當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)的字節(jié)長(zhǎng)度小于或等于預(yù)設(shè)水線值,從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù),在從隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)的過程中,仍然在接收隨機(jī)數(shù)請(qǐng)求,并且響應(yīng)于隨機(jī)數(shù)請(qǐng)求,從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回長(zhǎng)度為所述請(qǐng)求字節(jié)長(zhǎng)度的隨機(jī)數(shù),預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)字節(jié)長(zhǎng)度持續(xù)減小。為使預(yù)設(shè)存儲(chǔ)區(qū)域中的隨機(jī)數(shù)能滿足每次的隨機(jī)數(shù)請(qǐng)求,并且盡量少地向隨機(jī)數(shù)芯片獲取隨機(jī)數(shù),預(yù)設(shè)水線值可以隨著隨機(jī)數(shù)請(qǐng)求的請(qǐng)求字節(jié)長(zhǎng)度變化進(jìn)行更新。

具體的,當(dāng)從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域時(shí),根據(jù)當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取的隨機(jī)數(shù)字節(jié)長(zhǎng)度增大或減小所述預(yù)設(shè)水線值。也就是說,在將從隨機(jī)數(shù)芯片獲得的隨機(jī)數(shù)后,將獲得的隨機(jī)數(shù)存儲(chǔ)于預(yù)存儲(chǔ)區(qū)域前,根據(jù)當(dāng)前存儲(chǔ)區(qū)域中未被獲取的隨機(jī)數(shù)字節(jié)長(zhǎng)度增大或減小所述預(yù)設(shè)水線值。

其中,當(dāng)從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域時(shí),若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取的隨機(jī)數(shù)字節(jié)長(zhǎng)度小于第一預(yù)設(shè)值,增大所述預(yù)設(shè)水線值,使預(yù)設(shè)存儲(chǔ)區(qū)域中剩余更長(zhǎng)的隨機(jī)數(shù)用于在向隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)的時(shí)間段內(nèi)響應(yīng)隨機(jī)數(shù)請(qǐng)求,盡可能保證滿足隨機(jī)數(shù)請(qǐng)求對(duì)隨機(jī)數(shù)的獲取。預(yù)設(shè)存儲(chǔ)區(qū)域中剩余的隨機(jī)數(shù)為預(yù)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)。例如,第一預(yù)設(shè)值為128字節(jié),當(dāng)前的預(yù)設(shè)水線值為256字節(jié),當(dāng)從隨機(jī)數(shù)芯片獲取到隨機(jī)數(shù),在將該隨機(jī)數(shù)存儲(chǔ)到預(yù)設(shè)存儲(chǔ)區(qū)域前,預(yù)設(shè)存儲(chǔ)區(qū)域中剩余的隨機(jī)數(shù)的字節(jié)長(zhǎng)度小于或等于128字節(jié),則增大當(dāng)前的預(yù)設(shè)水線值,也就是使預(yù)設(shè)水線值大于256字節(jié)。在本實(shí)施例中,第一預(yù)設(shè)值的具體大小并不限定。

當(dāng)從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域時(shí),若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取的隨機(jī)數(shù)字節(jié)長(zhǎng)度大于第二預(yù)設(shè)值,減小所述預(yù)設(shè)水線值,使預(yù)設(shè)存儲(chǔ)區(qū)域中剩余的隨機(jī)數(shù)既能滿足在向隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)的時(shí)間段內(nèi)的隨機(jī)數(shù)請(qǐng)求,也盡可能減少向隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)的次數(shù)。在本實(shí)施例中,第二預(yù)設(shè)值的具體數(shù)值并不限定,第一預(yù)設(shè)值與第二預(yù)設(shè)值可以為相同的數(shù)值。以第二預(yù)設(shè)值為128字節(jié)為例,若當(dāng)前的預(yù)設(shè)水線值為512字節(jié),當(dāng)從隨機(jī)數(shù)芯片獲取到隨機(jī)數(shù),在將該隨機(jī)數(shù)存儲(chǔ)到預(yù)設(shè)存儲(chǔ)區(qū)域前,預(yù)設(shè)存儲(chǔ)區(qū)域中剩余的隨機(jī)數(shù)的字節(jié)長(zhǎng)度大于128字節(jié),則減小當(dāng)前的預(yù)設(shè)水線值,也就是使預(yù)設(shè)水線值小于512。

進(jìn)一步的,在本實(shí)施例中,可以設(shè)置預(yù)設(shè)水線值的水線最小值,當(dāng)預(yù)設(shè)水線值減小到該水線最小值時(shí),即使從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域時(shí),當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取的隨機(jī)數(shù)字節(jié)長(zhǎng)度大于第二預(yù)設(shè)值,預(yù)設(shè)水線值也不再減小。也就是說,從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域時(shí),若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取的隨機(jī)數(shù)字節(jié)長(zhǎng)度大于第二預(yù)設(shè)值且所述預(yù)設(shè)水線值大于水線最小值,減小所述預(yù)設(shè)水線值。其中,水線最小值可以等于預(yù)設(shè)水線值的初始值。

進(jìn)一步的,還可以設(shè)置預(yù)設(shè)水線值增大或減小的預(yù)設(shè)階梯值,預(yù)設(shè)水線值每次增加或減小的值為預(yù)設(shè)階梯值。在本實(shí)施例中,預(yù)設(shè)階梯值的具體數(shù)值并不限定,預(yù)設(shè)水線值增大的預(yù)設(shè)階梯值以及預(yù)設(shè)水線值減小的預(yù)設(shè)階梯值可以相同也可以不同。其中,該預(yù)設(shè)階梯值、第一預(yù)設(shè)值以及第二預(yù)設(shè)值可以相等,優(yōu)選的,可以等于128字節(jié)。當(dāng)然,預(yù)設(shè)階梯值、第一預(yù)設(shè)值以及第二預(yù)設(shè)值也可以不同,具體可以根據(jù)實(shí)際情況設(shè)定。

綜上所述,本實(shí)施例提供的隨機(jī)數(shù)獲取方法,在預(yù)設(shè)存儲(chǔ)區(qū)域存儲(chǔ)有從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù),每次接收到隨機(jī)數(shù)請(qǐng)求時(shí),從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回隨機(jī)數(shù),并且,當(dāng)預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)字節(jié)長(zhǎng)度小于或等于預(yù)設(shè)水線值,從隨機(jī)數(shù)芯片中獲取隨機(jī)數(shù)并存儲(chǔ)于預(yù)設(shè)存儲(chǔ)區(qū)域中,使響應(yīng)隨機(jī)數(shù)請(qǐng)求返回的隨機(jī)數(shù)從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取。在預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)的字節(jié)長(zhǎng)度大于預(yù)設(shè)水線值時(shí),不需要從隨機(jī)數(shù)芯片獲取隨機(jī)數(shù),減少了從隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)的次數(shù),提高了處理效率。并且,可以根據(jù)當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取的隨機(jī)數(shù)字節(jié)長(zhǎng)度增大或減小所述預(yù)設(shè)水線值,使預(yù)設(shè)存儲(chǔ)區(qū)域中的隨機(jī)數(shù)能滿足隨機(jī)數(shù)請(qǐng)求的情況下,次數(shù)盡可能少地從隨機(jī)數(shù)芯片獲取隨機(jī)數(shù),提高了處理效率。

第二實(shí)施例

本實(shí)施例提供了一種隨機(jī)數(shù)獲取裝置200,請(qǐng)參見圖2,該裝置200包括:

隨機(jī)數(shù)存儲(chǔ)模塊210,用于在預(yù)設(shè)存儲(chǔ)區(qū)域存儲(chǔ)從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù)。請(qǐng)求接收模塊220,用于接收隨機(jī)數(shù)請(qǐng)求,所述隨機(jī)數(shù)請(qǐng)求中包括所要獲取的隨機(jī)數(shù)的請(qǐng)求字節(jié)長(zhǎng)度。隨機(jī)數(shù)返回模塊230,用于從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回長(zhǎng)度為所述請(qǐng)求字節(jié)長(zhǎng)度的隨機(jī)數(shù)。隨機(jī)數(shù)更新模塊240,若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)的字節(jié)長(zhǎng)度小于或等于預(yù)設(shè)水線值,用于從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域。

進(jìn)一步的,隨機(jī)數(shù)返回模塊230從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回的隨機(jī)數(shù)為未被獲取過的隨機(jī)數(shù)。

進(jìn)一步的,在本實(shí)施例中,還可以包括水線更新模塊250,用于當(dāng)從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域時(shí),根據(jù)當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取的隨機(jī)數(shù)字節(jié)長(zhǎng)度增大或減小所述預(yù)設(shè)水線值。

具體的,若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取的隨機(jī)數(shù)字節(jié)長(zhǎng)度小于第一預(yù)設(shè)值,水線更新模塊250用于增大所述預(yù)設(shè)水線值。若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取的隨機(jī)數(shù)字節(jié)長(zhǎng)度大于第二預(yù)設(shè)值,水線更新模塊250用于減小所述預(yù)設(shè)水線值。

進(jìn)一步的,若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取的隨機(jī)數(shù)字節(jié)長(zhǎng)度大于第二預(yù)設(shè)值且所述預(yù)設(shè)水線值大于水線最小值,水線更新模塊250用于減小所述預(yù)設(shè)水線值。

其中,水線更新模塊250每次增加或減小預(yù)設(shè)水線值的值為預(yù)設(shè)階梯值。

第三實(shí)施例

請(qǐng)參見圖3,本實(shí)施例提供了一種電子設(shè)備300,所述電子設(shè)備包括存儲(chǔ)器310和處理器320,所述存儲(chǔ)器耦接到所述處理器,所述存儲(chǔ)器存儲(chǔ)指令,另外,所述存儲(chǔ)器中還可以建立預(yù)設(shè)存儲(chǔ)區(qū)域用于存儲(chǔ)從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù)。

其中,當(dāng)存儲(chǔ)器存儲(chǔ)的指令由所述處理器執(zhí)行時(shí)使所述處理器執(zhí)行以下操作:

接收隨機(jī)數(shù)請(qǐng)求,所述隨機(jī)數(shù)請(qǐng)求中包括所要獲取的隨機(jī)數(shù)的請(qǐng)求字節(jié)長(zhǎng)度;從預(yù)設(shè)存儲(chǔ)區(qū)域中獲取并返回長(zhǎng)度為所述請(qǐng)求字節(jié)長(zhǎng)度的隨機(jī)數(shù),其中,所述預(yù)設(shè)存儲(chǔ)區(qū)域存儲(chǔ)有從隨機(jī)數(shù)芯片獲取的隨機(jī)數(shù);若當(dāng)前預(yù)設(shè)存儲(chǔ)區(qū)域中未被獲取過的隨機(jī)數(shù)的字節(jié)長(zhǎng)度小于或等于預(yù)設(shè)水線值,從所述隨機(jī)數(shù)芯片獲取隨機(jī)數(shù)并存儲(chǔ)于所述預(yù)設(shè)存儲(chǔ)區(qū)域。

需要說明的是,本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間以及同一個(gè)實(shí)施例中相同相似的部分互相參見即可。對(duì)于裝置類實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。

在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,也可以通過其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能模塊可以集成在一起形成一個(gè)獨(dú)立的部分,也可以是各個(gè)模塊單獨(dú)存在,也可以兩個(gè)或兩個(gè)以上模塊集成形成一個(gè)獨(dú)立的部分。

所述功能如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。

以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。

以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
和林格尔县| 克东县| 鸡东县| 大宁县| 方山县| 九龙坡区| 丹棱县| 博兴县| 九寨沟县| 苏尼特左旗| 噶尔县| 涟源市| 玉林市| 台湾省| 阿克苏市| 安溪县| 霸州市| 迁安市| 沁阳市| 保靖县| 三台县| 赣榆县| 密云县| 和硕县| 洛阳市| 繁昌县| 通海县| 蚌埠市| 临西县| 民乐县| 临泽县| 涡阳县| 西丰县| 巴青县| 始兴县| 布尔津县| 额济纳旗| 信阳市| 乌拉特后旗| 鸡东县| 临猗县|