一种区块链交易查询方法及系统与流程

文档序号:19418576发布日期:2019-12-14 01:11阅读:1130来源:国知局
一种区块链交易查询方法及系统与流程

本说明书实施例涉及信息技术领域,尤其涉及一种区块链交易查询方法及系统。



背景技术:

联盟链网络,是指由多个机构成员分别控制的节点(或称节点设备)组成的区块链网络。在联盟链网络中,每个联盟节点都维护一条区块链(即账本),区块链中存储有区块链交易。

随着基于联盟链网络开展的各种业务向大众普及,非联盟机构成员的用户也存在查询区块链中的区块链交易的需求,然而,目前缺少一种对于用户而言较为便利的区块链交易查询方法。



技术实现要素:

为了方便非联盟机构成员的用户查询联盟链网络中存储的区块链交易,本说明书实施例提供一种区块链交易查询方法及装置,技术方案如下:

根据本说明书实施例的第1方面,提供一种区块链交易查询方法,查询服务端预先针对联盟链网络存储的每个区块链交易,创建该区块链交易对应的查询服务接口,并将创建的该查询服务接口暴露给查询客户端;

所述方法包括:

所述查询客户端确定用户指定的查询服务接口,作为目标查询服务接口;

所述查询客户端调用所述查询服务端的目标查询服务接口;

所述查询服务端当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易,并将获取的区块链交易返回给所述查询客户端;

所述查询客户端将接收到的区块链交易提供给所述用户。

根据本说明书实施例的第2方面,提供一种区块链交易查询系统,包括联盟链网络、查询服务端与至少一个查询客户端;

所述查询服务端预先针对所述联盟链网络存储的每个区块链交易,创建该区块链交易对应的查询服务接口,并将创建的该查询服务接口暴露给每个查询客户端;

任一查询客户端,确定用户指定的查询服务接口,作为目标查询服务接口;调用所述查询服务端的目标查询服务接口;将从所述查询服务端接收到的区块链交易提供给所述用户;

所述查询服务端,当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易,并将获取的区块链交易返回给所述查询客户端。

本说明书实施例所提供的技术方案,引入中心化的“查询服务端-查询客户端”架构,查询服务端与联盟链网络对接,并且针对联盟链网络中存储的每个区块链交易都创建了相应的查询服务接口,将每个区块链交易对应的查询服务接口暴露给查询客户端。用户通过查询客户端以调用查询服务接口的方式进行区块链交易的查询,简易高效。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。

此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要通过的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是本说明书实施例提供的一种区块链交易查询系统的架构示意图;

图2是本说明书实施例提供的一种区块链交易查询方法的流程示意图;

图3是本说明书实施例提供的一种区块链交易处理方法的流程示意图;

图4是本说明书实施例提供的一种区块链交易处理方法的流程示意图;

图5是本说明书提供的一种区块链交易处理方法的流程示意图;

图6是本说明书实施例提供的一种针对图5所示的方法中处理的区块链交易的查询方法的流程示意图;

图7是本说明书提供的一种区块链交易查询装置的结构示意图;

图8是本说明书提供的一种区块链交易查询装置的结构示意图;

图9是本说明书提供的一种区块链交易处理装置的结构示意图;

图10是本说明书实施例提供的一种针对展示信息的查询装置的结构示意图;

图11是本说明书实施例提供的一种针对展示信息的查询装置的结构示意图;

图12是本说明书实施例提供的一种区块链交易处理装置的结构示意图;

图13是本说明书实施例提供的一种查询区块链交易的装置的结构示意图;

图14是本说明书实施例提供的一种查询区块链交易的装置的结构示意图;

图15是用于配置本说明书实施例装置的一种计算机设备的结构示意图。

具体实施方式

为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。

以下结合附图,详细说明本说明书各实施例提供的技术方案。

图1是本说明书实施例提供的一种区块链交易查询系统的架构示意图,如图1所示,包括包括联盟链网络、查询服务端与至少一个查询客户端。

其中,联盟链网络是联盟式的区块链网络,由多个机构成员分别控制的节点设备组成。在实践中,业务产生的区块链交易可以提交给联盟链网络进行存储。

