專利名稱:一種實現(xiàn)多窗口聊天的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于即時通信領(lǐng)域,尤其涉及一種實現(xiàn)多窗口聊天的方法及系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)化社會的不斷進步,越來越多的網(wǎng)絡(luò)通訊工具應(yīng)用到工作和生活中,比如飛信、MSN、QQ等。在各種通信應(yīng)用工具中,由于網(wǎng)頁版即時通訊不需安裝軟件,使用便捷, 受到了人們的青睞。在網(wǎng)頁版即時通訊的日常應(yīng)用中,當實現(xiàn)多個瀏覽器窗口聊天時具有一定的局限性。在現(xiàn)有技術(shù)中,部分網(wǎng)頁版通訊不支持多瀏覽器窗口聊天,比如在窗口 I登陸了賬號后,再在窗口 2登陸同一賬號,窗口 I的賬號會被強迫下線。或者網(wǎng)頁版即時通訊支持多瀏覽器窗口聊天,但每個窗口都與服務(wù)器建立了一個連接,造成了服務(wù)器資源的浪費。在合理利用資源的前提下,如何實現(xiàn)多瀏覽器窗口下聊天,提高用戶使用的便捷度,成為需要解決的問題。
發(fā)明內(nèi)容
本發(fā)明提供一種實現(xiàn)多窗口聊天的方法及系統(tǒng)以解決上述問題。本發(fā)明提供一種實現(xiàn)多窗口聊天的方法,包括以下步驟。服務(wù)器建立與客戶端之間的至少一個與用戶窗口相對應(yīng)的連接。所述服務(wù)器建立與所述客戶端的一個新連接,或所述客戶端由前一連接切換到目標連接后,所述服務(wù)器計算前一連接的活躍度并根據(jù)所述活躍度設(shè)定前一連接的狀態(tài)。若所述服務(wù)器在任一睡眠連接的睡眠時間內(nèi)接收到所述客戶端發(fā)送的所述睡眠連接的激活請求,所述服務(wù)器激活所述睡眠連接并計算所述新連接或目標連接的活躍度,所述服務(wù)器根據(jù)所述新連接或目標連接的活躍度分別設(shè)定所述新連接或目標連接的狀態(tài)。本發(fā)明提供一種實現(xiàn)多窗口聊天的系統(tǒng),包括客戶端和服務(wù)器,所述客戶端連接所述服務(wù)器,所述服務(wù)器包括接收器、計算器及處理器,所述接收器連接所述計算器,所述計算器連接所述處理器。所述接收器,用于建立與客戶端之間的至少一個與用戶窗口相對應(yīng)的連接。所述計算器,用于所述接收器建立與所述客戶端的新連接后,或所述客戶端由前一連接切換到目標連接后,計算前一連接的活躍度并根據(jù)所述活躍度設(shè)定前一連接的狀態(tài)。所述處理器,用于若在任一睡眠連接的睡眠時間內(nèi)接收到所述客戶端發(fā)送的所述睡眠連接的激活請求,激活所述睡眠連接,于所述處理器激活所述睡眠連接后,所述計算器計算所述新連接或目標連接的活躍度,并根據(jù)所述新連接或目標連接的活躍度分別設(shè)定所述新連接或目標連接的狀態(tài)。相較于先前技術(shù),根據(jù)本發(fā)明提供的實現(xiàn)多窗口聊天的方法及系統(tǒng),當客戶端與服務(wù)器建立至少一個連接后再建立一個新連接,或客戶端從前一連接切換到目標連接時, 服務(wù)器計算前一連接的活躍度并設(shè)定前一連接為睡眠或斷開狀態(tài),且通過對睡眠連接設(shè)定睡眠時間,實現(xiàn)了多窗口聊天功能。而且,可以在睡眠連接的睡眠時間內(nèi)激活所述睡眠連接,并計算所述新連接或目標連接的活躍度并設(shè)定所述新連接或目標連接的狀態(tài)。實現(xiàn)了CN 102594731 A
多窗口下聊天功能的同時,降低了服務(wù)器的資源使用率。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中圖I所示為根據(jù)本發(fā)明的較佳實施例提供的實現(xiàn)多窗口聊天的方法的流程圖;圖2所示為根據(jù)本發(fā)明的較佳實施例提供的實現(xiàn)多窗口聊天的系統(tǒng)的示意圖。
具體實施例方式下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。圖I所示為根據(jù)本發(fā)明的較佳實施例提供的實現(xiàn)多窗口聊天的方法的流程圖。如圖I所示,本發(fā)明的較佳實施例提供的實現(xiàn)多窗口聊天的方法包括步驟101 103。步驟101 :服務(wù)器建立與客戶端之間的至少一個與用戶窗口相對應(yīng)的連接。具體而言,用戶在客戶端打開第一個瀏覽器窗口登錄后,客戶端向服務(wù)器發(fā)起連接請求,所述服務(wù)器修改所述用戶的狀態(tài)為在線后獲取所述用戶的在線好友信息,并建立與所述客戶端的第一個瀏覽器窗口對應(yīng)的第一個連接。例如,用戶打開視頻會議系統(tǒng)的頁面WWW. ppmeet. com并首次登錄,服務(wù)器驗證用戶名密碼成功后,修改用戶狀態(tài)為在線并獲取所述用戶的在線好友信息,服務(wù)器成功建立與客戶端的第一個連接。于此,服務(wù)器向所述客戶端的第一個瀏覽器窗口返回用戶的在線好友信息,并向所述用戶的在線好友發(fā)送用戶上線通知。同樣地,服務(wù)器可以接收所述客戶端的第二個連接請求并建立第二個連接,或者建立與客戶端的多個連接。步驟102 :所述服務(wù)器建立與所述客戶端的一個新連接,或所述客戶端由前一連接切換到目標連接后,所述服務(wù)器計算前一連接的活躍度并根據(jù)所述活躍度設(shè)定前一連接的狀態(tài)。具體而言,按照步驟101,當服務(wù)器與客戶端保持第一個連接并再次建立新連接時,此時服務(wù)器與客戶端存在兩個或兩個以上連接,則服務(wù)器建立所述新連接后,計算最近的前一連接的活躍度并根據(jù)所述活躍度設(shè)定所述前一連接的狀態(tài)。其中,服務(wù)器建立與客戶端的所述新連接后,客戶端從瀏覽器緩存中獲取所述用戶在線好友信息。另外,若客戶端在與服務(wù)器已建立的多個連接之間進行切換,S卩,當客戶端從前一連接切換到目標連接時,服務(wù)器計算前一連接的活躍度并根據(jù)前一連接的活躍度設(shè)定前一連接的狀態(tài)。其中,服務(wù)器切換至目標連接后,客戶端從瀏覽器緩存中獲取所述用戶在線好友信息。所述活躍度由連接的連接時長、所述連接時長內(nèi)所述連接的消息數(shù)量及數(shù)據(jù)流量決定。此外,服務(wù)器中預存活躍度與睡眠時間的對照表,所述服務(wù)器根據(jù)所述對照表確定連接是否達到睡眠要求,若所述連接未達到睡眠要求,服務(wù)器斷開所述連接。所述活躍度與睡眠時間的對照表例如下表所示。
活躍度睡眠時間
4活躍度> O. 51800 秒O. 3 <活躍度<=O. 51200 秒O. 15 <活躍度<=O. 3600秒O. 01 <活躍度<=O. 15300秒活躍度<=O. 01不睡眠,直接斷開連接其中,所述活躍度根據(jù)連接時長有不同的計算方式。即,連接時長小于1800秒時, 活躍度=(連接時長內(nèi)的消息數(shù)+連接時長內(nèi)的數(shù)據(jù)流量*10)/連接時長;連接時長大于等于1800秒時,活躍度=(1800秒內(nèi)消息數(shù)+1800秒內(nèi)數(shù)據(jù)流量*10)/1800。于本實施例中,所述1800秒內(nèi)消息數(shù)及1800秒內(nèi)數(shù)據(jù)流量,為開始計算活躍度的時刻之前1800秒內(nèi)的消息數(shù)及數(shù)據(jù)流量。于其他實施例中,所述1800秒內(nèi)消息數(shù)及1800秒內(nèi)數(shù)據(jù)流量,也可以為連接時長內(nèi)每1800秒的消息數(shù)平均值及數(shù)據(jù)流量平均值。所述消息數(shù)及數(shù)據(jù)流量的取值方法,可以根據(jù)實際應(yīng)用進行設(shè)置,對此本發(fā)明并不作限定。例如,用戶在10點打開第一個瀏覽器窗口并登錄聊天系統(tǒng),于11點打開第二個瀏覽器窗口。其中10點30分至11點之間用戶發(fā)送和接收的消息總數(shù)為500條、所述消息的流量大小為O. 5M、視頻聊天產(chǎn)生的數(shù)據(jù)流量為50M。第一個連接的連接時長為3600秒,則第一個連接的活躍度按照連接時長大于等于1800秒時的方法進行計算,計算方法中的1800 秒,即10點30分至11點,所述活躍度為(500+(50+0. 5)*10)/1800 = O. 56。按照上表所示,第一個連接的活躍度大于O. 5,則服務(wù)器設(shè)置第一個連接睡眠時間為1800秒。步驟103 :若所述服務(wù)器在任一睡眠連接的睡眠時間內(nèi)接收到所述客戶端發(fā)送的所述睡眠連接的激活請求,所述服務(wù)器激活所述睡眠連接并計算所述新連接或目標連接的活躍度,所述服務(wù)器根據(jù)所述新連接或目標連接的活躍度分別設(shè)定所述新連接或目標連接的狀態(tài)。具體而言,若服務(wù)器在睡眠連接的睡眠時間內(nèi)沒有接收到客戶端發(fā)送的所述睡眠連接的激活請求,則服務(wù)器斷開所述睡眠連接。若客戶端超過所述睡眠連接的睡眠時間后向所述服務(wù)器發(fā)送該睡眠連接的激活請求,所述服務(wù)器接收到所述激活請求后重新建立與所述客戶端的新連接。按照步驟102的示例,服務(wù)器將第一個連接置為睡眠且睡眠時間為1800秒,若服務(wù)器在1800秒內(nèi)接收到客戶端發(fā)送的第一個連接的激活請求,服務(wù)器激活第一個連接并開始計算第二個連接的活躍度,根據(jù)第二個連接的活躍度設(shè)定第二個連接的睡眠時間。若在第一個連接開始睡眠后的第1809秒,客戶端向服務(wù)器發(fā)送第一個連接的激活請求,此時,服務(wù)器已斷開第一個連接,服務(wù)器需要建立與客戶端的新連接,即第三個連接,并計算第二個連接的活躍度,根據(jù)第二個連接的活躍度設(shè)定第二個連接的睡眠時間。如上所述,當客戶端與服務(wù)器之間同時存在多個連接時,服務(wù)器僅使客戶端當前激活的窗口存在正常的連接,其余非激活的窗口所對應(yīng)的連接為睡眠或斷開狀態(tài)。圖2所示為根據(jù)本發(fā)明的較佳實施例提供的實現(xiàn)多窗口聊天的系統(tǒng)的示意圖。如圖2所示,本發(fā)明的較佳實施例提供的實現(xiàn)多窗口聊天的系統(tǒng)包括客戶端I和服務(wù)器2,所述客戶端I連接所述服務(wù)器2,所述服務(wù)器2包括接收器21、計算器22及處理器23,所述接收器21連接所述計算器22,所述計算器22連接所述處理器23。所述接收器21,用于建立與客戶端I之間的至少一個與用戶窗口相對應(yīng)的連接。所述計算器22,用于所述接收器 21建立與所述客戶端I的新連接后,或所述客戶端I由前一連接切換到目標連接后,計算前一連接的活躍度并根據(jù)所述活躍度設(shè)定前一連接的狀態(tài)。所述處理器23,用于若在任一睡眠連接的睡眠時間內(nèi)接收到所述客戶端I發(fā)送的所述睡眠連接的激活請求,激活所述睡眠連接,于所述處理器23激活所述睡眠連接后,所述計算器22計算所述新連接或目標連接的活躍度,并根據(jù)所述新連接或目標連接的活躍度分別設(shè)定所述新連接或目標連接的狀態(tài)。 上述系統(tǒng)的活躍度計算方法及連接狀態(tài)設(shè)定方法與本發(fā)明提供的方法相同,故于此不再贅述。綜上所述,根據(jù)本發(fā)明較佳實施例提供的實現(xiàn)多窗口聊天的方法及系統(tǒng),當服務(wù)器建立與客戶端的新連接或客戶端從前一連接切換到目標連接時,服務(wù)器計算前一連接的活躍度并設(shè)定前一連接的狀態(tài),且當連接為睡眠狀態(tài)時設(shè)定睡眠時間。另外,若服務(wù)器在任何一個睡眠連接的睡眠時間內(nèi)接收到客戶端發(fā)送的該睡眠連接的激活請求,激活該睡眠連接。若服務(wù)器在所述睡眠時間內(nèi)沒有接收到客戶端的激活請求,斷開該睡眠連接;當超過所述睡眠連接的睡眠時間后,客戶端再次向服務(wù)器發(fā)起連接建立的請求,服務(wù)器建立新的連接,并計算前一連接的活躍度及設(shè)定前一連接的狀態(tài)。服務(wù)器通過對非激活連接睡眠時間的計算,保持了僅激活窗口存在正常的連接,實現(xiàn)了多窗口聊天功能,且有效避免了服務(wù)器資源的浪費。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種實現(xiàn)多窗口聊天的方法,其特征在于,包括以下步驟服務(wù)器建立與客戶端之間的至少一個與用戶窗口相對應(yīng)的連接;所述服務(wù)器建立與所述客戶端的一個新連接,或所述客戶端由前一連接切換到目標連接后,所述服務(wù)器計算前一連接的活躍度并根據(jù)所述活躍度設(shè)定前一連接的狀態(tài);若所述服務(wù)器在任一睡眠連接的睡眠時間內(nèi)接收到所述客戶端發(fā)送的所述睡眠連接的激活請求,所述服務(wù)器激活所述睡眠連接并計算所述新連接或目標連接的活躍度,所述服務(wù)器根據(jù)所述新連接或目標連接的活躍度分別設(shè)定所述新連接或目標連接的狀態(tài)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述服務(wù)器接收所述客戶端的第一個連接請求并建立與所述客戶端的第一個連接,接收所述客戶端的第二個連接請求并建立第二個連接后,所述服務(wù)器計算所述第一個連接的活躍度并根據(jù)所述活躍度設(shè)定第一個連接的狀態(tài)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,若所述服務(wù)器將第一個連接設(shè)為睡眠狀態(tài),且在所述第一個連接的睡眠時間內(nèi)沒有接收到客戶端發(fā)送的所述第一個連接的激活請求,所述服務(wù)器斷開所述第一個連接。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,若所述服務(wù)器將第一個連接設(shè)為睡眠狀態(tài),所述客戶端超過所述第一個連接的睡眠時間后向所述服務(wù)器發(fā)送所述第一個連接的激活請求,所述服務(wù)器接收到所述激活請求后重新建立與所述客戶端的新連接。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述活躍度由連接的連接時長、所述連接時長內(nèi)所述連接的消息數(shù)量及數(shù)據(jù)流量決定。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述服務(wù)器預存活躍度與睡眠時間的對照表,所述服務(wù)器根據(jù)所述對照表設(shè)定所述連接狀態(tài),若所述連接未達到所述睡眠要求,所述服務(wù)器斷開所述連接。
7.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,所述服務(wù)器建立與所述客戶端的第一個連接后,所述服務(wù)器將所述用戶的在線好友信息返回給所述客戶端,所述服務(wù)器建立與所述客戶端其它連接后,所述客戶端從瀏覽器緩存中獲取所述用戶在線好友信息。
8.一種實現(xiàn)多窗口聊天的系統(tǒng),其特征在于,包括客戶端和服務(wù)器,所述客戶端連接所述服務(wù)器,所述服務(wù)器包括接收器、計算器及處理器,所述接收器連接所述計算器,所述計算器連接所述處理器,所述接收器,用于建立與客戶端之間的至少一個與用戶窗口相對應(yīng)的連接;所述計算器,用于所述接收器建立與所述客戶端的新連接后,或所述客戶端由前一連接切換到目標連接后,計算前一連接的活躍度并根據(jù)所述活躍度設(shè)定前一連接的狀態(tài);所述處理器,用于若在任一睡眠連接的睡眠時間內(nèi)接收到所述客戶端發(fā)送的所述睡眠連接的激活請求,激活所述睡眠連接,于所述處理器激活所述睡眠連接后,所述計算器計算所述新連接或目標連接的活躍度,并根據(jù)所述新連接或目標連接的活躍度分別設(shè)定所述新連接或目標連接的狀態(tài)。
全文摘要
本發(fā)明提供一種實現(xiàn)多窗口聊天的方法及系統(tǒng),本發(fā)明方法包括以下步驟。服務(wù)器建立與客戶端之間的至少一個與用戶窗口相對應(yīng)的連接。所述服務(wù)器建立與所述客戶端的一個新連接,或所述客戶端由前一連接切換到目標連接后,所述服務(wù)器計算前一連接的活躍度并根據(jù)所述活躍度設(shè)定前一連接的狀態(tài)。若所述服務(wù)器在任一睡眠連接的睡眠時間內(nèi)接收到所述客戶端發(fā)送的所述睡眠連接的激活請求,所述服務(wù)器激活所述睡眠連接并計算所述新連接或目標連接的活躍度,所述服務(wù)器根據(jù)所述新連接或目標連接的活躍度分別設(shè)定所述新連接或目標連接的狀態(tài)。
文檔編號H04L12/18GK102594731SQ201210036148
公開日2012年7月18日 申請日期2012年2月17日 優(yōu)先權(quán)日2012年2月17日
發(fā)明者胡加明 申請人:蘇州闊地網(wǎng)絡(luò)科技有限公司