基于区块链的数据存储方法、装置、设备及存储介质与流程

文档序号:22546338发布日期:2020-10-17 02:16阅读:119来源:国知局
基于区块链的数据存储方法、装置、设备及存储介质与流程

本发明涉及区块链存储领域,尤其涉及一种基于区块链的数据存储方法、装置、设备及存储介质。



背景技术:

互联网技术不断发展,伴随着技术的升级,数据的存储方式开始往虚拟化、去中心化、抽象化演变。从最初使用磁盘、光盘存储信息数据,至现在的云数据存储、虚拟容器存储、分片多段处理存储等技术。在更新迭代的技术中逐渐产生了一种去中心化的技术,该去中心化的技术为区块链技术。

区块链技术被开发出来,则立刻引发存储方式的改变。区块链技术具有共享区域内共同确认数据记录的特征,伴随哈希算法的检验,区块链成为金融财务领域的重要数据记录方式。在金融财务领域应用时,客户隐私是一个重要的问题,因此需要针对不同客户给予不同访问权限。现有技术中,访问权限的更改只能暂停客户端访问,然后再进行修改访问权限。因此,需要一种不暂停客户端访问而完成访问权限修改的技术。



技术实现要素:

本发明的主要目的在于解决在区块链存储中修改子节点的数据访问权限与数据访问不能同时进行的技术问题。

本发明第一方面提供了一种基于区块链的数据存储方法,所述基于区块链的数据存储包括:

读取区块链局域网络中主节点服务器的第一存储数据,以及获取在所述区块链局域网络中每个子节点服务器对应所述第一存储数据的访问权限设置,其中,所述主节点服务器包括为每个所述子节点服务器提供数据访问的服务器;

根据所有所述访问权限设置,基于预置矩阵生成规则,生成访问权限矩阵;

根据所述访问权限矩阵与所述第一存储数据,基于预置数据更正规则,生成第二存储数据;

根据所述第二存储数据更新每个所述子节点服务器的数据库,得到每个所述子节点服务器对应的修正子节点数据库;

关闭所述主节点服务器中每个所述子节点服务器的数据访问链路,并将所有所述修正子节点数据库确认为对应所述子节点服务器数据访问的数据库。

可选的,在本发明第一方面的第一种实现方式中,在所述读取区块链局域网络中主节点服务器的第一存储数据,以及获取在所述区块链局域网络中每个子节点服务器对应所述第一存储数据的访问权限设置之前,还包括:

在主节点服务器与每个子节点服务器中创建数据库;

将所有所述数据库设置为可读写状态;

将基于区块链生成的交易数据写入所述主节点服务器对应的数据库中,生成所述主节点服务器的第一存储数据。

可选的,在本发明第一方面的第二种实现方式中,所述根据所有所述访问权限设置,基于预置矩阵生成规则,生成访问权限矩阵包括:

对所有所述子节点服务器与所述主节点服务器进行排序标号处理,以及统计所有所述子节点服务器与所述主节点服务器共同的数量;

根据所述数量,基于所述排序标号,生成初始矩阵;

解析所有所述访问权限设置中对应的授权路径;

根据所有所述授权路径,修改所述初始矩阵,生成访问权限矩阵。

可选的,在本发明第一方面的第三种实现方式中,所述访问权限矩阵包括连接路径和所述连接路径对应的目标数据请求,其特征在于,所述根据所述访问权限矩阵与所述第一存储数据,基于预置数据更正规则,生成第二存储数据包括:

读取所述访问权限矩阵中所有的连接路径;

分别判断所述连接路径是否为所述授权路径;

若是,则读取所述连接路径对应的目标数据请求,根据所述目标数据请求从所述第一存储数据中抓取目标数据;

根据所有所述连接路径对应的目标数据,生成第二存储数据。

可选的,在本发明第一方面的第四种实现方式中,所述根据所述第二存储数据更新每个所述子节点服务器的数据库,得到每个所述子节点服务器对应的修正子节点数据库包括:

清除所有所述子节点服务器中所述第一存储数据对应的数据库数据;

遍历所有所述子节点服务器的连接路径,根据所述第二存储数据中连接路径对应的目标数据,修改所述子节点服务器对应的所述数据库;

将每个所述子节点服务器对应的所述数据库确认为修正子节点数据库。

可选的,在本发明第一方面的第五种实现方式中,所述关闭所述主节点服务器中每个所述子节点服务器的数据访问链路,并将所有所述修正子节点数据库确认为对应所述子节点服务器数据访问的数据库包括:

查询所述主节点服务器中的数据访问链路,并将所有所述子节点服务器对应数据访问链路的端口关闭;

读取所有所述子节点服务器的数据访问端口,得到对应的数据访问对象集;

在所有所述数据访问对象集增加中对应的所述修正子节点数据库,并将对应的所述修正子节点数据库确认为优先访问对象。

可选的,在本发明第一方面的第六种实现方式中,在所述关闭所述主节点服务器中每个所述子节点服务器的数据访问链路,并将所有所述修正子节点数据库确认为对应所述子节点服务器数据访问的数据库之后,还包括:

接收所述子节点服务器中的数据读取请求;

解析获取所述数据读取请求,得到网络链路请求和待获取数据请求;

根据所述子节点服务器对应的访问权限矩阵,判断所述网络链路请求是否已授权;

若是,则根据所述网络链路请求,从所述节点服务器的修正子节点数据库中抓取待获取数据;

若否,则将禁止读取的反馈信息发送至所述子节点服务器,中止数据获取。

本发明第二方面提供了一种基于区块链的数据存储装置,所述基于区块链的数据存储装置包括:

读取模块,用于读取区块链局域网络中主节点服务器的第一存储数据,以及获取在所述区块链局域网络中每个子节点服务器对应所述第一存储数据的访问权限设置,其中,所述主节点服务器包括为每个所述子节点服务器提供数据访问的服务器;

矩阵生成模块,用于根据所有所述访问权限设置,基于预置矩阵生成规则,生成访问权限矩阵;

数据生成模块,用于根据所述访问权限矩阵与所述第一存储数据,基于预置数据更正规则,生成第二存储数据;

修正模块,用于根据所述第二存储数据更新每个所述子节点服务器的数据库,得到每个所述子节点服务器对应的修正子节点数据库;

权限设置模块,用于关闭所述主节点服务器中每个所述子节点服务器的数据访问链路,并将所有所述修正子节点数据库确认为对应所述子节点服务器数据访问的数据库。

可选的,在本发明第二方面的第一种实现方式中,所述基于区块链的数据存储装置还包括预处理模块,所述预处理模块具体用于:

在主节点服务器与每个子节点服务器中创建数据库;

将所有所述数据库设置为可读写状态;

将基于区块链生成的交易数据写入所述主节点服务器对应的数据库中,生成所述主节点服务器的第一存储数据。

可选的,在本发明第二方面的第二种实现方式中,所述矩阵生成模块具体用于:

对所有所述子节点服务器与所述主节点服务器进行排序标号处理,以及统计所有所述子节点服务器与所述主节点服务器共同的数量;

根据所述数量,基于所述排序标号,生成初始矩阵;

解析所有所述访问权限设置中对应的授权路径;

根据所有所述授权路径,修改所述初始矩阵,生成访问权限矩阵。

可选的,在本发明第二方面的第三种实现方式中,所述数据生成模块具体用于:

读取所述访问权限矩阵中所有的连接路径;

分别判断所述连接路径是否为所述授权路径;

若是,则读取所述连接路径对应的目标数据请求,根据所述目标数据请求从所述第一存储数据中抓取目标数据;

根据所有所述连接路径对应的目标数据,生成第二存储数据。

可选的,在本发明第二方面的第四种实现方式中,所述修正模块具体用于:

清除所有所述子节点服务器中所述第一存储数据对应的数据库数据;

遍历所有所述子节点服务器的连接路径,根据所述第二存储数据中连接路径对应的目标数据,修改所述子节点服务器对应的所述数据库;

将每个所述子节点服务器对应的所述数据库确认为修正子节点数据库。

可选的,在本发明第二方面的第五种实现方式中,所述权限设置模块具体用于:

查询所述主节点服务器中的数据访问链路,并将所有所述子节点服务器对应数据访问链路的端口关闭;

读取所有所述子节点服务器的数据访问端口,得到对应的数据访问对象集;

在所有所述数据访问对象集增加中对应的所述修正子节点数据库,并将对应的所述修正子节点数据库确认为优先访问对象。

可选的,在本发明第二方面的第六种实现方式中,所述基于区块链的数据存储装置还包括访问应用模块,所述访问应用模块具体用于:

接收所述子节点服务器中的数据读取请求;

解析获取所述数据读取请求,得到网络链路请求和待获取数据请求;

根据所述子节点服务器对应的访问权限矩阵,判断所述网络链路请求是否已授权;

若是,则根据所述网络链路请求,从所述节点服务器的修正子节点数据库中抓取待获取数据;

若否,则将禁止读取的反馈信息发送至所述子节点服务器,中止数据获取。

本发明第三方面提供了一种基于区块链的数据存储设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于区块链的数据存储设备执行上述的基于区块链的数据存储方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于区块链的数据存储方法。

本发明提供的技术方案中,读取区块链局域网络中主节点服务器的第一存储数据,以及获取在所述区块链局域网络中每个子节点服务器对应所述第一存储数据的访问权限设置,其中,所述主节点服务器包括为每个所述子节点服务器提供数据访问的服务器;根据所有所述访问权限设置,基于预置矩阵生成规则,生成访问权限矩阵;根据所述访问权限矩阵与所述第一存储数据,基于预置数据更正规则,生成第二存储数据;根据所述第二存储数据更新每个所述子节点服务器的数据库,得到每个所述子节点服务器对应的修正子节点数据库;关闭所述主节点服务器中每个所述子节点服务器的数据访问链路,并将所有所述修正子节点数据库确认为对应所述子节点服务器数据访问的数据库。本发明实施例中,通过对每个子节点服务器使用访问矩阵设置访问权限,使得在区块链局域网络中修改访问权限时,可以在局域网络中的数据访问的同时修改每个子节点服务器的访问权限。

附图说明

图1为本发明实施例中基于区块链的数据存储方法的第一个实施例示意图;

图2为本发明实施例中基于区块链的数据存储方法的第二个实施例示意图;

图3为本发明实施例中基于区块链的数据存储方法的第三个实施例示意图;

图4为本发明实施例中基于区块链的数据存储装置的一个实施例示意图;

图5为本发明实施例中基于区块链的数据存储装置的另一个实施例示意图;

图6为本发明实施例中基于区块链的数据存储设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种基于区块链的数据存储方法、装置、设备及存储介质,读取区块链局域网络中主节点服务器的第一存储数据,以及获取在所述区块链局域网络中每个子节点服务器对应所述第一存储数据的访问权限设置,其中,所述主节点服务器包括为每个所述子节点服务器提供数据访问的服务器;根据所有所述访问权限设置,基于预置矩阵生成规则,生成访问权限矩阵;根据所述访问权限矩阵与所述第一存储数据,基于预置数据更正规则,生成第二存储数据;根据所述第二存储数据更新每个所述子节点服务器的数据库,得到每个所述子节点服务器对应的修正子节点数据库;关闭所述主节点服务器中每个所述子节点服务器的数据访问链路,并将所有所述修正子节点数据库确认为对应所述子节点服务器数据访问的数据库。本发明实施例中,通过对每个子节点服务器使用访问矩阵设置访问权限,使得在区块链局域网络中修改访问权限时,可以在局域网络中的数据访问的同时修改每个子节点服务器的访问权限。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于区块链的数据存储方法的第一个实施例包括:

101、读取区块链局域网络中主节点服务器的第一存储数据,以及获取在所述区块链局域网络中每个子节点服务器对应所述第一存储数据的访问权限设置,其中,所述主节点服务器包括为每个所述子节点服务器提供数据访问的服务器;

在本实施例中,主节点服务器是基于区块链技术在局域网络中负责数据分发的服务器,第一存储数据可以是单独一笔的交易数据,也可以是一系列交易数据集合。具体来说,第一存储数据可以包括:access、transactionid、from、to、amount、time等项目,显示为{access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8954,time:xxxx.yy.zz},其中access表示为是否为可读的属性,transactionid表示为交易账户的名称,from为交易的发起地址,to为交易的抵达地址,amount为交易的金额,time为交易的时间。子节点服务器为数据获取的服务器,在实际应用中,子节点服务器可以访问主节点服务器获取第一存储数据,不同的子节点服务器有不同的访问权限。更进一步,子节点服务器之间也可以进行访问,并将子节点服务器之间的访问权限作为访问矩阵的内容写入。

102、根据所有所述访问权限设置,基于预置矩阵生成规则,生成访问权限矩阵;

