CN111596889A - 伪随机方法、系统、移动终端及存储介质 - Google Patents
伪随机方法、系统、移动终端及存储介质 Download PDFInfo
- Publication number
- CN111596889A CN111596889A CN202010290290.3A CN202010290290A CN111596889A CN 111596889 A CN111596889 A CN 111596889A CN 202010290290 A CN202010290290 A CN 202010290290A CN 111596889 A CN111596889 A CN 111596889A
- Authority
- CN
- China
- Prior art keywords
- random
- round
- target
- new
- coefficient
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
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)
- Pinball Game Machines (AREA)
Abstract
本发明提供了一种伪随机方法、系统、移动终端及存储介质,该方法包括:根据本地预存储的预设随机种子和随机指令中的随机总次数计算轮次数;将轮次数与随机指令中目标列表的第一个随机目标进行存储,得到当前随机系数;根据预设随机种子生成新随机种子,根据新随机种子和随机总次数重新计算轮次数;将计算得到的轮次数与对应随机目标进行存储,得到新随机系数;根据新随机种子进行随机数的生成,根据随机数生成结果重新进行轮次数的计算和新随机系数的生成;根据当前随机系数和新随机系数生成随机列表。本发明无需对随机目标当前已经出现的次数进行记录,通过预设随机种子与随机总次数之间的运算,得到随机目标出现的轮次数,降低了数据存储量。
Description
技术领域
本发明属于伪随机技术领域,尤其涉及一种伪随机方法、系统、移动终端及存储介质。
背景技术
在计算机或单片微机中使用的随机数并非严格意义上的“随机数”,而是按照一定的数学方法产生的数列,但只要这种数列符合均匀性、抽样随机性等统计要求,便被当作随机数来使用,并称为伪随机数,而伪随机数的生成过程即为伪随机方法,伪随机方法广泛的应用于信息通讯、数据加密和计算机数据处理技术领域。
现有的伪随机方法使用过程中,需要记录每项随机目标当前已经出现的次数,记录数据的量会跟随机目标的类型成正比,进而导致数据库记录数据较多,降低了数据处理效率。
发明内容
本发明实施例的目的在于提供一种伪随机方法、系统、移动终端及存储介质,旨在解决现有的伪随机方法使用过程中,由于需要记录每项随机目标当前已出现的次数所导致数据处理效率低下的问题。
本发明实施例是这样实现的,一种伪随机方法,所述方法包括:
当接收到随机指令时,获取本地预存储的预设随机种子和所述随机指令中存储的随机总次数;
根据所述预设随机种子和所述随机总次数计算轮次数,并获取所述随机指令中存储的目标列表,所述目标列表中存储有至少一个随机目标;
将所述轮次数与第一个所述随机目标进行存储,得到当前随机系数,所述轮次数为第一个所述随机目标出现的轮次;
对所述预设随机种子进行随机数的生成,得到新随机种子,并根据所述新随机种子和所述随机总次数重新计算所述轮次数;
将计算得到的所述轮次数与对应所述随机目标进行存储,得到新随机系数;
根据所述新随机种子进行随机数的生成,并根据所述新随机种子的随机数生成结果重新进行所述轮次数的计算和所述新随机系数的生成;
根据所述当前随机系数和所有所述新随机系数生成随机列表,所述随机列表中存储有每个所述随机目标所对应出现的轮次。
更进一步的,所述根据所述新随机种子和所述随机总次数重新计算所述轮次数的步骤之后,所述方法还包括:
判断计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数是否相同;
当判断到计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数相同时,则根据计算得到的所述轮次数对应的所述新随机种子进行随机数的生成。
更进一步的,所述将计算得到的所述轮次数与对应所述随机目标进行存储的步骤包括:
获取所述目标列表中所述随机目标的出现顺序,并在所述出现顺序中删除第一个所述随机目标;
根据删除后的所述出现顺序,将计算得到的所述轮次数与对应顺序的所述随机目标进行存储。
更进一步的,所述根据所述新随机种子和所述随机总次数重新计算所述轮次数的步骤包括:
计算所述新随机种子与所述随机总次数之间商值的余数,以得到所述轮次数。
更进一步的,所述根据所述新随机种子的随机数生成结果重新进行所述轮次数的计算和所述新随机系数的生成的步骤之后,所述方法还包括:
当判断到随机系数的数量等于所述目标列表中所述随机目标的总个数时,停止对所述新随机种子随机数的生成。
更进一步的,所述根据所述当前随机系数和所有所述新随机系数生成随机列表的步骤之后,所述方法还包括:
根据所述随机列表进行目标随机,并获取针对所述随机列表的随机生成轮次;
将所述随机生成轮次与所述随机列表中随机系数中存储的所述轮次数进行匹配,当所述随机生成轮次与所述轮次数匹配成功时,将匹配到的所述轮次数对应的所述随机目标设置为所述随机生成轮次的随机结果。
本发明实施例的另一目的在于提供一种伪随机系统,所述系统包括:
随机参数获取模块,用于当接收到随机指令时,获取本地预存储的预设随机种子和所述随机指令中存储的随机总次数;
目标列表获取模块,用于根据所述预设随机种子和所述随机总次数计算轮次数,并获取所述随机指令中存储的目标列表,所述目标列表中存储有至少一个随机目标;
轮次数存储模块,用于将所述轮次数与第一个所述随机目标进行存储,得到当前随机系数,所述轮次数为第一个所述随机目标出现的轮次;
随机种子生成模块,用于对所述预设随机种子进行随机数的生成,得到新随机种子,并根据所述新随机种子和所述随机总次数重新计算所述轮次数;
随机系数生成模块,用于将计算得到的所述轮次数与对应所述随机目标进行存储,得到新随机系数;
随机循环模块,用于根据所述新随机种子进行随机数的生成,并根据所述新随机种子的随机数生成结果重新进行所述轮次数的计算和所述新随机系数的生成;
随机列表生成模块,用于根据所述当前随机系数和所有所述新随机系数生成随机列表,所述随机列表中存储有每个所述随机目标所对应出现的轮次。
更进一步的,所述伪随机系统还包括:
轮次数重复判断模块,用于判断计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数是否相同;
当判断到计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数相同时,则根据计算得到的所述轮次数对应的所述新随机种子进行随机数的生成。
本发明实施例的另一目的在于提供一种移动终端,包括存储设备以及处理器,所述存储设备用于存储计算机程序,所述处理器运行所述计算机程序以使所述移动终端执行上述的伪随机方法。
本发明实施例的另一目的在于提供一种存储介质,其存储有上述的移动终端中所使用的计算机程序,该计算机程序被处理器执行时实现上述的伪随机方法的步骤。
本发明实施例,无需对每项随机目标当前已经出现的次数进行记录,而是基于本地存储的预设随机种子与获取到的随机总次数之间的运算,得到随机目标出现的轮次数,并基于该轮次数生成随机系数和随机列表,有效的保障了各个随机目标出现的随机概率,且降低了伪随机方法实施过程中的数据存储量,提高了数据处理效率。
附图说明
图1是本发明第一实施例提供的伪随机方法的流程图;
图2是本发明第二实施例提供的伪随机方法的流程图;
图3是本发明第三实施例提供的伪随机系统的结构示意图;
图4是本发明第四实施例提供的移动终端的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
实施例一
请参阅图1,是本发明第一实施例提供的伪随机方法的流程图,包括步骤:
步骤S10,当接收到随机指令时,获取本地预存储的预设随机种子和所述随机指令中存储的随机总次数;
其中,该预设随机种子的数值可以根据需求进行设置,例如该预设随机种子可以设置为32位的整数、48位的整数等,优选的,该随机总次数采用数值的方式存储在该随机指令中,该随机总次数可根据用户需求进行设置;
例如在抽奖系统的应用中:需要进行1000次抽奖,有1个一等奖、2个二等奖、3个三等奖和4个四等奖,其剩余抽奖结果为安慰奖,即有990个安慰奖,则该随机总次数为1000;
在卡牌游戏的抽卡系统应用中:抽卡规则为1%概率抽到5星卡牌、2%概率抽到4星卡牌、3%概率抽到3星卡牌、34%概率抽到2星卡牌和60%概率抽到1星卡牌时,则对应可以转换为抽奖100次,会出现1张5星卡牌、2张4星卡牌、3张3星卡牌和34张2星卡牌,其剩余抽卡结果为1星卡牌,即有60张1星卡牌,则该随机总次数为100;
步骤S20,根据所述预设随机种子和所述随机总次数计算轮次数,并获取所述随机指令中存储的目标列表;
其中,所述目标列表中存储有至少一个随机目标,该轮次数为对应随机目标出现的轮次,该随机目标的数量可以根据需求进行设置,例如在抽奖系统的应用中,该“一等奖”、“一等奖”、“二等奖”、“三等奖”、“四等奖”和“安慰奖”为该随机目标,即在抽奖过程中随机出现上述奖项;
可以理解的,在卡牌游戏的抽卡系统中,该“5星卡牌”、“4星卡牌”、“3星卡牌”、“2星卡牌”和“1星卡牌”为该随机目标,优选的,该目标列表中存储有所有随机目标的名称和对应的随机数量,例如,该目标列表可以为(1个一等奖、2个二等奖、3个三等奖、4个四等奖和990个安慰奖),或(1张5星卡牌、2张4星卡牌、3张3星卡牌、34张2星卡牌和60张1星卡牌);
步骤S30,将所述轮次数与第一个所述随机目标进行存储,得到当前随机系数;
其中,所述轮次数为第一个所述随机目标出现的轮次,当目标列表为(1个一等奖、2个二等奖、3个三等奖、4个四等奖和990个安慰奖)时,则第一个所述随机目标为“一等奖”,当目标列表为(1张5星卡牌、2张4星卡牌、3张3星卡牌、34张2星卡牌和60张1星卡牌)时,则第一个所述随机目标为“5星卡牌”,例如当计算得到的轮次数为99时,则判定1000次随机抽奖过程中,第99次抽奖的结果为“一等奖”,例如当计算得到的轮次数为99时,则判定100次随机抽卡过程中,第99次抽卡的结果为“5星卡牌”;
具体的,该步骤中,通过生成随机系数的方式,有效的方便了后续伪随机过程的实时,当该轮次数为99,第一个所述随机目标为“一等奖”时,则得到的当前随机系数为(99,一等奖),当轮次数为50,第一个所述随机目标为安慰奖时,则得到的当前随机系数为(50,安慰奖);
步骤S40,对所述预设随机种子进行随机数的生成,得到新随机种子,并根据所述新随机种子和所述随机总次数重新计算所述轮次数;
其中,该预设随机种子生成该新随机种子所采用的数值随机生成方法可以根据需求进行选择,例如该数值随机生成方法可以为混合同余法、均匀分布随机法、正态分布随机法或对数正态分布随机法等;
具体的,该步骤中当预设随机种子为数值A1、随机总次数为B,根据该A1和B计算得到的轮次数为C1,A1生成的新随机种子为A2时,则根据A2与和B重新计算轮次数,得到C2;
步骤S50,将计算得到的所述轮次数与对应所述随机目标进行存储,得到新随机系数;
其中,将计算得到的轮次数C2与该目标列表中第二个随机目标进行存储,以得到新随机系数,即第二个随机系数,例如当目标列表为(1个一等奖、2个二等奖、3个三等奖、4个四等奖和990个安慰奖)时,则该目标列表的实质顺序为(一等奖、二等奖、二等奖、三等奖、三等奖、三等奖、四等奖、四等奖、四等奖、四等奖、安慰奖、安慰奖、安慰奖...),其中共990个安慰奖,因此,将该轮次数C2与二等奖进行存储,得到新随机系数(C2,二等奖);
步骤S60,根据所述新随机种子进行随机数的生成,并根据所述新随机种子的随机数生成结果重新进行所述轮次数的计算和所述新随机系数的生成;
其中,根据该新随机种子A2生成新随机种子A3,并根据A3和随机总次数B生成轮次数C3,将轮次数C3与对应随机目标进行存储再次生成一个新随机系数;
可以理解的,该步骤中,持续进行新随机种子的生成,即根据新随机种子A3生成新随机种子A4、根据新随机种子A4生成新随机种子A5...根据新随机种子AN生成新随机种子A(N+1),并根据新随机种子A(N+1)和随机总次数B生成轮次数C(N+1),将轮次数C(N+1)与对应随机目标进行存储再次生成一个新随机系数;
步骤S70,根据所述当前随机系数和所有所述新随机系数生成随机列表,所述随机列表中存储有每个所述随机目标所对应出现的轮次;
其中,该随机列表中存储有每个轮次数与对应出现的随机目标,优选的,该步骤中,通过对所有随机系数中的轮次数进行排序以得到出现列表,该出现列表为:(1,随机目标X)、(2,随机目标Y)、(3,随机目标S)....(C(N+1)、随机目标K),根据该出现列表针对该随机指令进行随机时,则第一轮次随机到的结果为随机目标X、第二轮次随机到的结果为随机目标Y、第三轮次随机到的结果为随机目标S、第C(N+1)轮次随机到的结果为随机目标K;
本实施例,无需对每项随机目标当前已经出现的次数进行记录,只需存储预设随机种子,通过基于本地存储的预设随机种子与获取到的随机总次数之间的运算,得到随机目标出现的轮次数,并基于该轮次数生成随机系数和随机列表,有效的保障了各个随机目标出现的随机概率,且降低了伪随机方法实施过程中的数据存储量,提高了数据处理效率。
实施例二
请参阅图2,是本发明第二实施例提供的伪随机方法的流程图,包括步骤:
步骤S11,当接收到随机指令时,获取本地预存储的预设随机种子和所述随机指令中存储的随机总次数;
步骤S21,根据所述预设随机种子和所述随机总次数计算轮次数,并获取所述随机指令中存储的目标列表;
其中,所述目标列表中存储有至少一个随机目标,优选的,该步骤中,通过计算预设随机种子与随机总次数之间商值的余数,以得到该轮次数;
例如当该预设随机种子为999,随机总次数为100时,则计算得到的轮次数为余数99;
步骤S31,将所述轮次数与第一个所述随机目标进行存储,得到当前随机系数;
其中,所述轮次数为第一个所述随机目标出现的轮次,当目标列表为(1个一等奖、2个二等奖、3个三等奖、4个四等奖和990个安慰奖)时,则得到的当前随机系数为(99,一等奖),则判定在1000次抽奖过程中,第99轮次抽奖的结果为一等奖;
步骤S41,对所述预设随机种子进行随机数的生成,得到新随机种子,并根据所述新随机种子和所述随机总次数重新计算所述轮次数;
其中,该步骤中,所述根据所述新随机种子和所述随机总次数重新计算所述轮次数的步骤包括:
计算所述新随机种子与所述随机总次数之间商值的余数,以得到所述轮次数;
具体的,当预设随机种子为999生成的新随机种子为995时,则计算995与随机总次数100之间商值的余数,得到余数95,余数95为新的轮次数;
步骤S51,获取所述目标列表中所述随机目标的出现顺序,并在所述出现顺序中删除第一个所述随机目标;
其中,该目标列表(1个一等奖、2个二等奖、3个三等奖、4个四等奖和990个安慰奖)的出现顺序为(一等奖、二等奖、二等奖、三等奖、三等奖、三等奖、四等奖、四等奖、四等奖、四等奖、安慰奖、安慰奖、安慰奖...),其中共990个安慰奖,因此,将第一个所述随机目标“一等奖”进行删除,得到出现顺序(二等奖、二等奖、三等奖、三等奖、三等奖、四等奖、四等奖、四等奖、四等奖、安慰奖、安慰奖、安慰奖...);
步骤S61,根据删除后的所述出现顺序,将计算得到的所述轮次数与对应顺序的所述随机目标进行存储,得到新随机系数;
其中,例如针对第二个计算得到的轮次数95,则将数值95与第二个随机目标“二等奖”进行存储,以得到新随机系数;
步骤S71,根据所述新随机种子进行随机数的生成,并根据所述新随机种子的随机数生成结果重新进行所述轮次数的计算和所述新随机系数的生成;
其中,可以通过获取当前随机次数以查询当前计算得到的轮次数与对应随机目标之间的存储关系,例如针对出现顺序中第一个随机目标的当前随机次数为第一次、第二个随机目标的当前随机次数为第二次、第三个随机目标的当前随机次数为第三次,基于该随机目标当前随机次数的获取,以使将对应随机次数下计算得到的轮次数与出现顺序中的随机目标进行存储,以得到新随机系数;
例如针对计算得到的轮次数95,则对应的随机目标为“二等奖”,且由于该标出现顺序中有2个“二等奖”奖,因此,后续计算得到的第三个轮次数对应的随机目标也是“二等奖”,计算得到的第四个轮次数对应的随机目标为“三等奖”;
步骤S81,判断计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数是否相同;
例如,当生成的新随机种子为95时,新随机种子为95与随机总次数100之间商值的余数为95,但由于该轮次数与第二次计算得到的轮次数相同,因此,将当前轮次数和轮次数对应的新随机系数进行删除;
本实施例中,当对新随机系数进行删除时,所有随机目标所对应的随机系数的数量不变,例如当前得到的新随机系数为(95,三等奖)时,对新随机系数(95,三等奖)进行删除后,再次计算得到的轮次数任是与上一轮未存储的随机目标进行存储,组成新随机系数,以防止随机目标出现次数的错误;
例如,基于新随机种子为95生成新随机种子77,新随机种子77与随机总次数100之间商值的余数为77,该轮次数77未与所述当前随机系数或所述新随机系数中存储的轮次数相同时,将该轮次数77与上一轮未存储的随机目标“三等奖”进行存储,组成新随机系数;
当判断到计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数不相同时,对所述新随机系数进行存储,并将当前随机次数+1;
当判断到计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数相同时,不进行该当前随机次数的累加,并执行步骤S91;
执行步骤S91,删除所述轮次数对应的随机系数,并返回执行步骤S71;
步骤S101,判断到随机系数的数量是否等于所述目标列表中所述随机目标的总个数;
当判断到随机系数的数量等于所述目标列表中所述随机目标的总个数时,执行步骤S111;
步骤S111,停止对所述新随机种子随机数的生成;
其中,当判断到随机系数的数量等于所述目标列表中所述随机目标的总个数时,则判定所有随机目标均对应存在一个轮次数,此时已完成所有随机目标随机结果的设置,因此,停止对所述新随机种子随机数的生成,以防止新随机系数的再次生成。
进一步的,本实施例中,还可以通过判断当前随机次数是否等于所述随机总次数,以判断是否已完成所有随机目标随机结果的设置。
步骤S121,根据所述当前随机系数和所有所述新随机系数生成随机列表,所述随机列表中存储有每个所述随机目标所对应出现的轮次;
具体的,该步骤中,所述根据所述当前随机系数和所有所述新随机系数生成随机列表的步骤之后,所述方法还包括:
根据所述随机列表进行目标随机,并获取随机生成轮次;
将所述随机生成轮次与所述随机列表中随机系数中存储的所述轮次数进行匹配,当所述随机生成轮次与所述轮次数匹配成功时,将匹配到的所述轮次数对应的所述随机目标设置为所述随机生成轮次的随机结果。
本实施例中,无需对每项随机目标当前已经出现的次数进行记录,只需存储预设随机种子,通过基于本地存储的预设随机种子与获取到的随机总次数之间的运算,得到随机目标出现的轮次数,并基于该轮次数生成随机系数和随机列表,有效的保障了各个随机目标出现的随机概率,且降低了伪随机方法实施过程中的数据存储量,提高了数据处理效率。
实施例三
请参阅图3,是本发明第三实施例提供的伪随机系统100的结构示意图,包括:随机参数获取模块10、目标列表获取模块11、轮次数存储模块12、随机种子生成模块13、随机系数生成模块14、随机循环模块15和随机列表生成模块16,其中:
随机参数获取模块10,用于当接收到随机指令时,获取本地预存储的预设随机种子和所述随机指令中存储的随机总次数。
目标列表获取模块11,用于根据所述预设随机种子和所述随机总次数计算轮次数,并获取所述随机指令中存储的目标列表,所述目标列表中存储有至少一个随机目标。
轮次数存储模块12,用于将所述轮次数与第一个所述随机目标进行存储,得到当前随机系数,所述轮次数为第一个所述随机目标出现的轮次。
随机种子生成模块13,用于对所述预设随机种子进行随机数的生成,得到新随机种子,并根据所述新随机种子和所述随机总次数重新计算所述轮次数。
其中,所述随机种子生成模块13还用于:判断计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数是否相同;
当判断到计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数相同时,则根据计算得到的所述轮次数对应的所述新随机种子进行随机数的生成。
优选的,所述随机种子生成模块13还用于:计算所述新随机种子与所述随机总次数之间商值的余数,以得到所述轮次数。
随机系数生成模块14,用于将计算得到的所述轮次数与对应所述随机目标进行存储,得到新随机系数。
其中,所述随机系数生成模块14还用于:获取所述目标列表中所述随机目标的出现顺序,并在所述出现顺序中删除第一个所述随机目标;
根据删除后的所述出现顺序,将计算得到的所述轮次数与对应顺序的所述随机目标进行存储。
随机循环模块15,用于根据所述新随机种子进行随机数的生成,并根据所述新随机种子的随机数生成结果重新进行所述轮次数的计算和所述新随机系数的生成。
随机列表生成模块16,用于根据所述当前随机系数和所有所述新随机系数生成随机列表,所述随机列表中存储有每个所述随机目标所对应出现的轮次。
其中,所述随机列表生成模块16还用于:根据所述随机列表进行目标随机,并获取针对所述随机列表的随机生成轮次;
将所述随机生成轮次与所述随机列表中随机系数中存储的所述轮次数进行匹配,当所述随机生成轮次与所述轮次数匹配成功时,将匹配到的所述轮次数对应的所述随机目标设置为所述随机生成轮次的随机结果。
此外,本实施例中,所述伪随机系统100还包括:
停止控制模块17,用于当判断到随机系数的数量等于所述目标列表中所述随机目标的总个数时,停止对所述新随机种子随机数的生成。
本实施例,无需对每项随机目标当前已经出现的次数进行记录,只需存储预设随机种子,通过基于本地存储的预设随机种子与获取到的随机总次数之间的运算,得到随机目标出现的轮次数,并基于该轮次数生成随机系数和随机列表,有效的保障了各个随机目标出现的随机概率,且降低了伪随机方法实施过程中的数据存储量,提高了数据处理效率。
实施例四
请参阅图4,是本发明第四实施例提供的移动终端101,包括存储设备以及处理器,所述存储设备用于存储计算机程序,所述处理器运行所述计算机程序以使所述移动终端101执行上述的伪随机方法。
本实施例还提供了一种存储介质,其上存储有上述移动终端101中所使用的计算机程序,该程序在执行时,包括如下步骤:
当接收到随机指令时,获取本地预存储的预设随机种子和所述随机指令中存储的随机总次数;
根据所述预设随机种子和所述随机总次数计算轮次数,并获取所述随机指令中存储的目标列表,所述目标列表中存储有至少一个随机目标;
将所述轮次数与第一个所述随机目标进行存储,得到当前随机系数,所述轮次数为第一个所述随机目标出现的轮次;
对所述预设随机种子进行随机数的生成,得到新随机种子,并根据所述新随机种子和所述随机总次数重新计算所述轮次数;
将计算得到的所述轮次数与对应所述随机目标进行存储,得到新随机系数;
根据所述新随机种子进行随机数的生成,并根据所述新随机种子的随机数生成结果重新进行所述轮次数的计算和所述新随机系数的生成;
根据所述当前随机系数和所有所述新随机系数生成随机列表,所述随机列表中存储有每个所述随机目标所对应出现的轮次。所述的存储介质,如:ROM/RAM、磁碟、光盘等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元或模块完成,即将存储装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施方式中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
本领域技术人员可以理解,图3中示出的组成结构并不构成对本发明的伪随机系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,而图1-2中的伪随机方法亦采用图3中所示的更多或更少的部件,或者组合某些部件,或者不同的部件布置来实现。本发明所称的单元、模块等是指一种能够被所述目标伪随机系统中的处理器(图未示)所执行并功能够完成特定功能的一系列计算机程序,其均可存储于所述目标伪随机系统的存储设备(图未示)内。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种伪随机方法,其特征在于,所述方法包括:
当接收到随机指令时,获取本地预存储的预设随机种子和所述随机指令中存储的随机总次数;
根据所述预设随机种子和所述随机总次数计算轮次数,并获取所述随机指令中存储的目标列表,所述目标列表中存储有至少一个随机目标;
将所述轮次数与第一个所述随机目标进行存储,得到当前随机系数,所述轮次数为第一个所述随机目标出现的轮次;
对所述预设随机种子进行随机数的生成,得到新随机种子,并根据所述新随机种子和所述随机总次数重新计算所述轮次数;
将计算得到的所述轮次数与对应所述随机目标进行存储,得到新随机系数;
根据所述新随机种子进行随机数的生成,并根据所述新随机种子的随机数生成结果重新进行所述轮次数的计算和所述新随机系数的生成;
根据所述当前随机系数和所有所述新随机系数生成随机列表,所述随机列表中存储有每个所述随机目标所对应出现的轮次。
2.如权利要求1所述的伪随机方法,其特征在于,所述根据所述新随机种子和所述随机总次数重新计算所述轮次数的步骤之后,所述方法还包括:
判断计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数是否相同;
当判断到计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数相同时,则根据计算得到的所述轮次数对应的所述新随机种子进行随机数的生成。
3.如权利要求1所述的伪随机方法,其特征在于,所述将计算得到的所述轮次数与对应所述随机目标进行存储的步骤包括:
获取所述目标列表中所述随机目标的出现顺序,并在所述出现顺序中删除第一个所述随机目标;
根据删除后的所述出现顺序,将计算得到的所述轮次数与对应顺序的所述随机目标进行存储。
4.如权利要求1所述的伪随机方法,其特征在于,所述根据所述新随机种子和所述随机总次数重新计算所述轮次数的步骤包括:
计算所述新随机种子与所述随机总次数之间商值的余数,以得到所述轮次数。
5.如权利要求1所述的伪随机方法,其特征在于,所述根据所述新随机种子的随机数生成结果重新进行所述轮次数的计算和所述新随机系数的生成的步骤之后,所述方法还包括:
当判断到随机系数的数量等于所述目标列表中所述随机目标的总个数时,停止对所述新随机种子随机数的生成。
6.如权利要求1所述的伪随机方法,其特征在于,所述根据所述当前随机系数和所有所述新随机系数生成随机列表的步骤之后,所述方法还包括:
根据所述随机列表进行目标随机,并获取针对所述随机列表的随机生成轮次;
将所述随机生成轮次与所述随机列表中随机系数中存储的所述轮次数进行匹配,当所述随机生成轮次与所述轮次数匹配成功时,将匹配到的所述轮次数对应的所述随机目标设置为所述随机生成轮次的随机结果。
7.一种伪随机系统,其特征在于,所述系统包括:
随机参数获取模块,用于当接收到随机指令时,获取本地预存储的预设随机种子和所述随机指令中存储的随机总次数;
目标列表获取模块,用于根据所述预设随机种子和所述随机总次数计算轮次数,并获取所述随机指令中存储的目标列表,所述目标列表中存储有至少一个随机目标;
轮次数存储模块,用于将所述轮次数与第一个所述随机目标进行存储,得到当前随机系数,所述轮次数为第一个所述随机目标出现的轮次;
随机种子生成模块,用于对所述预设随机种子进行随机数的生成,得到新随机种子,并根据所述新随机种子和所述随机总次数重新计算所述轮次数;
随机系数生成模块,用于将计算得到的所述轮次数与对应所述随机目标进行存储,得到新随机系数;
随机循环模块,用于根据所述新随机种子进行随机数的生成,并根据所述新随机种子的随机数生成结果重新进行所述轮次数的计算和所述新随机系数的生成;
随机列表生成模块,用于根据所述当前随机系数和所有所述新随机系数生成随机列表,所述随机列表中存储有每个所述随机目标所对应出现的轮次。
8.如权利要求7所述的伪随机系统,其特征在于,所述伪随机系统还包括:
轮次数重复判断模块,用于判断计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数是否相同;
当判断到计算得到的所述轮次数与所述当前随机系数或所述新随机系数中存储的轮次数相同时,则根据计算得到的所述轮次数对应的所述新随机种子进行随机数的生成。
9.一种移动终端,其特征在于,包括存储设备以及处理器,所述存储设备用于存储计算机程序,所述处理器运行所述计算机程序以使所述移动终端执行根据权利要求1至6任一项所述的伪随机方法。
10.一种存储介质,其特征在于,其存储有权利要求9所述的移动终端中所使用的计算机程序,该计算机程序被处理器执行时实现权利要求1至6任一项所述的伪随机方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290290.3A CN111596889B (zh) | 2020-04-14 | 2020-04-14 | 伪随机方法、系统、移动终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010290290.3A CN111596889B (zh) | 2020-04-14 | 2020-04-14 | 伪随机方法、系统、移动终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111596889A true CN111596889A (zh) | 2020-08-28 |
CN111596889B CN111596889B (zh) | 2023-05-02 |
Family
ID=72190688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010290290.3A Active CN111596889B (zh) | 2020-04-14 | 2020-04-14 | 伪随机方法、系统、移动终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111596889B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120134491A1 (en) * | 2010-11-29 | 2012-05-31 | Beijing Z & W Technology Consulting Co., Ltd | Cloud Storage Data Encryption Method, Apparatus and System |
CN105760136A (zh) * | 2016-02-03 | 2016-07-13 | 江苏熟店宝科技有限公司 | 基于伪随机数的多维度可控算法 |
US20180270045A1 (en) * | 2017-03-16 | 2018-09-20 | King Fahd University Of Petroleum And Minerals | Double-hashing operation mode for encryption |
CN110058843A (zh) * | 2019-03-27 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 伪随机数的生成方法、装置和服务器 |
-
2020
- 2020-04-14 CN CN202010290290.3A patent/CN111596889B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120134491A1 (en) * | 2010-11-29 | 2012-05-31 | Beijing Z & W Technology Consulting Co., Ltd | Cloud Storage Data Encryption Method, Apparatus and System |
CN105760136A (zh) * | 2016-02-03 | 2016-07-13 | 江苏熟店宝科技有限公司 | 基于伪随机数的多维度可控算法 |
US20180270045A1 (en) * | 2017-03-16 | 2018-09-20 | King Fahd University Of Petroleum And Minerals | Double-hashing operation mode for encryption |
CN110058843A (zh) * | 2019-03-27 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 伪随机数的生成方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111596889B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040209660A1 (en) | Universal gaming engine | |
CN110489405B (zh) | 数据处理的方法、装置和服务器 | |
US7478083B2 (en) | Method and system for estimating cardinality in a database system | |
CN110737818A (zh) | 网络发布数据处理方法、装置、计算机设备和存储介质 | |
CN111723360B (zh) | 凭证码处理方法、装置及存储介质 | |
CN113129150A (zh) | 交易数据的处理方法、装置、终端设备及可读存储介质 | |
CN111596889A (zh) | 伪随机方法、系统、移动终端及存储介质 | |
WO2020052358A1 (en) | Method and system for game data processing, server and computer readable storage medium | |
CN111078413B (zh) | 一种定时任务的执行方法、装置、计算机设备及存储介质 | |
CN112579591A (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 | |
CN113419792A (zh) | 一种事件处理方法、装置、终端设备和存储介质 | |
EP0883426A1 (en) | Device and method for triggering a random event | |
CN109033469B (zh) | 一种搜索结果的排名方法、装置、终端及计算机存储介质 | |
CN109446162B (zh) | 确定移动互联网内目标移动终端的数据状态的方法及系统 | |
CN109582863B (zh) | 一种推荐方法及服务器 | |
CN108345495A (zh) | 一种多线程的加锁方法及服务器 | |
CN112328882A (zh) | 信息推荐方法、装置、终端设备及存储介质 | |
CN112615895A (zh) | 投票结果的生成与统计方法、装置及电子设备 | |
CN108280678B (zh) | 一种卡券动态生成方法和系统 | |
CN112612415B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN106469042A (zh) | 伪随机数的生成方法和装置 | |
US20230117694A1 (en) | Systems, methods, and devices for security attribute caching and accelerated wake times of secured environments | |
CN113821442B (zh) | 基于正态分布的压力测试方法、系统、终端及存储介质 | |
US20090083491A1 (en) | Storage System and Associated Methods | |
CN113824740B (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 |