论文部分内容阅读
[摘 要]随着我国民航事业的不断发展,空中交通服务逐渐成为民众出行的重要方式,民航部门对外提供的信息服务也越来越受到社会各界的重视。如“飞常准”等提供航班信息的软件服务平台也应运而生。在对外提供的信息服务的过程中,不同地区和网络的用户会在同一台服务器查询相同的信息,如果出现由于网络不稳定或者IDC网络异常等导致的用户端到服务端网络连接质量问题,都会影响信息的准确性。随着用户规模的逐渐扩大,如何提高用户端到服务端的网络连接质量成为了一个非常重要的问题。
[关键词]民航信息服务;网络接入系统;网络连接质量
中图分类号:TK437 文献标识码:A 文章编号:1009-914X(2018)39-0101-02
本论文旨在设计并实现一套网络接入系统,提高用户端到服务端的网络连接质量。通过实现用户端本地网络服务,完成用户端网络连接的统一管理以及网络测速与网络质量评估,并为用户端选择最优的网络接入点,解决用户端跨网络区域访问服务端时网络不稳定的问题。通过实现可多点部署的网络接入代理服务,解决服务端所在IDC线路故障和遭受网络拒绝服务攻击时服务端不可访问的问题。
一、课题背景
民航信息服务是指民航业内部门以民用航空器信息为内容在互联网上提供的信息查询服务。在当前的一般信息查询服务运营模式中,由于受网络连接质量的限制,一般采取分区分服运营的模式。针对不同的网络用户,比如南方电信和北方网通的用户,会分别在南方的电信IDC机房和北方的网通IDC机房架设相互独立的信息查询服务。但这些不同网络的用户并不能相互交互,不能共享航班座位信息等不可重复利用资源信息,不能满足民航信息服务提供商的运营需求。
同时,当前国内的网络环境复杂,除了电信、移动和联通三大运营商把控着不同地域和用户群体的接入网络,而且互联互通总是不那么顺畅,而各地的二级网络运营商则是多如牛毛,因此要选择一个全国用户都能顺畅连接的IDC几乎不可能。虽然有号称双线甚至五线的IDC机房,但高昂的网络成本成了提供商企业的一个沉重负担。除了用户的网络不稳定,运营商还得面对IDC不定期的某条线路故障或者遭受网络拒绝服务攻击,这些问题都会严重伤害用户的体验,甚至导致用户的流失。
二、主要存在的问题
通过上面对业务背景介绍和网络状况对业务影响的分析,可以看出现有的民航信息服务的运营和发展面临着网络连接质量的制约,需要通过解决以下问题来有效的提高用户端到服务端的连接质量。
1)优化网络资源的使用
网络带宽和网络连接是很宝贵的网络资源,这些资源的优化利用是能有效提高用户端到服务端的网络连接质量的。
将现有的用户端各模块直连服务的模式统一为单个连接,能既能减少连接数量,又能减少为维持这些连接而对带宽资源的消耗。同時避免了各个连接因为网络状态的不同步而导致的用户端各模块的状态混乱。
2)提高跨区域跨网络访问服务端时的网络稳定性
不论用户是从一级网络运营商还是二级网络运营商连接互联网,不论用户是跨地区还是跨网络去访问目标服务,当用户端和服务端通信时,网络都是相对稳定的,都能获得比较好的网络连接质量。
现有用户端模块不必再直接连接目标服务,而是可以通过部署在不同网络和地区的网络接入服务间接连接目标服务,即通过代理连接来达到访问目标服务。这就要求网络接入服务,能方便的的部署到任何网络运营商,除了三个大的一级网络运营商和各地的二级网络运营商,教育网等专用网络也能快速的部署。用户端成功连接网络接入服务后,所有的访问都是内部网络访问,不再通过IDC公网访问。这就要求各个IDC的内部网络在部署后能实现内部访问的光线互联。
如果实现了网络接入点的多地区多网络的分布部署,还需要有一种机制为用户自动选择最优的接入点,对多个接入点需要有一个评估机制来保证每次接入点的选择都是最优的,并且此过程不需要用户任何的人为介入。
网络接入点的选择也需要有一定的策略。网络接入点会随着系统的扩展部署到各个地区,而各个地区又会有一定的层级关系,因此接入点评估的算法要适应系统部署的调整,需要采用动态可执行的脚本来配置执行。
3)网络故障时用户端仍然可以访问目标服务
网络故障是不可避免的,即便用户端不再直接通过公网访问目标服务,但接入服务仍然免不了受到网络故障的影响,用户端需要在接入服务出现网络故障时能快速的切换到其他可用的接入点,那么这就需要有机制实现连接接入服务的动态切换,需要定时的评估各个接入点的网络状况。只有这样才能在网络故障出现时,用户端只是出现了一次断线重连,但仍然可以间接访问到目标服务。
4)为应用层提供简易的开发接口
现有民航信息服务本身是一个庞大的软件工程,不应该为了网络接入系统进行大量重复的改动工作,因此需要提供简易并且兼容的开发接口,实现与接入系统的对接,以代码库的方式提供,用户端应用模块的代码工程只需包含使用该代码库并重新编译发布即可顺利应用到网络接入系统,这样对原有代码工程的影响能降低到最小。
三、系统的详细设计
根据需求分析和架构模型选择,用户端网络接口模块以代码库的方式编译连接进入用户端应用模块,用户端应用模块通过调用接口与其通信,用户端网络接口通过本地连接与用户端本地网络服务通信,用户端本地网络服务作为独立的服务程序文件随用户端安装包一起下发到用户电脑设备。用户端本地网络服务通过公网连接与网络接入代理服务通信,网络接入代理服务部署于有内外网卡的服务器设备上。服务端网络接口也是以代码库的方式编译连接进入应用服务,网络接入代理服务与服务端网络接口是通过内部局域网通信的。
系统总体方案如下图所示:
如上图所示,接入系统的交互流程如下:
1)用户端主程序启动时,用户端本地网络服务作为一个单独进程立刻启动并侦听本地固定端口,同时启动网络测速。测速完成后,计算评估各网络接入点的网络连接质量,用户端本地网络服务按照一定的策略选择最优接入点连接到网络接入代理服务。
2)用户端应用模块,比如登录、查询、订票等用户端模块,发起指向相应目标应用服务器的连接时,用户端网络接口模块将连接请求截获,并建立一个和用户端本地网络服务进程的本地连接,设置通信的目标地址和端口。
3)用户端本地网络服务根据设置的模块的通信目标地址和端口通知网络接入代理服务创建虚拟的通信通道。
4)网络接入代理服务是一个高性能的网络代理服务器,根据收到的通信目标地址和端口建立和目标服务器的单一TCP连接,并通知目标服务器服务端网络接口模块建立一个与用户端通信的虚拟通道。
5)目标服务服务端网络接口模块根据通知建立一个与用户端通信的虚拟通道后,用户端模块和目标服务器之间的网络消息都通过此通道进行转发。
四、结论
在本文的研发过程中,主要研究了用户端网络接口、用户端本地网络服务、网络接入代理服务和服务端网络接口,重点是对网络接入系统的网络测速、网络连接质量评估、网络连接管理和网络消息转发等模块进行了研究和设计实施。通过对民航信息服务实际业务需求的分析,提出了解决网络连接质量所面对的问题。通过对网络接入系统的需求进行了分析,提出了网络接入系统的主要功能性需求和非功能性需求,进而提出了系统的技术方案及总体设计方案。项目基本达到了在民航信息服务中提高网络连接质量的目标,能够为提高用户对民航信息服务产品的体验满意度提供了有力支持。
作者简介
屈人杰 1990,07, 男,汉,北京,大本,科员,助理工程师,主要从事民航通信工程建设。
[关键词]民航信息服务;网络接入系统;网络连接质量
中图分类号:TK437 文献标识码:A 文章编号:1009-914X(2018)39-0101-02
本论文旨在设计并实现一套网络接入系统,提高用户端到服务端的网络连接质量。通过实现用户端本地网络服务,完成用户端网络连接的统一管理以及网络测速与网络质量评估,并为用户端选择最优的网络接入点,解决用户端跨网络区域访问服务端时网络不稳定的问题。通过实现可多点部署的网络接入代理服务,解决服务端所在IDC线路故障和遭受网络拒绝服务攻击时服务端不可访问的问题。
一、课题背景
民航信息服务是指民航业内部门以民用航空器信息为内容在互联网上提供的信息查询服务。在当前的一般信息查询服务运营模式中,由于受网络连接质量的限制,一般采取分区分服运营的模式。针对不同的网络用户,比如南方电信和北方网通的用户,会分别在南方的电信IDC机房和北方的网通IDC机房架设相互独立的信息查询服务。但这些不同网络的用户并不能相互交互,不能共享航班座位信息等不可重复利用资源信息,不能满足民航信息服务提供商的运营需求。
同时,当前国内的网络环境复杂,除了电信、移动和联通三大运营商把控着不同地域和用户群体的接入网络,而且互联互通总是不那么顺畅,而各地的二级网络运营商则是多如牛毛,因此要选择一个全国用户都能顺畅连接的IDC几乎不可能。虽然有号称双线甚至五线的IDC机房,但高昂的网络成本成了提供商企业的一个沉重负担。除了用户的网络不稳定,运营商还得面对IDC不定期的某条线路故障或者遭受网络拒绝服务攻击,这些问题都会严重伤害用户的体验,甚至导致用户的流失。
二、主要存在的问题
通过上面对业务背景介绍和网络状况对业务影响的分析,可以看出现有的民航信息服务的运营和发展面临着网络连接质量的制约,需要通过解决以下问题来有效的提高用户端到服务端的连接质量。
1)优化网络资源的使用
网络带宽和网络连接是很宝贵的网络资源,这些资源的优化利用是能有效提高用户端到服务端的网络连接质量的。
将现有的用户端各模块直连服务的模式统一为单个连接,能既能减少连接数量,又能减少为维持这些连接而对带宽资源的消耗。同時避免了各个连接因为网络状态的不同步而导致的用户端各模块的状态混乱。
2)提高跨区域跨网络访问服务端时的网络稳定性
不论用户是从一级网络运营商还是二级网络运营商连接互联网,不论用户是跨地区还是跨网络去访问目标服务,当用户端和服务端通信时,网络都是相对稳定的,都能获得比较好的网络连接质量。
现有用户端模块不必再直接连接目标服务,而是可以通过部署在不同网络和地区的网络接入服务间接连接目标服务,即通过代理连接来达到访问目标服务。这就要求网络接入服务,能方便的的部署到任何网络运营商,除了三个大的一级网络运营商和各地的二级网络运营商,教育网等专用网络也能快速的部署。用户端成功连接网络接入服务后,所有的访问都是内部网络访问,不再通过IDC公网访问。这就要求各个IDC的内部网络在部署后能实现内部访问的光线互联。
如果实现了网络接入点的多地区多网络的分布部署,还需要有一种机制为用户自动选择最优的接入点,对多个接入点需要有一个评估机制来保证每次接入点的选择都是最优的,并且此过程不需要用户任何的人为介入。
网络接入点的选择也需要有一定的策略。网络接入点会随着系统的扩展部署到各个地区,而各个地区又会有一定的层级关系,因此接入点评估的算法要适应系统部署的调整,需要采用动态可执行的脚本来配置执行。
3)网络故障时用户端仍然可以访问目标服务
网络故障是不可避免的,即便用户端不再直接通过公网访问目标服务,但接入服务仍然免不了受到网络故障的影响,用户端需要在接入服务出现网络故障时能快速的切换到其他可用的接入点,那么这就需要有机制实现连接接入服务的动态切换,需要定时的评估各个接入点的网络状况。只有这样才能在网络故障出现时,用户端只是出现了一次断线重连,但仍然可以间接访问到目标服务。
4)为应用层提供简易的开发接口
现有民航信息服务本身是一个庞大的软件工程,不应该为了网络接入系统进行大量重复的改动工作,因此需要提供简易并且兼容的开发接口,实现与接入系统的对接,以代码库的方式提供,用户端应用模块的代码工程只需包含使用该代码库并重新编译发布即可顺利应用到网络接入系统,这样对原有代码工程的影响能降低到最小。
三、系统的详细设计
根据需求分析和架构模型选择,用户端网络接口模块以代码库的方式编译连接进入用户端应用模块,用户端应用模块通过调用接口与其通信,用户端网络接口通过本地连接与用户端本地网络服务通信,用户端本地网络服务作为独立的服务程序文件随用户端安装包一起下发到用户电脑设备。用户端本地网络服务通过公网连接与网络接入代理服务通信,网络接入代理服务部署于有内外网卡的服务器设备上。服务端网络接口也是以代码库的方式编译连接进入应用服务,网络接入代理服务与服务端网络接口是通过内部局域网通信的。
系统总体方案如下图所示:
如上图所示,接入系统的交互流程如下:
1)用户端主程序启动时,用户端本地网络服务作为一个单独进程立刻启动并侦听本地固定端口,同时启动网络测速。测速完成后,计算评估各网络接入点的网络连接质量,用户端本地网络服务按照一定的策略选择最优接入点连接到网络接入代理服务。
2)用户端应用模块,比如登录、查询、订票等用户端模块,发起指向相应目标应用服务器的连接时,用户端网络接口模块将连接请求截获,并建立一个和用户端本地网络服务进程的本地连接,设置通信的目标地址和端口。
3)用户端本地网络服务根据设置的模块的通信目标地址和端口通知网络接入代理服务创建虚拟的通信通道。
4)网络接入代理服务是一个高性能的网络代理服务器,根据收到的通信目标地址和端口建立和目标服务器的单一TCP连接,并通知目标服务器服务端网络接口模块建立一个与用户端通信的虚拟通道。
5)目标服务服务端网络接口模块根据通知建立一个与用户端通信的虚拟通道后,用户端模块和目标服务器之间的网络消息都通过此通道进行转发。
四、结论
在本文的研发过程中,主要研究了用户端网络接口、用户端本地网络服务、网络接入代理服务和服务端网络接口,重点是对网络接入系统的网络测速、网络连接质量评估、网络连接管理和网络消息转发等模块进行了研究和设计实施。通过对民航信息服务实际业务需求的分析,提出了解决网络连接质量所面对的问题。通过对网络接入系统的需求进行了分析,提出了网络接入系统的主要功能性需求和非功能性需求,进而提出了系统的技术方案及总体设计方案。项目基本达到了在民航信息服务中提高网络连接质量的目标,能够为提高用户对民航信息服务产品的体验满意度提供了有力支持。
作者简介
屈人杰 1990,07, 男,汉,北京,大本,科员,助理工程师,主要从事民航通信工程建设。