解决问题

  过路人遇到一位醉汉在路灯下,跪在地上用手摸索。他发现醉汉正在找自己房屋的钥匙,便想帮助他,问道:“你在什么地方丢掉的呢?”醉汉回答是在他房子的大门前掉的。过路人问:“那你为什么在路灯下找?”醉汉说:“因为我家门前没有灯。”

  似乎,我也犯过这种错误,在以前的软件开发之中,有一个功能要求数据库的数据在变化后,能够及时地反馈到应用程序之中。当时采用的是SQL Server2000,这种静态关系数据原本就不是干这个的。当时的解决方案寻找了许多,我力图为了避免性能损耗来实现这个功能。后来折腾了许久,决定利用SQL Server2000的通知服务来进行,当时对这些玩意不熟悉,但我坚持认为总有解决的办法,于是想的就是看看文档就应该懂了。后来,看了文档之后,更加郁闷:光是写这玩意就起码要写个几天。最终,采用的方案是前台应用程序放置一个TIME,每隔几秒轮询一下数据库,但总的来说,感觉还是不够好,因为较多的客户端时,明显会带来极大的性能压力,尽管在程序中专门优化了许多地方,以减轻数据流量,但为此不得不付出了大量的无意义的劳动。直到过了好久,一直感觉这是一个难题,后来又想想,更觉得郁闷,较好的解决方案明显是写一个服务端专门用于实时数据处理,对于实时的变化可以让应用程序间进行交互,而数据的保证工作则可以由服务端来统一处理。
  这个如果在.NET实现,可以考虑使用Web Service或Remoting来实现的一个代理,然后在客户端只进行数据的获取与数据,至于保存什么的,完全可以不去管它。
posted @ 2005-07-12 14:02  一根神棍研古今  阅读(1010)  评论(2编辑  收藏  举报
Web Counter