当前位置: 首页 > 专利查询>郑志超专利>正文

基于区块链的分布式存储方法及设备技术

技术编号:15540511 阅读:91 留言:0更新日期:2017-06-05 10:21
本发明专利技术公开了基于区块链的分布式存储方法及设备,其中,基于区块链的分布式存储方法,其包括以下步骤:将需要存储的数据通过哈希算法生成主哈希值;将数据发送至储存节点地址进行存储;将数据分为多个二进制块;对每一二进制块通过哈希算法生成子哈希值;将二进制块发送至备份节点地址进行备份;将与一二进制块对应的子哈希值、备份节点地址、主哈希值及储存节点地址生成一区块;区块间按与其对应的所述二进制块间的排序关系进行连接形成区块链,并将区块链发送至所有节点进行存储及备份。在本发明专利技术中,对需要存储的数据进行存储及备份,从而提高了数据的安全性。后续,还可通过哈希值保证存储的一致性。

Distributed storage method and device based on block chain

The present invention discloses the method and device, distributed storage block chain based on distributed storage method based on block chain, which comprises the following steps: the need to store the data generated by the Lord Hashige hash algorithm; sending data to the storage node address storage; data is divided into a plurality of binary for each binary block; block by hash algorithm to generate sub Hashige; binary block is sent to the backup node address and a binary backup; the corresponding sub block hash value, the backup node address and hash value and storage node address generation block; block by corresponding to the binary block sorting relationship are connected to form a chain block, and will send to all nodes chain block storage and backup. In the invention, the stored data is stored and backed up so as to improve the security of the data. Later, the consistency of storage can be guaranteed by hash values.

