论坛首页 Java企业应用论坛

java如何做到实时-----两种方案

浏览 20137 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-11-10   最后修改:2009-11-10
今天老大提出这样的需求:"数据库新增了数据就要及时通知应用层做一系列的处理"

针对这需求我觉得应该分为两种方案: 如有更好的欢迎大家指教

第一:
      SQL+存储过程+触发器+DLL调用的方法来实现数据实时

第二:
     后台弄一个线程做定时查询(例如1秒钟2次查询),但这里就涉及到性能的问题,对于庞大的数据量我觉得有个方案
     做个临时表
      比如A表是原来的数据库表 那么把一个小时(时间自定)内的数据放到临时B表里,每隔1小时清空B表里的数据,要数据就索引B表里的数据,然后再做相应的处理
    
   发表时间:2009-11-10  
对数据库端口进行监听
然后使用代理模式
1 请登录后投票
   发表时间:2009-11-10  
sdnasky 写道
对数据库端口进行监听
然后使用代理模式


端口监听只能监听数据,不能判断数据的操作吧
1 请登录后投票
   发表时间:2009-11-10  
只要你想,就可以,阅读数据库传输协议
0 请登录后投票
   发表时间:2009-11-10  
哈,前几天刚写了一篇这个主题的帖子
http://www.iteye.com/topic/509307
看看是否有用

0 请登录后投票
   发表时间:2009-11-10  
shevliu 写道
哈,前几天刚写了一篇这个主题的帖子
http://www.iteye.com/topic/509307
看看是否有用



这位兄弟,你的那个对我的来说不怎么适用,但你的很新颖,对于我的场景,我觉得还是第一个方案好

sql调用 insert Trigger 然后调用 proc 然后调用 dll
0 请登录后投票
   发表时间:2009-11-10  
....
只要统一数据库操作的入口不就做到了,你爱杂折腾咋折腾,而且这种方式对数据库没有任何额外的操作
1 请登录后投票
   发表时间:2009-11-10   最后修改:2009-11-10
数据库更新成功之后, 用JMS来通知. 不管这个应用层是否在同一个JVM里, 扩展性不错.
0 请登录后投票
   发表时间:2009-11-10  
从数据源入手,使用代理模式封装数据源,在其中解析sql命令,如果是涉及指定表的变更操作(如insert、delete、update)等,调用相关应用程序。
0 请登录后投票
   发表时间:2009-11-10  
查一下Oracle Stream相关资料
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics