CN115604191A - 业务流量控制方法、装置、电子设备及可读存储介质 - Google Patents

业务流量控制方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN115604191A
CN115604191A CN202110721848.3A CN202110721848A CN115604191A CN 115604191 A CN115604191 A CN 115604191A CN 202110721848 A CN202110721848 A CN 202110721848A CN 115604191 A CN115604191 A CN 115604191A
Authority
CN
China
Prior art keywords
service
resource amount
priority
token resource
token
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.)
Pending
Application number
CN202110721848.3A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110721848.3A priority Critical patent/CN115604191A/zh
Publication of CN115604191A publication Critical patent/CN115604191A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types

Landscapes

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

Abstract

本申请实施例提供了一种业务流量控制方法、装置、电子设备及可读存储介质,包括:响应于业务处理请求,获取业务处理请求对应的业务的优先级;基于优先级确定业务对应的有效令牌资源量,并从令牌桶中获取当前令牌资源量,有效令牌资源量表征对业务执行放行并进行处理时所需最小令牌资源量,且高优先级的业务的有效令牌资源量小于低优先级的业务的有效令牌资源量;将有效令牌资源量与当前令牌资源量进行匹配,并基于匹配结果对业务进行相应的控制操作。该方案由于流量控制过程中,对于是否放行业务,考虑了与业务的优先级有关的有效令牌资源量,且优先级越高的业务的有效令牌资源量越小,可以在流量控制过程中提高高优先级的业务的放行概率。

Description

