一种基于约瑟夫环的大数据随机存取系统和方法技术方案

技术编号:15639349 阅读:183 留言:0更新日期:2017-06-15 22:59
本发明专利技术公开了一种基于约瑟夫环的大数据随机存取系统和方法,所述方法包括以下步骤:在UsbKey密钥的支持下,利用MT算法生成随机数和数据切片并加密存储到数据库;根据上次关闭参数或者默认启动参数,加载数据库中存储的随机数和数据切片以组合生成随机序列并分发给n个随机队列,从数据切片中利用约瑟夫环算法把需要装载的随机序列解密并装载到随机队列中;根据加载的数据切片信息监控是否需要加载新的数据切片信息;根据获取数据请求,在Usbkey中获取相应的约瑟夫参数,从随机队列获取数据。本发明专利技术的方法充分考虑了随机数据的安全和随机性,利用计算机技术实现了高速度获取随机数据,满足了大数据存取上的数据偏斜率问题。

【技术实现步骤摘要】
一种基于约瑟夫环的大数据随机存取系统和方法
本专利技术涉及一种大数据随机存取系统和方法,尤其涉及一种基于约瑟夫环的大数据随机存取系统和方法。
技术介绍
随机数算法在当今世界有着非常广泛的应用,例如金融、机械制造、IT网络等等。这也促使人们对随机数算法进行更加深入的研究,目前甚至有提供随机数服务的真随机数网站,利用大气噪声或者某种不可预测的大范围的随机源产生随机数。在实际应用中,应该采用什么样的随机数算法需要根据系统的不同要求进行选择。对于比较简单的需求,比如网站的随机验证码,使用操作系统自带的伪随机算法就可以满足要求。对于银行密码或数据加密,随机数的要求很严格甚至非常苛刻,一旦出问题有可能导致很大的损失。同时,大数据分区对随机数算法的要求是很高的,它直接影响着数据存储的分散是否一致。一个好的随机算法可以减少数据的偏离,从而提高查询速度。随着技术的进步,采用随机性非常高的伪随机算法与一系列复杂的内部逻辑机制相结合的方法产生随机数,可以满足要求。如此,虽然增加了程序的复杂度,但是不需要增加额外的硬件支持,而且在数千甚至上万年内可以保证随机数的不重复性。因此,本领域需要开发一种采用伪随机算法与内部逻辑机制相结合的系统和方法,以产生数据偏离少且安全保密程度高的随机数。
技术实现思路
为解决上述现有技术中的问题,本专利技术提供了一种基于约瑟夫环的大数据随机存取系统和方法。为实现上述目的,本专利技术的一种基于约瑟夫环的大数据随机存取方法的具体技术方案如下:一种基于约瑟夫环的大数据随机存取方法,包括以下步骤:步骤一,在UsbKey密钥的支持下,利用梅森素数旋转随机算法生成随机数和数据切片,并把随机数和数据切片加密存储到数据库;步骤二,在UsbKey密钥的支持下,根据上次关闭参数或者默认启动参数,加载数据库中存储的随机数和数据切片以组合生成随机序列,将生成的随机序列分发给n个随机队列,从数据切片中利用约瑟夫环算法把需要装载的随机序列解密并装载到随机队列中,以增加装载随机度;步骤三,根据加载的数据切片信息监控是否需要加载新的数据切片信息,当随机队列中的数据不足时,触发继续加载数据并分发给随机队列;步骤四,根据获取数据请求中的约瑟夫环参数索引,在Usbkey中获取相应的约瑟夫参数,从随机队列获取数据。根据本专利技术的另一方面,还提供了一种基于约瑟夫环的大数据随机存取系统,所述系统包括以下功能模块:随机数产生单元,可在UsbKey密钥的支持下,利用梅森素数旋转随机算法生成随机数和数据切片,并把随机数和数据切片加密存储到数据库中;随机序列装载分发单元,可在UsbKey密钥的支持下,根据上次关闭参数或者默认启动参数,加载数据库中存储的随机数和数据切片以组合生成随机序列,然后将生成的随机序列分发给n个随机队列,从数据切片中利用约瑟夫环算法把需要装载的随机序列解密并装载到随机队列中,以增加装载随机度;监控单元,根据加载的数据切片信息决定是否加载新的数据切片信息,当随机队列中的数据不足时,触发继续加载数据并分发给随机队列,以监控随机队列中的数据;数据获取单元,根据获取数据请求中的约瑟夫环参数索引,在Usbkey中获取相应的约瑟夫参数,从随机队列获取数据。在本专利技术的基于约瑟夫环的大数据随机存取系统和方法中,通过将梅森素数旋转随机算法(MT伪随机算法)与约瑟夫环的内部逻辑结合,产生所需随机数,在保证随机数的随机性的同时,满足数据的安全保密,即使系统设计人员也无法获得实际应用中系统产生的随机数信息。附图说明图1为本专利技术的基于约瑟夫环的大数据随机存取系统的结构示意图;图2为本专利技术的基于约瑟夫环的大数据随机存取系统的工作流程示意图;图3示出了本专利技术的基于约瑟夫环的大数据随机存取方法中的随机序列生成流程;图4示出了本专利技术的基于约瑟夫环的大数据随机存取方法中的随机序列装载流程;图5示出了本专利技术的基于约瑟夫环的大数据随机存取方法中的监控流程;图6示出了本专利技术的基于约瑟夫环的大数据随机存取方法中的获取数据流程。具体实施方式为了更好地了解本专利技术的目的、结构及功能,下面结合附图,对本专利技术的基于约瑟夫环的大数据随机存取系统和方法做进一步详细描述。如图1-2所示,本专利技术的基于约瑟夫环的大数据随机存取系统包括以下功能模块:随机数产生单元,可在UsbKey(身份认证)密钥的支持下,利用梅森素数旋转随机算法(MT算法)生成随机数和数据切片,并把随机数和数据切片加密存储到文件系统(如数据库)中。随机序列装载分发单元,可在UsbKey密钥的支持下,根据上次关闭参数或者默认启动参数,加载数据库中存储的随机数和数据切片以组合生成随机序列,然后将生成的随机序列分发给n个随机队列,从数据切片中利用约瑟夫环算法把需要装载的随机序列解密并装载到随机队列中,以增加装载随机度。监控单元,根据加载的数据切片信息决定是否加载新的数据切片信息,当随机队列中的数据不足时,触发继续加载数据并分发给随机队列,以监控随机队列中的数据。数据获取单元,根据获取数据请求中的约瑟夫环参数索引,在Usbkey中获取相应的约瑟夫参数,从随机队列获取数据。随机序列装载分发单元包括随机序列装载器,队列分发器以及随机队列。其中,随机序列装载器可在Usbkey的密钥支持下,综合随机数、数据切片以及系统上次关闭参数,从数据切片中把需要装载的随机序列解密并装载到数据库中。队列分发器负责把随机序列装载器装载的随机序列分发到相应的n个随机队列中,尽可能的达到最大随机性。随机队列存储随机序列的数据,这相当于缓存的作用,可以提高取数据速率。随机队列中一旦数据较少,会由监控单元或者数据获取单元向随机序列装载器发起装载随机队列的操作。下面分别详细描述以上组成系统的各功能单元。进一步,随机数产生单元中采用MersenneTwisterrandomnumberAlgorithm(梅森素数旋转随机算法,MT19937)。MT算法是一个伪随机数发生算法,基于有限二进制字段上的矩阵线性递归,可以快速产生高质量的伪随机数,修正了古典随机数发生算法的很多缺陷。这个算法通常使用两个相近的变体,变体不同之处在于使用了不同的梅森素数,一个更新的和更常用的是MT19937,32位字长,还有一个变体是64位版的MT19937-64。对于一个k位的长度,梅森旋转算法会在[0,2k-1]的区间之间生成离散型均匀分布的随机数。一般采用梅森旋转算法的一变体MT19937进行随机算,可以产生32位整数序列,具有以下的优点:1)有219937-1的非常长的周期,足够保证我们5000亿不重复的要求;2)在1≤k≤623的维度之间都可以均等分布;3)除了在统计学意义上的不正确的随机数生成器以外,在所有伪随机数生成器法中是最快的。随机数产生的同时会记录下使用该算法生成的随机数的数量,下次生成随机数据时,首先跳过已生成的数据量,这样就可以保证伪随机数的不重复性,而随机的种子是不变的。为了保证数据的安全,降低在数据产生、存储过程中的风险,我们使用数据切片技术存储记录信息,MT算法产生完整数据存储在内存中,任何人无法知道具体的内容,但是一旦存储之后,就有泄漏的风险,所以我们除了数据打散切片之外,还要对切片的文件统一加密。其中,记录数据的产生,是以a张数据为一组,也就是数据切片文件也以a本文档来自技高网...
一种基于约瑟夫环的大数据随机存取系统和方法

