当前位置: 首页 > 专利查询>张海滨专利>正文

数据分发、存储、读取、传输方法及分布式系统技术方案

技术编号:34250104 阅读:53 留言:0更新日期:2022-07-24 11:20
本说明书一个或多个实施例提供一种数据分发、存储、读取、传输方法及分布式系统。在分布式系统中实现数据分发过程中,可以占用更少的网络带宽,并且节点间需要交互的消息数量较少,带来更低的消息复杂度,实际上,上述技术方案所实现的消息复杂度是线性的。案所实现的消息复杂度是线性的。案所实现的消息复杂度是线性的。

Data distribution, storage, reading, transmission method and distributed system

【技术实现步骤摘要】
数据分发、存储、读取、传输方法及分布式系统


[0001]本说明书一个或多个实施例涉及信息
,尤其涉及一种数据分发、存储、读取、传输方法及分布式系统。

技术介绍

[0002]目前的分布式存储方法主要包括基于数据分片的存储方案与基于数据副本的存储系统。
[0003]基于数据分片的存储方案为,将待存储的数据D拆分为N个分片,将不同分片存储于不同节点(存储设备或存储设备集群),若后续想要获取存储的数据D时,则需要先从N个节点获取全部的N个分片,再将这N个分片组合成数据D。这种存储方案的问题在于,如果某个节点所存储的分片丢失,或者某个节点宕机,或者某些服务器被敌手控制,则无法获取存储的数据D,这对于拥有数据D的用户来说风险太高。
[0004]基于数据副本的存储方案(典型如区块链)为,将待存储的数据D的N个副本分别存储在不同的节点,这种存储方案虽然可以尽可能确保数据不会丢失,但是这种存储方案存在存储成本过高的问题。
[0005]基于以上,提出一种有效的数据分发方案,该数据分发方案可以用于实现兼顾低风险与低成本的数据存储方案。

技术实现思路

[0006]有鉴于此,本说明书一个或多个实施例提供一种数据分发、存储、读取、传输方法及分布式系统。
[0007]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0008]根据本说明书一个或多个实施例的第一方面,提出了一种数据分发方法,包括:
[0009]分发需求方基于纠删码技术将待分发的数据D转换成N个数据块,其中,所述N个数据块包括Di,i=1、

、N,基于所述N个数据块中的M个数据块可得到D,N=M+2f,M >f,f为包括N个节点的分布式系统所容错的节点数量;
[0010]分发需求方生成用于验证数据块是否合法的特征交叉校验信息fpcc;其中,若数据块属于所述N个数据块,则数据块合法;
[0011]分布式系统的节点i获取分发需求方构建的分发消息,该分发消息包括Di与fpcc;
[0012]节点i基于该分发消息中的fpcc验证Di是否合法,若合法,则基于预设生成规则,利用该分发消息中的fpcc生成已校验信息,并对已校验信息进行签名得到签名Si;
[0013]分发需求方获取节点i构建准备消息,该准备消息包括已校验信息与Si;并且,对该准备消息中的Si进行验证;
[0014]分发需求方若确定获取到至少M+f个准备消息包含相同的已校验信息,并且,该至少 M+f个准备消息皆通过签名验证,则基于该至少M+f个准备消息中的签名,构建包含签名的结束消息并发送给节点i;
[0015]节点i在获取到分发需求方构建的结束消息之后,验证结束消息包含的签名,若验证通过,则确认Di与fpcc。
[0016]在一些实施例中,分发需求方包括:分布式系统之外的客户端,或者,分布式系统的任一节点。
[0017]在一些实施例中,每个分发消息还包括分发流程标识,用于区分不同的待存储的数据的分发流程;
[0018]每个准备消息还包括分发流程标识,每个结束消息还包括分发流程标识。
[0019]在一些实施例中,利用该分发消息中的fpcc生成已校验信息,包括:
[0020]将该分发消息中的fpcc作为已校验信息;
[0021]或者
[0022]将该分发消息中的fpcc的哈希值作为已校验信息。
[0023]在一些实施例中,还包括:
[0024]各节点之间预先基于门限签名协议,约定共同的公钥PK与节点i的私钥SKi;其中,该门限签名协议的门限值≥M+f;
[0025]节点i对已校验信息进行签名得到签名Si,包括:
[0026]使用私钥SKi对已校验信息进行签名得到签名Si;
[0027]分发需求方基于该至少M+f个准备消息中的签名,构建包含签名的结束消息,包括:
[0028]基于门限签名协议,将该至少M+f个准备消息中的签名组合成门限签名S,并构建包含 S的结束消息;
[0029]节点i验证结束消息包含的签名,包括:
[0030]节点i使用公钥PK验证S。
[0031]在一些实施例中,还包括:
[0032]节点i在存储Di与fpcc之后,生成数据安全证明,该数据安全证明至少包含:已校验信息、结束消息所包含的签名。
[0033]在一些实施例中,该数据安全证明还包含:
[0034]数据D对应的分发流程标识。
[0035]根据本说明书一个或多个实施例的第二方面,提出了一种数据分发方法,包括:
[0036]分发需求方基于纠删码技术将待分发的数据D转换成N个数据块,其中,所述N个数据块包括Di,i=1、

、N,基于所述N个数据块中的M个数据块可得到D,N=M+2f,M >f,f为包括N个节点的分布式系统所容错的节点数量;
[0037]分发需求方生成用于验证数据块是否合法的特征交叉校验信息fpcc;其中,若数据块属于所述N个数据块,则数据块合法;
[0038]分布式系统的节点i获取分发需求方构建的分发消息,该分发消息包括Di、fpcc与L;
[0039]节点i基于该分发消息中的fpcc验证Di是否合法,并且,验证L是否为基于fpcc得到的签名,若验证结果皆为是,则基于预设生成规则,利用该分发消息中的fpcc生成已校验信息,并对已校验信息进行签名得到签名Si;
[0040]分发需求方获取节点i构建准备消息,该准备消息包括已校验信息与Si;并且,对
该准备消息中的Si进行验证;
[0041]分发需求方若确定获取到至少M+f个准备消息包含相同的已校验信息,并且,该至少 M+f个准备消息皆通过签名验证,则基于该至少M+f个准备消息中的签名,构建包含签名的结束消息并发送给节点i;
[0042]节点i在获取到分发需求方构建的结束消息之后,验证结束消息包含的签名,若验证通过,则确认Di、fpcc与L。
[0043]在一些实施例中,还包括:
[0044]节点i在存储Di、fpcc与L之后,生成数据安全证明,该数据安全证明至少包含:已校验信息、结束消息所包含的签名、L。
[0045]在一些实施例中,该数据安全证明还包含:
[0046]数据D对应的分发流程标识。
[0047]根据本说明书一个或多个实施例的第三方面,提出了一种数据存储方法,基于上述的数据分发方法,所述数据存储方法包括:
[0048]节点i在确认Di与fpcc之后,存储Di与fpcc。
[0049]根据本说明书一个或多个实施例的第四方面,提出了一种读取基于上述的存储方法所存储的数据的方法,包括:
[0050]节点i获取读取需求方发起的数据读取请求,该数据读取请求指定了待读取的数据D;
[0051]读取需求方若获取到至少f+1个节点分别返回的数据块与一致的fpcc,并且对于该至少 f本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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为包...

【专利技术属性】
技术研发人员:张海滨
申请(专利权)人:张海滨
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1