一种离线下载的方法及系统的制作方法

文档序号:7976658阅读:236来源:国知局
专利名称:一种离线下载的方法及系统的制作方法
技术领域
本发明属于互联网技术领域,尤其涉及一种离线下载的方法及系统。
背景技术
离线下载是指通过下载工具的服务器代替用户先行下载,在服务器下载的过程中,用户可以关掉下载工具或者机器,等到离线下好后,再从下载工具的服务器上高速下载到用户所在的客户端。离线下载能有效提高用户下载的效率并节省用户的带宽。离线下载的一个重要功能就是秒下功能,当用户所在客户端向离线下载系统发送一个离线下载(包含对应的URL)请求时(如图1所示),离线下载系统的离线任务管理服务器在离线任务数据库中查找是否存在与所述下载请求信息相对应的文件信息,如果存在,则向用户反馈已存在信息,用户所在客户端直接从云存储服务器中下载该文件。离线下载系统可以将下载完成的文件共享给用户,然而,当已下载完成的文件的URL链接没有改变,但URL链接对应的文件发生了变化(例如软件版本的更新、发布游戏补丁等),通过原始的URL链接从离线下载系统秒下到的文件总是旧的版本,无法下载到更新后的版本,浪费终端用户的下载时间和带宽。

发明内容
本发明实施例的目的在于提供一种离线下载的方法,旨在解决现有技术在URL链接没有改变,但URL链接对应的文件发生了变化时,无法下载到更新后的文件的问题。本发明实施例是这样实现的,一种离线下载的方法,所述方法包括以下步骤:接收用户发送的文件离线下载请求信息,所述文件离线下载请求信息中携带有该文件的统一资源定位符URL ;在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件;在存在时,检测所述文件是否发生变化;在发生变化时,根据所述URL从目标网站下载所述文件,并更新原有文件。一种离线下载验证的方法,所述方法包括:A、在离线任务数据库中存在正在下载或者已下载完成的与用户发送的文件离线下载请求信息相对应的文件/或者离线任务数据库中已下载完成的文件超过预设的存储期限时,根据所述文件的URL从目标网站获取所述文件的验证信息;B、将获取的验证信息与离线任务数据库正在下载或者已下载完成的该文件进行比较,若比较结果相一致,则判定所述文件未发生变化,否则,判定所述文件发生变化。本发明实施例的另一目的在于提供一种离线下载系统,所述系统包括:离线任务管理服务器,用于接收用户发送的文件离线下载请求信息,在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件,所述文件离线下载请求信息中携带有该文件的统一资源定位符URL ;
验证服务器,用于在离线任务数据库中存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件时,检测所述文件是否发生变化;离线下载服务器集,用于在所述文件发生变化时,根据所述URL从目标网站下载所述文件,并更新原有文件。一种离线下载验证服务器,所述验证服务器包括:信息获取单元,用于在离线任务数据库中存在正在下载或者已下载完成的与用户发送的文件离线下载请求信息相对应的文件/或者离线任务数据库中已下载完成的文件超过预设的存储期限时,根据所述文件的URL从目标网站获取所述文件的验证信息;判定单元,用于将获取的验证信息与离线任务数据库正在下载或者已下载完成的该文件进行比较,若比较结果相一致,则判定所述文件未发生变化,否则,判定所述文件发生变化。从上述技术方案可以看出,本发明实施例通过对离线任务数据库已下载文件的检测,可以准确、高效的判断出URL链接没有改变但URL链接对应的文件是否发生了变化,并对已发生变化的文件进行快速更新,有效保证了用户从离线任务数据库下载到的文件是最新的文件。


