分布式文件系统中重命名方法、装置及分布式文件系统制造方法及图纸

技术编号:19140286 阅读:87 留言:0更新日期:2018-10-13 08:41
本公开是关于一种分布式文件系统中重命名方法、装置及分布式文件系统,属于互联网技术领域。所述方法包括:将源端内存目录中的目标文件结构锁定;将目的端内存目录中的目标文件结构锁定;对目标文件进行移动;将目标文件结构从源端内存目录中删除;将目的端内存目录中的目标文件结构解锁。本公开在对目标文件重命名过程中,将源名称节点和目的名称节点中的目标文件结构锁定,当在数据节点上完成对目标文件的移动后,源名称节点将目标文件结构删除,目的名称节点将目标文件结构解锁,避免了重命名过程中目标文件被修改,同时避免目标文件结构同时存储于不同名称节点,从而确保分布式文件系统能够正常运行。

Renaming method, device and distributed file system in distributed file system

The disclosure relates to a renaming method, a device and a distributed file system in a distributed file system, belonging to the field of Internet technology. The method includes: locking the target file structure in the source memory directory; locking the target file structure in the destination memory directory; moving the target file; deleting the target file structure from the source memory directory; and unlocking the target file structure in the destination memory directory. In the process of renaming the target file, the source name node and the target file structure in the destination name node are locked. When the target file is moved on the data node, the source name node deletes the target file structure, and the destination name node unlocks the target file structure, thus avoiding the renaming process. The target file is modified to avoid the target file structure being stored in different name nodes at the same time, thus ensuring the normal operation of the distributed file system.

