调用分布式文件系统的方法和装置制造方法及图纸

技术编号:15288038 阅读:232 留言:0更新日期:2017-05-10 12:30
本申请公开了一种调用分布式文件系统的方法和装置。方法的一具体实施方式包括:基于接收的用户端的会话请求,建立新会话;向分布式文件系统的管理者发送首次加锁请求,首次加锁请求用于请求对租约目录加锁;响应于接收到对首次加锁请求的响应为加锁成功,向管理者发送在租约目录中新建子目录的请求,子目录以新会话的IP地址和端口命名;响应于接收到对新建子目录的请求的响应为新建成功,将新会话标记为主会话。该实施方式实现了新会话的选主,并对主会话进行锁定,有效提高了调用分布式文件系统的健壮性,简化了调用所需的系统架构,不再需要依赖任何第三方机制/系统,提升了调用分布式文件系统的方法和装置的稳定性和可演化性。

Method and apparatus for invoking a distributed file system

The invention discloses a method and a device for calling a distributed file system. One embodiment of the method includes: receiving user session request based on the establishment of a new session; send first lock request to the distributed file system management, the first lock request for requesting a lock on the lease list; in response to receiving a response to the first lock request for a lock to successful management send new subdirectories in the directory of the lease request, a sub directory named after the new session of the IP address and port; in response to receiving a response to the new directory request for new success, will mark a new session session. The embodiment of the realization of the main choice of the new session, and the main session lock, effectively improve the robustness of the invocation of distributed file system, simplify the system architecture of the call, no longer need to rely on the system of any third party mechanism, enhance the stability of distributed file system call method and device of the system and evolution of.

【技术实现步骤摘要】

