Versions Compared

Key

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

...

  • 获取 SeqTsFileList和UnseqTsFileList 中的所有设备 deviceSet中的所有设备和传感器 deviceSensorsMap(Map<Device, List<Sensor>>)
  • for device in deviceSet, sensors in deviceSensorsMap
    • 为 sensors 构建一个 bitMap,记录是否被合并,默认全部为 false
    • for seqFile in  SeqTsFileList
      • 新建一个临时 seqFile, 并建立 RestorableFileWriter writer 
      • 对于 seqFile 新建 ChunkMetadataListIterator
      • ChunkMetadataListIterator 中迭代获取该设备的 sensorList 及其对应的 List<ChunkMetadata> sensorChunkMetadataList(每次返回 max_degree_of_index_node 个 sensor),对于每一个迭代
        • for sensor, sensorChunkMetadataList:
          • 如果 sensorChunkMetadataList 不为空
            • 根据 算法1 将该 sensor 的 Chunk 与对应的 unseqReader 中的数据进行合并
            • 将该 sensor 在 bitMap 上的位置为 true
      • 如果当前的 seqFile 是最后一个 seqFile:
        • 将该 device 下在 bitMap 中记录未合并的 sensor 对应的 unseqReader 的数据写入这个 seqFile 的临时文件中

算法1

输入:sensor, sensorChunkMetadataList, unseqReader

...