太阳城集团

  • / 11
  • 下载费用:30 金币  

程序更新的方法、用于程序更新的客户端及系统.pdf

摘要
申请专利号:

CN201510919386.0

申请日:

2015.12.11

公开号:

太阳城集团CN105320554A

公开日:

2016.02.10

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 9/445申请日:20151211|||公开
IPC分类号: G06F9/445 主分类号: G06F9/445
申请人: 网易(杭州)网络有限公司
发明人: 林镇泽; 刘海杨
地址: 310052浙江省杭州市滨江区长河街道网商路599号4幢7层
优先权:
专利代理机构: 北京律智知识产权代理有限公司11438 代理人: 姜燕; 王卫忠
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201510919386.0

授权太阳城集团号:

|||

法律状态太阳城集团日:

太阳城集团2016.03.09|||2016.02.10

法律状态类型:

太阳城集团实质审查的生效|||公开

摘要

本公开提供了一种程序更新的方法、用于程序更新的客户端及系统,其中程序更新的方法包括:在所述移动设备的本地的可写目录下创建补丁目录;从服务器下载补丁文件,并将所述补丁文件存储安装于所述补丁目录中,其中所述补丁目录不同于所述程序的安装目录,且启动所述程序时优先使用所述补丁目录中的补丁文件。本公开通过在客户端本地的可写目录下创建补丁目录,启动程序时优先加载补丁目录下的补丁文件,如果补丁目录下有更新或修改的文件则先加载更新或修改的文件,之后再加载安装目录下的文件,以达到非替换式更新文件的目的,从而可以通过不安装程序包就能实现程序更新,可以大大减少程序更新所带来的流量和太阳城集团上的消耗。

权利要求书

1.一种程序更新的方法,用于对移动设备上的程序进行增量更新,其特
征在于,包括以下步骤:
在所述移动设备的本地的可写目录下创建补丁目录;
从服务器下载补丁文件,并将所述补丁文件存储安装于所述补丁目录中,
其中所述补丁目录不同于所述程序的安装目录,且启动所述程序时优先
使用所述补丁目录中的补丁文件。
2.根据权利要求1所述的方法,其特征在于,所述从服务器下载补丁文
件的步骤包括:
将所述补丁目录中所有文件的MD5与补丁列表中所有文件的MD5进行
对比,获取与从所述服务器下载的MD5不一致的文件或者存在于所述补丁
列表中但不存在于所述补丁目录中的文件作为补丁文件。
3.根据权利要求2所述的方法,其特征在于,所述补丁列表为通过对新
版本程序与旧版本程序的所有文件进行单独对比得到,且所述补丁列表中包
含修改或者新增的文件的MD5。
4.根据权利要求2所述的方法,其特征在于,从所述服务器下载所述补
丁文件之后还包括:
判断所述补丁目录中已下载的文件的MD5是否与所述补丁列表中文件
的MD5一致,如果不一致,则重新下载MD5不一致的文件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述补丁目录中已下载的文件的MD5与所述补丁列表中文件的MD5
一致时,更新程序版本号。
6.一种用于程序更新的客户端,其特征在于,包括:
创建模块,用于在移动设备本地的可写目录下创建补丁目录;
下载模块,用于从服务器下载补丁文件,并将所述补丁文件安装于所述
补丁目录中;
加载模块,用于所述客户端启动程序时优先使用所述补丁目录下的补丁
文件,其中所述补丁目录不同于所述程序的安装目录。
7.根据权利要求6所述的客户端,其特征在于,所述客户端还包括:
对比模块,用于将所述补丁目录中所有文件的MD5与补丁列表中所有
文件的MD5进行对比,获取与从所述服务器下载的MD5不一致的文件或者
存在于所述补丁列表中但不存在于所述补丁目录中的文件作为补丁文件,其
中所述补丁列表为通过对比旧版程序与新版程序的所有文件得到。
8.根据权利要求7所述的客户端,其特征在于,所述客户端还包括:
判断模块,用于判断所述补丁目录中已下载的文件的MD5是否与所述
补丁列表中文件的MD5一致,如果不一致,则再转至下载模块,重新下载
MD5不一致的文件。
9.根据权利要求8所述的客户端,其特征在于,所述客户端还包括:
版本号更新模块,用于当所述判断模块判断出所述补丁目录中已下载的
文件的MD5与所述补丁列表中文件的MD5一致时,更新程序版本号。
10.一种用于程序更新的系统,其特征在于,包括服务器和权利要求6-9
中任一项所述的客户端,所述服务器通过对比旧版程序与新版程序的所有文
件得到补丁列表,且所述补丁列表中包含修改或新增的文件的MD5。

