一种基于区块链平台的自适应配置交易打包方法与流程

文档序号:20775626发布日期:2020-05-19 20:44阅读:501来源:国知局
一种基于区块链平台的自适应配置交易打包方法与流程

本发明涉及区块链技术领域,尤其涉及一种基于区块链平台的自适应配置交易打包方法。



背景技术:

区块链技术是一种分布式账本技术,同时也是一个点对点的协作网络。协作方节点共同维护数据,每个协作方节点都有一份完整数据,且所有协作方节点数据保持一致。这一切都需要依赖于区块链的共识机制。

共识机制步骤如下:协作方节点将区块(每个打包的交易叫做一个区块)分发到其他协作方节点进行共识验证,验证区块无误后(即各个协作方达成了共识),其他协作方节点同步该区块。

目前大部分区块链平台采用的共识算法为pbft(实用拜占庭容错算法)。理想环境下(即不考虑网络延迟等情况),该共识算法处理能力只能达到五六百tps(每秒处理的消息数),不能适应不同场景下业务需求。例如在批量数据登记的情况下,会产生大量的区块,导致共识效率大打折扣,数据上链效率降低。



技术实现要素:

本发明的目的在于针对现有技术的不足,提供一种基于区块链平台的自适应配置交易打包方法,以解决现有区块链技术在打包共识阶段处理效率差,不能满足不同场景的应用需求。

为实现上述目的,本发明有如下技术方案:一种基于区块链平台的自适应配置交易打包方法,包括以下步骤:

区块链平台同时处理多个交易请求,当交易达到打包时间阈值或者交易笔数阈值时,平台根据交易请求的先后顺序进行全部或者部分打包,并将打包后的交易信息在区块链节点上进行共识处理;

将区块链平台控制交易打包的两个参数:打包时间t、交易笔数n,以及打包时间初始值p和交易笔数初始值q配置在配置文件中,并在配置文件中配置参数策略;

区块链平台根据前一时间段i的每秒交易请求数,自适应读取配置文件中的参数策略,获得最优打包参数,并刷新打包时间、交易笔数值;

区块链平台根据刷新后的打包参数进行交易打包和节点共识;

所述参数策略的设计原则为:

当前一时间段i内的每秒交易请求数小于交易笔数初始值q时,区块链平台采取实时登记策略,根据前一时间段i内的每秒交易请求数划分为若干等级区间,随着交易请求数增加,交易请求数对应等级的打包时间同步增加,最高等级打包时间内的交易请求数小于交易笔数初始值q;

当前一时间段i内的每秒交易请求数大于等于交易笔数初始值q,区块链平台采取批量登记策略,根据前一时间段i内的每秒交易请求数划分为若干等级区间,随着交易请求数增加,交易请求数对应等级的交易笔数同步增加,且打包时间t内收到的交易请求数均大于交易笔数n,最高等级交易笔数不超过区块链平台处理交易的上限。

进一步地,区块链平台能够随时读取配置文件,并且刷新打包参数的值。

进一步地,自适应的区块链平台具有通用性,能够适应任何场景应用,并具有较高的处理效率。

进一步地,根据当前交易请求数来改变打包参数;某时间段内交易请求数较少,且要求实时登记交易信息的,打包时间设置为较小值;随着交易请求数增加,可以将打包时间相应比例调大,以提高效率;当短时间内有大量交易请求时,增大交易笔数,进行批量打包,减少区块链平台生成的区块数量,提高批量交易登记效率。

本发明的有益效果如下:

1.区块链平台将控制交易打包的两个参数进行配置,并根据不同场景,配置了不同的参数策略,旨在提高不同场景下的数据上链效率。较以往固定参数相比,该方式更为灵活,高效。

例如,使用以往固定参数,打包参数中的打包时间设置为一个较小值,发现当交易请求数量较少时,可以很快的将数据登记到区块链上。但是随着交易请求数量的增大,数据上链效率不升反降。究其原因是随着交易请求数量的增大,区块数量也快速增多,超过了区块链平台共识算法的上限。在这种场景下,需要减少区块的产生,将打包时间设定为一个较大值,让区块链平台根据交易笔数的阈值触发交易打包操作。

2.区块链平台根据不同的场景调整参数是自适应的。参数策略是可配置,可扩展的。可以根据区块丰富的应用场景,增加优化参数策略的设置。

3.区块链平台自适应配置交易打包方法能够整体提高数据上链的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明基于区块链平台的自适应配置交易打包方法流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。

如图1所示,本申请提出了一种基于区块链平台的自适应配置交易打包方法,该方法包括:

区块链平台同时处理多个交易请求,当交易达到打包时间阈值或者交易笔数阈值时,平台根据交易请求的先后顺序进行全部或者部分打包,并将打包后的交易信息在区块链节点上进行共识处理;

将区块链平台控制交易打包的两个参数:打包时间t、交易笔数n,以及打包时间初始值p和交易笔数初始值q配置在配置文件中,并在配置文件中配置参数策略;

区块链平台根据前一时间段i的每秒交易请求数,自适应读取配置文件中的参数策略,获得最优打包参数,并刷新打包时间、交易笔数值;自适应的区块链平台具有通用性,能够适应任何场景应用,并具有较高的处理效率;

区块链平台根据刷新后的打包参数进行交易打包和节点共识;

所述参数策略的设计原则为:

当前一时间段i内的每秒交易请求数小于交易笔数初始值q时,区块链平台采取实时登记策略,根据前一时间段i内的每秒交易请求数划分为若干等级区间,随着交易请求数增加,交易请求数对应等级的打包时间同步增加,最高等级打包时间内的交易请求数小于交易笔数初始值q;

当前一时间段i内的每秒交易请求数大于等于交易笔数初始值q,区块链平台采取批量登记策略,根据前一时间段i内的每秒交易请求数划分为若干等级区间,随着交易请求数增加,交易请求数对应等级的交易笔数同步增加,且打包时间t内收到的交易请求数均大于交易笔数n,最高等级交易笔数不超过区块链平台处理交易的上限。

本发明根据当前交易请求数来改变打包参数;某时间段内交易请求数较少,且要求实时登记交易信息的,打包时间设置为较小值;随着交易请求数增加,可以将打包时间相应比例调大,以提高效率;当短时间内有大量交易请求时,增大交易笔数,进行批量打包,减少区块链平台生成的区块数量,提高批量交易登记效率。

在一个具体应用中,打包的参数策略如下:

将打包时间初始值p设置为0.05,将交易笔数初始值q设置为100;

当区块链平台前一时间段i内每秒收到的交易请求数a小于等于b(b为自定义的阈值,b小于q,例如取10),区块链平台采取实时登记策略,打包时间t设置为打包时间初始值p(例如0.05s),收到交易请求便立刻进行数据打包和节点共识。随着区块链平台i秒内收到的每秒交易请求数量的增大,例如每秒交易请求数a大于b小于等于c(c为自定义的阈值,c小于q,例如取20)时,区块链平台可根据增大的数量量级读取相应的配置参数值。实时登记的策略上可以依次设置10个等级区间(例如:i秒内,a<=10,t等于0.05,10<a<=20,t等于0.1,20<a<=30,t等于0.15,30<a<=40,t等于0.2,40<a<=50,t等于0.25,50<a<=60,t等于0.3….依此类推,最高等级打包时间内的交易请求数a小于100)。

当每秒交易请求数量过大时,会触发交易笔数的阈值。在这种情况下,区块链平台采取批量登记策略,将交易笔数值n变大。当i秒内每秒交易请求数a大于等于交易笔数初始值q小于w时,设置打包时间t为一较大值(例如5秒)。当i秒内每秒交易请求数a大于等于w小于f时,交易笔数n更新为w。同上也可以依次设置10个等级区间(例如:i秒内,100<=a<200,n等于100,200<=a<300,n等于200,300<=a<400,n等于300,400<=a<500,n等于400,500<=a<600,n等于500…依此类推,最高等级交易笔数不超过区块链平台处理交易的上限)。

实时登记策略和批量登记策略均通过增加10个梯度的值调整范围,使参数选择更加合理。由此区块链平台根据不同的交易请求数量场景,自适应选择其最优配置,从整体上提高区块链平台的处理效率,并具有通用性。

以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

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