首页> 中国专利> 对等网络的文件访问方法、管理方法及分布式文件系统

对等网络的文件访问方法、管理方法及分布式文件系统

摘要

本发明公开了一种文件访问方法、管理方法及分布式文件系统,应用于基于分布式哈希表(DHT)的分布式文件系统,目录节点存储用于定位文件管理节点的信息;文件访问节点根据待访问节点的上级目录节点存储的用于定位文件管理节点的信息,定位文件管理节点,并从文件管理节点获取文件管理信息,文件管理信息至少包括文件数据块的存储位置信息;文件访问节点根据文件数据块的存储位置信息,从存储文件数据块的文件数据节点请求读取文件数据。采用本发明,能够快速定位到存储有所需数据的文件数据节点,此外,还能够根据访问频率控制文件系统中数据的存储份数,避免访问热点带来的问题。

著录项

  • 公开/公告号CN102866995A

    专利类型发明专利

  • 公开/公告日2013-01-09

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN201110186071.1

  • 申请日2011-07-05

  • 分类号G06F17/30(20060101);H04L29/08(20060101);

  • 代理机构11262 北京安信方达知识产权代理有限公司;

  • 代理人吴艳;龙洪

  • 地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

  • 入库时间 2024-02-19 16:35:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-23

    未缴年费专利权终止 IPC(主分类):G06F17/30 授权公告日:20170524 终止日期:20190705 申请日:20110705

    专利权的终止

  • 2017-05-24

    授权

    授权

  • 2014-06-11

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20110705

    实质审查的生效

  • 2013-01-09

    公开

    公开

说明书

技术领域

本发明涉及P2P(Peer to Peer,对等网络)技术领域,尤其涉及一种对等网络的文件访问方法、管理方法及分布式文件系统。

背景技术

DHT(Distributed Hash Table,分布式哈希表)是一种能提供高效的分布式数据存储的P2P技术,具有扩展性好、数据搜索速度快的特点。采用DHT技术构建的P2P网络被称为DHT网络,DHT网络主要提供数据存储的功能。DHT网络由多个节点组成,这些节点被称为DHT节点。每个DHT节点负责存储一部分数据。给定一个数据的标识,由DHT算法即可以确定负责存储该数据的DHT节点。而根据数据的标识,DHT网络可将对数据进行增删查改等操作请求路由到负责存储该数据的节点(简称数据负责节点),其中,数据操作的请求可以发向任一DHT节点,最终都会被DHT网络路由到相应的数据负责节点进行处理。

由于DHT的优良特性,DHT被提出用于实现分布式文件系统。基于DHT的分布式文件系统具有可靠性高扩展性强的特点。现有基于DHT的文件系统架构如图1所示,该系统由多个DHT节点组成,包括:根目录节点、目录节点、文件管理节点和文件数据节点。通过这些DHT节点存储文件系统的所有目录的数据、所有文件的管理数据、所有文件的数据块。其中,一个文件以零个、一个或多个数据块的方式存储。存储了目录数据、某文件的管理数据、某文件数据块的DHT节点分别被称为该目录的目录节点、该文件的文件管理节点、该文件的文件数据节点。目录节点是由目录数据标识根据DHT算法决定的。类似地,文件管理节点、文件数据节点分别是由文件标识、文件数据块标识决定的。一个DHT节点可同时存储多种数据,还可能同时存储多个目录、多个文件的数据。

现有基于DHT的分布式文件系统中访问文件的方法如图2所示。根据/dir1/file1这一包含文件路径的文件名,需读取文件的节点首先从根目录开始依次读取各级目录数据,直到该文件的上级目录,由文件上级目录数据获得该文件标识,根据文件标识可以从文件管理节点获得文件管理数据,由文件管理数据可得到文件数据块标识(ID),由文件数据块标识可从DHT网络中获得文件数据块。但这种根据文件数据块ID获得文件数据块的方式,具有以下缺点:通过文件数据块标识查找存储文件数据块的节点需一定时间,且文件数据块存储份数固定。

