CN109522041A - 客户端资源更新方法、装置、处理器、服务器及终端 - Google Patents

客户端资源更新方法、装置、处理器、服务器及终端 Download PDF

Info

Publication number
CN109522041A
CN109522041A CN201811197856.7A CN201811197856A CN109522041A CN 109522041 A CN109522041 A CN 109522041A CN 201811197856 A CN201811197856 A CN 201811197856A CN 109522041 A CN109522041 A CN 109522041A
Authority
CN
China
Prior art keywords
resource
file
finger print
resource file
print information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811197856.7A
Other languages
English (en)
Other versions
CN109522041B (zh
Inventor
王璞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201811197856.7A priority Critical patent/CN109522041B/zh
Publication of CN109522041A publication Critical patent/CN109522041A/zh
Application granted granted Critical
Publication of CN109522041B publication Critical patent/CN109522041B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种客户端资源更新方法、装置、处理器、服务器及终端。该方法包括:根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定差异资源文件集合;通过差异资源文件集合生成资源数据文件和指纹信息文件,其中,资源数据文件包括差异资源文件集合中每个资源文件的数据信息,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;发布资源数据文件和指纹信息文件,以使终端对本地客户端资源文件进行更新。本发明解决了相关技术中所提供的客户端资源文件更新方式操作复杂度较高、容错性较差的技术问题。

Description

客户端资源更新方法、装置、处理器、服务器及终端
技术领域
本发明涉及互联网领域,具体而言,涉及一种客户端资源更新方法、装置、处理器、服务器及终端。
背景技术
应用类软件(例如:游戏客户端)通常需要频繁地下载待更新的游戏资源(包括但不限于:每周定时更新,漏洞(BUG)修复更新,节日活动补丁更新),而且不同版本的游戏客户端需要更新的资源又不尽相同,因此,开发一套可靠的、易于管理的客户端更新方案成为亟待解决的技术难题。
目前,相关技术中所提供的解决方案通常是将每次修改的资源文件封装在一个更新包中,因此,在每次发布补丁时都需要新增一个资源更新包。游戏客户端根据当前的客户端版本号按序下载本地尚未下载的资源更新包,进而逐个解压并安装资源更新包,以达到更新游戏客户端的目的。
然而,相关技术中所提供的解决方案存在如下技术缺陷:
(1)开发团队需要维护所有已经发布的历史资源更新包及其发布记录,维护风险和成本较高,如果资源更新包的相关数据或更新记录不慎丢失,则很有可能无法重新生成正确的资源更新包。
(2)如果已经成功下载的资源更新包(特别是解压后得到的更新资源)被用户或第三方软件执行误操作,则上述解决方案无法有效地识别出此类误操作,从而导致无法恢复正确的资源文件,由此游戏客户端将会处于一种错误的运行状态,甚至无法成功启动该游戏客户端。
(3)游戏客户端在单次更新中如果需要下载多个资源更新包(例如:游戏客户端距离上次启动已很长时间),则多个更新包内的同名文件相当于重复下载多次(若一个文件被频繁修改,则会被封装至多个不同的资源更新包中)。然而,对于客户端而言,通常仅需要下载最新版本的资源文件,而历史版本的资源文件即便下载到本地也无法满足客户端的更新需求,同时还会消耗网络流量,占用网络带宽。
(4)当历史资源更新包数量较多时(例如:游戏项目已经运营很长一段时间,游戏客户端在首次启动时便需要下载大量的资源更新包),不仅需要在建立下载网络链接的过程中耗费大量时间,而且下载速度缓慢。例如:由于建立网络链接的额外开销,因此,1000个1KB大小的资源文件的下载速度要远低于1个1000KB大小的资源文件的下载速度。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明至少部分实施例提供了一种客户端资源更新方法、装置、处理器、服务器及终端,以至少解决相关技术中所提供的客户端资源文件更新方式操作复杂度较高、容错性较差的技术问题。
根据本发明其中一实施例,提供了一种客户端资源更新方法,包括:
根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定差异资源文件集合;通过差异资源文件集合生成资源数据文件和指纹信息文件,其中,资源数据文件包括差异资源文件集合中每个资源文件的数据信息,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;发布资源数据文件和指纹信息文件,以使终端对本地客户端资源文件进行更新。
可选地,通过差异资源文件集合生成资源数据文件包括:获取差异资源文件集合中每个资源文件的最近一次修改时刻;按照每个资源文件的最近一次修改时刻的先后顺序对差异资源文件集合中每个资源文件进行排序,得到排序结果,其中,对于最近一次修改时刻相同的多个资源文件的排列顺序将任意设定;根据排序结果生成资源数据文件,并记录差异资源文件集合中每个资源文件在资源数据文件中的存储偏移地址。
可选地,通过差异资源文件集合生成指纹信息文件包括:根据排序结果分别确定差异资源文件集合中每个资源文件对应的指纹信息,其中,指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;将每个资源文件对应的指纹信息进行组合,生成指纹信息文件。
可选地,在发布资源数据文件和指纹信息文件之后,还包括:接收来自于终端的下载请求,其中,下载请求中待下载的多个资源文件由终端根据文件大小和存储偏移地址确定;响应于下载请求,向终端发送待下载的多个资源文件。
根据本发明其中一实施例,还提供了另一种客户端资源更新方法,包括:
从服务器下载指纹信息文件,其中,指纹信息文件通过差异资源文件集合生成,差异资源文件集合根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;通过将指纹信息文件与终端本地当前存在的资源文件的指纹信息进行比对,确定待下载的全部资源文件;从服务器的资源数据文件中获取待下载的全部资源文件,其中,资源数据文件通过差异资源文件集合生成,资源数据文件包括差异资源文件集合中每个资源文件的数据信息。
可选地,通过将指纹信息文件与当前存在的资源文件的指纹信息进行比对,确定待下载的全部资源文件包括:通过指纹信息文件确定差异资源文件集合中每个资源文件对应的指纹信息,其中,指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;依次将每个资源文件对应的指纹信息与当前存在的资源文件的指纹信息进行比对,确定终端本地不存在的资源文件和/或数据不一致的资源文件,得到待下载的全部资源文件。
可选地,从服务器的资源数据文件中获取待下载的全部资源文件包括:根据文件大小和存储偏移地址在单次下载请求的最大数据量范围内将待下载的全部资源文件划分为多组待下载的资源文件,其中,每组待下载的资源文件所包含的各个资源文件的存储偏移地址依次相邻;针对每组待下载的资源文件分别向服务器发送下载请求,获取对应的多个资源文件。
可选地,在从服务器的资源数据文件中获取待下载的全部资源文件之后,还包括:将从服务器下载得到的待下载的全部资源文件拆分成单个资源文件后进行分别存储,对终端本地当前存在的资源文件进行更新。
根据本发明其中一实施例,还提供了一种客户端资源更新装置,包括:
确定模块,用于根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定差异资源文件集合;生成模块,用于通过差异资源文件集合生成资源数据文件和指纹信息文件,其中,资源数据文件包括差异资源文件集合中每个资源文件的数据信息,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;发布模块,用于发布资源数据文件和指纹信息文件,以使终端对本地客户端资源文件进行更新。
可选地,生成模块包括:获取单元,用于获取差异资源文件集合中每个资源文件的最近一次修改时刻;排序单元,用于按照每个资源文件的最近一次修改时刻的先后顺序对差异资源文件集合中每个资源文件进行排序,得到排序结果,其中,对于最近一次修改时刻相同的多个资源文件的排列顺序将任意设定;第一生成单元,用于根据排序结果生成资源数据文件,并记录差异资源文件集合中每个资源文件在资源数据文件中的存储偏移地址。
可选地,生成模块包括:确定单元,用于根据排序结果分别确定差异资源文件集合中每个资源文件对应的指纹信息,其中,指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;第二生成单元,用于将每个资源文件对应的指纹信息进行组合,生成指纹信息文件。
可选地,上述装置还包括:接收模块,用于接收来自于终端的下载请求,其中,下载请求中待下载的多个资源文件由终端根据文件大小和存储偏移地址确定;发送模块,用于响应于下载请求,向终端发送待下载的多个资源文件。
根据本发明其中一实施例,还提供了另一种客户端资源更新装置,包括:
下载模块,用于从服务器下载指纹信息文件,其中,指纹信息文件通过差异资源文件集合生成,差异资源文件集合根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;比较模块,用于通过将指纹信息文件与终端本地当前存在的资源文件的指纹信息进行比对,确定待下载的全部资源文件;获取模块,用于从服务器的资源数据文件中获取待下载的全部资源文件,其中,资源数据文件通过差异资源文件集合生成,资源数据文件包括差异资源文件集合中每个资源文件的数据信息。
可选地,比较模块包括:确定单元,用于通过指纹信息文件确定差异资源文件集合中每个资源文件对应的指纹信息,其中,指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;比较单元,用于依次将每个资源文件对应的指纹信息与当前存在的资源文件的指纹信息进行比对,确定终端本地不存在的资源文件和/或数据不一致的资源文件,得到待下载的全部资源文件。
可选地,获取模块包括:处理单元,用于根据文件大小和存储偏移地址在单次下载请求的最大数据量范围内将待下载的全部资源文件划分为多组待下载的资源文件,其中,每组待下载的资源文件所包含的各个资源文件的存储偏移地址依次相邻;获取单元,用于针对每组待下载的资源文件分别向服务器发送下载请求,获取对应的多个资源文件。
可选地,上述装置还包括:更新模块,用于将从服务器下载得到的待下载的全部资源文件拆分成单个资源文件后进行分别存储,对终端本地当前存在的资源文件进行更新。
根据本发明其中一实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一项的客户端资源更新方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的客户端资源更新方法。
根据本发明其中一实施例,还提供了一种服务器,包括:一个或多个处理器,存储器以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序用于执行上述任意一项的客户端资源更新方法。
根据本发明其中一实施例,还提供了一种终端,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序用于执行上述任意一项的客户端资源更新方法。
在本发明至少部分实施例中,采用根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定差异资源文件集合,并通过差异资源文件集合生成资源数据文件和指纹信息文件的方式,通过发布资源数据文件和指纹信息文件,以使终端对本地客户端资源文件进行更新,达到了自动更新或修复终端本地客户端资源文件的目的,从而实现了降低终端对本地客户端资源文件进行更新的操作复杂度,提升了资源文件更新过程的容错率的技术效果,进而解决了相关技术中所提供的客户端资源文件更新方式操作复杂度较高、容错性较差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种客户端资源更新方法的流程图;
图2是根据本发明其中一可选实施例的资源更新包生成过程的示意图;
图3是根据本发明实施例的另一种客户端资源更新方法的流程图;
图4是根据本发明其中一可选实施例的客户端资源更新过程的流程图;
图5是根据本发明其中一实施例的一种客户端资源更新装置的结构框图;
图6是根据本发明其中一可选实施例的一种客户端资源更新装置的结构框图;
图7是根据本发明其中一实施例的另一种客户端资源更新装置的结构框图;
图8是根据本发明其中一可选实施例的另一种客户端资源更新装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明其中一实施例,提供了一种客户端资源更新方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以由终端和服务器构成的客户端资源更新系统中执行。终端或服务器可以包括一个或多个处理器(处理器可以包括但不限于微处理器(MCU)或可编程逻辑器件(FPGA)等的处理装置)和用于存储数据的存储器。可选地,上述终端或服务器还可以包括用于通信功能的传输装置以及输入输出设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述终端或服务器的结构造成限定。例如,终端或服务器还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的客户端资源更新方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的客户端资源更新方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端或服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端或服务器的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述客户端资源更新系统的客户端资源更新方法,
图1是根据本发明实施例的一种客户端资源更新方法的流程图,如图1所示,该方法包括如下步骤:
步骤S12,根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定差异资源文件集合;
在该步骤中,通过将最新版本的游戏客户端与最初版本的游戏客户端的资源文件进行比较以获取待加入至资源更新包的文件列表(相当于上述差异资源文件集合),并根据比较结果确定内容指纹(其为资源内容的唯一标识,例如:MD5)不一致的文件列表。通过维护一个与客户端最新版本对应的资源更新包,其包含有不同版本的待更新资源文件,从而无需维护历史发布的资源更新包,降低资源更新包的维护风险和成本。
步骤S14,通过差异资源文件集合生成资源数据文件和指纹信息文件,其中,资源数据文件包括差异资源文件集合中每个资源文件的数据信息,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;
步骤S16,发布资源数据文件和指纹信息文件,以使终端对本地客户端资源文件进行更新。
通过上述步骤,可以采用根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定差异资源文件集合,并通过差异资源文件集合生成资源数据文件和指纹信息文件的方式,通过发布资源数据文件和指纹信息文件,以使终端对本地客户端资源文件进行更新,达到了自动更新或修复终端本地客户端资源文件的目的,从而实现了降低终端对本地客户端资源文件进行更新的操作复杂度,提升了资源文件更新过程的容错率的技术效果,进而解决了相关技术中所提供的客户端资源文件更新方式操作复杂度较高、容错性较差的技术问题。
可选地,在步骤S14中,通过差异资源文件集合生成资源数据文件可以包括以下执行步骤:
步骤S141,获取差异资源文件集合中每个资源文件的最近一次修改时刻;
步骤S142,按照每个资源文件的最近一次修改时刻的先后顺序对差异资源文件集合中每个资源文件进行排序,得到排序结果,其中,对于最近一次修改时刻相同的多个资源文件的排列顺序将任意设定;
步骤S143,根据排序结果生成资源数据文件,并记录差异资源文件集合中每个资源文件在资源数据文件中的存储偏移地址。
将全部资源文件按照预设顺序存储在特定存储区域(例如:大文件)中,其中,资源文件的排列规则可以包括:根据历史修改记录将不同批次修改的资源文件按照最近一次修改时刻相对于当前时刻由远及近进行连续排列,而同一批修改的资源文件之间的排列顺序可以随机确定,进而通过连续排列可以一次下载多个资源文件,从而减少网络链接的建立次数。
可选地,在步骤S14中,通过差异资源文件集合生成指纹信息文件可以包括以下执行步骤:
步骤S144,根据排序结果分别确定差异资源文件集合中每个资源文件对应的指纹信息,其中,指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;
步骤S145,将每个资源文件对应的指纹信息进行组合,生成指纹信息文件。
在确定待加入至资源更新包的文件列表之后,根据每个资源文件的排列顺序确定对应的指纹信息排列顺序,生成资源更新包的指纹信息文件,其中,指纹信息文件可以包括但不限于:资源更新包内资源文件的文件名称指纹、文件大小指纹、文件内容MD5指纹、文件偏移地址指纹,该存储偏移地址用于从包含全部资源文件的大文件中根据存储偏移地址将资源文件下载到游戏客户端,例如:通过超文本传输协议(HTTP)的range参数指定存储偏移地址。
可选地,在步骤S16,发布资源数据文件和指纹信息文件之后,还可以包括以下执行步骤:
步骤S17,接收来自于终端的下载请求,其中,下载请求中待下载的多个资源文件由终端根据文件大小和存储偏移地址确定;
步骤S18,响应于下载请求,向终端发送待下载的多个资源文件。
服务器在将资源数据文件和指纹信息文件发布到文件服务器上,以便游戏客户端更新时下载并使用之后,游戏客户端下载指纹信息文件,并将指纹信息文件与游戏客户端本地已有文件对应的指纹信息文件(包括但不限于:文件名称指纹、文件大小指纹、文件内容MD5指纹、文件偏移地址指纹)进行对比,得到资源更新包与客户端本地已有文件存在差异的文件列表,即游戏客户端在本次更新中需要下载的文件列表,其中,游戏客户端本地已有文件对应的指纹信息文件既可以预先计算完成,也可以临时计算完成。
如果游戏客户端已经删除或修改已下载的资源更新文件,那么游戏客户端本地的文件内容的指纹便会发生改变,由此在更新过程中被删除或修改的资源更新文件会被再次下载并且是最新版本的资源更新文件,从而确保游戏客户端内资源文件的准确性。此外,在单次更新过程中,同一个资源文件最多只会被下载一次(即只会下载该资源文件的最新版本),从而节省网络流量、减少下载时间。
终端需要将存在差异的文件列表中的存储偏移地址连续的文件合并到同一次下载请求中,以减少下载请求的次数,完成所有差异资源文件的下载。当待更新的资源文件的数量较多时,能够将存储地址连续的资源文件合并到同一次下载请求中,以使通过发送一次下载请求便可下载多个资源文件,由此减少建立网络链接的次数、提高下载速度。
下面将结合图2所示的示例性实施例对上述可选实施过程作进一步详细地描述。
图2是根据本发明其中一可选实施例的资源更新包生成过程的示意图,如图2所示,客户端版本1(即最初版本的客户端)包含5个资源文件,其分别为:资源文件A、资源文件B、资源文件C、资源文件D和资源文件E。客户端版本2是在客户端版本1的基础上通过修改资源文件A得到资源文件A1。客户端版本3是在客户端版本2的基础上通过修改资源文件B和资源文件D得到资源文件B1和资源文件D1。客户端版本4(即最新版本的客户端)是在客户端版本3的基础上通过修改资源文件A1得到资源文件A2,同时,新增资源文件F,由此确定最终包含6个资源文件,其分别是资源文件A2、资源文件B1、资源文件C、资源文件D1,资源文件E和资源文件F。
服务器通过将客户端版本4与客户端版本1进行比较,得到的资源更新包内包含4个资源文件,其分别为资源文件A2、资源文件B1、资源文件D1和资源文件F。由此可见,资源更新包所含资源文件的全部来自于客户端版本4,其包括客户端版本4与客户端版本1之间经过修改的资源文件,以及客户端版本4相对于客户端版本1新增的资源文件。因此,资源更新包中囊括了从客户端版本1直至更新至客户端版本4所需下载的全部资源文件。
资源更新包中的资源数据文件包括全部资源文件的数据内容。不同版本的客户端本地资源文件存在差异,因此,在更新过程中仅需要下载资源更新包与客户端本地已有资源文件存在差异的部分数据。为此,客户端通过指定数据偏移地址区间,可以请求下载资源数据文件中的部分数据,其具体实现方式表现为:通过指定HTTP协议的Get请求的range参数来获取部分数据。
资源更新包中的指纹信息文件包括全部资源文件的指纹信息。在客户端的更新过程中,通过指纹信息可以从资源更新包中确定待下载的资源文件(即,需要下载的客户端本地不存在的资源文件或者本地同名资源文件不一致的资源文件)。
资源数据文件内各个资源文件的排列顺序按照最后一次修改时间的先后顺序排列,同一时间修改的资源文件之间没有顺序要求。考虑到同一时间修改的资源文件通常需要一并下载,因此,对各个资源文件进行连续排列可以使得多个资源文件可以通过一次下载请求下发至客户端,从而减少建立下载网络链接的开销,提升下载速度。
资源文件指纹信息的数据内容包括:资源文件名称(即资源文件的唯一标识),资源文件大小(即资源文件数据长度),资源文件内容MD5(即资源文件内容的唯一标识,用于判断内容是否一致),资源文件偏移地址(即资源文件存储位置的偏移地址)。
根据本发明其中一实施例,还提供了另一种客户端资源更新方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了另一种运行于上述客户端资源更新系统的客户端资源更新方法,图3是根据本发明实施例的另一种客户端资源更新方法的流程图,如图3所示,该方法包括如下步骤:
步骤S32,从服务器下载指纹信息文件,其中,指纹信息文件通过差异资源文件集合生成,差异资源文件集合根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;
步骤S34,通过将指纹信息文件与终端本地当前存在的资源文件的指纹信息进行比对,确定待下载的全部资源文件;
步骤S36,从服务器的资源数据文件中获取待下载的全部资源文件,其中,资源数据文件通过差异资源文件集合生成,资源数据文件包括差异资源文件集合中每个资源文件的数据信息。
可选地,在步骤S34中,通过将指纹信息文件与当前存在的资源文件的指纹信息进行比对,确定待下载的全部资源文件可以包括以下执行步骤:
步骤S341,通过指纹信息文件确定差异资源文件集合中每个资源文件对应的指纹信息,其中,指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;
步骤S342,依次将每个资源文件对应的指纹信息与当前存在的资源文件的指纹信息进行比对,确定终端本地不存在的资源文件和/或数据不一致的资源文件,得到待下载的全部资源文件。
服务器在将资源数据文件和指纹信息文件发布到文件服务器上,以便游戏客户端更新时下载并使用之后,游戏客户端下载指纹信息文件,并将指纹信息文件与游戏客户端本地已有文件对应的指纹信息文件(包括但不限于:文件名称指纹、文件大小指纹、文件内容MD5指纹、文件偏移地址指纹)进行对比,得到资源更新包与客户端本地已有文件存在差异的文件列表,即游戏客户端在本次更新中需要下载的文件列表,其中,游戏客户端本地已有文件对应的指纹信息文件既可以预先计算完成,也可以临时计算完成。
如果游戏客户端已经删除或修改已下载的资源更新文件,那么游戏客户端本地的文件内容的指纹便会发生改变,由此在更新过程中被删除或修改的资源更新文件会被再次下载并且是最新版本的资源更新文件,从而确保游戏客户端内资源文件的准确性。此外,在单次更新过程中,同一个资源文件最多只会被下载一次(即只会下载该资源文件的最新版本),从而节省网络流量、减少下载时间。
可选地,在步骤S36中,从服务器的资源数据文件中获取待下载的全部资源文件可以包括以下执行步骤:
步骤S361,根据文件大小和存储偏移地址在单次下载请求的最大数据量范围内将待下载的全部资源文件划分为多组待下载的资源文件,其中,每组待下载的资源文件所包含的各个资源文件的存储偏移地址依次相邻;
步骤S362,针对每组待下载的资源文件分别向服务器发送下载请求,获取对应的多个资源文件。
终端需要将存在差异的文件列表中的存储偏移地址连续的文件合并到同一次下载请求中,以减少下载请求的次数,完成所有差异资源文件的下载。当待更新的资源文件的数量较多时,可以根据文件大小将存储地址连续的资源文件合并到同一次下载请求中,即通过文件大小能够确定每个下载请求能够获取到的资源文件的数量,以使通过发送一次下载请求便可下载多个资源文件,由此减少建立网络链接的次数、提高下载速度。
可选地,在步骤S36,从服务器的资源数据文件中获取待下载的全部资源文件之后,还可以包括以下执行步骤:
步骤S37,将从服务器下载得到的待下载的全部资源文件拆分成单个资源文件后进行分别存储,对终端本地当前存在的资源文件进行更新。
终端通过每次向服务器发送下载请求可以从服务器的资源数据文件中获取多个待下载的资源文件,然后终端需要通过每个资源文件的指纹信息将多个待下载的资源文件拆分成单个资源文件。在资源更新包中新增资源文件或者与本地数据内容不一致的资源文件均已下载到客户端本地之后,终端将会对客户端本地的资源文件进行更新,以确保与服务器上最新版本客户端对应的资源文件保持一致,由此终端本地的客户端资源文件更新完毕。
下面将结合图4所示的示例性实施例对上述可选实施过程作进一步详细地描述。
图4是根据本发明其中一可选实施例的客户端资源更新过程的流程图,如图4所示,该过程可以包括以下执行步骤:
步骤S401,客户端启动后会自动开启资源更新流程,以确保客户端本地资源文件更新至最新版本。
步骤S402,客户端下载资源更新包中的指纹信息文件,该指纹信息文件不包含具体的资源文件数据内容,而只包含资源更新包内每个资源文件的文件名称、文件大小,文件内容MD5和文件偏移地址。
步骤S403,客户端通过指纹信息文件能够确定与资源更新包相比,客户端本地不存在的资源文件和/或客户端本地数据不一致的资源文件,然后将存在差异的资源文件加入至待下载的文件列表。
步骤S404,客户端判断本次资源更新的待下载文件列表是否为空;若为空,则转到步骤S408,结束更新流程;若不为空,则继续执行步骤S405。
步骤S405,客户端根据每个资源文件的大小和存储位置的偏移地址将全部待下载的资源文件进行分组。如果采用逐个下载文件列表中每个资源文件的方式,则需要为每个资源文件分别建立一个下载网络链接,并发起下载请求。为了节省网络链接建立的开销,加快下载速度,为此,客户端根据每个资源文件的大小和存储位置的偏移地址将全部待下载的资源文件进行分组。
步骤S406,客户端为每组待下载的资源文件分别发起一次下载请求,将每组待下载的资源文件的合并数据下载到客户端本地。
步骤S407,客户端将通过每个下载请求得到的合并数据拆分并分别存储为单个资源文件。
步骤S408,在资源更新包中新增资源文件或者与本地数据内容不一致的资源文件均已下载到客户端本地之后,客户端本地的资源文件更新至与服务器上最新版本客户端对应的资源文件保持一致,由此客户端资源文件更新完毕。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种客户端资源更新装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明其中一实施例的一种客户端资源更新装置的结构框图,如图5所示,该装置包括:确定模块10,用于根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定差异资源文件集合;生成模块11,用于通过差异资源文件集合生成资源数据文件和指纹信息文件,其中,资源数据文件包括差异资源文件集合中每个资源文件的数据信息,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;发布模块12,用于发布资源数据文件和指纹信息文件,以使终端对本地客户端资源文件进行更新。
可选地,图6是根据本发明其中一可选实施例的一种客户端资源更新装置的结构框图,如图6所示,生成模块11包括:第一生成子模块110;该第一生成子模块110包括:获取单元(图中未示出),用于获取差异资源文件集合中每个资源文件的最近一次修改时刻;排序单元(图中未示出),用于按照每个资源文件的最近一次修改时刻的先后顺序对差异资源文件集合中每个资源文件进行排序,得到排序结果,其中,对于最近一次修改时刻相同的多个资源文件的排列顺序将任意设定;第一生成单元(图中未示出),用于根据排序结果生成资源数据文件,并记录差异资源文件集合中每个资源文件在资源数据文件中的存储偏移地址。
可选地,生成模块11包括:第一生成子模块111;该第一生成子模块111包括:确定单元(图中未示出),用于根据排序结果分别确定差异资源文件集合中每个资源文件对应的指纹信息,其中,指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;第二生成单元(图中未示出),用于将每个资源文件对应的指纹信息进行组合,生成指纹信息文件。
可选地,如图6所示,该装置除包括图5所示的所有模块外,还包括:接收模块13,用于接收来自于终端的下载请求,其中,下载请求中待下载的多个资源文件由终端根据文件大小和存储偏移地址确定;以及发送模块14,用于响应于下载请求,向终端发送待下载的多个资源文件。
在本实施例中还提供了另一种客户端资源更新装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明其中一实施例的另一种客户端资源更新装置的结构框图,如图7所示,该装置包括:下载模块20,用于从服务器下载指纹信息文件,其中,指纹信息文件通过差异资源文件集合生成,差异资源文件集合根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;比较模块21,用于通过将指纹信息文件与终端本地当前存在的资源文件的指纹信息进行比对,确定待下载的全部资源文件;获取模块22,用于从服务器的资源数据文件中获取待下载的全部资源文件,其中,资源数据文件通过差异资源文件集合生成,资源数据文件包括差异资源文件集合中每个资源文件的数据信息。
可选地,比较模块21包括:确定单元(图中未示出),用于通过指纹信息文件确定差异资源文件集合中每个资源文件对应的指纹信息,其中,指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;比较单元(图中未示出),用于依次将每个资源文件对应的指纹信息与当前存在的资源文件的指纹信息进行比对,确定终端本地不存在的资源文件和/或数据不一致的资源文件,得到待下载的全部资源文件。
可选地,获取模块22包括:处理单元(图中未示出),用于根据文件大小和存储偏移地址在单次下载请求的最大数据量范围内将待下载的全部资源文件划分为多组待下载的资源文件,其中,每组待下载的资源文件所包含的各个资源文件的存储偏移地址依次相邻;获取单元(图中未示出),用于针对每组待下载的资源文件分别向服务器发送下载请求,获取对应的多个资源文件。
可选地,图8是根据本发明其中一可选实施例的另一种客户端资源更新装置的结构框图,如图8所示,该装置除包括图7所示的所有模块外,还包括:更新模块23,用于将从服务器下载得到的待下载的全部资源文件拆分成单个资源文件后进行分别存储,对终端本地当前存在的资源文件进行更新。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定差异资源文件集合;
S2,通过差异资源文件集合生成资源数据文件和指纹信息文件,其中,资源数据文件包括差异资源文件集合中每个资源文件的数据信息,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;
S3,发布资源数据文件和指纹信息文件,以使终端对本地客户端资源文件进行更新。
可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,从服务器下载指纹信息文件,其中,指纹信息文件通过差异资源文件集合生成,差异资源文件集合根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;
S2,通过将指纹信息文件与终端本地当前存在的资源文件的指纹信息进行比对,确定待下载的全部资源文件;
S3,从服务器的资源数据文件中获取待下载的全部资源文件,其中,资源数据文件通过差异资源文件集合生成,资源数据文件包括差异资源文件集合中每个资源文件的数据信息。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种处理器,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定差异资源文件集合;
S2,通过差异资源文件集合生成资源数据文件和指纹信息文件,其中,资源数据文件包括差异资源文件集合中每个资源文件的数据信息,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;
S3,发布资源数据文件和指纹信息文件,以使终端对本地客户端资源文件进行更新。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
S1,从服务器下载指纹信息文件,其中,指纹信息文件通过差异资源文件集合生成,差异资源文件集合根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定,指纹信息文件包括差异资源文件集合中每个资源文件的指纹信息;
S2,通过将指纹信息文件与终端本地当前存在的资源文件的指纹信息进行比对,确定待下载的全部资源文件;
S3,从服务器的资源数据文件中获取待下载的全部资源文件,其中,资源数据文件通过差异资源文件集合生成,资源数据文件包括差异资源文件集合中每个资源文件的数据信息。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (20)

1.一种客户端资源更新方法,其特征在于,包括:
根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定差异资源文件集合;
通过所述差异资源文件集合生成资源数据文件和指纹信息文件,其中,所述资源数据文件包括所述差异资源文件集合中每个资源文件的数据信息,所述指纹信息文件包括所述差异资源文件集合中每个资源文件的指纹信息;
发布所述资源数据文件和所述指纹信息文件,以使终端对本地客户端资源文件进行更新。
2.根据权利要求1所述的方法,其特征在于,通过所述差异资源文件集合生成所述资源数据文件包括:
获取所述差异资源文件集合中每个资源文件的最近一次修改时刻;
按照每个资源文件的最近一次修改时刻的先后顺序对所述差异资源文件集合中每个资源文件进行排序,得到排序结果,其中,对于最近一次修改时刻相同的多个资源文件的排列顺序将任意设定;
根据所述排序结果生成所述资源数据文件,并记录所述差异资源文件集合中每个资源文件在所述资源数据文件中的存储偏移地址。
3.根据权利要求2所述的方法,其特征在于,通过所述差异资源文件集合生成所述指纹信息文件包括:
根据所述排序结果分别确定所述差异资源文件集合中每个资源文件对应的指纹信息,其中,所述指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;
将每个资源文件对应的指纹信息进行组合,生成所述指纹信息文件。
4.根据权利要求3所述的方法,其特征在于,在发布所述资源数据文件和所述指纹信息文件之后,还包括:
接收来自于所述终端的下载请求,其中,所述下载请求中待下载的多个资源文件由所述终端根据所述文件大小和所述存储偏移地址确定;
响应于所述下载请求,向所述终端发送所述待下载的多个资源文件。
5.一种客户端资源更新方法,其特征在于,包括:
从服务器下载指纹信息文件,其中,所述指纹信息文件通过差异资源文件集合生成,所述差异资源文件集合根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定,所述指纹信息文件包括所述差异资源文件集合中每个资源文件的指纹信息;
通过将所述指纹信息文件与终端本地当前存在的资源文件的指纹信息进行比对,确定待下载的全部资源文件;
从所述服务器的资源数据文件中获取所述待下载的全部资源文件,其中,所述资源数据文件通过所述差异资源文件集合生成,所述资源数据文件包括所述差异资源文件集合中每个资源文件的数据信息。
6.根据权利要求5所述的方法,其特征在于,通过将所述指纹信息文件与所述当前存在的资源文件的指纹信息进行比对,确定所述待下载的全部资源文件包括:
通过所述指纹信息文件确定所述差异资源文件集合中每个资源文件对应的指纹信息,其中,所述指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;
依次将每个资源文件对应的指纹信息与所述当前存在的资源文件的指纹信息进行比对,确定所述终端本地不存在的资源文件和/或数据不一致的资源文件,得到所述待下载的全部资源文件。
7.根据权利要求6所述的方法,其特征在于,从所述服务器的资源数据文件中获取所述待下载的全部资源文件包括:
根据所述文件大小和所述存储偏移地址在单次下载请求的最大数据量范围内将所述待下载的全部资源文件划分为多组待下载的资源文件,其中,每组待下载的资源文件所包含的各个资源文件的存储偏移地址依次相邻;
针对每组待下载的资源文件分别向所述服务器发送下载请求,获取对应的多个资源文件。
8.根据权利要求7所述的方法,其特征在于,在从所述服务器的资源数据文件中获取所述待下载的全部资源文件之后,还包括:
将从所述服务器下载得到的所述待下载的全部资源文件拆分成单个资源文件后进行分别存储,对所述终端本地当前存在的资源文件进行更新。
9.一种客户端资源更新装置,其特征在于,包括:
确定模块,用于根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定差异资源文件集合;
生成模块,用于通过所述差异资源文件集合生成资源数据文件和指纹信息文件,其中,所述资源数据文件包括所述差异资源文件集合中每个资源文件的数据信息,所述指纹信息文件包括所述差异资源文件集合中每个资源文件的指纹信息;
发布模块,用于发布所述资源数据文件和所述指纹信息文件,以使终端对本地客户端资源文件进行更新。
10.根据权利要求9所述的装置,其特征在于,所述生成模块包括:第一生成子模块;
所述第一生成子模块包括:
获取单元,用于获取所述差异资源文件集合中每个资源文件的最近一次修改时刻;
排序单元,用于按照每个资源文件的最近一次修改时刻的先后顺序对所述差异资源文件集合中每个资源文件进行排序,得到排序结果,其中,对于最近一次修改时刻相同的多个资源文件的排列顺序将任意设定;
第一生成单元,用于根据所述排序结果生成所述资源数据文件,并记录所述差异资源文件集合中每个资源文件在所述资源数据文件中的存储偏移地址。
11.根据权利要求10所述的装置,其特征在于,所述生成模块包括:第二生成子模块;
所述第二生成子模块包括:
确定单元,用于根据所述排序结果分别确定所述差异资源文件集合中每个资源文件对应的指纹信息,其中,所述指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;
第二生成单元,用于将每个资源文件对应的指纹信息进行组合,生成所述指纹信息文件。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收来自于所述终端的下载请求,其中,所述下载请求中待下载的多个资源文件由所述终端根据所述文件大小和所述存储偏移地址确定;
发送模块,用于响应于所述下载请求,向所述终端发送所述待下载的多个资源文件。
13.一种客户端资源更新装置,其特征在于,包括:
下载模块,用于从服务器下载指纹信息文件,其中,所述指纹信息文件通过差异资源文件集合生成,所述差异资源文件集合根据最新客户端版本对应的第一资源文件集合与初始客户端版本对应的第二资源文件集合确定,所述指纹信息文件包括所述差异资源文件集合中每个资源文件的指纹信息;
比较模块,用于通过将所述指纹信息文件与终端本地当前存在的资源文件的指纹信息进行比对,确定待下载的全部资源文件;
获取模块,用于从所述服务器的资源数据文件中获取所述待下载的全部资源文件,其中,所述资源数据文件通过所述差异资源文件集合生成,所述资源数据文件包括所述差异资源文件集合中每个资源文件的数据信息。
14.根据权利要求13所述的装置,其特征在于,所述比较模块包括:
确定单元,用于通过所述指纹信息文件确定所述差异资源文件集合中每个资源文件对应的指纹信息,其中,所述指纹信息包括:文件名称指纹、文件大小指纹、文件内容指纹和存储偏移地址指纹;
比较单元,用于依次将每个资源文件对应的指纹信息与所述当前存在的资源文件的指纹信息进行比对,确定所述终端本地不存在的资源文件和/或数据不一致的资源文件,得到所述待下载的全部资源文件。
15.根据权利要求14所述的装置,其特征在于,所述获取模块包括:
处理单元,用于根据所述文件大小和所述存储偏移地址在单次下载请求的最大数据量范围内将所述待下载的全部资源文件划分为多组待下载的资源文件,其中,每组待下载的资源文件所包含的各个资源文件的存储偏移地址依次相邻;
获取单元,用于针对每组待下载的资源文件分别向所述服务器发送下载请求,获取对应的多个资源文件。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
更新模块,用于将从所述服务器下载得到的所述待下载的全部资源文件拆分成单个资源文件后进行分别存储,对所述终端本地当前存在的资源文件进行更新。
17.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任意一项所述的客户端资源更新方法或权利要求5至8中任意一项所述的客户端资源更新方法。
18.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的客户端资源更新方法或权利要求5至8中任意一项所述的客户端资源更新方法。
19.一种服务器,其特征在于,包括:一个或多个处理器,存储器以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序用于执行权利要求1至4中任意一项所述的客户端资源更新方法。
20.一种终端,其特征在于,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序用于执行权利要求5至8中任意一项所述的客户端资源更新方法。
CN201811197856.7A 2018-10-15 2018-10-15 客户端资源更新方法、装置、处理器、服务器及终端 Active CN109522041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811197856.7A CN109522041B (zh) 2018-10-15 2018-10-15 客户端资源更新方法、装置、处理器、服务器及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811197856.7A CN109522041B (zh) 2018-10-15 2018-10-15 客户端资源更新方法、装置、处理器、服务器及终端

Publications (2)

Publication Number Publication Date
CN109522041A true CN109522041A (zh) 2019-03-26
CN109522041B CN109522041B (zh) 2021-11-23

Family

ID=65772086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811197856.7A Active CN109522041B (zh) 2018-10-15 2018-10-15 客户端资源更新方法、装置、处理器、服务器及终端

Country Status (1)

Country Link
CN (1) CN109522041B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995863A (zh) * 2019-03-29 2019-07-09 北京金山安全软件有限公司 一种动态资源下载方法、装置、电子设备及存储介质
CN110247985A (zh) * 2019-06-28 2019-09-17 北京奇艺世纪科技有限公司 一种资源下载方法、装置、电子设备及介质
CN111556127A (zh) * 2020-04-24 2020-08-18 广东乐心医疗电子股份有限公司 一种可穿戴设备升级方法及相关设备
CN111782607A (zh) * 2020-07-13 2020-10-16 网易(杭州)网络有限公司 合图的处理方法、装置、存储介质和电子装置
CN112114849A (zh) * 2020-09-23 2020-12-22 腾讯科技(深圳)有限公司 一种资源更新方法和装置
CN112657196A (zh) * 2020-12-21 2021-04-16 北京像素软件科技股份有限公司 资源更新方法、装置、计算机设备和可读存储介质
CN112764772A (zh) * 2019-11-06 2021-05-07 腾讯科技(深圳)有限公司 更新文件的预下载方法、加载方法、装置、设备及介质
CN112783828A (zh) * 2019-11-11 2021-05-11 千寻位置网络有限公司 Igs文件处理方法及装置
CN113018870A (zh) * 2021-04-17 2021-06-25 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN113568645A (zh) * 2021-08-11 2021-10-29 网易(杭州)网络有限公司 软件更新方法、装置、电子设备和存储介质
CN115314490A (zh) * 2022-08-15 2022-11-08 成都止观互娱科技有限公司 一种资源更新方法、装置、设备及存储介质
CN117573172A (zh) * 2024-01-15 2024-02-20 天津异乡好居网络科技股份有限公司 客户端更新方法、装置、设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277281A1 (en) * 2000-12-14 2006-12-07 Compas Jeffrey C Updating information in network devices
US20090083728A1 (en) * 2007-09-25 2009-03-26 Lehman Brothers Inc. System and method for application management
CN104991791A (zh) * 2015-06-09 2015-10-21 北京奇虎科技有限公司 一种文件的增量升级发布方法和装置
CN106528125A (zh) * 2016-10-26 2017-03-22 腾讯科技(深圳)有限公司 一种数据文件的增量更新方法和服务器、客户端以及系统
CN106648712A (zh) * 2017-02-27 2017-05-10 百度在线网络技术(北京)有限公司 增量更新包的生成方法、装置和服务器
CN107239309A (zh) * 2017-06-06 2017-10-10 网易(杭州)网络有限公司 补丁生成方法及装置、更新方法、电子设备、存储介质
CN107861736A (zh) * 2017-11-01 2018-03-30 网易(杭州)网络有限公司 补丁生成和更新方法及装置、电子设备、存储介质
CN108111555A (zh) * 2016-11-25 2018-06-01 阿里巴巴集团控股有限公司 用于控制安装包下载过程的方法及系统
CN108449377A (zh) * 2018-02-02 2018-08-24 珠海金山网络游戏科技有限公司 一种游戏版本的更新方法和资源打包发布系统及其方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277281A1 (en) * 2000-12-14 2006-12-07 Compas Jeffrey C Updating information in network devices
US20090083728A1 (en) * 2007-09-25 2009-03-26 Lehman Brothers Inc. System and method for application management
CN104991791A (zh) * 2015-06-09 2015-10-21 北京奇虎科技有限公司 一种文件的增量升级发布方法和装置
CN106528125A (zh) * 2016-10-26 2017-03-22 腾讯科技(深圳)有限公司 一种数据文件的增量更新方法和服务器、客户端以及系统
CN108111555A (zh) * 2016-11-25 2018-06-01 阿里巴巴集团控股有限公司 用于控制安装包下载过程的方法及系统
CN106648712A (zh) * 2017-02-27 2017-05-10 百度在线网络技术(北京)有限公司 增量更新包的生成方法、装置和服务器
CN107239309A (zh) * 2017-06-06 2017-10-10 网易(杭州)网络有限公司 补丁生成方法及装置、更新方法、电子设备、存储介质
CN107861736A (zh) * 2017-11-01 2018-03-30 网易(杭州)网络有限公司 补丁生成和更新方法及装置、电子设备、存储介质
CN108449377A (zh) * 2018-02-02 2018-08-24 珠海金山网络游戏科技有限公司 一种游戏版本的更新方法和资源打包发布系统及其方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FUNNY DAVID: "Unity手游开发札记——基于累积差异的Patch系统实现", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/38863442》 *
RUI GENG: "How to use AndFix to hot-patch your Android app?", 《HTTPS://MEDIUM.COM/ANDROID-NEWS/HOW-TO-USE-ANDFIX-TO-HOT-PATCH-YOUR-ANDROID-APP-C201234D3934》 *
张敏等: "基于Android平台差异化增量更新的实现", 《西安邮电大学学报》 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995863A (zh) * 2019-03-29 2019-07-09 北京金山安全软件有限公司 一种动态资源下载方法、装置、电子设备及存储介质
CN109995863B (zh) * 2019-03-29 2022-04-22 北京金山安全软件有限公司 一种动态资源下载方法、装置、电子设备及存储介质
CN110247985A (zh) * 2019-06-28 2019-09-17 北京奇艺世纪科技有限公司 一种资源下载方法、装置、电子设备及介质
CN112764772A (zh) * 2019-11-06 2021-05-07 腾讯科技(深圳)有限公司 更新文件的预下载方法、加载方法、装置、设备及介质
CN112764772B (zh) * 2019-11-06 2024-05-24 腾讯科技(深圳)有限公司 更新文件的预下载方法、加载方法、装置、设备及介质
CN112783828A (zh) * 2019-11-11 2021-05-11 千寻位置网络有限公司 Igs文件处理方法及装置
CN112783828B (zh) * 2019-11-11 2022-08-19 千寻位置网络有限公司 Igs文件处理方法及装置
CN111556127A (zh) * 2020-04-24 2020-08-18 广东乐心医疗电子股份有限公司 一种可穿戴设备升级方法及相关设备
CN111782607B (zh) * 2020-07-13 2024-03-22 网易(杭州)网络有限公司 合图的处理方法、装置、存储介质和电子装置
CN111782607A (zh) * 2020-07-13 2020-10-16 网易(杭州)网络有限公司 合图的处理方法、装置、存储介质和电子装置
CN112114849A (zh) * 2020-09-23 2020-12-22 腾讯科技(深圳)有限公司 一种资源更新方法和装置
CN112657196A (zh) * 2020-12-21 2021-04-16 北京像素软件科技股份有限公司 资源更新方法、装置、计算机设备和可读存储介质
CN113018870A (zh) * 2021-04-17 2021-06-25 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机可读存储介质
CN113568645B (zh) * 2021-08-11 2023-09-12 网易(杭州)网络有限公司 软件更新方法、装置、电子设备和存储介质
CN113568645A (zh) * 2021-08-11 2021-10-29 网易(杭州)网络有限公司 软件更新方法、装置、电子设备和存储介质
CN115314490A (zh) * 2022-08-15 2022-11-08 成都止观互娱科技有限公司 一种资源更新方法、装置、设备及存储介质
CN117573172A (zh) * 2024-01-15 2024-02-20 天津异乡好居网络科技股份有限公司 客户端更新方法、装置、设备及介质
CN117573172B (zh) * 2024-01-15 2024-04-12 天津异乡好居网络科技股份有限公司 客户端更新方法、装置、设备及介质

Also Published As

Publication number Publication date
CN109522041B (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
CN109522041A (zh) 客户端资源更新方法、装置、处理器、服务器及终端
US10694353B2 (en) Updating web resources
CN107367949B (zh) 获取产品标识的方法、装置和系统
CN108510389A (zh) 基于区块链的智能合约调用方法、设备及可读存储介质
CN108111331A (zh) 更新数据包的获取方法、装置、存储介质、处理器及系统
CN107193607B (zh) 用于更新代码文件的方法和装置、存储介质、处理器以及终端
CN106528224A (zh) 一种Docker容器的内容更新方法、服务器及系统
CN106155742B (zh) 组件更新处理方法及装置
CN112000355A (zh) 用于固件升级的方法及装置、家电设备
CN104270424B (zh) 一种数据库同步方法、服务器及系统
CN103997544A (zh) 一种资源下载的方法和设备
CN104753909B (zh) 信息更新后的鉴权方法、装置及系统
CN111314437B (zh) 资源包的下载方法和装置、存储介质及电子装置
CN108089874A (zh) 软件的升级方法、装置和系统
CN110659261A (zh) 一种数据挖掘模型发布方法及模型和模型服务管理方法
CN109656595A (zh) 客户端程序更新的方法、装置及系统
CN109947985A (zh) 应用于在线系统中的神经网络处理方法及装置
CN110532077A (zh) 任务处理方法、装置及存储介质
CN113127023B (zh) 业务升级的方法、装置和系统
CN115687119A (zh) 一种基于生成和变异方式的接口模糊测试系统
CN114546588A (zh) 任务的部署方法、装置、存储介质及电子装置
CN107977221A (zh) 一种移动终端软件更新方法及系统
CN104123160A (zh) 一种导航设备的要素级更新方法
CN111651187A (zh) 一种基于h5微端进行版本增量更新的方法及其系统
CN111884823A (zh) 任务提示方法和装置、存储介质及电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant