缓存加速方法、装置和系统与流程

文档序号:11236813阅读:351来源:国知局
缓存加速方法、装置和系统与流程

本发明涉及智能缓存技术领域,尤其是一种缓存加速方法、装置和系统。



背景技术:

缓存加速系统是一种将远端互联网内容预先缓存在本地服务器,由本地服务器向用户提供内容访问服务的设备。随着移动互联网的快速发展,缓存加速系统逐渐成为解决宽带链路资源瓶颈、提升用户服务感知的一个重要工具。

传统的缓存加速系统只是机械式地、不加判断地将源站内容缓存到本地服务器中,在用户请求资源时由本地服务器为用户提供相应的资源。但是,一旦网络环境发生变化,例如网站域名改版或网络拓扑发生变化,此时,如果仍由本地服务器为用户提供资源,缓存加速系统可能就不能很好地为用户提供加速服务,在本地服务器出现问题时甚至会导致用户请求访问的网页无法访问的问题,进而导致用户投诉。

为解决上述问题,现有技术中,缓存加速系统的运维人员需要时刻关注网络环境,当发现网络环境发生变化时,例如发现网络拓扑或网站结构发生变化,需要通过手工的方式来修改系统中的局数据配置,例如修改域名配置文件,以便能够及时应对网络环境的变化。但是,每一次的改动,都需要花费大量的人工和时间成本。



技术实现要素:

本发明实施例的一个目的是:提供一种缓存加速方法、装置和系统,能够灵活调度网络流量流向,降低人工和时间成本。

根据本发明的一方面,提供一种缓存加速方法,包括:获取访问缓 存服务器中缓存的资源的第一时延;获取访问源站中的所述资源的第二时延;根据所述第一时延与所述第二时延的大小关系确定域名配置文件的内容,以便域名系统dns根据所述域名配置文件的内容将用户的资源访问请求解析到所述缓存服务器或所述源站。

在一个实施例中,所述根据所述第一时延与所述第二时延的大小关系确定域名配置文件的内容包括:在所述第一时延小于所述第二时延的情况下,将所述资源的统一资源定位符url的域名与所述资源在所述缓存服务器中的ip地址确定为域名配置文件的内容;在所述第一时延大于所述第二时延的情况下,判断所述资源的url的域名与所述资源在缓存服务器中的ip地址是否在域名配置文件的内容中;若所述资源的url的域名与所述资源在缓存服务器中的ip地址在域名配置文件的内容中,则将所述资源的url的域名与所述资源在缓存服务器中的ip地址从域名配置文件的内容中删除。

在一个实施例中,所述根据所述第一时延与所述第二时延的大小关系确定域名配置文件的内容包括:在所述第一时延小于所述第二时延的情况下,将所述资源的url的域名、所述资源在所述缓存服务器中的ip地址、以及预设的用户ip地址确定为域名配置文件的内容;在所述第一时延大于所述第二时延的情况下,判断所述资源的url的域名、所述资源在所述缓存服务器中的ip地址、以及预设的用户ip地址是否在域名配置文件的内容中;若所述资源的url的域名、所述资源在所述缓存服务器中的ip地址、以及预设的用户ip地址在域名配置文件的内容中,则将所述资源的url的域名、所述资源在所述缓存服务器中的ip地址、以及预设的用户ip地址从域名配置文件的内容中删除。

在一个实施例中,所述获取访问缓存服务器中缓存的资源的第一时延包括:获取所述缓存服务器中缓存的资源的url;根据所述资源的url向所述缓存服务器发起拨测,以获取访问缓存服务器中缓存的资源的第一时延;或者获取所述缓存服务器中缓存的资源的url;向拨测探针下发第一拨测指令,以便所述拨测探针根据所述资源的url和所述第一拨测指令向所述缓存服务器发起拨测,以获取访问缓存服务器 中缓存的资源的第一时延;接收所述拨测探针返回的访问缓存服务器中缓存的资源的第一时延。

在一个实施例中,所述根据所述资源的url向所述缓存服务器发起拨测,以获取访问缓存服务器中缓存的资源的第一时延包括:模拟用户的行为向dns发起访问所述url的请求;记录打开所述url的时刻与所述缓存服务器响应所述url的访问请求的时刻,并将两个时刻之间的时间间隔作为访问缓存服务器中缓存的资源的第一时延。

在一个实施例中,所述获取访问源站中的所述资源的第二时延包括:获取所述缓存服务器中缓存的资源的url;向拨测探针下发第二拨测指令,以便所述拨测探针根据所述资源的url和所述第二拨测指令向所述源站发起拨测,以获取访问源站中的所述资源的第二时延;接收所述拨测探针返回的访问源站中的所述资源的第二时延。

