System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书实施例属于区块链,尤其涉及一种区块链系统中的交易处理方法和区块链节点。
技术介绍
1、区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
技术实现思路
1、本专利技术的目的在于提供一种区块链系统中的交易处理方法和区块链节点。
2、第一方面,提供了一种区块链系统中的交易处理方法,用于处理属于相同区块的多个交易,对于所述多个交易中任意的第i个交易,其中包括允许所述第i个交易消费目标资源的第一资源数量,以及用于支付所述第i个交易所消费目标资源的资源支付账户;所述方法包括:对所述多个交易进行分组,其中未利用所述多个交易各自包括的资源支付账户;对于所述多个交易所包括的若干资源支付账户中任意的第j个资源支付账户,按照所述多个交易的排列顺序,从所述多个交易中确定出包括所述第j个资源支付账户的若干交易;当所述若干交易中的前k个交易各自包括的第一资源数量的和大于所述第j个资源支付账户所持有目标资源的当前数量,所述若干交易中的前k-1个交易各自包括的第一资源数量的和不大于所述第j个资源支付账户所持有目标资源的当前数量时,对所述若干交易中位于所述第k-1个交易之后的各个交易标记预设标签;按照所述多个交易的分组结果,并发执
3、第二方面,提供了一种区块链系统中的区块链节点,用于处理属于相同区块的多个交易,对于所述多个交易中任意的第i个交易,其中包括允许所述第i个交易消费目标资源的第一资源数量,以及用于支付所述第i个交易所消费目标资源的资源支付账户;所述区块链节点包括:交易分组单元,配置为对所述多个交易进行分组,其中未利用所述多个交易各自包括的资源支付账户;交易确定单元,配置为对于所述多个交易所包括的若干资源支付账户中任意的第j个资源支付账户,按照所述多个交易的排列顺序,从所述多个交易中确定出包括所述第j个资源支付账户的若干交易;交易标记单元,配置为当所述若干交易中的前k个交易各自包括的第一资源数量的和大于所述第j个资源支付账户所持有目标资源的当前数量,所述若干交易中的前k-1个交易各自包括的第一资源数量的和不大于所述第j个资源支付账户所持有目标资源的当前数量时,对所述若干交易中位于所述第k-1个交易之后的各个交易标记预设标签;交易处理单元,配置为按照所述多个交易的分组结果,并发执行所述多个交易中未标记预设标签的交易。
4、第三方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面中提供的方法。
5、第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算设备中执行时,计算设备执行第一方面中提供的方法。
6、本说明书实施例提供的技术方案中,对多个交易所涉及若干资源支付账户中的任意资源支付账户,通过包括该资源支付账户的若干交易自身允许消费的第一资源数量,以及该资源支付账户所持有目标资源的当前数量,可以从该若干交易中确定并标记出排列位置靠后且可能因目标资源不足而执行失败的交易。对于该若干交易中未被标记的交易而言,该资源支付账户必定持有足够的目标资源来按照其允许的第一资源数量对其进行执行,无需对该部分交易中未被标记的交易进行串行执行,因而无需对多个交易进行分组的过程无需分析并使用其各自包括的资源支付账户。相应的,区块链节点仅需要按照多个交易的分组结果,并发执行未被标记的交易即可,可实现在确保交易执行的公平性的情况下,提高交易执行的并行度。
本文档来自技高网...【技术保护点】
1.一种区块链系统中的交易处理方法,用于处理属于相同区块的多个交易,对于所述多个交易中任意的第i个交易,其中包括允许所述第i个交易消费目标资源的第一资源数量,以及用于支付所述第i个交易所消费目标资源的资源支付账户;所述方法包括:
2.根据权利要求1所述的方法,所述方法还包括:根据所述前k个交易的执行结果,获取所述前k个交易各自消费目标资源的第二资源数量,并按照各个所述第二资源数量的和从所述第j个资源支付账户扣减其持有的目标资源。
3.根据权利要求1所述的方法,所述对所述多个交易进行分组,包括:
4.根据权利要求1所述的方法,所述多个交易的分组结果包括多个交易分组,所述多个交易分组与所述区块链节点中的多个计算线程对应;
5.根据权利要求4所述的方法,所述方法还包括:当所述第p个交易标记有预设标签的情况下,所述第n个计算线程生成表征所述第p个交易执行失败的执行结果。
6.根据权利要求1所述的方法,所述当所述若干交易中的前k个交易各自包括的第一资源数量的和大于所述第j个资源支付账户所持有目标资源的当前数量,所述若干交易中的前k
7.根据权利要求1所述的方法,所述当所述若干交易中的前k个交易各自包括的第一资源数量的和大于所述第j个资源支付账户所持有目标资源的当前数量,所述若干交易中的前k-1个交易各自包括的第一资源数量的和不大于所述第j个资源支付账户所持有目标资源的当前数量时,对所述若干交易中位于所述第k-1个交易之后的各个交易标记预设标签,包括:
8.一种区块链系统中的区块链节点,用于处理属于相同区块的多个交易,对于所述多个交易中任意的第i个交易,其中包括允许所述第i个交易消费目标资源的第一资源数量,以及用于支付所述第i个交易所消费目标资源的资源支付账户;所述区块链节点包括:
9.根据权利要求8所述的区块链节点,所述区块链节点还包括:资源管理单元,配置为根据所述前k个交易的执行结果,获取所述前k个交易各自消费目标资源的第二资源数量,并按照各个所述第二资源数量的和从所述第j个资源支付账户扣减其持有的目标资源。
10.根据权利要求8所述的区块链节点,所述交易分组单元,配置为确定所述多个交易各自的预执行读写集,其中当所述第i个交易所包括的资源支付账户不同于其包括的发送方账户和接收方账户时,所述第i个交易的预执行读写集中未包括所述第i个交易所包括的资源支付账户;以及,根据所述预执行读写集对所述多个交易进行分组。
11.根据权利要求8所述的区块链节点,所述多个交易的分组结果包括多个交易分组,所述多个交易分组与所述区块链节点中的多个计算线程对应;其中,
12.根据权利要求11所述的区块链节点,所述交易处理单元,还配置为当所述第p个交易标记有预设标签的情况下,在所述第n个计算线程生成表征所述第p个交易执行失败的执行结果。
13.根据权利要求8所述的区块链节点,所述交易标记单元,配置为按照所述若干交易的排列顺序,依次对所述若干交易中的前k个交易各自包括的第一资源数量求和,获得前k个交易对应的累计资源数量;当所述累计资源数量大于所述第j个资源支付账户所持有目标资源的当前数量时,对所述若干交易中位于所述第k-1个交易之后的各个交易标记预设标签。
14.根据权利要求8所述的区块链节点,所述交易标记单元,配置为从状态数据中获取所述第j个资源支付账户所持有目标资源的当前数量;将所述当前数量缓存至预定区域;以及,按照所述若干交易的排列顺序,依次对所述若干交易中的第k个交易执行:确定所述预定区域缓存的当前数量是否达到所述k个交易中所包括的第一资源数量;如果是,则在所述预定区域中对所述当前数量扣减所述第k个交易所包括的第一资源数量;如果否,则对所述若干交易中位于第k-1个交易之后的各个交易标记预设标签。
15.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算设备中执行时,计算设备实现权利要求1-7中任一项所述的方法。
...【技术特征摘要】
1.一种区块链系统中的交易处理方法,用于处理属于相同区块的多个交易,对于所述多个交易中任意的第i个交易,其中包括允许所述第i个交易消费目标资源的第一资源数量,以及用于支付所述第i个交易所消费目标资源的资源支付账户;所述方法包括:
2.根据权利要求1所述的方法,所述方法还包括:根据所述前k个交易的执行结果,获取所述前k个交易各自消费目标资源的第二资源数量,并按照各个所述第二资源数量的和从所述第j个资源支付账户扣减其持有的目标资源。
3.根据权利要求1所述的方法,所述对所述多个交易进行分组,包括:
4.根据权利要求1所述的方法,所述多个交易的分组结果包括多个交易分组,所述多个交易分组与所述区块链节点中的多个计算线程对应;
5.根据权利要求4所述的方法,所述方法还包括:当所述第p个交易标记有预设标签的情况下,所述第n个计算线程生成表征所述第p个交易执行失败的执行结果。
6.根据权利要求1所述的方法,所述当所述若干交易中的前k个交易各自包括的第一资源数量的和大于所述第j个资源支付账户所持有目标资源的当前数量,所述若干交易中的前k-1个交易各自包括的第一资源数量的和不大于所述第j个资源支付账户所持有目标资源的当前数量时,对所述若干交易中位于所述第k-1个交易之后的各个交易标记预设标签,包括:
7.根据权利要求1所述的方法,所述当所述若干交易中的前k个交易各自包括的第一资源数量的和大于所述第j个资源支付账户所持有目标资源的当前数量,所述若干交易中的前k-1个交易各自包括的第一资源数量的和不大于所述第j个资源支付账户所持有目标资源的当前数量时,对所述若干交易中位于所述第k-1个交易之后的各个交易标记预设标签,包括:
8.一种区块链系统中的区块链节点,用于处理属于相同区块的多个交易,对于所述多个交易中任意的第i个交易,其中包括允许所述第i个交易消费目标资源的第一资源数量,以及用于支付所述第i个交易所消费目标资源的资源支付账户;所述区块链节点包括:
9.根据权利要求8所述的区块链节点,所述区块链节点还包括:资源管理单元,配置为根据所述前k个交易的执行结果,获取所述...
【专利技术属性】
技术研发人员:曹睿学,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。