[go: up one dir, main page]

CN119396611A - 联盟链系统的出块方法、装置和联盟链系统 - Google Patents

联盟链系统的出块方法、装置和联盟链系统 Download PDF

Info

Publication number
CN119396611A
CN119396611A CN202411413066.3A CN202411413066A CN119396611A CN 119396611 A CN119396611 A CN 119396611A CN 202411413066 A CN202411413066 A CN 202411413066A CN 119396611 A CN119396611 A CN 119396611A
Authority
CN
China
Prior art keywords
consensus
consensus node
node
target
block
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.)
Pending
Application number
CN202411413066.3A
Other languages
English (en)
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.)
Sichuan Yuanshu Gravity Digital Technology Co ltd
China Academy of Information and Communications Technology CAICT
Original Assignee
Sichuan Yuanshu Gravity Digital Technology Co ltd
China Academy of Information and Communications Technology CAICT
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 Sichuan Yuanshu Gravity Digital Technology Co ltd, China Academy of Information and Communications Technology CAICT filed Critical Sichuan Yuanshu Gravity Digital Technology Co ltd
Priority to CN202411413066.3A priority Critical patent/CN119396611A/zh
Publication of CN119396611A publication Critical patent/CN119396611A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开实施例公开了一种联盟链系统的出块方法、装置和联盟链系统,其中,该方法包括:监测联盟链系统的共识节点组中各共识节点的出块时间,并监测所述各共识节点的共识投票;基于所述各共识节点的出块时间和共识投票,确定所述各共识节点中是否存在宕机的共识节点;响应于确定存在宕机的共识节点且所述宕机的共识节点包括目标共识节点,控制所述共识节点组中除所述目标共识节点外的剩余共识节点轮流出块。本公开实施例可以避免由于共识节点宕机导致共识节点组的出块时间过长,大幅提升联盟链系统的出块性能。

Description