在一个实施例中,所述资源包括多个相同的资源,所述缓存服务器包括多个缓存服务器,所述多个相同的资源分别缓存在不同的缓存服务器中;所述获取访问缓存服务器中缓存的资源的第一时延包括:分别获取访问每个缓存服务器中所述相同的资源的时延;将访问每个缓存服务器中所述相同的资源的时延中最小的时延作为所述第一时延。

在一个实施例中,在确定域名配置文件的内容后,还包括:将域名配置文件下发给dns;或者将域名配置文件上传到文件传送协议ftp服务器;dns从所述ftp服务器获取所述域名配置文件。

在一个实施例中,所述方法还包括:所述缓存服务器从所述ftp服务器获取域名配置文件;dns将用户的资源访问请求解析到所述缓存服务器后,所述缓存服务器判断用户请求访问的资源的url的域名是否在获取的域名配置文件的内容中;若用户请求访问的资源的url的域名在获取的域名配置文件的内容中,则向用户返回所请求访问的资源;若用户请求访问的资源的url的域名不在获取的域名配置文件的内容中,则不向用户返回所请求访问的资源。

在一个实施例中,在所述dns和所述缓存服务器从所述ftp服务器获取域名配置文件后,还包括:将ftp服务器上的域名配置文件删 除。

根据本发明的另一方面,提供一种缓存加速装置,包括:第一时延获取单元,用于获取访问缓存服务器中缓存的资源的第一时延;第二时延获取单元,用于获取访问源站中的所述资源的第二时延;域名配置文件确定单元,用于根据所述第一时延与所述第二时延的大小关系确定域名配置文件的内容,以便域名系统dns根据所述域名配置文件的内容将用户的资源访问请求解析到所述缓存服务器或所述源站。

在一个实施例中,所述域名配置文件确定单元包括:内容确定模块,用于在所述第一时延小于所述第二时延的情况下,将所述资源的统一资源定位符url的域名与所述资源在所述缓存服务器中的ip地址确定为域名配置文件的内容;判断模块,用于在所述第一时延大于所述第二时延的情况下,判断所述资源的url的域名与所述资源在所述缓存服务器中的ip地址是否在域名配置文件的内容中;删除模块,用于若所述资源的url的域名与所述资源在所述缓存服务器中的ip地址在域名配置文件的内容中,将所述资源的url的域名与所述资源在所述缓存服务器中的ip地址从域名配置文件的内容中删除。

在一个实施例中,所述内容确定模块,还用于在所述第一时延小于所述第二时延的情况下,将所述资源的url的域名、所述资源在所述缓存服务器中的ip地址、以及预设的用户ip地址确定为域名配置文件的内容;所述判断模块,还用于在所述第一时延大于所述第二时延的情况下,判断所述资源的url的域名、所述资源在所述缓存服务器中的ip地址、以及预设的用户ip地址是否在域名配置文件的内容中;所述删除模块,还用于若所述资源的url的域名、所述资源在所述缓存服务器中的ip地址、以及预设的用户ip地址在域名配置文件的内容中,将所述资源的url的域名、所述资源在所述缓存服务器中的ip地址、以及预设的用户ip地址从域名配置文件的内容中删除。

在一个实施例中,所述第一时延获取单元包括:第一获取模块,用于获取所述缓存服务器中缓存的资源的url;拨测模块,用于根据所述资源的url向所述缓存服务器发起拨测,以获取访问缓存服务器中 缓存的资源的第一时延;或者,所述第一时延获取单元包括:第一获取模块,用于获取所述缓存服务器中缓存的资源的url;第一指令下发模块,用于向拨测探针下发第一拨测指令,以便所述拨测探针根据所述资源的url和所述第一拨测指令向所述缓存服务器发起拨测,以获取访问缓存服务器中缓存的资源的第一时延;第一时延接收模块,用于接收所述拨测探针返回的访问缓存服务器中缓存的资源的第一时延。

在一个实施例中,所述拨测模块包括:访问请求子模块,用于模拟用户的行为向dns发起访问所述url的请求;记录子模块,用于记录打开所述url的时刻与所述缓存服务器响应所述url的访问请求的时刻,并将两个时刻之间的时间间隔作为访问缓存服务器中缓存的资源的第一时延。

在一个实施例中,所述第二时延获取单元包括:第二获取模块,用于获取所述缓存服务器中缓存的资源的url;第二指令下发模块,用于向拨测探针下发第二拨测指令,以便所述拨测探针根据所述资源的url和所述第二拨测指令向所述源站发起拨测,以获取访问源站中的所述资源的第二时延;第二时延接收模块,用于接收所述拨测探针返回的访问源站中的所述资源的第二时延。

在一个实施例中,所述资源包括多个相同的资源,所述缓存服务器包括多个缓存服务器,所述多个相同的资源分别缓存在不同的缓存服务器中;所述第一时延获取单元具体用于:分别获取访问每个缓存服务器中所述相同的资源的时延;将访问每个缓存服务器中所述相同的资源的时延中最小的时延作为所述第一时延。

