论坛首页 综合技术论坛

Internet的数据库信息推送技术实现

浏览 15317 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-06-23   最后修改:2011-06-24
  最近在做实时的监控系统,好多人都推荐采用服务器推送的方式来实现,于是乎,看了一个“基于Internet的数据库信息推送技术的研究和实现”的文章,貌似还是个小硕的论文,嘿嘿!
    认为这种推送需要由当数据库有新数据时及时告知服务器,然后服务器在通过推送的方式告知和服务器保持连接的客户端,也就是浏览器页面。。
    先来说说服务器推送到页面的方式吧,从服务器到WEB端页面有好多种实现方式,像什么Socket、Flash的Socket,基于Iframe的实现,AJAX长连接方式吧,
    而从数据库向服务器推送数据,数据库有变化调用触发器,通过扩展的存储过程(外部过程,dll)向服务器发送数据,这个扩展存储过程本质是一个函数,随同sqlserver注册,从属于微软的ODS(开放数据服务),方便在扩展存储过程传入和传出数据,不知道有没有人用过这种从数据库推送的方式,这种方式可靠不。
   而我问了一个XX培训的老师(不是此培训学校弟子,只是去玩,顺便探讨 ),他貌似很果断的都说了,他说触发器这种的是什么数据库级别的,不可靠云云,这是真的不。。。


  对于这个获取到数据经过计算之后马上推送到客户端,我想阐述一下:这里面有两个服务器,一个C++服务器向数据库里面插入,还有一个是Java这边得一个网页上服务器,C++的服务器已经写好了在这放着呢,不可能在更改他的内容了,而他只管向数据库里面插入数据,而不会在告知我这个Java服务器有新数据来了或者有新数据的信息,
  所以我才说能不能使用数据库获取到新数据主动推送到Java服务器这边,通过java服务器在推送到和他保持连接的页面上,
  而数据库获取到新数据告知服务器,我想只有触发器才能做到吧。。。。
  所以我想知道数据库触发器来推送新的数据信息这个是否可靠,
  当程序有新数据往内存里面存,这个是行不通的,1、两个不在一个服务器,一个是插入的C++服务器,处理数据信息,这个已经做好,因为一些原因,这个不会在变更了 2、java服务器,主管读取数据信息

 
  
   发表时间:2011-06-23  
有没有谁做过类似的东东
0 请登录后投票
   发表时间:2011-06-23  
奥义之舞 写道
有没有谁做过类似的东东

难道木有人做过类似的东西啊,交流一下呗 嘿嘿
0 请登录后投票
   发表时间:2011-06-24  
没有人做 还是木有人 交流啊。。。。
0 请登录后投票
   发表时间:2011-06-24  
奥义之舞 写道
没有人做 还是木有人 交流啊。。。。

淡定吧,楼主,

数据库我是没用过,不过按理说 触发器应该也是可以使用的吧,至于你说的调dll,我就不知道了
0 请登录后投票
   发表时间:2011-06-24  
浮生如斯 写道
奥义之舞 写道
没有人做 还是木有人 交流啊。。。。

淡定吧,楼主,

数据库我是没用过,不过按理说 触发器应该也是可以使用的吧,至于你说的调dll,我就不知道了

  
0 请登录后投票
   发表时间:2011-06-24  
一般也不会用数据库的,数据库只是存储介质。
消息推的时候一般是数据库做一次存储,同时放入内存容器。然后再从服务器推送出去。至于基于什么技术推就看你用什么了,长连接和falsh socket比较常见于基于web的即时消息
0 请登录后投票
   发表时间:2011-06-24  
dancewhyw 写道
一般也不会用数据库的,数据库只是存储介质。
消息推的时候一般是数据库做一次存储,同时放入内存容器。然后再从服务器推送出去。至于基于什么技术推就看你用什么了,长连接和falsh socket比较常见于基于web的即时消息

我也想往内存里面放,直接推送出去,可是向数据库插入数据的是另外一个服务器的,总不能让他通过WEBService在发过来信息吧,

所以 我想问一下 使用微软的ODS 能否通过sqlserver 向我服务器里面发送消息的。。。
0 请登录后投票
   发表时间:2011-06-24  
有什么关系吗?内存服务器可以是一个集群。用个内存池存放消息,轮询返回的速度非常快,还没明白意思吗?
数据库光是触发器就一般都不推荐使用,何况是在高并发的场景中。
0 请登录后投票
   发表时间:2011-06-24  
dancewhyw 写道
有什么关系吗?内存服务器可以是一个集群。用个内存池存放消息,轮询返回的速度非常快,还没明白意思吗?
数据库光是触发器就一般都不推荐使用,何况是在高并发的场景中。

内存池存放消息,这个消息从哪来,自己去数据库里面取么?

向数据库里面添加实时数据的是C++服务器,而读取的是Java服务器,向WEB端发送。。
0 请登录后投票
论坛首页 综合技术版

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