在本实施例中,将n个子节点服务器排列,并标记号码为:1、2、3、....、n,根据排列数据生成n*n的零矩阵,将所有子节点服务器对主节点服务器的访问权限写入至零矩阵。在具体实施中,节点1和节点2对节点n有访问权限,则令a1n=an1=a12=a21=a2n=an2=1,则该矩阵的形状为:

0、1、…、1

1、0、…、1

1、1、…、0

记录下所有子节点服务器之间的访问权限后,每个子节点服务器还附带一个对主节点服务器访问权限设置,有访问权限为1,无访问权限则为0。于是每个访问权限矩阵自带标签,内容中写明子节点服务器之间的连接关系,也附带对主节点服务器的访问权限。

在另一个实施例子中,将n-1个子节点服务器与主节点服务器共同排列,其中主节点服务器为第n个节点。然后将n-1个子节点服务器与主节点服务器分别标记为:1、2、3、...、n,读取标号为1的子节点服务器的访问权限,则有2、n号节点有连接关系,则令a1n=an1=a12=a21=a2n=an2=1,则该矩阵的形状为:

0、1、…、1

1、0、…、1

1、1、…、0

不同的子节点服务器对应的权限矩阵是不同的,共有n-1个访问权限矩阵对应n-1个子节点服务器。

在第三个实施例子中,将n-1个子节点服务器与主节点服务器共同排列,其中主节点服务器为第n个节点。然后将n-1个子节点服务器与主节点服务器分别标记为:1、2、3、...、n,而记录1号至n-1号节点与n号节点的访问权限关系,其中,节点1和节点2对节点n有访问权限。

令a1n=an1=a12=a21=a2n=an2=1,则该矩阵的形状为:

0、1、…、1

1、0、…、1

1、1、…、0

生成访问矩阵唯一,且只记录n-1个子节点服务器与主节点服务器分的访问权限关系。

103、根据所述访问权限矩阵与所述第一存储数据,基于预置数据更正规则,生成第二存储数据;

在本实施例中,将n-1个子节点服务器与主节点服务器共同排列,其中主节点服务器为第n个节点。然后将n-1个子节点服务器与主节点服务器分别标记为:1、2、3、...、n,而记录1号至n-1号节点与n号节点的访问权限关系,其中,节点1和节点2对节点n有访问权限。

令a1n=an1=a2n=an2=1,则该矩阵的形状为:

0、0、…、1

0、0、…、1

1、1、…、0

生成访问矩阵唯一,且只记录n-1个子节点服务器与主节点服务器分的访问权限关系。根据访问权限矩阵的连接关系,读取第一存储数据中1至n、2至n对应的存储数据,然后生成第二存储数据{1n,access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8954,time:xxxx.yy.zz;2n,access:n,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8664,time:xxxx.yy.zz}。

104、根据所述第二存储数据更新每个所述子节点服务器的数据库,得到每个所述子节点服务器对应的修正子节点数据库;

在本实施例中,根据{1n,access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8954,time:xxxx.yy.zz;2n,access:n,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8664,time:xxxx.yy.zz}的内容,更新1号子节点服务器的数据库,将{access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8954,time:xxxx.yy.zz}写入,更新2号子节点服务器的数据,将{access:n,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8664,time:xxxx.yy.zz}写入。将写入有{access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8954,time:xxxx.yy.zz}与{access:n,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8664,time:xxxx.yy.zz}的作为修正子节点数据库。

105、关闭所述主节点服务器中每个所述子节点服务器的数据访问链路,并将所有所述修正子节点数据库确认为对应所述子节点服务器数据访问的数据库。

在本实施例中,将主节点服务器与所有子节点服务器之间的数据访问关闭,但是不会关闭主节点服务器与本发明集合装置数据访问链路。将修正子节点数据库作为子节点服务器的数据,其中,与主节点服务器没有连接权限的子节点服务器更新的修正子节点数据库为{access:,transactionid:qwqw,from:,to:,amount:,time:},将修正子节点数据库作为设置为访问数据库。

本发明实施例中,通过对每个子节点服务器使用访问矩阵设置访问权限,使得在区块链局域网络中修改访问权限时,可以在局域网络中的数据访问的同时修改每个子节点服务器的访问权限。

请参阅图2,本发明实施例中基于区块链的数据存储方法第二个实施例包括:

201、在主节点服务器与每个子节点服务器中创建数据库;

在本实施例子中,在主节点服务器与每个子节点服务器中创建的数据库,每个节点服务器的数据库、表、表的字段、属性、定义、表与表之间的关联都完全相同,数据库的框架为:{access:,transactionid:,from:,to:,amount:,time:}。

