一种面向依赖交易的区块链交易打包方法技术

技术编号:37379627 阅读:19 留言:0更新日期:2023-04-27 07:21
本发明专利技术提出了一种面向依赖交易的交易打包方法。首先,针对依赖交易的特点,对依赖交易进行相关定义,并在该定义的基础上提出了一个基于Goodput的兼顾系统吞吐量与用户服务质量的指标,并以最大化Goodput指标为目的进行问题建模;之后,针对依赖交易场景下用户服务质量问题,本发明专利技术提出了基于Jaya的交易打包方法。该方法对交易读写冲突进行优化的同时,得到一个最大化Goodput指标的打包结果,为了保证方法的收敛性和结果的最优性,本发明专利技术对方法进行了优化。最后,针对FIFO策略存在的交易分配区块过于分散的问题,本发明专利技术将同一用户的所有子交易聚合在同一区块处理,并设计了一个基于贪心方法的分配策略。于贪心方法的分配策略。于贪心方法的分配策略。

【技术实现步骤摘要】
一种面向依赖交易的区块链交易打包方法


[0001]本专利技术属于区块链


技术介绍

[0002]区块链可以看做是一种通过共识机制保证交易内容不可篡改的数据存储服务,它是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,每个数据区块中都包含一组交易,并在P2P网络的基础上,通过密码学安全存储简单的、有先后关系的、能在系统内验证的数据。
[0003]以比特币、以太坊、Hyperledger Fabric为代表的主流区块链系统对于交易是分离处理的,客户端的一次请求作为一笔交易,每笔交易作为一个独立个体,发送到区块链网络中进行处理,因此,在交易分离处理的情况下,当前的多数研究致力于优化系统的吞吐量,提高交易处理速率。
[0004]但上述处理过程并不适用于具有依赖关系的交易。对于两笔交易A和B,如果交易A失败,则交易B必将失败,称A和B之间存在依赖关系且B依赖于A。旅游定制服务中就存在这样的依赖关系,机票预订服务的失败会导致酒店预订、景区门票预订、用车预订任一服务的失败,因为游客没有机票就无法到达旅游目的地,酒店等服务也就本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种面向依赖交易的区块链交易打包方法,其特征在于:(1)根据依赖交易的特点,提出了一个基于Goodput的兼顾系统需求与用户需求的指标,并对依赖交易场景下的用户服务质量问题进行建模;(2)修改了出块机制,提出了一个基于Jaya的交易打包方法,对交易冲突合并进行优化的同时,得到一个最大化Goodput指标的打包结果,并对该方法进行了优化处理;(3)针对FIFO策略存在的交易分配区块过于分散的问题,将同一用户的所有子交易聚合在同一区块处理,并设计了一个基于贪心方法的分配策略;(1)问题建模1.1)定义依赖关系并利用公式(1)表示;根据依赖关系定义关键交易和附加交易;其中MT表示依赖交易,T2→
T1交易T1与交易T2之间存在依赖关系,且交易T2依赖于交易T1,其中,交易T1为关键交易,交易T2为附加交易;MT={T1,T2|T2→
T1}
ꢀꢀꢀꢀ
(1)1.2)定义关键交易集合;假设存在三笔交易T1、T2、T3,交易T1依赖于交易T2,交易T1依赖于交易T3,则称交易T1依赖于交易集合{T2,T3},且交易集合{T2,T3}称为交易T1的关键交易集合,即KT={T2,T3};1.3)定义依赖交易的收益并利用公式(2)统计;其中MT表示依赖交易,KT表示关键交易集合,a
i
表示交易i的执行结果且a
i
∈{0,1},r
i
表示用户自定义的交易i执行结果的期望收益;1.4)定义用户服务质量指标Utilility表示用户满意程度并利用公式(3)计算;其中,Profit(MT)表示依赖交易MT的实际收益,Profit(MT_ideal)表示依赖交易MT的理想收益,即所有子交易的收益总和,这是用户最满意的情况;1.5)定义了兼顾系统吞吐量与用户服务质量的Goodput指标并利用公式(4)计算;其中Set表示依赖交易集合,throughput(Set)表示依赖交易集合中成功交易数量,表示依赖交易集合中所有依赖交易MT
i
的用户服务质量总和,m表示依赖交易数量;1.6)以商品库存为业务背景,对依赖交易场景的用户服务质量问题进行建模;1.6.1)定义每笔独立子交易;由于商品库存场景下每笔独立子交易都是对某个商品的买卖操作,因此使用四元组T=(x,s,p,f)表示每笔独立子交易;其中x∈{0,1}表示当前交易T执行结果成功与否,x=0表示交易T执行成功可打包成块,x=1表示交易T执行失败需要早期中止;s={s1,s2...s
l
}表示交易T对商品集合的买卖数量,其中,s
k
=(key
k
,num
k
)表示对键值为key
k
的商品的买卖数量为num
k
;p表示交易T的收益,f∈{0,1}表示交易T的标识,f
=1表示交易T为关键交易,f=0表示交易T为附加交易;1.6.2)定义每笔依赖交易使用二元组MT=(tSet,KT)表示;其中tSet={T1,T2...T
n
}表示依赖交易下的所有独立子交易集合;KT表示依赖交易MT的关键交易集合;1.6.3)定义商品库存状态使用B={b1,b2...b
h
}表示;其中h表示商品总数,b
i
对于键值为key
i
的商品当前世界状态为b
i
;1.6.4)定义库存约束并用公式(5)表示;对于库存约束,针对原有的读写冲突问题,在冲突合并的基础上进行优化,以提高成功交易的数量;对修改同一键值的交易进行冲突合并,只要保证交易的买卖量总和≤当前商品的库存量,所有交易都可成功执行;∑T
i
.x*T
i
.s
k
.num
k
≤b
k
ꢀꢀꢀꢀ
(5)1.6.5)定义依赖约束并用公式(6)表示;依赖约束指的是如果关键交易集合中任一笔交易执行失败,则整个依赖交易的执行结果必须都为失败;1.6.6)在满足库存约束和依赖约束的前提下以最大化Goodput指标为目标进行问题建模并用公式(7)表示;(2)使用改进Jaya方法寻找满足步骤(1)问题定义的交易打包策略;2.1)对交易集合进行预处理操作;关键交易集合中的任一交易失败都会导致与之关联的附加交易的失败;根据这一特点,将每个关键交易集合进行压缩处理,即将关键交易集合中所有子交易的向量压缩到一个向量中进行表达;2.2)对Jaya方法进行优化,并使用优化后的Jaya方法得到打包策略;2.2.1)进行问题编码;采用离散编码策略来生成n维解的个体,并使用公式(8)表示;其中,i表示当代种群中的个体k,t表示迭代次数,n是经过预处理后的交易数量,每个个体是一个n维的整数向量;X
i,t
第t代种群中个体i的n维向量取值,即表示n笔交易的打包策略,X
j,i,t
表示第t代种群中个体i的第j维向量的取值,X
j,i,t
∈(0,1)表示第j笔交易是否打包;X
i,t
=(X
1,i,t
,X
2,i,t
...X
n,i,t
)
ꢀꢀꢀꢀ
(8)2.2.2)设计适应度函数;编码策略并不满足可行性原则,即存在部分解是不满足库存约束和依赖约束的,必须对两类约束进行处理;2.2.2.1)定义约束违背程度G处理库...

【专利技术属性】
技术研发人员:梁毅王子璇赵昱王哲
申请(专利权)人:北京工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1