高性能网络接入服务器框架的设计
2017-06-05陈雯雯
陈雯雯,周 杰
高性能网络接入服务器框架的设计
陈雯雯,周 杰
(南京信息工程大学电子与信息工程学院,江苏南京 210044)
本文分析了高性能网络接入服务器框架的功能需求,讨论了其设计目标,阐述了系统总体架构,给出了人工影响天气作业中实时智能指挥系统采用网络接入服务器的系统实例。实践表明,本文给出的高性能网络接入服务器框架的设计思想有良好的应用意义。
网络接入服务器;功能需求;设计目标;系统架构;高性能
0 引言
现在,大部分网络接入服务器基本是创建在某个特别制定的需求分析上,这样的开发方法会把详细的业务性能和最基本的关键性能紧紧地结合起来,适用性、延伸性和移植性都很弱,同时底层的基本关键性能多次创建会使开发时间延长,容易出现错误,利用资本高。
性能好较强系统开发可以达到高内聚低耦合,系统的单元之间的相互依赖性减弱,进而提高系统构架的可延伸性能与植入性能。
本文使用近年来开发的应用服务器框架技术,给出高性能网络接入服务器框架的设计思想,增强适用软件服务器模块的重用性与延伸性,从体系中把服务器的基本关键性能和管控逻辑分离出来,避免开发者多次开发。
1 功能需求
网络接入服务器又能叫做接入服务器,是一种能在很大范围内进行请求的连接应用,可以让客户端使用互联网传输它的连接请求。它具有2个方面的作用:一个是对从用户那边传过来的接入申请进行操作;另一个是对用户所需要的服务申请进行操作。然后分离出这一种应用使用中的网络传送操作单元和一些服务申请,就形成了大多数情况都能应用的网络接入服务器模形。经过对公共的连接口进行设置,就可以提供各种处理数据方法的许多种类的服务,来进一步达到系统的可延伸性。
本文把这种模形作为基本原理,构想出了另一种网络接入服务器框架,它的功能是对使用互联网传输服务申请的应用进行操作,使它的基本关键性能实现,让开发者可以运用一种很快的操作方式。服务器程序创建者仅要承接和事例化架构中的组成部件,就能完成底部传输功能,然后开发者就能把大部分时间放在处理数据逻辑上的创建,就可以在较短时间内创建出一个网络连接服务器。为具备上述条件,网络接入服务器框架要具有下面的三个关键部分:网络通信,消息处理,服务管理。
网络通信部分需要包括下面几个性能:
1)可以高效率管理控制客户端的接入请求,接收无误的接入请求传送接入事件通知,同时拒绝错误的接入请求;
2)管理客户端对应的上下文信息以及所有的客户端状态;
3)能主动关闭相应或者所有的客户端;
4)向指定的某一或者所有的客户端发送消息;
5)实时对客户端的状态进行测试,把掉线或者已经接入很长时间但没有传送请求服务的客户端关闭,把这个业务消息传到外面同时登记;
6)对非局部信息进行管理控制和计数,比如接进来的有多少、接受数据计数和传输数据计数、用户接入信息等,在信息状态有变化时就对这个事件进行响应,同时发出通知;
消息处理部分应包括以下功能:
1)可以挑选的消息协议机制,专门面对不一样的要求制定许多消息协议,尽可能地符合框架的延伸性;
2)具有数据包完整性检查功能;
3)多个路径的消息分离机制,依照不一样的消息请求类形和不一样的消息内容样式来分离消息,然后把消息发送到对应的加工模块和加工队列里面,同时调取有关的逻辑需求处理。
服务管理部分应包括以下功能:
1)给与相同的服务连接路径,依照各种程序给与相同的服务连接路径,使程序创建更容易;
2)把服务分散开并且对它进行设置,非静态地设置服务。结合信息协议的分析结论,创立有关的服务目标实际案例,对服务申请进行操作。
2 设计目标
开发者经过调取和承接本框架的结构组件和架构真实案例,可以方便地对网络通信应用服务器单元继续进行创建,这样就能很快地创建出性能较强的网络信息传输程序。因此性能较强的网络连接服务器框架的创立目标必须包括下面几部分:
1)功能结构模块化
可多次使用性是框架十分重要的性能,因此要把框架构思成许多相互联系的模块,把接口设置成一致,这样可以让框架很方便地被延伸,减小与应用层之间的藕合性,确保框架具备高内聚低藕合的特征。
2)能有效应对海量并发请求
如今互联网速度发展很快,服务器相对的客户端的个数是在不断增加的。所以在对许多用户一起传送的申请进行操作时,服务器的伸展收缩性一定要强。
3)能有效的管理客户端
网络通信软件的服务一般都是连接距离远使用时间少。在保持众多的用户接入时,一定要达到可以很快地追踪登记和管理控制用户状况的体制,用它对客户端状态的改变进行检测,同时对这种检测进行事件响应并调取有关的操作。并且,运用心跳包体制可以检查出用户非人为因素断线和在线意图不轨等操作,可以方便管理控制连接的信息。
4)灵活的消息协议
通信框架要对各种各样的网络通信程序的要求进行操作,这会让通信框架能达到对各种各样的信息协议进行操作。能够在信息传输单元中完成对字节流、XML流和JSON流都进行操作。让用户定制更加简便。
5)有效的数据包
因为TCP协议仅仅可以确保接收的是有顺序和无误的数据,并不可以确保一次传输的是没有丢失数据包也不会确保一次传输的数据包的数量。这种现象就是很多人都了解的黏包和半包。想要创建一个性能强大的网络通信框架就必须要对传送的数据包的排列次序重新整合,务必使传输给业务逻辑层的数据包是没有缺失的。
6)消息事件多路分离机制
消息处理层会运用信息协议把数据包进行重新组合,分析成没有缺损的信息,然后把各种类形的消息存储各种类形的信息序列里,同时调取有关的服务请求单元来操作。
7)灵活性
相同的创建连接路径和可以延伸的网络传输框架都要使框架和应用程序的处理数据的逻辑分散开,这样会让开发者把更多的精力放在业务逻辑开发上,避免在基本性能上的多次开发。这样会使应用程序不容易受到框架改变的影响,更有助于延伸框架和应用程序。
8)稳定性
稳定性对所有服务器来讲都是非常关键的。它可以判定出一个服务器性能的好坏。网络接入服务器框架必须要具有底层通信性能,要想使创建在框架上面开发的服务器具有较强的稳定性,必须要使它的框架稳定。因此一个较好的网络接入服务器框架一定要有较强的稳定性。
3 系统总体架构
根据上面介绍的框架设计原理,同时依据软件工程设计中的高内聚、低耦合原则,本文提出了图1所示的高性能网络接入服务器框架的系统架构。主要包括3个重要功能模块:底层网络通信模块、消息处理模块和服务管理模块。
图1 高性能网络接入服务器框架的体系结构
3.1 网络通信模块
面对众多用户的接入申请,接受数据包、加工数据包、把数据包传输给信息处理单元、传输应用逻辑层加工之后的数据包进行操作。包括:
套接字监听:套接字监听的作用是把服务器端监测到用户接入申请的Socket破坏掉,依照事先设定好的制度对用户的连接申请进行操作。
对象池:把一段时间内不工作的接入目标调取出来,然后进行处理。这样多次使用不工作的目标就能降低资源浪费,同时可以更方便迅速地实现创建和销毁工作。
线程池:线程池的作用是来存储I/O工作线程经过对许多工作多次使用线程,创建线程所需的工作量可以让许多业务同时进行。当有申请的时候线程己存在,这样会促进体系的响应效率。
I/O工作线程:其主要工作是对I/O请求的种类的区分然后调取有关目标来操作。
3.2 消息处理模块
该模块依据信息协仪对数据流进行操作,把它存储在信息序列里,接着依据信息的种类调取有关的服务事例或者单元来操作。消息处理模块的特性有以下几部分:
消息协议:消息协议是一种通信机制,主要用在用户与服务器、用户跟与用户之间。它是把许多种类的分析方式整合起来,并且给与相同的协议分析原理。开发者仅用使用继承消息协议类同时改变它里面的方法,就能达到使数据包流和应用逻辑层的数据可以互相转换。
消息队列:消息队列的作用是来存储网络通信模块中接受到的消息,并且调取I/O工作线程依照先进先出的规则来对消息进行处理,然后把处理完的信息分发到服务管理模块。它的作用主要是在服务管理模块和网络通信模块中进行缓冲。
3.3 服务管理模块
用于把全部操作和服务特性集合起来进行控制。服务管理给与了相同的接入路径,同时能够非静态地设置服务和操作信息。功能主要有:
配置管理:把全部的服务和处理功能集中起来进行管理和配置,主要工作有初始化、恢复和终止等,同时能够使用服务列表来查询服务。
服务工厂:依照消息处理模块处理分析得到的结论,调取有关的服务案例来进行处理,同时把处理成果传回到消息处理模块。
服务接口:网络接入服务器框架给开发者提供一致的服务连接口,全部的服务功能都是经过这个接口完成的,使开发应用更加简便,对达到服务的非静态动态加载功能有促进作用。
3.4 示例
图2是人工影响天气实时智能指挥系统,由三部分组成:PC指挥机、作业点客户端(手机)以及网络接入服务器。卫星云图在屏幕上显示,决策人员通过分析得出最新数据资料,然后利用得到的关于作业点区域和雷达的数据选择适合的工作区域,指挥PC指挥机自动的生成相关的数据包指令。如果省向当地空军的空域申请得到批准,则PC机可以发送指令通过在网络上接入服务器。智能手机上安装客户端程序,利用WIFI网络与服务器进行连接,获取和转发数据包,最后把结果显示在手机屏幕上。操作人员根据得到的指令参数现场进行作业,并利用数据包,视频和图片形式把现场的实际情况接入到网络服务器中,最后反馈给PC指挥机。
图2 系统整体部署
网络接入服务器起着连接客户端和指挥机的作用。它负责客户端与指挥机的网络接入、数据转发、负责保持和维护指挥机与客户端的视频连接通道,利用多种方式保证网络连接的实用性和可靠性。在整个人影实时智能指挥系统中起到了非常重要的作用。
4 结束语
现在,大部分网络接入服务器基本是创建在某个特别制定的需求分析上,这样的开发方法会把详细的业务性能和最基本的关键性能紧紧地结合起来,适用性、延伸性和移植性都很弱,同时底层的基本关键性能多次创建会使开发时间延长,容易出现错误,利用资本高。
本文分析了高性能网络接入服务器框架的功能需求,讨论了其设计目标,阐述了系统总体架构,给出了人工影响天气作业中实时智能指挥系统采用网络接入服务器的系统实例。实践表明,本文给出的高性能网络接入服务器框架的设计思想有良好的应用意义。
[1] 李兴. 基于Windows完成端口的高性能服务器框架的研究与实现[D]. 华南理工大学, 2011.
[2] 刘卫涛, 李涛. 基于ACE框架的高效网络通信的研究[J]. 电脑知识与技术, 2009, 5(16): 79-83.
[3] 李兴. 基于Windows完成端口的高性能服务器框架的研究与实现[D]. 华南理工大学, 2011.
[4] 朱凯. 基于多协议的人工影响天气接入服务器设计与实现[D]. 南京信息工程大学, 2012.
[5] 胡燕祝, 权桁, 艾新波. 复杂网络全局拓扑相似度计算方法实证研究[J]. 软件, 2015, 36(9): 16-20.
[6] 张宇飞, 李炜. CWMP 在家庭开放平台远程终端管理子系统的应用[J]. 软件, 2016, 37(01): 85-90.
[7] 董恒竞. 一种企业移动应用平台架构设计[J]. 软件, 2016, 37(01): 136-138.
[8] 黄启昭. 基于Agent技术的物流管理信息系统设计研究[J]. 软件, 2013, 34(8): 34-35.
[9] 王学卿, 程琦峰. 基于UML 高校办公管理系统的设计研究[J]. 软件, 2013, 34(11): 36-39.
[10] 张馨跃. 室内可见光通信混合组网方案的设计与实现[J]. 软件, 2013, 34(11): 43-45
[11] 周唯, 刘冬, 刘会师. 基于无线传感器网络拓扑的研究与设计[J]. 软件, 2013, 34(12): 22-25.
[12] 江滨. 计算机网络安全系统在气象通信中的应用分析[J]. 软件, 2014.35(1): 96-97.
[13] 刘晶, 周磊, 牟群刚. 小型图书管理系统的设计和实现[J]. 软件, 2014, 35(2): 28-30.
[14] 闫美玲. 基于VB的档案管理系统的设计与实现[J]. 软件, 2013, 34(6): 51-52.
Design of High Performance Network Access Server Framework
CHEN Wen-wen, ZHOU Jie
(College of Electronics and Information Engineering, Naning University of Information, Science and Technology, Nanjing 210044)
This paper analyzes the functional requirements of the high-performance network access server framework, discusses its design goals, expatiates the overall architecture of the system, and gives a system example of real-time intelligent command system using network access server in weather modification operations. The practice shows that the design idea of the high-performance network access server frame given in this paper has good application significance.
Network access server; Functional requirements; Design goals; System architecture; High performance
TP393.02
A
10.3969/j.issn.1003-6970.2017.04.022
本文著录格式:陈雯雯,周杰. 高性能网络接入服务器框架的设计[J]. 软件,2017,38(4):117-120