服务器端有10000个MODBUS保持寄存器用来存放点的状态。
客服端周期来轮询这些寄存器来查询点的状态变化.
目前我设计了一个3级索引表:
1级:8个MODBUS寄存器用来表示8类事件(点的状态);
2级:100个分段寄存器;
3级:100个寄存器;
注:之所以2级时分为100个分段寄存器,是因为modbus一次通讯最多只能读取120多个寄存器内容。
具体流程如下:
正常在情况下只轮询这8个寄存器,如某一类事件有变化,服务器端会更新这8个寄存器中对应的某一个寄存器的内容,一旦客服端查询到有变化,接着轮询100个分段寄存器,同样再查询此100分段寄存器中是否内容是否有变化,再去轮询某一个段中100个寄存器。
现在问题是:我的这个索引是否比较合理,有没有更优化的索引方法?
请赐教!