一种流量管理装置、服务器和方法

文档序号:10525637阅读:243来源:国知局
一种流量管理装置、服务器和方法
【专利摘要】本发明提供一种流量管理装置、服务器和方法,通过从流量配额中为当前集群中的各服务节点分配初始流量配额,将剩余流量配额存储在配额资源池中;接收服务节点在当前流量配额与配额需求不匹配时发送的配额调配请求,根据配额调配请求为服务节点进行对应的、实时的流量配额调配。即根据服务节点的需要动态调配流量配额,使流量配额的分配更合理,流量控制更精准,保证了系统的稳定性。
【专利说明】
一种流量管理装置、服务器和方法
技术领域
[0001]本发明涉及通信领域,尤其涉及一种流量管理装置、服务器和方法。
【背景技术】
[0002]随着企业IT系统的服务化,IT系统需要更多的IT资源,尤其是当IT系统处于业务高峰时,IT资源不足会给该IT系统的稳定运行带来瓶颈,为了保障IT系统能够高质、高效的稳定运行,服务端需要对消费者做限流处理,IT系统需要启动流量管理保护机制。传统的流量管理机制一般是在初始就将总流量平均分配给各个服务节点,但是由于IT系统中集群的服务节点数是会动态变化的,采用上述现有方式中的分配方案,当集群中的服务节点宕机或者有新服务节点加入时,不能及时调整服务节点可以用于通信的流量配额,导致流量管理不准;进一步的,由于集群中的各服务节点的负载会发生变化,采用上述方式可能会导致性能差的服务节点负载高,而节点性能好的服务节点却配额空余,使得整个系统不稳定。随着企业IT系统的服务化,为了保障IT系统能够高质、高效的稳定运行,我们需要一种流量管理更准确、更合理,流量配额资源利用率更高的流量分配策略。

【发明内容】

