CN111447100B - 用户带宽控制方法、装置、计算机设备及存储介质 - Google Patents

用户带宽控制方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111447100B
CN111447100B CN202010120282.4A CN202010120282A CN111447100B CN 111447100 B CN111447100 B CN 111447100B CN 202010120282 A CN202010120282 A CN 202010120282A CN 111447100 B CN111447100 B CN 111447100B
Authority
CN
China
Prior art keywords
bandwidth
physical machine
user
actual
preset
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
CN202010120282.4A
Other languages
English (en)
Other versions
CN111447100A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202010120282.4A priority Critical patent/CN111447100B/zh
Publication of CN111447100A publication Critical patent/CN111447100A/zh
Priority to PCT/CN2020/119138 priority patent/WO2021169299A1/zh
Application granted granted Critical
Publication of CN111447100B publication Critical patent/CN111447100B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本申请实施例提供了一种基于分布式多物理机的用户带宽控制方法、装置、计算机设备及计算机可读存储介质,属于流量监控技术领域,通过获取第一实际带宽,第一实际带宽为路由器按照随机方式发送的预设用户的业务流量在第一物理机上所占用的实际带宽;接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,第二实际带宽为预设用户的业务流量在其它每台第二物理机上各自所占用的实际带宽;获取预设用户的带宽包的预设阈值;根据第一实际带宽、第二实际带宽及预设阈值,按照预设控制方式对第一物理机上预设用户的带宽进行控制,能实现对物理机横向扩展和高可用带宽限速,提高对物理机性能的控制能力。

Description

用户带宽控制方法、装置、计算机设备及存储介质
技术领域
本申请涉及流量监控技术领域,尤其涉及一种基于分布式多物理机的用户带宽控制方法、装置、计算机设备及计算机可读存储介质。
背景技术
在云网络环境中存在带宽限速的需求,所述限速为控制用户的业务流量所占用的实际带宽不超过用户购买的带宽所对应的预设阈值。目前云厂商在限速方案的实现上采用主备限速方案或者流量折叠方案等。具体如下:
1)主备限速方式。对于主备限速方案,它是使用两台物理机来进行限速,但是同一时间点只有一台机器工作,另外一台机器作为备机不参与限速,主备之间不进行数据同步。当主机宕机之后,所有流量切换到备机上。这样的缺点就是有一台物理机处于闲置状态导致物理机的性能没办法充分发挥,并且没办法横向扩展物理机,在业务持续增加的时候,会存在性能瓶颈。请参阅图1,图1为本申请实施例提供的主备限速方式的架构示意图,如图1所示,路由器接收外部流量,首先分配至主物理机A进行处理,物理机B不参与流量处理,若主物理机A宕机,路由器将接收的业务流量分配至备物理机B进行处理,物理机B开始工作,物理机A不进行工作,由于存在主物理机A和备物理机B主备两个分类,要么物理机A进行工作,要么物理机B进行工作,物理机A和物理机B中总有一台处于闲置状态导致物理机的性能没办法充分使用,并且物理机无法横向扩展,在业务持续增加的时候,会存在性能瓶颈。
2)流量折叠方式。对于流量折叠方案,是两台机器同时工作,但一个带宽包只在一个机器上面处理,如果其它每台机器接收到了不在本机器上处理的带宽包流量,会转发到相应的物理机上去。请参阅图2,图2为本申请实施例提供的流量折叠方式的架构示意图,如图2所示,物理机A和物理机B同时工作,但物理机A和物理机B有分工,比如,用户2的业务流量分为用户2(1)和用户2(2)两部分,物理机A处理用户1及用户2(1)的流量,物理机B处理用户2(2)及用户3的流量,路由器接收到外部流量,根据预先设置将接收到的流量分配到物理机A或者物理机B上,比如,路由器接收到用户1的业务流量,将用户1的业务流量分配至物理机A上处理,即使物理机B接收到用户1的业务流量,也会转发给物理机A进行处理,路由器接收到用户2(2)的业务流量,将用户2(2)的业务流量分配至物理机B上处理,即使物理机A接收到用户2(2)的业务流量,也会转发至物理机B进行处理。由于将用户2(1)的流量分配至物理机A进行处理,用户2(2)的流量分配至物理机B进行处理,则没办法对用户2的带宽进行准确限速。因此,这种方式,由于业务流量会被预先设置分配至指定的物理机进行处理,没办法精准控制用户的实际带宽以对用户的带宽进行限速,同时物理机也没法灵活进行扩展,要进行物理机的扩展,需要进行分配算法的重新调整并进行软件的重新部署,并且业务流量增加时,物理机也存在性能瓶颈。
因此,传统技术中针对用户流量进行限速,不能充分发挥每台物理机的性能,并且不能进行灵活扩展物理机,从而导致对物理机性能利用效率不高的问题。
发明内容
本申请实施例提供了一种基于分布式多物理机的用户带宽控制方法、装置、计算机设备及计算机可读存储介质,能够解决对带宽限速的传统技术中对物理机性能利用效率较低的问题。
第一方面,本申请实施例提供了一种基于分布式多物理机的用户带宽控制方法,应用于同一网络中分布式部署的每台物理机上,所述方法包括:获取第一实际带宽,所述第一实际带宽为路由器按照随机方式发送的预设用户的业务流量在第一物理机上所占用的实际带宽;接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,所述第二实际带宽为所述预设用户的业务流量在其它每台所述第二物理机上各自所占用的实际带宽,其中,每台所述第二物理机各自所接收的所述预设用户的业务流量是由所述路由器按照所述随机方式对所述预设用户的业务流量进行分配而得到的;获取所述预设用户的带宽包的预设阈值;根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上所述预设用户的带宽进行控制。
第二方面,本申请实施例还提供了一种基于分布式多物理机的用户带宽控制装置,应用于同一网络中分布式部署的每台物理机上,包括:第一获取单元,用于获取第一实际带宽,所述第一实际带宽为路由器按照随机方式发送的预设用户的业务流量在第一物理机上所占用的实际带宽;接收单元,用于接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,所述第二实际带宽为所述预设用户的业务流量在其它每台所述第二物理机上各自所占用的实际带宽,其中,每台所述第二物理机各自所接收的所述预设用户的业务流量是由所述路由器按照所述随机方式对所述预设用户的业务流量进行分配而得到的;第二获取单元,用于获取所述预设用户的带宽包的预设阈值;控制单元,用于根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上所述预设用户的带宽进行控制。
第三方面,本申请实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现所述基于分布式多物理机的用户带宽控制方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行所述基于分布式多物理机的用户带宽控制方法。
本申请实施例提供了一种基于分布式多物理机的用户带宽控制方法、装置、计算机设备及计算机可读存储介质。本申请实施例实现基于分布式多物理机的用户带宽控制时,由于路由器将同一个用户的业务流量按照随机方式分发至不同的物理机上,而不是定向发送至指定的物理机,因此,不但可以充分利用每一台物理机的性能,还可以根据需要增加新的物理机以实现物理机的横向灵活扩展,并且可以避免路由器将该用户的业务流量发送至出现故障的物理机上,从而实现物理机性能的高可用性和充分扩容,不同的物理机之间通过同步技术同步所述用户的业务流量在各自所述物理机上所占用的实际带宽,一台物理机不仅能够准确获取路由器按照随机方式发送的所述用户的业务流量在第一物理机上所占用的第一实际带宽,而且能够根据所述用户的业务流量在其它每台第二物理机上各自所占用的第二实际带宽,准确获取所述用户的业务流量在其它所有物理机上总共所占用的实际带宽,进一步获取所述预设用户的带宽包的预设阈值,根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上所述预设用户的带宽进行控制,由于所述第一实际带宽、所述第二实际带宽及所述预设阈值都是准确的,因此,根据上述数据可以准确实现对所述第一物理机上所述预设用户的带宽进行限速,对同一网络中的多台物理机上的所述预设用户的带宽均按照上述方式进行限速,就既可以在多台物理机之间实现针对同一个用户的业务流量的带宽包全活限速,又可保障同一用户的业务流量在多台物理机之间在不同的流量情况下,也能做到对同一个用户的业务流量的带宽包所占用的总实际带宽的精准流量限速,从而既实现对物理机达到横向扩展和高可用带宽限速的效果,又能在多台物理机之间针对同一个用户的带宽包实现准确的全活限速,从而提高对物理机性能的控制能力,并在提高对物理机性能的控制能力的基础上,提高对物理机性能的利用效率,实现对用户流量控制的准确度。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的主备限速方式的架构示意图;
图2为本申请实施例提供的流量折叠方式的架构示意图;
图3为本申请实施例提供的基于分布式多物理机的用户带宽控制方法的一个应用环境示意图;
图4为本申请实施例提供的基于分布式多物理机的用户带宽控制方法中的一个示意性流程图;
图5为本申请实施例提供的基于分布式多物理机的用户带宽控制方法的一个应用环境架构示意图;
图6为本申请实施例提供的基于分布式多物理机的用户带宽控制方法的另一个应用环境示意图;
图7为本申请实施例提供的基于分布式多物理机的用户带宽控制装置的示意性框图;以及
图8为本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
请参阅图3,图3为本申请实施例提供的基于分布式多物理机的用户带宽控制方法的一个应用环境示意图。包括:1)路由器。路由器接收外部传送的带宽包流量,根据路由器自身配置的流量随机分发算法,通过随机方式将用户的业务流量分发到图3中的物理机1、物理机2或者物理机3中的任一台物理机上,以使物理机1、物理机2或者物理机3处理接收的流量。其中,路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。2)物理机。物理机是指物理机器,是真实存在的物理形式的服务器,是相对于云服务器而言的实体形式的物理设备,图3中的物理机包括物理机1、物理机2及物理机3。服务器一般分两种,物理机器和云服务器,本申请实施例中的物理机是指物理机器。
图3中的各个主体工作过程如下:路由器接收外部网络传送过来的用户1的业务流量,根据路由器上配置的流量随机分发算法按照随机方式将用户1的业务流量随机分发到物理机1、物理机2或者物理机3中的任一台物理机上进行处理,物理机1、物理机2及物理机3之间使用组播技术等同步方式传送各自的用户1的业务流量在各自的物理机上所占用的实际带宽,基于用户购买的带宽上限设定的用户的带宽包的预设阈值,每台物理机根据自己机器上用户1的第一实际带宽,及其它每台物理机上各自的用户1的业务流量在自身所对应的本台物理机上所占用的第二实际带宽,按照预设控制方式对自身物理机上所述预设用户的带宽进行限速,物理机1、物理机2及物理机3均按照上述方式对用户1的业务流量所占用的实际带宽进行限速,从而对用户1的业务流量所占用的总的实际带宽进行限速。每台物理机对用户2及用户3各自的业务流量所占用的总带宽也通过上述方式进行限速,以完成物理机1、物理机2及物理机3对用户1、用户2及用户3各自的业务流量所占用的带宽进行限速。
图4为本申请实施例提供的基于分布式多物理机的用户带宽控制方法的一个示意性流程图,所述基于分布式多物理机的用户带宽控制方法应用于图3所示的物理机1、物理机2及物理机3上。如图4所示,该方法包括以下步骤S401-S404:
S401、获取第一实际带宽,所述第一实际带宽为路由器按照随机方式发送的预设用户的业务流量在第一物理机上所占用的实际带宽。
其中,带宽,英文为Band Width,是“频带宽度”的简称,又称频宽或者信道宽度,是指在单位时间(一般指1秒钟)内能传输的数据量,用来描述信道能允许最高多大频率的信号通过。带宽和高速公路类似,带宽越大,就类似高速公路的车道越多,其通行能力越强。
具体地,传统技术中针对用户流量进行限速时,无论是采用主备限速方式,还是采用流量折叠方式,均无法充分发挥每台物理机的性能,并且无法对物理机的性能进行扩展。同时若采用流量折叠方式,即使将一个用户的流量指定分发到不同的物理机上进行处理,例如将用户的流量按照流量类型分发到不同的物理机上进行处理,以实现多台物理机同时处理一个用户的业务流量,但当属于该用户的带宽包里面的流量分布到多台物理机上进行处理时,不能实现全活限速的功能,即当带宽包里面的流量分发到多台物理机上去时,多台物理机无法共同实现对单个用户的带宽包的精准限速,对该用户的业务流量所占用的带宽总量无法实现精准限速以不让该带宽总量超过用户购买的带宽。例如用户购买了1M的带宽,若用户的流量分配到了物理机A和物理机B上,需要针对用户的总流量限速为1M/s时,由于涉及到物理机A和物理机B分别处理用户的流量,而无法对用户的流量进行精准限速为1M/s。其中,全活限速是指若多台物理机同时处理同一个用户的业务流量,使多台物理机同时对该用户的业务流量所占用的带宽分别进行限速,以实现对该用户的业务流量所占用的总带宽实现控制,简单说,全活限速是指针对一个带宽包有多台物理机进行处理,多台物理机对该带宽包同时限速。
由于传统技术中针对用户流量进行限速时,不能实现物理机的灵活扩展,并且不能实现全活功能,在本申请实施例中,为了达到对于物理机的横向扩展和高可用带宽限速的效果,需要在多台物理机之间实现针对同一个带宽包全活限速效果。为了在多台物理机之间实现针对同一个带宽包进行全活限速,在物理架构方面,多台物理机通过BGP的ECMP功能和BFD检测与路由器进行连接。例如在图3中,物理机1、物理机2及物理机3通过BGP的ECMP功能和BFD检测与路由器进行连接,路由器接收到用户1的业务流量后,路由器根据配置的流量随机分发算法将该用户1的业务流量分发到物理机1、物理机2或者物理机3上进行处理,以实现在物理机1、物理机2及物理机3上同时实现对用户1的带宽包全活限速的效果,也即同时对物理机1、物理机2及物理机3上各自的用户1的业务流量所占用的实际带宽分别进行限速,以使物理机1、物理机2及物理机3上的用户1的业务流量所占用的总实际带宽不超过用户1的带宽上限,用户1的带宽上限一般是指用户购买的带宽。其中,路由器根据分配算法控制带宽包的流量发送到哪台物理机上,路由器只控制流量转发给哪台物理机。其中,BGP,英文为Border Gateway Protocol,边界网关协议,主要用于互联网AS(自治系统)之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由。ECMP,英文为Equal-CostMultipathRouting,存在多条不同链路到达同一目的地址的网络环境中,是一种网络术语。BFD是Bidirectional Forwarding Detection的缩写,它是一个用于检测两个转发点之间故障的网络协议。
在本申请实施例中,第一物理机获取路由器按照随机方式发送的预设用户的业务流量在自身所对应的第一物理机上所占用的第一实际带宽,由于在本申请实施例中,路由器是按照随机方式将用户的业务流量分发到不同的物理机上,随机分发的随机性可以实现多物理机横向扩展和高可用带宽的效果。请继续参阅图3,例如物理机1获取路由器随机发送的用户1的业务流量在物理机1上所占用的第一实际带宽。
进一步地,一个带宽包里面可以添加多个IP,多个IP之间共享一个带宽包,该带宽包称为共享带宽包。共享带宽包(英文为Bandwidth Package,简称BWP)是一种多IP聚合的模式,当业务中公网流量高峰分布在不同时间段内,可通过共享带宽包实现带宽聚合计费。对于共享带宽包,由于共享带宽包是一种多IP聚合的模式,根据流量分配算法将共享带宽包内的多个IP各自对应的流量包分别随机分发到物理机上进行流量处理,比如,由ABCDE五个IP聚合而成的一个共享带宽包,路由器接收到该共享带宽包后,将ABCDE五个IP的业务流量各自根据流量分发算法分别进行随机分发,以将ABCDE五个IP对应的五个业务流量包分别分发到不同的物理机上进行处理。
进一步地,由于定向转发的方式,就只能转发到预设的物理机上,没有办法灵活转发到新增的物理机上,或者避免转发到出现故障的物理机上,因此,采用预设的固定转发方式实现定向转发不能充分利用多个物理机的横向高扩展性以实现流量的灵活转发。例如新增物理机时,或者物理机出现故障时,而必须通过人为介入重新设置才能实现转发到新增物理机上或者避免转发到出现故障的物理机上。在本申请实施例中,路由器采用随机转发的方式将流量转发到物理机组中的任一台物理机上,就可以将流量转发到新增的物理机上,或者避免将流量转发到出现故障的物理机上,而只转发到正常状态的物理机上。因此,本申请实施例中,路由器通过随机方式将流量发送到分布式的多台物理机上,由于随机转发的随机性,针对一个用户的流量,每一台物理机上的流量都是不确定的,同时通过随机转发方式,由于随机转发的概率性,需要扩展物理机时,只需要将物理机连接添加至分布式的物理机群组中即可实现多物理机横向扩展,并不需人为介入进行设置,以实现灵活增加物理机。同时,由于本申请实施例中通过随机的方式分配流量,可以控制不会将流量分配到出现故障的物理机上。
进一步地,路由器配置的流量分发算法可以是交换机普通算法,例如IP_HASH。
进一步地,请参阅图5和图6,图5为本申请实施例提供的基于分布式多物理机的用户带宽控制方法的一个应用环境架构示意图,图6为本申请实施例提供的基于分布式多物理机的用户带宽控制方法的另一个应用环境示意图。如图5所示,CXP板为一种IO控制器,是一种控制流量输出输入的设备,包括输出端口192.168.1.1,输入端口包括192.168.1.5和192.168.2.1,输入的流量经192.168.1.1端口随机分配至限速网关1、限速网关2或者限速网关3上进行输入输出的控制,经限速网关1、限速网关2或者限速网关3限速后的流量经输入端口192.168.2.1进入NAT网关1,输出流量为输入流量的逆过程,即经NAT网关1的流量通过端口192.168.2.1随机分配至限速网关1、限速网关2或者限速网关3限速后,经过端口192.168.1.1输出。请继续参阅图5和图6,如图5和图6所示,本申请实施例的用户带宽的分布式多物理机控制方法,不但适用于由外至内的“上传”流量,也就是进入物理机的“进入”流量,比如上传电影、歌曲或者图片的上传限速,也适用于由内至外的下载流量,也就是“输出”流量,比如下载电影、歌曲或者图片的下载限速。
S402、接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,所述第二实际带宽为所述预设用户的业务流量在其它每台所述第二物理机上各自所占用的实际带宽,其中,每台所述第二物理机各自所接收的所述预设用户的业务流量是由所述路由器按照所述随机方式对所述预设用户的业务流量进行分配而得到的。
具体地,由于路由器将同一用户的流量按照随机方式发送到分布式部署的多台物理机上,因此,每台物理机上被分配的业务流量是不确定的,并且彼此是不相同的。同时,由于每台物理机会对接收到的用户流量进行限速等因素,导致物理机上用户的实际带宽包数据与从路由器处分配过来的流量数据存在不一致的情形。例如,假如有一个网站有ABC三个用户访问,由于该网站用户的业务流量可能很大,假设路由器接收到该网站用户的总流量带宽包M'包括流量带宽包M1'对应用户A、流量带宽包M2'对应用户B及流量带宽包M3'对应用户C,路由器根据流量分配算法将流量带宽包M1'分配至物理机1,物理机1上流量带宽包M1'的实际带宽为M1,将流量带宽包M2'分配至物理机2,物理机2上流量带宽包M2'的实际带宽为M2,将流量带宽包M3'分配至物理机3,物理机3上流量带宽包M3'的实际带宽为M3,其中,M'=M1'+M2'+M3',物理机的实际带宽为M=M1+M2+M3,其中,M'与M、M1'与M1、M2'与M2、M3'与M3不一定一致,也即路由器分配至各个物理机的带宽与各个物理机接收的实际带宽之间有可能存在差异。因此,第一物理机接收分布式部署的多台物理机所属的物理机群组中的其它每台第二物理机各自通过同步技术发送的所述预设用户的业务流量在各自所述第二物理机上所占用的第二实际带宽,通过多台物理机之间采取的同步技术,以使每台第一物理机获取分布式部署的物理机群组中用户的业务流量在其它每台第二物理机上各自所占用的第二实际带宽,后续才能在多台物理机之间实现同一个带宽包全活限速功能,并通过计算所述预设用户的业务流量在其它物理机上各自所占用的第二实际带宽之和,得到所述预设用户的业务流量在其它所有所述物理机上总共所占用的实际带宽,才能准确获取该预设用户的业务流量在其它所有所述物理机上总共所占用的实际带宽,其中,其它每台所述第二物理机各自所接收的所述预设用户的业务流量也是由所述路由器按照所述随机方式对所述预设用户的业务流量进行分配而得到的。例如,请继续参阅图3,路由器将用户1的流量按照随机方式分发到物理机1、物理机2或者物理机3上,物理机1接收物理机2通过同步技术发送的用户1的业务流量在物理机2上所占用的第二实际带宽,物理机1接收物理机3通过同步技术发送的用户1的业务流量在物理机3上所占用的第二实际带宽,将用户1的业务流量在物理机2上所占用的第二实际带宽与用户1的业务流量在物理机3上所占用的第二实际带宽求和,从而得到用户1的业务流量在物理机2上和物理机3上总共所占用的实际带宽。
进一步地,所述接收其它每台第二物理机各自通过同步技术发送的第二实际带宽的步骤包括:
接收其它每台第二物理机各自通过组播方式发送的第二实际带宽。
具体地,物理机之间通过组播方式发送所述预设用户的业务流量在各自所述物理机上所占用的实际带宽,从而多台物理机之间利用组播技术同步相互之间的带宽包数据,一台第一物理机接收其它每台第二物理机各自通过组播方式发送的所述预设用户的业务流量在各自所述物理机上所占用的第二实际带宽。其中,组播(英文为Multicast)传输,在发送者和每一接收者之间实现点对多点网络连接。
请继续参阅图3,物理机1、物理机2和物理机3彼此之间使用组播方式同步每个用户的业务流量在各自物理机上所占用的实际带宽,例如物理机1获取路由器按照流量随机分配算法发送的用户1的业务流量在物理机1上所占用的第一实际带宽,物理机1接收物理机2通过组播方式发送的用户1的业务流量在物理机2上所占用的第二实际带宽,物理机1接收物理机3通过组播方式发送的用户1的业务流量在物理机3上所占用的第二实际带宽,并将用户1的业务流量在物理机2上所占用的第二实际带宽与用户1的业务流量在物理机3上所占用的第二实际带宽求和,以得到属于同一个物理群组的物理机2和物理机3上的该用户1的业务流量共同所占用的实际带宽。
进一步地,由于物理机群组中可以包含两台或者两台以上的物理机,若物理机群组中包含两台以上的物理机,其它每台所述第二物理机上该用户的业务流量各自所占用的第二实际带宽之和即为所有其它物理机共同所占用的实际带宽。例如图3中,除物理机1外,其它物理机可以包含一台物理机,也可以包含多台物理机,因此,其它每台第二物理机共同所占用的实际带宽可以为该用户1的业务流量在一台物理机上所占用的实际带宽,也可以为该用户1的业务流量在其它多台物理机上各自所占用的第二实际带宽的总和。
进一步地,物理机之间相互同步带宽包数据,也可以使用单播,但使用单播会使通信流量成倍增加。
S403、获取所述预设用户的带宽包的预设阈值。
具体地,预设用户的带宽包的预设阈值,是指该预设用户的带宽包的总上限。带宽包总上限一般是指用户购买的带宽的上限,一般会在用户购买带宽时,为用户设置相应的带宽上限数值,从而根据用户购买的带宽包的大小获取相应的数据,带宽包总上限又可以称为总带宽包,例如带宽包总上限为6Mb/s。带宽包总上限是指在网络租赁服务中用户租用的带宽大小的上限,一个带宽包定义流量的速率,比如1M/s。请继续参阅图3,物理机1获取该用户1的带宽包总上限,用户1的带宽包总上限也就是用户1购买的带宽。
S404、根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上所述预设用户的带宽进行控制。
其中,第一实际带宽与所有第二实际带宽之和为总带宽,总带宽是指同一个用户的业务流量所对应的带宽包在所有物理机上所占用的总共实际带宽,又可以称为带宽总上限,用来描述用户的业务流量所需要的实际带宽,实际带宽又可以理解为该用户的业务流量所对应的外部用户的访问带宽,访问的用户越多,实际带宽越大。例如,带宽总上限(总带宽)=M1实际带宽+M2实际带宽+M3实际带宽。
具体地,第一物理机判断用户发送的业务流量的带宽总上限与用户购买的带宽包总上限之间的关系,也即第一物理机根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上所述预设用户的带宽进行控制。若用户发送的业务流量的带宽总上限不大于用户购买的带宽包总上限,可以不对用户的流量进行控制操作,也可以增加第一物理机上用户的业务流量所占用的实际带宽至用户购买的带宽包总上限,以提高对用户的业务流量处理的能力;若用户发送的业务流量的带宽总上限大于用户购买的带宽包总上限,减少第一物理机上用户的业务流量所占用的实际带宽至用户购买的带宽包总上限以对用户使用的实际带宽进行限速控制,以避免第一物理机上用户的业务流量所占用的实际带宽大于用户购买的带宽包总上限,造成带宽资源的失控,实现适度的合理分配带宽资源。请继续参阅图3,物理机1根据所述第一实际带宽和所述第二实际带宽,计算该用户1的业务流量所对应的带宽包的总带宽,物理机1根据该带宽包的总带宽与用户购买的带宽包总上限的关系,按照预设控制方式对该物理机1上的用户1的带宽进行控制。例如,若用户购买的带宽包总上限为6MB,用户发送的业务流量需要的带宽为4M,用户购买的带宽包总上限能够满足用户的业务流量对带宽的需求,物理机1可以不对用户的流量进行控制操作,物理机1也可以增加物理机1上用户的业务流量所占用的实际带宽至用户购买的带宽包总上限,以提高对用户的业务流量处理的能力,若用户购买的带宽包总上限为6MB,用户发送的业务流量需要的带宽为8MB,用户购买的带宽包总上限不能够满足用户的业务流量对带宽的需求,物理机1需要减少物理机1上用户的业务流量所占用的实际带宽至用户购买的带宽包总上限,以对用户的业务流量进行限速,避免物理机1上用户的业务流量所占用的实际带宽大于用户购买的带宽包总上限,实现适度的合理分配带宽资源,否则,用户占用的实际带宽会超过用户购买的带宽包总上限,从而造成带宽资源的失控与浪费。同样,物理机2及物理机3上也采取与物理机1上相同的带宽控制方法,以实现在物理机1、物理机2及物理机3上同时对同一个用户的总带宽进行控制,以使用户的总带宽不超过用户购买的带宽。
本申请实施例实现基于分布式多物理机的用户带宽控制时,通过路由器按照随机方式将同一个用户的业务流量分发至不同的物理机上,由于路由器将同一个用户的业务流量按照随机方式分发至不同的物理机上,而不是定向发送至指定的物理机,因此,不但可以充分利用每一台物理机的性能,以实现对物理机的高可用性,避免物理机闲置导致对物理机资源和性能的浪费,还可以根据需要增加新的物理机以实现物理机的横向灵活扩展,并且可以避免路由器将该用户的业务流量发送至出现故障的物理机上造成对业务的损失,从而实现物理机性能的高可用性和充分扩容。不同的物理机之间各自通过同步技术同步所述用户的业务流量在各自所述物理机上所占用的实际带宽,一台物理机不仅能够准确获取路由器按照随机方式发送的所述用户的业务流量在自身所对应的第一物理机上所占用的第一实际带宽,而且能够根据所述用户的业务流量在其它每台第二物理机各自所对应的第二实际带宽,准确获取所述用户的业务流量在其它所有物理机上总共所占用的实际带宽,进一步获取所述预设用户的带宽包的预设阈值,根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上所述预设用户的带宽进行控制,由于所述第一实际带宽、所述第二实际带宽及所述预设阈值都是准确的,因此,根据上述数据可以准确实现对所述第一物理机上所述预设用户的带宽进行限速,以实现对用户带宽在多台物理机上的带宽包准确限速,对同一网络中的多台物理机上的所述预设用户的带宽均按照上述方式进行限速,就既可以在多台物理机之间实现针对同一个用户的业务流量的带宽包全活限速,从而实现多物理机的高可用带宽限速,又可保障同一用户的业务流量在多台物理机之间在不同的流量情况下,也能做到对同一个用户的业务流量的带宽包所占用的总实际带宽的精准控制,从而既实现对物理机达到横向扩展和高可用带宽限速的效果,又能在包含多台物理机的分布式系统中针对同一个用户的业务流量所对应的带宽包实现在所有物理机上的准确全活限速,从而提高对物理机性能的控制能力,并在提高对物理机性能的控制能力的基础上,提高对物理机性能的利用效率,实现对用户流量控制的准确度。
在一个实施例中,所述根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上的所述预设用户的带宽进行控制的步骤包括:
判断所述第一实际带宽与所述第二实际带宽之和是否大于所述预设阈值;
若所述第一实际带宽与所述第二实际带宽之和大于所述预设阈值,以预设比例的所述预设阈值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速,所有所述物理机上各自的限速值之和为所述预设阈值。
进一步地,所述以预设比例的所述预设阈值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速的步骤包括:
以所述第一实际带宽与所述第一实际带宽和所述第二实际带宽之和的比值作为比例值,以所述比例值所对应的所述预设阈值的值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速。
其中,限速值是指对用户的业务流量所占用的实际带宽进行控制的上限值。
具体地,第一物理机判断所述第一实际带宽与所述第二实际带宽之和是否大于所述预设阈值,若所述第一实际带宽与所述第二实际带宽之和大于所述预设阈值,以预设比例的所述预设阈值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速至第一限速值,以使用户的业务流量在多台物理机上所占用的总的实际带宽不超过用户购买的带宽。例如以所述第一实际带宽与所述第一实际带宽和所述第二实际带宽之和的比值作为比例值,以所述比例值所对应的所述预设阈值的值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速。其中,每一台物理机上具体实现限速功能时,采用传统技术中的流量控制方式实现限速即可,比如流量控制方式中包含的数据流量控制或者网络流量控制。以网络流量控制为例,其中,网络流量控制(英文为Network trafficcontrol)是一种利用软件或硬件方式来实现对计算机设备网络流量进行控制,通常有硬件流量控制(RTS/CTS)和软件流量(XON/XOFF)控制,比如通过图5中的限速网关的控制。它的最主要方法,是引入QoS的概念,从通过为不同类型的网络数据包标记,从而决定数据包通行的优先次序,包括延迟数据包发送或者丢弃数据包等方式。
进一步地,若所述第一实际带宽与所述第二实际带宽之和不大于所述预设阈值,以所述预设阈值与所述第二实际带宽的差值作为第二限速值,增加所述第一实际带宽直至所述第二限速值,以对所述第一物理机上的所述预设用户的带宽进行控制。
具体地,第一物理机若判断所述第一实际带宽与所述第二实际带宽之和不大于所述预设阈值,以所述预设阈值与所述第二实际带宽的差值作为第二限速值,可以不对用户的流量进行控制操作,也可以通过增加所述第一实际带宽直至所述第二限速值,以对所述第一物理机上的所述预设用户的带宽进行限速至限速值。从而实现使所有所述物理机上的各自所述限速值之和为所述预设阈值,也即让用户的业务流量在各台物理机上所占用的实际带宽之和不大于用户购买的带宽包总上限。
进一步地,为了对每个用户的带宽实现精准限速,需要实现分布式物理机的全活限速,也即在多台物理机上对同一个用户的带宽同时限速。其中,每台物理机根据如下预设限速方式对用户的带宽进行限速。请参阅表格1至表格9,其中,M1、M2、M3分别指代每一台物理机上的用户1的实际带宽,设置带宽包总上限为6Mb,带宽包总上限(总带宽包)是用户购买带宽时进行设置的,实际带宽是实时获取的用户的业务流量所占用的实际带宽数据。限速方式具体包括:
1)如果带宽总上限未大于带宽包总上限,第一物理机限速带宽的方式为:带宽包总上限-第二实际带宽。
具体地,请参阅表格1、表格2和表格3,其中,本机为第一物理机,表格1为M1的限速示例,表格2为M2的限速示例,表格3为M3的限速示例,对M1、M2及M3分别限速如下:
M1的带宽限速如表格1所示:
表格1
本机M1限速带宽 M1实际带宽 M2实际带宽 M3实际带宽
4Mb 1Mb 1Mb 1Mb
M2的带宽限速如表格2所示:
表格2
本机M2限速带宽 M1实际带宽 M2实际带宽 M3实际带宽
4Mb 1Mb 1Mb 1Mb
M3的带宽限速如表格3所示:
表格3
本机M3限速带宽 M1实际带宽 M2实际带宽 M3实际带宽
4Mb 1Mb 1Mb 1Mb
2)如果带宽总上限大于带宽包总上限,第一物理机限速带宽的方式为:
Figure BDA0002392745510000161
具体地,请参阅表格4至表格9,其中,本机为第一物理机,表格4至表格6分别为情形1中M1、M2及M3的限速示例,表格7至表格9分别为情形2中M1、M2及M3的限速示例,具体限速如下:
①情形一。
M1的带宽限速如表格4所示:
表格4
本机M1限速带宽 M1实际带宽 M2实际带宽 M3实际带宽
2Mb 4Mb 4Mb 4Mb
M2的带宽限速如表格5所示:
表格5
本机M2限速带宽 M1实际带宽 M2实际带宽 M3实际带宽
2Mb 4Mb 4Mb 4Mb
M3的带宽限速如表格6所示:
表格6
本机M3限速带宽 M1实际带宽 M2实际带宽 M3实际带宽
2Mb 4Mb 4Mb 4Mb
②情形二。
M1的带宽限速如表格7所示:
表格7
本机M1限速带宽 M1实际带宽 M2实际带宽 M3实际带宽
1.6Mb 4Mb 5Mb 6Mb
M2的带宽限速如表格8所示:
表格8
本机M2限速带宽 M1实际带宽 M2实际带宽 M3实际带宽
2.0Mb 4Mb 5Mb 6Mb
M3的带宽限速如表格9所示:
表格9
本机M3限速带宽 M1实际带宽 M2实际带宽 M3实际带宽
2.4Mb 4Mb 5Mb 6Mb
本申请实施例实现的用户带宽的限速方法,能够自主实现多物理机对同一用户的业务流量的准确限速,保障了物理机之间在不同的流量情况下也能做到同一个带宽包在不同物理机之间做到精准的流量限速,例如上述举例中,用户购买的总带宽包为6M/S。要使用户的业务流量准确限速分布在M1、M2及M3等三台机器上的总和是6M/S。
在一个实施例中,所述以预设比例的所述预设阈值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速的步骤包括:
以预设比例的所述预设阈值作为第一限速值,以第一预设步长逐次减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速。
进一步地,所述以所述预设阈值与所述第二实际带宽的差值作为第二限速值,增加所述第一实际带宽直至所述第二限速值,以对所述第一物理机上的所述预设用户的带宽进行控制的步骤包括:
以所述预设阈值与所述第二实际带宽的差值作为第二限速值,以第二预设步长逐次增加所述第一实际带宽直至所述第二限速值,以对所述第一物理机上的所述预设用户的带宽进行控制。
其中,步长,在计算机程序语言中,是指数值增加量或者数值减少量,即让一个数值在每次运算中加上预设值或者减少预设值(预设值即步长),重复执行此项运算。所述第一预设步长和第二预设步长可以相同,也可以不相同。
具体地,在对业务流量进行控制时,由于控制的时间很短,比如50毫秒等,可以为控制用户的带宽设置步长,例如控制用户的带宽设置的步长为每次增加的带宽为5M或者减少的带宽为5M,从而以第一预设步长减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行减速,减速至第一限速值,以预设比例的所述预设阈值作为第一限速值。或者,以第二预设步长每次增加所述第一实际带宽直至所述第二限速值,以对所述第一物理机上的所述预设用户的带宽进行控制,控制用户的业务流量在所述第一物理机上所占用的实际带宽至第二限速值,以所述预设阈值与所述第二实际带宽的差值作为第二限速值,以对用户的实际带宽进行限速,同时控制限速的波动幅度,从而做到慢启动,实现对物理机上的流量进行削峰,避免流量波动太厉害,造成物理机出现故障,实现物理机的平滑波动,有利于维护系统的稳定性。
进一步地,所述方法还包括:按照预设时间段对所述预设时间段所对应的所述第一预设步长及所述第二预设步长分别进行设置。
所述按照预设时间段对所述预设时间段所对应的所述第一预设步长及所述第二预设步长分别进行设置的步骤之前,还包括:
统计所述用户的业务流量在预设时间单位内的所述预设时间段所占用的实际带宽的历史数据,以根据所述历史数据对所述预设时间段所对应的所述第一预设步长及所述第二预设步长分别进行设置。
其中,时间单位是指以一天、一周、一个月、一个季度或者一年等时间周期为单位的时间度量。时间段是指对时间单位内包含的更小时间周期的划分,比如,一天所对应的时间单位内的时间段可以分为早上、上午、下午及晚上等时间周期,一周所对应的时间单位内的时间段可以分为工作日和休息日等,一个月所对应的时间单位内的时间段可以分为月初、月中及月末等时间周期,一年所对应的时间单位内的时间段可以分为年初、年中及年末等。
具体地,以一天为时间单位,由于在一天的不同时间段,比如早上、上午、下午及晚上所各自对应的时间段,或者以一周为时间单位,由于在一周的不同时间段,比如周一及周六和周日各自所对应的时间段,或者以一个月为时间单位,由于在一个月的不同时间段,比如月初和月末的时间段,再比如,以一年为时间单位,由于在一年的不同时间段,比如节假日活动期间与平时的工作日等,用户的业务流量都可能存在不同,可以根据对不同时间单位内的不同时间段的用户流量所占用实际带宽的历史数据统计,基于用户的业务流量所占用的实际带宽的大数据分析,实现针对不同时间单位内各个时间段的灵活限速,以更好的满足用户的业务流量对带宽的需求,比如,以一天为时间单位,由于早上用户的业务流量可能相对较小,可以对用户的业务流量进行较大幅度的限制,从而将物理机的带宽资源分配至业务流量在早上较大的另一用户,由于晚上用户的业务流量可能相对较大,可以对用户的业务流量进行较小幅度的限制,以充分满足用户的业务流量对带宽的需求,从而将物理机的带宽资源根据用户的业务流量在不同的时间段对不同用户进行合理分配与调度,以使物理机的带宽资源得到充分利用,提高对物理机带宽资源的利用效率。
进一步地,所述方法还包括:根据所统计的所述用户的业务流量在预设时间单位内的所述预设时间段所占用的实际带宽的历史数据,对所述用户的业务流量所需要的实际带宽提示建议。
具体地,根据所统计的所述用户的业务流量在预设时间单位内的所述预设时间段所占用的实际带宽的历史数据,给用户购买带宽以建议,通过用户购买适合自己业务流量的带宽包总上限,对用户的业务流量所占用的带宽进行合理分配和对用户的业务流量进行限速,既能实现对物理机资源的合理分配和充分利用,又能避免由于对用户的业务流量进行限速,以对用户的业务数据进行处理,而对用户的业务数据造成损害,从而提高对用户的业务流量的处理效率和质量。
在一个实施例中,所述接收其它每台第二物理机各自通过同步技术发送的第二实际带宽的步骤还包括:
接收所述同一网络中每台新增物理机通过同步技术发送的第二实际带宽。
具体地,本申请实施例中,由于路由器将同一个用户的业务流量按照随机方式分发至不同的物理机上,而不是定向发送至指定的物理机,因此可以根据需要增加新的物理机,只需要将物理机连接至该分布式部署的物理机群组中即可实现物理机的横向灵活扩展。当有新的物理机添加至分布式部署的物理机群组中,并且新增加的物理机接收到路由器按照随机方式分配的用户的业务流量,新增加的物理机和物理机群组中的原有物理机之间均会通过同步技术同步彼此的用户的业务流量在第一物理机上所占用的实际带宽等数据,该物理机群组中原有的物理机就会接收所述同一网络中新增物理机通过同步技术发送的所述预设用户的业务流量在所述新增物理机上所占用的第二实际带宽,从而根据用户的业务流量在所有物理机上各自所占用的实际带宽的数据对第一物理机上用户的业务流量所占用的实际带宽进行限速,从而提高对用户的业务流量进行限速的准确性。
因此,本申请实施例可以实现一个带宽包的流量分布在多台物理机之间,当流量持续增加的时候可以随时增加物理机的数量来进行物理机性能的扩容,让流量导入到新增机器上,分担原先每个机器的流量。同时,因为有多台物理机,一台宕机也不影响,即使一台物理机出现宕机等单点故障,通过故障检测也可以将出现单点故障的物理机排除在处理业务流量的物理机之外,而实现在处理流量的物理机中不会存在单点故障,这样当其中的一台物理机发生故障的时候,可以做到用户无感知的流量分担,后续只需要运维人员将新的机器添加进去即可达到横向扩展和高可用带宽限速的效果。
在一个实施例中,所述获取第一实际带宽的步骤包括:
获取预设时间周期内路由器按照随机方式发送的预设用户的业务流量在所述第一物理机上所占用的实际带宽的平均值作为第一实际带宽;
所述接收其它每台第二物理机各自通过同步技术发送的第二实际带宽的步骤包括:
接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,所述第二实际带宽为所述预设时间周期内所述预设用户的业务流量在其它每台所述第二物理机上各自所占用的实际带宽的平均值。
具体地,由于根据实时数据对用户流量进行控制,会导致对用户的流量控制太频繁,也会消耗物理机的大量性能,因此,可以按照一定时间周期对用户的流量进行控制,比如30秒或者一分钟等时间周期,获取该时间周期内用户的业务流量所占用的实际带宽的平均值作为该用户的业务流量所占用的实际带宽,物理机获取预设时间周期内路由器按照随机方式发送的预设用户的业务流量在第一物理机上所占用的实际带宽的平均值作为第一实际带宽,接收其它每台第二物理机通过同步技术发送的所述预设时间周期内所述预设用户的业务流量在各自所述物理机上所占用的实际带宽的平均值,将所述平均值作为所述预设时间周期内所述预设用户的业务流量在其它每台所述第二物理机上所占用的第二实际带宽,根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上所述预设用户的带宽进行控制,从而既能实现对用户流量的精准全活限速,又能缓解太过频繁的控制造成的对物理机性能的浪费,提高对物理机性能的使用率。
需要说明的是,上述各个实施例所述的基于分布式多物理机的用户带宽控制方法,可以根据需要将不同实施例中包含的技术特征重新进行组合,以获取组合后的实施方案,但都在本申请要求的保护范围之内。
请参阅图7,图7为本申请实施例提供的基于分布式多物理机的用户带宽控制装置的示意性框图。对应于上述基于分布式多物理机的用户带宽控制方法,本申请实施例还提供一种基于分布式多物理机的用户带宽控制装置。如图7所示,该基于分布式多物理机的用户带宽控制装置包括用于执行上述基于分布式多物理机的用户带宽控制方法的单元,该装置可以被配置于服务器等计算机设备中,尤其应用于同一网络中分布式部署的每台物理机上。具体地,请参阅图7,该基于分布式多物理机的用户带宽控制装置700包括第一获取单元701、接收单元702、第二获取单元703及控制单元704。
其中,第一获取单元701,用于获取第一实际带宽,所述第一实际带宽为路由器按照随机方式发送的预设用户的业务流量在第一物理机上所占用的实际带宽;
接收单元702,用于接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,所述第二实际带宽为所述预设用户的业务流量在其它每台所述第二物理机上各自所占用的实际带宽,其中,每台所述第二物理机各自所接收的所述预设用户的业务流量是由所述路由器按照所述随机方式对所述预设用户的业务流量进行分配而得到的;
第二获取单元703,用于获取所述预设用户的带宽包的预设阈值;
控制单元704,用于根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上所述预设用户的带宽进行控制。
在一个实施例中,所述接收单元702,用于接收其它每台第二物理机各自通过组播方式发送的第二实际带宽。
在一个实施例中,所述控制单元704包括:
判断子单元,用于判断所述第一实际带宽与所述第二实际带宽之和是否大于所述预设阈值;
减少子单元,用于若所述第一实际带宽与所述第二实际带宽之和大于所述预设阈值,以预设比例的所述预设阈值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速,所有所述物理机上各自的限速值之和为所述预设阈值。
在一个实施例中,所述减少子单元,用于以所述第一实际带宽与所述第一实际带宽和所述第二实际带宽之和的比值作为比例值,以所述比例值所对应的所述预设阈值的值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速。
在一个实施例中,所述减少子单元,用于以预设比例的所述预设阈值作为第一限速值,以第一预设步长逐次减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速。
在一个实施例中,所述接收单元702,还用于接收所述同一网络中每台新增物理机通过同步技术发送的第二实际带宽。
在一个实施例中,所述第一获取单元701,用于获取预设时间周期内路由器按照随机方式发送的预设用户的业务流量在所述第一物理机上所占用的实际带宽的平均值作为第一实际带宽;
所述接收单元702,用于接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,所述第二实际带宽为所述预设时间周期内所述预设用户的业务流量在其它每台所述第二物理机上各自所占用的实际带宽的平均值。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述基于分布式多物理机的用户带宽控制装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
同时,上述基于分布式多物理机的用户带宽控制装置中各个单元的划分和连接方式仅用于举例说明,在其它实施例中,可将基于分布式多物理机的用户带宽控制装置按照需要划分为不同的单元,也可将基于分布式多物理机的用户带宽控制装置中各单元采取不同的连接顺序和方式,以完成上述基于分布式多物理机的用户带宽控制装置的全部或部分功能。
上述基于分布式多物理机的用户带宽控制装置可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备800可以是台式机电脑或者服务器等计算机设备,也可以是其它设备中的组件或者部件。
参阅图8,该计算机设备800包括通过系统总线801连接的处理器802、存储器和网络接口805,其中,存储器可以包括非易失性存储介质803和内存储器804。
该非易失性存储介质803可存储操作系统8031和计算机程序8032。该计算机程序8032被执行时,可使得处理器802执行一种上述基于分布式多物理机的用户带宽控制方法。
该处理器802用于提供计算和控制能力,以支撑整个计算机设备800的运行。
该内存储器804为非易失性存储介质803中的计算机程序8032的运行提供环境,该计算机程序8032被处理器802执行时,可使得处理器802执行一种上述基于分布式多物理机的用户带宽控制方法。
该网络接口805用于与其它设备进行网络通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备800的限定,具体的计算机设备800可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图8所示实施例一致,在此不再赘述。
其中,所述处理器802用于运行存储在存储器中的计算机程序8032,以实现如下步骤:获取第一实际带宽,所述第一实际带宽为路由器按照随机方式发送的预设用户的业务流量在第一物理机上所占用的实际带宽;接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,所述第二实际带宽为所述预设用户的业务流量在其它每台所述第二物理机上各自所占用的实际带宽,其中,每台所述第二物理机各自所接收的所述预设用户的业务流量是由所述路由器按照所述随机方式对所述预设用户的业务流量进行分配而得到的;获取所述预设用户的带宽包的预设阈值;根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上所述预设用户的带宽进行控制。
在一实施例中,所述处理器802在实现所述接收其它每台第二物理机各自通过同步技术发送的第二实际带宽的步骤时,具体实现以下步骤:
接收其它每台第二物理机各自通过组播方式发送的第二实际带宽。
在一实施例中,所述处理器802在实现所述根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上的所述预设用户的带宽进行控制的步骤时,具体实现以下步骤:
判断所述第一实际带宽与所述第二实际带宽之和是否大于所述预设阈值
若所述第一实际带宽与所述第二实际带宽之和大于所述预设阈值,以预设比例的所述预设阈值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速,所有所述物理机上各自的限速值之和为所述预设阈值。
在一实施例中,所述处理器802在实现所述以预设比例的所述预设阈值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速的步骤时,具体实现以下步骤
以所述第一实际带宽与所述第一实际带宽和所述第二实际带宽之和的比值作为比例值,以所述比例值所对应的所述预设阈值的值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速。
在一实施例中,所述处理器802在实现所述以预设比例的所述预设阈值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速的步骤时,具体实现以下步骤:
以预设比例的所述预设阈值作为第一限速值,以第一预设步长逐次减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速。
在一实施例中,所述处理器802在实现接收其它每台第二物理机各自通过同步技术发送的第二实际带宽的步骤时,还实现以下步骤:
接收所述同一网络中每台新增物理机通过同步技术发送的第二实际带宽。
在一实施例中,所述处理器802在实现所述获取第一实际带宽的步骤时,具体实现以下步骤:
获取预设时间周期内路由器按照随机方式发送的预设用户的业务流量在所述第一物理机上所占用的实际带宽的平均值作为第一实际带宽;
所述处理器802在实现所述接收其它每台第二物理机各自通过同步技术发送的第二实际带宽的步骤时,具体实现以下步骤:
接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,所述第二实际带宽为所述预设时间周期内所述预设用户的业务流量在其它每台所述第二物理机上各自所占用的实际带宽的平均值。
应当理解,在本申请实施例中,处理器802可以是中央处理单元(CentralProcessingUnit,CPU),该处理器802还可以是其它通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来完成,该计算机程序可存储于一计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供一种计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时使处理器执行如下步骤:
一种计算机程序产品,当其在计算机上运行时,使得计算机执行以上各实施例中所描述的基于分布式多物理机的用户带宽控制方法的步骤。
所述计算机可读存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述计算机可读存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种基于分布式多物理机的用户带宽控制方法,应用于同一网络中分布式部署的每台物理机上,其特征在于,所述方法包括:
获取第一实际带宽,所述第一实际带宽为路由器按照随机方式发送的预设用户的业务流量在第一物理机上所占用的实际带宽;
接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,所述第二实际带宽为所述预设用户的业务流量在其它每台所述第二物理机上各自所占用的实际带宽,其中,每台所述第二物理机各自所接收的所述预设用户的业务流量是由所述路由器按照所述随机方式对所述预设用户的业务流量进行分配而得到的;
获取所述预设用户的带宽包的预设阈值;
根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上所述预设用户的带宽进行控制;
所述接收其它每台第二物理机各自通过同步技术发送的第二实际带宽的步骤包括:
接收其它每台第二物理机各自通过组播方式发送的第二实际带宽;
所述物理机之间通过所述组播方式发送所述预设用户的业务流量在各自所述物理机上所占用的实际带宽,多台所述物理机之间利用所述组播方式同步相互之间的所述带宽包数据,一台所述第一物理机接收其它每台所述第二物理机各自通过所述组播方式发送的所述预设用户的业务流量在各自所述物理机上所占用的第二实际带宽。
2.根据权利要求1所述基于分布式多物理机的用户带宽控制方法,其特征在于,所述根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上的所述预设用户的带宽进行控制的步骤包括:
判断所述第一实际带宽与所述第二实际带宽之和是否大于所述预设阈值;
若所述第一实际带宽与所述第二实际带宽之和大于所述预设阈值,以预设比例的所述预设阈值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速,所有所述物理机上各自的限速值之和为所述预设阈值。
3.根据权利要求2所述基于分布式多物理机的用户带宽控制方法,其特征在于,所述以预设比例的所述预设阈值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速的步骤包括:
以所述第一实际带宽与所述第一实际带宽和所述第二实际带宽之和的比值作为比例值,以所述比例值所对应的所述预设阈值的值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速。
4.根据权利要求2所述基于分布式多物理机的用户带宽控制方法,其特征在于,所述以预设比例的所述预设阈值作为第一限速值,减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速的步骤包括:
以预设比例的所述预设阈值作为第一限速值,以第一预设步长逐次减少所述第一实际带宽直至所述第一限速值,以对所述第一物理机上的所述预设用户的带宽进行限速。
5.根据权利要求1所述基于分布式多物理机的用户带宽控制方法,其特征在于,所述接收其它每台第二物理机各自通过同步技术发送的第二实际带宽的步骤还包括:
接收所述同一网络中每台新增物理机通过同步技术发送的第二实际带宽。
6.根据权利要求1所述基于分布式多物理机的用户带宽控制方法,其特征在于,所述获取第一实际带宽的步骤包括:
获取预设时间周期内路由器按照随机方式发送的预设用户的业务流量在所述第一物理机上所占用的实际带宽的平均值作为第一实际带宽;
所述接收其它每台第二物理机各自通过同步技术发送的第二实际带宽的步骤包括:
接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,所述第二实际带宽为所述预设时间周期内所述预设用户的业务流量在其它每台所述第二物理机上各自所占用的实际带宽的平均值。
7.一种基于分布式多物理机的用户带宽控制装置,应用于同一网络中分布式部署的每台物理机上,其特征在于,包括:
第一获取单元,用于获取第一实际带宽,所述第一实际带宽为路由器按照随机方式发送的预设用户的业务流量在第一物理机上所占用的实际带宽;
接收单元,用于接收其它每台第二物理机各自通过同步技术发送的第二实际带宽,所述第二实际带宽为所述预设用户的业务流量在其它每台所述第二物理机上各自所占用的实际带宽,其中,每台所述第二物理机各自所接收的所述预设用户的业务流量是由所述路由器按照所述随机方式对所述预设用户的业务流量进行分配而得到的;
第二获取单元,用于获取所述预设用户的带宽包的预设阈值;
控制单元,用于根据所述第一实际带宽、所述第二实际带宽及所述预设阈值,按照预设控制方式对所述第一物理机上所述预设用户的带宽进行控制;
所述接收其它每台第二物理机各自通过同步技术发送的第二实际带宽的步骤包括:
接收其它每台第二物理机各自通过组播方式发送的第二实际带宽;
所述物理机之间通过所述组播方式发送所述预设用户的业务流量在各自所述物理机上所占用的实际带宽,多台所述物理机之间利用所述组播方式同步相互之间的所述带宽包数据,一台所述第一物理机接收其它每台所述第二物理机各自通过所述组播方式发送的所述预设用户的业务流量在各自所述物理机上所占用的第二实际带宽。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器以及与所述存储器相连的处理器;所述存储器用于存储计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-6任一项所述基于分布式多物理机的用户带宽控制方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行如权利要求1-6中任一项所述基于分布式多物理机的用户带宽控制方法的步骤。
CN202010120282.4A 2020-02-26 2020-02-26 用户带宽控制方法、装置、计算机设备及存储介质 Active CN111447100B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010120282.4A CN111447100B (zh) 2020-02-26 2020-02-26 用户带宽控制方法、装置、计算机设备及存储介质
PCT/CN2020/119138 WO2021169299A1 (zh) 2020-02-26 2020-09-30 用户带宽控制方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010120282.4A CN111447100B (zh) 2020-02-26 2020-02-26 用户带宽控制方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN111447100A CN111447100A (zh) 2020-07-24
CN111447100B true CN111447100B (zh) 2023-06-06

