一种消息系统中会话历史处理方法及消息系统的制作方法

文档序号:7969744阅读:429来源:国知局
专利名称:一种消息系统中会话历史处理方法及消息系统的制作方法
技术领域
本发明涉及消息业务处理技术,尤指一种在多方会议会话消息系统中, 对会话历史进行处理的方法及消息系统。
背景技术
消息业务属于一种基于呈现(Presence)的个人对个人、个人对群组的 消息类的移动数据业务,消息系统除了应具备基本信息交互能力外,还应为 用户提供基于定制的增强业务体验,比如,在消息会话的过程中用户发送、 接收的消息可以作为会话历史信息记录下来,会话结束后允许用户有选择地 管理会话历史中的消息。消息业务可以在移动通信网络、Internet网络等上开 展,其中,移动网络包括现有的2G、 2.5G,未来的3G、以及多媒体子域等。支持会i舌历史功能(Conversation History Function )的消息系统,为会 话参与各方用户之间收发的消息提供了网络存储,每一位消息业务的签约用户都拥有对应于各自会话历史信息的网络备份。会话历史信息包括会话历史 消息(Conversation History Messages )和会话历史元数据(Conversation History Metadata )。其中,会话历史消息记录用户会话过程中参会各方收发 的所有消息,是会话历史信息的主要栽体,允许用户在会话结束后重新取回 其中感兴趣的内容;会话历史元数据作为会话历史功能管理信息,是消息业 务提供者设置的结构化内容,可以看作是会话历史信息的摘要。图1是现有的会话历史功能结构示意图,如图l所示,消息系统中的会 话历史功能分布在消息业务服务器(MS)和可扩展标记语言(XML)文档 管理服务器(XDMS),并利用聚合代理(AP, Aggregating Proxy )、搜索代 理(SP, Search Proxy)为消息业务用户代理(UA, User Agent)提供会话
历史功能。根据用户代理中消息业务客户端的请求,消息业务服务器(会话历史功 能)负责会话历史消息的存储,并将会话历史元数据通过聚合代理,存^f者到X固Server。对于会话历史的检索,用户代理中的文档管理客户端通过聚合代理、经 由搜索代理,从XDM Server中检索会话历史元数据。用户代理中的消息业 务客户端根据检索到的会话历史元数据,从消息业务服务器(会话历史功能) 进行取回、删除会话历史消息等管理操作。图2是现有消息系统中会议会话如聊天室的会话历史存储示意图,其中 包括记录会话过程实际内容的会话文件(Conversation File),以及对应的 会话历史元数据信息。由于现有消息系统会话历史功能提供了会话过程中会话历史消息的存 储能力,因此可以满足用户记录会话历史的基本需求;但是,现有方案的会 话历史元数据层次结构中仅记录下用户参与了哪些会话以及会话本身所拥 有的元数据,如会话开始/结束时间,主题等整体概要性元数据,而未曾涉 及到会话历史存储内部每条历史消息中所包含的用户有可能感兴趣的实际 内容,这将导致现有消息系统为用户提供的会话历史管理功能局限于会话层 面,而无法更加细致地检索和维护消息层面的会话历史信息,限制了用户对 会话历史信息检索、删除等管理的能力,即用户对会话历史的操作脱离了会 话中具体的消息内容而被限制在会话层面,用户无法有选择的直接获取可能 感兴趣的消息,比如,用户不能按照消息发送者/接收者、消息发送时间等 与消息相关的信息,;险索感兴趣的会话历史信息。目前消息系统中提供的会议会话历史功能存有局限,不能保存更多更详 细的会话历史信息,使得用户不能灵活实现对会话历史信息的管理,降低了 消息系统的服务质量
发明内容
有鉴于此,本发明的主要目的在于提供一种消息系统中会话历史处理方 法,能够实现用户对会话历史信息的灵活管理,提高消息系统的服务质量。本发明的另 一 目的在于提供一种消息系统,能够实现用户对会话历史信 息的灵活管理,提高消息系统的服务质量。为达到上述目的,本发明的技术方案具体是这样实现的 一种消息系统中会话历史处理方法,该方法包括在消息系统中设置会 话历史元数据的数据结构,所述会话历史元数据包括用于描述会话历史消息 的会话消息元数据;按照会话历史元数据的组成生成并存储会话历史元数据。 所述生成并存储会话历史元数据具体包括客户端经由自身归属网络中的消息业务功能实体,向所述消息系统中的 会话历史功能实体请求存储其所参与的会议会话过程中出现的所有消息;会话历史功能实体向控制功能会议会话控制功能实体发送邀请请求,请 求邀请自身加入会议会话作为会话参与方;会议会话控制功能实体将接收到的来自会议会话参与客户端的消息转 发给会话历史功能实体,会话历史功能实体存储会议会话历史消息,并按照该方法还包括客户端经由消息业务功能实体向会话历史功能实体请求离开当前会话 或请求结束对会议会话消息的存储,会话历史功能实体向会议会话控制功能 实体请求结束对会议会话消息的存储;会议会话控制功能实体经由会话历史功能实体、消息业务功能实体向客 户端返回结束会议会话消息存储响应。该方法还包括在会议会话开始前系统中已保存客户的签约信息,并按 照签约信息触发会话历史存储功能。所述生成并存储会话历史元数据的方法为 元数据客卢端向聚合代理发送会话历史元数据存储请求; 聚合代理根据接收到的会话历史元数据存储请求中携带的访问地址,将接收到的会话历史元数据存储请求转发至该访问地址所对应的元数据存储; 元数据存储检查客户端的操作权限,并执行会话历史元数据存储操作,按照所述会话历史元数据的组成生成当前会话中的会话历史元数据并存<诸。 该方法还包括获取存储的会话历史元数据,具体为 客户端经由聚合代理向搜索代理请求查询会话历史元数据; 搜索代理根据接收到的请求中携带的查询条件确定需要查询的会话历史元数据在消息系统中的存储位置,并向该位置对应的元数据存储请求查询会话历史元数据;元数据存储执行会话历史元数据查询,获得与查询条件匹配的会话历史 元数据。该方法还包括所述元数据存储经由搜索代理和聚合代理,向所述客户 端返回获得的会话历史元数据。该方法进一步包括获取会话历史消息,具体为客户端根据获得的会话历史元数据选择自身需要的会话历史消息,并利 用对应的会话历史消息标识,经由消息业务功能实体向会话历史功能实体请 求对应的会话历史消 息 ,会话历史功能实体根据所述会话历史消息标识,检索消息系统中存储的 会话历史消息,以获得对应的每条会话历史消息,并返回给客户端。该方法进一步包括获取会话历史消息,具体为客户端根据获得的会话历史元数据选择自身需要的会话历史消息,并利 用对应的会话历史消息标识,经由消息业务功能实体向所述会议会话控制功 能实体请求对应的会话历史消息;会议会话控制功能实体将与所述会话历史消息标识对应的各会话历史 消息作为仅能发送的虚拟客户端,建立临时会话,并邀请所述客户端与位于 会话历史功能实体中的各虚拟客户端参与建立的临时会话;
虚拟客卢端将自身的会话历史消息发送给会议会话控制功能实体,会议 会话控制功能实体将获得的会话历史消息经由消息业务功能实体发送给客户端。该方法还包括获取所述会话历史消息的上下文消息。 所述获取的方法为所述客户端根据获得的会话消息元数据中携带的消息序列号及所属会 话标识,构造检索同 一 会话中具有上 一 个或下 一 个序列号的会话消息元数据 ;险索请求,获取所需上下文消息;或者,所述客户端根据获得的会话消息元数据中携带的所属会话标识, 构造定位同一会话中第一条或最后一条会话消息元数据检索请求,获取所需 上下文消息。该方法还包括删除存储的会话历史元数据,具体为 客户端向聚合代理请求删除会议会话历史;聚合代理根据接收到的请求中携带的删除条件,删除满足条件的会话历 史元数据。所述会话消息元数据包括以下 一 项或 一 项以上消息标题、或者消息发送者、或者消息接收者、或者消息序列号、或者 消息存储尺寸、或者会话历史中会话历史消息的唯一标识,或者消息发送时 间。所述会话历史元数据包括以下一项或一项以上会话主题、或者会话历 史期限、或者会话存储空间、或者会话开始时间、或者会话结束时间、或者 会话历史文件名,或者会话历史文档存储路径。所述各会话消息元数据与自身隶属的会话历史元数据紧耦合存储; 存储在会话历史存储中的已有不同会话存储单元的各会话消息,与会话历 史元数据中的各会话消息元数据一一对应。所述各会话消息元数据与自身隶属的会话历史元数据松耦合存储; 存储在会话历史存储中的已有不同会话存储单元的各会话消息,与会话历史元数据中的各会话消息元数据——对应。会话历史消息和会话历史元数据存储在消息业务服务器; 或者,会话历史消息和会话历史元数据存储在数据存储设备; 或者,会话历史消息存储在消息业务服务器,会话历史元数据存储在数 据存储设备;或者,会话历史消息存储在数据存储设备,会话历史元数据存储在消息 业务服务器。所述存储的方式为同 一会话中的所有会话历史消息存储在 一 个或 一 个以上文件中; 或者,将每对参与会话的用户之间收发的所有会话历史消息存放在一个 物理文件中;或者利用数据库存储。 该方法还包4舌用户通过客户端预先设置的界面,输入检索或删除条件,进行检索或删 除操作;或者,所述客户端通过预先设置的界面,向用户显示符合查询或删除条 件的消息列表;或者,所述客户端根据用户从消息列表中做出的选择,构造与该选择对 应的包含会话历史元数据的请求消息;或者,所述客户端通过预先设置的界面,显示获取的消息给用户,或显 示删除是否成功的结果给用户。一种消息系统,至少包括会话历史功能实体,用于实现会话历史数据的存储;接收存储客户端所 参与的会议会话过程中出现的所有消息的请求,向控制功能会议会话控制功 能实体发送邀请请求;存储来自会议会话控制功能实体的会议会话历史消 息,按照自身预先设置的会话历史元数据的组成生成并存储会议会话历史元 数据到元数据存储;
元数据存储,用于实现会话历史元数据数据的存储;会议会话控制功能实体,用于实现会议会话控制的逻辑实体,接收来自 会话历史功能实体的邀请请求,邀请该会话历史功能实体加入会议会话作为 会话参与方;将接收到的来自会议会话参与客户端的消息转发给会话历史功 能实体。该系统还包括消息业务功能实体,用于提供消息业务的应用服务器,转发消息系统与 客户端间交互的信息。 该系统还包括所述会话历史功能实体、元数据存储分别集成在消息业务功能实体中, 或者是消息系统中独立的网络实体。由上述技术方案可见,本发明通过对会话历史元数据的设置,包括会话 层面的会话历史元数据,还包括用于描述会话历史消息的消息层面的会话消 息元数据,丰富了消息系统中存储的元数据,从而实现了用户对会话历史信 息的灵活管理,提高了消息系统的服务质量。这里所说的会话消息元数据可 以包括但不限于消息标题(title)、消息发送者(sender)、消息接收者 (receiver)、消息序列号(sequence )、消息存储尺寸(size )、会话历史 中消息的唯一标识(ID)、消息发送时间(time)等用于描述会话历史消息 的信息。可见,本发明使得用户对会话历史施加的比如检索、删除等操作,扩展 了用户对会话历史信息检索、删除等管理的能力,用户对会话历史的操作建 立在对会话历史消息内容了解的基础之上,比如,用户可以根据消息发送者 /接收者、消息发送时间等与会话历史消息相关的摘要信息来检索其真正感 兴趣的会话历史信息。可见,本发明方法灵活地实现了用户有选择的直接获 取感兴趣的消息,增强了用户会话历史管理能力,提高了消息系统会话历史 功能的业务体验。


