CN112600877A - Dns服务器的分布式限速方法和系统 - Google Patents

Dns服务器的分布式限速方法和系统 Download PDF

Info

Publication number
CN112600877A
CN112600877A CN202011367223.3A CN202011367223A CN112600877A CN 112600877 A CN112600877 A CN 112600877A CN 202011367223 A CN202011367223 A CN 202011367223A CN 112600877 A CN112600877 A CN 112600877A
Authority
CN
China
Prior art keywords
request
requests
speed limit
processable
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.)
Granted
Application number
CN202011367223.3A
Other languages
English (en)
Other versions
CN112600877B (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.)
INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER
Original Assignee
INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER
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 INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER filed Critical INTERNET DOMAIN NAME SYSTEM BEIJING ENGINEERING RESEARCH CENTER
Priority to CN202011367223.3A priority Critical patent/CN112600877B/zh
Publication of CN112600877A publication Critical patent/CN112600877A/zh
Application granted granted Critical
Publication of CN112600877B publication Critical patent/CN112600877B/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/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
    • 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
    • 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
    • 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/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Landscapes

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

Abstract

本发明涉及互联网域名技术领域,公开了一种DNS服务器的分布式限速方法和系统,该方法包括:设置整个服务器集群的总限速阈值,记录整个服务器集群可处理请求的总数;各服务器根据接收用户的实际请求数与被分配的可处理请求的数量之间的差异,确定是否向集群数据中心请求新分配可处理请求数;集群数据中心将限速周期分成n个时间分片,基于各服务器的请求,在每个时间分片内设定每次向服务器提供新分配可处理请求数为阈值的1/n。本发明解决了单台限速时,请求量的不均衡问题,整个系统的请求处理量更接近限速阈值,也解决了突发流量时,请求量的不均衡问题,使平均处理请求数更接近限速预期。

Description