查询服务端是本说明书实施例中引入的中心化设备,对接于联盟链网络。查询服务端具有访问联盟链网络中的至少一个节点上的区块链的权限。当然,联盟链网络也可以不授予查询服务端访问区块链的权限。

在实践中,查询服务端具体是区块链即服务(blockasaservice,baas)平台的服务器。联盟链网络的发起和建立可以通过baas平台来进行。联盟链网络的管理员可以登录baas平台,来对联盟链网络的各项参数(如节点数量、共识协议、是否授权用户访问、授权哪些用户访问等)进行配置。

查询客户端与查询服务端之间是典型的客户机-服务器(client-server,c/s)架构。查询服务端可以对应有不止一个查询客户端,每个查询客户端对应有一个用户。用户想要查询联盟链网络存储的区块链交易时,需要通过自己的设备(如手机、电脑)上安装的查询客户端请求查询服务端代理查询。

所述查询服务端预先针对所述联盟链网络存储的每个区块链交易,创建该区块链交易对应的查询服务接口,并将创建的该查询服务接口暴露给每个查询客户端。其中,查询服务接口实际上是应用编程接口(applicationprogramminginterface,api),查询服务端将每个区块链交易对应的api暴露给查询客户端,意味着查询客户端可以通过调用某个api的方式,来发起针对该api对应的区块链交易的查询请求。

任一查询客户端,确定用户指定的查询服务接口,作为目标查询服务接口;调用所述查询服务端的目标查询服务接口;将从所述查询服务端接收到的区块链交易提供给所述用户。

查询服务端,当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易,并将获取的区块链交易返回给所述查询客户端。

在后文中的实施例中可以看到,查询服务端也可以将目标查询服务接口对应的交易日志中的展示信息返回给查询客户端进行展示,还可以根据目标查询服务接口对应的区块链交易的交易日志中的上一个关联区块链交易的交易标识来进一步查询到目标查询服务接口对应的区块链交易之前的每个关联的区块链交易和相应的交易日志中的展示信息,将进一步查询到的这些信息也返回给查询客户端。

图2是本说明书实施例提供的一种区块链交易查询方法的流程示意图,包括如下步骤:

s200:查询客户端确定用户指定的查询服务接口,作为目标查询服务接口。

在本说明书实施例中,用户需要查询某个区块链交易时,可以向查询客户端输入该区块链交易的交易标识(一般是该区块链交易的哈希值),查询客户端会根据用户输入的交易标识,确定用户所要查询的区块链交易,进而确定所要调用的查询服务接口。

进一步地,查询服务端可以为每个查询服务接口确定对应的统一资源定位符(uniformresourelocator,url),将url下发给查询客户端。查询客户端将每个查询服务接口对应的url展示给用户,用户触发url即可指定所要调用的查询服务接口。

更进一步地,查询服务端可以将每个查询服务接口对应的url编码成条码(一维条码、二维条码等),将条码下发给查询客户端。某个用户可以通过自己的查询客户端将某个区块链交易对应的查询服务入口的条码展示给其他用户,其他用户可以使用自己的查询客户端扫描该条码,触发自己的查询客户端调用相应的查询服务入口。

即,查询客户端对用户指定的条码进行扫描,解析出所述条码中包含的接口标识,进而将解析出的接口标识对应的查询服务接口作为目标查询服务接口。

在本说明书实施例中,所述查询客户端可以判断用户是否有区块链交易查询权限,若判断结果为是,则确定所述用户指定的查询服务接口。

或者,所述查询客户端判断用户是否有区块链交易查询权限,若判断结果为是,则调用所述查询服务端的目标查询服务接口。

在本说明书实施例中,联盟链网络的管理员(一般是发起联盟链网络的机构成员指定的)可以在baas平台(即查询服务端)上进行查询权限的配置。具体地,管理员可以向查询服务端指定一些用户的身份标识(如手机号、身份证号、账号等),这些身份标识有权限查询联盟链网络中的存储的区块链交易。查询服务端记录下这些有查询权限的身份标识。

