一种连通信息内外网的高性能移动接入网关及其方法与流程

文档序号:16513364发布日期:2019-01-05 09:28阅读:340来源:国知局
一种连通信息内外网的高性能移动接入网关及其方法与流程

本发明属于信息安全技术领域,具体涉及一种连通信息内外网的高性能移动接入网关及其方法。



背景技术:

随着自动化水平的提高、通信技术和网络技术的发展,各大办公系统越来越依赖信息网络来保障其业务和服务安全、可靠和高效的运行,信息网络的安全直接关系到系统的安全、稳定的运行,因此对系统信息安全关键技术研究就显得尤为重要。

针对信息网络系统安全性的要求,物理隔离技术已经被广泛应用到信息网络建设中。国家电网公司信息内网和信息外网之间架设有物理隔离装置,只允许sql从信息外网穿透隔离装置进入信息内网,正常的http请求无法从信息外网到达信息内网。目前,国网信息外网移动应用只能访问部署在信息外网的业务应用服务,而无法直接访问部署在信息内网的服务。因此,为了支撑信息外网移动应用,各业务系统必须把相应的移动服务部署在信息外网,甚至单独开发一套支撑外网移动应用的移动服务,而无法复用已在内网建设的移动应用服务,这无疑增加了外网移动应用的开发成本,同时将业务应用服务部署在信息外网会带来数据泄露的风险以及其他安全隐患。



技术实现要素:

针对现有技术存在的不足,本发明目的是提供一种连通信息内外网的高性能移动接入网关及其方法,高性能、低延迟的高性能移动接入网关,保证所有的业务服务和数据都可部署在内网,保证了数据的安全性,极大降低外网移动应用部署的复杂度和难度。

为了实现上述目的,本发明是通过如下的技术方案来实现:

本发明外网移动应用通过该网关与内网业务应用服务进行数据交互,双向通信,实现数据共享和复用,当访问量过大时,根据需求加入新的移动接入网关节点,实现动态扩展,并自行均衡分配任务给各节点,具有较强的横向可扩展性和一定的智能性。

本发明的一种连通信息内外网的高性能移动接入网关,包括前置机、中间库和后置机,所述前置机部署在信息外网,与外网移动应用直接相连,同时通过隔离装置与中间库相连,所述后置机和中间库部署在信息内网,后置机与中间库直接相连,同时后置机与内网业务应用服务直接相连;外网移动应用将请求发送到前置机;所述前置机接收到请求后创建会话,并修改请求的目标地址,然后将请求转换为sql通过所述隔离装置写入中间库;所述后置机轮询中间库获取请求,发送到内网业务应用服务,并等待响应;所述后置机获取响应信息后,将响应转换为sql写入中间库,同时标记该请求可清理;所述前置机轮询中间库获取响应信息,根据保存的会话,将响应信息发送给外网移动应用,并关闭会话,同时标记该响应可清理。

上述前置机、后置机均包括会话管理模块、服务发现模块、服务代理模块、任务调度模块、数据清理模块;会话管理模块,用于在前置机与外网移动应用、后置机与内网业务应用服务之间创建、关闭会话,并在内存中保存会话信息;服务发现模块,用于动态检测和接入网关服务节点,通过心跳机制,将已发现的节点添加到集群中,将掉线的节点从集群中删除;服务代理模块,用于维护接入的业务服务的映射信息,对访问请求进行地址映射,并支持映射信息的动态增加、删除和修改;任务调度模块,用于将请求或响应信息存入调度队列,组装成对数据库的批量插入sql语句,写入中间库,同时用于轮询中间库获取请求或响应信息,并标记可清理的请求或响应信息;数据清理模块,用于定时从中间库和内存中删除被标记为可清理的请求和响应信息。

上述前置机、后置机采用对等设计,即采用相同的设计架构,实现双向通信;当请求从信息外网发出到达信息内网时,部署在信息外网的移动接入网关称为前置机,部署在信息内网的移动接入网关称为后置机;反之,当请求从信息内网发出到达信息外网时,部署在信息内网的移动接入网关相当于前置机,部署在信息外网的移动接入网关相当于后置机。

上述中间库为oracle或mysql数据库。

本发明的一种连通信息内外网的高性能移动接入方法,包括以下步骤:

当外网移动应用主动发起请求时,请求首先发送到前置机,所述前置机收到请求后创建会话,并检测是否存在可用后置机节点,如果存在则修改请求的目标地址,然后将请求转换为sql语句通过隔离装置写入到中间库,如果不存在则直接将失败信息发送给外网移动应用;所述后置机轮询中间库获取请求信息,将请求发送到真实的内网业务应用服务,并等待所述内网业务应用服务的响应信息;所述内网业务应用服务返回响应信息后,所述后置机将响应信息转换为sql语句写入到中间库,同时标记该请求可清理;所述前置机轮询中间库获取响应信息,并将响应信息发送给外网移动应用,同时标记该响应可清理;所述前置机、后置机定时删除被标记为可清理的请求和响应信息;

