CN113268382A - 在区块链系统中切换分片节点的方法及装置 - Google Patents

在区块链系统中切换分片节点的方法及装置 Download PDF

Info

Publication number
CN113268382A
CN113268382A CN202110420966.0A CN202110420966A CN113268382A CN 113268382 A CN113268382 A CN 113268382A CN 202110420966 A CN202110420966 A CN 202110420966A CN 113268382 A CN113268382 A CN 113268382A
Authority
CN
China
Prior art keywords
node
cross
transaction
fragmentation
sub
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.)
Granted
Application number
CN202110420966.0A
Other languages
English (en)
Other versions
CN113268382B (zh
Inventor
陈序
徐泉清
郑子彬
闫莺
张辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Ant Blockchain Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd, Ant Blockchain Technology Shanghai Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110420966.0A priority Critical patent/CN113268382B/zh
Publication of CN113268382A publication Critical patent/CN113268382A/zh
Application granted granted Critical
Publication of CN113268382B publication Critical patent/CN113268382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书提供一种在区块链系统中切换分片节点的方法及装置,根据该方法,该区块链系统包括第一分片和第二分片,第一分片包括第一分片节点,第一分片节点具有对应的第一备用节点,第一备用节点同步有第一分片节点在执行第一区块的过程中产生的第一状态信息,各个第二分片包括第二分片节点,该方法应用于第一备用节点,包括:从第二分片节点接收到跨分片信息,基于第一状态信息和跨分片信息,代替第一分片节点继续执行第一区块。从而保证了区块链系统流程的持续进行,提高了区块链系统的性能和可用性。

Description

在区块链系统中切换分片节点的方法及装置
技术领域
本说明书一个或多个实施例涉及区块链技术领域,特别涉及一种在区块链系统中切换分片节点的方法及装置。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有难以篡改、去中心化等特征。区块链技术在金融、公益、司法、交易等场景中,具有巨大的应用潜力。
目前限制区块链技术大规模落地应用的一个很重要因素是性能,主要包括吞吐量,吞吐量一般可以通过每秒交易笔数(Transaction Per Second,简称TPS)来度量。开发者们提出了各种各样的方案来尝试提升区块的吞吐量,这一过程称为“扩容”。区块链分片技术是一种用于对区块链进行扩容的方案。区块链分片的基本思路是将区块链网络中的节点分成若干个相对独立的子网络,每个子网络构成一个区块链,一个子网络也就是一个分片(shard)。通过多个分片的并行处理,可提升整个网络的吞吐量。
但是,目前来说,在节点出现故障后,难以及时对故障进行修复,影响了区块链系统的性能。
发明内容
为了解决上述技术问题之一,本说明书一个或多个实施例提供一种在区块链系统中切换分片节点的方法及装置。
根据第一方面,提供一种在区块链系统中切换分片节点的方法,所述区块链系统包括第一分片和第二分片,所述第一分片包括第一分片节点,所述第一分片节点具有对应的第一备用节点,所述第一备用节点同步有所述第一分片节点在执行第一区块的过程中产生的第一状态信息,各个所述第二分片包括第二分片节点,所述方法应用于所述第一备用节点,包括:
从所述第二分片节点接收跨分片信息;
基于所述第一状态信息和所述跨分片信息,代替所述第一分片节点继续执行所述第一区块。
根据第二方面,提供一种在区块链系统中切换分片节点的装置,所述区块链系统包括第一分片和第二分片,所述第一分片包括第一分片节点,所述第一分片节点具有对应的第一备用节点,所述第一备用节点同步有所述第一分片节点在执行第一区块的过程中产生的第一状态信息,各个所述第二分片包括第二分片节点,所述装置应用于所述第一备用节点,包括:
从所述第二分片节点接收跨分片信息;
基于所述第一状态信息和所述跨分片信息,代替所述第一分片节点继续执行所述第一区块。
根据第三方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的方法。
根据第四方面,提供一种及计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面中任一项所述的方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例提供的在区块链系统中切换分片节点的方法和装置,在分片节点出现故障或通信延时的情况下,那个及时切换该出现故障或通信延时的分片节点对应的备用节点,由该备用节点替代该出现故障或通信延时的分片节点完成工作。从而保证了区块链系统流程的持续进行,提高了区块链系统的性能和可用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本说明书根据一示例性实施例示出的一种区块链系统的架构图;
图2a-图2e是本说明书根据一示例性实施例示出的一种通过一个联盟方包括的多个节点执行区块过程示意图;
图3是本说明书根据一示例性实施例示出的一种在区块链系统中切换分片节点的方法的流程图;
图4是本说明书根据一示例性实施例示出的一种在区块链系统中切换分片节点的装置的框图;
图5是本说明根据一示例性实施例示出的一种计算设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和 /或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本说明书实施例提供的切换分片节点方法可用于单个区块链,也可以用于包括分片的区块链系统。区块链分片技术是一种用于对区块链进行扩容的方案。区块链分片的基本思路是将区块链网络中的节点分成若干个相对独立的子网络,每个子网络构成一个区块链,一个子网络也就是一个分片(shard)。通过多个分片的并行处理,可提升整个网络的吞吐量。具体而言,分片技术根据不同的分片机制可以划分为三种:网络分片(networksharding),交易分片(transaction sharding),状态分片(state sharding)。网络分片是最基础的一种分片方式,包括将整个区块链网络划分成多个子网络,也就是多个分片。这样,区块链网络中的多个分片可以并行处理网络中不同的交易。交易分片是将交易按某种规则分配到不同分片,从而达到并行处理的目的。交易分片的前提是先进行网络分片。状态分片的关键是将整个存储区分开,让不同的分片存储不同账户的状态,每个分片只负责存储归属于自己的一部分账户的世界状态,而不是存储区块链中全部账户的世界状态。状态分片能够解决存储能力瓶颈问题。下文中,将以包括多个分片的区块链系统为例描述本说明书实施例提供的切换分片节点的方案。本说明书实施例提供的方案可应用于状态分片,可以理解,本说明书实施例的方案也可应用于其它类型的分片。
如图1所示,是根据一示例性实施例示出的一种区块链系统的架构图。
在图1中,区块链系统可以包括分片1,分片2和分片3(图1中未示出),其中,不同分片的互信的多个节点可以形成一个集合,该集合中可包括分别属于3个分片的 3个分片节点,所述分片节点可以实现为具有计算、处理能力的装置、服务器或设备集群等。例如,区块链系统可以为联盟链系统,该系统中可以包括联盟方A,联盟方 B,联盟方C和联盟方D。可以理解,图1仅是示例性的示出三个分片和四个联盟方,实际上区块链系统中可以包括任意数目的分片和联盟方。下文中将以联盟链系统为例进行描述,可以理解,本说明书实施例不限于应用于联盟链系统,而可以应用于任意区块链系统。
其中,从分片角度来说,分片节点1A,分片节点1B,分片节点1C和分片节点 1D均属于分片1。分片节点2A,分片节点2B,分片节点2C和分片节点2D均属于分片2。分片节点3A,分片节点3B,分片节点3C和分片节点3D均属于分片3。同一分片中的节点可以搭建一条区块链,具体例如,分片1中的节点1A、1B和1C可以搭建一条区块链1,分片2中的节点2A、2B和2C可以搭建一条区块链2,分片3中的节点3A、3B和3C可以搭建一条区块链3。
从联盟方的角度来说,分片节点1A,分片节点2A和分片节点3A均属于联盟方 A。分片节点1B,分片节点2B和分片节点3B均属于联盟方B。分片节点1C,分片节点2C和分片节点3C均属于联盟方C。分片节点1D,分片节点2D和分片节点3D 均属于联盟方D。
每个分片内部的各参与方节点之间进行共识。
每个分片节点均对应的部署有一个备用节点,备用节点和与其对应的分片节点属于相同的分片以及相同的联盟方。并且,备用节点还可以与属于相同联盟方的其它任意分片节点进行通信,以在该备用节点对应的分片节点出现故障以后,替代该出现故障的分片节点完成对区块的执行。或在该备用节点对应的分片节点与其它分片节点的通信发生延时后,该备用节点作为中继节点,替对应的分片节点转发信息。
例如,分片节点1A对应的部署有备用节点1A,备用节点1A也属于分片1以及属于联盟方A,并且备用节点1A可以分别与分片节点2A和分片节点3A进行通信。分片节点2B对应的部署有备用节点2B,备用节点2B也属于分片2以及属于联盟方B,并且备用节点2B可以分别与分片节点1B和分片节点3B进行通信。分片节点3C对应的部署有备用节点3C,备用节点3C也属于分片3以及属于联盟方C,并且备用节点3C可以分别与分片节点1C和分片节点2C进行通信,其它备用节点以此类推。
综合以上,在图1所示的区块链系统中,一个联盟方包括分别属于不同分片的多个节点,该多个节点例如可以通过联盟方的内网连接。当该系统中的一个分片需要向另一个分片发送跨分片的信息时,可以在一个联盟方的该两个分片的节点中进行跨分片通信,从而可提供较快的通信速度。并且,当一个联盟方的分片节点出现故障后,还可以用该出现故障的分片节点对应的备用节点,替代该出现故障的分片节点与该联盟方的其它分片节点进行通信,并完成对区块的执行,从而保证了该系统的稳定性。
图2a-图2e示出通过一个联盟方包括的多个节点执行区块过程示意图,其中,图2a示出的过程为分片节点未出现故障和通信延时的情况,图2b-图2d示出的过程为分片节点出现故障时的情况,图2e示出的过程为分片节点出现通信延时的情况。图2a- 图2e中以联盟方A为例进行描述,可以理解,图1中的其他联盟方可以执行与联盟方A相同的过程。
如图2a-图2e所示的情况中,在对区块执行的过程中,分片1~分片3需要同时执行高度相同的各自的区块。例如,分片1执行高度为m的分片1区块m,同时,分片 2执行高度为m的分片2区块m,同时,分片3执行高度为m的分片3区块m。
分片1~分片3同时执行高度相同的各自的区块,可以保证包括跨片事务的交易在不同分片的子交易的执行结果的原子性。具体是,分片1、分片2和分片3首先分别开始执行创世块(下文称为区块0),各个分片中在分别共识之后存入创世块,创世块中一般包括配置信息,如分片中包括的分片节点,各个分片节点的IP地址、端口号、各个分片节点的公钥列表,分片中的共识节点标识等等。在执行创世块之后,分片1、分片2和分片3开始执行区块1。具体是,分片1、分片2和分片3在分别通过共识确定属于区块1的多个交易及该多个交易的执行顺序之后,分片1、分片2和分片3分别开始执行经共识的各自的区块1中的多个交易。其中,分片1在执行交易的过程中可能会产生需由分片2执行的跨分片子交易。如果该交易对应于对事务的执行,分片 1在确定该交易的跨分片子交易执行成功之后才能确定对应交易执行成功。相应地,在分片1在确定发送给全部其他分片节点的跨分片子交易都执行成功了,才能确定对区块1中的多个交易执行成功。
下文中,使用“交易”表示在分片中共识的属于区块的多个交易,使用“跨分片子交易”表示通过执行交易或跨分片子交易所产生的交易的子交易。
类似地,分片2和分片3也会向联盟方A中的其他分片发送跨分片子交易,也同样地在确定发送给其他分片的跨分片子交易都执行成功了,才能确定其对应的分片的区块1中的多个交易执行成功。因此,为了保证各个分片的区块1中的事务型交易的执行正确性,分片1~分片3分别等待联盟方A中的其他分片结束对跨分片子交易的执行,并且确定这些跨分片子交易都执行成功之后才开始更新世界状态,即存储与区块 1对应的世界状态,并生成各自的区块1(即区块1的区块体和区块头),存储区块1,从而结束对各自的区块1的执行,以保证各个分片的区块1中的事务型交易包括的子交易的执行原子性。
分片1~分片3各自在确定其它分片都结束对区块1的执行之后,才各自开始对区块2的执行,以此类推,分片1~分片3各自在确定其它分片都结束对区块2的执行之后,才各自开始对区块3的执行。因此,分片1~分片3(即不同分片)之间对区块的执行是同步的,各个分片在同一时间具有同样的区块高度。
可以理解,虽然在图2中示出分片节点1A~分片节点3A同时执行高度相同的各自所属的分片的区块,本说明书实施例不限于此,本说明书实施例也可以与其他用于保证交易原子性的技术相结合,在该其他用于保证交易原子性的技术中,不同的分片有可能执行不同高度的区块,也即,分片节点1A~分片节点3A有可能在同一时间执行不同高度的区块。
另外,如图2a-图2e所示,在未出现故障和通信延时的情况下,由各个分片的分片节点执行区块。分片节点对区块的执行过程包括多轮交易执行过程(即多轮交易执行过程),每轮交易执行过程之后都会生成与该轮交易执行过程对应的状态信息(即用于更改世界状态的信息),并将该状态信息发送给分片节点对应的备用节点进行备份。其中,对于区块的首轮交易执行过程,也即执行经共识属于该区块的多个交易的交易执行过程,状态信息为对该交易执行过程中写入变量的值的记录。对于区块的非首交易轮执行过程,也即在上述首轮执行过程之后的用于执行跨分片子交易的交易执行过程,其状态信息为在前一轮交易执行过程对应的状态信息的基础上,对当前一轮交易执行过程中写入变量的值的记录。
在一轮交易执行过程之后可包括跨分片通信过程,该跨分片通信过程可跨分片发送跨分片子交易,使得接收该跨分片子交易的节点进行下一轮的交易执行过程以执行该跨分片子交易中的操作,各个分片执行的多轮交易执行过程也是基本同步的。
如图2b-图2e所示,在任一分片节点出现故障或通信延时的情况下,则可以切换到该出现故障或通信延时的分片节点对应的备用节点,由该备用节点替代该出现故障或通信延时的分片节点完成工作。
在本申请实施例提供的包括多个分片的区块链系统中,执行区块的过程包括以下过程:各个分片基本同时通过共识确定属于同一高度m的区块的多个交易,一个联盟方中包括的各个分片执行其所属分片的区块m的多个交易,执行来自联盟方中其他分片的多个跨分片子交易,联盟方中各个分片在确定各个分片都完成对跨分片子交易的执行、并且没有生成新的跨分片子交易之后,基于多个交易和多个跨分片子交易的执行结果对应的状态信息,更新区块m的世界状态,并生成各自的区块m的区块体和区块头,存储区块m。若任一分片的分片节点出现故障或通信延时,则可以由该分片节点对应的备用节点替代该出现故障或通信延时的分片节点工作。可以理解,在各个分片在执行属于区块m的多个交易的过程中都没有产生跨分片子交易的情况中,执行区块的过程将不包括上述执行跨分片子交易的过程。
下文结合图1和图2a-图2e描述本说明书实施例切换分片节点的方案。
如图3所示,图3是根据一示例性实施例示出的一种在区块链系统中切换分片节点的方法的流程图,该区块链系统可以包括第一分片和至少一个第二分片,第一分片包括第一分片节点,第一分片节点具有对应的第一备用节点。第一备用节点同步有第一分片节点在执行第一区块的过程中产生的第一状态信息,各个第二分片包括与第一分片节点互为信任节点的第二分片节点。其中,该第一分片节点和第一备用节点可以实现为具有计算、处理能力的设备、平台、服务器或设备集群。该方法包括以下步骤:
在步骤301中,从第二分片节点接收跨分片信息。
在步骤302中,基于第一状态信息和跨分片信息,代替第一分片节点继续执行第一区块。
其中,该跨分片信息可以包括跨分片子交易,还可以包括用于指示未生成跨分片子交易的信息。该第一跨分片子交易由第二分片节点在执行第二区块的过程中生成,第一区块与第二区块具有相同的区块高度。
在本实施例中,跨分片子交易是在执行区块过程中产生的交易,具体来说,可以是执行经共识的属于区块的多个交易的过程中产生的交易,或者可以是执行跨分片子交易的过程中产生的交易。该跨分片子交易可以包括操作指令,以指示在对应的分片中执行与该操作指令对应的操作。该子交易可以与交易具有相同的形式,即包括发送账户、接收账户、数据字段等,与交易不同的是,由于该子交易在同一个联盟方包括的多个相互信任的分片节点之间发送,该多个分片节点之间不需要对子交易进行验证,因此,该子交易可以不包括数字签名。在该区块链系统包括状态分片的情况中,该跨分片子交易用于查询或更改对应分片中的账户的状态(即世界状态),该跨分片子交易可以通过调用对应分片中的合约来查询或更改对应分片中的账户的状态。在一种实施方式中,跨分片子交易中可包括对应的原始交易的哈希值。在另一种实施方式中,可在跨分片子交易中包括对应的交易执行过程对应的轮次信息,指示对应的跨分片子交易针对第几轮交易执行过程而产生。
以图2a-图2e为例,可以设第一分片具体为分片1,第二分片具体为分片2和分片3,第一分片节点具体为分片节点1A,第一备用节点具体为备用节点1A,第二分片节点具体为分片节点2A和分片节点3A。可以理解,也可以设第一分片具体为分片2,第二分片具体为分片1和分片3,第一分片节点具体为分片节点2A,第一备用节点具体为备用节点2A,第二分片节点具体为分片节点1A和分片节点3A。或者,还可以设第一分片具体为分片3,第二分片具体为分片1和分片2,第一分片节点具体为分片节点3A,第一备用节点具体为备用节点3A,第二分片节点具体为分片节点1A和分片节点2A。
如图2a-图2e中所示,联盟方A中的各个分片节点执行高度为m的区块(简称区块m),在分片1、分片2和分片3分别通过共识确定属于各自的区块m的h个交易之后,分片节点1A、分片节点2A和分片节点3A分别开始执行属于各自的区块m的h个交易(如图2a-图2e中标注“h”的矩形框所示,图2a-图2e中,以同样的矩形框表示对交易或者跨分片子交易的执行过程),该对h个交易的执行过程可以视为在执行区块m过程中的第1 轮交易执行过程。
可以理解,图2a-图2e中虽然示例示出分片节点1A、分片节点2A和分片节点3A在第1轮交易执行过程中分别执行属于分片1区块m、分片2区块m和分片3区块m的h 个交易,可以理解,分片1区块m表示分片1中高度为m的区块,分片2区块m表示分片2中高度为m的区块,以此类推,因此,分片1区块m、分片2区块m和分片3区块 m表示不同的区块。本说明书实施例不限于此,分片1、分片2和分片3可分别设定属于分片1区块m、分片2区块m和分片3区块m的交易个数,该交易个数有可能是不等的。
如图1中所示,联盟方A中还包括分片节点对应的备用节点,下文中以备用节点1A为例描述备用节点的操作,可以理解,图1中的备用节点2A和备用节点3A的操作可参考对备用节点1A的描述。备用节点1A与分片节点1A相对应,用于对分片节点1A在执行区块的过程中产生的数据进行备份,以及用于在分片节点1A发生故障或通信延时的情况下,可以代替分片节点1A工作。
具体来说,如图2a-图2e中所示,在前两轮交易执行过程中,分片节点1A在接收到对分片1区块m的h个交易的共识提议的共识结果之后,可以将该h个交易和该共识结果发送给备用节点1A进行备份。分片节点1A在执行完属于分片1区块m的h个交易之后,基于该h个交易的执行结果产生用于更改世界状态的信息,分片节点1A也将该状态信息发送给备用节点1A。备用节点1A接收该状态信息,并将该状态信息进行备份。
各个分片在执行完各自的区块m的第1轮交易执行过程之后,分别产生了一个或多个跨分片子交易,并将这些跨分片子交易分别发送给对应的分片节点。例如,分片节点1A在执行h个交易之后,产生了与分片2对应的一个或多个跨分片子交易,并将这些跨分片子交易发送给分片节点2A,产生了与分片3对应的一个或多个跨分片子交易,并将这些跨分片子交易发送给分片节点3A。分片节点2A和分片节点3A也类似地进行跨分片通信。
最终,分片节点1A从分片节点2A和分片节点3A共接收q个跨分片子交易,并执行该q个跨分片子交易。分片节点2A从分片节点1A和分片节点3A共接收w个跨分片子交易,并执行该w个跨分片子交易。分片节点3A从分片节点1A和分片节点2A共接收p 个跨分片子交易,并执行该p个跨分片子交易。
各个分片节点在完成第2轮交易执行过程之后,生成各自第2轮的状态信息,并向其对应的备用节点备份与各自第2轮的状态信息。可以理解,由于该第2轮交易执行过程是基于第1轮的状态信息进行的,因此,该第2轮的状态信息中包括了在第2轮交易执行过程中未更新的状态信息内容。同时,各个分片节点在完成该第2轮交易执行过程,又可能产生新的跨分片子交易,并可将该新产生的跨分片子交易发送给对应的分片节点,以使得该分片节点开始新一轮的交易执行过程。
对于区块m中的每轮交易执行过程,分片节点1A都会生成与该轮交易执行过程对应的状态信息,并将该状态信息发送给备用节点1A进行备份。这样,在分片节点1A发生故障或通信延时以使得备用节点1A代替分片节点1A工作的情况中,备用节点1A只需要从备份的最新的状态信息(即第一状态信息)开始继续对区块m的执行,而不需要基于区块 m的上一个区块(区块m-1)对应的世界状态重新执行区块m。
如图2a所示,若各个分片节点均未出现故障或通信延时,在第n轮交易执行过程中,分片节点1A执行x个跨分片子交易,生成分片1第n轮的状态信息,并产生分别对应于分片2和分片3的跨分片信息。分片节点1A将分片1第n轮的状态信息和分别对应于分片2和分片3的跨分片信息发给备用节点1A进行备份。并将分别对应于分片2和分片3 的跨分片信息分别发给分片节点2A和分片节点3A。
同样,分片节点2A执行y个跨分片子交易,生成分片2第n轮的状态信息,产生分别对应于分片1和分片3的跨分片信息,并进行备份。将分别对应于分片1和分片3的跨分片信息分别发给分片节点1A和分片节点3A。分片节点3A执行z个跨分片子交易,生成分片3第n轮的状态信息,产生分别对应于分片1和分片2的跨分片信息,并进行备份。将分别对应于分片1和分片2的跨分片信息分别发给分片节点1A和分片节点2A。
在第n+1轮交易执行过程中,分片节点1A执行共接收到的s个跨分片子交易,分片节点2A执行共接收到的t个跨分片子交易,分片节点3A执行共接收到的u个跨分片子交易。
如图2b所示,各个分片节点完成第n轮交易执行过程并进行备份(参见图2a的说明),在分片节点1A将产生的分别对应于分片2和分片3的跨分片信息分别发给分片节点2A和分片节点3A之后,假设分片节点1A出现故障,从而分片节点2A和分片节点3A不能连接上分片节点1A并发送在第n轮交易执行过程中产生的与分片1对应的跨分片信息。在该情况中,分片节点2A和分片节点3A分别连接备用节点1A,并向备用节点1A发送跨分片信息。备用节点1A在从分片节点2A和分片节点3A都接收到跨分片信息之后,可确定分片节点1A发生故障,从而,备用节点1A开始代替分片节点1A工作。
具体是,在第n+1轮交易执行过程中,备用节点1A基于已经备份的分片1第n轮的状态信息,执行接收的s个跨分片子交易。并根据执行的区块产生跨分片信息分别发送给对应的分片节点2A和分片节点3A。分片节点2A和分片节点3A在第n+1轮交易执行过程可参见图2a的说明。
如图2c所示,各个分片节点完成第n轮交易执行过程并进行备份(参见图2a的说明)。在分片节点1A将产生的分别对应于分片2和分片3的跨分片信息分别发给分片节点2A和分片节点3A之前,假设分片节点1A出现故障。分片节点2A和分片节点3A不能连接上分片节点1A,无法接收分片节点1A发送的跨分片信息,也无法发送在第n轮交易执行过程中产生的与分片1对应的跨分片信息。在该情况中,分片节点2A和分片节点3A分别连接备用节点1A,并向备用节点1A发送跨分片信息。备用节点1A在从分片节点2A 和分片节点3A都接收到跨分片之后,可确定分片节点1A发生故障,从而,备用节点1A 开始代替分片节点1A工作。
具体是,备用节点1A将已经备份的分别对应于分片2和分片3的跨分片信息分别转发给分片节点2A和分片节点3A。在第n+1轮交易执行过程中,备用节点1A基于已经备份的分片1第n轮的状态信息,执行接收的s个跨分片子交易。并根据执行的区块产生跨分片信息分别发送给对应的分片节点2A和分片节点3A。分片节点2A和分片节点3A在第n+1轮交易执行过程可参见图2a的说明。
如图2d所示,假设各个分片节点完成第n轮交易执行过程中(参见图2a的说明)分片节点1A出现故障。备用节点1A无法接收分片节点1A发送的分片1第n轮的状态信息和分别对应于分片2和分片3的跨分片信息。分片节点2A和分片节点3A也不能连接上分片节点1A,无法接收分片节点1A发送的跨分片信息,也无法发送在第n轮交易执行过程中产生的与分片1对应的跨分片信息。在该情况中,分片节点2A和分片节点3A分别连接备用节点1A,并向备用节点1A发送第n轮交易执行过程中产生的跨分片信息。备用节点1A在从分片节点2A和分片节点3A都接收到跨分片信息之后,可确定分片节点1A发生故障,从而,备用节点1A开始代替分片节点1A工作。
具体是,备用节点1A可以确定备份的最新的状态信息为第n-1轮交易执行过程中产生的跨分片信息,而根据跨分片信息携带的轮次信息可知,分片节点2A和分片节点3A发送的是跨分片信息是第n轮交易执行过程中产生的跨分片信息。因此,备用节点1A指示分片节点2A和分片节点3A向备用节点1A发送第n-1轮交易执行过程中产生的跨分片信息。
分片节点2A和分片节点3A可以将第n-1轮交易执行过程中产生的对应于分片1的跨分片信息发送给备用节点1A。备用节点1A执行接收的x个跨分片子交易,生成分片1第 n轮的状态信息作为第三状态信息,并产生分别对应于分片2和分片3的跨分片信息。备用节点1A将分片1第n轮的状态信息和分别对应于分片2和分片3的跨分片信息进行备份。并将分别对应于分片2和分片3的跨分片信息分别发给分片节点2A和分片节点3A。
在第n+1轮交易执行过程中,备用节点1A基于生成的分片1第n轮的状态信息,执行接收的s个跨分片子交易。并根据执行的区块产生跨分片信息分别发送给对应的分片节点2A和分片节点3A。分片节点2A和分片节点3A在第n+1轮交易执行过程可参见图2a 的说明。
在步骤303中,在仅从部分第二分片节点接收到跨分片信息时,将从部分第二分片节点接收到的跨分片信息转发给第一分片节点。
在本实施例中,如图2e所示,各个分片节点完成第n轮交易执行过程并进行备份(参见图2a的说明)。分片节点1A将产生的分别对应于分片2和分片3的跨分片信息分别发给分片节点2A和分片节点3A,分片节点3A将产生的分别对应于分片1和分片2的跨分片信息分别发给分片节点1A和分片节点2A。分片节点2A将产生的分别对应于分片1和分片3的跨分片信息分别发给分片节点1A和分片节点3A,假设此时分片节点1A和分片节点2A之间的通信出现延时,从而分片节点1A未能接收到分片节点2A发送的跨分片信息。在该情况中,分片节点2A连接备用节点1A,并向备用节点1A发送跨分片信息。备用节点1A仅从分片节点2A接收到跨分片信息,因此,可确定分片节点1A和分片节点 2A之间的通信出现延时,从而,备用节点1A开始代替分片节点1A工作。具体是,备用节点1A将从分片节点2A接收到的跨分片信息转发给分片节点1A。第n+1轮交易执行过程可参见图2a的说明。
在一种实施情况中,第一备用节点在基于第一状态信息执行第一跨分片子交易之后没有生成与第二分片对应的新的跨分片子交易的情况中,向各个第二分片节点发送用于指示未生成跨分片子交易的跨分片信息。
具体是,备用节点1A在某轮交易执行过程中没有产生新的跨分片子交易,从而向分片节点2A和分片节点3A分别发送用于指示未产生跨分片子交易的跨分片信息。
在另一种实施情况中,第一备用节点在向各个第二分片节点发送用于指示未生成跨分片子交易的跨分片信息、且从各个第二分片节点分别接收到用于指示未生成跨分片子交易的跨分片信息之后,确定已执行完成第一区块,可以利用存储的最新的状态信息更新第一区块的状态数据库。
具体是,假设在第k轮交易执行过程中,备用节点1A没有产生新的跨分片子交易,则向分片节点2A和分片节点3A分别发送用于指示未产生跨分片子交易的跨分片信息。并且,备用节点1A接收到分片节点2A和分片节点3A发送用于指示未产生跨分片子交易的跨分片信息。所以,备用节点1A确定分片1区块m已执行完成。并且,备用节点1A 利用存储的最新状态信息更新分片1的世界状态,即在分片1的状态数据库中存储与分片1区块m对应的世界状态,并生成其分片1的区块m的区块体和区块头,存储区块 m。
本说明书的上述实施例提供的在区块链系统中切换分片节点的方法,在分片节点出现故障或通信延时的情况下,那个及时切换该出现故障或通信延时的分片节点对应的备用节点,由该备用节点替代该出现故障或通信延时的分片节点完成工作。从而保证了区块链系统流程的持续进行,提高了区块链系统的性能和可用性。
应当注意,尽管在上述实施例中,以特定顺序描述了本说明书实施例的方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
与前述在区块链系统中切换分片节点的方法实施例相对应,本说明书还提供了在区块链系统中切换分片节点的装置的实施例。
如图4所示,图4是本说明书根据一示例性实施例示出的一种在区块链系统中切换分片节点的装置框图,该区块链系统包括第一分片和至少一个第二分片,第一分片包括第一分片节点,第一分片节点具有对应的第一备用节点,第一备用节点同步有第一分片节点在执行第一区块的过程中产生的第一状态信息,各个第二分片包括第二分片节点,该装置应用于第一备用节点,可以包括:接收模块401和执行模块402。
其中,接收模块401,用于从第二分片节点接收跨分片信息。
执行模块402,用于基于第一状态信息和跨分片信息,代替第一分片节点继续执行第一区块。
在一些实施方式中,多个跨分片信息中包括至少一个第一跨分片子交易,第一跨分片子交易由第二分片节点在执行第二区块的过程中生成,其中,第一区块与第二区块具有相同的区块高度。
其中,执行模块402被配置用于:基于第一状态信息执行至少一个第一跨分片子交易。
在另一些实施方式中,该装置还包括:存储模块(图中未示出)。
其中,存储模块,用于基于执行第一跨分片子交易的执行结果生成第二状态信息,并存储第二状态信息。
在另一些实施方式中,该装置还包括:转发模块(图中未示出)。
其中,转发模块,用于在仅从部分第二分片节点接收到跨分片信息时,将从部分第二分片节点接收到的跨分片信息转发给第一分片节点。
在另一些实施方式中,第二分片节点与第一分片节点互为信任节点。
在另一些实施方式中,对第一区块执行的过程中包括多个交易执行轮次,第一状态信息包括指示生成第一状态信息的交易执行轮次的第一轮次信息,第一跨分片子交易包括指示生成第一跨分片子交易的交易执行轮次的第二轮次信息。
其中,执行模块402通过如下方式基于第一状态信息执行多个跨分片信息中包括的至少一个第一跨分片子交易:
在第一轮次信息和第二轮次信息指示不相同的交易执行轮次的情况中,指示各个述第二分片节点向第一备用节点发送与第三轮次对应的第二跨分片子交易,第三轮次为第一轮次与第二轮次之间的交易执行轮次。基于第一状态信息执行第二跨分片子交易,生成第三状态信息,基于第三状态信息执行第一跨分片子交易。
在另一些实施方式中,该装置还包括:发送模块(图中未示出)。
其中,发送模块,用于在基于第一状态信息执行第一跨分片子交易之后没有生成与第二分片对应的新的跨分片子交易的情况中,向各个第二分片节点发送用于指示未生成跨分片子交易的跨分片信息。
在另一些实施方式中,该装置还包括:确定模块(图中未示出)。
其中,确定模块,用于在向各个第二分片节点发送用于指示未生成跨分片子交易的跨分片信息、且从各个第二分片节点分别接收到用于指示未生成跨分片子交易的跨分片信息之后,确定已执行完成第一区块。
在另一些实施方式中,区块链系统包括联盟链系统,第一分片节点、第一备用节点和第二分片节点属于相同的联盟成员。
在另一些实施方式中,第一分片和各个第二分片分别存储不同账户的状态,跨分片子交易用于查询或修改第一分片中的状态。
应当理解,上述装置可以预先设置在第一备用节点中,也可以通过下载等方式而加载到第一备用节点中。上述装置中的相应模块可以与第一备用节点中的模块相互配合以实现在区块链系统中切换分片节点的方案。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书一个或多个实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书一个或多个实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图3实施例提供的在区块链系统中切换分片节点的方法。
对应于上述的在区块链系统中切换分片节点的方法,本说明书一个或多个实施例还提出了图5所示的根据本说明书的一示例性实施例的计算设备的示意结构图。请参考图5,在硬件层面,该计算设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成在区块链系统中切换分片节点的装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。其中,软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (22)

1.一种在区块链系统中切换分片节点的方法,所述区块链系统包括第一分片和第二分片,所述第一分片包括第一分片节点,所述第一分片节点具有对应的第一备用节点,所述第一备用节点同步有所述第一分片节点在执行第一区块的过程中产生的第一状态信息,各个所述第二分片包括第二分片节点,所述方法应用于所述第一备用节点,包括:
从所述第二分片节点接收跨分片信息;
基于所述第一状态信息和所述跨分片信息,代替所述第一分片节点继续执行所述第一区块。
2.根据权利要求1所述的方法,其中,所述多个跨分片信息中包括至少一个第一跨分片子交易,所述第一跨分片子交易由所述第二分片节点在执行第二区块的过程中生成;
其中,所述基于所述第一状态信息和所述跨分片信息,代替所述第一分片节点继续执行所述第一区块,包括:基于所述第一状态信息,代替所述第一分片节点执行所述至少一个第一跨分片子交易。
3.根据权利要求2所述的方法,还包括:
基于执行所述第一跨分片子交易的执行结果生成第二状态信息;存储所述第二状态信息。
4.根据权利要求1或2所述的方法,还包括:
在仅从部分所述第二分片节点接收到所述跨分片信息时,将所述从部分所述第二分片节点接收到的跨分片信息转发给所述第一分片节点。
5.根据权利要求1或2所述的方法,其中,所述第二分片节点与所述第一分片节点互为信任节点。
6.根据权利要求1所述的方法,其中,对所述第一区块执行的过程中包括多轮交易执行过程,所述第一状态信息包括指示生成所述第一状态信息的交易执行过程的轮次的第一轮次信息,所述第一跨分片子交易包括指示生成所述第一跨分片子交易的交易执行过程的轮次的第二轮次信息;
其中,所述基于所述第一状态信息执行所述多个跨分片信息中包括的至少一个第一跨分片子交易,包括:
在所述第一轮次信息和所述第二轮次信息指示不相同的交易执行过程轮次的情况中,指示各个所述第二分片节点向所述第一备用节点发送与第三轮次的交易执行过程对应的第二跨分片子交易,所述第三轮次为所述第一轮次与所述第二轮次之间的交易执行过程轮次;
基于所述第一状态信息执行所述第二跨分片子交易,生成第三状态信息;
基于所述第三状态信息执行所述第一跨分片子交易。
7.根据权利要求1所述的方法,还包括:
在基于所述第一状态信息执行所述第一跨分片子交易之后没有生成与所述第二分片对应的新的跨分片子交易的情况中,向各个所述第二分片节点发送用于指示未生成跨分片子交易的跨分片信息。
8.根据权利要求6所述的方法,还包括:
在向各个所述第二分片节点发送用于指示未生成跨分片子交易的跨分片信息、且从各个所述第二分片节点分别接收到用于指示未生成跨分片子交易的跨分片信息之后,确定已执行完成所述第一区块。
9.根据权利要求1所述的方法,其中,所述区块链系统包括联盟链系统,所述第一分片节点、所述第一备用节点和所述第二分片节点属于相同的联盟成员。
10.根据权利要求1所述的方法,其中,所述第一分片和各个所述第二分片分别存储不同账户的状态,所述跨分片子交易用于查询或修改所述第一分片中的状态。
11.一种在区块链系统中切换分片节点的装置,所述区块链系统包括第一分片和第二分片,所述第一分片包括第一分片节点,所述第一分片节点具有对应的第一备用节点,所述第一备用节点同步有所述第一分片节点在执行第一区块的过程中产生的第一状态信息,各个所述第二分片包括第二分片节点,所述装置应用于所述第一备用节点,包括:
接收模块,用于从所述第二分片节点接收跨分片信息;
执行模块,用于基于所述第一状态信息和所述跨分片信息,代替所述第一分片节点继续执行所述第一区块。
12.根据权利要求11所述的装置,其中,所述多个跨分片信息中包括至少一个第一跨分片子交易,所述第一跨分片子交易由所述第二分片节点在执行第二区块的过程中生成;
其中,所述执行模块被配置用于:基于所述第一状态信息,代替所述第一分片节点执行所述至少一个第一跨分片子交易。
13.根据权利要求12所述的装置,还包括:
存储模块,用于基于执行所述第一跨分片子交易的执行结果生成第二状态信息;存储所述第二状态信息。
14.根据权利要求11或12所述的装置,还包括:
转发模块,用于在仅从部分所述第二分片节点接收到所述跨分片信息时,将所述从部分所述第二分片节点接收到的跨分片信息转发给所述第一分片节点。
15.根据权利要求11或12所述的装置,其中,所述第二分片节点与所述第一分片节点互为信任节点。
16.根据权利要求11所述的装置,其中,对所述第一区块执行的过程中包括多轮交易执行过程,所述第一状态信息包括指示生成所述第一状态信息的交易执行过程的轮次的第一轮次信息,所述第一跨分片子交易包括指示生成所述第一跨分片子交易的交易执行过程的轮次的第二轮次信息;
其中,所述执行模块通过如下方式基于所述第一状态信息执行所述多个跨分片信息中包括的至少一个第一跨分片子交易:
在所述第一轮次信息和所述第二轮次信息指示不相同的交易执行过程轮次的情况中,指示各个所述第二分片节点向所述第一备用节点发送与第三轮次的交易执行过程对应的第二跨分片子交易,所述第三轮次为所述第一轮次与所述第二轮次之间的交易执行过程轮次;
基于所述第一状态信息执行所述第二跨分片子交易,生成第三状态信息;
基于所述第三状态信息执行所述第一跨分片子交易。
17.根据权利要求11所述的装置,还包括:
发送模块,用于在基于所述第一状态信息执行所述第一跨分片子交易之后没有生成与所述第二分片对应的新的跨分片子交易的情况中,向各个所述第二分片节点发送用于指示未生成跨分片子交易的跨分片信息。
18.根据权利要求16所述的装置,还包括:
确定模块,用于在向各个所述第二分片节点发送用于指示未生成跨分片子交易的跨分片信息、且从各个所述第二分片节点分别接收到用于指示未生成跨分片子交易的跨分片信息之后,确定已执行完成所述第一区块。
19.根据权利要求11所述的装置,其中,所述区块链系统包括联盟链系统,所述第一分片节点、所述第一备用节点和所述第二分片节点属于相同的联盟成员。
20.根据权利要求11所述的装置,其中,所述第一分片和各个所述第二分片分别存储不同账户的状态,所述跨分片子交易用于查询或修改所述第一分片中的状态。
21.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行权利要求1-10中任一项所述的方法。
22.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项所述的方法。
CN202110420966.0A 2021-04-19 2021-04-19 在区块链系统中切换分片节点的方法及装置 Active CN113268382B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110420966.0A CN113268382B (zh) 2021-04-19 2021-04-19 在区块链系统中切换分片节点的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110420966.0A CN113268382B (zh) 2021-04-19 2021-04-19 在区块链系统中切换分片节点的方法及装置

Publications (2)

Publication Number Publication Date
CN113268382A true CN113268382A (zh) 2021-08-17
CN113268382B CN113268382B (zh) 2022-08-09

Family

ID=77229015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110420966.0A Active CN113268382B (zh) 2021-04-19 2021-04-19 在区块链系统中切换分片节点的方法及装置

Country Status (1)

Country Link
CN (1) CN113268382B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468200A (zh) * 2021-09-01 2021-10-01 支付宝(杭州)信息技术有限公司 对区块链系统中的分片进行扩容的方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110570202A (zh) * 2019-09-02 2019-12-13 杭州趣链科技有限公司 一种基于分片技术的混合共识方法
WO2019242059A1 (zh) * 2018-06-20 2019-12-26 深圳大学 一种基于树状结构的分片区块链生成方法
CN110868424A (zh) * 2019-11-26 2020-03-06 深圳市信联征信有限公司 基于区块链的数据共享方法、装置、计算机设备及存储介质
CN111028902A (zh) * 2019-12-09 2020-04-17 天津开心生活科技有限公司 基于节点切换的请求处理方法及装置、设备和介质
CN111680050A (zh) * 2020-05-25 2020-09-18 杭州趣链科技有限公司 一种联盟链数据的分片处理方法、设备和存储介质
CN112261159A (zh) * 2020-12-21 2021-01-22 支付宝(杭州)信息技术有限公司 执行跨片事务的方法及系统、主链节点和目标分片节点
CN112261157A (zh) * 2020-12-21 2021-01-22 支付宝(杭州)信息技术有限公司 提交跨片事务的方法及系统、主链节点和源分片节点
CN112380064A (zh) * 2020-11-18 2021-02-19 深圳前海微众银行股份有限公司 一种区块链中的共识节点容错方法、装置及系统
CN112396422A (zh) * 2020-12-21 2021-02-23 支付宝(杭州)信息技术有限公司 提交跨片事务的方法及系统、主链节点和目标分片节点
CN112487491A (zh) * 2020-10-31 2021-03-12 远光软件股份有限公司 一种区块链系统的控制方法及相关装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019242059A1 (zh) * 2018-06-20 2019-12-26 深圳大学 一种基于树状结构的分片区块链生成方法
CN110570202A (zh) * 2019-09-02 2019-12-13 杭州趣链科技有限公司 一种基于分片技术的混合共识方法
CN110868424A (zh) * 2019-11-26 2020-03-06 深圳市信联征信有限公司 基于区块链的数据共享方法、装置、计算机设备及存储介质
CN111028902A (zh) * 2019-12-09 2020-04-17 天津开心生活科技有限公司 基于节点切换的请求处理方法及装置、设备和介质
CN111680050A (zh) * 2020-05-25 2020-09-18 杭州趣链科技有限公司 一种联盟链数据的分片处理方法、设备和存储介质
CN112487491A (zh) * 2020-10-31 2021-03-12 远光软件股份有限公司 一种区块链系统的控制方法及相关装置
CN112380064A (zh) * 2020-11-18 2021-02-19 深圳前海微众银行股份有限公司 一种区块链中的共识节点容错方法、装置及系统
CN112261159A (zh) * 2020-12-21 2021-01-22 支付宝(杭州)信息技术有限公司 执行跨片事务的方法及系统、主链节点和目标分片节点
CN112261157A (zh) * 2020-12-21 2021-01-22 支付宝(杭州)信息技术有限公司 提交跨片事务的方法及系统、主链节点和源分片节点
CN112396422A (zh) * 2020-12-21 2021-02-23 支付宝(杭州)信息技术有限公司 提交跨片事务的方法及系统、主链节点和目标分片节点

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468200A (zh) * 2021-09-01 2021-10-01 支付宝(杭州)信息技术有限公司 对区块链系统中的分片进行扩容的方法及装置
CN113468200B (zh) * 2021-09-01 2021-12-21 支付宝(杭州)信息技术有限公司 对区块链系统中的分片进行扩容的方法及装置

Also Published As

Publication number Publication date
CN113268382B (zh) 2022-08-09

Similar Documents

Publication Publication Date Title
CN110730204B (zh) 区块链网络中删除节点的方法和区块链系统
CN110535969B (zh) 基于区块链网络的数据存储方法、装置、存储介质和设备
AU2019203862B2 (en) System and method for ending view change protocol
CN113064764B (zh) 在区块链系统中执行区块的方法及装置
CN105677673B (zh) 业务处理方法、装置及系统
JP3798661B2 (ja) クラスタ化コンピュータ・システム内のグループのメンバによって受信されたマージ要求を処理する方法
CN109886690B (zh) 一种区块链同步账本的方法
CN113268382B (zh) 在区块链系统中切换分片节点的方法及装置
CN112052230B (zh) 多机房数据同步方法、计算设备及存储介质
CN115098229A (zh) 事务处理方法、装置、节点设备及存储介质
CN113157450A (zh) 在区块链系统中执行区块的方法及装置
CN113259476B (zh) 消息推送方法及系统
US20170300553A1 (en) System and methodology for propagating modifications in key-value pairs across a cluster of computers
US11537619B1 (en) Replica group modification in a distributed database
CN113064768B (zh) 在区块链系统中切换分片节点的方法和装置
CN110661841A (zh) 微服务架构中分布式服务发现集群的数据一致性方法
WO2021184873A1 (zh) 用于区块链网络中的数据同步的方法、装置和计算设备
CN113256291A (zh) 在区块链系统中创建账户及分配交易的方法及装置
CN113157494B (zh) 区块链系统中数据备份的方法及装置
CN113468200B (zh) 对区块链系统中的分片进行扩容的方法及装置
CN111488238B (zh) 一种块存储节点数据修复方法及存储介质
CN115145715A (zh) 一种分布式事务处理方法、系统及相关设备
CN113204424A (zh) 一种优化Raft集群的方法、装置及存储介质
CN112506705A (zh) 一种分布式存储的配置信息备份方法及装置
CN106790447B (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
GR01 Patent grant
GR01 Patent grant