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