当所述内网业务应用服务主动发起请求时,请求首先发送到后置机,所述后置机收到请求后创建会话,并检测是否存在可用前置机节点,如果存在则修改请求的目标地址,然后将请求转换为sql语句写入到中间库,如果不存在则直接将失败信息发送给所述内网业务应用服务;所述前置机轮询中间库获取请求信息,将请求发送到外网移动应用,并等待响应信息;所述外网移动应用返回响应信息后,所述前置机将响应信息转换为sql语句通过隔离装置写入到中间库,同时标记该请求可清理;所述后置机轮询中间库获取响应信息,并将响应信息发送给所述内网业务应用服务,同时标记该响应可清理;所述前置机、后置机定时删除被标记为可清理的请求和响应信息。

上述前置机收到请求后创建会话,具体方法如下:所述前置机通过socket连接与外网移动应用创建会话,并在内存中保存会话和请求信息。

上述检测是否存在可用后置机节点,具体方法如下:所述前置机通过心跳机制动态监测可用的后置机节点,若发现新的节点则添加到集群中,若发现节点掉线则将该节点从集群中删除。

上述修改请求的目标地址,具体方法如下:所述前置机通过定时任务从中间库查询业务服务的映射地址,并保存在内存中,以支持映射地址的动态增加、删除和修改;所述前置机接收到请求后,从内存中查询与请求匹配的映射地址,并将请求的地址替换为映射地址;

所述将请求转换为sql语句,具体方法如下:所述前置机将请求添加入请求调度队列;所述前置机从调度队列中批量取出请求,将请求信息转换成byte数组,组装成批量插入sql语句。

上述后置机轮询中间库获取请求信息,具体方法如下:所述后置机通过定时任务从中间库查询请求,并从byte数组中解析出请求信息;

所述后置机将响应信息转换为sql语句,具体方法如下:所述后置机将响应添加入响应调度队列;所述后置机从调度队列中批量取出响应,将响应信息转换成byte数组,组装成批量插入sql语句。

上述前置机轮询中间库获取响应信息,具体方法如下:前置机通过定时任务从中间库查询响应,并从byte数组中解析出响应信息;

所述定时删除被标记为可清理的请求和响应信息,具体方法如下:所述后置机通过定时任务从中间库和内存中删除被标记为可清理的请求信息;所述前置机通过定时任务从中间库和内存中删除被标记为可清理的响应信息。

与现有技术相比,本发明所达到的有益效果是:

本发明提供的一种连通信息内外网的高性能移动接入网关实现http请求在内外网的双向穿透,既能使外网移动应用发出的请求穿透隔离装置访问内网业务应用服务,也能将内网业务应用服务发出的请求发送到外网移动应用,解决了信息外网移动应用无法访问信息内网业务服务的问题,同时也解决了信息内网的业务移动应用服务指令无法到达信息外网的问题,使得外网移动应用可复用内网已有的业务服务,降低了外网移动应用的开发成本,提高了数据的安全性。

本发明的一种连通信息内外网的高性能移动接入网关具有通用性,不依赖于任何业务服务,可独立部署,不需要对业务服务做任何改造,可为任何接入的业务应用服务提供http请求穿透功能。

本发明的一种连通信息内外网的高性能移动接入网关具有可扩展性,支持集群部署,支持在不停机的情况下通过服务发现模块动态向集群中添加节点,并使新加入的节点处于服务状态,分摊并发压力。

本发明的一种连通信息内外网的高性能移动接入网关支持业务应用服务动态接入,通过服务代理模块动态增加、删除和修改业务应用服务的映射地址,为业务应用服务提供http请求穿透功能。

本发明的一种连通信息内外网的高性能移动接入网关采用高并发设计,先将请求写入调度队列,并组装成对数据库的批量插入sql语句,然后通过隔离装置批量操作数据库,减少对隔离装置以及数据库的访问频率,提升系统总体性能。

附图说明

图1为本发明的一种连通信息内外网的高性能移动接入网关的结构框图;

图2为本发明的一种连通信息内外网的高性能移动接入方法的外网端请求发起流程图;

图3为本发明的一种连通信息内外网的高性能移动接入方法的内网端请求发起流程图。

具体实施方式

为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。

