新四季網

一種實現消息穩定推送的方法、裝置及系統的製作方法

2023-10-06 16:53:14

一種實現消息穩定推送的方法、裝置及系統的製作方法
【專利摘要】本發明公開了一種實現消息穩定推送的方法、裝置及系統,用於提高消息推送的穩定性,該方法包括:獲取待推送消息後,將待推送消息進行緩存,並記錄待推送消息的消息發送狀態;檢測終端的網絡連接狀態,並記錄網絡連接狀態;根據消息發送狀態以及網絡連接狀態,判斷是否進行消息推送;如果判斷進行消息推送,則向終端發送喚醒信號,在接收到終端回復的喚醒信號的響應信號後,將緩存的待推送消息推送至終端,並根據終端反饋的消息獲取狀態更新消息發送狀態。
【專利說明】一種實現消息穩定推送的方法、裝置及系統

【技術領域】
[0001]本發明涉及網際網路【技術領域】,具體涉及一種實現消息穩定推送的方法、裝置及系統。

【背景技術】
[0002]隨著通訊技術的進步,使得企業移動辦公突破了傳統的限制,獲得的巨大的發展空間。當前的移動應用幾乎都提供消息推送功能,在現有技術中這些消息推送都是沒有狀態標誌的,例如使用APNS (Apple Push Notificat1n Service,蘋果推送通知服務)或者GCM(Google Cloud Messaging for Android,谷歌雲消息)進行應用消息推送時,只要消息發出即認為消息推送成功。
[0003]但是,消息通過公網環境進行傳輸,由於公網環境不穩定狀態時常出現,存在消息推送後丟失的情況。因此,這種現有技術的消息推送方式無法保證消息成功推送到客戶端,由於無法保證消息能夠穩定成功推送,尤其在企業移動應用上存在很大的安全隱患,例如在企業進行移動端管控時,推送的命令如果丟失可能會導致辦公流程中斷或其他安全問題的出現。


【發明內容】