所述查询客户端判断用户是否有区块链交易查询权限,可以所述查询客户端向所述查询服务端发送用户的身份信息。所述服务端根据接收到的身份信息,判断该身份信息对应的用户是否在所述指定机构成员预先指定的若干具有区块链交易查询权限的用户中,若是,则通知所述查询客户端该身份信息对应的用户具有区块链交易查询权限,否则,通知所述查询客户端该身份信息对应的用户不具有区块链交易查询权限。

s202:查询客户端调用所述查询服务端的目标查询服务接口。

s204:查询服务端当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易。

s206:将获取的区块链交易返回给所述查询客户端。

在本说明书实施例中,所述联盟链网络的指定机构成员预先将自身的权限证书授予所述查询服务端,所述权限证书用于访问所述指定机构成员所控制的节点上的区块链。

所述查询服务端当监测到所述目标查询服务接口被调用时,可以使用所述指定机构成员预先授予的权限证书访问所述指定机构成员所控制的节点上的区块链;然后从所访问的区块链中读取所述目标查询服务接口对应的区块链交易。

在本说明书实施例中,所述查询服务端可以判断获取的区块链交易的内容是否违背预设的内容审核规则,若不违背,则将获取的区块链交易返回给所述查询客户端。例如,查询服务端可以根据关键词检测技术,检测获取的区块链交易中的交易内容,如果交易内容涉及色情,则认定不符合内容审核规则,拒绝将该区块链交易返回给查询客户端。

s208:查询客户端将接收到的区块链交易提供给所述用户。

在本说明书实施例中,针对每个查询服务接口,查询服务端可以对该查询服务接口每次被调用的事件进行记录,该事件的信息包括时间、地点、请求的用户的身份信息等进行记录。也可以针对每个用户,对该用户每次查询区块链交易的事件进行记录。

通过图2所示的方法,引入中心化的“查询服务端-查询客户端”架构,查询服务端与联盟链网络对接,并且针对联盟链网络中存储的每个区块链交易都创建了相应的查询服务接口,将每个区块链交易对应的查询服务接口暴露给查询客户端。用户通过查询客户端以调用查询服务接口的方式进行区块链交易的查询,简易高效。

此外,本说明书还公开了一种区块链交易处理方法,用于优化区块链交易中携带的业务信息的展示形式,使其对用户更为友好。需要说明的是,本说明书公开的区块链交易处理方法,不限于优化联盟链网络中存储的区块链交易的业务信息的展示形式,也可以优化其他类型的区块链网络(如公有链网络)中存储的区块链交易中业务信息的展示形式。

图3是本说明书实施例提供的一种区块链交易处理方法的流程示意图,区块链网络中的每个节点执行如下步骤:

s300:获取指定业务产生的区块链交易。

在本文中,业务产生的区块链交易,是指业务运转过程中,参与业务的用户发起的区块链交易。区块链交易中包含有业务信息。

在本说明书实施例中,区块链网络可以同时对接多种业务。例如,区块链网络可以对接数据存证业务与商品溯源业务。数据存证业务每需要存证一笔数据,就产生一个相应的区块链交易,该区块链交易中携带的业务信息可以是所要存证的数据的哈希值;商品溯源业务每需要对商品的一个流转环节进行记录,就产生一个相应的区块链交易,该区块链交易中携带的业务信息可以是该商品经过该流转环节的相关记录信息。

指定业务可以是区块链网络对接的多种业务中的一种业务。为了描述方便,图3所述的方法是针对指定业务而言的。

s302:调用预先部署的对应于所述指定业务的智能合约。

在本说明书实施例中,为了解决区块链交易中的业务信息不适合向用户展示的问题,在区块链网络中部署指定业务对应的智能合约,智能合约用于实现根据区块链交易中的业务信息确定适合向用户展示的展示信息的功能。可以理解,如果区块链网络对接有多种业务,则需要针对每个业务,在区块链网络中部署该业务对应的智能合约。

区块链网络中的每个节点在获取到指定业务产生的区块链交易之后,需要调用指定业务对应的智能合约来对区块链交易进行处理。