通常情况下,在文件系统中,不同文件甚至同一个文件的不同文件数据块被访问的热度(频率)是不同的。热门的文件/文件数据块会被非常频繁的访问,这种情况被称为热点。热点会使得系统中的文件访问集中于存储热门文件的节点,使其负载远大于存储其他文件的节点,造成性能下降,系统不稳定。针对热点问题的解决方案是通过将热门的文件存储多份,使得文件访问分散到多个节点。

但是,现有基于DHT的分布式文件系统无法根据热点控制文件的具体存储份数,因而难以从根本上避免热点带来的负载不均衡、性能下降等一系列问题。

发明内容

本发明解决的一个技术问题是提供一种对等网络的文件访问方法及分布式文件系统,能够快速定位到存储有所需数据的文件数据节点。

为解决上述技术问题,本发明提供了一种对等网络的文件访问方法,应用于基于分布式哈希表(DHT)的分布式文件系统,所述方法包括:

目录节点存储用于定位文件管理节点的信息;

文件访问节点根据待访问节点的上级目录节点存储的用于定位文件管理节点的信息,定位文件管理节点,并从所述文件管理节点获取文件管理信息,所述文件管理信息至少包括文件数据块的存储位置信息;

所述文件访问节点根据所述文件数据块的存储位置信息,从存储所述文件数据块的文件数据节点请求读取文件数据。

进一步地,所述用于定位文件管理节点的信息,包括:文件标识。

进一步地,所述文件数据块的存储位置信息,包括:所述文件数据块的位置列表;

其中,所述位置列表中包含存储所述文件数据块的各文件数据节点的IP地址。

进一步地,所述文件访问节点根据所述文件数据块的存储位置信息,从文件数据节点请求读取文件数据,具体包括:

所述文件访问节点选择所述位置列表中的其中一个IP地址,向所述IP地址对应的文件数据节点发送文件数据块请求,请求读取文件数据;

所述文件数据节点根据接收到的所述文件数据块请求,向所述文件访问节点返回相应的文件数据块。

本发明还提供了一种对等网络的分布式文件系统,包括根目录节点、目录节点、文件管理节点和文件数据节点,其中:

所述目录节点用于,存储用于定位文件管理节点的信息;以及,接收到的文件访问节点的访问请求时,返回用于定位文件管理节点的信息;

所述文件管理节点用于,存储文件管理信息,所述文件管理信息至少包括文件、和/或文件数据块的存储位置信息;以及,接收到文件访问节点的访问请求时,返回文件管理信息,以使得文件访问节点根据所述文件、和/或文件数据块的存储位置信息,从存储所述文件数据块的文件数据节点请求读取文件数据。

进一步地,所述文件管理节点存储的所述文件、和/或文件数据块的存储位置信息,包括:所述文件、和/或文件数据块的位置列表;

其中,所述位置列表中包含存储所述文件、和/或文件数据块的各文件数据节点的IP地址。

进一步地,所述文件管理节点存储的所述文件管理信息,还包括文件、和/或文件数据块的访问热度;

所述文件管理节点还用于,根据所述文件、和/或文件数据块的访问热度,控制所述文件、和/或文件数据块的存储份数。

进一步地,所述文件管理节点用于,根据文件管理信息被访问频率得到所述文件的访问热度;根据文件数据节点汇报的文件数据块被访问频率得到所述文件数据块的访问热度。

进一步地,所述文件管理节点用于,当所述文件、和/或文件数据块的访问热度高于预定的第一阈值时,根据所述位置列表,将所述文件、和/或文件数据块从存储了所述文件、和/或文件数据块的文件数据节点复制到其他未存储所述文件、和/或文件数据块的一个或多个文件数据节点;

当所述文件、和/或文件数据块的访问热度低于预定的第二阈值时,根据所述位置列表,将所述文件、和/或文件数据块从存储了所述文件、和/或文件数据块的一个或多个文件数据节点中删除。

进一步地,所述文件管理节点还用于,复制所述文件、和/或文件数据块完成后,将相应文件数据节点的IP地址添加到所述文件、和/或文件数据块的位置列表中;

删除所述文件、和/或文件数据块完成后,将所述文件、和/或文件数据块的位置列表中的相应文件数据节点的IP地址删除。

本发明解决的另一个技术问题是提供一种对等网络的文件管理方法,能够根据访问频率控制文件系统中数据的存储份数,避免访问热点带来的问题。

为解决上述技术问题,本发明提供了一种对等网络的文件管理方法,应用于基于DHT的分布式文件系统,所述方法包括:

文件管理节点存储文件管理信息,所述文件管理信息包括文件、和/或文件数据块的存储位置信息,还包括文件、和/或文件数据块的访问热度;

所述文件管理节点根据所述文件、和/或文件数据块的访问热度,控制所述文件、和/或文件数据块的存储份数。

进一步地,所述文件管理节点根据文件管理信息被访问频率得到所述文件的访问热度;

所述管理节点根据文件数据节点汇报的文件数据块被访问频率得到所述文件数据块的访问热度。

进一步地,所述文件、和/或文件数据块的存储位置信息,包括:所述文件、和/或文件数据块的位置列表;

其中,所述位置列表中包含存储文件、和/或文件数据块的各文件数据节点的IP地址。

进一步地,所述文件管理节点根据所述文件、和/或文件数据块的访问热度,控制所述文件、和/或文件数据块的存储份数,具体包括:

当所述文件、和/或文件数据块的访问热度高于预定的第一阈值时,所述文件管理节点根据所述位置列表,将所述文件、和/或文件数据块从存储了所述文件、和/或文件数据块的文件数据节点复制到其他未存储所述文件、和/或文件数据块的一个或多个文件数据节点;

当所述文件、和/或文件数据块的访问热度低于预定的第二阈值时,所述文件管理节点根据所述位置列表,将所述文件、和/或文件数据块从存储了所述文件、和/或文件数据块的一个或多个文件数据节点中删除。

进一步地,所述方法还包括:

所述文件管理节点复制所述文件、和/或文件数据块完成后,将相应文件数据节点的IP地址添加到所述文件、和/或文件数据块的位置列表中;

所述文件管理节点删除所述文件、和/或文件数据块完成后,将所述文件、和/或文件数据块的位置列表中的相应文件数据节点的IP地址删除。

由以上技术方案可以看出,本发明基于DHT的分布式文件系统,能够快速定位到存储有所需数据的文件数据节点,此外,还能够根据访问频率控制文件系统中数据的存储份数,避免访问热点带来的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为现有技术的P2P网络的分布式文件系统架构示意图;

图2为现有技术的P2P网络的文件访问方法示意图;

图3为本发明实施例的P2P网络的基于DHT的分布式文件系统架构示意图;

图4为本发明实施例的P2P网络的基于DHT的分布式文件系统中文件访问方法示意图;

图5为本发明实施例的P2P网络的增加文件数据块存储份数的流程示意图;

图6为本发明实施例的P2P网络的减少文件数据块存储份数的流程示意图。

具体实施方式

本实施方式的对等网络的分布式文件系统,包括如下节点:根目录节点、目录节点、文件管理节点,和文件数据节点。

本实施方式的分布式文件系统中,一个目录的目录节点是DHT网络中的节点,由DHT算法根据目录的标识决定。

一个文件的文件管理节点是DHT网络中的节点,由DHT算法根据目录的标识决定。

一个DHT节点可能同时是多个文件的管理节点,可能同时是多个目录的目录节点,可能同时是某个文件的管理节点及某个目录的目录节点。

文件数据节点可以是DHT节点,也可以不是。

其中,所述的文件可包含零个、一个或多个文件数据块。一个文件数据块可存储于任意文件数据节点。一个文件数据块可存储多份,每份存储于不同的文件数据节点。

