CN116760785B - 带宽分配方法、装置、电子设备及存储介质 - Google Patents
带宽分配方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116760785B CN116760785B CN202311006161.7A CN202311006161A CN116760785B CN 116760785 B CN116760785 B CN 116760785B CN 202311006161 A CN202311006161 A CN 202311006161A CN 116760785 B CN116760785 B CN 116760785B
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- preset
- gateway
- target
- service type
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000003860 storage Methods 0.000 title claims abstract description 29
- 238000012512 characterization method Methods 0.000 claims description 14
- 238000012546 transfer Methods 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 5
- 230000003044 adaptive effect Effects 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及带宽分配方法、装置、电子设备及存储介质。上述方法包括获取带宽上报数据;基于带宽上报数据生成带宽比较数据;根据带宽比较数据,从多个预设业务类型中确定出至少一个目标业务类型;基于至少一个目标业务类型和带宽上报数据,确定每一网关(如API网关)对应的第三带宽使用信息;根据每一网关对应的第三带宽使用信息和预设带宽上限,为多个网关分配带宽、以及生成支持至少一个目标业务类型的带宽使用通知。本申请可以提供了一种更具适应性的带宽分配方案,有利于带宽合理分配。本申请实施例可应用于云技术、人工智能、智慧交通、智慧娱乐等各种场景。
Description
技术领域
本申请涉及互联网通信技术领域,尤其涉及一种带宽分配方法、装置、电子设备及存储介质。
背景技术
均分带宽可以将网络中的带宽均分给多个用户或者应用程序,从而实现流量控制和限速。在均分带宽中,每个用户或者应用程序都可以获得相同的带宽,从而实现流量控制和限速。然而,均分带宽存在一定的局限性,不能很好的适应流量变化,尤其是突发的流量增加。因此,需要提供更具适应性的带宽分配方案。
发明内容
为了解决上述提出的至少一个技术问题,本申请提供了一种带宽分配方法、装置、电子设备及存储介质:
根据本申请的第一方面,提供了一种带宽分配方法,所述方法包括:
获取带宽上报数据,所述带宽上报数据包括多个网关各自上报的针对当前周期的带宽表征数据,所述带宽表征数据包括多个第一带宽使用信息,所述多个第一带宽使用信息与多个预设业务类型一一对应;
基于所述带宽上报数据生成带宽比较数据,所述带宽比较数据包括至少一个比较信息,所述比较信息指示组合带宽与预设带宽上限的比较情况,所述组合带宽表征业务类型组合下的第二带宽使用信息,所述业务类型组合由所述多个预设业务类型中至少一个业务类型构成;
根据所述带宽比较数据,从所述多个预设业务类型中确定出至少一个目标业务类型;
基于所述至少一个目标业务类型和所述带宽上报数据,确定每一所述网关对应的第三带宽使用信息,所述第三带宽使用信息由所述至少一个目标业务类型各自下的所述第一带宽使用信息构成;
根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽、以及生成支持所述至少一个目标业务类型的带宽使用通知。
根据本申请的第二方面,提供了一种带宽分配装置,所述装置包括:
获取模块:用于获取带宽上报数据,所述带宽上报数据包括多个网关各自上报的针对当前周期的带宽表征数据,所述带宽表征数据包括多个第一带宽使用信息,所述多个第一带宽使用信息与多个预设业务类型一一对应;
第一确定模块:用于基于所述带宽上报数据生成带宽比较数据,所述带宽比较数据包括至少一个比较信息,所述比较信息指示组合带宽与预设带宽上限的比较情况,所述组合带宽表征业务类型组合下的第二带宽使用信息,所述业务类型组合由所述多个预设业务类型中至少一个业务类型构成;
第二确定模块:用于根据所述带宽比较数据,从所述多个预设业务类型中确定出至少一个目标业务类型;
第三确定模块:用于基于所述至少一个目标业务类型和所述带宽上报数据,确定每一所述网关对应的第三带宽使用信息,所述第三带宽使用信息由所述至少一个目标业务类型各自下的所述第一带宽使用信息构成;
分配模块:用于根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽、以及生成支持所述至少一个目标业务类型的带宽使用通知。
根据本申请的第三方面,提供了一种电子设备,所述电子设备包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述至少一个处理器加载并执行以实现如第一方面所述的带宽分配方法。
根据本申请的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如第一方面所述的带宽分配方法。
根据本申请的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如第一方面所述的带宽分配方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。
实施本申请,具有以下有益效果:
本申请提供了一种更具适应性的带宽分配方案,在为多个网关分配可用带宽时,考虑当前周期各网关的带宽使用情况以及不同业务类型下的带宽使用情况,有利于带宽合理分配。这样可以有效应对各网关上下游的流量需求变化,尤其是突发的流量增加,进而降低丢包概率。
根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1示出根据本申请实施例的一种应用环境示意图;
图2示出根据本申请实施例的一种带宽分配方法的流程示意图;
图3示出根据本申请实施例的根据每一网关对应的第三带宽使用信息和预设带宽上限为多个网关分配带宽的流程示意图;
图4示出根据本申请实施例的基于业务类型优先级为多个网关分配带宽的流程示意图;
图5示出根据本申请实施例的装置框图;
图6示出根据本申请实施例的电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
QoS限速:它是指通过网络设备对网络流量进行限制,以确保网络中的不同类型的数据流能够按照其优先级进行传输。QoS限速可以帮助网络管理员控制网络带宽的使用,以确保网络中的关键应用程序和服务能够获得足够的带宽和优先级,从而提高网络的性能和可靠性。
令牌桶算法:它是一种用于流量控制的算法,它可以控制数据包的发送速率,以避免网络拥塞和资源浪费。在令牌桶算法中,数据包被视为令牌,而令牌桶则是一个固定大小的桶,其中包含一定数量的令牌。每当一个数据包被发送时,就会从令牌桶中取出一个令牌,如果令牌桶中没有足够的令牌,则数据包将被缓存或丢弃。
分布式系统:它是由多个独立计算机组成的系统,这些计算机通过网络进行通信和协作,共同完成一些任务。在分布式系统中,每个计算机都可以独立地运行和处理任务,同时也可以与其他计算机进行通信和协作,以实现更复杂的功能。
服务器主主备份(Master-Master Replication):它是一种服务器备份和复制技术,它可以将多个服务器连接在一起,实现数据的实时同步和备份。在服务器主主备份中,每个服务器都可以同时作为主服务器和备份服务器,它们之间可以相互同步和备份数据,从而提高系统的可用性和可靠性。
请参阅图1,图1示出根据本申请实施例的应用环境示意图,应用环境中可以包括业务服务器和多个网关。业务服务器与网关可以通过有线或无线通信方式进行直接或间接地连接。业务服务器获取带宽上报数据,带宽上报数据包括多个网关各自上报的针对当前周期的带宽表征数据,带宽表征数据包括多个第一带宽使用信息,多个第一带宽使用信息与多个预设业务类型一一对应;然后,基于带宽上报数据生成带宽比较数据,带宽比较数据包括至少一个比较信息,比较信息指示组合带宽与预设带宽上限的比较情况,组合带宽表征业务类型组合下的第二带宽使用信息,业务类型组合由多个预设业务类型中至少一个业务类型构成;再者,根据带宽比较数据,从多个预设业务类型中确定出至少一个目标业务类型;接着,基于至少一个目标业务类型和带宽上报数据,确定每一网关对应的第三带宽使用信息,第三带宽使用信息由至少一个目标业务类型各自下的第一带宽使用信息构成;最后,根据每一网关对应的第三带宽使用信息和预设带宽上限,为多个网关分配带宽、以及生成支持至少一个目标业务类型的带宽使用通知。需要说明的是,图1仅仅是一种示例。
业务服务器可以视作服务器端。服务器端可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。其中服务器可以包括有网络通信单元、处理器和存储器等等。服务器端可以为对应的客户端提供后台服务。
当然,也可以利用客户端替换这里的服务器端。客户端可以是智能手机、电脑(如台式电脑、平板电脑、笔记本电脑)、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、数字助理、智能语音交互设备(如智能音箱)、智能可穿戴设备、智能家电、车载终端等类型的实体设备,也可以是运行于实体设备中的软体,比如计算机程序。客户端的操作系统可以是安卓系统(Android系统)、iOS系统(是由苹果公司开发的移动操作系统)、linux系统(一种操作系统)、Microsoft Windows系统(微软视窗操作系统)等。此外,上述“获取带宽上报数据”至“为多个网关分配带宽、以及生成支持至少一个目标业务类型的带宽使用通知”的步骤也可以由客户端和服务器端通过交互共同完成。
在实际应用中,本申请实施例提供的带宽分配方法可以用到有关云计算(cloudcomputing)的技术。云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。按照逻辑功能划分,在IaaS(Infrastructureas a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS (Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
需要说明的是,对于与用户信息存在关联关系的目标对象、预设带宽上限等,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
图2示出根据本申请实施例的一种带宽分配方法的流程示意图,如图2所示,该方法包括:
S201:获取带宽上报数据,所述带宽上报数据包括多个网关各自上报的针对当前周期的带宽表征数据,所述带宽表征数据包括多个第一带宽使用信息,所述多个第一带宽使用信息与多个预设业务类型一一对应;
在本申请实施例中,客户端或者服务器端获取带宽上报数据。带宽上报数据的发送方是多个网关。对于一个网关而言,它上报针对当前周期的带宽表征数据。多个网关对应多个带宽表征数据,多个带宽表征数据将用于构成带宽上报数据。每一带宽表征数据包括多个第一带宽使用信息,每一第一带宽使用信息对应一个预设业务类型,第一带宽使用信息用于表征预设业务类型维度下的带宽使用情况,且第一带宽使用信息针对一个网关。
网关在网络层以上实现网络互连,是复杂的网络互连设备,可以用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。一个网关所上报的带宽表征数据取自对当前周期的网络数据传输的统计结果,该统计结果由多个预设业务类型维度下各自的子结果构成,每一子结果对应一个第一带宽使用信息。
多个预设业务类型可以根据实际需求进行设置。一个预设业务类型可以对应一个互联网产品,比如预设业务类型1对应即时通信应用、预设业务类型2对应导航应用、预设业务类型3对应电商应用。一个预设业务类型也可以对应某一互联网产品的一个业务功能,比如预设业务类型1对应支付功能、预设业务类型2对应定位功能、预设业务类型3对应分享功能。当然,根据历史带宽使用情况,一个预设业务类型所对应的互联网产品可以不局限于一个、所对应的某一互联网产品的业务功能可以不局限于一个。
示例性的,多个网关是N个网关,网关i是N个网关中的第i个网关,i取1-N。以网关i为例,若当前周期内经网关i传输的网络数据包括数据包1-5,其中数据包1对应预设业务类型1,数据包2、3对应预设业务类型2,数据包3、4对应预设业务类型3。此时存在三个第一带宽使用信息,预设业务类型1对应第一带宽使用信息1,预设业务类型2对应第一带宽使用信息2,预设业务类型3对应第一带宽使用信息3。在确定第一带宽使用信息时,可以取预设业务类型维度下的数据总量与当前周期所指示的时长的比值。基于数据包1的数据量与当前周期所指示的时长的比值,可以得到预设业务类型1对应第一带宽使用信息1。基于数据包2、3的总数据量与当前周期所指示的时长的比值,可以得到预设业务类型2对应第一带宽使用信息2。基于数据包4、5的总数据量与当前周期所指示的时长的比值,可以得到预设业务类型3对应第一带宽使用信息3。
S202:基于所述带宽上报数据生成带宽比较数据,所述带宽比较数据包括至少一个比较信息,所述比较信息指示组合带宽与预设带宽上限的比较情况,所述组合带宽表征业务类型组合下的第二带宽使用信息,所述业务类型组合由所述多个预设业务类型中至少一个业务类型构成;
在本申请实施例中,客户端或者服务器端基于带宽上报数据生成带宽比较数据。
示例性,多个网关分别是网关1-3,多个预设业务类型分别是预设业务类型1-3。对于网关1,它的带宽表征数据1包括指示预设业务类型1的第一带宽使用信息11、指示预设业务类型2的第一带宽使用信息12、以及指示预设业务类型3的第一带宽使用信息13。对于网关2,它的带宽表征数据2包括指示预设业务类型1的第一带宽使用信息21、指示预设业务类型2的第一带宽使用信息22、以及指示预设业务类型3的第一带宽使用信息23。对于网关3,它的带宽表征数据3包括指示预设业务类型1的第一带宽使用信息31、指示预设业务类型2的第一带宽使用信息32、以及指示预设业务类型3的第一带宽使用信息33。由此,带宽上报数据由带宽表征数据1-3构成。
若业务类型组合由预设业务类型1、2构成,相应的,基于预设业务类型1下的第一带宽使用信息11、第一带宽使用信息21和第一带宽使用信息31、以及预设业务类型2下的第一带宽使用信息12、第一带宽使用信息22和第一带宽使用信息32得到组合带宽。该组合带宽与预设带宽上限的比较情况,可以说明组合带宽大于预设带宽上限、组合带宽等于预设带宽上限、或者组合带宽小于预设带宽上限。该组合带宽与预设带宽上限的比较情况将用于后续目标业务类型的确定。
S203:根据所述带宽比较数据,从所述多个预设业务类型中确定出至少一个目标业务类型;
在本申请实施例中,客户端或者服务器端根据带宽比较数据,从多个预设业务类型中确定出至少一个目标业务类型。带宽比较数据是确定目标业务类型的依据。
结合前述步骤S202中的示例,预设业务类型1-3可以形成多种业务类型组合,比如7种。与多种业务类型组合对应的组合带宽、比较信息,旨在指引客户端或者服务器端选择出的至少一个目标业务类型对应的带宽使用情况不超过预设带宽上限、或者所超过的使用带宽小于预设阈值。比如,由预设业务类型1-3构成的业务类型组合所对应的带宽使用情况超过预设带宽上限、且所超过的使用带宽大于等于预设阈值,而由预设业务类型1-2、1-3或2-3分别构成的业务类型组合所对应的带宽使用情况虽然超过预设带宽上限、但所超过的使用带宽均小于预设阈值。那么至少一个目标业务类型可以是从预设业务类型1-3确定出的任意两个业务类型。预设阈值的应用,在以预设带宽上限为可使用的总带宽的原则下,可以提高后续所分配带宽的利用率和所支持预设业务类型的数量。当然,若由预设业务类型1-3构成的业务类型组合所对应的带宽使用情况不超过预设带宽上限,那么至少一个目标业务类型可以是预设业务类型1-3,可以维持当前状态不进行后续的带宽分配。
在确定目标业务类型时,可以考虑业务类型优先级,有利于保证与优先级更高的预设业务类型有关的网络数据的传输顺畅度。可以先从所述多个预设业务类型中抽取出指示最高优先级的候选业务类型;然后,基于所述带宽上报数据,确定每一所述预设业务类型下的第四带宽使用信息;再者,在所述候选业务类型下的所述第四带宽使用信息大于所述预设带宽上限情况下,确定所述候选业务类型为所述目标业务类型。对于第四带宽使用信息可以参考步骤S401-S405的相关记载,不再赘述。
S204:基于所述至少一个目标业务类型和所述带宽上报数据,确定每一所述网关对应的第三带宽使用信息,所述第三带宽使用信息由所述至少一个目标业务类型各自下的所述第一带宽使用信息构成;
在本申请实施例中,客户端或者服务器端基于至少一个目标业务类型和带宽上报数据,确定每一网关对应的第三带宽使用信息。可以理解,上述第二带宽使用信息用于表征业务类型组合下的带宽使用情况,且第二带宽使用信息针对多个网关。这里的第三带宽使用信息用于表征业务类型组合下的带宽使用情况,且第三带宽使用信息针对一个网关。
结合前述步骤S202中的示例,若至少一个目标业务类型是预设业务类型1、2,那么基于指示预设业务类型1的第一带宽使用信息11、指示预设业务类型2的第一带宽使用信息12,得到网关1对应的第三带宽使用信息;基于指示预设业务类型1的第一带宽使用信息21、指示预设业务类型2的第一带宽使用信息22,得到网关2对应的第三带宽使用信息;基于指示预设业务类型1的第一带宽使用信息31、指示预设业务类型2的第一带宽使用信息32,得到网关3对应的第三带宽使用信息。
S205:根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽、以及生成支持所述至少一个目标业务类型的带宽使用通知。
在本申请实施例中,客户端或者服务器端根据每一网关对应的第三带宽使用信息和预设带宽上限,为多个网关分配带宽、以及生成支持至少一个目标业务类型的带宽使用通知。预设带宽上限作用于多个网关。前述步骤S203中预设带宽上限与组合带宽的比较,是针对全局的多个网关的。但考虑到经不同网关传输的数据量存在差异,这里根据每一网关对应的第三带宽使用信息和预设带宽上限,来为网关进行更细粒度的带宽分配。
结合前述步骤S204中的示例,网关1-3各自对应的第三带宽使用信息可能存在差异,通过这些第三带宽使用信息和预设带宽上限,旨在指引客户端或者服务器端以预设带宽上限为可使用的总带宽为各个网关进行差异化的带宽分配。在差异化的带宽分配中,取自当前周期的多个第三带宽使用信息可以作为参考数据。可以在以预设带宽上限为可使用的总带宽的原则下,利用多个第三带宽使用信息为每一网关确定对应的分配比例。然后,对于每一网关,基于分配比例和预设带宽上限得到对应的可使用带宽。这可以适用至少一个目标业务类型对应的带宽使用情况不超过预设带宽上限的情况。也可以在以预设带宽上限为可使用的总带宽的原则下,基于多个第三带宽使用信息,按照相关公平算法(如最大最小公平算法等)为每一网关分配对应的可使用带宽。这可以适用至少一个目标业务类型对应的带宽使用情况虽然超过预设带宽上限、但所超过的使用带宽小于预设阈值的情况。
下面将对本申请实施例进行详细说明。
作为一个可能的实施方式,带宽集合包括每一所述网关对应的第三带宽使用信息。对于前述步骤S205,如图3所示,所述根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽,包括:
S301:基于所述预设带宽上限和所述多个网关的第一数量得到目标基准带宽;
S302:从所述带宽集合中抽取出指示最小带宽的目标带宽极值,所述目标带宽极值与目标网关对应;
S303:在所述目标带宽极值小于所述目标基准带宽的情况下,配置所述目标网关的带宽上限是所述目标带宽极值;
S304:基于所述目标带宽极值更新所述目标基准带宽得到当前基准带宽、以及以所述当前基准带宽为用作带宽比较的起点为所述多个网关中其余网关分配带宽。
示例性的,多个网关分别是网关1-4,网关1的第三带宽使用信息指示10bps,网关2的第三带宽使用信息指示25bps,网关3的第三带宽使用信息指示30bps,网关4的第三带宽使用信息指示35bps。这些第三带宽使用信息构成了带宽集合。这些第三带宽使用信息可以按照升序的顺序构成一个带宽序列,依次为10bps<25bps<30bps<50bps。
若预设带宽上限是100bps,那么目标基准带宽是100bps/4,也即25bps。
从带宽集合中抽取出指示最小带宽的目标带宽极值是10bps,它对应的目标网关是网关1。此时目标带宽极值(10bps)小于目标基准带宽(25bps),那么为目标网关(也即网关1)配置的带宽上限是目标带宽极值(10bps)。相较于将目标基准带宽作为带宽上限配置给目标网关,以目标带宽极值小于目标基准带宽的依据,将目标带宽极值作为带宽上限配置给目标网关。可以从预设带宽上限中抽取出尽量少的带宽,以为给具有更大带宽使用需求的网关保留更多的带宽。同时,抽取出的带宽也满足了具有最小带宽使用需求的目标网关,有利于带宽资源分配的有效性。
然后,基于目标带宽极值(10bps)更新目标基准带宽(25bps)得到当前基准带宽、以及以当前基准带宽为用作带宽比较的起点为多个网关中其余网关分配带宽。在以预设带宽上限为可使用的总带宽的原则下,100bps中的10bps已被分配,还剩90bps。剩余的90bps需要分配给多个网关中除目标网关之外的网关。相应的,实际分配给目标网关的带宽上限小于目标基准带宽,那么在为剩余的每个网关分配的带宽上限时,所采用的基准带宽相较于目标基准带宽更大,而这大的部分由实际分配给目标网关的带宽上限与目标基准带宽的差值贡献。因而,在为剩余的每个网关分配的带宽上限时,可以结合前次的实际分配情况更新前次采用的基准带宽,得的本次采用的基准带宽;然后,以本次采用的基准带宽为比较对象,进行本次的实际分配。
进一步的,所述基于所述目标带宽极值更新所述目标基准带宽得到当前基准带宽、以及以所述当前基准带宽为用作带宽比较的起点为所述多个网关中其余网关分配带宽,可以包括下述步骤:1)确定所述目标基准带宽与所述目标带宽极值的第一差值、基于所述第一差值和第二数量得到第一均值、以及将所述第一均值与所述目标基准带宽之和确定为所述当前基准带宽,所述第二数量是所述多个网关中当前尚未配置带宽上限的网关数量;2)从当前带宽集合中抽取出指示最小带宽的当前带宽极值,所述当前带宽极值与当前网关对应;3)在所述当前带宽极值小于所述当前基准带宽的情况下,配置所述当前网关的带宽上限是所述当前带宽极值;4)重复上述确定为所述当前基准带宽至配置所述当前网关的带宽上限是所述当前带宽极值的步骤,直至所述多个网关均配置带宽上限。
沿用前述步骤S301-S304中的示例,多个网关中当前尚未配置带宽上限的网关构成了当前网关集合。此时当前网关集合由网关2-4构成。确定目标基准带宽(25bps)与目标带宽极值(10bps)的第一差值(15bps),基于第一差值(15bps)和第二数量(3=4-1)得到第一均值(5bps=15bps/3),将第一均值(5bps)与目标基准带宽(25bps)之和确定为当前基准带宽(30bps=5bps+25bps)。从当前带宽集合中抽取出指示最小带宽的当前带宽极值是25bps,它对应的当前网关是网关2。当前带宽极值(25bps)小于当前基准带宽(30bps),那么为当前网关(也即网关2)配置的带宽上限是当前带宽极值(25bps)。由此,在以预设带宽上限为可使用的总带宽的原则下,100bps中的10+25bps已被分配,还剩65bps。剩余的65bps需要分配给多个网关中除网关1、2之外的网关,这里的当前基准带宽(30bps)将作为前一基准带宽,这里的当前带宽极值(25bps)将作为前一带宽极值。
此时当前网关集合由网关3-4构成,确定前一基准带宽(30bps)与前一带宽极值(25bps)的差值(5bps),基于差值(5bps)和当前网关集合的网关数量(2=4-2)得到均值(2.5bps=5bps/2),将均值(2.5bps)与前一基准带宽(30bps)之和确定为当前基准带宽(32.5bps=2.5bps+30bps)。从当前带宽集合中抽取出指示最小带宽的当前带宽极值是30bps,它对应的当前网关是网关3。当前带宽极值(30bps)小于当前基准带宽(32.5bps),那么为当前网关(也即网关3)配置的带宽上限是当前带宽极值(30bps)。由此,在以预设带宽上限为可使用的总带宽的原则下,100bps中的10+25+30bps已被分配,还剩35bps。剩余的35bps需要分配给多个网关中除网关1-3之外的网关,也即为网关4配置的带宽上限是35bps。
可以理解,多个网关是N个网关,网关i是N个网关中的第i个网关,i取1-N。表示网关i的第三带宽使用信息,N个网关各自的第三带宽使用信息按照升序的顺序构成一个带宽序列,依次为T1<T2<......<Ti<......<TN,i取1-N。/>表示预设带宽上限,平均带宽。若/>,说明最小的网关带宽都大于平均带宽,可以按/>为每一网关分配对应的可使用带宽。若/>,分配T1给T1对应的网关。将多余带宽分配给其余网关,其中每个网关相对T1对应的网关可以获得额外带宽。
若,可以按/>为其余网关中的每一网关分配对应的可使用带宽。若/>,分配T2给T2对应的网关。将多余带宽/>分配给其余网关,其中每个网关相对T2对应的网关可以获得额外带宽。
将T3与对比,以此类推至最大的网关带宽TN。
在这样的带宽分配方式中,按照带宽使用需求递增的顺序为网关进行带宽资源分配,每一网关获得的可使用带宽不超过其需求。同时,对于需求为被满足的网关,它们可以均分未被分配的带宽资源。
作为一个可能的实施方式,所述至少一个目标业务类型有至少两个,对于前述步骤S203,如图4所示,所述根据所述带宽比较数据,从所述多个预设业务类型中确定出至少一个目标业务类型之后,所述方法还包括:
S401:从所述至少一个目标业务类型中抽取出指示较高优先级的第一类业务类型、以及指示较低优先级的第二类业务类型;
S402:基于所述带宽上报数据,确定每一所述预设业务类型下的第四带宽使用信息;
S403:基于每一所述预设业务类型下的第四带宽使用信息,确定所述第一类业务类型下的第五带宽使用信息、以及所述第二类业务类型下的第六带宽使用信息;
S404:在所述第五带宽使用信息小于所述预设带宽上限、且所述第五带宽使用信息与所述第六带宽使用信息之和大于所述预设带宽上限情况下,针对每一所述网关,为所述网关配置所述第一类业务类型维度的第一类带宽上限,所述第一类带宽上限指示所述第一类业务类型下的所述第一带宽使用信息;
S405:确定所述预设带宽上限与所述多个网关各自的所述第一类带宽上限之和的第二差值、基于所述第二差值和所述多个网关的第一数量得到第二均值、以及以所述第二均值为用作带宽比较的起点为所述多个网关依次配置所述第二类业务类型维度的第二类带宽上限。
在不同网关的带宽分配上考虑业务类型优先级,有利于提高带宽分配的适应性和灵活度。第四带宽使用信息用于表征预设业务类型维度下的带宽使用情况,且第四带宽使用信息针对多个网关。可以理解,在表征预设业务类型维度下的带宽使用情况上,第一带宽使用信息针对局部的某一网关,第四带宽使用信息针对全局的多个网关。
结合前述步骤S202中的示例,基于指示预设业务类型1的第一带宽使用信息11、第一带宽使用信息21、以及第一带宽使用信息31,得到预设业务类型1下的第四带宽使用信息1。基于指示预设业务类型2的第一带宽使用信息12、第一带宽使用信息22、以及第一带宽使用信息32,得到预设业务类型2下的第四带宽使用信息2。基于指示预设业务类型3的第一带宽使用信息13、第一带宽使用信息23、以及第一带宽使用信息33,得到预设业务类型3下的第四带宽使用信息3。
第一类业务类型所包括的至少一个预设业务类型,可以视作一个业务类型组合。第一类业务类型下的第五带宽使用信息,用于表征该业务类型组合下的带宽使用情况,且第五带宽使用信息针对多个网关。第二类业务类型所包括的至少一个预设业务类型,也可以视作一个业务类型组合。第二类业务类型下的第六带宽使用信息,用于表征该业务类型组合下的带宽使用情况,且第六带宽使用信息针对多个网关。
若第五带宽使用信息小于预设带宽上限、且第五带宽使用信息与第六带宽使用信息之和大于预设带宽上限,可以说明预设带宽上限能够支持与第一类业务类型有关的网络数据经多个网关的有效传输。那么,在为多个网关进行针对第一类业务类型的带宽分配时,可以以每一网关对应的第一类业务类型下的第一带宽使用信息,作为第一类业务类型维度的第一类带宽上限。
在为多个网关进行针对第二类业务类型的带宽分配时,可以确定预设带宽上限与多个网关各自的第一类带宽上限之和的第二差值;然后,基于第二差值和多个网关的第一数量得到第二均值;再者,以第二均值为用作带宽比较的起点为多个网关依次配置第二类业务类型维度的第二类带宽上限。这里可以前述步骤S301-S304中的相关记载。
例如,多个网关分别是网关1-3。网关1对应的第二类业务类型下的第一带宽使用信息指示5bps,网关2对应的第二类业务类型下的第一带宽使用信息指示20bps,网关3对应的第二类业务类型下的第一带宽使用信息指示25bps,它们构成了带宽集合。
若预设带宽上限是100bps,网关1-3各自的第一类带宽上限之和是70bps,那么第二差值是30bps,第二均值是30bps/3,也即10bps。在以预设带宽上限为可使用的总带宽的原则下,100bps中的70bps已被分配,还剩30bps。剩余的30bps需要分配给多个网关作为针对第二类业务类型的第二类带宽上限。
以第二均值为用作带宽比较的起点,也即将第二均值作为首个基准带宽。从带宽集合中抽取出指示最小带宽的带宽极值是5bps,它对应网关1。带宽极值(5bps)小于第二均值(10bps),那么为网关1配置的第二类业务类型维度的第二类带宽上限是带宽极值(5bps)。由此,在以预设带宽上限为可使用的总带宽的原则下,100bps中的70+5bps已被分配,还剩25bps。剩余的25bps需要分配给多个网关中除网关1之外的网关作为针对第二类业务类型的第二类带宽上限。这里的首个基准带宽(10bps)将作为前一基准带宽,这里的带宽极值(5bps)将作为前一带宽极值。
多个网关中当前尚未配置针对第二类业务类型的第二类带宽上限的网关构成了当前网关集合。此时当前网关集合由网关2、3构成。确定前一基准带宽(10bps)与前一带宽极值(5bps)的差值(5bps),基于差值(5bps)和网关数量(2=3-1)得到均值(2.5bps=5bps/2),将均值(2.5bps)与前一基准带宽(10bps)之和确定为当前基准带宽(12.5bps=2.5bps+10bps)。从当前带宽集合中抽取出指示最小带宽的当前带宽极值是20bps,它对应的当前网关是网关2。当前带宽极值(20bps)大于当前基准带宽(12.5bps),那么为网关2和网关3配置的第二类业务类型维度的第二类带宽上限均是当前基准带宽(12.5bps)。
在实际应用中,在基于业务类型优先级对至少一个目标业务类型进行类别划分时,可能不只两个类别。但对于至少两个类别的业务类型,所进行的类别维度的带宽上限配置可以参考上述配置思想。
例如,对对至少一个目标业务类型按照dscp优先级分成第一类业务类型、第二类业务类型和第三类业务类型。其中第一类业务类型的优先级最高,第二类业务类型的优先级次高,第三类业务类型的优先级最低,应尽量避免与第一类业务类型有关的网络数据丢失。第一类业务类型可以指示资源转移类业务,如支付业务。
基于每一预设业务类型下的第四带宽使用信息,可以确定第一类业务类型下的使用带宽A、第二类业务类型下的使用带宽B、第三类业务类型下的使用带宽C。
若使用带宽A大于预设带宽上限,那么不再支持与第二类业务类型、第三类业务类型有关的网络数据经多个网关的传输,在多个网关配置针对第一类业务类型的带宽上限时可参考前述步骤S301-S304中的相关记载,不再赘述。
若使用带宽A小于预设带宽上限,但使用带宽A和使用带宽B之和大于预设带宽上限,那么不再支持与第三类业务类型有关的网络数据经多个网关的传输。在多个网关配置针对第一类业务类型和第二类业务类型的带宽上限时,可参考前述步骤S401-S404中的相关记载,不再赘述。
若使用带宽A和使用带宽B之和小于预设带宽上限,但使用带宽A、使用带宽B和使用带宽C之和大于预设带宽上限,在多个网关配置针对第一类业务类型和第二类业务类型的带宽上限时,可参考前述步骤S401-S404中的对于第一类业务类型的相关记载,不再赘述。在多个网关配置针对第三类业务类型的带宽上限时,可参考前述步骤S401-S404中的对于第二类业务类型的相关记载,不再赘述。
作为一个可能的实施方式,对于前述步骤S201,所述获取带宽上报数据之前,所述方法还可以包括下述步骤:响应于目标对象针对所述预设带宽上限的资源转移操作,针对每一所述网关,配置所述网关的带宽上限是所述预设带宽上限。
目标对象可以是目标用户、目标账号等。目标对象针对预设带宽上限的资源转移操作,可以视作目标对象付出资源以获得预设带宽上限的可使用带宽,如用户付出资源以获得预设带宽上限的可使用带宽。所付出的资源可以是虚拟资源,如账户数值等。所获得的预设带宽上限的可使用带宽作用于多个网关。此时处于获得预设带宽上限的可使用带宽的初期,可以配置每一网关的带宽上限是预设带宽上限。利用这样的初期配置,有利于获得更具真实性的带宽上报数据,进而实现更准确有效的带宽分配。此外,这样的初期配置,也可以更好的应对经某一网关的突发的流量增加。
作为一个可能的实施方式,对于前述步骤S205,所述根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽、以及生成支持所述至少一个目标业务类型的带宽使用通知之后,所述方法还可以包括下述步骤:首先,获取多个网关各自上报的针对当前时间区间的带宽使用数据,得到总带宽表征值;然后,在所述总带宽表征值小于所述预设带宽上限的情况下,针对每一所述网关,配置所述网关的带宽上限是所述预设带宽上限。
可以理解,若为每一网关配置的带宽上限是预设带宽上限,经多个网关的实际传输的网络数据可能较大,这样会导致一个时间区间或周期对应的带宽使用情况超出预设带宽上限所支持的可使用带宽,从而导致数据丢失。前述步骤S201-S205基于当前周期的带宽上报数据进行带宽分配,旨在指引客户端或者服务器端以预设带宽上限为可使用的总带宽为各个网关进行差异化的带宽分配。在这样分配之后,继续以时间区间进行带宽使用数据监测,若监测到总带宽表征值小于预设带宽上限,则为每一网关恢复配置的带宽上限是预设带宽上限。这里带宽使用数据的监测以及带宽上限的恢复,以预设带宽上限作为每一网关的带宽上限,可以更好的应对经某一网关的突发的流量增加。
需要说明的是,在为每一网关恢复配置的带宽上限是预设带宽上限之后,前述步骤S201-S205还会继续基于当前周期的带宽上报数据进行带宽分配。
如图1所示,本申请实施例提供的带宽分配方案可以应用于业务服务器,业务服务器可以是分布式限速控制器。业务服务器服务于一个包括多个网关的集群。业务服务器利用本申请实施例提供的带宽分配方案为多个网关分配带宽、以及生成支持至少一个目标业务类型的带宽使用通知。
在实际应用中,本申请实施例提供的带宽分配方案一般应用在主主集群备份、需要对不同业务流量进行准确限速的场景下。通过自定义协议可以使得网关与分布式限速控制器之间互通。网关定期上报前N秒内的带宽。网关上报的带宽可以是基于网关的输入流量确定的,也可以是基于网关的输出流量确定的。分布式限速控制器通过收集和分析整个集群的带宽,来整体统筹分配整个集群上所有网关的带宽。分布式限速控制器基于网关上报的针对当前周期的带宽,获得网关分配带宽结果,该结果将在下一周期作用于多个网关。若某一网关未上报针对当前周期的带宽,可以用它上报的针对上一周期的带宽替代。本申请实施例提供的带宽分配方案利用各个网关定期上报带宽,可以解决单网关流量突发的问题。这样在各个网关的流量不均衡的情况下,可以保持限速的准确性,以及根据流量变化实时调整网关带宽上限。如预设带宽上限是100M bps的情况下,单个集群4个网关,单网关带宽可以突发到100M bps。如果各个网关的流量分布不均匀,在100M bps为可使用的总带宽的原则下,准确限速,降低丢包概率。
网关每秒会向所有分布式限速控制器发送心跳-ping报文。分布式限速控制器收到心跳-ping报文,会响应心跳-pong报文。网关通过心跳ping-pong交互来实时监测分布式限速控制器是否正常。若当前分布式限速控制器异常,可以通过一致性算法切换到其他分布式限速控制器。
上述网关分配带宽结果作用于多个网关实现流量控制,用到了QoS限速技术,还可以用到令牌桶算法。令牌桶算法的应用具体可以是:每一网关对应一个线程,每一线程拥有单独的线程令牌桶。每一线程首先消费线程令牌桶中的令牌,无需加锁。若线程令牌桶中令牌不足,则在全局令牌桶中取0.1%补充到线程令牌桶,需要加锁(CAS),补充间隔1ms。其中加锁次数为1000次/s。
由以上本申请实施例提供的技术方案可见,本申请实施例提供了一种更具适应性的带宽分配方案,在为多个网关分配可用带宽时,考虑当前周期各网关的带宽使用情况以及不同业务类型下的带宽使用情况,有利于带宽合理分配。这样可以有效应对各网关上下游的流量需求变化,尤其是突发的流量增加,进而降低丢包概率。
本申请实施例还提供了一种带宽分配装置,如图5所示,该带宽分配装置50包括:
获取模块501:用于获取带宽上报数据,所述带宽上报数据包括多个网关各自上报的针对当前周期的带宽表征数据,所述带宽表征数据包括多个第一带宽使用信息,所述多个第一带宽使用信息与多个预设业务类型一一对应;
第一确定模块502:用于基于所述带宽上报数据生成带宽比较数据,所述带宽比较数据包括至少一个比较信息,所述比较信息指示组合带宽与预设带宽上限的比较情况,所述组合带宽表征业务类型组合下的第二带宽使用信息,所述业务类型组合由所述多个预设业务类型中至少一个业务类型构成;
第二确定模块503:用于根据所述带宽比较数据,从所述多个预设业务类型中确定出至少一个目标业务类型;
第三确定模块504:用于基于所述至少一个目标业务类型和所述带宽上报数据,确定每一所述网关对应的第三带宽使用信息,所述第三带宽使用信息由所述至少一个目标业务类型各自下的所述第一带宽使用信息构成;
分配模块505:用于根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽、以及生成支持所述至少一个目标业务类型的带宽使用通知。
在一个实施例中,带宽集合包括每一所述网关对应的第三带宽使用信息,所述根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽,包括:基于所述预设带宽上限和所述多个网关的第一数量得到目标基准带宽;从所述带宽集合中抽取出指示最小带宽的目标带宽极值,所述目标带宽极值与目标网关对应;在所述目标带宽极值小于所述目标基准带宽的情况下,配置所述目标网关的带宽上限是所述目标带宽极值;基于所述目标带宽极值更新所述目标基准带宽得到当前基准带宽、以及以所述当前基准带宽为用作带宽比较的起点为所述多个网关中其余网关分配带宽。
在一个实施例中,所述基于所述目标带宽极值更新所述目标基准带宽得到当前基准带宽、以及以所述当前基准带宽为用作带宽比较的起点为所述多个网关中其余网关分配带宽,包括:确定所述目标基准带宽与所述目标带宽极值的第一差值、基于所述第一差值和第二数量得到第一均值、以及将所述第一均值与所述目标基准带宽之和确定为所述当前基准带宽,所述第二数量是所述多个网关中当前尚未配置带宽上限的网关数量;从当前带宽集合中抽取出指示最小带宽的当前带宽极值,所述当前带宽极值与当前网关对应;在所述当前带宽极值小于所述当前基准带宽的情况下,配置所述当前网关的带宽上限是所述当前带宽极值;重复上述确定为所述当前基准带宽至配置所述当前网关的带宽上限是所述当前带宽极值的步骤,直至所述多个网关均配置带宽上限。
在一个实施例中,所述至少一个目标业务类型有至少两个,所述根据所述带宽比较数据,从所述多个预设业务类型中确定出至少一个目标业务类型之后,所述方法还包括:从所述至少一个目标业务类型中抽取出指示较高优先级的第一类业务类型、以及指示较低优先级的第二类业务类型;基于所述带宽上报数据,确定每一所述预设业务类型下的第四带宽使用信息;基于每一所述预设业务类型下的第四带宽使用信息,确定所述第一类业务类型下的第五带宽使用信息、以及所述第二类业务类型下的第六带宽使用信息;在所述第五带宽使用信息小于所述预设带宽上限、且所述第五带宽使用信息与所述第六带宽使用信息之和大于所述预设带宽上限情况下,针对每一所述网关,为所述网关配置所述第一类业务类型维度的第一类带宽上限,所述第一类带宽上限指示所述第一类业务类型下的所述第一带宽使用信息;确定所述预设带宽上限与所述多个网关各自的所述第一类带宽上限之和的第二差值、基于所述第二差值和所述多个网关的第一数量得到第二均值、以及以所述第二均值为用作带宽比较的起点为所述多个网关依次配置所述第二类业务类型维度的第二类带宽上限。
在一个实施例中,所述根据所述带宽比较数据,从所述多个预设业务类型中确定出至少一个目标业务类型,包括:从所述多个预设业务类型中抽取出指示最高优先级的候选业务类型;基于所述带宽上报数据,确定每一所述预设业务类型下的第四带宽使用信息;在所述候选业务类型下的所述第四带宽使用信息大于所述预设带宽上限情况下,确定所述候选业务类型为所述目标业务类型。
在一个实施例中,所述获取带宽上报数据之前,所述方法还包括:响应于目标对象针对所述预设带宽上限的资源转移操作,针对每一所述网关,配置所述网关的带宽上限是所述预设带宽上限。
在一个实施例中,所述根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽、以及生成支持所述至少一个目标业务类型的带宽使用通知之后,所述方法还包括:获取多个网关各自上报的针对当前时间区间的带宽使用数据,得到总带宽表征值;在所述总带宽表征值小于所述预设带宽上限的情况下,针对每一所述网关,配置所述网关的带宽上限是所述预设带宽上限。
需要说明的,所述装置实施例中的装置与方法实施例基于同样的发明构思。
在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本申请实施例还提供了一种电子设备,所述电子设备包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述至少一个处理器加载并执行以实现上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图6示出根据本申请实施例的一种电子设备的框图。例如,电子设备1900可以被提供为一服务器。参照图6,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本申请可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本申请的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,上述编程语言包括面向对象的编程语言—诸如Smalltalk、C+等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,上述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标准的功能也可以以不同于附图中所标准的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种带宽分配方法,其特征在于,所述方法包括:
获取带宽上报数据,所述带宽上报数据包括多个网关各自上报的针对当前周期的带宽表征数据,所述带宽表征数据包括多个第一带宽使用信息,所述多个第一带宽使用信息与多个预设业务类型一一对应;
基于所述带宽上报数据生成带宽比较数据,所述带宽比较数据包括至少一个比较信息,所述比较信息指示组合带宽与预设带宽上限的比较情况,所述组合带宽表征业务类型组合下的第二带宽使用信息,所述业务类型组合由所述多个预设业务类型中至少一个业务类型构成;
根据所述带宽比较数据,从所述多个预设业务类型中确定出至少一个目标业务类型;
基于所述至少一个目标业务类型和所述带宽上报数据,确定每一所述网关对应的第三带宽使用信息,所述第三带宽使用信息由所述至少一个目标业务类型各自下的所述第一带宽使用信息构成;
根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽、以及生成支持所述至少一个目标业务类型的带宽使用通知。
2.根据权利要求1所述的方法,其特征在于,带宽集合包括每一所述网关对应的第三带宽使用信息,所述根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽,包括:
基于所述预设带宽上限和所述多个网关的第一数量得到目标基准带宽;
从所述带宽集合中抽取出指示最小带宽的目标带宽极值,所述目标带宽极值与目标网关对应;
在所述目标带宽极值小于所述目标基准带宽的情况下,配置所述目标网关的带宽上限是所述目标带宽极值;
基于所述目标带宽极值更新所述目标基准带宽得到当前基准带宽、以及以所述当前基准带宽为用作带宽比较的起点为所述多个网关中其余网关分配带宽。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标带宽极值更新所述目标基准带宽得到当前基准带宽、以及以所述当前基准带宽为用作带宽比较的起点为所述多个网关中其余网关分配带宽,包括:
确定所述目标基准带宽与所述目标带宽极值的第一差值、基于所述第一差值和第二数量得到第一均值、以及将所述第一均值与所述目标基准带宽之和确定为所述当前基准带宽,所述第二数量是所述多个网关中当前尚未配置带宽上限的网关数量;
从当前带宽集合中抽取出指示最小带宽的当前带宽极值,所述当前带宽极值与当前网关对应;
在所述当前带宽极值小于所述当前基准带宽的情况下,配置所述当前网关的带宽上限是所述当前带宽极值;
重复上述确定为所述当前基准带宽至配置所述当前网关的带宽上限是所述当前带宽极值的步骤,直至所述多个网关均配置带宽上限。
4.根据权利要求1所述的方法,其特征在于,所述至少一个目标业务类型有至少两个,所述根据所述带宽比较数据,从所述多个预设业务类型中确定出至少一个目标业务类型之后,所述方法还包括:
从所述至少一个目标业务类型中抽取出指示较高优先级的第一类业务类型、以及指示较低优先级的第二类业务类型;
基于所述带宽上报数据,确定每一所述预设业务类型下的第四带宽使用信息;
基于每一所述预设业务类型下的第四带宽使用信息,确定所述第一类业务类型下的第五带宽使用信息、以及所述第二类业务类型下的第六带宽使用信息;
在所述第五带宽使用信息小于所述预设带宽上限、且所述第五带宽使用信息与所述第六带宽使用信息之和大于所述预设带宽上限情况下,针对每一所述网关,为所述网关配置所述第一类业务类型维度的第一类带宽上限,所述第一类带宽上限指示所述第一类业务类型下的所述第一带宽使用信息;
确定所述预设带宽上限与所述多个网关各自的所述第一类带宽上限之和的第二差值、基于所述第二差值和所述多个网关的第一数量得到第二均值、以及以所述第二均值为用作带宽比较的起点为所述多个网关依次配置所述第二类业务类型维度的第二类带宽上限。
5.根据权利要求1所述的方法,其特征在于,所述根据所述带宽比较数据,从所述多个预设业务类型中确定出至少一个目标业务类型,包括:
从所述多个预设业务类型中抽取出指示最高优先级的候选业务类型;
基于所述带宽上报数据,确定每一所述预设业务类型下的第四带宽使用信息;
在所述候选业务类型下的所述第四带宽使用信息大于所述预设带宽上限情况下,确定所述候选业务类型为所述目标业务类型。
6.根据权利要求1所述的方法,其特征在于,所述获取带宽上报数据之前,所述方法还包括:
响应于目标对象针对所述预设带宽上限的资源转移操作,针对每一所述网关,配置所述网关的带宽上限是所述预设带宽上限。
7.根据权利要求1所述的方法,其特征在于,所述根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽、以及生成支持所述至少一个目标业务类型的带宽使用通知之后,所述方法还包括:
获取所述多个网关各自上报的针对当前时间区间的带宽使用数据,得到总带宽表征值;
在所述总带宽表征值小于所述预设带宽上限的情况下,针对每一所述网关,配置所述网关的带宽上限是所述预设带宽上限。
8.一种带宽分配装置,其特征在于,所述装置包括:
获取模块:用于获取带宽上报数据,所述带宽上报数据包括多个网关各自上报的针对当前周期的带宽表征数据,所述带宽表征数据包括多个第一带宽使用信息,所述多个第一带宽使用信息与多个预设业务类型一一对应;
第一确定模块:用于基于所述带宽上报数据生成带宽比较数据,所述带宽比较数据包括至少一个比较信息,所述比较信息指示组合带宽与预设带宽上限的比较情况,所述组合带宽表征业务类型组合下的第二带宽使用信息,所述业务类型组合由所述多个预设业务类型中至少一个业务类型构成;
第二确定模块:用于根据所述带宽比较数据,从所述多个预设业务类型中确定出至少一个目标业务类型;
第三确定模块:用于基于所述至少一个目标业务类型和所述带宽上报数据,确定每一所述网关对应的第三带宽使用信息,所述第三带宽使用信息由所述至少一个目标业务类型各自下的所述第一带宽使用信息构成;
分配模块:用于根据每一所述网关对应的第三带宽使用信息和所述预设带宽上限,为所述多个网关分配带宽、以及生成支持所述至少一个目标业务类型的带宽使用通知。
9.一种电子设备,其特征在于,所述电子设备包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由所述至少一个处理器加载并执行以实现如权利要求1-7任意一项所述的带宽分配方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-7任意一项所述的带宽分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311006161.7A CN116760785B (zh) | 2023-08-10 | 2023-08-10 | 带宽分配方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311006161.7A CN116760785B (zh) | 2023-08-10 | 2023-08-10 | 带宽分配方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116760785A CN116760785A (zh) | 2023-09-15 |
CN116760785B true CN116760785B (zh) | 2023-10-17 |
Family
ID=87955459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311006161.7A Active CN116760785B (zh) | 2023-08-10 | 2023-08-10 | 带宽分配方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116760785B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015131692A1 (zh) * | 2014-09-17 | 2015-09-11 | 中兴通讯股份有限公司 | 一种带宽分配方法及装置 |
CN112751691A (zh) * | 2019-10-29 | 2021-05-04 | 北京金山云网络技术有限公司 | 网络流量的限速方法、装置、中控设备和网关 |
CN116346742A (zh) * | 2021-12-16 | 2023-06-27 | 中移(苏州)软件技术有限公司 | 带宽调整、预测链训练方法及装置、电子设备、存储介质 |
-
2023
- 2023-08-10 CN CN202311006161.7A patent/CN116760785B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015131692A1 (zh) * | 2014-09-17 | 2015-09-11 | 中兴通讯股份有限公司 | 一种带宽分配方法及装置 |
CN112751691A (zh) * | 2019-10-29 | 2021-05-04 | 北京金山云网络技术有限公司 | 网络流量的限速方法、装置、中控设备和网关 |
CN116346742A (zh) * | 2021-12-16 | 2023-06-27 | 中移(苏州)软件技术有限公司 | 带宽调整、预测链训练方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116760785A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9547534B2 (en) | Autoscaling applications in shared cloud resources | |
CN105979007B (zh) | 加速资源处理方法、装置及网络功能虚拟化系统 | |
US9923965B2 (en) | Storage mirroring over wide area network circuits with dynamic on-demand capacity | |
US10771533B2 (en) | Adaptive communication control device | |
CN110213620B (zh) | 带宽分配方法及装置 | |
CN108776934A (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN115208812B (zh) | 业务处理方法及装置、设备、计算机可读存储介质 | |
US11095717B2 (en) | Minimizing data loss in a computer storage environment with non-guaranteed continuous network connectivity | |
CN112789832A (zh) | 动态切片优先级处理 | |
US11784885B2 (en) | Shared bandwidth speed limiting method, device, and storage medium | |
US11303712B1 (en) | Service management in distributed system | |
CN109428926B (zh) | 一种调度任务节点的方法和装置 | |
CN113032410B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN114466226B (zh) | 带宽时长占比确定方法、装置、设备和计算机可读介质 | |
US10025640B2 (en) | Balancing work of tasks at a sending node of a transaction server | |
US10135751B2 (en) | Automated split of work in a cloud environment | |
CN116760785B (zh) | 带宽分配方法、装置、电子设备及存储介质 | |
CN110933122B (zh) | 管理服务器的方法、设备和计算机存储介质 | |
CN115378878B (zh) | Cdn的调度方法、装置、设备及存储介质 | |
US11962633B2 (en) | Autoscaling a distributed streaming platform in an event-driven microservice architecture | |
CN115665054A (zh) | 带宽分配的方法和模块、以及数据传输管理系统 | |
CN114514730B (zh) | 过滤群组消息的方法和系统 | |
US11526499B2 (en) | Adaptively updating databases of publish and subscribe systems using optimistic updates | |
CN112860422B (zh) | 用于作业处理的方法、设备和计算机程序产品 | |
Hanczewski et al. | Concept of an analytical model for cloud computing infrastructure |
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 |