【技术实现步骤摘要】
一种基于区块链便携式文件存储的方法、系统和介质
[0001]本申请涉及数据存储领域,特别是涉及一种基于区块链便携式文件存储的方法、系统和介质。
技术介绍
[0002]区块链技术是让参与的系统中任意多个节点,通过密码学算法把一段时间系统内的全部信息交流数据计算和记录到一个数据块(Block)中,并且生成该数据块的指纹用于链接(Chain)下个数据块和校验,系统中所有的参与节点共同认定记录是否为真。其数据通常存储在KV键值型数据库、关系型数据库、普通文件等,其中,KV键值型数据库中数据结构与接口都比较简单,具有很高的读写性能与良好的可扩展性,能支持大规模并发键值对数据的读写请求;而普通文件存储原始的账本区块链数据,通常是将共识后的区块链数据按protocol buffer编码格式序列化为二进制字节数组后,写入文件进行持久化保存;关系型数据库(Relational Database Management System)是基于严格的关系模型来表示与组织结构化数据的,支持SQL语句的增删改查操作,提供能够满足ACID原则的复杂事务处理机制。
[0003]当区块链网络要求全部的矿工维护同一个账本,为了保证其不可篡改,需要每一个矿工留有一个账本的备份在本地,但当账本内容发生改变时需要进行重新存储,这会耗费大量的存储资源。另外还可以仅在区块链中存放文件哈希值,将需要存储的文件存放在中心化数据库和/或文件存储服务器中,而这样,存储又成为去中心化应用中的一个短板,极易破坏区块链所构建的可信体系。
[0004]目前针对相关 ...
【技术保护点】
【技术特征摘要】
1.一种基于区块链便携式文件存储的方法,其特征在于,所述方法包括:调用部署在区块链上的智能合约中的分割逻辑,根据预设存储容量对目标文件进行分割,得到对应的若干子文件;调用所述智能合约中的计算逻辑,对若干所述子文件分别进行计算,得到所述子文件的哈希值,按序将若干所述哈希值写入树状结构的叶子节点中,对所述哈希值进行逐级计算得到根哈希值;调用所述智能合约中的存储逻辑,将所述子文件按序存储到所述区块链的账本中;调用所述智能合约中的资产逻辑,为所述目标文件发行一枚非同质化代币,所述非同质化代币代表所述目标文件的交易发起方的文件资产,按预设数据结构构建文件资产对象,所述文件资产对象具有若干不可变的元数据属性,所述元数据属性包括所述非同质化代币和所述子文件的根哈希值,并按预设方向顺序构建事件记录。2.根据权利要求1所述的方法,其特征在于,调用部署在区块链上的智能合约中的分割逻辑,根据预设存储容量对目标文件进行分割,得到对应的若干子文件包括:通过区块链获取目标文件,调用部署在所述区块链上的智能合约对所述目标文件进行预设编码;调用部署在区块链上的智能合约中的分割逻辑,以所述区块链的区块容量和/或交易容量为标准,对所述预设编码后的目标文件的字符串进行分割,将所述分割后的子字符串按顺序存入数组中,获得所述目标文件对应的子文件。3.根据权利要求1所述的方法,其特征在于,调用所述智能合约中的资产逻辑,为所述目标文件发行一枚非同质化代币,所述非同质化代币代表所述目标文件的交易发起方的文件资产,按预设数据结构构建文件资产对象,所述文件资产对象具有若干不可变的元数据属性,所述元数据属性包括所述非同质化代币和所述子文件的根哈希值,并按预设方向顺序构建事件记录包括:调用所述智能合约中的资产逻辑,根据所述目标文件的文件信息,创建属于所述目标文件的交易发起方的文件资产;调用所述智能合约中的资产逻辑,按预设数据结构构建文件资产对象,将若干不可变的元数据属性存入所述文件资产对象,并采用有向无环图构建事件记录,其中,所述元数据属性包括所述文件资产、所述目标文件的类型、所述目标文件的哈希值、所述子文件的根哈希和所述交易发起方的证书。4.根据权利要求1所述的方法,其特征在于,在按预设方向顺序构建事件记录之后,所述方法还包括:通过所述区块链获取所述目标文件的修订文件,调用部署在所述区块链上的智能合约中的修订逻辑,获取所述目标文件的子文件,按序对所述子文件进行组合,并计算所述组合对应的根哈希值;在所述组合对应的根哈希值与所述文件资产对象中的根哈希值一致的情况下,根据所述事件记录中的修订事件,按序逐次获取所述目标文件的差异信息,并通过差分算法逐一还原得到新目标文件;通过差分算法计算所述修订文件与所述新目标文件的差异值,并将所述差异值存储到所述区块链的账本中;
调用所述智能合约按照预设数据结构将修订信息写入所述目标文件的文件资产对象中,并在所述事件记录中记录本次修订事件。5.根据权利要求1所述的方法,其特征在于,在按预设方向顺序构建事件记录之后,所述方法还包括:...
【专利技术属性】
技术研发人员:青龙生,龙玲,刘明霞,
申请(专利权)人:微易签杭州科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。