摘 要:文章提出一种适用于当前空中交通管制服务自动化的自动升级方案,通过LINUX平台上脚本的编写实现系统软件版本服务器的核心设计,用户端将通过网络对其进行版本实时监测,实现全系统版本统一管理。
关键词:软件管理;管自动化;INUX
引言
当前空中交通管制服务自动化包括欧洲猫、ATC3000,telephonics和NUME2000在内的国内主流产品由于技术保障的要求都采用分布式系统设计方案。分布式设计能将系统的可靠性提高,降低系统故障风险,但是与此同时带来的版本升级问题成为技术维护人员必须关注的焦点,版本的混乱、不统一,容易造成系统单机的不可用甚至整体瘫痪,因此研究一种可以自动升级的方法,对于空管自动化的日常维护来说具有实际意义。文章从实际出发,借用通过LINUX平台脚本的编写实现空管自动化版本的自动更新升级,实现版本统一,提高维护人员工作效率,降低工作差错率。
1 空管自动化系统简介
空中交通管制服务自动化,简称空管自动化,它提供给管制员雷达信号,报文相关,气象信息等空中交通管制必需的信息,现大多通过LINUX平台实现分布式管理。拥有多台服务器,多台客户端,两者之间通过"三网"统一接入网络,形成局域网。而为了保障其可靠性,系统还以单机一主二备模式设立备用服务器,以防止单体功能故障时能够有备用服务器承担主用服务器功能,使系统不受影响。因此在空管自动化中对于复杂的多服务器和多客户端,软件的版本升级是系统管理非常关键的保障点之一。
2 系统设计与实现
2.1 系统总体设计
为了实现功能模块化,可以增加一台普通PC机实现软件版本发布,充当版本发布服务器,加入系统网络拓扑。通过运行客户端或服务器端软件,系统将检测版本发布服务器上最新软件版本,与本地软件版本进行比较(获取配置文件中版本列表信息与本地文件列表对比),自动更新后重启计算机。为了保障系统的不间断运行,在更新前将发出确认信息,用户通过确认后才进行一系列操作,而对于确定无误的无人机房环境,软件版本发布服务器将有更加优先的权限对其强制修改。
2.2 关键技术
由上可见,版本服务器的版本存储和更新相当重要,为了进一步提高智能化使其能够在修改版本文件信息后自动存储,可以采用以下方法。在LINUX系统上编写脚本。这个脚本分为两个文件,一个是可执行文件backup.sh,另一个是备份项目文件 project.lst。
文件backup.sh的作用是将需要备份的版本文件目录BakDir 备份至固定目录中。
其中各变量的表示及文件如下:
LogFile 日志文件
SourceDir 需要备份的目录
BakDir 备份至此目录
RetainDay 备份档案文件保留天数
ProjectLst 备份项目文件配置文件
#!/bin/bash
LogFile=/backup/log/`date +"%Y-%m"`.log
SourceDir=/var/RDfile
BakDir=/backup
RetainDay=20
ProjectLst=/backup/project.lst
DATE=`date +"%Y-%m-%d"`
echo "backup start at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile
echo "--------------------------------------------" >>$LogFile
cd $BakDir
PROJECTLIST=`cat $ProjectLst`
for Project in $PROJECTLIST
do
ProjectData=$SourceDir/$Project
DestDir=$BakDir/$Project
PackFile=$DATE.$Project.tgz
if [ -f $BakDir/$PackFile ]
then
echo "backup file have exist !" >>$LogFile
else
cp -RHpf $ProjectData $DestDir >/dev/null
tar -zcvf $PackFile $Project >/dev/null
echo "backup $Project done into $PackFile" >>$LogFile
rm -rf $Project
fi
done
find $Bakdir -type f -mtime +$RetainDay -name "*.$Project.tgz" -exec rm {} \; >/dev/null
echo "--------------------------------------------------"
>>$LogFile
echo "backup end at $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile
echo " " >> $LogFile
exit 0
其次,project.lst是一个text文件,它的每一行表示一个项目,也就是需要备份的目录下面的文件或目录。因此只要对应备份的版本信息放到该固定目录下,就可以简单实现系统的版本自动升级。
# project.lst :
svn_vob
mysql_db
msn_list
worklist_info
通过以上的两个文件实现了系统版本发布服务器的设计核心。最后服务器与其他机器将通过UDP进行通信,系统在线的计算机对服务器的版本进行实时监测,如若发现有异常则及时更新,这种设计将版本更新负担放在客户端,降低了系统在版本管理方面的风险。
3 结束语
文章提出一种空管自动化系统软件版本自动升级的方案,为空管自动化软件版本管理提供一种技术保障手段,可以降低版本管理风险与提高技术保障效率,同时也为相关分布式软件版本管理提供一个参考。
参考文献
[1]乌云高娃.动态升级在MIS系统中的实现与应用[J].计算机工程与设计,2005,12(10):2854-2856.
[2]叶利华,陶宏才,梁田.基于COM 的软件在线升级技术[J].成都信息工程学院学报, 2005,18(1):73-75.
[3]丁明一.Linux运维之道[M].电子工业出版社.2014.
作者简介:董爽(1990-),女,吉林长春、民航汕头空管站助理工程师,本科,研究方向:空管自动化。endprint
摘 要:文章提出一种适用于当前空中交通管制服务自动化的自动升级方案,通过LINUX平台上脚本的编写实现系统软件版本服务器的核心设计,用户端将通过网络对其进行版本实时监测,实现全系统版本统一管理。
关键词:软件管理;管自动化;INUX
引言
当前空中交通管制服务自动化包括欧洲猫、ATC3000,telephonics和NUME2000在内的国内主流产品由于技术保障的要求都采用分布式系统设计方案。分布式设计能将系统的可靠性提高,降低系统故障风险,但是与此同时带来的版本升级问题成为技术维护人员必须关注的焦点,版本的混乱、不统一,容易造成系统单机的不可用甚至整体瘫痪,因此研究一种可以自动升级的方法,对于空管自动化的日常维护来说具有实际意义。文章从实际出发,借用通过LINUX平台脚本的编写实现空管自动化版本的自动更新升级,实现版本统一,提高维护人员工作效率,降低工作差错率。
1 空管自动化系统简介
空中交通管制服务自动化,简称空管自动化,它提供给管制员雷达信号,报文相关,气象信息等空中交通管制必需的信息,现大多通过LINUX平台实现分布式管理。拥有多台服务器,多台客户端,两者之间通过"三网"统一接入网络,形成局域网。而为了保障其可靠性,系统还以单机一主二备模式设立备用服务器,以防止单体功能故障时能够有备用服务器承担主用服务器功能,使系统不受影响。因此在空管自动化中对于复杂的多服务器和多客户端,软件的版本升级是系统管理非常关键的保障点之一。
2 系统设计与实现
2.1 系统总体设计
为了实现功能模块化,可以增加一台普通PC机实现软件版本发布,充当版本发布服务器,加入系统网络拓扑。通过运行客户端或服务器端软件,系统将检测版本发布服务器上最新软件版本,与本地软件版本进行比较(获取配置文件中版本列表信息与本地文件列表对比),自动更新后重启计算机。为了保障系统的不间断运行,在更新前将发出确认信息,用户通过确认后才进行一系列操作,而对于确定无误的无人机房环境,软件版本发布服务器将有更加优先的权限对其强制修改。
2.2 关键技术
由上可见,版本服务器的版本存储和更新相当重要,为了进一步提高智能化使其能够在修改版本文件信息后自动存储,可以采用以下方法。在LINUX系统上编写脚本。这个脚本分为两个文件,一个是可执行文件backup.sh,另一个是备份项目文件 project.lst。
文件backup.sh的作用是将需要备份的版本文件目录BakDir 备份至固定目录中。
其中各变量的表示及文件如下:
LogFile 日志文件
SourceDir 需要备份的目录
BakDir 备份至此目录
RetainDay 备份档案文件保留天数
ProjectLst 备份项目文件配置文件
#!/bin/bash
LogFile=/backup/log/`date +"%Y-%m"`.log
SourceDir=/var/RDfile
BakDir=/backup
RetainDay=20
ProjectLst=/backup/project.lst
DATE=`date +"%Y-%m-%d"`
echo "backup start at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile
echo "--------------------------------------------" >>$LogFile
cd $BakDir
PROJECTLIST=`cat $ProjectLst`
for Project in $PROJECTLIST
do
ProjectData=$SourceDir/$Project
DestDir=$BakDir/$Project
PackFile=$DATE.$Project.tgz
if [ -f $BakDir/$PackFile ]
then
echo "backup file have exist !" >>$LogFile
else
cp -RHpf $ProjectData $DestDir >/dev/null
tar -zcvf $PackFile $Project >/dev/null
echo "backup $Project done into $PackFile" >>$LogFile
rm -rf $Project
fi
done
find $Bakdir -type f -mtime +$RetainDay -name "*.$Project.tgz" -exec rm {} \; >/dev/null
echo "--------------------------------------------------"
>>$LogFile
echo "backup end at $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile
echo " " >> $LogFile
exit 0
其次,project.lst是一个text文件,它的每一行表示一个项目,也就是需要备份的目录下面的文件或目录。因此只要对应备份的版本信息放到该固定目录下,就可以简单实现系统的版本自动升级。
# project.lst :
svn_vob
mysql_db
msn_list
worklist_info
通过以上的两个文件实现了系统版本发布服务器的设计核心。最后服务器与其他机器将通过UDP进行通信,系统在线的计算机对服务器的版本进行实时监测,如若发现有异常则及时更新,这种设计将版本更新负担放在客户端,降低了系统在版本管理方面的风险。
3 结束语
文章提出一种空管自动化系统软件版本自动升级的方案,为空管自动化软件版本管理提供一种技术保障手段,可以降低版本管理风险与提高技术保障效率,同时也为相关分布式软件版本管理提供一个参考。
参考文献
[1]乌云高娃.动态升级在MIS系统中的实现与应用[J].计算机工程与设计,2005,12(10):2854-2856.
[2]叶利华,陶宏才,梁田.基于COM 的软件在线升级技术[J].成都信息工程学院学报, 2005,18(1):73-75.
[3]丁明一.Linux运维之道[M].电子工业出版社.2014.
作者简介:董爽(1990-),女,吉林长春、民航汕头空管站助理工程师,本科,研究方向:空管自动化。endprint
摘 要:文章提出一种适用于当前空中交通管制服务自动化的自动升级方案,通过LINUX平台上脚本的编写实现系统软件版本服务器的核心设计,用户端将通过网络对其进行版本实时监测,实现全系统版本统一管理。
关键词:软件管理;管自动化;INUX
引言
当前空中交通管制服务自动化包括欧洲猫、ATC3000,telephonics和NUME2000在内的国内主流产品由于技术保障的要求都采用分布式系统设计方案。分布式设计能将系统的可靠性提高,降低系统故障风险,但是与此同时带来的版本升级问题成为技术维护人员必须关注的焦点,版本的混乱、不统一,容易造成系统单机的不可用甚至整体瘫痪,因此研究一种可以自动升级的方法,对于空管自动化的日常维护来说具有实际意义。文章从实际出发,借用通过LINUX平台脚本的编写实现空管自动化版本的自动更新升级,实现版本统一,提高维护人员工作效率,降低工作差错率。
1 空管自动化系统简介
空中交通管制服务自动化,简称空管自动化,它提供给管制员雷达信号,报文相关,气象信息等空中交通管制必需的信息,现大多通过LINUX平台实现分布式管理。拥有多台服务器,多台客户端,两者之间通过"三网"统一接入网络,形成局域网。而为了保障其可靠性,系统还以单机一主二备模式设立备用服务器,以防止单体功能故障时能够有备用服务器承担主用服务器功能,使系统不受影响。因此在空管自动化中对于复杂的多服务器和多客户端,软件的版本升级是系统管理非常关键的保障点之一。
2 系统设计与实现
2.1 系统总体设计
为了实现功能模块化,可以增加一台普通PC机实现软件版本发布,充当版本发布服务器,加入系统网络拓扑。通过运行客户端或服务器端软件,系统将检测版本发布服务器上最新软件版本,与本地软件版本进行比较(获取配置文件中版本列表信息与本地文件列表对比),自动更新后重启计算机。为了保障系统的不间断运行,在更新前将发出确认信息,用户通过确认后才进行一系列操作,而对于确定无误的无人机房环境,软件版本发布服务器将有更加优先的权限对其强制修改。
2.2 关键技术
由上可见,版本服务器的版本存储和更新相当重要,为了进一步提高智能化使其能够在修改版本文件信息后自动存储,可以采用以下方法。在LINUX系统上编写脚本。这个脚本分为两个文件,一个是可执行文件backup.sh,另一个是备份项目文件 project.lst。
文件backup.sh的作用是将需要备份的版本文件目录BakDir 备份至固定目录中。
其中各变量的表示及文件如下:
LogFile 日志文件
SourceDir 需要备份的目录
BakDir 备份至此目录
RetainDay 备份档案文件保留天数
ProjectLst 备份项目文件配置文件
#!/bin/bash
LogFile=/backup/log/`date +"%Y-%m"`.log
SourceDir=/var/RDfile
BakDir=/backup
RetainDay=20
ProjectLst=/backup/project.lst
DATE=`date +"%Y-%m-%d"`
echo "backup start at $(date +"%Y-%m-%d %H:%M:%S")" >$LogFile
echo "--------------------------------------------" >>$LogFile
cd $BakDir
PROJECTLIST=`cat $ProjectLst`
for Project in $PROJECTLIST
do
ProjectData=$SourceDir/$Project
DestDir=$BakDir/$Project
PackFile=$DATE.$Project.tgz
if [ -f $BakDir/$PackFile ]
then
echo "backup file have exist !" >>$LogFile
else
cp -RHpf $ProjectData $DestDir >/dev/null
tar -zcvf $PackFile $Project >/dev/null
echo "backup $Project done into $PackFile" >>$LogFile
rm -rf $Project
fi
done
find $Bakdir -type f -mtime +$RetainDay -name "*.$Project.tgz" -exec rm {} \; >/dev/null
echo "--------------------------------------------------"
>>$LogFile
echo "backup end at $(date +"%Y-%m-%d %H:%M:%S")" >>$LogFile
echo " " >> $LogFile
exit 0
其次,project.lst是一个text文件,它的每一行表示一个项目,也就是需要备份的目录下面的文件或目录。因此只要对应备份的版本信息放到该固定目录下,就可以简单实现系统的版本自动升级。
# project.lst :
svn_vob
mysql_db
msn_list
worklist_info
通过以上的两个文件实现了系统版本发布服务器的设计核心。最后服务器与其他机器将通过UDP进行通信,系统在线的计算机对服务器的版本进行实时监测,如若发现有异常则及时更新,这种设计将版本更新负担放在客户端,降低了系统在版本管理方面的风险。
3 结束语
文章提出一种空管自动化系统软件版本自动升级的方案,为空管自动化软件版本管理提供一种技术保障手段,可以降低版本管理风险与提高技术保障效率,同时也为相关分布式软件版本管理提供一个参考。
参考文献
[1]乌云高娃.动态升级在MIS系统中的实现与应用[J].计算机工程与设计,2005,12(10):2854-2856.
[2]叶利华,陶宏才,梁田.基于COM 的软件在线升级技术[J].成都信息工程学院学报, 2005,18(1):73-75.
[3]丁明一.Linux运维之道[M].电子工业出版社.2014.
作者简介:董爽(1990-),女,吉林长春、民航汕头空管站助理工程师,本科,研究方向:空管自动化。endprint