THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
原字节 | 含义 | 改动 | 改动后字节 | |||
---|---|---|---|---|---|---|
MAGIC_STRING | 5473 4669 6c65 | TsFile | 5473 4669 6c65||||
VERSION_NUMBER | 3030 3030 3032 | 版本号000002版本号000002(考虑2字节) | 版本号改成000003 | 3030 3030 3033|||
Chunk Header | 01 | chunk header marker | 放入Chunk Header中,改名为chunk type,若为04则表示chunk内只有一个page,不包含statistics | 01 | ||
00 0000 03 | string长度为3 | int 改成 varInt | 03||||
73 2e33 | s.3 | 73 2e33 | ||||
0000 0053 | chunk的大小是83字节 | int 改成 varInt | 53 | |||
0003 | 数据类型是float | short 改成 byte | 03 | |||
0000 0001 | chunk内page的个数 | 删除?? | ||||
0001 | Snappy压缩方法 | short 改成 byte | 01||||
0006 | GORILLA编码 | short 改成 byte | 06 | |||
Page Header | 0000 0020 | 解压后page data大小 | 删除?待讨论,如果删除,可能会导致解压时,多一次内存拷贝,建议保留,int 改成 varInt | 20 | varInt,一个page大小不能超过2G(做检查) | |
0000 001b | 解压前page data大小 | int 改成 varInt | 1b||||
Page Statistics | 0000 0000 0000 0001 | 页中有1个点count | long 改成 varInt | 01varInt,记得检查 | ||
0000 0000 0000 0001 | start_time | 0000 0000 0000 0001|||||
0000 0000 0000 0001 | end_time | 可以考虑改成与开始时间的delta值,用varInt存储(待讨论) | 0000 0000 0000 0001||||
4000 0000 | min_value(bool, text没有) | |||||
4000 0000 | 4000 0000 | max_value(bool, text没有) | ||||
4000 0000 | 4000 0000 | first_value | ||||
4000 0000 | 4000 0000 | last_value | ||||
4000 0000 | 4000 0000 0000 0000 | sum | 4000 0000 0000 0000(bool, text没有) | bool值需要支持sum,int、bool改成long类型 | ||
Page Data | 2004 1800 0d01 047f ff09 0138 0000 0000 0000 0001 0000 0040 c447 f8 | 27字节的数据 | 2004 1800 0d01 047f 0000 0001 0000 0040 | |||
Chunk Group Footer | 00 | marker | 00考虑放到前面,改成chunk group header | |||
0000 0010 | 设备名长度 | int 改成 varInt | 10 | |||
726f 6f74 2e74 7572 6269 6e65 312e 6431 | 设备名字 | 726f 6f74 2e74 7572 6269 6e65 312e 6431|||||
0000 0000 0000 0069 | chunk group data size | 删除 | ||||
0000 0001 | chunk number | 删除 | ||||
MemTable Version | 03 | MemTable version marker | 03 | |||
00 0000 0000 0000 65 | 版本是101 | 00 0000 0000 0000 65|||||
Metadatat Marker | 02 | 开始进入元数据区 | 02||||
ChunkMetadata(N个) | 0000 0003 | sensor名长度 | 删除 | |||
732e 33 | s.1 | 删除 | ||||
00 0000 0000 0000 0c | 该chunk的offset在12 | 00 0000 0000 0000 0c | ||||
0003 | 数据类型为float | 删除 | ||||
Chunk Statistics | 0000 0000 0000 0001 | chunk中有1个点 | long 改成 varInt | 01 | ||
0000 0000 0000 0001 | start_time | 0000 0000 0000 0001|||||
0000 0000 0000 0001 | end_time | 可以考虑改成与开始时间的delta值,用varInt存储(待讨论) | 0000 0000 0000 0001 | |||
4000 0000 | min_value | |||||
4000 0000 | 4000 0000 | max_value | 4000 0000||||
4000 0000 | first_value | 4000 0000|||||
4000 0000 | last_value | |||||
4000 0000 | 4000 0000 0000 0000 | sum | 4000 0000 0000 0000||||
TimeSeries Metadata | 新增 timeseries metadata type,若为00则表示不包含statistics | 01|||||
00 0000 03 | sensor名长度 | int 改成 varInt | 03||||
73 2e33 | s.1 | 73 2e33 | ||||
0003 | 数据类型为float | short -> byte | 03 | |||
0000 0000 0000 00a0 | ChunkMetadataList的offset | 0000 0000 0000 00a0|||||
0000 0041 | ChunkMetadataList的size | int 改成 varInt | 41 | |||
TimeSeries Statistics | 0000 0000 0000 0001 | 该序列在file中有1个点 | long 改成 varInt | 01 | ||
0000 0000 0000 0001 | start_time | |||||
0000 0000 0000 0001 | 0000 0000 0000 0001 | end_time | 可以考虑改成与开始时间的delta值,用varInt存储(待讨论) | 0000 0000 0000 0001|||
4000 0000 | min_value | 4000 0000|||||
4000 0000 | max_value | |||||
4000 0000 | 4000 0000 | first_value | 4000 0000||||
4000 0000 | last_value | |||||
4000 0000 | 4000 0000 0000 0000 | sum | 4000 0000 0000 0000||||
MetaDataIndex Node | 0000 0001 | 树的第二层,他有多少个孩子 | int 改成 varInt | 01 | ||
MetaDataIndex Entry(N个) | 0000 0003 | sensor名长度为3 | int 改成 varInt | 03|||
732e 33 | s.3 | 732e 33 | ||||
00 0000 0000 0000 e1 | offset of the child | |||||
00 0000 0000 | 0000 e100 0000 0000 0001 26 | endOffset of the last child | 00 0000 0000 0001 26||||
03 | Node type是Leaf_Measurement | 03 | ||||
MetaDataIndex Node | 0000 0001 | 树的第二层,他有多少个孩子树的第一层,他有多少个孩子 | int 改成 varInt | 01 | ||
MetaDataIndex Entry(N个) | 0000 0010 | 设备名长度为16 | int 改成 varInt | 10 | ||
726f 6f74 2e74 7572 6269 6e65 312e 6431 | 设备名 | 726f 6f74 2e74 7572 6269 6e65 312e 6431 | ||||
0000 0000 0000 0126 | offset of the child0000 0000 0000 0126 | |||||
0000 0000 0000 0142 | endOffset of the last child | 0000 0000 0000 0142 | ||||
02 | Node type是Internal_Measurement | Node type改成LEAF_DEVICE | 01 | |||
total chunk number | 0000 0001 | total chunk number | 删除 | |||
invalid chunk number | 0000 0000 | 无效的chunk number | 删除 | |||
Version Info | 00 0000 01 | version pair的个数 | int 改成 varInt | 01 | ||
Version Pair | 00 0000 0000 0000 9f | offset of current version00 0000 0000 0000 9f | ||||
00 0000 0000 0000 65 | 版本是10100 0000 0000 0000 65 | |||||
Bloom Filter | 0000 001f | bloom filter size | int 改成 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 0100 | filter size | int 改成 varInt | |||
8200 | 0000 0005 | hash function size | int 改成 varInt | 05 | ||
Footer | 0000 0078 | tsfile metadata size | int 改成 varInt | 78 | ||
MAGIC_STRING | 5473 4669 6c65 | TsFile5473 4669 6c65 |