这种需求,大家看看有没有比较好的解决方案在我们的应用中,碰到了如图所示的一种网络结构。?重新描述一下吧。
这种需求,大家看看有没有比较好的解决方案
在我们的应用中,碰到了如图所示的一种网络结构。
?
重新描述一下吧。
?
网络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控制台进行访问?

:
换句话说就是开后门咯?那就只能用唯一的后门来做了,就是你那个jdbc后门了。反正你也没有其他通信途径了。
换句话说就是开后门咯?那就只能用唯一的后门来做了,就是你那个jdbc后门了。反正你也没有其他通信途径了。
yes

:
引用
数据迁移程序可以通过jdbc连接网络B中部署的数据库服务器,除此之外,网络A和网络B不能进行任何交互访问
你说的那种订阅模式是很适合于信息的推送,但是我的这个需求不仅仅是信息的推送(获取监测数据),而且要解决程序的控制(对数据迁移程序进行管理)。
如果我没有猜错的话,是不是AB之间有网闸之类的东西。所以你们之间的交互只能通过JDBC协议来进行交互,如果只能走JDBC,而且只能是A到B,在B网络的任何控制请求如何发送到A呢?我比较好奇前面同学出的那些主意好像都是要靠网络通信的,看来还可以你控制B上面的程序,并将相应指令写入B中的某数据库,然后让A进行周期性抓取这些指令再让A中的程序来执行。但是这样子的实时性可能有大问题。
不知我的理解对否? 45 楼 piao_bo_yi 2010-06-28 huangyuanmu 写道piao_bo_yi 写道杜杜先生 写道回楼主,如果这个需求的实时性不是很强,例如每半个小时或者更长的频率,有一种办法可以解决,
在网络A和网络B之间采用网闸,定期将网络A里面的信息写入到网络B的服务器上,这样Internet就可以访问网络A里面的监控情况了。顶你,前面没几个人说得对的。其实原理似乎也就只能是这样了。
1.实时性,我觉得没有什么必要吧,WEB监控管理系统,谁会每小时查看一次啊?半个小时的频率都算多了。
2.需要的工作:不需要修改A上的软件,再写个传送数据的程序就行了。挺简单。
呵呵,虽然解决方法是可以,但是不可行,因为增加网闸,客户不答应。
可能我描述的不清楚,一会修改一下。
网闸?不明白LZ意思,是端口吗?啥东西不用端口啊?疑问中??难道指不用TCP?那就用UDP...别告诉我啥也不用哈...
46 楼 javafound 2010-06-28 网闸、文件摆渡、物理隔离、单向通信....有这N种称呼,这是做GA/Traffic应用中会碰到的一个较变态的设备,有得你折腾。
想法子变通吧楼主,如果PortMap能呼悠过去的话。 47 楼 neo_q 2010-06-29 javafound 写道 网闸、文件摆渡、物理隔离、单向通信....有这N种称呼,这是做GA/Traffic应用中会碰到的一个较变态的设备,有得你折腾。
想法子变通吧楼主,如果PortMap能呼悠过去的话。
除了支持JDBC协议之外其他都不能支持的,如何能PortMap?我很好奇最终的解决方案。 48 楼 hareamao 2010-06-29 neo_q 写道javafound 写道 网闸、文件摆渡、物理隔离、单向通信....有这N种称呼,这是做GA/Traffic应用中会碰到的一个较变态的设备,有得你折腾。
想法子变通吧楼主,如果PortMap能呼悠过去的话。
除了支持JDBC协议之外其他都不能支持的,如何能PortMap?我很好奇最终的解决方案。
我猜如果成了肯定是在B的JDBC接口上做手脚,区分是jdbc连接,还是监控连接。 49 楼 neo_q 2010-06-29 hareamao 写道neo_q 写道javafound 写道 网闸、文件摆渡、物理隔离、单向通信....有这N种称呼,这是做GA/Traffic应用中会碰到的一个较变态的设备,有得你折腾。
想法子变通吧楼主,如果PortMap能呼悠过去的话。
除了支持JDBC协议之外其他都不能支持的,如何能PortMap?我很好奇最终的解决方案。
我猜如果成了肯定是在B的JDBC接口上做手脚,区分是jdbc连接,还是监控连接。
晕,那得重写JDBC很多功能太复杂了,而且监控是从B到A的,但是实际访问情况是只允许从A到B,所以这应该是行不通的,如果采用我前面提到的那种定时通过JDBC抓取命令的方式,实时性比较差,但是可以实现部分功能。 50 楼 hareamao 2010-06-29 neo_q 写道hareamao 写道neo_q 写道javafound 写道 网闸、文件摆渡、物理隔离、单向通信....有这N种称呼,这是做GA/Traffic应用中会碰到的一个较变态的设备,有得你折腾。
想法子变通吧楼主,如果PortMap能呼悠过去的话。
除了支持JDBC协议之外其他都不能支持的,如何能PortMap?我很好奇最终的解决方案。
我猜如果成了肯定是在B的JDBC接口上做手脚,区分是jdbc连接,还是监控连接。
晕,那得重写JDBC很多功能太复杂了,而且监控是从B到A的,但是实际访问情况是只允许从A到B,所以这应该是行不通的,如果采用我前面提到的那种定时通过JDBC抓取命令的方式,实时性比较差,但是可以实现部分功能。
JDBC说到底就是tcp么,在server端只要能区分正常的JDBC call和后门call就可以了。 51 楼 likeblood 2010-06-30 我不清楚企业QQ是不是能像普通的QQ一样支持远程的协助
如果可以的话 就用这个企业QQ就好了 52 楼 fjlyxx 2010-06-30 就你现在的网络情况我个人觉得应该同时使用推和拉的方式。
B把需要给A的东西推到B对A的缓冲区,A自己来拿。。B和C类似。 53 楼 byk 2010-07-01 B里建个数据库,
A,C通过数据库交流.
A轮询B
C实时访问B,向B发操作指令,和查询结果。 54 楼 huangyuanmu 2010-08-07 程序已搞定,谢谢大家参与讨论,结贴。