一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

压缩文件索引增量更新方法、装置及电子设备与流程

2021-11-15 18:43:00 来源:中国专利 TAG:

技术特征:
1.一种压缩文件索引增量更新方法,其特征在于,所述方法包括:获取压缩索引文件,所述压缩索引文件用于指示压缩数据文件中各数据块的位置;根据所述压缩索引文件,将所述压缩数据文件中记录的已建立索引的最后一个数据块的起始位置确定为目标数据块的起始位置;所述目标数据块包括头文件和数据文件;根据所述目标数据块的起始位置,读取所述目标数据块的头文件;根据所述目标数据块的头文件中记录的信息确定所述目标数据块是否被压缩过;根据所述目标数据块是否被压缩过,确定整个所述目标数据块的长度;根据整个所述目标数据块的长度及所述目标数据块的起始位置,确定下一个数据块的起始位置并写入所述压缩索引文件;将所述下一个数据块作为新的目标数据块,从所述根据所述目标数据块的起始位置,读取所述目标数据块的头文件起重复执行,直至处理完所有数据块。2.根据权利要求1所述的方法,其特征在于,所述头文件包括压缩前文件长度字段、压缩后文件长度字段及校验码字段;所述根据所述目标数据块的头文件中记录的信息确定所述目标数据块是否被压缩过的步骤,包括:获取所述目标数据块的压缩前文件长度和压缩后文件长度;检测所述压缩前文件长度和压缩后文件长度是否相等;若所述压缩前文件长度和压缩后文件长度相等,则确定所述目标数据块被压缩过;若所述压缩前文件长度和压缩后文件长度不相等,则确定所述目标数据块未被压缩过;所述根据所述目标数据块是否被压缩过,确定整个所述目标数据块的长度的步骤,包括:若所述目标数据块被压缩过,则确定所述校验码字段的长度为压缩前数据的校验码的长度加压缩后数据的校验码的长度;若所述目标数据块未被压缩过,则所述校验码字段的长度为压缩前数据的校验码的长度;根据所述压缩前文件长度字段的长度、所述压缩后文件长度字段的长度、所述校验码字段的长度及所述压缩后文件长度确定整个所述目标数据块的长度。3.根据权利要求2所述的方法,其特征在于,所述压缩数据文件为lzo文件;所述根据所述压缩索引文件,将所述压缩数据文件中记录的已建立索引的最后一个数据块的起始位置确定为目标数据块的起始位置的步骤,包括:获取所述压缩索引文件最后8个字节的数据;将获取到的数据转换为长整型的数据后作为所述已建立索引的最后一个数据块的起始位置。4.根据权利要求2所述的方法,其特征在于,所述获取所述目标数据块的压缩前文件长度和压缩后文件长度的步骤,包括:从所述目标数据块的文件头起,读取4位长度的数据作为所述压缩前文件长度,再次向后读取4位长度的数据作为所述压缩后文件长度。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照第一设定周期获取待处理数据,根据所述待处理数据生成数据块;按照第二设定周期执行所述获取压缩索引文件的步骤及后续步骤;其中,所述第二设定周期大于所述第一设定周期。6.一种压缩文件索引增量更新装置,其特征在于,所述装置包括:索引获取模块,用于获取压缩索引文件,所述压缩索引文件用于指示压缩数据文件中各数据块的位置;数据块确定模块,用于根据所述压缩索引文件,将所述压缩数据文件中记录的已建立索引的最后一个数据块的起始位置确定为目标数据块的起始位置;所述目标数据块包括头文件和数据文件;数据块读取模块,用于根据所述目标数据块的起始位置,读取所述目标数据块的头文件;数据块检测模块,用于根据所述目标数据块的头文件中记录的信息确定所述目标数据块是否被压缩过;根据所述目标数据块是否被压缩过,确定整个所述目标数据块的长度;索引更新模块,用于根据整个所述目标数据块的长度及所述目标数据块的起始位置,确定下一个数据块的起始位置并写入所述压缩索引文件;循环处理模块,用于将所述下一个数据块作为新的目标数据块,从所述根据所述目标数据块的起始位置,读取所述目标数据块的头文件起重复执行,直至处理完所有数据块。7.根据权利要求6所述的装置,其特征在于,所述头文件包括压缩前文件长度字段、压缩后文件长度字段及校验码字段;所述数据块检测模块具体用于获取所述目标数据块的压缩前文件长度和压缩后文件长度;检测所述压缩前文件长度和压缩后文件长度是否相等;若所述压缩前文件长度和压缩后文件长度相等,则确定所述目标数据块被压缩过;若所述压缩前文件长度和压缩后文件长度不相等,则确定所述目标数据块未被压缩过;若所述目标数据块被压缩过,则确定所述校验码字段的长度为压缩前数据校验码的长度加压缩后数据校验码的长度;若所述目标数据块未被压缩过,则所述校验码字段的长度为压缩前数据校验码的长度;根据所述压缩前文件长度字段的长度、所述压缩后文件长度字段的长度及所述校验码字段的长度及所述压缩后文件长度确定整个所述目标数据块的长度。8.根据权利要求7所述的装置,其特征在于,所述压缩文件为lzo文件;所述数据块确定模块具体用于获取所述压缩索引文件最后8个字节的数据;将获取到的数据转换为长整型的数据作为所述已建立索引的最后一个数据块的起始位置;所述数据块读取模块具体用于从所述目标数据块的文件头起,读取4位长度的数据作为所述压缩前文件长度,再次向后读取4位长度的数据作为所述压缩后文件长度。9.一种电子设备,其特征在于,包括处理器及机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被所述处理器执行时,实现权利要求1

7任意一项所述的方法。10.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被一个或多个处理器执行时,实现权利要求1

7任意一项所述的方法。

技术总结
本申请提供一种压缩文件索引增量更新方法、装置及电子设备,所述方法包括:获取压缩索引文件;确定为目标数据块的起始位置;目标数据块包括头文件和数据文件;根据目标数据块的起始位置,读取目标数据块的头文件;根据目标数据块的头文件中记录的信息确定目标数据块是否被压缩过;根据目标数据块是否被压缩过,确定整个目标数据块的长度;根据整个目标数据块的长度及目标数据块的起始位置,确定下一个数据块的起始位置并写入压缩索引文件;将下一个数据块作为新的目标数据块,如此循环,可以实现压缩索引文件的增量更新,从而避免了每次都对整个压缩索引文件进行全量更新,节约了处理时间和计算资源。理时间和计算资源。理时间和计算资源。


技术研发人员:顾凌云 郭志攀 王伟 李军军
受保护的技术使用者:南京冰鉴信息科技有限公司
技术研发日:2021.08.12
技术公布日:2021/11/14
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献