具体实施方式
为了使得多地址下载能够下载到用户实际所需要的文件,本发明实施例提供一种文件下载的方法,本方法中,在使用原始地址无法下载到用户所需要的文件时,使用候选地址继续进行下载;在使用候选地址下载时,首先比较候选地址的期望文件大小与候选地址实际保存的文件大小,如果大小一致,则可以使用该候选地址进行下载,否则,不使用该候选地址进行下载。
下面对本发明实施例提供的文件下载的方法进行具体说明:
在使用原始地址进行下载时,如图2A所示,具体包括:
步骤S01:从原始地址指向的服务器获取文件;
步骤S02:判断使用原始地址是否无法下载到用户所需要的文件;如果是,则到步骤S03;否则,到步骤S04;
步骤S03:废弃所述原始地址,考虑使用候选地址下载所述文件;
步骤S04:进一步决定是否使用候选地址进行加速下载。
一般来说用户是不会使用下载工具下载一个网页文件,所以如果在与原始地址建立连接后,实际下载到的文件为网页文件,或者,在与服务器建立HTTP连接时服务器返回自身保存的文件为网页文件的通知信息时,可以确定使用原 始地址无法下载到用户所需要的文件。同时,如果由于服务器忙等原因与原始地址建立连接失败,也可以确定使用原始地址无法下载到用户所需要的文件。
在使用候选地址进行下载时,如图2B所示,具体包括:
步骤S11:比较候选地址的期望文件大小与候选地址保存的文件大小是否一致,如果一致,则到步骤S12;否则,到步骤S15;
这里,原始地址与候选地址、候选地址的期望文件大小的对应关系会保存在数据库中,在获取候选地址时可以同时获取候选地址的期望文件大小;候选地址的期望文件大小为数据库中记录的原始地址或候选地址对应的一个文件属性,期望文件大小是随数据库更新,通常情况下,期望文件大小与原始地址或候选地址实际保存的文件大小相等,但由于数据库的更新往往会滞后于实际保存文件的资源库的更新,所以期望文件大小与原始地址或候选地址实际保存的文件大小也可能不相等。对于候选地址保存的文件大小,根据HTTP协议,在与候选地址连接成功后,服务器返回的文件大小即为所述候选地址保存的文件大小。
步骤S12:判断使用原始地址是否无法下载到用户所需要的文件,如果是,则到S14;否则,到步骤S13;
步骤S13:比较候选地址的期望文件大小与原始地址保存的文件大小是否一致,如果一致,则到步骤S14;否则,到步骤S15;
这里,对于原始地址保存的文件大小,根据HTTP协议,在与原始地址连接成功后,服务器返回的文件大小即为所述原始地址保存的文件大小。
步骤S14:使用所述原始地址和所述候选地址进行下载;
步骤S15:废弃所述候选地址,不使用该候选地址进行下载,选择使用原始地址进行下载。
步骤S11中,通过比较候选地址的期望文件大小与候选地址实际保存的文件大小是否一致,决定是否使用该候选地址,可以有效的防止由于候选地址所指向的服务器实际保存的文件发生变化而导致下错文件的情况。
进一步地,由于原始地址所保存的是用户实际所需要的文件,因此步骤S13中通过比较候选地址的期望文件大小与原始地址保存的文件大小是否一致,决定是否使用该候选地址,以进一步确定候选地址所保存的文件是用户实际需要下载的文件,更有效的防止了下错文件的情况。当然,一般情况下,候选地址的期望文件大小与原始地址保存的文件大小是一致的,因此,步骤S13可以也可以省略,直接由步骤S11决定是否使用候选地址。
为了保证下载到的文件的准确性,文件下载完成时,需要进行完整性校验,具体的,用户的客户端下载软件利用预定的计算机算法,比如哈希算法,计算所下载的文件特征值并上报给服务器;服务器对该文件特征值与保存的对应文件的特征值进行比较,这里,服务器保存的对应文件的特征值是开始下载文件时上报给服务器的文件特征值,或者也可以是上次下载完该文件的用户上报给服务器的文件特征值,也可以是由服务器自行计算,该特征值是用户实际所需文件的特征值。所述比较结果一致时,说明下载到的文件为用户实际所需的文件,下载成功;如果不一致,则说明下载到的文件不是用户实际所需的文件,可以重新进行下载或者提示用户选择是否进行重新下载。通过上述完整性校验,更加有效的保证了为用户下载其实际所需要的文件。
下面结合具体实施例对本发明进行说明:
实施例一:
本实施例中,用户需要下载QQ2006安装程序,下载工具获得原始地址:201.112.219.03,候选地址:201.112.219.04,后续下载过程如下:
对于原始地址:201.112.219.03,与201.112.219.03建立连接后,获得服务器返回的网页文件,说明原始地址失效,使用候选地址进行下载,与候选地址:201.112.219.04建立连接后,获得服务器返回的候选地址实际保存的文件大小:80M,将该文件大小(80M)与同该候选地址同时获得的候选地址的期望文件大小(80M)进行比较,大小相等,则使用该候选地址进行下载。
实施例二:
本实施例中,用户需要下载QQ2006安装程序,下载工具获得原始地址:201.112.219.03,候选地址:201.112.219.04,后续下载过程如下:
对于原始地址:201.112.219.03,与201.112.219.03建立连接后,服务器未返回网页文件,使用原始地址进行文件下载。同时,对于候选地址:201.112.219.04,与201.112.219.04建立连接后,获得服务器返回的候选地址实际保存的文件大小:80M,将该文件大小(80M)与同该候选地址同时获得的候选地址的期望文件大小(80M)进行比较,大小相等;进一步将候选地址的期望文件大小(80M)与原始地址指向的服务器返回的原始地址保存的文件大小(60M)进行比较,大小不等,则不使用该候选地址进行文件下载。
参见图3,本发明实施例还提供一种下载设备,该设备包括:
原始单元10,用于使用原始地址下载文件;
候选单元11,用于确定所述原始单元使用原始地址无法下载到用户所需要的文件时,使用所述原始地址对应的候选地址下载所述文件。
候选单元11包括:
确定单元20,用于在与所述原始地址建立连接后,判断下载到的文件为网页文件时,确定使用所述原始地址无法下载到用户所需要的文件;或者,在与所述原始地址建立连接后,服务器返回自身保存的文件为网页文件的通知信息时,确定使用所述原始地址无法下载到用户所需要的文件;或者,在与所述原始地址建立连接失败时,确定使用所述原始地址无法下载到用户所需要的文件;
下载单元21,用于在所述确定单元确定使用所述原始地址无法下载到用户所需要的文件时,使用所述原始地址对应的候选地址下载所述文件。
候选单元11进一步包括:
比较单元22,用于比较所述候选地址的期望文件大小与所述候选地址所保存的文件大小是否一致;所述候选地址的期望文件大小为记录的所述候选地址对应的文件大小;
则下载单元21用于:在所述比较单元比较所述候选地址的期望文件大小与所述候选地址所保存的文件大小一致时,使用所述候选地址进行下载。
参见图4,本发明实施例还提供一种下载设备,该设备包括:
原始单元30,用于使用原始地址下载文件;
候选单元31,用于在使用所述原始地址对应的候选地址下载文件前,比较所述候选地址的期望文件大小与所述候选地址所保存的文件大小是否一致,在比较一致时,
确定所述原始单元使用原始地址是否无法下载到用户所需要的文件,如果是,则使用所述候选地址进行下载;否则,比较所述候选地址的期望文件大小与所述原始地址保存的文件大小是否一致,在比较一致时,使用所述原始地址和所述候选地址进行下载,在比较不一致时,使用所述原始地址进行下载;所述候选地址的期望文件大小为记录的所述候选地址对应的文件大小。
候选单元31包括:
比较单元40,用于比较所述候选地址的期望文件大小与所述候选地址所保存的文件大小是否一致;
确定单元41,用于在所述比较单元比较一致时,确定所述原始单元使用原始地址是否无法下载到用户所需要的文件;
第一下载单元42,用于在所述确定单元确定使用所述原始地址无法下载到用户所需要的文件时,使用所述候选地址下载所述文件;
第二下载单元43,用于在所述确定单元确定使用所述原始地址可以下载到用户所需要的文件时,比较所述候选地址的期望文件大小与所述原始地址保存的文件大小是否一致,在比较一致时,使用所述原始地址和所述候选地址进行下载,在比较不一致时,使用所述原始地址进行下载。
确定单元41包括:
第一单元50,用于在与所述原始地址建立连接后,判断下载到的文件为网页文件时,确定使用所述原始地址无法下载到用户所需要的文件;
第二单元51,用于在与所述原始地址建立连接后,服务器返回自身保存的文件为网页文件的通知信息时,确定使用所述原始地址无法下载到用户所需要的文件;
第三单元52,用于在与所述原始地址建立连接失败时,确定使用所述原始地址无法下载到用户所需要的文件。
参见图5,本发明实施例还提供一种下载设备,该设备包括:
原始单元60,用于使用原始地址下载文件;
候选单元61,用于在确定所述原始单元使用原始地址无法下载到用户所需要的文件时,比较所述原始地址对应的候选地址的期望文件大小与所述候选地址所保存的文件大小是否一致,在比较一致时,使用所述候选地址进行下载;所述候选地址的期望文件大小为记录的所述候选地址对应的文件大小。
候选单元61包括:
确定单元70,用于在与所述原始地址建立连接后,判断下载到的文件为网页文件时,确定使用所述原始地址无法下载到用户所需要的文件;或者,在与所述原始地址建立连接后,服务器返回自身保存的文件为网页文件的通知信息时,确定使用所述原始地址无法下载到用户所需要的文件;或者,在与所述原始地址建立连接失败时,确定使用所述原始地址无法下载到用户所需要的文件;
下载单元71,用于在所述确定单元确定使用所述原始地址无法下载到用户所需要的文件时,使用所述候选地址下载所述文件。
该设备进一步包括:
检验单元62,用于计算下载到的文件的特征值,将所述特征值与已保存的对应文件的特征值进行比较,如果比较结果一致,则本次下载成功;否则,重新下载所述文件,或提示用户选择是否进行重新下载。
综上,本发明实施例的有益效果在于:
本发明实施例中,在使用原始地址无法下载到用户实际所需要的文件时, 会继续使用候选地址进行下载,能够保证为用户下载到其所需要的文件。
同时,在使用候选地址下载文件时,通过比较候选地址的期望文件大小与候选地址实际保存的文件大小是否一致,决定是否使用该候选地址,可以有效的防止由于候选地址实际保存的文件发生变化而导致下错文件的情况。
进一步的,在候选地址的期望文件大小与候选地址实际保存的文件大小一致时,进一步比较候选地址的期望文件大小与原始地址保存的文件大小是否一致,一致则使用该候选地址,否则不使用,可以进一步确定候选地址实际保存的文件是用户实际所需要下载的文件,更有效的防止了下错文件的情况。
最后,为了保证下载到的文件的准确性,文件下载完成时,需要进行完整性校验,更加有效的保证了下载到的文件是用户实际所需的文件。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。