202、将所有所述数据库设置为可读写状态;

在本实施例中,将数据库的属性全部设置为可读,则数据库中数据为{access:y,transactionid:,from:,to:,amount:,time:}。

203、将基于区块链生成的交易数据写入所述主节点服务器对应的数据库中,生成所述主节点服务器的第一存储数据;

在本实施例中,区块链生成了交易数据,根据交易数据的科目可以设置每个对应科目标签,access的标签为888,transactionid的标签为887,from:,to的标签为886,amount的标签为885,time的标签为884,然后根据标签匹配将交易数据写入access:y,transactionid:,from:,to:,amount:,time:}得到{access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8954,time:xxxx.yy.zz}。

204、读取区块链局域网络中主节点服务器的第一存储数据,以及获取在所述区块链局域网络中每个子节点服务器对应所述第一存储数据的访问权限设置,其中,所述主节点服务器包括为每个所述子节点服务器提供数据访问的服务器;

本实施例已经在第一实施例中进行了说明,在此不做赘述。

205、根据所有所述访问权限设置,基于预置矩阵生成规则,生成访问权限矩阵;

本实施例已经在第一实施例中进行了说明,在此不做赘述。

206、根据所述访问权限矩阵与所述第一存储数据,基于预置数据更正规则,生成第二存储数据;

本实施例已经在第一实施例中进行了说明,在此不做赘述。

207、根据所述第二存储数据更新每个所述子节点服务器的数据库,得到每个所述子节点服务器对应的修正子节点数据库;

本实施例已经在第一实施例中进行了说明,在此不做赘述。

208、关闭所述主节点服务器中每个所述子节点服务器的数据访问链路,并将所有所述修正子节点数据库确认为对应所述子节点服务器数据访问的数据库;

本实施例已经在第一实施例中进行了说明,在此不做赘述。

209、接收所述子节点服务器中的数据读取请求;

在本实施例中,使用wifi连接、蓝牙连接、数据线、网络连接等方式从子节点服务器中获得数据读取请求。

210、解析获取所述数据读取请求,得到网络链路请求和待获取数据请求;

在本实施例中,数据读取请求内容为{link:1-a-b-c-d-e-n;find:sjj1.01.663},其中,link后为网络链路请求,而find后为需要的数据的版本号与标签组合。

211、根据所述子节点服务器对应的访问权限矩阵,判断所述网络链路请求是否已授权;

在本实施例中,依次查询1-a-b-c-d-e-n的连接是否可行,然后读取子节点服务器的访问权限矩阵中1-a-b-c-d-e-n连接的路径是否1节点与n节点是否为授权连接。

212、若是,则根据所述网络链路请求,从所述节点服务器的修正子节点数据库中抓取待获取数据;

本实施例中,如果为授权连接链路,则依次通过1、a、b、c、d、e、n连接子节点服务器,然后根据sjj1.01.663版本号从修正子节点数据库中抓取sjj1.01.663的数据。

213、若否,则将禁止读取的反馈信息发送至所述子节点服务器,中止数据获取。

在本实施例中,如果1与n不是有权限连接的节点,则将“您好,本次连接为非授权连接,已终止”发送至子节点服务器中,然后停止数据获取。

本发明实施例中,通过对每个子节点服务器使用访问矩阵设置访问权限,使得在区块链局域网络中修改访问权限时,可以在局域网络中的数据访问的同时修改每个子节点服务器的访问权限。

请参阅图3,本发明实施例中基于区块链的数据存储方法第三个实施例包括:

301、读取区块链局域网络中主节点服务器的第一存储数据,以及获取在所述区块链局域网络中每个子节点服务器对应所述第一存储数据的访问权限设置,其中,所述主节点服务器包括为每个所述子节点服务器提供数据访问的服务器;

本实施例已经在第一实施例中进行了说明,在此不做赘述。

302、对所有所述子节点服务器与所述主节点服务器进行排序标号处理,以及统计所有所述子节点服务器与所述主节点服务器共同的数量;

在本实施例中,将n-1个子节点服务器与主节点服务器排列标号,依次标号为:1、2、3、...、n,统计出所有子节点服务器与主节点服务器的共同的数量为n。

303、根据所述数量,基于所述排序标号,生成初始矩阵;

