本申请涉及区块链,特别是涉及一种数据处理方法、装置、系统及电子设备。
背景技术:
1、区块链是一个基于智能合约的分布式数据库,其中,智能合约是一段部署在区块链上的代码,一旦某个事件触发合约中的条款,代码就会自动执行,区块链具有防篡改、高透明及去中心化等优势,近年来被广泛应用于各个领域。通常,区块链主要是作为一个共享区块链账本的系统,即存入区块链任一节点对应区块链账本中的业务数据会被对等(peer-to-peer,p2p)网络同步到区块链中的所有节点,从而导致数据的隐私性与安全性都无法得到充分保护。
2、目前对于区块链数据的隐私保护,大多是采用私有数据库技术,即在用户拥有的节点上设置对应的私有数据库的方式来存储数据,以使私有数据库中的数据不被同步至其他节点。但上述方法违背了区块链共享账本的初衷,且对于私有数据库中数据应用的灵活性不高。
技术实现思路
1、本申请提供了一种数据处理方法、装置及电子设备,可以解决现有区块链数据的隐私保护方法违背了区块链共享账本的初衷,且对于私有数据库中数据应用的灵活性不高的问题。
2、第一方面,本申请提供了一种数据处理方法,所述方法包括:
3、在接收到业务数据时,构建出所述业务数据对应的数据目录;
4、在将所述数据目录写入区块链账本时,调用所述业务数据对应的共享策略,其中,所述共享策略至少包括数据默认共享范围、数据共享颗粒度及数据共享权限;
5、根据所述共享策略,确定出被共享的各个目标节点,及所述各个目标节点对应的各个目标共享数据;
6、将所述各个目标共享数据发送至所述各个目标节点。
7、通过上述方法,在不违背区块链共享账本的初衷下,根据共享策略来满足不同业务数据的不同隐私需求,从而提高了区块链数据应用的灵活性,且为大规模网络中的数据交换、数据挖掘及数据交易提供了基础技术保障。
8、在一种可能的设计中,所述构建出所述业务数据对应的数据目录,包括:
9、计算所述业务数据对应的哈希列表及根哈希值,其中,所述根哈希值为所述哈希列表的终点,所述根哈希值用于对所述业务数据进行追溯;
10、确定所述业务数据对应的共享策略;
11、通过所述根哈希值及所述共享策略,构建出所述数据目录。
12、通过上述方法,基于业务数据的各个根哈希值及对应的共享策略,可以构建出业务数据对应的数据目录。
13、在一种可能的设计中,确定出所述各个目标节点对应的各个目标共享数据,包括:
14、根据所述业务数据对应的共享策略,确定出所述各个目标节点对应的各个初始共享数据;
15、根据所述各个初始共享数据及所述业务数据对应的哈希列表,确定出各个目标节点对应的各个目标共享数据。
16、通过上述方法,可以确定出各个目标节点,及各个目标节点对应的各个初始共享数据,同时还可以验证各个初始共享数据是否被篡改,提高了数据的安全性。
17、在一种可能的设计中,在将所述各个目标共享数据发送至所述各个目标节点之后,还包括:
18、通过所述各个目标节点,判断是否存在恶意共享;
19、在不存在恶意共享时,通过所述各个目标节点,判断所述各个目标共享数据是否被篡改;
20、若否,则将所述各个目标共享数据保存至所述各个目标节点对应的私有数据库中。
21、通过上述方法,基于两个条件验证各个目标共享数据是否准确,从而保障数据的难篡改性和可验证性,提高数据共享的成功率。
22、第二方面,本申请提供了一种数据处理装置,所述装置包括:
23、构建模块,用于在接收到业务数据时,构建出所述业务数据对应的数据目录;
24、调用模块,用于在将所述数据目录写入区块链账本时,调用所述业务数据对应的共享策略,其中,所述共享策略至少包括数据默认共享范围、数据共享颗粒度及数据共享权限;
25、确定模块,用于根据所述共享策略,确定出被共享的各个目标节点,及所述各个目标节点对应的各个目标共享数据;
26、发送模块,用于将所述各个目标共享数据发送至所述各个目标节点。
27、在一种可能的设计中,所述构建模块具体用于:
28、计算所述业务数据对应的哈希列表及根哈希值,其中,所述根哈希值为所述哈希列表的终点,所述根哈希值用于对所述业务数据进行追溯;
29、确定所述业务数据对应的共享策略;
30、通过所述根哈希值及所述共享策略,构建出所述数据目录。
31、在一种可能的设计中,所述确定模块具体用于:
32、根据所述业务数据对应的共享策略,确定出所述各个目标节点对应的各个初始共享数据;
33、根据所述各个初始共享数据及所述业务数据对应的哈希列表,确定出各个目标节点对应的各个目标共享数据。
34、在一种可能的设计中,所述装置还包括:
35、第一判断模块,用于通过所述各个目标节点,判断是否存在恶意共享;
36、第二判断模块,用于在不存在恶意共享时,通过所述各个目标节点,判断所述各个目标共享数据是否被篡改;
37、保存模块,用于若所述各个目标共享数据没有被篡改,则将所述各个目标共享数据保存至所述各个目标节点对应的私有数据库中。
38、第三方面,本申请提供了一种电子设备,包括:
39、存储器,用于存放计算机程序;
40、处理器,用于执行所述存储器上所存放的计算机程序时,实现上述的数据处理方法步骤。
41、第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据处理方法步骤。
42、基于本申请所提供的数据处理方法,在不违背区块链共享账本的初衷下,根据共享策略来满足不同业务数据的不同隐私需求,从而提高了区块链数据应用的灵活性,且为大规模网络中的数据交换、数据挖掘及数据交易提供了基础技术保障。
43、上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果参照上述针对第一方面或者第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
1.一种数据处理方法,其特征在于,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述构建出所述业务数据对应的数据目录,包括:
3.如权利要求1所述的方法,其特征在于,确定出所述各个目标节点对应的各个目标共享数据,包括:
4.如权利要求1所述的方法,其特征在于,在将所述各个目标共享数据发送至所述各个目标节点之后,还包括:
5.一种数据处理装置,其特征在于,所述装置包括:
6.如权利要求5所述的装置,其特征在于,所述构建模块具体用于:
7.如权利要求5所述的装置,其特征在于,所述确定模块具体用于:
8.如权利要求5所述的装置,其特征在于,所述装置还包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4中任一项所述的方法步骤。
