技术新讯 > 电子通信装置的制造及其应用技术 > 基于区块链的数据处理方法、装置、设备以及介质与流程  >  正文

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

  • 国知局
  • 2024-08-02 14:35:36

本技术涉及区块链,尤其涉及一种基于区块链的数据处理方法、装置、设备以及介质。

背景技术:

1、区块链作为p2p(peer-to-peer)网络环境下的所有节点共同维护的分布式数据库,具有可追溯、不可否认、不可伪造、不可篡改、去中心化的特性,即区块链上的数据对p2p网络中的所有节点均是公开的,该p2p网络中的所有节点都可以访问区块链上的数据。

2、在一些使用区块链技术的特定业务场景中,可能会涉及用户的相关数据,若将用户的相关数据直接存储在区块链中,那么区块链的所有节点都可以读取该用户的相关数据,会造成用户相关数据的泄露,导致数据安全性过低。

技术实现思路

1、本技术实施例提供一种基于区块链的数据处理方法、装置、设备以及介质,可以避免泄露数据输入节点中的对象数据,进而可以提高对象数据的安全性。

2、本技术实施例一方面提供了一种基于区块链的数据处理方法,该方法由区块链节点执行,该方法包括:

3、接收与目标对象相关联的任务启动请求,根据任务启动请求确定目标对象对应的k个数据输入节点和n个任务处理节点;k、n均为大于1的整数;

4、向k个数据输入节点发送数据分发消息;数据分发消息用于指示各个数据输入节点将持有的对象数据拆分为n个份额数据,以及将n个份额数据分发至n个任务处理节点;一个数据输入节点包括n个份额数据,一个任务处理节点包括各个数据输入节点的一个份额数据,对象数据与目标对象相关联;

5、获取n个任务处理节点对所接收到的k个份额数据的数据处理状态,根据n个任务处理节点对应的数据处理状态,更新目标对象对应的任务状态;

6、若任务状态指示任务执行成功,则获取目标对象对应的任务执行结果,将任务执行结果存储至区块链。

7、本技术实施例一方面提供了一种基于区块链的数据处理方法,该方法由目标数据输入节点执行,该方法包括:

8、接收区块链节点发送的数据分发消息,根据数据分发消息将目标数据输入节点所持有的对象数据拆分为n个份额数据;对象数据与目标对象相关联,目标对象对应k个数据输入节点和n个任务处理节点,k个数据输入节点包括目标数据输入节点;k个数据输入节点和n个任务处理节点是由目标对象关联的任务启动请求所确定的,一个数据输入节点包括n个份额数据,一个任务处理节点包括各个数据输入节点的一个份额数据,k、n均为大于1的整数;

9、将目标数据输入节点的n个份额数据分发至n个任务处理节点,以使各个任务处理节点对所接收到的k个份额数据进行数据处理,得到针对k个份额数据的数据处理状态;n个任务处理节点对应的数据处理状态用于更新目标对象对应的任务状态,任务状态指示任务执行成功时,目标对象对应的任务执行结果存储至区块链。

10、本技术实施例一方面提供了一种基于区块链的数据处理装置,该装置可以运行在区块链节点中,该装置包括:

11、请求接收模块,用于接收与目标对象相关联的任务启动请求,根据任务启动请求确定目标对象对应的k个数据输入节点和n个任务处理节点;k、n均为大于1的整数;

12、消息发送模块,用于向k个数据输入节点发送数据分发消息;数据分发消息用于指示各个数据输入节点将持有的对象数据拆分为n个份额数据,以及将n个份额数据分发至n个任务处理节点;一个数据输入节点包括n个份额数据,一个任务处理节点包括各个数据输入节点的一个份额数据,对象数据与目标对象相关联;

13、任务状态更新模块,用于获取n个任务处理节点对所接收到的k个份额数据的数据处理状态,根据n个任务处理节点对应的数据处理状态,更新目标对象对应的任务状态;

14、结果存储模块,用于若任务状态指示任务执行成功,则获取目标对象对应的任务执行结果,将任务执行结果存储至区块链。

15、其中,请求接收模块包括:

16、任务信息获取单元,用于接收与目标对象相关联的任务启动请求,基于任务启动请求为目标对象生成任务标识,获取任务启动请求所携带的k个数据输入节点和任务处理函数类型;

17、处理节点确定单元,用于根据任务处理函数类型对应的数据份额数量,从任务处理节点集群中确定与任务标识相匹配的n个任务处理节点,建立任务标识与n个任务处理节点之间的绑定关系。

18、其中,该装置还包括:

19、合约调用模块,用于基于任务标识、目标对象对应的对象标识,以及n个任务处理节点对应的节点标识,调用区块链上部署的任务编排合约;

20、任务状态设置模块,用于在任务编排合约中,将任务标识对应的任务状态设置为等待数据输入状态;等待数据输入状态用于指示向k个数据输入节点发送数据分发消息。

21、其中,任务状态更新模块具体用于:

22、若通过调用区块链上部署的任务编排合约确定k个数据输入节点均处于数据分发完成状态,则在任务编排合约中获取n个任务处理节点在任务执行时间范围内,对所接收到的k个份额数据的数据处理状态;

23、根据n个任务处理节点对应的数据处理状态,更新目标对象在任务编排合约中的任务状态。

24、其中,任务状态更新模块根据n个任务处理节点对应的数据处理状态,更新目标对象在任务编排合约中的任务状态,包括:

25、候选处理节点确定单元,用于若n个任务处理节点对应的数据处理状态中包括处理中断状态,则在n个任务处理节点中,将数据处理状态为处理中断状态的任务处理节点确定为候选处理节点;

