CN113726828A - 一种支持微服务的高并发的可信区块链系统及方法 - Google Patents

一种支持微服务的高并发的可信区块链系统及方法 Download PDF

Info

Publication number
CN113726828A
CN113726828A CN202010450366.4A CN202010450366A CN113726828A CN 113726828 A CN113726828 A CN 113726828A CN 202010450366 A CN202010450366 A CN 202010450366A CN 113726828 A CN113726828 A CN 113726828A
Authority
CN
China
Prior art keywords
block chain
consensus
service
micro
algorithm
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
CN202010450366.4A
Other languages
English (en)
Other versions
CN113726828B (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.)
Beijing VRV Software Corp Ltd
Original Assignee
Beijing VRV Software Corp 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 Beijing VRV Software Corp Ltd filed Critical Beijing VRV Software Corp Ltd
Priority to CN202010450366.4A priority Critical patent/CN113726828B/zh
Publication of CN113726828A publication Critical patent/CN113726828A/zh
Application granted granted Critical
Publication of CN113726828B publication Critical patent/CN113726828B/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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/133Protocols for remote procedure calls [RPC]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种支持微服务的高并发的可信区块链系统及方法,所述方法包括微服务通过区块链网关与区块链平台交互,所述区块链网关包含通讯网关组件和事件监听组件,两个组件相互配合,完成所述微服务对于所述区块链的调用;结合所述微服务的数据一致性要求和所述区块链的高并发需求,提供一种MBFT共识算法支持,通过所述通讯网关组件获取的最大超时时间,优化PBFT算法的运行效率;结合所述微服务中对于一致性的要求,以PBFT算法中的检查点为一个周期,将共识算法的执行分为同步模式和异步模式两个阶段。通过本发明,既解决了微服务中心化服务注册和服务发现问题,强化了区块链和微服务框架的适配;另外提升了支持微服务的可信区块链系统的运行效率。

Description

一种支持微服务的高并发的可信区块链系统及方法
技术领域
本发明涉及区块链技术领域,涉及一种基于区块链的微服务方法,尤其涉及一种支持微服务的高并发的可信区块链系统及方法。
背景技术
近些年,随着摩尔定律的失效,计算机硬件更新为计算机应用发展带来的增益日趋减弱。随着计算机应用对计算机性能要求的提升,最终引发了分布式革命。伴随着分布式革命,传统应用完成了从单体架构到分布式架构的转变。计算机应用发展早期,单体架构将应用模块、业务逻辑、数据存储等操作统一封装在同一模块中,虽然单体架构结构简单,开发方便,但是随着用户增多和业务拓展,单体架构将会带来许多问题,例如无法应对多用户场景,易出现性能瓶颈;部署成本高,改动风险大;无法满足快速扩容,弹性伸缩要求;无法适应云环境特性等问题。为了解决以上问题,逐渐出现了松耦合的SOA架构,虽然有效的缓解了以上的问题,但可拓展性和可用性方面仍存在问题。伴随着松耦合的微服务架构的出现,以上问题暂时解决。
微服务架构核心思想是实现系统服务的松耦合,虽然服务之间可以独立部署、运行和升级,但所有服务在功能上呈现出一个整体。微服务架构实现了低风险和低成本的特定服务发布,频繁的版本更新,快速交付需求,低成本扩容,高弹性伸缩以及对云环境的高度适应。一个完整的微服务框架需要具备以下功能组件:服务注册与服务发现组件;服务调用组件;业务逻辑组件;数据访问组件;服务治理组件。
传统的微服务架构中服务注册与服务发现是基于中心化实现的,中心化的服务注册和服务发现在遭遇硬件故障、通信故障等非拜占庭攻击或恶意节点攻击等拜占庭攻击时,会对整个微服务框架产生影响,最终造成整个系统的崩溃。结合区块链的去中心化环境解决微服务的中心化故障问题成为目前最为可行的方法,但目前相关方案中一方面缺乏区块链对微服务框架的适配,另一方面缺乏对微服务中高并发性能的支持。因为传统的区块链的数据吞吐量是难以满足微服务应用的要求,所以亟需一种支持微服务的高并发的可信区块链系统及方法。
发明内容
为克服上述微服务中心化服务注册和服务发现的问题,提出了结合区块链的微服务调用方法,并结合微服务特点,将区块链进行针对性的改进,保证区块链和微服务的融合达到最佳效果;当前区块链缺乏对微服务高并发的支持,为解决这个问题,提出了结合微服务的区块链共识算法方案改进。具体技术方案如下:
一方面,本发明提供了一种支持微服务的高并发的可信区块链系统,所述系统包括:微服务、区块链网关以及MBFT共识算法模块,其中,
所述区块链网关,包含通讯网关组件和事件监听组件,两个组件相互配合,用于完成所述微服务对区块链的调用,增强所述区块链与微服务框架的完美融合,完成数据一致性,实现微服务注册和服务发现的去中心化,保证微服务运行的稳定可靠;
所述MBFT共识算法模块,用于提供结合所述微服务的数据一致性要求和所述区块链的高并发需求的共识算法支持,通过所述通讯网关组件获取的最大超时时间,优化PBFT算法的运行效率;结合所述微服务中对于一致性的要求,以PBFT算法中的检查点为一个周期,将共识算法的执行分为同步模式和异步模式两个阶段。
进一步地,所述通讯网关组件,用于处理所述微服务对所述区块链的调用,通讯网关调用者可以多次调用所述区块链网关,而所述区块链网关仅调用所述区块链一次,将基于所述区块链的微服务模拟为幂等服务,以应对高频次访问的场景需求,缓解所述区块链的运行压力,用一致性换取可用性。
进一步地,所述事件监听组件,用于所述微服务注册和服务发现,持续追踪某一类交易,只有在发现数据变动时,才会及时通知所述微服务,减少对所述区块链的调用。
进一步地,所述同步模式是共识优先执行的阶段,所述微服务会通过所述通讯网关组件动态更新当前网络的节点最大时延,同步模式以当前节点最大时延为超时时间,即在所述超时时间范围内构建了一个同步网络,如果节点在超时时间内返回消息,则认为此时节点处于同步状态;所述异步模式是当所述同步模式执行失败时,为保证算法安全性和活跃性而采取的措施。
进一步地,在所述同步模式下MBFT共识算法只需要执行预准备阶段和准备阶段的共识,此时节点状态达到了一致状态,不需要执行确认阶段同步所有节点状态,当顺利执行完一个周期后,会到达稳定检查点;
当所述同步模式发生阻塞时,即在超时时间内无法完成预准备阶段或准备阶段的共识,会切换成所述异步模式执行确认阶段直到检查点结束。
进一步地,所述安全性和活跃性是共识算法中的两项关键指标安全性指的是所有坏的事情不会发生,即诚实节点会最终提交一个一致结果;所述活跃性指的是所有好的事情一定会发生,即在一定时间范围内一定可以完成整个共识过程,并且保证诚实节点提交一个一致结果。
另一方面,本发明还提供了一种支持微服务的高并发的可信区块链方法,所述方法包括以下步骤:
微服务通过区块链网关与区块链平台交互,所述区块链网关包含通讯网关组件和事件监听组件,两个组件相互配合,完成所述微服务对于所述区块链的调用;
结合所述微服务的数据一致性要求和所述区块链的高并发需求,提供一种MBFT共识算法支持,通过所述通讯网关组件获取的最大超时时间,优化PBFT算法的运行效率;结合所述微服务中对于一致性的要求,以PBFT算法中的检查点为一个周期,将共识算法的执行分为同步模式和异步模式两个阶段。
进一步地,所述MBFT共识算法的执行具体为,
以一个检查点为周期,通过所述通讯网关组件获取当前网络的节点最大时延作为超时时间,在所述超时时间范围内构造起短暂的同步网络;
执行所述同步模式,所述节点是否在所述超时时间内返回消息;
若所述节点在所述超时时间内返回消息,则认为此时节点处于同步状态;反之,若所述同步模式发生阻塞,即在所述超时时间内无法完成预准备阶段或准备阶段的共识时,会切换到所述异步模式执行确认阶段直到所述检查点结束,所述异步模式是当所述同步模式执行失败时,为保证算法安全性和活跃性而采取的措施。
进一步地,所述执行模式只需要执行预准备阶段和准备阶段的共识,此时所述节点状态达到了一致状态,不需要执行所述确认阶段同步所有节点状态;当顺利执行完一个周期后,会到达稳定检查点,此时会开始新的一个周期的共识。
进一步地,所述安全性和活跃性是共识算法中的两项关键指标安全性指的是所有坏的事情不会发生,即诚实节点会最终提交一个一致结果;所述活跃性指的是所有好的事情一定会发生,即在一定时间范围内一定可以完成整个共识过程,并且保证诚实节点提交一个一致结果。
本发明与现有技术相比,本发明具有如下技术效果:一方面,解决了微服务中心化服务注册和服务发现问题,强化了区块链和微服务框架的适配;另一方面,针对微服务高并发的诉求,提出了一种针对微服务的区块链共识算法,提升了支持微服务的可信区块链系统的运行效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种支持微服务的高并发的可信区块链系统架构图;
图2为本发明提供的基于区块链的微服务调用方法中服务注册和服务发现的示意图;
图3为本发明提供的现有PBFT算法共识过程的三阶段共识过程示意图;
图4为本发明MBFT算法共识过程示意图;
图5为本发明提供的一种支持微服务的高并发的可信区块链方法流程图;
图6为发明提供的MBFT共识算法的执行具体方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,需要指出的是,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,本发明提供了一种支持微服务的高并发的可信区块链系统架构图,如图1所示,所述系统包括微服务、区块链网关以及MBFT共识算法模块,其中,
所述区块链网关,包含通讯网关组件和事件监听组件,两个组件相互配合,用于完成所述微服务对区块链的调用,增强所述区块链与微服务框架的完美融合,完成数据一致性,实现微服务注册和服务发现的去中心化,保证微服务运行的稳定可靠;
所述通讯网关组件,用于处理所述微服务对所述区块链的调用,通讯网关调用者可以多次调用所述区块链网关,而所述区块链网关仅调用所述区块链一次,将基于所述区块链的微服务模拟为幂等服务,以应对高频次访问的场景需求,缓解所述区块链的运行压力,用一致性换取可用性。
所述事件监听组件,用于所述微服务注册和服务发现,持续追踪某一类交易,只有在发现数据变动时,才会及时通知所述微服务,减少对所述区块链的调用。
所述MBFT共识算法模块,用于提供结合所述微服务的数据一致性要求和所述区块链的高并发需求的共识算法支持,通过所述通讯网关组件获取的最大超时时间,优化PBFT算法的运行效率;结合所述微服务中对于一致性的要求,以PBFT算法中的检查点为一个周期,将共识算法的执行分为同步模式和异步模式两个阶段。
MBFT共识算法可以在失效节点不超过(n-1)/3(n为节点总数)的情况下保证算法的安全性和活跃性,MBFT共识算法是一种类PBFT(Practical Byzantine FaultTolerance, 简写为:PBFT)算法,算法结合了微服务中对于一致性的要求,以PBFT算法中的检查点checkpoint为一个周期,将共识算法的执行分为同步模式和异步模式。所述同步模式是共识优先执行的阶段,所述微服务会通过所述通讯网关组件动态更新当前网络的节点最大时延,同步模式以当前节点最大时延为超时时间,即在所述超时时间范围内构建了一个同步网络,如果节点在超时时间内返回消息,则认为此时节点处于同步状态;所述异步模式是当所述同步模式执行失败时,为保证算法安全性和活跃性而采取的措施。
所述安全性和活跃性是共识算法中的两项关键指标安全性指的是所有坏的事情不会发生,即诚实节点会最终提交一个一致结果,当主节点是恶意节点时,同步模式下主节点的恶意行为会在准备阶段触发超时,切换至异步模式会进一步在提交阶段触发主节点切换。当从节点是恶意节点时,同步模式下,只要保证预准备和准备阶段可以在超时时间内完成消息发送接收的过程,即可保证此时所有节点都处于同一状态,此时区块链账本维持了短暂的强一致性。异步模式下的安全性与PBFT算法相同。
所述活跃性指的是所有好的事情一定会发生,即在一定时间范围内一定可以完成整个共识过程,并且保证诚实节点提交一个一致结果。MBFT共识算法通过区块链网关组件通讯网关组件返回的节点时延,构建了同步模式下的拜占庭容错,但是在遭遇拜占庭节点攻击或发生网络波动时,超时触发,算法会切换回异步模式继续进行共识。同时以稳定检查点stable checkpoint为新周期的开始。
在调用过程中,最为关键的是处理数据一致性问题,为了尽可能的保证区块链运行效率,不能将所有数据存储在区块链,更高效的方式是仅将交易数据存储在区块链,但是这就会为区块链带来数据一致性问题,由于区块链账本的不可篡改性,依赖于传统数据库的日志回滚在区块链中变得不可行,而传统的依赖于区块链的微服务平台会依赖于区块链反馈记账结果,而本发明方案采用一种结合区块链网关的方式,通过通讯网关组件和事件监听组件,实现了区块链的快速响应。
图2为本发明提供的基于区块链的微服务调用方法中服务注册和服务发现的示意图,如图2所示,为了更好的实现分布式跨终端服务注册,服务注册将微服务的服务注册信息存储在区块链节点上,微服务可以注册对某一类交易的监听,区块链网关定时通过区块链平台的查询接口检索,发现数据变更时通知微服务。这个方法效率较低,但区块链平台本身性能也不高,时延主要由共识机制造成,轮训的做法并不会有太大影响,这也是期待区块链平台本身提升的地方,针对区块链性能提升方面的诉求,本发明提出了一种结合微服务的高并发拜占庭容错共识算法MBFT。
为了方便对MBFT共识算法的介绍,本发明对现有PBFT算法共识过程的三阶段共识进行介绍,如图3所示,所述三阶段共识包括:
预准备阶段:主节点在接收到客户端的请求消息后,为需要共识的内容m分配序号,然后向所有从节点转发<<PRE-PREPARE,v,n,d>,m>消息,其中v表示当前主节点的视图编号,n表示当前主节点对消息m分配的编号,d表示消息m的摘要。 预准备阶段完成了序号分配和将需要共识的内容从主节点传递到从节点的任务。
准备阶段:从节点对收到的预准备消息进行检验,如果检验通过将进入准备阶段。在准备阶段中,从节点向所有除自己的之外的其它节点发送<PREPARE,v,n,d,i>消息,其中i表示节点自身的编号。当2f+1个不同节点接收到与预准备消息一致的准备消息,准备阶段完成。准备阶段完成了对预准备阶段和准备阶段收到的视图编号,主节点分配的序号以及消息内容的验证任务。
确认阶段:当节点完成准备阶段后,会进入确认阶段。在确认阶段中,节点会向除自己之外的其它节点发送<COMMIT,v,n,D(m),i>消息,其中 D(m) 表示节点对消息m的可验证签名。节点在接收到确认消息后,会检查签名是否正确,消息视图编号是否与当前视图编号一致并且满足消息的序号在流水线的范围内。当检查通过并接收到其它2f个与预准备消息一致的确认消息后,表明确认阶段完成。
MBFT共识算法作为一种类PBFT算法,遵循了PBFT算法的三阶段共识:预准备阶段、准备阶段和确认阶段,MBFT共识算法结合微服务中通讯网关中微服务最大响应时间,将该最大响应时间作为超时时间。共识算法开始运行时,执行预准备阶段共识,如果该阶段共识可以在超时时间内完成,则证明此时仍处于同步模式,如果该阶段共识无法在超时时间内完成,则证明此时处于异步模式。无论是处于异步模式还是同步模式,都将执行准备阶段共识,如果处于同步模式,则除了执行该阶段共识外,还需要确认该阶段共识是否可以在超时时间内完成,如果在超时时间内完成,则证明此时仍处于同步状态,节点间的数据达到了最终一致性,此时共识结束;如果处于异步模式,则直接执行准备阶段共识,然后顺序执行确认阶段共识,并且在该检查点checkpoint周期内将继续以异步模式执行共识,此时MBFT共识算法将按照PBFT算法的共识模式进行共识,当进行到下一个稳定检查点stablecheckpoint时,MBFT共识算法开始新的一轮共识,即首先同步执行,当无法在超时时间内完成共识时,切换到异步模式。
MBFT算法通过通讯网关获取最大超时时间,优化了PBFT算法的运行效率,提供了区块链对微服务高并发的支持。
在所述同步模式下MBFT共识算法只需要执行预准备阶段和准备阶段的共识,此时节点状态达到了一致状态,不需要执行确认阶段同步所有节点状态,当顺利执行完一个周期后,会到达稳定检查点;
当所述同步模式发生阻塞时,即在超时时间内无法完成预准备阶段或准备阶段的共识,会切换成所述异步模式执行确认阶段直到检查点结束。
图4描述了MBFT算法的共识过程,分别是同步模式下的共识和异步模式下的共识,同步模式下的共识仅包含预准备阶段<<PRE-PREPARE,v,n,d>,m>消息和准备阶段<PREPARE,v,n,d,i>消息。异步模式下共识包含准备阶段<<PRE-PREPARE,v,n,d>,m>消息、准备阶段<PREPARE,v,n,d,i>消息和确认阶段<COMMIT,v,n,D(m),i>消息。
图5为本发明提供的一种支持微服务的高并发的可信区块链方法流程图,如图5所示,所述方法包括以下步骤:
步骤S101,微服务通过区块链网关与区块链平台交互,所述区块链网关包含通讯网关组件和事件监听组件,两个组件相互配合,完成所述微服务对于所述区块链的调用;
步骤S102,结合所述微服务的数据一致性要求和所述区块链的高并发需求,提供一种MBFT共识算法支持,通过所述通讯网关组件获取的最大超时时间,优化PBFT算法的运行效率;结合所述微服务中对于一致性的要求,以PBFT算法中的检查点为一个周期,将共识算法的执行分为同步模式和异步模式两个阶段。
在步骤S102中,所述MBFT共识算法的执行具体如图6所述,
步骤S1021,以一个检查点为周期,通过所述通讯网关组件获取当前网络的节点最大时延作为超时时间,在所述超时时间范围内构造起短暂的同步网络;
步骤S1022,执行所述同步模式,所述节点是否在所述超时时间内返回消息;
步骤S1023,若所述节点在所述超时时间内返回消息,则认为此时节点处于同步状态;反之,若所述同步模式发生阻塞,即在所述超时时间内无法完成预准备阶段或准备阶段的共识时,会切换到所述异步模式执行确认阶段直到所述检查点结束,所述异步模式是当所述同步模式执行失败时,为保证算法安全性和活跃性而采取的措施。
所述执行模式只需要执行预准备阶段和准备阶段的共识,此时所述节点状态达到了一致状态,不需要执行所述确认阶段同步所有节点状态;当顺利执行完一个周期后,会到达稳定检查点,此时会开始新的一个周期的共识。
所述安全性和活跃性是共识算法中的两项关键指标安全性指的是所有坏的事情不会发生,即诚实节点会最终提交一个一致结果;所述活跃性指的是所有好的事情一定会发生,即在一定时间范围内一定可以完成整个共识过程,并且保证诚实节点提交一个一致结果。
综上所述,本发明通过提供了区块链与微服务的适配和一种结合微服务框架的区块链共识算法。区块链与微服务的适配主要体现在区块链网关的优化,通讯网关组件优通过将区块链服务模拟为幂等服务,提升了区块链对高并发微服务的支持,并且通过获取最大消息时延,获取到了最大超时时间,该超时时间可以服务与MBFT算法,进一步提升了区块链的运行效率。事件监听组件解决了微服务中服务注册和服务发现的中心化故障问题,该组件在区块链账本发生变化时,可以及时通知微服务;一种结合微服务框架的区块链共识算法,首先,通过微服务通讯网关获取的最大超时时间构造了同步网络。其次,通过优先同步模式执行共识,优化了PBFT共识算法的确认阶段共识,提升了算法的可用性,并且结合PBFT算法的检查点checkpoint,保证算法从异步模式到同步模式的切换。最后,MBFT共识算法在充分保证算法安全性和活跃性的基础上,实现了更高效的共识,并且结合了微服务的实际应用场景,该算法极大的提升了区块链的运行效率,使基于微服务的高并发的可信区块链系统成为现实。一方面,解决了微服务中心化服务注册和服务发现问题,强化了区块链和微服务框架的适配;另一方面,针对微服务高并发的诉求,提出了一种针对微服务的区块链共识算法,提升了支持微服务的可信区块链系统的运行效率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种支持微服务的高并发的可信区块链系统,所述系统包括:微服务、区块链网关以及MBFT共识算法模块,其中,
所述区块链网关,包含通讯网关组件和事件监听组件,两个组件相互配合,用于完成所述微服务对区块链的调用,增强所述区块链与微服务框架的完美融合,完成数据一致性,实现微服务注册和服务发现的去中心化,保证微服务运行的稳定可靠;
所述MBFT共识算法模块,用于提供结合所述微服务的数据一致性要求和所述区块链的高并发需求的共识算法支持,通过所述通讯网关组件获取的最大超时时间,优化PBFT算法的运行效率;结合所述微服务中对于一致性的要求,以PBFT算法中的检查点为一个周期,将共识算法的执行分为同步模式和异步模式两个阶段。
2.根据权利要求1所述的系统,其特征在于,所述通讯网关组件,用于处理所述微服务对所述区块链的调用,通讯网关调用者可以多次调用所述区块链网关,而所述区块链网关仅调用所述区块链一次,将基于所述区块链的微服务模拟为幂等服务,以应对高频次访问的场景需求,缓解所述区块链的运行压力,用一致性换取可用性。
3.根据权利要求1所述的系统,其特征在于,所述事件监听组件,用于所述微服务注册和服务发现,持续追踪某一类交易,只有在发现数据变动时,才会及时通知所述微服务,减少对所述区块链的调用。
4.根据权利要求1所述的系统,其特征在于,所述同步模式是共识优先执行的阶段,所述微服务会通过所述通讯网关组件动态更新当前网络的节点最大时延,同步模式以当前节点最大时延为超时时间,即在所述超时时间范围内构建了一个同步网络,如果节点在超时时间内返回消息,则认为此时节点处于同步状态;所述异步模式是当所述同步模式执行失败时,为保证算法安全性和活跃性而采取的措施。
5.根据权利要求4所述的系统,其特征在于,在所述同步模式下MBFT共识算法只需要执行预准备阶段和准备阶段的共识,此时节点状态达到了一致状态,不需要执行确认阶段同步所有节点状态,当顺利执行完一个周期后,会到达稳定检查点;
当所述同步模式发生阻塞时,即在超时时间内无法完成预准备阶段或准备阶段的共识,会切换成所述异步模式执行确认阶段直到检查点结束。
6.根据权利要求4所述的系统,其特征在于,所述安全性和活跃性是共识算法中的两项关键指标安全性指的是所有坏的事情不会发生,即诚实节点会最终提交一个一致结果;所述活跃性指的是所有好的事情一定会发生,即在一定时间范围内一定可以完成整个共识过程,并且保证诚实节点提交一个一致结果。
7.一种支持微服务的高并发的可信区块链方法,其特征在于,所述方法包括以下步骤:
微服务通过区块链网关与区块链平台交互,所述区块链网关包含通讯网关组件和事件监听组件,两个组件相互配合,完成所述微服务对于所述区块链的调用;
结合所述微服务的数据一致性要求和所述区块链的高并发需求,提供一种MBFT共识算法支持,通过所述通讯网关组件获取的最大超时时间,优化PBFT算法的运行效率;结合所述微服务中对于一致性的要求,以PBFT算法中的检查点为一个周期,将共识算法的执行分为同步模式和异步模式两个阶段。
8.根据权利要求7所述的方法,其特征在于,所述MBFT共识算法的执行具体为,
以一个检查点为周期,通过所述通讯网关组件获取当前网络的节点最大时延作为超时时间,在所述超时时间范围内构造起短暂的同步网络;
执行所述同步模式,所述节点是否在所述超时时间内返回消息;
若所述节点在所述超时时间内返回消息,则认为此时节点处于同步状态;反之,若所述同步模式发生阻塞,即在所述超时时间内无法完成预准备阶段或准备阶段的共识时,会切换到所述异步模式执行确认阶段直到所述检查点结束,所述异步模式是当所述同步模式执行失败时,为保证算法安全性和活跃性而采取的措施。
9.根据权利要求8所述的方法,其特征在于,所述执行模式只需要执行预准备阶段和准备阶段的共识,此时所述节点状态达到了一致状态,不需要执行所述确认阶段同步所有节点状态;当顺利执行完一个周期后,会到达稳定检查点,此时会开始新的一个周期的共识。
10.根据权利要求8所述的方法,其特征在于,所述安全性和活跃性是共识算法中的两项关键指标安全性指的是所有坏的事情不会发生,即诚实节点会最终提交一个一致结果;所述活跃性指的是所有好的事情一定会发生,即在一定时间范围内一定可以完成整个共识过程,并且保证诚实节点提交一个一致结果。
CN202010450366.4A 2020-05-25 2020-05-25 一种支持微服务的高并发的可信区块链系统及方法 Active CN113726828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010450366.4A CN113726828B (zh) 2020-05-25 2020-05-25 一种支持微服务的高并发的可信区块链系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010450366.4A CN113726828B (zh) 2020-05-25 2020-05-25 一种支持微服务的高并发的可信区块链系统及方法

Publications (2)

Publication Number Publication Date
CN113726828A true CN113726828A (zh) 2021-11-30
CN113726828B CN113726828B (zh) 2023-07-25

Family

ID=78671664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010450366.4A Active CN113726828B (zh) 2020-05-25 2020-05-25 一种支持微服务的高并发的可信区块链系统及方法

Country Status (1)

Country Link
CN (1) CN113726828B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114047899A (zh) * 2022-01-12 2022-02-15 南京金宁汇科技有限公司 一种区块链的视图同步方法及系统
CN115720238A (zh) * 2022-09-01 2023-02-28 西安电子科技大学 一种支持高并发的区块链请求处理系统与方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180308072A1 (en) * 2017-04-21 2018-10-25 Gem Method and apparatus for blockchain management
CN109964446A (zh) * 2018-06-08 2019-07-02 北京大学深圳研究生院 一种基于投票的共识方法
CN110780979A (zh) * 2019-10-28 2020-02-11 北京海益同展信息科技有限公司 微服务框架下配置的控制方法及装置、介质和电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180308072A1 (en) * 2017-04-21 2018-10-25 Gem Method and apparatus for blockchain management
CN109964446A (zh) * 2018-06-08 2019-07-02 北京大学深圳研究生院 一种基于投票的共识方法
CN110780979A (zh) * 2019-10-28 2020-02-11 北京海益同展信息科技有限公司 微服务框架下配置的控制方法及装置、介质和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张蕾;: "企业微服务分布式体系构建及高可用性探索", 电子元器件与信息技术 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114047899A (zh) * 2022-01-12 2022-02-15 南京金宁汇科技有限公司 一种区块链的视图同步方法及系统
CN114047899B (zh) * 2022-01-12 2022-03-18 南京金宁汇科技有限公司 一种区块链的视图同步方法及系统
CN115720238A (zh) * 2022-09-01 2023-02-28 西安电子科技大学 一种支持高并发的区块链请求处理系统与方法
CN115720238B (zh) * 2022-09-01 2024-04-02 西安电子科技大学 一种支持高并发的区块链请求处理系统与方法