s304:基于所述智能合约,根据所述业务信息,确定展示信息。

s306:基于所述智能合约,将确定的展示信息写入所述区块链交易的交易日志;或者,将确定的展示信息的哈希值写入所述区块链交易的交易日志,并存储确定的展示信息。

步骤s304-s306给出了智能合约处理区块链交易的过程。

根据业务信息确定展示信息,具体可以是将业务信息转化成用于向用户展示的展示信息。例如,业务信息是一段抽象的代码,将这段代码转换成文本语言,以便用户可以读懂。

根据业务信息确定展示信息,具体也可以是在预设的展示信息中,选择匹配于所述业务信息的展示信息。

当然,在实际应用中,根据业务信息确定展示信息的方式可以有多种,本说明书不对其进行限制。

在本说明书实施例中,具体可以使用所述区块链交易的发起方所提供的加密秘钥对确定的展示信息进行加密,并将加密后的所述展示信息写入所述区块链交易的交易日志。如果采用非对称加密技术,则加密秘钥具体可以区块链交易的发起方的公钥。如此,只有区块链交易的发起方才能使用自己的私钥进行解密。

在本说明书实施例中,具体也可以使用所述区块链交易的发起方所提供的加密秘钥对确定的展示信息进行加密,并存储加密后的所述展示信息。

在本说明书实施例中,所述指定业务对应的智能合约中还可以内置有预先与查询客户端约定的数据结构。如此,通过智能合约,可以根据所述业务信息与所述智能合约中内置的所述数据结构,确定基于所述数据结构封装的展示信息。

s308:将所述区块链交易与所述区块链交易的交易日志写入区块链。

其中,当用户请求查询所述区块链交易时,将所述交易日志中的展示信息展示给用户。

通过图3所示的方法,在区块链网络中部署指定业务对应的智能合约,用于根据指定业务产生的区块链交易中携带的业务信息确定适合展示给用户的展示信息,确定的展示信息作为区块链交易的执行结果写入区块链交易的交易日志中。由于区块链交易与相应的交易日志都会被写入区块链,后续用户请求查询区块链交易时,可以将所述区块链交易的交易日志中的展示信息展示给用户。

图4是本说明书实施例提供一种针对图3所示的展示信息的查询方法的流程示意图,包括如下步骤:

s400:查询客户端确定用户指定的查询服务接口,作为目标查询服务接口。

s402:查询客户端调用所述查询服务端的目标查询服务接口。

s404:查询服务端当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易的交易日志。

s406:查询服务端从所述交易日志中提取展示信息,并将所述展示信息返回给所述查询客户端。

当然,如果交易日志中仅存在展示信息的哈希值,那么,也可以不获取交易日志,而是从联盟链网络中的任一节点非区块链的存储中获取所述目标查询服务接口对应的区块链交易对应的展示信息。

s408:查询客户端将接收到的所述展示信息展示给所述用户。

图4所示的方法实际上基于图1所示的架构,用户请求查询某个区块链交易时,也可以查询到该区块链交易中携带的业务信息对应的展示信息,查询客户端会将该展示信息展示给用户,方便用户更好得理解区块链交易中的业务信息。

在图4所示的方法中,如果展示信息已被所述用户的加密秘钥加密,则查询客户端使用所述用户的解密秘钥对接收到的所述展示信息进行解密,并将解密后的所述展示信息展示给所述用户。

此外,查询客户端中可以内置有数据结构解析逻辑,用于对基于预设的数据结构封装的数据进行解析,所述展示信息是基于所述数据结构进行封装的。如此,查询客户端可以基于内置的数据结构解析逻辑,对接收到的所述展示信息进行解析,并将解析后的所述展示信息展示给所述用户。

此外,本说明书还公开了一种区块链交易处理方法,用于提升查询某个业务任务产生的一系列关联的区块链交易的效率。需要说明的是,本说明书公开的区块链交易处理方法,不限于提升查询联盟链网络中存储的区块链交易的效率式,也可以提升查询其他类型的区块链网络(如公有链网络)中存储的区块链交易的效率。

