通过cdn网络实现ftp下载服务的系统和方法

文档序号:7960368阅读:657来源:国知局
专利名称:通过cdn网络实现ftp下载服务的系统和方法
技术领域
本发明涉及数据通信。更具体地说,本发明涉及一种通过CDN网络实现FTP下载服务的系统和方法。基于CDN(内容分发网络)网络,本发明实现了一种分布式FTP下载服务系统及其方法。
背景技术
随着宽带互联网的发展,下载已成为一种主要的网络应用。根据CNNIC调查显示,对上网经常使用的网络功能调查中37%的用户选择下载。其中,由于FTP下载方式具备传输速度快、连接稳定和具备断点续传等功能,更是被广泛采用。
FTP下载服务基于FTP(文件传输协议)实现,采用C/S(即客户端/服务器)的工作模式。传统的实现方式是一种简单的多对一结构,即在中心架设一台FTP服务器,多个用户终端通过FTP客户端向这台服务器发出请求,此服务器对各客户机分别作出应答,如图1所示。这种方法的主要缺点就是随着FTP用户的增加,FTP服务器本身的性能将成为整个系统的瓶颈。导致服务器的网络传输效率会显著下降,表现为数据传输速度不稳定,服务器对请求响应迟缓,甚至拒绝应答。
为了解决这一问题,也曾提出一些简单的解决方法。
第一种方法是采用FTP服务器集群的方式,如图2的结构所示。通过一个负载均衡交换机并行连接多台服务器,提高并发服务能力。这一方法解决了服务器性能的问题,但由于用户的所有请求都汇聚到了一点,产生很大的骨干网络流量,又容易造成网络带宽瓶颈,同时该解决方案的成本很高。
第二种方法则是有些FTP系统采用了人为限制客户机到服务器的并发连接数,以保证大多数客户机拥有较快的应答速度,但这种方式意味着FTP服务器在某个时间段要抛弃部分用户,且无法满足业务增长的需要,所以这种解决方法并不合理。
另外,目前基于CDN技术的Web缓存技术和流媒体分发技术已经基本成熟,并已大规模的部署和应用。CDN技术可以用于分发Web内容,提高页面访问速度;同时也是一种能够有效缓解流媒体传输的高吞吐率对骨干网络带宽带来的压力,同时提升流媒体服务质量的有效手段。CDN的核心思想是将内容从中心推倒边缘靠近用户的地方,这样,不但有效提高了用户访问内容的性能,而且有效减轻了中心设备和骨干网络的压力。通过CDN,可以将内容服务从原来的单一中心结构变为分布式的结构。

