一种文件系统数据处理方法、客户端、服务端及系统与流程

文档序号:11155349阅读:302来源:国知局
一种文件系统数据处理方法、客户端、服务端及系统与制造工艺

本发明涉及通信技术领域,特别涉及一种文件系统数据处理方法、客户端、服务端及系统。



背景技术:

现有文件系统主要分为两大部分:元数据管理、数据管理。其中,元数据的请求占文件系统所有请求的50%以上,所以提升元数据的请求的处理性能,可以有效提升整个文件系统的性能。

在多个元数据节点的系统里,每个元数据节点都有自己负责的目录结构。以两个元数据节点(0号元数据节点和1号元数据节点)构成的元数据集群为例,目录结构图参见附图1。文件系统的根目录及目录树根目录B所属的是0号元数据节点,目录树根目录A所属的是1号元数据节点。在现有情况下,对于1号元数据节点负责的目录树根,即目录A来说:涉及到目录A的请求,客户端都会先把请求发给0号元数据节点进行查找。0号元数据节点通过判断发现目录A已不是自己负责的目录,会给客户端回执告知应该是1号元数据节点进行请求处理。客户端再把请求发给1号元数据节点。1号元数据节点提供正确的响应。此流程示意图参见附图2,此交互示意图参见附图3(其中X号元数据节点意为非0号元数据节点)。

通过图1至图3可以清楚地看到涉及到访问非0号元数据节点的目录树根的操作时,服务端0号元数据节点实际承担转发请求的责任,其节点压力相对较大;对于客户端来说,同一个请求消息要和元数据节点通信两次,这会大大影响整个集群性能。因此,如何优化客户端与服务端进行交互时的效率,是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种文件系统数据处理方法、客户端、服务端及系统,可以在现有元数据集群目录结构下,通过减少不必要的元数据请求交互,减小系统压力,达到提升文件系统性能的目的。

为解决上述技术问题,本发明提供一种文件系统数据处理方法,包括:

根据存储的服务端构造的目录结构信息,确定消息请求所属的目标元数据节点;

向所述目标元数据节点发送所述消息请求;

接收所述目标元数据节点提供的响应信息。

可选的,存储服务端构造的目录结构信息,包括:

在第一次与所述服务端建立链接时,接收所述服务端发送的目录结构信息。

可选的,该方法还包括:

接收到所述服务端发送的目录结构信息更新指令时,更新所述目录结构信息。

本发明还提供一种客户端,包括:

目标元数据节点确定模块,用于根据存储的服务端构造的目录结构信息,确定消息请求所属的目标元数据节点;

消息请求发送模块,用于向所述目标元数据节点发送所述消息请求;

响应信息接收模块,用于接收所述目标元数据节点提供的响应信息。

可选的,该客户端还包括:

目录结构信息接收模块,用于在第一次与所述服务端建立链接时,接收所述服务端发送的目录结构信息。

可选的,该客户端还包括:

目录结构信息更新模块,用于接收到所述服务端发送的目录结构信息更新指令时,更新所述目录结构信息。

本发明还提供一种文件系统数据处理方法,包括:

向客户端发送构造的目录结构信息,使所述客户端根据所述目录结构信息,确定消息请求所属的目标元数据节点;

接收所述客户端向所述目标元数据节点发送的所述消息请求;

向所述客户端发送所述目标元数据节点根据所述消息请求提供的响应信息。

可选的,该方法还包括:

当目录结构信息更新时,向所述客户端发送目录结构信息更新指令,使所述客户端根据所述更新指令更新所述目录结构信息。

本发明还提供一种服务端,包括:

目标元数据节点发送模块,用于向客户端发送构造的目录结构信息,使所述客户端根据所述目录结构信息,确定消息请求所属的目标元数据节点;

元数据节点,用于接收所述客户端发送的所述消息请求,并向所述客户端发送根据所述消息请求提供的响应信息。

本发明还提供一种文件系统数据处理系统,包括:如上述任一项所述的客户端和如上述所述的服务端。

本发明所提供的一种文件系统数据处理方法,包括:根据存储的服务端构造的目录结构信息,确定消息请求所属的目标元数据节点;向所述目标元数据节点发送所述消息请求;接收所述目标元数据节点提供的响应信息;

可见,该方法中客户端可以直接向目录树根所属的元数据节点(即消息请求所属的目标元数据节点)发送请求,则客户端和服务端只会交互一次,进而提升整个文件系统的性能;即可以在现有元数据集群目录结构下,通过减少不必要的元数据请求交互,减小系统压力,达到提升文件系统性能的目的。本发明还提供了一种文件系统数据处理系统、服务端和客户端,具有上述有益效果,在此不再赘述。

附图说明

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

图1为两个元数据节点构成的元数据集群的目录结构示意图;

图2为现有技术中客户端发送请求时选择元数据节点和服务端提供响应的流程示意图;

图3为现有技术中对目录树根操作的客户端与服务端交互示意图;

图4为本发明实施例提的一种文件系统数据处理方法的流程图;

图5为本发明实施例提的文件系统数据处理方法的交互示意图;

图6为本发明实施例提的文件系统数据处理方法的交互的流程示意图;

图7为本发明实施例提的客户端的结构框图;

图8为本发明实施例提的另一文件系统数据处理方法的流程图;

图9为本发明实施例提的服务端的结构框图;

图10为本发明实施例提的文件系统数据处理系统的结构框图。

具体实施方式

本发明的核心是提供一种文件系统数据处理方法、客户端、服务端及系统,可以在现有元数据集群目录结构下,通过减少不必要的元数据请求交互,减小系统压力,达到提升文件系统性能的目的。

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

请参考图4,图4为本发明实施例提的文件系统数据处理方法的流程图;该方法可以包括:

S100、根据存储的服务端构造的目录结构信息,确定消息请求所属的目标元数据节点;

S110、向所述目标元数据节点发送所述消息请求;

S120、接收所述目标元数据节点提供的响应信息。

具体的,本实施例中目录结构信息包含各个元数据节点对应的目录树根信息。因此,当客户端需要进行消息请求时,可以根据消息请求对应的目录树根,查找目录结构信息确定消息请求所属的目标元数据节点。即客户端在目录树根下进行IO操作,根据目录结构信息准确获取目录树根所属的目标元数据节点。

这里的元数据节点数量至少为两个即元数据集群,两个及以上数量的元数据节点即构成元数据集群。本实施例并不限定元数据节点的数量。

本实施例中当客户端需要对目录树根操作时,首先通过查找目录结构信息,确定该目录树根操作所属的元数据节点即目标元数据节点。直接向目标元数据节点发送消息请求。可以省去文件系统根目录所属的元数据节点承担转发请求的责任,即减小了该节点的数据压力,又减少了服务端和客户端数据一次目录树根操作的交互次数。即客户端直接向目录树根所属的目标元数据节点发送请求,并接收该目标元数据节点返回的响应信息;即客户端和服务端只会交互一次,进而提升整个文件系统的性能。文件系统数据处理方法的交互示意图参见附图5。其中,图5中的X号元数据节点即为客户端根据目录结构信息确定的目标元数据节点。

本实施例适用于可以支持多个元数据节点的文件系统,这里的文件系统可以是云存储系统、分布式文件系统等。本实施例并不对文件系统的形式进行限定。适用于支持元数据集群的各类文件系统。

进一步由于客户端存储的服务端构造的目录结构信息,因此可以减少数据交互次数,提升文件系统性能。因此客户端需要接收服务端构造的目录结构信息。为了提高目录结构信息的利用率,优选的,在客户端第一次与所述服务端建立链接时,接收所述服务端发送的目录结构信息。这样从客户端进入该文件系统时就可以采用本实施例中的方式进行数据处理。或者是当服务端完成目录结构信息的构造时,就进行目录结构信息的同步。即在元数据集群构造目录结构时,与服务端链接的客户端同步保存构造的目录结构信息。如果目录结构信息已完成建立,新加入的客户端会在与服务端建立链接的过程中,获取到目录结构信息。

请参考图6,举例说明该文件系统数据处理过程:

客户端在目录树根下进行IO操作,若IO操作中存在涉及目录树根的消息请求时,准确获取目录树根(即目录)所属的元数据节点(即目标元数据节点),向目录所属元数据节点发送请求,所属元数据节点给客户端提供响应。

基于上述技术方案,本发明实施例提的文件系统数据处理方法,能够在现有元数据集群目录结构下,通过减少不必要的元数据请求交互,减小系统压力,达到提升文件系统性能的目的。

由于目录结构信息的准确性直接影响到后续服务端和客户端数据交互的准确性。该目录结构信息在服务端并不是一成不变的,会根据文件系统的变化发生对应改变。例如当文件系统增加元数据节点或者删除元数据节点时,该系统对应的目录结构信息就会发生改变。因此为了保证该实施例进行数据处理的准确性和可靠性,需要在服务端的目录结构信息发生变化时,及时使其对应的或者与服务端建立链接关系的客户端更新目录结构信息。具体更新操作可以是根据更新指令更新所述目录结构信息;或者建立数据同步关系,当服务端目录结构信息发生变化同步的客户端对应改变。本实施例并不限定具体的更新过程。基于上述实施例,该方法还可以包括:接收到所述服务端发送的目录结构信息更新指令时,更新所述目录结构信息。

具体的,当服务端更新目录结构信息时,即向客户端发送目录结构信息更新指令,客户端根据更新指令更新所述目录结构信息。这里更新指令可以仅仅为一个触发指令,也可以是更新指令中包含有目录结构信息中变化部分的内容。因此,本实施例并不对更新指令的内容进行限定。

基于上述技术方案,本发明实施例提的文件系统数据处理方法,该方法通过客户端准确查找目录或文件所属元数据节点,使客户端与服务端所属的元数据节点进行准确交互,不但减轻0号元数据节点(承担转发请求的责任的元数据节点)的压力,而且减少服务端和客户端消息通信次数,有效提升文件系统性能。

下面对本发明实施例提供的文件系统数据处理客户端、服务端及系统进行介绍,下文描述的文件系统数据处理客户端、服务端及系统与上文描述的文件系统数据处理方法可相互对应参照。

请参考图7,图7为本发明实施例提的客户端的结构框图;该客户端可以包括:

目标元数据节点确定模块101,用于根据存储的服务端构造的目录结构信息,确定消息请求所属的目标元数据节点;

消息请求发送模块102,用于向所述目标元数据节点发送所述消息请求;

响应信息接收模块103,用于接收所述目标元数据节点提供的响应信息。

基于上述实施例,该客户端还可以包括:

目录结构信息接收模块,用于在第一次与所述服务端建立链接时,接收所述服务端发送的目录结构信息。

基于上述任意实施例,该客户端还可以包括:

目录结构信息更新模块,用于接收到所述服务端发送的目录结构信息更新指令时,更新所述目录结构信息。

请参考图8,图8为本发明实施例提的另一文件系统数据处理方法的流程图;该方法可以包括:

S200、向客户端发送构造的目录结构信息,使所述客户端根据所述目录结构信息,确定消息请求所属的目标元数据节点;

S210、接收所述客户端向所述目标元数据节点发送的所述消息请求;

S220、向所述客户端发送所述目标元数据节点根据所述消息请求提供的响应信息。

基于上述实施例,该方法还可以包括:

当目录结构信息更新时,向所述客户端发送目录结构信息更新指令,使所述客户端根据所述更新指令更新所述目录结构信息。

请参考图9,图9为本发明实施例提的服务端的结构框图;该服务端可以包括:

目标元数据节点发送模块201,用于向客户端发送构造的目录结构信息,使所述客户端根据所述目录结构信息,确定消息请求所属的目标元数据节点;

元数据节点202,用于接收所述客户端发送的所述消息请求,并向所述客户端发送根据所述消息请求提供的响应信息。

基于上述实施例,该服务端还可以包括:

更新指令发送模块,用于当目录结构信息更新时,向所述客户端发送目录结构信息更新指令,使所述客户端根据所述更新指令更新所述目录结构信息。

请参考图10,图10为本发明实施例提的文件系统数据处理系统的结构框图;该系统可以包括:如上述任意实施例所述的客户端100和如上述任意实施例所述的服务端200。

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

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以计算机软件或者计算机软硬件的结合来实现。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

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

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