CN104954401B - 流量调度方法和装置 - Google Patents

流量调度方法和装置 Download PDF

Info

Publication number
CN104954401B
CN104954401B CN201410119821.7A CN201410119821A CN104954401B CN 104954401 B CN104954401 B CN 104954401B CN 201410119821 A CN201410119821 A CN 201410119821A CN 104954401 B CN104954401 B CN 104954401B
Authority
CN
China
Prior art keywords
domain name
local domain
name server
server
content server
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
Application number
CN201410119821.7A
Other languages
English (en)
Other versions
CN104954401A (zh
Inventor
闵庆欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taobao China Software Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410119821.7A priority Critical patent/CN104954401B/zh
Publication of CN104954401A publication Critical patent/CN104954401A/zh
Priority to HK15111887.6A priority patent/HK1211150A1/zh
Application granted granted Critical
Publication of CN104954401B publication Critical patent/CN104954401B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及流量调度方法和装置。该方法包括:接收来自本地域名服务器的域名解析请求;以及响应于所述域名解析请求,向所述本地域名服务器返回多个内容服务器地址。根据本申请的技术方案,通过向本地域名服务器一次返回多个内容服务器地址,以由本地域名服务器将该多个内容服务器地址返回给用户,由用户从中随机选择一个内容服务器地址进行网络访问,从而允许客服端用户随机访问,有效分散风险,解决了现有技术中用户对内容服务器的可选择性低导致的、当该内容服务宕机或发生故障时本次调度涉及的用户访问全部失败以及遇瞬时访问流量较大时该内容服务器将独自承担较大访问压力的问题。

Description

流量调度方法和装置
技术领域
本申请涉及互联网通信领域,尤其涉及内容分发网络(CDN,Content DeliveryNetwork)中的流量调度方法和装置。
背景技术
如本领域公知的,CDN的基本思路就在于尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。CDN系统通过在网络各处放置节点服务器,构成现有的互联网基础之上的一层智能虚拟网络。CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息,将用户的请求重新导向离用户最近的服务节点即内容服务器上。其目的是使用户可就近取得所需内容,解决互联网网络拥挤的状况,提高用户访问某域名网站的响应速度。
通常,在CDN中需要针对某域名下的流量实现全局负载均衡及按需调度。目前比较通用的技术是一种基于域名系统(DNS,Domain Name System)解析的流量调度方法,其中根据需要设置某域名/服务下辖各内容服务器(例如,IP地址)的流量分配权重,各内容服务器的权重之和为100%,并将该设置下发至权威DNS(权威域名服务器)。当本地DNS(本地域名服务器)下辖某用户访问该域名时,DNS解析请求发送到本地DNS,若此时本地DNS处对应于该域名的记录缓存未过期,则直接将缓存的域名解析结果返回给用户。若此时本地DNS处对应于该域名的记录缓存过期,则本地DNS通过迭代查询方式最终向权威DNS请求域名解析。权威DNS接收到域名解析请求之后,根据预先设定的各内容服务器地址的流量分配权重比例,确定本次向本地DNS返回哪个内容服务器地址。然后本地DNS向用户返回该内容服务器地址。当各内容服务器地址的权重误差值都收敛至0时,权威DNS向流量调度平台汇报一轮调度结束并开始下一轮调度。
上述基于DNS解析的流量调度方法通过按设定的比例将流量调度到多个内容服务器,可以实现各个内容服务器负载均衡,提高内容服务器的利用率。然而仍然存在如下的一些问题。
首先,在现有基于DNS解析的流量调度方法中,权威DNS在返回内容服务器时,从多个内容服务器中选择一个内容服务器地址返回。这有可能导致:1)用户可选择性低,当该内容服务器宕机或发生故障时,本次调度涉及的用户访问全部失败,影响面过大;2)若遇瞬时访问流量较大时,该内容服务器将独自承担较大访问压力。
其次,在现有基于DNS解析的流量调度方法中,没有考虑每个本地DNS服务器可能服务的用户数,每个本地DNS可能服务的用户数有时会差别比较大,个别情况下会导致流量调度精度不高的问题。
另外,在现有基于DNS解析的流量调度方法中,涉及到的本地DNS数量多,一般数量以万为单位,算法运算起来成本较高,流量调度结果达到预期设定目标要求所需收敛过程/时间长。
综上所述,需求一种改进的流量调度方案,来克服上述现有技术中的这些问题。
发明内容
本申请的一个目的在于提供一种改进的流量调度方案,以解决用户对内容服务器的可选择性低导致的、当该内容服务宕机或发生故障时本次调度涉及的用户访问全部失败以及遇瞬时访问流量较大时该内容服务器将独自承担较大访问压力的问题。
本申请的另一目的在于提供一种改进的流量调度方案,以解决由于不同本地DNS可能服务的用户数不同导致流量调度精度不高的问题。
本申请的又一目的在于提供一种改进的流量调度方案,以解决流量调度结果达到预期设定目标要求所需收敛过程/时间长导致流量调度效率不高的问题。
根据本申请一个方面的实施例,提供一种流量调度方法,其特征在于,包括:接收来自本地域名服务器的域名解析请求;以及响应于所述域名解析请求,向所述本地域名服务器返回多个内容服务器地址。
根据本申请另一方面的实施例,提供一种流量调度装置,其特征在于,包括:接收模块,用于接收来自本地域名服务器的域名解析请求;以及返回模块,用于响应于所述域名解析请求,向所述本地域名服务器返回多个内容服务器地址。
与现有技术相比,根据本申请的技术方案,通过向本地域名服务器一次返回多个内容服务器地址,以由本地域名服务器将该多个内容服务器地址返回给用户,由用户从中随机选择一个内容服务器地址进行网络访问,从而允许客服端用户随机访问,有效分散风险,解决了现有技术中用户对内容服务器的可选择性低导致的、当该内容服务宕机或发生故障时本次调度涉及的用户访问全部失败以及遇瞬时访问流量较大时该内容服务器将独自承担较大访问压力的问题。
另外,根据本申请的技术方案,抽样统计本地域名服务器服务的用户数目,对各个本地域名服务器区别对待,给予不同的本地域名服务器相应的权重,并使用该权重去影响或调整流量调度,从而提高流量调度的精准度。
此外,根据本申请的技术方案,依据一定原则削减涉及的本地域名服务器数量,同时引入流量调度偏差容忍度的概念,使得实现流量调度结果达到设定目标的快速收敛,从而提高流量调度的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出根据本申请一个实施例的流量调度方法的流程图;
图2示出根据本申请另一实施例的流量调度方法的流程图;
图3示出根据本申请一个实施例的确定与域名对应的各内容服务器地址的权重误差值的方法的流程图;
图4示出根据本申请一个实施例的确定本地域名服务器的权重的方法的流程图;以及
图5示出根据本申请一个实施例的流量调装置的结构框图。
具体实施方式
一方面,本申请的思想在于,使得权威域名服务器响应于域名解析请求返回内容服务器地址时,一次返回多个,并能保证最终流量调度依然能够达到比例要求。从而允许客服端随机选择内容服务器地址进行访问,进而减少内容服务器故障时的影响并避免访问流量大时内容服务器的访问压力过大。
另一方面,本申请的思想在于,考虑各个本地域名服务器服务的用户数目的差异性,针对不同的本地域名服务器赋予相应的权重来用于调整流量调度,从而提高流量调度的精准度。
再一方面,本申请的思想在于,考虑各个本地域名服务器的影响力,仅选择影响力大的本地域名服务器参与流量调度的计算,从而大大减少需要纳入计算的本地域名服务器的数目,也就是缩小待计算的本地域名服务器的范围,使得在尽可能短的时间内获得相对满意的流量调度结果,也就是提高流量调度的效率。并且引入流量调度偏差容忍度的概念,使得误差计算收敛到可接受的范围内而不是零,从而可以根据实际应用中的不同要求来灵活地调整流量调度的精准度。
为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步的详细说明。
参照图1,图1示出根据本申请一个实施例的流量调度方法100的流程图。
如图1所示,在步骤S110处,接收来自本地域名服务器的域名解析请求。
本申请的流量调度方案是基于DNS解析的,可以在权威域名服务器(权威DNS)侧实施。
通常用户访问某域名网站时,向本地域名服务器(本地DNS)发出访问请求。本地域名服务器响应于该访问请求,查看本地域名缓存中是否包含该域名对应的内容服务器地址例如IP地址等。如果包含则直接返回给用户以供用户进行网站访问。如果没有包含则本地域名服务器通过迭代查询方式最终向权威域名服务器发出域名解析请求,以请求该域名对应的内容服务器地址。相应地,权威域名服务器可以接收这样的来自本地域名服务器的域名解析请求。
接下来,在步骤S120处,响应于该域名解析请求,向本地域名服务器返回多个内容服务器地址。
具体而言,权威域名服务器可以从域名解析请求中获取到相应的域名。然后通过查找其维护的域名-内容服务器地址的预定映射关系,可以获取到与该域名解析请求中的域名对应的若干内容服务器地址。根据本申请的实施例,权威域名服务器可以从这些内容服务器地址中随机选择或者按照一定规则选择多个内容服务器地址返回给本地域名服务器。
这里,内容服务器地址可以是IP地址、也可以是MAC地址等,本申请对此并不做任何限制。
本申请的发明点就在于,权威域名服务器向本地域名服务器返回多个内容服务器地址,而不是像现有技术中那样,由权威域名服务器随机选择与域名对应的一个内容服务器地址返回给本地域名服务器。如前面提及的,由此可以允许客服端用户自己随机选择内容服务器,进而减少内容服务器故障时的影响并且降低访问流量大时内容服务器的访问压力。
至此结合图1描述了根据本申请基本构思的流量调度方法的过程。下面结合图2对本申请实施例的流量调度方法进行更详细的描述。
图2示出根据本申请另一实施例的流量调度方法200的流程图。其中描述了根据本申请实施例的一轮流量调度的过程。可以理解到,流量调度可以是一轮一轮执行的。
如图2所示,在步骤S210处,接收来自本地域名服务器的域名解析请求。该步骤的处理与前面结合图1描述的步骤S110的处理类似,这里不再赘述。
在接收到域名解析请求之后,进入步骤S220。在步骤S220处,判断该域名解析请求是否为本轮调度中首次收到的来自该本地域名服务器的域名解析请求。据此可以确定如何向本地域名服务器返回多个内容服务器地址。
具体地,当在步骤S220处判定该域名解析请求是本轮调度中首次收到的来自该本地域名服务器的域名解析请求时,进入步骤S230,根据与域名对应的各个内容服务器地址的目标权重,向本地域名服务器返回内容服务器地址。当在步骤S220处判定该域名解析请求不是本轮调度中首次收到的来自该本地域名服务器的域名解析请求时,进入步骤S240,根据与域名对应的各个内容服务器地址的上次权重误差值,向本地域名服务器返回内容服务器地址。
需要指出的是,在调度开始之前,可以预先设定各内容服务器地址的流量分配权重比例,即,目标权重。当每轮调度开始时,可以首先确定该轮调度中需要向本地域名服务器返回的内容服务器地址的数目N。在一个具体实施例中,可以通过以下方法确定该数目count:100%除以各内容服务器地址中的最大权重值;然后取整数上限值。例如,假设某域名A记录对应3个不同内容服务器,IP地址分别为IP1、IP2、IP3;并且在权威服务器处设置3个IP地址的流量分配权重比例分别为50%、30%、20%,即,流量分配权重设置的目标是使得最终用户的访问50%落到IP1,30%落到IP2,20%落到IP3。在这样的情况下,N=100%/50%=2。应理解到,确定需要返回的内容服务器地址的数目的方法并不限于此,而是可以采用任意其它合适的方式来确定,本申请对此不作任何限制,而仅要求返回多个内容服务器地址而不是一个内容服务器地址。
在已知了本轮调度中需要返回的内容服务器地址的数目之后,根据域名解析请求是否为本轮调度中首次收到该本地域名服务器的域名解析请求,来具体确定向本地域名服务器返回哪些内容服务器地址,也就是返回IP地址的顺序。
更具体而言,根据本申请的实施例,当域名解析请求是本轮调度中首次收到该本地域名服务器的域名解析请求时,在步骤S230处可以根据各内容服务器地址的目标权重的高低,向本地域名服务器返回上述确定数目(N个)的内容服务器地址。在一个具体实施例中,可以向本地域名服务器返回目标权重最高的前N个内容服务器地址。
另一方面,根据本申请的实施例,当域名解析请求不是本轮调度中首次收到该本地域名服务器的域名解析请求时,在步骤S240处可以根据各内容服务器地址的上次权重误差值,向本地域名服务器返回上述确定数目(N个)的内容服务器地址。在一个具体实施例中,可以向本地域名服务器返回上次权重亏欠值最高的前N个内容服务器地址。
具体而言,每次接收到域名解析请求时,权威域名服务器都需要计算相应的域名对应的各内容服务器地址中的权重误差值。权重误差值表征当前权重与预设目标权重之间的差异。权重误差值可以包括权重亏欠值(例如-20%)和权重增加值(例如+20%)。
当然本申请并不限于上述方式,而是可以采用其它任意合适方式来确定向本地域名服务器返回哪些内容服务器地址。
接下来在步骤S250处,确定与域名对应的各内容服务器地址的本次权重误差值。
根据本申请的一个实施例,误差变化(权重误差值)计算公式可以为:
本次权重误差值=(100%/N)*r-目标权重+上次权重误差值 (式1)
在上述式1中,当首次计算时,上次权重误差值取0。若本次IP地址被选中,r取值1;否则,r取值0。若目标权重最高的IP地址的上次误差值+目标权重=100%,则本次该IP地址被选中,其余IP地址不被选中。
接下来在步骤S260处,判断与域名对应的各内容服务器IP地址的本次权重误差值是否都收敛在预定范围内。
这里需要指出的是,本申请的一个发明点就在于此,其中不像现有技术中那样当权重误差值收敛归0时才开始新的调度循环,而是当权重误差值收敛到一个预定范围内时就开始新的调度循环。也就是,根据本申请的实施例,允许在流量调度时根据不同要求,存在一定的流量调度偏差。当全部IP地址收敛到[-e,+e]范围内时,在用户的偏差容忍度内,认为一轮流量调度结束,可以进入下一轮流量调度,此时可以反馈相关调度结果给操作人员。
具体地,当在步骤S260处判定各IP地址的本次权重误差值都收敛在预定范围内时,本轮调度结束。也就是,针对后续接收到的域名解析请求,开始执行新的调度循环,其中重新计算该新一轮调度所需返回的IP地址数目,并基于此执行步骤S210至步骤S260的处理。
当在步骤S260处判定各IP地址的本次权重误差值未收敛在预定范围内时,则继续执行该轮调度,接收下一域名解析请求并基于先前计算的所需返回的IP地址数目来执行步骤S210至S260的处理。
为便于理解,下面结合一个具体示例来进行更详细说明。在本例中,权威域名服务器可以维护一个IP误差变化表,如下面的表1和表2所示。
当权威域名服务器首次收到本地域名服务器的域名解析请求时:可以将该域名下所有内容服务器IP地址按照目标权重高低排序,返回前N个IP地址给本地域名服务器,并将本次选中返回的IP地址标记为1,同时计算本次结果返回后误差表中各IP地址权重的变化。
首次误差计算后的IP误差变化表如下表1所示:
表1
当权威域名服务器第二次收到其他本地域名服务器的域名解析请求时,可以选择亏欠值高的N个IP地址,标记为选中状态,并按照上述式1计算本次误差值。后续权威域名服务器每收到本地域名服务器的域名解析请求,都执行该计算,直至所有IP地址的误差值均收敛归至[-e,+e]。假设流量调度偏差容忍度取值为[-0.1%,+0.1%]。
当所有IP地址的误差值均收敛归至[-0.1%,+0.1%]后,此后再次收到来自本地域名服务器的域名解析请求时,执行上述首次计算的过程,从而开始新的循环过程。
示例中经过若干次计算及IP地址返回后的误差变化表如下表2所示:
表2
当权威域名服务器第五次下发计算后的IP列表,全部IP地址的误差归0,表明经过历次IP地址下发后,各IP地址权重配比达到初始设定目标,即IP1:IP2:IP3=50%:30%:20%。
根据本申请的实施例,某内容服务器IP地址的总流量T可以通过下式计算:
T=Σ{[C(j)/N]*r} (式2)
其中:C(j)为第j个本地域名服务器服务的用户数量;N为权威域名服务器每次返回的IP地址数量;r为返回给第j个本地域名服务器时该IP地址是否被选中,选中r=1,否则r=0。Σ的上下限为[0,n],n为本地域名服务器的总个数。
当下一次本地域名服务器的域名解析请求到达权威域名服务器或者本地域名服务器缓存到期后,开始新一轮的动态计算过程(调度过程)。
至此结合图2详细描述了根据本申请实施例的流量调度方法。在上述流量调度方法中未考虑各本地域名服务器服务的用户数量之间的区别,从计算模型上认为所有本地域名服务器对流量调度的影响力是相同的,而实践中不同本地域名服务器服务的用户数量差距较大,因此这种情况下,即使各IP地址的权重对比达到最初要求后,本地域名服务器服务的用户量的巨大差距也会导致流量调度达不到最初要求,甚至实际流量调度结果和期望的权重比存在较大差距。
例如,上例中假设本地域名服务器个数为4,即n=4。由于本地域名服务器对于同一域名的缓存时间都是相同的,因此,n个本地域名服务器会循环向权威域名服务器发起访问。每个本地域名服务器服务相同数量用户,这里假设为100万,则经过误差表计算各IP地址权重收敛为0时,由上述某个IP地址在动态调度结束后最终流量计算公式(式2)可算的:
T(IP1)=[100万/2]*1+[100万/2]*1+[100万/2]*1+[100万/2]*1+[100万/2]*1=250万
T(IP2)=[100万/2]*1+[100万/2]*0+[100万/2]*1+[100万/2]*0+[100万/2]*1=150万
T(IP2)=[100万/2]*0+[100万/2]*1+[100万/2]*0+[100万/2]*1+[100万/2]*0=100万
可以看出T(IP1):T(IP2):T(IP3)=50%:30%:20%,符合初始设定目标。
若本地域名服务器服务的用户量呈现数量级差距,假设四个本地域名服务器用户量分别为1000万,500万,100万,10万,那么最终计算结果为:
T(IP1)=[1000万/2]*1+[500万/2]*1+[100万/2]*1+[10万/2]*1+[1000万/2]*1=1305万
T(IP2)=[1000万/2]*1+[500万/2]*0+[100万/2]*1+[10万/2]*0+[1000万/2]*1=1050万
T(IP2)=[1000万/2]*0+[500万/2]*1+[100万/2]*0+[10万/2]*1+[1000万/2]*0=255万
可见T(IP1):T(IP2):T(IP3)=50%:38.88%:11.12%,已经极大地偏离期望的流量目标权重。
因此在本申请的实施例中,可以在流量调度过程中考虑本地域名服务器服务的用户数目的影响。下面结合图3描述根据本申请一个实施例的确定与域名对应的各内容服务器地址的权重误差值的方法300的流程图。其中通过在权重误差值计算中引入本地域名服务器的权重,从而考虑了本地域名服务器服务的用户数目的影响。
如图3所示,在步骤S310处,确定本地域名服务器的权重。
根据本申请的实施例,可以预先抽样统计出本地域名服务器服务的用户数目,然后基于本地域名服务器的用户数目和特定域名对应的所有本地域名服务器的总用户数目来计算本地域名服务器的权重。例如计算每个本地域名服务器服务的用户数占总用户数的比例,作为该本地域名服务器的权重。第j个本地域名服务器的权重为:
Wj=C(j)/ΣC(n) (式3)
其中:C(j)为第j个本地域名服务器的服务用户数量,ΣC(n)为全部本地域名服务器服务用户数量之和,Σ的上下限为[0,n],n为本地域名服务器的总个数。
实践中,可以根据流量调度要求的精度不同,调整权重值精度,常用的方法为四舍五入。
关于本地域名服务器服务的用户数目的获取方法,可以采用本领域已知或未来开发的任意合适方式,本申请对此并不做任何限制。作为示例,下面描述两种获取本地域名服务器服务的用户数目的方法。
方法1:设置采样周期,如1天;在本地域名服务器处将缓存配置为无缓存(nocache),从而不缓存任何域名解析记录,当用户每次请求域名解析时,都会最终落到权威域名服务器,权威域名服务器根据IP地址去重后记录用户数。
方法2:当用户访问该域名时,在域名前添加私有ID(PID),构成子域名。私有ID可以由用户IP、MAC和随机码串接生成,同时可以采用当前通用加密算法,对该私有ID加密保护。当用户请求该子域名的解析时,本地域名服务器每次都不会命中,从而最终将访问请求落到权威域名服务器,权威域名服务器逆向解析出用户IP,并记录用户数目。
私有ID:
用户IP 用户MAC N位随机数序列
假设被采样域名为:example.com
则用户访问域名问:私有ID.example.com
权威域名服务器逆向解析子域名的流程及计算某本地域名服务器服务用户数的方法如下:
A、以本地域名服务器的IP作为文件名,建立文件;
B、提取域名解析请求报文中私有ID部分;
C、解密该私有ID,获得用户ID、用户MAC、N位随机数的串讲序列;
D、取前32bit,则为用户IP;继续取48位,则为用户MAC地址;剩余N位为随机数序列;
E、将IP、MAC作为一行记录存入文件,若该IP、MAC已经在文件中存在,则不录入;若仅IP或仅MAC存在,或IP和MAC均不存在,则录入文件;
F、在采样周期结束后,计算各文件中记录数目则为不同本地域名服务器服务的用户数。
在确定了本地域名服务器的权重之后,在步骤S320处,根据本轮调度需要返回的内容服务器地址数目、目标权重、上次权重误差值以及该本地域名服务器的权重,来确定本地权重误差值。
具体地,根据本申请的实施例,本地权重误差值的计算公式(式1)可以变为下面的式4:
本次权重误差值=[(100%/N)*r-目标权重]*Wj+上次误差值 (式4)
其中:当首次计算时,上次误差值取0;若本次IP地址被选中,r取值1,否则r取值0;若目标权重最高IP地址的上次误差值+目标权重=100%,则本次该IP地址被选中,其余IP地址不被选中。
为便于理解,下面结合一个具体示例进行更详细的说明。沿用上例,假设在上例中:
本地域名服务器1的权重w1=0.6211=62%(取整);
本地域名服务器2的权重w2=0.3105=31%(取整);
本地域名服务器3的权重w3=0.0621=6%(取整);
本地域名服务器4的权重w4=0.0062=1%(取整)。
另外假设,流量调度偏差容忍度取值[-1%,+1%]。示例中经过若干次计算及IP下发后的误差变化表如下表3所示:
可见计算各IP地址的总流量如下:
T(IP1)=[1000万/2]*1+[500万/2]*1+[100万/2]*1+[10万/2]*1=805万
T(IP2)=[1000万/2]*1+[500万/2]*0+[100万/2]*0+[10万/2]*0=500万
T(IP2)=[1000万/2]*0+[500万/2]*1+[100万/2]*1+[10万/2]*1=305万
则各IP地址流量配比T(IP1):T(IP2):T(IP3)=50%:31%:29%。
从结果可以看出,整体比例更加符合预期,且在规定的容忍度内,这个结果是可以接受的,且明显优于原算法(式1)。
至此,结合图3,描述了根据本申请实施例的在流量调度中考虑本地域名服务器服务用户数的影响的过程。本申请对此并不做任何限制,可以通过其它任意合适方式在流量调度中考虑本地域名服务器服务的用户数。
本申请发明人发现,在上述流量调度方法中涉及到的本地域名服务器数量很多,一般数量以万为单位,算法运行起来成本较高,流量调度结果达到设定目标所需收敛过程/时间比较长。而实践中,20%的大型本地域名服务器为80%的用户服务,该20%称为在流量调度中具有影响力的本地域名服务器(关键本地域名服务器),因此仅选择具有影响力的本地域名服务器进行计算,可以极大地减少需要纳入计算的本地域名服务器的数目。
根据本申请的更优选实施例,可以依据一定原则例如2/8原则削减涉及的本地域名服务器数量,从而降低流量调度运算的成本,提高流量调度运算的效率。在本申请实施例的流量调度方法的具体实施中,可以在确定本地域名服务器的权重时考虑这一点,下面结合图4对此进行更详细描述。
图4示出根据本申请一个实施例的确定本地域名服务器的权重的方法400的流程图。
如上面提及的,当在执行流量调度时计算各内容服务器地址的权重误差值的过程中可以考虑本地域名服务器的权重。当需要确定本地域名服务器的权重时,如图4所示,在步骤S410处,获取本地域名服务器服务的用户数目。该步骤S410的处理类似于前面结合图3描述的步骤S310中的相关处理,因此关于获取本地域名服务器服务的用户数目的方法可以参见前面的描述,这里不再赘述。
在获取了本地域名服务器服务的用户数目之后,在步骤S420处,判断该用户数目是否超过预定数目。
具体而言,通过判断当前的本地域名服务器服务的用户数是否超过一定数目,来判断本地域名服务器的影响力,换言之,判断在流量调度计算中是否需要考虑该本地域名服务器的影响。上述预定数目可以根据需要预先确定。
如果在步骤S420处判定该用户数目超过(例如,大于等于)预定数目,则说明该本地域名服务器是具有影响力的本地域名服务器,需要纳入流量调度计算中,因而进入步骤S430,根据该用户数目和总用户数目确定本地域名服务器的权重。
具体地,可以利用前述式3来确定该本地域名服务器的权重,其中的处理类似于前面的相关描述,这里不再赘述。
如果在步骤S420处判定该用户数目未超过(例如小于)预定数目,则说明该本地域名服务器不是具有影响力的本地域名服务器,在流量调度计算中可以不考虑进去,因而进入步骤S440,将该本地域名服务器的权重确定为零。这样当在利用式4进行权重误差值的计算时,Wj为0,则本次权重误差值等于上次权重误差值,也就是说,没有将本地域名服务器的影响考虑到流量调度中。
由此可以缩小流量调度过程中待计算的本地域名服务器的范围,加快收敛速度,进而在尽量短的时间内获得相对满意的流量调度结果。
至此结合图1至图4描述了根据本申请实施例的流量调度方法。与以上描述的流量调度方法类似,本申请实施例还提供了相应的流量调度装置。
图5示出了根据本申请一个实施例的流量调度装置500的结构框图。如图5所示,装置500可以包括接收模块510和返回模块520。
具体而言,接收模块510可以用于接收来自本地域名服务器的域名解析请求。返回模块520可以用于响应于所述域名解析请求,向所述本地域名服务器返回多个内容服务器地址。
根据本申请的具体实施例,返回模块520可以进一步包括:返回数目确定子模块,用于根据与域名对应的各内容服务器地址对应的最大目标权重,确定本轮调度需要返回的内容服务器地址的数目。
根据本申请的具体实施例,返回模块520可以进一步包括判断和返回子模块,该判断和返回子模块用于,判断所述域名解析请求是否为首次接收到的来自所述本地域名服务器的域名解析请求;如果是,则根据与域名对应的各内容服务器地址的目标权重来向所述本地域名服务器返回内容服务器地址;以及如果否,则根据与域名对应的各内容服务器地址的上次权重误差值来向所述本地域名服务器返回内容服务器地址。
根据本申请的实施例,装置500还可以包括:第一确定模块,用于确定各内容服务器地址的本次权重误差值;以及第二确定模块,用于根据所述各内容服务器地址的本次权重误差值是否都收敛在预定范围内,确定是否结束本轮调度。
根据本申请的具体实施例,第一确定模块可以进一步包括:权重误差确定子模块,用于根据本轮调度需要返回的内容服务器地址的数目、目标权重和上次权重误差值,来确定所述本次权重误差值。
根据本申请的具体实施例,第一确定模块可以进一步包括:权重确定子模块,用于确定所述本地域名服务器的权重;以及权重误差确定子模块,用于根据本轮调度需要返回的内容服务器地址数目、目标权重、上次权重误差值以及所述本地域名服务器的权重,来确定所述本次权重误差值。
根据本申请的更具体实施例,权重确定子模块可以进一步包括:获取子模块,用于获取所述本地域名服务器服务的用户数目;以及确定子模块,用于根据所述用户数目,确定所述本地域名服务器的权重。
根据本申请的更具体实施例,确定子模块可以进一步包括判断和设置子模块,用于:当所述用户数目超过预定数目时,根据所述用户数目和与所述域名对应的所有本地域名服务器服务的总用户数目,确定所述本地域名服务器的权重;以及当所述用户数目未超过所述预定数目时,将所述本地域名服务器的权重确定为零。
以上描述的流量调度装置与之前描述的流量调度方法的处理是对应的,因此,关于其具体细节,可以参见之前描述的流量调度方法,这里不再赘述。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种流量调度方法,其特征在于,包括:
接收来自本地域名服务器的域名解析请求;以及
响应于所述域名解析请求,向所述本地域名服务器返回多个内容服务器地址;
所述方法还包括:
根据本地域名服务器的权重确定与域名对应的各内容服务器地址的本次权重误差;
其中,在所述本地域名服务器的用户数目未超过预定数目时,将所述本地域名服务器的权重确定为零。
2.根据权利要求1所述的方法,其特征在于,向所述本地域名服务器返回多个内容服务器地址的步骤,进一步包括:
根据与域名对应的各内容服务器地址对应的最大目标权重,确定本轮调度需要返回的内容服务器地址的数目。
3.根据权利要求2所述的方法,其特征在于,向所述本地域名服务器返回多个内容服务器地址的步骤,进一步包括:
判断所述域名解析请求是否为首次接收到的来自所述本地域名服务器的域名解析请求;
如果是,则根据与域名对应的各内容服务器地址的目标权重来向所述本地域名服务器返回内容服务器地址;以及
如果否,则根据与域名对应的各内容服务器地址的上次权重误差值来向所述本地域名服务器返回内容服务器地址。
4.根据权利要求2所述的方法,其特征在于,还包括:
确定各内容服务器地址的本次权重误差值;以及
根据所述各内容服务器地址的本次权重误差值是否都收敛在预定范围内,确定是否结束本轮调度。
5.根据权利要求4所述的方法,其特征在于,确定各内容服务器地址的本次权重误差值的步骤,进一步包括:
根据本轮调度需要返回的内容服务器地址的数目、目标权重和上次权重误差值,来确定所述本次权重误差值。
6.根据权利要求4所述的方法,其特征在于,确定各内容服务器地址的本次权重误差值的步骤,进一步包括:
确定所述本地域名服务器的权重;以及
根据本轮调度需要返回的内容服务器地址数目、目标权重、上次权重误差值以及所述本地域名服务器的权重,确定所述本次权重误差值。
7.根据权利要求6所述的方法,其特征在于,确定所述本地域名服务器的权重的步骤,进一步包括:
获取所述本地域名服务器服务的用户数目;以及
根据所述用户数目,确定所述本地域名服务器的权重。
8.根据权利要求7所述的方法,其特征在于,根据所述用户数目确定所述本地域名服务器的权重的步骤,进一步包括:
当所述用户数目超过预定数目时,根据所述用户数目和与所述域名对应的所有本地域名服务器服务的总用户数目,确定所述本地域名服务器的权重;以及
当所述用户数目未超过所述预定数目时,将所述本地域名服务器的权重确定为零。
9.一种流量调度装置,其特征在于,包括:
接收模块,用于接收来自本地域名服务器的域名解析请求;以及
返回模块,用于响应于所述域名解析请求,向所述本地域名服务器返回多个内容服务器地址;
所述装置还包括:
第一确定模块,用于根据本地域名服务器的权重确定与域名对应的各内容服务器地址的本次权重误差;
其中,在所述本地域名服务器的用户数目未超过预定数目时,将所述本地域名服务器的权重确定为零。
10.根据权利要求9所述的装置,其特征在于,所述返回模块进一步包括:
返回数目确定子模块,用于根据与域名对应的各内容服务器地址对应的最大目标权重,确定本轮调度需要返回的内容服务器地址的数目。
CN201410119821.7A 2014-03-27 2014-03-27 流量调度方法和装置 Active CN104954401B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410119821.7A CN104954401B (zh) 2014-03-27 2014-03-27 流量调度方法和装置
HK15111887.6A HK1211150A1 (zh) 2014-03-27 2015-12-03 流量調度方法和裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410119821.7A CN104954401B (zh) 2014-03-27 2014-03-27 流量调度方法和装置

