一种连接数配额的控制方法与装置与流程

文档序号:12786206阅读:193来源:国知局
一种连接数配额的控制方法与装置与流程

本发明涉及服务器技术领域,特别是涉及一种连接数配额的控制方法与装置。



背景技术:

随着大数据时代的来临,存储服务器的应用越来越广泛。与普通服务器相比,存储服务器是为特定的目标而设计,因此配置方式也不同,它可能是拥有一点额外的存储,也可能拥有很大的存储空间。一台多用途的服务器通常拥有五块以下的内部磁盘,但一台存储服务器至少会拥有6块内部磁盘,大多时候会达到12块到24块内部磁盘。分布式文件系统是存储服务器的核心部分,但是对于分布式文件系统的性能、可靠性一直是困扰存储服务器广泛应用的难题。存储服务器的压力不断变化,当前的文件系统并不能满足动态变化情况下的高负载压力,出现数据丢失的情况。

就目前技术来说,分布式文件系统实现了针对磁盘可用容量的磁盘配额,针对用户可使用容量的用户配额,针对目录可使用容量和可使用数量的目录配额,但是对于磁盘管理的层面而言,这些配额方式并不能对服务器可接受的最大负载进行有效的管理,用户负载可以动态加大,导致服务器运转较慢,最终导致数据丢失。另一方面,如果服务器压力较大,此时又需要进行大量数据恢复,那么会出现服务器数据恢复和对客户端的响应都非常慢的情况,降低用户的体验。

可见,如何实现对服务器负载的有效管理,保证服务器运行在一个合理的负载范围内,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例的目的是提供一种连接数配额的控制方法与装置,可以实现对服务器负载的有效管理,保证服务器运行在一个合理的负载范围内。

为解决上述技术问题,本发明实施例提供一种连接数配额的控制方法,应用于服务器,所述方法包括:

接收用户输入的允许接入所述服务器的连接数配额;所述连接数配额包括:连接总数配额、客户端数量配额和预设的至少一个客户端所对应的连接数配额;

统计与所述服务器建立连接的个数信息;所述个数信息包括三种类型的个数信息:与所述服务器建立连接的连接总数、与所述服务器建立连接的客户端个数以及所述客户端与所述服务器建立的连接个数;

当所述个数信息中包括的任意一种类型的个数信息大于或等于与其所对应的所述连接数配额的阈值范围时,则向预先存储的邮箱发送提示信息。

可选的,所述当所述个数信息中包括的至少一种类型的个数信息大于或等于与其所对应的所述连接数配额的阈值范围时,则向预先存储的邮箱发送提示信息包括:

当所述与所述服务器建立连接的连接总数大于或等于所述连接总数配额的阈值范围时;

和/或当所述与所述服务器建立连接的客户端个数大于或等于所述客户端数量配额的阈值范围时;

和/或当第一客户端与所述服务器建立的连接个数大于或等于所述第一客户端连接数配额的阈值范围时,则向预先存储的邮箱发送提示信息。

可选的,还包括:

当所述与所述服务器建立连接的连接总数大于或等于所述连接总数配额;

和/或当所述与所述服务器建立连接的客户端个数大于或等于所述客户端数量配额;

和/或当第一客户端与所述服务器建立的连接个数大于或等于所述第一客户端连接数配额时,则禁止所述客户端与所述服务器建立连接;所述第一客户端为所述至少一个客户端中的任意一个客户端。

可选的,还包括:

接收用户输入的允许第二客户端建立的操作流配额;所述第二用户端为所述至少一个客户端中的任意一个客户端;

统计所述第二客户端建立的操作流的个数;

当所述操作流的个数大于或等于所述操作流配额时,则禁止所述客户端建立所述操作流。

本发明实施例还提供一种连接数配额的控制装置,应用于服务器,所述装置包括接收单元、统计单元、发送单元:

所述接收单元,用于接收用户输入的允许接入所述服务器的连接数配额;所述连接数配额包括:连接总数配额、客户端数量配额和预设的至少一个客户端所对应的连接数配额;

所述统计单元,用于统计与所述服务器建立连接的个数信息;所述个数信息包括三种类型的个数信息:与所述服务器建立连接的连接总数、与所述服务器建立连接的客户端个数以及所述客户端与所述服务器建立的连接个数;

当所述个数信息中包括的任意一种类型的个数信息大于或等于与其所对应的所述连接数配额的阈值范围时,则触发所述发送单元,所述发送单元,用于向预先存储的邮箱发送提示信息。

可选的,所述个数信息中包括的任意一种类型的个数信息大于或等于与其所对应的所述连接数配额的阈值范围包括:

所述与所述服务器建立连接的连接总数大于或等于所述连接总数配额的阈值范围;

和/或所述与所述服务器建立连接的客户端个数大于或等于所述客户端数量配额的阈值范围;

和/或第一客户端与所述服务器建立的连接个数大于或等于所述第一客户端连接数配额的阈值范围。

可选的,还包括禁止单元:

当所述与所述服务器建立连接的连接总数大于或等于所述连接总数配额;

和/或当所述与所述服务器建立连接的客户端个数大于或等于所述客户端数量配额;

和/或当第一客户端与所述服务器建立的连接个数大于或等于所述第一客户端连接数配额时,则触发所述禁止单元,所述禁止单元,用于禁止所述客户端与所述服务器建立连接;所述第一客户端为所述至少一个客户端中的任意一个客户端。

可选的,所述接收单元还用于接收用户输入的允许第二客户端建立的操作流配额;所述第二用户端为所述至少一个客户端中的任意一个客户端;

所述统计单元还用于统计所述第二客户端建立的操作流的个数;

当所述操作流的个数大于或等于所述操作流配额时,则触发所述禁止单元,所述禁止单元还用于禁止所述客户端建立所述操作流。

由上述技术方案可以看出,在服务器系统中会存储用户输入的允许接入所述服务器的连接数配额,其中连接数配额包括:连接总数配额、客户端数量配额和预设的至少一个客户端所对应的连接数配额;当客户端与服务器建立连接时,服务器可以自动统计与该服务器建立连接的个数信息;所述个数信息包括三种类型的个数信息:与所述服务器建立连接的连接总数、与所述服务器建立连接的客户端个数以及所述客户端与所述服务器建立的连接个数;当所述个数信息中包括的任意一种类型的个数信息大于或等于与其所对应的所述连接数配额的阈值范围时,则向预先存储的邮箱发送提示信息,以便于服务器管理员可以了解服务器连接的负载情况,通过控制客户端向服务器建立的连接,从而有效控制服务器的负载,保证服务器运行在一个合理的负载范围内。

附图说明

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

图1为本发明实施例提供的一种连接数配额的控制方法的流程图;

图2为本发明实施例提供的一种操作流配额的控制方法的流程图;

图3为本发明实施例提供的一种连接数配额的控制装置的结构示意图。

具体实施方式

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

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

接下来,详细介绍本发明实施例所提供的一种连接数配额的控制方法。图1为本发明实施例提供的一种连接数配额的控制方法的流程图,应用于服务器,所述方法包括:

S101:接收用户输入的允许接入所述服务器的连接数配额。

在实际应用中,当客户端与服务器建立的连接个数过多时,会增加服务器运行的负担,特别是当服务器需要同时对多个客户端提供服务时,可能会导致服务器运行速度慢、严重时导致数据丢失等问题,为了后续可以控制与服务器建立的连接个数,在本发明实施例中,可以在服务器中预先设置允许接入服务器的连接数配额。

连接数配额可以用于表示服务器所能允许接入的连接数的最大值。

其中连接数配额可以包括:连接总数配额、客户端数量配额和预设的至少一个客户端所对应的连接数配额。

客户端在与服务器建立连接时,对于该服务器而言,可以允许多个客户端与该服务器建立连接,对于一个客户端而言,其与服务器建立的连接数可以有多个。不同的客户端其对应的连接数可以相同,也可以不同。

连接总数配额可以用于表示允许与服务器建立连接的总连接数。客户端数量配额可以用于表示与服务器建立连接的客户端的个数。每个客户端都有其对应的一个IP地址,在服务器中可以预先存储有一些经常与服务器建立连接的客户端的IP地址,并且可以在服务器中预先设置这些客户端中的每个客户端分别与服务器建立连接的个数,即该客户端所对应的连接数配额。

在本发明实施例中,可以通过服务器的文件系统根目录的扩展属性实现连接数配额的预先存储。对于服务器的文件系统来说,根目录的扩展数据便于获取,性能较好,而且根目录必然存在,故此,可以将连接数配额预先存储于文件系统根目录的扩展属性中。

在具体实现中,用户可以通过setfattr命令添加相应的参数,该参数即为连接数配额。setfattr命令是文件系统设置目录/文件扩展属性的命令,主要有3个参数:目录/文件名称、设置扩展名称、数据,例如,setfattr/“connect_quote”xx,xx为具体数值,可以是连接总数配额、客户端数量配额或者是预设的至少一个客户端所对应的连接数配额。

服务器的文件系统数据一般包括数据和元数据;数据指用户的数据,例如,图片的内容、音频的内容;元数据只为了管理数据的目录层次、文件名称、大小、时间等,都是为了保存数据的额外开销。

