会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 银行与财务事项 / 货币 / 一种实现数字货币交易记录整合的方法和装置

一种实现数字货币交易记录整合的方法和装置

阅读:864发布:2021-02-24

IPRDB可以提供一种实现数字货币交易记录整合的方法和装置专利检索,专利查询,专利分析的服务。并且本申请提供了一种实现数字货币交易记录整合的方法和装置,能够在用户的可用交易记录中,将不超过交易记录理论限度的限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。本申请还提供了一种数字货币客户端,包含所述的实现数字货币交易记录整合的装置。本申请还提供了一种计算机可读存储介质、计算机程序产品以及电子设备,能够实现上述的实现数字货币交易记录整合的方法的执行。,下面是一种实现数字货币交易记录整合的方法和装置专利的具体信息内容。

1.一种实现数字货币交易记录整合的方法,其特征在于,包括:获取用户的可用交易记录;

在所述可用交易记录中,将不超过交易可接受的理论最大交易记录数量的限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录;

其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度。

2.根据权利要求1所述的方法,其特征在于,还包括:按照资金,对所述可用交易记录进行排序;根据所述排序在所述可用交易记录中选取所述限度交易记录。

3.根据权利要求2所述的方法,其特征在于,所述排序为按照资金从大到小排序;

选取所述限度交易记录的方式为:按照资金从大到小在所述可用交易记录中选取所述限度交易记录。

4.根据权利要求2所述的方法,其特征在于,选取所述限度交易记录的方式为:根据所述排序在所述可用交易记录中顺序选取所述限度交易记录,或根据所述排序在所述可用交易记录中跳跃选取所述限度交易记录。

5.根据权利要求1所述的方法,其特征在于,所述限度交易记录的数量等于所述交易记录理论限度。

6.根据权利要求1至5任一项所述的方法,其特征在于,还包括:在所述可用交易记录中,合并所述限度交易记录中的资金得到限度资金,得到所述限度资金与待交易资金的差值;

在所述可用交易记录中除所述限度交易记录以外的非限度交易记录中,将合并后的总资金满足所述差值的非限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。

7.根据权利要求6所述的方法,其特征在于,还包括:按照资金,对所述非限度交易记录进行排序;根据所述排序选取作为待整合交易记录的所述非限度交易记录。

8.根据权利要求7所述的方法,其特征在于,所述排序为按照资金从大到小排序;

选取所述非限度交易记录的方式为:按照资金从大到小选取作为待整合交易记录的所述非限度交易记录。

9.根据权利要求7所述的方法,其特征在于,选取所述非限度交易记录的方式为:根据所述排序顺序选取作为待整合交易记录的所述非限度交易记录,或根据所述排序跳跃选取作为待整合交易记录的所述非限度交易记录。

10.根据权利要求1至9任一项所述的方法,其特征在于,还包括:对所述待整合交易记录进行整合。

11.根据权利要求10所述的方法,其特征在于,进行所述整合包括:合并所述待整合交易记录中的资金,得到已整合资金。

12.根据权利要求11所述的方法,其特征在于,还包括:根据所述整合的结果得到所述用户的一个已整合交易记录。

13.根据权利要求12所述的方法,其特征在于,得到所述已整合交易记录,包括:根据所述已整合资金,构建包括所述已整合交易记录的交易。

14.根据权利要求1所述的方法,其特征在于,所述获取用户的可用交易记录,包括:获取所述用户的所有可用交易记录。

15.根据权利要求1所述的方法,其特征在于,所述待整合交易记录包括以下至少之一:未确认的交易记录;

已确认的交易记录。

16.根据权利要求1所述的方法,其特征在于,所述交易记录为UTXO未花费的交易输出。

17.一种实现数字货币交易记录整合的装置,其特征在于,包括:获取单元,用于获取用户的可用交易记录;

确定单元,用于在所述可用交易记录中,将不超过交易可接受的理论最大交易记录数量的限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录;

其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度。

18.根据权利要求17所述的装置,其特征在于,所述确定单元,还用于:按照资金,对所述可用交易记录进行排序;根据所述排序在所述可用交易记录中选取所述限度交易记录。

19.根据权利要求18所述的装置,其特征在于,所述排序为按照资金从大到小排序;

所述确定单元在选取所述限度交易记录时,用于:按照资金从大到小在所述可用交易记录中选取所述限度交易记录。

20.根据权利要求18所述的装置,其特征在于,所述确定单元在选取所述限度交易记录时,用于:根据所述排序在所述可用交易记录中顺序选取所述限度交易记录,或根据所述排序在所述可用交易记录中跳跃选取所述限度交易记录。

21.根据权利要求17所述的装置,其特征在于,所述限度交易记录的数量等于所述交易记录理论限度。

22.根据权利要求17至21任一项所述的装置,其特征在于,所述确定单元,还用于:在所述可用交易记录中,合并所述限度交易记录中的资金得到限度资金,得到所述限度资金与待交易资金的差值;

在所述可用交易记录中除所述限度交易记录以外的非限度交易记录中,将合并后的总资金满足所述差值的非限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。

23.根据权利要求22所述的装置,其特征在于,所述确定单元,还用于:按照资金,对所述非限度交易记录进行排序;根据所述排序选取作为待整合交易记录的所述非限度交易记录。

24.根据权利要求23所述的装置,其特征在于,所述排序为按照资金从大到小排序;

所述确定单元在选取所述非限度交易记录时,用于:按照资金从大到小选取作为待整合交易记录的所述非限度交易记录。

25.根据权利要求23所述的装置,其特征在于,所述确定单元在选取所述非限度交易记录时,用于:根据所述排序顺序选取作为待整合交易记录的所述非限度交易记录,或根据所述排序跳跃选取作为待整合交易记录的所述非限度交易记录。

26.根据权利要求17至25任一项所述的装置,其特征在于,还包括整合单元,用于:对所述待整合交易记录进行整合。

27.根据权利要求26所述的装置,其特征在于,所述整合单元,用于:合并所述待整合交易记录中的资金,得到已整合资金。

28.根据权利要求27所述的装置,其特征在于,还包括已整合交易记录生成模块,用于:根据所述整合的结果得到所述用户的一个已整合交易记录。

29.根据权利要求28所述的装置,其特征在于,所述已整合交易记录生成模块包括构建单元,用于:根据所述已整合资金,构建包括所述已整合交易记录的交易。

30.根据权利要求17所述的装置,其特征在于,所述获取单元,用于:获取所述用户的所有可用交易记录。

31.根据权利要求17所述的装置,其特征在于,所述待整合交易记录包括以下至少之一:未确认的交易记录;

已确认的交易记录。

32.根据权利要求17所述的装置,其特征在于,所述交易记录为UTXO未花费的交易输出。

33.一种电子设备,其特征在于,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行权利要求1-16任一项所述的方法。

34.一种数字货币客户端,其特征在于,包含权利要求17-32任一项所述的装置。

说明书全文

一种实现数字货币交易记录整合的方法和装置

技术领域

[0001] 本申请涉及数据处理技术领域,例如涉及一种实现数字货币交易记录整合的方法和装置。

背景技术

[0002] 目前,在用户进行数字货币交易时,通常需要选取一定数量的可用交易记录,例如UTXO(未花费的交易输出),以构建满足待交易资金的交易。
[0003] 当用户的可用交易记录中的资金较小时,需要选取大量的可用交易记录以构建满足待交易资金的交易,这导致构建的交易中包含了超过容量上限的可用交易记录,使得交易无法完成,严重影响数字货币交易的实现。

发明内容

