分布式文件系统及其数据存储处理方法和装置的制作方法

文档序号:7899174阅读:234来源:国知局
专利名称:分布式文件系统及其数据存储处理方法和装置的制作方法
技术领域
本发明数据存储技术,特别涉及一种分布式文件系统及其数据存储处理方法和装置。
背景技术
分布式文件系统(Distribute File System,以下简称DFS)是基于客户端/服 务器模式的文件系统。现有技术中的DFS包括名字空间服务器、内容存储服务器和客户端, 具体的可如图1所示,其中的名字服务器中存储各个文件的数据块在内容存储服务中的具 体存储单元,该具体存储单元可以是普通磁盘、磁盘阵列等多种形式,其可以是使用存储单 元标识来表示,由客户端要读取存储的数据时,先向名字空间服务器请求存储的存储位置, 名字服务器提供上述存储位置信息,然后客户端访问根据存储位置信息访问内容存储服务 器,以获取数据。上述现有技术中提供的分布式文件系统以及相应的存储数据获取方法,需要时刻 保持DFS系统中内容存储服务器的工作状态,为客户端提供服务,具有能耗高的缺点,同时 一旦内容服务器中的存储单元部分或全部断电,则无法为客户端提供相应存储单元中存储 的文件,该分布式文件系统的稳定性能差。

