摘 要:文章提出一種適用于當前空中交通管制服務自動化的自動升級方案,通過LINUX平臺上腳本的編寫實現(xiàn)系統(tǒng)軟件版本服務器的核心設計,用戶端將通過網(wǎng)絡對其進行版本實時監(jiān)測,實現(xiàn)全系統(tǒng)版本統(tǒng)一管理。
關鍵詞:軟件管理;管自動化;INUX
引言
當前空中交通管制服務自動化包括歐洲貓、ATC3000,telephonics和NUME2000在內(nèi)的國內(nèi)主流產(chǎn)品由于技術(shù)保障的要求都采用分布式系統(tǒng)設計方案。分布式設計能將系統(tǒng)的可靠性提高,降低系統(tǒng)故障風險,但是與此同時帶來的版本升級問題成為技術(shù)維護人員必須關注的焦點,版本的混亂、不統(tǒng)一,容易造成系統(tǒng)單機的不可用甚至整體癱瘓,因此研究一種可以自動升級的方法,對于空管自動化的日常維護來說具有實際意義。文章從實際出發(fā),借用通過LINUX平臺腳本的編寫實現(xiàn)空管自動化版本的自動更新升級,實現(xiàn)版本統(tǒng)一,提高維護人員工作效率,降低工作差錯率。
1 空管自動化系統(tǒng)簡介
空中交通管制服務自動化,簡稱空管自動化,它提供給管制員雷達信號,報文相關,氣象信息等空中交通管制必需的信息,現(xiàn)大多通過LINUX平臺實現(xiàn)分布式管理。擁有多臺服務器,多臺客戶端,兩者之間通過"三網(wǎng)"統(tǒng)一接入網(wǎng)絡,形成局域網(wǎng)。而為了保障其可靠性,系統(tǒng)還以單機一主二備模式設立備用服務器,以防止單體功能故障時能夠有備用服務器承擔主用服務器功能,使系統(tǒng)不受影響。因此在空管自動化中對于復雜的多服務器和多客戶端,軟件的版本升級是系統(tǒng)管理非常關鍵的保障點之一。
2 系統(tǒng)設計與實現(xiàn)
2.1 系統(tǒng)總體設計
為了實現(xiàn)功能模塊化,可以增加一臺普通PC機實現(xiàn)軟件版本發(fā)布,充當版本發(fā)布服務器,加入系統(tǒng)網(wǎng)絡拓撲。通過運行客戶端或服務器端軟件,系統(tǒng)將檢測版本發(fā)布服務器上最新軟件版本,與本地軟件版本進行比較(獲取配置文件中版本列表信息與本地文件列表對比),自動更新后重啟計算機。為了保障系統(tǒng)的不間斷運行,在更新前將發(fā)出確認信息,用戶通過確認后才進行一系列操作,而對于確定無誤的無人機房環(huán)境,軟件版本發(fā)布服務器將有更加優(yōu)先的權(quán)限對其強制修改。
2.2 關鍵技術(shù)
由上可見,版本服務器的版本存儲和更新相當重要,為了進一步提高智能化使其能夠在修改版本文件信息后自動存儲,可以采用以下方法。在LINUX系統(tǒng)上編寫腳本。這個腳本分為兩個文件,一個是可執(zhí)行文件backup.sh,另一個是備份項目文件 project.lst。
文件backup.sh的作用是將需要備份的版本文件目錄BakDir 備份至固定目錄中。
其中各變量的表示及文件如下:
LogFile 日志文件
SourceDir 需要備份的目錄
BakDir 備份至此目錄
RetainDay 備份檔案文件保留天數(shù)
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文件,它的每一行表示一個項目,也就是需要備份的目錄下面的文件或目錄。因此只要對應備份的版本信息放到該固定目錄下,就可以簡單實現(xiàn)系統(tǒng)的版本自動升級。
# project.lst :
svn_vob
mysql_db
msn_list
worklist_info
通過以上的兩個文件實現(xiàn)了系統(tǒng)版本發(fā)布服務器的設計核心。最后服務器與其他機器將通過UDP進行通信,系統(tǒng)在線的計算機對服務器的版本進行實時監(jiān)測,如若發(fā)現(xiàn)有異常則及時更新,這種設計將版本更新負擔放在客戶端,降低了系統(tǒng)在版本管理方面的風險。
3 結(jié)束語
文章提出一種空管自動化系統(tǒng)軟件版本自動升級的方案,為空管自動化軟件版本管理提供一種技術(shù)保障手段,可以降低版本管理風險與提高技術(shù)保障效率,同時也為相關分布式軟件版本管理提供一個參考。
參考文獻
[1]烏云高娃.動態(tài)升級在MIS系統(tǒng)中的實現(xiàn)與應用[J].計算機工程與設計,2005,12(10):2854-2856.
[2]葉利華,陶宏才,梁田.基于COM 的軟件在線升級技術(shù)[J].成都信息工程學院學報, 2005,18(1):73-75.
[3]丁明一.Linux運維之道[M].電子工業(yè)出版社.2014.
作者簡介:董爽(1990-),女,吉林長春、民航汕頭空管站助理工程師,本科,研究方向:空管自動化。endprint
摘 要:文章提出一種適用于當前空中交通管制服務自動化的自動升級方案,通過LINUX平臺上腳本的編寫實現(xiàn)系統(tǒng)軟件版本服務器的核心設計,用戶端將通過網(wǎng)絡對其進行版本實時監(jiān)測,實現(xiàn)全系統(tǒng)版本統(tǒng)一管理。
關鍵詞:軟件管理;管自動化;INUX
引言
當前空中交通管制服務自動化包括歐洲貓、ATC3000,telephonics和NUME2000在內(nèi)的國內(nèi)主流產(chǎn)品由于技術(shù)保障的要求都采用分布式系統(tǒng)設計方案。分布式設計能將系統(tǒng)的可靠性提高,降低系統(tǒng)故障風險,但是與此同時帶來的版本升級問題成為技術(shù)維護人員必須關注的焦點,版本的混亂、不統(tǒng)一,容易造成系統(tǒng)單機的不可用甚至整體癱瘓,因此研究一種可以自動升級的方法,對于空管自動化的日常維護來說具有實際意義。文章從實際出發(fā),借用通過LINUX平臺腳本的編寫實現(xiàn)空管自動化版本的自動更新升級,實現(xiàn)版本統(tǒng)一,提高維護人員工作效率,降低工作差錯率。
1 空管自動化系統(tǒng)簡介
空中交通管制服務自動化,簡稱空管自動化,它提供給管制員雷達信號,報文相關,氣象信息等空中交通管制必需的信息,現(xiàn)大多通過LINUX平臺實現(xiàn)分布式管理。擁有多臺服務器,多臺客戶端,兩者之間通過"三網(wǎng)"統(tǒng)一接入網(wǎng)絡,形成局域網(wǎng)。而為了保障其可靠性,系統(tǒng)還以單機一主二備模式設立備用服務器,以防止單體功能故障時能夠有備用服務器承擔主用服務器功能,使系統(tǒng)不受影響。因此在空管自動化中對于復雜的多服務器和多客戶端,軟件的版本升級是系統(tǒng)管理非常關鍵的保障點之一。
2 系統(tǒng)設計與實現(xiàn)
2.1 系統(tǒng)總體設計
為了實現(xiàn)功能模塊化,可以增加一臺普通PC機實現(xiàn)軟件版本發(fā)布,充當版本發(fā)布服務器,加入系統(tǒng)網(wǎng)絡拓撲。通過運行客戶端或服務器端軟件,系統(tǒng)將檢測版本發(fā)布服務器上最新軟件版本,與本地軟件版本進行比較(獲取配置文件中版本列表信息與本地文件列表對比),自動更新后重啟計算機。為了保障系統(tǒng)的不間斷運行,在更新前將發(fā)出確認信息,用戶通過確認后才進行一系列操作,而對于確定無誤的無人機房環(huán)境,軟件版本發(fā)布服務器將有更加優(yōu)先的權(quán)限對其強制修改。
2.2 關鍵技術(shù)
由上可見,版本服務器的版本存儲和更新相當重要,為了進一步提高智能化使其能夠在修改版本文件信息后自動存儲,可以采用以下方法。在LINUX系統(tǒng)上編寫腳本。這個腳本分為兩個文件,一個是可執(zhí)行文件backup.sh,另一個是備份項目文件 project.lst。
文件backup.sh的作用是將需要備份的版本文件目錄BakDir 備份至固定目錄中。
其中各變量的表示及文件如下:
LogFile 日志文件
SourceDir 需要備份的目錄
BakDir 備份至此目錄
RetainDay 備份檔案文件保留天數(shù)
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文件,它的每一行表示一個項目,也就是需要備份的目錄下面的文件或目錄。因此只要對應備份的版本信息放到該固定目錄下,就可以簡單實現(xiàn)系統(tǒng)的版本自動升級。
# project.lst :
svn_vob
mysql_db
msn_list
worklist_info
通過以上的兩個文件實現(xiàn)了系統(tǒng)版本發(fā)布服務器的設計核心。最后服務器與其他機器將通過UDP進行通信,系統(tǒng)在線的計算機對服務器的版本進行實時監(jiān)測,如若發(fā)現(xiàn)有異常則及時更新,這種設計將版本更新負擔放在客戶端,降低了系統(tǒng)在版本管理方面的風險。
3 結(jié)束語
文章提出一種空管自動化系統(tǒng)軟件版本自動升級的方案,為空管自動化軟件版本管理提供一種技術(shù)保障手段,可以降低版本管理風險與提高技術(shù)保障效率,同時也為相關分布式軟件版本管理提供一個參考。
參考文獻
[1]烏云高娃.動態(tài)升級在MIS系統(tǒng)中的實現(xiàn)與應用[J].計算機工程與設計,2005,12(10):2854-2856.
[2]葉利華,陶宏才,梁田.基于COM 的軟件在線升級技術(shù)[J].成都信息工程學院學報, 2005,18(1):73-75.
[3]丁明一.Linux運維之道[M].電子工業(yè)出版社.2014.
作者簡介:董爽(1990-),女,吉林長春、民航汕頭空管站助理工程師,本科,研究方向:空管自動化。endprint
摘 要:文章提出一種適用于當前空中交通管制服務自動化的自動升級方案,通過LINUX平臺上腳本的編寫實現(xiàn)系統(tǒng)軟件版本服務器的核心設計,用戶端將通過網(wǎng)絡對其進行版本實時監(jiān)測,實現(xiàn)全系統(tǒng)版本統(tǒng)一管理。
關鍵詞:軟件管理;管自動化;INUX
引言
當前空中交通管制服務自動化包括歐洲貓、ATC3000,telephonics和NUME2000在內(nèi)的國內(nèi)主流產(chǎn)品由于技術(shù)保障的要求都采用分布式系統(tǒng)設計方案。分布式設計能將系統(tǒng)的可靠性提高,降低系統(tǒng)故障風險,但是與此同時帶來的版本升級問題成為技術(shù)維護人員必須關注的焦點,版本的混亂、不統(tǒng)一,容易造成系統(tǒng)單機的不可用甚至整體癱瘓,因此研究一種可以自動升級的方法,對于空管自動化的日常維護來說具有實際意義。文章從實際出發(fā),借用通過LINUX平臺腳本的編寫實現(xiàn)空管自動化版本的自動更新升級,實現(xiàn)版本統(tǒng)一,提高維護人員工作效率,降低工作差錯率。
1 空管自動化系統(tǒng)簡介
空中交通管制服務自動化,簡稱空管自動化,它提供給管制員雷達信號,報文相關,氣象信息等空中交通管制必需的信息,現(xiàn)大多通過LINUX平臺實現(xiàn)分布式管理。擁有多臺服務器,多臺客戶端,兩者之間通過"三網(wǎng)"統(tǒng)一接入網(wǎng)絡,形成局域網(wǎng)。而為了保障其可靠性,系統(tǒng)還以單機一主二備模式設立備用服務器,以防止單體功能故障時能夠有備用服務器承擔主用服務器功能,使系統(tǒng)不受影響。因此在空管自動化中對于復雜的多服務器和多客戶端,軟件的版本升級是系統(tǒng)管理非常關鍵的保障點之一。
2 系統(tǒng)設計與實現(xiàn)
2.1 系統(tǒng)總體設計
為了實現(xiàn)功能模塊化,可以增加一臺普通PC機實現(xiàn)軟件版本發(fā)布,充當版本發(fā)布服務器,加入系統(tǒng)網(wǎng)絡拓撲。通過運行客戶端或服務器端軟件,系統(tǒng)將檢測版本發(fā)布服務器上最新軟件版本,與本地軟件版本進行比較(獲取配置文件中版本列表信息與本地文件列表對比),自動更新后重啟計算機。為了保障系統(tǒng)的不間斷運行,在更新前將發(fā)出確認信息,用戶通過確認后才進行一系列操作,而對于確定無誤的無人機房環(huán)境,軟件版本發(fā)布服務器將有更加優(yōu)先的權(quán)限對其強制修改。
2.2 關鍵技術(shù)
由上可見,版本服務器的版本存儲和更新相當重要,為了進一步提高智能化使其能夠在修改版本文件信息后自動存儲,可以采用以下方法。在LINUX系統(tǒng)上編寫腳本。這個腳本分為兩個文件,一個是可執(zhí)行文件backup.sh,另一個是備份項目文件 project.lst。
文件backup.sh的作用是將需要備份的版本文件目錄BakDir 備份至固定目錄中。
其中各變量的表示及文件如下:
LogFile 日志文件
SourceDir 需要備份的目錄
BakDir 備份至此目錄
RetainDay 備份檔案文件保留天數(shù)
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文件,它的每一行表示一個項目,也就是需要備份的目錄下面的文件或目錄。因此只要對應備份的版本信息放到該固定目錄下,就可以簡單實現(xiàn)系統(tǒng)的版本自動升級。
# project.lst :
svn_vob
mysql_db
msn_list
worklist_info
通過以上的兩個文件實現(xiàn)了系統(tǒng)版本發(fā)布服務器的設計核心。最后服務器與其他機器將通過UDP進行通信,系統(tǒng)在線的計算機對服務器的版本進行實時監(jiān)測,如若發(fā)現(xiàn)有異常則及時更新,這種設計將版本更新負擔放在客戶端,降低了系統(tǒng)在版本管理方面的風險。
3 結(jié)束語
文章提出一種空管自動化系統(tǒng)軟件版本自動升級的方案,為空管自動化軟件版本管理提供一種技術(shù)保障手段,可以降低版本管理風險與提高技術(shù)保障效率,同時也為相關分布式軟件版本管理提供一個參考。
參考文獻
[1]烏云高娃.動態(tài)升級在MIS系統(tǒng)中的實現(xiàn)與應用[J].計算機工程與設計,2005,12(10):2854-2856.
[2]葉利華,陶宏才,梁田.基于COM 的軟件在線升級技術(shù)[J].成都信息工程學院學報, 2005,18(1):73-75.
[3]丁明一.Linux運維之道[M].電子工業(yè)出版社.2014.
作者簡介:董爽(1990-),女,吉林長春、民航汕頭空管站助理工程師,本科,研究方向:空管自動化。endprint