网闸,也称边界平台、内外网数据交换系统。

网闸将内网与外网实现了隔离,即内外网程序不能直接相互访问。

那么,如何实现内外网即时数据交互呢?比如外网程序要访问内网webservice服务?

就拿外网程序访问内网的webservice服务为例,分析几种数据交互方式的可行性。

大概有三种方式:

1、使用网闸的映射功能:即在网闸中配置指定ip段的外网机器,只能访问内网指定ip、端口的机器所提供的指定服务。

评价:此种方式较为方便,但不是最安全的。

2、文件同步功能:此种方式需要一台外网服务器和一台内网服务器,在内外网服务器上分别部署webservice服务程序,并在内外网机器上分别建立共享文件夹,供网闸进行文件的同步(从内网到外网,从外网到内网)。

实现思路大致是:

                                   (1)、外网服务器部署的webservice程序供外网用户访问,一旦接受请求,则将请求生成xml或者其他格式文件,放到外网服务器的共享请求目录。(2)、通过在网闸中配置内外网的共享请求目录与共享响应目录,网闸会定时(最低一分钟)扫描内外网服务器的指定的若干目录,看有无新增文件,有则同步过去。(3)、内网服务器webservice程序内部定时扫描指定请求目录,网闸将外网服务器的请求文件同步到内网服务器的请求目录后,内网程序检测到请求文件则立即触发调用本地或者内网其他机器的webservice服务,并将结果生成响应文件放到响应目录。(4)、网闸检测响应目录的新增文件,将文件同步到外网服务器的响应目录,外网服务器程序线程接受到请求后,  一直等待指定时间,扫描响应目录下有无响应文件产生(请求文件与响应文件采取同名方式,以便区分),读取到响应文件后,返回给外网用户调用者。

评价:此种方式虽然较上种方式安全,但网闸扫描频率最快一分钟扫描一次的限制便将该种方式kill了(让客户等待至少2分钟是完全不可行的)。

然而对于新的网闸内外网数据交换平台可以支持1s扫描一次,因此对于需要交换图片、视频等应用,则可考虑升级旧网闸数据交换系统;此时采取文件同步是比较理想的。

3、数据库同步方式:

实现思路:

                      (1)、需要两台服务器,内网服务器与外网服务器,两台机器同时部署两个程序(程序不完全相同),两台服务器都要安装数据库,并建立相同的表结构(指需要通过网闸同步的表的结构相同,本例中需要响应表和请求表)(2)、在网闸中配置数据库同步,需要两个库的连接方式,及需要同步那些表;注意,同步的表字段不可有clob或者blob等类型(网闸不能同步,猜测是大字段类型不能导出的原因),基本类型最好。(3)、外网webservice程序接收请求,将请求插入到请求表中,然后线程休眠指定时间后读取响应表中的响应结果。(4)、网闸将外网数据库的请求表中的插入的数据,即时(可能采用触发器,具体不知,相当于即时)同步到内网数据库的请求表中。(5)、对内网请求表预先建立行级触发器,当请求表每插入一条数据时,即执行触发器,在触发器中调用内网的webservice程序。(6)、可在触发器中插入结果到响应表中,若是业务逻辑复杂,则可在webservice程序内部将结果插入到响应表中。(7)、网闸将响应表中数据即时同步到外网服务器的响应表中。(8)、(3) 中等待的线程在限定时间内每隔100ms(自己指定)查询响应表,查询到等待的结果则返回给客户。

关键点:

                      1)、外网等待线程如何知道响应表中哪条记录是它要的结果? 外网请求表新增请求的id、内网请求表新增请求的id、内网响应表响应记录的id、外网响应表响应记录的id,这四个id为同一个id,都是外网请求表新增请求的id,即只有外网请求表新增请求的id是自动产生,其他三个均采取手动赋值。2)、内网请求表的触发器如何调用webservice? 在触发器中可通过utl_http、utl_dbws两种方式访问webservice,第一种方式稍简单,第二种方式需要导入utl_dbws包到oracle数据库,较麻烦。3)、表中字段不可为大数据类型,最好为基本类型

4、总结:映射方式与数据库同步方式最为靠谱,但若是对安全性要求非常高,则建议使用数据库同步方式,否则使用映射方式最为便捷。

然而,此种方式不支持图片数据,大字段类型、视频的交换。

