本申请涉及区块链,更具体地,涉及一种交易处理方法、装置、电子设备及存储介质。
背景技术:
1、随着区块链技术迅速发展,目前区块链技术可以应用到多种交易场景中。例如,区块链系统可以用于执行终端发送各种支付交易、购物交易以及转账交易。然而在一些特定场景中,终端发送的交易是链下交易时,区块链系统则无法对链下交易进行处理。
2、为了能实现链下交易,可以在块链系统外设置特定的链下交易系统,当区块链中的节点接收到终端发送的链下交易时,节点将链下交易发送至链下交易系统,由该链下交易系统对链下交易进行处理。但是,采用该方法处理链下交易的成本较高。
技术实现思路
1、有鉴于此,本申请实施例提出了一种交易处理方法、装置、电子设备及存储介质。
2、第一方面,本申请实施例提供了一种交易处理方法,用于区块链系统中的节点,节点包括单机节点实例、本地账本、本地交易池和链交易池;本地交易池用于存储链下交易数据;链交易池用于存储链上交易数据;方法包括:响应于接收到终端发送的目标交易数据,将目标交易数据存储于链交易池;若目标交易数据的交易类型为链下交易,将目标交易数据存储于本地交易池;从本地交易池中获取待处理的目标链下交易数据;若节点为目标链下交易数据的交易接收方,根据目标链下交易数据生成链下交易区块;调用单机节点实例执行链下交易区块,得到链下交易结果;将链下交易结果以及链下交易区块存储于本地账本。
3、第二方面,本申请实施例提供了一种交易处理装置,用于区块链系统中的节点,节点包括单机节点实例、本地账本、本地交易池和链交易池;本地交易池用于存储链下交易数据;链交易池用于存储链上交易数据;装置包括:响应模块,用于响应于接收到终端发送的目标交易数据,将目标交易数据存储于链交易池;数据存储模块,用于若目标交易数据的交易类型为链下交易,将目标交易数据存储于本地交易池;获取模块,用于从本地交易池中获取待处理的目标链下交易数据;区块生成模块,用于若节点为目标链下交易数据的交易接收方,根据目标链下交易数据生成链下交易区块;执行模块,用于调用单机节点实例执行链下交易区块,得到链下交易结果;结果存储模块,用于将链下交易结果以及链下交易区块存储于本地账本。
4、可选地,节点还包括共识节点实例以及区块链;装置还包括链上交易模块,用于从链交易池获取目标链上交易数据;根据目标链上交易数据生成链上交易区块;调用共识节点实例根据链上交易区块确定交易结果区块,并向区块链系统中的其他节点广播链上交易区块;调用共识节点实例对交易结果区块在区块链系统中进行共识,并在共识通过的情况下将交易结果区块写入节点的区块链中。
5、可选地,节点包括合约虚拟机;执行模块,还用于调用单机节点实例通过合约虚拟机执行链下交易区块,得到链下交易结果。
6、可选地,节点还包括执行器;执行模块,还用于调用单机节点实例通过执行器创建交易进程;通过交易进程调用合约虚拟机执行链下交易区块,得到链下交易结果。
7、可选地,装置还包括广播模块,用于若节点不为目标链下交易数据的交易接收方,向区块链系统中的其他节点广播目标链下交易数据。
8、可选地,目标链下交易数据包括被加密的加密秘钥,被加密的加密秘钥是通过终端的公钥加密的;区块生成模块,还用于通过节点的私钥对被加密的加密秘钥进行解密;若被加密的加密秘钥解密成功,确定节点为目标链下交易数据的交易接收方;若被加密的加密秘钥钥解密失败,确定节点不为目标链下交易数据的交易接收方。
9、可选地,目标链下交易数据还包括加密业务数据,加密业务数据是通过加密秘钥加密的;区块生成模块,还用于若节点为目标链下交易数据的交易接收方,获取对被加密的加密秘钥进行解密获得的加密秘钥;根据加密秘钥对加密业务数据进行解密,得到解密交易数据;根据解密交易数据生成链下交易区块。
10、可选地,目标交易数据还包括未加密的交易接收方信息;区块生成模块,还用于若根据未加密的交易接收方信息确定目标链下交易数据的交易接收方是节点,根据目标链下交易数据生成链下交易区块。
11、可选地,广播模块,还用于若根据未加密的交易接收方信息确定目标链下交易数据的交易接收方不是节点,向未加密的交易接收方信息所指示的交易接收方所在的目标节点发送目标链下交易数据。
12、可选地,响应模块,还用于响应于接收到终端发送的目标交易数据,对目标交易数据对应的目标数字签名进行验签处理;若目标数字签名验签成功,将目标交易数据存储于链交易池。
13、可选地,数据存储模块,还用于从目标交易数据中获取交易类型字段;根据交易类型字段,确定目标交易数据的交易类型。
14、第三方面,本申请实施例提供了一种电子设备,包括处理器以及存储器;一个或多个程序被存储在存储器中并被配置为由处理器执行以实现上述的方法。
15、第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质中存储有程序代码,其中,在程序代码被处理器运行时执行上述的方法。
16、第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述的方法。
17、本申请实施例提供的一种交易处理方法、装置、电子设备及存储介质,在本申请中,区块链系统的节点包括单机节点实例、本地账本、本地交易池和链交易池,节点可以将交易类型为链下交易的目标交易数据存储在节点中本地交易池,之后可以在本地交易池中获取待处理的目标链下交易数据,调用节点中的单机节点实例执行目标链下交易数据对应的链下交易区块,并存储链下交易结果以及所述链下交易区块存储于所述本地账本,使得区块链系统中的节点可以执行链下交易,并不需要额外设置链下交易系统,节省了布置链下交易系统的成本,同时,区块链中的节点也不需要与链下交易系统进行信息交互,大大减少了数据通信时间,提高了链下交易的效率。
1.一种交易处理方法,其特征在于,用于区块链系统中的节点,所述节点包括单机节点实例、本地账本、本地交易池和链交易池;所述本地交易池用于存储链下交易数据;所述链交易池用于存储链上交易数据;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述节点还包括共识节点实例以及区块链;所述响应于接收到终端发送的目标交易数据,将所述目标交易数据存储于所述链交易池之后,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述节点包括合约虚拟机;所述调用所述单机节点实例执行所述链下交易区块,得到链下交易结果,包括:
4.根据权利要求3所述的方法,其特征在于,所述节点还包括执行器;所述调用所述单机节点实例通过所述合约虚拟机执行所述链下交易区块,得到链下交易结果,包括:
5.根据权利要求1所述的方法,其特征在于,所述从所述本地交易池中获取待处理的目标链下交易数据之后,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述目标链下交易数据包括被加密的加密秘钥,所述被加密的加密秘钥是通过所述终端的公钥加密的;
7.根据权利要求6所述的方法,其特征在于,所述目标链下交易数据还包括加密业务数据,所述加密业务数据是通过所述加密秘钥加密的;
8.根据权利要求1所述的方法,其特征在于,所述目标交易数据包括未加密的交易接收方信息;
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1所述的方法,其特征在于,所述响应于接收到终端发送的目标交易数据,将所述目标交易数据存储于所述链交易池,包括:
11.根据权利要求1所述的方法,其特征在于,所述若所述目标交易数据的交易类型为链下交易,将所述目标交易数据存储于所述本地交易池之前,所述方法还包括:
12.一种交易处理装置,其特征在于,用于区块链系统中的节点,所述节点包括单机节点实例、本地账本、本地交易池和链交易池;所述本地交易池用于存储链下交易数据;所述链交易池用于存储链上交易数据;所述装置包括:
13.一种电子设备,其特征在于,包括:
14.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-11中任一项所述的方法。
15.一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;电子设备的处理器从计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述电子设备执行如权利要求1-11中任一项所述的方法。