链桨PaddleDTX系列 - xdb源码分析(三)

本文重点分析链桨开源xdb的engine模块代码。
engine是xdb的核心引擎,包含了文件请求处理、节点请求处理等多种功能模块。
xdb-engine模块

challenger模块

challenger模块提供文件副本保持证明的相关功能,包括参数初始化、挑战生成算法、挑战应答算法、挑战内容存储和获取等功能。

开源xdb支持两种副本保持证明算法:基于梅克尔树的和基于椭圆曲线双线性对的。

copier模块

copier是数据冗余模块,为文件切片提供多副本选择。

开源xdb支持优先从健康存储节点中选择指定数量的节点来存储文件切片。

encryptor模块

encryptor模块为文件提供对称加解密功能,用于保护用户数据隐私。

开源xdb提供了基于AES秘钥衍生和对称加解密功能。

monitor模块

monitor是xdb的监控任务模块,定时处理副本保持证明挑战、文件和节点相关功能。

1、challenging: 包含数据节点定期发起副本保持证明挑战、存储节点定期应答副本保持证明挑战的功能;

2、filemaintainer: 包含数据节点定期检测文件健康度,并进行文件迁移等功能;

3、nodemaintainer: 包含存储节点启动时自动注册、存储节点定时向区块链更新存活状态、存储节点定期清理过期文件等功能。

slicer模块

slicer模块提供文件切片功能,将文件切分为若干切片,便于分布式存储和备份。

开源xdb支持按照指定切片大小,将文件切分为若干切片。

handler_file

文件请求处理模块,包括文件列表获取、文件详情获取、更新过期时间、更新副本数等功能。

handler_node

存储节点请求处理模块,包括节点列表获取、节点详情获取、节点上下线等功能。

handler_read

文件下载功能模块,文件下载流程包括请求者身份校验、文件详情获取、文件分片下载、文件分片解密、文件分片重组、重组后解密并恢复原始文件等功能。

handler_write

文件上传功能模块,文件上传流程包括请求者身份校验、文件加密、文件分片、分片冗余存储、副本保持证明信息生成、文件链上存证等功能。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值