亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種消息推送系統(tǒng)及方法

文檔序號:9330655閱讀:803來源:國知局
一種消息推送系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字通信領(lǐng)域,特別是一種消息推送系統(tǒng)及方法。
【背景技術(shù)】
[0002]目前,移動通信已從模擬通信發(fā)展到了數(shù)字移動通信階段,未來移動通信的目標是,能在任何時間、任何地點、向任何人提供快速可靠的通信服務,因此,如何實現(xiàn)即時通信和離線消息的推送受到越來越多的關(guān)注。
[0003]MQTT協(xié)議是一種輕量級的、基于代理的“發(fā)布/訂閱”模式的消息傳輸協(xié)議,協(xié)議簡潔、小巧、可擴展性強、省流量、省電,為移動終端推送量身定制。
[0004]隨著智能操作系統(tǒng)廣泛應用到智能手機、平板電腦以及智能電視中,現(xiàn)有的消息推送方法仍停留在PC時代,無法實現(xiàn)分布式消息推送;使用臃腫的HTTP、XMPP協(xié)議進行通信,寬帶占用高;推送與接入耦合緊密,不能進行伸縮部署,在海量終端的接入、高并發(fā)訪問的情況下,不能及時推送消息,無法滿足千萬級終端接入;對于離線用戶的消息推送不友好,或者根本不支持。

【發(fā)明內(nèi)容】

