一种分布式即时通讯系统及其通讯方法

文档序号:7888771阅读:136来源:国知局
专利名称:一种分布式即时通讯系统及其通讯方法
技术领域
本发明属于网络通讯领域,尤其涉及一种分布式即时通讯系统及其通讯方法。
背景技术
目前,在分布式即时通讯系统中,客户端需要频繁地和服务器进行通信,例如,用户通过客户端进行信息查询、通知在线好友等。当即时通讯系统进行频繁交互时,会造成客户端与服务器通信效率降低,产生时间延迟现象。严重时,甚至会出现处理消息超时的错误,从而导致业务处理失败,甚至导致系统崩溃。

发明内容
本发明提供一种分布式即时通讯系统及其通讯方法,以解决上述问题。本发明提供一种分布式即时通讯系统的通讯方法。上述方法包括以下步骤客户端建立连接池,并初始化连接池中连接的最小值和最大值;客户端有操作请求时,从连接池获取连接以执行操作请求;服务器周期地根据所有客户端最近的单位时间操作请求数量重新设置客户端的连接池中连接的最小值及最大值;服务器根据重新设置的客户端的连接池中连接的最小值及最大值调整连接池中连接的实际值。本发明还提供一种分布式即时通讯系统,包括至少一个客户端以及服务器。客户端连接服务器。其中,客户端用于建立连接池,并初始化连接池中连接的最小值和最大值。 客户端有操作请求时,从连接池获取连接以执行操作请求。服务器用于周期地根据所有客户端最近的单位时间操作请求数量重新设置客户端的连接池中连接的最小值及最大值。服务器用于根据重新设置的客户端的连接池的连接的最小值及最大值调整连接池中连接的实际值。相较于先前技术,根据本发明提供的分布式即时通讯系统及其通讯方法,服务器周期地根据所有客户端最近的单位时间操作请求数量重新设置客户端的连接池中连接的最小值及最大值,且服务器根据重新设置的连接池中连接的最小值及最大值调整连接池中连接的实际值。如此,实现对连接池中连接的最大值及最小值的动态调整,从而调整实际值以使其更合理。此外,还提高了分布式即时通讯系统的吞吐量,亦提高了通信效率,使得通信更即时、流畅。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I所示为根据本发明的较佳实施例提供的分布式即时通讯系统的通讯方法的流程图;图2所示为根据本发明的第一较佳实施例提供的分布式即时通讯系统的示意图;图3所示为根据本发明的第二较佳实施例提供的分布式即时通讯系统的示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图I所示为根据本发明的较佳实施例提供的分布式即时通讯系统的通讯方法的流程图。如图I所示,本发明的较佳实施例提供的分布式即时通讯系统的通讯方法包括步骤 101 104。于步骤101,客户端建立连接池,并初始化所述连接池中连接的最小值和最大值。 具体而言,在客户端建立一个缓存区,存放访问服务器的连接。于此,将所述存放连接的缓存称为连接池。此外,连接池初始化连接数目的最小值及最大值。例如,客户端A的连接池中连接的最小值可初始化为20,最大值可初始化为100。其中,每个客户端的连接池中连接的最小值可初始化为相同的值,最大值亦可初始化为相同的值。然而,本发明对此不作任何限定。于实际应用中,不同客户端的连接池中连接的最小值亦可设置为不同,最大值亦可设置为不同。于步骤102,客户端有操作请求时,从所述连接池获取连接以执行所述操作请求。于步骤103,服务器周期地根据所有客户端最近的单位时间操作请求数量重新设置客户端的连接池的连接的最小值及最大值。于一较佳实施例中,每个客户端包括第一定时器,服务器包括第二定时器。客户端通过第一定时器定时统计单位时间操作请求数量。服务器通过第二定时器获取所有客户端最近的单位时间操作请求数量。以下首先说明连接池中连接的最大值的调整方式。于本实施例中,服务器定时计算所述连接池的连接的最大值,且所述最大值等于所述客户端的最近的单位时间操作请求数量占所有客户端对应的最近的单位时间操作请求数量的比重与所述服务器允许的最大连接数的乘积。此外,所述服务器取一个周期内计算得到的连接池中连接的所有最大值的平均值,并按照所述平均值重新设置所述连接池中连接的最大值。于此,以I小时为单位时间。然而,本发明并不限定于此。以下表为例,其中以客户端A及客户端B举例说明。
权利要求
1.一种分布式即时通讯系统的通讯方法,其特征在于,包括以下步骤客户端建立连接池,并初始化所述连接池中连接的最小值和最大值;所述客户端有操作请求时,从所述连接池获取连接以执行所述操作请求;服务器周期地根据所有客户端最近的单位时间操作请求数量重新设置客户端的连接池中连接的最小值及最大值;所述服务器根据重新设置的客户端的连接池中连接的最小值及最大值调整所述连接池中连接的实际值。
2.根据权利要求I所述的分布式即时通讯系统的通讯方法,其特征在于,所述服务器包括第一定时器以及第二定时器,所述第一定时器连接所述第二定时器,所述服务器通过所述第一定时器定时统计对应客户端的单位时间操作请求数量,所述服务器通过所述第二定时器获取所有客户端最近的单位时间操作请求数量。
3.根据权利要求I所述的分布式即时通讯系统的通讯方法,其特征在于,每个客户端包括第一定时器,所述服务器包括第二定时器,所述客户端通过所述第一定时器定时统计单位时间操作请求数量,所述服务器通过所述第二定时器获取所有客户端最近的单位时间操作请求数量。
4.根据权利要求I所述的分布式即时通讯系统的通讯方法,其特征在于,所述服务器定时计算所述连接池中连接的最大值,且所述最大值等于所述客户端的最近的单位时间操作请求数量占所有客户端的对应的最近的单位时间操作请求数量的比重与所述服务器允许的最大连接数的乘积。
5.根据权利要求4所述的分布式即时通讯系统的通讯方法,其特征在于,所述服务器取一个周期内计算得到的连接池中连接的所有最大值的平均值,并按照所述平均值重新设置所述连接池中连接的最大值。
6.根据权利要求I所述的分布式即时通讯系统的通讯方法,其特征在于,所述服务器定时计算所述连接池中连接的最小值,且所述最小值等于所述客户端的最近三次的单位时间操作请求数量的最小值占所有客户端对应的单位时间操作请求数量的比重与所述服务器允许的最大连接的乘积的百分之二十。
7.根据权利要求6所述的分布式即时通讯系统的通讯方法,其特征在于,所述服务器取一个周期内计算得到的连接池中连接的所有最小值的平均值,并按照所述平均值重新设置所述连接池中连接的最小值。
8.一种分布式即时通讯系统,其特征在于,包括至少一个客户端以及服务器,所述客户端分别连接所述服务器,其中,客户端用于建立连接池,并初始化所述连接池中连接的最小值和最大值,所述客户端有操作请求时,从所述连接池获取连接以执行所述操作请求,所述服务器用于周期地根据所有客户端最近的单位时间操作请求数量重新设置客户端的连接池中连接的最小值及最大值,所述服务器用于根据重新设置的客户端的连接池的连接的最小值及最大值调整所述连接池中连接的实际值。
9.根据权利要求8所述的分布式即时通讯系统,其特征在于,所述服务器包括第一定时器以及第二定时器,所述第一定时器连接所述第二定时器,所述服务器通过所述第一定时器定时统计对应客户端的单位时间操作请求数量,所述服务器通过所述第二定时器获取所有客户端最近的单位时间操作请求数量。
10.根据权利要求8所述的分布式即时通讯系统,其特征在于,每个客户端包括第一定时器,所述服务器包括第二定时器,所述客户端通过所述第一定时器定时统计单位时间操作请求数量,所述服务器通过所述第二定时器获取所有客户端最近的单位时间操作请求数量。
全文摘要
本发明提供一种分布式即时通讯系统及其通讯方法。上述通讯方法包括以下步骤客户端建立连接池,并初始化连接池中连接的最小值和最大值;客户端有操作请求时,从连接池获取连接以执行操作请求;服务器周期地根据所有客户端最近的单位时间操作请求数量重新设置客户端的连接池中连接的最小值及最大值;服务器根据重新设置的客户端的连接池中连接的最小值及最大值调整连接池中连接的实际值。
文档编号H04L12/58GK102594727SQ20121002564
公开日2012年7月18日 申请日期2012年2月7日 优先权日2012年2月7日
发明者胡加明 申请人:苏州阔地网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1