Publications (2)

Publication Number Publication Date
CN104954401A CN104954401A (zh) 2015-09-30
CN104954401B true CN104954401B (zh) 2018-06-08

Family

ID=54168752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410119821.7A Active CN104954401B (zh) 2014-03-27 2014-03-27 流量调度方法和装置

Country Status (2)

Country Link
CN (1) CN104954401B (zh)
HK (1) HK1211150A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107980217B (zh) * 2017-07-14 2021-06-01 达闼机器人有限公司 获取本地域名服务器地址的方法、装置和权威域名服务器
CN108040085A (zh) * 2017-11-20 2018-05-15 广州华多网络科技有限公司 网络接入方法、装置及服务器
CN108881509A (zh) * 2018-05-31 2018-11-23 网宿科技股份有限公司 一种基于httpdns的dns查询方法及装置
CN108881939B (zh) * 2018-07-05 2020-09-15 北京奇艺世纪科技有限公司 一种视频cdn处理方法及系统
CN111030966B (zh) * 2018-10-10 2022-05-27 阿里巴巴集团控股有限公司 数据处理方法、装置和机器可读介质
CN110061935B (zh) * 2019-03-13 2022-02-18 平安科技(深圳)有限公司 流量源配比调整方法、装置、计算机设备及存储介质
CN110022373B (zh) * 2019-04-17 2020-10-16 北京达佳互联信息技术有限公司 业务分配方法、装置、服务器及存储介质
CN110099131A (zh) * 2019-05-17 2019-08-06 网宿科技股份有限公司 一种域名解析方法及装置
CN113301074A (zh) * 2020-04-26 2021-08-24 阿里巴巴集团控股有限公司 数据请求负载调度方法、装置、电子设备及可读存储介质
CN114157635B (zh) * 2020-09-07 2023-08-15 中国移动通信集团湖南有限公司 内容分发网络的域名回源方法和装置、设备和存储介质
CN113608877B (zh) * 2021-08-13 2023-11-10 牙木科技股份有限公司 一种内容商ipv4和ipv6资源池负载均衡调度方法
CN115442330B (zh) * 2022-08-05 2023-08-08 天翼云科技有限公司 一种域名解析系统、方法及设备
CN115834535A (zh) * 2022-10-17 2023-03-21 北京奇艺世纪科技有限公司 一种域名解析方法及装置
CN115665263A (zh) * 2022-10-19 2023-01-31 上海浦东发展银行股份有限公司 一种流量调拨方法、装置、服务器及存储介质
CN118055095B (zh) * 2024-04-16 2024-06-07 中国电子信息产业集团有限公司第六研究所 权威域名服务器的确定方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005517A (zh) * 2002-07-29 2007-07-25 国际商业机器公司 在内容分发网络中将网站分配给服务器的方法
CN101102288A (zh) * 2006-07-06 2008-01-09 阿里巴巴公司 一种实现大型即时通信的方法及系统
CN102457440A (zh) * 2012-01-13 2012-05-16 华为软件技术有限公司 实现负载均衡的方法、dns服务器和客户端
CN103634227A (zh) * 2012-08-20 2014-03-12 百度在线网络技术(北京)有限公司 一种基于用户数量的业务流量精确调度方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005517A (zh) * 2002-07-29 2007-07-25 国际商业机器公司 在内容分发网络中将网站分配给服务器的方法
CN101102288A (zh) * 2006-07-06 2008-01-09 阿里巴巴公司 一种实现大型即时通信的方法及系统
CN102457440A (zh) * 2012-01-13 2012-05-16 华为软件技术有限公司 实现负载均衡的方法、dns服务器和客户端
CN103634227A (zh) * 2012-08-20 2014-03-12 百度在线网络技术(北京)有限公司 一种基于用户数量的业务流量精确调度方法及装置

