首页> 中国专利> 即时通信系统的集群服务器和集群间通信的方法

即时通信系统的集群服务器和集群间通信的方法

摘要

本发明公开了一种即时通信系统中的集群服务器和集群间通信的方法,所述集群服务器包括:存储单元,用于保存本集群客户端用户订阅外集群客户端用户呈现状态的第一订阅信息,以及所述外集群客户端用户订阅所述本集群客户端用户呈现状态的第二订阅信息;信息分类单元,用于判断所述本集群客户端用户与所述外集群客户端用户之间发送的通信消息是否为状态呈现相关消息;信息发送单元,用于当所述通信消息为状态呈现相关消息时,根据所述第一订阅信息或所述第二订阅信息发送所述通信消息。该集群服务器和方法通过对集群间消息进行分类处理,达到有效利用集群间的网络带宽、提高通信效率以及提高整个即时通信系统的承载能力的目的。

著录项

  • 公开/公告号CN101631140A

    专利类型发明专利

  • 公开/公告日2010-01-20

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN200910090237.2

  • 发明设计人 崔振峰;陆剑峰;

    申请日2009-08-03

  • 分类号H04L29/08;H04L12/58;

  • 代理机构北京银龙知识产权代理有限公司;

  • 代理人许静

  • 地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

  • 入库时间 2023-12-17 23:18:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-09-26

    授权

    授权

  • 2010-03-24

    实质审查的生效

    实质审查的生效

  • 2010-01-20

    公开

    公开

说明书

技术领域

本发明涉及互联网技术领域,尤其是指一种即时通信系统的集群服务器和集群间通信的方法。

背景技术

随着网络技术的发展,可以使得人们之间的相互联络和沟通日益方便的即时通信(Instance Messaging)系统逐渐被用户所认可和接受,作为互联网即时和他人联系的一种方式,即时通信具有互动性强、价格便宜等特点,因此能够在短时间内得到广泛普及,其中现在人们广泛使用的即时通讯系统包括有QQ、MSN等。

随着即时通信系统中用户量的急剧增加,系统状态广播消息和即时消息也越来越多,系统服务器需要处理数据的任务量越来越大,采用一台数据库结构的服务器已不能承受该高数量和高任务量的通讯需求,因此多数据服务器DB(Database Server)的集群化系统应运而生。

在服务器集群化系统中,多台服务器组合集中起来进行同一种服务,每一集群服务器分别为多个用户提供服务,各集群服务器间相互通讯,实现不同集群之间的数据通讯连接。

现有即时通信系统采用集群服务器的通讯方式中,集群服务器为归属于该集群服务器的即时通信服务器分配地址和帐号,使归属于该不同集群服务器的即时通信服务器之间能够利用所分配地址和帐号进行数据传输。另外,属于不同集群服务器的客户端用户从相应集群服务器获得集群间广播消息,以及将当前服务状态上报至其所对应的集群服务器,并从集群服务器获得其他集群服务器内客户端用户的当前服务状态,

然而随着客户端用户数量的不断增多,集群间的广播消息也越来越多,即时通信系统的性能受到很大影响,同时会极大限制整个系统所能承载的客户端用户数量,因此当前的技术发展趋势势必要求集群化系统的数据处理能力不断提高。

发明内容

本发明技术方案的目的是提供一种即时通信系统中的集群服务器和集群间通信的方法,通过对集群间消息进行分类处理,达到有效利用集群间的网络带宽、提高通信效率以及提高整个即时通信系统的承载能力的目的。

为实现上述目的,本发明具体实施例一方面提供一种即时通信系统的集群服务器,用于集群化的即时通信系统,所述即时通信系统包括至少两个所述集群服务器,所述集群服务器内包括即时通信服务器和客户端用户,所述集群服务器包括:

存储单元,用于保存本集群客户端用户订阅外集群客户端用户呈现状态的第一订阅信息,以及所述外集群客户端用户订阅所述本集群客户端用户呈现状态的第二订阅信息;

信息分类单元,用于判断所述本集群客户端用户与所述外集群客户端用户之间发送的通信消息是否为状态呈现相关消息;

信息发送单元,用于当所述通信消息为状态呈现相关消息时,根据所述第一订阅信息或所述第二订阅信息发送所述通信消息。

