欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于系列服務(wù)消息處理的方法、設(shè)備和系統(tǒng)的制作方法

文檔序號:7644084閱讀:140來源:國知局
專利名稱:用于系列服務(wù)消息處理的方法、設(shè)備和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息技術(shù)領(lǐng)域,更具體地說,本發(fā)明涉及一種用于系 列服務(wù)消息處理的方法、設(shè)備和系統(tǒng)。
背景技術(shù)
在一些重要的行業(yè)中,例如在電信業(yè)和銀行業(yè)中,需要對業(yè)務(wù)進(jìn)行實(shí)時(shí)處理。例如,在電信業(yè)中, 一些典型應(yīng)用要求95%的時(shí)間響 應(yīng)延遲要小于20毫秒,并且在最差的情況下,響應(yīng)延遲要小于40 毫秒。"實(shí)時(shí)"不僅僅意味著快速處理,而且意味著"可靠地和可預(yù)測 地響應(yīng)現(xiàn)實(shí)世界事件的能力"。因此,與速度相比,"實(shí)時(shí)"更關(guān) 注及時(shí)。當(dāng)采用通常的Java平臺實(shí)現(xiàn)需要實(shí)時(shí)處理的應(yīng)用時(shí),可預(yù)測地 控制應(yīng)用的執(zhí)行是面臨的主要困難,其中的 一個(gè)原因是Java平臺的 自動內(nèi)存管理(垃圾收集)的不可預(yù)測性。為了能夠在實(shí)時(shí)處理領(lǐng)域中采用Java技術(shù),Sim公司發(fā)布了 Java 實(shí)時(shí)系統(tǒng)(JavaRTS:) 。 Java RTS是Java實(shí)時(shí)規(guī)范(RTSJ )的第一 個(gè)商業(yè)實(shí)現(xiàn)。Java RTS使得實(shí)時(shí)應(yīng)用程序的開發(fā)者能夠利用Java語 言生態(tài)系統(tǒng)的優(yōu)勢,同時(shí)盡力實(shí)現(xiàn)了實(shí)時(shí)應(yīng)用程序執(zhí)行的可預(yù)測性。另外,IBM公司提供了一種新的實(shí)時(shí)垃圾收集器,稱作 Metronome。利用該垃圾收集器,即使在最差的情況下,垃圾收集引 起的消息處理停頓時(shí)間也小于1毫秒。上述Java RTS和Metronome雖能改進(jìn)服務(wù)消息處理延遲的可預(yù) 測性,但很大程度地降低了服務(wù)消息處理的吞吐率。因此,在實(shí)時(shí)處理領(lǐng)域中,需要提供一種解決方案,使得不但能夠改進(jìn)服務(wù)消息處理延遲的可預(yù)測性,同時(shí)也能夠維持較高的服務(wù) 消息的吞吐率。發(fā)明內(nèi)容本發(fā)明的一個(gè)目的是提供一種解決方案,使得在實(shí)現(xiàn)實(shí)時(shí)應(yīng)用時(shí),即使采用Java平臺,也能夠改進(jìn)服務(wù)消息處理延遲的可預(yù)測性, 同時(shí)維持較高的服務(wù)消息處理的吞吐率。為了上述目的,本發(fā)明提出了一種系列服務(wù)消息的處理方法,所 述系列服務(wù)消息由多個(gè)服務(wù)消息組成,其中至少兩個(gè)服務(wù)器實(shí)例提 供對所述系列服務(wù)消息的實(shí)時(shí)處理,并且存儲所述系列服務(wù)消息提 供的信息和處理所述系列服務(wù)消息得到的結(jié)果。所述方法包括步驟 判定所述至少兩個(gè)服務(wù)器實(shí)例中的至少 一個(gè)服務(wù)器實(shí)例將出現(xiàn)對所 述系列服務(wù)消息的實(shí)時(shí)處理產(chǎn)生影響的行為,以及將所述系列服務(wù) 消息中的后續(xù)服務(wù)消息分派到除所述至少 一 個(gè)服務(wù)器實(shí)例之外的其 他服務(wù)器實(shí)例,以保證消息處理延時(shí)不受所述行為的影響。本發(fā)明還提出了 一種用于系列服務(wù)消息的處理的設(shè)備,所述系列 服務(wù)消息由多個(gè)服務(wù)消息組成,其中至少兩個(gè)服務(wù)器實(shí)例提供對所 述系列服務(wù)消息的實(shí)時(shí)處理,并且存儲所述系列服務(wù)消息提供的信 息和處理所述系列服務(wù)消息得到的結(jié)果。所述設(shè)備包括調(diào)度器, 用于判定所述至少兩個(gè)服務(wù)器實(shí)例中的至少一個(gè)服務(wù)器實(shí)例將出現(xiàn) 對所述系列服務(wù)消息的實(shí)時(shí)處理產(chǎn)生影響的行為,以及分派器,用 于將所述系列服務(wù)消息中的后續(xù)服務(wù)消息分派到除所述至少 一 個(gè)服 務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例,以保證消息處理延時(shí)不受所述行 為的影響。此外,本發(fā)明還提出了一種系列服務(wù)消息的處理系統(tǒng),所述系列 服務(wù)消息由多個(gè)服務(wù)消息組成,其中至少兩個(gè)服務(wù)器實(shí)例提供對所 述系列服務(wù)消息的實(shí)時(shí)處理,并且存儲所述系列服務(wù)消息提供的信 息和處理所述系列服務(wù)消息得到的結(jié)果,并且在所述至少兩個(gè)服務(wù) 器實(shí)例中由虛擬機(jī)管理內(nèi)存。所述系統(tǒng)包括調(diào)度器,用于判定所述至少兩個(gè)服務(wù)器實(shí)例中的至少 一個(gè)服務(wù)器實(shí)例將出現(xiàn)對所述系列 服務(wù)消息的實(shí)時(shí)處理產(chǎn)生影響的行為,路由策略數(shù)據(jù)庫,用于存儲 路由策略,在判定所述至少兩個(gè)服務(wù)器實(shí)例中的至少一個(gè)服務(wù)器實(shí) 例將出現(xiàn)對所述系列服務(wù)消息的實(shí)時(shí)處理產(chǎn)生影響的行為后,所述 調(diào)度器在所述路由策略數(shù)據(jù)庫中修改路由策略,以避免將后續(xù)服務(wù) 消息分派到所述至少一個(gè)服務(wù)器實(shí)例,分派器,用于通過訪問路由 策略數(shù)據(jù)庫,將所述系列服務(wù)消息中的后續(xù)服務(wù)消息分派到除所述至少 一 個(gè)服務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例,保證消息處理延時(shí)不 受所述行為的影響,至少兩個(gè)虛擬機(jī)監(jiān)視器,分別位于所述至少兩 個(gè)服務(wù)器實(shí)例的每一個(gè)上,用于向所述調(diào)度器提供用于判定所述至 少兩個(gè)服務(wù)器實(shí)例中的至少 一個(gè)服務(wù)器實(shí)例將出現(xiàn)對所述系列服務(wù) 消息的實(shí)時(shí)處理產(chǎn)生影響的行為的信息,以及內(nèi)存數(shù)據(jù)庫,用于存 儲所述系列服務(wù)消息提供的信息和處理所述系列服務(wù)消息得到的結(jié) 果。本發(fā)明還提出了用于實(shí)現(xiàn)上述方法的計(jì)算機(jī)程序產(chǎn)品。 根據(jù)本發(fā)明,通過精心調(diào)度服務(wù)消息的分派,避免把服務(wù)消息 分派到出現(xiàn)對服務(wù)消息的實(shí)時(shí)處理產(chǎn)生影響的行為的服務(wù)器實(shí)例, 可以消除上述行為對服務(wù)消息的實(shí)時(shí)處理的影響,同時(shí)避免其他改 善服務(wù)消息處理延時(shí)方法所導(dǎo)致的服務(wù)消息呑吐率的顯著下降。


