所有 s/w 都是基于 Windows 的,用 Delphi 编码。
有些人提交了一些数据,我通过 TCP 将这些数据发送到运行 MySql 的数据库服务器。
其他一些人将通过/失败添加到他们的数据并更新数据库。
第三组只是在看报告。
现在,第一组可以看到他们提交的内容的历史记录。当第二组添加通过/失败时,我想更新他们的历史记录。我的选择似乎是
- 定期盲目地刷新历史记录(在 Delphi 中,我显示在数据库网格上,所以我会关闭然后打开查询),但这似乎效率低下。
- 定期询问数据库服务器在过去 X 分钟内是否有任何变化。
- 永远不要轮询数据库服务器,而是让它在发生变化时通知用户的应用程序。
1 似乎效率低下。2似乎更好。3 减少了 TCP 流量,但这并不多。反正每2只占几个字节。不过,它的缺点是现在双方都是TCP客户端和服务器。
同样,如果第三组的成员正在查看报告,并且前两组中的任何一个的成员更新数据,我希望在报告中反映这一点。最好的方法是什么?
我想有两点需要考虑。最重要的是,减少网络流量,更重要的是,让我的代码更简单。
我确信这是一个非常常见的模式,但我对这种事情很陌生,所以欢迎提出建议。提前致谢。
[更新] 关闭选民,我用谷歌搜索并找不到答案。我希望对您的经验有所帮助。你能帮我改写这个可以接受吗?或者也许给一个对我有帮助的UTL?谢谢