一种软件差分升级方法及装置制造方法及图纸

技术编号:28295049 阅读:22 留言:0更新日期:2021-04-30 16:18
本发明专利技术公开了一种软件差分升级方法及装置,方法包括:针对每个历史版本软件,获取该历史版本软件与接收的最新版本软件的差异文件,将获取的差异文件放入一压缩包与该历史版本软件的版本号对应存储;当接收到用户终端的升级请求时,查找升级请求中的版本号对应的压缩包,将查找到的压缩包传输至用户终端,以使用户终端根据压缩包中的差异文件完成当前版本软件的升级。在发布新版本软件时,对于每个历史版本软件,都会找出与新版本软件之间的所有差异化文件并提前放入一个压缩包中,以减少文件体积,当用户升级时,根据当前版本号查找对应的压缩包,将压缩包传输至用户终端完成升级,避免挨个下载差异文件打开和关闭文件流的时间,提高了升级速度。

【技术实现步骤摘要】
一种软件差分升级方法及装置
本专利技术涉及计算机
,具体涉及一种软件差分升级方法及装置。
技术介绍
目前,差分升级相对于传统的重新下载安装软件包的整包升级,差分升级只需要下载替换与当前版本差异的文件即可完成软件的升级。然而,目前的差分升级由于差异文件是一个一个的传输,在差异文件较多时,文件通过文件流进行网络传输时,打开和关闭文件流均会消耗时间,因此降低了软件升级速度,影响用户体验。
技术实现思路
本专利技术的目的是针对上述现有技术的不足提出的一种软件差分升级方法及装置,该目的是通过以下技术方案实现的。本专利技术的第一方面提出了一种软件差分升级方法,所述方法应用于服务器,所述方法包括:针对每个历史版本软件,获取该历史版本软件与接收的最新版本软件之间的差异文件,并将获取的差异文件放入一压缩包与该历史版本软件的版本号对应存储;当接收到用户终端的升级请求时,查找升级请求中的版本号对应的压缩包,并将查找到的压缩包传输至所述用户终端,以使所述用户终端根据压缩包中的差异文件完成当前版本软件的升级。本专利技术的第二方面提出了一种软件差分升级方法,所述方法应用于用户终端,所述方法包括:获取当前版本软件的版本号,并向服务器发送包含所述版本号的升级请求;接收所述服务器传输的最新版本软件相对当前版本软件的压缩包;根据所述压缩包中的差异文件完成当前版本软件的升级。本专利技术的第三方面提出了一种软件差分升级装置,所述装置应用于服务器,所述装置包括:获取模块,用于针对每个历史版本软件,获取该历史版本软件与接收的最新版本软件之间的差异文件;存储模块,用于将获取的差异文件放入一压缩包与该历史版本软件的版本号对应存储;请求处理模块,用于当接收到用户终端的升级请求时,查找升级请求中的版本号对应的压缩包,并将查找到的压缩包传输至所述用户终端,以使所述用户终端根据压缩包中的差异文件完成当前版本软件的升级。本专利技术的第四方面提出了一种软件差分升级装置,所述装置应用于用户终端,所述装置包括:发送模块,用于获取当前版本软件的版本号,并向服务器发送包含所述版本号的升级请求;接收模块,用于接收所述服务器传输的最新版本软件相对当前版本软件的压缩包;升级模块,用于根据所述压缩包中的差异文件完成当前版本软件的升级。基于上述第一方面至第四方面所述的软件差分升级方法及装置,本专利技术具有如下有益效果:在发布新版本软件时,对于每个历史版本软件,都会找出与新版本软件之间的所有差异化文件并提前放入一个压缩包中,以减少文件体积,当用户进行升级时,根据当前版本号查找对应的压缩包,并将压缩包传输至用户终端完成升级,避免了挨个下载差异化文件时打开和关闭文件流的时间,可以提高软件的升级速度。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术根据一示例性实施例示出的一种软件差分升级方法的实施例流程图;图2为本专利技术根据一示例性实施例示出的另一种软件差分升级方法的实施例流程图;图3为本专利技术根据一示例性实施例示出的一种电子设备的硬件结构图;图4为本专利技术根据一示例性实施例示出的一种软件差分升级装置的结构示意图;图5为本专利技术根据一示例性实施例示出的另一种软件差分升级装置的结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。在本专利技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本专利技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。图1为本专利技术根据一示例性实施例示出的一种软件差分升级方法的实施例流程图,该软件差分升级方法应用于服务器,该服务器为软件程序的后台服务器,如图1所示,该软件差分升级方法包括如下步骤:步骤101:针对每个历史版本软件,获取该历史版本软件与接收的最新版本软件之间的差异文件,并将获取的差异文件放入一压缩包与该历史版本软件的版本号对应存储。在一实施例中,针对获取该历史版本软件与接收的最新版本软件之间的差异文件的过程,通过计算最新版本软件包含的每个文件的哈希值,然后针对最新版本软件包含的每个文件,确定该历史版本软件是否包含与该文件相对应的文件,若包含,则将该文件的哈希值与该历史版本软件包含的对应文件的哈希值进行比较,若该历史版本软件不包含对应的的文件或者与该历史版本软件包含的对应文件的哈希值比较不相同,则将该文件确定为差异文件。其中,如果历史版本软件中某文件的内容在最新版本软件中没有任何修改,那么其哈希值不会发生变化,如果有修改,那么会计算得到新的哈希值。并且软件中的不同文件计算得到的哈希值不同。进一步地,针对确定该历史版本软件是否包含与该文件相对应的文件的过程,可以通过获取该文件在最新版本软件中的相对路径信息和文件名,然后根据所述相对路径信息,在该历史版本软件中查找具有所述文件名的文件作为与该文件相对应的文件。其中,无论是历史版本软件还是新版本软件,用于实现同一功能的文件的相对路径信息不会被更改,同时文件名也不会被更改,因此可以通过相对路径信息和文件名在历史版本软件中找到对应的文件。在一实施例中,针对将获取的差异文件放入一压缩包的过程,针对每个差异文件,通过获取所述差异文件在最新版本软件中的相对路径信息,并获取以所述相对路径信息命名的子文件夹,若获取到,则将所述差异文件写入获取的子文件夹中,若未获取到,则新建一个以所述相对路径信息命名的子文件夹,并将所述差异文件写入新建的子文件夹中,将所有子文件夹进行压缩,以得到一压缩包。其中,通过将差异文件写入以相对路径信息命名的子文件夹中的方式,可以便于升级时,根据子文件夹的命名信息找到差异文件所在的路径,并进行文件替换。步骤102:当接收到用户终端的升级请求时,查找升级请求中的版本号对应的压缩包,并将查找到的压缩包传输至用户终端,以使用户终端根据压缩包中的差异文件完成当前版本软件的升级。...

