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

文档序号:35982696发布日期:2023-11-10 02:30阅读:28来源:国知局
一种基于区块链的数据处理方法、装置、设备及存储介质与流程

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


背景技术:

1、目前,随着区块链技术的发展,业务交易的数量越来越多,因此对于区块链服务节点的访问次数越来越频繁,为了保障大量业务交易的正常进行,需要区块链服务节点提供安全且稳定的服务。当前的区块链服务节点容易发生单点故障,使得区块链服务节点无法提供服务,增加了区块链服务节点的出错概率,降低了区块链服务节点的安全性。


技术实现思路

1、本技术实施例提供一种基于区块链的数据处理方法、装置、设备及存储介质,可以提升区块链服务节点的安全性。

2、本技术实施例一方面提供了一种基于区块链的数据处理方法,该方法是由区块链服务节点集群中的目标服务节点执行,区块链服务节点集群包括m个服务节点,m个服务节点包括目标服务节点,m个服务节点由s组服务节点子集群组成,一组服务节点子集群中的服务节点所配置的区块链客户端相同,不同服务节点子集群分别配置的区块链客户端互不相同,区块链客户端包括执行客户端和共识客户端,m和s均为正整数,且s小于或等于m;方法包括:

3、目标服务节点接收网关设备发送的业务交易;业务交易是由终端设备发送至网关设备的,网关设备用于在s个区块链客户端的客户端语言类型中确定与业务交易的业务类型相匹配的目标客户端语言类型,网关设备还用于在与目标客户端语言类型相关联的服务节点子集群中调度出目标服务节点;

4、通过与目标客户端语言类型相关联的执行客户端和共识客户端,在区块链服务节点集群中共同执行和共识业务交易。

5、本技术实施例一方面提供了一种基于区块链的数据处理方法,该方法是由网关设备执行,网关设备与区块链服务节点集群相连接;区块链服务节点集群包括m个服务节点,m个服务节点包括目标服务节点,m个服务节点由s组服务节点子集群组成,一组服务节点子集群中的服务节点所配置的区块链客户端相同,不同服务节点子集群分别配置的区块链客户端互不相同,区块链客户端包括执行客户端和共识客户端,m和s均为正整数,且s小于或等于m;方法包括:

6、网关设备接收终端设备发送的携带业务交易的业务请求,将业务交易对应的业务类型分别与s个区块链客户端的客户端语言类型进行匹配,得到与业务交易的业务类型相匹配的目标客户端语言类型;

7、确定与目标客户端语言类型相关联的服务节点子集群;

8、对与目标客户端语言类型相关联的服务节点子集群进行调度选择,得到调度选择出的目标服务节点;

9、将业务交易转发至目标服务节点,以使目标服务节点通过与目标客户端语言类型相关联的执行客户端和共识客户端,在区块链服务节点集群中共同执行和共识业务交易。

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

11、业务交易接收模块,用于目标服务节点接收网关设备发送的业务交易;业务交易是由终端设备发送至网关设备的,网关设备用于在s个区块链客户端的客户端语言类型中确定与业务交易的业务类型相匹配的目标客户端语言类型,网关设备还用于在与目标客户端语言类型相关联的服务节点子集群中调度出目标服务节点;

12、共识执行模块,用于通过与目标客户端语言类型相关联的执行客户端和共识客户端,在区块链服务节点集群中共同执行和共识业务交易。

13、其中,共识执行模块,包括:

14、运行状态检测单元,用于检测s组服务节点子集群的运行状态;

15、故障标记单元,用于若检测到s组服务节点子集群中存在运行状态为故障状态的服务节点子集群,则将运行状态为故障状态的服务节点子集群进行故障标记;

16、共识执行单元,用于将未被故障标记的服务节点子集群确定为正常状态的服务节点子集群,通过与目标客户端语言类型相关联的执行客户端和共识客户端,在处于正常状态的服务节点子集群中共同执行和共识业务交易。

17、其中,数据处理装置,还包括:

18、心跳连接建立模块,用于接收检测设备发送的通信检测数据,在通信检测数据所指示的时间段内,与检测设备建立心跳连接关系;

19、区块高度发送模块,用于当基于心跳连接关系接收到检测设备发送的区块高度检测请求时,将目标服务节点的最高区块高度数据发送至检测设备,以使检测设备对最高区块高度数据与目标服务节点之间的关系进行存储;

20、备份数据生成模块,用于当基于心跳连接关系接收到检测设备发送的数据备份请求时,对目标服务节点的区块链数据进行备份处理,生成服务节点备份数据,将服务节点备份数据发送至检测设备,以使检测设备在目标服务节点处于不可用状态时基于服务节点备份数据提供数据恢复服务。

21、其中,共识执行模块,包括:

22、业务交易打包单元,用于通过与目标客户端语言类型相关联的执行客户端,将业务交易打包为待上链区块,对待上链区块中的业务交易进行执行处理,得到交易执行结果;

23、广播单元,用于通过与目标客户端语言类型相关联的共识客户端,将待上链区块和交易执行结果广播到区块链服务节点集群中的每个服务节点,以使区块链服务节点集群中的每个服务节点共同对待上链区块和交易执行结果进行共识投票;

24、可上链区块确定单元,用于若针对待上链区块和交易执行结果共识成功,则将待上链区块确定为可上链区块,将可上链区块和交易执行结果存储至区块链账本中。

25、本技术实施例一方面提供了一种基于区块链的数据处理装置,该数据处理装置包括:

26、类型匹配模块,用于网关设备接收终端设备发送的携带业务交易的业务请求,将业务交易对应的业务类型分别与s个区块链客户端的客户端语言类型进行匹配,得到与业务交易的业务类型相匹配的目标客户端语言类型;