【技术保护点】
一种基于约瑟夫环的大数据随机存取方法,其特征在于,包括以下步骤:步骤一,在UsbKey密钥的支持下,利用梅森素数旋转随机算法生成随机数和数据切片,并把随机数和数据切片加密存储到数据库;步骤二,在UsbKey密钥的支持下,根据上次关闭参数或者默认启动参数,加载数据库中存储的随机数和数据切片以组合生成随机序列,将生成的随机序列分发给n个随机队列,从数据切片中利用约瑟夫环算法把需要装载的随机序列解密并装载到随机队列中,以增加装载随机度;步骤三,根据加载的数据切片信息监控是否需要加载新的数据切片信息,当随机队列中的数据不足时,触发继续加载数据并分发给随机队列;步骤四,根据获取数据请求中的约瑟夫环参数索引,在Usbkey中获取相应的约瑟夫参数,从随机队列获取数据。

【技术特征摘要】
1.一种基于约瑟夫环的大数据随机存取方法,其特征在于,包括以下步骤:步骤一,在UsbKey密钥的支持下,利用梅森素数旋转随机算法生成随机数和数据切片,并把随机数和数据切片加密存储到数据库;步骤二,在UsbKey密钥的支持下,根据上次关闭参数或者默认启动参数,加载数据库中存储的随机数和数据切片以组合生成随机序列,将生成的随机序列分发给n个随机队列,从数据切片中利用约瑟夫环算法把需要装载的随机序列解密并装载到随机队列中,以增加装载随机度;步骤三,根据加载的数据切片信息监控是否需要加载新的数据切片信息,当随机队列中的数据不足时,触发继续加载数据并分发给随机队列;步骤四,根据获取数据请求中的约瑟夫环参数索引,在Usbkey中获取相应的约瑟夫参数,从随机队列获取数据。2.根据权利要求1所述的基于约瑟夫环的大数据随机存取方法,其特征在于,在步骤二中,随机序列的生成流程包括以下步骤:启动数据生成客户端,检查usbkey是否正常,输入生成数据的批次、数量等参数;生成记录随机序列;把生成的记录序列切片,分成n份,放入n个文件,并使用从usbkey获得的密钥把这n个文件加密完成;数据切片存入具体文件,与数据切片相关的信息存入数据库中。3.根据权利要求2所述的基于约瑟夫环的大数据随机存取方法,其特征在于,在步骤二中,随机序列装载的流程包括以下步骤:检查必须的usbkey是否正常,如不正常直接失败退出;获取上次系统退出时的参数,如果是第一次启动,使用默认的配置参数;使用usbkey中获取的密钥解密切片文件;根据切片文件和数据库中的信息生成ID序列;从ID序列中顺序获取数据,随机分发给任意一个随机队列。4.根据权利要求1所述的基于约瑟夫环的大数据随机存取方法,其特征在于,在步骤三中,随机队列的监控流程包括如下步骤:判断M个随机队列中是否存在数据不足最大数据的20%的队列;如果存在随机队列数据不足最大数据的20%,则判断随机序列中加载的切片数据是否不足最大加载切片数据的20%;如果随机序列中的数据不足最大加载切片数据的20%,取下一组切片数据文件,取解密密钥以组合成新的随机序列,并且续接到当前随机序列中;从随机序列中顺序抽取数据随机插入到数据不足的随机队列中,直到所有随机队列...

【专利技术属性】
技术研发人员:贺光忠
申请(专利权)人:中科聚信信息技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1