一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文件管理方法和装置及HDFS系统与流程

2022-04-25 04:59:05 来源:中国专利 TAG:

技术特征:
1.一种文件管理方法,其特征在于,应用在hdfs集群的名字节点,所述hdfs集群为由多个机房的节点组成的单集群,所述节点包括数据节点;所述方法包括:响应于客户端发送的文件写入请求,根据预先为待写入文件配置的副本分布标签,控制由所述待写入文件切分得到的数据块写入所述数据节点;其中,所述副本分布标签包括跨机房分布标签,所述跨机房分布标签表征用于存储所述数据块的多个机房以及各机房存储的数据块副本的初始数量;对于具有所述跨机房分布标签的数据块,利用该数据块在任一机房的历史访问数据确定该数据块在该机房的期望副本数量,依据所述期望副本数量对该数据块在该机房的当前副本数量进行调整。2.根据权利要求1所述的方法,其特征在于,所述副本分布标签配置在所述待写入文件的目录或上级目录,所述副本分布标签进一步包括单机房分布标签,所述单机房分布标签表征用于存储所述待写入文件的数据块的一个机房以及该机房存储的数据块副本的初始数量;以及,所述根据预先为待写入文件配置的副本分布标签,控制由所述待写入文件切分得到的数据块写入所述数据节点,包括:在接收到客户端发送的文件写入请求之后,如果判断所述待写入文件具有单机房分布标签,则控制所述客户端将所述待写入文件的数据块按照所述单机房分布标签指示的副本初始数量复制到该机房的数据节点。3.根据权利要求1所述的方法,其特征在于,所述根据预先为待写入文件配置的副本分布标签,控制由所述待写入文件切分得到的数据块写入所述数据节点,进一步包括:在接收到客户端发送的文件写入请求之后,如果判断所述待写入文件具有跨机房分布标签、并且所述客户端处在所述跨机房分布标签指示的第一机房,则控制所述客户端将待写入文件的数据块按照所述跨机房分布标签指示的第一机房的副本初始数量复制到第一机房的数据节点;并以第一机房的数据节点为源节点、按照所述跨机房分布标签指示的第一机房以外的其它机房的副本初始数量,将该数据块复制到其它机房的数据节点;其中,对于其它机房中欲存储该数据块的数据节点,在同一机房中存在已存储同一数据块的数据节点时,将该数据节点作为源节点进行复制;在同一机房中不存在已存储同一数据块的数据节点时,将已存储同一数据块的外部机房的数据节点作为源节点进行复制;在所述将该数据块复制到其它机房的数据节点之后,将所述待写入文件的数据块标识写入预先建立的管理队列。4.根据权利要求3所述的方法,其特征在于,所述管理队列为基于最近最少使用算法lru的队列;以及,所述方法进一步包括:在接收到客户端发送的文件读取请求之后,从存储待读取文件数据块的机房中选取距离所述客户端最近的机房,将该机房中存储待读取文件数据块的数据节点的地址向所述客户端返回以进行读取;在判断所述待读取文件具有跨机房分布标签时,将所述待读取文件的数据块标识写入所述管理队列;在读取完成之后,更新所述待读取文件数据块在该机房的历史访问数据。5.根据权利要求4所述的方法,其特征在于,所述历史访问数据包括:发生在预设的历史时间间隔内的每一次访问的访问时间;以及,所述利用该数据块在任一机房的历史访问数据确定该数据块在该机房的期望副本数量,包括:
周期性地对所述管理队列中的每一数据块执行以下步骤:依据所述访问时间对应的权重值以及从所述历史访问数据中得到的访问频次数据计算该数据块在该机房的理论副本数量;如果该机房为该数据块的主机房,则将所述理论副本数量和预先为该数据块和该主机房配置的第一兜底数量中的最大值确定为该数据块在该主机房的期望副本数量;如果该机房为该数据块的非主机房,则:在该数据块的生命周期长度小于预设时长时,将所述理论副本数量和预先为该数据块以及该非主机房配置的第二兜底数量中的最大值确定为该数据块在该非主机房的期望副本数量;在该数据块的生命周期长度大于或等于所述预设时长时,将所述理论副本数量确定为该数据块在该非主机房的期望副本数量。6.根据权利要求5所述的方法,其特征在于,所述依据所述期望副本数量对该数据块在该机房的当前副本数量进行调整,包括:在所述期望副本数量小于所述当前副本数量时,删除该数据块在该机房的至少一个副本;其中,删除的副本数量等于所述当前副本数量与所述期望副本数量的差值;在所述期望副本数量大于所述当前副本数量时,增加该数据块在该机房的至少一个副本;其中,增加的副本数量等于所述期望副本数量与所述当前副本数量的差值;在所述增加过程中,对于该机房中欲存储该数据块的数据节点,当同一机房中存在已存储同一数据块的数据节点时,将该数据节点作为源节点进行复制;当同一机房中不存在已存储同一数据块的数据节点时,将已存储同一数据块的外部机房的数据节点作为源节点进行复制。7.根据权利要求3-6任一所述的方法,其特征在于,所述多个机房中的数据节点周期性地向所述名字节点发送心跳信号以上报当前状态;以及,所述方法进一步包括:当基于所述心跳信号感知到任一机房的任一数据节点下线时,针对该数据节点存储的任一数据块:利用该数据块在该机房的历史访问数据确定该数据块在该机房的期望副本数量,如果该期望副本数量大于该数据块在该机房的当前副本数量,则增加该数据块在该机房的至少一个副本;其中,增加的副本数量等于该期望副本数量与该当前副本数量的差值;在执行该增加之前、之后或同时,如果判断该数据块具有所述跨机房分布标签,则将该数据块的标识写入所述管理队列;当基于所述心跳信号感知到任一机房的任一数据节点存在异常数据块时,删除该异常数据块;并利用所述异常数据块对应的正常数据块在该机房的历史访问数据确定该正常数据块在该机房的期望副本数量,如果该期望副本数量大于该正常数据块在该机房的当前副本数量,则增加该正常数据块在该机房的至少一个副本;其中,增加的副本数量等于该期望副本数量与该当前副本数量的差值;在执行该增加之前、之后或同时,如果判断该正常数据块具有所述跨机房分布标签,则将该正常数据块的标识写入所述管理队列;针对同一机房内的不同数据节点执行预设的负载均衡策略,在执行完成之后,基于所述心跳信号获取该机房内各数据节点当前存储的数据块的元数据。8.一种文件管理装置,其特征在于,应用在hdfs集群的名字节点,所述hdfs集群为由多个机房的节点组成的单集群,所述节点包括数据节点;所述装置包括:主单元、标签管理单元、副本管理单元和补块单元;其中,所述主单元用于:响应于客户端发送的文件写入请求,根据预先为待写入文件配置的副本分布标签,控制由所述待写入文件切分得到的数据块写入所述数据节点;其中,所述副
本分布标签包括跨机房分布标签,所述跨机房分布标签表征用于存储所述数据块的多个机房以及各机房存储的数据块副本的初始数量;所述标签管理单元用于配置所述副本分布标签;所述副本管理单元用于:对于具有所述跨机房分布标签的数据块,利用该数据块在任一机房的历史访问数据确定该数据块在该机房的期望副本数量,依据所述期望副本数量控制所述补块单元对该数据块在该机房的当前副本数量进行调整。9.根据权利要求8所述的装置,其特征在于,所述副本分布标签配置在所述待写入文件的目录或上级目录,所述副本分布标签进一步包括单机房分布标签,所述单机房分布标签表征用于存储所述待写入文件的数据块的一个机房以及该机房存储的数据块副本的初始数量;以及,所述主单元进一步用于:在接收到客户端发送的文件写入请求之后:如果判断所述待写入文件具有单机房分布标签,则控制所述客户端将所述待写入文件的数据块按照所述单机房分布标签指示的副本初始数量复制到该机房的数据节点;如果判断所述待写入文件具有跨机房分布标签、并且所述客户端处在所述跨机房分布标签指示的第一机房,则控制所述客户端将待写入文件的数据块按照所述跨机房分布标签指示的第一机房的副本初始数量复制到第一机房的数据节点;并控制所述补块单元执行以下步骤:以第一机房的数据节点为源节点、按照所述跨机房分布标签指示的第一机房以外的其它机房的副本初始数量,将该数据块复制到其它机房的数据节点;其中,对于其它机房中欲存储该数据块的数据节点,在同一机房中存在已存储同一数据块的数据节点时,将该数据节点作为源节点进行复制;在同一机房中不存在已存储同一数据块的数据节点时,将已存储同一数据块的外部机房的数据节点作为源节点进行复制;在所述将该数据块复制到其它机房的数据节点之后,将所述待写入文件的数据块标识写入预先在所述副本管理器建立的管理队列。10.一种hdfs系统,其特征在于,所述系统为部署在多个机房的hdfs单集群,包括处在所述多个机房的数据节点以及处在所述多个机房中任一机房的名字节点;所述名字节点响应于客户端发送的文件写入请求,根据预先为待写入文件配置的副本分布标签,控制由所述待写入文件切分得到的数据块写入所述数据节点;其中,所述副本分布标签包括跨机房分布标签,所述跨机房分布标签表征用于存储所述数据块的多个机房以及各机房存储的数据块副本的初始数量;对于具有所述跨机房分布标签的数据块,所述名字节点利用该数据块在任一机房的历史访问数据确定该数据块在该机房的期望副本数量,依据所述期望副本数量对该数据块在该机房的当前副本数量进行调整。11.根据权利要求10所述的系统,其特征在于,所述副本分布标签配置在所述待写入文件的目录或上级目录,所述副本分布标签进一步包括单机房分布标签,所述单机房分布标签表征用于存储所述待写入文件的数据块的一个机房以及该机房存储的数据块副本的初始数量;所述名字节点在接收到客户端发送的文件写入请求之后,如果判断所述待写入文件具有单机房分布标签,则控制所述客户端将所述待写入文件的数据块按照所述单机房分布标签指示的副本初始数量复制到该机房的数据节点。12.根据权利要求10所述的系统,其特征在于,所述名字节点在接收到客户端发送的文
件写入请求之后,如果判断所述待写入文件具有跨机房分布标签、并且所述客户端处在所述跨机房分布标签指示的第一机房,则控制所述客户端将待写入文件的数据块按照所述跨机房分布标签指示的第一机房的副本初始数量复制到第一机房的数据节点;并以第一机房的数据节点为源节点、按照所述跨机房分布标签指示的第一机房以外的其它机房的副本初始数量,将该数据块复制到其它机房的数据节点;其中,对于其它机房中欲存储该数据块的数据节点,在同一机房中存在已存储同一数据块的数据节点时,所述名字节点将该数据节点作为源节点进行复制;在同一机房中不存在已存储同一数据块的数据节点时,所述名字节点将已存储同一数据块的外部机房的数据节点作为源节点进行复制;在所述将该数据块复制到其它机房的数据节点之后,所述名字节点将所述待写入文件的数据块标识写入预先建立的管理队列。13.根据权利要求12所述的系统,其特征在于,所述管理队列为基于最近最少使用算法lru的队列;以及,在接收到客户端发送的文件读取请求之后,所述名字节点从存储待读取文件数据块的机房中选取距离所述客户端最近的机房,将该机房中存储待读取文件数据块的数据节点的地址向所述客户端返回以进行读取;在判断所述待读取文件具有跨机房分布标签时,所述名字节点将所述待读取文件的数据块标识写入所述管理队列;在读取完成之后,所述名字节点更新所述待读取文件数据块在该机房的历史访问数据。14.根据权利要求13所述的系统,其特征在于,所述历史访问数据包括:发生在预设的历史时间间隔内的每一次访问的访问时间;以及,所述名字节点周期性地对所述管理队列中的每一数据块执行以下步骤:依据所述访问时间对应的权重值以及从所述历史访问数据中得到的访问频次数据计算该数据块在该机房的理论副本数量;如果该机房为该数据块的主机房,则将所述理论副本数量和预先为该数据块和该主机房配置的第一兜底数量中的最大值确定为该数据块在该主机房的期望副本数量;如果该机房为该数据块的非主机房,则:在该数据块的生命周期长度小于预设时长时,将所述理论副本数量和预先为该数据块以及该非主机房配置的第二兜底数量中的最大值确定为该数据块在该非主机房的期望副本数量;在该数据块的生命周期长度大于或等于所述预设时长时,将所述理论副本数量确定为该数据块在该非主机房的期望副本数量。15.根据权利要求14所述的系统,其特征在于,在所述期望副本数量小于所述当前副本数量时,所述名字节点删除该数据块在该机房的至少一个副本;其中,删除的副本数量等于所述当前副本数量与所述期望副本数量的差值;在所述期望副本数量大于所述当前副本数量时,所述名字节点增加该数据块在该机房的至少一个副本;其中,增加的副本数量等于所述期望副本数量与所述当前副本数量的差值;在所述增加过程中,对于该机房中欲存储该数据块的数据节点,当同一机房中存在已存储同一数据块的数据节点时,所述名字节点将该数据节点作为源节点进行复制;当同一机房中不存在已存储同一数据块的数据节点时,所述名字节点将已存储同一数据块的外部机房的数据节点作为源节点进行复制。16.根据权利要求12-15任一所述的系统,其特征在于,所述多个机房中的数据节点周
期性地向所述名字节点发送心跳信号以上报当前状态;以及,当所述名字节点基于所述心跳信号感知到任一机房的任一数据节点下线时,针对该数据节点存储的任一数据块:利用该数据块在该机房的历史访问数据确定该数据块在该机房的期望副本数量,如果该期望副本数量大于该数据块在该机房的当前副本数量,则增加该数据块在该机房的至少一个副本;其中,增加的副本数量等于该期望副本数量与该当前副本数量的差值;在执行该增加之前、之后或同时,如果所述名字节点判断该数据块具有所述跨机房分布标签,则将该数据块的标识写入所述管理队列;当所述名字节点基于所述心跳信号感知到任一机房的任一数据节点存在异常数据块时,删除该异常数据块;并利用所述异常数据块对应的正常数据块在该机房的历史访问数据确定该正常数据块在该机房的期望副本数量,如果该期望副本数量大于该正常数据块在该机房的当前副本数量,则增加该正常数据块在该机房的至少一个副本;其中,增加的副本数量等于该期望副本数量与该当前副本数量的差值;在执行该增加之前、之后或同时,如果所述名字节点判断该正常数据块具有所述跨机房分布标签,则将该正常数据块的标识写入所述管理队列;所述名字节点针对同一机房内的不同数据节点执行预设的负载均衡策略,在执行完成之后,基于所述心跳信号获取该机房内各数据节点当前存储的数据块的元数据。17.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。

技术总结
本发明公开了一种文件管理方法和装置及HDFS系统,涉及计算机技术领域。该方法的一具体实施方式包括:响应于客户端发送的文件写入请求,根据预先为待写入文件配置的副本分布标签,控制由待写入文件切分得到的数据块写入数据节点;副本分布标签包括跨机房分布标签,跨机房分布标签表征用于存储数据块的多个机房以及各机房存储的数据块副本的初始数量;对于具有跨机房分布标签的数据块,利用该数据块在任一机房的历史访问数据确定该数据块在该机房的期望副本数量,依据期望副本数量对该数据块在该机房的当前副本数量进行调整。该实施方式能够基于多机房、单集群的部署方式在多机房实现统一的副本分布策略,同时提高资源利用率。率。率。


技术研发人员:张华宗 王哲涵 吴维伟 黄涛 沙方浩
受保护的技术使用者:北京京东世纪贸易有限公司
技术研发日:2022.01.10
技术公布日:2022/4/22
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献