一種omci協(xié)議報(bào)文封裝方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,特別是涉及一種0NT(0ptical network terminal,光網(wǎng)絡(luò)設(shè)備)和 OLT (Optical Line Terminal,光線路終端)之間的 OMCI (ONU Managementand Control Interface,光網(wǎng)絡(luò)單元管理控制接口)協(xié)議報(bào)文封裝方法及其裝置。
【背景技術(shù)】
[0002]OMCI是GP0N(Gigabit-CapableP0N,千兆無源光纖網(wǎng)絡(luò))標(biāo)準(zhǔn)中定義的一種配置傳輸通道,通過在OLT和ONT之間建立專有的OMCI消息,用于提供標(biāo)準(zhǔn)的獲取ONT能力,并對(duì)其進(jìn)行管理和控制的方法。因而OMCI部分的報(bào)文封裝通信系統(tǒng)而言是相當(dāng)重要的環(huán)節(jié),代碼架構(gòu)和效率直接影響了通信系統(tǒng)的性能和質(zhì)量。在傳統(tǒng)的OMCI設(shè)計(jì)中,通常都是根據(jù)通信系統(tǒng)的標(biāo)準(zhǔn)協(xié)議手動(dòng)的進(jìn)行編碼設(shè)計(jì)和實(shí)現(xiàn),即傳統(tǒng)的編碼設(shè)計(jì)和生成是通過分析功能需求和操作對(duì)象,然后逐個(gè)的完成對(duì)應(yīng)的功能函數(shù)接口,這個(gè)過程通常需要手動(dòng)的來實(shí)現(xiàn)。
[0003]但是GPON 的標(biāo)準(zhǔn) G.988 中規(guī)范的 MIB (Management Informat1n Base,管理信息庫(kù))的數(shù)量比較大,而且MIB中有多個(gè)表,每個(gè)表有多個(gè)參數(shù),同時(shí)表中有多個(gè)屬性,每個(gè)屬性也有其對(duì)應(yīng)的參數(shù),這些參數(shù)決定了表和參數(shù)可能進(jìn)行的操作以及數(shù)據(jù)長(zhǎng)度大小等;如果用常用的編碼實(shí)現(xiàn)方式,不僅有大量的代碼需要設(shè)計(jì)和實(shí)現(xiàn),而且也會(huì)存在大量重復(fù)的代碼,同時(shí)也有可能漏掉或者疏忽某些MIB屬性參數(shù)導(dǎo)致編碼效率和準(zhǔn)確率受到影響。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是提供OMCI協(xié)議報(bào)文封裝方法及裝置,實(shí)現(xiàn)有效地封裝OMCI協(xié)議報(bào)文。
[0005]本發(fā)明提供的技術(shù)方案如下:
[0006]一種OMCI協(xié)議報(bào)文封裝方法,包括:
[0007]SI接收不同操作類型的操作請(qǐng)求并生成與操作類型相對(duì)應(yīng)的編碼請(qǐng)求信息;
[0008]S2響應(yīng)所述編碼請(qǐng)求信息并調(diào)用與操作類型相對(duì)應(yīng)的處理函數(shù)代碼;
[0009]S3判斷所述處理函數(shù)代碼是否需要ME數(shù)據(jù);若是,執(zhí)行下一步,否則,直接根據(jù)所述處理函數(shù)代碼封裝OMCI報(bào)文;
[0010]S4獲取與所述函數(shù)代碼所需的ME數(shù)據(jù)以及ME屬性描述信息,將所述處理函數(shù)代碼、ME數(shù)據(jù)及ME屬性描述信息組合封裝成OMCI報(bào)文。
[0011 ] 進(jìn)一步優(yōu)選地,在步驟SI之前還包括SO存儲(chǔ)所述處理函數(shù)代碼;所述處理函數(shù)代碼與所述操作類型對(duì)應(yīng)。
[0012]進(jìn)一步優(yōu)選地,步驟SO還包括:根據(jù)MIB構(gòu)建ME屬性描述信息表并存儲(chǔ);所述ME屬性描述信息表包括不同ME的不同操作類型所對(duì)應(yīng)的多個(gè)屬性描述信息。
[0013]進(jìn)一步優(yōu)選地,所述步驟S4之前還包括獲取業(yè)務(wù)模塊發(fā)送的ME數(shù)據(jù)并存儲(chǔ)。
[0014]本發(fā)明還提供了一種應(yīng)用上述方法的OMCI協(xié)議報(bào)文封裝裝置,包括:
[0015]ME適配模塊,用于接收并處理不同操作類型的操作請(qǐng)求,生成與操作類型相對(duì)應(yīng)的編碼請(qǐng)求?目息;
[0016]調(diào)用模塊,用于響應(yīng)不同操作類型的所述編碼請(qǐng)求信息并調(diào)用與所述操作類型對(duì)應(yīng)的處理函數(shù)代碼;
[0017]判斷模塊,用于判斷所述處理函數(shù)代碼是否需要ME數(shù)據(jù);
[0018]獲取模塊,用于當(dāng)判斷結(jié)果為是時(shí),獲取所述處理函數(shù)代碼對(duì)應(yīng)的ME數(shù)據(jù)和ME屬性描述信息;
[0019]封裝模塊,用于根據(jù)所述處理函數(shù)代碼封裝成OMCI報(bào)文;或組合所述處理函數(shù)代碼、ME數(shù)據(jù)以及ME屬性描述信息生成處理函數(shù),并封裝成OMCI報(bào)文。
[0020]進(jìn)一步優(yōu)選地,還包括存儲(chǔ)模塊,存儲(chǔ)有處理函數(shù)代碼庫(kù)、ME數(shù)據(jù)庫(kù)和ME屬性描述信息表。
[0021]進(jìn)一步優(yōu)選地,所述處理函數(shù)代碼庫(kù)包括不同操作類型對(duì)應(yīng)的處理函數(shù)代碼。
[0022]進(jìn)一步優(yōu)選地,所述ME數(shù)據(jù)庫(kù)包括不同操作類型對(duì)應(yīng)的處理函數(shù)代碼所需的ME數(shù)據(jù);所述ME數(shù)據(jù)由業(yè)務(wù)模塊寫入。
[0023]進(jìn)一步優(yōu)選地,所述ME屬性描述信息表包括不同ME的不同操作類型所對(duì)應(yīng)的多個(gè)屬性描述信息。
[0024]本發(fā)明在ME適配和封裝OMCI報(bào)文時(shí)屏蔽各個(gè)ME的差異,所有ME共用一套操作類型處理函數(shù)進(jìn)行OMCI報(bào)文封裝,與現(xiàn)有技術(shù)相比,本發(fā)明至少能夠帶來以下一種有益效果:
[0025]I)代碼量小的多,前面的實(shí)現(xiàn)方案里要為每個(gè)ME的每個(gè)操作類型編寫一個(gè)適配函數(shù),數(shù)量巨大,本發(fā)明只要為每個(gè)操作類型別寫一個(gè)適配函數(shù)即可;
[0026]2)可擴(kuò)展性要好。增加新ME時(shí),本發(fā)明不需要再關(guān)心ME的封裝,只要按ITU-TG.988中第9節(jié)的ME描述寫一個(gè)ME的屬性描述,并在數(shù)據(jù)庫(kù)建立該ME的表即可支持新ΜΕ,并且不易出錯(cuò)。
[0027]3)可維護(hù)性好。前面方案里如果某個(gè)操作類型的處理不正確,就需要修改所有的適配函數(shù),本發(fā)明只要修改一個(gè)處理函數(shù)即可。
【附圖說明】
[0028]下面將以明確易懂的方式,結(jié)合【附圖說明】?jī)?yōu)選實(shí)施方式,對(duì)一種OMCI協(xié)議報(bào)文封裝方法及裝置的上述特性、技術(shù)特征、優(yōu)點(diǎn)及其實(shí)現(xiàn)方式予以進(jìn)一步說明。
[0029]圖1是本發(fā)明一種OMCI協(xié)議報(bào)文封裝方法的主要步驟示意圖;
[0030]圖2是本發(fā)明一種OMCI協(xié)議報(bào)文封裝方法的流程圖;
[0031]圖3是本發(fā)明一種OMCI協(xié)議報(bào)文封裝裝置的組成結(jié)構(gòu)示意圖;
[0032]附圖標(biāo)號(hào)說明:
[0033]100.ME適配模塊,101.調(diào)用模塊,102.判斷模塊,103.獲取模塊,104.封
[0034]裝模塊,105.存儲(chǔ)模塊。
【具體實(shí)施方式】
[0035]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)照【附圖說明】本發(fā)明的【具體實(shí)施方式】。顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖,并獲得其他的實(shí)施方式。
[0036]為使圖面簡(jiǎn)潔,各圖中只示意性地表示出了與本發(fā)明相關(guān)的部分,它們并不代表其作為產(chǎn)品的實(shí)際結(jié)構(gòu)。另外,以使圖面簡(jiǎn)潔便于理解,在有些圖中具有相同結(jié)構(gòu)或功能的部件,僅示意性地繪示了其中的一個(gè),或僅標(biāo)出了其中的一個(gè)。在本文中,“一個(gè)”不僅表示“僅此一個(gè)”,也可以表示“多于一個(gè)”的情形。
[0037]在ITU-TG.988協(xié)議中,需要支持的ME類型眾多,而且每一類ME還支持多種操作類型,由于在進(jìn)行OMCI協(xié)議報(bào)文封裝時(shí),每種操作類型的格式不一樣,以及每一類ME的MIB描述也不同。
[0038]ITU-TG.988協(xié)議規(guī)范了 OMCI報(bào)文的格式,對(duì)于不同的操作類型,OMCI報(bào)文的內(nèi)容格式是不同的,并詳細(xì)的規(guī)范了每種操作類型的格式。有些操作類型的格式很簡(jiǎn)單,如delete操作,其內(nèi)容全部填充O ;但是對(duì)于某些操作類型,其內(nèi)容格式則比較復(fù)雜,如set操作,需要根據(jù)ME的屬性掩碼及ME的MIB描述進(jìn)行封裝。
[0039]現(xiàn)有的一種技術(shù)方案是:
[0040]主要工作放在ME適配層里,報(bào)文封裝很簡(jiǎn)單。在ME適配層里,針對(duì)每個(gè)ME,以及該ME支持的每種操作,都需要編寫一個(gè)適配函數(shù)。假設(shè)需要支持的ME種類數(shù)為N,每種ME支持的操作類型個(gè)數(shù)為M,那么就需要編寫N*M個(gè)適配函數(shù),其工作量是巨大的。
[0041]在上面方案中,每增加一個(gè)ME,就需要編寫其支持的所有的操作類型的適配函數(shù),一是工作量大,二是容易出錯(cuò),擴(kuò)展性比較差。
[0042]因此如何有效的封裝OMCI報(bào)文成為一個(gè)難點(diǎn)。本發(fā)明提出一種可行方案。
[0043]圖1為本發(fā)明一種OMCI協(xié)議報(bào)文封裝方法的主要步驟示意圖,作為本發(fā)明的一個(gè)具體實(shí)施例,如圖1所示,一種OMCI協(xié)議報(bào)文封裝方法,包括:
[0044]SI接收不同操作類型的操作請(qǐng)求并生成與操作類型相對(duì)應(yīng)的編碼請(qǐng)求信息;
[0045]S2響應(yīng)所述編碼請(qǐng)求信息并調(diào)用與操作類型相對(duì)應(yīng)的處理函數(shù)代碼;
[0046]S3判斷所述處理函數(shù)代碼是否需要ME數(shù)據(jù);若是,執(zhí)行下一步,否則,直接根據(jù)所述處理函數(shù)代碼封裝OMCI報(bào)文;
[0047]S4獲取與所述函數(shù)代碼所需的ME數(shù)據(jù)以及ME屬性描述信息,將所述處理函數(shù)代碼、ME數(shù)據(jù)及ME屬性描述信息組合封裝成OMCI報(bào)文。
[0048]本發(fā)明先將業(yè)務(wù)模塊發(fā)送的ME數(shù)據(jù)寫入數(shù)據(jù)庫(kù),然后再根據(jù)不同的操作類型發(fā)送操作請(qǐng)求;根據(jù)不同操作類型的操作請(qǐng)求生成編碼請(qǐng)求信息;當(dāng)接收ME適配的編碼請(qǐng)求信息時(shí),編碼請(qǐng)求信息包含編碼所需的一些信息,如ME的類型,ME的實(shí)例號(hào)等,根據(jù)不同操作類型調(diào)用匹配的處理函數(shù)代碼;若當(dāng)前操作請(qǐng)求所對(duì)應(yīng)的處理函數(shù)代碼不需要ME數(shù)據(jù),則直接封裝此處理函數(shù)代碼生成OMCI報(bào)文,若當(dāng)前操作請(qǐng)求所對(duì)應(yīng)的處理函數(shù)代碼需要ME數(shù)據(jù),則獲取ME屬性描述信息和ME數(shù)據(jù),根據(jù)這兩個(gè)信息和處理函數(shù)代碼進(jìn)行OMCI報(bào)文的編碼,最后封裝成OMCI報(bào)文。
[0049]對(duì)上述實(shí)施例進(jìn)行改進(jìn),在步驟SI之前還包括SO存儲(chǔ)所述處理函數(shù)代碼;所述處理函數(shù)代碼與所述操作類型對(duì)應(yīng)。
[0050]對(duì)上述實(shí)施例進(jìn)行改進(jìn),步驟SO還包括:根據(jù)MIB構(gòu)建ME屬性描述信息表并存儲(chǔ);所述ME屬性描述信息表包括不同ME的不同操作類型所對(duì)應(yīng)的多個(gè)屬性描述信息。
[0051]MIB是TCP/IP網(wǎng)絡(luò)管理協(xié)議標(biāo)準(zhǔn)框架的內(nèi)容之一,MIB定義了受管設(shè)備必須保存的數(shù)據(jù)項(xiàng)、允許對(duì)每個(gè)數(shù)據(jù)項(xiàng)進(jìn)行的操作及其含義,即管理系統(tǒng)可訪問的受管設(shè)備的控制和狀態(tài)信息等數(shù)據(jù)變量都保存在MIB中。
[0052]本發(fā)明通過引入兩個(gè)對(duì)象來實(shí)現(xiàn)有效OMCI協(xié)議報(bào)文封裝的目的:I) 一個(gè)是ME屬性描述信息表,用于描述每個(gè)ME的屬性信息,包括屬性的編號(hào),屬性的大小,屬性的訪問格式,以及屬性的字節(jié)序轉(zhuǎn)換函數(shù);2) —個(gè)是ME數(shù)據(jù)庫(kù),用于存儲(chǔ)每個(gè)ME數(shù)據(jù)。
[0053]具體的,本發(fā)明中步驟S3判斷處理函數(shù)代碼是否需要ME數(shù)據(jù),具體的,是根據(jù)檢測(cè)處理函數(shù)代碼是否包括虛擬參數(shù)來判