图5是本说明书提供的一种区块链交易处理方法的流程示意图,包括如下步骤:

s500:获取指定业务下的任一业务任务产生的区块链交易,作为当前区块链交易。

在本文中,指定业务下的业务任务是指,指定业务在运转过程中,产生的一个持续性的业务任务,该业务任务的执行过程中,需要产生一系列关联的区块链交易提交给区块链网络进行存储。例如,在商品溯源业务下,产生了针对商品a的业务任务,商品a从出厂到运抵消费者手中的每个环节都需要产生相应的区块链交易提交给区块链网络进行存储。商品a的运输过程就是一个业务任务,该业务任务产生的一系列区块链交易之间具有关联性,共同记录了商品a的运输过程。

s502:调用预先部署的对应于所述指定业务的智能合约。

在本说明书实施例中,在区块链网络中部署指定业务对应的智能合约,智能合约用于实现在当前处理的区块链交易的交易日志中写入上一个关联的区块链交易的交易标识的功能。

区块链网络中的每个节点在获取到指定业务产生的区块链交易之后,需要调用指定业务对应的智能合约来对区块链交易进行处理。

s504:基于所述智能合约,获取该业务任务产生的上一个区块链交易的交易标识,并在所述当前区块链交易的交易日志中写入获取的交易标识。

步骤s504给出了智能合约处理区块链交易的过程。

在本说明书实施例中,针对任一区块链交易,该区块链的交易标识为对该区块链交易进行哈希计算得到的哈希值。

在本说明书实施例中,指定业务对应的智能合约可以维护有该业务任务对应的标识记录表。如此,在所述当前区块链交易的交易日志中写入获取的交易标识之后,可以将所述当前区块链交易的交易标识作为一条标识记录添加到所述标识记录表。同时,获取该业务任务产生的上一个区块链交易的交易标识,具体可以是从最近添加到所述标识记录表的标识记录中读取交易标识。

此外,指定业务对应的智能合约可以维护有该业务任务对应的标识记录。如此,在所述当前区块链交易的交易日志中写入获取的交易标识之后,可以将所述标识记录中的交易标识更新为所述当前区块链交易的交易标识。同时,获取该业务任务产生的上一个区块链交易的交易标识,具体可以是从所述标识记录中读取交易标识。

在本说明书实施例中,具体可以使用与该业务任务关联的加密秘钥对获取的交易标识进行加密;在所述当前区块链交易的交易日志中写入加密后的交易标识。

s506:将所述当前区块链交易与所述当前区块链交易的交易日志写入区块链。

其中,当查询到该业务任务产生的任一区块链交易时,可根据该区块链交易的交易日志,进一步查询到该业务任务在该区块链交易之前产生的上一个区块链交易。

通过图5所示的方法,利用区块链网络中部署的智能合约,针对某个业务任务产生的每个区块链交易,在该区块链交易的交易日志中,写入该业务任务在该区块链交易之前产生的上一个区块链交易的交易标识。由于区块链交易与相应的交易日志都会被写入区块链,后续用户请求查询该业务任务下产生的某个区块链交易时,可以根据该区块链交易的交易日志中的交易标识,查询到该区块链交易的上一个关联的区块链交易,如此,用户可以获取到当前请求查询的区块链交易之前的所有关联的区块链交易,不必在区块链中进行遍历,提升查询效率。

图6是本说明书实施例提供的一种针对图5所示的方法中处理的区块链交易的查询方法的流程示意图,包括如下步骤:

s600:查询客户端确定用户指定的查询服务接口,作为目标查询服务接口。

s602:查询客户端调用所述查询服务端的目标查询服务接口。

s604:查询服务端当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易以及相应的交易日志。

s606:查询服务端将所述目标查询服务接口对应的区块链交易返回给所述查询客户端。

s608:循环执行以下步骤s6081~s6084,直至满足预设停止条件。

其中,所述预设停止条件可以是已经向查询客户端返回了指定数量的区块链交易,也可以是已经将所述目标查询服务接口对应的区块链交易之前产生的所有关联的区块链交易都返回给了查询客户端。