【技术实现步骤摘要】
基于区块链的分布式存储方法及设备
本专利技术涉及数据存储领域,具体而言,涉及基于区块链的分布式存储方法及设备。
技术介绍
目前主要的数据存储是将数据存储于本地硬盘或网络服务器中,而本地硬盘需要用户购置硬盘硬件,而且硬盘容易损毁或丢失,从而容易造成数据的丢失。将数据存储在网络服务器上,不仅需要昂贵的额外设备,如主机总线适配器、磁盘阵列,还需要额外的场地及能量消耗,当灾难发生时还容易造成数据的丢失。
技术实现思路
有鉴于此,本专利技术提供的基于区块链的分布式存储方法及设备,其目的在于提高用户数据存储的安全性,并且可以保证存储的数据的一致性。基于区块链的分布式存储方法,其包括以下步骤:将需要存储的数据通过哈希算法生成主哈希值;将所述数据发送至储存节点地址进行存储;将所述数据分为多个二进制块;对每一所述二进制块通过哈希算法生成子哈希值;将所述二进制块发送至备份节点地址进行备份;将与一所述二进制块对应的所述子哈希值、所述备份节点地址、所述主哈希值及所述储存节点地址生成一区块;所述区块间按与其对应的所述二进制块间的排序关系进行连接形成区块链,并将所述区块链发送至所有节点进行存储及备份。进一步地,所述储存节点地址为多个。进一步地,所述主哈希值为64位哈希值。进一步地,所述子哈希值为64位哈希值。进一步地,还包括以下步骤:获取存储的数据;所述获取存储的数据具体包括:获取所述区块链;获取存储于所述区块链中的任意一所述区块,并进一步获取记录于所述区块中的所述储存节点地址;通过所述储存节点地址获取储存于该储存节点地址的数据;对通过所述储存节点地址获取的所述数据进行哈希计算,并将得到的哈希值与记录于所述区块中的主哈希值进行验证;若验证结果为哈希值一致,则获取所述储存节点地址储存的所述数据;若验证结果为哈希值不一致,则该储存节点地址失效,并重新获取排列于所述区块链中的第一个区块;通过所述区块获取储存于所述区块中的备份节点地址,并通过所述备份节点地址接收与该区块对应的二进制块;对所述二进制块进行哈希计算,得到其对应的子哈希值,并将所述子哈希值与记录于所述区块中的所述子哈希值进行验证;若验证结果为子哈希值一致,则对得到的所述二进制块进行哈希算法计算,得到哈希值;判断所述哈希值与所述主哈希值是否一致;若判断结果为不一致,则继续获取后一位的区块,并通过获取的区块中备份节点获取二进制块;当通过后一位的区块所得到的二进制块进行子哈希值的验证通过时,对当前获得的所有二进制块进行哈希计算,直到当前获得的所有二进制块进行哈希计算得到的哈希值等于所述主哈希值;基于当前获得的所有二进制块得到存储的数据。基于区块链的分布式存储设备,其包括第一生成模块,用于将需要存储的数据通过哈希算法生成主哈希值;第一发送模块,用于将所述数据发送至储存节点地址进行存储;分割模块,用于将所述数据分为多个二进制块;第二生成模块,用于对每一所述二进制块通过哈希算法生成子哈希值;第二发送模块,用于将所述二进制块发送至备份节点地址进行备份;第三生成模块,用于将与一所述二进制块对应的所述子哈希值、所述备份节点地址、所述主哈希值及所述储存节点地址生成一区块;第三发送模块,用于将区块间首尾相连接形成一区块链发送至所有节点进行存储及备份。进一步地,所述储存节点地址为多个。进一步地,所述主哈希值为64位哈希值。进一步地,所述子哈希值为64位哈希值。进一步地,所述基于区块链的分布式存储设备还包括:获取模块,用于获取存储的数据;所述获取存储的数据,具体包括:获取所述区块链;获取存储于所述区块链中的任意一所述区块,并进一步获取记录于所述区块中的所述储存节点地址;通过所述储存节点地址获取储存于该储存节点地址的数据;对通过所述储存节点地址获取的所述数据进行哈希计算,并将得到的哈希值与记录于所述区块中的主哈希值进行验证;若验证结果为哈希值一致,则获取所述储存节点地址储存的所述数据;若验证结果为哈希值不一致,则该储存节点地址失效,并重新获取排列于所述区块链中的第一个区块;通过所述区块获取储存于所述区块中的备份节点地址,并通过所述备份节点地址接收与该区块对应的二进制块;对所述二进制块进行哈希计算,得到其对应的子哈希值,并将所述子哈希值与记录于所述区块中的所述子哈希值进行验证;若验证结果为子哈希值一致,则对得到的所述二进制块进行哈希算法计算,得到哈希值;判断所述哈希值与所述主哈希值是否一致;若判断结果为不一致,则继续获取后一位的区块,并通过获取的区块中备份节点获取二进制块;当通过后一位的区块所得到的二进制块进行子哈希值的验证通过时,对当前获得的所有二进制块进行哈希计算,直到当前获得的所有二进制块进行哈希计算得到的哈希值等于所述主哈希值;基于当前获得的所有二进制块得到存储的数据。本专利技术的基于区块链的分布式存储方法及设备,其中,基于区块链的分布式存储方法,其包括以下步骤:将需要存储的数据通过哈希算法生成主哈希值;将所述数据发送至储存节点地址进行存储;将所述数据分为多个二进制块;对每一所述二进制块通过哈希算法生成子哈希值;将所述二进制块发送至备份节点地址进行备份;将与一所述二进制块对应的所述子哈希值、所述备份节点地址、所述主哈希值及所述储存节点地址生成一区块;所述区块间按与其对应的所述二进制块间的排序关系进行连接形成区块链,并将所述区块链发送至所有节点进行存储及备份。在本专利技术中,需要存储的数据及与其对应的主哈希值被发送至储存节点地址进行存储;同时该数据还被分成多个二进制块,每一所述二进制块及其对应的所述子哈希值、所述主哈希值发送至备份节点地址进行备份,从而提高了数据的安全性。后续,还可通过哈希值保证存储的一致性。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1是本专利技术较佳实施例提供的基于区块链的分布式存储方法的步骤连接图;图2是本专利技术较佳实施例提供的基于区块链的分布式存储方法的步骤连接图;图3是本专利技术较佳实施例提供的基于区块链的分布式存储方法的步骤连接图;图4是本专利技术较佳实施例提供的基于区块链的分布式存储装置的连接示意图。主要元器件说明:10-第一生成模块;20-第一发送模块;30-分割模块;40-第二生成模块;50-第二发送模块;60-第三生成模块;70-第三发送模块;80-获取模块。具体实施方式在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本公开的各种实施例限于在此公开的特定实施例的意图,而是应将本公开理解为涵盖落入本公开的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。在下文中,可在本公开的各种实施例中使用的术语“包括”或“可包括”指示所公开的功能、操作或元件的存在,并且不限制一个或更多个功能、操作或元件的增加。此外,如在本公开的各种实施例中所使用,术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、本文档来自技高网...
基于区块链的分布式存储方法及设备

