一种对CDN和融合CDN的流量调度方法及系统技术方案

技术编号:35291098 阅读:39 留言:0更新日期:2022-10-22 12:37
本发明专利技术实施例提供一种对CDN和融合CDN的流量调度方法及系统,包括:在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标;在为用户匹配相应的调度目标过程中,当CDN或融合CDN中用于调度的目标不能被用户调度时,如果采用DNS调度策略,则将DNS调度策略修改转化融合到HTTPDNS调度策略中,如果采用HTTPDNS调度策略,则将HTTPDNS调度策略修改转化融合到DNS调度策略中。在需要时对DNS调度策略或HTTPDNS调度策略进行修改,实现用户在通过DNS调度策略、HTTPDNS调度策略进行调度时采用一致的调度策略。调度时采用一致的调度策略。调度时采用一致的调度策略。

【技术实现步骤摘要】
一种对CDN和融合CDN的流量调度方法及系统


[0001]本专利技术涉及CDN相关流量调度,具体涉及一种对CDN和融合CDN的流量调度方法及系统。

技术介绍

[0002]CDN(内容分发网络)通过在世界各地部署服务节点,以便用户能够就近访问互联网资源;但每个节点都有容量上限。随着互联网流量增长和CDN节点增多,以及融合CDN也即同时使用多家商业CDN作为流量承载方,成为很多互联网厂商新的使用方式;如何将用户流量合理地分配到不同的节点和不同的融合CDN厂商,不仅变得更加重要,也变得更加复杂;需要我们对用户流量有超精细化的调度能力。
[0003]现有技术存在如下不足:
[0004]一、DNS按权重轮询:这种方案采用传统的DNS,将某地区用户请求解析到多个服务节点,并按照每个节点的权重来给DNS请求返回应答。比如配置2个节点A和B,权重分别为30%和70%,则平均每100次请求,DNS服务器应答30次A,70次B,从而想要达到A节点服务30%用户流量,B节点服务70%用户流量的目的。然而该方法并不适应现实网络,在现实中,用户并不直接访问权威DNS服务器,而是访问运营商的Local DNS,Local DNS通过查找缓存给用户提供结果,如果缓存查找失败,才访问权威DNS。在现实世界中,运营商Local DNS经常会出现分布不均,缓存时间异常等问题,这会造成实际调度结果与预设的权重策略严重偏离;实践证明这种方式还会造成相当比例的流量在不同的CDN节点或厂商间来回切换,造成这部分带宽重复计费。
[0005]二、Local DNS画像:该方案对每个Local DNS进行精确画像,用于估算该Local DNS负责的用户流量占比,然后通过对每个Local DNS进行单独调度达到对特定比例的用户流量进行调度的目的。例如经过数据分析等技术对Local DNS进行画像,发现某区域有5个Local DNS,用户占比为10%,10%,10%,30%,40%,则可将前3个Local DNS调度到某节点或某家融合CDN厂商,达到某节点或厂商承载30%流量的目的。该方案存在两个较大的问题,一是部分地区Local DNS过于集中,无法达到精细化的流量控制。例如某地区只有两个Local DNS,分别占据50%的用户,则该地区只能以50%的颗粒度来进行调度。二是Local DNS的变动由运营商控制,CDN厂商无法及时更新数据,可能造成流量失控。而本申请提供的技术方案,调度颗粒度可以做到千分之一甚至更小,也不会因运营商变更Local DNS而失效。
[0006]三、HTTPDNS按权重轮询:HTTPDNS不同于传统DNS,支持HTTPDNS的客户端可直接访问HTTPDNS服务,无需通过运营商的Local DNS,因此不存在上述Local DNS带来的各类问题。客户端访问HTTPDNS,而HTTPDNS服务器根据用户请求次数来控制每个目标节点或厂商承载的流量,可以做到精准的流量控制。例如预设A、B两节点分别承载40%,60%的流量,则只需要保证每100次请求中返回40次A,60次B,即可达到目的。该方案也存在一些技术问题,主要是HTTPDNS服务器在这种机制下只关心请求次数而不关心用户本身,造成每个节点承
载的流量虽然得到精准控制,但是同一个用户会被频繁调度到不同的节点;这进一步造成了HTTPS会话缓存失效、用户访问延迟增大等问题。

技术实现思路

