CN112804349B - 区块链共识网络中处理共识请求的方法、装置和电子设备 - Google Patents

区块链共识网络中处理共识请求的方法、装置和电子设备 Download PDF

Info

Publication number
CN112804349B
CN112804349B CN202110185000.3A CN202110185000A CN112804349B CN 112804349 B CN112804349 B CN 112804349B CN 202110185000 A CN202110185000 A CN 202110185000A CN 112804349 B CN112804349 B CN 112804349B
Authority
CN
China
Prior art keywords
consensus
subsets
processed
request
subset
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
Application number
CN202110185000.3A
Other languages
English (en)
Other versions
CN112804349A (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.)
Ant Chain Technology Co ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN202110185000.3A priority Critical patent/CN112804349B/zh
Publication of CN112804349A publication Critical patent/CN112804349A/zh
Application granted granted Critical
Publication of CN112804349B publication Critical patent/CN112804349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种区块链共识网络中处理共识请求的方法,包括:确定待处理请求集合,待处理请求集合中包含待处理的共识请求;确定已处于共识阶段的子集合的数量,子集合由从待处理请求集合中获取到的待处理的共识请求构成;当已处于共识阶段的子集合的数量小于共识网络的预设并发数时,向共识网络发起对新的子集合的共识提议,使得新的子集合进入共识阶段进行共识请求的处理;其中,预设并发数为共识网络中允许同时处于共识阶段的子集合的数量上限。

Description

区块链共识网络中处理共识请求的方法、装置和电子设备
本发明专利申请是申请日为2017.07.14、申请号为201710573527.7、名称为“区块链共识网络中处理共识请求的方法、装置和电子设备”的中国发明专利申请的分案申请。
技术领域
本申请涉及计算机技术领域,尤其涉及一种区块链共识网络中处理共识请求的方法、装置和电子设备。
背景技术
随着计算机技术的发展,区块链技术(又称分布式账本技术)以其去中心化、公开透明、不可篡改、可信任等优点,备受青睐,在智能合约、证券交易、电子商务、物联网、社交通讯、文件存储、存在性证明、身份验证、股权众筹等众多领域得到广泛应用。
在区块链的应用中,区块链的共识网络中的多个副本往往需要就多个备选方案最终达成一致确定的、唯一的选择结果,进行这一选择的过程,就可称为共识。然而,现有技术中的共识过程存在性能瓶颈,在共识请求的处理效率上难以提升。
因此,亟需一种能够提高处理效率的方案,以提升共识网络的处理性能。
发明内容
本申请实施例提供区块链共识网络中处理共识请求的方法、装置和电子设备,旨在提高共识网络对共识请求的处理效率。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供一种区块链共识网络中处理共识请求的方法,包括:
确定待处理请求集合,所述待处理请求集合中包含待处理的共识请求;
确定已处于共识阶段的子集合的数量,所述子集合由从所述待处理请求集合中获取到的待处理的共识请求构成;
当已处于共识阶段的子集合的数量小于共识网络的预设并发数时,向所述共识网络发起对新的子集合的共识提议,使得所述新的子集合进入所述共识阶段进行共识请求的处理;其中,所述预设并发数为所述共识网络中允许同时处于所述共识阶段的子集合的数量上限。
优选地,在本申请实施例第一方面提供的方法中,在确定待处理请求集合之后,所述方法还包括:
从所述待处理请求集合中获取待处理的共识请求,构成所述子集合。
优选地,在本申请实施例第一方面提供的方法中,从所述待处理请求集合中获取待处理的共识请求,构成所述子集合之后,所述方法还包括:
为所述子集合分配序列号,所述序列号为连续单调递增的自然数。
优选地,在本申请实施例第一方面提供的方法中,确定已处于共识阶段的子集合的数量,包括:
依据已结束共识阶段的子集合的序列号,确定第一序列号;依据已进入共识阶段的子集合的序列号,确定第二序列号;
依据所述第一序列号和所述第二序列号,确定已处于共识阶段的子集合的数量。
优选地,在本申请实施例第一方面提供的方法中,依据已结束共识阶段的子集合的序列号,确定第一序列号,包括:将已结束共识阶段的多个子集合的序列号中的最大者,确定为所述第一序列号;
依据已进入共识阶段的子集合的序列号,确定第二序列号,包括:将已进入共识阶段的多个子集合的序列号中的最大者,确定为所述第二序列号;
则依据所述第一序列号和所述第二序列号,确定已处于共识阶段的子集合的数量,包括:
将所述第一序列号和所述第二序列号的差值,确定为处于共识阶段的子集合的数量。
优选地,在本申请实施例第一方面提供的方法中,当处于共识阶段的子集合的数量小于共识网络的预设并发数时,向所述共识网络发起对新的子集合的共识提议,使得所述新的子集合进入所述共识阶段,包括:
当处于共识阶段的子集合的数量小于共识网络的预设并发数时,依据所述第二序列号确定所述新的子集合及其序列号;
向所述共识网络发起对所述新的子集合的共识提议,使得所述新的子集合进入所述共识阶段。
优选地,在本申请实施例第一方面提供的方法中,依据所述第二序列号确定所述新的子集合及其序列号,包括:
从所述待处理请求集合中获取待处理的共识请求,构成所述新的子集合;
依据所述第二序列号,将所述第二序列号的数值加一,作为所述新的子集合的序列号。
优选地,在本申请实施例第一方面提供的方法中,依据所述第二序列号确定所述新的子集合及其序列号,包括:
依据所述第二序列号,将所述第二序列号的数值加一,作为所述新的子集合的序列号;
依据所述新的子集合的序列号,确定所述新的子集合。
优选地,在本申请实施例第一方面提供的方法中,确定已处于共识阶段的子集合的数量,包括:
在向所述共识网络发起对新的子集合的共识提议,使得所述新的子集合进入所述共识阶段之后,重新确定已处于共识阶段的子集合的数量。
优选地,在本申请实施例第一方面提供的方法中,在向所述共识网络发起对新的子集合的共识提议之后,所述方法还包括:
对所述新的子集合中包含的待处理的共识请求进行共识;
当满足预设条件时,将对所述新的子集合中包含的待处理的共识请求的共识结果写入所述区块链,结束所述共识阶段。
优选地,在本申请实施例第一方面提供的方法中,满足预设条件包括:
序列号在所述新的子集合的序列号之前的子集合已结束所述共识阶段。
优选地,在本申请实施例第一方面提供的方法中,确定已处于共识阶段的子集合的数量,包括:
在将对所述新的子集合中包含的待处理的共识请求的共识结果写入所述区块链之后,重新确定已处于共识阶段的子集合的数量。
优选地,在本申请实施例第一方面提供的方法中,将对所述新的子集合中包含的待处理的共识请求的共识结果写入所述区块链,包括:
将对所述新的子集合中包含的待处理的共识请求的共识结果,按照接收到所述待处理的共识请求的时间顺序,写入所述区块链。
第二方面,本申请实施例还提供一种区块链共识网络中处理共识请求的方法,包括:
确定待处理请求集合,所述待处理请求集合中包含待处理的共识请求;
在接收到对新的子集合的共识提议之后,判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数;其中,所述子集合由主节点从所述待处理请求集合中获取到的待处理的共识请求构成;
若已处于共识阶段的子集合的数量小于共识网络的预设并发数,则所述新的子集合进入所述共识阶段,进行共识请求的处理。
优选地,在本申请实施例第二方面提供的方法中,在判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数之前,所述方法还包括:
确定已处于共识阶段的子集合的数量。
优选地,在本申请实施例第二方面提供的方法中,所述新的子集合进入所述共识阶段,进行共识请求的处理,包括:
对所述新的子集合中包含的待处理的共识请求进行共识;
当满足预设条件时,将对所述新的子集合中包含的待处理的共识请求的共识结果写入所述区块链,结束所述共识阶段。
优选地,在本申请实施例第二方面提供的方法中,满足预设条件,包括:
序列号在所述新的子集合的序列号之前的子集合已结束所述共识阶段。
第三方面,本申请实施例提供一种区块链共识网络中处理共识请求的装置,包括:
集合确定模块,确定待处理请求集合,所述待处理请求集合中包含待处理的共识请求;
数量确定模块,确定已处于共识阶段的子集合的数量,所述子集合由从所述待处理请求集合中获取到的待处理的共识请求构成;
判断模块,判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数。
优选地,在本申请实施例第三方面提供的装置中,还包括:
共识提议发起模块,当已处于共识阶段的子集合的数量小于共识网络的预设并发数时,向所述共识网络发起对新的子集合的共识提议,使得所述新的子集合进入所述共识阶段进行共识请求的处理;其中,所述预设并发数为所述共识网络中允许同时处于所述共识阶段的子集合的数量上限。
优选地,在本申请实施例第三方面提供的装置中,还包括:
共识模块,对所述新的子集合中包含的待处理的共识请求进行共识;
入链模块,当满足预设条件时,将对所述新的子集合中包含的待处理的共识请求的共识结果写入所述区块链,结束所述共识阶段。
第四方面,本申请实施例提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
确定待处理请求集合,所述待处理请求集合中包含待处理的共识请求;
确定已处于共识阶段的子集合的数量,所述子集合由从所述待处理请求集合中获取到的待处理的共识请求构成;
当已处于共识阶段的子集合的数量小于共识网络的预设并发数时,向所述共识网络发起对新的子集合的共识提议,使得所述新的子集合进入所述共识阶段进行共识请求的处理;其中,所述预设并发数为所述共识网络中允许同时处于所述共识阶段的子集合的数量上限。
第五方面,本申请实施例提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
确定待处理请求集合,所述待处理请求集合中包含待处理的共识请求;
在接收到对新的子集合的共识提议之后,判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数;其中,所述子集合由主节点从所述待处理请求集合中获取到的待处理的共识请求构成;
若已处于共识阶段的子集合的数量小于共识网络的预设并发数,则所述新的子集合进入所述共识阶段,进行共识请求的处理。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
一方面,从待处理请求集合中获取一批待处理的共识请求构成子集合,并以子集合为单位,发起对这一批请求的共识提议,有利于提高对共识请求的处理效率。
再一方面,在共识网络中设定预设并发数,允许多个子集合处于共识阶段进行共识请求的处理,使得共识网络可以并行的处理多条待处理的共识请求,从而有利于提高对共识请求的处理效率,提升了共识网络的处理性能。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种区块链共识网络中处理共识请求的方法的流程示意图;
图2为本申请实施例提供的另一种区块链共识网络中处理共识请求的方法的流程示意图;
图3为本申请实施例提供的一种区块链共识网络中处理共识请求的装置的结构示意图;
图4为本申请实施例提供的第二种区块链共识网络中处理共识请求的装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图;
图6为本申请实施例提供的另一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
参见图1所示,本申请实施例提供一种区块链共识网络中处理共识请求的方法,包括:
S101:确定待处理请求集合,待处理请求集合中包含待处理的共识请求;
S103:确定已处于共识阶段的子集合的数量,子集合由从待处理请求集合中获取到的待处理的共识请求构成;
S105:当已处于共识阶段的子集合的数量小于共识网络的预设并发数时,向共识网络发起对新的子集合的共识提议,使得新的子集合进入共识阶段进行共识请求的处理;其中,预设并发数为共识网络中允许同时处于共识阶段的子集合的数量上限。
上述实施例中的共识网络,可以理解为是区块链系统中能够参与共识过程的多个节点所构成的网络。在共识网络中,同一时刻只有一个主节点,负责捞取待处理的共识请求以构成子集合,对这些子集合进行编号、排序,进而依次发起对这些子集合的共识提议,以便进一步完成对待处理的共识请求的共识。图1所示的实施例适用于共识网络中的主节点,主要体现了主节点如何发起共识提议进而完成共识请求处理的方法。
在本申请实施例所称的共识网络中,可以参考例如三阶段共识(包括预准备阶段pre-prepare、准备阶段prepare和确认阶段commit)等机制进行共识请求的处理。待处理的共识请求所在的子集合被提议共识后,该子集合将进入共识阶段;在该子集合处于共识阶段时,共识网络对该子集合中的待处理的共识请求进行共识;当满足预设条件时,如当该子集合中的所有待处理的共识请求都已得到确定的共识结果时,将对该子集合中包含的待处理的共识请求的共识结果写入区块链,至此,该子集合结束共识阶段,该子集合中的待处理的共识请求也都处理完毕。
具体地,区块链系统的一个或多个客户端(又可称作Client)将待执行的共识请求发送到区块链中提供共识服务的节点,这些提供共识服务的节点构成共识网络,在共识网络中又可以称为副本节点(又可称作replicas)。待执行的共识请求用于请求共识网络中的副本节点对相应的事项进行共识,形成共识结果并将共识结果写入区块链。在共识网络中的每个副本节点(replicas)都会收到客户端(Client)发送来的待处理的共识请求。各副本节点,包括当前时刻的主节点(又可称作primary)和备份节点(又可称作backups,为共识网络中主节点以外的副本节点),可以对接收到的待处理的共识请求进行格式检查,若格式检查通过,则将待处理的共识请求存入待处理请求集合,可记为P。更具体地,待处理请求集合可以缓存在主节点的缓存池中。
需要说明的是,共识网络中的主节点并非一成不变的,而可以采用视图切换协议(又可称作view change协议)在各共识节点(即副本节点)中进行切换。例如,协议可以约定每一副本节点充当主节点的时间,定期进行主节点的切换。协议也可以由当前时刻充当备份节点的副本节点在一定条件下提出切换视图的申请,例如,当认为主节点作恶,出现错误,或通过timeout机制检测到主节点已经宕机时,备份节点可以触发view change协议选举出新的主节点。当共识网络中针对这一切换视图的申请达成一致意见时,即可进行视图的切换,改变主节点。视图与主节点之间的对应关系可以由视图切换协议确定,例如,可以约定,编号为1的视图对应编号为1的副本节点,编号为2的视图对应编号为2的副本节点,依此类推;则当切换到编号为1的视图时,编号为1的副本节点充当主节点,等等。
主节点执行步骤S101确定待处理请求集合后,可以进一步执行步骤S103,确定已处于共识阶段的子集合的数量。其中,子集合由从待处理请求集合中获取到的待处理的共识请求构成的,可以是主节点在执行步骤S101之后,从待处理请求集合P中获取(也可称作捞取)一批待处理的共识请求,构成子集合。在捞取时,可遵循一定的预设规则,例如,可约定捞取请求的条数,每次捞取100条待处理共识请求;可约定从多个缓存池中平均的捞取待处理的共识请求等。在捞取时的具体规则可以通过对副本节点的配置进行调整,本申请实施例对此不做限定。
还可以理解到的是,当某条待处理的共识请求从待处理请求集合中被捞取构成子集合后,可以将该条待处理的共识请求从待处理请求集合中删除,也可以对其置以标识信息以便不再被捞取构成其他子集合,从而避免对待处理的共识请求进行重复处理。
在执行步骤S103,确定已处于共识阶段的子集合的数量时,有多种可行的具体方案。例如,可以设置一计数器,当某一子集合进入共识阶段时,该计数器的值加1;当某一子集合结束共识阶段时,该计数器的值减1。因此,通过读取该计数器的值,就能够确定已处于共识阶段的子集合的数量,进而可以进行后续步骤确定是否可以发起共识提议。
在本申请实施例中,优选对子集合进行连续递增编号,并根据编号的数值大小确定已处于共识阶段的子集合的数量。具体的,在从待处理请求集合中获取待处理的共识请求,构成子集合之后,还进一步为子集合分配序列号,序列号为连续单调递增的自然数,即稠密自然数。
需要说明的是,从待处理请求集合中捞取待处理的共识请求构成子集合的过程,可以在确定了待处理请求集合后按照一定的规则直接捞取待处理的共识请求,构成多个子集合,可以存在缓存中供读取。此时,可以为多个子集合分配连续单调递增的自然数作为子集合的序列号,在对新的子集合发起新的共识提议时,也依据序列号的先后顺序发起,即在后发起共识提议的子集合的序列号比在先发起共识提议的子集合的序列号多1。那么相应地,在要发起新的共识提议时,可以在当前时刻最后被提议共识的子集合的序列号(即稍后将要介绍的第二序列号)的基础上加1,作为新的子集合的序列号;再依据新的子集合的序列号,确定新的子集合。
从待处理请求集合中捞取待处理的共识请求构成子集合的过程,也可以在满足发起新的共识提议的条件时,再进行待处理共识请求的捞取,构成新的子集合并对该新的子集合发起共识提议。此时,可以在构成新的子集合后,在当前时刻最后被提议共识的子集合的序列号(即稍后将要介绍的第二序列号)的基础上加1,作为新的子集合的序列号。相对于前文所述的捞取请求构成子集合的方式,这种方式因实现复杂度更低而可作为优选。
在对子集合进行连续单调递增的编号后,上述步骤S103的实现,可以具体包括:
依据已结束共识阶段的子集合的序列号,确定第一序列号;依据已进入共识阶段的子集合的序列号,确定第二序列号;
依据第一序列号和第二序列号,确定已处于共识阶段的子集合的数量。
进一步地,依据已结束共识阶段的子集合的序列号,确定第一序列号,可以包括:将已结束共识阶段的多个子集合的序列号中的最大者,确定为第一序列号;
依据已进入共识阶段的子集合的序列号,确定第二序列号,可以包括:将已进入共识阶段的多个子集合的序列号中的最大者,确定为第二序列号;
则依据第一序列号和第二序列号,确定已处于共识阶段的子集合的数量,包括:将第一序列号和第二序列号的差值,确定为处于共识阶段的子集合的数量。
需要说明的是,第一序列号和第二序列号的确定过程,在顺序上不做要求,可以同时并行进行,也可以以任意顺序串行进行。
还需要说明的是,已结束共识阶段的子集合,表示该子集合中的待处理的共识请求已经过成功共识,并且,共识的结果已成功入链,即表示该子集合中的待处理的共识请求已处理完毕。此时,为保证区块链数据的一致性,在将某子集合的共识结果写入区块链之前,需要进行预设条件的判断,如共识网络的各副本节点需要确保序列号在该子集合的序列号之前的子集合已结束共识阶段,完成共识结果的入链。因此,可以将已结束共识阶段的多个子集合的序列号中的最大者,确定为第一序列号,使得第一序列号代表主节点所知的最新被成功共识且共识结果已成功入链的子集合的序列号。
还需要说明的是,已进入共识阶段的子集合,表示该子集合中的待处理的共识请求已被发起共识提议,正处于共识阶段。如前所述,由于按照序列号的大小顺序依次对相应的子集合发起共识提议,因此,可以将已进入共识阶段的多个子集合的序列号中的最大者,确定为第二序列号,使得第二序列号代表主节点所知的最新发起了共识提议的子集合的序列号。
因此,上述第一序列号和第二序列号的差值,就表示已经被发起共识提议但尚未完成共识请求处理的子集合的数量,从而可以将该差值确定为处于共识阶段的子集合的数量。
在执行步骤S103确定已处于共识阶段的子集合的数量之后,主节点进一步判断处于共识阶段的子集合的数量是否小于共识网络的预设并发数。若处于共识阶段的子集合的数量等于共识网络的预设并发数,表示共识网络已无法接纳新的子集合进入共识阶段,则主节点将等待条件满足时再对新的子集合发起共识提议。而若处于共识阶段的子集合的数量小于共识网络的预设并发数,则表示共识网络还能够接纳新的子集合进入共识阶段,则主节点可以依据上述的第二序列号确定新的子集合及其序列号,进而向共识网络发起对新的子集合的共识提议,使得新的子集合进入共识阶段。本领域技术人员能够理解的是,正常情况下,共识网络中不会出现“处于共识阶段的子集合的数量大于共识网络的预设并发数”这一情况。而一旦出现,则表示主节点可能出现序列号分配错误等异常状态,或者表示共识网络已经存在某种异常,则共识网络中的各副本节点可以触发视图切换协议以进行主节点的切换,也可以采取其他救济措施。
特别说明的是,对于其他作为备份节点的副本节点而言,也可以对主节点发起的共识提议是否进行验证。在验证时,也需要判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数。具体实现时,备份节点可以根据自己所知的最新发起了共识提议的子集合的序列号(相当于第二序列号)和最新被成功共识且共识结果已成功入链的子集合的序列号(相当于第一序列号)进行判断和验证。
还需说明的是,主节点在发起共识提议时,应以合法的共识提议消息的形式向共识网络中所有副本节点广播,从而发起针对新的子集合的这轮共识。主节点发送的共识提议中,可以包括主节点的签名信息,子集合的序列号,子集合的消息摘要等内容,供接收到共识提议的副本节点对该提议进行检查。
以上阐述从不同角度介绍了本申请实施例在发起新的共识提议时多种可选的具体实施方式。事实上,在待处理请求集合中的请求尚未全部处理完毕时,可以循环执行上述步骤S103和步骤S105,即在执行S105向共识网络发起对新的子集合的共识提议,使得新的子集合进入共识阶段之后,若待处理请求集合中仍然有未发起共识提议的待处理的共识请求,则主节点可返回执行步骤S103,重新确定已处于共识阶段的子集合的数量,以便判断是否可对新的子集合发起新的共识提议。依此类推,直至所有的待处理共识请求全部处理完毕,成功取得共识结果且共识结果成功入链。类似地,在将对新的子集合中包含的待处理的共识请求的共识结果写入区块链之后,也需要重新确定已处于共识阶段的子集合的数量,以便确定共识网络是否可接纳新的子集合,进而确定是否可对新的子集合发起新的共识提议。
现进一步举例说明主节点在判断是否可以针对新的子集合发起新的共识提议时的具体过程。假设预设并发数(记为w)取为5,最新被成功共识且共识结果被成功入链(可以理解为该子集合中所有待处理的共识请求被成功执行)的子集合的序列号(记为e)取为91,最新被发起共识提议的子集合的序列号记为p,则“处于共识阶段的子集合的数量小于共识网络的预设并发数”这一条件,可以表示为:e≤p<(e+w)。在w=5,e=91的情况下,若要满足“e≤p<e+w”的条件,p的可能取值有91,92,93,94,95,说明此时共识网络允许发起的共识提议可以为序列号为以下数值的子集合:92,93,94,95,96。假设共识网络确实同时发起了对这5个序列号所对应的子集合的共识提议,且序列号为93,94,95,96的子集合的共识提议都已共识成功,但序列号为92的子集合因处理较慢尚处在共识阶段中进行共识,则此时序列号为93~96的子集合需要等待序列号为92的子集合被成功共识且共识结果被成功入链之后,才可按照序列号的顺序依次将共识结果写入区块链。而在此之前,e的值仍然取为91,而序列号为97的子集合仍然无法被发起共识提议,需要等待。
进一步地,在将对新的子集合中包含的待处理的共识请求的共识结果写入区块链时,为了确保区块链数据的一致性,需要按照接收到待处理的共识请求的时间顺序,将共识结果写入区块链。换言之,在将多个子集合所包含待处理的共识请求的共识结果写入区块链时,若采用以上举例的方式(连续单调递增)进行序列号的分配,则应先写入序列号在先的子集合所对应的共识结果,后写入序列号在后的子集合所对应的共识结果;而对每一子集合而言,应按照待处理的共识请求在其子集合内的时间顺序,将请求所对应的共识结果写入区块链。
在上述本申请实施例中,一方面,从待处理请求集合中获取一批待处理的共识请求构成子集合,并以子集合为单位,发起对这一批请求的共识提议,有利于提高对共识请求的处理效率。再一方面,在共识网络中设定预设并发数,允许多个子集合同时处于共识阶段进行共识请求的处理,使得共识网络可以并行的处理多条待处理的共识请求,从而分属于不同子集合的待处理的共识请求之间允许并行乱序处理,有利于提高对共识请求的处理效率,提升了共识网络的处理性能。
本申请实施例还提供了一种区块链共识网络中处理共识请求的方法,适用于参与共识的各副本节点,具体流程参见图2所示,包括:
S201:确定待处理请求集合,待处理请求集合中包含待处理的共识请求;
S203:在接收到对新的子集合的共识提议之后,判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数;
S205:若已处于共识阶段的子集合的数量小于共识网络的预设并发数,则新的子集合进入共识阶段,进行共识请求的处理。
对于各参与共识服务的副本节点而言,与前述主节点类似地,都会接收到客户端发送来的待处理的共识请求。各副本节点对接收到的请求消息进行格式检查后,将格式检查通过的待处理的共识请求放入待处理请求集合中。
各副本节点可检查自己是否为共识网络当前时刻的主节点,若为主节点,则可进一步参照图1所示的方法确定是否发起新的共识提议;若不是主节点,则作为备份节点的副本节点将等待主节点发起的共识提议。
当副本节点接收到主节点对新的子集合发起的共识提议之后,副本节点将执行步骤S203,判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数,即副本节点在接收到新的共识提议后,也会对该共识提议的发起是否合法、是否正确进行验证,这就有利于保证共识网络的正确性。而在此之前,还需确定已处于共识阶段的子集合的数量,具体的确定方法可以与主节点在发起共识提议前对已处于共识阶段的子集合的数量的确认方法一样,区别仅在于,各副本节点均依据自己所知的情况进行计算,此处不再赘述。
需要说明的是,副本节点在接收到主节点发送的共识提议之后,还可以检查接收到的共识提议格式上是否合法,该共识提议是否满足接受该提议的三阶段共识协议的条件,例如主节点的签名是否合法、是否已接受序列号相同但消息摘要不同的共识提议等。若各项检查均通过,新的子集合进入共识阶段,进行共识请求的处理。
更具体地,新的子集合进入共识阶段,进行共识请求的处理,可包括:
对新的子集合中包含的待处理的共识请求进行共识;
当满足预设条件时,如序列号在新的子集合的序列号之前的子集合已结束时,共识阶段将对新的子集合中包含的待处理的共识请求的共识结果写入区块链,结束共识阶段。
更具体地,对新的子集合中包含的待处理的共识请求进行共识的过程,可以采用三阶段共识机制来进行。需要特别说明的是,对每一条待处理的共识请求所进行的三阶段共识,需按照三个阶段的顺序串行进行,以便保证共识结果的正确性。
以上本申请实施例所提供的区块链共识网络中处理共识请求的方法,适用于拜占庭容错的多副本状态机(State Machine Replication)算法。通用的拜占庭容错状态机副本实现,其最重要的组件是一套拜占庭容错的全序广播(Total Order Broadcast)协议的实现。这是因为,状态机副本模型需要满足四个基本性质:
1、对于任意两个正确的副本r和r',若它们都对状态s应用操作o,则r与r'都将到达状态s'。
2、任意两个正确的副本r和r'的状态都始于s0
3、任意两个正确的副本r和r'都执行相同的操作序列:o0,o1,...,oi
4、来自正确客户端的操作请求总是会被执行。
而性质3与性质4就要求区块链共识网络实现全序广播协议。
采用本申请实施例即可实现满足要求的全序广播协议,具体方法大致如下:
1、对每一个从待处理请求集合中捞取出的、由正确的待处理的共识请求构成的子集合,分配一个唯一的序列号,该序列号为稠密自然数,满足连续单调递增的条件;
2、对每一个<子集合,序列号>对,在满足共识网络的预设并发数条件的情况下,依次发起一个三阶段共识,保证所有正确的副本节点就该<子集合,序列号>对中的每一条待处理的共识请求达成共识;
3、对所有已达成共识的<子集合、序列号>对,所有正确的副本节点根据序列号依次顺序的执行对应的请求,将共识的结果写入区块链。
更具体地,本申请实施例中,被发起共识提议的子集合中的每一条待处理的共识请求可采用以下三阶段共识的过程,得到共识的结果。具体过程可简述如下:
1、预准备阶段(pre-prepare阶段)
客户端向全网的副本节点广播待处理的共识请求。当前主节点针对客户端发送的请求,分配子集合,并相应的分配子集合的序列号。进一步地,当前主节点向全网的副本节点广播预准备消息(PRE-PREPARE消息),相当于本申请实施例中所述的共识提议。
2、准备阶段(prepare阶段)
副本节点收到当前主节点发送的预准备消息后,按照一定规则验证该消息并选择是否接受。若接受,则该副本节点向全网广播相应的准备消息(PREPARE消息);同时该副本等待并收集全网其他副本的准备消息。当副本收集到满足一定数量的合法的准备消息时,则称该副本获得了“已准备证书”(prepared certificate)。
3、确认阶段(commit阶段)
获得“已准备证书”的副本,立刻向全网广播相应的确认消息;同时等待并收集全网其他副本的确认消息。当副本收集到满足一定数量且合法的确认消息,则称该副本获得了“已确认证书”(committed certificate),相应的客户端请求此时可被该副本执行。
本申请实施例采用以上所述的方法和手段,实现了对区块链共识网络中共识请求的处理,并提高了对共识请求的处理效率,提升了共识网络的处理性能。
本申请实施例还提供一种区块链共识网络中处理共识请求的装置,参见图3所示,包括:
集合确定模块101,确定待处理请求集合,待处理请求集合中包含待处理的共识请求;
数量确定模块103,确定已处于共识阶段的子集合的数量,子集合由从待处理请求集合中获取到的待处理的共识请求构成;
判断模块105,判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数。
进一步地,上述装置还可包括,参见图4所示:
共识提议发起模块107,当已处于共识阶段的子集合的数量小于共识网络的预设并发数时,向共识网络发起对新的子集合的共识提议,使得新的子集合进入共识阶段进行共识请求的处理;其中,预设并发数为共识网络中允许同时处于共识阶段的子集合的数量上限。
进一步地,上述装置还可包括,参见图4所示:
共识模块109,对新的子集合中包含的待处理的共识请求进行共识;
入链模块111,当满足预设条件时,将对新的子集合中包含的待处理的共识请求的共识结果写入区块链,结束共识阶段。
由于上述装置与前文实施例中所介绍的方法相对应,因此,前文实施例中的相关描述均适用于此处所称的区块链共识网络中处理共识请求的装置,不再赘述。
图5是本申请的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成区块链共识网络中处理共识请求的装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
确定待处理请求集合,待处理请求集合中包含待处理的共识请求;
确定已处于共识阶段的子集合的数量,子集合由从待处理请求集合中获取到的待处理的共识请求构成;
当已处于共识阶段的子集合的数量小于共识网络的预设并发数时,向共识网络发起对新的子集合的共识提议,使得新的子集合进入共识阶段进行共识请求的处理;其中,预设并发数为共识网络中允许同时处于共识阶段的子集合的数量上限。
上述如本申请图1所示实施例揭示的区块链共识网络中处理共识请求的装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中区块链共识网络中处理共识请求的装置执行的方法,并实现区块链共识网络中处理共识请求的装置在图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中区块链共识网络中处理共识请求的装置执行的方法,并具体用于执行:
确定待处理请求集合,待处理请求集合中包含待处理的共识请求;
确定已处于共识阶段的子集合的数量,子集合由从待处理请求集合中获取到的待处理的共识请求构成;
当已处于共识阶段的子集合的数量小于共识网络的预设并发数时,向共识网络发起对新的子集合的共识提议,使得新的子集合进入共识阶段进行共识请求的处理;其中,预设并发数为共识网络中允许同时处于共识阶段的子集合的数量上限。
图6是本申请的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成区块链共识网络中处理共识请求的装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
确定待处理请求集合,待处理请求集合中包含待处理的共识请求;
在接收到对新的子集合的共识提议之后,判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数;其中,子集合由主节点从待处理请求集合中获取到的待处理的共识请求构成;
若已处于共识阶段的子集合的数量小于共识网络的预设并发数,则新的子集合进入共识阶段,进行共识请求的处理。
上述如本申请图2所示实施例揭示的区块链共识网络中处理共识请求的装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2中区块链共识网络中处理共识请求的装置执行的方法,并实现区块链共识网络中处理共识请求的装置在图2所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图2所示实施例中区块链共识网络中处理共识请求的装置执行的方法,并具体用于执行:
确定待处理请求集合,待处理请求集合中包含待处理的共识请求;
在接收到对新的子集合的共识提议之后,判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数;其中,子集合由主节点从待处理请求集合中获取到的待处理的共识请求构成;
若已处于共识阶段的子集合的数量小于共识网络的预设并发数,则新的子集合进入共识阶段,进行共识请求的处理。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (27)

