專利名稱:實現(xiàn)對業(yè)務(wù)提供商分類服務(wù)的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體技術(shù)領(lǐng)域,具體涉及一種實現(xiàn)對業(yè)務(wù)提供商分類服務(wù)的方法及裝置。
背景技術(shù):
目前,MMS(多媒體消息業(yè)務(wù))已經(jīng)被業(yè)界公認(rèn)為GPRS(通用分組無線業(yè)務(wù))和3G市場啟動與發(fā)展的關(guān)鍵推動力,它將非常有力地推動移動通信業(yè)務(wù)的發(fā)展。MMS是SMS(短信息業(yè)務(wù))和EMS(增強型消息業(yè)務(wù))的進(jìn)一步發(fā)展,為個人多媒體移動通信服務(wù)提供了完整的端到端解決方案。從通信內(nèi)容上講,多媒體消息包括圖像、音頻、視頻和數(shù)據(jù)等;從功能上講,多媒體消息業(yè)務(wù)涵蓋了終端到終端、終端到應(yīng)用(主要指增值業(yè)務(wù)提供商)、應(yīng)用到終端的多媒體消息通信。它不僅實現(xiàn)了終端之間、終端和應(yīng)用之間的信息傳遞,還實現(xiàn)了內(nèi)容的多樣性,包括圖片、語音、圖像、數(shù)據(jù)和文本的各種組合。作為一個開放的媒體接入平臺,MMS可以在移動用戶和互聯(lián)網(wǎng)內(nèi)容提供商的互動下,衍生出更豐富多彩的內(nèi)容服務(wù)應(yīng)用。而用戶既是MMS的消費者,又是內(nèi)容開發(fā)者,這無疑會提高終端用戶對業(yè)務(wù)的使用興趣。
多媒體消息體系結(jié)構(gòu)要素如圖1所示在多媒體消息系統(tǒng)中可以包含許多不同的網(wǎng)絡(luò)類型,其中,與多媒體消息業(yè)務(wù)相關(guān)的各種網(wǎng)絡(luò)要素有移動網(wǎng)絡(luò)(2G、3G)、Internet(因特網(wǎng))、MMS(多媒體消息業(yè)務(wù))用戶代理、增值業(yè)務(wù)提供商、外部服務(wù)器(比如郵件、傳真)等。其中,MMS中繼/服務(wù)器即通常所說的MMSC(多媒體消息業(yè)務(wù)中心),它主要提供以下功能發(fā)送和接收多媒體消息、支持與外部服務(wù)器的互通、對MMS用戶代理的多媒體消息通知、生成遞送報告、地址變換、存儲消息、對消息的路由轉(zhuǎn)發(fā)、生成話單、終端能力協(xié)商等。其中,MMSC與用戶代理之間的交互以及MMSC與增值業(yè)務(wù)提供商之間的交互是最基本的服務(wù)。
在多媒體消息業(yè)務(wù)中,業(yè)務(wù)提供商由于多媒體元素編輯能力強、來源廣的緣故,業(yè)務(wù)提供商在多媒體消息業(yè)務(wù)的開展中起著重要的作用,因此,MMSC與業(yè)務(wù)提供商的交互在整個多媒體消息業(yè)務(wù)中占據(jù)著非常重要的位置。
MMSC與終端及業(yè)務(wù)提供商的交互過程如圖2所示MMSC與業(yè)務(wù)提供商之間可以通過Internet(因特網(wǎng))直接交互,該接口稱為MM7接口。MMSC與業(yè)務(wù)提供商的交互是雙向的,包括MMSC給業(yè)務(wù)提供商發(fā)送消息和業(yè)務(wù)提供商給MMSC發(fā)送消息兩種情況。MMSC給業(yè)務(wù)提供商發(fā)送的消息目前包括以下三種情況(1)終端用戶給業(yè)務(wù)提供商提交的消息;(2)終端用戶接收成功后(也可能是用戶拒絕了消息、或者消息過期后用戶仍未成功提取消息)給業(yè)務(wù)提供商發(fā)送的遞送報告消息;(3)終端用戶閱讀消息后MMSC給業(yè)務(wù)提供商發(fā)送的閱讀報告消息。
MMSC與終端之間通過WAP(無線應(yīng)用協(xié)議)網(wǎng)關(guān)交互,該接口稱為MM1接口。
在現(xiàn)有MMSC系統(tǒng)中,MMSC給業(yè)務(wù)提供商發(fā)送消息時,一般都是將所有發(fā)送給各業(yè)務(wù)提供商的消息都存放在同一個消息隊列中,然后通過多個處理線程從同一隊列中獲取消息,逐一發(fā)送給各業(yè)務(wù)提供商。
現(xiàn)有的MMSC與業(yè)務(wù)提供商的接口通常采用SOAP(簡單對象訪問協(xié)議)協(xié)議,承載協(xié)議為HTTP(超文本傳輸協(xié)議)。消息處理流程可以簡單描述為圖3所示在多媒體消息業(yè)務(wù)中心,由兩個線程處理線程X和處理線程Y向SP(業(yè)務(wù)提供商)發(fā)送消息。發(fā)送給所有SP的消息都放入同一個消息隊列,處理線程X從消息隊列中獲取發(fā)送給SP A的消息,并將該消息發(fā)送給SP A,處理線程X獲得SP A的響應(yīng)消息后,處理線程Y從消息隊列中獲取發(fā)送給SP B的消息,并將該消息發(fā)送給SP B,等待SP B的響應(yīng)消息。
HTTP協(xié)議的一個特點就是請求和響應(yīng)是同步的。由于處理線程發(fā)送消息給業(yè)務(wù)提供商并獲取業(yè)務(wù)提供商的響應(yīng)是一個同步的過程,這樣帶來的一個結(jié)果就是MMSC一個處理線程給業(yè)務(wù)提供商發(fā)送請求消息后,如果該業(yè)務(wù)提供商響應(yīng)慢,則該處理線程會處于等待該業(yè)務(wù)提供商響應(yīng)的狀態(tài),無法處理隊列中的其他消息,直到收到該業(yè)務(wù)提供商的響應(yīng)消息。這種情況下,隊列中再有新增消息時,由于這些線程都處于等待響應(yīng)的狀態(tài),隊列中的消息無法得到及時處理;即使隊列中的新增消息都是發(fā)送給其他響應(yīng)快的業(yè)務(wù)提供商的,這些消息也不會被及時處理,導(dǎo)致隊列中消息積壓,甚至出現(xiàn)由于隊列長度限制而丟棄消息的情況。也就是說在現(xiàn)有技術(shù)的處理下,一個業(yè)務(wù)提供商響應(yīng)慢了,會影響其他正常處理MMSC請求的業(yè)務(wù)提供商,這樣就會給彩信的用戶(包括終端用戶和業(yè)務(wù)提供商)帶來以下的負(fù)面影響用戶給業(yè)務(wù)提供商提交的上行消息的服務(wù)質(zhì)量無法得到保證,影響終端用戶的體驗;業(yè)務(wù)提供商無法收到遞送報告或者閱讀報告,導(dǎo)致業(yè)務(wù)提供商無法及時得到業(yè)務(wù)的運行情況。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種實現(xiàn)對業(yè)務(wù)提供商分類服務(wù)的方法,以克服現(xiàn)有技術(shù)中對發(fā)送給所有業(yè)務(wù)提供商的請求消息采用同一隊列進(jìn)行調(diào)度的方式會因為部分業(yè)務(wù)提供商的響應(yīng)緩慢而影響其他業(yè)務(wù)提供商的缺點,保證用戶給業(yè)務(wù)提供商提交的上行消息的服務(wù)質(zhì)量,并使業(yè)務(wù)提供商能夠及時得到業(yè)務(wù)的運行情況。
本發(fā)明的另一個目的是提供一種實現(xiàn)對業(yè)務(wù)提供商分類服務(wù)的裝置,以使多媒體消息業(yè)務(wù)中心提高上行消息發(fā)送的成功率,并使業(yè)務(wù)提供商可以對業(yè)務(wù)的運行情況進(jìn)行更精確的統(tǒng)計分析。
為此,本發(fā)明提供如下的技術(shù)方案一種實現(xiàn)對業(yè)務(wù)提供商分類服務(wù)的方法,所述方法包括對業(yè)務(wù)提供商進(jìn)行分類,并為各類別設(shè)置對應(yīng)的優(yōu)先級;為每類業(yè)務(wù)提供商的級別分配一個消息隊列及一個或多個處理線程;當(dāng)收到用戶發(fā)送給業(yè)務(wù)提供商的消息或者系統(tǒng)需要給業(yè)務(wù)提供商發(fā)送報告消息時,將該消息放入該業(yè)務(wù)提供商所屬級別對應(yīng)的消息隊列中;由對應(yīng)各消息隊列的處理線程完成該消息隊列中各消息的發(fā)送。
優(yōu)選地,根據(jù)各業(yè)務(wù)提供商的響應(yīng)時延實時調(diào)整該業(yè)務(wù)提供商的級別。
所述根據(jù)各業(yè)務(wù)提供商的響應(yīng)時延實時調(diào)整該業(yè)務(wù)提供商的級別的步驟包括設(shè)置對應(yīng)各業(yè)務(wù)提供商級別的響應(yīng)時延區(qū)間;所述處理線程收到業(yè)務(wù)提供商的響應(yīng)消息后,計算該業(yè)務(wù)提供商的響應(yīng)時延;將該業(yè)務(wù)提供商的級別調(diào)整為其響應(yīng)時延歸屬的響應(yīng)時延區(qū)間對應(yīng)的級別。
優(yōu)選地,相鄰級別對應(yīng)的響應(yīng)時延區(qū)間部分交叉。
可選地,根據(jù)業(yè)務(wù)提供商的業(yè)務(wù)量和/或設(shè)備處理速度對業(yè)務(wù)提供商進(jìn)行分類。
可選地,為不同類別的業(yè)務(wù)提供商設(shè)置不同或相同的初始優(yōu)先級。
優(yōu)選地,為優(yōu)先級高的業(yè)務(wù)提供商類別分配較優(yōu)先級低的業(yè)務(wù)提供商類別多的處理線程。
一種實現(xiàn)對業(yè)務(wù)提供商分類服務(wù)的裝置,包括消息接收單元、消息發(fā)送單元,其特征在于,還包括初始設(shè)置單元,對業(yè)務(wù)提供商進(jìn)行分類,并為各類別配置不同的優(yōu)先級;
隊列管理器,用于根據(jù)各類業(yè)務(wù)提供商優(yōu)先等級為每類業(yè)務(wù)提供商的級別分配一個消息隊列,并建立各業(yè)務(wù)提供商與消息隊列的對應(yīng)關(guān)系;線程管理器,用于根據(jù)各類業(yè)務(wù)提供商優(yōu)先等級為每類業(yè)務(wù)提供商的級別分配相應(yīng)的處理線程;消息分發(fā)單元,分別與所述消息接收單元及所述隊列管理器相連,用于將所述消息接收單元收到的用戶發(fā)送給業(yè)務(wù)提供商的消息放入該業(yè)務(wù)提供商所屬級別對應(yīng)的消息隊列中;消息處理單元,分別與所述線程管理器及所述消息發(fā)送單元相連,用于調(diào)用對應(yīng)各消息隊列的處理線程完成對該消息隊列中各消息的處理,并將處理后的消息傳送給消息發(fā)送單元發(fā)送給對應(yīng)的業(yè)務(wù)提供商。
所述裝置還包括優(yōu)先級調(diào)整單元,分別與所述隊列管理器和所述線程管理器相連,用于根據(jù)各業(yè)務(wù)提供商的響應(yīng)時延實時調(diào)整該業(yè)務(wù)提供商的級別。
所述優(yōu)先級調(diào)整單元包括時延區(qū)間設(shè)置子單元,用于設(shè)置對應(yīng)各業(yè)務(wù)提供商級別的響應(yīng)時延區(qū)間;響應(yīng)時延計算子單元,用于根據(jù)各處理線程發(fā)送業(yè)務(wù)提供商請求消息及收到業(yè)務(wù)提供商的響應(yīng)消息的時間,計算該業(yè)務(wù)提供商的響應(yīng)時延;調(diào)整通知子單元,用于比較所述響應(yīng)時延計算子單元計算得到的業(yè)務(wù)提供商的響應(yīng)時延及所述時延區(qū)間設(shè)置子單元設(shè)置的該業(yè)務(wù)提供商的響應(yīng)時延區(qū)間,并在這兩者不同時通知所述隊列管理器修改該業(yè)務(wù)提供商的級別為其響應(yīng)時延歸屬的響應(yīng)時延區(qū)間對應(yīng)的級別。
由以上本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明使多媒體消息業(yè)務(wù)中心在初始運行時,根據(jù)業(yè)務(wù)提供商的技術(shù)水平、業(yè)務(wù)量大小等條件給每個業(yè)務(wù)提供商配置不同的優(yōu)先級,并按照設(shè)定的業(yè)務(wù)提供商級別,為每個級別的業(yè)務(wù)提供商分別設(shè)置一個消息隊列,從而建立起業(yè)務(wù)提供商級別和消息隊列的對應(yīng)關(guān)系;并為每個級別的業(yè)務(wù)提供商設(shè)置一個或多個線程來處理發(fā)送給該級別的業(yè)務(wù)提供商的消息,優(yōu)先級高的消息隊列,擁有更多的處理線程,從而保證了多媒體消息業(yè)務(wù)中心給業(yè)務(wù)提供商發(fā)送請求消息時,能夠優(yōu)先將消息發(fā)送給優(yōu)先級高的業(yè)務(wù)提供商。
在系統(tǒng)運行中,根據(jù)業(yè)務(wù)提供商的響應(yīng)時延,動態(tài)調(diào)整該業(yè)務(wù)提供商的級別。這樣,由于網(wǎng)絡(luò)故障或其他原因,如果某個業(yè)務(wù)提供商響應(yīng)變慢后,系統(tǒng)可以及時調(diào)整業(yè)務(wù)提供商的級別,將對該業(yè)務(wù)提供商的請求消息放入其他消息隊列中,避免了對其他響應(yīng)較快的業(yè)務(wù)提供商的影響;而響應(yīng)較慢的業(yè)務(wù)提供商在響應(yīng)變快后,也會被及時調(diào)整其服務(wù)級別,得到系統(tǒng)的優(yōu)先處理。這樣,可以使多媒體消息業(yè)務(wù)中心給業(yè)務(wù)提供商發(fā)送請求消息時,不會因為部分業(yè)務(wù)提供商的響應(yīng)緩慢而影響其他業(yè)務(wù)提供商,從而有效地提高了上行消息的發(fā)送效率及成功率,給終端用戶帶來了更好的體驗;提高了遞送報告、閱讀報告的發(fā)送效率及成功率,使業(yè)務(wù)提供商可以對業(yè)務(wù)運行情況進(jìn)行更精確的統(tǒng)計分析。
圖1是多媒體消息體系結(jié)構(gòu)要素示意圖;圖2是MMSC與終端及業(yè)務(wù)提供商的交互過程示意圖;圖3是現(xiàn)有技術(shù)中MMSC向業(yè)務(wù)提供商發(fā)送消息的處理流程;圖4是本發(fā)明方法的實現(xiàn)流程圖;圖5是本發(fā)明中各消息隊列的消息處理流程;圖6是本發(fā)明中對業(yè)務(wù)提供商優(yōu)先級動態(tài)調(diào)整的消息處理流程;圖7是本發(fā)明中各處理線程處理的終端給業(yè)務(wù)提供商提交消息的流程;圖8是本發(fā)明中各處理線程業(yè)務(wù)提供商向終端下發(fā)消息的流程;圖9是本發(fā)明裝置第一實施例的原理框圖;
圖10是本發(fā)明裝置第二實施例的原理框圖。
具體實施例方式
本發(fā)明的核心在于在初始運行時,根據(jù)業(yè)務(wù)提供商的技術(shù)水平、業(yè)務(wù)量大小等條件給每個業(yè)務(wù)提供商配置不同的優(yōu)先級(也可以在初始化時對不同的業(yè)務(wù)提供商配置相同的優(yōu)先級),并按照設(shè)定的業(yè)務(wù)提供商級別,為每個級別的業(yè)務(wù)提供商分別設(shè)置一個消息隊列,并為每個級別的業(yè)務(wù)提供商設(shè)置一個或多個線程來處理發(fā)送給該級別的業(yè)務(wù)提供商的消息,為優(yōu)先級高的消息隊列設(shè)置較多的處理線程。對應(yīng)不同級別消息隊列的處理線程分別將獲取的消息通過HTTP協(xié)議發(fā)送到相應(yīng)的業(yè)務(wù)提供商,并從業(yè)務(wù)提供商處獲取響應(yīng)消息。由于各個級別的業(yè)務(wù)提供商的處理線程個數(shù)不同,從而使級別高的業(yè)務(wù)提供商的消息得到多媒體消息業(yè)務(wù)中心的優(yōu)先處理。在系統(tǒng)運行中,根據(jù)業(yè)務(wù)提供商的響應(yīng)時延,動態(tài)調(diào)整該業(yè)務(wù)提供商的級別。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和實施方式對本發(fā)明作進(jìn)一步的詳細(xì)說明。
參照圖4,圖4示出了本發(fā)明方法的實現(xiàn)流程,包括以下步驟步驟401對業(yè)務(wù)提供商進(jìn)行分類,并為各類別配置對應(yīng)的優(yōu)先級。
系統(tǒng)初始運行時,運營商可以根據(jù)業(yè)務(wù)提供商的技術(shù)水平(比如設(shè)備處理速度、硬件配置等)、業(yè)務(wù)量大小等條件對業(yè)務(wù)提供商進(jìn)行分類,為每類業(yè)務(wù)提供商配置不同的優(yōu)先級,業(yè)務(wù)量大、技術(shù)水平高的業(yè)務(wù)提供商配置較高的初始優(yōu)先級,也可以給所有業(yè)務(wù)提供商配置同樣的初始優(yōu)先級。
步驟402為每類業(yè)務(wù)提供商的級別分配一個消息隊列及一個或多個處理線程。
初始化多個處理線程時,需要為每個線程設(shè)置對應(yīng)的業(yè)務(wù)提供商級別。這樣,使每個業(yè)務(wù)提供商級別對應(yīng)一個消息隊列及一個或多個處理線程,從而建立起了業(yè)務(wù)提供商級別與消息隊列及處理線程的對應(yīng)關(guān)系。每個業(yè)務(wù)提供商級別包含一個或多個業(yè)務(wù)提供商。當(dāng)系統(tǒng)收到終端發(fā)送給該級別的業(yè)務(wù)提供商的消息后,將其依次存放到對應(yīng)該級別的消息隊列中,也就是說,在該級別的消息隊列中包含了該級別的所有業(yè)務(wù)提供商的消息,然后由對應(yīng)該級別的一個或多個處理線程負(fù)責(zé)完成這些消息的發(fā)送。
為了保證多媒體消息業(yè)務(wù)中心給業(yè)務(wù)提供商發(fā)送請求時,能夠優(yōu)先將消息發(fā)送給優(yōu)先級高的業(yè)務(wù)提供商,可以為優(yōu)先級高的消息隊列,分配較多的處理線程。例如,優(yōu)先級為1的消息隊列對應(yīng)的處理線程個數(shù)為10,優(yōu)先級為2的消息隊列對應(yīng)的處理線程個數(shù)為8。在系統(tǒng)初始化時,如果給所有業(yè)務(wù)提供商配置了同樣的初始優(yōu)先級,則可以按照對業(yè)務(wù)提供商的分類來為其對應(yīng)的消息隊列分配所需的處理線程。
步驟403當(dāng)收到用戶發(fā)送給業(yè)務(wù)提供商的消息或者系統(tǒng)需要給業(yè)務(wù)提供商發(fā)送報告消息(比如,遞送報告、閱讀報告等消息)時,將該消息放入該業(yè)務(wù)提供商所屬級別對應(yīng)的消息隊列中。
步驟404由對應(yīng)各消息隊列的處理線程完成該消息隊列中各消息的發(fā)送。
也就是說,處理線程獲取發(fā)送給業(yè)務(wù)提供商的消息時,只從對應(yīng)的消息隊列中獲取需要處理的消息,比如處理線程X只從消息隊列X中獲取消息處理,處理線程Y只從消息隊列Y中獲取消息處理。
由上述流程可見,本發(fā)明通過對各業(yè)務(wù)提供商進(jìn)行等級劃分,并設(shè)置對應(yīng)各等級的消息隊列及處理線程,從而有效地實現(xiàn)了對業(yè)務(wù)提供商進(jìn)行分類服務(wù)。
圖5進(jìn)一步示出了本發(fā)明中各消息隊列的消息處理流程消息入口用于分發(fā)給SP(業(yè)務(wù)提供商)的請求消息,將請求按照SP的級別放入不同的消息隊列;隊列管理器用于管理SP級別與消息隊列的映射關(guān)系;消息隊列X、消息隊列Y分別為對應(yīng)于SP級別X、Y的消息隊列;處理線程組X、處理線程組Y分別用于處理消息隊列X、消息隊列Y中的消息,在實際的實現(xiàn)中,處理線程組X和處理線程組Y中的處理線程個數(shù)可以相同,也可以不同。SP A、SP B分別為接入多媒體消息業(yè)務(wù)中心的不同級別的SP。
消息入口在處理接收方為SP A的請求消息的時候,首先根據(jù)SP A的級別X從隊列管理器獲取對應(yīng)于SP A級別的消息隊列X,并將給SP A的請求消息放入隊列X中。同樣,在處理接收方為SP B的請求消息的時候,首先根據(jù)SPB的級別Y從隊列管理器獲取對應(yīng)于SP B級別的消息隊列Y,并將給SP B的請求消息放入隊列Y中。
處理線程X從消息隊列X中獲取到給SP A發(fā)送的請求消息,給SP A發(fā)送后,等待SP A的響應(yīng)消息。處理線程X收到SP A的響應(yīng)后,從消息隊列X中獲取發(fā)送給SP A的下一條請求消息。
處理線程Y從消息隊列Y中獲取到給SP B發(fā)送的請求消息,給SP B發(fā)送后,等待SP B的響應(yīng)消息。處理線程Y收到SP B的響應(yīng)后,從消息隊列Y中獲取發(fā)送給SP B的下一條請求消息。
處理線程X和處理線程Y是并行獨立運行的,也就是說,對應(yīng)于某個消息隊列的處理線程的運行不受對應(yīng)于其他消息隊列的處理線程的影響。這樣,很好地適應(yīng)了不同業(yè)務(wù)提供商的技術(shù)能力及業(yè)務(wù)量,保證了業(yè)務(wù)提供商的服務(wù)質(zhì)量。即使某個業(yè)務(wù)提供商設(shè)備故障,也只影響與其同級別的業(yè)務(wù)提供商的服務(wù)質(zhì)量,而不會影響對其他級別的業(yè)務(wù)提供商的消息發(fā)送。
在網(wǎng)絡(luò)運行過程中,由于網(wǎng)絡(luò)或設(shè)備故障,可能會導(dǎo)致某些業(yè)務(wù)提供商暫時不能提供服務(wù),而且在不同的時間段各業(yè)務(wù)提供商的業(yè)務(wù)量也會發(fā)生變化。這樣,也就使得每個業(yè)務(wù)提供商的級別會發(fā)生動態(tài)變化,比如,某個高優(yōu)先級的業(yè)務(wù)提供商在某個時刻由于設(shè)備故障不能提供業(yè)務(wù),為了不影響其他業(yè)務(wù)提供商,此時,就應(yīng)將其優(yōu)先級調(diào)整為最低;當(dāng)其設(shè)備故障排除后,其業(yè)務(wù)處理能力高于其他業(yè)務(wù)提供商,此時,就應(yīng)將業(yè)務(wù)提供商的優(yōu)先級提高到合適的等級。
因此,在本發(fā)明中,為了更好地適應(yīng)業(yè)務(wù)提供商運行狀態(tài)的變化,需要根據(jù)各業(yè)務(wù)提供商的響應(yīng)時延或者其他影響消息發(fā)送的因素實時調(diào)整該業(yè)務(wù)提供商的級別。在具體實現(xiàn)時,設(shè)置對應(yīng)各業(yè)務(wù)提供商級別的響應(yīng)時延區(qū)間,比如,優(yōu)先級1的時延區(qū)間為0到2秒,優(yōu)先級2的時延區(qū)間為2到4秒,依此類推,具體的值可以根據(jù)不同運營商的網(wǎng)絡(luò)狀況、SP發(fā)展水平等影響時延的外部條件設(shè)置。各處理線程收到業(yè)務(wù)提供商的響應(yīng)消息后,計算該業(yè)務(wù)提供商的響應(yīng)時延,然后將該業(yè)務(wù)提供商的級別調(diào)整為其響應(yīng)時延歸屬的響應(yīng)時延區(qū)間對應(yīng)的級別。
為了避免SP的級別被頻繁調(diào)整,不同級別的時延區(qū)間可以適當(dāng)交叉,比如,優(yōu)先級1的時延區(qū)間為0到3秒,優(yōu)先級2的時延區(qū)間為2到5秒等。
圖6進(jìn)一步示出了本發(fā)明中對業(yè)務(wù)提供商優(yōu)先級動態(tài)調(diào)整的消息處理流程消息入口用于分發(fā)給SP(業(yè)務(wù)提供商)的請求消息,將請求按照SP的級別放入不同的消息隊列;隊列管理器用于管理SP級別與消息隊列的映射關(guān)系;消息隊列X、消息隊列Y分別為對應(yīng)于SP級別X、Y的消息隊列;處理線程組X、處理線程組Y分別用于處理消息隊列X、消息隊列Y中的消息,在實際的實現(xiàn)中,處理線程組X和處理線程組Y中的處理線程個數(shù)可以相同,也可以不同。SP A為接入多媒體消息業(yè)務(wù)中心的一個SP。
消息入口在處理接收方為SP A的請求消息的時候,首先根據(jù)SP A的級別X從隊列管理器獲取對應(yīng)于SP A級別的消息隊列X,并將給SP A的請求消息放入隊列X中。
處理線程X從消息隊列X中獲取到給SPA發(fā)送的請求消息,給SP A發(fā)送后,等待SP A的響應(yīng)消息。處理線程X收到SP A的響應(yīng)后,計算SP A的響應(yīng)時延,并根據(jù)該響應(yīng)時延歸屬的區(qū)間,調(diào)整SP A的級別為Y。
調(diào)整SP A的級別后,消息入口再次處理接收方為SP A的請求消息的時候,就將該請求消息放入隊列Y。
消息放入隊列Y后,處理線程Y就從消息隊列Y中獲取到了給SP A的請求消息,處理完畢后,也同樣根據(jù)SP A的響應(yīng)時延重新調(diào)整SP A的級別。
圖6的各個處理線程只根據(jù)SP的不同級別進(jìn)行不同的處理,對各個處理線程而言,并不存在SP的差異,只存在SP級別差異。所以對于不同的SP而言,上面的流程圖處理流程并無差異。
利用本發(fā)明對終端用戶提交給業(yè)務(wù)提供商的消息處理流程如圖7所示1.終端用戶提交一條消息(MM1_submit.REQ)到MMSC,并由消息入口將該消息放入相應(yīng)的消息隊列;2.MMSC給用戶回送響應(yīng)消息(MM1_submit.RES)給終端;3.MMSC將終端用戶提交的消息經(jīng)過相應(yīng)的處理線程處理后發(fā)送給業(yè)務(wù)提供商(MM7_submit.REQ);4.該處理線程獲得業(yè)務(wù)提供商的響應(yīng)消息(MM7_submit.RES);5.如果用戶請求了遞送報告的話,MMSC在確認(rèn)業(yè)務(wù)提供商收到消息后給終端用戶發(fā)送遞送報告消息(MM1_delievery_report.REQ)。
利用本發(fā)明對MMSC系統(tǒng)提交給業(yè)務(wù)提供商的遞送報告和閱讀報告消息處理流程如圖8所示1.業(yè)務(wù)提供商提交多媒體消息(MM7_submit.REQ)到MMSC;2.MMSC收到業(yè)務(wù)提供商提交的消息后給其回送響應(yīng)消息(MM7_submit.RES)將該消息放入相應(yīng)的消息隊列,由與該隊列對應(yīng)的處理線程發(fā)送;3.MMSC對多媒體消息經(jīng)過存儲、路由查詢等處理后,向終端用戶發(fā)送多媒體消息通知消息(MM1_notification.REQ);4.用戶收到多媒體消息通知后,給MMSC發(fā)送一條通知響應(yīng)消息(MM1_notification.RES);5.用戶收到多媒體消息通知后,在消息有效期內(nèi)提取消息(MM1_retrieve.REQ);6.MMSC將多媒體消息內(nèi)容發(fā)送給終端用戶(MM1_retrieve.RES);7.終端用戶收到提取的多媒體消息后,給MMSC發(fā)送一條確認(rèn)消息(MM1_acknowledgement.REQ);8.MMSC在收到用戶的確認(rèn)消息后,向業(yè)務(wù)提供商發(fā)送遞送報告消息(MM7_delievery_report.REQ)將該消息放入相應(yīng)的消息隊列,由與該隊列對應(yīng)的處理線程發(fā)送;9.MMSC獲取業(yè)務(wù)提供商的響應(yīng)消息(MM7_delievery_report.RES)以確認(rèn)業(yè)務(wù)提供商成功接收了遞送報告消息;10.在終端用戶閱讀了多媒體消息后,終端向MMSC發(fā)送一條閱讀報告的消息(MM1_read_reply_recipeint.REQ);11.MMSC將此消息轉(zhuǎn)發(fā)給業(yè)務(wù)提供商(MM7_read_reply.REQ)將該消息放入相應(yīng)的消息隊列,由與該隊列對應(yīng)的處理線程發(fā)送;12.MMSC獲取業(yè)務(wù)提供商的響應(yīng)消息以確認(rèn)業(yè)務(wù)提供商成功接收閱讀報告消息(MM7_read_reply.RES)。
從圖7、圖8所示流程可以看出,MMSC發(fā)送給業(yè)務(wù)提供商的請求消息包括MM7_deliver.REQ、MM7_delivery_report.REQ、MM7_read_reply.REQ消息。其中,MM7_deliver.REQ消息是終端用戶向SP發(fā)送用于點播、定購等用途的請求消息;MM7_delivery_report.REQ和MM7_read_reply.REQ分別是終端用戶接收成功后、終端用戶閱讀消息后,MMSC向業(yè)務(wù)提供商發(fā)送的請求消息,這個消息會被業(yè)務(wù)提供商用來進(jìn)行相關(guān)的統(tǒng)計。
利用本發(fā)明,可以將用戶向業(yè)務(wù)提供商發(fā)送的各種請求消息快速、有效地分發(fā)給相應(yīng)的業(yè)務(wù)提供商,大大提高了發(fā)送效率,并且不會使響應(yīng)較快的業(yè)務(wù)提供商受到響應(yīng)慢的業(yè)務(wù)提供商的影響,而響應(yīng)較慢的業(yè)務(wù)提供商在響應(yīng)變快后,也會被及時調(diào)整其服務(wù)級別,得到MMSC的優(yōu)先處理。
參照圖9,圖9是本發(fā)明裝置的第一實施例原理框圖該裝置包括接收單元S1、發(fā)送單元S2、初始設(shè)置單元S0、隊列管理器S3、線程管理器S4、消息分發(fā)單元S5和消息處理單元S6。
其中,消息接收單元S1用于接收用戶發(fā)送給業(yè)務(wù)提供商的所有消息;消息發(fā)送單元S2用于發(fā)送給業(yè)務(wù)提供商的所有消息。
初始設(shè)置單元S0用于對業(yè)務(wù)提供商進(jìn)行分類,并為各類別配置不同的優(yōu)先級;隊列管理器S3用于根據(jù)各類業(yè)務(wù)提供商優(yōu)先等級為每類業(yè)務(wù)提供商的級別分配一個消息隊列,并建立各業(yè)務(wù)提供商與消息隊列的對應(yīng)關(guān)系;線程管理器S4用于根據(jù)各類業(yè)務(wù)提供商優(yōu)先等級為每類業(yè)務(wù)提供商的級別分配相應(yīng)的處理線程;消息分發(fā)單元S5分別與消息接收單元S1及隊列管理器S3相連,用于將消息接收單元S1收到的用戶發(fā)送給業(yè)務(wù)提供商的消息放入該業(yè)務(wù)提供商所屬級別對應(yīng)的消息隊列中;消息處理單元S6分別與線程管理器S4及消息發(fā)送單元S2相連,用于調(diào)用對應(yīng)各消息隊列的處理線程完成對該消息隊列中各消息的處理,并將處理后的消息傳送給消息發(fā)送單元發(fā)送給對應(yīng)的業(yè)務(wù)提供商。
當(dāng)接收單元收到用戶發(fā)送給業(yè)務(wù)提供商的消息(包括終端用戶向業(yè)務(wù)提供商發(fā)送用于點播、定購等用途的請求消息,以及終端用戶接收成功后(也可能是用戶拒絕了消息、或者消息過期后用戶仍未成功提取消息)或終端用戶閱讀消息后MMSC向業(yè)務(wù)提供商發(fā)送的請求消息)后,由消息分發(fā)單元將該消息放入對應(yīng)該業(yè)務(wù)提供商級別的消息隊列中。消息處理單元調(diào)用線程分配器中為該消息隊列分配的處理線程,將該消息隊列中的消息依次取出進(jìn)行處理,并將處理后的消息傳送給消息發(fā)送單元,由消息發(fā)送單元發(fā)送給對應(yīng)的業(yè)務(wù)提供商。
為了使在網(wǎng)絡(luò)運行狀況及業(yè)務(wù)量的變化導(dǎo)致的個別業(yè)務(wù)提供商級別的變化不會影響其他業(yè)務(wù)提供商消息的發(fā)送和接收,還可以在圖9所示本發(fā)明裝置第一實施例中設(shè)置一個優(yōu)先級調(diào)整單元,以便于根據(jù)各業(yè)務(wù)提供商的響應(yīng)時延實時調(diào)整該業(yè)務(wù)提供商的級別。
參照圖10所示本發(fā)明裝置第二實施例原理框圖優(yōu)先級調(diào)整單元S7分別與隊列管理器S3和線程管理器S4相連,用于根據(jù)各業(yè)務(wù)提供商的響應(yīng)時延實時調(diào)整該業(yè)務(wù)提供商的級別。其包括時延區(qū)間設(shè)置子單元S71、響應(yīng)時延計算子單元S72、調(diào)整通知子單元S73。其中,時延區(qū)間設(shè)置子單元S71設(shè)置對應(yīng)各業(yè)務(wù)提供商級別的響應(yīng)時延區(qū)間,比如,設(shè)置優(yōu)先級1的時延區(qū)間為0到2秒,優(yōu)先級2的時延區(qū)間為2到4秒,依此類推,具體的值可以根據(jù)不同運營商的網(wǎng)絡(luò)狀況、SP發(fā)展水平等影響時延的外部條件設(shè)置。為了進(jìn)一步避免SP的級別被頻繁調(diào)整,不同級別的時延區(qū)間可以適當(dāng)交叉,比如,優(yōu)先級1的時延區(qū)間為0到3秒,優(yōu)先級2的時延區(qū)間為2到5秒等。
響應(yīng)時延計算子單元S72用于根據(jù)各處理線程發(fā)送業(yè)務(wù)提供商請求消息及收到業(yè)務(wù)提供商的響應(yīng)消息的時間,計算該業(yè)務(wù)提供商的響應(yīng)時延。
調(diào)整通知子單元S73用于比較響應(yīng)時延計算子單元計算得到的業(yè)務(wù)提供商的響應(yīng)時延及時延區(qū)間設(shè)置子單元設(shè)置的該業(yè)務(wù)提供商的響應(yīng)時延區(qū)間,并在這兩者不同時通知所述隊列管理器修改該業(yè)務(wù)提供商的級別為其響應(yīng)時延歸屬的響應(yīng)時延區(qū)間對應(yīng)的級別。
通過設(shè)置優(yōu)先級調(diào)整單元S7,可以更好地適應(yīng)各運營商網(wǎng)絡(luò)狀態(tài)的變化,比如,某個高優(yōu)先級的業(yè)務(wù)提供商在某個時刻由于設(shè)備故障不能提供業(yè)務(wù),為了不影響其他業(yè)務(wù)提供商,此時,通過優(yōu)先級調(diào)整單元S7就可將其優(yōu)先級調(diào)整為最低;當(dāng)其設(shè)備故障排除后,其業(yè)務(wù)處理能力高于其他業(yè)務(wù)提供商,此時,通過優(yōu)先級調(diào)整單元S7就可將該業(yè)務(wù)提供商的優(yōu)先級提高到合適的等級??梢赃M(jìn)一步提高發(fā)送效率,保證各業(yè)務(wù)提供商的服務(wù)質(zhì)量。
雖然通過實施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種實現(xiàn)對業(yè)務(wù)提供商分類服務(wù)的方法,其特征在于,所述方法包括對業(yè)務(wù)提供商進(jìn)行分類,并為各類別設(shè)置對應(yīng)的優(yōu)先級;為每類業(yè)務(wù)提供商的級別分配一個消息隊列及一個或多個處理線程;當(dāng)收到用戶發(fā)送給業(yè)務(wù)提供商的消息或者系統(tǒng)需要給業(yè)務(wù)提供商發(fā)送報告消息時,將該消息放入該業(yè)務(wù)提供商所屬級別對應(yīng)的消息隊列中;由對應(yīng)各消息隊列的處理線程完成該消息隊列中各消息的發(fā)送。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括根據(jù)各業(yè)務(wù)提供商的響應(yīng)時延實時調(diào)整該業(yè)務(wù)提供商的級別。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)各業(yè)務(wù)提供商的響應(yīng)時延實時調(diào)整該業(yè)務(wù)提供商的級別的步驟包括設(shè)置對應(yīng)各業(yè)務(wù)提供商級別的響應(yīng)時延區(qū)間;所述處理線程收到業(yè)務(wù)提供商的響應(yīng)消息后,計算該業(yè)務(wù)提供商的響應(yīng)時延;將該業(yè)務(wù)提供商的級別調(diào)整為其響應(yīng)時延歸屬的響應(yīng)時延區(qū)間對應(yīng)的級別。
4.根據(jù)權(quán)利要求3述的方法,其特征在于,相鄰級別對應(yīng)的響應(yīng)時延區(qū)間部分交叉。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)業(yè)務(wù)提供商的業(yè)務(wù)量和/或設(shè)備處理速度對業(yè)務(wù)提供商進(jìn)行分類。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,為不同類別的業(yè)務(wù)提供商設(shè)置不同或相同的初始優(yōu)先級。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,為優(yōu)先級高的業(yè)務(wù)提供商類別分配較優(yōu)先級低的業(yè)務(wù)提供商類別多的處理線程。
8.一種實現(xiàn)對業(yè)務(wù)提供商分類服務(wù)的裝置,包括消息接收單元、消息發(fā)送單元,其特征在于,還包括初始設(shè)置單元,對業(yè)務(wù)提供商進(jìn)行分類,并為各類別配置不同的優(yōu)先級;隊列管理器,用于根據(jù)各類業(yè)務(wù)提供商優(yōu)先等級為每類業(yè)務(wù)提供商的級別分配一個消息隊列,并建立各業(yè)務(wù)提供商與消息隊列的對應(yīng)關(guān)系;線程管理器,用于根據(jù)各類業(yè)務(wù)提供商優(yōu)先等級為每類業(yè)務(wù)提供商的級別分配相應(yīng)的處理線程;消息分發(fā)單元,分別與所述消息接收單元及所述隊列管理器相連,用于將所述消息接收單元收到的用戶發(fā)送給業(yè)務(wù)提供商的消息放入該業(yè)務(wù)提供商所屬級別對應(yīng)的消息隊列中;消息處理單元,分別與所述線程管理器及所述消息發(fā)送單元相連,用于調(diào)用對應(yīng)各消息隊列的處理線程完成對該消息隊列中各消息的處理,并將處理后的消息傳送給消息發(fā)送單元發(fā)送給對應(yīng)的業(yè)務(wù)提供商。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括優(yōu)先級調(diào)整單元,分別與所述隊列管理器和所述線程管理器相連,用于根據(jù)各業(yè)務(wù)提供商的響應(yīng)時延實時調(diào)整該業(yè)務(wù)提供商的級別。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述優(yōu)先級調(diào)整單元包括時延區(qū)間設(shè)置子單元,用于設(shè)置對應(yīng)各業(yè)務(wù)提供商級別的響應(yīng)時延區(qū)間;響應(yīng)時延計算子單元,用于根據(jù)各處理線程發(fā)送業(yè)務(wù)提供商請求消息及收到業(yè)務(wù)提供商的響應(yīng)消息的時間,計算該業(yè)務(wù)提供商的響應(yīng)時延;調(diào)整通知子單元,用于比較所述響應(yīng)時延計算子單元計算得到的業(yè)務(wù)提供商的響應(yīng)時延及所述時延區(qū)間設(shè)置子單元設(shè)置的該業(yè)務(wù)提供商的響應(yīng)時延區(qū)間,并在這兩者不同時通知所述隊列管理器修改該業(yè)務(wù)提供商的級別為其響應(yīng)時延歸屬的響應(yīng)時延區(qū)間對應(yīng)的級別。
全文摘要
本發(fā)明公開了一種實現(xiàn)對業(yè)務(wù)提供商分類服務(wù)的方法,包括對業(yè)務(wù)提供商進(jìn)行分類,并為各類別設(shè)置對應(yīng)的優(yōu)先級;為每類業(yè)務(wù)提供商的級別分配一個消息隊列及一個或多個處理線程;當(dāng)收到用戶發(fā)送給業(yè)務(wù)提供商的消息或者系統(tǒng)需要給業(yè)務(wù)提供商發(fā)送報告消息時,將該消息放入該業(yè)務(wù)提供商所屬級別對應(yīng)的消息隊列中;由對應(yīng)各消息隊列的處理線程完成該消息隊列中各消息的發(fā)送。本發(fā)明還公開了一種實現(xiàn)對業(yè)務(wù)提供商分類服務(wù)的裝置,包括消息接收單元、消息發(fā)送單元,還包括初始設(shè)置單元、隊列管理器、線程管理器、消息分發(fā)單元、消息處理單元。利用本發(fā)明,可以有效地保證用戶給業(yè)務(wù)提供商提交的上行消息的服務(wù)質(zhì)量,并使業(yè)務(wù)提供商能夠及時得到業(yè)務(wù)的運行情況。
文檔編號G06F9/46GK1859122SQ200610057708
公開日2006年11月8日 申請日期2006年2月23日 優(yōu)先權(quán)日2006年2月23日
發(fā)明者韓衛(wèi)正, 陳克華 申請人:華為技術(shù)有限公司