APP下载

山西地震前兆技术系统管理方案的设计及实现

2016-08-03穆慧敏胡玉良程冬焱李惠玲王鹏伟

山西地震 2016年2期
关键词:管理方案数据库语言

穆慧敏,胡玉良,程冬焱,李惠玲,王鹏伟,李 颖

(1.山西省地震局,山西 太原 030021;2.太原大陆裂谷动力学国家野外科学观测研究站,山西 太原 030025)



山西地震前兆技术系统管理方案的设计及实现

穆慧敏1,2,胡玉良1,2,程冬焱1,2,李惠玲1,2,王鹏伟1,2,李颖1,2

(1.山西省地震局,山西太原030021;2.太原大陆裂谷动力学国家野外科学观测研究站,山西太原030025)

摘要:为优化山西地震前兆技术系统的运维管理方案,保障观测系统高效、稳定运行,以C#语言结合SharpSSH组件实现了在Windows环境下通过计算机语言指令实现远程实时监控和管理地震前兆技术系统,为高效管理系统的运行提供了新的解决方案。该方案在投入实际应用后,效果良好。

关键词:数据库;管理方案;C#语言;SharpSSH组件

0引言

地震前兆技术系统运行管理的优化对山西地震前兆观测系统稳定、可靠、高效运行至关重要。目前,该系统的运行监控及管理主要通过浏览及查看中国地震前兆台网数据管理系统获取,辅助SSH或VNC等工具远程登录技术系统,通过命令行方式查看或者依托其它监控软件对服务器的网络通讯[1]、地震前兆数据库表[2]等信息进行监控[3],缺少对技术系统的高效管理。比如管理系统启动及停止、数据库启动及停止、数据库备份、系统校时、服务器重启,均需要人工逐项操作[4]。本文以C#语言结合开源SharpSSH组件实现在Windows环境下通过计算机语言指令远程监控和管理地震前兆技术系统,不仅可以监控服务器的网络通讯、CPU、硬盘、内存、数据库表等信息,而且实现对技术系统的高效管理。在技术系统出现异常时,通过计算机语言指令处理,减少对专业人员的依赖性,从而实现技术系统智能化管理。

1SSH和SharpSSH简介

1.1SSH简介

SSH为Secure Shell的缩写,由IETF的网络工作小组(Network Working Group)制定。是目前较为可靠、建立在应用层和传输层基础上专为远程登录会话和其他网络服务提供安全性的协议。该协议可有效防止远程管理过程中的信息泄露问题,在正确使用时可弥补网络中存在的漏洞。SSH客户端适用于多种平台,几乎所有UNIX平台,包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH,实现服务端和客户端之间双向文件传输。

SSH用于远程登录主机,登录方式通常有两种:口令登录和公钥登录。

口令登录:通过在服务端设定的用户名和密码进行登录,每次登录都需填写密码;公钥登录:通过一对公钥和私钥登录,公钥存放在服务端,私钥存放在客户端。在登录时服务端向客户端发出一串随机字符,客户端通过私钥进行加密后发至服务端,服务端接受后用公钥进行解密,然后匹配是否正确来验证登录。需要注意的是,服务端的公钥名称和用户名一致,用以区分不同用户的不同公钥,这样每次就可直接用公钥登录,省去密码登录的繁琐。

1.2SharpSSH简介

SharpSSH是纯.Net实现的SSH2客户端协议的组件,用于与SSH服务器通信,支持SSH/SCP/SFTP等协议。它是Java开源项目JSch的一个C#移植,拥有口令登录、密钥交换、公钥登录、生成DSA和RSA密钥对、端口转发、流转发、远程执行等功能。

综上所述,鉴于SharpSSH组件具备的强大功能,决定采用该组件实现地震前兆系统运行的监控管理。

2设计方案及功能实现

2.1设计方案

结合近几年山西前兆台网系统运行的实际情况,地震前兆技术系统运行维护主要存在系统运行缓慢、数据交换停滞、仪器采集元数据错误、仪器采集失败、数据库冷备份步骤繁琐等问题[5]。为做好系统运行维护管理工作,需从技术上实现以下功能:中国地震前兆台网数据管理系统启动及停止、Oracle数据库启动及停止、远程校时、Oracle数据库备份、重启系统[6]等。该设计方案主要包含以下两部分:

(1) 服务端。

地震前兆技术系统采用SUSE Linux enterprise server操作系统,数据库采用Oracle 10 g。在服务端执行5个Shell脚本,分别用于实现管理系统启动、管理系统停止、Oracle数据库启动、Oracle数据库停止、Oracle数据库冷备份等。

(2) 客户端。

基于windows 7操作系统Microsoft Visual Studio 2010(以下简称VS2010)开发环境,通过引入SharpSSH动态链接库文件(Tamir.sharpSSH.dll、Org.Mentalis.Security.dll、DiffieHellman.dll),采用C#语言编写代码,实现自动登录地震前兆技术系统,远程执行服务端5个Shell脚本或Linux命令,最终实现远程管理地震前兆技术系统。

2.2功能实现

2.2.1服务端

使用SSH软件以root用户登录到地震前兆技术系统服务器,创建一个文件夹testShell用于存放Shell脚本文件及日志文件。

(1) 管理系统启动及停止脚本。

中国地震前兆台网数据管理系统软件在服务器根目录内install文件下有系统启动和停止的Shell脚本,分别是run.sh和stoprun.sh,远程直接执行这两个脚本可启动和停止管理系统。

