CN115225622B - 一种对cdn和融合cdn的流量调度方法及系统 - Google Patents
一种对cdn和融合cdn的流量调度方法及系统 Download PDFInfo
- Publication number
- CN115225622B CN115225622B CN202210658130.9A CN202210658130A CN115225622B CN 115225622 B CN115225622 B CN 115225622B CN 202210658130 A CN202210658130 A CN 202210658130A CN 115225622 B CN115225622 B CN 115225622B
- Authority
- CN
- China
- Prior art keywords
- scheduling
- target
- dns
- user
- httpdns
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000004927 fusion Effects 0.000 title claims abstract description 36
- 230000004048 modification Effects 0.000 claims abstract description 23
- 238000012986 modification Methods 0.000 claims abstract description 23
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000006243 chemical reaction Methods 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000013459 approach Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种对CDN和融合CDN的流量调度方法及系统,包括:在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标;在为用户匹配相应的调度目标过程中,当CDN或融合CDN中用于调度的目标不能被用户调度时,如果采用DNS调度策略,则将DNS调度策略修改转化融合到HTTPDNS调度策略中,如果采用HTTPDNS调度策略,则将HTTPDNS调度策略修改转化融合到DNS调度策略中。在需要时对DNS调度策略或HTTPDNS调度策略进行修改,实现用户在通过DNS调度策略、HTTPDNS调度策略进行调度时采用一致的调度策略。
Description
技术领域
本发明涉及CDN相关流量调度,具体涉及一种对CDN和融合CDN的流量调度方法及系统。
背景技术
CDN(内容分发网络)通过在世界各地部署服务节点,以便用户能够就近访问互联网资源;但每个节点都有容量上限。随着互联网流量增长和CDN节点增多,以及融合CDN也即同时使用多家商业CDN作为流量承载方,成为很多互联网厂商新的使用方式;如何将用户流量合理地分配到不同的节点和不同的融合CDN厂商,不仅变得更加重要,也变得更加复杂;需要我们对用户流量有超精细化的调度能力。
现有技术存在如下不足:
一、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节点或厂商间来回切换,造成这部分带宽重复计费。
二、Local DNS画像:该方案对每个Local DNS进行精确画像,用于估算该LocalDNS负责的用户流量占比,然后通过对每个Local DNS进行单独调度达到对特定比例的用户流量进行调度的目的。例如经过数据分析等技术对Local DNS进行画像,发现某区域有5个Local DNS,用户占比为10%,10%,10%,30%,40%,则可将前3个Local DNS调度到某节点或某家融合CDN厂商,达到某节点或厂商承载30%流量的目的。该方案存在两个较大的问题,一是部分地区Local DNS过于集中,无法达到精细化的流量控制。例如某地区只有两个Local DNS,分别占据50%的用户,则该地区只能以50%的颗粒度来进行调度。二是LocalDNS的变动由运营商控制,CDN厂商无法及时更新数据,可能造成流量失控。而本申请提供的技术方案,调度颗粒度可以做到千分之一甚至更小,也不会因运营商变更Local DNS而失效。
三、HTTPDNS按权重轮询:HTTPDNS不同于传统DNS,支持HTTPDNS的客户端可直接访问HTTPDNS服务,无需通过运营商的Local DNS,因此不存在上述Local DNS带来的各类问题。客户端访问HTTPDNS,而HTTPDNS服务器根据用户请求次数来控制每个目标节点或厂商承载的流量,可以做到精准的流量控制。例如预设A、B两节点分别承载40%,60%的流量,则只需要保证每100次请求中返回40次A,60次B,即可达到目的。该方案也存在一些技术问题,主要是HTTPDNS服务器在这种机制下只关心请求次数而不关心用户本身,造成每个节点承载的流量虽然得到精准控制,但是同一个用户会被频繁调度到不同的节点;这进一步造成了HTTPS会话缓存失效、用户访问延迟增大等问题。
发明内容
本发明实施例提供一种对CDN和融合CDN的流量调度方法及系统,根据用户侧的调度能力,结合CDN或融合CDN的调度情况、以及DNS调度策略和HTTPDNS调度策略,为用户匹配相应的调度目标并返回给用户,且在需要时对DNS调度策略或HTTPDNS调度策略进行修改,实现用户在通过DNS调度策略、HTTPDNS调度策略进行调度时采用一致的调度策略。
为达上述目的,一方面,本发明实施例提供一种对CDN和融合CDN的流量调度方法,包括:
在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标并返回给所述用户;所述调度目标用于向访问用户提供网络资源;其中,所述DNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度;所述HTTPDNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度、以及设定各调度目标的调度比例;
在为用户匹配相应的调度目标过程中,当CDN或融合CDN中的调度目标不能被用户调度时,如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中;如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中。
另一方面,本发明实施例提供一种对CDN和融合CDN的流量调度系统,包括:
调度目标匹配单元,用于在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标并返回给所述用户;所述调度目标用于向访问用户提供网络资源;其中,所述DNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度;所述HTTPDNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度、以及设定各调度目标的调度比例;
调度策略修改单元,在为用户匹配相应的调度目标过程中,当CDN或融合CDN中的调度目标不能被用户调度时,如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中;如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中。
上述技术方案具有如下有益效果:根据用户侧的访问能力,结合CDN或融合CDN的调度情况、以及DNS调度策略和HTTPDNS调度策略,为用户匹配相应的调度目标并返回给用户,且在需要时对DNS调度策略或HTTPDNS调度策略进行修改,实现用户在通过DNS调度策略、HTTPDNS调度策略进行调度时采用一致的调度策略。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的对CDN和融合CDN的流量调度方法的流程图;
图2是本发明实施例的对CDN和融合CDN的流量调度系统的结构图;
图3是本发明实施例的调度策略的修改和融合的处理流程图;
图4是本发明实施例的DNS和HTTPDNS及各所依赖的调度策略和调度系统的结构图;
图5是本发明实施例的用户侧的客户端请求访问的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,结合本发明的实施例,提供一种对CDN和融合CDN的流量调度方法,包括:
S101:在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标并返回给所述用户;所述调度目标用于向访问用户提供网络资源;其中,所述DNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度;所述HTTPDNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度、以及设定各调度目标的调度比例;
S102:在为用户匹配相应的调度目标过程中,当CDN或融合CDN中的调度目标不能被用户调度时,如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中;如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中。
优选地,用户访问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进行目标调度;
步骤101中,据用户所要访问的网络资源、用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标,具体包括:
S1011:确定用户访问CDN或融合CDN时所具备的调度能力,并基于所具备的调度能力进行相应的目标调度;
S1012:当使用HTTPDNS进行目标调度时,访问请求中携带用户IP、用户ID和目标域名;HTTPDNS收到访问请求后,根据用户IP查询IP库,得到所述用户的归属地、运营商;根据归属地、运营商和目标域名查询HTTPDNS调度策略,得到目标域名在相应归属地、运营商的至少一个调度目标;根据目标域名在相应归属地、运营商的至少一个调度目标,结合用户ID将符合所述HTTPDNS调度策略的调度目标返回给用户;
S1013:当使用Local DNS进行目标调度(包括主动使用Local DNS进行目标调度,以及,在使用HTTPDNS调度失败后)时,访问请求中携带用户IP、目标域名;在Local DNS收到访问请求后,根据访问请求所携带的目标域名查询Local DNS本地缓存;如果在Local DNS本地缓存命中所述目标域名,则直接将所述目标域名对应的调度目标返回给用户;如果在Local DNS本地缓存无法命中所述目标域名,Local DNS携带所述目标域名访问权威DNS以获取调度目标;权威DNS根据用户IP查询IP库,得到所述用户的归属地、运营商,根据归属地、运营商和目标域名查询DNS调度策略,得到所述目标域名在相应归属地、运营商的至少一个调度目标;权威DNS根据目标域名在相应归属地、运营商的至少一个调度目标将符合所述DNS调度策略的调度目标返回给Local DNS;Local DNS收到权威DNS返回的调度目标,将调度目标返回给用户。
优选地,根据目标域名在相应归属地、运营商的至少一个调度目标,结合用户ID将符合所述HTTPDNS调度策略的调度目标返回给用户,具体包括:
对所述用户ID采用预设算法进行计算,根据目标域名在相应归属地、运营商的至少一个调度目标,从所述至少一个调度目标中选择与计算结果相匹配的调度目标返回给用户,也就是根据所述用户ID的唯一性,通过对用户ID采用预设方法进行计算,每次为该用户返回同一调度目标;或者,根据目标域名在相应归属地、运营商的至少一个调度目标,从所述至少一个调度目标中选择所述用户ID曾经调度过的调度目标返回给用户。
优选地,DNS调度策略包括运营商、归属地和域名三元组与至少一个调度目标之间的对应关系;其中,所述调度目标包括目标CDN节点IP和/或目标厂商CNAME;
步骤102中,如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中,具体包括:
在采用DNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的DNS调度策略进行目标调度;
当修改后目标域名在相应归属地、运营商仅有一个调度目标可供选择时,则直接转化形成新增HTTPDNS调度策略;
当修改后目标域名在相应归属地、运营商具有两个或以上调度目标时,为每个调度目标配置相同的调度比例,转化形成新增HTTPDNS调度策略;
将新增HTTPDNS调度策略自动推送到HTTPDNS调度策略,得到融合后的HTTPDNS调度策略。
优选地,HTTPDNS调度策略包括运营商、归属地和域名三元组与至少一个调度目标之间的对应关系,每个调度目标具有设定的调度比例;其中,所述调度目标包括目标CDN节点IP和/或目标厂商CNAME;
步骤102中,如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中,具体包括:
当采用HTTPDNS调度策略在向用户返回调度目标的过程中,用于调度的目标节点或者目标厂商不能被用户调度时,修改相应归属地、运营商、域名的HTTPDNS调度策略;
在采用HTTPDNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的HTTPDNS调度策略进行目标调度;
若修改后目标域名在相应归属地、运营商的各调度目标具有相同的调度比例,则直接转化形成新增DNS调度策略;将新增DNS调度策略自动推送到DNS调度策略,得到融合后的DNS调度策略;
若修改后目标域名在相应归属地、运营商的各调度目标具有不同的调度比例,放弃转化形成新增DNS调度策略。
如图2所示,结合本发明的实施例,提供一种对CDN和融合CDN的流量调度系统,包括:
调度目标匹配单元21,用于在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标并返回给所述用户;所述调度目标用于向访问用户提供网络资源;其中,所述DNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度;所述HTTPDNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度、以及设定各调度目标的调度比例;
调度策略修改单元22,在为用户匹配相应的调度目标过程中,当CDN或融合CDN中的调度目标不能被用户调度时,如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中;如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中。
优选地,用户访问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进行目标调度;
调度目标匹配单元21,包括:
能力确定子单元211,用于确定用户访问CDN或融合CDN时所具备的调度能力,并基于所具备的调度能力进行相应的目标调度;
HTTPDNS 212,用于接收使用HTTPDNS进行目标调度时的访问请求,所述访问请求中携带用户IP、用户ID和目标域名;收到访问请求后,根据用户IP查询IP库,得到所述用户的归属地、运营商;根据归属地、运营商和目标域名查询HTTPDNS调度策略,得到目标域名在相应归属地、运营商的至少一个调度目标;根据目标域名在相应归属地、运营商的至少一个调度目标,结合用户ID将符合所述HTTPDNS调度策略的调度目标返回给用户;
Local DNS 213,用于接收使用Local DNS进行目标调度时的访问请求,所述访问请求中携带用户IP、目标域名;收到访问请求后,根据访问请求所携带的目标域名查询本地缓存;如果在本地缓存命中所述目标域名,则直接将所述目标域名对应的调度目标返回给用户;
如果在本地缓存无法命中所述目标域名,携带所述目标域名访问权威DNS以获取调度目标;以及接收权威DNS返回的调度目标,将调度目标返回给用户;
权威DNS 214,用于接收Local DNS携带的目标域名,根据用户IP查询IP库,得到所述用户的归属地、运营商,根据归属地、运营商和目标域名查询DNS调度策略,得到所述目标域名在相应归属地、运营商的至少一个调度目标;权威DNS根据目标域名在相应归属地、运营商的至少一个调度目标将符合所述DNS调度策略的调度目标返回给Local DNS。
优选地,HTTPDNS 212,具体用于:
对所述用户ID采用预设算法进行计算,根据目标域名在相应归属地、运营商的至少一个调度目标,从所述至少一个调度目标中选择与计算结果相匹配的调度目标返回给用户;或者,根据目标域名在相应归属地、运营商的至少一个调度目标,从所述至少一个调度目标中选择所述用户ID曾经调度过的调度目标返回给用户。
优选地,所述DNS调度策略包括运营商、归属地和域名三元组与至少一个调度目标之间的对应关系;其中,所述调度目标包括目标CDN节点IP和/或目标厂商CNAME;
调度策略修改单元22包括DNS调度策略修改子单元221,DNS调度策略修改子单元221用于:
在采用DNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的DNS调度策略进行目标调度;
当修改后目标域名在相应归属地、运营商仅有一个调度目标可供选择时,则直接转化形成新增HTTPDNS调度策略;
当修改后目标域名在相应归属地、运营商具有两个或以上调度目标时,为每个调度目标配置相同的调度比例,转化形成新增HTTPDNS调度策略;
将新增HTTPDNS调度策略自动推送到HTTPDNS调度策略,得到融合后的HTTPDNS调度策略。
优选地,HTTPDNS调度策略包括运营商、归属地和域名三元组与至少一个调度目标之间的对应关系,每个调度目标具有设定的调度比例;其中,所述调度目标包括目标CDN节点IP和/或目标厂商CNAME;
调度策略修改单元22包括HTTPDNS调度策略修改子单元222,HTTPDNS调度策略修改子单元222用于:
在采用HTTPDNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的HTTPDNS调度策略进行目标调度;
若修改后目标域名在相应归属地、运营商的各调度目标具有相同的调度比例,则直接转化形成新增DNS调度策略;将新增DNS调度策略自动推送到DNS调度策略,得到融合后的DNS调度策略;
若修改后目标域名在相应归属地、运营商的各调度目标具有不同的调度比例,放弃转化形成新增DNS调度策略。
下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
本发明为一种基于HTTPDNS和DNS对CDN和融合CDN流量进行超精细化调度的方法及装置,用于CDN流量调度、融合CDN流量调度。
本发明的技术方案虽然基于HTTPDNS,但具体的调度策略从每个用户的角度出发,根据用户的ID进行哈希,保留超精细化的调度能力的同时,解决了用户被频繁调度到不同节点的问题。本发明还提出了将DNS调度策略和HTTPDNS调度策略进行转换和融合的技术方案,用于解决HTTPDNS和传统DNS割裂导致的次生故障问题。具体能够解决如下技术问题:
DNS权重轮询的方法并不适应现实网络,在现实中,用户并不直接访问权威DNS服务器,而是访问运营商的Local DNS,Local DNS通过查找缓存给用户提供结果,如果缓存查找失败,才访问权威DNS。在现实世界中,运营商Local DNS经常会出现分布不均,缓存时间异常等问题,这会造成实际调度结果与预设的权重策略严重偏离;实践证明这种方式还会造成相当比例的流量在不同的CDN节点或厂商间来回切换,造成这部分带宽重复计费。
Local DNS画像方案存在两个较大的问题,一是部分地区Local DNS过于集中,无法达到精细化的流量控制。例如某地区只有两个Local DNS,分别占据50%的用户,则该地区只能以50%的颗粒度来进行调度。二是Local DNS的变动由运营商控制,CDN厂商无法及时更新数据,可能造成流量失控。而本申请提供的技术方案,调度颗粒度可以做到千分之一甚至更小,也不会因运营商变更Local DNS而失效。
HTTPDNS按权重轮询的方案也存在一些技术问题,主要是HTTPDNS服务器在这种机制下只关心请求次数而不关心用户本身,造成每个节点承载的流量虽然得到精准控制,但是同一个用户会被频繁调度到不同的节点;这进一步造成了HTTPS会话缓存失效、用户访问延迟增大等问题。
另外,普通的HTTPDNS服务完全独立于传统DNS服务,造成HTTPDNS用户和DNS用户的调度策略完全不同,进而导致HTTPDNS异常降级到DNS时,用户流量调度出现剧烈变化,进一步导致次生故障发生。
本申请的技术方案主要分为两个重点:
一、在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标并返回给所述用户。
将DNS策略和HTTPDNS策略进行实时融合,以保证大多数情况下,DNS方式和HTTPDNS方式使用的解析策略是一致的,通过解析策略达到调度的目的。
具体来讲,在为用户匹配相应的调度目标过程中,当用于调度的目标节点或者目标厂商不能被用户调度时,调度系统则负责修改调度目标节点或者目标厂商所在的调度策略,比如修改DNS调度策略或修改HTTPDNS调度策略,当DNS调度策略发生变化时,自动将该策略进行策略转化并融合到HTTPDNS策略中;当HTTPDNS调度策略发生变化时,自动将变化的策略进行策略转化(有些策略可能无法转化),并融合到DNS策略中。
针对DNS调度策略,用于对CDN和/或融合CDN(具体为某运营商某地区某域名)的DNS用户进行目标节点IP或目标厂商CNAME的调度。其中,节点指自建CDN的节点服务器或者集群,目标节点IP是指自建CDN的节点服务器或者集群的IP,目标厂商是指提供融合CDN的厂商(比如阿里云),CNAME是指目标厂商的名称(比如阿里云),具体形式如表1所示。
表1
表1的第一条策略将电信-北京www.a.com域名的DNS用户调度至CDN节点1.1.1.1;
表1的第二条策略将联通-北京www.a.com域名的DNS用户调度至www.a-cname.com,www.a-cname.com可能代表融合CDN厂商中的任何一家;
表1的第三条策略将移动-北京www.a.com域名的DNS用户同时调度至CDN节点1.1.1.1和CDN节点1.1.1.2,根据DNS协议的规定,Local DNS将随机打乱这两个IP的出现顺序,最终可形成这两个IP的使用率近似相等的效果,即每个IP被使用的概率大概为50%。
针对HTTPDNS调度策略,用于对CDN和/或融合CDN(具体为某运营商某地区某域名)的HTTPDNS用户进行多个目标IP或CNAME的精细化调度,具体形式举例如表2所示。
表2
表2的第一条策略将电信-北京www.b.com的HTTPDNS用户中,1%调度至CDN节点1.1.1.1,2%调度至CDN节点1.1.1.2%,97%调度至CDN节点1.1.1.3;
表2的第二条策略将联通-北京www.b.com的HTTPDNS用户中,0.1%调度至www.b-cname1.com即某融合CDN厂商,将剩下99.9%调度至www.b-cname2.com即另一家融合CDN厂商;
表2的第三条策略将移动-北京www.b.com的HTTPDNS用户中,1%调度到CDN节点1.1.1.1,将剩余的99%用户调度至www.b-cname1.com即某融合CDN厂商。
如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中,具体包括:
在采用DNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的DNS调度策略进行目标调度;
当修改后目标域名在相应归属地、运营商仅有一个调度目标可供选择时,则直接转化形成新增HTTPDNS调度策略;
当修改后目标域名在相应归属地、运营商具有两个或以上调度目标时,为每个调度目标配置相同的调度比例,转化形成新增HTTPDNS调度策略;
将新增HTTPDNS调度策略自动推送到HTTPDNS调度策略,得到融合后的HTTPDNS调度策略。
通过HTTPDNS调度在相应归属地、运营商、域名的用户,在通过DNS调度时具有与通过HTTPDNS调度一致的调度策略。结合表1和表2的数据,修改DNS策略并转换融合到HTTPDNS策略的流程为:
1、运维人员或自动化系统通过调度系统修改DNS调度策略,例如将电信-北京www.a.com的调度目标修改为1.1.1.1,1.1.1.2。
2、确定1.1.1.1,1.1.1.2各自的比例,融合系统将上述策略转化为电信-北京www.a.com调度至1.1.1.1 50%,1.1.1.2 50%(保持调度目标的归属地、运营商、域名不变更,添加调度比例),并自动推送到HTTPDNS。
3、经过上述步骤,使用DNS的用户和使用HTTPDNS的用户都有50%的概率被调度到1.1.1.1和1.1.1.2其中一个IP,达到策略上的一致,完成对DNS调度策略的修改并融合到HTTPDNS调度策略中。
如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中,具体包括:
在采用HTTPDNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的HTTPDNS调度策略进行目标调度;
若修改后目标域名在相应归属地、运营商的各调度目标具有相同的调度比例,则直接转化形成新增DNS调度策略;将新增DNS调度策略自动推送到DNS调度策略,得到融合后的DNS调度策略;
若修改后目标域名在相应归属地、运营商的各调度目标具有不同的调度比例,放弃转化形成新增DNS调度策略。
在该归属地、该运营商、该域名的用户,通过DNS调度和HTTPDNS调度具有不同的调度策略。
结合表1和表2的数据,修改HTTPDNS调度策略并融合到DNS策略的流程为:
1、运维人员或自动化系统通过调度系统修改HTTPDNS调度策略,例如将联通-北京www.b.com的调度目标修改为在DNS调度策略内的1.1.1.1 10%,1.1.1.2 90%;也将移动-北京www.b.com的调度目标修改为在DNS调度策略内1.1.1.3 50%,1.1.1.4 50%。
2、融合系统判定上述联通-北京www.b.com的HTTPDNS调度策略中各IP的调度比例(1.1.1.1的调度比例为10%,1.1.1.2的调度比例为90%)不同,所以无法转化为传统的DNS调度策略,放弃推送到DNS。
上述移动-北京www.b.com的调度策略中各IP的调度比例(1.1.1.3的调度比例为50%,1.1.1.4的调度比例为50%)相同,可以转化为传统DNS调度策略,所以将该条策略转化为DNS调度策略的:移动-北京www.b.com的调度目标修改为1.1.1.3,1.1.1.4(保持调度目标的归属地、运营商、域名不变更,删除调度比例);并自动推送至DNS。
3、经过上述步骤,联通-北京www.b.com的用户中,使用DNS和HTTPDNS将使用不同的调度策略;移动-北京www.b.com的用户,使用DNS和HTTPDNS将使用一致的调度策略。
上述修改和融合的处理流程图如图3所示。上述DNS和HTTPDNS及其所依赖的调度策略和调度系统的结构如图4所示,其中HTTPDNS调度策略可能无法转换为DNS调度策略,图中使用虚线表示。
二、客户端请求的流程如图5所示,用户访问CDN或融合CDN时所具备的调度能力包括DNS调度能力或HTTPDNS调度能力。
1、如果用户访问CDN或融合CDN时具备DNS调度能力;所述DNS调度能力优先使用Local DNS进行调度,当Local DNS内无调度目标返回给用户时,则使用权威DNS进行调度。也就是:用户所使用的设备或终端可能不具备使用HTTPDNS进行访问的能力,如果是这种情况,则用户使用传统的Local DNS。
2、如果用户访问CDN或融合CDN时具备HTTPDNS调度能力,则同时具备DNS调度能力;所述HTTPDNS调度能力优先使用HTTPDNS进行调度。也就是:如果用户使用的设备或终端可以支持HTTPDNS,则软件可选择优先使用HTTPDNS,也可选择优先使用LocalDNS。
3、经过上述选择确定用户访问CDN或融合CDN时所具备的调度能力,若使用HTTPDNS访问,则携带用户IP、用户ID、目标域名,访问HTTPDNS服务器。
4、HTTPDNS服务器根据HTTPDNS调度规则(调度策略),访问请求中携带用户IP、用户ID和目标域名;HTTPDNS收到访问请求后,根据用户IP查询IP库,得到所述用户的归属地、运营商;根据归属地、运营商和目标域名查询HTTPDNS调度策略,得到目标域名在相应归属地、运营商的至少一个调度目标;根据目标域名在相应归属地、运营商的至少一个调度目标,结合用户ID将符合所述HTTPDNS调度策略的调度目标返回给用户;具体为:
根据用户IP(来自网络连接的对端属性),查询IP库,得到用户的归属(所属运营商及地理位置);然后根据归属信息和域名信息(域名信息也来自对端属性),查询上述HTTPDNS调度策略,得到该域名在该归属地的调度策略;最终根据上述策略,通过对用户ID(用户ID需要保证全网唯一性)进行哈希计算等方式,得到策略中的目标节点IP;将上述目标节点IP返回给用户。其中,通过对用户ID(用户ID需要保证全网唯一性)进行哈希计算等方式得到策略中的目标节点IP,解决了同一用户被频繁调度到不同节点的问题。5、终端和软件使用上述调度目标进行节点访问来获取网络资源。其中,调度目标包括目标节点IP或者目标厂商CNAME;
6、如果经过步骤1、2的选择,或者步骤4执行失败,则终端和软件访问Local DNS(即向Local DNS服务器发出访问请求),携带用户IP、目标域名。
7、LocalDNS收到请求,首先根据目标域名查询Local DNS本地缓存,如果缓存命中,则直接返回调度目标;
8、如果Local DNS本地缓存无法命中,则Local DNS携带该目标域名,访问权威DNS以获取调度目标。
9、权威DNS根据DNS调度规则,返回调度目标到LocalDNS;具体为根据用户IP(来自网络连接的对端属性),查询IP库,得到用户的归属地、运营商,然后根据归属地、运营商和目标域名,查询DNS调度策略;根据目标域名在相应归属地、运行商的DNS调度策略将策略中符合的目标IP返回。
10、LocalDNS收到权威DNS返回的调度目标,将调度目标再返回给用户。
11、用户的终端和软件使用上述调度目标进行节点访问来获取网络资源。
通过HTTPDNS能够调度CDN也能调度融合CDN;通过LocalDNS与权威DNS共同形成DNS,DNS能够调度CDN也能调度融合CDN。
综上,基于HTTPDNS进行超精细化调度的方案,可达到千分之一甚至更小的调度粒度;进一步地,提出在HTTPDNS上,基于用户ID进行哈希选择调度节点的技术方案,能够保证具有流量超精细化调度能力的同时,使相同的用户在不同的时间使用相同的访问节点或融合CDN厂商,进而提升用户体验。
将DNS调度策略和HTTPDNS调度策略进行相互转换融合的方案,能够保证使用DNS的客户和使用HTTPDNS的客户,其调度策略是一致的;进一步保证了HTTPDNS故障时,全体用户的调度策略不会产生过大的变化,避免次生故障。
本发明实施例所取得的有益效果如下:
1、由于本发明所采用的方案中超精细化调度的实现依赖HTTPDNS,所以在客户端支持HTTPDNS的情况下,并不依赖Local DNS,因此避免了LocalDNS调度颗粒过大的问题;也无需维护Local DNS画像,进一步避免了Local DNS变更但是画像无法及时变更造成的流量失控等问题。
2、由于本发明所采用的方案使用了对用户ID进行hash的方案,因此具备超精细化调度能力的同时,保证了用户的调度节点是非常稳定的,相比现有的HTTPDNS调度方式,提升了用户体验,例如用户的TLS会话复用率可有显著提升,对用户而言访问延迟就得以降低。对应的,单纯使用IP进行调度的缺点是:1)如果使用轮询方法,则无法保证用户在不同的时刻使用相同的节点;2)如果使用对IP进行hash的方法,虽然能保证用户不切换网络的情况下,会使用相同的节点,但无法实现超精细化调度,因为单个特殊的IP可能产生超大的带宽,从而导致调度无法按预设的比例生效。
3、由于本发明所采用的方案将传统DNS调度策略和HTTPDNS调度策略进行了实时的转换和融合,所以保证了同一地域和域名使用DNS的客户和使用HTTPDNS的客户,调度策略基本是一致的(除部分使用超精细化调度的地域或域名外)。这大大保证了全网整体流量调度的稳定性,例如HTTPDNS发生故障时,用户只能全部使用Local DNS,总体各节点和各CDN厂商承载的带宽不会发生剧烈的变化,避免导致次生故障。具体举例:假设DNS和HTTPDNS的策略不相关,则可能出现电信-北京www.a.com的DNS用户总带宽为1G,被调度到1.1.1.1节点,电信-北京www.a.com的HTTPDNS用户总带宽为10G,被调度到1.1.1.2和1.1.1.3节点,即调度策略为1.1.1.2 50%,1.1.1.3 50%;则平时1.1.1.1、1.1.1.2、1.1.1.3各自承载1G、5G、5G;假设HTTPDNS服务突然故障,则用户将全部使用DNS,1.1.1.1将直接承载11G,可能大大超出其承受能力,造成次生故障。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种对CDN和融合CDN的流量调度方法,其特征在于,包括:
在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标并返回给所述用户;所述调度目标用于向访问用户提供网络资源;其中,所述DNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度;所述HTTPDNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度、以及设定各调度目标的调度比例;
在为用户匹配相应的调度目标过程中,当CDN或融合CDN中的调度目标不能被用户调度时,如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中;如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中;
所述用户访问CDN或融合CDN时所具备的调度能力包括DNS调度能力或HTTPDNS调度能力,其中:
如果用户访问CDN或融合CDN时具备DNS调度能力,所述DNS调度能力优先使用LocalDNS进行目标调度,当LocalDNS内无调度目标返回给用户时,使用权威DNS进行目标调度;
如果用户访问CDN或融合CDN时具备HTTPDNS调度能力,则同时具备DNS调度能力,所述HTTPDNS调度能力优先使用HTTPDNS进行目标调度,当HTTPDNS内无调度目标返回给用户时,使用LocalDNS进行目标调度,当LocalDNS内无调度目标返回给用户时,使用权威DNS进行目标调度;
所述根据用户所要访问的网络资源、用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标,具体包括:
确定用户访问CDN或融合CDN时所具备的调度能力,并基于所具备的调度能力进行相应的目标调度;
当使用HTTPDNS进行目标调度时,访问请求中携带用户IP、用户ID和目标域名;HTTPDNS收到访问请求后,根据用户IP查询IP库,得到所述用户的归属地、运营商;根据归属地、运营商和目标域名查询HTTPDNS调度策略,得到目标域名在相应归属地、运营商的至少一个调度目标;根据目标域名在相应归属地、运营商的至少一个调度目标,结合用户ID将符合所述HTTPDNS调度策略的调度目标返回给用户;
当使用Local DNS进行目标调度时,访问请求中携带用户IP、目标域名;在LocalDNS收到访问请求后,根据访问请求所携带的目标域名查询Local DNS本地缓存;如果在LocalDNS本地缓存命中所述目标域名,则直接将所述目标域名对应的调度目标返回给用户;如果在Local DNS本地缓存无法命中所述目标域名,Local DNS携带所述目标域名访问权威DNS以获取调度目标;权威DNS根据用户IP查询IP库,得到所述用户的归属地、运营商,根据归属地、运营商和目标域名查询DNS调度策略,得到所述目标域名在相应归属地、运营商的至少一个调度目标;权威DNS根据目标域名在相应归属地、运营商的至少一个调度目标将符合所述DNS调度策略的调度目标返回给LocalDNS;LocalDNS收到权威DNS返回的调度目标,将调度目标返回给用户。
2.根据权利要求1所述的对CDN和融合CDN的流量调度方法,其特征在于,所述根据目标域名在相应归属地、运营商的至少一个调度目标,结合用户ID将符合所述HTTPDNS调度策略的调度目标返回给用户,具体包括:
对所述用户ID采用预设算法进行计算,根据目标域名在相应归属地、运营商的至少一个调度目标,从所述至少一个调度目标中选择与计算结果相匹配的调度目标返回给用户;或者,根据目标域名在相应归属地、运营商的至少一个调度目标,从所述至少一个调度目标中选择所述用户ID曾经调度过的调度目标返回给用户。
3.根据权利要求1所述的对CDN和融合CDN的流量调度方法,其特征在于,所述DNS调度策略包括运营商、归属地和域名三元组与至少一个调度目标之间的对应关系;其中,所述调度目标包括目标CDN节点IP和/或目标厂商CNAME;
所述如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中,具体包括:
在采用DNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的DNS调度策略进行目标调度;
当修改后目标域名在相应归属地、运营商仅有一个调度目标可供选择时,则直接转化形成新增HTTPDNS调度策略;
当修改后目标域名在相应归属地、运营商具有两个或以上调度目标时,为每个调度目标配置相同的调度比例,转化形成新增HTTPDNS调度策略;
将新增HTTPDNS调度策略自动推送到HTTPDNS调度策略,得到融合后的HTTPDNS调度策略。
4.根据权利要求1所述的对CDN和融合CDN的流量调度方法,其特征在于,所述HTTPDNS调度策略包括运营商、归属地和域名三元组与至少一个调度目标之间的对应关系,每个调度目标具有设定的调度比例;其中,所述调度目标包括目标CDN节点IP和/或目标厂商CNAME;
所述如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中,具体包括:
在采用HTTPDNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的HTTPDNS调度策略进行目标调度;
若修改后目标域名在相应归属地、运营商的各调度目标具有相同的调度比例,则直接转化形成新增DNS调度策略;将新增DNS调度策略自动推送到DNS调度策略,得到融合后的DNS调度策略;
若修改后目标域名在相应归属地、运营商的各调度目标具有不同的调度比例,放弃转化形成新增DNS调度策略。
5.一种对CDN和融合CDN的流量调度系统,其特征在于,包括:
调度目标匹配单元,用于在用户请求访问时,根据所述用户所要访问的网络资源、所述用户访问CDN或融合CDN时所具备的调度能力,结合DNS调度策略或HTTPDNS调度策略,为所述用户匹配相应的调度目标并返回给所述用户;所述调度目标用于向访问用户提供网络资源;其中,所述DNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度;所述HTTPDNS调度策略用于对CDN和/或融合CDN访问用户进行目标调度、以及设定各调度目标的调度比例;
调度策略修改单元,在为用户匹配相应的调度目标过程中,当CDN或融合CDN中的调度目标不能被用户调度时,如果采用DNS调度策略,则修改相应的DNS调度策略以进行目标调度,并将修改后的DNS调度策略转化融合到HTTPDNS调度策略中;如果采用HTTPDNS调度策略,则修改相应的HTTPDNS调度策略以进行目标调度,并将修改后的HTTPDNS调度策略转化融合到DNS调度策略中;
所述用户访问CDN或融合CDN时所具备的调度能力包括DNS调度能力或HTTPDNS调度能力,其中:
如果用户访问CDN或融合CDN时具备DNS调度能力,所述DNS调度能力优先使用LocalDNS进行目标调度,当LocalDNS内无调度目标返回给用户时,使用权威DNS进行目标调度;
如果用户访问CDN或融合CDN时具备HTTPDNS调度能力,则同时具备DNS调度能力,所述HTTPDNS调度能力优先使用HTTPDNS进行目标调度,当HTTPDNS内无调度目标返回给用户时,使用LocalDNS进行目标调度,当LocalDNS内无调度目标返回给用户时,使用权威DNS进行目标调度;
所述调度目标匹配单元,包括:
能力确定子单元,用于确定用户访问CDN或融合CDN时所具备的调度能力,并基于所具备的调度能力进行相应的目标调度;
HTTPDNS,用于接收使用HTTPDNS进行目标调度时的访问请求,所述访问请求中携带用户IP、用户ID和目标域名;收到访问请求后,根据用户IP查询IP库,得到所述用户的归属地、运营商;根据归属地、运营商和目标域名查询HTTPDNS调度策略,得到目标域名在相应归属地、运营商的至少一个调度目标;根据目标域名在相应归属地、运营商的至少一个调度目标,结合用户ID将符合所述HTTPDNS调度策略的调度目标返回给用户;
Local DNS,用于接收使用Local DNS进行目标调度时的访问请求,所述访问请求中携带用户IP、目标域名;收到访问请求后,根据访问请求所携带的目标域名查询本地缓存;如果在本地缓存命中所述目标域名,则直接将所述目标域名对应的调度目标返回给用户;
如果在本地缓存无法命中所述目标域名,携带所述目标域名访问权威DNS以获取调度目标;以及接收权威DNS返回的调度目标,将调度目标返回给用户;
权威DNS,用于接收Local DNS携带的目标域名,根据用户IP查询IP库,得到所述用户的归属地、运营商,根据归属地、运营商和目标域名查询DNS调度策略,得到所述目标域名在相应归属地、运营商的至少一个调度目标;权威DNS根据目标域名在相应归属地、运营商的至少一个调度目标将符合所述DNS调度策略的调度目标返回给Local DNS。
6.根据权利要求5所述的对CDN和融合CDN的流量调度系统,其特征在于,所述HTTPDNS,具体用于:
对所述用户ID采用预设算法进行计算,根据目标域名在相应归属地、运营商的至少一个调度目标,从所述至少一个调度目标中选择与计算结果相匹配的调度目标返回给用户;或者,根据目标域名在相应归属地、运营商的至少一个调度目标,从所述至少一个调度目标中选择所述用户ID曾经调度过的调度目标返回给用户。
7.根据权利要求5所述的对CDN和融合CDN的流量调度系统,其特征在于,所述DNS调度策略包括运营商、归属地和域名三元组与至少一个调度目标之间的对应关系;其中,所述调度目标包括目标CDN节点IP和/或目标厂商CNAME;
所述调度策略修改单元包括DNS调度策略修改子单元,所述DNS调度策略修改子单元用于:
在采用DNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的DNS调度策略进行目标调度;
当修改后目标域名在相应归属地、运营商仅有一个调度目标可供选择时,则直接转化形成新增HTTPDNS调度策略;
当修改后目标域名在相应归属地、运营商具有两个或以上调度目标时,为每个调度目标配置相同的调度比例,转化形成新增HTTPDNS调度策略;
将新增HTTPDNS调度策略自动推送到HTTPDNS调度策略,得到融合后的HTTPDNS调度策略。
8.根据权利要求5所述的对CDN和融合CDN的流量调度系统,其特征在于,所述HTTPDNS调度策略包括运营商、归属地和域名三元组与至少一个调度目标之间的对应关系,每个调度目标具有设定的调度比例;其中,所述调度目标包括目标CDN节点IP和/或目标厂商CNAME;
所述调度策略修改单元包括HTTPDNS调度策略修改子单元,所述HTTPDNS调度策略修改子单元用于:
在采用HTTPDNS调度策略为用户匹配相应的调度目标的过程中,如果调度目标不能被用户调度时,修改目标域名在相应归属地、运营商的调度目标,采用修改后的HTTPDNS调度策略进行目标调度;
若修改后目标域名在相应归属地、运营商的各调度目标具有相同的调度比例,则直接转化形成新增DNS调度策略;将新增DNS调度策略自动推送到DNS调度策略,得到融合后的DNS调度策略;
若修改后目标域名在相应归属地、运营商的各调度目标具有不同的调度比例,放弃转化形成新增DNS调度策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210658130.9A CN115225622B (zh) | 2022-06-10 | 2022-06-10 | 一种对cdn和融合cdn的流量调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210658130.9A CN115225622B (zh) | 2022-06-10 | 2022-06-10 | 一种对cdn和融合cdn的流量调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115225622A CN115225622A (zh) | 2022-10-21 |
CN115225622B true CN115225622B (zh) | 2024-06-07 |
Family
ID=83607719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210658130.9A Active CN115225622B (zh) | 2022-06-10 | 2022-06-10 | 一种对cdn和融合cdn的流量调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115225622B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825837A (zh) * | 2014-02-19 | 2014-05-28 | 上海视云网络科技有限公司 | 一种节点负载的分布式cdn全局调度的方法 |
CN109067670A (zh) * | 2018-09-28 | 2018-12-21 | 杭州领智云画科技有限公司 | 一种cdn调度方法及cdn调度设备 |
CN110535930A (zh) * | 2019-08-22 | 2019-12-03 | 网宿科技股份有限公司 | 一种边缘cdn节点的调度方法和系统 |
CN111193672A (zh) * | 2019-12-06 | 2020-05-22 | 新浪网技术(中国)有限公司 | 一种流量精细化调度的方法及系统 |
CN111586134A (zh) * | 2020-04-29 | 2020-08-25 | 新浪网技术(中国)有限公司 | 一种cdn节点过载的调度方法及系统 |
CN112866424A (zh) * | 2019-11-28 | 2021-05-28 | 华为技术有限公司 | 域名查询方法以及相关设备 |
CN113382028A (zh) * | 2020-03-10 | 2021-09-10 | 中国电信股份有限公司 | 内容分发网络实现方法和系统、边缘用户面功能实体 |
CN114448960A (zh) * | 2021-12-27 | 2022-05-06 | 天翼云科技有限公司 | 一种调度系统、方法、装置、设备及介质 |
-
2022
- 2022-06-10 CN CN202210658130.9A patent/CN115225622B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825837A (zh) * | 2014-02-19 | 2014-05-28 | 上海视云网络科技有限公司 | 一种节点负载的分布式cdn全局调度的方法 |
CN109067670A (zh) * | 2018-09-28 | 2018-12-21 | 杭州领智云画科技有限公司 | 一种cdn调度方法及cdn调度设备 |
CN110535930A (zh) * | 2019-08-22 | 2019-12-03 | 网宿科技股份有限公司 | 一种边缘cdn节点的调度方法和系统 |
CN112866424A (zh) * | 2019-11-28 | 2021-05-28 | 华为技术有限公司 | 域名查询方法以及相关设备 |
CN111193672A (zh) * | 2019-12-06 | 2020-05-22 | 新浪网技术(中国)有限公司 | 一种流量精细化调度的方法及系统 |
CN113382028A (zh) * | 2020-03-10 | 2021-09-10 | 中国电信股份有限公司 | 内容分发网络实现方法和系统、边缘用户面功能实体 |
CN111586134A (zh) * | 2020-04-29 | 2020-08-25 | 新浪网技术(中国)有限公司 | 一种cdn节点过载的调度方法及系统 |
CN114448960A (zh) * | 2021-12-27 | 2022-05-06 | 天翼云科技有限公司 | 一种调度系统、方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115225622A (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032387B2 (en) | Handling of content in a content delivery network | |
US7949757B2 (en) | Host-level policies for global server load balancing | |
JP4160506B2 (ja) | 構成可能な適応型広域トラフィック制御および管理 | |
US7047301B2 (en) | Method and system for enabling persistent access to virtual servers by an LDNS server | |
US9444759B2 (en) | Service provider registration by a content broker | |
US6954456B2 (en) | Method for content-aware redirection and content renaming | |
US10033548B2 (en) | Method, system, service selection entity, and service management entity for selecting service provision entity | |
US7941478B2 (en) | Method and apparatus for distributed application execution | |
US8583776B2 (en) | Managing content delivery network service providers | |
US7860964B2 (en) | Policy-based content delivery network selection | |
CN103493455B (zh) | 使用经修改的主机名的全球流量管理 | |
JP2005537687A5 (zh) | ||
CN101540775A (zh) | 内容分发方法、装置与内容分发网络系统 | |
CN110830565B (zh) | 资源下载方法、装置、系统、电子设备及存储介质 | |
JP2008522464A (ja) | 端末要求をエージェントがリダイレクトする方法及びシステム | |
CN115225622B (zh) | 一种对cdn和融合cdn的流量调度方法及系统 | |
CN102017568B (zh) | 用于递送自主播放的内容的系统 | |
Liu et al. | Measuring and evaluating live content consistency in a large-scale CDN | |
US11095605B1 (en) | Request routing utilizing encoded DNS-based messaging parameters | |
US20210168074A1 (en) | Methods and systems for identifying optimal network paths within an association | |
CN111181868A (zh) | 基于域名热度的缓存ttl动态变更方法和系统 | |
KR20050086029A (ko) | 컨텐츠 전송 네트워크 시스템 | |
Baggio et al. | Distributed redirection for the world-wide web | |
US20210168126A1 (en) | Methods and systems for automatically and securely joining an association |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230406 Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Applicant after: Sina Technology (China) Co.,Ltd. Address before: 100193 7th floor, scientific research building, Sina headquarters, plot n-1, n-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Applicant before: Sina.com Technology (China) Co.,Ltd. |
|
GR01 | Patent grant |