一种用户文件配额的方法、装置及分布式文件系统与流程

文档序号:17475948发布日期:2019-04-20 06:07阅读:206来源:国知局
一种用户文件配额的方法、装置及分布式文件系统与流程

本发明涉及分布式文件技术领域,特别涉及一种用户文件配额的方法、装置、分布式文件系统及计算机可读存储介质。



背景技术:

随着信息技术的发展,各种数据的处理和记录产生了海量的数据。面对海量数据的存储和处理,目前通过云计算解决。在云计算的存储系统中,通过网络和分布式文件系统将分布的存储设备通过网络连接成一个虚拟的整体,组成一个高效,安全,可靠的存储系统。在分布式架构中,主要由数据服务器,元数据服务器以及客户端组成。其中,数据服务器主要负责数据存储;元数据服务器主要负责元数据的管理;客户端主要负责给用户提供交互接口。

目前在分布式文件系统中,主要是通过客户端与元数据服务器交互实现数据创建,修改,删除;元数据服务器与数据服务器交互实现数据的持久化存储。当前分布式文件系统中具有配额功能。配额存在主要目的是:限制某个目录或者用户使用存储空间或者文件个数的数量。用户文件配额就是限制某个用户可以写入文件的数量。对于设置用户文件配额的某个用户,统计该用户新建文件的个数,如果新建文件超过该用户设置的配额,则禁止新文件的创建。

在目前分布式文件系统中,对用户文件配额的设置,修改,删除,以及该用户配额的统计信息更新等都是通过客户端与元数据服务器进行数据交互实现配额,然后元数据服务器在与数据服务器通信实现用户配额信息的持久化存储。但是这种方式对于分布式文件系统来说,不仅需要与元数据服务器通信,还需要与数据服务器通信。导致其io的请求次数比较多,影响整个分布式文件系统的性能。



技术实现要素:

本发明的目的是提供一种用户文件配额的方法、装置、分布式文件系统及计算机可读存储介质,可以避免三者交互造成的io的请求次数过多,影响整个分布式文件系统的性能的问题。

为解决上述技术问题,本发明提供一种用户文件配额的方法,应用于数据服务器,所述方法包括:

当接收到客户端发送的创建新文件请求时,确定所述创建新文件请求的用户信息以及新文件数量;

利用所述用户信息对应的文件配额信息中的剩余文件量以及所述新文件数量,判断创建新文件过程是否存在文件数量超额;

若存在,则禁止所述客户端创建新文件;

若不存在,则允许所述客户端创建新文件,并更新所述文件配额信息中的剩余文件量。

可选地,所述文件配额信息的设置过程,包括:

当接收到客户端发送的文件配额设置信息时,确定所述文件配额设置信息的用户信息以及文件配额参数信息;

利用所述文件配额参数信息设置所述用户信息对应的文件配额信息。

可选地,所述用户文件配额的方法,还包括:

当接收到客户端发送的文件配额更新信息时,利用所述文件配额更新信息更新对应的文件配额信息。

可选地,所述用户文件配额的方法,还包括:

当接收到客户端发送的文件配额查询信息时,获取所述文件配额查询信息对应的配额查询结果,并将所述配额查询结果发送给所述客户端。

本发明还提供一种用户文件配额的装置,应用于数据服务器,包括:

信息确定模块,用于当接收到客户端发送的创建新文件请求时,确定所述创建新文件请求的用户信息以及新文件数量;

判断模块,用于利用所述用户信息对应的文件配额信息中的剩余文件量以及所述新文件数量,判断创建新文件过程是否存在文件数量超额;

执行模块,用于创建新文件过程若存在文件数量超额,则禁止所述客户端创建新文件;若创建新文件过程不存在文件数量超额,则允许所述客户端创建新文件,并更新所述文件配额信息中的剩余文件量。

可选地,所述用户文件配额的装置,还包括:

文件配额模块,用于当接收到客户端发送的文件配额设置信息时,确定所述文件配额设置信息的用户信息以及文件配额参数信息;利用所述文件配额参数信息设置所述用户信息对应的文件配额信息。

可选地,所述用户文件配额的装置,还包括:

更新模块,用于当接收到客户端发送的文件配额更新信息时,利用所述文件配额更新信息更新对应的文件配额信息。

可选地,所述用户文件配额的装置,还包括:

查询模块,用于当接收到客户端发送的文件配额查询信息时,获取所述文件配额查询信息对应的配额查询结果,并将所述配额查询结果发送给所述客户端。

本发明还提供一种分布式文件系统,包括:客户端,与所述客户端通信的数据服务器;其中,

所述客户端,用于向所述数据服务器发送的创建新文件请求,并执行创建新文件操作;

