專(zhuān)利名稱(chēng):一種好友分組管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及一種在即時(shí)通訊中提供通訊參與者即好友的分組技術(shù),更具體地說(shuō),涉及一種可支持用戶(hù)定制其排列順序的好友分組的管理方法。
背景技術(shù):
網(wǎng)絡(luò)即時(shí)通訊(以下簡(jiǎn)稱(chēng)IM)已被眾人接受,成為用戶(hù)必不可少的軟件工具,在平時(shí)的休閑娛樂(lè)和工作學(xué)習(xí)中被廣泛使用。隨著用戶(hù)使用IM軟件的時(shí)間增長(zhǎng),用戶(hù)積累了大量的好友聯(lián)系人(也叫即時(shí)通信參與者),因此,用戶(hù)對(duì)好友聯(lián)系人的管理也變得越來(lái)越重要。中國(guó)發(fā)明專(zhuān)利CN200410026976.2公開(kāi)了一種即時(shí)通訊軟件好友列表的查詢(xún)方法,利用匹配關(guān)鍵字的方法來(lái)查找感興趣的好友。但這種方法需要對(duì)關(guān)鍵字有準(zhǔn)確的把握,因此,如果用戶(hù)不了解關(guān)鍵字而好友列表特別長(zhǎng),這種方法并不能很好解決問(wèn)題。
為更加便利對(duì)好友聯(lián)系人的管理,一些IM軟件提出了更加方便管理好友聯(lián)系人的方式,例如,已有IM軟件實(shí)現(xiàn)了好友聯(lián)系人分組的好友管理方式,將具有相同特征的好友放在一個(gè)分組中進(jìn)行管理,即用戶(hù)可以對(duì)所有的好友聯(lián)系人進(jìn)行分類(lèi)管理,例如用戶(hù)可以把好友聯(lián)系人分為“高中同學(xué)”,“公司同事”等好友分組,這樣用戶(hù)就可以利用IM軟件對(duì)所有聯(lián)系人進(jìn)行有效管理,可以在對(duì)應(yīng)的分組下面找到合適的好友進(jìn)行后續(xù)的交流與溝通,好友聯(lián)系人分組已經(jīng)成為IM軟件中不可缺少的功能特點(diǎn)。為實(shí)現(xiàn)好友的分組管理,在對(duì)應(yīng)用戶(hù)的基本信息資料中,在服務(wù)器建立分組數(shù)據(jù)表保存好友分組的關(guān)鍵字Key以及分組名稱(chēng)。其中,為每個(gè)好友規(guī)定的數(shù)據(jù)結(jié)構(gòu)中,有一個(gè)特定的字段屬性Flag中設(shè)置為分組Key,這樣當(dāng)用戶(hù)下載完了好友分組以及好友列表后,好友根據(jù)其屬性Flag排列到對(duì)應(yīng)的分組Key中,從而實(shí)現(xiàn)對(duì)好友有組織的管理,同時(shí)也給用戶(hù)帶來(lái)了極大的便利性。面板管理模塊利用本地存儲(chǔ)模塊裝載聯(lián)系人列表,首先遍歷所有分組目錄,裝載到內(nèi)存中對(duì)應(yīng)分組結(jié)構(gòu)中,然后根據(jù)目錄名稱(chēng)的首字母進(jìn)行排序處理后,最后分組信息顯示在面板中。上述現(xiàn)有技術(shù)的缺點(diǎn)在于,上述好友聯(lián)系人分組在面板的排列是按照對(duì)應(yīng)的分組名稱(chēng)的首字母或者分組好友人數(shù)這些固定的標(biāo)準(zhǔn)方式進(jìn)行好友分組在面板的裝載與排列,用戶(hù)無(wú)法根據(jù)自己需要的排列方式對(duì)好友分組的排列方式進(jìn)行面板的定制操作,不能滿(mǎn)足用戶(hù)的個(gè)性化的需求。中國(guó)專(zhuān)利CN2002821420.X公開(kāi)了“好友列表的被動(dòng)個(gè)性化”,按照一定的模式提供了好友的組織,但這種組織是由系統(tǒng)給出的,而不是用戶(hù)自己定制的,因此仍然不能滿(mǎn)足每個(gè)用戶(hù)主觀上可能不同的需求。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題在于,實(shí)現(xiàn)一種用戶(hù)可定制的好友分組排列順序的技術(shù)實(shí)現(xiàn)方案,可以讓用戶(hù)對(duì)面板中的好友分組的排列方式進(jìn)行定制,給用戶(hù)提供一個(gè)個(gè)性化的面板表現(xiàn)方式,同時(shí)也極大方便了用戶(hù)對(duì)好友分組的操作體驗(yàn),便利用戶(hù)打開(kāi)希望的好友分組。這里提出一種用戶(hù)可定制的好友分組排列順序的技術(shù)實(shí)現(xiàn)方案,可以極大的方便用戶(hù)對(duì)IM軟件面板的操作體驗(yàn),可以根據(jù)自己的喜好進(jìn)行好友分組的各種排列,為用戶(hù)提供更加個(gè)性化的服務(wù)。
本發(fā)明上述技術(shù)問(wèn)題這樣解決,構(gòu)造一種好友分組管理方法,包括以下步驟建立包括分組關(guān)鍵字、分組名稱(chēng)及分組序列號(hào)的分組關(guān)系數(shù)據(jù)結(jié)構(gòu)體,響應(yīng)用戶(hù)對(duì)好友分組列表控件的操控;利用Windows控件API函數(shù)根據(jù)列表控件中的列表對(duì)象元素,順序遍歷列表對(duì)象數(shù)組,將其數(shù)值添加到分組關(guān)系數(shù)據(jù)結(jié)構(gòu)體,并把結(jié)構(gòu)體添加到新建立的分組結(jié)構(gòu)數(shù)組中;利用本地文件存儲(chǔ)模塊遍歷所有的好友分組,建立面板的目錄對(duì)象鏈表數(shù)據(jù)結(jié)構(gòu),利用分組對(duì)應(yīng)的序列號(hào)進(jìn)行排序,確認(rèn)好友所處在的分組;根據(jù)面板的矩形區(qū)域以及面板目錄對(duì)象鏈表確定各個(gè)目錄對(duì)象所在面板的位置信息,并確定該目錄對(duì)象下好友分組對(duì)象的位置信息,對(duì)主面板發(fā)起繪制操作,最終表現(xiàn)為與用戶(hù)設(shè)置一致的主面板的排列形式。
在上述好友分組的管理方法中,所述分組關(guān)系數(shù)據(jù)結(jié)構(gòu)體中的分組序列號(hào)的初始值為遍歷所述列表對(duì)象數(shù)組時(shí)到達(dá)該分組的次序。
在上述好友分組的管理方法中,還包括用于將最后確定的分組結(jié)構(gòu)數(shù)組傳輸并保存在即時(shí)通信服務(wù)器的以下步驟將用戶(hù)標(biāo)識(shí)與對(duì)應(yīng)的分組結(jié)構(gòu)數(shù)組,組成數(shù)據(jù)包并進(jìn)行加密處理,發(fā)送到服務(wù)器;服務(wù)器對(duì)數(shù)據(jù)包進(jìn)行解密與解析操作,從中提取出用戶(hù)標(biāo)識(shí)以及對(duì)應(yīng)的分組結(jié)構(gòu)數(shù)組;服務(wù)器根據(jù)用戶(hù)標(biāo)識(shí),查詢(xún)用戶(hù)信息數(shù)據(jù)庫(kù),定位相關(guān)的分組信息,分別寫(xiě)入用戶(hù)標(biāo)識(shí)對(duì)應(yīng)的分組關(guān)系列表中,其字段分別是分組關(guān)鍵字、分組名稱(chēng)及分組序列號(hào)。
在上述好友分組的管理方法中,在本地存儲(chǔ)器和服務(wù)器為每個(gè)用戶(hù)標(biāo)識(shí)保存一個(gè)與其分組信息對(duì)應(yīng)的序號(hào),用于記錄該用戶(hù)的好友分組的修改序號(hào)。
在上述好友分組的管理方法中,還包括以下步驟服務(wù)器遞增用戶(hù)標(biāo)識(shí)的分組信息對(duì)應(yīng)的序號(hào);服務(wù)器保存用戶(hù)標(biāo)識(shí)的分組信息及對(duì)應(yīng)的序號(hào);將分組信息及對(duì)應(yīng)的序號(hào)通過(guò)數(shù)據(jù)包發(fā)送到客戶(hù)端;客戶(hù)端接收到數(shù)據(jù)包后,保存服務(wù)器返回的序號(hào)及對(duì)應(yīng)的分組結(jié)構(gòu)數(shù)組。
在上述好友分組的管理方法中,用戶(hù)客戶(hù)端利用本地文件存儲(chǔ)模塊將新的分組結(jié)構(gòu)數(shù)組和分組信息對(duì)應(yīng)的序號(hào)保存到本地文件。
在上述好友分組的管理方法中,用戶(hù)在客戶(hù)端登錄時(shí),執(zhí)行以下步驟客戶(hù)端發(fā)送請(qǐng)求獲取序號(hào)的協(xié)議命令到服務(wù)器;服務(wù)器根據(jù)用戶(hù)標(biāo)識(shí)返回與分組信息對(duì)應(yīng)的序號(hào),客戶(hù)端將服務(wù)器返回的序號(hào)與本地存儲(chǔ)的序號(hào)進(jìn)行比較;如果服務(wù)器序號(hào)大于本地存儲(chǔ)的序號(hào),則客戶(hù)端發(fā)送獲取最新分組結(jié)構(gòu)數(shù)組的協(xié)議命令到服務(wù)器,服務(wù)器返回對(duì)應(yīng)用戶(hù)標(biāo)識(shí)的所有分組信息以及最新的序號(hào),客戶(hù)端收到該數(shù)據(jù)包后加以保存;如果服務(wù)器序號(hào)等于本地存儲(chǔ)的序號(hào),則無(wú)需更新。
在上述好友分組的管理方法中,還包括以下步驟用戶(hù)客戶(hù)端調(diào)用面板管理模塊觸發(fā)重新裝載面板的操作,利用本地文件存儲(chǔ)模塊遍歷所有的分組結(jié)構(gòu)數(shù)組,建立面板目錄對(duì)象鏈表數(shù)據(jù)結(jié)構(gòu)使目錄對(duì)象包括分組關(guān)鍵字和分組名稱(chēng)以及分組序列號(hào);對(duì)所建立的面板目錄對(duì)象鏈表進(jìn)行排序操作,利用每個(gè)分組的序列號(hào)作為排序標(biāo)準(zhǔn),得到按照分組序列號(hào)進(jìn)行排序后的面板目錄目錄對(duì)象鏈表,同時(shí)遍歷所有的好友聯(lián)系人,根據(jù)好友聯(lián)系人的信息中的屬性Flag字段,確認(rèn)好友所在的分組;根據(jù)面板的矩形區(qū)域以及排序后的面板目錄對(duì)象鏈表,確定各個(gè)目錄對(duì)象以及該目錄對(duì)象下好友分組對(duì)象所在面板位置信息,對(duì)面板發(fā)起繪制操作使之表現(xiàn)為與用戶(hù)設(shè)置排列形式一致。
在上述好友分組的管理方法中,確定所述分組結(jié)構(gòu)中的分組序列號(hào)的初始值為分組的訪問(wèn)頻率的排序或內(nèi)含好友個(gè)數(shù)的排序或分組名稱(chēng)的首字母排序。
實(shí)施本發(fā)明提供的好友分組管理方法,可以支持用戶(hù)定制好友分組排列順序及對(duì)其隨心所欲的修改,而且這種修改是直接且直觀的,用戶(hù)可以根據(jù)自己的需要與喜好,通過(guò)非常簡(jiǎn)單的操作對(duì)面板中好友分組的排列方式進(jìn)行調(diào)整變更,包括上移、下移、隱藏、恢復(fù)等,從而滿(mǎn)足用戶(hù)主觀上的個(gè)性化的要求,同時(shí),由于采用了用戶(hù)定制的排列方式,可以非常方便地對(duì)某個(gè)好友分組進(jìn)行查看,從而快速找到對(duì)應(yīng)某個(gè)好友分組中的聯(lián)系人,為后續(xù)的交流與溝通提供了更加便利的操作方式,此外,方便的操作界面,可以讓用戶(hù)進(jìn)行非常簡(jiǎn)便的操作就可以完成好友排列方式的定制。
下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,附圖中圖1是利用本發(fā)明方法實(shí)現(xiàn)好友分組的定制設(shè)置操作界面的一個(gè)示意性例子;圖2是本發(fā)明方法的一個(gè)實(shí)施例中定制好友分組順序部分的流程示意圖。
圖3是本發(fā)明方法的一個(gè)實(shí)施例中保存已定制好友分組順序部分的流程示意圖。
圖4是本發(fā)明方法的一個(gè)實(shí)施例中更新已定制的好友分組順序部分的流程示意圖。
圖5是本發(fā)明方法的一個(gè)實(shí)施例中在面板上根據(jù)已定制好友分組順序進(jìn)行繪制部分的流程示意圖。
具體實(shí)施例方式
在現(xiàn)有IM軟件中,好友分組在面板上的排列是按照系統(tǒng)預(yù)先設(shè)定的某種固定模式進(jìn)行排列的,例如按照分組名稱(chēng)的首字母或者分組中的好友數(shù)目進(jìn)行分組的排序,這種方式讓用戶(hù)無(wú)法控制好友分組的排列,不能按照自己的意愿進(jìn)行分組的排列,無(wú)法滿(mǎn)足用戶(hù)的個(gè)性化的需求。在圖1中,給出了利用本發(fā)明方法實(shí)現(xiàn)的當(dāng)前面板的好友分組排列方式的一種,從圖中可見(jiàn),在好友分組圖標(biāo)和好友分組名稱(chēng)兩個(gè)欄目下,分別列出了7個(gè)好友分組圖標(biāo)和7個(gè)好友分組名稱(chēng)我的聯(lián)系人、測(cè)試號(hào)碼、高中同學(xué)、大學(xué)同學(xué)、研究生同學(xué)、公司同事、家人親戚。圖1中的高亮光標(biāo)處于“研究生同學(xué)”這個(gè)分組,對(duì)具體用戶(hù)而言,利用本發(fā)明的方法,可以通過(guò)點(diǎn)擊右邊的“上移”、“下移”按鈕,便利地將其上移或下移,如果點(diǎn)擊上移鍵,在上移結(jié)束后,從上而下的7個(gè)好友分組的名稱(chēng)分別順序?yàn)槲业穆?lián)系人、測(cè)試號(hào)碼、高中同學(xué)、研究生同學(xué)、大學(xué)同學(xué)、公司同事、家人親戚。相反,如要在圖1的基礎(chǔ)上將其下移,則下移結(jié)果的順序排列為我的聯(lián)系人、測(cè)試號(hào)碼、高中同學(xué)、大學(xué)同學(xué)、公司同事、研究生同學(xué)、家人親戚。從上可見(jiàn),本發(fā)明提供了一種用戶(hù)可定制的好友分組排列順序的方法,通過(guò)實(shí)現(xiàn)該方法,用戶(hù)可以通過(guò)如圖1的操作界面進(jìn)行好友分組的新的排列操作,可以通過(guò)操作“上移”與“下移”實(shí)現(xiàn)好友分組在面板上的重新排列,通過(guò)這種方式可以實(shí)現(xiàn)用戶(hù)對(duì)好友分組更有效的管理,同時(shí)用戶(hù)也可以隱藏某個(gè)好友分組、刪除好友分組或者添加好友分組,這樣極大了便利了用戶(hù)對(duì)好友分組的管理,同時(shí)滿(mǎn)足了用戶(hù)個(gè)性化的操作需求。
為實(shí)現(xiàn)本發(fā)明的好友分組管理方法,有四個(gè)環(huán)節(jié)是必須的,一是好友分組順序的定制/調(diào)整;二是按照定制的順序排列好友分組;三是已定制好友分組順序的保存;四是好友分組序號(hào)的維持。其中,第一個(gè)環(huán)節(jié)是關(guān)鍵,因?yàn)橐谶@個(gè)環(huán)節(jié)使好友分組與一個(gè)獨(dú)一無(wú)二的排列順序號(hào)形成關(guān)聯(lián),這種關(guān)聯(lián)是通過(guò)分組結(jié)構(gòu)數(shù)組實(shí)現(xiàn)的,以及對(duì)這種關(guān)聯(lián)的直接而直觀的調(diào)整,直接而直觀的調(diào)整是通過(guò)現(xiàn)成的列表控件函數(shù)實(shí)現(xiàn)的;第二個(gè)環(huán)節(jié)利用在第一環(huán)節(jié)形成的關(guān)聯(lián)實(shí)現(xiàn)好友分組按照定制順序排列;第三個(gè)環(huán)節(jié)是在第一個(gè)環(huán)節(jié)的基礎(chǔ)上通過(guò)服務(wù)器和客戶(hù)端的交互完成的;第四個(gè)環(huán)節(jié)是要保證在任何時(shí)候,用戶(hù)得到的好友分組的排列順序是最新的,因此每個(gè)對(duì)分組排列順序的改變都應(yīng)該送存IM服務(wù)器并在每次調(diào)用時(shí)檢查其序號(hào)。四個(gè)環(huán)節(jié)的一個(gè)核心是為每個(gè)好友分組規(guī)定一個(gè)排列順序的屬性即好友分組序列號(hào),該好友分組序列號(hào)作為可通過(guò)API函數(shù)操控的數(shù)據(jù)結(jié)構(gòu),可以利用現(xiàn)成的API函數(shù)實(shí)現(xiàn)其圖1所示的顯示及操作,此處的操作包括通過(guò)鼠標(biāo)或按鍵移動(dòng)光亮條、點(diǎn)擊“添加”、“刪除”、“隱藏”“上移”、“下移”、“確定”、“取消”等。換言之,由于每個(gè)好友分組的序列號(hào)與其排列位置是一一對(duì)應(yīng)的,用戶(hù)通過(guò)改變分組的位置實(shí)現(xiàn)改變分組的序列號(hào),而當(dāng)改變分組的序列號(hào)時(shí),其排列順序也改變了。
圖2、3、4、5分別對(duì)定制好友分組順序、保存已定制好友分組順序、更新已定制好友分組順序和根據(jù)已定制好友分組順序進(jìn)行繪制等方面給出了流程圖。
如上述,本發(fā)明的核心是為好友分組增加一個(gè)可操控的稱(chēng)為分組序列號(hào)的決定分組排列順序的屬性,為啟動(dòng)好友分組的個(gè)性化定制,用戶(hù)應(yīng)該通過(guò)系統(tǒng)設(shè)置,確認(rèn)其希望對(duì)分組排列進(jìn)行個(gè)性化設(shè)置,圖2給出了定制好友分組順序部分的流程,好友分組順序的定制是這樣形成的;在框201,啟動(dòng)好友分組順序的定制,在框202中,利用IM軟件中本地存儲(chǔ)模塊,從本地存儲(chǔ)系統(tǒng)中好友聯(lián)系人結(jié)構(gòu)化存儲(chǔ)中,開(kāi)始遍歷好友分組的目錄結(jié)構(gòu),在遍歷過(guò)程中,獲取文件存儲(chǔ)系統(tǒng)中好友分組并添加到新建立的好友分組鏈表結(jié)構(gòu)中如框203,鏈表結(jié)構(gòu)中的每個(gè)元素至少包括分組的關(guān)鍵字Key以及分組名稱(chēng);在框204中,遍歷已經(jīng)建立的好友分組鏈表結(jié)構(gòu),提取出分組的名稱(chēng),利用Windows列表控件裝載API函數(shù),分別把鏈表中的元素(分組關(guān)鍵字和分組名稱(chēng))添加到如圖1所示的列表控件之中;同時(shí)利用資源裝載API在對(duì)應(yīng)的分組中裝載不同的圖標(biāo)ICON,顯示在相應(yīng)的分組,圖1所示的列表控件是系統(tǒng)中現(xiàn)成的一種對(duì)象數(shù)據(jù)結(jié)構(gòu);在框205中,建立分組關(guān)系數(shù)據(jù)結(jié)構(gòu)體,其中包括好友分組Key、分組名稱(chēng)以及分組序列號(hào),響應(yīng)用戶(hù)的鼠標(biāo)和/或鍵盤(pán)操作,檢測(cè)用戶(hù)點(diǎn)擊的按鈕,如果系統(tǒng)獲取用戶(hù)點(diǎn)擊上下控制按鈕,則利用Windows列表控件排序API以及刷新窗口顯示函數(shù)顯示好友分組到合適的排列位置;其中,確定分組序列號(hào)的初始值為遍歷到該分組的次序(也可以是該好友分組的訪問(wèn)頻率的排序或該好友分組內(nèi)含好友聯(lián)系人個(gè)數(shù)的排序或該好友分組名稱(chēng)的字母排序或其它預(yù)先被動(dòng)配置的排序)。本發(fā)明是在被動(dòng)的排序基礎(chǔ)上,提供的人為的主觀的無(wú)理由無(wú)邏輯的排序定制。
在框206中,系統(tǒng)檢測(cè)到用戶(hù)鼠標(biāo)點(diǎn)擊了確定后,則利用Windows控件API函數(shù),根據(jù)列表控件中的列表對(duì)象元素ITEM,順序遍歷列表對(duì)象數(shù)組,分別把列表對(duì)象Item填入對(duì)應(yīng)的分組關(guān)鍵字Key、分組名稱(chēng)以及分組序列號(hào)到分組結(jié)構(gòu)中。在框207中,把框206中形成的分組關(guān)系數(shù)據(jù)結(jié)構(gòu)體添加到建立的新的分組結(jié)構(gòu)數(shù)組中;在框208中根據(jù)分組序列號(hào)確定面板上的好友分組排列順序。
例如,對(duì)三個(gè)分組“同學(xué)會(huì)”、“老鄉(xiāng)”和“客戶(hù)”情況下,如果各個(gè)分組初始序列號(hào),根據(jù)遍歷順序確定為1、2、3,初始排列的結(jié)果是自上而下為“同學(xué)會(huì)”、“老鄉(xiāng)”和“客戶(hù)”,用戶(hù)通過(guò)光標(biāo)點(diǎn)擊“老鄉(xiāng)”及“上移”按鈕,使得“同學(xué)會(huì)”、“老鄉(xiāng)”和“客戶(hù)”的序列號(hào)改變?yōu)?、1、3,相應(yīng)的排列順序自上而下為“老鄉(xiāng)”、“同學(xué)會(huì)”和“客戶(hù)”。
用戶(hù)完成分組順序的定制之后,為了使該定制順序在下一次使用時(shí)仍然生效,應(yīng)對(duì)其進(jìn)行保存。在框301中,將分組結(jié)構(gòu)數(shù)組發(fā)送到IM服務(wù)器這樣進(jìn)行將用戶(hù)號(hào)碼與新建立的新的分組結(jié)構(gòu)數(shù)組進(jìn)行組合,放置到數(shù)據(jù)包中,并對(duì)數(shù)據(jù)包進(jìn)行加密處理,并按照約定的協(xié)議格式,在數(shù)據(jù)包上添加相應(yīng)的包頭與包尾,利用約定的套接字進(jìn)行數(shù)據(jù)包的發(fā)送,將數(shù)據(jù)包發(fā)送到IM服務(wù)器,此處,用戶(hù)號(hào)碼也可以是用戶(hù)的其它標(biāo)識(shí)ID如用戶(hù)名等,只要是可以唯一標(biāo)識(shí)用戶(hù)的數(shù)據(jù)即可,將分組數(shù)據(jù)發(fā)送到IM服務(wù)器的好處在于,無(wú)論用戶(hù)在哪里進(jìn)行IM通信,其在本地存儲(chǔ)的數(shù)據(jù)依然可以通過(guò)服務(wù)器保存和取得;在框302中,IM服務(wù)器在約定的套接字端口異步等待接收數(shù)據(jù)包,對(duì)數(shù)據(jù)包進(jìn)行解密與解析操作,確認(rèn)是有效的數(shù)據(jù)包后,解析出數(shù)據(jù)包中的用戶(hù)號(hào)碼,以及相應(yīng)的新的分組關(guān)系列表數(shù)組,IM服務(wù)器對(duì)來(lái)自客戶(hù)端的信息進(jìn)行處理和保存,只是增加了分組新屬性序列號(hào)及其關(guān)系的存儲(chǔ)而已;
在框303中,對(duì)序號(hào)進(jìn)行更新是這樣進(jìn)行的服務(wù)器根據(jù)用戶(hù)號(hào)碼,查詢(xún)用戶(hù)信息數(shù)據(jù)庫(kù),定位相關(guān)的分組信息,分別寫(xiě)入用戶(hù)號(hào)碼對(duì)應(yīng)的分組關(guān)系列表中,其字段分別是分組Key、分組名稱(chēng)以及分組對(duì)應(yīng)的序列號(hào),并同時(shí)更新分組信息對(duì)應(yīng)的序號(hào),即用戶(hù)修改了一次分組,則增加該序號(hào),用于用戶(hù)再次登錄,判斷是否重新獲取分組信息的標(biāo)志,此處的序號(hào)相當(dāng)于分組數(shù)據(jù)的序號(hào),每次修改分組都以遞增方式改變序號(hào),這樣為保持好友分組數(shù)據(jù)的一致性,要及時(shí)更新和保存;在框304中,將分組信息及序號(hào)發(fā)送到客戶(hù)端這樣實(shí)現(xiàn)服務(wù)器保存成功后,組合分組信息對(duì)應(yīng)的序號(hào)到數(shù)據(jù)包中,利用約定套接字返回成功保存分組信息的數(shù)據(jù)包發(fā)送給用戶(hù)客戶(hù)端;在框305中,用戶(hù)客戶(hù)端接收到數(shù)據(jù)包后,進(jìn)行解密與解析后,確認(rèn)是有效數(shù)據(jù)包后,提取出服務(wù)器返回的序號(hào);在框306中,用戶(hù)客戶(hù)端利用本地文件存儲(chǔ)模塊,把用戶(hù)修改好友分組順序時(shí)建立的新的分組結(jié)構(gòu)數(shù)組保存到本地文件中,同時(shí)把分組對(duì)應(yīng)的從服務(wù)器返回的序號(hào)也保存在文件系統(tǒng)中,用于再次登錄時(shí)候檢查序號(hào)是否一致(詳見(jiàn)圖4流程);為實(shí)現(xiàn)好友分組序號(hào)的維持,本發(fā)明方法在更新好友分組順序時(shí)采取了序號(hào)比對(duì)來(lái)發(fā)現(xiàn)好友分組定制是否是最新的。
參考圖4,在框401用戶(hù)再次登錄IM軟件客戶(hù)端,在框402,客戶(hù)端IM軟件發(fā)送獲取分組對(duì)應(yīng)序號(hào)的協(xié)議命令到IM服務(wù)器;在框403,IM服務(wù)器根據(jù)用戶(hù)號(hào)碼返回對(duì)應(yīng)分組序號(hào),在框404,將用戶(hù)客戶(hù)端根據(jù)服務(wù)器返回的序號(hào),與本地存儲(chǔ)的序號(hào)進(jìn)行比較,如果服務(wù)器序號(hào)大于本地存儲(chǔ)的序號(hào),則說(shuō)明用戶(hù)在其他地方曾經(jīng)修改過(guò)分組關(guān)系,則在框405,用戶(hù)客戶(hù)端發(fā)送獲取到的最新分組結(jié)構(gòu)數(shù)組的協(xié)議命令到服務(wù)器,在框406,服務(wù)器返回對(duì)應(yīng)用戶(hù)號(hào)碼的所有分組信息以及最新的序號(hào),在框407,用戶(hù)客戶(hù)端接收到服務(wù)器對(duì)應(yīng)的數(shù)據(jù)包后,加以保存;接著在框408調(diào)用分組功能模塊,如果在框404中判斷出服務(wù)器序號(hào)不大于本地存儲(chǔ)的序號(hào),說(shuō)明當(dāng)前版本是最新的,直接到框408調(diào)用分組排列順序功能模塊。
參考圖5,說(shuō)明本發(fā)明方法實(shí)現(xiàn)調(diào)用好友分組排列順序的流程,在框501中,用戶(hù)客戶(hù)端調(diào)用面板管理模塊觸發(fā)重新裝載面板的操作,在框502中,利用本地文件存儲(chǔ)模塊遍歷所有的好友分組,在框503中,建立面板的目錄目錄對(duì)象鏈表數(shù)據(jù)結(jié)構(gòu),目錄對(duì)象包括了分組的關(guān)鍵字Key,分組的名稱(chēng)以及分組對(duì)應(yīng)的序列號(hào);在框504中,對(duì)已經(jīng)建立的面板目錄目錄對(duì)象鏈表,以分組序列號(hào)作為排序關(guān)鍵字進(jìn)行排序操作,得到按照分組序列號(hào)進(jìn)行排序后的面板目錄目錄對(duì)象鏈表,在框505,以遍歷所有的好友聯(lián)系人,根據(jù)好友聯(lián)系人的信息中的屬性Flag字段,確認(rèn)好友所在的分組;在框506,根據(jù)面板的矩形區(qū)域,以及排序后的面板目錄目錄對(duì)象鏈表,確定各個(gè)目錄對(duì)象所在面板的位置信息,同時(shí)確定該目錄對(duì)象下好友Item對(duì)象的位置信息,對(duì)面板發(fā)起繪制操作,最終表現(xiàn)為與用戶(hù)設(shè)置一致的面板的排列形式。
從上述結(jié)合附圖對(duì)各個(gè)步驟的描述來(lái)看,本發(fā)明對(duì)好友分組提出的新的管理方法,可以在好友分組被動(dòng)配置的基礎(chǔ)上實(shí)現(xiàn)用戶(hù)端對(duì)好友分組排列順序隨心所欲的個(gè)性定制,其核心是可操控的序列號(hào)添加到好友分組數(shù)據(jù)結(jié)構(gòu)中,另一方面,通過(guò)設(shè)置序號(hào)作為好友分組數(shù)據(jù)的序號(hào)并保存在本地和服務(wù)器上,可保障任何時(shí)候的好友分組數(shù)據(jù)都是最新的。
本發(fā)明保護(hù)范圍不限于說(shuō)明書(shū)的內(nèi)容,上述實(shí)施例僅僅是示例性的而不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限制,本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明的教導(dǎo)對(duì)本發(fā)明實(shí)施例的變形,均屬于本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種好友分組管理方法,其特征在于,包括以下步驟S1)建立包括分組關(guān)鍵字、分組名稱(chēng)及分組序列號(hào)的分組關(guān)系數(shù)據(jù)結(jié)構(gòu)體,響應(yīng)用戶(hù)對(duì)好友分組列表控件的操控;S2)利用Windows控件API函數(shù)根據(jù)列表控件中的列表對(duì)象元素,順序遍歷列表對(duì)象數(shù)組,將其數(shù)值添加到分組關(guān)系數(shù)據(jù)結(jié)構(gòu)體,并把結(jié)構(gòu)體添加到新建立的分組結(jié)構(gòu)數(shù)組中;S3)利用本地文件存儲(chǔ)模塊遍歷所有的好友分組,建立面板的目錄對(duì)象鏈表數(shù)據(jù)結(jié)構(gòu),利用分組對(duì)應(yīng)的序列號(hào)進(jìn)行排序,確認(rèn)好友所處在的分組;S4)根據(jù)面板的矩形區(qū)域以及面板目錄對(duì)象鏈表確定各個(gè)目錄對(duì)象所在面板的位置信息,并確定該目錄對(duì)象下好友分組對(duì)象的位置信息,對(duì)主面板發(fā)起繪制操作,最終表現(xiàn)為與用戶(hù)設(shè)置一致的主面板的排列形式。
2.根據(jù)權(quán)利要求1所述的一種好友分組管理方法,其特征在于,所述分組關(guān)系數(shù)據(jù)結(jié)構(gòu)體中的分組序列號(hào)的初始值為遍歷所述列表對(duì)象數(shù)組時(shí)到達(dá)該分組的次序。
3.根據(jù)權(quán)利要求2所述的一種好友分組管理方法,其特征在于,還包括用于將最后確定的分組結(jié)構(gòu)數(shù)組傳輸并保存在即時(shí)通信服務(wù)器的以下步驟S51)將用戶(hù)標(biāo)識(shí)與對(duì)應(yīng)的分組結(jié)構(gòu)數(shù)組,組成數(shù)據(jù)包并進(jìn)行加密處理,發(fā)送到服務(wù)器;S52)服務(wù)器對(duì)數(shù)據(jù)包進(jìn)行解密與解析操作,從中提取出用戶(hù)標(biāo)識(shí)以及對(duì)應(yīng)的分組結(jié)構(gòu)數(shù)組;S53)服務(wù)器根據(jù)用戶(hù)標(biāo)識(shí),查詢(xún)用戶(hù)信息數(shù)據(jù)庫(kù),定位相關(guān)的分組信息,分別寫(xiě)入用戶(hù)標(biāo)識(shí)對(duì)應(yīng)的分組關(guān)系列表中,其字段分別是分組關(guān)鍵字、分組名稱(chēng)及分組序列號(hào)。
4.根據(jù)權(quán)利要求1所述的一種好友分組管理方法,其特征在于,在本地存儲(chǔ)器和服務(wù)器為每個(gè)用戶(hù)標(biāo)識(shí)保存一個(gè)與其分組信息對(duì)應(yīng)的序號(hào),用于記錄該用戶(hù)的好友分組的修改序號(hào)。
5.根據(jù)權(quán)利要求3或4所述的一種好友分組管理方法,其特征在于,在所述步驟S53)后,包括以下步驟S54)服務(wù)器遞增用戶(hù)標(biāo)識(shí)的分組信息對(duì)應(yīng)的序號(hào);S55)服務(wù)器保存用戶(hù)標(biāo)識(shí)的分組信息及對(duì)應(yīng)的序號(hào);S56)將分組信息及對(duì)應(yīng)的序號(hào)通過(guò)數(shù)據(jù)包發(fā)送到客戶(hù)端;S57)客戶(hù)端接收到數(shù)據(jù)包后,保存服務(wù)器返回的序號(hào)及對(duì)應(yīng)的分組結(jié)構(gòu)數(shù)組。
6.根據(jù)權(quán)利要求5所述的一種好友分組管理方法,其特征在于,用戶(hù)客戶(hù)端利用本地文件存儲(chǔ)模塊將新的分組結(jié)構(gòu)數(shù)組和分組信息對(duì)應(yīng)的序號(hào)保存到本地文件。
7.根據(jù)權(quán)利要求5所述的一種好友分組管理方法,其特征在于,用戶(hù)在客戶(hù)端登錄時(shí),執(zhí)行以下步驟S61)客戶(hù)端發(fā)送請(qǐng)求獲取序號(hào)的協(xié)議命令到服務(wù)器;S62)服務(wù)器根據(jù)用戶(hù)標(biāo)識(shí)返回與分組信息對(duì)應(yīng)的序號(hào),客戶(hù)端將服務(wù)器返回的序號(hào)與本地存儲(chǔ)的序號(hào)進(jìn)行比較;S63)如果服務(wù)器序號(hào)大于本地存儲(chǔ)的序號(hào),則客戶(hù)端發(fā)送獲取最新分組結(jié)構(gòu)數(shù)組的協(xié)議命令到服務(wù)器,服務(wù)器返回對(duì)應(yīng)用戶(hù)標(biāo)識(shí)的所有分組信息以及最新的序號(hào),客戶(hù)端收到該數(shù)據(jù)包后加以保存;如果服務(wù)器序號(hào)等于本地存儲(chǔ)的序號(hào),則無(wú)需更新。
8.根據(jù)權(quán)利要求1-3中任何一項(xiàng)所述的一種好友分組管理方法,其特征在于,所述步驟S4)包括以下步驟S41)用戶(hù)客戶(hù)端調(diào)用面板管理模塊觸發(fā)重新裝載面板的操作,利用本地文件存儲(chǔ)模塊遍歷所有的分組結(jié)構(gòu)數(shù)組,建立面板目錄對(duì)象鏈表數(shù)據(jù)結(jié)構(gòu)使目錄對(duì)象包括分組關(guān)鍵字和分組名稱(chēng)以及分組序列號(hào);S42)對(duì)步驟S41)中建立的面板目錄對(duì)象鏈表進(jìn)行排序操作,利用每個(gè)分組的序列號(hào)作為排序標(biāo)準(zhǔn),得到按照分組序列號(hào)進(jìn)行排序后的面板目錄目錄對(duì)象鏈表,同時(shí)遍歷所有的好友聯(lián)系人,根據(jù)好友聯(lián)系人的信息中的屬性Flag字段,確認(rèn)好友所在的分組;S43)根據(jù)面板的矩形區(qū)域,以及步驟S42)中排序后的面板目錄對(duì)象鏈表,確定各個(gè)目錄對(duì)象以及該目錄對(duì)象下好友分組對(duì)象所在面板位置信息,對(duì)面板發(fā)起繪制操作使之表現(xiàn)為與用戶(hù)設(shè)置排列形式一致。
9.根據(jù)權(quán)利要求1所述的一種好友分組管理方法,其特征在于,在所述步驟S1)中,確定所述分組結(jié)構(gòu)中的分組序列號(hào)的初始值為分組的訪問(wèn)頻率的排序或內(nèi)含好友個(gè)數(shù)的排序或分組名稱(chēng)的首字母排序。
全文摘要
本發(fā)明涉及一種即時(shí)通信系統(tǒng)中的好友分組的管理方法,包括以下步驟建立好友分組鏈表結(jié)構(gòu);遍歷好友分組鏈表結(jié)構(gòu),將鏈表中元素添加到列表控件中;建立分組關(guān)系數(shù)據(jù)結(jié)構(gòu)體,響應(yīng)用戶(hù)對(duì)列表控件的操控,確定分組的排列位置之后,順序遍歷列表對(duì)象數(shù)組,分別把列表對(duì)象元素的分組關(guān)鍵字、分組名稱(chēng)和分組序列號(hào)的數(shù)值填入到對(duì)應(yīng)分組關(guān)系數(shù)據(jù)結(jié)構(gòu)體中,并將分組關(guān)系數(shù)據(jù)結(jié)構(gòu)體添加到分組結(jié)構(gòu)數(shù)組中;根據(jù)分組序列號(hào)確定分組在面板上的排列順序。本發(fā)明支持用戶(hù)定制好友分組排序及對(duì)其隨心所欲的修改,而且這種修改是直接且直觀的,從而滿(mǎn)足用戶(hù)主觀上的對(duì)分組個(gè)性化的要求,此外,由于采用方便的操作界面,讓用戶(hù)進(jìn)行非常簡(jiǎn)便的操作就可以完成定制。
文檔編號(hào)G06F17/30GK101071478SQ200610061189
公開(kāi)日2007年11月14日 申請(qǐng)日期2006年6月15日 優(yōu)先權(quán)日2006年6月15日
發(fā)明者李斌 申請(qǐng)人:騰訊科技(深圳)有限公司