优选地,上述所述的集群服务器,所述第一订阅信息用于记录本集群第一客户端用户与外集群内第二即时通信服务器之间的对应关系,其中所述第一客户端用户订阅呈现状态的所述外集群客户端用户登录于所述第二即时通信服务器;所述第二订阅信息用于记录所述第一客户端用户与外集群的第二集群服务器之间的对应关系,其中所述第二集群服务器内的所述外集群客户端用户订阅所述第一客户端用户的呈现状态。

优选地,上述所述的集群服务器,所述信息分类单元判断所述第一客户端用户发送至所述外集群客户端用户的第一通信消息为状态呈现相关消息时,所述信息发送单元根据所述第二订阅信息,将所述第一通信消息发送至所述第二集群服务器;

所述信息分类单元判断所述外集群客户端发送至本集群的第二通信消息为状态呈现相关消息,且所述第二通信消息的发送端为所述第二即时通信服务器时,所述信息发送单元根据所述第一订阅信息,将所述第二通信消息发送至所述第一客户端用户所登录的第一即时通信服务器。

优选地,上述所述的集群服务器,所述集群服务器还包括:

对外通信接口单元,用于提供与外集群之间的通信接口;

用户分配单元,用于为所述本集群客户端用户分配相应的即时通信服务器;

所述信息发送单元还用于:所述第一通信消息为非状态呈现相关消息时,通过所述对外通信接口单元查询所述第一通信消息的目的接收用户所属的第三集群服务器,将所述第一通信消息发送至所述第三集群服务器;所述第二通信消息为非状态呈现相关消息时,通过所述用户分配单元获得所述第二通信消息的目的接收用户所登录的第三即时通信服务器,将所述第二通信消息发送至所述第三即时通信服务器。

优选地,上述所述的集群服务器,所述信息分类单元还用于,在发送所述第一通信消息前,判断所述第一通信消息是否为非实时消息。

优选地,上述所述的集群服务器,所述信息发送单元还用于:所述第一通信消息为非实时消息时,将所述第一通信消息保存于相对应的消息发送等待队列中,当所述消息发送等待队列的长度达到一预设值时,压缩所述消息发送等待队列为一复合消息后发送。

优选地,上述所述的集群服务器,所述信息发送单元还用于:当所述第二通信消息为复合消息时,在通过所述信息分类单元判断所述第二通信消息是否为状态呈现消息之前,所述信息发送单元将所述第二通信消息解析为多个独立的消息。

优选地,上述所述的集群服务器,所述集群服务器与一全局服务器通讯连接,通过所述全局服务器查询所述外集群客户端用户所属的相对应集群服务器。

本发明另一方面还提供一种即时通信中集群间通信的方法,用于包括即时通信终端、即时通信服务器和集群服务器的即时通信系统中,所述方法包括:

获得本集群客户端用户与外集群客户端用户之间发送的通信消息;

所述通信消息为状态呈现相关消息,根据预先保存的所述本集群客户端用户订阅所述外集群客户端用户呈现状态的第一订阅信息,或者根据所述外集群客户端用户订阅所述本集群客户端用户呈现状态的第二订阅信息,发送所述通信消息。

优选地,上述所述的方法,所述第一订阅信息用于记录本集群第一客户端用户与外集群内第二即时通信服务器之间的对应关系,其中所述第一客户端用户订阅呈现状态的所述外集群客户端用户登录于所述第二即时通信服务器;所述第二订阅信息用于记录所述第一客户端用户与外集群的第二集群服务器之间的对应关系,其中所述第二集群服务器内的所述外集群客户端用户订阅所述第一客户端用户的呈现状态。

上述技术方案所述集群服务器和集群间通信方法中的至少一个技术特征具有以下有益效果:

通过保存本集群客户端用户订阅外集群客户端状态的第一订阅信息以及保存外集群客户端订阅本集群该客户端用户状态的第二订阅信息,并对本集群客户端与外集群客户端之间发送的通信消息进行分类处理,该通信消息为状态呈现相关消息时,查阅预先保存的相关订阅信息,即能够获得通信消息的所有目的接收端地址,从而避免集群服务器反复处理大量状态广播消息,影响系统数据处理能力的问题,因而能够使得集群间的网络带宽得到有效利用,通信效率提高;