在一个实施例中,所述域名配置文件确定单元,还用于在确定域名配置文件的内容后,将域名配置文件下发给dns,以便dns根据所述域名配置文件的内容将用户的资源访问请求解析到所述缓存服务器或所述源站;或者,所述域名配置文件确定单元,还用于在确定域名配置文件的内容后,将域名配置文件上传到文件传送协议ftp服务器,以便dns从所述ftp服务器获取所述域名配置文件,然后执行根据所述域名配置文件的内容将用户的资源访问请求解析到所述缓存服务器或所述 源站的操作。

根据本发明的又一方面,提供一种缓存加速系统,包括:域名系统dns、缓存服务器和上述任意一个实施例所述的缓存加速装置;其中:所述dns,用于根据域名配置文件的内容将用户的资源访问请求解析到所述缓存服务器或所述源站;所述缓存服务器,用于根据用户的资源访问请求向用户返回所请求的资源。

在一个实施例中,所述系统还包括:拨测探针,用于根据缓存服务器中缓存的资源的url和所述缓存加速装置下发的第一拨测指令向所述缓存服务器发起拨测,以获取访问缓存服务器中的缓存的资源的第一时延并返回给所述缓存加速装置。

在一个实施例中,所述拨测探针,还用于根据缓存服务器中缓存的资源的url和所述缓存加速装置下发的第二拨测指令向所述源站发起拨测,以获取访问源站中的所述资源的第二时延并返回给所述缓存加速装置。

在一个实施例中,所述缓存加速装置,还用于在确定域名配置文件的内容后,将域名配置文件下发到所述dns。

在一个实施例中,还包括ftp服务器;所述缓存加速装置,还用于在确定域名配置文件的内容后,将域名配置文件上传到所述ftp服务器;所述ftp服务器,用于保存所述缓存加速装置上传的域名配置文件;所述dns,还用于从所述ftp服务器获取域名配置文件。

在一个实施例中,所述缓存服务器,还用于从所述ftp服务器获取域名配置文件;在dns将用户的资源访问请求解析到所述缓存服务器后,判断用户请求访问的资源的url的域名是否在获取的域名配置文件的内容中;若用户请求访问的资源的url的域名在获取的域名配置文件的内容中,则向用户返回所请求访问的资源;若用户请求访问的资源的url的域名不在获取的域名配置文件的内容中,则不向用户返回所请求访问的资源。

在一个实施例中,所述缓存服务器,还用于在所述dns和所述缓存服务器从所述ftp服务器获取所述域名配置文件后,将ftp服务器 上的域名配置文件删除。

本发明实施例通过比较相同的资源在缓存服务器中的访问时延和在源站中的访问时延,可以动态地确定域名配置文件的内容,与现有技术相比,本发明实施例使得dns可以将用户发起的资源访问请求择优解析到访问时延较低的缓存服务器或源站,以便能够灵活调度网络流量流向,避免出现现有技术中无法打开网页的情况,提升了用户体验;并且,根据相同的资源在缓存服务器中的访问时延和在源站中的访问时延的变化可以获知网络环境的变化,不需要人工时刻关注网络环境的变化,另外,由于可以动态地确定域名配置文件的内容,不需要人工修改域名配置文件,大大降低了人工和时间成本。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明缓存加速方法一个实施例的流程示意图;

图2是本发明缓存加速方法另一个实施例的流程示意图;

图3是本发明缓存加速方法又一个实施例的流程示意图;

图4是本发明缓存加速方法再一个实施例的流程示意图;

图5是本发明缓存加速装置一个实施例的结构示意图;

图6是本发明缓存加速装置另一个实施例的结构示意图;

图7是本发明缓存加速装置中第一时延获取单元的一个具体实现方式的结构示意图;

图8是本发明缓存加速装置中第一时延获取单元的另一个具体实现方式的结构示意图;

图9是图7所示拨测模块的一个具体实现方式的结构示意图;

图10是本发明缓存加速装置中第二时延获取单元的一个具体实现方式的结构示意图;

图11是本发明缓存加速系统一个实施例的结构示意图;

图12是本发明缓存加速系统另一个实施例的结构示意图;

图13是本发明缓存加速系统又一个实施例的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1是本发明缓存加速方法一个实施例的流程示意图。如图1所示,该实施例的缓存加速方法包括如下步骤:

步骤102,获取访问缓存服务器中缓存的资源的第一时延。

这里,缓存服务器可以仅包括一个缓存服务器,或者,也可以包括 多个缓存服务器。缓存服务器中缓存的资源可能包括多个不同的资源,例如,可以定时或者按照预设周期主动获取缓存服务器中缓存的一个或多个不同资源的时延(这里称为第一时延)。

步骤104,获取访问源站中的该资源的第二时延。

