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

?

XPON終端個性化參數(shù)存儲優(yōu)化

2018-05-14 09:06余華
絲路視野 2018年20期
關(guān)鍵詞:單板調(diào)用分區(qū)

【摘要】本文以Marvell芯片芳蘭為例,介紹了Marvell芯片方案SFU產(chǎn)品FXXX中,將保存?zhèn)€性化參數(shù)的flash分區(qū)以可讀寫方式掛載為jffs2文件系統(tǒng),在其中使用一個文件來保存?zhèn)€性化參數(shù),通過操作該文件來對個性化參數(shù)進行存取。

【關(guān)鍵詞】個性化參數(shù);存儲

一、概述

XPON產(chǎn)品的個性化參數(shù)主要用來對產(chǎn)品做個性化配置,可以設(shè)置CPUMAC地址、PON注冊用的sn,password等參數(shù),這些參數(shù)在產(chǎn)品出廠時進行設(shè)置,以后直接使用,且一般不再修改,因此通常在flash中劃分一個分區(qū)來保存。單板在出廠時通過setmac命令來設(shè)置個性化參數(shù),個性化參數(shù)被寫入上述文件中,由于linux文件系統(tǒng)具有緩存功能,寫文件成功之后實際內(nèi)容不一定會及時同步到flash中,因此需要手動同步操作。生產(chǎn)線上發(fā)現(xiàn),設(shè)置完個性化參數(shù),使用sync命令進行同步操作,返回成功后,硬件復(fù)位,系統(tǒng)起來后個性化參數(shù)全部丟失了,這就導(dǎo)致單板啟動之后無法正常工作。本文介紹了一種個性化參數(shù)存儲優(yōu)化的方式,通過這種方法,可以保證當個性化參數(shù)設(shè)置完成返回成功時,個性化參數(shù)已經(jīng)寫入到flash中。

二、芯片優(yōu)化參數(shù)

Marvell芯片方案SFU產(chǎn)品FXXX使用NANDflash,在對flash進行分區(qū)規(guī)劃時,單獨分配一個分區(qū)用來存放個性化參數(shù)。在版本啟動之后,對個性化參數(shù)分區(qū)以可讀寫方式掛載為jffs2文件系統(tǒng)。第一次獲取個性化參數(shù)時,會在個性化參數(shù)分區(qū)創(chuàng)建一個個性化參數(shù)文件。

個性化參數(shù)結(jié)構(gòu)體如下:

typedefstructTAG_PARAM_

{

unsignedshortwParamId;/個性化參數(shù)id/

unsignedshortwParamLen;/個性化參數(shù)長度/

unsignedshortwBufSize;/個性化參數(shù)數(shù)據(jù)區(qū)的長度/

unsignedcharcParamData[0];/個性化參數(shù)數(shù)據(jù)區(qū)首地址/

}TAG_PARAM_T;

個性化參數(shù)內(nèi)容緊跟在個性化參數(shù)結(jié)構(gòu)體之后,以字符串形式存取,用結(jié)構(gòu)體中的cParamData來引用。

目前需要設(shè)置的個性化參數(shù)不多,個性化參數(shù)空間定義為4K字節(jié)。對個性化參數(shù)的操作包括設(shè)置、刪除、獲取和格式化。對個性化參數(shù)文件的操作是通過系統(tǒng)調(diào)用open、read和write來實現(xiàn)。

在該產(chǎn)品產(chǎn)測過程中發(fā)現(xiàn),部分單板設(shè)置完個性化參數(shù)并且使用sync命令同步成功后,立即對單板硬件復(fù)位,當單板重新啟動之后,個性化參數(shù)全部丟失。通過走查代碼,我們推斷應(yīng)該是個性化參數(shù)并沒有真正寫入flash導(dǎo)致的。個性化參數(shù)是存放在文件中,當調(diào)用write函數(shù)向文件中寫入并返回成功時,并不表示內(nèi)容已經(jīng)寫入flash了,因為linux文件系統(tǒng)具有緩存功能,write函數(shù)只是將內(nèi)容放到緩存中,并不立即寫入到flash,操作系統(tǒng)會在適當?shù)臅r候(定時、緩存達到一定比例、“臟”數(shù)據(jù)達到一定比例等條件下)將緩存中的內(nèi)容同步到flash中。如果在緩存內(nèi)容同步到flash之前,對單板進行硬件復(fù)位,那么,個性化參數(shù)就可能丟失。

但是,產(chǎn)線在設(shè)置個性化參數(shù)之后,使用了sync命令進行手動同步,為什么還是出現(xiàn)這種情況呢?我們對sync命令的實現(xiàn)進行分析,發(fā)現(xiàn)sync函數(shù)只是將所有修改過的塊緩沖區(qū)排入寫隊列,然后就返回,它并不等待實際寫磁盤操作結(jié)束。

三、參數(shù)優(yōu)化

為了解決這個問題,必須保證設(shè)置的個性化參數(shù)及時寫入flash。這里有方案如下。

代碼中使用fsync系統(tǒng)調(diào)用實現(xiàn)同步功能,代替命令行執(zhí)行sync命令。fsync系統(tǒng)調(diào)用強制內(nèi)核把文件描述符fd所指定文件的所有臟緩沖區(qū)寫到flash中。當對個性化參數(shù)文件進行write操作之后,調(diào)用fsync對當前文件進行同步,可以保證內(nèi)容肯定會被寫入flash。這樣可以保證當調(diào)用setmac命令返回成功時,個性化參數(shù)內(nèi)容已經(jīng)寫入到flash中。

四、結(jié)語

使用方案修改之后,當使用setmac設(shè)置完個性化參數(shù),立即硬復(fù)位單板,啟動之后檢查設(shè)置的個性化參數(shù),沒有出現(xiàn)參數(shù)丟失的現(xiàn)象,該方案可以保證設(shè)置的個性化參數(shù)立即保存到flash中。

參考文獻

[1]于文暢.無源光網(wǎng)絡(luò)節(jié)能等關(guān)鍵技術(shù)的研究[D].北京:北京郵電大學(xué),2011.

[2]江國舟.10Gbps以太無源光網(wǎng)絡(luò)關(guān)鍵技術(shù)與應(yīng)用研究[D].武漢:華中科技大學(xué),2009

[3]余景文.10GEPON和10GGPON標準及最新進展[J].電信網(wǎng)技術(shù),2010(08).

作者簡介:余華(1963—),男,本科,武漢通信指揮學(xué)院,研究方向:通信技術(shù)、通信服務(wù)與業(yè)務(wù)規(guī)劃、網(wǎng)絡(luò)規(guī)劃等。

猜你喜歡
單板調(diào)用分區(qū)
上海實施“分區(qū)封控”
另辟蹊徑使用Linux備份和還原Windows系統(tǒng)
Differences Between Skiing and Snowboarding雙板滑雪和單板滑雪的區(qū)別
單板滑雪 讓生活變簡單
基于Android Broadcast的短信安全監(jiān)聽系統(tǒng)的設(shè)計和實現(xiàn)
大型數(shù)據(jù)庫分區(qū)表研究
沒有單板的冬天如此乏味
利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
神探出手,巧破分區(qū)離奇失蹤案
C++語言中函數(shù)參數(shù)傳遞方式剖析