所述数据服务器,用于确定所述创建新文件请求的用户信息以及新文件数量;利用所述用户信息对应的文件配额信息中的剩余文件量以及所述新文件数量,判断创建新文件过程是否存在文件数量超额;若存在,则禁止所述客户端创建新文件;若不存在,则允许所述客户端创建新文件,并更新所述文件配额信息中的剩余文件量。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述用户文件配额的方法的步骤。

本发明所提供的一种用户文件配额的方法,应用于数据服务器,该方法包括:当接收到客户端发送的创建新文件请求时,确定创建新文件请求的用户信息以及新文件数量;利用用户信息对应的文件配额信息中的剩余文件量以及新文件数量,判断创建新文件过程是否存在文件数量超额;若存在,则禁止客户端创建新文件;若不存在,则允许客户端创建新文件,并更新文件配额信息中的剩余文件量。

可见,该方法通过数据服务器与客户端进行通信,即可以实现用户文件配额管理,相比相关技术中来说,客户端不需要与元数据服务器通信,再由元数据服务器与数据服务器通信的通信方式,客户端仅仅需要与数据服务器通信即可以实现用户文件配额,进而可以避免相关技术中三者交互造成的io的请求次数过多,影响整个分布式文件系统的性能的问题。本发明还提供了一种用户文件配额的装置、分布式文件系统及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本发明实施例所提供的用户文件配额的方法的流程图;

图2为本发明实施例所提供的用户文件配额的装置的结构框图。

具体实施方式

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

针对分布式文件系统用户文件配额的这个问题,本实施例设置了一个用户文件个数配额实现方案,通过该方案可以实现用户文件个数配额的功能,同时也可以减少io请求次数,减少分布式文件系统负载,提高整个分布式文件系统性能。具体请参考图1,图1为本发明实施例所提供的用户文件配额的方法的流程图;应用于数据服务器,方法可以包括:

s110、当接收到客户端发送的创建新文件请求时,确定创建新文件请求的用户信息以及新文件数量。

本实施例中改变了相关技术中客户端与元数据服务器通信,元数据服务器与数据服务器进行通信的数据交互方式,在可以实现相关技术中的数据交互方式的基础上,还能够实现数据服务器与客户端的直接通信,即实现了数据服务器与客户端之间的直接的数据交互。且将用户文件配额的功能从相关技术中的元数据服务器实现,变为由数据服务器实现。即在数据服务器上存储配额信息的管理,不使用元数据服务器。因此,本实施例的执行主体是数据服务器。

本实施例中由于数据服务器与客户端需要进行数据交互,因此本实施例中数据服务器与元数据服务器直接建立通信连接。在数据服务器与客户端建立通信接连后。客户端就可以向数据服务器发送创建新文件请求。当数据服务器接收到客户端直接发送的创建新文件请求时,确定创建新文件请求的用户信息以及新文件数量。本实施例并不对创建新文件请求的格式和所包含的具体内容进行限定,由于数据服务器需要判断该用户对应的文件配额是否能够支持本次新文件的创建,因此,需要确定本次用户想要创建的新文件的数量。也就是说,数据服务器根据创建新文件请求至少需要确定创建新文件请求对应的用户信息以及新文件数量。数据服务器进而可以在得到该用户信息以及新文件数量后,根据该用户对应设置的文件配额信息,判断其是否能够成功完成新文件的创建。

s120、利用用户信息对应的文件配额信息中的剩余文件量以及新文件数量,判断创建新文件过程是否存在文件数量超额。

本实施例中在执行步骤s110之前,需要在数据服务器中存储各个用户对应的文件配额信息,以便在步骤s120时直接获取该文件配额信息进行是否存在文件数量超额的判断。本实施例中并限定数据服务器存储各个用户对应的文件配额信息的方式。如可以是当数据服务器接收到客户端发送的文件配额设置信息时,确定文件配额设置信息的用户信息以及文件配额参数信息;利用文件配额参数信息设置用户信息对应的文件配额信息。即用户在客户端设置用户对应的文件配额信息,并通过文件配额设置信息将该用户对应的文件配额信息发送到数据服务器(此时文件配额设置信息可以包含用户信息以及其对应的文件配额信息),数据服务器将用户信息以及其对应的文件配额信息进行存储。进而可以实现数据服务器可以通过用户信息调取对应的文件配额信息。本实施例并不对存储位置进行限定。

数据服务器在确定用户信息时,就可以获取到该用户信息对应的文件配额信息中的剩余文件量。进而可以判断该剩余文件量是否大于新文件数量,若剩余文件量大于新文件数量,则说明用户文件配额并没有使用完,即不存在文件数量超额,可以允许客户端创建新文件;若剩余文件量不大于新文件数量,即存在文件数量超额,则说明用户文件配额的剩余文件量不足以支持本次全部新文件创建,则禁止客户端创建新文件。

