推送服務(wù)配置方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種推送服務(wù)配置方法及裝置,應(yīng)用于網(wǎng)絡(luò)服務(wù)器側(cè),包括:接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令;判斷是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接;若不存在所述推送服務(wù)連接,關(guān)閉所述應(yīng)用程序的推送服務(wù);若存在所述推送服務(wù)連接,向已建立針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端發(fā)送推送服務(wù)不可用狀態(tài)指令,并斷開與所述終端的推送服務(wù)連接。本發(fā)明的目的在于提出一種推送服務(wù)配置方法及裝置,能夠在推送服務(wù)出現(xiàn)故障時(shí)自動(dòng)關(guān)閉推送服務(wù),減少故障影響。
【專利說明】
推送服務(wù)配置方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是指一種推送服務(wù)配置方法及裝置。
【背景技術(shù)】
[0002]推送服務(wù)是指服務(wù)器定向?qū)⑿畔?shí)時(shí)送達(dá)終端設(shè)備的服務(wù)?;谕扑头?wù),推送信息在服務(wù)器端配置好后,觸發(fā)實(shí)時(shí)推送到終端設(shè)備,用戶則可以實(shí)時(shí)接收到推送消息。
[0003]基于推送服務(wù),現(xiàn)有推送方案一般有2種方式:
[0004]強(qiáng)制性推送,推送消息實(shí)時(shí)到達(dá),用戶收到推送消息后終端設(shè)備會(huì)給出提示,用戶無法主動(dòng)關(guān)閉推送開關(guān),只能被動(dòng)接受推送消息;
[0005]用戶選擇性推送,終端設(shè)備提供設(shè)置選項(xiàng),用戶可以選擇開啟或關(guān)閉推送服務(wù)。
[0006]上述2種推送方式,存在一個(gè)問題,當(dāng)推送服務(wù)發(fā)生緊急情況時(shí),所有集成推送服務(wù)的應(yīng)用程序(app)無法立即關(guān)閉推送服務(wù),阻止緊急情況對(duì)應(yīng)用程序產(chǎn)生影響,只有等到應(yīng)用程序的版本更新時(shí)才能解決這個(gè)問題。
【發(fā)明內(nèi)容】
[0007]有鑒于此,本發(fā)明的目的在于提出一種推送服務(wù)配置方法及裝置,能夠在推送服務(wù)出現(xiàn)故障時(shí)自動(dòng)關(guān)閉推送服務(wù),減少故障影響。
[0008]基于上述目的本發(fā)明提供的推送服務(wù)配置方法,應(yīng)用于網(wǎng)絡(luò)服務(wù)器側(cè),包括:
[0009]接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令;
[0010]判斷是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接;
[0011]若不存在所述推送服務(wù)連接,關(guān)閉所述應(yīng)用程序的推送服務(wù);
[0012]若存在所述推送服務(wù)連接,向已建立針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端發(fā)送推送服務(wù)不可用狀態(tài)指令,并斷開與所述終端的推送服務(wù)連接。
[0013]在一些實(shí)施方式中,所述接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令的步驟之前還包括:
[0014]接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)注冊(cè)請(qǐng)求;
[0015]向所述終端返回成功注冊(cè)信息;
[0016]和/或,
[0017]所述關(guān)閉所述應(yīng)用程序的推送服務(wù)的步驟之后還包括:
[0018]接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)注冊(cè)請(qǐng)求;
[0019]向所述終端返回不予注冊(cè)信息。
[0020]在一些實(shí)施方式中,所述向所述終端返回成功注冊(cè)信息的步驟之后還包括:
[0021 ]接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)連接請(qǐng)求;
[0022]根據(jù)所述推送服務(wù)連接請(qǐng)求,與所述終端建立所述應(yīng)用程序的推送服務(wù)長連接。
[0023]在一些實(shí)施方式中,所述向已建立針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端發(fā)送推送服務(wù)不可用狀態(tài)指令,并斷開與所述終端的推送服務(wù)連接的步驟之后還包括:
[0024]接收針對(duì)應(yīng)用程序的開啟推送服務(wù)指令;
[0025]判斷在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前,是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接;
[0026]若不存在所述推送服務(wù)連接,啟動(dòng)所述應(yīng)用程序的推送服務(wù);
[0027]若存在所述推送服務(wù)連接,向在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前建立過針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端,發(fā)送推送服務(wù)可用狀態(tài)指令,并建立與所述終端的推送服務(wù)連接。
[0028]在一些實(shí)施方式中,所述接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令的步驟之前還包括:
[0029]判斷應(yīng)用程序的推送服務(wù)是否出現(xiàn)異常;
[0030]若所述應(yīng)用程序的推送服務(wù)出現(xiàn)異常,自動(dòng)發(fā)送針對(duì)所述應(yīng)用程序的停止推送服務(wù)指令。
[0031 ]本發(fā)明的另一個(gè)方面還提供了一種推送服務(wù)配置裝置,包括:
[0032]指令接收模塊,用于接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令;
[0033]連接狀態(tài)判斷模塊,用于判斷是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接;
[0034]服務(wù)關(guān)閉模塊,用于:
[0035]若不存在所述推送服務(wù)連接,關(guān)閉所述應(yīng)用程序的推送服務(wù);
[0036]若存在所述推送服務(wù)連接,向已建立針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端發(fā)送推送服務(wù)不可用狀態(tài)指令,并斷開與所述終端的推送服務(wù)連接。
[0037]在一些實(shí)施方式中,所述的裝置還包括終端請(qǐng)求接收模塊,用于接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)注冊(cè)請(qǐng)求;
[0038]信息發(fā)送模塊,用于:
[0039]若所述應(yīng)用程序的推送服務(wù)未關(guān)閉,向所述終端返回成功注冊(cè)信息;
[0040]和/或,
[0041 ]若所述應(yīng)用程序的推送服務(wù)已關(guān)閉,向所述終端返回不予注冊(cè)信息。
[0042]在一些實(shí)施方式中,所述終端請(qǐng)求接收模塊,還用于接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)連接請(qǐng)求;
[0043]連接建立模塊,若所述應(yīng)用程序的推送服務(wù)未關(guān)閉,用于根據(jù)所述推送服務(wù)連接請(qǐng)求,與所述終端建立所述應(yīng)用程序的推送服務(wù)長連接。
[0044]在一些實(shí)施方式中,所述指令接收模塊,還用于接收針對(duì)應(yīng)用程序的開啟推送服務(wù)指令;
[0045]所述連接狀態(tài)判斷模塊,還用于判斷在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前,是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接;
[0046]服務(wù)啟動(dòng)模塊,用于:
[0047]若不存在所述推送服務(wù)連接,啟動(dòng)所述應(yīng)用程序的推送服務(wù);
[0048]若存在所述推送服務(wù)連接,向在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前建立過針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端,發(fā)送推送服務(wù)可用狀態(tài)指令,并建立與所述終端的推送服務(wù)連接。
[0049]在一些實(shí)施方式中,所述的裝置還包括:
[0050]推送服務(wù)狀態(tài)判斷模塊,用于判斷應(yīng)用程序的推送服務(wù)是否出現(xiàn)異常;
[0051 ]指令發(fā)送模塊,若所述應(yīng)用程序的推送服務(wù)出現(xiàn)異常,用于自動(dòng)發(fā)送針對(duì)所述應(yīng)用程序的停止推送服務(wù)指令。
[0052]從上面所述可以看出,本發(fā)明提供的推送服務(wù)配置方法及裝置,在出現(xiàn)緊急需要停止某個(gè)或全部推送服務(wù)時(shí),接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令并關(guān)閉所述應(yīng)用程序的推送服務(wù),同時(shí),對(duì)于已經(jīng)建立推送服務(wù)連接的終端,向其發(fā)送推送服務(wù)不可用狀態(tài)指令,終端接收到所述推送服務(wù)不可用狀態(tài)指令,會(huì)主動(dòng)斷開連接并釋放資源,而不再嘗試重新建立連接;從而完成針對(duì)應(yīng)用程序的全面的推送服務(wù)關(guān)閉處理。
【附圖說明】
[0053]圖1為本發(fā)明提供的推送服務(wù)配置方法的一個(gè)實(shí)施例的流程示意圖;
[0054]圖2為本發(fā)明提供的推送服務(wù)配置方法的另一個(gè)實(shí)施例的流程示意圖;
[0055]圖3為本發(fā)明提供的推送服務(wù)配置裝置實(shí)施例的模塊結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0056]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
[0057]本發(fā)明的第一個(gè)方面,提出了一種推送服務(wù)配置方法,能夠在推送服務(wù)出現(xiàn)故障時(shí)自動(dòng)關(guān)閉推送服務(wù),減少故障影響。如圖1所示,為本發(fā)明提供的推送服務(wù)配置方法的一個(gè)實(shí)施例的流程示意圖。
[0058]所述推送服務(wù)配置方法,應(yīng)用于網(wǎng)絡(luò)服務(wù)器側(cè),包括以下步驟:
[0059]步驟101:接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令;可選的,服務(wù)器有相應(yīng)的針對(duì)各應(yīng)用程序的推送服務(wù)開關(guān)的配置頁面,可通過手動(dòng)進(jìn)行關(guān)閉,此外,還可根據(jù)對(duì)推送服務(wù)異常狀態(tài)的判斷而自動(dòng)關(guān)閉推送服務(wù);
[0060]步驟102:判斷是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接;
[0061 ]通常情況下,終端使用應(yīng)用程序的推送服務(wù)需要具備兩個(gè)前提條件:I)由服務(wù)器(可選為主要負(fù)責(zé)推送相關(guān)操作的推送服務(wù)器)分配給每個(gè)應(yīng)用程序一個(gè)獨(dú)立的app key,如果要使用所述應(yīng)用程序的推送服務(wù),終端需要先向服務(wù)器(可選為主要負(fù)責(zé)數(shù)據(jù)存儲(chǔ)及接口管理的設(shè)備管理服務(wù)器)發(fā)出推送服務(wù)注冊(cè)請(qǐng)求,所述推送服務(wù)注冊(cè)請(qǐng)求中攜帶有所述app key、終端設(shè)備唯一標(biāo)準(zhǔn)、應(yīng)用程序版本信息等字段,如果服務(wù)器通過驗(yàn)證app key而確認(rèn)能夠注冊(cè),則返回成功注冊(cè)信息,終端上的所述應(yīng)用程序則可以正常使用該應(yīng)用程序的推送服務(wù);2)在I)的基礎(chǔ)上,終端上的所述應(yīng)用程序如果需要及時(shí)收到推送消息,則需要和服務(wù)器(可選為主要負(fù)責(zé)與終端進(jìn)行連接的引擎服務(wù)器)建立一個(gè)socket長連接,即所述推送服務(wù)連接,通過驗(yàn)證app key和設(shè)備ID,判斷允許連接時(shí),則完成socket長連接,只要socket長連接保持正常狀態(tài),則終端上的所述應(yīng)用程序就能及時(shí)收到消息;
[0062]步驟103:若不存在所述推送服務(wù)連接,關(guān)閉所述應(yīng)用程序的推送服務(wù);
[0063]具體的,由于需要從服務(wù)器及時(shí)有效的停止推送消息,需要從上面描述的I)和2)同時(shí)進(jìn)行停止;因此,在推送服務(wù)關(guān)閉期間有新的終端需要注冊(cè)使用推送服務(wù)時(shí),如果推送服務(wù)為關(guān)閉狀態(tài),則服務(wù)器應(yīng)該拒絕相應(yīng)應(yīng)用程序的注冊(cè)請(qǐng)求,返回推送服務(wù)不可用的狀態(tài),并且應(yīng)用程序會(huì)在終端本地保存此狀態(tài),如果推送服務(wù)不可用,則針對(duì)所述應(yīng)用程序之后的任何推送操作包括發(fā)送消息等都將直接返回,不再進(jìn)行,這樣可以保證有新的用戶打開所述應(yīng)用程序并觸發(fā)注冊(cè)要使用推送服務(wù)時(shí),能有效地保持停止?fàn)顟B(tài),從而減輕服務(wù)器壓力;
[0064]對(duì)于完成所述推送服務(wù)連接的終端,不能進(jìn)行單純的關(guān)閉推送服務(wù)的處理,因?yàn)?,僅僅斷開連接,終端會(huì)不斷嘗試重新連接,這樣即消耗資源,也完全沒有意義,因此,步驟104:若存在所述推送服務(wù)連接,向已建立針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端發(fā)送推送服務(wù)不可用狀態(tài)指令,并斷開與所述終端的推送服務(wù)連接;終端在接收到所述推送服務(wù)不可用狀態(tài)指令時(shí),則判定當(dāng)前推送服務(wù)不可用,則會(huì)立即主動(dòng)斷開連接,釋放所有資源;這樣即使有后續(xù)的推送服務(wù)異常的推送消息,終端也不會(huì)接收到。
[0065]從上述實(shí)施例可以看出,本發(fā)明提供的推送服務(wù)配置方法,在出現(xiàn)緊急需要停止某個(gè)或全部推送服務(wù)時(shí),接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令并關(guān)閉所述應(yīng)用程序的推送服務(wù),同時(shí),對(duì)于已經(jīng)建立推送服務(wù)連接的終端,向其發(fā)送推送服務(wù)不可用狀態(tài)指令,終端接收到所述推送服務(wù)不可用狀態(tài)指令,會(huì)主動(dòng)斷開連接并釋放資源,而不再嘗試重新建立連接;從而完成針對(duì)應(yīng)用程序的全面的推送服務(wù)關(guān)閉處理。
[0066]所述推送服務(wù)配置方法,在推送服務(wù)出現(xiàn)問題時(shí),能夠及時(shí)有效的進(jìn)行停止,對(duì)于處理推送服務(wù)造成的影響和緊急情況處理非常有效,不需要發(fā)行應(yīng)用程序的更新版本,從服務(wù)器側(cè)即能及時(shí)糾正影響,待推送服務(wù)恢復(fù)正常時(shí)還可再次啟動(dòng)推送服務(wù);并且,所述推送服務(wù)配置方法,在選擇停止推送服務(wù)時(shí)能保證徹底性,不但能防止新注冊(cè)推送服務(wù)的用戶能停止任何和推送服務(wù)相關(guān)的操作;而且對(duì)于已經(jīng)開啟推送服務(wù)的用戶,能在接收到推送服務(wù)不可用狀態(tài)指令時(shí)主動(dòng)斷開與服務(wù)器的長連接,并徹底釋放資源。再次,所述推送服務(wù)配置方法,在服務(wù)器出現(xiàn)任何故障時(shí)均能緊急使用,例如推送服務(wù)引起線上已經(jīng)發(fā)版的應(yīng)用程序奔潰或出現(xiàn)應(yīng)用程序異常時(shí),能立即從服務(wù)器側(cè)停止該應(yīng)用程序的推送服務(wù),從而停止影響。此外,對(duì)于推送服務(wù)初期,特別是穩(wěn)定性還沒有得到檢驗(yàn)的時(shí)候,如果出現(xiàn)問題能通過所述推送服務(wù)配置方法默默停止影響,無需通過應(yīng)用程序更新版本或提示用戶關(guān)閉推送開關(guān)來停止影響;對(duì)于用戶,是無感知的行為,從而優(yōu)化了用戶體驗(yàn)。
[0067]進(jìn)一步的,在一些可選實(shí)施方式中,所述接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令的步驟101之前還包括:
[0068]接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)注冊(cè)請(qǐng)求;
[0069]此時(shí),若應(yīng)用程序的推送服務(wù)并未關(guān)閉,則向所述終端返回成功注冊(cè)信息,進(jìn)一步與終端建立推送服務(wù)連接,即可進(jìn)行推送服務(wù);
[0070]與此相對(duì)應(yīng)的,所述關(guān)閉所述應(yīng)用程序的推送服務(wù)的步驟103之后還包括:
[0071 ]接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)注冊(cè)請(qǐng)求;
[0072]此時(shí),若應(yīng)用程序的推送服務(wù)已關(guān)閉,不能再提供推送服務(wù),因此向所述終端返回不予注冊(cè)信息,提示推送服務(wù)暫不可用;這樣,針對(duì)所述應(yīng)用程序之后的任何推送操作包括發(fā)送消息等都將直接返回,不再進(jìn)行,從而保證有新的用戶打開所述應(yīng)用程序并觸發(fā)注冊(cè)要使用推送服務(wù)時(shí),能有效地保持停止?fàn)顟B(tài),減輕服務(wù)器壓力。
[0073]更進(jìn)一步的,在一些可選實(shí)施方式中,所述向所述終端返回成功注冊(cè)信息的步驟之后還包括:
[0074]接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)連接請(qǐng)求;
[0075]根據(jù)所述推送服務(wù)連接請(qǐng)求,與所述終端建立所述應(yīng)用程序的推送服務(wù)長連接,從而在推送服務(wù)可用的情況下,能夠進(jìn)一步建立推送服務(wù)連接并使用推送服務(wù)。
[0076]較佳的,在一些可選實(shí)施方式中,所述向已建立針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端發(fā)送推送服務(wù)不可用狀態(tài)指令,并斷開與所述終端的推送服務(wù)連接的步驟104之后還包括:
[0077]接收針對(duì)應(yīng)用程序的開啟推送服務(wù)指令;
[0078]判斷在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前,是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接;
[0079]若不存在所述推送服務(wù)連接,啟動(dòng)所述應(yīng)用程序的推送服務(wù);
[0080]若存在所述推送服務(wù)連接,向在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前建立過針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端,發(fā)送推送服務(wù)可用狀態(tài)指令,并建立與所述終端的推送服務(wù)連接。
[0081]通過上述實(shí)施例,當(dāng)推送服務(wù)恢復(fù)時(shí),通過判斷在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前,是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接,若存在,則自動(dòng)進(jìn)行連接,從而使得終端能夠自動(dòng)正常使用推送服務(wù),無需再次進(jìn)行主動(dòng)的連接操作。
[0082]可選的,在一些可選實(shí)施方式中,所述接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令的步驟101之前還包括:
[0083]判斷應(yīng)用程序的推送服務(wù)是否出現(xiàn)異常;
[0084]若所述應(yīng)用程序的推送服務(wù)出現(xiàn)異常,自動(dòng)發(fā)送針對(duì)所述應(yīng)用程序的停止推送服務(wù)指令。所述停止推送服務(wù)指令的發(fā)送模塊和接收模塊為同處于服務(wù)器側(cè)的不同模塊,發(fā)送模塊用于在判斷推送服務(wù)出現(xiàn)異常時(shí),提起所述停止推送服務(wù)指令,而所述接收模塊則用于在接收到停止推送服務(wù)指令時(shí),引出推送服務(wù)的關(guān)閉步驟。
[0085]通過上述實(shí)施例,可以通過判斷應(yīng)用程序的推送服務(wù)出現(xiàn)異常時(shí),自動(dòng)啟動(dòng)推送服務(wù)的停止操作,而無需進(jìn)行手動(dòng)控制。
[0086]本發(fā)明還提供了所述推送服務(wù)配置方法的另一個(gè)實(shí)施例。如圖2所示,為本發(fā)明提供的推送服務(wù)配置方法的另一個(gè)實(shí)施例的流程示意圖。
[0087]所述推送服務(wù)配置方法,包括以下步驟:
[0088]步驟201:接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)注冊(cè)請(qǐng)求;
[0089]步驟202:向所述終端返回成功注冊(cè)信息;
[0090]步驟203:接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)連接請(qǐng)求;
[0091]步驟204:根據(jù)所述推送服務(wù)連接請(qǐng)求,與所述終端建立所述應(yīng)用程序的推送服務(wù)長連接;
[0092]步驟205:判斷應(yīng)用程序的推送服務(wù)是否出現(xiàn)異常;
[0093]步驟206:若所述應(yīng)用程序的推送服務(wù)出現(xiàn)異常,自動(dòng)發(fā)送針對(duì)所述應(yīng)用程序的停止推送服務(wù)指令;
[0094]步驟207:接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令;
[0095]步驟208:判斷是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接;
[0096]步驟209:若不存在所述推送服務(wù)連接,關(guān)閉所述應(yīng)用程序的推送服務(wù);
[0097]步驟210:若存在所述推送服務(wù)連接,向已建立針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端發(fā)送推送服務(wù)不可用狀態(tài)指令,并斷開與所述終端的推送服務(wù)連接;
[0098]步驟211:接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)注冊(cè)請(qǐng)求;
[0099]步驟212:向所述終端返回不予注冊(cè)信息;
[0100]步驟213:接收針對(duì)應(yīng)用程序的開啟推送服務(wù)指令;
[0101]步驟214:判斷在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前,是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接;
[0102]步驟215:若不存在所述推送服務(wù)連接,啟動(dòng)所述應(yīng)用程序的推送服務(wù);
[0103]步驟216:若存在所述推送服務(wù)連接,向在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前建立過針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端,發(fā)送推送服務(wù)可用狀態(tài)指令,并建立與所述終端的推送服務(wù)連接。
[0104]從上述實(shí)施例可以看出,本發(fā)明提供的推送服務(wù)配置方法,在出現(xiàn)緊急需要停止某個(gè)或全部推送服務(wù)時(shí),接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令并關(guān)閉所述應(yīng)用程序的推送服務(wù),同時(shí),對(duì)于已經(jīng)建立推送服務(wù)連接的終端,向其發(fā)送推送服務(wù)不可用狀態(tài)指令,終端接收到所述推送服務(wù)不可用狀態(tài)指令,會(huì)主動(dòng)斷開連接并釋放資源,而不再嘗試重新建立連接;從而完成針對(duì)應(yīng)用程序的全面的推送服務(wù)關(guān)閉處理。
[0105]所述推送服務(wù)配置方法,在推送服務(wù)出現(xiàn)問題時(shí),能夠及時(shí)有效的進(jìn)行停止,對(duì)于處理推送服務(wù)造成的影響和緊急情況處理非常有效,不需要發(fā)行應(yīng)用程序的更新版本,從服務(wù)器側(cè)即能及時(shí)糾正影響,待推送服務(wù)恢復(fù)正常時(shí)還可再次啟動(dòng)推送服務(wù);并且,所述推送服務(wù)配置方法,在選擇停止推送服務(wù)時(shí)能保證徹底性,不但能防止新注冊(cè)推送服務(wù)的用戶能停止任何和推送服務(wù)相關(guān)的操作;而且對(duì)于已經(jīng)開啟推送服務(wù)的用戶,能在接收到推送服務(wù)不可用狀態(tài)指令時(shí)主動(dòng)斷開與服務(wù)器的長連接,并徹底釋放資源。再次,所述推送服務(wù)配置方法,在服務(wù)器出現(xiàn)任何故障時(shí)均能緊急使用,例如推送服務(wù)引起線上已經(jīng)發(fā)版的應(yīng)用程序奔潰或出現(xiàn)應(yīng)用程序異常時(shí),能立即從服務(wù)器側(cè)停止該應(yīng)用程序的推送服務(wù),從而停止影響。此外,對(duì)于推送服務(wù)初期,特別是穩(wěn)定性還沒有得到檢驗(yàn)的時(shí)候,如果出現(xiàn)問題能通過所述推送服務(wù)配置方法默默停止影響,無需通過應(yīng)用程序更新版本或提示用戶關(guān)閉推送開關(guān)來停止影響;對(duì)于用戶,是無感知的行為,從而優(yōu)化了用戶體驗(yàn)。
[0106]本發(fā)明的第二個(gè)方面,提出了一種推送服務(wù)配置裝置,能夠在推送服務(wù)出現(xiàn)故障時(shí)自動(dòng)關(guān)閉推送服務(wù),減少故障影響。如圖3所示,為本發(fā)明提供的推送服務(wù)配置裝置實(shí)施例的模塊結(jié)構(gòu)示意圖。
[0107]所述推送服務(wù)配置裝置,包括:
[0108]指令接收模塊301,用于接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令;可選的,服務(wù)器有相應(yīng)的針對(duì)各應(yīng)用程序的推送服務(wù)開關(guān)的配置頁面,可通過手動(dòng)進(jìn)行關(guān)閉,此外,還可根據(jù)對(duì)推送服務(wù)異常狀態(tài)的判斷而自動(dòng)關(guān)閉推送服務(wù);
[0109]連接狀態(tài)判斷模塊302,用于判斷是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接;
[0110]通常情況下,終端使用應(yīng)用程序的推送服務(wù)需要具備兩個(gè)前提條件:I)由服務(wù)器(可選為主要負(fù)責(zé)推送相關(guān)操作的推送服務(wù)器)分配給每個(gè)應(yīng)用程序一個(gè)獨(dú)立的app key,如果要使用所述應(yīng)用程序的推送服務(wù),終端需要先向服務(wù)器(可選為主要負(fù)責(zé)數(shù)據(jù)存儲(chǔ)及接口管理的設(shè)備管理服務(wù)器)發(fā)出推送服務(wù)注冊(cè)請(qǐng)求,所述推送服務(wù)注冊(cè)請(qǐng)求中攜帶有所述app key、終端設(shè)備唯一標(biāo)準(zhǔn)、應(yīng)用程序版本信息等字段,如果服務(wù)器通過驗(yàn)證app key而確認(rèn)能夠注冊(cè),則返回成功注冊(cè)信息,終端上的所述應(yīng)用程序則可以正常使用該應(yīng)用程序的推送服務(wù);2)在I)的基礎(chǔ)上,終端上的所述應(yīng)用程序如果需要及時(shí)收到推送消息,則需要和服務(wù)器(可選為主要負(fù)責(zé)與終端進(jìn)行連接的引擎服務(wù)器)建立一個(gè)socket長連接,即所述推送服務(wù)連接,通過驗(yàn)證app key和設(shè)備ID,判斷允許連接時(shí),則完成socket長連接,只要socket長連接保持正常狀態(tài),則終端上的所述應(yīng)用程序就能及時(shí)收到消息;
[0111]服務(wù)關(guān)閉模塊303,用于:
[0112]若不存在所述推送服務(wù)連接,關(guān)閉所述應(yīng)用程序的推送服務(wù);
[0113]具體的,由于需要從服務(wù)器及時(shí)有效的停止推送消息,需要從上面描述的I)和2)同時(shí)進(jìn)行停止;因此,在推送服務(wù)關(guān)閉期間有新的終端需要注冊(cè)使用推送服務(wù)時(shí),如果推送服務(wù)為關(guān)閉狀態(tài),則服務(wù)器應(yīng)該拒絕相應(yīng)應(yīng)用程序的注冊(cè)請(qǐng)求,返回推送服務(wù)不可用的狀態(tài),并且應(yīng)用程序會(huì)在終端本地保存此狀態(tài),如果推送服務(wù)不可用,則針對(duì)所述應(yīng)用程序之后的任何推送操作包括發(fā)送消息等都將直接返回,不再進(jìn)行,這樣可以保證有新的用戶打開所述應(yīng)用程序并觸發(fā)注冊(cè)要使用推送服務(wù)時(shí),能有效地保持停止?fàn)顟B(tài),從而減輕服務(wù)器壓力;
[0114]對(duì)于完成所述推送服務(wù)連接的終端,不能進(jìn)行單純的關(guān)閉推送服務(wù)的處理,因?yàn)?,僅僅斷開連接,終端會(huì)不斷嘗試重新連接,這樣即消耗資源,也完全沒有意義,因此,若存在所述推送服務(wù)連接,向已建立針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端發(fā)送推送服務(wù)不可用狀態(tài)指令,并斷開與所述終端的推送服務(wù)連接;終端在接收到所述推送服務(wù)不可用狀態(tài)指令時(shí),則判定當(dāng)前推送服務(wù)不可用,則會(huì)立即主動(dòng)斷開連接,釋放所有資源;這樣即使有后續(xù)的推送服務(wù)異常的推送消息,終端也不會(huì)接收到。
[0115]從上述實(shí)施例可以看出,本發(fā)明提供的推送服務(wù)配置裝置,在出現(xiàn)緊急需要停止某個(gè)或全部推送服務(wù)時(shí),接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令并關(guān)閉所述應(yīng)用程序的推送服務(wù),同時(shí),對(duì)于已經(jīng)建立推送服務(wù)連接的終端,向其發(fā)送推送服務(wù)不可用狀態(tài)指令,終端接收到所述推送服務(wù)不可用狀態(tài)指令,會(huì)主動(dòng)斷開連接并釋放資源,而不再嘗試重新建立連接;從而完成針對(duì)應(yīng)用程序的全面的推送服務(wù)關(guān)閉處理。
[0116]所述推送服務(wù)配置裝置,在推送服務(wù)出現(xiàn)問題時(shí),能夠及時(shí)有效的進(jìn)行停止,對(duì)于處理推送服務(wù)造成的影響和緊急情況處理非常有效,不需要發(fā)行應(yīng)用程序的更新版本,從服務(wù)器側(cè)即能及時(shí)糾正影響,待推送服務(wù)恢復(fù)正常時(shí)還可再次啟動(dòng)推送服務(wù);并且,所述推送服務(wù)配置裝置,在選擇停止推送服務(wù)時(shí)能保證徹底性,不但能防止新注冊(cè)推送服務(wù)的用戶能停止任何和推送服務(wù)相關(guān)的操作;而且對(duì)于已經(jīng)開啟推送服務(wù)的用戶,能在接收到推送服務(wù)不可用狀態(tài)指令時(shí)主動(dòng)斷開與服務(wù)器的長連接,并徹底釋放資源。再次,所述推送服務(wù)配置裝置,在服務(wù)器出現(xiàn)任何故障時(shí)均能緊急使用,例如推送服務(wù)引起線上已經(jīng)發(fā)版的應(yīng)用程序奔潰或出現(xiàn)應(yīng)用程序異常時(shí),能立即從服務(wù)器側(cè)停止該應(yīng)用程序的推送服務(wù),從而停止影響。此外,對(duì)于推送服務(wù)初期,特別是穩(wěn)定性還沒有得到檢驗(yàn)的時(shí)候,如果出現(xiàn)問題能通過所述推送服務(wù)配置裝置默默停止影響,無需通過應(yīng)用程序更新版本或提示用戶關(guān)閉推送開關(guān)來停止影響;對(duì)于用戶,是無感知的行為,從而優(yōu)化了用戶體驗(yàn)。
[0117]進(jìn)一步的,在一些可選實(shí)施方式中,所述推送服務(wù)配置裝置還包括終端請(qǐng)求接收模塊304,用于接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)注冊(cè)請(qǐng)求;
[0118]信息發(fā)送模塊305,用于:
[0119]若所述應(yīng)用程序的推送服務(wù)未關(guān)閉,向所述終端返回成功注冊(cè)信息,進(jìn)一步與終端建立推送服務(wù)連接,即可進(jìn)行推送服務(wù);
[0120]與此相對(duì)應(yīng)的,若所述應(yīng)用程序的推送服務(wù)已關(guān)閉,不能再提供推送服務(wù),因此向所述終端返回不予注冊(cè)信息,提示推送服務(wù)暫不可用;這樣,針對(duì)所述應(yīng)用程序之后的任何推送操作包括發(fā)送消息等都將直接返回,不再進(jìn)行,從而保證有新的用戶打開所述應(yīng)用程序并觸發(fā)注冊(cè)要使用推送服務(wù)時(shí),能有效地保持停止?fàn)顟B(tài),減輕服務(wù)器壓力。
[0121]更進(jìn)一步的,在一些可選實(shí)施方式中,所述終端請(qǐng)求接收模塊304,還用于接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)連接請(qǐng)求;
[0122]所述推送服務(wù)配置裝置還包括連接建立模塊306,若所述應(yīng)用程序的推送服務(wù)未關(guān)閉,用于根據(jù)所述推送服務(wù)連接請(qǐng)求,與所述終端建立所述應(yīng)用程序的推送服務(wù)長連接,從而在推送服務(wù)可用的情況下,能夠進(jìn)一步建立推送服務(wù)連接并使用推送服務(wù)。
[0123]較佳的,在一些可選實(shí)施方式中,所述指令接收模塊301,還用于接收針對(duì)應(yīng)用程序的開啟推送服務(wù)指令;
[0124]所述連接狀態(tài)判斷模塊302,還用于判斷在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前,是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接;
[0125]所述推送服務(wù)配置裝置還包括服務(wù)啟動(dòng)模塊307,用于:
[0126]若不存在所述推送服務(wù)連接,啟動(dòng)所述應(yīng)用程序的推送服務(wù);
[0127]若存在所述推送服務(wù)連接,向在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前建立過針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端,發(fā)送推送服務(wù)可用狀態(tài)指令,并建立與所述終端的推送服務(wù)連接。
[0128]通過上述實(shí)施例,當(dāng)推送服務(wù)恢復(fù)時(shí),通過判斷在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前,是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接,若存在,則自動(dòng)進(jìn)行連接,從而使得終端能夠自動(dòng)正常使用推送服務(wù),無需再次進(jìn)行主動(dòng)的連接操作。
[0129]可選的,在一些可選實(shí)施方式中,所述推送服務(wù)配置裝置還包括:
[0130]推送服務(wù)狀態(tài)判斷模塊308,用于判斷應(yīng)用程序的推送服務(wù)是否出現(xiàn)異常;
[0131 ]指令發(fā)送模塊309,若所述應(yīng)用程序的推送服務(wù)出現(xiàn)異常,用于自動(dòng)發(fā)送針對(duì)所述應(yīng)用程序的停止推送服務(wù)指令。
[0132]所述停止推送服務(wù)指令的發(fā)送模塊和接收模塊為同處于服務(wù)器側(cè)的不同模塊,發(fā)送模塊用于在判斷推送服務(wù)出現(xiàn)異常時(shí),提起所述停止推送服務(wù)指令,而所述接收模塊則用于在接收到停止推送服務(wù)指令時(shí),引出推送服務(wù)的關(guān)閉步驟。
[0133]通過上述實(shí)施例,可以通過判斷應(yīng)用程序的推送服務(wù)出現(xiàn)異常時(shí),自動(dòng)啟動(dòng)推送服務(wù)的停止操作,而無需進(jìn)行手動(dòng)控制。
[0134]所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實(shí)施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實(shí)施例或者不同實(shí)施例中的技術(shù)特征之間也可以進(jìn)行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡明它們沒有在細(xì)節(jié)中提供。
[0135]另外,為簡化說明和討論,并且為了不會(huì)使本發(fā)明難以理解,在所提供的附圖中可以示出或可以不示出與集成電路(IC)芯片和其它部件的公知的電源/接地連接。此外,可以以框圖的形式示出裝置,以便避免使本發(fā)明難以理解,并且這也考慮了以下事實(shí),即關(guān)于這些框圖裝置的實(shí)施方式的細(xì)節(jié)是高度取決于將要實(shí)施本發(fā)明的平臺(tái)的(即,這些細(xì)節(jié)應(yīng)當(dāng)完全處于本領(lǐng)域技術(shù)人員的理解范圍內(nèi))。在闡述了具體細(xì)節(jié)(例如,電路)以描述本發(fā)明的示例性實(shí)施例的情況下,對(duì)本領(lǐng)域技術(shù)人員來說顯而易見的是,可以在沒有這些具體細(xì)節(jié)的情況下或者這些具體細(xì)節(jié)有變化的情況下實(shí)施本發(fā)明。因此,這些描述應(yīng)被認(rèn)為是說明性的而不是限制性的。
[0136]盡管已經(jīng)結(jié)合了本發(fā)明的具體實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是根據(jù)前面的描述,這些實(shí)施例的很多替換、修改和變型對(duì)本領(lǐng)域普通技術(shù)人員來說將是顯而易見的。例如,其它存儲(chǔ)器架構(gòu)(例如,動(dòng)態(tài)RAM(DRAM))可以使用所討論的實(shí)施例。
[0137]本發(fā)明的實(shí)施例旨在涵蓋落入所附權(quán)利要求的寬泛范圍之內(nèi)的所有這樣的替換、修改和變型。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種推送服務(wù)配置方法,其特征在于,應(yīng)用于網(wǎng)絡(luò)服務(wù)器側(cè),包括: 接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令; 判斷是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接; 若不存在所述推送服務(wù)連接,關(guān)閉所述應(yīng)用程序的推送服務(wù); 若存在所述推送服務(wù)連接,向已建立針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端發(fā)送推送服務(wù)不可用狀態(tài)指令,并斷開與所述終端的推送服務(wù)連接。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令的步驟之前還包括: 接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)注冊(cè)請(qǐng)求; 向所述終端返回成功注冊(cè)信息; 和/或, 所述關(guān)閉所述應(yīng)用程序的推送服務(wù)的步驟之后還包括: 接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)注冊(cè)請(qǐng)求; 向所述終端返回不予注冊(cè)信息。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述向所述終端返回成功注冊(cè)信息的步驟之后還包括: 接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)連接請(qǐng)求; 根據(jù)所述推送服務(wù)連接請(qǐng)求,與所述終端建立所述應(yīng)用程序的推送服務(wù)長連接。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述向已建立針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端發(fā)送推送服務(wù)不可用狀態(tài)指令,并斷開與所述終端的推送服務(wù)連接的步驟之后還包括: 接收針對(duì)應(yīng)用程序的開啟推送服務(wù)指令; 判斷在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前,是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接; 若不存在所述推送服務(wù)連接,啟動(dòng)所述應(yīng)用程序的推送服務(wù); 若存在所述推送服務(wù)連接,向在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前建立過針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端,發(fā)送推送服務(wù)可用狀態(tài)指令,并建立與所述終端的推送服務(wù)連接。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令的步驟之前還包括: 判斷應(yīng)用程序的推送服務(wù)是否出現(xiàn)異常; 若所述應(yīng)用程序的推送服務(wù)出現(xiàn)異常,自動(dòng)發(fā)送針對(duì)所述應(yīng)用程序的停止推送服務(wù)指令。6.一種推送服務(wù)配置裝置,其特征在于,包括: 指令接收模塊,用于接收針對(duì)應(yīng)用程序的停止推送服務(wù)指令; 連接狀態(tài)判斷模塊,用于判斷是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接; 服務(wù)關(guān)閉模塊,用于: 若不存在所述推送服務(wù)連接,關(guān)閉所述應(yīng)用程序的推送服務(wù); 若存在所述推送服務(wù)連接,向已建立針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端發(fā)送推送服務(wù)不可用狀態(tài)指令,并斷開與所述終端的推送服務(wù)連接。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括終端請(qǐng)求接收模塊,用于接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)注冊(cè)請(qǐng)求; 信息發(fā)送模塊,用于: 若所述應(yīng)用程序的推送服務(wù)未關(guān)閉,向所述終端返回成功注冊(cè)信息; 和/或, 若所述應(yīng)用程序的推送服務(wù)已關(guān)閉,向所述終端返回不予注冊(cè)信息。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述終端請(qǐng)求接收模塊,還用于接收終端發(fā)送的針對(duì)應(yīng)用程序的推送服務(wù)連接請(qǐng)求; 連接建立模塊,若所述應(yīng)用程序的推送服務(wù)未關(guān)閉,用于根據(jù)所述推送服務(wù)連接請(qǐng)求,與所述終端建立所述應(yīng)用程序的推送服務(wù)長連接。9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述指令接收模塊,還用于接收針對(duì)應(yīng)用程序的開啟推送服務(wù)指令; 所述連接狀態(tài)判斷模塊,還用于判斷在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前,是否存在針對(duì)所述應(yīng)用程序的推送服務(wù)連接; 服務(wù)啟動(dòng)模塊,用于: 若不存在所述推送服務(wù)連接,啟動(dòng)所述應(yīng)用程序的推送服務(wù); 若存在所述推送服務(wù)連接,向在關(guān)閉所述應(yīng)用程序的推送服務(wù)之前建立過針對(duì)所述應(yīng)用程序的推送服務(wù)連接的終端,發(fā)送推送服務(wù)可用狀態(tài)指令,并建立與所述終端的推送服務(wù)連接。10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括: 推送服務(wù)狀態(tài)判斷模塊,用于判斷應(yīng)用程序的推送服務(wù)是否出現(xiàn)異常; 指令發(fā)送模塊,若所述應(yīng)用程序的推送服務(wù)出現(xiàn)異常,用于自動(dòng)發(fā)送針對(duì)所述應(yīng)用程序的停止推送服務(wù)指令。
【文檔編號(hào)】H04L29/06GK105847285SQ201610323406
【公開日】2016年8月10日
【申請(qǐng)日】2016年5月16日
【發(fā)明人】李欣
【申請(qǐng)人】樂視控股(北京)有限公司, 樂視網(wǎng)信息技術(shù)(北京)股份有限公司