在本实施例中,根据数量n生成n*n的零矩阵,且每个零元素的标记为a11、a12、a13、....、a1n、a21、a22、a23、...、a2n、....ann,其中,aij表示i节点服务器与j节点服务器之间的访问权限,aij=0说明无访问权限,aij=1说明有访问权限。

304、解析所有所述访问权限设置中对应的授权路径;

在本实施例中,解析所有访问权限设置中是否授权的数据,1号节点与n号节点、2号节点与n号节点、3号节点与n号节点、...、n-1号节点与n号节点,然后得到授权路径的集合。

305、根据所有所述授权路径,修改所述初始矩阵,生成访问权限矩阵;

在本实施例中,依次判断1号节点与n号节点、2号节点与n号节点、3号节点与n号节点、...、n-1号节点与n号节点是否授权,如果授权则在初始矩阵中对应的位置将0元素修改为1元素,生成访问权限矩阵。

306、读取所述访问权限矩阵中所有的连接路径;

在本实施例中,解析访问权限矩阵中所有的连接路径的数据,得到{1-ny,1-2n,....,n-1-ny}的数据集。

307、分别判断所述连接路径是否为所述授权路径;

在本实施例中,{1-ny,1-2n,....,n-1-ny}依次判断1号节点与n号节点、1号节点与2号节点、....、n-1号节点与n号节点是否为授权路径。

308、若是,则读取所述连接路径对应的目标数据请求,根据所述目标数据请求从所述第一存储数据中抓取目标数据;

在本实施例中,根据1号节点与n号节点的目标数据请求为aa号数据,1号节点与2号节点的目标数据请求为sd号数据,依次分录的从第一存储数据中抓取对应的目标数据。

309、根据所有所述连接路径对应的目标数据,生成第二存储数据;

在本实施例中,将所有连接路径与目标数据组合,例如{1n,access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8954,time:xxxx.yy.zz;2n,access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥844,time:xxxx.iy.zz;...;n-1n,access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥5554,time:xxxx.io.zz},这样就对应组合而成第二存储数据。

310、清除所有所述子节点服务器中所述第一存储数据对应的数据库数据;

在本实施例中,将子节点服务器中访问第一存储数据后存储第一存储数据的数据库清空,得到{nell}的数据库。

311、遍历所有所述子节点服务器的连接路径,根据所述第二存储数据中连接路径对应的目标数据,修改所述子节点服务器对应的所述数据库;

在本实施例中,将所有子节点服务器的连接路径读取,将第二存储数据{1n,access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8954,time:xxxx.yy.zz;2n,access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥844,time:xxxx.iy.zz;...;n-1n,access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥5554,time:xxxx.io.zz}对应的数据写入至对应的{nell}完成数据修改。

312、将每个所述子节点服务器对应的所述数据库确认为修正子节点数据库;

在本实施例中,子节点服务器的数据库{access:y,transactionid:qwqw,from:aprovince,to:bcity,amount:¥8954,time:xxxx.yy.zz}确认为修正子节点数据库。

313、关闭所述主节点服务器中每个所述子节点服务器的数据访问链路,并将所有所述修正子节点数据库确认为对应所述子节点服务器数据访问的数据库。

本发明实施例中,通过对每个子节点服务器使用访问矩阵设置访问权限,使得在区块链局域网络中修改访问权限时,可以在局域网络中的数据访问的同时修改每个子节点服务器的访问权限。

上面对本发明实施例中基于区块链的数据存储方法进行了描述,下面对本发明实施例中基于区块链的数据存储装置进行描述,请参阅图4,本发明实施例中基于区块链的数据存储装置一个实施例包括:

读取模块401,用于读取区块链局域网络中主节点服务器的第一存储数据,以及获取在所述区块链局域网络中每个子节点服务器对应所述第一存储数据的访问权限设置,其中,所述主节点服务器包括为每个所述子节点服务器提供数据访问的服务器;

矩阵生成模块402,用于根据所有所述访问权限设置,基于预置矩阵生成规则,生成访问权限矩阵;

数据生成模块403,用于根据所述访问权限矩阵与所述第一存储数据,基于预置数据更正规则,生成第二存储数据;

修正模块404,用于根据所述第二存储数据更新每个所述子节点服务器的数据库,得到每个所述子节点服务器对应的修正子节点数据库;

权限设置模块405,用于关闭所述主节点服务器中每个所述子节点服务器的数据访问链路,并将所有所述修正子节点数据库确认为对应所述子节点服务器数据访问的数据库。

