一种基于区块链的分布式数据存储系统

文档序号:190421 发布日期:2021-11-02 浏览:28次 >En<

阅读说明:本技术 一种基于区块链的分布式数据存储系统 (Distributed data storage system based on block chain ) 是由 张凌哲 陈杰杰 彭治皓 于 2021-07-20 设计创作,主要内容包括:本发明涉及区块链存储技术领域,且公开了一种基于区块链的分布式数据存储系统,包括主机模块、存储机模块和计算模块,所述主机模块有存储机和计算机注册模块、数据一致性维护模块、区块请求生成模块、数据请求查询模块,所述存储机模块有数据存储模块、数据查询模块、数据自检模块,所述计算模块有区块计算模块;本发明可提供足够的网络拓展性,满足数据不断增长的存储需求,其借助委托权益证明共识机制,有效提高了区块生成和数据存储效率,且利用区块链的特性,大大提高数据存储安全性的优点,解决了目前的数据存储方式因数据的繁多容易出现紊乱,而且数据存储的节点不够明确,数据存储的安全性不高的问题。(The invention relates to the technical field of block chain storage, and discloses a distributed data storage system based on a block chain, which comprises a host module, a storage machine module and a calculation module, wherein the host module comprises a storage machine, a computer registration module, a data consistency maintenance module, a block request generation module and a data request query module; the invention can provide enough network expansibility, meet the ever-increasing storage requirement of data, effectively improve the block generation and data storage efficiency by means of a delegation rights and interests certification consensus mechanism, greatly improve the advantage of data storage safety by utilizing the characteristics of a block chain, and solve the problems that the existing data storage mode is easy to disorder due to the abundance of data, the nodes of data storage are not clear enough, and the safety of data storage is not high.)

一种基于区块链的分布式数据存储系统

技术领域

本发明涉及区块链存储技术领域,具体为一种基于区块链的分布式数据存储系统。

背景技术

数据存储在互联网时代的占据有及其重要的地位,随着大数据时代的到来,越来越多的数据信息衍生而出。在数据存储技术中,硬件存储的劣势越来越凸显,硬件存储的存储容量使得其弊端彰显的越来越明显。而云存储的技术应用也具有依靠服务器进行的弊端,大量服务器的应用将会对互联网技术的发展进行逐步的遏制和资源使用带来巨大的消耗。

区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并使用密码学方法关联数据区块的分布式数据;区块链技术利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式,具有不可篡改性、去中心化性、匿名性、可追溯性等特征,目前已被广泛应用于金融行业,并在众多领域都表现出广阔的应用前景。

目前对于数据的存储方式仍然存在一定不足之处,其因数据的繁多容易出现紊乱,同时由于网络和物理环境的不稳定,以及网络黑客的攻击,导致数据存储的安全性不高,为此我们提出了一种基于区块链的数据快速自检、恢复,具备极高容错性,大大提高数据存储安全性的分布式数据存储系统来解决此问题。

发明内容

本发明的目的在于提供一种基于区块链的分布式数据存储系统,基于分布式特性进行多端分发,有效提高存储效率,且利用区块链特性进行数据的快速自检、恢复,保证了数据的极高的容错性,大大提高数据存储安全性的优点,解决了目前的数据存储方式因数据的繁多容易出现紊乱,同时由于网络和物理环境的不稳定,以及网络黑客的攻击,导致数据存储的安全性不高的问题。

为实现上述目的,本发明提供如下技术方案:一种基于区块链的分布式数据存储系统,包括主机模块、存储机模块和计算模块,所述主机模块有存储机和计算机注册模块、数据一致性维护模块、区块请求生成模块、数据请求查询模块,所述存储机模块有数据存储模块、数据查询模块、数据自检模块,所述计算模块有区块计算模块。

进一步,所述主机模块有存储机和计算机注册模块、数据一致性维护模块、区块请求生成模块、数据请求查询模块,具体职责为:①接受存储机和计算机的注册,维护所有存储机和计算机的状态;②接受外界添加数据的请求;当数据缓冲区大小达到阈值时,要求将缓冲区数据打包成一个新区块,结束后将新区块进入存储系统;③接受外界查询数据的请求;④定时要求存储检查数据完整性;⑤当存储机不可用时,选择一台有效存储机,让其向无效存储机发送信息。

进一步,所述存储机模块有数据存储模块、数据查询模块、数据自检模块,具体职责为:①存储数据;②当主机要求数据检查时,检查自己的数据完整性,并向主机报告检查结果;③当主机要求接受/发送数据时,接受/发送数据;④当主机要求查询数据时,根据主机给予的区块号和偏移查询并返回数据。

进一步,所述计算模块有区块计算模块,具体职责为:①根据主机发来的区块信息,计算区块的hash值;②根据不同的共识算法生成区块,本发明主要选择委托权益证明算法,实现高效的数据存储。

与现有技术相比,本发明的有益效果如下:

本发明可提供足够的数据安全性,满足数据不被篡改的存储需求,其具备可以快速自检所有数据,及时同步恢复,有效提高存储效率,且利用传统分布式网络架构的配合,大大提高数据存储网络可拓展性的优点,解决了目前的数据存储方式因数据的繁多容易出现紊乱,同时由于网络和物理环境的不稳定,以及网络黑客的攻击,导致数据存储的安全性不高的问题。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要的使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明系统原理图一;

