一种分布式并行文件系统缓存数据同步的方法及系统的制作方法

文档序号:6378232阅读:405来源:国知局
专利名称:一种分布式并行文件系统缓存数据同步的方法及系统的制作方法
技术领域
本发明涉及分布式并行文件系统,尤其涉及一种实现分布式并行文件系统缓存数据同步的方法及系统。
背景技术
随着云计算技术、云存储技术应用的进一步发展,作为其应用核心的分布式并行文件系统也得到了快速的应用和发展。分布式并行文件系统具有动态高可扩展性、大容量、集群结构以及支持高并发的特征。为满足云计算、云存储实际业务请求的需要, 运行在其后端的分布式并行文件系统构建在分布式的集群节点上,主要包括元数据节点、数据存储节点以及客户端节点。元数据采用高性能、大容量服务器或者采用元数据集群的方式构建,数据存储采用数据存储集群的方式构建,客户端节点采用具备大容量高速缓存、运行快的高性能服务器以集群方式构建。在云计算、云存储应用中,大量的访问请求需要发送到分布式文件系统的客户端节点进行数据的读写操作。针对包含大量读操作、写操作混合的访问请求,客户端节点需要将相应的读请求数据缓存到内存,将写请求数据写入到缓存后尽快完成对上层访问请求的响应。大规模的分布式并行文件系统中的大量客户端节点均采取这种方式运行,所有这些客户端节点在某些时刻需要将缓存中已完成的请求数据提交到数据存储节点实现数据实际写操作,而在写入过程中又夹杂着读操作或者更新操作。目前分布式并行文件系统普遍采取的数据缓存操作,一般依赖于文件系统所在的操作系统的缓存处理机制。操作系统对于文件系统中的读操作,采取预读策略将目标数据及位置相邻数据读取并放入系统缓存中。对于写操作,采取“缓写”机制,即数据在缓存写完后为写完成,当缓存写请求累计到既定数据大小(如64MB)后,才执行一次实际的写操作。如果在实际写请求执行之前,分布式并行文件系统持续处于繁忙的状态,或者出现部分宕机事件,则将出现数据缓存的不一致问题。

发明内容
本发明所要解决的技术问题是克服目前分布式并行文件系统在实际写请求执行之前持续处于繁忙状态或者出现部分宕机事件将出现数据缓存不一致的缺陷。为了解决上述技术问题,本发明提供了一种分布式并行文件系统缓存数据同步系统,包括元数据监控模块(I)、数据存储监控模块(2)、客户端监控模块(3)、负载仲裁模块
(4)以及缓存同步模块(5),其中所述元数据监控模块(I)、数据存储监控模块(2)以及客户端监控模块(3)分别用于根据预设的时间维度,实时监控分布式并行文件系统中元数据访问、数据存储以及客户端的性能负载,并分别生成元数据负载评价、数据存储负载评价以及客户端负载评价;负载仲裁模块(4),用于根据所述元数据负载评价、数据存储负载评价和客户端负载评价,以及预设的负载评测时间窗和负载时长的波动阈值,生成多个不同时间维度的负载时长评测数据;缓存同步模块(5),用于根据所述负载时长评测数据执行元数据、数据存储以及客户端的缓存同步操作。优选地,所述元数据监控模块(I)用于通过基于时间长度的多维度负载时长比生成所述元数据负载评价。优选地,所述数据存储监控模块(2)用于监控数据存储上所承担的输入输出(IO)负载,通过基于时间长度的多维度负载时长比获得存储节点所存储数据的读取量和写入量,生成所述数据存储负载评价。优选地,所述客户端监控模块(3)用于监控客户端所承载的读请求和写入请求,根据所述读请求和写入请求生成所述客户端负载评价。 优选地,所述缓存同步模块(5)用于将所述元数据、数据存储以及客户端中缓存的脏数据写入到文件系统中。本发明还提供了一种分布式并行文件系统缓存数据同步方法,包括根据预设的时间维度实时监控分布式并行文件系统中元数据访问的性能负载,生成元数据负载评价;根据预设的时间维度实时监控分布式并行文件系统中数据存储的性能负载,生成数据存储负载评价;根据预设的时间维度实时监控分布式并行文件系统中客户端的性能负载,生成客户端负载评价;根据所述元数据负载评价、数据存储负载评价和客户端负载评价,以及预设的负载评测时间窗和负载时长的波动阈值,生成多个不同时间维度的负载时长评测数据;根据所述负载时长评测数据执行元数据、数据存储以及客户端的缓存同步操作。优选地,根据预设的时间维度实时监控分布式并行文件系统中元数据访问的性能负载,生成元数据负载评价,包括根据预设的时间维度实时监控分布式并行文件系统中元数据访问的性能负载,通过基于时间长度的多维度负载时长比生成所述元数据负载评价。优选地,根据预设的时间维度实时监控分布式并行文件系统中数据存储的性能负载,生成数据存储负载评价,包括根据预设的时间维度实时监控数据存储上所承担的输入输出(IO)负载,通过基于时间长度的多维度负载时长比获得存储节点所存储数据的读取量和写入量,生成所述数据存储负载评价。优选地,根据预设的时间维度实时监控分布式并行文件系统中客户端的性能负载,生成客户端负载评价,包括根据预设的时间维度实时监控客户端所承载的读请求和写入请求,根据所述读请求和写入请求生成所述客户端负载评价。优选地,根据所述负载时长评测数据执行元数据、数据存储以及客户端的缓存同步操作,包括根据所述负载时长评测数据将所述元数据、数据存储以及客户端中缓存的脏数据写入到文件系统中。与现有技术相比,本申请的实施例实时监控分布式并行文件系统中元数据、数据存储以及客户端实时访问的负载压力,并选择相对空闲的时间窗口内执行缓存同步逻辑,以缩小分布式并行文件系统的数据缓存不一致的时间窗口,从而实现分布式并行文件系统的数据缓存尽早同步,增强了文件系统的数据一致性。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。


