CN105302587A - 数据更新方法及装置 - Google Patents
数据更新方法及装置 Download PDFInfo
- Publication number
- CN105302587A CN105302587A CN201410305252.5A CN201410305252A CN105302587A CN 105302587 A CN105302587 A CN 105302587A CN 201410305252 A CN201410305252 A CN 201410305252A CN 105302587 A CN105302587 A CN 105302587A
- Authority
- CN
- China
- Prior art keywords
- data bag
- version number
- differential data
- differential
- server
- 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
Links
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种数据更新方法,包括:用户终端获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号;判断该第一差分数据包的版本号与该第二差分数据包的版本号是否相同;若不相同,则计算该第一差分数据包的版本号与该第二差分数据包的版本号的差值;当该差值小于预置的数值时,将该第一差分数据包的版本号发送给该服务器,使得该服务器根据该差值,确定第一目标差分数据包;接收该服务器返回的该第一目标差分数据包,根据该第一目标差分数据包更新目标程序中的资源数据。本发明还提供一种数据更新装置,上述数据更新方法及装置可减少数据更新时的资源耗费,缩短更新时间,提高更新数据的效率。
Description
技术领域
本发明涉及计算机技术,尤其涉及一种数据更新方法及装置。
背景技术
随着计算机以及互联网技术的发展,应用程序中所携带的资源数据越来越多,特别是游戏程序,其通常会携带大量的图片、音频等资源数据。在现有的数据更新技术中,通常是通过整体更新的方式对应用程序进行数据更新,也就是首先获取新版本的包含完整安装该应用程序所需的所有数据文件的安装包,然后通过遍历旧版本的应用程序的每个文件的每个内容字符串,将新版本的应用程序的数据文件覆盖安装到旧版本的应用程序中。然而,当应用程序所携带的资源数据较大时,如果继续使用上述更新方法,数据更新所占用的资源耗费就会比较大,所耗费的时间也比较长。
发明内容
有鉴于此,本发明提供一种数据更新方法及装置,上述数据更新方法及装置实现了基于差分数据包的单独针对资源数据进行的数据更新,可减少数据更新时的资源耗费,缩短更新时间,提高更新数据的效率。
本发明实施例提供的一种数据更新方法,包括:用户终端获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号,所述第一差分数据包以及所述第二差分数据包用于更新目标程序中的资源数据;判断所述第一差分数据包的版本号与所述第二差分数据包的版本号是否相同;若不相同,则计算所述第一差分数据包的版本号与所述第二差分数据包的版本号的差值;当所述差值小于预置的数值时,将所述第一差分数据包的版本号发送给所述服务器,使得所述服务器根据所述差值,确定第一目标差分数据包;接收所述服务器返回的所述第一目标差分数据包,根据所述第一目标差分数据包更新所述资源数据。
本发明实施例提供的一种数据更新装置,运行于用户终端,包括:获取模块,用于获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号,所述第一差分数据包以及所述第二差分数据包用于更新目标程序中的资源数据;判断模块,用于判断所述获取模块获取的所述第一差分数据包的版本号与所述第二差分数据包的版本号是否相同;计算模块,用于若所述判断模块判断结果为不相同,则计算所述第一差分数据包的版本号与所述第二差分数据包的版本号的差值;发送模块,用于当所述计算模块计算的所述差值小于预置的数值时,将所述第一差分数据包的版本号发送给所述服务器,使得所述服务器根据所述差值,确定第一目标差分数据包;数据更新模块,用于接收所述服务器返回的所述第一目标差分数据包,根据所述第一目标差分数据包更新所述资源数据。
本发明实施例提供的上述数据更新方法及装置,通过使用差分数据包对目标程序中的资源数据进行更新,当用户终端最近一次更新的差分数据包的第一版本号与从服务器获取的最高版本的差分数据包的第二版本号的差值小于预置的数值时,从该服务器下载具有与该差值对应的版本号的第一目标差分数据包,并根据该第一目标差分数据包对目标程序中的资源数据进行数据更新,由于只需要将差分数据包中的差异数据覆盖在该目标程序的安装目录中,即可完成资源数据的数据更新,从而实现了基于差分数据包的单独针对资源数据进行的数据更新,而不是如现有技术一样通过利用安装包对目标程序的所有数据进行整体更新来实现资源数据的更新,因此可减少数据更新时的资源耗费,缩短更新时间,提高更新数据的效率。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为本发明实施例提供的数据更新方法及装置的应用环境图;
图2示出了一种用户终端的结构框图;
图3为本发明第一实施例提供的数据更新方法的流程图;
图4为本发明第二实施例提供的数据更新方法的流程图;
图5为本发明第三实施例提供的数据更新装置的结构示意图;
图6为图5的装置的存储环境示意图;
图7为本发明第四实施例提供的数据更新装置的结构示意图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
图1为本发明实施例提供的数据更新方法及装置的应用环境图。本发明实施例提供的数据更新方法及装置可应用于图1所示的环境中,实现基于差分数据包的数据更新。如图1所示,用户终端100与服务器200位于有线或无线网络中,通过该有线或无线网络,用户终端100与服务器200进行数据交互。
用户终端100定期或在目标程序启动时,获取最近一次执行更新该目标程序中的资源数据操作时更新的第一差分数据包的版本号,并从服务器200获取最高版本的第二差分数据包的版本号,判断该第一差分数据包的版本号与该第二差分数据包的版本号是否相同,若不相同,则计算该第一差分数据包的版本号与该第二差分数据包的版本号的差值,并当该差值小于预置的数值时,将该第一差分数据包的版本号发送给服务器200。
服务器200接收用户终端100发送的该第一差分数据的版本号,根据该第一差分数据的版本号与该第二差分数据包的版本号的差值,确定第一目标差分数据包,并将该第一目标差分数据包返回给用户终端100。
用户终端100接收服务器200返回的该第一目标差分数据包,根据该第一目标差分数据包更新目标程序中的资源数据。
可以理解地,服务器200定期检测该目标程序的资源数据的更新情况,每当检测到该资源数据更新时,获取更新后的该资源数据与历次更新的资源数据的差异数据,并根据该差异数据生成差分数据包。当接收到用户终端100发送的该第一差分数据包的版本号时,服务器200根据该第一差分数据包的版本号与该第二差分数据包的版本号的差值,从该差分数据包中确定出具有该差值对应的版本号的该第一目标差分数据包。
用户终端100可以包括:具有网络下载功能的智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机、车载电脑、可穿戴设备、台式计算机、机顶盒、智能电视、一体机等等。
图2示出了一种用户终端的结构框图。如图2所示,用户终端100包括存储器102、存储控制器104,一个或多个(图中仅示出一个)处理器106、外设接口108、射频模块110、定位模块112、摄像模块114、音频模块116、屏幕118以及按键模块120。这些组件通过一条或多条通讯总线/信号线122相互通讯。
可以理解,图2所示的结构仅为示意,用户终端100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
存储器102可用于存储软件程序以及模块,如本发明实施例中的数据更新方法及装置对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据更新方法。
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至用户终端100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
处理器106运行存储器102内的各种软件、指令以执行用户终端100的各种功能以及进行数据处理。
外设接口108用于将各种外部设备耦合至CPU以及存储器102。
在一些实施例中,存储控制器104、处理器106以及外设接口108可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通信网络或者其他设备进行通讯。射频模块110可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。射频模块110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信***(GlobalSystemforMobileCommunication,GSM)、增强型移动通信技术(EnhancedDataGSMEnvironment,EDGE),宽带码分多址技术(widebandcodedivisionmultipleaccess,W-CDMA),码分多址技术(Codedivisionaccess,CDMA)、时分多址技术(timedivisionmultipleaccess,TDMA),蓝牙,无线保真技术(Wireless,Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE802.11b,IEEE802.11g和/或IEEE802.11n)、网络电话(Voiceoverinternetprotocol,VoIP)、全球微波互联接入(WorldwideInteroperabilityforMicrowaveAccess,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
定位模块112用于获取用户终端100的当前位置信息。定位模块112的实例包括但不限于全球卫星定位***(GPS)、基于无线局域网或者移动通信网的定位技术。
摄像模块114用于拍摄照片或者视频。拍摄的照片或者视频可以存储至存储器102内,并可通过射频模块110发送。
音频模块116向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口108处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能听到的声波。音频电路还从麦克风处接收电信息,将电信号转换为声音数据,并将声音数据传输至外设接口108中以进行进一步的处理。音频数据可以从存储器102处或者通过射频模块110获取。此外,音频数据也可以存储至存储器102中或者通过射频模块110进行发送。在一些实例中,音频模块116还可包括一个耳机播孔,用于向耳机或者其他设备提供音频接口。
屏幕118在用户终端100与用户之间提供一个输出界面,向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。可以理解的,屏幕118还可以在用户终端100与用户之间同时提供一个输出及输入界面。具体地,除了向用户显示视频输出之外,屏幕118还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。屏幕118显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。
按键模块120同样提供用户向用户终端100进行输入的接口,用户可以通过按下不同的按键以使用户终端100执行不同的功能。
第一实施例
请参阅图3,图3为本发明第一实施例提供的数据更新方法的流程图。本实施例可应用于图1所示的应用环境中,通过图1所示的用户终端100实现基于差分数据包的数据更新。如图3所示,本实施例提供的数据更新方法包括以下步骤:
步骤S11,用户终端获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号;
于本实施例中,第一差分数据包与第二差分数据包可用于更新用户终端100中的目标程序中的资源数据。
具体地,目标程序可以为用户终端100根据用户触发的安装指令的指示,预先安装于用户终端100中的各种类型的应用程序,例如:游戏客户端程序、即时通讯客户端程序(例如:飞信、腾讯QQ等等)、以及各类***管家程序(例如:350软件管家、腾讯电脑管家)等等。目标程序优选地可为游戏客户端程序,其中可包含大量的资源数据。资源数据是在逻辑上由目标程序部署的任何非可执行的数据。资源数据可以为多种形式,例如:字符串、图片、音频、视频、以及持久的对象等等。于本实施例中,资源数据可以指目标程序中所携带的图片、音频或视频资源数据。
差分数据包的版本号是指可用于识别该差分数据包版本的编号,可由字母、符号、数字等字符组成。优选地,本实施例中的差分数据包可为整数。
该第一差分数据包的版本号可以指用户终端100最近一次执行资源数据更新操作时,服务器200所能提供的最高版本的差分数据包的版本号。该第二差分数据包的版本号可以指本次用户终端100执行资源数据更新操作时,服务器200所能提供的最高版本的差分数据包的版本号。用户终端100在每次完成更新资源数据的操作时,都会根据当时从服务器200获取的最高版本的第二差分数据包的版本号,更新第一差分数据包的版本号。
于本实施例中,差分数据包可由服务器200生成,服务器200可在每次检测到目标程序的资源数据发生数据更新时(例如:目标程序的提供者发布了新版本的资源数据时),获取本次数据更新后的资源数据分别与历次数据更新后的资源数据的差异数据,并据此生成差分数据包及对应的版本号。例如,假设目标程序的提供者当前发布了第10次更新的资源数据的更新数据包,则服务器200将该第10次更新的资源数据的更新数据包中的内容数据(N10)分别与前9次更新的资源数据的更新数据包中的内容数据(N1-N9)进行比较,获取N10分别与N1,N2,N3……N9的差异数据,并根据获取的差异数据生成9个差分数据包及其对应的版本号,例如:生成包含N10与N9的差异数据的差分数据包,并定义其版本号为1009;生成包含N10与N8的差异数据的差分数据包,并定义其版本号为1008;生成包含N10与N7的差异数据的差分数据包,并定义其版本号为1007;……生成包含N10与N1的差异数据的差分数据包,并定义其版本号为1001。其中,包含N10与N9的差异数据的差分数据包,也就是上述最高版本的第二差分数据包,其版本号1009也就是该最高版本的第二差分数据包的版本号。
进一步地,差分数据包可以是ZIP(一种计算机文件的压缩算法,原名真空Deflate)格式的压缩包。
步骤S12,判断该第一差分数据包的版本号与该第二差分数据包的版本号是否相同;
步骤S13,若不相同,则计算该第一差分数据包的版本号与该第二差分数据包的版本号的差值;
于本实施例中,由于优选地将差分数据包的版本号设置为整数,因此可直接计算用户终端100最近一次更新的第一差分数据包的版本号与从服务器200和获取的最高版本的第二差分数据包的版本号的差值。
于其他实施例中,若差分数据包的版本号为多种类型的字符构成的字符串,用户终端100也可先根据预置的转换算法(如:哈希算法),分别将该第一差分数据包的版本号与该第二差分数据包的版本号转换为整数,然后再获取二者的差值。
步骤S14,当该差值小于预置的数值时,将该第一差分数据包的版本号发送给该服务器,使得该服务器根据该差值,确定第一目标差分数据包;
具体地,当用户终端100最近一次完成更新本地安装的目标程序中的资源数据的操作时更新的第一差分数据包的版本号,与从服务器200获取的最高版本的第二差分数据包的版本号的差值小于预置的数值时,用户终端100将该第一差分数据包的版本号发送给服务器200,使得服务器200根据该第一差分数据包的版本号与该第二差分数据包的版本号的差值,确定具有与该差值对应的版本号的第一目标差分数据包。该第一目标差分数据包中可以包含:用于更新该资源数据的差异数据以及用于引导该资源数据更新的脚本文件。该差异数据也就是目标程序的提供者最近一次发布的该目标程序中的资源数据与用户终端100中当前安装的该目标程序中的资源数据的。优选地,该脚本文件的编译语言可以为LUA语言。
举例来说,假设用户终端100最近一次更新的第一差分数据包的版本号为302,从服务器200获取的最高版本的第二差分数据包的版本号为1009,根据302可确定用户终端100最近一次对该目标程序中的资源数据进行的更新是第三次对该资源数据进行的更新,根据1009可确定该目标程序的提供者目前已经发布了十次针对该目标程序中的资源数据的更新数据,此外,由于服务器200已预先根据提供者发布的第十次更新的资源数据的更新数据包中的内容数据N10与前9次发布的资源数据的更新数据包中的内容数据N1-N9的差异数据,生成了9个差分数据包,例如:包含N10与N9的差异数据的差分数据包1009;包含N10与N8的差异数据的差分数据包1008;包含N10与N7的差异数据的差分数据包1007;……包含N10与N1的差异数据的差分数据包1001,则服务器200可根据该第一差分数据包的版本号302与该第二差分数据包的版本号1009的差值,确定此时用户终端100需要更新的是N10至N3的差异数据,因此版本号为1003的差分数据包即为第一目标差分数据包,该第一目标差分数据包中包含:目标程序的提供者第十次更新的该目标程序中的资源数据与该提供者历史上第三次更新的资源数据之间的差异数据。
步骤S15,接收该服务器返回的第一目标差分数据包,根据该第一目标差分数据包更新目标程序中的资源数据。
于本实施例中,用户终端100可通过覆盖的方式,将该第一目标差分数据包中包含的差异数据更新到目标程序在用户终端100的安装目录中,以完成对该目标程序中的资源数据的更新。
进一步地,用户终端100可以首先判断服务器200返回的第一目标差分数据包的类型,当该第一目标差分数据包为压缩数据包时,解压该第一目标差分数据包,执行该第一目标差分数据包中的脚本文件,根据该脚本文件的指引,将该第一目标差分数据包中的差异数据覆盖在目标程序的安装目录中的对应位置,以完成该资源数据的更新,并在更新完成后将第一差分数据包的版本号变更为从服务器200获取的最高版本的第二差分数据包的版本号,例如:将上述举例中所提及的第一差分数据包的版本号302变更为第二差分数据包的版本号1009。
本发明实施例提供的数据更新方法,通过使用差分数据包对目标程序中的资源数据进行更新,当用户终端最近一次更新的差分数据包的第一版本号与从服务器获取的最高版本的差分数据包的第二版本号的差值小于预置的数值时,从该服务器下载具有与该差值对应的版本号的第一目标差分数据包,并根据该第一目标差分数据包对目标程序中的资源数据进行数据更新,由于只需要将差分数据包中的差异数据覆盖在该目标程序的安装目录中,即可完成资源数据的数据更新,从而实现了基于差分数据包的单独针对资源数据进行的数据更新,而不是如现有技术一样通过利用安装包对目标程序的所有数据进行整体更新来实现资源数据的更新,因此可减少数据更新时的资源耗费,缩短更新时间,提高更新数据的效率。
第二实施例
请参阅图5,图5为本发明第二实施例提供的数据更新方法的流程图。本实施例可应用于图1所示的应用环境中,通过图1所示的用户终端100实现基于差分数据包的数据更新。如图5所示,本实施例提供的数据更新方法包括以下步骤:
步骤S201,当检测到目标程序启动时,用户终端从服务器获取该目标程序的最高版本的第一安装包的版本号;
目标程序优选地可为游戏客户端程序,其中可包含大量的资源数据。资源数据是在逻辑上由目标程序部署的任何非可执行的数据。资源数据可以为多种形式,例如:字符串、图片、音频、视频、以及持久的对象等等。于本实施例中,资源数据可以指目标程序中所携带的图片、音频或视频资源数据。
目标程序的安装包中可以包含安装该目标程序所需的所有数据文件。安装包的版本号是指可用于识别该安装包版本或安装的目标程序的版本的编号,可由字母、符号、数字等字符组成。
具体地,用户终端100可在检测到目标程序启动时,获取该目标程序的标识符,将该标识符以及用于获取该目标程序的最高版本的第一安装包的版本号的请求发送给服务器200,然后,接收服务器200根据该请求返回的该第一安装包的版本号。
可以理解地,服务器200可根据用户终端100发送的该目标程序的标识符,从本地存储设备或其他网络服务器查询与该标识符对应的目标程序的最高版本的第一安装包的版本号,也即该目标程序提供者最新发布的该目标程序的安装包的版本号,并将该第一安装包的版本号返回给用户终端100。
步骤S202,根据该第一安装包的版本号与该目标程序的当前版本的第二安装包的版本号,判断该目标程序是否需要整体更新;
具体地,用户终端100从该目标程序的安装记录中获取当前启动的该目标程序的当前版本的第二安装包的版本号,将该第二安装包的版本号与服务器200返回的该目标程序的最高版本的第一安装包的版本号进行比较,并判断是否需要对该目标程序进行整体更新。可以理解地,用户终端100在每次完成程序安装时,都会将安装该程序时所使用的安装包的版本号(也即前述当前版本的第二安装包的版本号)、安装位置等等安装信息记录下来。
若需要整体更新,则执行步骤S203:从该服务器下载该第一安装包,并安装;
具体地,当从服务器200获取的该目标程序的最高版本的第一安装包的版本号,高于用户终端100从安装记录中获取的该目标程序的当前版本的第二安装包的版本号时,确定该目标程序需要整体更新,用户终端100向服务器200发送用于获取该最高版本的第一安装包的请求,接收服务器200根据该请求返回的该第一安装包,并覆盖安装,同时更新安装记录中记录的该目标程序的当前版本的第二安装包的版本号信息,也即将前述安装记录中的该第二安装包的版本号更新为从服务器200获取的该第一安装包的版本号。
步骤S204:运行该目标程序;
若不需要整体更新,则执行步骤S205:获取最近一次更新该目标程序中的资源数据的更新记录,根据该更新记录中的更新进度,判断是否存在未完成覆盖的第二目标差分数据包;
具体地,当从服务器200获取的该目标程序的最高版本的第一安装包的版本号不高于(也即低于或等于)用户终端100从安装记录中获取的该目标程序的当前版本的第二安装包的版本号时,可确定该目标程序不需要整体更新,则用户终端100查询最近一次更新该目标程序中的资源数据的更新记录,获取用户终端100最近一次执行更新该目标程序中的资源数据的操作的执行情况,判断当前是否存在未完成覆盖的第二目标差分数据包,也即是否存在该第二目标差分数据包已经完成下载,但该第二目标差分数据包中的差异数据并未被完全覆盖到目标程序中的情况。
该更新记录中可以记录有:用户终端100最近一次对目标程序中的资源数据执行更新操作的更新进度、更新时使用的第二目标差分数据包的版本号、更新完成后更新的第一差分数据包的版本号。其中,该更新进度至少可包括以下信息:最近一次对目标程序中的资源数据执行更新操作的完成度,当该更新操作未完成时该第二目标差分数据包的覆盖更新进度,以及该第二目标差分数据包的下载进度。
该第二目标差分数据包可由用户终端100在最近一次执行更新资源数据的操作时从服务器200获取,该第二目标差分数据包可以用于更新该资源数据。进一步地,该第二目标差分数据包中可以包含用于更新该资源数据的差异数据以及用于引导该资源数据更新的脚本文件。进一步地,该脚本文件的编译语言为LUA语言。
可以理解地,服务器200可在每次检测到目标程序的资源数据发生数据更新时(例如:目标程序的提供者发布了新版本的资源数据时),获取本次数据更新后的资源数据分别与历次数据更新后的资源数据的差异数据,并据此生成差分数据包及对应的版本号。例如,假设目标程序的提供者当前发布了第10次更新的资源数据的更新数据包,则服务器200将该第10次更新的资源数据的更新数据包中的内容数据(N10)分别与前9次更新的资源数据的更新数据包中的内容数据(N1-N9)进行比较,获取N10分别与N1,N2,N3……N9的差异数据,并根据获取的差异数据生成9个差分数据包及其对应的版本号,例如:生成包含N10与N9的差异数据的差分数据包,并定义其版本号为9;生成包含N10与N8的差异数据的差分数据包,并定义其版本号为8;生成包含N10与N7的差异数据的差分数据包,并定义其版本号为7;……生成包含N10与N1的差异数据的差分数据包,并定义其版本号为1。其中,包含N10与N9的差异数据的差分数据包,也就是上述最高版本的第二差分数据包,其版本号9也就是该最高版本的第二差分数据包的版本号。
在用户终端100最近一次执行更新资源数据的操作的过程中,服务器200在接收到用户终端100发送的当时的最近一次更新的第一差分数据包的版本号时,服务器200根据该第一差分数据包的版本号,与当时生成的差分数据包中的最高版本的第二差分数据包的版本号的差值,从差分数据包中确定具有与该差值对应的版本号的第二目标差分数据包。其中,该第一差分数据包的版本号,也就是用户终端100在最近一次执行更新资源数据操作前所能从服务器200获取的最高版本的第一差分数据包的版本号
举例来说,假设当时该第一差分数据包的版本号为7,该第二差分数据包的版本号为9,则根据二者的差值9-7=2,按照服务器200生成的9个差分数据包的版本号的高低顺序,确定从高往低顺序第2个差分数据包,也就是版本号为8的差分数据包就是第二目标差分数据包。
优选地,上述各差分数据包可以为ZIP格式的压缩包。上述各差分数据包的版本号可以为整数。
若存在该未完成覆盖的该第二目标差分数据包,则执行步骤S206:执行覆盖操作;
具体地,用户终端100执行覆盖操作,将已完成下载的第二目标差分数据包中未完成覆盖的那部分差异数据,覆盖于该目标程序在用户终端100的安装目录的对应位置,以继续完成上一次未完成的资源数据覆盖更新操作。
步骤S207,判断该未完成覆盖的该第二目标差分数据包是否完成覆盖;
若完成覆盖,则执行步骤S208:更新该最近一次更新的第一差分数据包的版本号,删除完成覆盖的该第二目标差分数据包,然后执行步骤S204;
具体地,当检测到最近一次资源数据更新操作中未完成覆盖的第二目标差分数据包完成覆盖时,可确定最近一次未完成的针对该目标程序中的资源数据进行的数据更新操作已经被完成,用户终端100将最近一次更新的第一差分数据包的版本号更新为最近一次执行资源数据的更新操作时用户终端100从服务器200获取的最高版本的第二差分数据包的版本号。
若未完成覆盖,则执行步骤S206;
若不存在该未完成覆盖的该第二目标差分数据包,则执行步骤S209:根据该更新记录,判断是否存在未完成下载的该第二目标差分数据包;
具体地,若根据用户终端100最近一次更新目标程序中的资源数据的更新记录判定不存在未完成覆盖的目标差分数据包,则用户终端100根据该更新记录中的第二目标差分数据包的下载进度信息,判断是否存在未完成下载的该第二目标差分数据包。
若存在该未完成下载的该第二目标差分数据包,则执行步骤S210:获取该第一差分数据包的版本号,从该服务器获取该第二差分数据包的版本号,根据该第一差分数据包的版本号与该第二差分数据包的版本号,判断该未完成下载的该第二目标差分数据包是否需要更新;
若根据更新记录,判定存在未完成下载的第二目标差分数据包,则用户终端100获取最近一次更新的第一差分数据包的版本号,从服务器200获取最高版本的第二差分数据包的版本号,根据该第一差分数据包的版本号与该第二差分数据包的版本号,判断该未完成下载的该第二目标差分数据包是否需要更新。可以理解地,由于用户100最近一次执行更新目标程序中的资源数据的操作并未完成,因此该第一差分数据包的版本号是用户终端100最近一次执行更新该资源数据的操作前,也就是最近一次完成执行更新该资源数据的操作后,更新的第一差分数据包的版本号。
当该第一差分数据包的版本号与该第二差分数据包的版本号相同,或该第一差分数据包的版本号高于该第二差分数据包的版本号相同时,可确定该未完成下载的该第二目标差分数据包不需要更新;当该第一差分数据包的版本号低于该第二差分数据包的版本号相同时,可确定该未完成下载的该第二目标差分数据包需要更新。
若该未完成下载的该第二目标差分数据包不需要更新,则执行步骤S211:继续下载该第二目标差分数据包;
于本实施例中,用户终端100可以通过断点续传的方式,继续下载该目标差分数据包。像这样,通过断点续传的方式,从已经下载的部分继续下载该第二目标差分数据包,可以节省下载时间,提高下载速度,进而提高数据更新的效率。
步骤S212,判断继续下载该第二目标差分数据包是否完成;
若完成,则执行步骤S206;
具体地,若该第二目标差分数据包下载完成,则用户终端100根据该第二目标差分数据包更新目标程序中的资源数据,解压该第二目标差分数据包,执行该第二目标差分数据包中的脚本文件,根据该脚本文件的指引,将该第二目标差分数据包中的差异数据覆盖在目标程序的安装目录中的对应位置,以完成该资源数据的更新,并在更新完成后将该第一差分数据包的版本号变更为从服务器200获取的最高版本的第二差分数据包的版本号。
若未完成,则执行步骤S213:更新该更新记录;
若用户终端100在继续执行最近一次未完成的资源数据更新操作过程中,仍然未完成该第二目标差分数据包的下载,则将未完成该第二目标差分数据包的下载的相关信息(例如:下载时间、未完成下载的原因等等)更新在更新记录中。
若该未完成下载的该第二目标差分数据包需要更新,则执行步骤S214:删除该第二目标差分数据包,然后执行步骤S217;
若不存在未完成下载的该第二目标差分数据包,则执行步骤S215:获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号;
可以理解地,由于更新记录中既不存在未完成覆盖的第二目标差分数据包的记录,也不存在未完成下载的第二目标差分数据包的记录,因此可确定用户终端100最近一次执行的更新资源数据的操作状态是已完成状态。此时,用户终端100获取最近一次更新的第一差分数据包的版本号,也就是获取该更新资源数据的操作成功后更新的第一差分数据包的版本号。
步骤S216:判断该第一差分数据包的版本号与该第二差分数据包的版本号是否相同;
若相同,则执行步骤S204;
若该第一差分数据包的版本号与该第二差分数据包的版本号相同,则可确定用户终端100本地安装的目标程序中的资源数据不需要更新,于是用户终端100运行该目标程序。
若该第一差分数据包的版本号与该第二差分数据包的版本号不相同,则执行步骤S217:计算该第一差分数据包的版本号与该第二差分数据包的版本号的差值;
步骤S218:当该差值小于预置的数值时,将该第一差分数据包的版本号发送给该服务器,使得服务器根据该差值,确定具有该差值对应的版本号的第一目标差分数据包;
步骤S219:接收该服务器返回的该第一目标差分数据包,然后执行步骤S206;
步骤S215至步骤S219具体可参考第一实施例中的相关内容,此处不再赘述。
步骤S220:当该差值大于或等于预置的数值时,从该服务器获取该资源数据的完整资源数据包,然后执行步骤S206。
具体地,当用户终端100发送的最近一次更新的第一差分数据包的版本号与从服务器200获取的最高版本的第二差分数据包的版本号的差值大于或等于预置的数值时,可确定由于很久没有更新资源数据,导致版本差大于可承受的范围,用户终端100向服务器200发送获取该资源数据的提供者最近一次发布更新的资源数据的最新完整数据包的请求,接收服务器200根据该请求返回的该最新完整数据包,解压该最新完整数据包,将该最新完整数据包中所包含的数据文件覆盖在该目标程序在该用户终端100的安装目录的对应位置。当覆盖更新完成后,用户终端100将该最近一次更新的第一差分数据包的版本号变更为从服务器200获取的最高版本的第二差分数据包的版本号。
本发明实施例提供的数据更新方法,通过使用差分数据包对目标程序中的资源数据进行更新,当用户终端最近一次更新的差分数据包的第一版本号与从服务器获取的最高版本的差分数据包的第二版本号的差值小于预置的数值时,从该服务器下载具有与该差值对应的版本号的第一目标差分数据包,并根据该第一目标差分数据包对目标程序中的资源数据进行数据更新,由于只需要将差分数据包中的差异数据覆盖在该目标程序的安装目录中,即可完成资源数据的数据更新,从而实现了基于差分数据包的单独针对资源数据进行的数据更新,而不是如现有技术一样通过利用安装包对目标程序的所有数据进行整体更新来实现资源数据的更新,因此可减少数据更新时的资源耗费,缩短更新时间,提高更新数据的效率。
第三实施例
图5为本发明第三实施例提供的数据更新装置的结构示意图。本实施例提供的数据更新装置可运行于图1所示的用户终端100中,用于实现上述实施例中的数据更新方法。如图5所示,数据更新装置30包括:获取模块31、判断模块32、计算模块33、发送模块34以及数据更新模块35。
获取模块31,用于获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号,该第一差分数据包以及该第二差分数据包用于更新目标程序中的资源数据;
判断模块32,用于判断获取模块31获取的该第一差分数据包的版本号与该第二差分数据包的版本号是否相同;
计算模块33,用于若判断模块32判断结果为不相同,则计算该第一差分数据包的版本号与该第二差分数据包的版本号的差值;
发送模块34,用于当计算模块33计算的该差值小于预置的数值时,将该第一差分数据包的版本号发送给该服务器,使得该服务器根据该差值,确定第一目标差分数据包;
数据更新模块35,用于接收该服务器返回的该第一目标差分数据包,根据该第一目标差分数据包更新该资源数据。
以上各模块可以是由软件代码实现,此时,上述的各模块可存储于存储器102内,如图6所示。以上各模块同样可以由硬件例如集成电路芯片实现。
本实施例对数据更新装置30的各功能模块实现各自功能的具体过程,请参见上述图1至图4所示实施例中描述的具体内容,此处不再赘述。
本发明实施例提供的数据更新装置,通过使用差分数据包对目标程序中的资源数据进行更新,当用户终端最近一次更新的差分数据包的第一版本号与从服务器获取的最高版本的差分数据包的第二版本号的差值小于预置的数值时,从该服务器下载具有与该差值对应的版本号的第一目标差分数据包,并根据该第一目标差分数据包对目标程序中的资源数据进行数据更新,由于只需要将差分数据包中的差异数据覆盖在该目标程序的安装目录中,即可完成资源数据的数据更新,从而实现了基于差分数据包的单独针对资源数据进行的数据更新,而不是如现有技术一样通过利用安装包对目标程序的所有数据进行整体更新来实现资源数据的更新,因此可减少数据更新时的资源耗费,缩短更新时间,提高更新数据的效率。
第四实施例
图7为本发明第四实施例提供的数据更新装置的结构示意图。本实施例提供的数据更新装置可以运行于图1所示的用户终端100中,用于实现上述实施例中的数据更新方法。如图7所示,数据更新装置40包括:获取模块31、判断模块32、计算模块33、发送模块34、数据更新模块35、下载模块41、删除模块42以及调用模块43。
获取模块31,用于获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号,该第一差分数据包以及该第二差分数据包用于更新目标程序中的资源数据;
判断模块32,用于判断获取模块31获取的该第一差分数据包的版本号与该第二差分数据包的版本号是否相同;
计算模块33,用于若判断模块32判断结果为不相同,则计算该第一差分数据包的版本号与该第二差分数据包的版本号的差值;
发送模块34,用于当计算模块33计算的该差值小于预置的数值时,将该第一差分数据包的版本号发送给该服务器,使得该服务器根据该差值,确定第一目标差分数据包;
数据更新模块35,用于接收该服务器返回的该第一目标差分数据包,根据该第一目标差分数据包更新该资源数据。
优选地,该第一目标差分数据包中包含用于更新该资源数据的差异数据以及用于引导该资源数据更新的脚本文件,该脚本文件的编译语言为LUA语言,则数据更新模块35包括:
解压单元351,用于解压该第一目标差分数据包;
执行单元352,用于执行该脚本文件;
覆盖单元353,用于根据该脚本文件的指引,将该第一目标差分数据包中的差异数据覆盖在该目标程序的安装目录的对应位置。
优选地,获取模块31,还用于当计算模块33计算的该差值大于或等于该预置的数值时,从该服务器获取该资源数据的最新完整数据包;
数据更新模块35,还用于根据获取模块31获取的该最新完整数据包更新该资源数据。
优选地,获取模块31,还用于当检测到该目标程序启动时,从该服务器获取该目标程序的最高版本的第一安装包的版本号;
判断模块32,还用于根据获取模块31获取的该第一安装包的版本号与该目标程序的当前版本的第二安装包的版本号,判断该目标程序是否需要整体更新;
下载模块41,用于若判断模块32的判断结果为该目标程序需要整体更新,则从该服务器下载该第一安装包,并安装。
优选地,获取模块31,还用于若判断模块32的判断结果为该目标程序不需要整体更新,则获取最近一次更新该目标程序中的资源数据的更新记录;
判断模块32,还用于根据获取模块31获取的该更新记录中的更新进度,判断是否存在未完成覆盖的第二目标差分数据包;
数据更新模块35,还用于若判断模块32的判断结果为存在该未完成覆盖的该第二目标差分数据包,则执行覆盖操作。
优选地,判断模块32,还用于若不存在该未完成覆盖的该第二目标差分数据包,则根据该更新记录,判断是否存在未完成下载的该第二目标差分数据包;
获取模块31,还用于若判断模块32的判断结果为存在该未完成下载的该第二目标差分数据包,则获取该第一差分数据包的版本号,从该服务器获取该第二差分数据包的版本号;
判断模块32,还用于根据获取模块31获取的该第一差分数据包的版本号与该第二差分数据包的版本号,判断该未完成下载的第二目标差分数据包是否需要更新;
下载模块41,还用于若判断模块32的判断结果为不需要更新,则继续该未完成下载的该第二目标差分数据包的下载;
数据更新模块35,还用于在下载模块41下载完成时,根据该第二目标差分数据包更新该资源数据。
优选地,删除模块42,用于若判断模块32的判断结果为需要更新,则删除该第二目标差分数据包;
调用模块43,用于调用计算模块33执行步骤计算该第一差分数据包的版本号与该第二差分数据包的版本号的差值。
优选地,调用模块43,还用于若判断模块32的判断结果为不存在该未完成下载的该第二目标差分数据包,则执行步骤获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号。
优选地,该服务器根据该差值,确定第一目标差分数据包,包括:
该服务器每当检测到该资源数据更新时,获取更新后的该资源数据与历次更新的资源数据的差异数据,并根据该差异数据生成差分数据包;
当接收到该用户终端发送的该第一差分数据包的版本号时,该服务器根据该第一差分数据包的版本号与该第二差分数据包的版本号的差值,从该差分数据包中确定出具有该差值对应的版本号的该第一目标差分数据包,并将该第一目标差分数据包返回给该用户终端。
本实施例对数据更新装置40的各功能模块实现各自功能的具体过程,请参见上述图1至图4所示实施例中描述的具体内容,此处不再赘述。
本发明实施例提供的数据更新装置,通过使用差分数据包对目标程序中的资源数据进行更新,当用户终端最近一次更新的差分数据包的第一版本号与从服务器获取的最高版本的差分数据包的第二版本号的差值小于预置的数值时,从该服务器下载具有与该差值对应的版本号的第一目标差分数据包,并根据该第一目标差分数据包对目标程序中的资源数据进行数据更新,由于只需要将差分数据包中的差异数据覆盖在该目标程序的安装目录中,即可完成资源数据的数据更新,从而实现了基于差分数据包的单独针对资源数据进行的数据更新,而不是如现有技术一样通过利用安装包对目标程序的所有数据进行整体更新来实现资源数据的更新,因此可减少数据更新时的资源耗费,缩短更新时间,提高更新数据的效率。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (18)
1.一种数据更新方法,其特征在于,包括:
用户终端获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号,所述第一差分数据包以及所述第二差分数据包用于更新目标程序中的资源数据;
判断所述第一差分数据包的版本号与所述第二差分数据包的版本号是否相同;
若不相同,则计算所述第一差分数据包的版本号与所述第二差分数据包的版本号的差值;
当所述差值小于预置的数值时,将所述第一差分数据包的版本号发送给所述服务器,使得所述服务器根据所述差值,确定第一目标差分数据包;
接收所述服务器返回的所述第一目标差分数据包,根据所述第一目标差分数据包更新所述资源数据。
2.根据权利要求1所述的方法,其特征在于,所述第一目标差分数据包中包含用于更新所述资源数据的差异数据以及用于引导所述资源数据更新的脚本文件,所述脚本文件的编译语言为LUA语言,则所述根据所述第一目标差分数据包更新所述资源数据包括:
解压所述第一目标差分数据包,执行所述脚本文件;
根据所述脚本文件的指引,将所述第一目标差分数据包中的差异数据覆盖在所述目标程序的安装目录的对应位置。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述差值大于或等于所述预置的数值时,从所述服务器获取所述资源数据的最新完整数据包,根据所述最新完整数据包更新所述资源数据。
4.根据权利要求1所述的方法,其特征在于,所述用户终端获取最近一次更新的第一差分数据包的版本号之前,包括:
当检测到所述目标程序启动时,所述用户终端从所述服务器获取所述目标程序的最高版本的第一安装包的版本号;
根据所述第一安装包的版本号与所述目标程序的当前版本的第二安装包的版本号,判断所述目标程序是否需要整体更新;
若所述目标程序需要整体更新,则从所述服务器下载所述第一安装包,并安装。
5.根据权利要求4所述的方法,其特征在于,所述用户终端获取最近一次更新的第一差分数据包的版本号之前,还包括:
若所述目标程序不需要整体更新,则获取最近一次更新所述目标程序中的资源数据的更新记录,根据所述更新记录中的更新进度,判断是否存在未完成覆盖的第二目标差分数据包;
若存在所述未完成覆盖的所述第二目标差分数据包,则执行覆盖操作。
6.根据权利要求5所述的方法,其特征在于,所述用户终端获取最近一次更新的第一差分数据包的版本号之前,还包括:
若不存在所述未完成覆盖的所述第二目标差分数据包,则根据所述更新记录,判断是否存在未完成下载的所述第二目标差分数据包;
若存在所述未完成下载的所述第二目标差分数据包,则获取所述第一差分数据包的版本号,从所述服务器获取所述第二差分数据包的版本号,根据所述第一差分数据包的版本号与所述第二差分数据包的版本号,判断所述未完成下载的第二目标差分数据包是否需要更新;
若不需要更新,则继续所述未完成下载的所述第二目标差分数据包的下载,并在下载完成时,根据所述第二目标差分数据包更新所述资源数据。
7.根据权利要求6所述的方法,其特征在于,所述判断所述未完成下载的第二目标差分数据包是否需要更新之后,还包括:
若需要更新,则删除所述第二目标差分数据包,并执行步骤计算所述第一差分数据包的版本号与所述第二差分数据包的版本号的差值。
8.根据权利要求6所述的方法,其特征在于,所述判断是否存在未完成下载的所述第二目标差分数据包之后,还包括:
若不存在所述未完成下载的所述第二目标差分数据包,则执行步骤获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号。
9.根据权利要求1至8的任一项所述的方法,其特征在于,所述服务器根据所述差值,确定第一目标差分数据包,包括:
所述服务器每当检测到所述资源数据更新时,获取更新后的所述资源数据与历次更新的资源数据的差异数据,并根据所述差异数据生成差分数据包;
当接收到所述用户终端发送的所述第一差分数据包的版本号时,所述服务器根据所述第一差分数据包的版本号与所述第二差分数据包的版本号的差值,从所述差分数据包中确定出具有所述差值对应的版本号的所述第一目标差分数据包,并将所述第一目标差分数据包返回给所述用户终端。
10.一种数据更新装置,运行于用户终端,其特征在于,包括:
获取模块,用于获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号,所述第一差分数据包以及所述第二差分数据包用于更新目标程序中的资源数据;
判断模块,用于判断所述获取模块获取的所述第一差分数据包的版本号与所述第二差分数据包的版本号是否相同;
计算模块,用于若所述判断模块判断结果为不相同,则计算所述第一差分数据包的版本号与所述第二差分数据包的版本号的差值;
发送模块,用于当所述计算模块计算的所述差值小于预置的数值时,将所述第一差分数据包的版本号发送给所述服务器,使得所述服务器根据所述差值,确定第一目标差分数据包;
数据更新模块,用于接收所述服务器返回的所述第一目标差分数据包,根据所述第一目标差分数据包更新所述资源数据。
11.根据权利要求10所述的装置,其特征在于,所述第一目标差分数据包中包含用于更新所述资源数据的差异数据以及用于引导所述资源数据更新的脚本文件,所述脚本文件的编译语言为LUA语言,则所述数据更新模块包括:
解压单元,用于解压所述第一目标差分数据包;
执行单元,用于执行所述脚本文件;
覆盖单元,用于根据所述脚本文件的指引,将所述第一目标差分数据包中的差异数据覆盖在所述目标程序的安装目录的对应位置。
12.根据权利要求10所述的装置,其特征在于,
所述获取模块,还用于当所述计算模块计算的所述差值大于或等于所述预置的数值时,从所述服务器获取所述资源数据的最新完整数据包;
所述数据更新模块,还用于根据所述获取模块获取的所述最新完整数据包更新所述资源数据。
13.根据权利要求10所述的装置,其特征在于,
所述获取模块,还用于当检测到所述目标程序启动时,从所述服务器获取所述目标程序的最高版本的第一安装包的版本号;
所述判断模块,还用于根据所述获取模块获取的所述第一安装包的版本号与所述目标程序的当前版本的第二安装包的版本号,判断所述目标程序是否需要整体更新;
所述装置还包括:
下载模块,用于若所述判断模块的判断结果为所述目标程序需要整体更新,则从所述服务器下载所述第一安装包,并安装。
14.根据权利要求13所述的装置,其特征在于,
所述获取模块,还用于若所述判断模块的判断结果为所述目标程序不需要整体更新,则获取最近一次更新所述目标程序中的资源数据的更新记录;
所述判断模块,还用于根据所述获取模块获取的所述更新记录中的更新进度,判断是否存在未完成覆盖的第二目标差分数据包;
所述数据更新模块,还用于若所述判断模块的判断结果为存在所述未完成覆盖的所述第二目标差分数据包,则执行覆盖操作。
15.根据权利要求14所述的装置,其特征在于,
所述判断模块,还用于若不存在所述未完成覆盖的所述第二目标差分数据包,则根据所述更新记录,判断是否存在未完成下载的所述第二目标差分数据包;
所述获取模块,还用于若所述判断模块的判断结果为存在所述未完成下载的所述第二目标差分数据包,则获取所述第一差分数据包的版本号,从所述服务器获取所述第二差分数据包的版本号;
所述判断模块,还用于根据所述获取模块获取的所述第一差分数据包的版本号与所述第二差分数据包的版本号,判断所述未完成下载的第二目标差分数据包是否需要更新;
所述下载模块,还用于若所述判断模块的判断结果为不需要更新,则继续所述未完成下载的所述第二目标差分数据包的下载;
所述数据更新模块,还用于在所述下载模块下载完成时,根据所述第二目标差分数据包更新所述资源数据。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
删除模块,用于若所述判断模块的判断结果为需要更新,则删除所述第二目标差分数据包;
调用模块,用于调用所述计算模块执行步骤计算所述第一差分数据包的版本号与所述第二差分数据包的版本号的差值。
17.根据权利要求15所述的装置,其特征在于,
所述调用模块,还用于若所述判断模块的判断结果为不存在所述未完成下载的所述第二目标差分数据包,则执行步骤获取最近一次更新的第一差分数据包的版本号,以及从服务器获取最高版本的第二差分数据包的版本号。
18.根据权利要求9至17的任一项所述的装置,其特征在于,所述服务器根据所述差值,确定第一目标差分数据包,包括:
所述服务器每当检测到所述资源数据更新时,获取更新后的所述资源数据与历次更新的资源数据的差异数据,并根据所述差异数据生成差分数据包;
当接收到所述用户终端发送的所述第一差分数据包的版本号时,所述服务器根据所述第一差分数据包的版本号与所述第二差分数据包的版本号的差值,从所述差分数据包中确定出具有所述差值对应的版本号的所述第一目标差分数据包,并将所述第一目标差分数据包返回给所述用户终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305252.5A CN105302587B (zh) | 2014-06-30 | 2014-06-30 | 数据更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305252.5A CN105302587B (zh) | 2014-06-30 | 2014-06-30 | 数据更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105302587A true CN105302587A (zh) | 2016-02-03 |
CN105302587B CN105302587B (zh) | 2019-01-11 |
Family
ID=55199883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410305252.5A Active CN105302587B (zh) | 2014-06-30 | 2014-06-30 | 数据更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105302587B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201577A (zh) * | 2016-06-27 | 2016-12-07 | 竞技世界(北京)网络技术有限公司 | 一种更新Lua文件的方法及装置 |
CN106649771A (zh) * | 2016-12-27 | 2017-05-10 | 广州杰赛科技股份有限公司 | 数据库的数据模型更新方法和*** |
CN107634975A (zh) * | 2016-07-18 | 2018-01-26 | 中兴通讯股份有限公司 | 一种数据同步方法、设备和*** |
CN108491220A (zh) * | 2018-03-15 | 2018-09-04 | 苏州思必驰信息科技有限公司 | 技能训练方法及*** |
CN108874884A (zh) * | 2018-05-04 | 2018-11-23 | 广州多益网络股份有限公司 | 数据同步更新方法、装置和***、服务器设备 |
CN109359398A (zh) * | 2018-10-23 | 2019-02-19 | 广州拓欧信息技术有限公司 | Bim数据更新方法和装置 |
CN109756535A (zh) * | 2017-11-03 | 2019-05-14 | 株洲中车时代电气股份有限公司 | 一种车载设备软件维护方法及装置 |
CN109918463A (zh) * | 2019-02-22 | 2019-06-21 | 广州多益网络股份有限公司 | 地图数据处理方法、装置、设备及存储介质 |
CN111135581A (zh) * | 2019-12-26 | 2020-05-12 | 网易(杭州)网络有限公司 | 游戏更新的方法与装置 |
CN111400334A (zh) * | 2020-06-04 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及电子装置 |
CN111611002A (zh) * | 2020-04-27 | 2020-09-01 | 深圳市广和通无线股份有限公司 | 数据升级方法、装置、计算机设备和存储介质 |
CN113094076A (zh) * | 2021-03-16 | 2021-07-09 | 杭州电魂网络科技股份有限公司 | 基于版本控制的版本迭代方法、装置、设备及介质 |
CN114691175A (zh) * | 2022-04-22 | 2022-07-01 | 麒麟合盛网络技术股份有限公司 | 一种应用更新方法、装置和*** |
CN115208868A (zh) * | 2021-04-06 | 2022-10-18 | 丰田自动车株式会社 | 中心、分发控制方法以及非暂时性存储介质 |
WO2023011067A1 (zh) * | 2021-08-03 | 2023-02-09 | 深圳英集芯科技股份有限公司 | 充电需求适配方法、电子设备及相关产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101312567A (zh) * | 2007-05-25 | 2008-11-26 | 上海美通无线网络信息有限公司 | 一种手机j2me客户端使用动态更新数据资源的方法 |
CN103067484A (zh) * | 2012-12-25 | 2013-04-24 | 深圳市天维尔通讯技术有限公司 | 一种自动升级应用程序的方法和*** |
CN103136027A (zh) * | 2013-03-01 | 2013-06-05 | 畅捷通信息技术股份有限公司 | 即时更新装置和即时更新方法 |
CN103188097A (zh) * | 2011-12-30 | 2013-07-03 | 金蝶软件(中国)有限公司 | 一种实现补丁管理的方法、装置及*** |
-
2014
- 2014-06-30 CN CN201410305252.5A patent/CN105302587B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101312567A (zh) * | 2007-05-25 | 2008-11-26 | 上海美通无线网络信息有限公司 | 一种手机j2me客户端使用动态更新数据资源的方法 |
CN103188097A (zh) * | 2011-12-30 | 2013-07-03 | 金蝶软件(中国)有限公司 | 一种实现补丁管理的方法、装置及*** |
CN103067484A (zh) * | 2012-12-25 | 2013-04-24 | 深圳市天维尔通讯技术有限公司 | 一种自动升级应用程序的方法和*** |
CN103136027A (zh) * | 2013-03-01 | 2013-06-05 | 畅捷通信息技术股份有限公司 | 即时更新装置和即时更新方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201577A (zh) * | 2016-06-27 | 2016-12-07 | 竞技世界(北京)网络技术有限公司 | 一种更新Lua文件的方法及装置 |
CN106201577B (zh) * | 2016-06-27 | 2019-06-14 | 竞技世界(北京)网络技术有限公司 | 一种更新Lua文件的方法及装置 |
CN107634975A (zh) * | 2016-07-18 | 2018-01-26 | 中兴通讯股份有限公司 | 一种数据同步方法、设备和*** |
CN106649771A (zh) * | 2016-12-27 | 2017-05-10 | 广州杰赛科技股份有限公司 | 数据库的数据模型更新方法和*** |
CN106649771B (zh) * | 2016-12-27 | 2019-10-25 | 广州杰赛科技股份有限公司 | 数据库的数据模型更新方法和*** |
CN109756535A (zh) * | 2017-11-03 | 2019-05-14 | 株洲中车时代电气股份有限公司 | 一种车载设备软件维护方法及装置 |
CN108491220A (zh) * | 2018-03-15 | 2018-09-04 | 苏州思必驰信息科技有限公司 | 技能训练方法及*** |
CN108874884A (zh) * | 2018-05-04 | 2018-11-23 | 广州多益网络股份有限公司 | 数据同步更新方法、装置和***、服务器设备 |
CN109359398A (zh) * | 2018-10-23 | 2019-02-19 | 广州拓欧信息技术有限公司 | Bim数据更新方法和装置 |
CN109918463A (zh) * | 2019-02-22 | 2019-06-21 | 广州多益网络股份有限公司 | 地图数据处理方法、装置、设备及存储介质 |
CN111135581A (zh) * | 2019-12-26 | 2020-05-12 | 网易(杭州)网络有限公司 | 游戏更新的方法与装置 |
CN111135581B (zh) * | 2019-12-26 | 2023-09-12 | 网易(杭州)网络有限公司 | 游戏更新的方法与装置 |
CN111611002A (zh) * | 2020-04-27 | 2020-09-01 | 深圳市广和通无线股份有限公司 | 数据升级方法、装置、计算机设备和存储介质 |
CN111611002B (zh) * | 2020-04-27 | 2024-02-09 | 深圳市广和通无线股份有限公司 | 数据升级方法、装置、计算机设备和存储介质 |
CN111400334A (zh) * | 2020-06-04 | 2020-07-10 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及电子装置 |
CN113094076A (zh) * | 2021-03-16 | 2021-07-09 | 杭州电魂网络科技股份有限公司 | 基于版本控制的版本迭代方法、装置、设备及介质 |
CN115208868A (zh) * | 2021-04-06 | 2022-10-18 | 丰田自动车株式会社 | 中心、分发控制方法以及非暂时性存储介质 |
US11947951B2 (en) | 2021-04-06 | 2024-04-02 | Toyota Jidosha Kabushiki Kaisha | Center, distribution control method, and non-transitory storage medium |
WO2023011067A1 (zh) * | 2021-08-03 | 2023-02-09 | 深圳英集芯科技股份有限公司 | 充电需求适配方法、电子设备及相关产品 |
CN114691175A (zh) * | 2022-04-22 | 2022-07-01 | 麒麟合盛网络技术股份有限公司 | 一种应用更新方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
CN105302587B (zh) | 2019-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105302587A (zh) | 数据更新方法及装置 | |
CN106648725B (zh) | 终端、服务器及配置文件升级方法 | |
CN114124930B (zh) | 配置文件传输方法、终端、服务器和存储介质 | |
US20110191764A1 (en) | Systems, methods, and apparatuses for facilitating distribution of firmware updates | |
US9792623B2 (en) | Advertisement processing method and apparatus | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
CN106095458A (zh) | 一种应用程序中插件的管理方法和装置 | |
CN105677335A (zh) | 提高移动终端首次开机速度的方法及装置 | |
CN107766747B (zh) | 校验应用程序安装包完整性的方法、移动终端及服务器 | |
CN106681749B (zh) | 基于安卓平台的局部代码补丁更新方法及装置 | |
CN108228230A (zh) | Ufs固件的升级方法、终端及计算机可读存储介质 | |
CN106095456A (zh) | 引导用户下载应用程序的方法、装置及移动终端 | |
CN111316230B (zh) | 一种补丁包生成方法及设备 | |
CN111095199B (zh) | 一种加载应用的方法及终端设备 | |
CN104424241A (zh) | 基于二维码的网站链接处理方法、装置及*** | |
CN111931102A (zh) | 一种构建页面的方法、装置及*** | |
CN104615414A (zh) | 一种渠道包定制方法及装置 | |
CN112631622A (zh) | 应用安装方法、装置、服务器及计算机可读介质 | |
CN104978183A (zh) | 一种图标构造方法,及终端设备 | |
CN103607431B (zh) | 移动终端资源处理方法、装置和设备 | |
CN115309431B (zh) | 一种参数更新方法、可读介质和电子设备 | |
CN112286586B (zh) | 一种插件的配置方法及相关设备 | |
CN103713943A (zh) | 基于终端原生操作***的应用功能实现方法和装置 | |
CN110191176B (zh) | 一种快速电子取证方法及*** | |
CN105468504A (zh) | 程序测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |