[发明专利]随机数的生成方法、装置、电子设备和存储介质在审
申请号: | 202010214820.6 | 申请日: | 2020-03-24 |
公开(公告)号: | CN111427540A | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 何涛 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F7/58 | 分类号: | G06F7/58 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 随机数 生成 方法 装置 电子设备 存储 介质 | ||
本发明实施例提供了一种随机数的生成方法、装置、电子设备和存储介质,其中,所述方法包括:获取第一数字集合和第二数字集合;在所述第一数字集合满足第一条件时,按照预设的第一方式根据所述第一数字集合和所述第二数字集合生成第一随机数;在所述第一数字集合满足第二条件时,按照预设的第二方式根据所述第一数字集合和所述第二数字集合生成第二随机数。本发明实施例可以适应适应已选数字的数据量较多时和较少时,或者,剩余可选数字的数据量较多时和较少时的随机数生成场景,可以解决现有的随机数生成算法生成随机数的时间较长的技术问题,从而在整体上提高了随机数生成算法的性能,缩短生成随机数的时间。
技术领域
本发明涉及计算机技术领域,特别是涉及一种随机数的生成方法、装置,以及一种电子设备和一种计算机可读存储介质。
背景技术
目前,在从千万级数据量的可选数字中多次随机挑选出不重复的数字时,首先需要对每次随机获取的数字做顺序缓存,然后每次新增的数字需要顺序插入已存储的数字之间。每次随机获取数字时还必须从可选数字池中过滤掉已选数字。当数量级接近千万的多次计算同时进行时,内存消耗巨大,计算速度也会不稳定。
现有的生成随机数的算法中,一部分算法在已选数字的数据量较少或剩余可选数字的数据量较多时表现良好,但已选数字的数据量较多或剩余可选数字的数据量较少时耗时极长。另一部分算法在已选数字的数据量较多或剩余可选数字的数据量较少时表现良好,但已选数字的数据量较少或剩余可选数字的数据量较多时耗时极长。
因此,目前不存在一种算法可以同时适应已选数字的数据量较多或剩余可选数字的数据量较少时,或者,剩余可选数字的数据量较多或已选数字的数据量较少时的随机数生成场景。
发明内容
本发明实施例的目的在于提供一种随机数的生成方法、装置,以及一种电子设备和一种计算机可读存储介质,以实现同时适应已选数字的数据量较多或剩余可选数字的数据量较少时,或者,剩余可选数字的数据量较多或已选数字的数据量较少时的随机数生成场景,避免生成随机数的时间较长的问题。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种随机数的生成方法,包括:获取第一数字集合和第二数字集合;在所述第一数字集合满足第一条件时,按照预设的第一方式根据所述第一数字集合和所述第二数字集合生成第一随机数;在所述第一数字集合满足第二条件时,按照预设的第二方式根据所述第一数字集合和所述第二数字集合生成第二随机数。
可选地,所述在所述第一数字集合满足第二条件时,按照预设的第二方式根据所述第一数字集合和所述第二数字集合生成第二随机数,包括:在所述第一数字集合满足包含的数字数量大于第一数量阈值、包含的数字数量属于第一数量范围和包含的数字数量的数量级大于第一数量级阈值中的至少之一时,按照所述第二方式根据所述第一数字集合和所述第二数字集合生成所述第二随机数。
可选地,所述按照所述第二方式根据所述第一数字集合和所述第二数字集合生成所述第二随机数,包括:按照如下步骤循环执行第一次数,所述第一次数为所述第二随机数的数字数量与第二数量阈值的比值的向上取整值,所述第二数量阈值小于所述第二随机数的数字数量:步骤01:创建第三数字集合;步骤02:循环执行以下子步骤直至所述第三数字集合中的数字数量大于或等于第三数量阈值,所述第三数量阈值为所述第二数量阈值和所述第二随机数中未生成的随机数的数量的最小值:子步骤021:从所述第一数字集合中随机选择一个第二已选数字;子步骤022:若所述第三数字集合中存在所述第二已选数字,则再次从所述第一数字集合中随机选择一个第二已选数字;若所述第三数字集合中不存在所述第二已选数字,则将所述第二已选数字存储至所述第二数字集合的末尾;步骤03:从所述第一数字集合中批量删除所述第三数字集合;按照从后向前的顺序,从所述第二数字集合中提取出所述第二随机数的数字数量的数字,并将提取出的所述数字作为所述第二随机数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010214820.6/2.html,转载请声明来源钻瓜专利网。