掌桥专利:专业的专利平台
掌桥专利
首页

区块链网络的业务处理方法、信息处理方法及节点设备

文献发布时间:2023-06-19 09:30:39


区块链网络的业务处理方法、信息处理方法及节点设备

技术领域

本申请涉及区块链技术领域,尤其涉及一种区块链网络的业务处理方法、信息处理方法及节点设备。

背景技术

点对点(Peer-to-Peer,P2P)网络是区块链技术中必不可少的一部分。点对点网络是点对点连接的网络,点对点连接的网络中基于一类特定的网络协议,网络节点之间不需要一个中心节点来维护网络状态,而是每个节点通过和相邻节点的广播交互来维护全网的节点状态或者其他相邻的节点连接状态。

基于目前P2P网络实现区块链技术时,由于每个节点均自己维护一个路由表,每个节点根据自己维护的路由表来传输业务请求以完成所述业务请求所指示的业务。这样一来,可能出现网络风暴、路由表中存在无效地址等问题,这些问题影响业务执行效率。因此,在区块链网络中,每个节点如何高效地处理业务请求所指示的业务成为当今研究的热点问题。

发明内容

本发明实施例提供了一种区块链网络的业务处理方法、信息处理方法及节点设备,通过管理节点统一为业务节点配置路由信息,可避免路由信息中出现无效地址,从而可提高业务执行效率。

一方面,本发明实施例提供了一种区块链网络的业务处理方法,区块链网络包括至少一个节点,所述至少一个节点包括管理节点及目标业务节点;所述方法包括:

当所述目标业务节点接收到业务请求时,获取由所述管理节点为所述目标业务节点配置的路由信息,所述路由信息中包括业务类型与处理节点之间的对应关系,所述处理节点用于处理所述业务类型所指示的业务,所述处理节点是所述区块链网络中除所述目标业务节点和所述管理节点外的节点;

根据所述业务请求所指示的业务所属的目标业务类型,从所述路由信息中获取与所述目标业务类型对应的目标处理节点;

将所述业务请求发送至所述目标处理节点,以使所述目标处理节点执行所述业务请求所指示的业务。

一方面,本发明实施例提供了一种区块链网络的信息处理方法,所述区块链网络包括至少一个节点,所述至少一个节点包括管理节点和目标业务节点,所述方法包括:

响应于为所述目标业务节点配置路由的触发事件,获取所述区块链网络中其他节点对应的路由配置参考信息,所述其他节点是指所述至少一个节点中除所述管理节点和所述目标业务节点外的节点;

根据所述其他节点对应的路由配置参考信息,从所述其他节点中确定处理节点,所述处理节点用于处理所述目标业务节点所支持的任一业务类型所指示的业务;

建立所述任一业务类型与所述处理节点的对应关系,并基于所述任一业务类型与所述处理节点的对应关系生成所述目标业务节点对应的路由信息。

一方面,本发明实施例提供了一种区块链网络的业务处理装置,所述区块链网络包括至少一个节点,所述至少一个节点包括管理节点及目标业务节点,所述装置包括:

获取单元,用于当所述目标业务节点接收到业务请求时,获取由所述管理节点为所述目标业务节点配置的路由信息,所述路由信息中包括业务类型与处理节点的对应关系,所述处理节点用于处理所述业务类型所指示的业务,所述处理节点是所述区块链网络中除所述目标业务节点和所述管理节点外的节点;

所述获取单元,还用于根据所述业务请求所指示的业务所属的目标业务类型,从所述路由信息中获取与所述目标业务类型对应的目标处理节点;

发送单元,用于将所述业务请求发送至所述目标处理节点,以使所述目标处理节点执行所述业务请求所指示的业务。

一方面,本发明实施例提供了一种区块链网络的信息处理装置,所述区块链网络包括至少一个节点,所述至少一个节点包括管理节点和目标业务节点,所述装置包括:

获取单元,用于响应于为所述目标业务节点配置路由的触发事件,获取所述区块链网络中其他节点对应的路由配置参考信息,所述其他节点是指所述至少一个节点中除所述管理节点和所述目标业务节点外的节点;

处理单元,用于根据所述其他节点对应的路由配置参考信息,从所述其他节点中确定与任一业务类型对应的处理节点,所述处理节点用于处理所述任一业务类型所指示的业务,所述任一业务类型为所述目标业务节点所支持的业务类型;

所述处理单元,还用于基于所述任一业务类型与所述处理节点的对应关系生成所述目标业务节点对应的路由信息。

一方面,本发明实施例提供了一种节点设备,其特征在于,包括:处理器,适于实现一条或多条计算机程序;以及计算机存储介质,所述计算机存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行:

当所述目标业务节点接收到业务请求时,获取由所述管理节点为所述目标业务节点配置的路由信息,所述路由信息中包括业务类型与处理节点之间的对应关系,所述处理节点用于处理所述业务类型所指示的业务,所述处理节点是所述区块链网络中除所述目标业务节点和所述管理节点外的节点;

根据所述业务请求所指示的业务所属的目标业务类型,从所述路由信息中获取与所述目标业务类型对应的目标处理节点;

将所述业务请求发送至所述目标处理节点,以使所述目标处理节点执行所述业务请求所指示的业务。

或者,所述一条或多条计算机程序适于由所述处理器加载并执行:

响应于为所述目标业务节点配置路由的触发事件,获取所述区块链网络中其他节点对应的路由配置参考信息,所述其他节点是指所述至少一个节点中除所述管理节点和所述目标业务节点外的节点;

根据所述其他节点对应的路由配置参考信息,从所述其他节点中确定与任一业务类型对应的处理节点,所述处理节点用于处理所述任一业务类型所指示的业务,所述任一业务类型为所述目标业务节点所支持的业务类型;

基于所述任一业务类型与所述处理节点的对应关系生成所述目标业务节点对应的路由信息。

一方面,本发明实施例提供了一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序,所述计算机程序被处理器执行时,用于执行如下步骤:

当所述目标业务节点接收到业务请求时,获取由所述管理节点为所述目标业务节点配置的路由信息,所述路由信息中包括业务类型与处理节点之间的对应关系,所述处理节点用于处理所述业务类型所指示的业务,所述处理节点是所述区块链网络中除所述目标业务节点和所述管理节点外的节点;

根据所述业务请求所指示的业务所属的目标业务类型,从所述路由信息中获取与所述目标业务类型对应的目标处理节点;

将所述业务请求发送至所述目标处理节点,以使所述目标处理节点执行所述业务请求所指示的业务。

或者所述计算机程序被处理器执行时,用于执行如下步骤:

响应于为所述目标业务节点配置路由的触发事件,获取所述区块链网络中其他节点对应的路由配置参考信息,所述其他节点是指所述至少一个节点中除所述管理节点和所述目标业务节点外的节点;

根据所述其他节点对应的路由配置参考信息,从所述其他节点中确定与任一业务类型对应的处理节点,所述处理节点用于处理所述任一业务类型所指示的业务,所述任一业务类型为所述目标业务节点所支持的业务类型;

基于所述任一业务类型与所述处理节点的对应关系生成所述目标业务节点对应的路由信息。

一方面,本发明实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;节点设备的处理器从所述计算机存储介质中读取所述计算机程序,所述处理器执行所述计算机程序,使得节点设备执行上述业务处理方法或者上述信息处理方法。

