发明名称 一种并行重放文件系统重做日志的方法
摘要 本发明公开一种并行重放文件系统重做日志的方法,包括:步骤1、利用一个读日志线程从文件系统的重做日志中按序读取重做日志条目并追加到更新动作链表;步骤2、利用多个重放工作线程按序扫描链表,如果存在未处理的重做日志条目,重放工作线程按序分别取出一个重做日志条目,并按照保证更新动作之间逻辑关系正确的原则判断重做日志条目是否可执行重放:如是,则该重放工作线程重放重做日志条目;如否,则挂起重做日志条目;步骤3、完成重放的重放工作线程判断是否有等待该元数据更新动作完成的更新动作:如是,则该重放工作线程唤醒对应的重放工作线程,重新按序扫描链表;如否则直接扫描链表。本发明有效的提高了文件系统重做日志的重放效率。
申请公布号 CN106294626A 申请公布日期 2017.01.04
申请号 CN201610623786.1 申请日期 2016.08.02
申请人 极道科技(北京)有限公司 发明人 吴江;姚维华
分类号 G06F17/30(2006.01)I;G06F9/48(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京正理专利代理有限公司 11257 代理人 付生辉;毛唯鸣
主权项 一种并行重放文件系统重做日志的方法,其特征在于,该方法包括如下步骤:步骤1、利用一个读日志线程从文件系统的重做日志中按序逐条读取重做日志条目,并将重做日志条目顺序追加到一个更新动作链表中;步骤2、利用多个重放工作线程按重做日志条目在更新动作链表中的顺序扫描更新动作链表,判断是否存在未处理的重做日志条目:如果存在,则重放工作线程按重做日志条目在更新动作链表中的顺序分别取出更新动作链表中的一个重做日志条目,并按照保证元数据更新动作之间逻辑关系正确的原则判断该重放工作线程读取的重做日志条目是否可执行重放:如是,则该重放工作线程重放读取的重做日志条目;如否,则该重放工作线程挂起读取的重做日志条目直到该重放工作线程被其他的工作线程唤醒;如果不存在,则重放工作线程重复按重做日志条目在更新动作链表中的顺序扫描更新动作链表直到存在未处理的重做日志条目;步骤3、完成重放其读取的重做日志条目的重放工作线程判断是否有等待该重做日志条目中包含的文件系统的元数据更新动作完成的其他文件系统的元数据更新动作对应的重做日志条目可被唤醒执行:如是,则该重放工作线程唤醒可被唤醒执行的重做日志条目的重放工作线程重放读取的重做日志条目,转入步骤4;如否,则转入步骤4;步骤4、完成重放其读取的重做日志条目的重放工作线程重新按重做日志条目在更新动作链表中的顺序扫描更新动作链表。
地址 100083 北京市海淀区学清路38号金马大厦B座16层