说明书

程序更新的方法、用于程序更新的客户端及系统

技术领域

本公开涉及计算机网络技术领域,尤其涉及程序更新的方法、用于程序
更新的客户端及系统。

背景技术

近几年来,随着智能手机的普及,移动平台的游戏发展迅速,成为各大
游戏厂商的必争之地。4G网络的普及以及城市中大量的WIFI热点覆盖,更
加方便越来越多的用户使用手机或平板等移动设备来代替PC
(PersonalComputer,个人计算机)进行网游等娱乐。

移动平台庞大的用户量吸引了大量的游戏厂商,要在如此激烈的竞争中
胜出游戏厂商需要频繁更新游戏内容、修复游戏存在的问题,以便增加新用
户还有保留旧用户。因此,移动平台的网络游戏的更新速度很快,如何让游
戏更新的体验更好,也是众多游戏厂商面临的一个问题。网络游戏一般使用
增量更新的方案来进行更新的,即根据最新版本和当前版本的对比,只下载
需要更新的文件,修改本地的对应文件,实现游戏的更新。这样可以尽量减
少的下载,以提高游戏更新的速度,达到更好的用户体验。

但是由于移动平台的系统相对比较封闭,很多移动平台系统的程序文件
都安装在一个不可写的目录,例如现在流行的IOS和Android系统都是把程
序文件保存在一个特殊的目录,游戏程序只能读取这些文件内容,而无法修
改。因此,在移动平台上不能通过覆盖或修改安装目录下的文件来进行游戏
更新。

发明内容

为克服相关技术中存在的问题,本公开提供一种程序更新的方法、用于
程序更新的客户端及系统,以解决现有技术中在移动平台因安装目录不可写
导致不能通过覆盖或修改安装目录下的文件来进行程序更新的技术问题。

根据本公开实施例的第一方面,提供一种程序更新的方法,用于对移动
设备上的程序进行增量更新,包括以下步骤:

在所述移动设备的本地的可写目录下创建补丁目录;

从服务器下载补丁文件,并将所述补丁文件存储安装于所述补丁目录中,

其中所述补丁目录不同于所述程序的安装目录,且启动所述程序时优先
使用所述补丁目录中的补丁文件。

根据本公开的另一实施方式,所述从服务器下载补丁文件的步骤包括:

将所述补丁目录中所有文件的MD5与补丁列表中所有文件的MD5进行
对比,获取与从所述服务器下载的MD5不一致的文件或者存在于所述补丁
列表中但不存在于所述补丁目录中的文件作为补丁文件。

根据本公开的另一实施方式,所述补丁列表为通过对新版本程序与旧版
本程序的所有文件进行单独对比得到,且所述补丁列表中包含修改或者新增
的文件的MD5。

根据本公开的另一实施方式,从所述服务器下载所述补丁文件之后还包
括:

判断所述补丁目录中已下载的文件的MD5是否与所述补丁列表中文件
的MD5一致,如果不一致,则重新下载MD5不一致的文件。

根据本公开的另一实施方式,所述方法还包括:

当判断所述补丁目录中已下载的文件的MD5与所述补丁列表中文件的
MD5一致时,更新程序版本号。

根据本公开实施例的第二方面,提供一种用于程序更新的客户端,包括:

创建模块,用于在移动设备本地的可写目录下创建补丁目录;

下载模块,用于从服务器下载补丁文件,并将所述补丁文件安装于所述
补丁目录中;

加载模块,用于所述客户端启动程序时优先使用所述补丁目录下的补丁
文件,其中所述补丁目录不同于所述程序的安装目录。

根据本公开的另一实施方式,所述客户端还包括:

对比模块,用于将所述补丁目录中所有文件的MD5与补丁列表中所有
文件的MD5进行对比,获取与从所述服务器下载的MD5不一致的文件或者
存在于所述补丁列表中但不存在于所述补丁目录中的文件作为补丁文件,其
中所述补丁列表为通过对比旧版程序与新版程序的所有文件得到。

根据本公开的另一实施方式,所述客户端还包括:

判断模块,用于判断所述补丁目录中已下载的文件的MD5是否与所述
补丁列表中文件的MD5一致,如果不一致,则再转至下载模块,重新下载
MD5不一致的文件。

根据本公开的另一实施方式,所述客户端还包括:

版本号更新模块,用于当所述判断模块判断所述补丁目录中已下载的文
件的MD5与所述补丁列表中文件的MD5一致时,更新程序版本号。

