專利名稱::一種媒體網(wǎng)關(guān)多模塊數(shù)據(jù)配置下的數(shù)據(jù)分發(fā)方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及大型通訊設(shè)備中的數(shù)據(jù)同步技術(shù),尤其涉及一種媒體網(wǎng)關(guān)多模塊數(shù)據(jù)配置下的數(shù)據(jù)分發(fā)的方法。
背景技術(shù):
:電信網(wǎng)絡(luò)中的通訊設(shè)備的正常運行需要復(fù)雜的相關(guān)數(shù)據(jù)支持,而隨著應(yīng)用場景的不同,同一種設(shè)備的運行數(shù)據(jù)是不同的。為了應(yīng)對千差萬別的應(yīng)用環(huán)境,需要對設(shè)備進(jìn)行動態(tài)的數(shù)據(jù)配置管理。為了提高運行效率,通常在設(shè)備內(nèi)部采用高效率、高實時性的內(nèi)存數(shù)據(jù)庫系統(tǒng);同時,為了增加數(shù)據(jù)配置的靈活性、穩(wěn)定性,將配置的數(shù)據(jù)與運行中的內(nèi)存數(shù)據(jù)分離,即將數(shù)據(jù)配置在后臺數(shù)據(jù)服務(wù)器上,數(shù)據(jù)服務(wù)器采用商用數(shù)據(jù)庫系統(tǒng)。當(dāng)配置數(shù)據(jù)有所變動時,通過數(shù)據(jù)同步機(jī)制,將變化數(shù)據(jù)同步到設(shè)備上。自前比較通用的數(shù)據(jù)同步機(jī)制都是基于單模塊系統(tǒng)的。即數(shù)據(jù)服務(wù)器上的同步代理進(jìn)程直接將數(shù)據(jù)同步到設(shè)備的主控模塊,之后主控模塊加載、保存數(shù)據(jù),此種方法在單模塊系統(tǒng)中會很好的工作。但是隨著通訊設(shè)備處理能力越來越大,設(shè)備的復(fù)雜度隨之加大。目前大容量的設(shè)備一般分多個功能模塊,每個功能模塊的分工各有不同,各模塊正常運行時需要的數(shù)據(jù)也不盡相同。在這種情況下,現(xiàn)有的前后臺數(shù)據(jù)同步機(jī)制已經(jīng)不能滿足設(shè)備的運行需要。綜上所述,當(dāng)前需要一種媒體網(wǎng)關(guān)多模塊數(shù)據(jù)配置下的數(shù)據(jù)分發(fā)的技術(shù)方案。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種媒體網(wǎng)關(guān)多模塊數(shù)據(jù)配置下的數(shù)據(jù)分發(fā)的方法,在原有的前后臺數(shù)據(jù)同步的基礎(chǔ)上,建立一種可行的、有效的通訊設(shè)備內(nèi)部的多模塊數(shù)據(jù)分發(fā),保證多模塊設(shè)備的正常運行。為了解決上述問題,本發(fā)明提供了一種媒體網(wǎng)關(guān)多模塊數(shù)據(jù)配置下的數(shù)據(jù)分發(fā)的方法,主控模塊作為發(fā)送方,其他業(yè)務(wù)模塊作為接收方,包括以下步驟,tl、發(fā)送方與接收方采用互控協(xié)議,發(fā)送方每次發(fā)送一個數(shù)據(jù)包后都等待接收方的回應(yīng),直到接收方收到發(fā)送方發(fā)送的所有關(guān)系表數(shù)據(jù)后,返回給發(fā)送方確認(rèn)消息,其中發(fā)送方根據(jù)對應(yīng)的關(guān)系對接收方分發(fā)相應(yīng)的關(guān)系表數(shù)據(jù);t2、發(fā)送方收到確認(rèn)消息后,發(fā)送本次通訊連接結(jié)束消息;接收方收到通訊連接結(jié)束消息后,返回確認(rèn)消息,并從緩沖區(qū)加載收到的關(guān)系表數(shù)據(jù)。進(jìn)一步地,上述方法還可包括,所述步驟tl中,包括,發(fā)送方將需要同步的關(guān)系表列表發(fā)送到接收方后,接收方進(jìn)行校驗后存入緩沖區(qū),返回應(yīng)答消息給發(fā)送方;發(fā)送方收到應(yīng)答消息后,讀取所有關(guān)系表中的關(guān)系表名稱字段,根據(jù)接收方的模塊類型進(jìn)行查找,得到接收方所對應(yīng)的關(guān)系表并發(fā)送到接收方,并通知接收方開始同步該關(guān)系表;接收方收到關(guān)系表信息后,返回發(fā)送方應(yīng)答消息,并且準(zhǔn)備接收關(guān)系表記錄的數(shù)據(jù);發(fā)送方收到接收方的應(yīng)答消息后,將所述關(guān)系表的記錄數(shù)據(jù)發(fā)送到接收方,所述關(guān)系表的記錄數(shù)據(jù)包括關(guān)系表的記錄個數(shù)、關(guān)系表的記錄內(nèi)容。進(jìn)一步地,上述方法還可包括,所述步驟tl中,還包括,發(fā)送方收到數(shù)據(jù)服務(wù)器新的數(shù)據(jù)時或者接收方在系統(tǒng)初始化時通知發(fā)送方分發(fā)數(shù)據(jù)時,發(fā)送方產(chǎn)生新的傳輸標(biāo)識號;發(fā)送方將傳輸標(biāo)識號發(fā)送到接收方,建立通訊連接;接收方收到傳輸標(biāo)識號后,初始化接收數(shù)據(jù)的緩沖區(qū),返回應(yīng)答消息。進(jìn)一步地,上述方法還可包括,所述發(fā)送方將所述關(guān)系表的記錄數(shù)據(jù)發(fā)送到接收方后,進(jìn)一步包括步驟,步驟I、接收方將收到關(guān)系表的記錄數(shù)據(jù)寫入緩沖區(qū),并進(jìn)行消息回應(yīng);步驟J、發(fā)送方判斷所述關(guān)系表的所有記錄數(shù)據(jù)是否同步完成,如果是,則執(zhí)行步驟K,否則,發(fā)送方再次將所述關(guān)系表的記錄數(shù)據(jù)發(fā)送到接收方,執(zhí)行步驟I;步驟K、發(fā)送方通知接收方所述關(guān)系表同步完成;步驟L、接收方收到所述關(guān)系表同步完成消息后,返回應(yīng)答消息;步驟M、發(fā)送方收到應(yīng)答消息后,判斷是否已發(fā)送所有關(guān)系表數(shù)據(jù),如果是,則發(fā)送方對接收方發(fā)送所有關(guān)系表同步完成消息,否則,發(fā)送方再次讀取所有關(guān)系表中的關(guān)系表名稱字段,根據(jù)接收方的模塊類型進(jìn)行查找,得到接收方所對應(yīng)的關(guān)系表并發(fā)送到接收方,并通知接收方開始同步該關(guān)系表。進(jìn)一步地,上述方法還可包括,接收方收到所述所有關(guān)系表同步完成消息后,返回給發(fā)送方確認(rèn)消息。進(jìn)一步地,上述方法還可包括,所述步驟tl中,若一定時間后,發(fā)送方未收到接收方回應(yīng),則重發(fā)消息,若重發(fā)多次仍未收到回應(yīng),則認(rèn)為此次傳輸失??;接收方每次收到數(shù)據(jù)后都給發(fā)送方回應(yīng),并等待下一個數(shù)據(jù)包或消息,若一定時間后,未收到發(fā)送方消息,則重發(fā)上一消息,若重發(fā)多次仍未收到發(fā)送方消息,則認(rèn)為此次傳輸失敗,數(shù)據(jù)不進(jìn)行修改。進(jìn)一步地,上述方法還可包括,為了避免不必要的數(shù)據(jù)分發(fā),主控模塊和其他業(yè)務(wù)模塊都需要維護(hù)一個數(shù)據(jù)版本號,每次接收數(shù)據(jù)時主控模塊和其他業(yè)務(wù)模塊都會更新自己的數(shù)據(jù)版本號;同時數(shù)據(jù)分發(fā)時,接收方也會比較發(fā)送過來的數(shù)據(jù)版本是否比自身數(shù)據(jù)版本更新,接收方只接收比本地數(shù)據(jù)版本更新的tt據(jù)。進(jìn)一步地,上述方法還可包括,所述接收方收到傳輸標(biāo)識號后,初始化接收數(shù)據(jù)的緩沖區(qū),返回應(yīng)答消息時,其中所述應(yīng)答消息的內(nèi)容包括收到的傳輸標(biāo)識號;所述關(guān)系表的內(nèi)容包括關(guān)系表名稱、記錄長度、字段描述、模塊類型的進(jìn)一步地,上述方法還可包括,對于每個所述關(guān)系表,都會對應(yīng)一條記錄,描述每個關(guān)系表分別對何種類型的模塊有效,其中模塊類型字段包括多種模塊類型的組合值。進(jìn)一步地,上述方法還可包括,所述步驟t2中,接收方將接收的數(shù)據(jù)存放在緩沖區(qū)中,接收所有數(shù)據(jù)完成以后,進(jìn)行數(shù)據(jù)校驗。進(jìn)一步地,上述方法還可包括,如果接收方數(shù)據(jù)校驗失敗,則本次同步失敗,整體回滾;如果接收方數(shù)據(jù)校驗成功,則將緩沖區(qū)中的數(shù)據(jù)拷貝到對應(yīng)的內(nèi)存區(qū)i或。進(jìn)一步地,上述方法還可包括,所述數(shù)據(jù)校驗內(nèi)容包括關(guān)系表記錄個數(shù)是否超出內(nèi)存數(shù)據(jù)庫相應(yīng)表的規(guī)劃容量、相關(guān)聯(lián)的關(guān)系表數(shù)據(jù)是否一致。與現(xiàn)有技術(shù)相比,由于本發(fā)明引入了設(shè)備內(nèi)部的多模塊分發(fā)機(jī)制,使得后臺只需將所有數(shù)據(jù)同步到主控模塊,剩余的工作均由設(shè)備內(nèi)部的分發(fā)機(jī)制來完成。這樣提高了同步的效率,減少了用戶操作步驟,提高了設(shè)備的可靠性。另外,主控模塊根據(jù)各業(yè)務(wù)模塊的實際需要進(jìn)行數(shù)據(jù)的分發(fā),節(jié)約了寶貴的內(nèi)存空間,提高了設(shè)備的運行效率。圖1是本發(fā)明具體實施方式中主控模塊向業(yè)務(wù)模塊分發(fā)數(shù)據(jù)的流程圖;圖2是本發(fā)明具體實例的系統(tǒng)中各模塊邏輯連接關(guān)系圖。具體實施方式下面結(jié)合附圖和具體實施方式對本發(fā)明作進(jìn)一步說明。本發(fā)明的主要構(gòu)思是設(shè)備的主控模塊接收數(shù)據(jù)服務(wù)器的最新數(shù)據(jù)后觸發(fā)主控模塊向其他業(yè)務(wù)模塊進(jìn)行數(shù)據(jù)的分發(fā)操作,其中主控模塊作為發(fā)送方,其他業(yè)務(wù)模塊作為接收方。發(fā)送方與接收方采用互控協(xié)議,發(fā)送方每次發(fā)送一個數(shù)據(jù)包后都等待接收方的回應(yīng)。發(fā)送方根據(jù)接收方的不同的模塊對應(yīng)的關(guān)系表名稱對接收方分發(fā)相應(yīng)的關(guān)系表數(shù)據(jù),若一定時間后,發(fā)送方未收到接收方回應(yīng),則重發(fā)消息,若重發(fā)多次(例如3次)仍未收到回應(yīng),則認(rèn)為此次傳輸失敗。接收方每次收到數(shù)據(jù)后都給發(fā)送方回應(yīng),并等待下一個凄t據(jù)包或消息。若一定時間后,未收到發(fā)送方消息,則重發(fā)上一消息,若重發(fā)多次(例如3次)仍未收到發(fā)送方消息,則認(rèn)為此次傳輸失敗,數(shù)據(jù)不進(jìn)行修改。此外為了保證消息不會4晉序,在消息中增加了一個消息包號來標(biāo)識包的傳輸順序。圖l描述了設(shè)備的主控模塊向其他業(yè)務(wù)模塊進(jìn)行數(shù)據(jù)分發(fā)的流程,包括以下步驟步驟A、發(fā)送方收到數(shù)據(jù)傳輸觸發(fā)消息,產(chǎn)生一個新的傳輸標(biāo)識號;主控模塊(即發(fā)送方)擁有數(shù)據(jù)服務(wù)器的數(shù)據(jù)庫中的所有數(shù)據(jù),業(yè)務(wù)模塊根據(jù)各自的需要來進(jìn)行同步。主控模塊需要接收所有的關(guān)系表數(shù)據(jù),關(guān)系表數(shù)據(jù)源于數(shù)據(jù)服務(wù)器;其他業(yè)務(wù)模塊則根據(jù)各自的模塊類型來確定需要的關(guān)系表數(shù)據(jù)。觸發(fā)同步流程有兩種情況一種就是主控模塊收到了更新的數(shù)據(jù),需要進(jìn)行分發(fā)數(shù)據(jù);另外一種情況就是業(yè)務(wù)模塊在系統(tǒng)初始化時通知主控模塊分發(fā)數(shù)據(jù)。為了避免不必要的數(shù)據(jù)分發(fā),主控模塊和其他業(yè)務(wù)模塊都需要維護(hù)一個數(shù)據(jù)版本號,每次接收數(shù)據(jù)時各模塊都會更新自己的數(shù)據(jù)版本號;同時數(shù)據(jù)分發(fā)的時候,接收方也會比較發(fā)送過來的數(shù)據(jù)版本是否比自身數(shù)據(jù)版本更新,接收方只接收比本地數(shù)據(jù)版本更新的數(shù)據(jù);數(shù)據(jù)版本號的應(yīng)用主要是在業(yè)務(wù)模塊上電加載數(shù)據(jù)的時候。步驟B、發(fā)送方將傳輸標(biāo)識號發(fā)送到接收方,建立通訊連接;步驟C、接收方收到傳輸標(biāo)識號后,初始化接收數(shù)據(jù)的緩沖區(qū),返回應(yīng)答消息;所述應(yīng)答消息的內(nèi)容包括收到的傳輸標(biāo)識號。步驟D、發(fā)送方收到應(yīng)答消息后,將需要同步的關(guān)系表列表發(fā)送到接收方;步驟E、接收方收到關(guān)系表列表,進(jìn)行筒單的校驗后存入緩沖區(qū),返回應(yīng)答消息給發(fā)送方;步驟F、發(fā)送方收到應(yīng)答消息后,發(fā)送接收方的對應(yīng)的關(guān)系表到接收方,并通知接收方開始同步該關(guān)系表;發(fā)送方收到應(yīng)答消息后,讀取所有關(guān)系表中的關(guān)系表名稱字段,根據(jù)接收方的模塊類型進(jìn)行查找,得到接收方所對應(yīng)的關(guān)系表并發(fā)送到接收方,并通知接收方開始同步該關(guān)系表。所述關(guān)系表的內(nèi)容包括關(guān)系表名稱、記錄長度、字段描述、模塊類型等信息。步驟G、接收方收到關(guān)系表信息后,返回發(fā)送方應(yīng)答消息,并且準(zhǔn)備接收關(guān)系表記錄的數(shù)據(jù);步驟H、發(fā)送方收到接收方的應(yīng)答消息后,將所述關(guān)系表的記錄數(shù)據(jù)發(fā)送到接收方;所述關(guān)系表的記錄數(shù)據(jù)包括關(guān)系表的記錄個數(shù)、關(guān)系表的記錄內(nèi)容。步驟I、接收方收到記錄數(shù)據(jù)后,寫入緩沖區(qū),并進(jìn)行消息回應(yīng);步驟J、發(fā)送方判斷所述關(guān)系表的所有記錄數(shù)據(jù)是否同步完成,如果是,則執(zhí)行步驟K,否則,執(zhí)行步驟H;如果記錄數(shù)據(jù)較多,則需要重復(fù)步驟H-I循環(huán)進(jìn)行記錄發(fā)送接收操作。步驟K、發(fā)送方通知接收方所述關(guān)系表同步完成;此時所有記錄數(shù)據(jù)同步完成,發(fā)送方通知接收方所述關(guān)系表同步完成。步驟L、接收方收到所述關(guān)系表同步完成消息后,返回應(yīng)答消息;接收方收到所述關(guān)系表同步完成消息后,返回應(yīng)答消息,并準(zhǔn)備接收下一個關(guān)系表。步驟M、發(fā)送方收到應(yīng)答消息后,判斷是否已發(fā)送所有關(guān)系表數(shù)據(jù),如果是,則執(zhí)行步驟N,否則,執(zhí)行步驟F;發(fā)送方收到應(yīng)答消息后,重復(fù)步驟F-L發(fā)送關(guān)系表數(shù)據(jù),直到對《^收方發(fā)送完所有的關(guān)系表it據(jù)。步驟N、發(fā)送方對接收方發(fā)送所有關(guān)系表同步完成消息;此時所有關(guān)系表同步完成,發(fā)送所有關(guān)系表同步完成消息。步驟O、接收方收到所有關(guān)系表同步完成消息后,返回確認(rèn)消息;步驟P、發(fā)送方收到確認(rèn)消息后,發(fā)送本次通訊連接結(jié)束消息;步驟Q、接收方收到通訊連接結(jié)束消息后,返回確認(rèn)消息,并從緩沖區(qū)加載收到的關(guān)系表數(shù)據(jù)。接收方將接收的數(shù)據(jù)存放在緩沖區(qū)中,接收所有數(shù)據(jù)完成以后,進(jìn)行數(shù)據(jù)校驗。校驗內(nèi)容包括關(guān)系表記錄個數(shù)是否超出內(nèi)存數(shù)據(jù)庫相應(yīng)表的規(guī)劃容量、相關(guān)聯(lián)的關(guān)系表數(shù)據(jù)是否一致等。如果校驗失敗,則本次同步失敗;如果校驗成功,則將緩沖區(qū)中的數(shù)據(jù)拷貝到對應(yīng)的內(nèi)存區(qū)域。如果接收方加載數(shù)據(jù)過程中出現(xiàn)關(guān)系表之間的一致性錯誤,則本次同步失敗,整體回滾。下面結(jié)合具體實例對本發(fā)明作進(jìn)一步說明。以NGN(電信下一代網(wǎng)絡(luò))網(wǎng)關(guān)設(shè)備為例,詳細(xì)介紹本發(fā)明的實施。一個完整的網(wǎng)關(guān)設(shè)備包括OMP(主控模塊)、CMP(業(yè)務(wù)模塊)、各種業(yè)務(wù)單板(比如網(wǎng)絡(luò)接口板,語音處理單板等)、后臺數(shù)據(jù)配置服務(wù)器等。后臺數(shù)據(jù)配置在單獨的數(shù)據(jù)庫服務(wù)器上,采用MicrosoftSQLServer數(shù)據(jù)庫系統(tǒng)。如圖2所示,后臺數(shù)據(jù)配置服務(wù)器上的傳送進(jìn)程直接與OMP模塊進(jìn)行通訊,各CMP模塊分別與OMP存在業(yè)務(wù)上的通訊鏈路,后臺傳送程序與CMP之間不存在直接的通訊鏈路。完整的數(shù)據(jù)同步中的數(shù)據(jù)流應(yīng)該是后臺傳送進(jìn)程——〉OMP——>各CMP。本發(fā)明所關(guān)心的是OMP上數(shù)據(jù)分發(fā)到各CMP的整個流程及機(jī)制,下面就這一部分功能介紹一下本例中的具體實現(xiàn)。為了達(dá)到對不同的業(yè)務(wù)模塊只分發(fā)必須的數(shù)據(jù),設(shè)備中維護(hù)一張靜態(tài)關(guān)系表,描述了設(shè)備中不同類型的模塊需要的關(guān)系表名稱。數(shù)據(jù)分發(fā)時主控模塊將根據(jù)不同的模塊對應(yīng)的關(guān)系表名稱來分發(fā)相應(yīng)的關(guān)系表。關(guān)系表結(jié)構(gòu)如下所示表l模塊類型對應(yīng)的關(guān)系表名稱字段名稱字段類型字段含義MODULETYPEINT模塊類型TABLENAMECHAR(20)模塊所需要的關(guān)系表名稱OMP模塊比較特殊,因為設(shè)備上所有業(yè)務(wù)模塊所需要的數(shù)據(jù)都是從其分發(fā)出去的,所以O(shè)MP模塊需要接收所有的關(guān)系表數(shù)據(jù),數(shù)據(jù)源于后臺數(shù)據(jù)配置服務(wù)器。其他業(yè)務(wù)模塊則根據(jù)各自的模塊類型來確定需要的關(guān)系表數(shù)據(jù)。為了避免不必要的數(shù)據(jù)分發(fā),每個模塊都需要維護(hù)一個數(shù)據(jù)版本號,每次接收數(shù)據(jù)時各模塊都會更新自己的數(shù)據(jù)版本號。同時數(shù)據(jù)分發(fā)的時候,接收方也會比較發(fā)送過來的數(shù)據(jù)版本是否比自身數(shù)據(jù)版本更新,接收方只接收比本地數(shù)據(jù)版本更新的數(shù)據(jù)。版本號的應(yīng)用主要是在業(yè)務(wù)模塊上電加載數(shù)據(jù)的時候。一、分發(fā)流程的觸發(fā)設(shè)備中OMP分發(fā)數(shù)據(jù)流程由以下幾種情況觸發(fā)OMP接收到后臺服務(wù)器更新的數(shù)據(jù)后,OMP啟動向所有CMP分發(fā)數(shù)據(jù)的流程。某個業(yè)務(wù)CMP上電初始化時,如果本地數(shù)據(jù)版本號比OMP數(shù)據(jù)版本號低,通知OMP向其分發(fā)數(shù)據(jù)。二、數(shù)據(jù)分發(fā)分發(fā)流程觸發(fā)后,OMP根據(jù)表1所示的關(guān)系表取得目標(biāo)業(yè)務(wù)模塊所需要的數(shù)據(jù)關(guān)系表,按照圖1所示的流程進(jìn)行同步。分發(fā)流程觸發(fā)后,OMP讀取所有關(guān)系表中的關(guān)系表名稱(TABLENAME)字段,得到目標(biāo)業(yè)務(wù)模塊所對應(yīng)的關(guān)系表,按照圖1所示的流程進(jìn)行同步。OMP讀取所有關(guān)系表中的關(guān)系表名稱(TABLENAME)字段,讀取該關(guān)系表對應(yīng)的模塊類型(MODULETYPE)字段。參考表l,對于系統(tǒng)中的每個關(guān)系表,都會對應(yīng)一條記錄,描述每個關(guān)系表分別對何種類型的模塊有效,其中MODULETYPE字段可以是多種模塊類型的組合值。OMP根據(jù)某個模塊的類型(多種模塊類型組合值應(yīng)該拆開分別查找)查找該關(guān)系表,可以得到一個關(guān)系表名列表,這個關(guān)系表名列表就是該模塊所需的關(guān)系表。如表2所示表2:<table>tableseeoriginaldocumentpage13</column></row><table>從中可以看出,R一BOARD表對于所有類型為1的模塊都可以分發(fā)。R—UNIT表對于所有類型為2的模塊都可以分發(fā)。R一LINK表對于所有類型為4的模塊都可以分發(fā)。R—ROUTE表對于所有類型為l或者2或者4的模塊都可以分發(fā)。(其中7為1,2,4的組合值)三、數(shù)據(jù)加載接收方模塊將接收的數(shù)據(jù)存放在緩沖區(qū)中,接收所有數(shù)據(jù)完成以后,進(jìn)行數(shù)據(jù)校驗。校驗內(nèi)容包括關(guān)系表記錄個數(shù)是否超出內(nèi)存數(shù)據(jù)庫相應(yīng)表的規(guī)劃容量、相關(guān)聯(lián)的關(guān)系表數(shù)據(jù)是否一致等。如果校驗失敗,則本次同步失??;如果校驗成功,則將緩沖區(qū)中的數(shù)據(jù)拷貝到對應(yīng)的內(nèi)存區(qū)域。四、變化數(shù)據(jù)的生效業(yè)務(wù)模塊數(shù)據(jù)加載成功后,需要通知其他業(yè)務(wù)進(jìn)程數(shù)據(jù)的變化。業(yè)務(wù)進(jìn)程重新獲取變化數(shù)據(jù),至此數(shù)據(jù)變化生效。以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。權(quán)利要求1、一種媒體網(wǎng)關(guān)多模塊數(shù)據(jù)配置下的數(shù)據(jù)分發(fā)的方法,主控模塊作為發(fā)送方,其他業(yè)務(wù)模塊作為接收方,其特征在于,包括以下步驟,t1、發(fā)送方與接收方采用互控協(xié)議,發(fā)送方每次發(fā)送一個數(shù)據(jù)包后都等待接收方的回應(yīng),直到接收方收到發(fā)送方發(fā)送的所有關(guān)系表數(shù)據(jù)后,返回給發(fā)送方確認(rèn)消息,其中發(fā)送方根據(jù)對應(yīng)的關(guān)系對接收方分發(fā)相應(yīng)的關(guān)系表數(shù)據(jù);t2、發(fā)送方收到確認(rèn)消息后,發(fā)送本次通訊連接結(jié)束消息;接收方收到通訊連接結(jié)束消息后,返回確認(rèn)消息,并從緩沖區(qū)加載收到的關(guān)系表數(shù)據(jù)。2、如權(quán)利要求l所述的方法,其特征在于,所述步驟tl中,包括,發(fā)送方將需要同步的關(guān)系表列表發(fā)送到接收方后,接收方進(jìn)行校驗后存入緩沖區(qū),返回應(yīng)答消息給發(fā)送方;發(fā)送方收到應(yīng)答消息后,讀取所有關(guān)系表中的關(guān)系表名稱字段,根據(jù)接收方的模塊類型進(jìn)行查找,得到接收方所對應(yīng)的關(guān)系表并發(fā)送到接收方,并通知接收方開始同步該關(guān)系表;接收方收到關(guān)系表信息后,返回發(fā)送方應(yīng)答消息,并且準(zhǔn)備接收關(guān)系表記錄的數(shù)據(jù);發(fā)送方收到接收方的應(yīng)答消息后,將所述關(guān)系表的記錄數(shù)據(jù)發(fā)送到接收方,所述關(guān)系表的記錄數(shù)據(jù)包括關(guān)系表的記錄個數(shù)、關(guān)系表的記錄內(nèi)容。3、如權(quán)利要求2所述的方法,其特征在于,所述步驟tl中,還包括,發(fā)送方收到數(shù)據(jù)服務(wù)器新的數(shù)據(jù)時或者接收方在系統(tǒng)初始化時通知發(fā)送方分發(fā)數(shù)據(jù)時,發(fā)送方產(chǎn)生新的傳輸標(biāo)識號;發(fā)送方將傳輸標(biāo)識號發(fā)送到接收方,建立通訊連接;接收方收到傳輸標(biāo)識號后,初始化接收數(shù)據(jù)的緩沖區(qū),返回應(yīng)答消息。4、如權(quán)利要求3所述的方法,其特征在于,所述發(fā)送方將所述關(guān)系表的記錄數(shù)據(jù)發(fā)送到接收方后,進(jìn)一步包括步驟,步驟I、接收方將收到關(guān)系表的記錄數(shù)據(jù)寫入緩沖區(qū),并進(jìn)行消息回應(yīng);步驟J、發(fā)送方判斷所述關(guān)系表的所有記錄數(shù)據(jù)是否同步完成,如果是,則執(zhí)行步驟K,否則,發(fā)送方再次將所述關(guān)系表的記錄數(shù)據(jù)發(fā)送到接收方,執(zhí)行步驟I;步驟K、發(fā)送方通知接收方所述關(guān)系表同步完成;步驟L、接收方收到所述關(guān)系表同步完成消息后,返回應(yīng)答消息;步驟M、發(fā)送方收到應(yīng)答消息后,判斷是否已發(fā)送所有關(guān)系表數(shù)據(jù),如果是,則發(fā)送方對接收方發(fā)送所有關(guān)系表同步完成消息,否則,發(fā)送方再次讀取所有關(guān)系表中的關(guān)系表名稱字段,根據(jù)接收方的模塊類型進(jìn)行查找,得到接收方所對應(yīng)的關(guān)系表并發(fā)送到接收方,并通知接收方開始同步該關(guān)系表。5、如權(quán)利要求4所述的方法,其特征在于,接收方收到所述所有關(guān)系表同步完成消息后,返回給發(fā)送方確認(rèn)消息。6、如權(quán)利要求l、2、3、4或5所述的方法,其特征在于,所述步驟tl中,若一定時間后,發(fā)送方未收到接收方回應(yīng),則重發(fā)消息,若重發(fā)多次仍未收到回應(yīng),則認(rèn)為此次傳輸失??;接收方每次收到數(shù)據(jù)后都給發(fā)送方回應(yīng),并等待下一個數(shù)據(jù)包或消息,若一定時間后,未收到發(fā)送方消息,則重發(fā)上一消息,若重發(fā)多次仍未收到發(fā)送方消息,則認(rèn)為此次傳輸失敗,數(shù)據(jù)不進(jìn)行修改。7、如權(quán)利要求l、2、3、4或5所述的方法,其特征在于,為了避免不必要的數(shù)據(jù)分發(fā),主控模塊和其他業(yè)務(wù)才莫塊都需要維護(hù)一個數(shù)據(jù)版本號,每次接收數(shù)據(jù)時主控模塊和其他業(yè)務(wù)模塊都會更新自己的數(shù)據(jù)版本號;同時數(shù)據(jù)分發(fā)時,接收方也會比較發(fā)送過來的數(shù)據(jù)版本是否比自身數(shù)據(jù)版本更新,接收方只接收比本地數(shù)據(jù)版本更新的數(shù)據(jù)。8、如權(quán)利要求5所述的方法,其特征在于,所述接收方收到傳輸標(biāo)識號后,初始化接收數(shù)據(jù)的緩沖區(qū),返回應(yīng)答消息時,其中所述應(yīng)答消息的內(nèi)容包括收到的傳輸標(biāo)識號;所述關(guān)系表的內(nèi)容包括關(guān)系表名稱、記錄長度、字段描述、模塊類型的信息。9、如權(quán)利要求8所述的方法,其特征在于,對于每個所述關(guān)系表,都會對應(yīng)一條記錄,描述每個關(guān)系表分別對何種類型的模塊有效,其中模塊類型字段包括多種模塊類型的組合值。10、如權(quán)利要求l、2、3、4或5所述的方法,其特征在于,所述步驟t2中,接收方將接收的數(shù)據(jù)存放在緩沖區(qū)中,接收所有數(shù)據(jù)完成以后,進(jìn)行數(shù)據(jù)校驗。11、如權(quán)利要求IO所述的方法,其特征在于,如果接收方數(shù)據(jù)校驗失敗,則本次同步失敗,整體回滾;如果接收方數(shù)據(jù)校驗成功,則將緩沖區(qū)中的數(shù)據(jù)拷貝到對應(yīng)的內(nèi)存區(qū)域。12、如權(quán)利要求11所述的方法,其特征在于,所述數(shù)據(jù)校驗內(nèi)容包括關(guān)系表記錄個數(shù)是否超出內(nèi)存數(shù)據(jù)庫相應(yīng)表的規(guī)劃容量、相關(guān)聯(lián)的關(guān)系表數(shù)據(jù)是否一致。全文摘要本發(fā)明公開了一種媒體網(wǎng)關(guān)多模塊數(shù)據(jù)配置下的數(shù)據(jù)分發(fā)方法,主控模塊作為發(fā)送方,其他業(yè)務(wù)模塊作為接收方,首先發(fā)送方與接收方采用互控協(xié)議,發(fā)送方每次發(fā)送一個數(shù)據(jù)包后都等待接收方的回應(yīng),直到接收方收到發(fā)送方發(fā)送的所有關(guān)系表數(shù)據(jù)后,返回給發(fā)送方確認(rèn)消息,其中發(fā)送方根據(jù)對應(yīng)的關(guān)系對接收方分發(fā)相應(yīng)的關(guān)系表數(shù)據(jù);發(fā)送方收到確認(rèn)消息后,發(fā)送本次通訊連接結(jié)束消息;接收方收到通訊連接結(jié)束消息后,返回確認(rèn)消息,并從緩沖區(qū)加載收到的關(guān)系表數(shù)據(jù)。應(yīng)用本發(fā)明,在原有的前后臺數(shù)據(jù)同步的基礎(chǔ)上,建立一種可行的、有效的通訊設(shè)備內(nèi)部的多模塊數(shù)據(jù)分發(fā),保證多模塊設(shè)備的正常運行。文檔編號H04L12/66GK101150545SQ200710151458公開日2008年3月26日申請日期2007年10月18日優(yōu)先權(quán)日2007年10月18日發(fā)明者民劉,王瑞豐,恒蔣申請人:中興通訊股份有限公司