国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Windows內(nèi)核腳本的試飛數(shù)據(jù)自主備份工具設(shè)計(jì)

2014-09-26 03:48覃楊森劉成玉霍朝暉
電子設(shè)計(jì)工程 2014年2期
關(guān)鍵詞:配置文件腳本內(nèi)核

覃楊森,劉成玉,祁 春,霍朝暉

(中國(guó)飛行試驗(yàn)研究院 陜西 西安 710089)

飛行試驗(yàn)過程中關(guān)鍵試驗(yàn)參數(shù)與日劇增,從而導(dǎo)致了試飛數(shù)據(jù)量也隨之增大,數(shù)據(jù)的處理過程愈趨復(fù)雜[1]。由于試驗(yàn)數(shù)據(jù)是充分了解飛行過程的主要途徑,因而保持?jǐn)?shù)據(jù)完整性的重要意義也愈現(xiàn)突出,極有可能因某些飛行試驗(yàn)科目的分析及講評(píng)需要,會(huì)使用到之前一年甚至更早期的試飛數(shù)據(jù),用以幫助重現(xiàn)飛機(jī)的特性及安全健康狀況變化分析[2-3]。正因此,需要在飛行事后完成大數(shù)據(jù)量的備份存儲(chǔ)工作。單靠人工操作,逐型號(hào)逐架次完成數(shù)據(jù)的備份難免會(huì)引入誤操作,有可能使得某些重要數(shù)據(jù)出現(xiàn)誤存、漏存和復(fù)存的現(xiàn)象。而如果可以利用操作系統(tǒng)自帶的文件管理功能,完成數(shù)據(jù)的自主備份,將節(jié)省下大量的人工操作時(shí)間,而且還可以防止人為因素而引起的錯(cuò)誤,以保證飛行試驗(yàn)備份數(shù)據(jù)的準(zhǔn)確性、及時(shí)性及完整性。目前所利用的飛行數(shù)據(jù)備份工具,大部分都是脫離系統(tǒng)內(nèi)核腳本運(yùn)行而設(shè)計(jì)開發(fā),難以避免會(huì)存在因備份進(jìn)程長(zhǎng)時(shí)占用操作系統(tǒng)資源和網(wǎng)絡(luò)帶寬造成的網(wǎng)絡(luò)中斷或網(wǎng)絡(luò)阻塞現(xiàn)象。當(dāng)備份數(shù)據(jù)量過大時(shí),便很容易導(dǎo)致系統(tǒng)或網(wǎng)絡(luò)崩潰,從而保證不了數(shù)據(jù)的完整性。而基于windows內(nèi)核的 Windows Resource Kit tools(WRK)工具的出現(xiàn),為備份工具實(shí)現(xiàn)提供了很好的兼容性平臺(tái),并且省去了實(shí)現(xiàn)過程中對(duì)線程調(diào)度及網(wǎng)絡(luò)進(jìn)程的管理,大大簡(jiǎn)化了工具的復(fù)雜度,也增加了工具的實(shí)用性和用戶友好性。

1 內(nèi)核腳本及WRK組件

內(nèi)核腳本最常用于系統(tǒng)管理工作,或是用于結(jié)合現(xiàn)有程序用以完成小型的、特定的工作,可以把用到的命令串在一起,放進(jìn)一個(gè)獨(dú)立的程序或腳本里,此后只要直接執(zhí)行該程序便能完成工作。內(nèi)核腳屬于解釋型語(yǔ)言,由解釋器(interpreter)讀入程序代碼,并將其轉(zhuǎn)換成內(nèi)部的形式,再執(zhí)行[4]。這樣一來,便克服了所處理的是字節(jié)、整數(shù)、浮點(diǎn)數(shù)或是其他機(jī)器層級(jí)的對(duì)象這一缺點(diǎn),使得類似“將一個(gè)目錄里所有的文件復(fù)制到另一個(gè)目錄中”之類的操作簡(jiǎn)單化。

Windows Resource Kit tools(WRK)是一組為管理員、開發(fā)者和高級(jí)用戶設(shè)計(jì)的內(nèi)核組件工具,包括管理活動(dòng)目錄、組策略、TCP/IP網(wǎng)絡(luò)、注冊(cè)表、系統(tǒng)安全、監(jiān)測(cè)等涉及Windows Server 2003操作系統(tǒng)的其他很多方面非常規(guī)安裝的內(nèi)核腳本工具組。在WRK的腳本命令中,支持了更多重要的文件復(fù)制任務(wù),從而能夠真正簡(jiǎn)化了工作,支持創(chuàng)建兩個(gè)文件結(jié)構(gòu)的完全鏡像副本而不復(fù)制任何不需要的文件,也支持只復(fù)制源位置中的新文件或更新后的文件。例如,Robocopy還允許用戶選擇是否保留所有相關(guān)文件信息,包括日期和時(shí)間戳、安全訪問控制列表(ACL)及更多內(nèi)容。

