CN110597839A - 交易数据处理方法、装置、设备以及存储介质 - Google Patents
交易数据处理方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN110597839A CN110597839A CN201910895273.XA CN201910895273A CN110597839A CN 110597839 A CN110597839 A CN 110597839A CN 201910895273 A CN201910895273 A CN 201910895273A CN 110597839 A CN110597839 A CN 110597839A
- Authority
- CN
- China
- Prior art keywords
- transaction data
- transaction
- data
- pool
- invalid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000012790 confirmation Methods 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012795 verification Methods 0.000 claims abstract description 30
- 238000004806 packaging method and process Methods 0.000 claims abstract description 13
- 238000012546 transfer Methods 0.000 claims description 40
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Abstract
本申请实施例公开了一种交易数据处理方法、装置、设备以及存储介质,该方法包括:从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合,基于交易数据集合中各个交易数据的交易提交方的账户状态对交易数据集合中各个交易数据进行有效性验证;当交易数据集合中各个交易数据为有效交易数据时,将交易数据集合中的各个交易打包至新区块;将新区块发送至区块链网络中的共识节点,以使共识节点对新区块进行验证并在验证通过后生成签名确认消息;接收签名确认消息并当签名确认消息满足预设共识策略时,将新区块加入区块链网络。采用本申请实施例,可减少交易池中的无效交易数据,可提升交易数据处理效率,适用性高。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种交易数据处理方法、装置、设备以及存储介质。
背景技术
区块链技术因其具备的去中心化、信息不可篡改性等特点,越来越受到众多企业的青睐,尤其是运用区块链技术实现多方参与的交易事件(例如,转账交易、支付交易等事件)越来越成为人们关注的焦点。然而,区块链网络中每个节点对应的交易池中往往存储有大量交易数据,其中相当数量的无效交易数据不仅会浪费区块链资源,也会降低区块链网络处理交易数据的效率。
综上所述,如何提升有效交易数据的处理率成为一种亟待解决的技术问题。
申请内容
本申请实施例提供一种交易数据处理方法、装置、设备以及存储介质,可减少交易池中的无效交易数据,可提升交易数据处理效率,适用性高。
本申请实施例提供一种交易数据处理方法,该方法包括:
从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合,基于所述交易数据集合中各个交易数据的交易提交方的账户状态对所述交易数据集合中各个交易数据进行有效性验证;
当所述交易数据集合中各个交易数据为有效交易数据时,将所述交易数据集合中的各个交易打包至新区块;
将所述新区块发送至区块链网络中的共识节点,以使所述共识节点对所述新区块进行验证并在验证通过后生成签名确认消息;
接收所述签名确认消息并当所述签名确认消息满足预设共识策略时,将所述新区块加入所述区块链网络。
其中,所述方法还包括:
当所述交易数据集合中存在无效交易数据时,从所述交易数据集合中删除所述无效交易数据;
将删除所述无效交易数据后的交易数据集合中的各个交易数据打包至所述新区块;和/或,
从所述交易池中选取至少一个交易数据添加至所述删除所述无效交易数据后的交易数据集合以得到新的交易数据集合,并对所述新的交易数据集合中的各个交易数据进行有效性验证。
其中,所述交易数据包括转移数据量,所述账户状态包括账户数据量;
所述基于所述交易数据集合中各个交易数据的交易提交方的账户状态对所述交易数据集合中各个交易数据进行有效性验证包括:
确定所述交易数据集合中各个交易数据的交易提交方的账户数据量;
将所述交易数据集合中各个交易数据的转移数据量和相对应的交易提交方的账户数据量进行比较,将所述交易数据集合中转移数据量不大于相对应的交易提交方的账户数据量的交易数据确定为有效交易数据;
将所述交易数据集合中转移数据量大于相对应的交易提交方的账户数据量的交易数据确定为无效交易数据。
其中,所述方法还包括:
从所述交易池中确定出目标交易数据,并将所述目标交易数据与所述区块链网络中各个区块所存储的交易数据进行周期性比较;
若所述各个区块所存储的交易数据存在与所述目标交易数据相同的交易数据,则将所述目标交易数据确定为无效交易数据,并从所述交易池中删除所述目标交易数据。
其中,所述方法还包括:
从所述交易池中确定出目标交易数据,并获取所述目标交易数据的数字签名;
基于所述目标交易数据的交易提交方的公钥对所述目标交易数据的数字签名进行解密,得到所述目标交易数据的第一摘要信息;
对所述目标交易数据进行哈希计算,得到所述目标交易数据的第二摘要信息;
若所述第一摘要信息和所述第二摘要信息不一致,则将所述目标交易数据确定为无效交易数据,并从所述交易池中删除所述目标交易数据。
其中,所述从所述交易池中确定出目标交易数据包括:
确定所述交易池中各个交易提交方的历史交易数据个数和所述历史交易数据个数中无效交易数据的个数;
基于所述历史交易数据的个数和所述无效交易数据的个数确定出每一交易提交方的无效交易数据占比,并基于所述无效交易数据占比确定所述每一交易提交方的置信度;
从所述交易池中确定出置信度低于预设置信度的交易提交方的交易数据,并将所述置信度低于预设置信度的交易提交方的交易数据确定为目标交易数据。
其中,所述交易数据包括交易等待时间;
所述方法还包括:
对所述交易池中各个交易数据的交易等待时间进行周期性检测;
将所述交易池中交易等待时间大于预设交易等待时间的交易数据确定为无效交易数据,并从所述交易池中删除所述无效交易数据。
其中,所述从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合之后,所述方法还包括:
获取所述交易数据集合中各个交易数据的数据标识,并将各个数据标识发送至所述区块链网络中的其他节点,以使所述区块链网络中的其他节点从相对应的交易池中确定并删除具有与所述各个数据标识中相同数据标识的交易数据。
本申请实施例提供一种交易数据处理装置,该装置包括:
验证模块,用于从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合,基于所述交易数据集合中各个交易数据的交易提交方的账户状态对所述交易数据集合中各个交易数据进行有效性验证;
第一处理模块,用于当所述交易数据集合中各个交易数据为有效交易数据时,将所述交易数据集合中的各个交易打包至新区块;
第二处理模块,用于将所述新区块发送至区块链网络中的共识节点,以使所述共识节点对所述新区块进行验证并在验证通过后生成签名确认消息;
所述第二处理模块,用于接收所述签名确认消息并当所述签名确认消息满足预设共识策略时,将所述新区块加入所述区块链网络。
其中,所述装置还包括:
第一删除模块,用于当所述交易数据集合中存在无效交易数据时,从所述交易数据集合中删除所述无效交易数据;
第三处理模块,用于将删除所述无效交易数据后的交易数据集合中的各个交易数据打包至所述新区块;和/或,
从所述交易池中选取至少一个交易数据添加至所述删除所述无效交易数据后的交易数据集合以得到新的交易数据集合,并对所述新的交易数据集合中的各个交易数据进行有效性验证。
其中,所述交易数据包括转移数据量,所述账户状态包括账户数据量;
所述验证模块包括:
第一确定单元,用于确定所述交易数据集合中各个交易数据的交易提交方的账户数据量;
第二确定单元,用于将所述交易数据集合中各个交易数据的转移数据量和相对应的交易提交方的账户数据量进行比较,将所述交易数据集合中转移数据量不大于相对应的交易提交方的账户数据量的交易数据确定为有效交易数据;
第三确定单元,用于将所述交易数据集合中转移数据量大于相对应的交易提交方的账户数据量的交易数据确定为无效交易数据。
其中,所述装置还包括:
比较模块,用于从所述交易池中确定出目标交易数据,并将所述目标交易数据与所述区块链网络中各个区块所存储的交易数据进行周期性比较;
第四处理模块,用于若所述各个区块所存储的交易数据存在与所述目标交易数据相同的交易数据,则将所述目标交易数据确定为无效交易数据,并从所述交易池中删除所述目标交易数据。
其中,所述装置还包括:
签名获取模块,用于从所述交易池中确定出目标交易数据,并获取所述目标交易数据的数字签名;
解密模块,用于基于所述目标交易数据的交易提交方的公钥对所述目标交易数据的数字签名进行解密,得到所述目标交易数据的第一摘要信息;
摘要信息确定模块,用于对所述目标交易数据进行哈希计算,得到所述目标交易数据的第二摘要信息;
判断模块,用于若所述第一摘要信息和所述第二摘要信息不一致,则将所述目标交易数据确定为无效交易数据,并从所述交易池中删除所述目标交易数据。
其中,所述比较模块包括:
数量确定单元,用于确定所述交易池中各个交易提交方的历史交易数据个数和所述历史交易数据个数中无效交易数据的个数;
置信度确定单元,用于基于所述历史交易数据的个数和所述无效交易数据的个数确定出每一交易提交方的无效交易数据占比,并基于所述无效交易数据占比确定所述每一交易提交方的置信度;
第四确定单元,用于从所述交易池中确定出置信度低于预设置信度的交易提交方的交易数据,并将所述置信度低于预设置信度的交易提交方的交易数据确定为目标交易数据。
其中,所述交易数据包括交易等待时间;
所述装置还包括:
检测模块,用于对所述交易池中各个交易数据的交易等待时间进行周期性检测;
第二删除模块,用于将所述交易池中交易等待时间大于预设交易等待时间的交易数据确定为无效交易数据,并从所述交易池中删除所述无效交易数据。
其中,所述装置还包括:
第五处理模块,用于获取所述交易数据集合中各个交易数据的数据标识,并将各个数据标识发送至所述区块链网络中的其他节点,以使所述区块链网络中的其他节点从相对应的交易池中确定并删除具有与所述各个数据标识中相同数据标识的交易数据。
本申请实施例提供了一种设备,该设备包括处理器和存储器,该处理器和存储器相互连接。该存储器用于存储支持该终端设备执行上述第一方面和/或第一方面任一种可能的实现方式提供的方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用上述程序指令,执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
在本申请实施例中,通过在将从交易池中选取的交易数据打包至新区块之前,对选取出的交易数据进行有效性验证,可有效减少新区块中无效交易的数量,提升区块链网络的区块资源利用率。同时在得到新区块之后通过区块链网络中共识节点对新区块进行验证,可减少区块链网络中的各个区块中无效交易的数量,提升交易数据处理效率。与此同时,基于交易池中的交易数据交易等待时间以及数字签名对交易池中的交易数据进行周期性检测,以及时确定并删除交易池中的无效交易数据,进而达到节约交易池资源、提升交易数据处理效率的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的交易数据处理方法的原理示意图;
图2是本申请实施例提供的交易数据处理方法的一流程示意图;
图3是本申请实施例提供的交易数据处理方法的另一流程示意图;
图4是本申请实施例提供的确定无效交易数据的一场景示意图;
图5是本申请实施例提供的确定无效交易数据的另一场景示意图;
图6是本申请实施例提供的确定无效交易数据的又一场景示意图;
图7是本申请实施例提供的交易数据处理装置的结构示意图;
图8是本申请实施例提供的设备的结构示意图;
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的交易数据处理方法(为方便描述,可简称本申请实施例提供的方法)可适用于各个基于区块链网络的交易数据处理系统。请参见图1,图1是本申请实施例提供的交易数据处理方法的原理示意图。在图1中,节点10a、节点10b、节点10c、节点10d以及节点10e分别为区块链网络20中的部分节点。在区块链网络20中,这些节点之间可以进行全连接。比如,图1所示的节点10a与节点10b之间的网络连接方式则可以称之为全连接,即可以将能够在一跳之内连接到的网络连接方式称之为全连接。可选的,区块链网络20中的节点之间还可以通过物理网络进行连接(例如,虚拟网卡),即无法在一跳之内连接到的网络连接方式可以称之为通过物理网络进行物理网络连接。其中,区块链网络中任一节点可从其对应的交易池中选取部分交易数据打包成区块,以将交易数据写入区块链网络20。以节点10a为例,在从节点10a对应的交易池30中选取部分交易数据之后可得到一个交易数据集合40,该交易数据集合40中的各个交易数据为将要写入区块链网络20的交易数据。在得到交易数据集合40之后,可对交易数据集合中各个交易数据进行验证,并在交易数据集合40中各个交易数据均为有效交易数据时,将交易数据集合40中所有交易数据打包至新区块50。此时节点10a会将新区块50发送至区块链网络20中的共识节点(如节点10b、节点10d以及节点10e),以使共识节点对新区块50完成在区块链网络20上的共识。其中,可以理解的是,在不同的区块链网络中,可对共识节点的节点范围做进一步限定,例如在企业内部的区块链网络(例如,私有区块链网络)上,可以区块链网络中合约层的上的合约节点确定为共识节点,具体可根据实际应用场景确定,在此不做限制。
当节点10b、节点10d以及节点10e接收到节点10a发送的新区块50之后,节点10b节点10d以及节点10e可对接收到的新区块50进行验证,并在验证通过后生成签名确认消息。节点10a可接收共识节点发送的签名确认消息并在接收到的签名确认消息满足预设共识策略时,可说明区块链网络20中的共识节点达成了共识,此时节点10a将新区块50连接在当前区块链网络20的主链60之后。若在节点10a接收到的签名确认消息不满足预设共识策略时,可说明共识节点并没有达成共识,此时节点10a不能将新区块50连接在当前区块链网络20的主链60之后。应当理解,由于区块链网络20中的各个共识节点之间可以通过物理网络进行通讯,所以,在节点10a将新区块50连接在当前区块链网络20的主链60之后,各个共识节点(节点10b节点10d以及节点10e)可以将该新区块50进行同步,以使各个共识节点更新其对应的交易池中的交易数据。
应当理解,上述预设共识策略包括但不限于工作量证明机制(Proof of Work,PoW)、权益证明机制(Proof of Stake,PoS)、股份授权证明机制(Delegated Proof ofStake,DPoS)实用拜占庭机制(Practical Byzantine Fault Tolerance,PBFT)以及Ripple共识算法等,具体可基于实际应用场景确定,在此不做限制。此外,任何人、任何企业都可以架设服务器以加入区块链网络成为一个节点。所以,区块链网络可以理解为一个可以在多个站点、不同地理位置或者多个机构组成的区块链网络里进行数据处理、分享的数据库。
参见图2,图2是本申请实施例提供的交易数据处理方法的一流程示意图。如图2所示,本申请实施例提供的交易数据处理方法可包括如下步骤S101至S104。
S101、从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合,基于交易数据集合中各个交易数据的交易提交方的账户状态对交易数据集合中各个交易数据进行有效性验证。
在一些可行的实施方式中,当任一节点需要将交易池中的交易数据打包至新区块时,可先从交易池中的交易数据中选取至少一个交易数据以得到一个交易数据集合,为了确保打包至新区块的交易数据均为有效数据,此时可基于交易数据集合中各个交易数据的交易提交方的账户状态对交易数据集合中各个交易数据进行有效性验证。具体的,可确定交易数据集合中各个交易数据的交易提交方的账户数据量以及交易数据集合中各个交易数据的转移数据量,将交易数据集合中各个交易数据的转移数据量和相对应的交易提交方的账户数据量进行比较,将交易数据集合中转移数据量不大于相对应的交易提交方的账户数据量的交易数据确定为有效交易数据。也就是说,当某一交易数据的转移数据量不大于相对应的交易提交方的账户数据量时,该交易数据对应的交易提交方可支持向数据接收方转移与转移数据量相同的数据。例如,当交易数据集合中存在“用户A向用户B转账100元”的交易数据,此时可确定用户A的账户余额。当用户A的账户余额为500元时,说明用户A可以向用户B转账100元,此时可确定“用户A向用户B转账100元”的交易数据为有效交易数据。当某一交易数据的转移数据量大于相对应的交易提交方的账户数据量的交易数据确定为无效交易数据,也就是说,当某一交易数据的转移数据量大于相对应的交易提交方的账户数据量时,该交易数据对应的交易提交方并不能向数据接收方转移足够数据量的数据。以上述“用户A向用户B转账100元”的交易数据为例,当用户A的账户余额为10元时,用户A的账户余额无法支持其向用户转账100元,此时可确定“用户A向用户B转账100元”的交易数据为无效交易数据。
在一些可行的实施方式中,若对交易数据集合中各个交易数据进行验证时,交易数据集合中存在无效交易数据,此时可从交易数据集合中删除无效交易以避免将该无效交易数据打包至新区块。在从交易数据集合中删除无效交易数据之后,可将删除无效交易数据后的交易数据集合中的各个交易数据打包至新区块。或者,为了避免区块资源的浪费,也可从交易池中再次选取一个或者多个交易数据添加至删除无效交易数据后的交易数据集合,得到新的交易数据集合,由于在选取新的交易数据的过程中原交易数据集合中的交易数据可能由有效交易数据变为无效交易数据,因此此时需要再次对新的交易数据集合中的各个交易数据再次进行有效性验证,具体验证过程在此不再赘述。可选的,在从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合之后,可获取交易数据结合中各个交易数据的数据标识,并将各个数据标识发送至区块链网络中的其他节点,以使区块链网络中的其他节点从相对应的交易池中确定并删除具有与各个数据标识中相同数据标识的交易数据,从而减少区块链网络中其他节点对应的交易池中的无效数据的数量。
S102、当所述交易数据集合中各个交易数据为有效交易数据时,将交易数据集合中的各个交易打包至新区块。
在一些可行的实施方式中,区块链由多个区块组成,每一区块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;每一区块以上一区块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。当交易数据集合中各个交易数据为有效交易数据时,可基于交易数据集合中的各个交易数据得到新区块的默克尔树根的哈希值;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为新区块的父区块的区块头特征值;merkle root为输入信息特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到新区块。
其中,输入信息特征值可基于交易数据集合中的各个交易数据计算得到。具体的,假设交易数据集合中包含有交易数据1、交易数据2、交易数据3和交易数据4,并且交易数据1、交易数据2、交易数据3和交易数据4可以通过默克尔树的形式组织在一起。可先以交易数据1和交易数据2为例,通过哈希计算可以计算得到交易数据1对应的哈希值1;同样,通过哈希计算可以计算得到交易数据2对应的哈希值2。进一步的,将哈希值1和哈希值2串联起来,继续做散列变换,可以得到由交易数据1和交易数据2得到的哈希值12。以此类推,对于交易数据3和交易数据4而言,通过这样一层一层地递归计算,可以得到交易数据1和交易数据2的哈希值34,从而可以进一步将哈希值12和哈希值34串联起来进行散列变换,直到最后剩下一个根(如包含交易数据1、交易数据2、交易数据3以及交易数据4的哈希值1234)。此时,可以将该最后得到的所有交易数据的哈希值作为新区块的输入信息特征值。可以看到,默克尔树的可扩展性很好,不管业务数据有多少,最后都可以产生一个默克尔树以及固定长度的输入信息特征值。
S103、将新区块发送至区块链网络中的共识节点,以使共识节点对新区块进行验证并在验证通过后生成签名确认消息。
在一些可行的实施方式中,在得到新区块之后,可将新区块发送至区块链网络中的共识节点,以使区块链网络中的共识节点对新区块基于预设验证方式进行验证。其中,区块链网络中的共识节点可获取新区块的输入信息特征值,并通过对输出信息特征值的计算获取到新区块中各个交易数据,进而对获取到的新区块中的各个交易数据进行交易有效性验证,并在验证各个交易数据均为有效交易数据之后,说明新区块通过共识节点的验证。可选的,各个共识节点还可验证新区块的数据结构语法上是否有效、新区块的时间戳是否早于当前验证时刻或者新区块大小是否在长度限制之内等,当新区块的数据结构语法有效、新区块的时间戳早于当前验证时刻或者新区块的大小在长度限制内时,可确定新区块通过验证。否则,可说明新区块并未通过验证。需要特别说明的是,具体的验证方式可以是上述任一种或多种验证方式,也可以基于实际应用场景确定出的验证方式,具体验证方式在此不做限制。
在一些可行的实施方式中,区块链网络中的共识节点在新区块验证通过之后,每个共识节点可生成签名确认消息。可选的,该签名确认消息可以为任意形式的用于告知新区块验证通过的信息,具体信息内容在此不做限制。同时每个共识节点生成的签名确认消息可表示该签名确认消息的生成及节点,从而在接收到各个共识节点的签名确认消息之后可根据签名确认消息确定出发送签名确认消息的共识节点。可选的,每个共识节点在生成签名确认消息之后,可对该签名确认消息经过哈希计算生成一份摘要,并通过自身的私钥对摘要进行加密并将加密后的摘要发送至打包新区块的节点以防止签名确认消息被篡改。
S104、接收签名确认消息并当签名确认消息满足预设共识策略时,将新区块加入区块链网络。
在一些可行的实施方式中,可接收上述区块链网络中多个共识节点发送的签名确认消息,并当接收到的各个签名确认消息满足预设共识策略时可确定新区块为有效区块。其中,上述预设共识策略可以是当区块链网络中所有共识节点中一定比例的共识节点对新区块验证通过后即认为新区块为有效区块,例如当接收到百分之九十五的共识节点发送的签名确认消息后,可认为新区块为有效区块。或者,上述预设共识策略也可以是在接收上述区块链网络中多个共识节点发送的签名确认消息时,基于签名确认消息中的签名确定发送签名确认消息的共识节点是否属于预设共识节点,在发送签名确认消息的共识节点为预设共识节点,和/或发送签名确认消息的共识节点超过区块链网络中所有共识节点一定比例后,可认为新区块为有效区块。需要特别说明的是,上述预设共识策略可基于实际应用场景确定,在此不做限制。由此,在签名确认消息满足预设共识策略时,可将新区块加入区块链网络,从而将交易数据集合中各个交易数据写入区块链网络。
在本申请实施例中,通过在将从交易池中选取的交易数据打包至新区块之前,对选取出的交易数据进行有效性验证,可有效减少新区块中无效交易的数量,提升区块链网络的区块资源利用率。同时在得到新区块之后通过区块链网络中共识节点对新区块进行验证,可减少区块链网络中的各个区块中无效交易的数量,提升交易数据处理效率。
参见图3,图3是本申请实施例提供的交易数据处理方法的另一流程示意图。如图3所示,本申请实施例提供的交易数据处理方法可包括如下步骤S201至S205。
S201、从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合,基于交易数据集合中各个交易数据的交易提交方的账户状态对交易数据集合中各个交易数据进行有效性验证。
S202、当所述交易数据集合中各个交易数据为有效交易数据时,将交易数据集合中的各个交易打包至新区块。
S203、将新区块发送至区块链网络中的共识节点,以使共识节点对新区块进行验证并在验证通过后生成签名确认消息。
S204、接收签名确认消息并当签名确认消息满足预设共识策略时,将新区块加入区块链网络。
在一些可行的实施方式中,上述步骤S201至S204的具体实施方式可参见图2中步骤S101至S104所示的实现方式,在此不再赘述。
S205、从交易池中确定出目标交易数据,并将目标交易数据与区块链网络中各个区块所存储的交易数据进行周期性比较;若各个区块所存储的交易数据存在与目标交易数据相同的交易数据,则将目标交易数据确定为无效交易数据,并从交易池中删除目标交易数据。
在一些可行的实施方式中,由于在将新区块加入区块链网络的过程中,并不能确定交易池中的交易数据是否为有效交易数据,因此为了确保交易池中尽可能的保留有效交易数据,从交易池中确定出一部分可能为无效交易数据的目标交易数据,并对交易池中的目标交易数据进行有效性验证。当交易池中的目标交易数据为无效交易数据时,可从交易池中删除目标交易数据。具体的,可先确定交易池中各个交易数据对应的交易提交方的历史业务数据,并确定每一交易提交方的历史交易数据的个数以及历史交易数据中无效交易数据的个数。其中,上述历史交易数据的个数为一个交易提交方在当前验证时刻之前累计提交至区块链网络中各个节点对应的交易池中的交易数据的个数,历史交易数据中无效交易数据为未通过验证或未成功写入区块链的交易数据的个数。由于交易提交方的历史交易数据中包含有效交易数据和无效交易数据,基于每一交易提交方的无效交易数据的个数和历史交易数据的个数之比得到每一交易提交方的历史交易数据中无效交易数据占比,进而基于无效交易数据占比确定每一交易提交方的置信度。其中,每一交易提交方的置信度的确定过程可基于无效交易数据占比与置信度的关系表、预设置信度计算方法等方式确定,具体可基于实际应用场景确定,在此不做限制。可选的,也可基于每一交易提交方的有效交易数据的个数和历史交易数据的个位之比得到每一交易提交方的有效交易数据占比,进而基于有效交易数据占比确定出交易提交方的置信度。基于上述实现方式,可从交易池中确定出置信度低于预设置信度的交易提交方的交易数据,并将置信度低于预设置信度的交易提交方的交易数据确定为目标交易数据。需要特别说明的是,上述预设置信度具体可基于实际应用场景确定,在此不做限制。在从交易池中删除目标交易数据之后,可生成删除消息并向删除消息发送至区块链网络中的其他节点以使区块链网络中的其他节点从相对应的交易池中删除与目标交易数据相同的交易数据,其中,删除消息的消息内容以及具体形式可基于实际应用场景确定,在此不做限制。
在一些可行的实施方式中,在对目标交易数据进行有效性验证时,可以对区块链网络中各个区块的默克尔树根的哈希值进行解析,以得到区块链网络中各个区块所存储的交易数据;若区块链网络中各个区块中包含与其默克尔树根对应的交易列表,可直接获取区块链网络中各个区块的交易列表,以得到区块链网络中各个区块所存储的交易数据。不难理解,区块链网络中各个区块所存储的交易数据为已写入区块链网络的交易数据,对于已写入区块链网络的交易数据来说,并不能被在此写入区块链。因此,可将目标交易数据与区块链网络中各个区块所存储的交易数据进行周期性地比较,若目标交易数据为区块链网络中各个区块所存储的交易数据任一交易数据相同的交易数据时,可将目标交易数据确定为无效交易数据,并从交易池中删除目标交易数据。
举例来说,请参见图4,图4是本申请实施例提供的确定无效交易数据的一场景示意图。如图4所示,假设从交易池中选取的目标交易数据包含交易数据d、交易数据e、交易数据f、交易数据g以及交易数据h,区块链网络中存在三个区块,每个区块对应一个交易列表。可按照一定的周期从区块链网络中各个区块中获取各个区块所存储的交易数据,如交易列表A中包含交易数据1、交易数据2、交易数据3以及交易数据4;交易列表B中包含交易数据5、交易数据6、交易数据7以及交易数据8;交易列表C中包含交易数据a、交易数据b、交易数据c以及交易数据d。此时可在每个周期内将各个目标交易数据与交易列表A、交易列表B以及交易列表C中的各个交易数据进行比较,如图4所示,不难看出交易列表C中包含交易数据d。由于交易列表C中包含交易数据d,说明交易数据d已写入区块链网络,因此交易数据d将不再会被打包至任一新区块进而添加至区块链网络,即交易数据d为无效交易数据,此时可将交易数据d从交易池中删除。
在一些可行的实施方式中,还可周期性地对目标交易数据的交易提交方的账户数据量进行检测,以对目标交易数据进行有效性检测。具体地,可按照一定的周期确定目标交易数据的交易提交方的账户数据量以及目标交易数据的转移数据量,并在周期内将目标交易数据的转移数据量和相对应的交易提交方的账户数据量进行比较。当目标交易数据的转移数据量大于相对应的交易提交方的账户数据量的交易数据时,说明目标交易数据对应的交易提交方并不能向数据接收方转移足够数据量的数据,此时可将目标交易数据确定为无效交易数据,并从交易池中删除目标交易数据。
举例来说,请参见图5,图5是本申请实施例提供的确定无效交易数据的另一场景示意图。如图5所示,假设从交易池中确定出的目标交易数据包含交易数据d、交易数据f、交易数据g以及交易数据h,其中交易数据d的转移数据量为20,交易数据f的转移数据量为30,交易数据g的转移数据量为40,交易数据h的转移数据量为50。其中,假设在任一周期内获取到的交易数据d对应的交易提交方d的账户数据量为20,交易数据f对应的交易提交方f的账户数据量为70,交易数据g对应的交易提交方g的账户数据量为90,交易数据h对应的交易提交方h的账户数据量为10。此时不难发现,交易数据h的账户数据量10远远小于交易数据h的转移数据量50,说明交易数据h对应的交易提交方h并不能向数据接收方转移足够数据量的数据,此时可将交易数据h确定为无效交易数据,并从交易池中删除交易数据h。
在一些可行的实施方式中,在从交易池中确定出目标交易数据之后,可获取目标交易数据的数字签名,并基于目标交易数据对应的交易提交方的公钥对目标交易数据的数字签名进行解密,进而得到目标交易数据的第一摘要信息。同时,可对目标交易数据进行哈希计算以得到目标交易数据的第二摘要信息,此时可对目标交易数据的第一摘要信息和第二摘要信息进行比较,若目标交易数据的第一摘要信息和第二摘要信息不一致,则说明目标交易数据在交易池中被篡改,此时可将目标交易数据确定为无效交易数据,并从交易池中删除目标交易数据。
在一些可行的实施方式中,对于置信度高于预设置信度的交易提交方的交易数据来说,并不能确保其交易数据一定是有效交易数据还可周期性地检测交易池中各个交易数据从提交到交易池至当前检测时刻的等待时间,进而在每一周期内从交易池中确定出无效交易数据。具体地,可从交易池中各个交易数据中获取交易提交方提交交易数据的提交时间,将该时间作为交易数据提交至交易池的时间,并基于当前检测时刻确定出交易池中各个交易数据在交易池中的等待时间。可选的,由于对交易池中各个交易数据采用周期性检测机制,因此任一交易数据来说,可加工第一次检测到该交易数据的时刻到当前检测时刻之间的时间作为该交易数据在交易池中的等待时间。当一个交易数据在交易池中等待超过一定时间限度时,该交易很可能会受到交易提交方的账户状态、交易接收方账户状态以及各种环境因素的影响变为无效交易数据,因此在确定出交易池中各个交易数据的等待时间之后,可在周期内将交易池中各个交易数据的等待时间与预设交易等待时间进行比较,并将交易等待时间大于预设交易等待时间的交易数据确定为无效交易数据,并从交易池中删除无效交易数据。其中,上述预设交易等待时间可基于实际应用场景确定,在此不做限制。
举例来说,请参见图6,图6是本申请实施例提供的确定无效交易数据的又一场景示意图。如图6所示,假设交易池中包含交易数据d、交易数据f、交易数据g以及交易数据h,在任一检测周期获取到的交易数据d的交易等待时间为2小时,交易数据f的交易等待时间为3小时,交易数据g的交易等待时间为1小时,交易数据h的交易等待时间为8小时。此时若预设交易等待时间为7小时,在当前检测周期内将交易池中各个交易数据的交易等待时间与预设交易等待时间进行比较。在图6中不难看出,交易数据h的交易等待时间(8小时)已超过预设等待时间(7小时),此时可交易数据h确定为无效交易数据,并将交易数据h从交易池中删除。
在一些可行的实施方式中,交易池中的各个交易数据均具备一个交易序号,并且该交易序号用于表示交易数据为某一交易提交方提交至交易池的顺序,或者可表示该交易数据为某一交易提交方在交易池中等待被打包至新区块的顺序,其中,交易池中同属于一个交易提交方的交易数据具有独立的交易序号,不同交易提交方的交易数据之间的交易序号互不影响。当交易池中任一交易提交方的一个交易数据被打包至新区块后,该交易提交方的交易标记值加1,即该交易提交方的交易标记值用于表示该交易提交方被打包至新区块的交易数据的个数。为了保证交易池中各个交易提交方的交易数据能够按照交易序号依次被打包至新区块,提升区块链网络整体工作效率,此时可对交易池中各个交易数据的交易提交方的交易标记值进行周期性检测,并在周期内比较各个交易数据的交易序号与相对应的交易提交方的交易标记值。当交易池中的一个交易数据的交易序号小于该交易数据对应的交易提交方的交易标记值(假设交易数据A的交易序号为8,交易数据A对应的交易提交方A的交易标记值为9)时,说明交易提交方A已有9个交易数据被打包至新区块或者已添加至区块链网络,交易序号为8的交易数据A显然是交易提交方A的交易数据在被顺序打包过程中未被打包的交易数据。此时为了确保交易提交方A的交易数据仍然能按照交易序号顺序打包,可在检测周期内将交易数据A确定为无效交易数据,并将该无效交易数据从交易池中删除。或者,为了能够继续对交易数据A进行打包,可将交易数据A的交易序号更改为大于交易提交方A的交易标记值且不与交易提交方A的其他交易数据的交易序号相同的任一交易序号,以便于在后续对交易池中的交易数据打包至新区块能将交易数据A进行打包。
在本申请实施例中,通过在将从交易池中选取的交易数据打包至新区块之前,对选取出的交易数据进行有效性验证,可有效减少新区块中无效交易的数量,提升区块链网络的区块资源利用率。同时在得到新区块之后通过区块链网络中共识节点对新区块进行验证,可减少区块链网络中的各个区块中无效交易的数量,提升交易数据处理效率。与此同时,通过对交易池中的交易数据交易等待时间、转移数据量、交易序号以及数字签名等方面,对交易池中的交易数据进行周期性检测,以及时确定并删除交易池中的无效交易数据,进而达到节约交易池资源、提升交易数据处理效率的目的。
参见图7,图7是本申请实施例提供的交易数据处理装置的结构示意图。本申请实施例提供的交易数据处理装置1可以包括:验证模块11,第一处理模块12,第二处理模块13;
验证模块11,用于从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合,基于所述交易数据集合中各个交易数据的交易提交方的账户状态对所述交易数据集合中各个交易数据进行有效性验证;
第一处理模块12,用于当所述交易数据集合中各个交易数据为有效交易数据时,将所述交易数据集合中的各个交易打包至新区块;
第二处理模块13,用于将所述新区块发送至区块链网络中的共识节点,以使所述共识节点对所述新区块进行验证并在验证通过后生成签名确认消息;
所述第二处理模块13,用于接收所述签名确认消息并当所述签名确认消息满足预设共识策略时,将所述新区块加入所述区块链网络。
请一并参见图7,交易数据处理装置1还可以包括:第一删除模块14,第三处理模块15,比较模块16,第四处理模块17,签名获取模块18,解密模块19,摘要信息确定模块20,判断模块21,检测模块22,第二删除模块23,第五处理模块24;
第一删除模块14,用于当所述交易数据集合中存在无效交易数据时,从所述交易数据集合中删除所述无效交易数据;
第三处理模块15,用于将删除所述无效交易数据后的交易数据集合中的各个交易数据打包至所述新区块;和/或,
从所述交易池中选取至少一个交易数据添加至所述删除所述无效交易数据后的交易数据集合以得到新的交易数据集合,并对所述新的交易数据集合中的各个交易数据进行有效性验证;
比较模块16,用于从所述交易池中确定出目标交易数据,并将所述目标交易数据与所述区块链网络中各个区块所存储的交易数据进行周期性比较;
第四处理模块17,用于若所述各个区块所存储的交易数据存在与所述目标交易数据相同的交易数据,则将所述目标交易数据确定为无效交易数据,并从所述交易池中删除所述目标交易数据;
签名获取模块18,用于从所述交易池中确定出目标交易数据,并获取所述目标交易数据的数字签名;
解密模块19,用于基于所述目标交易数据的交易提交方的公钥对所述目标交易数据的数字签名进行解密,得到所述目标交易数据的第一摘要信息;
摘要信息确定模块20,用于对所述目标交易数据进行哈希计算,得到所述目标交易数据的第二摘要信息;
判断模块21,用于若所述第一摘要信息和所述第二摘要信息不一致,则将所述目标交易数据确定为无效交易数据,并从所述交易池中删除所述目标交易数据;
检测模块22,用于对所述交易池中各个交易数据的交易等待时间进行周期性检测;
第二删除模块23,用于将所述交易池中交易等待时间大于预设交易等待时间的交易数据确定为无效交易数据,并从所述交易池中删除所述无效交易数据;
第五处理模块24,用于获取所述交易数据集合中各个交易数据的数据标识,并将各个数据标识发送至所述区块链网络中的其他节点,以使所述区块链网络中的其他节点从相对应的交易池中确定并删除具有与所述各个数据标识中相同数据标识的交易数据。
请一并参见图7,所述交易数据包括转移数据量,所述账户状态包括账户数据量;验证模块11可以包括:第一确定单元111,第二确定单元112,第三确定单元113;
第一确定单元111,用于确定所述交易数据集合中各个交易数据的交易提交方的账户数据量;
第二确定单元112,用于将所述交易数据集合中各个交易数据的转移数据量和相对应的交易提交方的账户数据量进行比较,将所述交易数据集合中转移数据量不大于相对应的交易提交方的账户数据量的交易数据确定为有效交易数据;
第三确定单元113,用于将所述交易数据集合中转移数据量大于相对应的交易提交方的账户数据量的交易数据确定为无效交易数据。
请一并参见图7,比较模块16可以包括:数量确定单元161,置信度确定单元162,第四确定单元163;
数量确定单元161,用于确定所述交易池中各个交易提交方的历史交易数据个数和所述历史交易数据个数中无效交易数据的个数;
置信度确定单元162,用于基于所述历史交易数据的个数和所述无效交易数据的个数确定出每一交易提交方的无效交易数据占比,并基于所述无效交易数据占比确定所述每一交易提交方的置信度;
第四确定单元163,用于从所述交易池中确定出置信度低于预设置信度的交易提交方的交易数据,并将所述置信度低于预设置信度的交易提交方的交易数据确定为目标交易数据。
具体实现中,上述交易数据处理装置1可通过其内置的各个功能模块执行如上述图2和/或图3中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
在本申请实施例中,通过在将从交易池中选取的交易数据打包至新区块之前,对选取出的交易数据进行有效性验证,可有效减少新区块中无效交易的数量,提升区块链网络的区块资源利用率。同时在得到新区块之后通过区块链网络中共识节点对新区块进行验证,可减少区块链网络中的各个区块中无效交易的数量,提升交易数据处理效率。与此同时,通过对交易池中的交易数据交易等待时间、转移数据量、交易序号以及数字签名等方面,对交易池中的交易数据进行周期性检测,以及时确定并删除交易池中的无效交易数据,进而达到节约交易池资源、提升交易数据处理效率的目的。
参见图8,图8是本申请实施例提供的设备的结构示意图。如图8所示,本实施例中的设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图8所示的设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合,基于所述交易数据集合中各个交易数据的交易提交方的账户状态对所述交易数据集合中各个交易数据进行有效性验证;
当所述交易数据集合中各个交易数据为有效交易数据时,将所述交易数据集合中的各个交易打包至新区块;
将所述新区块发送至区块链网络中的共识节点,以使所述共识节点对所述新区块进行验证并在验证通过后生成签名确认消息;
接收所述签名确认消息并当所述签名确认消息满足预设共识策略时,将所述新区块加入所述区块链网络。
应当理解,在一些可行的实施方式中,上述处理器1001可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
具体实现中,上述设备1000可通过其内置的各个功能模块执行如上述图2和/或图3中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
在本申请实施例中,通过在将从交易池中选取的交易数据打包至新区块之前,对选取出的交易数据进行有效性验证,可有效减少新区块中无效交易的数量,提升区块链网络的区块资源利用率。同时在得到新区块之后通过区块链网络中共识节点对新区块进行验证,可减少区块链网络中的各个区块中无效交易的数量,提升交易数据处理效率。与此同时,基于交易池中的交易数据交易等待时间、数字签名等对交易池中的交易数据进行周期性检测,以及时确定并删除交易池中的无效交易数据,进而达到节约交易池资源、提升交易数据处理效率的目的。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,被处理器执行以实现图2和/或图3中各个步骤所提供的方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的任务处理装置的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(randomaccess memory,RAM)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (11)
1.一种交易数据处理方法,其特征在于,所述方法包括:
从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合,基于所述交易数据集合中各个交易数据的交易提交方的账户状态对所述交易数据集合中各个交易数据进行有效性验证;
当所述交易数据集合中各个交易数据为有效交易数据时,将所述交易数据集合中的各个交易打包至新区块;
将所述新区块发送至区块链网络中的共识节点,以使所述共识节点对所述新区块进行验证并在验证通过后生成签名确认消息;
接收所述签名确认消息并当所述签名确认消息满足预设共识策略时,将所述新区块加入所述区块链网络。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述交易数据集合中存在无效交易数据时,从所述交易数据集合中删除所述无效交易数据;
将删除所述无效交易数据后的交易数据集合中的各个交易数据打包至所述新区块;和/或,
从所述交易池中选取至少一个交易数据添加至所述删除所述无效交易数据后的交易数据集合以得到新的交易数据集合,并对所述新的交易数据集合中的各个交易数据进行有效性验证。
3.根据权利要求2所述的方法,其特征在于,所述交易数据包括转移数据量,所述账户状态包括账户数据量;所述基于所述交易数据集合中各个交易数据的交易提交方的账户状态对所述交易数据集合中各个交易数据进行有效性验证包括:
确定所述交易数据集合中各个交易数据的交易提交方的账户数据量;
将所述交易数据集合中各个交易数据的转移数据量和相对应的交易提交方的账户数据量进行比较,将所述交易数据集合中转移数据量不大于相对应的交易提交方的账户数据量的交易数据确定为有效交易数据;
将所述交易数据集合中转移数据量大于相对应的交易提交方的账户数据量的交易数据确定为无效交易数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述交易池中确定出目标交易数据,并将所述目标交易数据与所述区块链网络中各个区块所存储的交易数据进行周期性比较;
若所述各个区块所存储的交易数据存在与所述目标交易数据相同的交易数据,则将所述目标交易数据确定为无效交易数据,并从所述交易池中删除所述目标交易数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述交易池中确定出目标交易数据,并获取所述目标交易数据的数字签名;
基于所述目标交易数据的交易提交方的公钥对所述目标交易数据的数字签名进行解密,得到所述目标交易数据的第一摘要信息;
对所述目标交易数据进行哈希计算,得到所述目标交易数据的第二摘要信息;
若所述第一摘要信息和所述第二摘要信息不一致,则将所述目标交易数据确定为无效交易数据,并从所述交易池中删除所述目标交易数据。
6.根据权利要求4或5所述的方法,其特征在于,所述从所述交易池中确定出目标交易数据包括:
确定所述交易池中各个交易提交方的历史交易数据个数和所述历史交易数据个数中无效交易数据的个数;
基于所述历史交易数据的个数和所述无效交易数据的个数确定出每一交易提交方的无效交易数据占比,并基于所述无效交易数据占比确定所述每一交易提交方的置信度;
从所述交易池中确定出置信度低于预设置信度的交易提交方的交易数据,并将所述置信度低于预设置信度的交易提交方的交易数据确定为目标交易数据。
7.根据权利要求1所述的方法,其特征在于,所述交易数据包括交易等待时间;所述方法还包括:
对所述交易池中各个交易数据的交易等待时间进行周期性检测;
将所述交易池中交易等待时间大于预设交易等待时间的交易数据确定为无效交易数据,并从所述交易池中删除所述无效交易数据。
8.根据权利要求1所述的方法,其特征在于,所述从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合之后,所述方法还包括:
获取所述交易数据集合中各个交易数据的数据标识,并将各个数据标识发送至所述区块链网络中的其他节点,以使所述区块链网络中的其他节点从相对应的交易池中确定并删除具有与所述各个数据标识中相同数据标识的交易数据。
9.一种交易数据处理装置,其特征在于,所述交易数据处理装置包括:
验证模块,用于从交易池中的交易数据中选取至少一个交易数据以得到交易数据集合,基于所述交易数据集合中各个交易数据的交易提交方的账户状态对所述交易数据集合中各个交易数据进行有效性验证;
第一处理模块,用于当所述交易数据集合中各个交易数据为有效交易数据时,将所述交易数据集合中的各个交易打包至新区块;
第二处理模块,用于将所述新区块发送至区块链网络中的共识节点,以使所述共识节点对所述新区块进行验证并在验证通过后生成签名确认消息;
所述第二处理模块,用于接收所述签名确认消息并当所述签名确认消息满足预设共识策略时,将所述新区块加入所述区块链网络。
10.一种设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接;
所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910895273.XA CN110597839A (zh) | 2019-09-20 | 2019-09-20 | 交易数据处理方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910895273.XA CN110597839A (zh) | 2019-09-20 | 2019-09-20 | 交易数据处理方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110597839A true CN110597839A (zh) | 2019-12-20 |
Family
ID=68862054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910895273.XA Pending CN110597839A (zh) | 2019-09-20 | 2019-09-20 | 交易数据处理方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597839A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111262876A (zh) * | 2020-01-22 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备以及存储介质 |
CN111275438A (zh) * | 2020-01-14 | 2020-06-12 | 北京众享比特科技有限公司 | 区块链网络的共识方法、装置、设备和存储介质 |
CN111488626A (zh) * | 2020-04-09 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及介质 |
CN111507717A (zh) * | 2020-04-20 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、区块节点及计算机可读存储介质 |
CN111565185A (zh) * | 2020-04-29 | 2020-08-21 | 陈议尊 | 一种基于时分复用的信息摘要供需交易方法及系统 |
CN111639129A (zh) * | 2020-05-24 | 2020-09-08 | 中信银行股份有限公司 | 交易处理方法、装置、电子设备及计算机可读存储介质 |
CN111681003A (zh) * | 2020-07-07 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 资源跨链转移方法、装置、计算机设备以及存储介质 |
CN112883117A (zh) * | 2020-12-24 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 一种数据同步方法、设备以及计算机可读存储介质 |
CN112926981A (zh) * | 2021-03-18 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 用于区块链的交易信息处理方法、装置、介质及电子设备 |
WO2021135757A1 (zh) * | 2020-01-02 | 2021-07-08 | 支付宝(杭州)信息技术有限公司 | 用于执行交易正确性验证的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108711052A (zh) * | 2018-05-18 | 2018-10-26 | 电子科技大学 | 一种基于区块链的信息验证系统 |
CN108985772A (zh) * | 2018-07-02 | 2018-12-11 | 上海达家迎信息科技有限公司 | 一种区块链的验证方法、装置、设备及存储介质 |
CN109859047A (zh) * | 2019-01-31 | 2019-06-07 | 北京瑞卓喜投科技发展有限公司 | 一种区块链更新方法和区块链更新系统 |
CN109919760A (zh) * | 2019-01-11 | 2019-06-21 | 南京邮电大学 | 基于投票机制的拜占庭容错共识算法 |
CN109993531A (zh) * | 2019-04-01 | 2019-07-09 | 辽宁大学 | 一种支持跨区块链交易的数据验证方法 |
CN110233737A (zh) * | 2019-06-28 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 基于DPoS的共识方法、装置、计算机设备及存储介质 |
-
2019
- 2019-09-20 CN CN201910895273.XA patent/CN110597839A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108711052A (zh) * | 2018-05-18 | 2018-10-26 | 电子科技大学 | 一种基于区块链的信息验证系统 |
CN108985772A (zh) * | 2018-07-02 | 2018-12-11 | 上海达家迎信息科技有限公司 | 一种区块链的验证方法、装置、设备及存储介质 |
CN109919760A (zh) * | 2019-01-11 | 2019-06-21 | 南京邮电大学 | 基于投票机制的拜占庭容错共识算法 |
CN109859047A (zh) * | 2019-01-31 | 2019-06-07 | 北京瑞卓喜投科技发展有限公司 | 一种区块链更新方法和区块链更新系统 |
CN109993531A (zh) * | 2019-04-01 | 2019-07-09 | 辽宁大学 | 一种支持跨区块链交易的数据验证方法 |
CN110233737A (zh) * | 2019-06-28 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 基于DPoS的共识方法、装置、计算机设备及存储介质 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021135757A1 (zh) * | 2020-01-02 | 2021-07-08 | 支付宝(杭州)信息技术有限公司 | 用于执行交易正确性验证的方法及装置 |
CN111275438A (zh) * | 2020-01-14 | 2020-06-12 | 北京众享比特科技有限公司 | 区块链网络的共识方法、装置、设备和存储介质 |
CN111275438B (zh) * | 2020-01-14 | 2023-04-28 | 北京众享比特科技有限公司 | 区块链网络的共识方法、装置、设备和存储介质 |
CN111262876A (zh) * | 2020-01-22 | 2020-06-09 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备以及存储介质 |
CN111262876B (zh) * | 2020-01-22 | 2022-05-27 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备以及存储介质 |
CN111488626A (zh) * | 2020-04-09 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及介质 |
CN111507717A (zh) * | 2020-04-20 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、区块节点及计算机可读存储介质 |
CN111507717B (zh) * | 2020-04-20 | 2022-08-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、区块节点及计算机可读存储介质 |
CN111565185A (zh) * | 2020-04-29 | 2020-08-21 | 陈议尊 | 一种基于时分复用的信息摘要供需交易方法及系统 |
CN111565185B (zh) * | 2020-04-29 | 2023-05-12 | 陈议尊 | 一种基于时分复用的信息摘要供需交易方法及系统 |
CN111639129A (zh) * | 2020-05-24 | 2020-09-08 | 中信银行股份有限公司 | 交易处理方法、装置、电子设备及计算机可读存储介质 |
CN111681003A (zh) * | 2020-07-07 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 资源跨链转移方法、装置、计算机设备以及存储介质 |
CN112883117A (zh) * | 2020-12-24 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 一种数据同步方法、设备以及计算机可读存储介质 |
CN112883117B (zh) * | 2020-12-24 | 2022-03-15 | 腾讯科技(深圳)有限公司 | 一种数据同步方法、设备以及计算机可读存储介质 |
CN112926981A (zh) * | 2021-03-18 | 2021-06-08 | 腾讯科技(深圳)有限公司 | 用于区块链的交易信息处理方法、装置、介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597839A (zh) | 交易数据处理方法、装置、设备以及存储介质 | |
CN108985757B (zh) | 信息处理方法、装置及系统、存储介质、电子设备 | |
WO2021179655A1 (zh) | 跨区块链的数据迁移方法、装置、设备及存储介质 | |
CN110708171B (zh) | 区块链共识投票方法、装置、设备以及存储介质 | |
WO2019214312A1 (zh) | 基于区块链的物流信息传输方法、系统和装置 | |
US20210083856A1 (en) | Improved hardware security module management | |
US20100005304A1 (en) | Security and ticketing system control and management | |
CN111614761B (zh) | 区块链消息传输方法、装置、计算机以及可读存储介质 | |
CN110555079A (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN111460458B (zh) | 一种数据处理方法、相关装置及计算机可存储介质 | |
CN112381543A (zh) | 多重签名交易方法、设备和存储介质 | |
CN112036878B (zh) | 数据处理方法及装置 | |
CN111367923A (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN110602234B (zh) | 区块链网络节点管理方法、装置、设备以及存储介质 | |
CN113961226B (zh) | 一种软件开发工具包修复方法、终端、服务器及设备 | |
CN110941672A (zh) | 户籍管理方法、装置、设备以及存储介质 | |
WO2023142605A1 (zh) | 一种基于区块链的数据处理方法和相关装置 | |
CN111260475A (zh) | 一种数据处理方法、区块链节点设备及存储介质 | |
CN110750735A (zh) | 基于区块链网络的虚假事件识别方法、装置、设备以及存储介质 | |
CN112132574A (zh) | 区块链数据校验方法、数据处理方法、装置及设备 | |
CN111324645A (zh) | 区块链的数据处理方法及装置 | |
CN112732676B (zh) | 基于区块链的数据迁移方法、装置、设备及存储介质 | |
CN110647757A (zh) | 基于智能合约的数据处理方法及相关装置 | |
CN111859351A (zh) | 向芯片写入信息的方法、系统、服务器及存储介质 | |
CN113824755A (zh) | 区块链数据处理的方法、系统及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |