一种排序交易队列的方法及装置与流程

文档序号:15394677发布日期:2018-09-08 01:54阅读:423来源:国知局

本申请涉及金融业区块链技术领域,尤其涉及许可链模型下的排序交易队列的方法及装置。



背景技术:

区块链是一种新的分布式技术,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。共识机制是指通过特殊节点的投票,在很短时间内完成对交易的验证和确认。一个区块链系统由很多节点构成,对于一笔交易,如果利益不相干的若干个节点能够达成共识,则认为全网对此能够达成共识,而达成共识的节点称之为共识节点。当交易被广播被共识节点接收到时,共识节点会先将交易做一些简单的验证,验证成功后就会把交易加入到本地的交易池当中,交易池由交易队列组成,交易队列包括多个交易。

每个共识节点会对自己的交易池设置相应的限制来保障交易的数量不会过多。共识节点在打包交易到区块时,会根据一定的优先顺序选择交易,从而让自己能获得尽量多的利益。

共识节点本身具有排序交易队列的权利,包括优先处理手续费高的交易等策略,但如果软件内不做支持,则共识节点必须要编写代码才能进行排序,可操作性差,不够灵活。



技术实现要素:

本申请实施例提供一种许可链模型下的排序交易队列的方法及装置,解决了交易排序不够灵活的问题,借助于许可链数据的可持久化,提供了对于区块链上交易的多种排序方法。

第一方面,本申请提供了一种排序交易队列的方法,所述交易队列中包括多个交易,其特征在于,所述方法包括:确定每个交易对应一个交易序列号;按照一定的规则对每个交易的交易序列号排序;选择交易序列号最小的交易。

在一种可能的实现方式中,所述按照一定的规则对每个交易的交易序列号排序,包括:按照交易先来先到的顺序对每个交易的序列号排序;或者,按照用户自定义的优先级对每个交易的序列号排序。

其中,所述按照交易先来先到的顺序对每个交易的序列号排序,包括:先进入交易队列的交易的交易序列号小于后进入交易队列的交易的序列号。

在一种可能的实现方式中,所述按照用户自定义的优先级对每个交易的序列号排序,包括:高优先级交易的交易序列号小于低优先级交易的交易序列号,或者,vip交易的交易序列号小于非vip交易的交易序列号。

第二方面,本申请提供一种排序交易队列的装置,所述交易队列中包括多个交易,其特征在于,所述装置包括:确定单元,用于确定每个交易对应一个交易序列号;排序单元,用于按照一定的规则对每个交易的交易序列号排序;选择单元,用于选择交易序列号最小的交易。

在一种可能的实现方式中,所述排序单元,还用于按照交易先来先到的顺序对每个交易的序列号排序;或者,按照用户自定义的优先级对每个交易的序列号排序。

可选的,所述排序单元,还用于配置先进入交易队列的交易的交易序列号小于后进入交易队列的交易的序列号。

在一种可能的实现方式中,所述排序单元,还用于配置高优先级交易的交易序列号小于低优先级交易的交易序列号,或者,vip交易的交易序列号小于非vip交易的交易序列号。

第三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面至第六方面任一方面所述的方法。

第四方面,本申请提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现第一方面至第二方面任一方面所述的方法。

本申请通过提供许可链模型下基于不同策略的多种排序交易队列的方法及装置,使用户通过配置参数就可以进行交易排序,提高了许可链的可用性、灵活性和用户友好性,使许可链的应用场景更加多样化。

附图说明

图1为本申请实施例提供的一种排序交易队列的方法流程示意图;

图2为本申请实施例提供的一种排序交易队列的装置示意图。

具体实施方式

需要说明的是,本发明技术方案中,“交易”是指改变许可链模型中账户状态的一次事件,并不等同于金融领域中交易的含义。

区块链本质上是一个去中心化的数据库,是一连串使用密码学方法产生相关联的数据块,每一个数据块中包含了一段时间内全网交易的信息。不同的区块链,有着不同的内涵和功能。