2 自主備份工具設(shè)計(jì)實(shí)現(xiàn)

自主備份工具的配置管理、任務(wù)腳本生成及日志記錄功能主要基于C++builder開發(fā)環(huán)境實(shí)現(xiàn),腳本命令的運(yùn)行及線程調(diào)度管理由操作系統(tǒng)內(nèi)核運(yùn)行實(shí)現(xiàn),其框架如圖1所示。配置管理通過用戶操作控制組件激活配置組件。配置組件在獲得用戶配置操作之后,在系統(tǒng)的內(nèi)核文件目錄下生成相應(yīng)的配置文件和任務(wù)計(jì)劃文件。當(dāng)自主備份工具判斷到用戶已經(jīng)完成配置之后,將配置文件和任務(wù)計(jì)劃文件進(jìn)行解析,轉(zhuǎn)換成windows內(nèi)核命令腳本,并在用戶的激活操作下啟動(dòng)運(yùn)行。內(nèi)核命令腳本由系統(tǒng)自身的命令解析器分解,在操作系統(tǒng)環(huán)境下完成相應(yīng)的網(wǎng)絡(luò)管理及進(jìn)程調(diào)用,利用文件管理子系統(tǒng)完成文件的備份任務(wù),同時(shí)將計(jì)劃任務(wù)寫入系統(tǒng)自身的任務(wù)計(jì)劃組件中,實(shí)現(xiàn)定時(shí)備份的功能。

圖1 工具架構(gòu)圖Fig.1 Tool architecture

為了標(biāo)準(zhǔn)化XML配置文件,結(jié)合工具的配置項(xiàng),需要先定義與腳本模塊對(duì)應(yīng)的 DTD (Document Type Definition)文檔,用于規(guī)范存儲(chǔ)各項(xiàng)配置操作及計(jì)劃任務(wù),具體定義如下所示:

2.1 用戶操作組件實(shí)現(xiàn)

用戶操作控制組件主要基于C++builder6.0[5]開發(fā)環(huán)境完成。在用戶操作控制組件設(shè)計(jì)中,使用了suiskin3.4界面插件,提高了用戶操作界面的美觀性,由于界面插件與開發(fā)環(huán)境的密切兼容性,使得工具獲得了與windows風(fēng)格更為兼容的運(yùn)行效果,操作界面如圖2所示。操作控制組件完成了數(shù)據(jù)備份的源路徑選擇及目的路徑選擇,用戶可通過“配置”按鈕激活配置界面對(duì)話框。

圖2 工具操作界面Fig.2 Operator interface

為了避免誤操作,采用了操作狀態(tài)相關(guān)性互斥設(shè)計(jì)[6],以增強(qiáng)工具與用戶的友好性,其邏輯關(guān)系如表1所示。

表1 狀態(tài)遷移表Tab.1 State transition table

2.2 配置組件實(shí)現(xiàn)

通過操作控制組件的“配置按鈕”,用戶可以激活配置組件,完成備份工具的配置操作,其與用戶交互界面如圖3所示。

通過完成對(duì)“文件類型”、“操作選項(xiàng)”及“運(yùn)行計(jì)劃”的配置,形成相應(yīng)的配置文件和計(jì)劃任務(wù)。配置文件形成過程如圖4所示,形成的配置文件如下所示。

圖3 配置組件交互界面Fig.3 Configuration components interface

圖4 配置文件形成流程Fig.4 Configuration files formation process

其中操作選項(xiàng)、DTD元素與腳本命令符部分對(duì)應(yīng)關(guān)系如表2所示。

表2 對(duì)應(yīng)關(guān)系Tab.2 Corresponding relationship

配置組件通過識(shí)別配置文件和計(jì)劃任務(wù)文件,生成后綴為.cmd的windows NT命令腳本。腳本形成過程如圖5所示,部分腳本代碼如圖6所示。

圖5 腳本形成流程Fig.5 Script formation process

圖6 部分腳本代碼Fig.6 Part of script code

在操作面板的“執(zhí)行”按鈕激活之后,命令腳本開始運(yùn)行,以啟動(dòng)windows內(nèi)核中的robocopy工具命令。Windows Resource Kit tools包含有robocopy命令解析器,將腳本命令項(xiàng)逐項(xiàng)解析,在內(nèi)核腳本中調(diào)用對(duì)應(yīng)的腳本執(zhí)行體,例如網(wǎng)絡(luò)管理、進(jìn)程線程管理及文件系統(tǒng)管理等,以實(shí)現(xiàn)對(duì)備份文件的操作。對(duì)于設(shè)計(jì)過程而言,由于系統(tǒng)對(duì)內(nèi)核進(jìn)行了封裝,就省去了文件操作和進(jìn)程調(diào)用管理的代碼實(shí)現(xiàn),也不需要考慮網(wǎng)絡(luò)傳輸過程中的協(xié)議編程。從另一個(gè)方面而言,由于現(xiàn)有windows操作系統(tǒng)由基于windows NT內(nèi)核升級(jí)或者完善而來,因此,提高了工具在不同系統(tǒng)平臺(tái)下的兼容性。