本发明实施例中,区块链网络中新加入一个管理节点,该管理节点可以为目标业务节点配置路由信息,当目标业务节点接收到业务请求时,获取由管理节点为目标业务节点配置的路由信息,该路由信息中包括中业务类型与处理节点的对应关系;目标业务节点根据业务请求所指示的业务所属的目标业务类型,从路由信息中获取与目标业务类型对应的目标处理节点;进一步的,将业务请求发送至目标处理节点,以使目标处理节点执行所述业务请求所指示的业务。可见,区块链网络中业务节点的路由信息是管理节点分配的,不是自己设置的,管理节点可以管理区块链网络中的所有节点,并为每个业务节点配置路由信息。在为每个业务节点配置路由信息时,会剔除掉无效节点,因此管理节点为每个业务节点分配的路由信息中,不存在无效路由地址,从而可避免业务请求被传输给无效节点,导致业务请求不能被执行或者执行效率低的问题,提高了业务请求的执行效率。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种新的区块链网络的结构示意图;

图2是本发明实施例提供的一种分层的区块链的结构示意图;

图3是本发明实施例提供的一种区块链网络的业务处理方法的流程示意图;

图4是本发明实施例提供的一种区块链网络的信息处理方法的流程示意图;

图5是本发明实施例提供的另一种分层的区块链网络的结构示意图;

图6是本发明实施例提供的一种区块链网络的业务处理装置的结构示意图;

图7是本发明实施例提供的一种区块链网络的信息处理装置的结构示意图;

图8是本发明实施例提供的一种节点设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

在对区块链技术的研究中发现点对点P2P网络是区块链技术中必不可少的一部分,在不同类型的区块链中P2P网络的实现方案有所不同。概括来讲,区块链可以包括公有链和联盟链,常见的公有链可以包括比特币和以太坊,常见的联盟链可以包括Fabric以及Terdermint。

在一个实施例中,下面以比特币和以太坊为例介绍在公有链中的P2P方案。比特币网络中的节点具有以下功能:路由功能、钱包、共享账本、智能合约以及区块链。其中,所述路由功能,是节点具备的基本功能,用于支持节点之间的通信。所述钱包是用于提供进行电子货币的交易的功能;所述共享账本是用于提供账目数据的存储、查询和修改等操作的功能;所述智能合约是计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于满足一定条件时而执行的代码实现,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;所述区块链包括一序列按照产生的先后时间顺序相互接续的区块。

基于上述各个节点具有的功能,比特币网络中的节点一般可以包括以下几种类型:轻节点(也称为业务节点)、路由节点、矿工节点以及全节点。其中,轻节点是指具有钱包功能和路由功能的节点。用户可以通过轻节点钱包查看自己的账户余额、管理钱包地址和私钥以及发起交易等。路由节点是指仅具有路由功能的节点。全节点是指具有钱包功能、路由功能、共识功能、区块链功能以及智能合约功能的节点,其中存储完成的区块链。

矿工节点是指具有共享账本(或者说共识)功能、路由功能、区块链功能的节点,这类节点也可以称为共识节点。如果一个矿工节点存储有区块的所有数据,那该矿工节点也是全节点,这类矿工节点一般是独立矿工。还有一类矿工节点,不是独立挖矿的,会和其他节点一起连接组成矿池,进行集体挖矿,这类矿工节点称为集体矿工。

多个集体矿工组成的矿池会形成一个矿池网络,这是一种有中心化的网络,矿池网络的中心节点为矿池服务器,其他矿工节点和矿池服务器相连接,矿工节点和矿池服务器之间的通信不是采用比特币协议,而是自己的矿池协议,主流的矿池协议可以包括Stratum 协议。

可选的,当矿工节点创建新的区块后,需要将新的区块广播给全网的所有节点,全网接收新的区块后,给矿工节点的奖励才是有效的,才会开始下一个区块哈希值的计算。因此,矿工节点需要最大限度缩短新区块的广播和下一个区块计算的时间。这就需要一个专门广播的网络用来加快区块的传播,这个网络可以称为比特币中继网络(Bitcoin RelayNetWork)。

在比特币网络中,一个节点可以将自己维护的对等节点列表发送给临近节点,因此,在初始节点启动之后,需要从临近节点复制一份节点列表。

和比特币网络一样,以太坊网络也具备路由功能、钱包、共享账本、智能合约以及区块链这些功能,也存在不同类型的节点。与比特币网络结构最大的不同是以太坊网络的P2P是有结构的。其网络采用Kademlia (Kad)算法实现,使用该算法可以快速而又准确的路由、定位数据的问题。

Kad的路由表是通过称为K桶的数据构造而成的,K桶记录了:节点标识NodeId、节点距离distance、端点endpoint以及网际互联协议IP等信息。K桶中的数据按照与目标节点之间的距离进行排序,以太坊网络中共有256个K桶,每个K桶包含16个节点。

在一个实施例中,Kad网络中节点之间的通信是基于用户数据报协议(UserDatagram Protocol,UDP)的,主要由以下几个命令构成:ping命令,用于探测一个节点,判断其是否在线;PONG命令,是对ping的响应命令;FINDNODE命令,用于向节点查询某个与目标节点ID距离接近的节点;NEIGHBORS命令,是对FIND_NODE命令的响应命令,用于发送与目标节点ID距离接近的K桶中的节点。可选的,若两个节点间的PING-PONG握手通过,则认为相应节点在线。

在一个实施例中,K桶中节点的发现流程可以概括为:当以太坊系统第一次启动时随机生成本机节点的节点标识NodeId,记为LocalId;生成后将固定不变,本机节点记为local-eth;读取公共节点信息,ping-pong握手完成后,将其写入K桶;每隔7200毫秒刷新一次K桶。

在一个实施例中,刷新K桶的流程可以概括为:(1)随机生成目标节点标识,记为TargetId,从1开始记录发现次数和刷新时间;(2)计算TargetId与LocalId之间的距离,记为Dlt;(3)K桶中节点的NodeId记为KadId,计算KadId与TargetId的距离,记为Dkt;(4)找出K桶中Dlt大于Dkt的节点,记为k桶节点,向k桶节点发送FindNODE命令,FindNODE命令包含TargetId;(5)K桶节点收到FindNODE命令后,同样执行(1)-(4)的过程,将从K桶中找到的节点使用Neighbours命令发回给本机节点;(5)本机节点收到Neighbours后,将收到的节点写入到K桶中,若搜索次数不超过8次,刷新时间不超过600ms,则返回(2)循环执行。

在一个实施例中,下面以Fabric和Terdermint为例介绍在联盟链中的P2P方案。可选的,Fabric 的P2P网络是基于Gossip协议的数据蜂窝网络, Gossip 过程是由种子节点发起,当一个种子节点有状态需要更新到网络中的其他节点时,它会随机的选择周围几个节点散播消息,收到消息的节点也会重复该过程,直至最终网络中所有的节点都收到了消息。这个过程可能需要一定的时间,由于不能保证某个时刻所有节点都收到消息,但是理论上最终所有节点都会收到消息,因此它是一个最终一致性协议。

在一个实施例中,Gossip协议可以包括以下几种类型:传播协议/谣言协议(Dissemination Protocol/Rumor-Mongering Protocol)、反熵协议(Anti-EntropyProtocol)、计算聚合的协议。其中,传播协议/谣言协议(Dissemination Protocol/Rumor-Mongering Protocol),是通过网络中的泛洪代理来工作,节点收到广播的数据后直接发送给所有的邻居节点。此方式可以提高网络的健壮性,但是容易造成广播风暴。反熵协议主要用于修复复制数据,通过比较复制和协调差异进行操作;计算聚合的协议用于对网络中节点的信息进行采样,并将这些值组合起来得到系统范围内的值,从而计算出网络范围内的集合,之后建立一种全面的信息流模式。

在Gossip协议中包括两种数据传输方式,分别为推送方式(Push-based)和拉取方式(Pull-based)。其中,推送方式下数据传输流程可以概括为:网络中的某个节点随机选择N个节点作为数据接收对象;向N个节点传输相应的信息;接收到信息的节点处理所接到的数据,以及接收到信息的节点重复执行上述过程。拉取方式下数据传输流程可以概括为:某个节点周期性地随机选择N个节点,询问被选择的N个节点有没有最新的信息;被询问的N个节点回复该节点最近接收到的信息。