附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。图I为本申请实施例的分布式并行文件系统缓存数据同步系统的组成示意图。·图2为本申请实施例的分布式并行文件系统缓存数据同步方法的流程示意图。
具体实施例方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征在不相冲突前提下的相互结合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。如图I所示,本申请实施例的分布式并行文件系统缓存数据同步系统主要包括元数据监控模块I、数据存储监控模块2、客户端监控模块3、负载仲裁模块4以及缓存同步模块5。元数据监控模块I用于根据预设的时间维度,实时监控分布式并行文件系统中元数据访问的性能负载并生成元数据负载评价。数据存储监控模块2用于根据预设的时间维度,实时监控分布式并行文件系统中数据存储的性能负载并生成数据存储负载评价。客户端监控模块3用于根据预设的时间维度,实时监控分布式并行文件系统中客户端的性能负载并生成客户端负载评价。负载仲裁模块4与元数据监控模块I、数据存储监控模块2及客户端监控模块3相连,根据这三个监控模块所获取的元数据负载评价、数据存储负载评价和客户端负载评价,以及预设的负载评测时间窗和负载时长的波动阈值,生成多个不同时间维度的负载时长评测数据作为判定缓存同步模块5启动的根据,并在性能负载空闲的时间窗到达时启动缓存同步模块5进行缓存同步操作。缓存同步模块5与负载仲裁模块4相连,执行元数据、数据存储以及客户端的缓存同步操作,将元数据、数据存储以及客户端中缓存的脏数据写入到文件系统中,实现分布式并行文件系统整体缓存的及时同步。
其中,各个监控模块监控信息的时间维度可以预先设定。负载仲裁模块中用作启动缓存同步模块条件之一的分布式并行文件系统中占用的容量与新增数据容量的比值,以及启动同步缓存操作所需的负载时长的波动阈值等信息也可以预先设定。在分布式并行文件系统中,缓存中的新增数据同步到文件系统的存储设备之前,存在着容量不一致的现象。前述分布式并行文件系统占用的容量与新增数据容量的比值等于文件系统中占用的容量/新增数据容量。上述各监控模块的时间维度,比如为10秒(也可以是20秒或者40秒等等),作为各监控模块监控并生成负载评价的时间单位。启动同步缓存操作所需的负载时长的波动阈值,比如可以是负载连续高于70%的时间超过了 60个10秒,此时可以启动同步缓存操作。元数据监控模块I用于监控分布式并行文件系统元数据的访问负载,通过基于时间长度的多维度负载时长比来获得元数据负载评价,比如获得某个时段(比如10秒、I分钟 或者5分钟等)内文件系统的总体访问量(元数据的IO数目)。其中的负载时长比等于过去某个时间段内的负载与时长的比值(过去某个时间段内的负载/时长)。数据存储监控模块2用于监控每个参与数据实际存储的数据存储上所承担的输入输出(IO)负载,通过基于时间长度的多维度负载时长比获得存储节点所存储数据的读取量和写入量,根据存储节点所存储数据的读取量和写入量,从而确定数据存储负载评价,包括存储节点的IO负载请求数以及IO负载总吞吐量等等。客户端监控模块3用于监控每个参与分布式并行文件系统的客户端所承载的读请求和写入请求,根据客户端所承载的读请求和写入请求,获得客户端负载评价。由于其需要将所有的读写请求发送到数据存储执行实际的读写操作,因此其监控到的基于时间长度的多维度负载时长数据反映了分布式并行文件系统的总体性能负载。负载仲裁模块4收集三个监控模块的性能负载数据,根据预先设定的仲裁规则判断元数据、数据存储以及客户端中的节点或节点集群的时间空闲窗口,在时间空闲窗口来临时,调用相应的缓存同步模块执行缓存数据的同步写入功能。其中的仲裁规则比如监控所有节点的负载或者监控某类节点的负载等等。缓存同步模块5存在于分布式并行文件系统中的各组成模块中,用于实现操作系统以及分布式并行文件系统的同步操作,实现实际执行过程中位于缓存中未实际提交的IO请求。如图2所示,本申请实施例的分布式并行文件系统缓存数据同步方法,主要包括如下内容。S210,根据预设的时间维度实时监控分布式并行文件系统中元数据访问的性能负载,生成元数据负载评价。S220,根据预设的时间维度实时监控分布式并行文件系统中数据存储的性能负载,生成数据存储负载评价。S230,根据预设的时间维度实时监控分布式并行文件系统中客户端的性能负载,生成客户端负载评价。S240,根据所述元数据负载评价、数据存储负载评价和客户端负载评价,以及预设的负载评测时间窗和负载时长的波动阈值,生成多个不同时间维度的负载时长评测数据。
S250,根据所述负载时长评测数据执行元数据、数据存储以及客户端的缓存同步操作。上述根据预设的时间维度实时监控分布式并行文件系统中元数据访问的性能负载,生成元数据负载评价,包括根据预设的时间维度实时监控分布式并行文件系统中元数据访问的性能负载,通过基于时间长度的多维度负载时长比生成所述元数据负载评价。上述根据预设的时间维度实时监控分布式并行文件系统中数据存储的性能负载,生成数据存储负载评价,包括 根据预设的时间维度实时监控数据存储上所承担的输入输出(IO)负载,通过基于时间长度的多维度负载时长比获得存储节点所存储数据的读取量和写入量,生成所述数据存储负载评价。上述根据预设的时间维度实时监控分布式并行文件系统中客户端的性能负载,生成客户端负载评价,包括根据预设的时间维度实时监控客户端所承载的读请求和写入请求,根据所述读请求和写入请求生成所述客户端负载评价。上述根据所述负载时长评测数据执行元数据、数据存储以及客户端的缓存同步操作,包括根据所述负载时长评测数据将所述元数据、数据存储以及客户端中缓存的脏数据写入到文件系统中。需要说明的是,上述步骤S210、S220以及S230在执行上并无严格的先后顺序。本申请的实施例中,元数据、数据存储以及客户端分布在三个集群,通过负载仲裁模块进行负载判断,在空闲窗口来临时执行同步操作(客户端同步、数据存储端同步、元数据端同步),实现将文件系统客户端、数据存储端、元数据端的缓存数据写入到磁盘中。本申请实施例中的三个监控模块运行在操作系统上,操作系统固有的内存处理机制也执行写提交。分布式文件系统的同步部分依赖操作系统的写提交(同步)。本申请的实施例中,数据存储以及客户端均采用集群方式部署。在大规模部署的分布式并行文件系统中,由于访问负载存在时间不均衡特征以及数据分布局部性特征,文件系统的元数据节点、数据存储的部分节点、客户端的部分节点在特定的时间窗内会出现性能负载压力较大的现象,特别是云计算业务系统中,部分节点繁忙的现象普遍存在且频率较高。本申请的实施例选择在系统空闲时间窗内实施文件系统的缓存同步,有效保证了上层业务系统的性能。本领域的技术人员应该明白,上述的本申请实施例所提供的系统的各组成部分,以及方法中的各步骤,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上。可选地,它们可以用计算装置可执行的程序代码来实现。从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前 提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
权利要求
1.一种分布式并行文件系统缓存数据同步系统,包括元数据监控模块(I)、数据存储监控模块(2)、客户端监控模块(3)、负载仲裁模块(4)以及缓存同步模块(5),其中 所述元数据监控模块(I)、数据存储监控模块(2)以及客户端监控模块(3)分别用于根据预设的时间维度,实时监控分布式并行文件系统中元数据访问、数据存储以及客户端的性能负载,生成元数据负载评价、数据存储负载评价以及客户端负载评价; 负载仲裁模块(4),用于根据所述元数据负载评价、数据存储负载评价和客户端负载评价,以及预设的负载评测时间窗和负载时长的波动阈值,生成多个不同时间维度的负载时长评测数据; 缓存同步模块(5),用于根据所述负载时长评测数据执行元数据、数据存储以及客户端的缓存同步操作。
2.根据权利要求I所述的分布式并行文件系统缓存数据同步系统,其中 所述元数据监控模块(I)用于通过基于时间长度的多维度负载时长比生成所述元数据负载评价。
3.根据权利要求I所述的分布式并行文件系统缓存数据同步系统,其中 所述数据存储监控模块(2)用于监控数据存储上所承担的输入输出(IO)负载,通过基于时间长度的多维度负载时长比获得存储节点所存储数据的读取量和写入量,生成所述数据存储负载评价。
4.根据权利要求I所述的分布式并行文件系统缓存数据同步系统,其中 所述客户端监控模块(3)用于监控客户端所承载的读请求和写入请求,根据所述读请求和写入请求生成所述客户端负载评价。
5.根据权利要求I所述的分布式并行文件系统缓存数据同步系统,其中 所述缓存同步模块(5)用于将所述元数据、数据存储以及客户端中缓存的脏数据写入到文件系统中。
6.一种分布式并行文件系统缓存数据同步方法,包括 根据预设的时间维度实时监控分布式并行文件系统中元数据访问的性能负载,生成元数据负载评价; 根据预设的时间维度实时监控分布式并行文件系统中数据存储的性能负载,生成数据存储负载评价; 根据预设的时间维度实时监控分布式并行文件系统中客户端的性能负载,生成客户端负载评价; 根据所述元数据负载评价、数据存储负载评价和客户端负载评价,以及预设的负载评测时间窗和负载时长的波动阈值,生成多个不同时间维度的负载时长评测数据; 根据所述负载时长评测数据执行元数据、数据存储以及客户端的缓存同步操作。
7.根据权利要求6所述的分布式并行文件系统缓存数据同步方法,其中,根据预设的时间维度实时监控分布式并行文件系统中元数据访问的性能负载,生成元数据负载评价,包括 根据预设的时间维度实时监控分布式并行文件系统中元数据访问的性能负载,通过基于时间长度的多维度负载时长比生成所述元数据负载评价。
8.根据权利要求6所述的分布式并行文件系统缓存数据同步方法,其中,根据预设的时间维度实时监控分布式并行文件系统中数据存储的性能负载,生成数据存储负载评价,包括 根据预设的时间维度实时监控数据存储上所承担的输入输出(IO)负载,通过基于时间长度的多维度负载时长比获得存储节点所存储数据的读取量和写入量,生成所述数据存储负载评价。
9.根据权利要求6所述的分布式并行文件系统缓存数据同步方法,其中,根据预设的时间维度实时监控分布式并行文件系统中客户端的性能负载,生成客户端负载评价,包括 根据预设的时间维度实时监控客户端所承载的读请求和写入请求,根据所述读请求和写入请求生成所述客户端负载评价。
10.根据权利要求6所述的分布式并行文件系统缓存数据同步方法,其中,根据所述负载时长评测数据执行元数据、数据存储以及客户端的缓存同步操作,包括 根据所述负载时长评测数据将所述元数据、数据存储以及客户端中缓存的脏数据写入到文件系统中。
全文摘要
本发明公开了一种分布式并行文件系统缓存数据同步的方法及系统,克服实际写请求执行之前持续处于繁忙状态将出现数据缓存不一致的缺陷,该系统中元数据监控模块、数据存储监控模块以及客户端监控模块分别实时监控分布式并行文件系统中元数据访问、数据存储以及客户端的性能负载,生成元数据负载评价、数据存储负载评价以及客户端负载评价;负载仲裁模块根据元数据负载评价、数据存储负载评价和客户端负载评价,以及预设的负载评测时间窗和负载时长的波动阈值,生成多个不同时间维度的负载时长评测数据;缓存同步模块根据负载时长评测数据执行元数据、数据存储以及客户端的缓存同步操作。本申请的实施例增强了文件系统的数据一致性。
文档编号G06F17/30GK102932424SQ201210376048
公开日2013年2月13日 申请日期2012年9月29日 优先权日2012年9月29日
发明者郭鹏 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1