多线程差分刷写方法技术

技术编号:39762977 阅读:14 留言:0更新日期:2023-12-22 02:19
本申请提供一种多线程差分刷写方法,包括:创建至少两个线程;获取与目标文件相对应的刷写数据;利用所述至少两个线程根据预设的线程单次刷写长度以及实时监测得到的刷写完成长度并基于

【技术实现步骤摘要】
多线程差分刷写方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种多线程差分刷写方法

装置

电子设备及存储介质


技术介绍

[0002]BSDiff
是一种二进制差量更新算法,该算法的基本步骤为:在服务器端运行
BSDiff
算法生成补丁文件,在客户端运行
BSPatch
算法,将原始文件和补丁文件合成为更新文件

由于
BSPatch
算法的线性限制,在更新时需要完整的对整个原始文件做差量更新,生成完整的更新文件后才能写入设备,这就导致了几个问题:
1)
在运行
BSPatch
算法时,需要占用完整的更新文件大小的内存,占用内存空间大;
2)
在刷写到设备时,需要占用完整的更新文件大小的临时存储空间,占用临时存储空间大;
3)
在进行
BSPatch
算法时,由于算法线性限制只能单线程处理,刷写效率低
、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种多线程差分刷写方法,其特征在于,包括:创建至少两个线程;获取与目标文件相对应的刷写数据;利用所述至少两个线程根据预设的线程单次刷写长度以及实时监测得到的刷写完成长度并基于
BSDiff
算法将所述刷写数据写入所述目标文件;响应于所述刷写完成长度不小于预设的第一阈值,完成差分刷写;其中,所述第一阈值为根据所述刷写数据的长度确定的
。2.
根据权利要求1所述的多线程差分刷写方法,其特征在于:所述线程的数量与
CPU
核数相同
。3.
根据权利要求1所述的多线程差分刷写方法,其特征在于,所述获取与目标文件相对应的刷写数据,包括:获取与所述目标文件相对应的补丁文件;解析所述补丁文件中的控制块文件得到控制块数据;根据所述控制块数据获取所述刷写数据
。4.
根据权利要求1所述的多线程差分刷写方法,其特征在于,所述利用所述至少两个线程根据预设的线程单次刷写长度以及实时监测得到的刷写完成长度并基于
BSDiff
算法将所述刷写数据写入所述目标文件,包括:根据所述线程单次刷写长度以及所述刷写完成长度,确定每个所述线程的写入长度以及写入位置;利用所述至少两个线程根据所述写入长度以及所述写入位置,并基于所述
BSDiff
算法将所述刷写数据写入所述目标文件
。5.
根据权利要求4所述的多线程差分刷写方法,其特征在于,根据所述线程单次刷写长度以及所述刷写完成长度确定每个所述线程的写入长度,包括:响应于所述第一阈值减去所述刷写完成长度大于等于所述单次刷写长度,确定所述写入长度等于所述线程单次刷写长度;响应于所述第一阈值减去所述刷写完成长度小于所述单次刷写长度,确定所述写入长度等于所述第一...

【专利技术属性】
技术研发人员:吴秀峰
申请(专利权)人:北京车和家信息技术有限公司
类型:发明
国别省市:

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

1