管理文件系统复制的系统、设备和方法技术方案

技术编号:21178679 阅读:42 留言:0更新日期:2019-05-22 12:42
一种管理文件系统复制的方法可以包括:收集关联于文件系统事件的事件数据,每个所述文件系统事件表示修改第一文件系统位置处的至少一个文件;对于每个所述文件系统事件,生成至少一个文件系统动作,以将所述第一文件系统位置处的所述至少一个文件的所述修改应用到第二文件系统位置处的至少一个对应文件;将所述至少一个生成的文件系统动作存储在动作缓冲器中;识别所述动作缓冲器中的文件系统动作之间的依赖关系;以及调度所述动作缓冲器中的所述文件系统动作以基于所述依赖关系执行。

Systems, devices and methods for managing file system replication

A method for managing file system replication may include collecting event data associated with file system events, each of which represents at least one file at the location of the first file system to be modified, and generating at least one file system action for each of the file system events to place at least one file at the location of the first file system. The modification applies to at least one corresponding file at the location of the second file system; stores the at least one generated file system action in the action buffer; identifies the dependencies between the file system actions in the action buffer; and schedules the file system action in the action buffer to execute based on the dependencies.

【技术实现步骤摘要】
【国外来华专利技术】管理文件系统复制的系统、设备和方法相关申请案交叉申请本申请要求于2016年11月22日递交的专利技术名称为“管理文件系统复制的系统、设备和方法(SYSTEMS,DEVICESANDMETHODSFORMANAGINGFILESYSTEMREPLICATION)”的第15/358,936号美国专利申请案的在先申请优先权,该在先申请的全部内容以引用的方式并入本文本中。
本专利技术涉及文件系统,更具体地,涉及用于分布式文件系统的设备、方法和计算机可读介质。
技术介绍
大数据或地理分布式应用可以利用跨多个数据中心或位置的分布式文件系统。这可能需要跨越不同机器来复制文件。随着规模扩展,地理分布式数据中心的网络延迟和文件大小可能很大,管理复制滞后时间和资源会成为一个难题。
技术实现思路
根据本专利技术一方面,提供了一种管理文件系统复制的方法。所述方法包括:收集关联于文件系统事件的事件数据,每个所述文件系统事件表示修改第一文件系统位置处的至少一个文件;对于每个所述文件系统事件,生成至少一个文件系统动作,以将所述第一文件系统位置处的所述至少一个文件的所述修改应用到第二文件系统位置处的至少一个对应文件;将所述至少一个生成的文件系统动作存储在动作缓冲器中;识别所述动作缓冲器中的文件系统动作之间的依赖关系;以及调度所述动作缓冲器中的所述文件系统动作以基于所述依赖关系执行。根据本专利技术另一方面,提供了一种管理文件系统复制的系统。所述系统包括:至少一种处理器。所述至少一个处理器用于:接收关联于文件系统事件的事件数据,每个所述文件系统事件表示修改第一文件系统位置处的至少一个文件;对于每个所述文件系统事件,生成至少一个文件系统动作,以将所述第一文件系统位置处的所述至少一个文件的所述修改应用到第二文件系统位置处的至少一个对应文件;将所述至少一个生成的文件系统动作存储在动作缓冲器中;识别所述动作缓冲器中的文件系统动作之间的依赖关系;以及调度所述动作缓冲器中的所述文件系统动作以基于所述依赖关系执行。根据本专利技术另一方面,提供了一种非瞬时性可读介质,其上存储有计算机可读指令。所述指令在由至少一个处理器执行时配置所述至少一个处理器用于:接收关联于文件系统事件的事件数据,每个所述文件系统事件表示修改第一文件系统位置处的至少一个文件;对于每个所述文件系统事件,生成至少一个文件系统动作,以将所述第一文件系统位置处的所述至少一个文件的所述修改应用到第二文件系统位置处的至少一个对应文件;将所述至少一个生成的文件系统动作存储在动作缓冲器中;识别所述动作缓冲器中的文件系统动作之间的依赖关系;以及调度所述动作缓冲器中的所述文件系统动作以基于所述依赖关系执行。在阅读本专利技术之后,本领域技术人员将会明白现有改进的许多其它特征及其组合。附图说明图1为一个示例复制过程的时间轴。图2为示出一种示例计算系统的各方面的图。图3为示出文件系统事件和示例对应动作的各示例的表格。图4A示出了基于源位置和目的位置的快照的示例差异列表。图4B为示出对应于图4A中所述差异列表的示例动作的表格。图5A为示出文件系统事件的示例流程的图,图5B为示出示例对应文件系统动作的流程的图。图6为示出一种管理文件系统复制的示例方法的各方面的流程图。图7为示出一种示例控制流的各方面的流程图。图8A和图8B示出了示例动作发生器进程的伪代码。图9A和图9B示出了示例准备滤波器进程的伪代码。图10A和图10B示出了示例重组和批量优化进程的伪代码。图11A和图11B示出了示例执行调度器报告反馈进程的伪代码。图12和图13为示例早期开始复制过程的时间轴。图14为示出一种示例系统或机器的各方面的图。出于说明目的,这些附图描绘了示例实施例的各方面。可以对这些示例实施例进行变形、选择配置、选择组件以及作出修改。具体实施方式随着越来越多的应用和数据存储迁移到网络系统和基于云的系统,分布式数据系统的管理会涉及许多不同的物理、逻辑和/或地理机器位置。在一些实例中,这涉及到跨不同机器、集群或数据中心复制文件。图1示出了一个示例复制过程的时间轴。在时间tcreate时,在源位置处创建110文件105。在创建好文件105之后,在时间tclose时关闭该文件。在一些系统中,根据需要或基于时间表调用分布式复制命令。例如,在创建和关闭文件105之后,可以手动指示文件系统将文件105分发到第二位置;或者基于固定的时间表,该系统可检查已经修改的任何关闭文件并触发分布式复制命令。在一些实例中,根据文件105的关闭时间和调度的已修改文件检查的时间,在时间trep_start时,文件关闭和复制过程120开始之间存在延迟140。在一些数据系统中,文件会很大,例如规模为数千兆字节或数百万兆字节。在一些实例中,创建这类大文件可导致从tcreate到tclose之间的大延迟130。即使可能基于网络和系统资源的复制滞后140(tclose至trep_start)相对较小,大的创建时间130也会导致开始创建文件和开始复制文件之间的大延迟150。在一些实例中,复制大文件会消耗大量系统和网络资源。例如,内存容量和网络容量可能被单个或少量大文件复制消耗。这会导致其它复制任务的排队和延迟。在周期性或按计划批量分发复制命令的系统中,提供有保证的或估计的复制滞后时间可能是一项挑战,因为系统不知道有多少文件操作将在任意给定时间段内执行。在一些实施例中,本文描述的系统和方法可以通过监测文件事件来管理文件复制。在一些实例中,这可以使得复制控制流与正在复制的数据分隔开。在一些实例中,一些实施例可实现文件中的部分在文件关闭之前进行复制。图2示出了本专利技术各方面可以应用于的示例计算系统200的各方面。该系统包括一个或多个源位置210以及可通信地连接到复制器220的一个或多个目的位置230。在一些实施例中,源位置210和目的位置230可以为涉及不同机器处的文件复制的一个或多个分布式、集群式或其它文件系统的一部分。在一些实施例中,源位置和目的位置可以是不同文件系统的一部分。如图2所示,源位置210处的机器生成关联于文件系统事件的事件数据,从而修改相应源位置210处的一个或多个文件。将这些文件系统事件传送给复制器220。对于传送给复制器的每个文件系统事件,复制器用于生成要在一个或多个目的位置230处执行的文件系统动作,以复制源位置处对一个或多个文件的修改。调度文件系统动作,然后传送给目的位置230处的合适机器以执行。源位置210和/或目的位置230可以位于包括任意设备和/或系统的任意机器处,这些设备和/或系统可生成文件系统事件数据和/或接收和处理文件系统动作。例如,源机器位置210和/或目的机器位置230可以包括任意设备或系统,这些设备或系统包括数据存储组件或与数据存储组件交互,该数据存储组件可以为一个或多个分布式文件系统的一部分。虽然图2中的位置210、230被标记为源和目的,但是在特定位置处的机器不一定限于源角色或目的角色。在一些实施例中,作为一个文件复制过程的目的机器或位置可以是另一个文件复制过程的源,以及作为一个文件复制过程的源的机器或位置可以是另一个文件复制过程的目的。在一些实施例中,源位置210和目的位置230可以包括具有硬件和软件组件的任意组合的机器。例如,源/目的机器可以包括计本文档来自技高网...

