CN107038039A - 数据更新方法及装置 - Google Patents
数据更新方法及装置 Download PDFInfo
- Publication number
- CN107038039A CN107038039A CN201610078418.3A CN201610078418A CN107038039A CN 107038039 A CN107038039 A CN 107038039A CN 201610078418 A CN201610078418 A CN 201610078418A CN 107038039 A CN107038039 A CN 107038039A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- applications client
- new
- new file
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据更新方法及装置,属于信息技术领域。该方法包括:通过为应用客户端提供软件开发工具包,该软件开发工具包用于封装数据更新接口;基于该数据更新接口,接收应用客户端的数据更新请求;根据该数据更新请求,获取该应用客户端的更新文件;向该应用客户端发送该更新文件,使得该应用客户端基于该更新文件,进行数据更新。采用这样的数据更新方法,不仅使得应用客户端无需重新安装即可更新全部或部分数据,并且降低了开发和维护成本,提高了数据更新的便捷性。
Description
技术领域
本发明涉及信息技术领域,特别涉及一种数据更新方法及装置。
背景技术
随着信息技术的发展,应用客户端需要的数据更新速度越来越快,进而如何使得应用客户端便捷地更新数据,成为了本技术领域内重要的技术问题之一。
目前,主要有两种用于实现应用客户端数据更新的方法。第一种,应用客户端可以通过从应用客户端发布平台下载安装包的形式实现数据更新。第二种,应用客户端也可以通过自身的数据更新模块与该应用客户端的后台服务器进行交互实现数据更新。
上述第一种数据更新方法是针对应用客户端整体的更新方法,无法对应用客户端的部分数据进行更新,且需要用户主动下载安装包,并重新安装该应用客户端。而上述第二种方法,需要应用客户端的开发者不仅要在后台服务器实现更新文件的生成,还需要开发应用客户端的数据更新模块,造成了开发、维护成本高的问题。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种数据更新方法及装置。该技术方案如下:
第一方面,提供了一种数据更新方法,包括:
为应用客户端提供软件开发工具包,所述软件开发工具包用于封装数据更新接口;
基于所述数据更新接口,接收应用客户端的数据更新请求;
根据所述数据更新请求,获取所述应用客户端的更新文件;
向所述应用客户端发送所述更新文件,使得所述应用客户端基于所述更新文件,进行数据更新。
第二方面,提供了一种数据更新装置,包括:
数据更新接口模块,用于为应用客户端提供软件开发工具包,所述软件开发工具包用于封装数据更新接口;
接收模块,用于基于所述数据更新接口,接收应用客户端的数据更新请求;
获取模块,用于根据所述数据更新请求,获取所述应用客户端的更新文件;
发送模块,用于向所述应用客户端发送所述更新文件,使得所述应用客户端基于所述更新文件,进行数据更新。
第三方面,提供了一种更新文件的格式,包括:更新文件头、更新文件尾和至少一个数据包;该更新文件头包括应用程序名、对应新旧版本号、数据包个数、文件大小及进行差分处理时所采用的差分算法信息。
第四方面,提供了一种数据更新方法,所述方法包括:
获取第三方服务器提供的软件开发工具包,所述软件开发工具包用于封装数据更新接口;
基于所述数据更新接口,向所述第三方服务器发送数据更新请求;
接收所述第三方服务器返回的更新文件;
基于所述更新文件,进行数据更新。
第五方面,提供了一种数据更新装置,其特征在于,所述装置包括:
获取模块,用于获取第三方服务器提供的软件开发工具包,所述软件开发工具包用于封装数据更新接口;
发送模块,用于基于所述数据更新接口,向所述第三方服务器发送数据更新请求;
接收模块,用于接收所述第三方服务器返回的更新文件;
更新模块,用于基于所述更新文件,进行数据更新。
第六方面,提供了一种数据更新方法,其特征在于,所述方法包括:
向第三方服务器发送应用客户端的最新版本数据,所述最新版本数据携带第一数据包信息列表,所述第一数据包信息列表用于指示所述最新版本数据所包括的数据包标识,由所述第三方服务器根据所述应用客户端的历史版本数据,生成所述应用客户端的更新文件。
第七方面,提供了一种数据更新装置,其特征在于,所述装置包括:
发送模块,用于向第三方服务器发送应用客户端的最新版本数据,所述最新版本数据携带第一数据包信息列表,所述第一数据包信息列表用于指示所述最新版本数据所包括的数据包标识,由所述第三方服务器根据所述应用客户端的历史版本数据,生成所述应用客户端的更新文件。
本发明实施例提供的技术方案带来的有益效果是:
通过为应用客户端提供软件开发工具包,该软件开发工具包用于封装数据更新接口;基于该数据更新接口,接收应用客户端的数据更新请求;根据该数据更新请求,获取该应用客户端的更新文件;向该应用客户端发送该更新文件,使得该应用客户端基于该更新文件,进行数据更新。采用这样的数据更新方法,不仅使得应用客户端无需重新安装即可更新全部或部分数据,并且降低了开发和维护成本,提高了数据更新的便捷性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据更新***示意图;
图2是本发明实施例提供的一种数据更新方法的流程图;
图3是本发明实施例提供的一种数据更新方法的流程图;
图4是本发明实施例提供的一种生成增量更新文件的触发机制示意图;
图5是本发明实施例提供的一种增量更新文件的生成方法示意图;
图6是本发明实施例提供的一种更新文件格式示意图;
图7是本发明实施例提供的一种数据更新装置框图;
图8是本发明实施例提供的一种服务器800的结构示意图;
图9是本发明实施例提供的一种数据更新方法的流程图;
图10是本发明实施例提供的一种数据更新装置的结构示意图;
图11是本发明实施例提供的一种数据更新方法的流程图;
图12是本发明实施例提供的一种数据更新装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种数据更新***示意图,如图1所示,所述***包括:数据更新配置端101、第三方服务器102及应用客户端103。
数据更新配置端101,用于应用客户端提供商向第三方服务器上传的该应用客户端的每个版本数据,在上传该每个版本数据的过程中,该数据更新配置端101还用于配置该每个版本数据的相关信息,例如,配置该每个版本数据的数据包列表。
第三方服务器102,该第三方服务器为独立于应用客户端与应用服务器的另一服务器,具体地,该第三方服务器可以为任一应用发布平台的服务器,例如,应用宝服务器、应用商店服务器等。该第三方服务器102用于执行本发明提供任一数据更新方法,该第三方服务器102包括云存储装置、增量更新文件生成装置、数据更新装置、数据更新接口等部分。该云存储装置用于接收并保存应用客户端提供商上传的应用客户端的每个版本数据及相应的配置信息,该增量更新文件生成装置用于基于该应用客户端的每个版本数据生成增量更新文件,该数据更新装置用于根据应用客户端的数据更新请求执行数据更新流程,数据更新接口用于与应用客户端进行数据交互。
应用客户端103,在本发明实施例中,该应用客户端接入有该第三方服务器102提供的SDK(Software Development Kit,软件开发工具包),该SDK封装有数据更新接口,用于与该第三方服务器102进行数据交互,以完成该应用客户端103的数据更新。
图2是本发明实施例提供的一种数据更新方法的流程图。参见图2,该方法包括:
201、为应用客户端提供软件开发工具包,该软件开发工具包用于封装数据更新接口。
202、基于该数据更新接口,接收应用客户端的数据更新请求。
203、根据该数据更新请求,获取该应用客户端的更新文件。
204、向该应用客户端发送该更新文件,使得该应用客户端基于该更新文件,进行数据更新。
采用这样的数据更新方法,不仅使得应用客户端无需重新安装即可更新全部或部分数据,并且降低了开发和维护成本,提高了数据更新的便捷性。
在本发明的一个实施例中,该根据该数据更新请求,获取该应用客户端的更新文件包括:根据该应用客户端的数据更新请求,判断是否已生成该应用客户端的增量更新文件;如果已生成该增量更新文件,则将该增量更新文件获取为该应用客户端的更新文件;如果未生成该增量更新文件,则根据在未生成该增量更新文件之前所接收到的数据更新请求数量获取该应用客户端的更新文件。
在本发明的一个实施例中,该根据在未生成该增量更新文件之前所接收到的该数据更新请求数量获取该应用客户端的更新文件包括:判断该数据更新请求数量是否到达预设数值;如果该数据更新请求数量达到预设数值,则生成该增量更新文件,将该生成后的增量更新文件获取为该应用客户端的更新文件;如果该请求数量达未到预设数值,则将全量更新文件获取为该应用客户端的更新文件。
在本发明的一个实施例中,根据该应用客户端的数据更新请求,判断是否已生成该应用客户端的增量更新文件之前,该方法还包括:当接收到应用客户端提供商的生成指令时,则生成该应用客户端的增量更新文件,该生成指令用于指示生成从上一版本更新至最新版本的增量更新文件。
在本发明的一个实施例中,根据该数据更新请求,获取该应用客户端的更新文件包括:获取应用客户端提供商上传的该应用客户端的最新版本数据,该最新版本数据携带第一数据包信息列表,该第一数据包信息列表用于指示该最新版本数据所包括的数据包标识;获取该应用客户端的历史版本数据,该历史版本数据携带第二数据包信息列表,该第二数据包信息列表用于指示该历史版本数据所包括的数据包标识;将该第一数据包信息列表和该第二数据包信息列表中具有相同数据包标识的数据包之间进行差分处理,生成第一更新数据包;将该第一数据包信息列表中未存在于该第二数据包信息列表中的数据包,作为第二更新数据包;基于该第一更新数据包及第二更新数据包,生成该应用客户端的更新文件。
在本发明的一个实施例中,该更新文件包括进行差分处理时所采用的差分算法信息。
在本发明的一个实施例中,向该应用客户端发送该更新文件,使得该应用客户端基于该更新文件,进行数据更新包括:向该应用客户端发送增量更新文件,使得该应用客户端基于该软件开发工具包,根据该增量更新文件生成全量更新文件,基于该全量更新文件,进行数据更新。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
图3是本发明实施例提供的一种数据更新方法的流程图。参见图3,该方法包括以下步骤。
301、为应用客户端提供软件开发工具包,该软件开发工具包用于封装数据更新接口。
为了降低应用的开发成本和维护成本,本发明实施中,在开发过程中,无需独立开发应用客户端的数据更新模块,仅需要接入该第三方服务器提供的SDK(Software Development Kit,软件开发工具包),相应地,在维护过程中,无需应用服务器提供数据更新服务,该应用客户端通过该SDK与第三方服务器进行数据交互进而实现数据更新。
在本发明实施例中,该SDK封装有数据更新接口,该数据更新接口用于应用客户端与第三方服务器进行数据交互。需要说明的是,在实际应用中,该SDK还可以具有其他的功能,例如,收集应用客户端版本信息等,本发明对该SDK的其他功能不作具体限定。
302、基于该数据更新接口,接收应用客户端的数据更新请求。
在本发明实施例中,SDK收集应用客户端当前的版本信息,并将该版本信息携带于该数据更新请求,将该数据更新请求通过该数据更新端口发送至上述第三方服务器,使得该第三方服务器接收到该数据更新请求之后,根据该应用客户端当前的版本信息获取应用客户端需要的更新文件。上述数据更新请求用于请求更新应用客户端的全部或部分数据,例如,对于词典客户端,可以请求更新部分的词库数据等。
需要说明的是,在本发明实施例中,可以在每次启动应用客户端时触发该数据更新请求,也可以在其他时机触发该数据更新请求,例如,周期性触发该数据更新请求,本发明实施对触发数据更新请求的具体时机不作限定。采用这样的数据更新方法,相比于由用户主动下载安装包的数据更新方法,不仅实现了更新应用客户端的部分数据的功能,并且减少了用户的操作,提高了数据更新的便捷性。
303、根据该应用客户端的数据更新请求,判断是否已生成该应用客户端的增量更新文件;如果已生成该增量更新文件,则将该增量更新文件获取为该应用客户端的更新文件;如果未生成该增量更新文件,则执行步骤304。
该增量更新文件是指针对最新版本数据与历史版本数据之间的增量生成的更新文件,与之相对应的是全量更新文件,该全量更新文件是指针对最新版本数据的全部数据生成的更新文件。采用增量更新文件进行数据更新,有利于减小更新文件大小,节省传输资源。为了优先采用增量更新文件进行数据更新,而在没有可用的增量更新文件时也能够使用全量更新文件进行数据更新,本发明实施例中,在接收到数据更新请求之后,判断当前是否已经生成有增量更新文件,如果已经生成该增量更新文件,则采用该增量更新文件进行数据更新。
304、判断该数据更新请求数量是否到达预设数值;如果该数据更新请求数量达到预设数值,则执行步骤305;如果该请求数量达未到预设数值,则将全量更新文件获取为该应用客户端的更新文件。
本发明认识到,更新请求的数量表明了用户群体对数据更新业务的需求程度,例如,对于更新请求A和更新请求B,如果收到100次更新请求A而收到5更新请求B,则说明更新请求A对应的数据更新业务需求程度更高。为了能够根据数据更新业务的需求程度,确定是否需要生成增量更新文件,在本发明实施中,根据在未生成该增量更新文件之前所接收到的所述数据更新请求数量确定是否触发生成增量更新文件。具体地,如图4所示,对于每次接收到一应用客户端的数据更新请求时,如果此时没有对应的增量更新文件,则统计该数据更新请求数量加1,完成该统计后,判断该数据更新请求数量是否到达预设数值,如果该数据更新请求数量达到预设数值,则生成该增量更新文件,如果否,则不进行增量更新文件的生成过程。在实际应用中,该预设数值可以根据实际情况进行设定,本发明实施对此不作具体限定。采用这样的触发机制,使得仅对需求程度高的数据更新请求进行增量更新文件的生成,进而节省了生成增量更新文件所消耗的处理资源。
为了在上述触发机制的基础上,还可以根据应用客户端提供商的需要触发增量更新文件的生成,如图4所示,在本发明实施中,当接收到应用客户端提供商的生成指令时,则生成该应用客户端的增量更新文件,该生成指令用于指示生成从上一版本更新至最新版本的增量更新文件。具体地,该生成指令可以由应用客户端提供商上传更新数据的操作进而触发,在实际应用中,该生成指令还可以采用其他的方式触发,例如,应用客户端提供商对生成选项进行选定进而触发该生成指令,本发明对触发该生成指令的具体方式不作限定。
305、根据应用客户端提供商上传的该应用客户端的最新版本数据,生成该增量更新文件,将该生成后的增量更新文件获取为该应用客户端的更新文件。
为了使得上述增量更新文件的大小更小,本发明实施提供一种具体地增量更新文件生成方法,包括:
获取应用客户端提供商上传的该应用客户端的最新版本数据,如图5所示,该最新版本数据包括多个数据包,该最新版本数据携带第一数据包信息列表,该第一数据包信息列表用于指示该最新版本数据所包括的数据包标识;获取该应用客户端的历史版本数据,如图5所示,该历史版本数据包括多个数据包,该历史版本数据携带第二数据包信息列表,该第二数据包信息列表用于指示该历史版本数据所包括的数据包标识;将该第一数据包信息列表和该第二数据包信息列表中具有相同数据包标识的数据包之间进行差分处理,生成第一更新数据包;将该第一数据包信息列表中未存在于该第二数据包信息列表中的数据包,作为第二更新数据包;基于该第一更新数据包及第二更新数据包,生成该应用客户端的更新文件。需要说明的是,该历史版本数据可以为针对该应用客户端所有的多个历史版本数据,在实际应用中,通过遍历该所有的多个历史版本数据,将该第一数据包信息列表和任一历史版本数据的第二数据包信息列表中具有相同数据包标识的数据包之间进行差分处理,而将第一数据包信息列表中未存在于所有该第二数据包信息列表中的数据包,作为第二更新数据包,本发明对历史版本数据的数量不作具体限定。
采用这样的增量更新文件生成方法,将最新版本数据中的每个数据包分别与历史版本数据中对应的数据包进行差分处理,相比于对最近版本数据与历史版本数据整体进行差分处理的增量更新文件生成方法,减小了生成增量更新文件的大小,节省了增量文件的传输成本。
如图6所示,采用上述方法生成的更新文件为指定格式,在该指定格式中包括更新文件头、更新文件尾和至少一个数据包。该更新文件头包括应用程序名、对应新旧版本号、数据包个数、文件大小及进行差分处理时所采用的差分算法信息。在实际应用中,可以根据实际情况选择该差分算法,例如,bsdiff(binarydiff,二进制差量)算法等,本发明对具体采用的差分算法不作限定。该更新文件尾包括校验信息等内容,该至少一个数据包中的每个数据包可以是上述第一更新数据包或第二更新数据。
306、向该应用客户端发送该更新文件,使得该应用客户端基于该更新文件,进行数据更新。
在本发明实施例中,在获取该应用客户端的更新文件之后,生成该更新文件的下载地址,将该下载地址及更新文件信息发送至应用客户端,当该应用客户端选择执行更新时,基于该下载地址向该应用客户端发送该更新文件。
当所述更新文件为全量更新文件时,应用所述全量更新文件替换本地客户端数据,基于该全量更新文件进行数据更新。当该更新文件为增量更新文件时,向该应用客户端发送该增量更新文件,使得该应用客户端基于SDK,根据该增量更新文件生成全量更新文件,基于该全量更新文件,进行数据更新。具体地,该SDK根据更新文件的文件头信息,判断更新文件是否为增量更新文件;当是增量更新文件时,从该文件头中提取进行差分处理时所采用的差分算法信息;根据该差分算法生成全量更新文件。
本发明实施提供的数据更新方法,通过为应用客户端提供软件开发工具包,该软件开发工具包用于封装数据更新接口;基于该数据更新接口,接收应用客户端的数据更新请求;根据该数据更新请求,获取该应用客户端的更新文件;向该应用客户端发送该更新文件,使得该应用客户端基于该更新文件,进行数据更新。采用这样的数据更新方法,不仅使得应用客户端无需重新安装即可更新全部或部分数据,并且降低了应用的开发和维护成本,提高了数据更新的便捷性。
图7是本发明实施例提供的一种数据更新装置的框图。如图7所示,所述装置包括:数据更新接口模块701、接收模块702、获取模块703、发送模块704。
数据更新接口模块701,用于为应用客户端提供软件开发工具包,所述软件开发工具包用于封装数据更新接口;
接收模块702,用于基于所述数据更新接口,接收应用客户端的数据更新请求;
获取模块703,用于根据所述数据更新请求,获取所述应用客户端的更新文件;
发送模块704,用于向所述应用客户端发送所述更新文件,使得所述应用客户端基于所述更新文件,进行数据更新。
在本发明的一个实施例中,所述获取模块用于:根据所述应用客户端的数据更新请求,判断是否已生成所述应用客户端的增量更新文件;如果已生成所述增量更新文件,则将所述增量更新文件获取为所述应用客户端的更新文件;如果未生成所述增量更新文件,则根据在未生成所述增量更新文件之前所接收到的数据更新请求数量获取所述应用客户端的更新文件。
在本发明的一个实施例中,所述获取模块用于:判断所述数据更新请求数量是否到达预设数值;如果所述数据更新请求数量达到预设数值,则生成所述增量更新文件,将所述生成后的增量更新文件获取为所述应用客户端的更新文件;如果所述请求数量达未到预设数值,则将全量更新文件获取为所述应用客户端的更新文件。
在本发明的一个实施例中,根据所述获取模块用于:当接收到应用客户端提供商的生成指令时,则生成所述应用客户端的增量更新文件,所述生成指令用于指示生成从上一版本更新至最新版本的增量更新文件。
在本发明的一个实施例中,所述获取装置用于:获取应用客户端提供商上传的所述应用客户端的最新版本数据,所述最新版本数据携带第一数据包信息列表,所述第一数据包信息列表用于指示所述最新版本数据所包括的数据包标识;获取所述应用客户端的历史版本数据,所述历史版本数据携带第二数据包信息列表,所述第二数据包信息列表用于指示所述历史版本数据所包括的数据包标识;将所述第一数据包信息列表和所述第二数据包信息列表中具有相同数据包标识的数据包之间进行差分处理,生成第一更新数据包;将所述第一数据包信息列表中未存在于所述第二数据包信息列表中的数据包,作为第二更新数据包;基于所述第一更新数据包及第二更新数据包,生成所述应用客户端的更新文件。
在本发明的一个实施例中,所述更新文件还包括进行差分处理时所采用的差分算法信息。
在本发明的一个实施例中,所述发送模块用于:向所述应用客户端发送增量更新文件,使得所述应用客户端基于所述软件开发工具包,根据所述增量更新文件生成全量更新文件,基于所述全量更新文件,进行数据更新。
本实施例提供了一种服务器,该服务器可以用于执行上述各个实施例中提供的数据更新方法。参照图8,服务器800包括处理组件822,其进一步包括一个或多个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理组件822的执行的指令,例如应用客户端程序。存储器832中存储的应用客户端程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述任一种数据更新方法。
服务器800还可以包括一个电源组件824被配置为执行服务器800的电源管理,一个有线或无线网络接口850被配置为将服务器800连接到网络,和一个输入输出(I/O)接口858。服务器800可以操作基于存储在存储器832的操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
图9是本发明实施例提供的一种数据更新方法的流程图。参见图9,所述方法包括:
901、获取第三方服务器提供的软件开发工具包,所述软件开发工具包用于封装数据更新接口。
902、基于所述数据更新接口,向所述第三方服务器发送数据更新请求。
903、接收所述第三方服务器返回的更新文件。
904、基于所述更新文件,进行数据更新。
可选地,基于所述更新文件,进行数据更新包括:当所述更新文件为全量更新文件时,应用所述全量更新文件替换本地客户端数据;或,当所述更新文件为增量更新文件时,将所述增量更新文件与本地客户端数据合并成全量更新文件。
图10是本发明实施例提供的一种数据更新装置的结构示意图。参见图10,所述装置包括:
获取模块1001,用于获取第三方服务器提供的软件开发工具包,所述软件开发工具包用于封装数据更新接口;
发送模块1002,用于基于所述数据更新接口,向所述第三方服务器发送数据更新请求;
接收模块1003,用于接收所述第三方服务器返回的更新文件;
更新模块1004,用于基于所述更新文件,进行数据更新。
可选地,所述更新模块用于:
当所述更新文件为全量更新文件时,应用所述全量更新文件替换本地客户端数据;或,当所述更新文件为增量更新文件时,将所述增量更新文件与本地客户端数据合并成全量更新文件。
图11是本发明实施例提供的一种数据更新方法的流程图。参见图11,所述方法包括:
1101、向第三方服务器发送应用客户端的最新版本数据,所述最新版本数据携带第一数据包信息列表,所述第一数据包信息列表用于指示所述最新版本数据所包括的数据包标识,由所述第三方服务器根据所述应用客户端的历史版本数据,生成所述应用客户端的更新文件。
可选地,向第三方服务器发送应用客户端的最新版本数据之后,所述方法还包括:
向所述第三方服务器发送生成指令,使得所述第三方服务器生成所述应用客户端的增量更新文件,所述生成指令用于指示生成从上一版本更新至最新版本的增量更新文件。
图12是本发明实施例提供的一种数据更新装置的结构示意图。参见图12,所述装置包括:
发送模块1201,用于向第三方服务器发送应用客户端的最新版本数据,所述最新版本数据携带第一数据包信息列表,所述第一数据包信息列表用于指示所述最新版本数据所包括的数据包标识,由所述第三方服务器根据所述应用客户端的历史版本数据,生成所述应用客户端的更新文件。
可选地,所述发送模块1201还用于向所述第三方服务器发送生成指令,使得所述第三方服务器生成所述应用客户端的增量更新文件,所述生成指令用于指示生成从上一版本更新至最新版本的增量更新文件。
以上该仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (22)
1.一种数据更新方法,其特征在于,应用于第三方服务器中,所述方法包括:
为应用客户端提供软件开发工具包,所述软件开发工具包用于封装数据更新接口;
基于所述数据更新接口,接收应用客户端的数据更新请求;
根据所述数据更新请求,获取所述应用客户端的更新文件;
向所述应用客户端发送所述更新文件,使得所述应用客户端基于所述更新文件,进行数据更新。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据更新请求,获取所述应用客户端的更新文件包括:
根据所述应用客户端的数据更新请求,判断是否已生成所述应用客户端的增量更新文件;
如果已生成所述增量更新文件,则将所述增量更新文件获取为所述应用客户端的更新文件;
如果未生成所述增量更新文件,则根据在未生成所述增量更新文件之前所接收到的数据更新请求数量获取所述应用客户端的更新文件。
3.根据权利要求2所述的方法,其特征在于,所述根据在未生成所述增量更新文件之前所接收到的所述数据更新请求数量获取所述应用客户端的更新文件包括:
判断所述数据更新请求数量是否到达预设数值;
如果所述数据更新请求数量达到预设数值,则生成所述增量更新文件,将所述生成后的增量更新文件获取为所述应用客户端的更新文件;
如果所述请求数量达未到预设数值,则将全量更新文件获取为所述应用客户端的更新文件。
4.根据权利要求2所述的方法,其特征在于,根据所述应用客户端的数据更新请求,判断是否已生成所述应用客户端的增量更新文件之前,所述方法还包括:
当接收到应用客户端提供商的生成指令时,则生成所述应用客户端的增量更新文件,所述生成指令用于指示生成从上一版本更新至最新版本的增量更新文件。
5.根据权利要求1所述的方法,其特征在于,根据所述数据更新请求,获取所述应用客户端的更新文件包括:
获取应用客户端提供商上传的所述应用客户端的最新版本数据,所述最新版本数据携带第一数据包信息列表,所述第一数据包信息列表用于指示所述最新版本数据所包括的数据包标识;
获取所述应用客户端的历史版本数据,所述历史版本数据携带第二数据包信息列表,所述第二数据包信息列表用于指示所述历史版本数据所包括的数据包标识;
将所述第一数据包信息列表和所述第二数据包信息列表中具有相同数据包标识的数据包之间进行差分处理,生成第一更新数据包;
将所述第一数据包信息列表中未存在于所述第二数据包信息列表中的数据包,作为第二更新数据包;
基于所述第一更新数据包及第二更新数据包,生成所述应用客户端的更新文件。
6.根据权利要求5所述的方法,其特征在于,所述更新文件包括进行差分处理时所采用的差分算法信息。
7.根据权利要求1所述的方法,其特征在于,向所述应用客户端发送所述更新文件,使得所述应用客户端基于所述更新文件,进行数据更新包括:
向所述应用客户端发送增量更新文件,使得所述应用客户端基于所述软件开发工具包,根据所述增量更新文件生成全量更新文件,基于所述全量更新文件,进行数据更新。
8.一种数据更新装置,其特征在于,所述装置包括:
数据更新接口模块,用于为应用客户端提供软件开发工具包,所述软件开发工具包用于封装数据更新接口;
接收模块,用于基于所述数据更新接口,接收应用客户端的数据更新请求;
获取模块,用于根据所述数据更新请求,获取所述应用客户端的更新文件;
发送模块,用于向所述应用客户端发送所述更新文件,使得所述应用客户端基于所述更新文件,进行数据更新。
9.根据权利要求8所述的装置,其特征在于,所述获取模块用于:
根据所述应用客户端的数据更新请求,判断是否已生成所述应用客户端的增量更新文件;
如果已生成所述增量更新文件,则将所述增量更新文件获取为所述应用客户端的更新文件;
如果未生成所述增量更新文件,则根据在未生成所述增量更新文件之前所接收到的数据更新请求数量获取所述应用客户端的更新文件。
10.根据权利要求9所述的装置,其特征在于,所述获取模块用于:
判断所述数据更新请求数量是否到达预设数值;
如果所述数据更新请求数量达到预设数值,则生成所述增量更新文件,将所述生成后的增量更新文件获取为所述应用客户端的更新文件;
如果所述请求数量达未到预设数值,则将全量更新文件获取为所述应用客户端的更新文件。
11.根据权利要求9所述的装置,其特征在于,根据所述获取模块用于:
当接收到应用客户端提供商的生成指令时,则生成所述应用客户端的增量更新文件,所述生成指令用于指示生成从上一版本更新至最新版本的增量更新文件。
12.根据权利要求8所述的装置,其特征在于,所述获取装置用于:
获取应用客户端提供商上传的所述应用客户端的最新版本数据,所述最新版本数据携带第一数据包信息列表,所述第一数据包信息列表用于指示所述最新版本数据所包括的数据包标识;
获取所述应用客户端的历史版本数据,所述历史版本数据携带第二数据包信息列表,所述第二数据包信息列表用于指示所述历史版本数据所包括的数据包标识;
将所述第一数据包信息列表和所述第二数据包信息列表中具有相同数据包标识的数据包之间进行差分处理,生成第一更新数据包;
将所述第一数据包信息列表中未存在于所述第二数据包信息列表中的数据包,作为第二更新数据包;
基于所述第一更新数据包及第二更新数据包,生成所述应用客户端的更新文件。
13.根据权利要求12所述的装置,其特征在于,所述更新文件还包括进行差分处理时所采用的差分算法信息。
14.根据权利要求8所述的装置,其特征在于,所述发送模块用于:
向所述应用客户端发送增量更新文件,使得所述应用客户端基于所述软件开发工具包,根据所述增量更新文件生成全量更新文件,基于所述全量更新文件,进行数据更新。
15.一种数据更新方法,其特征在于,所述方法包括:
获取第三方服务器提供的软件开发工具包,所述软件开发工具包用于封装数据更新接口;
基于所述数据更新接口,向所述第三方服务器发送数据更新请求;
接收所述第三方服务器返回的更新文件;
基于所述更新文件,进行数据更新。
16.根据权利要求15所述的方法,其特征在于,基于所述更新文件,进行数据更新包括:
当所述更新文件为全量更新文件时,应用所述全量更新文件替换本地客户端数据;
或,当所述更新文件为增量更新文件时,将所述增量更新文件与本地客户端数据合并成完整的客户端文件。
17.一种数据更新装置,其特征在于,所述装置包括:
获取模块,用于获取第三方服务器提供的软件开发工具包,所述软件开发工具包用于封装数据更新接口;
发送模块,用于基于所述数据更新接口,向所述第三方服务器发送数据更新请求;
接收模块,用于接收所述第三方服务器返回的更新文件;
更新模块,用于基于所述更新文件,进行数据更新。
18.根据权利要求17所述的装置,其特征在于,所述更新模块用于:
当所述更新文件为全量更新文件时,应用所述全量更新文件替换本地客户端数据;
或,当所述更新文件为增量更新文件时,将所述增量更新文件与本地客户端数据合并成完整的客户端文件。
19.一种数据更新方法,其特征在于,所述方法包括:
向第三方服务器发送应用客户端的最新版本数据,所述最新版本数据携带第一数据包信息列表,所述第一数据包信息列表用于指示所述最新版本数据所包括的数据包标识,由所述第三方服务器根据所述应用客户端的历史版本数据,生成所述应用客户端的更新文件。
20.根据权利要求19所述的方法,其特征在于,向第三方服务器发送应用客户端的最新版本数据之后,所述方法还包括:
向所述第三方服务器发送生成指令,使得所述第三方服务器生成所述应用客户端的增量更新文件,所述生成指令用于指示生成从上一版本更新至最新版本的增量更新文件。
21.一种数据更新装置,其特征在于,所述装置包括:
发送模块,用于向第三方服务器发送应用客户端的最新版本数据,所述最新版本数据携带第一数据包信息列表,所述第一数据包信息列表用于指示所述最新版本数据所包括的数据包标识,由所述第三方服务器根据所述应用客户端的历史版本数据,生成所述应用客户端的更新文件。
22.根据权利要求21所述的装置,其特征在于,所述发送模块还用于向所述第三方服务器发送生成指令,使得所述第三方服务器生成所述应用客户端的增量更新文件,所述生成指令用于指示生成从上一版本更新至最新版本的增量更新文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610078418.3A CN107038039A (zh) | 2016-02-04 | 2016-02-04 | 数据更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610078418.3A CN107038039A (zh) | 2016-02-04 | 2016-02-04 | 数据更新方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107038039A true CN107038039A (zh) | 2017-08-11 |
Family
ID=59532198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610078418.3A Pending CN107038039A (zh) | 2016-02-04 | 2016-02-04 | 数据更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107038039A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107846465A (zh) * | 2017-11-13 | 2018-03-27 | 北京趣拿软件科技有限公司 | 更新客户端资源包的方法和装置 |
CN108733395A (zh) * | 2018-05-14 | 2018-11-02 | 广州虎牙信息科技有限公司 | 软件应用程序业务更新方法、装置及计算机设备 |
CN109032820A (zh) * | 2018-08-08 | 2018-12-18 | 网易(杭州)网络有限公司 | 应用程序版本兼容的处理方法及装置 |
CN109495532A (zh) * | 2017-09-13 | 2019-03-19 | 北京京东尚科信息技术有限公司 | 客户端更新方法和装置 |
CN109710287A (zh) * | 2018-12-07 | 2019-05-03 | ***通信集团有限公司 | 一种热更新方法、装置及计算机存储介质 |
CN112306518A (zh) * | 2020-07-01 | 2021-02-02 | 深圳新阳蓝光能源科技股份有限公司 | 一种协议更新方法、装置及电子设备 |
CN115065642A (zh) * | 2022-08-18 | 2022-09-16 | 深圳华锐分布式技术股份有限公司 | 带宽限制下的代码表请求方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207902A (zh) * | 2013-03-27 | 2013-07-17 | 交通银行股份有限公司 | 一种金融客户端数据更新方法及*** |
CN104657170A (zh) * | 2013-11-25 | 2015-05-27 | 腾讯科技(上海)有限公司 | 一种数据更新方法、装置及*** |
CN104793972A (zh) * | 2015-04-17 | 2015-07-22 | 北京大学深圳研究院 | 一种更新数据包的方法及装置 |
CN104978215A (zh) * | 2014-10-08 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种文件更新方法、相关设备和*** |
-
2016
- 2016-02-04 CN CN201610078418.3A patent/CN107038039A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207902A (zh) * | 2013-03-27 | 2013-07-17 | 交通银行股份有限公司 | 一种金融客户端数据更新方法及*** |
CN104657170A (zh) * | 2013-11-25 | 2015-05-27 | 腾讯科技(上海)有限公司 | 一种数据更新方法、装置及*** |
CN104978215A (zh) * | 2014-10-08 | 2015-10-14 | 腾讯科技(深圳)有限公司 | 一种文件更新方法、相关设备和*** |
CN104793972A (zh) * | 2015-04-17 | 2015-07-22 | 北京大学深圳研究院 | 一种更新数据包的方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495532A (zh) * | 2017-09-13 | 2019-03-19 | 北京京东尚科信息技术有限公司 | 客户端更新方法和装置 |
CN107846465A (zh) * | 2017-11-13 | 2018-03-27 | 北京趣拿软件科技有限公司 | 更新客户端资源包的方法和装置 |
CN108733395A (zh) * | 2018-05-14 | 2018-11-02 | 广州虎牙信息科技有限公司 | 软件应用程序业务更新方法、装置及计算机设备 |
CN109032820A (zh) * | 2018-08-08 | 2018-12-18 | 网易(杭州)网络有限公司 | 应用程序版本兼容的处理方法及装置 |
CN109710287A (zh) * | 2018-12-07 | 2019-05-03 | ***通信集团有限公司 | 一种热更新方法、装置及计算机存储介质 |
CN109710287B (zh) * | 2018-12-07 | 2022-04-29 | ***通信集团有限公司 | 一种热更新方法、装置及计算机存储介质 |
CN112306518A (zh) * | 2020-07-01 | 2021-02-02 | 深圳新阳蓝光能源科技股份有限公司 | 一种协议更新方法、装置及电子设备 |
CN115065642A (zh) * | 2022-08-18 | 2022-09-16 | 深圳华锐分布式技术股份有限公司 | 带宽限制下的代码表请求方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038039A (zh) | 数据更新方法及装置 | |
CN108769165B (zh) | 一种物联网中数据处理方法、物联网接入*** | |
US6377939B1 (en) | Pipelined method and apparatus for processing communication metering data | |
WO2018076755A1 (zh) | 一种升级包下发方法及装置 | |
CN102054045B (zh) | 电子装置的资源更新***及方法 | |
CN108376078A (zh) | 设备的升级方法、装置以及家电设备 | |
US8584146B1 (en) | Communications driver management | |
CN103248669A (zh) | 一种分布式软件升级***及方法 | |
CN110442377A (zh) | 补丁包生成方法、应用更新方法、装置和电子设备 | |
CN104639648A (zh) | 一种智能储物柜的远程升级方法 | |
CN104765609B (zh) | 软件关联资源推荐方法、获取方法及相应的装置 | |
CN110427202A (zh) | 一种车联网tbox端fota的***和方法 | |
CN108600331A (zh) | 交互界面呈现方法、客户端、终端及*** | |
CN109189460A (zh) | 离线固件升级***及方法 | |
CN110109748A (zh) | 一种混合语言任务执行方法、装置及集群 | |
CN109725912A (zh) | 应用程序配置方法、装置、终端、服务器及可读存储介质 | |
CN103248636B (zh) | 离线下载的***及方法 | |
CN112256989A (zh) | 基于离线包的页面加载方法、装置、终端设备及存储介质 | |
CN115248692A (zh) | 一种支持多种深度学习框架模型云端部署的装置及方法 | |
CN107741853A (zh) | 一种部署服务器的方法、***及信息管理平台 | |
US7499971B1 (en) | Alternate java server page (JSP) processing for better response time | |
WO2011160505A1 (zh) | 交通信息发布的方法及*** | |
JP2012048386A (ja) | 配置決定プログラム、方法及び装置 | |
CN106528192A (zh) | 一种业务逻辑更新方法和装置 | |
CN108521349A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170811 |