Family

ID=71627162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010120282.4A Active CN111447100B (zh) 2020-02-26 2020-02-26 用户带宽控制方法、装置、计算机设备及存储介质

Country Status (2)

Country Link
CN (1) CN111447100B (zh)
WO (1) WO2021169299A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111447100B (zh) * 2020-02-26 2023-06-06 平安科技(深圳)有限公司 用户带宽控制方法、装置、计算机设备及存储介质
CN115333982B (zh) * 2021-05-11 2024-02-09 北京金山云网络技术有限公司 流量监控方法、装置、设备及计算机可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118134B (zh) * 2013-02-28 2015-09-02 浙江大学 一种面向任务级的大数据分发质量保障方法及装置
JP2016225729A (ja) * 2015-05-28 2016-12-28 株式会社日立製作所 ネットワークシステム、データ転送制御方法及び制御装置
CN105227488B (zh) * 2015-08-25 2018-05-08 上海交通大学 一种用于分布式计算机平台的网络流组调度方法
CN110177056B (zh) * 2019-06-06 2023-03-24 杭州商湾网络科技有限公司 一种自动适应的带宽控制方法
CN111447100B (zh) * 2020-02-26 2023-06-06 平安科技(深圳)有限公司 用户带宽控制方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
WO2021169299A1 (zh) 2021-09-02
CN111447100A (zh) 2020-07-24

