大众点评Cat源码分析(四)——Report读写逻辑

一、Report读逻辑

1、小时模式

1.1 当前小时读逻辑

请求当前小时报表,会发起远程调用请求,对每一个server发起一个/cat/r/model的请求。这个请求会调用LocalTransactionService从内存TansactionAnalyzer中读取报表,如果为空,则从磁盘中读取,最后将读取到的报表返回给调用端。 输入图片说明

1.2 上一个小时的读逻辑

逻辑跟上面类似,区别在于,上一个小时的数据,一般都落盘了,都是从磁盘中读取的。

1.3 上上一个小时及更早以前(历史小时)

历史模式的数据直接调用TransactionReportService从数据库中读取。 输入图片说明

2、历史模式

2.1 历史天、周、月

历史模式很简单,跟1.3 历史小时的读取方式类似,也是从数据库中读取。

二、Report写逻辑

1、实时小时落盘、落库逻辑

TODO

2、天、周、月报表落库逻辑

这种历史数据以定时任务的方式,固定周期从数据库读取,汇总,然后落库 输入图片说明

转载于:https://my.oschina.net/liangxiao/blog/1583583

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Twincat是一个集成开发环境(IDE),主要用于工业自动化控制系统中的PLC(可编程逻辑控制器)编程。Twincat提供了丰富的函数库,用于编写和控制PLC程序。而PLC通讯是指PLC与其他设备(如传感器、执行器等)进行数据交换和通信的过程。 在使用Twincat进行PLC编程时,我们可以使用Twincat库来实现与外部设备的通讯。Twincat库中包含了各种通讯协议的函数和指令,可用于读取和写入外部设备的数据。通过调用这些函数和指令,我们可以实现与PLC以及其他设备的数据交换。 同时读写是指在PLC程序运行过程中,可以同时进行数据的读取和写入操作。Twincat库提供了异步操作的方式来实现同时读写。异步操作是指可以并行地进行多个操作,而不需要等待上一个操作完成。 通过Twincat库,我们可以使用异步读取和写入函数来实现同时读写。异步读取函数可以在等待数据返回的同时,继续执行下一条PLC指令。异步写入函数可以在数据写入的同时,继续读取或执行其他操作。 使用Twincat库和异步操作,可以实现PLC程序与外部设备之间的高效通讯。通过同时读写,可以实现与多个设备之间的数据交换,提高系统的响应速度和效率。 总之,Twincat库和PLC通讯可以同时进行读写操作,通过异步操作来实现并行的数据交换,提高系统的性能和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值