Also Published As

Publication number Publication date
CN113726828B (zh) 2023-07-25

Similar Documents

Publication Publication Date Title
CN110650189B (zh) 一种基于中继的区块链的交互系统及方法
CN105471995B (zh) 基于SOA的大规模Web服务机群高可用实现方法
CN113347164B (zh) 基于区块链的分布式共识系统及方法、设备、存储介质
CN110661662B (zh) 一种轻量级的微服务配置方法
CN112532396A (zh) 一种基于聚合签名的优化拜占庭容错方法及存储介质
CN113726828B (zh) 一种支持微服务的高并发的可信区块链系统及方法
CN112948063B (zh) 云平台的创建方法、装置、云平台以及云平台实现系统
CN111935286A (zh) 一种用于软件开发的微服务框架及其构建方法
CN112492016B (zh) 一种跨进程可扩展的共识方法及系统
CN113064764B (zh) 在区块链系统中执行区块的方法及装置
CN111158949A (zh) 容灾架构的配置方法、切换方法及装置、设备和存储介质
Chan et al. Reliableweb services: Methodology, experiment and modeling
CN111683118A (zh) 基于区块链的共识方法、装置、主节点设备及从节点设备
CN112650812A (zh) 一种数据分片存储方法、装置、计算机设备和存储介质
CN114422331B (zh) 容灾切换方法、装置及系统
CN111507694A (zh) 区块链跨链交互方法及系统
Hu et al. Transactional mobility in distributed content-based publish/subscribe systems
CN113157450A (zh) 在区块链系统中执行区块的方法及装置
US20230259930A1 (en) Cross-chain transaction processing method and apparatus, electronic device, and storage medium
CN107179912B (zh) 一种分布式架构软件定义网络控制器的热升级方法
CN115829715A (zh) 一种银行业交易调度中台控制方法和银行业交易调度中台
US20240118933A1 (en) Transaction Method and Apparatus with Fixed Execution Order
CN110324425B (zh) 混合云交易路由处理方法及装置
CN111340491B (zh) 一种松散耦合的区块链自主交易方法、装置和系统
CN103152380A (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