[发明专利]一种基于区块链的持久化文件存储系统及方法有效
申请号: | 202110053586.8 | 申请日: | 2021-01-15 |
公开(公告)号: | CN112749144B | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 李瑜;吴迟林;刘涛;张文娟;赵晨;张劲松;李兵 | 申请(专利权)人: | 云南云电同方科技有限公司 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/172;G06F16/16;G06F21/64 |
代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 逯长明;许伟群 |
地址: | 650000 云南省昆明*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 持久 文件 存储系统 方法 | ||
1.一种基于区块链的持久化文件存储系统,其特征在于,包括:去中心的分布式存储网络、部署于所述存储网络上的物理节点以及与所述物理节点连接的客户端;
所述去中心的分布式存储网络中各物理节点能相互访问;
所述部署于所述存储网络上的物理节点包括:控制节点和存储节点;
所述控制节点用于副本的自动恢复以及文件的合法性验证,所述控制节点包括:文件接收器、文件分割器以及资源广播器;
所述文件接收器用于当客户端连接控制节点上传文件时,文件的读取和缓存;
所述文件分割器与所述文件接收器连接,用于当所述文件接收器缓存成功,以固定大小对文件进行分块处理并通过存储节点存储文件信息;
所述资源广播器用于当文件分块处理后,将存储的文件信息广播至其它物理节点并等待其他物理节点反馈信息,根据所述反馈信息自动评估最优物理节点,选取排名前N个的最优物理节点向其发送文件信息,选中的物理节点接收文件信息并写入指定目录,并更新自己区块链账本信息;
所述存储节点用于文件块存储、文件块哈希值的存储以及区块链账本存储,所述存储节点包括:区块链账本、账本发布器、文件检索器以及文件篡改检查;
所述区块链账本用于记录分块处理后的文件信息,所述文件信息包括:文件块信息、文件块哈希值信息;所述去中心的分布式存储网络中所有物理节点区块链账本信息均需同步,若存在新加入的物理节点,则必须同步区块链账本信息;
所述账本发布器用于当选中的物理节点接收文件信息并写入指定目录,并更新自己区块链账本信息后,向所有物理节点公布账本信息,统一所有物理节点账本信息;
所述文件检索器用于检索选中的物理节点是否为被连接节点,若选中的物理节点不是被连接节点,则选中的物理节点接收文件信息并写入指定目录;
所述文件篡改检查用于通过文件块信息计算文件块哈希值信息,并在所述去中心的分布式存储网络中查找是否有内容篡改;同时通过文件块哈希值信息检索文件块是否真实存在;
所述客户端与所述控制节点连接。
2.根据权利要求1所述的一种基于区块链的持久化文件存储系统,其特征在于,所述以固定大小对文件进行分块处理过程为:
计算文件块块数,所述文件块块数计算公式为:块数=文件大小/文件块固定配额;
根据所述块数分割所述文件块;
将所述分割好的文件块依次编号并计算每块文件块哈希值;
将所述分割好的文件块存储在指定目录,并将文件块大小、文件块编号、文件块哈希值以及IP信息记录在区块链账本上。
3.一种基于区块链的持久化文件存储方法,其特征在于,包括:
建立去中心的分布式存储网络物理节点;
将节点资源表配置于系统中全部所述物理节点;所述节点资源表用于使所述物理节点根据资源表中的IP及端口访问其他节点;
客户端连接已配置的任意所述物理节点并上传文件;
所述被连接物理节点将上传文件分割成指定大小的文件块;
完成所述文件块分割后,所述被连接物理节点计算出每一份文件块的哈希值,并将哈希值存储在所述被连接物理节点的区块链账本上;
所述存储后的物理节点作为广播物理节点,根据所述节点资源表中的IP及端口向其他物理节点广播存储需求信息;
其他物理节点接收到所述广播存储需求后,计算节点自身需求指标,并向所述广播物理节点反馈结果;
所述广播物理节点根据反馈信息自动评估其他物理节点中的最优物理节点,选取排名前N个的最优物理节点向其发送文件信息,选中的物理节点接收文件信息并写入指定目录,并更新自己区块链账本信息;
所述选中的物理节点区块链账本信息更新后,向全网公布账本信息;其他接收到账本信息的物理节点及时更新账本信息;
客户端连接所述去中心的分布式存储网络中任意物理节点下载或查看文件,所述被连接物理节点确定所访问的文件是否存在于该节点,若存在,则直接提供下载,若不存在,则通过账本信息提供文件地址至客户端,同时,所述被连接物理节点对该文件进行缓存,所述缓存过程为:检验所述文件在区块链中指定的节点Alive状态的个数是否满足配置额,若满足,则所述缓存文件标记为临时状态,所述临时状态文件在规定时期内会自动清除,若不满足,则所述缓存文件标记为永久存储,更新所述被连接节点区块链信息并将该区块链账本信息公布至全网。
4.根据权利要求3所述的一种基于区块链的持久化文件存储方法,其特征在于,所述方法还包括:校验所述文件存在的真实性;
被连接物理节点校验所述文件存在的真实性过程为:
客户端向被连接物理节点提供哈希值或提供文件;
若提供哈希值,则系统通过文件检索器检索文件是否存在,同时检索文件详细信息,所述文件详细信息包括:文件块个数、服务器地址、端口、上传时间信息;
若提供文件,则系统通过文件分割器进行文件分块;
计算所述文件块哈希值及文件整个哈希值;
通过文件检索器进行文件整个哈希值的计算和匹配;
计算每个文件块的哈希值通过文件检索器进行匹配;
合并最终检索结果给前端,内容包括文件是否篡改以及被篡改的文件块信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南云电同方科技有限公司,未经云南云电同方科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110053586.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电池包
- 下一篇:一种旋转等离子喷枪喷嘴