一种基于区块链技术的灾备云存储系统构建方法.docx
- 文档编号:4421219
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:10
- 大小:171.92KB
一种基于区块链技术的灾备云存储系统构建方法.docx
《一种基于区块链技术的灾备云存储系统构建方法.docx》由会员分享,可在线阅读,更多相关《一种基于区块链技术的灾备云存储系统构建方法.docx(10页珍藏版)》请在冰豆网上搜索。
一种基于区块链技术的灾备云存储系统构建方法
说明书摘要
本发明公开了一种基于区块链技术的灾备云存储系统构建方法。
在云存储系统构建过程中引入区块链技术,利用区块链技术去中心化、去信任的特点实现云存储系统中存储节点的分布自治以及存储节点间基于共识算法的数据交换与数据共享。
与目前主流的中心化云服务系统相比,网络节点可以建立多对多而非一对多的联络关系,能够大幅提升数据的传载效率。
在数据存储、交换以及上传、下载过程中分别采取了数据的区块化封装、匿名交换以及非对称性加密算法,极大地保证了数据云存储整个生态链的安全性和可靠性。
与目前主流的中心化云服务系统相比,本发明可在提升数据安全性的基础上大幅提升系统运行效率降低云存储服务的运营成本。
发明专利申请
申请人:
*****
发明人顺序:
*****
负责人:
*****137**************@***单位
联系人:
***182****************@
***182****************@
***182****************@
权利要求书
1.一种基于区块链技术的灾备云存储系统构建方法,其特征在于包括以下步骤:
1).构建基于区块链技术的分布自治式灾备云存储系统运行框架。
2).将待存储数据的索引数据进行区块化封装,并在每个网络存储节点建立区块链来方便安全地管理存储数据。
3).为封装有存储数据的区块搭载Merkle树校验法,校验网络存储数据包是否完整可用。
4).在发现网络存储数据包意外缺失或不可用时,告警用户进行相应补充或二次上传备份。
5).采用非对称加密算法对云存储数据进行加密,保证存储数据的安全性。
2.根据权利要求1所述的基于区块链技术的灾备云存储系统构建方法,其特征在于:
所述的步骤1构建的系统框架,其特点为:
取消当前云存储系统中广泛存在的中心化平台,实现存储需求节点(客户端)与网络存储节点的直接交互,使得整个云存储系统能够达成去中心化和分布式自治。
3.根据权利要求1所述的基于区块链技术的灾备云存储系统构建方法,其特征在于:
所述的步骤2中引入区块链技术对存储数据的索引数据包进行封装和管理。
本发明设计的区块结构如图1所示。
每个区块分为区块头和区块体两部分,区块头中封装了该区块的地址信息——“前一区块”和“后一区块”,反映区块封装时间的“时间戳”,“索引数据文件哈希值”以及用以系统扩展的“其他数据元文件”。
区块体中则封装了Merkle树校验法,用以校验网络中所存数据的完整性和可用性。
4.根据权利要求1所述的基于区块链技术的灾备云存储系统构建方法,其特征在于:
所述的步骤2引入区块链技术对存储数据的索引数据包进行封装和管理中为方便管理中设计了一种独特的区块链链接方法:
每个网路存储节点将众多的区块链接成区块链,众多区块按照封装时间的先后链接成一条的主链,若该节点存有同一个数据正文的多个索引数据包,则最早封装的一个区块链接到主链上,其后封装的区块依次连接到第一个区块上形成一个较短的支链,如图2所示。
5.根据权利要求1所述的基于区块链技术的灾备云存储系统构建方法,其特征在于:
所述的步骤3中为封装有存储数据的区块搭载Merkle树校验法,校验网络存储数据包是否完整可用的方法如下:
各存储节点之间相互发送索引数据包编号,相邻的两个索引数据包编号经过一个哈希过程后形成新的字符串,两个相邻的新字符串合并后再进行哈希过程形成新字符串,以此类推,直至得到Merkle根,将Merkle跟与区块内封装的文件哈希值进行比对,若相同,则通过校验,若不同,发出告警,请求客户端修补相应数据或重新进行完成的上传。
6.根据权利要求1所述的基于区块链技术的灾备云存储系统构建方法,其特征在于:
所述的步骤4中发现网络存储数据包意外缺失或不可用时,告警用户进行相应补充或二次上传备份的逻辑流程为:
存有索引数据包的各个节点定时相互发送各自所存有的索引数据包编号,当节点汇总左右索引数据包编号后通过Merkle树过程进行校验,若校验成功,则证明网络中的数据包是完整可用的;若校验失败在发出告警,提醒客户及时修补或重新上传数据,若用户无响应则持续保持告警直到告警次数达到系统定义的上限;若客户及时进行了数据的修补或重新上传则重复校验过程直至通过校验。
相应的流程图如图3所示。
根据权利要求1所述的基于区块链技术的灾备云存储系统构建方法,其特征在于:
所述步骤5中采用非对称加密算法对云存储数据进行加密,保证存储数据的安全性的方法为:
客户端在上传索引数据包时,将索引数据包拆分后采用私钥进行加密,该过程如图4所示。
客户端需要下载存储的数据时,确认要下载数据的索引并提交解密公钥,存有索引数据的网络节点将所有索引数据包汇总后进行解密获取数据正文的存储地址,进行下载。
公钥和私钥的生成过程为:
通过调用随机数生成器生成位数为128位的私钥,私钥的理论数量可达极大的
,可以保证隐私数据是密码学安全的。
为便于识别,通过哈希算法SHA256和Base58转换得到;公钥是通过采用椭圆加密算法这一非对称算法根据原始私钥字符串生成40字符长度随机数,再经过哈希算法SHA256以及Base58转换得到。
说明书
一种基于区块链技术的灾备云存储系统构建方法
技术领域
本发明涉及一种灾备云存储系统构建方法,尤其是涉及一种基于区块链技术的分布自治式灾备云存储系统构建方法。
背景技术
云存储是云计算概念的一次延伸,与云计算类似,云存储是指通过集群应用、网格技术或分布式文件系统将网络中大量不同类型的存储设备通过虚拟化软件集合起来协同工作,共同对外提供数据存储和业务访问功能,是对虚拟化存储资源的管理和使用。
近几年,许多互联网公司已经将云存储服务商业化,国内知名的有XX云盘、360云盘等。
目前广泛应用的云存储系统为典型的中心化系统,即由相应的互联网公司搭建软件平台、配置大量服务器以及虚拟化软件来沟通网络中众多存储设备及存储需求的桥梁。
这种中心化的云存储服务易于实现和推广,但其也有较为明显的弊端。
其中心化平台的搭建需要耗费大量的人力物力,运行成本较高,且随着网络中云存储需求的增加中心化平台需要不断地扩建强化以满足数据交换及共享的速率要求。
这种中心化的云存储系统并没有实现“云”的精髓,更好的云存储系统应该是去中心化的,能够以分布式自治机制自主运行的数据存储管理系统。
区块链技术的出现很大程度上解决了分布式云存储系统构建的技术难题。
区块链技术具有天然的去中心化特征,可以通过共识算法能够实现各网络节点间的互通互信。
可以预见,将区块链技术应用到灾备云存储领域可以实现在众多网络存储设备和存储需求之间直接建立多对多的联络关系,无需搭建统一的管理平台,从而大幅降低系统的搭建、运行、管理成本。
发明内容
为将区块链技术应用到灾备云存储领域,本文发明提出了一种基于区块链技术的灾备云存储系统构建方法,能够实现分布自治式云存储系统的构建。
本发明的技术方案采用如下步骤:
5).构建基于区块链技术的分布自治式灾备云存储系统运行框架。
6).将待存储数据的索引数据进行区块化封装,并在每个网络存储节点建立区块链来方便安全地管理存储数据。
7).为封装有存储数据的区块搭载Merkle树校验法,校验网络存储数据包是否完整可用。
8).在发现网络存储数据包意外缺失或不可用时,告警用户进行相应补充或二次上传备份。
9).采用非对称加密算法对云存储数据进行加密,保证存储数据的安全性。
所述的步骤1)中构建基于区块链技术的分布自治式灾备云存储系统运行框架为:
网络中存在大量的数据存储需求(客户端)和随机分布的愿意出售存储空间的存储设备,客户端在进行灾备云存储时,首先将待存储数据分为数据正文和索引数据两部分。
其中,索引数据是一组有明显特征或显著特点的关键字,需要确保通过完整的索引数据能够准确无误地找到数据正文。
“数据名称”“建立时间”“修改时间”“作者”等字段的组合可以作为索引数据。
对于数据正文,客户端在本地以及
个网络存储节点中备份数据正文,
为大于等于1的整数,
等于1时意味着仅有1个网络节点存有数据正文,该网络节点若遭受意外将导致所存数据正文的不可用或丢失;
取值越大意味着存有数据正文的网络节点越多,客户端在下载云存储数据时响应及下载速度越快,但是将造成相当一部分存储设备存储容量的浪费,本发明中将
的取值定为2。
对于索引数据,客户端将其拆分成多个数据包经私钥加密后存储在多个网络节点中。
各网络存储节点将索引数据的相关信息进行区块化封装,并将存在本节点的众多数据文件的索引数据区块链接成区块链进行管理。
网络中的节点通过Merkle树校验法校验所存数据包的完整性,若发现数据包丢失或不可用则对客户端发出告警,请求修复或重新上传数据。
所述的步骤2)中将待存储数据的索引数据进行区块化封装,并在每个网络存储节点建立区块链来方便安全地管理存储数据,具体方法为:
网络存储节点收到客户端上传的索引数据包后,将其进行区块化封装,区块结构如图1所示。
每个区块分为区块头和区块体两部分,区块头中封装了该区块的地址信息——“前一区块”和“后一区块”,反映区块封装时间的“时间戳”,“索引数据文件哈希值”以及用以系统扩展的“其他数据元文件”。
区块体中则封装了Merkle树校验法,用以校验网络中所存数据的完整性和可用性,校验得到的Merkle根与区块头内的文件哈希值进行比对,若两者相同则证明数据是完整可用的。
为方便管理,每个网路存储节点将众多的区块链接成区块链,众多区块按照封装时间的先后链接成一条的主链,若该节点存有同一个数据正文的多个索引数据包,则最早封装的一个区块链接到主链上,其后封装的区块依次连接到第一个区块上形成一个较短的支链,如图2所示。
所述的步骤3)中为封装有存储数据的区块搭载Merkle树校验法,其原理为:
分布自治的云存储系统需要证明存储的包在网络上是完整,可用的。
这意味着每个存有索引数据包的节点需要向存有同一正文数据剩余索引数据包的其它节点证明本节点拥有某个或多个索引数据加密包。
Merkle树校验法的工作原理为:
各存储节点之间相互发送索引数据包编号,相邻的两个索引数据包编号经过一个哈希过程后形成新的字符串,两个相邻的新字符串合并后再进行哈希过程形成新字符串,以此类推,直至得到Merkle根,将Merkle跟与区块内封装的文件哈希值进行比对,若相同,则通过校验,若不同,发出告警,请求客户端修补相应数据或重新进行完成的上传。
所述的步骤4)中的在发现网络存储数据包意外缺失或不可用时,告警用户进行相应修补或二次上传备份的具体流程为:
流程图如图3所示。
存有索引数据包的各个节点定时相互发送各自所存有的索引数据包编号,当节点汇总左右索引数据包编号后通过Merkle树过程进行校验,若校验成功,则证明网络中的数据包是完整可用的;若校验失败在发出告警,提醒客户及时修补或重新上传数据,若用户无响应则持续保持告警直到告警次数达到系统定义的上限;若客户及时进行了数据的修补或重新上传则重复校验过程直至通过校验。
所述的步骤5)中采用非对称加密算法对云存储数据进行加密,保证存储数据的安全性,具体方法为:
客户端在上传索引数据包时,将索引数据包拆分后采用私钥进行加密,该过程如图4所示。
客户端需要下载存储的数据时,确认要下载数据的索引并提交解密公钥,存有索引数据的网络节点将所有索引数据包汇总后进行解密获取数据正文的存储地址,进行下载。
公钥和私钥的生成过程为:
通过调用随机数生成器生成位数为128位的私钥,私钥的理论数量可达极大的
,可以保证隐私数据是密码学安全的。
为便于识别,通过哈希算法SHA256和Base58转换得到;公钥是通过采用椭圆加密算法这一非对称算法根据原始私钥字符串生成40字符长度随机数,再经过哈希算法SHA256以及Base58转换得到。
本发明的有益效果是:
本发明能够建立去中心化的、各网络节点分布自治的灾备云存储系统,能够大幅降低数据云存储成本。
由于利用了区块链技术中的节点共识算法并在数据上传和下载过程中采用非对称加密算法,能极大提高存储数据的安全性,有效防止数据泄露或非法篡改。
附图(表)说明
图1索引数据的区块化封装
图2网络节点的索引数据包区块链管理
图3索引数据包完整可用性校验及告警流程图
图4索引数据包上传过程示意图
图5公钥和私钥生成方法示意图
图6基于区块链技术的分布自治式灾备云存储系统原理示意图
具体实施例
下面结合附图及具体实施例对本发明作进一步详细说明。
本发明的具体实施例如下:
本发明实施例构建了一个包括两个存储需求节点(客户端)8个网络存储节点的小型基于区块链技术的灾备云存储系统,系统示意图如图6所示。
在该系统中,存储需求1将正文数据备份在节点1和节点6,其索引数据数据包经过加密后存储在1,2,3,5,6节点;存储需求2将正文数据备份在节点3和节点8,其索引数据包经过加密后存储在3,4,7,8节点,其它设置或方法均参照发明内容设置,经测试该小系统能够顺利实现去中心化的分布自治的云存储功能。
上述具体实施方式用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改和改变,都落入本发明的保护范围。
说明书附图(表)
图1索引数据的区块化封装
图2网络节点的索引数据包区块链管理
图3索引数据包完整可用性校验及告警流程图
图4索引数据包上传过程示意图
图5公钥和私钥生成方法示意图
图6基于区块链技术的分布自治式灾备云存储系统原理示意图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 基于 区块 技术 灾备云 存储系统 构建 方法
![提示](https://static.bdocx.com/images/bang_tan.gif)