CN113821244B - 离线包更新方法、装置、系统、电子设备及存储介质 - Google Patents
离线包更新方法、装置、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113821244B CN113821244B CN202110876287.4A CN202110876287A CN113821244B CN 113821244 B CN113821244 B CN 113821244B CN 202110876287 A CN202110876287 A CN 202110876287A CN 113821244 B CN113821244 B CN 113821244B
- Authority
- CN
- China
- Prior art keywords
- offline
- packet
- differential
- package
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 11
- 239000002699 waste material Substances 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
- G06F8/658—Incremental 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)
- Mobile Radio Communication Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开是关于一种离线包更新方法、装置、系统、电子设备及存储介质,该方法包括:当终端进行离线包更新时,获取所述终端离线包的配置信息,其中,所述配置信息携带离线包资源信息;根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,其中,所述离线包资源信息包含离线包的版本信息以及标识;将所述差分包发送给所述终端,供所述终端进行离线包更新。本公开并不获取完整离线包进行离线包更新,而是仅下载发生资源改动和/或资源新增的离线包进行离线包更新,可以避免下载所有未进行资源改动也未新增资源的离线包导致的重复下载,解决了相关技术中更新效率低下,网络资源浪费的问题,简化了离线包更新方式。
Description
技术领域
本公开涉及通信领域,尤其涉及一种离线包更新方法、装置、系统、电子设备及存储介质。
背景技术
相关技术中,现有离线包更新,离线包业务开发者手动识别终端当前使用的各个离线包中需改动的资源和需新增的资源,将需改动的资源和需新增的资源打包至对应的各个离线包,生成新的离线包,当终端需要进行离线包更新时,需要从服务器下载所有新的离线包,从而实现离线包更新。
然而,基于现有的离线包更新技术,如发生当前使用的各个离线包中仅有个别离线包发生资源改动和/或资源新增,从服务器下载当前使用的所有未进行资源改动也未新增资源的各个离线包和所有新的离线包进行离线包更新会导致更新效率低下,造成网络资源浪费的问题。
发明内容
为克服相关技术中存在的问题,本公开提供一种离线包更新方法、装置、系统、电子设备及存储介质:
根据本公开实施例的第一方面,提供一种离线包更新方法,应用于服务器上,包括:
当终端进行离线包更新时,获取所述终端离线包的配置信息,其中,所述配置信息携带离线包资源信息;
根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,其中,所述离线包资源信息包含离线包的版本信息以及标识;
将所述差分包发送给所述终端,供所述终端进行所述离线包更新。
可选的,所述根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,包括:
获取所述离线包版本信息和所述预先存储的离线包版本信息;
若所述离线包版本信息和预先存储的离线包版本信息不同,基于所述离线包版本信息和所述预先存储的离线包版本信息,对所述离线包资源信息和预先存储的离线包资源信息进行差量计算以获取差量资源信息,基于所述差量资源信息生成所述差分包。
可选的,在所述将所述差分包发送给所述终端,供所述终端进行所述离线包更新之前,包括:
对生成的所述差分包进行校验计算,得到第一校验和,基于所述差分包和所述第一校验和生成离线包资源地址,将所述离线包资源地址发送给所述终端,以使得所述终端根据所述离线包资源地址获取所述差分包和所述第一校验和。
根据本公开实施例的第二方面,提供一种离线包更新方法,应用于终端上,包括:
当进行所述离线包更新时,向服务器发送本地离线包的配置信息,其中,所述配置信息携带本地离线包资源信息;
接收所述服务器根据所述本地离线包资源信息和所述服务器预先存储的离线包资源信息获取所述差量资源信息后生成的所述差分包,其中,所述差分包携带所述差分包资源信息;
根据所述差分包资源信息和所述本地离线包资源信息还原完整离线包,完成所述离线包更新。
可选的,所述接收所述服务器根据所述本地的离线包资源信息和所述服务器预先存储的离线包资源信息获取所述差量资源信息生成的差分包,包括:
获取所述服务器发送的离线包资源地址,从所述离线包资源地址获取所述差分包和所述第一校验和,其中,所述离线包资源地址包含所述差分包以及所述第一校验和;
基于对所述差分包的本地计算确定第二校验和;
若所述第一校验和所述第二校验和相同,则根据所述差分包资源信息和所述本地的离线包资源信息还原所述完整离线包完成所述离线包更新;
若所述第一校验和所述第二校验和不相同,则重新获取所述服务器发送的全量离线包进行所述离线包更新。
根据本公开实施例的第三方面,提供一种离线包更新装置,包括:
配置信息获取模块,被配置为当终端进行离线包更新时,获取所述终端离线包的配置信息,其中,所述配置信息携带离线包资源信息;
差分包生成模块,被配置为根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,其中,所述离线包资源信息包含离线包的版本信息以及标识;
差分包发送模块,被配置为将所述差分包发送给所述终端,供所述终端进行离线包更新。
根据本公开实施例的第四方面,提供一种系统,包括:
服务器接收终端发送的本地离线包的配置信息,其中,所述配置信息携带所述本地离线包资源信息,根据所述本地离线包资源信息和预先存储的离线包资源信息获取所述差量资源信息,生成所述差分包;
终端接收所述差分包,其中,所述差分包携带所述差分包资源信息,根据所述差分包资源信息和所述本地离线包资源信息还原所述完整离线包完成所述离线包更新。
根据本公开实施例的第五方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面或第二方面所述的离线包更新方法。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面或第二方面所述的离线包更新方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令被处理器执行时实现如第一方面或第二方面所述的离线包更新方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开当终端进行离线包更新时,获取所述终端离线包的配置信息,其中,配置信息携带离线包资源信息,根据离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,将差分包发送给终端,供终端进行离线包更新,本公开并不获取完整离线包进行离线包更新,而是仅下载发生资源改动和/或资源新增的离线包进行离线包更新,这样可以避免下载所有未进行资源改动也未新增资源的离线包导致的重复下载问题,避免造成网络带宽浪费的问题,同时也采用更加简单、高效的操作方式,使得离线包进行操作时更加简便,通过对离线包资源和预先存储的离线包资源信息获取差量资源信息,使用差量计算的方式,生成差分包,解决了离线包差异化更新/下发问题,解决了相关技术中更新效率低下,网络资源浪费的问题,简化了离线包更新方式。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种离线包更新方法的流程图;
图2是根据一示例性实施例示出的另一种离线包更新方法的流程图;
图3是本公开实施例中差分包校验成功的流程图;
图4是本公开实施例中差分包校验失败的流程图;
图5是本公开实施例中离线包还原失败的流程图;
图6是本公开实施例中一种离线包更新方法的步骤流程图;
图7是本公开实施例中一种差量计算的示例图;
图8是根据一示例性实施例示出的一种离线包更新装置的框图;
图9是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的第一种离线包更新方法的流程图,如图1所示,包括以下步骤:
在步骤S11中,当终端进行离线包更新时,获取终端离线包的配置信息,其中,配置信息携带离线包资源信息。
当终端需要进行离线包更新时,服务器首先获取终端中当前使用的各个离线包的配置信息,各个离线包的配置信息要包括其资源信息。例如,当用户正在使用的程序或某一后台程序需要进行离线包更新时,服务器会自动获取用户当前使用的程序或后台程序中使用的各个离线包配置信息,获取的各个离线包可以包括图片离线包、语音离线包、动作状态离线包等。
在本示例性实施例中,所述配置信息可以包括:离线包的唯一标识,所述离线包唯一标识信息,所述离线包版本信息,以及所述离线包内容分发网络(Content DeliveryNetwork,CDN)地址等。当然,以上仅为具体的举例说明,在实际的使用过程中离线包配置信息还可以包括其他信息,此处不做一一赘述。
在步骤S12中,根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,其中,所述离线包资源信息包含离线包的版本信息以及标识。
在服务器自动获取用户当前使用的程序或后台程序中使用的各个离线包配置信息后,根据服务器中预先存储的新离线包资源信息和用户当前使用的各个离线包配置信息中的资源信息进行比对,生成差分包。例如,用户正在使用的程序或某一后台程序中的语音离线包需要进行更新,根据上述语音离线包的资源信息和服务器中的新语音离线包的资源信息进行比对,获得有变动的资源信息生成差分包。
需要说明的是,离线包资源信息是包括离线包的版本信息和唯一标识。
在根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,可以通过两种方式获取差量资源信息:
一种是获取离线包业务开发者手动识别后的差量资源信息。
具体的,离线包业务开发者手动识别出两者的差量资源信息,制作差分包后存储于本地。
另一种是采用差分计算自动识别方式获取差量资源信息。
具体的,通过差分计算获取所述离线包资源信息和预先存储的离线包资源信息的差量资源信息,生成差分包。
当然,以上两种方法为具体的举例说明,在实际的使用过程中,步骤S12还可以通过其他方式获取离线包资源信息和预先存储的离线包资源信息的差量资源信息,生成为差分包,此处不做一一赘述。
在步骤S13中,将差分包发送给终端,供终端进行离线包更新。
在本示例性实施例中,步骤S13可以通过两种方式将差分包发送给终端:
一种是采用推送模式将差分包发送给终端。
具体地,步骤S13通过与终端的数据传输通道,直接将差分包,以数据流的形式发送给终端。
另一种是采用分解模式将差分包发送给终端。
具体地,步骤S13在服务器对差分包配置信息进行拆分,获得各类配置信息。例如,差分包唯一标识信息,差分包资源信息,差分包版本信息等,将各类配置信息分别发送给终端。
当然,以上两种方法仅为具体的举例说明,在实际的使用过程中,步骤S13还可以通过其他方式将差分包发送给终端,此处不做一一赘述。
通过采用推送模式或者分解模式向终端发送差分包,传输方式多样,可以适用于不同类型的终端,使得本发明实施方式提供的技术方案适用性更强。
本示例性实施例提供的离线包更新方法,当终端进行离线包更新时,获取终端离线包的配置信息,其中,所述配置信息携带离线包资源信息,根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,将所述差分包发送给所述终端,供所述终端进行离线包更新,本公开并不获取用户当前使用的程序或后台程序的各个离线包进行离线包更新,而是根据服务器中预先存储的新离线包资源信息和用户当前使用的各个离线包配置信息中的资源信息进行比对,获取差量资源信息后生成差分包,这样不需要下载所有的离线包,仅下载其中有进行资源改动和/或资源新增的离线包,解决了相关技术中更新效率低下,网络资源浪费的问题,简化了离线包更新方式。例如,当一个用户需要进行离线包更新时,服务器会获取用户当前使用的程序或后台程序中使用的各个离线包配置信息,根据服务器中预先存储的新离线包资源信息和用户当前使用的各个离线包配置信息中的资源信息进行比对,生成差分包,这里具体可以拿图片离线包进行,当其中某部分图片改变时,通过上述方法进行离线包更新可以仅下载变动的资源,同时,也有可能发生比如语音离线包未发生改变的情况,那么相应语音离线包就不进行更新,这种离线包更新方法可以有效减小网络资源占用,提高更新效率,简化了离线包更新方式。
在上述技术方案的基础上,在所述根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,包括:获取所述离线包版本信息和所述预先存储的离线包版本信息;若所述离线包版本信息和预先存储的离线包版本信息不同,基于所述离线包版本信息和所述预先存储的离线包版本信息,对所述离线包资源信息和预先存储的离线包资源信息进行差量计算以获取差量资源信息,基于所述差量资源信息生成差分包。
需要说明的是,服务端获取离线包版本信息和预先存储的离线包版本信息,对离线包版本信息和预先存储的离线包版本信息进行判断,若离线包版本信息和预先存储的离线包版本信息相同,所述离线包不进行更新,若所述离线包版本信息和预先存储的离线包版本信息不同,根据所述离线包资源信息和预先存储的离线包资源信息进行差量计算获取差量资源信息,基于计算后获取的差量资源信息生成差分包。例如,图片离线包版本和服务器中预先存储的图片离线包版本相同,则用户无需再次下载图片离线包进行更新,如语音离线包版本和服务器中预先存储的语音离线包版本不同,则根据双方的资源信息进行获取差量资源信息进行离线包更新,从而避免了重复下载无需更新的离线包,可以有效减小网络资源占用,提高更新效率,简化了离线包更新方式。
进一步地,在上述方案的基础上,在所述将所述差分包发送给所述终端,供所述终端进行离线包更新之前,包括:对生成的所述差分包进行校验计算,得到第一校验和,基于差分包和第一校验和生成离线包资源地址,将离线包资源地址发送给终端,以使得终端根据离线包资源地址获取差分包和第一校验和。
需要说明的是,校验和是指传输位数的累加,当传输结束时,接收者可以根据这个数值判断是否接到了所有的数据,在本公开实施例中,第一校验和是指离线包平台即服务器端抓取得到差分包后需要计算校验和并保存在数据库中,当终端请求获取离线包资源时,需要将离线包资源地址发送给终端,以使得终端根据离线包资源地址获取差分包和第一校验和。
图2是根据一示例性实施例示出的另一种离线包更新方法的流程图,如图2所示,包括以下步骤:
在步骤S21中,当进行离线包更新时,向服务器发送本地离线包的配置信息,其中,配置信息携带本地离线包资源信息。
当终端需要进行离线包更新时,向服务器发送当前使用的各个离线包的配置信息,各个离线包的配置信息要包括其资源信息。例如,当用户正在使用的程序或某一后台程序需要进行离线包更新时,向服务器发送当前使用的程序或后台程序中使用的各个离线包配置信息,获取的各个离线包可以包括图片离线包、语音离线包、动作状态离线包等。
在本示例性实施例中,配置信息可以包括:离线包唯一标识信息,离线包版本信息,以及离线包CDN地址等。当然,以上仅为具体的举例说明,在实际的使用过程中离线包配置信息还可以包括其他信息,此处不做一一赘述。
在步骤S22中,接收服务器根据本地离线包资源信息和服务器预先存储的离线包资源信息获取差量资源信息后生成的差分包,其中,差分包携带差分包资源信息。
在向服务器发送当前使用的各个离线包的配置信息后,其中,所述配置信息携带本地离线包资源信息,接收根据服务器中预先存储的新离线包资源信息和当前使用的各个离线包配置信息中的资源信息进行比对后生成的差分包,其中,差分包携带差分包资源信息。例如,用户正在使用的程序或某一后台程序中的语音离线包需要进行更新,接收服务器根据上述语音离线包的资源信息和新语音离线包的资源信息进行比对后生成的差分包。
在接收所述服务器根据所述本地离线包资源信息和所述服务器预先存储的离线包资源信息获取差量资源信息后生成的差分包,可以通过两种方式获取差量资源信息:
一种是获取离线包业务开发者手动识别后的差量资源信息。
具体的,离线包业务开发者手动识别出两者的差量资源信息,制作差分包后存储于本地。
另一种是采用差分计算自动识别方式获取差量资源信息。
具体的,通过差分计算获取所述离线包资源信息和预先存储的离线包资源信息的差量资源信息,生成差分包。
在本示例性实施例中,步骤S22可以通过两种方式接收差分包:
一种是终端采用数据流形式接收差分包。
具体地,步骤S22通过与服务器的数据传输通道,以数据流的形式接收差分包。
另一种是终端采用数据分解形式接收差分包。
具体地,步骤S22在服务器对差分包配置信息进行拆分,获得各类配置信息。例如,差分包唯一标识信息,差分包资源信息,差分包版本信息等,终端进行接收各类配置信息。
当然,以上两种方法仅为具体的举例说明,在实际的使用过程中,步骤S22还可以通过其他方式接收差分包,此处不做一一赘述。
在步骤S23中,根据差分包资源信息和本地离线包资源信息还原完整离线包完成离线包更新。
根据所述差分包资源信息和所述本地离线包资源信息还原完整离线包完成离线包更新。用户接收到离线包对应的差分包后,根据差分包的资源信息和本地的离线包资源信息进行还原,得到完整离线包,完成离线包更新,例如,图片离线包中图片资源新增部分内容,即终端获取的差分包中包含上述新增内容部分,将新增内容部分还原至本地图片离线包生成完整离线包完成离线包更新。
本示例性实施例提供的离线包更新方法,当进行离线包更新时,向服务器发送本地离线包的配置信息,其中,所述配置信息携带本地离线包资源信息;接收所述服务器根据所述本地离线包资源信息和所述服务器预先存储的离线包资源信息获取差量资源信息后生成的差分包,其中,所述差分包携带所述差分包资源信息;根据所述差分包资源信息和所述本地离线包资源信息还原完整离线包完成离线包更新,本公开并不获取用户当前使用的程序或后台程序的各个离线包进行离线包更新,而是接收服务器根据终端离线包资源信息和预先存储的离线包资源信息获取差量资源信息后生成的差分包,这样不需要下载所有的离线包,仅下载其中有进行资源改动和/或资源新增的离线包,解决了相关技术中更新效率低下,网络资源浪费的问题,简化了离线包更新方式。例如,当一个用户需要进行离线包更新时,向服务器发送当前使用的各个离线包的配置信息,各个离线包的配置信息要包括其资源信息,接收根据服务器中预先存储的新离线包资源信息和当前使用的各个离线包配置信息中的资源信息进行比对后生成的差分包,其中,差分包携带差分包资源信息,这里具体可以拿图片离线包进行,当其中某部分图片改变时,通过上述方法进行离线包更新可以仅下载变动的资源,接收对应图片差分包,同时,也有可能发生比如语音离线包未发生改变的情况,那么相应语音离线包就不进行更新,也就没有对应的差分包可以接收,这种离线包更新方法可以有效减小网络资源占用,提高更新效率,简化了离线包更新方式。
在上述技术方案的基础上,所述服务器预先存储的离线包资源信息包括:获取服务器的离线包配置信息,所述离线包配置信息包含离线包资源信息;将所述离线包配置信息存储于本地,以生成本地离线包配置信息。例如,图片离线包发生资源改动,服务器会获取改动后的图片离线包配置信息,根据本地的旧图片离线包配置信息和改动后的图片离线包配置信息生成新的图片离线包配置信息并存储于本地,等用户需要进行图片离线包更新的时候可以直接使用新图片离线包进行离线包更新,从而保证整个流程的稳定进行,提高了离线包更新的效率。
其中,离线包提供平台可以是CDN平台,也可以是其他提供平台,此处不做一一赘述。
在上述技术方案的基础上,所述接收所述服务器根据所述本地的离线包资源信息和所述服务器预先存储的离线包资源信息获取的差量资源信息生成的差分包,包括:获取服务器发送的离线包资源地址,从所述离线包资源地址获取差分包和第一校验和,其中,所述离线包资源地址包含所述差分包以及第一校验和;基于对差分包的本地计算确定第二校验和;若第一校验和第二校验和相同,则根据所述差分包资源信息和所述本地的离线包资源信息还原完整离线包完成离线包更新;若第一校验和第二校验和不相同,则重新获取所述服务器发送的全量离线包进行离线包更新。
图3是本公开实施例中差分包校验成功的流程图,如图3所示,获取服务器发送的离线包资源地址,从离线包资源地址获取差分包和第一校验和,其中,离线包资源地址包含差分包以及第一校验和;基于对差分包的本地计算确定第二校验和;若第一校验和第二校验和相同,即校验成功,则根据差分包资源信息和本地的离线包资源信息还原完整离线包完成离线包更新。
通过确定对差分包第一校验和和第二校验和是否相同,可以避免因数据丢失或其他原因导致数据被篡改而无法进行离线包更新,从而有效提高离线包的更新效率,还可以提高数据安全性,保护用户的数据安全。
图4是本公开实施例中差分包校验失败的流程图,如图4所示,获取服务器发送的离线包资源地址,从离线包资源地址获取差分包和第一校验和,其中,离线包资源地址包含差分包以及第一校验和;基于对差分包的本地计算确定第二校验和;若第一校验和第二校验和不相同,即校验失败,则重新获取所述服务器发送的全量离线包进行离线包更新。
通过对差分包第一校验和和第二校验和的校验,可以避免因数据丢失或其他原因导致数据被篡改而无法进行离线包更新,如发生差分包数据异常的情况,直接接收服务器发送的全量离线包进行离线包更新,通过确定差分包第一校验和和第二校验和是否相同,使得本发明实施方式提供的技术方案适用性更强。
图5是本公开实施例中差分处理的流程图,如图5所示,若还原完整离线包失败,接收服务器发送的全量离线包进行离线包更新。
如发生差分包数据异常的情况,导致终端完整离线包无法进行还原操作,可以接收服务器发送的全量离线包再次进行离线包更新,避免因异常导致无法进行离线包更新,使得本发明实施方式提供的技术方案在应对异常情况可以进行处理,实用性更强。
图6是本公开实施例中一种离线包更新方法的步骤流程图,如图6所示:
获取服务器发送的离线包配置信息,所述离线包配置信息包含所述离线包资源信息,将所述离线包配置信息存储于本地,以生成本地离线包配置信息。终端可以从离线包平台获取最新的离线包配置参数,并将上述最新离线包配置参数存储于本地,以便后续终端进行离线包更新时,服务器可以随时进行配置信息对比生成终端需要的差分包,其中,离线包提供平台可以是离线包提供平台可以是CDN平台,也可以是其他提供平台,此处不做一一赘述。
需要说明的是,现有技术中,需要下载全量离线包,默认当前情况为下载所有离线包即全占比,然而当使用的各个离线包中仅有个别离线包发生资源改动和/或资源新增时,会同时下载大量重复离线包导致离线包更新效率底下。使用本公开实施例的离线包更新耗时均低于下载全量离线包所用的平均耗时,因当前使用的各个离线包中仅有个别离线包发生资源改动和/或资源新增,可以有效减小用户资源下载的大小,减小离线包更新时间,简化了离线包更新方式,使用本公开实施例的离线包更新方法可以减少用户进行离线包更新时需下载的资源总量,从而避免下载重复离线包,减小下载时长,提高离线包更新效率。
图7是本公开实施例中一种差量计算的示例图,如图7所示:
通过bsdiff算法,将A文件与B文件进行比对,获得其中修改的部分资源即diffstring文件和新增的资源部分extra string文件,此处图中展示了部分资源比对结果,实际的使用过程中,A文件与B文件资源内容更为繁多,相应会生成大量的的diff string文件和extra string文件,此处不做一一赘述,将生成的diff string文件和extra string文件组合最后的到patch包即差分包,终端仅需下载对应差分包进行离线包更新。使用本公开实施例的差量计算方法可以减少用户进行离线包更新时需下载的资源总量,只需下载相应差分包进行离线包更新,可以提高离线包更新效率,简化了离线包更新方式。
当然,以上仅为具体的举例说明,在实际的使用过程中还可以使用其他方式进行差量计算,此处不做一一赘述。
图8是根据一示例性实施例示出的一种离线包更新装置的框图。参照图8,该装置包括配置信息获取模块101、差分包生成模块102和差分包发送模块103。
该配置信息获取模块101被配置为当终端进行离线包更新时,获取所述终端离线包的配置信息,其中,所述配置信息携带离线包资源信息;
该差分包生成模块102被配置为根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,其中,所述离线包资源信息包含离线包的版本信息以及标识;
该差分包发送模块103被配置为将所述差分包发送给所述终端,供所述终端进行离线包更新。
可选的,所述装置还包括:
版本信息获取模块,被配置为获取所述离线包版本信息和所述预先存储的离线包版本信息;
判断模块,被配置为若所述离线包版本信息和预先存储的离线包版本信息不同,基于所述离线包版本信息和所述预先存储的离线包版本信息,对所述离线包资源信息和预先存储的离线包资源信息进行差量计算以获取差量资源信息,基于所述差量资源信息生成差分包。
本示例性实施例提供的离线包更新装置,当终端进行离线包更新时,获取所述终端离线包的配置信息,其中,所述配置信息携带离线包资源信息,根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,将所述差分包发送给所述终端,供所述终端进行离线包更新,本公开并不获取用户当前使用的程序或后台程序的各个离线包进行离线包更新,而是根据服务器中预先存储的新离线包资源信息和用户当前使用的各个离线包配置信息中的资源信息进行比对,获取差量资源信息后生成差分包,这样不需要下载所有的离线包,仅下载其中有进行资源改动和/或资源新增的离线包,解决了相关技术中更新效率低下,网络资源浪费的问题,简化了离线包更新方式。例如,当一个用户需要进行离线包更新时,服务器会获取用户当前使用的程序或后台程序中使用的各个离线包配置信息,根据服务器中预先存储的新离线包资源信息和用户当前使用的各个离线包配置信息中的资源信息进行比对,生成差分包,这里具体可以拿图片离线包进行,当其中某部分图片改变时,通过上述方法进行离线包更新可以仅下载变动的资源,同时,也有可能发生比如语音离线包未发生改变的情况,那么相应语音离线包就不进行更新,这种离线包更新方法可以有效减小网络资源占用,提高更新效率,简化了离线包更新方式。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据一示例性实施例示出的一种离线包更新系统,服务器接收终端发送的离线包的配置信息,其中,所述配置信息携带所述离线包资源信息,根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包;
终端接收所述差分包,其中,所述差分包携带所述差分包资源信息,根据所述差分包资源信息和所述本地离线包资源信息还原完整离线包完成离线包更新。
图9是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备1100可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图9,电子设备1100可以包括以下一个或多个组件:处理组件1102,存储器1104,电力组件1106,多媒体组件1108,音频组件1110,输入/输出(I/O)的接口1112,传感器组件1114,以及通信组件1116。
处理组件1102通常控制电子设备1100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1102可以包括一个或多个处理器1120来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1102可以包括一个或多个模块,便于处理组件1102和其他组件之间的交互。例如,处理组件1102可以包括多媒体模块,以方便多媒体组件1108和处理组件1102之间的交互。
存储器1104被配置为存储各种类型的数据以支持在电子设备1100的操作。这些数据的示例包括用于在电子设备1100上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1106为电子设备1100的各种组件提供电力。电源组件1106可以包括电源管理系统,一个或多个电源,及其他与为电子设备1100生成、管理和分配电力相关联的组件。
多媒体组件1108包括在所述电子设备1100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1108包括一个前置摄像头和/或后置摄像头。当电子设备1100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1110被配置为输出和/或输入音频信号。例如,音频组件1110包括一个麦克风(MIC),当电子设备1100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1104或经由通信组件1116发送。在一些实施例中,音频组件1110还包括一个扬声器,用于输出音频信号。
I/O接口1112为处理组件1102和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1114包括一个或多个传感器,用于为电子设备1100提供各个方面的状态评估。例如,传感器组件1114可以检测到电子设备1100的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1100的显示器和小键盘,传感器组件1114还可以检测电子设备1100或电子设备1100一个组件的位置改变,用户与电子设备1100接触的存在或不存在,电子设备1100方位或加速/减速和电子设备1100的温度变化。传感器组件1114可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1114还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1114还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1116被配置为便于电子设备1100和其他设备之间有线或无线方式的通信。电子设备1100可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件1116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1116还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备1100可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述离线包更新方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器1104,上述指令可由电子设备1100的处理器1120执行以完成上述离线包更新方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令可由电子设备1100的处理器1120执行以完成上述离线包更新方法。可选地,该程序代码可以存储在电子设备1100的存储介质中,该存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (13)
1.一种离线包更新方法,其特征在于,应用于服务器,所述方法包括:
当终端进行离线包更新时,获取所述终端离线包的配置信息,其中,所述配置信息携带离线包资源信息;
根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,其中,所述离线包资源信息包含离线包的版本信息以及标识;
将所述差分包发送给所述终端,供所述终端进行所述离线包更新;
所述将所述差分包发送给所述终端,供所述终端进行所述离线包更新包括:对所述差分包配置信息进行拆分,获得各类差分包配置信息,将各类所述差分包配置信息分别发送至终端,供所述终端进行所述离线包更新,其中,所述差分包配置信息包括差分包唯一标识信息,差分包资源信息以及差分包版本信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,包括:
获取离线包版本信息和预先存储的离线包版本信息;
若所述离线包版本信息和预先存储的离线包版本信息不同,基于所述离线包版本信息和所述预先存储的离线包版本信息,对所述离线包资源信息和预先存储的离线包资源信息进行差量计算以获取差量资源信息,基于所述差量资源信息生成所述差分包。
3.根据权利要求1所述的方法,其特征在于,在所述将所述差分包发送给所述终端,供所述终端进行所述离线包更新之前,包括:
对生成的所述差分包进行校验计算,得到第一校验和,基于所述差分包和所述第一校验和生成离线包资源地址,将所述离线包资源地址发送给所述终端,以使得所述终端根据所述离线包资源地址获取所述差分包和所述第一校验和。
4.一种离线包更新方法,其特征在于,应用于终端,所述方法包括:
当进行所述离线包更新时,向服务器发送本地离线包的配置信息,其中,所述配置信息携带本地离线包资源信息;
接收所述服务器根据所述本地离线包资源信息和所述服务器预先存储的离线包资源信息获取差量资源信息后生成的差分包,其中,所述差分包携带所述差分包资源信息,所述本地离线包资源信息包含离线包的版本信息以及标识,其中,所述差分包通过所述服务器对所述差分包配置信息进行拆分,获得各类差分包配置信息,将各类所述差分包配置信息分别发送给所述终端,所述差分包配置信息包括差分包唯一标识信息,差分包资源信息以及差分包版本信息;
根据所述差分包资源信息和所述本地离线包资源信息还原完整离线包,完成所述离线包更新。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述服务器发送的所述离线包配置信息,所述离线包配置信息包含所述离线包资源信息;
将所述离线包配置信息存储于本地,以生成所述本地离线包配置信息。
6.根据权利要求4所述的方法,其特征在于,所述接收所述服务器根据所述本地的离线包资源信息和所述服务器预先存储的离线包资源信息获取所述差量资源信息生成的所述差分包,包括:
获取所述服务器发送的离线包资源地址,从所述离线包资源地址获取所述差分包和第一校验和,其中,所述离线包资源地址包含所述差分包以及所述第一校验和;
基于对所述差分包的本地计算确定第二校验和;
若所述第一校验和所述第二校验和相同,则根据所述差分包资源信息和所述本地的离线包资源信息还原所述完整离线包完成所述离线包更新;
若所述第一校验和所述第二校验和不相同,则重新获取所述服务器发送的全量离线包进行所述离线包更新。
7.根据权利要求4所述的方法,其特征在于,所述根据所述差分包资源信息和所述本地离线包资源信息还原完整离线包,完成所述离线包更新,还包括:
若还原所述完整离线包失败,接收所述服务器发送的全量离线包进行离线包更新。
8.一种离线包更新装置,其特征在于,包括:
配置信息获取模块,被配置为当终端进行离线包更新时,获取所述终端离线包的配置信息,其中,所述配置信息携带离线包资源信息;
差分包生成模块,被配置为根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包,其中,所述离线包资源信息包含离线包的版本信息以及标识;
差分包发送模块,被配置为将所述差分包发送给所述终端,供所述终端进行所述离线包更新;所述将所述差分包发送给所述终端,供所述终端进行所述离线包更新包括:对所述差分包配置信息进行拆分,获得各类差分包配置信息,将各类所述差分包配置信息分别发送至终端,供所述终端进行所述离线包更新,其中,所述差分包配置信息包括差分包唯一标识信息,差分包资源信息以及差分包版本信息。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
版本信息获取模块,被配置为获取所述离线包版本信息和所述预先存储的离线包版本信息;
判断模块,被配置为若所述离线包版本信息和预先存储的离线包版本信息不同,基于所述离线包版本信息和所述预先存储的离线包版本信息,对所述离线包资源信息和预先存储的离线包资源信息进行差量计算以获取差量资源信息,基于所述差量资源信息生成所述差分包。
10.一种离线包更新系统,其特征在于,包括:
服务器接收终端发送的本地离线包的配置信息,其中,所述配置信息携带所述离线包资源信息,根据所述离线包资源信息和预先存储的离线包资源信息获取差量资源信息,生成差分包;
所述终端接收所述差分包,其中,所述差分包携带所述差分包资源信息,根据所述差分包资源信息和所述本地离线包资源信息还原完整离线包完成所述离线包更新,所述差分包通过所述服务器对所述差分包配置信息进行拆分,获得各类差分包配置信息,将各类所述差分包配置信息分别发送给所述终端,所述差分包配置信息包括差分包唯一标识信息,差分包资源信息以及差分包版本信息。
11.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至3中任一项所述的离线包更新方法,或者实现如权利要求4至7所述的离线包更新方法。
12.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至3中任一项所述的离线包更新方法,或者实现如权利要求4至7所述的离线包更新方法。
13.一种计算机程序产品,包括计算机程序或计算机指令,其特征在于,所述计算机程序或计算机指令被处理器执行时实现权利要求1至3中任一项所述的离线包更新方法,或者实现如权利要求4至7所述的离线包更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110876287.4A CN113821244B (zh) | 2021-07-30 | 2021-07-30 | 离线包更新方法、装置、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110876287.4A CN113821244B (zh) | 2021-07-30 | 2021-07-30 | 离线包更新方法、装置、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821244A CN113821244A (zh) | 2021-12-21 |
CN113821244B true CN113821244B (zh) | 2024-05-07 |
Family
ID=78924085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110876287.4A Active CN113821244B (zh) | 2021-07-30 | 2021-07-30 | 离线包更新方法、装置、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821244B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203395A (zh) * | 2017-05-19 | 2017-09-26 | 北京京东尚科信息技术有限公司 | 资源升级方法、装置及计算机可读存储介质和电子设备 |
CN109213512A (zh) * | 2018-08-15 | 2019-01-15 | 中国平安人寿保险股份有限公司 | 离线包加载方法、系统、终端及可读存储介质 |
CN110069729A (zh) * | 2017-11-15 | 2019-07-30 | 百度在线网络技术(北京)有限公司 | 一种应用的离线缓存方法和系统 |
CN112947981A (zh) * | 2020-04-03 | 2021-06-11 | 深圳市明源云客电子商务有限公司 | 应用程序资源更新方法、装置、终端设备及服务器 |
-
2021
- 2021-07-30 CN CN202110876287.4A patent/CN113821244B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203395A (zh) * | 2017-05-19 | 2017-09-26 | 北京京东尚科信息技术有限公司 | 资源升级方法、装置及计算机可读存储介质和电子设备 |
CN110069729A (zh) * | 2017-11-15 | 2019-07-30 | 百度在线网络技术(北京)有限公司 | 一种应用的离线缓存方法和系统 |
CN109213512A (zh) * | 2018-08-15 | 2019-01-15 | 中国平安人寿保险股份有限公司 | 离线包加载方法、系统、终端及可读存储介质 |
CN112947981A (zh) * | 2020-04-03 | 2021-06-11 | 深圳市明源云客电子商务有限公司 | 应用程序资源更新方法、装置、终端设备及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN113821244A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109274510B (zh) | 消息处理方法、装置、客户端、服务器及存储介质 | |
CN112003893B (zh) | 一种资源下载方法和装置 | |
CN111221559B (zh) | 应用更新方法、装置、存储介质、终端及服务器 | |
CN107357613B (zh) | 应用更新方法、装置及计算机可读存储介质 | |
CN109388625B (zh) | 多分布式文件系统中处理配置文件的方法及装置 | |
CN107147815B (zh) | 基于打车的通话处理方法和装置 | |
CN108989062B (zh) | 更新群成员数据的方法、装置、终端、系统及存储介质 | |
CN110769395A (zh) | 免流量服务同步方法及装置 | |
CN115185717A (zh) | 接口调用方法、装置、电子设备和存储介质 | |
CN108737588B (zh) | 域名解析方法及装置 | |
CN110865823B (zh) | 预装应用控制方法、预装应用控制装置及存储介质 | |
CN110764847B (zh) | 用户信息处理方法、装置、电子设备及存储介质 | |
CN110690979B (zh) | 群组消息的处理方法、装置、服务器、客户端及存储介质 | |
CN113821244B (zh) | 离线包更新方法、装置、系统、电子设备及存储介质 | |
CN107483605B (zh) | 文件下载方法及装置、存储介质 | |
CN111314426A (zh) | 网页资源获取方法、装置、电子设备及存储介质 | |
CN107122174B (zh) | 应用程序更新方法及装置 | |
CN115086295A (zh) | 文件传输方法、文件传输装置、服务器及存储介质 | |
CN110740360B (zh) | 多媒体资源播放方法及装置 | |
CN111294230B (zh) | 参数获取方法及装置 | |
CN107734072B (zh) | 推送信息的处理方法及装置 | |
CN112181453A (zh) | 固件升级方法、装置及存储介质 | |
CN114489706A (zh) | 升级方法、装置及存储介质 | |
CN107992333B (zh) | 主题获取方法及装置 | |
CN114416218B (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 |