分布式文件系统元数据服务管理整个文件系统元数据,文件系统的每一个目录、文件都有对应的元数据。元数据扩展属性,可以设置多个。每一个扩展属性由一个名称,一个数据块组成。服务器在接收到用户输入的连接数配额后,可以将其以根目录扩展属性的形式,保存在根目录的元数据里,以便于后续可以方便获取预存的连接数配额。

S102:统计与所述服务器建立连接的个数信息。

所述个数信息包括三种类型的个数信息:与所述服务器建立连接的连接总数、与所述服务器建立连接的客户端个数以及所述客户端与所述服务器建立的连接个数。其中,所述客户端与所述服务器建立的连接个数可以理解为是每个客户端的连接数。

分布式文件系统能够接入的客户端与服务器建立的连接总量,对于每个连接都有其对应的网络地址+端口号唯一标识。例如,一台计算机可以启动多个客户端,每个客户端可以建立多个连接,每个连接都有其对应的网络地址+端口号。对于同一台服务器其网络地址相同,客户端与服务器建立连接时,服务器可以为每条连接分配一个唯一的端口号,也即对于每个连接都有其对应的唯一端口号。服务器为客户端分配一个端口号,即表示建立了一个连接,以此可以统计出建立连接的个数信息。

S103:当所述个数信息中包括的任意一种类型的个数信息大于或等于与其所对应的所述连接数配额的阈值范围时,则向预先存储的邮箱发送提示信息。

在本发明实施例中,每种类型的个数信息有其对应的连接数配额。举例说明,客户端与服务器建立连接的连接总数和连接总数配额相对应。与服务器建立连接的客户端个数和客户端数量配额相对应。与服务器建立连接的客户端有至少一个,对所述至少一个客户端中的任意一个客户端即第一客户端而言,其与服务器建立的连接个数可以有多个。其中,第一客户端与所述服务器建立的连接个数和第一客户端连接数配相对应。为了后续介绍方便,可以将上述三种对应的关系称作是客户端与服务器建立的连接数和连接数配额之间的对应关系。

当客户端与服务器建立的连接数超过该连接数配额时,服务器所能承受的负载已经达到极限,为了保证服务器的正常运转,在服务器建立的连接数接近该连接数配额时,应该进行相应的提示,以提醒服务器管理员,该服务器的负载已经快接近最大负载水平。在具体实现中,可以根据连接数配额设置连接数配额的阈值范围,该阈值范围可以用于表示服务器可以承受的负载上限值。

当个数信息中包括的连接总数、客户端个数以及每个客户端的连接数中的其中一个接近其对应的连接数配额的阈值范围时,则进行相应的处理。具体的,当所述与所述服务器建立连接的连接总数大于或等于所述连接总数配额的阈值范围时;和/或当所述与所述服务器建立连接的客户端个数大于或等于所述客户端数量配额的阈值范围时;和/或当第一客户端与所述服务器建立的连接个数大于或等于所述第一客户端连接数配额的阈值范围时,则向预先存储的邮箱发送提示信息。

其中,服务器中预先存储的邮箱可以是该服务器管理的邮箱账号,该提示信息可以用于提醒服务器管理员,该服务器已经快要接近其所能承受的最大负载水平,以便于管理员可以及时进行处理,从而控制服务器的负载处于可承受的范围之内。

例如,可以将阈值范围设置为80%,以连接总数配额为例,当连接总数配额为100个时,其对应的连接总数配额的阈值范围即为100*80%=80个,也即当与服务器建立连接的连接总数大于或等于80个时,则向预先存储的邮箱发送提示信息。

由上述技术方案可以看出,在服务器系统中会存储用户输入的允许接入所述服务器的连接数配额,其中连接数配额包括:连接总数配额、客户端数量配额和预设的至少一个客户端所对应的连接数配额;当客户端与服务器建立连接时,服务器可以自动统计与该服务器建立连接的个数信息;所述个数信息包括三种类型的个数信息:与所述服务器建立连接的连接总数、与所述服务器建立连接的客户端个数以及所述客户端与所述服务器建立的连接个数;当所述个数信息中包括的任意一种类型的个数信息大于或等于与其所对应的所述连接数配额的阈值范围时,则向预先存储的邮箱发送提示信息,以便于服务器管理员可以了解服务器连接的负载情况,通过控制客户端向服务器建立的连接,从而有效控制服务器的负载,保证服务器运行在一个合理的负载范围内。

考虑到,可能会存在客户端与服务器建立的连接数超过设置的连接数配额的阈值范围后,由于外界因素的影响,服务器管理员并未对该种情况进行处理,此时客户端依然可以与服务器建立新的连接,导致建立的连接个数过多,超出服务器所能承受的负载水平,针对这种情况,可以在连接数大于或等于连接数配额时,服务器自动禁止新连接的建立。