所述第一订阅信息和第二订阅信息,将本集群客户端用户订阅外集群客户端状态的订阅关系扩大至本集群客户端用户与外集群内即时通信服务器之间的关系,将外集群客户端订阅本集群该客户端用户状态的关系扩大至外集群服务器与本集群客户端用户之间的关系,使得本集群客户端用户与外集群客户端用户之间状态呈现的公共消息,均只需要发送一条即可,从而有效减少集群间传送的消息总数量和总长度,避免网络拥塞;

此外,还进一步将消息划分为实时消息和非实时消息,对于非实时消息,将所接收消息先保存于欲发送至同一目的接收端的消息发送等待队列中,当该消息发送等待队列的长度达到一预设值时,压缩该消息发送等待队列为一集合消息后再发送,这样有效的减少集群间发送消息的总数量和总消息长度,进一步达到有效利用集群间的网络带宽,提高通信效率的效果。

附图说明

图1为采用本发明具体实施例所述集群服务器的即时通信系统的结构连接示意图;

图2为说明配置图1所述即时通信系统的流程示意图;

图3为说明采用图1所述即时通信系统,集群间进行通信的过程示意图;

图4为本发明具体实施例所述集群服务器的结构示意图;

图5为说明采用本发明具体实施例所述集群服务器的即时通信系统,发送非PS相关消息的流程示意图;

图6为说明采用本发明具体实施例所述集群服务器的即时通信系统,发送PS相关消息的流程示意图;

图7为本发明具体实施例所述方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。

本发明具体实施例所述用于即时通信系统中的集群服务器、集群间通信的系统和方法,集群服务器在获得本集群客户端用户发送至外集群客户端用户的消息,以及获得外集群客户端用户发送至本集群客户端用户的消息时,对收到的消息进行分类处理,将消息按类型分为状态呈现(PS,Present Service)相关消息或非状态呈现(非PS)相关消息,同时根据消息的特点,PS相关消息和非PS相关消息又可进一步划分为实时消息或非实时消息,不同的消息种类采用不同的处理方式,达到有效利用集群间的网络带宽,提高通信效率,同时也减少集群间传送的消息总数量和总长度,有效避免网络拥塞的效果。

为使本领域技术人员清楚了解本发明具体实施例所述系统和方法,在此先对“PS相关消息和非PS相关消息”以及“实时消息”和“非实时消息”进行说明。在即时通信系统中,“PS相关消息”是指与客户端用户在线呈现状态相关的消息,本领域技术人员可以理解,对于QQ和MSN等该些即时通讯软件上的用户,当前状态会时常发生改变,因此客户端用户的状态相关信息需要时常反映至订阅该客户端用户状态的好友用户;很容易理解,“非PS相关消息”则是指不涉及客户端用户当前状态的消息。“实时消息”是指需要实时发送的消息,“非实时消息”是指不需要实时发送的消息。

图1为采用本发明具体实施例所述集群服务器的即时通信系统的结构连接示意图,参阅图1,所述即时通信系统包括:

多个即时通信终端10,用于即时通信系统中至少一客户端用户的登录;

多个即时通信服务器20,其中至少有一即时通信终端登录于一即时通信服务器,用于为客户端用户提供即时通信服务;

多个集群服务器30,每一集群服务器包括至少两个即时通信服务器20,同一集群内的即时通信服务器20登录到同一个集群服务器30,集群服务器30用于为下属的即时通信服务器20分配客户端用户,并提供与其他集群之间的通信接口;

全局服务器40,用于存储客户端用户和客户端用户所属的集群服务器30之间的对应关系,每一集群服务器30均链接于该全局服务器40,通过该全局服务器40获知每一客户端用户所对应的集群服务器30的地址。

上述的所述即时通信中集群间通信的系统构成以全局服务器40为中心的多数据服务器DB(Database Server)的集群化系统,全局服务器40为即时通信系统中的每一集群服务器编号,保证每一集群服务器在即时通信系统中的唯一性;另外还对集群内的每一即时通信服务器编号,保证每一即时通信服务器在该集群内的唯一性。

如图2所示,采用所述即时通信系统,形成以全局服务器40为中心的多DB集群化系统的配置过程包括:

步骤S201,所有集群服务器30根据配置信息登录至全局服务器40;

步骤S202,每一集群服务器30从全局服务器40获取其他集群服务器的地址信息,并同其他集群服务器30建立网络连接;

步骤S203,属于某一集群内的即时通信服务器20和该即时通信服务器20所在的集群服务器30建立网络连接。

通过上述的配置,构成包括即时通信服务器20、集群服务器30和全局服务器40多层结构的多DB集群化系统,利用上述的即时通信系统,集群间进行通信的执行过程如图3所示,包括:

步骤S301,客户端用户登录一即时通信终端10,该客户端用户所属的集群服务器30为该客户端用户分配一即时通信服务器20;

步骤S302,该客户端用户与外集群用户通信,该客户端用户所属的即时通信服务器20向该客户端用户所登录的集群服务器30查询该客户端用户所通信的外集群用户所归属集群的地址;

步骤S303,集群服务器30向全局服务器40查询,确认该外集群用户属于哪一个集群,并将查询到的地址信息反馈至即时通信服务器20;

步骤S304,即时通信服务器20利用接收到的地址信息,通过该客户端用户所登录的集群服务器30,向该客户端用户所通信外集群用户归属的集群服务器30发送消息。

通过上述过程,可类推得出外集群用户向客户端用户发送信息的执行步骤,在此不再详述。这样,通过上述的通信过程,可以实现即时通信系统中集群间的相互通讯。

在本发明具体实施例中,为提供即时通信系统的通讯效率和承载能力,所述系统中的即时通信服务器20在通过所归属的集群服务器30向外集群客户端发送消息,或者在收到外集群客户端发送至本集群客户用户的消息时,将消息区分为PS相关消息或非PS相关消息,同时根据消息的特点,PS相关消息和非PS相关消息又进一步划分为实时消息或非实时消息,不同的消息种类采用不同的处理方式。

以本集群内客户端用户所对应集群服务器为第一集群服务器,外集群用户端所对应集群服务器为第二集群服务器为例,以下将对本发明具体实施例所述集群服务器的结构进行详细说明,但本领域技术人员可以理解,参阅图1,所述系统内的集群服务器的数量并不限于为两个,在此仅是为了清楚说明而已。

如图4为本发明具体例实施例所述集群服务器(第一集群服务器)30的结构示意图,参阅图4,该集群服务器(第一集群服务器)30包括:

对外通信接口单元31,用于提供与外集群之间的通信接口;

用户分配单元32,用于为本集群的所述即通信服务器分配所述客户端用户,并记录所述客户端用户与所述客户端用户所属所述即通信服务器之间的对应关系;

存储单元33,用于保存本集群内客户端用户订阅外集群客户端的呈现状态的第一订阅信息,以及用于保存所述外集群客户端订阅所述客户端用户的呈现状态的第二订阅信息;具体地,该第一订阅信息用于记录本集群内的第一客户端用户与外集群的第二即时通信服务器之间的对应关系,其中该第二即时通信服务器是该第一客户端用户订阅状态信息为外集群内第二客户端用户时,该第二客户端用户所登录的即时通信服务器;所述第二订阅信息用于记录所述第一客户端用户与外集群内第二集群服务器之间的对应关系,其中该第二集群服务器为订阅所述第一客户端用户的状态信息的集群服务器。

信息接收单元36,用于接收本集群客户端用户与外集群客户端用户之间发送的消息;

信息分类单元34,用于判断本集群客户端用户与外集群客户端用户之间发送的消息为状态呈现相关消息还是非状态呈现相关消息;

信息发送单元35,用于:当本集群客户端用户与外集群客户端用户之间发送的消息为状态呈现相关消息时,根据所述第一订阅信息或所述第二订阅信息,发送该消息。

具有上述结构的通信服务器30,通过保存第一订阅信息以及第二订阅信息,并对本集群客户端与外集群客户端之间发送的通信消息进行分类处理,当通信消息为状态呈现相关消息时,查阅预先保存的相关订阅信息,即能够获得通信消息的所有目的接收端地址,从而避免集群服务器反复处理大量状态广播消息,影响系统数据处理能力的问题,使得集群间的网络带宽得到有效利用,通信效率得到提高。

