谈气象服务的可扩展网络接入服务器的设计与实现

2016-03-16 09:04
移动信息 2016年7期
关键词:线程消息客户端

黄 河



谈气象服务的可扩展网络接入服务器的设计与实现

黄 河

湖北省公众气象服务中心,湖北 武汉430074

针对目前气象服务的网络接入服务器存在的弊端,以当前开发气象服务器的情况为根据,设计了一个可扩展网络服务器,对可扩展网络服务器的整体框架和核心功能进行了介绍。

气象服务;可扩展;网络接入服务器

引言

目前,气象行业的气象服务系统正在朝着信息传递高效及时、较广的业务覆盖面、较多的业务种类等方向发展。为了更好地满足气象服务系统的发展要求,本文针对一种气象服务的可扩展网络接入服务器的设计与实现进行了分析和介绍。

1 气象服务的可扩展网络接入服务器的整体框架

1.1 网络通信模块

①套接字监听。套接字监听的主要作用就是对监听客户端的Socket进行负责和销毁,以预先设定的要求为根据对客户端的连接请求进行接受或者拒绝。

②对象池。对象池能够回收管理暂时空闲的连接对象,通过对空闲对象的充分利用能够有效地降低资源的损耗,而且还可以将创建和销毁操作更加快捷、方便的完成。

③线程池。线程池的主要作用就是对I/0工作线程进行存放,在多个任务上分摊线程创建的开销。线程在请求达到的时候就会存在,因此可以使系统整体的响应速度得以提升。

④I/0工作线程。I/0工作线程的最为主要的作用就是对I/0请求类型进行判断,并且对相应的对象进行调用,加以处理。

1.2 消息模块

①消息协议。消息协议主要是客户端与客户端之间、客户端与服务器之间开展通信的规则,利用封装多种类型的解析方式可以将统一的协议解析机制提供出来。②消息队列。消息队列的最为主要的作用就是对通信模块接收的消息进行存放,而且对消息进行处理,向服务管理模块分派处理好的消息。

1.3服务管理模块

①配置管理。对全部的服务和功能进行集中的管理和配置,其中包括终止、恢复和初始化等一系列的操作,利用相应的服务列表可以对服务进行查找。②服务工厂。以消息处理模块的解析结果为根据对相应的服务实例进行调用,在完成处理之后向消息处理模块返送结果。③网络接口。网络接入服务器框架可以将统一的服务接口提供给开发人员,利用这个接口可以实现全部的服务功能,可以确保服务的动态加载功能更好的实现。

2 气象服务的可扩展网络接入服务器的详细设计与实现

2.1 系统操作界面

①管理操作模块。管理操作模块分为两个部分,也就是用户管理和地区管理。其中,用户管理主要功能就是使管理人员对用户信息进行更加便捷的操作。如对用户账号的创建、删除和修改;在地区管理中设置了分组管理功能,以省、市、县为根据对人影指挥平台和气象预警平台实施分组管理,同时能够以省级PC指挥机的指令为根据将下属地区PC指挥机的权限剥夺掉。②系统设置操作。系统设置操作分为两个部分:也就是高级设置操作和基本设置操作,通过基本设置操作用户能够配置服务器的数据库的IP地址端口、启动时是否最小化以及是否开机启动等。高级设置操作则将自动更新设置和注册信息的配置功能等提供给了用户。③数据操作模块。数据操作模块可以对用户管理人影作业相关数据进行更好的管理。其具有清理日志和过期数据、备份和恢复人影作业相关数据、查看离线文件信息和历史操作记录等功能[1]。

2.2 系统网络与通信模块

在网络接入服务系统中网络通信模块属于核心模块,其可以将数据传输服务提供给消息处理模块,而且还可以对客户端和系统的交互起到维护作用。该模块的主要作用就是创建和销毁线程池、内存池和对象池,而且还可以对客户端通信和套接字进行启动。网络通信模块必须要具备良好的伸缩性和交互性,确保可以以其为基础更好地架设系统的其他模块。

