论坛首页 Java企业应用论坛

这种需求,大家看看有没有比较好的解决方案

浏览 15195 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-06-25   最后修改:2010-06-28

在我们的应用中,碰到了如图所示的一种网络结构。

 

重新描述一下吧。

 

网络A和网络B之间有防火墙进行隔离,网络B不能对网络A发起任何形式的连接访问,网络A中的服务器A上运行了一套数据迁移程序以及该数据迁移程序的Web监测控制台(其作用是对数据迁移程序进行监测和控制,比如查看其运行状态、数据处理日志等,这是监测。另外还有控制,比如数据迁移程序的停止、启动、重启、程序更新部署等),数据迁移程序可以通过jdbc连接网络B中部署的数据库服务器,除此之外,网络A和网络B不能进行任何交互访问。网络B中的服务器B可以访问网络B中的数据库服务器,网络B中的服务器B可以被Internet上的客户机访问。现在的需求是,我们想通过这样一种网络结构,在Internet的客户机上,对运行于网络A中的服务器A上的数据迁移程序进行监测与控制,也就是说有没有一种什么方法,可以间接的访问到网络A中服务器A上的数据迁移Web控制台。

 

前提是,我上边描述的网络结构,硬件,防火墙设置等不能做任何更改(这是客户的要求)。

 

大家看看,是否可以利用网络B中的数据库服务器作为中介,采用一种间接的方式来对Web控制台进行访问?

   发表时间:2010-06-25   最后修改:2010-06-25
引用

在我们的应用中,碰到了如图所示的一种网络结构。位于网络A中的服务器A可以单向访问网络B中的服务器B,网络B不能以任何形式访问网络A,网络A的服务器A上部署着一套Web监控管理系统,对网络A中的某些资源进行监控和管理,位于Internet网络上的客户机可以访问网络B中的服务器B。现在的问题是,我们想要在Internet的客户机上,访问网络A中部署在A服务器上的Web监控管理系统。通过分析,直接访问应该是不太可能实现的,有没有一种间接的方法呢?[img]/upload/picture/pic/65761/9dc6645d-162d-3fc3-ae81-7b2359ba8661.bmp" alt="[/img]


写黑客软件?
0day下载几个都试试

从A download B服上的文件 (最好是动态语言的那种) 返回结果 updata到B服上.
0 请登录后投票
   发表时间:2010-06-25  
呵呵,不是黑客啊,现实需要。
因为有些系统我们部署在客户内网,平时的维护和监控需要我们去做,但是客户基于安全性的考虑,又不给我们开放网络访问,就造成了这种局面。
每次都等到有问题再去现场处理耗时又耗力,所以在这种网络结构下,我们想尝试一下直接进行监控管理。

现在初步的想法是,客户机向网络B中的服务器B发送请求,服务器B接收到请求以后,把请求缓存起来。网络A中的服务器A定期扫描网络B中服务器B缓存的请求,并对其进行响应,服务器B把响应返回给Internet上的客户机。
0 请登录后投票
   发表时间:2010-06-25  
huangyuanmu 写道
呵呵,不是黑客啊,现实需要。
因为有些系统我们部署在客户内网,平时的维护和监控需要我们去做,但是客户基于安全性的考虑,又不给我们开放网络访问,就造成了这种局面。
每次都等到有问题再去现场处理耗时又耗力,所以在这种网络结构下,我们想尝试一下直接进行监控管理。

现在初步的想法是,客户机向网络B中的服务器B发送请求,服务器B接收到请求以后,把请求缓存起来。网络A中的服务器A定期扫描网络B中服务器B缓存的请求,并对其进行响应,服务器B把响应返回给Internet上的客户机。


谁都不能访问,只能我主动把你们的查询结果发给你们。我定期去取查询条件。我看也就只能这样了吧。
0 请登录后投票
   发表时间:2010-06-25  
很奇怪为什么把监控管理系统部署在A上。
其实A上只需要部署一个Agent定期向B发送信息。
B上部署管理系统对发来的信息(可能在某种queue或者类似东西里)处理,这样不就行了么?
感觉是部署架构的问题。
0 请登录后投票
   发表时间:2010-06-25  
A可以访问B,那就定时把监控结果以文件的形式放在B机的硬盘或以数据的形式写到B机上的数据库中。这样客户端就能通过B机看到数据,只是不是能实时而已
0 请登录后投票
   发表时间:2010-06-25  
其实这样的场景也很常见,在电力系统中,有严格的1,2,3区的概念,每个区中间都有硬件防火墙作隔离,然后又要想方法实现数据互通。类似LZ的这种应用
0 请登录后投票
   发表时间:2010-06-25  
看你的情况,A能连接B,那么你把B做server。A发起请求,和B建立长期的连接。然后AB就能通讯了。
说得通俗一点就是搞一个类似浩方的平台。A和C就是2个玩家,B是服务器。通过B来进行互联。
0 请登录后投票
   发表时间:2010-06-25  
在B上装一个远程控制软件
0 请登录后投票
   发表时间:2010-06-25  
xpower 写道
在B上装一个远程控制软件


B是不能访问A网络的,所以这样的方法肯定不行。

事实上,在能用remote anywhere的网络结构里,我们肯定都是用这种类似软件来实现监控的,哪怕在网络中跳n层。关键的是像我帖子里说的这种网络结构,根本没有办法直接去访问A网络,所以才拿出来和大家一起讨论。

其实,我在回帖里也说了我的思路,跟回帖中大部分人的思路基本上相同,也准备着手这样去做。

但是,我还想集中一下大家的智慧,看看有没有更好的解决方法、有没有现成的解决方案或者工具,或者谁有这方面的经验,顺道也向其学习一下。
0 请登录后投票
论坛首页 Java企业应用版

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