联盟链系统的出块方法、装置和联盟链系统
技术领域
本公开涉及区块链技术,尤其是一种联盟链系统的出块方法、装置和联盟链系统。
背景技术
联盟链系统,针对某个特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。在联盟链系统中,为了负载均衡和拜占庭容错,通常使用多个共识节点轮流作为领导节点负责出块。当某个共识节点宕机后,每个周期在宕机节点出块的时间点存在两个相邻区块在超时的情况下被判定为失败,极大地损害了系统性能。
发明内容
本公开实施例提供一种联盟链系统的出块方法、装置和联盟链系统,以解决上述问题。
本公开实施例的第一方面,提供一种联盟链系统的出块方法,包括:
监测联盟链系统的共识节点组中各共识节点的出块时间,并监测所述各共识节点的共识投票,其中,所述共识节点组中各共识节点轮流出块;
基于所述各共识节点的出块时间和共识投票,确定所述各共识节点中是否存在宕机的共识节点;
响应于确定存在宕机的共识节点且所述宕机的共识节点包括目标共识节点,控制所述共识节点组中除所述目标共识节点外的剩余共识节点轮流出块;其中,所述各共识节点包括所述目标共识节点。
在本公开的一个实施例中,所述基于所述各共识节点的出块时间和共识投票,确定所述各共识节点中是否存在共识节点宕机,包括:
响应于监测到所述目标共识节点连续多次的出块时间均大于预设时间阈值且未收到所述目标共识节点连续多次的共识投票,确定存在所述宕机的共识节点且所述宕机的共识节点包括所述目标共识节点。
在本公开的一个实施例中,在所述响应于确定所述各共识节点中目标共识节点宕机,控制所述共识节点组中除所述目标共识节点外的剩余共识节点轮流出块的过程中,还包括:
禁止所述目标共识节点的出块权限且允许所述目标共识节点进行共识投票。
在本公开的一个实施例中,在所述禁止所述目标共识节点的出块权限且允许所述目标共识节点进行共识投票的过程中,还包括:
响应于接收到所述目标共识节点的共识投票,恢复所述目标共识节点的出块权限,以使所述各共识节点轮流出块。
在本公开的一个实施例中,所述恢复所述目标共识节点的出块权限,以使所述各共识节点轮流出块,包括:
获取在所述剩余共识节点轮流出块之前所述各共识节点的出块顺序;
在所述剩余共识节点完成一轮出块后,恢复所述目标共识节点的出块权限,以使所述各共识节点按照所述出块顺序轮流出块。
本公开实施例的第二方面,提供一种联盟链系统的出块装置,包括:
监测模块,用于监测联盟链系统的共识节点组中各共识节点的出块时间,并监测所述各共识节点的共识投票,其中,所述共识节点组中各共识节点轮流出块;
节点宕机确定模块,用于基于所述各共识节点的出块时间和共识投票,确定所述各共识节点中是否存在宕机的共识节点;
出块控制模块,用于响应于确定存在宕机的共识节点且所述宕机的共识节点包括目标共识节点,控制所述共识节点组中除所述目标共识节点外的剩余共识节点轮流出块;其中,所述各共识节点包括所述目标共识节点。
在本公开的一个实施例中,所述节点宕机确定模块用于响应于监测到所述目标共识节点连续多次的出块时间均大于预设时间阈值且未收到所述目标共识节点连续多次的共识投票,确定存在所述宕机的共识节点且所述宕机的共识节点包括所述目标共识节点。
在本公开的一个实施例中,所述出块控制模块用于在确定目标共识节点宕机后,禁止所述目标共识节点的出块权限且允许所述目标共识节点进行共识投票。
在本公开的一个实施例中,所述出块控制模块还用于响应于接收到所述目标共识节点的共识投票,恢复所述目标共识节点的出块权限,以使所述各共识节点轮流出块。
在本公开的一个实施例中,所述出块控制模块用于获取在所述剩余共识节点轮流出块之前所述各共识节点的出块顺序;所述出块控制模块还用于在所述剩余共识节点完成一轮出块后,恢复所述目标共识节点的出块权限,以使所述各共识节点按照所述出块顺序轮流出块。
本公开实施例的第三方面,提供一种联盟链系统,包括:
共识节点组,用于上述第二方面所述的装置进行出块。
本公开实施例的第四方面,提供一种电子设备,包括:
存储器,用于存储计算机程序产品;
处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述第一方面所述的方法。
本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时,实现上述第一方面所述的方法。
本公开实施例的联盟链系统的出块方法、装置和联盟链系统,由于联盟链系统的共识节点组中共识节点的出块时间和投票行为可以体现共识节点是否宕机,因此在根据共识节点组中各共识节点的出块时间和共识投票确定存在宕机的共识节点时,控制共识节点组中除宕机的共识节点外的剩余共识节点轮流出块,可以避免由于共识节点宕机导致共识节点组的出块时间过长,大幅提升联盟链系统的出块性能。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开一个实施例联盟链系统的出块方法的流程示意图;
图2为本公开一个示例中共识节点宕机前后的出块原理图;
图3为本公开一个实施例中联盟链系统的出块装置的结构框图;
图4为本公开一个实施例中电子设备的结构框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
图1为本公开一个实施例联盟链系统的出块方法的流程示意图。如图1所示,联盟链系统的出块方法,包括以下步骤:
S1:监测联盟链系统的共识节点组中各共识节点的出块时间,并监测各共识节点的共识投票。其中,共识节点组中各共识节点轮流出块。
在联盟链系统中设置有共识节点组。共识节点组包括多个共识节点,通常情况下共识节点组中共识节点的数量大于等于5,这是若共识节点数量过少(例如数量小于5)且某个共识节点宕机,则剩余共识节点难以保证共识投票的公正性。其中,共识节点组使用的共识方法,可以是拜占庭容错共识(Practical Byzantine Fault Tolerance,PBFT)方法、HotStuff共识方法(一种基于拜占庭容错的分布式共识方法)/Dumbo BFT共识方法(即小飞象拜占庭容错共识方法)中的一种。
为了负载均衡和拜占庭容错,共识节点组中各共识节点轮流作为领导节点进行出块,即各共识节点轮流作为领导节点生成新的区块,并由共识节点组内所有共识节点进行共识投票,例如根据各共识节点的权重投票是否接收新的区块。其中,每次共识投票时若有足够的票数(大于共识节点数量的2/3)才算投票通过,例如当共识节点组中的共识节点数量为6时,每次共识投票若收到4票(例如5票或6票)则表示投票通过。
在共识节点组中各共识节点轮流出块的过程中,联盟链系统监测共识节点组中各共识节点作为领导节点时的出块时间,并监测在连续各共识节点的共识投票情况。其中,共识投票情况包括是否接口收到各共识节点的共识投票,以及各同时节点投出的表征接受或拒绝区块的投票结果。
S2:基于各共识节点的出块时间和共识投票,确定各共识节点中是否存在宕机的共识节点。
由于各共识节点在正常工作状态下(非宕机状态)的出块时间通常小于一个预设的时间阈值,且各共识节点在正常工作状态下均会对新的区块进行共识投票,因此联盟链系统可以根据各共识节点的出块时间和共识投票情况确定各共识节点中是否存在某个共识节点宕机。
S3:响应于确定共识节点组中存在宕机的共识节点,且宕机的共识节点包括目标共识节点,控制共识节点组中除目标共识节点外的剩余共识节点轮流出块。其中,各共识节点包括目标共识节点。
若联盟链系统根据各共识节点的出块时间和共识投票情况确定共识节点组中存在宕机的共识节点,且宕机的共识节点包括目标共识节点,则可以控制共识节点组中除目标共识节点之外的剩余共识节点轮流出块,避免以目标共识节点宕机导致出块时间过长,进而影响联盟链系统的出块性能。
图2为本公开一个示例中共识节点宕机前后的出块原理图。如图2所示,联盟链系统的共识节点组包括5个共识节点,为别是节点n1、节点n2、节点n3、节点n4和节点n5。
在共识节点组中各共识节点均正常工作时,各共识节点轮流出块,即在每个出块轮次中,按照节点n1->节点n2->节点n3->节点n4->节点n5的顺序轮流出块。
在共识节点组的节点n1宕机时,节点n5和节点n1的出块时间过长甚至无法出块共识。例如联盟链的共识方法要求当前领导节点出块后发送给下一个共识节点然后进行共识投票,当节点n1宕机时,即无法接收节点n5发出的区块又无法向节点n2发出新的区块,导致在节点n5和节点n1出块时耗费大量时间,从而导致联盟链系统的出块性能急剧恶化。
在监测到节点n1宕机时,控制除节点n1之外的剩余节点(即节点n2、节点n3、节点n4和节点n5)按照节点n2->节点n3->节点n4->节点n5的顺序轮流出块,从而可以保证联盟链系统的出块性能。
在本实施例中,由于联盟链系统的共识节点组中共识节点的出块时间和投票行为可以体现共识节点是否宕机,因此在根据共识节点组中各共识节点的出块时间和共识投票确定存在宕机的共识节点时,控制共识节点组中除宕机的共识节点外的剩余共识节点轮流出块,可以避免由于共识节点宕机导致共识节点组的出块时间过长,大幅提升联盟链系统的出块性能。
在本公开的一个实施例中,步骤S2可以包括:响应于监测到目标共识节点连续多次的出块时间均大于预设时间阈值且未收到目标共识节点连续多次的共识投票,确定目标共识节点宕机。
由于当共识节点宕机时其出块时间通常远远超过原本的出块时间,甚至可能无法出块,而当共识节点网络不稳定时通常不会出现连续多次出块时间远远超过原本的出块时间,且共识节点宕机时通常无法进行共识投票导致联盟链系统无法收到宕机共识节点发出的共识投票,因此可以设定一个用于衡量是否共识节点是否宕机的时间阈值。
当联盟链系统监测到共识节点组中存在某个共识节点(定义为目标共识节点)连续多次的出块时间均大于预设时间阈值且未收到目标共识节点连续多次的共识投票,则可以准确地确定目标共识节点宕机。
在本实施例中,在监测到目标共识节点连续多次的出块时间均大于预设时间阈值且未收到目标共识节点连续多次的共识投票时,可以准确地确定目标共识节点宕机,以便在确定目标节点宕机后由目标共识节点外的共识节点轮流出块,从而保证联盟链系统的出块性能。
在本公开的一个实施例中,在执行步骤S3的过程中,还可以执行以下步骤:禁止目标共识节点的出块权限且允许目标共识节点进行共识投票。
联盟链系统在确定目标共识节点宕机后,禁止目标共识节点的出块权限可以避免由于目标共识节点出块时间过长降低联盟链系统的出块性能,通过允许目标共识节点进行共识投票,可以在联盟链系统收到目标共识节点的共识投票时快速得知目标共识节点的网络状态恢复正常。之后,联盟链系统可以对网络状态恢复正常的目标共识节点恢复出块权限。
在实施例中,在确定目标共识节点宕机后,一方面可以通过禁止目标共识节点的出块权限避免由于目标共识节点出块时间过长降低联盟链系统的出块性能,另一方面可以通过允许目标共识节点进行共识投票,以便在联盟链系统收到目标共识节点的共识投票时快速得知目标共识节点的网络状态恢复正常,有助于快速令恢复正常网络状态的目标共识节点进行出块。
在本公开的一个实施例中,在禁止目标共识节点的出块权限且允许目标共识节点进行共识投票的过程中,还可以执行以下步骤:响应于接收到目标共识节点的共识投票,恢复目标共识节点的出块权限,以使各共识节点轮流出块。
联盟链系统在禁止目标共识节点的出块权限且允许目标共识节点进行共识投票后,若接收到目标共识节点的共识投票,则可以得知目标共识节点的网络已恢复到正常状态,之后可以恢复目标共识节点的出块权限,以使目标共识节点与其他共识节点轮流出块。
在本实施例中,在禁止目标共识节点的出块权限且允许目标共识节点进行共识投票后,若接收到目标共识节点的共识投票则表征目标共识节点的网络状态恢复正常,通过恢复目标共识节点的出块权限,可以使目标共识节点与其他共识节点轮流出块,由于增加了可以出块的共识节点数量从而可以降低单一共识节点的出块压力。
在本公开的一个实施例中,恢复目标共识节点的出块权限,以使各共识节点轮流出块的步骤,具体可以包括:获取在剩余共识节点轮流出块之前各共识节点的出块顺序;在剩余共识节点完成一轮出块后,恢复目标共识节点的出块权限,以使各共识节点按照出块顺序轮流出块。
请参考图2,若目标共识节点为节点n1,在节点n1宕机前的出块顺序为n1->节点n2->节点n3->节点n4->节点n5,则在节点n1的网络恢复正常后,在完成节点n2->节点n3->节点n4->节点n5的一轮出块后,恢复节点n1的出块权限。之后,按照n1->节点n2->节点n3->节点n4->节点n5的顺序轮流出块。
在本实施例中,在原先宕机的共识节点网络恢复正常后,在当前可以出块的共识节点完成一轮出块后恢复原先宕机的共识节点的出块权限,以使可以出块的共识节点按照原先的出块顺序轮流出块,一方面由于增加了可以出块的共识节点数量从而可以降低单一共识节点的出块压力,另一方面由于无需修改共识节点组原先的出块顺序从而可以降低因修改数出块顺序导致的数据处理量。
图3为本公开一个实施例中联盟链系统的出块装置的结构框图。如图3所示,联盟链系统的出块装置,包括:
监测模块100,用于监测联盟链系统的共识节点组中各共识节点的出块时间,并监测各共识节点的共识投票,其中,共识节点组中各共识节点轮流出块;
节点宕机确定模块200,用于基于各共识节点的出块时间和共识投票,确定各共识节点中是否存在宕机的共识节点;
出块控制模块300,用于响应于确定存在宕机的共识节点且宕机的共识节点包括目标共识节点,控制共识节点组中除目标共识节点外的剩余共识节点轮流出块;其中,各共识节点包括目标共识节点。
在本公开的一个实施例中,节点宕机确定模块200用于响应于监测到目标共识节点连续多次的出块时间均大于预设时间阈值且未收到目标共识节点连续多次的共识投票,确定存在宕机的共识节点且宕机的共识节点包括目标共识节点。
在本公开的一个实施例中,出块控制模块300用于在确定目标共识节点宕机后,禁止目标共识节点的出块权限且允许目标共识节点进行共识投票。
在本公开的一个实施例中,出块控制模块300还用于响应于接收到目标共识节点的共识投票,恢复目标共识节点的出块权限,以使各共识节点轮流出块。
在本公开的一个实施例中,出块控制模块300用于获取在剩余共识节点轮流出块之前各共识节点的出块顺序;出块控制模块300还用于在剩余共识节点完成一轮出块后,恢复目标共识节点的出块权限,以使各共识节点按照出块顺序轮流出块。
需要说明的是,本公开实施例的联盟链系统的出块装置的具体实施方式与本公开实施例的联盟链系统的出块方法的具体实施方式类似,具体参见联盟链系统的出块方法部分的描述,为了减少冗余,不作赘述。
本公开实施例还提供一种联盟链系统,包括共识节点组,该共识节点组用于通过上述任一实施例所述的联盟链系统的出块装置进行出块。
另外,本公开实施例还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的联盟链系统的出块方法。
下面,参考图4来描述根据本公开实施例的电子设备。如图4所示,电子设备包括一个或多个处理器和存储器。
处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以存储一个或多个计算机程序产品,所述存储器可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序产品,处理器可以运行所述计算机程序产品,以实现上文所述的本公开的各个实施例的联盟链系统的出块方法以及/或者其他期望的功能。
在一个示例中,电子装置还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置还可以包括例如键盘、鼠标等等。
该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出装置等等。
当然,为了简化,图4中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的联盟链系统的出块方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的联盟链系统的出块方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (13)

