1.本技术涉及区块链技术领域,尤其涉及一种基于区块链的数据共享方法及系统。
背景技术:2.随着计算机、通信和网络技术的发展,以及全球化、国际化对全世界带来的巨大而深远的影响,整个社会的信息化、数字化进程大大加快,同时用户数量和用户的数据量都呈爆发式增长,而庞大的数量也为社会提供了丰富的数据资源。
3.但是,不同种类的数据对于安全等级的要求是不同的,这就限制了数据的分享,例如:一般对安全等级要求较高的数据,均不对外分享,以避免造成数据泄露。在这种情况下,目前即使具有丰富的数据资源,也难以充分利用数据资源,造成数据资源的严重浪费。
4.因此,如何充分利用数据资源,避免数据资源的浪费,是本领域技术人员目前急需解决的技术问题。
技术实现要素:5.本技术提供了基于区块链的数据共享方法及系统,以充分利用数据资源,避免数据资源的浪费。
6.为解决上述技术问题,本技术提供如下技术方案:
7.一种基于区块链的数据共享方法,包括如下步骤:步骤s110、接收待存储数据,计算待存储数据的重要度;步骤s120、将待存储数据写入区块单元的普通节点中,并且向该区块单元的代表节点中写入共识机制,还依据待存储数据的重要度向该区块单元的代表节点中写入数据处理模型;步骤s130、响应于接收到其他区块单元的读取请求,该区块单元的普通节点中记录的数据通过代表节点中的共识机制进行共识;步骤s140、待达成共识后,通过该区块单元的代表节中的数据处理模型对普通节点中记录的数据进行处理;步骤s150、对经过处理的数据进行信息损失率计算,并依据信息损失率向其他区块单元发送经过处理的数据,以作为对读取请求的响应。
8.如上所述的基于区块链的数据共享方法,其中,优选的是,计算待存储数据的重要度,包括如下步骤:将待存储数据的多个特征值集合在一起形成特征集a;将特征集a中的每个特征值所对应的预设类别的权重作为该特征值的权重,并且将特征集a中的每个特征值的权重集合在一起形成特征权重集v;依据该待存储数据的特征集a和特征权重集v,获得该待存储数据的重要度p。
9.如上所述的基于区块链的数据共享方法,其中,优选的是,待依据该区块单元的代表节点中记录的共识机制对普通节点中记录的数据达成共识后,还将普通节点中记录的数据x分为p部分,其中,p为重要度p向上取整后的整;将划分后的p部分输入数据处理模型进行处理,得到经过处理的数据s。
10.如上所述的基于区块链的数据共享方法,其中,优选的是,若数据x的信息损失率β大于重要度p所对应的参数,则经过处理的数据s不能被发送给其他区块单元;若数据x的信
息损失率β不大于重要度p所对应的参数,则经过处理的数据s能够被发送给其他区块单元。
11.如上所述的基于区块链的数据共享方法,其中,优选的是,从区块单元的所有节点中选择出计算能力评价值强的一定数量的节点作为代表节点,而将该区块单元中的剩余节点作为普通节点。
12.一种基于区块链的数据共享系统,其中,优选的是,包括:接收单元、计算单元、写入单元、共识单元、处理单元、损失计算单元和发送单元;接收单元接收待存储数据,计算单元计算待存储数据的重要度;写入单元将待存储数据写入区块单元的普通节点中,并且向该区块单元的代表节点中写入共识机制,还依据待存储数据的重要度向该区块单元的代表节点中写入数据处理模型;响应于接收到其他区块单元的读取请求,共识单元将该区块单元的普通节点中记录的数据通过代表节点中的共识机制进行共识;待达成共识后,处理单元通过该区块单元的代表节中的数据处理模型对普通节点中记录的数据进行处理;损失计算单元对经过处理的数据进行信息损失率计算,并且发送单元依据信息损失率向其他区块单元发送经过处理的数据,以作为对读取请求的响应。
13.如上所述的基于区块链的数据共享系统,其中,优选的是,包括:将待存储数据的多个特征值集合在一起形成特征集a;将特征集a中的每个特征值所对应的预设类别的权重作为该特征值的权重,并且将特征集a中的每个特征值的权重集合在一起形成特征权重集v;依据该待存储数据的特征集a和特征权重集v,获得该待存储数据的重要度p。
14.如上所述的基于区块链的数据共享系统,其中,优选的是,待依据该区块单元的代表节点中记录的共识机制对普通节点中记录的数据达成共识后,还将普通节点中记录的数据x分为p部分,其中,p为重要度p向上取整后的整;将划分后的p部分输入数据处理模型进行处理,得到经过处理的数据s。
15.如上所述的基于区块链的数据共享系统,其中,优选的是,若数据x的信息损失率β大于重要度p所对应的参数,则经过处理的数据s不能被发送给其他区块单元;若数据x的信息损失率β不大于重要度p所对应的参数,则经过处理的数据s能够被发送给其他区块单元。
16.如上所述的基于区块链的数据共享系统,其中,优选的是,从区块单元的所有节点中选择出计算能力评价值强的一定数量的节点作为代表节点,而将该区块单元中的剩余节点作为普通节点。
17.相对上述背景技术,本发明提供的基于区块链的数据共享方法及系统可以充分利用数据资源,避免数据资源的浪费。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
19.图1是本技术实施例提供的基于区块链的数据共享方法的流程图;
20.图2是本技术实施例提供的基于区块链的数据共享系统的示意图。
具体实施方式
21.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
22.实施例一
23.请参阅图1,图1是本技术实施例提供的基于区块链的数据共享方法的流程图。
24.本技术提供了一种基于区块链的数据共享方法,包括如下步骤:
25.步骤s110、接收待存储数据,计算待存储数据的重要度;
26.区块链是一个又一个区块单元组成的链条,每一个区块单元中保存了一定数量的数据,区块单元按照各自产生的时间顺序连接成链条。区块链接收待存储数据,依据待存储数据组织一定数量的节点构建区块单元,例如:依据待存储数据的重要度组织一定数量的节点,然后在每个节点的区块头中记录在前节点的标识(具体可以是在前节点的哈希值,还可以记录时间戳、随机数、目标哈希等),从而将这些节点构建成区块单元,以存储待存储数据。
27.另外,每个数据具有不同的重要度,而不同的重要度势必影响其安全等级以及向外分享的分享程度,因此区块链接收到待存储数据后,还计算待存储数据的重要度,以为后续向外分享数据提供分享程度的依据。
28.具体的,每个数据都具有多个特征值,将待存储数据的多个特征值集合在一起形成特征集a={a1、a2、
…
、ai、
…
、an},其中a1为第1个特征值,a2为第2个特征值,ai为第i个特征值,an为第n个特征值。例如:若该待存储数据为转账数据,那么a1可以为付款方账户数据、a2可以为收款方账户数据、ai可以为付款方账户密码、an可以为转账金额数据;若该待存储数据为微博数据,那么a1可以为微博发布方的个人数据、a2可以为微博内容数据、ai可以为评论数据、an可以为评论方的个人数据。
29.将特征集a={a1、a2、
…
、ai、
…
、an}中的每个特征值所对应的预设类别的权重作为该特征值的权重,并且将特征集a中的每个特征值的权重集合在一起形成特征权重集v={v1、v2、
…
、vi、
…
、vn},其中v1为第1个特征值a1对应的权重,v2为第2个特征值a2对应的权重,vi为第i个特征值ai对应的权重,vn为第n个特征值an对应的权重。
30.依据该待存储数据的特征集a和特征权重集v,获得该待存储数据的重要度p。具体的,依据计算得到该待存储数据的重要度p,其中a
max
为特征集a中最重要的特征值,v
max
为最重要的特征值a
max
对应的最重要的权重,例如:若该待存储数据为转账数据,那么认为付款方账户密码ai为最重要的特征值a
max
,付款方账户密码ai对应的权重vi为最重要的权重v
max
。
31.步骤s120、将待存储数据写入区块单元的普通节点中,并且向该区块单元的代表节点中写入共识机制,还依据待存储数据的重要度向该区块单元的代表节点中写入数据处理模型;
32.在区块链构建了区块单元后,从区块单元的所有节点中选择出计算能力评价值较强的一定数量的节点作为代表节点,而将剩余节点作为普通节点,然后将待存储数据写入
普通节点的区块体中,以进行数据的存储。
33.具体的,依据计算得到第j个节点的计算能力评价值ej,其中,kj为第j个计算能力影响参数的预期值,cj为第j个计算能力影响参数,dj为第j个计算能力影响参数对评价值影响的权重,0《dj《1。例如:计算能力影响参数可以是节点的内存、节点的cpu、节点的显卡等。
34.另外,向代表节点的区块体中写入共识机制,该区块单元中的所有节点均遵循该共识机制的决策规则,也就是区块单元中的所有普通节点记录的数据均需通过代表节点中的共识机制进行共识。并且,由于每个数据的安全等级以及向外分享的分享程度是不同的,所以为了向外分享数据以充分利用数据资源,避免数据资源的浪费,同时还要保证数据的安全,本技术中还向代表节点的区块体中写入数据处理模型。这样,在由该区块单元向该区块单元外部的其他区块单元分享数据时,先通过数据处理模型对数据进行处理,然后将处理后的数据分享给该区块单元外部的其他区块单元。
35.具体的,数据处理模型为其中,s为经过处理的数据,x
α
为普通节点中存储的数据x的第α部分,x={x1、x2、
…
、x
α
、
…
、x
p
},x1为数据x的第1部分,x2为数据x的第2部分,x
p
为数据x的第p部分,p为重要度p向上取整,ω
α
为数据x的第α部分x
α
的变形系数,e为自然常数,y
α
为随机数,一个x
α
对应一个y
α
。
36.步骤s130、响应于接收到其他区块单元的读取请求,该区块单元的普通节点中记录的数据通过代表节点中的共识机制进行共识;
37.该区块单元接收到其他区块单元的读取请求后,该区块单元中的所有普通节点记录的数据均通过代表节点中的共识机制进行共识,以验证该区块单元的所有普通节点中记录的数据是否经过篡改,待验证普通节点中记录的数据没有经过篡改后,才能将该区块单元的普通节点记录的数据向该区块单元外部的其他区块单元提供。
38.步骤s140、待达成共识后,通过该区块单元的代表节中的数据处理模型对普通节点中记录的数据进行处理;
39.待依据该区块单元的代表节点中记录的共识机制对普通节点中记录的数据达成共识后,还将普通节点中记录的数据x分为p部分,即:x={x1、x2、
…
、x
α
、
…
、x
p
},p为重要度p向上取整后的整数,所有数据x的划分与重要度p相关,然后将划分后的x1、x2、
…
、x
α
、
…
、x
p
输入数据处理模型为中进行处理,得到经过处理的数据s。
40.步骤s150、对经过处理的数据进行信息损失率计算,并依据信息损失率向其他区块单元发送经过处理的数据,以作为对读取请求的响应;
41.由于对数据进行处理会造成数据信息的丢失,因此该区块单元的代表节点还需要计算数据的信息损失率。具体的,依据计算数据x经过数据处理模型处理的信息损失率β;若数据x的信息损失率β大于重要度p所对应的参数,则经过处理的数据s不能被发送给其他区块单元;若数据x的信息损失率β不大于重要度p所对应的参数,则经过处理的数据s能够被发送给其他区块单元,这种情况下,将经过处理的数据s发送给其他区
块单元,以作为对读取请求的响应。
42.实施例二
43.请参阅图2,图2是本技术实施例提供的基于区块链的数据共享系统的示意图。
44.本技术还提供了一种基于区块链的数据共享系统200,包括:接收单元210、计算单元220、写入单元230、共识单元240、处理单元250、损失计算单元260和发送单元270。
45.接收单元210接收待存储数据,计算单元220计算待存储数据的重要度。
46.区块链是一个又一个区块单元组成的链条,每一个区块单元中保存了一定数量的数据,区块单元按照各自产生的时间顺序连接成链条。区块链接收待存储数据,依据待存储数据组织一定数量的节点构建区块单元,例如:依据待存储数据的重要度组织一定数量的节点,然后在每个节点的区块头中记录在前节点的标识(具体可以是在前节点的哈希值,还可以记录时间戳、随机数、目标哈希等),从而将这些节点构建成区块单元,以存储待存储数据。
47.另外,每个数据具有不同的重要度,而不同的重要度势必影响其安全等级以及向外分享的分享程度,因此区块链接收到待存储数据后,还计算待存储数据的重要度,以为后续向外分享数据提供分享程度的依据。
48.具体的,每个数据都具有多个特征值,将待存储数据的多个特征值集合在一起形成特征集a={a1、a2、
…
、ai、
…
、an},其中a1为第1个特征值,a2为第2个特征值,ai为第i个特征值,an为第n个特征值。例如:若该待存储数据为转账数据,那么a1可以为付款方账户数据、a2可以为收款方账户数据、ai可以为付款方账户密码、an可以为转账金额数据;若该待存储数据为微博数据,那么a1可以为微博发布方的个人数据、a2可以为微博内容数据、ai可以为评论数据、an可以为评论方的个人数据。
49.将特征集a={a1、a2、
…
、ai、
…
、an}中的每个特征值所对应的预设类别的权重作为该特征值的权重,并且将特征集a中的每个特征值的权重集合在一起形成特征权重集v={v1、v2、
…
、vi、
…
、vn},其中v1为第1个特征值a1对应的权重,v2为第2个特征值a2对应的权重,vi为第i个特征值ai对应的权重,vn为第n个特征值an对应的权重。
50.依据该待存储数据的特征集a和特征权重集v,获得该待存储数据的重要度p。具体的,依据计算得到该待存储数据的重要度p,其中a
max
为特征集a中最重要的特征值,v
max
为最重要的特征值a
max
对应的最重要的权重,例如:若该待存储数据为转账数据,那么认为付款方账户密码ai为最重要的特征值a
max
,付款方账户密码ai对应的权重vi为最重要的权重v
max
。
51.写入单元230将待存储数据写入区块单元的普通节点中,并且向该区块单元的代表节点中写入共识机制,还依据待存储数据的重要度向该区块单元的代表节点中写入数据处理模型。
52.在区块链构建了区块单元后,从区块单元的所有节点中选择出计算能力评价值较强的一定数量的节点作为代表节点,而将剩余节点作为普通节点,然后将待存储数据写入普通节点的区块体中,以进行数据的存储。
53.具体的,依据计算得到第j个节点的计算能力评价值ej,其中,kj为第j个计算能力影响参数的预期值,cj为第j个计算能力影响参数,dj为第j个计算能力影响参数对评价值影响的权重,0《dj《1。例如:计算能力影响参数可以是节点的内存、节点的cpu、节点的显卡等。
54.另外,向代表节点的区块体中写入共识机制,该区块单元中的所有节点均遵循该共识机制的决策规则,也就是区块单元中的所有普通节点记录的数据均需通过代表节点中的共识机制进行共识。并且,由于每个数据的安全等级以及向外分享的分享程度是不同的,所以为了向外分享数据以充分利用数据资源,避免数据资源的浪费,同时还要保证数据的安全,本技术中还向代表节点的区块体中写入数据处理模型。这样,在由该区块单元向该区块单元外部的其他区块单元分享数据时,先通过数据处理模型对数据进行处理,然后将处理后的数据分享给该区块单元外部的其他区块单元。
55.具体的,数据处理模型为其中,s为经过处理的数据,x
α
为普通节点中存储的数据x的第α部分,x={x1、x2、
…
、x
α
、
…
、x
p
},x1为数据x的第1部分,x2为数据x的第2部分,x
p
为数据x的第p部分,p为重要度p向上取整,ω
α
为数据x的第α部分x
α
的变形系数,e为自然常数,y
α
为随机数,一个x
α
对应一个y
α
。
56.响应于接收到其他区块单元的读取请求,共识单元240将该区块单元的普通节点中记录的数据通过代表节点中的共识机制进行共识。
57.该区块单元接收到其他区块单元的读取请求后,该区块单元中的所有普通节点记录的数据均通过代表节点中的共识机制进行共识,以验证该区块单元的所有普通节点中记录的数据是否经过篡改,待验证普通节点中记录的数据没有经过篡改后,才能将该区块单元的普通节点记录的数据向该区块单元外部的其他区块单元提供。
58.待达成共识后,处理单元250通过该区块单元的代表节中的数据处理模型对普通节点中记录的数据进行处理。
59.待依据该区块单元的代表节点中记录的共识机制对普通节点中记录的数据达成共识后,还将普通节点中记录的数据x分为p部分,即:x={x1、x2、
…
、x
α
、
…
、x
p
},p为重要度p向上取整后的整数,所有数据x的划分与重要度p相关,然后将划分后的x1、x2、
…
、x
α
、
…
、x
p
输入数据处理模型为中进行处理,得到经过处理的数据s。
60.损失计算单元260对经过处理的数据进行信息损失率计算,并且发送单元270依据信息损失率向其他区块单元发送经过处理的数据,以作为对读取请求的响应。
61.由于对数据进行处理会造成数据信息的丢失,因此该区块单元的代表节点还需要计算数据的信息损失率。具体的,依据计算数据x经过数据处理模型处理的信息损失率β;若数据x的信息损失率β大于重要度p所对应的参数,则经过处理的数据s不能被发送给其他区块单元;若数据x的信息损失率β不大于重要度p所对应的参数,则经过处理的数据s能够被发送给其他区块单元,这种情况下,将经过处理的数据s发送给其他区块单元,以作为对读取请求的响应。
62.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
63.此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。