区块链共识算法动态加载方法、装置、系统及存储介质制造方法及图纸

技术编号:32973593 阅读:19 留言:0更新日期:2022-04-09 11:45
本发明专利技术公开了一种区块链共识算法动态加载方法、装置、系统及存储介质,该方法为:在响应新接收到的上链请求时,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;接着,判断区块链节点当前采用的共识算法是否为所述目标共识算法,若是,则执行所述上链请求的共识过程;否则,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务;最后,当共识服务启动完成后,执行所述上链请求的共识过程。因此,本发明专利技术通过将各个共识算法服务接口化,并能够根据上链请求的业务类型适配目标共识算法,从而提高共识效率。共识效率。

【技术实现步骤摘要】
区块链共识算法动态加载方法、装置、系统及存储介质


[0001]本专利技术涉及区块链技术,尤其涉及一种区块链共识算法动态加载方法、装置、系统及存储介质。

技术介绍

[0002]区块链技术凭借其去中心化、多方共识、难以篡改、公开透明、可追溯等特征,在一定程度上能够提供一个相对可信的数据防篡改的解决方案;区块链技术中,共识机制是其中核心的组成部分,目前,常见的区块链产品仅支持深度内嵌的单一的共识算法,如Hyperledger Fabric仅支持PBFT算法,以太坊仅支持POW的单一的共识算法,但是每个共识算法都有优劣势,倘若区块链产品仅仅支持单一的共识算法,势必难以适用多变的业务场景,将制约技术应用和业务推广。
[0003]目前,在区块链底层支持切换共识算法功能的情况下,若需要对区块链的共识节点切换共识算法,为了防止交易数据丢失,需要将所有共识节点停机,以配置新的共识算法;当新的共识算法配置完成后,重新启动所有共识节点。如此一来,在共识算法的切换过程中,会导致上层的区块链业务系统出现停机,影响业务运行,而且由于区块链网络具有去中心化特点,通过停机冷启动的方式来切换共识算法,可操作性不高。

技术实现思路

[0004]鉴于以上所述现有技术的不足,本专利技术的目的在于:提供一种区块链共识算法动态加载方法,通过将各个共识算法服务接口化,并根据上链请求的业务类型适配目标共识算法,从而提高共识效率。
[0005]为实现上述专利技术目的,本专利技术提供以下技术方案:
[0006]一种区块链共识算法动态加载方法,其包括以下步骤:
[0007]响应于新接收到的上链请求,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;
[0008]判断区块链节点当前采用的共识算法是否为所述目标共识算法,若是,则执行所述上链请求的共识过程;否则,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务,以及在共识服务启动完成后,执行所述上链请求的共识过程。
[0009]根据一种具体的实施方式,本专利技术的区块链共识算法动态加载方法中,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法的方式为:将执行所述业务类型对应上链请求的共识过程时能够满足预设性能条件的共识算法作为所述目标共识算法。
[0010]根据一种具体的实施方式,本专利技术的区块链共识算法动态加载方法中,调用当前采用的共识算法的对应服务接口,以终止共识服务之前,还包括:检测是否有其它上链请求的共识过程正在执行,若有,则等待其它上链请求的共识过程执行完,并暂缓响应新接收到
的上链请求。
[0011]本专利技术在具体实施的另一方面,还提供一种装置,其包括:
[0012]目标共识算法确定模块,用于根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;
[0013]判断模块,用于判断区块链节点当前采用的共识算法是否为所述目标共识算法;
[0014]共识管理模块,用于在当前采用的共识算法为所述目标共识算法时,执行所述上链请求的共识过程;以及,在当前采用的共识算法非所述目标共识算法时,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务,以及在共识服务启动完成后,执行所述上链请求的共识过程。
[0015]根据一种具体的实施方式,本专利技术的装置中,所述目标共识算法确定模块,用于将执行所述业务类型对应上链请求的共识过程时能够满足预设性能条件的共识算法作为所述目标共识算法。
[0016]根据一种具体的实施方式,本专利技术的装置还包括:共识过程检测模块,用于区块链网络中是否有其它上链请求的共识过程正在执行;而且,所述共识管理模块,还用于在调用当前采用的共识算法的对应服务接口,以终止共识服务之前,等待其它上链请求的共识过程执行完,并暂缓响应新接收到的上链请求。
[0017]本专利技术在具体实施的另一方面,还提供一种系统,其包括:
[0018]终端,用于发出上链请求;
[0019]区块链网络,用于响应所述上链请求,实现本专利技术所述的区块链共识算法动态加载方法。
[0020]本专利技术在具体实施的另一方面,还提供一种计算机可读存储介质,其上存储有一个或多个程序,该一个或多个程序被一个或多个处理器执行时实现本专利技术所述的区块链共识算法动态加载方法。
[0021]与现有技术相比,本专利技术的有益效果:
[0022]本专利技术的区块链共识算法动态加载方法中,在响应新接收到的上链请求时,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;接着,判断区块链节点当前采用的共识算法是否为所述目标共识算法,若是,则执行所述上链请求的共识过程;否则,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务;最后,当共识服务启动完成后,执行所述上链请求的共识过程。因此,本专利技术通过将各个共识算法服务接口化,并能够根据上链请求的业务类型适配目标共识算法,从而提高共识效率。
附图说明
[0023]图1为本专利技术区块链共识算法动态加载过程的流程示意图;
[0024]图2为本专利技术装置的结构示意图;
[0025]图3为本专利技术系统的结构示意图。
具体实施方式
[0026]以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书
所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。
[0027]如图1所示,本专利技术的区块链共识算法动态加载方法,其包括以下步骤:
[0028]用户终端向区块链系统发送上链请求,区块链系统接收到该上链后,并对该上链请求进行响应,具体的,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;接着,判断区块链节点当前采用的共识算法是否为所述目标共识算法,若是,则执行所述上链请求的共识过程;否则,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务,以及在共识服务启动完成后,执行所述上链请求的共识过程。
[0029]因此,本专利技术通过将各个共识算法服务接口化,并能够根据上链请求的业务类型适配目标共识算法,从而提高共识效率。本专利技术可以采用POW、POS、PBFT、RAFT、SOLO及Kafka等共识算法或机制。
[0030]具体的,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法的方式为:将执行所述业务类型对应上链请求的共识过程时能够满足预设性能条件的共识算法作为所述目标共识算法。在实施时,预设的性能条件为共识效率和/或共识可信度。
[0031]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链共识算法动态加载方法,其特征在于,包括以下步骤:响应于新接收到的上链请求,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;判断区块链节点当前采用的共识算法是否为所述目标共识算法,若是,则执行所述上链请求的共识过程;否则,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务,以及在共识服务启动完成后,执行所述上链请求的共识过程。2.如权利要求1所述的区块链共识算法动态加载方法,其特征在于,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法的方式为:将执行所述业务类型对应上链请求的共识过程时能够满足预设性能条件的共识算法作为所述目标共识算法。3.如权利要求2所述的区块链共识算法动态加载方法,其特征在于,调用当前采用的共识算法的对应服务接口,以终止共识服务之前,还包括:检测是否有其它上链请求的共识过程正在执行,若有,则等待其它上链请求的共识过程执行完,并暂缓响应新接收到的上链请求。4.一种装置,其特征在于,包括:目标共识算法确定模块,用于根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;判断模块,用于判断区块链节点当前采用的共识...

【专利技术属性】
技术研发人员:田经纬李弋凡吕一新
申请(专利权)人:迅鳐成都科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1