区块链日志的生成方法及装置、电子设备、存储介质制造方法及图纸

技术编号:33131064 阅读:21 留言:0更新日期:2022-04-17 00:47
本说明书一个或多个实施例提供一种区块链日志的生成方法及装置、电子设备、存储介质;该方法应用于节点设备,所述节点设备上运行有分别属于不同区块链网络的多个节点实例,所述多个节点实例分别对应于不同的线程,且每一线程与相应节点实例所属区块链网络的网络标识绑定;该方法可以包括:响应于任一节点实例需处理的区块链任务,确定与所述区块链任务匹配的目标线程;在所述目标线程为所述任一节点实例对应的线程的情况下,通过所述目标线程执行所述区块链任务,使目标线程在打印所述区块链任务对应的日志信息时添加自身绑定的第一网络标识。络标识。络标识。

【技术实现步骤摘要】
区块链日志的生成方法及装置、电子设备、存储介质


[0001]本说明书一个或多个实施例涉及区块链
,尤其涉及一种区块链日志的生成方法及装置、电子设备、存储介质。

技术介绍

[0002]区块链技术构建在传输网络(例如点对点网络)之上。区块链网络中的节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。
[0003]日志(Log)作为区块链中的节点在运行时输出的参考信息,可供区块链网络的用户或者运维人员用于审计该区块链网络的运行状态,比如审计整个交易流程是否合理、是否按照预期执行等等。

技术实现思路

