Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
...
- 为了提升功能代码的内聚性,通过设计ILastCacheContainer接口,将LastCache操作与MNode解耦,由LasCacheContainer实现ILastCacheContainer接口,并封装lastCache数据,同时提供简单的lastCacheValue操作。
- 新建LastCacheManager,将MManager中与lastCache相关的操作代码尽可能迁移至 LastCacheManager,MManager中仅保留必要的mtree调用以及mnode获取操作。
- EntityMNode中增加Map<String, ILastCacheContainer>字段,用于存储template中序列的lastCache;MeasurementMNode中将原来的TimeValuePair替换为ILastCacheContainer,用于存储普通序列的lastCache。
2.3.2. 类设计
Image Removed
Image Added
类名 | 职责 |
StorageGroupProccessor | 与MManager进行交互,在数据插入、数据删除以及上传新tsfile的时候清空对应序列的lastCache |
LastQueryExecutor | Last查询执行类,调用MManager进行lastCache操作 |
MManager |
|
IEntityMNode与EntityMNode | 实体节点,存储由物理量模板所表示的时间序列的lastCache,即Map<String, ILastCacheContainer> |
IMeasurementMNode与MeasurementMNode | 物理量节点,手动创建时间序列时产生,存储其表示的时间序列的lastCache |
LastCacheManager | 封装所有的lastCache处理逻辑,并向mmanager提供lastCache操作接口 |
ILastCacheContainer | 最新点缓存项接口,声明最新点缓存的操作接口 |
LastCacheContainer | 实现ILastCacheContainer,定义对于一个最新点缓存值的基本操作 |
ILastCacheValue | 最新点缓存值接口,声明 |
UnaryLastCacheValue | 一元序列的最新点缓存值 |
VectorLastCacheValue | 多元序列的最新点缓存值,存储各分量对应的最新点的时间戳与数值 |
...