下載異常的處理方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種0NU,特別是涉及一種下載異常的處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]在ΕΡ0Ν系統(tǒng)中,0LT(光線路終端)通過0DN(光配線網(wǎng)絡(luò))與多個0NU設(shè)備(光網(wǎng)絡(luò)終端單元)連接。0LT通過0ΑΜ協(xié)議來完成對多個0NU終端設(shè)備的管理配置、鏈路監(jiān)控等功能。其中,軟件升級功能是0NU設(shè)備的一個重要功能。
[0003]0NU軟件下載的交互流程為:0LT先發(fā)送Get命令給0NU,0NU將回復(fù)Get response消息給0LT,將0NU設(shè)備相關(guān)的MIB信息上報給0LT ;當(dāng)0LT確定0NU需要更新軟件/固件,0LT就會發(fā)送File Write Request消息向0NU請求寫入一個文件,0NU同意寫請求后返回File Transfer ACK消息(Block number = 0),則0LT開始將要寫入的文件分段依次發(fā)送給0NU,并且只有當(dāng)0NU返回確認(rèn)消息后,0LT才能發(fā)送下個分段。當(dāng)0LT成功發(fā)送完所有的分段后,再通過End Download Request消息校驗0NU下載的軟件的正確性,并判斷該軟件是否寫入非易失性存儲器。然后0NU會回復(fù)對應(yīng)的End Download Response消息給0LT.軟件下載過程結(jié)束。
[0004]在0NU設(shè)備的軟件升級功能研發(fā)過程中,0NU在收到發(fā)送0LT的File WriteRequest消息后,通常會申請版本大小的內(nèi)存空間,并在回復(fù)End Download Response消息后釋放內(nèi)存。在軟件升級功能正常進(jìn)行的情況下,上述方式可以滿足整個0NU設(shè)備的業(yè)務(wù)的進(jìn)行。但是若版本下載過程異常終止,0NU設(shè)備仍處于繼續(xù)等待接收數(shù)據(jù)的狀態(tài),并不會自動釋放內(nèi)存。這使得內(nèi)存因此而被大量占用,此時,若0NU設(shè)備在轉(zhuǎn)發(fā)語音視頻等業(yè)務(wù)數(shù)據(jù)時,可能因內(nèi)存不足而影響正常運(yùn)行。
【發(fā)明內(nèi)容】
[0005]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種下載異常的處理方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中0NU在數(shù)據(jù)下載出現(xiàn)異常時無法自動釋放內(nèi)存的問題。
[0006]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種下載異常的處理方法,用于光網(wǎng)絡(luò)單元,包括以下步驟:基于來自光線路終端的下載請求,開辟所述下載請求所包含的內(nèi)存大小的內(nèi)存空間,并啟動異常處理計時;接收來自所述光線路終端的下載數(shù)據(jù)并暫存所開辟的內(nèi)存空間,直至所述內(nèi)存空間存滿下載數(shù)據(jù),向所述光線路終端反饋接收完成的響應(yīng)信息,并將所述內(nèi)存空間內(nèi)的下載數(shù)據(jù)轉(zhuǎn)存到預(yù)設(shè)的目錄下,并釋放所開辟的內(nèi)存空間;在此期間,當(dāng)所述異常處理計時達(dá)到預(yù)設(shè)的時長閾值、且所述內(nèi)存空間未存滿時,釋放所開辟的內(nèi)存空間。
[0007]優(yōu)選地,在接收下載數(shù)據(jù)期間,當(dāng)所述異常處理計時未達(dá)到預(yù)設(shè)的時長閾值、并接收到來自所述光線路終端的新的下載請求時,所述方法還包括:釋放已開辟的內(nèi)存空間;按照所述新的下載請求所包含的內(nèi)存大小重新開盤內(nèi)存空間,并重新啟動所述異常處理計時。
[0008]優(yōu)選地,在所述釋放所開辟的內(nèi)存空間的步驟之前,所述方法還包括:重新啟動所述異常處理計時,并計數(shù)所述異常處理計時周期的次數(shù);在所計數(shù)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)閾值之前,繼續(xù)等待獲取來自所述光線路終端的下載數(shù)據(jù)、或新的下載請求,直至當(dāng)所計數(shù)的次數(shù)達(dá)到所述預(yù)設(shè)次數(shù)閾值,仍未收到下載數(shù)據(jù)或新的下載請求時,釋放所開辟的內(nèi)存空間。
[0009]優(yōu)選地,所述方法還包括:若在所計數(shù)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)閾值之前,接收到來自所述光線路終端的下載數(shù)據(jù)或下載請求時,將所計數(shù)的次數(shù)和所述異常處理計時同時清除,并重啟所述異常處理計時。
[0010]優(yōu)選地,在接收到來自光線路終端的下載請求時,所述方法還包括:根據(jù)所述內(nèi)存大小設(shè)定預(yù)設(shè)的時長閾值。
[0011]基于上述目的,本發(fā)明還提供一種下載異常的處理系統(tǒng),用于光網(wǎng)絡(luò)單元,包括:預(yù)處理單元,用于基于來自光線路終端的下載請求,開辟所述下載請求所包含的內(nèi)存大小的內(nèi)存空間,并啟動異常處理計時;下載單元,用于接收來自所述光線路終端的下載數(shù)據(jù)并暫存所開辟的內(nèi)存空間,直至所述內(nèi)存空間存滿下載數(shù)據(jù),向所述光線路終端反饋接收完成的響應(yīng)信息,并將所述內(nèi)存空間內(nèi)的下載數(shù)據(jù)轉(zhuǎn)存到預(yù)設(shè)的目錄下,并執(zhí)行內(nèi)存釋放單元以釋放所開辟的內(nèi)存空間;在此期間,當(dāng)所述異常處理計時達(dá)到預(yù)設(shè)的時長閾值、且所述內(nèi)存空間未存滿時,所述內(nèi)存釋放單元也用于釋放所開辟的內(nèi)存空間。
[0012]優(yōu)選地,所述內(nèi)存釋放單元還用于在接收下載數(shù)據(jù)期間,當(dāng)所述異常處理計時未達(dá)到預(yù)設(shè)的時長閾值、并接收到來自所述光線路終端的新的下載請求時,釋放已開辟的內(nèi)存空間,并將所述新的下載請求提供給所述預(yù)處理單元;則所述預(yù)處理單元用于按照所述新的下載請求所包含的內(nèi)存大小重新開盤內(nèi)存空間,并重新啟動所述異常處理計時。
[0013]優(yōu)選地,所述內(nèi)存釋放單元還用于在所述釋放所開辟的內(nèi)存空間之前,重新啟動所述異常處理計時,并計數(shù)所述異常處理計時周期的次數(shù);在所計數(shù)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)閾值之前,繼續(xù)等待獲取來自所述光線路終端的下載數(shù)據(jù)、或新的下載請求,直至當(dāng)所計數(shù)的次數(shù)達(dá)到所述預(yù)設(shè)次數(shù)閾值,仍未收到下載數(shù)據(jù)或新的下載請求時,釋放所開辟的內(nèi)存空間。
[0014]優(yōu)選地,所述內(nèi)存釋放單元還用于若在所計數(shù)的次數(shù)達(dá)到預(yù)設(shè)次數(shù)閾值之前,接收到來自所述光線路終端的下載數(shù)據(jù)或下載請求時,將所計數(shù)的次數(shù)和所述異常處理計時同時清除,并重啟所述異常處理計時。
[0015]優(yōu)選地,所述預(yù)處理單元還用于在接收到來自光線路終端的下載請求時,根據(jù)所述內(nèi)存大小設(shè)定預(yù)設(shè)的時長閾值。
[0016]如上所述,本發(fā)明的下載異常的處理方法及系統(tǒng),具有以下有益效果:通過定時釋放機(jī)制,能夠在下載未完成期間限時釋放內(nèi)存,有效保證了 0NU內(nèi)存不被長期的無效占用;另外,未防止0LT在網(wǎng)絡(luò)恢復(fù)之后繼續(xù)發(fā)送下載數(shù)據(jù),本發(fā)明還設(shè)定了計數(shù)異常處理計時周期的方式來延長釋放機(jī)制,確保在與0LT的網(wǎng)絡(luò)通信不順暢期間,能夠繼續(xù)完成下載任務(wù)。
【附圖說明】
[0017]圖1顯示為本發(fā)明的下載異常的處理方法的流程圖。
[0018]圖2顯示為本發(fā)明的下載異常的處理方法中一種優(yōu)選方案的流程圖。
[0019]圖3顯示為本發(fā)明的下載異常的處理系統(tǒng)的結(jié)構(gòu)示意圖。
[0020]元件標(biāo)號說明
[0021]1處理系統(tǒng)
[0022]11 預(yù)處理單元
[0023]12下載單元
[0024]13內(nèi)存釋放單元
[0025]S1 ?S5 步驟
【具體實(shí)施方式】
[0026]以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說明書中的各項細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。
[0027]需要說明的是,以下實(shí)施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[00