【技术实现步骤摘要】
分布式文件系统中重命名方法、装置及分布式文件系统
本公开涉及互联网
,尤其涉及一种分布式文件系统中重命名方法、装置及分布式文件系统。
技术介绍
通常分布式文件系统包括名称节点和数据节点,其中,名称节点主要负责管理名称空间,数据节点主要负责存储文件数据。随着分布式文件系统规模的扩大,名称空间也相应地增大,单一的名称节点已很难维持分布式文件系统的正常运行。为确保分布式文件系统能够正常运行,目前可采用分布式方式将名称空间分布到多个名称节点上。在分布式文件系统中,重命名操作不仅包括对文件名称的重命名,还包括对文件存储路径的更改。由于重命名过程通常会跨不同的名称节点,因此,为避免同一文件名称同时存储在不同的名称节点中,导致重命名后的分布式文件系统不可用,在分布式文件系统中如何跨名称节点进行重命名,成为了关键。
技术实现思路
本公开提供一种分布式文件系统中重命名方法、装置及分布式文件系统。根据本公开实施例的第一方面,提供一种分布式文件系统中重命名方法,所述分布式文件系统包括源名称节点、目的名称节点、数据节点及终端,所述方法包括:将所述源名称节点的源端内存目录中的目标文件结构锁定,并将所述目标文件结构发送至所述终端,由所述终端发送至所述目的名称节点;将所述目标文件结构添加到所述目的名称节点的目的端内存目录中,并将所述目的端内存目录中的所述目标文件结构锁定;根据原存储路径和目的存储路径,对所述目标文件进行移动;将所述目标文件结构从所述源端内存目录中删除;将所述目的端内存目录中的所述目标文件结构解锁,以完成对所述目标文件的重命名。在本公开的另一个实施例中,所述方法还包括:向所述源名称节点发送第一源文件重命名请求,所述第一源文件重命名请求包括登录所述终端中文件管理应用的用户账号;当接收到所述第一源文件重命名请求,校验所述用户账号是否具有重命名权限;如果所述用户账号不具有重命名权限,向所述终端发送错误提示信息;如果所述用户账号具有重命名权限,执行将所述源名称节点的源端内存目录中的目标文件结构锁定的步骤。在本公开的另一个实施例中,所述将所述源名称节点的源端内存目录中的目标文件结构锁定之后,还包括:在源端文件操作列表中增加对所述目标文件的重命名操作记录,并在源端事务日志中增加所述重命名操作记录。在本公开的另一个实施例中,所述方法还包括:向所述目的名称节点发送第一目的文件重命名请求,所述第一目的文件重命名请求包括所述目标文件结构和登录所述终端中文件管理应用的用户账号;当接收到所述第一目的文件重命名请求,校验所述用户账号是否具有重命名权限;如果所述用户账号不具有重命名权限,向所述终端发送错误提示信息;如果所述用户账号具有重命名权限,执行将所述目标文件结构添加到所述目的名称节点的目的端内存目录中的步骤。在本公开的另一个实施例中,所述将所述目的端内存目录中的所述目标文件结构锁定之后,还包括:在目的端文件操作列表中增加对所述目标文件的重命名操作记录,并在目的端事务日志中增加所述重命名操作记录。在本公开的另一个实施例中,所述方法还包括:如果所述目的名称节点未成功锁定所述目标文件结构,向所述终端发送锁定失败消息;当接收到所述锁定失败消息,向所述源名称节点发送第二源文件重命名请求;当接收到所述第二源文件重命名请求时,将所述目标文件结构从所述源端内存目录中解锁,将所述重命名操作记录从所述源端文件操作列表中删除,并在所述源端事务日志中增加对所述目标文件结构的解锁操作记录。在本公开的另一个实施例中,将所述源内存目录中的所述目标文件结构删除之后,还包括:将所述重命名操作记录从所述源端文件操作列表中删除,并在所述源端事务日志中增加对所述目标文件结构的删除操作记录。在本公开的另一个实施例中,将所述目的端内存目录中的所述目标文件结构解锁之后,还包括:将所述重命名操作记录从所述目的端文件操作列表中删除,并在所述目的端事务日志中增加对所述目标文件结构的解锁操作记录。在本公开的另一个实施例中,所述方法还包括:检测所述源端文件操作列表中的所述重命名操作记录的存储时长是否达到预设时长;如果所述重命名操作记录的存储时长未达到所述预设时长,查询所述目的名称节点中是否存储有所述重命名操作记录;如果所述目的名称节点中存储有所述重命名操作记录,触发执行所述数据节点根据原存储路径和目的存储路径,对所述目标文件进行移动的步骤;如果所述目的名称节点中未存储所述重命名操作记录,将所述目标文件结构从所述源端内存目录中解锁,将所述重命名操作记录从所述源端文件操作列表中删除,并在所述源端事务日志中增加对所述目标文件结构的解锁操作记录。在本公开的另一个实施例中,所述方法还包括:检测所述目的端文件操作列表中的所述重命名操作记录的存储时长是否达到预设时长;如果所述重命名操作记录的存储时长未达到所述预设时长,查询所述源名称节点中是否存储有所述重命名操作记录;如果所述源名称节点中存储有所述重命名操作记录,等待后续的处理操作;如果所述源名称节点未存储所述重命名操作记录,将所述目的端内存目录中的所述目标文件结构解锁,将所述重命名操作记录从所述目的端文件操作列表中删除,并在所述目的端事务日志中增加对所述目标文件结构的解锁操作记录。根据本公开实施例的第二方面,提供了一种分布式文件系统中重命名装置,所述分布式文件系统包括源名称节点、目的名称节点、数据节点及终端,所述装置包括:第一文件结构锁定模块,用于将所述源名称节点的源端内存目录中的目标文件结构锁定;文件结构发送模块,用于将所述目标文件结构发送至所述终端,由所述终端发送至所述目的名称节点;文件结构添加模块,用于将所述目标文件结构添加到所述目的名称节点的目的端内存目录中;第二文件结构锁定模块,用于将所述目的端内存目录中的所述目标文件结构锁定;文件移动模块,用于根据原存储路径和目的存储路径,对所述目标文件进行移动;文件结构删除模块,用于将所述目标文件结构从所述源端内存目录中删除;第一文件结构解锁模块,用于将所述目的端内存目录中的所述目标文件结构解锁,以完成对所述目标文件的重命名。在本公开的另一个实施例中,所述装置还包括:第一请求发送模块,用于向所述源名称节点发送第一源文件重命名请求,所述第一源文件重命名请求包括登录所述终端中文件管理应用的用户账号;第一账号校验模块,用于当接收到所述第一源文件重命名请求,校验所述用户账号是否具有重命名权限;第一提示信息发送模块,用于如果所述用户账号不具有重命名权限,向所述终端发送错误提示信息;所述第一文件结构锁定模块,用于如果所述用户账号具有重命名权限,将所述源名称节点的源端内存目录中的目标文件结构锁定。在本公开的另一个实施例中,所述装置还包括:第一操作记录增加模块,用于在源端文件操作列表中增加对所述目标文件的重命名操作记录,并在源端事务日志中增加所述重命名操作记录。在本公开的另一个实施例中,所述装置还包括:第二请求发送模块,用于向所述目的名称节点发送第一目的文件重命名请求,所述第一目的文件重命名请求包括所述目标文件结构和登录所述终端中文件管理应用的用户账号;第二账号校验模块,用于当接收到所述第一目的文件重命名请求,校验所述用户账号是否具有重命名权限;第二提示信息发送模块,用于如果所述用户账号不具有重命名权限,向所本文档来自技高网...

