一种基于PINGPONG日志的文件系统事务管理方法技术方案

技术编号:33127297 阅读:46 留言:0更新日期:2022-04-17 00:38
本发明专利技术属于计算机系统软件专业技术领域,涉及一种基于PINGPONG日志的文件系统事务管理方法,该方法用于解决系统突发掉电情况下文件系统的可靠性问题。一种基于PINGPONG日志的文件系统事务管理方法包括五个步骤:1.对文件系统的空间和节点分配情况采用两级位图进行维护;2.系统维护两份事务点日志记录,分别代表文件系统的两个事务状态;3.针对用户文件数据,设计节点日志对用户修改的节点进行信息维护;4.挂载时根据文件系统事务操作流程执行文件系统可靠挂载;5.挂载时根据用户文件数据恢复流程执行文件修改内容恢复。实施本发明专利技术设计的基于PINGPONG日志的文件系统事务管理方法后,可解决掉电等异常情况下文件系统的可靠性问题。问题。问题。

【技术实现步骤摘要】
一种基于PINGPONG日志的文件系统事务管理方法


[0001]本专利技术属于计算机系统软件
,具体提出一种基于PINGPONG日志的文件系统事务管理方法。

技术介绍

[0002]事务管理技术是为了解决在各种异常情况下,本地文件系统的元数据不一致的问题。但对于用户而言,本地化文件访问与存储的可靠性不仅意味着在异常掉电等情况下整个文件系统不崩溃,更意味着用户最后操作的文件与数据能够尽可能恢复,丢失的数据越少越好。考虑到日志处理技术在数据恢复时较为简单,需要额外占用存储空间,而事务处理技术空间开销小,状态易控制,管理较为复杂,必须综合考虑,使用事务管理技术保证整个文件系统在异常情况下不会崩溃,使用传统日志管理技术保证用户的数据能够尽可能恢复。所以本项目提出了基于PING

PONG日志的事务一致性保证技术。

技术实现思路

[0003]本申请提供一种基于PINGPONG日志的文件系统事务管理方法,能够解决掉电能异常情况下文件系统状态的一致性问题,确保整个文件系统在异常情况下不会崩溃,用户的数据能够尽可能恢复。
[0004]技术方案:本申请提供一种基于PINGPONG日志的文件系统事务管理方法,所述方法包括以下步骤:
[0005]第1步:预先设置文件系统关于空间和节点分配情况的一级位图和二级位图,其中,所述一级位图包括事务位图0和事务位图1,所述二级位图包括空闲空间位图0、空闲空间位图1、空闲节点位图0和空闲节点位图1;
[0006]第2步:预先设置文件系统的事务点0日志记录和事务点1日志记录;
[0007]第3步:预先设置文件系统的节点日志,所述节点日志用于对节点表中的用户待修改的节点进行备份;
[0008]第4步:当文件系统异常掉电,上电重新挂载时,对比事务点0日志记录和事务点1日志记录的序列号,识别当前的有效事务点,另一个事务点则为当前工作事务;
[0009]第5步:根据当前的有效事务点,获取对应的有效事务位图;
[0010]第6步:结合有效事务位图,可以获取有效事务的空间和节点分配情况;
[0011]第7步:根据有效事务的空间和节点分配情况,获取文件系统的二级位图;
[0012]第8步:在所述获取的文件系统的二级位图中,对所述二级位图进行分配和修改。
[0013]具体的,所述事务点0日志记录和所述事务点1日志记录,均包括所属事务点序列号、空闲数据块、空闲节点数目及待删除的节点。
[0014]具体的,第4步具体包括:
[0015]若事务点0日志记录的序列号大于事务点1日志记录的序列号,则事务点0日志记录为当前的有效事务点,事务点1日志记录为当前工作事务;
[0016]若事务点0日志记录的序列号小于事务点1日志记录的序列号,则事务点1日志记录为当前的有效事务点,事务点0日志记录为当前工作事务。
[0017]具体的,第5步,具体包括:
[0018]若当前的有效事务点为事务点0日志记录,则对应的有效事务位图为事务位图0;
[0019]若当前的有效事务点为事务点1日志记录,则对应的有效事务位图为事务位图1。
[0020]具体的,第6步,具体包括:
[0021]若有效事务位图为事务位图0,则有效事务的空间和节点分配情况对应空闲空间事务位图0和空闲节点事务位图0;
[0022]若有效事务位图为事务位图1,则有效事务的空间和节点分配情况对应空闲空间事务位图1和空闲节点事务位图1。
[0023]具体的,第7步,具体包括:
[0024]空闲空间事务位图0中的0对应文件系统的二级位图中的空闲空间位图0;
[0025]空闲空间事务位图0中的1对应文件系统的二级位图中的空闲空间位图1;
[0026]空闲节点事务位图0中的0对应文件系统的二级位图中的空闲节点位图0;
[0027]空闲节点事务位图0中的1对应文件系统的二级位图中的空闲节点位图1。
[0028]具体的,在第4步之后,方法还包括:
[0029]若节点日志的事务号与系统当前有效事务号不一致时,则通过节点日志对修改节点的数据内容进行恢复;
[0030]若节点日志的事务号与系统当前有效事务号一致时,则丢弃节点日志数据,通过节点表中的数据对修改节点的数据内容进行恢复。
[0031]具体的,节点表包含文件系统的所有节点信息,每个节点包含的信息包括文件类型、文件大小、文件块数、文件创建时间、文件修改时间、文件访问时间及文件数据对应的各级索引块。节点日志包括事务号、节点号及待修改节点对应的节点信息。
[0032]本专利技术具有的优点效果:通过设计PINGPONG日志,对文件系统维护两个状态记录(事务点日志记录、事务位图、空闲空间位图、空闲节点位图),掉电情况下通过系统回滚到上一个有效状态来保证文件系统状态的一致性,解决异常掉电下文件系统的可靠性问题。通过设计节点日志来对待修改的用户数据进行备份存储,以实现掉电情况下用户数据的恢复,确保用户数据状态的一致,且仅允许有少部分内容丢失。
附图说明
[0033]图1为本申请实施例提供的一种基于PINGPONG日志的文件系统事务管理方法应用的事务组织结构的示意图;
[0034]图2为本申请实施例提供的一种节点日志示意图。
具体实施方式
[0035]如图1所示,本专利技术的技术方案:一种基于PINGPONG日志的文件系统事务管理方法,包括以下步骤:
[0036]第1步:预先设置文件系统关于空间和节点分配情况的一级位图和二级位图,其中,所述一级位图包括事务位图0和事务位图1,所述二级位图包括空闲空间位图0、空闲空
间位图1、空闲节点位图0和空闲节点位图1;
[0037]需要说明的是,对文件系统的空间和节点分配情况采用两级位图进行维护,一级位图的每1位代表了使用二级位图的哪一个。
[0038]具体的,事务位图分为空闲空间事务位图和空闲节点事务位图,空闲空间事务位图和空闲节点事务位图的原理相同,空闲空间事务位图的每一个位置代表对应的空闲空间位图的某个块,其值为0代表该事务点应该使用空闲空间位图0的数据块,为1代表事务点应该使用空闲空间位图1的数据块。空闲节点事务位图的每一个位置代表对应的空闲节点位图的某个节点,其值为0代表该事务点应该使用空闲节点位图0的该节点,为1代表事务点应该使用空闲节点位图1的该节点。
[0039]第2步.预先设置文件系统的事务点0日志记录和事务点1日志记录;
[0040]需要说明的是,文件系统维护两份事务信息,事务点0日志记录和事务点1日志记录。两份日志交替提交,互为PING