Also Published As

Publication number Publication date
HK1211150A1 (zh) 2016-05-13
CN104954401A (zh) 2015-09-30

Similar Documents

Publication Publication Date Title
CN104954401B (zh) 流量调度方法和装置
CN107395683B (zh) 一种回源路径的选择方法及服务器
CN107517228B (zh) 一种内容分发网络中的动态加速方法及装置
CN104427005B (zh) 在cdn上实现请求精确调度的方法及系统
Zhang et al. Proactive workload management in hybrid cloud computing
US7953887B2 (en) Asynchronous automated routing of user to optimal host
CN109327550A (zh) 一种访问请求的分配方法、装置、存储介质和计算机设备
CN106407207B (zh) 一种实时新增数据更新方法和装置
CN103596066B (zh) 一种数据处理方法及装置
CN101501669A (zh) 域名解析资源分配
CN108076142A (zh) 一种基于cdn技术加速用户请求的方法及系统
BR112014020579B1 (pt) Método, aparelho e sistema para alocação do volume de rdc
US20130238750A1 (en) Method and Apparatus of Determining Redirection Quality, and Method and Apparatus of Placing Promotion Information
CN110365747A (zh) 网络请求的处理方法、装置、服务器及计算机可读存储介质
CN106101055A (zh) 一种多数据库的数据访问方法及其系统和代理服务器
CN109756584A (zh) 域名解析方法、域名解析装置及计算机可读存储介质
CN112333299A (zh) 一种域名解析方法、配置方法及设备
CN108900314A (zh) 一种网络加速服务的请求数计费方法和装置
CN109560940B (zh) 一种内容分发网络cdn服务的计费方法及装置
CN106161285A (zh) 一种网络资源分配方法及装置
CN109325266B (zh) 面向在线云服务的响应时间分布预测方法
CN109271438A (zh) 一种数据库访问方法及其系统
CN110943876A (zh) Url状态检测方法、装置、设备和系统
CN104780235A (zh) Ip归属地查询方法、装置和服务器
CN105791247A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1211150

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211105

Address after: Room 554, floor 5, building 3, No. 969, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: TAOBAO (CHINA) SOFTWARE CO.,LTD.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.