一种移动端网络游戏版本快速热更新的方法与流程

文档序号:12733175阅读:203来源:国知局
一种移动端网络游戏版本快速热更新的方法与流程
本发明涉及网络游戏文件处理
技术领域
,尤其涉及一种移动端网络游戏版本快速热更新的方法。
背景技术
:目前,移动客户端网络游戏版本热更新,一般是通过对比“服务器文件列表”和“本地文件列表”中的信息,将“文件版本号”或“md5值”变化的文件或新增的文件放入“待更新文件列表”,将“待更新文件列表”中的文件下载下来并放入客户端资源包,完成版本更新。然而,由于移动客户端(比如手机)网络的限制,逐个下载更新文件速度很慢,导致玩家等待的时间长。尤其是对于大版本的更新文件下载,需要玩家等待的时间更长,降低了玩家的游戏体验,从而导致很多玩家的流失。技术实现要素:本发明的目的在于提供一种移动端网络游戏版本快速热更新的方法,从而解决现有技术中存在的前述问题。为了实现上述目的,本发明采用的技术方案如下:一种移动端网络游戏版本快速热更新的方法,包括如下步骤:S1,服务器生成新版本时,获取所述新版本与旧版本之间的增量文件,并将所述增量文件进行打包,得到打包文件;S2,移动客户端从所述服务器下载所述打包文件并将其放入客户端资源包,完成版本更新。优选地,如果所述版本的形式为X.Y.Z,其中Z表示小版本,即每次更新任何文件Z都会自增;Y表示中间版本,是Z自增到一定阶段的进位;X为大版本,是Y自增到一定程度的进位;则,S1中所述将所述增量文件进行打包,包括如下步骤:S101,对每个所述中间版本的增量文件分别进行打包,得到每个中间版本的压缩包;S102,判断是否存在所述小版本更新,如果是,则单独存放所述小版本的更新文件,并记录文件的md5码,否则,结束。优选地,S101与S102之间,还包括如下步骤,判断是否需要跨所述中间版本进行打包,如果需要,则对跨所述中间版本的增量文件进行打包,得到跨版本的压缩包,再执行S102,否则,直接执行S102。优选地,S2包括如下步骤:S201,客户端获取服务器上的最新版本号,并对比客户端的版本号和服务端的版本号,如果相同,则结束,否则,进入下一个阶段;S202,根据客户端与服务端之间版本号的差异,以及服务端的更新文件,客户端生成包含最少文件个数的待更新文件列表;S203,客户端根据所述待更新文件列表逐个下载文件。优选地,所述包含最少文件个数的待更新文件列表,包含:中间版本的压缩包、跨版本的压缩包和小版本文件。优选地,S202包括如下步骤:S2021,根据客户端与服务端之间版本号的差异,生成包含最少压缩包个数的中间版本待更新文件列表;S2022,判断客户端与服务端之间每个小版本更新的文件md5码是否相同,如果不同,则将这些文件添加至所述待更新文件列表,否则,结束。本发明的有益效果是:本发明实施例提供了一种移动端网络游戏版本快速热更新的方法,通过将多个小文件打包成一个大文件,再一次性下载该大文件来完成游戏更新,这种方法只需下载较少的文件,所以所需与服务器建立连接与关闭连接的次数较少,与现有技术中,需要对多个小文件逐个下载,重复多次进行连接资源服务器、下载小文件,关闭连接的操作,需要连接多次资源服务器、关闭多次连接的方法相比,完成相同大小的资源下载,所需要的时间更短,下载资源的速度更快,因此,采用本发明实施例提供的方法,提升了移动客户端游戏版本更新速度,提高了游戏留存率。附图说明图1是打包增量文件的流程示意图;图2是下载更新版本的流程示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。本发明实施例提供了一种移动端网络游戏版本快速热更新的方法,包括如下步骤:S1,服务器生成新版本时,获取所述新版本与旧版本之间的增量文件,并将所述增量文件进行打包,得到打包文件;S2,移动客户端从所述服务器下载所述打包文件并将其放入客户端资源包,完成版本更新。上述方法中,将网络游戏中的多个小文件打包成大文件,以提升更新文件的下载速度,其实现原理为:每下载一个文件都涉及到连接资源服务器、下载资源、关闭连接三个步骤,由于移动客户端网络的特性,往往连接资源服务器阶段会花费大量时间,而关闭连接也同样的会占用一定的时间,这就导致下载一个大文件要比下载同样大小的多个小文件快的多。本发明提出的方案是将多个小文件打包成一个大文件,从而加快资源下载的速度。如图1所示,其中,如果所述版本的形式为X.Y.Z,其中Z表示小版本,即每次更新任何文件Z都会自增;Y表示中间版本,是Z自增到一定阶段的进位;X为大版本,是Y自增到一定程度的进位;则,S1中所述将所述增量文件进行打包,可以包括如下步骤:S101,对每个所述中间版本的增量文件分别进行打包,得到每个中间版本的压缩包;S102,判断是否存在所述小版本更新,如果是,则单独存放所述小版本的更新文件,并记录文件的md5码,否则,结束。在本发明的一个优选实施例中,S101与S102之间,还包括如下步骤,判断是否需要跨所述中间版本进行打包,如果需要,则对跨所述中间版本的增量文件进行打包,得到跨版本的压缩包,再执行S102,否则,直接执行S102。如图2所示,其中,S2可以包括如下步骤:S201,客户端获取服务器上的最新版本号,并对比客户端的版本号和服务端的版本号,如果相同,则结束,否则,进入下一个阶段;S202,根据客户端与服务端之间版本号的差异,以及服务端的更新文件,客户端生成包含最少文件个数的待更新文件列表;S203,客户端根据所述待更新文件列表逐个下载文件。其中,所述包含最少文件个数的待更新文件列表,包含:中间版本的压缩包、跨版本的压缩包和小版本文件。本发明实施例中,S202可以包括如下步骤:S2021,根据客户端与服务端之间版本号的差异,生成包含最少压缩包个数的中间版本待更新文件列表;S2022,判断客户端与服务端之间每个小版本更新的文件md5码是否相同,如果不同,则将这些文件添加至所述待更新文件列表,否则,结束。具体实施例:本发明实施例提供的移动端网络游戏版本快速热更新的方法,其实施包括两个阶段,即为打包阶段和热更新阶段。打包阶段为游戏开发人员在生成新版本时所操作,这个过程将会找出各个版本间有变化的文件和增删文件(下称增量文件),然后按照一定的规则打包。热更新阶段为游戏客户端所进行的操作,这个过程中。客户端会从服务器下载增量文件放入客户端资源包,完成版本更新。1、打包阶段打包阶段为游戏开发人员在生成新版本时所操作,这个过程将会找出各个版本间有变化的文件和增删文件(下称增量文件),然后按照一定的规则打包。规则为:打包生成每个中间版本的增量文件,再根据需要打包跨版本的增量文件;最后单独存放最后小版本的更新文件。假设某款游戏的版本号采用X.Y.Z的形式,其中Z表示小版本,即每次更新任何文件Z都会自增。Y表示中间版本,是Z自增到一定阶段的进位,X为大版本,是Y自增到一定程度的进位。首先,打包每个中间版本的增量文件。假设当前游戏版本号为1.5.5,游戏客户端版本号可能是1.0.0到1.5.5之间的任何一个。那么,对1.0.0到1.5.5之间的每一个中间版本的增量文件进行打包,生成如表1所示文件。(如下命名中X.Y.Z_to_A.B.C.rar表示包含X.Y.Z版本到A.B.C版本的增量文件的压缩包)表1打包生成每个中间版本的增量文件示例1.0.0_to_1.1.0.rar1.1.0_to_1.2.0.rar1.2.0_to_1.3.0.rar1.3.0_to_1.4.0.rar1.4.0_to_1.5.0.rar然后,根据需要打包跨版本的增量文件。该步骤不是必须的,但它对资源更新速度有一定帮助。具体来说,当服务器空间足够,应当尽多的生成跨版本文件。例如生成1.0.0版本到1.2.0版本、1.1.0版本到1.4.0版本两个跨版本增量文件,如表2所示。表2根据需要打包跨版本的增量文件示例1.0.0_to_1.2.0.rar1.1.0_to_1.4.0.rar最后,单独存放小版本的更新文件。由于小版本更新频繁,应适用于随时更新。所以,小版本更新文件不打包,直接存放。例如在版本1.5.0和版本1.5.1之间,有tank.asset和ui.asset两个增量文件,那么将这两个文件单独列出,如表3所示。由于小版本号文件也可能改动,还需记录下每个文件的md5码。表3单独存放的小版本的更新文件示例tank.assetui.asset经过如上的3个步骤,生成了如表4的可用于更新的文件列表。包括多个打包文件和少量未打包的文件。表4更新文件列表示例1.0.0_to_1.1.0.rar1.1.0_to_1.2.0.rar1.2.0_to_1.3.0.rar1.3.0_to_1.4.0.rar1.4.0_to_1.5.0.rar1.0.0_to_1.2.0.rar1.1.0_to_1.4.0.rartank.assetui.asset2、热更新阶段热更新阶段为游戏客户端所进行的操作,这个过程中。客户端会从服务器下载增量文件放入客户端资源包,完成版本更新。热更新阶段分为对比版本号,生成下载列表和下载文件3个阶段。1)、对比版本号,客户端通过网络获取最新游戏的版本号,并记录下来。如果客户端的版本号和服务端的版本号不同,进入下一个阶段,否则无需进行热更新。2)、生成下载列表,根据版本号差异和服务端的更新文件列表,找出下载文件个数最少的一种更新方式。例如客户端的版本号为1.1.5,服务端的版本号为1.5.1,那么客户端需要下载1.1.0到1.5.0之间的打包文件,再下载1.5.0到1.5.1的增量文件。根据服务端的更新文件,找到从1.1.0到1.5.0之间的打包文件,可能有如下三种下载策略。其中,策略3所需下载的文件个数最少,应选用策略3的三个文件“1.0.0_to_1.1.0.rar”“1.1.0_to_1.4.0.rar”“1.4.0_to_1.5.0.rar。”作为从1.1.0到1.5.0版本的更新文件。然后找出版本1.5.0和版本1.5.1之间的增量文件,即为服务端中没有打包的文件。最终的待更新文件下载列表如下所示。3)、根据“待更新文件下载列表”,一个个下载文件,完成热更新。通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明实施例提供了一种移动端网络游戏版本快速热更新的方法,通过将多个小文件打包成一个大文件,再一次性下载该大文件来完成游戏更新,这种方法只需下载较少的文件,所以只需较少的连接服务器、断开服务器的操作,与现有技术中,需要对多个小文件逐个下载,重复多次进行连接资源服务器、下载小文件,关闭连接的操作,需要连接多次资源服务器、关闭多次连接的方法相比,完成相同大小的资源下载,所需要的时间更短,下载资源的速度更快,因此,采用本发明实施例提供的方法,提升了移动客户端游戏版本更新速度,提高了游戏留存率。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1