s6081:将所述目标查询服务接口对应的区块链交易的交易日志作为目标交易日志。

s6082:从所述目标交易日志中提取交易标识,并从所述联盟链网络获取提取的交易标识对应的区块链交易以及相应的交易日志。

s6083:将提取的交易标识对应的区块链交易返回给所述查询客户端。

s6084:将提取的交易标识对应的区块链交易的交易日志重新作为目标交易日志。

图6所示的方法实际上基于图1所示的架构,用户请求查询某个区块链交易时,也可以查询到该区块链交易之前产生的所有关联的区块链交易。查询客户端会将一系列关联的区块链交易也展示给用户,避免在区块链中进行遍历。

在图6所示的方法中,从所述目标交易日志中提取交易标识,具体可以是:从所述目标交易日志中提取经指定业务任务关联的加密秘钥加密的交易标识,所述目标查询服务接口对应的区块链交易是所述指定业务任务产生的;然后使用所述指定业务任务关联的解密秘钥对所述目标交易日志中的交易标识进行解密。

此外需要说明的是,本说明书所公开的各实施例之间可以相互结合。在实际应用中,基于图1所示的系统架构,可以在用户的查询客户端上内置区块链浏览器功能,用户使用查询客户端请求查询区块链交易,由查询服务端代理查询,向用户返回区块链交易本身以及相应的交易日志中的展示信息,以及根据交易日志中的上一个关联的区块链交易的交易标识,将用户最初查询的区块链交易之前的所有关联的区块链交易(彼此关联的区块链交易是同一业务任务产生的区块链交易)和相应的交易日志中的展示信息也返回给查询客户端,进而展示给用户。

图7是本说明书提供的一种区块链交易查询装置的结构示意图,查询服务端预先针对联盟链网络存储的每个区块链交易,创建该区块链交易对应的查询服务接口,并将创建的该查询服务接口暴露给所述装置;

所述装置包括:

确定模块701,确定用户指定的查询服务接口,作为目标查询服务接口;

调用模块702,调用所述查询服务端的目标查询服务接口,以使所述查询服务端当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易,并将获取的区块链交易返回给所述查询客户端;

提供模块703,将接收到的区块链交易提供给所述用户。

图8是本说明书提供的一种区块链交易查询装置的结构示意图,所述装置预先针对联盟链网络存储的每个区块链交易,创建该区块链交易对应的查询服务接口,并将创建的该查询服务接口暴露给查询客户端;

所述装置包括:

处理模块801,根据调用请求,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易,并将获取的区块链交易返回给所述查询客户端,以使所述查询客户端将接收到的区块链交易提供给所述用户;

其中,所述调用请求是所述查询客户端发送的针对目标查询服务接口的调用请求,所述目标查询服务接口是所述查询客户端确定的用户指定的查询服务接口。

图9是本说明书提供的一种区块链交易处理装置的结构示意图,所述装置是所述区块链网络中的任一节点,所述装置包括:

获取模块901,获取指定业务产生的区块链交易,所述区块链交易中携带有业务信息;

调用模块902,调用预先部署的对应于所述指定业务的智能合约;

确定模块903,基于所述智能合约,根据所述业务信息,确定展示信息;

处理模块904,基于所述智能合约,将确定的展示信息写入所述区块链交易的交易日志;或者,将确定的展示信息的哈希值写入所述区块链交易的交易日志,并存储确定的展示信息;

上链模块905,将所述区块链交易与所述区块链交易的交易日志写入区块链;

其中,当用户请求查询所述区块链交易时,将所述交易日志中的展示信息展示给用户。

图10是本说明书实施例提供的一种针对展示信息的查询装置的结构示意图,查询服务端预先针对联盟链网络存储的每个区块链交易,创建该区块链交易对应的查询服务接口,并将创建的该查询服务接口暴露给所述装置;

所述装置包括:

确定模块1001,确定用户指定的查询服务接口,作为目标查询服务接口;

调用模块1002,调用所述查询服务端的目标查询服务接口,以使所述查询服务端当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易的交易日志,进而使所述查询服务端所述查询服务端从所述交易日志中提取展示信息,并将所述展示信息返回给所述查询客户端;

