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.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
51.图1是本技术中游戏应用更新的一个场景示意图;
52.图2是本技术提供的游戏应用更新方法的流程示意图;
53.图3是本技术提供的游戏应用更新方法的另一流程示意图;
54.图4是本技术提供的全量差异包生成示意图;
55.图5是本技术提供的游戏客户端更新的流程示意图;
56.图6是本技术提供的游戏客户端更新的时序图;
57.图7是本技术提供的游戏应用更新装置的结构示意图;
58.图8是本技术提供的计算机设备的结构示意图。
具体实施方式
59.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
60.本发明实施例提供一种游戏应用更新方法、装置、计算机可读存储介质及终端。其中,该游戏应用更新方法可以使用于游戏应用更新装置中。该游戏应用更新装置可以集成在计算机设备中,该计算机设备可以是终端也可以是服务器。其中,终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、个人计算机(pc,personal computer)以及车载终端等设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。其中,服务器可以为区块链中的节点。
61.请参阅图1,为本技术提供的游戏应用更新方法的一场景示意图。如图所示,计算机设备a获取目标游戏应用的第一版本信息,第一版本信息为目标游戏应用的当前版本信息;获取目标游戏应用的第二版本信息,第二版本信息为对目标游戏应用的更新操作指示的版本信息;根据第一版本信息与第二版本信息确定至少一个更新数据包集合,更新数据包集合包括第一数量的第一数据包和第二数量的第二数据包,第一数据包包括多个第二数据包的融合信息;获取每一更新数据包集合的数据量,并根据所述数据量在至少一个更新数据包集合中确定目标更新数据包集合;采用目标更新数据包集合对目标游戏应用进行更新。
62.需要说明的是,图1所示的游戏应用更新场景示意图仅仅是一个示例,本技术实施例描述的游戏应用更新场景是为了更加清楚地说明本技术的技术方案,并不构成对于本技术提供的技术方案的限定。本领域普通技术人员可知,随着游戏应用更新场景演变和新业务场景的出现,本技术提供的技术方案对于类似的技术问题,同样适用。
63.基于上述实施场景以下分别进行详细说明。
64.本技术实施例将从游戏应用更新装置的角度进行描述,该游戏应用更新装置可以集成在计算机设备中。其中,计算机设备可以是终端也可以是服务器。其中,终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、个人计算机(pc,personal computer)以及车载终端等设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。如图2所示,为本技术提供的游戏应用更新方法的流程示意图,该方法包括:
65.步骤101,获取目标游戏应用的第一版本信息。
66.其中,目标游戏应用可以为装载在电脑端的电脑游戏应用、也可以为装载于移动终端的手机游戏应用、还可以为装载并运行于服务器端并在终端显示游戏运行画面的云游戏应用。
67.目标游戏应用的第一版本信息,可以为目标游戏应用的任一指定版本信息,也可以为终端或服务端中装载的目标游戏应用的当前版本信息。无论时游戏应用还是其他互联网应用,随着用户需求的变化需要产生新的功能,删除或者修改旧的功能,也需要对一些应用漏洞进行适时修复,这就需要对应用进行更新。对于游戏应用,当产生了新的玩法时也需要对游戏应用进行更新。随着游戏应用的不断更新,也就会不断出现新的版本的游戏应用。相对于其他应用,游戏应用的更新更为频繁,因此游戏热加载的方案被提出。其中,游戏热加载指游戏启动过后,加载基础资源时如果检测到额外的资源,即修改或新增的类型,可以加载这些资源到游戏内并立刻生效的一个过程。原理上就是通过外部挂载的方式覆盖原始的对应文件,达到体验新内容的一种技术。
68.在相关技术中,每当游戏应用产生更新时,都会推出一个新的游戏版本。同时,会将新的游戏版本的资源包和上一游戏版本的资源包进行比对,产生一个差异包。其中,差异包又叫补丁包。由于游戏版本的不断迭代,需要对原有的逻辑修改,新增资源或者删除废弃资源等操作,基于此操作会带来文件的差异变化,通过底层技术的比对,计算出差异文件后,通过一定的机制进行处理并加密后合并到一个文件包里,这个文件包就是差异包。随着游戏应用更新次数不断的增加,差异包的数量也会随之增加,那么当用户长期未使用游戏应用后,再次使用时便需要下载大量的差异包,并采用这些差异包对游戏应用进行更新,更新效率极低。
69.为解决上述场景下游戏应用更新效率低的问题,本技术提供了一种游戏应用更新方法,以提升游戏应用更新效率。下面对本技术提供的游戏应用更新方法进行详细介绍。
70.首先对需要进行更新的目标游戏应用的第一版本信息进行获取,第一版本信息可以为目标游戏应用的任一指定版本,也可以为当前装载的目标游戏应用的当前版本信息。当第一版本信息为目标游戏应用的当前版本信息时,可以在当前装载的目标游戏应用的资源文件中获取到当前版本对应的第一版本信息。
71.步骤102,获取目标游戏应用的第二版本信息。
72.其中,目标游戏应用的第二版本信息可以为对目标游戏应用的更新操作指示的版本信息,具体可以为目标游戏应用的任一指定版本信息,也可以为目标游戏应用的最新版本信息。
73.其中,由于第一版本信息对应的目标游戏应用的第一版本为待更新版本,而第二版本信息对应的目标游戏应用的第二版本为更新操作指向的版本,也就是更新后版本,那么确定第二版本信息为第一版本之后的版本对应的版本信息。即在目标游戏应用的生命周期中,第一版本产生时间早于第二版本。
74.步骤103,根据第一版本信息与第二版本信息确定至少一个更新数据包集合。
75.其中,更新数据包集合包括第一数量个第一数据包和第二数量个第二数据包。其中,第一数量和第二数量为任一自然数,即第一数量和第二数量都可以为0。亦即更新数据包集合中可以只存在第一数据包,也可以只存在第二数据包。但第一数量和第二数量不可同时为0,即更新数据包集合不可为空集。
76.其中,每个第一数据包包括多个第二数据包的融合信息。即在本技术实施例中,第一数据包可以理解为全量差异数据包,第二数据包可以理解为普通差异数据包。全量差异数据包可以包括多个普通差异数据包的融合信息,或者全量差异数据包可以由多个普通差异数据包进行融合处理得到。
77.在本技术实施例中,每当目标游戏应用产生一个新的版本时,因为需要对原有的逻辑修改新增资源或者删除废弃资源等操作,基于这些操作会带来文件的差异变化。此时可以通过底层技术的比对,计算出新版本与前一版本的差异文件后,通过一定的机制进行处理并加密后合并到一个文件包里,得到一个普通差异数据包。
78.当新的版本为关键版本时,除了生成一个与前一版本差异的普通差异数据包外,还可以生成与基础版本之间差异的全量差异数据包,以及与前一关键版本之间的全量差异数据包。具体地,例如,可以设置每隔10个版本设置一个关键版本,那么第10版本、第20版本、第30版本等整十倍数的版本都为关键版本。那么当目标游戏应用更新到第20版本时,便会生成第20版本与第19版本之间差异的普通差异数据包,生成第20版本和第1版本之间差异的第一全量差异数据包,还会生成第20版本与第10版本之间的第二全量差异数据包。此处第一全量差异数据包可以等同于从第2版本到第20版本中每一版本对应的普通差异数据包进行融合处理得到的全量差异数据包;此处第二全量差异数据包可以等同于从第11版本到第20版本中每一版本对应的普通差异数据包进行融合处理得到的全量差异数据包。
79.由于全量差异数据包可以等同于多个普通差异数据包进行融合得到的数据包,且融合过程中会减少大量冗余文件,从而采用生成全量差异数据包的方法,不仅可以减少差异数据包的数量,还可以减少游戏应用在下载更新时需要下载的数据量,进而可以大大提升游戏应用的更新效率。
80.其中,更新数据包集合中包含的第一数据包的第一数量以及第二数据包的第二数量,可以有多种组合实现。此处组合并非任意组合,组合形成的数据包至少能够将目标游戏应用由第一版本更新至第二版本。具体例如,目标游戏应用的第一版本为ver1.2.1(1.2.1版本),第二版本为ver1.4.4,其中目标游戏应用由ver1.2.1更新至ver1.4.4总计经历了23次更新,于是对应的更新数据包集合可以包含23个第二数据包,即23个普通差异数据包。在版本ver1.2.1和版本ver1.4.4存在关键版本ver1.3.0以及关键版本ver1.4.0,那么更新数据包集合可以包含9个将目标游戏应用版本从ver1.2.1更新到关键版本ver1.3.0的第二数据包、1个将目标游戏应用版本从关键版本ver1.3.0更新至关键版本ver1.4.0的第一数据包以及4个将目标游戏应用版本从关键版本ver1.4.0更新至ver1.4.4的第二数据包,即更新数据包集合包括1个第一数据包和13个第二数据包。更新数据包集合还可以包括一个将目标游戏应用从基础版本ver1.0.0更新至关键版本ver1.4.0的第一数据包和4个将目标游戏应用从关键版本ver1.4.0更新到第二版本ver1.4.4的第二数据包。
81.即可以根据第一版本信息和第二版本信息确定至少一个更新数据包集合。
82.在一些实施例中,根据第一版本信息与第二版本信息确定至少一个更新数据包集合,包括:
83.1、获取第一版本信息与第二版本信息之间的关键版本信息;
84.2、基于关键版本信息、第一版本信息以及第二版本信息确定第一数量个第一数据包以及第二数量个第二数据包;
85.3、根据第一数量个第一数据包与第二数量个第二数据包确定至少一个更新数据包集合。
86.其中,在本技术实施例中,可以通过对第一版本信息和第二版本信息之间的关键版本信息进行获取的方法来确定更新数据包集合。具体地,可以先获取关键版本的设置规则,然后根据该设置规则确定第一版本信息和第二版本信息之间的关键版本信息。或者,也可以从预设的文件中获取到关键版本对应的关键版本信息。
87.其中第一版本信息和第二版本信息之间的关键版本信息可以为一个也可以为多个。当然,在一些情况下,第一版本信息和第二版本信息之间也可以没有关键版本信息,这种情况下可以直接根据第一版本信息和第二版本信息确定第二数量个第二数据包,即更新数据包集合中不存在第一数据包。
88.然后,可以基于当前的第一版本信息和关键版本信息之间的差异确定第一数量个第一数据包和第二数量个第二数据包。其中,此处第一数量和第二数量可以有多种可能的组合,每种可能的组合对应了一个更新数据包集合,从而得到多个更新数据包组合。
89.在一些实施例中,基于关键版本信息、第一版本信息以及第二版本信息确定第一数量个第一数据包以及第二数量个第二数据包,包括:
90.2.1、获取关键版本信息对应的游戏应用版本的更新时间;
91.2.2.、查找更新时间距离第一版本信息中包含的更新时间最近的第一关键版本信息;
92.2.3、查找更新时间距离第二版本信息中包含的更新时间最近的第二关键版本信息;
93.2.4、根据第一版本信息对应的第一版本和第一关键版本信息对应的第一关键版本之间的第一差异,以及第二关键版本信息对应的第二关键版本和第二版本信息对应的第二版本之间的第二差异确定第二数量个第二数据包;
94.2.5、根据第二关键版本和第一关键版本之间的第三差异确定第一数量个第一数据包。
95.其中,在本技术实施例中,当至少存在两个关键版本信息时,可以获取每个关键版本信息对应的游戏应用版本的更新时间。
96.根据获取到的每个关键版本信息对应的更新时间,可以确定更新时间在第一版本信息对应的更新时间之后且距离第一版本信息对应的更新时间最近的第一关键版本信息;以及确定更新时间在第二版本信息对应的更新时间之前且距离第二版本信息对应的更新时间最近的第二关键版本信息。
97.进一步地,根据目标游戏应用程序的第一版本信息对应的第一版本和第一关键版本之间的差异确定第三数量个第二数据包,根据第二关键版本于第二版本之间的差异确定第四数量个第二数据包,其中第三数量和第四数量之和为第二数量。以及,根据第一关键版本和第二关键版本之间的差异确定第一数量个第一数据包。
98.具体地,例如,当目标游戏应用的第一版本为ver1.2.1,第二版本为ver1.5.4时,那么第一版本和第二版本之间存在三个关键版本,第一关键版本ver1.3.0、关键版本ver1.4.0以及第二关键版本ver1.5.0。第一版本和第一关键版本之间存在9个第二数据包,第二关键版本和第二版本之间存在4个第二数据包,第一关键版本和第二关键版本之间可
以存在2个第一数据包也可以存在一个第一数据包。
99.在一些实施例中,基于关键版本信息、第一版本信息以及第二版本信息确定第一数量个第一数据包以及第二数量个第二数据包,包括:
100.a、获取关键版本信息对应的游戏应用版本的更新时间;
101.b、查找更新时间距离第二版本信息中包含的更新时间最近的第三关键版本信息;
102.c、根据第三关键版本信息对应的第三关键版本与目标游戏应用的基础版本之间的第三差异确定第一数量个第一数据包;
103.d、根据第二版本信息对应的第二版本和第三关键版本之间的第四差异确定第二数量个第二数据包。
104.在本技术实施例中,可以根据距离第二版本最近的第三关键版本与目标游戏应用的基础版本之间的差异,以及第三关键版本和第二版本之间的差异直接确定更新数据包集合。
105.具体地,可以根据关键版本的更新时间以及第二版本信息对应的更新时间来确定距离第二版本更新时间最近的第三关键版本,然后根据第三关键版本与基础版本之间的差异确定第一数量个第一资源包(此处第一数量可以为多个),并继续根据第三关键版本和第二版本之间的第二数量个第二资源包,从而得到至少一个更新数据包集合。
106.步骤104,获取每一更新数据包集合的数据量,并根据数据量在至少一个更新数据包集合中确定目标更新数据包集合。
107.其中,更新数据包集合都包含了第一数量个第一数据包和第二数量个第二数据包。对于任意第一数据包,或者第二数据包,都可以获取其数据量的大小。
108.由于在对目标游戏应用进行更新时,确定了需要对第一版本目标游戏应用进行更新的更新数据包集合后,需要通过网络从服务器或者其他终端中下载该更新数据包集合中的每一数据包。因此,当数据包集合中的数据量越小时,下载更新数据包集合的速度越快,也就使得游戏应用的更新效率越高。
109.因此,在确定了至少一个更新数据包集合后,对每一更新数据包集合中的每一数据包的数据量进行获取。并根据数据包集合中数据包的数据量来确定对第一版本的目标游戏应用进行更新的目标更新数据包。
110.在一些实施例中,获取每一更新数据包集合的数据量,并根据数据量在至少一个更新数据包集合中确定目标更新数据包集合,包括:
111.1、获取每一更新数据包集合中每一更新数据包的数据量;
112.2、计算每一更新数据包集合对应的数据总量;
113.3、确定数据总量最低的更新数据包为目标更新数据包。
114.其中,在本技术实施例中,可以确定数据总量最低的更新数据包为对目标游戏应用进行更新的目标更新数据包。
115.具体地,可以先获取每一更新数据包集合中每一更新数据包的数据量,再据此计算每一更新数据包集合对应的数据总量,确定数据总量最低的更新数据包为目标更新数据包。
116.步骤105,采用目标更新数据包集合对目标游戏应用进行更新。
117.其中,确定目标更新数据包集合后,可以进一步采用目标更新数据包集合中包含
的第一数量个第一数据包以及第二数量个第二数据包对目标游戏应用进行更新。对目标游戏应用的更新,可以为按照版本升级顺序进行逐个更新,也可以为直接将当前版本资源和更新数据包集合中的所有数据包进行结合处理,以实现对目标游戏应用的更新。
118.在一些实施例中,采用目标更新数据包集合对目标游戏应用进行更新,包括:
119.1、采用第二数量个第二数据包将目标游戏应用由第一版本更新至第一关键版本;
120.2、根据第一数量个第一数据包将目标游戏应用由第一关键版本更新至第二关键版本;
121.3、基于第二数量个第二数据包将目标游戏应用由第二关键版本更新至第二版本。
122.其中,在本技术实施例中,当采用第一版本信息、第二版本信息以及第一版本信息和第二版本信息中多个关键版本信息之间的差异来确定更新数据包时,确定了更新数据包后对目标游戏应用进行更新则可以先根据第二数量个第二数据包先将目标游戏应用的版本从第一版本更新到第一关键版本,然后采用第一数量个第一数据包将目标游戏应用的版本从第一关键版本更新到第二关键版本。
123.具体地,当目标游戏应用的第一版本为ver1.2.1,第二版本为ver1.5.4时,那么第一版本和第二版本之间存在三个关键版本,第一关键版本ver1.3.0、关键版本ver1.4.0以及第二关键版本ver1.5.0。第一版本和第一关键版本之间存在9个第二数据包,第二关键版本和第二版本之间存在4个第二数据包,第一关键版本和第二关键版本之间可以存在1个第一数据包。那么在对目标游戏应用进行更新时,可以先采用第一版本和第一关键版本之间的9个第二数据包将目标游戏应用从ver1.2.1更新到ver1.3.0,然后采用1个第一数据包将目标游戏应用从ver1.3.0更新到ver1.5.0,最后再采用第二关键版本和第二版本之间的4个第二数据包将目标游戏应用从ver1.5.0更新到ver1.5.4。
124.在一些实施例中,采用目标更新数据包集合对目标游戏应用进行更新,包括:
125.a、获取目标游戏应用的基础版本数据;
126.b、根据第一数量个第一数据包将基础版本数据进行更新,得到第三关键版本的目标游戏应用;
127.c、采用第二数量个第二数据包将目标游戏应用由第三关键版本更新至第二版本。
128.其中,在本技术实施例中,当采用距离第二版本最近的第三关键版本和目标游戏应用的基础版本之间的差异以及第三关键版本和第二版本之间的差异来确定更新数据包时,对目标游戏应用程序进行更新时,可以先获取目标游戏应用的基础版本数据,然后采用基础版本与第三关键版本之间的第一数量个第一数据包将基础版本更新至第三关键版本,然后进一步采用第三关键版本和第二版本之间的第二数量个第二数据包将目标游戏应用从第三关键版本更新到第二版本。
129.具体地,当目标游戏应用的第一版本为ver1.2.1,第二版本为ver1.5.4时,那么第一版本和第二版本之间存在三个关键版本,关键版本ver1.3.0、关键版本ver1.4.0以及关键版本ver1.5.0。确定距离第二版本最近的第三关键版本ver1.5.0,目标游戏应用的初始版本ver1.0.0到第三关键版本ver1.5.0之间具有1个第一数据包。那么在对目标游戏应用进行更新时,可以先采用1个第一数据包将目标游戏应用从初始版本更新至ver1.5.0,然后再采用4个第二数据包将目标游戏应用从ver1.5.0更新至ver1.5.4。
130.根据上述描述可知,本技术实施例提供的游戏应用更新方法,通过获取目标游戏
应用的第一版本信息,第一版本信息为目标游戏应用的当前版本信息;获取目标游戏应用的第二版本信息,第二版本信息为对目标游戏应用的更新操作指示的版本信息;根据第一版本信息与第二版本信息确定至少一个更新数据包集合,更新数据包集合包括第一数量的第一数据包和第二数量的第二数据包,第一数据包包括多个第二数据包的融合信息;获取每一更新数据包集合的数据量,并根据数据量在至少一个更新数据包集合中确定目标更新数据包集合;采用目标更新数据包集合对目标游戏应用进行更新。
131.以此,本技术提供的游戏应用更新方法,可以根据游戏应用的当前版本和更新目标版本之间的版本信息差异确定由第一数据包和第二数据包组成的更新数据包组合并采用数据更新包组合对目标游戏应用进行更新。由于第一数据包包含了多个第二数据包的融合信息,可以降低更新数据包的数量而且可以降低更新数据包的总数据量,进而可以提升游戏应用的更新效率。
132.本技术还提供了一种游戏应用更新方法,该方法可以使用于计算机设备中,该计算机设备可以为终端也可以为服务器。如图3所示,为本技术提供的游戏应用更新方法的另一流程示意图,方法具体包括:
133.步骤201,计算机设备获取计算机设备中目标游戏应用的当前版本信息。
134.其中,计算机设备中目标游戏应用的当前版本信息可以从目标游戏应用的资源文件中获取得到。例如,目标游戏应用的当前版本信息为ver1.2.3。
135.步骤202,计算机设备获取目标游戏应用的最新版本信息。
136.其中,目标游戏应用的最新版本信息可以从互联网中获取,具体可以从目标游戏的官方网站中获取。例如,目标游戏应用的最新版本信息为ver1.5.4。
137.步骤203,计算机设备确定当前版本信息和最新版本信息之间的关键版本信息。
138.其中,关键版本信息可以为具有重要更新内容的版本,也可以为第预设数量个版本。关键版本是预先设置的,在对游戏应用进行更新的阶段,只需根据相应信息进行关键版本查找。
139.在本实施例中,当前版本ver1.2.3和最新版本ver1.5.4存在三个关键版本ver1.3.0、ver1.4.0以及ver1.5.0。
140.步骤204,计算机设备获取每一关键版本信息关联的全量差异包。
141.其中,关键版本ver1.3.0关联的全量差异包可以有ver1.3.0和初始版本ver1.0.0之间的全量差异包、ver1.3.0和关键版本ver1.0.0之间的全量差异包以及ver1.3.0和关键版本ver1.2.0之间的全量差异包,总计3个全量差异包。
142.同样,对于关键版本ver1.4.0则具有4个关联的全量差异包,关键版本ver1.5.0具有5个全量差异包。
143.如图4所示,为全量差异包生成的一个示意图,如图所示,目标游戏应用的初始版本为1.0.0版本,经过第一次修改,修改了文件a,生成差异包1.0.1,生成了新的版本1.0.1版本;经过第二次修改,新增了文件b,生成差异包1.0.2,生成了新的版本1.0.2版本;经过第三次修改,修改文件b,生成差异包1.0.3,生成了新的版本1.0.3版本;经过第四次修改,修改文件a,生成差异包1.0.4,生成了新的版本1.0.4版本;经过第五次修改,删除文件b,生成差异包1.0.5,生成了新的版本1.0.5。
144.确定该1.0.5版本为关键版本,则可以直接确定版本1.0.5与初始版本1.0.0之间
的差异,得到全量差异包1.0,该全量差异包1.0只包含了对文件a的修改,因此可以大大减少文件的数据量。
145.步骤205,计算机设备获取当前版本和最新版本之间的所有普通差异包。
146.其中,当前版本与最新版本之间包含了多个普通差异包,具体地,每生成一个新的版本都会产生一个普通差异包。
147.当前版本ver1.2.3和最新版本v1.5.4之间总计可以有31个普通差异包。
148.步骤206,计算机设备根据全量差异包和普通差异包生成将目标游戏应用从当前版本更新到最新版本的多个差异包集合。
149.其中,根据前述关键版本信息关联的全量差异包以及多个普通差异包进行组合,得到至少一个可以将目标游戏应用从当前版本更新到最新版本的多个差异包集合。
150.例如,可以根据关键版本ver1.5.0和基础版本ver1.0.0之间的全量差异包,ver1.5.4和ver1.5.0之间的4个普通差异包生成差异包集合。
151.还例如,可以根据关键版本v1.3.0和ver1.2.3之间的7个普通差异包、关键版本ver1.5.0和ver1.3.0之间的2个全量差异包以及ver1.5.4和ver1.5.0之间的4个普通差异包生成差异包集合。
152.当然,还可以以其他组合生成差异包集合,此处不在枚举,得到多个差异包集合。
153.步骤207,计算机设备在多个差异包集合中确定数据量最小的目标差异包集合。
154.对于每一差异包集合,可以获取其包含的每一差异包的数据量,然后计算得到每一差异包集合的数据量。
155.进一步地,确定数据量最小的差异包集合为目标差异包集合。
156.步骤208,计算机设备采用目标差异包集合对当前版本的目标游戏应用进行更新。
157.确定了目标差异包集合后,计算机设备可以下载目标差异包集合中的差异包,然后使用下载到的差异包将目标游戏应用更新到最新版本。
158.具体地,如图5所示,为本技术提供的游戏客户端更新的流程示意图。例如当确定了目标差异包集合中包含一个能将目标游戏应用从基础版本更新至版本ver1.5.0的全量差异包和4个普通差异包时,下载到目标差异包集合后对目标游戏应用的客户端的更新流程包括如下步骤:
159.s1:获取目标游戏应用客户端的基础版本数据版本1.0.0。
160.s2:获取目标差异包集合中的全量差异包。
161.其中,此处全量差异包可以为全量差异包1.5。
162.s3:采用全量差异包将目标游戏应用客户端从基础版本更新到版本1.5.0。
163.s4:获取目标差异包集合中的普通差异包。
164.其中,本技术中目标差异包集合中可以包括4个普通差异包,可以分别为普通差异包1.5.1、普通差异包1.5.2、普通差异包1.5.3以及普通差异包1.5.4。
165.s5:采用普通差异包将目标游戏应用客户端从版本1.5.0更新到第二版本1.5.4。
166.如图6所示,为本技术提供的游戏客户端更新的时序图,由图中示意可知,在本技术实施例中确定了对目标游戏应用进行更新的目标差异包集合后,从目标差异包集合中获取一个全量差异包1.5以及四个普通差异包,四个普通差异包分别为差异包1.5.1、差异包1.5.2、差异包1.5.3以及差异包1.5.4。其中,全量差异包可以为50个普通差异包进行融合
处理,删除其中的冗余文件后得到的差异包。这50个普通差异包具体可以为差异包1.0.1、差异包1.0.2、......、差异包1.5.0这50个普通差异包。
167.在获取到一个全量差异包和4个普通差异包后,可以先采用全量差异包1.5将目标游戏应用的客户端从版本1.0.0更新到版本1.5.0,然后再采用四个普通差异包将目标游戏应用的客户端从版本1.5.0更新到版本1.5.4。
168.根据上述描述可知,本技术提供的游戏应用更新方法,通过获取目标游戏应用的第一版本信息,第一版本信息为目标游戏应用的当前版本信息;获取目标游戏应用的第二版本信息,第二版本信息为对目标游戏应用的更新操作指示的版本信息;根据第一版本信息与第二版本信息确定至少一个更新数据包集合,更新数据包集合包括第一数量的第一数据包和第二数量的第二数据包,第一数据包包括多个第二数据包的融合信息;获取每一更新数据包集合的数据量,并根据数据量在至少一个更新数据包集合中确定目标更新数据包集合;采用目标更新数据包集合对目标游戏应用进行更新。
169.以此,本技术提供的游戏应用更新方法,可以根据游戏应用的当前版本和更新目标版本之间的版本信息差异确定由第一数据包和第二数据包组成的更新数据包组合并采用数据更新包组合对目标游戏应用进行更新。由于第一数据包包含了多个第二数据包的融合信息,可以降低更新数据包的数量而且可以降低更新数据包的总数据量,进而可以提升游戏应用的更新效率。
170.为了更好地实施以上方法,本技术实施例还提供一种游戏应用更新装置,该游戏应用更新装置可以集成在终端或服务器中。
171.例如,如图7所示,为本技术实施例提供的游戏应用更新装置的结构示意图,该游戏应用更新装置可以包括第一获取单元301、第二获取单元302、第一确定单元303、第二确定单元304以及更新单元305,如下:
172.第一获取单元301,用于获取目标游戏应用的第一版本信息,所述第一版本信息为所述目标游戏应用的当前版本信息;
173.第二获取单元302,用于获取所述目标游戏应用的第二版本信息,所述第二版本信息为对所述目标游戏应用的更新操作指示的版本信息;
174.第一确定单元303,用于根据所述第一版本信息与所述第二版本信息确定至少一个更新数据包集合,所述更新数据包集合包括第一数量的第一数据包和第二数量的第二数据包,所述第一数据包包括多个所述第二数据包的融合信息;
175.第二确定单元304,用于获取每一更新数据包集合的数据量,并根据数据量在所述至少一个更新数据包集合中确定目标更新数据包集合;
176.更新单元305,用于采用所述目标更新数据包集合对所述目标游戏应用进行更新。
177.在一些实施例中,所述第一确定单元,包括:
178.第一获取子单元,用于获取所述第一版本信息与所述第二版本信息之间的关键版本信息;
179.第一确定子单元,用于基于所述关键版本信息、所述第一版本信息以及所述第二版本信息确定第一数量个第一数据包以及第二数量个第二数据包;
180.第二确定子单元,用于根据所述第一数量个第一数据包与所述第二数量个第二数据包确定至少一个更新数据包集合。
181.在一些实施例中,所述第一确定子单元,包括:
182.第一获取模块,用于获取所述关键版本信息对应的游戏应用版本的更新时间;
183.第一查找模块,用于查找更新时间距离所述第一版本信息中包含的更新时间最近的第一关键版本信息;
184.第二查找模块,用于查找更新时间距离所述第二版本信息中包含的更新时间最近的第二关键版本信息;
185.第一确定模块,用于根据所述第一版本信息对应的第一版本和所述第一关键版本信息对应的第一关键版本之间的第一差异,以及所述第二关键版本信息对应的第二关键版本和所述第二版本信息对应的第二版本之间的第二差异确定第二数量个第二数据包;
186.第二确定模块,用于根据所述第二关键版本和所述第一关键版本之间的第三差异确定第一数量个第一数据包。
187.在一些实施例中,所述更新单元,包括:
188.第一更新子单元,用于采用所述第二数量个第二数据包将所述目标游戏应用由所述第一版本更新至所述第一关键版本;
189.第二更新子单元,用于根据所述第一数量个第一数据包将所述目标游戏应用由所述第一关键版本更新至所述第二关键版本;
190.第三更新子单元,用于基于所述第二数量个第二数据包将所述目标游戏应用由所述第二关键版本更新至所述第二版本。
191.在一些实施例中,所述第一确定子单元,包括:
192.第二获取模块,用于获取所述关键版本信息对应的游戏应用版本的更新时间;
193.第三查找模块,用于查找更新时间距离所述第二版本信息中包含的更新时间最近的第三关键版本信息;
194.第三确定模块,用于根据所述第三关键版本信息对应的第三关键版本与所述目标游戏应用的基础版本之间的第三差异确定第一数量个第一数据包;
195.第四确定模块,用于根据所述第二版本信息对应的第二版本和所述第三关键版本之间的第四差异确定第二数量个第二数据包。
196.在一些实施例中,所述更新单元,包括:
197.第二获取子单元,用于获取所述目标游戏应用的基础版本数据;
198.第四更新子单元,用于根据所述第一数量个第一数据包将所述基础版本数据进行更新,得到所述第三关键版本的目标游戏应用;
199.第五更新子单元,用于采用所述第二数量个第二数据包将所述所述目标游戏应用由所述第三关键版本更新至所述第二版本。
200.在一些实施例中,所述第二确定单元,包括:
201.第三获取子单元,用于获取每一更新数据包集合中每一更新数据包的数据量;
202.计算子单元,用于计算每一更新数据包集合对应的数据总量;
203.第三确定子单元,用于确定数据总量最低的更新数据包为目标更新数据包。
204.具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
205.根据上述描述可知,本技术实施例提供的游戏应用更新装置,通过第一获取单元301获取目标游戏应用的第一版本信息,第一版本信息为目标游戏应用的当前版本信息;第二获取单元302获取目标游戏应用的第二版本信息,第二版本信息为对目标游戏应用的更新操作指示的版本信息;第一确定单元303根据第一版本信息与第二版本信息确定至少一个更新数据包集合,更新数据包集合包括第一数量的第一数据包和第二数量的第二数据包,第一数据包包括多个第二数据包的融合信息;第二确定单元304获取每一更新数据包集合的数据量,并根据数据量在至少一个更新数据包集合中确定目标更新数据包集合;更新单元305采用目标更新数据包集合对目标游戏应用进行更新。
206.以此,本技术提供的游戏应用更新方法,可以根据游戏应用的当前版本和更新目标版本之间的版本信息差异确定由第一数据包和第二数据包组成的更新数据包组合并采用数据更新包组合对目标游戏应用进行更新。由于第一数据包包含了多个第二数据包的融合信息,可以降低更新数据包的数量而且可以降低更新数据包的总数据量,进而可以提升游戏应用的更新效率。
207.本技术实施例还提供一种计算机设备,该计算机设备可以为终端或服务器,如图8所示,为本技术提供的计算机设备的结构示意图。具体来讲:
208.该计算机设备可以包括一个或者一个以上处理核心的处理单元401、一个或一个以上存储介质的存储单元402、电源模块403和输入模块404等部件。本领域技术人员可以理解,图8中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
209.处理单元401是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储单元402内的软件程序和/或模块,以及调用存储在存储单元402内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理单元401可包括一个或多个处理核心;优选的,处理单元401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理单元401中。
210.存储单元402可用于存储软件程序以及模块,处理单元401通过运行存储在存储单元402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储单元402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能以及网页访问等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储单元402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储单元402还可以包括存储器控制器,以提供处理单元401对存储单元402的访问。
211.计算机设备还包括给各个部件供电的电源模块403,优选的,电源模块403可以通过电源管理系统与处理单元401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源模块403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
212.该计算机设备还可包括输入模块404,该输入模块404可用于接收输入的数字或字
符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
213.尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理单元401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储单元402中,并由处理单元401来运行存储在存储单元402中的应用程序,从而实现各种功能,如下:
214.获取目标游戏应用的第一版本信息,第一版本信息为目标游戏应用的当前版本信息;获取目标游戏应用的第二版本信息,第二版本信息为对目标游戏应用的更新操作指示的版本信息;根据第一版本信息与第二版本信息确定至少一个更新数据包集合,更新数据包集合包括第一数量的第一数据包和第二数量的第二数据包,第一数据包包括多个第二数据包的融合信息;获取每一更新数据包集合的数据量,并根据数据量在至少一个更新数据包集合中确定目标更新数据包集合;采用目标更新数据包集合对目标游戏应用进行更新。
215.应当说明的是,本技术实施例提供的计算机设备与上文实施例中的方法属于同一构思,以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
216.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
217.为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种方法中的步骤。例如,该指令可以执行如下步骤:
218.获取目标游戏应用的第一版本信息,第一版本信息为目标游戏应用的当前版本信息;获取目标游戏应用的第二版本信息,第二版本信息为对目标游戏应用的更新操作指示的版本信息;根据第一版本信息与第二版本信息确定至少一个更新数据包集合,更新数据包集合包括第一数量的第一数据包和第二数量的第二数据包,第一数据包包括多个第二数据包的融合信息;获取每一更新数据包集合的数据量,并根据数据量在至少一个更新数据包集合中确定目标更新数据包集合;采用目标更新数据包集合对目标游戏应用进行更新。
219.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
220.其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。
221.由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种方法中的步骤,因此,可以实现本发明实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
222.其中,根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在存储介质中。计算机设备的处理器从存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述游戏应用更新方法中各种可选实现方式中提供的方法。
223.以上对本发明实施例所提供的游戏应用更新方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,
依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。