[0004]有鉴于此,本说明书一个或多个实施例提供一种区块链日志的生成方法及装置、电子设备、存储介质。
[0005]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0006]根据本说明书一个或多个实施例的第一方面,提出了一种区块链日志的生成方法,应用于节点设备,所述节点设备上运行有分别属于不同区块链网络的多个节点实例,所述多个节点实例分别对应于不同的线程,且每一线程与相应节点实例所属区块链网络的网络标识绑定;所述方法包括:
[0007]响应于任一节点实例需处理的区块链任务,确定与所述区块链任务匹配的目标线程;
[0008]在所述目标线程为所述任一节点实例对应的线程的情况下,通过所述目标线程执行所述区块链任务,使目标线程在打印所述区块链任务对应的日志信息时添加自身绑定的第一网络标识。
[0009]根据本说明书一个或多个实施例的第二方面,提出了一种区块链日志的生成装置,应用于节点设备,所述节点设备上运行有分别属于不同区块链网络的多个节点实例,所述多个节点实例分别对应于不同的线程,且每一线程与相应节点实例所属区块链网络的网络标识绑定;所述装置包括:
[0010]确定单元,响应于任一节点实例需处理的区块链任务,确定与所述区块链任务匹配的目标线程;
[0011]执行单元,在所述目标线程为所述任一节点实例对应的线程的情况下,通过所述目标线程执行所述区块链任务,使目标线程在打印所述区块链任务对应的日志信息时添加自身绑定的第一网络标识。
[0012]根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
[0013]处理器;
[0014]用于存储处理器可执行指令的存储器;
[0015]其中,所述处理器通过运行所述可执行指令以实现如上述任一实施例中所述的方法。
[0016]根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述实施例中任一所述方法的步骤。
[0017]由以上实施例可见,在同一节点设备上运行有分别属于不同区块链网络的多个节点实例的应用场景下,每个节点实例用于形成相应的区块链网络中的区块链节点,并且每个节点实例通过创建的线程来执行自身需要处理的区块链任务。因此,各个线程在执行区块链任务时打印的日志也可能属于不同的区块链网络,即同一节点设备输出的日志涉及多个不同的区块链网络。
[0018]对此,通过将节点设备的每一线程与相应节点实例所属区块链网络的网络标识绑定,在响应于任一节点实例需处理的区块链任务时,可确定与该区块链任务匹配的目标线程,然后在目标线程为该节点实例对应的线程的情况下,使目标线程在打印区块链任务对应的日志信息时添加自身绑定的第一网络标识。基于上述打印日志的方式,每个线程打印的日志信息中均添加有所属区块链网络的网络标识,使得即使同一节点设备上部署有多个区块链网络的节点,该节点设备输出的日志信息也与部署的各个区块链网络相对应,从而便于日志管理以及后续利用日志信息中的网络标识来对相应区块链网络的运行状况进行审计。
附图说明
[0019]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是一示例性实施例提供的一种创建智能合约的示意图。
[0021]图2是一示例性实施例提供的一种调用智能合约的示意图。
[0022]图3是一示例性实施例提供的一种创建和调用智能合约的示意图。
[0023]图4是一示例性实施例提供的一种基于区块链主网组建区块链子网的示意图。
[0024]图5是一示例性实施例提供的一种区块链日志的生成方法的流程图。
[0025]图6是一示例性实施例提供的一种跨链交互的审计方法的流程图。
[0026]图7是一示例性实施例提供的一种设备的结构示意图。
[0027]图8是一示例性实施例提供的一种区块链日志的生成装置的框图。
具体实施方式
[0028]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0029]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0030]区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(Private Blockchain)和联盟链(Consortium Blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
[0031]不论是公有链、私有链还是联盟链,都可能提供智能合约的功能。区块链上的智能合约是在区块链系统上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
[0032]以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑,这是以太坊区别于比特本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链日志的生成方法,应用于节点设备,所述节点设备上运行有分别属于不同区块链网络的多个节点实例,所述多个节点实例分别对应于不同的线程,且每一线程与相应节点实例所属区块链网络的网络标识绑定;所述方法包括:响应于任一节点实例需处理的区块链任务,确定与所述区块链任务匹配的目标线程;在所述目标线程为所述任一节点实例对应的线程的情况下,通过所述目标线程执行所述区块链任务,使目标线程在打印所述区块链任务对应的日志信息时添加自身绑定的第一网络标识。2.根据权利要求1所述的方法,还包括:在所述目标线程为所述节点设备上的另一节点实例对应的线程的情况下,向所述目标线程提供所述任一节点实例所属区块链网络的第二网络标识,使所述目标线程执行所述区块链任务并在打印所述区块链任务对应的日志信息时添加第二网络标识。3.根据权利要求2所述的方法,所述多个节点实例分别运行有各自使用的用于处理区块链任务的组件,各组件分别由相应节点实例对应的线程所承载;所述确定与所述区块链任务匹配的目标线程,包括:确定所述任一节点实例运行的用于处理所述区块链任务的组件,以将承载确定出的组件的线程作为所述目标线程;或者,确定所述节点设备上的其他节点实例运行的用于处理所述区块链任务的组件,以将承载确定出的组件的线程作为所述目标线程。4.根据权利要求3所述的方法,所述另一节点实例运行的组件中包含供所述任一节点实例调用的共享组件;所述向所述目标线程提供所述任一节点实例所属区块链网络的第二网络标识,使所述目标线程执行所述区块链任务并在打印所述区块链任务对应的日志信息时添加第二网络标识,包括:在用于处理所述区块链任务的组件属于所述共享组件的情况下,运行所述任一节点实例以调用所述共享组件,并向所述共享组件提供第二网络标识,使得承载所述共享组件的线程执行所述区块链任务并在打印所述区块链任务对应的日志信息时添加第二网络标识。5.根据权利要求1所述的方法,通过以下方式将每一线程与相应节点实例所属区块链网络的网络标识绑定:在创建每一节点实例的过程中为该节点实例所属区块链网络分配网络标识,并将该节点实例对应的线程设置为与所分配的网络标识绑定。6.根据权利要求5所述的方法,所述将该节点实例对应的线程设置为与所分配的网络标识绑定,包括:通过threadlocal的方式将该节点实例对应的线程的标识设置为所分配的网络标识。7.根据权利要求1所述的方法,还包括:将所述多个节点实例分别对应的日志信息输出至同一日志文件中。8.根据权利要求7所述的方法,还包括:响应于针对日志信息的查询交易,在所述日志文件中查询添加有所述查询交易指示的网络标识的日志信息,以由查询方获取并进行审计。9.根据权利要求1所述的方法,所述节点设备上运行的节点实例包括区块链主网中主网节点的主网实例和所述区块链主网管理的区块链子网中子网节点的子网实例。
10.根据权利要求9所述的方法,还包括:所述区块链主网管理的源区块链子网中在所述节点设备上运行的源子网节点向所述区块链主网管理的目的区块链子网发起跨子网请求,以使所述目的区块链子网中的各目的子网节点分别获得所述跨子网请求,所述跨子网请求由所述源区块链子网中的至少一个源子网节点向目的区块链子网发起;所述源子网节点获取各个目的子网节点分别响应于所述跨子网请求返回的跨子网应答,根据所述源子网节点所处节点设备上部署的主网节点在第一区块高度所维护的目的区块链子网节点列表对获取到的跨子网应答进行验签及拜占庭容错校验,并将验签成功且通过拜占庭容错校验的标准跨子网应答和第一区块高度构造为重构应答;所述源子网节点在所述源区块链子网中广播所述重构应答,并接收所述源区块链子网中的其他子网节点广播的重构应答;所述源子网节点根据源区块链子网节点列表对获取到的重构应答进行验签及拜占庭容错校验,并将验签成功且通过拜占庭容错校验的重构应答确定为响应所述跨子网请求的认证应答;所述源子网节点对所述跨子网请求、所述认证应答、验签成功且通过拜占庭容错校验的所有跨子网应答对应的应答签名信息以及验签成功且通过拜占庭容错校验的所有重构应答对应的共识签名信息进行存证。11.根据权利要求10所述的方法,所述源区块链子网中的至少一个源子网节点在其维护的业务合约执行过程中触发生成针对所述目的区块链子网的跨子网请求的情况下,调用跨子网合约将所述跨子网请求发送至所述各目的子网节点。12.根据权利要求11所述的方法,所述方法还包括:调用所述跨子网合约中的回调方法,将所述认证应答返回至所述业务合约。13.根据权利要求10所述的方法,第一区块高度为所述源子网节点对获取到的跨子网应答进行验签及拜占庭容错校验时所述主网节点所维护的最新区块的区块高度;或者,第一区块高度为所述源子网节点按照预设的区块选取规则从所述主网节点所维护的区块中所选取的目标区块的区块高度。14.根据权利要求10所述的方法,所述重构应答还包含第二区块高度,第二区块高度为所述源子网节点构造重构应答时所述源区块链子网或所述主网节点所维护的最新区块的区块高度,第二区块高度用于在审计过程中获取所述源区块链子网节点列表。15.根据权利要求10所述的方法,所述响应于所述跨子网...

【专利技术属性】
技术研发人员:陶友贤
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1