本申请涉及计算机
,具体涉及互联网
,尤其涉及一种调用分布式文件系统的方法和装置
技术介绍
基于分布式文件系统运行的分布式文件系统,需要解决高可用相关的所有,例如满足包括选主、主角色通知、栅栏(Fence)机制、数据流的复制和持久化、数据流的紧置化(Compaction)等需求。目前的分布式文件系统,通常采用以下两种高可用设计方案:1、组合式方案:例如,选主用分布式服务框架(ZooKeeper)方案、基于心跳的方案或者其它自主设计的方案;Fence采用第三方系统或者自主设计的方案;数据流复制采用自主设计的复制方案等。2、整体方案,例如分布式一致性协议(Raft),基于Raft协议实现各种库,Raft的日志流存储在本地。然而,上述的两种高可用涉及方案,其中组合式方案常常依赖第三方,甚至同时依赖多个第三方,系统中存在着各种自主设计的方案,系统整体架构复杂,稳定性风险高,并且难以演化;整体方案中基于Raft协议实现的分布式文件系统补建副本非常缓慢,很难实现一个快速的负载均衡机制,尤其是在全局范围内难以实现数据流的分裂与合并,难以和分布式文件系统协作。例如适合于非结构化数据存储的数据库(HBase),如果数据流使用了Raft协议,那么如果仍然基于分布式文件系统,会造成大量的额外流量开销,如果不再基于分布式文件系统,则又会失去了HBase节点的无状态特性。
技术实现思路
本申请的目的在于提出一种改进的调用分布式文件系统的方法和装置,来解决以上
技术介绍
部分提到的技术问题。一次方面,本申请提供了一种调用分布式文件系统的方法,所述方法包括:基于接收的用户端的会话请求,建立新会话;向分布式文件系统的管理者发送首次加锁请求,所述首次加锁请求用于请求对租约目录加锁;响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求,所述子目录以所述新会话的IP地址和端口命名;响应于接收到对所述新建子目录的请求的响应为新建成功,将所述新会话标记为主会话。在一些实施例中,所述方法还包括以下任意一项或多项:在所述主会话存活期间,定期向所述管理者发送更新所述租约目录的修改时间戳的请求;和响应于所述主会话关闭,向所述管理者发送删除所述租约目录中的子目录并解锁所述租约目录的请求。在一些实施例中,响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求包括:响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送首次查询请求,所述首次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;响应于接收到对所述首次查询请求的响应为存在,向所述管理者发送删除请求,所述删除请求用于删除所述租约目录中的子目录;响应于接收到对所述首次查询请求的响应为不存在或接收到对所述删除请求的响应为删除成功,向所述管理者发送在租约目录中新建子目录的请求。在一些实施例中,所述方法还包括:响应于接收到对首次加锁请求的响应为加锁失败,间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;响应于所述修改时间戳距当前时间的时长超过预设时长,向所述管理者发送再次加锁请求,所述再次加锁请求用于请求对所述租约目录加锁;响应于接收到对所述再次加锁请求的响应为加锁成功,执行所述向所述管理者发送首次查询请求。在一些实施例中,所述方法还包括:响应于接收到对所述再次加锁请求的响应为加锁失败,向所述管理者发送再次查询请求,所述再次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;响应于接收到对再次查询请求的响应为存在,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。在一些实施例中,所述方法还包括:响应于接收到对再次查询请求的响应为不存在,执行所述向分布式文件系统的管理者发送加锁租约目录的首次加锁请求。在一些实施例中,所述方法还包括以下任意一项或多项:响应于接收到对所述新建子目录请求的响应为新建失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;响应于接收到对所述删除请求的响应为删除失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;以及响应于所述修改时间戳距当前时间的时长未超过预设时长,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。在一些实施例中,所述方法还包括:响应于接收生成日志请求,生成每条数据流的每个日志的日志序列号;响应于切换主会话或日志文件大小达到预定字节,新创建日志文件;以日志文件中最小的日志序列号命名创建的日志文件;将所述日志序列号、日志的长度、校验信息以及写入的会话的IP地址添加至创建的日志文件的头部信息;将日志添加至创建的日志文件中直至日志文件大小达到预定字节。在一些实施例中,所述方法还包括:响应于接收生成快照请求,间隔预定时间触发快照;将所有日志序列号均小于快照中日志序列号的日志文件删除。在一些实施例中,所述方法还包括:接收回放日志请求;根据所述日志序列号,回放日志。第二方面,本申请提供了一种调用分布式文件系统的装置,所述装置包括:会话建立单元,用于基于接收的用户端的会话请求,建立新会话;首次加锁请求单元,用于向分布式文件系统的管理者发送首次加锁请求,所述首次加锁请求用于请求对租约目录加锁;新建子目录请求单元,用于响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求,所述子目录以所述新会话的IP地址和端口命名;主会话标记单元,用于响应于接收到对所述新建子目录的请求的响应为新建成功,将所述新会话标记为主会话。在一些实施例中,所述装置还包括以下任意一项或多项:修改时间戳单元,用于在所述主会话存活期间,定期向所述管理者发送更新所述租约目录的修改时间戳的请求;和删除及加锁单元,用于响应于所述主会话关闭,向所述管理者发送删除所述租约目录中的子目录并解锁所述租约目录的请求。在一些实施例中,所述新建子目录请求单元包括:首次查询请求子单元,用于响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送首次查询请求,所述首次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;删除子目录子单元,用于响应于接收到对所述首次查询请求的响应为存在,向所述管理者发送删除请求,所述删除请求用于删除所述租约目录中的子目录;新建子目录子单元,用于响应于接收到对所述首次查询请求的响应为不存在或接收到对所述删除请求的响应为删除成功,向所述管理者发送在租约目录中新建子目录的请求。在一些实施例中,所述装置还包括:时长检查单元,用于响应于接收到对首次加锁请求的响应为加锁失败,间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;再次加锁请求单元,用于响应于所述修改时间戳距当前时间的时长超过预设时长,向所述管理者发送再次加锁请求,所述再次加锁请求用于请求对所述租约目录加锁;所述子目录查询子单元进一步用于:响应于接收到对所述再次加锁请求的响应为加锁成功,执行所述向所述管理者发送首次查询请求。在一些实施例中,所述装置还包括:再次查询请求单元,用于响应于接收到对所述再次加锁请求的响应为加锁失败,向所本文档来自技高网...
调用分布式文件系统的方法和装置