[0005]本發(fā)明所要解決的技術(shù)問題是,針對現(xiàn)有技術(shù)不足,提供一種消息推送系統(tǒng)及方法。
[0006]為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:一種消息推送系統(tǒng),包括至少一個用于發(fā)放終端認證憑據(jù)、接收消息推送命令、記錄訂閱狀態(tài)和推送狀態(tài)的控制模塊;至少一個用于向終端發(fā)送推送消息的推送模塊;當所述控制模塊數(shù)量為一個時,所述控制模塊與終端、推送模塊通信;當所述控制模塊數(shù)量為兩個以上時,每個控制模塊均與所有的推送模塊通信,其中一個控制模塊與終端通信;其中一個推送模塊與終端通信。
[0007]所述推送模塊與控制模塊數(shù)量比為3:1。
[0008]所述控制模塊與存儲模塊通信。存儲模塊可以存儲海量數(shù)據(jù)信息。
[0009]所述推送模塊與所述控制模塊之間采用全雙工通信方式通信。所述終端與推送模塊之間的通信、控制模塊與推送模塊之間的通信采用不同端口進行隔離,提高系統(tǒng)的安全性。
[0010]一種利用上述消息推送系統(tǒng)進行消息推送的方法,該方法主要實現(xiàn)過程為:終端與控制模塊通信,獲取認證憑據(jù);終端通過輪詢的方法與推送模塊建立連接,并向該推送模塊發(fā)送認證憑據(jù),推送模塊收到認證憑據(jù)后,發(fā)送給控制模塊確認認證憑據(jù)的有效性;驗證有效后推送模塊向終端返回登錄成功的信息;終端向推送模塊訂閱推送頻道,推送模塊將訂閱關(guān)系通知控制模塊,控制模塊記錄此訂閱關(guān)系;由消息發(fā)送方將消息發(fā)送給控制模塊同時指定推送頻道;控制模塊根據(jù)訂閱關(guān)系獲取訂閱終端,并將消息分發(fā)給相應推送模塊;推送模塊將消息推送到具體終端;最后終端返回消息反饋給推送模塊;推送模塊進一步將反饋傳遞給控制模塊;控制模塊記錄此反饋,并標記該消息已被終端接收。
[0011]所述終端與所述推送模塊采用MQTT協(xié)議通信。降低了消息推送的帶寬,提高了消息推送的準確性。
[0012]所述控制模塊確認認證憑據(jù)的有效性的實現(xiàn)過程包括:控制模塊根據(jù)終端的唯一標識,返回代表該終端身份的唯一認證憑據(jù),該認證憑據(jù)在24小時內(nèi)有效;當終端嘗試與多個推送模塊建立連接時,保留最后一個連接;控制模塊記錄終端與推送模塊的連接關(guān)系;終端與推送模塊建立連接后,發(fā)送心跳包維持與該推送模塊的連接。
[0013]與現(xiàn)有技術(shù)相比,本發(fā)明所具有的有益效果為:本發(fā)明支持千萬級終端接入,能夠極大地降低終端接入成本,在海量終端接入和高并發(fā)訪問的情況下,也能夠及時推送消息;支持離線用戶的消息推送;通過MQTT實現(xiàn)分布式消息推送,降低了消息推送的帶寬,提高了消息推送的準確性;本發(fā)明系統(tǒng)的各個模塊相對獨立,可以分散部署在不同的機器上,可根據(jù)終端接入數(shù)目和消息推送數(shù)量動態(tài)調(diào)配服務器資源,達到伸縮部署、高性能、高并發(fā)的目的,實現(xiàn)了分布式消息推送。
【附圖說明】
[0014]圖1為本發(fā)明一實施例結(jié)構(gòu)框圖;
圖2為本發(fā)明實施例離線消息推送流程圖;
圖3為本發(fā)明實施例主動消息推送流程圖。
【具體實施方式】
[0015]如圖1所示,本發(fā)明系統(tǒng)包括推送模塊、控制模塊和存儲模塊。推送模塊與控制模塊之間構(gòu)成雙向全雙工通信,存儲模塊只與控制模塊相連。推送模塊MlOO和終端構(gòu)成全雙工通信,通信使用MQTT協(xié)議;推送模塊MlOO和控制模塊M200同樣是全雙工通信;推送模塊MlOO不和存儲模塊M300直接通信,控制模塊M200和存儲模塊M300之間的通信由控制模塊M200主動發(fā)起。推送模塊MlOO用于向終端發(fā)送推送消息;控制模塊用于發(fā)放終端認證憑據(jù)、接收消息推送、記錄訂閱狀態(tài)和推送狀態(tài);存儲模塊用于存儲數(shù)據(jù);終端與控制模塊之間的連接為短連接,通信完后兩者之間的連接立即斷開。
[0016]本發(fā)明推送方法實現(xiàn)過程為:終端向所述控制模塊通信,獲取認證憑據(jù);終端與推送模塊建立連接,并傳遞憑據(jù)進行認證;推送模塊與控制模塊通信驗證憑據(jù)的有效性,并返回登錄結(jié)果給終端;終端登錄成功后,向推送模塊訂閱相關(guān)的推送頻道;推送模塊向控制模塊通報此訂閱關(guān)系;由消息發(fā)送方將消息發(fā)送給推送模塊并指定推送頻道;控制模塊根據(jù)推送頻道以及記錄的訂閱關(guān)系獲取在線終端;控制模塊將在線終端根據(jù)其所連的推送模塊進行分組,并將消息和終端列表傳遞給推送模塊;推送模塊依次將消息推送給終端列表中的終端;終端收到消息后,向推送模塊返回接收消息的反饋通知;推送模塊向控制模塊上報此反饋,并由控制模塊記錄此反饋。
[0017]終端與推送模塊之間的通信全部采用MQTT協(xié)議。
[0018]控制模塊會根據(jù)終端唯一標識,返回代表該終端身份的唯一認證憑據(jù);認證憑據(jù)只在一定期限內(nèi)有效;一個終端只允許與一個推送模塊建立連接,終端嘗試與多個推送模塊建立連接時,只會保留最后一個連接;在憑證有效期內(nèi)終端可以反復與任意一個推送模塊建立連接進行認證;控制模塊會記錄終端與推送模塊的對應關(guān)系;終端與推送模塊建立連接后,發(fā)送心跳包維持與該推送模塊的連接。
[0019]終端訂閱的推送頻道記錄會在終端離線后清除,終端可以同時訂閱多個推送頻道,終端也可以訂閱之前從未有過的新頻道;控制模塊在保存終端訂閱的推送頻道后,會檢查此頻道已產(chǎn)生的離線消息,并將未過期的消息推送給終端。
[0020]發(fā)送消息指定推送頻道的同時可以指定消息的有效期,消息首先會被送達訂閱此頻道的在線終端,并在消息有效期內(nèi)保存此消息,隨后上線的終端訂閱了此頻道都會收到此消息;終端收到消息后向上進行反饋,確保消息不會被重復送達。
[0021 ] 終端與推送模塊之間的通信,控制模塊與推送模塊之間的通信使用不同端口進行隔尚,提尚系統(tǒng)的安全性。
[0022]推送模塊使用隊列、異步事件處理機制,確保在高并發(fā)情況下不會進行堵塞。<
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1