[发明专利]一种元数据更新方法、装置及元数据服务器有效
申请号: | 201910796997.9 | 申请日: | 2019-08-23 |
公开(公告)号: | CN110647514B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 孙业宽 | 申请(专利权)人: | 北京浪潮数据技术有限公司 |
主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/21;G06F16/23 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张春辉 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 更新 方法 装置 服务器 | ||
本申请公开了一种元数据更新方法、装置、元数据服务器及可读存储介质,方案包括:获取本地记录的目标文件的文件大小以及为目标文件分配的可写范围区段;利用二分查找法根据本地记录的文件大小和可写范围区段,从数据管理模块查找目标文件的最后写入的对象;根据最后写入的对象,确定目标文件的真实文件大小,并更新本地记录的文件大小。可见,该方案根据元数据服务器上记录的目标文件的文件大小以及为目标文件分配的可写范围区段,利用二分查找法查找目标文件的最后写入的对象,避免了传统方案逐个查找导致耗时过长的问题,显著提升了文件元数据恢复的效率。
技术领域
本申请涉及存储领域,特别涉及一种元数据更新方法、装置、元数据服务器及可读存储介质。
背景技术
在分布式文件系统使用过程中,客户端向集群中的文件写入数据的时候,写数据和写元数据会异步分离,即通过数据管理模块写入文件数据,写完后在后续时间里,客户端会使用异步更新元数据的方法,将缓存在内存中的文件大小等元数据信息更新到MDS。
但是,异步更新元数据在提升性能的同时也可能导致文件元数据大小不正确的问题,比如数据已经写入到数据管理模块,但是客户端还没有将新的大小信息更新到MDS,客户端所在的节点因发生断电或宕机导致其缓存的文件元数据信息丢失。
文件元数据丢失的情况下,需要进行文件元数据恢复。在恢复过程中,需要从数据管理模块遍历所有的对象,找到最后一个对象,据此确定文件的实际大小。这个过程会从MDS分配的“可写范围”最大值开始处理,假设“可写范围”是0~2G,文件实际大小是1G,从2G开始一直遍历到0,每个对象大小是4M,遍历过程就需要512次操作,导致单个文件恢复耗时就可能达到几十秒以上,效率极低。
可见,如何提升文件元数据恢复效率,是亟待本领域技术人员解决的问题。
发明内容
本申请的目的是提供一种元数据更新方法、装置、元数据服务器及可读存储介质,用以解决传统的文件元数据恢复方案效率低下的问题。具体方案如下:
第一方面,本申请提供了一种元数据更新方法,应用于分布式文件系统的元数据服务器,包括:
获取本地记录的目标文件的文件大小以及为所述目标文件分配的可写范围区段;
利用二分查找法根据所述本地记录的文件大小和所述可写范围区段,从数据管理模块查找所述目标文件的最后写入的对象;
根据所述最后写入的对象,确定所述目标文件的真实文件大小,并更新所述本地记录的文件大小。
优选的,所述利用二分法根据所述本地记录的文件大小和所述可写范围区段,从数据管理模块查找所述目标文件的最后写入的对象,包括:
将所述可写范围区段中最大值对应的偏移位置作为起点,所述本地记录的文件大小对应的偏移位置作为终点,确定所述起点和所述终点的中间点;
在数据管理模块中,判断所述中间点上是否存在所述目标文件的对象;
若所述中间点上存在所述目标文件的对象,判断该对象是否为所述目标文件的最后写入的对象;
若是,则确认查找得到所述最后写入的对象,否则将所述终点更新为当前的中间点,并重复查找过程。
优选的,所述判断该对象是否为所述目标文件的最后写入的对象,包括:
确定从所述中间点起沿着偏移量增大的方向与所述中间点相隔一个对象大小的偏移位置,判断该偏移位置是否为所述起点;若是,则确认该对象为所述目标文件的最后写入的对象,否则确认该对象不为所述目标文件的最后写入的对象。
优选的,所述根据所述最后写入的对象,确定所述目标文件的真实文件大小,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京浪潮数据技术有限公司,未经北京浪潮数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910796997.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于区块链技术的个人档案存储技术
- 下一篇:分布式绘图方法及装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置