CN111176611B - 一种生成随机数据组的方法和装置 - Google Patents

一种生成随机数据组的方法和装置 Download PDF

Info

Publication number
CN111176611B
CN111176611B CN201911422119.7A CN201911422119A CN111176611B CN 111176611 B CN111176611 B CN 111176611B CN 201911422119 A CN201911422119 A CN 201911422119A CN 111176611 B CN111176611 B CN 111176611B
Authority
CN
China
Prior art keywords
data
data set
items
basic
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911422119.7A
Other languages
English (en)
Other versions
CN111176611A (zh
Inventor
段珂
张庭炎
夏玫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Launch Technology Co Ltd
Original Assignee
Shenzhen Launch Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Launch Technology Co Ltd filed Critical Shenzhen Launch Technology Co Ltd
Priority to CN201911422119.7A priority Critical patent/CN111176611B/zh
Publication of CN111176611A publication Critical patent/CN111176611A/zh
Application granted granted Critical
Publication of CN111176611B publication Critical patent/CN111176611B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种生成随机数据组的方法和装置,所述方法包括:接收目标数据组的生成请求,其中,所述生成请求包括基础数据组、基础数据组的数据项数N、所述目标数据组的数据项数n,所述数据项数N大于或等于所述数据项数n;判断所述目标数据组的数据项数n是否大于N/2;若是,则从所述基础数据组中剔除N‑n项数据;依据剔除N‑n项数据后的所述基础数据组生成所述目标数据组。通过上述方法,使设备在生成项数n>N/2时的数据组的速度提高至目前现有算法的三倍,综合平均性能方面,本发明的方法是目前现有算法的两倍。

Description

一种生成随机数据组的方法和装置
技术领域
本发明涉及信息处理技术领域,特别是涉及一种生成随机数据组的方法以及装置。
背景技术
在信息处理领域中,依据大小为N的基础数组生成大小为n的随机数组是很常见的任务。由于该任务处于底层,经常被调用,因此该任务性能对整体任务性能影响很大。而现有的处理该任务的方法,没有基于数据组的大小进行生成方式的调整,导致在生成交底数据组的时候平均耗费时间较长,性能不佳。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种生成随机数据组的方法,一种生成随机数据组的装置,一种终端,以及一种计算机可读存储介质。
为了解决上述问题,本发明公开了一种生成随机数据组的方法,所述方法包括:
接收目标数据组的生成请求,其中,所述生成请求包括基础数据组、基础数据组的数据项数N、所述目标数据组的数据项数n,所述数据项数N大于或等于所述数据项数n;
判断所述目标数据组的数据项数n是否大于N/2;
若是,则从所述基础数据组中剔除N-n项数据;
依据剔除N-n项数据后的所述基础数据组生成所述目标数据组。
进一步地,所述从所述基础数据组中剔除N-n项数据的步骤,包括:
判断所述基础数据组的数据项数是否等于n;
若是,则停止剔除;若否,则从所述基础数据组中随机剔除一项数据,直至所述基础数据组的数据项数等于n。
进一步地,所述依据剔除N-n项数据后的所述基础数据组生成所述目标数据组的步骤,包括:
将所述基础数据组内的剩余数据进行随机排列;
将数据随机排列后的所述基础数据组设置为所述目标数据组。
进一步地,还包括:
当所述目标数据组的数据项数n小于或等于N/2时,则生成不包含数据的空的过渡数据组;
从所述基础数据组中随机抽取n项数据并置入所述过渡数据组;
将所述过渡数据组设置为所述目标数据组。
进一步地,所述从所述基础数据组中随机抽取n项数据置入所述过渡数据组的步骤,包括:
判断所述过渡数据组的数据项数是否等于n;
若是,则停止抽取;若否,则从所述基础数据组中随机抽取一项数据,并将抽取的数据置入所述过渡数据组中,直至所述过渡数据组的数据项数等于n。
本发明实施例还提供了一种生成随机数据组的装置,包括:
接收模块,用于接收目标数据组的生成请求,其中,所述生成请求包括基础数据组、基础数据组的数据项数N、所述目标数据组的数据项数n,所述数据项数N大于或等于所述数据项数n;
判断模块,用于判断需要所述目标数据组的数据项数n是否大于N/2;
剔除模块,用于若是,则从所述基础数据组中剔除N-n项数据;
第一生成模块,用于依据剔除N-n项数据后的所述基础数据组生成所述目标数据组。
进一步地,所述剔除模块包括:
基础数据组数据项数判断子模块,用于判断所述基础数据组的数据项数是否等于n;
基础数据组数据项数判定子模块,用于若是,则停止剔除;若否,则从所述基础数据组中随机剔除一项数据,直至所述基础数据组的数据项数等于n。
进一步地,所述第一生成模块包括:
第一随机排列子模块,用于将所述基础数据组内的剩余数据进行随机排列;
第一设置子模块,用于将数据随机排列后的所述基础数据组设置为所述目标数据组。
本发明实施例还公开了一种终端,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端执行如本发明实施例所述的一个或多个的生成随机数据组的方法。
本发明实施例还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的生成随机数据组的方法。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例中,通过接收目标数据组的生成请求,其中,所述生成请求包括基础数据组、基础数据组的数据项数N、所述目标数据组的数据项数n,所述数据项数N大于或等于所述数据项数n;判断所述目标数据组的数据项数n是否大于N/2;若是,则从所述基础数据组中剔除N-n项数据;依据剔除N-n项数据后的所述基础数据组生成所述目标数据组,通过上述方法,使设备在生成项数n>N/2时的数据组的速度提高至目前现有算法的三倍,综合平均性能方面,本发明的方法是目前现有算法的两倍。
附图说明
图1是本发明的一种生成随机数据组的方法实施例的步骤流程图;
图2是本发明的一种生成随机数据组的装置实施例的结构框图;
图3是本发明的一种实现所述生成随机数据组的方法的计算机设备结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的任一实施例所公开的方法应用于信息通信时所需密钥的生成或数据存储时所需密钥的生成以及信息应用时所需随机结果的生成等。
如图1所示,本发明实施例公开了一种生成随机数据组的方法实施例的步骤流程图,具体可以包括如下步骤:
S110、接收基础数组,以及依据所述基础数组生成目标数据组的生成请求,其中,所述基础数组的数据项数大于或等于所述目标数据组的数据项数,所述生成请求包括所述目标数据组的数据项数n;
S120、判断需要所述目标数据组的数据项数n是否大于N/2;
S130、若是,则从所述基础数据组中剔除N-n项数据;
S140、依据剔除N-n项数据后的所述基础数据组生成所述目标数据组。
本发明实施例中,通过接收基础数组,以及依据所述基础数组生成目标数据组的生成请求,其中,所述基础数组的数据项数大于或等于所述目标数据组的数据项数,所述生成请求包括所述目标数据组的数据项数n;确定基础数据组中的数据项数N;判断所述目标数据组的数据项数n是否大于N/2;若是,则从所述基础数据组中剔除N-n项数据;依据剔除N-n项数据后的所述基础数据组生成所述目标数据组,通过上述方法,使设备在生成项数n>N/2时的数据组的速度提高至目前现有算法的三倍,综合平均性能方面,本发明的方法是目前现有算法的两倍。
下面,将对本示例性实施例中视生成随机数据组的方法作进一步地说明。
如上述步骤S110所述,接收目标数据组的生成请求,其中,所述生成请求包括基础数据组、基础数据组的数据项数N、所述目标数据组的数据项数n,所述数据项数N大于或等于所述数据项数n;
作为一种示例,所述生成请求的发起端可以为用户,也可以为有需求的模块。
作为一种示例,所述基础数据组根据需要生成的目标数据组的不同可以为包含有不同内容集合的数据组,具体地,所述基础数据组可以为大写英文字母的集合,小写英文字母的集合,数字集合,或前三者的任意两种或两种以上的组合的集合,也可以为ASCII字符集或其他特定需求的集合等。
如上述步骤S120所述,判断需要所述目标数据组的数据项数n是否大于N/2;
如上述步骤S130所述,若是,则从所述基础数据组中剔除N-n项数据;
在本发明一实施例中,所述从所述基础数据组中剔除N-n项数据的步骤,包括:
判断所述基础数据组的数据项数是否等于n;
若是,则停止剔除;若否,则从所述基础数据组中随机剔除一项数据,直至所述基础数据组的数据项数等于n。
需要说明的是,当所述基础数据组数据项数等于n时,直接输出所述基础数据组;当所述基础数据组数据项数大于n时,则重复从所述基础数据组中随机剔除一项数据直至所述基础数据组数据项数等于n。其中,在每一次剔除一项数据后,都要判断所述基础数据组数据项数和n是否相等,若是,则停止剔除,若否,则继续剔除。当停止剔除后,输出所述基础数据组。
如上述步骤S140所述,依据剔除N-n项数据后的所述基础数据组生成所述目标数据组。
在本发明一实施例中,所述依据剔除N-n项数据后的所述基础数据组生成所述目标数据组的步骤,包括:
将所述基础数据组内的剩余数据进行随机排列;
将数据随机排列后的所述基础数据组设置为所述目标数据组。
需要说明的是,将从步骤S130得到的数据进行随机排列,将随机排列后的所述基础数据组设置为所述目标数据组。
在本发明一实施例中,还包括:
当所述目标数据组的数据项数n小于或等于N/2时,则生成不包含数据的空的过渡数据组;
从所述基础数据组中随机抽取n项数据并置入所述过渡数据组;
将所述过渡数据组设置为所述目标数据组。
需要说明的是,在步骤S120执行后,若判断结果为所述目标数据组的数据项数n小于或等于N/2时,执行上述实施例中的步骤。
在本发明一实施例中,所述从所述基础数据组中随机抽取n项数据并置入所述过渡数据组的步骤,包括:
判断所述过渡数据组的数据项数是否等于n;
若是,则停止抽取;若否,则从所述基础数据组中随机抽取一项数据,并将抽取的数据置入所述过渡数据组中,直至所述过渡数据组的数据项数等于n。
需要说明的是,当所述过渡数据组数据项数小于n时,则重复从所述基础数据组中随机抽取一项数据并置入所述过渡数据组直至所述过渡数据组数据项数等于n。其中,在每一次置入数据后,都要判断所述过渡数据组数据项数和n是否相等,若是,则停止抽取并置入,若否,则继续。当停止抽取并置入后,输出所述过渡数据组。
如图2所示,本发明实施例还公开了一种生成随机数据组的装置,包括:
接收模块210,用于接收目标数据组的生成请求,其中,所述生成请求包括基础数据组、基础数据组的数据项数N、所述目标数据组的数据项数n,所述数据项数N大于或等于所述数据项数n;
判断模块220,用于判断需要所述目标数据组的数据项数n是否大于N/2;
剔除模块230,用于若是,则从所述基础数据组中剔除N-n项数据;
第一生成模块240,用于依据剔除N-n项数据后的所述基础数据组生成所述目标数据组。
在本发明一优选实施例中,所述剔除模块230包括:
基础数据组数据项数判断子模块,用于判断所述基础数据组的数据项数是否等于n;
基础数据组数据项数判定子模块,用于若是,则停止剔除;若否,则从所述基础数据组中随机剔除一项数据,直至所述基础数据组的数据项数等于n。
在本发明一优选实施例中,所述第一生成模块240包括:
第一随机排列子模块,用于将所述基础数据组内的剩余数据进行随机排列;
第一设置子模块,用于将数据随机排列后的所述基础数据组设置为所述目标数据组。
在本发明一优选实施例中,还包括:
第二生成模块,用于当所述目标数据组的数据项数n小于或等于N/2时,则生成不包含数据的空的过渡数据组;
抽取并置入模块,用于从所述基础数据组中随机抽取n项数据并置入所述过渡数据组;
设置模块,用于将所述过渡数据组设置为所述目标数据组。
在本发明一优选实施例中,所述抽取并置入模块包括:
过渡数据组数据项数判断子模块,用于判断所述过渡数据组的数据项数是否等于n;
过渡数据组数据项数判定子模块,用于若是,则停止抽取;若否,则从所述基础数据组中随机抽取一项数据,并将抽取的数据置入所述过渡数据组中,直至所述过渡数据组的数据项数等于n。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
如图3所示,本发明实施例还公开了一种实现所述生成随机数据组的方法的计算机设备结构示意图,具体可以包括如下:
上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线18结构中的一种或多种,包括存储器总线18或者存储器控制器,外围总线18,图形加速端口,处理器或者使用多种总线18结构中的任意总线18结构的局域总线18。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线18,微通道体系结构(MAC)总线18,增强型ISA总线18、音视频电子标准协会(VESA)局域总线18以及外围组件互连(PCI)总线18。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD~ROM,DVD~ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质界面与总线18相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些程序模块42被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24、摄像头等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)界面22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN)),广域网(WAN)和/或公共网络(例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图3中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元16、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统34等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的生成随机数据组的方法。
也即,上述处理单元16执行上述程序时实现:接收目标数据组的生成请求,其中,所述生成请求包括基础数据组、基础数据组的数据项数N、所述目标数据组的数据项数n,所述数据项数N大于或等于所述数据项数n;判断所述目标数据组的数据项数n是否大于N/2;若是,则从所述基础数据组中剔除N-n项数据;依据剔除N-n项数据后的所述基础数据组生成所述目标数据组。
在本发明实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的生成随机数据组的方法:
也即,给程序被处理器执行时实现:接收目标数据组的生成请求,其中,所述生成请求包括基础数据组、基础数据组的数据项数N、所述目标数据组的数据项数n,所述数据项数N大于或等于所述数据项数n;判断所述目标数据组的数据项数n是否大于N/2;若是,则从所述基础数据组中剔除N-n项数据;依据剔除N-n项数据后的所述基础数据组生成所述目标数据组。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机克顿信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体地例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPOM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD~ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种生成随机数据组的方法和一种生成随机数据组的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (7)

1.一种生成随机数据组的方法,其特征在于,所述方法包括:
接收目标数据组的生成请求,其中,所述目标数据组为信息通信时所需的密钥或数据存储时所需的密钥;所述生成请求包括基础数据组、基础数据组的数据项数N、所述目标数据组的数据项数n,所述数据项数N大于或等于所述数据项数n;
判断所述目标数据组的数据项数n是否大于N/2;
若是,则从所述基础数据组中随机剔除N-n项数据;
将所述基础数据组内的剩余数据进行随机排列;
将数据随机排列后的所述基础数据组设置为所述目标数据组;
若否,则生成不包含数据的空的过渡数据组;
从所述基础数据组中随机抽取n项数据并置入所述过渡数据组;
将所述过渡数据组设置为所述目标数据组。
2.根据权利要求1所述的方法,其特征在于,所述从所述基础数据组中随机剔除N-n项数据的步骤,包括:
判断所述基础数据组的数据项数是否等于n;
若是,则停止剔除;若否,则从所述基础数据组中随机剔除一项数据,直至所述基础数据组的数据项数等于n。
3.根据权利要求1所述的方法,其特征在于,所述从所述基础数据组中随机抽取n项数据置入所述过渡数据组的步骤,包括:
判断所述过渡数据组的数据项数是否等于n;
若是,则停止抽取;若否,则从所述基础数据组中随机抽取一项数据,并将抽取的数据置入所述过渡数据组中,直至所述过渡数据组的数据项数等于n。
4.一种生成随机数据组的装置,其特征在于,包括:
接收模块,用于接收目标数据组的生成请求,其中,所述目标数据组为信息通信时所需的密钥或数据存储时所需的密钥;所述生成请求包括基础数据组、基础数据组的数据项数N、所述目标数据组的数据项数n,所述数据项数N大于或等于所述数据项数n;
判断模块,用于判断需要所述目标数据组的数据项数n是否大于N/2;
剔除模块,用于若是,则从所述基础数据组中随机剔除N-n项数据;
第一随机排列子模块,用于将所述基础数据组内的剩余数据进行随机排列;
第一设置子模块,用于将数据随机排列后的所述基础数据组设置为所述目标数据组;
第二生成模块,用于若否,则生成不包含数据的空的过渡数据组;
抽取并置入模块,用于从所述基础数据组中随机抽取n项数据并置入所述过渡数据组;
设置模块,用于将所述过渡数据组设置为所述目标数据组。
5.根据权利要求4所述的装置,其特征在于,所述剔除模块包括:
基础数据组数据项数判断子模块,用于判断所述基础数据组的数据项数是否等于n;
基础数据组数据项数判定子模块,用于若是,则停止剔除;若否,则从所述基础数据组中随机剔除一项数据,直至所述基础数据组的数据项数等于n。
6.一种终端,其特征在于,包括:一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端执行如权利要求1至3任一项所述的生成随机数据组的方法。
7.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1至3任一项所述的生成随机数据组的方法。
CN201911422119.7A 2019-12-31 2019-12-31 一种生成随机数据组的方法和装置 Active CN111176611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911422119.7A CN111176611B (zh) 2019-12-31 2019-12-31 一种生成随机数据组的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911422119.7A CN111176611B (zh) 2019-12-31 2019-12-31 一种生成随机数据组的方法和装置

Publications (2)

Publication Number Publication Date
CN111176611A CN111176611A (zh) 2020-05-19
CN111176611B true CN111176611B (zh) 2023-10-31

Family

ID=70652461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911422119.7A Active CN111176611B (zh) 2019-12-31 2019-12-31 一种生成随机数据组的方法和装置

Country Status (1)

Country Link
CN (1) CN111176611B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106990938A (zh) * 2017-06-12 2017-07-28 迈普通信技术股份有限公司 随机数获取方法、装置及电子设备
CN107766486A (zh) * 2017-10-16 2018-03-06 山东浪潮通软信息科技有限公司 随机抽取样本数据的方法、装置、可读介质及存储控制器
CN109783058A (zh) * 2018-12-24 2019-05-21 深圳市珍爱捷云信息技术有限公司 用户身份码生成方法、装置、计算机设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0102840D0 (en) * 2001-02-05 2001-03-21 Cambridge Silicon Radio Ltd Generating random data
US20130227662A1 (en) * 2011-08-31 2013-08-29 Metaswitch Networks Ltd. Method of Generating a Token to be Used in a Uniform Resource Identifier

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106990938A (zh) * 2017-06-12 2017-07-28 迈普通信技术股份有限公司 随机数获取方法、装置及电子设备
CN107766486A (zh) * 2017-10-16 2018-03-06 山东浪潮通软信息科技有限公司 随机抽取样本数据的方法、装置、可读介质及存储控制器
CN109783058A (zh) * 2018-12-24 2019-05-21 深圳市珍爱捷云信息技术有限公司 用户身份码生成方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111176611A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111090628B (zh) 一种数据处理方法、装置、存储介质及电子设备
US9519535B1 (en) Two stage log normalization
US20120209921A1 (en) Instant Message Management Method and Apparatus
CN109947924B (zh) 对话系统训练数据构建方法、装置、电子设备及存储介质
CN110287146B (zh) 应用下载的方法、设备和计算机存储介质
CN110019873B (zh) 人脸数据处理方法、装置及设备
CN113378855A (zh) 用于处理多任务的方法、相关装置及计算机程序产品
CN110826036A (zh) 用户操作行为安全性的识别方法、装置和电子设备
CN110955640A (zh) 跨系统数据文件的处理方法、装置、服务器和存储介质
CN112613964A (zh) 一种对账方法、装置、设备及存储介质
CN109086097B (zh) 一种小程序的启动方法、装置、服务器及存储介质
CN107729944B (zh) 一种低俗图片的识别方法、装置、服务器及存储介质
CN111176611B (zh) 一种生成随机数据组的方法和装置
CN110737678B (zh) 一种数据查找方法、装置、设备和存储介质
CN110515749B (zh) 信息发送的队列调度的方法、装置、服务器和存储介质
CN107992457B (zh) 一种信息转换方法、装置、终端设备及存储介质
CN116796085A (zh) 一种文件处理方法、装置、电子设备及存储介质
CN113485835B (zh) 一种多场景下共享内存的实现方法、系统、设备及介质
CN114936187A (zh) 数据文件的处理方法、装置、设备及存储介质
CN115730104A (zh) 直播间处理方法、装置、设备及介质
CN111078821B (zh) 字典设置方法、装置、介质及电子设备
CN110085237B (zh) 交互过程的恢复方法、装置及设备
CN114281761A (zh) 一种数据文件加载方法、装置、计算机设备及存储介质
CN113378025A (zh) 数据处理方法、装置、电子设备及存储介质
CN112181641A (zh) 线程处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant