CN113254169A - 区块链系统的运行方法、装置、设备和存储介质 - Google Patents

区块链系统的运行方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN113254169A
CN113254169A CN202110652768.7A CN202110652768A CN113254169A CN 113254169 A CN113254169 A CN 113254169A CN 202110652768 A CN202110652768 A CN 202110652768A CN 113254169 A CN113254169 A CN 113254169A
Authority
CN
China
Prior art keywords
component
kernel
request
block
calling
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
CN202110652768.7A
Other languages
English (en)
Other versions
CN113254169B (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110652768.7A priority Critical patent/CN113254169B/zh
Publication of CN113254169A publication Critical patent/CN113254169A/zh
Application granted granted Critical
Publication of CN113254169B publication Critical patent/CN113254169B/zh
Priority to US17/657,355 priority patent/US20220224545A1/en
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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • 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/38Encryption being effected by mechanical apparatus, e.g. rotating cams, switches, keytape punchers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

区块链系统的运行方法、装置、设备和存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及区块链技术。
背景技术
区块链行业在持续的快速发展,区块链技术发展初期主要的应用场景还是以数字货币和游戏为主。目前,区块链技术开始从支撑数字货币的底层技术,进入了全面探索赋能产业的新阶段。
目前主流的区块链实现方案,基本上都有明确的适用场景定位,由于传统方案大多都是面向数字货币类的应用场景,更加适合数字货币类的应用,在实际业务场景落地中会遇到适用性的问题,需要深入框架做改造,改造成本和技术门槛都非常高。
然而,深入框架进行改造的模式,使得改成难度大、成本高,改造后还无法自动跟进对应框架最新的更新。
发明内容
本申请提供了一种区块链系统的运行方法、装置、设备和存储介质,以提高区块链针对于不同场景的适用性,降低开发难度和成本。
根据本申请的一方面,提供了一种区块链系统的运行方法,所述方法包括:
通过区块链系统的内核引擎,对待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求 ,根据所述内核组件调用请求调用对应的内核组件 ;其中,所述内核组件的数量为至少一个;
通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。
根据本申请的另一方面,提供了一种区块链系统的运行装置,所述装置包括:
待处理区块链数据处理模块,用于通过区块链系统的内核引擎,对待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个;
内核组件调用请求执行模块,用于通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。
根据本申请的另一方面,提供一种电子设备,该电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例任一项所述的区块链系统的运行方法。
根据本申请的一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例任一项所述的区块链系统的运行方法。
根据本申请的一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本申请实施例任一项所述的区块链系统的运行方法。
本申请实施例的技术方案,能够提高区块链实现方案的可扩展性和适用性,从而降低区块链技术的研发成本。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例的一种区块链系统的运行方法的示意图;
图2是根据本申请实施例的又一种区块链系统的运行方法的示意图;
图3是根据本申请实施例的又一种区块链系统的运行方法的示意图;
图4是根据本申请实施例的又一种区块链系统的运行方法的示意图;
图5是根据本申请实施例的又一种区块链系统的运行方法的示意图;
图6是根据本申请实施例的又一种区块链系统的运行方法的示意图;
图7A是根据本申请实施例的又一种区块链系统的运行方法的示意图;
图7B为本申请上述各个实施例提供的待处理区块链数据处理过程中各内核组件被内核引擎的调用情况示意图;
图8是根据本申请实施例的一种区块链系统的运行装置的示意图;
图9是用来实现本申请实施例的区块链系统的运行方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请实施例所提供的区块链系统的运行方法,是在发明人构造的区块链内核架构的基础上提出的。
区块链系统整体上可以分为两个部分,分别为区块链内核架构和区块链应用层。其中,区块链应用层是供用户基于区块链系统实现具体业务需求的,区块链应用层向用户屏蔽了复杂的区块链底层技术,在用户了解区块链基本原理的情况下即可搭建区块链完成业务需求。可以由区块链系统主程序来实现区块链应用层的服务端功能。区块链应用层还可以包括客户端(client)和应用程序接口(API),从而提供用户交互界面或交互机制,实现与用户的交互。在一个区块链系统中可以支撑一个或多个区块链应用层的业务功能。应用层的客户端或API可通过专有组件与区块链内核架构进行交互,专有组件例如是对设定交互端口的监听服务。
本申请更为关注区块链的内核架构,内核架构至少包括:内核引擎层和内核组件层,还可以进一步包括基础组件层。其中,内核引擎层,定义了区块链内核核心流程,即区块链运行过程中的各种业务逻辑的核心流程,例如,交易处理流程、矿工出块流程、和同步区块流程等。本申请实施例中,所谓交易,是由区块链用户发起,需要由区块链节点基于区块链系统进行处理,并将处理过程上链存储的事务请求,并不限于交易业务,可以是任何区块链所需承载的应用业务或区块链管理事务请求。所谓矿工,即当前出块周期内有权限进行出块的区块链节点,并不限于基于工作量证明共识机制(POW)来确定的出块节点,基于其他共识机制确定的出块节点,也可称为矿工。并且,内核引擎采用了读写分离的设计来降低复杂度,可以采用独立读组件的方式来实现读操作,实现了读操作可单独扩展。内核引擎层中的内核引擎是可以由用户根据场景需要,进行无框架代码侵入的扩展定制,或者轻量级的代码调整定制。即,开发人员可以基于内核组件的功能来开发内核引擎,无需再单独开发内核组件。基于内核架构为用户提供了配置多种类内核引擎层的可能性,具体的可配置开发:超级公链引擎(xuperos engine)、超级联盟链引擎(xchain engine)和用户自主实现的内核引擎(other engine)等。
内核组件层,是对内核组件编程规范的具体实现,内置非常完备的标准内核组件的实现,包括账本组件、共识组件、合约组件、网络组件、加密组件和权限组件等可供内核引擎的开发者选用,同时开发者也可以低成本的按照内核组件编程规范开发适合自己场景的内核组件,并将自主实现的内核组件无缝接入到各种内核引擎中。其中,内核组件编程规范是用以抽象内核组件的规范。根据内核组件编程规范实现内核组件,可以为内核引擎调用内核组件提供标准内核组件功能接口,使得内核引擎可以通过内核引擎层内的组件适配器(如consensus、contract、ledge、network或者permission)确定的内核组件接口,基于内核组件接口实现对内核组件的调用,再通过内核组件完成对待处理区块链数据的处理工作。内核组件接口也可称为内核功能接口,是内核组件提供给内核引擎调用的、功能层级的接口。无论哪种内核组件,无论内部如何实现组件功能,都可以提供规范化、统一的内核组件接口,以方便内核引擎调用。
基础组件层内设置有与区块链业务无关的基础公共组件,例如包括:基础存储、p2p网络库、密码学库、编解码库和日志库等。
本申请提供的区块链内核架构是一种全新的高可扩展、广域场景适用的区块链通用内核框架,本架构的高度模块化的设计,保证了模块间松耦合,使得各模块都可以自由的扩展替换。基于本架构,用户可以根据具体场景的需要和喜好,非常轻量级的开发具体的区块链系统,本架构将区块链系统开发的难度降维到只是根据场景需要扩展部分子领域功能,极大的降低区块链技术的研发成本。
图1是根据本申请实施例的一种区块链系统的运行方法的示意图。本实施例可适用于在利用区块链对待处理区块链数据的情况。本实施例公开的区块链系统的运行方法可以由区块链系统的运行装置来执行,该装置可以由软件和/或硬件的方式实现,配置于具备计算和存储功能的电子设备中。参见图1,本实施例提供的一种区块链系统的运行方法,包括:
S110、通过区块链系统的内核引擎,获取待处理区块链数据。
其中,内核引擎为区块链内核核心流程,内核引擎获取的待处理区块链数据可以是由内核引擎的上一层,即应用层,从用户客户端获取待处理区块链数据以后,发送给内核引擎的,也可以是内核引擎通过网络组件接收到用户客户端发送的待处理区块链数据,以及内核引擎通过网络组件接收到区块链系统运行过程中如生成的新区块验证过程和区块同步过程产生的待处理区块链数据。可以知道的是,在区块链系统初始化的过程中,内核引擎可启动网络组件实例,网络组件定时监听在区块链系统的运行过程中是否存在待处理区块链数据。当然,区块链系统中其他组件如共识组件、合约组件和权限组件也会同时启动,具体的,区块链系统初始化的过程中为各组件,预先分配组件所需资源,供组件被调用时使用,从而缩短区块链系统响应时延。
其中,待处理区块链数据是指需要由区块链节点处理的数据,示例性的,待处理区块链数据还可以包括治理数据,即用于管理网络的操作数据,具体的如变更出块节点,管理节点和监控网络状态等操作数据,待处理区块链数据还可以是由内核引擎接收到的用户对区块链中数据的查询请求。待处理区块数据的具体内容在这里不限定,具体依据实际情况确定。
S120、通过所述内核引擎,对所述待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个。
其中,内核组件的数量为至少一个,具体数量和种类在这里不作限定,具体根据区块链系统所适用的场景及其所需提供功能确定。但是值得注意的是,内核组件至少包括区块链专用组件如合约组件、账本组件或者共识组件。
内核引擎在获取到待处理区块链数据以后,会对待处理区块链数据进行处理。具体的,内核引擎会在处理过程中根据待处理区块链数据,确定用于处理该待处理区块链数据的内核组件接口,并在确定内核组件接口后产生对应内核组件的调用请求。
其中,内核组件调用请求是指由内核引擎产生的,用于调用内核组件对待处理区块链数据进行处理的请求。值得注意的是,内核组件调用请求中所包括的参数的种类和参数数量,是根据预设内核组件编程规范确定的,在这里不作限定,具体依据实际情况确定。示例性的,内核组件调用请求包括:内核组件名称、输入参数、要求返回参数和回调函数等。
其中,内核组件接口是在根据内核组件编程规范实现内核组件时,为便于内核引擎调用内核组件提供标准内核组件功能接口。
内核引擎会根据内核组件调用请求调用对应的内核组件,通过内核组件完成对待处理区块数据的处理需求。
S130、通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。
内核组件在接收到内核组件调用请求以后,会根据内核调用请求中的各项参数如输入参数、回调函数和要求返回参数等执行设定组件功能的处理,完成对待处理区块链数据的处理需求。其中,设定组件功能与待处理区块链数据的处理需求相关。
本申请实施例的技术方案通过内核引擎基于内核组件接口与内核组件相互配合,完成了对待处理区块链数据的处理需求。本申请实施例中内核引擎和内核组件均采用模块化设计,二者通过内核组件接口实现配合工作,从而实现了模块间的松耦合,使得内核引擎和内核组件均可以自由扩展,进而扩展了区块链系统的场景适用性,本申请实施例提出的区块链系统运行方法将区块链系统开发的难度降维到用户只需要根据场景需求扩展内核组件或者内核引擎功能的程度,极大的降低区块链技术的研发成本。
图2是根据本申请实施例的另一种区块链系统的运行方法的示意图;本实施例是在上述实施例的基础上提出的一种可选方案。具体的,是对通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理的细化。
参见图2,本实施例提供的区块链系统的运行方法包括:
S210、通过区块链系统的内核引擎,获取待处理区块链数据。
S220、通过所述内核引擎,对所述待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个。
在一个可选的实施例中,所述内核组件包括下述至少一个:
合约组件,用于根据合约调用请求,运行智能合约虚拟机,以执行智能合约的功能,并将合约执行结果反馈给所述内核引擎;所述合约调用请求为所述内核组件调用请求;
具体的,在内核组件调用请求为合约调用请求的情况下,合约组件会根据合约调用请求中的各项参数,运行智能合约虚拟机实例,执行智能合约的功能,再由合约组件将合约执行结果反馈给内核引擎。示例性的,在基于区块链的有奖竞猜场景下,需要调用合约组件确定获得奖励的区块节点。
网络组件,用于根据网络交互请求,与区块链网络中其他节点进行网络交互,并将从区块链网络中接收到的数据反馈给所述内核引擎;所述网络交互请求为所述内核组件调用请求;网络组件在区块链系统的运行过程中扮演者重要角色,负责区块链内部各个区块节点之间的通信。
具体的,在内核组件调用请求为网络交互请求的情况下,网络组件会根据网络交互请求中的各项参数,与区块链网络中的其他节点进行网络交互。其中,网络交互包括区块链网络中节点间的数据接收过程与发送过程。网络组件会将从区块链网络中接收到的数据反馈给内核引擎。
共识组件,用于根据共识执行请求,与区块链网络中其他节点执行设定共识策略,并确定共识执行结果,以反馈给所述内核引擎;所述共识执行请求为所述内核组件调用请求;
具体的,在内核组件调用请求为共识执行请求的情况下,共识组件会根据共识执行请求,与区块链网络中其他节点执行设定共识策略,并确定共识执行结果,再由共识组件将共识执行结果反馈给内核引擎。示例性的,在确定区块链中出块节点的场景下,需要通过调用共识组件确定本轮的出块节点。
账本组件,用于基于区块链账本规则对账本访问请求中的账本数据进行访问处理,并将账本访问结果反馈给所述内核引擎;所述账本访问请求为所述内核组件调用请求;
具体的,在内核组件调用请求为账本访问请求的情况下,账本组件会根据账本访问请求中的各项参数,基于区块链账本规则对账本访问请求中的账本数据进行访问处理,在由账本组件将账本访问结果反馈给内核引擎。示例性的,同样在基于区块链的有奖竞猜场景下,需要调用账本组件确定奖励发放节点即其他相关节点的账户中账本数据。账本组件还可以用于识别区块链分叉,具体的由内核引擎在调用账本组件进行账本数据写入时,进行区块链的分叉识别。账本组件所采用的账本数据结构可选的是与内核引擎所采用的账本数据结构相同,则可以用相同的数据结构直接向内核引擎发起对账本数据的操作。
权限组件,用于基于权限控制请求,对智能合约的调用权限进行控制;所述权限控制请求为所述内核组件调用请求;
具体的,为了确保数据安全性,并非所有区块链节点均可以调用智能合约,在确定和更新智能合约的调用权限的情况下,需要调用权限组件,由权限组件根据权限控制请求中的各项参数,对智能合约的调用权限进行控制。
密码学组件,用于基于加解密签名请求进行加解密处理;所述加解密签名请求为所述内核组件调用请求。
区块链是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。在区块链系统中频繁涉及区块节点对产生的数据块进行加密和对其他区块节点传输的数据块的有效性进行验证的过程,具体的,在验证过程需要调用密码学组件,由密码学组件根据加解密签名请求对数据块进行加解密处理。
S230、通过所述内核组件执行所述内核组件调用请求,并在处理所述内核组件调用请求的过程中基于基础组件接口产生基础组件调用请求,根据所述基础组件调用请求调用对应的基础组件;其中,所述基础组件的数量为至少一个。
其中,基础组件是指与具体业务场景完全无关,用于支持区块链系统运行的基础功能组件。在一个可选的实施例中,所述基础组件包括下述至少一个:基础存储组件、对等网络组件、密码学库组件、编解码组件和日志库组件。
其中,基础存储组件、对等网络组件、密码学库组件、编解码组件和日志库组件分别用于支持区块链系统运行过程中数据存储功能、网络交互和数据传输功能、签名加解密功能、数据的编解码功能和区块链系统运行情况记录功能。
内核组件根据内核组件调用请求中各项参数确定对应的基础组件接口,并生成基础组件调用请求。由内核组件根据基础组件调用请求,基于基础组件接口调用对应的基础组件,通过基础组件执行基础组件调用请求。
其中,基础组件接口是在根据基础组件编程规范实现基础组件时,为便于内核组件调用基础组件提供标准基础组件功能接口。与内核组件调用请求类似,基础组件调用请求中所包括的参数的种类和参数数量,是根据预设基础组件编程规范确定的,在这里不作限定,具体依据实际情况确定。示例性的,基础组件调用请求包括:基础组件名称、输入参数、要求返回参数和回调函数等参数。
可选的,内核组件在执行内核组件调用请求的过程中,产生的基础组件调用请求至少为一个。
S240、通过所述内核组件,根据所述基础组件反馈的基础组件处理结果,实现设定组件功能的处理,完成对所述待处理区块链数据的处理需求。
基础组件在执行基础组件调用请求以后向内核组件反馈基础组件处理结果,从而实现设定组件功能的处理,完成对待处理区块链数据的处理需求。
本申请实施例的技术方案通过内核组件执行内核组件调用请求,并在处理内核组件调用请求的过程中基于基础组件接口产生基础组件调用请求,根据所述基础组件调用请求调用对应的基础组件。本申请实施例中内核引擎、内核组件和基础组件均采用模块化设计,三者通过基础组件接口实现配合工作,从而实现了模块间的松耦合,使得内核引擎、内核组件和基础组件均可以自由扩展,进而扩展了区块链系统的场景适用性。本申请实施例通过将功能实现逻辑与内核组件和内核引擎分开,提高了区块链系统的可扩展性,极大的降低区块链技术的研发成本。
图3是根据本申请实施例的另一种区块链系统的运行方法的示意图;本实施例是在上述实施例的基础上提出的一种可选方案。具体的,是对通过区块链系统的内核引擎,获取待处理区块链数据的细化。
参见图3,本实施例提供的区块链系统的运行方法包括:
S310、通过区块链系统的内核引擎,获取本机节点应用层发起的待处理区块链事务请求,作为所述待处理区块链数据。
其中,本机节点应用层可以直接体现业务场景,客户端可以通过应用层向区块链系统发起待处理事务请求,具体的,由应用层将待处理事务请求发送给区块链系统中的内核引擎。其中,待处理区块链事务请求是指用于对区块链上数据进行操作的事务请求。在本申请实施例中,事务请求可以是区块链系统中支持的任意事务请求,可以是业务事务请求,也可以是管理事务请求等与具体的业务相关。
为了使区块链系统中区块链底层能够与区块链外部设备进行通信,在一个可选的实施例中,通过区块链系统的内核引擎,获取本机节点应用层发起的待处理区块链事务请求包括:通过区块链系统的接入服务单元,对应用层客户端的网络交互端口进行监听;如果通过所述接入服务单元监听到待处理区块链事务请求的提交指令,则产生请求处理指令,传输给所述内核引擎的提交请求接口;通过所述内核引擎接收所述请求处理指令,以根据所述请求处理指令,获取所述待处理区块链事务请求。
其中,接入服务单元是指配置于区块链系统,应用层客户端的网络交互端口是否接收到待处理区块链事务请求的提交指令。
其中,网络交互端口是指用于接收应用层客户端产生的待处理区块链事务数据请求的提交指令的端口。其中,待处理区块链事务请求的提交指令是由应用层客户端产生的,用于向区块链系统中的内核引擎提交待处理区块链事务请求的指令。
具体的,接入服务单元在区块链系统初始化的同时启动,持续监听对应用层客户端的网络交互端口进行监听,避免数据丢失以保证区块链系统的可靠性。应用层客户端通过网络向该网络交互端口发送待处理区块链事务请求的提交指令,接入服务单元在监听到提交指令以后,会产生请求处理指令,并将请求处理指令传输给内核引擎的提交请求接口,内核引擎通过提交请求接口接收请求处理指令,并由内核引擎根据请求处理指令,从应用层客户端获取待处理区块链事务请求,触发内核引擎处理该待处理区块链事务请求,并在处理完成后,通过内核引擎把待处理区块链事务请求的处理结果,通过网络反馈给应用层客户端。
S320、通过所述内核组件中的网络组件,接收区块链网络中传输的待验证区块、待同步区块或区块链系统维护数据,作为所述待处理区块链数据。
其中,待验证区块、待同步区块或区块链系统维护数据均为区块链系统运行过程中由区块链内区块节点产生的数据。
在一个可选的实施例中,所述待处理区块链数据包括下述至少一项:待处理区块链事务请求、待验证区块、待同步区块和区块链系统维护数据。
其中,待验证区块是指本机节点需要验证的区块,示例性的,在确定其他节点为出块节点的情况下,为了保证数据安全有效,本机节点需要对出块节点进行验证,具体的本机节点需要对区块节点的区块高度进行验证,以确保当前出块节点与本机节点根据共识机制确定的出块节点一致;
待同步区块是指需要同步区块链中其他区块节点中事务处理数据的区块;
区块链系统维护数据,是指用于维护区块链系统的操作数据,如变更出块节点,管理节点,监控网络状态等操作数据。
值得注意的是,步骤S310和步骤S320作为并列的两种待处理区跨链数据获取方式,两个步骤之间并不存在先后的逻辑关系,为了便于表达在图3中将上述步骤以先后的形式示出。在区块链系统运行的过程中,待处理区块链数据既可以是从本机节点应用层发起的待处理区块链事务请求,也可以是通过内核组件中网络组件,接收到待验证区块、待同步区块或区块链系统维护数据。也就是说。待处理区块链数据也可以来源于区块链系统外部,也可以来源于区块链内部节点,如本机区块节点。
S330、通过所述内核引擎,对所述待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个。
S340、通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。
本申请实施例的技术方案通过区块链系统的内核引擎,获取本机节点应用层发起的待处理区块链事务请求,作为所述待处理区块链数据;或通过所述内核组件中的网络组件,接收区块链网络中传输的待验证区块、待同步区块或区块链系统维护数据,作为所述待处理区块链数据。本申请实施例中区块链采用分层和模块化设计,由应用层或者网络组件接收待处理区块链数据,在传输给内核引擎,将待处理区块链数据获取功能与内核引擎进一步分离,提高了区块链系统的可扩展性。
图4是根据本申请实施例的另一种区块链系统的运行方法的示意图;本实施例是在上述实施例的基础上提出的一种可选方案。具体的,是对通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件的细化。
参见图4,本实施例提供的区块链系统的运行方法包括:
S410、通过区块链系统的内核引擎,获取待处理区块链数据。
S420、通过所述内核引擎,对所述待处理区块链数据进行处理,并在处理过程中基于组件适配器确定待调用的内核组件接口。
内核引擎定义了区块链内核核心流程,内核引擎在获取到待处理区块链数据以后,会对待处理区块链数据进行处理。具体的,内核引擎会在处理过程中,可以在内核组件适配器提供的内核组件接口中确定用于处理该待处理区块链数据的内核组件接口,并在确定内核组件接口后产生对应内核组件的调用请求。
其中,内核组件适配器是配置于内核引擎层的,可选的,内核组件适配器中配置有待处理数据和内核组件接口对应关系,不同类型待处理区块链数据的数据格式存在差异。适配器可以根据内核引擎调用的内核组件接口来进行适当转换,转换为能直接调用内核组件的、指令级别调用请求。在本申请实施例中,实现同类组件功能的内核组件的具体实现代码可以不同,提供的内核指令接口也可以不同,但组件适配器抽象出来的为内核引擎提供的内核组件接口是规范化的接口。由此,当选用不同内核组件时,并不需要调整内核引擎,而是由组件适配器进行接口的转换。例如,组件适配器可以进行接口名称的映射转换,可以进行接口输入参数的名称和类型转换,可以进行输入参数合法性的校验,可以根据用户的选型配置确定该调用哪个内核组件等。
S430、通过所述内核引擎,基于所述内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件。
在一个可选的实施例中,内核组件调用请求包括下述至少一项:校验交易请求、执行交易请求、交易打包请求、区块签名请求、区块更新请求、区块广播请求、矿工查询请求、合约调用请求、签名校验请求、以及区块校验请求。
可以知道的是不同的内核组件调用请求可以对应同一种内核组件。
其中:
校验交易请求,是指用于调用的账本组件对交易数据进行校验的请求;在区块链中处理的事务请求也可称为交易请求,但本领域技术人员可以理解的是,区块链能够处理的事务并不限于交易,还可以是其他业务需求。
执行交易请求,是指用于调用合约组件,通过运行智能合约虚拟机实例执行交易的请求;
区块签名请求,是指用于调用密码学组件实现对区块签名的请求;
区块更新请求,是指用于调用共识组件对区块进行更新的请求;
区块广播请求,是指用于调用网络组件进行区块广播的请求;
矿工查询请求,是指用于调用共识组件对查询当前矿工或者之前矿工的记录;其中,矿工是指当前出块周期内具有出块资格的区块链节点。出块资格可基于共识机制来确定。本申请实施例中所称矿工,并不限于通过POW共识机制确定的出块节点。
合约调用请求,是指用于调用合约组件,运行智能合约的请求;
签名校验请求,是指用于调用密码学组件,对签名进行验签的请求;
区块校验请求,是指用于调用共识组件对区块进行校验的请求。
S440、通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。
本申请实施例的技术方案通过内核引擎,对待处理区块链数据进行处理,并在处理过程中基于组件适配器确定待调用的内核组件接口,通过内核引擎,基于内核组件接口产生内核组件调用请求,根据内核组件调用请求调用对应的内核组件,本申请实施例通过设置组件适配器,通过组件适配器根据待处理区块链数据对应的内核组件接口,实现了内核组件和内核引擎的松耦合,提高了区块链系统的可扩展性和场景适用性。
图5是根据本申请实施例的另一种区块链系统的运行方法的示意图;本实施例是在上述实施例的基础上提出的一种可选方案。本申请实施例描述的是进行交易提交的情况下区块链系统的运行流程。具体的,针对于交易提交的情况对“通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件,通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理”进行了细化,
参见图5,本实施例提供的区块链系统的运行方法包括:
S510、通过区块链系统的内核引擎,获取待处理区块链数据。
可选的,待处理区块链数据可以是应用层客户端通过网络发送内核引擎的提交交易请求。待处理区块链数据包括待提交交易标识以及交易数据,其中交易数据包括交易参与方和交易金额等信息。待提交交易标识可以区分不同的待提交交易,是待提交交易的唯一标识,使得待提交交易可以追溯。
S515、通过所述内核引擎,根据所述待处理区块链事务请求,基于校验交易接口产生校验交易请求,根据所述校验交易请求调用账本组件。
内核引擎接收到待处理区块链数据,对待处理区块链数据进行处理,首先对待提交交易进行验证,具体的,内核引擎根据待处理区块链数据确定校验交易接口,并由内核引擎根据基于校验交易接口产生校验交易请求,根据校验交易请求调用账本组件,通过账本组件对交易请求进行校验。
S520、通过所述账本组件,根据所述校验交易请求,对待校验账本数据进行账本校验,并将账本校验结果反馈给所述内核引擎。
账本组件在接收到校验交易请求以后,根据校验交易请求中的各项参数调用基础组件,对待校验账本数据进行账本校验,并由账本组件将账本校验结果反馈给内核引擎。示例性的,在节点A的账户向节点B的账户汇款设定金额的情况下,账本组件对待校验账本数据进行账本校验,可以包括:对节点A和节点B是否为交易请求中交易账户的拥有者进行校验、对节点A的账户中资金金额进行校验,确保节点A的账户中资金充足,或者根据区块链公共账本对账本数据进行校验判断交易是否存在双重支付。
S525、在账本校验通过后,通过所述内核引擎,基于执行交易接口产生执行交易请求,根据所述执行交易请求调用所述账本组件。
如果账本组件反馈给内核引擎的账本校验结果为通过,则可以确定可以继续执行交易,否则交易终止。
在内核引擎接收到账本校验通过的校验结果以后,内核引擎通过账本组件提供的执行交易接口产生执行交易请求,并根据执行交易请求调用账本组件执行该笔交易。其中,执行交易请求可以包括交易参与节点和交易金额等信息
S530、通过所述账本组件,根据所述执行交易请求,执行所述待处理区块链事务请求,形成交易数据,并添加到未确认交易池。
其中,交易数据是指在账本组件执行交易请求过程中产生的数据。
示例性的,通过账本组件完成节点A账户中设定金额划入到节点B 的账户中的过程,并将节点A和节点B账户中资金金额变动情况、资金流向和交易时间等作为交易数据。
账本组件形成的未经确认的交易数据将放入未确认交易池等待其他区块节点确认。
在一个可选的实施例中,通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件,通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理包括:通过所述内核引擎,基于矿工查询接口,按照设定规律持续产生矿工查询请求,根据所述矿工查询请求调用共识组件;通过所述共识组件,根据所述矿工查询请求查询本机节点是否为当前区块的矿工,并将矿工查询结果反馈给所述内核引擎。
其中,设定规律是由相关技术人员预先配置的区块链系统中的,用于规定调用共识组件进行查询矿工的时机,设定规律具体根据实际需求确定,在这里不作限定。示例性的,设定规律可以是响应于在网络组件监听到区块链网络中传输待验证区块,产生矿工查询请求;也可以是,按照设定时间间隔,周期性查询当前矿工。内核引擎根据矿工查询请求调用共识组件,由共识组件查询出块矿工并向内核引擎反馈矿工查询结果。
由于本机节点是否为矿工会影响本机节点的待处理区块链数据的处理流程,因此内核引擎需要通过共识组件确定本机节点是否为当前区块的矿工。
若本机节点为当前矿工,此时本机节点为出块节点,在生成区块后直接进入区块打包流程,具体的,内核引擎将调用相应内核组件,由本机节点完成对生成区块的打包处理。若本机节点不是当前矿工,内核引擎在接收到网络组件传输的其他区块的待验证区块时,需要对待验证区块进行验证。
S535、如果本机节点为当前区块的矿工,则通过内核引擎,基于区块打包接口产生交易打包请求,根据所述交易打包请求调用所述账本组件。
如果本机节点为当前区块的矿工,此时本机节点为出块节点,启动产生新区块流程,将交易数据打包成为新区块,发布到区块链网络中,由区块链网络中的其他节点对新区块进行校验。具体的,内核引擎确定区块打包接口,基于区块打包接口产生交易打包请求,再根据交易打包请求调用账本组件,由账本组件对待打包交易进行打包处理。
S540、通过所述账本组件,根据所述交易打包请求,从所述未确认交易池中确认待打包交易数据,打包形成区块并反馈给所述内核引擎。
其中,交易打包请求包括待打包交易标识,账本组件根据带打包交易标识在未确认交易池中确认待打包交易数据,将待打包交易数据打包形成区块,并将生成的区块反馈给内核引擎。
S545、通过所述内核引擎,基于签名接口产生区块签名请求,并根据所述区块签名请求调用密码学组件。
交易数据打包成区块以后,需要本机节点对生成区块进行签名,以表示本机节点确认交易数据准确无误,并对此负责。具体的,内核引擎在接收到生成的区块以后,并基于签名接口产生区块签名请求,根据区块签名请求调用密码学组件通过,密码学组件完成新区块的签名处理。
S550、通过所述密码学组件,根据所述区块签名请求,对打包形成的区块进行签名处理,并反馈给所述内核引擎。
密码学组件根据区块链请求中的待签名区块标识,确定待签名区块对进行签名,并将带有本机节点签名的区块反馈给内核引擎。
S555、通过所述内核引擎,基于区块更新接口产生区块更新请求,并根据所述区块更新请求调用所述账本组件。
内核引擎在接收到带有本机节点签名的区块以后,确定区块更新接口,并基于区块更新接口产生区块更新请求,并根据区块更新请求中的各项参数调用账本组件,通过账本组件对本机节点的本地账本进行更新。
S560、通过所述账本组件,根据所述区块更新请求将签名后的区块写入本机节点的本地账本中。
账本组件根据区块更新请求中的待更新区块标识,将带有本机节点签名的区块写入本机节点的本地账本中。
S565、通过所述内核引擎,基于区块广播接口产生区块广播请求,并根据所述区块广播请求调用所述网络组件。
对于新生成的区块,在本机节点验证以后还需要区块链网络中的其他节点对区块进行验证,内核引擎在更新完本机节点的本地账本以后,确定区块广播接口,基于区块广播接口产生区块广播请求,并根据区块广播请求调用网络组件,通过网络组件将生成的区块在区块链内广播。
S570、通过所述网络组件,根据所述区块广播请求将签名后的区块向区块链网络中传输。
网络组件根据区块广播请求,将携带有本机节点签名的区块向区块链网络中传输,使得区块链网络中的其他区块可以获取到新区块。
本申请实施例的技术方案通过内核引擎基于内核组件接口与内核组件相互配合,完成了对待处理区块链数据的处理需求。本申请中内核引擎和内核组件均采用模块化设计,二者通过内核组件接口实现配合工作,从而实现了模块间的松耦合,使得内核引擎和内核组件均可以自由扩展,进而扩展了区块链系统的场景适用性,本申请的提出的区块链系统运行方法将区块链系统开发的难度降维到用户只需要根据场景需求扩展内核组件或者内核引擎功能的程度,极大的降低区块链技术的研发成本。
图6是根据本申请实施例的另一种区块链系统的运行方法的示意图,本申请实施例描述的是进行区块验证的情况下区块链系统的运行流程。具体的,针对于区块验证的情况对本实施例是在上述实施例的基础上提出的一种可选方案。具体的,是对通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件,通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理的细化。
参见图6,本实施例提供的区块链系统的运行方法包括:
S610、通过区块链系统的内核引擎,获取待处理区块链数据。
具体的,待处理区块链数据可以是网络组件接收到并传输给内核引擎的区块链网络中传输的待验证区块。可选的,待验证区块为在区块链网络中除本机节点外的其他区块节点为矿工的情况下,需要本机节点验证的矿工生成的新区块。
S620、如果通过网络组件监听到从区块链网络中传输的待验证区块时,反馈给所述内核引擎。
网络组件在区块链系统运行的过程中持续监听待处理区块链数据,若网络组件坚挺到区块链网络中传输的待验证区块时,则由网络组件将待验证区块反馈给内核引擎。
S630、通过所述内核引擎,基于矿工查询接口,产生矿工查询请求,根据所述矿工查询请求调用共识组件。
其中,矿工查询请求是指用于查询当前出块节点的请求。在内核引擎接收到网络组件反馈的待验证区块时,内核引擎确定矿工查询接口,根据矿工查询接口产生矿工查询请求,并产生矿工查询请求调用共识组件,由共识组件确定待验证区块的出块矿工并向内核引擎反馈矿工查询结果。
S640、通过所述共识组件,根据所述矿工查询请求查询所述待验证区块的矿工,并将矿工查询结果反馈给所述内核引擎。
共识组件根据矿工查询请求中的待验证区块标识信息,查询待验证区块的出块矿工,并由共识组件将矿工查询结果反馈给内核引擎。
S650、通过所述内核引擎,基于签名校验接口产生签名校验请求,并根据所述签名校验请求调用密码学组件。
由内核引擎确定签名校验接口,基于签名校验接口产生签名校验请求,并根据签名校验请求调用密码学组件,通过密码学组件对待验证区块携带的签名进行验证。其中,签名校验请求包括共识组件反馈给内核引擎的矿工查询结果。即根据共识机制确定的待验证区块的矿工。
S660、通过所述密码学组件,根据所述签名校验请求,对所述待验证区块进行签名校验处理,并将签名校验结果反馈给所述内核引擎。
密码学组件根据签名校验请求对待验证区块进行签名验证处理,以校验对待验证区块的矿工是否与本机节点根据共识机制确定的矿工一致。具体的,根据签名校验请求中的矿工查询结果和待验证区块的签名区块,确定待验证区块的签名校验结果,并由密码学组件将签名校验结果反馈给内核引擎。
S670、通过所述内核引擎,根据所述待验证区块,基于区块校验接口产生区块校验请求,根据所述区块校验请求调用账本组件。
在对生成待验证区块的矿工身份进行确认以后,还需要进一步对区块进行校验,由内核引擎根据待验证区块确定区块校验接口,内核引擎基于区块校验接口产生区块校验请求,并根据区块校验请求调用账本组件,由账本组件对待验证区块对应的账本数据进行校验。
S680、通过所述账本组件,根据所述区块校验请求对所述待验证区块进行校验,并在校验通过时将所述待验证区块写入本机节点的本地账本中。
账本组件根据区块校验请求对待验证区块进行校验,并在校验通过时将待验证区块写入本机节点的本地账本中,表明本机节点已经确认待验证区块具备有效性。
本申请实施例的技术方案通过内核引擎基于内核组件接口与内核组件相互配合,完成了对待处理区块链数据的处理需求。本申请中内核引擎和内核组件均采用模块化设计,二者通过内核组件接口实现配合工作,从而实现了模块间的松耦合,使得内核引擎和内核组件均可以自由扩展,进而扩展了区块链系统的场景适用性,本申请实施例的提出的区块链系统运行方法将区块链系统开发的难度降维到用户只需要根据场景需求扩展内核组件或者内核引擎功能的程度,极大的降低区块链技术的研发成本。
图7A是根据本申请实施例的另一种区块链系统的运行方法的示意图;本实施例是在上述实施例的基础上提出的一种可选方案。具体的,是对通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件,通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理的细化。
S710、通过区块链系统的内核引擎,获取待处理区块链数据。
可选的,待处理区块链数据可以是应用层客户端通过网络发送待处理区块链事务请求。示例性的,待处理区块链事务请求为在基于区块链的有奖竞猜场景下,由应用层客户端发送的获奖节点确定请求。智能合约规定了获奖节点的确定方法,通过运行智能合约确定获奖节点。
S720、通过所述内核引擎,基于合约调用接口产生合约调用请求,根据所述合约调用请求调用合约组件。
内核引擎根据待处理区块链事务请求,确定合约调用接口并基于合约调用接口生成合约调用请求,再由内核引擎根据合约调用请求调用合约组件,通过合约组件运行智能合约虚拟机实例,从而完成待处理区块链数据的处理需求,如通过运行智能合约虚拟机实例确定参与有奖竞猜的会将节点。
S730、通过所述合约组件,根据所述合约调用请求运行智能合约虚拟机,对所述待处理区块链事务请求进行处理,并将合约处理结果反馈给所述内核引擎。
合约组件根据合约调用请求中智能合约标识,确定智能合约并运行智能合约虚拟机实例,通过运行虚拟机实例实现对待处理区块事务请求的处理,并由合约组件将合约处理结果反馈给内核引擎。示例性的,合约处理结果为获奖区块的区块标识。
图7B为本申请上述各个实施例提供的待处理区块链数据处理过程中各内核组件被内核引擎的调用情况示意图。内核组件的具体调用情况参见上述实施例描述,此处不再赘述。
本申请实施例的技术方案通过内核引擎基于内核组件接口与内核组件相互配合,完成了对待处理区块链数据的处理需求。本申请中内核引擎和内核组件均采用模块化设计,二者通过内核组件接口实现配合工作,从而实现了模块间的松耦合,使得内核引擎和内核组件均可以自由扩展,进而扩展了区块链系统的场景适用性,本申请的提出的区块链系统运行方法将区块链系统开发的难度降维到用户只需要根据场景需求扩展内核组件或者内核引擎功能的程度,极大的降低区块链技术的研发成本。
图8是根据本申请实施例的区块链系统的运行装置的示意图;参见图8,本申请实施例公开了一种区块链系统的运行装置800,该装置800可以包括:待处理区块链数据处理模块810和内核组件调用请求执行模块820。
待处理区块链数据处理模块810,用于通过区块链系统的内核引擎,对待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个;
内核组件调用请求执行模块820,用于通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。
本申请实施例的技术方案通过内核引擎基于内核组件接口与内核组件相互配合,完成了对待处理区块链数据的处理需求。本申请中内核引擎和内核组件均采用模块化设计,二者通过内核组件接口实现配合工作,从而实现了模块间的松耦合,使得内核引擎和内核组件均可以自由扩展,进而扩展了区块链系统的场景适用性,本申请的提出的区块链系统运行方法将区块链系统开发的难度降维到用户只需要根据场景需求扩展内核组件或者内核引擎功能的程度,极大的降低区块链技术的研发成本。
可选的,内核组件调用请求执行模块820包括:基础组件调用子模块,用于通过所述内核组件执行所述内核组件调用请求,并在处理所述内核组件调用请求的过程中基于基础组件接口产生基础组件调用请求,根据所述基础组件调用请求调用对应的基础组件;其中,所述基础组件的数量为至少一个;
设定组件功能实现子模块,用于通过所述内核组件,根据所述基础组件反馈的基础组件处理结果,实现设定组件功能的处理。
可选的,所述基础组件包括下述至少一个:基础存储组件、对等网络组件、密码学库组件、编解码组件和日志库组件。
可选的,所述内核组件包括下述至少一个:
合约组件,用于根据合约调用请求,运行智能合约虚拟机,以执行智能合约的功能,并将合约执行结果反馈给所述内核引擎;所述合约调用请求为所述内核组件调用请求;
网络组件,用于根据网络交互请求,与区块链网络中其他节点进行网络交互,并将从区块链网络中接收到的数据反馈给所述内核引擎;所述网络交互请求为所述内核组件调用请求;
共识组件,用于根据共识执行请求,与区块链网络中其他节点执行设定共识策略,并确定共识执行结果,以反馈给所述内核引擎;所述共识执行请求为所述内核组件调用请求;
账本组件,用于基于区块链账本规则对账本访问请求中的账本数据进行访问处理,并将账本访问结果反馈给所述内核引擎;所述账本访问请求为所述内核组件调用请求;
权限组件,用于基于权限控制请求,对智能合约的调用权限进行控制;所述权限控制请求为所述内核组件调用请求;
密码学组件,用于基于加解密签名请求进行加解密处理;所述加解密签名请求为所述内核组件调用请求。
可选的,所述待处理区块链数据包括下述至少一项:待处理区块链事务请求、待验证区块、待同步区块和区块链系统维护数据。
可选的,该装置还包括:待处理区块链数据获取第一子模块,用于通过区块链系统的内核引擎,获取本机节点应用层发起的待处理区块链事务请求,作为所述待处理区块链数据;或
待处理区块链数据获取第二子模块,用于通过所述内核组件中的网络组件,接收区块链网络中传输的待验证区块、待同步区块或区块链系统维护数据,作为所述待处理区块链数据。
可选的,待处理区块链数据获取第一子模块,包括:网络交互端口监听单元,用于通过区块链系统的接入服务单元,对应用层客户端的网络交互端口进行监听;
请求处理指令生成单元,用于如果通过所述接入服务单元监听到待处理区块链事务请求的提交指令,则产生请求处理指令,传输给所述内核引擎的提交请求接口;
待处理区块链事务请求获取单元,用于通过所述内核引擎接收所述请求处理指令,以根据所述请求处理指令,获取所述待处理区块链事务请求。
可选的,待处理区块链数据处理模块810,包括:待处理区块链数据处理子模块和内核组件调用子模块;
其中,待处理区块链数据处理子模块,具体用于通过所述内核引擎,对所述待处理区块链数据进行处理;
内核组件调用子模块,具体用于通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;
内核组件调用子模块,包括:
待调用内核组件接口确定单元,用于通过所述内核引擎,在处理过程中基于组件适配器确定待调用的内核组件接口;
内核组件调用单元,用于通过所述内核引擎,基于所述内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件。
可选的,所述内核组件调用请求包括下述至少一项:校验交易请求、执行交易请求、交易打包请求、区块签名请求、区块更新请求、区块广播请求、矿工查询请求、合约调用请求、签名校验请求、以及区块校验请求。
可选的,内核组件调用子模块,包括:
校验交易请求产生单元,用于通过所述内核引擎,根据所述待处理区块链事务请求,基于校验交易接口产生校验交易请求,根据所述校验交易请求调用账本组件;
待校验账本数据校验单元,用于通过所述账本组件,根据所述校验交易请求,对待校验账本数据进行账本校验,并将账本校验结果反馈给所述内核引擎;
执行交易请求产生单元,用于在账本校验通过后,通过所述内核引擎,基于执行交易接口产生执行交易请求,根据所述执行交易请求调用所述账本组件;
交易数据形成单元,用于通过所述账本组件,根据所述执行交易请求,执行所述待处理区块链事务请求,形成交易数据,并添加到未确认交易池;
交易打包请求产生单元,用于如果本机节点为当前区块的矿工,则通过内核引擎,基于区块打包接口产生交易打包请求,根据所述交易打包请求调用所述账本组件;
区块打包单元,用于通过所述账本组件,根据所述交易打包请求,从所述未确认交易池中确认待打包交易数据,打包形成区块并反馈给所述内核引擎;
密码学组件调用单元,用于通过所述内核引擎,基于签名接口产生区块签名请求,并根据所述区块签名请求调用密码学组件;
区块签名单元,用于通过所述密码学组件,根据所述区块签名请求,对打包形成的区块进行签名处理,并反馈给所述内核引擎;
区块更新请求产生单元,用于通过所述内核引擎,基于区块更新接口产生区块更新请求,并根据所述区块更新请求调用所述账本组件;
区块写入单元,用于通过所述账本组件,根据所述区块更新请求将签名后的区块写入本机节点的本地账本中;
区块广播请求产生单元,用于通过所述内核引擎,基于区块广播接口产生区块广播请求,并根据所述区块广播请求调用所述网络组件;
区块传输单元,用于通过所述网络组件,根据所述区块广播请求将签名后的区块向区块链网络中传输。
可选的,内核组件调用子模块,包括:
第一矿工查询请求产生单元,用于通过所述内核引擎,基于矿工查询接口,按照设定规律持续产生矿工查询请求,根据所述矿工查询请求调用共识组件;
矿工查询结果反馈单元,用于通过所述共识组件,根据所述矿工查询请求查询本机节点是否为当前区块的矿工,并将矿工查询结果反馈给所述内核引擎。
可选的,内核组件调用子模块,包括:
合约调用请求产生单元,用于通过所述内核引擎,基于合约调用接口产生合约调用请求,根据所述合约调用请求调用合约组件;
智能合约虚拟机运行单元,用于通过所述合约组件,根据所述合约调用请求运行智能合约虚拟机,对所述待处理区块链事务请求进行处理,并将合约处理结果反馈给所述内核引擎。
可选的,内核组件调用子模块,包括:
待验证区块反馈单元,用于如果通过网络组件监听到从区块链网络中传输的待验证区块时,反馈给所述内核引擎;
第二矿工查询请求产生单元,用于通过所述内核引擎,基于矿工查询接口,产生矿工查询请求,根据所述矿工查询请求调用共识组件;
矿工查询结果反馈单元,用于通过所述共识组件,根据所述矿工查询请求查询所述待验证区块的矿工,并将矿工查询结果反馈给所述内核引擎;
签名校验请求产生单元,用于通过所述内核引擎,基于签名校验接口产生签名校验请求,并根据所述签名校验请求调用密码学组件;
待验证区块签名校验单元,用于通过所述密码学组件,根据所述签名校验请求,对所述待验证区块进行签名校验处理,并将签名校验结果反馈给所述内核引擎;
区块校验请求产生单元,用于通过所述内核引擎,根据所述待验证区块,基于区块校验接口产生区块校验请求,根据所述区块校验请求调用账本组件;
待验证区块校验模块,用于通过所述账本组件,根据所述区块校验请求对所述待验证区块进行校验,并在校验通过时将所述待验证区块写入本机节点的本地账本中。
本申请实施例所提供的区块链系统的运行装置可执行本申请任意实施例所提供的区块链系统的运行方法,具备执行区块链系统的运行方法相应的功能模块和有益效果。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图9示出了可以用来实施本申请的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如区块链系统的运行方法。例如,在一些实施例中,区块链系统的运行方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的区块链系统的运行方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行区块链系统的运行方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (16)

1.一种区块链系统的运行方法,包括:
通过区块链系统的内核引擎,对待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个;
通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。
2.根据权利要求1所述的方法,其中,通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理包括:
通过所述内核组件执行所述内核组件调用请求,并在处理所述内核组件调用请求的过程中基于基础组件接口产生基础组件调用请求,根据所述基础组件调用请求调用对应的基础组件;其中,所述基础组件的数量为至少一个;
通过所述内核组件,根据所述基础组件反馈的基础组件处理结果,实现设定组件功能的处理。
3.根据权利要求2所述的方法,其中,所述基础组件包括下述至少一个:基础存储组件、对等网络组件、密码学库组件、编解码组件和日志库组件。
4.根据权利要求1所述的方法,其中,所述内核组件包括下述至少一个:
合约组件,用于根据合约调用请求,运行智能合约虚拟机,以执行智能合约的功能,并将合约执行结果反馈给所述内核引擎;所述合约调用请求为所述内核组件调用请求;
网络组件,用于根据网络交互请求,与区块链网络中其他节点进行网络交互,并将从区块链网络中接收到的数据反馈给所述内核引擎;所述网络交互请求为所述内核组件调用请求;
共识组件,用于根据共识执行请求,与区块链网络中其他节点执行设定共识策略,并确定共识执行结果,以反馈给所述内核引擎;所述共识执行请求为所述内核组件调用请求;
账本组件,用于基于区块链账本规则对账本访问请求中的账本数据进行访问处理,并将账本访问结果反馈给所述内核引擎;所述账本访问请求为所述内核组件调用请求;
权限组件,用于基于权限控制请求,对智能合约的调用权限进行控制;所述权限控制请求为所述内核组件调用请求;
密码学组件,用于基于加解密签名请求进行加解密处理;所述加解密签名请求为所述内核组件调用请求。
5.根据权利要求4所述的方法,其中,所述待处理区块链数据包括下述至少一项:待处理区块链事务请求、待验证区块、待同步区块和区块链系统维护数据。
6. 根据权利要求5所述的方法,还包括:
通过区块链系统的内核引擎,获取本机节点应用层发起的待处理区块链事务请求,作为所述待处理区块链数据;或
通过所述内核组件中的网络组件,接收区块链网络中传输的待验证区块、待同步区块或区块链系统维护数据,作为所述待处理区块链数据。
7.根据权利要求6所述的方法,其中,通过区块链系统的内核引擎,获取本机节点应用层发起的待处理区块链事务请求包括:
通过区块链系统的接入服务单元,对应用层客户端的网络交互端口进行监听;
如果通过所述接入服务单元监听到待处理区块链事务请求的提交指令,则产生请求处理指令,传输给所述内核引擎的提交请求接口;
通过所述内核引擎接收所述请求处理指令,以根据所述请求处理指令,获取所述待处理区块链事务请求。
8.根据权利要求5所述的方法,其中,通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件包括:
通过所述内核引擎,在处理过程中基于组件适配器确定待调用的内核组件接口;
通过所述内核引擎,基于所述内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件。
9.根据权利要求5所述的方法,其中,所述内核组件调用请求包括下述至少一项:
校验交易请求、执行交易请求、交易打包请求、区块签名请求、区块更新请求、区块广播请求、矿工查询请求、合约调用请求、签名校验请求、以及区块校验请求。
10.根据权利要求5所述的方法,其中,通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件,通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理包括:
通过所述内核引擎,根据所述待处理区块链事务请求,基于校验交易接口产生校验交易请求,根据所述校验交易请求调用账本组件;
通过所述账本组件,根据所述校验交易请求,对待校验账本数据进行账本校验,并将账本校验结果反馈给所述内核引擎;
在账本校验通过后,通过所述内核引擎,基于执行交易接口产生执行交易请求,根据所述执行交易请求调用所述账本组件;
通过所述账本组件,根据所述执行交易请求,执行所述待处理区块链事务请求,形成交易数据,并添加到未确认交易池;
如果本机节点为当前区块的矿工,则通过内核引擎,基于区块打包接口产生交易打包请求,根据所述交易打包请求调用所述账本组件;
通过所述账本组件,根据所述交易打包请求,从所述未确认交易池中确认待打包交易数据,打包形成区块并反馈给所述内核引擎;
通过所述内核引擎,基于签名接口产生区块签名请求,并根据所述区块签名请求调用密码学组件;
通过所述密码学组件,根据所述区块签名请求,对打包形成的区块进行签名处理,并反馈给所述内核引擎;
通过所述内核引擎,基于区块更新接口产生区块更新请求,并根据所述区块更新请求调用所述账本组件;
通过所述账本组件,根据所述区块更新请求将签名后的区块写入本机节点的本地账本中;
通过所述内核引擎,基于区块广播接口产生区块广播请求,并根据所述区块广播请求调用所述网络组件;
通过所述网络组件,根据所述区块广播请求将签名后的区块向区块链网络中传输。
11.根据权利要求5所述的方法,其中,通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件,通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理包括:
通过所述内核引擎,基于矿工查询接口,按照设定规律持续产生矿工查询请求,根据所述矿工查询请求调用共识组件;
通过所述共识组件,根据所述矿工查询请求查询本机节点是否为当前区块的矿工,并将矿工查询结果反馈给所述内核引擎。
12.根据权利要求5所述的方法,其中,通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件,通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理包括:
通过所述内核引擎,基于合约调用接口产生合约调用请求,根据所述合约调用请求调用合约组件;
通过所述合约组件,根据所述合约调用请求运行智能合约虚拟机,对所述待处理区块链事务请求进行处理,并将合约处理结果反馈给所述内核引擎。
13.根据权利要求5所述的方法,其中,通过所述内核引擎,在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件,通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理包括:
如果通过网络组件监听到从区块链网络中传输的待验证区块时,反馈给所述内核引擎;
通过所述内核引擎,基于矿工查询接口,产生矿工查询请求,根据所述矿工查询请求调用共识组件;
通过所述共识组件,根据所述矿工查询请求查询所述待验证区块的矿工,并将矿工查询结果反馈给所述内核引擎;
通过所述内核引擎,基于签名校验接口产生签名校验请求,并根据所述签名校验请求调用密码学组件;
通过所述密码学组件,根据所述签名校验请求,对所述待验证区块进行签名校验处理,并将签名校验结果反馈给所述内核引擎;
通过所述内核引擎,根据所述待验证区块,基于区块校验接口产生区块校验请求,根据所述区块校验请求调用账本组件;
通过所述账本组件,根据所述区块校验请求对所述待验证区块进行校验,并在校验通过时将所述待验证区块写入本机节点的本地账本中。
14.一种区块链系统的运行装置,配置于区块链节点,所述装置包括:
待处理区块链数据处理模块,用于通过区块链系统的内核引擎,对待处理区块链数据进行处理,并在处理过程中基于内核组件接口产生内核组件调用请求,根据所述内核组件调用请求调用对应的内核组件;其中,所述内核组件的数量为至少一个;
内核组件调用请求执行模块,用于通过所述内核组件执行所述内核组件调用请求,以执行设定组件功能的处理,完成对所述待处理区块链数据的处理需求。
15. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-13中任一项所述的区块链系统的运行方法。
CN202110652768.7A 2021-06-11 2021-06-11 区块链系统的运行方法、装置、设备和存储介质 Active CN113254169B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110652768.7A CN113254169B (zh) 2021-06-11 2021-06-11 区块链系统的运行方法、装置、设备和存储介质
US17/657,355 US20220224545A1 (en) 2021-06-11 2022-03-30 Method and apparatus for operating blockchain system, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110652768.7A CN113254169B (zh) 2021-06-11 2021-06-11 区块链系统的运行方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN113254169A true CN113254169A (zh) 2021-08-13
CN113254169B CN113254169B (zh) 2021-11-09

Family

ID=77187576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110652768.7A Active CN113254169B (zh) 2021-06-11 2021-06-11 区块链系统的运行方法、装置、设备和存储介质

Country Status (2)

Country Link
US (1) US20220224545A1 (zh)
CN (1) CN113254169B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113689296A (zh) * 2021-08-30 2021-11-23 北京泛融科技有限公司 一种异步可信计算的合约调度方法、装置和电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113935070B (zh) * 2021-12-16 2022-06-07 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备以及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558115A (zh) * 2018-10-25 2019-04-02 深圳市圆世科技有限责任公司 一种基于区块链技术的操作系统架构
CN109726206A (zh) * 2018-12-26 2019-05-07 百度在线网络技术(北京)有限公司 区块链节点的数据处理方法、装置、设备和存储介质
US20190260574A1 (en) * 2018-02-21 2019-08-22 Thunder Token Inc. Blockchain consensus methods and systems
CN110263085A (zh) * 2019-04-23 2019-09-20 阿里巴巴集团控股有限公司 基于区块链的数据处理系统、方法、计算设备及存储介质
CN111242620A (zh) * 2020-01-15 2020-06-05 阳光易购(湖南)科技有限公司 区块链交易系统的数据缓存及查询方法、终端及存储介质
CN112631649A (zh) * 2020-12-28 2021-04-09 杭州趣链科技有限公司 智能合约管理方法、装置、终端设备及介质
CN112734576A (zh) * 2021-01-19 2021-04-30 广东工业大学 一种区块链的共识系统及方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190260574A1 (en) * 2018-02-21 2019-08-22 Thunder Token Inc. Blockchain consensus methods and systems
CN109558115A (zh) * 2018-10-25 2019-04-02 深圳市圆世科技有限责任公司 一种基于区块链技术的操作系统架构
CN109726206A (zh) * 2018-12-26 2019-05-07 百度在线网络技术(北京)有限公司 区块链节点的数据处理方法、装置、设备和存储介质
CN110263085A (zh) * 2019-04-23 2019-09-20 阿里巴巴集团控股有限公司 基于区块链的数据处理系统、方法、计算设备及存储介质
CN111242620A (zh) * 2020-01-15 2020-06-05 阳光易购(湖南)科技有限公司 区块链交易系统的数据缓存及查询方法、终端及存储介质
CN112631649A (zh) * 2020-12-28 2021-04-09 杭州趣链科技有限公司 智能合约管理方法、装置、终端设备及介质
CN112734576A (zh) * 2021-01-19 2021-04-30 广东工业大学 一种区块链的共识系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
中国区块链技术和产业发展论坛: "回望2018年中国区块链的方法", 《软件和集成电路》 *
刘明达 等: "基于区块链的分布式可信网络连接架构", 《软件学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113689296A (zh) * 2021-08-30 2021-11-23 北京泛融科技有限公司 一种异步可信计算的合约调度方法、装置和电子设备
CN113689296B (zh) * 2021-08-30 2023-11-17 北京泛融科技有限公司 一种异步可信计算的合约调度方法、装置和电子设备

Also Published As

Publication number Publication date
CN113254169B (zh) 2021-11-09
US20220224545A1 (en) 2022-07-14

Similar Documents

Publication Publication Date Title
JP2021103572A (ja) ブロックチェーンベースのデータ処理方法、装置、デバイス、記憶媒体、及びプログラム
CN105573828B (zh) 一种操作处理方法及装置
KR20210071942A (ko) 트랜잭션 처리 방법, 장치 및 기기, 그리고 컴퓨터 저장 매체
CN113254169B (zh) 区块链系统的运行方法、装置、设备和存储介质
CN110557403B (zh) 基于区块链的资源分配方法、装置、存储介质及节点设备
US10621651B2 (en) Automatic recharge system and method, and server
CN106713391B (zh) 一种session信息的共享方法和共享系统
GB2550451A (en) Offline peer-assisted notification delivery
EP3872728A1 (en) Method and apparatus for processing transaction in blockchain, device and medium
CN111565204B (zh) 区块链运行方法、装置、设备及存储介质
CN112819638A (zh) 交易判重的方法、装置、设备和计算机可读介质
CN103745399A (zh) 拍卖处理系统及方法
CN113110883B (zh) 区块链系统的启动方法、装置、设备和存储介质
CN113110899B (zh) 区块链系统的运行方法、装置、设备和存储介质
CN113110920B (zh) 区块链系统的运行方法、装置、设备和存储介质
EP4120660A1 (en) Cloud application-based resource transfer method and apparatus, and computer device
US11500857B2 (en) Asynchronous remote calls with undo data structures
CN113254114B (zh) 区块链系统的运行方法、装置、设备和存储介质
CN113254168B (zh) 区块链系统的运行方法、装置、设备和存储介质
CN113110921B (zh) 区块链系统的运行方法、装置、设备和存储介质
CN110457619A (zh) 浏览器信息传输方法及装置
CN113253995B (zh) 区块链系统的开发方法、装置、设备和存储介质
CN112995244B (zh) 一种签约代扣方法、资源访问方法及设备
CN114820186B (zh) 基于区块链和聊天机器人的服务系统和方法
KR102531826B1 (ko) 블록체인에 의해 난수를 획득하는 방법, 장치, 설비 및 매체

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