1. 引言
随着信息技术发展,气象综合信息服务系统在新疆航空气象领域愈发重要。网站群是指建立在统一技术架构基础上的统一部署、统一规范、耦合度高,可以分级管理、分散维护,信息资源能够实现交换和共享的“一群网站”[1]。付向东等人提出网站建设必须从“一群网站”走向“网站群”,以提升管理水平,解决部门之间信息资源不能共享、部门技术力量不足和信息管理与维护滞后等问题[2]。
目前新疆空管局气象综合信息服务系统包括6台虚拟化服务器和3台物理服务器,共有9套网页系统构成的网站群在线运行。用户可以在不改变网址的情况下,通过防火墙根据负载均衡规则分配到其中一台虚拟化服务器或物理服务器。然而,网站的使用和管理过程中遇到的问题也越来越突出,重使用轻维护、系统漏洞无人管理等问题普遍存在,如何解决好这些问题是网站建设者和管理者应当认真研究的课题[3]。由于气象综合信息服务系统的虚拟化服务器集群和物理服务器的网页服务版本和配置必须保持一致,网站运维人员需要花费大量时间和精力进行修改。尤其是在网页服务版本更新或修改数据库数据源配置时,这个过程会给用户访问网页带来异常情况。此外,当气象数据库系统发生故障时,值班人员需要及时将气象综合信息服务系统数据源切换到备用数据库服务器并修复故障。同时,值班人员还需要手动登录每台虚拟化服务器来修改连接数据库的配置参数。这个过程中,用户可能会遇到无法登录或数据异常的情况,影响了用户体验和气象服务品质,也会延迟用户获取气象信息的时间。
基于以上问题,本文对该系统网站群统一管理进行了一系列优化,利用现代化技术,可实行集群化管理[4],统一的平台规划、快速建站、信息共享,可降低运维成本[5],以提高系统运行稳定性和可靠性,并将系统软硬件故障时的快速响应和切换机制作为研究重点,以减少对用户影响。本文设计的气象综合信息服务系统网站群后台统一发布管理平台,旨在整合系统资源,简化运维流程,提高管理效率,提升气象服务品质和效率,以解决当前系统运维痛点。
2. 需求分析
根据对新疆空管局气象综合信息服务系统网站群的维护需求向值班人员进行调查,网站日常维护需实现如下功能。
(1) 网站群的所有操作和管理员的所有后台操作都可通过系统界面进行监控和管理;
(2) 可随时监控整个网站群的运行状态,监控网站群配置及版本的完整性和时效性;
(3) 在网站群维护中可对任一挂载虚拟化服务器或物理服务器进行针对性的维护管理,可对网站IIS服务进行维护操作;
(4) 在后台数据源出现临时性故障的同时,利用软件系统的配置管理模块对后台数据源进行及时的更替,提高网站系统整体的安全性和时效性。
3. 平台总体结构
气象综合信息服务系统网站群后台统一发布管理平台是以C/S架构设计的一套集站群管理、服务管理、配置管理的信息化管理系统,后台使用主流的MySQL数据库进行数据存储。该平台主要用于网站群服务和后台配置的综合信息管理,包含网站群IIS服务管理发布模块、配置管理发布模块、网页版本备份模块、网页负载监测模块、日志记录模块五部分组成。
平台总体结构如图1所示。
Figure 1. Overall structure diagram of platform
图1. 平台总体结构图
4. 功能设计
气象综合服务系统网站群后台统一发布管理平台包含网站群IIS服务管理发布模块、配置管理发布模块、网页版本备份模块、网页负载监测模块、日志记录模块五部分组成。平台主界面如图2所示。
1) IIS服务管理发布模块可实现对现有网站群的9套网站版本进行统一管理,并可对某个或多个服务器上的IIS网页服务进行启停操作,同时可实现一次上传、一键发布,同时保留上一版本数据,在新版本异常情况下,可回溯到老版本。
2) 配置管理发布模块可实现对现有网站群的9套网站配置文件进行统一管理,同时可实现配置文件一次上传、一键发布,同时保留历史配置文件数据,在配置异常情况下,可回溯到修改前的配置文件。
3) 网页版本备份模块可根据气象综合服务系统网站版本号识别历史版本信息并自动备份新旧版本数据及配置文件,在单台虚拟化服务器异常或故障情况下,可通过该模块快速恢复,同时可在新增虚拟化服务器上实现快速部署。
Figure 2. Main interface of the platform
图2. 平台主界面
4) 网页负载监测模块可对网站群远程服务器的网页负载、性能参数和进程运行情况,包含网站负载信息,服务器CPU,内存,网络流量、磁盘使用率、系统服务运行状态等信息,可以人工设置阈值,超值进行告警提醒。
5) 日志记录模块可记录网站开发人员及运维人员对网站进行管理的操作,在网站异常情况下可帮助相关人员快速定位问题的根源,追踪执行的操作过程,追踪网站历次的维护过程。
除上述模块外,平台还具有密码验证登录和虚拟化服务器管理功能。密码验证登录为了避免非开发或维护人员对气象综合服务系统网站群进行误操作。虚拟化服务器管理可根据业务需求变化增加或减少网站的虚拟化服务器数量,对网站数据的发布对象进行动态管理。
平台使用微软系统自带的System.Management类管理服务器。这些类位于System.Management命名空间中。System.Management命名空间提供了一组类和接口,用于管理Windows操作系统和应用程序的配置信息。它提供了一种基于WMI(Windows Management Instrumentation)的编程接口,允许开发人员通过C#代码来访问和管理本地或远程计算机上的系统信息、服务、进程等。通过System.Management命名空间,开发人员可以执行各种管理任务,如查询系统信息、启动和停止服务、管理进程等。使用System.Management类的部分代码如下。
if (simpleButton2.Text == "启动")
{
try
{
ConnectionOptions options = new ConnectionOptions();
options.Username = username;
options.Password = password;
ManagementScope scope = new ManagementScope($"\\\\{remoteServer}\\root\\cimv2", options);
scope.Connect();
ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Service WHERE Name = 'W3SVC'");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection services = searcher.Get();
foreach (ManagementObject service in services)
{
if ((string)service["State"] == "Stopped")
{
service.InvokeMethod("StartService", null);
labelControl11.Text = "已启动服务";
simpleButton2.Text = "停止";
return;
}
}
MessageBox.Show("服务已经在运行或启动失败。");
}
catch (Exception ex)
{
MessageBox.Show($"错误: {ex.Message}");
}
5. 结语
本文设计的网站群后台统一发布管理平台,在投入使用后,进一步提高了气象综合信息服务系统的稳定性和可靠性。网站运维人员能够更快速地进行版本更新和数据库配置修改,减少用户访问异常的情况。在气象数据库系统故障时,值班人员也能够更高效地切换到备用服务器并修复故障,减少用户因此而受到的影响,进一步提升了用户体验和气象服务品质,使用户能够更及时地获取到所需的气象信息。同时,气象综合服务系统网站的开发及运维人员可实现对网站版本及配置的快速、便捷、统一、安全、零感知的更新修改,能够极大地降低人员维护精力,节约维护时间,提高网站群整体的安全性和时效性,避免内外部用户单位因获取气象信息不及时对安全运行造成影响。该平台具有极大地实用性和可推广性,通过配置修改后,可扩展至具有类似网站群运维管理需求的其他单位或部门。