Similar Documents

Publication Publication Date Title
CN109787921B (zh) Cdn带宽调度方法、采集及调度服务器和存储介质
CN109818881B (zh) Cdn带宽调度方法、采集及调度服务器和存储介质
CN106998302B (zh) 一种业务流量的分配方法及装置
CN111447100B (zh) 用户带宽控制方法、装置、计算机设备及存储介质
CN107204933B (zh) 分布式流量调节方法及装置
JP7313480B2 (ja) スライスベースネットワークにおける輻輳回避
CN113014508A (zh) 一种报文处理方法及装置
US11782869B2 (en) Data transmission method and related device
US11736407B2 (en) Method and apparatus for load balancing and packet re-sequencing on network
CN109218213B (zh) 一种流量调控方法及装置
CN109257282B (zh) 一种数据传输方法及装置
US11695629B2 (en) Method and apparatus for configuring a network parameter
US10536385B2 (en) Output rates for virtual output queses
US20220141137A1 (en) Flow rate control method and apparatus
WO2020001308A1 (zh) 网络优化方法、系统及网络设备
CN105210329A (zh) 无环路混合网络
WO2023142937A1 (zh) 一种网络拥塞控制方法及相关装置
CN116097631A (zh) 跨具有自适应每隧道服务质量(QoS)的多个集线器的带宽的动态确定性调整
CN112787952B (zh) 一种业务流量调整方法及装置
Giannopoulos et al. Accurate congestion control for RDMA transfers
CN112751776A (zh) 拥塞控制方法和相关装置
CN109787922B (zh) 一种获取队列长度的方法、设备及计算机可读存储介质
CN109379163A (zh) 一种报文转发速率控制方法及装置
CN111314163A (zh) 一种数据包传输方法及系统
CN107592269B (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