一种基于区块链的分布式数据存储系统及方法技术方案

技术编号:16269603 阅读:26 留言:0更新日期:2017-09-22 21:17
本发明专利技术公开了一种基于区块链的分布式数据存储系统及方法,该方法包括:数据录入模块向数据存储模块录入数据内容,并利用哈希算法计算数据内容的摘录,存在区块链上;数据存储模块接收数据内容,并调取与其对应的摘录,存储与摘录一致的数据内容;进行数据查询时,数据存储模块查找存储的被查询数据内容,并调取与该数据内容对应的摘录,向查询节点返回与对应摘录一致的被查询数据内容。本发明专利技术将区块链用到信息存储系统,不存在Root权限管理员,无人可以随意修改信息内容而不被察觉,实现信息的可靠管理及安全共享;且不直接利用区块链存储数据内容,只存储利用哈希算法计算得到的摘录,减少区块链上的存储量,避免区块链的低效率,提高实用性。

【技术实现步骤摘要】
一种基于区块链的分布式数据存储系统及方法
本专利技术涉及计算机应用
,具体涉及一种基于区块链的分布式数据存储系统及方法。
技术介绍
随着网络及计算机技术的飞速发展,政府、银行、企业,信息电子化已经成为办公的根本,而这些信息都是存储在数据库中。通常,数据库设有具有Root权限的数据库管理员,可以删除、更改数据。窃取了Root权限的黑客或者恶意管理员可以进行恶意地修改、删除数据库中的数据,所有数据都将不再真实可信,极大地危害信息信息系统的安全。区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并使用密码学方法关联数据区块的分布式数据;区块链技术利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式,具有不可篡改性、去中心化性、匿名性、可追溯性等特征,目前已被广泛应用于金融行业,并在众多领域都表现出广阔的应用前景。因此,利用区块链不可篡改、不可伪造的特点,可对信息进行安全存储。但区块链技术本身来源于数字货币(比特币),区块链上通常存储的只是货币交易记录,数据格式统一,可存储数据量少;相比之下,实用数据库系统中的数据量十分巨大,如果直接在区块链上存储这些数据,使用数据的过程将变得非常困难;此外,在区块链系统中,大部分节点需要存储完整的区块链,从全网角度看,数据备份过多,资源浪费十分严重。综上所述,从节约资源、支持海量数据存储和优化系统性能的角度出发,基于区块链实现对分布式数据的可靠管理及安全存储变得尤为重要。
技术实现思路
本专利技术所要解决的技术问题是从节约资源、支持海量数据存储和优化系统性能的角度出发,利用区块链技术不可篡改、不可伪造的特点,实现基于区块链的安全分布式数据存储的问题。为了解决上述技术问题,本专利技术所采用的技术方案是提供一种基于区块链的分布式数据存储系统,包括:数据录入模块,进行数据内容录入,并利用哈希算法计算每条数据内容对应的摘录;区块链存储模块,以区块链形式存储所有数据内容对应的摘录;数据存储模块,接收所述数据录入模块录入的数据内容,并从所述区块链存储模块上调取与接收数据内容对应的摘录,存储与对应摘录一致的数据内容;以及从所述区块链存储模块调取与查询的数据内容对应的摘录,并向查询节点返回与对应摘录一致的被查询数据内容。在上述系统中,所述数据录入模块包括多个录入节点,所述录入节点执行录入操作,并且每个所述录入节点之间建立对等连接,互相传递验证操作的有效性、合法性的消息。在上述系统中,所述数据存储模块包括多个存储节点,并默认其中一个所述存储节点为主用存储节点,其他存储节点为备用存储节点;所述主用存储节点通过数据存储接口接收所述数据录入模块录入的数据内容,并从所述区块链存储模块上调取与接收数据内容对应的摘录,当数据内容与摘录一致时,存储该数据内容,否则,返回数据安全告警;通过上述方式,由所述主用存储节点在下一个备用存储节点上对存储的数据内容进行备份,再由该备用存储节点在另一个备用存储节点上对存储的数据内容进行备份,以此类推,直到所有备用存储节点都完成备份。在上述系统中,当所述主用存储节点不可达或不可用时,切换备用存储节点中的一个节点替代或从备用存储节点中恢复丢失的数据。在上述系统中,数据内容被存入系统默认的主用存储节点,然后由其备份至一个备用存储节点,再由该备用存储节点备份至另一个备用存储节点,以此类推;当主用存储节点离线或宕机时,数据将先被存入所有备用存储节点中排在最前的节点处,再从该备用存储节点依次备份到其他备用存储节点处。在上述系统中,所述数据录入模块设有外部数据录入接口,通过所述外部数据录入外部节点将数据内容上传至某个所述录入节点处,由该录入节点执行录入操作;所述数据存储模块设有外部数据查询接口,通过所述外部数据查询接口外部节点执行查询操作。本专利技术还提供了一种基于区块链的分布式数据存储方法,包括以下步骤:数据录入模块向数据存储模块录入数据内容,并利用哈希算法计算每条数据内容对应的摘录,并将摘录存在区块链存储模块的区块链上;数据存储模块接收录入的数据内容,并从区块链存储模块上调取与接收数据内容对应的摘录,只存储数据内容与摘录一致的数据内容;数据存储模块接受查询节点数据查询,查找存储的被查询数据内容,并从区块链存储模块上调取与该数据内容对应的摘录,向查询节点返回与对应摘录一致的被查询数据内容。本专利技术与现有技术相比,创新性地将区块链应用到信息存储系统,相较于传统的分布式信息存储系统,本专利技术不存在Root权限的管理员,没有任何人可以随意修改信息内容而不被察觉,可保证数据存储的可信度,实现了信息的可靠管理及安全共享,并在采用区块链技术时,充分考虑了分布式数据库与数字货币系统(区块链技术应用)之间的差异,不直接利用区块链存储大量的数据内容,而是只用其存储利用哈希算法计算得到的数据摘录,减少区块链上的存储量,避免了区块链的低效率,使得系统具有较好的实用性。附图说明图1为本专利技术提供一种基于区块链的分布式数据存储系统的结构示意图;图2为本专利技术中录入数据内容的数据流向示意图;图3为本专利技术中数据内容存储过程的流程图;图4为本专利技术提供一种基于区块链的分布式数据存储方法的流程图。具体实施方式针对现有的数据采用中心化的管理方式不利于可靠管理及安全共享的问题,本专利技术利用区块链技术的去中心化、不可篡改、不可伪造的特点,提供一种基于区块链的分布式数据存储系统及方法,从而实现数据信息的可靠管理及安全共享。本专利技术将数据写入人员对应于区块链中的记账节点,数据写入时,利用哈希算法计算得到与原数据信息内容一一对应的摘录(哈希值),区块链上记录其相应的摘录,这样在数据存储节点进行数据内容存储时,数据内容一旦被修改,都将被发现与区块链上对应的摘录不符,实现安全存储;而且,本专利技术从系统效率和支持海量数据的容量要求出发,数据内容本身存储在数据存储节点处,区块链上只存储对应的摘录。下面结合说明书附图和具体实施例对本专利技术做出详细的说明。如图1所示,本专利技术提供的一种基于区块链的分布式数据存储系统,包括数据录入模块、区块链存储模块和数据存储模块;其中,数据录入模块,执行数据录入操作:首先,利用哈希算法计算每条数据内容对应的摘录(哈希值及数据的其他有关信息),并通过区块链访问接口存储至区块链存储模块,然后通过数据存储访问接口将数据内容本身存储至数据存储模块;在本专利技术中,数据录入模块由多个录入节点构成,录入节点将执行录入操作,并且每个录入节点之间建立对等连接,互相传递消息,彼此验证操作的有效性、合法性。区块链存储模块,以区块链形式存储数据录入模块通过区块链访问接口录入的所有数据内容对应的摘录;并通过区块链访问接口,为数据存储模块读取指定数据内容对应的摘录提供摘录数据。数据存储模块,通过数据存储访问接口接收数据录入模块录入的数据内容,并从区块链存储模块上通过区块链访问接口调取与接收数据内容对应的摘录,当数据内容与摘录一致时,存储该数据内容;否则,判断数据被篡改,放弃存储,并向数据录入模块返回数据安全告警;另外,当进行数据查询时(外部节点查询或内部节点查询),从区块链存储模本文档来自技高网
...
一种基于区块链的分布式数据存储系统及方法