【技术保护点】
1.一种软件差分升级方法,其特征在于,所述方法应用于服务器,所述方法包括:/n针对每个历史版本软件,获取该历史版本软件与接收的最新版本软件之间的差异文件,并将获取的差异文件放入一压缩包与该历史版本软件的版本号对应存储;/n当接收到用户终端的升级请求时,查找升级请求中的版本号对应的压缩包,并将查找到的压缩包传输至所述用户终端,以使所述用户终端根据压缩包中的差异文件完成当前版本软件的升级。/n

【技术特征摘要】
1.一种软件差分升级方法,其特征在于,所述方法应用于服务器,所述方法包括:
针对每个历史版本软件,获取该历史版本软件与接收的最新版本软件之间的差异文件,并将获取的差异文件放入一压缩包与该历史版本软件的版本号对应存储;
当接收到用户终端的升级请求时,查找升级请求中的版本号对应的压缩包,并将查找到的压缩包传输至所述用户终端,以使所述用户终端根据压缩包中的差异文件完成当前版本软件的升级。


2.根据权利要求1所述的方法,其特征在于,所述获取该历史版本软件与接收的最新版本软件之间的差异文件,包括:
计算最新版本软件包含的每个文件的哈希值;
针对最新版本软件包含的每个文件,确定该历史版本软件是否包含与该文件相对应的文件;
若包含,则将该文件的哈希值与该历史版本软件包含的对应文件的哈希值进行比较;
若该历史版本软件不包含对应的的文件或者与该历史版本软件包含的对应文件的哈希值比较不相同,则将该文件确定为差异文件。


3.根据权利要求2所述的方法,其特征在于,所述确定该历史版本软件是否包含与该文件相对应的文件,包括:
获取该文件在最新版本软件中的相对路径信息和该文件的文件名;
根据所述相对路径信息,在该历史版本软件中查找具有所述文件名的文件作为与该文件相对应的文件。


4.根据权利要求1所述的方法,其特征在于,所述将获取的差异文件放入一压缩包,包括:
针对每个差异文件,获取所述差异文件在最新版本软件中的相对路径信息,并获取以所述相对路径信息命名的子文件夹;
若获取到,则将所述差异文件写入获取的子文件夹中;
若未获取到,则新建一个以所述相对路径信息命名的子文件夹,并将所述差异文件写入新建的子文件夹中;
将所有子文件夹进行压缩,以得到一压缩包。


5.一种软件差分升级方法,其特征在于,所述方法应用于用户终端,所述方法包括:
获取当前版本软件的版本号,并向服务器发送包含所述版本号的升级请求;
接收所述服务器传输的最新版本软件相对当前版本软件的压缩包;...

【专利技术属性】
技术研发人员:张黎明王希鹏单宝颖范晓丹
申请(专利权)人:潍柴动力股份有限公司
类型:发明
国别省市:山东;37

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

1