业务流量控制方法、装置、电子设备及可读存储介质
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种业务流量控制方法、装置、电子设备及可读存储介质。
背景技术
随着网络技术的快速发展,基于网络的应用越来越多、越来越复杂。种类繁多的应用正在吞噬着越来越多的网络资源。尤其是网络视频、个人媒体、传统电视等媒体向互联网的渗入是的网络中的流量急剧上升,流量控制是用来优化或保证性能,改善延迟,和/或增加某些类型的数据包延迟满足某些条件下的可用带宽。流量控制可以理解为采用一定的手段来控制在指定时间内(带宽限制),被发送到网络中的数据量,或者是控制数据流量发送的最大速率。
令牌桶算法是流量控制的常用算法,该算法在执行过程中,令牌桶中能容纳的最大令牌数量固定,且令牌桶中按预先配置的带宽添加令牌,需要被放行的业务需要从令牌桶获取与业务数据量对应的令牌数量,且只有当令牌桶中的令牌数量充足时令牌桶才会向业务发给令牌,因此最大的业务流量即取决于向令牌桶添加令牌的带宽,通过调整该带宽值即可实现对业务流量的控制。
在多个优先级不同的业务混部场景中,目前的流量控制方案无法区分业务的优先级,因此有必要对现有的业务流量控制方法进行改进。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:
第一方面,本申请实施例提供了一种业务流量控制方法,包括:
响应于业务处理请求,获取业务处理请求对应的业务的优先级;
基于优先级确定业务对应的有效令牌资源量,并从令牌桶中获取当前令牌资源量,其中,有效令牌资源量表征对业务执行放行并进行处理时所需最小令牌资源量,且高优先级的业务的有效令牌资源量小于低优先级的业务的有效令牌资源量,当前令牌资源量表征在接收到业务处理请求时令牌桶中的令牌资源量;
将有效令牌资源量与当前令牌资源量进行匹配,并基于匹配结果对业务进行相应的控制操作。
在本申请的一种可选实施例中,业务处理请求包含有业务的需求令牌资源量,基于匹配结果对业务进行相应的控制操作,包括:
若当前令牌资源量不小于有效令牌资源量和需求令牌资源量,则对业务执行放行并进行处理;
若当前令牌资源量不小于有效令牌资源量,但小于需求令牌资源量,且业务的优先级别不小于预设级别,则直接对业务执行放行并进行处理;
若当前令牌资源量小于有效令牌资源量,则丢弃业务处理请求或将业务处理请求加入等待队列。
在本申请的一种可选实施例中,基于优先级确定业务对应的有效令牌资源量,包括:
基于优先级,通过预设的各优先级与有效令牌资源量的对应关系,确定业务的有效令牌资源量。
在本申请的一种可选实施例中,各优先级与有效令牌资源量的对应关系,通过如下方式获取:
获取各优先级分别对应业务的保障带宽和令牌桶的最大令牌资源量,保障带宽为业务正常运作的最低带宽,且高优先级的业务的保障带宽大于低优先级的业务的保障带宽,最大令牌资源量表征可执行放行并进行处理的业务的最大带宽;
按各优先级对应业务的保障带宽大小对最大令牌资源量进行划分,得到各优先级对应的有效令牌资源量。
在本申请的一种可选实施例中,按各优先级对应业务的保障带宽大小对最大令牌资源量进行划分,得到各优先级对应的有效令牌资源量,包括:
对于每一优先级,获取除该优先级之外的其他优先级对应业务的保障带宽之和占所有优先级对应业务的保障带宽之和的比例;
将比例乘以最大令牌资源量,得到该优先级对应的有效令牌资源量。
在本申请的一种可选实施例中,业务处理请求包含有业务的业务标识,获取业务处理请求对应的业务的优先级,包括:
从业务处理请求中获取业务标识,并基于业务标识,通过预设的业务标识与优先级之间的对应关系,确定业务的优先级。
在本申请的一种可选实施例中,业务标识包括业务处理请求的协议类型、发送端的互联网协议IP地址或发送端的端口号。
在本申请的一种可选实施例中,令牌桶按照预定时间间隔增加令牌资源,在未接收到新的业务处理请求的空闲状态时,该方法还包括:
对等待队列中的待处理的业务处理请求进行以下处理,直至等待队列不存在待处理的业务处理请求:
基于待处理的业务处理请求对应的待处理业务的优先级,确定待处理业务对应的有效令牌资源量,并从当前的令牌桶中获取当前令牌资源量;
将待处理业务对应的有效令牌资源量与当前令牌资源量进行匹配,并基于匹配结果对业务进行相应的控制操作。
第二方面,本申请实施例提供了一种业务流量控制装置,包括:
优先级获取模块,用于响应于业务处理请求,获取业务处理请求对应的业务的优先级;
令牌资源量获取模块,用于基于优先级确定业务对应的有效令牌资源量,并从令牌桶中获取当前令牌资源量,其中,有效令牌资源量表征对业务执行放行并进行处理时所需最小令牌资源量,且高优先级的业务的有效令牌资源量小于低优先级的业务的有效令牌资源量,当前令牌资源量表征在接收到业务处理请求时令牌桶中的令牌资源量;
流量控制模块,用于将有效令牌资源量与当前令牌资源量进行匹配,并基于匹配结果对业务进行相应的控制操作。
在本申请的一种可选实施例中,业务处理请求包含有业务的需求令牌资源量,流量控制模块具体用于:
若当前令牌资源量不小于有效令牌资源量和需求令牌资源量,则对业务执行放行并进行处理;
若当前令牌资源量不小于有效令牌资源量,但小于需求令牌资源量,且业务的优先级别不低于预设级别,则直接对业务执行放行并进行处理;
若当前令牌资源量小于有效令牌资源量,则丢弃业务处理请求或将业务处理请求加入等待队列。
在本申请的一种可选实施例中,令牌资源量获取模块具体用于:
基于优先级,通过预设的各优先级与有效令牌资源量的对应关系,确定业务的有效令牌资源量。
在本申请的一种可选实施例中,该装置还可以包括对应关系获取模块,用于:
获取各优先级分别对应业务的保障带宽和令牌桶的最大令牌资源量,保障带宽为业务正常运作的最低带宽,且高优先级的业务的保障带宽大于低优先级的业务的保障带宽,最大令牌资源量表征可执行放行并进行处理的业务的最大带宽;
按各优先级对应业务的保障带宽大小对最大令牌资源量进行划分,得到各优先级对应的有效令牌资源量。
在本申请的一种可选实施例中,对应关系获取模块具体用于:
对于每一优先级,获取除该优先级之外的其他优先级对应业务的保障带宽之和占所有优先级对应业务的保障带宽之和的比例;
将比例乘以最大令牌资源量,得到该优先级对应的有效令牌资源量。
在本申请的一种可选实施例中,优先级获取模块具体用于:
从业务处理请求中获取业务标识,并基于业务标识,通过预设的业务标识与优先级之间的对应关系,确定业务的优先级。
在本申请的一种可选实施例中,业务标识包括业务处理请求的协议类型、发送端的互联网协议IP地址或发送端的端口号。
在本申请的一种可选实施例中,该装置还可以包括等待队列处理模块,用于:
令牌桶按照预定时间间隔增加令牌资源,在未接收到新的业务处理请求的空闲状态时,对等待队列中的待处理的业务处理请求进行以下处理,直至等待队列不存在待处理的业务处理请求:
基于待处理的业务处理请求对应的待处理业务的优先级,确定待处理业务对应的有效令牌资源量,并从当前的令牌桶中获取当前令牌资源量;
将待处理业务对应的有效令牌资源量与当前令牌资源量进行匹配,并基于匹配结果对业务进行相应的控制操作。
第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器;
存储器中存储有计算机程序;
处理器,用于执行计算机程序以实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
本申请提供的技术方案带来的有益效果是:
在接收到业务处理请求之后,基于对应的业务的优先级确定出有效令牌资源量,并与令牌桶中当前令牌资源量进行匹配,最后基于匹配结果对业务对应的控制操作,由于流量控制过程中,对于是否放行业务,考虑了与业务的优先级有关的有效令牌资源量,且优先级越高的业务的有效令牌资源量越小,能够实现对不同优先级业务的区分,可以在流量控制过程中提高高优先级的业务的放行概率,进而提高高优先级业务的传输带宽。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种业务流量控制系统的系统架构示意图;
图2为图1中各节点之间的信息交互示意图图;
图3为图1中流量控制节点的结构示意图;
图4为本申请实施例提供的一种业务流量控制方法的流程示意图;
图5为本申请实施例提供的一种业务流量控制方法执行过程的示意图;
图6为本申请实施例提供的另一种业务流量控制方法执行过程的示意图;
图7为本申请实施例提供的又一种业务流量控制方法执行过程的示意图;
图8为本申请实施例的一个示例中的业务流量控制方法的应用场景示意图;
图9为本申请实施例提供的一种业务流量控制装置的结构框图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在现有技术和本申请的实施例中,业务流量控制方案实施时所依赖的系统架构如图1所示,业务发生节点101产生业务处理请求,该业务发生端可以是用户终端设备、服务器等,该业务发生节点101将产生的业务处理请求发送至流量控制节点102,该流量控制节点102可以是靠近用户终端设备的分布式系统中的边缘节点等。该业务控制节点102可以是服务器,其可以是设置在业务处理服务器之前的服务器,用于对业务流量进行控制。在流量控制节点102中设置有令牌桶,在流量控制节点102中将基于流量控制方案确定是否对业务处理请求对应的业务执行放行并进行处理,若确定对业务执行放行,则指示令牌桶为该业务发放令牌,并将业务发送至业务处理节点103进行相应处理,业务处理节点103可以为服务器、用户终端设备等,若确定不对业务执行放行,则将该业务的业务处理请求丢弃或加入等待队列。
需要说明的是,业务发生节点101、业务处理节点103也同样可以包含于流量控制节点102中,即业务产生、放行和相应处理都在流量控制节点中进行。
如图2所示,为业务流量控制中各节点之间的信息交互图,可以包括如下几个步骤:
(1)业务发生节点向流量控制节点发送业务处理请求;
(2)流量控制节点基于业务处理请求,确定是否放行该业务处理请求对应的业务;
(3)若流量控制节点确定放行该业务,则将该业务放行至业务处理节点对该业务进行处理;
(4)若流量控制节点确定不放行该业务,则流量控制节点将该业务处理请求丢弃或放入等待队列。
如图3所示,在流量控制节点102中进一步可以分为令牌桶1021和放行确定模块1022,放行确定模块1022可以实时获知令牌桶1021中令牌数量,同时接收业务处理请求,基于业务处理请求中携带的信息和从令牌桶1021获知的令牌数量(对应于后文的令牌资源量),来确定是否对该业务进行放行,同样,若确定对业务执行放行,则指示令牌桶1021为该业务发放令牌,若确定不对该业务进行放行,则将该业务的业务处理请求丢弃或加入等待队列。
在现有技术中,放行确定模块1022从接收到的业务处理请求中获取对应的业务所需要的令牌数量(对应于后文的需求令牌资源量),若令牌桶1021中当前令牌数量充足,即当前令牌数大于业务所需要的令牌数量,即确定对该业务进行放行,则放行确定模块1022指示令牌桶1021为该业务所需要的令牌数量的令牌。但是,对于多优先级业务混部的场景,即多个不同优先级的业务共享同一令牌桶的带宽,若低优先级的业务的业务处理请求先到达,其消耗了令牌桶中的令牌,可能导致随后到达的高优先级的业务所需的令牌数量大于当前令牌数量,进而使得高优先级的业务的业务处理请求请求被丢弃,换言之,不同优先级的业务是否放行与到达先后顺序有关,可能出现后达到的高优先级的业务的业务处理请求被丢弃的情况。
针对现有技术中存在的上述问题,本申请实施例提供了一种业务流量控制方案,以提高业务混部场景下,高优先级的业务在流量控制过程中被优先放行的概率,下面将对本申请的方案进行详细说明。
图4为本申请实施例提供的一种业务流量控制方法的流程示意图,该方法的执行主体可以是前文中所述的流量控制节点(控制节点中的放行确定模块),如图1所示,该方法可以包括:
步骤S401,响应于业务处理请求,获取业务处理请求对应的业务的优先级。
其中,流量控制节点在接收到业务处理请求时,即需要确定是否对该业务处理请求对应的业务执行放行并进行处理,若确定放行则执行放行并执行相应的处理。业务处理请求可以包含对应业务的业务标识和需求令牌资源量等。
具体地,流量控制节点在接收到业务处理请求后,基于该业务处理请求确定出对应的业务的优先级。具体来说,业务的优先级可以根据流量控制节点中的预先配置信息来进行确定,该预先配置信息可以包括预先配置的业务标识与优先级之间的对应关系,那么业务处理请求中需要包含有业务标识;该预先配置信息也可以包括预先配置的优先级别确定规则,那么业务处理请求中需要包含有优先级别确定规则所需的数据。
步骤S402,基于优先级确定业务对应的有效令牌资源量,并从令牌桶中获取当前令牌资源量,有效令牌资源量表征对业务执行放行并进行处理时所需最小令牌资源量,且高优先级的业务的有效令牌资源量小于低优先级的业务的有效令牌资源量,当前令牌资源量表征在接收到业务处理请求时令牌桶中的令牌资源量,单位时间内分配给业务的令牌资源量、与可执行放行并进行处理的业务的带宽相对应。
其中,在流量控制中,令牌资源量可以理解为令牌所占的字节数,也可以形象的理解为令牌数量。一般来说,单位时间分配或发放给业务的令牌资源量,与可执行放行并进行处理的业务的带宽相对应。举例来说,若发放一个令牌可以放行并进行处理的业务的数据量为2字节,且1秒内发放给某一业务5个令牌,则该业务对应的带宽为10字节/秒。
其中,有效令牌资源量可以理解为有效令牌资源数,每一优先级的业务都对应一个有效令牌数量,该有效令牌数量为令牌桶能够对该业务执行放行并进行处理时令牌桶中所需包含的最少令牌数量,即令牌桶中有多于该有效令牌数量的令牌,该业务才有被放行的可能。同时,为了提高高优先级的业务被优先放行的概率,高优先级的业务的有效令牌数量小于低优先级的业务的有效令牌数量。举例来说,对于三个优先级的业务A、B、C,三者的优先级别由高到低依次下降,那么为了实现本申请实施例提供的方案,可以按预设规则分别为业务A、B、C设置对应的有效令牌资源量,该预设规则至少满足:高优先级的业务的有效令牌资源量小于低优先级的业务的有效令牌资源量,且各优先级别业务的有效令牌资源量不大于对应的令牌桶的最大令牌资源量,那么,假设令牌桶的最大资源量为500,可以将业务A、B、C设置对应的有效令牌资源量分别设置为100、300、450。需要注意的是,业务的有效令牌资源量是根据预设规则设置的,而后文中业务的需求令牌资源量是由业务本身决定的,显然两者存在区别。
具体地,在获取到业务的优先级后,基于优先级获取该业务对应的有效资源量,并获取此时令牌桶中包含的令牌资源量。具体来说,业务的有效令牌资源量可以根据流量控制节点中的预先配置信息来进行确定,该预先配置信息可以包括不同优先级与有效令牌资源量之间的对应关系,那么根据优先级即可确定出该业务对应的有效令牌资源量;该预先配置信息可以包括有效令牌资源量的确定规则,那么除了优先级外,还需要获取有效令牌资源量的确定规则所需的其他参数。
步骤S403,将有效令牌资源量与当前令牌资源量进行匹配,并基于匹配结果对业务进行相应的控制操作。
具体地,将业务对应的有效令牌资源量与令牌桶中的当前令牌资源量进行匹配,并基于该匹配结果确定对业务是放行、还是丢弃其业务处理请求、还是将其业务处理请求加入等待队列。在确定具体的控制操作时,考虑了业务的有效令牌资源量,由于不同优先级的业务的有效令牌资源量不同,即在具体的控制操作时,考虑了业务的优先级。
本申请提供的方案,在接收到业务处理请求之后,基于对应的业务的优先级确定出有效令牌资源量,并与令牌桶中当前令牌资源量进行匹配,最后基于匹配结果对业务对应的控制操作,由于流量控制过程中,对于是否放行业务,考虑了与业务的优先级有关的有效令牌资源量,且优先级越高的业务的有效令牌资源量越小,能够实现对不同优先级业务的区分,可以在流量控制过程中提高高优先级的业务的放行概率,进而提高高优先级业务的传输带宽。
如图5所示,为本申请实施例中提供的一种业务流量控制方法的执行过程示意图,首先,根据接收到的业务处理请求,获取业务对应的优先级,然后,基于优先级获取业务对应的有效令牌数量,同时,获取令牌桶中当前令牌数量,再然后,比较当前令牌数量和有效令牌数量,若当前令牌数量大于或等于有效令牌数量,则放行该业务,若当前令牌数量小于有效令牌数量,则将该业务的业务处理请求丢弃或加入等待队列。
在本申请的一种可选实施例中,业务处理请求包含有业务的需求令牌资源量,基于匹配结果对业务进行相应的控制操作,包括:
若当前令牌资源量不小于有效令牌资源量和需求令牌资源量,则对业务执行放行并进行处理;
若当前令牌资源量不小于有效令牌资源量,但小于需求令牌资源量,且业务的优先级别不低于预设级别,则直接对业务执行放行并进行处理;
若当前令牌资源量小于有效令牌资源量,则丢弃业务处理请求或将业务处理请求加入等待队列。
其中,业务的需求令牌资源量是与业务对应的待处理的数据包大小相关的,具体来说,在确定了单位令牌资源量与对应的可执行放行的数据的大小的关系后,就可以根据业务的数据包的大小确定业务的需求令牌资源量。举例来说,若一个令牌可以对5字节(Byte)的数据执行放行,且某一业务的数据包大小为100字节,那么该业务的需求令牌资源量为20字节。可以理解的是,上述举例只是对需求令牌资源量的示意性说明,本申请并不以此为限。
具体地,在确定对业务进行控制操作的具体内容时,除了需要该业务的有效令牌资源量与当前令牌资源量之间的匹配结果,还可以考虑该业务的需求令牌资源量。
具体来说,若该匹配结果指示当前令牌资源量不小于有效令牌资源量,则说明满足对该业务执行放行定进行处理的最低要求,那么,若当前令牌资源量不小于该业务的需求令牌资源量,则对所述业务执行放行并进行处理,同时指示令牌桶发放对应的令牌资源量,即令牌桶消耗该业务的需求令牌资源量的令牌。
若该匹配结果指示当前令牌资源量不小于有效令牌资源量,则说明满足对该业务执行放行并进行处理的最低要求,同时,若当前令牌资源量小于该业务的需求令牌资源量,说明令牌同种当前令牌资源量不足以对该业务的需求令牌量进行覆盖,此时,若该业务的优先级高于预设优先级,为了提高高优先级被优先放行的概率,则可以直接对该业务执行放行并进行处理。同时,由于令牌桶中当前令牌资源量小于该业务的需求令牌资源量,那么指示令牌桶发放当前令牌资源量,并为令牌桶添加令牌资源量的差额(该差额即等于当前令牌资源量与该业务需求的令牌资源量之间的差值),后续再向令牌桶中注入新的令牌时,需要抵消该令牌资源量的差额。若该业务的优先级不高于预设优先级,则将该业务的业务请求丢弃或加入等待队列。其中,预设优先级可以根据实际需求进行设置,如可以设置为第二优先级,若当前令牌资源量不小于该业务的有效令牌资源量,但小于该业务的需求令牌资源量,且该业务的优先级为高于第二优先级的第一优先级,则直接对该业务执行放行并进行处理。
若该匹配结果指示当前令牌资源量小于有效令牌资源量,则说明不满足对该业务执行放行并进行处理的最低要求,则将该业务的业务处理请求丢弃或加入等待队列。
如图6所示,为本申请实施例中提供的一种业务流量控制方法的执行过程示意图,首先,根据接收到的业务处理请求,获取业务对应的优先级,然后,基于优先级获取业务对应的有效令牌数量,同时,获取令牌桶中当前令牌数量和该业务的需求令牌数量,再然后,比较当前令牌数量和有效令牌数量,若当前令牌数量大于或等于有效令牌数量,且当前令牌数量大于或等于需求令牌数量,则发放令牌,放行该业务并进行处理。若当前令牌数量大于或等于有效令牌数量,且当前令牌数量小于需求令牌数量,则直接放行该业务并进行处理。若当前令牌数量小于有效令牌数量,则将该业务的业务处理请求丢弃或加入等待队列。
在本申请的一种可选实施例中,基于优先级确定业务对应的有效令牌资源量,包括:
基于优先级,通过预设的各优先级与有效令牌资源量的对应关系,确定业务的有效令牌资源量。
具体地,在从业务处理请求中获取到优先级后,基于优先级,通过预设的各优先级与有效令牌资源量的对应关系,确定业务的有效令牌资源量。具体来说,预设的各优先级与有效令牌资源量的对应关系可以存储在流量管理节点的第一预设对应关系库中,在每次获取了优先级后,即可通过该优先级在第一预设对应关系库中查找到对应的有效令牌资源量。需要说明的是,这些对应关系都是预先设置好的,可以根据实际需求进行添加或删除。
在本申请的一种可选实施例中,各优先级与有效令牌资源量的对应关系,通过如下方式获取:
获取各优先级分别对应业务的保障带宽和令牌桶的最大令牌资源量,保障带宽为业务正常运作的最低带宽,且高优先级的业务的保障带宽大于低优先级的业务的保障带宽,最大令牌资源量表征可执行放行并进行处理的业务的最大带宽;
按各优先级对应业务的保障带宽大小对最大令牌资源量进行划分,得到各优先级对应的有效令牌资源量。
其中,由前文描述可知,单位时间分配或发放给业务的令牌资源量,与可执行放行并进行处理的业务的带宽相对应。业务的保障带宽指的是保障带宽为业务正常运作的所需求的最低带宽,该保障带宽可以根据实际需求进行配置,只需要保证高优先级的业务的保障带宽大于低优先级的业务的保障带宽。
其中,令牌桶的最大资源量是其本身的属性,表示其最多能容纳的令牌资源量,进一步地,令牌桶的最大令牌资源量也可以决定一次性方向的业务的量,换言之,最大资源量可以决定可进行放行的业务的最大带宽,即令牌桶的最大资源量越大,可执行放行并进行处理的业务的最大带宽越大。
具体地,确定业务的有效令牌资源量,首先要满足有效令牌资源量不能超过令牌桶的最大令牌资源量,同时要保证高优先级的业务的有效令牌资源量小于低优先级的有效令牌资源量,按此原则确定出的有效令牌数量即可满足要求。业务的保障带宽的大小可以说明其优先级的高低,因此可以根据业务的保障带宽对令牌桶的最大令牌资源量进行划分,从而确定出体现业务优先级,并满足不大于最大令牌资源量的有效令牌资源量。
进一步地,按各优先级对应业务的保障带宽大小对最大令牌资源量进行划分,得到各优先级对应的有效令牌资源量,包括:
对于每一优先级,获取除该优先级之外的其他优先级对应业务的保障带宽之和占所有优先级对应业务的保障带宽之和的比例;
将比例乘以最大令牌资源量,得到该优先级对应的有效令牌资源量。
举例来说,对于三个优先级,分别为优先级1、优先级2、优先级3,三者优先级别依次由高到低,且优先级1对应的保障带宽为t1,优先级2对应的保障带宽为t2,优先级3对应的保障带宽为t3,令牌桶的最大令牌资源量为w,各优先级对应的有效令牌资源量w1、w2、w3可以根据如下公式计算:
Figure BDA0003136783100000141
具体地,将各优先级和上述公式计算出的其有效令牌资源量一一对应存储至第一预设对应关系库中,以供后续流量控制过程中使用。需要说明的是,在实际应用中,对于所有优先级中的最高优先级,可以直接将其有效令牌资源量设置为0,也即在任何情况下都对该最高优先级的业务执行放行并进行处理。
在本申请的一种可选实施例中,业务处理请求包含有业务的业务标识,获取业务处理请求对应的业务的优先级,包括:
从业务处理请求中获取业务标识,并基于业务标识,通过预设的业务标识与优先级之间的对应关系,确定业务的优先级。
具体地,在从业务处理请求中获取到业务标识后,基于业务标识,通过预设的业务标识与优先级之间的对应关系,确定业务的优先级。具体来说,预设的业务标识与优先级之间的对应关系可以存储在流量管理节点的第二预设对应关系库中,在每次获取了业务标识后,即可通过该优先级在第二预设对应关系库中查找到对应的优先级。需要说明的是,这些对应关系都是预先设置好的,可以根据实际需求进行添加或删除。
进一步地,业务标识包括业务处理请求的协议类型、发送端的互联网协议IP地址(Internet Protocol Address)或发送端的端口号。具体来说,根据业务处理请求的来源和去向可以确定出业务的优先级,而业务处理请求的来源和去向即可通过上述业务标识进行指示。
在本申请的一种可选实施例中,令牌桶按照预定时间间隔增加令牌资源,在未接收到新的业务处理请求的空闲状态时,该方法还包括:
对等待队列中的待处理的业务处理请求进行以下处理,直至等待队列不存在待处理的业务处理请求:基于待处理的业务处理请求对应的待处理业务的优先级,确定待处理业务对应的有效令牌资源量,并从当前的令牌桶中获取当前令牌资源量;
将待处理业务对应的有效令牌资源量与当前令牌资源量进行匹配,并基于匹配结果对业务进行相应的控制操作。
具体地,在流量控制过程中,被加入等待队列中的业务处理请求,将在流量控制节点未接收到新的业务处理请求的空闲状态时,重新被处理。对于等待队列中的多个待处理业务处理请求,可以按各业务处理请求加入队列的先后顺序依次进行处理,其处理过程与前述实施例中对新接收到的业务处理请求的处理过程一致。需要说明的是,在依次对等待队列中的多个待处理业务处理请求进行处理时,若接收到新的业务处理请求,则在完成当前正在处理的待处理业务处理请求后,立即对新的业务处理请求进行处理。
如图7所示,为本申请实施例中为本申请实施例中提供的一种业务流量控制方法的执行过程示意图,首先,根据接收到的业务处理请求,获取业务对应的优先级,然后,基于优先级获取业务对应的有效令牌数量,同时,获取令牌桶中当前令牌数量和该业务的需求令牌数量,再然后,比较当前令牌数量和有效令牌数量,若当前令牌数量大于或等于有效令牌数量,且当前令牌数量大于或等于需求令牌数量,则发放令牌,放行该业务并进行处理,。若当前令牌数量大于或等于有效令牌数量,且当前令牌数量小于需求令牌数量,则直接放行该业务并进行处理。若当前令牌数量小于有效令牌数量,则将该业务的业务处理请求丢弃或加入等待队列。在流量控制过程中,在流量控制节点未接收到新的业务处理请求的空闲状态时,重新处理被加入等待队列中的业务处理请求。
下面通过一个示例来对本申请的方案进行进一步说明,如图8所示,用户A通过操作用户设备8011上的应用1,产生业务处理请求1,该业务处理请求1的业务标识1为该应用的标识,该业务内容为上传图片至云端存储服务器803并存储。用户设备801将该业务处理请求1发送至流量控制服务器802,在流量控制服务器802中,流量控制模块通过该业务处理请求1中的业务标识1在第二预设对应关系库中查询获知该业务的优先级为优先级X,流量控制模块通过该业务处理请求1获知该业务的需求令牌数量为50,再通过该优先级X在第一预设对应关系库中查询获知该业务的有效令牌数量为150,同时流量控制模块获知令牌桶此时的当前令牌数量为80。经比对得知,当前令牌数量小于该业务的有效令牌数量,因此丢弃该业务处理请求1,并向用户设备8011反馈网络繁忙上传失败的提示信息。
随后,用户B通过操作用户设备8012上的应用2,产生业务处理请求2,该业务处理请求2的业务标识2为该应用的标识,该业务内容为上传图片至云端存储服务器803并存储。用户设备801将该业务处理请求2发送至流量控制服务器802,在流量控制服务器802中,流量控制模块通过该业务处理请求2中的业务标识2在第二预设对应关系库中查询获知该业务的优先级为优先级Y(优先级Y的优先级别高于优先级X),流量控制模块通过该业务处理请求2获知该业务的需求令牌数量为80,再通过该优先级Y在第一预设对应关系库中查询获知该业务的有效令牌数量为100,同时流量控制模块获知令牌桶此时的当前令牌数量为105。经比对得知,当前令牌数量大于该业务的有效令牌数量和需求令牌数量,因此对该业务执行放行,并将该业务转发至云端存储服务器803。
由该实例可知业务处理请求2对应的业务的优先级高于业务处理请求1的优先级,若按照现有技术的流量控制方法,流量控制模块会对业务处理请求1的业务执行放行,将消耗令牌桶中50个令牌,导致紧随其后的业务处理请求2的业务将被丢弃或加入等待队列,即高优先级无法优先上传数据,而通过本申请的方案,可以保证高优先级的业务处理请求2的业务被放行并完成数据上传,相较于现有技术提高了该优先级业务的放行概率。
需要说明的是,本申请的方案设计云技术(Cloud technology),云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
具体地,本申请的方案可以应用于云计算中,云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(UtilityComputing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
具体来说,本申请的方案可以应用于云存储(cloud storage)方案中,云存储是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
本申请的方案可以应用于数据库(Database)方案中,数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言(Structured QueryLanguage)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
图9为本申请实施例提供的一种业务流量控制装置的结构框图,如图9所示,该装置900可以包括:优先级获取模块901、令牌资源量获取模块902和流量控制模块903,其中:
优先级获取模块901用于响应于业务处理请求,获取业务处理请求对应的业务的优先级;
令牌资源量获取模块902用于基于优先级确定业务对应的有效令牌资源量,并从令牌桶中获取当前令牌资源量,其中,有效令牌资源量表征对业务执行放行并进行处理时所需最小令牌资源量,且高优先级的业务的有效令牌资源量小于低优先级的业务的有效令牌资源量,当前令牌资源量表征在接收到业务处理请求时令牌桶中的令牌资源量;
流量控制模块903用于将有效令牌资源量与当前令牌资源量进行匹配,并基于匹配结果对业务进行相应的控制操作。
本申请提供的方案,在接收到业务处理请求之后,基于对应的业务的优先级确定出有效令牌资源量,并与令牌桶中当前令牌资源量进行匹配,最后基于匹配结果对业务对应的控制操作,由于流量控制过程中,考虑了与业务的优先级有关的决定是否放行的有效令牌资源量,且优先级越高的业务的有效令牌资源量越小,能够实现对不同优先级业务的区分,可以在流量控制过程中提高高优先级的业务的放行概率,进而提高高优先级业务的传输带宽。
在本申请的一种可选实施例中,业务处理请求包含有业务的需求令牌资源量,流量控制模块具体用于:
若当前令牌资源量不小于有效令牌资源量和需求令牌资源量,则对业务执行放行并进行处理;
若当前令牌资源量不小于有效令牌资源量,但小于需求令牌资源量,且业务的优先级别不低于预设级别,则直接对业务执行放行并进行处理;
若当前令牌资源量小于有效令牌资源量,则丢弃业务处理请求或将业务处理请求加入等待队列。
在本申请的一种可选实施例中,令牌资源量获取模块具体用于:
基于优先级,通过预设的各优先级与有效令牌资源量的对应关系,确定业务的有效令牌资源量。
在本申请的一种可选实施例中,该装置还可以包括对应关系获取模块,用于:
获取各优先级分别对应业务的保障带宽和令牌桶的最大令牌资源量,保障带宽为业务正常运作的最低带宽,且高优先级的业务的保障带宽大于低优先级的业务的保障带宽,最大令牌资源量表征可执行放行并进行处理的业务的最大带宽;
按各优先级对应业务的保障带宽大小对最大令牌资源量进行划分,得到各优先级对应的有效令牌资源量。
在本申请的一种可选实施例中,对应关系获取模块具体用于:
对于每一优先级,获取除该优先级之外的其他优先级对应业务的保障带宽之和占所有优先级对应业务的保障带宽之和的比例;
将比例乘以最大令牌资源量,得到该优先级对应的有效令牌资源量。
在本申请的一种可选实施例中,优先级获取模块具体用于:
从业务处理请求中获取业务标识,并基于业务标识,通过预设的业务标识与优先级之间的对应关系,确定业务的优先级。
在本申请的一种可选实施例中,业务标识包括业务处理请求的协议类型、发送端的互联网协议IP地址或发送端的端口号。
在本申请的一种可选实施例中,该装置还可以包括等待队列处理模块,用于:
令牌桶按照预定时间间隔增加令牌资源,在未接收到新的业务处理请求的空闲状态时,对等待队列中的待处理的业务处理请求进行以下处理,直至等待队列不存在待处理的业务处理请求:
基于待处理的业务处理请求对应的待处理业务的优先级,确定待处理业务对应的有效令牌资源量,并从当前的令牌桶中获取当前令牌资源量;
将待处理业务对应的有效令牌资源量与当前令牌资源量进行匹配,并基于匹配结果对业务进行相应的控制操作。
下面参考图10,其示出了适于用来实现本申请实施例的电子设备(例如执行图4所示方法的终端设备或服务器)1000的结构示意图。本申请实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴设备等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图10示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
电子设备包括:存储器以及处理器,存储器用于存储执行上述各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。其中,这里的处理器可以称为下文所述的处理装置1001,存储器可以包括下文中的只读存储器(ROM)1002、随机访问存储器(RAM)1003以及存储装置1008中的至少一项,具体如下所示:
如图10所示,电子设备1000可以包括处理装置(例如中央处理器、图形处理器等)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储装置1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM1003中,还存储有电子设备1000操作所需的各种程序和数据。处理装置1001、ROM 1002以及RAM1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
通常,以下装置可以连接至I/O接口1005:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1006;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1007;包括例如磁带、硬盘等的存储装置1008;以及通信装置1009。通信装置1009可以允许电子设备1000与其他设备进行无线或有线通信以交换数据。虽然图10示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1009从网络上被下载和安装,或者从存储装置1008被安装,或者从ROM 1002被安装。在该计算机程序被处理装置1001执行时,执行本申请实施例的方法中限定的上述功能。
需要说明的是,本申请上述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
响应于业务处理请求,获取业务处理请求对应的业务的优先级;基于优先级确定业务对应的有效令牌资源量,并从令牌桶中获取当前令牌资源量,其中,有效令牌资源量表征对业务执行放行并进行处理时所需最小令牌资源量,且高优先级的业务的有效令牌资源量小于低优先级的业务的有效令牌资源量,当前令牌资源量表征在接收到业务处理请求时令牌桶中的令牌资源量,单位时间内分配给业务的令牌资源量、与可执行放行并进行处理的业务的带宽相对应;将有效令牌资源量与当前令牌资源量进行匹配,并基于匹配结果对业务进行相应的控制操作。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一约束获取模块还可以被描述为“获取第一约束的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的计算机可读介质被电子设备执行时实现的具体方法,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现如下情况:
响应于业务处理请求,获取业务处理请求对应的业务的优先级;基于优先级确定业务对应的有效令牌资源量,并从令牌桶中获取当前令牌资源量,其中,有效令牌资源量表征对业务执行放行并进行处理时所需最小令牌资源量,且高优先级的业务的有效令牌资源量小于低优先级的业务的有效令牌资源量,当前令牌资源量表征在接收到业务处理请求时令牌桶中的令牌资源量;将有效令牌资源量与当前令牌资源量进行匹配,并基于匹配结果对业务进行相应的控制操作。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (11)

1.一种业务流量控制方法,其特征在于,包括:
响应于业务处理请求,获取所述业务处理请求对应的业务的优先级;
基于所述优先级确定所述业务对应的有效令牌资源量,并从令牌桶中获取当前令牌资源量,其中,所述有效令牌资源量表征对所述业务执行放行并进行处理时所需最小令牌资源量,且高优先级的业务的有效令牌资源量小于低优先级的业务的有效令牌资源量,所述当前令牌资源量表征在接收到所述业务处理请求时所述令牌桶中的令牌资源量;
将所述有效令牌资源量与所述当前令牌资源量进行匹配,并基于匹配结果对所述业务进行相应的控制操作。
2.根据权利要求1所述的方法,其特征在于,所述业务处理请求包含有所述业务的需求令牌资源量,所述基于匹配结果对所述业务进行相应的控制操作,包括:
若所述当前令牌资源量不小于所述有效令牌资源量和所述需求令牌资源量,则对所述业务执行放行并进行处理;
若所述当前令牌资源量不小于所述有效令牌资源量,但小于所述需求令牌资源量,且所述业务的优先级别不低于预设级别,则对所述业务执行放行并进行处理;
若所述当前令牌资源量小于所述有效令牌资源量,则丢弃所述业务处理请求或将所述业务处理请求加入等待队列。
3.根据权利要求1所述的方法,其特征在于,所述基于所述优先级确定所述业务对应的有效令牌资源量,包括:
基于所述优先级,通过预设的各优先级与有效令牌资源量的对应关系,确定所述业务的有效令牌资源量。
4.根据权利要求3所述的方法,其特征在于,所述各优先级与有效令牌资源量的对应关系,通过如下方式获取:
获取各优先级分别对应业务的保障带宽和所述令牌桶的最大令牌资源量,所述保障带宽为业务正常运作的最低带宽,且高优先级的业务的保障带宽大于低优先级的业务的保障带宽,所述最大令牌资源量表征可执行放行并进行处理的业务的最大带宽;
按各优先级对应业务的保障带宽大小对所述最大令牌资源量进行划分,得到各优先级对应的有效令牌资源量。
5.根据权利要求4所述的方法,其特征在于,所述按各优先级对应业务的保障带宽大小对所述最大令牌资源量进行划分,得到各优先级对应的有效令牌资源量,包括:
对于每一优先级,获取除该优先级之外的其他优先级对应业务的保障带宽之和占所有优先级对应业务的保障带宽之和的比例;
将所述比例乘以所述最大令牌资源量,得到该优先级对应的有效令牌资源量。
6.根据权利要求1所述的方法,其特征在于,所述业务处理请求包含有所述业务的业务标识,所述获取所述业务处理请求对应的业务的优先级,包括:
从所述业务处理请求中获取所述业务标识,并基于所述业务标识,通过预设的业务标识与优先级之间的对应关系,确定所述业务的优先级。
7.根据权利要求6所述的方法,其特征在于,所述业务标识包括所述业务处理请求的协议类型、发送端的互联网协议IP地址或发送端的端口号。
8.根据权利要求2所述的方法,其特征在于,所述令牌桶按照预定时间间隔增加令牌资源,在未接收到新的业务处理请求的空闲状态时,该方法还包括:
对所述等待队列中的待处理的业务处理请求进行以下处理,直至所述等待队列不存在待处理的业务处理请求:
基于所述待处理的业务处理请求对应的待处理业务的优先级,确定所述待处理业务对应的有效令牌资源量,并从当前的所述令牌桶中获取当前令牌资源量;
将所述待处理业务对应的有效令牌资源量与所述当前令牌资源量进行匹配,并基于匹配结果对所述业务进行相应的控制操作。
9.一种业务流量控制装置,其特征在于,包括:
优先级获取模块,用于响应于业务处理请求,获取所述业务处理请求对应的业务的优先级;
令牌资源量获取模块,用于基于所述优先级确定所述业务对应的有效令牌资源量,并从令牌桶中获取当前令牌资源量,其中,所述有效令牌资源量表征对所述业务执行放行并进行处理时所需最小令牌资源量,且高优先级的业务的有效令牌资源量小于低优先级的业务的有效令牌资源量,所述当前令牌资源量表征在接收到所述业务处理请求时所述令牌桶中的令牌资源量;
流量控制模块,用于将所述有效令牌资源量与所述当前令牌资源量进行匹配,并基于匹配结果对所述业务进行相应的控制操作。
10.一种电子设备,其特征在于,包括存储器和处理器;
所述存储器中存储有计算机程序;
所述处理器,用于执行所述计算机程序以实现权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法。
CN202110721848.3A 2021-06-28 2021-06-28 业务流量控制方法、装置、电子设备及可读存储介质 Pending CN115604191A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110721848.3A CN115604191A (zh) 2021-06-28 2021-06-28 业务流量控制方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110721848.3A CN115604191A (zh) 2021-06-28 2021-06-28 业务流量控制方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN115604191A true CN115604191A (zh) 2023-01-13

Family

ID=84840311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110721848.3A Pending CN115604191A (zh) 2021-06-28 2021-06-28 业务流量控制方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN115604191A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116431327A (zh) * 2023-03-06 2023-07-14 钛信(上海)信息科技有限公司 一种任务限流处理方法及堡垒机

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116431327A (zh) * 2023-03-06 2023-07-14 钛信(上海)信息科技有限公司 一种任务限流处理方法及堡垒机
CN116431327B (zh) * 2023-03-06 2023-11-07 钛信(上海)信息科技有限公司 一种任务限流处理方法及堡垒机

Similar Documents

Publication Publication Date Title
US11836533B2 (en) Automated reconfiguration of real time data stream processing
US10484190B2 (en) Managing channels in an open data ecosystem
US9723041B2 (en) Vehicle domain multi-level parallel buffering and context-based streaming data pre-processing system
CN112753019A (zh) 按需代码执行系统中执行环境的有效状态维持
CN110546923A (zh) 可扩展实时消息传送系统中的消息的选择性分发
US20150081908A1 (en) Computer-based, balanced provisioning and optimization of data transfer resources for products and services
CN111273999B (zh) 数据处理方法、装置、电子设备及存储介质
CN111221638B (zh) 并发任务的调度处理方法、装置、设备和介质
US11303646B2 (en) Dynamic membership assignment to users using dynamic rules
US20180248977A1 (en) Selective distribution of messages in a publish-subscribe system
CN110430142B (zh) 用于控制流量的方法和装置
US20150039557A1 (en) State scope data file sharing
CN113760991A (zh) 数据操作方法、装置、电子设备和计算机可读介质
CN112600761A (zh) 一种资源分配的方法、装置及存储介质
CN116627333A (zh) 日志缓存方法、装置、电子设备及计算机可读存储介质
CN115604191A (zh) 业务流量控制方法、装置、电子设备及可读存储介质
CN115658655A (zh) 信息处理方法、装置、电子设备和存储介质
US11082531B2 (en) Communication with an application flow in an integration system
US9172729B2 (en) Managing message distribution in a networked environment
US11496602B2 (en) Fence computing
US11520781B2 (en) Efficient bulk loading multiple rows or partitions for a single target table
Sahoo et al. Performance evaluation of cloud centers with high degree of virtualization to provide mapreduce as service
CN115203228A (zh) 数据处理方法、装置、介质以及电子设备
CN117707602A (zh) 数据请求的处理方法、装置、服务器和存储介质
CN117082073A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40080383

Country of ref document: HK