一种软件加载的方法和装置及设备制造方法及图纸

技术编号:33699462 阅读:24 留言:0更新日期:2022-06-06 08:05
本发明专利技术公开了一种软件加载的方法和装置及设备,所述方法包括:响应于客户端发送的软件加载请求,扫描待加载的软件,确定映射所述待加载的软件中实体文件绝对路径的第一软件结构表;在所述第一软件结构表中的绝对路径下增加对应的实体文件名称,得到第二软件结构表;以所述第二软件结构表为索引,查找所述待加载的软件中的实体文件,进行重组,并将所述第二软件结构表添加在实体文件得到重组后的实体文件;对重组后的实体文件进行压缩,得到流式压缩包,并将所述流式压缩包发送到客户端。利用本发明专利技术的方法,实现加载软件时,当临时资源小于升级包的大小,只需要使用较小的临时资源分块接收,消除各块的依赖性,流式分块解压,提高加载效率。提高加载效率。提高加载效率。

【技术实现步骤摘要】
一种软件加载的方法和装置及设备


[0001]本专利技术涉及通信
,尤其涉及一种软件加载的方法和装置及设备。

技术介绍

[0002]随着无线通信技术的发展与普及,在越来越多的软件投入使用,而软件会每隔一段时间进行软件版本的升级,以修复现有版本的缺陷、升级软件的功能。一般软件升级/安装的过程是:设备接收软件包,将接收到的软件包中的数据解压,写入软件安装的存储区。在上述过程中,需要一块临时资源来存储软件包。如果软件包超过了临时资源的限制,例如,软件包过大或临时资源过小,会导致升级/安装过程无法进行,尤其是在资源有限的嵌入式设备上,上述升级/安装的局限性就变得更加突出。
[0003]面对上述问题,现有的技术方案存在两种解决方案,第一种为当升级镜像文件的大小超过OLT(Optical Line Terminal,光线路终端)的最大可分配内存的大小时,网管服务器与OLT协商确定OLT每次下载的镜像分片的大小,镜像分片由网管服务器对升级镜像文件进行分割后得到,且每个镜像分片的大小均不超过最大可分配内存的大小;网管服务器每次向OLT下发一个镜像分片,OLT将收到的镜像分片存入预先分配的下载空间后下发给ONU(Optical Network Unit,光网络单元),然后清空下载空间,直到所有镜像分片下发完毕。但是上述方案存在一定的问题,如果分片之间存在依赖性,例如升级过程的一些解压等后处理操作,上述方案无法处理这种依赖性,导致升级/安装失败。
[0004]第二种解决方案为按照临时资源的长度将源版本文件和目标版本文件分别划分为多个分块;将所述源版本文件的分块和所述目标版本文件的分块进行对比,获得所述源版本文件的分块和所述目标版本文件的分块之间的差分信息和复制依赖关系;根据所述差分信息和复制依赖关系生成差分升级包。但是上述制作差分升级包的过程,对原版本文件存在依赖,在没有原版本文件的情况,比如安装新软件时,无法解决上述问题;此外,在部分场景下,生成的差分升级包依然超过了临时资源的限制,升级的操作也无法完成。

技术实现思路

