MEL Applicat1n Part, CAP)協(xié)議的事務(wù)處理能力應(yīng)用部分(Transact1nCapabilities Applicat1n Part,TCAP)層的會話標(biāo)識(dialog id)可以唯一標(biāo)識本次呼叫請求。
[0119]步驟503、接收主機(jī)和備份機(jī)發(fā)送的呼叫控制響應(yīng)。
[0120]消息處理裝置可以接收所有的主機(jī)和備份機(jī)1、2返回的呼叫控制響應(yīng)。
[0121]步驟504、發(fā)送健康度最高的虛擬機(jī)返回的呼叫控制響應(yīng)。
[0122]具體的,消息處理裝置中存儲有每個主機(jī)和備份機(jī)的健康度數(shù)據(jù),健康度數(shù)據(jù)是根據(jù)歷史的呼叫控制響應(yīng)來計算得到的,例如根據(jù)返回的呼叫控制響應(yīng)正確的次數(shù)占返回的呼叫控制響應(yīng)的總次數(shù)的比例確定。
[0123]消息處理裝置發(fā)送健康度最高的虛擬機(jī)返回的呼叫控制響應(yīng),根據(jù)呼叫控制響應(yīng)中的CAP協(xié)議的TCAP層的會話標(biāo)識來區(qū)分重復(fù)的呼叫控制響應(yīng)并丟棄,從而完成呼叫控制過程。
[0124]步驟505、根據(jù)接收到的呼叫控制響應(yīng)更新對應(yīng)的主機(jī)和備份機(jī)的健康度。
[0125]本發(fā)明實施例在向外發(fā)送呼叫控制響應(yīng)后,對所有主機(jī)和備份機(jī)本次返回的呼叫控制響應(yīng)進(jìn)行正確性判斷,即統(tǒng)計所有的呼叫控制響應(yīng)中不同的呼叫控制結(jié)果重復(fù)出現(xiàn)的次數(shù),將重復(fù)出現(xiàn)的次數(shù)最大的響應(yīng)結(jié)果對應(yīng)的呼叫控制響應(yīng)確定為正確的呼叫控制響應(yīng)(若所有的呼叫控制響應(yīng)中的呼叫控制結(jié)果均不相同,則可以將所有的呼叫控制響應(yīng)均確定為錯誤的呼叫控制響應(yīng)),而將其他的響應(yīng)結(jié)果對應(yīng)的呼叫控制響應(yīng)確定為錯誤的呼叫控制響應(yīng),進(jìn)而更新呼叫控制響應(yīng)對應(yīng)的主機(jī)和備份機(jī)的健康度,以便于在發(fā)送呼叫控制響應(yīng)時確定健康度最高的虛擬機(jī)。
[0126]此外,若主機(jī)或備份機(jī)未返回呼叫控制響應(yīng),則可以確定該虛擬機(jī)返回錯誤的呼叫fe制響應(yīng),更新該虛擬機(jī)的健康度。
[0127]步驟506、重建健康度低于閾值的主機(jī)或備份機(jī)。
[0128]在本實施例中,若主機(jī)或備份機(jī)的健康度低于閾值(例如95% ),則確定該虛擬機(jī)出現(xiàn)異常,重建該虛擬機(jī)。例如,根據(jù)預(yù)先定義的規(guī)則重建該虛擬機(jī)或根據(jù)健康度最高的虛擬機(jī)重建健康度低于閾值的主機(jī)或備份機(jī)。
[0129]在本發(fā)明實施例中,通過部署多個主機(jī)和備份機(jī),主機(jī)和備份機(jī)同時執(zhí)行呼叫請求,雙機(jī)備份來提高了呼叫控制過程的穩(wěn)定性。此外,由于云環(huán)境下的單個應(yīng)用程序配置可以很低,本發(fā)明實施例可以通過低成本虛擬機(jī)的規(guī)模化降低電信硬件的成本。
[0130]參見圖6,圖6是本發(fā)明實施例五提供的消息處理裝置的結(jié)構(gòu)示意圖。
[0131]如圖所示,本發(fā)明實施例提供的消息處理裝置主要包括:
[0132]輸入請求處理單元610,用于接收輸入請求消息,發(fā)送所述請求消息到部署在所述云計算平臺上的主機(jī)和備份機(jī),所述主機(jī)和備份機(jī)上運行相同的應(yīng)用程序,所述主機(jī)和備份機(jī)用于實現(xiàn)雙機(jī)備份;
[0133]輸入響應(yīng)處理單元620,用于接收所述主機(jī)和備份機(jī)返回的多個輸入響應(yīng)消息,向外發(fā)送其中一個輸入響應(yīng)消息。
[0134]在本發(fā)明實施例提供的消息處理裝置中,輸入響應(yīng)處理單元620接收主機(jī)和備份機(jī)返回的多個輸入響應(yīng)消息,向外發(fā)送其中一個輸入響應(yīng)消息具體可以包括:
[0135]輸入響應(yīng)處理單元620接收所述主機(jī)和備份機(jī)返回的多個輸入響應(yīng)消息,向外發(fā)送最先到達(dá)的響應(yīng)消息;或者
[0136]輸入響應(yīng)處理單元620接收所述主機(jī)和備份機(jī)返回的多個輸入響應(yīng)消息,所述輸入響應(yīng)消息中攜帶響應(yīng)結(jié)果,確定重復(fù)次數(shù)最多的響應(yīng)結(jié)果對應(yīng)的第一類輸入響應(yīng)消息,向外發(fā)送所述第一類輸入響應(yīng)消息中的一個輸入響應(yīng)消息;或者
[0137]輸入響應(yīng)處理單元620接收所述主機(jī)和備份機(jī)返回的多個輸入響應(yīng)消息,所述輸入響應(yīng)消息中攜帶響應(yīng)結(jié)果,在所述多個輸入響應(yīng)消息的響應(yīng)結(jié)果均不相同時,選擇預(yù)先定義的主機(jī)或備份機(jī)的輸入響應(yīng)消息向外發(fā)送;或者
[0138]輸入響應(yīng)處理單元620接收所述主機(jī)和備份機(jī)返回的多個輸入響應(yīng)消息,發(fā)送主機(jī)和備份機(jī)中健康度最高的虛擬機(jī)返回的輸入響應(yīng)消息。
[0139]其中,輸入響應(yīng)處理單元620的具體處理過程參見上述的實施例一中的步驟102的相關(guān)描述,在此不再贅述。
[0140]進(jìn)一步參見圖6,本發(fā)明實施例提供的消息處理裝置還包括:
[0141]虛擬機(jī)重建單元630,用于在所述多個輸入響應(yīng)消息的響應(yīng)結(jié)果出現(xiàn)異常時,重建所述主機(jī)和備份機(jī),或者在所述主機(jī)或備份機(jī)的健康度低于閾值時,重建所述健康度低于閾值的主機(jī)或備份機(jī)。其中,出現(xiàn)異常的情況包括:多個輸入響應(yīng)消息的響應(yīng)結(jié)果均不相同或多個輸入響應(yīng)消息中只存在部分響應(yīng)結(jié)果不同的響應(yīng)消息,即另一部分輸入響應(yīng)消息的響應(yīng)結(jié)果相同,虛擬機(jī)重建單元630重建虛擬機(jī)的具體過程參見上述實施例一中的步驟103的描述,在此不再贅述。
[0142]健康度更新單元640,用于根據(jù)接收到的輸入響應(yīng)消息更新所述主機(jī)和備份機(jī)的健康度,所述主機(jī)和備份機(jī)的健康度根據(jù)各自發(fā)送的攜帶正確的響應(yīng)結(jié)果的輸入響應(yīng)消息的數(shù)量計算得到。其中,健康度更新單元640具體可以根據(jù)虛擬機(jī)發(fā)送的輸入響應(yīng)消息的總量和攜帶正確的響應(yīng)結(jié)果的輸入響應(yīng)消息來計算得到。
[0143]輸出請求處理單元650,用于接收主機(jī)和備份機(jī)發(fā)送的多個輸出請求消息,向外發(fā)送其中一個輸出請求消息;輸出響應(yīng)處理單兀660,用于接收輸出響應(yīng)消息,向所述主機(jī)和備份機(jī)發(fā)送所述輸出響應(yīng)消息。其中,輸出請求處理單元650和輸出響應(yīng)處理單元660的對輸出請求消息和輸出響應(yīng)消息的具體處理過程參見上述實施例二中步驟201-202的相關(guān)描述,在此不再贅述。
[0144]存儲請求處理單元670,用于接收主機(jī)和備份機(jī)發(fā)送的多個存儲訪問請求,向所述主機(jī)和備份機(jī)共享的I層存儲設(shè)備發(fā)送其中一個存儲訪問請求;存儲響應(yīng)處理單元680,用于接收所述I層存儲設(shè)備返回的存儲訪問響應(yīng),向所述主機(jī)和備份機(jī)發(fā)送所述存儲訪問響應(yīng)。其中,存儲響應(yīng)處理單元680向主機(jī)和備份機(jī)共享的I層存儲設(shè)備發(fā)送其中一個存儲訪問請求包括:存儲響應(yīng)處理單元680向所述主機(jī)和備份機(jī)共享的I層存儲設(shè)備發(fā)送最先到達(dá)的存儲訪問請求。
[0145]在本發(fā)明實施例中,存儲請求處理單元670和存儲響應(yīng)處理單元680對存儲訪問請求和存儲訪問響應(yīng)的具體處理過程參見上述實施例二中步驟203-204的相關(guān)描述,在此不再贅述。與現(xiàn)有技術(shù)相比,本發(fā)明實施例中的消息處理裝置可以使得主機(jī)和備份機(jī)可以共享I層存儲設(shè)備,降低了雙機(jī)備份場景下的存儲資源的冗余。
[0146]參見圖7,圖7是本發(fā)明實施例六提供的消息處理裝置的結(jié)構(gòu)示意圖。
[0147]如圖所示,本發(fā)明實施例提供的消息處理裝置主要包括:
[0148]處理器710、存儲器720和總線730,所述存儲器720用于存儲計算機(jī)執(zhí)行指令,所述處理器710與所述存儲器720通過所述總線730連接,當(dāng)所述裝置運行時,所述處理器710執(zhí)行所述計算機(jī)執(zhí)行指令,以使所述裝置執(zhí)行如下方法:
[0149]接收輸入請求消息,發(fā)送所述請求消息到部署在所述云計算平臺上的主機(jī)和備份機(jī),所述主機(jī)和備份機(jī)上運行相同的應(yīng)用程序;
[0150]接收所述主機(jī)和備份機(jī)返回的多個輸入響應(yīng)消息,向外發(fā)送其中一個輸入響應(yīng)消肩、O
[0151]本發(fā)明實施例六提供的消息處理裝置執(zhí)行上述方法的具體過程和前述對應(yīng)的消息處理方法實施例一、實施例二、實施例三和實施例四中的執(zhí)行過程相同,具有相同的有益效果,詳情參見上述實施例,在此不再贅述。
[0152]參見圖8,圖8是本發(fā)明實施例七提供的消息處理系統(tǒng)的結(jié)構(gòu)示意圖。
[0153]如圖所示,本發(fā)明實施例提供的消息處理系統(tǒng)主要包括:主機(jī)810、備份機(jī)820,以及消息處理裝置830。其中,消息處理裝置830的具體結(jié)構(gòu)和功能與上述實施例五、六提供的消息處理裝置相同,詳情參見上述實施例,在此不再贅述。本發(fā)明實施例提供的消息處理系統(tǒng)將輸入請求消息發(fā)送到所有的主機(jī)和備份機(jī)執(zhí)行,主機(jī)和備份機(jī)執(zhí)行同樣的輸入請求消息,因而主機(jī)和備份機(jī)之間不需要進(jìn)行數(shù)據(jù)同步和狀態(tài)同步,從而提高了雙機(jī)備份的穩(wěn)定性,進(jìn)一步提高了雙機(jī)切換速度。
[0154]本領(lǐng)域普通技術(shù)人員將會理解,本發(fā)明的各個方面、或各個方面的可能實現(xiàn)方式可以被具體實施為系統(tǒng)、方法或者計算機(jī)程序產(chǎn)品。因此,本發(fā)明的各方面、或各個方面的可能實現(xiàn)方式可以采用完全硬件實施例、完全軟件實施例(包括固件、駐留軟件等等),或者組合軟件和硬件方面的實施例的形式,在這里都統(tǒng)稱為“電路”、“模塊”或者“系