展示模块1003,将接收到的所述展示信息展示给所述用户。

图11是本说明书实施例提供的一种针对展示信息的查询装置的结构示意图,所述装置预先针对联盟链网络存储的每个区块链交易,创建该区块链交易对应的查询服务接口,并将创建的该查询服务接口暴露给查询客户端;

所述装置包括:

获取模块1101,当监测到目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易的交易日志;其中,所述目标查询服务接口是用户向所述查询客户端指定的查询服务接口;

提取模块1102,从所述交易日志中提取展示信息,并将所述展示信息返回给所述查询客户端,以使所述查询客户端将接收到的所述展示信息展示给所述用户。

图12是本说明书实施例提供的一种区块链交易处理装置的结构示意图,所述装置为区块链网络中的任一节点,所述装置包括:

获取模块1201,获取指定业务下的任一业务任务产生的区块链交易,作为当前区块链交易;

调用模块1202,调用预先部署的对应于所述指定业务的智能合约;

处理模块1203,基于所述智能合约,获取该业务任务产生的上一个区块链交易的交易标识,并在所述当前区块链交易的交易日志中写入获取的交易标识;

上链模块1204,将所述当前区块链交易与所述当前区块链交易的交易日志写入区块链;

其中,当查询到该业务任务产生的任一区块链交易时,可根据该区块链交易的交易日志,进一步查询到该业务任务在该区块链交易之前产生的区块链交易。

图13是本说明书实施例提供的一种查询区块链交易的装置的结构示意图,查询服务端预先针对联盟链网络存储的每个区块链交易,创建该区块链交易对应的查询服务接口,并将创建的该查询服务接口暴露给所述装置;

所述装置包括:

确定模块1301,确定用户指定的查询服务接口,作为目标查询服务接口;

调用模块1302,调用所述查询服务端的目标查询服务接口,以使所述查询服务端当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易以及相应的交易日志,进而使所述查询服务端将所述目标查询服务接口对应的区块链交易返回给所述查询客户端,并循环执行以下步骤,直至满足预设停止条件:将所述目标查询服务接口对应的区块链交易的交易日志作为目标交易日志;从所述目标交易日志中提取交易标识,并从所述联盟链网络获取提取的交易标识对应的区块链交易以及相应的交易日志;将提取的交易标识对应的区块链交易返回给所述查询客户端;将提取的交易标识对应的区块链交易的交易日志重新作为目标交易日志。

图14是本说明书实施例提供的一种查询区块链交易的装置的结构示意图,所述装置预先针对联盟链网络存储的每个区块链交易,创建该区块链交易对应的查询服务接口,并将创建的该查询服务接口暴露给查询客户端;

所述装置包括:

第一处理模块1401,当监测到目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易以及相应的交易日志;所述目标查询接口是用户向所述查询客户端指定的查询服务接口;

第二处理模块1402,将所述目标查询服务接口对应的区块链交易返回给所述查询客户端,以及循环执行以下步骤,直至满足预设停止条件:将所述目标查询服务接口对应的区块链交易的交易日志作为目标交易日志;从所述目标交易日志中提取交易标识,并从所述联盟链网络获取提取的交易标识对应的区块链交易以及相应的交易日志;将提取的交易标识对应的区块链交易返回给所述查询客户端;将提取的交易标识对应的区块链交易的交易日志重新作为目标交易日志。

本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现本说明书所公开的方法的功能。

图15示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1510、存储器1520、输入/输出接口1530、通信接口1540和总线1550。其中处理器1510、存储器1520、输入/输出接口1530和通信接口1540通过总线1550实现彼此之间在设备内部的通信连接。

处理器1510可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器1520可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1520可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1520中,并由处理器1510来调用执行。

输入/输出接口1530用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1540用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线1550包括一通路,在设备的各个组件(例如处理器1510、存储器1520、输入/输出接口1530和通信接口1540)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1510、存储器1520、输入/输出接口1530、通信接口1540以及总线1550,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本说明所公开的方法的功能。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。

上述实施例阐明的系统、方法、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1