[0005]本专利技术提供一种软件加载的方法和装置及设备,解决在加载软件时,当临时资源小于升级包的大小,如何使用较小的临时资源,加载软件的问题。
[0006]第一方面,本专利技术提供一种软件加载的方法,应用于服务端,该方法包括:
[0007]响应于客户端发送的软件加载请求,扫描待加载的软件,确定映射所述待加载的软件中实体文件绝对路径的第一软件结构表;
[0008]在所述第一软件结构表中的绝对路径下增加对应的实体文件名称,得到第二软件结构表;
[0009]以所述第二软件结构表为索引,查找所述待加载的软件中的实体文件,进行重组,并将所述第二软件结构表添加在实体文件得到重组后的实体文件;
[0010]对重组后的实体文件进行压缩,得到流式压缩包,并将所述流式压缩包发送到客
户端。
[0011]可选地,得到流式压缩包之后,还包括:
[0012]在所述流式压缩包的头部添加所述待加载的软件的元数据,所述元数据包括所述待加载的软件的原始大小、签名信息、安装类型、版本中的至少一项。
[0013]可选地,以所述第二软件结构表为索引,查找所述待加载的软件中的实体文件,包括执行如下至少一个步骤:
[0014]根据所述第二软件结构表,确定所述待加载的软件中的目录结构信息并删除;
[0015]根据所述第二软件结构表,确定所述待加载的软件中的非实体文件类型的文件并删除;
[0016]以所述第二软件结构表为索引,确定所述待加载的软件中实体文件位置,并提取对应的实体文件。
[0017]可选地,查找所述待加载的软件中的实体文件,进行重组,并将所述第二软件结构表添加在实体文件得到重组后的实体文件,包括:
[0018]将查找到的待加载的软件中的实体文件进行队列排序,将所述第二软件结构表添加到队尾进行重组,所述实体文件包括文件描述信息和压缩数据块。
[0019]可选地,所述文件描述信息包括:所述实体文件的压缩数据块的大小、所述实体文件的压缩数据块解压缩后的大小、所述实体文件的压缩数据块的所属文件名称。
[0020]可选地,扫描待加载的软件,获得如下信息中的至少一项:配置文件、脚本文件、目录结构、所述实体文件间的依赖关系。
[0021]第二方面,本专利技术提供一种软件加载的方法,应用于客户端,该方法包括:
[0022]向服务端发送软件加载请求;
[0023]分块接收所述服务端发送的流式压缩包,并写入数据接收窗口;
[0024]对所述数据接收窗口写入的流式压缩包的分块进行解压缩,并写入存储器,在所述存储器中得到重组后的实体文件;
[0025]根据所述重组后的实体文件的第二软件结构表,将所述存储器中的所述重组后的实体文件的结构恢复为所述待加载的软件的结构。
[0026]可选地,对所述数据接收窗口写入的流式压缩包的分块进行解压缩,并写入存储器,在所述存储器中得到重组后的实体文件,包括:
[0027]根据所述重组后的实体文件的文件描述信息,将所述解压缩后的流式压缩包的分块重组,在所述存储器中得到重组后的实体文件。
[0028]可选地,所述重组后的实体文件的文件描述信息包括:
[0029]所述实体文件的压缩数据块的大小、所述实体文件的压缩数据块解压缩后的大小、所述实体文件的压缩数据块的所属文件名称。
[0030]第三方面,本专利技术提供一种软件加载的设备,应用于服务端,包括存储器和处理器,其中:
[0031]所述存储器用于存储计算机程序;
[0032]所述处理器用于读取所述存储器中的程序并执行如下步骤:
[0033]响应于客户端发送的软件加载请求,扫描待加载的软件,确定映射所述待加载的软件中实体文件绝对路径的第一软件结构表;
[0034]在所述第一软件结构表中的绝对路径下增加对应的实体文件名称,得到第二软件结构表;
[0035]以所述第二软件结构表为索引,查找所述待加载的软件中的实体文件,进行重组,并将所述第二软件结构表添加在实体文件得到重组后的实体文件;
[0036]对重组后的实体文件进行压缩,得到流式压缩包,并将所述流式压缩包发送到客户端。
[0037]可选地,得到流式压缩包之后,所述处理器还用于:
[0038]在所述流式压缩包的头部添加所述待加载的软件的元数据,所述元数据包括所述待加载的软件的原始大小、签名信息、安装类型、版本中的至少一项。
[0039]可选地,所述处理器以所述第二软件结构表为索引,查找所述待加载的软件中的实体文件,包括执行如下至少一个步骤:
[0040]根据所述第二软件结构表,确定所述待加载的软件中的目录结构信息并删除;
[0041]根据所述第二软件结构表,确定所述待加载的软件中的非实体文件类型的文件并删除;
[0042]以所述第二软件结构表为索引,确定所述待加载的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件加载的方法,其特征在于,应用于服务端,包括:响应于客户端发送的软件加载请求,扫描待加载的软件,确定映射所述待加载的软件中实体文件绝对路径的第一软件结构表;在所述第一软件结构表中的绝对路径下增加对应的实体文件名称,得到第二软件结构表;以所述第二软件结构表为索引,查找所述待加载的软件中的实体文件,进行重组,并将所述第二软件结构表添加在实体文件得到重组后的实体文件;对重组后的实体文件进行压缩,得到流式压缩包,并将所述流式压缩包发送到客户端。2.根据权利要求1所述的方法,其特征在于,得到流式压缩包之后,还包括:在所述流式压缩包的头部添加所述待加载的软件的元数据,所述元数据包括所述待加载的软件的原始大小、签名信息、安装类型、版本中的至少一项。3.根据权利要求1所述的方法,其特征在于,以所述第二软件结构表为索引,查找所述待加载的软件中的实体文件,包括执行如下至少一个步骤:根据所述第二软件结构表,确定所述待加载的软件中的目录结构信息并删除;根据所述第二软件结构表,确定所述待加载的软件中的非实体文件类型的文件并删除;以所述第二软件结构表为索引,确定所述待加载的软件中实体文件位置,并提取对应的实体文件。4.根据权利要求1所述的方法,其特征在于,查找所述待加载的软件中的实体文件,进行重组,并将所述第二软件结构表添加在实体文件得到重组后的实体文件,包括:将查找到的待加载的软件中的实体文件进行队列排序,将所述第二软件结构表添加到队尾进行重组,所述实体文件包括文件描述信息和压缩数据块。5.根据权利要求4所述的方法,其特征在于,所述文件描述信息包括:所述实体文件的压缩数据块的大小、所述实体文件的压缩数据块解压缩后的大小、所述实体文件的压缩数据块的所属文件名称。6.根据权利要求1所述的方法,其特征在于,扫描待加载的软件,获得如下信息中的至少一项:配置文件、脚本文件、目录结构、所述实体文件间的依赖关系。7.一种软件加载的方法,其特征在于,应用于客户端,包括:向服务端发送软件加载请求;分块接收所述服务端发送的流式压缩包,并写入数据接收窗口;对所述数据接收窗口写入的流式压缩包的分块进行解压缩,并写入存储器,在所述存储器中得到重组后的实体文件;根据所述重组后的实体文件的第二...

【专利技术属性】
技术研发人员:王全财
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

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

1