一種實現查找聯繫人的方法和系統的製作方法
2023-06-28 16:52:11 1
專利名稱:一種實現查找聯繫人的方法和系統的製作方法
技術領域:
本發明涉及網絡即時通信技術領域,特別是涉及一種實現查找聯繫人的方法和系統。
背景技術:
近年來,網絡即時通信系統已被大部分網絡用戶所使用,因此即時通信系統在網絡應用中的地位越來越重要。在即時通信系統中,每個用戶的聯繫人越來越多,伺服器的壓力越來越大,實現實時查找聯繫人並降低伺服器的壓力已經迫在眉睫。現有的即時通信系統中,查找聯繫人的方案包括如下步驟:1、用戶在客戶端輸入查找聯繫人的關鍵詞;2、客戶端將關鍵詞發送到伺服器端進行查找;3、伺服器端將查找到的結果返回給客戶端。現有的這種聯繫人查找方式,在每次查找聯繫人時都請求伺服器來完成,不僅會佔用用戶的帶寬資源,增加伺服器的壓力,而且由於每次查找都需要客戶端請求伺服器,而客戶端和伺服器之間的交互時延較長,因此無法進行實時查找。可見,現有方案並沒有解決實現實時查找聯繫人並降低伺服器的壓力的問題。
發明內容
本發明提供了一種實現聯繫人查找的方法和系統,能實現實時查找聯繫人並降低了伺服器的壓力。為達到上述目的,本發明的技術方案是這樣實現的:本發明公開了一種實現查找聯繫人的方法,該方法包括:在用戶登錄客戶端時,客戶端向伺服器發送獲取該用戶的聯繫人信息的請求;伺服器將該用戶的聯繫人信息返回給客戶端;客戶端將伺服器返回的聯繫人信息進行緩存;當用戶在客戶端輸入查找聯繫人的關鍵詞時,客戶端在所緩存的聯繫人信息中進行查找,並將查找結果輸出給用戶。本發明還公開了一種實現查找聯繫人的系統,該系統包括:客戶端和伺服器,其中:客戶端,用於在用戶登錄客戶端時,向伺服器發送獲取該用戶的聯繫人信息的請求;用於將伺服器返回的聯繫人信息進行緩存;用於在接收到用戶輸入的查找聯繫人的關鍵詞時,在所緩存的聯繫人信息中進行查找,並將查找結果輸出給用戶;伺服器,用於在接收到客戶端發送的獲取用戶的聯繫人信息的請求時,將該用戶的聯繫人信息返回給客戶端。由上述可見,本發明這種在用戶登錄客戶端時,客戶端向伺服器發送獲取該用戶的聯繫人信息的請求,伺服器將該用戶的聯繫人信息返回給客戶端,客戶端將伺服器返回的聯繫人信息進行緩存,當用戶在客戶端輸入查找聯繫人的關鍵詞時,客戶端在所緩存的聯繫人信息中進行查找,並將查找結果輸出給用戶的技術方案,實現了在客戶端進行聯繫人的查找,進而實現了實時查找聯繫人並降低了伺服器的壓力,減少網絡傳輸帶寬。
圖1是本發明實施例中一種實現查找聯繫人的方法的流程圖;圖2是本發明實施例中的實現在客戶端查找聯繫人的方法的詳細流程圖;圖3是本發明實施例中的一種實現查找聯繫人的系統的組成示意圖。
具體實施例方式為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本發明進行詳細描述。圖1是本發明實施例中一種實現查找聯繫人的方法的流程圖。如圖1所示,該方法包括:101,在用戶登錄客戶端時,客戶端向伺服器發送獲取該用戶的聯繫人信息的請求。102,伺服器將該用戶的聯繫人信息返回給客戶端。103,客戶端將伺服器返回的聯繫人信息進行緩存。本步驟中,客戶端將伺服器返回的聯繫人信息進行緩存後,還可以進一步地維護所緩存的聯繫人信息與伺服器維護的該用戶的聯繫人信息保持一致,這在後續實施例中進行說明。104,當用戶在客戶端輸入查找聯繫人的關鍵詞時,客戶端在所緩存的聯繫人信息中進行查找,並將查找結果輸出給用戶。圖1所示的技術方案,實現了在客戶端進行聯繫人的查找,在進行查找時,不再需要客戶端與伺服器進行交互,只需要在本地緩存中進行查找,查找速度快,能實現實時查找聯繫人,並且不需要再請求伺服器,因此降低了伺服器的壓力,減少了網絡傳輸帶寬。為了使圖1所示的方法更加清楚,下面給出一個具體的例子進行說明。圖2是本發明實施例中的實現在客戶端查找聯繫人的方法的詳細流程圖。如圖2所示,這裡以用戶A登錄客戶端為例進行說明,包括以下步驟:201,在用戶A登錄客戶端時,客戶端向伺服器發送獲取用戶A的聯繫人信息的請求。202,伺服器向客戶端返回用戶A的聯繫人信息。本步驟中,伺服器將該用戶A的聯繫人信息進行JSON格式化後返回給客戶端;或者,伺服器將該用戶A的聯繫人信息進行XML格式化後返回給客戶端。客戶端JavaScript解析經格式化的聯繫人信息,緩存解析後的聯繫人信息。在具體實現中,可以採用XML格式化,客戶端JavaScript (客戶端程序的實現語言)對XML格式後的數據進行解析;優選的,採用JSON格式化方式,該方式格式化後的數據量較小,能有效降低網絡流量,並且客戶端JavaScript也能更快速解析經JSON格式化後的數據。
203,客戶端緩存用戶A的聯繫人信息。本步驟中,客戶端將伺服器返回的每個聯繫人信息通過其唯一標識進行緩存。所述唯一標識可以為聯繫人ID。204,客戶端緩存用戶A的聯繫人信息後,向伺服器發起訂閱用戶A的聯繫人信息變更的請求。本步驟中,客戶端發起訂閱用戶A的聯繫人信息變更的請求,正是為了維護所緩存的用戶A的聯繫人信息與伺服器維護的用戶A的聯繫人信息保持一致。205,伺服器阻塞所述訂閱用戶A的聯繫人信息變更的請求,具體為:伺服器接收到所述訂閱用戶A的聯繫人信息變更的請求後,如果在預定時間內該用戶的聯繫人信息發生變更,則向客戶端返回變更後的聯繫人信息,如果在該預定時間內該用戶的聯繫人信息沒有發生變更,則向客戶端反饋聯繫人信息無變更的消息;當客戶端收到變更後的聯繫人信息後,根據變更後的聯繫人信息更新本地緩存的聯繫人信息,並再次向伺服器發送訂閱該用戶的聯繫人信息變更的請求;用該變更後的聯繫人信息更新所緩存的相應信息的過程中,可以根據聯繫人的唯一標識找到緩存中的待更新的聯繫人信息;當客戶端接收到聯繫人信息無變更的消息後,再次向伺服器發送訂閱該用戶的聯繫人信息變更的請求;更具體來說:伺服器接收到所述訂閱用戶A的聯繫人信息變更的請求後,啟動一個定時器,在該定時器超時前如果用戶A的聯繫人信息發生了變更,則伺服器立即向客戶端返回變更後的聯繫人信息,本次訂閱結束;或者,直到該定時器超時,用戶A的聯繫人信息都沒有發生變更,則伺服器向客戶端發送用戶A的聯繫人信息無變更的消息,本次訂閱結束。因此客戶端無論收到變更後的聯繫人信息還是收到聯繫人信息無變更的消息,都需要再次發起訂閱。206,當用戶A在客戶端輸入查找聯繫人的關鍵詞時,客戶端在所緩存的用戶A的聯繫人信息中進行查找,並將查找結果輸出給用戶A。207,當用戶A退出登錄時,客戶端刪除所緩存的用戶A的聯繫人信息。作為一種實施方式,本發明實施例可以在用戶退出登錄時,在登錄客戶端上刪除所緩存的該用戶的聯繫人信息,以便提高用戶信息安全性。在本發明的其他實施例中,在上述的步驟207中,也可以採用如下方式:所述用戶退出登錄時,判斷本次登錄客戶端是否為合法客戶端,否則刪除所緩存的所述用戶的聯繫人信息,是則不刪除所緩存的所述用戶的聯繫人信息,在該客戶端上保存所述用戶的聯繫人信息,並在所述用戶下次登錄時,從伺服器獲取所述用戶兩次登錄間隔時間內發生變化的聯繫人信息。這種方法可以進一步減少傳輸帶寬。具體實現中,判斷本次登錄客戶端是否為合法客戶端的實現方式可以有很多中,比如一種具體實現方式可以是:判斷所述用戶在過去的一段預設長度時間內在該客戶端上的登錄次數是否超過預設值,如果沒有超過則認為本次登錄客戶端為非法客戶端,如果有超過則認為本次登錄客戶端為合法客戶端。圖3是本發明實施例中的一種實現查找聯繫人的系統的組成示意圖。如圖3所示,該系統包括:客戶端301和伺服器302,其中:
客戶端301,用於在用戶登錄客戶端時,向伺服器302發送獲取該用戶的聯繫人信息的請求;用於將伺服器302返回的聯繫人信息進行緩存;用於在接收到用戶輸入的查找聯繫人的關鍵詞時,在所緩存的聯繫人信息中進行查找,並將查找結果輸出給用戶;伺服器302,用於在接收到客戶端301發送的獲取用戶的聯繫人信息的請求時,將該用戶的聯繫人信息返回給客戶端301。在圖3所示的系統中,所述伺服器302,用於將該用戶的聯繫人信息進行JSON格式化後返回給客戶端301 ;或者,用於將該用戶的聯繫人信息進行XML格式化後返回給客戶端301。客戶端301解析經格式化的聯繫人信息,緩存解析後的聯繫人信息在圖3所示的系統中,所述客戶端301,用於將伺服器302返回的每個聯繫人信息通過其唯一標識進行緩存。在圖3所示的系統中,所述客戶端301,將伺服器302返回的聯繫人信息進行緩存後,還用於維護所緩存的聯繫人信息與伺服器維護的該用戶的聯繫人信息保持一致。具體為:所述客戶端301,用於將伺服器302返回的聯繫人信息進行緩存後,向伺服器302發送訂閱該用戶的聯繫人信息變更的請求;用於在收到伺服器302發送的變更後的聯繫人信息後,用該變更後的聯繫人信息更新所緩存的相應信息,並再次向伺服器302發送訂閱該用戶的聯繫人信息變更的請求;用於在收到伺服器發送的聯繫人信息無變更的消息後,再次向伺服器發送訂閱該用戶的聯繫人信息變更的請求;所述伺服器302,用於在接收到客戶端301發送的訂閱該用戶的聯繫人信息變更的請求後,如果在預定時間內該用戶的聯繫人信息發生變更,則向客戶端301返回變更後的聯繫人信息,如果在該預定時間內該用戶的聯繫人信息沒有發生變更,則向客戶端301反饋聯繫人信息無變更的消息。在圖3所示的系統中,所述客戶端301,進一步用於在所述用戶退出登錄時,刪除所緩存的所述用戶的聯繫人信息;或者,用於在所述用戶退出登錄時,本次登錄客戶端是否為合法客戶端,否則刪除所緩存的所述用戶的聯繫人信息,是則不刪除所緩存的所述用戶的聯繫人信息,在該客戶端上保存所述用戶的聯繫人信息,並在所述用戶下次登錄時,從伺服器獲取所述用戶兩次登錄間隔時間內發生變化的聯繫人信息。綜上所述,本發明這種在用戶登錄客戶端時,客戶端向伺服器發送獲取該用戶的聯繫人信息的請求,伺服器將該用戶的聯繫人信息返回給客戶端,客戶端將伺服器返回的聯繫人信息進行緩存,並維護所緩存的聯繫人信息與伺服器維護的該用戶的聯繫人信息保持一致,當用戶在客戶端輸入查找聯繫人的關鍵詞時,客戶端在所緩存的聯繫人信息中進行查找,並將查找結果輸出給用戶的技術方案,實現了在客戶端進行聯繫人的查找,進而實現了實時查找聯繫人並降低了伺服器的壓力,減小了傳輸帶寬。以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的範圍之內。
權利要求
1.一種實現查找聯繫人的方法,其特徵在於,該方法包括: 在用戶登錄客戶端時,客戶端向伺服器發送獲取該用戶的聯繫人信息的請求; 伺服器將該用戶的聯繫人信息返回給客戶端; 客戶端將伺服器返回的聯繫人信息進行緩存; 當用戶在客戶端輸入查找聯繫人的關鍵詞時,客戶端在所緩存的聯繫人信息中進行查找,並將查找結果輸出給用戶。
2.根據權利要求1所述的方法,其特徵在於,所述伺服器將該用戶的聯繫人信息返回給客戶端包括: 伺服器將該用戶的聯繫人信息進行JSON格式化後返回給客戶端; 或者, 伺服器將該用戶的聯繫人信息進行XML格式化後返回給客戶端; 所述客戶端將伺服器返回的聯繫人信息進行緩存包括:客戶端JavaScript解析經格式化的聯繫人信息,緩存解析後的聯繫人信息。
3.根據權利要求1所述的方法,其特徵在於,所述客戶端將伺服器返回的聯繫人信息進行緩存包括: 客戶端將伺服器返回的每個聯繫人信息通過其唯一標識進行緩存。
4.根據權利要求1所述的方法,其特徵在於,該方法在所述客戶端將伺服器返回的聯繫人信息進行 緩存後還包括:客戶端維護所緩存的聯繫人信息與伺服器維護的該用戶的聯繫人信息保持一致。
5.根據權利要求4所述的方法,其特徵在於,所述客戶端維護所緩存的聯繫人信息與伺服器維護的該用戶的聯繫人信息保持一致包括: 客戶端將伺服器返回的聯繫人信息進行緩存後,向伺服器發送訂閱該用戶的聯繫人信息變更的請求; 伺服器接收到所述訂閱該用戶的聯繫人信息變更的請求後,如果在預定時間內該用戶的聯繫人信息發生變更,則向客戶端返回變更後的聯繫人信息,如果在該預定時間內該用戶的聯繫人信息沒有發生變更,則向客戶端反饋聯繫人信息無變更的消息; 當客戶端收到變更後的聯繫人信息後,根據變更後的聯繫人信息更新本地緩存的聯繫人信息,並再次向伺服器發送訂閱該用戶的聯繫人信息變更的請求; 當客戶端接收到聯繫人信息無變更的消息後,再次向伺服器發送訂閱該用戶的聯繫人信息變更的請求。
6.根據權利要求1至5中任一項所述的方法,其特徵在於,該方法還包括: 當所述用戶退出登錄時,客戶端刪除所緩存的所述用戶的聯繫人信息; 或者, 所述用戶退出登錄時,判斷本次登錄客戶端是否為合法客戶端,否則刪除所緩存的所述用戶的聯繫人信息,是則保存所述用戶的聯繫人信息,並在所述用戶下次登錄時,從伺服器獲取所述用戶兩次登錄間隔時間內發生變化的聯繫人信息。
7.一種實現查找聯繫人的系統,其特徵在於,該系統包括:客戶端和伺服器,其中: 客戶端,用於在用戶登錄客戶端時,向伺服器發送獲取該用戶的聯繫人信息的請求;用於將伺服器返回的聯繫人信息進行緩存;用於在接收到用戶輸入的查找聯繫人的關鍵詞時,在所緩存的聯繫人信息中進行查找,並將查找結果輸出給用戶; 伺服器,用於在接收到客戶端發送的獲取用戶的聯繫人信息的請求時,將該用戶的聯繫人信息返回給客戶端。
8.根據權利要求7所述的系統,其特徵在於, 所述客戶端,將伺服器返回的聯繫人信息進行緩存後,還用於維護所緩存的聯繫人信息與伺服器維護的該用戶的聯繫人信息保持一致。
9.根據權利要求8所述的系統,其特徵在於, 所述客戶端,用於將伺服器返回的聯繫人信息進行緩存並後,向伺服器發送訂閱該用戶的聯繫人信息變更的請求;用於在收到伺服器發送的變更後的聯繫人信息後,用該變更後的聯繫人信息更新所緩存的相應信息,並再次向伺服器發送訂閱該用戶的聯繫人信息變更的請求;用於在收到伺服器發送的聯繫人信息無變更的消息後,再次向伺服器發送訂閱該用戶的聯繫人信息變更的請求; 所述伺服器,用於在接收到客戶端發送的訂閱該用戶的聯繫人信息變更的請求後,如果在預定時間內該用戶的聯繫人信息發生變更,則向客戶端返回變更後的聯繫人信息,如果在該預定時間內該用戶的聯繫人信息沒有發生變更,則向客戶端反饋聯繫人信息無變更的消息。
10.根據權利要求7至9中任一項所述的系統,其特徵在於, 所述客戶端,進一步用於在所述用戶退出登錄時,刪除所緩存的所述用戶的聯繫人信息;或者,用於在所述用戶退出登錄時,判斷本次登錄客戶端是否為合法客戶端,否則刪除所緩存的所述用戶的聯繫人信息,是則保存所述用戶的聯繫人信息,並在所述用戶下次登錄時,從伺服器獲取所 述用戶兩次登錄間隔時間內發生變化的聯繫人信息。
全文摘要
本發明公開了一種實現查找聯繫人的方法和系統。所述方法包括在用戶登錄客戶端時,客戶端向伺服器發送獲取該用戶的聯繫人信息的請求,伺服器將該用戶的聯繫人信息返回給客戶端,客戶端將伺服器返回的聯繫人信息進行緩存,當用戶在客戶端輸入查找聯繫人的關鍵詞時,客戶端在所緩存的聯繫人信息中進行查找,並將查找結果輸出給用戶。本發明的技術方案,實現了在客戶端進行聯繫人的查找,進而實現了實時查找聯繫人並降低了伺服器的壓力。
文檔編號H04L12/58GK103095551SQ20111034031
公開日2013年5月8日 申請日期2011年11月1日 優先權日2011年11月1日
發明者許道松, 何承雄 申請人:北京神州泰嶽軟體股份有限公司