一种基于HyperledgerFabric的数据高效共享方法与流程

文档序号:20205198发布日期:2020-03-27 22:32阅读:来源:国知局

技术特征:

1.一种基于hyperledgerfabric的数据高效共享方法,其特征在于,该方法包括以下流程:

步骤1:各个client节点将labeldata用community节点的公钥加密后和clienthash以及自身签名一起发送到community节点;

步骤2:community节点收集所有client的labeldata,用私钥解密后,验证数据,验证签名,计算roothash,并执行社区划分算法,该算法具体流程包括:

步骤(2-1):读取所有节点的标签数据;

步骤(2-2):设置初始k值为3,随机选取k个节点作为初始聚类中心;

步骤(2-3):开始分配节点到k个社区,分配依据是将节点分配到与聚类中心节点相似度最大的社区,直到节点全部分配完毕;

步骤(2-4):下一次迭代的开始,重新选取聚类中心,选取的聚类中心与其他节点的相似度和最大;

步骤(2-5):重复步骤(2-3)、(2-4),直到相似度误差平方和收敛;

步骤(2-6):设置最大k值为根号n,k值逐次升高至最大k值,重复执行步骤(2-2)、(2-3)、(2-4)、(2-5)四步,综合考虑相似度误差平凡和以及共享度评价指标,找到局部的最优社区划分结果;

步骤(2-7):设置总迭代次数,重复执行步骤(2-2)、(2-3)、(2-4)、(2-5)、(2-6)五步,通过多轮迭代,找到全局最优的社区划分结果;

其中余弦相似度的公式具体为式(1)

式中,xi、yi分别表示两个节点标签数据映射到空间向量的坐标值;

共享度的公式具体为式(2)

式中,q表示一个client节点上传的社区公开数据条数;qtotal表示所有节点上传的社区公开数据条数;n表示一个社区中的节点总数;ui表示第i个client节点;cj表示第j个社区;

误差平方和(sse)的公式具体为式(3)

式中,k表示一共有k个社区;coss表示两个节点之间的相似度值;ci表示第i个社区;

步骤3:community节点将社区划分结果、roothash以及自身的签名广播发送到所有endorsedpeer节点;

步骤4:endorsedpeer节点通过roothash和clienthash验证labeldata的真实性,然后对结果进行验证,验证通过后对该笔交易背书;

步骤5:community节点收到足够数量的,并且得到了重要节点的背书之后,将社区划分结果和自身签名发送到order节点;

步骤6:order节点验证签名,将社区划分结果排序并打包成区块,广播到commitpeer节点;

步骤7:commitpeer节点进行最后的验证,验证成功后区块上链;

步骤8:client节点从peer节点获取自身的社区信息以及被共享的数据。

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