根据本公开实施例的第三方面,提供一种用于程序更新的系统,包括服
务器和以上所述的客户端,所述服务器通过对比旧版程序与新版程序的所有
文件得到补丁列表,且所述补丁列表中包含修改或新增的文件的MD5。

由上述技术方案可知,本公开的有益效果在于:虽然传统技术中客户端
启动程序时不允许直接修改安装目录下的文件内容,但是本公开通过在客户
端本地的可写目录下创建补丁目录,改变传统技术中只能加载安装目录下文
件的方式,在客户端启动程序时优先加载补丁目录下的补丁文件,如果补丁
目录下有更新或修改的文件则先加载更新或修改的文件,之后再加载安装目
录下的文件,以达到非替换式更新文件的目的,从而可以通过不安装程序包
就能实现程序更新,可以大大减少程序更新所带来的流量和太阳城集团上的消耗。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性
的,并不能限制本公开。

附图说明

通过结合附图考虑以下对本公开的优选实施例的详细说明,本公开的各
种目标、特征和优点将变得更加显而易见。附图仅为本公开的示范性图解,
并非一定是按比例绘制。在附图中,同样的附图标记始终表示相同或类似的
部件。

图1为相关实施例中在PC上更新程序的流程图。

图2为本公开实施例一中提供的一种程序更新的方法的步骤流程图。

图3为本公开实施例一中步骤S20中从服务器下载补丁文件的步骤流
程。

图4为本公开实施例一中修改读取文件顺序后的流程图。

图5为本公开实施例二中提供的一种用于程序更新的客户端的组成框
图。

具体实施方式

体现本公开特征与优点的典型实施例将在以下的说明中详细叙述。应理
解的是,本公开能够在不同的实施例上具有各种的变化,其皆不脱离本公开
的范围,且其中的说明及附图在本质上是当作说明之用,而非用以限制本公
开。

本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或
更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的
实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的
技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、
组件、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作
以避免模糊本公开的各方面。

下面将参照附图示例性地给出本公开的一些实施例。应当理解,参照的
实施例并不限制本公开的范围。也就是说,本说明书中举出的任何实例都不
是限制性的,而是仅仅是示例性的。

传统的PC平台上的程序一般都是通过增量更新的方式来进行更新的,
每次更新只修改需要更新的文件。本发明的实施例中的程序均以网络游戏为
例,但是并不因此限定仅为网络游戏,还可以是除网络游戏以外其他类型的
客户端软件。以网络游戏为例,无论是游戏的设定方式还是游戏中人物或者
道具的更新,更新周期比较短,更新较为频繁,每次更新只修改更新的部分
可以大大减少更新过程所耗费的太阳城集团以及数据资源(如流量)。以网络游戏
为例,图1是相关实施例示出的一种在PC上进行更新的流程图,如图1所
示,包括以下步骤。

步骤S01:把每个客户端版本对应更新太阳城集团上传到游戏的更新服务器上。

步骤S02:游戏客户端程序在启动时,根据当前客户端上的程序版本号
来访问游戏的更新服务器,判断是否需要更新。如果需要更新,则获取需要
更新的文件太阳城集团。这些文件太阳城集团可以是一个个完整的文件或是这些文件的修
改内容。若是完整文件则直接覆盖对应的文件即可。若下载的是文件的修改
内容,则需要在本地的基础上修改。

鉴于现有技术中移动系统较为封闭,上述方法并不能直接应用在移动平
台的客户端上程序的更新,本公开提供一种用于移动平台客户端程序更新的
方法、用于程序更新的客户端及系统,并在后续实施例一至三中进行详细说
明。

实施例一

本实施例中提供了一种程序更新的方法,用于对移动设备上的程序进行
增量更新,图2是根据本实施例示出的程序更新的方法的步骤流程图,包括
以下步骤:

步骤S10:在移动设备本地的可写目录下创建补丁目录。

步骤S20:从服务器下载补丁文件,并将补丁文件安装于补丁目录中。

在移动设备上启动程序时,优先加载补丁目录下的补丁文件,补丁目录
是不同于程序的安装目录的可写目录,加载补丁文件之后再加载安装目录下
的文件。

通过上述的步骤流程,首先在本地创建可写的补丁目录,补丁目录中可
以存储并安装补丁文件,由于补丁文件和安装目录下的文件都存在于本地,
还需要在加载文件时通过修改读取文件的流程来更改加载文件的顺序,即优
先加载补丁目录下的补丁文件,之后再加载安装目录下的文件,完成更新,
或者在补丁目录下没有新的补丁文件时直接加载安装目录下的文件,从而可
以在移动平台的客户端上也可以实现增量更新。

步骤S20中从服务器下载补丁文件的步骤流程如图3所示,包括以下步
骤:

