我设计一个SCADA系统,由至少3个节点组成,每个节点运行进程3~8个;
对于每个进程,有各种状态,如:运行时间,数据处理次数,遥控次数,数据库读取次数;
用于表示进程的各个功能是否处于正常运行;有点类似日志;我考虑了一个方案:
1)一个网管程序,定时收集各个进程的状态;
2)每个应用进程设置一个专用共享内存,各个进程填写自己的运行状态和一些历史数据;如:
SCADA节点上有3个进程,NetManager.exe;SCADA.exe;DataSave.exe;
1> 网管进程:NetManager.exe;
2> SCADA.exe设置共享内存:名称为:SCADA.exe_STAT_SHM;
3> DataSave.exe设置共享内存:名称为:DataSave.exe_STAT_SHM;SCADA.exe和DataSave.exe分别将自己的状态写入自己的共享内存;
网管进程分别读这2个共享内存,获得状态;这种方法是否好?
大家还有什么好方案?