发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据处理方法、装置、计算机设备以及存储介质,以克服现有技术中存在的上传数据的机构对上传的数据没有控制权限和保密机制,数据的安全风险较高等问题。
为解决上述一个或多个技术问题,本发明采用的技术方案是:
第一方面,提供了一种数据处理方法,该方法包括如下步骤:
第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链,所述数据请求包括所述第一节点的公钥以及所述第一数据密文,所述第一节点为联盟链中任一节点;
第二节点接收到所述数据请求后,若判断出所述第一数据密文为所述第二节点上传的数据,则对所述第一数据密文进行解密,使用所述第一节点的公钥对解密后数据进行加密生成第二数据密文,并将所述第二数据密文上传至所述联盟链,所述第二节点为所述联盟联中除所述第一节点外的任一节点;
所述第一节点从所述联盟链获取所述第二数据密文,并使用所述第一节点的私钥对所述第二数据密文进行解密,获取待查询的数据。
进一步的,所述第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链包括:
所述第一节点根据所述第一数据密文生成对应的键值以及数据请求,将所述键值与所述数据请求绑定后发送至所述联盟链;
所述将所述第二数据密文上传至所述联盟链包括:
将所述第二数据密文与所述键值绑定后上传至所述联盟链。
进一步的,所述第一节点从所述联盟链获取所述第二数据密文包括:
所述第一节点对所述联盟链中的所述键值进行监听,当监听到所述键值对应的数据发生变更后,则获取所述键值对应的第二数据密文。
进一步的,第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链前,所述方法还包括:
第一节点获取待查询的第一数据密文,判断所述第一节点的私钥是否可以对所述第一数据密文进行解密,若否,则第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链。
进一步的,所述对所述第一数据密文进行解密前,所述方法包括:
判断所述第一节点是否有查询所述第一数据密文的权限。
进一步的,所述第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链包括:
第一节点根据待查询的第一数据密文生成数据请求,将所述数据请求发送至分布式消息系统;
所述分布式消息系统按照预设规则将所述数据请求广播至所述联盟链中的节点。
进一步的,所述方法还包括:
采用当前节点的公钥对待上传的数据进行加密,生成预设格式的第一数据密文后上传至联盟链,所述当前节点为所述联盟链中任一节点。
第二方面,提供了一种数据处理装置,所述装置包括:
数据请求模块,用于第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链,所述数据请求包括所述第一节点的公钥以及所述第一数据密文,所述第一节点为联盟链中任一节点;
数据处理模块,用于第二节点接收到所述数据请求后,若判断出所述第一数据密文为所述第二节点上传的数据,则对所述第一数据密文进行解密,使用所述第一节点的公钥对解密后数据进行加密生成第二数据密文,并将所述第二数据密文上传至所述联盟链,所述第二节点为所述联盟联中除所述第一节点外的任一节点;
数据获取模块,用于所述第一节点从所述联盟链获取所述第二数据密文,并使用所述第一节点的私钥对所述第二数据密文进行解密,获取待查询的数据。
第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链,所述数据请求包括所述第一节点的公钥以及所述第一数据密文,所述第一节点为联盟链中任一节点;
第二节点接收到所述数据请求后,若判断出所述第一数据密文为所述第二节点上传的数据,则对所述第一数据密文进行解密,使用所述第一节点的公钥对解密后数据进行加密生成第二数据密文,并将所述第二数据密文上传至所述联盟链,所述第二节点为所述联盟联中除所述第一节点外的任一节点;
所述第一节点从所述联盟链获取所述第二数据密文,并使用所述第一节点的私钥对所述第二数据密文进行解密,获取待查询的数据。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如下步骤:
第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链,所述数据请求包括所述第一节点的公钥以及所述第一数据密文,所述第一节点为联盟链中任一节点;
第二节点接收到所述数据请求后,若判断出所述第一数据密文为所述第二节点上传的数据,则对所述第一数据密文进行解密,使用所述第一节点的公钥对解密后数据进行加密生成第二数据密文,并将所述第二数据密文上传至所述联盟链,所述第二节点为所述联盟联中除所述第一节点外的任一节点;
所述第一节点从所述联盟链获取所述第二数据密文,并使用所述第一节点的私钥对所述第二数据密文进行解密,获取待查询的数据。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的数据处理方法、装置、计算机设备及存储介质,通过第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链,所述数据请求包括所述第一节点的公钥以及所述第一数据密文,所述第一节点为联盟链中任一节点,第二节点接收到所述数据请求后,若判断出所述第一数据密文为所述第二节点上传的数据,则对所述第一数据密文进行解密,使用所述第一节点的公钥对解密后数据进行加密生成第二数据密文,并将所述第二数据密文上传至所述联盟链,所述第二节点为所述联盟联中除所述第一节点外的任一节点,所述第一节点从所述联盟链获取所述第二数据密文,并使用所述第一节点的私钥对所述第二数据密文进行解密,获取待查询的数据,在联盟链具有高可靠、不可篡改的基础上,采用数据加密存储、数据加密传输等,提高了数据的安全性,同时增加了系统抗灾性和数据溯源性;
进一步的,本发明实施例提供的数据处理方法、装置、计算机设备及存储介质,通过判断所述第一节点是否有查询所述第一数据密文的权限,实现数据共享对象可控,进一步提高了数据的安全性。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如背景技术所述,现有技术中联盟链上的数据账本采用明文存储,有泄露数据的风险。
为解决上述问题,本发明实施例中创造性的提出了一种数据处理方法及装置,该方法中数据采用加密存储,当某节点需要查询加密数据时,会优先本地查询,解密失败后再广播加密数据,让对应加密节点解密,其他节点在监听到解密请求后,根据实际业务情况来判断是否要对发出请求的节点公开数据。在联盟链具有高可靠、不可篡改的基础上,增加了数据加密存储、数据加密传输,并使得数据共享对象可控,进一步提高了数据的安全性。
图1是根据一示例性实施例示出的联盟链网络架构图,参照图1所示,本发明是在以Hyperledger Fabric为底层框架,多组织参与的联盟链为基础实施环境,主要为了解决数据存储安全问题,而设计的一种保护隐私数据的方法。其中,Hyperledger Fabric架构是四大主流联盟链技术之一,是一个多节点分布式的设计架构,该架构中写账本的动作会同步到所有的节点中,不会因为部分节点宕机而导致数据丢失,支持通道模式对数据传输增加了一层安全防护。并且fabric对账本读写也有不错的TPS表现。利用fabric数据广播的特性,可以将数据解密请求广播到每个节点解密,而且数据不可篡改并且留痕可以查看各机构的历史记录。为实现上述方法,基于fabric的联盟链网络可做如下部署:
首先搭建一个分布式联盟链网络,利用kafka的高吞吐、低延时的处理能力,并且在集群内部支持节点故障容错,为fabric提供共识排序机制,共识算法用来确保写入到分区后的消息的一致性,每个机构的orderer节点会连接到kafka,完成对网络中交易的排序和打包成区块的工作。为了防止恶意访问kafka服务,只有添加白名单的ip地址才能访问kafka服务。
其次,在每个机构节点中需要部署排序节点(orderer)、交易节点(peer)和应用程序,排序节点主要任务是在接收到请求后,将消息封装后发给kafka,并默认对本地账本对应的kafka分区数据进行监听,不断的从kafka上拉取新增的交易消息,交易节点是区块链网络中最基础的模块,主要用来调用链码对账本数据进行增删改查操作,也是账本存储的节点,应用程序主要起到生成密钥、处理业务逻辑、监听链码调用、对外提供接口等作用,是对外提供服务的入口。
最后,系统启动顺序为启动kafka集群、启动orderer节点、启动peer节点、创建通道、实例化链码、启动应用程序,程序启动完成后本地会生成一对密钥,公钥加密数据,私钥解密数据,同时注册事件监听链码。
图2是根据一示例性实施例示出的数据解密的流程图,参照图2所示,当一家机构对从账本上查询的数据进行解密时,会优先在本机构内部解密,成功会返回明文结果,如解密失败则表示该数据不是本机构上传的,然后会将该机构编码、需要解密数据、公钥、本地生成的唯一键值一起打包发送到kafka集群,kafka集群接收到数据后,会对数据排序,然后广播到联盟链中的其他机构,其他机构在监听到链码调用后会根据传来的参数选择相应操作策略,如会判断该机构是不是自己授权的机构,对授权的过的机构则进行解密数据处理,反之不处理,如解密数据失败说明不是本机构上传的数据不做处理,解密成功后会将解密的数据用对方传来的公钥加密,和接收到的唯一键值绑定存放到账本中,当需要解密的机构orderer节点把数据拉取到本地后,当前机构根据唯一键值拿到数据后,用该机构的私钥解密得到明文。
图3是根据一示例性实施例示出的数据处理方法的流程图,参照图3所示,该方法包括如下步骤:
S1:第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链,所述数据请求包括所述第一节点的公钥以及所述第一数据密文,所述第一节点为联盟链中任一节点。
具体的,本发明实施例中,将每个机构节点加入到相同的通道中,不同机构使用同一个链码(即智能合约),部署在各节点的应用程序会实时监听解密使用的链码,当有机构调用链码解密的时候就会促发监听,各机构根据监听到的数据来做出相应的数据操作。
具体的,当联盟联中的任一节点(这里称之为第一节点)需要查询联盟链上存储的数据时,首先从联盟链上获取该待查询的数据,即第一数据密文,当该第一数据密文不是当前节点(即第一节点)所上传的数据,则根据该第一数据密文生成对应的数据请求发送到联盟链上,该数据请求中至少包括第一数据密文和第一节点的公钥,以便联盟链上其他节点接收到该数据请求后,对第一数据密文进行解密,将解密后的数据再使用第一节点的公钥加密后上传至联盟链以供第一节点查询,整个过程中采用数据加密存储以及数据加密传输的方式,提高了数据的安全性。
S2:第二节点接收到所述数据请求后,若判断出所述第一数据密文为所述第二节点上传的数据,则对所述第一数据密文进行解密,使用所述第一节点的公钥对解密后数据进行加密生成第二数据密文,并将所述第二数据密文上传至所述联盟链,所述第二节点为所述联盟联中除所述第一节点外的任一节点。
具体的,第一节点发出的数据请求可以以广播的方式发送给联盟链上的其他节点(这里统称为第二节点),第二节点接收到该数据请求后,首先判断该第一数据密文是否为本节点上传的数据,具体实施时,可以使用本节点的私钥对该第一数据密文进行解密,若是解密失败,则表示数据是其他节点上传的,此时直接将该数据请求过滤掉不做处理,若是解密成功,则表示数据是本节点上传的,此时获取解密第一数据密文得到的解密后数据,然后使用数据请求中携带的第一节点的公钥的对解密后数据进行加密生成第二数据密文,并将该第二数据密文上传至联盟链,以便第一节点从联盟链上获取该第二数据密文。
S3:所述第一节点从所述联盟链获取所述第二数据密文,并使用所述第一节点的私钥对所述第二数据密文进行解密,获取待查询的数据。
具体的,第一节点在将数据请求上传至联盟链后,对联盟链上数据进行监听,当监听到与数据请求对应的第二数据密文时,使用自己的私钥对第二数据密文进行解密,得到待查询的数据。
作为一种较优的实施方式,本发明实施例中,所述第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链包括:
所述第一节点根据所述第一数据密文生成对应的键值以及数据请求,将所述键值与所述数据请求绑定后发送至所述联盟链;
所述将所述第二数据密文上传至所述联盟链包括:
将所述第二数据密文与所述键值绑定后上传至所述联盟链。
具体的,为了方便第一节点获取待查询的数据,本发明实施例中,可以设置一个键值与数据请求一同发送至联盟链,通过对这个键值进行监听,当监听数据变动后则表示解密成功,获取对应的数据(即第二数据密文)。具体实施时,可以在发出数据请求时,根据第一数据密文生成对应的键值,该键值为唯一值,即不同数据请求对应不同的键值,将该键值与数据请求一同发送至联盟链上。同样的,第二节点在使用第一节点的公钥对解密后数据进行加密生成第二数据密文后,将该第二数据密文与该键值绑定后上传至联盟链。
作为一种较优的实施方式,本发明实施例中,所述第一节点从所述联盟链获取所述第二数据密文包括:
所述第一节点对所述联盟链中的所述键值进行监听,当监听到所述键值对应的数据发生变更后,则获取所述键值对应的第二数据密文。
具体的,第一节点在将数据请求发送至联盟链后,可以对这个键值进行监听,当监听到数据变动后则表示解密成功,把查询到数据(即第二数据密文)用本节点的私钥进行解密,得到明文。
作为一种较优的实施方式,本发明实施例中,第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链前,所述方法还包括:
第一节点获取待查询的第一数据密文,判断所述第一节点的私钥是否可以对所述第一数据密文进行解密,若否,则第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链。
具体的,由于联盟链上的数据也有可能是想要查询数据的节点上传的,因此,当联盟联中的任一节点需要查询联盟链上存储的数据时,优先使用本节点的私钥对从联盟链上查询到第一数据密文进行解密,解密成功则说明该数据是本节点上传的,此时获取返回的明文结果后结束流程,解密失败则表示该数据是其他节点上传的数据,此时向联盟链上其他节点广播该待查询的第一数据密文的数据请求。
作为一种较优的实施方式,本发明实施例中,所述对所述第一数据密文进行解密前,所述方法包括:
判断所述第一节点是否有查询所述第一数据密文的权限。
具体的,为了使得数据共享对象可控,保证数据的安全性,本发明实施例中,第二节点在对第一数据密文进行解密前,还需要判断请求数据的第一节点是否有查询该第一数据密文的权限。具体实施时,可以预先配置一份数据共享授权列表,该列表中记录有允许查询本节点的其他节点的信息,在进行数据解密前,可以查询第一节点是否在该列表上,若在,则说明第一节点是自己授权的节点,此时可以对第一数据密文进行解密,若不在,则说明第一节点不是自己授权的节点,此时,将该数据请求过滤掉不进行处理。
作为一种较优的实施方式,本发明实施例中,所述第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链包括:
第一节点根据待查询的第一数据密文生成数据请求,将所述数据请求发送至分布式消息系统;
所述分布式消息系统按照预设规则将所述数据请求广播至所述联盟链中的节点。
具体的,本发明实施例中,在将数据请求发送至联盟联中时,可以采用分布式消息系统进行处理。由于kafka的高吞吐、低延时的处理能力,因而,这里的分布式消息系统可以采用kafka。数据请求生成后,先将其发送到kafka集群,kafka集群接收到数据请求后,会对数据请求进行排序,然后广播到联盟链中的其他节点。
作为一种较优的实施方式,本发明实施例中,所述方法还包括:
采用当前节点的公钥对待上传的数据进行加密,生成预设格式的第一数据密文后上传至联盟链,所述当前节点为所述联盟链中任一节点。
具体的,图4是根据一示例性实施例示出的数据加密上传的流程图,参照图4所示,本发明实施例中,当联盟链中任一节点需要上传数据时,采用当前节点的公钥对待上传的数据进行加密,生成预设格式的第一数据密文后上传至联盟链,其中预设格式包括但不限于键值对格式。
图5是根据一示例性实施例示出的数据处理装置的结构示意图,该装置包括:
数据请求模块,用于第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链,所述数据请求包括所述第一节点的公钥以及所述第一数据密文,所述第一节点为联盟链中任一节点;
数据处理模块,用于第二节点接收到所述数据请求后,若判断出所述第一数据密文为所述第二节点上传的数据,则对所述第一数据密文进行解密,使用所述第一节点的公钥对解密后数据进行加密生成第二数据密文,并将所述第二数据密文上传至所述联盟链,所述第二节点为所述联盟联中除所述第一节点外的任一节点;
数据获取模块,用于所述第一节点从所述联盟链获取所述第二数据密文,并使用所述第一节点的私钥对所述第二数据密文进行解密,获取待查询的数据。
作为一种较优的实施方式,本发明实施例中,所述数据请求模块具体用于:
所述第一节点根据所述第一数据密文生成对应的键值以及数据请求,将所述键值与所述数据请求绑定后发送至所述联盟链;
所述数据处理模块还用于:
将所述第二数据密文与所述键值绑定后上传至所述联盟链。
作为一种较优的实施方式,本发明实施例中,所述数据获取模块具体用于:
所述第一节点对所述联盟链中的所述键值进行监听,当监听到所述键值对应的数据发生变更后,则获取所述键值对应的第二数据密文。
作为一种较优的实施方式,本发明实施例中,所述装置还包括:
第一判断模块,用于第一节点获取待查询的第一数据密文,判断所述第一节点的私钥是否可以对所述第一数据密文进行解密,若否,则第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链。
作为一种较优的实施方式,本发明实施例中,所述装置还包括:
第二判断模块,用于判断所述第一节点是否有查询所述第一数据密文的权限。
作为一种较优的实施方式,本发明实施例中,所述数据请求模块还用于:
第一节点根据待查询的第一数据密文生成数据请求,将所述数据请求发送至分布式消息系统;
所述分布式消息系统按照预设规则将所述数据请求广播至所述联盟链中的节点。
作为一种较优的实施方式,本发明实施例中,所述装置还包括:
数据加密模块,用于采用当前节点的公钥对待上传的数据进行加密,生成预设格式的第一数据密文后上传至联盟链,所述当前节点为所述联盟链中任一节点。
图6是根据一示例性实施例示出的计算机设备的内部结构示意图,参照图6所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种执行计划的优化方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
作为一种较优的实施方式,本发明实施例中,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链,所述数据请求包括所述第一节点的公钥以及所述第一数据密文,所述第一节点为联盟链中任一节点;
第二节点接收到所述数据请求后,若判断出所述第一数据密文为所述第二节点上传的数据,则对所述第一数据密文进行解密,使用所述第一节点的公钥对解密后数据进行加密生成第二数据密文,并将所述第二数据密文上传至所述联盟链,所述第二节点为所述联盟联中除所述第一节点外的任一节点;
所述第一节点从所述联盟链获取所述第二数据密文,并使用所述第一节点的私钥对所述第二数据密文进行解密,获取待查询的数据。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
所述第一节点根据所述第一数据密文生成对应的键值以及数据请求,将所述键值与所述数据请求绑定后发送至所述联盟链;
将所述第二数据密文与所述键值绑定后上传至所述联盟链。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
所述第一节点对所述联盟链中的所述键值进行监听,当监听到所述键值对应的数据发生变更后,则获取所述键值对应的第二数据密文。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
第一节点获取待查询的第一数据密文,判断所述第一节点的私钥是否可以对所述第一数据密文进行解密,若否,则第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
判断所述第一节点是否有查询所述第一数据密文的权限。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
第一节点根据待查询的第一数据密文生成数据请求,将所述数据请求发送至分布式消息系统;
所述分布式消息系统按照预设规则将所述数据请求广播至所述联盟链中的节点。
作为一种较优的实施方式,本发明实施例中,处理器执行计算机程序时还实现以下步骤:
采用当前节点的公钥对待上传的数据进行加密,生成预设格式的第一数据密文后上传至联盟链,所述当前节点为所述联盟链中任一节点。
本发明实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如下步骤:
第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链,所述数据请求包括所述第一节点的公钥以及所述第一数据密文,所述第一节点为联盟链中任一节点;
第二节点接收到所述数据请求后,若判断出所述第一数据密文为所述第二节点上传的数据,则对所述第一数据密文进行解密,使用所述第一节点的公钥对解密后数据进行加密生成第二数据密文,并将所述第二数据密文上传至所述联盟链,所述第二节点为所述联盟联中除所述第一节点外的任一节点;
所述第一节点从所述联盟链获取所述第二数据密文,并使用所述第一节点的私钥对所述第二数据密文进行解密,获取待查询的数据。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
所述第一节点根据所述第一数据密文生成对应的键值以及数据请求,将所述键值与所述数据请求绑定后发送至所述联盟链;
将所述第二数据密文与所述键值绑定后上传至所述联盟链。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
所述第一节点对所述联盟链中的所述键值进行监听,当监听到所述键值对应的数据发生变更后,则获取所述键值对应的第二数据密文。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
第一节点获取待查询的第一数据密文,判断所述第一节点的私钥是否可以对所述第一数据密文进行解密,若否,则第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
判断所述第一节点是否有查询所述第一数据密文的权限。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
第一节点根据待查询的第一数据密文生成数据请求,将所述数据请求发送至分布式消息系统;
所述分布式消息系统按照预设规则将所述数据请求广播至所述联盟链中的节点。
作为一种较优的实施方式,本发明实施例中,所述计算机程序被处理器执行时,还实现如下步骤:
采用当前节点的公钥对待上传的数据进行加密,生成预设格式的第一数据密文后上传至联盟链,所述当前节点为所述联盟链中任一节点。
综上所述,本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的数据处理方法、装置、计算机设备及存储介质,通过第一节点根据待查询的第一数据密文生成数据请求发送至所述联盟链,所述数据请求包括所述第一节点的公钥以及所述第一数据密文,所述第一节点为联盟链中任一节点,第二节点接收到所述数据请求后,若判断出所述第一数据密文为所述第二节点上传的数据,则对所述第一数据密文进行解密,使用所述第一节点的公钥对解密后数据进行加密生成第二数据密文,并将所述第二数据密文上传至所述联盟链,所述第二节点为所述联盟联中除所述第一节点外的任一节点,所述第一节点从所述联盟链获取所述第二数据密文,并使用所述第一节点的私钥对所述第二数据密文进行解密,获取待查询的数据,在联盟链具有高可靠、不可篡改的基础上,采用数据加密存储、数据加密传输等,提高了数据的安全性,同时增加了系统抗灾性和数据溯源性;
进一步的,本发明实施例提供的数据处理方法、装置、计算机设备及存储介质,通过判断所述第一节点是否有查询所述第一数据密文的权限,实现数据共享对象可控,进一步提高了数据的安全性。
需要说明的是:上述实施例提供的数据处理装置在触发数据处理业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,即该装置是基于该数据处理方法的,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。