PONG,任一时刻均存在一个已经提交的事务点和正在提交的事务点,直到下一次提交时,两者状态互换。
[0041]具体的,事务点0日志记录和事务点1日志记录,均包括所属事务点序列号、空闲数据块、空闲节点数目及待删除的节点。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于PINGPONG日志的文件系统事务管理方法,其特征在于,所述方法包括以下步骤:第1步:预先设置文件系统关于空间和节点分配情况的一级位图和二级位图,其中,所述一级位图包括事务位图0和事务位图1,所述二级位图包括空闲空间位图0、空闲空间位图1、空闲节点位图0和空闲节点位图1;第2步:预先设置文件系统的事务点0日志记录和事务点1日志记录;第3步:预先设置文件系统的节点日志,所述节点日志用于对节点表中的用户待修改的节点进行备份;第4步:当文件系统异常掉电,上电重新挂载时,对比事务点0日志记录和事务点1日志记录的序列号,识别当前的有效事务点,另一个事务点则为当前工作事务;第5步:根据当前的有效事务点,获取对应的有效事务位图;第6步:结合有效事务位图,可以获取有效事务的空间和节点分配情况;第7步:根据有效事务的空间和节点分配情况,获取文件系统的二级位图;第8步:在所述获取的文件系统的二级位图中,对所述二级位图进行分配和修改。2.根据权利要求1所述的文件系统事务管理方法,其特征在于,所述事务点0日志记录和所述事务点1日志记录,均包括所属事务点序列号、空闲数据块、空闲节点数目及待删除的节点。3.根据权利要求1所述的文件系统事务管理方法,其特征在于,第4步具体包括:若事务点0日志记录的序列号大于事务点1日志记录的序列号,则事务点0日志记录为当前的有效事务点,事务点1日志记录为当前工作事务;若事务点0日志记录的序列号小于事务点1日志记录的序列号,则事务点1日志记录为当前的有效事务点,事...

【专利技术属性】
技术研发人员:杨琼任晓瑞王冬张鹏
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:

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

1