27、节点子集群确定模块,用于确定与目标客户端语言类型相关联的服务节点子集群;

28、节点子集群调度模块,用于对与目标客户端语言类型相关联的服务节点子集群进行调度选择,得到调度选择出的目标服务节点;

29、业务交易转发模块,用于将业务交易转发至目标服务节点,以使目标服务节点通过与目标客户端语言类型相关联的执行客户端和共识客户端,在区块链服务节点集群中共同执行和共识业务交易。

30、其中,数据处理装置,还包括:

31、签名信息获取模块,用于获取业务请求中的接口签名信息;接口签名信息是由终端设备基于终端私钥对业务交易进行签名得到;

32、签名验证模块,用于基于终端私钥对应的终端公钥对接口签名信息进行签名验证,得到签名验证结果;

33、匹配执行模块,用于若签名验证结果为验证通过结果,则执行将业务交易对应的业务类型分别与s个区块链客户端的客户端语言类型进行匹配的步骤;

34、失败消息发送模块,用于若签名验证结果为验证失败结果,则向终端设备发送交易处理失败消息。

35、其中,节点子集群调度模块,包括:

36、请求头数据获取单元,用于获取业务请求对应的请求头数据,获取请求头数据所携带的调度需求参数;

37、调度单元,用于通过调度需求参数在与目标客户端语言类型相关联的服务节点子集群中进行调度选择;

38、目标服务节点获取单元,用于得到调度选择出的目标服务节点。

39、其中,调度单元,包括:

40、耗时数据请求发送子单元,用于若调度需求参数为耗时需求参数,则向检测设备发送针对与目标客户端语言类型相关联的服务节点子集群的耗时数据请求;

41、耗时数据接收子单元,用于接收检测设备基于耗时数据请求返回的耗时数据;耗时数据包括与目标客户端语言类型相关联的服务节点子集群中每个服务节点的请求响应耗时;

42、服务节点排序子单元,用于对与目标客户端语言类型相关联的服务节点子集群中每个服务节点的请求响应耗时进行排序,将排序后的请求响应耗时中的最小请求响应耗时所对应的服务节点,确定为目标服务节点。

43、其中,调度单元,包括:

44、服务节点负载检测子单元,用于若调度需求参数为负载需求参数,则在与目标客户端语言类型相关联的服务节点子集群中进行服务节点负载检测,得到与目标客户端语言类型相关联的服务节点子集群中的每个服务节点的待处理负载量与负载处理速率;

45、负载指数子单元,用于根据待处理负载量与负载处理速率生成与目标客户端语言类型相关联的服务节点子集群中的每个服务节点对应的负载指数,将具有最小负载指数的服务节点确定为目标服务节点。

46、其中,调度单元,包括:

47、区块高度数据请求发送子单元,用于若调度需求参数为区块高度阈值,则向检测设备发送针对与目标客户端语言类型相关联的服务节点子集群的区块高度数据请求;

48、区块高度数据集合接收子单元,用于接收检测设备基于区块高度数据请求返回的区块高度数据集合;区块高度数据集合包括与目标客户端语言类型相关联的服务节点子集群中每个服务节点分别对应的最新区块高度;

49、待调度服务节点确定子单元,用于将最新区块高度大于区块高度阈值的服务节点确定为待调度服务节点,在待调度服务节点中选择目标服务节点。

50、其中,数据处理装置,还包括:

51、服务节点删除模块,用于当网关设备获取到检测设备发送的失活标记信息和区块高度低标记信息时,在初始区块链服务节点集群中,将失活标记信息对应的服务节点与区块高度低标记信息对应的服务节点删除,得到区块链服务节点集群;失活标记信息是指未在设定时间范围内与检测设备建立心跳连接关系的服务节点的标记信息;区块高度低标记信息是指区块高度与全局最高区块高度的差值的绝对值大于差值阈值的服务节点的标记信息,全局最高区块高度为初始区块链服务节点集群中区块高度最大的服务节点。

52、本技术一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;

53、上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以使得计算机设备执行本技术实施例中的方法。

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

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

56、本技术实施例中,目标服务节点的客户端语言类型可以是多种客户端语言类型中的一种客户端语言类型,通过目标服务节点接收网关设备发送的业务交易。其中,业务交易是由终端设备发送至网关设备的,网关设备用于在s个区块链客户端的客户端语言类型中确定与业务交易的业务类型相匹配的目标客户端语言类型,网关设备还用于在与目标客户端语言类型相关联的服务节点子集群中调度出目标服务节点。进一步地,目标服务节点通过与目标客户端语言类型相关联的执行客户端和共识客户端,在区块链服务节点集群中共同执行和共识业务交易。本技术实施例通过多种客户端语言类型的服务节点构成的区块链服务节点集群,可以使得一组服务节点子集群中的服务节点相互替代,拓展了服务节点提供业务交易服务的途径,提升了区块链服务节点集群的多样性。进一步地,当区块链服务节点集群中一个节点发生故障时,通过网关设备可以将原本要分配至该发生故障的服务节点的业务交易调度至其他的合适的服务节点,解决了服务节点单点故障时的业务交易问题。应当理解,在本技术实施例中,区块链服务节点集群包括多个客户端语言类型的服务节点(即多个版本的服务节点)。因此,当区块链服务集群中的某个客户端语言类型的服务节点(即某个版本的服务节点)处于故障状态时,网关设备可以将业务交易调度至其他非故障状态的其他客户端语言类型的服务节点(即其他版本的服务节点),减弱了某个语言类型的客户端故障时对于区块链服务节点集群的业务处理的干扰,即其他非故障状态的客户端对应的服务节点可以正常运行,提升了区块链服务节点集群的故障容错性能,保证了区块链节点集群的安全性。采用本技术实施例,可以提升区块链服务节点系统的安全性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1