DNS服务器的分布式限速方法和系统
技术领域
本发明涉及互联网技术领域,具体地,涉及一种DNS服务器的分布式限速方法和系统。
背景技术
目前的服务器限速大都是单服务器限速,集群模式下可能会导致限速不均衡。例如数据中心下有2台服务器,每台限速100,期望整体限速阈值为200,但是服务器A可能收到300个请求,服务B只收到50个请求,服务器A只处理100个请求,对超过阈值的200个请求进行了丢弃处理,服务器B只处理了50个请求,整个集群只处理了150个请求,没有达到预期。
因此,单服务器限速在集群模式由于请求接收量不均衡可能会导致达不到预期限速阙值,会造成资源的浪费。
发明内容
针对现有技术的缺陷,本发明的目的在于提供一种基于DNS服务器集群模式下的分布式限速方法及系统,以使得整体能处理的请求量更接近预期的限速阈值,提高资源的利用率。
本发明的第一方面,提供了一种DNS服务器的分布式限速方法,包括:
设置整个服务器集群的总限速阈值,记录整个服务器集群可处理请求的总数;
根据各服务器接收用户的实际请求数与被分配的可处理请求的数量之间的差异,确定是否向集群数据中心请求新分配可处理请求数;
集群数据中心将限速周期分成n个时间分片,基于各服务器的请求,在每个时间分片内设定每次向服务器提供新分配可处理请求数为阈值的1/n。
进一步地,各服务器在一个时间分片内对收到的用户请求进行处理,如判断当前服务器的可处理请求数为0,则向集群数据中心请求新分配设定数量的可处理请求数,如请求获取成功,则继续提供服务,如请求获取失败,则对收到的用户请求进行丢弃处理。
进一步地,对各服务器请求新分配的可处理请求数总和超过设定总限速阈值的请求进行丢弃。
进一步地,各服务器如向集群数据中心的请求获取失败,设定在当前时间分片内不可再向集群数据中心请求,直至下一个时间分片方可继续请求获取。
进一步地,如在收到用户的请求后,计算和判断出该服务器本次可处理的请求数为0,则在一个时间分片内,能够向集群数据中心进行多次请求分配。
进一步地,所述集群的数据中心根据整个服务器集群的资源数量差异对总限速阈值进行修改。
进一步地,所述n个时间分片为一个限速周期等分而成,一个限速周期优选为1S。
本发明的另一方面,还提供了一种DNS服务器的分布式限速系统,所述系统包括:
总限速模块,设置于服务器集群的数据中心,根据分限速模块的请求向分限速模块分发设定的可处理请求数,其中,所述总限速模块设置总限速阈值,并记录整个服务器集群中可处理请求的总数,将一个限速周期分成n个时间分片,设定每个时间分片可处理请求的数量每次增加为阈值的1/n;
分限速模块,设置于各台服务器中,所述分限速模块记录当前的用户发送的实际请求数量,并与被分配的可处理请求的数量之间的差异,确定是否根据分片规则再次向集群数据中心请求新分配可处理请求数。
进一步地,所述总限速模块包括阈值调整单元,用于根据集群下的各服务器获取总量对总限速阈值进行调整,其中,对超过总限速阈值的请求不再分配。
与现有技术相比,本发明提供的一种DNS服务器的分布式限速方法及系统,达到了如下技术效果:
1、本发明对可处理请求数采用分布式的部署方式,拆分了可处理请求数的生成和使用,限速不在由每台服务器单独控制,由数据中心整体进行控制,确保整个系统的请求处理量接近预期的限速阈值,并且需要修改限速阈值时,只需修改数据中心的限速阈值,不再需要每台服务器都进行修改操作。
2、本发明对每个限速周期进行了更精细的分片,可以应对突发流量,使平均处理请求数更接近限速预期,也解决了单台限速时,请求量的不均衡问题,整个系统的请求处理量更接近限速阈值。
附图说明
图1是本发明实施例中的DNS服务器的分布式限速方法的流程示意图。
图2是本发明实施例中的DNS服务器的分布式限速系统的架构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例为实施本发明的较佳实施方式,所述描述是以说明本发明的一般原则为目的,并非用以限定本发明的范围。本发明的保护范围应当以权利要求所界定者为准,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1所示,本发明实施例所公开的一种DNS服务器的分布式限速方法,包括如下:
设置整个服务器集群的总限速阈值,记录整个服务器集群可处理请求的总数,并限定限速阈值M,同时,集群数据中心将限速周期分成n个时间分片,n为一个限速周期等分而成,每一个时间分片可处理请求的总数增加阙值的1/n,如果可处理请求总数达到阙值M,则停止增加。
各服务器根据接收用户的实际请求数与被分配的可处理请求的数量之间的差异,确定是否向集群数据中心请求新分配可处理请求数,在每个每个时间分片内,向集群数据中心能够请求新分配的可处理请求数为阈值的1/n。
假设每个时间分片内总限速模块自增的可处理请求数=m>=M?0:(1/n)*M,其中,m为总限速模块当前拥有的可处理请求数,当m大于等于M时,等式左边等于0,否则等于(1/n)*M。
各服务器记录当前其所能够处理的请求数量,在一个时间分片内对用户的请求进行处理,初始为0,每处理一个请求,自己的可处理请求数量减1,当各服务器计算和判断来自用户的可处理请求数为0且还收到用户的请求时,则说明被分配的可处理请求数量不够,则向集群数据中心请求新分配一定数量的可处理请求数,在一个时间分片内可多次请求,如请求获取成功,则继续提供服务,如请求获取失败,比如集群数据中心的可处理请求数不够,则对收到的用户请求进行丢弃处理,并设定在当前时间分片内不可再向集群数据中心请求,直至到下一个时间分片方可继续请求获取。。
由于不同的服务器集群所包含的服务器数量有差异,且每个服务器一次性可处理的请求总数不同,根据整个服务器集群的资源数量差异,本发明还设置了对总限速阈值进行修改,以适应不同类型的服务器集群。
举例来说,某数据中心下有2台服务器(服务器A和服务器B),期望整体限速阈值为200,时间分片为0.1秒,集群数据中心每0.1秒可处理请求总数加20,如果等于200则不再增加。服务器A和B在收到请求后,当自身的可处理请求数为0时,向集群的数据中心获取10个可处理请求数,假设A每0.1秒收到15个请求,B每0.1秒收到5个请求,则1秒钟处理的请求量为195(如果设置集群数据中心初始可处理请求数大于等于10个则可达到200);假设A和B前0.9秒都没收到请求,最后0.1秒A收到200请求时,可以连续向集群数据中心获取可处理请求数,200个请求都可以得到处理。
本发明实施例所公开的一种DNS服务器的分布式限速方法,对系统的限速采用分布式的部署方式,拆分了可处理请求数的生成和使用,限速不在由每台服务器单独控制,由数据中心整体进行控制,确保整个系统的请求处理量接近预期的限速阈值,并且需要修改限速阈值时,只需修改数据中心的限速阈值,不再需要每台服务器都进行修改操作。
本领域技术人员应理解,实现上述实施例方法中的部分或全部步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的相应步骤,而所述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。
与上述方法相对应的,配合参照图2所示,本发明的另一实施例还同时提供一种DNS服务器的分布式限速系统,该系统包括:
总限速模块,设置于服务器集群的数据中心,根据分限速模块的请求向分限速模块分发设定的可处理请求数,其中,所述总限速模块设置总限速阈值,并记录整个服务器集群中可处理请求的总数,将一个限速周期分成n个时间分片,设定每个时间分片可处理请求的数量每次增加为阈值的1/n;
分限速模块,设置于各台服务器中,所述分限速模块记录当前的用户发送的实际请求数量,并与被分配的可处理请求的数量之间的差异,确定是否根据分片规则再次向集群数据中心请求新分配可处理请求数。
所述总限速模块包括阈值调整单元,用于根据集群下的各服务器获取请求的总量对总限速阈值进行调整。
下面通过一个具体的实施例来对本发明的具体实施流程进行说明:
1、假设开始时总限速模块的可处理请求数和分限速模块的可处理请求数都为0,当到第一个时间分片即0.1秒时,总限速模块的可处理请求数增加为20,A和B都收到请求,A获得10个,B获得10个,此时A收到15个请求,处理10个后无可处理请求数,向总限速模块请求,但总限速模块此时已无可处理请求数,则丢弃剩下5个请求,B处理5个请求后还有5个可处理请求数。
2、当到达第二个时间分片即0.2秒时,总限速模块的可请求数增加为20,A收到15个请求,向总限速模块请求,得到10个可处理请求数,处理10请求个后继续向总限速模块请求,获得10个可处理请求数,处理5个请求,剩余5个可处理请求数。B收到5个请求,处理5个后无可处理请求数。
3、当到第三个时间分片即0.3秒时,总限速模块的可请求数增加为20,A收到15个请求,处理5个后无可处理请求数,向总限速模块请求10个可处理请求数,处理剩下10个请求,可处理请求数为0。B收到5个请求,向总限速模块请求10个可处理请求数,处理5个,剩余5个可处理请求数。
4、当到第四个时间分片即0.4秒时,总限速模块的可请求数增加为20,此时A剩余0个可处理请求,B剩余5个可处理请求,与0.2秒处使状态时情况一致,故重复前述步骤中的0.2、0.3秒的操作,每次增加的20个可处理请求数都会被完全分配出去,到1秒时除了第一个时间分片内A丢弃了5个请求,其他请求均得到处理,故得出1秒可处理195个请求,整个系统的请求处理量更接近限速阈值。
通过对每个限速周期进行了更精细的分片,解决了突发流量时,请求量的不均衡问题,使平均处理请求数更接近限速预期。分布式的部署方式,拆分了可处理请求数的生成和使用,解决了单台限速时,请求量的不均衡问题,整个系统的请求处理量更接近限速阈值。
上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (10)

