CN112417001B - 基于区块链网络的数据处理方法及相关设备 - Google Patents
基于区块链网络的数据处理方法及相关设备 Download PDFInfo
- Publication number
- CN112417001B CN112417001B CN202011305551.0A CN202011305551A CN112417001B CN 112417001 B CN112417001 B CN 112417001B CN 202011305551 A CN202011305551 A CN 202011305551A CN 112417001 B CN112417001 B CN 112417001B
- Authority
- CN
- China
- Prior art keywords
- target
- block
- network
- consensus
- content distribution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种基于区块链网络的数据处理方法、装置、电子设备及存储介质,其中方法包括:接收目标业务节点发送的针对目标区块的数据获取请求,该数据获取请求包括目标区块对应的区块标识信息。进一步地,可获取内容分发策略,并依照内容分发策略和区块标识信息确定目标设备和请求数据,并从目标设备获取请求数据,进而根据请求数据向目标业务节点返所述目标区块。其中,目标设备包括内容分发网络设备和/或共识网络中的目标共识节点,该请求数据包括目标区块或目标区块中的部分区块。采用这样的方式,可以通过引入内容分发网络设备,提高业务节点对共识网络中目标区块的获取效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于区块链网络的数据处理方法、一种基于区块链网络的数据处理装置、一种电子设备及一种计算机存储介质。
背景技术
随着科技时代的到来和移动互联网的发展,网络变革的步伐也愈来愈快,实现同一领域或多个领域的信息融合,为客户提供全方位信息化方案的过程亦面临着体系结构的改进、支撑重心转移等新的挑战。因此,区块链技术作为分布式账本的一种特定实现,凭借其存储和管理数据的天然优势,逐渐成为各个领域存储数据和交易数据的首选方式。区块链网络是一种分布式系统,由多个节点形成,节点之间形成点对点(P2P,Peer To Peer)网络。
目前,区块链产品的P2P方案均为单层、统一的P2P,即节点对等,处于同一个网络中。但当区块链产品被用于诸如政府或者商业机构的一些应用场景中时,并非所有的区块链参与节点都有足够的资源和必要性成为参与区块链共识的节点;而出于对数据的安全性考虑,在区块链体系中涉及个人隐私或者国家安全的相关数据时,也不宜采用普遍的数据对等式的区块链部署方式。可见,单层(即节点对等)的P2P方案并不适用于上述多种应用场景。另外,对于采用节点对等的P2P方案的区块链网络,节点通常是采用P2P路由表轮询机制,随机向其他节点获取其想要的数据,但这个过程通常需要消耗较长的时间,严重影响数据获取的效率。
发明内容
本申请实施例提供了一种基于区块链网络的数据处理方法、装置、电子设备及存储介质,可通过引入内容分发网络设备,提高业务节点对共识网络中目标区块的获取效率。
一方面,本申请实施例提供了一种基于区块链网络的数据处理方法,区块链网络包括见证网络和共识网络,见证网络由多个业务节点组网构成,共识网络由多个共识节点组网构成,见证网络和共识网络通过路由代理网络进行数据交互,路由代理网络中部署有内容分发网络设备,该方法包括:
接收目标业务节点发送的针对目标区块的数据获取请求,该数据获取请求包括目标区块对应的区块标识信息;
获取内容分发策略,并依照内容分发策略和区块标识信息确定目标设备和请求数据,目标设备包括内容分发网络设备和/或共识网络中的目标共识节点,请求数据包括目标区块或目标区块中的部分区块;
从目标设备获取请求数据,并根据请求数据向目标业务节点返回目标区块。
另一方面,本申请实施例提供了一种基于区块链网络的数据处理装置,区块链网络包括见证网络和共识网络,见证网络由多个业务节点组网构成,共识网络由多个共识节点组网构成,见证网络和共识网络通过路由代理网络进行数据交互,路由代理网络中部署有内容分发网络设备,该基于区块链网络的数据处理装置包括:
通信单元,用于接收目标业务节点发送的针对目标区块的数据获取请求,数据获取请求包括目标区块对应的区块标识信息;
处理单元,用于获取内容分发策略,并依照内容分发策略和区块标识信息确定目标设备和请求数据,目标设备包括内容分发网络设备和/或共识网络中的目标共识节点,请求数据包括目标区块或目标区块中的部分区块;
所述通信单元,还用于从目标设备获取请求数据,并根据请求数据向目标业务节点返回目标区块。
相应地,本申请实施例还提供了一种电子设备,该电子设备可以为上述共识网络中的任一共识节点,该电子设备包括处理器和存储装置;存储装置,用于存储程序指令;处理器,用于调用程序指令并执行上述的基于区块链网络的数据处理方法。
相应地,本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述的基于区块链网络的数据处理方法。
相应地,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述提供的基于区块链网络的数据处理方法。
本申请实施例中,电子设备可接收目标业务节点发送的针对目标区块的数据获取请求,该数据获取请求包括目标区块对应的区块标识信息。进一步地,可获取内容分发策略,并依照内容分发策略和区块标识信息确定目标设备和请求数据,并从目标设备获取请求数据,进而根据请求数据向目标业务节点返所述目标区块。其中,目标设备包括内容分发网络设备和/或共识网络中的目标共识节点,该请求数据包括目标区块或目标区块中的部分区块。采用这样的方式,可以通过引入内容分发网络设备,提高业务节点对共识网络中目标区块的获取效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种分布式系统的架构示意图;
图2是本申请实施例提供的一种区块的结构示意图;
图3示出了Hyperledger Fabric的交易流程;
图4是本申请实施例提供的一种分层区块链网络的网络架构图;
图5是本申请实施例提供的一种分层区块链网络应用于电子发票业务应用场景中的具体网络架构;
图6是本申请实施例提供的一种基于区块链网络的数据处理方案的示意流程图;
图7是本申请实施例提供的一种获取目标区块的场景示意图;
图8是本申请实施例提供的一种基于区块链网络的数据处理方法的示意流程图;
图9是本申请实施例提供的另一种基于区块链网络的数据处理方法的示意流程图;
图10是本申请实施例提供的一种基于区块链网络的数据处理装置的结构示意图;
图11是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着科技时代的到来和移动互联网的发展,网络变革的步伐也愈来愈快,实现同一领域或多个领域的信息融合,为客户提供全方位信息化方案的过程亦面临着体系结构的改进、支撑重心转移等新的挑战。因此,区块链技术作为分布式账本的一种特定实现,凭借其存储和管理数据的天然优势,逐渐成为各个领域存储数据和交易数据的首选方式。
区块链网络是一种分布式系统,分布式系统可以由多个节点通过网络通信的形式连接形成。参见图1,是本申请实施例提供的分布式系统应用于区块链网络的一个可选的架构示意图。区块链网络由多个节点形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在区块链网络中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1示出的区块链网络中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链网络中节点提交的记录数据,例如交易数据等。
参见图2,是本申请实施例提供的区块结构(Block Structure)的一个可选的示意图,每个区块中包括本区块存储数据记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链(Blockchain)。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
3)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链网络中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
3.1)钱包,用于提供进行虚拟资源的交易的功能,包括发起交易,即将当前交易的交易记录发送给区块链网络中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中。当然,钱包还支持查询电子货币地址中剩余的电子货币。
3.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链网络中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
3.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的虚拟资源转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
4)共识,用于解决并保证每一笔交易或者数据在所有记账节点上的一致性和正确性问题。区块链的共识机制就是确定达成某种共识和维护共识的方式。区块链的共识机制使其在不依靠中心化组织的情况下,依然大规模高效协作完成运转。
如图1所示,区块链网络中的节点包括共识节点(即运行区块链共识协议的记账节点)和其他类型的节点。共识节点是区块链网络中具备出块功能以及共识功能的节点,可以是区块链网络中存储完整区块链的全节点。区块链网络中的共识节点可分为主节点和从节点,所谓的主节点是指当前阶段负责出块(即生成区块)的共识节点,所谓的从节点是指区块链网络中除主节点以外的共识节点。当前阶段可以是指当前区块高度。共识节点和其他类型的节点可以是终端或者服务器等计算机设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基于云计算服务的云服务器。终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。节点之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
目前,区块链产品的P2P方案均为单层、统一的P2P,即节点对等,处于同一个网络中(如图1所示)。下面对几种应用场景中的P2P方案进行介绍。
1、比特币,以太坊等公有链的区块链技术中的P2P方案
比特币网络中的节点主要有四大功能:钱包、挖矿、区块链数据库、网络路由。每个节点都会有路由的功能,但是其他功能并不一定全部具备,一般之后比特币核心节点才会全部包含四种功能。包含所有功能的节点也叫全节点。除了比特币核心钱包是全节点外,其他大部分都是轻节点(SPV节点)。用户可以通过这些轻节点钱包查看自己的账户余额、管理钱包地址和私钥、发起交易等。还有一种节点是挖矿节点,如果该节点存储着区块的所有数据,那他也是全节点,一般都是独立矿工。
有一种挖矿节点不是独立挖矿的,会和其他节点一起连接形成矿池,进行集体挖矿,这种叫集体矿工。这也会形成一个矿池网络,这是一种有中心化的网络,中心节点是矿池服务器,其他挖矿矿工和中心节点相连,挖矿矿工和挖矿服务器之间的通信不是采用比特币协议,而是自己的矿池协议,主流的矿池协议是Stratum协议。另外,矿工创建新的区块后,还需要广播给全网所有节点,全网接受区块后,给矿工的奖励才是有效的,才会再开始进行下一个区块的Hash(哈希)计算。所以矿工必须最大限度的缩短新区快的广播和下一块区块计算的时间。所以需要一个专门广播的网络用来加快区块的传播,这个传播网络也叫比特币中继网络(Bitcoin Relay NetWork)。
在比特币网络中,一个节点可以将自己维护的对等节点列表(peer list)发送给临近节点。所以在初始节点发现之后,需要从临近节点复制一份节点列表。和比特币一样,以太坊也具备钱包、挖矿、区块链数据库、区块路由四大功能,也存在不同类型的节点,与比特币P2P网络结构最大的不同,以太坊的P2P是有结构的。其网络采用Kademlia(Kad)算法实现,使用该算法可以快速而又准确的路由、定位数据的问题。
Kad的路由表是通过称为K桶的数据构造而成,K桶记录了节点NodeId,distance,endpoint,ip等信息。K桶按照与target节点距离进行排序,共256个K桶,每个K桶包含16个节点。Kad网络中节点间通信基于UDP(用户数据报协议),主要由以下几个命令构成,若两个节点间PING-PONG握手通过,则认为相应节点在线。ping命令:探测一个节点,判断其是否在线。PONG:ping的响应。FIND_NODE:向节点查询某个与目标节点ID距离接近的节点。NEIGHBORS:FIND_NODE命令响应,发送与目标节点ID距离接近的K桶中的节点。
邻居节点的发现流程说明:
系统第一次启动随机生成本机节点NodeId,记为LocalId,生成后将固定不变,本地节点记为local-eth。系统读取公共节点信息,PING-PONG握手完成后,将其写入K桶。系统每隔7200ms刷新一次K桶。
刷新K桶的流程如下:
a、随机生成目标节点Id,记为TargetId,从1开始记录发现次数和刷新时间。b、计算TargetId与LocalId的距离,记为Dlt。c、K桶中节点的NodeId记为KadId,计算KadId与TargetId的距离,记为Dkt。d、找出K桶中Dlt大于Dkt的节点,记为k桶节点,向k桶节点发送FIND_NODE命令,FIND_NODE命令包含TargetId。e、K桶节点收到FIND_NODE命令后,同样执行步骤b-d的过程,将从K桶中找到的节点使用NEIGHBORS命令发回给本机节点。f、本机节点收到NEIGHBORS命令后,将收到的节点写入到K桶中。g、若搜索次数不超过预设次数(如8),刷新时间不超过预设时长(如600ms),则返回到步骤b循环执行。
2、Fabric,Terdermint等联盟链的P2P方案
Fabric的P2P网络是基于Gossip协议的数据封法网络,Gossip过程是由种子节点发起,当一个种子节点有状态需要更新到网络中的其他节点时,它会随机的选择周围几个节点散播消息,收到消息的节点也会重复该过程,直至最终网络中所有的节点都收到了消息。这个过程可能需要一定的时间,由于不能保证某个时刻所有节点都收到消息,但是理论上最终所有节点都会收到消息,因此它是一个最终一致性协议。
Gossip协议的类型
传播协议/谣言协议(Dissemination Protocol/Rumor-Mongering Protocol):通过网络中的泛洪代理来工作,节点收到广播的数据后直接转发给所有的邻居节点。此方式可以提高网络的健壮性,但是容易造成广播风暴。
反熵协议(Anti-Entropy Protocol):用于修复复制数据,通过比较复制和协调差异进行操作。Hyperledger Fabric中的数据同步就是使用此方式实现的。
计算聚合的协议:对网络中节点的信息进行采样,并将这些值组合起来得到系统范围内的值,从而计算出网络范围内的集合;之后将建立一种全面的信息流模式。
Gossip数据分发协议的两种数据传输方式
(1)、推送方式(Push-based)
网络中的某个节点随机选择N个节点作为数据接收对象,该节点向其选中的N个节点传输相应的信息;接收到信息的节点处理所接收的数据,接收到数据的节点再从第一步开始重复执行。
(2)、拉取方式(Pull-based)
某个节点周期性地随机选择N个节点询问有没有最新的信息,收到请求的节点回复请求节点其最近未收到的信息。
在Hyperledger Fabric的交易流程中,Peer节点作为参与交易的主体,主要负责存储完整的区块链数据、执行智能合约,Peer节点之间可以通过Gossip协议来完成区块分发、状态同步等问题。
在每个Peer节点上都维护了其它Peer节点的信息,通过随机的与其它Peer节点通信来交换信息,达到最终一致性。主要过程为通过GossipClient客户端的Gossip Stream双向流进行通信,发送Signed Gossip Message消息结构。Peer节点组成了一个P2P的网络,客户端会提交请求给Peer节点,Peer节点处理后会提交交易提案(Transaction Proposal)给背书节点(Endorser),然后进行背书签名(Endorsement),最后经过排序服务达成共识后广播给Peer节点,如图3所示。Gossip负责连接排序服务和Peer节点上,实现从单个源节点到所有节点高效的数据分发,在后台实现不同节点间的状态同步,并且可以处理拜占庭问题、动态的节点增加和网络分区。
Gossip缺陷
消息的延迟,由于Gossip协议中,节点只会随机向少数几个节点发送消息,消息最终是通过多个轮次的散播而到达全网的,因此使用Gossip协议会造成不可避免的消息延迟。不适合用在对实时性要求较高的场景。
消息冗余,Gossip协议规定,节点会定期随机选择周围节点发送消息,而收到消息的节点也会重复该步骤,因此就不可避免的存在消息重复发送给同一节点的情况,造成了消息的冗余,同时也增加了收到消息的节点的处理压力。而且,由于是定期发送,因此,即使收到了消息的节点还会反复收到重复消息,加重了消息的冗余。
以上介绍的相关区块链产品的P2P方案均为单层,统一的P2P,即节点对等,处于同一个网络中。但当区块链产品被用于诸如政府或者商业机构的一些应用场景中时,并非所有的区块链参与节点都有足够的资源和必要性成为参与区块链共识的节点;而出于对数据的安全性考虑,在区块链体系中涉及个人隐私或者国家安全的相关数据时,也不宜采用普遍的数据对等式的区块链部署方式。可见,单层(即节点对等)的P2P方案并不适用于上述多种应用场景。另外,对于采用节点对等的P2P方案的区块链网络,节点通常是采用P2P路由表轮询机制,随机向其他节点获取其想要的数据,但这个过程通常需要消耗较长的时间,严重影响数据获取的效率。
基于此,本申请实施例提出了一种区块链网络,并基于该区块链网络提出了一种数据处理方案。参见图4,本申请实施例所提出的区块链网络包括见证网络和共识网络,见证网络和共识网络通过路由代理网络中的路由设备进行数据交互,该路由代理网络中预先部署有路由设备和内容分发网络设备。其中,见证网络由多个业务节点组网构成,共识网络由多个共识节点组网构成,共识节点参与记账共识,业务节点为轻节点,主要用于业务执行,并不参与记账共识,业务节点1可以通过身份认证的方式从共识网络中获取相应数据(该数据包括公共数据(如区块头),或者业务节点的个人数据(如部分授权可见的交易数据))。
可以理解的是,本申请实施例提出的区块链网络可以视为一个分层区块链网络,包括两个单层的区块链网络:见证网络和共识网络。见证网络中的业务节点和共识网络中的共识节点,可以分别指代见证网络和共识网络中用于进行数据处理的基础设备,其可以包括但不限于:智能终端、平板电脑、台式计算机、服务器等等电子设备。
其中,见证网络和共识网络处于不同的网络安全环境中。在一个实施例中,见证网络处于公共网络中,共识网络处于私有网络中,由于共识网络处于相对安全的私有网络中,共识网络中共识节点之间的互相访问本就有共识机制保证安全,不需要额外加入身份管理和网络控制。而业务节点处于公共网络中,可能会被其他不确定的网络终端访问,为了提高共识网络中数据的安全性,业务节点以及其他可能的节点接入共识网络中的行为需要被严格控制(例如身份认证通过后方可接入)。
如图5所示,示出了分层区块链网络应用于电子发票业务应用场景中的具体网络架构。业务层处于见证网络中,会向核心共识网络层提交业务操作交互。业务层,路由代理层,核心共识网络层组成了完整的区块链业务体系。其中,路由代理层起到对业务层和核心共识网络层的隔离作用,路由代理层处于路由代理网络中,路由设备和内容分发网络设备可以是图5中所示的代理节点,或者是设置于图5中所示的代理节点中。
在一个实施例,适用于上述图4所示的区块链网络,本申请实施例所提出的基于区块链网络的数据处理方案可由共识网络中的任一共识节点执行。参见图6,该基于区块链网络的数据处理方案的实现流程可以包括以下步骤:
S60:从共识网络包括的多个共识节点中选取内容分发管理节点,该内容分发管理节点用于向路由代理网络中的内容分发网络设备推送最新区块(例如最新的5000个区块)。
具体实现中,共识网络中的各共识节点可以在共识过程中推选出一个内容分发管理节点,该内容分发管理节点负责向路由代理网络中的内容分发网络设备推送最新区块。随着共识网络中共识成员的不断变化,如果检测到预先推选出的内容分发管理节点掉线,则可以重新共识推选出新的内容分发管理节点,新的内容分发管理节点后续可以继续负责向路由代理网络中的内容分发网络设备推送最新区块。
S61:当见证网络中的目标业务节点(即为见证网络中的任一业务节点)需要从共识网络中获取目标区块时,可以向共识网络中的共识节点发送针对目标区块的数据获取请求,该数据获取请求包括目标区块对应的区块标识信息。其中,该区块标识信息可以为目标区块所涉及的区块高度,例如目标区块包括区块高度分别为1-5000的5000个区块,那么,目标区块对应的区块标识信息则为区块高度1、区块高度2、…、区块高度5000。
S62:获取内容分发策略,并依照内容分发策略和区块标识信息确定目标设备和请求数据。该目标设备包括上述内容分发网络设备和/或共识网络中的目标共识节点,该请求数据包括目标区块或目标区块中的部分区块。
S63:从目标设备获取请求数据。
S64:根据请求数据向目标业务节点返回目标区块。
在一个实施例中,可以依照内容分发策略和当前共识网络对应区块链的最新区块高度M划分第一高度范围、混合高度范围和第二高度范围,其中,第一高度范围可以为[M-N,M],混合高度范围可以为(P,M-N),第二高度范围可以为[1,P],其中,M为大于N的整数,N为大于0的整数,P为小于(M-N)的整数。
可以理解的是,在区块链结构中,一个区块的生成时间距离当前时间越近,那么该区块的区块高度则越高,例如,区块链中创世区块的区块高度为0,创世区块后生成的第一个区块的区块高度为1,依次类推。那么,在本申请实施例中,区块高度属于第一高度范围的区块,可以理解为最新的一些区块(即为热点数据);区块高度属于第二高度范围的区块,可以理解为最为老旧的一些区块(即为老数据);区块高度属于混合高度范围的区块,可以理解为新旧程度较为居中的一些区块。
进一步地,参见图7所示,当共识节点基于区块标识信息确定目标区块涉及的区块高度范围属于第一高度范围,则将内容分发网络设备确定为目标设备,将目标区块确定为请求数据,进而从内容分发网络设备获取目标区块。这种情况下,由于目标区块涉及的区块高度范围属于第一高度范围,那么该目标区块可以视为一种热点数据,共识节点可以直接通过内容分发网络设备获取目标区块,而无需采用传统P2P的方式缓慢地从共识网络中获取,有利于提高目标业务节点针对热点数据的获取速度,优先保障重要业务节点和核心节点的运行性能。
当共识节点基于区块标识信息确定目标区块涉及的区块高度范围属于第二高度范围,则将共识网络中的目标共识节点确定为目标设备,将目标区块确定为请求数据,进而从目标共识节点获取目标区块。这种情况下,由于目标区块涉及的区块高度范围属于第二高度范围,那么该目标区块可以视为一种老数据,由于老数据对于业务节点的运行性能相对影响较小,共识节点可以充分利用区块链原生的P2P能力,通过传统的P2P方式向共识网络中的目标共识节点获取目标区块,从而节约成本。
当共识节点基于区块标识信息确定目标区块涉及的区块高度范围属于混合高度范围(P,M-N),则可以将目标区块中区块高度属于[L,M-N)的部分区块确定为从内容分发网络设备获取的第一请求数据,将目标区块中区块高度属于(P,L)的部分区块确定为从目标共识节点获取的第二请求数据,进而从内容分发网络设备获取第一请求数据,从目标共识节点获取第二请求数据。这种情况下,对于属于混合高度范围的目标区块,可以通过内容分发网络设备获取目标区块中较新的部分区块,通过传统P2P方式从共识网络中获取目标区块中较旧的部分区块。其中,L为大于P且小于(M-N)的整数。
通过上述内容可知,本申请实施例通过引入内容分发网络设备可以有效加速热点数据的获取,优先保障重要业务节点和核心节点的运行性能。同时,对于长尾数据,老数据也可以充分利用区块链原生的P2P能力,在保证业务节点运行性能的情况下,节约成本。
请参见图8,是本申请实施例提供的一种基于区块链网络的数据处理方法的流程示意图。该区块链网络包括见证网络和共识网络,见证网络由多个业务节点组网构成,共识网络由多个共识节点组网构成,见证网络和共识网络通过路由代理网络进行数据交互,路由代理网络中部署有内容分发网络设备,该数据处理方法可以由上述所提及的共识网络中的任一共识节点执行,请参见图8,该基于区块链网络的数据处理方法可包括以下步骤S801-S803:
S801:接收目标业务节点发送的针对目标区块的数据获取请求,该数据获取请求包括目标区块对应的区块标识信息。其中,目标业务节点为见证网络中多个业务节点中的任一个。
在一个实施例中,当见证网络中的目标业务节点需要从共识网络中获取目标区块时,可以向共识网络中的共识节点发送针对目标区块的数据获取请求,该数据获取请求包括目标区块对应的区块标识信息。其中,该区块标识信息可以为目标区块所涉及的区块高度或者区块编号,例如,假设区块标识信息为目标区块所涉及的区块高度,目标区块包括区块高度分别为1-5000的5000个区块,那么,目标区块对应的区块标识信息则为区块高度1、区块高度2、…、区块高度5000。
示例性地,目标业务节点在最初建立或者恢复时,可以向共识网络中的共识节点发送针对目标区块的数据获取请求,从而根据获取到的目标区块开始提供相关业务。
S802:获取内容分发策略,并依照内容分发策略和区块标识信息确定目标设备和请求数据,该目标设备包括内容分发网络设备和/或共识网络中的目标共识节点,请求数据包括目标区块或目标区块中的部分区块。
其中,内容分发网络设备预先存储有共识网络对应的更新区块集,更新区块集中的任一更新区块为:共识网络中的内容分发管理节点检测到共识网络对应区块链的区块高度更新时向内容分发网络设备发送的最新区块。该内容分发管理节点为预先通过共识过程推选出的一个共识节点,主要用于负责向内容分发网络推送最新区块数据。
S803:从目标设备获取请求数据,并根据请求数据向目标业务节点返回目标区块。
其中,上述请求数据包括目标区块或目标区块中的部分区块。在一个实施例中,目标设备包括内容分发网络设备和目标业务节点中的任一个,请求数据为目标区块,那么节点设备从目标设备获取到请求数据后,可以直接向目标业务节点返回目标区块。或者,在另一个实施例中,目标设备包括内容分发网络设备和目标业务节点,请求数据包括从内容分发网络设备获取的第一请求数据和从目标共识节点获取的第二请求数据,那么节点设备获取到第一请求数据和第二请求数据之后,可以对第一请求数据和第二请求数据进行整合,得到目标区块,并向目标业务节点返回目标区块。
在一个实施例中,共识节点向目标业务节点返回目标区块之前,还可以对目标区块进行校验,若校验通过,则触发执行向目标业务节点返回目标区块的步骤。其中,该校验主要指针对目标区块的完整性校验,例如目标区块包括区块高度为5000-10000的区块,那么,共识节点可以对目标区块进行完整性校验,确定获取到的目标区块是否连续,是否完整的包括区块高度5000-10000的所有区块,若是,则确定对目标区块校验通过。
具体地,结合区块结构的特征,每个区块中包括本区块存储数据记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,那么在进行完整性校验时,可以依照区块高度从小到大的顺序,依次校验目标区块中各个区块包括的哈希值,是否与前一个区块的哈希值相同,若均相同则确定对目标区块的完整性校验通过。反之,若校验得到目标区块中的任一个区块包括的哈希值与前一个区块的哈希值不相同,则确定对目标区块的完整性校验不通过,并确定该任一个区块的前一个区块存在缺失,可以重新获取缺失的区块。
本申请实施例中,共识节点可接收目标业务节点发送的针对目标区块的数据获取请求,该数据获取请求包括目标区块对应的区块标识信息。进一步地,可获取内容分发策略,并依照内容分发策略和区块标识信息确定目标设备和请求数据,并从目标设备获取请求数据,进而根据请求数据向目标业务节点返所述目标区块。其中,目标设备包括内容分发网络设备和/或共识网络中的目标共识节点,该请求数据包括目标区块或目标区块中的部分区块。采用这样的方式,可以通过引入内容分发网络设备,提高业务节点对共识网络中目标区块的获取效率。
请参见图9,是本申请实施例提供的另一种基于区块链网络的数据处理方法的流程示意图。该区块链网络包括见证网络和共识网络,见证网络由多个业务节点组网构成,共识网络由多个共识节点组网构成,见证网络和共识网络通过路由代理网络进行数据交互,路由代理网络中部署有内容分发网络设备,该数据处理方法可以由上述所提及的共识网络中的任一共识节点执行,请参见图9,该基于区块链网络的数据处理方法可包括以下步骤S901-S905:
S901:通过共识网络中的多个共识节点进行与内容分发关联的共识处理。
S902:依照共识处理结果,从多个共识节点中选取内容分发管理节点,该内容分发管理节点用于向内容分发网络设备发送最新区块。
在一个实施例中,共识节点可以通过共识网络中的多个共识节点进行与内容分发关联的共识处理,并依照共识处理结果,从多个共识节点中选取内容分发管理节点,该内容分发管理节点用于向内容分发网络设备发送最新区块,其中,内容分发管理节点为共识网络包括的多个共识节点中的任一个。进一步地,内容分发网络设备可以存储内容分发管理节点发送的上述最新区块,得到更新区块集。
示例性地,假设共识网络中包括:共识节点1、共识节点2、共识节点3和共识节点4,共识网络中各共识节点可以通过共识推选出一个共识节点作为内容分发管理节点。在共识过程中,可以依照少数服从多数的原则确定内容分发管理节点,例如共识处理结果指示:共识节点1、共识节点2和共识节点3通过共识均同意选取共识节点4为内容分发管理节点,则可以将共识节点4确定为内容分发管理节点。
可以理解的是,随着共识网络中共识成员的不断变化,如果检测到预先推选出的内容分发管理节点掉线,则可以重新共识推选出新的内容分发管理节点。上述确定出的内容分发管理节点,用于向内容分发网络设备发送最新区块。
其中,内容分发管理节点向内容分发网络设备发送最新区块的发送方式可以为实时发送或者周期性发送。具体地,若发送方式为实时方式,那么内容分发管理节点在检测到共识网络对应区块链的区块高度更新时,可以向内容分发网络设备发送最新区块,此时的最新区块指本次区块高度更新对应的那一个新区块。或者,若发送方式为周期性方式,该周期性方式可以为每更新K(K为大于0的整数,例如5000)个区块发送一次,那么内容分发管理节点在检测到共识网络对应区块链的区块高度每新增K时,向内容分发网络设备发送最新的K个区块(即最新区块)。
在一个实施例中,当目标设备包括内容分发网络设备时,上述请求数据包括:内容分发网络设备预先存储的共识网络对应的更新区块集中的更新区块,该更新区块集中的任一更新区块为:共识网络中的内容分发管理节点检测到共识网络对应区块链的区块高度更新时,向内容分发网络设备发送的最新区块;该内容分发管理节点为多个共识节点中的任一个。
S903:接收目标业务节点发送的针对目标区块的数据获取请求,该数据获取请求包括目标区块对应的区块标识信息。其中,目标业务节点为见证网络中多个业务节点中的任一个。其中,步骤S903的具体实施方式,可以参见上述实施例中步骤S801的相关描述,此处不再赘述。
S904:获取内容分发策略,并依照内容分发策略和区块标识信息确定目标设备和请求数据,该目标设备包括内容分发网络设备和/或共识网络中的目标共识节点,请求数据包括目标区块或目标区块中的部分区块。
其中,区块标识信息可以为目标区块所涉及的区块高度,例如,假设区块标识信息为目标区块所涉及的区块高度,目标区块包括区块高度分别为1-5000的5000个区块,那么,目标区块对应的区块标识信息则为区块高度1、区块高度2、…、区块高度5000。在一个实施例中,依照内容分发策略和区块标识信息确定目标设备和请求数据的具体实施方式可以为:获取共识网络对应区块链的最新区块高度M,若基于区块标识信息确定目标区块涉及的区块高度范围属于第一高度范围,则将内容分发网络设备确定为目标设备,将目标区块确定为请求数据;其中,第一高度范围为[M-N,M]。
或者,在另一个实施例中,若基于区块标识信息确定目标区块涉及的区块高度范围属于第二高度范围,则将共识网络中的目标共识节点确定为目标设备,将目标区块确定为请求数据;第二高度范围为[1,P],P为小于(M-N)的整数。其中,上述N和P的具体数值是基于实验数据预先测算,例如N可以为5000,P可以为10000。
示例性地,假设N为5000,P为50000,当前的区块高度为100000,数据获取请求用于请求的目标区块为:当前最新的5000个区块,那么这种情况下,共识节点可以基于目标区块对应的区块标识信息确定目标区块涉及的区块高度范围为[95000,100000],[95000,100000]属于第一高度范围,则可以将内容分发网络设备确定为目标设备,并从内容分发网络设备获取当前最新的5000个区块。
仍然承接上述例子,假设数据获取请求用于请求的目标区块为:区块高度为1-40000的40000个区块(可以视为相对老旧的一些区块),那么这种情况下,共识节点可以基于目标区块对应的区块标识信息确定目标区块涉及的区块高度范围为[1,40000],[1,40000]属于第二高度范围[1,50000],则可以将共识网络中的目标共识节点确定为目标设备,并依照传统的P2P方式从目标共识节点获取区块高度为1-40000的40000个区块。
又或者,在又一个实施例中,目标设备包括内容分发网络设备和共识网络中的目标共识节点,请求数据包括从内容分发网络设备获取的第一请求数据和从目标共识节点获取的第二请求数据,若共识节点基于区块标识信息确定目标区块涉及的区块高度范围属于混合高度范围,则可以将内容分发网络设备和目标共识节点确定为目标设备;该混合高度范围可以为(P,M-N)。进一步地,可以将目标区块中区块高度属于[L,M-N)的部分区块确定为第一请求数据;将目标区块中区块高度属于(P,L)的部分区块确定为第二请求数据。
示例性地,假设N为5000,P为50000,L为75000,当前的区块高度为100000,数据获取请求用于请求的目标区块为:区块高度为60000-80000的20000个区块那么这种情况下,共识节点可以基于目标区块对应的区块标识信息确定目标区块涉及的区块高度范围为[60000,80000],[60000,80000]属于混合高度范围[50000,95000],则可以将目标区块中区块高度属于[75000,95000)的部分区块(即区块高度为75000-80000的5000个区块)确定为第一请求数据,将目标区块中区块高度属于(50000,75000))的部分区块(即区块高度为60000-75000的15000个区块)确定为第二请求数据,进而从内容分发网络设备获取第一请求数据,依照传统的P2P方式从目标共识节点获取第二请求数据。
从上述内容可知,对于处于混合高度范围的区块,部分区块(例如上述第一请求数据)需从内容分发网络设备获取,部分区块(例如上述第二请求数据)需采用传统的P2P方式从目标共识节点中获取。那么,以上述第一请求数据和第二请求数据为例,两者分别请求的区块数量是由L的具体数值决定,具体地,L的数字越大,则表征从内容分发网络设备中获取的区块数量越少,依照传统的P2P方式从目标共识节点获取的区块数量越多;反之,L的数值越小,则表征从内容分发网络设备中获取的区块数量越多,依照传统的P2P方式从目标共识节点获取的区块数量越少。
其中,上述L的大小是基于目标参数信息确定的,该目标参数信息包括以下至少一种:与目标业务节点之间的网络信息,以及内容分发网络设备的负载信息。具体实现中,作为一种可行的实施方式,假设目标参数信息包括内容分发网络设备的负载信息,该负载信息表征内容分发网络设备的负载大小。这种情况下,可以依照内容分发网络设备的负载越大,L的数值越大的原则确定L的大小。采用这样的方式,可以在内容分发网络设备的负载增大时,减小从内容分发网络设备中获取的区块数量,增大依照传统的P2P方式从目标共识节点获取的区块数量。
或者,作为另一种可行的实施方式,假设目标参数信息包括内与目标业务节点之间的网络信息,该网络信息表征了目标业务节点到共识节点的网络速度。这种情况下,可以依照网速越大,L的数值越大的原则确定L的大小。采用这样的方式,可以在目标业务节点到共识节点的网络速度增大时,增大依照传统的P2P方式从目标共识节点获取的区块数量,减小从内容分发网络设备中获取的区块数量。
又或者,作为又一种可行的实施方式,上述目标参数信息包括与目标业务节点之间的网络信息和内容分发网络设备的负载信息,该负载信息表征了内容分发网络设备的负载大小,该网络信息表征了目标业务节点到共识节点的网络速度。可以依照内容分发网络设备的负载确定第一加权分数,依照目标业务节点到共识节点的网络速度确定第二加权分数,并依照第一加权分数和第二加权分数的和值确定L的数值。其中,在一个实施例中,可以依照内容分发网络设备的负载越大,第一加权分数越大的原则确定第一加权分数的大小;依照网速越快,第二加权分数越大的原则确定第二加权分数的大小。
示例性地,依照第一加权分数和第二加权分数的和值确定L的数值的具体方式可以为:第一加权分数和第二加权分数的和值与阈值L0相乘,将相乘的结果确定为L。其中,阈值L0可以为混合高度范围的范围。
在一个实施例中,若共识节点基于区块标识信息确定目标区块涉及的区块高度范围属于第一高度范围、第二高度范围和混合高度范围中的多个。那么,可以从内容分发网络中获取目标区块中属于第一高度范围的部分区块,从目标共识节点中获取目标区块中属于第二高度范围的部分区块,从内容分发网络和/或目标共识节点中获取属于缓和高度范围的部分区块。
在一个实施例中,假设目标区块涉及的区块高度范围属于第一高度范围和混合高度范围,那么这种情况下,可以将内容分发网络设备和/或目标节点设备确定为目标设备,首先从内容分发网络中获取目标区块中属于第一高度范围的第一部分区块;然后从内容分发网络设备和/或目标节点设备中获取目标区块中属于混合高度范围的第二部分区块(其获取方式,可以参照上述对第一请求数据和第二请求数据的获取方式,此处不再赘述);进一步地,可以将获取到的第一部分区块和第二部分区块进行整合,得到目标区块。
或者,假设目标区块涉及的区块高度范围属于第二高度范围和混合高度范围,那么这种情况下,可以将内容分发网络设备和/或目标节点设备确定为目标设备,首先依照传统P2P方式从目标共识节点中获取目标区块中属于第二高度范围的第三部分区块;然后从内容分发网络设备和/或目标节点设备中获取目标区块中属于混合高度范围的第四部分区块(其获取方式,可以参照上述对第一请求数据和第二请求数据的获取方式,此处不再赘述);进一步地,可以将获取到的第三部分区块和第四部分区块进行整合,得到目标区块。
又或者,假设目标区块涉及的区块高度范围属于第一高度范围、第二高度范围和混合高度范围,那么这种情况下,可以将内容分发网络设备和目标节点设备均确定为目标设备,可以从内容分发网络中获取目标区块中属于第一高度范围的部分区块,依照传统P2P方式从目标共识节点中获取目标区块中属于第二高度范围的部分区块,从内容分发网络设备和/或目标节点设备中获取目标区块中属于混合高度范围的部分区块。进一步地,可以将从第一高度范围、第二高度范围和混合高度范围获取到的所有部分区块进行整合,得到目标区块。
结合具体的应用场景,示例性地,目标业务节点在最初建立或者恢复时,可以向共识网络中的任一共识节点发送针对目标区块的数据获取请求,首先请求可以从内容分发网络设备获取最新的一些区块(可以视为热点数据),此时,就可以持续同步最新状态,并且开始提供简单业务了。对于老数据,则可以通过P2P的方式继续向其他核心节点(即目标共识节点)请求。采用这样方式,通过引入内容分发网络设备,可以有效加速热点数据的获取,优先保障重要业务节点和核心节点的运行性能。同时,对于长尾数据,老数据也可以充分利用区块链原生的P2P能力,在保证业务节点运行性能的情况下,节约成本。
其中,由于内容分发网络设备有比较高的可信度,目标业务节点接收到从内容分发网络设备下载的区块时后,可以采用抽样验证的方式随机验证从内容分发网络设备下载的部分区块。
S905:从目标设备获取请求数据,并根据请求数据向目标业务节点返回目标区块。
在一个实施例中,当目标设备包括内容分发网络设备时,共识节点在从目标设备获取请求数据之前,还可以获取内容分发网络设备的设备信息,若基于设备信息确定内容分发网络设备处于工作状态,则从内容分发网络设备获取请求数据。
或者,在另一个实施例中,若基于设备信息确定内容分发网络设备处于非工作状态(例如失效),则可以向目标共识节点返回用于提示内容分发网络设备异常的提示信息。后续,目标共识节点接收到该提示信息后,可以向再次向共识网络中的共识节点发送针对目标区块的新的数据获取请求,该新的数据获取请求中除了携带有目标区块对应的区块标识信息,还携带有关于上述内容分发网络设备异常的指示信息,以便于共识节点接收到新的数据获取请求后,无需将请求转发到内容分发网络设备,直接将目标节点设备确定为目标设备,通过传统的P2P方式获取目标区块。
本申请实施例中,共识节点可通过共识网络中的多个共识节点进行与内容分发关联的共识处理,依照共识处理结果,从多个共识节点中选取用于向内容分发网络设备发送最新区块的内容分发管理节点。后续,共识节点可接收目标业务节点发送的针对目标区块的数据获取请求,该数据获取请求包括目标区块对应的区块标识信息。进一步地,可获取内容分发策略,并依照内容分发策略和区块标识信息确定目标设备和请求数据,并从目标设备获取请求数据,进而根据请求数据向目标业务节点返所述目标区块。其中,目标设备包括内容分发网络设备和/或共识网络中的目标共识节点,该请求数据包括目标区块或目标区块中的部分区块。采用这样的方式,可以通过预先选取内容分发管理节点向内容分发网络设备发送最新区块,便于后续直接从内容分发网络设备直接获取最新区块,而无需通过传统的P2P方式获取,有利于提高业务节点对共识网络中目标区块的获取效率。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述实施例中描述的相应方法。
再请参见图10,是本申请实施例的一种基于区块链网络的数据处理装置的结构示意图,本申请实施例的基于区块链网络的数据处理装置可以设置在电子设备(该电子设备可以为共识网络中执行上述数据处理方法的任一共识节点)中,也可以为运行于电子设备中的一个计算机程序(包括程序代码)。其中,该区块链网络包括见证网络和共识网络,所述见证网络由多个业务节点组网构成,所述共识网络由多个共识节点组网构成,所述见证网络和所述共识网络通过路由代理网络进行数据交互,所述路由代理网络中部署有内容分发网络设备。
本申请实施例的装置的一个实现方式中,装置包括如下结构。
通信单元100,用于接收目标业务节点发送的针对目标区块的数据获取请求,所述数据获取请求包括所述目标区块对应的区块标识信息;
处理单元101,用于获取内容分发策略,并依照所述内容分发策略和所述区块标识信息确定目标设备和请求数据,所述目标设备包括所述内容分发网络设备和/或所述共识网络中的目标共识节点,所述请求数据包括所述目标区块或所述目标区块中的部分区块;
所述通信单元100,还用于从所述目标设备获取所述请求数据,并根据所述请求数据向所述目标业务节点返回所述目标区块。
在一个实施例中,当所述目标设备包括所述内容分发网络设备时,所述请求数据包括:所述内容分发网络设备预先存储的所述共识网络对应的更新区块集中的更新区块,所述更新区块集中的任一更新区块为:所述共识网络中的内容分发管理节点检测到所述共识网络对应区块链的区块高度更新时,向所述内容分发网络设备发送的最新区块;所述内容分发管理节点为所述多个共识节点中的任一个。
在一个实施例中,处理单元101,具体用于获取所述共识网络对应区块链的最新区块高度M;若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于第一高度范围,则将所述内容分发网络设备确定为目标设备,将所述目标区块确定为请求数据;所述第一高度范围为[M-N,M],所述M为大于N的整数,所述N为大于0的整数。
在一个实施例中,处理单元101,具体用于获取所述共识网络对应区块链的最新区块高度M;若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于第二高度范围,则将所述共识网络中的目标共识节点确定为目标设备,将所述目标区块确定为请求数据;所述第二高度范围为[1,P],所述P为小于(M-N)的整数,所述M为大于N的整数,所述N为大于0的整数。
在一个实施例中,所述目标设备包括所述内容分发网络设备和所述共识网络中的目标共识节点,所述请求数据包括从所述内容分发网络设备获取的第一请求数据和从所述目标共识节点获取的第二请求数据,所述处理单元101,具体用于获取所述共识网络对应区块链的最新区块高度M;若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于混合高度范围,则将所述内容分发网络设备和所述目标共识节点确定为目标设备;所述混合高度范围为(P,M-N);将所述目标区块中区块高度属于[L,M-N)的部分区块确定为第一请求数据;将所述目标区块中区块高度属于(P,L)的部分区块确定为第二请求数据;其中,所述L为大于P且小于(M-N)的整数,所述M为大于N的整数,所述N为大于0的整数,所述P且小于为大于0且小于L的整数。
在一个实施例中,所述L的大小是基于目标参数信息确定的,所述目标参数信息包括以下至少一种:与所述目标业务节点之间的网络信息,以及所述内容分发网络设备的负载信息。
在一个实施例中,处理单元101,还用于对所述第一请求数据和所述第二请求数据进行整合,得到所述目标区块;通过所述通信单元100向所述目标业务节点返回所述目标区块。
在一个实施例中,所述向所述目标业务节点返回所述目标区块之前,处理单元101,还用于对所述目标区块进行校验,若校验通过,则触发执行所述向所述目标业务节点返回所述目标区块的步骤。
在一个实施例中,处理单元101,还用于通过所述共识网络中的多个共识节点进行与内容分发关联的共识处理;依照共识处理结果,从所述多个共识节点中选取内容分发管理节点,所述内容分发管理节点用于向所述内容分发网络设备发送最新区块。
在一个实施例中,所述目标设备包括所述内容分发网络设备,处理单元101,还用于获取所述内容分发网络设备的设备信息;若基于所述设备信息确定所述内容分发网络设备处于工作状态,则从所述内容分发网络设备获取所述请求数据。
在本申请实施例中,上述各个模块的具体实现可参考前述各个附图所对应的实施例中相关内容的描述。
本申请实施例中的基于区块链网络的数据处理装置可接收目标业务节点发送的针对目标区块的数据获取请求,该数据获取请求包括目标区块对应的区块标识信息。进一步地,可获取内容分发策略,并依照内容分发策略和区块标识信息确定目标设备和请求数据,并从目标设备获取请求数据,进而根据请求数据向目标业务节点返所述目标区块。其中,目标设备包括内容分发网络设备和/或共识网络中的目标共识节点,该请求数据包括目标区块或目标区块中的部分区块。采用这样的方式,可以通过引入内容分发网络设备,提高业务节点对共识网络中目标区块的获取效率。
再请参见图11,是本申请实施例的一种电子设备的结构示意图,该电子设备可以指上述共识网络中执行上述数据处理方法的任一共识节点。本申请实施例的电子设备包括供电模块等结构,并包括处理器80、存储装置81和通信接口82。处理器80、存储装置81和通信接口82之间可以交互数据,由处理器80实现相应的基于区块链网络的数据处理功能。
存储装置81可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置81也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储装置81还可以包括上述种类的存储器的组合。
处理器80可以是中央处理器80(central processing unit,CPU)。在一个实施例中,处理器80还可以是图形处理器80(Graphics Processing Unit,GPU)。处理器80也可以是由CPU和GPU的组合。在电子设备中,可以根据需要包括多个CPU和GPU进行相应的基于区块链网络的数据处理。
在一个实施例中,存储装置81用于存储程序指令。处理器80可以调用程序指令,实现如本申请实施例中上述涉及的各种方法。
在第一个可能的实施方式中,电子设备的处理器80,调用存储装置81中存储的程序指令,用于:
通过通信接口82接收目标业务节点发送的针对目标区块的数据获取请求,所述数据获取请求包括所述目标区块对应的区块标识信息;
获取内容分发策略,并依照所述内容分发策略和所述区块标识信息确定目标设备和请求数据,所述目标设备包括所述内容分发网络设备和/或所述共识网络中的目标共识节点,所述请求数据包括所述目标区块或所述目标区块中的部分区块;
从所述目标设备获取所述请求数据,并根据所述请求数据通过通信接口82向所述目标业务节点返回所述目标区块。
在一个实施例中,当所述目标设备包括所述内容分发网络设备时,所述请求数据包括:所述内容分发网络设备预先存储的所述共识网络对应的更新区块集中的更新区块,所述更新区块集中的任一更新区块为:所述共识网络中的内容分发管理节点检测到所述共识网络对应区块链的区块高度更新时,向所述内容分发网络设备发送的最新区块;所述内容分发管理节点为所述多个共识节点中的任一个。
在一个实施例中,处理器80,具体用于获取所述共识网络对应区块链的最新区块高度M;若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于第一高度范围,则将所述内容分发网络设备确定为目标设备,将所述目标区块确定为请求数据;所述第一高度范围为[M-N,M],所述M为大于N的整数,所述N为大于0的整数。
在一个实施例中,处理器80,具体用于获取所述共识网络对应区块链的最新区块高度M;若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于第二高度范围,则将所述共识网络中的目标共识节点确定为目标设备,将所述目标区块确定为请求数据;所述第二高度范围为[1,P],所述P为小于(M-N)的整数,所述M为大于N的整数,所述N为大于0的整数。
在一个实施例中,所述目标设备包括所述内容分发网络设备和所述共识网络中的目标共识节点,所述请求数据包括从所述内容分发网络设备获取的第一请求数据和从所述目标共识节点获取的第二请求数据,所述处理器80,具体用于获取所述共识网络对应区块链的最新区块高度M;若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于混合高度范围,则将所述内容分发网络设备和所述目标共识节点确定为目标设备;所述混合高度范围为(P,M-N);将所述目标区块中区块高度属于[L,M-N)的部分区块确定为第一请求数据;将所述目标区块中区块高度属于(P,L)的部分区块确定为第二请求数据;其中,所述L为大于P且小于(M-N)的整数,所述M为大于N的整数,所述N为大于0的整数,所述P且小于为大于0且小于L的整数。
在一个实施例中,所述L的大小是基于目标参数信息确定的,所述目标参数信息包括以下至少一种:与所述目标业务节点之间的网络信息,以及所述内容分发网络设备的负载信息。
在一个实施例中,处理器80,还用于对所述第一请求数据和所述第二请求数据进行整合,得到所述目标区块;通过所述通信接口82向所述目标业务节点返回所述目标区块。
在一个实施例中,所述向所述目标业务节点返回所述目标区块之前,处理器80,还用于对所述目标区块进行校验,若校验通过,则触发执行所述向所述目标业务节点返回所述目标区块的步骤。
在一个实施例中,处理器80,还用于通过所述共识网络中的多个共识节点进行与内容分发关联的共识处理;依照共识处理结果,从所述多个共识节点中选取内容分发管理节点,所述内容分发管理节点用于向所述内容分发网络设备发送最新区块。
在一个实施例中,所述目标设备包括所述内容分发网络设备,处理器80,还用于获取所述内容分发网络设备的设备信息;若基于所述设备信息确定所述内容分发网络设备处于工作状态,则从所述内容分发网络设备获取所述请求数据。
在本申请实施例中,上述处理器80的具体实现可参考前述各个附图所对应的实施例中相关内容的描述。
本申请实施例中的电子设备可接收目标业务节点发送的针对目标区块的数据获取请求,该数据获取请求包括目标区块对应的区块标识信息。进一步地,可获取内容分发策略,并依照内容分发策略和区块标识信息确定目标设备和请求数据,并从目标设备获取请求数据,进而根据请求数据向目标业务节点返所述目标区块。其中,目标设备包括内容分发网络设备和/或共识网络中的目标共识节点,该请求数据包括目标区块或目标区块中的部分区块。采用这样的方式,可以通过引入内容分发网络设备,提高业务节点对共识网络中目标区块的获取效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所描述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请的部分实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (9)
1.一种基于区块链网络的数据处理方法,其特征在于,所述区块链网络包括见证网络和共识网络,所述见证网络由多个业务节点组网构成,所述共识网络由多个共识节点组网构成,所述见证网络和所述共识网络通过路由代理网络进行数据交互,所述路由代理网络中部署有内容分发网络设备,所述方法包括:
接收目标业务节点发送的针对目标区块的数据获取请求,所述数据获取请求包括所述目标区块对应的区块标识信息;
获取内容分发策略,并依照所述内容分发策略和所述区块标识信息确定目标设备和请求数据,所述目标设备包括所述内容分发网络设备和/或所述共识网络中的目标共识节点,所述请求数据包括所述目标区块或所述目标区块中的部分区块;
从所述目标设备获取所述请求数据,并根据所述请求数据向所述目标业务节点返回所述目标区块;
其中,所述依照所述内容分发策略和所述区块标识信息确定目标设备和请求数据,包括:
获取所述共识网络对应区块链的最新区块高度M;
若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于第一高度范围,则将所述内容分发网络设备确定为目标设备,将所述目标区块确定为请求数据;所述第一高度范围为[M-N,M],所述M为大于N的整数,所述N为大于0的整数;
若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于第二高度范围,则将所述共识网络中的目标共识节点确定为目标设备,将所述目标区块确定为请求数据;所述第二高度范围为[1,P];
若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于混合高度范围,则将所述内容分发网络设备和所述目标共识节点确定为目标设备,所述混合高度范围为(P,M-N);将所述目标区块中区块高度属于[L,M-N)的部分区块确定为从所述内容分发网络设备获取的第一请求数据,将所述目标区块中区块高度属于(P,L)的部分区块确定为从所述目标共识节点获取的第二请求数据;所述P为大于或等于1且小于所述L的整数,所述L为小于(M-N)的整数;
其中,所述L的大小是基于目标参数信息确定的,当所述目标参数信息包括与所述目标业务节点之间的网络信息或者所述内容分发网络设备的负载信息时,所述L的大小与所述负载信息表征的负载大小成正比,或者与所述网络信息表征的网络速度大小成正比;当所述目标参数信息包括所述网络信息以及所述负载信息时,根据所述负载信息表征的负载大小确定第一加权分数,根据所述网络信息表征的网络速度大小确定第二加权分数,将所述第一加权分数和所述第二加权分数的和值与阈值L0相乘,将相乘的结果确定为L;所述阈值L0是根据所述混合高度范围的范围确定的。
2.如权利要求1所述的方法,其特征在于,当所述目标设备包括所述内容分发网络设备时,所述请求数据包括:所述内容分发网络设备预先存储的所述共识网络对应的更新区块集中的更新区块,所述更新区块集中的任一更新区块为:所述共识网络中的内容分发管理节点检测到所述共识网络对应区块链的区块高度更新时,向所述内容分发网络设备发送的最新区块;所述内容分发管理节点为所述多个共识节点中的任一个。
3.如权利要求1所述的方法,其特征在于,所述根据所述请求数据向所述目标业务节点返回所述目标区块,包括:
对所述第一请求数据和所述第二请求数据进行整合,得到所述目标区块;
向所述目标业务节点返回所述目标区块。
4.如权利要求3所述的方法,其特征在于,所述向所述目标业务节点返回所述目标区块之前,所述方法还包括:
对所述目标区块进行校验,若校验通过,则触发执行所述向所述目标业务节点返回所述目标区块的步骤。
5.如权利要求2所述的方法,其特征在于,所述方法还包括:
通过所述共识网络中的多个共识节点进行与内容分发关联的共识处理;
依照共识处理结果,从所述多个共识节点中选取内容分发管理节点,所述内容分发管理节点用于向所述内容分发网络设备发送最新区块。
6.如权利要求1所述的方法,其特征在于,所述目标设备包括所述内容分发网络设备,所述从所述目标设备获取所述请求数据,包括:
获取所述内容分发网络设备的设备信息;
若基于所述设备信息确定所述内容分发网络设备处于工作状态,则从所述内容分发网络设备获取所述请求数据。
7.一种基于区块链网络的数据处理装置,其特征在于,所述区块链网络包括见证网络和共识网络,所述见证网络由多个业务节点组网构成,所述共识网络由多个共识节点组网构成,所述见证网络和所述共识网络通过路由代理网络进行数据交互,所述路由代理网络中部署有内容分发网络设备,所述装置包括:
通信单元,用于接收目标业务节点发送的针对目标区块的数据获取请求,所述数据获取请求包括所述目标区块对应的区块标识信息;
处理单元,用于获取内容分发策略,并依照所述内容分发策略和所述区块标识信息确定目标设备和请求数据,所述目标设备包括所述内容分发网络设备和/或所述共识网络中的目标共识节点,所述请求数据包括所述目标区块或所述目标区块中的部分区块;
所述通信单元,还用于从所述目标设备获取所述请求数据,并根据所述请求数据向所述目标业务节点返回所述目标区块;
其中,所述处理单元在依照所述内容分发策略和所述区块标识信息确定目标设备和请求数据时,具体用于:
获取所述共识网络对应区块链的最新区块高度M;
若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于第一高度范围,则将所述内容分发网络设备确定为目标设备,将所述目标区块确定为请求数据;所述第一高度范围为[M-N,M],所述M为大于N的整数,所述N为大于0的整数;
若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于第二高度范围,则将所述共识网络中的目标共识节点确定为目标设备,将所述目标区块确定为请求数据;所述第二高度范围为[1,P];
若基于所述区块标识信息确定所述目标区块涉及的区块高度范围属于混合高度范围,则将所述内容分发网络设备和所述目标共识节点确定为目标设备,所述混合高度范围为(P,M-N);将所述目标区块中区块高度属于[L,M-N)的部分区块确定为从所述内容分发网络设备获取的第一请求数据,将所述目标区块中区块高度属于(P,L)的部分区块确定为从所述目标共识节点获取的第二请求数据;所述P为大于或等于1且小于所述L的整数,所述L为小于(M-N)的整数;
其中,所述L的大小是基于目标参数信息确定的,当所述目标参数信息包括与所述目标业务节点之间的网络信息或者所述内容分发网络设备的负载信息时,所述L的大小与所述负载信息表征的负载大小成正比,或者与所述网络信息表征的网络速度大小成正比;当所述目标参数信息包括所述网络信息以及所述负载信息时,根据所述负载信息表征的负载大小确定第一加权分数,根据所述网络信息表征的网络速度大小确定第二加权分数,将所述第一加权分数和所述第二加权分数的和值与阈值L0相乘,将相乘的结果确定为L;所述阈值L0是根据所述混合高度范围的范围确定的。
8.一种电子设备,其特征在于,所述电子设备包括处理器和存储装置,所述处理器和存储装置相互连接,其中,所述存储装置用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-6任一项所述的方法。
9.一种计算机存储介质,其特征在于,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011305551.0A CN112417001B (zh) | 2020-11-19 | 2020-11-19 | 基于区块链网络的数据处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011305551.0A CN112417001B (zh) | 2020-11-19 | 2020-11-19 | 基于区块链网络的数据处理方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417001A CN112417001A (zh) | 2021-02-26 |
CN112417001B true CN112417001B (zh) | 2021-10-15 |
Family
ID=74774232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011305551.0A Active CN112417001B (zh) | 2020-11-19 | 2020-11-19 | 基于区块链网络的数据处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417001B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565389B (zh) * | 2020-11-30 | 2021-09-24 | 网易(杭州)网络有限公司 | 基于区块链的消息广播方法、装置、电子设备及存储介质 |
CN114092252B (zh) * | 2021-11-26 | 2024-06-25 | 成都质数斯达克科技有限公司 | 一种区块链交易执行方法、装置、设备及可读存储介质 |
CN116361271B (zh) * | 2023-05-09 | 2024-01-23 | 中航信移动科技有限公司 | 一种区块链数据修改迁移方法、电子设备及存储介质 |
CN116975148B (zh) * | 2023-07-12 | 2024-01-23 | 广州魔晶智能科技股份有限公司 | 一种基于区块链师生教育管理系统及管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274752A (zh) * | 2018-10-10 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 区块链数据的访问方法及装置、电子设备、存储介质 |
CN110602096A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络中的数据处理方法、装置、存储介质和设备 |
CN110619584A (zh) * | 2018-06-20 | 2019-12-27 | 喜地霁石文化传媒(北京)有限公司 | 区块链访问系统和方法及在众筹数字交易中的应用 |
US10579974B1 (en) * | 2015-02-16 | 2020-03-03 | AI Coin Inc. | Systems, methods, and program products for a distributed digital asset network with rapid transaction settlements |
-
2020
- 2020-11-19 CN CN202011305551.0A patent/CN112417001B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10579974B1 (en) * | 2015-02-16 | 2020-03-03 | AI Coin Inc. | Systems, methods, and program products for a distributed digital asset network with rapid transaction settlements |
CN110619584A (zh) * | 2018-06-20 | 2019-12-27 | 喜地霁石文化传媒(北京)有限公司 | 区块链访问系统和方法及在众筹数字交易中的应用 |
CN109274752A (zh) * | 2018-10-10 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 区块链数据的访问方法及装置、电子设备、存储介质 |
CN110602096A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络中的数据处理方法、装置、存储介质和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112417001A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112737916B (zh) | 一种基于区块链网络的数据处理方法及相关装置 | |
CN112417001B (zh) | 基于区块链网络的数据处理方法及相关设备 | |
CN112200681B (zh) | 区块链网络的业务处理方法、信息处理方法及节点设备 | |
WO2020211460A1 (zh) | 一种区块链节点的逻辑分片方法及其系统 | |
KR102377841B1 (ko) | 서비스 존 기반의 계층적 합의 방법 및 장치 | |
EP4195624A1 (en) | Data synchronization method and system based on blockchain, and related device | |
CN112995211B (zh) | 基于区块链网络的数据处理方法、装置、设备及存储介质 | |
CN110855760A (zh) | 一种基于区块链的分布式安全存储系统部署方法 | |
CN111597077B (zh) | 数据处理方法、装置、计算机设备以及存储介质 | |
CN110597922B (zh) | 数据处理方法、装置、终端及存储介质 | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
Saldamli et al. | Improved gossip protocol for blockchain applications | |
CN111461720B (zh) | 基于区块链的身份验证方法、装置、存储介质及电子设备 | |
CN110956463B (zh) | 基于可扩展分布式查询系统的可信存证方法与系统 | |
CN112988903B (zh) | 基于区块链网络的数据处理方法、装置、设备及存储介质 | |
Laube et al. | A solution to the split & merge problem for blockchain-based applications in ad hoc networks | |
CN111444204A (zh) | 一种同步处理方法、装置、设备及介质 | |
CN109150981B (zh) | 区块链网络组网方法、装置、设备及计算机可读存储介质 | |
CN112200680B (zh) | 区块链节点管理方法、装置、计算机以及可读存储介质 | |
CN111491020B (zh) | 数据处理方法、装置、计算机设备以及存储介质 | |
CN109104472B (zh) | 区块链网络组网方法、装置、设备及计算机可读存储介质 | |
CN113592656B (zh) | 联盟链交易同步优化方法、计算机可读介质和电子设备 | |
Zheng et al. | Automatic discovery mechanism of blockchain nodes based on the Kademlia algorithm | |
KR102542063B1 (ko) | 뉴럴 블록 클러스터 기반의 안전한 블록 체인을 구축하는 장치 및 그 동작 방법 | |
CN115842866A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40037953 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |