利索能及
我要发布
收藏
专利号: 2021114745382
申请人: 深圳市名竹科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种数据处理方法,其特征在于,所述方法包括:接收终端发送的数据读取请求;

根据所述数据读取请求所对应的存储文件,通过随机算法选取校验数据块;

获取所述存储文件对应的目标哈希树,所述目标哈希树中包括根节点所在层至第M层的数据,所述M为正整数,所述根节点中存储有第一哈希值,每个叶子节点对应所述存储文件的一个数据块;

根据所述校验数据块和所述目标哈希树计算所述目标哈希树的根节点对应的第二哈希值;

若所述第一哈希值和所述第二哈希值相同,则将所述存储文件中与所述数据读取请求对应的数据返回至所述终端;

所述根据所述校验数据块和所述目标哈希树计算所述目标哈希树的根节点对应的第二哈希值,包括:

获取所述目标哈希树的参数信息和校验数据块信息;

根据所述校验数据块信息和所述目标哈希树的参数信息,确定所述目标哈希树中第M层的目标节点哈希值;

根据所述目标哈希树中第M层的目标节点哈希值,以及根节点所在层的下一层至第M层中除所述目标节点外的节点哈希值,计算所述目标哈希树的根节点对应的第二哈希值;

所述根据所述校验数据块信息和所述目标哈希树的参数信息,确定所述目标哈希树中第M层的目标节点哈希值,包括:获取所述目标哈希树的叶子节点数、第M层的节点数、哈希树分叉数和所述校验数据块对应的叶子节点在所述目标哈希树中的位置信息;

根据所述目标哈希树的叶子节点数和第M层的节点数,确定重构树的叶子节点数量;所述重构树为所述目标哈希树的一部分,且所述重构树的叶子节点与所述目标哈希树的部分叶子节点相同;

根据所述重构树的叶子节点数量和所述校验数据块对应的叶子节点在所述目标哈希树中的位置信息,确定重构树的所有叶子节点的位置信息及对应的数据;

根据所述重构树的所有叶子节点数据和所述哈希树分叉数,确定所述重构树的根节点哈希值,将所述重构树的根节点哈希值作为所述目标哈希树中第M层的目标节点哈希值。

2.根据权利要求1所述的方法,其特征在于,所述目标哈希树的生成方式,包括:获取源服务器所发送的存储文件;

对所述存储文件进行分块,得到大小相同的多个数据块;

将所述多个数据块作为叶子节点内容构建初始哈希树,并计算初始哈希树的根节点存储的第一哈希值;

从所述初始哈希树中得到包含根节点所在层至第M层数据的目标哈希树。

3.根据权利要求2所述的方法,其特征在于,所述从所述初始哈希树中得到包含根节点所在层至第M层数据的目标哈希树,包括:将所述初始哈希树中从叶子节点层开始的预设层数据舍弃,得到包含根节点所在层至第M层数据的目标哈希树。

4.根据权利要求2所述的方法,其特征在于,所述从所述初始哈希树中得到包含根节点所在层至第M层数据的目标哈希树,包括:计算所述初始哈希树中每层节点存储的数据的大小;

在所述初始哈希树中选取存储的数据的大小小于数据量阈值的目标层,得到包含根节点所在层至第M层数据的目标哈希树。

5.根据权利要求1所述的方法,其特征在于,所述根据所述重构树的叶子节点数量和所述校验数据块对应的叶子节点在所述目标哈希树中的位置信息,确定重构树的所有叶子节点的位置信息及对应的数据,包括:根据所述重构树的叶子节点数量和所述校验数据块对应的叶子节点在所述目标哈希树中的位置信息,确定所述重构树的开始叶子节点和末尾叶子节点的位置信息;

根据所述重构树的所述开始叶子节点和所述末尾叶子节点的位置信息,确定所述重构树的所有叶子节点的位置信息及对应的数据。

6.根据权利要求1所述的方法,其特征在于,所述根据所述重构树的叶子节点数量和所述校验数据块对应的叶子节点在所述目标哈希树中的位置信息,确定重构树的所有叶子节点的位置信息及对应的数据,还包括:根据所述重构树的叶子节点数量和所述校验数据块对应的叶子节点在所述目标哈希树中的位置信息,确定所述重构树的开始叶子节点位置信息;

根据所述重构树的所述开始叶子节点位置信息和所述重构树的叶子节点数量,确定所述重构树的所有叶子节点的位置信息及对应的数据。

7.一种数据处理装置,其特征在于,所述装置包括:接收模块,用于接收终端发送的数据读取请求;

选择模块,用于根据所述数据读取请求所对应的存储文件,通过随机算法选取校验数据块;

获取模块,用于获取所述存储文件对应的目标哈希树,所述目标哈希树中包括根节点所在层至第M层的数据,所述M为正整数,所述根节点中存储有第一哈希值,每个叶子节点对应所述存储文件的一个数据块;

计算模块,用于根据所述校验数据块和所述目标哈希树计算所述目标哈希树的根节点对应的第二哈希值;

返回模块,用于若第一哈希值和第二哈希值相同,则将所述存储文件中与所述数据读取请求对应的数据返回至所述终端;

所述计算模块,包括:

信息单元,用于获取所述目标哈希树的参数信息和校验数据块信息;

确定单元,根据所述校验数据块信息和所述目标哈希树的参数信息,确定所述目标哈希树中第M层的目标节点哈希值;

计算单元,用于根据所述目标哈希树中第M层的目标节点哈希值,以及根节点所在层的下一层至第M层中除所述目标节点外的节点哈希值,计算所述目标哈希树的根节点对应的第二哈希值;

所述确定单元,包括:

获取模组,用于获取所述目标哈希树的叶子节点数、第M层的节点数、哈希树分叉数和所述校验数据块对应的叶子节点在所述目标哈希树中的位置信息;

第一确定模组,用于根据所述目标哈希树的叶子节点数和第M层的节点数,确定重构树的叶子节点数量;所述重构树为所述目标哈希树的一部分,且所述重构树的叶子节点与所述目标哈希树的部分叶子节点相同;

第二确定模组,用于根据所述重构树的叶子节点数量和所述校验数据块对应的叶子节点在所述目标哈希树中的位置信息,确定重构树的所有叶子节点的位置信息及对应的数据;

第三确定模组,用于根据所述重构树的所有叶子节点数据和所述哈希树分叉数,确定所述重构树的根节点哈希值,将所述重构树的根节点哈希值作为所述目标哈希树中第M层的目标节点哈希值。

8.根据权利要求7所述的数据处理装置,其特征在于,还包括哈希模块,用于生成目标哈希树,包括:

获取单元,用于获取源服务器所发送的存储文件;

分块单元,用于对所述存储文件进行分块,得到大小相同的多个数据块;

构建单元,用于将所述多个数据块作为叶子节点内容构建初始哈希树,并计算初始哈希树的根节点存储的第一哈希值;

生成单元,用于从所述初始哈希树中得到包含根节点所在层至第M层数据的目标哈希树。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。