具体地,在Fabric 的交易流程中,Peer 节点作为参与交易的主体,主要负责存储完整的区块链数据以及执行智能合约,Peer 节点之间可以通过 Gossip 协议来完成区块分发、状态同步等问题。每个Peer 节点上均维护了其他Peer 节点的信息,通过随机的与其他Peer 节点通信来交换信息,达到最终一致性。主要流程可以为:通过GossipClient 客户端的 GossipStream 双向流进行通信发送SignedGossipMessage 消息结构;Peer 节点组成了一个P2P网络,客户端会提交请求给Peer 节点,Peer 节点处理后提交交易给背书节点;然后背书节点进行签名,最后经过排序服务达成共识后广播给Peer 节点,如图1所示;Gossip负责连接排序服务和Peer节点,实现从单个源节点到所有节点高效的数据分发,在后台实现不同节点间的状态同步,并且可以处理拜占庭问题、动态的节点增加和网络分区。

但是在实际应用过程中发现Gossip 协议存在两个主要缺陷,一个是消息的延迟,由于Gossip 协议中,节点只会随机向少数几个节点发送消息,消息最终是通过多个轮次的散播而到达全网的,因此使用Gossip 协议会造成不可避免的消息的延迟,并不适用在对实时性要求较高的场景中;另一个是消息冗余,Gossip 协议规定节点会定期随机选择周围节点发送消息,而收到消息的节点也会重复该步骤,因此就不可避免的存在消息重复发送给同一个节点的情况,这就造成了消息的冗余,同时也增加了收到消息的节点的处理压力。而且,由于消息是定期发送的,因此,即使收到消息的节点也还会反复收到重复的消息,加重了消息的冗余。

综上所述可见,上述的P2P方案均应用在单层的区块链网络中,且P2P方式都是节点对等的,并这些节点均是处于同一个网络中的。这样一来,容易出现网络风暴或者路由表中存在无效地址等问题,从而导致业务执行效率降低。为了解决该问题,本发明实施例提出了一种新的区块链网络架构,以及基于该新的区块链网络架构实现了一种新的P2P方案。

