区块链的文件上链方法和系统技术方案

技术编号:27132321 阅读:13 留言:0更新日期:2021-01-25 20:15
本发明专利技术提供了区块链的文件上链方法和系统,应用于系统智能合约,包括:接收用户智能合约发送的文件数据信息;对文件数据信息进行提取得到第一文件元数据;将文件数据信息发送给星际文件系统,以使星际文件系统存储该文件数据信息并对文件数据信息进行抽取得到第二文件元数据;接收星际文件系统发送的第二文件元数据;将文件副本节点列表通过副本策略控制算法,使文件副本节点列表中的副本数目满足预存副本策略的条件;将第一文件元数据和第二文件元数据进行结合得到结合后的元数据;对结合后的元数据进行上链并发送给用户智能合约;通过系统智能合约对星际文件系统中的文件数据进行计算,提高计算安全性和可靠性,并且可以使文件数据永久保存。文件数据永久保存。文件数据永久保存。

【技术实现步骤摘要】
区块链的文件上链方法和系统


[0001]本专利技术涉及区块链
,尤其是涉及区块链的文件上链方法和系统。

技术介绍

[0002]目前,星际文件系统存储原始文件数据,属于链外存储;在区块链上存储原始文件数据的元数据。由于原始文件数据属于链外存储,运行于区块链上的系统智能合约无法访问这些原始文件数据,从而无法对原始文件数据进行计算来确保计算的安全性和可靠性。
[0003]另外,当链外存储的原始文件数据丢失或恶意删除时,系统智能合约无法解决这个问题,从而使原始文件数据无法永久性的存储。

技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供区块链的文件上链方法和系统,将星际文件系统整合在区块链的对等节点中,通过系统智能合约对星际文件体系统中的文件数据进行计算,从而提高计算的安全性和可靠性,并且可以使文件数据永久保存。
[0005]第一方面,本专利技术实施例提供了区块链的文件上链方法,应用于系统智能合约,所述方法包括:
[0006]接收用户智能合约发送的文件数据信息;
[0007]对所述文件数据信息进行提取,得到第一文件元数据;
[0008]将所述文件数据信息发送给星际文件系统,以使所述星际文件系统对所述文件数据信息进行存储,并对所述文件数据信息进行抽取,得到第二文件元数据;
[0009]接收所述星际文件系统发送的所述第二文件元数据,所述第二文件元数据包括文件内容标识和所述文件内容标识对应的至少一个文件副本节点列表;
[0010]将所述文件副本节点列表通过副本策略控制算法,使所述文件副本节点列表中的副本数目满足预存副本策略的条件;
[0011]将所述第一文件元数据和所述第二文件元数据进行结合,得到结合后的元数据;
[0012]对所述结合后的元数据进行上链,并发送给所述用户智能合约;
[0013]其中,所述系统智能合约、所述星际文件系统和所述用户智能合约均设置在区块链的对等节点中。
[0014]进一步的,所述将所述文件副本节点列表通过副本策略控制算法,使所述文件副本节点列表中的副本数目满足预存副本策略的条件包括,重复执行以下处理,直至所述文件副本节点列表中的副本数目大于或等于所述预存副本策略中的副本数目:
[0015]当所述文件副本节点列表中的副本数目小于所述预存副本策略中的副本数目时,从所述文件副本节点列表选取第一节点;
[0016]通过所述第一节点保留所述文件数据信息。
[0017]进一步的,所述从所述文件副本节点列表选取第一节点,包括:
[0018]判断所述文件副本节点列表的数目是否小于区块链中联盟链的所有节点数;
[0019]如果小于,则从所述文件副本节点列表中选取尚未存储到所述联盟链中的副本,并加入到待选组织列表中;
[0020]如果所述待选组织列表的个数等于0,则将所述联盟链中所有组织加入到所述待选组织列表中;
[0021]从所述待选组织列表中选取第一组织;
[0022]获取所述第一组织对应的节点列表,并构成待选节点列表;
[0023]如果所述待选节点列表的数量大于0,则从所述待选节点列表中选取所述第一节点。
[0024]进一步的,所述方法还包括:
[0025]接收所述用户智能合约发送的文件检索请求信息,所述文件检索请求信息包括文件标识信息;
[0026]从状态数据库中查找所述文件标识信息是否存在;
[0027]如果存在,则从所述状态数据库中获取所述文件标识信息对应的文件元数据;
[0028]将所述文件标识信息对应的文件元数据发送给用户智能合约;
[0029]如果不存在,则向所述用户智能合约发送错误提示信息。
[0030]进一步的,所述方法还包括:
[0031]接收用户智能合约发送的第一摘要信息和链上凭证信息;
[0032]根据所述链上凭证信息从状态数据库中查找对应的第三文件元数据;
[0033]将所述第三文件元数据发送给所述用户智能合约,以使所述用户智能合约对所述第三文件元数据进行提取,得到第二摘要信息,将所述第一摘要信息与所述第二摘要信息进行匹配,得到匹配结果。
[0034]进一步的,所述第一摘要信息是通过客户端或所述用户智能合约对验证文件信息进行提取得到的,其中,所述第一摘要信息包括第一哈希,所述第二摘要信息包括第二哈希。
[0035]第二方面,本专利技术实施例提供了区块链的文件上链系统,所述系统包括至少一个对等节点,所述对等节点包括系统智能合约、星际文件系统和用户智能合约;所述星际文件系统和所述用户智能合约分别与所述系统智能合约相连接;
[0036]所述用户智能合约,用于向所述系统智能合约发送文件数据信息;
[0037]所述星际文件系统,用于对所述文件数据信息进行存储,并对所述文件数据信息进行抽取,得到第二文件元数据;
[0038]所述系统智能合约,用于对所述文件数据信息进行提取,得到第一文件元数据;接收所述星际文件系统发送的所述第二文件元数据,所述第二文件元数据包括文件内容标识和所述文件内容标识对应的至少一个文件副本节点列表;将所述文件副本节点列表通过副本策略控制算法,使所述文件副本节点列表中的副本数目满足预存副本策略的条件;将所述第一文件元数据和所述第二文件元数据进行结合,得到结合后的元数据;对所述结合后的元数据进行上链,并发送给所述用户智能合约。
[0039]进一步的,所述系统智能合约具体用于,重复执行以下处理,直至所述文件副本节点列表中的副本数目大于或等于所述预存副本策略中的副本数目:
[0040]当所述文件副本节点列表中的副本数目小于所述预存副本策略中的副本数目时,
从所述文件副本节点列表选取第一节点;
[0041]通过所述第一节点保留所述文件数据信息。
[0042]第三方面,本专利技术实施例提供了电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。
[0043]第四方面,本专利技术实施例提供了具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行如上所述的方法。
[0044]本专利技术实施例提供了区块链的文件上链方法和系统,应用于系统智能合约,包括:接收用户智能合约发送的文件数据信息;对文件数据信息进行提取,得到第一文件元数据;将文件数据信息发送给星际文件系统,以使星际文件系统对文件数据信息进行存储,并对所述文件数据信息进行抽取,得到第二文件元数据;接收星际文件系统发送的第二文件元数据,第二文件元数据包括文件内容标识和文件内容标识对应的至少一个文件副本节点列表;将文件副本节点列表通过副本策略控制算法,使文件副本节点列表中的副本数目满足预存副本策略的条件;将第一文件元数据和第二文件元数据进行结合,得到结合后的元数据;对结合后的元数据进行上链,并发送给用户智能合约;其中,系统智能合约、星际文件系统和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链的文件上链方法,其特征在于,应用于系统智能合约,所述方法包括:接收用户智能合约发送的文件数据信息;对所述文件数据信息进行提取,得到第一文件元数据;将所述文件数据信息发送给星际文件系统,以使所述星际文件系统对所述文件数据信息进行存储,并对所述文件数据信息进行抽取,得到第二文件元数据;接收所述星际文件系统发送的所述第二文件元数据,所述第二文件元数据包括文件内容标识和所述文件内容标识对应的至少一个文件副本节点列表;将所述文件副本节点列表通过副本策略控制算法,使所述文件副本节点列表中的副本数目满足预存副本策略的条件;将所述第一文件元数据和所述第二文件元数据进行结合,得到结合后的元数据;对所述结合后的元数据进行上链,并发送给所述用户智能合约;其中,所述系统智能合约、所述星际文件系统和所述用户智能合约均设置在区块链的对等节点中。2.根据权利要求1所述的区块链的文件上链方法,其特征在于,所述将所述文件副本节点列表通过副本策略控制算法,使所述文件副本节点列表中的副本数目满足预存副本策略的条件包括,重复执行以下处理,直至所述文件副本节点列表中的副本数目大于或等于所述预存副本策略中的副本数目:当所述文件副本节点列表中的副本数目小于所述预存副本策略中的副本数目时,从所述文件副本节点列表选取第一节点;通过所述第一节点保留所述文件数据信息。3.根据权利要求2所述的区块链的文件上链方法,其特征在于,所述从所述文件副本节点列表选取第一节点,包括:判断所述文件副本节点列表的数目是否小于区块链中联盟链的所有节点数;如果小于,则从所述文件副本节点列表中选取尚未存储到所述联盟链中的副本,并加入到待选组织列表中;如果所述待选组织列表的个数等于0,则将所述联盟链中所有组织加入到所述待选组织列表中;从所述待选组织列表中选取第一组织;获取所述第一组织对应的节点列表,并构成待选节点列表;如果所述待选节点列表的数量大于0,则从所述待选节点列表中选取所述第一节点。4.根据权利要求1所述的区块链的文件上链方法,其特征在于,所述方法还包括:接收所述用户智能合约发送的文件检索请求信息,所述文件检索请求信息包括文件标识信息;从状态数据库中查找所述文件标识信息是否存在;如果存在,则从所述状态数据库中获取所述文件标识信息对应的文件元数据;将所述文件标识信息对应的文件元数据发送给用户智能合约;如果不存在,则向所述用户智能合约发送...

【专利技术属性】
技术研发人员:张曙华杨安荣杨铁党路斌
申请(专利权)人:上海信联信息发展股份有限公司
类型:发明
国别省市:

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

1