本发明属于区块链以及云存储技术领域,具体涉及一种基于区块链的分布式云存储系统的构建方法。
背景技术:
云存储是一种网络在线存储(cloudstorage)的模式,即将数据放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管(hosting)公司运营大型的数据中心,需要数据存储托管的人,则通过向其购买或租赁存储空间的方式来满足数据存储的需求。数据中心运营商根据客户的需求,在后端准备存储虚拟化的资源,并将其以存储资源池(storagepool)的方式提供,客户便可自行使用此存储资源池来存放文件或对象。实际上,这些资源可能被分布在众多的服务器主机上。近几年,随着互联网以及用户带宽的飞速升级,许多互联网公司将云存储商业化,国外的如dropbox、box、onedrive、国内的如百度云盘、115网盘等。目前广泛应用的云存储系统是典型的中心化系统架构,在系统搭建时需要耗费大量的人力与物力,且运营与维护成本极高。区块链(blockchain)是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。区块链技术基于去中心化的对等网络,用开源软件把密码学原理、时序数据以及共识机制相结合,来保障分布式数据库中各个节点的连贯和持续,使得信息能即时验证、可追溯,但又难以篡改且无法屏蔽。
技术实现要素:
针对上述现有技术的不足,本发明的目的是提供了一种基于区块链技术的分布式云存储系统的构建方法,能够实现新型分布式云存储系统的构建。
本发明采取的具体方案是:
一种基于区块链的分布式云存储系统构建方法,包括如下步骤:
s1、构建基于区块链的分布式云存储系统运行框架;
s2、由用户边缘节点(距离此用户最近的节点)对用户端待存储的数据按照平台文件策略(如单文件块最大容量)进行分割;
s3、由s2产生分割后的文件块,系统记录这些文件块的地址、文件块大小、哈希值等元数据信息;
s4、将文件块元数据以及文件元数据进行区块化封装,并协同其他独立的元数据区块连接为区块链;
s5、对区块使用merkle校验以确保数据完整可用;
s6、将文件区块按照平台策略在进行非对称加密后存储到网络内的多个节点(核心节点、边缘节点等);
s7、用户获取文件时,平台从边缘节点获取相关文件的文件块与元数据,利用用户提交的公钥进行解密,合并文件,提供给用户。
优选地,s1中的具体构建方法为放弃现有云存储系统中广泛使用的中心化架构,系统内使用三种类型的存储节点:核心节点、边缘节点、冷数据节点,核心节点负责维护整个区块链网络内的数据以及文件块数据,边缘节点负责加速用户对于区块数据的读取,同时按照平台策略缓存附近用户的文件块数据以加快用户读写文件;当用户长期不使用某些文件时,平台将这些文件从核心节点以及边缘节点中转移至冷数据节点,以降低整个网络的压力,同类型的节点之间相互对等,整个云存储系统达成去中心化的分布式自治;用户在进行文件存储时,数据将至少存在于整个网络内的四个节点中。
优选地,s4中封装文件块元数据以及文件元数据所采用的区块结构由区块头部和区块体两个部分组成,区块头内部封装上一区块以及下一区块的地址信息、区块封装的时间戳等系统所需的元数据;区块体内部则封装了对应文件的多个文件块元数据信息如块大小、哈希值等元数据;核心节点会按照每个独立区块的时间戳的先后顺序将区块链接为主链。
优选地,s5中merkle校验的具体过程为各存储节点之间相互发送各自所存元数据信息,各节点在收集到足够数据包后按照merkle算法进行相互哈希,直到产生merkle树根哈希值,比对该哈希值以确保数据完整可用。
优选地,s6中采用非对称加密算法对元数据以及文件块进行加密保护的实现过程为:用户使用客户端上传数据时,元数据以及文件块等信息都由用户私钥进行加密,当用户需要下载存储在平台内的数据时,数据再通过用户公钥进行解密。
优选地,s7中当用户从平台获取某文件时,平台根据用户请求从网络内获取所需的元数据区块,从用户附近的边缘节点获取组成文件所需的文件块,利用用户所提交的公钥进行数据解密,合并文件后提供给用户。
本发明的有益效果是:本发明可以在保持高强度数据安全性的基础上,相对于目前云存储技术显著降低用户费用、显著减少平台维护成本、显著提高平台稳定性。
附图说明
图1为实施例中分布式云存储系统网络结构图;
图2为实施例中文件分割-缓存至全网其他节点之示意图
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于区块链的分布式存储系统构建方法,其具体实施方式如下:
放弃现有云存储系统中广泛使用的中心化架构,使用三种类型的存储节点(核心节点、边缘节点、冷数据节点)来架构分布式存储系统,核心节点负责维护整个区块链网络内的数据以及文件块数据;边缘节点负责加速用户对于区块数据的读取,同时按照平台策略缓存附近用户的文件块数据以加快用户读写文件;当用户长期不使用某些文件时,平台将这些文件从核心节点以及边缘节点中转移至冷数据节点,以降低整个网络的压力;同类型的节点之间相互对等,整个云存储系统达成去中心化的分布式自治,整体网络结构如图1所示;
用户边缘节点(距离此用户最近的节点)对用户端待存储的数据按照平台文件策略(如单文件块最大容量,通常为8~32m)进行分割,当待存储的文件体积较大时,用户端可以采用并发传输的方式同时向多个边缘节点传输文件块来加速文件上传速度。分割后产生的文件块通过非对称加密之后传输至用户边缘节点,再由边缘节点按照平台策略缓存至全网其他节点,如图2所示;
文件块元数据与文件元数据经用户私钥加密后由边缘节点传递给核心节点进行区块化封装,各核心节点将众多索引数据的独立区块组成区块链进行管理;
核心节点之间通过merkle算法校验所存元数据的完整性。封装文件块元数据以及文件元数据所采用的区块结构由区块头部和区块体两个部分组成,区块头内部封装上一区块以及下一区块的地址信息、区块封装的时间戳等系统所需的元数据;区块体内部则封装了对应文件的多个文件块元数据信息(如块大小、哈希值等元数据)。
用户公钥与私钥的生成过程如下:基于secp256k1标准通过使用随机数生成器产生32字节(256位)的随机数,在私钥前加入版本号,后面加入压缩标识以及校验码,再对其进行base56编码,得到用户的私钥;以私钥作为基础,做椭圆曲线乘法运算,得到其对应的压缩公钥。
天下网标王黄南高端网站设计多少钱黑河网站定制荆门模板推广报价长沙百姓网标王推广公司伊春网络推广公司中山百度关键词包年推广价格嘉兴seo网站优化价格坂田seo网站优化推荐自贡网络推广哪家好大芬网站改版推荐庆阳网站优化按天收费报价大运seo优化多少钱佛山关键词按天计费公司保定网络营销哪家好坪山至尊标王哪家好泸州关键词按天计费洛阳阿里店铺托管价格淮南网站搭建推荐茂名建网站宝安网络推广三亚SEO按天收费安阳阿里店铺运营推荐濮阳百度网站优化公司内江百姓网标王推广价格南山网站优化软件价格通化网站改版南澳至尊标王推荐厦门网站改版哪家好潜江seo推荐九江seo公司香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