本發(fā)明實施例涉及通信技術,尤其涉及一種消息處理方法、智能終端及服務器。
背景技術:
目前,在智能終端,如智能手機、桌面電腦、平板電腦等運行的應用程序(Application,APP)越來越多。對于每一個應用程序,用戶一般通過一個唯一的賬戶和密碼登錄該應用程序進行業(yè)務訪問。然而,隨著技術的不斷發(fā)展,一個公司旗下的APP越來越多。例如,58趕集集團旗下的APP包括58同城、安居客、趕集網(wǎng)、58到家等。為實現(xiàn)所有APP賬戶通用與提升賬戶的安全性,開發(fā)出所有APP登錄通用的軟件開發(fā)包(Software Development Ki,SDK),該SDK嵌入在智能終端中。當用戶需要進行身份驗證(Passport)登錄APP時,對每個APP使用統(tǒng)一的賬戶,通過SDK進行登錄。
用戶在通過SDK登錄APP時,APP需要直接或間接的接收SDK轉發(fā)的消息以實現(xiàn)登錄或其他功能。為提升消息轉發(fā)效率,SDK采用單通道消息轉發(fā)機制。該機制下,SDK在消息處理的過程中,在同一時刻通常將消息轉發(fā)給多個APP中的一個。
上述消息處理過程中,SDK通過單通道消息轉發(fā)機制,在同一時刻將消息轉發(fā)給多個APP中的一個,使得消息轉發(fā)的效率較高。然而,該種方式下,同一時刻僅有一個APP接收到SDK轉發(fā)過來的消息,無法同時兼顧其他APP,消息轉發(fā)具有極大的局限性。
技術實現(xiàn)要素:
本發(fā)明提供一種消息處理方法、智能終端及服務器,通過雙通道消息轉發(fā)機制進行消息轉發(fā),從而消除單通道消息轉發(fā)機制的局限性。
第一方面,本發(fā)明實施例提供一種消息處理方法,適用于嵌入軟件開發(fā)包SDK的智能終端,該方法包括:
所述SDK通過第一通道向身份驗證服務器發(fā)送用于訪問第一APP的訪問請求;
所述SDK通過所述第一通道接收所述身份驗證服務器發(fā)送的待處理消息;
所述SDK通過第二通道將所述待處理消息發(fā)送給第一應用程序APP,并通過第三通道將所述待處理消息廣播給第二APP;
其中,所述第一APP、所述第二APP運行在所述智能終端上。
在一種可行的實現(xiàn)方式中,所述SDK通過第二通道將所述待處理消息發(fā)送給第一應用程序APP之前,還包括:
所述SDK過濾所述待處理消息。
在一種可行的實現(xiàn)方式中,所述SDK過濾所述待處理消息,包括:
所述SDK根據(jù)所述訪問請求過濾所述待處理消息。
在一種可行的實現(xiàn)方式中,所述SDK過濾所述待處理消息之后,還包括:
所述SDK將所述待處理消息封裝為消息模型。
在一種可行的實現(xiàn)方式中,所述第二APP至少為一個。
第二方面,本發(fā)明實施例提供一種消息處理方法,包括:
身份驗證服務器接收軟件開發(fā)包SDK通過第一通道發(fā)送的用于訪問第一APP的訪問請求,所述SDK嵌入在智能終端上;
所述身份驗證服生成待處理消息;
所述身份驗證服務器通過所述第一通道向所述SDK發(fā)送待處理消息,以使得所述SDK通過第二通道將所述待處理消息發(fā)送給所述第一APP,并通過第三通道將所述待處理消息廣播給第二APP;
其中,所述第一APP、所述第二APP運行在所述智能終端上。
在一種可行的實現(xiàn)方式中,所述第二APP至少為一個。
第三方面,本發(fā)明實施例提供一種智能終端,所述智能終端上內嵌軟件開發(fā)包SDK,所述SDK包括:
發(fā)送模塊,用于通過第一通道向身份驗證服務器發(fā)送用于訪問第一APP的訪問請求;
接收模塊,用于通過所述第一通道接收所述身份驗證服務器發(fā)送的待處理消息;
所述發(fā)送模塊,還用于通過第二通道將所述待處理消息發(fā)送給第一應用程序APP,并通過第三通道將所述待處理消息廣播給第二APP;
其中,所述第一APP、所述第二APP運行在所述智能終端上。
在一種可行的實現(xiàn)方式中,所述智能終端還包括:
處理模塊,用于在所述發(fā)送模塊通過第二通道將所述待處理消息發(fā)送給第一應用程序APP之前,過濾所述待處理消息。
在一種可行的實現(xiàn)方式中,所述處理模塊,具體用于根據(jù)所述訪問請求過濾所述待處理消息。
在一種可行的實現(xiàn)方式中,所述處理模塊,還用于在過濾所述待處理消息之后,將所述待處理消息封裝為消息模型。
在一種可行的實現(xiàn)方式中,所述第二APP至少為一個。
第四方面,本發(fā)明實施例提供一種服務器,包括:
接收模塊,用于接收軟件開發(fā)包SDK通過第一通道發(fā)送的用于訪問第一APP的訪問請求,所述SDK嵌入在智能終端上;
處理模塊,用于生成待處理消息;
發(fā)送模塊,用于通過所述第一通道向所述SDK發(fā)送待處理消息,以使得所述SDK通過第二通道將所述待處理消息發(fā)送給所述第一APP,并通過第三通道將所述待處理消息廣播給第二APP;
其中,所述第一APP、所述第二APP運行在所述智能終端上。
在一種可行的實現(xiàn)方式中,所述第二APP至少為一個。
本發(fā)明實施例提供的消息處理方法、智能終端及服務器,SDK被嵌入在智能終端上,智能終端上的SDK通過第一通道向身份驗證服務器發(fā)送用于訪問第一APP的訪問請求,由身份驗證服務器針對第一APP生成待處理消息,并將該待處理消息通過第二通達發(fā)送給第一APP,通過第三通道廣播給第二APP。待處理消息發(fā)送過程中,SDK在同一時刻將待處理消息通過第二通道與第三通道分別發(fā)送給第一APP與第二APP,相當于采用了雙通道轉發(fā)機制轉發(fā)待處理消息,實現(xiàn)消除單通道消息轉發(fā)機制的局限性的目的。
附圖說明
為了更清楚地說明本發(fā)明方法實施例的技術方案,下面將對實施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明方法的一些實施例,對于本領域技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明消息處理方法實施例一的信令圖;
圖2為本發(fā)明智能終端實施例一的結構示意圖;
圖3為本發(fā)明智能終端實施例二的結構示意圖;
圖4為本發(fā)明身份驗證服務器的結構示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。以下內容為結合附圖及較佳實施例,對依據(jù)本發(fā)明申請的具體實施方式、結構、特征及其功效的詳細說明。
本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”、“第三”、“第四”等(如果存在)是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例例如能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
圖1為本發(fā)明消息處理方法實施例一的信令圖,本實施例從智能終端與服務器交互的角度對本發(fā)明消息處理方法進行詳細說明。具體的,本實施例中SDK嵌入到智能終端中,不同的APP通過SDK進行身份驗證以登錄,該方法包括:
101、所述SDK通過第一通道向身份驗證服務器發(fā)送用于訪問第一APP的訪問請求。
本發(fā)明實施例中,每個APP對應一個APP服務器,以58趕集集團旗下的APP,如安居客、58到家、趕集網(wǎng)等為例,安居客對應一個服務器,58到家對應一個服務器,趕集網(wǎng)對應一個服務器,各個服務器可獨立設置,也可以集成設置。服務器可稱之為身份驗證服務器,用于為各個APP提供單一登錄服務器等,用于存放客戶的注冊檔案文件、用戶名、密碼等。
當用戶在智能終端上第一次登錄該些APP中的任意一個APP,即第一APP時,內嵌到智能終端的SDK通過第一通道向身份驗證服務器發(fā)送訪問第一APP的訪問請求。發(fā)送過程中,SDK可通過第一通道直接向身份驗證服務器發(fā)送訪問請求,或者,SDK通過第一通道向第一APP對應的服務器發(fā)送訪問請求,并由第一APP對應的服務器將訪問請求重定向到身份驗證服務器。接收到訪問請求后,身份驗證服務器對用戶的身份進行驗證,即觸發(fā)用戶輸入賬戶與密碼等,并對用戶輸入的賬戶與密碼進行驗證。驗證成功后,生成待處理消息。
當用戶在智能終端上非首次登陸該些APP中的任意一個APP,即第一APP時,內嵌到智能終端的SDK通過第一通道向身份驗證服務器發(fā)送訪問第一APP的訪問請求。發(fā)送過程中,SDK可通過第一通道直接向身份驗證服務器發(fā)送訪問請求,或者,SDK通過第一通道向第一APP對應的服務器發(fā)送訪問請求,并由第一APP對應的服務器將訪問請求重定向到身份驗證服務器。接收到訪問請求后,身份驗證服務器根據(jù)之前的記錄,確定出已經對該用戶的身份成功驗證,則生成待處理消息。
102、身份驗證服務器生成待處理消息。
本步驟中,身份驗證服務器在對通過智能終端登錄APP的用戶的身份驗證成功后,針對第一APP生成待處理消息。例如,身份驗證服務器自身為第一APP生成待處理消息;再如,身份驗證服務器接收第一APP對應的服務器發(fā)送的待處理消息;又如,身份驗證服務器接收第二APP對應的服務器發(fā)送的待處理消息,該待處理消息可以被第一APP利用。
103、所述SDK通過第二通道將所述待處理消息發(fā)送給第一應用程序APP。
104、SDK通過第三通道將所述待處理消息廣播給第二APP。
上述步驟103與104中,第一APP與第二APP均為運行在智能終端上的APP。其中,第一APP為用戶當前正在訪問的APP,第二APP為后臺運行的APP等。當SDK接收到身份驗證服務器針對第一APP生成的待處理消息后,將該帶處理消息通過第二通道轉發(fā)給第一APP,并通過第三通道廣播給第二APP。其中,第二APP可以為一個或者為多個。該過程中,SDK在同一時刻將待處理消息通過第二通道與第三通道分別發(fā)送給第一APP與第二APP,相當于采用了雙通道轉發(fā)機制轉發(fā)待處理消息。
需要說明的是,上述實施例中,雖然SDK在同一時刻將待處理消息通過第二通道與第三通道分別發(fā)送給第一APP與第二APP,即103與104同步執(zhí)行。然而,本發(fā)明實施例并不以此為限制,在其他可行的實現(xiàn)方式中,步驟103可先于104執(zhí)行,或者,先執(zhí)行步驟104,再執(zhí)行步驟103。
本發(fā)明實施例提供的消息處理方法,SDK被嵌入在智能終端上,智能終端上的SDK通過第一通道向身份驗證服務器發(fā)送用于訪問第一APP的訪問請求,由身份驗證服務器針對第一APP生成待處理消息,并將該待處理消息通過第二通達發(fā)送給第一APP,通過第三通道廣播給第二APP。待處理消息發(fā)送過程中,SDK在同一時刻將待處理消息通過第二通道與第三通道分別發(fā)送給第一APP與第二APP,相當于采用了雙通道轉發(fā)機制轉發(fā)待處理消息,實現(xiàn)消除單通道消息轉發(fā)機制的局限性的目的。
可選的,在本發(fā)明一實施例中,上述的步驟103之前,SDK過濾所述待處理消息。
具體的,由于待處理消息包含的內容可能包括一些不必要的數(shù)據(jù)或重復的數(shù)據(jù)等。即使SDK將該些數(shù)據(jù)發(fā)送給第一APP或第二APP,對于第一APP或第二APP來說,該些數(shù)據(jù)是沒有用的。對該些沒有用的數(shù)據(jù)進行發(fā)送和接收,浪費資源的同時影響其他有用的數(shù)據(jù)的傳遞。因此,本實施例中,SDK在接收到待處理數(shù)據(jù)后,先對待處理數(shù)據(jù)進行過濾,再將過濾后的待處理數(shù)據(jù)發(fā)送給第一APP和第二APP。
可選的,在本發(fā)明一實施例中,SDK對待處理數(shù)據(jù)進行過濾時,可根據(jù)訪問請求過濾待處理數(shù)據(jù)。例如,根據(jù)訪問請求中攜帶的參數(shù)來決定哪些數(shù)據(jù)可以刪除掉,甚至來自SDK哪些接口的數(shù)據(jù)可以完全拒絕。
可選的,在本發(fā)明一實施例中,SDK在對待處理消息進行過濾后,還將過濾后的待處理消息封裝為消息模型,從而提高待處理消息的內聚性。
圖2為本發(fā)明智能終端實施例一的結構示意圖,所述智能終端上內嵌軟件開發(fā)包SDK,所述SDK包括:
發(fā)送模塊11,用于通過第一通道向身份驗證服務器發(fā)送用于訪問第一APP的訪問請求;
接收模塊12,用于通過所述第一通道接收所述身份驗證服務器發(fā)送的待處理消息;
所述發(fā)送模塊11,還用于通過第二通道將所述待處理消息發(fā)送給第一應用程序APP,并通過第三通道將所述待處理消息廣播給第二APP;
其中,所述第一APP、所述第二APP運行在所述智能終端上。
本發(fā)明實施例提供的智能終端,SDK被嵌入在智能終端上,智能終端上的SDK通過第一通道向身份驗證服務器發(fā)送用于訪問第一APP的訪問請求,由身份驗證服務器針對第一APP生成待處理消息,并將該待處理消息通過第二通達發(fā)送給第一APP,通過第三通道廣播給第二APP。待處理消息發(fā)送過程中,SDK在同一時刻將待處理消息通過第二通道與第三通道分別發(fā)送給第一APP與第二APP,相當于采用了雙通道轉發(fā)機制轉發(fā)待處理消息,實現(xiàn)消除單通道消息轉發(fā)機制的局限性的目的。
圖3為本發(fā)明智能終端實施例二的結構示意圖。請參照圖3,本發(fā)明實施例提供的智能終端,在上述圖2的基礎上,進一步的,還包括:
處理模塊13,用于在所述發(fā)送模塊11通過第二通道將所述待處理消息發(fā)送給第一應用程序APP之前,過濾所述待處理消息。
可選的,在本發(fā)明一實施例中,所述處理模塊13,具體用于根據(jù)所述訪問請求過濾所述待處理消息。
可選的,在本發(fā)明一實施例中,所述處理模塊13,還用于在過濾所述待處理消息之后,將所述待處理消息封裝為消息模型。
可選的,在本發(fā)明一實施例中,所述第二APP至少為一個。
圖4為本發(fā)明身份驗證服務器的結構示意圖,包括:
接收模塊21,用于接收軟件開發(fā)包SDK通過第一通道發(fā)送的用于訪問第一APP的訪問請求,所述SDK嵌入在智能終端上;
處理模塊22,用于生成待處理消息;
發(fā)送模塊23,用于通過所述第一通道向所述SDK發(fā)送待處理消息,以使得所述SDK通過第二通道將所述待處理消息發(fā)送給所述第一APP,并通過第三通道將所述待處理消息廣播給第二APP;
其中,所述第一APP、所述第二APP運行在所述智能終端上。
本發(fā)明實施例提供的消息處理方法,當?shù)闹悄芙K端上的SDK通過第一通道向身份驗證服務器發(fā)送用于訪問第一APP的訪問請求后,針對第一APP生成待處理消息,并將該待處理消息通過第二通達發(fā)送給第一APP,通過第三通道廣播給第二APP。待處理消息發(fā)送過程中,SDK在同一時刻將待處理消息通過第二通道與第三通道分別發(fā)送給第一APP與第二APP,相當于采用了雙通道轉發(fā)機制轉發(fā)待處理消息,實現(xiàn)消除單通道消息轉發(fā)機制的局限性的目的。
可選的,在本發(fā)明一實施例中,所述第二APP至少為一個。
本領域普通技術人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍。