CN111787060B - 一种流量调度方法、***及装置 - Google Patents

一种流量调度方法、***及装置 Download PDF

Info

Publication number
CN111787060B
CN111787060B CN202010467398.5A CN202010467398A CN111787060B CN 111787060 B CN111787060 B CN 111787060B CN 202010467398 A CN202010467398 A CN 202010467398A CN 111787060 B CN111787060 B CN 111787060B
Authority
CN
China
Prior art keywords
cluster
service
candidate
domain name
traffic
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
CN202010467398.5A
Other languages
English (en)
Other versions
CN111787060A (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN202010467398.5A priority Critical patent/CN111787060B/zh
Priority to PCT/CN2020/096602 priority patent/WO2021237826A1/zh
Publication of CN111787060A publication Critical patent/CN111787060A/zh
Application granted granted Critical
Publication of CN111787060B publication Critical patent/CN111787060B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • 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
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Landscapes

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

Abstract

本发明公开了一种流量调度方法、***及装置,其中,所述方法包括:接收指向目标域名的域名解析请求,并识别所述目标域名的服务集群;从所述服务集群中筛选出候选集群,并确定各个所述候选集群对应的流量承担参数,所述流量承担参数用于表征所述候选集群接纳所述目标域名的流量的概率;根据所述流量承担参数,在各个所述候选集群中确定目标集群,并将所述目标集群作为所述域名解析请求的响应。本申请提供的技术方案,能够提高域名解析的稳定性。

Description

一种流量调度方法、***及装置
技术领域
本发明涉及互联网技术领域,特别涉及一种流量调度方法、***及装置。
背景技术
当前,各大网站通常会部署多个资源服务器,这些资源服务器可以向众多的互联网用户提供服务,从而使得互联网用户能够正常访问网站的资源。具体地,互联网用户需要访问某个网站的资源时,可以向域名解析服务器发送域名解析请求。域名解析服务器接收到域名解析请求后,便可以从多个资源服务器中选择一个资源服务器作为响应,并将选择的资源服务器的IP地址反馈给互联网用户,从而完成域名解析的过程。
目前,资源服务器通常可以按照“地区+运营商”的组合方式进行区分。例如,可以划分为“华南电信”、“华北联通”等多组资源服务器。后续,域名解析服务器可以根据用户所处的地理位置和采用的网络运营商,从划分的资源服务器中选择响应的资源服务器。
然而,现有的这种按照“地区+运营商”的方式为域名配置固定的资源服务器群组,如果某个地区出现网络波动,或者某个资源服务器群组的负载过高,会导致无法响应用户请求的情况,这样无疑会影响域名解析的稳定性。
发明内容
本申请的目的在于提供一种流量调度方法、***及装置,能够提高域名解析的稳定性。
为实现上述目的,本申请一方面提供一种流量调度方法,所述方法包括:接收指向目标域名的域名解析请求,并识别所述目标域名的服务集群;从所述服务集群中筛选出候选集群,并确定各个所述候选集群对应的流量承担参数,所述流量承担参数用于表征所述候选集群接纳所述域名解析请求的概率;根据所述流量承担参数,在各个所述候选集群中确定目标集群,并将所述目标集群作为所述域名解析请求的响应。
为实现上述目的,本申请另一方面还提供一种流量调度***,所述***包括:服务集群识别单元,用于接收指向目标域名的域名解析请求,并识别所述目标域名的服务集群;参数确定单元,用于从所述服务集群中筛选出候选集群,并确定各个所述候选集群对应的流量承担参数,所述流量承担参数用于表征所述候选集群接纳所述域名解析请求的概率;集群确定单元,用于根据所述流量承担参数,在各个所述候选集群中确定目标集群,并将所述目标集群作为所述域名解析请求的响应。
为实现上述目的,本申请另一方面还提供一种流量调度装置,所述流量调度装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的流量调度方法。
由上可见,本申请一个或者多个实施方式提供的技术方案,在接收到目标域名的域名解析请求时,可以从众多的服务集群中识别出目标域名的服务集群。后续,可以对识别出的服务集群进行筛选,从而确定出能够提供域名解析服务的候选集群。为了从这些候选集群中确定出作为响应的目标集群,可以计算各个候选集群的流量承担参数,该流量承担参数可以表征候选集群接纳该目标域名流量的概率。最终,根据计算的流量承担参数,可以确定出目标集群,并将目标集群作为所述域名解析请求的响应。可见,本申请并非是针对目标域名配置固定的资源服务器,而是动态地从众多的服务集群中确定出能够提供服务的目标集群,这样不仅可以保证域名解析服务的稳定性,还能够提供高效的域名解析服务。
附图说明
为了更清楚地说明本发明实施方式中的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中资源访问的***架构示意图;
图2是本发明实施方式中流量调度方法的步骤示意图;
图3是本发明实施方式中确定迁移流量的反馈控制环的示意图;
图4是本发明实施方式中确定迁移流量参数的反馈控制环的示意图;
图5是本发明实施方式中流量调度***的功能模块示意图;
图6是本发明实施方式中流量调度装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施方式及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施方式仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。
本申请提供的流量调度方法,可以应用于负载均衡服务器中。请参阅图1,该负载均衡服务器可以与域名解析服务器相连,从而可以接收域名解析服务器发来的域名解析请求。此外,该负载均衡服务器还可以探测目前存在的各个服务集群的信息,这样,负载均衡服务器可以从众多的服务集群中确定出适合为当前的域名解析请求提供服务的部分服务集群。后续,负载均衡服务器可以根据一定的策略,从这部分服务集群中筛选出目标集群,并将目标集群作为响应反馈给域名解析服务器,从而使得域名解析服务器能够完成域名解析的工作。
请参阅图2,以负载均衡服务器为例,本申请一个实施方式中提供的流量调度方法,可以包括以下多个步骤。
S1:接收指向目标域名的域名解析请求,并识别所述目标域名的服务集群。
在本实施方式中,用户客户端需要访问某个网站的资源时,可以向域名解析服务器发送指向该网站的目标域名的域名解析请求。域名解析服务器在接收到该域名解析请求后,可以将域名解析请求转发至负载均衡服务器,并从负载均衡服务器处获取该域名解析请求的响应结果。
在本实施方式中,为目标域名提供服务的服务集群可以无需按照地区或者运营商进行分组,而是可以统一为目标域名提供资源访问服务。为了保证服务质量,各个服务集群可以预先探测到用户客户端的时延、抖动、丢包等指标,并基于这些指标生成各个服务集群的服务质量参数(Quality of Service,QoS)。该服务质量参数可以存储于中央服务器中,这样,当需要使用服务质量参数时,负载均衡服务器便可以从中央服务器中获取该服务质量参数。当然,服务质量参数也可以下载至负载均衡服务器中,并由负载均衡服务器定期更新服务质量参数。这样,当需要使用服务质量参数时,负载均衡服务器便可以直接读取所需的服务质量参数。
需要说明的是,本申请对生成服务质量参数的方式并不做限定,只要能正常获取到服务质量参数即可。此外,针对不同的用户客户端,同一个服务集群可以对应不同的服务质量参数,具体地可以根据发起域名解析请求的用户客户端的IP地址来确定某个服务集群当前情况下的服务质量参数。
在本实施方式中,负载均衡服务器接收到域名解析服务器发来的域名解析请求后,可以识别该域名解析请求中携带的目标域名,并从众多的服务集群中识别出为目标域名提供服务的服务集群。具体地,服务集群可以按照服务的域名进行分类,当然,同一个服务集群可以服务多个不同的域名,因此同一个服务集群可以被归类至多个域名的类别中。这样,负载均衡服务器在识别出目标域名后,便可以将目标域名对应的类别中包含的服务集群,作为识别出的目标域名的服务集群。
S3:从所述服务集群中筛选出候选集群,并确定各个所述候选集群对应的流量承担参数,所述流量承担参数用于表征所述候选集群接纳所述目标域名的流量的概率。
在本实施方式中,为了实时地从识别出的服务集群中确定为用户客户端提供服务的目标集群,可以获取各个服务集群当前的工作状态参数。具体地,服务集群的工作状态参数可以涵盖多方面的数据。例如,可以包括当前时刻目标域名在服务集群中占用的带宽,当前时刻服务集群的总带宽,当前时刻服务集群的CPU利用率,当前时刻目标域名在服务集群中产生的CPU利用率,当前时刻目标域名在服务集群中新产生的HTTP请求数,当前时刻目标域名在服务集群中产生的TCP连接数,当前时刻服务集群中总的TCP连接数,当前时刻服务集群中新增流量所占的带宽,服务集群所支持的最大带宽等。这些工作状态参数可以是负载均衡服务器实时探测的,也可以是网络中其它设备探测的,然后由负载均衡服务器实时获取的,本申请对这些工作状态参数的数量以及生成方式并不做限定,只要负载均衡设备能够实时获取即可。
在本实施方式中,负载均衡服务器可以基于获取到的各项信息,从服务集群中进一步筛选出能够为目标域名提供正常服务的候选集群。具体地,服务集群中有部分集群可能当前处于异常状态,这部分集群可以被标识出来。这样通过识别具备表征异常状态的标识,从而可以确定出当前无法为域名解析请求提供服务的集群。此外,还有部分集群的负载可能较高,这部分集群也无法为域名解析请求提供服务。因此,首先可以从识别出的服务集群中剔除无法为所述域名解析请求提供服务的集群。
在一个实施方式中,针对剩余的能够为目标域名提供服务的服务集群而言,可以获取剩余的各个服务集群的服务质量参数,并根据所述服务质量参数对剩余的各个服务集群进行排序。具体地,可以按照服务质量参数从大到小的顺序为剩余的服务集群排序,这样,排序越靠前的服务集群,越能够为目标域名提供质量较好的服务。
在本实施方式中,对一个服务集群而言,如果当前网络中针对目标域名产生了新增流量,那么这部分新增流量可能会完全被同一个服务集群接收,也有可能由于服务集群的负载较高,服务集群只会接收新增流量中的一部分流量,其它流量会被其它的一个或者多个服务集群接收。鉴于此,在本实施方式中,可以对流量迁移和流量承担的情况进行分析。
在一个实施方式中,针对某个服务集群而言,可以先计算该服务集群在当前时刻的当前负载。该当前负载可以根据上述的各项工作状态参数综合计算得到。具体地,可以计算当前时刻所述目标域名在所述服务集群中所占的带宽与所述服务集群的总带宽之间的第一比值。然后可以计算当前时刻所述目标域名在所述服务集群中的连接数与所述服务集群的总连接数之间的第二比值。最终,可以获取所述服务集群在当前时刻的CPU利用率,并将所述第一比值、所述第二比值以及所述CPU利用率之间的最大值作为所述服务集群的当前负载。利用公式可以表述为:
L(c,t)=max{bw(c,t)/bw_limit,cpu(c,t),conn(c,t)/conn_limit}
其中,L(c,t)表示服务集群c在当前时刻t的当前负载,bw(c,t)表示当前时刻所述目标域名在所述服务集群中所占的带宽,bw_limit表示所述服务集群的总带宽,cpu(c,t)表示所述服务集群在当前时刻的CPU利用率,conn(c,t)表示当前时刻所述目标域名在所述服务集群中的连接数,conn_limit表示所述服务集群的总连接数。
在本实施方式中,不同时刻的服务集群,都可以对应不同的负载。后续,根据服务集群在各个时刻的负载,可以计算出当前时刻,目标域名的新增流量中被转移至其它服务集群中的迁移流量。具体地,可以按照上述的方式计算所述服务集群在当前时刻的当前负载和上一时刻的历史负载。然后,可以计算所述当前负载与负载阈值的第一差值,并计算所述当前负载和所述历史负载的第二差值。其中,负载阈值可以是预先设定的一个固定值,该负载阈值可以表征服务集群能够提供稳定服务的一个门槛值,如果服务集群的当前负载超过该负载阈值,则表示服务集群此时不太适合接收过多的新增流量。然后,可以计算所述第一差值与正比增益的第一乘积,并计算所述第二差值与差分增益的第二乘积。其中,正比增益和差分增益也可以是预先设定的固定值,正比增益和差分增益可以分别作为第一差值和第二差值的权重系数。最终,可以将所述第一乘积、第二乘积以及上一时刻的迁移流量的和作为当前时刻的迁移流量。其中,上一时刻的迁移流量也可以按照上述的方式往前迭代计算。上述过程利用公式可以表示为:
d(c,t)=d(c,t-1)+g_p(L(c,t)-th)+g_d(L(c,t)-L(c,t-1))
其中,d(c,t)表示当前时刻服务集群的迁移流量,d(c,t-1)表示上一时刻服务集群的迁移流量,g_p表示正比增益,L(c,t)表示服务集群的当前负载,th表示负载阈值,g_d表示差分增益,L(c,t-1)表示服务集群上一时刻的历史负载。
在实际应用中,上述确定服务集群的迁移流量的过程,可以通过反馈控制环来实现。具体地,请参阅图3,反馈控制环的输入可以是当前时刻目标域名的新增流量(demand),新增流量中有一部分迁移流量(d)需要被分配至其它的服务集群,通过该反馈控制环可以最终确定出这部分迁移流量。在反馈控制环中,新增流量与迁移流量的差值,可以作为承担流量(nL),被当前的服务集群接收,由于引入了承担流量,会导致服务集群的负载发生变化,从而生成当前负载。该当前负载可以通过STF(Service Time Filter,服务时间过滤器)模块来生成。具体地,STF模块可以按照以下公式计算当前负载:
L(t)=a L(t-1)+nL(t)
其中,L(t)表示当前时刻的当前负载,a是0至1之间的调节系数,L(t-1)表示上一时刻的历史负载,nL(t)表示上述的承担流量。
在生成当前负载后,可以根据当前负载(L)和负载阈值(th)生成误差负载(e),该误差负载可以通过控制器调节迁移流量的数值。后续,迁移流量的数值可以通过反馈环路进一步调节承担流量的数值,这样,根据反馈控制环路的调控,可以根据输入的新增流量,确定出迁移流量和承担流量。在仿真的反馈控制环路中添加延时单元可以用于表征观察周期的延时和域名解析服务器的部署延时。
然而,在实际的域名解析服务器中,在面对目标域名的新增流量时,通常无法控制迁移流量的绝对数值,而是只能控制新增流量在不同的服务集群中分布的概率(或者百分比)。因此,在确定出服务集群的迁移流量和承担流量后,还需要基于迁移流量和承担流量,分别确定出表征流量迁移概率的流量迁移参数(dp)以及表征流量承担概率的流量承担参数。
具体地,针对某个服务集群而言,可以确定当前时刻的新增流量,并按照上述方式计算出所述新增流量中被转移至其它服务集群中的迁移流量,然后,可以将所述迁移流量和所述新增流量的比值作为所述服务集群在当前时刻的流量迁移参数。而对应的流量承担参数,则可以通过(1-dp)的方式计算得到。
在实际应用中,可以对图3中的反馈控制环路进行改进,从而构成用于确定迁移流量参数的反馈控制环路。请参阅图4,可以根据当前时刻服务集群中新增的承担流量(nL),通过STF模块确定服务集群的当前负载(L),然后可以根据当前负载(L)和负载阈值(th)生成误差负载(e),该误差负载(e)可以经过控制器生成从服务集群转移出去的迁移流量(d)。根据所述迁移流量(d)和所述承担流量(nL)便可以计算得到流量迁移参数(dp)。具体地,迁移流量和承担流量的总和可以作为新增流量,通过计算模块可以将迁移流量与新增流量的比值作为流量迁移参数。流量承担参数,则可以通过计算模块按照(1-dp)的方式计算得到。计算得到的流量承担参数和下一时刻的新增流量可以综合生成下一时刻的承担流量,该下一时刻的承担流量则可以在下一次的反馈调控中,对从服务集群中转移出去的迁移流量进行调节。这样,按照图4所示的反馈控制环路,可以生成服务集群的流量迁移参数和流量承担参数。
在一个实施方式中,在从服务集群中筛选候选集群时,可以参考服务集群的流量迁移参数。具体地,当某个服务集群的流量迁移参数(dp)为100%时,则表明该服务集群的负载相当高,已经无法接收新增的任何流量,该服务集群应当不考虑作为候选集群。鉴于此,在从服务集群中剔除无法为域名解析请求提供服务的集群时,可以将标记无法工作的集群从所述服务集群中剔除,此外,还可以将流量迁移参数达到指定参数阈值的集群从所述服务集群中剔除。其中,该指定参数阈值可以根据实际情况灵活调整,例如,该指定参数阈值可以是100%。
在一个实施方式中,针对剩余的服务集群按照服务质量参数进行排序后,可以根据各个服务集群的流量迁移参数,按照排序结果依次从剩余的各个服务集群中搜索候选集群。在搜索候选集群时,可以按照排序结果依次检测各个服务集群的流量迁移参数。若当前服务集群的流量迁移参数的赋值不是指定参数值,则可以将所述当前服务集群作为一个候选集群,并继续检测下一个服务集群的流量迁移参数。而如果当前服务集群的流量迁移参数的赋值为所述指定参数值,则将所述当前服务集群作为一个候选集群之后,可以结束候选集群的搜索过程。其中,上述的指定参数值可以是较低的一个数值,原因在于,流量迁移参数表征了将新的流量从服务集群中转移出去的概率,如果流量迁移参数较低,则表明接纳新流量的概率很高,此时需要将流量在其它服务集群中分配的概率较小,因此可以不需要搜索过多的候选集群。在实际应用中,该指定参数值可以是0,表明如果搜索到一个流量迁移参数的赋值为0的候选集群的话,就可以停止搜索过程,因为当前的候选集群可以必定接收新增流量。按照上述的方式,可以搜索得到一个或者多个候选集群。其中,各个所述候选集群的流量承担参数和流量迁移参数,可以按照图4所示的方式生成。
S5:根据所述流量承担参数,在各个所述候选集群中确定目标集群,并将所述目标集群作为所述域名解析请求的响应。
在本实施方式中,负载均衡服务器可以从候选集群中选择一个目标集群,并将该目标集群作为域名解析请求的响应。在实际应用中,可以随机选择一个目标集群,并将该随机选择的目标集群作为响应。此外,还可以结合候选集群的流量承担参数来选择作为响应的目标集群。
具体地,各个候选集群的流量承担参数以及总承担参数可以如表1所示:
表1候选集群的流量承担参数和总承担参数
Figure BDA0002513095150000081
Figure BDA0002513095150000091
其中,dp可以表示候选集群的流量迁移参数,候选集群cN的流量迁移参数为上述的指定参数值(例如可以是0)。表1中的总承担参数,为位于当前候选集群以前的各个候选集群(包括当前候选集群)的流量承担参数之和。
在从候选集群中确定目标集群时,可以参考表1中的总承担参数,表1中的总承担参数可以作为当前候选集群的累加概率值,这些累加概率值分布在0至1之间。这些累加概率值可以将[0,1]的总概率区间划分为多个小的概率区间,这样,每个候选集群便可以对应其中的一个概率区间。由此可见,可以根据各个所述候选集群的流量承担参数,计算各个所述候选集群对应的概率区间。在确定目标集群时,可以在0至1之间生成一个随机概率值,并识别该随机概率值所处的目标概率区间。这样,可以将所述目标概率区间对应的候选集群作为确定的目标集群,并将所述目标集群的虚拟IP地址反馈给所述域名解析请求的发起方。具体地,负载均衡服务器可以将目标集群的虚拟IP地址反馈给域名解析服务器,域名解析服务器从而可以将该虚拟IP地址反馈给用户客户端。
在另一个实施方式中,还可以根据候选集群的流量承担参数和预设调节系数来确定目标集群。该预设调节系数可以是0至1之间的数值,并且可以根据实际情况灵活选择。具体地,针对当前候选集群而言,可以按照以下公式生成当前候选集群的判定阈值:
J=[1-dp(c)]K
其中,J表示当前候选集群c的判定阈值,K表示上述的预设调节系数。
在生成候选集群的判定阈值后,可以生成0至1之间的一个随机概率值,若所述随机概率值小于候选集群的判定阈值,则将所述候选集群作为确定的目标集群,并将所述目标集群的虚拟IP地址反馈给所述域名解析请求的发起方。而如果所述随机概率值大于或者等于候选集群的判定阈值,则可以针对下一个候选集群,继续按照相同的方式进行判定,直至找到符合判定条件的目标集群。在实际应用中,如果遍历了全部的候选集群,依然无法搜索到合适的目标集群,则可以从第一个候选集群开始,重新搜索目标集群,同时可以适当地改变K的数值。若遍历各个所述候选集群的次数达到指定次数(例如遍历了3次),并仍然无法确定目标集群时,则表示当前的候选集群负载都比较高,此时可以生成报警信息并在各个所述候选集群中随机确定一个目标集群,并将所述目标集群的虚拟IP地址反馈给所述域名解析请求的发起方。
在一个实施方式中,从候选集群中筛选出的目标集群的数量也可以是多个,并可以将这多个目标集群的虚拟IP地址反馈给域名解析请求的发起方。其中,各个目标集群在反馈结果中出现的次数,可以与流量承担参数成正比。这样,具备较好的流量接收能力的集群,在反馈结果中可以多次出现,从而达到负载均衡的效果。
这样,按照上述的方式,可以结合各个候选集群的实际负载情况,筛选出合适的目标集群为用户客户端提供服务。
请参阅图5,本申请还提供一种流量调度***,所述***包括:
服务集群识别单元,用于接收指向目标域名的域名解析请求,并识别所述目标域名的服务集群;
参数确定单元,用于从所述服务集群中筛选出候选集群,并确定各个所述候选集群对应的流量承担参数,所述流量承担参数用于表征所述候选集群接纳所述目标域名的流量的概率;
集群确定单元,用于根据所述流量承担参数,在各个所述候选集群中确定目标集群,并将所述目标集群作为所述域名解析请求的响应。
在一个实施方式中,所述参数确定单元包括:
集群剔除模块,用于从所述服务集群中剔除无法为所述域名解析请求提供服务的集群;
排序模块,用于获取剩余的各个服务集群的服务质量参数,并根据所述服务质量参数对剩余的各个服务集群进行排序;
候选集群搜索模块,用于根据剩余的各个服务集群的流量迁移参数,按照排序结果依次从剩余的各个服务集群中搜索候选集群;所述流量迁移参数用于表征将新的域名解析请求的流量从服务集群中转移出去的概率。
在一个实施方式中,所述集群确定单元包括:
概率区间计算模块,用于根据各个所述候选集群的流量承担参数,计算各个所述候选集群对应的概率区间;
区间识别模块,用于生成随机概率值,并识别所述随机概率值所处的目标概率区间;
目标集群确定模块,用于将所述目标概率区间对应的候选集群作为确定的目标集群,并将所述目标集群的虚拟IP地址反馈给所述域名解析请求的发起方。
在一个实施方式中,所述集群确定单元包括:
判定阈值生成模块,用于根据所述候选集群的流量承担参数和预设调节系数,生成所述候选集群的判定阈值;
阈值比较模块,用于生成随机概率值,若所述随机概率值小于所述候选集群的判定阈值,将所述候选集群作为确定的目标集群,并将所述目标集群的虚拟IP地址反馈给所述域名解析请求的发起方。
请参阅图6,本申请还提供一种流量调度装置,所述流量调度装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的流量调度方法。
由上可见,本申请一个或者多个实施方式提供的技术方案,在接收到目标域名的域名解析请求时,可以从众多的服务集群中识别出目标域名的服务集群。后续,可以对识别出的服务集群进行筛选,从而确定出能够提供域名解析服务的候选集群。为了从这些候选集群中确定出作为响应的目标集群,可以计算各个候选集群的流量承担参数,该流量承担参数可以表征候选集群接纳该目标有名的流量的概率。最终,根据计算的流量承担参数,可以确定出目标集群,并将目标集群作为所述域名解析请求的响应。可见,本申请并非是针对目标域名配置固定的资源服务器,而是动态地从众多的服务集群中确定出能够提供服务的目标集群,这样不仅可以保证域名解析服务的稳定性,还能够提供高效的域名解析服务。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,针对***和装置的实施方式来说,均可以参照前述方法的实施方式的介绍对照解释。
本领域内的技术人员应明白,本发明的实施方式可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施方式的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施方式而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (15)

1.一种流量调度方法,其特征在于,所述方法包括:
接收指向目标域名的域名解析请求,并识别所述目标域名的服务集群;
从所述服务集群中筛选出候选集群,并确定各个所述候选集群对应的流量承担参数,所述流量承担参数用于表征所述候选集群接纳所述目标域名的流量的概率;其中,确定各个所述候选集群对应的流量承担参数,具体包括:计算所述服务集群在当前时刻的当前负载和上一时刻的历史负载,计算所述当前负载与负载阈值的第一差值,并计算所述当前负载和所述历史负载的第二差值,计算所述第一差值与正比增益的第一乘积,并计算所述第二差值与差分增益的第二乘积;将所述第一乘积、第二乘积以及上一时刻的迁移流量的和作为当前时刻的迁移流量;其中,所述正比增益和所述差分增益分别为所述第一差值和所述第二差值的权重系数;确定当前时刻的新增流量,将所述迁移流量与所述新增流量的比值作为流量迁移参数,根据所述流量迁移参数计算所述候选集群的流量承担参数;根据所述流量承担参数和下一时刻的新增流量生成下一时刻的承担流量,所述下一时刻的承担流量在下一次的反馈调控中,对从所述服务集群中转移出去的迁移流量进行调节;
根据所述流量承担参数,在各个所述候选集群中确定目标集群,并将所述目标集群作为所述域名解析请求的响应。
2.根据权利要求1所述的方法,其特征在于,从所述服务集群中筛选出候选集群包括:
从所述服务集群中剔除无法为所述域名解析请求提供服务的集群;
获取剩余的各个服务集群的服务质量参数,并根据所述服务质量参数对剩余的各个服务集群进行排序;
根据剩余的各个服务集群的流量迁移参数,按照排序结果依次从剩余的各个服务集群中搜索候选集群;所述流量迁移参数用于表征将新的流量从服务集群中转移出去的概率。
3.根据权利要求2所述的方法,其特征在于,从所述服务集群中剔除无法为所述域名解析请求提供服务的集群包括:
将标记无法工作的集群从所述服务集群中剔除;以及
将流量迁移参数达到指定参数阈值的集群从所述服务集群中剔除。
4.根据权利要求2所述的方法,其特征在于,从剩余的各个服务集群中搜索候选集群包括:
按照排序结果依次检测各个服务集群的流量迁移参数;
若当前服务集群的流量迁移参数的赋值不是指定参数值,将所述当前服务集群作为一个候选集群,并继续检测下一个服务集群的流量迁移参数;
若当前服务集群的流量迁移参数的赋值为所述指定参数值,将所述当前服务集群作为一个候选集群,并结束候选集群的搜索过程。
5.根据权利要求1所述的方法,其特征在于,计算所述服务集群在当前时刻的当前负载包括:
获取所述服务集群当前的工作状态参数,并根据获取的所述工作状态参数计算所述服务集群在当前时刻的当前负载;其中,所述工作状态参数包括以下至少一种:
当前时刻目标域名在服务集群中占用的带宽;当前时刻服务集群的总带宽;当前时刻服务集群的CPU利用率;当前时刻目标域名在服务集群中产生的CPU利用率;当前时刻目标域名在服务集群中新产生的HTTP请求数;当前时刻目标域名在服务集群中产生的TCP连接数;当前时刻服务集群中总的TCP连接数;当前时刻服务集群中新增流量所占的带宽;服务集群所支持的最大带宽。
6.根据权利要求1或5所述的方法,其特征在于,计算所述服务集群在当前时刻的当前负载包括:
计算当前时刻所述目标域名在所述服务集群中所占的带宽与所述服务集群的总带宽之间的第一比值;
计算当前时刻所述目标域名在所述服务集群中的连接数与所述服务集群的总连接数之间的第二比值;
获取所述服务集群在当前时刻的CPU利用率,并将所述第一比值、所述第二比值以及所述CPU利用率之间的最大值作为所述服务集群的当前负载。
7.根据权利要求6所述的方法,其特征在于,确定所述候选集群的当前负载包括:
计算调节系数与上一时刻的历史负载之间的乘积,并将所述乘积与所述承担流量之和作为所述候选集群的当前负载。
8.根据权利要求1所述的方法,其特征在于,在各个所述候选集群中确定目标集群包括:
根据各个所述候选集群的流量承担参数,计算各个所述候选集群对应的概率区间;
生成随机概率值,并识别所述随机概率值所处的目标概率区间;
将所述目标概率区间对应的候选集群作为确定的目标集群,并将所述目标集群的虚拟IP地址反馈给所述域名解析请求的发起方。
9.根据权利要求8所述的方法,其特征在于,计算各个所述候选集群对应的概率区间包括:
针对当前候选集群而言,将位于所述当前候选集群以前的各个候选集群的流量承担参数相加,并将相加后的结果作为所述当前候选集群的累加概率值;
利用各个所述候选集群的累加概率值进行概率区间的划分,以生成各个所述候选集群对应的概率区间。
10.根据权利要求8所述的方法,其特征在于,所述目标集群的数量为多个,并且各个目标集群出现的次数与目标集群的流量承担参数成正比。
11.根据权利要求1所述的方法,其特征在于,在各个所述候选集群中确定目标集群包括:
根据所述候选集群的流量承担参数和预设调节系数,生成所述候选集群的判定阈值;
生成随机概率值,若所述随机概率值小于所述候选集群的判定阈值,将所述候选集群作为确定的目标集群,并将所述目标集群的虚拟IP地址反馈给所述域名解析请求的发起方。
12.根据权利要求11所述的方法,其特征在于,将所述流量承担参数和所述预设调节系数的乘积作为所述候选集群的判定阈值。
13.根据权利要求11所述的方法,其特征在于,所述方法还包括:
若遍历各个所述候选集群的次数达到指定次数,并无法确定目标集群时,生成报警信息并在各个所述候选集群中随机确定一个目标集群,并将所述目标集群的虚拟IP地址反馈给所述域名解析请求的发起方。
14.一种流量调度***,其特征在于,所述***包括:
服务集群识别单元,用于接收指向目标域名的域名解析请求,并识别所述目标域名的服务集群;
参数确定单元,用于从所述服务集群中筛选出候选集群,并确定各个所述候选集群对应的流量承担参数,所述流量承担参数用于表征所述候选集群接纳所述目标域名的流量的概率;其中,确定各个所述候选集群对应的流量承担参数,具体包括:计算所述服务集群在当前时刻的当前负载和上一时刻的历史负载,计算所述当前负载与负载阈值的第一差值,并计算所述当前负载和所述历史负载的第二差值,计算所述第一差值与正比增益的第一乘积,并计算所述第二差值与差分增益的第二乘积;将所述第一乘积、第二乘积以及上一时刻的迁移流量的和作为当前时刻的迁移流量;其中,所述正比增益和所述差分增益分别为所述第一差值和所述第二差值的权重系数;确定当前时刻的新增流量,将所述迁移流量与所述新增流量的比值作为流量迁移参数,根据所述流量迁移参数计算所述候选集群的流量承担参数;根据所述流量承担参数和下一时刻的新增流量生成下一时刻的承担流量,所述下一时刻的承担流量在下一次的反馈调控中,对从所述服务集群中转移出去的迁移流量进行调节;
集群确定单元,用于根据所述流量承担参数,在各个所述候选集群中确定目标集群,并将所述目标集群作为所述域名解析请求的响应。
15.一种流量调度装置,其特征在于,所述流量调度装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至13中任一项所述的方法。
CN202010467398.5A 2020-05-28 2020-05-28 一种流量调度方法、***及装置 Active CN111787060B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010467398.5A CN111787060B (zh) 2020-05-28 2020-05-28 一种流量调度方法、***及装置
PCT/CN2020/096602 WO2021237826A1 (zh) 2020-05-28 2020-06-17 一种流量调度方法、***及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010467398.5A CN111787060B (zh) 2020-05-28 2020-05-28 一种流量调度方法、***及装置

Publications (2)

Publication Number Publication Date
CN111787060A CN111787060A (zh) 2020-10-16
CN111787060B true CN111787060B (zh) 2022-01-07

Family

ID=72754158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010467398.5A Active CN111787060B (zh) 2020-05-28 2020-05-28 一种流量调度方法、***及装置

Country Status (2)

Country Link
CN (1) CN111787060B (zh)
WO (1) WO2021237826A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584565B (zh) * 2020-12-01 2024-01-30 中移(苏州)软件技术有限公司 一种应用防护方法及***、电子设备及存储介质
CN113504976B (zh) * 2021-06-10 2023-05-23 中国联合网络通信集团有限公司 软件定义网络架构调度方法、***、终端设备及存储介质
CN114448897B (zh) * 2021-12-29 2024-01-02 天翼云科技有限公司 一种目标器迁移方法及装置
CN114466020A (zh) * 2022-01-04 2022-05-10 百果园技术(新加坡)有限公司 服务请求的处理方法、装置、设备、存储介质及程序产品
CN114884944B (zh) * 2022-04-28 2024-04-30 广东电网有限责任公司 一种数据处理方法、装置、设备和存储介质
CN115086234B (zh) * 2022-05-09 2024-04-26 阿里巴巴(中国)有限公司 消息处理方法及***、设备及存储介质
CN115225507B (zh) * 2022-07-21 2024-03-08 天翼云科技有限公司 一种服务器组资源分配方法、装置、设备及介质
CN115665263A (zh) * 2022-10-19 2023-01-31 上海浦东发展银行股份有限公司 一种流量调拨方法、装置、服务器及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040249939A1 (en) * 2003-05-23 2004-12-09 International Business Machines Corporation Methods and apparatus for dynamic and optimal server set selection
CN101114927A (zh) * 2006-07-24 2008-01-30 华为技术有限公司 一种实现负载均衡的***及方法
CN101442435B (zh) * 2008-12-25 2012-04-04 华为技术有限公司 分布式***的业务数据管理方法、装置及分布式***
CN101593133B (zh) * 2009-06-29 2012-07-04 北京航空航天大学 虚拟机资源负载均衡方法及装置
CN101754280A (zh) * 2009-12-28 2010-06-23 华为技术有限公司 多载波的负载均衡方法及装置
CN102118433A (zh) * 2010-12-27 2011-07-06 网宿科技股份有限公司 多层次的分布式集群***
CN102149138B (zh) * 2011-05-26 2013-04-24 东南大学 无线Mesh网络网关负载均衡的方法
US9253144B2 (en) * 2011-12-22 2016-02-02 International Business Machines Corporation Client-driven load balancing of dynamic IP address allocation
CN102523231A (zh) * 2011-12-27 2012-06-27 北京蓝汛通信技术有限责任公司 一种基于dns解析的流量调度方法、装置及服务器
CN102739414A (zh) * 2012-07-12 2012-10-17 苏州阔地网络科技有限公司 一种网络会议漂移方法及***
EP2688354B1 (en) * 2012-07-20 2019-07-10 Alcatel Lucent Radio access point for managing user-plane of a plurality of bearers
CN103595649A (zh) * 2013-11-21 2014-02-19 迈普通信技术股份有限公司 实现负载均衡的方法和***
CN103746929A (zh) * 2014-01-13 2014-04-23 刘保太 基于dns的优化访问流量调度方法和设备
US9473415B2 (en) * 2014-02-20 2016-10-18 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
CN104301243B (zh) * 2014-09-22 2018-06-15 华为技术有限公司 一种负载控制方法和装置
CN104615498B (zh) * 2015-01-22 2018-04-03 北京仿真中心 一种基于任务迁移的集群***动态负载均衡方法
CN104750541B (zh) * 2015-04-22 2018-01-16 成都睿峰科技有限公司 一种虚拟机迁移方法
CN106059945B (zh) * 2016-05-13 2019-08-27 浙江宇视科技有限公司 一种流量控制方法及视频监控***
CN109981805B (zh) * 2017-12-28 2022-04-15 ***通信集团山东有限公司 一种域名解析的方法及装置
US10972387B2 (en) * 2018-06-16 2021-04-06 Versa Networks, Inc. Application performance based path-selection using dynamic metrics
CN108984307B (zh) * 2018-07-19 2020-11-10 中国联合网络通信集团有限公司 计算任务迁移方法及计算任务迁移器
CN108769271A (zh) * 2018-08-20 2018-11-06 北京百度网讯科技有限公司 负载均衡的方法、装置、存储介质和终端设备
CN109347947A (zh) * 2018-10-15 2019-02-15 郑州云海信息技术有限公司 一种负载均衡的方法、域名服务器及集群nas服务器
CN109976917B (zh) * 2019-04-08 2020-09-11 科大讯飞股份有限公司 一种负载调度方法、装置、负载调度器、存储介质及***
CN110830604B (zh) * 2019-10-28 2021-09-10 腾讯科技(深圳)有限公司 Dns调度方法、装置

Also Published As

Publication number Publication date
WO2021237826A1 (zh) 2021-12-02
CN111787060A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN111787060B (zh) 一种流量调度方法、***及装置
CN107026907B (zh) 一种负载均衡方法、负载均衡器及负载均衡***
CN107872402B (zh) 全局流量调度的方法、装置及电子设备
US8576710B2 (en) Load balancing utilizing adaptive thresholding
WO2016074323A1 (zh) 内容分发网络的http调度***和方法
CN116915787A (zh) 多集群入口
CN110401657B (zh) 一种访问日志的处理方法及装置
CN112445774A (zh) 一种分布式共享文件***及其数据处理方法
CN107317841B (zh) 一种数据服务请求处理方法及装置
CN113794690B (zh) 数据处理方法、装置、非易失性存储介质及处理器
CN113810304A (zh) 一种负载均衡方法、装置、设备和计算机存储介质
CN108322495B (zh) 资源访问请求的处理方法、装置和***
CN102724105B (zh) 一种负载均衡方法和装置
CN111614484A (zh) 一种节点流量的调入、恢复方法、***及中心服务器
JP2005182641A (ja) 動的負荷分散システム及び動的負荷分散方法
CN109460301B (zh) 一种流数据负载的弹性资源配置方法及***
CN107835262A (zh) 一种流媒体服务器负载动态分配方法
Ider et al. An enhanced AHP–TOPSIS-based load balancing algorithm for switch migration in software-defined networks
CN114244805B (zh) 一种域名配置方法及设备
CN105872082B (zh) 基于容器集群负载均衡算法的细粒度资源响应***
CN112637286B (zh) 网络架构调整方法、装置、***和计算机可读存储介质
CN113760549A (zh) 一种pod部署方法及装置
CN106445709A (zh) 一种分布式调用服务器的方法及其***
CN112948104B (zh) 负载均衡的数据采集方法及装置
CN112887224A (zh) 流量调度处理方法、装置、电子设备及存储介质

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
GR01 Patent grant
GR01 Patent grant