專利名稱:即時通訊中建立聯(lián)系人列表、管理聯(lián)系人信息的方法
技術領域:
本發(fā)明涉及即時通訊領域,特別涉及一種在即時通訊中建立聯(lián)系人列表、管理聯(lián)系人信息的方法。
背景技術:
目前,即時通訊(IM,Instant Message)軟件作為使用頻率最高的網(wǎng)絡軟件,已成為最流行的互聯(lián)網(wǎng)通訊工具。聊天一直是網(wǎng)民們上網(wǎng)的主要活動之一,而即時通訊軟件以其快速、即時及廉價等特點逐漸成為人們日常溝通和工作交流的一種重要手段,網(wǎng)上聊天的主要工具也從初期的聊天室、論壇變?yōu)橐灾T如QQ、MSN等即時通訊軟件為主。
目前在即時通訊軟件中存在一個必要的元素,就是聯(lián)系人列表,用于存儲和管理聯(lián)系人的信息。聯(lián)系人列表為保存即時通訊軟件中聯(lián)系人的基本數(shù)據(jù)結構,將所有聯(lián)系人分配到某個邏輯分組內進行分類保存。聯(lián)系人列表的存在使人們在使用軟件時,可以方便看到自己的聯(lián)系人的基本信息,如聯(lián)系人的標識符(ID)、聯(lián)系人的昵稱、聯(lián)系人自定義的描述信息、聯(lián)系人的狀態(tài)信息等。
現(xiàn)有技術中,客戶端登錄驗證通過后,每次從服務端獲取全部聯(lián)系人列表,并且重新獲取所有聯(lián)系人的所有信息??蛻舳诉x定查詢某個聯(lián)系人信息后,直接向服務端發(fā)起請求,服務端返回相應信息,客戶端進行展現(xiàn)??蛻舳诉x定編輯某個聯(lián)系人后,先從服務端查詢該聯(lián)系人的相應信息,客戶端進行展現(xiàn),用戶進行編輯,然后保存。
由于網(wǎng)絡數(shù)據(jù)傳輸需要時間,現(xiàn)有技術為了保證通訊的即時性,使得聯(lián)系人列表只能含有較少的基本信息,信息簡單,可擴展性差,往往造成聯(lián)系人信息不充分,無法全面描述聯(lián)系人實際情況。隨著即時通訊技術的發(fā)展需要聯(lián)系人列表包含有更多的信息,用戶進行即時通訊時需要聯(lián)系人更多的、復雜的信息?,F(xiàn)有技術中由于聯(lián)系人列表的信息較少,所以并不存在數(shù)據(jù)處理的緩慢的問題。但是如果僅僅在現(xiàn)有技術的聯(lián)系人列表中加入大量聯(lián)系人詳細信息,由于需要某個聯(lián)系人的信息時,客戶端需要獲取所有聯(lián)系人的所有信息,則會嚴重影響聯(lián)系人信息查詢、即時通訊、客戶端連接等數(shù)據(jù)傳輸時的速度,進而影響通訊的即時性;上述矛盾是現(xiàn)有技術無法解決的,迫切需要本領域技術人員研究解決。
發(fā)明內容
本發(fā)明所要解決的技術問題是提供一種即時通訊中建立聯(lián)系人列表的方法,擴展聯(lián)系人列表,使聯(lián)系人列表中能夠非常方便的獲取大量聯(lián)系人的詳細信息,并且適用于即時通訊中。
本發(fā)明的另一個目的在于,提供一種即時通訊中管理聯(lián)系人信息的方法,可以提高即時通訊客戶端下載、查詢、編輯海量聯(lián)系人信息的速度和效率,從而保證通訊的即時性不受影響。
為解決上述技術問題,本發(fā)明提供了一種即時通訊中建立聯(lián)系人列表、管理聯(lián)系人信息的方法,具體包括一種即時通訊中建立聯(lián)系人列表的方法,包括獲取客戶端存儲的地址薄中的聯(lián)系人信息;將所述聯(lián)系人信息中的基本信息存儲在基本信息表中,所述基本信息包括聯(lián)系人標識信息;將所述聯(lián)系人列表信息中的詳細信息存儲在詳細信息表中;兩表之間通過聯(lián)系人標識信息進行關聯(lián);將所述基本信息表、詳細信息表存儲至客戶端以及即時通訊服務器,所述基本信息表、詳細信息表共同構成聯(lián)系人列表。
所述即時通訊中建立聯(lián)系人列表的方法,所述基本信息在表中為一條記錄,所述詳細信息在表中為兩條或多條記錄,所述兩條或多條記錄通過聯(lián)系人標識信息與聯(lián)系人基本信息相關聯(lián)。
所述即時通訊中建立聯(lián)系人列表的方法,還包括,存儲所述聯(lián)系人列表的時間戳值。
所述即時通訊中建立聯(lián)系人列表的方法,還包括,如果所述聯(lián)系人列表的基本信息發(fā)生改變,則服務端對應的時間戳值隨之改變。
所述即時通訊中建立聯(lián)系人列表的方法,還包括,每條聯(lián)系人詳細信息的記錄保存一個對應的修改標識。
所述即時通訊中建立聯(lián)系人列表的方法,還包括,如果修改了聯(lián)系人詳細信息的記錄,則其對應的修改標識隨之改變。
一種即時通訊中管理聯(lián)系人信息的方法,即時通訊服務端存儲有聯(lián)系人的基本信息、詳細信息及對應的時間戳值;即時通訊客戶端存儲有聯(lián)系人的基本信息、詳細信息及對應的時間戳值;基本信息、詳細信息之間通過聯(lián)系人的標識信息相關聯(lián);客戶端將本地當前聯(lián)系人列表的時間戳值發(fā)送至服務端;如果本地聯(lián)系人列表的時間戳值小于服務端對應的聯(lián)系人列表的時間戳值,則客戶端向服務端同步聯(lián)系人的基本信息,并根據(jù)獲取的聯(lián)系人的基本信息構造、顯示即時通訊中的聯(lián)系人列表;否則,根據(jù)客戶端本地存儲的聯(lián)系人的基本信息構造、顯示即時通訊中的聯(lián)系人列表。
所述即時通訊中管理聯(lián)系人信息的方法,客戶端和服務端存儲的每條聯(lián)系人詳細信息的記錄保存一個對應的修改標識,還包括客戶端發(fā)送針對聯(lián)系人的查詢請求;客戶端獲取服務端該聯(lián)系人的修改標識,與本地相應的聯(lián)系人修改標識進行比較;如果不一樣,則從服務端獲取該聯(lián)系人的聯(lián)系人列表信息以及相應的修改標識,保存在本地,并顯示;如果一樣,則顯示客戶端存儲的聯(lián)系人列表信息。
所述即時通訊中管理聯(lián)系人信息的方法,客戶端和服務端存儲的每條聯(lián)系人詳細信息的記錄保存一個對應的修改標識,還包括客戶端獲取服務端所有聯(lián)系人記錄對應的修改標識,與本地相應的聯(lián)系人修改標識進行比較;如果不一樣,則標識該聯(lián)系人信息狀態(tài)為舊;否則標識該聯(lián)系人信息狀態(tài)為新;當需要查看聯(lián)系人的詳細信息時,判斷對應的信息狀態(tài);如果為舊,則從服務端獲取該聯(lián)系人詳細信息到本地,保存最新修改標識、設聯(lián)系人信息狀態(tài)為新,并顯示;如果為新,則顯示客戶端本地存儲的聯(lián)系人的詳細信息。
所述即時通訊中管理聯(lián)系人信息的方法,還包括對顯示的聯(lián)系人列表信息進行編輯修改,并設定新的修改標識;將修改后的聯(lián)系人列表信息及相應的修改標識保存至客戶端和服務端。
所述即時通訊中管理聯(lián)系人信息的方法,還包括按需存儲,修改某個聯(lián)系人的某一項詳細信息后,只更新服務端對應字段的信息。
與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點本發(fā)明可以采用將地址簿中已經(jīng)保存的聯(lián)系人的大量的詳細信息直接自動讀取、保存至即時通訊服務器以及客戶端中去,可以避免用戶的手工輸入,提高海量的聯(lián)系人的詳細信息的獲取效率。
本發(fā)明采用獨特的兩表或者多表對應的方式,將聯(lián)系人的基本信息和詳細信息分開存儲,并根據(jù)聯(lián)系人標識相關聯(lián)??梢蕴岣呒磿r通訊客戶端登錄、下載信息的速度,客戶端可以先下載聯(lián)系人的基本信息,需要某個聯(lián)系人的詳細信息的時候再單獨下載該聯(lián)系人的詳細信息即可,可以避免同時下載大量信息導致的即時性的下降。優(yōu)選的,還可以將聯(lián)系人的基本信息和詳細信息以一對多的關系,通過聯(lián)系人唯一標識進行多表關聯(lián),盡量提高在表間數(shù)據(jù)操作的效率。
本發(fā)明在聯(lián)系人的信息存儲中還使用了時間戳技術,當增加了聯(lián)系人或者修改了聯(lián)系人的基本信息等更改情況發(fā)生后,會更改聯(lián)系人列表的時間戳標識。使得客戶端在獲取最新的聯(lián)系人基本信息時,可以先通過比較本地存儲的聯(lián)系人基本信息的時間戳與服務器端的聯(lián)系人基本信息的時間戳,如果前者小于后者,才通過網(wǎng)絡下載;否則,說明服務端和客戶端存儲的信息相同,可以直接采用本地存儲的信息,從而節(jié)約網(wǎng)絡數(shù)據(jù)傳輸資源,提高即時通訊的即時性。
本發(fā)明在聯(lián)系人的信息存儲中還使用了修改標識技術,每一條聯(lián)系人的詳細信息的記錄對應一個修改標識,用來標識該條記錄的修改的新舊程度。當客戶端需要獲取最新的某個聯(lián)系人的詳細信息時,可以先通過比較本地存儲的聯(lián)系人詳細信息記錄的修改標識與服務器端的聯(lián)系人詳細信息記錄的修改標識,如果二者相同,才通過網(wǎng)絡下載;否則,說明服務端和客戶端存儲的信息相同,可以直接采用本地存儲的信息,從而可以進一步節(jié)約網(wǎng)絡數(shù)據(jù)傳輸資源,提高即時通訊的即時性。
按需存儲,客戶端修改某個聯(lián)系人的某一項詳細信息后,通過按需存儲的接口,只會更新服務端對應字段的信息,而避免了現(xiàn)有技術中保存該聯(lián)系人對應的所有信息;如果沒有修改,則服務端也不需要更新,避免了現(xiàn)有技術不管是否修改過、是否有變化都將提交服務端保存的情況,減少了數(shù)據(jù)傳輸。通過上述按需存儲的方式,能提高后臺處理效率,減小數(shù)據(jù)庫壓力。
總之,本發(fā)明形成了具有聯(lián)系人詳細信息的聯(lián)系人列表,大大豐富了聯(lián)系人數(shù)據(jù)結構的內容,使在即時通訊軟件中能夠全面管理聯(lián)系人信息,同時保證登錄和聯(lián)系人信息處理的高效。
圖1是本發(fā)明所述建立聯(lián)系人列表的流程框圖;圖2是本發(fā)明所述獲取地址薄中聯(lián)系人信息的步驟流程框圖;圖3是本發(fā)明所述管理聯(lián)系人信息的流程框圖;圖4是本發(fā)明所述登錄方式的實施流程框圖;圖5是本發(fā)明所述查詢編輯流程框圖。
具體實施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明。
本發(fā)明所述即時通訊中建立聯(lián)系人列表、管理聯(lián)系人信息的方法,核心流程在于即時通訊軟件獲取客戶端的地址薄信息,將包括基本信息、詳細信息的聯(lián)系人列表分別保存至客戶端和服務端;比較客戶端和服務端對應時間戳,如果本地客戶端的聯(lián)系人列表的時間戳值小于服務端對應的聯(lián)系人列表的時間戳值,則客戶端向服務端同步基本信息表,并根據(jù)獲取的聯(lián)系人的基本信息構造、顯示即時通訊中的聯(lián)系人列表;否則,則采用本地保存的基本信息表構造聯(lián)系人列表;在查詢編輯時,通過比較客戶端與服務端的聯(lián)系人修改標識,如果相同,則顯示客戶端已存在的聯(lián)系人列表信息;如果不同,則從服務端獲取聯(lián)系人信息和修改標識保存在本地,并顯示。
本發(fā)明所述建立聯(lián)系人列表、管理聯(lián)系人信息的方法實施需要的硬件環(huán)境為安裝有即時通訊客戶端程序的客戶端計算機、安裝有即時通訊服務端程序的服務器,二者之間可以通過網(wǎng)絡傳輸數(shù)據(jù),在客戶端計算機和服務器中都可以存儲有聯(lián)系人信息。即時通訊一般由客戶端計算機發(fā)起,通過服務器的驗證后,在客戶端計算機上構建聯(lián)系人列表,之后就可以根據(jù)聯(lián)系人信息進行即時通訊了。
參照圖1,通過框圖描述了本發(fā)明所述建立聯(lián)系人列表的流程。
步驟101,獲取地址薄中的聯(lián)系人信息。
一般可以通過自動讀取或者導入的方式,根據(jù)地址薄本身設定的一些接口或者規(guī)則,獲取地址薄中的聯(lián)系人信息。詳細的步驟流程可以參見圖2所示,圖2為步驟101的一種實現(xiàn)的優(yōu)選實施流程。當然,本領域技術人員也可以采用其他熟知的技術實現(xiàn),本發(fā)明對此并不加以限定。所述地址簿可以是客戶端存儲的,也可以從網(wǎng)絡獲取等等,都是可行的。
步驟102,將所述聯(lián)系人信息中的基本信息存儲在基本信息表中,所述基本信息包括聯(lián)系人標識信息;將所述聯(lián)系人列表信息中的詳細信息存儲在詳細信息表中;兩表之間通過聯(lián)系人標識信息進行關聯(lián);步驟103,將所述基本信息表、詳細信息表存儲至客戶端以及即時通訊服務器,所述基本信息表、詳細信息表共同構成聯(lián)系人列表。
所述聯(lián)系人的基本信息,為簡要的短信息字段,可以包括標識符、昵稱、自定義描述信息、狀態(tài)信息、所在分組信息等;現(xiàn)有技術即時通訊中的聯(lián)系人信息一般也都包括這些。本發(fā)明所述聯(lián)系人的詳細信息,可以包括公司信息、個人信息、備注等其它內容。公司信息,如行業(yè)、公司、電話、傳真...;個人信息,如家庭地址、電話、手機、郵件地址...。
根據(jù)所述步驟102,服務端數(shù)據(jù)庫的數(shù)據(jù)表采用一個聯(lián)系人的基本信息表與該聯(lián)系人的多個詳細信息表的多表關聯(lián)方式,通過聯(lián)系人唯一標識作為關聯(lián)鍵值,按需存儲、獲取聯(lián)系人詳細信息。以保證在海量數(shù)據(jù)的情況下,高速的處理聯(lián)系人信息,提高即時通訊軟件的使用效率。
聯(lián)系人信息統(tǒng)一存儲在即時通訊服務端,一般情況,一個成功的商業(yè)化即時通訊軟件用戶群非常巨大,其聯(lián)系人記錄是百萬級以上的。存儲方式是采用大型數(shù)據(jù)庫如Informix、Sybase、SQL Server、Oracle、DB2等,將基本信息放在一個數(shù)據(jù)表(窄表)中,詳細信息放在另一個表中(寬表),通過聯(lián)系人ID進行關聯(lián)。一般采用窄表來存放基本信息,由于表窄,因此可以使排序和建立索引更為迅速。
寬表是指字段數(shù)目較多的表,故可以用來存儲詳細信息。但是由于寬表中的字段數(shù)較多,故每一條記錄的尺寸都很大,所以這也容易導致采集、更新時間變長,優(yōu)化的辦法是分析目標系統(tǒng),采用按需存儲方式,即指客戶端修改某個聯(lián)系人的某一項詳細信息后,通過接口,只更新服務端對應字段的信息。通過這種方式,能提高后臺處理效率,減小數(shù)據(jù)庫壓力,還可以節(jié)約目標系統(tǒng)的硬盤。
在聯(lián)系人詳細信息不多的情況下,可以存儲一條聯(lián)系人的基本信息記錄和一條詳細信息記錄即可。優(yōu)選的,當聯(lián)系人的詳細信息較多的情況下,所述基本信息在表中為一條記錄,所述詳細信息在表中為兩條或多條記錄,所述兩條或多條記錄通過聯(lián)系人標識信息與聯(lián)系人基本信息相關聯(lián)。
每個聯(lián)系人基本信息是唯一記錄,詳細信息可以是一條或多條,這樣一對多的關系,可以根據(jù)業(yè)務情況不斷擴展聯(lián)系人的詳細信息。將聯(lián)系人基本信息和詳細信息以一對多的關系,通過聯(lián)系人唯一標識(ID)進行多表關聯(lián),按需存儲、獲取聯(lián)系人詳細信息。以保證在海量數(shù)據(jù)的情況下,高速的處理聯(lián)系人信息,提高即時通訊軟件的使用效率。
優(yōu)選的,在建立客戶端和服務端的聯(lián)系人信息的時候,還可以存儲所述聯(lián)系人列表的時間戳值。所述時間戳值可以為真實的時間點,也可以是相對的時間標識,能夠標識客戶端和服務端的聯(lián)系人信息建立的相對時間即可。
如果所述聯(lián)系人列表的基本信息發(fā)生改變,則服務端對應的時間戳值隨之改變。當然,對該信息進行改變的客戶端也同時存儲改變后的時間戳值。由于優(yōu)選的,本發(fā)明客戶端登錄服務器時,先根據(jù)基本信息構造、顯示聯(lián)系人列表即可,所以同樣優(yōu)選的,所述時間戳值隨著基本信息發(fā)生改變而改變。
優(yōu)選的,每條聯(lián)系人詳細信息的記錄保存一個對應的修改標識。上述時間戳技術標識了聯(lián)系人的基本信息的更新情況,所述修改標識用于記錄聯(lián)系人的詳細信息的修改情況。如果修改了聯(lián)系人詳細信息的記錄,則其對應的修改標識隨之改變。所述修改標識可以采用數(shù)字,用以表示修改次數(shù),例如,第一次建立時修改標識默認為0,每修改一次,修改標識加1即可。所述修改標識也可以采用時間等標識信息,能夠記錄聯(lián)系人的詳細信息的修改情況即可,本發(fā)明對此并不加以限定。
參見圖2,為獲取客戶端存儲的地址薄中的聯(lián)系人信息的步驟流程圖。所示獲取聯(lián)系人信息過程,包括步驟201登錄系統(tǒng),開始導入客戶端已存在的地址薄;步驟202、判斷導入類型,導入時需先判斷導入地址薄的類型,如Outlook、*.wab、*.csv等,如果不合法,則進入步驟2 03;如果是合法的類型則進入步驟204,可以進行導入;所述合法即指符合預定規(guī)則,所述預定規(guī)則可以根據(jù)希望讀取的地址薄的類型確定即可。
步驟203、不合法,拒絕導入,結束操作;步驟204、設定是否允許創(chuàng)建同名的聯(lián)系人;步驟205、讀取地址薄源信息,生成聯(lián)系人信息內存列表及相應詳細信息;步驟206、根據(jù)導入的聯(lián)系人列表,生成相應聯(lián)系人地址薄信息的數(shù)據(jù)包,調用相應交易命令,保存到服務端數(shù)據(jù)表中;步驟207、緩存導入的聯(lián)系人列表及相應地址薄信息到本地;步驟208導入操作正常完成;其中在執(zhí)行步驟204~207過程中如果出現(xiàn)異常,進入異常處理,執(zhí)行步驟209導入失敗,重新操作。
參照圖3通過框圖描述本發(fā)明所述管理聯(lián)系人信息的流程。
步驟301,即時通訊服務端存儲有聯(lián)系人的基本信息、詳細信息及對應的時間戳值;即時通訊客戶端存儲有聯(lián)系人的基本信息、詳細信息及對應的時間戳值;基本信息、詳細信息之間通過聯(lián)系人的標識信息相關聯(lián)。
所述的聯(lián)系人基本信息、詳細信息及對應的時間戳都分別保存在客戶端和服務端。保存在服務端的基本信息和詳細信息為數(shù)據(jù)庫中的數(shù)據(jù)表,采用一個聯(lián)系人基本信息表與多個聯(lián)系人詳細信息表的多表關聯(lián)方式,通過聯(lián)系人唯一標識作為關聯(lián)鍵值;保存在客戶端的基本信息為一條記錄,詳細信息在數(shù)據(jù)量少時可以為一條記錄,在數(shù)據(jù)量多時可以為多條記錄,所述多條記錄通過聯(lián)系人標識信息與聯(lián)系人基本信息記錄相關聯(lián)。同時在服務端和客戶端存儲所述聯(lián)系人列表的時間戳值,標識客戶端和服務端的聯(lián)系人列表信息建立的相對時間,時間戳值隨基本信息改變而改變。這種存儲方式大大豐富了聯(lián)系人列表信息,優(yōu)化了服務器數(shù)據(jù)存儲結構,并且能快速的處理聯(lián)系人信息,使得即時通訊的效率得到提升。
本發(fā)明的時間戳簡單的說就是,數(shù)據(jù)記錄的創(chuàng)建、修改、訪問時間的數(shù)值,由服務端統(tǒng)一生成和管理,所述時間戳的數(shù)值是遞增的,客戶端每次對聯(lián)系人基本信息的創(chuàng)建、修改、刪除等操作都會引起時間戳數(shù)值的增加,當用戶在不同的客戶端對聯(lián)系人列表進行操作時,就會產(chǎn)生客戶端與服務端聯(lián)系人列表對應的時間戳值不同的情況,此時如同步驟303中所述,表示聯(lián)系人列表發(fā)生變化,需要同步聯(lián)系人列表,并用服務端最新的時間戳值更新客戶端對應的時間戳值。
步驟302,客戶端將本地當前聯(lián)系人列表的時間戳值發(fā)送至服務端。
步驟303,如果本地聯(lián)系人列表的時間戳值小于服務端對應的聯(lián)系人列表的時間戳值,表示聯(lián)系人列表發(fā)生變化,則客戶端向服務端同步聯(lián)系人的基本信息,并根據(jù)獲取的聯(lián)系人的基本信息構造、顯示即時通訊中的聯(lián)系人列表。
步驟304,否則表明聯(lián)系人列表沒有發(fā)生變化,根據(jù)客戶端本地存儲的聯(lián)系人的基本信息構造、顯示即時通訊中的聯(lián)系人列表。
根據(jù)所述步驟302~304,本發(fā)明在聯(lián)系人列表發(fā)生變化時,才從服務端獲取聯(lián)系人基本人基本信息,不直接獲取聯(lián)系人詳細信息,用聯(lián)系人基本信息,構造聯(lián)系人列表,與傳統(tǒng)技術中一次性全部獲取服務器上的聯(lián)系人列表,并在客戶端構造的方法相比,本發(fā)明提高了構造聯(lián)系人列表的效率,提高了登錄速度,使即時通訊的即時性得到提高。
優(yōu)選的,在客戶端和服務端存儲的每條聯(lián)系人詳細信息的記錄,同時保存一個對應的修改標識??蛻舳税l(fā)送針對一聯(lián)系人的查詢請求,服務端根據(jù)查詢請求,向客戶端發(fā)送保存在服務端的該聯(lián)系人的相應修改標識,客戶端將收到的修改標識與本地相應的聯(lián)系人修改標識進行比較,如果不一樣,則從服務端獲取該聯(lián)系人的聯(lián)系人列表信息以及相應的修改標識,保存在本地,并顯示,如果一樣,則顯示客戶端存儲的聯(lián)系人列表信息。
所述客戶端和服務端分別保存每條聯(lián)系人詳細信息對應的修改標識,使用修改標識記錄聯(lián)系人的詳細信息的修改情況,如果聯(lián)系人的詳細信息做出了修改,則對應的修改標識隨之改變。通過修改標識的使用,使得客戶按需從服務端獲取聯(lián)系人詳細信息,直接使用本地未改變的聯(lián)系人詳細信息,而不必無論本地保存的聯(lián)系人詳細信息是否變化都從服務器下載,減輕了服務器數(shù)據(jù)處理的壓力,同時也減少了網(wǎng)絡數(shù)據(jù)傳輸量,提高了即時通訊的查詢效率。
優(yōu)選的,客戶端獲取服務端所有聯(lián)系人記錄對應的修改標識,與本地相應的聯(lián)系人修改標識進行比較,如果不一樣,則標識該聯(lián)系人信息狀態(tài)為舊;否則標識該聯(lián)系人信息狀態(tài)為新;當需要查看聯(lián)系人的詳細信息時,判斷對應的信息狀態(tài);如果為舊,則從服務端獲取該聯(lián)系人詳細信息到本地,保存最新修改標識、設聯(lián)系人信息狀態(tài)為新,并顯示;如果為新,則顯示客戶端本地存儲的聯(lián)系人的詳細信息。
聯(lián)系人信息狀態(tài)的標識,可以理解為對聯(lián)系人記錄的修改標識的另一種應用,修改標識的數(shù)據(jù)類型可以是整型、邏輯型等,如所述聯(lián)系人信息狀態(tài)標識是個邏輯值,只有0或1兩種狀態(tài),只用來記錄聯(lián)系人信息狀態(tài)的新舊,為0時為舊狀態(tài),為1時是新狀態(tài);在查詢時通過對聯(lián)系人信息狀態(tài)標識的判斷,決定是否從服務端獲取聯(lián)系人詳細信息,并重新設置所述聯(lián)系人信息狀態(tài)標識的值。目的也是為了減輕服務器壓力,減少了網(wǎng)絡數(shù)據(jù)傳輸量,提高即時通訊的查詢效率。
在步驟302~304中得到所需的聯(lián)系人詳細信息,對顯示的聯(lián)系人列表信息進行編輯修改,并設定新的修改標識;按需存儲,修改某個聯(lián)系人的某一項詳細信息后,只更新服務端對應字段的信息。
圖4為步驟302~304中的登錄方式的一種優(yōu)選實施流程,當然,本領域技術人員也可以采用其他熟知的技術實現(xiàn),本發(fā)明對此并不加以限定。登錄前準備工作包括生成登錄用戶的聯(lián)系人列表的時間戳,用時間戳來標識登錄用戶的聯(lián)系人列表;當本地的聯(lián)系人列表發(fā)生變化時,如添加或刪除了聯(lián)系人,則更新本地和服務端時間戳的值;客戶端獲取聯(lián)系人列表的基本信息,包括ID、昵稱、描述等,將取得的基本信息緩存至客戶端,同時緩存當前聯(lián)系人列表的時間戳值;其中在登錄中并不獲取聯(lián)系人的詳細信息;并且這里聯(lián)系人列表的基本信息,可以來自客戶端或服務端,取決于步驟401中的比較結果。
具體登錄流程包括步驟401將本地聯(lián)系人列表的時間戳值發(fā)送到服務端,與服務端保存的聯(lián)系人列表相應的時間戳進行比較,如果客戶端時間戳與服務端的時間戳不一致,則說明服務端聯(lián)系人列表已經(jīng)發(fā)生變化,執(zhí)行步驟403;否則說明聯(lián)系人列表沒有變化,執(zhí)行步驟402;步驟402客戶端使用本地緩存的聯(lián)系人基本信息構造客戶端的聯(lián)系人列表,執(zhí)行步驟405;步驟403客戶端重新到服務端獲取聯(lián)系人列表及對應時間戳,并將獲取列表和時間戳緩存至本地;步驟404客戶端使用本地保存的聯(lián)系人基本信息構造客戶端聯(lián)系人列表;步驟405登錄完成,聯(lián)系人列表刷新在線狀態(tài),在線狀態(tài)信息表明了聯(lián)系人是否在線的狀態(tài),由即時通訊服務器返回,也可自定義狀態(tài),如打電話中、外出等;圖5為步驟302~304中的查詢和編輯方式的一種優(yōu)選實施流程,當然,本領域技術人員也可以采用其他熟知的技術實現(xiàn),本發(fā)明對此不加以限定。開始前需要對每個聯(lián)系人記錄在服務端保存一個對應的修改標識,當客戶端修改提交后,變化修改標識的值,保存這個聯(lián)系人修改的信息;客戶端緩存聯(lián)系人列表的所有聯(lián)系人信息,同時緩存每個聯(lián)系人的修改標識。
參照圖5所示,查詢編輯流程具體包括步驟501客戶端獲取服務端該聯(lián)系人的修改標識,與本地相應聯(lián)系人的修改標識進行比較,如果不一致,表明聯(lián)系人信息已經(jīng)改變,執(zhí)行步驟503;如果一致,聯(lián)系人信息沒有變化,則執(zhí)行步驟502;步驟502使用客戶端緩存的聯(lián)系人列表信息,直接構造聯(lián)系人列表,同時保存服務端該聯(lián)系人最新的修改標識至本地,執(zhí)行步驟505;
步驟503客戶端獲取服務端聯(lián)系人列表信息及最新的修改標識,保存到本地;步驟504客戶端使用從服務端獲取的聯(lián)系人列表信息構造本地的客戶端聯(lián)系人列表;步驟505收到查看聯(lián)系人詳細信息請求;步驟506根據(jù)修改標識產(chǎn)生的聯(lián)系人信息狀態(tài)判斷某個聯(lián)系人詳細信息是否已與服務端同步;如果不同步,表明是舊狀態(tài),執(zhí)行步驟507;如果與服務端同步,表明是新狀態(tài),執(zhí)行步驟508;步驟507重新到服務端獲取聯(lián)系人詳細信息,修改標識,并從服務端獲取該聯(lián)系人詳細信息到本地緩存,并保存最新修改標識,設聯(lián)系人信息狀態(tài)為新;步驟508查詢到聯(lián)系人最新詳細信息后進行顯示;步驟509編輯聯(lián)系人詳細信息,并保存到服務端,生成新的修改標識緩存在客戶端。
以上對本發(fā)明所提供的一種即時通訊軟件中聯(lián)系人列表與地址簿結合及操作方法,進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
1.一種即時通訊中建立聯(lián)系人列表的方法,其特征在于,包括獲取客戶端存儲的地址薄中的聯(lián)系人信息;將所述聯(lián)系人信息中的基本信息存儲在基本信息表中,所述基本信息包括聯(lián)系人標識信息;將所述聯(lián)系人列表信息中的詳細信息存儲在詳細信息表中;兩表之間通過聯(lián)系人標識信息進行關聯(lián);將所述基本信息表、詳細信息表存儲至客戶端以及即時通訊服務器,所述基本信息表、詳細信息表共同構成聯(lián)系人列表。
2.根據(jù)權利要求1所述即時通訊中建立聯(lián)系人列表的方法,其特征在于,所述基本信息在表中為一條記錄,所述詳細信息在表中為兩條或多條記錄,所述兩條或多條記錄通過聯(lián)系人標識信息與聯(lián)系人基本信息相關聯(lián)。
3.根據(jù)權利要求1所述即時通訊中建立聯(lián)系人列表的方法,其特征在于,還包括,存儲所述聯(lián)系人列表的時間戳值。
4.根據(jù)權利要求3所述即時通訊中建立聯(lián)系人列表的方法,其特征在于,還包括,如果所述聯(lián)系人列表的基本信息發(fā)生改變,則服務端對應的時間戳值隨之改變。
5.根據(jù)權利要求1所述即時通訊中建立聯(lián)系人列表的方法,其特征在于,還包括,每條聯(lián)系人詳細信息的記錄保存一個對應的修改標識。
6.根據(jù)權利要求5所述即時通訊中建立聯(lián)系人列表的方法,其特征在于,還包括,如果修改了聯(lián)系人詳細信息的記錄,則其對應的修改標識隨之改變。
7.一種即時通訊中管理聯(lián)系人信息的方法,其特征在于,即時通訊服務端存儲有聯(lián)系人的基本信息、詳細信息及對應的時間戳值;即時通訊客戶端存儲有聯(lián)系人的基本信息、詳細信息及對應的時間戳值;基本信息、詳細信息之間通過聯(lián)系人的標識信息相關聯(lián);客戶端將本地當前聯(lián)系人列表的時間戳值發(fā)送至服務端;如果本地聯(lián)系人列表的時間戳值小于服務端對應的聯(lián)系人列表的時間戳值,則客戶端向服務端同步聯(lián)系人的基本信息,并根據(jù)獲取的聯(lián)系人的基本信息構造、顯示即時通訊中的聯(lián)系人列表;否則,根據(jù)客戶端本地存儲的聯(lián)系人的基本信息構造、顯示即時通訊中的聯(lián)系人列表。
8.根據(jù)權利要求7所述即時通訊中管理聯(lián)系人信息的方法,其特征在于,客戶端和服務端存儲的每條聯(lián)系人詳細信息的記錄保存一個對應的修改標識,還包括客戶端發(fā)送針對聯(lián)系人的查詢請求;客戶端獲取服務端該聯(lián)系人的修改標識,與本地相應的聯(lián)系人修改標識進行比較;如果不一樣,則從服務端獲取該聯(lián)系人的詳細信息以及相應的修改標識,保存在本地,并顯示;如果一樣,則顯示客戶端存儲的聯(lián)系人列表信息。
9.根據(jù)權利要求7所述即時通訊中管理聯(lián)系人信息的方法,其特征在于,客戶端和服務端存儲的每條聯(lián)系人詳細信息的記錄保存一個對應的修改標識,還包括客戶端獲取服務端所有聯(lián)系人記錄對應的修改標識,與本地相應的聯(lián)系人修改標識進行比較;如果不一樣,則標識該聯(lián)系人信息狀態(tài)為舊;否則標識該聯(lián)系人信息狀態(tài)為新;當需要查看聯(lián)系人的詳細信息時,判斷對應的信息狀態(tài);如果為舊,則從服務端獲取該聯(lián)系人詳細信息到本地,保存最新修改標識、設聯(lián)系人信息狀態(tài)為新,并顯示;如果為新,則顯示客戶端本地存儲的聯(lián)系人的詳細信息。
10.根據(jù)權利要求8或9所述即時通訊中管理聯(lián)系人信息的方法,其特征在于,還包括對顯示的聯(lián)系人列表信息進行編輯修改,并設定新的修改標識;將修改后的聯(lián)系人列表信息及相應的修改標識保存至客戶端和服務端。
11.根據(jù)權利要求10所述即時通訊中管理聯(lián)系人信息的方法,其特征在于,還包括按需存儲,修改某個聯(lián)系人的某一項詳細信息后,只更新服務端對應字段的信息。
全文摘要
本發(fā)明公開了一種即時通訊中建立聯(lián)系人列表、管理聯(lián)系人信息的方法,在本發(fā)明所提供的方法中,獲取客戶端存儲的地址薄中的聯(lián)系人信息;將所述聯(lián)系人信息中的基本信息存儲在基本信息表中,所述基本信息包括聯(lián)系人標識信息;將所述聯(lián)系人列表信息中的詳細信息存儲在詳細信息表中;兩表之間通過聯(lián)系人標識信息進行關聯(lián);將所述基本信息表、詳細信息表存儲至客戶端以及即時通訊服務器,所述基本信息表、詳細信息表共同構成聯(lián)系人列表。本發(fā)明擴展了聯(lián)系人列表中信息,提高了即時通訊客戶端登錄、下載信息的速度,避免同時下載大量信息導致的即時性的下降。
文檔編號H04L12/28GK101083631SQ20061008331
公開日2007年12月5日 申請日期2006年5月31日 優(yōu)先權日2006年5月31日
發(fā)明者吳策, 朱寶金, 陳海 申請人:阿里巴巴公司