一种及时通讯系统及实现方法

文档序号:7646219阅读:126来源:国知局
专利名称:一种及时通讯系统及实现方法
技术领域
本发明涉及一种及时通讯系统,可以允许通信用户创建和管理下级用户,属于网络通讯领域。
背景技术
及时通讯系统由服务器和客户端组成。用户使用客户端登陆服务器,并维持自己的出席状态。当用户 登录服务器后,服务器维护这个用户的出席状态、会话连接。 一个用户可以订阅其他用户的出席信息。当前的同类系统,由服务器维护所有用户的账号和出席状态、会话连接。大多数系统,可以创建群。 现有用户可以加入某个群。或者在创建和管理群时指定成员。群的成员具有独立性,他们离开群,或者被 从群里删除之后,仍然是这个及时通讯系统的用户,群成员登陆系统的账号、与其他外部用户的通信等不 由群的管理员决定或控制。企业或组织,通常希望自己是该系统的用户,并能够创建和管理下级用户,以 便保护自己的商业秘密、知识产权,或者了解员工的工作情况。当前系统,用户之间通信基本上是由服务器转发,或者在通讯成员之间建立直接的连接,自己不能指 定通信方式。有些企业或组织,基于安全或者其他目的,可能希望某些下级用户与其他用户的通信必须经 过某个计算机转发。当前系统,群成员与其他用户的通信,基本上是由服务器转发的,群管理员不能指定通信方式。有些 企业或组织可能希望能够管理成员通信。发明内容鉴于以上实际情况,本发明的目的在于提供一种及时通讯系统,可以允许用户创建和管理下级用户。为了更好地管理和控制下级用户对外的联系,当目标用户客户端收到査询下级用户列表的请求时,可 以根据自己的策略确定回复的下级用户列表饱含哪些下级用户。这个系统允许用户在出席或注册时指定或修改所接受的通信方式,从而方便企业保护自己的商业秘 密、知识产权,或者了解员工的工作情况。为了查找和定位一个用户标识符对应的客户端所在的地址,规定了一个用户标识符命名方案二级或 二级以下用户,其用户标识符含有分级符号。为了满足用户的管理要求,本发明的系统允许用户指定是否必须由自己来回复査询出席状态和通信方 式的请求。由于服务器并不直接管理和维护所有用户的出席状态以及他们所接受的通信方式,定义了一个登记和 査询出席状态以及通信方式的步骤(a) 用户登录服务器或上级用户的客户端时,注册自己所接受的通信方式,并维持出席状态,并指 明或者根据设置确定是否必须由自己来回复査询出席状态和通信方式的请求。如果登录用户的通信方式被 他的上级用户设为不可自行更改的,则以系统保存的已经设定方式为准。(b) —个用户査询另一个用户的出席状态和所接受的通信方式时,先向服务器发送查询目标用户的 出席状态和所接受的通信方式的请求。请求消息中包含自己所接受的通信方式。(C)服务器接收到按步骤(b)发送的査询时,用自己维护的信息回复请求者。如果没有相应信息, 并且目标用户是一级用户,则回复目标用户己经离线。如果目标用户的一级用户在线,则向目标用户的一 级用户客户端转发查询请求。目标用户的一级用户客户端如果没有相应信息,可以向下级用户客户端转发, 直至目标用户客户端本身,或者得到已经离线或不允许访问的信息为止。如果根据目标用户的设置,必须 由目标用户自己来回复查询出席状态和通信方式的请求,服务器或目标用户的上级用户客户端收到査询请 求时,直接向目标用户客户端转发。(d)目标用户客户端接收到按步骤(c)发送的查询时,如果同意与发送者通信,则回复自己接受的 通信方式和出席状态。