对于缓存服务器中缓存的一个或多个资源,在获取访问缓存服务器中的某个资源的时延后,可以主动获取访问源站中的该资源的时延(这里称为第二时延)。

步骤106,根据第一时延与第二时延的大小关系确定域名配置文件的内容,以便域名系统(domainnamesystem,dns)根据域名配置文件的内容将用户的资源访问请求解析到缓存服务器或源站。

其中,域名配置文件的内容可以作为dns的域名转发策略。在确定域名配置文件的内容后,可以直接将域名配置文件下发给dns;或者,也可以将域名配置文件上传(例如按照预设时间间隔上传)到文件传送协议(filetransferprotocol,ftp)服务器;然后由dns从ftp服务器获取域名配置文件。

在实际应用中,正常情况下,dns直接将用户的资源访问请求解析到资源所在的源站。而通过向dns配置域名配置文件,用户在发起资源访问请求时,dns在解析之前先判断用户请求访问的域名是否在域名配置文件的内容中,如果用户请求访问的域名在域名配置文件的内容之中,则dns可以将用户的资源访问请求解析到缓存服务器,由缓存服务器向用户提供所请求的资源;反之,如果用户请求访问的域名不在域名配置文件的内容之中,则dns可以将用户的资源访问请求解析到请求资源所在的源站,由源站向用户提供所请求的资源。

本实施例中,通过比较相同的资源在缓存服务器中的访问时延和在源站中的访问时延,可以动态地确定域名配置文件的内容,与现有技术相比,本实施例使得dns可以将用户发起的资源访问请求择优解析到访问时延较低的缓存服务器或源站,以便能够灵活调度网络流量流向,避免出现现有技术中无法打开网页的情况,提升了用户体验;并且,根据相同的资源在缓存服务器中的访问时延和在源站中的访问时延的变化 可以获知网络环境的变化,不需要人工时刻关注网络环境的变化,另外,由于可以动态地确定域名配置文件的内容,不需要人工修改域名配置文件,大大降低了人工和时间成本。

在一个实施例中,缓存服务器中缓存的资源可以包括多个相同的资源,缓存服务器可以包括多个缓存服务器,也即,形成了缓存服务器集群,多个相同的资源分别缓存在不同的缓存服务器中。在这种情况下,在获取访问缓存服务器中缓存的资源的第一时延的步骤时,可以分别获取访问每个缓存服务器中相同的资源的时延;然后,将访问每个缓存服务器中相同的资源的时延中最小的时延作为第一时延。这样,后续在将用户的资源访问请求解析到缓存服务器后,可以更快地向用户提供所请求的资源,以进一步提升用户感知体验。

在实际应用中,根据不同的运营方式,上述步骤106可以通过不同的方式来实现,本发明提供了两种示例性的具体实现方式,下面分别做出说明。

作为一个具体实现方式,上述步骤106可以通过如下方式来实现:

在第一时延小于第二时延的情况下,可以将资源的统一资源定位符(uniformresourcelocator,url)的域名与该资源在缓存服务器中的ip地址确定为域名配置文件的内容。在第一时延大于第二时延的情况下,可以判断资源的url的域名与该资源在缓存服务器中的ip地址是否在域名配置文件的内容中;若资源的url的域名与该资源在缓存服务器中的ip地址在域名配置文件的内容中,表明之前是由缓存服务器向用户提供所请求的资源,此时,需要将资源的url的域名与该资源在缓存服务器中的ip地址从域名配置文件的内容中删除,从而在用户下次请求访问该资源时,由源站向用户提供所请求的资源。若资源的url的域名与该资源在缓存服务器中的ip地址不在域名配置文件的内容中,则无需做删除处理。

作为另一个具体实现方式,上述步骤106可以通过如下方式来实现:

在第一时延小于第二时延的情况下,可以将资源的url的域名、资源在缓存服务器中的ip地址、以及预设的用户ip地址确定为域名配 置文件的内容。在第一时延大于第二时延的情况下,可以判断资源的url的域名、资源在缓存服务器中的ip地址、以及预设的用户ip地址是否在域名配置文件的内容中;若资源的url的域名、该资源在缓存服务器中的ip地址、以及预设的用户ip地址在域名配置文件的内容中,则将资源的url的域名、该资源在缓存服务器中的ip地址、以及预设的用户ip地址从域名配置文件的内容中删除。同样,若资源的url的域名、该资源在缓存服务器中的ip地址、以及预设的用户ip地址不在域名配置文件的内容中,则无需做删除处理。

在这种实现方式中,域名配置文件的内容除了包含资源的url的域名、该资源在缓存服务器中的ip地址之外,还包含预设的用户ip地址。如此,可以根据用户的ip地址为不同地区的用户提供差异性的服务。例如,对于江苏省南京市和盐城市来说,如果南京市的网络状况较好,而盐城市的网络状况较差,则在南京市的用户和盐城市的用户均请求访问某个资源时,可以仅对盐城市的用户提供加速服务,而不对南京市的用户提供加速服务,从而为用户提供差异化服务。