[0004]有鑑於此,本發明提供一種實現消息穩定推送的方法、裝置及系統,以解決現有技術中無法保證消息成功推送到客戶端的技術問題。
[0005]為解決上述問題,本發明提供的技術方案如下:
[0006]一種實現消息穩定推送的方法,所述方法包括:
[0007]獲取待推送消息後,將所述待推送消息進行緩存,並記錄所述待推送消息的消息發送狀態;
[0008]檢測終端的網絡連接狀態,並記錄所述網絡連接狀態;
[0009]根據所述消息發送狀態以及所述網絡連接狀態,判斷是否進行消息推送;
[0010]如果判斷進行消息推送,則向所述終端發送喚醒信號,在接收到所述終端回復的所述喚醒信號的響應信號後,將緩存的所述待推送消息推送至所述終端,並根據所述終端反饋的消息獲取狀態更新所述消息發送狀態。
[0011]相應的,所述消息發送狀態的初始狀態為消息未發送,所述根據所述終端反饋的消息獲取狀態更新消息發送狀態,包括:
[0012]當所述終端反饋的消息獲取狀態為消息獲取成功,則將消息發送狀態由消息未發送更新為消息推送成功;
[0013]當所述終端反饋的消息獲取狀態為消息獲取失敗,則將消息發送狀態由消息未發送更新為消息推送失敗。
[0014]相應的,所述根據所述消息發送狀態以及所述網絡連接狀態,判斷是否進行消息推送,包括:
[0015]當所述消息發送狀態為消息未發送或消息推送失敗時,則讀取所述網絡連接狀態;
[0016]當根據所述網絡連接狀態確定連接穩定時,則判斷進行消息推送;
[0017]當根據所述網絡連接狀態確定連接不穩定時,則通過所述網絡連接狀態獲取所述終端的信號強度以及安全等級,由所述信號強度以及所述安全等級確定消息傳輸成功率,當所述消息傳輸成功率大於閾值時,則判斷進行消息推送。
[0018]相應的,所述方法還包括:
[0019]如果沒有判斷進行消息推送,則將所述消息發送狀態保持為當前狀態,並在預設時間後重複執行根據所述消息發送狀態以及所述網絡連接狀態,判斷是否進行消息推送;
[0020]判斷所述待推送消息是否超過保存期限,如果是,則刪除所述待推送消息以及對應的消息發送狀態。
[0021 ] 一種實現消息穩定推送的方法,所述方法包括:
[0022]檢測網絡連接狀態,並向消息推送伺服器上報所述網絡連接狀態,以使所述消息推送伺服器根據消息發送狀態以及所述網絡連接狀態判斷是否進行消息推送;
[0023]在所述消息推送伺服器判斷進行消息推送時,接收消息推送伺服器發送的喚醒信號,並向所述消息推送伺服器回復所述喚醒信號的響應信號;
[0024]接收所述消息推送伺服器推送的待推送信息;
[0025]對接收的所述待推送信息進行校驗,根據校驗結果向所述消息推送伺服器反饋消息獲取狀態。
[0026]一種實現消息穩定推送的裝置,所述裝置包括:
[0027]緩存單元,用於獲取待推送消息後,將所述待推送消息進行緩存;
[0028]第一記錄單元,用於記錄所述待推送消息的消息發送狀態;
[0029]檢測單元,用於檢測終端的網絡連接狀態;
[0030]第二記錄單元,用於記錄所述網絡連接狀態;
[0031]第一判斷單元,用於根據所述消息發送狀態以及所述網絡連接狀態,判斷是否進行消息推送;
[0032]發送單元,用於如果判斷進行消息推送,則向所述終端發送喚醒信號;
[0033]消息推送單元,用於在接收到所述終端回復的所述喚醒信號的響應信號後,將所述緩存單元緩存的所述待推送消息推送至所述終端;
[0034]更新單元,用於根據所述終端反饋的消息獲取狀態更新所述第一記錄單元中記錄的所述消息發送狀態。
[0035]相應的,所述消息發送狀態的初始狀態為消息未發送,所述更新單元具體用於:
[0036]當所述終端反饋的消息獲取狀態為消息獲取成功,則將消息發送狀態由消息未發送更新為消息推送成功;
[0037]當所述終端反饋的消息獲取狀態為消息獲取失敗,則將消息發送狀態由消息未發送更新為消息推送失敗;
[0038]所述第一判斷單元包括:
[0039]讀取子單元,用於當所述消息發送狀態為消息未發送或消息推送失敗時,則讀取所述網絡連接狀態;
[0040]第一判斷子單元,用於當根據所述網絡連接狀態確定連接穩定時,則判斷進行消息推送;
[0041]第二判斷子單元,用於當根據所述網絡連接狀態確定連接不穩定時,則通過所述網絡連接狀態獲取所述終端的信號強度以及安全等級,由所述信號強度以及所述安全等級確定消息傳輸成功率,當所述消息傳輸成功率大於閾值時,則判斷進行消息推送。
[0042]相應的,所述裝置還包括:
[0043]保持單元,用於如果沒有判斷進行消息推送,則將所述消息發送狀態保持為當前狀態,並在預設時間後返回所述第一判斷單元執行根據所述消息發送狀態以及所述網絡連接狀態,判斷是否進行消息推送;
[0044]第二判斷單元,用於判斷所述待推送消息是否超過保存期限;
[0045]刪除單元,用於如果所述第二判斷單元的判斷結果為是,則刪除所述待推送消息以及對應的消息發送狀態。
[0046]一種實現消息穩定推送的裝置,所述裝置包括:
[0047]檢測單元,用於檢測網絡連接狀態;
[0048]上報單元,用於向消息推送伺服器上報所述網絡連接狀態,以使所述消息推送伺服器根據消息發送狀態以及所述網絡連接狀態判斷是否進行消息推送;
[0049]第一接收單元,在所述消息推送伺服器判斷進行消息推送時,接收消息推送伺服器發送的喚醒信號;
[0050]發送單元,用於向所述消息推送伺服器回復所述喚醒信號的響應信號;
[0051]第二接收單元,用於接收所述消息推送伺服器推送的待推送信息;
[0052]反饋單元,用於對接收的所述待推送信息進行校驗,根據校驗結果向所述消息推送伺服器反饋消息獲取狀態。
[0053]一種實現消息穩定推送的系統,所述系統包括:
[0054]消息推送伺服器以及終端;
[0055]所述消息推送伺服器,是上述第一種實現消息穩定推送的裝置;
[0056]所述終端,是上述第二種實現消息穩定推送的裝置。
[0057]由此可見,本發明實施例具有如下有益效果:
[0058]本發明實施例中消息推送伺服器將消息進行緩存並記錄消息的發送狀態,根據當前網絡連接狀態以及消息發送狀態判斷是否可以進行消息推送,在網絡環境良好且消息未發送到終端的情況下再進行推送,可以提供消息推送的成功率,且在消息推送的過程中,先喚醒終端在終端響應喚醒信號後再推送消息,即終端主動獲取消息,並且終端可以反饋消息推送是否成功,進一步提高了消息推送的成功率,實現了消息推送的可靠傳輸,尤其在企業移動應用中減少了由於消息推送產生的安全隱患。

【專利附圖】

