一、Report读逻辑
1、小时模式
1.1 当前小时读逻辑
请求当前小时报表,会发起远程调用请求,对每一个server发起一个/cat/r/model的请求。这个请求会调用LocalTransactionService从内存TansactionAnalyzer中读取报表,如果为空,则从磁盘中读取,最后将读取到的报表返回给调用端。
1.2 上一个小时的读逻辑
逻辑跟上面类似,区别在于,上一个小时的数据,一般都落盘了,都是从磁盘中读取的。
1.3 上上一个小时及更早以前(历史小时)
历史模式的数据直接调用TransactionReportService从数据库中读取。
2、历史模式
2.1 历史天、周、月
历史模式很简单,跟1.3 历史小时的读取方式类似,也是从数据库中读取。
二、Report写逻辑
1、实时小时落盘、落库逻辑
TODO
2、天、周、月报表落库逻辑
这种历史数据以定时任务的方式,固定周期从数据库读取,汇总,然后落库