[发明专利]一种联盟链分片方法、装置及存储介质有效
申请号: | 202210201790.4 | 申请日: | 2022-03-03 |
公开(公告)号: | CN114298713B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 郭东升;陈嘉俊;臧铖 | 申请(专利权)人: | 浙商银行股份有限公司;易企银(杭州)科技有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 刘静 |
地址: | 311200 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 联盟 分片 方法 装置 存储 介质 | ||
1.一种联盟链分片方法,其特征在于,包括:
设定联盟链分片个数k;
根据交易依赖关系对交易进行DAG排序,构建交易DAG结构;
采用基于顶点度数和随机哈希的图分割方法,将所述交易DAG结构分割为k个子图,并记录各子图的有依赖关系的前序子图集合,包括:
遍历交易DAG结构中每条边的两个顶点vi和vj,计算顶点vi的度数di,顶点vj的度数dj;如果didj,则子图id值Pid为Hash(vi)mod(k),Hash(vi)为顶点vi的哈希值,mod表示取模操作;如果di≥dj,则子图id值Pid为Hash(vj)mod(k);将顶点vi,vj和对应的边分配到Pid对应的子图中;遍历完交易DAG结构后,得到每个子图中的顶点集合和边集合;
将具有切割边的子图通过向量表记录子图依赖关系,所述向量表记为map[Pid]Vec{vec0,vec1,…,vecm},其中0≤m<k,Pid为子图id值,向量集Vec为与Pid对应的子图有依赖关系的前序子图集合,向量集Vec中的每个向量vect中包括前序子图id值和子图间依赖关系,0≤t≤m;根据子图间依赖关系建立子图对应分片的执行顺序关系;
将各子图中的交易集合分配到对应分片中;
各分片开启并发执行线程,线程执行内容为分片内子图中的交易集合,根据各子图依赖关系通过条件锁调度线程进行跨分片通信,包括:
(1)分析子图依赖关系,将具有依赖关系的线程通过条件锁进行调度,某线程的执行条件为具有依赖关系的前序线程均执行完毕才能执行;
(2)没有依赖关系的分片并发执行;
(3)分片并发生成区块后按照生成时间戳排序,并更新主链。
2.根据权利要求1所述的方法,其特征在于,所述联盟链分片个数k根据联盟链网络节点规模及交易负载情况自定义配置。
3.根据权利要求1所述的方法,其特征在于,所述图分割得到的每个子图均为交易DAG结构,各分片内子图中的交易集合按照交易DAG结构并发执行交易,并生成区块。
4.根据权利要求1所述的方法,其特征在于,根据联盟链内网络节点负载情况、共识策略和安全策略,对每个分片内联盟链节点进行划分。
5.根据权利要求1所述的方法,其特征在于,每个分片内的节点集合,包括超级节点、随机选出的若干骨干节点、交易相关方节点、共识签名要求节点、随机生成的安全节点、负载压力小于要求的若干节点。
6.一种联盟链分片装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,其特征在于,所述处理器执行所述可执行代码时,实现如权利要求1-5中任一项所述的方法。
7.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时,实现如权利要求1-5中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙商银行股份有限公司;易企银(杭州)科技有限公司,未经浙商银行股份有限公司;易企银(杭州)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210201790.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:光学系统及激光雷达
- 下一篇:基于设备无关颜色空间的色差测量方法和系统