一種終端、服務端和終端接入管理方法
【專利摘要】本發(fā)明公開了一種終端、服務端和終端接入管理方法,該方法包括終端從服務端獲取令牌,將包含該令牌的信息封裝為接入請求消息,將所述接入請求消息發(fā)送給服務端;所述服務端接收到所述接入請求消息后,根據(jù)所述接入請求消息判斷是否允許所述終端接入。通過上述方法提供了一個更安全的校驗機制,使得服務端能對終端進行有效的接入控制,進一步提高了推送請求連接接入的安全性。
【專利說明】
一種終端、服務端和終端接入管理方法
技術領域
[0001]本發(fā)明涉及通信領域,尤其涉及一種終端、服務端和終端接入管理方法。
【背景技術】
[0002]當前,在很多系統(tǒng)或者APP中,都存在使用消息推送的功能。即通過在云端和客戶端之間建立一條穩(wěn)定、可靠的長連接,為開發(fā)者提供向客戶端應用推送實時消息的服務,幫助開發(fā)者有效地拉動用戶活躍。而所有的消息推送都需要有后臺服務器進行相關的支持才能夠?qū)崿F(xiàn),保持長鏈接,才能夠?qū)崿F(xiàn)消息發(fā)送以及接收的實時性。
[0003]由于需要長期保持服務端和客戶端的通信,需要在客戶端和服務端中保持一個長連接,如果客戶端的數(shù)量很多的話,就需要服務端保持很多數(shù)目的長連接。而實際情況是,一般APP系統(tǒng)的客戶端數(shù)量會達到幾十上百萬之多,這么多連接均需要通過安全校驗之后,才可成功連接至服務端。如無安全校驗,則如有人惡意的進行大量的請求連接,則服務器可能瞬間就會被壓垮或者宕機無法提供服務,因此推送的項目需要有一個安全的校驗機制。
[0004]現(xiàn)有系統(tǒng)一般就是通過一個加密的安全校驗碼,由客戶端進行加密,服務端進行解密,如此安全校驗碼被破解后,服務端就不能進行有效的接入控制,還是很容易被人攻擊導致宕機,所以需要一種更安全的校驗機制來對終端進行有效的接入控制,提高推送請求連接接入的安全性。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的在于提出一種終端、服務端和終端接入管理方法,旨在解決由于現(xiàn)有的安全校驗不完善,使得服務端不能進行有效的接入控制,很容易被人攻擊導致宕機,造成推送請求連接接入的安全性差的問題。
[0006]為實現(xiàn)上述目的,本發(fā)明提供一種終端,包括:第一獲取模塊,封裝模塊和第一發(fā)送模塊,
[0007]所述第一獲取模塊用于從服務端獲取令牌;
[0008]所述封裝模塊用于將包含所述令牌的信息封裝為接入請求消息;
[0009]所述第一發(fā)送模塊用于將所述接入請求消息發(fā)送給所述服務端。
[0010]其中,還包括第二獲取模塊,所述第二獲取模塊用于獲取接入訪問地址和安全校驗碼。
[0011]本發(fā)明還提供一種服務端,包括:令牌生成模塊,第二發(fā)送模塊,接收模塊和判斷模塊,
[0012]所述令牌生成模塊用于生成令牌;
[0013]所述第二發(fā)送模塊用于在接收到終端發(fā)送來的獲取請求后,將所述令牌發(fā)送給所述終端;
[0014]所述接收模塊用于接收所述終端發(fā)送來的接入請求消息,所述接入請求消息包含所述令牌;
[0015]所述判斷模塊用于根據(jù)所述接入請求消息判斷是否允許所述終端接入。
[0016]其中,所述接入請求消息還包含接入訪問地址和安全校驗碼。
[0017]其中,所述判斷模塊包括接入位置確定子模塊,第一校驗子模塊和第二校驗子模塊,
[0018]所述位置確定子模塊用于通過所述接入訪問地址確定所述終端的接入位置;
[0019]所述第一校驗子模塊用于通過所述安全校驗碼進行第一次校驗;
[0020]所述第二校驗子模塊用于所述第一次校驗通過后,再通過所述令牌進行第二次校驗,若校驗通過,則允許所述終端接入。
[0021 ]其中,還包括更新模塊,所述更新模塊用于定時更新所述令牌。
[0022 ]本發(fā)明還提供一種終端接入管理方法,其特征在于,包括:
[0023]終端從服務端獲取令牌,將包含所述令牌的信息封裝為接入請求消息,將所述接入請求消息發(fā)送給所述服務端;
[0024]所述服務端接收到所述接入請求消息后,根據(jù)所述接入請求消息判斷是否允許所述終端接入。
[0025]其中,所述接入請求消息還包括接入訪問地址和安全校驗碼。
[0026]其中,所述服務端根據(jù)所述請求接入消息判斷是否允許所述終端接入包括:
[0027]通過所述接入服務地址確定所述終端的接入位置;
[0028]通過所述安全校驗碼進行第一次校驗;
[0029]所述第一次校驗成功后,再通過所述令牌進行第二次校驗,若所述第二次校驗成功,則允許所述終端接入。
[0030]其中,還包括:服務端定時更新所述令牌。
[0031]本發(fā)明公開的一種終端、服務端和終端接入管理方法,通過終端從服務端獲取令牌,將包含所述令牌的信息封裝為接入請求消息,將所述接入請求消息發(fā)送給服務端;所述服務端收到所述接入請求消息后,根據(jù)所述接入請求消息判斷是否允許所述終端接入。提供了一個更安全的校驗機制,使得服務端能進行有效的接入控制,進一步提高了推送請求連接接入的安全性。
【附圖說明】
[0032]圖1為實現(xiàn)本發(fā)明各個實施例的移動終端一個可選的硬件結構示意圖;
[0033]圖2為本發(fā)明中路由集群的架構示意圖;
[0034]圖3為本發(fā)明的終端示意圖;
[0035]圖4為本發(fā)明的另一終端示意圖;
[0036]圖5為本發(fā)明的服務端示意圖;
[0037]圖6為圖5中的判斷模塊示意圖;
[0038]圖7為本發(fā)明的另一服務端示意圖;
[0039]圖8本發(fā)明的終端接入管理方法流程圖;
[0040]圖9為本發(fā)明的token獲取方法流程圖;
[0041 ]圖10為本發(fā)明的通過token進行校驗的方法流程圖。
[0042]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0043]應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0044]現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的終端、服務端和終端接入管理方法。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。
[0045]終端、服務端可以以各種形式來實施。例如,本發(fā)明中描述的終端可以是包括諸如移動電話、智能電話、筆記本電腦、PDA(個人數(shù)字助理)、PAD(平板電腦)等移動終端以及諸如數(shù)字TV、臺式計算機等等的固定終端。下面,假設終端是移動終端。然而,本領域技術人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實施方式的構造也能夠應用于固定類型的終端。
[0046]圖1為實現(xiàn)本發(fā)明各個實施例的移動終端一個可選的硬件結構示意圖。
[0047]移動終端100可以包括無線通信單元110、用戶輸入單元120、存儲器130、控制器140和電源單元150等等。圖1示出了具有各種組件的移動終端,但是應理解的是,并不要求實施所有示出的組件??梢蕴娲貙嵤└嗷蚋俚慕M件。將在下面詳細描述移動終端的元件。
[0048]無線通信單元110通常包括一個或多個組件,其允許移動終端與無線通信系統(tǒng)或網(wǎng)絡之間的無線電通信。例如,無線通信單元可以包括移動通信模塊111和無線互聯(lián)網(wǎng)模塊112中的至少一個,用于與服務端建立通信。
[0049]移動通信模塊111將無線電信號發(fā)送到基站(例如,接入點、節(jié)點B等等)、外部終端以及服務器中的至少一個和/或從其接收無線電信號。這樣的無線電信號可以包括語音通話信號、視頻通話信號、或者根據(jù)文本和/或多媒體消息發(fā)送和/或接收的各種類型的數(shù)據(jù)。
[0050]無線互聯(lián)網(wǎng)模塊112支持移動終端的無線互聯(lián)網(wǎng)接入。該模塊可以內(nèi)部或外部地耦接到終端。該模塊所涉及的無線互聯(lián)網(wǎng)接入技術可以包括WLAN(無線LAN)(W1-Fi)、Wibro(無線寬帶)、Wimax(全球微波互聯(lián)接入)、HSDPA(高速下行鏈路分組接入)等等。
[0051]用戶輸入單元120可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動終端的各種操作。用戶輸入單元120允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由于被接觸而導致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。
[0052]存儲器130可以暫時地存儲己經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等),比如保存路由信息列表等。存儲器130可以包括至少一種類型的存儲介質(zhì),所述存儲介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲器(例如,SD或DX存儲器等等)、隨機訪問存儲器(RAM)、靜態(tài)隨機訪問存儲器(SRAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、可編程只讀存儲器(PROM)、磁性存儲器、磁盤、光盤等等。而且,移動終端100可以與通過網(wǎng)絡連接執(zhí)行存儲器130的存儲功能的網(wǎng)絡存儲裝置協(xié)作。
[0053]控制器140通常控制移動終端的總體操作。例如,控制器140執(zhí)行與語音通話、數(shù)據(jù)通信、視頻通話等等相關的控制和處理。另外,控制器140可以包括用于再現(xiàn)(或回放)多媒體數(shù)據(jù)的多媒體模塊(未示出),多媒體模塊(未示出)可以構造在控制器140內(nèi),或者可以構造為與控制器140分離??刂破?40可以執(zhí)行模式識別處理,以將在觸摸屏上執(zhí)行的手寫輸入或者圖片繪制輸入識別為字符或圖像,控制器140還可以用于將輸入移動終端的語音控制指令識別成終端內(nèi)部可用的格式,然后將指令傳給對應的模塊或單元,比如控制請求消息的發(fā)送及應答消息的接收等。
[0054]電源單元150在控制器140的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當?shù)碾娏Α?br>[0055]這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質(zhì)來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、被設計為執(zhí)行這里描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器140中實施。對于軟件實施,諸如過程或功能的實施方式可以與允許執(zhí)行至少一種功能或操作的單獨的軟件模塊來實施。軟件代碼可以由以任何適當?shù)木幊陶Z言編寫的軟件應用程序(或程序)來實施,軟件代碼可以存儲在存儲器130中并且由控制器140執(zhí)行。
[0056]至此,己經(jīng)按照其功能描述了移動終端。下面,為了簡要起見,將描述諸如折疊型、直板型、擺動型、滑動型移動終端等等的各種類型的移動終端中的滑動型移動終端作為示例。因此,本發(fā)明能夠應用于任何類型的移動終端,并且不限于滑動型移動終端。
[0057]具體的,本發(fā)明提供的終端是在電源單元150供電的情況下進行相應的操作,如通過調(diào)用無線通信單元110與服務端建立通信,具體的可以是通過無線通信單元110中的移動通信模塊111和/或無線互聯(lián)網(wǎng)模塊112建立相應的通信;用戶輸入單元120用于終端在與服務端進行交互過程中,用戶進行相應的輸入操作;存儲器130用于存儲終端與服務端交互過程中的數(shù)據(jù)信息,比如獲取到的令牌,安全驗證碼和路由信息列表等一些列相關信息;控制器140用于對終端與服務端的整個交互過程進行控制,使終端進行相應的操作。上述結合圖1各模塊或單元描述的內(nèi)容僅用于對發(fā)明提供的各實施例進行解釋,并不用于對本發(fā)明保護的方案進行限定。對于本發(fā)明保護的具體方案,下面將結合附圖進一步詳細說明。
[0058]請參見圖2,圖2為路由集群的架構圖,其中路由集群是由多個tomcat應用服務器所組成的集群,集群中提供多個token(令牌)獲取接口,通過集群可以實現(xiàn)負載均衡;緩存模塊是用來保存token令牌的;接入容器可以用來進行token的校驗功能,另外,一些數(shù)據(jù)的請求與數(shù)據(jù)的獲取調(diào)用接口也可在其中實現(xiàn)。
[0059]這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質(zhì)來實施。軟件代碼可以由以任何適當?shù)木幊陶Z言編寫的軟件應用程序(或程序)來實施。
[0060]基于上述內(nèi)容,為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例;需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
[0061]實施例一:
[0062]本實施例提出一種終端,請參見圖3,包括:第一獲取模塊11,封裝模塊12和第一發(fā)送模塊13,第一獲取模塊11用于從服務端獲取令牌;封裝模塊12用于將包含令牌的信息封裝為接入請求消息;第一發(fā)送模塊13用于將該接入請求消息發(fā)送給服務端。
[0063 ]請參見圖4,該終端還包括第二獲取模塊14,第二獲取模塊14用于獲取接入訪問地址和安全校驗碼。
[0064]具體的,推送項目或者其他項目在連接到真正的接入服務器之前,均需要先訪問一次路由服務器的接口,由第一獲取模塊11獲取請求token,即終端先向服務端發(fā)送請求消息去獲取token,以及由第二獲取模塊14請求獲取路由列表彳目息等彳目息。服務端接收到請求消息后,獲取在線用戶數(shù)和push接入服務器性能等信息進行分析,由路由服務器根據(jù)分析結果生成對應的token信息,并向終端返回滿足條件的可以接入的路由列表信息以及token,另外,還需要將該token存放至緩存服務器中。其中路由列表信息包括IP,端口或者域名或者直接的連接地址等相關的信息,待終端獲取到此相關的路由列表信息以及token字段之后,封裝模塊12組織拼裝好真正的接入服務器的請求地址,即接入訪問地址,還要組織請求參數(shù),生成請求接入信息。該請求接入消息中除了舊有的用于加密的安全校驗碼字段,還需要帶上最新的token信息和接入訪問地址以及進行接入服務器的請求接入動作,第一發(fā)送模塊13將該接入請求消息發(fā)送給服務端。然后服務端根據(jù)該請求接入信息判斷是否允許該終端接入。需要理解的是,上述終端內(nèi)的各操作及終端與服務端的交互過程相應的都是通過控制器140控制實現(xiàn)的,另外,終端獲取的令牌和路由列表彳目息等彳目息都是存放在存儲器130中的。
[0065]本實施例提供的終端,通過從服務端獲取令牌,將包含令牌的信息封裝為接入請求消息,將該接入請求消息發(fā)送給服務端;給終端接入服務端的過程提供了一個更安全的校驗機制,使得服務端能進行有效的接入控制,進一步提高了推送請求連接接入的安全性。
[0066]實施例二:
[0067]本實施例提供一種服務端,請參見圖5,包括:令牌生成模塊21,第二發(fā)送模塊22,接收模塊23和判斷模塊24,進一步的,令牌生成模塊21用于生成令牌;第二發(fā)送模塊22用于在接收到終端發(fā)送來的獲取請求后,將該令牌發(fā)送給終端;接收模塊23用于接收終端發(fā)送來的接入請求消息,該接入請求消息包含令牌;判斷模塊24用于根據(jù)該接入請求消息判斷是否允許終端接入。
[0068]進一步的,接入請求消息還包含接入訪問地址和安全校驗碼。
[0069]進一步的,請參見圖6,判斷模塊24包括接入位置確定子模塊241,第一校驗子模塊242和第二校驗子模塊243,具體的,位置確定子模塊241用于通過接入訪問地址確定終端的接入位置;第一校驗子模塊242用于通過安全校驗碼進行第一次校驗;第二校驗子模塊243用于第一次校驗通過后,再通過令牌進行第二次校驗,若校驗通過,則允許所述終端接入。
[0070]具體的,服務端接收到終端發(fā)送來的token獲取請求消息后,根據(jù)該請求消息向滿足服務器接入條件的終端配置token令牌,該token令牌可以由令牌生成模塊21生成,然后通過第二發(fā)送模塊22將該token信息發(fā)送給終端。當服務端的接收模塊23接收到終端發(fā)送來的接入請求消息后,判斷模塊24根據(jù)該接入請求消息判斷是否允許終端接入。首先位置確定子模塊241根據(jù)接入服務地址確定終端的接入位置,然后第一校驗子模塊242進行舊有的加密字段的校驗工作,即通過安全校驗碼進行第一次校驗,若此第一次校驗成功,第二校驗子模塊243再根據(jù)token進行第二次校驗工作。具體的可以由接入服務器進入緩存服務器中,查看是否存在相同的token信息,若存在則該第二次校驗通過,即請求有效;若出現(xiàn)不存在或者該token失效等情況,則說明該請求無效,禁止進行接入操作,保證了終端接入服務端的安全性。同時,還需要返回終端token失效等關鍵信息。當終端請求成功時,可直接進行雙方的通信,當服務端返回token失效時,由終端重新發(fā)起請求獲取token與路由列表,并再次進行訪問。
[0071]進一步的,請參見圖7,服務端還包括更新模塊25,該更新模塊25用于定時更新令牌。
[0072]具體的,服務端定時更新token,路由服務器隔一定時間重新生成一個token,并將該token存放到緩存服務器中,當token過期使得終端接入失敗時,終端需要重新獲取更新后的token,進一步提高了終端接入服務端的安全性。
[0073]本實施例提供的服務端,通過在接收到終端發(fā)來的接入請求消息后,根據(jù)該接入請求消息判斷是否允許所述終端接入,該接入請求消息包含令牌,給終端在接入服務端的過程中提供了一個更安全的校驗機制,使得服務端能進行有效的接入控制,進一步提高了推送請求連接接入的安全性。
[0074]實施例三:
[0075]本實施例提供一種終端接入管理方法,具體的,請參見圖8,包括:
[0076]步驟101,終端從服務端獲取令牌,將包含所述令牌的信息封裝為接入請求消息,將所述接入請求消息發(fā)送給所述服務端;
[0077]步驟102,服務端接收到該接入請求消息后,根據(jù)該接入請求消息判斷是否允許終端接入。
[0078]具體的,對于步驟101,推送項目或者其他項目在連接到真正的接入服務器之前,均需要先訪問一次路由服務器的接口,獲取請求token,即終端先向服務端發(fā)送請求消息去獲取token,以及請求路由列表信息。服務端接收到請求消息后,獲取在線用戶數(shù)和push接入服務器性能等信息進行分析,由路由服務器根據(jù)分析結果生成對應的token信息,并向終端返回滿足條件的可以接入的路由列表信息以及token,另外,還需要將該token存放至緩存服務器中。其中路由列表信息包括IP,端口或者域名或者直接的連接地址等相關的信息,待終端獲取到此相關的路由列表信息以及token字段之后,組織拼裝好真正的接入服務器的請求地址,即接入訪問地址,還要組織請求參數(shù),生成請求接入信息,然后將該接入請求消息發(fā)送給服務端,請求接入該服務端。
[0079]需要理解的是,上述終端內(nèi)的各操作及終端與服務端的交互過程相應的都是通過控制器140控制實現(xiàn)的,另外,終端獲取的令牌和路由列表信息等信息都是存放在存儲器130中的。
[0080]進一步的,該接入請求消息還包括接入訪問地址和安全校驗碼。
[0081]具體的,請求接入消息中除了舊有的用于加密的安全校驗碼字段,還需要帶上最新的token信息和接入訪問地址以進行接入服務器的請求接入動作,將該接入請求消息發(fā)送給服務端。
[0082]對于步驟102,服務端接收到該接入請求消息后,根據(jù)該接入請求消息判斷是否允許終端接入。進一步的,服務端根據(jù)該請求接入消息判斷是否允許終端接入包括:通過接入服務地址確定終端的接入位置;通過安全校驗碼進行第一次校驗;所述第一次校驗成功后,再通過令牌進行第二次校驗,若第二次校驗成功,則允許終端接入。
[0083]具體的,服務端接收到終端發(fā)送來的接入請求消息后,首先根據(jù)接入服務地址確定終端的接入位置,然后進行舊有的加密字段的校驗工作,即通過安全校驗碼進行第一次校驗,若此第一次校驗成功,再根據(jù)token進行第二次校驗工作,具體的可以由接入服務器進入緩存服務器中,查看是否存在相同的token信息,若存在則該第二次校驗通過,即請求有效;若出現(xiàn)不存在或者該token失效等情況,則說明該請求無效,禁止進行接入操作,保證了終端接入服務端的安全性。同時,還需要返回終端token失效等關鍵信息。當終端請求成功時,可直接進行雙方的通信,當服務端返回token失效時,由終端端重新發(fā)起請求獲取token與路由列表,并再次進行訪問。
[0084]進一步的,還包括:服務端定時更新令牌。
[0085]具體的,服務端定時更新token,路由服務器隔一定時間重新生成一個token,并將該token存放到緩存服務器中,當token過期使得終端接入失敗時,終端需要重新獲取更新后的token,進一步更加提高了終端接入服務端的安全性。
[0086]本實施例提供的終端接入管理方法通過終端從服務端獲取令牌,通過將包含所述令牌的信息封裝為接入請求消息,將所述接入請求消息發(fā)送給服務端;所述服務端收到所述接入請求消息后,根據(jù)所述接入請求消息判斷是否允許所述終端接入。提供了一個更安全的校驗機制,使得服務端能進行有效的接入控制,進一步提高了推送請求連接接入的安全性。
[0087]實施例四:
[0088]本實施例對token的獲取過程和通過token進行校驗的過程做更為詳細的描述,具體的:
[0089]請參見圖9,獲取token的過程具體包括:
[0090]步驟201,發(fā)起請求,跳轉到步驟202;
[0091 ]具體的,推送項目或者其他項目在連接到真正的接入服務器之前,均需要先訪問一次路由服務器的接口,去請求獲取token,當終端需要與服務端建立通信時,終端先要發(fā)起請求。
[0092]步驟202,計算設備標志和計算簽名,跳轉到步驟203 ;
[0093]具體的,發(fā)起請求后,終端會計算自身的設備標示和簽名,將此信息封裝在請求消息內(nèi),發(fā)送給服務端。
[0094]步驟203,發(fā)送Https請求,跳轉到步驟204 ;
[0095]具體的,將包含終端的設備標志和簽名信息的請求消息通過安全Http通道發(fā)送給服務端,去獲取token。
[0096]步驟204,開始參數(shù)和簽名校驗App狀態(tài)等校驗,跳轉到步驟205;
[0097]具體的,服務端的Push路由服務器接收到終端發(fā)送來的請求消息后,分析該請求消息,對終端進行參數(shù)和簽名校驗及App狀態(tài)等檢驗,判斷是否給終端配置token。
[0098]步驟205,判斷校驗是否成功,若成功,跳轉到步驟206;若不成功,跳轉到步驟210;
[0099]具體的,判斷上述檢驗是否成功,若成功則說明服務端可以根據(jù)終端需要給終端配置相應的令牌,若驗證失敗,則說明該終端是非法接入的,向該終端返回失敗消息。
[0100]步驟206,獲取在線用戶數(shù),Push接入服務器性能等信息,跳轉到步驟207;
[0101]具體的,當校驗成功后,Push路由服務器獲取服務端的在線用戶數(shù)和Push接入服務器性能等信息,根據(jù)前述消息配置對應的令牌,需要注意的是,為保證終端接入服務器的安全性,該令牌每隔一定的時間進行一次更新。
[0102]步驟207,返回信息,跳轉到步驟208;
[0103]具體的,當給終端配置了相應的令牌后,將該令牌發(fā)送給Redis緩存處理器,進行保存。
[0104]步驟208,路由返回結果(包含令牌信息),跳轉到步驟209;
[0105]具體的,當將令牌在Redis緩存處理器保存后,Push路由服務器向終端返回配置結果,該配置結果內(nèi)包含令牌信息,也包含路由列表信息和安全校驗碼等信息。
[0106]步驟209,成功返回連接許可;
[0107]具體的,當服務器給終端返回配置結果信息后,向終端成功返回連接許可,終端即可進行后續(xù)操作。
[0108]步驟210,返回失敗消息。
[0109]具體的,當服務端對終端發(fā)送過去的請求消息進行分析,對終端進行參數(shù)和簽名校驗及App狀態(tài)等檢驗,若檢驗失敗,則說明服務端不允許該終端接入,向終端返回失敗消息。
[0110]具體的,推送項目或者其他項目在連接到真正的接入服務器之前,均需要先訪問一次路由服務器的接口,獲取請求token。詳細的,終端(Push中控或PushClient)發(fā)起請求,然后計算設備標志和計算簽名,接著發(fā)送Https獲取消息,去獲取令牌。服務端Push路由接收到該獲取消息后,對終端進行參數(shù)和簽名校驗App狀態(tài)等校驗,若校驗失敗,則向終端返回獲取失敗消息;若校驗成功,則獲取在線用戶數(shù),push接入服務器性能等信息,根據(jù)該信息分配接入服務器,并從Redi s獲取token,將包含token的消息發(fā)送給終端,還向終端返回滿足條件的可以接入的路由列表信息,安全校驗碼等消息,其中路由列表信息包括IP,端口或者域名或者直接的連接地址等相關的信息。另外,服務端還需要將該token存放至緩存服務器中發(fā)送成功連接許可。
[0111]請參見圖10,通過token進行校驗的過程具體包括:
[0112]步驟301,發(fā)起請求,跳轉到步驟302;
[0113]具體的,推送項目或者其他項目在連接到真正的接入服務器之前,均需要先訪問一次路由服務器的接口,去請求獲取token,當終端需要與服務端建立通信時,終端先要發(fā)起請求。
[0114]步驟302,計算設備標志和計算簽名,跳轉到步驟303 ;
[0115]具體的,發(fā)起請求后,終端會計算自身的設備標示和簽名,將此信息封裝在此次請求消息內(nèi),發(fā)送給服務端。
[0116]步驟303,發(fā)送Https請求,跳轉到步驟304 ;
[0117]具體的,將包含終端的設備標志和簽名信息的請求消息通過安全Http通道發(fā)送給服務端,去請求接入服務端。
[0118]步驟304,開始參數(shù)和簽名校驗App狀態(tài)等校驗,跳轉到步驟305;
[0119]具體的,服務端的Push接入服務器接收到終端發(fā)送來的請求消息后,分析該請求消息,對終端進行參數(shù)和簽名校驗及App狀態(tài)等檢驗,判斷是否接入該終端。
[0120]步驟305,判斷校驗是否成功,若成功,跳轉到步驟306;若不成功,跳轉到步驟309;
[0121]具體的,判斷上述檢驗是否成功,上述校驗即可理解為是進行第一次校驗,具體的可以是通過安全校驗碼進行校驗,若該第一次校驗成功,則從Redis緩存處理器獲取令牌,繼續(xù)第二次校驗;若不成功,則說明該終端為非法接入,向終端返回失敗消息,以繼續(xù)后續(xù)的相應處理。
[0122]步驟306,返回令牌信息,跳轉到步驟307;
[0123]具體的,Redis緩存處理器向Push接入服務器返回存儲的token令牌信息,進行后續(xù)的第二次驗證。
[0124]步驟307,檢驗令牌信息是否存在,若存在,跳轉到步驟308;若不存在,跳轉到步驟309;
[0125]具體的,Push接入服務器根據(jù)Redis緩存處理器返回的token令牌信息,判斷是否存在與終端發(fā)送來的接入請求消息中的token相同的token,若存在,則返回成功連接許可;若失敗,則向終端返回獲取失敗消息。
[0126]步驟308,成功返回連接許可;
[ΟΙ27]具體的,當服務端存在與終端發(fā)送來的接入請求消息中的token相同的token時,服務端向終端成功返回連接許可。
[0128]步驟309,返回失敗消息。
[0129]具體的,當?shù)谝淮悟炞C失敗或第二次驗證時當服務端不存在與終端發(fā)送來的接入請求消息中的token相同的token時,服務端向終端返回失敗消息。
具體的,終端(Push中控或PushClient)發(fā)起請求,然后計算設備標志和計算簽名,接著發(fā)送Https請求,即發(fā)送接入請求消息,請求接入。詳細的,接入請求消息包括token,接入訪問地址和安全校驗碼等信息。Push接入服務器接收到該接入請求消息后,進行參數(shù)和簽名校驗App狀態(tài)等校驗,即根據(jù)校驗碼進行第一次校驗,若校驗失敗,則向終端返回獲取失敗消息;若校驗成功,則從Redis獲取token,繼續(xù)第二次校驗,判斷緩存服務器中是否存在與終端發(fā)送來的接入請求消息中的token相同的token,若存在,返回成功連接許可;若失敗,則向終端返回獲取失敗消息。上述方法提供了一個更安全的校驗機制,使得服務端能進行有效的接入控制,進一步提高了推送請求連接接入的安全性。
[0131]需要理解的是,服務端每隔一定的時間更新token,并將該token存放到緩存服務器中,當token過期使得終端接入失敗時,終端需要重新獲取更新后的token,進一步更加提高了終端接入服務端的安全性。
[0132]需要說明的是,在本文中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
[0133]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0134]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,月艮務器,空調(diào)器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0135]以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
【主權項】
1.一種終端,其特征在于,包括:第一獲取模塊,封裝模塊和第一發(fā)送模塊, 所述第一獲取模塊用于從服務端獲取令牌; 所述封裝模塊用于將包含所述令牌的信息封裝為接入請求消息; 所述第一發(fā)送模塊用于將所述接入請求消息發(fā)送給所述服務端。2.如權利要求1所述的終端,其特征在于,還包括第二獲取模塊,所述第二獲取模塊用于獲取接入訪問地址和安全校驗碼。3.—種服務端,其特征在于,包括:令牌生成模塊,第二發(fā)送模塊,接收模塊和判斷模塊, 所述令牌生成模塊用于生成令牌; 所述第二發(fā)送模塊用于在接收到終端發(fā)送來的獲取請求后,將所述令牌發(fā)送給所述終端; 所述接收模塊用于接收所述終端發(fā)送來的接入請求消息,所述接入請求消息包含所述令牌; 所述判斷模塊用于根據(jù)所述接入請求消息判斷是否允許所述終端接入。4.如權利要求3所述的服務端,其特征在于,所述接入請求消息還包含接入訪問地址和安全校驗碼。5.如權利要求4所述的服務端,其特征在于,所述判斷模塊包括接入位置確定子模塊,第一校驗子模塊和第二校驗子模塊, 所述位置確定子模塊用于通過所述接入訪問地址確定所述終端的接入位置; 所述第一校驗子模塊用于通過所述安全校驗碼進行第一次校驗; 所述第二校驗子模塊用于所述第一次校驗通過后,再通過所述令牌進行第二次校驗,若校驗通過,則允許所述終端接入。6.如權利要求3-5任一項所述的服務端,其特征在于,還包括更新模塊,所述更新模塊用于定時更新所述令牌。7.一種終端接入管理方法,其特征在于,包括: 終端從服務端獲取令牌,將包含所述令牌的信息封裝為接入請求消息,將所述接入請求消息發(fā)送給所述服務端; 所述服務端接收到所述接入請求消息后,根據(jù)所述接入請求消息判斷是否允許所述終端接入。8.如權利要求7所述的終端接入管理方法,其特征在于,所述接入請求消息還包括接入訪問地址和安全校驗碼。9.如權利要求8所述的終端接入管理方法,其特征在于,所述服務端根據(jù)所述請求接入消息判斷是否允許所述終端接入包括: 通過所述接入服務地址確定所述終端的接入位置; 通過所述安全校驗碼進行第一次校驗; 所述第一次校驗成功后,再通過所述令牌進行第二次校驗,若所述第二次校驗成功,則允許所述終端接入。10.如權利要求7-9任一項所述的終端接入管理方法,其特征在于,還包括:服務端定時更新所述令牌。
【文檔編號】H04L29/06GK105897696SQ201610179057
【公開日】2016年8月24日
【申請日】2016年3月25日
【發(fā)明人】鄭秋燕
【申請人】努比亞技術有限公司