1.一种区块链共识网络中处理共识请求的方法,包括:
确定待处理请求集合,所述待处理请求集合中包含待处理的共识请求;
根据子集合的构成顺序为子集合分配序列号,所述子集合由从所述待处理请求集合中获取到的待处理的共识请求构成;
依据已结束共识阶段的子集合的序列号,确定第一序列号;依据已进入共识阶段的子集合的序列号,确定第二序列号;依据所述第一序列号和所述第二序列号,确定已处于共识阶段的子集合的数量;
当已处于共识阶段的子集合的数量小于共识网络的预设并发数时,依据所述第二序列号确定新的子集合及其序列号,向所述共识网络发起对新的子集合的共识提议,使得所述新的子集合进入所述共识阶段进行共识请求的处理;
当序列号在所述新的子集合的序列号之前的子集合已结束所述共识阶段时,将对所述新的子集合中包含的待处理的共识请求的共识结果写入所述区块链,结束所述共识阶段。
2.如权利要求1所述的方法,所述方法还包括:
在对已处于共识阶段的多个子集合进行共识的过程中,按照所述多个子集合的序列号由小至大的顺序,将所述多个子集合中的待处理的共识请求的共识结果写入区块链。
3.如权利要求2所述的方法,所述方法还包括:
在将所述多个子集合中的待处理的共识请求的共识结果写入区块链之后,将共识结果被写入区块链的子集合确定为结束共识阶段的子集合。
4.如权利要求1所述的方法,
所述预设并发数为所述共识网络中允许同时处于所述共识阶段的子集合的数量上限。
5.如权利要求1所述的方法,
所述序列号为连续单调递增的自然数。
6.如权利要求1所述方法,在确定待处理请求集合之后,所述方法还包括:
从所述待处理请求集合中获取待处理的共识请求,构成所述子集合。
7.如权利要求6所述方法,从所述待处理请求集合中获取待处理的共识请求,构成所述子集合,包括:
在满足发起新的共识提议的条件时,从所述待处理请求集合中获取待处理的共识请求,构成所述子集合。
8.如权利要求6所述方法,在从所述待处理请求集合中获取待处理的共识请求,构成所述子集合之后,所述方法还包括:
将获取的所述共识请求从所述待处理请求集合中删除,或者,为获取的所述共识请求设置标识信息,所述标识信息用于表示对应的共识请求已被获取过。
9.如权利要求1所述方法,依据已结束共识阶段的子集合的序列号,确定第一序列号,包括:将已结束共识阶段的多个子集合的序列号中的最大者,确定为所述第一序列号;
依据已进入共识阶段的子集合的序列号,确定第二序列号,包括:将已进入共识阶段的多个子集合的序列号中的最大者,确定为所述第二序列号;
则依据所述第一序列号和所述第二序列号,确定已处于共识阶段的子集合的数量,包括:
将所述第一序列号和所述第二序列号的差值,确定为处于共识阶段的子集合的数量。
10.如权利要求9所述方法,依据所述第二序列号确定新的子集合及其序列号,包括:
从所述待处理请求集合中获取待处理的共识请求,构成所述新的子集合;
依据所述第二序列号,将所述第二序列号的数值加一,作为所述新的子集合的序列号。
11.如权利要求9所述方法,依据所述第二序列号确定新的子集合及其序列号,包括:
依据所述第二序列号,将所述第二序列号的数值加一,作为所述新的子集合的序列号;
依据所述新的子集合的序列号,确定所述新的子集合。
12.如权利要求1~11之任一所述方法,还包括:
在向所述共识网络发起对新的子集合的共识提议,使得所述新的子集合进入所述共识阶段之后,重新确定已处于共识阶段的子集合的数量。
13.如权利要求1~11之任一所述方法,在向所述共识网络发起对新的子集合的共识提议之后,所述方法还包括:
对所述新的子集合中包含的待处理的共识请求进行共识。
14.如权利要求13所述方法,还包括:
在将对所述新的子集合中包含的待处理的共识请求的共识结果写入所述区块链之后,重新确定已处于共识阶段的子集合的数量。
15.如权利要求13所述方法,将对所述新的子集合中包含的待处理的共识请求的共识结果写入所述区块链,包括:
将对所述新的子集合中包含的待处理的共识请求的共识结果,按照接收到所述待处理的共识请求的时间顺序,写入所述区块链。
16.一种区块链共识网络中处理共识请求的方法,包括:
确定待处理请求集合,所述待处理请求集合中包含待处理的共识请求;
依据已结束共识阶段的子集合的序列号,确定第一序列号;依据已进入共识阶段的子集合的序列号,确定第二序列号;依据所述第一序列号和所述第二序列号,确定已处于共识阶段的子集合的数量;其中,所述子集合由主节点从所述待处理请求集合中获取到的待处理的共识请求构成;所述子集合预先由主节点根据子集合的构成顺序分配有序列号;
在接收到对新的子集合的共识提议之后,判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数;其中,所述新的子集合及其序列号依据所述第二序列号确定;
若已处于共识阶段的子集合的数量小于共识网络的预设并发数,则所述新的子集合进入所述共识阶段,进行共识请求的处理。
17.如权利要求16的方法,所述方法还包括:
在对已处于共识阶段的多个子集合进行共识的过程中,按照所述多个子集合的序列号由小至大的顺序,将所述多个子集合中的待处理的共识请求的共识结果写入区块链。
18.如权利要求17的方法,所述方法还包括:
在将所述多个子集合中的待处理的共识请求的共识结果写入区块链之后,将共识结果被写入区块链的子集合确定为结束共识阶段的子集合。
19.如权利要求16的方法,
所述预设并发数为所述共识网络中允许同时处于所述共识阶段的子集合的数量上限。
20.如权利要求16的方法,
所述序列号为连续单调递增的自然数。
21.如权利要求16所述方法,所述新的子集合进入所述共识阶段,进行共识请求的处理,包括:
对所述新的子集合中包含的待处理的共识请求进行共识;
当满足预设条件时,将对所述新的子集合中包含的待处理的共识请求的共识结果写入所述区块链,结束所述共识阶段。
22.如权利要求21所述方法,满足预设条件,包括:
序列号在所述新的子集合的序列号之前的子集合已结束所述共识阶段。
23.一种区块链共识网络中处理共识请求的装置,包括:
集合确定模块,确定待处理请求集合,所述待处理请求集合中包含待处理的共识请求;
序号分配模块,根据子集合的构成顺序为子集合分配序列号,所述子集合由从所述待处理请求集合中获取到的待处理的共识请求构成;
数量确定模块,依据已结束共识阶段的子集合的序列号,确定第一序列号;依据已进入共识阶段的子集合的序列号,确定第二序列号;依据所述第一序列号和所述第二序列号,确定已处于共识阶段的子集合的数量;
判断模块,判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数;
共识提议发起模块,当已处于共识阶段的子集合的数量小于共识网络的预设并发数时,依据所述第二序列号确定新的子集合及其序列号,向所述共识网络发起对新的子集合的共识提议,使得所述新的子集合进入所述共识阶段进行共识请求的处理;
入链模块,当序列号在所述新的子集合的序列号之前的子集合已结束所述共识阶段时,将对所述新的子集合中包含的待处理的共识请求的共识结果写入所述区块链,结束所述共识阶段。
24.如权利要求23所述装置,还包括:
写入模块,在对已处于共识阶段的多个子集合进行共识的过程中,按照所述多个子集合的序列号由小至大的顺序,将所述多个子集合中的待处理的共识请求的共识结果写入区块链,将共识结果被写入区块链的子集合确定为结束共识阶段的子集合。
25.如权利要求23所述装置,还包括:
共识模块,对所述新的子集合中包含的待处理的共识请求进行共识。
26.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
确定待处理请求集合,所述待处理请求集合中包含待处理的共识请求;
根据子集合的构成顺序为子集合分配序列号,所述子集合由从所述待处理请求集合中获取到的待处理的共识请求构成;
依据已结束共识阶段的子集合的序列号,确定第一序列号;依据已进入共识阶段的子集合的序列号,确定第二序列号;依据所述第一序列号和所述第二序列号,确定已处于共识阶段的子集合的数量;
当已处于共识阶段的子集合的数量小于共识网络的预设并发数时,依据所述第二序列号确定新的子集合及其序列号,向所述共识网络发起对新的子集合的共识提议,使得所述新的子集合进入所述共识阶段进行共识请求的处理;
当序列号在所述新的子集合的序列号之前的子集合已结束所述共识阶段时,将对所述新的子集合中包含的待处理的共识请求的共识结果写入区块链,结束所述共识阶段。
27.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
确定待处理请求集合,所述待处理请求集合中包含待处理的共识请求;
依据已结束共识阶段的子集合的序列号,确定第一序列号;依据已进入共识阶段的子集合的序列号,确定第二序列号;依据所述第一序列号和所述第二序列号,确定已处于共识阶段的子集合的数量;其中,所述子集合由主节点从所述待处理请求集合中获取到的待处理的共识请求构成;所述子集合预先由主节点根据子集合的构成顺序分配有序列号;
在接收到对新的子集合的共识提议之后,判断已处于共识阶段的子集合的数量是否小于共识网络的预设并发数;其中,所述新的子集合及其序列号依据所述第二序列号确定;
若已处于共识阶段的子集合的数量小于共识网络的预设并发数,则所述新的子集合进入所述共识阶段,进行共识请求的处理。
CN202110185000.3A 2017-07-14 2017-07-14 区块链共识网络中处理共识请求的方法、装置和电子设备 Active CN112804349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110185000.3A CN112804349B (zh) 2017-07-14 2017-07-14 区块链共识网络中处理共识请求的方法、装置和电子设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110185000.3A CN112804349B (zh) 2017-07-14 2017-07-14 区块链共识网络中处理共识请求的方法、装置和电子设备
CN201710573527.7A CN107528882B (zh) 2017-07-14 2017-07-14 区块链共识网络中处理共识请求的方法、装置和电子设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710573527.7A Division CN107528882B (zh) 2017-07-14 2017-07-14 区块链共识网络中处理共识请求的方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN112804349A CN112804349A (zh) 2021-05-14
CN112804349B true CN112804349B (zh) 2023-07-04

Family

ID=60749064

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710573527.7A Active CN107528882B (zh) 2017-07-14 2017-07-14 区块链共识网络中处理共识请求的方法、装置和电子设备
CN202110185000.3A Active CN112804349B (zh) 2017-07-14 2017-07-14 区块链共识网络中处理共识请求的方法、装置和电子设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710573527.7A Active CN107528882B (zh) 2017-07-14 2017-07-14 区块链共识网络中处理共识请求的方法、装置和电子设备

Country Status (6)

Country Link
US (4) US10693994B2 (zh)
EP (1) EP3652691A1 (zh)
CN (2) CN107528882B (zh)
SG (1) SG11202000346YA (zh)
TW (1) TWI714847B (zh)
WO (1) WO2019014531A1 (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
CN108512775A (zh) * 2018-04-16 2018-09-07 杭州秘猿科技有限公司 一种排序交易队列的方法及装置
CN108769150B (zh) * 2018-05-14 2021-11-12 百度在线网络技术(北京)有限公司 区块链网络的数据处理方法、装置、集群节点和存储介质
CN108764870B (zh) 2018-05-29 2020-07-07 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
CN108805569A (zh) * 2018-05-29 2018-11-13 阿里巴巴集团控股有限公司 基于区块链的交易处理方法及装置、电子设备
US10862908B2 (en) * 2018-08-09 2020-12-08 Hrl Laboratories, Llc System and method for consensus ordering of broadcast messages
CN110401711B (zh) * 2018-08-31 2021-08-20 腾讯科技(深圳)有限公司 数据处理方法、装置、系统及存储介质
CN109327528B (zh) * 2018-10-31 2020-10-20 创新先进技术有限公司 一种基于区块链的节点管理方法和装置
EP3566392B1 (en) 2018-12-13 2021-08-25 Advanced New Technologies Co., Ltd. Achieving consensus among network nodes in a distributed system
AU2018348336B2 (en) * 2018-12-13 2020-07-23 Advanced New Technologies Co., Ltd. Performing a change of primary node in a distributed system
EP3560142B1 (en) 2018-12-13 2020-09-09 Alibaba Group Holding Limited Performing a recovery process for a network node in a distributed system
US11934425B1 (en) * 2019-02-04 2024-03-19 Harbor Technologies, LLC Synchronizing a centralized state on a distributed chain database with an off-chain state to improve trade authorization practices
JP6731123B1 (ja) 2019-03-18 2020-07-29 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 合意システムのダウンタイムの回復
EP3596888B1 (en) * 2019-03-18 2022-08-03 Advanced New Technologies Co., Ltd. System and method for ending view change protocol
US10938750B2 (en) 2019-03-18 2021-03-02 Advanced New Technologies Co., Ltd. Consensus system downtime recovery
AU2019203861B2 (en) * 2019-03-18 2020-07-02 Advanced New Technologies Co., Ltd. System and method for ending view change protocol
AU2019203865B2 (en) 2019-03-18 2021-01-21 Advanced New Technologies Co., Ltd. Consensus system downtime recovery
CN111164935B (zh) * 2019-05-31 2023-08-22 创新先进技术有限公司 在基于区块链的私有交易中提供隐私和安全保护的系统和方法
SG11202004685RA (en) * 2019-06-05 2020-06-29 Alibaba Group Holding Ltd Consensus system and method
CN110730204B (zh) * 2019-09-05 2022-09-02 创新先进技术有限公司 区块链网络中删除节点的方法和区块链系统
CN110728515A (zh) * 2019-09-28 2020-01-24 北京瑞卓喜投科技发展有限公司 基于区块链的业务处理方法及装置
CN110766552B (zh) * 2019-09-28 2023-10-20 北京瑞卓喜投科技发展有限公司 基于区块链的业务处理方法及装置
EP4038862A1 (en) * 2019-10-18 2022-08-10 Dfinity Stiftung Read access for computational results of a distributed network
CN110784461B (zh) * 2019-10-23 2020-05-12 北方工业大学 一种基于区块链的安全6LoWPAN通信方法及系统
CN111274313B (zh) * 2020-01-12 2023-05-30 杭州复杂美科技有限公司 分段共识方法、设备和存储介质
CN111277645B (zh) * 2020-01-16 2023-02-10 深圳市迅雷网络技术有限公司 主备节点热切换方法、区块链系统、区块链节点及介质
US12112324B2 (en) * 2020-03-06 2024-10-08 Guardtime Sa Verifiably unique transfer of exclusive control of data units
CN111510484B (zh) * 2020-04-10 2023-07-04 金蝶软件(中国)有限公司 区块链处理方法、系统、装置、计算机设备和存储介质
CN113301002B (zh) * 2020-04-24 2023-05-09 阿里巴巴集团控股有限公司 一种信息处理方法、装置、电子设备以及存储介质
CN111556133B (zh) * 2020-04-26 2023-03-14 布比(北京)网络技术有限公司 区块链共识方法、系统及计算机存储介质、电子设备
CN111522683B (zh) * 2020-07-03 2020-10-02 支付宝(杭州)信息技术有限公司 蜜獾拜占庭容错共识机制的共识节点变更方法及相关装置
CN111522822A (zh) 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 一种区块链共识方法、装置及电子设备
CN113888168B (zh) * 2020-07-03 2024-07-26 支付宝(杭州)信息技术有限公司 联盟链的共识方法、数据校验方法、装置及系统
CN111526165B (zh) 2020-07-03 2020-10-09 支付宝(杭州)信息技术有限公司 联盟链中的共识方法和系统
CN112202933B (zh) * 2020-12-08 2021-03-05 腾讯科技(深圳)有限公司 区块链网络的信息处理方法、装置及节点设备
CN112506671B (zh) * 2021-02-03 2021-05-07 支付宝(杭州)信息技术有限公司 区块链中的交易处理方法、装置及电子设备
CN113395165B (zh) * 2021-05-28 2022-08-16 网易(杭州)网络有限公司 共识流程处理方法、装置、存储介质及计算机设备
KR102652737B1 (ko) * 2021-09-29 2024-04-01 한양대학교 산학협력단 블록체인 네트워크를 위한 효율적인 듀얼모드 합의 프로토콜
CN116095090A (zh) * 2021-11-08 2023-05-09 华为技术有限公司 一种通信方法及通信装置
CN114726514B (zh) * 2022-03-21 2024-03-22 支付宝(杭州)信息技术有限公司 数据的处理方法和装置
WO2024192174A1 (en) * 2023-03-14 2024-09-19 Ava Labs, Inc. Improving liveness in consensus protocol

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878396A (zh) * 2017-01-19 2017-06-20 布比(北京)网络技术有限公司 贸易信息的处理方法、装置和系统

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849971B2 (en) * 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks
CN101958804B (zh) * 2010-09-20 2014-05-28 中兴通讯股份有限公司 提升告警处理效率的方法、服务器及系统
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
CN103218455B (zh) * 2013-05-07 2014-04-16 中国人民解放军国防科学技术大学 Key-Value数据库用户请求的高速并发处理方法
US9270617B2 (en) * 2013-06-05 2016-02-23 Sap Se Load controller framework
US9853819B2 (en) 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
US9608829B2 (en) 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
US20160098723A1 (en) 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
US10409827B2 (en) 2014-10-31 2019-09-10 21, Inc. Digital currency mining circuitry having shared processing logic
US9436923B1 (en) 2015-02-26 2016-09-06 Skuchain, Inc. Tracking unitization occurring in a supply chain
US9397985B1 (en) 2015-04-14 2016-07-19 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
TWI676943B (zh) 2015-05-06 2019-11-11 現代財富控股有限公司 加密貨幣的電子交易系統及其方法
US10812274B2 (en) 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US10635471B2 (en) * 2015-05-15 2020-04-28 Joshua Paul Davis System and method for an autonomous entity
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
CN108431845A (zh) 2015-10-13 2018-08-21 交互网格公司 基于区块链的分布式一致性控制的使用
US20170132630A1 (en) 2015-11-11 2017-05-11 Bank Of America Corporation Block chain alias for person-to-person payments
US9786737B2 (en) 2015-12-03 2017-10-10 International Business Machines Corporation FinFET with reduced parasitic capacitance
CA3018326A1 (en) * 2016-03-21 2017-09-28 Mastercard International Incorporated Method and system for recording point to point transaction processing
CN106060036B (zh) 2016-05-26 2019-07-16 布比(北京)网络技术有限公司 去中心化共识方法及装置
CN105976231A (zh) 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 基于区块链智能合约的资产管理方法及节点
CN106445711B (zh) * 2016-08-28 2019-04-30 杭州云象网络技术有限公司 一种应用于区块链的拜占庭容错共识方法
CN106406896B (zh) * 2016-09-27 2020-03-17 北京天德科技有限公司 一种并行PipeLine技术的区块链建块方法
US20180216946A1 (en) * 2016-09-30 2018-08-02 Mamadou Mande Gueye Method and system for facilitating provisioning of social activity data to a mobile device based on user preferences
US10049017B2 (en) * 2016-10-04 2018-08-14 Nec Corporation Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
US10862959B2 (en) 2016-11-28 2020-12-08 Keir Finlow-Bates Consensus system and method for adding data to a blockchain
CN106603698A (zh) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 基于dpos的区块链共识方法和节点

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878396A (zh) * 2017-01-19 2017-06-20 布比(北京)网络技术有限公司 贸易信息的处理方法、装置和系统

Also Published As

Publication number Publication date
US20210058486A1 (en) 2021-02-25
US20190020729A1 (en) 2019-01-17
EP3652691A1 (en) 2020-05-20
CN112804349A (zh) 2021-05-14
TW201909613A (zh) 2019-03-01
SG11202000346YA (en) 2020-02-27
US20200162579A1 (en) 2020-05-21
US20200244764A1 (en) 2020-07-30
CN107528882B (zh) 2020-12-25
US10693994B2 (en) 2020-06-23
US10897522B2 (en) 2021-01-19
US10721326B2 (en) 2020-07-21
US11095750B2 (en) 2021-08-17
WO2019014531A1 (en) 2019-01-17
TWI714847B (zh) 2021-01-01
CN107528882A (zh) 2017-12-29

Similar Documents

Publication Publication Date Title
CN112804349B (zh) 区块链共识网络中处理共识请求的方法、装置和电子设备
CN108648078B (zh) 一种交易预处理方法、装置及电子设备
US11531603B2 (en) Byzantine agreement in open networks
JP2024074969A (ja) バリデータノードにより提供されるブロックチェーントランザクションをマイニングする方法及びシステム
JP2022185070A (ja) ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード
JP2020509690A (ja) 業務検証方法および装置
WO2018154713A1 (ja) 情報検証システム、情報検証装置、方法およびプログラム
CN110163609B (zh) 一种区块链中数据处理方法及装置
CN110020859B (zh) 一种并行执行的区块链共识方法、装置及电子设备
CN113630257B (zh) 一种共识方法、区块链系统和共识节点
CN111698094A (zh) 一种基于区块链系统的共识方法及区块链系统
CN112634034B (zh) 预约方法、装置、电子设备及计算机可读存储介质
CN111523901B (zh) 基于拜占庭容错算法的区块链的共识方法、装置及系统
CN110659905A (zh) 交易验证方法、装置、终端设备以及存储介质
CN110163554B (zh) 工作流的运行方法、装置、服务器和存储介质
CN111061813B (zh) 用于区块链网络中的数据同步的方法、装置和计算设备
CN109919768B (zh) 区块生成方法、装置、介质和计算设备
CN116484417A (zh) 区块链系统中的交易提议方法、共识节点和区块链系统
CN116009940A (zh) 共识集群的变更方法、装置、计算机设备及介质
CN113746635A (zh) 提高pbft共识可扩展性的方法、装置、计算设备及存储介质
CN111083221B (zh) 一种交易验证方法及装置
CN111523900A (zh) 基于拜占庭容错算法的区块链的共识方法、装置及系统
WO2021063503A1 (en) Method for enabling efficient evaluation of transactions in a distributed ledger network
CN112150286A (zh) 基于区块链的交易处理方法、装置、电子设备及存储介质
CN114862380B (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
TR01 Transfer of patent right

Effective date of registration: 20240929

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Ant Chain Technology Co.,Ltd.

Country or region after: Singapore

Address before: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands