一种应用程序下载方法、装置及系统与流程

文档序号:12624908阅读:280来源:国知局
一种应用程序下载方法、装置及系统与流程

本发明涉及移动通信技术领域,特别是涉及一种应用程序下载方法、装置及系统。



背景技术:

现有情况下,应用程序的安装包下载业务一般通过HTTP(HyperText Transfer Protocol,超文本传输协议)方式提供给用户直接下载,而用户是通过网络运营商的本地DNS和接入网络连接到下载服务器。由于HTTP是通过明文传输,故网络运营商可通过流量旁路分析系统,利用HTTP截获用户URI(Uniform Resource Identifier,统一资源标识符)请求内容中下载请求头文件所包含的apk(AndroidPackage,安卓安装包)信息,然后抢先应答用户,对下载的内容进行篡改,并引导用户下载另外的apk。

因此,用户在下载应用程序时所出现的上述情况,使得用户下载不了真正所需的应用程序,也使得用户体验很差,而应用程序提供商的下载业务也受到影响。



技术实现要素:

本发明主要解决的技术问题是提供一种应用程序下载方法及装置,能够避免下载内容被篡改,保证用户下载真正所需的应用程序。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种应用程序下载方法,所述方法包括:终端获取目标应用程序的第一下载地址;其中,所述第一下载地址包含获得所述目标应用程序的地址信息以及校验信息;利用所述校验信息对所述目标应用程序进行校验;当校验错误时,将所述第一下载地址替换为第二下载地址,并根据所述第二下 载地址下载所述目标应用程序。

其中,所述校验信息为信息摘要算法MD5信息,所述利用所述校验信息对目标应用程序进行校验的步骤包括:根据所述地址信息下载所述目标应用程序中的前面第一预定大小的数据;利用所述MD5信息对所述第一预定大小数据进行校验,判断所述MD5信息是否与所述第一预定大小数据所计算得到的MD5信息一致。

其中,所述校验信息为冗余校验CRC信息,所述利用所述校验信息对目标应用程序进行校验的步骤包括:根据所述地址信息下载所述目标应用程序,获取所述目标应用程序中的末尾第二预定大小数据;利用所述CRC信息对所述第二预定大小数据进行校验,判断所述CRC信息是否与所述第二预定大小数据所计算得到的CRC信息一致。

其中,所述校验信息为文件大小信息,所述利用所述校验信息对目标应用程序进行校验的步骤包括:根据所述下载地址的超文本传输协议HTTP响应头文件的HTTP实体的传输长度Content-Length字段,确定目标应用程序的文件大小;利用所述文件大小信息对所述目标应用程序的文件大小进行校验,判断所述文件大小是否与所述确定的目标应用程序的文件大小一致。

其中,将所述第一下载地址替换为第二下载地址包括:将所述第一下载地址中的协议和域名替换为预设的协议和域名后作为所述第二下载地址,所述预设的协议和域名由所述终端预先存储或由服务器获知所述终端校验错误后下发给所述终端;或者,根据下载地址对应关系表,将第一下载地址替换为对应的第二下载地址,所述第二下载地址的协议和域名与所述第一下载地址的协议和域名不同,所述下载地址对应关系表由所述终端预先存储或由服务器获知所述终端校验错误后下发给所述终端。

其中,所述预设的协议为https协议,所述根据所述第二下载地址下载所述目标应用程序包括:根据替换后的https协议,跳转到https传输路径后根据所述第二下载地址下载所述目标应用程序。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种 应用程序下载方法,所述方法包括:服务器接收一终端发送的请求下载目标应用程序的指令,根据所述指令确定所述目标应用程序的第一下载地址;其中,所述第一下载地址包含获得所述目标应用程序的地址信息以及校验信息;将所述第一下载地址发送至所述终端,使所述终端利用所述校验信息对所述目标应用程序进行校验;并在校验错误时,由所述终端将所述第一下载地址替换为所述第二下载地址,并根据所述第二下载地址下载所述目标应用程序。

其中,所述服务器将预设的协议和域名预先下发给所述终端或者在获知所述终端校验错误后再下发给所述终端,由所述终端将所述第一下载地址中的协议和域名替换为预设的协议和域名后作为所述第二下载地址;或者,所述服务器将下载地址对应关系表预先下发给所述终端或者在获知所述终端校验错误后再下发给所述终端,由所述终端是根据下载地址对应关系表,将第一下载地址替换为对应的第二下载地址,所述第二下载地址的协议和域名与所述第一下载地址的协议和域名不同。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种应用程序下载装置,所述装置包括:获取单元,用于获取目标应用程序的第一下载地址;其中,所述第一下载地址包含获得所述目标应用程序的地址信息以及校验信息;校验单元,用于利用所述校验信息对所述目标应用程序进行校验;以及执行单元,用于当所述校验单元校验错误时,将所述第一下载地址替换为第二下载地址,并根据所述第二下载地址下载所述目标应用程序。

其中,所述校验信息为信息摘要算法MD5信息;所述校验单元包括:下载子单元,用于根据所述地址信息下载所述目标应用程序中的前面第一预定大小的数据;第一判断子单元,用于利用所述MD5信息对所述第一预定大小数据进行校验,判断所述MD5信息是否与所述第一预定大小数据所计算得到的MD5信息一致。

其中,所述校验信息为冗余校验CRC信息;所述校验单元包括:下载子单元,用于根据所述地址信息下载所述目标应用程序,获取所述目标应用程序中的末尾第二预定大小数据;第二判断子单元,用于利用 所述CRC信息对所述第二预定大小数据进行校验,判断所述CRC信息是否与所述第二预定大小数据所计算得到的CRC信息一致。

其中,所述校验信息为文件大小信息;所述校验单元包括:确定子单元,用于根据所述下载地址的超文本传输协议HTTP响应头文件的HTTP实体的传输长度Content-Length字段,确定目标应用程序的文件大小;第三判断子单元,用于利用所述文件大小信息对所述目标应用程序的文件小进行校验,判断所述文件大小是否与所述确定的目标应用程序的文件大小一致。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种应用程序下载装置,所述装置包括:确定单元,用于接收一终端发送的请求下载目标应用程序的指令,根据所述指令确定所述目标应用程序的第一下载地址;其中,所述第一下载地址包含获得所述目标应用程序的地址信息以及校验信息;发送单元,用于将所述第一下载地址发送至所述终端,使所述终端利用所述校验信息对所述目标应用程序进行校验;并在校验错误时,由所述终端将所述第一下载地址替换为所述第二下载地址,并根据所述第二下载地址下载所述目标应用程序。

其中,所述装置还包括:执行单元,用于将预设的协议和域名预先下发给所述终端或者在获知所述终端校验错误后再下发给所述终端,由所述终端将所述第一下载地址中的协议和域名替换为预设的协议和域名后作为所述第二下载地址;或者,将下载地址对应关系表预先下发给所述终端或者在获知所述终端校验错误后再下发给所述终端,由所述终端是根据下载地址对应关系表,将第一下载地址替换为对应的第二下载地址,所述第二下载地址的协议和域名与所述第一下载地址的协议和域名不同。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种应用程序下载系统,所述系统包括:终端,用于向服务器发送请求下载目标应用程序的指令,获取所述服务器返回的目标应用程序的第一下载地址;其中,所述第一下载地址包含获得所述目标应用程序的地址信息以及校验信息,利用所述校验信息对所述目标应用程序进行校验;当校 验错误时,将所述第一下载地址替换为第二下载地址,并根据所述第二下载地址下载所述目标应用程序;以及服务器,用于接收所述终端发送的请求下载目标应用程序的指令,根据所述指令确定所述目标应用程序的第一下载地址,将所述第一下载地址发送至所述终端。

本发明的有益效果是:本发明提供一种应用程序下载方法、装置及系统,当终端请求下载目标应用程序时,获得包含地址信息和校验信息的第一下载地址,并且利用校验信息对目标应用程序进行校验的校验结果判断目标应用程序下载是否正确,进一步地,当确定根据第一下载地址下载的目标应用程序错误时直接跳转至对应第二下载地址,以下载该目标应用程序,从而得到正确的应用程序,让用户下载到真正所需应用程序,避免了在下载过程中被篡改而导致下载错误的问题,影响用户体验的技术问题。

附图说明

图1是本发明一种应用程序下载方法的第一实施方式的流程图;

图2是本发明一种应用程序下载方法的第二实施方式的流程图;

图3是本发明一种应用程序下载方法的第三实施方式的流程图;

图4是本发明一种应用程序下载方法的第四实施方式的流程图;

图5是本发明一种应用程序下载方法的第五实施方式的流程图;

图6是本发明实施方式中终端显示服务器提供下载的应用程序的示意图;

图7是本发明实施方式中终端利用第一下载地址下载应用程序的示意图;

图8是本发明实施方式中终端利用第二下载地址下载应用程序的示意图;

图9是本发明一种应用程序下载方法的第六实施方式的流程图;

图10本发明一种应用程序下载装置的第一实施方式的结构示意图;

图11是本发明一种应用程序下载装置的第二实施方式的结构示意图;

图12是本发明一种应用程序下载装置的第三实施方式的结构示意图;

图13是本发明一种应用程序下载装置的第四实施方式的结构示意图;

图14是本发明一种应用程序下载装置的第五实施方式的结构示意图;

图15是本发明一种应用程序下载系统一实施方式的结构示意图。

具体实施方式

首先对本发明实施方式中相关的现有技术名词加以解释说明。

CRC:循环冗余校验码(Cyclic Redundancy Check),是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

MD5:信息摘要算法第五版(Message Digest Algorithm 5),是计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护,又可译为摘要算法、哈希算法,其作用是让大容量信息在用数字签名软件签署私人密钥前被“压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串),对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。

下面结合附图和实施方式对本发明进行详细说明。

请参阅图1,为本发明一种应用程序下载方法的第一实施方式的流程图,该实施方式示出的应用程序下载方法包括:

步骤S10,终端获取目标应用程序的第一下载地址。其中,该第一下载地址包含获得该目标应用程序的地址信息以及校验信息。

在步骤S10中,用户通过在终端选取所需下载的应用程序(目标应用程序)而将相应的下载请求发送至服务器,该服务器识别该下载请求并生成相应的第一下载地址。其中,该终端为该服务器对应的客户端, 该客户端能够直接访问该服务器以获得所需的数据。基于此,该服务器中已经预先保存了多个应用程序和第一地址信息,然后根据该下载请求确定所需下载的应用程序(例如,确定所需下载的应用程序的名称/和类型),以此确定对应的第一下载地址。

步骤S11,利用该校验信息对目标应用程序进行校验。当校验正确时,进入步骤S12;当校验错误时,进入步骤S13。

在步骤S11中,该校验信息至少包括信息摘要算法MD5信息、冗余校验CRC信息、文件大小信息中的至少一种。

在本实施方式中,同时设置如上所述的三个校验信息,对目标应用程序进行校验,具体原理请参见图2及对应的文字说明。

在其他实施方式中,还可以只选择如上所述的三个校验信息中的其中一个信息对目标应用程序进行校验,具体原理请分别参见图3-5及对应的文字说明。

因此,以上所述的三个校验信息可以随意组合、顺序随意调整,采用其中的一种或多种校验信息对目标应用程序进行校验,以此来判断下载的应用程序是否正确。

步骤S12,完成该目标应用程序的下载。然后,流程结束。

在步骤S12中,当经过如步骤S11所述的校验且校验正确时,则可以确定已经下载的至少部分目标应用程序是正确的。当在步骤S11中,只下载了该目标应用程序部分数据时,则此时可以继续下载剩余部分数据,完成该目标应用程序的下载。若在步骤S11中已经下载了全部的目标应用程序数据时,则此时确定该目标应用程序已经下载完成。进一步地,当完成目标应用程序的下载时,在终端上保存、安装或运行该目标应用程序。

步骤S13,将该下载地址替换为第二下载地址,并根据该第二下载地址下载该目标应用程序。

其中,该第二下载地址由服务器根据第一下载地址预先设定并保存。

具体地,该第二下载地址为第一下载地址通过替换协议和域名而得 到。该预设的协议和域名由该客户端预先存储或由服务器获知该客户端校验错误后下发给该客户端。

该替换的协议为https协议。因为http是超文本传输协议,信息是明文传输,而https则是具有安全性的ssl加密传输协议,因此修改协议和域名后的第二下载地址不容易被嗅探篡改。

进一步地,为了防止根据第一下载地址下载目标应用程序而发生的篡改事件,服务器中还针对每个第一下载地址预先设置了对应的第二下载地址,存储到下载地址对应关系表,作为备用的安全下载地址。当终端的校验错误时,服务器将其对应的第二下载地址下发至终端,使终端可以根据第二下载地址下载该目标应用程序,以得到正确的应用程序。或者,终端预先存储服务器下发的第二下载地址,在发现校验错误时,跳转到第二下载地址下载目标应用程序。本申请优选选择终端预先存储第二下载地址的方式,这样反应速度更快。该第二下载地址是将协议改为更安全的https协议,并替换第一下载地址的域名而得到的,这样能够保证第二下载地址不被第三方随意嗅探篡改。

需说明的是,还可以采用以下方式:直接由客户端将所述第一下载地址中的协议和域名替换为预设的协议和域名后作为第二下载地址,所述预设的协议和域名由所述客户端预先存储或由服务器获知所述客户端校验错误后下发给所述客户端。本申请优选选择终端预先存储预设协议和域名的方式,这样反应速度更快。

进一步地,该第二下载地址可以由服务器在接收终端下载目标应用程序的请求时,与第一下载地址同时下发至终端;还可以在终端出现校验错误时下发至终端。

利用本发明实施方式,当终端请求下载目标应用程序时,获得包含地址信息和校验信息的第一下载地址,并且通过利用校验信息对目标应用程序的校验结果判断目标应用程序下载是否正确,进一步地,当确定根据第一下载地址下载的目标应用程序错误时直接跳转至对应第二下载地址,以下载该目标应用程序,从而得到正确的应用程序,避免了在下载过程中被第三方随意篡改而改变下载目标应用程序的地址,影响用 户体验的技术问题。

请同时参阅图2,为本发明一种应用程序下载方法的第二实施方式的流程图,该实施方式示出的应用程序下载方法包括:

步骤S20,终端获取目标应用程序的第一下载地址。其中,该第一下载地址包含获得该目标应用程序的地址信息以及校验信息。

该校验信息包括信息摘要算法MD5信息、冗余校验CRC信息、文件大小信息。

步骤S21,根据该下载地址的超文本传输协议HTTP响应头文件的HTTP实体的传输长度Content-Length字段,确定目标应用程序的文件大小。

步骤S22,利用校验信息中的文件大小信息对目标应用程序的文件大小进行校验,判断该文件大小是否与确定的目标应用程序的文件大小一致。若是,则进入步骤S23;否则,进入步骤S28。

步骤S23,根据该地址信息下载目标应用程序中的前面第一预定大小的数据。

具体地,该第一预定大小数据为10k,即,根据该地址信息下载目标应用程序前面10k的数据。

步骤S24,利用校验信息中的MD5信息对该第一预定大小数据进行校验,判断该MD5信息是否与第一预定大小数据所计算得到的MD5信息一致。若是,则进入步骤S25,否则,进入步骤S28。

通常情况下,利用多线程分段下载技术下载应用程序。网络运营商篡改下载事件以篡改目标应用程序时,篡改后的目标应用程序与真正的目标应用程序在第一段文件中MD5信息不同。因此,在步骤S24中,对下载的前10k数据进行MD5信息校验,就可以判断目标应用程序是否被篡改。但是,第一预定大小的数量也可以根据下载情况、网络应用场景等相应地调整,并不仅限于此。

步骤S25,继续下载该目标应用程序的剩余数据。

步骤S26,利用校验信息中的CRC信息对第二预定大小数据进行校验,判断该CRC信息是否与第二预定大小数据所计算得到的CRC信息 一致。其中,该第二预定大小数据为下载的目标应用程序中的末尾的第二预定大小的数据。若是,则进入步骤S27,否则,进入步骤S28。

具体地,该第二预定大小数据为10k。

在步骤S24中,当利用校验信息中的包含的MD5信息对已经下载的前10k数据校验而正确时,再在步骤S26利用校验信息中的包含的CRC信息对下载的剩余数据的末尾10k数据进行校验。当校验正确时,则下载的目标应用程序正确;当校验失败时,则下载的目标应用程序错误,此时,终端可以直接将已经下载到本地的应用程序删除,或者产生一提示信息以询问用户是否删除这个错误应用程序。

步骤S27,完成该目标应用程序的下载。然后,流程结束。

步骤S28,将该下载地址替换为第二下载地址,并根据该第二下载地址下载该目标应用程序。

在其他实施方式中,终端还可以调换MD5信息与CRC信息校验的顺序,即,利用CRC信息对已经下载的前面第一预定大小数据进行校验,并当校验正确时,再利用MD5信息对下载的剩余数据的末尾第二预定大小的数据进行校验。同样地,抽取的第一预定大小数据和第二预定大小数据的顺序也可以相应地调换。

在本实施方式中,按照如上所述的校验顺序,利用三个校验信息(文件大小信息、MD5信息以及CRC信息)对目标应用程序进行校验,以保证下载得到的应用程序的准确性。

进一步地,终端还可以在应用程序全部下载完成之后,对应用程序的全部数据或部分数据同时(或先后)进行MD5信息和CRC信息的校验。

因此,对应用程序的数据进行MD5信息和CRC信息的校验可以包含多种方式,只要能够确定通过第一下载地址下载的应用程序经过校验后知道其是否被篡改。同样地,终端还可以采用其他校验信息对应用程序数据进行校验,并不仅限于此。

请参阅图3,当该校验信息为MD5信息时,步骤S11,即,利用所述校验信息对所述目标应用程序进行校验的步骤,具体通过如下步骤实 现:

步骤S31a,根据该地址信息下载目标应用程序中的前面第一预定大小的数据。

具体地,该第一预定大小数据为10k,即,根据该地址信息下载目标应用程序前面10k的数据。

步骤S31b,利用该MD5信息对该第一预定大小数据进行校验,判断该MD5信息是否与第一预定大小数据所计算得到的MD5信息一致。若是,则校验正确,进入步骤S32,否则校验错误,进入步骤S33。

在其他实施方式中,还可以根据该地址信息将该目标应用程序全部下载,并利用MD5信息对已经下载完成的目标应用程序的全部数据进行校验。

图3中的其他步骤请参见图1及其相应的文字说明。

请参阅图4,当该校验信息为CRC信息时,步骤S11,即,利用所述校验信息对所述目标应用程序进行校验的步骤,具体通过如下步骤实现:

步骤S41a,根据该地址信息下载所述目标应用程序,获取该目标应用程序中的末尾第二预定大小数据。

具体地,该第二预定大小数据为10k。

步骤S41b,利用该CRC信息对第二预定大小数据进行校验,判断CRC信息是否与第二预定大小数据所计算得到的CRC信息一致。若是,则校验正确,进入步骤S42,否则校验错误,进入步骤S43。

图4中的其他步骤请参见图1及其相应的文字说明。

进一步地,终端还可以利用CRC信息对已经下载的应用程序的全部数据进行校验,或者对已经下载的全部剩余数据进行校验,或者在已经下载的应用程序的全部数据(或剩余数据)中选取一段或多段数据进行校验。同时,第二预定大小的数量也可以根据下载情况、网络应用场景等相应地调整,并不仅限于此。

请参阅图5,当该校验信息为文件大小信息时,步骤S11,即,利用所述校验信息对所述目标应用程序进行校验的步骤,具体通过如下步 骤实现:

步骤S51a,根据该下载地址的超文本传输协议HTTP响应头文件的HTTP实体的传输长度Content-Length字段,确定目标应用程序的文件大小。

步骤S51b,利用该文件大小信息对目标应用程序的文件大小进行校验,判断该文件大小是否与确定的目标应用程序的文件大小一致。若是,则进入步骤S52;否则,进入步骤S53。

图5中的其他步骤请参见图1及其相应的文字说明。

请同时参阅图6-8,下面结合具体实例对应用程序下载方法进行说明。

图6为终端访问服务器后获得的该服务器提供下载的应用程序列表,终端在用户点击选取所需下载的应用程序(目标应用程序)如“刀塔传奇”后,将相应的下载请求发送至服务器,该服务器识别该下载请求后生成相应的第一下载地址。

如图7所示,服务器提供下载“刀塔传奇”的第一下载地址为:http://gproxy1.sm.cn/t/3/3/dtcq_v3.0.3.33216-v3.0.4.34036.uc_286147_18361845cfc3.apk?cc=3271514265&vh=80ed149efd03add22a4af005a5794b66&sf=165925193。其中,该第一下载地址包含了文件大小信息、前10k数据的MD5信息和后10k数据的CRC信息。终端根据这些信息,按照如上所述的校验规则判断是否存在篡改现象。若无,则正常完成“刀塔传奇”的下载。

