保持移動(dòng)終端在線狀態(tài)的方法和認(rèn)證服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù),尤其涉及一種保持移動(dòng)終端在線狀態(tài)的方法和認(rèn)證服務(wù)器。
【背景技術(shù)】
[0002]在移動(dòng)終端通過(guò)瀏覽器和服務(wù)器進(jìn)行Portal認(rèn)證后,移動(dòng)終端的瀏覽器通常會(huì)要求通過(guò)JavaScript腳本語(yǔ)言周期觸發(fā)一個(gè)超文本轉(zhuǎn)移協(xié)議(Hypertext TransferProtocol ;以下簡(jiǎn)稱:HTTP)請(qǐng)求作為一個(gè)心跳報(bào)文給服務(wù)器,以此來(lái)標(biāo)示該移動(dòng)終端和服務(wù)器端之間的通信是正常的。
[0003]維持心跳報(bào)文的主要作用有:1)標(biāo)示移動(dòng)終端是通過(guò)認(rèn)證的,并且是在線的。只有通過(guò)認(rèn)證的移動(dòng)終端才有特定的網(wǎng)絡(luò)訪問(wèn)權(quán)限。2)通過(guò)心跳報(bào)文可以維持移動(dòng)終端在線。一旦移動(dòng)終端沒(méi)有心跳報(bào)文后被服務(wù)器下線,該移動(dòng)終端需要再次進(jìn)行認(rèn)證。
[0004]目前市場(chǎng)上的成型產(chǎn)品都是通過(guò)在移動(dòng)終端提供一個(gè)?;钚奶l(fā)送界面來(lái)實(shí)現(xiàn)周期發(fā)送心跳報(bào)文的。但是在手機(jī)操作系統(tǒng)(例如安卓操作系統(tǒng))上,一旦將瀏覽器最小化到后臺(tái)后,操作系統(tǒng)就會(huì)禁止瀏覽器中JavaScript腳本的執(zhí)行,從而導(dǎo)致移動(dòng)終端無(wú)法發(fā)送心跳報(bào)文到服務(wù)器。而服務(wù)器一般會(huì)有一個(gè)心跳檢測(cè)的監(jiān)控線程,該線程會(huì)將最后心跳報(bào)文的發(fā)送時(shí)間與當(dāng)前時(shí)間進(jìn)行比對(duì),如果最后心跳報(bào)文的發(fā)送時(shí)間與當(dāng)前時(shí)間相隔超過(guò)指定個(gè)數(shù)的心跳周期(例如3個(gè)心跳周期),服務(wù)器就會(huì)認(rèn)為該移動(dòng)終端已經(jīng)不在線了,服務(wù)器就會(huì)通知對(duì)應(yīng)的Portal接入設(shè)備將該移動(dòng)終端下線,從而導(dǎo)致該移動(dòng)終端的網(wǎng)絡(luò)訪問(wèn)權(quán)限受限,這樣該移動(dòng)終端就需要再次進(jìn)行認(rèn)證,嚴(yán)重影響用戶體驗(yàn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種保持移動(dòng)終端在線狀態(tài)的方法和認(rèn)證服務(wù)器,以實(shí)現(xiàn)移動(dòng)終端不發(fā)送心跳報(bào)文仍然能夠在認(rèn)證服務(wù)器上維持其在線狀態(tài)而不用重新認(rèn)證。
[0006]本發(fā)明第一方面提供一種保持移動(dòng)終端在線狀態(tài)的方法,包括:
[0007]認(rèn)證服務(wù)器接收移動(dòng)終端發(fā)送的認(rèn)證請(qǐng)求,所述認(rèn)證請(qǐng)求中包括所述移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí)和所述認(rèn)證服務(wù)器與所述移動(dòng)終端之間會(huì)話的會(huì)話標(biāo)識(shí);
[0008]所述認(rèn)證服務(wù)器對(duì)所述移動(dòng)終端進(jìn)行身份認(rèn)證,認(rèn)證成功后,記錄所述會(huì)話的最后心跳時(shí)間;以及將所述會(huì)話標(biāo)識(shí)和所述移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí)發(fā)送給設(shè)備識(shí)別裝置,以便所述設(shè)備識(shí)別裝置根據(jù)所述移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí)確定所述會(huì)話是否為移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話;
[0009]所述認(rèn)證服務(wù)器向所述設(shè)備識(shí)別裝置發(fā)出請(qǐng)求以獲取所述會(huì)話是否為移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話;
[0010]如果所述會(huì)話是移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話,則所述認(rèn)證服務(wù)器確定所述會(huì)話的最后心跳時(shí)間與所述認(rèn)證服務(wù)器的當(dāng)前時(shí)間的時(shí)間差是否超過(guò)了所述移動(dòng)終端單獨(dú)設(shè)置的存留期,如果否,則所述認(rèn)證服務(wù)器保持所述會(huì)話的在線狀態(tài)。
[0011]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述認(rèn)證服務(wù)器向所述設(shè)備識(shí)別裝置發(fā)出請(qǐng)求以獲取所述會(huì)話是否為移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話之前,還包括:
[0012]所述認(rèn)證服務(wù)器檢查所述會(huì)話的最后心跳時(shí)間與所述認(rèn)證服務(wù)器的當(dāng)前時(shí)間的時(shí)間差是否超過(guò)預(yù)定個(gè)數(shù)的心跳周期;
[0013]如果是,則所述認(rèn)證服務(wù)器執(zhí)行向所述設(shè)備識(shí)別裝置發(fā)出請(qǐng)求以獲取所述會(huì)話是否為移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話的步驟。
[0014]結(jié)合第一方面,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述記錄所述認(rèn)證服務(wù)器和所述移動(dòng)終端之間會(huì)話的最后心跳時(shí)間包括:
[0015]所述認(rèn)證服務(wù)器接收所述移動(dòng)終端的瀏覽器周期發(fā)送的心跳報(bào)文,記錄每次接收至IJ心跳報(bào)文的時(shí)刻,并以最后接收到心跳報(bào)文的時(shí)刻作為所述認(rèn)證服務(wù)器和所述移動(dòng)終端之間會(huì)話的最后心跳時(shí)間;或者,
[0016]在對(duì)所述移動(dòng)終端身份認(rèn)證成功之后,所述認(rèn)證服務(wù)器記錄所述移動(dòng)終端的登錄時(shí)間,如果所述認(rèn)證服務(wù)器未接收到所述移動(dòng)終端的瀏覽器發(fā)送的心跳報(bào)文,以所述登錄時(shí)間作為所述會(huì)話的最后心跳時(shí)間。
[0017]結(jié)合第一方面,或者第一方面的第一種或第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí)包含在所述認(rèn)證請(qǐng)求攜帶的所述移動(dòng)終端的瀏覽器的用戶代理信息中。
[0018]本發(fā)明第二方面提供一種認(rèn)證服務(wù)器,包括:
[0019]接收模塊,用于接收移動(dòng)終端發(fā)送的認(rèn)證請(qǐng)求,所述認(rèn)證請(qǐng)求中包括所述移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí)和所述認(rèn)證服務(wù)器與所述移動(dòng)終端之間會(huì)話的會(huì)話標(biāo)識(shí);
[0020]認(rèn)證模塊,用于對(duì)所述移動(dòng)終端進(jìn)行身份認(rèn)證;
[0021]記錄模塊,用于在所述認(rèn)證模塊認(rèn)證成功后,記錄所述會(huì)話的最后心跳時(shí)間;
[0022]發(fā)送模塊,用于將所述會(huì)話標(biāo)識(shí)和所述接收模塊接收的所述移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí)發(fā)送給設(shè)備識(shí)別裝置,以便所述設(shè)備識(shí)別裝置根據(jù)所述移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí)確定所述會(huì)話是否為移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話;以及向所述設(shè)備識(shí)別裝置發(fā)出請(qǐng)求以獲取所述會(huì)話是否為移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話;
[0023]確定模塊,用于當(dāng)所述會(huì)話是移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話時(shí),確定所述會(huì)話的最后心跳時(shí)間與所述認(rèn)證服務(wù)器的當(dāng)前時(shí)間的時(shí)間差是否超過(guò)了所述移動(dòng)終端單獨(dú)設(shè)置的存留期;
[0024]保持模塊,用于當(dāng)所述確定模塊確定所述會(huì)話的最后心跳時(shí)間與所述認(rèn)證服務(wù)器的當(dāng)前時(shí)間的時(shí)間差未超過(guò)所述移動(dòng)終端單獨(dú)設(shè)置的存留期時(shí),保持所述會(huì)話的在線狀態(tài)。
[0025]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述確定模塊,還用于檢查所述會(huì)話的最后心跳時(shí)間與所述認(rèn)證服務(wù)器的當(dāng)前時(shí)間的時(shí)間差是否超過(guò)預(yù)定個(gè)數(shù)的心跳周期;
[0026]所述發(fā)送模塊,具體用于在所述確定模塊確定所述會(huì)話的最后心跳時(shí)間與所述認(rèn)證服務(wù)器的當(dāng)前時(shí)間的時(shí)間差超過(guò)預(yù)定個(gè)數(shù)的心跳周期之后,向所述設(shè)備識(shí)別裝置發(fā)出請(qǐng)求以獲取所述會(huì)話是否為移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話。
[0027]結(jié)合第二方面,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述記錄模塊,具體用于在所述接收模塊接收所述移動(dòng)終端的瀏覽器周期發(fā)送的心跳報(bào)文之后,記錄每次接收到心跳報(bào)文的時(shí)刻,并以最后接收到心跳報(bào)文的時(shí)刻作為所述認(rèn)證服務(wù)器和所述移動(dòng)終端之間會(huì)話的最后心跳時(shí)間;或者,
[0028]所述記錄模塊,具體用于在所述認(rèn)證模塊對(duì)所述移動(dòng)終端身份認(rèn)證成功之后,記錄所述移動(dòng)終端的登錄時(shí)間,當(dāng)所述認(rèn)證服務(wù)器未接收到所述移動(dòng)終端的瀏覽器發(fā)送的心跳報(bào)文時(shí),以所述登錄時(shí)間作為所述會(huì)話的最后心跳時(shí)間。
[0029]結(jié)合第二方面,或者第二方面的第一種或第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述接收模塊接收的所述移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí)包含在所述認(rèn)證請(qǐng)求攜帶的所述移動(dòng)終端的瀏覽器的用戶代理信息中。
[0030]本發(fā)明第三方面提供一種設(shè)備識(shí)別裝置,包括:
[0031]接收模塊,用于接收認(rèn)證服務(wù)器發(fā)送的移動(dòng)終端與所述認(rèn)證服務(wù)器之間會(huì)話的會(huì)話標(biāo)識(shí)和所述移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí);以及接收所述認(rèn)證服務(wù)器發(fā)送的請(qǐng)求,所述請(qǐng)求用于獲取所述會(huì)話是否為移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話;
[0032]識(shí)別模塊,用于根據(jù)所述接收模塊接收的所述移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí)確定所述會(huì)話是否為移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話;
[0033]發(fā)送模塊,用于在所述接收模塊接收到所述請(qǐng)求之后,將所述識(shí)別模塊對(duì)所述會(huì)話的識(shí)別結(jié)果發(fā)送給所述認(rèn)證服務(wù)器,以便所述認(rèn)證服務(wù)器在所述會(huì)話是移動(dòng)終端與所述認(rèn)證服務(wù)器之間的會(huì)話,并且所述會(huì)話的最后心跳時(shí)間與所述認(rèn)證服務(wù)器的當(dāng)前時(shí)間的時(shí)間差未超過(guò)所述移動(dòng)終端單獨(dú)設(shè)置的存留期時(shí),保持所述會(huì)話的在線狀態(tài)。
[0034]結(jié)合第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述接收模塊接收的所述請(qǐng)求是所述認(rèn)證服務(wù)器在檢查到所述會(huì)話的最后心跳時(shí)間與所述認(rèn)證服務(wù)器的當(dāng)前時(shí)間的時(shí)間差超過(guò)預(yù)定個(gè)數(shù)的心跳周期之后發(fā)送給所述設(shè)備識(shí)別裝置的。
[0035]本發(fā)明的技術(shù)效果是:認(rèn)證服務(wù)器將移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí)發(fā)送給設(shè)備識(shí)別裝置,在設(shè)備識(shí)別裝置根據(jù)上述移動(dòng)終端所用的操作系統(tǒng)的標(biāo)識(shí)確定認(rèn)證服務(wù)器的當(dāng)前會(huì)話為移動(dòng)終端與認(rèn)證服務(wù)器之間的會(huì)話之后,只要上述會(huì)話的最后心跳時(shí)間與上述認(rèn)證服務(wù)器的當(dāng)前時(shí)間的時(shí)間差未超過(guò)上述移動(dòng)終端單獨(dú)設(shè)置的存留期,則認(rèn)證服務(wù)器保持上述會(huì)話的在線狀態(tài)。從而可以實(shí)現(xiàn)移動(dòng)終端在不發(fā)送心跳報(bào)文的情況下仍然能夠維持移動(dòng)終端在線,這樣移動(dòng)終端只需要認(rèn)證通過(guò)一次就能夠持續(xù)在線,即便使用上述移動(dòng)終端的用戶關(guān)閉瀏覽器或者將瀏覽器最小化,也都能夠維持在線狀態(tài),而不用再次進(jìn)行認(rèn)證,進(jìn)而可以提升用戶的體驗(yàn)。
【附圖說(shuō)明】
[0036]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0037]圖1為本發(fā)明保持移動(dòng)終端在線狀態(tài)的方法一個(gè)實(shí)施例的流程圖;
[0038]圖2為本發(fā)明保持移動(dòng)終端在線狀態(tài)的方法另一個(gè)實(shí)施例的流程圖;
[0039]圖3為本發(fā)明認(rèn)證服務(wù)器一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0040]圖4為本發(fā)明認(rèn)證服務(wù)器另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0041]圖5為本發(fā)明設(shè)備識(shí)別裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0042]圖6為本發(fā)明設(shè)備識(shí)別裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0043]為使