一种区块链交易处理方法及装置制造方法及图纸

技术编号:22974645 阅读:11 留言:0更新日期:2019-12-31 23:24
公开了一种区块链交易处理及装置。利用区块链网络中部署的智能合约,针对某个业务任务产生的每个区块链交易,在该区块链交易的交易日志中,写入该业务任务在该区块链交易之前产生的上一个区块链交易的交易标识。由于区块链交易与相应的交易日志都会被写入区块链,后续用户请求查询该业务任务下产生的某个区块链交易时,可以根据该区块链交易的交易日志中的交易标识,查询到该区块链交易的上一个关联的区块链交易。

A blockchain transaction processing method and device

【技术实现步骤摘要】
一种区块链交易处理方法及装置
本说明书实施例涉及信息
,尤其涉及一种区块链交易处理方法及装置。
技术介绍
目前,将区块链技术与具体的业务结合成为一种趋势。在有些业务领域,一个业务任务会顺序产生一系列关联的区块链交易,这些区块链交易会按产生顺序依次提交给区块链网络进行存储。在实践中,如果需要了解某个业务任务的进展,就需要查询该业务任务产生的所有区块链交易,就不得不在区块链中进行遍历,效率较低。
技术实现思路
为了提升查询某个业务任务产生的各关联区块链交易的效率,本说明书实施例提供一种区块链交易处理方法及装置,技术方案如下:根据本说明书实施例的第1方面,提供一种区块链交易处理方法,包括:区块链网络中的每个节点执行:获取指定业务下的任一业务任务产生的区块链交易,作为当前区块链交易;调用预先部署的对应于所述指定业务的智能合约;基于所述智能合约,获取该业务任务产生的上一个区块链交易的交易标识,并在所述当前区块链交易的交易日志中写入获取的交易标识;将所述当前区块链交易与所述当前区块链交易的交易日志写入区块链;其中,当查询到该业务任务产生的任一区块链交易时,可根据该区块链交易的交易日志,进一步查询到该业务任务在该区块链交易之前产生的区块链交易。根据本说明书实施例的第2方面,提供一种区块链交易处理装置,所述装置为区块链网络中的任一节点,所述装置包括:获取模块,获取指定业务下的任一业务任务产生的区块链交易,作为当前区块链交易;r>调用模块,调用预先部署的对应于所述指定业务的智能合约;处理模块,基于所述智能合约,获取该业务任务产生的上一个区块链交易的交易标识,并在所述当前区块链交易的交易日志中写入获取的交易标识;上链模块,将所述当前区块链交易与所述当前区块链交易的交易日志写入区块链;其中,当查询到该业务任务产生的任一区块链交易时,可根据该区块链交易的交易日志,进一步查询到该业务任务在该区块链交易之前产生的区块链交易。本说明书实施例所提供的技术方案,利用区块链网络中部署的智能合约,针对某个业务任务产生的每个区块链交易,在该区块链交易的交易日志中,写入该业务任务在该区块链交易之前产生的上一个区块链交易的交易标识。由于区块链交易与相应的交易日志都会被写入区块链,后续用户请求查询该业务任务下产生的某个区块链交易时,可以根据该区块链交易的交易日志中的交易标识,查询到该区块链交易的上一个关联的区块链交易,如此,用户可以获取到当前请求查询的区块链交易之前的所有关联的区块链交易,不必在区块链中进行遍历,提升查询效率。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要通过的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图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对应的区块链交易的查询请求。任一查询客户端,确定用户指定的查询服务接口,作为目标查询服务接口;调用所述查询服务端的目标查询服务接口;将从所述查询服务端接收到的区块链交易提供给所述用户。查询服务端,当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易,并将获取的区块链交易返回给所述查询客户端。...

【技术保护点】
1.一种区块链交易处理方法,包括:/n区块链网络中的每个节点执行:/n获取指定业务下的任一业务任务产生的区块链交易,作为当前区块链交易;/n调用预先部署的对应于所述指定业务的智能合约;/n基于所述智能合约,获取该业务任务产生的上一个区块链交易的交易标识,并在所述当前区块链交易的交易日志中写入获取的交易标识;/n将所述当前区块链交易与所述当前区块链交易的交易日志写入区块链;/n其中,当查询到该业务任务产生的任一区块链交易时,可根据该区块链交易的交易日志,进一步查询到该业务任务在该区块链交易之前产生的上一个区块链交易。/n

