用于分布式文件系统执行重命名操作的方法和设备技术方案

技术编号:16365512 阅读:45 留言:0更新日期:2017-10-10 21:32
本申请的目的是提供一种用于分布式文件系统执行重命名操作的方法和设备,通过对文件的重命名请求进行解析,确定重命名请求是否在同一主节点组列表中,若不在,则从源主节点组列表中获取源文件的文件锁,并在目标主节点组列表中创建临时文件并获取所述临时文件的文件锁;基于所述源文件的文件类型,在存储所述源文件对应真实数据的从节点磁盘上进行硬链接操作和/或数据复制操作,以将所述真实数据对应关联到所述临时文件中;最后,将所述临时文件重命名为目标文件,并删除所述源文件,完成不同主节点组列表之间的文件重命名操作,尽量保持了原有的文件系统的语义,同时上层用户可以无感知的继续使用文件系统。

Method and apparatus for performing renaming operations in a distributed file system

This application is intended to provide a method and apparatus for distributed file system performing the rename operation request, by analyzing the file renaming, determine whether the request to rename in the same node in the list, if not, from the source of the main node in the list to obtain the source file and the lock. The main target node in the list to create temporary files and obtain the temporary file lock; the source files based on file type, stored in the source file corresponding to the real data from the disk nodes hard link operation and / or data copy operations, to the corresponding real data to the association in the temporary file; finally, the temporary file to the target file, and delete the source file, completed between different main node list file rename, try to keep The semantics of the original file system, while the upper layer of users can continue to use the file system without perception.

【技术实现步骤摘要】
用于分布式文件系统执行重命名操作的方法和设备
本申请涉及计算机领域,尤其涉及一种用于分布式文件系统执行重命名操作的技术。
技术介绍
随着信息技术的不断普及和深入化应用,越来越多的人们习惯使用计算机进行传输以及存储文件。为了区分每个文件的不同以及便于查找文件,每个文件都设定了自己的名称。但通常情况下,同一个文件名是不能标注在两个文件上的,或者在文件名出现冲突的情况下,就需要使用重命名功能。在单机系统或分布式系统中,重命名包括文件名变化的情况,也包括文件路径变化的情况(即文件移动)。在分布式系统中将命名空间进行分布式,使其构成一个联盟(Federation),从而实现分布式系统的可扩展性。而Federation中进行重命名(Rename)操作只支持同一主节点组列表(volume)上的Rename,而不支持volume间进行的Rename操作。
技术实现思路
本申请的目的是提供一种用于分布式文件系统执行重命名操作的方法与设备,以解决在不同主节点组列表间进行文件或目录重命名操作的问题。根据本申请的一个方面,提供了一种用于分布式文件系统执行文件重命名操作的方法,包括:获取文件重命名请求,并解析所述本文档来自技高网...
用于分布式文件系统执行重命名操作的方法和设备

【技术保护点】
一种用于分布式文件系统执行文件重命名操作的方法,其中,所述方法包括:获取文件重命名请求,并解析所述重命名请求;当所述重命名请求为不同主节点组列表之间的文件重命名请求,则从源主节点组列表中获取源文件的文件锁,并在目标主节点组列表中创建临时文件并获取所述临时文件的文件锁;基于所述源文件的文件类型,在存储所述源文件对应真实数据的从节点磁盘上进行硬链接操作和/或数据复制操作,以将所述真实数据对应关联到所述临时文件中;将所述临时文件重命名为目标文件,并删除所述源文件。