步骤S21:将补丁目录中所有文件的MD5与补丁列表中所有文件的MD5
进行对比,获取与从服务器下载的MD5不一致的文件或者存在于补丁列表
中但不存在于所述补丁目录中的文件作为补丁文件。

在客户端启动时计算补丁目录中所有文件的MD5,根据客户端本地的程
序版本号与补丁列表中程序版本号的比较,从服务器下载最新的补丁列表中
的文件。将本地计算得到的MD5和最新版的补丁列表中的MD5进行对比,
将MD5不一致或者新增的文件从服务器下载到本地的补丁目录中。补丁目
录是客户端上预先设定的一个可写目录,用于存储从服务器下载的补丁文件,
下载时,如果文件已存在于补丁目录中,则直接覆盖旧文件。

补丁文件除了包括MD5不一致的文件,还可以包括新增的文件,也就
是补丁目录中的文件,即文件名存在于服务器的补丁列表中,但是不存在于
当前的补丁目录中的文件。

步骤S22:判断补丁目录中已下载的文件的MD5是否与补丁列表中文件
的MD5一致,如果不一致,则重新下载MD5不一致的文件。其中补丁列表
为通过对新版本程序与旧版本程序的所有文件进行单独对比得到,且补丁列
表中包含修改或者新增的文件的MD5。

在网络正常的情况下,补丁目录中下载的文件直接覆盖原来的文件,覆
盖之后本地补丁文件的MD5与补丁列表中文件的MD5一致,但在某些异常
的网络环境或者移动设备的存储有问题的情况下,可能下载后存放于补丁目
录中的个别补丁文件是不正确的,导致本地补丁文件的MD5和补丁列表中
文件的MD5不一致,因此在网络不稳定或者存储出现异常的情况下会出现
本地补丁文件的MD5和补丁列表中文件的MD5不一致的现象。如果某个文
件的MD5是不正确的,也就是在文件是损坏的情况下,此时客户端进行重
新加载资源,就会出现加载失败,从而可能出现导致客户端不能正常启动的
情况。

基于上述,本实施例在下载补丁文件之后还需要对补丁目录中所存储补
丁文件的MD5与服务器上补丁列表中文件的MD5是否一致进行判断,如果
一致,就可以进行下一步骤,如果不一致就要重新下载,直到所有文件的
MD5都一致时才结束下载流程,确保最终本次补丁文件的MD5与补丁列表
文件的MD5一致,避免因为网络问题和移动设备的存储问题导致文件错误,
从而导致客户端损坏。

步骤S23:当判断补丁目录中已下载的文件的MD5与补丁列表中文件的
MD5一致时,更新程序版本号。客户端程序的版本号存在于更新的文件中,
客户端下载补丁文件并完成更新后程序版本号也相应地被修改为最新的程序
版本号,以防下次启动又重复更新。而且在下载完所需的补丁文件并更新版
本号之后,通过参照对比,根据本地程序的版本号选择从服务器中的哪个补
丁列表。

以常见的游戏程序为例,虽然IOS和Android等移动平台的操作系统的
安装目录下的文件都是只读属性,不能对其进行修改或覆盖,也就是不允许
将游戏程序直接修改安装目录下的文件内容,但是会提供另外一些可以读写
的目录。在这些可以读写的目录下,应用程序能够写入和读取文件内容。因
此,只要把更新的内容下载到这些可以读写的目录里就能实现和PC平台类
似的更新。

虽然在可写目录下能够下载游戏程序的更新文件,但要让程序能正确地
读取这些更新文件,还需要对读取文件的流程做修改。因为这些更新文件并
不在程序的安装目录下,如果程序直接从安装目录下读取文件,则还是得到
更新前的文件内容。因此,还需要修改游戏程序读文件资源的流程。

修改前,读取文件的流程是游戏程序直接从安装目录下读取文件。本实
施例若要使游戏程序能正确读取文件,需要把读取文件资源的流程进行修改,
图4是本实施例中提供的程序更新方法在修改读取文件资源顺序后的流程
图,如图4所示,游戏程序先从补丁目录(可写目录下)读取文件,若补丁
目录下没有补丁文件,则再到安装目录下读取。因为补丁目录下的补丁文件
是更新后的,这样就能保证游戏程序能读到最新的补丁文件。而且如果补丁
文件没有更新,游戏程序也能从安装目录下读取到原来的文件。