区块链包括公有链和许可链。公有链(publicblockchain)是指没有准入机制,全世界任何人都可以根据公开协议,生成合法账户,参与读取,发送交易,交易确认,甚至参与共识的区块链。许可链(permissionedblockchain)是指节点和用户有准入机制的区块链,由若干个机构组成共同体,每个机构都运行着一个节点,为了使每个区块生效需要获得其中多数机构的确认。区块链上用户的身份也经过审核,大多为实名制,与现实世界的身份关系对应。

本申请提供一种许可链模型下的交易池排序方法及装置,用以提供对于区块链上交易的多种排序方法及装置,使用户通过参数配置即可进行交易排序,提高了许可链的用户的友好性,使许可链可以适应更多的场景,运用更加灵活。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。

图1为本申请实施例提供的排序交易队列的方法流程示意图。本申请实施例提供的方法,包括如下步骤:

s101、确定每个交易对应一个交易序列号。

交易中等待的队列存在于交易池中,交易队列中包括多个交易。交易池中还包括数据表记录交易哈希值tx_hash和交易序列号index。交易哈希值用于数据的签名和数据的完整性。每个交易对应一个交易序列号,交易的排序策略都是由交易序列号index来进行实现的。

s102、按照一定的规则对每个交易的交易序列号排序。

在一种可能的实现方式中,所述按照一定的规则对每个交易的交易序列号排序,包括:按照交易先来先到的顺序对每个交易的序列号排序;或者,按照用户自定义的优先级对每个交易的序列号排序。

可选的,所述按照交易先来先到的顺序对每个交易的序列号排序,包括:先进入交易队列的交易的交易序列号小于后进入交易队列的交易的序列号。如果交易以先来先到的顺序进入交易池,则交易序列号index是自增的,第一个进入交易池的交易赋值为0,第二个进入交易池的交易赋值为1,依次类推。

可选的,所述按照用户自定义的优先级对每个交易的序列号排序,包括:高优先级交易的交易序列号小于低优先级交易的交易序列号,或者,vip交易的交易序列号小于非vip交易的交易序列号。

如果交易是按照用户自定义优先级进入交易池,则共识节点会额外维护包含各优先级addr_list的数据表,通过接口,根据addr_list,赋给低优先级的index数值大,赋给高优先级的index数值低,从而高优先级的交易排在前面,低优先级的交易排在后面。

如果按照vip模式进行排序,用户在链外与共识节点达成一致,让其设置自己成为vip用户。则共识节点会额外维护包含vip信息的vip_list表,比如vip共有100位,则把0-100位的index提前预留出来,通过接口,普通交易的index赋值从101开始,同样按照index的数值进行交易排序。同样地,普通交易的交易排序,仍然可以采用上述的按照交易先来先到的顺序对每个交易的序列号排序;或者,按照用户自定义的优先级对每个交易的序列号排序,在此不再赘述。

s103、选择交易序列号最小的交易。

用户可以选择上述步骤中的一种排序方法,按照交易序列号index的数值从小到大进行排序,选择交易序列号最小的进行交易。

以上,结合图1详细描述了根据本申请实施例的排序交易队列的方法,下面,结合图2描述根据本申请实施例的排序交易队列的装置,方法实施例所描述的技术特征同样适用于以下装置实施例。

图2示出了根据本申请实施例的排序交易队列的装置200的示意性框图。如图2所示,该装置200包括:

确定单元201,用于确定每个交易对应一个交易序列号。

排序单元202,用于按照一定的规则对每个交易的交易序列号排序。

选择单元203,用于选择交易序列号最小的交易。

在一种可能的实现方式中,所述排序单元202,还用于按照交易先来先到的顺序对每个交易的序列号排序;或者,按照用户自定义的优先级对每个交易的序列号排序。

可选的,所述排序单元202,还用于配置先进入交易队列的交易的交易序列号小于后进入交易队列的交易的序列号。

在一种可能的实现方式中,所述排序单元202,还用于配置高优先级交易的交易序列号小于低优先级交易的交易序列号,或者,vip交易的交易序列号小于非vip交易的交易序列号。

结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于用户设备中。本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1