文件处理方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:36102094 阅读:17 留言:0更新日期:2022-12-28 14:01
本申请涉及一种文件处理方法、装置、计算机设备和存储介质。所述方法包括:扫描目标文件,以定位所述目标文件中引用资源对象的资源节点;获取与所述资源节点处所引用的资源对象相关的链接地址;若所述链接地址为本地地址,则基于所述链接地址在本地查找所述资源对象的原始数据,并对查找到的原始数据进行压缩得到压缩数据;从所述原始数据和压缩数据中确定目标数据并上传存储至服务器,得到所述目标数据在所述服务器中的网络地址;基于所述网络地址更新所述目标文件中用于引用所述资源对象的链接地址。采用本方法能够有效减少资源包体积,通过网络地址可以读取到该资源对象的目标数据。数据。数据。

【技术实现步骤摘要】
文件处理方法、装置、计算机设备和存储介质


[0001]本申请涉及计算机
,特别是涉及一种文件处理方法、装置、计算机设备和存储介质。

技术介绍

[0002]随着计算机技术的发展,电子设备中需要安装或者使用到越来越多的应用或者小程序,并且应用或者小程序的功能也越来越多,这就导致前端的应用文件的体积越来越大。而应用文件的体积越大,其在不同设备间进行传输所需要的时间和资源就越多,且还容易导致应用或者小程序在使用过程中存在卡顿、加载速度慢等问题。因此,亟需一种可以减少前端资源打包体积的方式,来有效减少资源包体积。

技术实现思路