发明内容
本发明实施例提供一种分布式文件系统及其数据存储处理方法和装置,用以提高 分布式文件系统的稳定性。本发明实施例提供了一种分布式文件系统的数据存储处理方法,包括接收分布式文件系统客户端发送的访问请求;根据所述访问请求确定所述分布式文件系统客户端所要访问的存储单元以及所 述存储单元对应的虚拟资源池状态,所述存储单元与其对应的虚拟资源池存储有相同的数 据,所述虚拟资源池为根据具有相同活动周期的分布式文件系统客户端聚类生成;在确定所述存储单元对应的虚拟资源池处于上线状态时,向发起访问请求的分布 式文件系统客户端返回包括客户端标识的访问响应消息,所述客户端标识所标识的分布式 文件系统客户端为所述虚拟资源池中的一个,且根据所述访问请求确定。本发明还实施例还提供了一种分布式文件系统的数据存储处理装置,包括接收模块,用于接收分布式文件系统客户端发送的访问请求;状态查询模块,用于根据所述访问请求确定发起访问请求的分布式文件系统客户 端所要访问的存储单元以及所述存储单元对应的虚拟资源池状态;第一发送模块,用于在确定所述存储单元对应的虚拟资源池处于上线状态时,向 发起访问请求的分布式文件系统客户端返回包括客户端标识的访问响应消息,所述存储单 元与其对应的虚拟资源池存储有相同的数据,所述虚拟资源池为根据具有相同活动周期的 分布式文件系统客户端聚类生成,所述客户端标识所标识的分布式文件系统客户端为所述虚拟资源池中的一个,且根据所述访问请求确定。本实施例还提供了一种分布式文件系统,包括内容存储服务器、名字空间服务器 和一个以上的虚拟资源池,所述内容存储服务器包括一个以上的用于存储数据的存储单 元,所述虚拟资源池由一个以上具有相同活动周期的分布式文件系统客户端组成,所述内 容存储服务器中的存储单元与其对应的虚拟资源池中存储有相同的数据,所述名字空间服 务器包括上述的分布式文件系统的数据存储处理装置。本发明上述实施例提供的分布式文件系统及其数据存储处理方法和装置,其中将 分布式文件系统客户端聚类成为虚拟资源池,且建立了存储单元与虚拟资源池的映射关 系,存储单元与其对应的虚拟资源池中存储相同的数据,使得在虚拟资源池上线时,可以由 虚拟资源池为分布式文件系统客户端提供服务,仅以可以使与其对应的存储单元处于休眠 状态,充分利用了各个客户端的存储能力,且能够达到降低存储设备能耗的作用。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。图1为现有技术中分布式文件系统的结构示意图;图2为本发明分布式文件系统的数据存储处理方法实施例的流程示意图;图3为本发明一具体实施例的流程示意图;图4为本发明分布式文件系统的数据存储处理装置实施例的结构示意图;图5为本发明分布式文件系统实施例的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图2为本发明分布式文件系统的数据存储处理方法实施例的流程示意图,如图2 所示,该方法包括如下步骤步骤101、接收分布式文件系统客户端发送的访问请求。本实施例中各步骤可以由名字空间服务器执行,访问请求可以包括读数据操作请 求或者是写数据操作请求,其所要访问的存储单元可以为内容存储服务器中的存储单元, 该存储单元具有独立的电源控制模块,使得可以单独将存储单元下电,以降低能耗,另外存 储单元也可以是磁盘,或者是磁盘阵列等多种形式。步骤102、根据所述访问请求确定所述分布式文件系统客户端所要访问的存储单 元以及所述存储单元对应的虚拟资源池状态,所述存储单元与其对应的虚拟资源池存储有 相同的数据,所述虚拟资源池为根据具有相同活动周期的分布式文件系统客户端聚类生 成。
步骤103、在确定所述存储单元对应的虚拟资源池处于上线状态时,向发起访问请 求的分布式文件系统客户端返回包括客户端标识的访问响应消息,所述客户端标识所标识 的分布式文件系统客户端为所述虚拟资源池中的一个,且根据所述访问请求确定,具体的 可以是在接收到访问请求并确定发起请求的分布式文件系统客户端所要访问的存储单元 的同时,确定该客户端标识及分布式文件系统客户端,也可以是在确定虚拟资源池上线后 进一步的确定。本发明上述实施例提供的分布式文件系统的数据存储处理方法,其中将分布式文 件系统客户端聚类成为虚拟资源池,且建立了存储单元与虚拟资源池的映射关系,存储单 元与其对应的虚拟资源池中存储相同的数据,使得在虚拟资源池上线时,可以由虚拟资源 池为分布式文件系统客户端提供服务,仅以可以使与其对应的存储单元处于休眠状态,充 分利用了各个客户端的存储能力,且能够达到降低存储设备能耗的作用。本发明上述实施例中,聚类即是指将具有相同活动周期的客户端划分到同一个虚 拟资源池中,具体的根据具有相同活动周期的客户端聚类生成虚拟资源池可以具体包括如 下步骤接收各个分布式文件系统客户端上报的活动周期;根据所述各个分布式文件系统客户端的活动周期进行聚类处理,生成虚拟资源 池,所述虚拟资源池内的各个分布式文件系统客户端具有相同的活动周期。另外在上述聚 类生成虚拟资源池后,还可以进一步的建立虚拟资源池标识和存储单元标识的映射关系, 所述虚拟资源池标识对应的虚拟资源池与所述存储单元标识对应的存储单元用于存储相 同的数据。本发明上述实施例中,其中的确定存储单元对应的虚拟资源池处于上线状态可以 通过如下方式确定一是由于各个虚拟资源池都是根据活动周期聚类生成的,因此可以根据虚拟资源 池的活动周期确定所述虚拟资源池的状态,在活动周期对应的时间段内确定所述虚拟资源 池处于上线状态,其他时间段内确定所述虚拟资源池处于下线状态;二是在检测到虚拟资源池内的所有分布式文件系统客户端都登陆完成后确定该 虚拟资源池处于上线状态,否则处于下线状态。并且进一步的在确定述虚拟资源池处于上线状态后,通知内容存储服务器将所述 虚拟资源池对应的存储单元设置为休眠状态。上述针对存储单元对应的虚拟资源池处于上线状态时,若确定存储单元对应的虚 拟资源池处于下线状态时,则向发起访问请求的分布式文件系统客户端返回包括分布式文 件系统客户端所要访问的存储单元的标识的访问响应消息。以使客户端访问内容服务器的 存储单元,而不是访问未上线虚拟资源池。进一步的,上述在发起访问请求的分布式文件系统客户端在接收到所述包括客户 端标识的访问响应消息后,根据所述客户端标识访问对应的分布式文件系统客户端。本发明上述图2所示的实施例中,其中的访问请求可以为读数据操作请求,或者 是写数据操作请求,具体的在上述访问请求为读数据操作请求时,该读数据操作请求携带 有预读取数据的文件名和块标识,上述根据访问请求确定所述分布式文件系统客户端所要 访问的存储单元以及所述存储单元对应的虚拟资源池状态包括
8
根据所述预读取数据的文件名和块标识获取存储所述预读取数据的存储单元和 分布式文件系统客户端,并确认存储预读取数据的分布式文件系统客户端所在的虚拟资源 池的状态,存储预读取数据的分布式文件系统客户端为与存储所述预读取数据的存储单元 对应的虚拟资源池中的一个。在上述访问请求为写数据操作请求时,根据访问请求确定所述分布式文件系统客 户端所要访问的存储单元以及所述存储单元对应的虚拟资源池状态包括根据写数据操作请求分配存储单元以及分布式系统客户端,并确认分布式文件系 统客户端所在的虚拟资源池的状态,分布式文件系统客户端为与所述分配的存储单元对应 的虚拟资源池中的一个。具体存储单元分配方式可以参照现有技术进行。图3为本发明一具体实施例的流程示意图,如图3所示,该方法包括步骤201、名字空间服务器接收DFS客户端上报的DFS客户端的活动周期;名字空间服务器可接收多个DFS客户端上报的活动周期。若DFS客户端在设定的 统计时间段内的在线时间大于设定的阈值,则认为上述统计时间为该客户端的活动周期。 例如设定的统计时间段为16:00至17:00,阈值设置为时间比80%,即该时间段内DFS客 户端上线时间需超过该时间段总长的80%为,若DFS客户端在16:00至17:00之间95%的 统计时间在线时,认为该DFS客户端在设定的统计时间内在线,则将16:00至17:00这一时 间段作为DFS客户端的活动周期。每个DFS客户端可以上报一个或者多个活动周期。步骤202、名字空间服务器根据DFS客户端的活动周期对具有相同活动周期的DFS 客户端进行聚类处理,生成虚拟资源池,该虚拟资源池包括具有相同活动周期的DFS客户 端。本实施例中,由于生成的每个虚拟资源池包括具有相同活动周期的DFS客户端, 因此不同的虚拟资源池对应于不同的活动周期,这样可根据需要合理划分设定的统计时 间,以使具有相同活动周期的客户端位于同一虚拟资源池中,其生成的不同的虚拟资源池 包括具有不同活动周期的DFS客户端,从而保证一天中不同的时间段均能对应于虚拟资源 池,且不同的虚拟资源池对应的特定的存储单元,使得可以在虚拟资源池的活动期内休眠 其对应的存储单元。本发明实施例在每个虚拟资源池中,可以在各个DFS客户端内设置虚拟资源池单 元(P2P pool unit,以下简称PPU),并可进一步根据一定规则在每个虚拟资源池中的多个 PPU中选择其中一个为主PPU,上述虚拟资源池内的多个PPU可以起到一定的管理和控制作用。本实施例中,当DFS客户端上报多个活动周期时,名字空间服务器可以从该DFS客 户端上报的多个活动周期中选取最大的活动周期作为该DFS客户端的活动周期,以提供更 可靠的文件存储服务。步骤203、名字空间服务器建立虚拟资源池标识和内容存储服务器中的存储单元 标识的映射关系,该虚拟资源池标识用于标识虚拟资源池,该存储单元标识用于标识存储 单元,并在对应的虚拟资源池与存储单元中存储有相同的数据。本实施例中,名字空间服务器在建立了虚拟资源池标识和存储单元标识的映射关 系表,另外在映射后的虚拟资源池和其对应的存储单元中存储相同的数据,并建立存储的 数据的文件名和块标识与上述的虚拟资源池标识和存储单元标识的对应关系,上述的文件
9名和数据块标识是作为存储数据的标识信息使用。步骤204、名字空间服务器检测虚拟资源池是否上线,如果是则执行步骤205,如 果否则执行步骤207。本实施例中,当虚拟资源池中的DFS客户端上线时会向名字空间服务器发送登录 请求,名字空间服务器对DFS客户端进行鉴权处理后向DFS客户端返回鉴权响应,从而使 DFS客户端完成上线过程。在具体实施例中,可以设置名字空间服务器确定虚拟资源池中 的DFS客户端全部上线时,虚拟资源池上线;当虚拟资源池中存在未上线的DFS客户端时, 名字空间服务器确定虚拟资源池未上线。步骤205、名字空间服务器向内容存储服务器发送下电通知,该下电通知包括存储 单元标识,该存储单元标识为与已上线的虚拟资源池存储有相同数据的存储单元的存储单 元标识。步骤206、内容存储服务器根据下电通知中的存储单元标识,使该存储单元标识所 标识的存储单元处于休眠状态。步骤207、名字空间服务器向内容存储服务器发送上电通知,该上电通知包括存储 单元标识,该存储单元标识为与下线的虚拟资源池存储有相同数据的存储单元的存储单元 标识。步骤208、内容存储服务器根据上电通知中的存储单元标识,使该存储单元标识所 标识的存储单元处于上电状态。在上述的步骤201-208中,名字空间服务器将具有相同活动周期的DFS客户端聚 类,形成虚拟资源池,并建立虚拟资源池与内容服务器中的存储单元的映射关系,同时在相 对应的存储单元和虚拟资源池中存储相同的数据,使得在虚拟资源池上线时,可以将对应 的存储单元下电,以达到降低能耗的作用,并且不会影响到分布式文件系统的正常运行,若 要在内容服务器的存储单元中存储或者读取数据,都可以先到对应的虚拟资源池中进行处 理,具体可参见如下的步骤209-步骤215。步骤209、名字空间服务器接收DFS客户端发送的访问请求,具体的该访问请求可 以是读数据操作请求,或者是写数据操作请求,本实施例中是以读数据操作请求为例进行 说明,上述的读数据操作请求中应该携带预读取的数据的文件名和块标识,名字空间服务 器根据上述的文件名和块标识查询出DFS客户端所要访问的存储单元,以及存储上述预读 取的数据的DFS客户端的客户端标识,该存储上述预读取的数据的DFS客户端为与上述发 起访问请求的DFS客户端所要访问的存储单元对应的虚拟资源池中的多个DFS客户端中一 个。本实施例中,当存储单元和虚拟资源池中的数据是以数据块的形式存储时,DFS客 户端发送的访问请求可以同时包括文件名和块标识,其中,文件名用于标识DFS客户端所 要访问的文件的名称,块标识用于标识文件中DFS客户端所要访问的数据块的标识。名字空间服务器根据文件名查询出DFS客户端所要访问的文件,并根据块标识从 所要访问的文件中查询出DFS客户端所要访问的数据块,并确定出所访问的数据块所在的 存储单元,该数据块所在的存储单元即为DFS客户端所要访问的存储单元。步骤210、名字空间服务器查询上述存储单元以及与该存储单元对应的虚拟资源 池的状态,由于存储单元与其对应的虚拟资源池都存储相同的数据,因此存储单元以及与其对应的虚拟资源池不会同时处于上线状态,此时如果是虚拟资源池处于上线状态,则执 行步骤211,否则执行步骤214。步骤211、名字空间服务器将存储上述预读取的数据的DFS客户端的客户端标识 发送给发起读数据操作请求的DFS客户端。步骤212、发起读数据操作请求的DFS客户端接收上述存储预读取的数据的DFS客 户端的客户端标识。步骤213、发起读数据操作请求的DFS客户端根据存储预读取的数据的DFS客户端 的客户端标识访问访问对应的DFS客户端,并读取数据。步骤214、名字空间服务器将存储上述预读取的数据的存储单元的存储单元标识 发送给发起读数据操作请求的DFS客户端。步骤215、发起读数据操作请求的DFS客户端从存储有预读取数据的存储单元中 读取数据。本发明上述实施例中,需要保证虚拟资源池和与该虚拟资源池映射的存储单元中 数据的同步,因此在确定根据写数据操作请求分配的存储单元上线时,发起写数据操作请 求的分布式文件系统客户端将预写入的数据发送给根据写数据操作请求分配的存储单元 的同时,将预写入的数据发送给日志磁盘,并在与上述分配的存储单元对应的虚拟资源池 上线时,将日志磁盘中存储的数据写入到根据写数据操作请求分配的分布式系统客户端 中。或者是在在确定根据写数据操作请求分配的分布式文件系统客户端所在的虚拟资源池 上线时,发起写数据操作请求的分布式文件系统客户端将预写入的数据发送给日志磁盘和 根据写数据操作请求分配的分布式文件系统客户端,并在上述分配的存储单元上线时,将 日志磁盘中存储的数据写入到根据写数据操作请求分配的存储单元中。通过上述的技术方 案能够保证在存储单元及其对应的虚拟资源池中存储数据的同步。本发明实施例还给出了一个删除数据的具体实施方式
,具体的当DFS客户端需要 删除数据时,需要向名字空间服务器发送删除数据请求,该删除数据请求包括预删除数据 的文件名和块标识。名字空间服务器根据上述文件名和块标识查询出存储上述删除数据请 求对应的预删除数据的存储单元以及存储删除数据请求对应的预删除数据的分布式文件 系统客户端,并从映射关系表中查询出与存储上述删除数据请求对应的预删除数据的存储 单元对应的虚拟资源池,存储上述删除数据请求对应的预删除数据的分布式文件系统客户 端为从映射关系表中查询出的虚拟资源池中的一个。并进一步的当存储所述删除数据请求 对应的预删除数据的存储单元处于上线状态时,向内容存储服务器发送删除数据通知,该 删除数据通知包括所述文件名和所述块标识,以使内容服务器起根据文件名和块标识查找 对应的存储单元,并删除存储单元中存储的数据;或者是当从映射关系表中查询出的虚拟 资源池处于上线状态时,向存储上述删除数据请求对应的预删除数据的分布式文件系统客 户端发送删除数据通知,该删除数据通知包括上述文件名和块标识,接收到上述通知的分 布式文件系统客户端删除相应的数据。本实施例还给出了一个如何查询虚拟资源池中是否有数据块丢失,以及在数据块 丢失时如何恢复的实施例。在本实施例中,名字空间服务器向虚拟资源池的主PPU发送块 查询消息,具体的可以是周期性的发送上述块查询消息,主PPU向虚拟资源池内其他分布 式文件系统客户端的PPU发送块查询消息,并接收丢失数据块的分布式文件系统客户端的PPU返回的丢失数据块的文件名和块标识,主PPU向名字空间服务器返回上述丢失数据块 的文件名和块标识;名字空间服务器在接收所述主PPU返回丢失数据块的文件名和块标识后,根据上 述丢失数据块的文件名和块标识查询存储所述丢失数据块的存储单元,并将存储上述丢失 数据块的存储单元的存储单元标识返回给上述主PPU,上述主PPU将存储上述丢失数据块 的存储单元的存储单元标识返回给丢失数据块的分布式文件系统客户端的PPU,上述丢失 数据块的分布式文件系统客户端根据存储单元标识从相应存储单元中获取丢失的数据块。在本发明的各个实施例中,主PPU可以根据选举规则从一个虚拟资源池中所有 PPU中选举产生,例如选举规则可以为选举IP地址大的PPU为主PPU,或者选举规则可以 为由名字空间服务器指定一个PPU作为主PPU。本实施例还给出了一个如何恢复存储单元中丢失的数据块的实施例。本实施例 中,当内容存储服务器中的某一存储单元有数据块丢失时,向名字空间服务器发送数据块 丢失通知,该数据块丢失通知消息包括丢失文件名和丢失块标识。名字空间服务器根据丢 失数据块的存储单元的存储单元标识查询出丢失的数据块所在的虚拟资源池,并发送携带 丢失数据块的文件名和块标识的数据块丢失通知给虚拟资源池的主PPU,主PPU向虚拟资 源池内的其他分布式文件系统客户端的PPU转发上述数据块丢失通知,存储上述丢失数据 块的分布式文件系统客户端将上述丢失的数据块写回丢失数据块的存储单元中。本发明的具体实施例中,当名字空间服务器根据虚拟资源池的登录信息,检测出 一虚拟资源池中有未正常登录的DFS客户端时,判定该DFS客户端缺席,则向该虚拟资源池 的主PPU发送分配信息,所述分配信息包括为未正常登录的DFS客户端存储的数据块的文 件名和块标识。所述主PPU将上述的文件名和块标识发送给正常登录的DFS客户端的PPU。 该正常登录的DFS客户端根据文件名和块标识从内容存储服务器的相应存储单元中获取 数据。上述步骤是针对虚拟资源池中若有DFS客户端缺席时,系统主动将其分配的数据存 储到其他的DFS客户端上,另外名字空间服务器也会重新选择与其活动周期相同,且未加 入到任何虚拟资源池的客户端加入到发送DFS客户端丢失的虚拟资源池中。另外在本发明的具体实施例中,名字空间服务器当检测出一虚拟资源池缺席时, 则根据缺席的虚拟资源池的活动周期对具有相同活动周期的DFS客户端进行聚类处理,生 成所述缺席的虚拟资源池的替代虚拟资源池,所述替代虚拟资源池与所述缺席的虚拟资源 池具有相同的活动周期,并存储有相同的数据。在建立上述的替代虚拟资源池后,将代替上 述缺席的虚拟资源池提供文件的存储服务,同时也将更新映射关系表中的存储单元标识与 虚拟资源池标识的映射关系。本实施例提供的数据处理方法,名字空间服务器根据接收到的DFS客户端发送的 访问请求,查询出DFS客户端所要访问的存储单元,当该存储单元处于下电状态时,根据建 立的存储单元标识和虚拟资源池标识的映射关系查询出该存储单元的存储单元标识对应 的虚拟资源池标识,并将虚拟资源池标识发送给DFS客户端,以供该DFS客户端根据该虚拟 资源池标识访问虚拟资源池,从而降低了存储单元的能耗和存储单元的使用率。本实施例 提供的数据处理方法中,名字空间服务器生成虚拟资源池,并建立虚拟资源池标识和存储 单元标识的映射关系,以实现虚拟资源池和存储单元的映射,当虚拟资源池处于上线状态 时,名字空间服务器可以使该虚拟资源池对应的存储单元处于下电状态,从而实现了基于
12虚拟资源池的活动状态对虚拟资源池对应的存储单元的状态进行调整。图4为本发明分布式文件系统的数据存储处理装置实施例的结构示意图,如图4 所示,该装置包括接收模块11、状态查询模块12和第一发送模块13。其中接收模块11 用于接收分布式文件系统客户端发送的访问请求;状态查询模块12用于根据所述访问请 求确定发起访问请求的分布式文件系统客户端所要访问的存储单元以及所述存储单元对 应的虚拟资源池状态;第一发送模块13用于在确定所述存储单元对应的虚拟资源池处于 上线状态时,向发起访问请求的分布式文件系统客户端返回包括客户端标识的访问响应消 息,所述存储单元与其对应的虚拟资源池存储有相同的数据,所述虚拟资源池为根据具有 相同活动周期的分布式文件系统客户端聚类生成,所述客户端标识所标识的分布式文件系 统客户端为所述虚拟资源池中的一个,且根据所述访问请求确定。本实施例提供的存储处理装置,根据接收到的DFS客户端发送的访问请求,并根 据上述访问请求确定发起访问请求的分布式文件系统客户端所要访问的存储单元以及所 述存储单元对应的虚拟资源池状态,并在确定所述存储单元对应的虚拟资源池处于上线状 态时,向发起访问请求的分布式文件系统客户端返回包括客户端标识的访问响应消息,,即 由虚拟资源池代替内容服务器中的存储单元提供数据存储服务,此时可以将存储单元设置 为休眠状态,从而能够降低存储设备的能耗和使用率。在上述实施例的基础上,分布式文件系统的数据存储处理装置还可以进一步的包 括第二发送模块14,该第二发送模块14用于在确定虚拟资源池处于上线状态后,通知内容 存储服务器将所述虚拟资源池对应的存储单元设置为休眠状态。另外,在分布式文件系统的数据存储处理装置进一步的设置有聚类模块15和映 射关系建立模块16,其中聚类模块15用于接收各个分布式文件系统客户端上报的活动周 期,根据所述各个分布式文件系统客户端的活动周期进行聚类处理,生成虚拟资源池,所述 虚拟资源池内的各个分布式文件系统客户端具有相同的活动周期;映射关系建立模块16 用于建立虚拟资源池标识和存储单元标识的映射关系,所述虚拟资源池标识对应的虚拟资 源池与所述存储单元标识对应的存储单元用于存储相同的数据。图5为本发明分布式文件系统实施例的结构示意图,如图5所示,该分布式文件系 统包括内容存储服务器1、名字空间服务器2和一个以上的虚拟资源池3,上述内容存储服 务器1包括一个以上的用于存储数据的存储单元,虚拟资源池3由一个以上具有相同活动 周期的分布式文件系统客户端组成,所内容存储服务器中的存储单元与其对应的虚拟资源 池中存储有相同的数据,名字空间服务器2包括上述实施例提供的数据存储处理装置。本发明上述实施例提供的分布式文件系统以及基于上述的分布式文件系统的数 据存储处理方法,其中将分布式文件系统客户端聚类成为虚拟资源池,且建立了存储单元 与虚拟资源池的映射关系,存储单元与其对应的虚拟资源池中存储相同的数据,使得在虚 拟资源池上线时,可以由虚拟资源池为分布式文件系统客户端提供服务,仅以可以使与其 对应的存储单元处于休眠状态,充分利用了各个客户端的存储能力,且能够达到降低存储 单元能耗的作用。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。 最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替 换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精 神和范围。
权利要求
1.一种分布式文件系统的数据存储处理方法,其特征在于,包括接收分布式文件系统客户端发送的访问请求;根据所述访问请求确定所述分布式文件系统客户端所要访问的存储单元以及所述存 储单元对应的虚拟资源池状态,所述存储单元单元与其对应的虚拟资源池存储有相同的数 据,所述虚拟资源池为根据具有相同活动周期的分布式文件系统客户端聚类生成;在确定所述存储单元对应的虚拟资源池处于上线状态时,向发起访问请求的分布式文 件系统客户端返回包括客户端标识的访问响应消息,所述客户端标识所标识的分布式文件 系统客户端为所述虚拟资源池中的一个,且根据所述访问请求确定。
2.根据权利要求1所述的方法,其特征在于,根据具有相同活动周期的分布式文件系 统客户端聚类生成虚拟资源池的步骤包括接收各个分布式文件系统客户端上报的活动周期;根据所述各个分布式文件系统客户端的活动周期进行聚类处理,生成虚拟资源池,所 述虚拟资源池内的各个分布式文件系统客户端具有相同的活动周期;所述方法还包括建立虚拟资源池标识和存储单元标识的映射关系,所述虚拟资源池标识对应的虚拟资 源池与所述存储单元标识对应的存储单元用于存储相同的数据。
3.根据权利要求1所述的方法,其特征在于,确定存储单元对应的虚拟资源池处于上 线状态的步骤包括根据所述虚拟资源池的活动周期确定所述虚拟资源池的状态;或在检测到所述虚拟资源池内的所有分布式文件系统客户端都登陆完成后确定所述虚 拟资源池处于上线状态,否则处于下线状态;所述方法还包括在确定所述虚拟资源池处于上线状态后,通知内容存储服务器将所述虚拟资源池对应 的存储单元设置为休眠状态。
4.根据权利要求1-3任一所述的方法,其特征在于,在所述访问请求为读数据操作请 求时,所述读数据操作请求携带有预读取数据的文件名和块标识,所述根据访问请求确定 所述分布式文件系统客户端所要访问的存储单元以及所述存储单元对应的虚拟资源池状 态包括根据所述预读取数据的文件名和块标识获取存储所述预读取数据的存储单元和分布 式文件系统客户端,并确认存储所述预读取数据的分布式文件系统客户端所在的虚拟资源 池的状态,所述存储预读取数据的分布式文件系统客户端为与存储所述预读取数据的存储 单元对应的虚拟资源池中的一个。
5.根据权利要求1-3任一所述的方法,其特征在于,在所述访问请求为写数据操作请 求时,所述根据访问请求确定所述分布式文件系统客户端所要访问的存储单元以及所述存 储单元对应的虚拟资源池状态包括根据所述写数据操作请求分配存储单元以及分布式文件系统客户端,并确认所述分布 式文件系统客户端所在的虚拟资源池状态,所述分布式文件系统客户端为与所述分配的存 储单元对应的虚拟资源池中的一个。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括在确定所述根据写数据操作请求分配的存储单元上线时,发起写数据操作请求的分布 式文件系统客户端将预写入的数据发送给日志磁盘和根据所述写数据操作请求分配的存 储单元,并在与所述分配的存储单元对应的虚拟资源池上线时,将日志磁盘中存储的数据 写入到所述根据写数据操作请求分配的分布式系统客户端中;或在确定所述根据写数据操作请求分配的分布式文件系统客户端所在的虚拟资源池上 线时,发起写数据操作请求的分布式文件系统客户端将预写入的数据发送给日志磁盘和根 据所述写数据操作请求分配的分布式文件系统客户端,并在所述分配的存储单元上线时, 将日志磁盘中存储的数据写入到所述根据写数据操作请求分配的存储单元中。
7.根据权利要求1所述的方法,其特征在于,还包括接收分布式文件系统客户端发送的删除数据请求,所述删除数据请求包括预删除数据 的文件名和块标识;根据所述文件名和所述块标识查询出存储所述删除数据请求对应的预删除数据的存 储单元以及存储所述删除数据请求对应的预删除数据的分布式文件系统客户端,并从映射 关系表中查询出与存储所述删除数据请求对应的预删除数据的存储单元对应的虚拟资源 池,所述存储所述删除数据请求对应的预删除数据的分布式文件系统客户端为从映射关系 表中查询出的虚拟资源池中的一个;以及当存储所述删除数据请求对应的预删除数据的存储单元处于上线状态时,向内容 存储服务器发送删除数据通知,所述删除数据通知包括所述文件名和所述块标识;或当所述从映射关系表中查询出的虚拟资源池处于上线状态时,向存储所述删除数据请 求对应的预删除数据的分布式文件系统客户端发送所述删除数据通知,所述删除数据通知 包括所述文件名和所述块标识。
8.根据权利要求1所述的方法,其特征在于,所述分布式文件系统客户端内设置有虚 拟资源池单元,且属于同一虚拟资源池的所有分布式文件系统客户端中的一个的虚拟资源 池单元为主虚拟资源池单元,所述方法还包括名字空间服务器向虚拟资源池的主虚拟资源池单元发送块查询消息,所述主虚拟资源 池单元向虚拟资源池内其他分布式文件系统客户端的虚拟资源池单元发送块查询消息,并 接收丢失数据块的分布式文件系统客户端的虚拟资源池单元返回的丢失数据块的文件名 和块标识,主虚拟资源池单元向名字空间服务器返回所述丢失数据块的文件名和块标识;名字空间服务器在接收所述主虚拟资源池单元返回丢失数据块的文件名和块标识后, 根据所述丢失数据块的文件名和块标识查询存储所述丢失数据块的存储单元,并将存储所 述丢失数据块的存储单元的存储单元标识返回给所述主虚拟资源池单元,所述主虚拟资源 池单元将存储所述丢失数据块的存储单元的存储单元标识返回给所述丢失数据块的分布 式文件系统客户端的虚拟资源池单元,所述丢失数据块的分布式文件系统客户端根据所述 存储单元标识获取丢失的数据块。
9.根据权利要求1所述的方法,其特征在于,还包括名字空间服务器接收内容存储服务器发送的数据块丢失通知,所述数据块丢失通知携 带丢失数据块的文件名和块标识;名字空间服务器根据所述丢失数据块的存储单元的存储单元标识查询出丢失的数据 块所在的虚拟资源池,并发送携带所述丢失数据块的文件名和块标识的数据块丢失通知给所述虚拟资源池的主虚拟资源池单元,所述主虚拟资源池单元向虚拟资源池内的其他分布 式文件系统客户端的虚拟资源池单元转发所述数据块丢失通知,存储所述丢失数据块的分 布式文件系统客户端将所述丢失的数据块写回所述丢失数据块的存储单元中。
10.根据权利要求1所述的方法,其特征在于,所述分布式文件系统客户端内设置有虚 拟资源池单元,且属于同一虚拟资源池的所有分布式文件系统客户端中的一个的虚拟资源 池单元为主虚拟资源池单元,所述方法还包括名字空间服务器在检测出一虚拟资源池包括未正常登录的分布式文件系统客户端时, 向所述虚拟资源池的主虚拟资源池单元发送分配信息,所述分配信息包括未正常登录的分 布式文件系统客户端存储的数据块的文件名和块标识,所述主虚拟资源池单元将所述数据 块的文件名和块标识发送给所述正常登录的分布式文件系统客户端的虚拟资源池单元,所 述正常登录的分布式文件系统客户端根据所述文件名和所述块标识从内容存储服务器的 存储单元中获取数据并存储。
11.根据权利要求1所述的方法,其特征在于,还包括名字空间服务器当检测出一虚拟资源池缺席时,则根据缺席的虚拟资源池的活动周期 对具有相同活动周期的分布式文件系统客户端进行聚类处理,生成所述缺席的虚拟资源池 的替代虚拟资源池,所述替代虚拟资源池与所述缺席的虚拟资源池具有相同的活动周期, 并存储有相同的数据。
12.—种分布式文件系统的数据存储处理装置,其特征在于,包括接收模块,用于接收分布式文件系统客户端发送的访问请求;状态查询模块,用于根据所述访问请求确定发起访问请求的分布式文件系统客户端所 要访问的存储单元以及所述存储单元对应的虚拟资源池状态;第一发送模块,用于在确定所述存储单元对应的虚拟资源池处于上线状态时,向发起 访问请求的分布式文件系统客户端返回包括客户端标识的访问响应消息,所述存储单元与 其对应的虚拟资源池存储有相同的数据,所述虚拟资源池为根据具有相同活动周期的分布 式文件系统客户端聚类生成,所述客户端标识所标识的分布式文件系统客户端为所述虚拟 资源池中的一个,且根据所述访问请求确定。
13.根据权利要求12所述的装置,其特征在于,还包括第二发送模块,用于在确定所述虚拟资源池处于上线状态后,通知内容存储服务器将 所述虚拟资源池对应的存储单元设置为休眠状态。
14.根据权利要求12所述的装置,其特征在于,还包括聚类模块,接收各个分布式文件系统客户端上报的活动周期,根据所述各个分布式文 件系统客户端的活动周期进行聚类处理,生成虚拟资源池,所述虚拟资源池内的各个分布 式文件系统客户端具有相同的活动周期;映射关系建立模块,用于建立虚拟资源池标识和存储单元标识的映射关系,所述虚拟 资源池标识对应的虚拟资源池与所述存储单元标识对应的存储单元用于存储相同的数据。
15.一种分布式文件系统,其特征在于,包括内容存储服务器、名字空间服务器和一个 以上的虚拟资源池,所述内容存储服务器包括一个以上的用于存储数据的存储单元,所述 虚拟资源池由一个以上具有相同活动周期的分布式文件系统客户端组成,所述内容存储服 务器中的存储单元与其对应的虚拟资源池中存储有相同的数据,所述名字空间服务器包括权利要求12-14任一所述的分布式文件系统的数据存储处理装置。
全文摘要
本发明实施例提供一种分布式文件系统及其数据存储处理方法和装置,其中方法包括接收分布式文件系统客户端发送的访问请求;根据访问请求确定分布式文件系统客户端所要访问的存储单元以及存储单元对应的虚拟资源池状态,存储单元与其对应的虚拟资源池存储有相同的数据,虚拟资源池为根据具有相同活动周期的分布式文件系统客户端聚类生成;在确定所述存储单元对应的虚拟资源池处于上线状态时,向发起访问请求的分布式文件系统客户端返回包括客户端标识的访问响应消息,客户端标识所标识的分布式文件系统客户端为虚拟资源池中的一个。本发明还提供了相应的装置和分布式文件系统。上述技术方案能够提高分布式文件系统的系统稳定性。
文档编号H04L29/06GK102123167SQ20101062468
公开日2011年7月13日 申请日期2010年12月31日 优先权日2010年12月31日
发明者陈志新 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1