1.本发明涉及数据存储技术领域,具体为一种基于区块链的分布式存储方法。
背景技术:2.区块链是一个信息技术领域的术语,从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征,基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用前景,从科技层面来看,区块链涉及数学、密码学、互联网和计算机编程等很多科学技术问题。从应用视角来看,简单来说,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点,这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础,而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,区块链它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性和生成下一个区块,在进行数据存储时,越来越多的公司与个人会采用基于区块链的分布式存储方法来对数据进行存储,但现有的基于区块链的分布式存储方法不能对重复的数据进行删除,会导致存储大量的重复的数据,会占用大量的存储空间。
技术实现要素:3.鉴于现有技术中所存在的问题,本发明公开了一种基于区块链的分布式存储方法,包括区块链节点、数据库节点和历史数据库节点,所述区块链节点均与多个数据库节点连接,所述数据库节点包括存储数据库节点、第一备用数据库节点和第二备用数据库节点,每个第一备用数据库节点和第二备用数据库节点均与相对应的存储数据库节点连接,所述历史数据库节点包括第一历史数据库节点、第二历史数据库节点和第三历史数据库节点,包括以下步骤:s1、接收区块链节点上传的数据;s2、对数据进行分析并生成相对应的数据密匙;s3、对数据进行分段处理;s4、将分段后的数据与第一历史数据库节点内的数据进行对比;s5、若相似度大于等于百分之95,则直接删除数据并将第一历史数据库节点内相对应的数据存储至存储数据库节点;s6、若相似度小于百分之95,则将数据进行二次分段处理;s7、将二次分段处理后的数据与第二历史数据库节点内的数据进行对比;s8、若相似度大于等于百分之95,则直接删除数据并将第二历史数据库节点内相对应的数据存储至存储数据库节点;
s9、若相似度小于百分之95,则将数据进行三次分段处理;s10、将三次分段处理后的数据与第三历史数据库节点内的数据进行对比;s11、若相似度大于等于百分之95,则直接删除数据并将第三历史数据库节点内相对应的数据存储至存储数据库节点;s12、若相似度小于百分之95,则通过哈希算法计算数据的特征信息,并根据特征信息对数据进行分类标记;s13、将分类标记好的数据存储至相对应的存储数据节点;s14、存储完成后自动备份数据至第一备用数据库节点;s15、当存储数据节点内的数据发生损坏时,则第一备用数据库节点自动将数据备份至第二备用数据库节点;s16、当第一备用数据库节点内的数据发生损坏时,则存储数据节点自动将数据备份至第二备用数据库节点。
4.作为本发明的一种优选技术方案,所述数据库节点可以分类为视频数据库节点、音频数据库节点、压缩包数据库节点、图片数据库节点、文档数据库节点和其他数据库节点,可以用来方便对不同类型的数据进行分类存储。
5.作为本发明的一种优选技术方案,所述区块链节点在进行文件上传时会进行病毒检测,若发现病毒,则调用杀毒软件进行杀毒处理,可以用来对数据内的病毒进行查杀。
6.作为本发明的一种优选技术方案,所述区块链节点会对上传的文件内容进行检测,若发现违法文件,则直接进行删除,可以用来避免用户上传违法文件。
7.作为本发明的一种优选技术方案,所述第二历史数据库节点内存储的数据为第一历史数据库节点内数据的分段数据,所述第三历史数据库节点内存储的数据为第二历史数据库节点内数据的分段数据,可以用来对用户的数据进行多次分段筛查,尽可能的筛选并删除重复数据,避免重复数据占用存储空间。
8.作为本发明的一种优选技术方案,所述存储数据节点在存储数据时会对数据进行顺序编码,并与数据密匙进行对应,可以用来将分段后的数据与用户的数据密匙联系起来。
9.作为本发明的一种优选技术方案,在使用所述数据密匙下载数据时,可以根据数据密匙对应相应的顺序编码,并按顺序从存储数据节点提取相对应的数据,方便用户下载数据。
10.作为本发明的一种优选技术方案,所述数据密匙连续三次输入错误则需要人工验证后重新生成新的数据密匙,可以用来在用户的数据密匙丢失时对用户的数据进行保护。
11.本发明的有益效果:本发明通过接收区块链节点上传的数据,然后生成与数据相对应的数据密匙,将完整的数据进行分段,通过将分段后的数据与第一历史数据库节点内的数据进行对比,若分段后的数据与第一历史数据库节点内的数据相似度大于百分之95,则说明数据重复,直接将重复率大于百分之95的分段数据删除并将将第一历史数据库节点内相对应的数据存储至存储数据库节点,若分段后的数据与第一历史数据库节点内的数据相似度小于百分之95,则说明数据不重复,将不重复的数据进行二次分段,然后将二次分段的数据与第二历史数据库节点内的数据进行对比,若二次分段后的数据与第二历史数据库节点内的数据相似度大于百分之95,则说明数据重复,直接将重复率大于百分之95的分段数据删除并将将第二历史数据库节点内相对应的数据存储至存储数据库节点,若二次分段
后的数据与第二历史数据库节点内的数据相似度小于百分之95,则说明数据不重复,将不重复的数据进行三次分段,然后将三次分段的数据与第三历史数据库节点内的数据进行对比,若三次分段后的数据与第三历史数据库节点内的数据相似度大于百分之95,则说明数据重复,直接将重复率大于百分之95的分段数据删除并将将第三历史数据库节点内相对应的数据存储至存储数据库节点,若三次分段后的数据与第三历史数据库节点内的数据相似度小于百分之95,则说明数据不重复,通过哈希算法计算数据的特征信息,并根据特征信息对数据进行分类标记,将分类标记好的数据存储至相对应的存储数据节点,通过第一备用数据库节点和第二备用数据库节点可以将数据进行两次备份,从而可以避免数据的丢失,通过将数据进行三次分段并进行筛查,从而尽可能的筛选并删除重复数据,避免重复数据占用存储空间。
附图说明
12.图1为发明逻辑示意图;
具体实施方式
13.实施例1
14.本发明公开了一种基于区块链的分布式存储方法,采用的技术方案是,包括区块链节点、数据库节点和历史数据库节点,区块链节点均与多个数据库节点连接,数据库节点包括存储数据库节点、第一备用数据库节点和第二备用数据库节点,每个第一备用数据库节点和第二备用数据库节点均与相对应的存储数据库节点连接,历史数据库节点包括第一历史数据库节点、第二历史数据库节点和第三历史数据库节点,其特征在于,包括以下步骤:s1、接收区块链节点上传的数据;s2、对数据进行分析并生成相对应的数据密匙;s3、对数据进行分段处理;s4、将分段后的数据与第一历史数据库节点内的数据进行对比;s5、若相似度大于等于百分之95,则直接删除数据并将第一历史数据库节点内相对应的数据存储至存储数据库节点;s6、若相似度小于百分之95,则将数据进行二次分段处理;s7、将二次分段处理后的数据与第二历史数据库节点内的数据进行对比;s8、若相似度大于等于百分之95,则直接删除数据并将第二历史数据库节点内相对应的数据存储至存储数据库节点;s9、若相似度小于百分之95,则将数据进行三次分段处理;s10、将三次分段处理后的数据与第三历史数据库节点内的数据进行对比;s11、若相似度大于等于百分之95,则直接删除数据并将第三历史数据库节点内相对应的数据存储至存储数据库节点;s12、若相似度小于百分之95,则通过哈希算法计算数据的特征信息,并根据特征信息对数据进行分类标记;s13、将分类标记好的数据存储至相对应的存储数据节点;
s14、存储完成后自动备份数据至第一备用数据库节点;s15、当存储数据节点内的数据发生损坏时,则第一备用数据库节点自动将数据备份至第二备用数据库节点;s16、当第一备用数据库节点内的数据发生损坏时,则存储数据节点自动将数据备份至第二备用数据库节点。
15.作为本发明的一种优选技术方案,数据库节点可以分类为视频数据库节点、音频数据库节点、压缩包数据库节点、图片数据库节点、文档数据库节点和其他数据库节点,可以用来方便对不同类型的数据进行分类存储。
16.作为本发明的一种优选技术方案,区块链节点在进行文件上传时会进行病毒检测,若发现病毒,则调用杀毒软件进行杀毒处理,可以用来对数据内的病毒进行查杀。
17.作为本发明的一种优选技术方案,区块链节点会对上传的文件内容进行检测,若发现违法文件,则直接进行删除,可以用来避免用户上传违法文件。
18.作为本发明的一种优选技术方案,第二历史数据库节点内存储的数据为第一历史数据库节点内数据的分段数据,第三历史数据库节点内存储的数据为第二历史数据库节点内数据的分段数据,可以用来对用户的数据进行多次分段筛查,尽可能的筛选并删除重复数据,避免重复数据占用存储空间。
19.作为本发明的一种优选技术方案,存储数据节点在存储数据时会对数据进行顺序编码,并与数据密匙进行对应,可以用来将分段后的数据与用户的数据密匙联系起来。
20.作为本发明的一种优选技术方案,在使用数据密匙下载数据时,可以根据数据密匙对应相应的顺序编码,并按顺序从存储数据节点提取相对应的数据,方便用户下载数据。
21.作为本发明的一种优选技术方案,数据密匙连续三次输入错误则需要人工验证后重新生成新的数据密匙,可以用来在用户的数据密匙丢失时对用户的数据进行保护。
22.本发明的工作原理:通过接收区块链节点上传的数据,然后生成与数据相对应的数据密匙,将完整的数据进行分段,通过将分段后的数据与第一历史数据库节点内的数据进行对比,若分段后的数据与第一历史数据库节点内的数据相似度大于百分之95,则说明数据重复,直接将重复率大于百分之95的分段数据删除并将将第一历史数据库节点内相对应的数据存储至存储数据库节点,若分段后的数据与第一历史数据库节点内的数据相似度小于百分之95,则说明数据不重复,将不重复的数据进行二次分段,然后将二次分段的数据与第二历史数据库节点内的数据进行对比,若二次分段后的数据与第二历史数据库节点内的数据相似度大于百分之95,则说明数据重复,直接将重复率大于百分之95的分段数据删除并将将第二历史数据库节点内相对应的数据存储至存储数据库节点,若二次分段后的数据与第二历史数据库节点内的数据相似度小于百分之95,则说明数据不重复,将不重复的数据进行三次分段,然后将三次分段的数据与第三历史数据库节点内的数据进行对比,若三次分段后的数据与第三历史数据库节点内的数据相似度大于百分之95,则说明数据重复,直接将重复率大于百分之95的分段数据删除并将将第三历史数据库节点内相对应的数据存储至存储数据库节点,若三次分段后的数据与第三历史数据库节点内的数据相似度小于百分之95,则说明数据不重复,通过哈希算法计算数据的特征信息,并根据特征信息对数据进行分类标记,将分类标记好的数据存储至相对应的存储数据节点,通过第一备用数据库节点和第二备用数据库节点可以将数据进行两次备份,从而可以避免数据的丢失,通过
将数据进行三次分段并进行筛查,从而尽可能的筛选并删除重复数据,避免重复数据占用存储空间,存储数据节点在存储数据时会对数据进行顺序编码,并与数据密匙进行对应,可以用来将分段后的数据与用户的数据密匙联系起来,在使用数据密匙下载数据时,可以根据数据密匙对应相应的顺序编码,并按顺序从存储数据节点提取相对应的数据,方便用户下载数据。
23.本文中未详细说明的部件为现有技术。
24.上述虽然对本发明的具体实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化,而不具备创造性劳动的修改或变形仍在本发明的保护范围以内。