及时通讯系统的一种扩展以及实现方法

文档序号:7646218阅读:124来源:国知局
专利名称:及时通讯系统的一种扩展以及实现方法
技术领域
本发明是对及时通讯系统的一种扩展,可以通过创建视图来将多个用户形成一个整体,从而方便企业 以及其他机构创建内部的协同办公环境,并以可管理的方式对外提供实时的客户服务以及其他企业级的实 时应用。
背景技术
当前的及时通讯系统, 一般包括这些通信实体用户、组和房间。用户是独立的实体。组是多个相互 之间订阅和交换出席状态的用户的集合。客户可以查找公开的组,但是在査看组成员的出席状态之前,需 要加入组。房间,也是及时通讯系统中的重要概念,用户需要先进入房间,才能参与讨论,或者邀请其他 用户进入房间。一个组织的对外服务部门,会对及时通讯系统提出这样的需求客户直接访问这个部门,这个部门通 过某种调度机制选择一个员工对外进行服务。在必要的时候,可能转接另外的员工来提供服务。用户也可能提出这样的需求对外展示服务部门的员工以及他们的专长、目前正在服务的用户数等信 息,以便客户选择一个合适的员工进行服务。进一步的需求可能是这样的建立一个类似于组织结构的视图,映射组织的员工。将对外服务的部门 对外公开。适当的时候,也可以公开对外服务的员工。其他员工作为内部人员,相互之间共享出席信息。 特殊情况下,也可能只是为了内部协同工作的方便,让所有员工都不对外提供服务。上述三种情况,都不能用现有及时通讯系统的组来处理,因为客户只希望得到服务,自己不加入视图。 同时,也不适合用房间来处理,因为服务时,往往是一个员工对应一个客户,不需要其他员工实时了解通 话内容或者参与共同讨论。发明内容鉴于以上实际情况,本发明的目的在于提供对及时通讯系统的一种扩展,可以通过创建视图来将多个 用户形成一个整体,从而方便企业以及其他机构创建内部的协同办公环境,并以可管理的方式对外提供实 时的客户服务以及其他企业级的实时应用。图l描述了本发明的核心思想,视图及其成员以代理账号与现有及时通讯系统交互,客户直接以视图 的代理账号作为通信目标,本系统作为视图成员和客户之间通信的中介,即服务成员发出的消息通过本系 统转发给客户,并将客户发送的消息转发给对应的视图成员。这个扩展,包括如下子系统(a) 包含一个视图管理子系统,用于创建和管理视图,设置视图的属性;(b) 包含一个成员管理子系统,用于添加、删除成员;(C)包含一个请求调度子系统,接收客户的请求,代理客户和视图成员之间的通信;(d) 包含一个适配器子系统,用于与现有及时通讯系统交互;(e) 包含一个出席管理子系统,维护视图及其成员的出席状态。 必要时,可以加入一个转接子系统,转接请求到其他成员或者视图外。可以进一步扩展,增加一个调度策略管理子系统,用于添加、删除和修改调度策略,扩展视图管理子 系统,用以设置视图对应的调度策略。这样,企业或其他组织可以用这个系统建立一个对外服务热线,通 过调度机制安排服务人员对外服务。也可以不使用调度策略,通过扩展出席管理子系统,通过请求调度子系统响应客户对视图成员的查询, 包括査询有效的成员列表、成员的公开属性、正在处理的服务数量等;使用请求调度子系统可以与客户进行交互式对话,协助用户选择视图的成员进行服务。扩展视图管理子系统,允许设置视图的这个属性是否允许用户选择服务成员。这样,可以综合上面 两种方式。可以扩展成员管理子系统,用以设置是否允许客户査询此成员、是否调度此成员,甚至进一步扩展, 允许向视图添加下级视图。这样,就可以方便企业或其他机构建立组织结构视图,设置对外服务组织。既 不允许客户査询,也不被调度的成员是内部成员。如果只是用于内部协同工作,也可以将所有成员设置为 内部成员。为便于实施,本发明还提出了这样一个系统工作流程(a) 为一个视图申请一个合法的及时通讯系统的用户账号;(b) 使用这个账号登陆及时通讯系统,维持出席状态,接收客户请求;(c) 客户直接以上述账号作为通信目标,本系统作为视图成员和客户之间通信的中介,即服务成员 发出的消息通过本系统转发给客户,并将客户发送的消息转发给对应的视图成员。当然,我们可以通过扩展适配器子系统,可以同时与多个及时通讯系统交互。通过扩展,可以让成员 管理子系统映射一个视图及其成员到不同的及时通讯系统的用户账号。


