專利名稱:一種業(yè)務分發(fā)平臺消息推送方法、相關設備及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及通信領域,尤其涉及一種業(yè)務分發(fā)平臺(SDP,Service Delivery Platform)消息推送方法、相關設備及系統(tǒng)。
背景技術:
隨著第三代移動通信3G時代的到來,用戶終端上將能夠使用越來越多的數據 業(yè)務,除了傳統(tǒng)的短信、彩信業(yè)務以外,還可以使用社交網絡服務(SNS,Social Network krvice),推送郵件(Push Mail)業(yè)務,如黑莓的郵件主動推送業(yè)務;即時消息(IM, Instant Message)月艮務,融合地址簿(CAB, Convergent Address Book)等。為提升用戶在用戶終端上使用以上業(yè)務的體驗,可以定制一款社交網絡手機,依 托SDP平臺,可以實現(xiàn)打電話、訪問社交網絡、即時消息、查看好友信息、同步通信簿、收郵 件等功能?,F(xiàn)有的技術方案中,各種數據業(yè)務,用戶終端接收消息的通道皆不同,如短信 是傳統(tǒng)信令網絡下發(fā);彩信是先下發(fā)一條推送(PUSH)消息通知,再通過通用分組無 線業(yè)務(GPRS,General Packet Radio Service)下載消息內容;SNS沒有統(tǒng)一的標 準,SNS需要先下發(fā)通知消息到用戶終端,提示用戶有添加好友請求、好友狀態(tài)更新、 日志更新的通知,用戶終端再通過GPRS查看詳細類容;IM需遵循訪問啟動協(xié)議(SIP, Session Initiation Protocol)、可擴展消息與存在協(xié)議(XMPP,Extensible Messaging and Presence Protocol)標準;CAB需遵循可擴展標記語言配置訪問協(xié)議(XCAP,XML ConfigurationAccess Protocol)禾口 同步的標記語言協(xié)、議(SYNCML, Synchronization Markup Language)規(guī)范;Push Mail 業(yè)務采用電子郵件通知(EMN,Email notification)消 息或交互式郵件存取協(xié)議-空閑模式(IMAP-IDLE Jnternet Mail Access Protocol-IDLE) 下發(fā)通知消息。SDP平臺需要根據不同的數據業(yè)務收發(fā)消息的通道來下發(fā)消息,沒有統(tǒng)一的下發(fā) 通道,造成網絡利用的效率不高;用戶終端若想同時使用多個業(yè)務,則需要根據不同的協(xié)議 通道建立不同的連接以接收消息,這樣會導致用戶終端電池的電量消耗過快,且用戶終端 也需要支持多種協(xié)議的通知機制,使用戶終端軟件的開發(fā)變得復雜。
發(fā)明內容
本發(fā)明實施例提供了一種業(yè)務分發(fā)平臺消息推送方法、相關設備及系統(tǒng),能夠提 高網絡利用率,簡化用戶終端軟件開發(fā),并節(jié)省用戶終端電量。本發(fā)明實施例提供的業(yè)務分發(fā)平臺SDP消息推送方法,包括獲取業(yè)務平臺發(fā)送 的第一通知消息;對所述第一通知消息進行統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二通知消息; 通過IM服務器向用戶終端發(fā)送所述第二通知消息。本發(fā)明實施例提供的SDP消息推送方法,包括接收SDP消息推送裝置所發(fā)送的第 二通知消息,所述第二通知消息是由SDP消息推送裝置對由業(yè)務平臺發(fā)送的第一通知消息進行統(tǒng)一協(xié)議轉換所得到;與用戶終端建立IM網絡連接;優(yōu)先通過所述IM網絡連接向所 述用戶終端發(fā)送所述第二通知消息;判斷通過所述IM網絡連接發(fā)送第二通知消息是否失 敗,若是,則與用戶終端建立傳輸控制協(xié)議TCP連接并通過所述TCP連接向所述用戶終端發(fā) 送第二通知消息,或直接以短消息的方式向所述用戶終端發(fā)送第二通知消息。本發(fā)明實施例提供的SDP消息推送裝置,包括通知消息獲取單元,用于獲取業(yè)務 平臺發(fā)送的第一通知消息;協(xié)議轉換單元,用于當通知消息獲取單元獲取到所述第一通知 消息之后,對所述第一通知消息進行統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二通知消息;通知消 息發(fā)送單元,用于在得到協(xié)議統(tǒng)一的第二通知消息之后,通過IM服務器向用戶終端發(fā)送所 述第二通知消息。本發(fā)明實施例提供的IM服務器,包括接收單元,用于接收SDP消息推送裝置所發(fā) 送的第二通知消息,所述第二通知消息是由SDP消息推送裝置對由業(yè)務平臺發(fā)送的第一通 知消息進行統(tǒng)一協(xié)議轉換所得到;第一連接單元,用于當接收單元接收到所述第二通知消 息之后,與用戶終端建立IM網絡連接;第一發(fā)送單元,用于當第一連接單元與用戶終端建 立IM網絡連接之后,優(yōu)先通過所述IM網絡連接向所述用戶終端發(fā)送所述第二通知消息。本發(fā)明實施例提供的SDP消息推送系統(tǒng),包括SDP消息推送裝置,用于獲取業(yè)務 平臺發(fā)送的第一通知消息,對所述第一通知消息進行統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二 通知消息,通過IM服務器向用戶終端發(fā)送所述第二通知消息;IM服務器,用于接收SDP消 息推送裝置所發(fā)送的第二通知消息,與用戶終端建立IM網絡連接,優(yōu)先通過所述IM網絡連 接向所述用戶終端發(fā)送所述第二通知消息,判斷通過所述IM網絡連接發(fā)送第二通知消息 是否失敗,若是,則與用戶終端建立傳輸控制協(xié)議TCP連接并通過所述TCP連接向所述用戶 終端發(fā)送第二通知消息,或直接以短消息的方式向所述用戶終端發(fā)送第二通知消息。從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點當用戶終端數據業(yè)務較 多,需要下發(fā)的消息較多時,SDP平臺可以通過SDP消息推送裝置接收業(yè)務平臺的第一通知 消息,對協(xié)議不同的第一通知消息進行統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二通知消息,然后 通過IM服務器向用戶終端發(fā)送所述第二通知消息,從而大大提高了網絡利用的效率;其次,用戶終端也僅需要支持所選擇下發(fā)通道的協(xié)議,簡化了用戶終端軟件的開 發(fā)過程;再次,本發(fā)明實施例中可以采用統(tǒng)一的下發(fā)通道,用戶終端可以只建立一種連接 接收通知消息,節(jié)省了用戶終端的耗電量。
圖1是本發(fā)明實施例SDP消息推送方法的一個流程示意圖;圖2是本發(fā)明實施例SDP消息推送方法的另一個流程示意圖;圖3是本發(fā)明實施例SDP消息推送方法的一個具體流程示意圖;圖4是本發(fā)明實施例SDP消息推送方法的另一個具體流程示意圖;圖5是本發(fā)明實施例SDP消息推送方法的另一個流程示意圖;圖6是本發(fā)明實施例消息推送裝置的邏輯結構示意圖;圖7是本發(fā)明實施例IM服務器的邏輯結構示意圖;圖8是本發(fā)明實施例SDP消息推送系統(tǒng)的邏輯結構示意圖。
具體實施例方式本發(fā)明實施例提供了一種業(yè)務分發(fā)平臺消息推送方法、相關設備及系統(tǒng),能夠提 高網絡利用率,簡化用戶終端軟件開發(fā),并節(jié)省用戶終端電量。請參閱圖1,本發(fā)明實施例中業(yè)務分發(fā)平臺SDP消息推送方法的一個實施例包括101、獲取第一通知消息;SDP消息推送裝置獲取業(yè)務平臺發(fā)送的第一通知消息,該第一通知消息包括通知 消息的類型、接收方地址以及消息內容,該通知消息的內容不是指消息的具體內容,指的是 該消息的條數等信息,如(mail. A. 2),其中“mail”指的是消息的類型,“Α”指的是接收方 的地址,“2”指的是消息的條數。在實際應用中,消息內容還可以包括發(fā)送方的姓名和/或地址,此處具體不做限定。該第一通知消息可以是SNS,Email或CAB等業(yè)務平臺所發(fā)送的,也可以是其他業(yè) 務平臺所發(fā)送的,此處具體不作限定。102、統(tǒng)一協(xié)議轉換;SDP消息推送裝置獲取到了各個業(yè)務平臺所發(fā)送的第一通知消息后,由于各個業(yè) 務平臺所使用的協(xié)議存在著不同,所以需要對這些第一通知消息進行統(tǒng)一協(xié)議轉換,得到 協(xié)議統(tǒng)一的第二通知消息。103、發(fā)送第二通知消息;SDP消息推送裝置先向IM服務器發(fā)送協(xié)議統(tǒng)一的第二通知消息,然后再由IM服務 器向用戶終端發(fā)送該第二通知消息。本實施例中具體發(fā)送第二通知消息的方式將在后續(xù)的實施例中進行詳細描述。SDP消息推送裝置獲取業(yè)務平臺的第一通知消息,對協(xié)議不同的第一通知消息進 行統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二通知消息,然后通過IM服務器向用戶終端發(fā)送第二 通知消息,從而大大提高了網絡利用的效率;其次,用戶終端也僅需要支持所選擇下發(fā)通道的協(xié)議,簡化了用戶終端軟件的開 發(fā)過程;再次,本發(fā)明實施例中可以采用統(tǒng)一的下發(fā)通道,用戶終端可以只建立一種連接 接收通知消息,節(jié)省了用戶終端的耗電量。在發(fā)送第二通知消息時,具體的下發(fā)方式可以根據網絡狀態(tài)、網絡帶寬和用戶需 求等情況進行確定,為了便于理解,下面以一具體實施例對本發(fā)明實施例中的SDP消息推 送方法進行描述,請參閱圖2,本發(fā)明實施例中的SDP消息推送方法另一實施例包括201、本實施例中的步驟201的內容與前述圖1所示的實施例中步驟101的內容相 同,此處不再贅述。202、統(tǒng)一協(xié)議轉換;SDP消息推送裝置獲取到了各個業(yè)務平臺所發(fā)送的第一通知消息后,由于各個業(yè) 務平臺所使用的協(xié)議不同,所以需要對這些第一通知消息進行統(tǒng)一協(xié)議轉換,具體的統(tǒng)一 協(xié)議轉換可以包括SDP消息推送裝置獲取第一通知消息的協(xié)議類型,然后對第一通知消息進行解封裝得到消息內容(即消息體),并根據第一通知消息的協(xié)議類型在協(xié)議類型映射關系中查 詢對應的統(tǒng)一協(xié)議;需要說明的是,本實施例中,在SDP消息推送裝置中存儲了各種協(xié)議類型統(tǒng)一轉 換為預置協(xié)議的映射關系,和具體的參數轉換內容,SDP消息推送裝置可以根據第一通知消 息的協(xié)議類型在該映射關系中確定對應的統(tǒng)一協(xié)議。查詢到統(tǒng)一協(xié)議之后,然后按照統(tǒng)一的協(xié)議對解封裝得到的消息內容進行重新封 裝,則可以得到協(xié)議統(tǒng)一的第二通知消息。需要說明的是,本實施例中協(xié)議轉換方式僅為一個例子,在實際應用中,同樣還可 以采用其他的方式進行協(xié)議轉換,具體此處不做限定。203、選擇下發(fā)方式;具體的下發(fā)方式可以根據網絡狀態(tài)、網絡帶寬和用戶需求等情況進行確定,具體 的下發(fā)方式包括直接下發(fā)和條件式下發(fā)。例如,若當前網絡狀態(tài)擁擠,不適宜逐條實時地下發(fā)第二通知消息,即不能直接下 發(fā),則采用條件式下發(fā),先將第二通知消息進行緩存,然后按照系統(tǒng)或用戶所設置的通知策 略進行下發(fā)。再如,若第二通知消息為用戶預先在SDP消息推送裝置中登記的緊急消息(例如 該第二通知消息為通知有重要客戶發(fā)來郵件),則SDP消息推送裝置可以采用直接下發(fā)。若下發(fā)方式為直接下發(fā),則觸發(fā)步驟204 ;若下發(fā)方式為條件式下發(fā),則觸發(fā)步驟 205。具體的下發(fā)方式可以由用戶預先在SDP消息推送裝置中登記的內容確定,也可以 由運營商根據網絡狀態(tài)、網絡帶寬和用戶需求等因素來確定。具體由哪一方確定下發(fā)方式, 此處不作限定。204、直接下發(fā);若采用的是直接下發(fā),SDP消息推送裝置則處理完一條第二通知消息后,就馬上向 IM服務器發(fā)送這條協(xié)議統(tǒng)一的第二通知消息,使得IM服務器向用戶終端發(fā)送該第二通知 消息。205、條件式下發(fā);若采用的是條件式下發(fā),SDP消息推送裝置則按照通知策略向IM服務器發(fā)送協(xié)議 統(tǒng)一的第二通知消息,使得IM服務器向用戶終端發(fā)送該第二通知消息。該通知策略包括系統(tǒng)預置的通知策略和用戶設置的通知策略。系統(tǒng)預置的通知策 略是對所有用戶都有效的默認策略,當用戶沒有自定義控制策略時,SDP消息推送裝置則采 用系統(tǒng)預置的通知策略下發(fā);用戶設置的通知策略是根據用戶自身的喜好和需求自定義的 通知策略。具體通知策略的內容包括通知消息下發(fā)的頻率和通知消息一次所下發(fā)的條數,若 用戶的習慣是一周查看一次通知消息,則通知消息下發(fā)的頻率設置為一周一次;若用戶的 手機信息容量受限,則可根據手機信息容量設置通知消息一次所下發(fā)的條數;或者用戶基 于自身各種條件因素的考慮,可以同時設置通知消息下發(fā)的頻率和一次所下發(fā)的條數,以 更靈活的滿足自身的需求。本發(fā)明實施例中,具體的下發(fā)方式可以根據網絡狀態(tài)、網絡帶寬和用戶需求等情況進行確定,提高了網絡利用效率和用戶體驗。在根據網絡狀態(tài)、網絡帶寬和用戶需求等情況確定了下發(fā)方式之后,用戶還可以 根據上述的條件來設置通知策略。為了便于理解,下面以一具體實施例對本發(fā)明實施例中的SDP消息推送方法進行 描述,請參閱圖3,本發(fā)明實施例中的SDP消息推送方法另一實施例包括301 302、本實施例中的步驟301和302的內容與前述圖2所示的實施例中步驟 201和202的內容相同,此處不再贅述。303、選擇下發(fā)方式;具體的下發(fā)方式可以根據網絡狀態(tài)、網絡帶寬和用戶需求等情況進行確定,具體 的下發(fā)方式包括直接下發(fā)和條件式下發(fā)。若當前網絡狀態(tài)擁擠,不適宜逐條實時地下發(fā)第二通知消息,即不能直接下發(fā),則 采用條件式下發(fā),先將第二通知消息進行緩存,然后按照系統(tǒng)或用戶所設置的通知策略進 行下發(fā)。若下發(fā)方式為直接下發(fā),則觸發(fā)步驟304 ;若下發(fā)方式為條件式下發(fā),則觸發(fā)步驟 305。具體的下發(fā)方式可以由用戶通過手機終端預置的接收模式來確定,也可以由運營 商根據網絡狀態(tài)、網絡帶寬和用戶需求等因素來確定。具體由哪一方確定下發(fā)方式,此處不 作限定。304、直接下發(fā);本實施例中的步驟304的內容與前述圖2所示的實施例中步驟204的內容相同, 此處不再贅述。305、緩存第二通知消息;若下發(fā)方式為條件式下發(fā),SDP消息推送裝置則先緩存第二通知消息。306、判斷是否需要合并;根據通知策略判斷是否需要對緩存后的第二通知消息進行合并,若不需要,則直 接觸發(fā)步驟308 ;若需要,則觸發(fā)步驟307。該通知策略的內容包括通知消息下發(fā)的頻率和通知消息一次所下發(fā)的條數,例 如,通知策略為每5分鐘將所有的第二通知消息發(fā)送給IM服務器,每次只能下發(fā)5條第二 通知消息,但SDP消息推送裝置在5分鐘內緩存了 10條第二通知消息,則此時就需要對第 二通知消息進行合并。307、合并第二通知消息;根據該通知策略對緩存后的第二通知消息進行合并,得到新的第二通知消息。例如,若步驟306中確定需要進行合并,則SDP消息推送裝置將5分鐘內緩存的10 條第二通知消息合并為5條以內新的第二通知消息。308、發(fā)送第二通知消息;SDP消息推送裝置向IM服務器發(fā)送協(xié)議統(tǒng)一的第二通知消息,使得IM服務器向用 戶終端發(fā)送該第二通知消息。SDP消息推送裝置具體可以通過以下方式發(fā)送第二通知消息—、當達到預置周期時,向IM服務器發(fā)送該預置周期內緩存的所有第二通知消息,該預置周期可以為系統(tǒng)的預設值,也可以是用戶設定的;二、當緩存的第二通知消息達到預置數目時,向IM服務器發(fā)送緩存的第二通知消 息,該預置數目可以為系統(tǒng)的預設值,也可以是用戶設定的;三、結合第二通知消息的數目和預置時間,設置并列的條件進行發(fā)送。如若緩存 的第二通知消息達到預置數目,則向IM服務器發(fā)送緩存的第二通知消息;若緩存的第二通 知消息未達到預置數目,但緩存的時間達到預置周期,則向IM服務器發(fā)送該預置周期內緩 存的所有第二通知消息。309、判斷發(fā)送是否成功;SDP消息推送裝置向IM服務器發(fā)送協(xié)議統(tǒng)一的第二通知消息之后,判斷是否接 收到IM服務器反饋的發(fā)送成功報告,若接收到,則觸發(fā)步驟310 ;若沒有收到,則觸發(fā)步驟 311。310、刪除緩存;若接收到IM服務器反饋的發(fā)送成功報告,且發(fā)送時采用條件式下發(fā),則刪除緩存 的第二通知消息。311、重發(fā)第二通知消息;若未接收到IM服務器反饋的發(fā)送成功報告,則按照預置的重發(fā)規(guī)則向IM服務器 重發(fā)該第二通知消息。預置的重發(fā)規(guī)則可以為向IM服務器重發(fā)該第二通知消息,并要求IM服務器以 TCP方式主動連接用戶終端,當IM服務器多次以TCP方式主動連接用戶終端發(fā)送該第二通 知消息仍未成功,則要求IM服務器改用短信息方式發(fā)送該第二通知消息。上述的重發(fā)規(guī)則僅為實際應用中的一個例子,可以理解的是,重發(fā)規(guī)則同樣還可 以有另外的重發(fā)過程,具體此處不作限定。本實施例中通過步驟309的判斷機制判斷通過IM服務器發(fā)送第二通知消息是否 成功,若成功則刪除緩存的第二通知消息,若不成功,則觸發(fā)重發(fā)機制。步驟309至311為 本實施例中的可選方案,不作具體限定。本發(fā)明實施例中,詳細地描述了當下發(fā)方式為條件式時,用戶可以更自由的根據 自身的需求(如身處的環(huán)境,用戶終端的性能)設定通知策略,減少了通知消息下發(fā)的頻 率,提高了通知消息的可靠性,而且當用戶終端沒有成功的收到第二通知消息時,本發(fā)明提 供了自動重發(fā)的機制,使用戶最大可能的收到各業(yè)務平臺所發(fā)送的消息,更進一步的提高 了網絡利用效率和用戶服務體驗。上面是從SDP消息推送裝置側的角度對本發(fā)明實施例中的SDP消息推送方法進行 了描述,下面從IM服務器側進行對本發(fā)明實施例中的SDP消息推送方法進行描述,請參閱 圖4,本發(fā)明實施例中的SDP消息推送方法另一實施例包括401、接收第二通知消息;IM服務器接收SDP消息推送裝置所發(fā)送的第二通知消息,該第二通知消息是由 SDP消息推送裝置對由業(yè)務平臺發(fā)送的第一通知消息進行統(tǒng)一協(xié)議轉換所得到。402、建立IM網絡連接;IM服務器與用戶終端建立IM網絡連接,并記錄用戶終端的IP地址。IM網絡通道所使用的協(xié)議可以包括XMPP協(xié)議和SIP協(xié)議,在實際應用中,IM通道還可以使用其他即時通信協(xié)議,具體此處不做限定。403、發(fā)送第二通知消息;IM服務器優(yōu)先通過該IM網絡連接向用戶終端發(fā)送該第二通知消息,本發(fā)明的IM 服務器具有IM、TCP、SMS三種通道,由于一般SDP消息推送裝置會將第一通知消息統(tǒng)一轉換 為XMPP協(xié)議的第二通知消息,而XMPP協(xié)議是IM通道默認的協(xié)議,所以IM服務器會優(yōu)先選 擇IM網絡連接發(fā)送該第二通知消息。404、記錄IP狀態(tài),清零TCP計數器;IM服務器記錄該用戶終端的IP狀態(tài),IP狀態(tài)用于指示用戶終端當前的IP地址是 否可用。IM服務器將TCP計數器清零,TCP計數器記錄了 IM服務器向用戶終端發(fā)起主動連 接的次數,當超過某一閾值時,IM服務器將不會再發(fā)起TCP連接。405、判斷發(fā)送是否失敗;IM服務器判斷通過該IM網絡連接發(fā)送第二通知消息是否失敗,若是,則觸發(fā)步驟 407;若否,則觸發(fā)步驟406。通過IM網絡連接發(fā)送第二通知消息是否失敗可以根據IM服務器和終端之間的協(xié) 議來判斷。406、反饋發(fā)送成功報告;若IM服務器通過IM網絡連接向用戶終端發(fā)送第二通知消息成功,或通過TCP連 接、短信息方式向用戶終端發(fā)送第二通知消息成功,則向消息推送裝置反饋發(fā)送成功報告, 使得消息推送裝置刪除該第二通知消息的緩存。407、判斷IP狀態(tài)是否可用;IM服務器判斷該用戶終端的IP狀態(tài)是否可用,若不可用,則直接觸發(fā)步驟412 ;若 可用,則觸發(fā)步驟408。408、建立 TCP 連接;IM服務器主動發(fā)起與用戶終端的TCP連接,用于與用戶終端建立TCP網絡通道,發(fā) 送第二通知消息。409、判斷建立TCP連接是否成功;IM服務器判斷與用戶終端建立TCP連接是否成功,若成功,則觸發(fā)步驟411 ;若不 成功,則更新TCP計數器,使TCP連接失敗計數加一,并觸發(fā)步驟410。410、判斷TCP計數器是否達到閾值;IM服務器判斷TCP計數器的累加計算是否達到預置數值,若達到,則直接觸發(fā)步 驟412并設置該用戶終端的IP狀態(tài)為不可用;若未達到,則繼續(xù)嘗試與該用戶終端建立 TCP連接。411、通過TCP發(fā)送第二通知消息;若IM服務器與用戶終端建立TCP連接成功,則通過該TCP連接向該用戶終端發(fā)送 第二通知消息,在發(fā)送成功后關閉TCP通道,向用戶終端發(fā)送重連通知消息,該重連通知消 息用于指示用戶終端主動發(fā)起重連請求。412、通過短信息發(fā)送第二通知消息;若IM服務器與用戶終端建立TCP連接不成功,通過短信息方式向用戶終端發(fā)送第二通知消息,在發(fā)送成功后向用戶終端發(fā)送重連通知消息,該重連通知消息用于指示用戶 終端主動發(fā)起重連請求。本發(fā)明實施例在優(yōu)先采用IM通道下發(fā)第二通知消息失敗的情況下,采用備用的 TCP通道下發(fā),其次再采用短信息的方式下發(fā),使用戶可以最大可能的隨時在線接收通知, 提高了用戶體驗。當通過TCP通道向用戶終端發(fā)送第二通知消息,或以短消息方式向用戶終端發(fā)送 第二通知消息之后,IM服務器會向用戶終端發(fā)送重連通知消息,用于指示用戶終端主動發(fā) 起重連,保證了在下一次通知消息下發(fā)時優(yōu)先以IM通道下發(fā),同時提供給用戶終端了一個 統(tǒng)一的斷連喚醒機制,使得用戶終端不會胡亂的發(fā)起重連,節(jié)省了用戶終端的耗電量。在通過IM網絡連接發(fā)送第二通知消息失敗后,還可以執(zhí)行以下步驟,斷開IM網絡 連接,本發(fā)明實施例中的SDP消息推送方法另一實施例包括一、斷開IM網絡連接;IM服務器在建立IM網絡連接之后,由于通過IM網絡連接發(fā)送第二通知消息失敗, 所建立的IM網絡連接可能長時間閑置,浪費了網絡資源,故若在一段預置時間之內,所建 立的網絡連接沒有任何數據流傳輸,則斷開該IM網絡連接。二、再次接收第二通知消息;IM服務器再次接收新的第二通知消息,并判斷新的第二通知消息中是否含有IM 消息,若有,則觸發(fā)步驟三,若沒有,則觸發(fā)步驟四。三、重連IM網絡;若該新的第二通知消息中包含有IM消息,則在IM服務器接收到新的第二通知消 息后,重新與用戶終端建立IM網絡連接,便于更快速便捷的發(fā)送新的第二通知消息。四、建立TCP或短消息連接;若該新的第二通知消息中沒有包含有IM消息的內容,則與用戶終端建立傳輸控 制協(xié)議TCP連接并通過TCP連接向該用戶終端發(fā)送第二通知消息,或直接以短消息的方式 向該用戶終端發(fā)送第二通知消息。本實施例描述了在通過IM網絡連接發(fā)送第二通知消息失敗的情況下,斷開IM網 絡連接,節(jié)省了網絡資源;并在后續(xù)再收到新的第二通知消息時,根據第二通知消息的內容 判斷該建立什么連接,更有效的提高了發(fā)送第二通知消息的效率。為了便于理解,下面以一具體應用場景對上述的實施例中描述的SDP消息推送方 法再進行詳細描述,請參考圖5,具體為501、業(yè)務平臺發(fā)生事件,下發(fā)通知;業(yè)務平臺發(fā)生事件,需要下發(fā)通知,這些事件如新增好友通知,有新郵件到達或 好友博客更新通知,業(yè)務平臺需要調用SDP消息推送裝置的接口以發(fā)送通知。稱上述通知 為第一通知消息,第一通知消息的內容包括A. B. 2),“QQ”表示是由QQ業(yè)務平臺下發(fā) 的,“A”表示接收方地址,“B”表示發(fā)送方地址,“2”表示有兩條消息。502、統(tǒng)一協(xié)議轉換;SDP消息推送裝置調用與IM服務器的通知接口,獲取第一通知消息的協(xié)議類型 (如Email采用的是IMAP協(xié)議),并對第一通知消息進行解封裝,得到消息內容的參數;然 后根據該協(xié)議類型(IMAP協(xié)議)在協(xié)議類型映射關系中查找對應的映射關系;在SDP消息推送裝置中存儲了各種協(xié)議類型統(tǒng)一轉換為預置協(xié)議類型的映射關系(如管理員設置了 預置的協(xié)議類型為XMPP協(xié)議,所有業(yè)務平臺的通知消息的協(xié)議類型都統(tǒng)一轉換為XMPP協(xié) 議,則該映射關系為=IMAP協(xié)議-XMPP協(xié)議),和具體的參數轉換內容,只要在協(xié)議類型映射 關系中查找到對應的映射關系,進行相應參數的映射轉換,就可以將第一通知消息轉換為 預置協(xié)議類型(XMPP協(xié)議)的第二通知消息。503、查詢通知策略;SDP消息推送裝置查詢通知策略,如果通知策略指示為直接下發(fā),則將第二通知消 息直接下發(fā)給IM服務器;如果通知策略指示為條件式下發(fā),則先將接收的第二通知消息緩 存下來。假設通知策略所設置的條件是通知策略為每5分鐘將所有的第二通知消息發(fā)送 給IM服務器,每次只能下發(fā)5條第二通知消息。但SDP消息推送裝置在該5分鐘內緩存了 10條第二通知消息,其中包括(mail. C. D. 3),(QQ. A. B. 2),(MSN. E. F. 2)等,則SDP消息推 送裝置根據通知策略將每兩條第二通知消息合并為一條新的第二通知消息,如(mail. C. D. 3) ; (QQ. A. B. 2)?;蚣僭O通知策略的條件是每5分鐘,且第二通知消息達到三條時下發(fā)。SDP消息推 送裝置在該5分鐘內緩存的第二通知消息包括(mail. C. D. 3),(QQ. A. B. 2),(MSN. E. F. 2) 等,則SDP消息推送裝置根據通知策略將3條通知消息合并為一條新的第二通知消息,如(mail. C. D. 3) ; (QQ. A. B. 2) ; (MSN. E. F. 2)。504、發(fā)送第二通知消息;SDP消息推送裝置根據通知策略向IM服務器發(fā)送第二通知消息。下發(fā)的通知策略 可以每次發(fā)一條或若干條,由用戶設定。下發(fā)時可以逐條發(fā)送,或先合并在一起再發(fā)送,只 要符合所設定的通知策略就行。505、與用戶終端建立XMPP連接;IM服務器與用戶終端建立XMPP連接,并記錄用戶終端的IP地址、當前的IP狀態(tài), 將TCP計算器清零。506、發(fā)送第二通知消息;IM服務器通過XMPP連接發(fā)送第二通知消息。507、判斷通過XMPP連接發(fā)送成??;IM服務器與用戶終端進行數據鏈接的檢測,若IM服務器在發(fā)送第二通知消息后, 20秒內未收到用戶終端的任何反饋,則確定通過該XMPP網絡連接發(fā)送第二通知消息失敗, 觸發(fā)步驟508 ;若收到用戶終端的反饋,則確定通過該XMPP網絡連接發(fā)送第二通知消息成功,觸 發(fā)步驟513返回成功發(fā)送的狀態(tài)報告。508、判斷IP狀態(tài)是否可用;IM服務器判斷該用戶終端當前的IP狀態(tài)是否可用,若不可用,則直接觸發(fā)步驟 513通過短信息發(fā)送;若可用,則觸發(fā)步驟509。509、建立 TCP 連接;IM服務器主動發(fā)起與用戶終端的TCP連接,用于與用戶終端建立TCP網絡通道,發(fā) 送第二通知消息。
510、判斷建立TCP連接是否成功;IM服務器判斷與用戶終端建立TCP連接是否成功,若成功,則觸發(fā)步驟512 ;若不 成功,則更新TCP計數器,使TCP連接失敗計數加一,并觸發(fā)步驟511。511、判斷TCP計數器是否達到閾值;IM服務器判斷TCP計數器的累加計算是否達到預置數值,若達到,則直接觸發(fā)步 驟513并設置該用戶終端的IP狀態(tài)為不可用;若未達到,則繼續(xù)嘗試與該用戶終端建立 TCP連接。512、通過TCP發(fā)送第二通知消息;若IM服務器與用戶終端建立TCP連接成功,則通過該TCP連接向該用戶終端發(fā)送 第二通知消息,在發(fā)送成功后關閉TCP通道,并觸發(fā)步驟514返回成功發(fā)送的狀態(tài)報告。513、通過短信息發(fā)送第二通知消息;若IM服務器與用戶終端建立TCP連接不成功,通過短信息方式向用戶終端發(fā)送第 二通知消息,并觸發(fā)步驟514返回成功發(fā)送的狀態(tài)報告。514、返回成功發(fā)送的狀態(tài)報告;IM服務器向SDP消息推送裝置返回成功發(fā)送的狀態(tài)報告。515、刪除第二通知消息;SDP消息推送裝置在收到IM服務器返回的成功發(fā)送的狀態(tài)報告后,刪除該5分鐘 內緩存的第二通知消息。下面對用于執(zhí)行上述SDP消息推送方法的本發(fā)明SDP消息推送裝置的實施例進行 說明,其邏輯結構請參考圖6,本發(fā)明實施例中的SDP消息推送裝置一個實施例包括通知消息獲取單元601 用于獲取業(yè)務平臺發(fā)送的第一通知消息;協(xié)議轉換單元602:用于當通知消息獲取單元獲取到第一通知消息之后,對該第 一通知消息進行統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二通知消息;通知消息發(fā)送單元603 用于在得到協(xié)議統(tǒng)一的第二通知消息之后,通過IM服務 器向用戶終端發(fā)送第二通知消息。本發(fā)明實施例中的SDP消息推送裝置還可以進一步包括查詢單元604,用于對第一通知消息進行統(tǒng)一協(xié)議轉換得到協(xié)議統(tǒng)一的第二通知 消息之后,根據第一通知消息中的通知消息類型以及接收方地址查詢對應的通知策略;策略判斷單元605,用于根據通知策略判斷下發(fā)第二通知消息的方式為直接下發(fā) 或條件式下發(fā),若為直接下發(fā),則觸發(fā)通知消息發(fā)送單元603執(zhí)行相應操作;若為條件式下 發(fā),則觸發(fā)緩存單元606執(zhí)行相應操作;緩存單元606,用于當通知策略指示為條件式下發(fā)時,根據通知策略對第二通知消 息進行緩存;合并判斷單元607,用于根據通知策略對第二通知消息進行緩存之后,判斷是否需 要對緩存后的第二通知消息進行合并,若需要,則觸發(fā)合并單元608執(zhí)行相應操作;若不需 要,則直接觸發(fā)通知消息發(fā)送單元603執(zhí)行相應操作;合并單元608,用于根據通知策略對緩存后的第二通知消息進行合并,并得到新的 第二通知消息,觸發(fā)通知消息發(fā)送單元603執(zhí)行相應操作。本發(fā)明實施例中SDP消息推送裝置的協(xié)議轉換單元602還可以進一步包括
15
協(xié)議類型獲取單元,用于獲取第一通知消息的協(xié)議類型;解封裝單元,用于對第一通知消息進行解封裝得到消息內容;查找單元,用于根據第一通知消息的協(xié)議類型在協(xié)議類型映射關系中查詢對應的 統(tǒng)一協(xié)議類型;封裝單元,用于按照統(tǒng)一協(xié)議類型對該消息內容進行封裝,得到第二通知消息。本發(fā)明實施例SDP消息推送裝置的各個單元具體的交互過程如下通知消息獲取單元601獲取業(yè)務平臺發(fā)送的第一通知消息,協(xié)議轉換單元602對 獲取到的第一通知消息進行統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二通知消息。然后查詢單元604根據第一通知消息中的通知消息類型以及接收方地址查詢到 對應的通知策略,該通知策略的內容包括通知消息下發(fā)的頻率和通知消息一次所下發(fā)的條 數。策略判斷單元605根據通知策略判斷下發(fā)第二通知消息的方式為直接下發(fā)或條件式下 發(fā)。若為直接下發(fā),則觸發(fā)通知消息發(fā)送單元603向IM服務器發(fā)送該第二通知消息, 使得IM服務器向用戶終端發(fā)送該第二通知消息;若下發(fā)方式為條件式下發(fā),則緩存單元606通知策略先緩存第二通知消息,緩存 的主要目的有兩個,一是統(tǒng)一時間發(fā)送一定數量的第二通知消息;二是當第二通知消息發(fā) 送失敗后進行重發(fā)。然后合并判斷單元607根據通知策略判斷是否需要對緩存后的第二通 知消息進行合并。若需要,則觸發(fā)合并單元608根據通知策略對緩存后的第二通知消息進 行合并,并得到新的第二通知消息,再觸發(fā)通知消息發(fā)送單元603向IM服務器發(fā)送該第二 通知消息;若不需要,則直接觸發(fā)通知消息發(fā)送單元603向IM服務器發(fā)送該第二通知消息。下面對用于執(zhí)行上述SDP消息推送方法的本發(fā)明IM服務器的實施例進行說明,其 邏輯結構請參考圖7,本發(fā)明實施例中的IM服務器一個實施例包括接收單元701,用于接收SDP消息推送裝置所發(fā)送的第二通知消息,第二通知消息 是由SDP消息推送裝置對由業(yè)務平臺發(fā)送的第一通知消息進行統(tǒng)一協(xié)議轉換所得到;第一連接單元702,用于在接收單元701接收到該第二通知消息之后,與用戶終端 建立IM網絡連接;第一發(fā)送單元703,用于第一連接單元702與用戶終端建立IM網絡連接之后,優(yōu)先 通過該IM網絡連接向用戶終端發(fā)送第二通知消息。發(fā)送判斷單元704,用于判斷通過該IM網絡連接發(fā)送第二通知消息是否失敗,若 是,則觸發(fā)第二連接單元705或第三發(fā)送單元707執(zhí)行相應操作;第二連接單元705,用于與用戶終端建立傳輸控制協(xié)議TCP連接;第二發(fā)送單元706,用于通過TCP連接向用戶終端發(fā)送第二通知消息;第三發(fā)送單元707,用于直接以短消息的方式向用戶終端發(fā)送第二通知消息。本發(fā)明實施例中的IM服務器的第二連接單元705還可以進一步包括記錄單元7051,用于在第一連接單元702與用戶終端建立IM網絡連接之后,記錄 用戶終端的IP狀態(tài)是否可用;TCP計數控制單元7052,用于在第二連接單元705與用戶終端建立TCP連接之前, 對TCP計數器進行清零操作;TCP計數單元7053,用于在建立TCP連接不成功時,TCP計數器加一;
狀態(tài)判斷單元70 ,用于在第二連接單元與用戶終端建立TCP連接之前,判斷用 戶終端的IP狀態(tài)是否可用,若不可用,則觸發(fā)第三發(fā)送單元執(zhí)行相應操作,若可用,則與用 戶終端建立TCP連接;連接判斷單元7055,用于判斷建立TCP連接是否成功,若成功,則觸發(fā)第二發(fā)送單 元706執(zhí)行相應操作,若不成功,則觸發(fā)數值判斷單元7056和TCP計數單元7053執(zhí)行相應 操作;數值判斷單元7056,用于判斷TCP計數器是否達到預置數值,若達到,則觸發(fā)第三 發(fā)送單元707執(zhí)行相應操作,并觸發(fā)記錄單元7051記錄該用戶終端的IP狀態(tài)為不可用,若 未達到,則觸發(fā)第二連接單元705與用戶終端建立TCP連接。本發(fā)明實施例IM服務器的各個單元具體的交互過程如下接收單元701接收SDP消息推送裝置所發(fā)送的第二通知消息,為了轉發(fā)第二通知 消息,第一連接單元702與用戶終端建立IM網絡連接,并記錄用戶終端的IP地址,在連接 建立后,第一發(fā)送單元703優(yōu)先通過該IM網絡連接向用戶終端發(fā)送第二通知消息。發(fā)送判斷單元704根據IM服務器和終端之間的協(xié)議來判斷通過IM網絡連接發(fā)送 第二通知消息是否失敗。若是,則觸發(fā)第二連接單元705與用戶終端建立傳輸控制協(xié)議TCP 連接,或第三發(fā)送單元707直接以短消息的方式向用戶終端發(fā)送第二通知消息。本發(fā)明實施例用TCP通道發(fā)送第二通知消息優(yōu)先于用短信消息發(fā)送,具體在什么 時候建立TCP連接,什么時候以短消息的方式向用戶終端發(fā)送第二通知消息,在第二連接 單元705的子單元中有完整的判斷機制在建立TCP連接之前,記錄單元7051記錄用戶終 端的IP狀態(tài)是否可用,TCP計數控制單元7052將TCP計數器清零,然后狀態(tài)判斷單元70M 判斷用戶終端的IP狀態(tài)是否可用,若不可用,則直接觸發(fā)第三發(fā)送單元707,若可用,則與 用戶終端建立TCP連接。連接判斷單元7055判斷建立TCP連接是否成功,若成功,則觸發(fā) 第二發(fā)送單元706通過TCP連接向用戶終端發(fā)送第二通知消息;若不成功,則觸發(fā)TCP計數 單元7053更新TCP連接次數,并觸發(fā)數值判斷單元7056判斷TCP計數器是否達到預置數 值。若達到閾值,則觸發(fā)第三發(fā)送單元707,若未達到,則觸發(fā)第二連接單元705繼續(xù)與用戶 終端建立TCP連接。下面對用于執(zhí)行上述SDP消息推送方法的本發(fā)明SDP消息推送系統(tǒng)的實施例進行 說明,其邏輯結構請參考圖8,本發(fā)明實施例中的SDP消息推送系統(tǒng)一個實施例包括SDP消息推送裝置801,用于獲取業(yè)務平臺發(fā)送的第一通知消息;對第一通知消息 進行統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二通知消息;通過IM服務器向用戶終端發(fā)送第二通 知消息。即時消息IM服務器802,用于接收SDP消息推送裝置所發(fā)送的第二通知消息,與用 戶終端建立IM網絡連接;優(yōu)先通過IM網絡連接向該用戶終端發(fā)送該第二通知消息;判斷 通過IM網絡連接發(fā)送第二通知消息是否失敗,若是,則與用戶終端建立傳輸控制協(xié)議TCP 連接并通過TCP連接向該用戶終端發(fā)送第二通知消息,或直接以短消息的方式向該用戶終 端發(fā)送第二通知消息。上述系統(tǒng)應用于如圖5實施例中所描述的應用場景。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以 通過程序來指令相關的硬件完成,該程序可以存儲于一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。 以上對本發(fā)明所提供的一種業(yè)務分發(fā)平臺消息推送方法、相關設備及系統(tǒng)進行了 詳細介紹,對于本領域的一般技術人員,依據本發(fā)明實施例的思想,在具體實施方式
及應用 范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
1.一種業(yè)務分發(fā)平臺SDP消息推送方法,其特征在于,包括 獲取業(yè)務平臺發(fā)送的第一通知消息;對所述第一通知消息進行統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二通知消息; 通過IM服務器向用戶終端發(fā)送所述第二通知消息。
2.根據權利要求1所述的方法,其特征在于,所述對第一通知消息進行統(tǒng)一協(xié)議轉換, 得到協(xié)議統(tǒng)一的第二通知消息包括獲取第一通知消息的協(xié)議類型;對所述第一通知消息進行解封裝得到消息內容;根據所述第一通知消息的協(xié)議類型在協(xié)議類型映射關系中查詢對應的統(tǒng)一協(xié)議; 按照所述統(tǒng)一協(xié)議對所述消息內容進行封裝,得到第二通知消息。
3.根據權利要求2所述的方法,其特征在于,所述第一通知消息包括通知消息類型, 接收方地址以及消息內容;所述對第一通知消息進行統(tǒng)一協(xié)議轉換得到協(xié)議統(tǒng)一的第二通知消息之后包括 根據第一通知消息中的通知消息類型以及接收方地址查詢對應的通知策略; 當所述通知策略指示為條件式下發(fā)時,根據所述通知策略對第二通知消息進行緩存。
4.根據權利要求3所述的方法,其特征在于,所述根據通知策略對第二通知消息進行 緩存之后包括判斷是否需要對緩存后的第二通知消息進行合并,若需要,則根據所述通知策略對緩 存后的第二通知消息進行合并,得到新的第二通知消息。
5.根據權利要求3或4所述的方法,其特征在于,所述通過IM服務器向用戶終端發(fā)送 所述第二通知消息包括當達到預置周期時,向IM服務器發(fā)送該時間周期內緩存的第二通知消息; 和/或,當緩存的第二通知消息達到預置數目時,向IM服務器發(fā)送緩存的第二通知消息。
6.根據權利要求3所述的方法,其特征在于,當所述通知策略指示為直接下發(fā)時,所述 通過IM服務器向用戶終端發(fā)送所述第二通知消息具體為直接向所述IM服務器發(fā)送獲得 的第二通知消息。
7.根據權利要求3或4所述的方法,其特征在于,所述通過IM服務器向用戶終端發(fā)送 所述第二通知消息之后包括判斷是否接收到IM服務器反饋的發(fā)送成功報告,若接收到,則刪除緩存的第二通知消 息,若未接收到,則按照預置的重發(fā)規(guī)則向IM服務器重發(fā)所述第二通知消息。
8.—種SDP消息推送方法,其特征在于,包括接收SDP消息推送裝置所發(fā)送的第二通知消息,所述第二通知消息是由SDP消息推送 裝置對由業(yè)務平臺發(fā)送的第一通知消息進行統(tǒng)一協(xié)議轉換所得到; 與用戶終端建立IM網絡連接;優(yōu)先通過所述IM網絡連接向所述用戶終端發(fā)送所述第二通知消息; 判斷通過所述IM網絡連接發(fā)送第二通知消息是否失敗,若是,則與用戶終端建立傳輸 控制協(xié)議TCP連接并通過所述TCP連接向所述用戶終端發(fā)送第二通知消息,或直接以短消 息的方式向所述用戶終端發(fā)送第二通知消息。
9.根據權利要求8所述的方法,其特征在于,所述與用戶終端建立IM網絡連接之后包括記錄用戶終端的IP狀態(tài),并將TCP計數器清零;所述與用戶終端建立TCP連接并通過所述TCP連接向所述用戶終端發(fā)送第二通知消 息,或直接以短消息的方式向所述用戶終端發(fā)送第二通知消息包括判斷所述用戶終端的IP狀態(tài)是否可用,若不可用,則直接以短消息的方式向所述用戶 終端發(fā)送第二通知消息,若可用,與用戶終端建立TCP連接;判斷建立TCP連接是否成功,若成功,則通過所述TCP連接向所述用戶終端發(fā)送第二通 知消息,若不成功,則更新TCP計數器并判斷TCP計數器是否達到預置數值,若未達到,則繼 續(xù)嘗試與所述用戶終端建立TCP連接,若達到,則以短消息的方式向所述用戶終端發(fā)送第 二通知消息,并設置所述用戶終端的IP狀態(tài)為不可用。
10.根據權利要求9所述的方法,其特征在于,當通過TCP通道向用戶終端發(fā)送第二通 知消息,或以短消息方式向用戶終端發(fā)送第二通知消息之后包括向用戶終端發(fā)送重連通知消息,所述重連通知消息用于指示所述用戶終端主動發(fā)起重 連請求;接收用戶終端發(fā)送的主動重連IM網絡的請求; 根據所述請求與所述用戶終端建立IM網絡連接。
11.根據權利要求8所述的方法,其特征在于,所述與用戶終端建立IM網絡連接之后包括若在預置時間內,沒有通過所述IM網絡連接發(fā)送第二通知消息,則斷開所述IM網絡連接。
12.根據權利要求11所述的方法,其特征在于,所述斷開IM網絡連接之后包括若收到新的第二通知消息,則判斷所述新的第二通知消息中是否包含有IM消息,若 有,則與用戶終端再次建立IM網絡連接。
13.一種SDP消息推送裝置,其特征在于,包括通知消息獲取單元,用于獲取業(yè)務平臺發(fā)送的第一通知消息; 協(xié)議轉換單元,用于當通知消息獲取單元獲取到所述第一通知消息之后,對所述第一 通知消息進行統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二通知消息;通知消息發(fā)送單元,用于在得到協(xié)議統(tǒng)一的第二通知消息之后,通過IM服務器向用戶 終端發(fā)送所述第二通知消息。
14.根據權利要求13所述的SDP消息推送裝置,其特征在于,所述SDP消息推送裝置還 包括查詢單元,用于所述對第一通知消息進行統(tǒng)一協(xié)議轉換得到協(xié)議統(tǒng)一的第二通知消息 之后,根據第一通知消息中的通知消息類型以及接收方地址查詢對應的通知策略;策略判斷單元,用于根據所述通知策略判斷下發(fā)第二通知消息的方式為直接下發(fā)或條 件式下發(fā),若為直接下發(fā),則觸發(fā)通知消息發(fā)送單元執(zhí)行相應操作;若為條件式下發(fā),則觸 發(fā)緩存單元執(zhí)行相應操作;緩存單元,用于當所述通知策略指示為條件式下發(fā)時,根據所述通知策略對第二通知 消息進行緩存。
15.根據權利要求14所述的SDP消息推送裝置,其特征在于,所述SDP消息推送裝置還 包括合并判斷單元,用于當所述緩存單元根據通知策略對第二通知消息進行緩存之后,判 斷是否需要對緩存后的第二通知消息進行合并,若需要,則觸發(fā)合并單元執(zhí)行相應操作;若 不需要,則觸發(fā)通知消息發(fā)送單元執(zhí)行相應操作;合并單元,用于根據所述通知策略對緩存后的第二通知消息進行合并,并得到新的第 二通知消息,觸發(fā)通知消息發(fā)送單元執(zhí)行相應操作。
16.根據權利要求13所述的SDP消息推送裝置,其特征在于,所述協(xié)議轉換單元包括 協(xié)議類型獲取單元,用于獲取第一通知消息的協(xié)議類型;解封裝單元,用于對所述第一通知消息進行解封裝得到消息內容; 查找單元,用于根據所述第一通知消息的協(xié)議類型在協(xié)議類型映射關系中查詢對應的 統(tǒng)一協(xié)議;封裝單元,用于按照所述統(tǒng)一協(xié)議對所述消息內容進行封裝,得到第二通知消息。
17.—種IM服務器,其特征在于,包括接收單元,用于接收SDP消息推送裝置所發(fā)送的第二通知消息,所述第二通知消息是 由SDP消息推送裝置對由業(yè)務平臺發(fā)送的第一通知消息進行統(tǒng)一協(xié)議轉換所得到;第一連接單元,用于當接收單元接收到所述第二通知消息之后,與用戶終端建立IM網 絡連接;第一發(fā)送單元,用于當第一連接單元與用戶終端建立IM網絡連接之后,優(yōu)先通過所述 IM網絡連接向所述用戶終端發(fā)送所述第二通知消息。
18.根據權利要求17所述的IM服務器,其特征在于,所述IM服務器還包括 發(fā)送判斷單元,用于判斷通過所述IM網絡連接發(fā)送第二通知消息是否失敗,若是,則觸發(fā)第二連接單元或第三發(fā)送單元執(zhí)行相應操作;第二連接單元,用于與用戶終端建立傳輸控制協(xié)議TCP連接; 第二發(fā)送單元,用于通過所述TCP連接向所述用戶終端發(fā)送第二通知消息; 第三發(fā)送單元,用于直接以短消息的方式向所述用戶終端發(fā)送第二通知消息。
19.根據權利要求18所述的IM服務器,其特征在于,所述第二連接單元包括 記錄單元,用于在第一連接單元與用戶終端建立IM網絡連接之后,記錄用戶終端的IP狀態(tài)是否可用;TCP計數控制單元,用于在第二連接單元與用戶終端建立TCP連接之前,對TCP計數器 進行清零操作;TCP計數單元,用于在建立TCP連接不成功時,計數器加一;狀態(tài)判斷單元,用于在第二連接單元與用戶終端建立TCP連接之前,判斷所述用戶終 端的IP狀態(tài)是否可用,若不可用,則觸發(fā)第三發(fā)送單元執(zhí)行相應操作,若可用,則觸發(fā)第二 連接單元執(zhí)行相應操作;連接判斷單元,用于判斷建立TCP連接是否成功,若成功,則觸發(fā)第二發(fā)送單元執(zhí)行相 應操作,若不成功,則觸發(fā)數值判斷單元和TCP計數單元執(zhí)行相應操作;數值判斷單元,用于判斷TCP計數器是否達到預置數值,若達到,則觸發(fā)第三發(fā)送單元 執(zhí)行相應操作,并觸發(fā)記錄單元記錄所述用戶終端的IP狀態(tài)為不可用,若未達到,則觸發(fā)第二連接單元執(zhí)行相應操作。
20. 一種SDP消息推送系統(tǒng),其特征在于,包括SDP消息推送裝置,用于獲取業(yè)務平臺發(fā)送的第一通知消息,對所述第一通知消息進行 統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二通知消息,通過IM服務器向用戶終端發(fā)送所述第二通 知消息;IM服務器,用于接收SDP消息推送裝置所發(fā)送的第二通知消息,與用戶終端建立IM網 絡連接,優(yōu)先通過所述IM網絡連接向所述用戶終端發(fā)送所述第二通知消息,判斷通過所述 IM網絡連接發(fā)送第二通知消息是否失敗,若是,則與用戶終端建立傳輸控制協(xié)議TCP連接 并通過所述TCP連接向所述用戶終端發(fā)送第二通知消息,或直接以短消息的方式向所述用 戶終端發(fā)送第二通知消息。
全文摘要
本發(fā)明實施例公開了一種業(yè)務分發(fā)平臺消息推送方法、相關設備及系統(tǒng),能夠提高網絡利用率,簡化用戶終端軟件開發(fā),并節(jié)省用戶終端電量。本發(fā)明實施例方法包括獲取業(yè)務平臺發(fā)送的第一通知消息;對所述第一通知消息進行統(tǒng)一協(xié)議轉換,得到協(xié)議統(tǒng)一的第二通知消息;通過IM服務器向用戶終端發(fā)送所述第二通知消息。本發(fā)明實施例還提供了實現(xiàn)該方法的裝置和相關系統(tǒng)。
文檔編號H04L29/08GK102143444SQ201010273420
公開日2011年8月3日 申請日期2010年9月2日 優(yōu)先權日2010年9月2日
發(fā)明者柳正, 黃偉 申請人:華為技術有限公司