System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及文件处理,特别涉及一种文件处理方法、装置、电子设备、存储介质。
技术介绍
1、随着计算机技术的发展,游戏受到大量用户的欢迎,各大游戏厂商的游戏分发构建处理技术也日益成熟。游戏版本更新时会构建安装包,用户下载安装包后完成游戏更新。安装包的文件数量非常多,并且很多的资源文件通常较小,例如un ity引擎的asset bundles文件或者虚幻引擎的pak fi les文件。服务器在管理大量小文件时会有较高的资源开销,而且分发和下载游戏时带来额外的网络开销,增加传输时间和带宽消耗,也会导致磁盘碎片化等问题。
2、为了解决小文件带来的问题,相关技术会根据设置好的阈值将多个小文件合并成一定大小的文件块,但是游戏发布新版本后会产生大量的文件变更,已有的文件块很可能超出设置好的阈值,这就需要对多个小文件进行重组合并,在小文件数量较多的情况下耗费较多的计算资源,文件处理效率较低。
技术实现思路
1、本专利技术旨在至少解决现有技术中存在的技术问题之一。为此,本专利技术提出一种文件处理方法、装置、电子设备、存储介质,能够提高文件合并的效率,提高文件处理效率。
2、第一方面,本专利技术实施例提供了一种文件处理方法,包括:
3、基于参考分组信息将多个第二文件分成多个第二分组,其中,所述参考分组信息用于指示多个第一文件的分组情况,所述第一文件为第一版本的目标应用的安装文件,所述第二文件为第二版本的所述目标应用的安装文件,所述第一版本为所述第二版本的上一版本;
4、从各个所述第二分组移除差异文件,基于多个所述差异文件构建至少一个第三分组,其中,所述差异文件为所述目标应用从所述第一版本更新到所述第二版本后发生变更或者新增的所述第二文件;
5、基于所述第二分组和所述第三分组各自生成文件块。
6、根据本专利技术的一些实施例,在所述从各个所述第二分组移除差异文件之前,所述方法还包括:
7、将所述第二文件在所述第一版本所对应的所述第一文件确定为关联文件;
8、当所述第二文件不存在所述关联文件,将所述第二文件确定为所述差异文件;
9、或者,当所述第二文件存在所述关联文件,将与所述关联文件不相同的所述第二文件确定为所述差异文件。
10、根据本专利技术的一些实施例,所述将与所述关联文件不相同的所述第二文件确定为所述差异文件,包括:
11、生成所述第二文件的第二元信息,获取各个所述第一文件的第一元信息;
12、基于所述关联文件的所述第一元信息和所述第二文件的所述第二元信息生成差异信息;
13、当所述差异信息用于指示文件变更,将对应的所述第二文件确定为所述差异文件。
14、根据本专利技术的一些实施例,所述第一元信息包括第一哈希值,所述第一哈希值基于所述第一文件的文件内容生成,在所述基于参考分组信息将多个第二文件分成多个第二分组之前,所述方法还包括:
15、基于所述第一哈希值确定复用组,其中,所述复用组包括所述第一哈希值相同的多个所述第一文件;
16、将所述复用组中任一所述第一文件确定为复用文件,在各个所述第一文件的所述第一元信息中写入内容复用范围,其中,所述内容复用范围用于指示所述第一文件的内容在所述复用文件中的记载范围;
17、基于所述复用组的全部的所述第一元信息构建分组元信息,在所述复用组内删除除了所述复用文件之外的所述第一文件;
18、基于未被归入所述复用组的多个所述第一文件构建多个第一分组,基于所述第一分组和所述复用组生成所述参考分组信息。
19、根据本专利技术的一些实施例,所述从各个所述第二分组移除差异文件,包括:
20、当所述第二分组对应于所述第一版本的所述复用组,保留所述复用文件;
21、在所述分组元信息中移除所述差异文件的所述第二元信息。
22、根据本专利技术的一些实施例,所述基于多个所述差异文件构建至少一个第三分组,包括:
23、获取预设的第一阈值;
24、基于预设规则将多个所述差异文件分为多个所述第三分组,其中,每个所述第三分组的分组大小小于或等于所述第一阈值。
25、根据本专利技术的一些实施例,在所述从各个所述第二分组移除差异文件之后,所述方法还包括:
26、获取预设的第二阈值,其中,所述第二阈值小于所述第一阈值;
27、将分组大小小于所述第二阈值的所述第二分组确定为待重组分组;
28、基于所述预设规则将多个所述待重组分组重组为多个第四分组,其中,所述第四分组的分组大小大于所述第二阈值,所述第四分组的分组大小小于或等于所述第一阈值;
29、基于所述第四分组生成所述文件块。
30、根据本专利技术的一些实施例,所述预设规则包括:
31、确定各个目标文件的第一大小值和目标路径,其中,当所述预设规则用于构建所述第三分组,所述目标文件为所述差异文件,或者,当所述预设规则用于构建所述第四分组,所述目标文件为所述待重组分组的所述第二文件;
32、基于多个所述目标路径的上下级关系构建虚拟文件树,将各个所述目标文件添加至对应的所述叶节点,其中,每个所述目标路径对应于所述虚拟文件树的一个所述叶节点;
33、基于所述第一阈值从所述叶节点中选择第一候选文件,基于所述第一候选文件构建目标分组,其中,所述目标分组的分组大小小于所述第一阈值,所述目标分组为所述第三分组或者所述第四分组。
34、根据本专利技术的一些实施例,所述基于所述第一阈值从所述叶节点中选择第一候选文件,基于所述第一候选文件构建目标分组,包括:
35、当所述第一候选文件的所述第一大小值小于所述第一阈值,将所述第一阈值与所述第一候选文件的所述第一大小值之差确定为第二大小值;
36、将当前的叶节点确定为第一节点,基于预设的查找步长确定第二节点和第三节点,其中,所述第二节点与所述第一节点的节点距离小于或等于所述查找步长,所述第三节点与所述第一节点的节点距离大于所述查找步长;
37、基于所述目标匹配条件在所述第一节点匹配第二候选文件,其中,所述第二候选文件为所述第一大小值小于或等于所述第二大小值的所述目标文件的最大者;
38、当未能在所述第一节点匹配到所述第二候选文件,任选一个所述第二节点匹配所述第二候选文件;
39、当未能在任一所述第二节点匹配到所述第二候选文件,任选一个所述第三节点匹配所述第二候选文件;
40、当未能在任一所述第三节点匹配到所述第二候选文件,基于所述第一候选文件构建所述目标分组;
41、当成功匹配到所述第二候选文件,基于所述第二候选文件的所述第一大小值减少所述第二大小值,基于更新后的所述第二大小值继续匹配下一个所述第二候选文件,直到更新后的所述第二大小值无法匹配出任一所述目标文件,基于所述第一候选文件和全部的所述第二候选文件构建所述目标本文档来自技高网...
【技术保护点】
1.一种文件处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述从各个所述第二分组移除差异文件之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述将与所述关联文件不相同的所述第二文件确定为所述差异文件,包括:
4.根据权利要求3所述的方法,其特征在于,所述第一元信息包括第一哈希值,所述第一哈希值基于所述第一文件的文件内容生成,在所述基于参考分组信息将多个第二文件分成多个第二分组之前,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述从各个所述第二分组移除差异文件,包括:
6.根据权利要求1所述的方法,其特征在于,所述基于多个所述差异文件构建至少一个第三分组,包括:
7.根据权利要求6所述的方法,其特征在于,在所述从各个所述第二分组移除差异文件之后,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述预设规则包括:
9.根据权利要求8所述的方法,其特征在于,所述基于所述第一阈值从所述叶节点中选择第一候选文件,基于所述第
10.根据权利要求9所述的方法,其特征在于,当所述预设规则用于构建所述第四分组,所述基于所述第一阈值从所述叶节点中选择第一候选文件,包括:
11.一种文件处理装置,其特征在于,包括:
12.一种电子设备,其特征在于,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如权利要求1至10任一项所述的文件处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至10任一项所述的文件处理方法。
...【技术特征摘要】
1.一种文件处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述从各个所述第二分组移除差异文件之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述将与所述关联文件不相同的所述第二文件确定为所述差异文件,包括:
4.根据权利要求3所述的方法,其特征在于,所述第一元信息包括第一哈希值,所述第一哈希值基于所述第一文件的文件内容生成,在所述基于参考分组信息将多个第二文件分成多个第二分组之前,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述从各个所述第二分组移除差异文件,包括:
6.根据权利要求1所述的方法,其特征在于,所述基于多个所述差异文件构建至少一个第三分组,包括:
7.根据权利要求6所述的方法,其特征在于,在所述从各个所述第二分组移除差异文件之后,所述方法还包括:
8.根据权利要求7所述的方法,其特...
【专利技术属性】
技术研发人员:李荣华,黄成龙,王鹏,刘子豪,姚喆,
申请(专利权)人:珠海金山数字网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。