1.一种联盟链系统的出块方法,其特征在于,包括:
监测联盟链系统的共识节点组中各共识节点的出块时间,并监测所述各共识节点的共识投票,其中,所述共识节点组中各共识节点轮流出块;
基于所述各共识节点的出块时间和共识投票,确定所述各共识节点中是否存在宕机的共识节点;
响应于确定存在宕机的共识节点且所述宕机的共识节点包括目标共识节点,控制所述共识节点组中除所述目标共识节点外的剩余共识节点轮流出块;其中,所述各共识节点包括所述目标共识节点。
2.根据权利要求1所述的方法,其特征在于,所述基于所述各共识节点的出块时间和共识投票,确定所述各共识节点中是否存在宕机的共识节点,包括:
响应于监测到所述目标共识节点连续多次的出块时间均大于预设时间阈值且未收到所述目标共识节点连续多次的共识投票,确定存在所述宕机的共识节点且所述宕机的共识节点包括所述目标共识节点。
3.根据权利要求1或2所述的方法,其特征在于,在所述响应于确定所述各共识节点中目标共识节点宕机,控制所述共识节点组中除所述目标共识节点外的剩余共识节点轮流出块的过程中,还包括:
禁止所述目标共识节点的出块权限且允许所述目标共识节点进行共识投票。
4.根据权利要求3所述的方法,其特征在于,在所述禁止所述目标共识节点的出块权限且允许所述目标共识节点进行共识投票的过程中,还包括:
响应于接收到所述目标共识节点的共识投票,恢复所述目标共识节点的出块权限,以使所述各共识节点轮流出块。
5.根据权利要求4所述的方法,其特征在于,所述恢复所述目标共识节点的出块权限,以使所述各共识节点轮流出块,包括:
获取在所述剩余共识节点轮流出块之前所述各共识节点的出块顺序;
在所述剩余共识节点完成一轮出块后,恢复所述目标共识节点的出块权限,以使所述各共识节点按照所述出块顺序轮流出块。
6.一种联盟链系统的出块装置,其特征在于,包括:
监测模块,用于监测联盟链系统的共识节点组中各共识节点的出块时间,并监测所述各共识节点的共识投票,其中,所述共识节点组中各共识节点轮流出块;
节点宕机确定模块,用于基于所述各共识节点的出块时间和共识投票,确定所述各共识节点中是否存在宕机的共识节点;
出块控制模块,用于响应于确定存在宕机的共识节点且所述宕机的共识节点包括目标共识节点,控制所述共识节点组中除所述目标共识节点外的剩余共识节点轮流出块;其中,所述各共识节点包括所述目标共识节点。
7.根据权利要求6所述的装置,其特征在于,所述节点宕机确定模块用于响应于监测到所述目标共识节点连续多次的出块时间均大于预设时间阈值且未收到所述目标共识节点连续多次的共识投票,确定存在所述宕机的共识节点且所述宕机的共识节点包括所述目标共识节点。
8.根据权利要求6或7所述的装置,其特征在于,所述出块控制模块用于在确定目标共识节点宕机后,禁止所述目标共识节点的出块权限且允许所述目标共识节点进行共识投票。
9.根据权利要求8所述的装置,其特征在于,所述出块控制模块还用于响应于接收到所述目标共识节点的共识投票,恢复所述目标共识节点的出块权限,以使所述各共识节点轮流出块。
10.根据权利要求9所述的装置,其特征在于,所述出块控制模块用于获取在所述剩余共识节点轮流出块之前所述各共识节点的出块顺序;所述出块控制模块还用于在所述剩余共识节点完成一轮出块后,恢复所述目标共识节点的出块权限,以使所述各共识节点按照所述出块顺序轮流出块。
11.一种联盟链系统,其特征在于,包括:
共识节点组,用于通过权利要求6-10任一项所述的装置进行出块。
12.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序产品;
处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述权利要求1-5任一所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时,实现上述权利要求1-5任一所述的方法。
CN202411413066.3A 2024-10-10 2024-10-10 联盟链系统的出块方法、装置和联盟链系统 Pending CN119396611A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411413066.3A CN119396611A (zh) 2024-10-10 2024-10-10 联盟链系统的出块方法、装置和联盟链系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411413066.3A CN119396611A (zh) 2024-10-10 2024-10-10 联盟链系统的出块方法、装置和联盟链系统