需要指出的是,在上述两个具体实现方式中,如果是第一次形成域名配置文件,在第一时延大于第二时延的情况下,可以将域名配置文件的内容配置为空,即,域名配置文件不包含任何域名和与该域名相关的内容。

作为一个非限制性示例,域名配置文件的内容可以如表1所示:

表1

如表1所示,域名配置文件的内容除了包括需要加速服务的域名和域名对应的缓存服务器中的ip地址外,还可以包括域名配置文件的生成时间、vip业务开通时间和vip业务结束服务时间。例如,在实际运营中,可以根据域名配置文件的生成时间、vip业务开通时间和vip业务结束服务时间确定为vip用户提供加速服务的时间段。

作为示例,域名配置文件可以为excel文件,其可以命名为如下方式:

<数据日期>_<文件序列号>_<文件拆分数>_<md5>.xls

下面对域名配置文件的名称中的各部分进行说明。

<数据日期>可以采用unixutc秒数字符串,例如“yyyymmddhhmmss”,其可以为24小时格式;

<文件序列号>从0001开始,依次递增,<数据日期>配合<文件序列号>即为当天生成的第n份域名配置文件;

<文件拆分数>一般表示为0,但如果域名配置文件的大小超过规定值,例如超过1gb,则需要将域名配置文件拆分为多个文件,文件拆分数则从01开始,依次递增;

<md5>为域名配置文件的md5值,可以用于检验域名配置文件是否正确,例如dns和缓存服务器约定好校验规则,只有校验成功才能获取到域名配置文件。

需要指出的是,上述域名配置文件的格式和命名方式均是示例性的。本领域技术人员根据实际情况可以采用其他合适的格式和命名方式。另外,还可以视需要对域名配置文件的内容进行扩展。

此外,图1所示实施例中的步骤102也可以通过不同的方式来实现,下面结合图2和图3所示实施例进行示例性说明。

图2是本发明缓存加速方法另一个实施例的流程示意图。如图2所示,该实施例的缓存加速方法包括如下步骤:

步骤202,获取缓存服务器中缓存的资源的url。

例如,可以定时或者按照预设周期主动获取缓存服务器中缓存的一个或多个资源的url。

步骤204,根据资源的url向缓存服务器发起拨测,以获取访问缓存服务器中缓存的资源的第一时延。

一种情况下,可以不通过dns,直接向缓存服务器发起访问该资源的url的请求,例如,模拟用户访问ie浏览器或下载的行为,打开该资源的url,缓存服务器会将访问该资源的url的请求解析到相应的ip地址,通过访问该ip地址可以获得所请求的资源。记录打开url的时刻与缓存服务器响应该资源的url的访问请求返回所请求资源的时刻,并将两个时刻之间的时间间隔作为访问缓存服务器中缓存的资源的第一时延。

另一种情况下,可以模拟用户的行为向dns发起访问该资源的url的请求,dns会将访问该资源的url的请求解析到缓存服务器;例如,模拟用户访问ie浏览器或下载的行为,打开该资源的url;然后,记录打开url的时刻与缓存服务器响应该资源的url的访问请求返回所请求资源的时刻,并将两个时刻之间的时间间隔作为访问缓存服务器中缓存的资源的第一时延。

步骤206,获取访问源站中的该资源的第二时延。

步骤208,根据第一时延与第二时延的大小关系确定域名配置文件的内容,以便dns根据域名配置文件的内容将用户的资源访问请求解析到缓存服务器或源站。

其中,步骤206和步骤208分别对应图1所示步骤104和步骤106,具体实现可以参见图1所示实施例的描述,在此不再赘述。

图3是本发明缓存加速方法又一个实施例的流程示意图。如图3所 示,该实施例的缓存加速方法包括如下步骤:

步骤302,获取缓存服务器中缓存的资源的url。

步骤304,向拨测探针下发第一拨测指令,以便拨测探针根据资源的url和第一拨测指令向缓存服务器发起拨测,以获取访问缓存服务器中缓存的资源的第一时延。

具体地,拨测探针可以不通过dns,直接向缓存服务器发起访问该资源的url的请求,或者,也可以先向dns发起访问该资源的url的请求,由dns将访问该资源的url的请求解析到缓存服务器。然后,记录打开url的时刻与缓存服务器响应该资源的url的访问请求返回所请求资源的时刻,并将两个时刻之间的时间间隔作为访问缓存服务器中缓存的资源的第一时延。

步骤306,接收拨测探针返回的访问缓存服务器中缓存的资源的第一时延。

步骤308,获取访问源站中的该资源的第二时延。

步骤310,根据第一时延与第二时延的大小关系确定域名配置文件的内容,以便dns根据域名配置文件的内容将用户的资源访问请求解析到缓存服务器或源站。