【技术特征摘要】
1.一种区块链交易处理方法,包括:
区块链网络中的每个节点执行:
获取指定业务下的任一业务任务产生的区块链交易,作为当前区块链交易;
调用预先部署的对应于所述指定业务的智能合约;
基于所述智能合约,获取该业务任务产生的上一个区块链交易的交易标识,并在所述当前区块链交易的交易日志中写入获取的交易标识;
将所述当前区块链交易与所述当前区块链交易的交易日志写入区块链;
其中,当查询到该业务任务产生的任一区块链交易时,可根据该区块链交易的交易日志,进一步查询到该业务任务在该区块链交易之前产生的上一个区块链交易。


2.如权利要求1所述的方法,针对任一区块链交易,该区块链的交易标识为对该区块链交易进行哈希计算得到的哈希值。


3.如权利要求1所述的方法,所述智能合约维护有该业务任务对应的标识记录表;
所述方法还包括:
在所述当前区块链交易的交易日志中写入获取的交易标识之后,将所述当前区块链交易的交易标识作为一条标识记录添加到所述标识记录表;
获取该业务任务产生的上一个区块链交易的交易标识,具体包括:
从最近添加到所述标识记录表的标识记录中读取交易标识。


4.如权利要求1所述的方法,所述智能合约维护有该业务任务对应的标识记录;
所述方法还包括:
在所述当前区块链交易的交易日志中写入获取的交易标识之后,将所述标识记录中的交易标识更新为所述当前区块链交易的交易标识;
获取该业务任务产生的上一个区块链交易的交易标识,具体包括:
从所述标识记录中读取交易标识。


5.如权利要求1所述的方法,在所述当前区块链交易的交易日志中写入获取的交易标识,具体包括:
使用与该业务任务关联的加密秘钥对获取的交易标识进行加密;
在所述当前区块链交易的交易日志中写入加密后的交易标识。


6.一种查询如权利要求1~5任一项处理的区块链交易的方法,查询服务端预先针对联盟链网络存储的每个区块链交易,创建该区块链交易对应的查询服务接口,并将创建的该查询服务接口暴露给查询客户端;
所述方法包括:
所述查询客户端确定用户指定的查询服务接口,作为目标查询服务接口;
所述查询客户端调用所述查询服务端的目标查询服务接口;
所述查询服务端当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易以及相应的交易日志;
所述查询服务端将所述目标查询服务接口对应的区块链交易返回给所述查询客户端,以及循环执行以下步骤,直至满足预设停止条件:
将所述目标查询服务接口对应的区块链交易的交易日志作为目标交易日志;
从所述目标交易日志中提取交易标识,并从所述联盟链网络获取提取的交易标识对应的区块链交易以及相应的交易日志;
将提取的交易标识对应的区块链交易返回给所述查询客户端;
将提取的交易标识对应的区块链交易的交易日志重新作为目标交易日志。


7.如权利要求6所述的方法,从所述目标交易日志中提取交易标识,具体包括:
从所述目标交易日志中提取经指定业务任务关联的加密秘钥加密的交易标识;所述目标查询服务接口对应的区块链交易是所述指定业务任务产生的;
使用所述指定业务任务关联的解密秘钥对所述目标交易日志中的交易标识进行解密。


8.一种区块链交易处理装置,所述装置为区块链网络中的任一节点,所述装置包括:
获取模块,获取指定业务下的任一业务任务产生的区块链交易,作为当前区块链交易;
调用模块,调用预先部署的对应于所述指定业务的智能合约;
处理模块,基于所述智能合约,获取该业务任务产生的上一个区块链交易的交易标识,并在所述当前区块链交易的交易日志中写入获取的交易标识;
上链模块,将所述当前区块链交易与所述当前区块链交易的交易日志写入区块链;
其中,当查询到该业务任务产生的任一区块链交易时,可根据该区块链交易的交易日志,进一步查询到该业务任务在该区块链交易之前产生的区块链交易。


9.一种查询如权利要求1~5任一项处理的区块链交易的系统,包括联盟链网络、查询服务端、查询客户端;
查询服务端预先针对联盟链网络存储的每个区块链交易,创建该区块链交易对应的查询服务接口,并将创建的该查询服务接口暴露给查询客户端;
所述查询客户端,确定用户指定的查询服务接口,作为目标查询服务接口;调用所述查询服务端的目标查询服务接口;
所述查询服务端,当监测到所述目标查询服务接口被调用时,从所述联盟链网络获取所述目标查询服务接口对应的区块链交易以及相应的交易日志;将所述目标查询服务接...

【专利技术属性】
技术研发人员:杨文龙代平王进成
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1