段海軍,陳 福,馮軍波,韓春陽(yáng)
(中航工業(yè)西安航空計(jì)算技術(shù)研究所 第19室,陜西 西安 710065)
?
面向航空電子系統(tǒng)的網(wǎng)絡(luò)文件系統(tǒng)設(shè)計(jì)
段海軍,陳福,馮軍波,韓春陽(yáng)
(中航工業(yè)西安航空計(jì)算技術(shù)研究所 第19室,陜西 西安710065)
摘要針對(duì)IMA的多個(gè)應(yīng)用模塊的文件共享問(wèn)題,基于具有自主知識(shí)產(chǎn)權(quán)的機(jī)載多分區(qū)實(shí)時(shí)OS平臺(tái),提出了一種網(wǎng)絡(luò)文件系統(tǒng)NFS的設(shè)計(jì)方案。文中采用網(wǎng)絡(luò)文件鎖,通過(guò)對(duì)文件的上鎖和解鎖,實(shí)現(xiàn)多個(gè)分區(qū)互斥訪問(wèn)文件;使用權(quán)限驗(yàn)證機(jī)制驗(yàn)證用戶(hù)對(duì)文件的訪問(wèn)權(quán)限,用戶(hù)通過(guò)驗(yàn)證后方可對(duì)文件執(zhí)行相應(yīng)的操作;日志文件保存整個(gè)NFS的運(yùn)行情況,用于對(duì)NFS性能的分析。文中闡述了NFS客戶(hù)端、服務(wù)器端的設(shè)計(jì)和網(wǎng)絡(luò)封裝格式,并給出了NFS運(yùn)行的原理圖。
關(guān)鍵詞IMA;網(wǎng)絡(luò)文件系統(tǒng);分區(qū)
新一代航空電子系統(tǒng)已發(fā)展為綜合化模塊化的航空電子系統(tǒng)[1],IMA提供了一個(gè)實(shí)時(shí)的計(jì)算機(jī)網(wǎng)絡(luò),其由多個(gè)應(yīng)用計(jì)算機(jī)模塊和航空電子系統(tǒng)的專(zhuān)用總線(xiàn)組成,多個(gè)應(yīng)用計(jì)算機(jī)模塊如何共享文件是個(gè)需要解決的問(wèn)題。NFS可將占用大量磁盤(pán)空間或用戶(hù)共享的數(shù)據(jù)只保存在一個(gè)NFS得服務(wù)器上,并可解決IMA的多個(gè)應(yīng)用計(jì)算機(jī)模塊之間文件的共享和大文件的存儲(chǔ)問(wèn)題。
目前較為著名的網(wǎng)絡(luò)文件系統(tǒng)是SUN公司的NFS,雖有開(kāi)源的NFS,但其是基于Linux平臺(tái)的,沒(méi)有分區(qū)的概念,不適合IMA。本文以研制某型號(hào)飛機(jī)的航電系統(tǒng)為背景,參考了SUN公司NFS的設(shè)計(jì)思想,結(jié)合航空電子系統(tǒng)的多分區(qū)實(shí)時(shí)OS的特點(diǎn),提出了一種適合IMA的網(wǎng)絡(luò)文件系統(tǒng)NFS的設(shè)計(jì)方案。
1NFS的功能需求
NFS可定義為運(yùn)行于多分區(qū)實(shí)時(shí)機(jī)載操作系統(tǒng)中,可訪問(wèn)遠(yuǎn)程文件的機(jī)制。NFS應(yīng)具備的基本功能:(1)客戶(hù)端應(yīng)具備向服務(wù)器提出訪問(wèn)遠(yuǎn)程文件的能力;(2)服務(wù)器應(yīng)具備響應(yīng)客戶(hù)端訪問(wèn)本地文件請(qǐng)求的能力;(3)網(wǎng)絡(luò)必須實(shí)現(xiàn)客戶(hù)端和服務(wù)器端正確的通信。
NFS除了完成基本功能外,還應(yīng)該保證多分區(qū)能夠正確、有序的訪問(wèn)文件;防止非法用戶(hù)操作文件或者合法的用戶(hù)對(duì)文件進(jìn)行非法的操作;記錄NFS的整個(gè)運(yùn)行過(guò)程。
多個(gè)分區(qū)訪問(wèn):網(wǎng)絡(luò)文件系統(tǒng)支持多個(gè)分區(qū)訪問(wèn)遠(yuǎn)程文件,這時(shí)就涉及了互斥訪問(wèn)遠(yuǎn)程文件的問(wèn)題。在多個(gè)分區(qū)同時(shí)訪問(wèn)文件時(shí),若無(wú)法互斥的訪問(wèn)文件,有可能出現(xiàn)讀臟數(shù)據(jù)、重復(fù)寫(xiě),無(wú)意中損壞了文件中的數(shù)據(jù)。
單分區(qū)訪問(wèn):分區(qū)是不是文件合法用戶(hù)、是否會(huì)對(duì)文件進(jìn)行非法的操作,這涉及到了文件的安全問(wèn)題。文件中包含重要的信息,被某個(gè)分區(qū)讀取數(shù)據(jù)有可能造成泄密;被某個(gè)的分區(qū)修改數(shù)據(jù),有可能給系統(tǒng)造成安全隱患甚至導(dǎo)致系統(tǒng)崩潰。
運(yùn)行情況的分析:NFS需要記錄運(yùn)行情況,以便對(duì)NFS的性能做出評(píng)估,對(duì)NFS做出及時(shí)的調(diào)整。
通過(guò)以上分析,網(wǎng)絡(luò)文件系統(tǒng)除了基本的功能,還應(yīng)具備3個(gè)功能:(1)互斥訪問(wèn)文件;(2)用戶(hù)訪問(wèn)控制;(3)記錄日志文件。NFS的功能模塊層次如圖1所示。
圖1 NFS功能模塊圖
本文將讀寫(xiě)遠(yuǎn)程文件的應(yīng)用分區(qū)稱(chēng)為讀寫(xiě)分區(qū);
將響應(yīng)遠(yuǎn)程分區(qū)訪問(wèn)文件的分區(qū)稱(chēng)為服務(wù)分區(qū)。
2NFS的功能設(shè)計(jì)
2.1網(wǎng)絡(luò)文件鎖
NFS采用網(wǎng)絡(luò)文件鎖實(shí)現(xiàn)多分區(qū)互斥訪問(wèn)文件。讀寫(xiě)分區(qū)在訪問(wèn)文件前,先查看文件是否被鎖,如果文件沒(méi)有被鎖住,則給文件上鎖;若文件已上被鎖,則等待正在訪問(wèn)文件的分區(qū)解開(kāi)文件鎖后,再給文件上鎖,訪問(wèn)文件。一個(gè)文件在某一時(shí)刻只能被一個(gè)分區(qū)鎖住,只有給文件上鎖的分區(qū)才能給文件解鎖。
NFS通過(guò)網(wǎng)絡(luò)文件鎖表Network File Lock List(NFLL)表明系統(tǒng)在某一時(shí)刻上鎖的狀況,如表1所示。給文件上鎖是指將文件的路徑和相應(yīng)的操作信息記錄到NFLL中,并將文件鎖的使能位置1。釋放文件鎖是指按照文件的路徑找到相應(yīng)的記錄,并將文件鎖使能位置0。查看文件是否上鎖,是指按照文件的路徑查找NFLL,若找到相應(yīng)的記錄且文件鎖使能,表示這個(gè)文件此時(shí)正被其他分區(qū)訪問(wèn),該文件已上鎖;否則表示當(dāng)前文件空閑,此時(shí)沒(méi)有分區(qū)在訪問(wèn)此文件。
表1 網(wǎng)絡(luò)文件鎖表
2.2用戶(hù)訪問(wèn)控制
本文采用了自主訪問(wèn)控制DAC(Discretionary Access Control)[2],基本目標(biāo)是防止非法用戶(hù)進(jìn)入系統(tǒng)和合法用戶(hù)對(duì)系統(tǒng)資源的非法使用。DAC通過(guò)規(guī)定了哪些主體對(duì)哪些客體可以執(zhí)行什么樣操作的訪問(wèn)規(guī)則來(lái)進(jìn)行控制訪問(wèn)。本文采用訪問(wèn)控制矩陣[3]明確NFS在某一時(shí)刻的授權(quán)情況,訪問(wèn)控制矩陣可用一個(gè)三元組(G,F,M),其中的的G是分區(qū)的集合,F表示文件的集合,M表示權(quán)限矩陣。權(quán)限矩陣式以分區(qū)行索引號(hào)、以文件為列索引號(hào),例如:權(quán)限矩陣的第i行、第j列的元素Mij=RW,則表示分區(qū)Gi對(duì)文件Fj具有讀和寫(xiě)的權(quán)限,如表2所示。在NFS中,特別要注意的一點(diǎn)是文件權(quán)限的授權(quán)者必須是文件的所有者,不是該文件的所有者不能給其他分區(qū)授予該文件的訪問(wèn)權(quán)限。
表2 訪問(wèn)權(quán)限控制列表
2.3日志文件
NFS的日志是系統(tǒng)記錄了某些分區(qū)對(duì)某些文件的某種操作和操作結(jié)果,按照時(shí)間有序的集合[4]。每一個(gè)日志文件由諸多的操作記錄組成,每條日志記錄存儲(chǔ)著一次單獨(dú)的操作。NFS的日志是簡(jiǎn)單的文本文件,可被直接閱讀。記錄中包含一個(gè)記錄序列號(hào)和一個(gè)消息,客戶(hù)端的日志如表3所示。記錄中使用絕對(duì)本地時(shí)間ALT[5],是IMA系統(tǒng)內(nèi)部的參考時(shí)間,也是IMA系統(tǒng)的本地時(shí)間。
表3 NFS客戶(hù)端日志文件
服務(wù)器的日志文件和客戶(hù)端的日志記錄內(nèi)容不同。在服務(wù)器的日志文件中,記錄了操作在服務(wù)器的開(kāi)始時(shí)間、結(jié)束時(shí)間、用時(shí)、操作失敗的原因以及請(qǐng)求消息傳輸?shù)臅r(shí)間。服務(wù)器的日志如表4所示。
表4 NFS服務(wù)器日志文件
日志支持強(qiáng)大的搜索功能,只要輸入幾個(gè)關(guān)鍵字段,便可搜出所有符合關(guān)鍵字段的記錄,使用戶(hù)可了解到NFS在哪段時(shí)間是運(yùn)行的高峰期、是否滿(mǎn)足實(shí)時(shí)性的要求、每次操作的時(shí)間主要花在網(wǎng)絡(luò)還是訪問(wèn)文件上、對(duì)文件操作失敗的原因等。
3NFS的框架設(shè)計(jì)
NFS主要客戶(hù)端和服務(wù)器端組成的,系統(tǒng)框架如圖2所示??蛻?hù)端通過(guò)調(diào)用一些訪問(wèn)遠(yuǎn)程文件的函數(shù),實(shí)現(xiàn)對(duì)遠(yuǎn)程文件的訪問(wèn)。其將請(qǐng)求的操作遠(yuǎn)程文件的信息按照一定的格式封裝,然后通過(guò)網(wǎng)絡(luò)發(fā)送給文件所在的遠(yuǎn)程主機(jī)。服務(wù)器則是通過(guò)調(diào)用本機(jī)的VFS(虛擬文件系統(tǒng),VirtualFileSystem)的函數(shù)進(jìn)行文件的實(shí)際操作,并將結(jié)果按一定的格式通過(guò)網(wǎng)絡(luò)返回給客戶(hù)端[6]。
圖2 NFS系統(tǒng)框架圖
3.1NFS客戶(hù)端的設(shè)計(jì)
NFS客戶(hù)端同本地文件系統(tǒng)掛接在VFS下,與本地現(xiàn)有的文件系統(tǒng)互不影響。在系統(tǒng)中,VFS管理和組織本地文件系統(tǒng)和NFS客戶(hù)端,并向上層模塊提供統(tǒng)一的操作接口[6]。分區(qū)在訪問(wèn)遠(yuǎn)程文件和本地文件調(diào)用的接口是一致的,實(shí)現(xiàn)的透明訪問(wèn)遠(yuǎn)程文件。
NFS客戶(hù)端主要實(shí)現(xiàn)的功能是向服務(wù)器提出訪問(wèn)文件的請(qǐng)求,為實(shí)現(xiàn)這一個(gè)功能NFS客戶(hù)端必須有具備兩個(gè)條件:(1)具有遠(yuǎn)程文件的文件目錄;(2)可對(duì)請(qǐng)求信息封裝,將請(qǐng)求信息發(fā)送給服務(wù)器,并能正確接收返回值。
NFS客戶(hù)端保存著遠(yuǎn)程文件的目錄,例如圖4中客戶(hù)端保存服務(wù)器的文件C:Navy.txt目錄。按照樹(shù)形的結(jié)構(gòu)保存著文件的目錄,可快速的查找服務(wù)器的文件,具有刪除方便等優(yōu)點(diǎn)。
3.2NFS服務(wù)器的設(shè)計(jì)
為支持NFS訪問(wèn)不同類(lèi)型文件系統(tǒng),NFS服務(wù)器直接調(diào)用VFS的文件接口,VFS管理著本地的文件系統(tǒng),即使是不同類(lèi)型文件系統(tǒng),VFS也能向NFS服務(wù)器提供統(tǒng)一的接口。
NFS的服務(wù)器主要響應(yīng)遠(yuǎn)程分區(qū)訪問(wèn)本地文件,因此必須具備3個(gè)功能:(1)正確的訪問(wèn)文件;(2)正確的接收、解析遠(yuǎn)程分區(qū)的請(qǐng)求信息,正確的封裝和發(fā)送操作的結(jié)果;(3)向遠(yuǎn)程分區(qū)提供遠(yuǎn)程分區(qū)可訪問(wèn)文件的目錄。NFS客戶(hù)端保存客戶(hù)端可訪問(wèn)本地文件的目錄。例如圖4中,服務(wù)器保存運(yùn)行客戶(hù)端訪問(wèn)本地的C:Navy.txt目錄。NFS服務(wù)器應(yīng)具備分區(qū)互斥訪問(wèn)文件和訪問(wèn)控制功能,以保證多分區(qū)正確的訪問(wèn)文件。NFS服務(wù)器封裝返回信息的格式和解析請(qǐng)求信息的格式如下所述。
3.3網(wǎng)絡(luò)封裝格式的設(shè)計(jì)
NFS的網(wǎng)絡(luò)是連接客戶(hù)端和服務(wù)器的橋梁,主要實(shí)現(xiàn)客戶(hù)端和服務(wù)器的通信。NFS通信主要有兩種消息:請(qǐng)求消息和返回消息,因此信息的封裝格式也有兩種,如圖3所示。第一種格式是應(yīng)用分區(qū)、服務(wù)分區(qū)、文件路徑、操作碼、時(shí)間戳和操作參數(shù);第二種格式是應(yīng)用分區(qū)、服務(wù)分區(qū)、文件路徑、返回碼、時(shí)間戳和返回參數(shù)??蛻?hù)端按照第一種格式封裝請(qǐng)求消息,服務(wù)器按照第一種格式解析消息;服務(wù)器按照第按照第二種格式封裝操作結(jié)果,客戶(hù)端按照第二種格式解析返回消息。
讀寫(xiě)分區(qū)服務(wù)分區(qū)文件路徑操作碼/返回碼時(shí)間戳操作參數(shù)/返回參數(shù)
圖3信息封裝格式
3.4MOUNT協(xié)議
NFS的客戶(hù)端訪問(wèn)服務(wù)器文件,必須首先了解服務(wù)器上有哪些允許被其訪問(wèn)的文件。NFS的MOUNT協(xié)議[7]實(shí)現(xiàn)的功能是:客戶(hù)端通過(guò)MOUNT協(xié)議獲取服務(wù)器上允許自身訪問(wèn)的文件目錄,即將服務(wù)器上允許本客戶(hù)端訪問(wèn)文件的目錄添加到客戶(hù)端的遠(yuǎn)程文件目錄中。在圖4中,服務(wù)分區(qū)m把允許讀寫(xiě)分區(qū)n訪問(wèn)的文件的目錄提供給讀寫(xiě)分區(qū)n。
圖4 MOUNT協(xié)議
圖5 NFS原理圖
4結(jié)束語(yǔ)
本文立足于解決IMA文件共享的問(wèn)題,提出了一種運(yùn)行在國(guó)產(chǎn)機(jī)載多分區(qū)實(shí)時(shí)OS中的網(wǎng)絡(luò)文件系統(tǒng)NFS的設(shè)計(jì)方案。該方案采用網(wǎng)絡(luò)文件鎖和訪問(wèn)控制權(quán)限保證多分區(qū)正確、有序的訪問(wèn)文件,采用日志文件保存NFS運(yùn)行情況。航空電子系統(tǒng)對(duì)軟件的實(shí)時(shí)性和可靠性要求高,因此如何提高NFS的實(shí)時(shí)性和可靠性將是下一步研究的重點(diǎn)。
參考文獻(xiàn)
[1]ReneLCEveleens.Integratedmodularavionicsdevelopmentguidanceandcertificateconsiderations[J].MissionSystemsEngineering,2006(2):1120-1132.
[2]VincentCHu,DavidFFerraiolo,DRickKuhnD.Assessmentofaccesscontrolsystems[R].USA:NISTIR7316,2006.
[3]RiccardoFocardi,RobertoGorrieri.Foundationsofsecurityanalysisanddesign:tutoriallecures[M].Germany:Springer,2001.
[4]王倩,劉奕群,馬少平,等.面向用戶(hù)互聯(lián)網(wǎng)訪問(wèn)日志的異常點(diǎn)擊分析[J].中文信息學(xué)報(bào),2010,24(3):44-48,61.
[5]程春姬.綜合模塊化航電系統(tǒng)時(shí)間管理技術(shù)[J].航空電子技術(shù),2010,41(1):17-20.
[6]RusselSandberg,DavidColdberg,SteveKleiman,etal.Designandimplementationofthesunnetworkfilesystem[C].Tianjin:ProceedingofSummerUSENIXConference,1985.
[7]CallaghanB,PawlowskiB,StaubachP.NFSVersion3ProtocolSpecification[S].NCUSA:SunMicrosystemsInc,1995.
Design of Avionics System Network File System
DUAN Haijun,CHEN Fu,FENG Junbo,HAN Chunyang
(Xi’an Aeronautics Computing Technique Research Institute,AVIC,Xi’ an 710065,China)
AbstractA network file system based on China’s proprietary airborne multiple partitions real-time operating system is designed for the file sharing among multiple application computers in the avionics system.The network file lock realizes multiple partitions mutually exclusive access files by locking and unlocking files,the access validation controls user access to files,and the log files save the whole operation process of NFS.The NFS client and server design and the network packing format are described and the schematic NFS is given.
KeywordsIMA;network file system;partition
中圖分類(lèi)號(hào)TP316.1
文獻(xiàn)標(biāo)識(shí)碼A
文章編號(hào)1007-7820(2016)04-095-05
doi:10.16180/j.cnki.issn1007-7820.2016.04.025
作者簡(jiǎn)介:段海軍(1986—),男,工程師。研究方向:計(jì)算機(jī)軟件與理論。
基金項(xiàng)目:國(guó)家重大專(zhuān)項(xiàng)基金資助項(xiàng)目(2012ZX01041-006);國(guó)家航空科學(xué)基金資助項(xiàng)目(2013ZC31003;2013ZC31005)
收稿日期:2015- 09- 09