当存在篡改现象时,如图8所示,利用第二下载地址替换第一下载地址,即,替换第一下载地址的协议和域名,转由https安全链接下载。该第二地址为:https://gproxy1.uc.cn/t/3/3/dtcq_v3.0.3.33216-v3.0.4.34036.

uc_286147_18361845cfc3.apk?cc=3271514265&vh=80ed149efd03add22a4af005a5794b66&sf=165925193。由此可以看出,通过替换第一下载地址的协议和域名(后面的URI保持不变)而得到第二下载地址。

请参阅图9,为本发明一种应用程序下载方法的第五实施方式的流程示意图。该实施方式示出的应用程序下载方法包括:

步骤S60,服务器接收一终端发送的请求下载目标应用程序的指令, 并根据该指令确定该目标应用程序的第一下载地址。

其中,该第一下载地址包含获得该目标应用程序的地址信息以及校验信息。

该服务器中已经预先保存了多个应用程序和第一地址信息,并能够根据终端发送的下载请求确定所需下载的应用程序(例如,确定所需下载的应用程序的名称/和类型),以此确定对应的第一下载地址。

步骤S61,将该第一下载地址发送至该终端,使该终端利用该校验信息对该目标应用程序进行校验。当校验正确时,进入步骤S62;当校验错误时,进入步骤S63。

进一步地,终端在步骤S61中,该校验信息至少包括信息摘要算法MD5信息、冗余校验CRC信息、文件大小信息中的至少一种。

在本实施方式中,同时设置如上所述的三个校验信息,对目标应用程序进行校验,具体原理请参见图2及对应的文字说明。

在其他实施方式中,还可以只选择如上所述的三个校验信息中的其中一个信息对目标应用程序进行校验,具体原理请分别参见图3-5及对应的文字说明。

因此,以上所述的三个校验信息可以随意组合、顺序随意调整,采用其中的一种或多种校验信息对目标应用程序进行校验,以此来判断下载的应用程序是否正确。

步骤S62,完成该目标应用程序的发送使该终端完成下载。然后,流程结束。

在步骤S62中,当经过如步骤S61所述的校验且校验正确时,则终端可以确定已经下载的至少部分目标应用程序是正确的。当在步骤S61中,终端只下载了该目标应用程序部分数据时,则此时服务器可以继续发送剩余部分数据至终端,使终端完成该目标应用程序的下载。若在步骤S61中,终端已经下载了全部的目标应用程序数据时,则此时终端确定该目标应用程序已经下载完成,服务器不再发送数据至终端。进一步地,当完成目标应用程序的下载时,在终端上保存、安装或运行该目标应用程序。

步骤S63,发送根据该第一下载地址至该终端,由该终端将该第一下载地址替换为该第二下载地址,并根据该第二下载地址下载该目标应用程序。

具体地,该第二下载地址为第一下载地址通过替换协议和域名而得到。该预设的协议和域名由该客户端预先存储或由服务器获知该客户端校验错误后下发给该客户端。

该替换的协议为https协议。因为http是超文本传输协议,信息是明文传输,而https则是具有安全性的ssl加密传输协议,因此修改协议和域名后的第二下载地址不容易被嗅探篡改。

进一步地,为了防止根据第一下载地址下载目标应用程序而发生的篡改事件,服务器中还针对每个第一下载地址预先设置了对应的第二下载地址,存储到下载地址对应关系表,作为备用的安全下载地址。当终端的校验错误时,服务器将其对应的第二下载地址下发至终端,使终端可以根据第二下载地址下载该目标应用程序,以得到正确的应用程序。或者,终端预先存储服务器下发的第二下载地址,在发现校验错误时,跳转到第二下载地址下载目标应用程序。本申请优选选择终端预先存储第二下载地址的方式,这样反应速度更快。该第二下载地址是将协议改为更安全的https协议,并替换第一下载地址的域名而得到的,这样能够保证第二下载地址不被第三方随意嗅探篡改。

在其他实施方式中,该第二下载地址可以由服务器在接收终端下载目标应用程序的请求时,与第一下载地址同时下发至终端,当终端确定校验错误时直接调用该第二下载地址进行目标应用程序的下载,而服务器无需此时再次发送第二下载地址。

请参阅图10,为本发明一种应用程序下载的装置的第一实施方式的结构示意图,该装置70包括获取单元71、校验单元72和执行单元73。在本实施方式中,该装置70为客户端。

该获取单元71用于获取目标应用程序的第一下载地址。其中,该第一下载地址包含获得该目标应用程序的地址信息以及校验信息。

进一步地,该获取单元71响应用户选取的所需下载的应用程序(目 标应用程序),将相应的下载请求发送至一服务器,该服务器识别该下载请求并生成相应的第一下载地址。该服务器中已经预先保存了多个应用程序和第一地址信息。

该校验单元72用于利用该校验信息对目标应用程序进行校验。

该执行单元73用于在该校验单元72校验正确时完成该目标应用程序的下载;在该校验单元72校验错误时将该下载地址替换为第二下载地址,并根据该第二下载地址下载该目标应用程序。其中,该第二下载地址由服务器根据第一下载地址预先设定并保存。

其中,该校验信息至少包括信息摘要算法MD5信息、冗余校验CRC信息、文件大小信息中的至少一种。

在本实施方式中,可以同时设置如上所述的三个校验信息,对目标应用程序进行校验,具体原理请参见图2及对应的文字说明。

在其他实施方式中,还可以只选择如上所述的三个校验信息中的其中一个信息对目标应用程序进行校验,具体原理请分别参见图3-5及对应的文字说明。

因此,以上所述的三个校验信息可以随意组合、顺序随意调整,采用其中的一种或多种校验信息对目标应用程序进行校验,以此来判断下载的应用程序是否正确。

进一步地,其中,该第二下载地址为客户端将第一下载地址通过替换协议和域名而得到。该预设的协议和域名由该客户端预先存储或由服务器获知该客户端校验错误后下发给该客户端。或者,客户端根据下载地址对应关系表,将第一下载地址替换为对应的第二下载地址,所述第二下载地址的协议和域名与所述第一下载地址的协议和域名不同。

上述替换的协议为https协议。因为http是超文本传输协议,信息是明文传输,而https则是具有安全性的ssl加密传输协议,因此修改协议和域名后的第二下载地址不容易被嗅探篡改。

进一步地,为了防止根据第一下载地址下载目标应用程序而发生的篡改服务器中针对每个第一下载地址预先设置了对应的第二下载地址,存储到地址对应关系表,作为备用的安全下载地址。当终端的校验错误 时,服务器将其对应的第二下载地址下发至终端,使终端可以根据第二下载地址下载该目标应用程序,以得到正确的应用程序。或者,服务器预先将第二下载地址下发给终端,终端预先存储服务器下发的第二下载地址,在发现校验错误时,将第一下载地址替换为第二下载地址,跳转到第二下载地址下载目标应用程序。本申请优选选择终端预先存储第二下载地址的方式,这样反应速度更快。该第二下载地址是将协议改为更安全的https协议,并替换第一下载地址的域名而得到的,这样能够保证第二下载地址不被第三方随意嗅探篡改。

需说明的是,还可以采用以下方式:直接由客户端将所述第一下载地址中的协议和域名替换为预设的协议和域名后作为第二下载地址,所述预设的协议和域名由所述客户端预先存储或由服务器获知所述客户端校验错误后下发给所述客户端。本申请优选选择终端预先存储预设协议和域名的方式,这样反应速度更快。

进一步地,该第二下载地址可以由服务器在接收终端下载目标应用程序的请求时,与第一下载地址同时下发至终端;还可以在终端出现校验错误时下发至终端。

请参阅图11,为本发明一种应用程序下载装置的第二实施方式的结构示意图,在本实施方式中,该校验信息为信息摘要算法MD5信息。该校验单元72包括:

下载子单元821,用于根据地址信息下载目标应用程序中的前面第一预定大小的数据。具体地,该第一预定大小数据为10k,即,根据该地址信息下载目标应用程序前面10k的数据。

第一判断子单元822,用于利用该MD5信息对该第一预定大小数据进行校验,判断该MD5信息是否与该第一预定大小数据所计算得到的MD5信息一致。在其他实施方式中,还可以根据该地址信息将该目标应用程序全部下载,并利用第一信息包括的MD5信息对已经下载完成的目标应用程序的全部数据进行校验。

