Versions Compared

Key

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


5473 4669 6c653030 3030 303303011b010000 0000 0000 00010000 0000 0000 00014000 0000 0000 00002004 1800 0d01 047f
ff09 0138 0000 00000000 0001 0000 0040
c447 f800726f 6f74 2e74 7572 6269 6e65 312e 643100 0000 0000 0000 65020000 0000 0000 00014000 00004000 00004000 0000 0000 000001030000 0000 0000 00a00000 0000 0000 00014000 00004000 00004000 0000 0000 000003 0000 e100 0000 0000 0001 26

原字节含义改动改动后字节
MAGIC_STRING5473 4669 6c65TsFile
VERSION_NUMBER3030 3030 3032版本号000002版本号000002(考虑2字节)版本号改成000003





Chunk Header

01chunk header marker放入Chunk Header中,改名为chunk type,若为04则表示chunk内只有一个page,不包含statistics01
00 0000 03string长度为3int 改成 varInt
73 2e33s.373 2e33
0000 0053chunk的大小是83字节int 改成 varInt53
0003数据类型是floatshort 改成 byte03
0000 0001chunk内page的个数删除??
0001Snappy压缩方法short 改成 byte
0006GORILLA编码short 改成 byte06


Page Header

0000 0020解压后page data大小删除?待讨论,如果删除,可能会导致解压时,多一次内存拷贝,建议保留,int 改成 varInt20varInt,一个page大小不能超过2G(做检查)
0000 001b解压前page data大小int 改成 varInt





Page Statistics

0000 0000 0000 0001页中有1个点countlong 改成 varIntvarInt,记得检查
0000 0000 0000 0001start_time
0000 0000 0000 0001end_time可以考虑改成与开始时间的delta值,用varInt存储(待讨论)
4000 0000min_value(bool, text没有)
4000 00004000 0000max_value(bool, text没有)
4000 00004000 0000first_value
4000 00004000 0000last_value
4000 0000 4000 0000 0000 0000sum(bool, text没有)bool值需要支持sum,int、bool改成long类型
Page Data2004 1800 0d01 047f
ff09 0138 0000 0000
0000 0001 0000 0040
c447 f8


27字节的数据





Chunk Group Footer

00marker考虑放到前面,改成chunk group header
0000 0010设备名长度int 改成 varInt10
726f 6f74 2e74 7572 6269 6e65 312e 6431设备名字
0000 0000 0000 0069chunk group data size删除
0000 0001chunk number删除


MemTable Version

03MemTable version marker03
00 0000 0000 0000 65版本是101
Metadatat Marker02开始进入元数据区








ChunkMetadata(N个)













0000 0003sensor名长度删除
732e 33s.1删除
00 0000 0000 0000 0c该chunk的offset在1200 0000 0000 0000 0c
0003数据类型为float删除





Chunk Statistics

0000 0000 0000 0001chunk中有1个点long 改成 varInt01
0000 0000 0000 0001start_time
0000 0000 0000 0001end_time可以考虑改成与开始时间的delta值,用varInt存储(待讨论)0000 0000 0000 0001
4000 0000min_value
4000 00004000 0000max_value
4000 0000first_value
4000 0000last_value
4000 0000 4000 0000 0000 0000sum









TimeSeries Metadata

















新增 timeseries metadata type,若为00则表示不包含statistics
00 0000 03sensor名长度int 改成 varInt
73 2e33s.173 2e33
0003数据类型为floatshort -> byte03
0000 0000 0000 00a0ChunkMetadataList的offset
0000 0041ChunkMetadataList的sizeint 改成 varInt41









TimeSeries Statistics

0000 0000 0000 0001该序列在file中有1个点long 改成 varInt01
0000 0000 0000 0001start_time
0000 0000 0000 00010000 0000 0000 0001end_time可以考虑改成与开始时间的delta值,用varInt存储(待讨论)
4000 0000min_value
4000 0000max_value
4000 00004000 0000first_value
4000 0000last_value
4000 0000 4000 0000 0000 0000sum





MetaDataIndex Node





0000 0001树的第二层,他有多少个孩子int 改成 varInt01


MetaDataIndex Entry(N个)

0000 0003sensor名长度为3int 改成 varInt
732e 33s.3732e 33
00 0000 0000 0000 e1offset of the child

00 0000 0000 00 0000 0000 0001 26endOffset of the last child

03Node type是Leaf_Measurement03



MetaDataIndex Node





0000 0001树的第二层,他有多少个孩子树的第一层,他有多少个孩子int 改成 varInt01



MetaDataIndex Entry(N个)

0000 0010设备名长度为16int 改成 varInt10
726f 6f74 2e74 7572 6269 6e65 312e 6431设备名726f 6f74 2e74 7572 6269 6e65 312e 6431
0000 0000 0000 0126offset of the child0000 0000 0000 0126

0000 0000 0000 0142endOffset of the last child0000 0000 0000 0142

02Node type是Internal_MeasurementNode type改成LEAF_DEVICE01
total chunk number
0000 0001total chunk number删除
invalid chunk number
0000 0000无效的chunk number删除
Version Info
00 0000 01version pair的个数int 改成 varInt01


Version Pair


00 0000 0000 0000 9foffset of current version00 0000 0000 0000 9f

00 0000 0000 0000 65版本是10100 0000 0000 0000 65




Bloom Filter


0000 001fbloom filter sizeint 改成 varInt1f

00 0000 0040 0000 0000 0000 0000
0100 0000 2000 0000 0020 0000 0000 0000 0004


bloom filter data



00 0000 0040 0000 0000 0000 0000
0100 0000 2000 0000 0020 0000 0000 0000 0004
0000 0100filter sizeint 改成 varInt

82000000 0005hash function sizeint 改成 varInt05
Footer
0000 0078tsfile metadata sizeint 改成 varInt78
MAGIC_STRING
5473 4669 6c65TsFile5473 4669 6c65