【技术保护点】
基于区块链的分布式存储方法,其特征在于,包括以下步骤:将需要存储的数据通过哈希算法生成主哈希值;将所述数据发送至储存节点地址进行存储;将所述数据分为多个二进制块;对每一所述二进制块通过哈希算法生成子哈希值;将所述二进制块发送至备份节点地址进行备份;将与一所述二进制块对应的所述子哈希值、所述备份节点地址、所述主哈希值及所述储存节点地址生成一区块;所述区块间按与其对应的所述二进制块间的排序关系进行连接形成区块链,并将所述区块链发送至所有节点进行存储及备份。

【技术特征摘要】
1.基于区块链的分布式存储方法,其特征在于,包括以下步骤:将需要存储的数据通过哈希算法生成主哈希值;将所述数据发送至储存节点地址进行存储;将所述数据分为多个二进制块;对每一所述二进制块通过哈希算法生成子哈希值;将所述二进制块发送至备份节点地址进行备份;将与一所述二进制块对应的所述子哈希值、所述备份节点地址、所述主哈希值及所述储存节点地址生成一区块;所述区块间按与其对应的所述二进制块间的排序关系进行连接形成区块链,并将所述区块链发送至所有节点进行存储及备份。2.根据权利要求1所述的基于区块链的分布式存储方法,其特征在于,所述储存节点地址为多个。3.根据权利要求1所述的基于区块链的分布式存储方法,其特征在于,所述主哈希值为64位哈希值。4.根据权利要求1所述的基于区块链的分布式存储方法,其特征在于,所述子哈希值为64位哈希值。5.根据权利要求1所述的基于区块链的分布式存储方法,其特征在于,还包括以下步骤:获取存储的数据;所述获取存储的数据具体包括:获取所述区块链;获取存储于所述区块链中的任意一所述区块,并进一步获取记录于所述区块中的所述储存节点地址;通过所述储存节点地址获取储存于该储存节点地址的数据;对通过所述储存节点地址获取的所述数据进行哈希计算,并将得到的哈希值与记录于所述区块中的主哈希值进行验证;若验证结果为哈希值一致,则获取所述储存节点地址储存的所述数据;若验证结果为哈希值不一致,则该储存节点地址失效,并重新获取排列于所述区块链中的第一个区块;通过所述区块获取储存于所述区块中的备份节点地址,并通过所述备份节点地址接收与该区块对应的二进制块;对所述二进制块进行哈希计算,得到其对应的子哈希值,并将所述子哈希值与记录于所述区块中的所述子哈希值进行验证;若验证结果为子哈希值一致,则对得到的所述二进制块进行哈希算法计算,得到哈希值;判断所述哈希值与所述主哈希值是否一致;若判断结果为不一致,则继续获取后一位的区块,并通过获取的区块中备份节点获取二进制块;当通过后一位的区块所得到的二进制块进行子哈希值的验证通过时,对当前获得的所有二进制块进行哈希计算,直到当前获得的所有二进制块进行哈希计算得到的哈希值等于所述主哈希值;基于当前获得的所有二进制块得到存储的数据。6.基于区块链的分布式存储设备,其特...

【专利技术属性】
技术研发人员:郑志超
申请(专利权)人:郑志超
类型:发明
国别省市:广东,44

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

1