You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
@startuml'https://plantuml.com/sequence-diagram
participant Events as eventparticipant DataTransferListener as entranceparticipant TsKvEventServiceImpl as eventSvcparticipant TsKvService as tskvSvcparticipant 其他服务或监听器 as os
== 事件统一入口 ==event -> entrance: push事件
== 根据主题处理不同事件 ==entrance -> eventSvc: push【latest】或【history】事件note over eventSvc: 处理topic包含v1/tskv的事件note over eventSvc: 【latest】或【history】事件处理 alt #LightBlue latest 事件 eventSvc -> tskvSvc: 【async】saveProtoLatest:将推送来的数据去重、新增最新数据 ||| else #Lavender history 事件 eventSvc -> tskvSvc: saveProtoTsKv:存储所有推送来的数据 eventSvc -> tskvSvc: 【async】saveProtoLatest:将推送来的数据去重、新增最新数据 ||| end ||| eventSvc -> os: 执行物计算(push CalcLogSaveEvent) eventSvc -> os: 执行过滤引擎(push FilterLogSaveEvent) ||| eventSvc -> eventSvc: 读application.yml配置中的属性列表:keys eventSvc -> eventSvc: 将keys中的每个基础属性添加am后缀,形成新的属性列表amKeys ||| loop dataProtoList alt #LightBlue 如果是基础属性,且>0 eventSvc -> eventSvc: 将dataProto添加到dataProtos ||| else #Lavender 如果是am属性 eventSvc -> eventSvc: 将dataProto添加到amList ||| else #Gray 其他 eventSvc -> eventSvc: 丢弃 end end ||| alt #LightBlue dataProtos非空 eventSvc -> tskvSvc: 【async】amSumProtos(dataProtos); ||| else #Lavender amList非空 eventSvc -> tskvSvc: hhDdMmYySum(amList); ||| eventSvc -> os: 峰平谷尖计算(push PeakEvent) ||| end |||
@enduml
|