CN106921512B - 一种大数据集群租户带宽控制方法及装置 - Google Patents
一种大数据集群租户带宽控制方法及装置 Download PDFInfo
- Publication number
- CN106921512B CN106921512B CN201511003092.XA CN201511003092A CN106921512B CN 106921512 B CN106921512 B CN 106921512B CN 201511003092 A CN201511003092 A CN 201511003092A CN 106921512 B CN106921512 B CN 106921512B
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- tenant
- information
- unit
- threshold
- 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
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种大数据集群租户带宽控制方法及装置,所述方法包括:获取来自于调度系统的带宽限制命令,所述带宽限制命令用于限制带宽,所述带宽限制命令包括租户信息;根据所述租户信息查询预设的关联信息,得到对应的带宽阈值;确定与所述租户信息对应的租户的当前带宽信息;判断所述当前带宽信息与所述带宽阈值之间的大小关系,得到判断结果;根据所述判断结果控制所述租户在存储系统中所使用的带宽。
Description
技术领域
本发明涉及带宽控制技术,尤其涉及一种大数据集群租户带宽控制方法及装置。
背景技术
随着大数据技术的广泛应用和飞速发展,企业开始部署越来越大规模的大数据集群,集群规模可以达到1000-40000台服务器。这些集群上会部署多种大数据应用,底层采用Hadoop平台,负责Hadoop分布式文件系统(HDFS)分布式存储和Mapreduce任务调度,上层会部署Hive、HBase、Spark、Pig等等大数据应用,并且用专门的大数据集群管理软件进行统一管理。大数据集群管理软件可以为不同的租户分配不同大小的资源,使不同租户之间的资源和数据隔离,这些资源包括中央处理器(CPU)计算资源、内存存储资源、硬盘存储资源、传输带宽资源,传输带宽又分为硬盘带宽和网卡带宽。对于不同的资源,实现其隔离性的方式也不同。对于CPU、内存和硬盘存储,都可以通过cgroup(control groups)技术实现隔离,而硬盘带宽和网卡带宽很难实现隔离,只能做笼统的限速,不能针对不同的租户设置不同的带宽值,并且这两者非常容易成为集群的性能瓶颈。其中,cgroup技术是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:CPU、Memory、IO等等)的机制。
目前还没有较好的技术方案可以实现带宽资源的隔离,仅有以下一些思路可以参考:1)对于硬盘带宽,采用cgroup的blkio子系统,通过设置blkio.throttle.write_bps_device和blkio.throttle.read_bps_device来实现硬盘带宽限制。2)对于网卡带宽,使用Linux的网络控制工具如流量控制工具(TC,Traffic Control)创建分类队列,然后结合cgroup的net_cls子系统将要控制的进程与TC的分类队列绑定,这样便可以实现对某个进程网卡带宽限制。
上述方案思路存在以下的问题:1)cgroup只能对进程进行直接限制。在大数据系统中,作业通常提交到调度系统(例如Yarn),调度系统负责资源调度,CPU和内存资源都消耗在调度系统层,因此cgroup可以获得调度系统的进程号,实现调度系统层的资源隔离。当发生数据读写时,调度系统不会直接去读写,而是提交请求给文件系统(例如HDFS),由文件系统完成读写,因此带宽资源实际是由文件系统占用的,而调度系统无法获得文件系统的进程号,因此也就无法通过cgroup来对文件系统进行隔离。2)硬盘带宽和网卡带宽是两种资源,而这两种资源是相互制约的,如果分开限制的话,慢的一方会成为性能瓶颈。3)直接限制硬盘和网卡,没有考虑资源调度的问题。4)直接在底层限制硬盘和网卡,不但可扩展性差,而且增加了与cgroup、网络控制工具TC的耦合度,并且具有不可移植和不可插拔的缺点。
发明内容
有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种大数据集群租户带宽控制方法及装置,能够将带宽资源进行隔离和管理。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种大数据集群租户带宽控制方法,所述方法包括:
获取来自于调度系统的带宽限制命令,所述带宽限制命令用于限制带宽,所述带宽限制命令包括租户信息;
根据所述租户信息查询预设的关联信息,得到对应的带宽阈值,所述关联信息用于表明租户信息与带宽阈值之间的映射关系;
确定与所述租户信息对应的租户的当前带宽信息;
判断所述当前带宽信息与所述带宽阈值之间的大小关系,得到判断结果;
根据所述判断结果控制所述租户在存储系统中所使用的带宽。
第二方面,本发明实施例提供一种大数据集群租户带宽控制装置,所述装置包括第一获取单元、查询单元、确定单元、第一判断单元和控制单元,其中:
第一获取单元,用于获取来自于调度系统的带宽限制命令,所述带宽限制命令用于限制带宽,所述带宽限制命令包括租户信息;
查询单元,用于根据所述租户信息查询预设的关联信息,得到对应的带宽阈值,所述关联信息用于表明租户信息与带宽阈值之间的映射关系;
确定单元,用于确定与所述租户信息对应的租户的当前带宽信息;
第一判断单元,用于判断所述当前带宽信息与所述带宽阈值之间的大小关系,得到判断结果;
控制单元,用于根据所述判断结果控制所述租户在存储系统中所使用的带宽。
本发明实施例提供的一种大数据集群租户带宽控制方法及装置,所述方法包括:获取来自于调度系统的带宽限制命令,所述带宽限制命令用于限制带宽,所述带宽限制命令包括租户信息;根据所述租户信息查询预设的关联信息,得到对应的带宽阈值;确定与所述租户信息对应的租户的当前带宽信息;判断所述当前带宽信息与所述带宽阈值之间的大小关系,得到判断结果;根据所述判断结果控制所述租户在存储系统中所使用的带宽,如此,能够将带宽资源进行隔离和管理。
附图说明
图1为本发明实施例一大数据集群租户带宽控制方法的实现流程示意图;
图2为本发明实施例二大数据集群租户带宽控制方法的实现流程示意图;
图3-1为相关技术中大数据系统的组成结构示意图;
图3-2为本发明实施例大数据系统的组成结构示意图;
图3-3为本发明实施例三大数据集群租户带宽控制装置的组成结构示意图;
图3-4为本发明实施例三租户管理系统的组成结构示意图;
图3-5为本发明实施例三节流阀管理系统的组成结构示意图;
图3-6为本发明实施例三实时带宽管理系统的组成结构示意图;
图4为本发明实施例四大数据集群租户带宽控制装置的组成结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
实施例一
为了解决前述的技术问题,本发明实施例提供一种大数据集群租户带宽控制方法,该方法可以应用于计算设备,该方法所实现的功能可以通过计算设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算设备至少包括处理器和存储介质。在具体实现的过程中,所述计算设备可以为任何具有计算能力的电子设备,如个人计算机或服务器集群或笔记本电脑等。
图1为本发明实施例一大数据集群租户带宽控制方法的实现流程示意图,如图1所示,该方法包括:
步骤S101,获取来自于调度系统的带宽限制命令,所述带宽限制命令用于限制带宽,所述带宽限制命令包括租户信息;
步骤S102,根据所述租户信息查询预设的关联信息,得到对应的带宽阈值;
这里,所述关联信息用于表明租户信息与带宽阈值之间的映射关系;在具体实现的过程中,所述关联信息可以采用映射列表或关联列表来实现。
这里,在具体实现的过程中,所述关联信息通过以下方式形成:步骤S121,从所述存储系统获取租户信息,根据所述租户信息建立本地的租户列表;步骤S122,从所述存储系统获取所述租户信息对应的带宽阈值;步骤S123,根据所述租户信息和所述租户信息对应的带宽阈值建立关联信息。
步骤S103,确定与所述租户信息对应的租户的当前带宽信息;
步骤S104,判断所述当前带宽信息与所述带宽阈值之间的大小关系,得到判断结果;
步骤S105,根据所述判断结果控制所述租户在存储系统中所使用的带宽。
这里,所述带宽包括硬盘带宽和网卡带宽,因此本发明实施例能够将硬盘带宽和网络带宽作为统一的资源进行隔离和管理。
本发明实施例中,步骤S105,所述根据所述判断结果控制所述租户在存储系统中所使用的带宽,包括:如果所述当前带宽信息小于等于所述带宽阈值,则流程结束;如果所述当前带宽信息大于所述带宽阈值,则控制所述租户下正在运行的线程处于休眠状态。
本发明实施例所提供的方法在具体实现的过程中,可以以软件的形式存在,例如该软件可以称为大数据集群租户带宽控制装置(简称带宽控制装置),所述带宽控制装置与调度系统、存储系统之间的连接关系可以参见图3-2或图3-3中,在图3-3中,TM、ITM、IM和RBM共同组成了所述带宽控制装置。
本发明实施例中,所述方法还包括:判断所述带宽阈值是否满足预设的条件,如果不满足,输出错误信息,所述错误信息用于提示用户使用了不正确的带宽值;如果满足,则根据所述租户信息和所述租户信息对应的带宽阈值建立关联信息。
本发明实施例中,获取来自于调度系统的带宽限制命令,所述带宽限制命令用于限制带宽,所述带宽限制命令包括租户信息;根据所述租户信息查询预设的关联信息,得到对应的带宽阈值;确定与所述租户信息对应的租户的当前带宽信息;判断所述当前带宽信息与所述带宽阈值之间的大小关系,得到判断结果;根据所述判断结果控制所述租户在存储系统中所使用的带宽,如此,能够将硬盘带宽和网络带宽作为统一的资源进行隔离和管理。
实施例二
为了解决前述的技术问题,本发明实施例提供一种大数据集群租户带宽控制方法,该方法可以应用于计算设备,该方法所实现的功能可以通过计算设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算设备至少包括处理器和存储介质。在具体实现的过程中,所述计算设备可以为任何具有计算能力的电子设备,如个人计算机或服务器集群或笔记本电脑等。
图2为本发明实施例二大数据集群租户带宽控制方法的实现流程示意图,如图2所示,该方法包括:
步骤S201,从所述调度系统获取最新注册的租户信息;
步骤S202,根据所述最新注册的租户信息更新本地的租户列表;
步骤S203,根据所述最新注册的租户信息获取对应的带宽阈值;
步骤S204,根据所述最新注册的租户信息及其对应的带宽阈值更新所述关联信息。
步骤S101,获取来自于调度系统的带宽限制命令,所述带宽限制命令用于限制带宽,所述带宽限制命令包括租户信息;
步骤S102,根据所述租户信息查询预设的关联信息,得到对应的带宽阈值;
这里,所述关联信息用于表明租户信息与带宽阈值之间的映射关系;
这里,在具体实现的过程中,所述关联信息通过以下方式形成:步骤S121,从所述存储系统获取租户信息,根据所述租户信息建立本地的租户列表;步骤S122,从所述存储系统获取所述租户信息对应的带宽阈值;步骤S123,根据所述租户信息和所述租户信息对应的带宽阈值建立关联信息。
步骤S103,确定与所述租户信息对应的租户的当前带宽信息;
步骤S104,判断所述当前带宽信息与所述带宽阈值之间的大小关系,得到判断结果;
步骤S105,根据所述判断结果控制所述租户在存储系统中所使用的带宽。
本发明实施例中,所述根据所述判断结果控制所述租户在存储系统中所使用的带宽,包括:如果所述当前带宽信息小于等于所述带宽阈值,则流程结束;如果所述当前带宽信息大于所述带宽阈值,则控制所述租户下正在运行的线程处于休眠状态。
本发明实施例中,所述确定与所述租户信息对应的租户的当前带宽信息,包括:根据所述租户信息确定第一带宽值,所述第一带宽值为所述租户当前在所述存储系统中每一存储节点所使用的带宽值;根据所述第一带宽值确定所述租户的当前带宽信息。
这里,将所述存储系统中所有的存储节点的第一带宽值进行求和,即可得到所述租户的当前带宽信息(当前带宽信息即用于表明所述租户当前所使用的带宽数值)。对应地,步骤S105中在对租户的带宽进行控制的时候,也可以对所述存储系统中的每一存储节点都设置一个第一带宽阈值,然后判断每一个存储节点的第一带宽值是否超过所述第一带宽阈值,如果超过,则控制所述租户在该存储节点下正在运行的线程处于休眠状态;如果未超过,则结束流程。在具体实现的过程中,所述每一存储节点的第一带宽值根据实际情况数值可能不相同,所述每一存储节点的第一带宽阈值也可以设置的各不相同,每一存储节点的第一带宽阈值具体如何设置,可以根据该存储节点的作业信息进行设置。例如,假设存储系统包括第一存储节点和第二存储节点,其中第一存储节点的作业信息表明该第一存储节点的作业线程比第二存储节点的作业线程多,而且第一存储节点比第二存储节点使用的带宽多,那么该第一存储节点的第一带宽阈值可以设置的比第二存储节点的第一带宽阈值大;换句话说,本发明实施例将根据每一存储节点的实际读写带宽设置一个比较合理的第一带宽阈值,进而限制存储系统每个存储节点的实际读写带宽。但是如果将存储系统中所有的第一带宽阈值进行求和,那么该求和值应该等于用户设置的带宽阈值。
实施例三
目前的大数据系统通常基于Hadoop生态圈构建的,图3-1为相关技术中大数据系统的组成结构示意图,如图3-1所示,该大数据系统的核心是存储系统(如HDFS)、任务调度系统(如Yarn)和计算框架(如Mapreduce)。其中,任务调度系统维护多个任务队列,每个队列都可以抽象成一个租户,通过cgroup实现多租户的CPU和内存资源隔离。
在图3-1所示的系统中,只提供了多租户的CPU和内存资源的隔离,该隔离发生在任务调度系统。由于真正带宽资源占用是发生在存储系统中,因此在本发明实施例中将在调度系统和存储系统之间加入了一个新的模块,该新模块用来专门做带宽限制。图3-2为本发明实施例大数据系统的组成结构示意图,如图3-2所示,该大数据系统的带宽控制装置起到了专门控制带宽的作用,此处带宽控制装置中的带宽包括硬盘带宽和网卡带宽,并且对用户而言,不区分具体的带宽只呈现一个统一的逻辑带宽,该逻辑带宽是实际读写存储系统的速度,而具体的硬盘和网卡带宽的调度交给装置本身完成。
在本发明实施例中,带宽限制的实现是通过存储系统的数据传输层来做到,但是存储系统不知道租户的信息,所以要实现不同租户之间的带宽资源隔离,需要添加沟通调度系统和存储系统的中间件——带宽控制装置。
基于图3-2本,本发明实施例提出一种针对大数据集群租户带宽控制装置,该装置可以对大数据集群上的不同租户使用的带宽资源进行控制,使租户实际使用的带宽资源不超过装置的限制,同时记录租户历史带宽使用情况,用于实现大数据集群的带宽资源隔离。
图3-3为本发明实施例三大数据集群租户带宽控制装置的组成结构示意图,如图3-3所示,该装置包括:
1)租户管理系统(TM,Tenancy Manager),用于负责管理租户的信息,参见图3-4,租户管理系统包括租户更新模块、作业获取模块、租户列表和作业列表,其中:租户更新模块,用于负责与调度系统进行实时通信,从而获取最新的租户列表。作业获取模块,用于负责从调度系统获得租户信息和该租户下的作业信息。租户列表,用于存储租户信息;作业列表,用于负责存储租户下作业列表,在具体实现的过程中所述租户信息至少包括租户的帐号、标识信息(ID),所述作业列表中包括作业信息,所述作业信息用于表明该租户目前正在作业的线程的相关信息,其中所述线程的相关信息至少包括线程的名称。线程的标识信息等;根据作业信息例如线程的标识信息可以知道该线程的速度,根据速度可以计算出该线程所占用的带宽。
2)节流阀管理系统(ITM,IO Throttle Manager),用于负责管理存储系统的带宽控制。参见图3-5,节流阀管理系统包括节流阀模块、存储节点管理模块和租户节流阀列表,其中:节流阀模块,用于负责限制存储系统每个存储节点的实际读写带宽,每个租户下所有作业线程共用一个节流阀,这些作业的占用带宽总和不会超过节流阀限制的值。存储节点管理模块,用于负责与存储系统的主节点进行通信,获得所述存储系统中的存储节点信息,根据所述存储节点信息例如存储节点的标识信息将对应的该存储节点的带宽阈值对应地发送给每一个存储节点。租户节流阀列表,用于负责建立租户信息与节流阀的标识信息之间的映射列表。
这里,存储系统一般来说包括主节点和从属节点,其中存储系统的主节点用于管理存从属节点,而所述存储节点信息至少包括存储节点的标识信息。
这里,所述每一个租户都一一对应一个节流阀,在映射列表中可以存储的是租户的标识信息与节流阀的标识信息之间的映射关系,这样,节流阀管理系统就会根据租户的标识信息查找到对应的节流阀的标识信息,然后再根据节流阀的标识信息开启对应的节流阀,以对租户的带宽进行限制。例如当用户要对租户A的带宽进行限制的时候,那么就根据租户A的标识信息查找映射列表,得到租户A对应的节流阀的标识信息,然后开启租户A的节流阀,从而实现对租户A的带宽的限制。
3)实时带宽管理系统(RBM,Real time Bandwidth Manager),用于负责管理整个实时带宽获取、计算和历史记录。参见图3-6,该实时带宽管理系统包括实时带宽获取模块、租户带宽统计模块、历史带宽存储模块和租户带宽记录,其中:实时带宽获取模块,用于负责获取存储系统每个存储节点的实时带宽(包括读写所使用的带宽)。租户带宽统计模块,用于负责统计每个租户的实时使用带宽。历史带宽存储模块,用于负责存储每个租户的历史带宽使用情况。租户带宽记录,用于负责记录每个租户的带宽。
4)接口系统(IM,Interface Manager),用于接口系统对外提供调用接口,接口系统包括带宽限制接口模块、实时带宽获取接口模块和历史带宽记录接口模块,其中:带宽限制接口模块,用于负责获取或接收限制带宽的命令。实时带宽获取接口模块,用于负责获取或接收获取实时带宽的命令。历史带宽记录接口模块,用于负责获取或接收历史带宽使用记录的命令。
基于图3-3至图3-6,下面介绍一下带宽控制装置的初始化流程,该流程包括步骤1-1)至步骤1-4),其中:
步骤1-1),TM定期发送心跳给大数据调度系统(简称调度系统),该心跳用于获得当前所有的租户信息和作业信息。
这里,所谓心跳就是定时发送一个定义的结构体(心跳包或心跳帧),让对方知道自己在线,以确保链接的有效性。
步骤1-2),ITM初始化RPC(Remote Procedure Call Protocol,远程过程调用协议)服务器,接收大数据存储系统(简称存储系统)节点定期发送来的注册心跳,根据该注册心跳更新维护的存储系统节点信息,同时收集TM的租户和作业信息,初始化每个租户的节流阀的带宽阈值(即实施例一中的租户的带宽阈值,一个租户对应一个节流阀)。
步骤1-3),RBM接收大数据存储系统节点定期发送来的心跳,以获得实时带宽信息。同时开启实时带宽计算线程,由于一个租户可能在多个存储节点上发生数据的读写,该实时带宽计算线程的作用就是统计单个租户在大数据集群上不同存储节点发生读写操作的带宽总和,该带宽总和即为实施例一中的当前带宽信息。
步骤1-4),IM初始化Web服务器,对用户提供接口。
基于图3-3至图3-6,下面介绍一下带宽控制装置的带宽限制流程,当管理员调用IM模块的带宽限制接口(通常为表述性状态传递(REST,Representational StateTransfer)接口)进行带宽限制时,ITM需要进行如下操作:
步骤2-1),ITM首先验证用户设置的带宽阈值是否合理,若不合理则返回错误信息,提示用户使用了不正确的带宽阈值。若是合理的带宽阈值,则进行步骤2-2)。
这里,在具体实现的过程中,判断是否合理可以根据预先设置的条件来判断,例如,所述预先设置的条件例如可以是带宽阈值必须为大于等于0数值,如果用户设置为负数,那么该带宽阈值就是不合理的数值,则返回错误信息。本领域的技术人员可以根据实际情况设置所述条件,这里不再赘述。
步骤2-2),用户会通过接口系统将要限制带宽的租户信息也传递给ITM,ITM会与TM通信获得要限制带宽的租户信息、带宽阈值以及该租户的作业信息,然后ITM根据租户信息和带宽阈值建立租户信息与带宽阈值之间的映射列表。
步骤2-3),接着ITM会取得其维护的从存储系统接收到的存储节点信息,将步骤2-2)中的租户信息和带宽阈值的映射关系作为心跳的返回值返回给给每个存储节点,存储节点接收到返回值后,会更新其维护的节流阀,每个租户对应一个节流阀。
步骤2-4),存储节点根据从ITM收到的节流阀,将其作用在实际发生数据传输的线程上,由于存储节点可以计算出当前的实时带宽,因此将节流阀跟实时带宽比较:若节流阀的带宽限制值大于实时带宽,说明没有超出限制,不做操作;若节流阀的值小于实时带宽,说明超出了限制,那么会让该线程休眠(sleep)一小段时间,直到实时带宽小于等于节流阀的带宽限制值。
步骤2-5),一个租户会对应多个数据传输线程,但这些线程共享该租户的节流阀,从而可以从线程层面限制住租户在该存储节点上的读写带宽。
基于图3-3至图3-6,下面介绍一下带宽控制装置的实时带宽获取流程,该流程包括步骤3-1)至步骤3-3),其中:
步骤3-1),当初始化时,RBM会不断接收来自存储节点的心跳,该心跳包含了所有租户在该存储节点上的实时带宽值。
步骤3-2),RBM维护的线程周期性地根据步骤3-1)中的心跳记录,计算单个租户在大数据集群中总的实时带宽的值,并将租户和实时带宽值的映射保存。
步骤3-3),当管理员调用IM模块的实时带宽获取接口(通常为Restful接口)时,RBM会根据用户传递来的租户信息,去步骤3-2)中保存的映射结果中查找对应租户的实时速度信息值返回给用户,这里,所述租户的实时速度信息可以用来计算该租户的当前带宽信息。
基于图3-3至图3-6,下面介绍一下带宽控制装置的历史带宽获取流程,该流程包括步骤4-1)和步骤4-2),其中:
步骤4-1),RBM在计算租户实时带宽值时,每一个计算周期都会将结果保存到Metrics系统中,Metrics系统可以用来记录某个指标的历史值。这些历史值可以通过某些第三方软件(如Ganglia)存入弹性数据库如环状数据库(Round Robin Database,RRD)。
步骤4-2),当管理员调用IM模块的历史带宽获取接口(通常为Restful接口)时,会调用步骤4-1)中的第三方软件,将弹性数据库中的所有符合范围的历史值返回给用户。
从以上可以看出,本发明实施例具有以下有益效果:1)本发明实施例将带宽控制从调度系统中分离出来作为独立的装置,即解决了存储系统无法获取租户信息的问题,也实现了将硬盘带宽和网络带宽作为统一的资源进行隔离和管理。对用户而言,可以方便的指定存储系统的实际带宽,便于理解和操作;对大数据系统而言,避免了硬盘和网卡两种不同带宽资源相互影响制约,自动调节,防止了分开限制造成的性能瓶颈和资源浪费。2)本发明实施例中的带宽控制装置对于大数据调度系统和存储系统而言是非必须的,可以任意启动和停止带宽控制装置而不对原有的调度系统和存储系统产生影响。同时,带宽控制装置具备了节点主被切换的功能,保证了其自身的可靠性。3)在大数据系统不断扩大的今天,资源共享和资源隔离是一个非常重要的课题,本发明实施例可以作用在实现了多租户资源共享的大数据集群上,在不影响原大数据系统的情况下,提供了原先没有的多租户带宽资源隔离的功能,具有很高的实用性。
实施例四
基于前述的实施例,本发明实施例提供一种大数据集群租户带宽控制装置,该装置所包括的各单元,例如第一获取单元、查询单元、确定单元、第一判断单元和控制单元等单元,以及各单元所包括的各模块,都可以通过计算设备中的处理器来实现,当然也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图4为本发明实施例四大数据集群租户带宽控制装置的组成结构示意图,如图4所示,该装置400包括第一获取单元401、查询单元402、确定单元403、第一判断单元404和控制单元405,其中:
第一获取单元401,用于获取来自于调度系统的带宽限制命令,所述带宽限制命令用于限制带宽,所述带宽限制命令包括租户信息;
查询单元402,用于根据所述租户信息查询预设的关联信息,得到对应的带宽阈值;
确定单元403,用于确定与所述租户信息对应的租户的当前带宽信息;
第一判断单元404,用于判断所述当前带宽信息与所述带宽阈值之间的大小关系,得到判断结果;
控制单元405,用于根据所述判断结果控制所述租户在存储系统中所使用的带宽。
本发明实施例中,所述装置还包括形成单元,用于形成映射关系,具体地,所述形成单元进一步包括第二获取单元、第三获取单元和建立单元,其中:
第二获取单元,用于从所述存储系统获取租户信息,根据所述租户信息建立本地的租户列表;
第三获取单元,用于从所述存储系统获取所述租户信息对应的带宽阈值;
建立单元,用于根据所述租户信息和所述租户信息对应的带宽阈值建立关联信息,所述关联信息用于表明租户信息与带宽阈值之间的映射关系。
本发明实施例中,所述装置还包括第二判断单元和输出单元,其中:
所述第二判断单元,用于判断所述带宽阈值是否满足预设的条件,如果不满足,触发所述输出单元;如果满足,触发所述建立单元;
所述输出单元,用于输出错误信息,所述错误信息用于提示用户使用了不正确的带宽值。
本发明实施例中,所述装置还包括第四获取单元、第一更新单元、第四获取单元和第二更新单元,其中:
所述第四获取单元,用于从所述调度系统获取最新注册的租户信息;
所述第一更新单元,用于根据所述最新注册的租户信息更新本地的租户列表;
所述第四获取单元,用于根据所述最新注册的租户信息获取对应的带宽阈值;
所述第二更新单元,用于根据所述最新注册的租户信息及其对应的带宽阈值更新所述关联信息。
本发明实施例中,所述控制单元,用于如果所述当前带宽信息小于等于所述带宽阈值,则流程结束;如果所述当前带宽信息大于所述带宽阈值,则控制所述租户下正在运行的线程处于休眠状态。
本发明实施例中,所述确定单元,包括第一确定模块和第二确定模块,其中:
所述第一确定模块,用于根据所述租户信息确定第一带宽值,所述第一带宽值为所述租户当前在所述存储系统中每一存储节点所使用的带宽值;
所述第二确定模块,用于根据所述第一带宽值确定所述租户的当前带宽信息。
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解,为节约篇幅,因此不再赘述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个…...”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种大数据集群租户带宽控制方法,其特征在于,所述方法包括:
获取来自于调度系统的带宽限制命令,所述带宽限制命令用于限制带宽,所述带宽限制命令包括租户信息;
根据所述租户信息查询预设的关联信息,得到对应的带宽阈值,所述关联信息用于表明租户信息与带宽阈值之间的映射关系;
确定与所述租户信息对应的租户的当前带宽信息;
判断所述当前带宽信息与所述带宽阈值之间的大小关系,得到判断结果;
根据所述判断结果控制所述租户在存储系统中所使用的带宽;其中,所述带宽 包括硬盘带宽和网卡带宽;
其中,所述根据所述判断结果控制所述租户在存储系统中所使用的带宽,包括:
如果所述当前带宽信息小于等于所述带宽阈值,则流程结束;
如果所述当前带宽信息大于所述带宽阈值,则控制所述租户下正在运行的线程处于休眠状态。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述存储系统获取租户信息,根据所述租户信息建立本地的租户列表;
从所述存储系统获取所述租户信息对应的带宽阈值;
根据所述租户信息和所述租户信息对应的带宽阈值建立关联信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述带宽阈值是否满足预设的条件,如果不满足,输出错误信息,所述错误信息用于提示用户使用了不正确的带宽值;如果满足,则根据所述租户信息和所述租户信息对应的带宽阈值建立关联信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
从所述调度系统获取最新注册的租户信息;
根据所述最新注册的租户信息更新本地的租户列表;
根据所述最新注册的租户信息获取对应的带宽阈值;
根据所述最新注册的租户信息及其对应的带宽阈值更新所述关联信息。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述确定与所述租户信息对应的租户的当前带宽信息,包括:
根据所述租户信息确定第一带宽值,所述第一带宽值为所述租户当前在所述存储系统中每一存储节点所使用的带宽值;
根据所述第一带宽值确定所述租户的当前带宽信息。
6.一种大数据集群租户带宽控制装置,其特征在于,所述装置包括第一获取单元、查询单元、确定单元、第一判断单元和控制单元,其中:
第一获取单元,用于获取来自于调度系统的带宽限制命令,所述带宽限制命令用于限制带宽,所述带宽限制命令包括租户信息;
查询单元,用于根据所述租户信息查询预设的关联信息,得到对应的带宽阈值,所述关联信息用于表明租户信息与带宽阈值之间的映射关系;
确定单元,用于确定与所述租户信息对应的租户的当前带宽信息;
第一判断单元,用于判断所述当前带宽信息与所述带宽阈值之间的大小关系,得到判断结果;
控制单元,用于根据所述判断结果控制所述租户在存储系统中所使用的带宽;
其中,所述控制单元,具体用于:如果所述当前带宽信息小于等于所述带宽阈值,则流程结束;
如果所述当前带宽信息大于所述带宽阈值,则控制所述租户下正在运行的线程处于休眠状态;所述带宽 包括硬盘带宽和网卡带宽。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括第二获取单元、第三获取单元和建立单元,其中:
第二获取单元,用于从所述存储系统获取租户信息,根据所述租户信息建立本地的租户列表;
第三获取单元,用于从所述存储系统获取所述租户信息对应的带宽阈值;
建立单元,用于根据所述租户信息和所述租户信息对应的带宽阈值建立关联信息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括第二判断单元和输出单元,其中:
所述第二判断单元,用于判断所述带宽阈值是否满足预设的条件,如果不满足,触发所述输出单元;如果满足,触发所述建立单元;
所述输出单元,用于输出错误信息,所述错误信息用于提示用户使用了不正确的带宽值。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括第四获取单元、第一更新单元、第四获取单元和第二更新单元,其中:
所述第四获取单元,用于从所述调度系统获取最新注册的租户信息;
所述第一更新单元,用于根据所述最新注册的租户信息更新本地的租户列表;
所述第四获取单元,用于根据所述最新注册的租户信息获取对应的带宽阈值;
所述第二更新单元,用于根据所述最新注册的租户信息及其对应的带宽阈值更新所述关联信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511003092.XA CN106921512B (zh) | 2015-12-28 | 2015-12-28 | 一种大数据集群租户带宽控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511003092.XA CN106921512B (zh) | 2015-12-28 | 2015-12-28 | 一种大数据集群租户带宽控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106921512A CN106921512A (zh) | 2017-07-04 |
CN106921512B true CN106921512B (zh) | 2020-08-04 |
Family
ID=59455903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511003092.XA Active CN106921512B (zh) | 2015-12-28 | 2015-12-28 | 一种大数据集群租户带宽控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106921512B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897494B (zh) * | 2018-06-15 | 2022-02-18 | 郑州云海信息技术有限公司 | 块存储系统中数据操作的处理方法以及相关装置 |
CN109495299B (zh) * | 2018-11-07 | 2021-12-28 | 同盾控股有限公司 | 一种数据流量的控制方法、装置 |
CN112039796B (zh) * | 2020-08-28 | 2023-04-18 | 北京字节跳动网络技术有限公司 | 数据包传输方法和装置、存储介质和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763130A (zh) * | 2013-12-31 | 2014-04-30 | 华为数字技术(苏州)有限公司 | 大规模集群的管理方法、装置和系统 |
CN103838520A (zh) * | 2014-02-19 | 2014-06-04 | 华为技术有限公司 | 一种输入/输出流量控制方法及设备 |
CN104731676A (zh) * | 2015-03-24 | 2015-06-24 | 浪潮集团有限公司 | 一种加速集群系统数据恢复的方法 |
CN105183820A (zh) * | 2015-08-28 | 2015-12-23 | 广东创我科技发展有限公司 | 一种支持多租户的大数据平台及租户访问方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9864620B2 (en) * | 2013-07-30 | 2018-01-09 | International Business Machines Corporation | Bandwidth control in multi-tenant virtual networks |
-
2015
- 2015-12-28 CN CN201511003092.XA patent/CN106921512B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103763130A (zh) * | 2013-12-31 | 2014-04-30 | 华为数字技术(苏州)有限公司 | 大规模集群的管理方法、装置和系统 |
CN103838520A (zh) * | 2014-02-19 | 2014-06-04 | 华为技术有限公司 | 一种输入/输出流量控制方法及设备 |
CN104731676A (zh) * | 2015-03-24 | 2015-06-24 | 浪潮集团有限公司 | 一种加速集群系统数据恢复的方法 |
CN105183820A (zh) * | 2015-08-28 | 2015-12-23 | 广东创我科技发展有限公司 | 一种支持多租户的大数据平台及租户访问方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106921512A (zh) | 2017-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2978889C (en) | Opportunistic resource migration to optimize resource placement | |
US11687555B2 (en) | Conditional master election in distributed databases | |
JP6731201B2 (ja) | 時間ベースのノード選出方法及び装置 | |
US9307017B2 (en) | Member-oriented hybrid cloud operating system architecture and communication method thereof | |
US9053167B1 (en) | Storage device selection for database partition replicas | |
US10078533B2 (en) | Coordinated admission control for network-accessible block storage | |
US9621648B2 (en) | Peer-to-peer architecture for web traffic management | |
CN103986766A (zh) | 自适应负载均衡作业任务调度方法及装置 | |
US10616134B1 (en) | Prioritizing resource hosts for resource placement | |
WO2020042612A1 (zh) | 消息存储、读取方法及装置、服务器、存储介质 | |
US10250673B1 (en) | Storage workload management using redirected messages | |
CN106921512B (zh) | 一种大数据集群租户带宽控制方法及装置 | |
CN107343023A (zh) | 一种Mesos管理集群中的资源分配方法、装置及电子设备 | |
CN113574515B (zh) | 用于分布式系统中的异步存储管理的系统和方法 | |
CN116304390B (zh) | 时序数据处理方法、装置、存储介质及电子设备 | |
US10594620B1 (en) | Bit vector analysis for resource placement in a distributed system | |
Wang et al. | Provision of storage QoS in distributed file systems for clouds | |
US11336519B1 (en) | Evaluating placement configurations for distributed resource placement | |
EP3090361B1 (en) | Providing consistent tenant experiences for multi-tenant databases | |
US10348814B1 (en) | Efficient storage reclamation for system components managing storage | |
CN116166181A (zh) | 一种云监控方法和云管理平台 | |
US10721181B1 (en) | Network locality-based throttling for automated resource migration | |
US11121981B1 (en) | Optimistically granting permission to host computing resources | |
CN112559142B (zh) | 容器的控制方法、装置、边缘计算系统、介质及设备 | |
CN110944033B (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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 215163 building 10, 78 Keling Road, Suzhou hi tech Zone, Jiangsu Province Patentee after: CHINA MOBILE (SUZHOU) SOFTWARE TECHNOLOGY Co.,Ltd. Patentee after: China Mobile Communications Group Co., Ltd Address before: 215163 building 10, 78 Keling Road, Suzhou hi tech Zone, Jiangsu Province Patentee before: CHINA MOBILE (SUZHOU) SOFTWARE TECHNOLOGY Co.,Ltd. Patentee before: China Mobile Communications Corporation |