基于区块链的数据之间数据调用方法、存储介质以及设备与流程

文档序号:31880040发布日期:2022-10-21 22:56阅读:109来源:国知局
基于区块链的数据之间数据调用方法、存储介质以及设备与流程

1.本发明涉及数据调用技术领域,具体涉及一种基于区块链的数据之间数据调用方法、存储介质以及设备。


背景技术:

2.随着企业数据规模和价值的日益提升,通过数据调用挖掘数据的潜在价值变得越来越重要;但如何确保数据协作方相互信任,有效地解决“信息孤岛”难题,并在开放调用同时,保护敏感信息、涉密数据等不被非法获取利用,是开放调用的基本共识和需求。
3.现有的技术方案主要有两种:
4.1、传统数据调用方案是使用传统的隐私保护手段实现内部调用,同时为降低暴露隐私数据的风险选择拒绝对外开放调用;
5.2、中心化数据调用方案是以第三方为数据开放和调用为中枢,各数据拥有者对第三方信任并对第三方开放数据,数据调用过程通过第三方来调度实现。
6.现有的传统调用方案以拒绝对外开放来降低隐私风险,不仅无法挖掘数据的潜在价值,不能最大化其利益,且会导致信息建设滞后;中心化数据调用方案虽然解决了互不信任的问题,但却由于数据集中在第三方而带来的安全问题,第三方无法保证绝对数据安全,一旦发生数据泄漏会造成严重后果。


技术实现要素:

7.本发明所要解决的技术问题是:提供一种具有共识机制和去中心化的显著特点的基于区块链的数据之间数据调用方法、存储介质以及设备。
8.为了解决上述技术问题,本发明采用的第一种技术方案为:
9.一种基于区块链的数据之间数据调用方法,包括
10.搭建数据调用模型;
11.数据处理;
12.数据通信,参与数据调用的各节点进行节点初始化配置,各节点签署联盟条约将各节点组织成一个区域自治联盟,并在区域自治联盟中的每个节点生成包含该节点唯一身份标识的身份标识数据区块;
13.协商是否允许新节点加入区域自治联盟,若是,则将该节点的参数信息进行存储并形成新的数据块添加在原始数据区块的尾部形成新的区块链;
14.判断发出数据调用请求的节点是否为区域自治联盟成员,若是,将加盖时间戳的访问操作记录在区域自治联盟中进行广播,同时添加到区域自治联盟区块链尾形成新的区块链;
15.判断是否允许非区域自治联盟节点数据调用,若区域自治联盟的所有节点对该数据操作的正确性和有效性达成共识,则将数据操作块加入区域自治联盟中存储的数据区块链尾部形成新的区块链并区域自治联盟中进行广播并在区域自治联盟的各节点进行存储。
16.为了解决上述技术问题,本发明采用的第二种技术方案为:
17.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的基于区块链的数据之间数据调用方法。
18.为了解决上述技术问题,本发明采用的第三种技术方案为:
19.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的基于区块链的数据之间数据调用方法。
20.本发明的有益效果在于:该基于区块链的数据调用方法使区域自治联盟中的成员节点在数据调用的同时,互相约束、互相监管,解决了“信息孤岛”现象;通过各个节点的自治有效减轻了管理复杂度;分布式、多冗余特性保证了区块链不存在单点失效故障,即使单节点失效,其他节点不受影响,比中心化系统更为可靠;解决了数据调用中的数据来源、所有权、使用权和流通路径问题,让调用过程全网认可、公开透明且可追溯;当数据经过处理后是放置在区块链上,获授权的节点方可访问数据;通过公私钥机制,既可以对数据的私密性保护又可实现调用。
附图说明
21.图1为本发明实施例一的一种基于区块链的数据之间数据调用方法的示意图。
具体实施方式
22.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
23.请参照图1,一种基于区块链的数据之间数据调用方法,包括
24.搭建数据调用模型;
25.数据处理;
26.数据通信,参与数据调用的各节点进行节点初始化配置,各节点签署联盟条约将各节点组织成一个区域自治联盟,并在区域自治联盟中的每个节点生成包含该节点唯一身份标识的身份标识数据区块;
27.协商是否允许新节点加入区域自治联盟,若是,则将该节点的参数信息进行存储并形成新的数据块添加在原始数据区块的尾部形成新的区块链;
28.判断发出数据调用请求的节点是否为区域自治联盟成员,若是,将加盖时间戳的访问操作记录在区域自治联盟中进行广播,同时添加到区域自治联盟区块链尾形成新的区块链;
29.判断是否允许非区域自治联盟节点数据调用,若区域自治联盟的所有节点对该数据操作的正确性和有效性达成共识,则将数据操作块加入区域自治联盟中存储的数据区块链尾部形成新的区块链并区域自治联盟中进行广播并在区域自治联盟的各节点进行存储。
30.从上述描述可知,该基于区块链的数据调用方法使区域自治联盟中的成员节点在数据调用的同时,互相约束、互相监管,解决了“信息孤岛”现象;通过各个节点的自治有效减轻了管理复杂度;分布式、多冗余特性保证了区块链不存在单点失效故障,即使单节点失效,其他节点不受影响,比中心化系统更为可靠;解决了数据调用中的数据来源、所有权、使
用权和流通路径问题,让调用过程全网认可、公开透明且可追溯;当数据经过处理后是放置在区块链上,获授权的节点方可访问数据;通过公私钥机制,既可以对数据的私密性保护又可实现调用。
31.进一步的,所述搭建数据调用模型包括在每个调用节点上均搭建一个数据调用模型,该数据调用模型包括数据处理模块、数据通信模块和数据调用模块。
32.进一步的,所述数据处理步骤包括参与调用的各节点对自己管辖的数据自行采集汇总,形成一次结构化存储数据,对一次结构化存储数据进行清洗,去除一次结构化存储数据中的重复数据和无效数据,对清洗过的一次结构化存储数据进行汇总生成二次结构化存储数据,并在二次结构化数据上制订分类标记作为调用标签,调用成员针对自身数据特点给出自己的调用数据api接口。
33.进一步的,所述数据通信步骤还包括当有新的外部节点向区域自治联盟的某一节点发出加入联盟的申请时,将该加入联盟的申请在区域自治联盟中进行广播,区域自治联盟各节点协商决定是否同意该申请。
34.进一步的,当区域自治联盟中的每个节点生成包含该节点唯一身份标识的身份标识数据区块,各节点将其身份标识数据区块按照时间顺序在区域自治联盟中进行广播,系统按时间顺序把各节点的身份标识数据区块以链式存储生成联盟的原始数据区块,并将原始数据区块存储在区域自治联盟的各个节点。
35.进一步的,所述协商是否允许新节点加入步骤还包括当有新的外部节点向区域自治联盟的某一节点发出加入联盟的申请时,将该加入联盟的申请在区域自治联盟中进行广播,区域自治联盟各节点协商决定是否同意该申请,若协商结果为“是”,则将该节点的参数信息进行存储并形成新的数据块添加在原始数据区块的尾部形成新的区块链,并在区域自治联盟中进行广播并在各节点进行存储,若协商结果为“否”,则将拒绝的结果在该区域自治联盟中进行广播,然后进入下一阶段。
36.进一步的,所述判断发出数据调用请求的节点是否为区域自治联盟成员步骤当区域自治联盟中某一节点接收到数据调用请求时,对判断发出调用请求的节点是否属于区域自治联盟的成员;若判断结果为“是”,则对区域自治联盟的成员进行数据调用,并对访问操作加盖时间戳进行记录,定期地将加盖时间戳的访问操作记录在区域自治联盟中进行广播,同时添加到区域自治联盟区块链尾形成新的区块链,并在区域自治联盟的各节点进行存储;若匹配不成功,则说明发出调用请求的节点不属于区域自治联盟的成员。
37.进一步的,所述判断是否允许非区域自治联盟节点数据调用还包括区域自治联盟的各节点对是否允许本次调用请求作出判定,若区域自治联盟中允许本次调用请求的节点个数小于节点总个数的一半,则驳回数据调用请求,否则,允许本次数据调用操作,并对本次数据调用操作加盖时间戳进行记录,生成数据操作块,将该数据操作块在全网进行广播,区域自治联盟的所有节点对该数据操作块的正确性和有效性进行判定,若区域自治联盟的所有节点对该数据操作块的正确性和有效性达成共识,则将数据操作块加入区域自治联盟中存储的数据区块链尾部形成新的区块链并再次在区域自治联盟中进行广播并在区域自治联盟的各节点进行存储。
38.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的基于区块链的数据之间数据调用方法。
39.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的基于区块链的数据之间数据调用方法。
40.实施例一
41.请参照图1,一种基于区块链的数据之间数据调用方法,包括
42.第一步,在每个调用节点上均搭建一个数据调用模型,该数据调用模型包括数据处理模块、数据通信模块和数据调用模块;数据处理模块负责对系统的数据进行封装和存储,并进行数据采集、数据清洗和数据标签制订等;数据通信模块主要是通过各节点商议签署联盟条约为参与调用各节点提供去中心化的p2p网络通信;数据调用模块以提供数据使用权api接口的方式解决数据调用中的隐私保护问题,利用区块链的共识机制,对调用记录作拓扑式存储,提供调用记录溯源、记录保护等;
43.第二步,参与调用的各节点利用数据调用模型中的数据处理模块对自己管辖的数据自行采集汇总,形成一次结构化存储数据,对一次结构化存储数据进行清洗,去除一次结构化存储数据中的重复数据和无效数据,对清洗过的一次结构化存储数据进行汇总生成二次结构化存储数据,并在二次结构化数据上制订分类标记作为调用标签,调用节点针对自身数据特点给出自己的调用数据api接口;
44.第三步,参与数据调用的各节点进行节点初始化配置,各节点通过数据通信模块签署联盟条约将各节点组织成一个区域自治联盟,并在区域自治联盟中的每个节点生成包含该节点唯一身份标识(如mac地址等)的身份标识数据区块,各节点将其身份标识数据区块按照时间顺序在区域自治联盟中进行广播,系统按时间顺序把各节点的身份标识数据区块以链式存储生成联盟的原始数据区块,并将原始数据区块存储在区域自治联盟的各个节点;
45.第四步,当有新的外部节点向区域自治联盟的某一节点发出加入联盟的申请时,将该加入联盟的申请在区域自治联盟中进行广播,区域自治联盟各节点协商决定是否同意该申请,若协商结果为“是”,则将该节点的参数信息进行存储并形成新的数据块添加在原始数据区块的尾部形成新的区块链,并在区域自治联盟中进行广播并在各节点进行存储,若协商结果为“否”,则将拒绝的结果在该区域自治联盟中进行广播;
46.第五步,当区域自治联盟中某一节点接收到数据调用请求时,该节点的数据调用模块对判断发出调用请求的节点是否属于区域自治联盟的成员,若判断结果为“是”,则数据调用模块对区域自治联盟的成员进行数据调用,并对访问操作加盖时间戳进行记录,定期地将加盖时间戳的访问操作记录在区域自治联盟中进行广播,同时添加到区域自治联盟区块链尾形成新的区块链,并在区域自治联盟的各节点进行存储;若匹配不成功,则说明发出调用请求的节点不属于区域自治联盟的成员;
47.第六步,区域自治联盟的各节点对是否允许本次调用请求作出判定,若区域自治联盟中允许本次调用请求的节点个数小于节点总个数的一半,则驳回数据调用请求,否则,允许本次数据调用操作,并对本次数据调用操作加盖时间戳进行记录,生成数据操作块,将该数据操作块在全网进行广播,区域自治联盟的所有节点对该数据操作块的正确性和有效性进行判定,若区域自治联盟的所有节点对该数据操作块的正确性和有效性达成共识,则将数据操作块加入区域自治联盟中存储的数据区块链尾部形成新的区块链并再次在区域
自治联盟中进行广播并在区域自治联盟的各节点进行存储。
48.在数据调用过程中,区域自治联盟中的各成员节点仅提供数据使用权接口,不调用原始数据本身,避免因数据存储在区块链上所带来的隐私暴露风险,针对数据需要调用同时需要保护隐私,提出各成员节点调用数据使用权api接口,要求api调用偶发低频,且调用记录明细保存在区块链中。
49.数据调用过程如图所示,x、y表示两个成员节点的数据库,f、g分别表示上述两个成员节点的数据使用权api接口,当用户a是数据调用联盟成员节点,仅需用数据库x或y调用的数据时,只需要单独调用接口f或g,此时的接口调用记录将反存到数据库x或y;当用户a需要x、y数据作协同分析操作时,此操作需向x和y数据库发送授权申请,得到授权后方可作协同分析,且授权及分析记录都将按时间序列记录在联盟链上;当用户a是非成员节点时,部分单独使用或协同分析,在访问数据时都需得到联盟中一半以上节点的许可,方可通过api接口对数据进行访问,且各调用数据仅公开部分数据,对特定查询操作也加以限制。需要说明,若某成员节点数据涉及高度机密,访问记录不愿公开在联盟链,则只保存敏感记录的加密hash值而不保存敏感记录本身,这样不仅可以做到记录可追溯,且可达到其他节点可见证而不可见的目的。
50.实施例二
51.1、搭建数据调用模型:在此阶段,在每个调用节点上均搭建一个数据调用模型,该数据调用模型包括数据处理模块、数据通信模块和数据调用模块;
52.2、进行数据处理:在此阶段,参与调用的各节点利用数据处理模块对自己管辖的数据自行采集汇总,形成一次结构化存储数据,对一次结构化存储数据进行清洗,去除一次结构化存储数据中的重复数据和无效数据,对清洗过的一次结构化存储数据进行汇总生成二次结构化存储数据,并在二次结构化数据上制订分类标记作为调用标签,调用成员针对自身数据特点给出自己的调用数据api接口;
53.3、进行数据通信阶段:在此阶段,参与数据调用的各节点进行节点初始化配置,各节点通过数据通信模块签署联盟条约将各节点组织成一个区域自治联盟,并在区域自治联盟中的每个节点生成包含该节点唯一身份标识的身份标识数据区块,各节点将其身份标识数据区块按照时间顺序在区域自治联盟中进行广播,系统按时间顺序把各节点的身份标识数据区块以链式存储生成联盟的原始数据区块,并将原始数据区块存储在区域自治联盟的各个节点;
54.4、协商是否允许新节点加入:在此阶段,当有新的外部节点向区域自治联盟的某一节点发出加入联盟的申请时,将该加入联盟的申请在区域自治联盟中进行广播,区域自治联盟各节点协商决定是否同意该申请,若协商结果为“是”,则将该节点的参数信息进行存储并形成新的数据块添加在原始数据区块的尾部形成新的区块链,并在区域自治联盟中进行广播并在各节点进行存储,若协商结果为“否”,则将拒绝的结果在该区域自治联盟中进行广播,然后进入s5阶段;
55.5、判断发出数据调用请求的节点是否为区域自治联盟成员:在此阶段,当区域自治联盟中某一节点接收到数据调用请求时,该节点的数据调用模块对判断发出调用请求的节点是否属于区域自治联盟的成员,若判断结果为“是”,则数据调用模块对区域自治联盟的成员进行数据调用,并对访问操作加盖时间戳进行记录,定期地将加盖时间戳的访问操
作记录在区域自治联盟中进行广播,同时添加到区域自治联盟区块链尾形成新的区块链,并在区域自治联盟的各节点进行存储;若匹配不成功,则说明发出调用请求的节点不属于区域自治联盟的成员;
56.6、判断是否允许非区域自治联盟节点数据调用:在此阶段,区域自治联盟的各节点对是否允许本次调用请求作出判定,若区域自治联盟中允许本次调用请求的节点个数小于节点总个数的一半,则驳回数据调用请求,否则,允许本次数据调用操作,并对本次数据调用操作加盖时间戳进行记录,生成数据操作块,将该数据操作块在全网进行广播,区域自治联盟的所有节点对该数据操作块的正确性和有效性进行判定,若区域自治联盟的所有节点对该数据操作块的正确性和有效性达成共识,则将数据操作块加入区域自治联盟中存储的数据区块链尾部形成新的区块链并再次在区域自治联盟中进行广播并在区域自治联盟的各节点进行存储。
57.实施例三
58.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一或实施例二所述的基于区块链的数据之间数据调用方法。
59.实施例四
60.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例一或实施例二所述的基于区块链的数据之间数据调用方法。
61.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1