DNS服务器的分布式限速方法和系统技术方案

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

【技术实现步骤摘要】
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服务器的分布式限速方法,对系统的限速采用分布式的部署方式,拆分了可处理请求数的生成和使用,限速不在由每台服务器单独控制,由数据中心整体进行控制,确保整个系统的请求处理量接近预期本文档来自技高网...

【技术保护点】
1.一种DNS服务器的分布式限速方法,其特征在于,所述方法包括:/n设置整个服务器集群的总限速阈值,记录整个服务器集群可处理请求的总数;/n各服务器根据接收用户的实际请求数与被分配的可处理请求的数量之间的差异,确定是否向集群数据中心请求新分配可处理请求数;/n集群数据中心将限速周期分成n个时间分片,基于各服务器的请求,在每个时间分片内设定每次向服务器提供新分配可处理请求数为阈值的1/n。/n

【技术特征摘要】
1.一种DNS服务器的分布式限速方法,其特征在于,所述方法包括:
设置整个服务器集群的总限速阈值,记录整个服务器集群可处理请求的总数;
各服务器根据接收用户的实际请求数与被分配的可处理请求的数量之间的差异,确定是否向集群数据中心请求新分配可处理请求数;
集群数据中心将限速周期分成n个时间分片,基于各服务器的请求,在每个时间分片内设定每次向服务器提供新分配可处理请求数为阈值的1/n。


2.根据权利要求1所述的方法,其特征在于,各服务器在一个时间分片内对收到的用户请求进行处理,如判断当前服务器的可处理请求数为0,则向集群数据中心请求新分配设定数量的可处理请求数,如请求获取成功,则继续提供服务,如请求获取失败,则对收到的用户请求进行丢弃处理。


3.根据权利要求2所述的方法,其特征在于,对各服务器请求新分配的可处理请求数总和超过设定总限速阈值的请求进行丢弃,不再分配。


4.根据权利要求2所述的方法,其特征在于,各服务器如向集群数据中心的请求获取失败,设定在当前时间分片内不可再向集群数据中心请求,直至下一个时间分片方可继续请求获取。


5.根据权利要求2或4所述的方法,其特征在于,在收到用户的请求后,如各服务...

【专利技术属性】
技术研发人员:杨明宝吴琦孙浩然邢志杰毛伟
申请(专利权)人:互联网域名系统北京市工程研究中心有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1