专利名称:一种基于dns解析的流量调度方法、装置及服务器的制作方法
技术领域:
本发明涉及互联网通信技术领域,特别涉及一种基于DNS解析的流量调度方法。
技术背景
在互联网中,一个内容服务往往由多个分布式的内容服务器提供。这些内容服务器具有相同的域名,但是具有不同的IP地址。为了有效的利用所有的内容服务器的资源, 需要将所有对该内容的访问请求均衡的调度到这些内容服务器上。现有技术中主要采用基于DNS (域名系统)解析的流量调度方法,具体过程如下
1.本地DNS接收客户端的请求,向权威域名服务器发送域名解析请求;
2.权威域名服务器将该域名对应的IP地址采用等比例返回给本地DNS ;
3.本地DNS将IP地址再返回给客户端,客户端根据返回的IP地址向对应的内容服务器发送内容访问请求。
从上述调度过程可以看出,现有技术基于DNS解析进行流量调度时,采用的是简单的轮循调度算法,将访问请求均勻的调度到各个内容服务器上,各个内容服务器对流量进行等比例分配。这种调度算法的缺点是很明显的
1.不能区分内容服务器的性能差异。各个内容服务器的处理性能,甚至网络带宽都有可能不一样,如果要保证每个服务器都能处理分配给他的流量,则采用等比例分配时只能按照性能最差的服务器分配流量,这将导致性能较好的服务器的利用率低下。
2.不能反映服务器的当前运行状态。有些客户端可以自主选择内容服务器,这样将导致这部分客户端的流量不被调度系统控制。如果DNS负载均衡调度系统将其他流量平均分配到各个内容服务器,这对于这部分自主选择内容服务器的请求所访问的内容服务器,其负载可能远大于其他服务器。
从上述两个缺点都可以看出,现有基于DNS负载均衡技术中的轮询调度算法要么不能有效的保证各个内容服务器的负载均衡,要么内容服务器的利用率低下。发明内容
本发明提供一种基于DNS解析的流量调度的方法,能够同时保证各个内容服务器的负载均衡,同时提高内容服务器的利用率。
一种基于DNS解析的流量调度方法,包括
接收域名解析请求并获得域名;
从该域名对应的多个内容服务器中选择一个内容服务器,使得选择后该多个内容服务器之间的选择次数基本满足设定比例;
将选择的内容服务器返回给域名解析请求者。
一种基于DNS解析的流量调度装置,包括
接收模块,用于接收域名解析请求并获得域名;
选择模块,用于从该域名对应的多个内容服务器中选择一个内容服务器,使得选择后该多个内容服务器之间的选择次数基本满足设定比例;
发送模块,用于将选择的内容服务器返回给域名解析请求者。
本发明实施例中,在DNS解析调度方法基础上,通过按设定的比例将流量调度到多个内容服务器,这样就能根据内容服务器的性能以及运行状态动态调整分配到各个内容服务器的流量,能够保证各个内容服务器的负载均衡,同时提高内容服务器的利用率,使动态负载均衡成为可能,设置得当,可以提高服务质量;提高带宽利用率;提高服务器的利用率,减少服务器使用数量。
图1为本发明实施例提供的基于DNS解析的流量调度方法流程图2为本发明实施例一提供的按照设定比例选择内容服务器的具体方法流程图3为本发明实施例二提供的按照设定比例选择内容服务器的具体方法流程图4为本发明实施例三提供的第一种按照设定比例选择内容服务器的具体方法流程图5为本发明实施例三提供的第二种按照设定比例选择内容服务器的具体方法流程图6为为按比例分配的直线图7为本发明实施例四提供的按照设定比例选择内容服务器的具体方法流程图8为本发明实施例提供的基于DNS解析的流量调度装置结构图。
具体实施方式
本发明实施例提供了一种基于DNS解析的流量调度的方法,通过按设定的比例将流量调度到各内容服务器,能够解决现有技术中基于DNS解析的流量调度不能区分不同内容服务器的性能差别导致性能较好的服务器利用率低下的问题,以及一些不受DNS解析调度的流量带来的内容服务器负载不均衡的问题,使得各个内容服务器的负载均衡,同时提高内容服务器的利用率。
本发明实施例提供的基于DNS解析的流量调度的方法,如图1所示,包括
S101、接收域名解析请求并获得域名;
其中,权威域名服务器接收域名解析请求者发送的域名解析请求,具体地,域名解析请求者一般是本地LDNS,或者客户端。域名解析请求中携带需要解析的域名。
S102、根据设定比例选择一个该域名对应的内容服务器,也就是从该域名对应的多个内容服务器中选择一个内容服务器,使得选择后该多个内容服务器之间的选择次数满足设定比例;
基本满足设定比例,是指在每次选择后,多个服务器之间的选择次数可能不是精确的满足设定比例,但会一直接近设定比例。
权威域名服务器根据预先设定比例选择一个该域名对应的内容服务器,例如如果内容服务器1和内容服务器2之间的设定比例为5 2,则选择内容服务器时,权威域名服务器在接收到域名解析请求时,会5次选择内容服务器1,2次选择内容服务器2。
S103、将选择的内容服务器返回给域名解析请求者。
较佳地,权威域名服务器将选择的内容服务器的IP地址返回给域名解析请求者。
较佳地,步骤S102中,预先设定的比例是根据各内容服务器的可用流量设定,并且在进行域名解析的过程中可以动态调整。在进行域名解析的过程中,权威域名服务器可以根据当前各内容服务器的可用流量进行动态调整。
采用上述方法,能够同时保证各个内容服务器的负载均衡,同时提高内容服务器的利用率。使得权威域名服务器能够基于DNS的解析对各内容服务器的流量具有灵活的调控能力,最大限度利用规格不同内容服务器,和大小不等的网络带宽能力。
下面详细说明步骤S102中选择内容服务器的具体方法。
实施例一是采用均勻分布函数,使得各内容服务器之间的选择次数基本满足设定比例;实施例二、实施例三分别以随机函数和散列函数为例进行说明;实施例四是采用线性的方法使得各内容服务器之间的选择次数基本满足设定比例。
实施例一
实施例一采用均勻分布函数选择内容服务器,使得各内容服务器之间的选择次数基本呈现比例关系,即能够按照设定比例提供域名解析。
参见图2,为实施例一提供的按照设定比例选择内容服务器的具体方法,包括
S201、预先选定一个均勻分布函数;
其中,均勻分布函数的函数值是均勻分布的,假设函数值为1到K,也就是1到K值每个数出现概率都是1/K ;
将均勻分布函数的所有函数值预先根据设定的比例对应到各内容服务器, 即均勻分布函数的所有函数值中,对应到器服务器IPp IP2......IPnW个数的比例为·· kg · · · · k^n ο
其中,均勻分布函数具体包括随机函数或者散列函数,也可以是其他函数,这里不再一一列举。
S202、利用设置的均勻分布函数,确定本次域名解析请求的函数值;
S203、确定该函数值对应的内容服务器,将该内容服务器作为本次域名解析请求的内容服务器。
其中,在步骤S201中,可以将均勻分布函数的函数值按照该设定比例 k! k2 k3 ...kn分布在N个比例集合Ci中,即各个比例集合中的函数值的个数比例为 k! k2 k3 ...kn,并且每个比例集合对应到相应比例的内容服务器;
则在步骤S203中,可以确定该函数值所属的比例集合,并将该比例集合对应的内容服务器作为本次域名解析请求选择的内容服务器。
实施例二
实施例二采用随机方法选择内容服务器。本方法主旨是在权威域名服务器中,按照设定比例提供域名解析,同时保证每次选择的内容服务器的IP地址都是不被预知的。
例如对于域名XXX有η个内容服务器,其IP地址分别为=IP1, IP2, . . . IPn,设定的域名解析分配比例为1^ k2 k3 ...1^(也就是设定1 1、1己、1 3、...1 11的流量调度比例为ki k2 k3 . . . kn);即在域名解析过程中,需要满足HVIP2,. ..IPn的分配比例为 Ii1 k2 k3 …kn。
参见图3,为实施例二提供的按照设定比例选择内容服务器的具体方法,包括
S301、预先选定一个随机函数,其中,选择的随机函数是一个均勻分布的随机函数,并且选择的随机函数至少有总的比例份数个随机值;
例如假如设定比例为5 2(0.5 0.2),则随机函数至少由7个随机值,假设设定的比例为K k2 k3 ..人,且1^、1^2、1^、..人为自然数,则总的比例份数为1(= (k1+k2+k3+... +kn) 0并且,一般设定的比例都可以转变为& k2 k3 ...kn,且kp lc2、 k3、... kn为自然数这种表示方式,并确定其总的比例份数。
将随机函数的所有随机值预先根据设定的比例对应到各内容服务器,即随机函数的所有随机值中,对应到器服务器IPpIP2......IPn的个数的比例为1^ k2 k3 ...kn。
S302、利用随机函数确定本次域名解析请求的随机值;
S303、确定该随机值对应的内容服务器,将该内容服务器作为本次域名解析请求选择的内容服务器。
其中,在步骤S301中,可以将随机函数的随机值按照该设定比例 k! k2 k3 ...kn分布在N个比例集合Ci中,即各个比例集合中的随机值的个数比例为 k! k2 k3 ...kn,并且每个比例集合对应到相应比例的内容服务器;
则在步骤S203中,可以确定该随机值所属的比例集合,并将该比例集合对应的内容服务器作为本次域名解析请求选择的内容服务器。
采用本实施例二的方法,因为随机函数是均勻分布的,并且随机值按设定的比例对应到各内容服务器,因此在访问量大的情况下,根据每次域名解析请求的随机值选择内容服务器,能够尽可能使得各内容服务器之间的选择次数基本满足设定比例,也就是各内容服务器能够按照设定的比例进行流量分配。
并且,由于采用的随机函数,随机函数每次输出的数值并不可知,也就是每次选择的内容服务器并不可以提前预知,能够尽可能避免干扰引起的流量不均,保证内容服务器的服务安全。
下面再以一个具体的例子详细说明实施例二的方法。
步骤1、初始化K= (1^+1^+1^+...+10,其中K k2 k3 ...knSSSip^ip^ IP3、... IPn的流量调度比例;
假设Ic1 k2 k3 ...kn为自然数,K为自然数;
2、预先初始化一个均勻分布的随机函数randomOO,且该函数按照均勻分布输出随机值为1到K的自然数;
3、将随机值1到K的自然数划分为η个集合Q、C2, C3. . . Cn,其中[1,kj属于C1, [k^+1, kj 属于 Ci ;
其中,集合CpCyC3... Cn分别对应到内容服务器IP1、IP2......IPn。
当然,划分的时候也可以采用其他的划分方法,只要保证C” C2、C3. . . Cn集合中元素个数的比例为& k2 k3 ...kn即可。
上述步骤为预先初始化过程,在每次接收到域名解析请求并分配IP地址时,只需要执行以下过程即可
4、利用随机函数random(K),输出本次域名解析请求的随机值R,其中,1彡R彡K ;
5、确定R所在的集合Ci,并输出IPi作为本次选择的内容服务器的IP地址。
实施例三
实施例三采用哈希方法选择内容服务器,本实施例的主旨是利用散列函数在权威域名服务器中,按照设定的比例提供域名解析,同时保证各解析请求者获得的IP地址是稳定的。
利用哈希方法解析域名的流量调度方法,一般有两种基于源地址的哈希方法,和基于域名的哈希方法。
方法一、基于源地址的哈希方法
参见图4,为实施例三提供的第一种采用哈希方法选择内容服务器的具体方法,包括
S401、预先选定一个散列函数,其中,散列函数根据输入的源地址输出散列值,并且散列函数的散列值预先按设定比例对应到各内容服务器;
将散列函数的所有散列值预先根据设定的比例对应到各内容服务器,即散列函数的所有散列值中,对应到器服务器IP1JP2......IPn的个数的比例为1^ k2 k3 ...kn;
S402、确定发送所述域名解析请求的源地址;
S403、根据该源地址,利用选定的散列函数确定该源地址对应的散列值;
S404、将该散列值对应的内容服务器作为本次域名解析请求选择的内容服务器。
在步骤S401中,可以将散列函数的散列值预先按照该设定比例 k! k2 k3 ...kn分布在N个比例集合Ci中,即各个比例集合中的散列值的个数比例为 k! k2 k3 ...kn,并且每个比例集合对应到相应比例的内容服务器;
则在步骤S404中,可以确定该散列值所属的比例集合,并将该比例集合对应的内容服务器作为本次域名解析请求选择的内容服务器。
下面再以一个具体的例子详细说明本实施例三的方法一。
步骤1、初始化K= (1^+1^+1^+...+10,其中K k2 k3 ...knSSSip^ip^ IP3、... IPn的流量调度比例;
假设Ic1 k2 k3 ...kn为自然数,K为自然数;
步骤2、预先初始化一个散列函数hash (K,IP),其中,该函数根据DNS请求者的源地址输出散列值为1到K的自然数;
步骤3、将散列值1到K的自然数划分为η个集合CpCyC3... Cn,其中[1,kj属于 C1, [k^+LkJ 属于 Ci ;
其中,集合CpCyC3... Cn分别对应到内容服务器IP1、IP2......IPn。
当然,划分的时候也可以采用其他的划分方法,只要保证C” C2、C3. . . Cn集合中元素个数的比例为& k2 k3 ...kn即可。
上述步骤为预先初始化过程,在每次接收到域名解析请求并分配IP地址时,只需要执行以下过程即可
步骤4、接收到域名解析请求时,确定发送该请求的源地址;
步骤5、根据源地址,利用散列函数hash (K,IP),确定该源地址对应的散列值;
步骤6、确定该源地址对应的散列值所属的比例集合;
步骤7、将所属的比例集合对应的IP地址作为本次域名解析请求的IP地址返回给域名请求者。
采用上述方法一,因为将散列函数的散列值预先按照设定的比例对应到各内容服8务器,因此,在接收到大量用户的域名解析请求时,能够尽可能使得各内容服务器之间的选择次数基本满足设定比例,也就是能够保证权威域名服务器能够对各内容服务器按照设定比例进行流量调度。
同时,因为根据域名解析请求的源地址确定散列值,能够保证相同源地址获得的内容服务器相同,并且对各内容服务器来说,其面对的客户群是稳定的,因此,各内容服务器的流量稳定。
方法二、基于域名的哈希方法
参见图5,为实施例三提供的第二种按照哈希方法选择内容服务器的具体方法,包括
S501、预先选定一个散列函数,其中,该散列函数根据域名输出散列值,并且散列函数的散列值预先按设定比例对应到各内容服务器;
将散列函数根据域名输出的所有散列值预先根据设定的比例对应到各内容服务器,即散列函数的所有散列值中,对应到器服务器IPp IP2......IPn的个数的比例为·· kg · · · · k^n ;
S502、确定所述域名解析请求对应的域名;
S503、根据该域名,利用选定的散列函数确定该域名对应的散列值;
S504、将该散列值对应的内容服务器作为本次域名解析请求选择的内容服务器。
在步骤S501中,可以将该散列函数的散列值预先按照设定比例 k! k2 k3 ...kn分布在N个比例集合Ci中,即各个比例集合中的散列值的个数比例为 k! k2 k3 ...kn,并且每个比例集合对应到相应比例的内容服务器;
则在步骤S604中,可以确定该散列值所属的比例集合,并将该比例集合对应的内容服务器作为本次域名解析请求选择的内容服务器。
下面再以一个具体的例子详细说明本实施例三的方法二。
步骤1、初始化 K= (1^+1 +! +...+!^),其中 Ii1 k2 k3 ...kn 为设定 IPi、IP2、 IP3、. . . IPn的流量调度比例;
假设ki k2 k3 ...kn为自然数,K为自然数;
步骤2、预先初始化一个散列函数hash (K,DOMAIN),其中,该函数根据域名DOMAIN 输出散列值为1到K的自然数;
步骤3、将散列值为1到K的自然数划分为η个比例集合C” C2, C3. · · Cn,其中[1, kj 属于 C1, [k^+LkJ 属于 Ci ;
其中,集合CpCyC3. . . Cn分别对应到内容服务器IP1、IP2......IPn。
当然,划分的时候也可以采用其他的划分方法,只要保证Cp C2, C3. . . Cn集合中元素个数的比例为& k2 k3 ...kn即可。
上述步骤为预先初始化过程,在每次接收到域名解析请求并分配IP地址时,只需要执行以下过程即可
步骤4、接收到域名解析请求时,确定该域名解析请求对应的域名;
步骤5、根据该域名,利用选定的散列函数hash (K,DOMAIN),确定该域名对应的散列值;
步骤6、确定该散列值所属的比例集合;
步骤7、将该比例集合对应的IP地址作为本次域名解析请求的IP地址返回给域名解析请求者。
采用上述方法二,因为将散列函数的散列值预先按照设定的比例对应到各内容服务器,因此,在接收到对大批量域名的域名解析请求时,能够尽可能使得各内容服务器之间的选择次数满足设定比例,也就是能够保证权威域名服务器能够对各内容服务器按照设定比例进行流量调度。
同时,因为根据域名解析请求的域名确定散列值,能够保证相同域名内容对应的内容服务器相同,因此,可以对内容服务器的处理内容进行分类,可以保证每台内容服务器处理内容少而稳定。
本发明实施例的上述方法一般应用在权威域名服务器中,用于根据上述方法分配域名解析结果,但本发明的方法并不限用于权威域名服务器中,可以用于任何域名解析服务器中,均能够根据上述方法进行域名解析分配。
实施例四、
实施例四采用线性算法选择内容服务器。本方法的主旨是在每次选择的过程中都尽可能均勻地按照设定比例提供域名解析,分配内容服务器。
为了便于理解,举例设定IP1和IP2的比例为5 2 ;如图6所示,为按比例分配的直线图;如果在绝对按比例分配的情况下,每次选择IP地址后,IP1和IP2的输出比例应该沿图中的直线向给出,但解析时每次只能给出一个IP地址,因此,IP1和IP2的输出次数必须以整数次形式出现,因此,必然要偏离理想比例直线,采用本实施例的方法,就可以使偏差最小。在本实施例中采用线性算法能够使得每次选择后各内容服务器之间的选择次数都尽可能接近设定的比例。
对于域名XXX有η个内容服务器,IP1, IP2, . . . IPn,设定的域名解析分配比例为K k2 k3 ...kn(也就是设定HV IP2、IP3、... IPn的流量调度比例为 Ic1 k2 k3 . . . kn);,即在 K = (k1+k2+k3+. · · +kn)次域名解析请求中,IP1 提供 Ic1 次, IP2提供1 次,...,IPn提供kn次,采用实施例四的方法,能够使得每次选择内容服务器的 IP地址后,各内容服务器之间的选择次数都能够尽可能接近设定的比例,使得各内容服务器之间的选择次数和设定比例之间的误差最小。
采用线性方法从该域名对应的多个内容服务器选择一个内容服务器,使得选择后该多个内容服务器之间的选择次数基本满足设定比例,具体为
接收域名解析请求并获得域名;
确定本次解析请求时每个内容服务器的当前选择比例和设定的选择概率的误差, 根据该误差选择一个该域名对应的内容服务器,每个内容服务器的当前选择比例具体为 每个内容服务器的当前选择次数和总选择次数的比例;
将选择的内容服务器返回给域名解析请求者。
其中确定本次解析请求时每个内容服务器的当前选择比例和设定的选择概率的误差,根据该误差选择一个该域名对应的内容服务器,具体参见图7,为实施例四提供的按照设定比例选择内容服务器的具体方法,包括
S701、初始设定各内容服务器对应的选择概率以及误差;
其中,各内容服务器设定的选择概率表示为=Cli = ki/K,各服务器的误差(即实际输出比例和设定的比例的误差)表示在域名解析过程中,各服务器的选择次数比例偏离设定的选择概率的误差,误差的初始值为0 ;
其中各内容服务器的选择概率为Cli = ki/K,K = k1+k2+k3+. . . +kn,其中 k! k2 k3 ...kn为各内容服务器对应的设定比例;
S702、根据该域名对应的各内容服务器的设定的选择概率以及上次解析请求后各内容服务器的误差确定本次选择时各内容服务器的当前误差;
本次选择时各内容服务器的当前误SSi(本)=Si(上)+di;
S703、将当前误差中最大值对应的内容服务器选择作为本次域名解析请求的内容服务器,并选择的内容服务器的当前误差减1。
选择Si (本)中最大值对应的内容服务器,并返回给域名解析请求者,同时将选择的内容服务器Wsi(本)更新为Si(本)减1。
其中,若步骤S703中确定的最大值为至少两个时,则对应的内容服务器为至少两个,可选择任意一个内容服务器的IP地址均可,并在步骤S703中将选择的内容服务器对应的误差减1进行更新。
下面再以一个具体的例子详细说明实施例四的方法。
步骤1、初始化 K= (1^+1 +! +...+!^),其中 Ii1 k2 k3 ...kn 为设定 ΙΡρΙΡ2、 IP3、. . . IPn的流量调度比例;
步骤2、初始化选择每个内容服务器的IP地址对应的选择概率为Cli = h/K ;
步骤3、初始化选择每个内容服务器的IP地址对应的误差Si = 0 ;
上述步骤为预先初始化过程,在每次接收到域名解析请求并选择IP地址时,只需要执行以下过程即可
步骤4、确定每个内容服务器的IP地址对应的误差Si = SiH ;
步骤5、接收到域名解析请求后,查找误差Si中最大值& ;
步骤6、将最大值&对应的内容服务器的IP地址Π\作为本次选择的内容服务器的IP地址,并返回给域名解析请求者。
步骤7 更新地址的对应的误差&为&-1。
其中,在上述步骤4 步骤7中,若查找到的最大值为至少两个时,则选择任意一个最大值对应的IP地址均可,并在步骤7中将选择的IP地址对应的误差进行更新。
采用实施例四的方法,在每次接收到域名解析请求时,权威域名服务器均能够尽可能按照设定的比例分配该域名对应的内容服务器,使得各内容服务器的流量调度比例一直保持设定的比例。
并且,采用线性方法,每次接收到域名解析请求,进行解析分配IP地址时,因为在每个IP地址对应的误差中选取最大值对应的IP地址作为本次选择的IP地址,因此,能够保证每次选择IP地址后,各内容服务器之间的选择次数比例都尽可能精确接近设定的比例,不会造成流量较大的抖动。
采用本发明实施例的方法,能够在权威域名服务器中根据设定的比例输出各内容服务器,使得DNS具有动态调节流量的能力,使动态负载均衡成为可能,并且当设置的比例合理时,可以提高服务质量,提高带宽利用率,提高服务器的利用率,减少服务器使用数量。
本发明实施例还提供一种基于DNS解析的流量调度装置,如图8所示,包括
接收模块81,用于接收域名解析请求并获得域名;
选择模块82,用于从该域名对应的多个内容服务器中选择一个内容服务器,使得选择后该多个内容服务器之间的选择次数基板满足设定比例;
发送模块83,用于将选择的内容服务器返回给域名解析请求者。
其中,选择模块82选择模块具体用于利用设置的均勻分布函数,确定本次域名解析请求的函数值;确定该函数值对应的内容服务器,将该内容服务器作为本次域名解析请求的内容服务器,其中,所述均勻分布函数的所有函数值预先按设定比例对应到各内容服务器;或者
选择模块82,具体用于根据各内容服务器的设定的选择概率以及上次解析请求后各内容服务器的误差确定各内容服务器的当前误差,其中各内容服务器的输出概率为Cli = VK,K = Wk3Ukn,其中Ic1 k2 k3 ...1^为各内容服务器对应的设定比例;将当前误差中最大值对应的内容服务器选择作为本次域名解析请求的内容服务器,并选择的内容服务器的当前误差减1。。
详细的流量调度过程参见方法实施例,这里不再详细描述。
本发明实施例还提供一种权威域名服务器,包括上述流量调度装置的所有模块。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种基于域名系统DNS解析的流量调度方法,其特征在于,包括接收域名解析请求并获得域名;从该域名对应的多个内容服务器中选择一个内容服务器,使得选择后该多个内容服务器之间的选择次数基本满足设定比例;将选择的内容服务器返回给域名解析请求者。
2.如权利要求1所述的方法,其特征在于,所述从该域名对应的多个内容服务器选择一个内容服务器,使得选择后该多个内容服务器之间的选择次数基本满足设定比例,具体为利用设置的均勻分布函数,确定本次域名解析请求的函数值;确定该函数值对应的内容服务器,将该内容服务器作为本次域名解析请求的内容服务器,其中,所述均勻分布函数的所有函数值预先按设定比例对应到该多个内容服务器。
3.如权利要求2所述的方法,其特征在于,所述均勻分布函数具体包括随机函数、散列函数。
4.如权利要求3所述的方法,其特征在于,当所述均勻分布的函数为散列函数时,利用设置的均勻分布函数,确定本次域名解析请求的函数值,具体为确定发送所述域名解析请求的源地址;利用散列函数确定该源地址对应的散列值。
5.如权利要求3所述的方法,其特征在于,当所述均勻分布的函数为散列函数时,利用设置的均勻分布函数,确定本次域名解析请求的函数值,具体为利用散列函数确定本次域名解析请求的域名对应的散列值。
6.如权利要求1所述的方法,其特征在于,所述从该域名对应的多个内容服务器选择一个内容服务器,使得选择后该多个内容服务器之间的选择次数基本满足设定比例,具体包括根据各内容服务器的设定的选择概率以及上次解析请求后各内容服务器的误差确定各内容服务器的当前误差,其中各内容服务器的设定的选择概率为di = ki/K,K = ki+k2+k3+...+kn,其中ki k2 k3 ...kn为各内容服务器对应的设定比例;将当前误差中最大值对应的内容服务器选择作为本次域名解析请求的内容服务器,并将选择的内容服务器的当前误差减1。
7.如权利要求1至6任一所述的方法,其特征在于,所述设定比例预先根据多个内容服务器的可用流量设定,并且可以动态调整。
8.如权利要求1至6任一所述的方法,其特征在于,所述将选择的内容服务器返回给域名解析请求者,具体为将选择的内容服务器的IP地址返回给域名解析请求者。
9.一种基于域名系统DNS解析的流量调度装置,其特征在于,包括接收模块,用于接收域名解析请求并获得域名;选择模块,用于从该域名对应的多个内容服务器中选择一个内容服务器,使得选择后该多个内容服务器之间的选择次数基本满足设定比例;发送模块,用于将选择的内容服务器返回给域名解析请求者。
10.如权利要求9所述的装置,其特征在于,所述选择模块具体用于利用设置的均勻分布函数,确定本次域名解析请求的函数值;确定该函数值对应的内容服务器,将该内容服务器作为本次域名解析请求的内容服务器,其中,所述均勻分布函数的所有函数值预先按设定比例对应到各内容服务器;或者所述选择模块,具体用于根据各内容服务器的设定的选择概率以及上次解析请求后各内容服务器的误差确定各内容服务器的当前误差,其中各内容服务器的输出概率为Cli = ki/κ,κ = Wk3Ukn,其中ki k2 k3 ...1^为各内容服务器对应的设定比例;将当前误差中最大值对应的内容服务器选择作为本次域名解析请求的内容服务器,并将选择的内容服务器的当前误差减1。
11. 一种权威域名服务器,其特征在于,包括权利要求9或10所述的流量调度装置。
全文摘要
本发明涉及互联网通信技术领域,公开了一种基于DNS解析的流量调度方法、装置及服务器,该方法赋予DNS动态调节流量的能力,使动态负载均衡成为可能,设置得当,可以提高服务质量;提高带宽利用率;提高服务器的利用率,减少服务器使用数量。本发明的方法包括接收域名解析请求并获得域名;从该域名对应的多个内容服务器中选择一个内容服务器,使得选择后该多个内容服务器之间的选择次数基本满足设定比例;将选择的内容服务器返回给域名解析请求者。
文档编号H04L29/06GK102523231SQ20111044504
公开日2012年6月27日 申请日期2011年12月27日 优先权日2011年12月27日
发明者李健松, 李孟, 陈奇, 黄东 申请人:北京蓝汛通信技术有限责任公司