【技术实现步骤摘要】
固定执行顺序的交易方法和装置
本专利技术涉及计算机
,尤其涉及一种固定执行顺序的交易方法和装置。
技术介绍
在联盟链中,块内填充的需要达成共识的交易列表(一般存储在块结构),一般是从一个存储交易的交易池中筛选出交易后添加到列表里生成的,交易列表中的交易会按照列表中的顺序执行。在从交易池中筛选交易放入交易列表时,所使用的筛选规则在系统底层会有默认的实现,也可以由节点的运营方对筛选规则进行修改制定,例如包括先进先出或者制定有利于自己的特定的规则。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:先进先出规则会受网络影响,并且节点运营机构制定的规则也无法第一时间同步到所有使用者。所以交易的发送者或者应用的使用者是无法确定由自己所发的交易列表可以按照自己希望的固定顺序被执行的。而架构在区块链之上的应用因为业务的需要,往往会有对固定交易执行顺序的需求,即下一笔交易依赖上一笔或多笔交易的执行结果,通用做法是等上一笔或多笔交易拿到回执,确认已经执行完成并上链之后再发下一笔交易,这样会极大的影响业务处理
【技术保护点】
1.一种固定执行顺序的交易方法,其特征在于,包括:/n接收待执行的交易,按照组装规则将具有同一标识的交易生成组装交易,并将所述组装交易发送到交易池;/n响应于从所述交易池中获取交易,对获取的组装交易进行解析以得到交易列表;/n按照所述交易列表中每个交易的执行顺序进行交易执行。/n
【技术特征摘要】
1.一种固定执行顺序的交易方法,其特征在于,包括:
接收待执行的交易,按照组装规则将具有同一标识的交易生成组装交易,并将所述组装交易发送到交易池;
响应于从所述交易池中获取交易,对获取的组装交易进行解析以得到交易列表;
按照所述交易列表中每个交易的执行顺序进行交易执行。
2.根据权利要求1所述的交易方法,其特征在于,在接收待执行的交易之前,还包括:
为待执行的交易添加预留字段,所述预留字段包括交易标识、本批次交易总数、所述交易在本批次中执行的交易序号以及在所述交易之后执行的交易序号。
3.根据权利要求2所述的交易方法,其特征在于,将具有同一标识的交易生成组装交易包括:
根据交易的预留字段,获取标识相同的多个交易,并按照每个交易在本批次中执行的交易序号以及在所述交易之后执行的交易序号进行交易排序;
根据所述本批次交易总数对获取的多个交易进行判断,若本批次交易接收完毕,则将获取的多个交易的数据组装为组装交易的数据部分;
设置组装交易的交易接收方为设定的特殊地址,并为所述组装交易添加组装标识以生成组装交易。
4.根据权利要求2所述的交易方法,其特征在于,将具有同一标识的交易生成组装交易包括:
把交易存储在本地,保存每个交易在本批次中执行的交易序号或哈希签名到交易数据的映射;
根据交易的预留字段,获取标识相同的多个交易,并按照每个交易在本批次中执行的交易序号以及在所述交易之后执行的交易序号进行交易序号或哈希签名排序;
根据所述本批次交易总数对获取的多个交易进行判断,若本批次交易接收完毕,则将获取的多个交易在本批次中执行的交易序号或哈希签名组装为组装交易的数据部分;
设置组装交易的交易接收方为设定的特殊地址,并为所述组装交易添加组装标识以生成组装交易。
5.根据权利要求1所述的交易方法,其特征在于,对获取的组装交易进行解析以得到交易列表之前,还包括:
通过钩子函数对从所述交易池中获取的交易的交易接收方进行判断;
若所述交易接收方是预定义的特殊地址,则获取所述交易的标识;
若所述交易的标识为组装标识,则判断从所述交易池中获取的交易为组装交易。
6.根据权利要求1所述的交易方法,其特征在于,对获取的组装交易进行解析以得到交易列表包括:
按照所述组装规则对获取的组装交易进行解析,以得到所述组装交易对应的交易列表;
或,按照所述组装规则对获取的组装交易进行解析,以得到所述组装交易对应的交易序号列表或哈希签名列表,并根据所述交易序号列表或所述哈希签名列表得到所述组装交易对应的交易列表。
7.根据权利要求1所述的交易方法,其特征在于,将具有同一标识的交易生成组装交易之前,还包括:
通过对交易的签名进行校验以验证所接收的交易的有效性。
8.一种固定执行顺序的交易装置,其特征在于,包括:
交易组装模块,用于接收待执行的交易,按照组装规则将具有同一标识的交易生成组装交易,并将所述组装交易发送到交易池;
交易解析模块,用于响应于从所述交易池中获取交易,对...
【专利技术属性】
技术研发人员:冯开开,
申请(专利权)人:中国人民银行数字货币研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。