通過以下結(jié)合附圖的說明,并且隨著對本發(fā)明的更全面了解,本 發(fā)明的其他目的和效果將變得更加清楚和易于理解,其中圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的服務(wù)消息處理系統(tǒng); 圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的服務(wù)消息處理系統(tǒng)中 包括的組件以及這些組件之間的信號流關(guān)系; 圖3A-3D示出了測試結(jié)果;在所有的上述附圖中,相同的標(biāo)號表示具有相同、相似或相應(yīng)的 特征或功能。本發(fā)明適用于由至少兩個(gè)服務(wù)器實(shí)例提供同一種服務(wù),例如,所 述至少兩個(gè)服務(wù)器實(shí)例的每一個(gè)均作為一個(gè)SIP (會話初始協(xié)議)應(yīng) 用服務(wù)器實(shí)例而提供該服務(wù)的情況。本發(fā)明的基本思想就是在所述 至少兩個(gè)服務(wù)器實(shí)例中的至少 一個(gè)服務(wù)器實(shí)例將出現(xiàn)對服務(wù)消息的 實(shí)時(shí)處理產(chǎn)生影響的行為,例如,需要進(jìn)行垃圾收集,或者出現(xiàn)了負(fù)載波動(overhead fluctuation )時(shí),將此后的服務(wù)消息分派到除所 述至少一個(gè)服務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例,以保障服務(wù)消息處理的實(shí)時(shí)性。這樣,通過精心調(diào)度服務(wù)消息的分派,避免把服務(wù)消息分派到出 現(xiàn)所述影響服務(wù)消息處理的實(shí)時(shí)性的行為的服務(wù)器實(shí)例中,可以消 除所述行為對服務(wù)消息的實(shí)時(shí)處理的影響,并且維持較高的服務(wù)消 息吞吐率。下面以在JVM (Java虛擬^L)上處理SIP消息為例對本發(fā)明的 實(shí)施方式進(jìn)行描述。當(dāng)然,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明并 不限于此。例如,本發(fā)明也可以適用于.NET的情形,即在.NET平臺 上處理SIP消息的情形。SIP是因特網(wǎng)工程任務(wù)組(IETF)于1999年提出的一種信令協(xié) 議。關(guān)于SIP的詳細(xì)情況,可以參考IETF RFC 3261。這里,通過參 考將IETF RFC 3261并入本申請。作為一種基本會話控制協(xié)議,SIP在電信下一代網(wǎng)絡(luò)(NGN)和 IT合作解決方案中變得越來越普遍。并且,根據(jù)SIP, —個(gè)會話 (session)可以包括多個(gè)事務(wù)(transaction),而每個(gè)事務(wù)可以包括 多個(gè)消息。當(dāng)然,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明并不局限于SIP,本 發(fā)明適用于任何這樣的協(xié)議,其中一個(gè)會話包括多個(gè)事務(wù),而每個(gè) 事務(wù)包括多個(gè)消息。圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的服務(wù)消息處理系統(tǒng)10100。如圖l所示,該系統(tǒng)100包括SIP應(yīng)用服務(wù)器集群101、 102 和103,包括在SIP應(yīng)用服務(wù)器集群101中的SIP應(yīng)用服務(wù)器實(shí)例 110、 120; SIP代理130;以及客戶端140。其中SIP應(yīng)用服務(wù)器實(shí)例IIO和120能夠并行地處理SIP消息, 換句話說,SIP應(yīng)用服務(wù)器實(shí)例IIO和120提供同一種SIP應(yīng)用服務(wù), 既可以把SIP消息分派到SIP應(yīng)用服務(wù)器實(shí)例110,也可以把SIP消 息分派到SIP應(yīng)用服務(wù)器實(shí)例120。這里為了簡潔起見,只在SIP應(yīng) 用服務(wù)器集群101中示出了兩個(gè)SIP應(yīng)用服務(wù)器實(shí)例IIO和120。然 而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明不限于此,在SIP應(yīng)用服 務(wù)器集群101中可以包括多于兩個(gè)的SIP應(yīng)用服務(wù)器實(shí)例。SIP應(yīng)用 服務(wù)器集群102和103中也可以分別包括兩個(gè)或更多的SIP應(yīng)用服 務(wù)器實(shí)例。同樣,系統(tǒng)IOO可以包括的SIP應(yīng)用服務(wù)器集群的數(shù)目 也不局限于3個(gè)。另外,在該實(shí)施方式中,假設(shè)SIP應(yīng)用服務(wù)器實(shí) 例IIO和120是物理上分離的兩個(gè)服務(wù)器實(shí)例。當(dāng)然,本領(lǐng)域的技 術(shù)人員應(yīng)當(dāng)理解,本發(fā)明不限于此,本發(fā)明也適用于SIP應(yīng)用服務(wù) 器實(shí)例10和120物理上在同一個(gè)服務(wù)器中,而只是邏輯上分開的 情形。另外,在該實(shí)施方式中,假設(shè)SIP應(yīng)用服務(wù)器實(shí)例IIO和120 是基于Java技術(shù)的,也就是說,SIP應(yīng)用服務(wù)器實(shí)例IIO和120在 各自的JVM上處理SIP消息。SIP代理130位于SIP應(yīng)用服務(wù)器集群101、 102、 103和客戶端 140之間。SIP代理130是從客戶端140到SIP應(yīng)用服務(wù)器集群101、 102、 103的所有業(yè)務(wù)量的入口 。 SIP代理130可以執(zhí)行許多工作量 管理操作,例如接納控制、負(fù)載平衡等等。在本發(fā)明中,擴(kuò)展了 SIP 代理130的功能,如以下將詳細(xì)描述的。這里,客戶端140代表許多個(gè)客戶端設(shè)備??蛻舳?40可以包括SIP語音終端、SIP視頻終端等等。其中,SIP應(yīng)用服務(wù)器集群101、 102、 103與SIP代理130之間 通過鏈路112、 U4和116連接,而SIP代理130與客戶端140之間通過鏈路132連接。鏈路U2、 114和116可以是有線鏈路,諸如同 軸電纜、光纖等。另外,鏈路32可以跨越一個(gè)網(wǎng)絡(luò)(未示出), 該網(wǎng)絡(luò)可以是無線網(wǎng)、有線網(wǎng)、或它們的組合。另外,該網(wǎng)絡(luò)可以 是局域網(wǎng)、城域網(wǎng)、廣域網(wǎng)、或它們的組合。例如,該網(wǎng)絡(luò)是因特 網(wǎng)。另外,在圖1中示出了 SIP應(yīng)用服務(wù)器集群101、 102和103與 SIP代理130通過點(diǎn)到點(diǎn)鏈路相連接。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng) 理解,SIP應(yīng)用服務(wù)器集群101、 102和103與SIP代理130也可以 通過一條總線而連接。在該實(shí)施方式中,SIP應(yīng)用服務(wù)器實(shí)例10和120并行地處理 SIP消息。當(dāng)SIP代理130判定SIP應(yīng)用服務(wù)器實(shí)例IIO和120中的 一個(gè)需要進(jìn)行垃圾收集時(shí),SIP代理130將工作量從該需要進(jìn)行垃圾 收集的應(yīng)用服務(wù)器實(shí)例切換到另 一個(gè)應(yīng)用服務(wù)器實(shí)例。這里將即將 進(jìn)行垃圾收集的應(yīng)用服務(wù)器實(shí)例稱作"主應(yīng)用服務(wù)器實(shí)例"(PS), 而將另 一 個(gè)不執(zhí)行垃圾收集的應(yīng)用服務(wù)器實(shí)例稱作"備份應(yīng)用服務(wù) 器實(shí)例,,(BS)。上述兩個(gè)SIP應(yīng)用服務(wù)器實(shí)例IIO和120可以交 替地作為PS或BS。圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方式的服務(wù)消息處理系統(tǒng)中 包括的組件以及這些組件之間的信號流關(guān)系,這些組件包括如下 調(diào)度器236、分派器232和路由策略數(shù)據(jù)庫234,其均位于SIP代理 130中;JVM監(jiān)視器212和222,分別位于SIP應(yīng)用服務(wù)器實(shí)例110 和120中;以及內(nèi)存數(shù)據(jù)庫202,它是獨(dú)立于SIP應(yīng)用服務(wù)器實(shí)例的 進(jìn)程,可位于任意SIP應(yīng)用服務(wù)器所在的物理節(jié)點(diǎn)上或者第三方物 理節(jié)點(diǎn)上。另外,在SIP應(yīng)用服務(wù)器實(shí)例IIO和120中,可以分別 運(yùn)行應(yīng)用程序204,并且,應(yīng)用程序204是采用Java語言編寫的。 更具體地說,在SIP應(yīng)用服務(wù)器實(shí)例110和120每一個(gè)中具有一個(gè) JVM,應(yīng)用程序204和JVM監(jiān)視器212和222都運(yùn)行在JVM上。由于在處理一個(gè)SIP會話的后續(xù)消息時(shí),有可能依賴于由先前 消息提供的信息或處理的結(jié)果,并且上述信息保存在一個(gè)會話相關(guān)的對象中。在將工作量從PS切換到BS后,BS處理在PS上開始的 會話的后續(xù)消息時(shí),需要知道在PS中創(chuàng)建并維護(hù)的該會話相關(guān)的對 象。由于PS和BS之間的角色的轉(zhuǎn)換很頻繁(根據(jù)垃圾收集的頻率, 一般每隔幾分鐘轉(zhuǎn)換一次)。在該實(shí)施方式中,采用了一個(gè)內(nèi)存數(shù) 據(jù)庫202來在PS和BS之間交換該會話相關(guān)的對象。伯克利 (Berkeley)數(shù)據(jù)庫或IBM公司的ObjectGrid可以用作該內(nèi)存數(shù)據(jù) 庫202。內(nèi)存數(shù)據(jù)庫202與PS和BS之間的交互將在下面描述。下面參考圖2描述根據(jù)本發(fā)明的一個(gè)實(shí)施方式的服務(wù)消息處理 系統(tǒng)的操作方法。SIP代理130中的調(diào)度器236周期性地(例如每隔幾秒)同時(shí)向 SIP應(yīng)用服務(wù)器實(shí)例110和120中的JVM監(jiān)視器212和222發(fā)出詢 問信號,以得到各個(gè)JVM的內(nèi)存使用率。如果其中 一個(gè)JVM的內(nèi)存使用率高于一個(gè)閾值,例如高于80%, 并且另一個(gè)JVM的內(nèi)存使用率低于該閾值,那么調(diào)度器236就判定 其內(nèi)存使用率高于該閾值的JVM將出現(xiàn)垃圾收集行為,其所在的SIP 應(yīng)用服務(wù)器實(shí)例作為P S ,而其內(nèi)存使用率低于該閣值的JVM所在的 SIP應(yīng)用服務(wù)器實(shí)例作為BS。在提供同一種服務(wù)的SIP應(yīng)用服務(wù)器實(shí)例的數(shù)目多于兩個(gè)的情 況下,如果至少一個(gè)SIP應(yīng)用服務(wù)器實(shí)例的JVM的內(nèi)存使用率高于 該閾值,并且有至少一個(gè)SIP應(yīng)用服務(wù)器實(shí)例的JVM的內(nèi)存使用率 低于該閾值,那么調(diào)度器236就判定其內(nèi)存使用率高于該閾值的那 些JVM將出現(xiàn)垃圾收集行為,其所在的SIP應(yīng)用服務(wù)器實(shí)例作為PS, 而其內(nèi)存使用率低于該閾值的那些JVM所在的SIP應(yīng)用服務(wù)器實(shí)例 作為BS。然后,調(diào)度器236將更新在SIP代理130中的路由策略數(shù)據(jù)庫 234,或者直接將關(guān)于路由策略修改的信息通知給SIP代理130中的 分派器232。更具體地,調(diào)度器236在路由策略數(shù)據(jù)庫中的目標(biāo)應(yīng)用服務(wù)器 實(shí)例列表中標(biāo)示P S的狀態(tài)為暫時(shí)不可用。然后,調(diào)度器236周期性地(例如每隔幾秒)向PS (例如向作 為PS的SIP應(yīng)用服務(wù)器實(shí)例中的應(yīng)用程序204)詢問在PS上的所 有正在進(jìn)行中的事務(wù)的完成情況。調(diào)度器236根據(jù)在PS上正在進(jìn)行 的事務(wù)的完成情況,發(fā)出一個(gè)命令消息給PS的JVM上的JVM監(jiān)視 器,以觸發(fā)JVM執(zhí)行垃圾收集。例如,可以在PS上正在進(jìn)行的所 有事務(wù)完成之后,或者在PS上正在進(jìn)行的事務(wù)小于一定量時(shí),調(diào)度 器236發(fā)出 一個(gè)命令消息給PS的JVM上的JVM監(jiān)視器,以觸發(fā)JVM 執(zhí)行垃圾收集。在本發(fā)明的一個(gè)實(shí)施方式中,由PS中的JVM執(zhí)行 垃圾收集。當(dāng)然,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,也可以由PS中的操 作系統(tǒng)執(zhí)行垃圾收集,以及如果不是采用JVM而是采用其他的虛擬 機(jī),則對應(yīng)的虛擬機(jī)執(zhí)行垃圾收集操作。應(yīng)當(dāng)理解,在本發(fā)明中,在SIP應(yīng)用服務(wù)器實(shí)例110和120中 可以采用任何類型的JVM,并且也可以采用任何垃圾收集算法。然后,調(diào)度器236周期性地(例如每隔幾毫秒)向PS (例如向 其JVM監(jiān)視器204 )詢問垃圾收集是否完成。在垃圾收集完成之后,調(diào)度器236通過在路由策略數(shù)據(jù)庫234 中的目標(biāo)應(yīng)用服務(wù)器實(shí)例列表中標(biāo)示PS的狀態(tài)為可用,來更新路由 策略數(shù)據(jù)庫234。JVM監(jiān)視器212和222分別運(yùn)行在SIP應(yīng)用服務(wù)器實(shí)例110和 120的各自JVM上,用于監(jiān)視JVM的內(nèi)存使用率。當(dāng)它們從調(diào)度器 236接收到請求查詢JVM的內(nèi)存使用率的消息后,執(zhí)行查詢操作。 Java5.0的規(guī)范提供了詢問JVM內(nèi)存使用率的API。在本發(fā)明的一個(gè)實(shí)施方式中,當(dāng)JVM監(jiān)視器212或222從調(diào)度 器236接收到執(zhí)行垃圾收集的命令后,將調(diào)用system.gc()來觸發(fā)垃圾收集。路由策略數(shù)據(jù)庫234位于SIP代理130中,其受到調(diào)度器236 的控制,并由分派器232所使用。更具體地,路由策略數(shù)據(jù)庫234 包括目標(biāo)應(yīng)用服務(wù)器實(shí)例列表。如上所述,調(diào)度器236可以修改該 在路由策略數(shù)據(jù)庫234中的目標(biāo)應(yīng)用服務(wù)器實(shí)例列表,例如將一個(gè)在該目標(biāo)應(yīng)用服務(wù)器實(shí)例列表中的應(yīng)用服務(wù)器實(shí)例的狀態(tài)標(biāo)示為暫 時(shí)不可用,或者將該應(yīng)用服務(wù)器實(shí)例的狀態(tài)標(biāo)示為可用。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,在上述情況中,調(diào)度器236修改的是已經(jīng)添加到該目標(biāo)應(yīng)用服務(wù)器實(shí)例列表中的應(yīng)用服務(wù)器實(shí)例的狀態(tài)。當(dāng)然,本領(lǐng)域的技術(shù)人員可以理解,也可以是這樣,即當(dāng)判定一個(gè)應(yīng)用服務(wù)器實(shí)例將作為PS時(shí),調(diào)度器236將該應(yīng)用服務(wù)器實(shí)例 從目標(biāo)應(yīng)用服務(wù)器列表中刪除;當(dāng)一個(gè)應(yīng)用服務(wù)器實(shí)例完成垃圾收 集之后,調(diào)度器236將該應(yīng)用服務(wù)器實(shí)例添加到目標(biāo)應(yīng)用服務(wù)器列 表中。該路由策略數(shù)據(jù)庫234是可選的。換句話說,也可以沒有路由 策略數(shù)據(jù)庫234。當(dāng)調(diào)度器236判定一個(gè)JVM需要執(zhí)行垃圾收集時(shí), 它將這個(gè)信息直接告訴給分派器232。這樣,分派器232可以不將服 務(wù)消息分派給具有需要進(jìn)行垃圾收集的JVM的SIP應(yīng)用服務(wù)器實(shí) 例。分派器232在向SIP應(yīng)用服務(wù)器實(shí)例110和120分派接收的服 務(wù)消息(這些服務(wù)消息都來自客戶端140,組成一系列服務(wù)消息)之 前,查詢該路由策略數(shù)據(jù)庫234,以判定服務(wù)消息可以分派到SIP應(yīng) 用服務(wù)器實(shí)例210和220中的哪一個(gè)。例如,如果SIP應(yīng)用服務(wù)器實(shí)例U0在路由策略數(shù)據(jù)庫234的 目標(biāo)應(yīng)用服務(wù)器列表中的狀態(tài)為可用,那么分派器232可以將服務(wù) 消息分派到SIP應(yīng)用服務(wù)器實(shí)例110;如果SIP應(yīng)用服務(wù)器實(shí)例110 在路由策略數(shù)據(jù)庫234的目標(biāo)應(yīng)用服務(wù)器列表中的狀態(tài)為暫時(shí)不可 用,那么分派器232不能將服務(wù)消息分派到SIP應(yīng)用服務(wù)器實(shí)例110。根據(jù)本發(fā)明的實(shí)施方式的服務(wù)消息處理系統(tǒng)有四個(gè)狀態(tài)變異 狀態(tài)、垃圾收集前狀態(tài)、全局垃圾收集狀態(tài)和垃圾收集后狀態(tài)。以 下將詳細(xì)描述這四個(gè)狀態(tài)。變異狀態(tài)在系統(tǒng)剛啟動時(shí),或者當(dāng)在SIP應(yīng)用服務(wù)器實(shí)例110和120中 的 一個(gè)中的垃圾收集完成,并且把屬于這一個(gè)應(yīng)用服務(wù)器實(shí)例的工 作量已經(jīng)切換回該應(yīng)用服務(wù)器實(shí)例時(shí),系統(tǒng)改變到變異狀態(tài)。在該狀態(tài),SIP應(yīng)用服務(wù)器實(shí)例U0和120正常地運(yùn)行。換句話 說,在該狀態(tài),SIP應(yīng)用服務(wù)器實(shí)例IIO和120在路由策略數(shù)據(jù)庫 234的目標(biāo)應(yīng)用服務(wù)器實(shí)例列表中的狀態(tài)都為可用,分派器232根據(jù) SIP應(yīng)用服務(wù)器實(shí)例IIO和120的工作量情況,判定將服務(wù)消息分派 到SIP應(yīng)用服務(wù)器實(shí)例110還是120。在SIP應(yīng)用服務(wù)器實(shí)例110和 120方面,當(dāng)一個(gè)事務(wù)完成時(shí),在內(nèi)存數(shù)據(jù)庫202中更新對應(yīng)的會話 相關(guān)對象。對于在該狀態(tài)的調(diào)度器236,其就JVM的內(nèi)存使用率周期性地 詢問在SIP應(yīng)用服務(wù)器實(shí)例IIO和120的各自JVM上的JVM監(jiān)視 器212和222,并分析得到的這些JVM的內(nèi)存使用率。如上所述的 那樣,基于內(nèi)存使用率信息,該調(diào)度器236判定SIP應(yīng)用服務(wù)器實(shí) 例IIO和120中的哪一個(gè)的JVM應(yīng)當(dāng)執(zhí)行垃圾收集。垃圾收集前狀態(tài)當(dāng)在SIP代理130中的調(diào)度器236決定觸發(fā)在SIP應(yīng)用服務(wù)器 實(shí)例110中的JVM4丸行垃:敗收集,系統(tǒng)進(jìn)入垃圾收集前狀態(tài)。在該 狀態(tài),調(diào)度器236首先更新路由策略數(shù)據(jù)庫234,更具體地說,調(diào)度 器236將在路由策略數(shù)據(jù)庫234的目標(biāo)應(yīng)用服務(wù)器列表中的SIP應(yīng) 用服務(wù)器實(shí)例110的狀態(tài)標(biāo)示為暫時(shí)不可用。如上所述,在該實(shí)施方式中,SIP應(yīng)用服務(wù)器實(shí)例IIO是PS, 而SIP應(yīng)用服務(wù)器實(shí)例120是BS。在該狀態(tài),根據(jù)路由策略數(shù)據(jù)庫234,在SIP代理130中的分派 器232將用于創(chuàng)建新會話的服務(wù)消息分派給SIP應(yīng)用服務(wù)器實(shí)例 120。在該狀態(tài),該分派器232根據(jù)如下準(zhǔn)則,分派屬于這樣的會話 的服務(wù)消息,該會話是在SIP應(yīng)用服務(wù)器實(shí)例IIO上建立的。-用于新的事務(wù),而對應(yīng)的會話是在SIP應(yīng)用服務(wù)器實(shí)例110上的服務(wù)消息將分派到SIP應(yīng)用服務(wù)器實(shí)例120 (除了 CANCEL消 息,其應(yīng)當(dāng)被分派到對應(yīng)INVITE消息分派到的那個(gè)SIP應(yīng)用服務(wù)器 實(shí)例);-用于在SIP應(yīng)用服務(wù)器實(shí)例110上的正在進(jìn)行的事務(wù)的所有 消息將分派到SIP應(yīng)用服務(wù)器實(shí)例110。此外,調(diào)度器236將向SIP應(yīng)用服務(wù)器實(shí)例110(例如向應(yīng)用程 序204)詢問在SIP應(yīng)用服務(wù)器實(shí)例110上是否有未完成的事務(wù)。如 果在SIP應(yīng)用服務(wù)器實(shí)例IIO上沒有未完成的事務(wù),也就是說,所 有的事務(wù)已經(jīng)完成,那么調(diào)度器236將發(fā)送一個(gè)命令給SIP應(yīng)用服 務(wù)器實(shí)例110的JVM監(jiān)視器212,以觸發(fā)JVM進(jìn)行垃圾收集。對于在該狀態(tài)的SIP應(yīng)用服務(wù)器實(shí)例110,它將正常地處理接收 的消息。每當(dāng)一個(gè)事務(wù)完成時(shí),它在內(nèi)存數(shù)據(jù)庫202中更新會話相 關(guān)對象。對于在該狀態(tài)的SIP應(yīng)用服務(wù)器實(shí)例120,其將不但接收用于創(chuàng) 建新會話的服務(wù)消息,而且接收用于創(chuàng)建一個(gè)新的事務(wù)、同時(shí)對應(yīng) 的會話相關(guān)的對象不在本地中的服務(wù)消息。SIP應(yīng)用服務(wù)器實(shí)例120 將詢問內(nèi)存數(shù)據(jù)庫202以荻得相對應(yīng)的會話相關(guān)對象,以處理這種 類型的消息。全局垃圾收集狀態(tài)如果在SIP應(yīng)用服務(wù)器實(shí)例IIO上所有的事務(wù)已經(jīng)完成,那么 系統(tǒng)進(jìn)入全局垃圾收集狀態(tài)。在該狀態(tài)下,調(diào)度器236將發(fā)送一個(gè)命令給SIP應(yīng)用服務(wù)器實(shí) 例110的JVM監(jiān)視器212,以觸發(fā)JVM進(jìn)行垃圾收集。然后,SIP 應(yīng)用服務(wù)器實(shí)例110的JVM執(zhí)行垃圾收集。在該狀態(tài)期間,在SIP代理130中的分派器232將所有消息分 派到SIP應(yīng)用服務(wù)器實(shí)例120,也就是說,所有的工作量暫時(shí)由SIP 應(yīng)用服務(wù)器實(shí)例120處理。SIP應(yīng)用服務(wù)器實(shí)例120處理所有接收的消息,并在每個(gè)事務(wù)結(jié)束后,在內(nèi)存數(shù)據(jù)庫202中更新對應(yīng)的會話相關(guān)的對象。在這個(gè)狀態(tài),調(diào)度器236周期性地詢問SIP應(yīng)用服務(wù)器實(shí)例110 (例如詢問JVM監(jiān)視器212),以檢查在SIP應(yīng)用服務(wù)器實(shí)例110 中的垃圾收集是否已經(jīng)完成。如果調(diào)度器236判定在SIP應(yīng)用服務(wù)器實(shí)例110中已經(jīng)完成垃 圾收集,則系統(tǒng)進(jìn)入到垃圾收集后狀態(tài)。垃圾收集后狀態(tài)在該狀態(tài),在SIP代理130中的調(diào)度器236修改路由策略數(shù)據(jù) 庫234,以把在目標(biāo)應(yīng)用服務(wù)器實(shí)例列表中的SIP應(yīng)用服務(wù)器實(shí)例 110的狀態(tài)再次標(biāo)示為可用。在SIP代理130中的分派器232將基于SIP應(yīng)用服務(wù)器實(shí)例110 和120的工作量來分派用于創(chuàng)建新會話的消息。在該狀態(tài),該分派器232根據(jù)如下準(zhǔn)則,分派屬于這樣的會話 的消息,該會話是在SIP應(yīng)用服務(wù)器實(shí)例110上建立的。-所有用于其對應(yīng)會話在SIP應(yīng)用服務(wù)器實(shí)例H0上的新事務(wù) 的消息將被分派到SIP應(yīng)用服務(wù)器實(shí)例110 (除了 CANCEL消息, 其應(yīng)該被分派到對應(yīng)INVITE消息分派到的應(yīng)用服務(wù)器實(shí)例);-用于在SIP應(yīng)用服務(wù)器實(shí)例120上正在進(jìn)行的事務(wù)的所有消 息將被分派到SIP應(yīng)用服務(wù)器實(shí)例120。在該狀態(tài)中,當(dāng)SIP應(yīng)用服務(wù)器實(shí)例IIO接收到屬于在其上的 正在進(jìn)行的會話的消息時(shí),它首先查詢內(nèi)存數(shù)據(jù)庫202,以檢查在其 本地中的會話相關(guān)對象是否與在內(nèi)存數(shù)據(jù)庫202中的會話相關(guān)對象 相同。如果不相同,SIP應(yīng)用服務(wù)器實(shí)例110將用在內(nèi)存數(shù)據(jù)庫202 中的會話相關(guān)對象同步在本地中的會話相關(guān)對象。然后,SIP應(yīng)用服 務(wù)器實(shí)例IIO處理接收的消息并在對應(yīng)事務(wù)完成后,在內(nèi)存數(shù)據(jù)庫 202中更新會話相關(guān)對象。此外,調(diào)度器236將向SIP應(yīng)用服務(wù)器實(shí)例120(例如向應(yīng)用程序204 )詢問在SIP應(yīng)用服務(wù)器實(shí)例120上是否有這樣的未完成的事 務(wù),該事務(wù)本來應(yīng)當(dāng)在SIP應(yīng)用服務(wù)器實(shí)例IIO上。如果在SIP應(yīng) 用服務(wù)器實(shí)例120上所有這樣的事務(wù)已經(jīng)完成,那么垃圾收集后狀 態(tài)結(jié)束,并且系統(tǒng)再次進(jìn)入到變異狀態(tài)。圖3示出了測試結(jié)果。其中上述測試是在如圖2所示的環(huán)境下 在如下的條件下進(jìn)行的垃圾收集器標(biāo)識-清理-壓縮(mark-swe印-compact)垃圾收集器;內(nèi)存512M在垃圾收集期間轉(zhuǎn)發(fā)會話發(fā)起消息。圖3A示出了在流量一定時(shí), 一段測試時(shí)間里服務(wù)消息的平均處 理延遲,在圖3A中,橫坐標(biāo)代表流量(單位為事務(wù)數(shù)/秒),縱坐 標(biāo)代表服務(wù)消息的平均處理延遲(單位為秒),上面的曲線代表的 是沒有采用根據(jù)本發(fā)明的服務(wù)消息處理方法的情況,而下面的曲線 代表的是采用了根據(jù)本發(fā)明的服務(wù)消息處理方法的情況??梢钥闯?, 當(dāng)采用了本發(fā)明的服務(wù)消息處理方法后,即使流量增加,也沒有顯 著增加服務(wù)消息的平均處理延遲。圖3B示出了在流量一定時(shí), 一段測試時(shí)間里服務(wù)消息的最大處 理延遲,其中,橫坐標(biāo)代表流量(單位為事務(wù)數(shù)/秒),縱坐標(biāo)代表 服務(wù)消息的最大處理延遲(單位為秒),上面的曲線代表的是沒有 采用根據(jù)本發(fā)明的服務(wù)消息處理方法的情況,而下面的曲線代表的 是采用了根據(jù)本發(fā)明的服務(wù)消息處理方法的情況??梢钥闯觯?dāng)采 用了根據(jù)本發(fā)明的服務(wù)消息處理方法之后,即使流量增加,也沒有顯著增加服務(wù)消息的最大處理延遲。 ' 圖3C示出了在沒有采用根據(jù)本發(fā)明的服務(wù)消息處理方法的情 況下,流量一定時(shí), 一段測試時(shí)間里的每個(gè)事務(wù)的響應(yīng)時(shí)間;而圖 3D示出了在采用根據(jù)本發(fā)明的服務(wù)消息處理方法的情況下,流量一 定時(shí), 一段測試時(shí)間里每個(gè)事務(wù)的響應(yīng)時(shí)間。在圖3C和圖3D中, 橫坐標(biāo)代表事務(wù)的序號,縱坐標(biāo)代表響應(yīng)時(shí)間(單位為秒)。從圖 3C和3D可以看出,在采用根據(jù)本發(fā)明的服務(wù)消息處理方法的情況下,可以減小由垃圾收集引起的毛刺。本發(fā)明還可以實(shí)現(xiàn)為 一 種例如由計(jì)算機(jī)系統(tǒng)所使用的計(jì)算機(jī)程 序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品用于系列服務(wù)消息的處理,所述系列 服務(wù)消息由多個(gè)服務(wù)消息組成,其中至少兩個(gè)服務(wù)器實(shí)例提供對所 述系列服務(wù)消息的實(shí)時(shí)處理,并且存儲所述系列服務(wù)消息提供的信 息和處理所述系列服務(wù)消息得到的結(jié)果,所述計(jì)算機(jī)程序產(chǎn)品包括 用于如下的代碼判定所述至少兩個(gè)服務(wù)器實(shí)例中的至少 一 個(gè)服務(wù) 器實(shí)例將出現(xiàn)對所述系列服務(wù)消息的實(shí)時(shí)處理產(chǎn)生影響的行為,以 及將所述系列服務(wù)消息中的后續(xù)服務(wù)消息分派到除所述至少 一 個(gè)服 務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例,以保證消息處理延時(shí)不受所述行 為的影響。這樣的計(jì)算機(jī)程序產(chǎn)品可以存儲在 一 個(gè)存儲載體中。應(yīng)當(dāng)注意,為了使本發(fā)明更容易理解,上面的描述省略了對于本 領(lǐng)域的技術(shù)人員來說是公知的、并且對于本發(fā)明的實(shí)現(xiàn)可能是必需 的更具體的一些4支術(shù)細(xì)節(jié)。提供本發(fā)明的說明書的目的是為了說明和描述,而不是用來窮舉 或?qū)⒈景l(fā)明限制為所公開的形式。對本領(lǐng)域的普通技術(shù)人員而言, 許多修改和變更都是顯而易見的。例如,也可以是這樣,即SIP應(yīng)用服務(wù)器實(shí)例110和120主動地、 周期地向調(diào)度器236報(bào)告各自.TVM的內(nèi)存使用情況;SIP應(yīng)用服務(wù) 器實(shí)例IIO主動地向調(diào)度器236通報(bào)已經(jīng)完成所有的事務(wù);在SIP 應(yīng)用服務(wù)器實(shí)例110中垃圾收集已經(jīng)完成時(shí),SIP應(yīng)用服務(wù)器實(shí)例 110主動地將這一情況通知給調(diào)度器236;以及,SIP應(yīng)用服務(wù)器實(shí) 例120主動地向調(diào)度器236通報(bào)在SIP應(yīng)用服務(wù)器實(shí)例120上已經(jīng) 沒有這樣的事務(wù),該事務(wù)本來應(yīng)當(dāng)在S1P應(yīng)用服務(wù)器實(shí)例110上, 而不是由調(diào)度器23 6通過詢問而得到這些信息。因此,選擇并描述實(shí)施方式是為了更好地解釋本發(fā)明的原理,并 使本領(lǐng)域普通技術(shù)人員明白,在不脫離本發(fā)明實(shí)質(zhì)的前提下,所有 修改和變更均落入由權(quán)利要求所限定的本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1. 一種系列服務(wù)消息的處理方法,所述系列服務(wù)消息由多個(gè)服務(wù)消息組成,其中至少兩個(gè)服務(wù)器實(shí)例提供對所述系列服務(wù)消息的實(shí)時(shí)處理,并且存儲所述系列服務(wù)消息提供的信息和處理所述系列服務(wù)消息得到的結(jié)果,所述方法包括步驟判定所述至少兩個(gè)服務(wù)器實(shí)例中的至少一個(gè)服務(wù)器實(shí)例將出現(xiàn)對所述系列服務(wù)消息的實(shí)時(shí)處理產(chǎn)生影響的行為,以及將所述系列服務(wù)消息中的后續(xù)服務(wù)消息分派到除所述至少一個(gè)服務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例,以保證消息處理延時(shí)不受所述行為的影響。
2. 根據(jù)權(quán)利要求1所述的方法,其中所述信息和結(jié)果存儲在內(nèi) 存數(shù)據(jù)庫中。
3. 根據(jù)權(quán)利要求1所述的方法,其中在所述至少兩個(gè)服務(wù)器實(shí) 例中分別由各自的虛擬機(jī)管理內(nèi)存,并且所述行為包括垃圾收集。
4. 根據(jù)權(quán)利要求3所述的方法,其中所述判定步驟包括步驟 詢問所述至少兩個(gè)服務(wù)器實(shí)例的虛擬機(jī)內(nèi)存使用率, 將所述至少兩個(gè)服務(wù)器實(shí)例的所述虛擬機(jī)內(nèi)存使用率與 一個(gè)閾值相比較,如果有至少 一個(gè)服務(wù)器實(shí)例的所述虛擬機(jī)內(nèi)存使用率高 于所述閾值,并且有至少 一個(gè)服務(wù)器實(shí)例的所述虛擬機(jī)內(nèi)存使用率 低于所述閾值,則判定其虛擬機(jī)內(nèi)存使用率高于所述閾值的該至少 一個(gè)服務(wù)器實(shí)例將出現(xiàn)垃圾收集。
5. 根據(jù)權(quán)利要求1所述的方法,還包括步驟 在所述判定步驟之后,修改路由策略,以避免在所述至少一個(gè)服務(wù)器實(shí)例中所述行為結(jié)束之前,將所述后續(xù)服務(wù)消息分派到所述至 少一個(gè)服務(wù)器實(shí)例。
6. 根據(jù)權(quán)利要求1所述的方法,還包括步驟 在所述判定步驟之后,發(fā)出一個(gè)命令,以觸發(fā)所述至少一個(gè)服務(wù)器實(shí)例進(jìn)行所述行為。
7. 根據(jù)權(quán)利要求6所述的方法,其中所述至少兩個(gè)服務(wù)器實(shí)例作為SIP應(yīng)用服務(wù)器實(shí)例,所述方法還包括步驟詢問在所述至少一個(gè)服務(wù)器實(shí)例上是否還有未完成的事務(wù); 如果在所述至少一個(gè)服務(wù)器實(shí)例上沒有未完成的事務(wù),則發(fā)出所述命令。
8. 根據(jù)權(quán)利要求1所述的方法,還包括步驟 判定所述至少一個(gè)服務(wù)器實(shí)例中所述行為已經(jīng)結(jié)束,以及 修改路由策略,以根據(jù)所述至少兩個(gè)服務(wù)器實(shí)例的工作量分派后續(xù)服務(wù)消息。
9. 根據(jù)權(quán)利要求8所述的方法,其中所述至少兩個(gè)服務(wù)器實(shí)例 作為SIP應(yīng)用服務(wù)器實(shí)例,以及根據(jù)如下準(zhǔn)則,分派屬于這樣的會 話的后續(xù)服務(wù)消息,該會話是在所述至少一個(gè)服務(wù)器實(shí)例上建立的-除了 CANCEL消息,其應(yīng)該被分派到對應(yīng)INVITE消息分派 到的那個(gè)服務(wù)器實(shí)例,所有用于其對應(yīng)會話在所述至少一個(gè)服務(wù)器 實(shí)例上的新事務(wù)的后續(xù)服務(wù)消息將纟皮分派到所述至少 一個(gè)服務(wù)器實(shí) 例;-用于在所述至少一個(gè)服務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例上正 在進(jìn)行的事務(wù)的所有后續(xù)服務(wù)消息將被分派到所述至少兩個(gè)服務(wù)器 實(shí)例中的所述至少 一個(gè)服務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例。
10. 根據(jù)權(quán)利要求1所述的方法,其中所述至少兩個(gè)服務(wù)器實(shí)例 作為SIP應(yīng)用服務(wù)器實(shí)例,以及根據(jù)如下準(zhǔn)則,分派屬于這樣的會 話的后續(xù)服務(wù)消息,該會話是在所述至少一個(gè)服務(wù)器實(shí)例上建立的-除了 CANCEL消息,其應(yīng)當(dāng)被分派到對應(yīng)INVITE消息分派 到的那個(gè)服務(wù)器實(shí)例,用于新的事務(wù),而對應(yīng)的會話是在所述至少 一個(gè)服務(wù)器實(shí)例上的后續(xù)服務(wù)消息將分派到所述至少兩個(gè)服務(wù)器實(shí) 例中的所述至少 一個(gè)服務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例;-用于在所述至少一個(gè)服務(wù)器實(shí)例上的正在進(jìn)行的事務(wù)的所有 后續(xù)服務(wù)消息將分派到所述至少 一 個(gè)服務(wù)器實(shí)例。
11. 一種用于系列服務(wù)消息的處理的設(shè)備,所述系列服務(wù)消息由多個(gè)服務(wù)消息組成,其中至少兩個(gè)服務(wù)器實(shí)例提供對所述系列服務(wù) 消息的實(shí)時(shí)處理,并且存儲所述系列服務(wù)消息提供的信息和處理所述系列服務(wù)消息得到的結(jié)果,所述設(shè)備包括調(diào)度器,用于判定所述至少兩個(gè)服務(wù)器實(shí)例中的至少 一 個(gè)服務(wù)器 實(shí)例將出現(xiàn)對所述系列服務(wù)消息的實(shí)時(shí)處理產(chǎn)生影響的行為,以及分派器,用于將所述系列服務(wù)消息中的后續(xù)服務(wù)消息分派到除所 述至少一個(gè)服務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例,以保證消息處理延時(shí)不受所述行為的影響。
12. 根據(jù)權(quán)利要求11所述的設(shè)備,其中所述信息和結(jié)果存儲在 內(nèi)存數(shù)據(jù)庫中。
13. 根據(jù)權(quán)利要求11所述的設(shè)備,其中在所述至少兩個(gè)服務(wù)器 實(shí)例中分別由各自的虛擬機(jī)管理內(nèi)存,并且所述行為包括垃圾收集。
14. 根據(jù)權(quán)利要求13所述的設(shè)備,其中所述調(diào)度器還用于 詢問所述至少兩個(gè)服務(wù)器實(shí)例的虛擬機(jī)內(nèi)存使用率, 將所述至少兩個(gè)服務(wù)器實(shí)例的所述虛擬機(jī)內(nèi)存使用率與 一個(gè)閾值相比較,如果有至少 一個(gè)服務(wù)器實(shí)例的所述虛擬機(jī)內(nèi)存使用率高 于所述閾值,并且有至少一個(gè)服務(wù)器實(shí)例的所述虛擬機(jī)內(nèi)存使用率 低于所述閾值,則判定其虛擬機(jī)內(nèi)存使用率高于所述閾值的該至少 一個(gè)服務(wù)器實(shí)例將出現(xiàn)垃圾收集。
15. 根據(jù)權(quán)利要求11所述的設(shè)備,還包括 路由策略數(shù)據(jù)庫,以及在判定所述至少兩個(gè)服務(wù)器實(shí)例中的至少一個(gè)服務(wù)器實(shí)例將出 現(xiàn)對所述系列服務(wù)消息的實(shí)時(shí)處理產(chǎn)生影響的行為之后,所述調(diào)度 器在所述路由策略數(shù)據(jù)庫中修改路由策略,以避免在所述至少 一 個(gè) 服務(wù)器實(shí)例中所述行為結(jié)束之前,將所述后續(xù)服務(wù)消息分派到所述 至少一個(gè)服務(wù)器實(shí)例。
16. 根據(jù)權(quán)利要求11所述的設(shè)備,其中所述調(diào)度器還用于 在判定所述至少兩個(gè)服務(wù)器實(shí)例中的至少 一個(gè)服務(wù)器實(shí)例將出現(xiàn)對所述服務(wù)消息串的實(shí)時(shí)處理產(chǎn)生影響的行為之后,發(fā)出 一個(gè)命令,以觸發(fā)所述至少一個(gè)服務(wù)器實(shí)例進(jìn)行所述行為。
17. 根據(jù)權(quán)利要求16所述的設(shè)備,其中所述至少兩個(gè)服務(wù)器實(shí) 例作為SIP應(yīng)用服務(wù)器實(shí)例,所述調(diào)度器還用于詢問在所述至少一個(gè)服務(wù)器實(shí)例上是否還有未完成的事務(wù); 如果在所述至少一個(gè)服務(wù)器實(shí)例上沒有未完成的事務(wù),則發(fā)出所 述命令。
18. 根據(jù)權(quán)利要求11所述的設(shè)備,還包括 路由策略數(shù)據(jù)庫,以及 所述調(diào)度器還用于判定所述至少一個(gè)服務(wù)器實(shí)例中所述行為已經(jīng)結(jié)束,以及 修改路由策略數(shù)據(jù)庫中的路由策略,以根據(jù)所述至少兩個(gè)服務(wù)器 實(shí)例的工作量分派后續(xù)服務(wù)消息。
19. 根據(jù)權(quán)利要求18所述的設(shè)備,其中所述至少兩個(gè)服務(wù)器實(shí) 例作為SIP應(yīng)用服務(wù)器實(shí)例,以及所述分派器根據(jù)如下準(zhǔn)則,分派 屬于這樣的會話的后續(xù)服務(wù)消息,該會話是在所述至少一個(gè)服務(wù)器 實(shí)例上建立的-除了 CANCEL消息,其應(yīng)該被分派到對應(yīng)INVITE消息分派 到的那個(gè)服務(wù)器實(shí)例,所有用于其對應(yīng)會話在所述至少一個(gè)服務(wù)器 實(shí)例上的新事務(wù)的后續(xù)服務(wù)消息將被分派到所述至少一個(gè)服務(wù)器實(shí) 例;-用于在所述至少一個(gè)服務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例上正 在進(jìn)行的事務(wù)的所有后續(xù)服務(wù)消息將被分派到所述至少兩個(gè)服務(wù)器 實(shí)例中的所述至少 一個(gè)服務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例。
20. 根據(jù)權(quán)利要求1所述的設(shè)備,其中所述至少兩個(gè)服務(wù)器實(shí) 例作為SIP應(yīng)用服務(wù)器實(shí)例,以及所述分派器根據(jù)如下準(zhǔn)則,分派 屬于這樣的會話的后續(xù)服務(wù)消息,該會話是在所述至少一個(gè)服務(wù)器 實(shí)例上建立的-除了 CANCEL消息,其應(yīng)當(dāng)被分派到對應(yīng)INVITE消息分派 到的那個(gè)服務(wù)器實(shí)例,用于新的事務(wù),而對應(yīng)的會話是在所述至少一個(gè)服務(wù)器實(shí)例上的后續(xù)服務(wù)消息將分派到所述至少兩個(gè)服務(wù)器實(shí)例中的所述至少 一個(gè)服務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例;-用于在所述至少一個(gè)服務(wù)器實(shí)例上的正在進(jìn)行的事務(wù)的所有 后續(xù)服務(wù)消息將分派到所述至少 一 個(gè)服務(wù)器實(shí)例。
21. —種用于系列服務(wù)消息的處理系統(tǒng),所述系列服務(wù)消息由多 個(gè)服務(wù)消息組成,其中至少兩個(gè)服務(wù)器實(shí)例提供對所述系列服務(wù)消 息的實(shí)時(shí)處理,并且存儲所述系列服務(wù)消息提供的信息和處理所述 系列服務(wù)消息得到的結(jié)果,并且在所述至少兩個(gè)服務(wù)器實(shí)例中由虛 擬機(jī)管理內(nèi)存,所述系統(tǒng)包括調(diào)度器,用于判定所述至少兩個(gè)服務(wù)器實(shí)例中的至少一個(gè)服務(wù)器 實(shí)例將出現(xiàn)對所述系列服務(wù)消息的實(shí)時(shí)處理產(chǎn)生影響的行為,路由策略數(shù)據(jù)庫,用于存儲路由策略,在判定所述至少兩個(gè)服務(wù) 器實(shí)例中的至少 一個(gè)服務(wù)器實(shí)例將出現(xiàn)對所述系列服務(wù)消息的實(shí)時(shí) 處理產(chǎn)生影響的行為后,所述調(diào)度器在所述由策略數(shù)據(jù)庫中修改 路由策略,以避免將后續(xù)服務(wù)消息分派到所述至少 一 個(gè)服務(wù)器實(shí)例,分派器,用于通過訪問路由策略數(shù)據(jù)庫,將所述系列服務(wù)消息中 的后續(xù)服務(wù)消息分派到除所述至少一個(gè)服務(wù)器實(shí)例之外的其他服務(wù) 器實(shí)例,保_〖正消息處理延時(shí)不受所述行為的影響,至少兩個(gè)虛擬機(jī)監(jiān)視器,分別位于所述至少兩個(gè)服務(wù)器實(shí)例的每 一個(gè)上,用于向所述調(diào)度器提供用于判定所述至少兩個(gè)服務(wù)器實(shí)例 中的至少 一個(gè)服務(wù)器實(shí)例將出現(xiàn)對所述系列服務(wù)消息的實(shí)時(shí)處理產(chǎn) 生影響的行為的信息,以及內(nèi)存數(shù)據(jù)庫,用于存儲所述系列服務(wù)消息提供的信息和處理所述 系列服務(wù)消息得到的結(jié)果。
全文摘要
本發(fā)明公開了用于系列服務(wù)消息處理的方法、設(shè)備和系統(tǒng)。在本發(fā)明的系列服務(wù)消息的處理方法中,系列服務(wù)消息由多個(gè)服務(wù)消息組成,并且至少兩個(gè)服務(wù)器實(shí)例提供對系列服務(wù)消息的實(shí)時(shí)處理,并且存儲所述系列服務(wù)消息提供的信息和處理所述系列服務(wù)消息得到的結(jié)果。該方法包括判定至少兩個(gè)服務(wù)器實(shí)例中的至少一個(gè)服務(wù)器實(shí)例將出現(xiàn)對系列服務(wù)消息的實(shí)時(shí)處理產(chǎn)生影響的行為,將系列服務(wù)消息中的后續(xù)服務(wù)消息分派到除該至少一個(gè)服務(wù)器實(shí)例之外的其他服務(wù)器實(shí)例,以保證消息處理延時(shí)不受所述行為的影響。根據(jù)本發(fā)明,可以消除該行為對服務(wù)消息的實(shí)時(shí)處理的影響,同時(shí)避免其他改善服務(wù)消息處理延時(shí)方法所導(dǎo)致的服務(wù)消息吞吐率的顯著下降。
文檔編號H04L12/56GK101242392SQ20071000657
公開日2008年8月13日 申請日期2007年2月6日 優(yōu)先權(quán)日2007年2月6日
發(fā)明者策 于, 博 楊, 田瑞雄, 胡進(jìn)鋒, 薇 陸 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
台南市| 庆阳市| 电白县| 柳林县| 区。| 常山县| 阿克陶县| 临邑县| 西城区| 连江县| 弥勒县| 茶陵县| 八宿县| 东丽区| 泰和县| 修武县| 中方县| 应城市| 长兴县| 南乐县| 尼勒克县| 江西省| 顺昌县| 安泽县| 荔浦县| 定边县| 绥滨县| 区。| 五寨县| 龙山县| 巢湖市| 祁阳县| 连江县| 伊金霍洛旗| 垫江县| 都昌县| 湖北省| 皋兰县| 贵德县| 怀远县| 弥渡县|