图1是现有离线下载方法的实现流程图;图2是发明实施例一提供的离线下载方法的实现流程图;图3是发明实施例二提供的离线下载方法的实现流程图;图4是发明实施例二提供的离线下载方法的具体流程图;图5是明实施例三提供的离线下载系统的组成结构图;图6是明实施例三提供的离线任务管理服务器的组成结构图;图7是明实施例三提供的验证服务器的组成结构图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在本发明实施例中,接收用户发送的携带有URL的文件离线下载请求信息,在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件,在存在时,检测所述文件是否发生变化,在发生变化时,根据所述URL从目标网站下载所述文件来更新原有文件。本发明实施例可以准确、高效的检测出URL链接没有改变但URL链接对应的文件是否发生了变化,并对已发生改变的文件进行快速更新,有效保证用户从离线任务数据库下载到的文件是最新的文件。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一:图2示出了本发明实施例一提供的离线下载方法的实现流程,该方法过程详述如下:
在步骤S201中,接收用户发送的文件离线下载请求信息,所述文件离线下载请求信息中携带有该文件的统一资源定位符URL。在本实施例中,离线任务管理服务器接收用户所在客户端发送的离线文件下载请求信息,所述信息包括但不局限于该文件的统一资源定位符(Uniform/UniversalResource Locator, URL)。在步骤S202中,在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件下载请求信息相对应的文件,在存在时,执行步骤S203,在不存在时,执行步骤S205。在本实施例中,离线任务数据库中存储的信息包括URL与文件的映射信息、文件大小、哈希标识以及文件存储的时间等。离线任务管理服务器在接收到用户的离线文件下载请求信息后,在离线任务数据库查询是否存在正在下载或者已下载完成的与所述文件下载请求信息相对应的文件。具体的是,在离线任务数据库的映射记录表(URL与文件的映射表或者是文件的其他唯一标识符与文件的映射表)中查询是否存在正在下载或者已下载完成的与所述文件下载请求信息相对应的文件。其中,URL与文件的映射表中每个URL只能对应一个文件。在步骤S203中,检测所述文件是否发生变化,如果发生变化,则执行步骤S205,如果没有发生变化,则执行步骤S204。具体的是,检测所述文件的大小、哈希标识是否发生变化。其中,针对http协议中静态页面、图片或其他可以确定大小的文件,http服务器会在http头中加入content-length,并写入文件的大小。因此只需要读取http头信息,就可以获取该文件的大小,将获取的文件的大小与离线任务数据库中已有映射记录的该文件大小进行比较,如果大小相同,则继续比较该文件的哈希标识是否发生改变,如果没有,则执行步骤S204,如果大小不相同,则说明文件已发生改变,执行步骤S205。在步骤S204中,向用户所在客户端反馈所述文件已经下载完成信息。在本实施例中,如果检测的文件没有发生变化,则直接向用户所在客户端反馈所述文件已经下载完成信息,用户在需要从云存储服务器中载即可。这里检测的文件没有变化指的是文件大小、哈希标识等都没有变化。在步骤S205中,根据所述URL从目标网站下载所述文件。在本实施例中,当离线任务数据库中查询不存在正在下载或者已下载完成的与所述文件下载请求信息相对应的文件时,离线任务管理服务器将所述文件下载请求信息发送给离线任务分发服务器,离线任务分发服务器将该文件下载任务分发给离线下载服务器群,离线下载服务器群根据所述文件下载请求信息中携带的URL,从目标网站下载所述文件存储至云存储服务器,并在离线任务据库的映射记录表中增加该URL与文件的映射关系,同时记录文件的大小、哈希标识等信息。当离线任务数据库中查询存在正在下载或者已下载完成的与所述文件下载请求信息相对应的文件时,但通过检测该文件已经发生变化时,根据所述URL从目标网站下载所述文件存储至云存储服务器,并更新离线任务数据库中已保存的与所述文件下载请求信息相对应的文件所有信息,包括URL与文件的映射记录以及映射记录中文件的大小、哈希标识等信息。
本发明实施例通过对离线任务数据库已下载文件大小、哈希标识等的检测,可以准确、高效的检测出URL链接没有改变但URL链接对应的文件是否发生了变化,并对已发生改变的文件进行快速更新,有效保证用户从离线任务数据库下载到的文件是最新的文件。实施例二:图3示出了本发明实施例二提供的离线下载方法的实现流程,该方法过程详述如下:在步骤S301中,接收用户发送的文件离线下载请求信息,所述文件离线下载请求信息中携带有该文件的统一资源定位符URL ;在步骤S302中,在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件,在存在时,执行步骤S303,在不存在时,执行步骤S306。在本实施例中,步骤S301和步骤S302与实施例一中的步骤S201和步骤S202相同,具体实施过程参见实施例一中的步骤S201和步骤S202的相关描述,在此不再赘述。在步骤S303中,根据所述文件的URL从目标网站获取所述文件的验证信息。在本实施例中,在离线任务数据库中存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件,验证服务器根据所述文件的URL从目标网站获取所述文件的验证信息(如图4所示)。所述验证信息包括但不局限于所述文件的大小、哈希标识等信息。文件的哈希标识包括文件各种哈希特征值和文件的分片哈希等信息。在步骤S304中,将获取的验证信息与离线任务数据库正在下载或者已下载完成的该文件进行比较,如果比较结果相同,则执行步骤S305,如果比较结果不相同,则执行步骤 S306。在本实施例中,当文件大小发生变化时,文件发生变化的可能性最大,所以首先比较获取的文件的大小是否与离线任务数据库该文件的大小相同,在不相同时,执行步骤S306;在相同时,继续比较获取的文件的哈希标识是否与离线任务数据库该文件的相同,在相同时,执行步骤S305。在步骤S305中,向用户所在客户端反馈所述文件已经下载完成信息;在步骤S306中,根据所述URL从目标网站下载所述文件,并更新原有文件。在本实施例中,步骤S305和步骤S306与实施例一中的步骤S204和步骤S205相同,具体实施过程参见实施例一中的步骤S204和步骤S205的相关描述,在此不再赘述。作为本发明的一个优选实施例,为了减少用户下载的等待时间,保证用户快速、准确的下载到最新的文件,所述方法还包括:定期检测离线任务数据库中已下载的文件是否超过预设的存储期限。在本实施例中,计算离线任务数据库中已下载的文件存储的时间,在该文件存储的时间超过预设的存储期限(例如七天)时,根据该文件对应的URL,从目标网站下载验证信息,并将获取的验证信息与离线任务数据库中的该文件进行比较,若比较结果不相同,根据所述URL从目标网站下载所述文件存储至云存储服务器,并更新离线任务数据库中已保存的与所述文件下载请求信息相对应的文件所有信息,包括URL与文件的映射记录以及映射记录中文件的大小、哈希标识等信息(如图4所示),以保证离线下载系统中存储的是最新的文件,方便用户可以快速、准确的从离线下载系统中下载所需的文件,极大的提高用户满意度。进一步的,为了减少服务端主动检测的范围,在用户所在客户端设置文件不一致举报入口(即URL链接没有改变,但URL链接对应的文件发生了变化),对文件不一致的URL链接,在服务器端优先进行验证。本发明实施例可以在用户所在客户端发送文件离线下载请求时,对离线任务数据库离线已下载的该文件进行检测,也可以定期对离线任务数据库中已下载的文件进行检测,以保证用户快速、准确的从离线任务数据库下载到最新的文件。实施例三:图5示出了本发明实施例三提供的离线下载系统的组成结构,为了便于说明,仅不出了与本发明实施例相关的部分。该离线下载系统包括离线任务管理服务器51、验证服务器52以及离线下载服务器集53,其中:离线任务管理服务51,用于接收用户发送的文件离线下载请求信息,在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件,所述文件离线下载请求信息中携带有该文件的统一资源定位符URL ;验证服务器52,用于在离线任务数据库中存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件时,检测所述文件是否发生变化;离线下载服务器集53,用于所述文件发生变化时,根据所述URL从目标网站下载所述文件,并更新原有文件。在本实施例中,所述验证信息包括但不局限于文件的大小、哈希标识。本实施例提供的离线下载系统可以使用在前述对应的离线下载方法,详情参见上述离线下载方法实施例一的相关描述,在此不再赘述。本领域技术人员可以理解为上述系统所包括的各个部分只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各部分的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。实施例四:图6示出了本发明实施例三提供的离线任务管理服务器的组成结构,为了便于说明,仅不出了与本发明实施例相关的部分。该离线任务管理服务器51包括信息接收单元511以及查询单元512。其中,各单元的具体功能如下:信息接收单元511,用于接收用户发送的文件离线下载请求信息,所述文件离线下载请求信息中携带有该文件的统一资源定位符URL ;查询单元512,用于在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件。本领域技术人员可以理解为上述离线任务管理服务器所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。实施例五:图7示出了本发明实施例三提供的验证服务器的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。该验证服务器52包括检测单元521、信息获取单元522以及判定单元523。其中,各单元的具体功能如下:检测单元521,用于定期检测离线任务数据库中已下载的文件是否超过预设的存储期限。信息获取单元522,用于在离线任务数据库中存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件时/或者离线任务数据库中已下载完成的文件超过预设的存储期限时,根据所述文件的URL从目标网站获取所述文件的验证信息;判定单元523,用于将获取的验证信息与离线任务数据库正在下载或者已下载完成的该文件进行比较,若比较结果相一致,则判定所述文件未发生变化,否则,判定所述文件发生变化。其中,所述判定单元523还包括:第一比较模块5231,用于将获取的验证信息中的文件大小与离线任务数据库正在下载或者已下载完成的该文件的大小进行比较;第二比较模块5232,用于在所述第一比较模块比较结果不一致时,判定所述文件发生变化,在所述第一比较模块比较结果相一致时,将获取的验证信息中的哈希标识与离线任务数据库正在下载或者已下载完成的该文件的哈希标识进行比较;判定模块5233,用于在所述第二比较模块比较结果不一致时,判定所述文件发生变化,在所述第二比较模块结果相一致时,判定所述文件未发生变化。在本实施例中,所述验证信息包括但不局限于文件的大小、哈希标识。本实施例提供的验证服务器可以使用在前述对应的离线下载方法,详情参见上述离线下载方法实施例二的相关描述,在此不再赘述。本领域技术人员可以理解为上述系统所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。综上所述,本发明实施例通过接收用户发送的携带有URL的文件离线下载请求信息,在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件下载请求信息相对应的文件,在存在时,检测所述文件是否发生变化,在发生变化时,根据所述URL从目标网站下载所述文件来更新原有文件。本发明实施例可以准确、高效的检测出URL链接没有改变但URL链接对应的文件是否发生了变化,并对已发生改变的文件进行快速更新,有效保证用户从离线下载系统中下载到的文件是最新的文件。另外,在进行文件检测时,为了减少用户下载的等待时间,保证用户快速、准确的下载到最新的文件,还可以通过定期检测离线任务数据库中已下载的文件是否超过预设的存储期限,在超过预设存储期限时,对该文件进行检测。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种离线下载的方法,其特征在于,所述方法包括以下步骤: 接收用户发送的文件离线下载请求信息,所述文件离线下载请求信息中携带有该文件的统一资源定位符URL ; 在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件; 在存在时,检测所述文件是否发生变化; 在发生变化时,根据所述URL从目标网站下载所述文件,并更新原有文件。
2.如权利要求1所述的方法,其特征在于,所述方法还包括: 定期检测离线任务数据库中已下载的文件是否超过预设的存储期限,在超过时,检测该文件是否发生变化。
3.如权利要求1或2所述的方法,其特征在于,所述检测文件是否发生变化具体包括: Cl、根据所述文件的URL从目标网站获取所述文件的验证信息; C2、将获取的验证信息与离线任务数据库正在下载或者已下载完成的该文件进行比较,若比较结果相一致,则判定所述文件未发生变化,否则,判定所述文件发生变化。
4.如权利要求3所述的方法,其特征在于,所述验证信息包括文件的大小、哈希标识。
5.如权利要求4所述的方法,其特征在于,所述步骤C2具体包括: 将获取的验证信息中的文件大小与离线任务数据库正在下载或者已下载完成的该文件的大小进行比较; 若比较结果不一致,则判定所述文件发生变化,若比较结果相一致,则将获取的验证信息中的哈希标识与离线任务数据库正在下载或者已下载完成的该文件的哈希标识进行比较; 若比较结果不一致,则判定所述文件发生变化,若比较结果相一致,则判定所述文件未发生变化。
6.一种离线下载验证的方法,其特征在于,所述方法包括: A、在离线任务数据库中存在正在下载或者已下载完成的与用户发送的文件离线下载请求信息相对应的文件/或者离线任务数据库中已下载完成的文件超过预设的存储期限时,根据所述文件的URL从目标网站获取所述文件的验证信息; B、将获取的验证信息与离线任务数据库正在下载或者已下载完成的该文件进行比较,若比较结果相一致,则判定所述文件未发生变化,否则,判定所述文件发生变化。
7.如权利要求6所述的方法,其特征在于,所述验证信息包括文件的大小、哈希标识。
8.如权利要求7所述的方法,其特征在于,所述步骤B具体包括: 将获取的验证信息中的文件大小与离线任务数据库正在下载或者已下载完成的该文件的大小进行比较; 若比较结果不一致,则判定所述文件发生变化,若比较结果相一致,则将获取的验证信息中的哈希标识与离线任务数据库正在下载或者已下载完成的该文件的哈希标识进行比较; 若比较结果不一致,则判定所述文件发生变化,若比较结果相一致,则判定所述文件未发生变化。
9.如权利要求6所述的方法,其特征在于,所述方法还包括:定期检测离线任务数据库中已下载的文件是否超过预设的存储期限。
10.一种离线下载系统,其特征在于,所述系统包括: 离线任务管理服务器,用于接收用户发送的文件离线下载请求信息,在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件,所述文件离线下载请求信息中携带有该文件的统一资源定位符URL ; 验证服务器,用于在离线任务数据库中存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件时,检测所述文件是否发生变化; 离线下载服务器集,用于在所述文件发生变化时,根据所述URL从目标网站下载所述文件,并更新原有文件。
11.如权利要求10所述的系统,其特征在于,所述离线任务管理服务器包括: 信息接收单元,用于接收用户发送的文件离线下载请求信息,所述文件离线下载请求信息中携带有该文件的统一资源定位符URL ; 查询单元,用于在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件。
12.如权利要求10所述的系统,其特征在于,所述验证服务器包括: 检测单元,用于定期检测离线任务数据库中已下载的文件是否超过预设的存储期限;信息获取单元,用于在离线任务 数据库中存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件时/或者离线任务数据库中已下载完成的文件超过预设的存储期限时,根据所述文件的URL从目标网站获取所述文件的验证信息; 判定单元,用于将获取的验证信息与离线任务数据库正在下载或者已下载完成的该文件进行比较,若比较结果相一致,则判定所述文件未发生变化,否则,判定所述文件发生变化。
13.如权利要求12所述的系统,其特征在于,所述验证信息包括文件的大小、哈希标识。
14.如权利要求13所述的系统,其特征在于,所述判定单元包括: 第一比较模块,用于将获取的验证信息中的文件大小与离线任务数据库正在下载或者已下载完成的该文件的大小进行比较; 第二比较模块,用于在所述第一比较模块比较结果不一致时,判定所述文件发生变化,在所述第一比较模块比较结果相一致时,将获取的验证信息中的哈希标识与离线任务数据库正在下载或者已下载完成的该文件的哈希标识进行比较; 判定模块,用于在所述第二比较模块比较结果不一致时,判定所述文件发生变化,在所述第二比较模块结果相一致时,判定所述文件未发生变化。
15.一种离线下载验证服务器,其特征在于,所述验证服务器包括: 信息获取单元,用于在离线任务数据库中存在正在下载或者已下载完成的与用户发送的文件离线下载请求信息相对应的文件/或者离线任务数据库中已下载完成的文件超过预设的存储期限时,根据所述文件的URL从目标网站获取所述文件的验证信息; 判定单元,用于将获取的验证信息与离线任务数据库正在下载或者已下载完成的该文件进行比较,若比较结果相一致,则判定所述文件未发生变化,否则,判定所述文件发生变化。
16.如权利要求15所述的验证服务器,其特征在于,所述验证信息包括文件的大小、哈希标识。
17.如权利要求16所述的验证服务器,其特征在于,所述判定单元包括: 第一比较模块,用于将获取的验证信息中的文件大小与离线任务数据库正在下载或者已下载完成的该文件的大小进行比较; 第二比较模块,用于在所述第一比较模块比较结果不一致时,判定所述文件发生变化,在所述第一比较模块比较结果相一致时,将获取的验证信息中的哈希标识与离线任务数据库正在下载或者已下载完成的该文件的哈希标识进行比较; 判定模块,用于在所述第二比较模块比较结果不一致时,判定所述文件发生变化,在所述第二比较模块结果相一致时,判定所述文件未发生变化。
18.如权利要求15所述的验证服务器,其特征在于,还包括: 检测单元,用于定期检测离线任`务`数据库中已下载的文件是否超过预设的存储期限。
全文摘要
本发明适用于互联网技术领域,提供了一种离线下载的方法及系统,所述方法包括下述步骤接收用户发送的文件离线下载请求信息,所述文件离线下载请求信息中携带有该文件的统一资源定位符URL;在离线任务数据库中查询是否存在正在下载或者已下载完成的与所述文件离线下载请求信息相对应的文件;在存在时,检测所述文件是否发生变化;在发生变化时,根据所述URL从目标网站下载所述文件,并更新原有文件。通过本发明可以准确、高效的检测出URL链接没有改变但URL链接对应的文件是否发生了变化,并对已发生变化的文件进行快速更新,保证用户从离线任务数据库下载到的文件是最新的文件。
文档编号H04L29/08GK103118045SQ20111036509
公开日2013年5月22日 申请日期2011年11月17日 优先权日2011年11月17日
发明者刘刚, 黄琰 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1