本人要做一个生产线监控系统(B/S),有一个问题急需解决,就是如何在监控数据更新时实时通知Web服务器,再由Web服务器通知客户端(这个暂有客户端轮询、comet等方法)。    数据采集端  --->  Web服务器 ---> Web客户端  这个问题暂有一个解决方法,就是把所有实时数据都存入数据库。当客户端每次轮询时,Web服务器就访问数据库并返回最新的数据。
  但这个方法有一些问题:
  1、由于每条监控数据间隔很短,大约几百毫秒甚至几十毫秒,这样会频繁访问数据库,会对数据库造成很大的负担。
  2、还有很多数据存入数据库并没有多大意义。
  
  查阅相关资料,有提到一些方法:
  1、其中有一篇文章提到“当实际管道的实际流量改变时,来自传感器的实时数据通过数据库设置的触发器定时更新Web的监控界面”。关于用触发器更新的方法,小弟对web编程不太熟悉,不知道如何使用?
  2、还有人是使用Web服务器和数据采集程序共享window内存的。小弟以为只有客户端请求页面时,服务器才会将页面文件调入内存解释执行并返回,其他时候就是个静态文件?或者是自己编写CGI(这个更不清楚了,呵呵)。
  
   请高人指点以上问题!小弟感激不尽!

解决方案 »

  1.   

    学习下。。
    我讲下我的思路。。WEB服务端写一个代码,每隔固定的时间,去采集数据。
    //--
    然后在WEB服务器处理任务。最后存储在一个文件中。同时,用另一文件写上时间戳。
    //--
    客服端去轮询这个带有时间戳的文件,如果发现有变化,就去获取那个存储的文件。。关键是//--这个段内的业务逻辑处理对于大数据量而且重复数据处理时间过长不太适合。期待楼下。