CN114598649B - 内核带宽管理方法、装置、存储设备及存储介质 - Google Patents
内核带宽管理方法、装置、存储设备及存储介质 Download PDFInfo
- Publication number
- CN114598649B CN114598649B CN202210268072.9A CN202210268072A CN114598649B CN 114598649 B CN114598649 B CN 114598649B CN 202210268072 A CN202210268072 A CN 202210268072A CN 114598649 B CN114598649 B CN 114598649B
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- target user
- target
- kernel
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000015654 memory Effects 0.000 claims description 29
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 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/10—Flow control; Congestion control
-
- 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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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/12—Avoiding congestion; Recovering from congestion
- H04L47/127—Avoiding congestion; Recovering from congestion by using congestion prediction
-
- 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/20—Traffic policing
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种内核带宽管理方法、装置、存储设备及存储介质,本发明涉及存储设备领域。该方法包括:接收目标用户基于目标内核下发的读写请求;基于读写请求,计算目标用户在各个内核中的总带宽,总带宽包括完成读写请求对应的目标带宽以及目标用户在各个内核中的使用带宽;基于目标用户对应的总带宽与目标用户对应的预设带宽额度之间的关系,确定目标用户是否带宽超额;当对目标用户带宽超额时,对目标用户进行限流。上述方法,在每次接收到目标用户的下发的读写请求后,均会计算目标用户在各个内核中占用的总带宽,而不是将各个内核的带宽情况进行清零,因此,可以准确确定是否需要对目标用户进行限流,进而保证系统的平稳运行。
Description
技术领域
本发明涉及存储设备领域,具体涉及一种内核带宽管理方法、装置、存储设备及存储介质。
背景技术
限流为保证系统的平稳运行起到了关键性的作用。不管应用场景是哪种,可以认为限流是针对超过预期的流量,通过预先设定的限流规则选择性地对某些请求进行限流熔断。不同的场景对“流”的定义是不同的,比如可以是指网络流量、带宽、每秒处理的事务数(TPS)、每秒请求数(hits per second)、并发请求数、甚至还可能是业务上的某个指标如用户在某段时间内允许的最多请求短信验证码次数等等。
现有技术中,基于PCIE接口的存储设备在开启SR-IOV(虚拟化)功能后,可虚拟出多个设备分配给不同的用户,为了保证每个用户都有带宽可用,则需要对每个用户做限流。因此,通常存储设备会在定时周期结束后,将当前记录的各个内核的带宽情况进行清零。示例性的,假设定期周期为1s,存储设备会在每秒结束后,将当前记录的各个内核的带宽情况进行清零。然后,存储设备再将接收到读写请求需要的带宽与剩余带宽进行对比,从而判断是否需要进行限流。
但是,在将当前记录的各个内核的带宽情况进行清零时,通常会发生清零不及时不一致的情况,从而导致上述对比结果的不准确,因此不能准确判断是否需要进行限流。
发明内容
有鉴于此,本发明实施例提供了一种内核带宽管理方法、装置、存储设备及存储介质,旨在解决现有技术中会发生各个内核的带宽情况清零不及时不一致的情况,不能准确判断是否需要进行限流。
根据第一方面,本发明实施例提供了一种内核带宽管理方法,包括:
接收目标用户基于目标内核下发的读写请求;
基于读写请求,计算目标用户在各个内核中的总带宽,总带宽包括完成读写请求对应的目标带宽以及在完成读写请求之前,目标用户在各个内核中的使用带宽;
基于目标用户对应的总带宽与目标用户对应的预设带宽额度之间的关系,确定目标用户是否带宽超额;
当对目标用户带宽超额时,对目标用户进行限流。
本申请实施例提供的内核带宽管理方法,接收目标用户基于目标内核下发的读写请求;基于读写请求,计算目标用户在各个内核中的总带宽;总带宽包括完成读写请求对应的目标带宽以及在完成读写请求之前,目标用户在各个内核中的使用带宽,从而保证了计算得到的总带宽的准确性。基于目标用户对应的总带宽与目标用户对应的预设带宽额度之间的关系,确定目标用户是否带宽超额,保证了确定的是否带宽超额的结果的准确性。当对目标用户带宽超额时,对目标用户进行限流。上述方法,在每次接收到目标用户的下发的读写请求后,均会计算计算目标用户在各个内核中的总带宽,而不是将各个内核的带宽情况进行清零。因此,上述方法可以避免由于各个内核的带宽情况清零不及时不一致,导致不能准确判断是否需要对目标用户进行限流的情况。因此,基于上述方法,可以准确确定是否需要对目标用户进行限流,进而保证系统的平稳运行。
结合第一方面,在第一方面第一实施方式中,基于目标用户对应的总带宽与目标用户对应的预设带宽额度之间的关系,确定目标用户是否带宽超额,包括:
获取目标用户对应的预设带宽额度以及目标用户在各个内核中的使用带宽;
将目标用户对应的预设带宽额度与使用带宽相加,得到所述目标用户对应的预置限流阈值;
当总带宽减去预置限流阈值的差小于或者零时,确定目标用户未带宽超额,基于目标内核完成读写请求。
本申请实施例提供的内核带宽管理方法,获取目标用户对应的预设带宽额度以及目标用户在各个内核中的使用带宽,将目标用户对应的预设带宽额度与使用带宽相加,得到所述目标用户对应的预置限流阈值,从而保证了得到的预置限流阈值的准确性。当总带宽减去预置限流阈值的差小于或者零时,确定目标用户未带宽超额,基于目标内核完成读写请求。保证了确定的目标用户未带宽超额的结果的准确性,保证了可以目标用户下发的读写请求的正常完成。
结合第一方面第一实施方式,在第一方面第二实施方式中,方法还包括:
当总带宽减去预置限流阈值的差大于零时,获取目标用户对应的最大带宽额度;最大带宽额度大于预设带宽额度;
基于最大带宽额度与目标用户对应的总带宽之间的关系,确定目标用户是否带宽超额。
本申请实施例提供的内核带宽管理方法,当总带宽减去预置限流阈值的差大于零时,证明读写请求对应的目标带宽大于预设带宽额度。因此,存储设备需要获取目标用户对应的最大带宽额度;最大带宽额度大于预设带宽额度。然后,基于最大带宽额度与目标用户对应的总带宽之间的关系,确定目标用户是否带宽超额。保证了确定的目标用户是否带宽超额的结果的准确性。
结合第一方面第二实施方式,在第一方面第三实施方式中,基于最大带宽额度与目标用户对应的总带宽之间的关系,确定目标用户是否带宽超额,包括:
将最大带宽额度与目标用户对应的使用带宽进行相加,得到最大限流阈值;
当总带宽减去最大限流阈值的差大于零时,确定目标用户带宽超额,对目标用户进行限流。
本申请实施例提供的内核带宽管理方法,将最大带宽额度与目标用户对应的使用带宽进行相加,得到最大限流阈值,保证了得到的最大限流阈值的准确性。当总带宽减去最大限流阈值的差大于零时,确定目标用户带宽超额,对目标用户进行限流。保证了确定的目标用户带宽超额结果的准确性。
结合第一方面第三实施方式,在第一方面第四实施方式中,方法还包括:
当总带宽减去最大限流阈值的差不大于零时,获取存储设备的剩余带宽;
当剩余带宽为零时,确定目标用户带宽超额,对目标用户进行限流。
本申请实施例提供的内核带宽管理方法,当总带宽减去最大限流阈值的差不大于零时,说明目标用户下发的读写请求对应的目标带宽未超过目标用户对应的最大带宽额度,获取存储设备的剩余带宽;当剩余带宽为零时,确定剩余带宽不足以满足读写请求对应的目标带宽,因此,确定目标用户带宽超额,对目标用户进行限流。保证了确定的目标用户带宽超额的结果的准确性。
结合第一方面第四实施方式,在第一方面第五实施方式中,方法还包括:
当剩余带宽不为零时,并基于剩余带宽,在目标内核完成读写请求。
本发明实施例提供的内核带宽管理方法,当剩余带宽不为零时,确定剩余带宽足以满足读写请求对应的目标带宽,基于剩余带宽,在目标内核完成读写请求。保证了确定的目标用户未带宽超额的结果的准确性,保证了可以目标用户下发的读写请求的正常完成。
根据第二方面,本发明实施例还提供了一种内核带宽管理装置,包括:
接收模块,用于接收目标用户基于目标内核下发的读写请求;
计算模块,用于基于读写请求,计算目标用户在各个内核中的总带宽,总带宽包括完成读写请求对应的目标带宽以及在完成读写请求之前,目标用户在各个内核中的使用带宽;
确定模块,用于基于目标用户对应的总带宽与目标用户对应的预设带宽额度之间的关系,确定目标用户是否带宽超额;
限流模块,用于当对目标用户带宽超额时,对目标用户进行限流。
本发明实施例提供的内核带宽管理装置,接收目标用户基于目标内核下发的读写请求;基于读写请求,计算目标用户在各个内核中的总带宽;总带宽包括完成读写请求对应的目标带宽以及在完成读写请求之前,目标用户在各个内核中的使用带宽,从而保证了计算得到的总带宽的准确性。基于目标用户对应的总带宽与目标用户对应的预设带宽额度之间的关系,确定目标用户是否带宽超额,保证了确定的是否带宽超额的结果的准确性。当对目标用户带宽超额时,对目标用户进行限流。上述方法,在每次接收到目标用户的下发的读写请求后,均会计算计算目标用户在各个内核中的总带宽,而不是将各个内核的带宽情况进行清零。因此,上述方法可以避免由于各个内核的带宽情况清零不及时不一致,导致不能准确判断是否需要对目标用户进行限流的情况。因此,基于上述方法,可以准确确定是否需要对目标用户进行限流,进而保证系统的平稳运行。
结合第二方面,在第二方面第一实施方式中,确定模块,用于获取目标用户对应的预设带宽额度以及目标用户在各个内核中的使用带宽;将目标用户对应的预设带宽额度与使用带宽相加,得到所述目标用户对应的预置限流阈值;当总带宽减去预置限流阈值的差小于或者零时,确定目标用户未带宽超额,基于目标内核完成读写请求。
本申请实施例提供的内核带宽管理装置,获取目标用户对应的预设带宽额度以及目标用户在各个内核中的使用带宽,将目标用户对应的预设带宽额度与使用带宽相加,得到所述目标用户对应的预置限流阈值,从而保证了得到的预置限流阈值的准确性。当总带宽减去预置限流阈值的差小于或者零时,确定目标用户未带宽超额,基于目标内核完成读写请求。保证了确定的目标用户未带宽超额的结果的准确性,保证了可以目标用户下发的读写请求的正常完成。
根据第三方面,本发明实施例提供了一种存储设备,包括存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中的内核带宽管理方法。
根据第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行第一方面或者第一方面的任意一种实施方式中的内核带宽管理方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是应用本发明实施例提供的内核带宽管理方法的流程图;
图2是应用本发明另一实施例提供的内核带宽管理方法的流程图;
图3是应用本发明另一实施例提供的内核带宽管理方法的流程图;
图4是应用本发明实施例提供的内核带宽管理装置的功能模块图;
图5是应用本发明实施例提供的存储设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例提供的内核带宽管理的方法,其执行主体可以是内核带宽管理的装置,该内核带宽管理的装置可以通过软件、硬件或者软硬件结合的方式实现成为存储设备的部分或者全部,下述方法实施例中,均以执行主体是存储设备为例来进行说明。
在本申请一个实施例中,如图1所示,提供了一种内核带宽管理方法,以该方法应用于存储设备为例进行说明,包括以下步骤:
S11、接收目标用户基于目标内核下发的读写请求。
具体地,存储设备中包括多个内核,基于PCIE接口的存储设备在开启SR-IOV(虚拟化)功能后,可虚拟出多个设备分配给不同的用户。因此,存储设备可以接收目标用户基于目标内核下发的读写请求。其中,内核的数量可以是4个,也可以是8个,还可以是16个,本申请实施例对内核的数量不做具体限定。
其中,目标用户可以是普通用户,也可以是超售用户,本申请实施例对目标用户的类型的不做具体限定。
其中,普通用户的额定带宽额度等于最大带宽额度,示例性的,假设普通用户的额定带宽额度为100bit,那么普通用户的最大带宽额度也是100bit,即普通用户最多可以使用100bit的带宽。超售用户的额定带宽额度可以小于最大带宽额度,示例性的,假设超售用户的额定带宽额度为100bit,那么超售用户的最大带宽额度可以为150bit,也就是说在剩余带宽额度允许的情况下,超售用户的使用额度可以达到150bit。
但是,存储设备自身的带宽总量是固定的物理特性,所有虚拟用户的额定带宽额度之和永远等于或小于存储设备自身的带宽总量。假设,将存储设备自身的带宽总量视为一个带宽总额度池,所有用户的带宽额度从总额度池中分配,在实际运行过程中,某些用户使用的带宽额度可能小于该用户的额定带宽额度,那么可将这些用户的剩余额度放回到带宽总额度池中作为公共资源使用,有超售需求的超售用户可在自身的额定带宽定额度用完后,再次到总带宽额度池中申请带宽,直到达到超售用户自身的最大带宽额度或者带宽总额度池中的所有带宽被用光为止。如果有多个超售用户,则采用先到先得的策略,不保障超售用户的超售需求一定被满足。
S12、基于读写请求,计算目标用户在各个内核中的总带宽。
其中,总带宽包括完成读写请求对应的目标带宽以及在完成读写请求之前,目标用户在各个内核中的使用带宽。
在本申请一种可选的实施方式中,在接收到目标用户基于目标内核下发的读写请求后,存储设备可以基于目标内核对读写请求进行预处理,并基于目标用户的标识信息,获取目标用户在各个核的带宽使用情况,然后将目标用户在各个核的带宽使用情况进行相加,计算得到目标用户在各个内核中的总带宽。
在本申请另一个可选的实施方式中,在接收到目标用户基于目标内核下发的读写请求后,存储设备可以根据读写请求的类型以及任务量等信息,计算读写请求对应的目标带宽。然后存储设备可以基于目标用户的标识信息,在各个内核中查找目标用户的带宽使用情况,从而获取到目标用户在各个内核中的使用带宽,并将目标用户在各个内核中的使用带宽与目标带宽相加,得到目标用户对应的总带宽。
S13、基于目标用户对应的总带宽与目标用户对应的预设带宽额度之间的关系,确定目标用户是否带宽超额。
在一种可选的实施方式中,在计算得到目标用户对应的总带宽之后,存储设备可以将目标用户对应的总带宽与各个周期中目标用户对应的预设带宽额度之和进行对比,当目标用户对应的总带宽大于各个周期中目标用户对应的预设带宽额度之和时,确定目标用户带宽超额。
S14、当对目标用户带宽超额时,对目标用户进行限流。
具体地,当目标用户带宽超额时,启动目标用户在目标内核的“打开限流开关标志位”,并关闭目标用户对应的流量开关,对目标用户进行限流。
本申请实施例提供的内核带宽管理方法,接收目标用户基于目标内核下发的读写请求;计算读写请求占用的目标带宽;从而可以保证计算得到的目标带宽的准确性。然后,基于目标带宽以及目标用户在各个内核中的使用带宽,计算目标用户对应的总带宽,从而保证了计算得到的总带宽的准确性。基于目标用户对应的总带宽与目标用户对应的预设带宽额度之间的关系,确定目标用户是否带宽超额,保证了确定的是否带宽超额的结果的准确性。当对目标用户带宽超额时,对目标用户进行限流。上述方法,在每次接收到目标用户的下发的读写请求后,均会计算目标用户在各个内核中占用的总带宽,而不是将各个内核的带宽情况进行清零。因此,上述方法可以避免由于各个内核的带宽情况清零不及时不一致,导致不能准确判断是否需要对目标用户进行限流的情况。因此,基于上述方法,可以准确确定是否需要对目标用户进行限流,进而保证系统的平稳运行。
在本申请一个可选的实施例中,如图2所示,上述S13中的“基于目标用户对应的总带宽与目标用户对应的预设带宽额度之间的关系,确定目标用户是否带宽超额”,可以包括以下步骤:
S21、获取目标用户对应的预设带宽额度以及目标用户在各个内核中的使用带宽。
其中,目标用户对应的预设带宽额度与目标用户在各个内核中的使用带宽有关,且预设带宽额度为动态调整的。目标用户对应的预设带宽额度可以是目标用户对应的额定带宽额度,也可以小于或者大于目标用户的额定带宽额度。
在一种可选的实施方式中,在存储设备初始化阶段将各虚拟用户的预设带宽额度设置为额定带宽额度值。在运行过程中,若某个用户在一个定时周期内,实际使用的带宽未达到当前预设带宽额度的80%时,下一个定时周期将该用户的预设带宽额度设定为当前预设带宽额度值的80%,以此类推,直到预设带宽额度值小于或等于额定带宽额度值的20%为止,即强制保留20%的额定带宽额度值;反之,若某个用户在一个定时周期内,实际使用的带宽超过到当前预设带宽额度的80%时,下一个定时周期将该用户的预设带宽额度设置为当前预设带宽额度值的150%,以此类推,直到当前预设带宽额度值大于或等于最大带宽额度值,将预设带宽额度值重新设置为额定带宽额度值。
获取目标用户对应的预设带宽额度之后,存储设备可以基于目标用户的标识信息,在各个内核中查找目标用户的带宽使用情况,从而获取到目标用户在各个内核中的使用带宽。
S22、将目标用户对应的预设带宽额度与使用带宽相加,得到所述目标用户对应的预置限流阈值。
在一种可选的实施方式中,存储设备可以选择目标内核开启定时器来更新各个用户对应的预设带宽额度。其中,定时周期可以为1秒,也可以为2秒,本申请实施例对定时周期不做具体限定。当定时器到时后,存储设备分别置位所有核各自的“打开限流开关标志位”,同时获取目标用户对应的预设带宽额度以及目标用户在各个内核中的使用带宽。然后,存储设备将目标用户对应的预设带宽额度与使用带宽相加,得到目标用户对应的预置限流阈值。
在一种可选的实施方式中,各个内核在运转过程中,检测各自的“打开限流开关标志位”,若置位,则检测限流开关是否为关闭状态,若为关闭状态则打开,若已经处于打开状态则保持,处理完成后清除各自“打开限流开关标志位”。
S23、当总带宽减去预置限流阈值的差小于或者零时,确定目标用户未带宽超额,基于目标内核完成读写请求。
具体地,存储设备计算得到目标用户对应的预置限流阈值之后,存储设备利用总带宽减去预置限流阈值。当总带宽减去预置限流阈值的差小于或者零时,说明目标用户下发的读写请求对应的目标带宽未超过目标用户对应的预设带宽额度。因此,存储设备确定目标用户未带宽超额,基于目标内核完成读写请求。
S24、当总带宽减去预置限流阈值的差大于零时,获取目标用户对应的最大带宽额度。
其中,最大带宽额度大于预设带宽额度。
具体地,当总带宽减去预置限流阈值的差大于零时,电子设备获取目标用户对应的最大带宽额度。
在其中一种可选的实施方式中,当目标用户为普通用户时,目标用户对应的最大带宽额度为额定带宽额度;当目标用户为超售用户时,目标用户对应的最大带宽额度大于额定带宽额度。
S25、基于最大带宽额度与目标用户对应的总带宽之间的关系,确定目标用户是否带宽超额。
具体地,在获取到目标用户对应的最大带宽额度之后,存储设备基于最大带宽额度与目标用户对应的总带宽之间的关系,确定目标用户是否带宽超额。
关于该步骤将在下文进行详细介绍。
本申请实施例提供的内核带宽管理方法,获取目标用户对应的预设带宽额度以及目标用户在各个内核中的使用带宽,将目标用户对应的预设带宽额度与使用带宽相加,得到目标用户对应的预置限流阈值,从而保证了得到的预置限流阈值的准确性。当总带宽减去预置限流阈值的差小于或者零时,确定目标用户未带宽超额,基于目标内核完成读写请求。保证了确定的目标用户未带宽超额的结果的准确性,保证了可以目标用户下发的读写请求的正常完成。当总带宽减去预置限流阈值的差大于零时,证明读写请求对应的目标带宽大于预设带宽额度。因此,存储设备需要获取目标用户对应的最大带宽额度;最大带宽额度大于预设带宽额度。然后,基于最大带宽额度与目标用户对应的总带宽之间的关系,确定目标用户是否带宽超额。保证了确定的目标用户是否带宽超额的结果的准确性。
在本申请一个可选的实施例中,如图3所示,上述S25“基于最大带宽额度与目标用户对应的总带宽之间的关系,确定目标用户是否带宽超额”,可以包括如下步骤:
S31、将最大带宽额度与目标用户对应的使用带宽进行相加,得到最大限流阈值。
具体地,在获取到目标用户对应的最大带宽额度之后,存储设备将最大带宽额度与目标用户对应的使用带宽进行相加,得到最大限流阈值。
S32、当总带宽减去最大限流阈值的差大于零时,确定目标用户带宽超额,对目标用户进行限流。
具体地,存储设备计算得到目标用户对应的最大限流阈值之后,利用总带宽减去最大限流阈值。当总带宽减去最大限流阈值的差大于零时,说明目标用户下发的读写请求对应的目标带宽超过目标用户对应的最大带宽额度。因此,存储设备确定目标用户带宽超额,对目标用户进行限流,并基于当前的带宽额度完成读写请求,其中,当前的带宽小于目标带宽。
S33、当总带宽减去最大限流阈值的差不大于零时,获取存储设备的剩余带宽。
其中,剩余带宽为未完成当前的读写请求之前的剩余带宽。
具体地,当总带宽减去最大限流阈值的差不大于零时,说明目标用户下发的读写请求对应的目标带宽未超过目标用户对应的最大带宽额度,但是需要从剩余带宽中获取部分带宽用于处理该读写请求。因此,存储设备需要获取存储设备的剩余带宽,然后根据剩余带宽判断是否可以满足目标用户基于目标带宽完成读写请求的需求。
S34、当剩余带宽为零时,确定目标用户带宽超额,对目标用户进行限流。
具体地,当剩余带宽为零时,存储设备确定剩余带宽不足以满足目标用户基于目标带宽完成读写请求的需求,因此确定目标用户带宽超额,对目标用户进行限流,并基于当前的带宽额度完成读写请求,其中,当前的带宽小于目标带宽。
S35、当剩余带宽不为零时,并基于剩余带宽,在目标内核完成读写请求。
具体地,当剩余带宽不为零时,存储设备确定剩余带宽足以满足目标用户基于目标带宽完成读写请求的需求,将剩余带宽减去目标带宽中去除预设带宽额度之外的多余的带宽,并基于目标内核完成读写请求。
示例性的,假设目标用户对应的预设带宽额度为100bit,而读写请求对应的目标带宽为120bit,那么目标用户在获取到100bit的带宽之后,还需要从剩余带宽中再次获取20bit。如果当剩余带宽不为零时,则存储设备确定剩余带宽足以满足目标用户基于目标带宽完成读写请求的需求,将剩余带宽20bit再次分配给目标用户,并基于目标带宽在目标内核完成目标用户的读写请求。
本申请实施例提供的内核带宽管理方法,将最大带宽额度与目标用户对应的使用带宽进行相加,得到最大限流阈值,保证了得到的最大限流阈值的准确性。当总带宽减去最大限流阈值的差大于零时,确定目标用户带宽超额,对目标用户进行限流。保证了确定的目标用户带宽超额结果的准确性。当总带宽减去最大限流阈值的差不大于零时,说明目标用户下发的读写请求对应的目标带宽未超过目标用户对应的最大带宽额度,获取存储设备的剩余带宽;当剩余带宽为零时,确定剩余带宽不足以满足读写请求对应的目标带宽,因此,确定目标用户带宽超额,对目标用户进行限流。保证了确定的目标用户带宽超额的结果的准确性。当剩余带宽不为零时,确定剩余带宽足以满足读写请求对应的目标带宽,基于剩余带宽,在目标内核完成读写请求。保证了确定的目标用户未带宽超额的结果的准确性,保证了可以目标用户下发的读写请求的正常完成。
应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
如图4所示,本实施例提供一种内核带宽管理装置,包括:
接收模块41,用于接收目标用户基于目标内核下发的读写请求;
计算模块42,用于基于读写请求,计算目标用户在各个内核中的总带宽,总带宽包括完成读写请求对应的目标带宽以及在完成读写请求之前,目标用户在各个内核中的使用带宽;
确定模块43,用于基于目标用户对应的总带宽与目标用户对应的预设带宽额度之间的关系,确定目标用户是否带宽超额;
限流模块44,用于当对目标用户带宽超额时,对目标用户进行限流。
在本申请一个实施例中,上述第二计算模块43,具体用于获取目标用户在各个内核中的使用带宽;将目标用户在各个内核中的使用带宽与目标带宽相加,得到目标用户对应的总带宽。
在本申请一个实施例中,上述确定模块43,具体用于获取目标用户对应的预设带宽额度以及目标用户在各个内核中的使用带宽;将目标用户对应的预设带宽额度与使用带宽相加,得到所述目标用户对应的预置限流阈值;当总带宽减去预置限流阈值的差小于或者零时,确定目标用户未带宽超额,基于目标内核完成读写请求。
在本申请一个实施例中,上述确定模块43,具体用于当总带宽减去预置限流阈值的差大于零时,获取目标用户对应的最大带宽额度;最大带宽额度大于预设带宽额度;基于最大带宽额度与目标用户对应的总带宽之间的关系,确定目标用户是否带宽超额。
在本申请一个实施例中,上述确定模块43,具体用于将最大带宽额度与目标用户对应的使用带宽进行相加,得到最大限流阈值;当总带宽减去最大限流阈值的差大于零时,确定目标用户带宽超额,对目标用户进行限流。
在本申请一个实施例中,上述确定模块43,具体用于当总带宽减去最大限流阈值的差不大于零时,获取存储设备的剩余带宽;当剩余带宽为零时,确定目标用户带宽超额,对目标用户进行限流。
在本申请一个实施例中,上述确定模块43,具体用于当剩余带宽不为零时,并基于剩余带宽,在目标内核完成读写请求。
关于内核带宽管理装置的具体限定以及有益效果可以参见上文中对于内核带宽管理方法的限定,在此不再赘述。上述内核带宽管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于存储设备中的处理器中,也可以以软件形式存储于存储设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本发明实施例还提供一种存储设备,具有上述图5所示的内核带宽管理装置。
如图5所示,图5是本发明可选实施例提供的一种存储设备的结构示意图,如图5所示,该存储设备可以包括:至少一个处理器51,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口53,存储器54,至少一个通信总线52。其中,通信总线52用于实现这些组件之间的连接通信。其中,通信接口53可以包括显示屏(Display)、键盘(Keyboard),可选通信接口53还可以包括标准的有线接口、无线接口。存储器54可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器54可选的还可以是至少一个位于远离前述处理器51的存储装置。其中处理器51可以结合图5或图5所描述的装置,存储器54中存储应用程序,且处理器51调用存储器54中存储的程序代码,以用于执行上述任一方法步骤。
其中,通信总线52可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线52可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器54可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器54还可以包括上述种类的存储器的组合。
其中,处理器51可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器51还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
可选地,存储器54还用于存储程序指令。处理器51可以调用程序指令,实现如本申请图1至3实施例中所示的内核带宽管理方法。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的内核带宽管理方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (7)
1.一种内核带宽管理方法,其特征在于,包括:
接收目标用户基于目标内核下发的读写请求;
基于所述读写请求,计算所述目标用户在各个内核中的总带宽,所述总带宽包括完成所述读写请求对应的目标带宽以及在完成所述读写请求之前,所述目标用户在各个内核中的使用带宽;
基于所述目标用户对应的总带宽与所述目标用户对应的预设带宽额度之间的关系,确定所述目标用户是否带宽超额;所述基于所述目标用户对应的总带宽与所述目标用户对应的预设带宽额度之间的关系,确定所述目标用户是否带宽超额,包括:获取所述目标用户对应的预设带宽额度以及所述目标用户在各个内核中的使用带宽;将所述目标用户对应的所述预设带宽额度与所述使用带宽相加,得到所述目标用户对应的预置限流阈值;当所述总带宽减去所述预置限流阈值的差小于或者零时,确定所述目标用户未带宽超额,基于所述目标内核完成所述读写请求;当所述总带宽减去所述预置限流阈值的差大于零时,获取所述目标用户对应的最大带宽额度;所述最大带宽额度大于所述预设带宽额度;基于所述最大带宽额度与所述目标用户对应的总带宽之间的关系,确定所述目标用户是否带宽超额;所述基于所述最大带宽额度与所述目标用户对应的总带宽之间的关系,确定所述目标用户是否带宽超额,包括:将所述最大带宽额度与所述目标用户对应的所述使用带宽进行相加,得到最大限流阈值;当所述总带宽减去所述最大限流阈值的差大于零时,确定所述目标用户带宽超额,对所述目标用户进行限流;当对所述目标用户带宽超额时,对所述目标用户进行限流。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述总带宽减去所述最大限流阈值的差不大于零时,获取存储设备的剩余带宽;
当所述剩余带宽为零时,确定所述目标用户带宽超额,对所述目标用户进行限流。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述剩余带宽不为零时,并基于所述剩余带宽,在所述目标内核完成所述读写请求。
4.一种内核带宽管理装置,其特征在于,包括:
接收模块,用于接收目标用户基于目标内核下发的读写请求;
计算模块,用于基于所述读写请求,计算所述目标用户在各个内核中的总带宽,所述总带宽包括完成所述读写请求对应的目标带宽以及在完成所述读写请求之前,所述目标用户在各个内核中的使用带宽;
确定模块,用于基于所述目标用户对应的总带宽与所述目标用户对应的预设带宽额度之间的关系,确定所述目标用户是否带宽超额;所述基于所述目标用户对应的总带宽与所述目标用户对应的预设带宽额度之间的关系,确定所述目标用户是否带宽超额,包括:获取所述目标用户对应的预设带宽额度以及所述目标用户在各个内核中的使用带宽;将所述目标用户对应的所述预设带宽额度与所述使用带宽相加,得到所述目标用户对应的预置限流阈值;当所述总带宽减去所述预置限流阈值的差小于或者零时,确定所述目标用户未带宽超额,基于所述目标内核完成所述读写请求;当所述总带宽减去所述预置限流阈值的差大于零时,获取所述目标用户对应的最大带宽额度;所述最大带宽额度大于所述预设带宽额度;基于所述最大带宽额度与所述目标用户对应的总带宽之间的关系,确定所述目标用户是否带宽超额;所述基于所述最大带宽额度与所述目标用户对应的总带宽之间的关系,确定所述目标用户是否带宽超额,包括:将所述最大带宽额度与所述目标用户对应的所述使用带宽进行相加,得到最大限流阈值;当所述总带宽减去所述最大限流阈值的差大于零时,确定所述目标用户带宽超额,对所述目标用户进行限流;
限流模块,用于当对所述目标用户带宽超额时,对所述目标用户进行限流。
5.根据权利要求4所述的装置,其特征在于,所述确定模块,用于获取所述目标用户对应的预设带宽额度以及所述目标用户在各个内核中的使用带宽;
将所述目标用户对应的所述预设带宽额度与所述使用带宽相加,得到所述目标用户对应的预置限流阈值;
当所述总带宽减去所述预置限流阈值的差小于或者零时,确定所述目标用户未带宽超额,基于所述目标内核完成所述读写请求。
6.一种存储设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-3中任一项所述的内核带宽管理方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-3中任一项所述的内核带宽管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210268072.9A CN114598649B (zh) | 2022-03-17 | 2022-03-17 | 内核带宽管理方法、装置、存储设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210268072.9A CN114598649B (zh) | 2022-03-17 | 2022-03-17 | 内核带宽管理方法、装置、存储设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114598649A CN114598649A (zh) | 2022-06-07 |
CN114598649B true CN114598649B (zh) | 2023-08-04 |
Family
ID=81810887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210268072.9A Active CN114598649B (zh) | 2022-03-17 | 2022-03-17 | 内核带宽管理方法、装置、存储设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598649B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010099726A1 (zh) * | 2009-03-06 | 2010-09-10 | 华为技术有限公司 | 端口映射方法及装置 |
WO2011023046A1 (zh) * | 2009-08-28 | 2011-03-03 | 中兴通讯股份有限公司 | 一种接纳控制的实现方法及装置 |
CN104901902A (zh) * | 2015-05-28 | 2015-09-09 | 北京网康科技有限公司 | 一种流量控制方法和装置 |
WO2016019803A1 (zh) * | 2014-08-06 | 2016-02-11 | 阿里巴巴集团控股有限公司 | 基于分布式内存和数据库的数据处理方法、装置和系统 |
CN109756429A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 带宽分配方法及设备 |
CN110048965A (zh) * | 2018-01-15 | 2019-07-23 | 思锐科技股份有限公司 | 网络交换机带宽管理方法与网络系统 |
WO2019228411A1 (zh) * | 2018-05-30 | 2019-12-05 | 中兴通讯股份有限公司 | 多通道pon带宽的分配方法、装置及设备 |
CN110753004A (zh) * | 2019-10-18 | 2020-02-04 | 北京浪潮数据技术有限公司 | 一种数据传输动态限流方法、系统、装置及可读存储介质 |
CN112000280A (zh) * | 2020-07-30 | 2020-11-27 | 浪潮电子信息产业股份有限公司 | 一种配额管控方法及系统 |
WO2021083269A1 (zh) * | 2019-10-29 | 2021-05-06 | 北京金山云网络技术有限公司 | 网络流量的限速方法、装置、中控设备和网关 |
CN113271228A (zh) * | 2021-06-16 | 2021-08-17 | 中移(杭州)信息技术有限公司 | 带宽资源调度方法、装置、设备及计算机可读存储介质 |
CN113411269A (zh) * | 2021-07-07 | 2021-09-17 | 杭州网易云音乐科技有限公司 | 限流控制方法、限流控制装置、存储介质及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130173717A1 (en) * | 2012-01-03 | 2013-07-04 | Alcatel-Lucent Canada Inc. | Method of enforcing metered data usage |
-
2022
- 2022-03-17 CN CN202210268072.9A patent/CN114598649B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010099726A1 (zh) * | 2009-03-06 | 2010-09-10 | 华为技术有限公司 | 端口映射方法及装置 |
WO2011023046A1 (zh) * | 2009-08-28 | 2011-03-03 | 中兴通讯股份有限公司 | 一种接纳控制的实现方法及装置 |
WO2016019803A1 (zh) * | 2014-08-06 | 2016-02-11 | 阿里巴巴集团控股有限公司 | 基于分布式内存和数据库的数据处理方法、装置和系统 |
CN104901902A (zh) * | 2015-05-28 | 2015-09-09 | 北京网康科技有限公司 | 一种流量控制方法和装置 |
CN109756429A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 带宽分配方法及设备 |
CN110048965A (zh) * | 2018-01-15 | 2019-07-23 | 思锐科技股份有限公司 | 网络交换机带宽管理方法与网络系统 |
WO2019228411A1 (zh) * | 2018-05-30 | 2019-12-05 | 中兴通讯股份有限公司 | 多通道pon带宽的分配方法、装置及设备 |
CN110753004A (zh) * | 2019-10-18 | 2020-02-04 | 北京浪潮数据技术有限公司 | 一种数据传输动态限流方法、系统、装置及可读存储介质 |
WO2021083269A1 (zh) * | 2019-10-29 | 2021-05-06 | 北京金山云网络技术有限公司 | 网络流量的限速方法、装置、中控设备和网关 |
CN112000280A (zh) * | 2020-07-30 | 2020-11-27 | 浪潮电子信息产业股份有限公司 | 一种配额管控方法及系统 |
CN113271228A (zh) * | 2021-06-16 | 2021-08-17 | 中移(杭州)信息技术有限公司 | 带宽资源调度方法、装置、设备及计算机可读存储介质 |
CN113411269A (zh) * | 2021-07-07 | 2021-09-17 | 杭州网易云音乐科技有限公司 | 限流控制方法、限流控制装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114598649A (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109936511B (zh) | 一种令牌获取方法、装置、服务器、终端设备及介质 | |
CN108711047B (zh) | 一种自动还款方法、系统及终端设备 | |
CN105260128B (zh) | 一种将数据写入存储设备的方法及存储设备 | |
CN108874324B (zh) | 一种访问请求处理方法、装置、设备及可读存储介质 | |
CN107957906A (zh) | 终端设备的应用程序管理方法、计算机装置、计算机可读存储介质 | |
CN114257551A (zh) | 一种分布式限流的方法及系统、存储介质 | |
JP2019215847A (ja) | バッファオーバーフローの低減 | |
CN114598649B (zh) | 内核带宽管理方法、装置、存储设备及存储介质 | |
CN111625358B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN109491611B (zh) | 一种元数据落盘方法、装置及设备 | |
CN112783635A (zh) | 一种资源额度调整方法和装置 | |
CN115858114A (zh) | 空闲任务的调度方法、装置、电子设备及可读存储介质 | |
CN110851286B (zh) | 线程管理方法、装置、电子设备及存储介质 | |
CN111404715B (zh) | 一种网络服务实例化方法、装置、电子设备及存储介质 | |
CN107861894B (zh) | NVMe协议的队列命令的执行方法、装置及存储介质 | |
CN114691283A (zh) | 管理实例的方法、装置以及云应用引擎 | |
CN113099488B (zh) | 解决网络拥塞的方法、装置、计算设备及计算机存储介质 | |
CN109429376B (zh) | 一种资源释放方法及装置 | |
CN116431327B (zh) | 一种任务限流处理方法及堡垒机 | |
CN110929102B (zh) | 一种数据处理方法、装置及电子设备 | |
CN115659350A (zh) | 一种灰度规则评价方法及装置 | |
CN109189664B (zh) | 应用程序的信息采集方法及终端 | |
CN111860844B (zh) | 推理框架的执行方法、装置及存储介质 | |
KR20220082532A (ko) | 프로세스 스케줄링 시스템 및 방법 | |
CN115170131A (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 |