StarRiver服务采用异步通信方式,除非有明确的时序关系,否则全部操作都可以认为是并行的。
-
task_todo: 记录待操作的命令。前台程序添加的用户指令,或是StarRiver服务添加的定时操作。 -
task_done: 记录已完成的命令的结果。命令完成后会从task_todo中删除,并在此插入一条记录。
- 控制器相关的表,加
controller_前缀; - 终端设备相关的表,加
device_前缀; - 前台程序相关的表,加
frontend_前缀。
除非明确指出,否则前台程序从 controller* 和 device* 表中读数据,写操作主要在 frontend* 和 task_todo 中进行。
StarRiver服务不写 frontend* 表。
前台程序和 StarRiver 服务器的时间同步:如果有 Internet 连接,都与 cn.pool.ntp.org NTP 服务器对时;否则可以考虑在局域网内由一台 Windows Server 或 Linux 主机作为 NTP 服务器,其他主机与该主机对时。
多个前台程序进程:依赖不同的用户名进行区分。暂不考虑软件上限制同一用户多处同时登录的情况。
假设表中某个字段定义了 N 个字节,但是某个协议只用 M 个字节 (M < N),默认都是用最低 M 个字节,除非有特殊说明。
目前仅支持系统下的控制器属于同一种协议。