一种分布式文件系统多客户端同步方法及系统技术方案

技术编号:15253941 阅读:156 留言:0更新日期:2017-05-02 19:43
本发明专利技术公开了一种分布式文件系统多客户端同步方法,包括:判断客户端的数量是否为1,若是,则给予上述客户端独占权限,若否,则按写权限的申请顺序,向相应的客户端分配上述写权限;具有上述写权限的客户端对文件完成写入,则更新相应的元数据;判断是否有其他具有读写权限的客户端操作上述文件,若否,则结束操作,若是,则将更新后的元数据发送至相应的客户端。可见,本发明专利技术对客户端的读写权限进行顺序管理;同时对小文件采取延迟同步,聚合后覆盖之前元数据,聚合文件落盘后采用普通的同步策略进行管理,提高了多客户端的管理效率。本发明专利技术还公开了一种分布式文件系统多客户端同步系统,具有与上述方法相同的技术效果。

Multi client synchronization method and system for distributed file system

The invention discloses a distributed file system with multi client synchronization methods, including: determine the number of client is 1, if the client is given exclusive rights, if not, according to the write access to the corresponding client application order, assigning the write permission; with the client to write permissions to the file written. Update the corresponding metadata; determine whether any client operation has read the file, write permissions if not, the operation is over, if so, will the updated metadata sent to the client. Obviously, the invention of the client read and write permissions for order management; at the same time, small files to delay synchronization, after polymerization coverage before polymerization by late fall file metadata synchronization strategy common management, improve the management efficiency of multi client. The invention also discloses a multi client synchronization system of a distributed file system, which has the same technical effect as the method mentioned above.

【技术实现步骤摘要】

本专利技术涉及,特别涉及一种分布式文件系统多客户端同步方法及系统。
技术介绍
对于分布式文件系统而言,由于其客户端分布在不同的物理机器上,因此不同的客户端对于文件系统元数据和数据的操作是相互不可见的。于是就存在一个客户端对于文件系统的修改对另一个客户端不可见的问题,也就是多客户端之间存在缓存一致性的问题。现有技术中,数据同步采取两种方法:一、各客户端均可在线操作文件,但由于存在不同客户端同时操作的情况,数据同步时会有多个数据同时覆盖,此时,同步的结果为只有最后覆盖的文件生效、或者系统报错错误;二、客户端离线操作文件后同步至服务器,此时,相同文件会同步多个结果,其他用户再访问时,无法确定哪个文件是最新文件。综上所述,如何提高多客户端同步的管理效率是本领域技术人员目前需要解决的技术问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种分布式文件系统多客户端同步方法及系统,可以显著提高多客户端同步的管理效率。其具体方案如下:一种分布式文件系统多客户端同步方法,包括:步骤S1:判断客户端的数量是否为1,若是,则给予所述客户端独占权限,若否,则进行步骤S2;步骤S2:按写权限的申请顺序,向相应的客户端分配所述写权限;步骤S3:具有所述写权限的客户端对文件完成写入,则更新相应的元数据;步骤S4:判断是否有其他具有读写权限的客户端操作所述文件,若否,则结束操作,若是,则将更新后的元数据发送至相应的客户端。优选的,给予所述客户端所述独占权限包括:获取所述客户端发送的操作权限请求;回复所述客户端的操作权限请求,以向所述客户端分配相应的操作权限;获取所述客户端发送的释放权限请求;向所述客户端的回复释放权限结果。优选的,所述操作权限包括读权限、写权限和客户端本地缓存权限。优选的,按所述写权限的申请顺序,向相应的客户端分配所述写权限还包括:按读权限的申请顺序,向相应的客户端分配所述读权限。优选的,按所述写权限的申请顺序,向相应的客户端分配所述写权限还包括:去除具有所述写权限的客户端的本地缓存权限。优选的,具有所述写权限的客户端对文件完成写入,则更新相应的元数据包括:判断客户端申请写入的文件的大小是否小于预设值,若是,则采用聚合模式写入,其中,所述聚合模式为将具有写权限的客户端编辑的数据写入到本地缓存,若判断所述本地缓存的大小大于或等于阈值,则更新相应的元数据。本专利技术还公开了一种分布式文件系统多客户端同步系统,包括:客户端数量判断模块,用于判断客户端的数量是否为1;单客户端权限分配模块,用当判定所述客户端数量为1,则给予所述客户端独占权限;多客户端权限分配模块,用当判定所述客户端数量不为1,则按写权限的申请顺序,向相应的客户端分配所述写权限;元数据更新模块,用于当具有所述写权限的客户端对文件完成写入,则更新相应的元数据;客户端数据更新模块,用于判断是否有其他具有读写权限的客户端操作所述文件,若否,则结束操作,若是,则将更新后的元数据发送至相应的客户端。本专利技术公开恶劣一种分布式文件系统多客户端同步方法,包括:步骤S1:判断客户端的数量是否为1,若是,则给予所述客户端独占权限,若否,则进行步骤S2;步骤S2:按写权限的申请顺序,向相应的客户端分配所述写权限;步骤S3:具有所述写权限的客户端对文件完成写入,则更新相应的元数据;步骤S4:判断是否有其他具有读写权限的客户端操作所述文件,若否,则结束操作,若是,则将更新后的元数据发送至相应的客户端。可见,本专利技术采对客户端缓存同一管理,按申请顺序依次分配读写权限,保证数据一致,实现多客户端并发读写;同时针对小文件聚合的场景,本方案采取延迟同步,聚合最后一次数据落盘后覆盖之前元数据,聚合文件落盘后采用普通的同步策略进行管理。本方法逻辑简单易于实现,同时实现分布式文件系统的并发操作,其次针对聚合文件,在保证聚合效率的基础上实现多客户端同步,从而提高了多客户端同步的管理效率。本专利技术还公开了一种分布式文件系统多客户端同步系统,具有与上述方法相同的技术效果,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术还公开的一种分布式文件系统多客户端同步方法的流程示意图;图2为本专利技术还公开的一种具体的分布式文件系统多客户端同步系统的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种分布式文件系统多客户端同步方法,参见图1所示,包括:步骤S1:判断客户端的数量是否为1,若是,则给予上述客户端独占权限,若否,则进行步骤S2。当客户端数量为1,即分布式系统只存在单客户端,因此不存在其他客户端数据同步延迟问题,可对该客户端给予独占权限。当客户端数量不为1,客户端数量大于或等于1,即该分布式系统为多客户端系统,此时,存在多个客户端访问的数据同步延迟问题,需要进行相应的操作。在一种具体的实施方案中,给予单客户端独占权限包括:获取该单客户端发送的操作权限请求;回复该单客户端的操作权限请求,以向该单客户端分配相应的操作权限;在该单客户端对相应的文件编辑完成后,获取该单客户端发送的释放权限请求;向该单客户端的回复释放权限结果。需要说明的是,操作权限通常包括读权限、对待编辑文件的写权限和客户端本地缓存权限。客户端对待编辑文件进行读取,需要获取该待编辑文件的读权限,客户端对待编辑文件进行编辑,对待编辑文件的写权限,当然,由于本专利技术的专利技术点在于对分布式系统元数据在线同步更新,当分布式系统只存在单客户端,不存在其他客户端数据同步延迟问题,因此可给予该单客户端本地缓存权限。需要进一步说明的是,本专利技术同样适用于一些现有系统中的写权限包括读权限的情况。步骤S2:按写权限的申请顺序,向相应的客户端分配上述写权限。由于客户端获取的读权限,仅仅为相应文件的查询读取权限,不具有对该文件进行编辑的权限,不会改变该文件的内容,因此,可以为同一个文件向超过多个客户端分配读权限,即同一文件支持在同一时间被多个客户端进行访问,即同一文件在同一时间段内可以被超过一个客户端继续访问。当然,为了更好地管理各客户端的,使同一文件在同一时间只有一个客户端进行访问编辑,还可以按读权限的申请顺序,向相应的客户端分配上述读权限。在一种具体的实施方案中,分布式系统中的元数据服务器获取到客户端A申请的写权限,确认客户端A为合法客户端后,向客户端A分配相应文件的写权限及cache权限,客户端A则对该文件进行编辑。此时,元数据服务器又获取到客户端B申请的读写权限,则元数据服务器在收回客户端A的写权限后,才向客户端B分配读写权限。当然,元数据服务器也可在收回客户端A的写权限前,向客户端B分配读权限。由于本专利技术的专利技术点在于对分布式系统元数据在线同步更新,当分布式系统包括多客户端,即超过1个客本文档来自技高网...