[0004] 本公开实施例提供了一种实现数字货币交易记录整合的方法,包括:
[0005] 获取用户的可用交易记录;
[0006] 在所述可用交易记录中,将不超过交易可接受的理论最大交易记录数量的限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录;
[0007] 其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度。
[0008] 还可以包括如下操作:
[0009] 按照资金,对所述可用交易记录进行排序;根据所述排序在所述可用交易记录中选取所述限度交易记录。
[0010] 所述排序可以为按照资金从大到小排序;
[0011] 选取所述限度交易记录的方式可以为:按照资金从大到小在所述可用交易记录中选取所述限度交易记录。
[0012] 选取所述限度交易记录的方式可以为:
[0013] 根据所述排序在所述可用交易记录中顺序选取所述限度交易记录,或[0014] 根据所述排序在所述可用交易记录中跳跃选取所述限度交易记录。
[0015] 所述限度交易记录的数量可以等于所述交易记录理论限度。
[0016] 还可以包括如下操作:
[0017] 在所述可用交易记录中,合并所述限度交易记录中的资金得到限度资金,得到所述限度资金与待交易资金的差值;
[0018] 在所述可用交易记录中除所述限度交易记录以外的非限度交易记录中,将合并后的总资金满足所述差值的非限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。
[0019] 还可以包括如下操作:
[0020] 按照资金,对所述非限度交易记录进行排序;根据所述排序选取作为待整合交易记录的所述非限度交易记录。
[0021] 所述排序可以为按照资金从大到小排序;
[0022] 选取所述非限度交易记录的方式可以为:按照资金从大到小选取作为待整合交易记录的所述非限度交易记录。
[0023] 选取所述非限度交易记录的方式可以为:
[0024] 根据所述排序顺序选取作为待整合交易记录的所述非限度交易记录,或[0025] 根据所述排序跳跃选取作为待整合交易记录的所述非限度交易记录。
[0026] 还可以包括如下操作:对所述待整合交易记录进行整合。
[0027] 进行所述整合可以包括:合并所述待整合交易记录中的资金,得到已整合资金。
[0028] 还可以包括如下操作:根据所述整合的结果得到所述用户的一个已整合交易记录。
[0029] 得到所述已整合交易记录,可以包括:根据所述已整合资金,构建包括所述已整合交易记录的交易。
[0030] 所述获取用户的可用交易记录,可以包括:获取所述用户的所有可用交易记录。
[0031] 所述待整合交易记录可以包括以下至少之一:
[0032] 未确认的交易记录;
[0033] 已确认的交易记录。
[0034] 所述交易记录可以为UTXO(未花费的交易输出)。
[0035] 本公开实施例还提供了一种实现数字货币交易记录整合的装置,包括:
[0036] 获取单元,用于获取用户的可用交易记录;
[0037] 确定单元,用于在所述可用交易记录中,将不超过交易可接受的理论最大交易记录数量的限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录;
[0038] 其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度。
[0039] 所述确定单元,还可以用于:
[0040] 按照资金,对所述可用交易记录进行排序;根据所述排序在所述可用交易记录中选取所述限度交易记录。
[0041] 所述排序可以为按照资金从大到小排序;
[0042] 所述确定单元在选取所述限度交易记录时,可以用于:按照资金从大到小在所述可用交易记录中选取所述限度交易记录。
[0043] 所述确定单元在选取所述限度交易记录时,可以用于:
[0044] 根据所述排序在所述可用交易记录中顺序选取所述限度交易记录,或[0045] 根据所述排序在所述可用交易记录中跳跃选取所述限度交易记录。
[0046] 所述限度交易记录的数量可以等于所述交易记录理论限度。
[0047] 所述确定单元,还可以用于:
[0048] 在所述可用交易记录中,合并所述限度交易记录中的资金得到限度资金,得到所述限度资金与待交易资金的差值;
[0049] 在所述可用交易记录中除所述限度交易记录以外的非限度交易记录中,将合并后的总资金满足所述差值的非限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。
[0050] 所述确定单元,还可以用于:
[0051] 按照资金,对所述非限度交易记录进行排序;根据所述排序选取作为待整合交易记录的所述非限度交易记录。
[0052] 所述排序可以为按照资金从大到小排序;
[0053] 所述确定单元在选取所述非限度交易记录时,可以用于:按照资金从大到小选取作为待整合交易记录的所述非限度交易记录。
[0054] 所述确定单元在选取所述非限度交易记录时,可以用于:
[0055] 根据所述排序顺序选取作为待整合交易记录的所述非限度交易记录,或[0056] 根据所述排序跳跃选取作为待整合交易记录的所述非限度交易记录。
[0057] 还可以包括整合单元,用于:对所述待整合交易记录进行整合。
[0058] 所述整合单元,可以用于:合并所述待整合交易记录中的资金,得到已整合资金。
[0059] 还可以包括已整合交易记录生成模块,用于:根据所述整合的结果得到所述用户的一个已整合交易记录。
[0060] 所述已整合交易记录生成模块可以包括构建单元,用于:根据所述已整合资金,构建包括所述已整合交易记录的交易。
[0061] 所述获取单元,可以用于:获取所述用户的所有可用交易记录。
[0062] 所述待整合交易记录可以包括以下至少之一:
[0063] 未确认的交易记录;
[0064] 已确认的交易记录。
[0065] 所述交易记录可以为UTXO。
[0066] 本公开实施例还提供了一种数字货币客户端,包含上述实施例的实现数字货币交易记录整合的装置。
[0067] 本公开实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述实施例的实现数字货币交易记录整合的方法。
[0068] 本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述实施例的实现数字货币交易记录整合的方法。
[0069] 本公开实施例还提供了一种电子设备,包括:
[0070] 至少一个处理器;以及
[0071] 与所述至少一个处理器通信连接的存储器;其中,
[0072] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行上述实施例的实现数字货币交易记录整合的方法。

附图说明

[0073] 一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,附图不构成比例限制,并且其中:
[0074] 图1为本公开实施例的支持数字货币交易的方法示意图;
[0075] 图2为本公开实施例的对资金进行整合的方法示意图;
[0076] 图3为本公开实施例的实现数字货币交易记录整合的方法示意图;
[0077] 图4为本公开实施例的选取限度交易记录的方法示意图;
[0078] 图5为本公开另一实施例的实现数字货币交易记录整合的方法示意图;
[0079] 图6为本公开实施例的选取非限度交易记录的方法示意图;
[0080] 图7为本公开再一实施例的实现数字货币交易记录整合的方法示意图;
[0081] 图8为本公开实施例的得到临时交易记录的方法示意图;
[0082] 图9为本公开实施例的进行交易记录重新选择的方法示意图;
[0083] 图10为本公开实施例的构建交易的方法示意图;
[0084] 图11为本公开另一实施例的构建交易的方法示意图;
[0085] 图12为本公开实施例的更新已整合资金的方法示意图;
[0086] 图13为本公开实施例的确定整合结果的有效性的方法示意图;
[0087] 图14为本公开实施例的支持数字货币交易的装置示意图;
[0088] 图15为本公开实施例的对资金进行整合的装置示意图;
[0089] 图16为本公开实施例的实现数字货币交易记录整合的装置示意图;
[0090] 图17为本公开实施例的选取限度交易记录的装置示意图;
[0091] 图18为本公开另一实施例的实现数字货币交易记录整合的装置示意图;
[0092] 图19为本公开实施例的选取非限度交易记录的装置示意图;
[0093] 图20为本公开再一实施例的实现数字货币交易记录整合的装置示意图;
[0094] 图21为本公开实施例的得到临时交易记录的装置示意图;
[0095] 图22为本公开实施例的进行交易记录重新选择的装置示意图;
[0096] 图23为本公开实施例的构建交易的装置示意图;
[0097] 图24为本公开另一实施例的构建交易的装置示意图;
[0098] 图25为本公开实施例的更新已整合资金的装置示意图;
[0099] 图26为本公开实施例的确定整合结果的有效性的装置示意图;以及[0100] 图27为本公开实施例提供的电子设备的结构示意图。
[0101] 附图标记:10:支持数字货币交易的装置;
110:可用交易记录整合模块;120:已整合交易记录生成模块;
1101:获取单元;1102:确定单元;1103:整合单元;
1201:构建单元;
2700:电子设备;2701:处理器;2702:存储器;2703:通信接口;2704:总线。

具体实施方式

