專利名稱:基于Web的即時(shí)通訊方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及Web應(yīng)用領(lǐng)域,特別是涉及一種基于Web的即時(shí)通訊方 法及一種基于Web的即時(shí)通訊裝置。
背景技術(shù):
即時(shí)通訊(IM, Instant Messaging)是一種使人們能在網(wǎng)上識(shí)別在線 用戶并與他們實(shí)時(shí)交換消息(包括文字信息、檔案、語(yǔ)音與視頻等)的 技術(shù),由于其所擁有的實(shí)時(shí)性、低成本、高效率等諸多優(yōu)勢(shì),目前已成 為最為普及的網(wǎng)絡(luò)溝通方式之一。
現(xiàn)有的即時(shí)通訊技術(shù)主要涉及基于C/S (客戶端/服務(wù)器)的即時(shí)通 訊方式,如QQ、 MSN等,然而這種即時(shí)通訊方式是基于桌面的,需要 安裝客戶端軟件才能實(shí)現(xiàn);考慮到不同用戶的需求,現(xiàn)有技術(shù)還提出了 基于B/S (瀏覽器/服務(wù)器)架構(gòu)的Web即時(shí)通訊方式(即純Web的即時(shí) 通訊,不包括在瀏覽器中嵌入類似ActiveX控件的偽B/S,因?yàn)樗鼘?shí)際上 還是一個(gè)C/S),這種即時(shí)通訊方式不需要安裝客戶端軟件,即可在Web 瀏覽器中獲得基礎(chǔ)的IM服務(wù),具有Web產(chǎn)品固有的便利性特點(diǎn),又保 持了用戶在客戶端軟件的 一 些操作習(xí)慣。訪問(wèn)者在瀏覽網(wǎng)頁(yè)的過(guò)程中, 只需要觸發(fā)網(wǎng)頁(yè)上的即時(shí)通訊標(biāo)識(shí),就能夠進(jìn)行實(shí)時(shí)的交流,而無(wú)需下 載插件或軟件,是基于C/S的即時(shí)通訊方式的有力補(bǔ)充,目前在諸多服 務(wù)網(wǎng)站中得到了廣泛應(yīng)用。
這種基于Web的即時(shí)通訊方式主要有以下特性采用Http作為主要 的通信協(xié)議,只能由客戶端(Web瀏覽器)主動(dòng)聯(lián)系服務(wù)器,而服務(wù)器 無(wú)法主動(dòng)聯(lián)系特定的客戶。因而導(dǎo)致客戶與客戶之間無(wú)法基于Web實(shí)現(xiàn) 直接的P2P,并且,客戶與客戶之間的消息交互是"偽實(shí)時(shí)"的,所有的消 息都必須通過(guò)服務(wù)器進(jìn)行被動(dòng)地中轉(zhuǎn)。比如,當(dāng)客戶A要把某個(gè)聊天消 息發(fā)送給B時(shí),它首先將消息提交給服務(wù)器,因?yàn)榉?wù)器無(wú)法主動(dòng)找到B, 所以服務(wù)器需要暫存這個(gè)消息(比如放入數(shù)據(jù)庫(kù)),等到B來(lái)請(qǐng)求時(shí),才能將這個(gè)消息轉(zhuǎn)發(fā)給B。
對(duì)此,現(xiàn)有技術(shù)的處理方式為(1 )在客戶端使用Ajax技術(shù)實(shí)現(xiàn)頁(yè) 面局部刷新;(2)客戶端使用定時(shí)器不斷的詢問(wèn)服務(wù)器是否有新的通知。 如果有,則向服務(wù)器提取這些信息。然而,以上處理仍存在以下缺陷
A、 需要客戶端定時(shí)向服務(wù)器訪問(wèn)是否有新的通知,則每個(gè)客戶端為 保持與消息服務(wù)器的連接都要占用 一定資源;
B、 為保證即時(shí)性, 一般客戶端向消息服務(wù)器發(fā)起請(qǐng)求的時(shí)間間隔不
能設(shè)定得太小,當(dāng)總在線人數(shù)較多時(shí),將會(huì)產(chǎn)生較多的并發(fā)請(qǐng)求,網(wǎng)絡(luò) 和數(shù)據(jù)庫(kù)的壓力非常大;
C、 即使采用定時(shí)向服務(wù)器輪詢的機(jī)制,仍然會(huì)造成消息只能在一定 時(shí)間間隔后才能發(fā)送,即時(shí)性差。
因此,現(xiàn)階段需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問(wèn)題就是, 如何提供一種創(chuàng)新的基于Web的即時(shí)通訊方法,用以節(jié)省資源、緩解系 統(tǒng)壓力、提高消息傳輸?shù)募磿r(shí)性,使用戶獲得更好體驗(yàn)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種基于Web的即時(shí)通訊方法, 用以節(jié)省資源、緩解系統(tǒng)壓力、提高消息傳輸?shù)募磿r(shí)性,使用戶獲得更 好體驗(yàn)。
本發(fā)明的另 一個(gè)目的是提供了 一種基于Web的即時(shí)通訊系統(tǒng),用以 保證上述方法在實(shí)際中的實(shí)現(xiàn)及應(yīng)用。
為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例公開(kāi)了一種基于Web的即時(shí) 通i凡方法,包4舌
在消息服務(wù)器中生成登錄即時(shí)通訊系統(tǒng)用戶的相應(yīng)會(huì)話,所述會(huì)話 包括對(duì)應(yīng)用戶的客戶端信息;
接收發(fā)送端用戶向接收端用戶提交的即時(shí)消息,并保存至所述消息 服務(wù)器的內(nèi)存中;
提取所述接收端用戶會(huì)話中相應(yīng)的客戶端信息以定位目標(biāo)客戶端, 并將所述即時(shí)消息發(fā)送至所述目標(biāo)客戶端;
在所述目標(biāo)客戶端的瀏覽器中展示所述即時(shí)消息的提示信息。
5優(yōu)選的,所述的方法,還包括
所述接收端用戶觸發(fā)所述提示信息獲得即時(shí)消息。
優(yōu)選的,所述的方法,還包括
將一定時(shí)間間隔內(nèi)的消息服務(wù)器內(nèi)存中的數(shù)據(jù),轉(zhuǎn)存至所述消息服 務(wù)器的歷史數(shù)據(jù)庫(kù)中。
優(yōu)選的,所述的方法,還包括 在所述歷史數(shù)據(jù)庫(kù)中查詢用戶已發(fā)送的歷史消息。 優(yōu)選的,所述的方法,還包括 依據(jù)所述會(huì)話實(shí)時(shí)更新當(dāng)前在線用戶的信息。 優(yōu)選的,所述內(nèi)存為內(nèi)存存儲(chǔ)段。
優(yōu)選的,所述客戶端信息包括用戶標(biāo)識(shí)、客戶端IP和端口信息。
本發(fā)明實(shí)施例還公開(kāi)了 一種基于Web的即時(shí)通訊裝置,包括
會(huì)話注冊(cè)模塊,用于在消息服務(wù)器中生成登錄即時(shí)通訊系統(tǒng)用戶的 相應(yīng)會(huì)話,所述會(huì)話包括對(duì)應(yīng)用戶的客戶端信息;
消息接收保存模塊,用于接收發(fā)送端用戶向接收端用戶提交的即時(shí) 消息,并保存至所述消息服務(wù)器的內(nèi)存中;
目標(biāo)定位發(fā)送模塊,用于提取所述接收端用戶會(huì)話中相應(yīng)的客戶端 信息以定位目標(biāo)客戶端,并將所述即時(shí)消息發(fā)送至所述目標(biāo)客戶端;
提示信息展示模塊,用于在所述目標(biāo)客戶端的瀏覽器中展示所述即 時(shí)消息的提示信息。
優(yōu)選的,所述的裝置,還包括
即時(shí)消息獲取模塊,用于根據(jù)所述接收端用戶觸發(fā)所述提示信息獲 得即時(shí)消息。
優(yōu)選的,所述的裝置,還包括
數(shù)據(jù)庫(kù)轉(zhuǎn)存模塊,用于將一定時(shí)間間隔內(nèi)的消息服務(wù)器內(nèi)存中的數(shù) 據(jù),轉(zhuǎn)存至所述消息服務(wù)器的歷史數(shù)據(jù)庫(kù)中。 優(yōu)選的,所述的裝置,還包括
歷史消息查詢模塊,用于在所述歷史數(shù)據(jù)庫(kù)中查詢用戶已發(fā)送的歷 史消息。
優(yōu)選的,所述的裝置,還包括在線信息更新模塊,用于依據(jù)所述會(huì)話實(shí)時(shí)更新當(dāng)前在線用戶的信
臺(tái)
優(yōu)選的,所述會(huì)話注冊(cè)模塊、消息接收保存模塊和目標(biāo)定位發(fā)送模 塊位于消息服務(wù)器端。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)
首先,本發(fā)明通過(guò)在消息服務(wù)器端注冊(cè)所有登錄后用戶的客戶端 Session,當(dāng)消息服務(wù)器端接收到即時(shí)消息后,即可根據(jù)相應(yīng)的客戶端 Session定位目標(biāo)客戶端并主動(dòng)推送消息。由于這種消息服務(wù)器主動(dòng)推送 的機(jī)制,可以有效避免即時(shí)消息的延遲,提高了消息發(fā)送的即時(shí)性和準(zhǔn) 確性;并且可以有效減少服務(wù)器、客戶端、網(wǎng)絡(luò)帶寬的資源占用,緩解 了系統(tǒng)壓力,使用戶獲得更好的使用體驗(yàn);
再者,本發(fā)明在消息服務(wù)器的內(nèi)存中開(kāi)辟一段專屬存儲(chǔ)段,發(fā)送客 戶端發(fā)送的即時(shí)消息首先寫(xiě)入該內(nèi)存段中,從而提高了即時(shí)消息的響應(yīng) 性能;
此外,本發(fā)明還可以將所述內(nèi)存段中的數(shù)據(jù)定期存入消息服務(wù)器的 歷史數(shù)據(jù)庫(kù),進(jìn)一步提升了系統(tǒng)的性能;
最后,本發(fā)明對(duì)于服務(wù)提供商來(lái)說(shuō),技術(shù)實(shí)現(xiàn)簡(jiǎn)單,無(wú)技術(shù)障礙, 無(wú)特殊保密算法,成本和風(fēng)險(xiǎn)較低。
圖1是本發(fā)明的一種基于Web的即時(shí)通訊方法實(shí)施例的流程圖; 圖2是本發(fā)明的一種基于Web的即時(shí)通訊裝置實(shí)施例的結(jié)構(gòu)框圖; 圖3是應(yīng)用圖2所示的裝置實(shí)施例進(jìn)行即時(shí)通訊的流程圖。
具體實(shí)施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合 附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
本發(fā)明可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如個(gè) 人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處 理器系統(tǒng)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的 一般上下文中描 述,例如程序模塊。 一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽 象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布 式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò) 而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊 可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
本發(fā)明實(shí)施例的核心構(gòu)思之一在于,在消息服務(wù)器端注冊(cè)所有登錄
用戶的客戶端Session,當(dāng)消息服務(wù)器端接收到即時(shí)消息后,即可才艮據(jù)相 應(yīng)的客戶端Session定位目標(biāo)客戶端并主動(dòng)推送消息。由于這種消息服務(wù) 器主動(dòng)推送的機(jī)制,可以有效避免即時(shí)消息的延遲,提高了消息發(fā)送的 即時(shí)性和準(zhǔn)確性;并且可以有效減少服務(wù)器、客戶端、網(wǎng)絡(luò)帶寬的資源 占用,緩解了系統(tǒng)壓力,使用戶獲得更好的使用體驗(yàn)。
參考圖1,示出了本發(fā)明的一種基于Web的即時(shí)通訊方法實(shí)施例的 流程圖,可以包括以下步驟
步驟101、在消息服務(wù)器中生成登錄即時(shí)通訊系統(tǒng)用戶的相應(yīng)會(huì)話, 所述會(huì)話可以包括對(duì)應(yīng)用戶的客戶端信息;
步驟102、接收發(fā)送端用戶向接收端用戶提交的即時(shí)消息,并保存至 所述消息服務(wù)器的內(nèi)存中;
步驟103、提取所述接收端用戶會(huì)話中相應(yīng)的客戶端信息以定位目標(biāo) 客戶端,并將所述即時(shí)消息發(fā)送至所述目標(biāo)客戶端;
步驟104、在所述目標(biāo)客戶端的瀏覽器中展示所述即時(shí)消息的提示信
自
需要說(shuō)明的是,本發(fā)明主要涉及基于純Web的即時(shí)通訊方法,即基 于B/S架構(gòu),無(wú)需在瀏覽器中嵌入類似ActiveX控件的方式。目前,本領(lǐng) 域」忮術(shù)人員對(duì)于這種純Web的即時(shí)通訊方式有以下兩點(diǎn)共識(shí)1、由于 Web的特性,這種基于Web的IM不可避免地需要采用Http (Hypertext Transfer Protocol,超文本傳輸協(xié)議)是作為主要的通信協(xié)議,使用Http 的好處是能輕易的穿過(guò)防火墻(大多數(shù)網(wǎng)關(guān)都默認(rèn)開(kāi)放http的80端口 ); 2、單向性。只有客戶端(Web瀏覽器)能主動(dòng)去聯(lián)系服務(wù)器,而服務(wù)端無(wú)法主動(dòng)聯(lián)系特定的客戶。在現(xiàn)有技術(shù)的諸多Web IM產(chǎn)品中,如Yahoo! Web Messenger, MSN Web Messenger、 Meeboo、 Google GTalk等,均基 于以上兩點(diǎn)開(kāi)發(fā),通常在以下方面作出改進(jìn)
(1)在客戶端使用Ajax技術(shù)實(shí)現(xiàn)頁(yè)面局部刷新。
(2 )在客戶端使用定時(shí)器不斷的詢問(wèn)服務(wù)器是否有新的通知。
顯然,目前在Web應(yīng)用領(lǐng)域中,技術(shù)人員受到Web IM只能由客戶 端發(fā)請(qǐng)求獲取消息的限制,以使得對(duì)于WebIM技術(shù)的開(kāi)發(fā)局限于改進(jìn)客 戶端性能以提高即時(shí)通訊性能,而不考慮對(duì)消息服務(wù)器的改進(jìn)。而本發(fā) 明恰恰克服了現(xiàn)有技術(shù)的這種技術(shù)偏見(jiàn),提出了一種全新的Web即時(shí)通 訊機(jī)制,在這種即時(shí)通訊過(guò)程中,是由消息服務(wù)器向目標(biāo)客戶端主動(dòng)推 送消息,顛覆了以往的客戶端定時(shí)獲取的方式,由于本發(fā)明不需要客戶 端定時(shí)向服務(wù)器訪問(wèn)是否有新的通知,所以節(jié)省了每個(gè)客戶端為保持與 消息服務(wù)器的連接所要占用的資源;并且,由于本發(fā)明不受客戶端向消 息服務(wù)器定時(shí)發(fā)起請(qǐng)求的限制,即使產(chǎn)生較多的并發(fā)請(qǐng)求,也不會(huì)嚴(yán)重 增加網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)的壓力;再者,由于本發(fā)明主動(dòng)實(shí)時(shí)將其接收到的消 息推送至目標(biāo)客戶端,所以不會(huì)造成現(xiàn)有技術(shù)中消息只能在一定時(shí)間間 隔后才能發(fā)送的情況,有效提高了消息傳輸?shù)募磿r(shí)性。
事實(shí)上,本領(lǐng)域技術(shù)人員在基于上述單向性的特點(diǎn)設(shè)計(jì)Web IM時(shí), 長(zhǎng)期以來(lái)都無(wú)法解決以下問(wèn)題(1 )客戶與客戶之間無(wú)法實(shí)現(xiàn)直接的P2P。 因?yàn)榛赪eb時(shí), 一個(gè)客戶無(wú)法直接"找到"另一個(gè)客戶,就更別提NAT (網(wǎng)絡(luò)地址轉(zhuǎn)換或網(wǎng)絡(luò)地址翻譯)穿透了。 (2)客戶與客戶之間的消息 交互是"偽實(shí)時(shí)"的,所有的消息都必須通過(guò)服務(wù)器進(jìn)行"被動(dòng)"地中轉(zhuǎn)。比 如,當(dāng)客戶A要把某個(gè)聊天消息發(fā)送給B時(shí),它首先將消息提交給服務(wù) 器,因?yàn)榉?wù)器無(wú)法主動(dòng)找到B,所以服務(wù)器需要暫存這個(gè)消息(比如放 入數(shù)據(jù)庫(kù)),等到B來(lái)請(qǐng)求時(shí),才能將這個(gè)消息轉(zhuǎn)發(fā)??梢钥闯觯景l(fā)明 的消息服務(wù)器主動(dòng)推送機(jī)制同時(shí)還解決了這個(gè)人們一直渴望解決但始終 未能獲得成功的技術(shù)難題。
所謂"會(huì)話"即Session, Session是用于保持狀態(tài)的基于Web服務(wù)器 的方法。Session允許通過(guò)將對(duì)象存儲(chǔ)在Web服務(wù)器的內(nèi)存中在整個(gè)用戶 會(huì)話過(guò)程中保持任何對(duì)象。Session通常用于執(zhí)行以下操作存儲(chǔ)需要在整個(gè)用戶會(huì)話過(guò)程中保持其狀態(tài)的信息,例如登錄信息或用戶瀏覽Web 應(yīng)用程序時(shí)需要的其它信息;存儲(chǔ)只需要在頁(yè)重新加載過(guò)程中或按功能 分組的 一組頁(yè)之間保持其狀態(tài)的對(duì)象。Session的作用就是它在Web服務(wù) 器上保持用戶的狀態(tài)信息以供在任何時(shí)間從任何頁(yè)訪問(wèn)。因?yàn)闉g覽器不 需要存儲(chǔ)任何這種信息,所以可以使用任何瀏覽器,即使是像PDA或 手機(jī)這樣的瀏覽器設(shè)備。
可以理解的是,本發(fā)明的session是針對(duì)與某個(gè)用戶的瀏覽器以及通 過(guò)其當(dāng)前窗口打開(kāi)的任何窗口具有針對(duì)性的用戶信息存儲(chǔ)機(jī)制,是一種 服務(wù)器端的機(jī)制,例如,可以采用$—SESSION['keys'] = $keys或者, session—register('kayes')等形式的代碼注冊(cè)session,當(dāng)然,本發(fā)明對(duì)注冊(cè) 的方式不作限制。
在消息服務(wù)器端注冊(cè)所有登錄用戶的session,以記錄登錄用戶的客 戶端信息后,即可依據(jù)存在的session實(shí)時(shí)更新當(dāng)前在線用戶的信息,也 就是說(shuō),登錄用戶可以實(shí)時(shí)獲取即時(shí)通訊系統(tǒng)中其它在線用戶的信息。 某個(gè)登錄用戶A還可以選擇另一個(gè)在線用戶B發(fā)送即時(shí)消息。此時(shí),消 息服務(wù)器會(huì)接收用戶A發(fā)送的即時(shí)消息,并存儲(chǔ)至其內(nèi)存中,在實(shí)際中, 所述內(nèi)存中存儲(chǔ)的信息可以包括發(fā)送用戶、接收用戶、消息內(nèi)容、發(fā)送 時(shí)間等內(nèi)容,當(dāng)然還可以采用固定格式封裝。優(yōu)選的,所述內(nèi)存可以為 內(nèi)存存儲(chǔ)段,即在內(nèi)存中專門(mén)開(kāi)辟的存儲(chǔ)段。在本發(fā)明中,分段的概念 是建立在最通常被程序員結(jié)構(gòu)化程序所用模塊的基礎(chǔ)上的——即邏輯上 的一組代碼。采用段式存儲(chǔ)分配方法,每一個(gè)作業(yè)被分為很多個(gè)不同尺 寸的段,每一個(gè)模塊都包含很多相關(guān)的功能。在這種情況下,消息服務(wù) 器可以根據(jù)Session定位用戶B的客戶端信息,并將所述即時(shí)消息發(fā)送至 用戶B的瀏覽器中;用戶B的客戶端登錄后運(yùn)行一段Javascript腳本,該 腳本能夠接收消息服務(wù)器發(fā)送過(guò)來(lái)的即時(shí)消息并能夠在用戶B的瀏覽器 中給出相應(yīng)的提示信息。這種處理方式有利于在目標(biāo)客戶端在線時(shí)將消 息推送到目標(biāo)客戶端的瀏覽器上,而當(dāng)目標(biāo)客戶端不在線時(shí),則可以選 擇發(fā)送離線消息或者將即時(shí)消息轉(zhuǎn)發(fā)到短信息平臺(tái)上。
優(yōu)選的,本實(shí)施例還可以包括步驟
所述接收端用戶觸發(fā)所述提示信息獲得即時(shí)消息。例如,用戶B點(diǎn)擊所述提示信息,即可查看相應(yīng)的消息詳情。 優(yōu)選的,本發(fā)明還可以將一定時(shí)間間隔內(nèi)的所述消息服務(wù)器內(nèi)存中 的數(shù)據(jù),轉(zhuǎn)存至所述消息服務(wù)器的歷史數(shù)據(jù)庫(kù)中,以方便查詢用戶已發(fā)
送的歷史消息。
以實(shí)現(xiàn)企業(yè)員工內(nèi)部的即時(shí)通訊過(guò)程為例
步驟Sl、用戶登錄即時(shí)通訊系統(tǒng),在消息服務(wù)器端注冊(cè)所有登錄后 用戶的Session,包括用戶名、姓名、組織機(jī)構(gòu)、登錄客戶端IP和端口 等;
步驟S2、用戶A獲取依賴于Session生成的當(dāng)前在線人員信息,選
擇接收用戶B,輸入即時(shí)消息;
步驟S3、消息服務(wù)器接收所述即時(shí)消息,并保存在其內(nèi)存中;
在實(shí)際中,消息服務(wù)器還可以定期將內(nèi)存中的信息轉(zhuǎn)存到歷史數(shù)據(jù)
庫(kù)中,以便用戶查詢歷史信息。
步驟S4、依據(jù)注冊(cè)的Session中用戶B的客戶端信息定位目標(biāo)客戶
端,并將即時(shí)消息數(shù)據(jù)推送到用戶B的瀏覽器中;
步驟S5、用戶B的客戶端監(jiān)聽(tīng)到即時(shí)消息,顯示即時(shí)消息提示信息。 步驟S6、用戶B觸發(fā)提示信息,查看該消息的詳情。 應(yīng)用本發(fā)明的企業(yè)員工即時(shí)通訊系統(tǒng),可以實(shí)時(shí)統(tǒng)計(jì)顯示人員在線
情況,并以樹(shù)形結(jié)構(gòu)展現(xiàn)組織機(jī)構(gòu),方便了發(fā)送目標(biāo)對(duì)象的定位;當(dāng)目
標(biāo)對(duì)象不在線時(shí),還可以選擇發(fā)送離線消息或短信,避免了即時(shí)信息的丟失。
需要說(shuō)明的是,對(duì)于前述的方法實(shí)施例,為了簡(jiǎn)單描述,故將其都 表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不 受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他 順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描 述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明 所必須的。
參考圖2,示出了本發(fā)明的一種基于Web的即時(shí)通訊裝置實(shí)施例的 結(jié)構(gòu)框圖,可以包括以下模塊會(huì)話注冊(cè)模塊201,用于在消息服務(wù)器中生成登錄即時(shí)通訊系統(tǒng)用戶
的相應(yīng)會(huì)話,所述會(huì)話可以包括對(duì)應(yīng)用戶的客戶端信息;
消息接收保存模塊202,用于接收發(fā)送端用戶向接收端用戶提交的即 時(shí)消息,并保存至所述消息服務(wù)器的內(nèi)存中;
目標(biāo)定位發(fā)送模塊203,用于提取所述接收端用戶會(huì)話中相應(yīng)的客戶 端信息以定位目標(biāo)客戶端,并將所述即時(shí)消息發(fā)送至所述目標(biāo)客戶端;
若所述目標(biāo)客戶端的用戶不在線,還可以發(fā)送離線消息或?qū)⒓磿r(shí)消 息發(fā)送轉(zhuǎn)發(fā)至短信息平臺(tái)。
提示信息展示模塊204,用于在所述目標(biāo)客戶端的瀏覽器中展示所述 即時(shí)消息的提示信息。
本發(fā)明中所述客戶端可以監(jiān)聽(tīng)、接收并解析目標(biāo)定位發(fā)送模塊發(fā)送 的數(shù)據(jù),還可以統(tǒng)計(jì)當(dāng)前到達(dá)客戶端的即時(shí)消息數(shù)量。若客戶端登錄后, 可以通過(guò)運(yùn)行一段Javascript腳本,以接收消息服務(wù)器發(fā)送的消息并在瀏 覽器中給出相應(yīng)的提示信息。
優(yōu)選的,本實(shí)施中還可以包括
即時(shí)消息獲取模塊205,用于根據(jù)所述接收端用戶觸發(fā)所述提示信息 獲得即時(shí)消息。
優(yōu)選的,本實(shí)施中還可以包括
數(shù)據(jù)庫(kù)轉(zhuǎn)存模塊,用于將一定時(shí)間間隔內(nèi)的消息服務(wù)器內(nèi)存中的數(shù) 據(jù),轉(zhuǎn)存至所述消息服務(wù)器的歷史數(shù)據(jù)庫(kù)中。
歷史消息查詢模塊,用于在所述歷史數(shù)據(jù)庫(kù)中查詢用戶已發(fā)送的歷 史消息。
優(yōu)選的,本實(shí)施中還可以包括 ' 在線信息更新模塊,用于依據(jù)所述會(huì)話實(shí)時(shí)更新當(dāng)前在線用戶的信
自
優(yōu)選的,本實(shí)施中所述會(huì)話注冊(cè)模塊、消息接收保存模塊和目標(biāo)定 位發(fā)送模塊可以位于消息服務(wù)器端。
參考圖3,示出了應(yīng)用圖2所示的裝置實(shí)施例進(jìn)行即時(shí)通訊的流程圖, 可以包括以下步驟
步驟301 、會(huì)話注冊(cè)模塊在消息服務(wù)器中生成登錄即時(shí)通訊系統(tǒng)用戶的相應(yīng)會(huì)話;
所述會(huì)話可以包括對(duì)應(yīng)用戶的客戶端信息;
步驟302、消息接收保存模塊接收發(fā)送端用戶向接收端用戶提交的即 時(shí)消息,并保存至所述消息服務(wù)器的內(nèi)存中;
步驟303、目標(biāo)定位發(fā)送模塊提取所述接收端用戶會(huì)話中相應(yīng)的客戶 端信息以定位目標(biāo)客戶端,并將所述即時(shí)消息發(fā)送至所述目標(biāo)客戶端;
步驟304、提示信息展示模塊在所述目標(biāo)客戶端的瀏覽器中展示所述 即時(shí)消息的提示信息;
步驟305、即時(shí)消息獲取模塊根據(jù)所述接收端用戶觸發(fā)所述提示信息 獲得即時(shí)消息。
由于圖2所示的裝置實(shí)施例都可以對(duì)應(yīng)適用于前述的方法實(shí)施例中, 所以描述4交為簡(jiǎn)略,未詳盡之處可以參見(jiàn)本i兌明書(shū)前面相應(yīng)部分的描述。
以上對(duì)本發(fā)明所提供的一種基于Web的即時(shí)通訊方法和一種基于 Web的即時(shí)通訊裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明 的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本 發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本 發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述, 本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1、一種基于Web的即時(shí)通訊方法,其特征在于,包括在消息服務(wù)器中生成登錄即時(shí)通訊系統(tǒng)用戶的相應(yīng)會(huì)話,所述會(huì)話包括對(duì)應(yīng)用戶的客戶端信息;接收發(fā)送端用戶向接收端用戶提交的即時(shí)消息,并保存至所述消息服務(wù)器的內(nèi)存中;提取所述接收端用戶會(huì)話中相應(yīng)的客戶端信息以定位目標(biāo)客戶端,并將所述即時(shí)消息發(fā)送至所述目標(biāo)客戶端;在所述目標(biāo)客戶端的瀏覽器中展示所述即時(shí)消息的提示信息。
2、 如權(quán)利要求l所述的方法,其特征在于,還包括 所述接收端用戶觸發(fā)所述提示信息獲得即時(shí)消息。
3、 如權(quán)利要求l或2所述的方法,其特征在于,還包括將 一 定時(shí)間間隔內(nèi)的消息服務(wù)器內(nèi)存中的數(shù)據(jù),轉(zhuǎn)存至所述消息服 務(wù)器的歷史數(shù)據(jù)庫(kù)中。
4、 如權(quán)利要求3所述的方法,其特征在于,還包括 在所述歷史數(shù)據(jù)庫(kù)中查詢用戶已發(fā)送的歷史消息。
5、 如權(quán)利要求l所述的方法,其特征在于,還包括 依據(jù)所述會(huì)話實(shí)時(shí)更新當(dāng)前在線用戶的信息。
6、 如權(quán)利要求l所述的方法,其特征在于,所述內(nèi)存為內(nèi)存存儲(chǔ)段。
7、 如權(quán)利要求l所述的方法,其特征在于,所述客戶端信息包括用 戶標(biāo)識(shí)、客戶端IP和端口信息。
8、 一種基于Web的即時(shí)通訊裝置,其特征在于,包括會(huì)話注冊(cè)模塊,用于在消息服務(wù)器中生成登錄即時(shí)通訊系統(tǒng)用戶的 相應(yīng)會(huì)話,所述會(huì)話包括對(duì)應(yīng)用戶的客戶端信息;消息接收保存模塊,用于接收發(fā)送端用戶向接收端用戶提交的即時(shí) 消息,并保存至所述消息服務(wù)器的內(nèi)存中;目標(biāo)定位發(fā)送模塊,用于提取所述接收端用戶會(huì)話中相應(yīng)的客戶端 信息以定位目標(biāo)客戶端,并將所述即時(shí)消息發(fā)送至所述目標(biāo)客戶端;提示信息展示模塊,用于在所述目標(biāo)客戶端的瀏覽器中展示所述即時(shí)消息的提示信息。
9、 如權(quán)利要求8所述的裝置,其特征在于,還包括即時(shí)消息獲取模塊,用于根據(jù)所述接收端用戶觸發(fā)所述提示信息獲 得即時(shí)消息。
10、 如權(quán)利要求8或9所述的裝置,其特征在于,還包括 數(shù)據(jù)庫(kù)轉(zhuǎn)存模塊,用于將一定時(shí)間間隔內(nèi)的消息服務(wù)器內(nèi)存中的數(shù)據(jù),轉(zhuǎn)存至所述消息服務(wù)器的歷史數(shù)據(jù)庫(kù)中。
11、 如權(quán)利要求IO所述的裝置,其特征在于,還包括 歷史消息查詢模塊,用于在所述歷史數(shù)據(jù)庫(kù)中查詢用戶已發(fā)送的歷史消息。
12、 如權(quán)利要求8所述的裝置,其特征在于,還包括在線信息更新模塊,用于依據(jù)所述會(huì)話實(shí)時(shí)更新當(dāng)前在線用戶的信自
13、 如權(quán)利要求8所述的裝置,其特征在于,所述會(huì)話注冊(cè)模塊、 消息接收保存模塊和目標(biāo)定位發(fā)送模塊位于消息服務(wù)器端。
全文摘要
本發(fā)明公開(kāi)了一種基于Web的即時(shí)通訊方法,包括在消息服務(wù)器中生成登錄即時(shí)通訊系統(tǒng)用戶的相應(yīng)會(huì)話,所述會(huì)話包括對(duì)應(yīng)用戶的客戶端信息;接收發(fā)送端用戶向接收端用戶提交的即時(shí)消息,并保存至所述消息服務(wù)器的內(nèi)存中;提取所述接收端用戶會(huì)話中相應(yīng)的客戶端信息以定位目標(biāo)客戶端,并將所述即時(shí)消息發(fā)送至所述目標(biāo)客戶端;在所述目標(biāo)客戶端的瀏覽器中展示所述即時(shí)消息的提示信息。本發(fā)明可以節(jié)省資源、緩解系統(tǒng)壓力、提高消息傳輸?shù)募磿r(shí)性,使用戶獲得更好體驗(yàn)。
文檔編號(hào)H04L12/58GK101299731SQ20081010625
公開(kāi)日2008年11月5日 申請(qǐng)日期2008年5月9日 優(yōu)先權(quán)日2008年5月9日
發(fā)明者劉建明, 崔丙鋒, 王繼業(yè), 范鵬展, 陳德勝, 魏曉菁 申請(qǐng)人:國(guó)網(wǎng)信息通信有限公司