26、数据重新处理单元,用于若候选处理节点的节点数量小于数量阈值,则通过任务编排合约向候选处理节点发送重试指令;重试指令用于指示候选处理节点重新对所接收到的k个份额数据进行处理;

27、状态更新单元,用于通过候选处理节点对所接收到的k个份额数据的重试处理状态,以及n个任务处理节点中除候选处理节点之外的任务处理节点的数据处理状态,更新目标对象在任务编排合约中的任务状态。

28、其中,该装置还包括:

29、任务作废模块,用于若候选处理节点的节点数量大于或等于数量阈值,则将目标对象在任务编排合约中的任务状态更新为任务无效状态;

30、任务重建模块,用于通过任务编排合约向任务创建节点发送任务重建消息;任务重建消息用于指示任务创建节点为目标对象创建新的任务启动请求。

31、其中,任务状态更新模块根据n个任务处理节点对应的数据处理状态,更新目标对象在任务编排合约中的任务状态,包括:

32、若n个任务处理节点对应的数据处理状态均为处理完成状态,则根据n个任务处理节点对应的处理完成状态,将目标对象在任务编排合约中的任务状态更新为任务完成状态;任务完成状态用于指示任务执行成功。

33、其中,结果存储模块包括:

34、处理结果获取单元,用于若任务状态指示任务执行成功,则获取n个任务处理节点对应的数据处理结果;

35、签名验证单元,用于根据n个任务处理节点对应的节点公钥,对各个任务处理节点对应的数据处理结果中的数字签名进行验证,得到n个任务处理节点对应的签名验证结果;

36、处理结果组合单元,用于若n个任务处理节点对应的签名验证结果均指示签名合法,则将n个任务处理节点对应的数据处理结果,组合为目标对象对应的任务执行结果;

37、任务结果上链单元,用于将任务执行结果封装至数据区块,若数据区块在区块链网络中达成共识,则将数据区块存储至区块链。

38、其中,k个数据输入节点包括数据输入节点a;

39、该装置还包括:

40、认证信息验证模块,用于接收数据输入节点a发送的身份注册请求,获取身份注册请求携带的节点认证信息,对节点认证信息进行验证,得到节点认证信息对应的身份认证结果;

41、身份注册模块,用于若身份认证结果指示认证成功,则生成数据输入节点a对应的身份地址,将身份地址存储至区块链,建立身份地址和数据输入节点a的节点公钥之间的绑定关系。

42、本技术实施例一方面提供了一种基于区块链的数据处理装置,该装置可以运行在目标数据输入节点中,该装置包括:

43、数据拆分模块,用于接收区块链节点发送的数据分发消息,根据数据分发消息将目标数据输入节点所持有的对象数据拆分为n个份额数据;对象数据与目标对象相关联,目标对象对应k个数据输入节点和n个任务处理节点,k个数据输入节点包括目标数据输入节点;k个数据输入节点和n个任务处理节点是由目标对象关联的任务启动请求所确定的,一个数据输入节点包括n个份额数据,一个任务处理节点包括各个数据输入节点的一个份额数据,k、n均为大于1的整数;

44、数据分发模块,用于将目标数据输入节点的n个份额数据分发至n个任务处理节点,以使各个任务处理节点对所接收到的k个份额数据进行数据处理,得到针对k个份额数据的数据处理状态;n个任务处理节点对应的数据处理状态用于更新目标对象对应的任务状态,任务状态指示任务执行成功时,目标对象对应的任务执行结果存储至区块链。

45、其中,数据拆分模块包括:

46、对象数据获取单元,用于根据数据分发消息,在目标数据输入节点对应的数据库中获取目标对象对应的对象数据;

47、对象数据拆分单元,用于获取与对象数据相关联的随机数组,根据随机数组中的随机数,将对象数据拆分为n个份额数据,通过数据输入节点对应的节点私钥对n个份额数据进行数字签名。

48、其中,该装置还包括:

49、任务结果查询模块,用于接收区块链节点返回的任务完成提示信息,根据任务完成提示信息,从n个任务处理节点中查询目标对象对应的任务执行结果;

50、业务评估模块,用于根据任务执行结果,确定目标对象对应的业务评估结果,若业务评估结果满足评估条件,则为目标对象设置业务开放权限。

51、本技术实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本技术实施例中上述一方面提供的方法。

52、本技术实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本技术实施例中上述一方面提供的方法。

53、根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。

54、本技术实施例中,在接收到与目标对象相关联的任务启动请求后,可以根据该任务启动请求确定目标对象对应的k个数据输入节点和n个任务处理节点,k、n均为大于1的整数;进而可以通知各个数据输入节点将其所持有的目标对象对应的对象数据拆分为n个份额数据,并将n个份额数据分发至n个任务处理节点。n个任务处理节点可以对各自接收到的各个数据输入节点的份额数据进行处理,通过各个任务处理节点对接收到的所有份额数据的数据处理状态更新目标对象的任务状态,在该任务状态指示任务执行成功时,可以将任务执行结果存储至区块链。换言之,在涉及到目标对象对应的对象数据时,各个持有目标对象对应的对象数据的数据输入节点都可以将其所持有的对象数据拆分为n个份额数据,并将其分发至n个任务处理节点,这样可以确保各个数据输入节点在不泄露各自所持有的对象数据的基础上,通过n个任务处理节点对各自接收到的份额数据进行独立处理,就可以得到一个可信任的任务执行结果,从而可以提高对象数据的安全性。

本文地址:https://www.jishuxx.com/zhuanli/20240801/243301.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。