專利名稱:一種消息分發(fā)方法以及消息分發(fā)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理技術(shù)領(lǐng)域,尤其涉及一種消息分發(fā)方法以及消息分發(fā)裝置。
背景技術(shù):
隨著通信技術(shù)的發(fā)展,接入通信系統(tǒng)中實(shí)現(xiàn)各種通信業(yè)務(wù)的終端數(shù)量在不斷增力口,為了達(dá)到提高通信系統(tǒng)性能的目的,需要對通信系統(tǒng)中產(chǎn)生的海量業(yè)務(wù)消息進(jìn)行處理,以根據(jù)處理結(jié)果對通信系統(tǒng)進(jìn)行維護(hù)。對通信系統(tǒng)中產(chǎn)生的業(yè)務(wù)消息進(jìn)行處理時(shí),所涉及的消息處理系統(tǒng)如圖I所示,該消息處理系統(tǒng)建立在采用基于消息中間件的SOA(Service-Oriented Architecture,面向服務(wù)的體系結(jié)構(gòu))架構(gòu)之上。圖I所示的消息處理系統(tǒng)主要包括第一前置機(jī)101、第二 前置機(jī)102、包括多個(gè)消息隊(duì)列的消息中間件103以及包括多個(gè)應(yīng)用服務(wù)器的應(yīng)用服務(wù)器組104。具體地,圖I所示系統(tǒng)包括的各功能實(shí)體完成的功能如下第一前置機(jī)101,包括處理模塊以及分發(fā)模塊,其中,處理模塊主要用于獲取BOSS (Business Operation Support System,業(yè)務(wù)運(yùn)營支撐系統(tǒng))事件,并對獲取的事件進(jìn)行過濾以及分析處理,得到業(yè)務(wù)事件;分發(fā)模塊主要用于將處理模塊處理得到的業(yè)務(wù)事件進(jìn)行分發(fā),即將各業(yè)務(wù)事件封裝為業(yè)務(wù)事件消息分發(fā)給消息中間件103中的各消息隊(duì)列;第二前置機(jī)102的結(jié)構(gòu)與第一前置機(jī)101的結(jié)構(gòu)相同,包括處理模塊以及分發(fā)模塊,其中,處理模塊用于獲取信令采集系統(tǒng)的信令數(shù)據(jù),并對獲取的事件進(jìn)行過濾以及分析處理,得到業(yè)務(wù)事件;分發(fā)模塊主要用于將處理模塊處理得到的業(yè)務(wù)事件進(jìn)行分發(fā),即將各業(yè)務(wù)事件封裝為業(yè)務(wù)事件消息分發(fā)給消息中間件103中的各消息隊(duì)列;消息中間件103,包括多個(gè)消息隊(duì)列,主要用于緩存來自各前置機(jī)的業(yè)務(wù)事件消息;應(yīng)用服務(wù)器組104,主要用于從消息中間件103包括的各消息隊(duì)列中獲取業(yè)務(wù)事件消息進(jìn)行處理,該應(yīng)用服務(wù)器組104中包括的各業(yè)務(wù)服務(wù)器中配置有與消息中間件中包括的消息隊(duì)列的對應(yīng)關(guān)系,根據(jù)該對應(yīng)關(guān)系,應(yīng)用服務(wù)器從對應(yīng)的消息隊(duì)列中獲取業(yè)務(wù)事件消息進(jìn)行處理。實(shí)際應(yīng)用中,信令采集系統(tǒng)會(huì)采集大量的信令數(shù)據(jù),例如主被叫、短信收發(fā)、位置遷移、小區(qū)切換、開關(guān)機(jī)等各種信令數(shù)據(jù),并通過Socket接口發(fā)送給第二前置機(jī),峰值速率可以達(dá)到25000條/秒;B0SS系統(tǒng)也會(huì)產(chǎn)生大量的事件發(fā)送給第一前置機(jī)。并且,信令采集系統(tǒng)、BOSS系統(tǒng)等外部系統(tǒng)產(chǎn)生的大量實(shí)時(shí)數(shù)據(jù)又是非均衡的,例如,信令數(shù)據(jù)中的主被口q、短信收發(fā)在每天的各時(shí)間區(qū)間表現(xiàn)出非均衡性。因此,消息處理系統(tǒng)所面臨的最大挑戰(zhàn)是針對大數(shù)據(jù)量、以及非均衡的實(shí)時(shí)數(shù)據(jù),如何使得對業(yè)務(wù)事件的處理達(dá)到高實(shí)時(shí)性的要求。圖I所示的消息處理系統(tǒng)中,第一前置機(jī)以及第二前置機(jī)中的分發(fā)模塊在向消息中間件中的各消息隊(duì)列分發(fā)業(yè)務(wù)事件消息時(shí),采用的消息分發(fā)方式為按照消息隊(duì)列的編號順序(如圖I中的1、2、3.......N)依次分發(fā)業(yè)務(wù)事件消息,該分發(fā)方式未考慮到應(yīng)用服務(wù)器的實(shí)際處理能力,對于處理能力較低的應(yīng)用服務(wù)器,容易導(dǎo)致與該處理能力較低的應(yīng)用服務(wù)器對應(yīng)的消息隊(duì)列中未處理的業(yè)務(wù)事件消息大量積壓,從而降低了對業(yè)務(wù)事件消息處理的及時(shí)性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供一種消息分發(fā)方法以及消息分發(fā)裝置,采用該技術(shù)方案,能夠提高對消息處理的及時(shí)性。本發(fā)明實(shí)施例通過如下技術(shù)方案實(shí)現(xiàn)
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種消息分發(fā)方法,包括確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量;根據(jù)各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,所述權(quán)重值用于表示消息隊(duì)列可連續(xù)接收的消息數(shù)量;根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,向所述各消息隊(duì)列分發(fā)消息。根據(jù)本發(fā)明實(shí)施例的另一個(gè)方面,提供了一種消息分發(fā)裝置,包括消息隊(duì)列監(jiān)控模塊,用于確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量;權(quán)重確定模塊,用于根據(jù)所述消息隊(duì)列監(jiān)控模塊確定的各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,所述權(quán)重值用于表示消息隊(duì)列可連續(xù)接收的消息數(shù)量;消息分發(fā)模塊,用于根據(jù)所述權(quán)重確定模塊確定的各消息隊(duì)列分別對應(yīng)的權(quán)重值,向所述各消息隊(duì)列分發(fā)消息。通過本發(fā)明實(shí)施例提供的上述至少一個(gè)技術(shù)方案,在消息分發(fā)過程中,首先確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,并根據(jù)各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,該權(quán)重值用于表示消息隊(duì)列可連續(xù)接收的消息數(shù)量,然后進(jìn)一步根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,向各消息隊(duì)列分發(fā)消息。根據(jù)該技術(shù)方案,可以根據(jù)每個(gè)消息隊(duì)列已存儲(chǔ)的消息數(shù)量,確定向每個(gè)消息隊(duì)列可連續(xù)分配消息的消息數(shù)量,即以消息隊(duì)列實(shí)際的存儲(chǔ)消息數(shù)量為依據(jù)確定向各個(gè)消息隊(duì)列分發(fā)消息的數(shù)量,從而能夠減少消息隊(duì)列中大量消息的積壓,提高對消息處理的及時(shí)性。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中圖I為現(xiàn)有技術(shù)提供的消息處理系統(tǒng)的結(jié)構(gòu)示意圖;圖2為本發(fā)明實(shí)施例一提供的消息分發(fā)方法所對應(yīng)的一個(gè)流程示意圖;圖3為本發(fā)明實(shí)施例一提供的消息分發(fā)方法所對應(yīng)的又一個(gè)流程示意圖;圖4為本發(fā)明實(shí)施例一提供的確定各消息隊(duì)列分別對應(yīng)的權(quán)重值的流程示意圖;圖5為本發(fā)明實(shí)施例一提供的舊閉環(huán)鏈表的示意圖6為本發(fā)明實(shí)施例一提供的閉環(huán)鏈表更新的一個(gè)示意圖;圖7為本發(fā)明實(shí)施例一提供的閉環(huán)鏈表更新的又一個(gè)示意圖;圖8為本發(fā)明實(shí)施例一提供的生成的新閉環(huán)鏈表的示意圖;圖9為本發(fā)明實(shí)施例二提供的根據(jù)權(quán)重值調(diào)整應(yīng)用服務(wù)器的流程示意圖;圖10為本發(fā)明實(shí)施例三提供的消息處理系統(tǒng)的結(jié)構(gòu)示意圖;圖11為本發(fā)明實(shí)施例三提供的消息分發(fā)的流程示意圖;圖12為本發(fā)明實(shí)施例四提供的生成的新閉環(huán)鏈表的一個(gè)示意圖;
圖13本發(fā)明實(shí)施例四提供的生成的新閉環(huán)鏈表的又一個(gè)示意圖;圖14為本發(fā)明實(shí)施例五提供的消息分發(fā)裝置的一個(gè)示意圖;圖15為本發(fā)明實(shí)施例五提供的消息分發(fā)裝置的又一個(gè)示意圖;圖16為本發(fā)明實(shí)施例五提供的消息分發(fā)裝置的又一個(gè)示意圖。
具體實(shí)施例方式為了給出提高對業(yè)務(wù)事件消息處理的及時(shí)性的實(shí)現(xiàn)方案,本發(fā)明實(shí)施例提供了一種消息分發(fā)方法以及消息分發(fā)裝置,以下結(jié)合說明書附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。并且在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。實(shí)施例一根據(jù)本發(fā)明實(shí)施例一,提供了一種一種消息分發(fā)方法,通過該實(shí)施例一提供的消息分發(fā)方法進(jìn)行消息分發(fā),能夠提高對消息處理的及時(shí)性。圖2給出了該實(shí)施例一提供的消息分發(fā)方法所對應(yīng)的一個(gè)流程示意圖,如圖2所示,該消息分發(fā)方法,主要包括如下步驟步驟201、確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量。步驟202、根據(jù)各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,該權(quán)重值用于表示消息隊(duì)列可連續(xù)接收的消息數(shù)量。步驟203、根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,向各消息隊(duì)列分發(fā)消息。至此,消息分發(fā)流程結(jié)束。上述步驟201至步驟203所對應(yīng)的流程可以按照設(shè)定周期執(zhí)行,即步驟201中,可以按照設(shè)定周期確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量。其中,該周期可以根據(jù)消息的分發(fā)數(shù)量確定并隨著待分發(fā)消息數(shù)量的變化進(jìn)行調(diào)整,例如,如果待分發(fā)消息數(shù)量較大,可以設(shè)置該周期較小,以根據(jù)各消息隊(duì)列中存儲(chǔ)的消息數(shù)量,及時(shí)對各消息隊(duì)列的后續(xù)消息接收量進(jìn)行調(diào)整。圖3給出了該實(shí)施例一提供的消息分發(fā)方法所對應(yīng)的又一個(gè)流程示意圖,如圖3所示,該消息分發(fā)方法,主要包括如下步驟步驟301、確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量。步驟302、確定各消息隊(duì)列中是否存在存儲(chǔ)的消息數(shù)量超過對應(yīng)的最大閾值的消息隊(duì)列,若是,執(zhí)行步驟303,否則返回步驟301。步驟303、根據(jù)各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,該權(quán)重值用于表示消息隊(duì)列可連續(xù)接收的消息數(shù)量。
步驟304、根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,向各消息隊(duì)列分發(fā)消息。至此,消息分發(fā)流程結(jié)束。上述步驟301至步驟304所對應(yīng)的流程可以按照設(shè)定周期執(zhí)行,即步驟401中,可以按照設(shè)定周期確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量。上述步驟301至步驟304所對應(yīng)的流程中,在根據(jù)各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值之前,需要確定各消息隊(duì)列中存在存儲(chǔ)的消息數(shù)量超過對應(yīng)的最大閾值的消息隊(duì)列,從而能夠在 消息隊(duì)列有消息溢出(即消息隊(duì)列中存儲(chǔ)的消息數(shù)量超過設(shè)定閾值)時(shí),及時(shí)對各消息隊(duì)列后續(xù)接收消息的數(shù)量進(jìn)行調(diào)整,以進(jìn)一步提聞對消息分發(fā)的及時(shí)性。本發(fā)明實(shí)施例一還提供了確定消息隊(duì)列的權(quán)重值的具體過程。如圖4所示,上述步驟202以及步驟303中,根據(jù)各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,主要包括如下步驟步驟401、確定各消息隊(duì)列分別對應(yīng)的最大閾值是否都相等,若是,執(zhí)行步驟402,若否,執(zhí)行步驟403。各消息隊(duì)列分別對應(yīng)的最大閾值,用于表示該消息隊(duì)列可以存儲(chǔ)的最大消息數(shù)量,具體可以根據(jù)消息隊(duì)列所對應(yīng)的應(yīng)用服務(wù)器的處理能力進(jìn)行設(shè)置,或者根據(jù)為每個(gè)消息隊(duì)列分配的存儲(chǔ)空間大小確定,實(shí)際應(yīng)用中,可以靈活設(shè)置,此處不再一一列舉。步驟402、根據(jù)以消息隊(duì)列中存儲(chǔ)的消息數(shù)量為自變量、以消息隊(duì)列對應(yīng)的權(quán)重值為因變量的遞減函數(shù)關(guān)系,以及各消息隊(duì)列分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值。步驟403、根據(jù)以消息隊(duì)列中存儲(chǔ)的消息數(shù)量與該消息隊(duì)列對應(yīng)的最大閾值的比值為自變量、以消息隊(duì)列對應(yīng)的權(quán)重值為因變量的遞減函數(shù)關(guān)系,以及各消息隊(duì)列分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值。至此,確定各消息隊(duì)列的流程結(jié)束。本發(fā)明實(shí)施例一提供的一個(gè)優(yōu)選實(shí)施方式中,上述步驟402中,根據(jù)以消息隊(duì)列中存儲(chǔ)的消息數(shù)量為自變量、以消息隊(duì)列對應(yīng)的權(quán)重值為因變量的遞減函數(shù)關(guān)系,以及各消息隊(duì)列分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,可以通過如下方式一或方式二實(shí)現(xiàn)方式一確定存儲(chǔ)的消息數(shù)量未達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列對應(yīng)的最大閾值與存儲(chǔ)的消息數(shù)量的差值,將各消息隊(duì)列所對應(yīng)的差值分別除以第一設(shè)定值得到的商值,確定為各消息隊(duì)列的權(quán)重值;以及,確定存儲(chǔ)的消息數(shù)量達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列的權(quán)重值為零。其中,第一設(shè)定值為大于零的數(shù),并且若得到的商值為非整數(shù),則對非整數(shù)的商值取整,具體取整方式可以是向上取整,也可以是向下取整。該方式一中,第一設(shè)定值優(yōu)選地可以選取為各消息隊(duì)列所對應(yīng)的差值的最大公約數(shù)。方式二確定存儲(chǔ)的消息數(shù)量未達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列對應(yīng)的可接收消息數(shù)量的相對值,將各消息隊(duì)列所對應(yīng)的相對值分別除以第二設(shè)定值得到的商值,確定為各消息隊(duì)列的權(quán)重值;以及,確定存儲(chǔ)的消息數(shù)量達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列的權(quán)
重值為零。其中,消息隊(duì)列對應(yīng)的可接收消息數(shù)量的相對值,根據(jù)各消息隊(duì)列存儲(chǔ)的消息數(shù)量之和與該相對值對應(yīng)的消息隊(duì)列存儲(chǔ)的消息數(shù)量的差值確定。第二設(shè)定值為大于零的數(shù),并且若得到的商值為非整數(shù),則對該非整數(shù)的商值取整,具體取整方式可以是向上取整,也可以是向下取整。該方式二中,第二設(shè)定值優(yōu)選地可以選取為在滿足得到的商值小于該消息隊(duì)列對應(yīng)的最大閾值減去存儲(chǔ)的消息數(shù)量得到的差值時(shí),各消息隊(duì)列所對應(yīng)的相對值的最大公約數(shù)。 該方式二的一個(gè)具體實(shí)例如下假設(shè)有四個(gè)消息隊(duì)列,如表I所示,其中,最大隊(duì)列深度為消息隊(duì)列可以存儲(chǔ)的消息數(shù)量的最大閾值,當(dāng)前深度為消息隊(duì)列存儲(chǔ)的消息數(shù)量。表I
權(quán)利要求
1.一種消息分發(fā)方法,其特征在于,包括 確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量; 根據(jù)各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,所述權(quán)重值用于表示消息隊(duì)列可連續(xù)接收的消息數(shù)量; 根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,向所述各消息隊(duì)列分發(fā)消息。
2.如權(quán)利要求I所述的方法,其特征在于,確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,包括 按照設(shè)定周期確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量。
3.如權(quán)利要求I所述的方法,其特征在于,在根據(jù)各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值之前,還包括 確定所述各消息隊(duì)列中存在存儲(chǔ)的消息數(shù)量超過對應(yīng)的最大閾值的消息隊(duì)列。
4.如權(quán)利要求I所述的方法,其特征在于,根據(jù)各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,包括 在所述各消息隊(duì)列分別對應(yīng)的最大閾值相等時(shí),根據(jù)以消息隊(duì)列中存儲(chǔ)的消息數(shù)量為自變量、以消息隊(duì)列對應(yīng)的權(quán)重值為因變量的遞減函數(shù)關(guān)系,以及各消息隊(duì)列分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值; 在所述各消息隊(duì)列分別對應(yīng)的最大閾值至少存在兩個(gè)不相等時(shí),根據(jù)以消息隊(duì)列中存儲(chǔ)的消息數(shù)量與該消息隊(duì)列對應(yīng)的最大閾值的比值為自變量、以消息隊(duì)列對應(yīng)的權(quán)重值為因變量的遞減函數(shù)關(guān)系,以及各消息隊(duì)列分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值。
5.如權(quán)利要求4所述的方法,其特征在于,根據(jù)以消息隊(duì)列中存儲(chǔ)的消息數(shù)量為自變量、以消息隊(duì)列對應(yīng)的權(quán)重值為因變量的遞減函數(shù)關(guān)系,以及各消息隊(duì)列分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,包括 確定存儲(chǔ)的消息數(shù)量未達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列對應(yīng)的最大閾值與存儲(chǔ)的消息數(shù)量的差值,將各消息隊(duì)列所對應(yīng)的差值分別除以第一設(shè)定值得到的商值確定為各消息隊(duì)列的權(quán)重值,以及,確定存儲(chǔ)的消息數(shù)量達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列的權(quán)重值為零;其中,所述第一設(shè)定值為大于零的數(shù),并且若得到的商值為非整數(shù),則對所述非整數(shù)的商值取整;或 確定存儲(chǔ)的消息數(shù)量未達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列對應(yīng)的可接收消息數(shù)量的相對值,將各消息隊(duì)列所對應(yīng)的相對值分別除以第二設(shè)定值得到的商值確定為各消息隊(duì)列的權(quán)重值,以及,確定存儲(chǔ)的消息數(shù)量達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列的權(quán)重值為零;其中,所述相對值根據(jù)各消息隊(duì)列存儲(chǔ)的消息數(shù)量之和與所述相對值對應(yīng)的消息隊(duì)列存儲(chǔ)的消息數(shù)量的差值確定;所述第二設(shè)定值為大于零的數(shù),并且若得到的商值為非整數(shù),則對所述非整數(shù)的商值取整。
6.如權(quán)利要求5所述的方法,其特征在于,所述第一設(shè)定值為各消息隊(duì)列所對應(yīng)的差值的最大公約數(shù); 所述第二設(shè)定值為在滿足得到的商值小于該消息隊(duì)列對應(yīng)的最大閾值減去存儲(chǔ)的消息數(shù)量得到的差值時(shí),各消息隊(duì)列所對應(yīng)的相對值的最大公約數(shù)。
7.如權(quán)利要求4所述的方法,其特征在于,根據(jù)以消息隊(duì)列中存儲(chǔ)的消息數(shù)量與該消息隊(duì)列對應(yīng)的最大閾值的比值為自變量、以消息隊(duì)列對應(yīng)的權(quán)重值為因變量的遞減函數(shù)關(guān)系,以及各消息隊(duì)列分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,包括 確定存儲(chǔ)的消息數(shù)量未達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列對應(yīng)的最大閾值與存儲(chǔ)的消息數(shù)量的差值,將各消息隊(duì)列所對應(yīng)的差值分別除以所對應(yīng)的最大閾值得到的商值確定為各消息隊(duì)列的權(quán)重值,以及,確定存儲(chǔ)的消息數(shù)量達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列的權(quán)重值為零;若得到的商值為非整數(shù),則對所述非整數(shù)的商值取整。
8.如權(quán)利要求I所述的方法,其特征在于,根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,向所述各消息隊(duì)列分發(fā)消息,包括 根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,向所述各消息隊(duì)列分發(fā)根據(jù)業(yè)務(wù)支撐運(yùn)營系統(tǒng)BOSS的業(yè)務(wù)數(shù)據(jù)生成的業(yè)務(wù)事件消息或/和根據(jù)信令采集系統(tǒng)的信令數(shù)據(jù)生成的業(yè)務(wù)事件消息。
9.如權(quán)利要求I所述的方法,其特征在于,根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,向所述各消息隊(duì)列分發(fā)消息,包括 根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,控制向各消息隊(duì)列連續(xù)分發(fā)的消息數(shù)量等于所對應(yīng)的權(quán)重值。
10.如權(quán)利要求9所述的方法,其特征在于,根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,控制向各消息隊(duì)列連續(xù)分發(fā)的消息數(shù)量等于所對應(yīng)的權(quán)重值,包括 根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,生成與每個(gè)消息隊(duì)列分別對應(yīng)的子鏈表,其中,所述與消息隊(duì)列對應(yīng)的子鏈表中的節(jié)點(diǎn)數(shù)目與所述消息隊(duì)列對應(yīng)的權(quán)重值相等;將每個(gè)消息隊(duì)列分別對應(yīng)的子鏈表首尾相連生成閉環(huán)鏈表;根據(jù)移動(dòng)指針在所述閉環(huán)鏈表中所指示的節(jié)點(diǎn),將消息分發(fā)到與所述節(jié)點(diǎn)所在的子鏈表對應(yīng)的消息隊(duì)列,并將所述移動(dòng)指針移至當(dāng)前所指示節(jié)點(diǎn)的下一節(jié)點(diǎn);或 設(shè)置與所述消息隊(duì)列數(shù)目相應(yīng)的計(jì)數(shù)器,并設(shè)置各計(jì)數(shù)器的計(jì)數(shù)順序,且根據(jù)各消息隊(duì)列對應(yīng)的權(quán)重值分別設(shè)置所對應(yīng)的計(jì)數(shù)器的計(jì)數(shù)門限;在分發(fā)一個(gè)消息到消息隊(duì)列后,更新與該消息隊(duì)列對應(yīng)的計(jì)數(shù)器的計(jì)數(shù)值,在該計(jì)數(shù)器的計(jì)數(shù)值達(dá)到所對應(yīng)的計(jì)數(shù)門限后,將該計(jì)數(shù)器置位,并向當(dāng)前計(jì)數(shù)器之后的計(jì)數(shù)器所對應(yīng)的消息隊(duì)列分發(fā)消息。
11.如權(quán)利要求I所述的方法,其特征在于,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值后,還包括 確定對應(yīng)的權(quán)重值低于第三設(shè)定值的消息隊(duì)列; 確定對應(yīng)的權(quán)重值不低于所述第三設(shè)定值的消息隊(duì)列所對應(yīng)的應(yīng)用服務(wù)器,并指示確定出的所述應(yīng)用服務(wù)器對所述對應(yīng)的權(quán)重值低于第三設(shè)定值的消息隊(duì)列中存儲(chǔ)的信息進(jìn)行處理。
12.如權(quán)利要求11所述的方法,其特征在于,確定對應(yīng)的權(quán)重值不低于所述第三設(shè)定值的消息隊(duì)列所對應(yīng)的應(yīng)用服務(wù)器,包括 確定對應(yīng)的權(quán)重值不低于第四設(shè)定值的消息隊(duì)列所對應(yīng)的應(yīng)用服務(wù)器,所述第四設(shè)定值大于所述第三設(shè)定值。
13.一種消息分發(fā)裝置,其特征在于,包括 消息隊(duì)列監(jiān)控模塊,用于確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量; 權(quán)重確定模塊,用于根據(jù)所述消息隊(duì)列監(jiān)控模塊確定的各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,所述權(quán)重值用于表示消息隊(duì)列可連續(xù)接收的消息數(shù)量; 消息分發(fā)模塊,用于根據(jù)所述權(quán)重確定模塊確定的各消息隊(duì)列分別對應(yīng)的權(quán)重值,向所述各消息隊(duì)列分發(fā)消息。
14.如權(quán)利要求13所述的裝置,其特征在于,所述消息隊(duì)列監(jiān)控模塊,具體用于 按照設(shè)定周期確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量。
15.如權(quán)利要求13所述的裝置,其特征在于,所述權(quán)重確定模塊,還用于 在根據(jù)各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值之前,確定所述各消息隊(duì)列中存在存儲(chǔ)的消息數(shù)量超過對應(yīng)的最大閾值的消息隊(duì)列。
16.如權(quán)利要求13所述的裝置,其特征在于,所述權(quán)重確定模塊,包括 第一權(quán)重確定子模塊,用于在所述各消息隊(duì)列分別對應(yīng)的最大閾值相等時(shí),根據(jù)以消息隊(duì)列中存儲(chǔ)的消息數(shù)量為自變量、以消息隊(duì)列對應(yīng)的權(quán)重值為因變量的遞減函數(shù)關(guān)系,以及各消息隊(duì)列分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值; 第二權(quán)重確定子模塊,用于在所述各消息隊(duì)列分別對應(yīng)的最大閾值至少存在兩個(gè)不相等時(shí),根據(jù)以消息隊(duì)列中存儲(chǔ)的消息數(shù)量與該消息隊(duì)列對應(yīng)的最大閾值的比值為自變量、以消息隊(duì)列對應(yīng)的權(quán)重值為因變量的遞減函數(shù)關(guān)系,以及各消息隊(duì)列分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值。
17.如權(quán)利要求16所述的裝置,其特征在于,所述第一權(quán)重確定子模塊,具體用于 確定存儲(chǔ)的消息數(shù)量未達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列對應(yīng)的最大閾值與存儲(chǔ)的消息數(shù)量的差值,將各消息隊(duì)列所對應(yīng)的差值分別除以第一設(shè)定值得到的商值確定為各消息隊(duì)列的權(quán)重值,以及,確定存儲(chǔ)的消息數(shù)量達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列的權(quán)重值為零;其中,所述第一設(shè)定值為大于零的數(shù),并且若得到的商值為非整數(shù),則對所述非整數(shù)的商值取整;或 確定存儲(chǔ)的消息數(shù)量未達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列對應(yīng)的可接收消息數(shù)量的相對值,將各消息隊(duì)列所對應(yīng)的相對值分別除以第二設(shè)定值得到的商值確定為各消息隊(duì)列的權(quán)重值,,以及,確定存儲(chǔ)的消息數(shù)量達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列的權(quán)重值為零;其中,所述相對值根據(jù)各消息隊(duì)列存儲(chǔ)的消息數(shù)量之和與所述相對值對應(yīng)的消息隊(duì)列存儲(chǔ)的消息數(shù)量的差值確定;所述第二設(shè)定值為大于零的數(shù),并且若得到的商值為非整數(shù),則對所述非整數(shù)的商值取整。
18.如權(quán)利要求16所述的裝置,其特征在于,所述第二權(quán)重確定子模塊,具體用于 確定存儲(chǔ)的消息數(shù)量未達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列對應(yīng)的最大閾值與存儲(chǔ)的消息數(shù)量的差值,將各消息隊(duì)列所對應(yīng)的差值分別除以所對應(yīng)的最大閾值得到的商值確定為各消息隊(duì)列的權(quán)重值,以及,確定存儲(chǔ)的消息數(shù)量達(dá)到所對應(yīng)的最大閾值的各消息隊(duì)列的權(quán)重值為零;若得到的商值為非整數(shù),則對所述非整數(shù)的商值取整。
19.如權(quán)利要求13所述的裝置,其特征在于,所述消息分發(fā)模塊,具體用于 根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,向所述各消息隊(duì)列分發(fā)根據(jù)業(yè)務(wù)支撐運(yùn)營系統(tǒng)BOSS的業(yè)務(wù)數(shù)據(jù)生成的業(yè)務(wù)事件消息或/和根據(jù)信令采集系統(tǒng)的信令數(shù)據(jù)生成的業(yè)務(wù)事件消息。
20.如權(quán)利要求13所述的裝置,其特征在于,所述消息分發(fā)模塊,具體用于根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,控制向各消息隊(duì)列連續(xù)分發(fā)的消息數(shù)量等于所對應(yīng)的權(quán)重值。
21.如權(quán)利要求20所述的裝置,其特征在于,所述消息分發(fā)模塊,具體用于 根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,生成與每個(gè)消息隊(duì)列分別對應(yīng)的子鏈表,其中,所述與消息隊(duì)列對應(yīng)的子鏈表中的節(jié)點(diǎn)數(shù)目與所述消息隊(duì)列對應(yīng)的權(quán)重值相等;將每個(gè)消息隊(duì)列分別對應(yīng)的子鏈表首尾相連生成閉環(huán)鏈表;根據(jù)移動(dòng)指針在所述閉環(huán)鏈表中所指示的節(jié)點(diǎn),將消息分發(fā)到與所述節(jié)點(diǎn)所在的子鏈表對應(yīng)的消息隊(duì)列,并將所述移動(dòng)指針移至當(dāng)前所指示節(jié)點(diǎn)的下一節(jié)點(diǎn);或 設(shè)置與所述消息隊(duì)列數(shù)目相應(yīng)的計(jì)數(shù)器,并設(shè)置各計(jì)數(shù)器的計(jì)數(shù)順序,且根據(jù)各消息隊(duì)列對應(yīng)的權(quán)重值分別設(shè)置所對應(yīng)的計(jì)數(shù)器的計(jì)數(shù)門限;在分發(fā)一個(gè)消息到消息隊(duì)列后,更新與該消息隊(duì)列對應(yīng)的計(jì)數(shù)器的計(jì)數(shù)值,在該計(jì)數(shù)器的計(jì)數(shù)值達(dá)到所對應(yīng)的計(jì)數(shù)門限后,將該計(jì)數(shù)器置位,并向當(dāng)前計(jì)數(shù)器之后的計(jì)數(shù)器所對應(yīng)的消息隊(duì)列分發(fā)消息。
22.如權(quán)利要求13所述的裝置,其特征在于,還包括 調(diào)度模塊,用于在所述權(quán)重確定模塊確定各消息隊(duì)列分別對應(yīng)的權(quán)重值后,確定對應(yīng)的權(quán)重值低于第三設(shè)定值的消息隊(duì)列,并確定對應(yīng)的權(quán)重值不低于所述第三設(shè)定值的消息隊(duì)列所對應(yīng)的應(yīng)用服務(wù)器,并指示確定出的所述應(yīng)用服務(wù)器對所述對應(yīng)的權(quán)重值低于第三設(shè)定值的消息隊(duì)列中存儲(chǔ)的信息進(jìn)行處理。
23.如權(quán)利要求22所述的裝置,其特征在于,所述調(diào)度模塊,具體用于 確定對應(yīng)的權(quán)重值不低于第四設(shè)定值的消息隊(duì)列所對應(yīng)的應(yīng)用服務(wù)器,所述第四設(shè)定值大于所述第三設(shè)定值。
全文摘要
本發(fā)明公開了一種消息分發(fā)方法以及消息分發(fā)裝置,其中,消息分發(fā)方法包括確定各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量;根據(jù)各消息隊(duì)列中分別存儲(chǔ)的消息數(shù)量,確定各消息隊(duì)列分別對應(yīng)的權(quán)重值,所述權(quán)重值用于表示消息隊(duì)列可連續(xù)接收的消息數(shù)量;根據(jù)各消息隊(duì)列分別對應(yīng)的權(quán)重值,向所述各消息隊(duì)列分發(fā)消息。根據(jù)該技術(shù)方案,可以根據(jù)每個(gè)消息隊(duì)列已存儲(chǔ)的消息數(shù)量,確定向每個(gè)消息隊(duì)列可連續(xù)分配消息的消息數(shù)量,即以消息隊(duì)列實(shí)際的存儲(chǔ)消息數(shù)量為依據(jù)確定向各個(gè)消息隊(duì)列分發(fā)消息的數(shù)量,從而能夠減少消息隊(duì)列中大量消息的積壓,提高對消息處理的及時(shí)性。
文檔編號H04W4/12GK102761832SQ20111011016
公開日2012年10月31日 申請日期2011年4月28日 優(yōu)先權(quán)日2011年4月28日
發(fā)明者崔洪濤, 盛強(qiáng), 邵杰, 郭強(qiáng) 申請人:中國移動(dòng)通信集團(tuán)河南有限公司