通过上述对读取文件流程的修改,更新补丁文件后,游戏客户端可以在
不重启的情况下重新加载本地文件(依次加载补丁目录和安装目录下的文
件)。如果文件仅存在于游戏安装目录中,则表示文件没有更新,直接加载
安装目录下的文件即可;如果文件A存在于可写的补丁目录中,同时又存在
于程序的安装目录中,则优先加载补丁目录中的文件A,之后再加载安装目
录下的文件A,从而达到了文件更新的目的。

综上所述,本实施例的有益效果在于:虽然传统技术中客户端启动程序
时不允许直接修改安装目录下的文件内容,但是本公开通过在客户端本地的
可写目录下创建补丁目录,改变传统技术中只能加载安装目录下文件的方式,
在客户端启动程序时优先加载补丁目录下的文件,如果补丁目录下有更新或
修改的文件则先加载更新或修改的文件,之后再加载安装目录下的文件,以
达到非替换式更新文件的目的,从而可以通过不安装程序包就能实现程序更
新,可以大大减少程序更新所带来的流量和太阳城集团上的消耗。

另一方面,采用本实施例的更新方法,客户端每次下载完补丁文件后不
需要重启,同样节约了程序启动太阳城集团,让用户能有更好的游戏体验,避免了
因为更新导致用户体验不良而带来的使用量流失。

实施例二

本实施例提供了一种用于程序更新的客户端,包括:创建模块100、下
载模块200、加载模块300、对比模块400、判断模块500和版本号更新模块
600。

图5是本实施例提供的用于程序更新的客户端的组成框图,其中创建模
块100用于在移动设备本地的可写目录下创建补丁目录,其中补丁目录是不
同于程序的安装目录的可写目录。下载模块200用于从服务器下载补丁文件,
并将补丁文件安装于补丁目录中。加载模块300用于客户端启动程序时优先
加载补丁目录下的文件,加载补丁目录下的补丁文件之后再加载安装目录下
的文件。

客户端中还可以包括对比模块400和判断模块500。

对比模块400用于将补丁目录中所有文件的MD5与补丁列表中所有文
件的MD5进行对比,获取与从服务器下载的MD5不一致的文件或者存在于
补丁列表中但不存在于补丁目录中的文件作为补丁文件。

补丁列表为通过对比旧版程序与新版程序的所有文件得到,将修改或者
新增文件的文件名及文件内容的MD5写入补丁列表中,将补丁列表以及补
丁列表包含的文件保存在以当前新的程序版本号命名的文件夹中,并将该文
件夹上传到服务器以供客户端下载。通过单独每个文件的对比得到的补丁列
表,确保客户端只需要下载发生变化的文件,从而节约了网络流量和下载时
间。

判断模块500用于判断补丁目录中已下载的文件的MD5是否与补丁列
表中文件的MD5一致,如果不一致,则再转至下载模块200,重新下载MD5
不一致的文件,直到一致为止,以避免因为网络问题和移动设备的存储问题
导致文件错误,从而导致客户端损坏。

客户端中还可以包括版本号更新模块600,用于当判断模块500判断补
丁目录中已下载的文件的MD5与补丁列表中文件的MD5一致时,更新程序
版本号,以防下次启动又重复更新。

太阳城集团上述实施例中的装置,其中各个模块执行操作的具体方式已经在有
关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

综上所述,本实施例的有益效果在于:通过创建模块在客户端本地的可
写目录下创建补丁目录,在客户端启动程序时优先加载补丁目录下的补丁文
件,如果补丁目录下有更新或修改的文件则先加载更新或修改的文件,之后
再加载安装目录下的文件,以达到非替换式更新文件的目的,从而可以通过
不安装程序包就能实现程序更新,可以大大减少程序更新所带来的流量和时
间上的消耗。

实施例三

基于上述实施例二,本实施例提供了一种用于程序更新的系统,包括服
务器和实施例二中的客户端,客户端的组成以及各部分的功能参见实施例二。

服务器通过对比旧版程序与新版程序的所有文件得到补丁列表,且补丁
列表中包含修改或新增的文件的MD5。服务器将修改或者新增文件的文件名
及文件内容的MD5写入补丁列表中,将补丁列表以及补丁列表包含的文件
保存在以当前新的程序版本号命名的文件夹中,并将该文件夹上传到服务器
以供客户端下载。通过单独每个文件的对比得到的补丁列表,确保客户端只
需要下载发生变化的文件,从而节约了网络流量和下载太阳城集团。

基于上述,本实施例能够实现同实施例二相同的技术效果,此处不再赘
述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本
公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性
变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公
开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被
视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确
结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所
附的权利要求来限制。

关 键 词:
程序 更新 方法 用于 客户端 系统
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:程序更新的方法、用于程序更新的客户端及系统.pdf
链接地址:http://zh228.com/p-6409788.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');