CN106095957B - 分布式文件系统的跨域多副本文件同步方法及装置 - Google Patents
分布式文件系统的跨域多副本文件同步方法及装置 Download PDFInfo
- Publication number
- CN106095957B CN106095957B CN201610425836.5A CN201610425836A CN106095957B CN 106095957 B CN106095957 B CN 106095957B CN 201610425836 A CN201610425836 A CN 201610425836A CN 106095957 B CN106095957 B CN 106095957B
- Authority
- CN
- China
- Prior art keywords
- file operation
- operation request
- file
- module
- management module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000001360 synchronised effect Effects 0.000 title abstract description 10
- 238000012544 monitoring process Methods 0.000 claims abstract description 62
- 238000012545 processing Methods 0.000 claims abstract description 53
- 238000007726 management method Methods 0.000 description 54
- 238000012986 modification Methods 0.000 description 18
- 230000004048 modification Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种分布式文件系统的跨域多副本文件同步方法及装置。该装置包括:监控模块、队列管理模块和位于每一数据中心的调度模块。监控模块用于监控并获取客户端向元数据管理器发送的文件操作请求,并将文件操作请求发送到队列管理模块。队列管理模块用于:接收文件操作请求,为文件操作请求分配一标识并将文件操作请求加入处理队列中,将文件操作请求发送到各个数据中心。调度模块用于在确定所有数据中心都收到文件操作请求后,查询处理队列,若查询到文件操作请求则调度文件操作请求。从而实现了跨域多副本文件的同步,解决了混合云环境下跨域文件访问的时延与流量消耗问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种分布式文件系统的跨域多副本文件同步方法及装置。
背景技术
云计算可以划分为公有云、私有云和混合云,其中公有云由企业或组织运营,通过互联网向用户提供计算或存储资源,使用其服务的用户按需付费,无需购买和维护软硬件等基础设施。私有云则将云计算服务架设在企业或组织内部,不再受到公用网络上安全威胁和网络带宽的影响,其基础架构可以进行调整和优化以符合企业或组织的需求,缺点是需要付出额外的成本进行维护和管理。混合云把公有云与私有云结合在一起,同时解决了二者的不足,是近年来云计算的主要发展方向与发展模式。随着云计算的飞速发展,信息化水平的不断提高,应用程序需要存储与计算万亿字节(PB)甚至千万亿字节(TB)级别的数据,即使增加更多的节点,更多的存储设备以及处理器,应用程序也不能提供足够快的计算能力。
因此,为解决存储容量的问题,云计算采用分布式存储的方式来存储数据,因而出现了多种分布式文件系统,分布式存储的目标是利用云环境中多台数据块存储服务器的存储资源来满足单台服务器所不能满足的存储需求,存储资源能够被抽象表示和统一管理,并且能够保证数据读写操作的安全性、可靠性等多方面要求。混合云环境下随着应用程序规模的不断扩张,对于存储的高可用性要求更为严格。目前普遍采用的方法是同步备份多份同样的数据,这些数据称为多副本文件,将多副本文件分布到多个地域的多个数据中心,并存放在不同的服务器上,客户端在访问文件时,系统选取距离客户比较近的一份发送给客户,从而达到高可用性。
但是,在混合云环境下,私有云中的应用程序在面临着计算资源短缺的情况时,会动态扩展到公有云,扩展到公有云的应用程序还要继续访问私有云数据中心的文件数据,这样会存在2个问题:1)互联网中的流量资源稀缺,公有云中的应用程序频繁访问私有云数据中心的文件,会消耗大量的流量资源,可能占据大部分的带宽资源。2)互联网中的时延很大,尤其是跨域访问,公有云中的应用程序每访问一次私有云就会产生很大的时延,在频繁的访问私有云的文件时必然会产生较大的时延,严重影响应用程序的处理速度。
发明内容
本发明提供一种分布式文件系统的跨域多副本文件同步方法及装置,以解决混合云环境下跨域文件访问的时延与流量消耗问题。
第一方面,本发明提供一种分布式文件系统的跨域多副本文件同步装置,包括:
监控模块、队列管理模块和位于每一数据中心的调度模块;
所述监控模块用于监控并获取客户端向元数据管理器发送的文件操作请求,并将所述文件操作请求发送到所述队列管理模块;
所述队列管理模块用于:接收所述文件操作请求,为所述文件操作请求分配一标识并将所述文件操作请求加入处理队列中,将所述文件操作请求发送到各个数据中心;
所述调度模块用于在确定所有数据中心都收到所述文件操作请求后,查询所述处理队列,若查询到所述文件操作请求则调度所述文件操作请求。
进一步地,所述调度模块还用于:
在调度所述文件操作请求执行完成后在所述处理队列中所述文件操作请求之后写入一标志位;
所述队列管理模块还用于:根据所述文件操作请求之后的标志位的个数确定所述文件操作请求在数据中心之间是否执行完成,若完成,则从所述处理队列中删除所述文件操作请求。
进一步地,所述监控模块还用于:
获取到所述文件操作请求之后,根据所述文件操作请求对应的文件的路径确定所述文件的类型;
若确定所述文件是第一类型文件夹中的子文件时,截获所述文件操作请求;
所述队列管理模块还用于:
确定所述文件操作请求在数据中心之间执行完成之后,向所述监控模块发送通知消息;
所述监控模块还用于:接收到所述通知消息后,将截获的所述文件操作请求发送至所述元数据管理器,以使所述元数据管理器执行所述文件操作请求;
若确定所述文件是第二类型文件夹中的子文件时,不截获所述文件操作请求。
进一步地,所述调度模块具体用于:
从所述队列管理模块获取所述文件操作请求,通知所述调度模块对应的数据中心的元数据管理器执行所述文件操作请求;或者,
通知所述调度模块对应的数据中心的数据块存储服务器执行所述文件操作请求。
进一步地,还包括:
日志模块,所述日志模块用于记录文件的被操作轨迹。
第二方面,本发明提供一种分布式文件系统的跨域多副本文件同步方法,包括:
监控模块监控并获取客户端向元数据管理器发送的文件操作请求,并将所述文件操作请求发送到队列管理模块;
所述队列管理模块接收所述文件操作请求,为所述文件操作请求分配一标识并将所述文件操作请求加入处理队列中,将所述文件操作请求发送到各个数据中心;
调度模块在确定所有数据中心都收到所述文件操作请求后,查询所述处理队列,若查询到所述文件操作请求则调度所述文件操作请求。
进一步地,所述调度模块调度所述文件操作请求之后,还包括:
在调度所述文件操作请求执行完成后在所述处理队列中所述文件操作请求之后写入一标志位;
所述队列管理模块根据所述文件操作请求之后的标志位的个数确定所述文件操作请求在数据中心之间是否执行完成,若完成,则从所述处理队列中删除所述文件操作请求。
进一步地,所述监控模块获取到所述文件操作请求之后,还包括:
根据所述文件操作请求对应的文件的路径确定所述文件的类型;
若确定所述文件是第一类型文件夹中的子文件时,截获所述文件操作请求;
所述队列管理模块确定所述文件操作请求在数据中心之间执行完成之后,还包括:向所述监控模块发送通知消息;
所述监控模块接收到所述通知消息后,将截获的所述文件操作请求发送至所述元数据管理器,以使所述元数据管理器执行所述文件操作请求;
若确定所述文件是第二类型文件夹中的子文件时,不截获所述文件操作请求。
进一步地,所述调度模块调度所述文件操作请求,包括:
从所述队列管理模块获取所述文件操作请求,通知所述调度模块对应的数据中心的元数据管理器执行所述文件操作请求;或者,
通知所述调度模块对应的数据中心的数据块存储服务器执行所述文件操作请求。
进一步地,还包括:
日志模块记录文件的被操作轨迹。
本发明提供的分布式文件系统的跨域多副本文件同步方法及装置,通过监控模块监控并获取客户端向元数据管理器发送的文件操作请求,并将文件操作请求发送到队列管理模块,元数据管理器接收到文件操作请求后直接执行,不用等待其他数据中心同步该文件操作请求,由队列管理模块在接收到文件操作请求后,将文件操作请求加入处理队列中,将文件操作请求发送到各个数据中心进行同步,调度模块确定同步成功后,查询处理队列,若查询到文件操作请求则调度文件操作请求。分布在各个数据中心的文件副本最终会保持一致,从而实现了跨域多副本文件的同步,充分考虑了混合云的动态性、跨域性等固有特征,避免采用现有的方法导致数据访问的时延增加,网络流量增加等问题,同时加快应用程序的处理速度,使用户有更好的体验。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一种分布式文件系统示意图;
图2为本发明分布式文件系统的跨域多副本文件同步装置实施例一的结构示意图;
图3为本发明分布式文件系统的跨域多副本文件同步装置实施例二的结构示意图;
图4为本发明布式文件系统的多副本文件同步方法实施例一的流程图;
图5为本发明布式文件系统的多副本文件同步方法实施例二的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种分布式文件系统的跨域多副本文件同步方法及装置,可实现存储在多个地域的多个数据中心的数据(也即多副本文件)同步,由于多副本文件实现了同步,因此可以解决跨域文件访问的时延与流量消耗问题,下面结合附图详细说明本发明提供的分布式文件系统的跨域多副本文件同步方法及装置。
首先,以图1所示的一种分布式文件系统为例,图1为一种分布式文件系统示意图,如图1所示,该系统下有三个不同域的数据中心,每一数据中心有多个客户端、一个元数据管理器和多个数据存储服务器,该分布式文件系统中,每一数据中心都存储相同的文件,其中一个数据中心的客户端接收文件操作请求,如对文件修改请求或写请求,在该数据中心对文件进行了修改或写操作后,其他的两个数据中心的文件也要进行同步修改或写操作,下面结合附图详细说明本发明的多副本文件同步方法及装置。图1所示的分布式文件系统只是示例,本发明的多副本文件同步方法及装置也可以用于其它的分布式文件系统的多副本文件的同步。
图2为本发明分布式文件系统的跨域多副本文件同步装置实施例一的结构示意图,如图2所示,本实施例的装置可以包括:监控模块11、队列管理模块12和位于每一数据中心的调度模块13,其中,每一数据中心都有一监控模块11,监控模块11用于监控并获取客户端向元数据管理器发送的文件操作请求,并将文件操作请求发送到队列管理模块12。具体地说,图2所示的数据存储层包括元数据和数据的存储,监控模块11用于监控客户端对文件元数据信息的修改,如文件所有者,文件大小等。还用于监控客户端的写操作,客户端与分布式文件系统(MooseFS,简称:MFS)的元数据管理器通信来获取文件的信息,客户端需要修改文件的属性,或者写文件的时候会向元数据管理器发出文件操作请求,监控模块11会监控并获取该文件操作请求。
队列管理模块12用于:接收文件操作请求,为文件操作请求分配一标识并将文件操作请求加入处理队列中,将文件操作请求发送到各个数据中心,具体可以是通过Paxos协议将文件操作请求发送到各个数据中心,其中的Paxos协议用于解决多个节点之间的一致性问题,多个节点之间通过操作日志同步数据,如果只有一个节点为主节点,那么,很容易确保多个节点之间操作日志的一致性。具体地,是队列管理模块12中的同步单元使用Paxos协议把文件操作请求同步到各个数据中心。Paxos协议保证了各个数据中心的处理队列中的请求保持一致。具体来说,队列管理模块12位于同步服务层,队列管理模块12是一个全局有序的序列,用于保证文件修改的一致性。客户端将文件操作请求发送给元数据管理器之后等待返回结果,并呈现给用户。
当某一数据中心发生对文件的操作如修改或写操作,即就是本数据中心的客户端向元数据管理器发送了文件操作请求,元数据管理器直接执行该文件操作请求,不用等待其他数据中心同步该文件请求,同时监控模块11将该文件请求发送到队列管理模块12,由队列管理模块12进行同步。
其中,文件操作请求可以为读请求、修改请求或写请求,读请求不需要同步,因此,监控模块11还用于:获取到文件操作请求之后,确定文件操作请求为修改请求或写请求。监控模块11确定文件操作请求为修改请求或写请求才发送到队列管理模块。
调度模块13用于在确定所有数据中心都收到文件操作请求后,查询处理队列,若查询到文件操作请求则调度文件操作请求。
进一步地,调度模块13还用于在调度文件操作请求执行完成后在处理队列中文件操作请求之后写入一标志位。队列管理模块12还用于:根据文件操作请求之后的标志位的个数确定文件操作请求在数据中心之间是否执行完成,若完成,则从处理队列中删除文件操作请求。
进一步地,调度模块13具体用于:从队列管理模块12获取文件操作请求,通知调度模块13对应的数据中心的元数据管理器执行文件操作请求;或者,通知调度模块13对应的数据中心的数据块存储服务器执行文件操作请求。具体地,调度模块13确定所有数据中心都收到文件操作请求后,调度模块13从处理队列获取新加入队列的文件操作请求,并与元数据管理器通信修改元数据信息,或者根据元数据管理器返回的结果获取数据所在的数据块存储服务器,与数据块存储服务器通信并修改文件数据。因为处理队列是全局有序的,每个调度器根据处理队列中的文件操作请求的先后顺序直接执行请求,不需要担心发生死锁的情况。
本实施例提供的分布式文件系统的跨域多副本文件同步装置,通过监控模块监控并获取客户端向元数据管理器发送的文件操作请求,并将文件操作请求发送到队列管理模块,元数据管理器接收到文件操作请求后直接执行,不用等待其他数据中心同步该文件操作请求,由队列管理模块在接收到文件操作请求后,将文件操作请求加入处理队列中,将文件操作请求发送到各个数据中心进行同步,调度模块确定同步成功后,查询处理队列,若查询到文件操作请求则调度文件操作请求。分布在各个数据中心的文件副本最终会保持一致,从而实现了跨域多副本文件的同步,充分考虑了混合云的动态性、跨域性等固有特征,避免采用现有的方法导致数据访问的时延增加,网络流量增加等问题,同时加快应用程序的处理速度,使用户有更好的体验。
可选的,在上述实施例中,监控模块11还用于:获取到文件操作请求后,根据文件操作请求对应的文件的路径确定文件的类型。若确定文件是第一类型文件夹中的子文件时,截获文件操作请求。队列管理模块12还用于:确定文件操作请求在数据中心之间执行完成之后,向监控模块发送通知消息。监控模块11还用于:接收到通知消息后,将截获的文件操作请求发送至元数据管理器,以使元数据管理器执行文件操作请求。具体来说,该处理过程实现了强一致性,监控模块确定文件支持强一致性时,先截获客户端向元数据管理器发送的文件操作请求,确认该文件操作请求在各个数据中心同步完成后才将截获的文件操作请求发送给元数据管理器执行,即就是,文件操作请求只有在各个数据中心同步完成后本数据中心的元数据管理器才能执行。
若确定文件是第二类型文件夹中的子文件时,不截获文件操作请求。执行图2所示的处理过程,该过程实现的是弱一致性,客户端只需要把文件操作请求通过监控模块11提交到队列管理模块12,由队列管理模块12完成各个数据中心的同步,客户端所在的数据中心的元数据管理器不需要确认所有数据中心同步完成,直接执行文件操作请求,相对于强一致性,响应时间会更短,且对于数据一致性要求不高的应用有很好的适应性,可避免专用网络带宽带来的经济压力和强一致性带来的时延。
其中,第一类型文件夹中的子文件支持强一致性,第二类型文件夹中的子文件支持弱一致性,监控模块11获取到文件操作请求后,确定文件是第一类型文件夹中的子文件,则按照强一致性的处理流程执行,确定文件是第二类型文件夹中的子文件时,按照弱一致性的处理流程执行。因此可根据文件的类型实现强一致性或弱一致性的同步,实际使用时可根据不同应用的需求设置不同文件夹及其子文件的一致性模型。
图3为本发明分布式文件系统的跨域多副本文件同步装置实施例二的结构示意图,如图3所示,本实施例的装置在上述实施例的基础上,进一步地,还可以包括:日志模块14,日志模块14用于记录文件的被操作轨迹,有了日志模块14,在发生错误的时候根据日志模块的记录跟踪分析错误,审计系统的运行流程,根据被操作轨迹重新执行文件操作使系统恢复正常。
图4为本发明布式文件系统的多副本文件同步方法实施例一的流程图,如图4所示,本实施例的方法可以包括:
S101、监控模块监控并获取客户端向元数据管理器发送的文件操作请求,并将文件操作请求发送到队列管理模块。
具体来说,每一数据中心都有一监控模块和调度模块,数据的存储包括元数据和数据的存储,监控模块监控客户端对文件元数据信息的修改,如文件所有者,文件大小等。还监控客户端的写操作,客户端与分布式文件系统通信来获取文件的信息,客户端需要修改文件的属性,或者写文件的时候会向元数据管理器发出文件操作请求,监控模块会截获获取该文件操作请求。
具体地,监控模块的工作流程为:监控客户端发出的文件操作请求,若监控到文件操作请求,其中,文件操作请求可以为读请求、修改请求或写请求,读请求不需要同步,因此,监控模块确定文件操作请求是否为修改请求或写请求后,若是则将文件操作请求发送到队列管理模块,并等待下一个文件操作请求。若否则继续监控。
S102、队列管理模块接收文件操作请求,为文件操作请求分配一标识并将文件操作请求加入处理队列中,将文件操作请求发送到各个数据中心。
具体来说,队列管理模块位于同步服务层,队列管理模块是一个全局有序的序列,用于保证文件修改的一致性。客户端将文件操作请求发送给元数据管理器之后等待返回结果,并呈现给用户。队列管理模块在将文件操作请求加入处理队列之前分配一标识,标识该请求是哪个数据中心的,队列管理模块具体可以是通过Paxos协议将文件操作请求发送到各个数据中心,确认其他数据中心同步成功文件操作请求,并完成文件操作请求后删除该文件操作请求。其他的数据中心完成文件操作请求之后,调度模块会在处理队列中该文件操作请求后写入一标志位,标识文件操作请求在该数据中心完成,队列管理模块根据文件操作请求之后的标志位的个数确定文件操作请求在其他数据中心是否执行完成。
当某一数据中心发生对文件的操作如修改或写操作,即就是本数据中心的客户端向元数据管理器发送了文件操作请求,元数据管理器直接执行该文件操作请求,不用等待其他数据中心同步该文件请求,同时监控模块将该文件请求发送到队列管理模块,由队列管理模块进行同步。
其中,文件操作请求可以为读请求、修改请求或写请求,读请求不需要同步,因此,监控模块获取到文件操作请求之后,还要确定文件操作请求为修改请求或写请求。监控模块确定文件操作请求为修改请求或写请求才发送到队列管理模块。
S103、调度模块在确定所有数据中心都收到文件操作请求后,查询处理队列,若查询到文件操作请求则调度文件操作请求。
具体地,调度模块通过Paxos协议确定所有数据中心都收到文件操作请求,调度模块从队列管理模块获取文件操作请求,通知调度模块对应的数据中心的元数据管理器执行文件操作请求;或者,通知调度模块对应的数据中心的数据块存储服务器执行文件操作请求。举例来说,调度模块确定所有数据中心都收到文件操作请求后,也即确认同步成功后,调度模块从处理队列获取新加入队列的文件操作请求,若文件操作请求不是本数据中心发出的,调度器与元数据管理器通信修改元数据信息,或者根据元数据管理器返回的结果获取数据所在的数据块存储服务器,与数据块存储服务器通信并修改文件数据。因为处理队列是全局有序的,每个调度器根据处理队列中的文件操作请求的先后顺序直接执行请求,不需要担心发生死锁的情况。
本实施例提供的分布式文件系统的跨域多副本文件同步方法,通过监控模块监控并获取客户端向元数据管理器发送的文件操作请求,并将文件操作请求发送到队列管理模块,元数据管理器接收到文件操作请求后直接执行,不用等待其他数据中心同步该文件操作请求,由队列管理模块在接收到文件操作请求后,将文件操作请求加入处理队列中,将文件操作请求发送到各个数据中心进行同步,调度模块确定同步成功后,查询处理队列,若查询到文件操作请求则调度文件操作请求。分布在各个数据中心的文件副本最终会保持一致,从而实现了跨域多副本文件的同步,充分考虑了混合云的动态性、跨域性等固有特征,避免采用现有的方法导致数据访问的时延增加,网络流量增加等问题,同时加快应用程序的处理速度,使用户有更好的体验。
图5为本发明布式文件系统的多副本文件同步方法实施例二的流程图,如图5所示,本实施例的方法可以包括:
S201、客户端向元数据管理器发送文件操作请求时,与元数据管理器位于同一数据中心的监控模块监控并获取文件操作请求。
S202、监控模块根据文件的路径确定文件的类型,若确定文件是第一类型文件夹中的子文件时,执行S203。若确定文件是第二类型文件夹中的子文件时,执行S209。
S203、监控模块截获文件操作请求,将文件操作请求发送到队列管理模块。
S204、队列管理模块接收文件操作请求,为文件操作请求分配一标识并将文件操作请求加入处理队列中,通过Paxos协议将文件操作请求发送到各个数据中心。
S205、调度模块在确定所有数据中心都收到文件操作请求后,查询处理队列,若查询到文件操作请求则调度文件操作请求。
S206、调度模块在调度文件操作请求执行完成后在处理队列中文件操作请求之后写入一标志位。
S207、队列管理模块根据文件操作请求之后的标志位的个数确定文件操作请求在数据中心之间是否执行完成,若完成,则向监控模块发送通知消息,从处理队列中删除文件操作请求。
S208、监控模块接收到通知消息后,将截获的文件操作请求发送至元数据管理器,以使元数据管理器执行文件操作请求。
具体来说,S203~S208的处理过程实现了强一致性,监控模块确定文件支持强一致性时,先截获客户端向元数据管理器发送的文件操作请求,监控模块确认该文件操作请求在各个数据中心同步完成后才将截获的文件操作请求发送给元数据管理器执行,即就是,文件操作请求只有在各个数据中心同步完成后本数据中心的元数据管理器才能执行。
S209、不截获文件操作请求,将文件操作请求发送到队列管理模块。
接着执行与S204~S206相同的过程,S206之后,执行S210。
S210、队列管理模块根据文件操作请求之后的标志位的个数确定文件操作请求在数据中心之间是否执行完成,若完成,从处理队列中删除文件操作请求。
具体来说,S209~S204~S206~S210的处理过程实现的是弱一致性,客户端只需要把文件操作请求通过监控模块提交到队列管理模块,由队列管理模块完成各个数据中心的同步,客户端所在的数据中心的元数据管理器不需要确认所有数据中心同步完成,直接执行文件操作请求,相对于强一致性,响应时间会更短,且对于数据一致性要求不高的应用有很好的适应性,可避免专用网络带宽带来的经济压力和强一致性带来的时延。
其中,第一类型文件夹中的子文件支持强一致性,第二类型文件夹中的子文件支持弱一致性,队列管理模块接收文件操作请求后,确定文件是第一类型文件夹中的子文件,则执行S203,确定文件是第二类型文件夹中的子文件时,执行S209。因此可选择性地根据文件的类型实现强一致性或弱一致性的同步,实际使用时可根据不同应用的需求设置不同文件夹及其子文件的一致性模型。
在图4或图5所示实施例中,进一步地,还包括:
日志模块记录文件的被操作轨迹,有了日志模块,在发生错误的时候根据日志模块的记录跟踪分析错误,审计系统的运行流程,根据被操作轨迹重新执行文件操作使系统恢复正常。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (8)
1.一种分布式文件系统的跨域多副本文件同步装置,其特征在于,包括:
监控模块、队列管理模块和位于每一数据中心的调度模块;
所述监控模块用于监控并获取客户端向元数据管理器发送的文件操作请求,并将所述文件操作请求发送到所述队列管理模块;
所述队列管理模块用于:接收所述文件操作请求,为所述文件操作请求分配一标识并将所述文件操作请求加入处理队列中,将所述文件操作请求发送到各个数据中心;
所述调度模块用于在确定所有数据中心都收到所述文件操作请求后,查询所述处理队列,若查询到所述文件操作请求则调度所述文件操作请求;
所述监控模块还用于:
获取到所述文件操作请求之后,根据所述文件操作请求对应的文件的路径确定所述文件的类型;
若确定所述文件是第一类型文件夹中的子文件时,截获所述文件操作请求;
所述队列管理模块还用于:
确定所述文件操作请求在数据中心之间执行完成之后,向所述监控模块发送通知消息;
所述监控模块还用于:接收到所述通知消息后,将截获的所述文件操作请求发送至所述元数据管理器,以使所述元数据管理器执行所述文件操作请求;
若确定所述文件是第二类型文件夹中的子文件时,不截获所述文件操作请求。
2.根据权利要求1所述的装置,其特征在于,所述调度模块还用于:
在调度所述文件操作请求执行完成后在所述处理队列中所述文件操作请求之后写入一标志位;
所述队列管理模块还用于:根据所述文件操作请求之后的标志位的个数确定所述文件操作请求在数据中心之间是否执行完成,若完成,则从所述处理队列中删除所述文件操作请求。
3.根据权利要求1所述的装置,其特征在于,所述调度模块具体用于:
从所述队列管理模块获取所述文件操作请求,通知所述调度模块对应的数据中心的元数据管理器执行所述文件操作请求;或者,
通知所述调度模块对应的数据中心的数据块存储服务器执行所述文件操作请求。
4.根据权利要求1或2所述的装置,其特征在于,还包括:
日志模块,所述日志模块用于记录文件的被操作轨迹。
5.一种分布式文件系统的跨域多副本文件同步方法,其特征在于,包括:
监控模块监控并获取客户端向元数据管理器发送的文件操作请求,并将所述文件操作请求发送到队列管理模块;
所述队列管理模块接收所述文件操作请求,为所述文件操作请求分配一标识并将所述文件操作请求加入处理队列中,将所述文件操作请求发送到各个数据中心;
调度模块在确定所有数据中心都收到所述文件操作请求后,查询所述处理队列,若查询到所述文件操作请求则调度所述文件操作请求;
所述监控模块获取到所述文件操作请求之后,还包括:
根据所述文件操作请求对应的文件的路径确定所述文件的类型;
若确定所述文件是第一类型文件夹中的子文件时,截获所述文件操作请求;
所述队列管理模块确定所述文件操作请求在数据中心之间执行完成之后,还包括:向所述监控模块发送通知消息;
所述监控模块接收到所述通知消息后,将截获的所述文件操作请求发送至所述元数据管理器,以使所述元数据管理器执行所述文件操作请求;
若确定所述文件是第二类型文件夹中的子文件时,不截获所述文件操作请求。
6.根据权利要求5所述的方法,其特征在于,所述调度模块调度所述文件操作请求之后,还包括:
在调度所述文件操作请求执行完成后在所述处理队列中所述文件操作请求之后写入一标志位;
所述队列管理模块根据所述文件操作请求之后的标志位的个数确定所述文件操作请求在数据中心之间是否执行完成,若完成,则从所述处理队列中删除所述文件操作请求。
7.根据权利要求5所述的方法,其特征在于,所述调度模块调度所述文件操作请求,包括:
从所述队列管理模块获取所述文件操作请求,通知所述调度模块对应的数据中心的元数据管理器执行所述文件操作请求;或者,
通知所述调度模块对应的数据中心的数据块存储服务器执行所述文件操作请求。
8.根据权利要求5所述的方法,其特征在于,还包括:
日志模块记录文件的被操作轨迹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610425836.5A CN106095957B (zh) | 2016-06-16 | 2016-06-16 | 分布式文件系统的跨域多副本文件同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610425836.5A CN106095957B (zh) | 2016-06-16 | 2016-06-16 | 分布式文件系统的跨域多副本文件同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095957A CN106095957A (zh) | 2016-11-09 |
CN106095957B true CN106095957B (zh) | 2019-10-18 |
Family
ID=57236389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610425836.5A Active CN106095957B (zh) | 2016-06-16 | 2016-06-16 | 分布式文件系统的跨域多副本文件同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095957B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228733A (zh) * | 2017-12-12 | 2018-06-29 | 浪潮软件股份有限公司 | 一种文件同步系统及方法 |
CN109325008A (zh) * | 2018-09-07 | 2019-02-12 | 国电南瑞科技股份有限公司 | 面向消息中间件的跨域数据同步方法与系统 |
CN109889573B (zh) * | 2019-01-14 | 2020-08-07 | 武汉理工大学 | 混合云中基于ngsa多目标的副本放置方法 |
WO2021035517A1 (en) * | 2019-08-27 | 2021-03-04 | Microsoft Technology Licensing, Llc | Workflow-based scheduling and batching in multi-tenant distributed systems |
CN110602250A (zh) * | 2019-09-29 | 2019-12-20 | 网易(杭州)网络有限公司 | 数据同步方法、装置、服务器和终端设备 |
CN111131427B (zh) * | 2019-12-19 | 2022-09-23 | 北京神舟航天软件技术股份有限公司 | 一种基于中心域的跨域协同系统及实现方法 |
CN112422634B (zh) * | 2020-10-27 | 2023-06-06 | 崔惠萍 | 一种基于互联网的跨网段分布式调度方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088489A (zh) * | 2010-12-31 | 2011-06-08 | 北京理工大学 | 一种分布式数据同步系统及方法 |
CN102724314A (zh) * | 2012-06-20 | 2012-10-10 | 深圳市远行科技有限公司 | 一种基于元数据管理的分布式缓存客户端 |
CN105577763A (zh) * | 2015-12-16 | 2016-05-11 | 浪潮(北京)电子信息产业有限公司 | 一种动态副本一致性维护系统、方法及云存储平台 |
-
2016
- 2016-06-16 CN CN201610425836.5A patent/CN106095957B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088489A (zh) * | 2010-12-31 | 2011-06-08 | 北京理工大学 | 一种分布式数据同步系统及方法 |
CN102724314A (zh) * | 2012-06-20 | 2012-10-10 | 深圳市远行科技有限公司 | 一种基于元数据管理的分布式缓存客户端 |
CN105577763A (zh) * | 2015-12-16 | 2016-05-11 | 浪潮(北京)电子信息产业有限公司 | 一种动态副本一致性维护系统、方法及云存储平台 |
Non-Patent Citations (5)
Title |
---|
CalvinFS: Consistent WAN Replication and Scalable Metadata Management for Distributed File Systems;Alexander Thomson et al;《FAST"15 Proceedings of the 13th USENIX Conference on File and Storage Technologies》;20150219;第1-14页 * |
云存储中基于PAXOS算法的数据一致性研究;赵瑞芬;《科技视界》;20131231;第2013年卷(第34期);第64,121页 * |
云存储中的元数据管理方法研究与实现;何玉涛;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130315;第2013年卷(第03期);第I138-724页 * |
云存储环境中副本选择与一致性维护策略研究;娄超;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140815;第2014年卷(第08期);第I137-27页 * |
云平台跨域分布式共享文件系统的设计与实现;杨红星;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160215;第2016年卷(第02期);第I139-145页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106095957A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095957B (zh) | 分布式文件系统的跨域多副本文件同步方法及装置 | |
US10782880B2 (en) | Apparatus and method for providing storage for providing cloud services | |
US10324799B2 (en) | Enhanced application write performance | |
CN105338078B (zh) | 用于存储系统的数据存储方法和装置 | |
US20150201036A1 (en) | Gateway device, file server system, and file distribution method | |
US11662928B1 (en) | Snapshot management across cloud provider network extension security boundaries | |
CN108551399B (zh) | 一种云环境下服务的部署方法、系统及相关装置 | |
CN107888666B (zh) | 一种跨地域数据存储系统以及数据同步方法和装置 | |
CN106933868B (zh) | 一种调整数据分片分布的方法及数据服务器 | |
JP2016540298A (ja) | 大規模データストリームの取得、記憶、及び消費のための管理型サービス | |
WO2012127526A1 (en) | File server system and storage control method | |
EP2327024A2 (en) | Techniques for resource location and migration across data centers | |
JP5686034B2 (ja) | クラスタシステム、同期制御方法、サーバ装置および同期制御プログラム | |
CN101771723A (zh) | 数据同步方法 | |
CN109739435B (zh) | 文件存储和更新方法及装置 | |
CN110825704B (zh) | 一种读数据方法、写数据方法及服务器 | |
CN110022338B (zh) | 文件读取方法、系统、元数据服务器和用户设备 | |
CN111597033A (zh) | 一种任务调度方法和装置 | |
CN111225003B (zh) | 一种nfs节点配置方法和装置 | |
US20240348684A1 (en) | Cloud desktop data migration method, service node, management node, server, electronic device, and computer-readable storage medium | |
CN116954816A (zh) | 容器集群控制方法、装置、设备及计算机存储介质 | |
CN101778131A (zh) | 数据同步系统 | |
CN111459416A (zh) | 一种基于分布式存储的热迁移系统及其迁移方法 | |
WO2023109934A1 (zh) | 一种对象存储桶的数据访问方法以及云管理平台 | |
KR102202645B1 (ko) | 관계형 엣지 서버들 간 데이터 공조 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210204 Address after: 100085 Digital Technology Plaza, 9 shangdijiu street, Haidian District, Beijing Patentee after: DIGITAL CHINA HOLDINGS Ltd. Address before: 100191 D315, new main building of Beijing University of Aeronautics and Astronautics, Haidian District, Beijing Patentee before: BEIHANG University |
|
TR01 | Transfer of patent right |