專利名稱:具有即時(shí)互動(dòng)的智能化多媒體信息手機(jī)瀏覽系統(tǒng)及實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)通信領(lǐng)域,具體的技術(shù)主要涉及到基于手機(jī)客戶端和服務(wù)器端之間的數(shù) 據(jù)交互過(guò)程。
背景技術(shù):
利用手機(jī)客戶端進(jìn)行信息的獲取、閱讀已經(jīng)成為人們?nèi)粘I钪蝎@取信息的重要途徑。 當(dāng)用戶在閱讀內(nèi)容時(shí),閱讀系統(tǒng)提供了評(píng)論等互動(dòng)的功能。傳統(tǒng)的評(píng)論管理是客戶端提交評(píng) 論,然后把內(nèi)容保存在數(shù)據(jù)庫(kù)里,等下次用戶在瀏覽相關(guān)內(nèi)容時(shí),再?gòu)臄?shù)據(jù)庫(kù)里取出相關(guān)的 評(píng)論內(nèi)容。這種方式,需要用戶客戶端自發(fā)的去訪問(wèn)數(shù)據(jù)庫(kù)內(nèi)容才可以保證看到的評(píng)論內(nèi)容 信息是最新的。而且當(dāng)用戶需要最新的評(píng)論內(nèi)容時(shí)才從服務(wù)器的數(shù)據(jù)庫(kù)里獲取內(nèi)容。這種處 理方式網(wǎng)絡(luò)延時(shí)較大,而且極大的減低手機(jī)客戶端用戶的用戶體驗(yàn)。
在技術(shù)角度上看,傳統(tǒng)的手機(jī)客戶端程序通過(guò)HTTP協(xié)議和后臺(tái)服務(wù)器進(jìn)行數(shù)據(jù)交換。眾 所周知,HTTP是"請(qǐng)求--響應(yīng)"模式的網(wǎng)絡(luò)通訊協(xié)議。HTTP協(xié)議主要是利用客戶端發(fā)起請(qǐng)求 Request,建立客戶端和服務(wù)器端的連接,然后請(qǐng)求的數(shù)據(jù)經(jīng)過(guò)服務(wù)器端的相應(yīng)數(shù)據(jù)處理,把 響應(yīng)Response的數(shù)據(jù)返回到客戶端,讓客戶端得到響應(yīng)的數(shù)據(jù)。最后斷開HTTP連接。
因此,在每次需要數(shù)據(jù)交互時(shí),都需要建立連接、發(fā)送數(shù)據(jù)、數(shù)據(jù)處理、返回?cái)?shù)據(jù)、斷 開連接這五個(gè)步驟。由于每次都需要反復(fù)建立、拆除連接才可以進(jìn)行數(shù)據(jù)交互會(huì)引起性能上 的影響。如果能夠只建立一次連接,多次交互數(shù)據(jù),將會(huì)減少由重復(fù)建立、拆除連接的過(guò)程 所影響的性能消耗。
并且,傳統(tǒng)的"請(qǐng)求一響應(yīng)"數(shù)據(jù)交互模式不能滿足客戶端程序接受即時(shí)最新的信息。 客戶端不知道什么時(shí)候可以得到最新的消息推送。因?yàn)閭鹘y(tǒng)的數(shù)據(jù)交互模式需要客戶端主動(dòng) 發(fā)送請(qǐng)求到服務(wù)器端來(lái)獲得相應(yīng)的信息,缺乏了由服務(wù)器端推送過(guò)來(lái)的信息。換句話說(shuō),需 要客戶端主動(dòng)請(qǐng)求才會(huì)得到信息,服務(wù)器端不能夠主動(dòng)的推送信息到客戶端。
發(fā)明內(nèi)容
本發(fā)明可以通過(guò)建立HTTP長(zhǎng)連接來(lái)解決傳統(tǒng)的重復(fù)建立、拆除連接所引起的額外開銷的 問(wèn)題。
本發(fā)明提供一種具有即時(shí)互動(dòng)的智能化多媒體信息手機(jī)瀏覽系統(tǒng)客戶端裝置,其包括以 下模塊長(zhǎng)連接管理模塊,用于建立、拆除、管理HTTP長(zhǎng)連接;脈搏信號(hào)管理模塊,用于按 照一定的規(guī)則向服務(wù)器端發(fā)送脈搏信號(hào);隱性接收模塊,用于接收服務(wù)器端推送的推送信息并將所述信息內(nèi)容保存在手機(jī)本地的儲(chǔ)存設(shè)備上;線程管理模塊,是客戶端同時(shí)運(yùn)行并發(fā)處 理多任務(wù)。
本發(fā)明還提供一種具有即時(shí)互動(dòng)的智能化多媒體信息手機(jī)瀏覽系統(tǒng)服務(wù)器端裝置,其包
括以下模塊脈搏信號(hào)管理模塊,用于接收從客戶端發(fā)送過(guò)來(lái)的脈搏信號(hào),并發(fā)送脈搏信號(hào) 通知客戶端是否需要推送的即時(shí)信息;信息收集模塊,用于收集需要下發(fā)的即時(shí)信息;信息 推送模塊,用于管理向客戶端下發(fā)即時(shí)信息并監(jiān)控下發(fā)是否有異常。
本發(fā)明還提供具有即時(shí)互動(dòng)的智能化多媒體信息手機(jī)瀏覽系統(tǒng)的實(shí)現(xiàn)方法。
圖1客戶端和服務(wù)器端內(nèi)容推送的主要流程圖。
具體實(shí)施例方式
本發(fā)明的技術(shù)方案主要是針對(duì)把互動(dòng)評(píng)論的最新評(píng)論內(nèi)容實(shí)時(shí)地更新到手機(jī)客戶端的存 儲(chǔ)設(shè)備上。整個(gè)推送程序運(yùn)行狀態(tài)一直都是保持在手機(jī)客戶端后臺(tái)運(yùn)行。當(dāng)客戶端空閑時(shí), 就可以進(jìn)行評(píng)論內(nèi)容的更新。當(dāng)客戶端需要讀取相關(guān)的內(nèi)容時(shí),就從本地的儲(chǔ)存設(shè)備里讀取, 不用再等待去訪問(wèn)網(wǎng)絡(luò),訪問(wèn)數(shù)據(jù)庫(kù)等漫長(zhǎng)的過(guò)程。提高客戶端的響應(yīng)速度和提高用戶體現(xiàn)。
互動(dòng)評(píng)論內(nèi)容的推送有客戶端和服務(wù)器端一起協(xié)同完成,主要的功能劃分包括客戶端和 服務(wù)器端的模塊。
客戶端模塊如下-
1. 長(zhǎng)連接管理模塊
長(zhǎng)連接管理模塊是客戶端建立、拆除、管理HTTP長(zhǎng)連接的模塊。建立長(zhǎng)連接需要從客戶 端發(fā)起請(qǐng)求。當(dāng)客戶端需要建立長(zhǎng)連接時(shí),由客戶端發(fā)送請(qǐng)求到服務(wù)器端,等得到服務(wù)的響 應(yīng)后,確認(rèn)連接已建立。長(zhǎng)連接的特點(diǎn)是可以保持客戶端和服務(wù)器端的會(huì)話連接,當(dāng)數(shù)據(jù)傳 輸交互結(jié)束時(shí),不會(huì)關(guān)閉該HTTP連接,并保持聯(lián)通狀態(tài)。長(zhǎng)連接的拆除通常由以下幾種情況 所引起通信出現(xiàn)錯(cuò)誤、防火墻丟棄過(guò)長(zhǎng)的連接,服務(wù)器端設(shè)置一個(gè)超時(shí)時(shí)間,客戶端關(guān)閉 長(zhǎng)連接等等。
2. 脈搏信號(hào)管理模塊
客戶端的脈搏信號(hào)是從客戶端發(fā)送獲取推送信息的請(qǐng)求到服務(wù)器端來(lái)獲取推送信息的請(qǐng) 求信號(hào)。脈搏信號(hào)的實(shí)現(xiàn)是基于長(zhǎng)連接的基礎(chǔ)上的。當(dāng)客戶端和服務(wù)器端之間有了HTTP長(zhǎng)連 接以后才可能有脈搏信號(hào)的數(shù)據(jù)交互。客戶端的脈搏信號(hào)是由客戶端根據(jù)具體的情況(定時(shí) 和隨機(jī))發(fā)送到服務(wù)器端。定時(shí)是根據(jù)一定的時(shí)間間隔來(lái)進(jìn)行脈搏信號(hào)的發(fā)送;隨機(jī)是根據(jù)手機(jī)通信的網(wǎng)絡(luò)流量情況,針對(duì)不同的流量峰值分布來(lái)選擇最合適的時(shí)機(jī)發(fā)送脈搏信號(hào)。
服務(wù)器端根據(jù)客戶端發(fā)送過(guò)來(lái)的脈搏信息返回響應(yīng)的服務(wù)器端脈搏信息。服務(wù)器端的脈 搏信息告訴客戶端是否有最新的推送內(nèi)容需要推送到客戶端。如果有則根據(jù)服務(wù)器端的推送 模塊的功能把信息下方到客戶端的隱性接收模塊。
3. 隱性接收模塊
隱性接收模塊是客戶端接收服務(wù)器端推送過(guò)來(lái)的推送信息的功能模塊。當(dāng)服務(wù)器端的脈 搏信號(hào)檢測(cè)得到有需要推送的即時(shí)信息時(shí),則由服務(wù)器端的推送模塊推送信息到客戶端的隱 性接收模塊。隱性接收模塊把推送信息的內(nèi)容保存在手機(jī)本地的儲(chǔ)存設(shè)備上,例如是手機(jī)內(nèi) 存或手機(jī)的擴(kuò)展卡上。當(dāng)隱性接收模塊完成這些推送信息的接收時(shí),則會(huì)根據(jù)接收到的內(nèi)容 展示到客戶端的屏幕上。
4. 線程管理模塊
線程管理是客戶端的多任務(wù)管理功能。在客戶端上同時(shí)運(yùn)行多任務(wù)可以讓客戶端同時(shí)并 發(fā)處理多任務(wù)。任務(wù)的資源分配單位是線程,所以對(duì)線程的有效管理是保證客戶端程序運(yùn)行 的重要保證。在本方案中,發(fā)送脈搏信號(hào)的任務(wù)有獨(dú)立的線程負(fù)責(zé)。它運(yùn)行在客戶端的后臺(tái), 讓用戶在不察覺(jué)的情況下可以一樣監(jiān)控最新的推送消息。長(zhǎng)連接管理任務(wù)由長(zhǎng)連接管理線程 來(lái)負(fù)責(zé),主要用于監(jiān)控長(zhǎng)連接的連接狀態(tài)。當(dāng)發(fā)現(xiàn)長(zhǎng)連接斷開或出現(xiàn)錯(cuò)誤時(shí),可以根據(jù)需要 拆除無(wú)用的長(zhǎng)連接,釋放資源,然后重新建立長(zhǎng)連接。隱性接收模塊也是由獨(dú)立的線程來(lái)進(jìn) 行管理,當(dāng)服務(wù)器端有最新推送消息推送過(guò)來(lái)時(shí),需要隱性接收線程來(lái)管理數(shù)據(jù)的存儲(chǔ)問(wèn)題。
服務(wù)器端模塊如下
1. 脈搏信號(hào)管理模塊
服務(wù)器端的脈搏信號(hào)是用于接收從客戶端發(fā)送過(guò)來(lái)的脈搏信號(hào)的。當(dāng)客戶端的脈搏信號(hào) 到達(dá)服務(wù)器時(shí),服務(wù)器會(huì)根據(jù)是否有需要推送的即時(shí)信息來(lái)返回相關(guān)的脈搏信號(hào)到客戶端。 如果有需要推送的即時(shí)信息,則根返回的據(jù)脈搏信號(hào)來(lái)告訴客戶端需要激活隱性接收模塊的 線程,準(zhǔn)備接收相應(yīng)的即時(shí)信息。如果沒(méi)有需要推送的即時(shí)信息,則根據(jù)返回的脈搏信號(hào)來(lái) 告訴客戶端沒(méi)有即時(shí)信息下放,可以不用激活隱性接收模塊的線程。
2. 信息收集模塊
信息收集模塊是服務(wù)器端收集需要下發(fā)的即時(shí)信息。收集即時(shí)信息的來(lái)源是用戶對(duì)信息 內(nèi)容的評(píng)論。當(dāng)用戶對(duì)系統(tǒng)所提供的內(nèi)容進(jìn)行評(píng)論時(shí)首先經(jīng)過(guò)系統(tǒng)的關(guān)鍵字過(guò)濾,然后再集 中需要推送的評(píng)論一并通過(guò)信息推送模塊進(jìn)行信息推送。
3. 信息推送模塊
信息推送模塊是有服務(wù)器端對(duì)客戶端下發(fā)信息的管理。當(dāng)服務(wù)器端的脈搏信號(hào)檢測(cè)得到服務(wù)器有需要推送的內(nèi)容時(shí),則激發(fā)服務(wù)器端的信息推送線程。該線程主要負(fù)責(zé)把內(nèi)容下發(fā) 到客戶端上,同時(shí)監(jiān)控下發(fā)是否有異常。下發(fā)的過(guò)程支持?jǐn)帱c(diǎn)續(xù)傳功能??赡軘?shù)據(jù)在傳輸?shù)?過(guò)程中,出現(xiàn)網(wǎng)絡(luò)錯(cuò)誤,把長(zhǎng)連接給斷開,當(dāng)下一次的長(zhǎng)連接重新建立時(shí),信息推送模塊可 以根據(jù)上一次的傳輸點(diǎn)繼續(xù)傳輸余下的推送信息,不用重新再傳,之前已推送的信息都保存 在客戶端的儲(chǔ)存設(shè)備上。只要根據(jù)斷點(diǎn)繼續(xù)傳輸推送信息則可以完成傳輸信息推送的全部?jī)?nèi) 容。
整個(gè)系統(tǒng)的評(píng)論推送程序的運(yùn)行如圖1所示,其具有以下步驟-
1. 由客戶端激活長(zhǎng)連接線程,從客戶端發(fā)出連接請(qǐng)求到服務(wù)器端,建立長(zhǎng)連接會(huì)話。
2. 客戶端根據(jù)長(zhǎng)連接已經(jīng)建立,則激活客戶端的脈搏信息線程;服務(wù)器端也激活服務(wù)器 的脈搏信息線程。
3. 客戶端根據(jù)定時(shí)或者隨機(jī)的方式(有網(wǎng)絡(luò)流量環(huán)境決定)來(lái)發(fā)送脈搏信息到服務(wù)器端, 主要用于監(jiān)控是否有最新的推送信息。
4. 服務(wù)器端的脈搏線程接收到來(lái)自客戶端的脈搏信息后,服務(wù)器端根據(jù)是否有最新的推 送信息來(lái)返回相應(yīng)的脈搏信息到客戶端。如果有推送信息需要推送則激活客戶端的隱性接收 線程準(zhǔn)備接收信息,同時(shí)服務(wù)器端也激活推送線程準(zhǔn)備下發(fā)推送信息。否則,則不激活這兩 個(gè)線程。
5. 服務(wù)器端開始通過(guò)推送線程把最新的推送信息下發(fā)到客戶端的隱性接收模塊上。
6. 客戶端的隱性接收模塊接收來(lái)自服務(wù)器端的推送信息,并把信息保存到客戶端的存儲(chǔ) 設(shè)備上。
7. 當(dāng)推送信息傳輸完畢時(shí),可以把客戶端的接收線程和服務(wù)器端的接收線程重新置為睡 眠狀態(tài)。
8. 客戶端的脈搏線程和服務(wù)器端的脈搏線程恢復(fù)按照定時(shí)或隨機(jī)的方式進(jìn)行最新推送消 息的檢測(cè),重復(fù)步驟三。
9. 當(dāng)客戶端決定關(guān)閉推送程序時(shí),把該推送程序的客戶端所有線程和服務(wù)器端的所有線 程進(jìn)行滅亡狀態(tài),釋放所占用的資源。最后,拆除長(zhǎng)連接,釋放資源。
本發(fā)明可以通過(guò)建立HTTP長(zhǎng)連接來(lái)解決傳統(tǒng)的重復(fù)建立、拆除連接所引起的額外開銷。 建立長(zhǎng)連接,保持會(huì)話狀態(tài)也是需要額外開銷的,但是建立長(zhǎng)連接的目的是為了能夠有效的 保持客戶端和服務(wù)器端的脈搏信號(hào)。通過(guò)脈搏信號(hào),可以有效實(shí)現(xiàn)即時(shí)信息的推送。推送的 信息由客戶端的隱性接收模塊來(lái)接收服務(wù)器端下發(fā)過(guò)來(lái)的信息,并把信息展示到客戶端的屏 幕上。這樣做可以在客戶端閑時(shí),把內(nèi)容隱性更新到客戶端,當(dāng)需要該內(nèi)容時(shí),就不需要再 到服務(wù)器數(shù)據(jù)庫(kù)獲取數(shù)據(jù)。提高客戶端的響應(yīng)速度,而且保證展示的內(nèi)容最新。
權(quán)利要求
1、一種具有即時(shí)互動(dòng)的智能化多媒體信息手機(jī)瀏覽系統(tǒng)客戶端裝置,其包括以下模塊長(zhǎng)連接管理模塊,用于建立、拆除、管理HTTP長(zhǎng)連接;脈搏信號(hào)管理模塊,用于按照一定的規(guī)則向服務(wù)器端發(fā)送脈搏信號(hào);隱性接收模塊,用于接收服務(wù)器端推送的推送信息并將所述信息內(nèi)容保存在手機(jī)本地的儲(chǔ)存設(shè)備上;線程管理模塊,是客戶端同時(shí)運(yùn)行并發(fā)處理多任務(wù)。
2、 如權(quán)利要求l所述的裝置,其中所述長(zhǎng)連接的特點(diǎn)是可以保持客戶端和服務(wù)器端的會(huì)話連 接,當(dāng)數(shù)據(jù)傳輸交互結(jié)束時(shí),不會(huì)關(guān)閉該HTTP連接,并保持聯(lián)通狀態(tài)。
3、 如權(quán)利要求2所述的裝置,其中所述脈搏信號(hào)管理模塊可以定時(shí)或隨機(jī)向服務(wù)器端發(fā)送脈 搏信號(hào)。
4、 如權(quán)利要求3所述的裝置,其中所述定時(shí)是根據(jù)一定的時(shí)間間隔來(lái)進(jìn)行脈搏信號(hào)的發(fā)送; 所述隨機(jī)是根據(jù)手機(jī)通信的網(wǎng)絡(luò)流量情況,針對(duì)不同的流量峰值分布來(lái)選擇最合適的時(shí)機(jī) 發(fā)送脈搏信號(hào)。
5、 如權(quán)利要求2或4所述的裝置,其中當(dāng)所述隱性接收模塊完成推送信息的接收時(shí),將收到 的內(nèi)容展示到客戶端的屏幕上。
6、 如權(quán)利要求1所述的裝置,其中所述長(zhǎng)連接管理模塊、脈搏信號(hào)管理模塊、隱性接收模塊、 線程管理模塊均是有獨(dú)立的線程管理。
7、 一種具有即時(shí)互動(dòng)的智能化多媒體信息手機(jī)瀏覽系統(tǒng)服務(wù)器端裝置,其包括以下模塊脈搏信號(hào)管理模塊,用于接收從客戶端發(fā)送過(guò)來(lái)的脈搏信號(hào),并發(fā)送脈搏信號(hào)通知客戶端是否需要推送的即時(shí)信息;信息收集模塊,用于收集需要下發(fā)的即時(shí)信息;信息推送模塊,用于管理向客戶端下發(fā)即時(shí)信息并監(jiān)控下發(fā)是否有異常。
8、 如權(quán)利要求7所述的裝置,其中所述信息收集模塊當(dāng)用戶對(duì)系統(tǒng)所提供的內(nèi)容進(jìn)行評(píng)論時(shí) 首先進(jìn)行關(guān)鍵字過(guò)濾,然后再集中推送需要推送的所述評(píng)論。
9、 如權(quán)利要求7所述的裝置,其中所述下發(fā)的過(guò)程支持?jǐn)帱c(diǎn)續(xù)傳功能。
10、 一種具有即時(shí)互動(dòng)的智能化多媒體信息手機(jī)瀏覽系統(tǒng)的實(shí)現(xiàn)方法其具有以下步驟(A) 由客戶端激活長(zhǎng)連接線程,從客戶端發(fā)出連接請(qǐng)求到服務(wù)器端,建立長(zhǎng)連接會(huì)話;(B) 長(zhǎng)連接已經(jīng)建立之后,激活客戶端的脈搏信息線程和服務(wù)器的脈搏信息線程;(C) 客戶端根據(jù)定時(shí)或者隨機(jī)的方式來(lái)發(fā)送脈搏信息到服務(wù)器端;(D) 服務(wù)器端根據(jù)是否有最新的推送信息來(lái)返回相應(yīng)的脈搏信息到客戶端,如果有推送信 息需要推送則激活客戶端的隱性接收線程準(zhǔn)備接收信息,同時(shí)服務(wù)器端也激活推送線程 準(zhǔn)備下發(fā)推送信息;(E) 服務(wù)器端開始通過(guò)推送線程把最新的推送信息下發(fā)到客戶端的隱性接收模塊上;(F) 客戶端的隱性接收模塊接收來(lái)自服務(wù)器端的推送信息,并把信息保存到客戶端的存儲(chǔ) 設(shè)備上;(G) 當(dāng)推送信息傳輸完畢時(shí),可以把客戶端的接收線程和服務(wù)器端的接收線程重新置為睡 眠狀態(tài);(H) 重復(fù)步驟(C);(I) 當(dāng)客戶端決定關(guān)閉推送程序時(shí),關(guān)閉該系統(tǒng)所有線程,釋放所占用的資源,拆除長(zhǎng)連 接,釋放資源。
全文摘要
本發(fā)明主要是針對(duì)把互動(dòng)評(píng)論的最新評(píng)論內(nèi)容實(shí)時(shí)地更新到手機(jī)客戶端的存儲(chǔ)設(shè)備上。整個(gè)推送程序運(yùn)行狀態(tài)一直都是保持在手機(jī)客戶端后臺(tái)運(yùn)行。當(dāng)客戶端空閑時(shí),就可以進(jìn)行評(píng)論內(nèi)容的更新。當(dāng)客戶端需要讀取相關(guān)的內(nèi)容時(shí),就從本地的儲(chǔ)存設(shè)備里讀取,不用再等待去訪問(wèn)網(wǎng)絡(luò),訪問(wèn)數(shù)據(jù)庫(kù)等漫長(zhǎng)的過(guò)程。提高客戶端的響應(yīng)速度和提高用戶體現(xiàn)。
文檔編號(hào)H04W88/18GK101426181SQ20081021906
公開日2009年5月6日 申請(qǐng)日期2008年11月12日 優(yōu)先權(quán)日2008年11月12日
發(fā)明者劉堯根, 孫劍駿, 宋誼超, 龍 徐, 李麗儀, 李雅芳, 王志忠, 胡慶平, 譚麗麗 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)廣東有限公司