【技术保护点】
一种分布式文件系统多客户端同步方法,其特征在于,包括:步骤S1:判断客户端的数量是否为1,若是,则给予所述客户端独占权限,若否,则进行步骤S2;步骤S2:按写权限的申请顺序,向相应的客户端分配所述写权限;步骤S3:具有所述写权限的客户端对文件完成写入,则更新相应的元数据;步骤S4:判断是否有其他具有读写权限的客户端操作所述文件,若否,则结束操作,若是,则将更新后的元数据发送至相应的客户端。

【技术特征摘要】
1.一种分布式文件系统多客户端同步方法,其特征在于,包括:步骤S1:判断客户端的数量是否为1,若是,则给予所述客户端独占权限,若否,则进行步骤S2;步骤S2:按写权限的申请顺序,向相应的客户端分配所述写权限;步骤S3:具有所述写权限的客户端对文件完成写入,则更新相应的元数据;步骤S4:判断是否有其他具有读写权限的客户端操作所述文件,若否,则结束操作,若是,则将更新后的元数据发送至相应的客户端。2.根据权利要求1所述的分布式文件系统多客户端同步方法,其特征在于,给予所述客户端所述独占权限包括:获取所述客户端发送的操作权限请求;回复所述客户端的操作权限请求,以向所述客户端分配相应的操作权限;获取所述客户端发送的释放权限请求;向所述客户端的回复释放权限结果。3.根据权利要求2所述的分布式文件系统多客户端同步方法,其特征在于,所述操作权限包括读权限、写权限和客户端本地缓存权限。4.根据权利要求1所述的分布式文件系统多客户端同步方法,其特征在于,按所述写权限的申请顺序,向相应的客户端分配所述写权限还包括:按读权限的申请顺序,向相应的客户端分配所述读权限。5.根据权利要求4所...

【专利技术属性】
技术研发人员:王帅阳
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

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

1