如图1所示,本发明提供一种连通信息内外网的高性能移动接入网关,包括前置机、中间库以及后置机三个部分。其中,前置机部署在信息外网,后置机和中间库部署在信息内网,前置机与外网移动应用直接相连,同时通过隔离装置与中间库相连,后置机与中间库直接相连,同时与内网业务应用服务直接相连。

前置机、后置机采用对等设计,即采用相同的设计架构,实现双向通信;当请求从信息外网发出到达信息内网时,部署在信息外网的移动接入网关称为前置机,部署在信息内网的移动接入网关称为后置机;反之,当请求从信息内网发出到达信息外网时,部署在信息内网的移动接入网关相当于前置机,部署在信息外网的移动接入网关相当于后置机。

前置机、后置机都包括会话管理、服务发现、服务代理、任务调度、数据清理五个功能模块。所述会话管理模块,用于在前置机与外网移动应用、后置机与内网业务应用服务之间创建、关闭会话,并在内存中保存会话信息;所述服务发现模块,用于动态检测和接入网关服务节点,通过心跳机制,将已发现的节点添加到集群中,将掉线的节点从集群中删除;所述服务代理模块,用于维护接入的业务服务的映射信息,对访问请求进行地址映射,并支持映射信息的动态增加、删除和修改;所述任务调度模块,用于将请求或响应信息存入调度队列,组装成对数据库的批量插入sql语句,写入中间库,同时用于轮询中间库获取请求或响应信息,并标记可清理的请求或响应信息;所述数据清理模块,用于定时从中间库和内存中删除被标记为可清理的请求和响应信息。

本实施例中,中间库为oracle或mysql数据库。

本发明还提供一种连通信息内外网的高性能移动接入方法,根据请求是从外网移动应用端发起还是内网业务应用服务端发起,分别进行描述。

如图2所示,当外网移动应用主动发起请求时,请求首先发送到前置机,前置机收到请求后创建会话,并检测是否存在可用后置机节点,如果存在则修改请求的目标地址,然后将请求转换为sql语句通过隔离装置写入到中间库,如果不存在则直接将失败信息发送给外网移动应用;后置机轮询中间库获取请求信息,将请求发送到真实的内网业务应用服务,并等待业务应用服务的响应信息;内网业务应用服务返回响应信息后,后置机将响应信息转换为sql语句写入到中间库,同时标记该请求可清理;前置机轮询中间库获取响应信息,并将响应信息发送给外网移动应用,同时标记该响应可清理;前置机、后置机定时删除被标记为可清理的请求和响应信息。

前置机收到请求后创建会话的具体方法为:前置机通过socket连接与外网移动应用创建会话,并在内存中保存会话和请求信息;

检测是否存在可用后置机节点的具体方法为:前置机通过心跳机制动态监测可用的后置机节点,若发现新的节点则添加到集群中,若发现节点掉线则将该节点从集群中删除;

修改请求的目标地址的具体方法为:前置机通过定时任务从中间库查询业务服务的映射地址,并保存在内存中,以支持映射地址的动态增加、删除和修改;前置机接收到请求后,从内存中查询与请求匹配的映射地址,并将请求的地址替换为映射地址;

将请求转换为sql语句的具体方法为:前置机将请求添加入请求调度队列;前置机从请求调度队列中批量取出请求,将请求信息转换成byte数组,组装成批量插入sql语句;

后置机轮询中间库获取请求信息的具体方法为:后置机通过定时任务从中间库查询请求,并从byte数组中解析出请求信息;

后置机将响应信息转换为sql语句的具体方法为:后置机将响应添加入响应调度队列;后置机从响应调度队列中批量取出响应,将响应信息转换成byte数组,组装成批量插入sql语句;

前置机轮询中间库获取响应信息的具体方法为:前置机通过定时任务从中间库查询响应,并从byte数组中解析出响应信息;

定时删除被标记为可清理的请求和响应信息的具体方法为:后置机通过定时任务从中间库和内存中删除被标记为可清理的请求信息;前置机通过定时任务从中间库和内存中删除被标记为可清理的响应信息。

如图3所示,当内网业务应用服务主动发起请求时,请求首先发送到后置机,后置机收到请求后创建会话,并检测是否存在可用前置机节点,如果存在则修改请求的目标地址,然后将请求转换为sql语句写入到中间库,如果不存在则直接将失败信息发送给内网业务应用服务;前置机轮询中间库获取请求信息,将请求发送到外网移动应用,并等待响应信息;外网移动应用返回响应信息后,前置机将响应信息转换为sql语句通过隔离装置写入到中间库,同时标记该请求可清理;后置机轮询中间库获取响应信息,并将响应信息发送给内网业务应用服务,同时标记该响应可清理;前置机、后置机定时删除被标记为可清理的请求和响应信息。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1