具体地,所述信息发送单元35发送通信消息的方式为:当本集群内的第一客户端用户通过所登录的第一即时通信服务器(如图4中的本集群即时通信服务器201)发送的第一通信消息为状态呈现相关消息时,查询所述第二订阅信息,将所述第一通信消息发送至第二集群服务器(如图4中的外集群服务器301);当为非状态呈现相关消息时,则通过所述对外通信接口单元31查询所述第一通信消息的目的接收用户所属的第三集群服务器,将所述第一通信消息发送至所述第三集群服务器。

当接收外集群发送至本集群的第二通信消息,且确定所述第二通信消息的发送服务器为所述第二即时通信服务器时,查询所述第一订阅信息,将所述第二通信消息发送至所述第一即时通信服务器;当所述第二通信消息为非状态呈现相关消息时,则通过所述用户分配单元获得所述第二通信消息的目的接收用户所属的第三即时通信服务器,将所述第二通信消息发送至所述第三即时通信服务器。

所述集群服务器30通过保存该第一订阅信息和该第二订阅信息,且将本集群客户端用户订阅外集群客户端状态的订阅关系扩大至本集群客户端用户与外集群内即时通信服务器之间的关系,将外集群客户端订阅本集群该客户端用户状态的关系扩大至外集群服务器与本集群客户端用户之间的关系,这样当本集群内客户端用户的状态改变时,不管被多少外集群客户端订阅,只需要通过本集群的集群服务器向外集群客户端所属的相应集群服务器发送一条公共消息即可;当外集群客户端的状态改变时,不管本集群内的多少客户端用户订阅该外集群客户端的状态信息,本集群的集群服务器只需要向相应的即时通信服务器发送一条公共消息即可,从而达到有效利用集群间的网络带宽,提高通信效率,同时也减少集群间传送的消息总数量和总长度,有效避免网络拥塞的效果。

此外,本发明具体实施例所述集群服务器30的信息分类单元34在将各集群之间发送的消息划分为PS相关信息和非PS相关信息的基础上,还进一步将消息划分为实时消息和非实时消息,对于实时消息,则依据上述的方法,在接收到消息后,实时发送至对应的接收端;对于非实时消息,则将所接收消息先保存于欲发送至同一目的接收端的消息发送等待队列中,当该消息发送等待队列的长度达到一预设值时,压缩该消息发送等待队列为一集合消息后发送,这样有效的减少集群间发送消息的总数量和总消息长度,进一步达到有效利用集群间的网络带宽,提高通信效率的效果。

基于上述,图4所述集群服务器30中的信息接收单元36接收到的外集群发送的所述第二通信消息可能为一为复合消息,因此该信息接收单元36还用于判断该第二通信消息是否为复合消息;而信息发送单元35还用于:当所述第二通信消息为复合消息时,将所述第二通信消息解析为多个独立的通信消息,之后信息发送单元35对每一独立的通信消息进行分类处理。

以下将对采用本发明具体实施例所述集群服务器的即时通信系统在依据上述的消息划分方法时,进行消息处理的过程进行详细描述。图5为采用本发明具体实施例所述集群服务器的即时通信系统发送非PS相关消息的流程示意图;图6为采用本发明具体实施例所述集群服务器的即时通信系统发送PS相关消息的流程示意图。

参阅图5,为方便理解,将本集群称之为第一集群,将本集群内的用户称之为第一客户端用户,将第一客户端用户所属的即时通信服务器和集群服务器分别称之为第一即时通信服务器和第一集群服务器,同样,将外集群称之为第二集群,将外集群内的用户称之为第二客户端用户,该第二客户端用户所属的即时通信服务器和集群服务器分别为第二即时通信服务器和第二集群服务器。如图5,当第一客户端用户发送的消息为非PS相关消息时,所述系统对该消息的处理过程包括:

步骤S501,第一即时通信服务器通过第一集群服务器查询发送消息至第二客户端用户所属的第二集群服务器的地址;

步骤S502,第一集群服务器向全局服务器查询第二集群服务器的地址,并将查询结果缓存在本地保存,以有效提高信息处理效率并降低全局服务器的载荷;

步骤S503,第一集群服务器将查询结果反馈至第一即时通信服务器;

步骤S504,第一即时通信服务器将所要发送的消息发送至第一集群服务器;

步骤S505,第一集群服务器确定所要发送的消息是实时消息还是非实时消息,若是非实时消息,则将消息放入所要发送至第二集群服务器的消息发送等待队列中,当该消息发送等待队列中的消息长度达到一预设数值,或者时间超时,压缩该消息发送等待队列中的所有消息为一条复合消息;

步骤S506,第一集群服务器向第二集群服务器发送实时消息,或者经压缩处理的复合消息;

步骤S507,第二集群服务器收到第一集群服务器发送的消息,当该消息为经过压缩处理的复合消息时,则解析该复合消息,并对复合消息中的每一条消息逐条解析处理;

步骤S508,第二集群服务器确定收到消息中已直接指明目的接收端所属第二即时通信服务器的地址时,则将消息直接发送至第二即时通信服务器;第二集群服务器确定收到消息中未直接指明目的接收用户端所属的第二即时通信服务器的地址时,则根据预先存储的第二客户端用户与第二即时通信服务器之间的对应关系,查找到第二即时通信服务器的地址后,将消息发送出去。

通过上述的步骤S501至S508,所述即时通信系统一集群内的客户端用户能够将一非PS消息发送至一外集群客户端,其中当该所欲发送的消息为非实时消息时,则采用延时发送的方式,将发送至同一集群服务器的多条消息组成一条“复合”消息发送,这样有效的减少集群间发送消息的总数量和总消息长度,进一步达到有效利用集群间的网络带宽,提高通信效率的效果。

图6为说明当第二客户端用户发送的消息为PS相关消息时,所述即时通信系统对该消息的处理过程示意图,其中该过程包括:

步骤S601,第一即时通信服务器通过第一集群服务器查询发送消息至第二客户端用户所属的第二集群服务器的地址;

步骤S602,第一集群服务器向全局服务器查询第二集群服务器的地址,并将查询结果缓存在本地保存;

步骤S603,第一集群服务器将查询结果反馈至第一即时通信服务器;

步骤S604,第一集群通信服务器向第一集群服务器发送第二客户端用户的订阅请求消息,同时指明该订阅请求消息为PS相关消息,并同时指明接收该订阅请求消息的第二集群服务器的地址;

步骤S605,第一集群服务器根据该订阅请求消息保存该客户端用户订阅第二客户端用户状态的第一订阅信息,该第一订阅信息包括第一客户端用户的用户信息,以及该第一客户端用户所订阅的第二客户端用户所属的第二即时通信服务器的地址,使订阅关系的粒度只细化到相应的即时通讯服务器,而非单个外集群客户端用户,以此降低集群服务器所保存数据的量,有利于系统局部瘫痪后数据恢复;

步骤S606,第一集群服务器将该订阅请求转发至第二集群服务器;

步骤S607,第二集群服务器根据该订阅请求保存第一客户端用户订阅第二客户端用户状态的第二订阅信息,该第二订阅信息包括第二客户端用户的用户信息,以及订阅该第二客户端用户状态信息的第一客户端用户所属的第一集群服务器的地址,使订阅关系的粒度细化到集群服务器而非具体的客户端用户;

步骤S608,第二集群服务器将对第二客户端用户的订阅请求转到目的用户端所登陆的第二即时通信服务器,或者为第二客户端用户分配一空闲即时通信服务器;

步骤S609,第二客户端用户响应该订阅请求信息,通过第二即时通信服务器将响应消息转发送至订阅请求方(第一客户端用户)所登录的第一即时通信服务器;

步骤S610,第二客户端用户的状态发生改变,通过第二即时通信服务器将状态改变的公共消息发送至第二集群服务器;

步骤S611,第二集群服务器根据第二订阅信息,将该状态改变公共消息转发到订阅了该客户端用户状态的第一集群服务器上;

步骤S612,第一集群服务器根据第一订阅信息,将接收到的第二客户端用户的状态改变公共消息转到第一客户端用户所属的第一即时通信服务器上。

另外,在上述的步骤S606至步骤S612,第一集群服务器和第二集群服务器之间在转发订阅请求消息或状态改变消息时,若为非实时消息,同样采用延时发送的方式,将发送至同一集群服务器的多条消息组成一条复合消息之后再发送。