图l描述了本发明的核心思想,视图及其成员以代理账号与现有及时通讯系统交互,客户直接以视图 的代理账号作为通信目标,本系统作为视图成员和客户之间通信的中介,即服务成员发出的消息通过本系 统转发给客户,并将客户发送的消息转发给对应的视图成员。图2是适配器子系统处理收到的消息的流程。
具体实施方式
可以有多种方式实施本发明所描述的系统。下面描述一个实施例,它扩展遵守XMPP协议的及时通讯 系统,覆盖所有发明内容,达到这样的效果企业或其他机构可以通过它创建视图,可以是平面结构的简 单视图,也可以是分层结构的视图。他们可以指定哪些视图可以被客户看到,以及是否允许査看他们的下 级成员,甚至可以指定具体哪些成员是外部可见的。他们可以将他们的视图设置为按某种策略调度的,也 可以设置允许用户指定服务成员。同时,可以映射一个视图及其成员到不同的及时通讯系统的用户账号, 可以在不同的及时通讯系统看到视图。本系统包括这些关键表结构(a) 视图表,储存视图信息,包括视图编号、上级视图编号、视图名字、启用标志、代理账号、调度策略编号、是否允许用户选择服务成员的标志、订阅策略以及其他信息。上级视图编号为o时,表示顶级视图,系统中可以有多个顶级视图。启用标志控制视图的停止和激活。是否允许用户选择服务成员的标 志为"是"时,表示客户可以査看成员列表,但成员列表的内容由视图-成员关系表,以及成员的有效状态来确定。调度策略编号是"o"时,表示这个视图只接受客户自己选择服务成员。(b) 系统连接管理表,包括连接管理器编号、名称、对应的及时通讯系统名称、连接插件实现类的名字。(c) 视图-代理账号表,包括视图编号、连接管理器编号、代理账号和密码。代理账号是及时通讯系统的用户账号,客户使用这个账号作为目标进行通信,获得相应服务。(d) 成员表,包括成员标识符、成员名以及其他信息,包括一些公开属性,如职务、专长等。(e) 视图-成员关系表,包括视图编号、成员标识符、否允许客户査询此成员、是否调度此成员。成 员标识符可以是视图编号。(f) 成员-代理账号表,包括成员标识符、连接管理器编号、成员代理账号和密码。成员代理账号是 及时通讯系统的用户账号。本系统以这个账号为目标,转发客户请求。(g) 调度策略表,包括调度策略编号、调度策略名字、调度策略实现类的名称以及其他信息。下面描述各个子系统。视图管理子系统视图管理子系统,提供一个图形用户界面,用于创建和管理视图,设置视图的属性和调度策略。它维 护视图表和视图-成员表。这个子系统可以触发视图创建事件、视图删除事件、视图属性变更事件、服务 停止事件、服务激活事件以及视图调度策略变更事件。视图调度策略变更事件不同于调度策略变更事件。 它监听调度策略变更事件,查找所有用到该调度策略的视图,触发相应的视图调度策略变更事件。成员管理子系统成员管理子系统,提供一个图形用户界面,用于添加、删除成员以及修改成员描述等信息。它维护视 图-成员表。这个子系统可以触发添加成员事件、删除成员事件、成员属性变更事件。调度策略管理子系统调度策略管理子系统,提供一个图形用户界面,用于添加、删除和修改调度策略。它维护调度策略表。 它触发调度策略变更事件。出席管理子系统维护视图及其成员的出席状态,响应客户对视图及其成员的査询。它可以触发出席变更事件。它使用如下的出席状态査询和订阅规则视图总是接受客户査阅它的出席状态,除非这个客户在黑名 单中。至于是否可以查询视图的成员,由视图的"是否允许用户选择服务成员"属性决定。当客户査询成 员列表时,根据视图-成员关系表中的"否允许客户査询此成员"这个字段的值以及本成员的出席状态来确 定是否列出相应的成员。请求调度子系统请求调度子系统维护一个视图-服务线程对应表,以及一个已失效视图列表。请求调度子系统接受用户 请求,调用所请求的视图所对应的服务线程来处理用户的请求。每一个视图都对应一个服务线程,维护等 待队列和成员-服务队列映射表、已删除成员列表。等待队列存放服务请求者,成员-服务队列映射表存放 视图成员以及他们正在处理的服务请求。服务线程处理用户的请求时,查看发送者是否在某个成员的服务 队列中,如果在,则向这个成员转发消息。如果不在任何成员的服务队列中,则将它加入等待队列。除了 只接受客户自己选择服务成员外,每一个服务线程都有一个调度策略实现类的实例负责调度。系统启动时, 初始化视图-服务线程对应表。调度策略实现类的实例由服务线程维护。对于允许用户选择服务成员的视图,服务线程可以与客户进行交互式对话,协助用户选择视图的成员 进行服务。其余的,交给对应的调度策略实例,由系统选择一个成员进行服务。交互对话的参考过程是如果这个视图是可以调度成员的,发送消息,列出两个选项自己选择一个 服务成员、系统调度、退出服务。当用户选择系统调度时,交给对应的调度策略实例,由系统选择一个成 员进行服务。当用户要求自己选择时,列出有效的成员、成员信息及其编号,以及一个返回上级的选项。 当用户回复一个成员编号时,转发用户请求给目标成员。调度策略实现类必须实现一个关键接口调度策略接口。这个接口包括四个方法(a) "注册请求"方法,把请求者放到等待队列。参数是请求者的标识符。在XMPP协议中就是jid。(b) "注册成员"方法,将视图成员加入到调度中。(c) "删除请求"方法,移出已经取消服务和已经完成服务的请求,以及请求者已经离线的请求。(d) "删除成员"方法,把相应成员从成员-服务队列映射表中移出。每个调度策略的实现类的实例,都维护一个线程,监听等待队列、成员出席状态和成员-服务队列映射 表的变化,根据自己的调度策略,将等待队列中的请求调度到相应的成员,并维护成员-服务队列映射表。这个子系统监听成员删除事件,在成员删除时,把相应成员加入己删除成员列表,不再被调度,但不 影响这个成员正在进行的服务。当这个成员结束所有服务后,将其从已删除成员列表中删除。这个子系统监听视图删除事件,在视图删除时,将它加入己失效视图列表,不影响正在进行的服务, 但是不再接受新的用户请求。它监听服务停止事件,将相应视图加入已失效视图列表,不影响正在进行的服务,但是不再接受新的 用户请求。它监听服务激活事件,新建相应的服务线程,并加入视图-线程对应表。 它监听视图调度策略变更事件,替换旧的实例。它监听出席变更事件。当视图出席时,如果视图是处于激活状态的,则启动它对应的服务线稈,并将 它添加到视图-服务线程对应表。当视图离线吋,停止它对应的服务线程,并从视图-服务线程对应表中移 出。至于成员出席状态的变更事件,如果视图有调度策略,则交给视图对应的调度策略实例来处理。适配器子系统适配器子系统,用于与现有及时通讯系统交互。它的主要处理逻辑包括两个重要流程初始化流程和 消息收发流程。初始化时,先根据视图表,査找启用的视图。然后,从视图-代理账号表査找连接管理器编号和代理 账号。接下来,从系统连接管理表査找连接管理插件。这时,系统从连接管理插件和视图的代理账号登陆 相应的及时通讯系统,维持出席状态,向出席管理子系统处理报告自己的出席状态,并与及时通讯系统交 互。这时, 一个视图的对外表现,和一个普通的及时通讯系统用户是一样的。视图初始化之后,它可以和成员交换出席信息,并把成员的出席信息交由出席管理子系统处理。因为 视图成员同样和及时通讯系统用户相对应。视图和成员之间可以直接利用及时通讯系统进行双向通信。这时,客户可以査询和订阅视图的出席信息,就像査询和订阅一个普通的及时通讯系统用户的出席信 息一样。只不过,是否接受订阅是由出席管理子系统负责的, 一般不需要人机交互。 当客户发送消息给视图吋,视图把它交给请求调度子系统处理。视图成员向客户发送消息,是通过适配器子系统作为中介转发的。视图成员请求转发的消息,含有特 殊格式,指明了转发目标,以及转发内容。适配器子系统收到之后,构造新的消息,以视图对应的代理账 号为发送者,转发目标为接收者,转发内容为消息内容,然后发送给客户。图2具体描述了适配器子系统处理收到的消息的流程。转接子系统转接子系统.转接请求到其他成员或者组外。它向转接对象发送已经进行的服务对话,并作为双方后 续通信的中介。转接子系统,使用转接前的代理账号,作为中介,实现方式和视图类似。转接子系统,转发客户消息时,把消息的接收者改成转接对象,把发送者改为这个代理账号,然后重 新发送即可。转接对象回复消息,和回复普通通信一样。这个代理账号接收到消息后,更改发送者为代理 账号自己,接收者为原来的请求者即可。这里的关键是要区别是代理账号对应的用户直接与转接对象通信,还是代理账号作为中介进行通信。它用转接任务表来维护正在进行的转接。转接任务表包括一个用于跟踪会话的线程编号和原始服务请求者 的标识符。不同的及时通讯系统有不同的实现方式。在以XMPP协议为基础的及时通讯系统中,通常在消 息包中包含一个々hread^子标签来跟踪两个实体之间的对话,这个子标签的值就是线程编号。转发消息时, 已经存在线程编号,就记录在转接任务表中。如果没有,就新产生一个,并添加到消息体中。这样,就可 以区别是代理账号否是转发中介了。关于会话线程,可以参考RFC 3921标准。
权利要求
1、对及时通讯系统的一种扩展,允许用户创建和管理用户视图,其特征在于(a)包含一个视图管理子系统,用于创建和管理视图,设置视图的属性;(b)包含一个成员管理子系统,用于向视图添加、删除成员;(c)包含一个请求调度子系统,接收客户的请求,代理客户和视图成员之间的通信;(d)包含一个适配器子系统,用于与现有及时通讯系统交互;(e)包含一个出席管理子系统,维护视图及其成员的出席状态。
2、 如权利要求l所述的系统,其特征在于包含一个转接子系统,转接请求到其他成员或者视图外。
3、 如权利要求1所述的系统,其特征在于(a) 包含一个调度策略管理子系统,用于添加、删除和修改调度策略;(b) 视图管理子系统还负责设置视图对应的调度策略。
4、 如权利要求l所述的系统,其特征在于(a) 出席管理子系统还负责通过请求调度子系统响应客户对视图成员的査询,包括査询有效的成员 列表、成员的公开属性、正在处理的服务数量等;(b) 请求调度子系统可以与客户进行交互式对话,协助用户选择视图的成员进行服务。
5、 如权利要求1所述的系统,其特征在于-(a) 具备权利要求3和权利要求4的特征;(b) 可以通过视图管理子系统设置视图的这个属性是否允许用户选择服务成员。
6、 实现权利要求3所述系统的方法,其特征在于采用如下的工作流程(a) 为一个视图申请一个合法的及时通讯系统的用户账号;(b) 使用这个账号登陆及时通讯系统,维持出席状态,接收客户请求;(c) 客户直接以上述账号作为通信目标,本系统作为视图成员和客户之间通信的中介,即服务成员发出的消息通过本系统转发给客户,并将客户发送的消息转发给对应的视图成员。
7、 如权利要求1所述的系统,其特征在于(a) 成员属性包括是否允许客户查询此成员、是否调度此成员。(b) 视图的属性包括接受客户订阅的策略。
8、 如权利要求l所述的系统,其特征在于成员管理子系统具有向视图添加下级视图的功能。
9、 如权利要求l所述的系统,其特征在于适配器子系统可以同时与多个及时通讯系统交互。
10、 如权利要求9所述的系统,其特征在于成员管理子系统可以映射一个视图及其成员到不同的及时通讯 系统的用户账号。
全文摘要
本发明是对及时消息系统的一种扩展,可以通过创建视图来将多个用户形成一个整体,从而方便企业以及其他机构创建内部的协同办公环境,并以可管理的方式对外提供实时的客户服务以及其他企业级的实时应用。本系统包含一个视图管理子系统,用于创建和管理视图,设置视图的属性;包含一个成员管理子系统,用于向视图添加、删除成员;包含一个请求调度子系统,接收客户的请求,代理客户和视图成员之间的通信;包含一个适配器子系统,用于与现有及时消息系统交互;包含一个出席管理子系统,维护视图及其成员的出席状态。
文档编号H04M3/22GK101335789SQ20071004293
公开日2008年12月31日 申请日期2007年6月28日 优先权日2007年6月28日
发明者万德洪 申请人:万德洪
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1