一种流量精细化调度的方法及系统,包括:HTTPDNS服务器获取用户IP及请求域名,在HTTPDNS服务器的缓存中查找是否具有用户IP及请求域名的调度节点;如果不存在调度节点,则HTTPDNS服务器将用户IP及请求域名发给权威DNS服务器,权威DNS服务器根据预先建立的槽位结构信息和槽位调度表为用户IP及请求域名分配调度节点,并将分配的调度节点返回HTTPDNS服务器;HTTPDNS服务器接收并缓存返回的调度节点后,将返回的调度节点分配给用户IP以完成相应请求;由于本申请所采用的方案使用了HTTPDNS,所以不依赖运营商的Local DNS,因此避免了Local DNS调度颗粒过大的问题,可以做到更加精细化的调度。
A method and system of fine traffic scheduling
【技术实现步骤摘要】
一种流量精细化调度的方法及系统
本专利技术涉及流量调度
,尤其涉及一种流量精细化调度的方法及系统。
技术介绍
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,LocalDNS通过查找缓存给用户提供结果,如果缓存查找失败,才会访问权威DNS。在现实世界中,运营商LocalDNS经常会出现分布不均,缓存时间异常等问题,这会造成实际调度结果与预设的权重策略严重偏离;并且LocalDNS缓存过期后,会向权威DNS发起解析请求,权威DNS根据自身的权重轮询策略来会返回不同的解析地址,因此每次LocalDNS访问权威DNS,均可能得到不同的结果,因此每次缓存失效时该LocalDNS负责的用户可能就会被切换到一个新的地址,这会造成流量大比例波动;从现实结果看,可能有相当比例的流量在不同的CDN节点来回跳跃,造成这部分带宽重复计费。LocalDNS画像:DNS权重轮询方案寄希望于LocalDNS分布均匀,但这不符合现实情况。面对复杂多样的LocalDNS,业界又提出LocalDNS画像的方案:对每个LocalDNS进行精确画像,用于估算该LocalDNS负责的用户流量占比,然后通过对每个LocalDNS进行单独调度达到对特定比例的用户流量进行调度的目的。例如某区域有5个LocalDNS,经过数据分析等技术对LocalDNS进行画像,发现它们负责的用户占比为10%,10%,10%,30%,40%,则可将前3个LocalDNS上某域名调度到某节点,达到某节点承载某域名30%流量的目的。HTTPDNS(HTTP超文件传输协定,使用HTTP协议进行域名解析)按权重轮询:HTTPDNS不同于传统DNS,支持HTTPDNS的用户可直接访问CDN厂商的HTTPDNS服务,无需通过LocalDNS,因此不存在上述LocalDNS带来的各类问题。用户访问HTTPDNS,而HTTPDNS服务器根据用户请求次数来控制每个目标节点承载的流量,可以做到较为精准的流量控制。例如预设A、B两节点分别承载40%,60%的流量,则只需要保证每100次请求中返回40次A,60次B,即可达到目的。综上所述:在现有技术中存在以下问题:LocalDNS画像方案存在两个较大的问题,一是部分地区LocalDNS过于集中,无法达到精细化的流量控制。例如某地区只有两个LocalDNS,分别占据50%的用户,则该地区只能以50%的颗粒度来进行调度。二是LocalDNS的变动由运营商控制,CDN厂商无法及时更新数据,可能造成流量失控。HTTPDNS按权重轮询的方案也存在一些技术问题,主要是HTTPDNS服务器在这种机制下只关心请求次数而不关心用户本身,造成每个节点承载的流量虽然得到精准控制,但是同一个用户会被频繁调度到不同的节点;这进一步造成了HTTPS会话缓存失效等问题,可造成用户访问延迟增大等问题,
技术实现思路
为实现上述目的,本专利技术实施例提供一种流量精细化调度的方法及系统,以达到不依赖LocalDNS,并且通过提供虚拟槽位的概念,可以使用任意颗粒度来精准控制流量调度;同时本专利技术从用户出发,把用户划分到虚拟槽位中,只要槽位不变,用户就能够长期保持在一个节点上;以及本专利技术所采用的方案是在传统的权威DNS之前做了HTTPDNS的一层接入,而不是直接使用HTTPDNS替代权威DNS,所以即使在用户不支持HTTPDNS的情况下,也能在虚拟片区内填充IP段,从而实现这部分用户的精细化调度。一方面,本专利技术实施例提供一种流量精细化调度的方法,所述方法包括:HTTPDNS服务器获取用户IP及请求域名,在HTTPDNS服务器的缓存中查找是否具有所述用户IP及请求域名的调度节点;如果不存在调度节点,则HTTPDNS服务器将所述用户IP及请求域名发给权威DNS服务器,权威DNS服务器根据预先建立的槽位结构信息和槽位调度表为用户IP及请求域名分配调度节点,并将分配的调度节点返回HTTPDNS服务器,所述槽位结构信息为所述权威DNS服务器的服务区域被划分为多个虚拟片区的结构信息,所述槽位调度表用于记录每个虚拟片区内每个域名与其调度节点之间的对应关系;HTTPDNS服务器接收并缓存所述返回的调度节点后,将所述返回的调度节点分配给所述用户IP以完成相应请求。另一方面,本专利技术实施例还提供一种流量精细化调度的系统,包括HTTPDNS服务器和权威DNS服务器,其中:HTTPDNS服务器,用于获取用户IP及请求域名,在HTTPDNS服务器的缓存中查找是否具有所述用户IP及请求域名的调度节点;如果不存在调度节点,则HTTPDNS服务器将所述用户IP及请求域名发给权威DNS服务器;以及接收并缓存所述权威DNS服务器返回的调度节点后,将所述返回的调度节点分配给所述用户IP以完成相应请求;权威DNS服务器,用于根据预先建立的槽位结构信息和槽位调度表为用户IP及请求域名分配调度节点,并将分配的调度节点返回HTTPDNS服务器,所述槽位结构信息为所述权威DNS服务器的服务区域被划分为多个虚拟片区的结构信息,所述槽位调度表用于记录每个虚拟片区内每个域名与其调度节点之间的对应关系。上述技术方案具有如下有益效果:本专利技术与现有技术比较,由于本专利技术所采用的方案使用了HTTPDNS服务器,所以不依赖运营商的LocalDNS,因此避免了LocalDNS调度颗粒过大的问题,可以做到更加精细化的调度;由于本专利技术不依赖LocalDNS,因此无需维护LocalDNS画像,进一步避免了LocalDNS变更但是画像无法及时变更造成的流量失控等问题;由于本专利技术中使用了对用户IP进行哈希处理的方案,因此用户的调度节点是稳定的,提升了用户体验;由于本专利技术是在传统的权威DNS之前做了HTTPDNS的一层接入,而不是直接使用HTTPDNS替代权威DNS,所以即使在用户不支持HTTPDNS的情况下,也能在虚拟片区内填充IP段,从而实现这部分用户的精细化调度。...
【技术保护点】
1.一种流量精细化调度的方法,其特征在于,所述方法包括:/nHTTPDNS服务器获取用户IP及请求域名,在HTTPDNS服务器的缓存中查找是否具有所述用户IP及请求域名的调度节点;/n如果不存在调度节点,则HTTPDNS服务器将所述用户IP及请求域名发给权威DNS服务器,权威DNS服务器根据预先建立的槽位结构信息和槽位调度表为用户IP及请求域名分配调度节点,并将分配的调度节点返回HTTPDNS服务器,所述槽位结构信息为所述权威DNS服务器的服务区域被划分为多个虚拟片区的结构信息,所述槽位调度表用于记录每个虚拟片区内每个域名与其调度节点之间的对应关系;/nHTTPDNS服务器接收并缓存所述返回的调度节点后,将所述返回的调度节点分配给所述用户IP以完成相应请求。/n
【技术特征摘要】
1.一种流量精细化调度的方法,其特征在于,所述方法包括:
HTTPDNS服务器获取用户IP及请求域名,在HTTPDNS服务器的缓存中查找是否具有所述用户IP及请求域名的调度节点;
如果不存在调度节点,则HTTPDNS服务器将所述用户IP及请求域名发给权威DNS服务器,权威DNS服务器根据预先建立的槽位结构信息和槽位调度表为用户IP及请求域名分配调度节点,并将分配的调度节点返回HTTPDNS服务器,所述槽位结构信息为所述权威DNS服务器的服务区域被划分为多个虚拟片区的结构信息,所述槽位调度表用于记录每个虚拟片区内每个域名与其调度节点之间的对应关系;
HTTPDNS服务器接收并缓存所述返回的调度节点后,将所述返回的调度节点分配给所述用户IP以完成相应请求。
2.如权利要求1所述的流量精细化调度的方法,其特征在于,所述方法还包括:
如果在HTTPDNS服务器的缓存中存在所述用户IP及请求域名的调度节点,则HTTPDNS服务器将所述缓存的调度节点分配给所述用户IP以完成相应请求。
3.如权利要求1所述的流量精细化调度的方法,其特征在于,所述预先建立的槽位结构信息通过以下步骤建立:
将权威DNS服务器的服务区域划分为N个虚拟片区,每个虚拟片区代表N分之1的区域用户,每个虚拟片区内的每个域名对应一调度节点,将虚拟片区与对应服务区域所在的真实地区之间的归属关系设定为槽位结构信息。
4.如权利要求1所述的流量精细化调度的方法,其特征在于,所述预先建立的槽位调度表通过以下步骤建立:
权威DNS服务器将每个用户划分到一虚拟片区中,每个虚拟片区内的每个域名对应一调度节点,权威DNS服务器根据每个域名的请求用户数量确定每个虚拟片区内每个域名与其调度节点的对应关系,得到槽位调度表。
5.如权利要求1所述的流量精细化调度的方法,其特征在于,所述权威DNS服务器根据预先建立的槽位结构信息和槽位调度表为用户IP及请求域名分配调度节点,并将分配的调度节点返回HTTPDNS服务器,具体包括:
权威DNS服务器根据预先建立的槽位结构信息对用户IP进行哈希处理,将用户分配到一虚拟片区,权威DNS服务器根据预先建立的槽位调度表,确定用户所分配的虚拟片区内请求域名对应的调度节点,权威DNS服务...
【专利技术属性】
技术研发人员:徐永健,
申请(专利权)人:新浪网技术中国有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。