类似地,步骤308和步骤310分别对应图1所示步骤104和步骤106,具体实现可以参见图1所示实施例的描述,在此不再赘述。

对于上述两个实施例来说,图2所示实施例中,访问缓存服务器中缓存的资源的第一时延是直接通过向缓存服务器发起拨测来获取的,而图3所示实施例中,访问缓存服务器中缓存的资源的第一时延是通过向拨测探针下发拨测指令由拨测探针向缓存服务器发起拨测来获取的。

上述各实施例中,与获取访问缓存服务器中缓存的资源的第一时延类似地,在获取访问源站中的资源的第二时延时,也可以通过向拨测探针下发拨测指令由拨测探针向缓存服务器发起拨测来获取,具体步骤如下:获取缓存服务器中缓存的资源的url;向拨测探针下发第二拨测指令,以便拨测探针根据资源的url和第二拨测指令向源站发起拨测,以获取访问源站中的资源的第二时延;接收拨测探针返回的访问源站中 的资源的第二时延。与上类似地,拨测探针向源站发起拨测时可以不通过dns直接向源站发起访问该资源的url的请求,或者,也可以先向dns发起访问该资源的url的请求,由dns将访问该资源的url的请求解析到源站。然后,记录打开url的时刻与源站响应该资源的url的访问请求返回所请求资源的时刻,并将两个时刻之间的时间间隔作为访问源站中的该资源的第二时延。

图4是本发明缓存加速方法再一个实施例的流程示意图。如图4所示,该实施例的缓存加速方法包括如下步骤:

步骤402,获取访问缓存服务器中缓存的资源的第一时延。

步骤404,获取访问源站中的该资源的第二时延。

步骤406,根据第一时延与第二时延的大小关系确定域名配置文件的内容。

步骤408,将域名配置文件上传到ftp服务器。

例如,可以将域名配置文件实时上传或者按照预设时间间隔(例如每隔5分钟或10分钟)上传到ftp服务器,并存放在可配置的指定目录下,如此可以保证域名配置文件内容的及时更新。

步骤410,dns从ftp服务器获取域名配置文件,根据域名配置文件的内容将用户的资源访问请求解析到缓存服务器或源站。

例如,dns也可以按照预设时间间隔从ftp服务器获取域名配置文件,在用户请求资源访问时根据域名配置文件的内容将用户的资源访问请求解析到缓存服务器或源站。这里的预设时间间隔与上述上传域名配置文件的预设时间间隔可以相同,也可以不同。

步骤412,缓存服务器从ftp服务器获取域名配置文件。

类似地,缓存服务器也可以按照预设时间间隔从ftp服务器获取域名配置文件,优选地,该预设时间间隔和dns获取域名配置文件的时间间隔相同,如此保证二者获取的域名配置文件一致。

步骤414,dns将用户的资源访问请求解析到缓存服务器后,缓存服务器判断用户请求访问的资源的url的域名是否在获取的域名配置文件的内容中;若是,即用户请求访问的资源的url的域名在获取的 域名配置文件的内容中,则执行步骤416;若否,即,用户请求访问的资源的url的域名不在获取的域名配置文件的内容中,则执行步骤418。

步骤416,向用户返回所请求访问的资源。

步骤418,不向用户返回所请求访问的资源。

本实施例中,dns和缓存服务器均从ftp服务器获取域名配置文件,这样,在dns将用户的资源访问请求解析到缓存服务器后,缓存服务器可以根据域名配置文件的内容来确定是否向用户返回所请求的资源,从而确保为特定用户提供加速服务,减轻缓存服务器的压力。

在实际的域名配置文件传输过程中,有可能会发生中断传输情况,需要进行文件重传,此时ftp服务器会将ftp服务器上的所有文件进行重传,如此有可能会造成过期的域名配置文件被传输到dns和缓存服务器的情况。在一个实施例中,优选地,在dns和缓存服务器从ftp服务器获取域名配置文件后,还可以将ftp服务器上的域名配置文件删除。如此,一方面可以释放ftp服务器的存储资源,减轻ftp服务器的压力;另一方面也可以确保ftp服务器上的域名配置文件始终是最新的域名配置文件。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置和系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

图5是本发明缓存加速装置一个实施例的结构示意图。该实施例的缓存加速装置可用于实现本发明上述各实施例的缓存加速方法的相应流程。如图5所示,该实施例的缓存加速装置包括第一时延获取单元501、第二时延获取单元502和域名配置文件确定单元503。

其中,第一时延获取单元501可以用于获取访问缓存服务器中缓存的资源的第一时延;第二时延获取单元502可以用于获取访问源站中的该资源的第二时延;域名配置文件确定单元503可以用于根据第一时延与第二时延的大小关系确定域名配置文件的内容,以便域名系统dns 根据域名配置文件的内容将用户的资源访问请求解析到缓存服务器或源站。

本实施例的缓存加速装置,通过比较相同的资源在缓存服务器中的访问时延和在源站中的访问时延,可以动态地确定域名配置文件的内容,与现有技术相比,本实施例使得dns可以将用户发起的资源访问请求择优解析到访问时延较低的缓存服务器或源站,以便能够灵活调度网络流量流向,避免出现现有技术中无法打开网页的情况,提升了用户体验;并且,根据相同的资源在缓存服务器中的访问时延和在源站中的访问时延的变化可以获知网络环境的变化,不需要人工时刻关注网络环境的变化,另外,由于可以动态地确定域名配置文件的内容,不需要人工修改域名配置文件,大大降低了人工和时间成本。

在一个实施例中,缓存的资源可以包括多个相同的资源,缓存服务器包括多个缓存服务器,多个相同的资源分别缓存在不同的缓存服务器中。相应地,该实施例中的第一时延获取单元501可以具体用于:分别获取访问每个缓存服务器中相同的资源的时延;将访问每个缓存服务器中相同的资源的时延中最小的时延作为第一时延。这样,后续在将用户的资源访问请求解析到缓存服务器后,可以更快地向用户提供所请求的资源,以进一步提升用户感知体验。

图6是本发明缓存加速装置另一个实施例的结构示意图。如图6所示,该实施例中的域名配置文件确定单元503可以包括内容确定模块513、判断模块523和删除模块533。

在一个具体实现方式中,内容确定模块513可以用于在第一时延小于第二时延的情况下,将资源的统一资源定位符(url)的域名与资源在缓存服务器中的ip地址确定为域名配置文件的内容;判断模块523可以用于在第一时延大于第二时延的情况下,判断资源的url的域名与资源在缓存服务器中的ip地址是否在域名配置文件的内容中;删除模块533可以用于若资源的url的域名与资源在缓存服务器中的ip地址在域名配置文件的内容中,将资源的url的域名与资源在缓存服务器中的ip地址从域名配置文件的内容中删除。

在另一个具体实现方式中,内容确定模块513还可以用于在第一时延小于第二时延的情况下,将资源的url的域名、资源在缓存服务器中的ip地址、以及预设的用户ip地址确定为域名配置文件的内容;判断模块523还可以用于在第一时延大于第二时延的情况下,判断资源的url的域名、资源在缓存服务器中的ip地址、以及预设的用户ip地址是否在域名配置文件的内容中;删除模块533还可以用于若资源的url的域名、资源在缓存服务器中的ip地址、以及预设的用户ip地址在域名配置文件的内容中,将资源的url的域名、资源在缓存服务器中的ip地址、以及预设的用户ip地址从域名配置文件的内容中删除。在这种实现方式中,域名配置文件的内容除了包含资源的url的域名、该资源在缓存服务器中的ip地址之外,还包含预设的用户ip地址。如此,可以根据用户的ip地址为不同地区的用户提供差异性的服务。

上述第一时延获取单元501可以通过不同的功能模块来实现其功能。图7和图8分别提供了两种具体实现方式。

图7是本发明缓存加速装置中第一时延获取单元的一个具体实现方式的结构示意图。如图7所示,第一时延获取单元501可以包括第一获取模块511和拨测模块521。第一获取模块511可以用于获取缓存服务器中缓存的资源的url;拨测模块521可以用于根据资源的url向缓存服务器发起拨测,以获取访问缓存服务器中缓存的资源的第一时延。

图8是本发明缓存加速装置中第一时延获取单元的另一个具体实现方式的结构示意图。如图8所示,第一时延获取单元501可以包括第一获取模块511、第一指令下发模块531和第一时延接收模块541。第一获取模块511可以用于获取缓存服务器中缓存的资源的url;第一指令下发模块531可以用于向拨测探针下发第一拨测指令,以便拨测探针根据资源的url和第一拨测指令向缓存服务器发起拨测,以获取访问缓存服务器中缓存的资源的第一时延;第一时延接收模块541可以用于接收拨测探针返回的访问缓存服务器中缓存的资源的第一时延。

图9是图7所示拨测模块的一个具体实现方式的结构示意图。如图9所示,拨测模块521可以包括访问请求子模块5211和记录子模块 5212。访问请求子模块5211可以用于模拟用户的行为向dns发起访问url的请求;记录子模块5212可以用于记录打开url的时刻与缓存服务器响应url的访问请求的时刻,并将两个时刻之间的时间间隔作为访问缓存服务器中缓存的资源的第一时延。

图10是本发明缓存加速装置中第二时延获取单元的一个具体实现方式的结构示意图。如图10所示,第二时延获取单元502可以包括第二获取模块512、第二指令下发模块522和第二时延接收模块532。第二获取模块512可以用于获取缓存服务器中缓存的资源的url;第二指令下发模块522可以用于向拨测探针下发第二拨测指令,以便拨测探针根据资源的url和第二拨测指令向源站发起拨测,以获取访问源站中的资源的第二时延;第二时延接收模块532可以用于接收拨测探针返回的访问源站中的资源的第二时延。

