一种应用程序版本更新方法和装置与流程



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.在一种可能的实现方式中,所述确定单元,用于:
42.若所述当前文件相对于所述目标文件发生变化,将所述当前文件确定为所述待更新文件。
43.在一种可能的实现方式中,若所述文件表示信息为文件摘要信息,所述装置还包括:
44.计算单元,用于根据所述第一版本文件的文件目录结构,使用相同的摘要算法依次计算每个文件的文件摘要信息;
45.记录单元,用于将所述第一版本文件中每个文件的文件路径、文件修改日期和对应的文件摘要信息记录在一个临时清单列表中;
46.排序单元,用于根据所述临时清单列表中的文件修改日期对所述第一版本文件中的文件进行降序排列,使得所述第一版本文件中的文件按照文件修改日期从大到小的顺序排列;
47.所述记录单元,还用于将每个文件对应的文件路径和文件摘要信息按所述顺序记录到所述第一清单文件中。
48.由上述技术方案可以看出,本技术在进行应用程序的版本更新时,可以获取待更新应用程序对应的第一版本文件的第一清单文件,第一清单文件中记录有第一版本文件中每个文件的文件信息,第一清单文件中每个文件的文件信息按照文件修改日期从大到小的
顺序排列,文件信息包括文件的文件路径和文件表示信息。然后按照第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对,第一版本文件的版本修改时间大于第二版本文件的版本修改时间。在比对过程中,当比对到第一清单文件中当前文件的文件表示信息时,从第二清单文件中查询与当前文件位于同样文件路径的目标文件的文件表示信息,并将当前文件的文件表示信息与目标文件的文件表示信息进行比对。若比对结果指示当前文件相对于目标文件未发生变化,则确定第一清单文件中该文件之后的所有文件也没有变化,直接结束比对,并从第一版本文件中获取待更新文件,以便利用待更新文件完成对待更新应用程序的更新,在第一清单文件中待更新文件的文件信息排列在当前文件的文件信息之前。通过这种方式则只需要比较至与目标文件相比未发生变化的第一个文件便可完成比对工作,之后的其余文件则无需再进行比对,从而提升应用程序的版本更新效率,大大节省了应用程序的版本更新时间。
附图说明
49.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
50.图1为本技术实施例提供的一种应用程序版本更新方法的流程图;
51.图2为本技术实施例提供的一种应用程序版本更新装置的结构图。
具体实施方式
52.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.全量更新是指应用程序升级时从版本服务器下载目标版本的全量文件进行覆盖更新,而为节省网络资源,实现大量金融终端的应用程序快速地进行版本更新,通常采用增量文件更新方式。增量更新是指应用程序升级时仅从版本服务器下载目标版本中相较于本地版本新增和变更的文件覆盖本地文件,无变化的文件不重复下载。在进行增量更新时,相关技术会对新旧版本文件进行逐个比对,查询出新旧版本之间有变化的文件,然后从新版本文件中下载这些有变化的文件进行更新,以实现应用程序的版本更新,如果旧版本中不存在该文件,按文件不同处理,需要下载新版本中的文件。如果新版本中有100个文件,需要比较100次;如果新版本中有10000个文件,则需要比较10000次。
54.通常,新旧版本文件之间有变化的文件仅占整个版本文件总量的一小部分,绝大部分是无需更新文件,上述比较方法效率较低,如果金融机构拥有大量金融终端,其应用程序版本更新的总体时间消耗会较为巨大。
55.为了解决上述技术问题,本技术提供一种应用程序版本更新方法,具体地,在进行应用程序的版本更新时,可以获取待更新应用程序对应的第一版本文件的第一清单文件,第一清单文件中记录有第一版本文件中每个文件的文件信息,第一清单文件中每个文件的
文件信息按照文件修改日期从大到小的顺序排列,文件信息包括文件的文件路径和文件表示信息。然后按照第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对,第一版本文件的版本修改时间大于第二版本文件的版本修改时间。在比对过程中,当比对到第一清单文件中当前文件的文件表示信息时,从第二清单文件中查询与当前文件位于同样文件路径的目标文件的文件表示信息,并将当前文件的文件表示信息与目标文件的文件表示信息进行比对。若比对结果指示当前文件相对于目标文件未发生变化,则确定第一清单文件中该文件之后的所有文件也没有变化,直接结束比对,并从第一版本文件中获取待更新文件,以便利用待更新文件完成对待更新应用程序的更新,在第一清单文件中待更新文件的文件信息排列在当前文件的文件信息之前。通过这种方式则只需要比较至与目标文件相比未发生变化的第一个文件便可完成比对工作,之后的其余文件则无需再进行比对,从而提升应用程序的版本更新效率,大大节省了应用程序的版本更新时间。
56.本技术实施例提供的方法可以对终端设备上的应用程序进行更新,本技术实施例提供的方法可以应用到各个领域的应用程序更新,例如可以是金融领域。当应用到金融领域时,该终端设备可以是金融终端。
57.本技术实施例提供的方法可以由计算机设备执行,该计算机设备上可以是终端设备,也可以是服务器。
58.接下来,将结合附图对本技术提供的应用程序版本更新方法进行介绍。
59.参见图1所示,所示方法包括:
60.s101、获取待更新应用程序对应的第一版本文件的第一清单文件,所述第一清单文件中记录有所述第一版本文件中每个文件的文件信息,所述第一清单文件中每个文件的文件信息按照文件修改日期从大到小的顺序排列,所述文件信息包括文件的文件路径和文件表示信息。
61.需要说明的是,每个版本文件对应的清单文件可以是预先生成的,任一版本文件的清单文件可以存储服务器中,例如可以是版本服务器中。在生成清单文件时,会先按照当前版本的文件目录结构,使用同样的摘要算法依次计算每个文件的文件摘要信息,并将文件路径、文件修改日期和对应的文件摘要信息记录在一个临时清单列表中,然后根据文件修改日期对这些文件进行降序排列,让最近更新的文件排在最前面,最久更新的文件排在最后面;最后将对应的文件路径和文件摘要信息按顺序记录到清单文件中。其中,摘要算法一般指信息摘要算法(message-digest algorithm),通过一系列的计算方法和规则,将输入的任意长度的数据(例如本技术实施例中的文件)转化成固定长度的返回值(即文件摘要信息),摘要算法还可以称为哈希算法或者散列算法。
62.以第一版本文件的第一清单文件为例,若文件表示信息为文件摘要信息,根据第一版本文件的文件目录结构,使用相同的摘要算法依次计算每个文件的文件摘要信息;将第一版本文件中每个文件的文件路径、文件修改日期和对应的文件摘要信息记录在一个临时清单列表中;根据临时清单列表中的文件修改日期对第一版本文件中的文件进行降序排列,使得第一版本文件中的文件按照文件修改日期从大到小的顺序排列;将每个文件对应的文件路径和文件摘要信息按顺序记录到第一清单文件中,从而生成第一清单文件。
63.不考虑程序或者硬件缺陷,按上述方案生成的任一版本文件的清单文件,均是严
格按照时间顺序降序进行排列,且版本服务器的系统时间总是准确的。比如文件a的文件修改日期是t1=20200101090000(2020年1月1日9点整),文件b的文件修改日期是t2=20200101090001(2020年1月1日9点0分1秒),则t1《t2,在清单文件中文件a排在文件b的后面。对于一个特定的版本文件vm,可以记该版本文件的清单文件中排在最前文件的文件修改日期为该版本文件的修改时间tvm。对于版本文件vm之后新产生的版本文件vn,版本修改时间为tvn。且由于版本文件vn是在版本文件vm之后生成的,有tvm《tvn。在版本文件vn的清单文件中,相较于版本文件vm,所有有变化的文件,其文件修改日期均应大于tvm。如果有文件的文件修改日期小于或等于tvm,那该文件的一份拷贝在版本文件vm发布时就已经包含在该版本文件中了,那该文件相较于版本文件vm中的文件是没有变化的。
64.基于此,本技术实施例在需要进行应用程序的版本更新时,可以将该应用程序进行待更新应用程序,从而获取待更新应用程序对应的第一版本文件的第一清单文件,以便进行文件是否变化的比对。
65.需要说明的是,本技术实施例提供的方法可以由计算机设备执行,该计算机设备可以是终端设备,也可以是服务器(例如版本服务器)。当该计算机设备是终端设备时,则直接获取待更新应用程序对应的第一版本文件的第一清单文件。当该计算机设备是服务器时,相关技术可以通过静态增量打包的方式进行版本更新,具体的,可以在待更新应用程序升级时,根据与服务器上生成的最新版本文件(例如第一版本文件)的版本差异,逐步将应用程序更新到第一版本文件。比如待更新应用程序的当前版本文件为v1,服务器最新生成的版本文件即第一版本文件为v3,中间差了2个版本,终端设备需要先下载v2到v1的增量包,将待更新应用程序升级到v2,再下载v3到v2的增量包,最终将待更新应用程序升级到v3。待更新应用程序有时需要进行多次升级,可能还会下载重复的文件,升级效率低。
66.在本技术实施例中,为了解决静态增量打包方式存在的技术问题,可以采用动态增加打包的方式进行版本更新。当通过动态增量打包进行版本更新时,该方法由服务器执行,在按照第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对之前,服务器可以接收终端设备发送的当前版本号,进而根据当前版本号获取第二版本文件的第二清单文件。具体的,待更新应用程序需要升级时,终端设备可以先上送待更新应用程序的当前版本号,服务器根据当前版本号获取第二版本文件的第二清单文件,进而确定第二版本文件与第一版本文件中间的文件差异生成待更新文件得到增量包。然后终端设备再下载该待更新文件的增量包完成版本更新。每次待更新应用程序升级,服务器都需要进行版本文件比对,再动态生成用于升级的增量包,通过服务器响应于待更新应用程序的升级请求。通过动态增量打包的方式处理简单,可支持跨版本升级。
67.s102、按照所述第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对,所述第一版本文件的版本修改时间大于所述第二版本文件的版本修改时间。
68.s103、在比对过程中,当比对到第一清单文件中当前文件的文件表示信息时,从所述第二清单文件中查询与所述当前文件位于同样文件路径的目标文件的文件表示信息,并将所述当前文件的文件表示信息与所述目标文件的文件表示信息进行比对。
69.当需要进行版本更新时,为了获取待更新文件,可以先下载新版本(例如第一版本
文件)的第一清单文件,然后根据第一清单文件按顺序到第二清单文件中查询与当前文件位于同样文件路径的目标文件的文件表示信息,并将当前文件的文件表示信息与目标文件的文件表示信息进行比对。
70.在本技术实施例中,文件表示信息可以包括不同的内容,在一种可能的实现方式中,文件表示信息可以包括文件摘要信息和文件修改日期至少一种。
71.当文件表示信息中包括文件摘要信息时,文件摘要信息的生成方式可以参见s101中的描述,此处不再赘述。此时,将当前文件的文件表示信息与目标文件的文件表示信息进行比对即将当前文件的文件摘要信息与目标文件的文件摘要信息进行比对。
72.当文件表示信息中包括文件修改日期时,文件清单中带上文件修改日期,此时将当前文件的文件表示信息与目标文件的文件表示信息进行比对即将当前文件的文件修改日期与目标文件的文件修改日期进行比对。
73.s104、若比对结果指示所述当前文件相对于所述目标文件未发生变化,则结束比对,并从所述第一版本文件中获取待更新文件,以便利用所述待更新文件完成对所述待更新应用程序的更新,在所述第一清单文件中所述待更新文件的文件信息排列在所述当前文件的文件信息之前。
74.在完成当前文件的文件表示信息与目标文件的文件表示信息的比对后得到比对结果,若比对结果指示当前文件相对于目标文件发生变化,将当前文件确定为待更新文件。若比对结果指示当前文件相对于目标文件未发生变化,则结束比对,并从第一版本文件中获取待更新文件,以便利用待更新文件完成对所述待更新应用程序的更新
75.当文件表示信息中包括文件摘要信息时,此时确定比对结果指示当前文件相对于目标文件未发生变化的方式可以为若比对结果为当前文件的文件摘要信息与目标文件的文件摘要信息相同,确定比对结果指示当前文件相对于目标文件未发生变化。若比对结果为当前文件的文件摘要信息与目标文件的文件摘要信息不同,确定比对结果指示当前文件相对于目标文件发生变化。
76.具体地,如果文件摘要信息不同,则认为文件有变化,需要更新为新版本文件(例如本技术实施例中的第一版本文件)中的文件;如果新旧版本中同路径下文件的文件摘要信息相同,则认为当前文件没有变化,并且第一清单文件中该当前文件之后的所有文件也没有变化,直接结束比对。
77.假设前面的vm正好是当前版本文件(即第二版本文件),vn是需要更新到的新版本文件(即第二版本文件),当比较到新旧版本中同路径下文件的文件摘要信息相同时,记vn的第一清单文件中该文件的文件修改日期为tx,显然有tx≤tvm《tvn,vn的第一清单文件中该文件之后的任一文件的文件修改日期ty,有ty≤tx≤tvm,显然从tx对应的文件开始,均已纳入到之前发布的vm中,属于两个版本文件之间无变化的文件。
78.当文件表示信息中包括文件修改日期时,此时确定比对结果指示当前文件相对于目标文件未发生变化的方式可以为若比对结果为当前文件的文件修改日期小于或等于目标文件的文件修改日期,确定比对结果指示当前文件相对于目标文件未发生变化。
79.具体地,在进行版本更新时,取当前版本文件(例如第二版本文件)对应的第二清单文件中排在最前文件的文件修改时间,从新版本文件(例如第一版本文件)对应的第一清单文件中出文件修改时间晚于(大于)该文件修改时间的文件,即为待下载的第一版本文
件相对于第二版本文件有更新需下载的文件。这种比对方式直接比对文件修改时间,进一步提升应用程序的版本更新效率,进一步节省应用程序的版本更新时间。
80.在确定待更新文件后,若本技术实施例提供的方法由服务器执行,则服务器可以将待更新文件下发至终端设备,以便终端设备对待更新应用程序进行更新。若本技术实施例提供的方法由终端设备执行,则终端设备可以直接利用待更新文件对待更新应用程序进行更新。
81.通过上述方案,只需要比较至与目标文件相比未发生变化的第一个文件便可完成比对工作,之后的其余文件则无需再进行比对,例如第一版本文件中有10000个文件,与第二版本文件相比实际变化的文件有10个,则只需要比较10+1次即可完成比对工作,大大节省了处理时间。
82.由上述技术方案可以看出,本技术在进行应用程序的版本更新时,可以获取待更新应用程序对应的第一版本文件的第一清单文件,第一清单文件中记录有第一版本文件中每个文件的文件信息,第一清单文件中每个文件的文件信息按照文件修改日期从大到小的顺序排列,文件信息包括文件的文件路径和文件表示信息。然后按照第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对,第一版本文件的版本修改时间大于第二版本文件的版本修改时间。在比对过程中,当比对到第一清单文件中当前文件的文件表示信息时,从第二清单文件中查询与当前文件位于同样文件路径的目标文件的文件表示信息,并将当前文件的文件表示信息与目标文件的文件表示信息进行比对。若比对结果指示当前文件相对于目标文件未发生变化,则确定第一清单文件中该文件之后的所有文件也没有变化,直接结束比对,并从第一版本文件中获取待更新文件,以便利用待更新文件完成对待更新应用程序的更新,在第一清单文件中待更新文件的文件信息排列在当前文件的文件信息之前。通过这种方式则只需要比较至与目标文件相比未发生变化的第一个文件便可完成比对工作,之后的其余文件则无需再进行比对,从而提升应用程序的版本更新效率,大大节省了应用程序的版本更新时间。
83.通过本技术实施例提供的方法,只需打包一次,可支持跨版本升级。每次版本更新仅需比对部分文件,耗时短。需要说明的是,本技术实施例可以通过版本升级从相关技术提供的版本更新方法无缝切换到本技术实施例所提供的版本更新方法,具体地,可以先升级其版本服务器,按最近更新排序生成文件清单。终端设备上的应用程序采用相关技术提供的方法进行版本更新,下载文件清单,完成全量文件比对,最后完成版本更新,将应用程序升级到可支持本技术实施例提供的方案。后续系统进行版本升级时,服务器和终端设备均采用本技术实施例提供的方案。至此即可完成版本升级方案的切换。基于前述实施例提供的应用程序版本更新方法,本技术实施例还提供一种应用程序版本更新装置,参见图2,所述装置包括:
84.获取单元201,用于获取待更新应用程序对应的第一版本文件的第一清单文件,所述第一清单文件中记录有所述第一版本文件中每个文件的文件信息,所述第一清单文件中每个文件的文件信息按照文件修改日期从大到小的顺序排列,所述文件信息包括文件的文件路径和文件表示信息;
85.比对单元202,用于按照所述第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对,所述第一版本
文件的版本修改时间大于所述第二版本文件的版本修改时间;
86.所述比对单元202,具体用于在比对过程中,当比对到第一清单文件中当前文件的文件表示信息时,从所述第二清单文件中查询与所述当前文件位于同样文件路径的目标文件的文件表示信息,并将所述当前文件的文件表示信息与所述目标文件的文件表示信息进行比对;
87.所述获取单元201,还用于若比对结果指示所述当前文件相对于所述目标文件未发生变化,则结束比对,并从所述第一版本文件中获取待更新文件,以便利用所述待更新文件完成对所述待更新应用程序的更新,在所述第一清单文件中所述待更新文件的文件信息排列在所述当前文件的文件信息之前。
88.在一种可能的实现方式中,所述文件表示信息为文件摘要信息,所述装置还包括:
89.确定单元,用于若所述比对结果为所述当前文件的文件摘要信息与所述目标文件的文件摘要信息相同,确定所述比对结果指示所述当前文件相对于所述目标文件未发生变化。
90.在一种可能的实现方式中,所述文件表示信息为文件修改日期,所述确定单元,还用于:
91.若所述比对结果为所述当前文件的文件修改日期小于或等于所述目标文件的文件修改日期,确定所述比对结果指示所述当前文件相对于所述目标文件未发生变化。
92.在一种可能的实现方式中,若所述方法由服务器执行,所述装置还包括:
93.接收单元,用于在按照所述第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对之前,接收终端设备发送的当前版本号;
94.所述获取单元,还用于根据所述当前版本号获取所述第二版本文件的第二清单文件。
95.在一种可能的实现方式中,所述装置还包括:
96.下发单元,用于将所述待更新文件下发至终端设备,以便所述终端设备对所述待更新应用程序进行更新。
97.在一种可能的实现方式中,所述确定单元,用于:
98.若所述当前文件相对于所述目标文件发生变化,将所述当前文件确定为所述待更新文件。
99.在一种可能的实现方式中,若所述文件表示信息为文件摘要信息,所述装置还包括:
100.计算单元,用于根据所述第一版本文件的文件目录结构,使用相同的摘要算法依次计算每个文件的文件摘要信息;
101.记录单元,用于将所述第一版本文件中每个文件的文件路径、文件修改日期和对应的文件摘要信息记录在一个临时清单列表中;
102.排序单元,用于根据所述临时清单列表中的文件修改日期对所述第一版本文件中的文件进行降序排列,使得所述第一版本文件中的文件按照文件修改日期从大到小的顺序排列;
103.所述记录单元,还用于将每个文件对应的文件路径和文件摘要信息按所述顺序记
录到所述第一清单文件中。
104.由上述技术方案可以看出,本技术在进行应用程序的版本更新时,可以获取待更新应用程序对应的第一版本文件的第一清单文件,第一清单文件中记录有第一版本文件中每个文件的文件信息,第一清单文件中每个文件的文件信息按照文件修改日期从大到小的顺序排列,文件信息包括文件的文件路径和文件表示信息。然后按照第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对,第一版本文件的版本修改时间大于第二版本文件的版本修改时间。在比对过程中,当比对到第一清单文件中当前文件的文件表示信息时,从第二清单文件中查询与当前文件位于同样文件路径的目标文件的文件表示信息,并将当前文件的文件表示信息与目标文件的文件表示信息进行比对。若比对结果指示当前文件相对于目标文件未发生变化,则确定第一清单文件中该文件之后的所有文件也没有变化,直接结束比对,并从第一版本文件中获取待更新文件,以便利用待更新文件完成对待更新应用程序的更新,在第一清单文件中待更新文件的文件信息排列在当前文件的文件信息之前。通过这种方式则只需要比较至与目标文件相比未发生变化的第一个文件便可完成比对工作,之后的其余文件则无需再进行比对,从而提升应用程序的版本更新效率,大大节省了应用程序的版本更新时间。
105.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:rom)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
106.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
107.以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。

技术特征:


1.一种应用程序版本更新方法,其特征在于,所述方法包括:获取待更新应用程序对应的第一版本文件的第一清单文件,所述第一清单文件中记录有所述第一版本文件中每个文件的文件信息,所述第一清单文件中每个文件的文件信息按照文件修改日期从大到小的顺序排列,所述文件信息包括文件的文件路径和文件表示信息;按照所述第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对,所述第一版本文件的版本修改时间大于所述第二版本文件的版本修改时间;在比对过程中,当比对到第一清单文件中当前文件的文件表示信息时,从所述第二清单文件中查询与所述当前文件位于同样文件路径的目标文件的文件表示信息,并将所述当前文件的文件表示信息与所述目标文件的文件表示信息进行比对;若比对结果指示所述当前文件相对于所述目标文件未发生变化,则结束比对,并从所述第一版本文件中获取待更新文件,以便利用所述待更新文件完成对所述待更新应用程序的更新,在所述第一清单文件中所述待更新文件的文件信息排列在所述当前文件的文件信息之前。2.根据权利要求1所述的方法,其特征在于,所述文件表示信息为文件摘要信息,确定所述比对结果指示所述当前文件相对于所述目标文件未发生变化的方式为:若所述比对结果为所述当前文件的文件摘要信息与所述目标文件的文件摘要信息相同,确定所述比对结果指示所述当前文件相对于所述目标文件未发生变化。3.根据权利要求1所述的方法,其特征在于,所述文件表示信息为文件修改日期,确定所述比对结果指示所述当前文件相对于所述目标文件未发生变化的方式为:若所述比对结果为所述当前文件的文件修改日期小于或等于所述目标文件的文件修改日期,确定所述比对结果指示所述当前文件相对于所述目标文件未发生变化。4.根据权利要求1所述的方法,其特征在于,若所述方法由服务器执行,在按照所述第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对之前,所述方法还包括:接收终端设备发送的当前版本号;根据所述当前版本号获取所述第二版本文件的第二清单文件。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:将所述待更新文件下发至终端设备,以便所述终端设备对所述待更新应用程序进行更新。6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:若所述当前文件相对于所述目标文件发生变化,将所述当前文件确定为所述待更新文件。7.根据权利要求1-5任一项所述的方法,其特征在于,若所述文件表示信息为文件摘要信息,所述方法还包括:根据所述第一版本文件的文件目录结构,使用相同的摘要算法依次计算每个文件的文件摘要信息;将所述第一版本文件中每个文件的文件路径、文件修改日期和对应的文件摘要信息记
录在一个临时清单列表中;根据所述临时清单列表中的文件修改日期对所述第一版本文件中的文件进行降序排列,使得所述第一版本文件中的文件按照文件修改日期从大到小的顺序排列;将每个文件对应的文件路径和文件摘要信息按所述顺序记录到所述第一清单文件中。8.一种应用程序版本更新装置,其特征在于,所述装置包括:获取单元,用于获取待更新应用程序对应的第一版本文件的第一清单文件,所述清单文件中记录有所述第一版本文件中每个文件的文件信息,所述清单文件中每个文件的文件信息按照文件修改日期从大到小的顺序排列,所述文件信息包括文件的文件路径和文件表示信息;比对单元,用于按照所述第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对,所述第一版本文件的版本修改时间大于所述第二版本文件的版本修改时间;所述比对单元,具体用于在比对过程中,当比对到第一清单文件中当前文件的文件表示信息时,从所述第二清单文件中查询与所述当前文件位于同样文件路径的目标文件的文件表示信息,并将所述当前文件的文件表示信息与所述目标文件的文件表示信息进行比对;所述获取单元,还用于若比对结果指示所述当前文件相对于所述目标文件未发生变化,则结束比对,并从所述第一版本文件中获取待更新文件,以便利用所述待更新文件完成对所述待更新应用程序的更新,在所述第一清单文件中所述待更新文件的文件信息排列在所述当前文件的文件信息之前。9.根据权利要求8所述的装置,其特征在于,所述文件表示信息为文件摘要信息,所述装置还包括:确定单元,用于若所述比对结果为所述当前文件的文件摘要信息与所述目标文件的文件摘要信息相同,确定所述比对结果指示所述当前文件相对于所述目标文件未发生变化。10.根据权利要求8所述的装置,其特征在于,所述文件表示信息为文件修改日期,确定所述比对结果指示所述当前文件相对于所述目标文件未发生变化的方式为:若所述比对结果为所述当前文件的文件修改日期小于或等于所述目标文件的文件修改日期,确定所述比对结果指示所述当前文件相对于所述目标文件未发生变化。

技术总结


本申请公开一种应用程序版本更新方法和装置,获取待更新应用程序对应的第一版本文件的第一清单文件,第一清单文件中每个文件的文件信息按照文件修改日期从大到小的顺序排列。按照第一清单文件记录的顺序,依次将第一清单文件中的文件表示信息与第二版本文件的第二清单文件中的文件表示信息进行比对。当比对到第一清单文件中当前文件的文件表示信息时,从第二清单文件中查询与当前文件位于同样文件路径的目标文件的文件表示信息,将当前文件与目标文件的文件表示信息进行比对。若当前文件相对于目标文件未发生变化,结束比对,并从第一版本文件中获取待更新文件,利用待更新文件完成待更新应用程序的更新。由此大大节省了应用程序的版本更新时间。用程序的版本更新时间。用程序的版本更新时间。


技术研发人员:

古明路 成鹏 王正也 唐耀红

受保护的技术使用者:

中国农业银行股份有限公司

技术研发日:

2022.10.25

技术公布日:

2022/12/16

本文发布于:2024-09-24 15:26:31,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/41084.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件   所述   版本   清单
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议