專利名稱:即時通訊軟件中通訊窗口的控制方法及控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本申請涉及一種軟件,特別是即時通訊軟件中窗口的展示方法及系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)的普及,人們通過網(wǎng)絡(luò)進(jìn)行通信已成為生活和工作的常識。即時通訊軟 件(Instant Messenger,簡稱IM)是人們常用的網(wǎng)絡(luò)通信工具,已在互聯(lián)網(wǎng)上得到了廣泛 的應(yīng)用。安裝即時通訊軟件的平臺,我們稱之為系統(tǒng)。平臺可以為網(wǎng)絡(luò)終端或其他通訊終 端等。用戶使用IM軟件以ID號通過平臺進(jìn)行登錄,可以與超過一個即時通訊聯(lián)系人進(jìn)行 即時消息收發(fā)活動的操作。目前,與每個聯(lián)系人進(jìn)行即時消息收發(fā)時,系統(tǒng)都會獨(dú)立開辟一 個窗口。當(dāng)同時與多個聯(lián)系人對話時,系統(tǒng)不得不同時打開多個對話窗口。在申請日為2005年3月30日申請?zhí)枮?00510059657. 6的中國專利申請中,申請 人廣州市領(lǐng)華科技有限公司公開了一種實現(xiàn)在單一對話窗口與多個聯(lián)系人即時通訊的方 法,其具體為首先,用戶通過即時通訊工具發(fā)送進(jìn)行即時通訊的請求,即時通訊工具將聯(lián) 系人的信息以用戶層的方式顯示在當(dāng)前對話窗口,其次,即時通訊服務(wù)器接收到該請求,建 立通訊連接,用戶進(jìn)行即時通訊;再次,當(dāng)通訊服務(wù)器接收到用戶即時通訊完畢的請求,斷 開用戶與聯(lián)系人的通訊連接,關(guān)閉與該聯(lián)系人對應(yīng)的用戶層或整個對話窗口。該方案以用 戶層的方式將與不同聯(lián)系人進(jìn)行即時通訊時的對話窗口合并為一個對話窗口,通過該對話 窗口可以與使用不同即時通訊協(xié)議的聯(lián)系人進(jìn)行即時通訊。這種方案雖然理論上能夠使用 一個對話窗口與使用不同即時通訊協(xié)議的聯(lián)系人進(jìn)行通訊,但是在實現(xiàn)過程中存在問題: 系統(tǒng)的用戶層的資源是有限的,當(dāng)同時進(jìn)行交互的聯(lián)系人人數(shù)比較多時,占用用戶層多,而 一個系統(tǒng)能占用的用戶層是有限的,因此實現(xiàn)難度大并且占用資源多。。
發(fā)明內(nèi)容
本申請的目的在于提供一種即時通訊軟件中通訊窗口的控制方法,以解決現(xiàn)有技 術(shù)中在通訊窗口控制過程中實現(xiàn)難度大且占用資源多的技術(shù)問題。本申請的另一目的在于提供一種即時通訊軟件中通訊窗口的控制系統(tǒng),以解決現(xiàn) 有技術(shù)中在通訊窗口控制過程中實現(xiàn)難度大且占用資源多的技術(shù)問題。為了達(dá)到上述目的,本申請?zhí)峁┝艘环N即時通訊軟件中通訊窗口的控制方法,包 括(1)設(shè)置窗口數(shù)據(jù)存儲單元;(2)接收到用戶欲與某一聯(lián)系人建立即時通訊連接的請求時,查找窗口數(shù)據(jù)存儲 單元,判斷所述窗口數(shù)據(jù)存儲單元中是否存在與該聯(lián)系人有映射關(guān)系的窗口信息,如果存 在與所述聯(lián)系人有映射關(guān)系的窗口信息,則進(jìn)行步驟(6),如果不存在與所述聯(lián)系人有映射 關(guān)系的窗口信息,則進(jìn)一步判斷所述窗口數(shù)據(jù)存儲單元中是否存在主通訊窗口,如果不存 在所述主通訊窗口則進(jìn)行步驟(3),如果存在所述主通訊窗口則進(jìn)行步驟(4);(3)創(chuàng)建一窗口,并將該窗口作為主通訊窗口,并建立該主通訊窗口對應(yīng)的用于保存該窗口下所有聯(lián)系人信息的聯(lián)系人信息存儲結(jié)構(gòu);(4)在窗口數(shù)據(jù)存儲單元中保存該聯(lián)系人與該主通訊窗口的映射關(guān)系;(5)在該主通訊窗口下創(chuàng)建一該聯(lián)系人對應(yīng)的標(biāo)簽頁,并將包括該聯(lián)系人與標(biāo)簽 頁映射關(guān)系在內(nèi)的聯(lián)系人信息存儲在該窗口對應(yīng)的聯(lián)系信息存儲結(jié)構(gòu)中;(6)將該聯(lián)系人所在的標(biāo)簽頁進(jìn)行焦點(diǎn)顯示,所述聯(lián)系人所在的標(biāo)簽頁為與聯(lián)系 人存在映射關(guān)系的窗口下該聯(lián)系人對應(yīng)的標(biāo)簽頁。在本實例中,接收到一窗口下的某一或某些標(biāo)簽頁欲重新設(shè)定一新窗口的消息 時,先重新創(chuàng)建一新窗口,并建立該新窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu);對于欲重新設(shè)定新窗口的每一標(biāo)簽頁,先確定該標(biāo)簽頁對應(yīng)的聯(lián)系人,再在該新 窗口下創(chuàng)建該聯(lián)系人對應(yīng)的標(biāo)簽頁,并將該聯(lián)系人信息存儲在該新窗口對應(yīng)的聯(lián)系人信息 存儲結(jié)構(gòu),然后修改窗口數(shù)據(jù)存儲單元中該聯(lián)系人所映射的窗口信息;修改原窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)中的信息。在本申請中,系統(tǒng)還可以合并窗口 (3-1)系統(tǒng)接收到某一窗口欲合并成一目標(biāo)窗口的請求時,先判斷被合并的窗口 是否為主通訊窗口,若是,將合并的目標(biāo)窗口設(shè)置為主通訊窗口,再進(jìn)行(3-2),否則直接進(jìn) 行(3-2);(3-2)系統(tǒng)將被合并窗口中的每一聯(lián)系人,進(jìn)行如下操作在該目標(biāo)窗口下創(chuàng)建該聯(lián)系人對應(yīng)的標(biāo)簽頁,并將該聯(lián)系人信息存儲在該目標(biāo)窗 口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu),后修改窗口數(shù)據(jù)存儲單元中該聯(lián)系人所映射的窗口信息;(3-3)刪除被合并窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)中的信息。在本申請中,當(dāng)系統(tǒng)接收到聯(lián)系人發(fā)送的即時通訊消息時,通過窗口數(shù)據(jù)存儲單 元找到該聯(lián)系人所映射的窗口,再通過該窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)找到其所在的標(biāo) 簽頁,后在該標(biāo)簽頁上進(jìn)行顯示,并向用戶提示該標(biāo)簽頁有新消息。并且,當(dāng)系統(tǒng)接收到某一標(biāo)簽頁中用戶向聯(lián)系人發(fā)送消息時,先找到該標(biāo)簽頁所 在的窗口,再確定其對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu),隨后找到該聯(lián)系人對應(yīng)的地址信息,最后 再將消息發(fā)送至對應(yīng)的地址信息。本申請還包括一種即時通訊軟件中通訊窗口的控制系統(tǒng),包括窗口數(shù)據(jù)存儲單元,用于在一個用戶ID對應(yīng)的即時通訊軟件中,保存聯(lián)系人信息 與窗口的映射關(guān)系;聯(lián)系人信息存儲單元用于存儲通訊窗口下的所有聯(lián)系人信息,聯(lián)系人信息存儲 單元包括多個聯(lián)系人信息存儲結(jié)構(gòu),每一個聯(lián)系人信息存儲結(jié)構(gòu)對應(yīng)一個窗口下所有的聯(lián) 系人信息。UI展示處理單元,用于展示用戶界面;消息處理單元,用于接收并負(fù)責(zé)響應(yīng)各種消息;控制處理單元,連接消息處理單元,用于接收消息處理單元的消息,并按照預(yù)先設(shè) 定的控制流程來處理各種消息;聯(lián)系人信息管理單元,連接控制處理單元,用于更新聯(lián)系人信息存儲單元中對應(yīng) 聯(lián)系人信息存儲結(jié)構(gòu)中的聯(lián)系信息;窗口數(shù)據(jù)處理單元,連接控制處理單元,用于更新對應(yīng)窗口中的數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本申請存在以下優(yōu)點(diǎn)(1)在本申請中,設(shè)置窗口數(shù)據(jù)存儲單元直觀建立聯(lián)系人與窗口的映射關(guān)系。并在 每一窗口下建立一個對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)。通過窗口數(shù)據(jù)存儲單元能夠管理當(dāng)前正 在即時通訊的聯(lián)系人與當(dāng)前打開窗口的關(guān)系,多個聯(lián)系人可以映射同一個窗口,并通過該 窗口下的聯(lián)系人信息存儲結(jié)構(gòu)能夠管理當(dāng)前窗口下所有的聯(lián)系人信息。當(dāng)窗口被關(guān)閉時, 對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)被釋放。這種處理方式來進(jìn)行窗口的控制,實現(xiàn)簡單,并且占用 的資源少。(2)在本申請中,能夠?qū)崿F(xiàn)一個窗口下一個或幾個標(biāo)簽頁獨(dú)立分離成一新窗口,并 且也能夠?qū)崿F(xiàn)幾個窗口合并成一個窗口。這樣,在該即時通訊軟件中,該用戶同時和50個 聯(lián)系人進(jìn)行通訊,可以僅開設(shè)一個窗口,也可以開設(shè)10個窗口。開設(shè)一個窗口和50個聯(lián)系 人進(jìn)行通訊,雖然節(jié)省了大量的存儲空間,但是用戶使用不方便,而且通過一個聯(lián)系人信息 存儲結(jié)構(gòu)來存儲所有的聯(lián)系人信息,系統(tǒng)查找某一聯(lián)系人數(shù)據(jù)不方便,影響查找的效率。而 通過本申請的設(shè)置,可使得用戶根據(jù)具體情況設(shè)立窗口數(shù),不僅用戶使用方便,而且也提高 了系統(tǒng)的查找效率。
圖1為即時通訊系統(tǒng)的結(jié)構(gòu)示意圖;圖2為第一網(wǎng)絡(luò)節(jié)點(diǎn)為例來說明對通訊窗口進(jìn)行控制的系統(tǒng)的原理示意圖;圖3為第一網(wǎng)絡(luò)節(jié)點(diǎn)中用于存儲數(shù)據(jù)的各種存儲單元原原理示意圖;圖4為一種即時通訊軟件中通訊窗口的控制方法的實施示例圖。
具體實施例方式以下結(jié)合附圖,具體說明本申請。請參閱圖1,其為即時通訊系統(tǒng)的結(jié)構(gòu)示意圖。它包括第一網(wǎng)絡(luò)節(jié)點(diǎn)11、第二網(wǎng)絡(luò) 節(jié)點(diǎn)12和即時通信提供平臺13。第一網(wǎng)絡(luò)節(jié)點(diǎn)11、第二網(wǎng)絡(luò)節(jié)點(diǎn)12和即時通信提供平臺 13可以通過有線網(wǎng)或無線網(wǎng)進(jìn)行通訊,有線網(wǎng)絡(luò)也可以包括因特網(wǎng)和局域網(wǎng)。第一網(wǎng)絡(luò)節(jié) 點(diǎn)11和第二網(wǎng)絡(luò)節(jié)點(diǎn)12可以是網(wǎng)絡(luò)終端,也可以是其它設(shè)備。第一網(wǎng)絡(luò)節(jié)點(diǎn)11與第二網(wǎng) 絡(luò)節(jié)點(diǎn)12之間能夠完成相互之間的通訊。通訊包括文字交互、文件交互等。第一網(wǎng)絡(luò)節(jié)點(diǎn) 11和第二網(wǎng)絡(luò)節(jié)點(diǎn)12通常支持對應(yīng)的通訊協(xié)議,一種最為常見的方式是第一網(wǎng)絡(luò)節(jié)點(diǎn)11 和第二網(wǎng)絡(luò)節(jié)點(diǎn)12都安裝有相同的即時通訊軟件。即時通訊軟件是指類似于QQ、MSN等軟 件。即時通訊提供平臺13是提供即時通訊管理的平臺,不同的即時通訊軟件通常是由不同 的提供者提供,因此對應(yīng)不同的即時通訊平臺13。即時通訊平臺13至少提供已注冊的用戶 信息、ID信息、屬性信息及通訊記錄信息。因此,在因特網(wǎng)中,即時通信提供平臺13也是有 多個的。本實例就以某個即時通信平臺為例來說明。假設(shè)用戶甲在第一網(wǎng)絡(luò)節(jié)點(diǎn)11利用已注冊的ID號1登錄至即時通訊平臺13,假 設(shè)用戶乙在第二網(wǎng)絡(luò)節(jié)點(diǎn)12利用已注冊的ID號2登錄至即時通訊平臺13,他們之間就能 建立即時通信鏈接??紤]到彼此相互通信時,是以ID號來區(qū)別的,因此相同的用戶使用不 同的ID號在同一網(wǎng)絡(luò)節(jié)點(diǎn)也能進(jìn)行通信,因此用戶甲和用戶乙通過即時通訊軟件來進(jìn)行 通訊,只不過是舉例來說明。
為了達(dá)到本申請對通訊窗口進(jìn)行控制的目的,本申請主要對現(xiàn)有的即時通訊軟件 進(jìn)行改進(jìn),當(dāng)然,也可以用硬件來實現(xiàn)。為此,本申請就以第一網(wǎng)絡(luò)節(jié)點(diǎn)11為例來說明對通 訊窗口進(jìn)行控制的系統(tǒng)的原理示意圖。請參閱圖2,該系統(tǒng)包括聯(lián)系人信息管理單元21、 控制處理單元22、窗口數(shù)據(jù)處理單元23、消息處理單元24、UI展示處理單元25。其中UI展示處理單元25,用于展示UI (User Interface,用戶界面)。展示用戶界面包 括設(shè)定即時通訊軟件展示方式、內(nèi)容等,以便和用戶建立交互。消息處理單元24,用于接收并負(fù)責(zé)響應(yīng)各種消息,包括tab切換、快捷鍵、新消息 到達(dá)等。控制處理單元22,連接消息處理單元24,用于接收消息處理單元24的消息,并按 照預(yù)先設(shè)定的控制流程來處理各種消息。聯(lián)系人信息管理單元21,連接控制處理單元22,按照控制處理單元22的要求更新 聯(lián)系人信息存儲單元(后續(xù)會詳細(xì)說明)中的內(nèi)容。窗口數(shù)據(jù)處理單元23,連接控制處理單元22,按照控制處理單元22的要求更新對 應(yīng)窗口中的數(shù)據(jù)。窗口中的數(shù)據(jù)包括其內(nèi)設(shè)置的標(biāo)簽信息??刂铺幚韱卧?2、聯(lián)系人信息管理單元21和窗口數(shù)據(jù)處理單元23可以通過軟件 編程來實現(xiàn),主要是從邏輯上劃分,可以集成為一個處理器來實現(xiàn)該些功能。請參閱圖3,該系統(tǒng)包括用于存儲數(shù)據(jù)的各種存儲單元。其包括聯(lián)系人信息存儲單元31 用于存儲通訊窗口下的所有聯(lián)系人信息。在本實例中, 聯(lián)系人信息存儲單元31可以包括多個聯(lián)系人信息存儲結(jié)構(gòu)311,每一個聯(lián)系人信息存儲結(jié) 構(gòu)對應(yīng)一個窗口下所有的聯(lián)系人信息。存儲結(jié)構(gòu)可以為存儲表。聯(lián)系人信息包括該窗口下 正在通訊的聯(lián)系人信息,每一聯(lián)系人對應(yīng)的標(biāo)簽頁信息、每一聯(lián)系人標(biāo)識等。標(biāo)簽頁信息可 以包括標(biāo)簽頁標(biāo)識、用戶當(dāng)前的輸入狀態(tài)、網(wǎng)頁區(qū)域的URL等。另外,還可以存儲該聯(lián)系人 的歷史記錄區(qū)的存儲地址、該聯(lián)系人的地址信息或其它屬性信息。歷史記錄區(qū)存儲單元32,用于存儲每一聯(lián)系人與用戶包括聊天在內(nèi)的歷史記錄。每一聯(lián)系人與用戶包括聊天在內(nèi)的歷史記錄,也可以存儲在聯(lián)系人信息存儲單元 31中。這樣的話,歷史記錄區(qū)存儲單元32和聯(lián)系人信息存儲單元31集成在一起。配置文件存儲單元33,用于存儲軟件的配置信息,配置信息包括模式標(biāo)識和窗口 合并/分離允許標(biāo)識等。模式標(biāo)識是表明當(dāng)前即時通訊軟件是使用合并模式還是獨(dú)立窗口 模式。窗口合并/分離允許標(biāo)識用以表明允許用戶通過拖拽的方式進(jìn)行合并/分離窗口, 或禁止用戶通過拖拽的方式進(jìn)行合并/分離窗口。窗口數(shù)據(jù)存儲單元34,用于在一個用戶ID對應(yīng)的即時通訊軟件中,保存聯(lián)系人信 息與窗口的映射關(guān)系。聯(lián)系人是指已與該用戶建立通訊的聯(lián)系人。聯(lián)系人信息與窗口的映 射關(guān)系可以是指建立聯(lián)系人ID與窗口 ID的映射關(guān)系。當(dāng)該用戶與某個聯(lián)系人欲進(jìn)行通訊 時(比如,系統(tǒng)接收到用戶雙擊某個聯(lián)系人圖標(biāo)的消息),控制處理單元22通過窗口數(shù)據(jù)處 理單元23在窗口數(shù)據(jù)存儲單元34中,建立該聯(lián)系人與窗口的映射關(guān)系。當(dāng)接收到該聯(lián)系 人返回的消息時,先查找窗口數(shù)據(jù)存儲單元34,判斷該聯(lián)系人是否已映射有對應(yīng)的窗口,若 有,則可以找到對應(yīng)窗口,通過該窗口的聯(lián)系人信息存儲結(jié)構(gòu)找到該聯(lián)系人的所有信息。也就是說,本申請僅設(shè)立一個窗口數(shù)據(jù)存儲單元34。而聯(lián)系人信息存儲結(jié)構(gòu)可以 為多個。聯(lián)系人信息存儲結(jié)構(gòu)的個數(shù)與當(dāng)前所設(shè)定的窗口數(shù)是相同的,一個窗口對應(yīng)一個
7聯(lián)系人信息存儲結(jié)構(gòu)。這種設(shè)置方式使得本申請在一個用戶ID對應(yīng)的即時通訊軟件中, 可以僅開設(shè)一個窗口,也可以開設(shè)多個窗口。比如,該即時通訊軟件中,該用戶同時和50個 聯(lián)系人進(jìn)行通訊,可以僅開設(shè)一個窗口,也可以開設(shè)10個窗口。開設(shè)一個窗口和50個聯(lián)系 人進(jìn)行通訊,雖然節(jié)省了大量的存儲空間,但是用戶使用不方便,而且通過一個聯(lián)系人信息 存儲結(jié)構(gòu)來存儲所有的聯(lián)系人信息,系統(tǒng)查找某一聯(lián)系人數(shù)據(jù)不方便,影響查找的效率。而 通過本申請的設(shè)置,可使得用戶根據(jù)具體情況設(shè)立窗口數(shù),不僅用戶使用方便,而且也提高 了系統(tǒng)的查找效率。
實施例假設(shè)用戶甲在第一網(wǎng)絡(luò)節(jié)點(diǎn)11利用已注冊的ID號1登錄至即時通訊平臺13,假 設(shè)用戶乙在第二網(wǎng)絡(luò)節(jié)點(diǎn)12利用已注冊的ID號2登錄至即時通訊平臺13,他們之間就能 建立即時通信??紤]到彼此相互通信時,是以ID號來區(qū)別的,因此相同的用戶使用不同的 ID號在同一網(wǎng)絡(luò)節(jié)點(diǎn)也能進(jìn)行通信,因此用戶甲和用戶乙通過即時通訊軟件來進(jìn)行通訊, 只不過是舉例來說明。請參閱圖4,其為一種即時通訊軟件中通訊窗口的控制方法的實施示例圖。它包 括Slll 設(shè)置窗口數(shù)據(jù)存儲單元。即時通訊軟件中可以預(yù)先設(shè)定窗口數(shù)據(jù)存儲單元,窗口數(shù)據(jù)存儲單元用于存儲當(dāng) 前正在通訊的聯(lián)系人與被打開的窗口的映射關(guān)系。在本實例中,即時通訊軟件預(yù)先設(shè)定好 窗口數(shù)據(jù)存儲單元,當(dāng)即時通訊軟件被啟動時,自動加載該窗口數(shù)據(jù)存儲單元。窗口數(shù)據(jù)存 儲單元可以以表格形式保存聯(lián)系人與窗口的映射關(guān)系,也可以以其它形式來保存。S112:接收到用戶欲與某一聯(lián)系人建立即時通訊連接請求時,查找窗口數(shù)據(jù)存儲 單元,判斷窗口數(shù)據(jù)存儲單元中是否存在與該聯(lián)系人有映射關(guān)系的窗口信息,如是不存在, 則進(jìn)一步判斷所述窗口數(shù)據(jù)存儲單元中是否存在主通訊窗口(S113),如果不存在則進(jìn)行步 驟S114,如果存在則進(jìn)行步驟S115,否則進(jìn)行步驟S117。在本實施例中,系統(tǒng)默認(rèn)為合并模式。當(dāng)當(dāng)前與用戶通信的聯(lián)系人個數(shù)小于系統(tǒng) 打開的窗口數(shù)時,稱之為合并模式。比如,當(dāng)前與用戶通信的聯(lián)系人個數(shù)是5個,而該系統(tǒng) 當(dāng)前打開的窗口數(shù)小于5個時,默認(rèn)為該系統(tǒng)處于合并模式。并且,通常情況下,處于合并 模式的系統(tǒng)默認(rèn)為僅有一個窗口。還是以當(dāng)前與用戶通信的聯(lián)系人個數(shù)是5個為例來說 明,合并模式下系統(tǒng)可以設(shè)置有一個窗口,五個標(biāo)簽頁。作為第一網(wǎng)絡(luò)節(jié)點(diǎn)11而言,用戶甲所打開的即時通訊軟件中,用戶乙是做為用戶 甲的聯(lián)系人,系統(tǒng)接收到聯(lián)系人(用戶乙)的圖標(biāo)被雙擊的消息時,系統(tǒng)就可以認(rèn)為已接收 到用戶甲欲與用戶乙建立即時通訊的請求。系統(tǒng)查找窗口數(shù)據(jù)存儲單元34,查找該聯(lián)系人(用戶乙)對應(yīng)的窗口,若存在對應(yīng) 的窗口信息,則表明該聯(lián)系人目前處于即時通訊狀態(tài)。系統(tǒng)就可以直接查找該窗口對應(yīng)的 聯(lián)系人信息存儲結(jié)構(gòu),找到該聯(lián)系人的信息,通過該聯(lián)系人信息找到聯(lián)系人所在的標(biāo)簽頁。系統(tǒng)查找窗口數(shù)據(jù)存儲單元,若沒有找到與該聯(lián)系人有映射關(guān)系的窗口,則表明 該聯(lián)系人目前不處于與用戶進(jìn)行即時通訊狀態(tài),至少需要創(chuàng)建一標(biāo)簽頁。若整個即時通訊 軟件都沒有一個窗口,則還需要創(chuàng)建一主通訊窗口。
S114 創(chuàng)建一窗口,并將該窗口作為主通訊窗口,并建立該主通訊窗口對應(yīng)的用于 保存該窗口下所有聯(lián)系人信息的聯(lián)系人信息存儲結(jié)構(gòu)。在windows操作系統(tǒng)下,如何創(chuàng)建一窗口,如何在一個窗口下創(chuàng)建一標(biāo)簽頁,都是 現(xiàn)在技術(shù),在此就不再贅述。當(dāng)系統(tǒng)檢測到接收到用戶預(yù)與某一聯(lián)系人建立即時通訊請求時,并檢測到窗口數(shù) 據(jù)存儲單元沒有該聯(lián)系人對應(yīng)的窗口信息,另外檢測到該窗口數(shù)據(jù)存儲單元未存在任何窗 口信息,則表明當(dāng)前該即時通訊軟件中沒有處于與用戶進(jìn)行通訊的聯(lián)系人。需要另行創(chuàng)建 一窗口,把該窗口作為主通訊窗口。這種實現(xiàn)方式也很多,比如,在窗口數(shù)據(jù)存儲單元中在 主通訊窗口中作上一標(biāo)記。也可以專門設(shè)立一主通訊窗口存儲單元,專門用于保存主通訊 窗口。每一窗口對應(yīng)一聯(lián)系人信息存儲結(jié)構(gòu),該聯(lián)系人信息存儲結(jié)構(gòu)用于存儲該窗口下 所有聯(lián)系人的信息。在本實例中,即時通訊軟件被啟動時,所有保存在即時通訊提供平臺上 該用戶的所有的信息都下載至本終端(比如,第一網(wǎng)絡(luò)節(jié)點(diǎn))的內(nèi)存中,當(dāng)用戶預(yù)與某一 聯(lián)系人建立即時通訊請求時,該聯(lián)系人信息被從內(nèi)存中加載至對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu) 中。該聯(lián)系人信息包括聯(lián)系人的即時通訊地址、聯(lián)系人ID、聯(lián)系人屬性等。S115 在窗口數(shù)據(jù)存儲單元中保存該聯(lián)系人與該主通訊窗口的映射關(guān)系。S116 在該主通訊窗口下創(chuàng)建一該聯(lián)系人對應(yīng)的標(biāo)簽頁,并將包括該聯(lián)系人與標(biāo) 簽頁映射關(guān)系在內(nèi)的聯(lián)系人信息存儲在該窗口對應(yīng)的聯(lián)系信息存儲結(jié)構(gòu)中。S117:將該聯(lián)系人所在的標(biāo)簽頁進(jìn)行焦點(diǎn)顯示,所述聯(lián)系人所在的標(biāo)簽頁為與聯(lián) 系人存在映射關(guān)系的窗口下該聯(lián)系人對應(yīng)的標(biāo)簽頁。將該聯(lián)系人所在的標(biāo)簽頁進(jìn)行焦點(diǎn)顯示進(jìn)一步包括先從窗口數(shù)據(jù)存儲單元中找到與該聯(lián)系人存在映射關(guān)系的窗口,再找到該窗口對 應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu),最后找到該聯(lián)系人所在的標(biāo)簽頁,并將之進(jìn)行焦點(diǎn)顯示。所述焦點(diǎn)顯示是指將該標(biāo)簽頁進(jìn)行顯著顯示。比如,將該標(biāo)簽頁進(jìn)行高亮度的顯 示,再比如,將該標(biāo)簽頁進(jìn)行閃爍顯示等。需要說明的是,本實例對本申請即時通訊軟件中打開的窗口數(shù)可以進(jìn)行任意設(shè) 定,不僅使用方便,而且不占用過多的系統(tǒng)資源。(—)用戶可以將當(dāng)前有若干個標(biāo)簽頁的窗口拆分成更多窗口本申請可以通過以下設(shè)置完成系統(tǒng)接收到標(biāo)簽頁發(fā)出的onTabEndDrag事件,或者接收到菜單發(fā)出的窗口分離 指令,就表明用戶需要將當(dāng)前有若干個標(biāo)簽頁的窗口拆分成更多窗口。比如,用戶拖曳某一 個標(biāo)簽頁,欲使其重新設(shè)定一新窗口,此時,(1-1)系統(tǒng)先創(chuàng)建該新窗口,并建立該新窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu);(1-2)再找到該標(biāo)簽頁對應(yīng)的聯(lián)系人,在該新窗口下創(chuàng)建該聯(lián)系人對應(yīng)的標(biāo)簽頁, 并將該聯(lián)系人信息存儲在該新窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu),并修改窗口數(shù)據(jù)存儲單元 中該聯(lián)系人所映射的窗口信息;(1-3)修改原窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)中的信息。再比如,用戶拖曳某一窗口下的兩個標(biāo)簽頁,欲使其重新設(shè)定一新窗口。此時(2-1)系統(tǒng)先創(chuàng)建該新窗口,并建立該新窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu);
(2-2)對于欲重新設(shè)定新窗口的該兩個標(biāo)簽頁,每一標(biāo)簽頁需要進(jìn)行以下操作 先確定該標(biāo)簽頁對應(yīng)的聯(lián)系人,再在該新窗口下創(chuàng)建該聯(lián)系人對應(yīng)的標(biāo)簽頁,并將該聯(lián)系 人信息存儲在該新窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu),并修改窗口數(shù)據(jù)存儲單元中該聯(lián)系人 所映射的窗口信息;(2-3)修改原窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)中的信息。(二)用戶可以將當(dāng)前若干個窗口合并成一個窗口本申請可以通過以下設(shè)置完成系統(tǒng)接收到窗口的OnMouseMove事件,或者接收到菜單發(fā)出的窗口合并指令,則 表明用戶可以將當(dāng)前若干個窗口合并成一個窗口。比如,用戶拖曳某一個窗口至另一個窗口,欲使其重新合并成一新窗口,此時,被 拖曳的窗口為被合并窗口,用戶將其拖曳至目標(biāo)的窗口稱之為目標(biāo)窗口。(3-1)系統(tǒng)先判斷被合并的窗口是否為主通訊窗口,若是將合并的目標(biāo)窗口設(shè)置 為主通訊窗口,再進(jìn)行(3-2),否則直接進(jìn)行(3-2);(3-2)系統(tǒng)將被合并窗口中的每一聯(lián)系人,進(jìn)行如下操作在該目標(biāo)窗口下創(chuàng)建該聯(lián)系人對應(yīng)的標(biāo)簽頁,并將該聯(lián)系人信息存儲在該目標(biāo)窗 口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu),后修改窗口數(shù)據(jù)存儲單元中該聯(lián)系人所映射的窗口信息;(3-3)刪除被合并窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)中的信息。通過上述的設(shè)置,使用者在windows桌面上打開的窗口比較多時,可以將即時通 訊軟件中任何一個窗口合并到另外的一窗口上。而且,這種設(shè)置不影響聯(lián)系人與用戶通訊 的處理速度。當(dāng)系統(tǒng)接收到聯(lián)系人發(fā)送的即時通訊消息時,通過窗口數(shù)據(jù)存儲單元找到該聯(lián)系 人所映射的窗口,再通過該窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)找到其所在的標(biāo)簽頁,后在該 標(biāo)簽頁上進(jìn)行顯示,并向用戶提示該標(biāo)簽頁有新消息。當(dāng)系統(tǒng)接收到某一標(biāo)簽頁中用戶向聯(lián)系人發(fā)送消息時,先找到該標(biāo)簽頁所在的窗 口,再確定其對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu),隨后找到該聯(lián)系人對應(yīng)的地址信息,最后再將消 息發(fā)送至對應(yīng)的地址信息。在本實例中,在接收到即時通訊消息或發(fā)送即時通訊消息時,系統(tǒng)還將該些消息 保存在該聯(lián)系人對應(yīng)的歷史記錄區(qū)。當(dāng)標(biāo)簽頁上的關(guān)閉按鈕被點(diǎn)擊時,先找到該標(biāo)簽頁所在的窗口,并判斷該窗口對 應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)中是否還有其它聯(lián)系人信息,若是,則在聯(lián)系人信息存儲單元中 刪除該聯(lián)系人信息,并在窗口數(shù)據(jù)存儲單元中刪除該聯(lián)系人與窗口的映射關(guān)系;若否,直接 刪除該聯(lián)系人信息存儲結(jié)構(gòu),并在窗口數(shù)據(jù)存儲單元中刪除該聯(lián)系人與窗口的映射關(guān)系。實施例2本實施例2提供一模式標(biāo)識,用于用戶選擇即時通訊軟件當(dāng)前使用的模式。步驟Slll之前還包括設(shè)置模式標(biāo)識,所述模式標(biāo)識是表明當(dāng)前即時通訊軟件是 使用合并模式還是獨(dú)立窗口模式。合并模式就是指當(dāng)前即時通訊的聯(lián)系人的個數(shù)大于當(dāng)前打開的窗口數(shù)。獨(dú)立窗口模式就是當(dāng)前即時通訊的聯(lián)系人的個數(shù)等于當(dāng)前打開的窗口數(shù)步驟S112還包括接收到用戶欲與某一聯(lián)系人建立即時通訊連接請求時,先訪問模式標(biāo)識,如果當(dāng)前即時通訊軟件是使用合并模式,則進(jìn)一步進(jìn)行步驟S112,如果當(dāng)前即時 通訊軟件是使用獨(dú)立窗口模式,系統(tǒng)直接創(chuàng)建該聯(lián)系人的通訊窗口。并且,系統(tǒng)允許即時通訊軟件從獨(dú)立窗口模式轉(zhuǎn)換為合并模式其主要通過以下 步驟實現(xiàn)Al 當(dāng)模式標(biāo)識從獨(dú)立窗口模式修改為使用合并模式時,系統(tǒng)判斷當(dāng)前已打開的 通訊窗口數(shù)N是否大于等于2,若是,則進(jìn)行步驟A2 ;A2 設(shè)置窗口數(shù)據(jù)存儲單元;A3 設(shè)定該些通訊窗口中的某一窗口為主通訊窗口,在該窗口數(shù)據(jù)存儲單元中建 立該窗口與聯(lián)系人的映射關(guān)系,并建立該主通訊窗口對應(yīng)的用于保存該窗口下所有聯(lián)系人 信息的聯(lián)系人信息存儲結(jié)構(gòu);A4 對于其它N-I個窗口對應(yīng)的聯(lián)系人,在窗口數(shù)據(jù)存儲單元中建立主通訊窗口 與該些聯(lián)系人的映射關(guān)系,并在該主通訊窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)中保存該些聯(lián)系 人的所有信息。另外,系統(tǒng)還允許即時通訊軟件合并模式轉(zhuǎn)換為獨(dú)立窗口模式其主要通過以下 步驟實現(xiàn)Bl 當(dāng)模式標(biāo)識從合并模式修改為獨(dú)立窗口模式時,系統(tǒng)窗口數(shù)據(jù)存儲單元中的 每一聯(lián)系人獨(dú)立設(shè)置一窗口,并將聯(lián)系人信息重新保存至該窗口對應(yīng)的屬性中。B2 刪除所有的聯(lián)系人信息存儲結(jié)構(gòu);B3 修改窗口數(shù)據(jù)存儲單元中聯(lián)系人與窗口的映射關(guān)系。還有,本申請還可以設(shè)定窗口合并/分離允許標(biāo)識,窗口合并/分離允許標(biāo)識用以 表明允許用戶通過拖拽的方式進(jìn)行合并/分離窗口,或禁止用戶通過拖拽的方式進(jìn)行合并 /分離窗口 ;系統(tǒng)接收到用戶發(fā)出窗口合并的操作請求以及標(biāo)簽頁分離操作請求時,先判 斷設(shè)定窗口合并/分離允許標(biāo)識,如果該標(biāo)識為禁止用戶通過拖拽的方式進(jìn)行合并/分離 窗口,則結(jié)束。以上公開的僅為本申請的幾個具體實施例,但本申請并非局限于此,任何本領(lǐng)域 的技術(shù)人員能思之的變化,都應(yīng)落在本申請的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種即時通訊軟件中通訊窗口的控制方法,其特征在于,包括(1)設(shè)置窗口數(shù)據(jù)存儲單元;(2)接收到用戶欲與某一聯(lián)系人建立即時通訊連接的請求時,查找窗口數(shù)據(jù)存儲單元, 判斷所述窗口數(shù)據(jù)存儲單元中是否存在與該聯(lián)系人有映射關(guān)系的窗口信息,如果存在與所 述聯(lián)系人有映射關(guān)系的窗口信息,則進(jìn)行步驟(6),如果不存在與所述聯(lián)系人有映射關(guān)系的 窗口信息,則進(jìn)一步判斷所述窗口數(shù)據(jù)存儲單元中是否存在主通訊窗口,如果不存在所述 主通訊窗口則進(jìn)行步驟(3),如果存在所述主通訊窗口則進(jìn)行步驟;(3)創(chuàng)建一窗口,并將該窗口作為主通訊窗口,并建立該主通訊窗口對應(yīng)的用于保存該 窗口下所有聯(lián)系人信息的聯(lián)系人信息存儲結(jié)構(gòu);(4)在窗口數(shù)據(jù)存儲單元中保存該聯(lián)系人與該主通訊窗口的映射關(guān)系;(5)在該主通訊窗口下創(chuàng)建一該聯(lián)系人對應(yīng)的標(biāo)簽頁,并將包括該聯(lián)系人與標(biāo)簽頁映 射關(guān)系在內(nèi)的聯(lián)系人信息存儲在該窗口對應(yīng)的聯(lián)系信息存儲結(jié)構(gòu)中;(6)將該聯(lián)系人所在的標(biāo)簽頁進(jìn)行焦點(diǎn)顯示,所述聯(lián)系人所在的標(biāo)簽頁為與聯(lián)系人存 在映射關(guān)系的窗口下該聯(lián)系人對應(yīng)的標(biāo)簽頁。
2.如權(quán)利要求1所述的方法,其特征在于,還包括接收到一窗口下的某一或某些標(biāo)簽頁欲重新設(shè)定一新窗口的消息時,先重新創(chuàng)建一新 窗口,并建立該新窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu);對于欲重新設(shè)定新窗口的每一標(biāo)簽頁,先確定該標(biāo)簽頁對應(yīng)的聯(lián)系人,再在該新窗口 下創(chuàng)建該聯(lián)系人對應(yīng)的標(biāo)簽頁,并將該聯(lián)系人信息存儲在該新窗口對應(yīng)的聯(lián)系人信息存儲 結(jié)構(gòu),然后修改窗口數(shù)據(jù)存儲單元中該聯(lián)系人所映射的窗口信息;修改原窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)中的信息。
3.如權(quán)利要求1所述的方法,其特征在于,還包括(3-1)系統(tǒng)接收到某一窗口欲合并成一目標(biāo)窗口的請求時,先判斷被合并的窗口是否 為主通訊窗口,若是,將合并的目標(biāo)窗口設(shè)置為主通訊窗口,再進(jìn)行(3-2),否則直接進(jìn)行 (3-2);(3-2)系統(tǒng)將被合并窗口中的每一聯(lián)系人,進(jìn)行如下操作在該目標(biāo)窗口下創(chuàng)建該聯(lián)系人對應(yīng)的標(biāo)簽頁,并將該聯(lián)系人信息存儲在該目標(biāo)窗口對 應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu),后修改窗口數(shù)據(jù)存儲單元中該聯(lián)系人所映射的窗口信息;(3-3)刪除被合并窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)中的信息。
4.如權(quán)利要求1或2所述的方法,其特征在于,還包括當(dāng)系統(tǒng)接收到聯(lián)系人發(fā)送的即時通訊消息時,通過窗口數(shù)據(jù)存儲單元找到該聯(lián)系人所 映射的窗口,再通過該窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)找到其所在的標(biāo)簽頁,然后在該標(biāo) 簽頁上進(jìn)行顯示,并向用戶提示該標(biāo)簽頁有新消息。
5.如權(quán)利要求1或2所述的方法,其特征在于,還包括當(dāng)系統(tǒng)接收到某一標(biāo)簽頁中用 戶向聯(lián)系人發(fā)送消息時,先找到該標(biāo)簽頁所在的窗口,再確定其對應(yīng)的聯(lián)系人信息存儲結(jié) 構(gòu),隨后找到該聯(lián)系人對應(yīng)的地址信息,最后再將消息發(fā)送至對應(yīng)的地址信息。
6.如權(quán)利要求4或5所述的方法,其特征在于,還包括在接收到即時通訊消息或發(fā)送 即時通訊消息時,系統(tǒng)還將該些消息保存在該聯(lián)系人對應(yīng)的歷史記錄區(qū)。
7.如權(quán)利要求1所述的方法,其特征在于,還包括當(dāng)接收到標(biāo)簽頁被關(guān)閉的請求時,先找到該標(biāo)簽頁所在的窗口,并判斷該窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)中是否還有其它聯(lián) 系人信息,若是,則在聯(lián)系人信息存儲結(jié)構(gòu)中刪除該聯(lián)系人信息,并在窗口數(shù)據(jù)存儲單元中 刪除該聯(lián)系人與窗口的映射關(guān)系;若否,直接刪除該聯(lián)系人信息存儲結(jié)構(gòu),并在窗口數(shù)據(jù)存 儲單元中刪除該聯(lián)系人與窗口的映射關(guān)系。
8.如權(quán)利要求1所述的方法,其特征在于,步驟(1)之前還包括設(shè)置模式標(biāo)識,所述模式標(biāo)識是表明當(dāng)前即時通訊軟件是使用 合并模式還是獨(dú)立窗口模式;步驟( 還包括接收到用戶預(yù)與某一聯(lián)系人建立即時通訊請求時,先訪問模式標(biāo)識, 如果當(dāng)前即時通訊軟件是使用合并模式,則進(jìn)一步進(jìn)行步驟(1),如果當(dāng)前即時通訊軟件是 使用獨(dú)立窗口模式,系統(tǒng)直接創(chuàng)建該聯(lián)系人的通訊窗口。
9.如權(quán)利要求8所述的方法,其特征在于,還包括Al 當(dāng)模式標(biāo)識從獨(dú)立窗口模式修改為使用合并模式時,系統(tǒng)判斷當(dāng)前已打開的通訊 窗口數(shù)N是否大于等于2,若是,則進(jìn)行步驟A2 ; A2:設(shè)置窗口數(shù)據(jù)存儲單元;A3 設(shè)定該些通訊窗口中的某一窗口為主通訊窗口,在該窗口數(shù)據(jù)存儲單元中建立該 窗口與聯(lián)系人的映射關(guān)系,并建立該主通訊窗口對應(yīng)的用于保存該窗口下所有聯(lián)系人信息 的聯(lián)系人信息存儲結(jié)構(gòu);A4 對于其它N-I個窗口對應(yīng)的聯(lián)系人,在窗口數(shù)據(jù)存儲單元中建立主通訊窗口與聯(lián) 系人的映射關(guān)系,并在該主通訊窗口對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)中保存該聯(lián)系人的所有信 肩、ο
10.如權(quán)利要求1所述的方法,其特征在于,還包括設(shè)定窗口合并/分離允許標(biāo)識,窗口合并/分離允許標(biāo)識用以表明允許用戶通過拖拽 的方式進(jìn)行合并/分離窗口,或禁止用戶通過拖拽的方式進(jìn)行合并/分離窗口 ;系統(tǒng)接收到用戶發(fā)出窗口合并的操作請求以及標(biāo)簽頁分離操作請求時,先判斷設(shè)定窗 口合并/分離允許標(biāo)識,如果該標(biāo)識為禁止用戶通過拖拽的方式進(jìn)行合并/分離窗口,則結(jié)束O
11.一種即時通訊軟件中通訊窗口的控制系統(tǒng),其特征在于,包括窗口數(shù)據(jù)存儲單元,用于在一個用戶ID對應(yīng)的即時通訊軟件中,保存聯(lián)系人信息與窗 口的映射關(guān)系;聯(lián)系人信息存儲單元用于存儲通訊窗口下的所有聯(lián)系人信息,聯(lián)系人信息存儲單元 包括多個聯(lián)系人信息存儲結(jié)構(gòu),每一個聯(lián)系人信息存儲結(jié)構(gòu)對應(yīng)一個窗口下所有的聯(lián)系人 fn息;UI展示處理單元,用于展示用戶界面; 消息處理單元,用于接收并負(fù)責(zé)響應(yīng)各種消息;控制處理單元,連接消息處理單元,用于接收消息處理單元的消息,并按照預(yù)先設(shè)定的 控制流程來處理各種消息;聯(lián)系人信息管理單元,連接控制處理單元,用于更新聯(lián)系人信息存儲單元中對應(yīng)聯(lián)系 人信息存儲結(jié)構(gòu)中的聯(lián)系信息;窗口數(shù)據(jù)處理單元,連接控制處理單元,用于更新對應(yīng)窗口中的數(shù)據(jù)。
全文摘要
一種即時通訊軟件中通訊窗口的控制方法,設(shè)置窗口數(shù)據(jù)存儲單元直觀建立聯(lián)系人與窗口的映射關(guān)系。并在每一窗口下建立一個對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)。通過窗口數(shù)據(jù)存儲單元管理當(dāng)前正在即時通訊的聯(lián)系人與當(dāng)前打開窗口的關(guān)系,多個聯(lián)系人可以映射同一個窗口,并通過該窗口下的聯(lián)系人信息存儲結(jié)構(gòu)管理當(dāng)前窗口下所有的聯(lián)系人信息。當(dāng)窗口被關(guān)閉時,對應(yīng)的聯(lián)系人信息存儲結(jié)構(gòu)被釋放。這種處理方式,實現(xiàn)簡單,并且占用的資源少。在本申請中,能夠?qū)崿F(xiàn)一個窗口下一個或幾個標(biāo)簽頁獨(dú)立分離成一新窗口,并且也能夠?qū)崿F(xiàn)幾個窗口合并成一個窗口。這樣,在該即時通訊軟件中,通過一個聯(lián)系人信息存儲結(jié)構(gòu)來存儲所有的聯(lián)系人信息,系統(tǒng)查找某一聯(lián)系人數(shù)據(jù)不方便,影響查找的效率。而通過本申請的設(shè)置,可使得用戶根據(jù)具體情況設(shè)立窗口數(shù),不僅用戶使用方便,而且也提高了系統(tǒng)的查找效率。
文檔編號H04L12/58GK102098233SQ20091025917
公開日2011年6月15日 申請日期2009年12月11日 優(yōu)先權(quán)日2009年12月11日
發(fā)明者吳志勇, 唐紅兵 申請人:阿里巴巴集團(tuán)控股有限公司