System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及区块链,具体的说是一种基于交易有效性验证和重排序的区块链系统并发控制方法。
技术介绍
1、区块链集成了密码学、分布式共识、时间戳等技术,具有不可篡改、全程可追溯和透明可信等优势。在不可信的环境中,区块链成为一种低成本建立信任的新型计算范式和协作模式,广泛应用于商品溯源、物联网等多个领域。在区块链领域,公有区块链因低效的串行执行导致其极大的发展局限性。以hyperledger fabric为代表的区块链系统通过引入并行性使系统的吞吐量获得的较大的提升并进一步丰富了应用场景,但同时也引入了交易冲突问题,并导致大量交易在验证阶段被中止,造成了严重的计算资料浪费。现有的冲突解决算法存在执行效率低以及时间复杂度高的问题。
技术实现思路
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、有益效果:
29、1、本专利技术通过缓存区块信息、区块间交易冲突,交易有效性检测和区块内交易重排序结合的方式实现,在保证交易实际有效性的前提下,大大降低了区块链的交易中止率;
30、2、本专利技术在区块间冲突检测阶段,缓存部分最新的交易信息,并进行比对,及时发现冲突交易并中止,同时未中止交易的读写分离,用于构建键-交易号关联关系;
31、3、本专利技术在交易实际有效性检测阶段,基于键-交易号的关系,结合当前键值,检测交易是否具有实际有效性,并及时中止无效交易;
32、4、本专利技术采用交易重排序机制,通过交易冲突检测发现冲突交易及冲突循环,及时中止引发冲突和冲突循环的交易,降低交易中止率。
本文档来自技高网...【技术保护点】
1.基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,所述方法包括并行执行的如下步骤:
2.如权利要求1所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,缓存结构包括键、键值、键值的版本号、已提交的区块号和正在提交的区块号。
3.如权利要求2所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,所述读写集关系包括包含有交易号和键值的读集关系表以及包含有交易号和键值的写集关系表。
4.如权利要求3所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,基于读写集关系对交易进行区块间冲突检测的具体方法包括:
5.如权利要求3所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,基于读写集关系对交易进行区块间冲突检测的具体方法包括:
6.如权利要求1所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,基于键值和交易号对缓存的所有初步有效交易进行实际有效性检验的具体方法包括:基于键值的初始值与最终值之间的差值计算所有键值的最终状态;
7.如权利要求6所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,当最终状态为负时,确定无效交易的具体方法包括如下步骤:
8.如权利要求1所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,对所有实际有效交易进行重排序的具体方法包括如下步骤:
9.如权利要求8所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,基于排序过程对实际有效交易进行再次筛选的具体方法为:在对实际有效交易赋予序列号时,若实际有效交易已经被赋予了序列号,则检查其与最大序列号之间的关系,若已赋予的序列号小于最大序列号,则将实际有效交易作为无效交易并且中止。
...【技术特征摘要】
1.基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,所述方法包括并行执行的如下步骤:
2.如权利要求1所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,缓存结构包括键、键值、键值的版本号、已提交的区块号和正在提交的区块号。
3.如权利要求2所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,所述读写集关系包括包含有交易号和键值的读集关系表以及包含有交易号和键值的写集关系表。
4.如权利要求3所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,基于读写集关系对交易进行区块间冲突检测的具体方法包括:
5.如权利要求3所述的基于交易有效性验证和重排序的区块链系统并发控制方法,其特征在于,基于读写集关系对交易进行区块间冲突检测的具体方法包括:
6.如权利要求1所述的基于交易有效...
【专利技术属性】
技术研发人员:刘扬,贺金龙,陈静雯,彭松,田方超,王锋,傅健豪,张苗苗,史士东,
申请(专利权)人:河南工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。