2.3 備份日志生成

日志文件記錄了備份工具運(yùn)行的開始時(shí)間、源路徑及目的路徑,并包含了備份的文件列表及文件的屬性信息,例如大小、子路徑及類型等。對(duì)于比較大的文件,完整的記錄下了文件備份的百分比進(jìn)度,利于監(jiān)視備份工具的運(yùn)行狀態(tài)。同時(shí),支持了文件斷點(diǎn)續(xù)傳的功能,每次在備份運(yùn)行之前,通過讀取日志記錄的百分比進(jìn)程,判斷上一次文件備份的斷點(diǎn),查找文件的簇頭,從而完成未結(jié)束的備份任務(wù),確保了備份文件的完整性及一致性。如果在配置組件中選擇了“創(chuàng)建日志文件”選項(xiàng),則內(nèi)核腳本在任務(wù)執(zhí)行文件備份過程中,可將備份進(jìn)度完整記錄到相應(yīng)的日志文件中。日志文件內(nèi)容如圖7所示。

3 性能測(cè)試

圖7 日志文件Fig.7 Log files

為了測(cè)試自主備份工具的性能特點(diǎn),設(shè)計(jì)了如下實(shí)驗(yàn):從飛行數(shù)據(jù)服務(wù)器上將數(shù)據(jù)備份到同一主機(jī)上,同時(shí)使用手動(dòng)操作、系統(tǒng)備份工具及自主備份工具將同一文件進(jìn)行備份。實(shí)驗(yàn)結(jié)果記錄如表3所示。

表3 性能實(shí)驗(yàn)記錄Tab.3 Performance Test Record

4 結(jié)束語(yǔ)

基于windows內(nèi)核腳本的自主備份工具為解決飛行試驗(yàn)大數(shù)據(jù)量備份的難題提供了一種新的途徑。工具利用C++builder環(huán)境實(shí)現(xiàn)的操作控制組件和配置組件,完成了內(nèi)核腳本命令和計(jì)劃任務(wù)的生成。工具在開發(fā)實(shí)現(xiàn)中充分結(jié)合操作系統(tǒng)內(nèi)核管理機(jī)制,提高了運(yùn)行的穩(wěn)定性及平臺(tái)的兼容性,并可以將全程記錄生成日志文件,保證了飛行試驗(yàn)數(shù)據(jù)備份的及時(shí)性、完整性和準(zhǔn)確性,是提高試飛數(shù)據(jù)分析精準(zhǔn)度的有效保障。

[1]霍朝暉,覃楊森,祈春.飛行試驗(yàn)機(jī)載關(guān)鍵參數(shù)快速處理系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,36(5):121-124.

HUO Zhao-hui,QIN Yang-sen,QI Chun.Design of rapid processing system of flight test airborne key parameters[J].Modern Electronics Technique,2012,36(5):121-124.

[2]袁炳南,張建琳.PCM與網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)技術(shù)分析[J].測(cè)控技術(shù),2009,28(4):29-31.

YUAN Bing-nan,ZHANG Jian-lin.Technical review of data acquisition systems based on PCM and network[J].Measurement&Control Technology,2009,28(4):29-31.

[3]袁炳南,霍朝暉,白效賢.航空飛行試驗(yàn)遙測(cè)標(biāo)準(zhǔn)概況[J].測(cè)控技術(shù),2010,29(11):15-19.

YUAN Bing-nan,HUO Zhao-hui,BAI Xiao-xian.The survey of telemetry standard in aviation flight test[J].Measurement&Control Technoloy,2010,29(11):15-19.

[4]潘愛民.Windows內(nèi)核原理與實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2010.

[5]黃曉春.C++沉思錄[M].北京:人民郵電出版社,2002.

[6]姜靜波,佟金榮.編程精粹[M].北京:電子工業(yè)出版社,2009.

[7]劉濱.C++Builde高級(jí)編程實(shí)例精解[M].北京:國(guó)防工業(yè)出版社,2000.

猜你喜歡
配置文件腳本內(nèi)核
酒駕
多內(nèi)核操作系統(tǒng)綜述①
強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
安奇奇與小cool 龍(第二回)
互不干涉混用Chromium Edge
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
Linux內(nèi)核mmap保護(hù)機(jī)制研究
基于Zookeeper的配置管理中心設(shè)計(jì)與實(shí)現(xiàn)
忘記ESXi主機(jī)root密碼怎么辦
為View桌面準(zhǔn)備父虛擬機(jī)