图1是现有会话历史功能结构示意图;图2是现有会话历史存储示意图;图3是本发明存储会话历史信息的流程图;图4是本发明会话历史信息在网络中的存储位置示意图;图5a是本发明会话与消息紧耦合的会话历史元数据实现示意图;图5b是本发明会话与消息松耦合的会话历史元数据实现示意图;图6是本发明存储会议会话历史元数据的流程图;图7是本发明获取会议会话历史元数据的流程图;图8是本发明获取会议会话消息的实施例 一 的流程图;图9是本发明获取会议会话消息的实施例二的流程图;图IO是本发明删除会议会话历史信息的流程图。
具体实施方式
本发明的核心思想是在消息系统中设置会话历史元数据的数据结构, 所述会话历史元数据包括用于描述会话历史消息的会话消息元数据;按照会 话历史元数据的组成生成并存储会话历史元数据。为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 较佳实施例,对本发明进一步详细说明。图3是本发明存储会话历史的流程图,如图3所示,涉及到的实体简单 介绍如下客户端A (ClientA)、 Client B分别表示用户A和用户B的客户端;消 息业务功能实体A、消息业务功能实体B分别表示消息系统中用户A和用 户B在其各自的归属网络中提供消息业务的应用服务器;会话历史功能实体 是位于用户A的归属网络中的会话历史管理功能逻辑实体,会话历史功能 实体负责会话历史数据的实际存储;元数据存储是位于用户A的网络中的 会话历史元数据逻辑实体,元数据存储负责会话历史元数据的实际存储;会
议会话控制功能实体是负责会议会话控制的逻辑实体。作为消息业务功能的 组成部分,上述会话历史功能实体、元数据存储既可集成到消息业务功能实 体中,也可作为消息系统中独立的网络实体。另外,如果会话历史消息和元 数据一起存放,会话历史功能实体还应取代元数据存储承担会话历史元数据 的管理任务。假设客户端A和客户端B处于会议会话中,并假设会议会话中客户端A 发起存储会话消息请求,本发明存储会话历史信息的流程包括以下步骤步骤300:客户端A向消息业务功能实体A发送会话初始协议引用(SIP REFER)请求。在SIP REFER消息请求行中的统一资源标识请求(R叫uest-URI)字段 中携带有会话历史功能实体的URI信息如history@hostname,在SIP REFER 请求的Refer-To头域中携带有当前会话的标识,在SIP REFER请求的引用 方法(Refer Method )字段中携带有SIP方法名:邀请(INVITE),以便会话 历史功能实体向会议会话控制功能实体邀请自身加入会话。步骤301 ~步骤302:消息业务功能实体A向会话历史功能实体转发SIP REFER请求,会话历史功能实体向会议会话控制功能实体发送SIP INVITE, 请求邀请自身加入会话。步骤303:会议会话控制功能实体收到请求后,鉴别用户A的权限并在 成功后,向会话历史功能实体返回表示成功响应的SIP200OK消息。该SIP 200OK消息中包含采用多用途网际邮件扩充协议格式的会话描 述协议(MIME SDP)消息体,该MIME SDP消息体作为会话描述并将 direction属性设置为仅发送(sendonly),至此,会话历史功能实体被邀请 加入当前会话,会话记录随之开始。需要说明的是,与其他参会各方不同的 是,会话历史功能实体仅能接收而无法在会议会话中发送消息。步骤304 ~步骤306:会话历史功能实体向会议会话控制功能实体返回 响应(ACK ),同时会话历史功能实体向消息业务功能实体A返回SIP 200OK 响应,消息业务功能实体A向ClientA返回SIP200OK响应。 步骤307: Client A向消息业务功能实体A发送接收方为Client B的消 息会话中继协议(MSRP, Message Session Relay Protocol)消息。会议会话中参会各方会互发消息,消息的媒体类型具有广泛性,使用的 传输协议也不尽相同,比如SIP、 MSRP、实时传输协议(RTP)等。本实施 例中仅以MSRP为传输协议为例进行介绍。步骤308:消息业务功能实体A向会议会话控制功能实体转发接收到的 MSRP消息;步骤309 步骤311:作为会议会话的参与者,会话历史功能实体接收 会议会话控制功能实体转发来的MSRP消息,另一方面,会议会话控制功能 实体经由消息业务功能实体B向另 一会议会话的参与者客户端B转发MSRP消息。假设,已设置包括有用于描述会话历史消息的会话消息元数据的会话元 数据结构,会话历史功能实体接收到MSRP消息后,首先存储收到的会话消 息,比如存放在同一个物理文件中,文件可以是以会话消息标识(msgid) 建立索引的普通文本文件,或者是建立会话、用户、消息分级层次结构的类 似XML标签语言格式,存储方式并不限于此。其次,会话历史功能实体还 会生成并存储相应的会话历史元数据,该会话历史元数据中不仅具有描述会 议会话概要信息的会话历史元数据,还包含对应于会议会话中每条历史消息 的消息元数据信息。具体的会话元数据结构、存储位置和存储过程可参见下 文图4、图5a、图5b和图6的描述,这里不再详述。本实施例中采用将每对参与会话的用户之间收发的所有会话历史消息 存放在一个物理文件中的存储方式。步骤311 步骤314: —方面,会话历史存储成功后,会话历史功能实 体向会议会话控制功能实体返回MSRP 200OK消息,另一方面,客户端B 经由消息业务功能实体B向会议会话控制功能实体返回MSRP 200OK消息。如果会话历史存储失败,则会话历史功能实体可以在会话历史备份中存 储空数据,也可以请求会议会话控制功能实体重发MSRP消息。
步骤315 步骤316:会议会话控制功能实体经由消息业务功能实体A 向Client A转发MSRP 200OK消息。从上述存储方法的描述可见,存储会话消息时,对于会话消息中的会话 元数据将按照预设的包括有用于描述会话历史消息的会话消息元数据的会 话元数据结构进行存储,丰富了消息系统中存储的会话历史元数据。步骤317~步骤325的实现与步骤307 ~步骤316的实现完全一致,只 是会话历史功能实体存储的是Client B向Client A发送的会话消息内容,具 体实现这里不再重述。假设Client A请求离开,包括步骤326: Client A向消息业务功能实体A发送SIP REFER请求,在 SIP REFER请求中Request-URI携带有会话历史功能实体的URI如 history@hostname; Refer-To头域中携带有当前会话的标识;Refer Method 中携带有再见(BYE),以便会话历史功能实体向会议会话控制功能实体请 求结束会议会话,离开会话。步骤327:消息业务功能实体A向会话历史功能实体发送SIP REFER 请求,请求结束会议会话的存储。停止会话历史存储的请求可以发生在会话过程中,也可以在会话结束时 提出。步骤328:会话历史功能实体向会议会话控制功能实体发送SIPBYE, 请求结束会议会话消息存储。步骤329 ~步骤331:会议会话控制功能实体向会话历史功能实体发送 SIP200OK消息,会话历史功能实体停止会话历史的存储,经由消息业务功 能实体A向Client A返回SIP 200 OK。需要说明的是,图3是以在会话过程中存储会话历史信息为例进行描述 的,本发明存储会话历史信息的方法还可以是在会议开始之前,用户在消 息系统中进行了签约并生成签约信息,在会话开始后,便自动根据用户的签 约信息如用户设置偏好等,触发会话历史存储功能。这里,用户的签约具体实现属于现有技术,这里不再赘述。下面结合图4、图5a和图5b,详细描述会话元数据结构、及其存储位置 的实现。本发明支持会话历史信息的多种网络存储方式,根据消息业务运营商网 络设备配置的不同,会话历史信息即会话历史消息和会话历史元数据可以在 消息服务器和数据存储设备如XML文档管理服务器等之间存储,比如会话历史消息和会话历史元数据全部存储在消息业务服务器,如图4所 示,图4是本发明会话历史信息在网络中的存储位置示意图。或者,会话历史消息和会话历史元数据全部存储在数据存储设备;或者,会话历史消息存储在消息业务服务器而会话历史元数据存储在数 据存储设备;或者,会话历史消息存储在数据存储设备而会话历史元数据存储在消息 业务服务器。尽管会话历史信息在网络中可以有上述不同的存储位置,但消息系统会 为消息用户终端提供统一的会话历史功能访问接口,支持一致的会话历史业 务体验。会议会话历史信息记录的是用户会话的过程性信息,包括会话历史消息 和会话历史元数据。会议会话历史信息形式上可能是普通文本消息,也可能 是包含图片、音频、视频的多媒体消息。下面具体描述会话历史消息和会话 历史元数据的具体存储方式。(一)实际会话中,会话历史消息的数量以及每条消息的大小都有较大 差异。本发明支持多种会话历史消息存储方式,比如 1)同 一会话中的所有会话历史消息存储在一个文件中。 由于在一个文件中,存储有该会话中的所有会话历史消息,此时需要为 每条消息建立索引,或者采用指定分割符分段存储,以便区分不同的会话历 史消息。这种会话历史消息存储格式适应于消息数量多且每条消息较小的情 形。2) 同 一会话中的所有会话历史消息存储在多个文件中。当会话历史信息中的会话历史消息数量较少,或者每个会话历史消息较 大如存在多媒体会话历史消息时,会话历史消息可以分开存储。比如,属于同一会话的不同文件之间通过特定机制进行关联如采用包含 一定特征字符的文件名或所存目录为同一目录等。此时,文件中的文本信息 和多媒体会话历史消息既可以统一编码存放在一个物理文件中,也可以通过 在文本文件中添加指向多媒体内容的链接如指针,将多媒体会话历史消息单 独存储在消息系统中。或者,将每对参与会话的用户之间收发的所有会话历史消息存放在一 个 物理文件中,在会话历史信息存取时,利用消息系统为会话分配的唯一标识和收发用户URI,确定文件存储的位置,以获取对应的会话历史消息。此时 文件内容被限于这对用户之间产生的会话消息,文件数量为发生会话的用户 对的数目。本发明实施例中,采取这种会话历史消息存储格式为例进行描述。3) 使用数据库存储会话历史消息。数据库是存储数据信息的传统方式, 关系数据库中二维表格可以用于存储会话历史消息。(二)会话历史元数据中还包括用于描述会话历史消息的会话消息元数据。会话历史元数据的存储方式很多,可以采用任何能够反映元数据层次结 构的数据存储形式,比如符合XML Schema语法规范的XML文档;对消息 系统中会话历史元数据的访问,可以采用任何适当通信协议,比如IETF定 义的XML配置访问协议(XCAP)等。采用上述存储形式和通信协议针对 会话历史元数据进行各种会话历史处理操作包括存储、检索如XML文档 查询(Xquery)、删除等。会话历史元数据实现可以包括两种方式,如图5a和图5b所示。 图5a是本发明会话与消息紧耦合的会话历史元数据实现示意图,如图 5a所示,会话历史信息中每条会话消息元数据如图5a中的msg-metadatal 、
msg-metadata2......msg-metadata n,与其隶属的会i舌历史元^U居j口图5a中的conv-metadata2是紧耦合的,比如在消息元数据的XML结构化定义中,消 息元数椐是作为会话元数据的子元素共同存储于同一个XML文档中的。会 话历史存储中的不同会话存储单元中存储属于该单元的会话消息,且各条消 息与会话历史元数据中的各会话历史消息元数据一一对应。以采用符合XML Schema语法规范的XML文档存储为例,会议会话历 史元数据XML元素层次结构包括根元素即会话历史集合(conv-hist-set),其uri属性指明该会话历史的 所有者;会话元数据元素即会话(conv),其表示用户的一次会话记录,可以包 括会话主题(subject)、会话历史期限(expiry)、会话存储空间(size)、 会话开始时间(time-start)、会话结束时间(time-end)、会话历史文件名 称(filename)、会话历史文档存储路径(history-reference)等子元素,指 明的是会话历史在消息系统中的网络存储位置的db-ref属性;本发明还特别 在会话历史元数据的XML Schema定义中增加了隶属于该会话的消息元数 据即消息(msg),其表示用户会话中收发的消息,具有其"id"属性用来在 会话存储中唯一标识会话消息。在会话的消息元数据XML元素类型定义中,描述会议会话中历史消息 细节的消息元数据可以包括消息标题(title)、消息发送者(sender)、 消息接收者(receiver)、消息序列号(s叫uence)、消息存储尺寸(size)、 会话历史中会话历史消息的唯一标识(id),消息发送时间(time)等。本 发明通过在会议会话历史信息中增加上述针对消息的消息元数据信息,使得 消息系统不仅允许用户浏览会议会话历史概略,还为用户提供了深入会议会 话内部从多个角度检索会议会话历史消息的手段。图5b是本发明会话与消息松耦合的会话历史元数据实现示意图,如图 5b所示,会话历史信息中每条会话消息元数据如图5b中的 msg-metadatai、......msg-metadataj存储在消息元数据集合(msg-metadata-set)中,会话历吏元数据如图5b中的conv-metadata2存储在会话元数据集合中, 二者存储于不同的XML文档之中,通过特定属性如conv属性进行关联。会 话历史存储中的不同会话存储单元中存储属于该单元的会话消息,且各条消 息与会话历史元数据中的各会话历史消息元数据——对应。以上详细介绍了本发明对会话历史信息的存储方式,及会话历史元^t据 的结构,下面详细描述图3中生成并存储会议会话历史元数据的方法,图6 是本发明存储会议会话历史元数据的流程图,如图6所示,元数据客户端是 会话历史功能实体中负责存储会议会话历史元数据的实体;聚合代理是会话 历史功能实体中访问消息系统会话历史存储的代理实体。存储会议会话历史 元数据的方法包括以下步骤步骤600:元数据客户端向聚合代理发送会话历史元数据存储请求。会话历史元数据存储请求中携带有会话历史元数据及执行元数据存储 必需的参数值,比如聚合代理地址如Host:xcap.example.com、 XCAP Root URI长口 xcap.example.com/、 会i舌历史4用有者URI々口 sip:bob@example.com, 以及用于存储会议会话历史元数据的文档名称如history.xml。步骤601:用户身份筌别过程。本步骤的实现可以采用现有很多方法,这里不再赘述。需要说明的是, 本步骤可以省略。步骤602:聚合代理根据接收到的会话历史元数据存储请求URI中XCAP 访问部分,如〃xcap.example .com/conv-hist-se仏将接收到的会话历史元凄t据 存储请求转发至消息系统中元数据存储实体。步骤603:元数据存储实体根椐接收到的会话历史元数据存储请求URI 中用户部分,如/users/sip:bob@example.com/history.xml ,定位出对应与用 户Bob的会话历史元数据存储位置,并按照存储请求中携带的相关信息执行 会话历史元数据存储操作。存储方式可按照上文会话历史元数据的实现方式进行存储。步骤604 ~步骤605:元数据存储经由聚合代理向元数据客户端返回会话 历史元数据存储请求响应如HTTP 200OK消息。存储会议会话历史信息的目的是,用户在会话结束之后能够根据需要重 新查看、获取或者删除历史会话过程中曾经出现的会话消息。获得对应于会话历史信息中用户感兴趣消息的引用或标识,并将其连同 其他元数据信息返回客户端后,用户做出对会话历史信息进行检索的选择和 判断,进而构造和发送会话历史消息下载请求等。通常,采用基于HTTP POST的XQuery查询请求实现会话历史元数据的搜索目的,用于对以XML 文档形式存储的会话历史元数据的访问,XQuery则是一种用于指导如4可发 现并获取XML文档中元素及其属性值的查询语言,这里仅举例说明了查询 方式的实现,并不做限定。图7是本发明获取会议会话历史元数据的流程图,如图7所示,会话历 史元数据的搜索代理是消息系统中负责会话历史元数据搜索代理实体。获取 会议会话历史元数据的方法包括以下步骤步骤700: User Client向聚合代理发送会话历史元数据查询请求。该会话历史元数据查询请求中携带有XQuery查询语句的HTTP POST请求。 本实施例中假设User Client-Bob想要检索主题为Weekend Meet的会话中所 有由Alice发送的历史消息,则在XQuery查询请求中的消息元数据Subject和 sender对应的取值分别为Weekend Meet和Alice,即设置了查询条件。XQuery查询语句的构造属于本领域技术人员公知常识,这里不再详述。步骤701:用户身份鉴别过程。本步骤的实现可以采用现有很多方法,这里不再赘述。需要说明的是, 本步骤可以省略。步骤702:聚合代理通过HTTP POST请求URI中携带的信息如 "org.openmobilealliance.search"字符串判断出接收到的消息为XCAP查询请 求,并将接收到的会话历史元数据查询请求转发给搜索代理。步骤703:搜索代理根据会话历史元数据查询请求中的应用唯一标识 (AUID)携带的信息如"org.openmobilealliance/global/conversation",判断出
接收到的消息为针对会话历史信息的查询请求,并将接收到的会话历史元数 据查询请求转发元数据存储。步骤704:元数据存储执行会话历史元数据查询请求中的XQuery查询语 句,获得与查询条件匹配的会话历史元数据。步骤705 ~步骤707:元数据存储经由搜索代理和聚合代理,向User Client返回会话历史元数据查询请求响应如HTTP 200OK消息。User Client收到会话历史元数据查询请求响应后,将获得符合查询条件 的消息列表即示例中"msg id"和其他消息元数据信息如消息主题、发送时间、 收发人姓名等。在用户客户端,通过预先设置的界面向用户展现上述符合查 询条件的消息列表,而且用户可以通过用户客户端预先设置的界面,输入自 身感兴趣的条件,进行检索或删除等管理操作。本发明提供两种不同的获取会话历史消息的实施例实现方法。图8是本发明直接获取会议会话消息的实施例一 的流程图,如图8所示, 包括以下步骤步骤800: User Client向消息业务功能实体发送SIP INVITE请求,该 SIP INVITE请求中携带有由User Client要检索的历史消息标识(msg id)构 成的URI Lsit。msg id包含在获得的会话历史元数据中。本步骤中,所述客户端根据获得的会话历史元数据选择自身需要的会话 历史消息。并利用对应的会话历史消息标识,经由消息业务功能实体向会话 历史功能实体请求对应的会话历史消息。步骤801 ~步骤802:消息业务功能实体向会话历史功能实体转发SIP INVITE请求;会话历史功能实体经由消息业务功能实体向UserClient返回 SIP 200OK消息。步骤803 步骤804: User Client经由消息业务功能实体向会话历史功 能实体返回ACK。同时,会话历史功能实体从接收到的SIP INVITE请求中携带的URI Lsit
中取出消息引用即msg id ,并利用 msg id检索消息系统中存储的会话历史消 息,以获得每条会话历史消息。步骤805 步骤806:假设会话历史功能实体采用MSRP SEND携带检 索到的会话历史消息,并经由消息业务功能实体发送给User Client。步骤807 步骤808: User Client经由消息业务功能实体向会话历史功 能实体返回MSRP 200OK消息。多次执行步骤803 ~步骤808,直至检索到的会话历史消息全部返回User Client为止。步骤809 步骤810:会话历史消息传送完毕后,会话历史功能实体经 由消息业务功能实体向User Client发送SIP BYE消息,以断开与用户的连接。步骤811 ~步骤812: User Client经由消息业务功能实体向会话历史功能 实体返回SIP 200OK消息。图9是本发明通过建立临时会话来获取会议会话消息的实施例二的流 程图,如图9所示,会议会话控制功能实体是消息系统中会议会话控制的逻 辑实体,包括以下步骤步骤900: User Client向消息业务功能实体发送SIP INVITE请求,SIP INVITE请求的Request-URI字段中携带有会话历史功能实体的URI如 history@hostname, MIME SDP消息体作为会话描述并将其中的direction属 性设置为a=recvonly即仅接收,此外,SIP INVITE请求中还携带有由被检 索msg-id构成的URI Lsit。本步骤中,所述客户端根据获得的会话历史元数据选择自身需要的会话 历史消息。并利用对应的会话历史消息标识,经由消息业务功能实体向会话 历史功能实体请求对应的会话历史消息。步骤901:消息业务功能实体将接收到的SIP INVITE请求转发给会议 会话控制功能实体。步骤902:会议会话控制功能实体经由消息业务功能实体向User Client 返回SIP 200OK消息。步骤卯3 ~步骤904: User Client经由消息业务功能实体向会议会话控 制功能实体返回ACK。同时,会议会话控制功能实体将与所述会话历史消息标识对应的各会话 历史消息作为仅能发送的虚拟客户端,建立临时会话,并邀请所述客户端与 位于会话历史功能实体中的各虚拟客户端参与建立的临时会话会议会话。控 制功能实体从接收到的SIP INVITE请求中携带的URI List中取出消息引用 即msgid,并将msg id对应的会话历史消息作为虚拟User Client,建立临时 会话,大致包括会议会话控制功能实体发送SIP INVITE请求邀请会话历 史功能实体中检索到的每个虚拟User Client加入临时会议会话。其中, "Request-URI"字段标识出会话历史功能实体中代表会话历史消息的虛拟 User Client的URI,如d93kswow @example.com等,MIME SDP消息体作 为会话描述并将direction属性设置为a=sendonly即仅发送;虚拟User Client 向会议会话控制功能实体返回SIP 200OK消息,会议会话控制功能实体向虚 拟User Client返回ACK;会话历史功能实体中^r索到的每个虛拟User Client 将其代表的会话历史消息,按照会议会话中出现的时间顺序发送给会议会话 控制功能实体,比如历史消息通过MSRPSEND封装消息发送;会议会话控 制功能实体向代表会话历史消息的虚拟User Client返回SIP 200OK消息。步骤卯6 步骤卯7:会议会话控制功能实体经由消息业务功能实体向 User Client发送携带有会议会话历史消息的MSRP SEND消息。步骤908 步骤909: User Client经由消息业务功能实体向会议会话控 制功能实体返回MSRP 200OK消息。从会议会话控制功能实体向虚拟User Client返回ACK开始,多次执行至 步骤卯9,直到会话历史功能实体中检索到的所有会议会话历史消息全部发 送给User Client为止,结束临时会话。步骤910:会议会话控制功能实体经由消息业务功能实体向User Client 发送SIPBYE消息,结束与客户端的交互。
步骤911 ~步骤912: User Client经由消息业务功能实体向会议会i奮控 制功能实体返回SIP 200OK消息。在用户获得指定的会议会话历史消息后,用户有可能会进一步了解这些 孤立的会话历史消息所在会话的上下文消息,这里,会话的上下文消息是指 已经检索到会话历史消息所在会话的其他消息,本发明进一 步通过以下步骤 获取会话的上下文消息1) 当用户想要获得已有消息所在会话上一条或下一条历史消息时,用户 终端根据已检索消息序列号(sequence)及其所属会话标识(db-ref)构造一 个检索同 一会话中具有上一个或下一个序列号的会话历史消息元数据4企索 请求,并按照上文描述的获取会话历史消息方法获得想要的会话消息内容即 上下文消息。当检索已至会话历史消息上下文首尾时,用户终端应给出如结 束或继续等提示;2) 当用户想要获得已有消息所在会话第 一条或最后 一条历史消息时,用 户终端应根据已检索消息所属会话标识(db-ref)构造一个用来定位同 一会话 中第一条或最后一条消息元数据检索请求,并按照上文描述的获取会话历史 消息方法获得想要的上下文消息。当检索已至会话历史消息上下文首尾时, 用户终端应给出如结束或继续等提示。在对会话历史信息的管理中,用户可能会删除一些会话历史信息,本发 明删除会议会话历史的方法分为用户主动请求删除和会话历史网络存储策 略自动删除两种方式。图IO是本发明用户主动请求删除会议会话历史信息的流程图,如图10 所示,假设请求删除会议会话历史的用户为Bob,包括以下步骤步骤1000: User Client向聚合代理发送会议会话历史删除请求,该会议 会话历史删除请求中携带有会话历史元数据XCAP访问URI如 〃xcap.example.com/conv-hist-set/~~/history.xml 、 会"i舌历史拥有者 URI ^口 sip:bob@example.com,以及净皮删除的会i义会话历史元凄t据标识。本实施例中,假设User Client-Bob请求删除会话的删除条件包括主
题为Weekend Meet,消息标题(title )为Holiday Picture的会话历史消息, 则XCAP DELETE请求消息中的元数据Subject和title对应的取值分别为 Weekend Meet和Holiday Picture 。 步骤1001:用户身份鉴别过程。本步骤的实现可以采用现有很多方法,这里不再赘述。需要说明的是, 本步骤可以省略。步骤1002:聚合代理根据接收到的会议会话历史删除请求URI中XCAP 访问部分(〃xcap.example.com/conv-hist-set/),将接收到的会议会话历史删除 请转发至消息系统中会话历史元数据所在的元数据存储。步骤1003:元数据存储根据接收到的会议会话历史删除请求URI中用 户吾卩分(users/sip:bob②example.com/history.xm1/~ /conv-hist-set/)定4立出只十应 与用户Bob的会话历史元数据存储,并按照删除条件conv [@db-ref =" storage01@ exampl.com " ]/msg [@id = " d93kswow "]执行会话历史元数据 删除操作。其中,conv [@db-ref = " storage01@ exampl.com " ]/msg [@id =" d93kswow"]表示存储在消息系统的网络存储位置为db-ref的,标识为id的 消息。在会话历史元数据删除成功后,消息系统将按照上述删除条件删除网 络中的会话历史消息存储。步骤1004~步骤1005:元数据存储经由聚合代理向User Client返回 HTTP 200OK消息。本实施例中,Bob仅请求删除会话历史中的一条消息,更一般的情况是 删除整个会话,此时的XCAP DELETE请求消息URI中的会话历史元数据标 识将不包含消息元数据部分。另外,会话历史网络存储策略自动删除的实现是本发明会话历史元数 据结构中expiry的取值用以限定会话历史记录的存储期限,因此, 一旦消息 系统时钟超过exphy的值,相应的会话历史信息将被视为过期,此时会话历 史网络存储实体将会自动删除相应的整个会话历史内容。另外,用户通过客户端预先设置的界面,输入自身感兴趣的条件,进行检索或删除操作;或者,客户端通过预先设置的界面,向用户显示符合奎询 或删除条件的消息列表;或者,客户端根据用户消息列表做出的选择,构造 与条件对应的包含会话历史元数据的请求消息;或者,客户端通过预先设置 的界面,显示删除是否成功的结果,或获取的消息给用户。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护 范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1.一种消息系统中会话历史处理方法,其特征在于,该方法包括在消息系统中设置会话历史元数据的数据结构,所述会话历史元数据包括用于描述会话历史消息的会话消息元数据;按照会话历史元数据的组成生成并存储会话历史元数据。
2. 根据权利要求1所述的方法,其特征在于,所述生成并存储会话历史 元数据具体包括客户端经由自身归属网络中的消息业务功能实体,向所述消息系统中的 会话历史功能实体请求存储其所参与的会议会话过程中出现的所有消息;会话历史功能实体向控制功能会议会话控制功能实体发送邀请请求,请 求邀请自身加入会议会话作为会话参与方;会议会话控制功能实体将接收到的来自会议会话参与客户端的消息转 发给会话历史功能实体,会话历史功能实体存储会议会话历史消息,并按照
3. 根据权利要求2所述的方法,其特征在于,该方法还包括客户端经由消息业务功能实体向会话历史功能实体请求离开当前会话 或请求结束对会议会话消息的存储,会话历史功能实体向会议会话控制功能 实体请求结束对会议会话消息的存储;会议会话控制功能实体经由会话历史功能实体、消息业务功能实体向客 户端返回结束会议会话消息存储响应。
4. 根据权利要求1所述的方法,其特征在于,该方法还包括在会议 会话开始前系统中已保存客户的签约信息,并按照签约信息触发会话历史存 储功能。
5. 根据权利要求2所述的方法,其特征在于,所述生成并存储会话历 史元数据的方法为元数据客户端向聚合代理发送会话历史元数据存储请求; 聚合代理根据接收到的会话历史元数据存储请求中携带的访问地址,将接收到的会话历史元数据存储请求转发至该访问地址所对应的元数据存储; 元数据存储检查客户端的操作权限,并执行会话历史元数据存储操作, 按照所述会话历史元数据的组成生成当前会话中的会话历史元数据并存储。
6. 根据权利要求2所述的方法,其特征在于,该方法还包括获取存储 的会话历史元数据,具体为客户端经由聚合代理向搜索代理请求查询会话历史元数据;搜索代理根据接收到的请求中携带的查询条件确定需要查询的会话历史元数据在消息系统中的存储位置,并向该位置对应的元数据存储请求查询会话历史元数据;元数据存储执行会话历史元数据查询,获得与查询条件匹配的会话历史 元数据。
7. 根据权利要求6所述的方法,其特征在于,该方法还包括所述元 数据存储经由搜索代理和聚合代理,向所述客户端返回获得的会话历史元数 据。
8. 根据权利要求7所述的方法,其特征在于,该方法进一步包括获取会 话历史消息,具体为客户端根据获得的会话历史元数据选择自身需要的会话历史消息,并利 用对应的会话历史消息标识,经由消息业务功能实体向会话历史功能实体请 求对应的会话历史消息;会话历史功能实体根据所述会话历史消息标识,检索消息系统中存储的 会话历史消息,以获得对应的每条会话历史消息,并返回给客户端。
9. 根据权利要求7所述的方法,其特征在于,该方法进一步包括获取会 话历史消息,具体为客户端根据获得的会话历史元数据选择自身需要的会话历史消息,并利 用对应的会话历史清息标识,经由消息业务功能实体向所述会议会话控制功 能实体请求对应的会话历史消息; 会议会话控制功能实体将与所述会话历史消息标识对应的各会话历史 消息作为仅能发送的虛拟客户端,建立临时会话,并邀请所述客户端与位于会话历史功能实体中的各虚拟客户端参与建立的临时会话;虛拟客户端将自身的会话历史消息发送给会议会话控制功能实体,会议 会话控制功能实体将获得的会话历史消息经由消息业务功能实体发送给客户端。
10. 根据权利要求9所述的方法,其特征在于,该方法还包括获取 所述会话历史消息的上下文消息。
11. 根据权利要求IO所述的方法,其特征在于,所述获取的方法为 所述客户端根据获得的会话消息元数据中携带的消息序列号及所属会话标识,构造检索同 一会话中具有上一个或下一个序列号的会话消息元数据 检索请求,获取所需上下文消息;或者,所述客户端根据获得的会话消息元数据中携带的所属会话标识, 构造定位同一会话中第一条或最后一条会话消息元数据检索请求,获取所需 上下文消息。
12. 根据权利要求1所述的方法,其特征在于,该方法还包括删除存 储的会话历史元数据,具体为客户端向聚合代理请求删除会议会话历史;聚合代理根据接收到的请求中携带的删除条件,删除满足条件的会话历 史元数据。
13. 根据权利要求1所述的方法,其特征在于,所述会话消息元数据 包括以下一项或一项以上消息标题、消息发送者、消息接收者、消息序列号、消息存储尺寸、会 话历史中会话历史消息的唯一标识,消息发送时间。
14. 根据权利要求1所述的方法,其特征在于,所述会话历史元数据 包括以下一项或一项以上会话主题、会话历史期限、会话存储空间、会话开始时间、会话结束时间、会话历史文件名,会话历史文档存储路径。
15. 根据权利要求1所述的方法,其特征在于,所述各会话消息元数 据与自身隶属的会话历史元数据紧耦合存储;存储在会话历史存储中的已有不同会话存储单元的各会话消息,与会"i舌历 史元数据中的各会话消息元数据——对应。
16. 根据权利要求1所述的方法,其特征在于,所述各会话消息元数据 与自身隶属的会话历史元数据松耦合存储;存储在会话历史存储中的已有不同会话存储单元的各会话消息,与会话历 史元数据中的各会话消息元数据——对应。
17. 根据权利要求1所述的方法,其特征在于,会话历史消息和会话历史元数据存储在消息业务服务器; 或者,会话历史消息和会话历史元数据存储在数据存储设备; 或者,会话历史消息存储在消息业务服务器,会话历史元数据存储在数 据存储设备;或者,会话历史消息存储在数据存储设备,会话历史元数据存储在消息 业务服务器。
18. 根据权利要求17所述的方法,其特征在于,所述存储的方式为 同一会话中的所有会话历史消息存储在一个或一个以上文件中;或者,将每对参与会话的用户之间收发的所有会话历史消息存放在一个 物理文件中;或者利用数据库存储。
19. 根据权利要求1所述的方法,其特征在于,该方法还包括 用户通过客户端预先设置的界面,输入检索或删除条件,进行检索或删除操作;或者,所述客户端通过预先设置的界面,向用户显示符合查询或删除条 件的消息列表;或者,所述客户端根据用户从消息列表中做出的选择,构造与该选择对应的包舍会话历史元数据的请求消息;或者,所述客户端通过预先设置的界面,显示获取的消息给用户,或显 示删除是否成功的结果给用户。
20. —种消息系统,其特征在于,至少包括会话历史功能实体,用于实现会话历史数据的存储;接收存储客户端所 参与的会议会话过程中出现的所有消息的请求,向控制功能会议会话控制功 能实体发送邀请请求;存储来自会议会话控制功能实体的会议会话历史消数据到元数据存储;元数据存储,用于实现会话历史元数据数据的存储;会议会话控制功能实体,用于实现会议会话控制的逻辑实体,接收来自 会话历史功能实体的邀请请求,邀请该会话历史功能实体加入会议会话作为 会话参与方;将接收到的来自会议会话参与客户端的消息转发给会话历史功 能实体。
21. 根据权利要求20所述的消息系统,其特征在于,该系统还包括 消息业务功能实体,用于提供消息业务的应用服务器,转发消息系统与客户端间交互的信息。
22. 根据权利要求21所述的消息系统,其特征在于,该系统还包括 所述会话历史功能实体、元数据存储分别集成在消息业务功能实体中,或者是消息系统中独立的网络实体。
全文摘要
本发明公开了一种消息系统中会话历史处理方法,该方法包括设置包括用于描述会议会话历史消息的会话消息元数据的会话历史元数据,按照该会话历史元数据的组成生成会话历史元数据。本发明还公开了一种消息系统。本发明通过在会话历史元数据的设置中增加用于描述会话历史消息的会话消息元数据,扩展了消息系统中存储的会话历史元数据的结构,使得用户对会话历史的操作建立在其对会话历史中具体消息内容了解的基础之上,从而提升了用户对会话历史信息检索、删除等管理能力,提高了消息系统的服务质量。
文档编号H04L12/18GK101155049SQ200610139799
公开日2008年4月2日 申请日期2006年9月25日 优先权日2006年9月25日
发明者D·高塔姆, 牟伦建, 珏 王, 成 黄 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1