发明内容
有鉴于此,本发明提出一种通过CDN网络实现FTP下载服务的系统和方法。基于CDN网络的内容分发能力,本发明实现了一种改进的、可实现分布式FTP服务的系统和方法。
根据本发明的一个方面,为了实现上述目的,本发明提供一种可实现分布式FTP服务的CDN系统,其特征在于包括媒体资源库,用作整个CDN系统的FTP下载内容源;管理支撑系统,负责整个CDN系统的FTP下载的业务和设备管理;内容路由/负载均衡系统,用于在整个CDN网络中,将用户的FTP下载内容请求调度到一个特定的服务点;CDN节点网络,用作CDN网络中面向用户提供FTP下载服务的设备集群;以及用户终端,用于从CDN系统中进行FTP下载。
根据本发明的另一个方面,为了实现上述目的,本发明提供一种内容发布和分发方法,其特征在于包括步骤内容管理服务器向FTPCache下发内容分发指令,告知其内容源的信息;FTP Cache向内容源服务器发起内容下载请求;内容从FTP源服务器下载到FTP Cache;FTP Cache将发送成功的结果返回给内容管理服务器;以及内容管理服务器根据内容的文件名、存放的位置信息,添加CDN服务标识,生成URL信息,将其发布到门户服务器上。
根据本发明的再一个方面,为了实现上述目的,本发明提供一种通过CDN网络实现FTP下载服务的方法,其特征在于包括步骤业务引导,将用户的请求调度到离其最近的、最合适的FTP Cache上;业务认证,对用户的业务请求进行认证授权,在确定用户的合法性后提供服务;以及服务提供,向用户提供服务,并对服务提供过程中进行必要的服务控制。
根据本发明的另一个方面,为了实现上述目的,本发明提供一种通过CDN网络实现FTP下载服务的方法,其特征在于包括步骤用户终端访问门户服务器,点击URL链接获取服务;根据用户终端的CDN标识,将全局负载均衡设备的IP地址返回给用户终端;用户终端向全局负载均衡设备发起请求;全局负载均衡设备判断用户IP地址,根据就近性原则返回到用户终端最近的本地负载均衡设备的地址给用户终端;用户终端向本地负载均衡设备发起请求;本地负载均衡设备将用户信息发送到认证服务器进行认证;若认证通过,则认证服务器通知本地负载均衡设备认证通过,否则认证服务器向用户终端返回拒绝服务消息;在认证通过后,本地负载均衡设备向策略管理服务器发起请求;策略管理服务器生成用户访问FTP Cache所用的用户名和密码,并生成相应的策略;策略管理服务器将所生成的用户名、密码、以及相关策略返回给本地负载均衡设备;本地负载均衡设备判断内容是否本地命中;在判断本地命中时,本地负载均衡设备根据内容分布、负载情况,选择合适的FTP Cache,将其地址、用户名和密码等信息返回给用户终端;用户终端向FTP Cache发起FTP下载请求;FTP Cache将用户请求中的用户名和密码信息送至策略管理服务器进行验证;验证通过后,策略管理服务器向FTP Cache下发策略;以及FTP Cache根据策略管理服务器设定的策略为用户终端提供服务,进行数据传输。
根据本发明的再一个方面,为了实现上述目的,本发明提供一种通过CDN网络实现FTP下载服务的方法,其特征在于包括步骤用户终端访问门户服务器,点击URL链接获取服务;根据用户终端的CDN标识,将全局负载均衡设备的IP地址返回给用户终端;用户终端向全局负载均衡设备发起请求;全局负载均衡设备判断用户IP地址,根据就近性原则返回到用户终端最近的本地负载均衡设备的地址给用户终端;用户终端向本地负载均衡设备发起请求;本地负载均衡设备选择合适的FTP Cache,将其地址返回给用户终端,从而将用户终端重定向到FTP Cache;用户终端向FTP Cache发起FTP下载请求;FTP Cache将用户信息发送到认证服务器进行认证;若认证通过,则认证服务器通知FTP Cache认证通过;在通过认证之后,FTP Cache向策略管理服务器发起请求;策略管理服务器生成用户访问FTP服务器所用的用户名和密码,并生成相应的策略;策略管理服务器将所生成的用户名、密码、以及相关策略返回给FTP Cache;判断内容是否本地命中;在内容本地命中时,用户终端向FTP Cache中的FTP服务器发起FTP下载请求;FTP Cache中的FTP服务器将用户请求中的用户名和密码信息送至策略管理服务器进行验证;验证通过后,策略管理服务器向FTPCache中的FTP服务器下发策略;FTP Cache中的FTP服务器根据策略管理服务器设定的策略为用户终端提供服务,进行数据传输。
此外,本发明还提供一种计算机程序产品,该计算机程序产品包括在计算机可读存储介质中实施的程序代码,用于进行内容发布和分发,所述计算机程序代码包括实现下列步骤的计算机程序代码内容管理服务器向FTP Cache下发内容分发指令,告知其内容源的信息;FTPCache向内容源服务器发起内容下载请求;内容从FTP源服务器下载到FTP Cache;FTP Cache将发送成功的结果返回给内容管理服务器;以及内容管理服务器根据内容的文件名、存放的位置信息,添加CDN服务标识,生成URL信息,将其发布到门户服务器上。
另外,本发明还提供一种计算机程序产品,该计算机程序产品包括在计算机可读存储介质中实施的程序代码,用于通过CDN网络实现FTP下载服务,所述计算机程序代码包括实现下列步骤的计算机程序代码业务引导,将用户的请求调度到离其最近的、最合适的FTP Cache上;业务认证,对用户的业务请求进行认证授权,在确定用户的合法性后提供服务;以及服务提供,向用户提供服务,并对服务提供过程中进行必要的服务控制。
此外,本发明还提供一种计算机程序产品,该计算机程序产品包括在计算机可读存储介质中实施的程序代码,用于通过CDN网络实现FTP下载服务,所述计算机程序代码包括实现下列步骤的计算机程序代码用户终端访问门户服务器,点击URL链接获取服务;根据用户终端的CDN标识,将全局负载均衡设备的IP地址返回给用户终端;用户终端向全局负载均衡设备发起请求;全局负载均衡设备判断用户IP地址,根据就近性原则返回到用户终端最近的本地负载均衡设备的地址给用户终端;用户终端向本地负载均衡设备发起请求;本地负载均衡设备将用户信息发送到认证服务器进行认证;若认证通过,则认证服务器通知本地负载均衡设备认证通过,否则认证服务器向用户终端返回拒绝服务消息;在认证通过后,本地负载均衡设备向策略管理服务器发起请求;策略管理服务器生成用户访问FTP Cache所用的用户名和密码,并生成相应的策略;策略管理服务器将所生成的用户名、密码、以及相关策略返回给本地负载均衡设备;本地负载均衡设备判断内容是否本地命中;在判断本地命中时,本地负载均衡设备根据内容分布、负载情况,选择合适的FTP Cache,将其地址、用户名和密码等信息返回给用户终端;用户终端向FTP Cache发起FTP下载请求;FTP Cache将用户请求中的用户名和密码信息送至策略管理服务器进行验证;验证通过后,策略管理服务器向FTP Cache下发策略;以及FTP Cache根据策略管理服务器设定的策略为用户终端提供服务,进行数据传输。
另外,本发明还提供一种计算机程序产品,该计算机程序产品包括在计算机可读存储介质中实施的程序代码,用于通过CDN网络实现FTP下载服务,所述计算机程序代码包括实现下列步骤的计算机程序代码用户终端访问门户服务器,点击URL链接获取服务;根据用户终端的CDN标识,将全局负载均衡设备的IP地址返回给用户终端;用户终端向全局负载均衡设备发起请求;全局负载均衡设备判断用户IP地址,根据就近性原则返回到用户终端最近的本地负载均衡设备的地址给用户终端;用户终端向本地负载均衡设备发起请求;本地负载均衡设备选择合适的FTP Cache,将其地址返回给用户终端,从而将用户终端重定向到FTP Cache;用户终端向FTP Cache发起FTP下载请求;FTPCache将用户信息发送到认证服务器进行认证;若认证通过,则认证服务器通知FTP Cache认证通过;在通过认证之后,FTP Cache向策略管理服务器发起请求;策略管理服务器生成用户访问FTP服务器所用的用户名和密码,并生成相应的策略;策略管理服务器将所生成的用户名、密码、以及相关策略返回给FTP Cache;判断内容是否本地命中;在内容本地命中时,用户终端向FTP Cache中的FTP服务器发起FTP下载请求;FTP Cache中的FTP服务器将用户请求中的用户名和密码信息送至策略管理服务器进行验证;验证通过后,策略管理服务器向FTP Cache中的FTP服务器下发策略;FTP Cache中的FTP服务器根据策略管理服务器设定的策略为用户终端提供服务,进行数据传输。
根据本发明的上述通过CDN网络实现FTP下载服务的系统、方法及计算机程序产品,能够实现分布式FTP服务,可以大大提高FTP下载的服务能力。
另外,根据本发明的上述通过CDN网络实现FTP下载服务的系统、方法及计算机程序产品,还能够提高整个系统对用户的服务能力,降低骨干网络流量,保证服务质量,提高用户体验。
此外,根据本发明的上述通过CDN网络实现FTP下载服务的系统、方法及计算机程序产品,内容分布式存放,提高了整个系统的性能和可靠性。
另一方面,根据本发明的上述通过CDN网络实现FTP下载服务的系统、方法及计算机程序产品,提供了完善的用户认证、鉴权和防盗链功能,且由于大部分用户的请求由CDN节点提供服务,对源服务器提供了保护,提高了整个系统的安全性。
另外,根据本发明的上述通过CDN网络实现FTP下载服务的系统、方法及计算机程序产品,该系统对用户是透明的,用户使用FTP下载的方法和习惯保持不变。


