本發(fā)明涉及pon網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種pon網(wǎng)絡(luò)的onu中配置文件管理系統(tǒng)及管理方法。
背景技術(shù):
在現(xiàn)有的pon網(wǎng)絡(luò)的onu設(shè)備中,配置的來源有多種:有onu設(shè)備出廠時的預(yù)配置,有來自olt的配置,有來自遠(yuǎn)程管理平臺的配置,有來自本地web的配置,有來自本地cli的配置,其中很多配置需要被記錄下來,以便在onu重啟時不被丟失,在重啟后繼續(xù)生效。將配置保存到配置文件是保存這些配置的主要手段,在實際應(yīng)用中,由于斷電,非法數(shù)據(jù)寫入等情況的發(fā)生,有可能導(dǎo)致配置文件的格式被破壞,配置數(shù)據(jù)的丟失,從而導(dǎo)致onu設(shè)備部分業(yè)務(wù)失效,甚至可能導(dǎo)致onu設(shè)備無法正常啟動。作為嵌入式設(shè)備,onu設(shè)備的物理內(nèi)存,flash空間都是受限的,這也意味也不適合采用數(shù)據(jù)庫等占用計算資源大的方法去保障配置數(shù)據(jù)的完整性及可靠性。因此亟需一種無須數(shù)據(jù)庫且有效避免配置數(shù)據(jù)丟失,增強設(shè)備運行的可靠性的技術(shù)方案。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的在于提供一種pon網(wǎng)絡(luò)的onu中配置文件管理系統(tǒng)及管理方法,有效避免配置數(shù)據(jù)丟失,增強設(shè)備運行的可靠性。
為達(dá)到以上目的,本發(fā)明采取的技術(shù)方案是:
一種pon網(wǎng)絡(luò)的onu中配置文件管理系統(tǒng),所述onu中配置文件包括用于保存onu設(shè)備當(dāng)前配置數(shù)據(jù)的運行時主配置文件和用于保存onu設(shè)備出廠時預(yù)置配置數(shù)據(jù)的出廠配置文件,所述配置文件管理系統(tǒng)包括:
配置文件替換模塊,用于在onu設(shè)備運行時,創(chuàng)建臨時配置文件,將外部寫入內(nèi)存的配置數(shù)據(jù)從內(nèi)存中寫入臨時配置文件中,再將臨時配置文件保存至flash中,確認(rèn)臨時配置文件已完整保存至flash后,再將該臨時配置文件替換為運行時主配置文件;
配置文件備份模塊,用于將onu設(shè)備最近一次正常啟動時的運行時主配置文件備份為最近一次正常啟動的配置文件;將onu設(shè)備運行時最近一次被作為運行時主配置文件備份為最近一次保存成功的配置文件;
配置文件檢查模塊,用于在onu設(shè)備啟動時,檢查運行時主配置文件是否存在以及是否有效,若均是,則用運行時主配置文件啟動;若不存在或無效,則檢查最近一次保存成功的配置文件是否存在以及是否有效,若均是,則用最近一次保存成功的配置文件作為運行時主配置文件啟動;若不存在或無效,則檢查最近一次正常啟動的配置文件是否存在以及是否有效,若均是,則用最近一次正常啟動的配置文件作為運行時主配置文件啟動;若不存在或無效,則使用出廠配置文件作為運行時主配置文件啟動。
在上述技術(shù)方案的基礎(chǔ)上,所述配置文件管理系統(tǒng)還包括完整性標(biāo)志插入模塊,所述完整性標(biāo)志插入模塊用于在臨時配置文件的配置數(shù)據(jù)最后插入數(shù)據(jù)完整性標(biāo)志。
在上述技術(shù)方案的基礎(chǔ)上,配置文件檢查模塊通過檢查運行時主配置文件、最近一次保存成功的配置文件或最近一次正常啟動配置文件的配置數(shù)據(jù)的最后是否有數(shù)據(jù)完整性標(biāo)志確定各文件是否有效。
本發(fā)明還公開了一種pon網(wǎng)絡(luò)的onu中配置文件管理方法,所述onu中配置文件包括用于保存onu設(shè)備當(dāng)前配置數(shù)據(jù)的運行時主配置文件和用于保存onu設(shè)備出廠時預(yù)置配置數(shù)據(jù)的出廠配置文件,在onu設(shè)備運行時,保存配置文件的流程包括:創(chuàng)建臨時配置文件,將外部寫入內(nèi)存的配置數(shù)據(jù)從內(nèi)存中寫入臨時配置文件中,再將臨時配置文件保存至flash;確認(rèn)臨時配置文件保存至flash后,先將該運行時主配置文件備份為最近一次保存成功的配置文件,再將該臨時配置文件替換為運行時主配置文件。
在上述技術(shù)方案的基礎(chǔ)上,在onu設(shè)備啟動時,配置文件的檢查流程包括:檢查運行時主配置文件是否存在以及是否有效,若均是,則用運行時主配置文件啟動,并將該運行時主配置文件備份為最近一次正常啟動的配置文件;若不存在或無效,則檢查最近一次保存成功的配置文件是否存在以及是否有效,若均是,則用最近一次保存成功的配置文件作為運行時主配置文件啟動,并將該運行時主配置文件備份為最近一次正常啟動的配置文件;若不存在或無效,則檢查最近一次正常啟動的配置文件是否存在以及是否有效,若均是,則用最近一次正常啟動的配置文件作為運行時主配置文件啟動,并將該運行時主配置文件備份為最近一次正常啟動的配置文件;若不存在或無效,則使用出廠配置文件作為運行時主配置文件啟動,并將該運行時主配置文件備份為最近一次正常啟動的配置文件。
在上述技術(shù)方案的基礎(chǔ)上,在臨時配置文件的配置數(shù)據(jù)最后插入數(shù)據(jù)完整性標(biāo)志,再將臨時配置文件保存至flash。
在上述技術(shù)方案的基礎(chǔ)上,配置文件檢查模塊檢查運行時主配置文件、最近一次保存成功的配置文件或最近一次正常啟動的配置文件是否有效即是檢查上述配置文件的配置數(shù)據(jù)的最后是否有數(shù)據(jù)完整性標(biāo)志。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:
(1)本發(fā)明在運行時不直接修改主配置文件,將外部寫入內(nèi)存的配置數(shù)據(jù)從內(nèi)存中寫入臨時配置文件中,再將臨時配置文件保存至flash中,確認(rèn)臨時配置文件已完整保存至flash后,再將該臨時配置文件替換為運行時主配置文件,使配置文件被破壞的可能性降到最低,從而避免配置數(shù)據(jù)丟失影響設(shè)備運行;在啟動時進行配置文件完整性逐級檢查,將萬一配置文件被破壞所帶來的損失降到最低的目的,從而從整體上提高設(shè)備運行的可靠性;
(2)在各配置文件的配置數(shù)據(jù)最后插入數(shù)據(jù)完整性標(biāo)志達(dá)到檢查與保證配置文件的數(shù)據(jù)完整性的目的。
附圖說明
圖1為本發(fā)明實施例中pon網(wǎng)絡(luò)的onu中配置文件管理系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例中pon網(wǎng)絡(luò)的onu中配置文件管理系統(tǒng)的流程示意圖。
具體實施方式
以下結(jié)合附圖及實施例對本發(fā)明作進一步詳細(xì)說明。
參見圖1所示,本發(fā)明實施例提供一種pon網(wǎng)絡(luò)的onu中配置文件管理系統(tǒng),所述onu中配置文件包括用于保存onu設(shè)備當(dāng)前配置數(shù)據(jù)的運行時主配置文件和用于保存onu設(shè)備出廠時預(yù)置配置數(shù)據(jù)的出廠配置文件,所述配置文件管理系統(tǒng)包括:
配置文件替換模塊,用于在onu設(shè)備運行時,創(chuàng)建臨時配置文件,將外部寫入內(nèi)存的配置數(shù)據(jù)從內(nèi)存中寫入臨時配置文件中,再將臨時配置文件保存至flash中,確認(rèn)臨時配置文件已完整保存至flash后,再將該臨時配置文件作為運行時主配置文件;
配置文件備份模塊,用于將onu設(shè)備最近一次正常啟動時的運行時主配置文件備份為最近一次正常啟動的配置文件;將onu設(shè)備運行時最近一次被作為運行時主配置文件備份為最近一次保存成功的配置文件;
配置文件檢查模塊,用于在onu設(shè)備啟動時,檢查運行時主配置文件是否存在以及是否有效,若均是,則用運行時主配置文件啟動;若不存在或無效,則檢查最近一次保存成功的配置文件是否存在以及是否有效,若均是,則用最近一次保存成功的配置文件作為運行時主配置文件啟動;若不存在或無效,則檢查最近一次正常啟動的配置文件是否存在以及是否有效,若均是,則用最近一次正常啟動的配置文件作為運行時主配置文件啟動;若不存在或無效,則使用出廠配置文件作為運行時主配置文件啟動。
所述配置文件管理系統(tǒng)還包括完整性標(biāo)志插入模塊,所述完整性標(biāo)志插入模塊用于在臨時配置文件的配置數(shù)據(jù)的最后插入數(shù)據(jù)完整性標(biāo)志。
配置文件檢查模塊通過檢查運行時主配置文件、最近一次保存成功的配置文件或最近一次正常啟動配置文件的配置數(shù)據(jù)的最后是否有數(shù)據(jù)完整性標(biāo)志確定各文件是否有效。
本發(fā)明還公開了一種pon網(wǎng)絡(luò)的onu中配置文件管理方法,所述onu中配置文件包括用于保存onu設(shè)備當(dāng)前配置數(shù)據(jù)的運行時主配置文件和用于保存onu設(shè)備出廠時預(yù)置配置數(shù)據(jù)的出廠配置文件,在onu設(shè)備運行時,保存配置文件的流程包括:創(chuàng)建臨時配置文件,將外部寫入內(nèi)存的配置數(shù)據(jù)從內(nèi)存中寫入臨時配置文件中,再將臨時配置文件保存至flash;確認(rèn)臨時配置文件保存至flash后,再將該臨時配置文件作為運行時主配置文件,并將該運行時主配置文件備份為最近一次保存成功的配置文件。
在onu設(shè)備啟動時,配置文件的檢查流程包括:檢查運行時主配置文件是否存在以及是否有效,若均是,則用運行時主配置文件啟動,并將該運行時主配置文件備份為最近一次正常啟動的配置文件;若不存在或無效,則檢查最近一次保存成功的配置文件是否存在以及是否有效,若均是,則用最近一次保存成功的配置文件作為運行時主配置文件啟動,并將該運行時主配置文件備份為最近一次正常啟動的配置文件;若不存在或無效,則檢查最近一次正常啟動的配置文件是否存在以及是否有效,若均是,則用最近一次正常啟動的配置文件作為運行時主配置文件啟動,并將該運行時主配置文件備份為最近一次正常啟動的配置文件;若不存在或無效,則使用出廠配置文件作為運行時主配置文件啟動,并將該運行時主配置文件備份為最近一次正常啟動的配置文件。
在臨時配置文件的配置數(shù)據(jù)最后插入數(shù)據(jù)完整性標(biāo)志,再將臨時配置文件保存至flash。配置文件檢查模塊檢查運行時主配置文件、最近一次保存成功的配置文件或最近一次正常啟動的配置文件是否有效即是檢查上述配置文件的配置數(shù)據(jù)的最后是否有數(shù)據(jù)完整性標(biāo)志。
例如,參見圖2所示,在onu設(shè)備啟動時,配置文件的檢查流程包括以下步驟:
s1,檢查運行時主配置文件是否存在,若是,進入步驟s7,若否,進入步驟s2;
步驟s2,檢查最近一次保存成功的配置文件是否存在,若是,進入步驟s3;若否,進入步驟s4;
步驟s3,將最近一次保存成功的配置文件作為運行時主配置文件,返回步驟s1;
步驟s4,檢查最近一次正常啟動的配置文件是否存在,若是,進入步驟s5;若否,進入步驟s6;
步驟s5,將最近一次正常啟動的配置文件作為運行時主配置文件,返回步驟s1;
步驟s6,將出廠配置文件作為運行時主配置文件,返回步驟s1;
步驟s7,加載運行時主配置文件,檢查運行時主配置文件是否具有數(shù)據(jù)完整性標(biāo)志,若有,進入步驟s8,若無,返回步驟s2;
步驟s8,將該運行時主配置文件備份為最后一次正常啟動的配置文件,配置生效,結(jié)束。
本發(fā)明不局限于上述實施方式,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍之內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。