本发明实施例中,通过对每个子节点服务器使用访问矩阵设置访问权限,使得在区块链局域网络中修改访问权限时,可以在局域网络中的数据访问的同时修改每个子节点服务器的访问权限。

请参阅图5,本发明实施例中基于区块链的数据存储装置的另一个实施例包括:

读取模块401,用于读取区块链局域网络中主节点服务器的第一存储数据,以及获取在所述区块链局域网络中每个子节点服务器对应所述第一存储数据的访问权限设置,其中,所述主节点服务器包括为每个所述子节点服务器提供数据访问的服务器;

矩阵生成模块402,用于根据所有所述访问权限设置,基于预置矩阵生成规则,生成访问权限矩阵;

数据生成模块403,用于根据所述访问权限矩阵与所述第一存储数据,基于预置数据更正规则,生成第二存储数据;

修正模块404,用于根据所述第二存储数据更新每个所述子节点服务器的数据库,得到每个所述子节点服务器对应的修正子节点数据库;

权限设置模块405,用于关闭所述主节点服务器中每个所述子节点服务器的数据访问链路,并将所有所述修正子节点数据库确认为对应所述子节点服务器数据访问的数据库。

其中,所述基于区块链的数据存储装置包括预处理模块406,所述处理模块406具体用于:

在主节点服务器与每个子节点服务器中创建数据库;

将所有所述数据库设置为可读写状态;

将基于区块链生成的交易数据写入所述主节点服务器对应的数据库中,生成所述主节点服务器的第一存储数据。

其中,所述矩阵生成模块402具体用于:

对所有所述子节点服务器与所述主节点服务器进行排序标号处理,以及统计所有所述子节点服务器与所述主节点服务器共同的数量;

根据所述数量,基于所述排序标号,生成初始矩阵;

解析所有所述访问权限设置中对应的授权路径;

根据所有所述授权路径,修改所述初始矩阵,生成访问权限矩阵。

其中,所述数据生成模块403具体用于:

读取所述访问权限矩阵中所有的连接路径;

分别判断所述连接路径是否为所述授权路径;

若是,则读取所述连接路径对应的目标数据请求,根据所述目标数据请求从所述第一存储数据中抓取目标数据;

根据所有所述连接路径对应的目标数据,生成第二存储数据。

其中,所述修正模块404具体用于:

清除所有所述子节点服务器中所述第一存储数据对应的数据库数据;

遍历所有所述子节点服务器的连接路径,根据所述第二存储数据中连接路径对应的目标数据,修改所述子节点服务器对应的所述数据库;

将每个所述子节点服务器对应的所述数据库确认为修正子节点数据库。

其中,所述权限设置模块405具体用于:

查询所述主节点服务器中的数据访问链路,并将所有所述子节点服务器对应数据访问链路的端口关闭;

读取所有所述子节点服务器的数据访问端口,得到对应的数据访问对象集;

在所有所述数据访问对象集增加中对应的所述修正子节点数据库,并将对应的所述修正子节点数据库确认为优先访问对象。

其中,所述基于区块链的数据存储装置包括访问应用模块407,所述访问应用模块407具体用于:

接收所述子节点服务器中的数据读取请求;

解析获取所述数据读取请求,得到网络链路请求和待获取数据请求;

根据所述子节点服务器对应的访问权限矩阵,判断所述网络链路请求是否已授权;

若是,则根据所述网络链路请求,从所述节点服务器的修正子节点数据库中抓取待获取数据;

若否,则将禁止读取的反馈信息发送至所述子节点服务器,中止数据获取。

本发明实施例中,通过对每个子节点服务器使用访问矩阵设置访问权限,使得在区块链局域网络中修改访问权限时,可以在局域网络中的数据访问的同时修改每个子节点服务器的访问权限。

上面图4和图5从模块化功能实体的角度对本发明实施例中的基于区块链的数据存储装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于区块链的数据存储设备进行详细描述。

图6是本发明实施例提供的一种基于区块链的数据存储设备的结构示意图,该基于区块链的数据存储设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于区块链的数据存储设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在基于区块链的数据存储设备600上执行存储介质630中的一系列指令操作。

基于区块链的数据存储设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如windowsserve,macosx,unix,linux,freebsd等等。本领域技术人员可以理解,图6示出的基于区块链的数据存储设备结构并不构成对基于区块链的数据存储设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述基于区块链的数据存储方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1