其中,一个目录的目录数据包含该目录下的文件和子目录的列表、目录下各文件的信息(至少包括文件名、文件标识,还可包括文件大小等信息)、子目录的信息(至少包括目录名、目录标识)。文件标识可以就是文件名,也可以是文件的MD5消息摘要算法第五版值或其他值。目录标识可以就是目录名,也可以是其他值。

文件管理节点用于保存文件管理信息,所述的文件管理信息至少包括:文件、和/或文件数据块的存储位置;文件、和/或文件数据块的访问热度。

其中,所述的存储位置可以是存储了所述文件、和/或文件数据块的文件数据节点的IP地址。

所述的文件访问热度由文件管理节点根据文件管理信息被访问的频率得到;文件块的热度由文件数据节点汇报文件数据块被访问情况给文件管理节点得到。

本实施方式的文件访问方法,主要包括如下步骤:

步骤一、读取文件的节点从根目录节点开始,从DHT网络中逐级读取各级目录的目录数据,直至文件的上级目录。

其中,读取一个目录数据需提供该目录的目录标识来定位该目录的目录节点。

根目录标识文件可以由系统事先约定或约定好生成规则,其他目录标识可从其上级目录数据中获得。

文件的上级目录数据中包含文件标识。

步骤二、读取文件的节点从文件的上级目录数据中获得文件标识,读取文件的节点根据文件标识从DHT网络中读取该文件的文件管理信息。

步骤三、读取文件的节点从文件管理信息中获得各文件数据块的存储位置。

步骤四、读取文件的节点根据获得的各文件数据块的存储位置,从相应文件数据节点读取文件数据块。

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图3为本发明实施例基于DHT的分布式文件系统的架构示意图。如图3所示,该基于DHT的分布式文件系统由多个DHT节点和多个文件数据节点组成。多个DHT节点组成DHT网络,DHT网络负责存储目录数据和文件管理数据。文件数据节点负责存储文件数据块。文件数据节点可以同时是DHT节点。

一个目录的目录节点存储的目录数据包含其下的所有目录和文件的标识。目录节点存储有用于定位文件管理节点的信息,如文件标识;还存储有用于定位下级目录的信息,如目录标识。例如,图3中,/目录数据包含/dir1目录标识,/dir1目录数据包含/dir1/file1文件标识。根据目录标识和文件标识可以分别定位指定目录的目录节点和指定文件的文件管理节点。文件管理节点存储的文件管理数据包含文件/各文件数据块的位置列表。例如,图3中,/dir1/file1文件管理数据包括各文件数据块的位置列表。该文件数据块的位置列表中包含各文件数据块的存储位置,比如,该存储位置可以是存储该文件数据块的文件数据节点的IP地址。因此,根据该文件数据块的位置列表就可以定位存储了指定文件数据块的文件数据节点。

接收到文件访问节点的访问请求时,返回文件管理信息,以使得文件访问节点根据所述文件、和/或文件数据块的存储位置信息,从存储所述文件数据块的文件数据节点请求读取文件数据。

进一步地,文件管理节点还用于,根据文件、和/或文件数据块的访问热度,控制文件、和/或文件数据块的存储份数。

其中,文件管理节点可根据文件管理信息被访问频率得到所述文件的访问热度;根据文件数据节点汇报的文件数据块被访问频率得到所述文件数据块的访问热度。

进一步地,文件管理节点用于,当文件、和/或文件数据块的访问热度高于预定的第一阈值时,根据存储的位置列表,将所述文件、和/或文件数据块从存储了所述文件、和/或文件数据块的文件数据节点复制到其他未存储所述文件、和/或文件数据块的一个或多个文件数据节点;

当文件、和/或文件数据块的访问热度低于预定的第二阈值时,根据存储的位置列表,将所述文件、和/或文件数据块从存储了所述文件、和/或文件数据块的一个或多个文件数据节点中删除。

进一步地,文件管理节点还用于,复制所述文件、和/或文件数据块完成后,将相应文件数据节点的IP地址添加到所述文件、和/或文件数据块的位置列表中;