2.3 设计和实现数据处理模块

①CP协议的无消息边界。作为面向连续字节流的可靠传输协议,TCP协议能够对数据有效到达接收端进行保障,但并不能保障数据的完整性。这是由于在程序设计的过程中,每次只能发送一个程序包,而TCP协议往往要收集到一定量的数据才会进行统一发送,以提高传输的速率。这种情况下很容易出现粘包。②消息协议。为了保障数据传输的稳定性和准确性,并将数据处理的结果及时反馈给气象业务平台,必须制定与气象服务需要相适合的消息协议。时序、语义和语法是通讯协议的三要素。由于气象业务的不同,需要不同的消息协议,设计中要保障消息协议的可扩展性和可移植性。③SON数据格式。以字节流的方式传输消息数据包,数据包是以对象的形式存在的,一般有两种方法来对业务逻辑中的对象进行转换。第一种是对对象进行序列化,然后向接收方发送;第二种是建立字节数组,然后直接发送。④数据接收模块。必须对接收和发送的流程进行科学的设计,保障网络传输的正确性。网络接入服务器的接收流程见图1,发送流程见图2。

2.4 数据库

本设计使用Oracle lOg系统存储数据作为数据库,主要对人影作业指挥过程中的离线文件、已注册的气象业务平台信息和服务器使用人员的信息进行存储。服务器使用人员和管理人员的密码、用户名、部门、姓名、ID等信息主要存储于人员信息表,已注册的气象业务平台的等级、类型、密码、ID等信息主要存储于气象平台信息表,客户端的离线文件请求主要存储于离线文件表,人工影响天气决策指挥成功作业的数据包大小和类型、原客户端信息、作业起始时间主要存储于历史作业记录表,网络接入服务器的一些常规信息主要存储于系统信息日志[2]。由于气象服务的数据量不断增大,数据种类不断增多,导致气象服务终端具有越来越集中的访问量和更加频繁的数据交互。为了避免系统崩溃,可以继续使用负载均衡技术,对系统负载进行合理的分配,使服务器接入的可靠性和实时性得到保障。尽管业务逻辑层具有很快的处理速度,但是在读写数据时,处理速度往往很慢,此时可以用数据库连接池技术。也就是在连接池中放入一定数量的数据库,这样在用户访问时就可以直接取出空闲的数据库进行操作,操作完毕后再将其放回连接池[3]。

图1 网络接入服务器接收流程

图2 数据发送流程图

3 结束语

传统的气象服务系统不具备可移植性、可扩展性和可通用性,而且具有传递数据格式单一和较小的负载能力等问题。本文设计的系统能够充分地满足现在气象服务对网络接入服务器的需求,具有较高的可行性[4]。

[1]廖宏建,杨玉宝,唐连章.完成端口实现高性能服务端通信层的关键问题[J].计算机应用,2012(3):153.

[2]王进 B/S模式下的三层架构模式[J].软件导刊,2011(3):55.

[3]韩吉,周杰,杜景林.基于Android的气象WSN监测系统设计与实现[J].计算机工程与设计,2014(8):2709-2714.

[4]蔡锦辉.利用3G网络实现移动气象工作站[J].电子技术与软件工程,2014(13):58-59.

Talking About Weather Service of the Design and Implementation of a Scalable Network Access Server

Huang He

Public Meteorological Service Center in Hubei Province,Hubei WuHan 430074

This article in view of the present insufficiency of meteorological service network access server. In the current development of meteorological server based on the condition of the designed a scalable web server. The core of the overall framework and scalable web server functions are introduced.

meteorological services;Extensible;network access server

P409

A

1009-6434(2016)07-0142-03

黄河(1983—),男,汉族,湖北省武汉市人,硕士,工程师,从事气象服务与应用气象工作。

猜你喜欢
线程消息客户端
基于C#线程实验探究
一张图看5G消息
基于国产化环境的线程池模型研究与实现
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
浅谈linux多线程协作
消息
消息