[發明專利]隨機數的生成方法、裝置、電子設備和存儲介質在審
| 申請號: | 202010214820.6 | 申請日: | 2020-03-24 |
| 公開(公告)號: | CN111427540A | 公開(公告)日: | 2020-07-17 |
| 發明(設計)人: | 何濤 | 申請(專利權)人: | 北京奇藝世紀科技有限公司 |
| 主分類號: | G06F7/58 | 分類號: | G06F7/58 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 隨機數 生成 方法 裝置 電子設備 存儲 介質 | ||
本發明實施例提供了一種隨機數的生成方法、裝置、電子設備和存儲介質,其中,所述方法包括:獲取第一數字集合和第二數字集合;在所述第一數字集合滿足第一條件時,按照預設的第一方式根據所述第一數字集合和所述第二數字集合生成第一隨機數;在所述第一數字集合滿足第二條件時,按照預設的第二方式根據所述第一數字集合和所述第二數字集合生成第二隨機數。本發明實施例可以適應適應已選數字的數據量較多時和較少時,或者,剩余可選數字的數據量較多時和較少時的隨機數生成場景,可以解決現有的隨機數生成算法生成隨機數的時間較長的技術問題,從而在整體上提高了隨機數生成算法的性能,縮短生成隨機數的時間。
技術領域
本發明涉及計算機技術領域,特別是涉及一種隨機數的生成方法、裝置,以及一種電子設備和一種計算機可讀存儲介質。
背景技術
目前,在從千萬級數據量的可選數字中多次隨機挑選出不重復的數字時,首先需要對每次隨機獲取的數字做順序緩存,然后每次新增的數字需要順序插入已存儲的數字之間。每次隨機獲取數字時還必須從可選數字池中過濾掉已選數字。當數量級接近千萬的多次計算同時進行時,內存消耗巨大,計算速度也會不穩定。
現有的生成隨機數的算法中,一部分算法在已選數字的數據量較少或剩余可選數字的數據量較多時表現良好,但已選數字的數據量較多或剩余可選數字的數據量較少時耗時極長。另一部分算法在已選數字的數據量較多或剩余可選數字的數據量較少時表現良好,但已選數字的數據量較少或剩余可選數字的數據量較多時耗時極長。
因此,目前不存在一種算法可以同時適應已選數字的數據量較多或剩余可選數字的數據量較少時,或者,剩余可選數字的數據量較多或已選數字的數據量較少時的隨機數生成場景。
發明內容
本發明實施例的目的在于提供一種隨機數的生成方法、裝置,以及一種電子設備和一種計算機可讀存儲介質,以實現同時適應已選數字的數據量較多或剩余可選數字的數據量較少時,或者,剩余可選數字的數據量較多或已選數字的數據量較少時的隨機數生成場景,避免生成隨機數的時間較長的問題。具體技術方案如下:
在本發明實施的第一方面,首先提供了一種隨機數的生成方法,包括:獲取第一數字集合和第二數字集合;在所述第一數字集合滿足第一條件時,按照預設的第一方式根據所述第一數字集合和所述第二數字集合生成第一隨機數;在所述第一數字集合滿足第二條件時,按照預設的第二方式根據所述第一數字集合和所述第二數字集合生成第二隨機數。
可選地,所述在所述第一數字集合滿足第二條件時,按照預設的第二方式根據所述第一數字集合和所述第二數字集合生成第二隨機數,包括:在所述第一數字集合滿足包含的數字數量大于第一數量閾值、包含的數字數量屬于第一數量范圍和包含的數字數量的數量級大于第一數量級閾值中的至少之一時,按照所述第二方式根據所述第一數字集合和所述第二數字集合生成所述第二隨機數。
可選地,所述按照所述第二方式根據所述第一數字集合和所述第二數字集合生成所述第二隨機數,包括:按照如下步驟循環執行第一次數,所述第一次數為所述第二隨機數的數字數量與第二數量閾值的比值的向上取整值,所述第二數量閾值小于所述第二隨機數的數字數量:步驟01:創建第三數字集合;步驟02:循環執行以下子步驟直至所述第三數字集合中的數字數量大于或等于第三數量閾值,所述第三數量閾值為所述第二數量閾值和所述第二隨機數中未生成的隨機數的數量的最小值:子步驟021:從所述第一數字集合中隨機選擇一個第二已選數字;子步驟022:若所述第三數字集合中存在所述第二已選數字,則再次從所述第一數字集合中隨機選擇一個第二已選數字;若所述第三數字集合中不存在所述第二已選數字,則將所述第二已選數字存儲至所述第二數字集合的末尾;步驟03:從所述第一數字集合中批量刪除所述第三數字集合;按照從后向前的順序,從所述第二數字集合中提取出所述第二隨機數的數字數量的數字,并將提取出的所述數字作為所述第二隨機數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇藝世紀科技有限公司,未經北京奇藝世紀科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010214820.6/2.html,轉載請聲明來源鉆瓜專利網。