[0003]基于此,有必要针对上述技术问题,提供一种能够有效减少资源包体积的文件处理方法、装置、计算机设备和存储介质。
[0004]一种文件处理方法,所述方法包括:
[0005]扫描目标文件,以定位所述目标文件中引用资源对象的资源节点;
[0006]获取与所述资源节点处所引用的资源对象相关的链接地址;
[0007]若所述链接地址为本地地址,则基于所述链接地址在本地查找所述资源对象的原始数据,并对查找到的原始数据进行压缩得到压缩数据;
[0008]从所述原始数据和压缩数据中确定目标数据并上传至服务器,得到所述目标数据在所述服务器中的网络地址;
[0009]基于所述网络地址更新所述目标文件中用于引用所述资源对象的链接地址。
[0010]一种文件处理装置,所述装置包括:
[0011]资源分析模块,用于扫描目标文件,以定位所述目标文件中引用资源对象的资源节点;获取与所述资源节点处所引用的资源对象相关的链接地址;
[0012]处理模块,用于若所述链接地址为本地地址,则基于所述链接地址在本地查找所述资源对象的原始数据;
[0013]资源压缩模块,用于对查找到的原始数据进行压缩得到压缩数据;
[0014]资源上传模块,用于从所述原始数据和压缩数据中确定目标数据并上传至服务器,得到所述目标数据在所述服务器中的网络地址;
[0015]所述处理模块还用于基于所述网络地址更新所述目标文件中用于引用所述资源对象的链接地址。
[0016]在其中一个实施例中,所述资源分析模块还用于获取配置文件中的扫描目录和所述扫描目录中的非扫描子目录;基于所述扫描目录中除所述非扫描子目录之外的其他子目录,对所述目标文件进行扫描;在扫描所述目标文件的过程中,查找所述目标文件中包括有引用资源对象的至少一个资源节点。
[0017]在其中一个实施例中,所述资源节点的数量为多个,与所述资源节点对应的链接地址的数量也为多个,所述处理模块还用于对于多个资源节点中的每个资源节点,均基于相对应的链接地址封装得到第一任务,并将封装得到的第一任务存入异步队列中;依据所述异步队列中存入的多个第一任务的先后顺序,通过任务处理器依次从所述异步队列中取出当前待处理的第一任务;对于取出的每个第一任务,均通过所述任务处理器进行解析,基于解析得到的链接地址,所述资源压缩模块还用于基于所述链接地址在本地查找所述资源对象的原始数据,并对查找到的原始数据进行压缩得到压缩数据。
[0018]在其中一个实施例中,所述处理模块还用于当将封装得到的第一任务存入异步队列中时,将所述第一任务的状态标记为待处理状态;当对所述第一任务处理完成时,将处理完成的第一任务的状态标记为已完成状态,并基于统计的已完成状态的任务数量,生成处理结果;当发生针对所述第一任务的压缩失败或者上传失败时,将相应的第一任务重新存入所述异步队列中,并将重新存入的第一任务的状态标记为待处理状态。
[0019]在其中一个实施例中,所述资源上传模块还用于若所述压缩数据的数据量小于所述原始数据的数据量,将所述压缩数据作为目标数据覆盖本地的所述原始数据,并将所述目标数据上传至服务器;若所述压缩数据的数据量大于或等于所述原始数据的数据量,直接将所述原始数据作为目标数据上传至服务器。
[0020]在其中一个实施例中,所述资源节点的数量为多个,与所述资源节点对应的链接地址的数量也为多个,所述处理模块还用于对于多个资源节点中的每个资源节点,均基于相对应的链接地址封装得到第二任务;若存在同一个链接地址对应至少两个资源节点,则将对应相同链接地址的第二任务进行合并,得到对应的合并任务;针对未合并的第二任务和所述合并任务,基于每个任务间互不相同的链接地址,在本地查找与各个任务分别对应的原始数据,所述资源压缩模块还用于对查找到的原始数据进行压缩得到压缩数据。
[0021]在其中一个实施例中,所述第二任务还包括有相对应资源节点的节点位置信息,所述处理模块还用于若存在同一个链接地址对应至少两个资源节点,则基于对应相同链接地址的资源节点的节点位置信息,将对应相同链接地址的第二任务进行合并,得到对应的合并任务;其中,一个合并任务中包括有一个链接地址、以及与所述一个链接地址对应的至少两个资源节点的节点位置信息;所述处理模块还用于确定与多个任务分别对应的网络地址;对于每个任务,均将相应任务所对应的网络地址,对所述目标文件中,与相应任务中的节点位置信息所指定的资源节点处的链接地址进行替换。
[0022]在其中一个实施例中,所述处理模块还用于将多个第二任务中所有对应相同链接地址的资源节点的节点位置信息,进行组合,以构成一个目标数组;根据所述目标数组、以及相对应的链接地址,生成合并任务。
[0023]在其中一个实施例中,所述资源节点的数量为多个,与所述资源节点对应的链接地址的数量也为多个;对于所述多个资源节点中的当前资源节点,若所述当前资源节点所对应的链接地址为本地地址、且首次出现,所述处理模块还用于基于所述链接地址在本地查找所述资源对象的原始数据,所述资源压缩模块还用于对查找到的原始数据进行压缩得到压缩数据,所述资源上传模块还用于从所述原始数据和压缩数据中确定目标数据并上传至服务器,得到所述目标数据在所述服务器中的网络地址;若所述当前资源节点所对应的链接地址为本地地址、且与在所述当前资源节点之前处理的历史资源节点的链接地址指向
相同的原始数据,所述处理模块还用于直接获取所述历史资源节点对应的网络地址,作为与当前资源节点对应的网络地址;所述处理模块还用于将多个资源节点各自对应的网络地址,对所述目标文件中相应资源节点所对应的链接地址进行替换。
[0024]在其中一个实施例中,所述处理模块还用于在基于所述网络地址,对所述目标文件中用于引用所述资源对象的链接地址进行全部更新后,得到更新文件;所述资源上传模块还用于上报所述更新文件;上报的所述更新文件用于传输至指定设备,以使得所述指定设备在接收到更新文件后,基于所述更新文件中的网络地址从服务器下载目标数据,并基于下载的目标数据得到与所述目标文件相匹配的完整文件。
[0025]在其中一个实施例中,所述目标文件包括应用程序文件;所述资源对象至少包括图片、视频、音频、及文档中的一种;所述资源节点至少包括图片节点、视频节点、音频节点、及文档节点中的一种。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件处理方法,其特征在于,所述方法包括:扫描目标文件,以定位所述目标文件中引用资源对象的资源节点;获取与所述资源节点处所引用的资源对象相关的链接地址;若所述链接地址为本地地址,则基于所述链接地址在本地查找所述资源对象的原始数据,并对查找到的原始数据进行压缩得到压缩数据;从所述原始数据和压缩数据中确定目标数据并上传至服务器,得到所述目标数据在所述服务器中的网络地址;基于所述网络地址更新所述目标文件中用于引用所述资源对象的链接地址。2.根据权利要求1所述的方法,其特征在于,所述扫描目标文件,以定位所述目标文件中引用资源对象的资源节点,包括:获取配置文件中的扫描目录和所述扫描目录中的非扫描子目录;基于所述扫描目录中除所述非扫描子目录之外的其他子目录,对所述目标文件进行扫描;在扫描所述目标文件的过程中,查找所述目标文件中包括有引用资源对象的至少一个资源节点。3.根据权利要求1所述的方法,其特征在于,所述资源节点的数量为多个,与所述资源节点对应的链接地址的数量也为多个,所述基于所述链接地址在本地查找所述资源对象的原始数据,并对查找到的原始数据进行压缩得到压缩数据之前,所述方法还包括:对于多个资源节点中的每个资源节点,均基于相对应的链接地址封装得到第一任务,并将封装得到的第一任务存入异步队列中;依据所述异步队列中存入的多个第一任务的先后顺序,通过任务处理器依次从所述异步队列中取出当前待处理的第一任务;对于取出的每个第一任务,均通过所述任务处理器进行解析,基于解析得到的链接地址,执行所述基于所述链接地址在本地查找所述资源对象的原始数据,并对查找到的原始数据进行压缩得到压缩数据。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当将封装得到的第一任务存入异步队列中时,将所述第一任务的状态标记为待处理状态;当对所述第一任务处理完成时,将处理完成的第一任务的状态标记为已完成状态,并基于统计的已完成状态的任务数量,生成处理结果;当发生针对所述第一任务的压缩失败或者上传失败时,将相应的第一任务重新存入所述异步队列中,并将重新存入的第一任务的状态标记为待处理状态。5.根据权利要求1所述的方法,其特征在于,所述从所述原始数据和压缩数据中确定目标数据并上传至服务器,包括:若所述压缩数据的数据量小于所述原始数据的数据量,将所述压缩数据作为目标数据覆盖本地的所述原始数据,并将所述目标数据上传至服务器;若所述压缩数据的数据量大于或等于所述原始数据的数据量,直接将所述原始数据作为目标数据上传至服务器。6.根据权利要求1所述的方法,其特征在于,所述资源节点的数量为多个,与所述资源
节点对应的链接地址的数量也为多个,所述基于所述链接地址在本地查找所述资源对象的原始数据,并对查找到的原始数据进行压缩得到压缩数据,包括:对于多个资源节点中的每个资源节点,均基于相对应的链接地址封装得到第二任务;若存在同一个链接地址对应至少两个资源节点,则将对应相同链接地址的第二任务进行合并,得到对应的合并任务;针对未合并的第二任务和所述合并任务,基于每个任务间互不相同的链接地址,在本地查找与各个任务分别对应的原始数据,并对查找到的原始数据进行压缩得到压缩数据。7.根据权利要求6所述的方法,其特征在于,所述第二任务还包括有相对应资源节点的节点位置信息,所述若存在同一个链接地址对应至少两个资源节点,则将对应相同链接地址的第二任务进行合并,得到对应的合并任务,包括:若存在同一个链接地址对应至少两个资源节点,则基于对应相同链接地址的资源节点的节点位置信息,将对应相同链接地址的第二任务进行合并,得到对应的合并任务;其中,一个合并任务中包括有一个链接地址、以及与所述一个链接地址对应的至少两个资源节点的节点位置信息;所述基于所述网络地址更新所述目标文件中用于引用...

【专利技术属性】
技术研发人员:张勇杨师孙豪隆
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1