[0003]本发明要解决的技术问题在于现有技术中的流量配额分配不合理,造成流量配额资源浪费,及流量管理不精准和系统稳定性差;针对该技术问题,提供一种流量管理装置、服务器和方法。
[0004]为实现上述目的,本发明实施例提供一种流量管理装置,包括:
[0005]配额模块,用于从流量配额中为当前集群中的各服务节点分配初始流量配额,将剩余流量配额存储在配额资源池中;
[0006]调控模块,用于接收服务节点发送的配额调配请求,根据配额调配请求给服务节点调配流量配额;所述配额调配请求为当前流量配额与配额需求不匹配时产生的请求。
[0007]其中,配额调配请求包括以下至少一种:
[0008]服务节点当前流量配额不满足配额需求时发送的增加配额调配请求;
[0009]服务节点当前流量配额相对配额需求过剩时发送的归还配额调配请求。
[0010]其中,调控模块还用于:当调配请求包括增加配额调配请求时,根据配额策略S=M/N*T/Q给服务节点调配流量配额,其中S为需要分配给服务节点的流量配额,M为配额资源池总流量配额资源量,N为集群中总服务节点数,T为服务节点获取流量配额的周期,Q为根据服务节点的负载设置的加权系数。
[0011 ] 其中,调控模块还用于:当调配请求包括归还配额调配请求时,
[0012]将空余流量配额一次收回;
[0013]或根据预设规则逐次收回空余流量配额。
[0014]进一步的,本发明实施例提供一种流量管理服务器,包括上述流量管理装置。
[0015]进一步的,本发明实施例提供一种流量管理方法,包括:
[0016]从流量配额中为当前集群中的各服务节点分配初始流量配额,将剩余流量配额存储在配额资源池中;
[0017]接收服务节点发送的配额调配请求,根据配额调配请求给服务节点调配流量配额;所述配额调配请求为当前流量配额与配额需求不匹配时产生的请求。
[0018]其中,配额调配请求包括以下至少一种:
[0019]服务节点当前流量配额不满足配额需求时发送的增加配额调配请求;
[0020]服务节点当前流量配额相对配额需求过剩时发送的归还配额调配请求。
[0021]其中,当调配请求包括增加配额调配请求时,根据配额调配请求给服务节点调配流量配额包括:根据配额策略S=M/N*T/Q给服务节点调配流量配额,其中S为需要分配给服务节点的流量配额,M为配额资源池总流量配额资源量,N为集群中总服务节点数,T为服务节点获取流量配额的周期,Q为根据服务节点的负载设置的加权系数。
[0022]其中,当调配请求包括归还配额调配请求时,根据配额调配请求给服务节点调配流量配额包括:
[0023]将空余流量配额一次收回;
[0024]或根据预设规则逐次收回空余流量配额。
[0025]其中,还包括:
[0026]当集群中有新增服务节点时,从配额资源池中给新增服务节点分配流量配额;
[0027]和/或,
[0028]当集群中有服务节点退出时,将分配给服务节点的流量配额收回到配额资源池。
[0029]本发明的有益效果是:
[0030]本发明提供一种流量管理装置、服务器和方法,通过从流量配额中为当前集群中的各服务节点分配初始流量配额,将剩余流量配额存储在配额资源池中;接收服务节点在当前流量配额与配额需求不匹配时发送的配额调配请求,根据配额调配请求为该服务节点的流量配额进行相应的调配。即通过流量配额的初始分配,实现流量配额的静态分配,后续根据服务节点的需要再实时地动态调配流量配额,采用静态分配和动态分配结合的方式,使得流量配额的分配更合理,流量管理更精准,保证了系统的稳定性。
【附图说明】
[0031 ]图1为实现本发明各个实施例一个可选的服务器的结构示意图;
[0032]图2为本发明第一实施例提供的流量管理装置示意图;
[0033]图3为本发明第一实施例提供的流量管理服务器示意图;
[0034]图4为本发明第二实施例提供的流量管理方法流程图;
[0035]图5为本发明第三实施例提供的流量管理方法流程图。
【具体实施方式】
[0036]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0037]现在将参考附图描述实现本发明各个实施例的终端、通信方法。在后续的描述中,使用用于表示元件的诸如“模块”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。
[0038]如图1所示,为实现本发明各个实施例一个可选的服务器的结构示意图,该服务器至少包括:输入输出(10)总线11、处理器12、存储器13、内存14和通信装置15。其中,
[0039]输入输出(1)总线11分别与自身所属的服务器的其它部件(处理器12、存储器13、内存14和通信装置15)连接,并且为其它部件提供传送线路。
[0040]处理器12通常管理自身所属的服务器的总体操作。例如,处理器12执行计算和确认等操作。其中,处理器12可以是中央处理器(CPU)。
[0041 ] 存储器13存储处理器可读、处理器可执行的软件代码,其包含用于管理处理器12执行本文描述的功能的指令(即软件执行功能)。
[0042]内存14,一般采用半导体存储单元,包括随机存储器(RAM),只读存储器(R0M),以及高速缓存(CACHE),RAM是其中最重要的存储器。内存14是计算机中重要的部件之一,它是与CPU12进行沟通的桥梁,计算机中所有程序的运行都是在内存中进行的,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据,只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后(PU再将结果传送出来,内存的运行也决定了计算机的稳定运行。
[0043]通信装置15,通常包括一个或多个组件,其允许自身所属的服务器与无线通信系统或网络之间的无线电通信。
[0044]可以利用上述结构的服务器作为集群中的任意一个服务节点,该服务节点通过处理器12检测其当前流量配额与配额需求是否匹配,当不匹配时,向流量管理服务器发送配额调配请求。也可以利用上述结构的服务器作为流量管理服务器,实现对集群中各节点服务器的流量管理,具体的,该流量管理服务器通过处理器12从流量配额中为当前集群中的各服务节点分配初始流量配额,将剩余流量配额存储在配额资源池中,该配额资源池可以设置在存储器13中;接收服务节点在当前流量配额与配额需求不匹配时发送的配额调配请求,根据所述配额调配请求给所述服务节点调配流量配额。
[0045]基于上述内容,为了使本技术领域的人员更好地理解本发明方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例;需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0046]第一实施例
[0047]本实施例提供一种流量管理装置,请参见图2,具体包括:配额模块21,用于从流量配额中为当前集群中的各服务节点分配初始流量配额,将剩余流量配额存储在配额资源池中;调控模块22,用于接收服务节点在当前流量配额与配额需求不匹配时发送的配额调配请求,根据配额调配请求给服务节点调配流量配额。本实施例中的配额模块21和调控模块22可以构造在处理器12内,由处理器12来实现其功能,也可以独立于该服务器构造在其他位置。该配额资源池具体可以设置在存储器13中,用于存储流量配额。
[0048]具体的,在系统部署的时候,服务人员根据服务集群的需要配置整个集群的总流量配额,为了集群中的服务节点在终端接入时,能够进行接入服务,保证系统的稳定性,由配额模块21先从该总的流量配额中取出一部分为当前集群中的服务节点分配初始流量配额,即服务人员从总流量配额中按一定比例拿出一部分给集群中的服务节点按照需要分别分配一定的静态流量配额,服务节点根据该初始分配的流量配额进行最初的流量控制处理。该初始分配的具体比例可以根据集群的性质、集群中服务节点的总数及机器的性能来进行分配,本实施例对此不做限定。当从总流量配额中分离出一部分进行初始预分配后,将该总流量配额中剩余的部分放入配额资源池中,当有服务节点需要更多的流量配额时,根据服务节点的需要再进行分配。
[0049]调控模块22接收服务节点在当前流量配额与配额需求不匹配时发送的配额调配请求,根据配额调配请求给服务节点调配流量配额,具体包括:为了保证当有接入请求时,能够进行接入处理,保证系统的稳定性,服务节点定时或实时检测其当前流量配额是否满足配额需求,当满足时,继续进行接入操作,当不满足时,向流量管理装置发送配额调配请求,请求调配其流量配额。该调控模块22根据收到的配额调配请求对该服务节点的流量配额进行调控。
[0050]进一步的,配额调配请求包括以下至少一种:服务节点当前流量配额不满足配额需求时发送的增加配额调配请求;服务节点当前流量配额相对配额需求过剩时发送的归还配额调配请求。
[0051]具体的,若初始分配的流量配额过少,或服务节点的业务增多、负载较大,使得流量配额不足,即服务节点当前剩余的流量配额小于配额需求阈值时,为避免后续无法进行接入操作,服务节点向该流量管理装置发送增加配额调配请求,请求该流量管理装置为其分配流量配额。若服务节点的业务减少,或初始分配给该服务节点的多于当前需要的配额,即服务节点当前的配额大于配额需求时,为避免配额资源的浪费,可以向流量管理装置发送归还配额调配请求,请求该流量管理装置收回多余的空余配额。假设服务节点分配的流量配额为A,当前使用的流量配额为B,该配额需求为C,若A-B大于等于C,则说明当前流量配额满足配额需求,不需要获取流量配额;若A-B小于C,则说明当前流量配额不满足配额需求,需要获取流量配额。另外,为了保证配额资源池中的流量配额能够优先被用完流量配额的服务节点获取,也可以在流量配额用完时,再去获取,其具体的可以是当用完流量配额的服务节点又接收到新的接入请求,该服务节点再去获取流量配额。服务节点获取的流量配额的多少具体可以是根据自身的负载情况去获取。
[0052]进一步的,当服务节点申请不到流量配额时,则说明配额资源池中的配额被用完了,则该服务节点进入流量控制状态,拒绝接收新的接入请求进行接入操作。其中,可以每隔一定的时间再发生增加配额调配请求去配额资源池中获取流量配额,当配额资源池又有流量配额时,若收到进入流量控制状态的服务节点发来的增加配额调配请求时,可以根据该服务节点需求或配额资源池配额情况向该服务节点分配流量配额。
[0053]进一步的,若服务节点当前流量配额相对配额需求过剩时发送的归还配额调配请求,具体包括:假设服务节点分配的流量配额为A,当前使用的流量配额为B,则当前剩余流量配额为A-B,若配额需求为C,则当前空余的流量配额D为A-B-C,若此时D大于零,则说明有空余流量配额,为避免流量配额资源的浪费,服务节点发送归还配额调配请求。
[0054]进一步的,当配额调配请求是增加配额调配请求时,调配模块22根据配额调配请求给服务节点调配流量配额包括:根据配额策略S = M/N*T/Q给服务节点调配流量配额,其中S为需要分配给服务节点的流量配额,M为配额资源池总流量配额资源量,N为集群中总服务节点数,T为服务节点获取流量配额的周期,Q为根据服务节点的负载设置的加权系数。通过上述公式给每个服务节点按需分配流量配额,既可以避免服务节点无法进行接入操作,同时合理的进行流量配额分配,可以避免流量配额的浪费。
[0055]进一步的,当配额调配请求是归还配额调配请求时,调配模块22根据配额调配请求给服务节点调配流量配额包括:将空余流量配额一次收回;或根据预设规则逐次收回空余流量配额。
[0056]具体的,当流量配额有空余时,为避免流量配额资源的浪费,可以将超出配额需求的空余流量配额一次性回收回来,放入配额资源池中;也可以按照一定比例逐次收回该空余流量配额,以免服务节点后续业务突然增多时,无法进行接入操作,需要重新发送增加配额调配请求去获取流量配额。
[0057]进一步的,当集群中有新增服务节点时,从配额资源池中给新增服务节点分配流量配额;和或,当集群中有服务节点退出时,将分配给服务节点的流量配额收回到配额资源池。
[0058]具体的,周期性或实时的检测集群中服务节点的状态,当检测到有新的服务节点加入集群时,则从配额资源池中获取流量配额分配给该新服务节点,其具体获取多少流量配额具体可以根据该服务节点的负载和需求进行分配,或根据当前集群中流量配额的利用率和剩余量来进行分配,也可以直接根据配额策略进行分配。当检测到有服务节点退出集群时,为了使资源能够合理分配,可以收回该服务节点分配的流量配额,放入资源池,以提供给其他需要更多流量配额的服务节点。另外,当某一服务节点宕机后,也可以将该服务节点的流量配额收回,等其恢复正常时,发送获取请求,再分配流量配额。
[0059]进一步的,当配额资源池中的流量配额分配完后,如果又有服务节点去获取流量配额,则该节点申请不到流量配额,就进入流量管理状态,该服务节点拒绝接收新的接入请求。其中,当配额资源池又有流量配额时,若收到该处于流量管理状态的服务节点发来的配额调配请求时,可以根据服务节点需求和配额资源池配额情况向该服务节点分配流量配额。
[0060]本实施例提供的流量管理装置,通过配额模块从流量配额中为当前集群中的各服务节点分配初始流量配额,将剩余流量配额存储在配额资源池中;调控模块接收服务节点在当前流量配额与配额需求不匹配时发送的配额调配请求,根据配额调配请求给服务节点调配流量配额。即通过流量配额的初始分配,实现流量配额的静态分配,后续根据服务节点的需要再实时地动态调配流量配额,采用静态分配和动态分配结合的方式,使得流量配额的分配更合理,流量管理更精准,保证了系统的稳定性。
[0061 ]本实施例还提供一种流量管理服务器,请参见图3,包括上述流量管理装置,本实施例的流量管理服务器可以是图1所示的服务器,本实施例提供的流量管理服务器通过通信装置15和集群中的各服务节点进行通信,然后通过处理器12在初始时,给集群中的各服务节点分配初始流量配额,然后将剩余流量配额存储在配额资源池中,该配额资源池设置在存储器13中;在接收到服务节点在当前流量配额与配额需求不匹配时发送的配额调配请求后,处理器12根据配额调配请求给服务节点调配流量配额;使得流量配额能合理分配,提高了系统的流量管理准确性,保证了系统的稳定性。
[0062]需要理解的是,本实施例中提供的服务器,可以是集群中具有流量控制功能的服务器,也可以是根据需要选择的任一服务器,即可以选择集群中的任一服务器进行流量配额的调配,其他剩余服务器则作为服务节点。
[0063]第二实施例:
[0064I本实施例提供一种流量管理方法,请参见图4,具体包括:
[0065]步骤SlOl,从流量配额中为当前集群中的各服务节点分配初始流量配额,将剩余流量配额存储在配额资源池中。
[0066]具体的,在系统部署的时候,服务人员根据服务集群的需要配置整个集群的总流量配额,为了集群中的服务节点在终端接入时,能够进行接入服务,保证系统的稳定性,从该总的流量配额中取出一部分为当前集群中的服务节点分配初始流量配额,即服务人员从总流量配额中按一定比例拿出一部分进行静态预分配,即给集群中的服务节点按照需要分别分配一定的静态资源流量配额,服务节点根据该初始分配的流量配额进行最初的流量控制处理;其具体比例可以根据集群的性质、集群中服务节点的总数及机器的性能来进行分配,本实施例对此不做限定。当从总流量配额中分离出一部分进行预分配后,将该总流量配额中剩余的部分放入配额资源池中,当有服务节点需要更多的流量配额时,根据需要进行分配。
[0067]步骤S102,接收服务节点在当前流量配额与配额需求不匹配时发送的配额调配请求,根据配额调配请求给服务节点调配流量配额。
[0068]具体的,为了保证当有接入请求时,能够进行接入处理,保证系统的稳定性,服务节点定时或实时检测其当前流量配额是否满足配额需求,当满足时,继续进行接入操作,当不满足时,向流量管理装置发送配额调配请求,请求调配其流量配额。然后根据收到的配额调配请求对该服务节点的配额进行调控。
[0069]进一步的,配额调配请求包括以下至少一种:服务节点当前流量配额不满足配额需求时发送的增加配额调配请求;服务节点当前流量配额相对配额需求过剩时发送的归还配额调配请求。
[0070]具体的,若初始分配的流量配额过少,或服务节点的业务增多、负载较大,使得流量配额不足,即服务节点当前剩余的流量配额小于配额需求阈值时,为避免后续无法进行接入操作,服务节点向该流量管理装置发送增加配额调配请求,请求该流量管理装置为其分配流量配额。若服务节点的业务减少,或初始分配给该服务节点的多于当前需要的配额,即服务节点当前的配额大于配额需求时,为避免配额资源的浪费,可以向流量管理装置发送归还配额调配请求,请求该流量管理装置收回多余的空余配额。假设服务节点分配的流量配额为A,当前使用的流量配额为B,该配额需求为C,若A-B大于等于C,则说明当前流量配额满足配额需求,不需要获取流量配额;若A-B小于C,则说明当前流量配额不满足配额需求,需要获取流量配额。该配额需求可以设置为零,即为了保证配额资源池中的流量配额能够优先被用完流量配额的服务节点获取,也可以在流量配额用完时,再去获取,其具体的可以是当用完流量配额的服务节点又接收到新的接入请求,该服务节点再去获取流量配额。服务节点获取的流量配额的多少具体可以是根据自身的负载情况去获取。
[0071 ]进一步的,当服务节点申请不到流量配额时,则说明配额资源池中的配额被用完了,则该服务节点进入流量控制状态,拒绝接收新的接入请求进行接入操作。其中,可以每隔一定的时间再发生增加配额调配请求去配额资源池中获取流量配额,当配额资源池又有流量配额时,若收到进入流量控制状态的服务节点发来的增加配额调配请求时,可以根据该服务节点需求或配额资源池配额情况向该服务节点分配流量配额。
[0072]进一步的,若服务节点当前流量配额相对配额需求过剩时发送的归还配额调配请求,具体包括:假设服务节点分配的流量配额为A,当前使用的流量配额为B,则当前剩余流量配额为A-B,若配额需求为C,则当前空余的流量配额D为A-B-C,若此时D大于零,则说明有空余流量配额,为避免流量配额资源的浪费,服务节点发送归还配额调配请求。
[0073]进一步的,当配额调配请求是增加配额调配请求时,根据配额调配请求给服务节点调配流量配额包括:根据配额策略S = M/N*T/Q给服务节点调配流量配额,其中S为需要分配给服务节点的流量配额,M为配额资源池总流量配额资源量,N为集群中总服务节点数,T为服务节点获取流量配额的周期,Q为根据服务节点的负载设置的加权系数。通过上述公式给每个服务节点按需分配流量配额,既可以避免服务节点无法进行接入操作,同时合理的进行流量配额分配,可以避免流量配额的浪费。
[0074]进一步的,当配额调配请求是归还配额调配请求时,根据配额调配请求给服务节点调配流量配额包括:将空余流量配额一次收回;或根据预设规则逐次收回空余流量配额。
[0075]具体的,当流量配额有空余时,为避免流量配额资源的浪费,可以将超出配额需求的空余流量配额一次性回收回来,放入配额资源池中;也可以按照一定比例逐次收回该空余流量配额,以免服务节点后续业务突然增多时,无法进行接入操作,需要重新发送增加配额调配请求去获取流量配额。
[0076]进一步的,当集群中有新增服务节点时,从配额资源池中给新增服务节点分配流量配额;和/或,当集群中有服务节点退出时,将分配给服务节点的流量配额收回到配额资源池。
[0077]具体的,周期性或实时的检测集群中服务节点的状态,当检测到有新的服务节点加入集群时,则从配额资源池中获取流量配额分配给该新服务节点,其具体获取多少流量配额具体可以根据该服务节点的负载和需求进行分配,或根据当前集群中流量配额的利用率和剩余量来进行分配,也可以直接根据配额策略进行分配。当检测到有服务节点退出集群时,为了使资源能够合理分配,可以收回该服务节点分配的流量配额,放入资源池,以提供给其他需要更多流量配额的服务节点。另外,当某一服务节点宕机后,也可以将该服务节点的流量配额收回,等其恢复正常时,发送获取请求,再分配流量配额。
[0078]进一步的,当配额资源池中的流量配额分配完后,如果又有服务节点去获取流量配额,则该节点申请不到流量配额,就进入流量管理状态,该服务节点拒绝接收新的接入请求。其中,当配额资源池又有流量配额时,若收到该处于流量管理状态的服务节点发来的配额调配请求时,可以根据服务节点需求和配额资源池配额情况向该服务节点分配流量配额。
[0079]本实施例提供的流量管理方法,通过从流量配额中为当前集群中的各服务节点分配初始流量配额,将剩余流量配额存储在配额资源池中;接收服务节点在当前流量配额与配额需求不匹配时发送的配额调配请求,根据配额调配请求给服务节点调配流量配额。即通过流量配额的初始分配,实现流量配额的静态分配,后续根据服务节点的需要再实时地动态调配流量配额,采用静态分配和动态分配结合的方式,使得流量配额的分配更合理,流量管理更精准,保证了系统的稳定性。
[0080]第三实施例[0081 ]本实施例提供一种流量管理方法,本实施例中的流量管理方法,采用静态分配与动态申请结合的方式,即在系统部署的时候,根据服务节点数和静态流控QPS阀值,拿出一部分做初始分配,剩余的放在流量配额资源池中,哪个服务节点使用完了初始分配的流量配额,就按自身的负载统计数据情况主动向配额资源池申请相应的流量配额,若申请不到,则拒绝新接入请求;另外,当有新的集群服务节点加入时,该节点从资源池中申请资源流量配额,当有服务节点退出时,则回收流量配额资源。具体的请参见图5,包括:
[0082]步骤S401,设定整个集群的总流量配额,跳转到步骤S402。
[0083]具体的,当系统部署的时候,服务人员根据服务集群的需要配置整个集群的总流量配额,以便进行后续的流量配额分配。
[0084]步骤S402,拿出一定比例进行初始预分配,跳转到步骤S403。
[0085]具体的,服务人员从总流量配额中按一定比例拿出一部分进行静态预分配,即给集群中的服务节点按照需要分别分配一定的流量配额,服务节点根据该初始分配的流量配额进行最初的流量管理处理;其具体比例可以根据集群的性质、服务节点的总数及机器的性能来进行分配。
[0086]步骤S403,将其余的放入配额资源池中,跳转到步骤S404。
[0087]具体的,当从总流量配额中分离出一部分进行预分配后,将该总流量配额中剩余的部分放入配额资源池中,当服务节点用完自身预分配的初始流量配额时,可以根据需要从配额资源池中获取流量配额,以进行后续的流量控制管理处理。另外的,由于集群中的服务节点数是会变动的,即集群中会有新服务节点加入,当新服务节点加入时,该新服务节点会先从配额资源池中获取一定流量配额,当该新服务节点用完自身的初始分配的流量配额时,可以根据需要从配额资源池中再次获取流量配额,以进行后续的流量控制处理。
[0088]步骤S404,判断是否有服务节点加入或退出,若有服务节点加入,跳转到步骤S405;若有服务节点退出,跳转到步骤S412。
[0089]具体的,由于集群中的服务节点数是会变动的,即集群中会存在服务节点加入和服务节点退出的情况,所以当集群处于工作状态时,系统会检测集群中节点的变化,判断是否有服务节点加入或退出集群。当有新服务节点加入时,则从配额资源池中去获取流量配额;当有服务节点退出集群时,将该节点分配的流量配额归还到配额资源池中。
[0090]步骤S405,向配额资源池申请配额,跳转到步骤S406。
[0091 ]具体的,当集群中有新节点加入时,该新服务节点就按自身的负载统计数据情况主动向配额资源池申请流量配额阈值,获取一定流量配额作为自身的静态资源流量配额,以进行该服务节点下的流量控制处理。
[0092]步骤S406,判断流量是否达到配额需求,若是,跳转到步骤S407;若否,继续进行步骤S406。
[0093]具体的,当新加入的服务节点从配额资源池中获取一定的流量配额后,还需要判断其获取到的配额阈值是否达到自身所需要的配额需求的阈值,若没有达到,则说明配额资源池中的流量配额有可能不足,则隔一定的时间检测该服务节点获取的流量配额是否达到配额需求的阈值,当其达到阈值时,该服务节点开始进行后续处理。
[0094]步骤S407,向配额资源池申请阈值,跳转到步骤S408。
[0095]具体的,当服务节点用完自身初始分配的流量配额时,可以根据需要主动地从配额资源池中再次获取流量配额,以进行后续的处理。进一步的,申请流量配额的策略为,若流量控制周期为T,资源池总量为M,总服务节点为N,加权系数为Q,则每次申请的流量配额为:M/N*T/Q,其中Q是由申请流量配额的节点根据自身的一个响应延迟平均值做具体调整,响应慢,则Q值就大,响应快则Q值就小。
[0096]步骤S408,判断是否申请到,若是,跳转到步骤S406 ;若否,跳转到409。
[0097]具体的,当服务节点主动向配额资源池获取流量配额时,判断其能否申请到流量配额,若申请到,后续监控其申请到的流量是否达到需要阈值;若申请不到,则说明动态资源池的流量配额如被申请完了,申请流量配额的节点申请不到流量配额,则进入流量控制状态。
[0098]步骤S409,进入流量控制,跳转到步骤S410。
[0099]具体的,当动态资源池中的流量配额被申请完时,申请流量配额的服务节点申请不到流量配额,则进入流量控制状态;拒绝新接入的请求。
[0100]步骤S410,判断服务节点负荷是否超出预设值,若是,跳转到步骤S411;若否,则结束;
[0101]具体的,服务节点根据机器不同,其需要的资源也不同,系统对服务节点的负载进行检测,判断服务节点负荷是不是超出该服务节点所需要的预设值,也可以判断某个服务节点周期内的平均响应时间是否超过设置的阀值;当超出时,将该服务节点下的流量配额归还到配额资源池;当未超出时,结束流量配额配置处理。
[0102]步骤S411,归还部分配额,跳转到步骤S410。
[0103]具体的,当某一服务节点的负载超出预设值时,则说明该服务节点的流量配额有剩余,为避免流量配额浪费,及其他服务节点获取不到流量配额,将该节服务点下的流量配额归还到配额资源池。进一步的,该归还处理可以通过多次少量的方式归还到配额资源池。
[0104]步骤S412,归还已获取的阈值,跳转到步骤S403。
[0105]具体的,当某一节点退出配额资源池时,将分配给该节点的流量配额归还到配额资源池,提供给其他需要流量配额的节点;另外,当某一服务节点分配的流量配额超过自身所需要的流量配额时,将多出来的部分选择性的归还到配额资源池。
[0106]本实施例提供的流量管理方法,可以用在服务端分布式系统中用于控制各个服务集群之间的一个流量控制的整体改良,比如推送服务的流量控制处理中,具体的,某个实际使用场景如下:推送服务整个集群规划的是可承受100万的长连接接入,我们线上部署了 10台节点组成的接入服务集群,每个节点最大更承受15万个长连接,在某个业务高峰的时候,涌进来的连接大概有150万个,我们整个流量管理装置保证了总体接入控制在100万,每个节点最大接入量不超过15万,每个节点接入的量都是很均匀,整个系统非常稳定。
[0107]本实施采用的流量管理方法,通过初始预分配与动态申请结合的方式,使得系统能根据服务节点的具体需要动态的分配流量配额,使得流量控制过程更精准,且这种方式支持集群中服务节点的数量变化引起的节点流量配额获取,使得集群具有弹性伸缩特性。另外,能动态的调整服务节点的流量配额,做到流量配额的不浪费,提高了系统的整体性會K。
[0108]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0109]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0110]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如R0M/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,月艮务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
[0111]以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种流量管理装置,其特征在于,包括: 配额模块,用于从流量配额中为当前集群中的各服务节点分配初始流量配额,将剩余流量配额存储在配额资源池中; 调控模块,用于接收服务节点发送的配额调配请求,根据所述配额调配请求给所述服务节点调配流量配额;所述配额调配请求为当前流量配额与配额需求不匹配时产生的请求。2.如权利要求1所述的流量管理装置,其特征在于,所述配额调配请求包括以下至少一种: 服务节点当前流量配额不满足配额需求时发送的增加配额调配请求; 服务节点当前流量配额相对配额需求过剩时发送的归还配额调配请求。3.如权利要求2所述的流量管理装置,其特征在于,所述调控模块还用于:当所述调配请求包括增加配额调配请求时,根据配额策略S = M/N*T/Q给所述服务节点调配流量配额,其中S为需要分配给所述服务节点的流量配额,M为配额资源池总流量配额资源量,N为集群中总服务节点数,T为所述服务节点获取流量配额的周期,Q为根据所述服务节点的负载设置的加权系数。4.如权利要求2所述的流量管理装置,其特征在于,所述调控模块还用于:当所述调配请求包括归还配额调配请求时, 将空余流量配额一次收回; 或根据预设规则逐次收回所述空余流量配额。5.—种流量管理服务器,其特征在于,包括如权利要求1-4任一项所述的流量管理装置。6.一种流量管理方法,其特征在于,包括: 从流量配额中为当前集群中的各服务节点分配初始流量配额,将剩余流量配额存储在配额资源池中; 接收服务节点发送的配额调配请求,根据所述配额调配请求给所述服务节点调配流量配额;所述配额调配请求为当前流量配额与配额需求不匹配时产生的请求。7.如权利要求6所述的流量管理方法,其特征在于,所述配额调配请求包括以下至少一种: 服务节点当前流量配额不满足配额需求时发送的增加配额调配请求; 服务节点当前流量配额相对配额需求过剩时发送的归还配额调配请求。8.如权利要求7所述的流量管理方法,其特征在于,当所述调配请求包括增加配额调配请求时,根据所述配额调配请求给所述服务节点调配流量配额包括:根据配额策略S = M/N*T/Q给所述服务节点调配流量配额,其中S为需要分配给所述服务节点的流量配额,M为配额资源池总流量配额资源量,N为集群中总服务节点数,T为所述服务节点获取流量配额的周期,Q为根据所述服务节点的负载设置的加权系数。9.如权利要求7所述的流量管理方法,其特征在于,当所述调配请求包括归还配额调配请求时,根据所述配额调配请求给所述服务节点调配流量配额包括: 将空余流量配额一次收回; 或根据预设规则逐次收回所述空余流量配额。10.如权利要求6-9任一项所述的流量管理方法,其特征在于,还包括: 当集群中有新增服务节点时,从所述配额资源池中给所述新增服务节点分配流量配额; 和/或, 当集群中有服务节点退出时,将该退出的服务节点的流量配额收回到所述配额资源池。
【文档编号】H04L29/08GK105897484SQ201610388273
【公开日】2016年8月24日
【申请日】2016年6月1日
【发明人】林锦
【申请人】努比亚技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1