具体的,当所述与所述服务器建立连接的连接总数大于或等于所述连接总数配额;和/或当所述与所述服务器建立连接的客户端个数大于或等于所述客户端数量配额;和/或当第一客户端与所述服务器建立的连接个数大于或等于所述第一客户端连接数配额时,则禁止所述客户端与所述服务器建立连接;所述第一客户端为所述至少一个客户端中的任意一个客户端。

通过上述操作,可以有效的控制接入服务器的最大连接数,从而控制服务器的负载,进一步保证服务器运行在一个合理的负载范围内。

在上述实施例中,主要针对客户端与服务器建立的连接数进行控制,除此之外,对于每一个连接而言,该连接中可以同时包含有至少一个操作流,操作流可以看做是一项具体的操作项目,例如,一个用户进程在对某文件写入,另一个进程在对某文件读取,写入和读取即为2个操作流。在一个连接上,同时执行的操作流越多,服务器的负载也就越大,故此,在本发明实施例中可以增加对操作流的限制,从而更加精确的控制服务器的负载。具体操作过程如图2所示,包括:

S201:接收用户输入的允许第二客户端建立的操作流配额。

所述第二用户端为所述至少一个客户端中的任意一个客户端。

操作流配额可以用于表示在一个连接上可以同时执行的操作项目的最大值。例如,一个连接的操作流配额设置为5,则表明在该连接上最多可以同时执行5个操作项目。

对于一个客户端而言,其与服务器建立的连接可以有多条,每条连接都可以设置其对应的操作流配额,以任意两个连接为例,该操作流配额可以相同,也可以不同。例如,以操作流配额相同为例,一个客户端可以与服务器建立的连接数配额为10个,对于这10个连接而言,可以将每个连接的操作流配额设置为同一个数值,如5个。

其中,服务器接收操作流配额的方式与上述接收连接数配额的方式类似,在此不再赘述。

S202:统计所述第二客户端建立的操作流的个数。

S203:当所述操作流的个数大于或等于所述操作流配额时,则禁止所述客户端建立所述操作流。

分布式文件系统的各种文件/目录操作,都是通过客户端请求发起。每一个文件读写,都需要打开文件请求,open操作。客户端操作流的数量,是指同时并行的操作流。文件关闭后资源释放也就释放客户端操作流配额,以实现资源配额的目的。

需要说明的是,第一客户端与第二客户端可以是同一个客户端,也可以是不同的客户端,在此不做限定。

图3为本发明实施例提供的一种连接数配额的控制装置的结构示意图,应用于服务器,所述装置包括:接收单元31、统计单元32、发送单元33:

所述接收单元31,用于接收用户输入的允许接入所述服务器的连接数配额;所述连接数配额包括:连接总数配额、客户端数量配额和预设的至少一个客户端所对应的连接数配额。

所述统计单元32,用于统计与所述服务器建立连接的个数信息;所述个数信息包括三种类型的个数信息:与所述服务器建立连接的连接总数、与所述服务器建立连接的客户端个数以及所述客户端与所述服务器建立的连接个数。

当所述个数信息中包括的任意一种类型的个数信息大于或等于与其所对应的所述连接数配额的阈值范围时,则触发所述发送单元33,所述发送单元33,用于向预先存储的邮箱发送提示信息。

可选的,所述个数信息中包括的任意一种类型的个数信息大于或等于与其所对应的所述连接数配额的阈值范围包括:

所述与所述服务器建立连接的连接总数大于或等于所述连接总数配额的阈值范围;

和/或所述与所述服务器建立连接的客户端个数大于或等于所述客户端数量配额的阈值范围;

和/或第一客户端与所述服务器建立的连接个数大于或等于所述第一客户端连接数配额的阈值范围。

可选的,还包括禁止单元:

当所述与所述服务器建立连接的连接总数大于或等于所述连接总数配额;

和/或当所述与所述服务器建立连接的客户端个数大于或等于所述客户端数量配额;

和/或当第一客户端与所述服务器建立的连接个数大于或等于所述第一客户端连接数配额时,则触发所述禁止单元,所述禁止单元,用于禁止所述客户端与所述服务器建立连接;所述第一客户端为所述至少一个客户端中的任意一个客户端。

可选的,所述接收单元还用于接收用户输入的允许第二客户端建立的操作流配额;所述第二用户端为所述至少一个客户端中的任意一个客户端。

所述统计单元还用于统计所述第二客户端建立的操作流的个数。

当所述操作流的个数大于或等于所述操作流配额时,则触发所述禁止单元,所述禁止单元还用于禁止所述客户端建立所述操作流。

图3所对应实施例中特征的说明可以参见图1和图2所对应实施例的相关说明,这里不再一一赘述。

以上对本发明所提供的一种连接数配额的控制方法与装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1