本发明的细节,关于其结构和操作,可以参考附图来最好地理解,其中相似的参考数字指的是相似部分,并且其中图1示出传统的FTP系统结构;图2示出采用服务器集群技术的增强的FTP系统结构;图3示出根据本发明实施例的可实现分布式FTP服务的CDN系统结构图;图4示出在根据本发明实施例的可实现分布式FTP服务的CDN系统中用户请求的内容路由过程;图5是在根据本发明实施例的可实现分布式FTP服务的CDN系统中内容发布和分发流程的示意图;图6示出在根据本发明实施例的可实现分布式FTP服务的CDN系统中FTP下载服务(命中)的流程图;图7示出在根据本发明实施例的可实现分布式FTP服务的CDN系统中FTP下载服务(未命中)的流程图;以及图8示出在根据本发明实施例的可实现分布式FTP服务的CDN系统中FTP下载服务的另一种实现实例。
具体实施例方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。然而,本发明可以以多种不同形式实施,并且不应解释为受限于在此所述的实施例。
本发明包含了利用CDN系统的内容分发能力来实现分布式FTP下载服务的系统和方法。
如图1所示,示出了根据本发明的实施例的可实现分布式FTP服务的CDN系统结构图。该系统主要由五部分组成媒体资源库10,是整个CDN系统的内容源,由CDN管理支撑系统20统一管理,包括FTP服务器11和内容存储服务器12等;管理支撑系统20,负责整个CDN系统的业务和设备管理,包括内容管理服务器21、门户服务器(Portal)22、认证服务器23、以及策略管理服务器24等;内容路由/负载均衡系统30,实现在整个CDN网络中,将用户的内容请求导向到一个特定的服务点的调度系统,包括全局负载均衡(GSLB)31和本地负载均衡(SLB)32等;CDN节点网络40,是CDN网络中面向用户提供服务的设备集群,包括多个FTP Cache 41;以及用户终端51。
FTP源服务器11是执行FTP分发的原始内容服务器,本系统的各个FTP Cache 41都通过该FTP源服务器11从内容存储服务器12中获取内容,该FTP源服务器11也可直接向用户提供服务。
内容存储服务器12负责存储各种类型和格式的内容。
内容管理服务器21负责内容的发布、分发、查询和内容访问信息统计等功能。
门户服务器(Portal)22负责从CDN资源和服务系统中获取数据和服务,并整合在一个网页窗口中,统一展示给用户。门户服务器(Portal)22是用户服务的入口,用户通过点击该页面上的URL链接获取相应的服务。
认证服务器23负责对用户身份、业务使用权限等信息进行认证和鉴权,并负责对用户的业务使用进行计费。
策略管理服务器24是FTP服务策略的生成点,负责向用户分配FTP用户名和密码、制订服务策略、以及维护相关的数据信息。
全局负载均衡(GSLB)31根据就近性原则,将用户的访问请求导向到离用户最近的CDN网络节点。
本地负载均衡(SLB)32在CDN网络节点的多台FTP Cache 41中,选择一个最适合的FTP Cache为用户提供服务。
FTP Cache 41是CDN系统的边缘服务设备,直接向用户提供服务。从用户的角度看,FTP Cache 41就是一个FTP服务器。
用户终端51为支持HTTP和FTP协议的客户端设备,用于发起服务访问和下载请求、执行下载操作,包括PC机、机顶盒或其他形态的终端。
在根据本发明的可实现分布式FTP服务的CDN系统中,业务的实现主要包括以下几个步骤业务引导,将用户的请求调度到离他最近的、最合适的FTP Cache 41上;业务认证,系统对用户的业务请求进行认证授权,在确定用户的合法性后提供服务;以及服务提供,系统向用户终端提供服务,并对服务提供过程中进行必要的服务控制。
首先,对于业务引导,在根据本发明的可实现分布式FTP服务的CDN系统中,利用HTTP重定向机制和HTTP/FTP协议转换的方法实现对FTP请求的调度。图4示出了在根据本发明实施例的可实现分布式FTP服务的CDN系统中用户请求的内容路由过程。
由于标准的FTP协议不支持重定向机制,因此内容调度分为两个阶段来实现。在第一阶段,用户访问Portal 22后(图4中的步骤S41),将获取一个HTTP格式的URL(图4中的步骤S42),用户通过HTTP协议发起访问请求(图4中的步骤S43),利用HTTP的重定向机制,内容路由/负载均衡系统30对用户的请求进行调度,经过GSLB31、SLB 32等设备,将最终确定一个FTP Cache 41为用户提供服务(图4中的步骤S44、S45)。第二阶段,在确定为用户提供FTP服务的FTP Cache 41后,SLB 32将返回一个FTP格式的URL给用户终端51(图4中的步骤S46),用户终端51根据该URL,使用FTP协议访问FTP Cache 41,获取下载服务(图4中的步骤S47、S48)。整个过程如图4所示,其中步骤S41~S45采用HTTP协议,步骤S46~S48采用FTP协议。
通过这一方法,可以充分利用CDN系统的分布服务能力,且保持了FTP服务器的标准化,以最大限度的支持各种FTP客户端。既可利用HTTP协议支持重定向的功能完成用户请求的内容路由/负载均衡,又可保证用户采用标准的FTP流程完成下载服务。
在完成业务引导,将用户的请求调度到离他最近的、最合适的FTPCache 41之后,进行业务认证,系统对用户的业务请求进行认证授权,在确定用户的合法性后才能为其提供服务。
对于业务认证,主要通过用户名、密码的动态生成方法来实现。为保证用户能够正常访问FTP Cache 41获取服务,策略管理服务器24会为用户生成用于FTP请求的用户名和密码,并设定有效期限。其中,用户名与用户ID保持一致。密码将是一个随机生成数,且该密码与用户的IP地址、用户名、业务标识等信息进行绑定,策略管理服务器24负责维护这些映射关系和有效期限等参数信息。生成的用户名和密码将由SLB 32以URL的方式返回给用户终端51,其格式如下ftp://User:Password@CacheIP/appdir/path/filename.filetype。用户终端51使用上面的URL信息,通过FTP协议访问FTP Cache 41,FTPCache 41将用户名、密码送回至策略管理服务器24进行验证,看账户是否在有效期内,用户名、密码和IP地址等信息是否一致,判断账户的有效性,从而决定是否为用户提供服务。
如果决定为用户提供服务,则系统向用户终端提供服务,并对服务提供过程中进行必要的服务控制。通过灵活的策略管理机制,能够实现对FTP下载服务进行控制。
策略管理服务器24在生成用户名和密码时,会同时根据用户的ID、账户类型和申请的业务类型,选择适当的FTP服务策略与该服务进行绑定,当用户验证通过时,根据绑定的策略为用户提供服务。
通过策略管理服务器24,可以实现对服务的灵活控制。各种策略是基于XML的描述实现的,可根据业务和用户的需要灵活设定,可由系统管理员随时调整。
下面将参照附图5~7详细描述在根据本发明的上述可实现分布式FTP服务的CDN系统中的一个完整的业务生成、实现和服务的流程。其中,图5是在根据本发明实施例的可实现分布式FTP服务的CDN系统中内容发布和分发流程的示意图,图6示出在根据本发明实施例的可实现分布式FTP服务的CDN系统中FTP下载服务(命中)的流程图;图7示出在根据本发明实施例的可实现分布式FTP服务的CDN系统中FTP下载服务(未命中)的流程图。
这里,在CDN中,用户的请求会被重定向到靠近用户的一台FTPCache 41上,如果该节点有用户请求访问的内容,可直接为用户提供服务,则就说用户的访问命中;如果没有,就说未命中。
首先,参照图5描述内容发布和分发的过程。如图5所示,在步骤S51,内容管理服务器21向FTP Cache 41下发内容分发指令,告知其内容源的信息。接着,在步骤S52,FTP Cache 41向内容源服务器21发起内容下载请求。在步骤S53,内容从FTP源服务器11下载到FTPCache 41中,并且在步骤S54,FTP Cache 41将发送成功的结果返回给内容管理服务器21。最后,在步骤S55,内容管理服务器21根据内容的文件名、存放的位置等信息,添加CDN服务标识,生成URL信息,将其发布到Portal 22上。
在完成上述内容发布和分发之后,用户就可以通过访问Portal 22来实现FTP下载。图6所示的是用户下载文件在本地命中时的内容路由和服务提供的流程图。
如图6所示,首先,在步骤S601,用户终端51访问Portal 22,点击URL链接获取服务。根据其CDN标识,在步骤S602系统将全局负载均衡设备(GSLB)31的IP地址返回给用户终端51。
然后,在步骤S603用户终端51向GSLB 31发起请求。GSLB 31判断用户IP地址,根据就近性原则在步骤S604返回到用户终端51最近的本地负载均衡设备(SLB)32的地址给用户终端51。
接着,用户终端51在步骤S605向SLB 32发起请求,SLB 32在步骤S606将用户信息发送到认证服务器23进行认证。若认证通过,则认证服务器23在步骤S607通知SLB 32认证通过,并执行下面的步骤S608及后面的处理;否则认证服务器23向用户终端51返回拒绝服务消息。
在步骤S608中,SLB 32向策略管理服务器24发起请求。在步骤S609,策略管理服务器24生成用户访问FTP Cache 41所用的用户名和密码,并生成相应的策略。策略管理服务器24将所生成的用户名、密码、以及相关策略返回给SLB 32。
接着,在步骤S610,判断内容是否本地命中。在该实施例中,假定内容本地命中。此时,SLB 32根据内容分布、负载等情况,选择合适的FTP Cache 41,将其地址、用户名和密码等信息返回给用户终端51。
然后,在步骤S611,用户终端51向FTP Cache 41发起FTP下载请求。FTP Cache 41在步骤S612将用户请求中的用户名和密码信息送至策略管理服务器24进行验证。
验证通过后,在步骤S613策略管理服务器24向FTP Cache 41下发策略。之后,在步骤S614,FTP Cache 41根据策略管理服务器24设定的策略为用户终端51提供服务,在步骤S614进行数据传输。否则,如果验证未通过,则拒绝服务,并返回错误原因。
另外,若在文件未传输完成后就发生中断,在步骤S615用户终端51将首先向上次提供服务的FTP Cache 41发起请求,FTP Cache 41在步骤S616到策略管理服务器24对用户名、密码进行验证。若在步骤S617中确定用户名和密码仍在有效期内,则在步骤S618提供断点续传服务。否则,若在步骤S616中未能通过验证,用户需要重新点击Portal 22,开始以上过程。
图7示出了在用户下载文件本地未命中时的内容路由和服务提供的流程图,其中步骤S701~S709与图6所示的本地命中时的步骤S601~S609的流程完全相同。
如图7所示,首先,在步骤S701,用户终端51访问Portal 22,点击URL链接获取服务。根据其CDN标识,在步骤S702系统将全局负载均衡设备(GSLB)31的IP地址返回给用户终端51。
然后,在步骤S703用户终端51向GSLB 31发起请求。GSLB 31判断用户IP地址,根据就近性原则在步骤S704返回到用户终端51最近的本地负载均衡设备(SLB)32的地址给用户终端51。
接着,用户终端51在步骤S705向SLB 32发起请求,SLB 32在步骤S706将用户信息发送到认证服务器23进行认证。若认证通过,则认证服务器23在步骤S707通知SLB 32认证通过,并执行下面的步骤S708及后面的处理;否则认证服务器23向用户终端51返回拒绝服务消息。
在步骤S708中,SLB 32向策略管理服务器24发起请求。在步骤S709,策略管理服务器24生成用户访问FTP Cache 41所用的用户名和密码,并生成相应的策略。策略管理服务器24将所生成的用户名、密码、以及相关策略返回给SLB 32。
接着,在步骤S710,判断内容是否本地命中。在该实施例中,假定内容本地未命中。也就是说,本地的FTP Cache 41上没有用户请求的内容,SLB 32根据内容分布、负载等情况,未能选择到合适的FTPCache 41。此时,SLB 32将用户的请求重定向到文件存放的FTP源服务器11,并将用户名和密码等信息告诉给用户终端。
然后,用户终端51在步骤S711向FTP源服务器11发起FTP下载请求。FTP源服务器11在步骤S712将用户请求中的用户名和密码信息送至策略管理服务器24进行验证。
验证通过后,在步骤S713策略管理服务器24向FTP源服务器11下发策略。之后,在步骤S714,FTP源服务器11根据策略管理服务器24设定的策略为用户终端51提供服务,在步骤S714进行数据传输。否则,如果验证未通过,则拒绝服务,并返回错误原因。
在这种情况下,若在文件未传输完成后就发生中断,用户终端51将首先向上次提供服务的FTP源服务器11发起请求,FTP源服务器11到策略管理服务器24对用户名、密码进行验证。若确定用户名和密码仍在有效期内,则提供断点续传服务。否则,若未能通过验证,用户需要重新点击Portal 22,开始以上过程。此过程同样与图6所示的断点续传类似,因此图7中未详细给出其流程。
以上描述了根据本发明优选实施例的可实现分布式FTP服务的CDN系统、以及在该系统中的一个完整的业务生成、实现和服务的流程。但是,本发明不仅限于此,而是可以对其进行各种变化和修改。
例如,在具体实现本发明时,策略管理服务器可以作为一个单独的设备,也可以集成到SLB设备中作为其中的一个模块。
此外,除图6、图7所示的典型实现流程外,还可以采用另一种实现方式,将策略管理服务器集成在FTP Cache 41中,由FTP Cache 41完成协议转换、密码生成和服务策略管理等功能。
如图8所示,示出在根据本发明实施例的可实现分布式FTP服务的CDN系统中FTP下载服务的另一种实现实例。其中,FTP服务器是一个逻辑组件,具体实现时集成在FTP Cache 41中。
首先,在步骤S801,用户终端51访问Portal 22,点击URL链接获取服务。根据其CDN标识,在步骤S802系统将全局负载均衡设备(GSLB)31的IP地址返回给用户终端51。
然后,在步骤S803用户终端51向GSLB 31发起请求。GSLB 31判断用户IP地址,根据就近性原则在步骤S804返回到用户终端51最近的本地负载均衡设备(SLB)32的地址给用户终端51。
接着,用户终端51在步骤S805向SLB 32发起请求,SLB 32在步骤S806选择合适的FTP Cache 41,将其地址返回给用户终端51,从而将用户终端51重定向到FTP Cache 41。
然后,在步骤S807,用户终端51向FTP Cache 41发起FTP下载请求。在步骤S808中,FTP Cache 41将用户信息发送到认证服务器23进行认证。若认证通过,则认证服务器23在步骤S809通知FTP Cache41认证通过,并执行下面的步骤S810及后面的处理;否则认证服务器23向用户终端51返回拒绝服务消息。
之后,在步骤S810,FTP Cache 41向策略管理服务器24发起请求。在步骤S811,策略管理服务器24生成用户访问FTP服务器所用的用户名和密码,并生成相应的策略。策略管理服务器24将所生成的用户名、密码、以及相关策略返回给FTP Cache 41。
接着,在步骤S812,判断内容是否本地命中。在该实施例中,假定内容本地命中,返回FTP Cache 41中的FTP服务器的地址。在步骤S813中,用户终端51向FTP Cache 41中的FTP服务器发起FTP下载请求。FTP Cache 41中的FTP服务器在步骤S814将用户请求中的用户名和密码信息送至策略管理服务器24进行验证。
验证通过后,在步骤S815策略管理服务器24向FTP Cache 41中的FTP服务器下发策略。之后,在步骤S816,FTP Cache 41中的FTP服务器根据策略管理服务器24设定的策略为用户终端51提供服务,进行数据传输。否则,如果验证未通过,则拒绝服务,并返回错误原因。
同样,在这种情况下,若在文件未传输完成后就发生中断,用户终端51将首先向上次提供服务的FTP Cache 41中的FTP服务器发起请求,FTP Cache 41中的FTP服务器到策略管理服务器24对用户名、密码进行验证。若确定用户名和密码仍在有效期内,则提供断点续传服务。否则,若未能通过验证,用户需要重新点击Portal 22,开始以上过程。此过程同样与图6所示的断点续传类似,因此图8中未详细给出其流程。
此外,还应该指出的是,图8仅仅描述了本地命中情况下的数据传输。本领域的普通技术人员应该理解,与图7的本地未命中的情况类似,采用与图8的结构类似的方式也可以进行本地未命中时从FTP源服务器11进行FTP下载。在此,略去其详细描述。
另外,虽然上面详细描述了本发明的实施例的示例,但是本发明也可以采取例如系统、设备、方法、程序或存储介质(记录介质)等的形式。更具体地说,本发明可以应用于由多个装置组成的系统或者包括单个装置的设备。
应该指出的是,本发明也可以通过这样的方式实现,即直接或间接地将实现前述实施例的功能的软件程序(与在根据这些实施例的附图中示出的流程图相对应的程序)提供给系统或设备,通过该系统或设备的计算机读取所提供的程序代码,然后执行该程序代码。
从而,由于本发明的功能处理由计算机实现,因此安装在计算机中的程序代码本身也能够实现本发明。换句话说,本发明的权利要求也涵盖用于实现本发明的功能处理的目的的计算机程序本身。
在这种情况下,只要系统或设备具有该程序的功能,就可以以任何形式,例如作为目标代码由解释器执行的程序、或者提供给操作系统的脚本数据,执行该程序。
可以用来提供该程序的记录介质的例子是软盘、硬盘、光盘、磁光盘、MO、CD-ROM、CD-R、CD-RW、磁带、非易失性类型的存储卡、ROM和DVD(DVD-ROM和DVD-R)。
对于提供该程序的方法,客户端计算机可以使用该客户端计算机的浏览器连接到因特网上的网站,并且可以将本发明的计算机程序或者该程序的可自动安装压缩文件下载到诸如硬盘的记录介质。此外,可以通过将组成程序的程序代码划分成多个文件并且从不同的网站下载这些文件来提供本发明的程序。换句话说,通过计算机向多个用户下载实现本发明的功能处理的程序文件的WWW(万维网)服务器也被本发明的权利要求涵盖。
此外,还有可能对本发明的程序进行加密并将其存储在诸如CD-ROM的存储介质上,将该存储介质分发给用户,允许满足特定要求的用户通过因特网从网站下载解密密钥信息,并允许这些用户通过使用该密钥信息对被加密程序进行解密,由此将该程序安装在用户计算机中。
此外,除了通过由计算机执行所读取的程序来实现根据这些实施例的前述功能的情况之外,在计算机上运行的操作系统等也可以基于该程序的指令而执行全部或部分实际处理,以便可以通过该处理实现前述实施例的功能。
此外,在将从记录介质读取的程序写入到被插入到计算机中的功能扩展板或者在连接到计算机的功能扩展单元中提供的存储器之后,安装在该功能扩展板或功能扩展单元上的CPU等基于该程序的指令而执行全部或部分实际处理,以便可以通过该处理实现前述实施例的功能。
如上所述,根据本发明的采用统一入口网站地址集成和推送多网站内容的方法及系统,用户无需记住不同的子网站域名,对于在不同物理地点部署的网站群,不同地点的用户可以采用统一域名访问到其本地的网站内容,统一了用户的体验。而且,相对于单纯的HTTP重定向技术,内容推送中心可以做到对用户访问首页更灵活的控制,既可返回统一的内容,也可返回本地化的内容。
由于在不脱离本发明的精神和范围的情况下可以获得很多显而易见的、具有较大差别的本发明的实施例,因此应当理解,本发明不局限于其特定实施例,而是在所附权利要求中加以限定。
权利要求
1.一种可实现分布式FTP服务的CDN系统,其特征在于包括媒体资源库,用作整个CDN系统的FTP下载内容源;管理支撑系统,负责整个CDN系统的FTP下载的业务和设备管理;内容路由/负载均衡系统,用于在整个CDN网络中,将用户的FTP下载内容请求调度到一个特定的服务点;CDN节点网络,用作CDN网络中面向用户提供FTP下载服务的设备集群;以及用户终端,用于从CDN系统中进行FTP下载。
2.根据权利要求1所述的可实现分布式FTP服务的CDN系统,其中媒体资源库由CDN管理支撑系统统一管理,并且包括内容存储服务器,用于存储各种类型和格式的内容;以及FTP源服务器,用作执行FTP分发的原始内容服务器,CDN节点网络通过该FTP源服务器从内容存储服务器中获取内容。
3.根据权利要求2所述的可实现分布式FTP服务的CDN系统,其中FTP源服务器直接向用户提供服务。
4.根据权利要求1所述的可实现分布式FTP服务的CDN系统,其中管理支撑系统包括内容管理服务器,用于内容的发布、分发、查询和内容访问信息的统计;门户服务器,用于从CDN系统中获取数据和服务,并整合在一个网页窗口中,统一展示给用户;认证服务器,用于对用户身份、业务使用权限信息进行认证和鉴权,并负责对用户的业务使用进行计费;以及策略管理服务器,用作FTP服务策略的生成点,负责向用户分配FTP用户名和密码、制订服务策略、以及维护相关的数据信息。
5.根据权利要求4所述的可实现分布式FTP服务的CDN系统,其中门户服务器是用户服务的入口,用户通过点击该页面上的URL链接获取相应的服务。
6.根据权利要求1所述的可实现分布式FTP服务的CDN系统,其中CDN节点网络包括多个FTP Cache;并且内容路由/负载均衡系统包括全局负载均衡,根据就近性原则,将用户的访问请求导向到离用户最近的CDN网络节点;以及本地负载均衡,用于在CDN网络节点的多台FTP Cache中,选择一个最适合的FTP Cache为用户提供服务。
7.根据权利要求1至6任一所述的可实现分布式FTP服务的CDN系统,其中用户终端支持HTTP和FTP协议,用于发起服务访问和下载请求、执行下载操作。
8.根据权利要求7所述的可实现分布式FTP服务的CDN系统,其中用户终端包括PC机、机顶盒或其他形态的终端。
9.一种内容发布和分发方法,其特征在于包括步骤内容管理服务器向FTP Cache下发内容分发指令,告知其内容源的信息;FTP Cache向内容源服务器发起内容下载请求;内容从FTP源服务器下载到FTP Cache;FTP Cache将发送成功的结果返回给内容管理服务器;以及内容管理服务器根据内容的文件名、存放的位置信息,添加CDN服务标识,生成URL信息,将其发布到门户服务器上。
10.一种通过CDN网络实现FTP下载服务的方法,其特征在于包括步骤业务引导,将用户的请求调度到离其最近的、最合适的FTP Cache上;业务认证,对用户的业务请求进行认证授权,在确定用户的合法性后提供服务;以及服务提供,向用户提供服务,并对服务提供过程中进行必要的服务控制。
11.根据权利要求10所述的通过CDN网络实现FTP下载服务的方法,其中在业务引导中,利用HTTP重定向机制和HTTP/FTP协议转换的方法实现对FTP请求的调度。
12.根据权利要求11所述的通过CDN网络实现FTP下载服务的方法,其中业务引导中包括以下步骤用户访问门户服务器,获取一个HTTP格式的URL;用户通过HTTP协议发起访问请求;利用HTTP的重定向机制,内容路由/负载均衡系统对用户的请求进行调度,确定为用户提供服务的FTP Cache;在确定为用户提供FTP服务的FTP Cache后,返回FTP格式的URL给用户终端;用户终端根据该URL,使用FTP协议访问FTP Cache,获取下载服务。
13.根据权利要求11所述的通过CDN网络实现FTP下载服务的方法,其中业务认证包括步骤策略管理服务器为用户生成用于FTP请求的用户名和密码,并设定有效期限;将生成的用户名和密码以URL的方式返回给用户终端;用户终端使用该URL信息,通过FTP协议访问FTP Cache;以及FTP Cache将用户名、密码送回至策略管理服务器进行验证。
14.根据权利要求13所述的通过CDN网络实现FTP下载服务的方法,其中用户名与用户ID保持一致;密码是一个随机生成数,且该密码与用户的IP地址、用户名、业务标识信息进行绑定;策略管理服务器负责维护密码与用户的IP地址、用户名、业务标识信息的映射关系和有效期限的参数信息;并且策略管理服务器进行验证时,看账户是否在有效期内,用户名、密码和IP地址信息是否一致,从而判断账户的有效性,并决定是否为用户提供服务。
15.根据权利要求14所述的通过CDN网络实现FTP下载服务的方法,其中策略管理服务器在生成用户名和密码时,同时根据用户的ID、账户类型和申请的业务类型,选择适当的FTP服务策略与该服务进行绑定,当用户验证通过时,根据绑定的策略为用户提供服务。
16.根据权利要求10至15任一所述的通过CDN网络实现FTP下载服务的方法,其中用户的请求会被重定向到靠近用户的一台FTPCache上,如果该节点有用户请求访问的内容,可直接为用户提供服务;否则,直接通过FTP源服务器为用户提供服务。
17.一种通过CDN网络实现FTP下载服务的方法,其特征在于包括步骤用户终端访问门户服务器,点击URL链接获取服务;根据用户终端的CDN标识,将全局负载均衡设备的IP地址返回给用户终端;用户终端向全局负载均衡设备发起请求;全局负载均衡设备判断用户IP地址,根据就近性原则返回到用户终端最近的本地负载均衡设备的地址给用户终端;用户终端向本地负载均衡设备发起请求;本地负载均衡设备将用户信息发送到认证服务器进行认证;若认证通过,则认证服务器通知本地负载均衡设备认证通过,否则认证服务器向用户终端返回拒绝服务消息;在认证通过后,本地负载均衡设备向策略管理服务器发起请求;策略管理服务器生成用户访问FTP Cache所用的用户名和密码,并生成相应的策略;策略管理服务器将所生成的用户名、密码、以及相关策略返回给本地负载均衡设备;本地负载均衡设备判断内容是否本地命中;在判断本地命中时,本地负载均衡设备根据内容分布、负载情况,选择合适的FTP Cache,将其地址、用户名和密码等信息返回给用户终端;用户终端向FTP Cache发起FTP下载请求;FTP Cache将用户请求中的用户名和密码信息送至策略管理服务器进行验证;验证通过后,策略管理服务器向FTP Cache下发策略;以及FTP Cache根据策略管理服务器设定的策略为用户终端提供服务,进行数据传输。
18.根据权利要求17所述的通过CDN网络实现FTP下载服务的方法,还包括步骤若在文件未传输完成后就发生中断,用户终端将首先向上次提供服务的FTP Cache发起请求;FTP Cache到策略管理服务器对用户名、密码进行验证;以及若确定用户名和密码仍在有效期内,则提供断点续传服务。
19.根据权利要求18所述的通过CDN网络实现FTP下载服务的方法,还包括步骤若未能通过验证,用户需要重新点击门户服务器,重新开始下载过程。
20.根据权利要求17所述的通过CDN网络实现FTP下载服务的方法,其中在内容本地未命中时,本地的FTP Cache上没有用户请求的内容,本地负载均衡设备将用户的请求重定向到文件存放的FTP源服务器,从FTP源服务器直接提供服务。
21.根据权利要求20所述的通过CDN网络实现FTP下载服务的方法,还包括步骤若在文件未传输完成后就发生中断,用户终端将首先向上次提供服务的FTP源服务器发起请求;FTP源服务器到策略管理服务器对用户名、密码进行验证;以及若确定用户名和密码仍在有效期内,则提供断点续传服务。
22.根据权利要求21所述的通过CDN网络实现FTP下载服务的方法,还包括步骤若未能通过验证,用户需要重新点击门户服务器,重新开始下载过程。
23.一种通过CDN网络实现FTP下载服务的方法,其特征在于包括步骤用户终端访问门户服务器,点击URL链接获取服务;根据用户终端的CDN标识,将全局负载均衡设备的IP地址返回给用户终端;用户终端向全局负载均衡设备发起请求;全局负载均衡设备判断用户IP地址,根据就近性原则返回到用户终端最近的本地负载均衡设备的地址给用户终端;用户终端向本地负载均衡设备发起请求;本地负载均衡设备选择合适的FTP Cache,将其地址返回给用户终端,从而将用户终端重定向到FTP Cache;用户终端向FTP Cache发起FTP下载请求;FTP Cache将用户信息发送到认证服务器进行认证;若认证通过,则认证服务器通知FTP Cache认证通过;在通过认证之后,FTP Cache向策略管理服务器发起请求;策略管理服务器生成用户访问FTP服务器所用的用户名和密码,并生成相应的策略;策略管理服务器将所生成的用户名、密码、以及相关策略返回给FTP Cache;判断内容是否本地命中;在内容本地命中时,用户终端向FTP Cache中的FTP服务器发起FTP下载请求;FTP Cache中的FTP服务器将用户请求中的用户名和密码信息送至策略管理服务器进行验证;验证通过后,策略管理服务器向FTP Cache中的FTP服务器下发策略;FTP Cache中的FTP服务器根据策略管理服务器设定的策略为用户终端提供服务,进行数据传输。
24.根据权利要求23所述的通过CDN网络实现FTP下载服务的方法,还包括步骤若在文件未传输完成后就发生中断,用户终端将首先向上次提供服务的FTP Cache发起请求;FTP Cache到策略管理服务器对用户名、密码进行验证;以及若确定用户名和密码仍在有效期内,则提供断点续传服务。
25.根据权利要求24所述的通过CDN网络实现FTP下载服务的方法,还包括步骤若未能通过验证,用户需要重新点击门户服务器,重新开始下载过程。
26.根据权利要求23所述的通过CDN网络实现FTP下载服务的方法,其中在内容本地未命中时,本地的FTP Cache中的FTP服务器上没有用户请求的内容,本地负载均衡设备将用户的请求重定向到文件存放的FTP源服务器,从FTP源服务器直接提供服务。
27.根据权利要求26所述的通过CDN网络实现FTP下载服务的方法,还包括步骤若在文件未传输完成后就发生中断,用户终端将首先向上次提供服务的FTP源服务器发起请求;FTP源服务器到策略管理服务器对用户名、密码进行验证;以及若确定用户名和密码仍在有效期内,则提供断点续传服务。
28.根据权利要求27所述的通过CDN网络实现FTP下载服务的方法,还包括步骤若未能通过验证,用户需要重新点击门户服务器,重新开始下载过程。
29.一种计算机程序产品,该计算机程序产品包括在计算机可读存储介质中实施的程序代码,用于进行内容发布和分发,所述计算机程序代码包括实现下列步骤的计算机程序代码内容管理服务器向FTP Cache下发内容分发指令,告知其内容源的信息;FTP Cache向内容源服务器发起内容下载请求;内容从FTP源服务器下载到FTP Cache;FTP Cache将发送成功的结果返回给内容管理服务器;以及内容管理服务器根据内容的文件名、存放的位置信息,添加CDN服务标识,生成URL信息,将其发布到门户服务器上。
30.一种计算机程序产品,该计算机程序产品包括在计算机可读存储介质中实施的程序代码,用于通过CDN网络实现FTP下载服务,所述计算机程序代码包括实现下列步骤的计算机程序代码业务引导,将用户的请求调度到离其最近的、最合适的FTP Cache上;业务认证,对用户的业务请求进行认证授权,在确定用户的合法性后提供服务;以及服务提供,向用户提供服务,并对服务提供过程中进行必要的服务控制。
31.一种计算机程序产品,该计算机程序产品包括在计算机可读存储介质中实施的程序代码,用于通过CDN网络实现FTP下载服务,所述计算机程序代码包括实现下列步骤的计算机程序代码用户终端访问门户服务器,点击URL链接获取服务;根据用户终端的CDN标识,将全局负载均衡设备的IP地址返回给用户终端;用户终端向全局负载均衡设备发起请求;全局负载均衡设备判断用户IP地址,根据就近性原则返回到用户终端最近的本地负载均衡设备的地址给用户终端;用户终端向本地负载均衡设备发起请求;本地负载均衡设备将用户信息发送到认证服务器进行认证;若认证通过,则认证服务器通知本地负载均衡设备认证通过,否则认证服务器向用户终端返回拒绝服务消息;在认证通过后,本地负载均衡设备向策略管理服务器发起请求;策略管理服务器生成用户访问FTP Cache所用的用户名和密码,并生成相应的策略;策略管理服务器将所生成的用户名、密码、以及相关策略返回给本地负载均衡设备;本地负载均衡设备判断内容是否本地命中;在判断本地命中时,本地负载均衡设备根据内容分布、负载情况,选择合适的FTP Cache,将其地址、用户名和密码等信息返回给用户终端;用户终端向FTP Cache发起FTP下载请求;FTP Cache将用户请求中的用户名和密码信息送至策略管理服务器进行验证;验证通过后,策略管理服务器向FTP Cache下发策略;以及FTP Cache根据策略管理服务器设定的策略为用户终端提供服务,进行数据传输。
32.一种计算机程序产品,该计算机程序产品包括在计算机可读存储介质中实施的程序代码,用于通过CDN网络实现FTP下载服务,所述计算机程序代码包括实现下列步骤的计算机程序代码用户终端访问门户服务器,点击URL链接获取服务;根据用户终端的CDN标识,将全局负载均衡设备的IP地址返回给用户终端;用户终端向全局负载均衡设备发起请求;全局负载均衡设备判断用户IP地址,根据就近性原则返回到用户终端最近的本地负载均衡设备的地址给用户终端;用户终端向本地负载均衡设备发起请求;本地负载均衡设备选择合适的FTP Cache,将其地址返回给用户终端,从而将用户终端重定向到FTP Cache;用户终端向FTP Cache发起FTP下载请求;FTP Cache将用户信息发送到认证服务器进行认证;若认证通过,则认证服务器通知FTP Cache认证通过;在通过认证之后,FTP Cache向策略管理服务器发起请求;策略管理服务器生成用户访问FTP服务器所用的用户名和密码,并生成相应的策略;策略管理服务器将所生成的用户名、密码、以及相关策略返回给FTP Cache;判断内容是否本地命中;在内容本地命中时,用户终端向FTP Cache中的FTP服务器发起FTP下载请求;FTP Cache中的FTP服务器将用户请求中的用户名和密码信息送至策略管理服务器进行验证;验证通过后,策略管理服务器向FTP Cache中的FTP服务器下发策略;FTP Cache中的FTP服务器根据策略管理服务器设定的策略为用户终端提供服务,进行数据传输。
全文摘要
本发明公开一种可实现分布式FTP服务的CDN系统及其方法,该系统包括媒体资源库,用作整个CDN系统的FTP下载内容源;管理支撑系统,负责整个CDN系统的FTP下载的业务和设备管理;内容路由/负载均衡系统,用于在整个CDN网络中,将用户的FTP下载内容请求调度到一个特定的服务点;CDN节点网络,用作CDN网络中面向用户提供FTP下载服务的设备集群;以及用户终端,用于从CDN系统中进行FTP下载。
文档编号H04L29/06GK101064729SQ20061007664
公开日2007年10月31日 申请日期2006年4月27日 优先权日2006年4月27日
发明者雷葆华, 杨明川, 杨占宏, 广小明, 谭国权 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1