Publications (1)

Publication Number Publication Date
CN119396611A true CN119396611A (zh) 2025-02-07

Family

ID=94428921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411413066.3A Pending CN119396611A (zh) 2024-10-10 2024-10-10 联盟链系统的出块方法、装置和联盟链系统

Country Status (1)

Country Link
CN (1) CN119396611A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111107103A (zh) * 2019-12-31 2020-05-05 南京可信区块链与算法经济研究院有限公司 一种联盟链的性能维持方法、系统及存储介质
CN111786818A (zh) * 2020-06-16 2020-10-16 杭州溪塔科技有限公司 一种区块链共识节点状态监控方法和装置
CN117411893A (zh) * 2022-07-08 2024-01-16 腾讯科技(深圳)有限公司 区块链的共识方法、装置、计算机可读介质及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111107103A (zh) * 2019-12-31 2020-05-05 南京可信区块链与算法经济研究院有限公司 一种联盟链的性能维持方法、系统及存储介质
CN111786818A (zh) * 2020-06-16 2020-10-16 杭州溪塔科技有限公司 一种区块链共识节点状态监控方法和装置
CN117411893A (zh) * 2022-07-08 2024-01-16 腾讯科技(深圳)有限公司 区块链的共识方法、装置、计算机可读介质及电子设备