[0102] 为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。
然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
[0103] 参见图1,本公开实施例提供了一种支持数字货币交易的方法,包括:
[0104] S10:对用户的可用交易记录进行整合;其中,所述可用交易记录中将进行整合的交易记录作为待整合交易记录;
[0105] S20:根据所述整合的结果得到所述用户的一个已整合交易记录。
[0106] 上述方法可以通过所述用户的可用交易记录管理器实现,例如:区块链网络中的全节点、所述用户的钱包客户端等。
[0107] 参见图2,进行所述整合可以包括:合并所述待整合交易记录中的资金,得到已整合资金。
[0108] 参见图3、5、7,还可以确定所述待整合交易记录。
[0109] 参见图3,所述确定待整合交易记录,可以包括:
[0110] S101:获取所述用户的可用交易记录;
[0111] 例如:调用所述用户的钱包客户端中的listunspent接口以获取所述用户的可用交易记录。
[0112] 作为一个实施例,获取到的所述用户的可用交易记录可以包括以下至少之一:
[0113] 未确认的可用交易记录;
[0114] 已确认的可用交易记录。
[0115] S102:在所述可用交易记录中,将不超过交易可接受的理论最大交易记录数量的限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录;
[0116] 其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度。
[0117] 作为一个实施例,不限制所述用户的所有可用交易记录与所述交易记录理论限度之间的数量关系。
[0118] 作为一个实施例,所述用户的所有可用交易记录与所述交易记录理论限度之间也可以存在数量关系,例如:所述用户的所有可用交易记录的数量小于等于所述交易记录理论限度的两倍。
[0119] 作为一个实施例,交易可接受的理论最大交易记录数量通常在一定范围内,例如:600至650,或550至600等。通常,也可以将交易可接受的理论最大交易记录数量设置为一个特定值,例如:600。
[0120] 参见图4,还可以进行限度交易记录的选取,例如,包括:
[0121] S1021:按照资金,对所述可用交易记录进行排序;所述资金为所述可用交易记录包含的资金;
[0122] S1022:根据所述排序在所述可用交易记录中选取所述限度交易记录。
[0123] 作为一个实施例,所述排序可以为按照资金从大到小排序;
[0124] 选取所述限度交易记录的方式可以为:按照资金从大到小在所述可用交易记录中选取所述限度交易记录。
[0125] 作为一个实施例,选取所述限度交易记录的方式可以为:
[0126] 根据所述排序在所述可用交易记录中顺序选取所述限度交易记录,或[0127] 根据所述排序在所述可用交易记录中跳跃选取所述限度交易记录。
[0128] 作为一个实施例,所述限度交易记录的数量可以等于所述交易记录理论限度。
[0129] 作为一个实施例,所述限度交易记录的数量也可以小于所述交易记录理论限度。
[0130] 作为一个实施例,由于所述交易记录理论限度只是一个理论值,有可能与实际操作中的交易记录实际限度存在差异,因此所述限度交易记录的数量也可以略微大于所述交易记录理论限度,例如:所述限度交易记录的数量比所述交易记录理论限度大一定比例,例如:5%之内、10%之内或5%至10%之内等。
[0131] 作为一个实施例,在按照资金对所述可用交易记录进行排序时,也可以按照资金从小到大进行排序;相应的选取所述限度交易记录的方式可以为:按照资金从小到大在所述可用交易记录中选取所述限度交易记录。
[0132] 作为一个实施例,也可以不对所述可用交易记录进行排序,相应的选取所述限度交易记录的方式可以为:在所述可用交易记录中随机选取所述限度交易记录。
[0133] 参见图5,所述确定待整合交易记录,可以包括:
[0134] S111:获取所述用户的可用交易记录;
[0135] 例如:调用所述用户的钱包客户端中的listunspent接口以获取所述用户的可用交易记录。
[0136] 作为一个实施例,获取到的所述用户的可用交易记录可以包括以下至少之一:
[0137] 未确认的可用交易记录;
[0138] 已确认的可用交易记录。
[0139] S112:在所述可用交易记录中,合并不超过交易可接受的理论最大交易记录数量的限度交易记录中的资金得到限度资金,得到所述限度资金与待交易资金的差值;
[0140] S113:在所述可用交易记录中除所述限度交易记录以外的非限度交易记录中,将合并后的总资金满足所述差值的非限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录;
[0141] 其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度。
[0142] 作为一个实施例,可以用所述待交易资金减去所述限度资金以得到所述差值。
[0143] 作为一个实施例,可以合并一定数量的非限度交易记录中的资金以得到合并后的总资金,并在合并后的总资金大于或等于所述差值时,将合并了资金的所述非限度交易记录作为待整合交易记录。
[0144] 作为一个实施例,不限制所述用户的所有可用交易记录与所述交易记录理论限度之间的数量关系。
[0145] 作为一个实施例,所述用户的所有可用交易记录与所述交易记录理论限度之间也可以存在数量关系,例如:所述用户的所有可用交易记录的数量小于等于所述交易记录理论限度的两倍。
[0146] 作为一个实施例,交易可接受的理论最大交易记录数量通常在一定范围内,例如:600至650,或550至600等。通常,也可以将交易可接受的理论最大交易记录数量设置为一个特定值,例如:600。
[0147] 参见图6,还可以进行非限度交易记录的选取,例如,包括:
[0148] S1131:按照资金,对所述非限度交易记录进行排序;所述资金为所述非限度交易记录包含的资金;
[0149] S1132:根据所述排序选取作为待整合交易记录的所述非限度交易记录。
[0150] 作为一个实施例,所述排序可以为按照资金从大到小排序;
[0151] 选取所述非限度交易记录的方式可以为:按照资金从大到小选取作为待整合交易记录的所述非限度交易记录。
[0152] 作为一个实施例,选取所述非限度交易记录的方式可以为:
[0153] 根据所述排序顺序选取作为待整合交易记录的所述非限度交易记录,或[0154] 根据所述排序跳跃选取作为待整合交易记录的所述非限度交易记录。
[0155] 作为一个实施例,在按照资金对所述非限度交易记录进行排序时,也可以按照资金从小到大进行排序;相应的选取所述非限度交易记录的方式可以为:按照资金从小到大选取作为待整合交易记录的所述非限度交易记录。
[0156] 作为一个实施例,也可以不对所述非限度交易记录进行排序,相应的选取所述非限度交易记录的方式可以为:随机选取作为待整合交易记录的所述非限度交易记录。
[0157] 作为一个实施例,在执行如图5所示操作的情况下,还可以进行前述的如图4所示的限度交易记录的选取等相关操作,例如,包括:
[0158] S1021:按照资金,对所述可用交易记录进行排序;所述资金为所述可用交易记录包含的资金;
[0159] S1022:根据所述排序在所述可用交易记录中选取所述限度交易记录。
[0160] 作为一个实施例,所述排序可以为按照资金从大到小排序;
[0161] 选取所述限度交易记录的方式可以为:按照资金从大到小在所述可用交易记录中选取所述限度交易记录。
[0162] 作为一个实施例,选取所述限度交易记录的方式可以为:
[0163] 根据所述排序在所述可用交易记录中顺序选取所述限度交易记录,或[0164] 根据所述排序在所述可用交易记录中跳跃选取所述限度交易记录。
[0165] 作为一个实施例,所述限度交易记录的数量可以等于所述交易记录理论限度。
[0166] 作为一个实施例,所述限度交易记录的数量也可以小于所述交易记录理论限度。
[0167] 作为一个实施例,由于所述交易记录理论限度只是一个理论值,有可能与实际操作中的交易记录实际限度存在差异,因此所述限度交易记录的数量也可以略微大于所述交易记录理论限度,例如:所述限度交易记录的数量比所述交易记录理论限度大一定比例,例如:5%之内、10%之内或5%至10%之内等。
[0168] 作为一个实施例,在按照资金对所述可用交易记录进行排序时,也可以按照资金从小到大进行排序;相应的选取所述限度交易记录的方式可以为:按照资金从小到大在所述可用交易记录中选取所述限度交易记录。
[0169] 作为一个实施例,也可以不对所述可用交易记录进行排序,相应的选取所述限度交易记录的方式可以为:在所述可用交易记录中随机选取所述限度交易记录。
[0170] 作为一个实施例,在执行如图3所示操作的情况下,还可以进行如图5所示的S112、S113以及如图6所示的非限度交易记录的选取等相关操作,例如,包括:
[0171] S112:在所述可用交易记录中,合并不超过交易可接受的理论最大交易记录数量的限度交易记录中的资金得到限度资金,得到所述限度资金与待交易资金的差值;
[0172] S113:在所述可用交易记录中除所述限度交易记录以外的非限度交易记录中,将合并后的总资金满足所述差值的非限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。
[0173] 作为一个实施例,可以用所述待交易资金减去所述限度资金以得到所述差值。
[0174] 作为一个实施例,可以合并一定数量的非限度交易记录中的资金以得到合并后的总资金,并在合并后的总资金大于或等于所述差值时,将合并了资金的所述非限度交易记录作为待整合交易记录。
[0175] 作为一个实施例,交易可接受的理论最大交易记录数量通常在一定范围内,例如:600至650,或550至600等。通常,也可以将交易可接受的理论最大交易记录数量设置为一个特定值,例如:600。
[0176] 参见图6,进行非限度交易记录的选取,可以包括:
[0177] S1131:按照资金,对所述非限度交易记录进行排序;所述资金为所述非限度交易记录包含的资金;
[0178] S1132:根据所述排序选取作为待整合交易记录的所述非限度交易记录。
[0179] 作为一个实施例,所述排序可以为按照资金从大到小排序;
[0180] 选取所述非限度交易记录的方式可以为:按照资金从大到小选取作为待整合交易记录的所述非限度交易记录。
[0181] 作为一个实施例,选取所述非限度交易记录的方式可以为:
[0182] 根据所述排序顺序选取作为待整合交易记录的所述非限度交易记录,或[0183] 根据所述排序跳跃选取作为待整合交易记录的所述非限度交易记录。
[0184] 作为一个实施例,在按照资金对所述非限度交易记录进行排序时,也可以按照资金从小到大进行排序;相应的选取所述非限度交易记录的方式可以为:按照资金从小到大选取作为待整合交易记录的所述非限度交易记录。
[0185] 作为一个实施例,也可以不对所述非限度交易记录进行排序,相应的选取所述非限度交易记录的方式可以为:随机选取作为待整合交易记录的所述非限度交易记录。
[0186] 参见图7,所述确定待整合交易记录,可以包括:
[0187] S121:获取所述用户的可用交易记录;
[0188] 例如:调用所述用户的钱包客户端中的listunspent接口以获取所述用户的可用交易记录。
[0189] 作为一个实施例,获取到的所述用户的可用交易记录可以包括以下至少之一:
[0190] 未确认的可用交易记录;
[0191] 已确认的可用交易记录。
[0192] S122:在所述可用交易记录中,合并不超过交易可接受的理论最大交易记录数量的限度交易记录得到一个临时交易记录;其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度;
[0193] S123:基于所述临时交易记录以及在所述可用交易记录中除所述限度交易记录以外的非限度交易记录,选择满足待交易资金并且不超过所述交易记录理论限度的交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。
[0194] 例如:使用二次遍历随机法选择所述待整合交易记录,可以包括:
[0195] 在包括所述临时交易记录以及非限度交易记录的所有交易记录中,对所有交易记录进行第一次遍历来挑选交易记录;
[0196] 如果第一次遍历所挑选出的交易记录满足所述待交易资金并且不超过所述交易记录理论限度,则将第一次遍历所挑选出的交易记录作为所述待整合交易记录;
[0197] 如果第一次遍历所挑选出的交易记录未满足所述待交易资金,则对第一次遍历未挑选出的交易记录进行第二次遍历来挑选交易记录;
[0198] 如果两次遍历所挑选出的交易记录满足所述待交易资金并且不超过所述交易记录理论限度,则将两次遍历所挑选出的交易记录作为所述待整合交易记录。
[0199] 作为一个实施例,在进行所述第一次遍历时,可以对所有交易记录按资金降序排列,并从包含资金最大的交易记录开始遍历。第一次遍历时可以采用真假(true or false)随机方式来挑选交易记录。
[0200] 作为一个实施例,所述二次遍历随机法可以执行多次,例如1000次,以挑选出满足所述待交易资金并且不超过所述交易记录理论限度的交易记录作为所述待整合交易记录。
[0201] 作为一个实施例,通过执行多次二次遍历随机法,可以确定待整合交易记录数量最少的方案。
[0202] 作为一个实施例,不限制所述用户的所有可用交易记录与所述交易记录理论限度之间的数量关系。
[0203] 作为一个实施例,所述用户的所有可用交易记录与所述交易记录理论限度之间也可以存在数量关系,例如:所述用户的所有可用交易记录的数量大于等于所述交易记录理论限度的两倍。
[0204] 作为一个实施例,交易可接受的理论最大交易记录数量通常在一定范围内,例如:600至650,或550至600等。通常,也可以将交易可接受的理论最大交易记录数量设置为一个特定值,例如:600。
[0205] 作为一个实施例,在执行如图7所示操作的情况下,还可以进行前述的如图4所示的限度交易记录的选取等相关操作,例如,包括:
[0206] S1021:按照资金,对所述可用交易记录进行排序;所述资金为所述可用交易记录包含的资金;
[0207] S1022:根据所述排序在所述可用交易记录中选取所述限度交易记录。
[0208] 作为一个实施例,所述排序可以为按照资金从小到大排序;
[0209] 选取所述限度交易记录的方式可以为:按照资金从小到大在所述可用交易记录中选取所述限度交易记录。
[0210] 作为一个实施例,选取所述限度交易记录的方式可以为:
[0211] 根据所述排序在所述可用交易记录中顺序选取所述限度交易记录,或[0212] 根据所述排序在所述可用交易记录中跳跃选取所述限度交易记录。
[0213] 作为一个实施例,所述限度交易记录的初始数量可以大于1。
[0214] 作为一个实施例,在按照资金对所述可用交易记录进行排序时,也可以按照资金从大到小进行排序;相应的选取所述限度交易记录的方式可以为:按照资金从大到小在所述可用交易记录中选取所述限度交易记录。
[0215] 作为一个实施例,也可以不对所述可用交易记录进行排序,相应的选取所述限度交易记录的方式可以为:在所述可用交易记录中随机选取所述限度交易记录。
[0216] 参见图8,得到所述临时交易记录,可以包括:
[0217] S122:合并所述限度交易记录中的资金,得到已合并资金;
[0218] S123:将所述已合并资金包含于新生成的所述临时交易记录中。
[0219] 作为一个实施例,所述临时交易记录是额外生成的交易记录;可以预先生成并预留,也可以新生成。
[0220] 上述的涉及所述临时交易记录的操作,能够在得到所述已整合交易记录之前合并一定数量的交易记录中的资金得到所述已合并资金并临时性地生成一个包含所述已合并资金的交易记录,即:所述临时交易记录。
[0221] 参见图9,还可以进行交易记录重新选择的操作,例如,包括:在选择的交易记录超过所述交易记录理论限度时,增加合并的所述限度交易记录的数量并返回进行所述选择。
[0222] 作为一个实施例,由于所述交易记录理论限度只是一个理论值,有可能与实际操作中的交易记录实际限度存在差异,因此选择的所述交易记录的数量也可以略微大于所述交易记录理论限度,例如:选择的所述交易记录的数量比所述交易记录理论限度大一定比例,例如:5%之内、10%之内或5%至10%之内等。
[0223] 作为一个实施例,增加合并的所述限度交易记录的数量,可以包括:将合并的所述限度交易记录的数量加1。
[0224] 作为一个实施例,增加合并的所述限度交易记录的数量时,也可以将合并的所述限度交易记录的数量加2或3等除1以外的其它数量。
[0225] 作为一个实施例,还可以利用所述临时交易记录、非限度交易记录更新所述可用交易记录。
[0226] 例如,将所述临时交易记录、非限度交易记录组成一个集合,将该集合中的交易记录作为所述可用交易记录。
[0227] 作为一个实施例,在得到所述已整合交易记录时,可以根据所述已整合资金,构建包括所述已整合交易记录的交易。
[0228] 参见图10,构建所述交易,可以包括:
[0229] S210:将所述待整合交易记录作为交易输入,将所述已整合交易记录作为交易输出并在所述已整合交易记录中携带所述已整合资金;
[0230] S220:生成包含所述交易输入、交易输出的数据格式作为所述交易。
[0231] 例如:调用所述用户的钱包客户端中的createrawtransaction接口以构建所述交易。
[0232] 作为一个实施例,所述数据格式可以包括字符串。所述字符串可以为16进制。
[0233] 参见图11,还可以在构建交易时进行涉及地址的处理,例如:包括:
[0234] S30:生成所述已整合资金所指向的地址;例如:调用所述用户的钱包客户端中的getnewaddress接口以获取所述地址;
[0235] S40:将该地址携带于所述交易输出中。
[0236] 作为一个实施例,还可以对所述交易进行签名。
[0237] 例如:调用所述用户的钱包客户端中的signrawtransaction接口以对所述交易进行签名;所述签名可以是私钥签名等。
[0238] 作为一个实施例,还可以发送签名后的所述交易。
[0239] 例如:调用所述用户的钱包客户端中的sendrawtransaction接口以将所述交易发送到本地节点和连接的网络(如区块链网络)中。
[0240] 作为一个实施例,还可以:在发送签名后的所述交易之前对所述交易进行交易校验。
[0241] 例如:调用所述用户的钱包客户端中的decoderawtransaction接口以对签名后的所述交易进行解码,并基于解码后得到的交易信息(可以包括所述已整合资金、交易输入、交易输出等,还可以包括下述的交易费)进行交易校验。
[0242] 参见图12,还可以进行更新已整合资金的操作,例如,包括:
[0243] S201:基于要构建的所述交易,生成所述交易对应的交易费;
[0244] 例如:基于签名后的所述交易,调用所述用户的钱包客户端中的estimatefee接口以得到所述交易费。
[0245] S202:根据所述交易费更新所述已整合资金。
[0246] 例如:使用所述已整合资金减去所述交易费得到资金差值,并使用所述资金差值更新所述已整合交易记录中携带的所述已整合资金。
[0247] 作为一个实施例,使用所述资金差值更新所述已整合资金时,可以直接用所述资金差值作为新的已整合资金的值。
[0248] 作为一个实施例,还可以将所述交易费携带于所述已整合交易记录中。
[0249] 作为一个实施例,进行所述整合之前,还可以包括如下操作:发生交易过大异常。这样,所述整合可以被发生的所述交易过大异常所触发。
[0250] 作为一个实施例,还可以确定整合结果的有效性,例如,包括:根据用于避免资金不足的预留值,确定所述整合的结果的有效性。
[0251] 参见图13,确定所述整合的结果的有效性,可以包括:
[0252] S50:为所述整合的结果添加所述预留值,得到参考资金;
[0253] S60:在所述参考资金超过资金限额时确定所述整合的结果无效。
[0254] 作为一个实施例,还可以在确定所述整合的结果无效时,返回进行所述整合。
[0255] 作为一个实施例,所述资金限额通常不超过所述用户的总资金。
[0256] 作为一个实施例,所述资金限额可以小于所述用户的总资金。例如:所述资金限额等于所述总资金的80%或90%或其它比例。
[0257] 作为一个实施例,所述资金限额可以等于所述用户的总资金。
[0258] 作为一个实施例,所述预留值可以是预定值,该预定值可以是自定义的,例如:所述预留值等于所述待交易资金的10%或其它比例。
[0259] 通过上述涉及预留值的相关操作,可以避免根据所述整合的结果构建的交易因所需资金超过所述总资金而发生资金不足的情况。
[0260] 作为一个实施例,还可以锁定所述待整合交易记录。
[0261] 例如:调用所述用户的钱包客户端中的lockunspent接口以锁定所述待整合交易记录,这样可以防止所述待整合交易记录被用于其它交易。
[0262] 作为一个实施例,还可以在得到所述已整合交易记录之后,解锁所述待整合交易记录。
[0263] 例如:调用所述用户的钱包客户端中的listlockunspent接口以获得被锁定的所述待整合交易记录;之后调用所述用户的钱包客户端中的lockunspent接口以将被锁定的所述待整合交易记录解锁。
[0264] 作为一个实施例,获取所述用户的可用交易记录时,可以获取所述用户的所有可用交易记录。
[0265] 作为一个实施例,所述待整合交易记录可以包括以下至少之一:
[0266] 未确认的交易记录;
[0267] 已确认的交易记录。
[0268] 作为一个实施例,所述交易记录可以为UTXO。
[0269] 由以上描述可见,本公开实施例所提供的支持数字货币交易的方法,能够对用户的可用交易记录进行整合,根据所述整合的结果得到所述用户的一个已整合交易记录,因此能够有效减少所述用户的可用交易记录数量。
[0270] 这样,在后续需要构建交易时,构建的交易中不会包含超过容量上限的可用交易记录,保证了交易的顺利完成。
[0271] 另外,所述用户的可用交易记录数量的有效减少,使得在后续需要构建交易时,构建的交易中包含的可用交易记录也能有效减少,因此能够有效降低交易费。
[0272] 由以上描述可见,本公开实施例所提供的实现交易记录整合的方法(参见图3至图9及相关描述)能够在用户的可用交易记录中有效确定待整合交易记录,因此能够根据确定的待整合交易记录进行整合以得到所述用户的一个已整合交易记录,因此能够有效减少所述用户的可用交易记录数量。
[0273] 这样,在后续需要构建交易时,构建的交易中不会包含超过容量上限的可用交易记录,保证了交易的顺利完成。
[0274] 另外,所述用户的可用交易记录数量的有效减少,使得在后续需要构建交易时,构建的交易中包含的可用交易记录也能有效减少,因此能够有效降低交易费。
[0275] 参见图14,本公开实施例还提供了一种支持数字货币交易的装置10,包括:
[0276] 可用交易记录整合模块110,用于对用户的可用交易记录进行整合;
[0277] 已整合交易记录生成模块120,用于根据所述整合的结果得到所述用户的一个已整合交易记录;
[0278] 其中,所述可用交易记录中将进行整合的交易记录作为待整合交易记录。
[0279] 所述支持数字货币交易的装置10可以通过所述用户的可用交易记录管理器实现,例如:区块链网络中的全节点、所述用户的钱包客户端等。
[0280] 参见图15,所述可用交易记录整合模块110可以包括整合单元1103,用于:在对所述待整合交易记录进行整合时,合并所述待整合交易记录中的资金,得到已整合资金。
[0281] 参见图16、18、20,作为实现数字货币交易记录整合的装置,所述可用交易记录整合模块110,可以用于:确定所述待整合交易记录。
[0282] 作为一个实施例,所述可用交易记录整合模块110在确定待整合交易记录时,可以用于:
[0283] 获取所述用户的可用交易记录;在所述可用交易记录中,将不超过交易可接受的理论最大交易记录数量的限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录;
[0284] 其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度。
[0285] 参见图16,所述可用交易记录整合模块110可以包括:获取单元1101、确定单元1102;其中
[0286] 获取单元1101,可以用于获取用户的可用交易记录;
[0287] 例如:调用所述用户的钱包客户端中的listunspent接口以获取所述用户的可用交易记录。
[0288] 作为一个实施例,获取到的所述用户的可用交易记录可以包括以下至少之一:
[0289] 未确认的可用交易记录;
[0290] 已确认的可用交易记录。
[0291] 确定单元1102,可以用于在所述可用交易记录中,将不超过交易可接受的理论最大交易记录数量的限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。
[0292] 作为一个实施例,不限制所述用户的所有可用交易记录与所述交易记录理论限度之间的数量关系。
[0293] 作为一个实施例,所述用户的所有可用交易记录与所述交易记录理论限度之间也可以存在数量关系,例如:所述用户的所有可用交易记录的数量小于等于所述交易记录理论限度的两倍。
[0294] 作为一个实施例,交易可接受的理论最大交易记录数量通常在一定范围内,例如:600至650,或550至600等。通常,也可以将交易可接受的理论最大交易记录数量设置为一个特定值,例如:600。
[0295] 参见图17,所述确定单元1102,还可以用于:
[0296] 按照资金,对所述可用交易记录进行排序;根据所述排序在所述可用交易记录中选取所述限度交易记录。所述资金为所述可用交易记录包含的资金。
[0297] 作为一个实施例,所述排序可以为按照资金从大到小排序;
[0298] 所述确定单元1102在选取所述限度交易记录时,可以用于:按照资金从大到小在所述可用交易记录中选取所述限度交易记录。
[0299] 作为一个实施例,所述确定单元1102在选取所述限度交易记录时,可以用于:
[0300] 根据所述排序在所述可用交易记录中顺序选取所述限度交易记录,或[0301] 根据所述排序在所述可用交易记录中跳跃选取所述限度交易记录。
[0302] 作为一个实施例,所述限度交易记录的数量可以等于所述交易记录理论限度。
[0303] 作为一个实施例,所述限度交易记录的数量也可以小于所述交易记录理论限度。
[0304] 作为一个实施例,由于所述交易记录理论限度只是一个理论值,有可能与实际操作中的交易记录实际限度存在差异,因此所述限度交易记录的数量也可以略微大于所述交易记录理论限度,例如:所述限度交易记录的数量比所述交易记录理论限度大一定比例,例如:5%之内、10%之内或5%至10%之内等。
[0305] 作为一个实施例,在按照资金对所述可用交易记录进行排序时,也可以按照资金从小到大进行排序;相应的选取所述限度交易记录的方式可以为:按照资金从小到大在所述可用交易记录中选取所述限度交易记录。
[0306] 作为一个实施例,也可以不对所述可用交易记录进行排序,相应的选取所述限度交易记录的方式可以为:在所述可用交易记录中随机选取所述限度交易记录。
[0307] 作为一个实施例,所述可用交易记录整合模块110在确定待整合交易记录时,可以用于:
[0308] 获取所述用户的可用交易记录;在所述可用交易记录中,合并不超过交易可接受的理论最大交易记录数量的限度交易记录中的资金得到限度资金,得到所述限度资金与待交易资金的差值;
[0309] 在所述可用交易记录中除所述限度交易记录以外的非限度交易记录中,将合并后的总资金满足所述差值的非限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录;
[0310] 其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度。
[0311] 参见图18,所述可用交易记录整合模块110可以包括:获取单元1101、确定单元1102;其中
[0312] 获取单元1101,可以用于获取用户的可用交易记录;
[0313] 例如:调用所述用户的钱包客户端中的listunspent接口以获取所述用户的可用交易记录。
[0314] 作为一个实施例,获取到的所述用户的可用交易记录可以包括以下至少之一:
[0315] 未确认的可用交易记录;
[0316] 已确认的可用交易记录。
[0317] 确定单元1102,可以用于在所述可用交易记录中,合并不超过交易可接受的理论最大交易记录数量的限度交易记录中的资金得到限度资金,得到所述限度资金与待交易资金的差值;其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度;以及[0318] 在所述可用交易记录中除所述限度交易记录以外的非限度交易记录中,将合并后的总资金满足所述差值的非限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。
[0319] 作为一个实施例,可以用所述待交易资金减去所述限度资金以得到所述差值。
[0320] 作为一个实施例,可以合并一定数量的非限度交易记录中的资金以得到合并后的总资金,并在合并后的总资金大于或等于所述差值时,将合并了资金的所述非限度交易记录作为待整合交易记录。
[0321] 作为一个实施例,不限制所述用户的所有可用交易记录与所述交易记录理论限度之间的数量关系。
[0322] 作为一个实施例,所述用户的所有可用交易记录与所述交易记录理论限度之间也可以存在数量关系,例如:所述用户的所有可用交易记录的数量小于等于所述交易记录理论限度的两倍。
[0323] 作为一个实施例,交易可接受的理论最大交易记录数量通常在一定范围内,例如:600至650,或550至600等。通常,也可以将交易可接受的理论最大交易记录数量设置为一个特定值,例如:600。
[0324] 参见图19,所述确定单元1102,还可以用于:
[0325] 按照资金,对所述非限度交易记录进行排序;根据所述排序选取作为待整合交易记录的所述非限度交易记录。所述资金为所述非限度交易记录包含的资金。
[0326] 作为一个实施例,所述排序可以为按照资金从大到小排序;
[0327] 所述确定单元1102在选取所述非限度交易记录时,可以用于:按照资金从大到小选取作为待整合交易记录的所述非限度交易记录。
[0328] 作为一个实施例,所述确定单元1102在选取所述非限度交易记录时,可以用于:
[0329] 根据所述排序顺序选取作为待整合交易记录的所述非限度交易记录,或[0330] 根据所述排序跳跃选取作为待整合交易记录的所述非限度交易记录。
[0331] 作为一个实施例,在按照资金对所述非限度交易记录进行排序时,也可以按照资金从小到大进行排序;相应的选取所述非限度交易记录的方式可以为:按照资金从小到大选取作为待整合交易记录的所述非限度交易记录。
[0332] 作为一个实施例,也可以不对所述非限度交易记录进行排序,相应的选取所述非限度交易记录的方式可以为:随机选取作为待整合交易记录的所述非限度交易记录。
[0333] 作为一个实施例,在采用如图18所示设置的情况下,还可以采用前述的如图17所示的设置,例如:
[0334] 所述确定单元1102按照资金,对所述可用交易记录进行排序,其中,所述资金为所述可用交易记录包含的资金;根据所述排序在所述可用交易记录中选取所述限度交易记录。
[0335] 作为一个实施例,所述排序可以为按照资金从大到小排序;
[0336] 所述确定单元1102在选取所述限度交易记录时,可以用于:按照资金从大到小在所述可用交易记录中选取所述限度交易记录。
[0337] 作为一个实施例,所述确定单元1102在选取所述限度交易记录时,可以用于:
[0338] 根据所述排序在所述可用交易记录中顺序选取所述限度交易记录,或[0339] 根据所述排序在所述可用交易记录中跳跃选取所述限度交易记录。
[0340] 作为一个实施例,所述限度交易记录的数量可以等于所述交易记录理论限度。
[0341] 作为一个实施例,所述限度交易记录的数量也可以小于所述交易记录理论限度。
[0342] 作为一个实施例,由于所述交易记录理论限度只是一个理论值,有可能与实际操作中的交易记录实际限度存在差异,因此所述限度交易记录的数量也可以略微大于所述交易记录理论限度,例如:所述限度交易记录的数量比所述交易记录理论限度大一定比例,例如:5%之内、10%之内或5%至10%之内等。
[0343] 作为一个实施例,在按照资金对所述可用交易记录进行排序时,也可以按照资金从小到大进行排序;相应的选取所述限度交易记录的方式可以为:按照资金从小到大在所述可用交易记录中选取所述限度交易记录。
[0344] 作为一个实施例,也可以不对所述可用交易记录进行排序,相应的选取所述限度交易记录的方式可以为:在所述可用交易记录中随机选取所述限度交易记录。
[0345] 作为一个实施例,在采用如图16所示设置的情况下,还可以采用如图18、19所示的设置,例如:
[0346] 所述确定单元1102在所述可用交易记录中,合并不超过交易可接受的理论最大交易记录数量的限度交易记录中的资金得到限度资金,得到所述限度资金与待交易资金的差值;在所述可用交易记录中除所述限度交易记录以外的非限度交易记录中,将合并后的总资金满足所述差值的非限度交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。
[0347] 作为一个实施例,可以用所述待交易资金减去所述限度资金以得到所述差值。
[0348] 作为一个实施例,可以合并一定数量的非限度交易记录中的资金以得到合并后的总资金,并在合并后的总资金大于或等于所述差值时,将合并了资金的所述非限度交易记录作为待整合交易记录。
[0349] 作为一个实施例,交易可接受的理论最大交易记录数量通常在一定范围内,例如:600至650,或550至600等。通常,也可以将交易可接受的理论最大交易记录数量设置为一个特定值,例如:600。
[0350] 作为一个实施例,所述确定单元1102在进行非限度交易记录的选取时,可以用于:按照资金,对所述非限度交易记录进行排序,其中,所述资金为所述非限度交易记录包含的资金;;根据所述排序选取作为待整合交易记录的所述非限度交易记录。
[0351] 作为一个实施例,所述排序可以为按照资金从大到小排序;
[0352] 所述确定单元1102在选取所述非限度交易记录时,可以用于:按照资金从大到小选取作为待整合交易记录的所述非限度交易记录。
[0353] 作为一个实施例,所述确定单元1102在选取所述非限度交易记录时,可以用于:
[0354] 根据所述排序顺序选取作为待整合交易记录的所述非限度交易记录,或[0355] 根据所述排序跳跃选取作为待整合交易记录的所述非限度交易记录。
[0356] 作为一个实施例,在按照资金对所述非限度交易记录进行排序时,也可以按照资金从小到大进行排序;相应的选取所述非限度交易记录的方式可以为:按照资金从小到大选取作为待整合交易记录的所述非限度交易记录。
[0357] 作为一个实施例,也可以不对所述非限度交易记录进行排序,相应的选取所述非限度交易记录的方式可以为:随机选取作为待整合交易记录的所述非限度交易记录。
[0358] 作为一个实施例,所述可用交易记录整合模块110在确定待整合交易记录时,可以用于:
[0359] 获取所述用户的可用交易记录;在所述可用交易记录中,合并不超过交易可接受的理论最大交易记录数量的限度交易记录得到一个临时交易记录;其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度;
[0360] 基于所述临时交易记录以及在所述可用交易记录中除所述限度交易记录以外的非限度交易记录,选择满足待交易资金并且不超过所述交易记录理论限度的交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。
[0361] 参见图20,所述可用交易记录整合模块110可以包括:获取单元1101、确定单元1102;其中
[0362] 获取单元1101,可以用于获取用户的可用交易记录;
[0363] 例如:调用所述用户的钱包客户端中的listunspent接口以获取所述用户的可用交易记录。
[0364] 作为一个实施例,获取到的所述用户的可用交易记录可以包括以下至少之一:
[0365] 未确认的可用交易记录;
[0366] 已确认的可用交易记录。
[0367] 确定单元1102,可以用于在所述可用交易记录中,合并不超过交易可接受的理论最大交易记录数量的限度交易记录得到一个临时交易记录;其中,所述交易可接受的理论最大交易记录数量作为交易记录理论限度;以及
[0368] 基于所述临时交易记录以及在所述可用交易记录中除所述限度交易记录以外的非限度交易记录,选择满足待交易资金并且不超过所述交易记录理论限度的交易记录作为用于得到所述用户的一个已整合交易记录的待整合交易记录。
[0369] 例如:使用二次遍历随机法选择所述待整合交易记录,可以包括:
[0370] 在包括所述临时交易记录以及非限度交易记录的所有交易记录中,对所有交易记录进行第一次遍历来挑选交易记录;
[0371] 如果第一次遍历所挑选出的交易记录满足所述待交易资金并且不超过所述交易记录理论限度,则将第一次遍历所挑选出的交易记录作为所述待整合交易记录;
[0372] 如果第一次遍历所挑选出的交易记录未满足所述待交易资金,则对第一次遍历未挑选出的交易记录进行第二次遍历来挑选交易记录;
[0373] 如果两次遍历所挑选出的交易记录满足所述待交易资金并且不超过所述交易记录理论限度,则将两次遍历所挑选出的交易记录作为所述待整合交易记录。
[0374] 作为一个实施例,在进行所述第一次遍历时,可以对所有交易记录按资金降序排列,并从包含资金最大的交易记录开始遍历。第一次遍历时可以采用真假(true or false)随机方式来挑选交易记录。
[0375] 作为一个实施例,所述二次遍历随机法可以执行多次,例如1000次,以挑选出满足所述待交易资金并且不超过所述交易记录理论限度的交易记录作为所述待整合交易记录。
[0376] 作为一个实施例,通过执行多次二次遍历随机法,可以确定待整合交易记录数量最少的方案。
[0377] 作为一个实施例,不限制所述用户的所有可用交易记录与所述交易记录理论限度之间的数量关系。
[0378] 作为一个实施例,所述用户的所有可用交易记录与所述交易记录理论限度之间也可以存在数量关系,例如:所述用户的所有可用交易记录的数量大于等于所述交易记录理论限度的两倍。
[0379] 作为一个实施例,交易可接受的理论最大交易记录数量通常在一定范围内,例如:600至650,或550至600等。通常,也可以将交易可接受的理论最大交易记录数量设置为一个特定值,例如:600。
[0380] 作为一个实施例,在采用如图20所示设置的情况下,还可以采用如图17所示的设置,例如:
[0381] 所述确定单元1102按照资金,对所述可用交易记录进行排序,其中,所述资金为所述可用交易记录包含的资金;根据所述排序在所述可用交易记录中选取所述限度交易记录。
[0382] 作为一个实施例,所述排序可以为按照资金从小到大排序;
[0383] 所述确定单元1102在选取所述限度交易记录时,可以用于:按照资金从小到大在所述可用交易记录中选取所述限度交易记录。
[0384] 作为一个实施例,所述确定单元1102在选取所述限度交易记录时,可以用于:
[0385] 根据所述排序在所述可用交易记录中顺序选取所述限度交易记录,或[0386] 根据所述排序在所述可用交易记录中跳跃选取所述限度交易记录。
[0387] 作为一个实施例,所述限度交易记录的初始数量可以大于1。
[0388] 作为一个实施例,在按照资金对所述可用交易记录进行排序时,也可以按照资金从大到小进行排序;相应的选取所述限度交易记录的方式可以为:按照资金从大到小在所述可用交易记录中选取所述限度交易记录。
[0389] 作为一个实施例,也可以不对所述可用交易记录进行排序,相应的选取所述限度交易记录的方式可以为:在所述可用交易记录中随机选取所述限度交易记录。
[0390] 参见图21,所述确定单元1102在得到所述临时交易记录时,可以用于:
[0391] 合并所述限度交易记录中的资金,得到已合并资金,将所述已合并资金包含于新生成的所述临时交易记录中。
[0392] 作为一个实施例,所述临时交易记录是额外生成的交易记录;可以预先生成并预留,也可以新生成。
[0393] 上述的涉及所述临时交易记录的操作,能够在得到所述已整合交易记录之前合并一定数量的交易记录中的资金得到所述已合并资金并临时性地生成一个包含所述已合并资金的交易记录,即:所述临时交易记录。
[0394] 参见图22,所述确定单元1102,还可以用于:
[0395] 选择的交易记录超过所述交易记录理论限度时,增加合并的所述限度交易记录的数量并返回进行所述选择。
[0396] 作为一个实施例,由于所述交易记录理论限度只是一个理论值,有可能与实际操作中的交易记录实际限度存在差异,因此选择的所述交易记录的数量也可以略微大于所述交易记录理论限度,例如:选择的所述交易记录的数量比所述交易记录理论限度大一定比例,例如:5%之内、10%之内或5%至10%之内等。
[0397] 作为一个实施例,所述确定单元1102在增加合并的所述限度交易记录的数量时,可以用于:将合并的所述限度交易记录的数量加1。
[0398] 作为一个实施例,增加合并的所述限度交易记录的数量时,也可以将合并的所述限度交易记录的数量加2或3等除1以外的其它数量。
[0399] 作为一个实施例,所述确定单元1102,还可以用于:
[0400] 利用所述临时交易记录、非限度交易记录更新所述可用交易记录。
[0401] 例如,将所述临时交易记录、非限度交易记录组成一个集合,将该集合中的交易记录作为所述可用交易记录。
[0402] 作为一个实施例,所述已整合交易记录生成模块120,可以用于:根据所述已整合资金,构建包括所述已整合交易记录的交易。
[0403] 参见图23,所述已整合交易记录生成模块120可以包括构建单元1201,所述构建单元1201在构建所述交易时,可以用于:将所述待整合交易记录作为交易输入,将所述已整合交易记录作为交易输出并在所述已整合交易记录中携带所述已整合资金,生成包含所述交易输入、交易输出的数据格式作为所述交易。
[0404] 例如:调用所述用户的钱包客户端中的createrawtransaction接口以构建所述交易。
[0405] 作为一个实施例,所述数据格式可以包括字符串。所述字符串可以为16进制。
[0406] 参见图24,所述已整合交易记录生成模块120,还可以用于:
[0407] 生成所述已整合资金所指向的地址;例如:调用所述用户的钱包客户端中的getnewaddress接口以获取所述地址;
[0408] 将该地址携带于所述交易输出中。
[0409] 作为一个实施例,所述已整合交易记录生成模块120,还可以用于:对所述交易进行签名。
[0410] 例如:调用所述用户的钱包客户端中的signrawtransaction接口以对所述交易进行签名;所述签名可以是私钥签名等。
[0411] 作为一个实施例,所述已整合交易记录生成模块120,还可以用于:发送签名后的所述交易。
[0412] 例如:调用所述用户的钱包客户端中的sendrawtransaction接口以将所述交易发送到本地节点和连接的网络(如区块链网络)中。
[0413] 作为一个实施例,所述已整合交易记录生成模块120,还可以用于:在发送签名后的所述交易之前对所述交易进行交易校验。
[0414] 例如:调用所述用户的钱包客户端中的decoderawtransaction接口以对签名后的所述交易进行解码,并基于解码后得到的交易信息(可以包括所述已整合资金、交易输入、交易输出等,还可以包括下述的交易费)进行交易校验。
[0415] 参见图25,所述可用交易记录整合模块110,还可以用于进行更新已整合资金的操作,例如:基于所述已整合交易记录生成模块120要构建的所述交易生成所述交易对应的交易费,根据所述交易费更新所述已整合资金。
[0416] 作为一个实施例,可以基于签名后的所述交易,调用所述用户的钱包客户端中的estimatefee接口以得到所述交易费。
[0417] 作为一个实施例,根据所述交易费更新所述已整合资金时,可以使用所述已整合资金减去所述交易费得到资金差值,并使用所述资金差值更新所述已整合交易记录中携带的所述已整合资金。
[0418] 作为一个实施例,使用所述资金差值更新所述已整合资金时,可以直接用所述资金差值作为新的已整合资金的值。
[0419] 作为一个实施例,还可以将所述交易费携带于所述已整合交易记录中。
[0420] 作为一个实施例,所述可用交易记录整合模块110,还可以用于:在进行所述整合之前,被发生的交易过大异常所触发。
[0421] 作为一个实施例,所述可用交易记录整合模块110,还可以用于确定整合结果的有效性,例如:根据用于避免资金不足的预留值,确定所述整合的结果的有效性。
[0422] 参见图26,所述可用交易记录整合模块110在确定所述整合的结果的有效性时,可以用于:为所述整合的结果添加所述预留值,得到参考资金;在所述参考资金超过资金限额时确定所述整合的结果无效。
[0423] 作为一个实施例,所述可用交易记录整合模块110,还可以用于:确定所述整合的结果无效时,返回进行所述整合。
[0424] 作为一个实施例,所述资金限额通常不超过所述用户的总资金。
[0425] 作为一个实施例,所述资金限额可以小于所述用户的总资金。例如:所述资金限额等于所述总资金的80%或90%或其它比例。
[0426] 作为一个实施例,所述资金限额可以等于所述用户的总资金。
[0427] 作为一个实施例,所述预留值可以是预定值,该预定值可以是自定义的,例如:所述预留值等于所述待交易资金的10%或其它比例。
[0428] 通过上述涉及预留值的相关操作,可以避免根据所述整合的结果构建的交易因所需资金超过所述总资金而发生资金不足的情况。
[0429] 作为一个实施例,所述可用交易记录整合模块110,还可以用于:锁定所述待整合交易记录。
[0430] 例如:调用所述用户的钱包客户端中的lockunspent接口以锁定所述待整合交易记录,这样可以防止所述待整合交易记录被用于其它交易。
[0431] 作为一个实施例,所述可用交易记录整合模块110,还可以用于:在所述已整合交易记录生成模块120得到所述已整合交易记录之后,解锁所述待整合交易记录。
[0432] 例如:调用所述用户的钱包客户端中的listlockunspent接口以获得被锁定的所述待整合交易记录;之后调用所述用户的钱包客户端中的lockunspent接口以将被锁定的所述待整合交易记录解锁。
[0433] 作为一个实施例,所述获取单元1101可以用于:获取所述用户的所有可用交易记录。
[0434] 作为一个实施例,所述待整合交易记录可以包括以下至少之一:
[0435] 未确认的交易记录;
[0436] 已确认的交易记录。
[0437] 作为一个实施例,所述交易记录可以为UTXO。
[0438] 由以上描述可见,本公开实施例所提供的支持数字货币交易的装置,能够对用户的可用交易记录进行整合,根据所述整合的结果得到所述用户的一个已整合交易记录,因此能够有效减少所述用户的可用交易记录数量。
[0439] 这样,在后续需要构建交易时,构建的交易中不会包含超过容量上限的可用交易记录,保证了交易的顺利完成。
[0440] 另外,所述用户的可用交易记录数量的有效减少,使得在后续需要构建交易时,构建的交易中包含的可用交易记录也能有效减少,因此能够有效降低交易费。
[0441] 由以上描述可见,本公开实施例所提供的实现交易记录整合的装置(参见图16至图22及相关描述)能够在用户的可用交易记录中有效确定待整合交易记录,因此能够根据确定的待整合交易记录进行整合以得到所述用户的一个已整合交易记录,因此能够有效减少所述用户的可用交易记录数量。
[0442] 这样,在后续需要构建交易时,构建的交易中不会包含超过容量上限的可用交易记录,保证了交易的顺利完成。
[0443] 另外,所述用户的可用交易记录数量的有效减少,使得在后续需要构建交易时,构建的交易中包含的可用交易记录也能有效减少,因此能够有效降低交易费。
[0444] 本公开实施例还提供了一种数字货币客户端,包含上述实施例的支持数字货币交易的装置。
[0445] 基于上述描述可以理解地,所述数字货币客户端也可以包含上述实施例的实现数字货币交易记录整合的装置。
[0446] 本公开实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述实施例的支持数字货币交易的方法。
[0447] 基于上述描述可以理解地,所述计算机可读存储介质中,所述计算机可执行指令也可以设置为执行上述实施例的实现数字货币交易记录整合的方法。
[0448] 本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述实施例的支持数字货币交易的方法。
[0449] 基于上述描述可以理解地,所述计算机程序产品中,所述程序指令也可以使所述计算机执行上述实施例的实现数字货币交易记录整合的方法。
[0450] 上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
[0451] 本公开实施例还提供了一种电子设备,包括:
[0452] 至少一个处理器;以及
[0453] 与所述至少一个处理器通信连接的存储器;其中,
[0454] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行上述实施例的支持数字货币交易的方法。
[0455] 所述电子设备可以如图27所示,图27中的电子设备2700的结构可以包括:
[0456] 至少一个处理器(processor)2701,图27中以一个处理器2701为例;和存储器(memory)2702,还可以包括通信接口(Communication Interface)2703和总线2704。其中,处理器2701、通信接口2703、存储器2702可以通过总线2704完成相互间的通信。通信接口2703可以用于信息传输。处理器2701可以调用存储器2702中的逻辑指令,以执行上述实施例的支持数字货币交易的方法。
[0457] 此外,上述的存储器2702中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0458] 存储器2702作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块/单元。处理器2701通过运行存储在存储器2702中的软件程序、指令以及模块、单元,从而执行功能应用以及数据处理,即实现上述方法实施例中的支持数字货币交易的方法。
[0459] 存储器2702可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器2702可以包括高速随机存取存储器,还可以包括非易失性存储器。
[0460] 基于上述描述可以理解地,所述电子设备中,所述指令也可以使所述至少一个处理器执行上述实施例的实现数字货币交易记录整合的方法。
[0461] 本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
[0462] 当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各元件,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一个元件区别开。比如,在不改变描述的含义的情况下,第一元件可以叫做第二元件,并且同样第,第二元件可以叫做第一元件,只要所有出现的“第一元件”一致重命名并且所有出现的“第二元件”一致重命名即可。第一元件和第二元件都是元件,但可以不是相同的元件。
[0463] 本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。
[0464] 所描述的实施例中的各方面、实施方式、实现或特征能够单独使用或以任意组合的方式使用。所描述的实施例中的各方面可由软件、硬件或软硬件的结合实现。所描述的实施例也可以由存储有计算机可读代码的计算机可读介质体现,该计算机可读代码包括可由至少一个计算装置执行的指令。所述计算机可读介质可与任何能够存储数据的数据存储装置相关联,该数据可由计算机系统读取。用于举例的计算机可读介质可以包括只读存储器、随机存取存储器、CD-ROM、HDD、DVD、磁带以及光数据存储装置等。所述计算机可读介质还可以分布于通过网络联接的计算机系统中,这样计算机可读代码就可以分布式存储并执行。
[0465] 上述技术描述可参照附图,这些附图形成了本申请的一部分,并且通过描述在附图中示出了依照所描述的实施例的实施方式。虽然这些实施例描述的足够详细以使本领域技术人员能够实现这些实施例,但这些实施例是非限制性的;这样就可以使用其它的实施例,并且在不脱离所描述的实施例的范围的情况下还可以做出变化。比如,流程图中所描述的操作顺序是非限制性的,因此在流程图中阐释并且根据流程图描述的两个或两个以上操作的顺序可以根据若干实施例进行改变。作为另一个例子,在若干实施例中,在流程图中阐释并且根据流程图描述的一个或一个以上操作是可选的,或是可删除的。另外,某些步骤或功能可以添加到所公开的实施例中,或两个以上的步骤顺序被置换。所有这些变化被认为包含在所公开的实施例以及权利要求中。
[0466] 另外,上述技术描述中使用术语以提供所描述的实施例的透彻理解。然而,并不需要过于详细的细节以实现所描述的实施例。因此,实施例的上述描述是为了阐释和描述而呈现的。上述描述中所呈现的实施例以及根据这些实施例所公开的例子是单独提供的,以添加上下文并有助于理解所描述的实施例。上述说明书不用于做到无遗漏或将所描述的实施例限制到本公开的精确形式。根据上述教导,若干修改、选择适用以及变化是可行的。在某些情况下,没有详细描述为人所熟知的处理步骤以避免不必要地影响所描述的实施例。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用