数据分发、存储、读取、传输方法及分布式系统与流程

文档序号:30830294发布日期:2022-07-22 20:52阅读:来源:国知局

技术特征:
1.一种数据分发方法,包括:分发需求方基于纠删码技术将待分发的数据d转换成n个数据块,其中,所述n个数据块包括di,i=1、

、n,基于所述n个数据块中的m个数据块可得到d,n=m+2f,m>f,f为包括n个节点的分布式系统所容错的节点数量;分发需求方生成用于验证数据块是否合法的特征交叉校验信息fpcc;其中,若数据块属于所述n个数据块,则数据块合法;分布式系统的节点i获取分发需求方构建的分发消息,该分发消息包括di与fpcc;节点i基于该分发消息中的fpcc验证di是否合法,若合法,则基于预设生成规则,利用该分发消息中的fpcc生成已校验信息,并对已校验信息进行签名得到签名si;分发需求方获取节点i构建准备消息,该准备消息包括已校验信息与si;并且,对该准备消息中的si进行验证;分发需求方若确定获取到至少m+f个准备消息包含相同的已校验信息,并且,该至少m+f个准备消息皆通过签名验证,则基于该至少m+f个准备消息中的签名,构建包含签名的结束消息并发送给节点i;节点i在获取到分发需求方构建的结束消息之后,验证结束消息包含的签名,若验证通过,则确认di与fpcc。2.如权利要求1所述方法,分发需求方包括:分布式系统之外的客户端,或者,分布式系统的任一节点。3.如权利要求1所述方法,每个分发消息还包括分发流程标识,用于区分不同的待存储的数据的分发流程;每个准备消息还包括分发流程标识,每个结束消息还包括分发流程标识。4.如权利要求1所述方法,利用该分发消息中的fpcc生成已校验信息,包括:将该分发消息中的fpcc作为已校验信息;或者将该分发消息中的fpcc的哈希值作为已校验信息。5.如权利要求1所述方法,还包括:各节点之间预先基于门限签名协议,约定共同的公钥pk与节点i的私钥ski;其中,该门限签名协议的门限值≥m+f;节点i对已校验信息进行签名得到签名si,包括:使用私钥ski对已校验信息进行签名得到签名si;分发需求方基于该至少m+f个准备消息中的签名,构建包含签名的结束消息,包括:基于门限签名协议,将该至少m+f个准备消息中的签名组合成门限签名s,并构建包含s的结束消息;节点i验证结束消息包含的签名,包括:节点i使用公钥pk验证s。6.如权利要求1所述方法,还包括:节点i在存储di与fpcc之后,生成数据安全证明,该数据安全证明至少包含:已校验信息、结束消息所包含的签名。7.如权利要求6所述方法,该数据安全证明还包含:
数据d对应的分发流程标识。8.一种数据分发方法,包括:分发需求方基于纠删码技术将待分发的数据d转换成n个数据块,其中,所述n个数据块包括di,i=1、

、n,基于所述n个数据块中的m个数据块可得到d,n=m+2f,m>f,f为包括n个节点的分布式系统所容错的节点数量;分发需求方生成用于验证数据块是否合法的特征交叉校验信息fpcc;其中,若数据块属于所述n个数据块,则数据块合法;分布式系统的节点i获取分发需求方构建的分发消息,该分发消息包括di、fpcc与l;节点i基于该分发消息中的fpcc验证di是否合法,并且,验证l是否为基于fpcc得到的签名,若验证结果皆为是,则基于预设生成规则,利用该分发消息中的fpcc生成已校验信息,并对已校验信息进行签名得到签名si;分发需求方获取节点i构建准备消息,该准备消息包括已校验信息与si;并且,对该准备消息中的si进行验证;分发需求方若确定获取到至少m+f个准备消息包含相同的已校验信息,并且,该至少m+f个准备消息皆通过签名验证,则基于该至少m+f个准备消息中的签名,构建包含签名的结束消息并发送给节点i;节点i在获取到分发需求方构建的结束消息之后,验证结束消息包含的签名,若验证通过,则确认di、fpcc与l。9.如权利要求8所述方法,还包括:节点i在存储di、fpcc与l之后,生成数据安全证明,该数据安全证明至少包含:已校验信息、结束消息所包含的签名、l。10.如权利要求9所述方法,该数据安全证明还包含:数据d对应的分发流程标识。11.一种数据存储方法,基于权利要求1-10任一项所述的数据分发方法,所述数据存储方法包括:节点i在确认di与fpcc之后,存储di与fpcc。12.一种读取基于权利要求11所述方法存储的数据的方法,包括:节点i获取读取需求方发起的数据读取请求,该数据读取请求指定了待读取的数据d;读取需求方若获取到至少f+1个节点分别返回的数据块与一致的fpcc,并且对于该至少f+1个节点中的每个节点,基于该节点存储的fpcc确定该节点存储的数据块合法,则基于该至少f+1个数据块,得到数据d。13.如权利要求12所述方法,读取需求方是之前向分布式系统提交数据d的分发需求方;或者,读取需求方不是之前向分布式系统提交数据d的分发需求方;若读取需求方不是之前向分布式系统提交数据d的分发需求方,则所述方法还包括:读取需求方在发起数据读取请求之前,获取数据d对应的数据安全证明;对该数据安全证明中的签名进行验证;读取需求方发起的数据读取请求,包括:读取需求方在确定对该数据安全证明中的签名进行验证之后,发起的数据读取请求。14.一种数据传输方法,用于将数据由数据发送方传输至数据接收方,所述方法包括:
数据发送方通过权利要求11所述方法,将待传输的数据存储至分布式系统;数据接收方通过权利要求12或113所述方法,从分布式系统读取该数据。15.一种分布式系统,包括n个节点,所述分布式系统应用于权利要求1-14任一项所述方法。

技术总结
本说明书一个或多个实施例提供一种数据分发、存储、读取、传输方法及分布式系统。在分布式系统中实现数据分发过程中,可以占用更少的网络带宽,并且节点间需要交互的消息数量较少,带来更低的消息复杂度,实际上,上述技术方案所实现的消息复杂度是线性的。案所实现的消息复杂度是线性的。案所实现的消息复杂度是线性的。


技术研发人员:张海滨
受保护的技术使用者:张海滨
技术研发日:2021.12.29
技术公布日:2022/7/21
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1