【技术特征摘要】
2016.03.28 CN 201610181890X1.一种用于分布式文件系统执行文件重命名操作的方法,其中,所述方法包括:获取文件重命名请求,并解析所述重命名请求;当所述重命名请求为不同主节点组列表之间的文件重命名请求,则从源主节点组列表中获取源文件的文件锁,并在目标主节点组列表中创建临时文件并获取所述临时文件的文件锁;基于所述源文件的文件类型,在存储所述源文件对应真实数据的从节点磁盘上进行硬链接操作和/或数据复制操作,以将所述真实数据对应关联到所述临时文件中;将所述临时文件重命名为目标文件,并删除所述源文件。2.根据权利要求1所述的方法,其中,所述方法还包括:将所述临时文件重命名为目标文件之前,更新所述临时文件的元信息,将所述临时文件的元信息写入所述目标主节点设备,并关闭所述临时文件的当前写操作。3.根据权利要求1所述的方法,其中,所述文件锁为可读不可写锁类。4.根据权利要求1所述的方法,其中,所述源文件的文件类型包括:仅能追加写的非日志文件、仅能追加写的日志文件、可随机写入文件;所述基于所述源文件的文件类型,在存储所述源文件对应真实数据的从节点磁盘上进行硬链接操作和/或数据复制操作包括:若所述源文件的类型为仅能追加写的非日志文件,则将所述真实数据的最后一个数据块进行数据复制操作,并将其他数据块通过硬链接操作对应关联到所述临时文件;若所述源文件类型为仅能追加写的日志文件,则将所述真实数据的所有的数据块通过硬链接操作对应关联到所述临时文件;若所述源文件的类型为可随机写入文件,则将所述真实数据的所有数据块进行复制操作。5.根据权利要求1所述的方法,其中,所述方法还包括:当所述重命名请求为同一主节点组列表之间的文件重命名请求,则调用重命名远程调用接口对相应源文件进行重命名。6.根据权利要求1所述的方法,其中,所述方法还包括:创建扫描线程,定期扫描所述临时文件,若所述临时文件在超时时间内未被重命名为所述目标文件,则删除所述临时文件。7.一种用于分布式文件系统中执行目录重命名操作的方法,其中,所述方法包括:获取目录重命名请求,并解析所述重命名请求;当所述重命名请求为不同主节点组列表之间的目录重命名请求,则从源主节点组列表中源目录的目录锁,并在目标主节点组列表中创建临时目录并在所述临时目录下创建临时文件,并获取所述临时目录的目录锁;扫描所述源目录,以获取所述源目录的所有源文件,基于所述源文件的文件类型,在存储所述源文件对应真实数据的从节点磁盘上进行硬链接操作和/或数据复制操作,以将所述真实数据对应关联到所述临时文件中;将所述临时文件重命名为目标文件,基于所述目标文件将所述临时目录重命名为目标目录,并删除所述源目录。8.根据权利要求7所述的方法,其中,所述方法还包括:进行硬链接操作和/或数据复制操作之后,更新所述临时文件的元信息,将所述临时文件的元信息写入所述目标主节点设备,并关闭所述临时文件的当前写操作。9.根据权利要求7所述的方法,其中,所述目录锁为可读不可写锁类。10.根据权利要求7所述的方法,其中,所述源文件的文件类型包括:仅能追加写的非日志文件、仅能追加写的日志文件、可随机写入文件;所述基于所述源文件的文件类型,在存储所述源文件对应真实数据的从节点磁盘上进行硬链接操作和/或数据复制操作包括:若所述源文件的类型为仅能追加写的非日志文件,则将所述真实数据的最后一个数据块进行数据复制操作,并将其他数据块通过硬链接操作对应关联到所述临时文件;若所述源文件类型为仅能追加写的日志文件,则将所述真实数据的所有的数据块通过硬链接操作对应关联到所述临时文件;若所述源文件的类型为可随机写入文件,则将所述真实数据的所有数据块进行复制操作。11.根据权利要求7所述的方法,其中,所述方法还包括:当所述重命名请求为同一主节点组列表之间的目录重命名请求,则调用重命名远程调用接口对相应源目录进行重命名。12.根据权利要求7所述的方法,其中,所述方法还包括:获取客户端发送的心跳请求,若在超时时间内未收到所述心跳请求,则将所述源目录修改为可读可写状态。13.根据权利要求7所述的方法,其中,所述方法还包括:创建扫描线程,定期扫描所述临时目录,若所述临时目录在超时时间内未被重命名为所述目标目录,则删除所述临时目录。14.一种用于分布式文件系统执行文件重命名操作的设备,其中,所述设备包括:获取文件请求装置,用于获取文件重命名请求,并解析所述重命名请求;创建临时文件装置,用于当所述重命名请求为不同主节点组列表之间的文件重命名请求,则从源主节点组列表中获取源文件的文件锁,并在目标主节点组列表中创建临时文件并获取所述临时文件的文件锁;数据操作装置,用于基于所述源文件的文件类型,在存储所述源文件对应真实数据的从节点磁盘上进行硬链接操作和/或数据复制操作,以将所述真实数据对应关联到所述临时文件中;删除源文件装置,用于将所述临时文件重命名为目标文件,并删除所述源文件。15.根据权利要求14所述的设备,其中,所述设备还包括:第一更新装置,用于将所述临时文件重命名为目标文件之前,更新所述临时文件的元信息,...

【专利技术属性】
技术研发人员:刘俊峰姚文辉朱家稷
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1