CN103491112A - 大规模集群任务调度方法、***及cdn节点 - Google Patents
大规模集群任务调度方法、***及cdn节点 Download PDFInfo
- Publication number
- CN103491112A CN103491112A CN201210189888.9A CN201210189888A CN103491112A CN 103491112 A CN103491112 A CN 103491112A CN 201210189888 A CN201210189888 A CN 201210189888A CN 103491112 A CN103491112 A CN 103491112A
- Authority
- CN
- China
- Prior art keywords
- client
- cdn node
- node
- cdn
- address
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种大规模集群任务调度方法、***及CDN节点,其中所述方法包括以下步骤:客户端向域名***DNS发送DNS查询请求;DNS根据客户端的本地DNS配置进行调度,并向客户端返回指定内容分发网络CDN节点信息;客户端根据指定CDN节点信息接入指定CDN节点;指定CDN节点根据客户端的地址判断是否属于本节点服务;以及如果判断不属于本节点服务,则指定CDN节点通过临时跳转根据客户端的地址和预设的调度策略将客户端调度至客户端所属的CDN节点。根据本发明实施例的方法,可以实现精准调度,同时在CDN节点增加判断步骤,无需增加中心调度机,可节省中心调度机带来的成本开支。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种大规模集群任务调度方法、***及CDN节点。
背景技术
如图1所示,现有技术的CDN(Content Delivery Network,内容分发网络)在全局负载均衡时采用DNS(Domain Name System或Domain Name Service,计算机域名***)调度,即通过用户的local DNS的IP地址归属,将其指定到特定的CDN节点。现有技术存在的问题是,由于DNS只能获得用户的local DNS的IP地址而无法获得用户的IP地址,同时不能保证用户配置的local DNS都是正确合理的,因此在用户配置的local DNS错误的时候无法进行精准调度。
为了解决上述DNS无法进行精准调度的问题,如图2所示,现对技术通过HTTP 302调度方式解决的,即DNS不进行智能域名解析,而是把所有请求都解析到一台中心调度机上,该中心调度机运行HTTP server,获取用户IP地址,然后对所获取的用户IP地址进行判断,得到用户所在地,再使用HTTP的302功能,把用户定位到指定节点,由于通过用户IP地址进行调度,比DNS调度更准确。现有技术也存在问题,中心调度机采用302调度多了一次302跳转,处理时间变长,增加了用户延迟,同时由于增加了中心调度机,相应的成本也增加,例如需要维护中心调度机等。
发明内容
本发明旨在至少解决上述技术问题之一。
为此,本发明的第一个目的在于提出一种可以实现精准调度及节约成本的大规模集群任务调度方法。
本发明的第二个目的在于提出一种大规模集群任务调度***。
本发明的第三个目的在于提出一种CDN节点。
为了实现上述目的,根据本发明的第一方面实施例的大规模集群任务调度方法包括以下步骤:客户端向域名***DNS发送DNS查询请求;所述DNS根据所述客户端的本地DNS配置进行调度,并向所述客户端返回指定内容分发网络CDN节点信息;所述客户端根据所述指定CDN节点信息接入所述指定CDN节点;所述指定CDN节点根据所述客户端的地址判断是否属于本节点服务;以及如果判断不属于本节点服务,则所述指定CDN节点通过临时跳转根据所述客户端的地址和预设的调度策略将所述客户端调度至所述客户端所属的CDN节点。
根据本发明实施例的大规模集群任务调度方法,在客户端的本地DNS配置不准确的情况下,通过域名***DNS返回的指定CDN节点可以通过临时跳转将用户调度到客户端所属的CDN节点,由此可以实现精准调度,同时在CDN节点增加判断步骤,无需增加中心调度机,可节省中心调度机带来的成本开支。
为了实现上述目的,根据本发明的第二方面实施例的大规模集群任务调度***包括:客户端、域名***DNS、第一CDN节点和第二CDN节点,其中,所述客户端,用于向所述DNS发送DNS查询请求,并根据所述DNS返回的所述第一CDN节点信息接入所述第一CDN节点,以及在所述第一CDN节点根据所述客户端的地址判断不属于本节点服务时,接入所述第一CDN节点通过临时跳转根据所述客户端的地址和预设的调度策略调度的所述第二CDN节点;所述DNS,用于根据所述客户端的本地DNS配置进行调度,并向所述客户端返回所述第一CDN节点信息;所述第一CDN节点,用于根据所述客户端的地址判断是否属于本节点服务,并且在判断不属于本节点服务时,通过临时跳转根据所述客户端的地址和预设的调度策略将所述客户端调度至所述第二CDN节点。
根据本发明实施例的大规模集群任务调度***,在客户端的本地DNS配置不准确的情况下,通过域名***DNS返回的第一CDN节点可以通过临时跳转将用户调度到第二CDN节点,即客户端所属的CDN节点,由此可以实现精准调度,同时在第一CDN节点增加判断步骤,无需增加中心调度机,可以节省中心调度机带来的成本开支。
为了实现上述目的,根据本发明的第三方面实施例的CDN节点包括:接收模块,用于接收客户端的接入请求;判断模块,用于根据所述客户端的地址判断所述客户端的接入请求是否属于本节点服务;调度模块,用于在判断不属于本节点服务时,通过临时跳转根据所述客户端的地址和预设的调度策略将所述客户端调度至所述客户端所属的CDN节点。
根据本发明实施例的CDN节点,在客户端的本地DNS配置不准确的情况下,通过判断模块及调度模块可以通过临时跳转将用户调度到客户端所属的CDN节点,由此可以实现精准调度。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是现有技术的CDN采用DNS调度的示意图;
图2是现有技术的CDN采用HTTP 302调度的示意图;
图3是根据本发明一个实施例的大规模集群任务调度方法的示意图;
图4是根据本发明一个实施例的大规模集群任务调度方法的流程图;
图5是根据本发明一个实施例的大规模集群任务调度方法的流程图;
图6是根据本发明一个实施例的大规模集群任务调度***的结构框图;
图7是根据本发明一个实施例的CDN节点的结构框图;
图8是根据本发明一个实施例的CDN节点的结构框图;以及
图9是根据本发明一个实施例的CDN节点的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。
下面参考说明书附图描述根据本发明实施例的大规模集群任务调度方法。
一种大规模集群任务调度方法,包括以下步骤:客户端向域名***DNS发送DNS查询请求;DNS根据客户端的本地DNS配置进行调度,并向客户端返回指定内容分发网络CDN节点信息;客户端根据指定CDN节点信息接入指定CDN节点;指定CDN节点根据客户端的地址判断是否属于本节点服务;以及如果判断不属于本节点服务,则指定CDN节点通过临时跳转根据客户端的地址和预设的调度策略将客户端调度至客户端所属的CDN节点。
图3为本发明一个实施例的大规模集群任务调度方法的示意图,图4为本发明一个实施例的大规模集群任务调度方法的流程图。
如图3和图4所示,根据本发明实施例的大规模集群任务调度方法包括下述步骤。
步骤S101,客户端向域名***DNS发送DNS查询请求。
具体地,首先用户在客户端例如在浏览器中输入要访问的网址,然后客户端根据用户所输入的网址向域名***DNS发送域名解析请求即DNS查询请求。
步骤S102,DNS根据客户端的本地DNS配置进行调度,并向客户端返回指定内容分发网络CDN节点信息。
具体地,DNS根据客户端发送的DNS查询请求可以获取客户端的本地DNS配置,然后根据客户端的本地DNS配置指定相应的CDN节点,例如选择距离客户端最近的CDN节点,并向客户端返回该指定CDN节点的IP地址作为本次请求的查询结果。
步骤S103,客户端根据指定CDN节点信息接入指定CDN节点。
具体地,客户端获得DNS返回的指定CDN节点的IP地址,然后根据指定CDN节点的IP地址向指定CDN节点发起访问请求,接入该指定CDN节点。
步骤S104,指定CDN节点根据客户端的地址判断是否属于本节点服务。
具体地,在客户端根据指定CDN节点信息例如IP地址接入指定CDN节点时,该指定CDN节点可以获得客户端的IP地址,该指定CDN节点根据所获得的客户端的IP地址判断客户端是否属于该指定CDN节点服务。
步骤S105,判断不属于本节点服务,则指定CDN节点通过临时跳转根据客户端的地址和预设的调度策略将客户端调度至客户端所属的CDN节点。
在本发明的一个实施例中,指定CDN节点和客户端所属的CDN节点具有相同的调度策略。
在本发明的一个实施例中,在临时跳转中添加标记以向客户端所属的CDN节点表明客户端通过临时跳转接入。
在本发明的一个实施例中,临时跳转使用客户端所属的CDN节点的IP地址。
具体地,临时跳转可为HTTP的302跳转。当指定CDN节点根据客户端IP判断客户端不属于指定CDN节点服务时,指定CDN节点通过302跳转根据客户端的地址和预设的调度策略将客户端调度至客户端所属的CDN节点,并且在302跳转中将客户端所属的CDN节点的IP地址作为标记,向客户端所属的CDN节点表明客户端通过302跳转接入。
在本发明的具体实现过程中,进行302跳转时会出现死循环的现象。具体地,指定CDN节点和客户端所属的CDN节点具有相同的调度策略,例如将河北的用户调度到石家庄节点,但是在进行各个CDN节点更新调度策略时,由于众多CDN节点无法精准同时更新,会出现在某个时刻两个CDN节点的调度策略不一致的情况,例如石家庄节点的调度策略更新为把河北的用户调度到郑州节点,但郑州节点的调度策略仍然是把河北的用户调度到石家庄节点,当河北的用户请求时会在石家庄和郑州节点之间无限的进行302跳转,直到郑州节点也更新了调度策略为止。当在302跳转中使用客户端所属的CDN节点的IP地址作为所添加标记可以防止302跳转出现死循环的现象,更具体地,当在302跳转时使用客户端所属的CDN节点的IP,而不使用域名,当用户第二次请求时,所请求的主机域名(Host域)就是IP地址,各CDN节点在接收到用户的第二次请求后,首先判断所请求的主机域名(Host域)是否是IP地址,假如是,则不进行跳转,由此避免302跳转的死循环现象。另外,对于正常的直接IP访问,也可以认为用户希望访问该节点,而不希望被DNS调度,所以不进行跳转也是属于合理的。
根据本发明实施例的大规模集群任务调度方法,在客户端的本地DNS配置不准确的情况下,通过域名***DNS返回的指定CDN节点可以通过临时跳转将用户调度到客户端所属的CDN节点,由此可以实现精准调度,同时在CDN节点增加判断步骤,无需增加中心调度机,可节省中心调度机带来的成本开支。
图5为本发明一个实施例的大规模集群任务调度方法的流程图。
如图5所示,根据本发明实施例的大规模集群任务调度方法包括下述步骤。
步骤S201,客户端向域名***DNS发送DNS查询请求。
具体地,首先用户在客户端例如在浏览器中输入要访问的网址,然后客户端根据用户所输入的网址向域名***DNS发送域名解析请求即DNS查询请求。
步骤S202,DNS根据客户端的本地DNS配置进行调度,并向客户端返回指定内容分发网络CDN节点信息。
具体地,DNS根据客户端发送的DNS查询请求可以获取客户端的本地DNS配置,然后根据客户端的本地DNS配置指定相应的CDN节点,例如选择距离客户端最近的CDN节点,并向客户端返回该指定CDN节点的IP地址作为本次请求的查询结果。
步骤S203,客户端根据指定CDN节点信息接入指定CDN节点。
具体地,客户端获得DNS返回的指定CDN节点的IP地址,然后根据指定CDN节点的IP地址向指定CDN节点发起访问请求,接入该指定CDN节点。
步骤S204,指定CDN节点根据客户端的地址判断是否属于本节点服务。
具体地,在客户端根据指定CDN节点信息例如IP地址接入指定CDN节点时,该指定CDN节点可以获得客户端的IP地址,该指定CDN节点根据所获得的客户端的IP地址判断客户端是否属于该指定CDN节点服务。
步骤S205,判断不属于本节点服务,则指定CDN节点通过临时跳转根据客户端的地址和预设的调度策略将客户端调度至客户端所属的CDN节点。
在本发明的一个实施例中,指定CDN节点和客户端所属的CDN节点具有相同的调度策略。
在本发明的一个实施例中,在临时跳转中添加标记以向客户端所属的CDN节点表明客户端通过临时跳转接入。
在本发明的一个实施例中,临时跳转使用客户端所属的CDN节点的IP地址。
具体地,临时跳转可为HTTP的302跳转。当指定CDN节点根据客户端IP判断客户端不属于指定CDN节点服务时,指定CDN节点通过302跳转根据客户端的地址和预设的调度策略将客户端调度至客户端所属的CDN节点,并且在302跳转中将客户端所属的CDN节点的IP地址作为标记,向客户端所属的CDN节点表明客户端通过302跳转接入。
在本发明的具体实现过程中,进行302跳转时会出现死循环的现象。具体地,指定CDN节点和客户端所属的CDN节点具有相同的调度策略,例如将河北的用户调度到石家庄节点,但是在进行各个CDN节点更新调度策略时,由于众多CDN节点无法精准同时更新,会出现在某个时刻两个CDN节点的调度策略不一致的情况,例如石家庄节点的调度策略更新为把河北的用户调度到郑州节点,但郑州节点的调度策略仍然是把河北的用户调度到石家庄节点,当河北的用户请求时会在石家庄和郑州节点之间无限的进行302跳转,直到郑州节点也更新了调度策略为止。当在302跳转中使用客户端所属的CDN节点的IP地址作为所添加标记可以防止302跳转出现死循环的现象,更具体地,当在302跳转时使用客户端所属的CDN节点的IP,而不使用域名,当用户第二次请求时,所请求的主机域名(Host域)就是IP地址,各CDN节点在接收到用户的第二次请求后,首先判断所请求的主机域名(Host域)是否是IP地址,假如是,则不进行跳转,由此避免302跳转的死循环现象。另外,对于正常的直接IP访问,也可以认为用户希望访问该节点,而不希望被DNS调度,所以不进行跳转也是属于合理的。
步骤S206,如果判断属于本节点服务,则指定CDN节点为客户端提供服务。
具体地,如果判断属于本节点服务,说明客户端的本地配置正确,则指定CDN节点为客户端提供服务。
根据本发明实施例的大规模集群任务调度方法,一方面在客户端的本地DNS配置不准确的情况下,通过域名***DNS返回的指定CDN节点可以通过临时跳转将用户调度到客户端所属的CDN节点,由此可以实现精准调度。另一方面,在客户端的本地DNS配置准确的情况下,CDN节点直接提供服务,无需额外多出一次无用的临时跳转,节约时间。同时在CDN节点增加判断步骤,无需增加中心调度机,可节省中心调度机带来的成本开支。
下面参考说明书附图描述根据本发明实施例的大规模集群任务调度***。
一种大规模集群任务调度***,包括:客户端、域名***DNS、第一CDN节点和第二CDN节点,其中,客户端,用于向DNS发送DNS查询请求,并根据DNS返回的第一CDN节点信息接入第一CDN节点,以及在第一CDN节点根据客户端的地址判断不属于本节点服务时,接入第一CDN节点通过临时跳转根据客户端的地址和预设的调度策略调度的第二CDN节点;DNS,用于根据客户端的本地DNS配置进行调度,并向客户端返回第一CDN节点信息;第一CDN节点,用于根据客户端的地址判断是否属于本节点服务,并且在判断不属于本节点服务时,通过临时跳转根据客户端的地址和预设的调度策略将客户端调度至第二CDN节点。
图6为本发明一个实施例的大规模集群任务调度***的结构框图。
如图6所示,根据本发明实施例的大规模集群任务调度***包括客户端110、域名***DNS 120、第一CDN节点130和第二CDN节点140。
具体地,客户端110用于向DNS 120发送DNS查询请求,并根据DNS 120返回的第一CDN节点130信息接入第一CDN节点130,以及在第一CDN节点130根据客户端110的地址判断不属于本节点服务时,接入第一CDN节点130通过临时跳转根据客户端110的地址和预设的调度策略调度的第二CDN节点140。DNS 120用于根据客户端110的本地DNS配置进行调度,并向客户端110返回第一CDN节点130信息。第一CDN节点130用于根据客户端110的地址判断是否属于本节点服务,并且在判断不属于本节点服务时,通过临时跳转根据客户端110的地址和预设的调度策略将客户端调度至第二CDN节点140。其中,临时跳转可为HTTP的302跳转。
在本发明的一个实施例中,第一CDN节点130和第二CDN节点140具有相同的调度策略。
在本发明的一个实施例中,在临时跳转中添加标记以向第二CDN节点140表明客户端110通过临时跳转接入。
在本发明的一个实施例中,临时跳转使用第二CDN节点140的IP地址。
更具体地,首先用户在客户端110例如在浏览器中输入要访问的网址,客户端110根据用户所输入的网址向DNS 120发送域名解析请求即DNS查询请求。然后,DNS 120根据客户端110发送的DNS查询请求可以获取客户端110的本地DNS配置,根据客户端110的本地DNS配置指定相应的CDN节点,例如选择距离客户端110最近的第一CDN节点130,并向客户端110返回第一CDN节点130的IP地址作为本次请求的查询结果。客户端110获得DNS 120返回的第一CDN节点130的IP地址,并根据第一CDN节点130的IP地址向第一CDN节点130发起访问请求以接入第一CDN节点130。在客户端110接入第一CDN节点130时,第一CDN节点130可以获得客户端110的IP地址,第一CDN节点130根据所获得的客户端110的IP地址判断客户端110是否属于本节点服务,当判断客户端110不属于本节点服务时,第一CDN节点130通过302跳转根据客户端110的地址和预设的调度策略将客户端110调度至第二CDN节点140,其中第二CDN节点140为客户端所属的CDN节点,并且在302跳转中将第二CDN节点140的IP地址作为标记,向第二CDN节点140表明客户端110通过302跳转接入。
在本发明的具体实现过程中,***在进行302跳转中会出现死循环的现象。具体地,第一CDN节点130和第二CDN节点140具有相同的调度策略,例如将河北的用户调度到石家庄节点,但是在进行各个CDN节点更新调度策略时,由于众多CDN节点无法精准同时更新,会出现在某个时刻两个CDN节点的调度策略不一致的情况,例如石家庄节点的调度策略更新为把河北的用户调度到郑州节点,但郑州节点的调度策略仍然是把河北的用户调度到石家庄节点,当河北的用户请求时会在石家庄和郑州节点之间无限的进行302跳转,直到郑州节点也更新了调度策略为止。当在302跳转中使用第二CDN节点140的IP地址作为所添加标记可以防止302跳转出现死循环的现象,更具体地,当在302跳转时使用第二CDN节点140的IP,而不使用域名,当用户第二次请求时,所请求的主机域名(Host域)就是IP地址,各CDN节点在接收到用户的第二次请求后,首先判断所请求的主机域名(Host域)是否是IP地址,假如是,则不进行跳转,由此避免302跳转的死循环现象。另外,对于正常的直接IP访问,也可以认为用户希望访问该节点,而不希望被DNS调度,所以不进行跳转也是属于合理的。
根据本发明实施例的大规模集群任务调度***,在客户端的本地DNS配置不准确的情况下,通过域名***DNS返回的第一CDN节点可以通过临时跳转将用户调度到第二CDN节点,即客户端所属的CDN节点,由此可以实现精准调度,同时在第一CDN节点增加判断步骤,无需增加中心调度机,可以节省中心调度机带来的成本开支。
在本发明的一个实施例中,第一CDN节点130还用于在判断属于本节点服务时为客户端提供服务。具体地,如果判断属于本节点服务,说明客户端110的本地配置正确,则第一CDN节点130为客户端110提供服务。
根据本发明实施例的大规模集群任务调度***,在客户端的本地DNS配置准确的情况下,第一CDN节点直接提供服务,无需额外多出一次无用的临时跳转,节约时间。
下面参考说明书附图描述根据本发明实施例的CDN节点。
一种CDN节点,包括:接收模块,用于接收客户端的接入请求;判断模块,用于根据客户端的地址判断客户端的接入请求是否属于本节点服务;调度模块,用于在判断不属于本节点服务时,通过临时跳转根据客户端的地址和预设的调度策略将客户端调度至客户端所属的CDN节点。
图7为本发明一个实施例的CDN节点的结构框图。
如图7所示,根据本发明实施例的CDN节点包括接收模块210、判断模块220和调度模块230。
具体地,接收模块210用于接收客户端的接入请求。其中,接收模块210所接收到的接入请求为客户端根据域名***DNS返回的CDN节点IP所发起的访问请求。
判断模块220用于根据客户端的地址判断客户端的接入请求是否属于本节点服务。在接收模块210接收到客户端的接入请求时,相应的获得客户端的IP地址,然后判断模块220根据客户端的IP地址判断客户端的接入请求是否属于本节点服务。
调度模块230用于在判断不属于本节点服务时,通过临时跳转根据客户端的地址和预设的调度策略将客户端调度至客户端所属的CDN节点。其中,临时跳转可为HTTP 302跳转。
根据本发明实施例的CDN节点,在客户端的本地DNS配置不准确的情况下,通过判断模块及调度模块可以通过临时跳转将用户调度到客户端所属的CDN节点,由此可以实现精准调度。
图8为本发明一个实施例的CDN节点的结构框图。
如图8所示,根据本发明实施例的CDN节点包括接收模块210、判断模块220、调度模块230和标记模块240。
具体地,接收模块210用于接收客户端的接入请求。判断模块220用于根据客户端的地址判断客户端的接入请求是否属于本节点服务。调度模块230用于在判断不属于本节点服务时,通过临时跳转根据客户端的地址和预设的调度策略将客户端调度至客户端所属的CDN节点。标记模块240用于在临时跳转中添加标记以向客户端所属的CDN节点表明客户端通过临时跳转接入。其中,历史跳转为HTTP 302跳转。
在本发明的一个实施例中,临时跳转使用客户端所属的CDN节点的IP地址。
在本发明的一个实施例中,CDN节点和客户端所属的CDN节点具有相同的调度策略。
在本发明的具体实现过程中,在进行302跳转中会出现死循环的现象。具体地,CDN节点和客户端所属的节点具有相同的调度策略,例如将河北的用户调度到石家庄节点,但是在进行各个CDN节点更新调度策略时,由于众多CDN节点无法精准同时更新,会出现在某个时刻两个CDN节点的调度策略不一致的情况,例如石家庄节点的调度策略更新为把河北的用户调度到郑州节点,但郑州节点的调度策略仍然是把河北的用户调度到石家庄节点,当河北的用户请求时会在石家庄和郑州节点之间无限的进行302跳转,直到郑州节点也更新了调度策略为止。当在302跳转中通过标记模块240使用客户端所属的CDN节点的IP地址作为所添加标记可以防止302跳转出现死循环的现象,更具体地,当在302跳转时使用客户端所属的CDN节点的IP,而不使用域名,当用户第二次请求时,所请求的主机域名(Host域)就是IP地址,各CDN节点在接收到用户的第二次请求后,首先判断所请求的主机域名(Host域)是否是IP地址,假如是,则不进行跳转,由此避免302跳转的死循环现象。
根据本发明实施例的CDN节点,通过标记模块可以防止死循环。
图9为本发明一个实施例的CDN节点的结构框图。
如图9所示,根据本发明实施例的CDN节点包括接收模块210、判断模块220、调度模块230、标记模块240和服务模块250。
具体地,接收模块210用于接收客户端的接入请求。判断模块220用于根据客户端的地址判断客户端的接入请求是否属于本节点服务。调度模块230用于在判断不属于本节点服务时,通过临时跳转根据客户端的地址和预设的调度策略将客户端调度至客户端所属的CDN节点。标记模块240用于在临时跳转中添加标记以向客户端所属的CDN节点表明客户端通过临时跳转接入。服务模块250用于在判断属于本节点服务时为客户端提供服务。
在本发明的一个实施例中,临时跳转使用客户端所属的CDN节点的IP地址。其中,历史跳转为HTTP 302跳转。
根据本发明实施例的CDN节点,在客户端的本地DNS配置准确的情况下,CDN节点通过服务模块直接提供服务,无需额外多出一次无用的临时跳转,节约时间。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (15)
1.一种大规模集群任务调度方法,其特征在于,包括以下步骤:
客户端向域名***DNS发送DNS查询请求;
所述DNS根据所述客户端的本地DNS配置进行调度,并向所述客户端返回指定内容分发网络CDN节点信息;
所述客户端根据所述指定CDN节点信息接入所述指定CDN节点;
所述指定CDN节点根据所述客户端的地址判断是否属于本节点服务;以及
如果判断不属于本节点服务,则所述指定CDN节点通过临时跳转根据所述客户端的地址和预设的调度策略将所述客户端调度至所述客户端所属的CDN节点。
2.如权利要求1所述的大规模集群任务调度方法,其特征在于,所述指定CDN节点和所述客户端所属的CDN节点具有相同的调度策略。
3.如权利要求1所述的大规模集群任务调度方法,其特征在于,在所述临时跳转中添加标记以向所述客户端所属的CDN节点表明所述客户端通过所述临时跳转接入。
4.如权利要求1-3任一项所述的大规模集群任务调度方法,其特征在于,所述临时跳转使用所述客户端所属的CDN节点的IP地址。
5.如权利要求1-4任一项所述的大规模集群任务调度方法,其特征在于,还包括:
如果判断属于本节点服务,则所述指定CDN节点为所述客户端提供服务。
6.一种大规模集群任务调度***,其特征在于,包括客户端、域名***DNS、第一CDN节点和第二CDN节点,其中,
所述客户端,用于向所述DNS发送DNS查询请求,并根据所述DNS返回的所述第一CDN节点信息接入所述第一CDN节点,以及在所述第一CDN节点根据所述客户端的地址判断不属于本节点服务时,接入所述第一CDN节点通过临时跳转根据所述客户端的地址和预设的调度策略调度的所述第二CDN节点;
所述DNS,用于根据所述客户端的本地DNS配置进行调度,并向所述客户端返回所述第一CDN节点信息;
所述第一CDN节点,用于根据所述客户端的地址判断是否属于本节点服务,并且在判断不属于本节点服务时,通过临时跳转根据所述客户端的地址和预设的调度策略将所述客户端调度至所述第二CDN节点。
7.如权利要求1所述的大规模集群任务调度***,其特征在于,所述第一CDN节点和所述第二CDN节点具有相同的调度策略。
8.如权利要求1所述的大规模集群任务调度***,其特征在于,在所述临时跳转中添加标记以向所述第二CDN节点表明所述客户端通过所述临时跳转接入。
9.如权利要求6-8任一项所述的大规模集群任务调度***,其特征在于,所述临时跳转使用所述第二CDN节点的IP地址。
10.如权利要求6-9任一项所述的大规模集群任务调度***,其特征在于,所述第一CDN节点还用于在判断属于本节点服务时为所述客户端提供服务。
11.一种CDN节点,其特征在于,包括:
接收模块,用于接收客户端的接入请求;
判断模块,用于根据所述客户端的地址判断所述客户端的接入请求是否属于本节点服务;
调度模块,用于在判断不属于本节点服务时,通过临时跳转根据所述客户端的地址和预设的调度策略将所述客户端调度至所述客户端所属的CDN节点。
12.如权利要求11所述的CDN节点,其特征在于,所述CDN节点和所述客户端所属的CDN节点具有相同的调度策略。
13.如权利要求11所述的CDN节点,其特征在于,还包括:
标记模块,用于在所述临时跳转中添加标记以向所述客户端所属的CDN节点表明所述客户端通过所述临时跳转接入。
14.如权利要求11-13所述的CDN节点,其特征在于,所述临时跳转使用所述客户端所属的CDN节点的IP地址。
15.如权利要求11-14所述的CDN节点,其特征在于,还包括:
服务模块,用于在判断属于本节点服务时为所述客户端提供服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210189888.9A CN103491112A (zh) | 2012-06-08 | 2012-06-08 | 大规模集群任务调度方法、***及cdn节点 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210189888.9A CN103491112A (zh) | 2012-06-08 | 2012-06-08 | 大规模集群任务调度方法、***及cdn节点 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103491112A true CN103491112A (zh) | 2014-01-01 |
Family
ID=49831070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210189888.9A Pending CN103491112A (zh) | 2012-06-08 | 2012-06-08 | 大规模集群任务调度方法、***及cdn节点 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103491112A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045866A (zh) * | 2015-07-14 | 2015-11-11 | 深圳市云宙多媒体技术有限公司 | 一种基于短url查询的cdn节点跳转方法及*** |
CN105704171A (zh) * | 2014-11-25 | 2016-06-22 | 北京奇虎科技有限公司 | 实现cdn访问的***和方法 |
CN106453675A (zh) * | 2016-09-19 | 2017-02-22 | 网宿科技股份有限公司 | 302跳转方法、url生成方法及***、域名解析方法及*** |
CN106453671A (zh) * | 2015-08-07 | 2017-02-22 | 中国电信股份有限公司 | 用于cdn 调度的方法、客户端、服务器和*** |
CN109639533A (zh) * | 2019-01-08 | 2019-04-16 | 深圳市网心科技有限公司 | 一种区域调度策略的测试方法、***及终端设备 |
CN112671664A (zh) * | 2020-12-04 | 2021-04-16 | 新浪网技术(中国)有限公司 | 一种基于精细化调度的cdn调度***及方法 |
CN113259413A (zh) * | 2021-04-16 | 2021-08-13 | 卓望数码技术(深圳)有限公司 | Cdn调度方法、调度***及存储介质 |
US11184318B2 (en) | 2016-09-19 | 2021-11-23 | Wangsu Science & Technology Co., Ltd. | 302 redirecting method, URL generating method and system, and domain-name resolving method and system |
CN114222168A (zh) * | 2021-12-02 | 2022-03-22 | 上海哔哩哔哩科技有限公司 | 资源调度方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020116481A1 (en) * | 2001-02-20 | 2002-08-22 | Raymond Lee | Content delivery network system and method for building the same |
CN101202684A (zh) * | 2006-12-15 | 2008-06-18 | 中国电信股份有限公司 | 在内容分发网络中进行用户就近性判断的方法 |
-
2012
- 2012-06-08 CN CN201210189888.9A patent/CN103491112A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020116481A1 (en) * | 2001-02-20 | 2002-08-22 | Raymond Lee | Content delivery network system and method for building the same |
CN101202684A (zh) * | 2006-12-15 | 2008-06-18 | 中国电信股份有限公司 | 在内容分发网络中进行用户就近性判断的方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704171A (zh) * | 2014-11-25 | 2016-06-22 | 北京奇虎科技有限公司 | 实现cdn访问的***和方法 |
CN105704171B (zh) * | 2014-11-25 | 2020-07-28 | 北京奇虎科技有限公司 | 实现cdn访问的***和方法 |
CN105045866A (zh) * | 2015-07-14 | 2015-11-11 | 深圳市云宙多媒体技术有限公司 | 一种基于短url查询的cdn节点跳转方法及*** |
CN106453671A (zh) * | 2015-08-07 | 2017-02-22 | 中国电信股份有限公司 | 用于cdn 调度的方法、客户端、服务器和*** |
US11184318B2 (en) | 2016-09-19 | 2021-11-23 | Wangsu Science & Technology Co., Ltd. | 302 redirecting method, URL generating method and system, and domain-name resolving method and system |
CN106453675A (zh) * | 2016-09-19 | 2017-02-22 | 网宿科技股份有限公司 | 302跳转方法、url生成方法及***、域名解析方法及*** |
CN109639533A (zh) * | 2019-01-08 | 2019-04-16 | 深圳市网心科技有限公司 | 一种区域调度策略的测试方法、***及终端设备 |
CN112671664A (zh) * | 2020-12-04 | 2021-04-16 | 新浪网技术(中国)有限公司 | 一种基于精细化调度的cdn调度***及方法 |
CN112671664B (zh) * | 2020-12-04 | 2022-08-19 | 新浪网技术(中国)有限公司 | 一种基于精细化调度的cdn调度***及方法 |
CN113259413A (zh) * | 2021-04-16 | 2021-08-13 | 卓望数码技术(深圳)有限公司 | Cdn调度方法、调度***及存储介质 |
CN113259413B (zh) * | 2021-04-16 | 2023-05-09 | 卓望数码技术(深圳)有限公司 | Cdn调度方法、调度***及存储介质 |
CN114222168A (zh) * | 2021-12-02 | 2022-03-22 | 上海哔哩哔哩科技有限公司 | 资源调度方法及*** |
CN114222168B (zh) * | 2021-12-02 | 2024-03-12 | 上海哔哩哔哩科技有限公司 | 资源调度方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103491112A (zh) | 大规模集群任务调度方法、***及cdn节点 | |
CN112087312B (zh) | 一种提供边缘服务的方法、装置和设备 | |
CN102291447B (zh) | 内容分发网络负载调度方法和*** | |
US7720800B2 (en) | Method and approach to hosting versioned web services | |
CN102281190B (zh) | 负载均衡装置组网方法以及服务器、客户端接入方法 | |
CN103237060B (zh) | 一种数据对象获取方法、装置及*** | |
US10009235B2 (en) | Messaging queue spinning engine | |
CN102497409B (zh) | 一种云计算***资源管理的方法 | |
CN102546226B (zh) | 一种基于多节点提供网络服务的***及方法 | |
US20160344582A1 (en) | Call home cluster | |
CN103544285A (zh) | 一种数据加载方法及装置 | |
US20130148596A1 (en) | Resource management system and method of centralized base station in mobile communication network | |
EP3132567B1 (en) | Event processing in a network management system | |
CN100525378C (zh) | 一种分布式机顶盒升级管理方法、管理***和管理设备 | |
CN102158736A (zh) | 视频点播的方法、***及资源管理设备 | |
US9154540B2 (en) | Smart redirection and loop detection mechanism for live upgrade large-scale web clusters | |
CN104537045A (zh) | 一种基于分布式***的业务分配方法及装置 | |
CN105656964A (zh) | 数据推送的实现方法及装置 | |
CN104092732A (zh) | 一种终端软件智能更新方法及装置 | |
CN105530323B (zh) | 一种文件升级方法、相关设备及*** | |
WO2009067063A1 (en) | Method and device for agile computing | |
CN103001989A (zh) | 参数接收方法及*** | |
CN102075584B (zh) | 一种分布式文件***及其访问方法 | |
CN103685576A (zh) | 一种cdn节点的交互方法及cdn管理*** | |
CN103685405B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140101 |
|
RJ01 | Rejection of invention patent application after publication |