CN104426718B - 数据监听服务器、缓存服务器和重定向下载方法 - Google Patents
数据监听服务器、缓存服务器和重定向下载方法 Download PDFInfo
- Publication number
- CN104426718B CN104426718B CN201310410580.7A CN201310410580A CN104426718B CN 104426718 B CN104426718 B CN 104426718B CN 201310410580 A CN201310410580 A CN 201310410580A CN 104426718 B CN104426718 B CN 104426718B
- Authority
- CN
- China
- Prior art keywords
- resource file
- server
- resource
- cache server
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据监听服务器、一种缓存服务器和一种重定向下载方法,其中,数据监听服务器包括:数据监听模块,用于获取客户端请求的资源文件信息,以及接收来自查询模块的资源文件信息的存储路径并将存储路径发送至重定向模块;查询模块,用于按照预定方式保存资源文件信息,并生成资源文件信息的存储路径,以及在接收到来自缓存服务器的查询请求后,将查询结果反馈至缓存服务器;重定向模块,用于向客户端发起重定向请求,以使客户端根据存储路径向缓存服务器发送下载请求。通过本发明的技术方案,当文件相同,而网址不同时,可减少缓存服务器缓存相同文件,避免缓存服务器中缓存文件重复保存的问题,并能够快速获取文件的真实网址。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种数据监听服务器、一种缓存服务器和一种重定向下载方法。
背景技术
随着上网用户的增加,上网获取信息的速度减慢已经成为目前制约Internet发展的重要因素。运营商或企业为提高上网下载体验,同时节约出口带宽,在运营商或企业内网络部署HTTP缓存加速系统。
HTTP缓存加速分为监控机和缓存服务器。传统的重定向下载方式为监控机监听用户HTTP下载请求,当监听到用户下载请求中有GET方法,将用户下载请求使用302方法重定向到缓存服务器,重定向内容为缓存服务器地址和用户请求下载路径,并将用户下载请求路径和用户下载请求URL(Uniform Resource Locator,网址)全地址存在到数据库。当缓存服务器接收到用户重定向请求,将用户请求的下载路径截取,在数据库中通过用户下载路径查询到用户真实下载请求的URL。该方法无法解决当文件相同,下载请求URL不同时,缓存服务器重复缓存相同文件的问题,以及当数据库存储数据庞大,无法快速获取真实URL的问题。
发明内容
考虑到相关技术中出现的技术问题,本发明所要解决的技术问题在于,提供一种重定向下载技术,可解决当文件相同,下载请求URL不同时,缓存服务器重复缓存相同文件的问题。
有鉴于此,根据本发明的一个方面,提供了一种数据监听服务器,包括:数据监听模块,用于获取客户端请求的资源文件信息,以及接收来自查询模块的所述资源文件信息的存储路径并将所述存储路径发送至重定向模块;查询模块,用于按照预定方式保存所述资源文件信息,并生成所述资源文件信息的存储路径,以及在接收到来自缓存服务器的查询请求后,将查询结果反馈至所述缓存服务器;所述重定向模块,用于向所述客户端发起重定向请求,以使所述客户端根据所述存储路径向所述缓存服务器发送下载请求。
本发明通过设置的查询模块来保存和管理客户端所请求过的资源文件信息,在查询模块中通过特殊的保存方式来保存资源文件信息,并将资源文件信息在查询模块中的存储路径由数据监听模块传送至重定向模块,重定向模块向客户端发起重定向请求,这样,缓存服务器根据该客户端当前请求的资源文件信息的存储路径来查询查询模块,查询模块将查询结果反馈给缓存服务器,缓存服务器通过该查询结果可确定是否已缓存客户端请求的资源文件,若已缓存,则直接将缓存文件发送给客户端,这样在文件相同,网址不同的情况下,就无需重新获取资源文件,解决了重复缓存资源文件的问题。
在上述技术方案中,优选的,所述资源文件信息包括网址、网址长度、文件名、文件大小;所述查询模块用于判断所述资源文件的网址是否与已记录的资源文件信息中的网址相同,若不相同,则根据所述资源文件的文件名和文件大小判断所述资源文件是否被记录过,若所述资源文件被记录过,则在保存当前的所述资源文件信息时,在当前的所述资源文件信息中写入重复标识和与当前的所述资源文件重复的第一个资源文件的信息的保存地址,以及根据所有资源文件信息的保存地址生成资源文件索引。
查询模块在保存资源文件信息时,首先判断客户端请求的资源文件的网址是否与之前保存的资源文件的网址相同,若相同,则无需保存该资源文件信息,若不相同,才保存该资源文件信息。并且在保存时,以特殊方式保存该资源文件信息,需判断该资源文件的文件名和文件大小是否与之前保存的资源文件的文件名和文件大小相同,若相同,说明该资源文件与之前保存的资源文件相同,并在保存该资源文件的信息时,写入重复标识以及与该资源文件重复的第一个资源文件在该查询模块中的保存地址。在保存了当前资源文件的信息之后,根据已保存的所有资源文件信息在查询模块中的保存地址生成资源文件索引表。该资源文件索引表的作用是为了快速查询到相应的资源文件信息,而该第一个资源文件在该查询模块中的保存地址是为了查找到该第一个资源文件的网址。
在上述技术方案中,优选的,所述查询模块在接收到来自所述缓存服务器的查询请求后,根据所述存储路径从所述资源文件索引中定位到当前的所述资源文件信息,若在当前的所述资源文件信息中检测到所述重复标识,则根据所述保存地址查找到所述第一个资源文件的信息,将所述第一个资源文件的信息中的网页地址反馈至所述缓存服务器。
该存储路径的作用是使查询模块能够快速查找到相应资源文件的网址,在查找的过程中,若定位到相应资源文件信息,并发现有重复标识,则将与其重复的第一个资源文件的网址作为当前的资源文件的网址发送给缓存服务器,若缓存服务器中已缓存资源文件,则会有网址与资源文件的对应记录,缓存服务器在接收到查询模块发送过来的网址之后,根据该网址可查找到对应的资源文件,这样在文件相同,网址不同时,就不会使缓存服务器重新根据新的网址来获取相同的资源文件,并且由于采用了资源文件索引和特殊的资源文件信息保存方式,可快速查找到资源文件的真实网址,提高了资源文件的获取效率。
在上述技术方案中,优选的,所述查询模块在当前的所述资源文件信息中未检测到所述重复标识时,将当前的所述资源文件信息中的网址反馈至所述缓存服务器。
在查询模块定位到相应资源文件的信息时,若没有发现重复标识,说明该资源文件在缓存服务器中没有被缓存,此时,将该资源文件的真实地址发送给缓存服务器,缓存服务器根据该真实网址查询到下载资源服务器地址并获取客户端请求的资源文件提供给客户端,因此,只有在文件实体不同时缓存服务器才去获取相应的资源文件,减少了缓存服务器存储成本,进一步提高了缓存服务器的性能。
根据本发明的又一方面,还提供了一种缓存服务器,包括:通信单元,用于根据来自客户端的下载请求中的存储路径向如上述任一技术方案中所述的数据监听服务器发送查询请求,以及接收来自所述数据监听服务器的查询结果;判断单元,用于根据所述数据监听服务器的查询结果确定所述客户端请求的资源文件是否已缓存在所述缓存服务器中,若已缓存在所述缓存服务器中,将所述资源文件返回至所述客户端。
在上述技术方案中,优选的,缓存服务器还可以包括:获取单元,在所述资源文件未缓存在所述缓存服务器中时,根据所述数据监听服务器返回的所述资源文件的下载资源服务器的地址,从所述下载资源服务器中获取所述资源文件,反向代理为所述客户端提供所述资源文件。
查询结果实际上就是资源文件的真实网址,若缓存服务器中已缓存资源文件,则通过该真实网址可查找到对应的资源文件,若缓存服务器中未缓该资源文件,则通过该真实网址直接查找到相应的下载服务器,从该下载服务器中获取相应的资源文件,并将该资源文件提供给客户端。
根据本发明的另一方面,还提供了一种重定向下载方法,包括:数据监听服务器获取客户端请求的资源文件信息;按照预定方式保存所述资源文件信息,并生成所述资源文件信息的存储路径,根据所述存储路径向所述客户端发送重定向请求;在所述数据监听服务器接收到来自缓存服务器的查询请求时,根据所述存储路径判断所述客户端请求的资源文件是否已缓存在所述缓存服务器中,将查询结果反馈至所述缓存服务器。
本发明通过设置的数据监听服务器来保存和管理客户端所请求过的资源文件信息,通过特殊的保存方式来保存资源文件信息,并根据资源文件信息在数据监听服务器中的存储路径向客户端发起重定向请求,这样,缓存服务器根据该客户端当前请求的资源文件信息的存储路径来查询数据监听服务器,数据监听服务器将查询结果反馈给缓存服务器,缓存服务器通过该查询结果可确定是否已缓存客户端请求的资源文件,若已缓存,则直接将缓存文件发送给客户端,这样在文件相同,网址不同的情况下,就无需重新获取资源文件,解决了重复缓存资源文件的问题。
在上述技术方案中,优选的,若所述资源文件未缓存在所述缓存服务器中,则所述数据监听服务器向所述缓存服务器返回所述资源文件的下载资源服务器的地址,使所述缓存服务器从所述下载资源服务器中获取所述资源文件,反向代理为所述客户端提供所述资源文件。
查询结果实际上就是资源文件的真实网址,若缓存服务器中已缓存资源文件,则通过该真实网址可查找到对应的资源文件,若缓存服务器中未缓该资源文件,则通过该真实网址直接查找到相应的下载服务器,从该下载服务器中获取相应的资源文件,并将该资源文件提供给客户端。
在上述技术方案中,优选的,所述资源文件信息包括网址、网址长度、文件名、文件大小;所述按照预定方式将所述资源文件信息保存于查询模块的步骤具体包括:判断所述资源文件的网址是否与已记录的资源文件信息中的网址相同,若不相同,则根据所述资源文件的文件名和文件大小判断所述资源文件是否被记录过;若所述资源文件被记录过,则在保存当前的所述资源文件信息时,在当前的所述资源文件信息中写入重复标识和与当前的所述资源文件重复的第一个资源文件的信息的保存地址;根据所有资源文件信息的保存地址生成资源文件索引。
查询模块在保存资源文件信息时,首先判断客户端请求的资源文件的网址是否与之前保存的资源文件的网址相同,若相同,则无需保存该资源文件信息,若不相同,才保存该资源文件信息。并且在保存时,以特殊方式保存该资源文件信息,需判断该资源文件的文件名和文件大小是否与之前保存的资源文件的文件名和文件大小相同,若相同,说明该资源文件与之前保存的资源文件相同,并在保存该资源文件的信息时,写入重复标识以及与该资源文件重复的第一个资源文件在该查询模块中的保存地址。在保存了当前资源文件的信息之后,根据已保存的所有资源文件信息在查询模块中的保存地址生成资源文件索引表。该资源文件索引表的作用是为了快速查询到相应的资源文件信息,而该第一个资源文件在该查询模块中的保存地址是为了查找到该第一个资源文件的网址。
在上述技术方案中,优选的,进一步包括:在所述数据监听服务器接收到所述查询请求后,根据所述存储路径从所述资源文件索引中定位到当前的所述资源文件信息;若在当前的所述资源文件信息中检测到所述重复标识,则根据所述保存地址查找到所述第一个资源文件的信息,将所述第一个资源文件的信息中的网页地址反馈至所述缓存服务器,以使所述缓存服务器根据所述网页地址查找到对应的资源文件并将所述对应的资源文件发送至所述客户端。
该存储路径的作用是使数据监听服务器能够快速查找到相应资源文件的网址,在查找的过程中,若定位到相应资源文件信息,并发现有重复标识,则将与其重复的第一个资源文件的网址作为当前的资源文件的网址发送给缓存服务器,若缓存服务器中已缓存资源文件,则会有网址与资源文件的对应记录,缓存服务器在接收到数据监听服务器发送过来的网址之后,根据该网址可查找到对应的资源文件,这样在文件相同,网址不同时,就不会使缓存服务器重新根据新的网址来获取相同的资源文件,并且由于采用了资源文件索引和特殊的资源文件信息保存方式,可快速查找到资源文件的真实网址,提高了资源文件的获取效率。
在上述技术方案中,优选的,在当前的所述资源文件信息中未检测到所述重复标识时,将当前的所述资源文件信息中的网址反馈至所述缓存服务器,以使所述缓存服务器根据所述网址查找到所述资源文件的下载资源服务器地址,以获取所述资源文件。
在数据监听服务器定位到相应资源文件的信息时,若没有发现重复标识,说明该资源文件在缓存服务器中没有被缓存,此时,将该资源文件的真实地址发送给缓存服务器,缓存服务器根据该真实网址查询到下载资源服务器地址并获取客户端请求的资源文件提供给客户端,因此,只有在文件实体不同时缓存服务器才去获取相应的资源文件,减少了缓存服务器存储成本,进一步提高了缓存服务器的性能。
根据本发明的又一方面,还提供了一种重定向下载方法,包括:客户端在接收到来自数据监听服务器的重定向请求时,向缓存服务器发送下载请求;在所述缓存服务器接收到所述下载请求后,基于资源文件在所述数据监听服务器中的存储路径向所述数据监听服务器发送查询请求,以确定所述客户端请求的资源文件是否已缓存在所述缓存服务器中;若确定已缓存在所述缓存服务器中,则从所述缓存服务器中将所述资源文件返回至所述客户端。
在上述技术方案中,优选的,若确定未缓存在所述缓存服务器中,根据所述数据监听服务器返回的所述资源文件的下载资源服务器的地址,从所述下载资源服务器中获取所述资源文件,反向代理为所述客户端提供所述资源文件。
缓存服务器根据数据监听服务器返回的资源文件的真实网址查询到下载资源服务器地址并获取客户端请求的资源文件提供给客户端,因此,只有在文件实体不同时缓存服务器才去获取相应的资源文件,减少了缓存服务器存储成本,进一步提高了缓存服务器的性能。
附图说明
图1A示出了根据本发明的实施例的数据监听服务器的框图;
图1B示出了根据本发明的实施例的缓存服务器的框图;
图2示出了根据本发明的一个实施例的重定向下载系统的架构图;
图3示出了根据本发明的又一实施例的重定向下载系统的架构图;
图4示出了根据本发明的查询模块、数据监听模块与缓存服务器之间的数据交互示意图;
图5示出了根据本发明的实施例的资源文件索引的示意图;
图6示出了根据本发明的实施例的资源文件信息保存结构示意图;
图7示出了根据本发明的实施例的资源文件重定向下载的处理过程示意图;
图8示出了根据本发明的一个实施例的重定向下载方法的流程图;
图9示出了根据本发明的另一实施例的重定向下载方法的流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
图1A示出了根据本发明的实施例的数据监听服务器的框图。
如图1A所示,根据本发明的实施例的数据监听服务器100包括:数据监听模块102,用于获取客户端请求的资源文件信息,以及接收来自查询模块104的资源文件信息的存储路径并将存储路径发送至重定向模块106;查询模块104,用于按照预定方式保存资源文件信息,并生成资源文件信息的存储路径,以及在接收到来自缓存服务器200的查询请求后,将查询结果反馈至缓存服务器200;重定向模块106,用于向客户端发起重定向请求,以使客户端根据存储路径向缓存服务器200发送下载请求。
本发明通过设置的查询模块104来保存和管理客户端所请求过的资源文件信息,在查询模块104中通过特殊的保存方式来保存资源文件信息,并将资源文件信息在查询模块104中的存储路径由数据监听模块102传送至重定向模块106,重定向模块106向客户端发起重定向请求,这样,缓存服务器200根据该客户端当前请求的资源文件信息的存储路径来查询查询模块104,查询模块104将查询结果反馈给缓存服务器200,缓存服务器200通过该查询结果可确定是否已缓存客户端请求的资源文件,若已缓存,则直接将缓存文件发送给客户端,这样在文件相同,网址不同的情况下,就无需重新获取资源文件,解决了重复缓存资源文件的问题。
在上述技术方案中,优选的,资源文件信息包括网址、网址长度、文件名、文件大小;查询模块104用于判断资源文件的网址是否与已记录的资源文件信息中的网址相同,若不相同,则根据资源文件的文件名和文件大小判断资源文件是否被记录过,若资源文件被记录过,则在保存当前的资源文件信息时,在当前的资源文件信息中写入重复标识和与当前的资源文件重复的第一个资源文件的信息的保存地址,以及根据所有资源文件信息的保存地址生成资源文件索引。
查询模块104在保存资源文件信息时,首先判断客户端请求的资源文件的网址是否与之前保存的资源文件的网址相同,若相同,则无需保存该资源文件信息,若不相同,才保存该资源文件信息。并且在保存时,以特殊方式保存该资源文件信息,需判断该资源文件的文件名和文件大小是否与之前保存的资源文件的文件名和文件大小相同,若相同,说明该资源文件与之前保存的资源文件相同,并在保存该资源文件的信息时,写入重复标识以及与该资源文件重复的第一个资源文件在该查询模块104中的保存地址。在保存了当前资源文件的信息之后,根据已保存的所有资源文件信息在查询模块104中的保存地址生成资源文件索引表。该资源文件索引表的作用是为了快速查询到相应的资源文件信息,而该第一个资源文件在该查询模块104中的保存地址是为了查找到该第一个资源文件的网址。
在上述技术方案中,优选的,查询模块104在接收到查询请求后,根据存储路径从资源文件索引中定位到当前的资源文件信息,若在当前的资源文件信息中检测到重复标识,则根据保存地址查找到第一个资源文件的信息,将第一个资源文件的信息中的网页地址反馈至缓存服务器200;缓存服务器200根据网页地址查找到对应的资源文件并将对应的资源文件发送至客户端。
该存储路径的作用是使查询模块104能够快速查找到相应资源文件的网址,在查找的过程中,若定位到相应资源文件信息,并发现有重复标识,则将与其重复的第一个资源文件的网址作为当前的资源文件的网址发送给缓存服务器108,若缓存服务器108中已缓存资源文件,则会有网址与资源文件的对应记录,缓存服务器108在接收到查询模块104发送过来的网址之后,根据该网址可查找到对应的资源文件,这样在文件相同,网址不同时,就不会使缓存服务器108重新根据新的网址来获取相同的资源文件,并且由于采用了资源文件索引和特殊的资源文件信息保存方式,可快速查找到资源文件的真实网址,提高了资源文件的获取效率。
在上述技术方案中,优选的,查询模块104在当前的资源文件信息中未检测到重复标识时,将当前的资源文件信息中的网址反馈至缓存服务器108,缓存服务器108根据网址查找到资源文件的下载资源服务器地址,以获取资源文件。
在查询模块104定位到相应资源文件的信息时,若没有发现重复标识,说明该资源文件在缓存服务器108中没有被缓存,此时,将该资源文件的真实地址发送给缓存服务器108,缓存服务器108根据该真实网址查询到下载资源服务器地址并获取客户端请求的资源文件提供给客户端,因此,只有在文件实体不同时缓存服务器108才去获取相应的资源文件,减少了缓存服务器108存储成本,进一步提高了缓存服务器108的性能。
图1B示出了根据本发明的实施例的缓存服务器的框图。
如图1B所示,根据本发明的实施例的缓存服务器200,包括:通信单元108,用于根据来自客户端的下载请求中的存储路径向如图1所示的数据监听服务器100发送查询请求,以及接收来自数据监听服务器的查询结果;判断单元110,用于根据数据监听服务器的查询结果确定客户端请求的资源文件是否已缓存在缓存服务器中,若已缓存在缓存服务器中,将资源文件返回至客户端。
在上述技术方案中,优选的,缓存服务器还可以包括:获取单元112,在资源文件未缓存在缓存服务器中时,根据数据监听服务器返回的资源文件的下载资源服务器的地址,从下载资源服务器中获取资源文件,反向代理为客户端提供所述资源文件。
查询结果实际上就是资源文件的真实网址,若缓存服务器中已缓存资源文件,则通过该真实网址可查找到对应的资源文件,若缓存服务器中未缓该资源文件,则通过该真实网址直接查找到相应的下载服务器,从该下载服务器中获取相应的资源文件,并将该资源文件提供给客户端。
接下来参考图2和图3来说明根据本发明的重定向下载系统的架构图。
如图2所示和图3所示,数据监听服务器202包括数据监听模块102、查询模块104和重定向模块106。
如图2所示,由数据监听服务器为202中的数据监听模块102通过端口镜像或无源分光的方式或串接的方式获取交换机处的用户请求下载数据。分析用户下载请求数据,获取并记录用户针对某一文件下载请求的文件信息及URL,以及外网资源服务器204返回的文件信息。将记录的文件信息及URL传递到重定向模块106。
重定向模块106接收数据监听模块102记录的资源文件的文件名、文件大小等文件信息以及对应的URL数据,将获取的数据存储到查询模块104,并从查询模块104获取特定的格式的重定向路径,组装重定向数据格式(生成资源文件在查询模块104中的存储路径),给资源服务器204中的缓存服务器200发送302重定向数据。
缓存服务器108接收到重定向数据后,将存储路径传送至查询模块104,以获取用户需要下载资源文件的URL地址。
查询模块104为缓存服务器提供一个快速查询的缓存,该缓存以表的形式存储数据监听模块监听的用户请求地址,并返回给数据监听模块102重定向缓存服务器的地址和资源文件的存储路径,并对缓存服务器发送过来的存储路径进行拆分,获取查询索引,通过查询索引为缓存服务器提供用户请求的资源文件的地址。
如图4所示,数据监听模块102将获取的资源文件的信息(文件名、URL、文件大小、文件类型(多媒体/非多媒体))发送至查询模块104进行保存,查询模块104按照一定格式将资源文件信息缓存到内存文件中,资源文件信息的保存方式参加图5和6。查询模块104保存资源文件信息后向数据监听模块102返回资源文件信息在查询模块104中的存储路径,该存储路径的格式为:/类型(多媒体/非多媒体)/后缀名/头字母排序(文件名的第一个字母的ASCII码值)/某个字母内的排序号(当前资源文件信息在资源文件信息列表中的排序号)/文件名。
数据监听模块102将该存储路径发送至重定向模块,由重定向模块向客户端发起重定向请求,缓存服务器108将该存储路径发送至查询模块104发起查询请求,查询模块104分析该存储路径,查找出客户端请求的资源文件的URL,并将该URL反馈至缓存服务器108。缓存服务器108通过实际URL为用户提供反向代理服务。
查询模块104为实现大数据量的快速查询功能,引入两级内存文件表。文件表一(如图5所示)为用户请求资源文件信息存储索引表。文件表二(如图6所示)存储的是用户请求的真实信息(资源文件信息)。当数据监听模块将用户请求文件相关信息(资源文件信息)传递到查询模块时,查询模块按文件和目录方式存储信息。目录层次划分为:/类型/后缀名/文件名的头字母ASCII码值/。当获取到数据监听模块传输的文件信息后,通过对用户请求的文件名的处理,将文件信息保存在指定的内存文件夹的文件表二中,将在文件表二中存储文件信息的起始地址,存储到文件表一中。其中,在保存资源文件信息之前,查询模块需判断该资源文件信息中的URL与已保存的资源文件信息中的URL是否相同,如果相同,则不需要保存当前的资源文件信息,若不相同,则继续判断该资源文件信息的文件名和文件大小与已保存的资源文件信息中的文件名和文件大小是否相同,若相同,则说明之前已保存过相同的资源文件,在该当前的资源文件信息中写入重复标识,如图6所示,表二中的类型的值若为零,说明该资源文件是第一次被保存,若为1,说明该资源文件是重复文件。个数表示该条资源文件记录后面重复的资源文件的个数,假如序号为1、3、5的资源文件为相同的资源文件但URL不相同,且序号为1的资源文件为第一个资源文件,那么在序号为1的资源文件记录中的个数项的值为2,序号为3和序号为5的资源文件为重复文件,那么在这两个资源文件记录中的重复记录中第一个资源文件的地址的值为序号1的资源文件记录的保存地址。
查询模块采用这种方式保存资源文件信息,可确定客户端当前请求的资源文件信息是否已在缓存服务器中缓存。在查询模块以这种特定格式保存资源文件信息之后,将该资源文件信息的存储路径反馈给数据监听模块,并通过重定向模块进行数据重定向,缓存服务器在接收到客户端的下载请求之后,将该存储路径发送至查询模块进行查询,查询模块拆分存储路径,通过资源文件信息索引快速定位到相应的资源文件信息记录,若该资源文件信息记录中的类型为重复文件,那么获取其对应的第一个资源文件的保存地址,根据该保存地址查询到第一资源文件记录,从该第一个资源文件记录中获取其对应的URL,将该URL反馈至缓存服务器,缓存服务器根据该URL查找其对应的资源文件,将该资源文件发送至客户端。若该资源文件信息记录中的类型为第一个文件,那么直接获取其对应的URL,将该URL发送至缓存服务器,缓存服务器根据该URL下载到客户端请求的资源文件,将该资源文件反馈至客户端,通过上述处理过程,就可以防止缓存服务器重复缓存相同的资源文件,并且通过查询模块的特殊保存方式可快速获取到资源文件的真实URL,防止出现在数据库存储数据庞大,无法快速获取真实URL的问题。
关于文件名的头字母ASCII码值的说明,当文件名为中文名时,文件名的首字符为%,此时取文件名的第二个字符ASCII码值+100作为存储路径中的头字母ASCII码值。
查询模块中的内存文件表由于存在掉电丢失问题,因此在整个查询模块(查询中间件)中,会定时(例如每分钟)将内存文件表保存在系统磁盘中;当系统掉电重新加载时,首选将磁盘中的内存文件表导入内存,保持存储内容的连贯性。
下面结合图7进一步说明资源文件重定向下载的处理过程。
资源文件重定向下载的处理过程可以包括如下步骤:
1)用户a向广域网服务器请求下载资源文件X。
2)数据监听模块监听用户请求,获取资源文件X的文件名、文件大小等文件信息。
3)将资源文件X的文件信息通过SDK API存储到快速查询中间件(即查询模块)中,并返回存储虚拟地址(即存储路径)。
4)将虚拟地址传递到重定向模块。
5)重定向模块模拟远端资源服务器B向用户发起302重定向请求,重定向地址为缓存资源服务器C,重定向路径为虚拟地址。
6)用户a关闭与资源服务器B的连接,向缓存资源服务器C请求资源文件X下载。
7)缓存资源服务器C将用户请求的虚拟地址向快速查询中间件查询,获取资源文件X的真实下载路径,即资源服务器B地址。
8)资源服务器C向资源服务器B请求资源文件X的内容。
9)资源服务器C为用户a提供资源文件X的反向代理下载。
应理解,在部署根据本发明的重定向下载系统时,可在用户和资源服务器集群之间部署数据监听服务器,通过端口镜像或无源分光的方式监控所有用户与资源服务器之间的数据通信。在部署缓存服务器后,可在每台缓存服务器上部署快速查询客户端模块(查询模块的客户端),以及在数据监听服务器上部署快速查询服务器端及客户端模块。在数据监听服务器上部署重定向模块。
本发明解决了HTTP缓存加速系统中,当用户请求下载的文件相同,但文件URL不同时,缓存服务器重复缓存相同文件的问题。而且随着HTTP缓存加速系统缓存文件数目的增加,数据库存储的重定向关系变多,获取真实URL的时间过慢的问题。
图8示出了根据本发明的实施例的重定向下载方法的流程图。
如图8所示,根据本发明的实施例的重定向下载方法可以包括以下步骤:步骤802,数据监听服务器获取客户端请求的资源文件信息;步骤804,按照预定方式保存资源文件信息,并生成资源文件信息的存储路径,根据存储路径向客户端发送重定向请求;步骤806,在数据监听服务器接收到来自缓存服务器的查询请求时,根据存储路径判断客户端请求的资源文件是否已缓存在缓存服务器中,将查询结果反馈至缓存服务器。
本发明通过设置的数据监听服务器来保存和管理客户端所请求过的资源文件信息,通过特殊的保存方式来保存资源文件信息,并根据资源文件信息在数据监听服务器中的存储路径向客户端发起重定向请求,这样,缓存服务器根据该客户端当前请求的资源文件信息的存储路径来查询数据监听服务器,数据监听服务器将查询结果反馈给缓存服务器,缓存服务器通过该查询结果可确定是否已缓存客户端请求的资源文件,若已缓存,则直接将缓存文件发送给客户端,这样在文件相同,网址不同的情况下,就无需重新获取资源文件,解决了重复缓存资源文件的问题。
在上述技术方案中,优选的,若资源文件未缓存在缓存服务器中,则数据监听服务器向缓存服务器返回资源文件的下载资源服务器的地址,使缓存服务器从下载资源服务器中获取资源文件,反向代理为客户端提供资源文件。
查询结果实际上就是资源文件的真实网址,若缓存服务器中已缓存资源文件,则通过该真实网址可查找到对应的资源文件,若缓存服务器中未缓该资源文件,则通过该真实网址直接查找到相应的下载服务器,从该下载服务器中获取相应的资源文件,并将该资源文件提供给客户端。
在上述技术方案中,优选的,资源文件信息包括网址、网址长度、文件名、文件大小;所述按照预定方式将所述资源文件信息保存于查询模块的步骤具体包括:判断所述资源文件的网址是否与已记录的资源文件信息中的网址相同,若不相同,则根据所述资源文件的文件名和文件大小判断所述资源文件是否被记录过;若所述资源文件被记录过,则在保存当前的所述资源文件信息时,在当前的所述资源文件信息中写入重复标识和与当前的所述资源文件重复的第一个资源文件的信息的保存地址;根据所有资源文件信息的保存地址生成资源文件索引。
查询模块在保存资源文件信息时,首先判断客户端请求的资源文件的网址是否与之前保存的资源文件的网址相同,若相同,则无需保存该资源文件信息,若不相同,才保存该资源文件信息。并且在保存时,以特殊方式保存该资源文件信息,需判断该资源文件的文件名和文件大小是否与之前保存的资源文件的文件名和文件大小相同,若相同,说明该资源文件与之前保存的资源文件相同,并在保存该资源文件的信息时,写入重复标识以及与该资源文件重复的第一个资源文件在该查询模块中的保存地址。在保存了当前资源文件的信息之后,根据已保存的所有资源文件信息在查询模块中的保存地址生成资源文件索引表。该资源文件索引表的作用是为了快速查询到相应的资源文件信息,而该第一个资源文件在该查询模块中的保存地址是为了查找到该第一个资源文件的网址。
在上述技术方案中,优选的,进一步包括:在数据监听服务器接收到所述查询请求后,根据所述存储路径从所述资源文件索引中定位到当前的所述资源文件信息;若在当前的所述资源文件信息中检测到所述重复标识,则根据所述保存地址查找到所述第一个资源文件的信息,将所述第一个资源文件的信息中的网页地址反馈至所述缓存服务器;所述缓存服务器根据所述网页地址查找到对应的资源文件并将所述对应的资源文件发送至所述客户端。
该存储路径的作用是使数据监听服务器能够快速查找到相应资源文件的网址,在查找的过程中,若定位到相应资源文件信息,并发现有重复标识,则将与其重复的第一个资源文件的网址作为当前的资源文件的网址发送给缓存服务器,若缓存服务器中已缓存资源文件,则会有网址与资源文件的对应记录,缓存服务器在接收到数据监听服务器发送过来的网址之后,根据该网址可查找到对应的资源文件,这样在文件相同,网址不同时,就不会使缓存服务器重新根据新的网址来获取相同的资源文件,并且由于采用了资源文件索引和特殊的资源文件信息保存方式,可快速查找到资源文件的真实网址,提高了资源文件的获取效率。
在上述技术方案中,优选的,在当前的所述资源文件信息中未检测到所述重复标识时,将当前的所述资源文件信息中的网址反馈至所述缓存服务器,所述缓存服务器根据所述网址查找到所述资源文件的下载资源服务器地址,以获取所述资源文件。
在数据监听服务器定位到相应资源文件的信息时,若没有发现重复标识,说明该资源文件在缓存服务器中没有被缓存,此时,将该资源文件的真实地址发送给缓存服务器,缓存服务器根据该真实网址查询到下载资源服务器地址并获取客户端请求的资源文件提供给客户端,因此,只有在文件实体不同时缓存服务器才去获取相应的资源文件,减少了缓存服务器存储成本,进一步提高了缓存服务器的性能。
如图9所示,根据本发明的另一实施例的重定向下载方法,可以包括以下步骤:步骤902,客户端在接收到来自数据监听服务器的重定向请求时,向缓存服务器发送下载请求;步骤904,在缓存服务器接收到下载请求后,基于资源文件在数据监听服务器中的存储路径向数据监听服务器发送查询请求,以确定客户端请求的资源文件是否已缓存在缓存服务器中;步骤906,若确定已缓存在缓存服务器中,则从缓存服务器中将资源文件返回至客户端。
在上述技术方案中,优选的,若确定未缓存在缓存服务器中,根据所述数据监听服务器返回的所述资源文件的下载资源服务器的地址,从所述下载资源服务器中获取所述资源文件,反向代理为所述客户端提供所述资源文件。
缓存服务器根据数据监听服务器返回的资源文件的真实网址查询到下载资源服务器地址并获取客户端请求的资源文件提供给客户端,因此,只有在文件实体不同时缓存服务器才去获取相应的资源文件,减少了缓存服务器存储成本,进一步提高了缓存服务器的性能。
通过部署本发明的重定向下载系统,能为HTTP缓存系统解决缓存系统内缓存文件重复保存的问题,从而减少服务器的存储成本,以及缓存资源服务器的数目,以最少的服务器数提供最大的下载服务,降低了运营成本。同时,也减少出口请求,提升出口带宽利用率。其次,为HTTP缓存系统提供分布式部署的可能,不会因为由于对用户内容缓存的增加,而造成缓存服务器响应慢的问题,进而提升HTTP缓存系统高扩展性,改善用户体验。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据监听服务器,其特征在于,包括:
数据监听模块,用于获取客户端请求的资源文件信息,以及接收来自查询模块的所述资源文件信息的存储路径并将所述存储路径发送至重定向模块;
查询模块,用于按照预定方式保存所述资源文件信息,并生成所述资源文件信息的存储路径,以及在接收到来自缓存服务器的查询请求后,将查询结果反馈至所述缓存服务器;
所述重定向模块,用于向所述客户端发起重定向请求,以使所述客户端根据所述存储路径向所述缓存服务器发送下载请求;
所述资源文件信息包括网址、网址长度、文件名、文件大小;
所述查询模块用于判断所述资源文件的网址是否与已记录的资源文件信息中的网址相同,若不相同,则根据所述资源文件的文件名和文件大小判断所述资源文件是否被记录过,若所述资源文件被记录过,则在保存当前的所述资源文件信息时,在当前的所述资源文件信息中写入重复标识和与当前的所述资源文件重复的第一个资源文件的信息的保存地址,以及根据所有资源文件信息的保存地址生成资源文件索引。
2.根据权利要求1所述的数据监听服务器,其特征在于,所述查询模块在接收到来自所述缓存服务器的查询请求后,根据所述存储路径从所述资源文件索引中定位到当前的所述资源文件信息,若在当前的所述资源文件信息中检测到所述重复标识,则根据所述保存地址查找到所述第一个资源文件的信息,将所述第一个资源文件的信息中的网页地址反馈至所述缓存服务器,以使所述缓存服务器根据所述网页地址查找出相应的资源文件。
3.根据权利要求2所述的数据监听服务器,其特征在于,所述查询模块在当前的所述资源文件信息中未检测到所述重复标识时,将当前的所述资源文件信息中的网址反馈至所述缓存服务器。
4.一种缓存服务器,其特征在于,包括:
通信单元,用于根据来自客户端的下载请求中的存储路径向如权利要求1至3中任一项所述的数据监听服务器发送查询请求,以及接收来自所述数据监听服务器的查询结果;
判断单元,用于根据所述数据监听服务器的查询结果确定所述客户端请求的资源文件是否已缓存在所述缓存服务器中,若已缓存在所述缓存服务器中,将所述资源文件返回至所述客户端。
5.根据权利要求4所述的缓存服务器,其特征在于,还包括:
获取单元,在所述资源文件未缓存在所述缓存服务器中时,根据所述数据监听服务器返回的所述资源文件的下载资源服务器的地址,从所述下载资源服务器中获取所述资源文件,反向代理为所述客户端提供所述资源文件。
6.一种重定向下载方法,其特征在于,包括:
数据监听服务器获取客户端请求的资源文件信息;
按照预定方式保存所述资源文件信息,并生成所述资源文件信息的存储路径,根据所述存储路径向所述客户端发送重定向请求;
在所述数据监听服务器接收到来自缓存服务器的查询请求时,根据所述存储路径判断所述客户端请求的资源文件是否已缓存在所述缓存服务器中,将查询结果反馈至所述缓存服务器;
所述资源文件信息包括网址、网址长度、文件名、文件大小;
所述按照预定方式保存所述资源文件信息的步骤具体包括:判断所述资源文件的网址是否与已记录的资源文件信息中的网址相同,若不相同,则根据所述资源文件的文件名和文件大小判断所述资源文件是否被记录过;
若所述资源文件被记录过,则在保存当前的所述资源文件信息时,在当前的所述资源文件信息中写入重复标识和与当前的所述资源文件重复的第一个资源文件的信息的保存地址;
根据所有资源文件信息的保存地址生成资源文件索引。
7.根据权利要求6所述的重定向下载方法,其特征在于,进一步包括:在所述数据监听服务器接收到所述查询请求后,根据所述存储路径从所述资源文件索引中定位到当前的所述资源文件信息;
若在当前的所述资源文件信息中检测到所述重复标识,则根据所述保存地址查找到所述第一个资源文件的信息,将所述第一个资源文件的信息中的网页地址反馈至所述缓存服务器,以使所述缓存服务器根据所述网页地址查找到对应的资源文件并将所述对应的资源文件发送至所述客户端。
8.根据权利要求7所述的重定向下载方法,其特征在于,在当前的所述资源文件信息中未检测到所述重复标识时,将当前的所述资源文件信息中的网址反馈至所述缓存服务器。
9.一种重定向下载方法,其特征在于,包括:
客户端在接收到来自数据监听服务器的重定向请求时,向缓存服务器发送下载请求;
在所述缓存服务器接收到所述下载请求后,基于资源文件在所述数据监听服务器中的存储路径向所述数据监听服务器发送查询请求,以确定所述客户端请求的资源文件是否已缓存在所述缓存服务器中;
若确定已缓存在所述缓存服务器中,则从所述缓存服务器中将所述资源文件返回至所述客户端;
其中,所述缓存服务器包括:
通信单元,用于根据来自客户端的下载请求中的存储路径向如权利要求1至3中任一项所述的数据监听服务器发送查询请求,以及接收来自所述数据监听服务器的查询结果;
判断单元,用于根据所述数据监听服务器的查询结果确定所述客户端请求的资源文件是否已缓存在所述缓存服务器中,若已缓存在所述缓存服务器中,将所述资源文件返回至所述客户端。
10.根据权利要求9所述的重定向下载方法,其特征在于,若确定未缓存在所述缓存服务器中,根据所述数据监听服务器返回的所述资源文件的下载资源服务器的地址,从所述下载资源服务器中获取所述资源文件,反向代理为所述客户端提供所述资源文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310410580.7A CN104426718B (zh) | 2013-09-10 | 2013-09-10 | 数据监听服务器、缓存服务器和重定向下载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310410580.7A CN104426718B (zh) | 2013-09-10 | 2013-09-10 | 数据监听服务器、缓存服务器和重定向下载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104426718A CN104426718A (zh) | 2015-03-18 |
CN104426718B true CN104426718B (zh) | 2018-04-13 |
Family
ID=52974730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310410580.7A Expired - Fee Related CN104426718B (zh) | 2013-09-10 | 2013-09-10 | 数据监听服务器、缓存服务器和重定向下载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104426718B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104936043A (zh) * | 2015-07-08 | 2015-09-23 | 蓝汛网络科技(北京)有限公司 | 视频资源识别方法和装置 |
CN107196986B (zh) * | 2016-03-15 | 2021-04-27 | 中国移动通信集团江苏有限公司 | 一种重定向方法及装置 |
CN105791328A (zh) * | 2016-05-25 | 2016-07-20 | 江苏省基础地理信息中心 | 一种三维信息的调用方法、共享方法和装置 |
CN106528594A (zh) * | 2016-09-20 | 2017-03-22 | 海信集团有限公司 | 一种下载文件的查询方法及装置 |
CN109040153B (zh) * | 2017-06-08 | 2022-06-28 | 中兴通讯股份有限公司 | 缓存内容的缓存方法、相关设备和计算机可读存储介质 |
CN109089175B (zh) * | 2017-06-14 | 2022-04-22 | 中兴通讯股份有限公司 | 一种视频缓存加速的方法及装置 |
CN108600378B (zh) * | 2018-04-28 | 2021-05-28 | 武汉斗鱼网络科技有限公司 | 一种文件下载方法、装置、终端和存储介质 |
CN110134896B (zh) * | 2019-05-17 | 2023-05-09 | 山东渤聚通云计算有限公司 | 一种代理服务器的监控过程及智能缓存方法 |
CN113382286A (zh) * | 2021-06-07 | 2021-09-10 | 中山亿联智能科技有限公司 | 基于iptv的自动处理文件下载通知的方法 |
CN114896219B (zh) * | 2022-07-15 | 2022-09-20 | 深圳市沃特沃德信息有限公司 | 资源数据存储的方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465785A (zh) * | 2008-05-28 | 2009-06-24 | 北京东方网信科技有限公司 | 基于主动引导和重定向的p2p流量缓存系统 |
CN101719936A (zh) * | 2009-12-09 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 提供文件下载服务的方法、装置及缓存系统 |
CN102333123A (zh) * | 2011-10-08 | 2012-01-25 | 北京星网锐捷网络技术有限公司 | 文件存储方法、设备、查找方法、设备和网络设备 |
CN102523299A (zh) * | 2011-12-22 | 2012-06-27 | 北京邮电大学 | 基于消息摘要进行内容标识的缓存方法 |
CN103139252A (zh) * | 2011-11-30 | 2013-06-05 | 北京网康科技有限公司 | 一种网络代理缓存加速的实现方法及其装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8218561B2 (en) * | 2009-04-27 | 2012-07-10 | Cisco Technology, Inc. | Flow redirection employing state information |
-
2013
- 2013-09-10 CN CN201310410580.7A patent/CN104426718B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101465785A (zh) * | 2008-05-28 | 2009-06-24 | 北京东方网信科技有限公司 | 基于主动引导和重定向的p2p流量缓存系统 |
CN101719936A (zh) * | 2009-12-09 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | 提供文件下载服务的方法、装置及缓存系统 |
CN102333123A (zh) * | 2011-10-08 | 2012-01-25 | 北京星网锐捷网络技术有限公司 | 文件存储方法、设备、查找方法、设备和网络设备 |
CN103139252A (zh) * | 2011-11-30 | 2013-06-05 | 北京网康科技有限公司 | 一种网络代理缓存加速的实现方法及其装置 |
CN102523299A (zh) * | 2011-12-22 | 2012-06-27 | 北京邮电大学 | 基于消息摘要进行内容标识的缓存方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104426718A (zh) | 2015-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104426718B (zh) | 数据监听服务器、缓存服务器和重定向下载方法 | |
US10491702B2 (en) | Proxy-based cache content distribution and affinity | |
CN105763628B (zh) | 数据访问请求处理方法及装置、边缘节点服务器和集群 | |
CN107094176B (zh) | 用于对计算机网络上的数据通信进行缓存的方法和系统 | |
KR101383905B1 (ko) | 해시 함수 결과를 이용한 서버 부하 분산 처리 방법 및 그 장치 | |
US10044826B2 (en) | Method and apparatus for reducing network resource transmission size using delta compression | |
US7877457B2 (en) | Peer to peer gateway | |
US20090271502A1 (en) | Data distribution method, data distribution system and relevant devices in edge network | |
US20140089460A1 (en) | Unobtrusive methods and systems for collecting information transmitted over a network | |
US6654795B1 (en) | System and method for distribution of network file accesses over network storage devices | |
US10735528B1 (en) | Geographic relocation of content source in a content delivery network | |
WO2008103530A1 (en) | Prallel retrieval system | |
US9407726B1 (en) | Caching objects identified by dynamic resource identifiers | |
CN102946320B (zh) | 一种分布式用户行为日志预测网络监管方法及系统 | |
US11232166B2 (en) | Networked page access and addressing based on partial categorization indexing | |
CN104714965A (zh) | 静态资源去重方法、静态资源管理方法及装置 | |
US20030046357A1 (en) | Intelligent content placement in a distributed computing network | |
CN109729108A (zh) | 一种防止缓存击穿的方法、相关服务器及系统 | |
US20140143339A1 (en) | Method, apparatus, and system for resource sharing | |
CN103369002B (zh) | 一种资源下载的方法及系统 | |
CN104935653A (zh) | 一种访问热点资源的旁路缓存方法和装置 | |
CN109873855A (zh) | 一种基于区块链网络的资源获取方法和系统 | |
CN105812427A (zh) | 文件上传和下载方法、装置、及文件服务器 | |
CN103416027B (zh) | 缓存优化的方法、缓存器和缓存优化的系统 | |
CN103957252B (zh) | 云储存系统的日志获取方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100088 Beijing City, Haidian District Institute of Road No. 15, North Building B block 5 layer Patentee after: FOUNDER BROADBAND NETWORK SERVICE Co.,Ltd. Address before: 100088 Beijing City, Haidian District Institute of Road No. 15, North Building B block 5 layer Patentee before: FOUNDER BROADBAND NETWORK SERVICE Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180413 Termination date: 20210910 |