图2为本发明数据存储的顺序图一;

图3为本发明数据查询的顺序图一;

图4为本发明数据传输的顺序图一;

图5为本发明系统原理图二;

图6为本发明数据存储的顺序图二;

图7为本发明数据查询的顺序图二;

图8为本发明数据传输的顺序图二。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-8所示,一种基于区块链的分布式数据存储系统,包括主机模块、存储机模块和计算模块,所述主机模块有存储机和计算机注册模块、数据一致性维护模块、区块请求生成模块、数据请求查询模块,所述存储机模块有数据存储模块、数据查询模块、数据自检模块,所述计算模块有区块计算模块,本发明可提供足够的数据安全性,满足数据不被篡改的存储需求,其具备可以快速自检所有数据,及时同步恢复,有效提高存储效率,且利用传统分布式网络架构的配合,大大提高数据存储网络可拓展性的优点,解决了目前的数据存储方式因数据的繁多容易出现紊乱,同时由于网络和物理环境的不稳定,以及网络黑客的攻击,导致数据存储的安全性不高的问题。

本实施例中,访问权限管理由MasterToken和AccessToken实现,MasterToken用于存储机或者计算机判断请求发送者的有效性,只有请求所附带的MasterToken和自己注册后获得的MasterToken一致才接受此次请求。存储机或者计算机应验证所有请求的token。AccessToken用于存储机对主机发送请求时验证自己的身份。除了注册,当主机收到存储机的请求时,需验证其AccessToken是否和自己注册表里对应存储机的AccessToken一致,不一致的请求将予以拒绝。

本实施例中,使用了简洁的主机信息同步策略:任意一台主机的状态信息发生了改变,则发送新的状态到其他所有主机,其他所有主机以此覆盖自己的状态表。

本实施例中,为了平滑系统性能,主机和存储机都设有缓冲区。对主机来说,缓冲区用来暂时存放外界需要加入的信息。当缓冲区的数据的数量达到一个阈值时,主机将缓冲区的所有数据作为一个区块加入到系统中。对存储机来说,对主机发送来的新数据,将会根据自己的状态分情况处理:①处于有效状态的存储将会在收到新区块时立刻将数据存储存储系统;②处于其他状态(收、无效、验证、发)的机器将会将新区块存入自己的缓冲区,待自己转换有有效状态的时候再将缓冲区的数据存入存储系统。

本实施例中,当系统进行初始化和启动时。存储机或者计算机在开机之前应预知任意一台主机地址,开机后应向主机注册。主机应该为存储机生成其对应的MasterToken和AccessToken,记录下注册者的地址及其对应的两个token,并将两个token返回给注册者,注册过程结束。

本实施例中,参阅图2所示,主机对系统外提供存储数据的接口。当外界对主机发送数据时,主机将数据存入缓冲区,并且对外回复数据将会被加入的区块的编号和块内偏移(注意,此时数据并没有实际加入区块)。当缓冲区达到阈值时,主机将会要求计算机把缓冲区数据打包成新区块。打包结束后,主机将新区块发给所有存储机(无论他们处于什么状态),并清空缓冲区,更新目前区块链状态。

本实施例中,参阅图3所示,主机对系统外提供查询数据的接口。当外界对主机发出查询数据的请求时,需给出区块号和块内偏移。主机首先检查区块号是否即为缓冲区(即数据仍然在缓冲区中),若是,则直接根据偏移返回数据;否则,找所有有效状态的存储都查询数据,只要数据不完全一致就全部自查并恢复,直到数据完全相同;存储查找到数据后,返回给外界。

本实施例中,主机对每台存储机维护定时器,每一时间要求处于“有效”状态的存储检查自己的可用性。主机将会发给存储机目前最新的区块号。存储机将会转换为“验证”状态,并开始从第一个区块开始检查自己保存的链的可用性。当出现以下两种情况之一时,进入无效状态,并将第一个无效区块的编号给主机:①链从一个区块开始,hash不匹配,将会停止检查,报告hash不匹配的第一个的区块编号②全链hash匹配,但是最新的区块号不匹配(意味着丢失了信息),将会报告第一个缺失的区块编号;当以上条件均不满足时,存储机通知主机检查完毕无异常,重新进入有效状态。检查结束后,主机将会记录下存储机的目标状态,并进行进一步的处理。

本实施例中,参阅图4所示,当存储数据检查完毕而且检查结果为无效时(以下称其为D1),主机选择一台处于有效状态的存储机(以下称为D2),将D2对应的accessToken发送给D1,并让D2从D1检查出的无效区块的编号开始的所有数据发送给D1。在此期间,D1应检验发送数据的请求的token是否为D2的accessToken。发送结束之后,D2通知主机发送完毕,清空缓冲区,重新进入有效状态;D1删除D2的accessToken,清空缓冲区,向主机发送目前最新区号,若不匹配,则重新进入无效状态,重新数据同步;若匹配,则进入有效状态。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

最后应说明的是:尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种网闸隔离的数据库之间数据同步方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!