[发明专利]分布式文件系统日志提交方法、装置、设备及存储介质在审
| 申请号: | 202010105026.8 | 申请日: | 2020-02-20 |
| 公开(公告)号: | CN111339044A | 公开(公告)日: | 2020-06-26 |
| 发明(设计)人: | 张其万;孟祥瑞 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
| 主分类号: | G06F16/17 | 分类号: | G06F16/17;G06F16/18;G06F16/182 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张春辉 |
| 地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 分布式 文件系统 日志 提交 方法 装置 设备 存储 介质 | ||
本申请公开了分布式文件系统日志提交方法,该方法引入了日志写入相互覆盖的检测机制,在日志进行落盘操作时进行写入覆盖的实时判断,可以避免日志持续写入覆盖导致的日志解析失败的问题,在判定发生写入覆盖时,确定待落盘数据的正确写入位置,并控制待落盘数据根据正确写入位置进行日志落盘处理,可以保证每个日志都按照非覆盖的正确写入位置进行落盘,引导日志写入覆盖向正确写入循环,保证系统的长期可持续运行。本申请还提供了一种分布式文件系统日志提交装置、设备及一种可读存储介质,具有上述有益效果。
技术领域
本申请涉及电子技术领域,特别涉及一种分布式文件系统日志提交方法、装置、设备及一种可读存储介质。
背景技术
分布式文件存储系统中采用日志先写机制,用来保证数据的一致性,日志先写机制指所有的操作先写入日志,再写入文件系统。一个分布式存储集群中,具有多个mds(metadata server,元数据服务),比如3主3备mds的集群,rank id(mds的rank号)为rank0,rank 1,rank 2,共同提供元数据服务。
在某些特殊的情况下,可能会出现两个mds具有相同的rank id,比如一个具有mdsrank1节点的网络断开,该节点上的mds rank1仍然存在,其他节点的备用mds会接管rank1,当断开网络的节点连接网络时系统中就会出现两个rank 1。
而基于现有机制两个相同rank id的mds会发生journal日志落盘时互相覆盖的问题,比如:进行写操作,此时系统发生故障,可能会写入一半,而目前的日志先写机制规定保证要么完全写入数据,要么不写数据,当故障解决之后,会读取journal日志,解析完成journal之后,会进行相关操作,一旦磁盘中journal日志发生损坏并发生mds重启,mds重启过程中的replay阶段会产生无法解析损坏的日志文件的错误,严重影响系统的使用。
发明内容
本申请的目的是提供一种分布式文件系统日志提交方法,该方法可以保证journal日志正确落盘,不会发生损坏,提升产品稳定性;本申请的另一目的是提供一种分布式文件系统日志提交装置、设备及一种可读存储介质。
为解决上述技术问题,本申请提供一种分布式文件系统日志提交方法,包括:
确定待写入日志,并对所述待写入日志进行日志封装处理,得到封装后的待落盘数据;
对所述待落盘数据执行落盘操作,并实时判断是否发生写入覆盖;
若判定发生写入覆盖,确定所述待落盘数据的正确写入位置;
控制所述待落盘数据根据所述正确写入位置进行日志落盘处理。
可选地,所述实时判断是否发生写入覆盖,包括:
实时获取所述待落盘数据的即将写入位置以及正确写入位置;
判断所述即将写入位置是否大于所述正确写入位置;
若是,判定未发生写入覆盖;
若否,判定发生写入覆盖。
可选地,所述确定所述待落盘数据的正确写入位置,包括:
维护全局right_pos;
根据所述全局right_pos确定所述待落盘数据的正确写入位置。
可选地,所述分布式文件系统日志提交方法还包括:若判定发生写入覆盖,控制底层存储返回错误信息。
可选地,在对所述待落盘数据执行落盘操作之前,还包括:
判断所述待落盘数据是否大于最大日志条目数量或最大字节数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010105026.8/2.html,转载请声明来源钻瓜专利网。





