区块链系统的运行方法、装置、设备和存储介质制造方法及图纸

技术编号:29672458 阅读:13 留言:0更新日期:2021-08-13 21:53
本申请公开了一种区块链系统的运行方法、装置、设备和存储介质,涉及计算机技术领域,尤其涉及区块链技术。具体实现方案为:通过区块链系统的内核引擎,对待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个;通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。执行本申请提供的技术方案可以提高区块链系统的适用性和可扩展性,从而降低区块链系统的研发成本。

【技术实现步骤摘要】
区块链系统的运行方法、装置、设备和存储介质
本申请涉及计算机
,尤其涉及区块链技术。
技术介绍
区块链行业在持续的快速发展,区块链技术发展初期主要的应用场景还是以数字货币和游戏为主。目前,区块链技术开始从支撑数字货币的底层技术,进入了全面探索赋能产业的新阶段。目前主流的区块链实现方案,基本上都有明确的适用场景定位,由于传统方案大多都是面向数字货币类的应用场景,更加适合数字货币类的应用,在实际业务场景落地中会遇到适用性的问题,需要深入框架做改造,改造成本和技术门槛都非常高。然而,深入框架进行改造的模式,使得改成难度大、成本高,改造后还无法自动跟进对应框架最新的更新。
技术实现思路
本申请提供了一种区块链系统的运行方法、装置、设备和存储介质,以提高区块链针对于不同场景的适用性,降低开发难度和成本。根据本申请的一方面,提供了一种区块链系统的运行方法,所述方法包括:通过区块链系统的内核引擎,对待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个;通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。根据本申请的另一方面,提供了一种区块链系统的运行装置,所述装置包括:待处理区块链数据处理模块,用于通过区块链系统的内核引擎,对待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个;内核组件调用请求执行模块,用于通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。根据本申请的另一方面,提供一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例任一项所述的区块链系统的运行方法。根据本申请的一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例任一项所述的区块链系统的运行方法。根据本申请的一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本申请实施例任一项所述的区块链系统的运行方法。本申请实施例的技术方案,能够提高区块链实现方案的可扩展性和适用性,从而降低区块链技术的研发成本。应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1是根据本申请实施例的一种区块链系统的运行方法的示意图;图2是根据本申请实施例的又一种区块链系统的运行方法的示意图;图3是根据本申请实施例的又一种区块链系统的运行方法的示意图;图4是根据本申请实施例的又一种区块链系统的运行方法的示意图;图5是根据本申请实施例的又一种区块链系统的运行方法的示意图;图6是根据本申请实施例的又一种区块链系统的运行方法的示意图;图7A是根据本申请实施例的又一种区块链系统的运行方法的示意图;图7B为本申请上述各个实施例提供的待处理区块链数据处理过程中各内核组件被内核引擎的调用情况示意图;图8是根据本申请实施例的一种区块链系统的运行装置的示意图;图9是用来实现本申请实施例的区块链系统的运行方法的电子设备的框图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。本申请实施例所提供的区块链系统的运行方法,是在专利技术人构造的区块链内核架构的基础上提出的。区块链系统整体上可以分为两个部分,分别为区块链内核架构和区块链应用层。其中,区块链应用层是供用户基于区块链系统实现具体业务需求的,区块链应用层向用户屏蔽了复杂的区块链底层技术,在用户了解区块链基本原理的情况下即可搭建区块链完成业务需求。可以由区块链系统主程序来实现区块链应用层的服务端功能。区块链应用层还可以包括客户端(client)和应用程序接口(API),从而提供用户交互界面或交互机制,实现与用户的交互。在一个区块链系统中可以支撑一个或多个区块链应用层的业务功能。应用层的客户端或API可通过专有组件与区块链内核架构进行交互,专有组件例如是对设定交互端口的监听服务。本申请更为关注区块链的内核架构,内核架构至少包括:内核引擎层和内核组件层,还可以进一步包括基础组件层。其中,内核引擎层,定义了区块链内核核心流程,即区块链运行过程中的各种业务逻辑的核心流程,例如,交易处理流程、矿工出块流程、和同步区块流程等。本申请实施例中,所谓交易,是由区块链用户发起,需要由区块链节点基于区块链系统进行处理,并将处理过程上链存储的事务请求,并不限于交易业务,可以是任何区块链所需承载的应用业务或区块链管理事务请求。所谓矿工,即当前出块周期内有权限进行出块的区块链节点,并不限于基于工作量证明共识机制(POW)来确定的出块节点,基于其他共识机制确定的出块节点,也可称为矿工。并且,内核引擎采用了读写分离的设计来降低复杂度,可以采用独立读组件的方式来实现读操作,实现了读操作可单独扩展。内核引擎层中的内核引擎是可以由用户根据场景需要,进行无框架代码侵入的扩展定制,或者轻量级的代码调整定制。即,开发人员可以基于内核组件的功能来开发内核引擎,无需再单独开发内核组件。基于内核架构为用户提供了配置多种类内核引擎层的可能性,具体的可配置开发:超级公链引擎(xuperosengine)、超级联盟链引擎(xchainengine)和用户自主实现的内核引擎(otherengine)等。内核组件层,是对内核组件编程规范的具体实现,内置非常完备的标准内核组件的实现,包括账本组件、共识组件、合约组件、网络组件、加密组件和权限组件等可供内核引擎的开发者选用,同时开发者也可以低成本的按照内核组件编程规范开发适合自己场景的内核组件,并将自主实现的内核组件无缝接入到各种内核引擎中。其中,内核组件编程规范是用以抽象内核组件的规范。根据内核组件编程规范实现内核组件,可以为内核引擎调用内核组件提供标准内核组件功能接口,使得内核引擎可以通过内核引擎层内的组件适配器(如consensus、contract、ledge、network或者permission)确定的内核组件接口,基于本文档来自技高网...

【技术保护点】
1.一种区块链系统的运行方法,包括:/n通过区块链系统的内核引擎,对待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个;/n通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。/n

【技术特征摘要】
1.一种区块链系统的运行方法,包括:
通过区块链系统的内核引擎,对待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个;
通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。


2.根据权利要求1所述的方法,其中,通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理包括:
通过所述内核组件执行所述内核组件调用请求,并在处理所述内核组件调用请求的过程中基于基础组件接口产生基础组件调用请求,根据所述基础组件调用请求调用对应的基础组件;其中,所述基础组件的数量为至少一个;
通过所述内核组件,根据所述基础组件反馈的基础组件处理结果,实现设定组件功能的处理。


3.根据权利要求2所述的方法,其中,所述基础组件包括下述至少一个:基础存储组件、对等网络组件、密码学库组件、编解码组件和日志库组件。


4.根据权利要求1所述的方法,其中,所述内核组件包括下述至少一个:
合约组件,用于根据合约调用请求,运行智能合约虚拟机,以执行智能合约的功能,并将合约执行结果反馈给所述内核引擎;所述合约调用请求为所述内核组件调用请求;
网络组件,用于根据网络交互请求,与区块链网络中其他节点进行网络交互,并将从区块链网络中接收到的数据反馈给所述内核引擎;所述网络交互请求为所述内核组件调用请求;
共识组件,用于根据共识执行请求,与区块链网络中其他节点执行设定共识策略,并确定共识执行结果,以反馈给所述内核引擎;所述共识执行请求为所述内核组件调用请求;
账本组件,用于基于区块链账本规则对账本访问请求中的账本数据进行访问处理,并将账本访问结果反馈给所述内核引擎;所述账本访问请求为所述内核组件调用请求;
权限组件,用于基于权限控制请求,对智能合约的调用权限进行控制;所述权限控制请求为所述内核组件调用请求;
密码学组件,用于基于加解密签名请求进行加解密处理;所述加解密签名请求为所述内核组件调用请求。


5.根据权利要求4所述的方法,其中,所述待处理区块链数据包括下述至少一项:待处理区块链事务请求、待验证区块、待同步区块和区块链系统维护数据。


6.根据权利要求5所述的方法,还包括:
通过区块链系统的内核引擎,获取本机节点应用层发起的待处理区块链事务请求,作为所述待处理区块链数据;或
通过所述内核组件中的网络组件,接收区块链网络中传输的待验证区块、待同步区块或区块链系统维护数据,作为所述待处理区块链数据。


7.根据权利要求6所述的方法,其中,通过区块链系统的内核引擎,获取本机节点应用层发起的待处理区块链事务请求包括:
通过区块链系统的接入服务单元,对应用层客户端的网络交互端口进行监听;
如果通过所述接入服务单元监听到待处理区块链事务请求的提交指令,则产生请求处理指令,传输给所述内核引擎的提交请求接口;
通过所述内核引擎接收所述请求处理指令,以根据所述请求处理指令,获取所述待处理区块链事务请求。


8.根据权利要求5所述的方法,其中,通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件包括:
通过所述内核引擎,在处理过程中基于组件适配器确定待调用的内核组件接口;
通过所述内核引擎,基于所述内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件。


9.根据权利要求5所述的方法,其中,所述内核组件调用请求包括下述至少一项:
校验交易请求、执行交易请求、交易打包请求、区块签名请求、区块更新请求、区块广播请求、矿工查询请求、合约调用请求、签名校验请求、以及区块校验请求。


10.根据权利要求5所述的方法,其中,通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件,通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理包括:
通过所述内核引擎,根据所述待处理区块链事务请求,基于校验交易接口产生校验交易请求,根据所述校验交易请求调用账本组件;
通过所述账本组件,根据所述校验交易请求,对待校验账本数据进行账本校验,并将账本校验结果反馈给所述内核引擎;
在账本校验...

【专利技术属性】
技术研发人员:万春辉王源肖伟
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1