【技术保护点】
1.一种管理文件系统复制的方法,其特征在于,所述方法包括:收集关联于文件系统事件的事件数据,每个所述文件系统事件表示修改第一文件系统位置处的至少一个文件;对于每个所述文件系统事件,生成至少一个文件系统动作,以将所述第一文件系统位置处的所述至少一个文件的所述修改应用到第二文件系统位置处的至少一个对应文件;将所述至少一个生成的文件系统动作存储在动作缓冲器中;识别所述动作缓冲器中的文件系统动作之间的依赖关系;以及调度所述动作缓冲器中的所述文件系统动作以基于所述依赖关系执行。

【技术特征摘要】
【国外来华专利技术】2016.11.22 US 15/358,9361.一种管理文件系统复制的方法,其特征在于,所述方法包括:收集关联于文件系统事件的事件数据,每个所述文件系统事件表示修改第一文件系统位置处的至少一个文件;对于每个所述文件系统事件,生成至少一个文件系统动作,以将所述第一文件系统位置处的所述至少一个文件的所述修改应用到第二文件系统位置处的至少一个对应文件;将所述至少一个生成的文件系统动作存储在动作缓冲器中;识别所述动作缓冲器中的文件系统动作之间的依赖关系;以及调度所述动作缓冲器中的所述文件系统动作以基于所述依赖关系执行。2.根据权利要求1所述的方法,其特征在于,调度所述动作缓冲器中的所述文件系统动作以进行执行操作包括:在确定已经解决所述动作缓冲器中的特定动作的所有依赖关系时,识别所述特定动作以准备执行;以及调度所述动作缓冲器中标识为准备执行的文件系统动作以执行。3.根据权利要求1或2所述的方法,其特征在于,包括:接收执行响应消息,所述执行响应消息关于执行或尝试执行调度的文件系统动作;以及基于所述接收到的执行响应消息来更新所述动作缓冲器。4.根据权利要求3所述的方法,其特征在于,基于所述接收到的执行响应消息来更新所述动作缓冲器包括:当所述接收到的执行响应消息指示所述调度的文件系统动作的所述执行成功时,解决所述动作缓冲器中基于所述调度的文件系统动作的至少一个动作的依赖关系。5.根据权利要求1至4中任一项所述的方法,其特征在于,包括:在确定关联于所述接收到的事件数据的其中一个所述文件系统事件指示所述第一文件系统位置处的至少一个文件的内容数据正被修改时:监测所述正被修改的内容数据的长度;以及当所述正被修改的内容数据的所述长度指示已修改内容数据中的块大小已定义的新块可用于复制时,生成复制块动作,所述复制块动作用于在所述第二文件系统位置处复制所述已修改内容数据的新块。6.根据权利要求1至5中任一项所述的方法,其特征在于,包括:在确定关联于所述接收到的事件数据的其中一个所述文件系统事件指示所述第一位置处的至少一个文件的内容数据正被修改时:生成初始复制块动作以复制所述第一文件系统位置处的所述已修改内容数据的初始可用部分;以及当接收到执行响应消息时,生成后续复制块动作以复制所述已修改内容数据的下一可用部分,所述执行响应消息指示复制所述内容数据的前一复制块动作成功。7.根据权利要求1至6中任一项所述的方法,其特征在于,已生成的动作包括所述第一位置处的所述至少一个文件的文件位置信息。8.根据权利要求1至7中任一项所述的方法,其特征在于,包括:对所述动作缓冲器中的一个或多个动作重排序。9.根据权利要求1至8中任一项所述的方法,其特征在于,包括:组合或排除所述动作缓冲器中的一个或多个相关动作,其中,当至少一个文件涉及两个或更多动作中的每个动作时,所述两个或更多动作相关。10.根据权利要求9所述的方法,其特征在于,包括:延迟所述组合或排除所述一个或多个相关动作,直到检测到批量优化触发。11.一种管理文件系统复制的系统,其特征在于,所述系统包括:至少一种处理器,用于:收集关联于文件系统事件的事件数据,每个所述文件系统事件表示修改第一文件系统位置处的至少一个文件;对于每个所述文件系统事件,生成至少一个文件系统动作,以将所述第一文件系统位置处的所述至少一...

【专利技术属性】
技术研发人员:陈晨陈瑾柯晓棣郭雷陈冲
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1