System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及区块链,尤其涉及一种区块链的交易排序方法、装置、电子设备和存储介质。
技术介绍
1、区块链属于一种分布式系统,其各个节点不是实时同步的,在共识算法的协调下,能够保证各个节点在每一个阶段时间点达成最终一致性,这可以确保在一个时间段内系统接收到的交易可以被所有节点提交和执行。然而,由于网络的不同步特性,这些交易何时被共识节点接收,共识节点以什么顺序提交和执行这些交易都是无法确定的。由此可见,如何对共识节点接收到的交易进行灵活而有效的排序,成为本领域技术人员需要考虑的技术问题。
技术实现思路
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.如权利要求2所述的方法,其特征在于,所述用户账户拥有多个状态对象,所述目标交易还携带状态对象标识;所述将所述用户账户拥有的状态对象,确定为所述目标状态对象,包括:
4.如权利要求1至3任一项所述的方法,其特征在于,所述目标状态对象还维护排序参数变量;所述根据所述目标排序参数,确定所述目标交易在所述共识节点已接收到的指定所述目标状态对象的所有交易中的排序,包括:
5.如权利要求4所述的方法,其特征在于,还包括:
6.如权利要求4所述的方法,其特征在于,所述排序参数变量包括不同类型的多个变量;在所述根据所述目标排序参数,确定所述目标交易在所述共识节点已接收到的指定所述目标状态对象的所有交易中的排序之前,还包括:
7.如权利要求1所述的方法,其特征在于,所述相关数据为智能合约数据,所述目标排序参数为优先级参数;所述根据所述目标排序参数,确定
8.一种区块链的交易排序装置,其特征在于,应用于区块链设有的共识节点,所述装置包括:
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的区块链的交易排序方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的区块链的交易排序方法。
...【技术特征摘要】
1.一种区块链的交易排序方法,其特征在于,应用于区块链设有的共识节点,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述确定所述目标交易指定的目标状态对象,包括:
3.如权利要求2所述的方法,其特征在于,所述用户账户拥有多个状态对象,所述目标交易还携带状态对象标识;所述将所述用户账户拥有的状态对象,确定为所述目标状态对象,包括:
4.如权利要求1至3任一项所述的方法,其特征在于,所述目标状态对象还维护排序参数变量;所述根据所述目标排序参数,确定所述目标交易在所述共识节点已接收到的指定所述目标状态对象的所有交易中的排序,包括:
5.如权利要求4所述的方法,其特征在于,还包括:
6.如权利要求4所述的方法,其特征在于,所述排序参数变量包括不同类型的多个变量;在所述根据所述目标排序参数,确定所述目标交易在...
【专利技术属性】
技术研发人员:黄方蕾,邱炜伟,袁超,尚璇,谢逸俊,
申请(专利权)人:杭州趣链科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。