【技术保护点】
1.一种分布式文件系统中重命名方法,其特征在于,所述分布式文件系统包括源名称节点、目的名称节点、数据节点及终端,所述方法包括:将所述源名称节点的源端内存目录中的目标文件结构锁定,并将所述目标文件结构发送至所述终端,由所述终端发送至所述目的名称节点;将所述目标文件结构添加到所述目的名称节点的目的端内存目录中,并将所述目的端内存目录中的所述目标文件结构锁定;根据原存储路径和目的存储路径,对所述目标文件进行移动;将所述目标文件结构从所述源端内存目录中删除;将所述目的端内存目录中的所述目标文件结构解锁,以完成对所述目标文件的重命名。

【技术特征摘要】
1.一种分布式文件系统中重命名方法,其特征在于,所述分布式文件系统包括源名称节点、目的名称节点、数据节点及终端,所述方法包括:将所述源名称节点的源端内存目录中的目标文件结构锁定,并将所述目标文件结构发送至所述终端,由所述终端发送至所述目的名称节点;将所述目标文件结构添加到所述目的名称节点的目的端内存目录中,并将所述目的端内存目录中的所述目标文件结构锁定;根据原存储路径和目的存储路径,对所述目标文件进行移动;将所述目标文件结构从所述源端内存目录中删除;将所述目的端内存目录中的所述目标文件结构解锁,以完成对所述目标文件的重命名。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:向所述源名称节点发送第一源文件重命名请求,所述第一源文件重命名请求包括登录所述终端中文件管理应用的用户账号;当接收到所述第一源文件重命名请求,校验所述用户账号是否具有重命名权限;如果所述用户账号不具有重命名权限,向所述终端发送错误提示信息;如果所述用户账号具有重命名权限,执行将所述源名称节点的源端内存目录中的目标文件结构锁定的步骤。3.根据权利要求1所述的方法,其特征在于,所述将所述源名称节点的源端内存目录中的目标文件结构锁定之后,还包括:在源端文件操作列表中增加对所述目标文件的重命名操作记录,并在源端事务日志中增加所述重命名操作记录。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:向所述目的名称节点发送第一目的文件重命名请求,所述第一目的文件重命名请求包括所述目标文件结构和登录所述终端中文件管理应用的用户账号;当接收到所述第一目的文件重命名请求,校验所述用户账号是否具有重命名权限;如果所述用户账号不具有重命名权限,向所述终端发送错误提示信息;如果所述用户账号具有重命名权限,执行将所述目标文件结构添加到所述目的名称节点的目的端内存目录中的步骤。5.根据权利要求1所述的方法,其特征在于,所述将所述目的端内存目录中的所述目标文件结构锁定之后,还包括:在目的端文件操作列表中增加对所述目标文件的重命名操作记录,并在目的端事务日志中增加所述重命名操作记录。6.根据权利要求3所述的方法,其特征在于,所述方法还包括:如果所述目的名称节点未成功锁定所述目标文件结构,向所述终端发送锁定失败消息;当接收到所述锁定失败消息,向所述源名称节点发送第二源文件重命名请求;当接收到所述第二源文件重命名请求时,将所述目标文件结构从所述源端内存目录中解锁,将所述重命名操作记录从所述源端文件操作列表中删除,并在所述源端事务日志中增加对所述目标文件结构的解锁操作记录。7.根据权利要求3所述的方法,其特征在于,所述将所述源内存目录中的所述目标文件结构删除之后,还包括:将所述重命名操作记录从所述源端文件操作列表中删除,并在所述源端事务日志中增加对所述目标文件结构的删除操作记录。8.根据权利要求5所述的方法,其特征在于,所述将所述目的端内存目录中的所述目标文件结构解锁之后,还包括:将所述重命名操作记录从所述目的端文件操作列表中删除,并在所述目的端事务日志中增加对所述目标文件结构的解锁操作记录。9.根据权利要求3或6或7所述的方法,其特征在于,所述方法还包括:检测所述源端文件操作列表中的所述重命名操作记录的存储时长是否达到预设时长;如果所述重命名操作记录的存储时长未达到所述预设时长,查询所述目的名称节点中是否存储有所述重命名操作记录;如果所述目的名称节点中存储有所述重命名操作记录,触发执行所述数据节点根据原存储路径和目的存储路径,对所述目标文件进行移动的步骤;如果所述目的名称节点中未存储所述重命名操作记录,将所述目标文件结构从所述源端内存目录中解锁,将所述重命名操作记录从所述源端文件操作列表中删除,并在所述源端事务日志中增加对所述目标文件结构的解锁操作记录。10.根据权利要求5或8所述的方法,其特征在于,所述方法还包括:检测所述目的端文件操作列表中的所述重命名操作记录的存储时长是否达到预设时长;如果所述重命名操作记录的存储时长未达到所述预设时长,查询所述源名称节点中是否存储有所述重命名操作记录;如果所述源名称节点中存储有所述重命名操作记录,等待后续的处理操作;如果所述源名称节点未存储所述重命名操作记录,将所述目的端内存目录中的所述目标文件结构解锁,将所述重命名操作记录从所述目的端文件操作列表中删除,并在所述目的端事务日志中增加对所述目标文件结构的解锁操作记录。11.一种分布式文件系统中重命名装置,其特征在于,所述分布式文件系统包括源名称节点、目的名称节点、数据节点及终端,所述装置包括:第一文件结构锁定模块,用于将所述源名称节点的源端内存目录中的目标文件结构锁定;文件结构发送模块,用于将所述目标文件结构发送至所述终端,由所述终端发送至所述目的名称节点;文件结构添加模块,用于将所述目标文件结构添加到所述目的名称节点的目的端内存目录中;第二文件结构锁定模块,用于将所述目的端内存目录中的所述目标文件结构锁定;文件移动模块,用于根据原存储路径和目的存储路径,对所述目标文件进行移动;文件结构删除模块,用于将所述目标文件结构从所述源端内存目录中删除;第一文件结构解锁模块,用于将所述目的端内存目录中的所述目标文件结构解锁,以完成对所述目标文件的重命名。12.根据权利要求11所述的装置,其特征在于,所述装置还包括:第一请求发送模块,用于向所述源名称节点发送第一源文件重命名请求,所述第一源文件重命名请求包括登录...

【专利技术属性】
技术研发人员:周应超张晨谢纲
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京,11

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

1