CN112231415B - 区块链网络的数据同步方法、系统、电子设备及可读介质 - Google Patents
区块链网络的数据同步方法、系统、电子设备及可读介质 Download PDFInfo
- Publication number
- CN112231415B CN112231415B CN202011483696.XA CN202011483696A CN112231415B CN 112231415 B CN112231415 B CN 112231415B CN 202011483696 A CN202011483696 A CN 202011483696A CN 112231415 B CN112231415 B CN 112231415B
- Authority
- CN
- China
- Prior art keywords
- service node
- queue
- data
- data request
- node
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Abstract
本公开的实施例提供了一种区块链网络的数据同步方法、系统、电子设备及计算机可读介质。该方法包括:获取第一业务节点的第一队列;对第一队列中的第一数据请求和第二数据请求进行划分,确定第二队列和第三队列,第二队列包括第一数据请求,第三队列包括第二数据请求;第一业务节点接收第二业务节点响应第一数据请求返回的第一同步数据和第三业务节点响应第二数据请求返回的第二同步数据;第一业务节点根据第二业务节点返回第一同步数据和第三业务节点返回第二同步数据的速度,将第一队列中的剩余数据请求分配至第二队列或者第三队列。本公开实施例提供的技术方案能够实现具有隔离需求的区块链网络,并有效优化该网络中数据同步方案。
Description
技术领域
本公开涉及计算机数据处理技术领域,具体而言,涉及一种区块链网络的数据同步方法、系统、电子设备及计算机可读介质。
背景技术
当区块链用于政府或者商业机构的一些场景,例如税务电子发票的管理场景时,并非所有的区块链参与节点都有足够的资源和必要性成为参与区块链共识的节点。且出于对数据的安全性考虑,在区块链体系中涉及个人隐私或者国家安全的相关数据时,也不适用普遍的数据对等式的区块链部署方式。基于上述问题,如何将区块链技术在应用于政府或者商业机构的一些场景,以及如何实现适用于无需所有区块链参与节点参与共识的场景的数据同步与部署方式,将是一个值得研究的问题。
因此,需要一种新的区块链网络的数据同步方法、系统、电子设备及计算机可读介质。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例提供一种区块链网络的数据同步方法、系统、电子设备及计算机可读介质,能够实现具有隔离需求的区块链网络,并有效优化该网络中数据同步方案。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提出一种区块链网络的数据同步方法,所述区块链网络包括见证网络,所述见证网络包括第一业务节点和与所述第一业务节点连接的第二业务节点和第三业务节点;其中,所述方法包括:获取所述第一业务节点的第一队列,所述第一队列包括第一数据请求和第二数据请求;对所述第一队列中的所述第一数据请求和所述第二数据请求进行划分,确定所述第二业务节点的第二队列和所述第三业务节点的第三队列,所述第二队列包括所述第一数据请求,所述第三队列包括所述第二数据请求;接收所述第二业务节点响应所述第一数据请求返回的第一同步数据和所述第三业务节点响应所述第二数据请求返回的第二同步数据;根据所述第二业务节点返回所述第一同步数据和所述第三业务节点返回所述第二同步数据的速度,将所述第一队列中的至少一个剩余数据请求分配至所述第二队列或者所述第三队列,以便所述第一业务节点从所述第二业务节点或所述第三业务节点接收响应于所述至少一个剩余数据请求返回的剩余同步数据。
本公开实施例提出一种区块链网络的数据同步系统,所述区块链网络包括见证网络,所述见证网络包括第一业务节点和与所述第一业务节点连接的第二业务节点和第三业务节点,其中:所述第一业务节点配置为获取所述第一业务节点的第一队列,所述第一队列包括第一数据请求和第二数据请求;对所述第一队列中的所述第一数据请求和所述第二数据请求进行划分,确定所述第二业务节点的第二队列和所述第三业务节点的第三队列,所述第二队列包括所述第一数据请求,所述第三队列包括所述第二数据请求;接收所述第二业务节点响应所述第一数据请求返回的第一同步数据和所述第三业务节点响应所述第二数据请求返回的第二同步数据;根据所述第二业务节点返回所述第一同步数据和所述第三业务节点返回所述第二同步数据的速度,将所述第一队列中的至少一个剩余数据请求分配至所述第二队列或者所述第三队列,以便所述第一业务节点从所述第二业务节点或所述第三业务节点接收响应于所述至少一个剩余数据请求返回的剩余同步数据;所述第二业务节点配置为接收所述第一业务节点发送的第一数据请求,并响应所述第一数据请求向所述第一业务节点返回所述第一同步数据;所述第三业务节点配置为接收所述第一业务节点发送的第二数据请求,并响应所述第二数据请求向所述第一业务节点返回所述第二同步数据。
在本公开的一种示例性实施例中,第一业务节点在根据所述第二业务节点返回所述第一同步数据和所述第三业务节点返回所述第二同步数据的速度,将所述第一队列中的至少一个剩余数据请求分配至所述第二队列或者所述第三队列时,第一业务节点配置为:若在第一时间点,所述第一业务节点接收到所述第二业务节点返回的第一同步数据,则将所述第一队列中的至少一个剩余数据请求中的第一剩余数据请求分配至所述第二队列;若在第二时间点,所述第一业务节点接收到所述第三业务节点返回的第二同步数据,则将所述第一队列中的至少一个剩余数据请求中的第二剩余数据请求分配至所述第三队列。
在本公开的一种示例性实施例中,第一业务节点在对所述第一队列中的所述第一数据请求和所述第二数据请求进行划分,确定所述第二业务节点的第二队列和所述第三业务节点的第三队列后,第一业务节点还配置为:根据所述第二队列和所述第三队列确定所述第一队列的目标指针,所述目标指针指向所述第一队列中未包括在所述第二队列和所述第三队列中的第一个剩余数据请求。
在本公开的一种示例性实施例中,第一业务节点在根据所述第二业务节点返回所述第一同步数据和所述第三业务节点返回所述第二同步数据的速度,将所述第一队列中的至少一个剩余数据请求分配至所述第二队列或者所述第三队列时,第一业务节点配置为:若在第一时间点,所述第一业务节点接收到所述第二业务节点返回的第一同步数据,则跟将所述第一同步数据的数量p确定所述第二业务节点的第一新增请求数量p,p为大于0的整数;根据所述第一队列的目标指针从所述第一队列中的剩余数据请求中获得p个数据请求;根据所述p个数据请求对所述第二业务节点的第二队列进行更新。
在本公开的一种示例性实施例中,所述第一业务节点在根据所述第二业务节点返回所述第一同步数据和所述第三业务节点返回所述第二同步数据的速度,将所述第一队列中的至少一个剩余数据请求分配至所述第二队列或者所述第三队列时,所述第一业务节点配置为:若在第一时间点接收到所述第二业务节点返回的第一同步数据,并在第二时间点接收到所述第三业务节点返回的第二同步数据,所述第一时间点早于所述第二时间点,则优先根据第一同步数据将第一队列中的至少一个剩余数据请求中的第一剩余数据请求分配至所述第二队列,再根据第二所述第二同步数据将所述第一队列中的至少一个剩余数据请求中的第二剩余数据请求分配至所述第三队列。
在本公开的一种示例性实施例中,第一业务节点还配置为:确定所述第一业务节点的路由表信息,所述路由表信息包括与所述第一业务节点连接的至少一个对等节点;在所述至少一个对等节点中确定与所述第一业务节点连接的所述第二业务节点和所述第三业务节点。
在本公开的一种示例性实施例中,第一业务节点还配置为:在接收所述第二业务节点响应于所述第一队列返回的第一同步数据失败时,将所述第二业务节点确定为超时第二业务节点;在所述第一业务节点的路由表信息中将不同于所述超时第二业务节点的第四业务节点确定为备用第二业务节点;将所述超时第二业务节点的第二队列中的第一数据请求发送至所述备用第二业务节点,以便所述备用第二业务节点响应所述第一数据请求向所述第一业务节点返回所述第一同步数据。
在本公开的一种示例性实施例中,所述见证网络包括多个第二业务节点,所述区块链网络还包括共识网络,所述共识网络包括共识节点;第一业务节点还配置为:在接收所述第二业务节点响应于所述第一数据请求返回的第一同步数据失败时,将所述第二业务节点确定为超时第二业务节点;在所述见证网络中超时第二业务节点的节点数量大于超时节点数量阈值时,所述第一业务节点根据所述至少一个对等节点广播的路由表信息获取所述共识节点;从所述共识节点中确定目标共识节点,并将所述超时第二业务节点的第二队列中的第一数据请求发送至所述目标共识节点;从所述目标共识节点接收响应所述第一数据请求返回的所述第一同步数据。目标共识节点配置为接收第二数据请求,响应第二数据请求向第一业务节点返回第一同步数据。
在本公开的一种示例性实施例中,第一业务节点还配置为:根据所述至少一个对等节点广播的路由表信息确定更新对等节点;根据所述更新对等节点更新所述第一业务节点的路由表信息。
在本公开的一种示例性实施例中,第一业务节点还配置为:根据所述第一同步数据和所述第二同步数据对所述第一业务节点的本地数据进行校验。
在本公开的一种示例性实施例中,第一业务节点在对所述第一队列中的至少一个数据请求进行划分,获得所述第二业务节点的第二队列和所述第三业务节点的第三队列时,第一业务节点配置为:根据与所述第二业务节点的历史传输记录确定所述第二业务节点的第一历史同步速度,以及根据与所述第三业务节点的历史传输记录确定所述第三业务节点的第二历史同步速度;根据所述第一历史同步速度确定所述第二业务节点的第一请求数量m,以及根据所述第二历史同步速度确定所述第三业务节点的第二请求数量n,m、n为大于0的整数;从所述第一队列中获得m个数据请求作为所述第一数据请求,生成所述第二业务节点的第二队列,以及从所述第一队列中获得n个数据请求作为所述第二数据请求,生成所述第三业务节点的第三队列。
本公开实施例提出一种电子设备,包括:至少一个处理器;存储装置,用于存储至少一个程序,当所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现如上述实施例中所述的区块链网络的数据同步方法。
本公开实施例提出一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中所述的区块链网络的数据同步方法。
在本公开的一些实施例所提供的技术方案中,在第一业务节点数据包含该第一业务节点的下载需求的第一队列,以及与该第一业务节点连接的第二业务节点和第三业务节点后,由该第一业务节点将第一队列中的第一数据请求划分至第二业务节点的第二队列,将第一队列中的第二数据请求划分至第三业务节点的第三队列,获得第二业务节点的第二队列和第三业务节点的第三队列,能够使第一业务节点接收到第二业务节点响应第一数据请求返回的第一同步数据和第三业务节点响应第二数据请求返回的第二同步数据,实现了第一业务节点在没有干扰共识节点的前提下实现数据的并行快速下载。同时,第一业务节点根据第二业务节点返回第一同步数据和第三业务节点返回第二同步数据的速度,对第一队列中的剩余数据请求分配至第二队列或者第三队列,以便从第二业务节点或第三业务节点持续接收响应于至少一个剩余数据请求返回的剩余同步数据,能够根据第一业务节点与不同对等节点的同步速度实时调整第一业务节点与不同对等节点的同步策略,使第一业务节点倾向与同步速度较快的对等节点进行大量快速有效的数据同步,进一步加快数据同步速度,实现区块链网络中数据同步方案的优化。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术提供的分布式系统应用于区块链网络的一个可选的结构示意图。
图2是相关技术提供的区块结构一个可选的示意图。
图3示意性示出了根据本公开实施例提供的区块链网络的一个可选的结构示意图。
图4是根据图3所示区块链网络在电子发票业务场景下的系统示意图。
图5示意性示出了根据本公开的一个实施例的区块链网络的数据同步方法的流程图。
图6示意性示出了根据本公开一个示例性实施例提供的队列示意图。
图7示意性示出了根据本公开的一个实施例的区块链网络的数据同步方法的流程图。
图8示意性示出了根据本公开的一个实施例的区块链网络的数据同步方法的流程图。
图9示意性示出了根据本公开的一实施例的区块链的数据同步系统的框图。
图10示意性示出了根据本公开的一实施例的区块链的数据同步系统的框图。
图11示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、系统、步骤等。在其它情况下,不详细示出或描述公知方法、系统、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在至少一个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
相关技术中涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链系统为例,参见图1,图1是相关技术提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点110(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端120形成,节点之间形成组成的点对点(P2P,Peer ToPeer)网络,P2P 协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1示出的区块链系统中各节点的功能,涉及的功能包括如下。
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能。
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括如下。
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币。
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易, 例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约, 还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块 (Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图2,图2是相关技术提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
在相关技术中,点对点连接的网络(P2P网络)是基于一类特定的网络协议,网络节点之间不需要一个中心节点来维护网络状态,而是每个节点通过和相邻节点的广播交互来维护全网的节点状态或者是其相邻的节点连接状态。
相关技术中,在公有链、联盟链的区块链技术常采用点对点连接(Peer to Peer,P2P)方案。在某些公有链网络中,一个节点可将自己维护的对等节点列表(Peer List)发送给临近节点。所以在初始节点发现之后,需要从临近节点复制一份节点列表。在另一些公有链网络中,网络中的所有节点通过采用特定算法(例如Kademlia算法,Kad算法)来实现快速而又准确的路由、定位数据的问题。在联盟链的区块链技术中,可基于流行病协议(Gossipprotocol)的数据封法网络。Gossip 过程是由种子节点发起,当一个种子节点有状态需要更新到网络中的其他节点时,它会随机的选择周围几个节点散播消息,收到消息的节点也会重复该过程,直至最终网络中所有的节点都收到了消息。
然而,上述的相关区块链产品的P2P方案均应用于单层网络,网络中所有节点均适用统一的P2P方案,即节点对等,所有节点处于同一个网络中。且在适配于对于数据传输具有较高保密性需求的产业区块链时,由于相关的P2P网络对应于其区块链产品性能较低,在较高性能的区块链产品下,单层的区块链网络将无法保证核心共识算法的高效执行。
例如,上述方式在应用于政府或商业机构的一些场景中,如内外网、业务网、办公网分隔时,将无法保证区块链体系中涉及个人隐私或者国家安全的相关数据的保密性与安全性。且无法考虑到部分参与节点存在无需参与共识的可能性。在所有节点均参与共识的情形下,由于所有节点均需进行数据交换,必然导致较大的数据交换量。该较大的数据交换量必将影响核心共识算法的高效执行,进而影响共识节点的正常共识出块。
图3示意性示出了根据本公开实施例提供的区块链网络的一个可选的结构示意图。如图3所示,区块链网络可分为见证网络310和共识网络320。见证网络310包括业务节点311、312、313、314、315、316、317、318,共识网络320包括共识节点321、322、323、324、325、326、327、328。见证网络中的业务节点主要进行业务执行,不参与记账共识,而是通过身份认证的方式从共识网络中获得区块头数据和部分授权可见的区块数据。见证网络中的业务节点不参与核心共识算法,见证网络中的业务节点通过见证(Witness)进行验证。见证是在比特币里指的是对交易合法性的验证。可采用隔离见证算法(Segregated Witness,简称SegWit)进行见证。其中,隔离见证算法的主要思想是重新组织区块数据,使签名不再与交易数据存储在一起。换句话说,SegWit升级包括将验证人(签名)与交易数据隔离。这能够将更多交易存储在单个区块中,从而增加网络的交易吞吐量。见证网络和共识网络处在不同网络环境下,通常来说见证网络处于公有网络中而共识网络处于私有网络中。
其中业务节点部署在处于公网的见证网络中,而运行区块链共识协议的记账节点(即图3中的共识节点)则部署在私有的共识网络中,二者通过路由边界进行交互。
由于共识网络处于相对安全的私有云中,其互相访问本就有共识机制保证安全,不需要额外加入身份管理和网络控制。而业务节点处于公共网络中,可能会被其他不确定的网络终端访问,因此业务节点以及其他可能的节点接入共识网络中的行为需要被严格控制。基于上述部署方式,将能够实现具有数据保密需求场景下的数据安全性较高的区块链网络。
图4是根据图3所示区块链网络在电子发票业务场景下的系统示意图。如图4所示,业务层410处于见证网络中,也会向共识层提交业务操作交互。业务层410、路由代理层420、核心共识网络层430组成了整个完整区块链业务体系。其中路由代理层起到对于业务层和核心共识网络层的隔离作用。
图5示意性示出了根据本公开的一个实施例的区块链网络的数据同步方法的流程图。本公开实施例所提供的方法可以由任意具备计算处理能力的电子设备处理。其中,本公开实施例所提供的方法可应用与区块链网络,该区块链网络可包括见证网络,该见证网络可包括第一业务节点和与第一业务节点连接的第二业务节点和第三业务节点。
如图5所示,本公开实施例提供的区块链网络的数据同步方法可以包括以下步骤。本公开实施例中,以第一业务节点、第二业务节点和第三业务节点分别为图3中所示的业务节点311、312、313进行举例说明。在该实施例中,在见证网络中,不同的业务节点之间可通过P2P方式进行连接。
其中,在例如图3所示的见证网络310中,第一业务节点311还可包括与其连接的其他业务节点(本例中P2P网络方式下也称为对等节点):317、318等。第一业务节点在可与其连接的对等节点中确定第二业务节点312和第三业务节点313。例如,第一业务节点311可确定第一业务节点311的路由表信息,路由表信息包括与第一业务节点连接的至少一个对等节点;在至少一个对等节点中确定与第一业务节点连接的第二业务节点和第三业务节点。
其中,第一业务节点在至少一个对等节点中确定第二业务节点和第三业务节点时,可首先确定第一业务节点与每个对等节点的历史同步速度,并挑选历史同步速度最快的两个对等节点分别作为第二业务节点和第三业务节点。又例如,还可根据与不同的业务节点的历史同步数据量确定第二业务节点和第三业务节点,本公开实施例的技术方案对此并不作特殊限定。
在步骤S510中,获取第一业务节点的第一队列,第一队列包括第一数据请求和第二数据请求。
本公开实施例中,第一数据请求和第二数据请求中可分别包括至少一个数据请求,该至少一个数据请求是第一业务节点向其他对等节点下载数据的请求。例如,当第一业务节点为刚刚加入见证网络的新节点时,需要向其他对等节点同步区块数据的数据请求,又例如,第一业务节点可为简单支付验证(Simplified Payment Verification,SPV)轻节点,下称SPV节点。至少一个数据请求可以为该节点在需要对本地的数据进行验证时,需要向其他节点下载区块头数据和/或区块体数据的数据请求。下载的区块体数据例如为交易哈希数据、交易内容数据等,本公开实施例对此并不作特殊限定。
在步骤S520中,对第一队列中的第一数据请求和第二数据请求进行划分,确定第二业务节点的第二队列和第三业务节点的第三队列,第二队列包括第一数据请求,第三队列包括第二数据请求。
本公开实施例中,以图6为例,图6示意性示出了根据本公开一个示例性实施例提供的队列示意图。如图6所示,在当前的t1时刻,第一队列610可包括数据请求1-9,可对1-9进行划分,使第二队列620包括数据请求1-3(即第一数据请求),第三队列630包括数据请求4-6(即第二数据请求)。其中,该数据请求1-9中的每个可为区块头数据、交易哈希数据、交易内容数据等,本公开实施例对此并不作特殊限定。其中,第一业务节点可在本地创建第二业务节点的第二队列和第三业务节点的第三队列后,可向第二业务节点发送第二队列中的第一数据请求,并向第三业务节点发送第三队列中的第二数据请求。应当注意,本公开实施例中,第一业务节点确定第二业务节点和第三业务节点时,是建立在第二业务节点和第三业务节点的本地均存储了数据请求1-9所请求的数据。若第一业务节点的第一队列还包括数据请求10时,且该见证网络中的对等节点均为存储该数据请求10所请求的数据时,第一业务节点可根据该数据请求10单独生成另一个队列并向图3中所示的共识节点发送该数据请求10。
其中,第一业务节点可根据每个对等节点缓冲映射表确定每个对等节点中所存储的具体数据。该缓冲映射表例如包括交易哈希数据与交易内容数据在对应的对等节点本地的存储索引的对应关系。进而,第一业务节点进而能够确定本地存储了第一队列中的数据请求中所请求的数据的第二业务节点和第三业务节点。
在示例性实施例中,在对第一队列中的第一数据请求和第二数据请求进行划分,确定第二业务节点的第二队列和第三业务节点的第三队列后,第一业务节点还可根据第二队列和第三队列确定第一队列的目标指针,目标指针指向第一队列中未包括在第二队列和第三队列中的第一个剩余数据请求。以图6中第一队列610为例,在t1时刻,第一队列的目标指针可指向数据请求7。该目标指针的设置可用于标识第一队列中至少一个剩余数据请求的起始位置,以便第一业务节点根据目标指针对至少一个剩余数据请求进行分配。
在示例性实施例中,第一业务节点在确定第二队列和第三队列时,可根据与第二业务节点的历史传输记录确定第二业务节点的第一历史同步速度,以及根据与第三业务节点的历史传输记录确定第三业务节点的第二历史同步速度;根据第一历史同步速度确定第二业务节点的第一请求数量m,以及根据第二历史同步速度确定第三业务节点的第二请求数量n,m、n为大于0的整数;从第一队列中获得m个数据请求作为第一数据请求,生成第二业务节点的第二队列,以及从第一队列中获得n个数据请求作为第二数据请求,生成第三业务节点的第三队列。在该实施例中,第一业务节点根据与不同的对等节点的历史同步速度来确定发送至对应的对等节点的数据请求的数量,能够基于历史同步速度向同步速度较快的对等节点分配请求量更大的数据请求,优化数据同步策略。
在步骤S530中,接收第二业务节点响应第一数据请求返回的第一同步数据和第三业务节点响应第二数据请求返回的第二同步数据。
本公开实施例中,以图6为例,第二业务节点返回的第一同步数据可为数据请求1-3中的一个或多个请求对应的反馈数据,该数据请求1-3中的一个或多个请求可例如为数据请求1,或数据请求1-2,或数据请求1-3。第二节点返回的第二同步数据可为数据请求4-6中的一个或多个请求对应的反馈数据。
在步骤S540中,根据第二业务节点返回第一同步数据和第三业务节点返回第二同步数据的速度,将第一队列中的至少一个剩余数据请求分配至第二队列或者第三队列,以便第一业务节点从第二业务节点或第三业务节点接收响应于至少一个剩余数据请求返回的剩余同步数据。
本公开实施例中,至少一个剩余数据请求第一队列中除了第一数据请求和第二数据请求以外的其他的数据请求。以图6为例,第一队列610中的剩余数据请求可包括数据请求7-9。在根据第二业务节点返回第一同步数据和第三业务节点返回第二同步数据的速度,将剩余数据请求进行分配至第二队列或第三队列时,可在接收到第二业务节点返回的第一同步数据时,将剩余数据请求中与第一同步数据等量的第一数据请求划分至第二队列,或在接收到第三业务节点返回的第二同步数据时,将剩余数据请求中与第二同步数据等量的第二数据请求划分至第三队列。例如,以图6为例,当在第一时间点(例如图6中t2时刻),第一业务节点接收到第二业务节点返回的第一同步数据(数据请求1的同步数据)时,可将第一队列中的至少一个剩余数据请求中的第一剩余数据请求(数据请求7)分配至第二队列620。又例如,在第二时间点(例如图6中的t3时刻),第一业务节点接收到第二业务节点返回的第一同步数据为数据请求2的同步数据时,可将第一队列中至少一个剩余数据请求中的数据请求8分配至第二队列620。以及在第二时间点(例如图6中t3时刻),第一业务节点接收到第三业务节点返回的第二同步数据(数据请求4的同步数据)时,可将第一队列中剩余数据请求中的第二剩余数据请求(数据请求9)分配至第三队列630。其中,第一业务节点可根据第一同步数据和第二同步数据对第一业务节点的本地数据进行校验,例如对账校验、清算校验等。又例如,在图4所示电子发票应用场景中,作为SPV节点的第一业务节点可根据第一同步数据和第二同步数据进行发票的支付验证或验证交易。
本公开实施方式提供的区块链网络的数据同步方法,在第一业务节点数据包含该第一业务节点的下载需求的第一队列,以及与该第一业务节点连接的第二业务节点和第三业务节点后,由该第一业务节点对第一队列中的至少一个数据请求进行划分,通过将第一队列中的第二数据请求划分至第三业务节点的第三队列,获得第二业务节点的第二队列和第三业务节点的第三队列,能够使第一业务节点接收到第二业务节点响应第一数据请求返回的第一同步数据和第三业务节点响应第二数据请求返回的第二同步数据,实现了第一业务节点在没有干扰共识节点的前提下实现数据的并行快速下载。同时,第一业务节点根据第二业务节点返回第一同步数据和第三业务节点返回第二同步数据的速度,对第一队列中的至少一个剩余数据请求分配至第二队列或者第三队列,以便从第二业务节点或第三业务节点持续接收响应于剩余数据请求返回的剩余同步数据,能够根据第一业务节点与不同对等节点的同步速度实时调整第一业务节点与不同对等节点的同步策略,使第一业务节点倾向与同步速度较快的对等节点进行大量快速有效的数据同步,进一步加快数据同步速度,实现区块链网络中数据同步方案的优化。
在示例性实施例中,在在第一业务节点接收第二业务节点响应于第一队列返回的第一同步数据失败时,可将第二业务节点确定为超时第二业务节点;在第一业务节点的路由表信息中将不同于超时第二业务节点的第四业务节点确定为备用第二业务节点;将超时第二业务节点的第二队列中的第一数据请求发送至备用第二业务节点,以便备用第二业务节点响应第一数据请求向第一业务节点返回第一同步数据。
其中,当第一业务节点在等待接收第二业务节点响应第二数据请求返回第一同步数据的等待时间大于等待时间阈值时,可认为第一业务节点接收第二业务节点响应于第一数据请求返回的第一同步数据失败。在该实施例中,在第二业务节点无法按时返回第一同步数据时,第一业务节点能够及时地将第一队列中的第一数据请求发送至备用第二业务节点,以保证数据同步过程的正常执行。
在示例性实施例中,若在第一时间点接收到第二业务节点返回的第一同步数据,并在第二时间点接收到第三业务节点返回的第二同步数据,第一时间点早于所述第二时间点,则优先根据第一同步数据将第一队列中的至少一个剩余数据请求中的第一剩余数据请求分配至所述第二队列,再根据第二所述第二同步数据将所述第一队列中的至少一个剩余数据请求中的第二剩余数据请求分配至所述第三队列。在该实施例中,优先响应以较快速度反馈同步数据的第二业务节点,能够保证对第二业务节点的第二队列的快速更新,同步速度较快的节点可持续同步更多的数据,提升数据同步效率。
图7示意性示出了根据本公开的一个实施例的区块链网络的数据同步方法的流程图。
如图7所示,本公开实施例中的区块链网络的数据同步方法可以进一步包括以下步骤。
在步骤S710中,获取第一业务节点的第一队列,第一队列包括第一数据请求和第二数据请求。
本公开实施例的步骤S710可采取与步骤S510类似的步骤,此处不再赘述。
在步骤S720中,对第一队列中的第一数据请求和第二数据请求进行划分,确定第二业务节点的第二队列和第三业务节点的第三队列,第二队列包括第一数据请求,第三队列包括第二数据请求。
本公开实施例的步骤S720可采取与步骤S520类似的步骤,此处不再赘述。
在步骤S730中,接收第二业务节点响应第一数据请求返回的第一同步数据和第三业务节点响应第二数据请求返回的第二同步数据。
本公开实施例的步骤S730可采取与步骤S530类似的步骤,此处不再赘述。
在步骤S740中,若在第一时间点,第一业务节点接收到第二业务节点返回的第一同步数据,则根据第一同步数据的数量p确定第二业务节点的第一新增请求数量p,p为大于0的整数。
本公开实施例中,以图6中第一时间点为t2时刻为例,第二业务节点返回的第一同步数据的数量以数据请求为单位,例如,t2时刻第二业务节点返回的为数据请求1的同步数据,即第二业务节点返回的第一同步数据的数量为1,即p=1。第三业务节点返回的第二同步数据的数量的计数单位类似,此处不再赘述。
在步骤S750中,根据第一队列的目标指针从第一队列中的剩余数据请求中获得p个数据请求。
本公开实施例中,在t1时刻第一业务节点对第一队列进行划分后,其目标指针指向数据请求7。在当前的t2时刻,可在剩余数据请求7-9中获得由目标指针指向的第一个数据请求起的p个数据请求,即1个数据请求:数据请求7。
在步骤S760中,第一业务节点根据p个数据请求对第二业务节点的第二队列进行更新。
本公开实施例中,如图6所示,在t2时刻,第二队列620获得了数据请求7,更新后的第二队列620包括1、2、3和7。且第二队列可包括一个第二队列指针,该第二队列指针指向该第二业务节点尚未返回同步数据的数据请求中的第一个数据请求,例如图6中的数据请求2。
在步骤S770中,若在第二时间点,第一业务节点根据第三业务节点返回的第二同步数据的数量q确定第三业务节点的第二新增请求数量q,q为大于0的整数。
本公开实施例中,以图6中第二时间点为t3时刻为例,第三业务节点返回的为数据请求4的同步数据,即第二业务节点返回的第二同步数据的数量为1,即q=1。
在步骤S780中,第一业务节点根据第一队列的目标指针从第一队列中的剩余数据请求中获得q个数据请求。
本公开实施例中,在t3时刻,第一业务节点将数据请求8分配给第二队列620后,其目标指针指向数据请求9。在当前的t3时刻,可在剩余数据请求中获得由目标指针指向的第一个数据请求起的q个数据请求,即1个数据请求:数据请求9。
在步骤S790中,第一业务节点根据q个数据请求对第三业务节点的第三队列进行更新。
本公开实施例中,如图6所示,在t3时刻,第三队列630获得了数据请求9,更新后的第三队列630包括4、5、6和9。且第三队列可包括一个第三队列指针,该第三队列指针指向该第三业务节点尚未返回同步数据的数据请求中的第一个数据请求,例如图6中的数据请求5。
在该实施例中,第一业务节点在接收到第二业务节点返回的第一同步数据或第三业务节点返回的第二同步数据后,根据返回速度和返回的数据的数量对第二队列或第三队列进行更新,第一业务节点能够在向返回速度更快的对等节点下发更多数据请求的同时,按照当前时间点之前的返回数据的数量确定新增的数据请求数量,能够避免数据请求的堵塞。
图8示意性示出了根据本公开的一个实施例的区块链网络的数据同步方法的流程图。
如图8所示,本公开实施例中,见证网络包括多个第二业务节点,区块链网络还包括共识网络,共识网络包括共识节点。本公开实施例中的区块链网络的数据同步方法可以进一步包括以下步骤。
在步骤S810中,在第一业务节点接收第二业务节点响应于第一数据请求返回的第一同步数据失败时,将第二业务节点确定为超时第二业务节点。
本公开实施例中,当第二业务节点故障时,将导致第二业务节点无法正常返回第一同步数据。例如,第一业务节点在等待接收第二业务节点响应第二数据请求返回第一同步数据的等待时间大于等待时间阈值时,可认为第一业务节点接收第二业务节点响应于第一数据请求返回的第一同步数据失败。
在步骤S820中,在见证网络中的超时第二业务节点的节点数量大于超时节点数量阈值时,第一业务节点根据至少一个对等节点广播的路由表信息获取共识节点。
本公开实施例中,至少一个对等节点中可包括与共识节点连接的对等节点。每个对等节点可将自己可连接的对等节点与共识节点记录在路由表信息中,并在P2P网络中广播。第一业务节点在接收到其他至少一个对等节点广播的路由表信息后,可从中获知共识节点,以便与共识节点进行连接。
在步骤S830中,从共识节点中确定目标共识节点,并将超时第二业务节点的第二队列中的第一数据请求发送至目标共识节点。
本公开实施例中,可将共识节点中与第一业务节点通信链路最短或具有历史通信记录的共识节点确定为目标共识节点。
在步骤S840中,第一业务节点从目标共识节点接收响应第一数据请求返回的第一同步数据。
在示例性实施例中,还可包括以下步骤S850至S860。
在步骤S850中,第一业务节点根据至少一个对等节点广播的路由表信息确定更新对等节点。
本公开实施例中,第一业务节点可在至少一个对等节点广播的路由表信息中将未与该第一业务节点连接的对等节点确定为更新对等节点。其中,更新对等节点还可以是其历史同步速度较快的且未与第一业务节点连接的对等节点。
在步骤S860中,第一业务节点根据更新对等节点更新第一业务节点的路由表信息。
本公开实施例中,第一业务节点可与更新对等节点建立连接,并将其添加至第一业务节点的路由表信息中。其中,第一业务节点还可将路由表信息中的超时业务节点剔除。
在该实施例中,第一业务节点在与其连接的大量的第二业务节点返回第一同步数据失败时,可向上访问共识节点获得目标共识节点返回的第一同步数据,进而保证数据同步的正常执行。同时第一业务节点根据至少一个对等节点广播的路由表信息确定更新对等节点,并通过新增更新对等节点以更新第一业务节点的路由表信息,能够让第一业务节点连接到更多有效的对等节点,有效地根据同步速度有效调整全网的连接结构。
在本公开的另一个实施例的区块链网络的数据同步方法中,SPV节点的同步策略为优先向区块链网络中的非共识节点获取数据。其整体策略为区块链网络中下发的最新数据(例如新的区块数据)尽量直接从共识节点获取,以提高网络性能。SPV节点达到一定的启动状态,可以继续补充剩余数据后,采用如图5或图7或图8中的算法从对等节点中下载数据。
下面以图6进行说明。在第一业务节点启动下载任务后,假设该第一业务节点目前连接了A、B、C三个对等节点,第一业务节点可优先将其中的两个对等节点(即第二业务节点和第三业务节点)发送数据请求。此处确定的发送数据请求的对等节点的数量仅为示例,本公开对此并不作特殊限定。例如,则A分配获得数据请求1、2、3,B接收到数据请求4、5、6。 如果在t2时刻,A向第一业务节点返回了数据请求1对应的数据,第一业务节点则立刻把数据请求7发送给A,如果在t3时刻,A又返回了数据请求2对应的数据,第一业务节点则把数据请求8发送给A。同时,此时如果B下载完了数据请求4对应的数据,则把数据请求9发送给B,如果A、B其中一个出现连接超时等,则整体停止A(假设A超时了),启用备用连接C,将A的下载任务转移给C,B、C继续按照上述方式向第一业务节点返回同步数据。
如果基于P2P网络的数据同步算法出现大量超时,第一业务节点可连接共识节点进行数据同步,同时更新第一业务节点自身的路由表信息,以尝试连接更多的新的对等节点。
该实施例中能够有效优化区块链的P2P网络,保证各节点的数据基本一致。能够有效地根据同步速度来调整全网的连接结构,让多数节点能够连接到同步速度更快的对等节点。
以下介绍本公开的系统实施例,可以用于执行本公开上述的区块链网络的数据同步方法。对于本公开系统实施例中未披露的细节,请参照本公开上述的区块链网络的数据同步方法的实施例。
图9示意性示出了根据本公开的一实施例的区块链的数据同步系统的框图。
参照图9所示,根据本公开的一个实施例的区块链网络的数据同步系统900,该区块链网络可以包括见证网络910,见证网络910可包括第一业务节点911和与第一业务节点911连接的第二业务节点912和第三业务节点913。
第一业务节点911可配置为获取第一业务节点的第一队列,第一队列包括第一数据请求和第二数据请求;对第一队列中的第一数据请求和第二数据请求进行划分,确定第二业务节点912的第二队列和第三业务节点913的第三队列,第二队列包括第一数据请求,第三队列包括第二数据请求;接收第二业务节点912响应第一数据请求返回的第一同步数据和第三业务节点913响应第二数据请求返回的第二同步数据;第一业务节点911根据第二业务节点912返回第一同步数据和第三业务节点913返回第二同步数据的速度,将第一队列中的至少一个剩余数据请求分配至第二队列或者第三队列,以便第一业务节点911从第二业务节点912或第三业务节点913接收响应于至少一个剩余数据请求返回的剩余同步数据。
第二业务节点912可配置为接收第一业务节点911发送的第一数据请求,并响应第一数据请求向第一业务节点911返回第一同步数据。
第三业务节点913可配置为接收第一业务节点911发送的第二数据请求,并响应第二数据请求向第一业务节点911返回第二同步数据。
本公开实施方式提供的区块链网络的数据同步系统,在第一业务节点数据包含该第一业务节点的下载需求的第一队列,以及与该第一业务节点连接的第二业务节点和第三业务节点后,由该第一业务节点将第一队列中的第一数据请求划分至第二业务节点的第二队列,将第一队列中的第二数据请求划分至第三业务节点的第三队列,获得第二业务节点的第二队列和第三业务节点的第三队列,能够使第一业务节点接收到第二业务节点响应第一数据请求返回的第一同步数据和第三业务节点响应第二数据请求返回的第二同步数据,实现了第一业务节点在没有干扰共识节点的前提下实现数据的并行快速下载。同时,第一业务节点根据第二业务节点返回第一同步数据和第三业务节点返回第二同步数据的速度,对第一队列中的剩余数据请求分配至第二队列或者第三队列,以便从第二业务节点或第三业务节点持续接收响应于至少一个剩余数据请求返回的剩余同步数据,能够根据第一业务节点与不同对等节点的同步速度实时调整第一业务节点与不同对等节点的同步策略,使第一业务节点倾向与同步速度较快的对等节点进行大量快速有效的数据同步,进一步加快数据同步速度,实现区块链网络中数据同步方案的优化。
在示例性实施例中,第一业务节点911在根据第二业务节点返回第一同步数据和第三业务节点返回第二同步数据的速度,将第一队列中的至少一个剩余数据请求分配至第二队列或者第三队列时,第一业务节点911可配置为:若在第一时间点,第一业务节点接收到第二业务节点返回的第一同步数据,则将第一队列中的至少一个剩余数据请求中的第一剩余数据请求分配至第二队列;若在第二时间点,第一业务节点接收到第三业务节点返回的第二同步数据,则将第一队列中的至少一个剩余数据请求中的第二剩余数据请求分配至第三队列。
在示例性实施例中,第一业务节点911在对第一队列中的第一数据请求和第二数据请求进行划分,确定第二业务节点的第二队列和第三业务节点的第三队列后,第一业务节点911还可配置为:根据第二队列和第三队列确定第一队列的目标指针,目标指针指向第一队列中未包括在第二队列和第三队列中的第一个剩余数据请求。
在示例性实施例中,第一业务节点911在根据第二业务节点返回第一同步数据和第三业务节点返回第二同步数据的速度,将第一队列中的至少一个剩余数据请求分配至第二队列或者第三队列时,第一业务节点911可配置为:若在第一时间点,第一业务节点接收到第二业务节点返回的第一同步数据,则根据第一同步数据的数量p确定第二业务节点的第一新增请求数量p,p为大于0的整数;根据第一队列的目标指针从第一队列中的剩余数据请求中获得p个数据请求;根据p个数据请求对第二业务节点的第二队列进行更新。
在示例性实施例中,第一业务节点911在根据第二业务节点912返回第一同步数据和第三业务节点913返回第二同步数据的速度,将第一队列中的至少一个剩余数据请求分配至第二队列或者所述第三队列时,第一业务节点911可配置为:若在第一时间点接收到第二业务节点返回的第一同步数据,并在第二时间点接收到第三业务节点返回的第二同步数据,第一时间点早于所述第二时间点,则优先根据第一同步数据将第一队列中的至少一个剩余数据请求中的第一剩余数据请求分配至所述第二队列,再根据第二所述第二同步数据将第一队列中的至少一个剩余数据请求中的第二剩余数据请求分配至第三队列。
在示例性实施例中,第一业务节点911还可配置为:确定第一业务节点的路由表信息,路由表信息包括与第一业务节点连接的至少一个对等节点;在至少一个对等节点中确定与第一业务节点连接的第二业务节点和第三业务节点。
在示例性实施例中,第一业务节点911还可配置为:在接收第二业务节点响应于第一队列返回的第一同步数据失败时,将第二业务节点确定为超时第二业务节点;在第一业务节点的路由表信息中将不同于超时第二业务节点的第四业务节点确定为备用第二业务节点;将超时第二业务节点的第二队列中的第一数据请求发送至备用第二业务节点,以便备用第二业务节点响应第一数据请求向第一业务节点返回第一同步数据。
在示例性实施例中,见证网络包括多个第二业务节点,区块链网络还包括共识网络,共识网络包括共识节点;第一业务节点911还可配置为:在接收第二业务节点响应于第一数据请求返回的第一同步数据失败时,将第二业务节点确定为超时第二业务节点;在见证网络中超时第二业务节点的节点数量大于超时节点数量阈值时,第一业务节点根据至少一个对等节点广播的路由表信息获取共识节点;从共识节点中确定目标共识节点,并将超时第二业务节点的第二队列中的第一数据请求发送至目标共识节点;从目标共识节点接收响应第一数据请求返回的第一同步数据。
在示例性实施例中,第一业务节点911还可配置为:根据至少一个对等节点广播的路由表信息确定更新对等节点;根据更新对等节点更新第一业务节点的路由表信息。
在示例性实施例中,第一业务节点911还可配置为:根据第一同步数据和第二同步数据对第一业务节点的本地数据进行校验。
在示例性实施例中,第一业务节点911在对第一队列中的至少一个数据请求进行划分,获得第二业务节点的第二队列和第三业务节点的第三队列时,第一业务节点911可配置为:根据与第二业务节点的历史传输记录确定第二业务节点的第一历史同步速度,以及根据与第三业务节点的历史传输记录确定第三业务节点的第二历史同步速度;根据第一历史同步速度确定第二业务节点的第一请求数量m,以及根据第二历史同步速度确定第三业务节点的第二请求数量n,m、n为大于0的整数;从第一队列中获得m个数据请求作为第一数据请求,生成第二业务节点的第二队列,以及从第一队列中获得n个数据请求作为第二数据请求,生成第三业务节点的第三队列。
图10示意性示出了根据本公开的一实施例的区块链的数据同步系统的框图。
参照图10所示,本公开实施例与图9所示实施例的区别在于,区块链网络还包括共识网络920,共识网络920包括共识节点921,其中共识节点921中包括目标共识节点9211(图10中未示出)。
其中,第一业务节点911还可配置为接收第二业务节点912响应于第一数据请求返回的第一同步数据失败时,将第二业务节点912确定为超时第二业务节点;在超时第二业务节点912的节点数量大于超时节点数量阈值时,第一业务节点911根据至少一个对等节点广播的路由表信息获取共识节点921;从共识节点921中确定目标共识节点9211,并将超时第二业务节点的第二队列中的第一数据请求发送至目标共识节点9211;第一业务节点911从目标共识节点9211接收响应第一数据请求返回的第一同步数据。
目标共识节点9211可配置为接收第二数据请求,响应第二数据请求向第一业务节点返回第一同步数据。
图11示出了适于用来实现本公开实施例的电子设备的结构示意图。需要说明的是,图11示出的电子设备1100仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,电子设备1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从储存部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。在RAM 1103中,还存储有系统操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的储存部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入储存部分1108。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有至少一个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图5或图7或图8所示的各个步骤。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (22)
1.一种区块链网络的数据同步方法,其特征在于,所述区块链网络包括见证网络,所述见证网络包括第一业务节点和与所述第一业务节点连接的第二业务节点和第三业务节点,所述方法包括:
获取所述第一业务节点的第一队列,所述第一队列包括第一数据请求和第二数据请求;
对所述第一队列中的所述第一数据请求和所述第二数据请求进行划分,确定所述第二业务节点的第二队列和所述第三业务节点的第三队列,所述第二队列包括所述第一数据请求,所述第三队列包括所述第二数据请求;
接收所述第二业务节点响应所述第一数据请求返回的第一同步数据和所述第三业务节点响应所述第二数据请求返回的第二同步数据;
根据所述第二业务节点返回所述第一同步数据和所述第三业务节点返回所述第二同步数据的速度,将所述第一队列中的至少一个剩余数据请求分配至所述第二队列或者所述第三队列,以便所述第一业务节点从所述第二业务节点或所述第三业务节点接收响应于所述至少一个剩余数据请求返回的剩余同步数据;
所述见证网络包括多个第二业务节点,所述区块链网络还包括共识网络,所述共识网络包括共识节点;其中,所述方法还包括:
在所述第一业务节点接收所述第二业务节点响应于所述第一数据请求返回的第一同步数据失败时,将所述第二业务节点确定为超时第二业务节点;
在所述见证网络中的超时第二业务节点的节点数量大于超时节点数量阈值时,所述第一业务节点根据所述至少一个对等节点广播的路由表信息获取所述共识节点;
从所述共识节点中确定目标共识节点,并将所述超时第二业务节点的第二队列中的第一数据请求发送至所述目标共识节点;
所述第一业务节点从所述目标共识节点接收响应所述第一数据请求返回的所述第一同步数据。
2.如权利要求1所述的方法,其特征在于,根据所述第二业务节点返回所述第一同步数据和所述第三业务节点返回所述第二同步数据的速度,将所述第一队列中的至少一个剩余数据请求分配至所述第二队列或者所述第三队列包括:
若在第一时间点,所述第一业务节点接收到所述第二业务节点返回的第一同步数据,则所述第一业务节点将所述第一队列中的至少一个剩余数据请求中的第一剩余数据请求分配至所述第二队列;
若在第二时间点,所述第一业务节点接收到所述第三业务节点返回的第二同步数据,则所述第一业务节点将所述第一队列中的至少一个剩余数据请求中的第二剩余数据请求分配至所述第三队列。
3.如权利要求1所述的方法,其特征在于,在对所述第一队列中的所述第一数据请求和所述第二数据请求进行划分,确定所述第二业务节点的第二队列和所述第三业务节点的第三队列后,所述方法还包括:
所述第一业务节点根据所述第二队列和所述第三队列确定所述第一队列的目标指针,所述目标指针指向所述第一队列中未包括在所述第二队列和所述第三队列中的第一个剩余数据请求。
4.如权利要求3所述的方法,其特征在于,根据所述第二业务节点返回所述第一同步数据和所述第三业务节点返回所述第二同步数据的速度,将所述第一队列中的至少一个剩余数据请求分配至所述第二队列或者所述第三队列包括:
若在第一时间点,所述第一业务节点接收到所述第二业务节点返回的第一同步数据,则根据所述第一同步数据的数量p确定所述第二业务节点的第一新增请求数量p,p为大于0的整数;
根据所述第一队列的目标指针从所述第一队列中的剩余数据请求中获得p个数据请求;
所述第一业务节点根据所述p个数据请求对所述第二业务节点的第二队列进行更新。
5.如权利要求1所述的方法,其特征在于,根据所述第二业务节点返回所述第一同步数据和所述第三业务节点返回所述第二同步数据的速度,将所述第一队列中的至少一个剩余数据请求分配至所述第二队列或者所述第三队列包括:
若在第一时间点接收到所述第二业务节点返回的第一同步数据,并在第二时间点接收到所述第三业务节点返回的第二同步数据,所述第一时间点早于所述第二时间点,则优先根据第一同步数据将第一队列中的至少一个剩余数据请求中的第一剩余数据请求分配至所述第二队列,再根据第二所述第二同步数据将所述第一队列中的至少一个剩余数据请求中的第二剩余数据请求分配至所述第三队列。
6.如权利要求1所述的方法,其特征在于,还包括:
确定所述第一业务节点的路由表信息,所述路由表信息包括与所述第一业务节点连接的至少一个对等节点;
在所述至少一个对等节点中确定与所述第一业务节点连接的所述第二业务节点和所述第三业务节点。
7.如权利要求6所述的方法,其特征在于,还包括:
在所述第一业务节点接收所述第二业务节点响应于所述第一队列返回的第一同步数据失败时,将所述第二业务节点确定为超时第二业务节点;
在所述第一业务节点的路由表信息中将不同于所述超时第二业务节点的第四业务节点确定为备用第二业务节点;
将所述超时第二业务节点的第二队列中的第一数据请求发送至所述备用第二业务节点,以便所述备用第二业务节点响应所述第一数据请求向所述第一业务节点返回所述第一同步数据。
8.如权利要求1所述的方法,其特征在于,还包括:
所述第一业务节点根据所述至少一个对等节点广播的路由表信息确定更新对等节点;
所述第一业务节点根据所述更新对等节点更新所述第一业务节点的路由表信息。
9.如权利要求1所述的方法,其特征在于,还包括:
所述第一业务节点根据所述第一同步数据和所述第二同步数据对所述第一业务节点的本地数据进行校验。
10.如权利要求1-9任一项所述的方法,其特征在于,对所述第一队列中的至少一个数据请求进行划分,获得所述第二业务节点的第二队列和所述第三业务节点的第三队列包括:
所述第一业务节点根据与所述第二业务节点的历史传输记录确定所述第二业务节点的第一历史同步速度,以及根据与所述第三业务节点的历史传输记录确定所述第三业务节点的第二历史同步速度;
所述第一业务节点根据所述第一历史同步速度确定所述第二业务节点的第一请求数量m,以及根据所述第二历史同步速度确定所述第三业务节点的第二请求数量n,m、n为大于0的整数;
所述第一业务节点从所述第一队列中获得m个数据请求作为所述第一数据请求,生成所述第二业务节点的第二队列,以及从所述第一队列中获得n个数据请求作为所述第二数据请求,生成所述第三业务节点的第三队列。
11.一种区块链网络的数据同步系统,其特征在于,所述区块链网络包括见证网络,所述见证网络包括第一业务节点和与所述第一业务节点连接的第二业务节点和第三业务节点,其中:
所述第一业务节点配置为获取所述第一业务节点的第一队列,所述第一队列包括第一数据请求和第二数据请求;对所述第一队列中的所述第一数据请求和所述第二数据请求进行划分,确定所述第二业务节点的第二队列和所述第三业务节点的第三队列,所述第二队列包括所述第一数据请求,所述第三队列包括所述第二数据请求;接收所述第二业务节点响应所述第一数据请求返回的第一同步数据和所述第三业务节点响应所述第二数据请求返回的第二同步数据;根据所述第二业务节点返回所述第一同步数据和所述第三业务节点返回所述第二同步数据的速度,将所述第一队列中的至少一个剩余数据请求分配至所述第二队列或者所述第三队列,以便所述第一业务节点从所述第二业务节点或所述第三业务节点接收响应于所述至少一个剩余数据请求返回的剩余同步数据;
所述第二业务节点配置为接收所述第一业务节点发送的第一数据请求,并响应所述第一数据请求向所述第一业务节点返回所述第一同步数据;
所述第三业务节点配置为接收所述第一业务节点发送的第二数据请求,并响应所述第二数据请求向所述第一业务节点返回所述第二同步数据;
所述区块链网络还包括共识网络,所述共识网络包括共识节点,所述见证网络包括多个第二业务节点;其中:
所述第一业务节点还配置为接收所述第二业务节点响应于所述第一数据请求返回的第一同步数据失败时,将所述第二业务节点确定为超时第二业务节点;在所述见证网络中超时第二业务节点的节点数量大于超时节点数量阈值时,所述第一业务节点根据所述至少一个对等节点广播的路由表信息获取所述共识节点;从所述共识节点中确定目标共识节点,并将所述超时第二业务节点的第二队列中的第一数据请求发送至所述目标共识节点;所述第一业务节点从所述目标共识节点接收响应所述第一数据请求返回的所述第一同步数据;
所述目标共识节点配置为接收所述第二数据请求,响应所述第二数据请求向所述第一业务节点返回所述第一同步数据。
12.如权利要求11所述的系统,其特征在于,所述第一业务节点在根据第二业务节点返回第一同步数据和第三业务节点返回第二同步数据的速度,将第一队列中的至少一个剩余数据请求分配至第二队列或者第三队列时,所述第一业务节点配置为:若在第一时间点,第一业务节点接收到第二业务节点返回的第一同步数据,则将第一队列中的至少一个剩余数据请求中的第一剩余数据请求分配至第二队列;若在第二时间点,第一业务节点接收到第三业务节点返回的第二同步数据,则将第一队列中的至少一个剩余数据请求中的第二剩余数据请求分配至第三队列。
13.如权利要求11所述的系统,其特征在于,所述第一业务节点在对第一队列中的第一数据请求和第二数据请求进行划分,确定第二业务节点的第二队列和第三业务节点的第三队列后,所述第一业务节点还配置为:根据第二队列和第三队列确定第一队列的目标指针,目标指针指向第一队列中未包括在第二队列和第三队列中的第一个剩余数据请求。
14.如权利要求13所述的系统,其特征在于,所述第一业务节点在根据第二业务节点返回第一同步数据和第三业务节点返回第二同步数据的速度,将第一队列中的至少一个剩余数据请求分配至第二队列或者第三队列时,所述第一业务节点配置为:若在第一时间点,第一业务节点接收到第二业务节点返回的第一同步数据,则根据第一同步数据的数量p确定第二业务节点的第一新增请求数量p,p为大于0的整数;根据第一队列的目标指针从第一队列中的剩余数据请求中获得p个数据请求;根据p个数据请求对第二业务节点的第二队列进行更新。
15.如权利要求11所述的系统,其特征在于,所述第一业务节点在根据所述第二业务节点返回第一同步数据和所述第三业务节点返回第二同步数据的速度,将第一队列中的至少一个剩余数据请求分配至第二队列或者所述第三队列时,所述第一业务节点配置为:若在第一时间点接收到第二业务节点返回的第一同步数据,并在第二时间点接收到第三业务节点返回的第二同步数据,第一时间点早于所述第二时间点,则优先根据第一同步数据将第一队列中的至少一个剩余数据请求中的第一剩余数据请求分配至所述第二队列,再根据第二所述第二同步数据将第一队列中的至少一个剩余数据请求中的第二剩余数据请求分配至第三队列。
16.如权利要求11所述的系统,其特征在于,所述第一业务节点还配置为:确定第一业务节点的路由表信息,路由表信息包括与第一业务节点连接的至少一个对等节点;在至少一个对等节点中确定与第一业务节点连接的第二业务节点和第三业务节点。
17.如权利要求16所述的系统,其特征在于,所述第一业务节点还配置为:在接收第二业务节点响应于第一队列返回的第一同步数据失败时,将第二业务节点确定为超时第二业务节点;在第一业务节点的路由表信息中将不同于超时第二业务节点的第四业务节点确定为备用第二业务节点;将超时第二业务节点的第二队列中的第一数据请求发送至备用第二业务节点,以便备用第二业务节点响应第一数据请求向第一业务节点返回第一同步数据。
18.如权利要求11所述的系统,其特征在于,所述第一业务节点还配置为:根据至少一个对等节点广播的路由表信息确定更新对等节点;根据更新对等节点更新第一业务节点的路由表信息。
19.如权利要求11所述的系统,其特征在于,所述第一业务节点还配置为:根据第一同步数据和第二同步数据对第一业务节点的本地数据进行校验。
20.如权利要求11-19任一项所述的系统,其特征在于,所述第一业务节点在对第一队列中的至少一个数据请求进行划分,获得第二业务节点的第二队列和第三业务节点的第三队列时,所述第一业务节点配置为:根据与第二业务节点的历史传输记录确定第二业务节点的第一历史同步速度,以及根据与第三业务节点的历史传输记录确定第三业务节点的第二历史同步速度;根据第一历史同步速度确定第二业务节点的第一请求数量m,以及根据第二历史同步速度确定第三业务节点的第二请求数量n,m、n为大于0的整数;从第一队列中获得m个数据请求作为第一数据请求,生成第二业务节点的第二队列,以及从第一队列中获得n个数据请求作为第二数据请求,生成第三业务节点的第三队列。
21.一种电子设备,其特征在于,包括:
至少一个处理器;
存储装置,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-10中任一项所述的方法。
22.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011483696.XA CN112231415B (zh) | 2020-12-16 | 2020-12-16 | 区块链网络的数据同步方法、系统、电子设备及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011483696.XA CN112231415B (zh) | 2020-12-16 | 2020-12-16 | 区块链网络的数据同步方法、系统、电子设备及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112231415A CN112231415A (zh) | 2021-01-15 |
CN112231415B true CN112231415B (zh) | 2021-03-12 |
Family
ID=74123990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011483696.XA Active CN112231415B (zh) | 2020-12-16 | 2020-12-16 | 区块链网络的数据同步方法、系统、电子设备及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231415B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988852B (zh) * | 2021-05-11 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据管理方法、设备以及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489486A (zh) * | 2019-08-02 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 生成区块链网络的方法、种子节点和介质 |
CN111027970A (zh) * | 2018-12-07 | 2020-04-17 | 深圳市智税链科技有限公司 | 区块链系统的认证管理方法、装置、介质及电子设备 |
CN111311407A (zh) * | 2020-02-07 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 基于区块链系统的数据处理方法、装置及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10013573B2 (en) * | 2015-12-16 | 2018-07-03 | International Business Machines Corporation | Personal ledger blockchain |
CN109327548A (zh) * | 2018-11-27 | 2019-02-12 | 北京瑞卓喜投科技发展有限公司 | 一种区块链更新方法及区块链更新系统 |
CN111625592A (zh) * | 2019-02-28 | 2020-09-04 | 北京京东尚科信息技术有限公司 | 分布式数据库的负载均衡方法和装置 |
CN111241593A (zh) * | 2020-01-02 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 用于区块链节点的数据同步方法及装置 |
CN111475575B (zh) * | 2020-04-09 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 基于区块链的数据同步方法、装置及计算机可读存储介质 |
-
2020
- 2020-12-16 CN CN202011483696.XA patent/CN112231415B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027970A (zh) * | 2018-12-07 | 2020-04-17 | 深圳市智税链科技有限公司 | 区块链系统的认证管理方法、装置、介质及电子设备 |
CN110489486A (zh) * | 2019-08-02 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 生成区块链网络的方法、种子节点和介质 |
CN111311407A (zh) * | 2020-02-07 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 基于区块链系统的数据处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112231415A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109636492B (zh) | 基于区块链系统的税务管理方法、装置、介质及电子设备 | |
US11461773B2 (en) | Blockchain-based node management methods and apparatuses | |
CN109493050B (zh) | 基于区块链主链加并行多子链的转账方法 | |
CN112235420B (zh) | 基于区块链的数据同步方法、系统及相关设备 | |
CN108777625B (zh) | 签名的验证方法、装置和系统、存储介质、电子装置 | |
CN109146490B (zh) | 区块生成方法、装置和系统 | |
CN109472572B (zh) | 基于区块链主链加并行多子链的合约系统 | |
JP2021534512A (ja) | 分散型元帳におけるdagベースのトランザクション処理方法およびシステム | |
CN111027970B (zh) | 区块链系统的认证管理方法、装置、介质及电子设备 | |
CN111294379B (zh) | 区块链网络服务平台及其权限托管方法、存储介质 | |
CN109493052B (zh) | 一种基于主链加并行多子链的跨链合约系统 | |
CN112101942A (zh) | 基于区块链的交易请求处理方法、系统、装置及设备 | |
CN113255014B (zh) | 一种基于区块链的数据处理方法以及相关设备 | |
CN111275555A (zh) | 区块链交易处理方法、交易节点以及区块链系统 | |
CN114567643B (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
CN112231741A (zh) | 基于区块链系统的数据处理方法、装置、介质及电子设备 | |
CN112231415B (zh) | 区块链网络的数据同步方法、系统、电子设备及可读介质 | |
CN110351362A (zh) | 数据验证方法、设备及计算机可读存储介质 | |
CN112231414B (zh) | 区块链系统的数据同步方法、装置、可读介质及电子设备 | |
KR102193890B1 (ko) | 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상에서의 워킹 그룹별 동일한 키를 사용하는 보안 통신 제공 방법 | |
KR102176128B1 (ko) | 블록체인에 기반한, 분산형 컴퓨팅 자원 공유 시스템 상에서의 보안 통신 제공 방법 | |
KR102169299B1 (ko) | 블록체인에 기반한 분산형 컴퓨팅 자원 공유 시스템 상에서의 그룹 관리 서버를 통한 보안 통신 제공 방법 | |
CN116743377B (zh) | 基于区块链密钥的数据处理方法、装置、设备及存储介质 | |
US11683173B2 (en) | Consensus algorithm for distributed ledger technology | |
US20240129143A1 (en) | Dividing data storage and service operations among plural blockchains |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40038125 Country of ref document: HK |