本实施例中并不限定文件配额信息的具体内容,其至少需要包含用户文件配额总量,剩余文件量,进而可以实现对用户创建文件的管理。当然,其也可以根据用户实际需求增加内容,例如还可以包括:已使用文件量,一次创建新文件最大量等。

s130、若存在文件数量超额,则禁止客户端创建新文件。

s140、若不存在文件数量超额,则允许客户端创建新文件,并更新文件配额信息中的剩余文件量。

本实施例中若不存在文件数量超额,则允许客户端创建新文件,并更新文件配额信息中的剩余文件量。以便后续进行是否存在文件数量超额的判断。本实施例中并不限定允许客户端创建新文件操作与更新文件配额信息中的剩余文件量操作的先后顺序。即可以是同时执行,也可以是先允许客户端创建新文件,后更新文件配额信息中的剩余文件量。也可以是先更新文件配额信息中的剩余文件量,后允许客户端创建新文件。当然,为了保证剩余文件量的准确性,本实施例中可以在客户端成功创建新文件后,再执行更新文件配额信息中的剩余文件量的操作(当然此时若文件配额信息中包含已使用文件量时,也需要对已使用文件量进行更新,本实施例中至少需要更新剩余文件量,其他需要更新的数值,需要根据用户设置的文件配额信息的具体内容进行确定),以保证文件配额信息中的剩余文件量的可靠性。在客户端创建新文件失败后,也可以发出提示信息。

本实施例中若存在文件数量超额,则禁止客户端创建新文件。本实施例中并不对禁止客户端创建新文件的具体操作进行限定。例如可以是禁止客户端创建全部的新文件;也可以是禁止客户端创建全部的新文件的同时,给出提示信息,以便确定是否需要仅创建剩余文件量个数对应的新文件;当然也可以是禁止客户端创建超出当前的剩余文件量的新文件。

本实施例中将用户文件配额的功能从相关技术中的元数据服务器实现,变为由数据服务器实现。这是由于对于用户文件配额来说,其需要持久化存储的文件配额信息与元数据信息并没有什么关联,因此,从本质上来说不需要跟元数据服务器沟通,可以直接在客户端将文件配额信息的设置以及统计信息的更新直接写入数据服务器中,实现配额的功能,这样不仅可以实现用户配额功能,同时可以减少整个分布式系统的io请求,提高整个分布式系统的存储性能。

基于上述技术方案,本发明实施例提供的用户文件配额的方法,相关技术在分布式文件系统中,主要是通过元数据服务器实现对配额的管理,数据服务器实现持久化存储,在本实施例中的用户文件配额,没有使用元数据服务器,使用数据服务器实现对用户配额的管理和持久化存储,减少整个文件系统的io请求次数,提高系统处理性能。

基于上述实施例,为了实现用户对文件配额信息的多元化操作,本实施例还可以包括对文件配额更新。此时该更新操作可以是修改,删除,增加等操作。即本实施例还可以包括:

当接收到客户端发送的文件配额更新信息时,利用文件配额更新信息更新对应的文件配额信息。

本实施例中数据服务器通过文件配额更新信息确定需要更新的内容,然后对已存储的文件配额信息进行相应的更新。例如数据服务器通过文件配额更新信息确定需要更新的内容为更新文件配额信息中的用户文件配额总量,并确定新的用户文件配额总量,然后将已存储的文件配额信息中的用户文件配额总量修改为新的用户文件配额总量,已完成对用户文件配额总量的更新。

本实施例中并不对文件配额更新信息的内容进行限定,只要其满足对相应参数的修改即可。例如其可以包含修改操作,增加文件配额信息内容的增加操作,以及删除文件配额信息内容的删除操作等。本实施例中通过文件配额更新信息增加了对文件配额更新信息管理的多样性,以满足用户的各种实际需求。

基于上述任意实施例,本实施例为了便于用户获取当前的文件配额信息的内容,本实施例中还可以包括:当接收到客户端发送的文件配额查询信息时,获取文件配额查询信息对应的配额查询结果,并将配额查询结果发送给客户端。

本实施例中还提供了查询功能,这样可以使得用户可以随时了解当前的文件配额更新信息的具体内容。需要说明的是,本实施例中并不对文件配额查询信息进行限定,例如可以是查询整个文件配额信息的内容,也可以是查询文件配额信息中的指定内容(即由用户确定其想要查询的内容),例如可以仅查询剩余文件量,用户通过了解文件配额信息,以便做出更加合理的文件创建。例如当用户查询到剩余文件量,就可以避免出现新创建的文件量超额的现象,进而可以提高用户新文件创建的成功率。