【附圖說明】
[0059]圖1為本發明實施例中提供的實現消息穩定推送的方法實施例一的流程圖;
[0060]圖2為本發明實施例中多維Fuzzy推理模型的示意圖;
[0061]圖3為本發明實施例中提供的實現消息穩定推送的方法實施例二的流程圖;
[0062]圖4為本發明實施例中提供的實現消息穩定推送的方法實施例三的流程圖;
[0063]圖5為本發明實施例中提供的實現消息穩定推送的裝置實施例一的示意圖;
[0064]圖6為本發明實施例中提供的實現消息穩定推送的裝置實施例二的示意圖;
[0065]圖7為本發明實施例中提供的實現消息穩定推送的系統實施例一的示意圖;
[0066]圖8為本發明實施例中提供的實現消息穩定推送的系統實施例二的示意圖。

【具體實施方式】
[0067]為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本發明實施例作進一步詳細的說明。
[0068]在現有技術中移動推送服務通常使用輪詢方式(即客戶端定時向伺服器發送獲取消息請求)或長連接方式(即伺服器向終端主動發送消息)。大多數現有產品採用消息推送伺服器與企業移動終端設備保持長連接的方式,以保證消息推送的實效性,但是,缺少數據保障機制,無法保證消息可以成功推送。本發明實施例中提出的實現消息穩定推送的方法、裝置及系統,以長連接技術為基礎,對消息進行緩存設計,通過伺服器向終端客戶端推送「存有消息」的提示,終端再主動獲取,並進行多次握手驗證,實現消息推送的穩定送達,極大程度提高了消息推送的成功率與穩定性。
[0069]基於上述思想,參見圖1所示,是本發明實施例中提供的實現消息穩定推送的方法實施例一,本實施例將從實現消息穩定推送的裝置角度進行描述,該實現消息穩定推送的裝置具體可以裝載在消息推送伺服器中,本實施例可以包括以下步驟:
[0070]步驟101:獲取待推送消息後,將待推送消息進行緩存,並記錄待推送消息的消息發送狀態。
[0071]消息推送伺服器首先接收移動應用後臺服務需要向終端推送的消息,即接收待推送消息,將待推送消息進行解析並緩存,確保消息在傳輸出現問題或未送達終端時能夠進行再次推送,同時也為後期審計工作提供數據源。對待推送消息進行解析可以獲得消息類型,所對應發送的終端標識等內容,待推送消息可以為文本消息或通知、系統命令、文件等不同消息類型。同時可以記錄待推送消息的消息發送狀態,消息發送狀態的初始狀態為消息未發送,消息發送狀態還可以包括消息推送失敗、消息推送成功等,消息發送狀態為判斷是否向終端進行消息推送的一個判斷因素。
[0072]步驟102:檢測終端的網絡連接狀態,並記錄網絡連接狀態。
[0073]消息推送伺服器可以主動向終端發送網絡連接檢測請求,例如可以向終端定時發送心跳信號,再接收終端回復的心跳信號的響應信號以檢測終端的網絡連接狀態;也可以接收終端主動上報的網絡連接狀態,即消息推送伺服器接收終端定時主動上報的網絡連接狀態。網絡連接狀態可以包括消息推送伺服器與終端之間的是否連接穩定、終端的信號強度以及安全等級等方面內容,網絡連接狀態為判斷是否向終端進行消息推送的另一個判斷因素。
[0074]步驟103:根據消息發送狀態以及網絡連接狀態,判斷是否進行消息推送。
[0075]在本發明的一些實施例中,本步驟的具體實現可以包括:當消息發送狀態為消息未發送或消息推送失敗時,則讀取網絡連接狀態;
[0076]當根據網絡連接狀態確定連接穩定時,則判斷進行消息推送;
[0077]當根據網絡連接狀態確定連接不穩定時,則通過網絡連接狀態獲取終端的信號強度以及安全等級,由信號強度以及安全等級確定消息傳輸成功率,當消息傳輸成功率大於閾值時,則判斷進行消息推送。
[0078]在本實施例中,判斷是否進行消息推送可以使用Fuzzy (模糊)推理模型。在當前網絡連接穩定時,可以採用簡單Fuzzy推理模型,簡單Fuzzy推理模型只受理小前提A與大前提A->B的前提條件A完全一致時推出B,否則拒絕受理。對應到本實施例中的場景,即當前消息需要發送(即發送狀態為消息未發送或消息推送失敗)則直接判斷進行消息推送,需要向終端發送喚醒信號。
[0079]而當前網絡連接不穩定時,可以採用多維Fuzzy推理模型,參見圖2所示,即每個論域按簡單Fuzzy推理模型計算,再將每個論域的結果取交集,合併為一個最終的結果,其中A1->B至An->B可以為獲取的經驗數據。對應到本實施例中的場景,例如當Al =網絡信號強度為0.8時,B =消息傳輸成功率為90% ;當Al =網絡信號強度為0.6時,B =消息傳輸成功率為80% ;當Al =網絡信號強度為0.5時,B =消息傳輸成功率為50%等等,由當前網絡信號強度可以獲取對應的消息傳輸成功率,同理可以獲得A2 =安全等級的論域的B值,即由當前安全等級可以獲取對應的消息傳輸成功率,再將不同論域的結果進行並聯處理,得到最終的消息傳輸成功率。最後根據可靠性需求,例如消息傳輸成功率需要大於閾值70%,得到是否進行消息推送的結果。在本實施例中,包括了信號強度以及安全等級兩種論域,同時還可以根據不同的穩定性需要進行維度的增減。
[0080]步驟104:如果判斷進行消息推送,則向終端發送喚醒信號,在接收到終端回復的喚醒信號的響應信號後,將緩存的待推送消息推送至終端,並根據終端反饋的消息獲取狀態更新消息發送狀態。
[0081]在判斷需要進行消息推送時,首先喚醒終端,即向終端發送喚醒信號,終端在被喚醒後回復喚醒信息的響應信號,代表終端做好了接收消息的準備,這樣終端不再是被動接收推送的消息,而是相當於通過向消息推送伺服器回復響應消息主動獲取待推送消息,終端在接收消息後進行消息校驗,向消息推送伺服器反饋消息獲取狀態,消息獲取狀態包括消息獲取成功或消息獲取失敗。在本發明的一些實施例中,根據終端反饋的消息獲取狀態更新消息發送狀態的具體實現可以包括:當終端反饋的消息獲取狀態為消息獲取成功,則將消息發送狀態由消息未發送更新為消息推送成功;當終端反饋的消息獲取狀態為消息獲取失敗,則將消息發送狀態由消息未發送更新為消息推送失敗。
[0082]另外,在本發明的一些實施例中,還可以包括:如果沒有判斷進行消息推送,則將消息發送狀態保持為當前狀態,並在預設時間後重複執行根據消息發送狀態以及網絡連接狀態,判斷是否進行消息推送。
[0083]在本發明的一些實施例中,還可以包括:判斷待推送消息是否超過保存期限,如果是,則刪除待推送消息以及對應的消息發送狀態。
[0084]基於上述實施例,參見圖3所示,是本發明實施例中提供的實現消息穩定推送的方法實施例二,本實施例可以包括以下步驟:
[0085]步驟301:獲取待推送消息,將待推送消息進行緩存。
[0086]步驟302:記錄待推送消息的消息發送狀態。可以理解的是,獲取待推送消息後,待推送消息的消息發送狀態為初始狀態:消息未發送。
[0087]步驟303:根據消息發送狀態判斷消息是否需要發送,如果是,則執行步驟304,如果否,則執行步驟307。
[0088]當消息發送狀態為消息未發送或消息推送失敗時,則消息需要發送,而當消息發送狀態為消息推送成功時,則消息不需要發送。
[0089]步驟304:根據網絡連接狀態判斷網絡狀態是否可以進行推送,如果是,則執行步驟305,如果否,返回步驟302。
[0090]當由消息發送狀態確定連接穩定,則可以進行推送,而當由消息發送狀態確定連接不穩定,則根據上述實施例中說明的判斷方式,通過網絡連接狀態獲取終端的信號強度以及安全等級,由信號強度以及安全等級確定消息傳輸成功率,當消息傳輸成功率大於閾值時,則可以進行推送,當消息傳輸成功率小於閾值時,則不可以進行推送。
[0091]在不可以進行推送時,返回步驟302保持當前發送狀態,繼續保持消息未發送或消息推送失敗狀態。
[0092]步驟305:向終端發送喚醒信號,在接收到終端回復的喚醒信號的響應信號後,將緩存的待推送消息推送至終端。
[0093]步驟306:接收終端反饋的消息獲取狀態。當終端反饋的消息獲取狀態為消息獲取成功,則返回步驟302將消息發送狀態由消息未發送更新為消息推送成功;當終端反饋的消息獲取狀態為消息獲取失敗,則返回步驟302將消息發送狀態由消息未發送更新為消息推送失敗;當終端反饋的消息獲取狀態為傳輸中斷,則返回步驟304。
[0094]步驟307:判斷待推送消息是否超過保存期限,如果是,執行步驟308,如果否,返回步驟302。
[0095]返回步驟302保持當前發送狀態,繼續保持消息推送成功狀態。
[0096]步驟308:刪除待推送消息以及對應的消息發送狀態。
[0097]這樣,本發明實施例中消息推送伺服器將消息進行緩存並記錄消息的發送狀態,根據當前網絡連接狀態以及消息發送狀態判斷是否可以進行消息推送,在網絡環境良好且消息未發送到終端的情況下再進行推送,可以提供消息推送的成功率,且在消息推送的過程中,先喚醒終端在終端響應喚醒信號後再推送消息,即終端主動獲取消息,並且終端可以反饋消息推送是否成功,進一步提高了消息推送的成功率,實現了消息推送的可靠傳輸,尤其在企業移動應用中減少了由於消息推送產生的安全隱患。
[0098]參見圖4所示,是本發明實施例中提供的實現消息穩定推送的方法實施例三,本實施例將從實現消息穩定推送的裝置角度進行描述,該實現消息穩定推送的裝置具體可以集成在客戶端中,該客戶端可以裝載在終端中,該終端具體可以為智慧型手機、平板電腦、電子書閱讀器、MP3 (Moving Picture Experts Group Aud1 Layer III,動態影像專家壓縮標準音頻層面 3)播放器、MP4 (Moving Picture Experts Group Aud1 Layer IV,動態影像專家壓縮標準音頻層面3)播放器、膝上型便攜計算機和臺式計算機等等,本實施例可以包括以下步驟:
[0099]步驟401:檢測網絡連接狀態,並向消息推送伺服器上報網絡連接狀態,以使消息推送伺服器根據消息發送狀態以及網絡連接狀態判斷是否進行消息推送。
[0100]終端可以主動上報網絡連接狀態,即向消息推送伺服器定時主動上報的網絡連接狀態;也可以對消息推送伺服器發送的心跳信號進行響應,以使消息推送伺服器檢測終端的網絡連接狀態,根據待推送消息的消息發送狀態以及網絡連接狀態,判斷是否進行消息推送。
[0101]步驟402:在消息推送伺服器判斷進行消息推送時,接收消息推送伺服器發送的喚醒信號,並向消息推送伺服器回復喚醒信號的響應信號。
[0102]接收到消息推送伺服器發送的喚醒信號,即可以被喚醒並向消息推送伺服器回復喚醒信號的響應信號,進入等待接收消息推送的狀態,以保證終端接收消息推送的成功率。
[0103]步驟403:接收消息推送伺服器推送的待推送信息。
[0104]步驟404:對接收的待推送信息進行校驗,根據校驗結果向消息推送伺服器反饋消息獲取狀態。
[0105]終端對接收到的消息可以採用消息驗證算法進行消息數據準確性校驗,消息獲取狀態可以為消息獲取成功、消息獲取失敗或傳輸中斷。
[0106]這樣,本發明實施例中消息推送伺服器將消息進行緩存並記錄消息的發送狀態,根據當前網絡連接狀態以及消息發送狀態判斷是否可以進行消息推送,在網絡環境良好且消息未發送到終端的情況下再進行推送,可以提供消息推送的成功率,且在消息推送的過程中,先喚醒終端在終端響應喚醒信號後再推送消息,即終端主動獲取消息,並且終端可以反饋消息推送是否成功,進一步提高了消息推送的成功率,實現了消息推送的可靠傳輸,尤其在企業移動應用中減少了由於消息推送產生的安全隱患。
[0107]參見圖5所示,是本發明實施例中提供的實現消息穩定推送的裝置實施例一,本實施例實現消息穩定推送的裝置具體可以裝載在消息推送伺服器中,可以包括:
[0108]緩存單元501,用於獲取待推送消息後,將待推送消息進行緩存。
[0109]第一記錄單元502,用於記錄待推送消息的消息發送狀態。
[0110]檢測單元503,用於檢測終端的網絡連接狀態。
[0111]第二記錄單元504,用於記錄網絡連接狀態。
[0112]第一判斷單元505,用於根據消息發送狀態以及網絡連接狀態,判斷是否進行消息推送。
[0113]發送單元506,用於如果判斷進行消息推送,則向終端發送喚醒信號。
[0114]消息推送單元507,用於在接收到終端回復的喚醒信號的響應信號後,將緩存單元緩存的待推送消息推送至終端。
[0115]更新單元508,用於根據終端反饋的消息獲取狀態更新第一記錄單元中記錄的消息發送狀態。
[0116]在本發明的一些實施例中,消息發送狀態的初始狀態可以為消息未發送,則更新單元可以具體用於:
[0117]當終端反饋的消息獲取狀態為消息獲取成功,則將消息發送狀態由消息未發送更新為消息推送成功;
[0118]當終端反饋的消息獲取狀態為消息獲取失敗,則將消息發送狀態由消息未發送更新為消息推送失敗。
[0119]在本發明的一些實施例中,第一判斷單元可以包括:
[0120]讀取子單元,用於當消息發送狀態為消息未發送或消息推送失敗時,則讀取網絡連接狀態;
[0121 ] 第一判斷子單元,用於當根據網絡連接狀態確定連接穩定時,則判斷進行消息推送;
[0122]第二判斷子單元,用於當根據網絡連接狀態確定連接不穩定時,則通過網絡連接狀態獲取終端的信號強度以及安全等級,由信號強度以及安全等級確定消息傳輸成功率,當消息傳輸成功率大於閾值時,則判斷進行消息推送。
[0123]在本發明的一些實施例中,還可以包括:
[0124]保持單元,用於如果沒有判斷進行消息推送,則將消息發送狀態保持為當前狀態,並在預設時間後返回第一判斷單元執行根據消息發送狀態以及網絡連接狀態,判斷是否進行消息推送。
[0125]在本發明的一些實施例中,還可以包括:
[0126]第二判斷單元,用於判斷待推送消息是否超過保存期限;
[0127]刪除單元,用於如果第二判斷單元的判斷結果為是,則刪除待推送消息以及對應的消息發送狀態。
[0128]這樣,本發明實施例中消息推送伺服器將消息進行緩存並記錄消息的發送狀態,根據當前網絡連接狀態以及消息發送狀態判斷是否可以進行消息推送,在網絡環境良好且消息未發送到終端的情況下再進行推送,可以提供消息推送的成功率,且在消息推送的過程中,先喚醒終端在終端響應喚醒信號後再推送消息,即終端主動獲取消息,並且終端可以反饋消息推送是否成功,進一步提高了消息推送的成功率,實現了消息推送的可靠傳輸,尤其在企業移動應用中減少了由於消息推送產生的安全隱患。
[0129]參見圖6所示,是本發明實施例中提供的實現消息穩定推送的裝置實施例二,本實施例實現消息穩定推送的裝置具體可以裝載在終端中,可以包括:
[0130]檢測單元601,用於檢測網絡連接狀態。
[0131]上報單元602,用於向消息推送伺服器上報網絡連接狀態,以使消息推送伺服器根據消息發送狀態以及網絡連接狀態判斷是否進行消息推送。
[0132]第一接收單元603,在消息推送伺服器判斷進行消息推送時,接收消息推送伺服器發送的喚醒信號。
[0133]發送單元604,用於向消息推送伺服器回復喚醒信號的響應信號。
[0134]第二接收單元605,用於接收消息推送伺服器推送的待推送信息。
[0135]反饋單元606,用於對接收的待推送信息進行校驗,根據校驗結果向消息推送伺服器反饋消息獲取狀態。
[0136]這樣,本發明實施例中消息推送伺服器將消息進行緩存並記錄消息的發送狀態,根據當前網絡連接狀態以及消息發送狀態判斷是否可以進行消息推送,在網絡環境良好且消息未發送到終端的情況下再進行推送,可以提供消息推送的成功率,且在消息推送的過程中,先喚醒終端在終端響應喚醒信號後再推送消息,即終端主動獲取消息,並且終端可以反饋消息推送是否成功,進一步提高了消息推送的成功率,實現了消息推送的可靠傳輸,尤其在企業移動應用中減少了由於消息推送產生的安全隱患。
[0137]參見圖7所示,是本發明實施例中提供的實現消息穩定推送的系統實施例一,可以包括:
[0138]消息推送伺服器701以及終端702。
[0139]消息推送伺服器,可以是上述實施例中實現消息穩定推送的裝置實施例一;終端,可以是上述實施例中實現消息穩定推送的裝置實施例二。
[0140]參見圖8所示,是本發明實施例中提供的實現消息穩定推送的系統實施例二,為了實現本發明實施例中提供的實現消息穩定推送的方法,在實際應用中,終端702可以包括消息庫、消息驗證器、消息獲取器、消息通知接收器、狀態同步器以及狀態監測器。消息推送伺服器701可以包括消息接收器、消息緩存庫、消息狀態庫、終端連接狀態庫、心跳連接器、狀態分析器、消息喚醒器以及消息傳送器。結合圖8對是本發明實施例中提供的實現消息穩定推送的系統實施例的工作原理進行說明,其中實線流程代表消息推送之前的過程,虛線流程代表消息推送的過程。
[0141]在該結構中,終端中的狀態同步器,用於與消息推送伺服器進行定時通訊,上報終端的網絡狀態(信號強度)、安全等級狀態及連接狀態等網絡連接狀態,並且根據當前狀態動態調節上報狀態的策略,例如在網絡狀態良好,移動客戶端處於安全的情況下半小時上報一次,網絡不太好就十分鐘上報一次。或者消息推送伺服器的心跳信號,返回上述的網絡連接狀態。
[0142]狀態監測器,用於接受狀態同步器指令進行終端設備安全等級檢查,網絡狀況檢查。
[0143]消息通知接收器,用於接收推送伺服器發出的喚醒信號。
[0144]消息獲取器,用於當接收到消息推送伺服器發送的有消息的喚醒信號後發送喚醒信號的響應信號,接收到消息推送伺服器推送的消息內容。
[0145]消息庫,用於存儲接收到的消息,並通知給各個應用app。
[0146]消息驗證器,用於根據固定消息驗證算法對接收到的消息進行消息數據準確性校驗,如果推送的消息是文檔類型還能記錄推送的進度,以便支持斷點續傳等。
[0147]在該結構中,消息推送伺服器中的消息接收器,用於負責接收移動應用後臺服務準備向終端發送的消息,即接收待推送消息。
[0148]消息緩存庫,用於將待推送消息進行緩存,確保消息在傳輸出錯或者未送達時能夠進行二次推送,同時為後期審計工作提供數據源。
[0149]消息狀態庫,用於記錄待推送消息的消息發送狀態,包括是否推送,是否推送成功,消息是否失效等,幫助狀態分析器判斷是否向終端客戶端發送喚醒信號。
[0150]終端連接狀態庫,用於記錄網絡連接狀態,標記終端設備是否與消息推送伺服器保持連接狀態,記錄終端信號強度情況和安全等級情況,為狀態分析器提供數據源,以便判斷是否向終端客戶端發送喚醒信號。
[0151]心跳連接器,用於定期檢測、維護與終端最新的連接狀態,保障與終端連接狀態庫的實時連接。
[0152]狀態分析器,用於根據終端的網絡連接狀態、待推送消息的消息發送狀態進行綜合判定分析,是否喚醒終端並進行消息推送,同時自身內置知識庫,記錄終端在不同的連接狀態、網絡狀態(信號強度)和安全等級下,發出喚醒信號後,客戶端獲取消息的成功率,並依此進行消息推送策略的調整,例如可以包括消息立即推送,延時推送還是回復正常狀態再推送。
[0153]消息喚醒器,用於根據狀態分析器的結果向終端發送喚醒信號。
[0154]消息傳送器,用於當終端向消息推送伺服器獲取消息內容時給予響應,從消息庫中將待推送消息傳給終端設備。
[0155]這樣,本發明實施例中消息推送伺服器將消息進行緩存並記錄消息的發送狀態,根據當前網絡連接狀態以及消息發送狀態判斷是否可以進行消息推送,在網絡環境良好且消息未發送到終端的情況下再進行推送,可以提供消息推送的成功率,且在消息推送的過程中,先喚醒終端在終端響應喚醒信號後再推送消息,即終端主動獲取消息,並且終端可以反饋消息推送是否成功,進一步提高了消息推送的成功率,實現了消息推送的可靠傳輸,尤其在企業移動應用中減少了由於消息推送產生的安全隱患。
[0156]需要說明的是,本說明書中各個實施例採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對於實施例公開的系統或裝置而言,由於其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
[0157]還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0158]結合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬體、處理器執行的軟體模塊,或者二者的結合來實施。軟體模塊可以置於隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬碟、可移動磁碟、CD-ROM、或【技術領域】內所公知的任意其它形式的存儲介質中。
[0159]對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或範圍的情況下,在其它實施例中實現。因此,本發明將不會被限制於本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的範圍。
【權利要求】
1.一種實現消息穩定推送的方法,其特徵在於,所述方法包括: 獲取待推送消息後,將所述待推送消息進行緩存,並記錄所述待推送消息的消息發送狀態; 檢測終端的網絡連接狀態,並記錄所述網絡連接狀態; 根據所述消息發送狀態以及所述網絡連接狀態,判斷是否進行消息推送; 如果判斷進行消息推送,則向所述終端發送喚醒信號,在接收到所述終端回復的所述喚醒信號的響應信號後,將緩存的所述待推送消息推送至所述終端,並根據所述終端反饋的消息獲取狀態更新所述消息發送狀態。
2.根據權利要求1所述的方法,其特徵在於,所述消息發送狀態的初始狀態為消息未發送,所述根據所述終端反饋的消息獲取狀態更新消息發送狀態,包括: 當所述終端反饋的消息獲取狀態為消息獲取成功,則將消息發送狀態由消息未發送更新為消息推送成功; 當所述終端反饋的消息獲取狀態為消息獲取失敗,則將消息發送狀態由消息未發送更新為消息推送失敗。
3.根據權利要求2所述的方法,其特徵在於,所述根據所述消息發送狀態以及所述網絡連接狀態,判斷是否進行消息推送,包括: 當所述消息發送狀態為消息未發送或消息推送失敗時,則讀取所述網絡連接狀態; 當根據所述網絡連接狀態確定連接穩定時,則判斷進行消息推送; 當根據所述網絡連接狀態確定連接不穩定時,則通過所述網絡連接狀態獲取所述終端的信號強度以及安全等級,由所述信號強度以及所述安全等級確定消息傳輸成功率,當所述消息傳輸成功率大於閾值時,則判斷進行消息推送。
4.根據權利要求1-3任一項所述的方法,其特徵在於,所述方法還包括: 如果沒有判斷進行消息推送,則將所述消息發送狀態保持為當前狀態,並在預設時間後重複執行根據所述消息發送狀態以及所述網絡連接狀態,判斷是否進行消息推送; 判斷所述待推送消息是否超過保存期限,如果是,則刪除所述待推送消息以及對應的消息發送狀態。
5.一種實現消息穩定推送的方法,其特徵在於,所述方法包括: 檢測網絡連接狀態,並向消息推送伺服器上報所述網絡連接狀態,以使所述消息推送伺服器根據消息發送狀態以及所述網絡連接狀態判斷是否進行消息推送; 在所述消息推送伺服器判斷進行消息推送時,接收消息推送伺服器發送的喚醒信號,並向所述消息推送伺服器回復所述喚醒信號的響應信號; 接收所述消息推送伺服器推送的待推送信息; 對接收的所述待推送信息進行校驗,根據校驗結果向所述消息推送伺服器反饋消息獲取狀態。
6.一種實現消息穩定推送的裝置,其特徵在於,所述裝置包括: 緩存單元,用於獲取待推送消息後,將所述待推送消息進行緩存; 第一記錄單元,用於記錄所述待推送消息的消息發送狀態; 檢測單元,用於檢測終端的網絡連接狀態; 第二記錄單元,用於記錄所述網絡連接狀態; 第一判斷單元,用於根據所述消息發送狀態以及所述網絡連接狀態,判斷是否進行消息推送; 發送單元,用於如果判斷進行消息推送,則向所述終端發送喚醒信號; 消息推送單元,用於在接收到所述終端回復的所述喚醒信號的響應信號後,將所述緩存單元緩存的所述待推送消息推送至所述終端; 更新單元,用於根據所述終端反饋的消息獲取狀態更新所述第一記錄單元中記錄的所述消息發送狀態。
7.根據權利要求6所述的裝置,其特徵在於,所述消息發送狀態的初始狀態為消息未發送,所述更新單元具體用於: 當所述終端反饋的消息獲取狀態為消息獲取成功,則將消息發送狀態由消息未發送更新為消息推送成功; 當所述終端反饋的消息獲取狀態為消息獲取失敗,則將消息發送狀態由消息未發送更新為消息推送失敗; 所述第一判斷單元包括: 讀取子單元,用於當所述消息發送狀態為消息未發送或消息推送失敗時,則讀取所述網絡連接狀態; 第一判斷子單元,用於當根據所述網絡連接狀態確定連接穩定時,則判斷進行消息推送; 第二判斷子單元,用於當根據所述網絡連接狀態確定連接不穩定時,則通過所述網絡連接狀態獲取所述終端的信號強度以及安全等級,由所述信號強度以及所述安全等級確定消息傳輸成功率,當所述消息傳輸成功率大於閾值時,則判斷進行消息推送。
8.根據權利要求6-7任一項所述的裝置,其特徵在於,所述裝置還包括: 保持單元,用於如果沒有判斷進行消息推送,則將所述消息發送狀態保持為當前狀態,並在預設時間後返回所述第一判斷單元執行根據所述消息發送狀態以及所述網絡連接狀態,判斷是否進行消息推送; 第二判斷單元,用於判斷所述待推送消息是否超過保存期限; 刪除單元,用於如果所述第二判斷單元的判斷結果為是,則刪除所述待推送消息以及對應的消息發送狀態。
9.一種實現消息穩定推送的裝置,其特徵在於,所述裝置包括: 檢測單元,用於檢測網絡連接狀態; 上報單元,用於向消息推送伺服器上報所述網絡連接狀態,以使所述消息推送伺服器根據消息發送狀態以及所述網絡連接狀態判斷是否進行消息推送; 第一接收單元,在所述消息推送伺服器判斷進行消息推送時,接收消息推送伺服器發送的喚醒信號; 發送單元,用於向所述消息推送伺服器回復所述喚醒信號的響應信號; 第二接收單元,用於接收所述消息推送伺服器推送的待推送信息; 反饋單元,用於對接收的所述待推送信息進行校驗,根據校驗結果向所述消息推送伺服器反饋消息獲取狀態。
10.一種實現消息穩定推送的系統,其特徵在於,所述系統包括:消息推送伺服器以及終端;所述消息推送伺服器,是權利要求6-8任一項所述的實現消息穩定推送的裝置;所述終端,是權利要求9所述的實現消息穩定推送的裝置。
【文檔編號】H04L12/18GK104506416SQ201410788109
【公開日】2015年4月8日 申請日期:2014年12月17日 優先權日:2014年12月17日
【發明者】楊春山 申請人:東軟集團股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