[发明专利]基于快照的分布式账本平台事务处理优化方法在审
申请号: | 202110915260.1 | 申请日: | 2021-08-10 |
公开(公告)号: | CN113835847A | 公开(公告)日: | 2021-12-24 |
发明(设计)人: | 熊贇;赵锦涛;朱扬勇 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F16/23;G06F16/22;G06F16/27 |
代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 快照 分布式 账本 平台 事务处理 优化 方法 | ||
1.一种基于快照的分布式账本平台事务处理优化方法,其特征在于,包括:
(1)首先,对区块链系统中事务进行细分类:
根据基于EOV框架的区块链系统中事务的特性,即事务由于不同的读写集使得其在EOV框架中存在不同的生命周期,将事务的种类、并发类型及事务间依赖关系进行细化,根据事务的读写集对EOV框架中的事务进行分类:分为只作用于Execute阶段的只读事务,与贯穿EOV框架的只写事务与读写事务;对细分后的事务定义一系列面向EOV框架的事务的并发类型、事务的种类及事务间依赖关系,完善适用于EOV框架的区块链系统的并发事务分类;具体地,定义并发事务为存在时间与读写集重叠的事务,并定义并发事务间存在的c-rw依赖、anti-rw依赖和c-ww依赖;
(2)其次,确定区块链系统中事务可串行化调度策略:
根据结合分布式账本平台中事务的特性,提出新的可串行化调度策略,即通过避免跨块并发事务间的anti-rw依赖关系与块内并发事务构成的依赖图出现环结构来保证事务在分布式账本平台中的可串行化调度,并禁止所有并发事务间的anti-rw依赖;
(3)然后,对区块链系统中事务进行重排序:
重排序是排序节点在打包区块时更改区块内事务的原有顺序,通过严格禁止块内并发事务的anti-rw依赖以完成事务调度的可串行化,并借助重排序减少此过程中事务的中止率:
对于只写事务,在后续重排序环节不考虑只写事务,仅需在最后打包出块时,将这些只写事务放在区块内最后的位置即可;
对于读写事务,块内并发事务若不存在anti-rw依赖与c-rw依赖构成的环,则通过重排序将anti-rw依赖转换为c-rw依赖,进而达成事务的可串行化调度;若块内并发事务存在anti-rw依赖与c-rw依赖构成的环,则对环中的事务进行丢弃;当触发打包出块条件时,对块内事务按照拓扑排序进行重排序后打包出块;
(4)最后,在分布式账本平台上实现上述基于快照的分布式账本平台事务处理。
2.根据权利要求1所述的优化方法,其特征在于,在对区块链系统中事务进行重排序过程中,需进行依赖检测分析:在排序节点当新事务到来时,先根据事务是否存在读集,分为只写事务与读写事务;对于只写事务,简单的将其放入只写事务队列而不需要进行跨块并发事务的anti-rw依赖检测;对于读写事务,通过判断该事务是否与之前区块中的事务存在跨块并发的anti-rw依赖,若存在anti-rw依赖,则丢弃该事务,若不存在则进入下一流程;
其中,所述判断该事务是否与之前区块中的事务存在跨块并发的anti-rw依赖,是使用哈希Map记录所有已提交区块中写集及其最新提交的区块号,当满足当前事务写集key所读取的快照号小于Map中对应key的提交区块号时,即认为当前事务与某一跨块并发事务存在anti-rw依赖。
3.根据权利要求1所述的优化方法,其特征在于,在对区块链系统中事务进行重排序过程中,需进行重排序可行性分析:当读写事务通过依赖检测分析检查后,仅计算该事务与其他块内并发事务的c-rw依赖,因为可串行化调度的事务只能以c-rw依赖提交,任何anti-rw依赖需要进行重排序以转换为c-rw依赖;若出现c-rw依赖的环,则意味着此环中的事务无法全部以c-rw依赖完成事务的提交,需要删除环中事务以维护依赖图的无环属性;若没有出现c-rw依赖的环,则意味着这个事务能够进行串行化调度,将其加入等待出块的事务集合;
具体地,通过维护一个块内并发事务的c-rw依赖图G来检测读写事务是否能够通过重排序完成提交,若能够通过检测,则将其加入等待事务队列以等待打包出块;其检测依靠基于深度优先的搜索方法,当新的事务及其依赖关系加入依赖图后,以新事务为起点进行一轮深度优先搜索,若在遍历过程中存在由其他事务指向通过保持依赖图G中无环以确保G中全部事务能够完成可串行化调度,由于并发事务之间不允许存在anti-rw依赖,任何块内并发事务之间的anti-rw依赖通过重排序转换为c-rw依赖;若G中存在c-rw依赖的循环,则意味着环中必然有事务无法以c-rw依赖提交,则丢弃环中事务,以保证G中事务能够可串行化调度。
4.根据权利要求1所述的优化方法,其特征在于,在对区块链系统中事务进行重排序过程中,当触发出块条件时,对区块打包,即对现有无环的事务依赖图进行拓扑排序,拓扑排序的顺序即当前区块中事务的顺序,最后与只写事务队列合并从而完成出块操作,同时清理事务依赖图、等待事务队列与只写事务队列,并根据当前等待事务队列中事务的写集更新已提交事务写集哈希Map。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110915260.1/1.html,转载请声明来源钻瓜专利网。