图11中的其他模块请参见图10及其相应的文字说明。

请参阅图12,为本发明一种应用程序下载装置的第三实施方式的结 构示意图,在本实施方式中,该校验信息为冗余校验CRC信息。该校验单元72包括:

下载子单元921,用于根据该地址信息下载该目标应用程序,获取该目标应用程序中的末尾第二预定大小数据。具体地,该第二预定大小数据为10k。

第二判断子单元922,用于利用该CRC信息对该第二预定大小数据进行校验,判断该CRC信息是否与该第二预定大小数据所计算得到的CRC信息一致。

进一步地,终端还可以利用第二信息包含的CRC信息对已经下载的应用程序的全部数据进行校验,或者对已经下载的全部剩余数据进行校验,或者在已经下载的应用程序的全部数据(或剩余数据)中选取一段或多段数据进行校验。同时,第二预定大小的数量也可以根据下载情况、网络应用场景等相应地调整,并不仅限于此。

图12中的其他模块请参见图10及其相应的文字说明。

请参阅图13,为本发明一种应用程序下载装置的第四实施方式的结构示意图,在本实施方式中,该校验信息为文件大小信息。该校验单元72包括:

确定子单元1021,用于根据该下载地址的超文本传输协议HTTP响应头文件的HTTP实体的传输长度Content-Length字段,确定目标应用程序的文件大小。

第三判断子单元1022,用于利用该文件大小信息对该目标应用程序的文件小进行校验,判断该文件大小是否与该确定的目标应用程序的文件大小一致。

图13中的其他模块请参见图10及其相应的文字说明。

请参阅图14,为本发明一种应用程序下载装置的第五实施方式的结构示意图,该装置200包括确定单元201、发送单元202以及执行单元203。在本实施方式中,该装置200为一服务器。

该确定单元201用于接收一终端发送的请求下载目标应用程序的指令,根据该指令确定该目标应用程序的第一下载地址。其中,该第一下 载地址包含获得该目标应用程序的地址信息以及校验信息。

该发送单元202用于将该第一下载地址发送至该终端,使该终端利用该校验信息对该目标应用程序进行校验。并在校验错误时,由该终端将该第一下载地址替换为该第二下载地址,并根据该第二下载地址下载该目标应用程序。

该执行单元203用于将预设的协议和域名预先下发给该终端或者在获知该终端校验错误后再下发给该终端,由该终端将该第一下载地址中的协议和域名替换为预设的协议和域名后作为该第二下载地址。或者,将下载地址对应关系表预先下发给该终端或者在获知该终端校验错误后再下发给该终端,由该终端是根据下载地址对应关系表,将第一下载地址替换为对应的第二下载地址,该第二下载地址的协议和域名与该第一下载地址的协议和域名不同。

请参阅图15,为本发明一种应用程序下载系统一实施方式的结构示意图,该系统300包括终端301以及服务器302。

该终端301用于向服务器302发送请求下载目标应用程序的指令,获取该服务器302返回的目标应用程序的第一下载地址,其中,该第一下载地址包含获得该目标应用程序的地址信息以及校验信息,利用该校验信息对该目标应用程序进行校验,当校验错误时,将该第一下载地址替换为第二下载地址,并根据该第二下载地址下载该目标应用程序。

该服务器302用于接收该终端301发送的请求下载目标应用程序的指令,根据该指令确定该目标应用程序的第一下载地址,将该第一下载地址发送至该终端301。

本发明提供一种应用程序下载方法、装置及系统,当终端请求下载目标应用程序时,获得包含地址信息和校验信息的第一下载地址,并且利用校验信息对目标应用程序进行校验的校验结果判断目标应用程序下载是否正确,进一步地,当确定根据第一下载地址下载的目标应用程序错误时直接跳转至对应第二下载地址,以下载该目标应用程序,从而得到正确的应用程序,让用户下载到真正所需应用程序,避免了在下载 过程中被篡改而导致下载错误的问题,影响用户体验的技术问题。进一步地,由于避免了下载内容被篡改,保证用户下载真正所需的应用程序,能够保证应用程序提供商的下载业务不受影响。

以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1