参见图2,为本发明实施例提供的一种新的区块链网络的结构示意图。图2所示的区块链网络是双层网络,包括见证子网络201和共识子网络202,见证子网络201可以处于公网中,共识子网络202处于相对安全的私有云中。与常规的区块链网络相同,图2所示的区块链网络可以包括至少一个业务节点203(也可以称为简单支付验证(Simplified PaymentVerification,SPV)节点(也可以称为轻节点)和至少一个共识节点204,至少一个业务节点203用于接收用户发起的业务请求,然后将业务请求发送给至少一个共识节中任一共识节点,由共识节点执行所述业务请求所指示的业务;至少一个共识节点204用于接收业务节点的业务请求,并基于共识算法进行共识验证以执行所述业务。

本发明实施例中,为了保证核心共识算法的高效执行,将至少一个业务节点203和至少一个共识节点204部署在不同的网络中。具体实现中,可以将至少一个业务节点203部署在见证子网络中201,将至少一个共识节点204部署在共识子网络202中。至少一个业务节点203中的任一业务节点可以通过身份认证的方式从共识子网络201中获得区块头数据和部分授权可见的区块链数据。

在一个实施例中,图2所示的区块链网络中还可以包括路由边界205,见证子网络201和共识子网络202可以通过路由边界205进行交互。由此可知,由于共识子网络202处于相对安全的私有云中,其互相访问本身就有共识机制保证安全,不需要额外加入身份管理和网络控制。而至少一个业务节点203处于公共网络中,可能会被其他不确定的网络终端访问,因此业务节点203以及其他可能的节点接入共识子网络202中的行为均需要被严格控制。

与常规的区块链网络不相同的是,图2所示的区块链网络中除了包括业务节点203和共识节点204,还引入了管理节点206(也可以称为超级节点)和中继节点207。共识节点204和管理节点206均可以是由同一个机构提供的,比如在电子发票应用场景中,共识节点204和管理节点206均可以是由税务管理者比如税务总局提供的。管理节点206可以位于共识子网络202中,但是管理节点206不参与共识验证过程。

在一个实施例中,管理节点206主要用于为各个业务节点203配置路由信息,每个业务节点的路由信息用于通知相应的业务节点在接收到不同类型的业务请求时,应该将业务请求发送给哪个节点,以执行所述业务请求所指示的业务。比如任一业务节点的路由信息中,用于指示当该业务节点接收到上链业务类型的业务请求时,将该业务请求发送给至少一个共识节点中的共识节点A,由共识节点A发起共识验证并完成上链;又如,任一业务节点的路由信息中,用于指示当该业务节点接收到区块链数据业务类型的业务请求时,将该业务请求发送给至少一个业务节点203中的业务节点A或者发送给至少一个共识节点204中的共识节点B。简单来说,管理节点206用于维护各个业务节点的路由信息。

在一个实施例中,中继节点207既可以部署于见证子网络201中,也可以部署于共识子网络202中。中继节点207可以是由管理节点206设置的,专门用于传输特定类型数据的节点,比如两个业务节点之间传输安全性较高的数据时,可以通过中继节点207完成。

与现有的区块链网络相比,图2所示的区块链网络中管理节点206掌握各个业务节点的唯一路由信息,可以有效地避免网络风暴以及路由表无效地址等问题,从而可提高业务执行效率。

基于上述新的区块链网络架构,本发明实施例提供了一种区块链网络的业务处理方案,该区块链网络中的管理节点可以为目标业务节点配置路由信息,路由信息中可包括业务类型与处理节点的对应关系,处理节点用于处理所述业务类型所指示的业务;换句话说,管理节点为目标业务节点配置的路由信息中指示了不同业务类型对应一个处理相应业务类型所指示业务的处理节点。如此一来,当目标业务节点接收到业务请求时,获取由管理节点为目标业务节点配置的路由信息,根据所述业务请求所指示的业务所属的目标业务类型,从路由信息中获取与所述目标业务类型对应的目标处理节点;进一步的,将业务请求发送至目标处理节点,以使目标处理节点执行业务请求所指示的业务。

基于上述的新的区块链网络以及区块链网络的业务处理方案,本发明实施例提供了一种区块链网络的业务处理方法。参见图3,为本发明实施例提供的一种区块链网络的业务处理方法的流程示意图。所述区块链网络中可包括至少一个节点,所述至少一个节点包括管理节点和目标业务节点,图3所示的业务处理方法可由目标业务节点执行。所述目标业务节点可以指任何设备比如服务器、终端。其中,所述终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表以及智能车载等,但并不局限于此。所述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、云通信、中间件服务以及大数据和人工智能平台等基础云计算服务的云服务器。图3所示的业务处理方法可包括如下步骤:

步骤S301、当目标业务节点接收到业务请求时,获取由管理节点为目标业务节点配置的路由信息。

在一个实施例中,管理节点为目标业务节点配置的路由信息可包括业务类型与处理节点的对应关系,所述处理节点用于处理所述业务类型所指示的业务。所述业务类型可以包括上链业务类型、数据传输业务类型以及区块链数据同步业务类型。

在一个实施例中,所述处理节点可以指区块链网络中除所述目标业务节点和所述管理节点外的节点。假设所述区块链网络如图2所示,则目标业务节点可以指至少一个业务节点中的任意一个,所述处理节点可以指至少一个共识节点中任意一个、至少一个中继节点中任意一个,以及除目标业务节点外其他业务节点。

基于此,业务类型与处理节点的对应关系可以包括:所述上链业务类型对应的处理节点为所述至少一个共识节点中第一共识节点;所述数据传输业务类型对应的处理节点为所述至少一个中继节点中目标中继节点;所述区块链数据同步业务类型对应的处理节点为所述至少一个共识节点中的第二共识节点;或者,所述区块链数据同步业务类型对应的处理节点为所述至少一个其他业务节点中的目标其他业务节点。其中,第一共识节点和第二共识节点可以是同一个共识节点,也可以是不相同的共识节点。

简单来说,目标业务节点接收到的上链业务类型可以直接发送至给第一共识节点;目标业务节点接收到的区块链数据同步则从第二共识节点或者从目标其他业务节点中同步;在上链业务类型之外,还有一些具体数据传输业务类型,这种数据传输业务类型不直接走业务节点之间的点对点链路,而是要走管理节点指定的目标中继节点。

在一个实施例中,当目标业务节点接收到业务请求时,获取管理节点为其配置的路由信息,可包括:从本地存储中获取路由信息;或者从管理节点处获取路由信息。其中,从本地存储中获取路由信息是指:在目标业务节点启动时,目标业务节点已经从管理节点处获取到管理节点为其配置的路由信息;当目标业务节点接收到业务请求时,只需根据已获取到的路由信息确定目标处理节点就即可。

在一个实施例中,当目标业务节点启动时,目标业务节点获取路由信息的实施方式可包括:当所述目标业务节点启动时,获取所述管理节点的地址信息;根据所述管理节点的地址信息从所述管理节点处获取所述管理节点为所述目标业务节点配置的路由信息。其中,所述管理节点的地址信息可以是通过下载的方式获取到的,或者可以是从证书中获取到的。所述证书是指公钥证书体系(PKI,Public Key Infrastructure),在证书体系中,证书是一个公钥拥有者的身份证明,由权威机构进行颁发。基于公钥证书体系可以实现非对称加密和对于信息的数字签名。

在一个实施例中,由前述可知,每个业务类型对应一个处理节点,如果目标业务类型所支持的业务类型为至少一个,那么路由信息中包括的处理节点的数量应该也是至少一个。当目标业务节点启动时,获取到管理节点为其配置的路由信息后,为了判断目标业务节点是否与路由信息中各个处理节点之间均可以成功连接,或者说为了确保管理节点为目标业务节点配置的路由信息是可靠的。目标业务节点获取到路由信息后,尝试与路由信息中的每个处理节点进行连接,得到目标业务节点与每个处理节点之间的连接结果,比如连接成功或连接失败;进一步的,为了管理节点掌握目标业务节点与各个处理节点的连接情况,目标业务节点将与各个处理节点的连接结果上报给管理节点。如果管理节点发现目标业务节点与某个处理节点之间的连接失败,则可以重新为目标业务节点分配一个处理节点,来替代连接失败的处理节点。如此一来,可以使得目标业务节点接收到的各种业务类型的业务请求都能及时被执行,不会由于无效路由地址的存在导致业务执行效率下降。

由前述可知,本发明实施例中目标业务节点的路由信息是由管理节点配置的,也就是说目标业务节点只和管理节点之间交互路由信息,不和其他业务节点交互路由信息,可以防止网络风暴。

步骤S302、根据业务请求所指示的业务所属的目标业务类型,从路由信息中获取与目标业务类型对应的目标处理节点。

在一个实施例中,基于前述业务类型与处理节点之间的对应关系,如果业务请求所指示的业务所属的目标业务类型为上链业务类型,则目标处理节点为第一共识节点;如果业务请求所指示的业务所属的目标业务类型为区块链数据同步业务类型,则目标处理节点为目标其他业务节点或者第二共识节点;如果业务请求所指示的业务所属的目标业务类型为数据传输业务类型,则目标处理节点为目标中继节点。

步骤S303、将业务请求发送至目标处理节点,以使目标处理节点执行业务请求所指示的业务。

在一个实施例中,目标处理节点接收到业务请求后,执行业务请求所指示的业务。例如,业务请求所指示的业务为上链业务,目标处理节点为第一共识节点,第一共识节点根据业务请求生成包括业务请求所指示的业务的新的区块,并将新的区块广播给其他共识节点,以使得其他节点对新的区块进行共识验证;在共识验证通过后,将新的区块添加到区块链上;再如,业务请求所指示的业务为区块链数据同步业务,目标处理节点可以为第二共识节点,第二共识节点接收到业务请求后,获取业务请求所指示的要求同步的数据,将要同步的数据返回给目标业务节点。

本发明实施例中,在区块链网络中新加入一个管理节点,该管理节点可以为目标业务节点配置路由信息,当目标业务节点接收到业务请求时,获取由管理节点为目标业务节点配置的路由信息,该路由信息中包括中业务类型与处理节点的对应关系;目标业务节点根据业务请求所指示的业务所属的目标业务类型,从路由信息中获取与目标业务类型对应的目标处理节点;进一步的,将业务请求发送至目标处理节点,以使目标处理节点执行所述业务请求所指示的业务。可见,区块链网络中业务节点的路由信息是管理节点分配的,不是自己设置的,管理节点可以管理区块链网络中的所有节点,也可以连接到每个节点的节点情况,在为每个业务节点配置路由信息时,会剔除掉无效节点。因此管理节点为每个业务节点分配的路由信息中,不存在无效路由地址,从而可避免业务请求被传输给无效节点,导致业务请求不能被执行或者执行效率低,提高了业务请求的执行效率。

基于上述的区块俩网络的业务处理方法,本发明实施例提供了一种区块链网络的信息处理方法,参见图4,为本发明实施例提供的一种区块链网络的信息处理方法的流程示意图。所述区块链网络中可包括至少一个节点,所述至少一个节点包括管理节点和目标业务节点,图4所示的业务处理方法可由管理节点执行。所述管理节点可以指任何设备比如服务器、终端。其中,所述终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。所述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、云通信、中间件服务以及大数据和人工智能平台等基础云计算服务的云服务器。图4所示的信息处理方法可包括如下步骤:

步骤S401、响应于为目标业务节点配置路由的触发事件,获取区块链网络中其他节点对应的路由配置参考信息。

在一个实施例中,为目标业务节点配置路由的触发事件可以指接收到目标业务节点发送的路由配置请求。具体实现中,目标业务节点加入到区块链网络后,想要与区块链网络中的其他节点进行交互以执行业务,需要与其他节点之间建立路由,因此目标业务节点需要向管理节点发送路由配置请求,该路由配置请求中可携带目标业务节点的地址信息。管理节点接收到路由配置请求后,可以根据目标业务节点的地址信息对目标业务节点进行验证,比如验证目标业务节点的合法性、验证是否目标业务节点可以拥有路由配置等。

在其他实施例中,为目标业务节点配置路由的触发事件还可以指:检测到目标业务节点加入到区块链网络中,并在区块链网络中启动。管理节点可以监测在区块链网络中启动的所有节点,为所有节点中每个业务节点配置路由信息,以使每个业务节点按照路由信息的指示执行业务,如此一来可以保证区块链网络中业务有条不紊的执行,提高了业务执行效率。

在一个实施例中,区块链网络的其他节点可以是区块链网络包括的至少一个节点中,除管理节点和目标业务节点外的节点。其他节点的数量为至少一个,所述其他节点对应的路由配置参考信息可以包括如下信息中任意一种或多种:至少一个其他节点中每个其他节点与所述目标业务节点之间的距离信息、所述每个其他节点的业务处理信息以及所述每个其他节点的业务执行安全性信息;其中,所述每个其他节点的业务处理信息包括相应的其他节点所支持的业务类型,以及业务负载情况中任意一种或多种。

步骤S402、根据其他节点对应的路由配置参考信息,从其他节点中确定与任一业务类型对应的处理节点,处理节点用于处理目标业务节点所支持的任一业务类型所指示的业务,任一业务类型为目标业务节点所支持的业务类型。

在一个实施例中,所述至少一个其他节点包括至少一个共识节点、至少一个其他业务节点以及至少一个中继节点中任意一种,所述至少一个中继节点是由所述管理节点设置的;所述目标业务节点所支持的业务类型包括上链业务类型、数据传输业务类型以及区块链数据同步业务类型中任意一种或多种。所述目标业务节点所支持的业务类型可以包括:上链业务类型、数据传输业务类型以及区块链数据同步业务类型中任意一种或多种。

在一个实施例中,所述根据其他节点对应的路由配置参考信息从其他节点中确定处理节点,可以包括:根据所述任一业务类型被执行时所需的执行要求,设置与所述任一业务类型对应的距离信息权重值、业务处理信息权重值以及业务执行安全性权重值,所述距离信息权重值、所述业务处理信息权重值以及所述业务执行安全性权重值之和等于1;将每个其他节点与所述目标业务节点之间的距离信息与所述距离信息权重值进行相乘运算得到每个其他节点的距离得分,将所述每个其他节点的业务处理信息与所述业务处理信息权重值进行相乘运算得到每个其他节点的业务处理得分,以及将所述每个其他节点的业务执行安全性信息与所述业务执行安全性权重值进行相乘运算得到每个其他节点的业务执行安全性得分;对任一其他节点的距离得分、业务处理得分以及业务执行安全性得分进行相加运算,得到所述任一其他节点作为与所述任一业务类型对应的处理节点的参考分;从所述至少一个其他节点中选择参考分最大的其他节点作为与所述任一业务类型对应的处理节点。

其中,任一业务类型执行时所需的执行要求可以包括:业务执行安全性满足预设安全性条件、实时性满足预设实时性条件以及无要求等,预设安全性条件可以是需要在通信连接的安全系数达到某个阈值的情况下执行该业务类型的业务;实时性要求是指需要在预设时间段内执行该业务类型的业务。

不同业务类型对应的距离信息权重值、业务处理信息权重值以及业务执行安全性权重值可以不同。例如,对于具有安全性要求的业务类型,其对应的业务执行安全性权重值高于其他两个权重值;对于具有实时性要求的业务类型,其对应的距离信息权重值和业务处理信息权重值可能高于业务执行安全性权重值。

确定出任一业务类型对应的各个权重值后,将其他节点的路由配置参考信息中与各个权重值对应的信息,和相应的权重值进行相乘,然后将各个相乘的结果进行相加处理,得到每个其他节点作为与任一业务类型对应的处理节点的参考分;从参考分中选出分数最高的作为任一业务类型对应的处理节点。

在其他实施例中,根据其他节点对应的路由配置参考信息为目标业务节点配置路由信息,还可以包括:确定目标业务节点所支持的任一业务类型被执行时所需的执行要求;根据其他节点的路由配置参考信息从多个其他节点中选择符合执行要求的候选其他节点;从候选其他节点中选择在执行要求方面表现最佳的候选节点作为与任一业务类型对应处理节点。

例如执行要求为安全性要求了,则符合执行要求的候选其他节点是指:这些其他节点的业务执行安全性信息满足预设安全性条件;再如,执行要求为实时性要求,则符合执行要求的候选其他节点是指:这些其他节点执行业务所需的执行时长在预设时间范围内。

步骤S403、基于任一业务类型与处理节点的对应关系生成目标业务节点对应的路由信息。

按照上述步骤S402可以确定出每个业务类型对应的处理节点,进一步的,根据每个业务类型对应的处理节点生成目标业务节点对应的路由配置信息。这样一来,管理节点为目标业务节点配置的路由信息中可包括至少一组业务类型与处理节点的对应关系,其中,任一业务类型对应的处理节点用于处理所述任一业务类型所指示的业务,所述处理节点是所述其他节点包括的节点。

可选的,与不同业务类型对应的处理节点可以是相同的,也可以是不同的;或者与一个业务类型对应的处理节点的数量可以是一个或多个,在这些处理节点中可以存在一个主处理节点,其他的为备选处理节点;当目标业务节点与主处理节点连接失败后,可以与备选处理节点进行连接以继续执行业务。

在一个实施例中,管理节点为目标业务节点设置了路由信息后,当检测到目标业务节点的路由信息获取请求时,通过目标业务节点的地址信息将为目标业务节点配置的路由信息发送至目标业务节点。

目标业务节点接收到管理节点为其分配的路由信息后,尝试与路由信息中的每个处理节点进行连接,得到目标业务节点与每个处理节点的连接结果,与每个处理节点的连接结果用于反映所述目标业务节点与相应处理节点之间的连接成功或者连接失败。进一步的,目标业务节点将目标业务节点与每个处理节点的连接结果上报给管理节点,管理节点接收到目标业务节点上报的目标业务节点与每个处理节点之间的连接结果后,根据目标业务节点与每个处理节点之间的连接结果更新目标业务节点的路由信息。

具体实现中,如果管理节点确定目标业务节点与每个处理节点之间的连接结果均表示连接成功,则管理节点可以维持当前为目标业务节点配置的路由信息不变;如果管理节点确定目标业务节点与每个处理节点之间的连接结果中,存在目标业务节点与某个处理节点之间的连接失败;则管理节点重新为目标业务节点分配一个处理节点,用新分配的处理节点代替上述的某个处理节点。如此一来,可以保证目标业务节点与路由信息中每个处理节点之间都能够成功连接,以传输业务请求,避免路由信息中包括无效路由,从而可提高业务请求的执行效率。

本发明实施例中,在区块链网络中新加入一个管理节点,响应于为目标业务节点配置路由信息的触发事件,管理节点可以根据区块链网络中除管理节点和目标业务节点外其他节点的路由配置参考信息,为目标业务节点设置路由信息,路由信息中包括至少一组业务类型与处理节点的对应关系;以使得目标业务节点接收到业务请求时,可以根据路由信息将不同业务类型的业务请求发送给对应的处理节点进行处理。管理节点可以管理区块链网络中的所有节点,在为每个业务节点配置路由信息时,会剔除掉无效节点,因此管理节点为每个业务节点分配的路由信息中,不存在无效路由地址,从而可避免业务请求被传输给无效节点,导致业务请求不能被执行或者执行效率低,提高了业务请求的执行效率。

基于上述实施例,本发明实施例提供区块链网络的业务处理方法和信息处理方法可以应用在区块链电子发票业务中,参见图5,为本发明实施例提供的一种应用区块链电子发票业务中的区块链网络结构图,图5所示的区块链网络中税务管理者比如税务总局提供区块链网络中的共识节点和管理节点,以及中继节点。业务节点可以是各个地方的税局、也可以是企业用户和个人用户。

管理节点中拥有共识节点和业务节点的地址信息;任意业务节点启动时,可以下载或者使用在证书授权中心(Certificate Authority,CA)的根证书等方式获取到管理节点的地址信息,从而根据管理节点的地址信息获取到与该业务节点对应的路由信息,路由信息中包括了多个与该业务节点对应的处理节点,这些处理节点可以是其他业务节点、任意一个共识节点以及中继节点等;任意业务节点尝试与路由信息中各个处理节点进行连接。

当任意业务节点提交上链业务类型时,路由信息中指示与上链业务类型对应的处理节点为共识节点中的任意一个,也就是说业务节点提交的上链业务类型可以直接发送共识节点;当任意业务节点提交区块链数据同步业务类型时,则路由信息中与区块链数据同步业务类型对应的处理节点是,从共识节点或者其他业务节点中选择出来的,也就是说任意业务节点可以从其他业务节点或者共识节点同步区块链数据。对于任意业务节点提交的数据传输业务类型,则路由信息中指示的与数据传输业务类型对应的处理节点,是中继节点,也就是说对于数据传输业务类型的业务不直接走业务节点之间的点对点链路,直接走管理节点在路由信息中为其分配的中继节点。

在一个实施例中,中继节点可以位于税务管理者总部,用于提高业务节点之间数据、业务交互的安全中继和网络打通。如此一来,各个地区的业务节点可以专注于业务,不用管理与其他节点的网络传统工作。某个业务节点对应的中继节点是管理节点下发的,可以动态增删。

在图5所示的区块链网络结构中,管理节点是由税务管理者掌握的,税务管理者属于国家重点部门,可以做到多备份、不泄露部门、机构以及企业信息,既保证了系统安全性,也保证了隐私安全性。业务节点SPV只能通过管理节点来构建自身的路由信息,保证高效运算和安全,同时也充分发挥了P2P网络的性能,部分数据下载利用更多网络资源。中继节点由管理节点掌握,跨部门,夸机构的数据交互可以有效监管和控制,信息隐私等也能够得到重要保障,设置还可以创建专门业务的信息通道,保证专门业务的安全执行。

基于上述的方法实施例,本发明实施例提供了一种区块链网络的业务处理装置,参见图6,为本发明实施例提供的一种区块链网络的业务处理装置的结构示意图。图6所示的业务处理装置可运行如下单元:

获取单元601,用于当所述目标业务节点接收到业务请求时,获取由所述管理节点为所述目标业务节点配置的路由信息,所述路由信息中包括业务类型与处理节点之间的对应关系,所述处理节点用于处理所述业务类型所指示的业务,所述处理节点是所述区块链网络中除所述目标业务节点和所述管理节点外的节点;

所述获取单元601,还用于根据所述业务请求所指示的业务所属的目标业务类型,从所述路由信息中获取与所述目标业务类型对应的目标处理节点;

发送单元602,用于将所述业务请求发送至所述目标处理节点,以使所述目标处理节点执行所述业务请求所指示的业务。

在一个实施例中,所述至少一个节点还包括以下至少一种:至少一个共识节点、至少一个其他业务节点以及至少一个中继节点,所述至少一个中继节点中每个中继节点均是由所述管理节点设置的;业务类型包括上链业务类型、数据传输业务类型以及区块链数据同步业务类型,每个业务类型对应一个处理节点;所述业务类型与处理节点的对应关系包括:

所述上链业务类型对应的处理节点为所述至少一个共识节点中第一共识节点;所述数据传输业务类型对应的处理节点为所述至少一个中继节点中目标中继节点;

所述区块链数据同步业务类型对应的处理节点为所述至少一个共识节点中的第二共识节点;或者,所述区块链数据同步业务类型对应的处理节点为所述至少一个其他业务节点中的目标其他业务节点。

在一个实施例中,所述区块链网络包括见证子网络和共识子网络,所述管理节点和所述至少一个共识节点中每个共识节点均位于所述共识子网络中;所述目标业务节点和所述至少一个其他业务节点中每个其他业务节点均位于所述见证子网络中;所述至少一个中继节点中任意一个中继节点位于所述见证子网络或者共识子网络中。

在一个实施例中,所述获取单元601用于当所述目标业务节点启动时,获取所述管理节点的地址信息;根据所述管理节点的地址信息从所述管理节点处获取所述管理节点为所述目标业务节点配置的路由信息。

在一个实施例中,所述业务类型与处理节点之间的对应关系为至少一组,所述处理节点的数量为至少一个,所述路由信息中还包括至少一个处理节点中每个处理节点的地址信息;

所述业务处理装置还包括处理单元603和上报单元604;所述处理单元603用于根据每个处理节点的地址信息与相应的处理节点进行连接,得到所述目标业务节点与每个处理节点的连接结果;其中,所述目标业务节点与每个处理节点的连接结果用于反映所述目标业务节点与相应处理节点之间的连接成功或者连接失败;

所述上报单元604用于将所述目标业务节点与所述每个处理节点的连接结果上报至所述管理节点,以使得所述管理节点根据所述目标业务节点与所述每个处理节点的连接结果更新为所述目标业务节点分配的路由信息。

根据本发明的一个实施例,图3所示的业务处理方法所涉及各个步骤可以是由图6所示的业务处理装置中的各个单元来执行的。例如,图3所述的步骤S301和步骤S302可由图6所示的业务处理装置中的获取单元601来执行,步骤S303可由图6所示的业务处理装置中的发送单元602来执行。

根据本发明的另一个实施例,图6所示的业务处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于业务处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图3所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的业务处理装置,以及来实现本发明实施例业务处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。

本发明实施例中,区块链网络中新加入一个管理节点,该管理节点可以为目标业务节点配置路由信息,当目标业务节点接收到业务请求时,获取由管理节点为目标业务节点配置的路由信息,该路由信息中包括中至少一组业务类型与处理节点的对应关系;目标业务节点根据业务请求所指示的业务所属的目标业务类型,从路由信息中获取与目标业务类型对应的目标处理节点;进一步的,将业务请求发送至目标处理节点,以使目标处理节点执行所述业务请求所指示的业务。可见,区块链网络中业务节点的路由信息是管理节点分配的,不是自己设置的,管理节点可以管理区块链网络中的所有节点,在为每个业务节点配置路由信息时,会剔除掉无效节点,因此管理节点为每个业务节点分配的路由信息中,不存在无效路由地址,从而可避免业务请求被传输给无效节点,导致业务请求不能被执行或者执行效率低,提高了业务请求的执行效率。

基于上述的方法实施例,本发明实施例还提供了一种区块链网络的信息处理装置。参见图7,为本发明实施例提供的一种区块链网络的信息处理装置的结构示意图。图7所述的信息处理装置可运行如下单元:

获取单元701,用于响应于为所述目标业务节点配置路由的触发事件,获取所述区块链网络中其他节点对应的路由配置参考信息,所述其他节点是指所述至少一个节点中除所述管理节点和所述目标业务节点外的节点;

处理单元702,用于根据所述其他节点对应的路由配置参考信息,从所述其他节点中确定与任一业务类型对应的处理节点,所述处理节点用于处理所述任一业务类型所指示的业务,所述任一业务类型为所述目标业务节点所支持的业务类型;

所述处理单元702,还用于基于所述任一业务类型与所述处理节点的对应关系生成所述目标业务节点对应的路由信息。

在一个实施例中,所述其他节点的数量为至少一个,所述路由配置参考信息包括以下任意一种或多种:至少一个其他节点中每个其他节点与所述目标业务节点之间的距离信息、所述每个其他节点的业务处理信息以及所述每个其他节点的业务执行安全性信息;其中,所述每个其他节点的业务处理信息包括相应的其他节点所支持的业务类型,以及业务负载情况中任意一种或多种。

在一个实施例中,所述至少一个其他节点包括至少一个共识节点、至少一个其他业务节点以及至少一个中继节点中任意一种,所述至少一个中继节点是由所述管理节点设置的;所述目标业务节点所支持的业务类型包括上链业务类型、数据传输业务类型以及区块链数据同步业务类型中任意一种或多种。

在一个实施例中,所述目标业务节点所支持的业务类型的数量为至少一个,每个业务类型对应一个处理节点,所述处理节点的数量至少一个;所述信息处理装置还包括接收单元703:

所述接收单元703,用于接收所述目标业务节点上报的所述目标业务节点与每个处理节点的连接结果,所述目标业务节点与每个处理节点的连接结果是所述目标业务节点根据每个处理节点的地址信息与相应的处理节点进行连接得到的;所述目标业务节点与每个处理节点的连接结果用于所述目标业务节点与相应处理节点之间的连接成功或者连接失败;所述处理单元702,还用于根据所述连接结果更新为所述目标业务节点配置的路由信息。

在一个实施例中,路由配置参考信息包括每个其他节点与所述目标业务节点之间的距离信息、所述每个其他节点的业务处理信息以及所述安全性信息,所述处理单元702在根据所述其他节点对应的路由配置参考信息,从所述其他节点中确定与任一业务类型对应的处理节点时,执行如下步骤:

根据所述目标业务节点所支持的任一业务类型被执行时所需的执行要求,设置与所述任一业务类型对应的距离信息权重值、业务处理信息权重值以及业务执行安全性权重值,所述距离信息权重值、所述业务处理信息权重值以及所述业务执行安全性权重值之和等于1;

将每个其他节点与所述目标业务节点之间的距离信息与所述距离信息权重值进行相乘运算得到每个其他节点的距离得分,将所述每个其他节点的业务处理信息与所述业务处理信息权重值进行相乘运算得到每个其他节点的业务处理得分,以及将所述每个其他节点的业务执行安全性信息与所述业务执行安全性权重值进行相乘运算得到每个其他节点的业务执行安全性得分;

对任一其他节点的距离得分、业务处理得分以及业务执行安全性得分进行相加运算,得到所述任一其他节点作为所述任一业务类型对应的处理节点的参考分;

从所述至少一个其他节点中选择参考分最大的其他节点作为所述任一业务类型对应的处理节点。

根据本发明的一个实施例,图4所示的信息处理方法所涉及各个步骤可以是由图7所示的信息处理装置中的各个单元来执行的。例如,图4所述的步骤S401可由图7所示的信息处理装置中的获取单元701来执行,步骤S402和步骤S403可由图7所示的信息处理装置中的处理单元702来执行。

根据本发明的另一个实施例,图7所示的信息处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于信息处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的信息处理装置,以及来实现本发明实施例信息处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。

本发明实施例中,在区块链网络中新加入一个管理节点,响应于为目标业务节点配置路由信息的触发事件,管理节点可以根据区块链网络中除管理节点和目标业务节点外其他节点的路由配置参考信息,为目标业务节点设置路由信息,路由信息中包括至少一组业务类型与处理节点的对应关系;以使得目标业务节点接收到业务请求时,可以根据路由信息将不同业务类型的业务请求发送给对应的处理节点进行处理。管理节点可以管理区块链网络中的所有节点,在为每个业务节点配置路由信息时,会剔除掉无效节点,因此管理节点为每个业务节点分配的路由信息中,不存在无效路由地址,从而可避免业务请求被传输给无效节点,导致业务请求不能被执行或者执行效率低,提高了业务请求的执行效率。

基于上述的方法实施例以及装置实施例,本发明实施例还提供了一种节点设备,所述节点设备可以指前述的目标业务节点,也可以指前述的管理节点。参见图8,为本发明实施例提供的一种节点设备的结构示意图。图8所示的节点设备可至少包括处理器801、输入接口802、输出接口803以及计算机存储介质804。其中,处理器801、输入接口802、输出接口803以及计算机存储介质804可通过总线或其他方式连接。

计算机存储介质804可以存储在节点设备的存储器中,所述计算机存储介质801用于存储计算机程序,所述计算机程序包括程序计算机程序,所述处理器801用于执行所述计算机存储介质804存储的程序计算机程序。处理器801(或称CPU(Central ProcessingUnit,中央处理器))是节点设备的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行:

当所述目标业务节点接收到业务请求时,获取由所述管理节点为所述目标业务节点配置的路由信息,所述路由信息中包括业务类型与处理节点之间的对应关系,所述处理节点用于处理所述业务类型所指示的业务,所述处理节点是所述区块链网络中除所述目标业务节点和所述管理节点外的节点;根据所述业务请求所指示的业务所属的目标业务类型,从所述路由信息中获取与所述目标业务类型对应的目标处理节点;将所述业务请求发送至所述目标处理节点,以使所述目标处理节点执行所述业务请求所指示的业务。

在其他实施例中,处理器801(或称CPU(Central Processing Unit,中央处理器))是节点设备的计算核心以及控制核心,其适于实现一条或多条计算机程序,具体适于加载并执行:

响应于为所述目标业务节点配置路由的触发事件,获取所述区块链网络中其他节点对应的路由配置参考信息,所述其他节点是指所述至少一个节点中除所述管理节点和所述目标业务节点外的节点;根据所述其他节点对应的路由配置参考信息,从所述其他节点中确定与任一业务类型对应的处理节点,所述处理节点用于处理所述任一业务类型所指示的业务,所述任一业务类型为所述目标业务节点所支持的业务类型;基于所述任一业务类型与所述处理节点的对应关系生成所述目标业务节点对应的路由信息。

本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是节点设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括节点设备的内置存储介质,当然也可以包括节点设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了节点设备的操作系统。并且,在该存储空间中还存放了适于被处理器801加载并执行的一条或多条的计算机程序,这些计算机程序可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。

在一个实施例中,所述计算机存储介质可由处理器801加载并执行计算机存储介质中存放的一条或多条计算机程序,以实现上述有关图3所示的区块链网络的业务处理方法的相应步骤。具体实现中,计算机存储介质中的一条或多条计算机程序由处理器801加载并执行如下步骤:

当所述目标业务节点接收到业务请求时,获取由所述管理节点为所述目标业务节点配置的路由信息,所述路由信息中包括业务类型与处理节点之间的对应关系,所述处理节点用于处理所述业务类型所指示的业务,所述处理节点是所述区块链网络中除所述目标业务节点和所述管理节点外的节点;根据所述业务请求所指示的业务所属的目标业务类型,从所述路由信息中获取与所述目标业务类型对应的目标处理节点;将所述业务请求发送至所述目标处理节点,以使所述目标处理节点执行所述业务请求所指示的业务。

在一个实施例中,所述至少一个节点还包括以下至少一种:至少一个共识节点、至少一个其他业务节点以及至少一个中继节点,所述至少一个中继节点中每个中继节点均是由所述管理节点设置的;所述业务类型包括上链业务类型、数据传输业务类型以及区块链数据同步业务类型,每个业务类型对应一个处理节点;所述业务类型与处理节点之间的对应关系,包括:

所述上链业务类型对应的处理节点为所述至少一个共识节点中第一共识节点;所述数据传输业务类型对应的处理节点为所述至少一个中继节点中目标中继节点;所述区块链数据同步业务类型对应的处理节点为所述至少一个共识节点中的第二共识节点;或者,所述区块链数据同步业务类型对应的处理节点为所述至少一个其他业务节点中的目标其他业务节点。

在一个实施例中,所述区块链网络包括见证子网络和共识子网络,所述管理节点和所述至少一个共识节点中每个共识节点均位于所述共识子网络中;所述目标业务节点和所述至少一个其他业务节点中每个其他业务节点均位于所述见证子网络中;所述至少一个中继节点中任意一个中继节点位于所述见证子网络或者共识子网络中。

在一个实施例中,所述处理器801还用于执行:当所述目标业务节点启动时,获取所述管理节点的地址信息;根据所述管理节点的地址信息从所述管理节点处获取所述管理节点为所述目标业务节点配置的路由信息。

在一个实施例中,所述业务类型与处理节点之间的对应关系为至少一组,所述处理节点的数量为至少一个,所述路由信息中还包括至少一个处理节点中每个处理节点的地址信息,所述处理器801还用于:根据所述每个处理节点的地址信息与相应的处理节点进行连接,得到所述目标业务节点与每个处理节点的连接结果;其中,所述目标业务节点与每个处理节点的连接结果用于反映所述目标业务节点与相应处理节点之间的接成功或者连接失败;将所述目标业务节点与所述每个处理节点的连接结果上报至所述管理节点,以使得所述管理节点根据所述目标业务节点与所述每个处理节点的连接结果更新为所述目标业务节点分配的路由信息。

本发明实施例中,区块链网络中新加入一个管理节点,该管理节点可以为目标业务节点配置路由信息,当目标业务节点接收到业务请求时,获取由管理节点为目标业务节点配置的路由信息,该路由信息中包括中至少一组业务类型与处理节点的对应关系;目标业务节点根据业务请求所指示的业务所属的目标业务类型,从路由信息中获取与目标业务类型对应的目标处理节点;进一步的,将业务请求发送至目标处理节点,以使目标处理节点执行所述业务请求所指示的业务。可见,区块链网络中业务节点的路由信息是管理节点分配的,不是自己设置的,管理节点可以管理区块链网络中的所有节点,在为每个业务节点配置路由信息时,会剔除掉无效节点,因此管理节点为每个业务节点分配的路由信息中,不存在无效路由地址,从而可避免业务请求被传输给无效节点,导致业务请求不能被执行或者执行效率低,提高了业务请求的执行效率。

在其他实施例中,所述计算机存储介质可由处理器801加载并执行计算机存储介质中存放的一条或多条计算机程序,以实现上述有关图4所示的区块链网络的信息处理方法的相应步骤。具体实现中,计算机存储介质中的一条或多条计算机程序由处理器801加载并执行如下步骤:

响应于为所述目标业务节点配置路由的触发事件,获取所述区块链网络中其他节点对应的路由配置参考信息,所述其他节点是指所述至少一个节点中除所述管理节点和所述目标业务节点外的节点;根据所述其他节点对应的路由配置参考信息,从所述其他节点中确定与任一业务类型对应的处理节点,所述处理节点用于处理所述任一业务类型所指示的业务,所述任一业务类型为所述目标业务节点所支持的业务类型;基于所述任一业务类型与所述处理节点的对应关系生成所述目标业务节点对应的路由信息。

在一个实施例中,所述其他节点的数量为至少一个,所述路由配置参考信息包括以下任意一种或多种:至少一个其他节点中每个其他节点与所述目标业务节点之间的距离信息、所述每个其他节点的业务处理信息以及所述每个其他节点的业务执行安全性信息;其中,所述每个其他节点的业务处理信息包括相应的其他节点所支持的业务类型,以及业务负载情况中任意一种或多种。

在一个实施例中,所述至少一个其他节点包括至少一个共识节点、至少一个其他业务节点以及至少一个中继节点中任意一种,所述至少一个中继节点是由所述管理节点设置的;所述目标业务节点所支持的业务类型包括上链业务类型、数据传输业务类型以及区块链数据同步业务类型中任意一种或多种。

在一个实施例中,所述目标业务节点所支持的业务类型的数量为至少一个,每个业务类型对应一个处理节点,所述处理节点的数量至少一个,所述处理器801还用于接收所述目标业务节点上报的所述目标业务节点与每个处理节点的连接结果,所述目标业务节点与每个处理节点的连接结果是所述目标业务节点根据每个处理节点的地址信息与相应的处理节点进行连接得到的;所述目标业务节点与每个处理节点的连接结果用于反映所述目标业务节点与相应的处理节点之间的连接成功或者连接失败;根据所述连接结果更新为所述目标业务节点配置的路由信息。

在一个实施例中,所述路由配置参考信息包括每个其他节点与所述目标业务节点之间的距离信息、所述每个其他节点的业务处理信息以及所述安全性信息,所述处理器801在根据所述其他节点对应的路由配置参考信息,从所述其他节点中确定与任一业务类型对应的处理节点时,执行如下步骤:

根据所述目标业务节点所支持的任一业务类型被执行时所需的执行要求,设置与所述任一业务类型对应的距离信息权重值、业务处理信息权重值以及业务执行安全性权重值,所述距离信息权重值、所述业务处理信息权重值以及所述业务执行安全性权重值之和等于1;

将每个其他节点与所述目标业务节点之间的距离信息与所述距离信息权重值进行相乘运算得到每个其他节点的距离得分,将所述每个其他节点的业务处理信息与所述业务处理信息权重值进行相乘运算得到每个其他节点的业务处理得分,以及将所述每个其他节点的业务执行安全性信息与所述业务执行安全性权重值进行相乘运算得到每个其他节点的业务执行安全性得分;

对任一其他节点的距离得分、业务处理得分以及业务执行安全性得分进行相加运算,得到所述任一其他节点作为所述任一业务类型对应的处理节点的参考分;从所述至少一个其他节点中选择参考分最大的其他节点作为所述任一业务类型对应的处理节点。

本发明实施例中,在区块链网络中新加入一个管理节点,响应于为目标业务节点配置路由信息的触发事件,管理节点可以根据区块链网络中除管理节点和目标业务节点外其他节点的路由配置参考信息,为目标业务节点设置路由信息,路由信息中包括至少一组业务类型与处理节点的对应关系;以使得目标业务节点接收到业务请求时,可以根据路由信息将不同业务类型的业务请求发送给对应的处理节点进行处理。管理节点可以管理区块链网络中的所有节点,在为每个业务节点配置路由信息时,会剔除掉无效节点,因此管理节点为每个业务节点分配的路由信息中,不存在无效路由地址,从而可避免业务请求被传输给无效节点,导致业务请求不能被执行或者执行效率低,提高了业务请求的执行效率。

根据本申请的一个方面,本发明实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。处理器801从计算机可读存储介质中读取该计算机程序,处理器801执行该计算机程序,使得节点设备执行图3所述的区块链网络的业务处理方法,具体地:

当所述目标业务节点接收到业务请求时,获取由所述管理节点为所述目标业务节点配置的路由信息,所述路由信息中包括业务类型与处理节点之间的对应关系,所述处理节点用于处理所述业务类型所指示的业务,所述处理节点是所述区块链网络中除所述目标业务节点和所述管理节点外的节点;根据所述业务请求所指示的业务所属的目标业务类型,从所述路由信息中获取与所述目标业务类型对应的目标处理节点;将所述业务请求发送至所述目标处理节点,以使所述目标处理节点执行所述业务请求所指示的业务。

在其他实施例中,处理器801从计算机可读存储介质中读取该计算机程序,处理器801执行该计算机程序,使得节点设备执行图4所述的区块链网络的信息处理方法,具体地:

响应于为所述目标业务节点配置路由的触发事件,获取所述区块链网络中其他节点对应的路由配置参考信息,所述其他节点是指所述至少一个节点中除所述管理节点和所述目标业务节点外的节点;根据所述其他节点对应的路由配置参考信息为所述目标业务节点配置路由信息,所述路由信息中包括至少一组业务类型与处理节点的对应关系,任一业务类型对应的处理节点用于处理所述任一业务类型所指示的业务,所述处理节点是所述其他节点包括的节点。响应于为所述目标业务节点配置路由的触发事件,获取所述区块链网络中其他节点对应的路由配置参考信息,所述其他节点是指所述至少一个节点中除所述管理节点和所述目标业务节点外的节点;根据所述其他节点对应的路由配置参考信息,从所述其他节点中确定与任一业务类型对应的处理节点,所述处理节点用于处理所述任一业务类型所指示的业务,所述任一业务类型为所述目标业务节点所支持的业务类型;基于所述任一业务类型与所述处理节点的对应关系生成所述目标业务节点对应的路由信息。

相关技术
  • 区块链网络的业务处理方法、信息处理方法及节点设备
  • 用于区块链网络的信息处理方法、区块链节点设备及介质
技术分类

06120112195669