采用网闸隔离的内外网如何进行数据的即时交互?相关推荐

  1. 使用proxy实现内网穿透,配置内外网数据库互为主从同步数据

    一.使用proxy实现内网穿透 准备 教程参考地址:https://snail007.github.io/goproxy/manual/zh/#/ proxy软件的git地址:https://gith ...

  2. 关于跨网闸数据同步的方式调研Java实现ModbusTCP通信

    1 网闸的概念 网闸_百度百科 (baidu.com) 2 跨网闸数据同步的方式了解 目前了解到有三种方式: 1 配置开放ip.端口,外网直接访问http://www.voidcn.com/artic ...

  3. 九宫八阵图之虐翼阵——网闸

    摘要:虎翼阵是一种变幻莫测的阵法,通过以不断变化的阵法,使中军无形于敌人,保护中军的安全.网御网闸系列产品,确保信任网络和非信任网络之间任何连接的断开,彻底阻断TCP/IP协议及其他网络协议,使内网安 ...

  4. 前置机 网闸 摆渡机 跳板机 堡垒机

    前言 前置机.网闸和摆渡机都是为了内网安全,尤其是银行.券商.电信运营商等的内网核心后台系统的安全,而使用的技术手段.跳板机和堡垒机则是为了运维人员远程访问控制系统而搭建的机器. 一.前置机 1. 作 ...

  5. 计算机网络安全隔离之网闸、光闸

    目录 1.网闸.光闸的产生 2.网闸和光闸的定义 1.网闸-GAP 2.光闸-FGAP 1.网闸.光闸的产生 目前的市场上的安全隔离类产品主要有3类:网络隔离产品就是俗称的网闸,网络单向导入产品就是俗 ...

  6. 物理隔离与数据交换-网闸的设计原理

    一.什么是网闸 网闸技术的需求来自内网与外网数据互通的要求,比如政府的电子政务是对公众服务,与互联网连通,而内网的政府办公网络,由于保密的要求,内网若与网连通,则面临来自公网的各种威胁.安全专家给出的 ...

  7. 物理隔离与数据交换-网闸的设计原理与误区

    一.什么是网闸 网闸技术的需求来自内网与外网数据互通的要求,比如政府的电子政务是对公众服务,与互联网连通,而内网的政府办公网络,由于保密的要求,内网若与网连通,则面临来自公网的各种威胁.安全专家给出的 ...

  8. “单向网闸”技术介绍-网络隔离的新型产品

    一.信息安全的要求 按照信息保密的技术要求,涉密网络不能与互联网直接连通:涉密网络与非涉密网络连接时,若非涉密网络与互联网物理隔离,则采用双向网闸隔离涉密网络与非涉密网络:若非涉密网络与互联网是逻辑隔 ...

  9. 关于网络隔离技术与网闸的理解

    一.网络隔离的概念 两个或两个以上的计算机或网络,不相连,不相通,相互断开,同时在需要的时候能够做到两者间的信息交换. 概念来源:人工烤盘.轮渡.Sneakernet 二.常见的网络攻击类型 1.入侵 ...

最新文章

  1. 自学python推荐书籍 知乎-在知乎上学 Python - 爬虫篇
  2. 从表到里学习JVM实现
  3. SqlServer中的动态Sql
  4. Nginx 多重判断
  5. es 1.7 ik 配置
  6. ASP.NET Treeview控件中对Checkbox的联级选择
  7. 一个超好用的笔记编辑器
  8. 【安全资讯】关键信息基础设施安全保护条例,自2021年9月1日起施行
  9. MySQL 大表数据归档解决办法
  10. python银行账户资金交易管理_Python实现银行账户资金交易管理系统
  11. oracle函数 isex,求一条sql话语,按条件查询过期的客户信息
  12. NFT 作品集推荐|Lululand《爱是永恒》
  13. 电脑一键重装系统发现内存占用率过高怎么办
  14. android+扁平+png,[3.28更新]更好看的扁平化主题 —Flat+ 超全图标
  15. Python“文字游戏”
  16. 哪个网站的电子书最多?
  17. 【工业视觉】Halcon常用教程
  18. Daily Scrum Meeting 11.08
  19. 汽车抵质押贷款系统-押品评估、登记、入库、出库、处理等标准化流程管理
  20. 计算机辐射测试,无线路由器辐射测试方法

热门文章

  1. 为什么网站服务器不存在了,最可能的原因: 指定的目布医无名录或文件在 Web 服务器上不存在...
  2. 使用GeoServer 发布切图服务
  3. fckeditor编辑器上传漏洞getshell——突破.变_的限制
  4. 生化危机6pc测试软件,《生化危机6》PC测试程序发布 赶紧检测下你的电脑吧!...
  5. ArcGIS API for JavaScript之基础篇(二)
  6. 夏影 ~あの飞行机云を超えた、その先へ~
  7. java emp是什么_Emp.java
  8. Three.js - SpotLight 光源
  9. 对delegate的理解
  10. 如何取出某一用户的密码,再原封不动的改回去?