專利名稱:一種短消息系統(tǒng)中對網(wǎng)元進(jìn)行重試的方法
技術(shù)領(lǐng)域:
本發(fā)明方法涉及電信的短消息技術(shù)領(lǐng)域,尤其涉及的是一種短消息系統(tǒng)中對網(wǎng)元進(jìn)行重試的方法。
背景技術(shù):
最初,人們使用的是某運營商內(nèi)的手機互發(fā)短信服務(wù);隨著運營商之間短信互聯(lián)互通工作的開展,以及點播、定制等應(yīng)用新業(yè)務(wù)的產(chǎn)生,誕生了大量的短信中間網(wǎng)絡(luò)設(shè)備,例如短消息互通網(wǎng)關(guān),短消息業(yè)務(wù)網(wǎng)關(guān)等,這些對短消息進(jìn)行接續(xù)和傳遞的中間網(wǎng)絡(luò)設(shè)備就是短消息網(wǎng)絡(luò)系統(tǒng)中的網(wǎng)元。網(wǎng)元之間的通信大都建立在TCP/IP連接之上,各網(wǎng)元之間按照一定的通信協(xié)議來傳遞數(shù)據(jù)。一般來講,TCP/IP網(wǎng)絡(luò)提供可靠傳輸,網(wǎng)元之間傳遞數(shù)據(jù)是可靠的,成功率很高。但是,在數(shù)據(jù)量大時,可能會出現(xiàn)網(wǎng)絡(luò)繁忙,下一級網(wǎng)元的主機處理不過來的情況,這時候成功率會降低。
為提高網(wǎng)元間傳遞數(shù)據(jù)的可靠性和成功率,就要求網(wǎng)元之間必須進(jìn)行重試。網(wǎng)元之間短消息重發(fā)與短消息中心對用戶進(jìn)行短消息重發(fā)的機制是不一樣的,最核心的區(qū)別是前者是對設(shè)備進(jìn)行重試,后者是對用戶進(jìn)行重試。對用戶進(jìn)行消息重發(fā)是按條進(jìn)行的,而對設(shè)備進(jìn)行消息重發(fā)是批量進(jìn)行的。目前,很多網(wǎng)元之間轉(zhuǎn)發(fā)消息不進(jìn)行重試,這樣在網(wǎng)絡(luò)繁忙的情況下會丟消息;有的做了簡單的重試處理,僅在內(nèi)存中緩存一定量的消息,這樣的重試是不完整和不可靠的;此外,現(xiàn)有技術(shù)中重試過程中沒有考慮對方網(wǎng)元的接收情況,往往出現(xiàn)重試仍然不成功的情況??傊?,當(dāng)前網(wǎng)元之間的重試方法有很多缺陷,重試成功率很低,沒有從根本上提高網(wǎng)元之間傳遞短消息的成功率。
目前尚未發(fā)現(xiàn)有公開的文獻(xiàn)介紹數(shù)據(jù)網(wǎng)絡(luò)中網(wǎng)元之間短消息重試的方法。
發(fā)明內(nèi)容
本發(fā)明的目的,就是提供一種有效的方法來實現(xiàn)網(wǎng)元之間短消息的重試,使網(wǎng)元之間的重試實現(xiàn)如下目標(biāo)1)有效重試,即提高重試的命中率,盡量減少重試后再次進(jìn)行重試的情況;2)平滑重試,即發(fā)送流量控制,通過平滑的重試算法控制單位時間內(nèi)重發(fā)給下一級網(wǎng)元的短消息數(shù)量,盡量減少發(fā)送重試消息導(dǎo)致網(wǎng)絡(luò)繁忙,對端處理不過來的情況;3)重試消息海量存儲,在保證重試消息的迅速發(fā)送的基礎(chǔ)上,實現(xiàn)重試消息海量存儲;4)多網(wǎng)元存儲共享,多個下級網(wǎng)元的重試消息共享存儲空間,動態(tài)分配,提高存儲空間利用率。
為了實現(xiàn)以上目的,需要采取的方法和步驟如下一種短消息系統(tǒng)中對網(wǎng)元進(jìn)行重試的方法,在本網(wǎng)元給下級網(wǎng)元轉(zhuǎn)發(fā)消息失敗后形成重試消息,進(jìn)入重試流程,所述重試消息的存放在重試內(nèi)存,所述重試內(nèi)存已滿時放入到數(shù)據(jù)庫中,以對重試消息進(jìn)行海量存儲。
所述的方法,其中,還包括在系統(tǒng)關(guān)閉時將內(nèi)存中的數(shù)據(jù)保存為文件,系統(tǒng)重啟時將文件內(nèi)容讀入內(nèi)存,從而保證在內(nèi)存中的數(shù)據(jù)不丟失。
所述的方法,其中,所述重試流程對每個目的網(wǎng)元設(shè)置一個重試隊列,其包括以下步驟a)、當(dāng)消息加入重試后,重試模塊首先判斷重試內(nèi)存是否滿,如果沒有滿,則加入到相關(guān)目的網(wǎng)元的重試隊列中;b)、如果重試內(nèi)存已滿,將較長隊列的一條重試消息移動到數(shù)據(jù)庫中,通過分析內(nèi)存數(shù)據(jù)得到當(dāng)前有多少個下級網(wǎng)元有重試消息,從而求出每個網(wǎng)元可重試的平均條數(shù),隨機選擇超過平均條數(shù)的下級網(wǎng)元,其對應(yīng)的最老的重試消息就是需要入庫的消息;c)、內(nèi)存空出一個單元后,再將最新的消息加入重試隊列。
所述的方法,其中,所有重試隊列所需的內(nèi)存資源從重試內(nèi)存塊中荻取,每個目的網(wǎng)元的重試隊列對重試內(nèi)存的占用是動態(tài)的。
所述的方法,其中,所述重試流程對每條進(jìn)入重試的消息設(shè)置優(yōu)先級別,對低優(yōu)先級的消息,順序放入目的網(wǎng)元對應(yīng)的重試隊列的尾部;對高優(yōu)先級的消息,插隊放入目的網(wǎng)元對應(yīng)的重試隊列的頭部。
所述的方法,其中,所述重試流程定時掃描每個網(wǎng)元的重試隊列,將等待重試的消息發(fā)送出去;并發(fā)送的過程中,通過計數(shù)器對流量進(jìn)行控制,當(dāng)計數(shù)器到達(dá)設(shè)定的流量時,停止向該網(wǎng)元發(fā)送,轉(zhuǎn)而處理下一個網(wǎng)元的重試隊列。
所述的方法,其中,所述重試流程定時對數(shù)據(jù)庫里的重試消息進(jìn)行處理;所述重試流程刪除數(shù)據(jù)庫中的過期消息,每條重試消息通過有效期判斷是否過期,過期的消息不必進(jìn)行重發(fā),給源端回發(fā)送過期通知;所述重試流程將需要重試的消息讀入內(nèi)存,放到各個目的網(wǎng)元的重試隊列中,在下一個內(nèi)存掃描的周期被重發(fā)出去。
本發(fā)明方法由于系統(tǒng)采用了兩級緩存,解決了重試內(nèi)存存儲的局限性;通過設(shè)置發(fā)送隊列,實現(xiàn)了多個目的網(wǎng)元對重試內(nèi)存的存儲共享;通過發(fā)送流量控制,實現(xiàn)了對短消息的有效重試和平滑重試;采用以上方法實現(xiàn)的重試流程,能夠完整地解決當(dāng)前短消息重試中的問題,能夠最大限度地提高重試成功率。
圖1是本發(fā)明方法的系統(tǒng)結(jié)構(gòu)示意圖;圖2是本發(fā)明方法的內(nèi)部處理流程圖;圖3是本發(fā)明方法中的短消息進(jìn)入重試處理流程圖;圖4是本發(fā)明方法中的短消息重試定時內(nèi)存掃描處理流程圖;圖5是本發(fā)明方法中的短消息重試定時數(shù)據(jù)庫掃描處理流程圖;圖6是本發(fā)明方法應(yīng)用示例圖-PHS短消息二級網(wǎng)關(guān)示意圖。
具體實施例方式
以下結(jié)合附圖,將對本發(fā)明的各較佳實施例進(jìn)行較為詳細(xì)的說明。
本發(fā)明的所述短消息系統(tǒng)中對網(wǎng)元進(jìn)行重試的方法中,在本網(wǎng)元給下級網(wǎng)元轉(zhuǎn)發(fā)消息失敗后,即進(jìn)入重試流程,重試消息的存放分為兩個部分,一部分放在內(nèi)存中,另外一部分放入到數(shù)據(jù)庫中,也即系統(tǒng)采用兩級緩存,內(nèi)存和數(shù)據(jù)庫。第一級存儲是內(nèi)存,可以提高系統(tǒng)處理的速度;第二級存儲是數(shù)據(jù)庫,可以對重試消息進(jìn)行海量存儲。此外,在系統(tǒng)關(guān)閉時將內(nèi)存中的數(shù)據(jù)保存為文件,系統(tǒng)重啟時將文件內(nèi)容讀入內(nèi)存,從而保證在內(nèi)存中的數(shù)據(jù)不丟失。
本發(fā)明方法的重試流程對每個目的網(wǎng)元設(shè)置一個重試隊列。所有重試隊列所需的內(nèi)存資源從重試內(nèi)存塊中獲取。每個目的網(wǎng)元的重試隊列對重試內(nèi)存的占用是動態(tài)的,即當(dāng)只有一個目的網(wǎng)元需要重試的時候,其重試隊列可以占用整個重試內(nèi)存塊,當(dāng)有多個目的網(wǎng)元需要重試的時候,其重試隊列共同占用重試內(nèi)存塊,當(dāng)重試內(nèi)存塊被占用完成后,較長的隊列中的重試消息會被擠到數(shù)據(jù)庫中,為新加入的重試消息提供空間。
所述重試流程對每條進(jìn)入重試的消息設(shè)置優(yōu)先級別。對低優(yōu)先級的消息,順序放入目的網(wǎng)元對應(yīng)的重試隊列的尾部。對高優(yōu)先級的消息,插隊放入目的網(wǎng)元對應(yīng)的重試隊列的頭部,這樣,在重試的時候,優(yōu)先級別高的消息總是被優(yōu)先重試。
所述重試流程定時掃描每個網(wǎng)元的重試隊列,將等待重試的消息發(fā)送出去。發(fā)送的過程中,通過計數(shù)器對流量進(jìn)行控制,當(dāng)計數(shù)器到達(dá)設(shè)定的流量時,停止向該網(wǎng)元發(fā)送,轉(zhuǎn)而處理下一個網(wǎng)元的重試隊列,從而保證目的網(wǎng)元的有效接收。任何一條重試消息發(fā)送后,該消息占用的空間被歸還到重試內(nèi)存,為下一條新加入的重試消息提供存放空間。
所述重試流程定時對數(shù)據(jù)庫里的重試消息進(jìn)行處理。一方面,重試流程刪除數(shù)據(jù)庫中的過期消息,每條重試消息通過有效期判斷是否過期,過期的消息不必進(jìn)行重發(fā),給源端回送過期通知即可。另一方面,重試流程將需要重試的消息讀入內(nèi)存,放到各個目的網(wǎng)元的重試隊列中,在下一個內(nèi)存掃描的周期被重發(fā)出去。通過數(shù)據(jù)庫處理流程,在設(shè)計流量一定的系統(tǒng)中,能夠控制堆積在數(shù)據(jù)庫中的重試消息的數(shù)量上限,從而保證系統(tǒng)的穩(wěn)定性和可靠性。
如圖1所示是運用本發(fā)明方法的系統(tǒng)結(jié)構(gòu)示意圖,圖中表明了本網(wǎng)元和其他網(wǎng)元的連接關(guān)系以及重試模塊在本網(wǎng)元中的位置。
如圖1中所示,本網(wǎng)元與下級網(wǎng)元A、B、C通過TCP/IP網(wǎng)絡(luò)連接,A、B、C網(wǎng)元都可以同本網(wǎng)元收/發(fā)短消息。本發(fā)明的重試模塊可以作為一個獨立的模塊存在,也可以與本網(wǎng)元的短消息應(yīng)用程序合在一起。這樣做的目的是可以減少重試模塊與短消息應(yīng)用程序之間的耦合,方便實現(xiàn)和擴展。通過進(jìn)程或者線程間通信,重試模塊與短消息應(yīng)用程序完成信息交換。運用了本發(fā)明的重試模塊后,本網(wǎng)元發(fā)往下級網(wǎng)元A、B、C的消息實現(xiàn)可靠重試。
如圖2所示是本發(fā)明的內(nèi)部處理流程圖,圖中說明重試模塊的內(nèi)部結(jié)構(gòu)、外部接口以及內(nèi)存和磁盤間的數(shù)據(jù)交換。
由圖2可見,重試數(shù)據(jù)的保存分為兩部分,內(nèi)存和磁盤,對磁盤的讀寫操作通過數(shù)據(jù)庫接口(DB接口)完成。重試模塊提供一個消息入口重試消息入口。通過該入口,短消息應(yīng)用程序可以加入重試消息。重試模塊提供兩個消息出口重發(fā)消息出口,過期消息出口。通過這兩個出口,重試模塊將重試消息通知到短消息應(yīng)用程序。重試處理流程內(nèi)部不斷從入口接收數(shù)據(jù),控制內(nèi)存和磁盤交換數(shù)據(jù),周期地向出口發(fā)出數(shù)據(jù)。接下來,圖3、圖4和圖5將詳細(xì)說明短消息加入重試的流程,定時內(nèi)存掃描流程和定時數(shù)據(jù)庫掃描流程。
如圖3所示是本發(fā)明中的短消息進(jìn)入重試處理流程圖。
當(dāng)消息加入重試后,重試模塊首先判斷重試內(nèi)存是否滿。如果沒有滿,則加入到相關(guān)目的網(wǎng)元的重試隊列中。
如果已滿,就需要將較長隊列的一條重試消息移動到數(shù)據(jù)庫中。選擇此條消息入庫方法如下通過分析內(nèi)存數(shù)據(jù)得到當(dāng)前有多少個下級網(wǎng)元有重試消息,從而求出每個網(wǎng)元可重試的平均條數(shù),隨機選擇超過平均條數(shù)的下級網(wǎng)元,其對應(yīng)的最老的重試消息就是需要入庫的消息。
內(nèi)存空出一個單元后,再將最新的消息加入重試隊列。由于重試內(nèi)存空間被動態(tài)分配,實現(xiàn)了多個網(wǎng)元共享存儲空間,提高了存儲空間利用率。
如圖4所示是本發(fā)明中的短消息重試定時內(nèi)存掃描處理流程圖。定時內(nèi)存掃描是實現(xiàn)重試的核心流程,在重試模塊中按照設(shè)置的周期觸發(fā)。
進(jìn)入內(nèi)存掃描流程后,重試模塊首先判斷內(nèi)存中是否有消息在等待重試。如果沒有消息等待重試,本次掃描結(jié)束。
如果有消息等待重試,重試模塊依次選取下一級網(wǎng)元的消息進(jìn)行重試,直到掃描完成所有下級網(wǎng)元。
處理第n個下級網(wǎng)元的重試消息時,首先判斷第n個下級網(wǎng)元是否有重試消息,如果沒有,處理第n+1個下級網(wǎng)元;接著判斷第n個下級網(wǎng)元同本網(wǎng)元的連接是否正常,如果沒有連接,也處理第n+1個下級網(wǎng)元。
獲取第n個網(wǎng)元的重試消息后,根據(jù)設(shè)定的有效期判斷本條重試消息是否過期,如果過期,則轉(zhuǎn)發(fā)過期通知,進(jìn)行過期的相應(yīng)處理;如果正常,就對此消息進(jìn)行轉(zhuǎn)發(fā)。
在向下級別網(wǎng)元轉(zhuǎn)發(fā)的過程中,要對發(fā)送給下一級網(wǎng)元的重試消息計數(shù)。當(dāng)計數(shù)器到達(dá)設(shè)定的流量時,停止向該網(wǎng)元發(fā)送,轉(zhuǎn)而處理下一個網(wǎng)元的重試隊列,從而保證目的網(wǎng)元的有效接收。
如圖5所示是本發(fā)明中的短消息重試定時數(shù)據(jù)庫掃描處理流程圖。
內(nèi)存中緩存消息的目的是保證處理速度,但內(nèi)存開銷是有限的,而且為了保證可靠性,內(nèi)存大小是在初始化時就申請好了。所以必然有消息需要從內(nèi)存中倒換到數(shù)據(jù)庫中,見圖3;另一方面,倒換到數(shù)據(jù)庫中的重試消息也需要再次倒換到內(nèi)存中,從而保證消息被重發(fā)出去。
定時數(shù)據(jù)庫掃描也是重試的一個非常重要的處理流程,在重試模塊中依靠定時器周期觸發(fā)。進(jìn)入數(shù)據(jù)庫掃描后,首先檢查重試內(nèi)存消息的占用情況。如果內(nèi)存中緩存的消息量占用內(nèi)存超過閾值,則跳過讀取數(shù)據(jù)進(jìn)入內(nèi)存的流程。
按照設(shè)置的數(shù)量一次從數(shù)據(jù)庫中讀取重試消息。按條處理將重試消息加入內(nèi)存中,如果加入成功,則刪除數(shù)據(jù)庫中對應(yīng)記錄;如果加入失敗,則不刪除記錄,且不再嘗試加入。
按照設(shè)置的數(shù)量一次從數(shù)據(jù)庫中讀取過期消息。逐條轉(zhuǎn)發(fā)過期通知并刪除過期消息。
有了該流程后,可以保證數(shù)據(jù)庫中存儲的消息量大小可控。一方面還原回內(nèi)存中,一方面有清理機制刪除過期消息。
下面描述本發(fā)明在短消息系統(tǒng)設(shè)備--PHS短消息二級網(wǎng)關(guān)中的具體實施例子,見圖6所示,短消息二級網(wǎng)關(guān)連接的網(wǎng)元有短消息一級網(wǎng)關(guān)、短消息中心A、短消息中心B、短消息三級網(wǎng)關(guān)、移動短消息互通網(wǎng)關(guān)A、移動短消息互通網(wǎng)關(guān)B等。某PHS用戶給某移動用戶發(fā)送短信要經(jīng)過的設(shè)備和流程如下短消息首先到達(dá)短消息中心A,短消息中心A送給短消息二級網(wǎng)關(guān),二級網(wǎng)關(guān)轉(zhuǎn)發(fā)給移動短消息互通網(wǎng)關(guān)A,再被轉(zhuǎn)發(fā)到移動短消息中心,最后到達(dá)手機用戶。
系統(tǒng)設(shè)計短消息流量為1000條每秒,一共有10個目的網(wǎng)元。通過統(tǒng)計可知,二級網(wǎng)關(guān)發(fā)送消息一次成功率在97.5%左右,即約有2.5%的消息需要重試。根據(jù)系統(tǒng)設(shè)計流量1000條每秒,可以計算出每秒需要重試的量為25條。如果要在重試內(nèi)存中緩存1個小時的重試消息,則重試內(nèi)存中消息量為25*3600=90000條,加上一定的余量,設(shè)置內(nèi)存重試消息量為100000條。由于每條重試消息占用內(nèi)存500字節(jié),則重試占用系統(tǒng)內(nèi)存約為50M字節(jié)。考慮一些極端的情況,例如,某個下級網(wǎng)元主機宕機或者到該網(wǎng)元的網(wǎng)絡(luò)中斷,則需要重試的短消息流量急劇增長,這時必然使用到數(shù)據(jù)庫存儲。在磁盤空間允許的情況下,數(shù)據(jù)庫文件大小可以設(shè)置為5G到10G。內(nèi)存定時掃描的周期可以設(shè)置為6秒,則每次需要發(fā)出的重試消息為25*6=150條,平均到10個目的網(wǎng)元上,則每個網(wǎng)元每次重發(fā)15條。數(shù)據(jù)庫定時掃描周期也可以設(shè)置為6秒,每次刪除過期消息的量和從數(shù)據(jù)庫中取回內(nèi)存的重試消息量可以根據(jù)實際情況靈活調(diào)整。
當(dāng)同二級網(wǎng)關(guān)相連的任何一個目的網(wǎng)元設(shè)備負(fù)荷重、網(wǎng)絡(luò)擁塞時,就會出現(xiàn)響應(yīng)不過來、拒絕消息甚至斷鏈的情況,短消息二級網(wǎng)關(guān)重試功能啟動。二級網(wǎng)關(guān)將所有需要重試的消息緩存起來。如果有多個目的網(wǎng)元的消息需要重試,二級網(wǎng)關(guān)將按照策略動態(tài)分配存儲空間。同時,二級網(wǎng)關(guān)根據(jù)配置定期對所有目的網(wǎng)元進(jìn)行掃描,如果鏈路是暢通的,就將等待重試的消息發(fā)出。在向目的網(wǎng)元重發(fā)消息的過程中,每次發(fā)送的量和時間間隔根據(jù)配置確定,發(fā)送消息的速度均勻平滑,不對網(wǎng)絡(luò)和目的網(wǎng)元造成沖擊。采用本發(fā)明后的短消息二級網(wǎng)關(guān),消息發(fā)送成功率得到提升。尤其在節(jié)假日大話務(wù)量情況下,效果更加明顯。
應(yīng)該理解的是,上述針對具體實施例的描述較為具體,并不能因此而理解為對本發(fā)明的專利保護(hù)范圍的限制,本發(fā)明的專利保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種短消息系統(tǒng)中對網(wǎng)元進(jìn)行重試的方法,在本網(wǎng)元給下級網(wǎng)元轉(zhuǎn)發(fā)消息失敗后形成重試消息,進(jìn)入重試流程,所述重試消息的存放在重試內(nèi)存,所述重試內(nèi)存已滿時放入到數(shù)據(jù)庫中,以對重試消息進(jìn)行海量存儲。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括在系統(tǒng)關(guān)閉時將內(nèi)存中的數(shù)據(jù)保存為文件,系統(tǒng)重啟時將文件內(nèi)容讀入內(nèi)存,從而保證在內(nèi)存中的數(shù)據(jù)不丟失。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述重試流程對每個目的網(wǎng)元設(shè)置一個重試隊列,其包括以下步驟a)、當(dāng)消息加入重試后,重試模塊首先判斷重試內(nèi)存是否滿,如果沒有滿,則加入到相關(guān)目的網(wǎng)元的重試隊列中;b)、如果重試內(nèi)存已滿,將較長隊列的一條重試消息移動到數(shù)據(jù)庫中,通過分析內(nèi)存數(shù)據(jù)得到當(dāng)前有多少個下級網(wǎng)元有重試消息,從而求出每個網(wǎng)元可重試的平均條數(shù),隨機選擇超過平均條數(shù)的下級網(wǎng)元,其對應(yīng)的最老的重試消息就是需要入庫的消息;c)、內(nèi)存空出一個單元后,再將最新的消息加入重試隊列。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所有重試隊列所需的內(nèi)存資源從重試內(nèi)存塊中獲取,每個目的網(wǎng)元的重試隊列對重試內(nèi)存的占用是動態(tài)的。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述重試流程對每條進(jìn)入重試的消息設(shè)置優(yōu)先級別,對低優(yōu)先級的消息,順序放入目的網(wǎng)元對應(yīng)的重試隊列的尾部;對高優(yōu)先級的消息,插隊放入目的網(wǎng)元對應(yīng)的重試隊列的頭部。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述重試流程定時掃描每個網(wǎng)元的重試隊列,將等待重試的消息發(fā)送出去;并發(fā)送的過程中,通過計數(shù)器對流量進(jìn)行控制,當(dāng)計數(shù)器到達(dá)設(shè)定的流量時,停止向該網(wǎng)元發(fā)送,轉(zhuǎn)而處理下一個網(wǎng)元的重試隊列。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述重試流程定時對數(shù)據(jù)庫里的重試消息進(jìn)行處理;所述重試流程刪除數(shù)據(jù)庫中的過期消息,每條重試消息通過有效期判斷是否過期,過期的消息不必進(jìn)行重發(fā),給源端回發(fā)送過期通知;所述重試流程將需要重試的消息讀入內(nèi)存,放到各個目的網(wǎng)元的重試隊列中,在下一個內(nèi)存掃描的周期被重發(fā)出去。
全文摘要
本發(fā)明的一種短消息系統(tǒng)中對網(wǎng)元進(jìn)行重試的方法,在本網(wǎng)元給下級網(wǎng)元轉(zhuǎn)發(fā)消息失敗后形成重試消息,進(jìn)入重試流程,所述重試消息的存放在重試內(nèi)存,所述重試內(nèi)存已滿時放入到數(shù)據(jù)庫中,以對重試消息進(jìn)行海量存儲。本發(fā)明方法由于系統(tǒng)采用了兩級緩存,解決了重試內(nèi)存存儲的局限性;通過設(shè)置發(fā)送隊列,實現(xiàn)了多個目的網(wǎng)元對重試內(nèi)存的存儲共享;通過發(fā)送流量控制,實現(xiàn)了對短消息的有效重試和平滑重試;采用以上方法實現(xiàn)的重試流程,能夠完整地解決當(dāng)前短消息重試中的問題,能夠最大限度地提高重試成功率。
文檔編號H04W24/00GK1893686SQ200510080390
公開日2007年1月10日 申請日期2005年7月4日 優(yōu)先權(quán)日2005年7月4日
發(fā)明者尹朝東, 劉鋒, 程均, 殷慶 申請人:中興通訊股份有限公司