Similar Documents

Publication Publication Date Title
CN113656168B (zh) 一种流量的自动容灾和调度的方法、系统、介质和设备
CN113342893B (zh) 基于区块链的节点同步方法、装置、存储介质及服务器
CN109766198B (zh) 流式处理方法、装置、设备及计算机可读存储介质
CN106775936A (zh) 一种虚拟机的管理方法及装置
CN112217604A (zh) 应用于网络安全防御系统的输入输出系统
CN115314289B (zh) 受攻击执行体识别方法、输出表决器、设备及存储介质
CN114169767A (zh) 一种风险评估方法和装置
CN109495543B (zh) 一种ceph集群中监视器的管理方法及装置
CN108334427B (zh) 存储系统中的故障诊断方法及装置
JP3993848B2 (ja) 計算機装置及び計算機装置の制御方法
CN112804333A (zh) 出块节点的异常处理方法、装置、设备和存储介质
CN112732474A (zh) 故障处理方法及装置、电子设备、计算机可读存储介质
CN110175832B (zh) 一种中间账户资金监管方法、系统及设备
CN118708418A (zh) 服务器软硬件信息诊断系统及方法
JP7644653B2 (ja) 管理装置および管理方法
CN119396611A (zh) 联盟链系统的出块方法、装置和联盟链系统
CN114416522A (zh) 区块链系统测试方法、装置、设备及存储介质
CN115061718B (zh) 配置和运行状态机的方法、计算设备和计算机存储介质
CN111698266A (zh) 服务节点调用方法、装置、设备及可读存储介质
CN112911011B (zh) 一种应用于区块链的区块生成控制方法及相关装置
US20240020276A1 (en) File storage system and file transfer method
CN117389702A (zh) 实时指标输入数据源切换方法、系统、装置及电子设备
CN113900855B (zh) 一种交换机异常状态的主动热启动方法、系统及装置
CN116627788A (zh) 硬盘的故障处理方法、装置、电子设备及介质
CN120821605B (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