首页> 中国专利> 一种分布式存储系统中samba用户QoS实现方法、装置及设备

一种分布式存储系统中samba用户QoS实现方法、装置及设备

摘要

本申请公开了一种分布式存储系统中samba用户QoS实现方法、装置及设备,该方法包括:首先获取samba服务中的节点带宽阈值、客户端带宽阈值和连接数最大值,然后,当检测到客户端连接至samba服务时,根据客户端带宽阈值,控制客户端连接的带宽,并将控制后的客户端连接带宽值写入数据库中,接着,周期性获取连接至samba服务的所有客户端连接的总带宽,并将其与节点带宽阈值进行比较,若大于节点带宽阈值,则进行QoS告警;以及当所有客户端的连接数达到连接数最大值时,进行QoS告警。从而能够对samba用户的带宽进行控制与操作,进而提升分布式存储系统的健壮性、易用性和功能的丰富性。

著录项

  • 公开/公告号CN113852490A

    专利类型发明专利

  • 公开/公告日2021-12-28

    原文格式PDF

  • 申请/专利权人 济南浪潮数据技术有限公司;

    申请/专利号CN202110950602.3

  • 发明设计人 陈保平;

    申请日2021-08-18

  • 分类号H04L12/24(20060101);H04L29/08(20060101);G06F3/06(20060101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人郭化雨

  • 地址 250101 山东省济南市中国(山东)自由贸易试验区济南片区浪潮路1036号浪潮科技园S05楼S311室

  • 入库时间 2023-06-19 13:26:15

说明书

技术领域

本申请涉及计算机技术领域,尤其涉及一种分布式存储系统中samba用户QoS实现方法、装置及设备。

背景技术

随着计算机技术的快速发展,网络数据处理量也随之暴风增长。海量数据的处理需求对计算机系统存储性能提出了更高的要求,从而加速了分布式存储系统的迅猛发展,使得分布式存储系统在IT企业、云计算、大数据、虚拟化等领域得到了广泛应用。

以samba协议为接口的分布式存储系统中,无论后端对接的是本地存储还是分布式存储,都没有实现对带宽访问速率的控制,一旦通过samba访问的业务量急剧增加,必然会为后端存储造成较大的业务压力,影响系统的稳定性。因此,在分布式存储系统中,如何实现samba连接的带宽采集与控制,以减轻系统的业务压力,进而提升系统的健壮性、易用性和功能的丰富性,是目前亟待解决的问题。

发明内容

本申请实施例的主要目的在于提供一种分布式存储系统中samba用户QoS实现方法、装置及设备,能够对samba用户的带宽进行控制与操作,从而提升分布式存储系统的健壮性、易用性和功能的丰富性。

第一方面,本申请实施例提供了一种分布式存储系统中samba用户QoS实现方法,包括:

获取samba服务中的节点带宽阈值、客户端带宽阈值和连接数最大值;

当检测到客户端连接至所述samba服务时,根据所述客户端带宽阈值,控制客户端连接的带宽,并将控制后的客户端连接带宽值写入数据库中;

周期性获取连接至所述samba服务的所有客户端连接的总带宽,并将其与所述节点带宽阈值进行比较,若大于所述节点带宽阈值,则进行QoS告警;以及当所有客户端的连接数达到所述连接数最大值时,进行QoS告警。

可选的,所述方法还包括:

通过管理界面,接收用户对所述客户端带宽阈值的修改操作;

响应于所述用户对所述客户端带宽阈值的修改操作,修改所述客户端带宽阈值,并将修改后的客户端带宽阈值写入数据库中。

可选的,所述方法还包括:

通过管理界面,接收用户对所述节点带宽阈值的修改操作;

响应于所述用户对所述节点带宽阈值的修改操作,修改所述节点带宽阈值,并将修改后的客户端带宽阈值写入数据库中。

可选的,所述周期性获取连接至所述samba服务的所有客户端连接的总带,包括:

利用定时器,定时获取连接至所述samba服务的所有客户端连接的总带宽。

第二方面,本申请实施例还提供了一种分布式存储系统中samba用户QoS实现装置,包括:

第一获取单元,用于获取samba服务中的节点带宽阈值、客户端带宽阈值和连接数最大值;

控制单元,用于当检测到客户端连接至所述samba服务时,根据所述客户端带宽阈值,控制客户端连接的带宽,并将控制后的客户端连接带宽值写入数据库中;

第二获取单元,用于周期性获取连接至所述samba服务的所有客户端连接的总带宽,并将其与所述节点带宽阈值进行比较,若大于所述节点带宽阈值,则进行QoS告警;以及当所有客户端的连接数达到所述连接数最大值时,进行QoS告警。

可选的,所述装置还包括:

第一接收单元,用于通过管理界面,接收用户对所述客户端带宽阈值的修改操作;

第一修改单元,用于响应于所述用户对所述客户端带宽阈值的修改操作,修改所述客户端带宽阈值,并将修改后的客户端带宽阈值写入数据库中。

可选的,所述装置还包括:

第二接收单元,用于通过管理界面,接收用户对所述节点带宽阈值的修改操作;

第二修改单元,用于响应于所述用户对所述节点带宽阈值的修改操作,修改所述节点带宽阈值,并将修改后的客户端带宽阈值写入数据库中。

可选的,所述第二获取单元具体用于:

利用定时器,定时获取连接至所述samba服务的所有客户端连接的总带宽。

本申请实施例还提供了一种分布式存储系统中samba用户QoS实现设备,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述分布式存储系统中samba用户QoS实现方法中的任意一种实现方式。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述分布式存储系统中samba用户QoS实现方法中的任意一种实现方式。

本申请实施例提供的一种分布式存储系统中samba用户QoS实现方法、装置及设备,首先获取samba服务中的节点带宽阈值、客户端带宽阈值和连接数最大值,然后,当检测到客户端连接至samba服务时,根据客户端带宽阈值,控制客户端连接的带宽,并将控制后的客户端连接带宽值写入数据库中,接着,周期性获取连接至samba服务的所有客户端连接的总带宽,并将其与节点带宽阈值进行比较,若大于节点带宽阈值,则进行QoS告警;以及当所有客户端的连接数达到连接数最大值时,进行QoS告警。从而能够对samba用户的带宽进行控制与操作,进而提升分布式存储系统的健壮性、易用性和功能的丰富性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种分布式存储系统中samba用户QoS实现方法的流程示意图;

图2为本申请实施例提供的Qos带宽控制具体实现过程的示意图;

图3为本申请实施例提供的Qos带宽控制具体实现逻辑视图的示意图;

图4为本申请实施例提供的Qos带宽控制具体实现物理视图的示意图;

图5为本申请实施例提供的一种分布式存储系统中samba用户QoS实现装置的组成示意图。

具体实施方式

随着大数据应用规模不断增加,海量数据的处理需求对计算机系统存储性能提出了更高的要求。从而加速了分布式存储系统的迅猛发展,使得分布式存储系统在IT企业、云计算、大数据、虚拟化等领域得到了广泛应用,以samba协议为接口的分布式存储系统中,无论后端对接的是本地存储还是分布式存储,都没有实现对带宽访问速率的控制,一旦通过samba访问的业务量急剧增加,必然会为后端存储造成较大的业务压力,影响系统的稳定性。因此,在分布式存储系统中,如何实现samba连接的带宽采集与控制,以减轻系统的业务压力,进而提升系统的健壮性、易用性和功能的丰富性,是目前亟待解决的问题。

为解决上述缺陷,本申请实施例提供了一种分布式存储系统中samba用户QoS实现方法,首先获取samba服务中的节点带宽阈值、客户端带宽阈值和连接数最大值,然后,当检测到客户端连接至samba服务时,根据客户端带宽阈值,控制客户端连接的带宽,并将控制后的客户端连接带宽值写入数据库中,接着,周期性获取连接至samba服务的所有客户端连接的总带宽,并将其与节点带宽阈值进行比较,若大于节点带宽阈值,则进行QoS告警;以及当所有客户端的连接数达到连接数最大值时,进行QoS告警。从而能够对samba用户的带宽进行控制与操作,进而提升分布式存储系统的健壮性、易用性和功能的丰富性。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

参见图1,为本实施例提供的一种分布式存储系统中samba用户QoS实现方法的流程示意图,该方法包括以下步骤:

S101:获取samba服务中的节点带宽阈值、客户端带宽阈值和连接数最大值。

本实施例中,由于以samba协议为接口的存储系统中,无论后端对接的是本地存储还是分布式存储,都没有实现对带宽访问速率的控制,一旦通过samba访问的业务量急剧增加,必然会为后端存储造成较大的业务压力,影响系统的稳定性。并且,实时获取当前连接的业务访问速率,能够为分析业务压力规律能够提供更多的依据。因此,申请人想到可以以此为定位,实现samba连接的带宽采集与控制。

为了提升分布式存储系统的健壮性、易用性和功能的丰富性,本实施例中,在集群启动时,首先从samba服务的smb.conf配置文件中读取节点带宽阈值,客户端带宽阈值和连接数最大值,作为默认值,用以后续步骤S102。

S102:当检测到客户端连接至samba服务时,根据客户端带宽阈值,控制客户端连接的带宽,并将控制后的客户端连接带宽值写入数据库中。

在本实施例中,通过步骤S101获取到samba服务中的节点带宽阈值、客户端带宽阈值和连接数最大值后,进一步的,当检测到客户端连接至samba服务时,可以根据获取到的客户端带宽阈值,限制客户单连接的带宽,同时将该客户端连接带宽的限制信息写入到tdb数据库中,用以执行后续步骤S103。

S103:周期性获取连接至samba服务的所有客户端连接的总带宽,并将其与节点带宽阈值进行比较,若大于节点带宽阈值,则进行QoS告警;以及当所有客户端的连接数达到连接数最大值时,进行QoS告警。

在本实施例中,为了能够对samba用户的带宽进行控制与操作,以提升分布式存储系统的健壮性、易用性和功能的丰富性,需要周期性获取连接至samba服务的所有客户端连接的总带宽,比如,可以利用定时器,定时获取连接至所述samba服务的所有客户端连接的总带宽,并将其与之前获取到的节点带宽阈值进行比较,若大于节点带宽阈值,则触发进行QoS告警;以及当所有客户端的连接数达到之前获取到的连接数最大值时,触发进行QoS告警。

进一步的,为了能够满足客户根据自身使用需求,实现samba连接的带宽采集与控制,一种可选的实现方式是,可以通过管理界面,接收用户对客户端带宽阈值的修改操作;然后响应于用户对所述客户端带宽阈值的修改操作,修改客户端带宽阈值,并将修改后的客户端带宽阈值写入数据库中。

类似的,另一种可选的实现方式中,可以通过管理界面,接收用户对节点带宽阈值的修改操作;然后响应于用户对节点带宽阈值的修改操作,修改节点带宽阈值,并将修改后的客户端带宽阈值写入数据库中。

这样,本实施例通过执行上述步骤S101-S103,可以满足客户根据自身使用需求,能够对系统带宽进行控制与操作。提升了系统的健壮性、易用性和功能的丰富性。

其中,需要说明的是,Qos实现的基本原理是:启动定时器,定时统计当前一秒钟内从网络上接收到的字节数,当达到理论上接收字节数上限后停止接收,当达到定时器时间后重新统计。

为便于理解,接下来,本申请实施例将结合附图对Qos带宽控制流程进行详细介绍,如图2所示,Qos带宽控制的具体实现过程可以包括下述步骤(1)-(5):

步骤(1):samba连接建立时,在samba连接的业务进程中启动qos带宽定时器;

步骤(2):samba读取网络数据,进行业务处理,统计当前从网络收到的字节数(表示带宽),与理论带宽值进行比较,当读取的字节数大于理论带宽值时,关闭网络socket的读事件,停止读取数据;若不大于理论带宽值,则不关闭读事件,并利用event_loop函数继续监控网络socket是否有读事件触发;

步骤(3):进入event_loop函数,等待所有事件触发,此处可理解为网络socket的读事件和定时器事件两种;若步骤(2)中没有关闭socket的读事件,则socket的读事件和定时器事件都在event_loop函数的监控中,因此都有可能触发;若步骤(2)中关闭了socket的读事件,则event_loop函数只会触发定时器事件;

步骤(4):若此时为socket的读事件触发,则重复进入步骤(2);

步骤(5):若此时为定时器事件触发,则将步骤(2)中统计到的网络字节数清零,准备进行新一轮统计;若步骤(2)中关闭了socket读事件则打开socket读事件;若步骤(2)没有关闭socket读事件则不做任何操作;然后重复进入步骤(2)。

另外,为便于理解,接下来,本申请实施例将通过如图3所示的逻辑视图,对Qos带宽控制流程进行功能模块化处理并详细介绍,如图3所示,实现Qos带宽控制流程的系统可以包括接口模块、带宽调度与决策模块、带宽采集和控制模块、Samba连接管理模块。

其中,接口模块用于负责响应和解析来自管理界面和输出终端的查询和控制命令。带宽调度与决策模块用于根据系统设置的带宽总资源和每个连接的带宽资源,实现对带宽资源的分配功能。带宽采集和控制模块用于完成每个samba业务连接的带宽采集,实现对samba业务连接的带宽控制设置功能。Samba连接管理模块用于监控samba连接数,当达到阈值时进行告警,告警阈值由带宽调度与决策模块来管理。

具体来讲,当前连接信息展示和控制信息接收由接口模块负责,接口模块的交互模块为带宽调度与决策模块;带宽分配功能由带宽调度与决策模块负责,带宽调度与决策模块为中心模块,接收来自接口模块的Qos查询和控制信息,并把Qos结果和告警信息回复给接口模块;带宽调度与决策模块定时从samba连接管理模块和带宽采集与控制模块采集信息,用于当前Qos控制的分析与控制,需要时将控制信息下发到samba连接管理模块和带宽采集与控制模块;带宽采集与控制由带宽采集和控制模块负责,带宽采集与控制模块主要接收与处理来自带宽调度与决策模块的查询和控制信息。

另外,为便于理解,本申请实施例还提供了如图4所示的物理视图,以更形象化的展示出分布式存储系统中samba用户QoS实现过程。

综上,本实施例提供的一种分布式存储系统中samba用户QoS实现方法,首先获取samba服务中的节点带宽阈值、客户端带宽阈值和连接数最大值,然后,当检测到客户端连接至samba服务时,根据客户端带宽阈值,控制客户端连接的带宽,并将控制后的客户端连接带宽值写入数据库中,接着,周期性获取连接至samba服务的所有客户端连接的总带宽,并将其与节点带宽阈值进行比较,若大于节点带宽阈值,则进行QoS告警;以及当所有客户端的连接数达到连接数最大值时,进行QoS告警。从而能够对samba用户的带宽进行控制与操作,进而提升分布式存储系统的健壮性、易用性和功能的丰富性。

本实施例将对一种分布式存储系统中samba用户QoS实现装置进行介绍,相关内容请参见上述方法实施例。

参见图5,为本实施例提供的一种分布式存储系统中samba用户QoS实现装置的组成示意图,该装置包括:

第一获取单元501,用于获取samba服务中的节点带宽阈值、客户端带宽阈值和连接数最大值;

控制单元502,用于当检测到客户端连接至所述samba服务时,根据所述客户端带宽阈值,控制客户端连接的带宽,并将控制后的客户端连接带宽值写入数据库中;

第二获取单元503,用于周期性获取连接至所述samba服务的所有客户端连接的总带宽,并将其与所述节点带宽阈值进行比较,若大于所述节点带宽阈值,则进行QoS告警;以及当所有客户端的连接数达到所述连接数最大值时,进行QoS告警。

在本实施例的一种实现方式中,所述装置还包括:

第一接收单元,用于通过管理界面,接收用户对所述客户端带宽阈值的修改操作;

第一修改单元,用于响应于所述用户对所述客户端带宽阈值的修改操作,修改所述客户端带宽阈值,并将修改后的客户端带宽阈值写入数据库中。

在本实施例的一种实现方式中,所述装置还包括:

第二接收单元,用于通过管理界面,接收用户对所述节点带宽阈值的修改操作;

第二修改单元,用于响应于所述用户对所述节点带宽阈值的修改操作,修改所述节点带宽阈值,并将修改后的客户端带宽阈值写入数据库中。

在本实施例的一种实现方式中,所述第二获取单元503具体用于:

利用定时器,定时获取连接至所述samba服务的所有客户端连接的总带宽。

综上,本实施例提供的一种分布式存储系统中samba用户QoS实现装置,首先获取samba服务中的节点带宽阈值、客户端带宽阈值和连接数最大值,然后,当检测到客户端连接至samba服务时,根据客户端带宽阈值,控制客户端连接的带宽,并将控制后的客户端连接带宽值写入数据库中,接着,周期性获取连接至samba服务的所有客户端连接的总带宽,并将其与节点带宽阈值进行比较,若大于节点带宽阈值,则进行QoS告警;以及当所有客户端的连接数达到连接数最大值时,进行QoS告警。从而能够对samba用户的带宽进行控制与操作,进而提升分布式存储系统的健壮性、易用性和功能的丰富性。

进一步地,本申请实施例还提供了一种分布式存储系统中samba用户QoS实现设备,包括:处理器、存储器、系统总线;

所述处理器以及所述存储器通过所述系统总线相连;

所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述分布式存储系统中samba用户QoS实现方法的任一种实现方法。

进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述分布式存储系统中samba用户QoS实现方法的任一种实现方法。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号