删除所述文件、和/或文件数据块完成后,将所述文件、和/或文件数据块的位置列表中的相应文件数据节点的IP地址删除。

图4示出了本发明一个实施例的要访问/dir1/file1文件的节点访问该文件的具体流程。如图4所示,该流程具体步骤描述如下:

步骤401,文件访问节点向DHT网络请求目录/数据,根据/目录的标识请求被路由到/的目录节点;

/目录标识可以是事先约定的固定值,或约定方法生成。比如,以访问文件系统的用户标识通过哈希运算生成。

步骤402,/目录节点返回目录数据,数据可以直接返回文件访问节点或沿数据请求的DHT路由路径返回。

步骤403,文件访问节点从步骤402获得的/目录数据中取出/dir1目录标识。

步骤404,向DHT网络请求目录/dir1数据,根据/dir1标识请求被路由到/dir1的目录节点。

步骤405,/dir1目录节点返回目录数据,数据可以直接返回文件访问节点或沿数据请求的DHT路由路径返回。

步骤406,文件访问节点从步骤405获得的/dir1目录数据中取出/dir1/file1文件标识。

步骤407,文件访问节点向DHT网络请求文件/dir1/file1的管理数据,根据文件标识请求被路由到/dir1/file1的管理节点。

步骤408,/dir1/file1管理节点返回文件管理数据,数据可以直接返回文件访问节点或沿数据请求的DHT路由路径返回。

步骤409,文件访问节点从步骤408获得的/dir1/file1管理数据中/dir1/file1各文件数据块存储位置列表;

具体地,存储位置采用IP地址形式表示。

步骤410,文件访问节点从文件数据块存储位置中选择一个文件数据节点发送文件数据块请求;

该步骤中,请求的发送不需DHT算法进行路由,而是直接根据文件数据节点的IP地址发送。

步骤411,/dir1/file1文件数据节点返回文件数据块给文件请求节点。

此外,本发明的分布式文件系统可随着文件/文件数据块访问热度的变化调整文件/文件数据块的存储份数,避免热点带来的问题。文件访问热度由文件管理节点根据文件管理信息被访问的频率得到;文件数据块的热度由文件数据节点汇报文件数据块被访问情况得到。根据文件热度,可以调整文件所有文件数据块的存储份数;分级文件数据块热度,可以针对文件数据块,对文件的不同文件数据块分别调整不同的存储份数。

图5示出了本发明实施例的增加某文件的文件数据块存储份数的流程,如图5所示,该流程具体包括以下步骤:

步骤501,该文件的管理节点监测该文件或该文件各文件数据块的访问频率;

步骤502,当访问频率增加到一定程度(如高于预先设定的阈值或门限值),该文件的管理节点决定增加该文件数据块的存储份数,文件管理节点命令存储了该文件数据块的第一文件数据节点复制文件数据块到第二文件数据节点;

第二文件数据节点之前未存储所该文件数据块。此外,也可以根据访问热度将文件数据块复制多份,复制到多个之前未存储所该文件数据块的文件数据节点。

步骤503,指定文件数据块从第一文件数据节点复制到第二文件数据节点。

步骤504,第一文件数据节点向文件管理节点报告数据复制成功。

步骤505,文件管理节点在该文件数据块存储位置列表中添加第二文件数据节点地址。

图6示出了本发明实施例的减少某文件的文件数据块存储份数的流程,如图6所示,该流程具体包括以下步骤:

步骤601,该文件的管理节点监测该文件或该文件各文件数据块的访问频率;

步骤602,当访问频率降低到一定程度,该文件的管理节点决定减少该文件数据块的存储份数,文件管理节点命令存储了该文件数据块的一个或多个文件数据节点删除该文件数据块;

步骤603,文件数据节点删除相应文件数据块。

步骤604,文件数据节点向文件管理节点报告数据删除成功。

步骤605,文件管理节点在该文件数据块存储位置列表中删除相应文件数据节点地址。

以上仅为本发明的优选实施案例而已,并不用于限制本发明,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号