一种分布式不重复随机序列生成方法和系统与流程

文档序号:26919874发布日期:2021-10-09 16:31阅读:来源:国知局

技术特征:
1.一种分布式不重复随机序列生成方法,所述方法包括如下步骤:划分区块,用于分布式管理,将用于生成随机数的数据存储空间划分为m个区,所述的每个区包含n个块,其中,m和n为自然数;其中,所述m个区分别均包含缓存队列,所述缓存队列用于存储从块中读入的随机数;其中,对于数据存储空间中的某一个位,通过块的编号与位在块内的偏移位置计算出全局地址,该全局地址即对应为所述要生成的随机数字;其中,所述数据存储空间的块的每一个位的值为1或0,其中,1代表对应位置的随机数已使用,0代表对应位置的随机数未使用。2.根据权利要求1所述的分布式不重复随机序列生成方法,其中,所述方法还包括如下步骤:生成随机数,从所述数据存储空间的m个区中随机选择一个区,查看该区中的缓存队列是否有数据,其中,如所述缓存队列中有数据,从所述缓存队列中取出一个作为生成随机数的结果,返回该随机数对应的全局地址作为生成的随机数;其中,如所述缓存队列中无数据,随机选择n1个块读入所述缓存队列的内存中;对于某一个块,随机选择一个偏移位置,然后向下搜索一个值为0的位,所述值为0的位即为一个随机数;对于一个块,以上搜索执行n2次,返回n2个随机数;n1个块总计获得n1×
n2个随机数,存入所述缓存队列;所述n1、n2为自然数。3.根据权利要求1所述的分布式不重复随机序列生成方法,其中,所述分布式管理包括:序列号服务,用于接收客户端请求,生成随机数流程;配置管理服务,用于管理分布式节点信息。4.根据权利要求3所述的分布式不重复随机序列生成方法,其中,所述分布式管理包括3个序列号服务和3个配置管理服务;多个配置管理服务节点构成一个分布式系统,有一个主节点,其余的节点为从节点。5.根据权利要求3所述的分布式不重复随机序列生成方法,其中,所述序列号服务管理多个数据分区,不同的序列号服务会包含同一个数据分区,对于所述同一个数据分区会以主节点的名义存在于某个序列号服务里,当有数据变更时,变更操作会同步至其他的从节点,所述同一个数据分区即为分布式数据组。6.一种分布式不重复随机序列生成系统,所述系统包括:序列号服务模块,用于接收客户端请求,生成随机数流程;随机数生成模块,用于生成不重复随机数;配置管理服务模块,用于管理分布式节点信息,其中,所述分布式不重复随机序列生成系统可通过媒介加载在计算机或任何服务器上。7.根据权利要求6所述的分布式不重复随机序列生成系统,其中,所述随机数生成模块将用于生成随机数的数据存储空间划分区块,用于分布式管理,将用于生成随机数的数据存储空间划分为m个区,所述的每个区包含n个块,
其中,m和n为自然数;其中,所述m个区分别均包含缓存队列,所述缓存队列用于存储从块中读入的随机数;其中,对于数据存储空间中的某一个位,通过块的编号与位在块内的偏移位置计算出全局地址,该全局地址即对应为所述要生成的随机数字;其中,所述数据存储空间的块的每一个位的值为1或0,其中,1代表对应位置的随机数已使用,0代表对应位置的随机数未使用。8.根据权利要求7所述的分布式不重复随机序列生成系统,其中,所述随机数生成模块生成随机数,从所述数据存储空间的m个区中随机选择1个区,查看该区中的缓存队列是否有数据,其中,如所述缓存队列中有数据,从所述缓存队列中取出一个作为生成随机数的结果,返回该随机数对应的全局地址作为生成的随机数;其中,如所述缓存队列中无数据,随机选择n1个块读入所述缓存队列的内存中;对于某一个块,随机选择一个偏移位置,然后向下搜索一个值为0的位,所述值为0的位即为一个随机数;对于一个块,以上搜索执行n2次,返回n2个随机数;n1个块总计获得n1×
n2个随机数,存入所述缓存队列;所述n1、n2为自然数。9.根据权利要求6所述的分布式不重复随机序列生成系统,其中,所述配置管理服务模块接收配置管理客户端的请求,接收序列号服务模块发送的节点心跳,收集在线中的序列号服务节点信息;序列号服务节点增加或减少时,重新分配分区给合适的序列号节点;通过节点心跳响应实现:节点停止、启动分区;通过分区心跳响应实现:分区停止、分区增加节点、分区主节点变更。10.根据权利要求6所述的分布式不重复随机序列生成系统,其中,所述序列号服务模块接收序列号客户端的请求,由分区的从节点转发客户端请求至分区的主节点;维护节点状态;定时上报节点心跳;维护多个分区的状态,每个分区定时上报分区心跳;分区的从节点定时发送心跳给主节点;分区主节点在从节点心跳的响应中,同步数据块的写操作。

技术总结
本申请涉及一种分布式不重复随机序列生成方法和系统,其方法包括:划分区块,便于分布式管理,即将用于生成随机数的数据存储空间划分为m个区,的每个区包含n个块,其中,m和n为自然数;m个区分别均包含缓存队列,缓存队列用于存储从块中读入的随机数;对于数据存储空间中的某一个位(bit),通过块的编号与位在块内的偏移位置计算出全局地址,该全局地址即对应为要生成的随机数字;数据存储空间的块的每一个位的值为1或0,其中,1代表对应位置的随机数已使用,0代表对应位置的随机数未使用。本申请的序列生成方法和系统采用分布式不重复的方式,使生成的序列号随机数随机性和不重复性达到一个平衡,也保证了系统性能。也保证了系统性能。


技术研发人员:门南南
受保护的技术使用者:易百信息技术(上海)股份有限公司
技术研发日:2021.07.14
技术公布日:2021/10/8
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1