CN114296831A - 区块链共识算法动态加载方法、装置、系统及存储介质 - Google Patents

区块链共识算法动态加载方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN114296831A
CN114296831A CN202111660101.8A CN202111660101A CN114296831A CN 114296831 A CN114296831 A CN 114296831A CN 202111660101 A CN202111660101 A CN 202111660101A CN 114296831 A CN114296831 A CN 114296831A
Authority
CN
China
Prior art keywords
consensus
consensus algorithm
uplink request
algorithm
service
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
CN202111660101.8A
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.)
Mrray Chengdu Technology Co ltd
Original Assignee
Mrray Chengdu Technology 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 Mrray Chengdu Technology Co ltd filed Critical Mrray Chengdu Technology Co ltd
Priority to CN202111660101.8A priority Critical patent/CN114296831A/zh
Publication of CN114296831A publication Critical patent/CN114296831A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

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

Description

区块链共识算法动态加载方法、装置、系统及存储介质
技术领域
本发明涉及区块链技术,尤其涉及一种区块链共识算法动态加载方法、装置、系统及存储介质。
背景技术
区块链技术凭借其去中心化、多方共识、难以篡改、公开透明、可追溯等特征,在一定程度上能够提供一个相对可信的数据防篡改的解决方案;区块链技术中,共识机制是其中核心的组成部分,目前,常见的区块链产品仅支持深度内嵌的单一的共识算法,如Hyperledger Fabric仅支持PBFT算法,以太坊仅支持POW的单一的共识算法,但是每个共识算法都有优劣势,倘若区块链产品仅仅支持单一的共识算法,势必难以适用多变的业务场景,将制约技术应用和业务推广。
目前,在区块链底层支持切换共识算法功能的情况下,若需要对区块链的共识节点切换共识算法,为了防止交易数据丢失,需要将所有共识节点停机,以配置新的共识算法;当新的共识算法配置完成后,重新启动所有共识节点。如此一来,在共识算法的切换过程中,会导致上层的区块链业务系统出现停机,影响业务运行,而且由于区块链网络具有去中心化特点,通过停机冷启动的方式来切换共识算法,可操作性不高。
发明内容
鉴于以上所述现有技术的不足,本发明的目的在于:提供一种区块链共识算法动态加载方法,通过将各个共识算法服务接口化,并根据上链请求的业务类型适配目标共识算法,从而提高共识效率。
为实现上述发明目的,本发明提供以下技术方案:
一种区块链共识算法动态加载方法,其包括以下步骤:
响应于新接收到的上链请求,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;
判断区块链节点当前采用的共识算法是否为所述目标共识算法,若是,则执行所述上链请求的共识过程;否则,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务,以及在共识服务启动完成后,执行所述上链请求的共识过程。
根据一种具体的实施方式,本发明的区块链共识算法动态加载方法中,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法的方式为:将执行所述业务类型对应上链请求的共识过程时能够满足预设性能条件的共识算法作为所述目标共识算法。
根据一种具体的实施方式,本发明的区块链共识算法动态加载方法中,调用当前采用的共识算法的对应服务接口,以终止共识服务之前,还包括:检测是否有其它上链请求的共识过程正在执行,若有,则等待其它上链请求的共识过程执行完,并暂缓响应新接收到的上链请求。
本发明在具体实施的另一方面,还提供一种装置,其包括:
目标共识算法确定模块,用于根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;
判断模块,用于判断区块链节点当前采用的共识算法是否为所述目标共识算法;
共识管理模块,用于在当前采用的共识算法为所述目标共识算法时,执行所述上链请求的共识过程;以及,在当前采用的共识算法非所述目标共识算法时,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务,以及在共识服务启动完成后,执行所述上链请求的共识过程。
根据一种具体的实施方式,本发明的装置中,所述目标共识算法确定模块,用于将执行所述业务类型对应上链请求的共识过程时能够满足预设性能条件的共识算法作为所述目标共识算法。
根据一种具体的实施方式,本发明的装置还包括:共识过程检测模块,用于区块链网络中是否有其它上链请求的共识过程正在执行;而且,所述共识管理模块,还用于在调用当前采用的共识算法的对应服务接口,以终止共识服务之前,等待其它上链请求的共识过程执行完,并暂缓响应新接收到的上链请求。
本发明在具体实施的另一方面,还提供一种系统,其包括:
终端,用于发出上链请求;
区块链网络,用于响应所述上链请求,实现本发明所述的区块链共识算法动态加载方法。
本发明在具体实施的另一方面,还提供一种计算机可读存储介质,其上存储有一个或多个程序,该一个或多个程序被一个或多个处理器执行时实现本发明所述的区块链共识算法动态加载方法。
与现有技术相比,本发明的有益效果:
本发明的区块链共识算法动态加载方法中,在响应新接收到的上链请求时,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;接着,判断区块链节点当前采用的共识算法是否为所述目标共识算法,若是,则执行所述上链请求的共识过程;否则,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务;最后,当共识服务启动完成后,执行所述上链请求的共识过程。因此,本发明通过将各个共识算法服务接口化,并能够根据上链请求的业务类型适配目标共识算法,从而提高共识效率。
附图说明
图1为本发明区块链共识算法动态加载过程的流程示意图;
图2为本发明装置的结构示意图;
图3为本发明系统的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
如图1所示,本发明的区块链共识算法动态加载方法,其包括以下步骤:
用户终端向区块链系统发送上链请求,区块链系统接收到该上链后,并对该上链请求进行响应,具体的,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;接着,判断区块链节点当前采用的共识算法是否为所述目标共识算法,若是,则执行所述上链请求的共识过程;否则,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务,以及在共识服务启动完成后,执行所述上链请求的共识过程。
因此,本发明通过将各个共识算法服务接口化,并能够根据上链请求的业务类型适配目标共识算法,从而提高共识效率。本发明可以采用POW、POS、PBFT、RAFT、SOLO及Kafka等共识算法或机制。
具体的,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法的方式为:将执行所述业务类型对应上链请求的共识过程时能够满足预设性能条件的共识算法作为所述目标共识算法。在实施时,预设的性能条件为共识效率和/或共识可信度。
在实施时,本发明的区块链共识算法动态加载方法中,调用当前采用的共识算法的对应服务接口,以终止共识服务之前,还包括:检测是否有其它上链请求的共识过程正在执行,若有,则等待其它上链请求的共识过程执行完,并暂缓响应新接收到的上链请求。
如图2所示,本发的明装置包括:
目标共识算法确定模块,用于根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;
判断模块,用于判断区块链节点当前采用的共识算法是否为所述目标共识算法;
共识管理模块,用于在当前采用的共识算法为所述目标共识算法时,执行所述上链请求的共识过程;以及,在当前采用的共识算法非所述目标共识算法时,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务,以及在共识服务启动完成后,执行所述上链请求的共识过程。
具体的,本发明的装置中,所述目标共识算法确定模块,用于将执行所述业务类型对应上链请求的共识过程时能够满足预设性能条件的共识算法作为所述目标共识算法。
在实施时,本发明的装置还包括:共识过程检测模块,用于区块链网络中是否有其它上链请求的共识过程正在执行;而且,所述共识管理模块,还用于在调用当前采用的共识算法的对应服务接口,以终止共识服务之前,等待其它上链请求的共识过程执行完,并暂缓响应新接收到的上链请求。
如图3所示,本发明的系统,其包括:
N个终端,用于发出上链请求;
区块链网络,用于响应各个终端发出的上链请求,并实现本发明的区块链共识算法动态加载方法。
本发明在具体实施的另一方面,还提供一种计算机可读存储介质,其上存储有一个或多个程序,该一个或多个程序被一个或多个处理器执行时实现本发明所述的区块链共识算法动态加载方法。
应该理解到,本发明所揭露的系统,可通过其它的方式实现。例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,模块之间的通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (8)

