数采异步处理流程(优化)
2022-07-15 15:55:40 0 举报
应用于不同设备的终端数据采集系统,数据本地异步处理,DB熔断设计,提升系统可用性。
作者其他创作
大纲/内容
执行存储数据
业务处理模块(业务线程池 )
否
判断连接是否可用
读取本地文件中json数据,删除文件
是
判断解析数据格式是否正确
接收设备数据
数据异步处理模块
结束
get
获取DB连接状态
更新内部状态
再次解析数据(将json根据指令解析出具体的POJO对象)
记录Log日志(正式服务只记录异常日志)
返回DB处理结果
生成文件并写入Json数据
获取DB连接
判断指令是否正确
监听DB异常(每秒执行一次)
协议对接模块(Http、Socket)
数据处理模块(DB连接池)
数采程式(异步数据处理——改善版)
优点:异步数据处理可以加快系统对设备相应的速度。风险点:但是DB异常后设备无法感知异常,依旧大量发送数据,会造成业务线程队列中的等待处理的数据对象剧增。进而造成内存、CUP升高,影响协议对接模块处理速度。若DB一直无法恢复则最终会GC异常,程式宕机。
update
异常监听器(DB异常监听)
读文件数据线程
异常监听线程
监听DB状态
返回OK数据给设备
初步解析数据(解析command指令)
数据存储至DB
本地数据存储模块
判断有数据文件
存储数据至DB
DB连接状态
不断循环
调用具体数据处理模块
收藏
0 条评论
下一页