附图描述了本发明服务器端处理查询出席状态和通信方式请求的流程。
具体实施方式
可以有多种方式实施本发明所描述的系统。它的用户管理子系统、出席和通信方式管理子系统、用户 出席状态和通信方式查询子系统以及用户査询子系统分散到服务器端和客户端。这里描述一个典型的实施 方式,包括关键数据结构、服务器端功能模块、客户端功能模块、登记和查询出席状态以及通信方式的流 程。关键数据结构关键数据结构包括用户标识符、服务器端或上级用户客户端的在线用户表、消息结构、査询出席和请 求通信的消息结构。用户标识符用来在整个系统中唯一地确定一个用户,使用冒号作为多级用户标识符的分级符。 一级用 户的标识符不含冒号。下级用户的标识符是其上级用户的标识符之后添加冒号分级符作为分隔,后面添加 区分该用户的字符。举例来说,"甲公司"是一个一级标识符,"甲公司客户服务部"是一个二级标识符, "甲公司客户服务部0123"是一个三级标识符,并且后一个标识符对应的用户是前一个标识符对应的 用户的下级用户。服务器端或上级用户客户端的出席用户表记录在线用户标识符、出席状态、可以接受的通讯方式、会 话连接。作为一个典型实施例,我们作如下设定所有客户端都必须允许一个可以呼出的TCP/IP连接, 部分客户端可以接收TCP/IP接入连接,或者通过一个可以接收TCP/IP接入/呼出连接的机器转发。这样, 简化为所有客户端都接受向上或向下逐级转发的通信方式,并以此为默认方式;可以接收TCP/IP接入连 接的通信方式作为补充,称为直接通信方式;通过一个可以接收TCP/IP接入/呼出连接的机器转发作为特 殊方式,称为第三方转发方式。这样,出席用户表可以表示为含有这些列的一个表格用户标识符、出席 状态、通信地址(包括IP和端口)、会话连接。用户只接受默认通f言方式时,把通信地址设为空值。这个 系统允许用户指定是否必须由自己来回复查询出席状态和通信方式的请求。如果禁止服务器直接回复这类 查询请求,则将出席状态和通信地址都设为空值。用户可以将出席状态设置为离线状态,表示只与服务器 或这个上级用户通信。我们这里规定,本系统的所有消息都由两部分组成,即信头和信体。信头是用换行符分隔的多个片断, 第一行是消息类型,第二行是目标类型和标识符,第三行是信头的行数,最后一行是消息体的字节长度, 中间可以有表示其它意义的行。信体可以是空值。在本系统中,目^^类型包括用户、房间,以及其它通信 实体。第二行的表示方法为"类型=<类型〉,标识符=<用户标识符>"。在本系统中,房间以及其它通信实 体命名方式与用户标识符一样,标识符的前面部分是创建房间以及其它通信实体的用户的标识符,后面加 上冒号以及房间或其它通信实体的名称。基本的消息类型由4种査询、信息、程序、数据。对于查询消 息, 一般由系统直接回复。对于信息类消息, 一般由客户端显示给最终用户。程序消息,传送程序代码, 由接收者执行。查询出席和通信方式的请求消息的结构,包含自己接受的通信方式和目标用户的标识符。如果自己只 接受默认通信方式,则该消息可以不包含自己接受的通信方式。因此,可以这样表示第一行是消息类型, 即"査询系统消息出席和通信方式";第二行是目标类型和标识符;第三行是信头的行数,即5;第四 行是一个标识该消息的消息编号,第五行是消息体的长度。这里,消息体是自己接受的通信方式。如果接 受直接通信方式或第三方转发方式,则是一个包括IP和端口的通信地址。否则消息体长度为零。服务器端功能模块
服务器端功能模块主要包括用户管理器、会话管理器、用户请求调度器、出席用户表管理器和服务器 端用户査询子系统。根据需要,可以增加其它功能模块,比如用户私人信息管理器。
服务器端用户管理器的任务包括管理用户注册、销户以及修改用户信息。必要时,可以允许用户直接 在服务器上创建和管理下级用户,即由服务器来管理下级用户的信息,并让下级用户直接在服务器上登录。 在服务器上创建下级用户时,可以指定下级用户所接受的通信方式,并设置他们是否可以自行修改自己所 接受的通信方式。用户管理器要维护用户标识符的唯一性,并保证符合命名规范。在用户变更时,要触发 用户变更事件。
用户私人信息管理器是可选的模块。部分用户不在本地维护自己的花名册、黑名单、白名单以及响应 其它用户通信请求的策略等用户私人信息,这时,他们要在服务器上存储和管理这些信息。
服务器端会话管理器包括用户连接、认证、授权以及维持连接的有效性。该模块要监听用户变更事件。 在用户断开、关闭连接以及认证、授权成功时,要触发会话变更事件。与一般及时消息系统不同的是,用 户登录时,可能会指定自己所接受的通信方式。.用户通过认证后,要根据用户的指定,以及用户信息来确 定这个用户所接受的通信方式,并登记到服务器端出席用户表中。
服务器端用户请求调度器,接收用户请求,根据请求类型査找并调用相应的处理程序。如果没有与请 求类型对应的处理程序,服务器根据信头第二行中的标识符部分,解析出这个标识符对应的用户,向这个 ffl户转发请求。
服务器端出席用户表管理器,管理用户登记、修改出席状态和所接受的通信方式,允许用户指定是否 必须由自己来回复査询出席状态和通信方式的请求。
服务器端用户查询子系统处理查询出席状态和通信方式的请求。附图描述了它处理查询出席状态和通 信方式请求的流程。当服务器收到査询出席状态和通信方式的请求后,根据所请求的目标用户的标识符, 在出席用户表中进行査找。如果表中包含这个标识符,则査看出席状态列,如果出席状态列为空值,则表 明必须由目标用户自己回复该请求,这时,根据表中对应的用户会话连接向目标用户转发査询请求。如果 出席状态不是空值,并且不是离线状态,则向请求者回复目标用户的出席状态和通信方式。如果出席状态 是离线状态,则向请求者回复目标用户已经离线。如果在出席用户表中没有找到相应的记录,且目标用户 是一级用户,则向请求者回复目标用户已经离线。如果在出席用户表中没有找到相应的记录,且目标用户 不是一级用户,则先根据目标用户的一级用户的标识符进行査找。如果一级用户已经离线,则向请求者回 复目标用户已经离线,否则,向该一级用户转发查询请求。出席用户管理器要监听用户变更事件和会话变 更事件。
客户端功能模块
客户端功能模块包括连接和登陆模块、出席和通信方式管理模块、联系人管理模块、消息收发模块、 功能插件、插件管理模块、选项设置模块。可以管理下级用户的客户端还包括用户管理模块和客户端用户 査询子系统。
连接和登陆模块负责登陆服务器或上级用户客户端。根据需要,可以在登陆时指定自己所接受的通信 方式。如果客户端不在本地维护私人信息,在要在登陆后取回花名册、黑名单、白名单以及响应其它用户 通信请求的策略等用户私人信息。
出席和通信方式管理模块,负责维持出席状态和通信方式。用户可以通过用户界面修改出席状态和所 接受的通信方式。该模块,根据需要向服务器或上级用户所在客户端登记出席状态和所接受的通信方式的 变更。该模块处理出席状态和通信方式的査询请求。根据花名册、黑名单、白名单以及响应其它用户通信 请求的策略等,回复请求者自己的出席状态和所接受的通信方式,或者拒绝用户请求。
消息收发模块,负责接收消息,转发目标用户是F级用户的消息,或者根据消息类型调用相应的功能 插件进行处理。出席和通信方式管理模块是系统插件。每个功能插件可以通过消息收发模块发送消息。
每个功能插件对应一个或多个消息类型。在客户端启动时,向消息收发模块注册自己处理的消息类型。部分插件,可以具有自己的用户界面,方面用户查看消息和发送消息。我们可以通过增加消息类型,开发 相应的插件来扩展系统的功能。插件管理模块负责插件的安装、升级、删除以及禁用和激活。选项设置模块,设置系统和用户选项。可以通过这个模块设置花名册、黑名单、白名单以及响应其它 用户通信请求的策略等选项。对于可以管理下级用户的客户端,可以设置下级用户与其它用户的通讯方式 等策略信息。用户管理模块是比较复杂的模块,具有部分服务器的功能,可以分为用户账户及基本信息管理、客户 端用户査询子系统、出席用户管理等子系统。必要时可以增加审计和日志子系统。用户账户及基本信息管理子系统,负责创建和管理下级用户及其基本信息。客户端用户査询子系统是一个消息处理插件,处理下级用户列表查询请求。在这个实施例中,我们把 下级用户分为对外公开和不对外公开两类。两类用户都可以与外部用户通信,但是当外部用户査询下级用 户列表时,不对外公开的用户不包含在回复的下级用户列表中。这个插件处理的消息类型是"查询系统 消息下级用户列表"。出席用户管理子系统,维护下级用户的出席状态和所接受的通信方式等信息。同时,本子系统也是一 个消息处理插件,处理对下级用户的出席状态和通信方式的査询请求。如果希望客户与下级用户的通信必 须通过某个特定的机器转发,则当客户查询下级用户所接受的通信方式的请求时,回复客户这个特定的转 发机器的连接方式即可。这时,出席用户表中的通信地址一栏,就是转发机器的IP和端口。登记和査询出席状态以及通信方式的流程(a) 用户登录服务器或上级用户的客户端时,注册自己接收消息的方法,并维持出席状态,并指明 或者根据设置确定是否必须由自己来回复査询出席状态和通信方式的请求。(b) —个用户査询另一个用户的出席状态和所接受的通信方式时,先向服务器査询目标用户的出席 状态和所接受的通信方式。请求消息中包含自己所接受的通信方式。(c) 服务器接收到按步骤(b)发送的査询时,用自己维护的信息回复请求者。如果没有相应信息, 并且目标用户是一级用户,则回复目标用户已经离线。如果目标用户的一级用户在线,则向目标用户的一 级用户客户端转发査询请求。目标用户的一级用户客户端如果没有相应信息,可以向下级用户客户端转发, 直至目标用户客户端本身,或者得到己经离线或不允许访问的信息为止。如果根据目标用户的设置,必须 由目标用户自己来回复査询出席状态和通信方式的请求,服务器或目标用户的上级用户客户端收到査itl请 求时,直接向目标用户客户端转发。(d) 目标用户客户端接收到按步骤(c)发送的查询时,如果同意与发送者通信,则回复自己接受的通信方式和出席状态。
权利要求
1、一种及时通讯系统,其特征在于(a)包含一个可以允许部分用户创建和管理下级用户的用户管理子系统。(b)包含一个出席和通信方式管理子系统,允许分级管理用户的出席状态和所接受的通信方式。(c)包括一个根据用户标识符定位目标用户客户端地址的用户出席状态和通信方式查询子系统。(d)包含一个查询用户或下级用户的出席状态和所接受的通信方式的用户查询子系统。
2、 如权利要求1所述的系统,其特征在于用户管理子系统采用这样的标识符命名方案二级或二级以下用户,其用户标识符含有分级符号。
3、 如权利要求1所述的系统,其特征在于用户查询子系统收到査询下级用户列表的请求时,可以根据自己的策略确定回复的下级用户列表饱含哪些下级用户,而不一定返回所有下级用户。
4、 如权利要求1所述的系统,其特征在于出席和通信方式管理子系统允许部分用户登录时指定或修改自 己所接受的通信方式。
5、 如权利要求1所述的系统,其特征在于出席和通信方式管理子系统允许部分用户指定是否必须由自己 来回复査询出席状态和通信方式的请求。
6、 如权利要求1所述的系统,其特征在于用户管理子系统可以将下级用户的账户信息保存在上级用户所 在的客户端机器,或者服务器,并委托他们接受下级用户的登录,并维持下级用户的出席状态。
7、 如权利要求1所述的系统,其特征在于用户出席状态和通信方式査询子系统通过以下步骤登记和査询 出席状态以及通信方式(a) —个用户查询另一个用户的出席状态和所接受的通信方式时,先向服务器发送查询目标用户的 出席状态和所接受的通信方式的请求。请求消息中包含自己所接受的通信方式。(b) 服务器接收到按步骤(a)发送的査询时,用自己维护的信息回复请求者。如果没有相应信息, 并且目标用户是一级用户,则回复目标用户已经离线。如果目标用户的一级用户在线,则向目标用户的一 级用户客户端转发查询请求。目标用户的一级用户客户端如果没有相应信息,可以向下级用户客户端转发, 直至目标用户客户端本身,或者得到已经离线或不允许访问的信息为止。如果根据目标用户的设置,必须 由目标用户自己来回复査询出席状态和通信方式的请求,服务器或目标用户的上级用户客户端收到査询请 求时,直接向目标用户客户端转发。(c) 目标用户客户端接收到按步骤(b)发送的查询时,如果同意与发送者通信,则回复自己接受的 通信方式和出席状态。
全文摘要
本发明涉及一种及时通讯系统,可以允许通信用户创建和管理下级用户。为了更好地管理和控制下级用户对外的联系,当目标用户客户端收到查询下级用户列表的请求时,可以根据自己的策略确定回复的下级用户列表饱含哪些下级用户。这个系统允许用户在出席或注册时指定或修改所接受的通信方式,从而方便企业保护自己的商业秘密、知识产权,或者了解员工的工作情况。为了查找和定位一个用户标识符对应的客户端所在的地址,规定了一个用户标识符命名方案二级或二级以下用户,其用户标识符含有分级符号。为了满足用户的管理要求,本发明的系统允许用户指定是否必须由自己来回复查询出席状态和通信方式的请求。
文档编号H04L29/06GK101335718SQ20071004293
公开日2008年12月31日 申请日期2007年6月28日 优先权日2007年6月28日
发明者万德洪 申请人:万德洪
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1