【技术保护点】
一种基于区块链的分布式数据存储系统,其特征在于,包括:数据录入模块,进行数据内容录入,并利用哈希算法计算每条数据内容对应的摘录;区块链存储模块,以区块链形式存储所有数据内容对应的摘录;数据存储模块,接收所述数据录入模块录入的数据内容,并从所述区块链存储模块上调取与接收数据内容对应的摘录,存储与对应摘录一致的数据内容;以及从所述区块链存储模块调取与查询的数据内容对应的摘录,并向查询节点返回与对应摘录一致的被查询数据内容。

【技术特征摘要】
1.一种基于区块链的分布式数据存储系统,其特征在于,包括:数据录入模块,进行数据内容录入,并利用哈希算法计算每条数据内容对应的摘录;区块链存储模块,以区块链形式存储所有数据内容对应的摘录;数据存储模块,接收所述数据录入模块录入的数据内容,并从所述区块链存储模块上调取与接收数据内容对应的摘录,存储与对应摘录一致的数据内容;以及从所述区块链存储模块调取与查询的数据内容对应的摘录,并向查询节点返回与对应摘录一致的被查询数据内容。2.如权利要求1所述的系统,其特征在于,所述数据录入模块包括多个录入节点,所述录入节点执行录入操作,并且每个所述录入节点之间建立对等连接,互相传递验证操作的有效性、合法性的消息。3.如权利要求1所述的系统,其特征在于,所述数据存储模块包括多个存储节点,并默认其中一个所述存储节点为主用存储节点,其他存储节点为备用存储节点;所述主用存储节点通过数据存储接口接收所述数据录入模块录入的数据内容,并从所述区块链存储模块上调取与接收数据内容对应的摘录,当数据内容与摘录一致时,存储该数据内容,否则,返回数据安全告警;通过上述方式,由所述主用存储节点在下一个备用存储节点上对存储的数据内容进行备份,再由该备用存储节点在另一个备用存储节点上对存储的数据内容进行备份,以此类推,直到所有备用存储节点都完成备份。4...

【专利技术属性】
技术研发人员:王晶张锐
申请(专利权)人:北京中星仝创科技有限公司
类型:发明
国别省市:北京,11

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

1