本技术涉及计算机,尤其涉及一种区块链交易的处理方法、装置、电子设备和可读介质。
背景技术:
1、在区块链的链式共识过程中,区块链中的共识节点会轮流担任主节点。主节点在进行提案时会将上链的区块链交易打包成区块,还会执行这些区块链交易,并将执行结果附加到打包的区块中。
2、在相关技术中,主节点在执行要上链的区块链交易时,如果存在区块链交易执行异常,则会将执行异常的区块链交易放回到交易池中,而将其他执行成功的交易打包成区块。
3、然而,确定区块链交易存在执行异常的过程会增加打包区块所消耗的时长,放回到交易池中的异常区块链交易在每次打包区块时都会增加打包区块的时长,进而影响区块链交易的处理效率。
技术实现思路
1、基于上述技术问题,本技术提供一种区块链交易的处理方法、装置、电子设备和可读介质,以提高区块链交易的处理效率。
2、本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。
3、根据本技术实施例的一个方面,提供一种区块链交易的处理方法,包括:
4、获取区块链交易的交易执行数据,所述交易执行数据是根据区块链交易的交易记录生成的,所述交易执行数据用于触发确定交易处理策略;
5、从处理策略集合中确定对应于所述区块链交易的目标交易处理策略,所述目标交易处理策略中包含策略执行条件和异常处理操作,所述策略执行条件用于确定所述区块链交易执行异常;
6、若所述交易执行数据满足所述策略执行条件,则获取所述交易执行数据的生成节点信息;
7、若所述生成节点信息指示所述交易执行数据是本地区块链节点生成并且所述区块链交易是由所述本地区块链节点请求上链的交易,则根据所述异常处理操作,限制所述区块链交易在所述区块链中上链。
8、根据本技术实施例的一个方面,提供一种区块链交易的处理装置,包括:
9、数据获取模块,配置成获取区块链交易的交易执行数据,所述交易执行数据是根据区块链交易的交易记录生成的,所述交易执行数据用于触发确定交易处理策略;
10、策略确定模块,配置成从处理策略集合中确定对应于所述区块链交易的目标交易处理策略,所述目标交易处理策略中包含策略执行条件和异常处理操作,所述策略执行条件用于确定所述区块链交易执行异常;
11、信息获取模块,配置成若所述交易执行数据满足所述策略执行条件,则获取所述交易执行数据的生成节点信息;
12、交易限制模块,配置成若所述生成节点信息指示所述交易执行数据是本地区块链节点生成并且所述区块链交易是由所述本地区块链节点请求上链的交易,则根据所述异常处理操作,限制所述区块链交易在所述区块链中上链。
13、在本技术的一些实施例中,基于以上技术方案,所述信息获取模块还配置成:若所述交易执行数据是根据本地区块链节点执行所述区块链交易的交易记录生成的,则将所述交易执行数据封装并加密,得到加密数据;通过所述本地区块链节点的私钥对所述加密数据进行签名,得到网络消息;向所述区块链中的所有共识节点广播所述网络消息,以使所述共识节点根据所述网络消息中的交易执行数据对交易池中的所述区块链交易进行处理。
14、在本技术的一些实施例中,基于以上技术方案,所述交易执行数据中包含所述区块链交易所执行的交易合约的合约标识;交易限制模块还配置成:根据所述异常处理操作,生成针对于所述交易合约的冻结交易并发送到所述区块链,以使所述区块链中的共识节点对所述冻结交易进行共识,若所述冻结交易在所述区块链中上链,则在所述区块链中对所述合约标识对应的交易合约进行冻结操作。
15、在本技术的一些实施例中,基于以上技术方案,交易限制模块具体配置成:若所述交易执行数据满足所述策略执行条件,则根据所述异常处理操作,限制调用所述交易合约的其他区块链交易在所述区块链中上链。
16、在本技术的一些实施例中,基于以上技术方案,所述异常处理操作中包含交易量阈值;交易限制模块具体配置成:根据所述异常处理操作中的交易量阈值,在所述区块链中设置针对于调用所述交易合约的区块链交易的交易数量间隔,以使所述区块链在打包两个调用所述交易合约的区块链交易之间,打包调用其他交易合约的区块链交易的数量大于所述交易量阈值。
17、在本技术的一些实施例中,基于以上技术方案,所述异常处理操作中包含交易时间阈值;交易限制模块具体配置成:根据所述异常处理操作中的交易时间阈值,在所述区块链中设置打包每个调用所述交易合约的区块链交易之前的等待时长。
18、在本技术的一些实施例中,基于以上技术方案,所述策略执行条件中包含执行时长阈值,所述交易执行数据中包含所述区块链交易在所述区块链中各个共识节点的交易执行时长;交易限制模块具体配置成:根据所述区块链交易所执行的交易合约的合约标识,获取所述区块链中调用所述交易合约的其他区块链交易的交易执行数据;若在每个共识节点中均存在所述区块链交易和所述其他区块链交易中任一个交易的交易执行时长大于所述执行时长阈值,则确定所述交易执行数据满足所述策略执行条件。
19、在本技术的一些实施例中,基于以上技术方案,所述策略执行条件中还包含共识次数阈值,所述交易执行数据中还包含所述区块链交易的共识结果;交易限制模块具体配置成:若所述区块链交易和所述其他区块链交易的共识结果中与区块链中主节点共识失败的次数大于所述共识次数阈值,则确定所述交易执行数据满足所述策略执行条件。
20、在本技术的一些实施例中,基于以上技术方案,所述策略执行条件中还包含平均时长阈值和交易数量阈值;交易限制模块具体配置成:从所述区块链中共识节点的交易池中获取所述交易池中区块链交易的当前交易数量;若所述区块链交易和所述其他区块链交易的平均交易时长大于所述平均时长阈值,并且所述当前交易数量大于所述交易数量阈值,则确定所述交易执行数据满足所述策略执行条件。
21、在本技术的一些实施例中,基于以上技术方案,交易限制模块具体配置成:若所述策略触发状态指示所述目标交易处理策略处于未触发状态或待触发状态,则根据所述异常处理操作,限制所述区块链交易在所述区块链中上链,并将所述目标交易处理策略的策略执行状态修改成已触发状态;若所述生成节点信息指示所述交易执行数据是其他区块链节点生成或者所述区块链交易是由所述其他区块链节点请求上链的交易,则将所述目标交易处理策略的策略执行状态修改成待触发状态。
22、在本技术的一些实施例中,基于以上技术方案,所述目标交易处理策略中还包含策略触发状态、策略恢复条件和恢复操作;交易限制模块还配置成:若所述交易执行数据满足所述策略恢复条件,则获取所述交易执行数据的生成节点信息;若所述生成节点信息指示所述交易执行数据是本地区块链节点生成并且所述区块链交易是由所述本地区块链节点请求上链的交易,并且所述策略触发状态指示所述目标交易处理策略处于已触发状态或待恢复状态,则根据所述恢复操作,消除所述异常处理操作对所述区块链中区块链交易上链的限制,并将所述目标交易处理策略的策略执行状态修改成未触发状态;若所述生成节点信息指示所述交易执行数据是其他区块链节点生成或者所述区块链交易是由所述其他区块链节点请求上链的交易,则将所述目标交易处理策略的策略执行状态修改成待恢复状态。
23、在本技术的一些实施例中,基于以上技术方案,数据获取模块还配置成:通过区块链的共识节点,获取所述区块链交易的交易记录;解析所述区块链交易的交易记录,得到所述区块链交易的交易信息和所述区块链交易相关的交易合约信息;将所述交易信息和所述交易合约信息保存到所述共识节点的数据库中,作为所述区块链交易的交易执行数据。
24、根据本技术实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,该处理器配置为经由执行可执行指令来执行如以上技术方案中的区块链交易的处理方法。
25、根据本技术实施例的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时实现如以上技术方案中的区块链交易的处理方法。
26、根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的区块链交易的处理方法。
27、在本技术的实施例中,方案首先会获取根据区块链交易的交易记录生成的交易执行数据,然后从处理策略集合中确定对应于所述区块链交易的目标交易处理策略,如果若交易执行数据满足策略执行条件,则可以确定区块链交易为执行异常的交易,因此根据异常处理操作,限制区块链交易在所述区块链中上链。通过为区块链额外添加对区块链交易执行状态的判别和处理能力,在区块链交易执行异常时限制该区块链上链,从而避免了区块链反复执行或打包异常区块链交易而增加打包区块的时长,提高区块链交易的处理效率。
28、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
1.一种区块链交易的处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取区块链交易的交易执行数据之后,所述方法还包括:
3.根据权利要求1所述的处理方法,其特征在于,所述交易执行数据中包含所述区块链交易所执行的交易合约的合约标识;
4.根据权利要求3所述的处理方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的处理方法,其特征在于,所述异常处理操作中包含交易量阈值;所述根据所述异常处理操作,限制调用所述交易合约的其他区块链交易所述区块链中上链,包括:
6.根据权利要求4所述的处理方法,其特征在于,所述异常处理操作中包含交易时间阈值;所述根据所述异常处理操作,限制调用所述交易合约的其他区块链交易所述区块链中上链,包括:
7.根据权利要求3所述的方法,其特征在于,所述策略执行条件中包含执行时长阈值,所述交易执行数据中包含所述区块链交易在所述区块链中各个共识节点的交易执行时长;
8.根据权利要求7所述的方法,其特征在于,所述策略执行条件中还包含共识次数阈值,所述交易执行数据中还包含所述区块链交易的共识结果;
9.根据权利要求8所述的方法,其特征在于,所述策略执行条件中还包含平均时长阈值和交易数量阈值;
10.根据权利要求3所述的处理方法,其特征在于,所述根据所述异常处理操作,生成针对于所述交易合约的冻结交易并发送到所述区块链,包括:
11.根据权利要求10所述的处理方法,其特征在于,所述目标交易处理策略中还包含策略触发状态、策略恢复条件和恢复操作;
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述获取区块链交易的交易执行数据之前,所述方法还包括:
13.一种区块链交易的处理装置,其特征在于,包括:
14.一种电子设备,其特征在于,包括:
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12中任一项所述的区块链交易的处理方法。
16.一种计算机程序产品,其特征在于,计算机程序产品包括计算机程序,计算机程序存储在计算机可读存储介质中,电子设备的处理器从计算机可读存储介质读取并执行计算机程序,使得电子设备执行如权利要求1至12中任一项的区块链交易的处理方法。