【技术保护点】
一种调用分布式文件系统的方法,其特征在于,所述方法包括:基于接收的用户端的会话请求,建立新会话;向分布式文件系统的管理者发送首次加锁请求,所述首次加锁请求用于请求对租约目录加锁;响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求,所述子目录以所述新会话的IP地址和端口命名;响应于接收到对所述新建子目录的请求的响应为新建成功,将所述新会话标记为主会话。

【技术特征摘要】
1.一种调用分布式文件系统的方法,其特征在于,所述方法包括:基于接收的用户端的会话请求,建立新会话;向分布式文件系统的管理者发送首次加锁请求,所述首次加锁请求用于请求对租约目录加锁;响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求,所述子目录以所述新会话的IP地址和端口命名;响应于接收到对所述新建子目录的请求的响应为新建成功,将所述新会话标记为主会话。2.根据权利要求1所述的方法,其特征在于,所述方法还包括以下任意一项或多项:在所述主会话存活期间,定期向所述管理者发送更新所述租约目录的修改时间戳的请求;和响应于所述主会话关闭,向所述管理者发送删除所述租约目录中的子目录并解锁所述租约目录的请求。3.根据权利要求1所述的方法,其特征在于,响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求包括:响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送首次查询请求,所述首次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;响应于接收到对所述首次查询请求的响应为存在,向所述管理者发送删除请求,所述删除请求用于删除所述租约目录中的子目录;响应于接收到对所述首次查询请求的响应为不存在或接收到对所述删除请求的响应为删除成功,向所述管理者发送在租约目录中新建子目录的请求。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:响应于接收到对首次加锁请求的响应为加锁失败,间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;响应于所述修改时间戳距当前时间的时长超过预设时长,向所述管理者发送再次加锁请求,所述再次加锁请求用于请求对所述租约目录加锁;响应于接收到对所述再次加锁请求的响应为加锁成功,执行所述向所述管理者发送首次查询请求。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:响应于接收到对所述再次加锁请求的响应为加锁失败,向所述管理者发送再次查询请求,所述再次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;响应于接收到对再次查询请求的响应为存在,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:响应于接收到对再次查询请求的响应为不存在,执行所述向分布式文件系统的管理者发送加锁租约目录的首次加锁请求。7.根据权利要求4所述的方法,其特征在于,所述方法还包括以下任意一项或多项:响应于接收到对所述新建子目录请求的响应为新建失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;响应于接收到对所述删除请求的响应为删除失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;以及响应于所述修改时间戳距当前时间的时长未超过预设时长,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。8.根据权利要求1至7任意一项所述的方法,其特征在于,所述方法还包括:接收生成日志请求;生成每条数据流的每个日志的日志序列号;响应于切换主会话或日志文件大小达到预定字节,新创建日志文件;以日志文件中最小的日志序列号命名创建的日志文件;将所述日志序列号、日志的长度、校验信息以及写入的会话的IP地址添加至创建的日志文件的头部信息;将日志添加至创建的日志文件中直至日志文件大小达到预定字节。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:接收生成快照请求;间隔预定时间触发快照;将所有日志序列号均小于快照中日志序列号的日志文件删除。10.根据权利要求8所述的方法,其特征在于,所述方法还包括:接收回放日志请求;根据所述日志序列号,回放日志。11.一种调用分布式文件系统的装置,其特征在于,所述装置包括:会话建立单元,用于基于接收的用户端的会话请求,建立新会话;首次加锁请求单元,用于向分布式文件系统的管理者发送首次加锁请求,所述首次加锁请求用于请求对租约目录加锁;新建子目录请求单元,用于响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管...

【专利技术属性】
技术研发人员:郭波赵文洪韵棋
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1