浏览 3593 次
锁定老帖子 主题:如何做一个最完美的实时数据传输程序
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-02-01
年底公司没什么事,看到同事们都在刷各个不同的二手火车票网站,因为要得到最新信息要不停的F5,所以我想做一个实时更新最新数据的web程序,反正也没什么事情做。 我的思路是:利用ajax每秒访问数据库一次,如果有最新的数据就返回最新数据,完成小demo,功能也实现了,但是同事觉得我的思路不好,因为不停的访问数据库会影响效率,公司是做税务的,效率总是放在第一位的。 同事也提供了一个思路,利用ajax每秒访问后台但是不允许数据库,利用oracle的触发器,如果有新数据插入就允许访问相关数据库数据。 不知道能否用触发器控制一段java代码,这个暂且不说,就算可以实现效率会提高多少? 不知道大家是否有什么看法和新的思路,怎么样才能做一个最完美的实时数据传输程序。 ps:大家新年快乐,希望那些没买到票的都能买到票,能够顺利的回家过年。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-02-02
oracle中触发器是不能控制java的,假如可以也最好不要用
感觉你是想做个刷二手火车票网的东东,人家数据库又不会开放给你 如果你是自己的数据库,自然知道什么时候可以刷新 |
|
返回顶楼 | |
发表时间:2008-02-02
怎么定义 最完美?
是否可测试? |
|
返回顶楼 | |
发表时间:2008-02-04
dreaminjava 写道 如何做一个最完美的实时数据传输程序
年底公司没什么事,看到同事们都在刷各个不同的二手火车票网站,因为要得到最新信息要不停的F5,所以我想做一个实时更新最新数据的web程序,反正也没什么事情做。 我的思路是:利用ajax每秒访问数据库一次,如果有最新的数据就返回最新数据,完成小demo,功能也实现了,但是同事觉得我的思路不好,因为不停的访问数据库会影响效率,公司是做税务的,效率总是放在第一位的。 同事也提供了一个思路,利用ajax每秒访问后台但是不允许数据库,利用oracle的触发器,如果有新数据插入就允许访问相关数据库数据。 不知道能否用触发器控制一段java代码,这个暂且不说,就算可以实现效率会提高多少? 不知道大家是否有什么看法和新的思路,怎么样才能做一个最完美的实时数据传输程序。 ps:大家新年快乐,希望那些没买到票的都能买到票,能够顺利的回家过年。 “利用ajax每秒访问数据库一次,如果有最新的数据就返回最新数据”,刷的web上的数据来自你们自己公司? "公司是做税务的"? 不明白 |
|
返回顶楼 | |
发表时间:2008-02-04
用cache就可以了吧。。如果沒有新的數據,cahce就不會更新
|
|
返回顶楼 | |
发表时间:2008-02-04
这个设计了分布式系统consistency的设计了。有主动和被动两种,主动么就是每当数据库更新就主动通知客户端;被动么就是客户端不停发消息给数据库询问更新。
如果是内部的web,我觉得能不涉及数据库查询最好不要涉及,因为数据库和客户端(不管是终端用户还是管理员)都是你可以控制的,没必要通过数据库来保持信息的同步,不合算。 方法就是只要有一方更新了数据库车票信息,就发消息给所有的用户,让他们去更新数据库。其他时候就不用忙着刷新了。可以设几个消息的manager,每个manager下面一批用户,top level的发消息给manager要求更新,然后manager发消息给user通知更新。顺便manager也可以管理user的加入和离开或者dead,实习负载平衡。manager之间还可以选择容错和pick up,,, 很好玩的,建议自己写写,可以涉及到网络topology的架构,network overlay的管理,failure detection,等分布式架构的基础,,,, |
|
返回顶楼 | |
发表时间:2008-02-04
当然也可以做成p2p的来传递更新消息,建议看下chord distributed hashtable。
|
|
返回顶楼 | |
发表时间:2008-02-16
客户端的每次访问,为了效率不直接进行数据库查询,首选Cache.
剩下的核心问题是Cache如何更新?其一是数据库更新,通过触发器调用java代码,baidu "SQL 触发器 调用 外部", 路子倒是有,不过未免太ugly了。 是否可以考虑服务器端,每10秒进行一次数据库查询,获取最新数据更新Cache? 不过最后肯定会涉及一些同步操作。(类比下,两个人同时在网上定机票,都查询到还剩一张机票,那后下定的人肯定被告之已经被别人先定了) 楼主同事急切想买张火车票回家的心情可以理解,但要系统满足这样的需求好象不经济(你们财务系统的客户也未必就有这个需求)。试想一下Ctrip以及更多的其它类似的互联网系统,貌似也没见过有自动更新的。 |
|
返回顶楼 | |
发表时间:2008-02-16
我怎么看怎么觉得这个东西最大的问题是压根没人用。至于什么性能问题,远在十万八千里开外呢。
|
|
返回顶楼 | |