專利名稱:一種實現(xiàn)在線用戶搜索的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)通信領域,特別是指 一 種實現(xiàn)在線用戶搜索的方法和系統(tǒng)。
背景技術:
開放移動聯(lián)盟(Open Mobile Alliance, OMA )在可擴展標記語言(Extensible Markup Language, XML)文檔管理月良務器(XML Document Management Servers, XDMS)的規(guī)范中提出了搜索代理(Search Proxy, SP ),不過只是簡 單給出了定義和功能。規(guī)范中提出SP主要是完成文檔搜索的功能,在實現(xiàn)上 需要完成以下功能接收XML文檔管理客戶端(XML Document Management Client, XDMC)的搜索請求;對搜索請求進行解析,并向本地或其他網(wǎng)絡的 XDMS轉(zhuǎn)發(fā)搜索請求;收集所有XDMS的應答消息,經(jīng)過組合過濾后發(fā)送給 XDMC。 XDMC可為用戶設備(UserEquipment, UE )等具有XML文檔管理 功能的客戶端。
SP不僅能夠?qū)崿F(xiàn)對文檔的搜索,還能夠?qū)崿F(xiàn)對在線用戶的搜索,下面對 現(xiàn)有的幾種對在線用戶進行搜索的實現(xiàn)方案進行描述。 方案一
圖1A示出了現(xiàn)有實現(xiàn)在線用戶搜索方案一的系統(tǒng)結構示意圖,如圖1A 所示,利用現(xiàn)有OMA體系實現(xiàn)在線用戶的搜索,實現(xiàn)在線用戶搜索的系統(tǒng)包 括XDMC、聚合代理(Aggregation Proxy, AP)、 SP、 XDMS和呈現(xiàn)服務器 (Presence Server, PS),其中,XDMC用于向AP發(fā)送在線用戶搜索請求,接 收AP轉(zhuǎn)發(fā)的在線用戶搜索結果;AP用于向SP轉(zhuǎn)發(fā)收到的在線用戶搜索請求, 并向XDMC轉(zhuǎn)發(fā)來自SP的在線用戶搜索結果;SP用于請求XDMS搜索符合
條件的用戶,并向PS訂閱用戶的狀態(tài)信息,確定符合搜索條件的在線用戶, 生成在線用戶搜索結果并發(fā)送給AP; XDMS用于存儲用戶的基本信息,并根 據(jù)存儲的用戶的基本信息向SP提供符合搜索條件的搜索結果;PS用于根據(jù)SP 的訂閱向SP提供用戶是否在線的狀態(tài)信息。用戶的基本信息可為用戶的URI、 昵稱、年齡、國家、地區(qū)、性別,等等。其他特定XDMS是指能夠?qū)崿F(xiàn)一些 特殊功能的XDMS。
圖IB示出了現(xiàn)有實現(xiàn)在線用戶搜索方案一的流程圖,如圖IB所示,方 案一中實現(xiàn)在線用戶搜索的處理過程包括以下步驟
步驟101~步驟102: XDMC向AP發(fā)送在線用戶搜索請求(Search w池XDM & Online),該在線用戶搜索請求中攜帶有搜索條件,請求搜索符合搜索條件的 在線用戶。AP收到在線用戶搜索請求后,向SP轉(zhuǎn)發(fā)該在線用戶搜索請求。
步驟103 步驟104: SP收到在線用戶搜索請求后,向XDMS發(fā)送用戶搜 索請求(Search with XDM ),該用戶搜索請求中攜帶有搜索條件。XDMS收到 用戶搜索請求后,根據(jù)存儲的用戶的基本信息檢索符合搜索條件的用戶,然后 向SP返回用戶搜索結果消息(Search results ),用戶搜索結果消息中攜帶有符 合搜索條件的用戶的基本信息。
步驟105~步驟108: SP收到用戶搜索結果后,從用戶的基本信息中獲取 用戶的統(tǒng)一資源標識(Uniform Resource Identifier, URI),然后根據(jù)各用戶的 URI,依次向PS發(fā)送訂閱消息(Subscribe),每條訂閱消息中攜帶有一個用戶 的URI,以訂閱相應用戶是否在線的狀態(tài)信息。PS收到各訂閱消息后,向SP 返回通知消息(Notify),每條通知消息中攜帶有一個用戶的URI及該用戶的 狀態(tài)信息。
步驟109: SP完成對所有符合搜索條件的用戶的訂閱后,將符合搜索條件 的用戶與在線用戶這兩個結果相結合,確定符合搜索條件的在線用戶。
步驟110 步驟111: SP向AP返回在線用戶搜索結果(Search results), AP向XDMC轉(zhuǎn)發(fā)該在線用戶搜索結果,在線用戶搜索結果中攜帶有符合搜索 條件的用戶的基本信息,在線用戶搜索結果中可進一步攜帶有表明用戶在線的 狀態(tài)信息。 '
方案一中,雖然體系結構比較簡單,完全符合現(xiàn)有OMA體系的結構,所 有功能實體之間的接口都無須改變,但是,每個XDMC的在線用戶搜索請求 都需要XDMS檢索符合搜索條件的用戶、并到PS上去訂閱用戶的狀態(tài)信息、 SP對來自XDMS和PS的結果進行解析和組合這幾個過程,這樣,整個處理 過程非常耗時,使得在線用戶的搜索效率非常低,帶來^艮大的延遲,響應XDMC 的速度非常慢,嚴重影響用戶對業(yè)務的滿意度。
方案二
圖2A示出了現(xiàn)有實現(xiàn)在線用戶搜索方案二的系統(tǒng)結構示意圖,如圖2A 所示,在現(xiàn)有OMA體系結構中設置用于存儲用戶狀態(tài)信息的狀態(tài)搜索XDMS (Presence Search XDMS ),狀態(tài)搜索XDMS用于向PS訂閱用戶的狀態(tài)信息, 并對來自SP的在線用戶搜索請求進行處理。實現(xiàn)在線用戶搜索的系統(tǒng)包括 XDMC、 AP、 SP、存儲用戶基本信息的XDMS、 PS和狀態(tài)搜索XDMS,其中, XDMC用于向AP發(fā)送在線用戶搜索請求,接收AP轉(zhuǎn)發(fā)的在線用戶搜索結果; AP用于向SP轉(zhuǎn)發(fā)收到的在線用戶搜索請求,并向XDMC轉(zhuǎn)發(fā)來自SP的在線 用戶搜索結果;SP用于請求存儲用戶基本信息的XDMS搜索符合條件的用戶, 并請求狀態(tài)搜索XDMS提供用戶的狀態(tài)信息,確定符合搜索條件的在線用戶, 生成在線用戶搜索結果并發(fā)送給AP;存儲用戶基本信息的XDMS用于存儲用 戶的基本信息,并根據(jù)SP的請求向SP提供符合搜索條件的用戶;狀態(tài)搜索 XDMS用于向PS訂閱用戶的狀態(tài)信息并進行存儲;PS用于根據(jù)與狀態(tài)搜索 XDMS的訂閱關系向SP提供用戶是否在線的狀態(tài)信息。
圖2B示出了現(xiàn)有實現(xiàn)在線用戶搜索方案二的流程圖,如圖2B所示,方 案二中實現(xiàn)在線用戶搜索的處理過程包括以下步驟
步驟201:狀態(tài)搜索XDMS到PS上獲取所有用戶的狀態(tài)信息并進行存儲, 然后通過與PS的訂閱關系,及時獲取狀態(tài)發(fā)生變化的用戶信息,并根據(jù)變化
的狀態(tài)信息對存儲的用戶狀態(tài)信息進行更新。
步驟202 步驟205與步驟101 步驟104相同。
步驟206 步驟207: SP收到用戶搜索結果后,從用戶的基本信息中獲取 用戶的URI,然后根據(jù)各用戶的URI,向在線搜索XDMS發(fā)送在線用戶搜索 請求(Search w他Online),該在線用戶搜索請求中攜帶有符合搜索條件的各用 戶的URI。在線搜索XDMS收到在線用戶搜索請求后,根據(jù)URI向SP返回符 合搜索條件的各用戶的狀態(tài)信息。
步驟208: SP收到在線搜索XDMS提供的用戶的狀態(tài)信息后,將符合搜 索條件的用戶與在線用戶這兩個結果相結合,確定符合搜索條件的在線用戶。
步驟209 步驟210與步驟110 步驟111相同。
方案二中,需要設置用于存儲用戶狀態(tài)信息的功能實體狀態(tài)搜索XDMS, 使得OMA體系結構變得復雜,PS與在線搜索XDMS的交互為系統(tǒng)增加了新 的通信負擔,并且SP仍然需要對來自XDMS和PS的結果進行解析和組合, 產(chǎn)生額外的時間損耗,使得在線用戶的搜索效率仍然非常低,帶來很大的延遲, 響應XDMC的速度非常慢,嚴重影響用戶對業(yè)務的滿意度。
方衆(zhòng)三
圖3A示出了現(xiàn)有實現(xiàn)在線用戶搜索方案三的系統(tǒng)結構示意圖,如圖3A 所示,將現(xiàn)有OMA體系中的PS增加搜索功能,用于根據(jù)來自SP的在線用戶 搜索請求,直接向SP返回用戶的狀態(tài)信息。實現(xiàn)在線用戶搜索的系統(tǒng)包括 XDMC、 AP、 SP、 XDMS和PS,其中,XDMC用于向AP發(fā)送在線用戶搜索 請求,接收AP轉(zhuǎn)發(fā)的在線用戶搜索結果;AP用于向SP轉(zhuǎn)發(fā)收到的在線用戶 搜索請求,并向XDMC轉(zhuǎn)發(fā)來自SP的在線用戶搜索結果;SP用于請求XDMS 搜索符合條件的用戶,并請求PS提供用戶的狀態(tài)信息,確定符合搜索條件的 在線用戶,生成在線用戶搜索結果并發(fā)送給AP; XDMS用于存儲用戶的基本 信息,并向SP提供符合搜索條件的用戶;PS用于根據(jù)SP的請求向SP提供用 戶是否在線的狀態(tài)信息。
圖3B示出了現(xiàn)有實現(xiàn)在線用戶搜索方案三的流程圖,如圖3B所示,方 案三中實現(xiàn)在線用戶搜索的處理過程包括以下步驟 步驟301 步驟304與步驟101 步驟104相同。
步驟305 步驟306: SP收到用戶搜索結果后,從用戶的基本信息中獲取 用戶的URI,然后根據(jù)各用戶的URI,向PS發(fā)送在線用戶搜索請求(Search w他 Online),該在線用戶搜索請求中攜帶有各用戶的URI。 PS收到在線用戶搜索 請求后,根據(jù)URI向SP返回各用戶的狀態(tài)信息。
步驟307: SP收到PS提供的用戶的狀態(tài)信息后,將符合搜索條件的用戶 與在線用戶這兩個結果相結合,確定符合搜索條件的在線用戶。
步驟308~步驟309與步驟110~步驟111相同。
方案三中,雖然保持OMA體系不變,沒有增加新的功能實體,但PS需 要實現(xiàn)搜索功能,增加了 PS的復雜性,并且,SP仍然需要對來自XDMS和 PS的信息進行解析和組合,產(chǎn)生額外的時間損耗,在線用戶的搜索效率仍然 非常低,帶來很大的延遲,響應XDMC的速度非常慢,嚴重影響用戶對業(yè)務 的滿意度。
以上所述AP和SP為系統(tǒng)中實現(xiàn)相應代理功能的功能實體。 才艮據(jù)以上描述可見,除了各方案自身的缺點外,每個實現(xiàn)方案中,針對來 自XDMC的每一個在線用戶搜索請求,均需要SP與XDMS或PS進行信息交 互,大大增加系統(tǒng)中各功能實體的通信負擔;在無法對XDMC的在線用戶搜 索請求進行收斂的情況下,使得功能實體間進行信息交互的通信更是頻繁,對 各功能實體的沖擊是不堪承受的。
另外,方案二和方案三僅適用于用戶數(shù)量比較小的情況,各功能實體間交 互的數(shù)據(jù)量不能過大,然而實際應用中,用戶數(shù)量會非常大,使得搜索結果的 數(shù)據(jù)量也會非常大,從而導致SP與XDMS或PS之間需要進行大量的數(shù)據(jù)傳 輸,SP需要處理大量的數(shù)據(jù),響應XDMC的速度更無從保證了。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種實現(xiàn)在線用戶搜索的方法和系統(tǒng),降低通信系 統(tǒng)的通信負擔,使在線用戶搜索的實現(xiàn)更為高效、迅速。
本發(fā)明提供的實現(xiàn)在線用戶搜索的方法包括
A、 搜索代理SP接收可擴展標記語言文檔管理客戶端XDMC的在線用戶 搜索請求,該在線用戶搜索請求中攜帶有搜索條件;
B、 SP根據(jù)存儲的用戶的基本信息和狀態(tài)信息確定符合所述搜索條件的在 線用戶,向XDMC返回所述在線用戶。
本發(fā)明提供的實現(xiàn)在線用戶搜索的系統(tǒng)包括XDMC、存儲單元和SP, XDMC用于發(fā)送攜帶有搜索條件的在線用戶搜索請求,并接收符合搜索條件的 在線用戶;存儲單元用于存儲用戶的基本信息和狀態(tài)信息;SP用于根據(jù)所述 用戶的基本信息和狀態(tài)信息確定符合所述搜索條件的在線用戶,并向XDMC 提供所述在線用戶。
本發(fā)明中,為SP設置存儲單元,該存儲單元用于存儲用戶的基本信息和 狀態(tài)信息,這樣,SP收到來自XDMC的、攜帶有搜索條件的在線用戶搜索請 求后,可直接根據(jù)存儲單元中存儲的用戶的基本信息和狀態(tài)信息,確定符合搜 索條件的在線用戶,然后SP向XDMC返回符合搜索條件的在線用戶。由于為 SP設置的存儲單元中直接存儲有用戶的基本信息和狀態(tài)信息,這樣,SP每次 收到來自XDMC的在線用戶搜索請求后,無需再與PS進行交互以獲取用戶的 狀態(tài)信息,也無需與XDMS進行交互以獲取用戶的基本信息,大大降低通信 實體之間的通信頻率和各功能實體的通信負擔。并且由于為SP設置的存儲單 元中直接存儲有用戶的基本信息和狀態(tài)信息,SP無需再執(zhí)行解析和組合的處 理步驟,避免額外的時間損耗,提高在線用戶的搜索效率,提高SP響應XDMC 的速度,使用戶對業(yè)務的滿意度得以提高。
另外,SP對一條在線用戶搜索請求進行處理后,可將相應搜索條件和符 合該搜索條件的在線用戶進行緩存,后續(xù)過程中,如果SP收到針對相同搜索
條件發(fā)起的在線用戶搜索請求,則不再對符合搜索條件的在線用戶進行搜索, 而是直接將緩存的符合搜索條件的在線用戶提供給發(fā)起相應在線用戶搜索請
求的XDMC,使得SP無需針對每條在線用戶搜索請求都到存儲單元中進行查 詢,以減緩SP對為其設置的存儲單元的查詢壓力。
圖1A示出了現(xiàn)有實現(xiàn)在線用戶搜索方案一的系統(tǒng)結構示意圖1B示出了現(xiàn)有實現(xiàn)在線用戶搜索方案一的流程圖2A示出了現(xiàn)有實現(xiàn)在線用戶搜索方案二的系統(tǒng)結構示意圖2B示出了現(xiàn)有實現(xiàn)在線用戶搜索方案二的流程圖3A示出了現(xiàn)有實現(xiàn)在線用戶搜索方案三的系統(tǒng)結構示意圖3B示出了現(xiàn)有實現(xiàn)在線用戶搜索方案三的流程圖4示出了本發(fā)明實施例中實現(xiàn)在線用戶搜索的系統(tǒng)結構示意圖5A示出了本發(fā)明中實施例一的系統(tǒng)結構示意圖5B示出了本發(fā)明中實施例一流程圖6A示出了本發(fā)明中實施例二的系統(tǒng)結構示意圖6B示出了本發(fā)明中實施例二流程圖7示出了本發(fā)明實施例中SP向PS訂閱用戶的狀態(tài)信息的消息交互圖; 圖8示出了本發(fā)明實施例中實現(xiàn)在線用戶搜索并緩存搜索結果的消息交互圖。
具體實施例方式
本發(fā)明中,為SP設置存儲單元,該存儲單元用于存儲用戶的基本信息和 狀態(tài)信息,這樣,SP收到來自XDMC的在線用戶搜索請求后,可直接根據(jù)存 儲單元中存儲的用戶的基本信息和狀態(tài)信息,確定符合搜索條件的在線用戶, 在線用戶搜索請求中攜帶有該搜索條件,然后向XDMC返回符合搜索條件的
在線用戶。
圖4示出了本發(fā)明實施例中實現(xiàn)在線用戶搜索的系統(tǒng)結構示意圖,如圖4 所示,該系統(tǒng)包括XDMC、 AP、 SP、 XDMS、存儲單元和PS,其中,XDMC 用于向AP發(fā)送在線用戶搜索請求,接收AP轉(zhuǎn)發(fā)的在線用戶搜索結果;AP用 于向SP轉(zhuǎn)發(fā)收到的在線用戶搜索請求,并向XDMC轉(zhuǎn)發(fā)來自SP的在線用戶 搜索結果;SP用于通過與PS的訂閱關系獲取用戶的狀態(tài)信息,并存儲于存儲 單元,并且,在收到來自XDMC的在線用戶搜索請求后,根據(jù)存儲單元中存 儲的用戶的基本信息和狀態(tài)信息,確定符合搜索條件的在線用戶,然后向AP 返回符合搜索條件的在線用戶;存儲單元用于存儲用戶的基本信息和狀態(tài)信 息。XDMS用于將用戶的基本信息存儲于存儲單元??蔀閄DMS和SP設置相 同的存儲單元,這樣,圖4中的存儲單元是SP和XDMS共用的存儲單元,該 存儲單元中直接存儲有用戶的基本信息,還存儲有SP通過與PS的交互得到的 用戶的狀態(tài)信息;也可為XDMS和SP設置不同的存儲單元,這樣,圖4中的 存儲單元是為SP單獨設置的,為XDMS設置的存儲單元中存儲有用戶的基本 信息,如用戶的URI、昵稱、年齡、國家、地區(qū)、性別等等,SP通過與XDMS 的交互獲取用戶的基本信息,存儲于為SP設置的存儲單元中,此時SP與XDMS 之間具有連接關系,如通過接口相連,并且,SP通過與PS的交互獲取用戶的 狀態(tài)信息,存儲于為SP設置的存儲單元。XDMC與AP之間依照XML配置 訪問協(xié)議(XML Configuration Access Protocol, XCAP)進行通信,SP與PS 之間依照會i舌初始妨、i義(Session Initiation Protocol, SIP)進4亍通信。
由于SP需要通過與PS的訂閱關系獲取所有用戶是否在線的狀態(tài)信息,因 此,可設置SP與PS之間的接口為PS-X,以實現(xiàn)SP對全部用戶的狀態(tài)信息的 訂閱。
圖5A示出了本發(fā)明中實施例一的系統(tǒng)結構示意圖,如圖5A所示,該系 統(tǒng)包括XDMC、 AP、 SP、 XDMS、存儲單元和PS, SP和XDMS共用相同的 存儲單元,即為SP和XDMS設置相同的存儲單元,這樣,存儲單元中直接存
儲有用戶的基本信息,并且進一步存儲有用戶的狀態(tài)信息,用戶的狀態(tài)倌息是
SP通過與PS的交互得到的。XDMS可對存儲單元中存儲的用戶的基本信息進 行添加、修改和刪除,例如,XDMS增加用戶的基本信息項目、或增加用戶等。 SP可根據(jù)PS提供的用戶當前的在線信息對存儲單元中存儲的用戶狀態(tài)信息進 行更新。
圖5B示出了本發(fā)明中實施例一流程圖,如圖5B所示,本實施例中實現(xiàn) 在線用戶搜索的處理過程包括以下步驟
步驟501: SP到PS上獲取所有用戶的狀態(tài)信息(Get Presence & Subscribe ), 并將用戶的狀態(tài)信息存儲于存儲單元。為保證存儲單元中存儲的用戶的狀態(tài)信 息的實時性,SP可通過與PS的訂閱關系,由PS主動向SP提供發(fā)生變化的用 戶的狀態(tài)信息,使得SP能夠及時獲知哪些用戶的狀態(tài)發(fā)生了變化,SP根據(jù)變 化的狀態(tài)信息對存儲單元中存儲的用戶的狀態(tài)信息進行更新。為避免PS與SP 的頻繁交互,PS可在當前條件滿足設定條件時,向SP提供發(fā)生變化的用戶的 狀態(tài)信息,例如,設置的定時器超時,或狀態(tài)發(fā)生變化的用戶數(shù)量達到設定值 時,PS向SP提供發(fā)生變化的用戶的狀態(tài)信息。SP根據(jù)收到的用戶的狀態(tài)信 息對存儲單元存儲的用戶的狀態(tài)信息進行更新。另外,也可由SP周期性向PS
請求用戶當前的狀態(tài)信息,SP根據(jù)PS提供的用戶的狀態(tài)信息對所述存儲單元 中存儲的用戶的狀態(tài)信息進行更新,以周期性對存儲單元中存儲的用戶的狀態(tài) 信息進行更新,保證存儲單元中存儲的用戶的狀態(tài)信息的實時性。
步驟502 步驟503: XDMC向AP發(fā)送在線用戶搜索請求(Search w池XDM & Online),該在線用戶搜索請求中攜帶有搜索條件,請求搜索符合搜索條件的 在線用戶。AP收到在線用戶搜索請求后,向SP轉(zhuǎn)發(fā)該在線用戶搜索請求。
步驟504: SP收到在線用戶搜索請求后,根據(jù)存儲單元存儲的用戶的基本 信息和狀態(tài)信息,對用戶進行搜索,確定符合搜索條件的在線用戶。
步驟505~步驟506: SP向AP返回在線用戶搜索結果(Search results), AP向XDMC轉(zhuǎn)發(fā)該在線用戶搜索結果,在線用戶搜索結果中攜帶有符合搜索條件的用戶的基本信息,在線用戶搜索結果中可進一步攜帶有表明用戶在線的 狀態(tài)信息。
用戶的基本信息發(fā)生變化時,XDMS將變化的用戶的基本信息存儲于存儲 單元,這樣,可有效保證存儲單元中存儲的用戶基本信息的實時性。
圖6A示出了本發(fā)明中實施例二的系統(tǒng)結構示意圖,如圖6A所示,該系 統(tǒng)包括XDMC、 AP、 SP、 XDMS、 PS、為SP設置的第一存儲單元和為XDMS 設置的第二存儲單元,第二存儲單元中存儲有用戶的基本信息。第一存儲單元 中存儲有用戶的基本信息和狀態(tài)信息,用戶的基本信息是SP通過與XDMS的 交互得到的,用戶的狀態(tài)信息是SP通過與PS的交互得到的。
圖6B示出了本發(fā)明中實施例二流程圖,如圖6B所示,本實施例中實現(xiàn) 在線用戶搜索的處理過程包括以下步驟
步驟601: SP到XDMS上獲取所有用戶的基本信息(Get Personal Info & TimedGet),并將用戶的基本信息存儲與第一存儲單元。為保證第一存儲單元 中存儲的用戶的基本信息的實時性,XDMS主動向SP提供發(fā)生變化的用戶的 基本信息,使得SP能夠及時獲知哪些用戶的基本信息發(fā)生了變化,SP根據(jù)變 化的用戶的基本信息對第一存儲單元中存儲的用戶的基本信息進行更新。為避 免XDMS與SP的頻繁交互,XDMS可在當前條件滿足設定條件時,向SP提 供發(fā)生變化的用戶的基本信息,例如,設置的定時器超時,或基本信息發(fā)生變 化的用戶數(shù)量達到設定值時,或設置的定時器超時或狀態(tài)發(fā)生變化的用戶數(shù)量 達到設定值任一條件滿足時,表明當前條件滿足設定條件,XDMS向SP提供 發(fā)生變化的用戶的基本信息。SP根據(jù)收到的用戶的基本信息對第一存儲單元 中存儲的用戶的基本信息進行更新。另外,也可由SP周期性向XDMS請求用 戶當前的基本信息,SP根據(jù)XDMS提供的用戶的基本信息對第一存儲單元中 存儲的用戶的基本信息進行更新,以周期性對第一存儲單元中存儲的用戶的基 本信息進行更新,保證第一存儲單元中存儲的用戶的基本信息的實時性。
步驟602與步驟501相同。
步驟601與步驟602之間沒有明顯的執(zhí)行順序,既可先才丸行步驟601,再 執(zhí)行步驟602;也可可先執(zhí)行步驟602,再執(zhí)行步驟601;還可同時執(zhí)行步驟 601和步驟602。
步驟603~步驟607與步驟502~步驟506相同。
另外,以上兩個實施例中,SP對一條在線用戶搜索請求進行處理后,可 將相應搜索條件和符合該搜索條件的在線用戶進行緩存,后續(xù)過程中,如果SP 收到針對相同搜索條件發(fā)起的在線用戶搜索請求,則可不再對符合搜索條件的 在線用戶進行搜索,而是直接將緩存的符合搜索條件的在線用戶提供給發(fā)起相 應在線用戶搜索請求的XDMC,使得SP無需針對每條在線用戶搜索請求都到 存儲單元中進行查詢,以減緩SP對為其設置的存儲單元的查詢壓力。為避免 緩存的數(shù)據(jù)量過大,可對緩存的數(shù)據(jù)量進行限制,如將緩存的數(shù)據(jù)量保持在設 定參數(shù)內(nèi),或設置有效時間長度,當緩存某一搜索條件的搜索結果的時間長度 大于有效時間長度時,則將相應搜索結果丟棄。
圖7示出了本發(fā)明實施例中SP向PS訂閱用戶的狀態(tài)信息的消息交互圖, 如圖7所示,SP向PS訂閱用戶的狀態(tài)信息的消息交互過程包括以下步驟
步驟701 步驟702: SP向PS發(fā)送訂閱請求(SUBSCRIBE),向PS訂閱 所有用戶的狀態(tài)信息。PS收到訂閱請求后,向SP返回200響應(200OK )。
步驟703 步驟705: PS向SP發(fā)送通知消息(NOTIFY),該通知消息中攜 帶有所有用戶的狀態(tài)信息。SP收到通知消息后,將用戶的狀態(tài)信息存儲于為 其設置的存儲單元,并向PS返回200響應。
為保證SP設置的存儲單元中存儲的用戶的狀態(tài)信息的實時性,PS需要向 SP提供用戶當前的狀態(tài)信息,但是為了避免PS與SP頻繁交互,增加系統(tǒng)的 通信負擔,可在當前條件滿足設定條件時,PS向SP提供用戶當前的狀態(tài)信息, 具體參見步驟706 步驟707。
步驟706 步驟707:當前條件滿足設定條件時,PS向SP發(fā)送通知消息, 該通知消息中攜帶有發(fā)生變化的用戶的狀態(tài)信息??赏ㄟ^定時機制或總數(shù)控制
對當前條件是否滿足設定條件進行控制,例如,設定的定時器超時時,表明當
前條件滿足設定條件,PS向SP提供發(fā)生變化的用戶的狀態(tài)信息,又如,狀態(tài) 發(fā)生變化的用戶數(shù)量達到設定值時,表明當前條件滿足設定條件,PS向SP提 供發(fā)生變化的用戶的狀態(tài)信息;也可通過定時機制與總數(shù)控制相結合的方式, 對當前條件是否滿足設定條件進行控制,例如,設定定時器超時或狀態(tài)發(fā)生變 化的用戶數(shù)量達到設定值任一條件滿足時,表明當前條件滿足設定條件,PS 向SP提供發(fā)生變化的用戶的狀態(tài)信息。
步驟708 步驟709: SP收到通知消息后,對為其設置的存儲單元中存儲 的用戶的狀態(tài)信息進行更新,并向PS返回200響應。
以上描述的是PS主動向SP提供發(fā)生變化的用戶的狀態(tài)信息的實現(xiàn)方式, 實際上,SP也可周期性主動請求PS提供發(fā)生變化的用戶的狀態(tài)信息,PS根 據(jù)SP的請求,周期性向SP提供發(fā)生變化的用戶的狀態(tài)信息。
以上所述SP訂閱所有用戶的狀態(tài)信息是通過自定義接口的方式來實現(xiàn) 的;也可采用擴展群組的訂閱方式來實現(xiàn),例如,將所有用戶設置為一個群組, SP向PS訂閱該群組內(nèi)所有用戶的狀態(tài)信息;還可采用對每個用戶的狀態(tài)信息 進行訂閱的實現(xiàn)方式,如SP采用資源列表服務器(Resource List Server, RLS) 向PS訂閱各用戶的狀態(tài)信息,即SP通過RLS向PS訂閱用戶的狀態(tài)信息。
圖8示出了本發(fā)明實施例中實現(xiàn)在線用戶搜索并緩存搜索結果的消息交互 圖,如圖8所示,實現(xiàn)在線用戶搜索并緩存搜索結果的消息交互過程包括以下 步驟
步驟801: XDMC向AP發(fā)送獲取消息(GET),該獲取消息中攜帶有搜索 條件,請求搜索符合搜索條件的在線用戶。
步驟802 步驟803: AP對XDMC進行鑒權,XDMC通過鑒權后,AP向
SP轉(zhuǎn)發(fā)來自XDMC的獲取消息,該獲取消息中攜帶有搜索條件。
步驟804 步驟805: SP收到獲取消息后,解析搜索條件,根據(jù)為其設置 的存儲單元中存儲的用戶的基本信息和狀態(tài)信息,確定符合搜索條件的在線用
戶,SP確定出的符合搜索條件的在線用戶不必是符合搜索條件的全部在線用 戶,即SP確定出的符合搜索條件的在線用戶僅為符合搜索條件全部在線用戶 的一部分,如SP根據(jù)配置值搜索出相應數(shù)量的在線用戶。SP向XDMC返回 搜索結果時,可不向XDMC返回搜索出的全部在線用戶,而只是返回其中一 部分在線用戶,這樣,SP對部分在線用戶的信息進行封裝,并對當前會話 (Session)進行存儲,當前會話包括搜索條件和搜索出的符合搜索條件的在線 用戶。
步驟806~步驟807: SP向AP發(fā)送返回消息(return ),該返回消息中攜帶 有封裝的搜索結果。AP收到返回消息后,向XDMC轉(zhuǎn)發(fā)該返回消息。
步驟808 步驟809: XDMC向AP發(fā)送獲取消息,該獲取消息中攜帶的搜 索條件與步驟801中所述的搜索條件相同。AP收到獲取消息后,向SP轉(zhuǎn)發(fā)該 獲取消息。
步驟810 步驟813: SP收到獲取消息后,解析搜索條件,將該搜索條件 與存儲的會話中的搜索條件相比較確定相同,而SP已經(jīng)緩存了符合該搜索條 件的在線用戶,因此,SP無需再向存儲單元搜索符合搜索條件的在線用戶, 只需將緩存的搜索結果提供給XDMC即可,因此,SP封裝搜索結果,然后向 AP發(fā)送返回消息,該返回消息中攜帶有封裝的搜索結果。AP收到返回消息后, 向XDMC轉(zhuǎn)發(fā)該返回消息。
以上描述的是同一 XDMC針對相同搜索條件發(fā)起在線用戶搜索請求的處 理,實際應用中,SP緩存某一搜索條件的搜索結果后,如果后續(xù)有其他XDMC 針對相同搜索條件發(fā)起在線用戶搜索請求,SP仍是將緩存的搜索結果提供給 相應XDMC。
另外,SP每次向XDMC返回的符合搜索條件的在線用戶的數(shù)量可為固定 值,該固定值可由XDMC指定也可由SP設置,以避免SP與XDMC之間交互 的數(shù)據(jù)量過大。這樣,在SP搜索出的符合搜索條件的在線用戶的數(shù)量非常大 時,可有效避免由于搜索結果中包含的用戶數(shù)量過多,而導致的XDMC處理
能力不足。
如果XDMC發(fā)起的在線用戶搜索請求中僅攜帶有搜索條件,SP向XDMC 返回搜索結果時,也可進一步向XDMC提供附加信息,例如,SP根據(jù)搜索出 的符合搜索條件的在線用戶數(shù)量確定隨機數(shù)(random ),向XDMC返回從隨機 數(shù)開始處開始的M個符合搜索條件的在線用戶,并向XDMC提供隨機數(shù)和總 頁數(shù)。后續(xù)過程中,XDMC針對相同搜索條件發(fā)起在線用戶搜索請求時,可根 據(jù)附加信息要求SP提供相應搜索結果。例如,要求SP返回位于L頁上的符 合搜索條件的在線用戶,或要求SP返回從隨機數(shù)開始的、位于第K頁上的符 合搜索條件的在線用戶。
此外,XDMC發(fā)起的在線用戶搜索請求中也可進一步攜帶有附加信息,SP 在搜索出的符合搜索條件的在線用戶中確定出符合附加信息的搜索結果,向 XDMC提供相應搜索結果。通過附加信息,可使SP隨機地向XDMC返回符 合搜索條件的在線用戶。例如,XDMC發(fā)起的在線用戶搜索請求中攜帶有隨機 數(shù),SP確定符合搜索條件的在線用戶后,根據(jù)隨機數(shù)向XDMC返回在符合搜 索條件的在線用戶中位于隨機數(shù)后的在線用戶,或向XDMC返回在符合搜索 條件的在線用戶中位于隨機數(shù)后的一定數(shù)量的在線用戶。例如,XDMC發(fā)起的 在線用戶搜索請求中攜帶有隨機數(shù)和頁(page), SP確定符合搜索條件的在線 用戶后,根據(jù)隨機數(shù)和頁向XDMC返回的搜索結果為位于第N頁的隨機數(shù)后 的符合搜索條件的在線用戶,或為位于第N頁的隨機數(shù)后的一定數(shù)量的符合搜 索條件的在線用戶,或從隨機數(shù)開始的、位于第N頁的符合搜索條件的在線用 戶。
明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及 其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權利要求
1、一種實現(xiàn)在線用戶搜索的方法,其特征在于,該方法包含以下步驟A、搜索代理SP接收可擴展標記語言文檔管理客戶端XDMC的在線用戶搜索請求,該在線用戶搜索請求中攜帶有搜索條件;B、SP根據(jù)存儲的用戶的基本信息和狀態(tài)信息確定符合所述搜索條件的在線用戶,向XDMC返回所述在線用戶。
2、 根據(jù)權利要求1所述的方法,其特征在于,為SP單獨設置存儲單元, 該存儲單元存儲所述用戶的基本信息和狀態(tài)信息。
3、 根據(jù)權利要求2所述的方法,其特征在于,所述步驟A之前進一步包括A01、 SP通過與可擴展標記語言文檔管理服務器XDMS的交互獲取用戶 的基本信息,并存儲于所述存儲單元。
4、 根據(jù)權利要求3所述的方法,其特征在于,所述步驟A01之后進一步 包括XDMS在當前條件滿足設定條件時,向SP提供發(fā)生變化的用戶的基本信 息,SP根據(jù)收到的用戶的基本信息對所述存儲單元中存儲的用戶的基本信息 進行更新;或SP周期性向XDMS請求用戶當前的基本信息,SP根據(jù)XDMS提供的用 戶的基本信息對所述存儲單元中存儲的用戶的基本信息進行更新。
5、 根據(jù)權利要求4所述的方法,其特征在于,所述當前條件是設置的 定時器超時;或基本信息發(fā)生變化的用戶數(shù)量達到設定值;或以上二者的組合。
6、 根據(jù)權利要求1所述的方法,其特征在于,SP和XDMS共用存儲單元, 該存儲單元存儲所述用戶的基本信息和狀態(tài)信息。
7、 根據(jù)權利要求l、 2或6所述的方法,其特征在于,所述步驟A之前進 一步包括A02、 SP通過與呈現(xiàn)服務器PS的交互獲取用戶的狀態(tài)信息,并存儲于所述存儲單元。
8、 根據(jù)權利要求6所述的方法,其特征在于,所述步驟A02之后進一步包括PS在當前條件滿足設定條件時,向SP提供發(fā)生變化的用戶的狀態(tài)信息,SP根據(jù)收到的用戶的狀態(tài)信息對所述存儲單元中存儲的用戶的狀態(tài)信息進行更新;或SP周期性向PS請求用戶當前的狀態(tài)信息,SP根據(jù)PS提供的用戶的狀態(tài)信息對所述存儲單元中存儲的用戶的狀態(tài)信息進行更新。
9、 .根據(jù)權利要求8所述的方法,其特征在于,所述當前條件是設置的定時器超時;或狀態(tài)信息發(fā)生變化的用戶數(shù)量達到設定值;或以上二者的組合。
10、 根據(jù)權利要求l、 2或6所述的方法,其特征在于,所述步驟B之后進一步包括SP存儲搜索條件和符合該搜索條件的在線用戶,SP收到攜帶有 所述搜索條件的在線用戶搜索請求后,直接將存儲的符合所述搜索條件的在線 用戶提供給發(fā)起所述在線用戶搜索請求的XDMC。
11、 一種實現(xiàn)在線用戶搜索的系統(tǒng),其特征在于,該系統(tǒng)包括XDMC、存儲單元和SP,所述XDMC,用于發(fā)送攜帶有搜索條件的在線用戶搜索請求,并接收符合 搜索條件的在線用戶;所述存儲單元,用于存儲用戶的基本信息和狀態(tài)信息;所述SP,用于根據(jù)所述用戶的基本信息和狀態(tài)信息確定符合所迷搜索條 件的在線用戶,并向XDMC提供所述在線用戶。
12、 根據(jù)權利要求11所述的系統(tǒng),其特征在于,該系統(tǒng)進一步包括:XDMS, 所述存儲單元是SP和XDMS共用的存儲單元。
13、 根據(jù)權利要求11所述的系統(tǒng),其特征在于,該系統(tǒng)進一步包括XDMS 和為XDMS設置的第二存儲單元,所述第二存儲單元,用于存儲用戶的基本信息;所述XDMS,用于向SP提供所述用戶的基本信息;所述SP,進一步用于將所述用戶的基本信息存儲于所述存儲單元。
14、 根據(jù)權利要求11至13任一所述的系統(tǒng),其特征在于,該系統(tǒng)進一步包括PS,所述PS,用于向SP提供用戶的狀態(tài)信息;所述SP,進一步用于將所述用戶的狀態(tài)信息存儲于所述存儲單元。
15、 根據(jù)權利要求11至13任一所述的系統(tǒng),其特征在于,所述SP進一步用于存儲搜索條件和符合該搜索條件的在線用戶,收到攜帶有所述搜索條件的在線用戶搜索請求后,直接將存儲的符合所述搜索條件的在線用戶提供給 發(fā)起所述在線用戶搜索請求的XDMC。
全文摘要
本發(fā)明公開了一種實現(xiàn)在線用戶搜索的方法和系統(tǒng),為搜索代理(SearchProxy,SP)設置存儲單元,該存儲單元用于存儲用戶的基本信息和狀態(tài)信息,這樣,SP收到來自XDMC的、攜帶有搜索條件的在線用戶搜索請求后,可直接根據(jù)存儲單元中存儲的用戶的基本信息和狀態(tài)信息,確定符合搜索條件的在線用戶,然后SP向XDMC返回在線用戶。存儲單元可是為SP單獨設置的,也可是與XDMS共用的。由于為SP設置的存儲單元中直接存儲有用戶的基本信息和狀態(tài)信息,這樣,SP每次收到來自XDMC的在線用戶搜索請求后,無需再與PS進行交互以獲取用戶的狀態(tài)信息,也無需與XDMS進行交互以獲取用戶的基本信息,大大降低通信實體之間的通信頻率和各功能實體的通信負擔,并提高對XDMC的響應速度。
文檔編號H04L12/16GK101174963SQ200610137938
公開日2008年5月7日 申請日期2006年10月31日 優(yōu)先權日2006年10月31日
發(fā)明者沁 何, 泉 張 申請人:華為技術有限公司