本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0044]圖1為本發(fā)明保持移動終端在線狀態(tài)的方法一個實(shí)施例的流程圖,如圖1所示,該方法可以包括:
[0045]步驟101,認(rèn)證服務(wù)器接收移動終端發(fā)送的認(rèn)證請求,上述認(rèn)證請求中包括上述移動終端所用的操作系統(tǒng)的標(biāo)識和上述認(rèn)證服務(wù)器與所述移動終端之間會話的會話標(biāo)識。
[0046]具體地,上述移動終端所用的操作系統(tǒng)的標(biāo)識可以包含在上述認(rèn)證請求攜帶的上述移動終端的瀏覽器的用戶代理(User Agent)信息中。
[0047]步驟102,認(rèn)證服務(wù)器對上述移動終端進(jìn)行身份認(rèn)證,認(rèn)證成功后,記錄上述會話的最后心跳時間;以及將上述會話標(biāo)識和上述移動終端所用的操作系統(tǒng)的標(biāo)識發(fā)送給設(shè)備識別裝置,以便上述設(shè)備識別裝置根據(jù)上述移動終端所用的操作系統(tǒng)的標(biāo)識確定上述會話是否為移動終端與認(rèn)證服務(wù)器之間的會話。
[0048]本實(shí)施例的一種實(shí)現(xiàn)方式中,記錄上述認(rèn)證服務(wù)器和上述移動終端之間會話的最后心跳時間可以為:認(rèn)證服務(wù)器接收上述移動終端的瀏覽器周期發(fā)送的心跳報文,記錄每次接收到心跳報文的時刻,并以最后接收到心跳報文的時刻作為上述認(rèn)證服務(wù)器和上述移動終端之間會話的最后心跳時間。
[0049]本實(shí)施例的另一種實(shí)現(xiàn)方式中,記錄上述認(rèn)證服務(wù)器和上述移動終端之間會話的最后心跳時間也可以為:在對上述移動終端身份認(rèn)證成功之后,認(rèn)證服務(wù)器記錄上述移動終端的登錄時間,如果認(rèn)證服務(wù)器未接收到上述移動終端的瀏覽器發(fā)送的心跳報文,則以上述登錄時間作為上述會話的最后心跳時間。
[0050]步驟103,認(rèn)證服務(wù)器向上述設(shè)備識別裝置發(fā)出請求以獲取上述會話是否為移動終端與認(rèn)證服務(wù)器之間的會話。
[0051]步驟104,如果上述會話是移動終端與認(rèn)證服務(wù)器之間的會話,則上述認(rèn)證服務(wù)器確定上述會話的最后心跳時間與上述認(rèn)證服務(wù)器的當(dāng)前時間的時間差是否超過了上述移動終端單獨(dú)設(shè)置的存留期,如果否,則認(rèn)證服務(wù)器保持上述會話的在線狀態(tài)。
[0052]具體地,上述存留期可以由使用移動終端的用戶自行設(shè)定,本實(shí)施例對存留期的長短不作限定,舉例來說,上述存留期可以為2小時。
[0053]本實(shí)施例中,進(jìn)一步地,如果上述認(rèn)證服務(wù)器確定上述會話的最后心跳時間與認(rèn)證服務(wù)器的當(dāng)前時間的時間差超過了上述移動終端單獨(dú)設(shè)置的存留期,則認(rèn)證服務(wù)器向接入設(shè)備發(fā)送下線報文,以將上述會話下線。
[0054]本實(shí)施例中,進(jìn)一步地,步驟103之前,認(rèn)證服務(wù)器還可以檢查上述會話的最后心跳時間與上述認(rèn)證服務(wù)器的當(dāng)前時間的時間差是否超過預(yù)定個數(shù)的心跳周期;如果是,則認(rèn)證服務(wù)器執(zhí)行步驟103。
[0055]具體地,上述預(yù)定個數(shù)可以在具體實(shí)現(xiàn)時自行設(shè)定,本實(shí)施例對此不作限定,舉例來說上述預(yù)定個數(shù)可以為3。
[0056]本實(shí)施例中,上述認(rèn)證服務(wù)器可以為Portal服務(wù)器,當(dāng)然本發(fā)明實(shí)施例并不僅限于此,本實(shí)施例對認(rèn)證服務(wù)器的類型不作限定。
[0057]本實(shí)施例中,上述設(shè)備識別裝置可以為一單獨(dú)的裝置、設(shè)備或服務(wù)器,也可以作為一個模塊集成在認(rèn)證服務(wù)器或其他設(shè)備中,本實(shí)施例對此不作限定。
[0058]上述實(shí)施例中,認(rèn)證服務(wù)器將移動終端所用的操作系統(tǒng)的標(biāo)識發(fā)送給設(shè)備識別裝置,在設(shè)備識別裝置根據(jù)上述移動終端所用的操作系統(tǒng)的標(biāo)識確定認(rèn)證服務(wù)器的當(dāng)前會話為移動終端與認(rèn)證服務(wù)器之間的會話之后,只要上述會話的最后心跳時間與上述認(rèn)證服務(wù)器的當(dāng)前時間的時間差未超過上述移動終端單獨(dú)設(shè)置的存留期,則認(rèn)證服務(wù)器保持上述會話的在線狀態(tài)。從而可以實(shí)現(xiàn)移動終端在不發(fā)送心跳報文的情況下仍然能夠維持移動終端在線,這樣移動終端只需要認(rèn)證通過一次就能夠持續(xù)在線,即便使用上述移動終端的用戶關(guān)閉瀏覽器或者將瀏覽器最小化,也都能夠維持在線狀態(tài),而不用再次進(jìn)行認(rèn)證,進(jìn)而可以提升用戶的體驗(yàn)。
[0059]圖2為本發(fā)明保持移動終端在線狀態(tài)的方法另一個實(shí)施例的流程圖,本實(shí)施例以認(rèn)證服務(wù)器為Portal服務(wù)器為例進(jìn)行說明,如圖2所示,該方法可以包括:
[0060]步驟201,使用移動終端的用戶打開瀏覽器輸入用戶名和密碼進(jìn)行Portal認(rèn)證。[0061 ] 步驟202,移動終端將Portal認(rèn)證請求通過該移動終端的瀏覽器發(fā)送給Portal服務(wù)器。
[0062]本實(shí)施例中,上述Portal認(rèn)證請求中同時還包含了上述移動終端的瀏覽器的用戶代理信息。該用戶代理信息中包括瀏覽器標(biāo)識,上述瀏覽器標(biāo)識中包括上述移動終端所用的操作系統(tǒng)的標(biāo)識,還可以包括加密等級標(biāo)識和/或?yàn)g覽器語言。
[0063]本實(shí)施例中,通過終端使用的操作系統(tǒng)和瀏覽器基本上可以確認(rèn)終端是移動終端還是個人電腦(Personal Computer ;以下簡稱:PC)終端。這是因?yàn)镻C終端常用的操作類型為Windows、Linux、Mac OS或Solaris這幾類,那么可以將不使用這幾類操作系統(tǒng)的終端歸為移動終端。
[0064]步驟203,Portal服務(wù)器對上述移動終端進(jìn)行身份認(rèn)證。
[0065]如果身份認(rèn)證失敗,則上述移動終端的網(wǎng)絡(luò)訪問權(quán)限受限,本次流程結(jié)束;而如果身份認(rèn)證成功,則執(zhí)行步驟204。
[0066]步驟204,Portal服務(wù)器記錄當(dāng)前會話的會話標(biāo)識和上述移動終端的登錄時間。
[0067]本實(shí)施例中,如果Portal服務(wù)器未接收到上述移動終端的瀏覽器發(fā)送的心跳報文,則Portal服務(wù)器可以上述登錄時間作為上述會話的最后心跳時間。
[0068]步驟205,Portal服務(wù)器接收移動終端的瀏覽器周期發(fā)送的心跳報文。
[0069]本實(shí)施例中,移動終端的瀏覽器會通過JavaScript腳本語言周期向Portal服務(wù)器發(fā)送心跳報文。在該移動終端的瀏覽器被切換到后臺或被關(guān)閉之后,該移動終端的瀏覽器就會停止向Portal服務(wù)器發(fā)送心跳報文。
[0070]本步驟中,接收到上述心跳報文之后,Portal服務(wù)器會記錄每次接收到心跳報文的時刻,并以最后接收到心跳報文的時刻作為上述Portal服務(wù)器和上述移動終端之間會話的最后心跳時間。
[0071]步驟206,Portal服務(wù)器將當(dāng)前會話的會話標(biāo)識和用戶代理信息發(fā)送給設(shè)備識別
>J-U ρ?α裝直。
[0072]步驟207,設(shè)備識別裝置根據(jù)上述用戶代理信息中包括的移動終端所用的操作系統(tǒng)的標(biāo)識確定上述會話是否為移動終端與Portal服務(wù)器之間的會話。
[0073]步驟208, Portal服務(wù)器通過Portal協(xié)議向Portal接入設(shè)備發(fā)送上線消息,在Portal協(xié)議的私有屬性中需要攜帶當(dāng)前會話的會話標(biāo)識。
[0074]步驟209,Portal服務(wù)器周期檢查Portal服務(wù)器上在線的會話的最后心跳時間與Portal服務(wù)器的當(dāng)前時間的時間差是否超過預(yù)定個數(shù)的心跳周期。
[0075]具體地,Portal服務(wù)器上有一個周期執(zhí)行的任務(wù),該任務(wù)會周期檢查Portal服務(wù)器上在線的會話的最后心跳時間與Portal服務(wù)器的當(dāng)前時間的時間差是否超過預(yù)定個數(shù)的心跳周期。
[0076]其中,上述預(yù)定個數(shù)可以在具體實(shí)現(xiàn)時自行設(shè)定,本實(shí)施例對此不作限定,舉例來說上述預(yù)定個數(shù)可以為3。
[0077]步驟210,Portal服務(wù)器檢查到Portal服務(wù)器與上述移動終端之間的會話的最后心跳時間與Portal服務(wù)器的當(dāng)前時間的時間差超過預(yù)定個數(shù)的心跳周期之后,Portal服務(wù)器向設(shè)備識別裝置發(fā)出請求以獲取上述會話是否為移動終端與Portal服務(wù)器之間的會話。
[0078]步驟211,如果上述會話是移動終端與Portal服務(wù)器之間的會話,那么Portal服務(wù)器確定上述會話的最后心跳時間與Portal服務(wù)器的當(dāng)前時間的時間差是否超過了上述移動終端單獨(dú)設(shè)置的存留期,如果否,則Portal服務(wù)器保持上述會話的在線狀態(tài)。
[0079]具體地,上述存留期可以由使用移動終端的用戶自行設(shè)定,本實(shí)施例對存留期的長短不作限定,舉例來說,上述存留期可以為2小時。
[0080]本實(shí)施例中,進(jìn)一步地,如果上述Portal服務(wù)器確定上述會話的最后心跳時間與Portal服務(wù)器的當(dāng)前時間的時間差超過了上述移動終端單獨(dú)設(shè)置的存留期,則Portal服務(wù)器向上述Portal接入設(shè)備發(fā)送下線報文,以將上述會話下線。
[0081]本實(shí)施例中,上述設(shè)備識別裝置可以為一單獨(dú)的裝置、設(shè)備或服務(wù)器,也可以作為一個模塊集成在認(rèn)證服務(wù)器或其他設(shè)備中,本實(shí)施例對此不作限定。
[0082]上述實(shí)施例可以實(shí)現(xiàn)移動終端在不發(fā)送心跳報文的情形下仍然能夠在Portal服務(wù)器上保持移動終端的在線狀態(tài),同時甚至還允許在移動終端的瀏覽器認(rèn)證成功后,該瀏覽器被關(guān)閉或被最小化之后仍然能夠維持該移動終端的在線狀態(tài)而不用重新認(rèn)證,直至上述移動終端設(shè)置的存留期結(jié)束,從而可以提升用戶的體驗(yàn)。
[0083]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0084]圖3為本發(fā)明認(rèn)證服務(wù)器一個實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例中的認(rèn)證服務(wù)器可以實(shí)現(xiàn)本發(fā)明圖1所示實(shí)施例的流程。如圖3所示,該認(rèn)證服務(wù)器可以包括:接收模塊31