[0007]本专利技术实施例提供一种对CDN和融合CDN的流量调度方法及系统,根据用户侧的调度能力,结合CDN或融合CDN的调度情况、以及DNS调度策略和HTTPDNS调度策略,为用户匹配相应的调度目标并返回给用户,且在需要时对DNS调度策略或HTTPDNS调度策略进行修改,实现用户在通过DNS调度策略、HTTPDNS调度策略进行调度时采用一致的调度策略。
[0008]为达上述目的,一方面,本专利技术实施例提供一种对CDN和融合CDN的流量调度方法,包括:
[0009]在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标并返回给所述用户;所述调度目标用于向访问用户提供网络资源;其中,所述DNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度;所述HTTPDNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度、以及设定各调度目标的调度比例;
[0010]在为用户匹配相应的调度目标过程中,当CDN或融合CDN中的调度目标不能被用户调度时,如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中;如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中。
[0011]另一方面,本专利技术实施例提供一种对CDN和融合CDN的流量调度系统,包括:
[0012]调度目标匹配单元,用于在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标并返回给所述用户;所述调度目标用于向访问用户提供网络资源;其中,所述DNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度;所述HTTPDNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度、以及设定各调度目标的调度比例;
[0013]调度策略修改单元,在为用户匹配相应的调度目标过程中,当CDN或融合CDN中的调度目标不能被用户调度时,如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中;如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中。
[0014]上述技术方案具有如下有益效果:根据用户侧的访问能力,结合CDN或融合CDN的调度情况、以及DNS调度策略和HTTPDNS调度策略,为用户匹配相应的调度目标并返回给用户,且在需要时对DNS调度策略或HTTPDNS调度策略进行修改,实现用户在通过DNS调度策略、HTTPDNS调度策略进行调度时采用一致的调度策略。
附图说明
[0015]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是本专利技术实施例的对CDN和融合CDN的流量调度方法的流程图;
[0017]图2是本专利技术实施例的对CDN和融合CDN的流量调度系统的结构图;
[0018]图3是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对CDN和融合CDN的流量调度方法,其特征在于,包括:在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标并返回给所述用户;所述调度目标用于向访问用户提供网络资源;其中,所述DNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度;所述HTTPDNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度、以及设定各调度目标的调度比例;在为用户匹配相应的调度目标过程中,当CDN或融合CDN中的调度目标不能被用户调度时,如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中;如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中。2.根据权利要求1所述的对CDN和融合CDN的流量调度方法,其特征在于,所述用户访问CDN或融合CDN时所具备的调度能力包括DNS调度能力或HTTPDNS调度能力,其中:如果用户访问CDN或融合CDN时具备DNS调度能力,所述DNS调度能力优先使用Local DNS进行目标调度,当Local DNS内无调度目标返回给用户时,使用权威DNS进行目标调度;如果用户访问CDN或融合CDN时具备HTTPDNS调度能力,则同时具备DNS调度能力,所述HTTPDNS调度能力优先使用HTTPDNS进行目标调度,当HTTPDNS内无调度目标返回给用户时,使用Local DNS进行目标调度,当Local DNS内无调度目标返回给用户时,使用权威DNS进行目标调度;所述根据用户所要访问的网络资源、用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标,具体包括:确定用户访问CDN或融合CDN时所具备的调度能力,并基于所具备的调度能力进行相应的目标调度;当使用HTTPDNS进行目标调度时,访问请求中携带用户IP、用户ID和目标域名;HTTPDNS收到访问请求后,根据用户IP查询IP库,得到所述用户的归属地、运营商;根据归属地、运营商和目标域名查询HTTPDNS调度策略,得到目标域名在相应归属地、运营商的至少一个调度目标;根据目标域名在相应归属地、运营商的至少一个调度目标,结合用户ID将符合所述HTTPDNS调度策略的调度目标返回给用户;当使用Local DNS进行目标调度时,访问请求中携带用户IP、目标域名;在Local DNS收到访问请求后,根据访问请求所携带的目标域名查询Local DNS本地缓存;如果在Local DNS本地缓存命中所述目标域名,则直接将所述目标域名对应的调度目标返回给用户;如果在Local DNS本地缓存无法命中所述目标域名,Local DNS携带所述目标域名访问权威DNS以获取调度目标;权威DNS根据用户IP查询IP库,得到所述用户的归属地、运营商,根据归属地、运营商和目标域名查询DNS调度策略,得到所述目标域名在相应归属地、运营商的至少一个调度目标;权威DNS根据目标域名在相应归属地、运营商的至少一个调度目标将符合所述DNS调度策略的调度目标返回给Local DNS;Local DNS收到权威DNS返回的调度目标,将调度目标返回给用户。3.根据权利要求2所述的对CDN和融合CDN的流量调度方法,其特征在于,所述根据目标域名在相应归属地、运营商的至少一个调度目标,结合用户ID将符合所述HTTPDNS调度策略
的调度目标返回给用户,具体包括:对所述用户ID采用预设算法进行计算,根据目标域名在相应归属地、运营商的至少一个调度目标,从所述至少一个调度目标中选择与计算结果相匹配的调度目标返回给用户;或者,根据目标域名在相应归属地、运营商的至少一个调度目标,从所述至少一个调度目标中选择所述用户ID曾经调度过的调度目标返回给用户。4.根据权利要求2所述的对CDN和融合CDN的流量调度方法,其特征在于,所述DNS调度策略包括运营商、归属地和域名三元组与至少一个调度目标之间的对应关系;其中,所述调度目标包括目标CDN节点IP和/或目标厂商CNAME;所述如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中,具体包括:在采用DNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的DNS调度策略进行目标调度;当修改后目标域名在相应归属地、运营商仅有一个调度目标可供选择时,则直接转化形成新增HTTPDNS调度策略;当修改后目标域名在相应归属地、运营商具有两个或以上调度目标时,为每个调度目标配置相同的调度比例,转化形成新增HTTPDNS调度策略;将新增HTTPDNS调度策略自动推送到HTTPDNS调度策略,得到融合后的HTTPDNS调度策略。5.根据权利要求2所述的对CDN和融合CDN的流量调度方法,其特征在于,所述HTTPDNS调度策略包括运营商、归属地和域名三元组与至少一个调度目标之间的对应关系,每个调度目标具有设定的调度比例;其中,所述调度目标包括目标CDN节点IP和/或目标厂商CNAME;所述如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中,具体包括:在采用HTTPDNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的HTTPDNS调度策略进行目标调度;若修改后目标域名在相应归属地、运营商的各调度目标具有相同的调度比例,则直接转化形成新增DNS调度策略;将新增DNS调度策略自动推送到DNS调度策...

【专利技术属性】
技术研发人员:徐永健冯磊马涛王宪超肖恒星
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1