CN101174963A - 一种实现在线用户搜索的方法和系统 - Google Patents
一种实现在线用户搜索的方法和系统 Download PDFInfo
- Publication number
- CN101174963A CN101174963A CNA2006101379383A CN200610137938A CN101174963A CN 101174963 A CN101174963 A CN 101174963A CN A2006101379383 A CNA2006101379383 A CN A2006101379383A CN 200610137938 A CN200610137938 A CN 200610137938A CN 101174963 A CN101174963 A CN 101174963A
- Authority
- CN
- China
- Prior art keywords
- user
- information
- search
- online user
- memory cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种实现在线用户搜索的方法和系统,为搜索代理(SearchProxy,SP)设置存储单元,该存储单元用于存储用户的基本信息和状态信息,这样,SP收到来自XDMC的、携带有搜索条件的在线用户搜索请求后,可直接根据存储单元中存储的用户的基本信息和状态信息,确定符合搜索条件的在线用户,然后SP向XDMC返回在线用户。存储单元可是为SP单独设置的,也可是与XDMS共用的。由于为SP设置的存储单元中直接存储有用户的基本信息和状态信息,这样,SP每次收到来自XDMC的在线用户搜索请求后,无需再与PS进行交互以获取用户的状态信息,也无需与XDMS进行交互以获取用户的基本信息,大大降低通信实体之间的通信频率和各功能实体的通信负担,并提高对XDMC的响应速度。
Description
技术领域
本发明涉及数据通信领域,特别是指一种实现在线用户搜索的方法和系统。
背景技术
开放移动联盟(Open Mobile Alliance,OMA)在可扩展标记语言(ExtensibleMarkup Language,XML)文档管理服务器(XML Document ManagementServers,XDMS)的规范中提出了搜索代理(Search Proxy,SP),不过只是简单给出了定义和功能。规范中提出SP主要是完成文档搜索的功能,在实现上需要完成以下功能:接收XML文档管理客户端(XML Document ManagementClient,XDMC)的搜索请求;对搜索请求进行解析,并向本地或其他网络的XDMS转发搜索请求;收集所有XDMS的应答消息,经过组合过滤后发送给XDMC。XDMC可为用户设备(User Equipment,UE)等具有XML文档管理功能的客户端。
SP不仅能够实现对文档的搜索,还能够实现对在线用户的搜索,下面对现有的几种对在线用户进行搜索的实现方案进行描述。
方案一
图1A示出了现有实现在线用户搜索方案一的系统结构示意图,如图1A所示,利用现有OMA体系实现在线用户的搜索,实现在线用户搜索的系统包括:XDMC、聚合代理(Aggregation Proxy,AP)、SP、XDMS和呈现服务器(Presence Server,PS),其中,XDMC用于向AP发送在线用户搜索请求,接收AP转发的在线用户搜索结果;AP用于向SP转发收到的在线用户搜索请求,并向XDMC转发来自SP的在线用户搜索结果;SP用于请求XDMS搜索符合条件的用户,并向PS订阅用户的状态信息,确定符合搜索条件的在线用户,生成在线用户搜索结果并发送给AP;XDMS用于存储用户的基本信息,并根据存储的用户的基本信息向SP提供符合搜索条件的搜索结果;PS用于根据SP的订阅向SP提供用户是否在线的状态信息。用户的基本信息可为用户的URI、昵称、年龄、国家、地区、性别,等等。其他特定XDMS是指能够实现一些特殊功能的XDMS。
图1B示出了现有实现在线用户搜索方案一的流程图,如图1B所示,方案一中实现在线用户搜索的处理过程包括以下步骤:
步骤101~步骤102:XDMC向AP发送在线用户搜索请求(Search with XDM& Online),该在线用户搜索请求中携带有搜索条件,请求搜索符合搜索条件的在线用户。AP收到在线用户搜索请求后,向SP转发该在线用户搜索请求。
步骤103~步骤104:SP收到在线用户搜索请求后,向XDMS发送用户搜索请求(Search with XDM),该用户搜索请求中携带有搜索条件。XDMS收到用户搜索请求后,根据存储的用户的基本信息检索符合搜索条件的用户,然后向SP返回用户搜索结果消息(Search results),用户搜索结果消息中携带有符合搜索条件的用户的基本信息。
步骤105~步骤108:SP收到用户搜索结果后,从用户的基本信息中获取用户的统一资源标识(Uniform Resource Identifier,URI),然后根据各用户的URI,依次向PS发送订阅消息(Subscribe),每条订阅消息中携带有一个用户的URI,以订阅相应用户是否在线的状态信息。PS收到各订阅消息后,向SP返回通知消息(Notify),每条通知消息中携带有一个用户的URI及该用户的状态信息。
步骤109:SP完成对所有符合搜索条件的用户的订阅后,将符合搜索条件的用户与在线用户这两个结果相结合,确定符合搜索条件的在线用户。
步骤110~步骤111:SP向AP返回在线用户搜索结果(Search results),AP向XDMC转发该在线用户搜索结果,在线用户搜索结果中携带有符合搜索条件的用户的基本信息,在线用户搜索结果中可进一步携带有表明用户在线的状态信息。
方案一中,虽然体系结构比较简单,完全符合现有OMA体系的结构,所有功能实体之间的接口都无须改变,但是,每个XDMC的在线用户搜索请求都需要XDMS检索符合搜索条件的用户、并到PS上去订阅用户的状态信息、SP对来自XDMS和PS的结果进行解析和组合这几个过程,这样,整个处理过程非常耗时,使得在线用户的搜索效率非常低,带来很大的延迟,响应XDMC的速度非常慢,严重影响用户对业务的满意度。
方案二
图2A示出了现有实现在线用户搜索方案二的系统结构示意图,如图2A所示,在现有OMA体系结构中设置用于存储用户状态信息的状态搜索XDMS(Presence Search XDMS),状态搜索XDMS用于向PS订阅用户的状态信息,并对来自SP的在线用户搜索请求进行处理。实现在线用户搜索的系统包括:XDMC、AP、SP、存储用户基本信息的XDMS、PS和状态搜索XDMS,其中,XDMC用于向AP发送在线用户搜索请求,接收AP转发的在线用户搜索结果;AP用于向SP转发收到的在线用户搜索请求,并向XDMC转发来自SP的在线用户搜索结果;SP用于请求存储用户基本信息的XDMS搜索符合条件的用户,并请求状态搜索XDMS提供用户的状态信息,确定符合搜索条件的在线用户,生成在线用户搜索结果并发送给AP;存储用户基本信息的XDMS用于存储用户的基本信息,并根据SP的请求向SP提供符合搜索条件的用户;状态搜索XDMS用于向PS订阅用户的状态信息并进行存储;PS用于根据与状态搜索XDMS的订阅关系向SP提供用户是否在线的状态信息。
图2B示出了现有实现在线用户搜索方案二的流程图,如图2B所示,方案二中实现在线用户搜索的处理过程包括以下步骤:
步骤201:状态搜索XDMS到PS上获取所有用户的状态信息并进行存储,然后通过与PS的订阅关系,及时获取状态发生变化的用户信息,并根据变化的状态信息对存储的用户状态信息进行更新。
步骤202~步骤205与步骤101~步骤104相同。
步骤206~步骤207:SP收到用户搜索结果后,从用户的基本信息中获取用户的URI,然后根据各用户的URI,向在线搜索XDMS发送在线用户搜索请求(Search with Online),该在线用户搜索请求中携带有符合搜索条件的各用户的URI。在线搜索XDMS收到在线用户搜索请求后,根据URI向SP返回符合搜索条件的各用户的状态信息。
步骤208:SP收到在线搜索XDMS提供的用户的状态信息后,将符合搜索条件的用户与在线用户这两个结果相结合,确定符合搜索条件的在线用户。
步骤209~步骤210与步骤110~步骤111相同。
方案二中,需要设置用于存储用户状态信息的功能实体状态搜索XDMS,使得OMA体系结构变得复杂,PS与在线搜索XDMS的交互为系统增加了新的通信负担,并且SP仍然需要对来自XDMS和PS的结果进行解析和组合,产生额外的时间损耗,使得在线用户的搜索效率仍然非常低,带来很大的延迟,响应XDMC的速度非常慢,严重影响用户对业务的满意度。
方案三
图3A示出了现有实现在线用户搜索方案三的系统结构示意图,如图3A所示,将现有OMA体系中的PS增加搜索功能,用于根据来自SP的在线用户搜索请求,直接向SP返回用户的状态信息。实现在线用户搜索的系统包括:XDMC、AP、SP、XDMS和PS,其中,XDMC用于向AP发送在线用户搜索请求,接收AP转发的在线用户搜索结果;AP用于向SP转发收到的在线用户搜索请求,并向XDMC转发来自SP的在线用户搜索结果;SP用于请求XDMS搜索符合条件的用户,并请求PS提供用户的状态信息,确定符合搜索条件的在线用户,生成在线用户搜索结果并发送给AP;XDMS用于存储用户的基本信息,并向SP提供符合搜索条件的用户;PS用于根据SP的请求向SP提供用户是否在线的状态信息。
图3B示出了现有实现在线用户搜索方案三的流程图,如图3B所示,方案三中实现在线用户搜索的处理过程包括以下步骤:
步骤301~步骤304与步骤101~步骤104相同。
步骤305~步骤306:SP收到用户搜索结果后,从用户的基本信息中获取用户的URI,然后根据各用户的URI,向PS发送在线用户搜索请求(Search withOnline),该在线用户搜索请求中携带有各用户的URI。PS收到在线用户搜索请求后,根据URI向SP返回各用户的状态信息。
步骤307:SP收到PS提供的用户的状态信息后,将符合搜索条件的用户与在线用户这两个结果相结合,确定符合搜索条件的在线用户。
步骤308~步骤309与步骤110~步骤111相同。
方案三中,虽然保持OMA体系不变,没有增加新的功能实体,但PS需要实现搜索功能,增加了PS的复杂性,并且,SP仍然需要对来自XDMS和PS的信息进行解析和组合,产生额外的时间损耗,在线用户的搜索效率仍然非常低,带来很大的延迟,响应XDMC的速度非常慢,严重影响用户对业务的满意度。
以上所述AP和SP为系统中实现相应代理功能的功能实体。
根据以上描述可见,除了各方案自身的缺点外,每个实现方案中,针对来自XDMC的每一个在线用户搜索请求,均需要SP与XDMS或PS进行信息交互,大大增加系统中各功能实体的通信负担;在无法对XDMC的在线用户搜索请求进行收敛的情况下,使得功能实体间进行信息交互的通信更是频繁,对各功能实体的冲击是不堪承受的。
另外,方案二和方案三仅适用于用户数量比较小的情况,各功能实体间交互的数据量不能过大,然而实际应用中,用户数量会非常大,使得搜索结果的数据量也会非常大,从而导致SP与XDMS或PS之间需要进行大量的数据传输,SP需要处理大量的数据,响应XDMC的速度更无从保证了。
发明内容
有鉴于此,本发明提供一种实现在线用户搜索的方法和系统,降低通信系统的通信负担,使在线用户搜索的实现更为高效、迅速。
本发明提供的实现在线用户搜索的方法包括:
A、搜索代理SP接收可扩展标记语言文档管理客户端XDMC的在线用户搜索请求,该在线用户搜索请求中携带有搜索条件;
B、SP根据存储的用户的基本信息和状态信息确定符合所述搜索条件的在线用户,向XDMC返回所述在线用户。
本发明提供的实现在线用户搜索的系统包括:XDMC、存储单元和SP,XDMC用于发送携带有搜索条件的在线用户搜索请求,并接收符合搜索条件的在线用户;存储单元用于存储用户的基本信息和状态信息;SP用于根据所述用户的基本信息和状态信息确定符合所述搜索条件的在线用户,并向XDMC提供所述在线用户。
本发明中,为SP设置存储单元,该存储单元用于存储用户的基本信息和状态信息,这样,SP收到来自XDMC的、携带有搜索条件的在线用户搜索请求后,可直接根据存储单元中存储的用户的基本信息和状态信息,确定符合搜索条件的在线用户,然后SP向XDMC返回符合搜索条件的在线用户。由于为SP设置的存储单元中直接存储有用户的基本信息和状态信息,这样,SP每次收到来自XDMC的在线用户搜索请求后,无需再与PS进行交互以获取用户的状态信息,也无需与XDMS进行交互以获取用户的基本信息,大大降低通信实体之间的通信频率和各功能实体的通信负担。并且由于为SP设置的存储单元中直接存储有用户的基本信息和状态信息,SP无需再执行解析和组合的处理步骤,避免额外的时间损耗,提高在线用户的搜索效率,提高SP响应XDMC的速度,使用户对业务的满意度得以提高。
另外,SP对一条在线用户搜索请求进行处理后,可将相应搜索条件和符合该搜索条件的在线用户进行缓存,后续过程中,如果SP收到针对相同搜索条件发起的在线用户搜索请求,则不再对符合搜索条件的在线用户进行搜索,而是直接将缓存的符合搜索条件的在线用户提供给发起相应在线用户搜索请求的XDMC,使得SP无需针对每条在线用户搜索请求都到存储单元中进行查询,以减缓SP对为其设置的存储单元的查询压力。
附图说明
图1A示出了现有实现在线用户搜索方案一的系统结构示意图;
图1B示出了现有实现在线用户搜索方案一的流程图;
图2A示出了现有实现在线用户搜索方案二的系统结构示意图;
图2B示出了现有实现在线用户搜索方案二的流程图;
图3A示出了现有实现在线用户搜索方案三的系统结构示意图;
图3B示出了现有实现在线用户搜索方案三的流程图;
图4示出了本发明实施例中实现在线用户搜索的系统结构示意图;
图5A示出了本发明中实施例一的系统结构示意图;
图5B示出了本发明中实施例一流程图;
图6A示出了本发明中实施例二的系统结构示意图;
图6B示出了本发明中实施例二流程图;
图7示出了本发明实施例中SP向PS订阅用户的状态信息的消息交互图;
图8示出了本发明实施例中实现在线用户搜索并缓存搜索结果的消息交互图。
具体实施方式
本发明中,为SP设置存储单元,该存储单元用于存储用户的基本信息和状态信息,这样,SP收到来自XDMC的在线用户搜索请求后,可直接根据存储单元中存储的用户的基本信息和状态信息,确定符合搜索条件的在线用户,在线用户搜索请求中携带有该搜索条件,然后向XDMC返回符合搜索条件的在线用户。
图4示出了本发明实施例中实现在线用户搜索的系统结构示意图,如图4所示,该系统包括XDMC、AP、SP、XDMS、存储单元和PS,其中,XDMC用于向AP发送在线用户搜索请求,接收AP转发的在线用户搜索结果;AP用于向SP转发收到的在线用户搜索请求,并向XDMC转发来自SP的在线用户搜索结果;SP用于通过与PS的订阅关系获取用户的状态信息,并存储于存储单元,并且,在收到来自XDMC的在线用户搜索请求后,根据存储单元中存储的用户的基本信息和状态信息,确定符合搜索条件的在线用户,然后向AP返回符合搜索条件的在线用户;存储单元用于存储用户的基本信息和状态信息。XDMS用于将用户的基本信息存储于存储单元。可为XDMS和SP设置相同的存储单元,这样,图4中的存储单元是SP和XDMS共用的存储单元,该存储单元中直接存储有用户的基本信息,还存储有SP通过与PS的交互得到的用户的状态信息;也可为XDMS和SP设置不同的存储单元,这样,图4中的存储单元是为SP单独设置的,为XDMS设置的存储单元中存储有用户的基本信息,如用户的URI、昵称、年龄、国家、地区、性别等等,SP通过与XDMS的交互获取用户的基本信息,存储于为SP设置的存储单元中,此时SP与XDMS之间具有连接关系,如通过接口相连,并且,SP通过与PS的交互获取用户的状态信息,存储于为SP设置的存储单元。XDMC与AP之间依照XML配置访问协议(XML Configuration Access Protocol,XCAP)进行通信,SP与PS之间依照会话初始协议(Session Initiation Protocol,SIP)进行通信。
由于SP需要通过与PS的订阅关系获取所有用户是否在线的状态信息,因此,可设置SP与PS之间的接口为PS-X,以实现SP对全部用户的状态信息的订阅。
图5A示出了本发明中实施例一的系统结构示意图,如图5A所示,该系统包括XDMC、AP、SP、XDMS、存储单元和PS,SP和XDMS共用相同的存储单元,即为SP和XDMS设置相同的存储单元,这样,存储单元中直接存储有用户的基本信息,并且进一步存储有用户的状态信息,用户的状态信息是SP通过与PS的交互得到的。XDMS可对存储单元中存储的用户的基本信息进行添加、修改和删除,例如,XDMS增加用户的基本信息项目、或增加用户等。SP可根据PS提供的用户当前的在线信息对存储单元中存储的用户状态信息进行更新。
图5B示出了本发明中实施例一流程图,如图5B所示,本实施例中实现在线用户搜索的处理过程包括以下步骤:
步骤501:SP到PS上获取所有用户的状态信息(Get Presence & Subscribe),并将用户的状态信息存储于存储单元。为保证存储单元中存储的用户的状态信息的实时性,SP可通过与PS的订阅关系,由PS主动向SP提供发生变化的用户的状态信息,使得SP能够及时获知哪些用户的状态发生了变化,SP根据变化的状态信息对存储单元中存储的用户的状态信息进行更新。为避免PS与SP的频繁交互,PS可在当前条件满足设定条件时,向SP提供发生变化的用户的状态信息,例如,设置的定时器超时,或状态发生变化的用户数量达到设定值时,PS向SP提供发生变化的用户的状态信息。SP根据收到的用户的状态信息对存储单元存储的用户的状态信息进行更新。另外,也可由SP周期性向PS请求用户当前的状态信息,SP根据PS提供的用户的状态信息对所述存储单元中存储的用户的状态信息进行更新,以周期性对存储单元中存储的用户的状态信息进行更新,保证存储单元中存储的用户的状态信息的实时性。
步骤502~步骤503:XDMC向AP发送在线用户搜索请求(Search with XDM& Online),该在线用户搜索请求中携带有搜索条件,请求搜索符合搜索条件的在线用户。AP收到在线用户搜索请求后,向SP转发该在线用户搜索请求。
步骤504:SP收到在线用户搜索请求后,根据存储单元存储的用户的基本信息和状态信息,对用户进行搜索,确定符合搜索条件的在线用户。
步骤505~步骤506:SP向AP返回在线用户搜索结果(Search results),AP向XDMC转发该在线用户搜索结果,在线用户搜索结果中携带有符合搜索条件的用户的基本信息,在线用户搜索结果中可进一步携带有表明用户在线的状态信息。
用户的基本信息发生变化时,XDMS将变化的用户的基本信息存储于存储单元,这样,可有效保证存储单元中存储的用户基本信息的实时性。
图6A示出了本发明中实施例二的系统结构示意图,如图6A所示,该系统包括XDMC、AP、SP、XDMS、PS、为SP设置的第一存储单元和为XDMS设置的第二存储单元,第二存储单元中存储有用户的基本信息。第一存储单元中存储有用户的基本信息和状态信息,用户的基本信息是SP通过与XDMS的交互得到的,用户的状态信息是SP通过与PS的交互得到的。
图6B示出了本发明中实施例二流程图,如图6B所示,本实施例中实现在线用户搜索的处理过程包括以下步骤:
步骤601:SP到XDMS上获取所有用户的基本信息(Get Personal Info &Timed Get),并将用户的基本信息存储与第一存储单元。为保证第一存储单元中存储的用户的基本信息的实时性,XDMS主动向SP提供发生变化的用户的基本信息,使得SP能够及时获知哪些用户的基本信息发生了变化,SP根据变化的用户的基本信息对第一存储单元中存储的用户的基本信息进行更新。为避免XDMS与SP的频繁交互,XDMS可在当前条件满足设定条件时,向SP提供发生变化的用户的基本信息,例如,设置的定时器超时,或基本信息发生变化的用户数量达到设定值时,或设置的定时器超时或状态发生变化的用户数量达到设定值任一条件满足时,表明当前条件满足设定条件,XDMS向SP提供发生变化的用户的基本信息。SP根据收到的用户的基本信息对第一存储单元中存储的用户的基本信息进行更新。另外,也可由SP周期性向XDMS请求用户当前的基本信息,SP根据XDMS提供的用户的基本信息对第一存储单元中存储的用户的基本信息进行更新,以周期性对第一存储单元中存储的用户的基本信息进行更新,保证第一存储单元中存储的用户的基本信息的实时性。
步骤602与步骤501相同。
步骤601与步骤602之间没有明显的执行顺序,既可先执行步骤601,再执行步骤602;也可可先执行步骤602,再执行步骤601;还可同时执行步骤601和步骤602。
步骤603步骤607与步骤502~步骤506相同。
另外,以上两个实施例中,SP对一条在线用户搜索请求进行处理后,可将相应搜索条件和符合该搜索条件的在线用户进行缓存,后续过程中,如果SP收到针对相同搜索条件发起的在线用户搜索请求,则可不再对符合搜索条件的在线用户进行搜索,而是直接将缓存的符合搜索条件的在线用户提供给发起相应在线用户搜索请求的XDMC,使得SP无需针对每条在线用户搜索请求都到存储单元中进行查询,以减缓SP对为其设置的存储单元的查询压力。为避免缓存的数据量过大,可对缓存的数据量进行限制,如将缓存的数据量保持在设定参数内,或设置有效时间长度,当缓存某一搜索条件的搜索结果的时间长度大于有效时间长度时,则将相应搜索结果丢弃。
图7示出了本发明实施例中SP向PS订阅用户的状态信息的消息交互图,如图7所示,SP向PS订阅用户的状态信息的消息交互过程包括以下步骤:
步骤701~步骤702:SP向PS发送订阅请求(SUBSCRIBE),向PS订阅所有用户的状态信息。PS收到订阅请求后,向SP返回200响应(200OK)。
步骤703~步骤705:PS向SP发送通知消息(NOTIFY),该通知消息中携带有所有用户的状态信息。SP收到通知消息后,将用户的状态信息存储于为其设置的存储单元,并向PS返回200响应。
为保证SP设置的存储单元中存储的用户的状态信息的实时性,PS需要向SP提供用户当前的状态信息,但是为了避免PS与SP频繁交互,增加系统的通信负担,可在当前条件满足设定条件时,PS向SP提供用户当前的状态信息,具体参见步骤706~步骤707。
步骤706~步骤707:当前条件满足设定条件时,PS向SP发送通知消息,该通知消息中携带有发生变化的用户的状态信息。可通过定时机制或总数控制对当前条件是否满足设定条件进行控制,例如,设定的定时器超时时,表明当前条件满足设定条件,PS向SP提供发生变化的用户的状态信息,又如,状态发生变化的用户数量达到设定值时,表明当前条件满足设定条件,PS向SP提供发生变化的用户的状态信息;也可通过定时机制与总数控制相结合的方式,对当前条件是否满足设定条件进行控制,例如,设定定时器超时或状态发生变化的用户数量达到设定值任一条件满足时,表明当前条件满足设定条件,PS向SP提供发生变化的用户的状态信息。
步骤708~步骤709:SP收到通知消息后,对为其设置的存储单元中存储的用户的状态信息进行更新,并向PS返回200响应。
以上描述的是PS主动向SP提供发生变化的用户的状态信息的实现方式,实际上,SP也可周期性主动请求PS提供发生变化的用户的状态信息,PS根据SP的请求,周期性向SP提供发生变化的用户的状态信息。
以上所述SP订阅所有用户的状态信息是通过自定义接口的方式来实现的;也可采用扩展群组的订阅方式来实现,例如,将所有用户设置为一个群组,SP向PS订阅该群组内所有用户的状态信息;还可采用对每个用户的状态信息进行订阅的实现方式,如SP采用资源列表服务器(Resource List Server,RLS)向PS订阅各用户的状态信息,即SP通过RLS向PS订阅用户的状态信息。
图8示出了本发明实施例中实现在线用户搜索并缓存搜索结果的消息交互图,如图8所示,实现在线用户搜索并缓存搜索结果的消息交互过程包括以下步骤:
步骤801:XDMC向AP发送获取消息(GET),该获取消息中携带有搜索条件,请求搜索符合搜索条件的在线用户。
步骤802~步骤803:AP对XDMC进行鉴权,XDMC通过鉴权后,AP向SP转发来自XDMC的获取消息,该获取消息中携带有搜索条件。
步骤804~步骤805:SP收到获取消息后,解析搜索条件,根据为其设置的存储单元中存储的用户的基本信息和状态信息,确定符合搜索条件的在线用户,SP确定出的符合搜索条件的在线用户不必是符合搜索条件的全部在线用户,即SP确定出的符合搜索条件的在线用户仅为符合搜索条件全部在线用户的一部分,如SP根据配置值搜索出相应数量的在线用户。SP向XDMC返回搜索结果时,可不向XDMC返回搜索出的全部在线用户,而只是返回其中一部分在线用户,这样,SP对部分在线用户的信息进行封装,并对当前会话(Session)进行存储,当前会话包括搜索条件和搜索出的符合搜索条件的在线用户。
步骤806~步骤807:SP向AP发送返回消息(return),该返回消息中携带有封装的搜索结果。AP收到返回消息后,向XDMC转发该返回消息。
步骤808~步骤809:XDMC向AP发送获取消息,该获取消息中携带的搜索条件与步骤801中所述的搜索条件相同。AP收到获取消息后,向SP转发该获取消息。
步骤810~步骤813:SP收到获取消息后,解析搜索条件,将该搜索条件与存储的会话中的搜索条件相比较确定相同,而SP已经缓存了符合该搜索条件的在线用户,因此,SP无需再向存储单元搜索符合搜索条件的在线用户,只需将缓存的搜索结果提供给XDMC即可,因此,SP封装搜索结果,然后向AP发送返回消息,该返回消息中携带有封装的搜索结果。AP收到返回消息后,向XDMC转发该返回消息。
以上描述的是同一XDMC针对相同搜索条件发起在线用户搜索请求的处理,实际应用中,SP缓存某一搜索条件的搜索结果后,如果后续有其他XDMC针对相同搜索条件发起在线用户搜索请求,SP仍是将缓存的搜索结果提供给相应XDMC。
另外,SP每次向XDMC返回的符合搜索条件的在线用户的数量可为固定值,该固定值可由XDMC指定也可由SP设置,以避免SP与XDMC之间交互的数据量过大。这样,在SP搜索出的符合搜索条件的在线用户的数量非常大时,可有效避免由于搜索结果中包含的用户数量过多,而导致的XDMC处理能力不足。
如果XDMC发起的在线用户搜索请求中仅携带有搜索条件,SP向XDMC返回搜索结果时,也可进一步向XDMC提供附加信息,例如,SP根据搜索出的符合搜索条件的在线用户数量确定随机数(random),向XDMC返回从随机数开始处开始的M个符合搜索条件的在线用户,并向XDMC提供随机数和总页数。后续过程中,XDMC针对相同搜索条件发起在线用户搜索请求时,可根据附加信息要求SP提供相应搜索结果。例如,要求SP返回位于L页上的符合搜索条件的在线用户,或要求SP返回从随机数开始的、位于第K页上的符合搜索条件的在线用户。
此外,XDMC发起的在线用户搜索请求中也可进一步携带有附加信息,SP在搜索出的符合搜索条件的在线用户中确定出符合附加信息的搜索结果,向XDMC提供相应搜索结果。通过附加信息,可使SP随机地向XDMC返回符合搜索条件的在线用户。例如,XDMC发起的在线用户搜索请求中携带有随机数,SP确定符合搜索条件的在线用户后,根据随机数向XDMC返回在符合搜索条件的在线用户中位于随机数后的在线用户,或向XDMC返回在符合搜索条件的在线用户中位于随机数后的一定数量的在线用户。例如,XDMC发起的在线用户搜索请求中携带有随机数和页(page),SP确定符合搜索条件的在线用户后,根据随机数和页向XDMC返回的搜索结果为位于第N页的随机数后的符合搜索条件的在线用户,或为位于第N页的随机数后的一定数量的符合搜索条件的在线用户,或从随机数开始的、位于第N页的符合搜索条件的在线用户。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种实现在线用户搜索的方法,其特征在于,该方法包含以下步骤:
A、搜索代理SP接收可扩展标记语言文档管理客户端XDMC的在线用户搜索请求,该在线用户搜索请求中携带有搜索条件;
B、SP根据存储的用户的基本信息和状态信息确定符合所述搜索条件的在线用户,向XDMC返回所述在线用户。
2.根据权利要求1所述的方法,其特征在于,为SP单独设置存储单元,该存储单元存储所述用户的基本信息和状态信息。
3.根据权利要求2所述的方法,其特征在于,所述步骤A之前进一步包括:
A01、SP通过与可扩展标记语言文档管理服务器XDMS的交互获取用户的基本信息,并存储于所述存储单元。
4.根据权利要求3所述的方法,其特征在于,所述步骤A01之后进一步包括:
XDMS在当前条件满足设定条件时,向SP提供发生变化的用户的基本信息,SP根据收到的用户的基本信息对所述存储单元中存储的用户的基本信息进行更新;或
SP周期性向XDMS请求用户当前的基本信息,SP根据XDMS提供的用户的基本信息对所述存储单元中存储的用户的基本信息进行更新。
5.根据权利要求4所述的方法,其特征在于,所述当前条件是:设置的定时器超时;或基本信息发生变化的用户数量达到设定值;或以上二者的组合。
6.根据权利要求1所述的方法,其特征在于,SP和XDMS共用存储单元,该存储单元存储所述用户的基本信息和状态信息。
7.根据权利要求1、2或6所述的方法,其特征在于,所述步骤A之前进一步包括:
A02、SP通过与呈现服务器PS的交互获取用户的状态信息,并存储于所述存储单元。
8.根据权利要求6所述的方法,其特征在于,所述步骤A02之后进一步包括:
PS在当前条件满足设定条件时,向SP提供发生变化的用户的状态信息,SP根据收到的用户的状态信息对所述存储单元中存储的用户的状态信息进行更新;或
SP周期性向PS请求用户当前的状态信息,SP根据PS提供的用户的状态信息对所述存储单元中存储的用户的状态信息进行更新。
9.根据权利要求8所述的方法,其特征在于,所述当前条件是:设置的定时器超时;或状态信息发生变化的用户数量达到设定值;或以上二者的组合。
10.根据权利要求1、2或6所述的方法,其特征在于,所述步骤B之后进一步包括:SP存储搜索条件和符合该搜索条件的在线用户,SP收到携带有所述搜索条件的在线用户搜索请求后,直接将存储的符合所述搜索条件的在线用户提供给发起所述在线用户搜索请求的XDMC。
11.一种实现在线用户搜索的系统,其特征在于,该系统包括:XDMC、存储单元和SP,
所述XDMC,用于发送携带有搜索条件的在线用户搜索请求,并接收符合搜索条件的在线用户;
所述存储单元,用于存储用户的基本信息和状态信息;
所述SP,用于根据所述用户的基本信息和状态信息确定符合所述搜索条件的在线用户,并向XDMC提供所述在线用户。
12.根据权利要求11所述的系统,其特征在于,该系统进一步包括:XDMS,所述存储单元是:SP和XDMS共用的存储单元。
13.根据权利要求11所述的系统,其特征在于,该系统进一步包括:XDMS和为XDMS设置的第二存储单元,
所述第二存储单元,用于存储用户的基本信息;
所述XDMS,用于向SP提供所述用户的基本信息;
所述SP,进一步用于将所述用户的基本信息存储于所述存储单元。
14.根据权利要求11至13任一所述的系统,其特征在于,该系统进一步包括:PS,
所述PS,用于向SP提供用户的状态信息;
所述SP,进一步用于将所述用户的状态信息存储于所述存储单元。
15.根据权利要求11至13任一所述的系统,其特征在于,所述SP进一步用于:存储搜索条件和符合该搜索条件的在线用户,收到携带有所述搜索条件的在线用户搜索请求后,直接将存储的符合所述搜索条件的在线用户提供给发起所述在线用户搜索请求的XDMC。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101379383A CN101174963A (zh) | 2006-10-31 | 2006-10-31 | 一种实现在线用户搜索的方法和系统 |
PCT/CN2007/002313 WO2008052409A1 (fr) | 2006-10-31 | 2007-08-01 | Procédé pour la mise en oeuvre d'une recherche destinée à des utilisateurs en ligne et système apparenté |
EP07785227A EP2026498A4 (en) | 2006-10-31 | 2007-08-01 | METHOD FOR IMPLEMENTING RESEARCH FOR ONLINE USERS AND RELATED SYSTEM |
CN2007800003953A CN101317368B (zh) | 2006-10-31 | 2007-08-01 | 一种实现在线用户搜索的方法和系统 |
US12/343,054 US20090106212A1 (en) | 2006-10-31 | 2008-12-23 | Method and system for searching for online users |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101379383A CN101174963A (zh) | 2006-10-31 | 2006-10-31 | 一种实现在线用户搜索的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101174963A true CN101174963A (zh) | 2008-05-07 |
Family
ID=39343797
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101379383A Pending CN101174963A (zh) | 2006-10-31 | 2006-10-31 | 一种实现在线用户搜索的方法和系统 |
CN2007800003953A Expired - Fee Related CN101317368B (zh) | 2006-10-31 | 2007-08-01 | 一种实现在线用户搜索的方法和系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800003953A Expired - Fee Related CN101317368B (zh) | 2006-10-31 | 2007-08-01 | 一种实现在线用户搜索的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090106212A1 (zh) |
EP (1) | EP2026498A4 (zh) |
CN (2) | CN101174963A (zh) |
WO (1) | WO2008052409A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025703A (zh) * | 2009-09-23 | 2011-04-20 | 中兴通讯股份有限公司 | 用于融合地址簿的搜索反向定位方法及装置 |
CN108063681A (zh) * | 2016-11-08 | 2018-05-22 | 北京国双科技有限公司 | 一种实现单点登录系统中账户同步的方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011096853A1 (en) * | 2010-02-02 | 2011-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for routing xcap requests |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181438B1 (en) * | 1999-07-21 | 2007-02-20 | Alberti Anemometer, Llc | Database access system |
US20040152517A1 (en) * | 2000-02-14 | 2004-08-05 | Yon Hardisty | Internet based multiplayer game system |
US6847974B2 (en) * | 2001-03-26 | 2005-01-25 | Us Search.Com Inc | Method and apparatus for intelligent data assimilation |
CN1438798A (zh) * | 2003-02-15 | 2003-08-27 | 李瑞军 | 一种网络电话系统 |
CN1997992A (zh) * | 2003-03-26 | 2007-07-11 | 维克托·西 | 用于无线网络的在线智能多语种比较商店代理 |
US20050210008A1 (en) * | 2004-03-18 | 2005-09-22 | Bao Tran | Systems and methods for analyzing documents over a network |
US7917467B2 (en) * | 2004-06-18 | 2011-03-29 | Sap Ag | Processing of data sets in a computer network |
CN100401687C (zh) * | 2005-10-20 | 2008-07-09 | 华为技术有限公司 | 网络中的个人数据搜索系统和方法 |
CN100563196C (zh) * | 2005-11-25 | 2009-11-25 | 华为技术有限公司 | 通信系统和在通信系统中查询信息的方法 |
-
2006
- 2006-10-31 CN CNA2006101379383A patent/CN101174963A/zh active Pending
-
2007
- 2007-08-01 EP EP07785227A patent/EP2026498A4/en not_active Withdrawn
- 2007-08-01 CN CN2007800003953A patent/CN101317368B/zh not_active Expired - Fee Related
- 2007-08-01 WO PCT/CN2007/002313 patent/WO2008052409A1/zh active Application Filing
-
2008
- 2008-12-23 US US12/343,054 patent/US20090106212A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025703A (zh) * | 2009-09-23 | 2011-04-20 | 中兴通讯股份有限公司 | 用于融合地址簿的搜索反向定位方法及装置 |
CN102025703B (zh) * | 2009-09-23 | 2016-03-30 | 中兴通讯股份有限公司 | 用于融合地址簿的搜索反向定位方法及装置 |
CN108063681A (zh) * | 2016-11-08 | 2018-05-22 | 北京国双科技有限公司 | 一种实现单点登录系统中账户同步的方法及装置 |
CN108063681B (zh) * | 2016-11-08 | 2020-10-27 | 北京国双科技有限公司 | 一种实现单点登录系统中账户同步的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101317368B (zh) | 2010-12-08 |
WO2008052409A1 (fr) | 2008-05-08 |
EP2026498A4 (en) | 2009-11-11 |
EP2026498A1 (en) | 2009-02-18 |
US20090106212A1 (en) | 2009-04-23 |
CN101317368A (zh) | 2008-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101002451B (zh) | 通过sip事件包的定义支持对一定上下文中的资源进行查询的方法、系统和计算机程序 | |
CN101388837B (zh) | 路由选择方法、业务网络及网络设备 | |
CN101506800B (zh) | 通过使用xml文档的位置描述实现xml文档管理功能的xdm系统和方法 | |
CN101854338A (zh) | 订户设备及其订阅管理方法、实时通信方法和系统 | |
CN101160913A (zh) | 一种离线消息处理方法 | |
CN112399130B (zh) | 云视频会议信息的处理方法、装置、存储介质和通信设备 | |
CN101821991B (zh) | 用于管理网络中的用户优选项简档的方法和系统 | |
JP2005312045A5 (zh) | ||
CN101160884A (zh) | 查询代理、通信系统和在通讯系统中查询信息的方法 | |
CN101553782B (zh) | 用于管理可扩展标记语言文档管理服务器历史的系统和方法 | |
WO2004114633A1 (en) | Systems and methods for event semantic binding in networks | |
CN101364952A (zh) | 事件订阅方法及过滤规则配置方法和相关设备 | |
CN101647255A (zh) | 用于管理应用程序集合体的方法和装置 | |
CN102761853A (zh) | 终端管理系统及方法 | |
CN101286875B (zh) | 一种批量处理xml文档的方法、系统、装置和终端 | |
CN105227636A (zh) | 用于实施发布处理的系统和方法 | |
CN101317368B (zh) | 一种实现在线用户搜索的方法和系统 | |
CN111193789A (zh) | 订阅信息推送方法、装置、计算机设备和可读存储介质 | |
CN101951576A (zh) | Ussd应用业务的实现方法和ussd中心 | |
KR20230084188A (ko) | 무선 통신 시스템에서 미션 크리티컬 서비스를 처리하는 시스템 및 방법 | |
RU2502225C2 (ru) | Способ обработки услуг, система связи и соответствующие устройства | |
WO2012110079A1 (en) | Distribution of data processing | |
EP2232896B1 (en) | Methods and apparatus for determining a list of members for a push to talk communications service | |
CN107231387A (zh) | 一种用于移动客户端的信息交互方法 | |
CN104243560A (zh) | 移动设备上的web服务系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080507 |