在本发明缓存加速装置的另一个实施例中,域名配置文件确定单元503还可以用于在确定域名配置文件的内容后,将域名配置文件下发给dns,以便dns根据域名配置文件的内容将用户的资源访问请求解析到缓存服务器或源站;或者,域名配置文件确定单元503还可以用于在确定域名配置文件的内容后,将域名配置文件上传到ftp服务器,以便dns从ftp服务器获取域名配置文件,然后执行根据域名配置文件的内容将用户的资源访问请求解析到缓存服务器或源站的操作。

图11是本发明缓存加速系统一个实施例的结构示意图。如图11所示,该实施例的缓存加速系统包括:域名系统dns1101、缓存服务器1102和上述任意一个实施例所述的缓存加速装置1103,dns1101和缓存服务器1102之间可以自定义接口,相互约定好协议。dns1101可以用于根据域名配置文件的内容将用户的资源访问请求解析到缓存服务器1102或源站;缓存服务器1102可以用于根据用户的资源访问请求向用户返回所请求的资源。

本实施例中,缓存加速装置通过比较相同的资源在缓存服务器中的访问时延和在源站中的访问时延,可以动态地确定域名配置文件的内容,从而使得dns可以将用户发起的资源访问请求择优解析到访问时延较 低的缓存服务器或源站,以便能够灵活调度网络流量流向,避免出现现有技术中无法打开网页的情况,提升了用户体验;并且,根据相同的资源在缓存服务器中的访问时延和在源站中的访问时延的变化可以获知网络环境的变化,不需要人工时刻关注网络环境的变化,另外,由于可以动态地确定域名配置文件的内容,不需要人工修改域名配置文件,大大降低了人工和时间成本。

图12是本发明缓存加速系统另一个实施例的结构示意图。与图11所示实施例相比,该实施例的缓存加速系统还可以包括拨测探针1201。拨测探针1201可以用于根据缓存服务器1102中缓存的资源的url和缓存加速装置1103下发的第一拨测指令向缓存服务器1102发起拨测,以获取访问缓存服务器1102中缓存的资源的第一时延并返回给缓存加速装置1103。

在本发明缓存加速系统的另一个实施例中,参见图12,拨测探针1201还可以用于根据缓存服务器1102中缓存的资源的url和缓存加速装置1103下发的第二拨测指令向源站发起拨测,以获取访问源站中的该资源的第二时延并返回给缓存加速装置1103。

在具体实现时,dns1101可以通过不同的方式获得域名配置文件,下面列举两个示例性的实现方式进行说明。

在一个示例性的实现方式中,缓存加速装置1103还可以用于在确定域名配置文件的内容后,将域名配置文件下发到dns1101,从而使得dns1101获得域名配置文件。

在另一个示例性的实现方式中,如图13所示,缓存加速系统还可以包括ftp服务器1301。该实施例中的缓存加速装置1103还可以用于在确定域名配置文件的内容后,将域名配置文件上传到ftp服务器1301;ftp服务器1301可以用于保存缓存加速装置1103上传的域名配置文件;dns1101还可以用于从ftp服务器1301获取域名配置文件,从而获得域名配置文件。

进一步地,在本发明缓存加速系统的又一个实施例中,参见图13,缓存服务器1102还可以用于从ftp服务器1301获取域名配置文件; 在dns1101将用户的资源访问请求解析到缓存服务器1102后,判断用户请求访问的资源的url的域名是否在获取的域名配置文件的内容中;若用户请求访问的资源的url的域名在获取的域名配置文件的内容中,则向用户返回所请求访问的资源;若用户请求访问的资源的url的域名不在获取的域名配置文件的内容中,则不向用户返回所请求访问的资源。由于dns1101和缓存服务器1102均从ftp服务器获取域名配置文件,这样,在dns1101将用户的资源访问请求解析到缓存服务器1102后,缓存服务器1102可以根据域名配置文件的内容来确定是否向用户返回所请求的资源,从而确保为特定用户提供加速服务,减轻缓存服务器的压力。

更进一步地,在本发明缓存加速系统的再一个实施例中,仍参见图13,缓存服务器1102还可以用于在dns1101和缓存服务器1102从ftp服务器1301获取域名配置文件后,将ftp服务器1301上的域名配置文件删除。如此,一方面可以释放ftp服务器的存储资源;另一方面也可以确保ftp服务器上的域名配置文件始终是最新的域名配置文件。在其他的实施例中,也可以由缓存加速装置1103在dns1101和缓存服务器1102从ftp服务器1301获取域名配置文件后,将ftp服务器1301上的域名配置文件删除。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1