通过上述的步骤S601至S608以及步骤S601至S612,所述即时通信系统中的集群服务器将所处理的消息按类型分为PS相关消息和非PS相关消息,同时根据消息的特点又分为实时消息和非实时消息,通过对消息的分类,不同的消息采用不同发送方式,减少了系统间短消息发送的总数量,达到有效利用集群间的网络带宽,提高通信效率,避免网络拥塞的效果。

本发明具体实施例另一方面还提供一种即时通信中集群间通信的方法,用于包括即时通信终端、即时通信服务器和集群服务器的即时通信系统中,所述方法包括:

获得本集群客户端用户与外集群客户端用户之间发送的通信消息;

所述通信消息为状态呈现相关消息,根据预先保存的所述本集群客户端用户订阅所述外集群客户端用户呈现状态的第一订阅信息,或者所述外集群客户端用户订阅所述本集群客户端用户呈现状态的第二订阅信息,发送所述通信消息。

如图7为本发明具体实施例所述方法的流程示意图,该方法包括:

步骤S701,所述集群服务器中的第一集群服务器获得本集群内的第一客户端用户通过所登录的第一即时通信服务器发送的第一通信消息;

步骤S702,所述第一集群服务器判断所述第一通信消息为PS相关消息还是非PS相关消息,若为状态呈现相关消息,则向下执行步骤S703,若为非状态呈现相关消息,则向下执行步骤S704;

步骤S703,所述第一集群服务器查询预先保存的所述外集群客户端订阅所述客户端用户状态的第二订阅信息,将所述第一通信消息发送至外集群的第二集群服务器,其中所述第二订阅信息记录有所述第一客户端用户与所述第二集群服务器之间的对应关系,该第二集群服务器为订阅所述第一客户端用户的状态信息的集群服务器;

步骤S704,所述第一集群服务器通过所述对外通信接口单元查询所述第一通信消息的目的接收用户所属的第三集群服务器,将所述第一通信消息发送至所述第三集群服务器;;

步骤S705,所述第一集群服务器获得外集群发送至本集群的第二通信消息;

步骤S706,所述第一集群服务器判断所述第二通信消息为PS相关消息还是非PS相关消息,若为状态呈现相关消息,则向下执行步骤S707,若为非状态呈现相关消息,则向下执行步骤S708;

步骤S707,所述第一集群服务器查询预先保存的所述客户端用户订阅外集群客户端状态的第一订阅信息,根据该第一订阅信息,将所述第二通信消息发送至所述第一客户端用户所属的第一即时通信服务器,该第一订阅信息用于记录本集群内的第一客户端用户与外集群的第二即时通信服务器之间的对应关系,其中该第二即时通信服务器是该第一客户端用户订阅状态信息为外集群内第二客户端用户时,该第二客户端用户所登录的即时通信服务器;

步骤S708,所述第一集群服务器通过预先存储的用户分配信息,查询所述第二通信消息的目的接收用户所属的第三即时通信服务器,将所述第二通信消息发送至所述第三即时通信服务器。

在上述的步骤S701至708,通过所述第一订阅信息将本集群客户端用户订阅外集群客户端状态的订阅关系扩大至本集群客户端用户与外集群即时通信服务器之间的关系,通过第二订阅信息将外集群客户端订阅本集群该客户端用户状态的关系扩大至外集群服务器与本集群客户端用户之间的关系,从而使集群间的网络带宽得到充分利用,达到提高通信效率的目的。

另外,在本发明具体实施例所述方法中,所述第一集群服务器在向所述第二集群服务器发送所述第一通信消息前,还需要确定所述第一通信消息是为非实时消息,当为非实时消息时,首先将所述第一通信消息保存于欲发送至同一目的接收集群服务器的消息发送等待队列中,当所述消息发送等待队列的长度达到一预设值时,压缩所述消息发送等待队列为一复合消息后再发送,从而使得即时通信系统内集群间传送的消息总数量和总长度减少,达到提高通信效率,有效避免网络拥塞的效果。

因此,综合上述,本发明具体实施例所述集群服务器和集群间通信的方法,通过对集群间消息进行分类处理,能够达到有效利用集群间的网络带宽、提高通信效率以及提高整个即时通信系统的承载能力的目的。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号