本实施例中将用户文件配额的功能从相关技术中的元数据服务器实现,变为由数据服务器实现。这是由于对于用户文件配额来说,其需要持久化存储的文件配额信息与元数据信息并没有什么关联,因此,从本质上来说不需要跟元数据服务器沟通,可以直接在客户端将文件配额信息的设置,修改,删除以及统计信息的更新直接写入数据服务器中,实现配额的功能,这样不仅可以实现用户配额功能,同时可以减少整个分布式系统的io请求,提高整个分布式系统的存储性能。

本实施例中首先在数据服务器上存储用户文件配额的信息,可以包括用户信息(例如用户id),以及对应的文件配额信息,文件配额信息可以包括用户文件配额总量,已使用文件量,剩余文件量等。在某个具体用户需要设置配额时候,通过客户端的设置命令即文件配额设置信息直接与数据服务器通信,将该用户的用户信息以及文件配额参数信息设置到数据服务器上。当需要获取该用户的文件配额信息时候,直接通过客户端的查询命令即文件配额查询信息与数据服务器通信获取在数据服务器上保存的用户配额信息。当通过客户端创建新文件的时候,也是通过客户端与数据服务器通信,更新数据服务器上用户的使用量和剩余文件量信息。当数据服务器判断出该次创建导致超过设置配额,则会禁止该次创建新文件操作。

基于上述技术方案,本发明实施例提供的用户文件配额的方法,通过在数据服务器上存储用户配额以及其对应统计信息,避免客户端与元数据服务器上io请求,就可以实现用户文件个数配额,同时可以减少整个分布式系统的负载,提高分布式系统的性能。

下面对本发明实施例提供的用户文件配额的装置、分布式文件系统及计算机可读存储介质进行介绍,下文描述的用户文件配额的装置、分布式文件系统及计算机可读存储介质与上文描述的用户文件配额的方法可相互对应参照。

请参考图2,图2为本发明实施例所提供的用户文件配额的装置的结构框图;应用于数据服务器,该装置可以包括:

信息确定模块100,用于当接收到客户端发送的创建新文件请求时,确定创建新文件请求的用户信息以及新文件数量;

判断模块200,用于利用用户信息对应的文件配额信息中的剩余文件量以及新文件数量,判断创建新文件过程是否存在文件数量超额;

执行模块300,用于创建新文件过程若存在文件数量超额,则禁止客户端创建新文件;若创建新文件过程不存在文件数量超额,则允许客户端创建新文件,并更新文件配额信息中的剩余文件量。

基于上述实施例,该装置还可以包括:

文件配额模块,用于当接收到客户端发送的文件配额设置信息时,确定文件配额设置信息的用户信息以及文件配额参数信息;利用文件配额参数信息设置用户信息对应的文件配额信息。

基于上述任意实施例,该装置还可以包括:

更新模块,用于当接收到客户端发送的文件配额更新信息时,利用文件配额更新信息更新对应的文件配额信息。

基于上述任意实施例,该装置还可以包括:

查询模块,用于当接收到客户端发送的文件配额查询信息时,获取文件配额查询信息对应的配额查询结果,并将配额查询结果发送给客户端。

需要说明的是,基于上述任意实施例,所述装置可以是基于可编程逻辑器件实现的,可编程逻辑器件包括fpga,cpld,单片机等。该可编程逻辑器件可以是在数据服务器中。

本发明实施例还提供了一种分布式文件系统,包括:客户端,与客户端通信的数据服务器;其中,

客户端,用于向数据服务器发送的创建新文件请求,并执行创建新文件操作;

数据服务器,用于确定创建新文件请求的用户信息以及新文件数量;利用用户信息对应的文件配额信息中的剩余文件量以及新文件数量,判断创建新文件过程是否存在文件数量超额;若存在,则禁止客户端创建新文件;若不存在,则允许客户端创建新文件,并更新文件配额信息中的剩余文件量。

本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例所述的用户文件配额的方法的步骤。如计算机程序被处理器执行时实现当接收到客户端发送的创建新文件请求时,确定创建新文件请求的用户信息以及新文件数量;利用用户信息对应的文件配额信息中的剩余文件量以及新文件数量,判断创建新文件过程是否存在文件数量超额;若存在,则禁止客户端创建新文件;若不存在,则允许客户端创建新文件,并更新文件配额信息中的剩余文件量。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

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

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

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

以上对本发明所提供的一种用户文件配额的方法、装置、分布式文件系统及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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