1.一种DNS服务器的分布式限速方法,其特征在于,所述方法包括:
设置整个服务器集群的总限速阈值,记录整个服务器集群可处理请求的总数;
各服务器根据接收用户的实际请求数与被分配的可处理请求的数量之间的差异,确定是否向集群数据中心请求新分配可处理请求数;
集群数据中心将限速周期分成n个时间分片,基于各服务器的请求,在每个时间分片内设定每次向服务器提供新分配可处理请求数为阈值的1/n。
2.根据权利要求1所述的方法,其特征在于,各服务器在一个时间分片内对收到的用户请求进行处理,如判断当前服务器的可处理请求数为0,则向集群数据中心请求新分配设定数量的可处理请求数,如请求获取成功,则继续提供服务,如请求获取失败,则对收到的用户请求进行丢弃处理。
3.根据权利要求2所述的方法,其特征在于,对各服务器请求新分配的可处理请求数总和超过设定总限速阈值的请求进行丢弃,不再分配。
4.根据权利要求2所述的方法,其特征在于,各服务器如向集群数据中心的请求获取失败,设定在当前时间分片内不可再向集群数据中心请求,直至下一个时间分片方可继续请求获取。
5.根据权利要求2或4所述的方法,其特征在于,在收到用户的请求后,如各服务器可处理请求数为0,在一个时间分片内,能够向集群数据中心进行多次请求分配。
6.根据权利要求1所述的方法,其特征在于,所述集群的数据中心根据整个服务器集群的资源数量差异对总限速阈值进行修改。
7.根据权利要求1所述的系统,其特征在于,所述n个时间分片为一个限速周期等分而成。
8.根据权利要求1或7所述的系统,其特征在于,所述的一个限速周期为1秒。
9.一种DNS服务器的分布式限速系统,其特征在于,所述系统包括:
总限速模块,设置于服务器集群的数据中心,根据分限速模块的请求向分限速模块分发设定的可处理请求数,其中,所述总限速模块设置总限速阈值,并记录整个服务器集群中可处理请求的总数,将一个限速周期分成n个时间分片,设定每个时间分片可处理请求的数量每次增加为阈值的1/n;
分限速模块,设置于各台服务器中,所述分限速模块记录当前的用户发送的实际请求数量,并与被分配的可处理请求的数量之间的差异,确定是否根据分片规则再次向集群数据中心请求新分配可处理请求数。
10.根据权利要求9所述的系统,其特征在于,所述总限速模块包括阈值调整单元,用于根据集群下的各服务器获取请求的总量对总限速阈值进行调整。
CN202011367223.3A 2020-11-27 2020-11-27 Dns服务器的分布式限速方法和系统 Active CN112600877B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011367223.3A CN112600877B (zh) 2020-11-27 2020-11-27 Dns服务器的分布式限速方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011367223.3A CN112600877B (zh) 2020-11-27 2020-11-27 Dns服务器的分布式限速方法和系统

Publications (2)

Publication Number Publication Date
CN112600877A true CN112600877A (zh) 2021-04-02
CN112600877B CN112600877B (zh) 2023-01-10

Family

ID=75189062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011367223.3A Active CN112600877B (zh) 2020-11-27 2020-11-27 Dns服务器的分布式限速方法和系统

Country Status (1)

Country Link
CN (1) CN112600877B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641505A (zh) * 2021-10-14 2021-11-12 阿里云计算有限公司 一种服务器集群的资源分配控制方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685336A (zh) * 2012-08-31 2014-03-26 腾讯科技(深圳)有限公司 过载保护方法、装置及服务器
US20190363988A1 (en) * 2018-05-25 2019-11-28 Software Ag System and/or method for predictive resource management in file transfer servers
CN111786895A (zh) * 2020-03-16 2020-10-16 北京京东尚科信息技术有限公司 动态全局限流的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685336A (zh) * 2012-08-31 2014-03-26 腾讯科技(深圳)有限公司 过载保护方法、装置及服务器
US20190363988A1 (en) * 2018-05-25 2019-11-28 Software Ag System and/or method for predictive resource management in file transfer servers
CN111786895A (zh) * 2020-03-16 2020-10-16 北京京东尚科信息技术有限公司 动态全局限流的方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641505A (zh) * 2021-10-14 2021-11-12 阿里云计算有限公司 一种服务器集群的资源分配控制方法和装置
CN113641505B (zh) * 2021-10-14 2022-01-04 阿里云计算有限公司 一种服务器集群的资源分配控制方法和装置

Also Published As

Publication number Publication date
CN112600877B (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
CN107026907B (zh) 一种负载均衡方法、负载均衡器及负载均衡系统
CN110365765B (zh) 一种缓存服务器的带宽调度方法及装置
CN107066332B (zh) 分布式系统及其调度方法和调度装置
CN113810304A (zh) 一种负载均衡方法、装置、设备和计算机存储介质
CN108845882B (zh) 基于转码任务调度实现cpu负载均衡的方法和装置
CN108667938B (zh) 切换流量的方法、装置及服务器
CN109189578B (zh) 存储服务器分配方法、装置、管理服务器以及存储系统
CN111787060A (zh) 一种流量调度方法、系统及装置
CN111078391A (zh) 一种业务请求处理方法、装置及设备
CN113655969B (zh) 一种基于流式分布式存储系统的数据均衡存储方法
CN112600877B (zh) Dns服务器的分布式限速方法和系统
CN110888735A (zh) 基于一致性哈希的分布式消息分发方法、装置和调度节点
US20070265976A1 (en) License distribution in a packet data network
CN111752924A (zh) 一种数据库迁移方法、系统及存储介质
CN113641505B (zh) 一种服务器集群的资源分配控制方法和装置
CN111078386A (zh) 一种分布式调度系统的控制方法及控制装置
CN110602229A (zh) 基于动态切片的终端系统版本下载方法、装置及系统
US8095228B2 (en) Data distribution apparatus, its control method, program, and storage medium
CN106790610B (zh) 一种云系统消息分发方法,装置和系统
CN110083313B (zh) 一种数据缓存方法及装置
CN116150067A (zh) 一种带宽调整方法、装置、电子设备和存储介质
CN108200185B (zh) 一种实现负载均衡的方法及装置
CN114443274A (zh) 调节微服务线程池中线程数的方法、装置及可读存储介质
CN112751926B (zh) 一种集群中工作节点的管理方法、系统及相关装置
CN112948104B (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