提供文件下载服务的方法、装置及缓存系统的制作方法

文档序号:7722683阅读:120来源:国知局
专利名称:提供文件下载服务的方法、装置及缓存系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种提供文件下载服务的方法、装置及缓存
系统。
背景技术
缓存系统技术的发展随着互联网技术的发展而快速发展,目前内容缓存技术的发 展已经经历了网页缓存、内容分发网络、P2P缓存、HTTP视频共享/P2SP下载缓存及基于特 有应用缓存的几个阶段。HTTP缓存系统是通过管理和控制HTTP下载流量,在本地预先缓 存HTTP下载资源,引导内网用户优先获取本地HTTP下载流量,以在满足用户的HTTP下载 需求的同时节省出口流量,提高用户的下载速度。 在对现有技术的研究和实践过程中,发明人发现,现有HTTP缓存系统在提供文件 下载服务时,主要依靠URL (Uniform Resource Locator,统一资源定位符,即网页地址)与 文件名来判断缓存系统中是否存储有相应的目标文件,从而决定是否使用缓存系统中的已 缓存文件向内网用户提供下载服务,由于不同的站点在发布相同内容的文件时,会使用不 同的URL,文件名也往往不同,因此,单纯依靠URL与文件名结合的方式往往不能准确的判
断缓存系统中缓存文件的唯一性,造成同一个文件在缓存系统中被重复缓存多次的状况, 浪费了大量的存储空间和下载流量。

发明内容
本发明实施例提供一种提供文件下载服务的方法、装置及缓存系统,能够相对准
确的判断缓存系统中缓存文件的唯一性,进而根据判断结果向用户提供文件下载服务,节
省了缓存系统中的存储空间,同时节省了出口流量,降低了带宽占用。 根据本发明实施例的一个方面,提供一种提供文件下载服务的方法,包括 接收来自于客户端的下载请求,所述下载请求中包含有目标网址URL以及待下载
文件名信息; 根据所述下载请求中的目标网址URL以及待下载文件名信息以及预设的预取规 则向目标网站预取待下载文件的部分字节; 通过对预取的所述待下载文件的部分字节进行哈希处理获得哈希值; 当在预设的缓存文件信息列表中查找到与所述哈希处理获得的哈希值相同的哈
希值时,向所述客户端提供所述待下载文件。 根据本发明实施例的另一个方面,提供一种提供文件下载服务装置,包括接收单 元、获取单元、哈希单元以及第一处理单元,其中所述接收单元用于接收来自于客户端的下 载请求,所述下载请求中包含有目标网址URL以及待下载文件名信息;所述获取单元用于 根据所述下载请求中的目标网址URL以及待下载文件名信息以及预设的预取规则向目标 网站预取待下载文件的部分字节;所述哈希单元用于通过对预取的所述待下载文件的部分 字节进行哈希处理获得哈希值;所述第一处理单元用于当在预设的缓存文件信息列表中查找到与所述哈希单元获得的哈希值相同的哈希值时,向所述客户端提供所述待下载文件。
根据本发明实施例的再一方面,提供一种缓存系统,包括提供文件下载服务的装 置以及N个缓存服务器,其中N为自然数,其中所述提供文件下载服务的装置,用于接收来 自于客户端的下载请求,根据所述下载请求中的目标网址URL以及待下载文件名信息以及 预设的预取规则向目标网站预取待下载文件的部分字节,通过对预取的所述待下载文件的 部分字节进行哈希处理获得哈希值,当在预设的缓存文件信息列表中查找到与所述哈希处 理获得的哈希值相同的哈希值时,将所述下载请求重定向至至少一个缓存服务器,以向所 述客户端提供所述待下载文件,所述下载请求中包含有目标网址URL以及待下载文件名信 息;所述缓存服务器,用于缓存待下载文件。 由上可见,本发明实施例采用的技术方案将已缓存文件的预设字段字节组合后进 行哈希处理获得的哈希值作为已缓存文件在缓存系统中的识别标识,当下载文件时,按照 预设的预取规则向目标网站预取待下载文件的部分字节,并对所述预取的部分字节进行哈 希处理获得相应的哈希值,将获得的所述哈希值与预设的缓存文件信息列表中的哈希值信 息进行对比,当在预设的缓存文件信息列表中查找到相同的哈希值时,向所述客户端提供 所述待下载文件。这种通过利用对待下载文件预取部分字节进行哈希处理的方式来判断缓 存系统中是否缓存有所述待下载文件的方法,与单纯依靠URL与文件名结合的方式来判断 缓存系统中缓存文件的唯一性相比,更加准确,从而有效的减少了对待下载文件重复下载 的次数,节省了缓存系统中的存储空间,同时节省了出口流量,降低了带宽占用。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其 他的附图。
图1是是本发明实施例一提供的一种提供文件下载服务的方法流程图;
图2是本发明实施例二提供的一种提供文件下载服务的方法流程图;
图3是本发明实施例三提供的一种提供文件下载服务的装置示意图;
图4是本发明实施例四提供的另一种提供文件下载服务的装置示意图;
图5是本发明实施例五提供的一种缓存系统的示意图。
具体实施例方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实 施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通 技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范 围。 图l是本发明实施例一提供的一种提供文件下载服务的方法流程图,如图l所示, 该方法包括 步骤100,接收来自于客户端的下载请求,所述下载请求中包含有目标网址URL以及待下载文件名信息; 具体的,该下载请求包括用户通过HTTP协议发送的GET请求,该请求中包含有用 户待下载的文件名信息及目标网站的URL。 步骤105,根据所述下载请求中的目标网址URL以及待下载文件名信息以及预设 的预取规则向目标网站预取待下载文件的部分字节; 具体的,在向目标网站预取待下载文件的部分字节时,可以按照预设的预取规则 对所述待下载文件按照预设的大小进行分块分片后预取该待下载文件预设字段的部分字 节。 步骤IIO,通过对预取的所述待下载文件的部分字节进行哈希处理获得哈希值;
具体的,可以将预取的部分字节按设定的顺序组成一段数据,对该段数据进行哈 希HASH处理,获得相应的哈希值。可以理解的是,在进行哈希处理时使用的哈希算法包括 但不限于MD5算法、SHA1算法。 步骤115,当在预设的缓存文件信息列表中查找到与所述哈希处理获得的哈希值 相同的哈希值时,向所述客户端提供所述待下载文件。 具体的,在本发明实施例所述的缓存系统中可以预先设置有缓存文件信息列表, 该列表中包含有已缓存文件的哈希值信息以及对应的缓存位置信息,所述哈希值信息包括 根据对已缓存文件按照预设字段的字节进行哈希处理后获得的哈希值,且将该哈希值作为 已缓存文件的识别标识。 具体的,所述缓存文件信息列表中的哈希值信息也是通过对已缓存文件按照同样
的预设大小进行分块分片后,对已缓存文件相同位置的部分字节进行哈希处理得到的,且
使用的哈希算法也相同,换句话说,缓存系统中对已缓存文件的部分字节进行哈希处理的
方式与对目标网站的所述待下载文件预取字节的哈希处理方式是相同的。 当在预设的缓存文件信息列表中查找到与所述哈希处理获得的哈希值相同的哈
希值时,可以说明该缓存系统中已经缓存有用户要下载的相应文件,缓存系统可以将已缓
存的所述待下载文件提供给内网用户下载,以在满足用户的HTTP下载需求的同时节省出
口流量,提高用户的下载速度。 本发明实施例所述的提供文件下载服务的方法将已缓存文件的预设字段字节组
合后进行哈希处理获得的哈希值作为已缓存文件在缓存系统中的识别标识,当下载文件
时,按照预设的预取规则向目标网站预取待下载文件的部分字节,并对所述预取的部分字
节进行哈希处理获得相应的哈希值,将获得的所述哈希值与预设的缓存文件信息列表中的
哈希值信息进行对比,当在预设的缓存文件信息列表中查找到相同的哈希值时,向所述客
户端提供所述待下载文件。这种通过利用对待下载文件预取部分字节进行哈希处理的方式
来判断缓存系统中是否缓存有所述待下载文件的方法,与单纯依靠URL与文件名结合的方
式来判断缓存系统中缓存文件的唯一性相比,更加准确,从而有效的减少了对待下载文件
重复下载的次数,节省了缓存系统中的存储空间,同时节省了出口流量,降低了带宽占用。 为便于更好的理解本发明实施例的技术方案,下面通过更为具体的实施例对本发
明技术方案进行进一步详细的描述。 图2为本发明实施例二提供的一种提供文件下载服务的方法流程图,如图2所示, 该方法包括
6
步骤200,接收用户的GET请求,进入步骤205 ; 具体的,该请求中包含有用户待下载的文件名及目标网站的URL。 步骤205,解析所述GET请求,获得所述用户要访问的URL及待下载文件文件名,进
入步骤210 ; 步骤210,根据预设的预取规则以及所述URL及文件名向目标网站预取下载文件 的部分字节,进入步骤215; 具体的,缓存系统可以根据所述URL及文件名向目标网站预取待下载文件的部分
字节,在向目标网站预取待下载文件的部分字节时,可以按照预设的预取规则对所述待下
载文件按预设大小进行分块分片后预取该待下载文件预设字段的部分字节。 具体的,缓存系统在向目标网址预取下载文件时,可以按照设定的大小对该文件
进行分块分片,例如如果设定的大小是每2MB为一块,128KB为一片的话,若所述待下载文
件有30MB,则缓存系统在预取时可以按每块2MB的大小将所述待下载文件划分为15个文
件分块,再按每片128KB的大小对每一个文件分块进行分片,将每一个文件分块分为16片。
此时,缓存系统可以按设定的规则在该待下载文件的各个文件分块的不同的分片中取出若
干个字节或整个分片,可以理解的是,对待下载文件按照设定的预取规则预取字节的方式
有很多种,例如可以预取每一个文件分块的第一个分片中的若干字节,当然,也可以预取各
个文件分块中的其他分片的字节。 步骤215,通过对预取的所述待下载文件的部分字节进行哈希处理获得哈希值,进 入步骤220 ; 具体的,当预取待下载文件的部分字节后,可以将预取的部分字节按设定的顺序 组成一段数据,并通过对该段数据进行哈希处理获得哈希值。可以理解的是,在进行哈希处 理时使用的哈希算法包括但不限于MD5算法、SHA1算法。 步骤220,判断在预设的缓存文件信息列表中是否能查找到与步骤215中哈希处
理获得的哈希值相同的哈希值,如果可以,则进入步骤225,否则进入步骤230 ; 具体的,在本发明实施例所述的缓存系统中可以预先设置有缓存文件信息列表,
该列表中包含有已缓存文件的哈希值信息以及对应的缓存位置信息,所述哈希值信息包括
根据对已缓存文件按照预设字段的字节进行哈希处理后获得的哈希值,且将该哈希值作为
已缓存文件的识别标识。 具体的,缓存系统中预存的哈希值信息也是通过对已缓存文件按照同样的预设大 小进行分块分片后,对相同位置的部分字节进行哈希处理得到的,且使用的哈希算法也相 同,也就是说,缓存系统中对已缓存文件的部分字节进行哈希处理的方式与对所述待下载 文件预取字节的哈希处理方式是相同的。 步骤225,将该用户的下载请求重定向到相应的缓存服务器,以向用户提供该下载 文件; 当在预设的缓存文件信息列表中查找到相同的哈希值时,可以说明该缓存系统中 已经缓存有用户要下载的相应文件,可以根据所述缓存文件信息列表中所述哈希值对应的 缓存位置信息将所述客户端的下载请求重定向到相应的缓存服务器,以向所述客户端提供 所述待下载文件,以在满足内网用户的HTTP下载需求的同时节省出口流量,提高用户的下 载速度。可以理解的是,缓存服务器可以有多个。
步骤230,判断所述待下载文件是否达到设置的缓存热度,如果达到缓存热度则进 入步骤235,否则,进入步骤240 ; 当在预设的缓存文件信息列表中没有查找到相同的哈希值时,说明缓存系统中没 有缓存所述待下载文件,此时,可以进一步判断对该待下载文件的访问次数是否达到设置 的缓存热度,当对所述待下载文件的访问次数达到预设的缓存热度时,进入步骤235,否则, 进入步骤240。 所述缓存热度是用于衡量缓存系统缓存待下载文件的一个标准,可以通过被访问
次数来表示,当待下载文件被用户访问的次数达到设置的访问次数时,说明该待下载文件
被访问次数较多,为了使内网用户能够快速下载该待下载文件,同时节省网络资源,缓存系
统可以将被访问次数达到缓存热度(即被访问次数达到设置的访问次数)的文件进行缓
存,再将已缓存的文件提供给内网用户。本领域人员可以知道,为了判断对所述待下载文件
的访问次数是否达到缓存热度,可以通过对待下载文件的被访问次数进行记录来获得,例
如,可以设置一个记录表对内网用户要下载的文件以及该文件的被访问次数进行记录。 步骤235,对该待下载文件进行缓存,同时向用户提供该待下载文件; 具体的,当待下载文件达到设置的缓存热度时,即该待下载文件被访问的次数达
到预设的访问次数时,通知缓存服务器根据所述URL及待下载文件名向所述目标网站下载
所述待下载文件进行缓存,并将客户端的下载请求重定向至该缓存服务器,以向所述客户
端提供所述待下载文件,以提高用户的下载速度,节省网络资源。当然,可以理解的是,缓存
系统中可以存在至少一个缓存服务器,当存在多个(至少两个)缓存服务器时,可以通知其
中一个缓存服务器向所述目标网站下载所述待下载文件进行缓存。 进一步的,在缓存服务器向所述目标网站下载所述待下载文件进行缓存后,可以 对所述缓存文件信息列表进行更新,具体的,可以对所述待下载文件按照预设的哈希处理 方式,将所述待下载文件按照预设的大小进行分块分片后,对预设位置的部分字节进行哈 希处理,并将获得的哈希值以及该待下载文件的缓存位置信息记录于所述缓存文件信息列 表中。 步骤240,记录所述客户端向目标网站下载所述待下载文件的操作。
具体的,当所述待下载文件未达到预设的缓存热度时,不影响用户向目标网站下 载该待下载文件,记录用户的此次下载操作,用以更新所述待下载文件的缓存热度,例如, 可以将所述待下载文件的被访问次数加l,但不限于上述更新方式。 本发明实施例所述的提供文件下载服务的方法将已缓存文件的预设字段字节组 合后进行哈希处理获得的哈希值作为已缓存文件在缓存系统中的识别标识,当下载文件 时,通过利用对待下载文件按照预设的预取规则预取部分字节进行哈希处理的方式来判断 缓存系统中是否缓存有所述待下载文件的方法,与单纯依靠URL与文件名结合的方式来判 断缓存系统中缓存文件的唯一性相比,更加准确,从而有效的减少了对待下载文件重复下 载的次数,节省了缓存系统中的存储空间,同时节省了出口流量,降低了带宽占用,同时节 省了出口流量,降低了带宽占用。 图3为本发明实施例三提供的一种提供文件下载服务的装置的结构示意图,如图 3所示,该装置包括 接收单元300,用于接收来自于客户端的下载请求,所述下载请求中包含有目标网
8址URL以及待下载文件名信息; 具体的,该下载请求包括用户通过HTTP协议发送的GET请求,该请求中包含有用户待下载的文件名信息及目标网站的URL。 获取单元305,用于根据所述下载请求中的目标网址URL以及待下载文件名信息以及预设的预取规则向目标网站预取待下载文件的部分字节; 具体的,获取单元305在向目标网站预取待下载文件的部分字节时,可以按照预设的预取规则对所述待下载文件按照预设的大小进行分块分片后预取该待下载文件预设字段的部分字节。 具体的,获取单元305在向目标网址预取下载文件时,可以按照设定的大小对该文件进行分块分片,例如如果设定的规则是每2MB为一块,128KB为一片的话,若所述待下载文件有30MB,则缓存系统在预取时可以按每块2MB的大小将所述待下载文件划分为15个文件分块,再按每片128KB的大小对每一个文件分块进行分片,将每一个文件分块分为16片。此时,获取单元305可以按设定的规则在该待下载文件的各个文件分块的不同的分片中,取出若干个字节或整个分片,可以理解的是,对待下载文件按照设定的规则预取字节的方式有很多种,例如可以预取每一个文件分块的第一个分片中的若干字节,当然,也可以预取各个文件分块中的其他分片的字节。 哈希单元310,通过对预取的所述待下载文件的部分字节进行哈希处理获得哈希值; 具体的,哈希单元310可以将预取的部分字节按设定的顺序组成一段数据,对该段数据进行哈希HASH处理,获得哈希值,可以理解的是,在进行哈希处理时使用的哈希算法包括但不限于MD5算法、SHA1算法。 第一处理单元315,用于当在预设的缓存文件信息列表中查找到与所述哈希单元获得的哈希值相同的哈希值时,向所述客户端提供所述待下载文件。 具体的,在本发明实施例所述的提供文件下载服务的装置中可以预先设置有缓存文件信息列表,该列表中包含有已缓存文件的哈希值信息以及对应的缓存位置信息,所述哈希值信息包括根据对已缓存文件按照预设字段的字节进行哈希处理后获得的哈希值,且将该哈希值作为已缓存文件的识别标识。 当然,本领域技术人员可以知道,所述缓存文件信息列表中的哈希值信息也是通过对已缓存文件按照同样的预设大小进行分块分片后,对已缓存文件相同位置的部分字节进行哈希处理得到的,且使用的哈希算法也相同,换句话说,缓存系统中对已缓存文件的部分字节进行哈希处理的方式与对目标网站的所述待下载文件预取字节的哈希处理方式是相同的。 可以理解的是,本实施例所述的提供文件下载服务的装置的各个功能模块的功能可以根据上述方法实施例一中的方法具体实现,其具体实现过程可参照上述实施例一中的相关描述,此处不再赘述。本实施例提供文件下载服务的装置的各个功能模块可以设置于一个或多个设备上。例如,本发明实施例所述的提供文件下载服务的装置可以是资源管理服务器。 由上可见,本实施例的一种提供文件下载服务的装置通过向目标网站按照预设的预取规则预取待下载文件相应位置的部分字节,并对预取的部分字节组合后进行哈希处理,通过将得到的哈希结果与预设的缓存文件信息列表中的哈希值信息进行对比来判断缓 存系统中是否缓存有所述待下载文件,进而向客户端提供所述待下载文件。该装置与现有 的单纯依靠URL与文件名结合的方式来向用户提供缓存服务的缓存系统相比,有效的减少 了缓存系统对待下载文件重复下载的次数,节省了存储空间,同时节省了出口流量,降低了 带宽占用。 图4为本发明实施例四提供的一种提供文件下载服务的装置示意图,如图4所示, 本发明实施例所述的装置在图3所述的装置实施例的基础上,还可以包括
设置单元312,用于根据已缓存文件设置并更新缓存文件信息列表。
所述第一处理单元具体用于 当在预设的缓存文件信息列表中查找到相同的哈希值时,根据所述哈希值对应的 缓存位置信息将所述客户端的下载请求重定向到相应的缓存服务器,向所述客户端提供所 述待下载文件。
进一步的,所述提供文件下载服务的装置还可以包括 查找单元314,用于根据哈希处理单元所获得的哈希值在预设的缓存文件信息列 表中查找与所述哈希单元获得的哈希值相同的哈希值。 具体的,当所述查找单元314根据哈希单元所获得的哈希值在预设的缓存文件信 息列表中查找到相同的哈希值时,则说明缓存系统中已经缓存有所述待下载文件,触发第 一处理单元315,如果在预设的缓存文件信息列表中没有查找到与所述哈希单元获得的哈 希值相同的哈希值,则说明缓存系统中没有缓存所述待下载文件。具体有关于缓存文件信 息列表的描述参见上述方法实施例以及装置实施例,在此不再赘述。
进一步的,所述提供文件下载服务的装置还可以包括 判断单元320,用于当在预设的缓存文件信息列表中没有查找到与所述哈希单元 获得的哈希值相同的哈希值时,判断对所述待下载文件的访问次数是否达到预设的缓存热 度; 第二处理单元325,用于当判断单元320的判断结果为对所述待下载文件的访问 次数达到预设的缓存热度时,通知缓存服务器向所述目标网站下载所述待下载文件进行缓 存,并向所述客户端提供所述待下载文件; 第三处理单元330,用于当判断单元320的判断结果为对所述待下载文件的访问 次数未达到预设的缓存热度时,记录所述客户端向目标网站下载所述待下载文件的操作。
本实施例所述的提供文件下载服务的装置的各个功能模块的功能可以根据上述 方法实施例二中的方法具体实现,其具体实现过程可参照上述实施例二中的相关描述,此 处不再赘述。本实施例提供文件下载服务的装置的各个功能模块可以设置于一个或多个设 备上。 本实施例的一种提供文件下载服务的装置通过向目标网站按照预设的预取规则 预取待下载文件相应位置的部分字节,并对预取的部分字节组合后进行哈希处理,通过将 得到的哈希结果与预设的缓存文件信息列表中的哈希值信息进行对比来判断缓存系统中 是否缓存有所述待下载文件,进而决定是否向客户端提供所述待下载文件。该装置与现有 的单纯依靠URL与文件名结合的方式来向用户提供缓存服务的缓存系统相比,有效的减少 了缓存系统对待下载文件重复下载的次数,节省了存储空间,同时节省了出口流量,降低了带宽占用。 进一步的,本发明实施例还提供一种缓存系统,如图5所示,该缓存系统包括提供
文件下载服务的装置500以及N个缓存服务器505,其中N为自然数,其中 所述提供文件下载服务的装置500,用于接收来自于客户端的下载请求,根据所
述下载请求中的目标网址URL以及待下载文件名信息以及预设的预取规则向目标网站预
取待下载文件的部分字节,通过对预取的所述待下载文件的部分字节进行哈希处理获得哈
希值,当在预设的缓存文件信息列表中查找到与所述哈希处理获得的哈希值相同的哈希值
时,将所述下载请求重定向至至少一个缓存服务器505,以向所述客户端提供所述待下载文
件,所述下载请求中包含有目标网址URL以及待下载文件名信息。 所述缓存服务器505,用于缓存待下载文件。 具体的,所述提供文件下载服务的装置500的具体描述可以参见前述实施例中的 提供文件下载服务的装置的具体实施例,在此不再赘述。 本发明实施例提供的缓存系统,将缓存服务器中已缓存文件的预设字段字节组合 后进行哈希处理获得的哈希值作为已缓存文件在缓存系统中的识别标识,当下载文件时, 通过利用对待下载文件按照预设的预取规则预取部分字节进行哈希处理的方式来判断缓 存系统中是否缓存有所述待下载文件,进而向客户端提供缓存服务的方法,与现有的单纯 依靠URL与文件名结合的方式来判断缓存系统中缓存文件的唯一性的缓存系统相比,更加
准确,从而有效的减少了对待下载文件重复下载的次数,节省了缓存系统中的存储空间,同 时节省了出口流量,降低了带宽占用。 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列 的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为 依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知 悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明 所必须的。 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部 分,可以参见其他实施例的相关描述。 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储 介质可以包括只读存储器(ROM, Read-0nly Memory)、随机存储器(RAM, Random Access Memory)、磁盘或光盘等。 以上对本发明实施例所提供的一种僵尸网络的检测方法、装置及检测系统进行了 详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的 说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依 据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容 不应理解为对本发明的限制。
1权利要求
一种提供文件下载服务的方法,其特征在于,包括接收来自于客户端的下载请求,所述下载请求中包含有目标网址URL以及待下载文件名信息;根据所述下载请求中的目标网址URL以及待下载文件名信息以及预设的预取规则向目标网站预取待下载文件的部分字节;通过对预取的所述待下载文件的部分字节进行哈希处理获得哈希值;当在预设的缓存文件信息列表中查找到与所述哈希处理获得的哈希值相同的哈希值时,向所述客户端提供所述待下载文件。
2. 根据权利要求1所述的方法,其特征在于,所述方法还包括当在预设的缓存文件信息列表中没有查找到与所述哈希处理获得的哈希值相同的哈 希值时,判断对所述待下载文件的访问次数是否达到预设的缓存热度;当对所述待下载文件的访问次数达到预设的缓存热度时,通知缓存服务器向所述目标 网站下载所述待下载文件进行缓存,并向所述客户端提供所述待下载文件;当对所述待下载文件的访问次数未达到预设的缓存热度时,记录所述客户端向目标网 站下载所述待下载文件的操作。
3. 根据权利要求1或2所述的方法,其特征在于,所述预设的缓存文件信息列表中包含 有已缓存文件的哈希值信息以及对应的缓存位置信息,所述当在预设的缓存文件信息列表中查找到与所述哈希处理获得的哈希值相同的哈 希值时,向所述客户端提供所述待下载文件包括当在预设的缓存文件信息列表中查找到与所述哈希处理获得的哈希值相同的哈希值 时,根据所述哈希值对应的缓存位置信息将所述客户端的下载请求重定向到相应的缓存服 务器,以向所述客户端提供所述待下载文件。
4. 根据权利要求所述3的方法,其特征在于,所述哈希处理包括通过MD5算法和/或 SHA1算法进行哈希处理。
5. —种提供文件下载服务的装置,其特征在于,包括接收单元,用于接收来自于客户端的下载请求,所述下载请求中包含有目标网址URL 以及待下载文件名信息;获取单元,用于根据所述下载请求中的目标网址URL以及待下载文件名信息以及预设 的预取规则向目标网站预取待下载文件的部分字节;哈希单元,用于通过对预取的所述待下载文件的部分字节进行哈希处理获得哈希值;第一处理单元,用于当在预设的缓存文件信息列表中查找到与所述哈希单元获得的哈 希值相同的哈希值时,向所述客户端提供所述待下载文件。
6. 根据权利要求5所述的装置,其特征在于,还包括设置单元,用于根据已缓存文件设置并更新缓存文件信息列表,所述缓存文件信息列 表中包含有已缓存文件的哈希值信息以及对应的缓存位置信息; 所述第一处理单元具体用于当在预设的缓存文件信息列表中查找到与所述哈希单元获得的哈希值相同的哈希值 时,根据所述哈希值对应的缓存位置信息将所述客户端的下载请求重定向到相应的缓存服 务器,向所述客户端提供所述待下载文件。
7. 根据权利要求5所述的装置,其特征在于,还包括查找单元,用于根据哈希处理单元所获得的哈希值在预设的缓存文件信息列表中查找 与所述哈希单元获得的哈希值相同的哈希值。
8. 根据权利要求5-7任意一项所述的装置,其特征在于,还包括判断单元,用于当在预设的缓存文件信息列表中没有查找到与所述哈希单元获得的哈希值相同的哈希值时,判断对所述待下载文件的访问次数是否达到预设的缓存热度;第二处理单元,用于当对所述待下载文件的访问次数达到预设的缓存热度时,通知缓 存服务器向所述目标网站下载所述待下载文件进行缓存,并向所述客户端提供所述待下载 文件;第三处理单元,用于当对所述待下载文件的访问次数未达到预设的缓存热度时,记录 所述客户端向目标网站下载所述待下载文件的操作。
9. 一种缓存系统,其特征在于,包括提供文件下载服务的装置以及N个缓存服务器,其 中N为自然数,其中所述提供文件下载服务的装置,用于接收来自于客户端的下载请求,根据所述下载请 求中的目标网址URL以及待下载文件名信息以及预设的预取规则向目标网站预取待下载 文件的部分字节,通过对预取的所述待下载文件的部分字节进行哈希处理获得哈希值,当 在预设的缓存文件信息列表中查找到与所述哈希处理获得的哈希值相同的哈希值时,将所 述下载请求重定向至至少一个缓存服务器,以向所述客户端提供所述待下载文件,所述下 载请求中包含有目标网址URL以及待下载文件名信息;所述缓存服务器,用于缓存待下载文件。
10. 根据权利要求9所述的缓存系统,其特征在于,所述提供文件下载服务的装置包括接收单元,用于接收来自于客户端的下载请求,所述下载请求中包含有目标网址URL 以及待下载文件名信息;获取单元,用于根据所述下载请求中的目标网址URL以及待下载文件名信息以及预设 的预取规则向目标网站预取待下载文件的部分字节;哈希处理单元,用于通过对预取的所述待下载文件的部分字节进行哈希处理获得哈希值;第一处理单元,用于当在预设的缓存文件信息列表中查找到与所述哈希单元获得的哈 希值相同的哈希值时,向所述客户端提供所述待下载文件;判断单元,用于当在预设的缓存文件信息列表中没有查找到与所述哈希单元获得的哈 希值相同的哈希值时,判断对所述待下载文件的访问次数是否达到预设的缓存热度;第二处理单元,用于当对所述待下载文件的访问次数达到预设的缓存热度时,通知缓 存服务器向所述目标网站下载所述待下载文件进行缓存,并向所述客户端提供所述待下载 文件;第三处理单元,用于当对所述待下载文件的访问次数未达到预设的缓存热度时,记录 所述客户端向目标网站下载所述待下载文件的操作。
全文摘要
本发明实施例公开了一种提供文件下载服务的方法,该方法包括接收来自于客户端的下载请求,所述下载请求中包含有目标网址URL以及待下载文件名信息;根据所述下载请求中的目标网址URL以及待下载文件名信息以及预设的预取规则向目标网站预取待下载文件的部分字节;通过对预取的所述待下载文件的部分字节进行哈希处理获得哈希值;当在预设的缓存文件信息列表中查找到相同的哈希值时,向所述客户端提供所述待下载文件。该方法有效的减少了对待下载文件重复下载的次数,节省了缓存系统中的存储空间,同时节省了出口流量,降低了带宽占用。
文档编号H04L29/08GK101719936SQ20091025917
公开日2010年6月2日 申请日期2009年12月9日 优先权日2009年12月9日
发明者公晨, 兰刚, 周树国, 王瑞 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1