本公开涉及区块链,尤其涉及一种基于区块链的交易账号管理方法和装置。
背景技术:
1、在区块链领域内,通常过连续递增nonce序号来防止出现重放攻击。nonce是一个只被使用一次的任意或非重复的随机数值,nonce值太小或者太大都可能导致交易失败。
2、在应用方数据上链过程中,需自行准备消耗账号。每次上链时生成新的账号,应用方需要花费时间和资源生成和维护账户,如果上链频率较高,需要频繁生成新的账号,这种方式导致上链效率极低。同时单个账号再执行交易过程中只能串行才能保证交易正常执行,这导致并发上链的情况下,多个应用方同时上链时可能导致账号的重复使用活冲突,从而导致上链失败,并发上链问题限制了系统的并发能力和可靠性。
技术实现思路
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、在本公开的一些实施例中,所述交易账号管理模块还用于基于所述应用端的交易账号使用频率,确定所述应用端的空闲账号;所述交易账号管理模块还用于将所述空闲账号回收至所述交易代理,并基于所述空闲账号的数量更新所述剩余账号数量。
29、在本公开的一些实施例中,所述交易账号管理模块还用于获取所述应用端的交易账号的历史使用记录,并基于所述历史使用记录进行预测,得到所述应用端在预设时间段内新增交易账号的预测使用量;所述交易账号管理模块还用于响应于所述新增交易账号的预测使用量小于所述剩余账号数量,基于所述新增交易账号的预测使用量和所述剩余账号数量,确定所述交易代理的账号生成数量;所述交易账号管理模块还用于所述交易代理生成所述账号生成数量的交易账号。
30、在本公开的一些实施例中,还包括:
31、可信认证模块,用于响应于所述交易代理接收到交易请求,对目标交易账号进行可信认证,其中,所述交易请求包括所述目标交易账号;
32、交易代理服务模块,用于响应于对所述目标交易账号的可信认证通过,所述交易代理基于所述交易请求提供交易代理服务,并将所述目标交易账号存入区块链中。
33、在本公开的一些实施例中,所述交易请求是客户端通过插件钱包发送给所述交易代理的,所述插件钱包管理所述目标交易账号的分布式数字身份;所述交易代理服务模块还用于对所述插件钱包进行可信证书验证;所述交易代理服务模块还用于响应于所述可信证书验证通过,所述交易代理向所述客户端提供访问权限。
34、在本公开的一些实施例中,所述交易代理服务模块还用于通过分布式锁对所述目标交易账号进行锁定;所述交易代理服务模块还用于将所述目标交易账号存入所述区块链,并在所述目标交易账号存入所述区块链后解除对所述目标交易账号的锁定。
35、本公开实施例的又一方面,提供一种电子设备,包括:
36、存储器,用于存储计算机程序产品;
37、处理器,用于执行所述存储器中存储的计算机程序产品,且所述计算机程序产品被执行时,实现上述基于区块链的交易账号管理方法。
38、本公开实施例的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时,实现上述基于区块链的交易账号管理方法。
39、本公开实施例的基于区块链的交易账号管理方法和装置,通过交易代理为区块链交易的应用端提供交易账号,应用端自身无需生成交易账号。当交易代理预生成的交易账号的剩余账号数量小于预设账号数量阈值时,表征交易代理预生成的交易账号可能不足以供应用端对交易账号的消耗,此时交易代理生成交易账号,有助于提升区块链交易的效率,且降低应用端对交易账号的管理成本。
40、下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
1.一种基于区块链的交易账号管理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述获取交易代理预生成的交易账号的剩余账号数量之后,还包括:
3.根据权利要求1或2所述的方法,其特征在于,在所述获取交易代理预生成的交易账号的剩余账号数量之后,还包括:
4.根据权利要求1所述的方法,其特征在于,还包括:
5.根据权利要求4所述的方法,其特征在于,所述交易请求是客户端通过插件钱包发送给所述交易代理的,所述插件钱包管理所述目标交易账号的分布式数字身份;
6.根据权利要求5所述的方法,其特征在于,在所述交易代理接收到交易请求后,还包括:
7.一种基于区块链的交易账号管理装置,其特征在于,包括:
8.根据权利要求7所述的装置,其特征在于,所述交易账号管理模块还用于基于所述应用端的交易账号使用频率,确定所述应用端的空闲账号;所述交易账号管理模块还用于将所述空闲账号回收至所述交易代理,并基于所述空闲账号的数量更新所述剩余账号数量。
9.根据权利要求7所述的装置,其特征在于,所述交易账号管理模块还用于获取所述应用端的交易账号的历史使用记录,并基于所述历史使用记录进行预测,得到所述应用端在预设时间段内新增交易账号的预测使用量;所述交易账号管理模块还用于响应于所述新增交易账号的预测使用量小于所述剩余账号数量,基于所述新增交易账号的预测使用量和所述剩余账号数量,确定所述交易代理的账号生成数量;所述交易账号管理模块还用于所述交易代理生成所述账号生成数量的交易账号。
10.根据权利要求7所述的装置,其特征在于,还包括:
11.根据权利要求10所述的装置,其特征在于,所述交易请求是客户端通过插件钱包发送给所述交易代理的,所述插件钱包管理所述目标交易账号的分布式数字身份;所述交易代理服务模块还用于对所述插件钱包进行可信证书验证;所述交易代理服务模块还用于响应于所述可信证书验证通过,所述交易代理向所述客户端提供访问权限。
12.根据权利要求11所述的装置,其特征在于,所述交易代理服务模块还用于通过分布式锁对所述目标交易账号进行锁定;所述交易代理服务模块还用于将所述目标交易账号存入所述区块链,并在所述目标交易账号存入所述区块链后解除对所述目标交易账号的锁定。
13.一种电子设备,其特征在于,包括:
14.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时,实现上述权利要求1-6任一所述的方法。