(2) 数据库启动脚本。

使用SSH软件以root用户登录到地震前兆技术系统服务器后,进入testShell文件夹下,使用vi命令按图1所示编辑startOracle.sh脚本[7]。

图1 Oracle数据库启动脚本Fig.1 Startup script of Oracle database

(3) 数据库停止脚本。

使用SSH软件以root用户登录到地震前兆技术系统服务器后,进入testShell文件夹下,使用vi命令按图2所示编辑stopOracle.sh脚本。

图2 Oracle数据库停止脚本Fig.2 End script of Oracle database

(4) 冷备份数据库。

使用SSH软件以root用户登录到地震前兆技术系统服务器后,进入testShell文件夹下,使用vi命令按图3所示编辑backOracle.sh脚本[7],冷备份数据库流程是停止管理系统→停止数据库→压缩数据库文件。

图3 冷备份数据库Fig.3 Cold backup database

2.2.2客户端

在windows 7操作系统VS2010开发环境下,采用远程口令方式登录地震前兆技术系统,远程执行以上5个Shell脚本,即可实现管理系统启动、管理系统停止、Oracle数据库启动、Oracle数据库停止、Oracle数据库备份功能;利用Linux远程校时命令和重启命令即可实现技术系统服务器时间校准和系统重启。客户端部署流程图如图4所示。

图4 客户端流程图Fig.4 Client flow chart

以启动管理系统为例,在SSH命令行下启动管理系统命令是source/install/run.sh。这里借助SharpSSH组件在VS2010开发环境下采用C#语言实现SSH命令的发送功能,核心程序如图5所示。

图5 核心程序Fig.5 The core program

通过调用此函数就可向指定的Linux服务器发送SSH命令,实现远程管理目的。

客户端采用兼容DOS的控制台程序方式对地震前兆技术系统进行管理,整体界面如第21页图6所示。

在界面中,登录服务器成功后,通过输入相应的数字选项,即可实现对地震前兆技术系统的远程管理,简单方便。

图6 命令界面Fig.6 Command interface

3应用效果

山西地震前兆技术系统运行管理客户端的设计及实现,巧妙结合C#和开源Sharp组件,充分运用技术手段实现对系统运行的高效管理,减少了对专业人员的依赖,该方案在山西地震前兆台网中心应用以来,取得非常好的效果,保证了地震前兆台网技术系统的稳定、可靠、高效运行。

4结束语

山西地震前兆技术系统运行管理新方法的研究,为做好系统维护工作和实现技术系统优化管理提供了新的解决思路和方案。本文结合C#和Sharp组件编写了客户端指令和服务端脚本,并进行功能应用测试,今后将在此基础上继续探索并应用Sharp组件的其它功能,进一步提升技术系统管理运行的高效性。

参考文献:

[1]姚会琴,赵颖,周利霞,等.监控信息可视化技术在天津地震前兆台网的应用研究[J].震灾防御技术,2014,9(3):550-555.

[2]周克昌,蒋春花,纪寿文,等.地震前兆数据库系统设计[J].地震,2010(2):143-151.

[3]王建国,刘春国,王伟,等.地震前兆数据库综合管理系统[J].大地测量与地球动力学,2013,33(A01):114-116.

[4]王建国,姚会琴,高逊.天津市地震前兆台网的运行监控与维护管理[J].大地测量与地球动力学,2010,30(A01):111-115.

[5]胡玉良,程冬焱,穆慧敏,等.山西地震前兆台网系统运行维护[J].山西地震,2013(3):44-48.

[6]张红秀,郭林旺,郭国祥,等.山西数字化前兆观测系统的常见故障与维护[J].大地测量与地球动力学,2013,33(A02):139-141.

[7]陈传华,曲保安,朱荣,等.前兆管理系统数据库冷备份及恢复方法实现[J].地震地磁观测与研究,2010(4):135-139.

文章编号:1000-6265(2016)02-0018-04

收稿日期:2016-02-22

基金项目:山西省地震局科研项目(SBK-1409)。

第一作者简介:穆慧敏(1981—),女,山西省太原市人。2005年毕业于中北大学,工程师。

中图分类号:P315.69

文献标志码:A

Design and Implementation of the Management Scheme of Shanxi Earthquake Precursor Technology System

MU Hui-min1,2, HU Yu-liang1,2, CHENG Dong-yan1,2, LI Hui-ling1,2, WANG Peng-wei1,2, LI Yin1,2

(1.Earthquake Administration of Shanxi Province, Taiyuan, Shanxi 030021, China; 2.State Key Observatory of Shanxi Rift System, Taiyuan, Shanxi 030025, China)

Abstract:In order to optimize the operation and maintenance management of the earthquake precursor technology system and ensure efficient and stable operation of the observation system, remote real time management in Windows environment is implemented by C#language combined with SharpSSH component. It provides a new solution for the operation of the high efficiency management technology system. The practical application of this scheme is effective.

Key words:Database; Management scheme; C#language; SharpSSH component

猜你喜欢

管理方案数据库语言
语言是刀
让语言描写摇曳多姿
数据库
网络经济下企业人力资源管理的优化方式初探
现代医院大型医疗设备维修常见问题与对策
累积动态分析下的同声传译语言压缩
智能电网中光纤通信系统的可靠性分析
新时期水泥企业营销团队管理方案之我见
数据库
数据库