Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

大致流程

  • 空间内合并的文件选择
    • 空间内合并是从低层向高层搜索某层若满足连续10个文件或文件总大小超过2G则将该批文件封装到一个合并任务里,因此一次搜索某层可能出现好几批待合并文件,分别封装成好几个合并任务空间内合并是从低层向高层搜索某层若满足连续预设数量个文件或文件总大小超过预设则将该批文件封装到一个合并任务里,因此一次搜索某层可能出现好几批待合并文件,分别封装成好几个合并任务


  • 跨空间合并的文件选择
    • 跨空间合并则是针对该虚拟存储组下该时间分区下的所有乱序文件与其有Overlap的顺序文件都封装在一个合并任务里。

    • 具体判断是否有Overlap的方法是:

      • 遍历每个乱序文件里的每个ChunkGroup
        • 遍历每个候选顺序文件,获取unseqStartTime, unseqEndTime, seqStartTime, seqEndTime
          • 若unseqEndTime<seqStartTime && 该乱序文件没有一个overlapped顺序文件,则选中该顺序文件,后面没有overlap顺序文件.
          • 若该顺序文件isNotClosed,则选中该顺序文件,因为不知道它是否有重叠
          • 若unseqEndTime<=seqEndTime,则选中该顺序文件,后续没有overlap顺序文件
          • 若unseqStartTime<=seqEndTime,则选中该顺序文件,后续可能还有overlap顺序文件

...