1.一种区块链共识算法动态加载方法,其特征在于,包括以下步骤:
响应于新接收到的上链请求,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;
判断区块链节点当前采用的共识算法是否为所述目标共识算法,若是,则执行所述上链请求的共识过程;否则,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务,以及在共识服务启动完成后,执行所述上链请求的共识过程。
2.如权利要求1所述的区块链共识算法动态加载方法,其特征在于,根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法的方式为:将执行所述业务类型对应上链请求的共识过程时能够满足预设性能条件的共识算法作为所述目标共识算法。
3.如权利要求2所述的区块链共识算法动态加载方法,其特征在于,调用当前采用的共识算法的对应服务接口,以终止共识服务之前,还包括:检测是否有其它上链请求的共识过程正在执行,若有,则等待其它上链请求的共识过程执行完,并暂缓响应新接收到的上链请求。
4.一种装置,其特征在于,包括:
目标共识算法确定模块,用于根据所述上链请求指示的业务类型,确定所述上链请求的共识过程拟采用的目标共识算法;
判断模块,用于判断区块链节点当前采用的共识算法是否为所述目标共识算法;
共识管理模块,用于在当前采用的共识算法为所述目标共识算法时,执行所述上链请求的共识过程;以及,在当前采用的共识算法非所述目标共识算法时,调用当前采用的共识算法的对应服务接口,以终止共识服务,并调用所述目标共识算法的对应服务接口,以启动共识服务,以及在共识服务启动完成后,执行所述上链请求的共识过程。
5.如权利要求4所述的装置,其特征在于,所述目标共识算法确定模块,用于将执行所述业务类型对应上链请求的共识过程时能够满足预设性能条件的共识算法作为所述目标共识算法。
6.如权利要求5所述的装置,其特征在于,还包括:共识过程检测模块,用于区块链网络中是否有其它上链请求的共识过程正在执行;而且,所述共识管理模块,还用于在调用当前采用的共识算法的对应服务接口,以终止共识服务之前,等待其它上链请求的共识过程执行完,并暂缓响应新接收到的上链请求。
7.一种系统,其特征在于,包括:
终端,用于发出上链请求;
区块链网络,用于响应所述上链请求,实现如权利要求1~3任一项所述的区块链共识算法动态加载方法。
8.一种计算机可读存储介质,其特征在于,其上存储有一个或多个程序,该一个或多个程序被一个或多个处理器执行时实现如权利要求1~3任一项所述的区块链共识算法动态加载方法。
CN202111660101.8A 2021-12-30 2021-12-30 区块链共识算法动态加载方法、装置、系统及存储介质 Pending CN114296831A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111660101.8A CN114296831A (zh) 2021-12-30 2021-12-30 区块链共识算法动态加载方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111660101.8A CN114296831A (zh) 2021-12-30 2021-12-30 区块链共识算法动态加载方法、装置、系统及存储介质

Publications (1)

Publication Number Publication Date
CN114296831A true CN114296831A (zh) 2022-04-08

Family

ID=80973142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111660101.8A Pending CN114296831A (zh) 2021-12-30 2021-12-30 区块链共识算法动态加载方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN114296831A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737810A (zh) * 2023-05-06 2023-09-12 清华大学 一种用于分布式时序数据库的共识服务接口

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360206A (zh) * 2017-03-29 2017-11-17 阿里巴巴集团控股有限公司 一种区块链共识方法、设备及系统
CN107450981A (zh) * 2017-05-31 2017-12-08 阿里巴巴集团控股有限公司 一种区块链共识方法及设备
CN108647967A (zh) * 2018-05-10 2018-10-12 北京京东尚科信息技术有限公司 选择区块链共识机制的方法、装置以及共识节点
CN109698753A (zh) * 2018-12-17 2019-04-30 成都四方伟业软件股份有限公司 基于区块链的上链共识算法匹配方法及装置
CN110365695A (zh) * 2019-07-24 2019-10-22 中国工商银行股份有限公司 可切换共识算法的区块链数据交互方法及装置
CN110830581A (zh) * 2019-11-12 2020-02-21 金蝶软件(中国)有限公司 提升区块链响应速度的方法、区块链应用系统及相关设备
CN110865927A (zh) * 2019-11-20 2020-03-06 腾讯科技(深圳)有限公司 区块链调用链路异常检测方法、装置和计算机设备
CN111586149A (zh) * 2020-04-30 2020-08-25 中国银行股份有限公司 基于云和区块链的网络系统及其业务处理方法、装置
CN111737350A (zh) * 2020-06-19 2020-10-02 清华大学 一种基于分布式系统的共识机制选择方法及装置
CN111767347A (zh) * 2020-07-27 2020-10-13 腾讯科技(深圳)有限公司 共识算法的切换方法、装置、节点设备及存储介质
CN111861469A (zh) * 2020-07-27 2020-10-30 北京金山云网络技术有限公司 区块链中共识机制的处理方法、装置和电子设备
CN112068900A (zh) * 2020-09-09 2020-12-11 上海万向区块链股份公司 Bft共识算法热插拔切换系统
CN112486518A (zh) * 2020-12-01 2021-03-12 北京微芯区块链与边缘计算研究院 共识算法装配方法及装置
CN112650626A (zh) * 2020-12-29 2021-04-13 杭州趣链科技有限公司 共识算法的切换方法、装置、电子设备及存储介质
CN112907082A (zh) * 2021-02-23 2021-06-04 上海腾天节能技术有限公司 一种区块链共识算法评估优化方法
CN113761062A (zh) * 2021-08-26 2021-12-07 浙商银行股份有限公司 一种自适应共识算法切换方法、设备及存储介质
CN113783947A (zh) * 2021-08-26 2021-12-10 浙商银行股份有限公司 一种自适应区块链节点容错提升方法、设备及存储介质

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360206A (zh) * 2017-03-29 2017-11-17 阿里巴巴集团控股有限公司 一种区块链共识方法、设备及系统
CN107450981A (zh) * 2017-05-31 2017-12-08 阿里巴巴集团控股有限公司 一种区块链共识方法及设备
CN108647967A (zh) * 2018-05-10 2018-10-12 北京京东尚科信息技术有限公司 选择区块链共识机制的方法、装置以及共识节点
CN109698753A (zh) * 2018-12-17 2019-04-30 成都四方伟业软件股份有限公司 基于区块链的上链共识算法匹配方法及装置
CN110365695A (zh) * 2019-07-24 2019-10-22 中国工商银行股份有限公司 可切换共识算法的区块链数据交互方法及装置
CN110830581A (zh) * 2019-11-12 2020-02-21 金蝶软件(中国)有限公司 提升区块链响应速度的方法、区块链应用系统及相关设备
CN110865927A (zh) * 2019-11-20 2020-03-06 腾讯科技(深圳)有限公司 区块链调用链路异常检测方法、装置和计算机设备
CN111586149A (zh) * 2020-04-30 2020-08-25 中国银行股份有限公司 基于云和区块链的网络系统及其业务处理方法、装置
CN111737350A (zh) * 2020-06-19 2020-10-02 清华大学 一种基于分布式系统的共识机制选择方法及装置
CN111767347A (zh) * 2020-07-27 2020-10-13 腾讯科技(深圳)有限公司 共识算法的切换方法、装置、节点设备及存储介质
CN111861469A (zh) * 2020-07-27 2020-10-30 北京金山云网络技术有限公司 区块链中共识机制的处理方法、装置和电子设备
CN112068900A (zh) * 2020-09-09 2020-12-11 上海万向区块链股份公司 Bft共识算法热插拔切换系统
CN112486518A (zh) * 2020-12-01 2021-03-12 北京微芯区块链与边缘计算研究院 共识算法装配方法及装置
CN112650626A (zh) * 2020-12-29 2021-04-13 杭州趣链科技有限公司 共识算法的切换方法、装置、电子设备及存储介质
CN112907082A (zh) * 2021-02-23 2021-06-04 上海腾天节能技术有限公司 一种区块链共识算法评估优化方法
CN113761062A (zh) * 2021-08-26 2021-12-07 浙商银行股份有限公司 一种自适应共识算法切换方法、设备及存储介质
CN113783947A (zh) * 2021-08-26 2021-12-10 浙商银行股份有限公司 一种自适应区块链节点容错提升方法、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116737810A (zh) * 2023-05-06 2023-09-12 清华大学 一种用于分布式时序数据库的共识服务接口

Similar Documents

Publication Publication Date Title
CN107832100B (zh) 一种apk插件的加载方法及其终端
CN112559407B (zh) Stp链路层状态机优化方法
CN109325349A (zh) 一种安全管理方法、终端设备及计算机可读存储介质
CN109597719A (zh) 一种多核系统的监控方法、系统、装置及可读存储介质
CN114564435A (zh) 异构多核芯片的核间通信方法、装置及介质
CN114296831A (zh) 区块链共识算法动态加载方法、装置、系统及存储介质
CN101826967B (zh) 数据卡及拨号上网方法
CN105874773A (zh) 任务处理装置、智能设备、任务处理方法及基带处理器
WO2021077742A1 (zh) 一种业务处理方法、系统、装置及可读存储介质
CN111277373B (zh) 一种服务器切换的控制方法、终端及存储介质
CN115794472A (zh) 芯片的错误收集及错误处理方法、装置及存储介质
WO2024207889A1 (zh) 用户识别卡信息加载方法、装置、存储介质及电子设备
CN109002286A (zh) 基于同步编程的数据异步处理方法及装置
CN102141920A (zh) 一种动态配置C-State方法和通信设备
CN116932248A (zh) 一种基于线程和协程的事件处理方法、装置和终端设备
WO2017206244A1 (zh) 通话接入的方法及装置
CN109922014B (zh) 一种交换机冷热启动判断方法及系统
CN106550021A (zh) 推送消息的推送方法及装置
CN114579319B (zh) 显存管理方法、显存管理模块、soc及电子设备
CN114500749A (zh) Ai智能外呼转人工坐席的方法、系统、设备和存储介质
CN112463037B (zh) 一种元数据保存方法、装置、设备、产品
CN110868395B (zh) 一种基于收发单框架的大并发业务处理方法、设备及介质
CN111143085B (zh) 一种实现多应用并发调用硬件的方法
CN110233773A (zh) 一种sim卡热插拔方法、装置、终端设备及存储介质
CN101546267B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220408

RJ01 Rejection of invention patent application after publication