一种服务器集群系统及负载均衡方法

文档序号:7701616阅读:259来源:国知局
专利名称:一种服务器集群系统及负载均衡方法
技术领域
本发明涉及一种服务器集群系统和负载均衡方法。
背景技术
随着互联网技术的发展,业务类型变得多样化,从单一业务的数据通信发展到如 今能支持语音、视频等多种业务的多媒体通信。对于由单台服务器组成的系统而言,由于 单台服务器的中央处理器、输入/输出接口处理速度等方面的限制,已无法满足快速增长 的数据量以及同时处理多种业务的要求,取而代之的是由多台服务器组成的服务器集群系 统。服务器集群系统要求一种高效负载均衡方法以保证多个消息请求被合理地分配 至多台服务器。现有的基于权值轮询调度算法的负载均衡方法依据服务器性能的不同为 即时消息请求选择目标服务器,充分利用了服务器集群系统的资源;现有的基于会话编号 (Session ID)的负载均衡方法能够识别同一用户终端发出的不同即时消息请求,使这些即 时消息请求被同一台服务器处理,节省了重复身份识别、参数传递等动作。但是,上述负载 均衡方法均忽略了用户终端请求相同业务的情况。

发明内容
为了解决上述现有服务器集群系统没有考虑用户终端请求相同业务的问题,本发 明提供了一种服务器集群系统及负载均衡方法,使用该服务器集群系统和负载均衡方法能 为不同类型的即时消息请求选择最合适的目标服务器。本发明的技术方案如下本发明提供了一种服务器集群系统。该系统包括负载均衡子系统和服务器集群, 所述负载均衡子系统按照既定方法选择处理即时消息请求的目标服务器,其特征在于,所 述负载均衡子系统包括请求接收模块,接收即时消息请求;HTTP解析模块,解析即时消息请求的消息头和消息体;请求转发模块,按照目标服务器支持的传输协议封装所述解析后的即时消息请 求,并发送已封装的解析后的即时消息请求至所述目标服务器;响应接收模块,接收目标服务器发送的接收响应;响应转发模块,按照HTTP封装所述接收响应,并发送已封装的接收响应至即时消 息请求的发送端;内存管理模块,分配和管理负载均衡子系统的内存资源;服务器管理模块,配置所述服务器集群和设置所述服务器集群中服务器的参数;目标服务器选择模块一,根据所述解析后的即时消息请求的消息体中包含的业务 编号选择目标服务器;目标服务器选择模块二,根据所述解析后的即时消息请求的消息头中包含的会话编号选择目标服务器;目标服务器选择模块三,根据所述服务器集群中的服务器性能选择目标服务器;状态监控模块,用于获取所述服务器集群中各台服务器的工作状态。上述服务器集群系统还包括预约消息管理子系统,所述预约消息管理子系统包 括消息接收模块,用于接收非即时消息请求或非即时消息请求的更新信息;消息存储模块,用于存储所述非即时消息请求或所述非即时消息请求的更新信 息;数据管理模块,用于检测所述消息存储模块中非即时消息请求的处理时间以及用 于更新所述消息存储模块中的非即时消息请求;消息触发模块,在所述非即时消息请求的处理时间将所述非即时消息请求转化为 即时消息请求,发送所述即时消息请求至所述负载均衡子系统。上述服务器集群系统中,所述消息存储模块包括数据库子模块,用于存储来自消息接收模块的非即时消息请求或非即时消息请求 的更新信息;数据缓存子模块,用于存储来自数据库子模块的非即时消息请求或来自消息接收 模块的非即时消息请求的更新信息。上述服务器集群系统中,所述检测所述消息存储模块中非即时消息请求的处理时 间是指A、所述数据管理模块每隔既定时间X访问一次所述数据库子模块,判断所述数据 库子模块中是否有预约的非即时消息请求在访问时刻处理;B、如果所述数据库子模块中有预约的非即时消息请求在访问时刻处理,所述数据 管理模块将所述预约的非即时消息请求发送至所述消息触发模块;C、如果所述数据库子模块中没有预约的非即时消息请求在访问时刻处理,所述数 据管理模块将所述数据库子模块中预约在所述访问时刻和下一次访问时刻之间处理的非 即时消息请求提取至所述数据缓存子模块;D、所述数据管理模块每隔既定时间Y访问一次所述数据缓存子模块,判断所述数 据缓存子模块中是否有预约的非即时消息请求在访问时刻处理;E、如果所述数据缓存子模块中有预约的非即时消息请求在访问时刻处理,所述数 据管理模块将所述预约的非即时消息请求发送至所述消息触发模块;F、如果所述数据缓存子模块中没有预约的非即时消息请求在访问时刻处理,所述 数据管理模块等待下一访问时刻访问所述数据缓存子模块;所述既定时间Y小于所述既定时间X。上述服务器集群系统中,所述更新所述消息存储模块中的非即时消息请求是指A、所述消息接收模块接收非即时消息请求的更新信息;B、所述数据管理模块访问所述数据缓存子模块,查找所述数据缓存子模块中是否 存在所述更新信息对应的非即时消息请求;C、如果所述数据缓存子模块中存在所述更新信息对应的非即时消息请求,所述数 据管理模块读取所述更新信息至所述数据缓存子模块,替换所述数据缓存子模块中所述更新信息对应的非即时消息请求中需要被更新的内容,并向所述消息接收模块发送更新成功 指示;D、如果所述数据缓存子模块中不存在所述更新信息对应的非即时消息请求,所述 数据管理模块访问所述数据库子模块,查找所述数据库子模块中是否存在所述更新信息对 应的非即时消息请求;E、如果所述数据库子模块中存在所述更新信息对应的非即时消息请求,所述数据 管理模块读取所述更新信息至所述数据库子模块,替换所述数据库子模块中所述更新信息 对应的非即时消息请求中需要被更新的内容,并向所述消息接收模块发送更新成功指示;F、如果所述数据库子模块中不存在所述更新信息对应的非即时消息请求,所述数 据管理模块向所述消息接收模块发送更新失败指示。上述服务器集群系统中,所述既定方法为A、接收即时消息请求;B、解析即时消息请求,判断解析后的即时消息请求的消息头是否含目标服务器的 路径;C、如果所述解析后的即时消息请求的消息头不含目标服务器的路径,判断解析后 的即时消息请求的消息体是否含业务编号;D、如果所述解析后的即时消息请求的消息体含业务编号,根据所述业务编号选择 目标服务器,按照所述目标服务器支持的传输协议封装所述解析后的即时消息请求,发送 已封装的解析后的即时消息请求至所述目标服务器;E、如果所述解析后的即时消息请求的消息体不含业务编号或者根据所述业务编 号选择目标服务器失败,判断所述解析后的即时消息请求的消息头是否含会话编号;F、如果所述解析后的即时消息请求的消息头含会话编号,根据所述会话编号选择 目标服务器,按照所述目标服务器支持的传输协议封装所述解析后的即时消息请求,发送 已封装的解析后的即时消息请求至所述目标服务器;G、如果所述解析后的即时消息请求的消息头不含会话编号或者根据所述会话编 号选择目标服务器失败,根据权值轮询调度算法选择目标服务器,按照所述目标服务器支 持的传输协议封装所述解析后的即时消息请求,发送已封装的解析后的即时消息请求至所 述目标服务器;H、如果所述解析后的即时消息请求的消息头含目标服务器的路径,按照目标服务 器支持的传输协议封装所述解析后即时消息请求,发送已封装的解析后的即时消息请求至 所述目标服务器;I、接收来自所述目标服务器的接收响应;J、按HTTP封装所述接收响应,并发送已封装的接收响应至所述即时消息请求的 发送端。该即时消息请求的发送端为直接发送即时消息请求的用户终端或发送非即时消 息请求的用户终端。本发明的有益效果为(1)利用业务编号选择目标服务器,使得请求相同业务的即时消息被同一台目标 服务器处理,提高了处理效率;
(2)融合了根据业务编号选择目标服务器、根据会话编号选择目标服务器以及根 据权值轮询调度算法选择目标服务器等多种负载均衡方法,可以为不同类型的即时消息请 求选择最佳的目标服务器;(3)不仅能处理即时消息请求,还能处理非即时消息请求。结合附图,本发明的其他特点和优点可以从下面通过举例来对本发明的原理进行 解释的优选实施方式的说明中变得更清楚。


图1示出不含预约消息管理子系统的服务器集群系统架构图;图2示出含预约消息管理子系统的服务器集群系统架构图;图3示出负载均衡方法流程图。
具体实施例方式下面将结合附图,对本发明的实施方式进行举例说明。实施例一,服务器集群系统如图1所示。用户终端100发送即时消息请求至负载 均衡子系统101。该即时消息请求为HTTP请求。负载均衡子系统101接收该即时消息请 求,并按照既定负载均衡方法选出处理该即时消息请求的目标服务器108。本实施例给出了一台的目标服务器108,但是在实际应用中,目标服务器不是固定 不变的,不同类型的即时消息请求可能对应不同的目标服务器。负载均衡子系统101的功能模块如图1所示。负载均衡子系统101包括请求接收 模块211、请求转发模块212、响应接收模块213、响应转发模块214、HTTP解析模块215、内 存管理模块216、服务器管理模块217、目标服务器选择模块一 218、目标服务器选择模块二 219、目标服务器选择模块三220和状态监控模块221。请求接收模块211接收来自用户终端100的即时消息请求。HTTP解析模块215解析该即时消息请求,该即时消息请求包括请求头和请求体。 根据HTTP的说明文档RFC2626,HTTP请求的消息头包含会话编号和目标服务器信息等内 容,HTTP请求的消息体包含业务编号和请求实体信息。如果解析后的即时消息请求包含目 标服务器的路径信息,解析后的即时消息请求被发送至请求转发模块212。如果解析后的即 时消息请求不包含目标服务器的路径信息,解析后的即时消息请求被发送至目标服务器选 择模块一 218、目标服务器选择模块二 219或目标服务器选择模块三220。目标服务器选择模块一 218根据HTTP解析模块215解析后的消息体中包含的业 务编号选择目标服务器。目标服务器选择模块二 219根据HTTP解析模块215解析后的消 息头中包含的会话编号选择目标服务器。目标服务器选择模块三220根据服务器集群中的 服务器性能选择目标服务器。请求转发模块212按照选出的目标服务器108支持的传输协议封装该解析后的即 时消息请求,并发送已封装的解析后的即时消息请求至目标服务器108。响应接收模块213接收目标服务器108发送的接收响应。响应转发模块214按照 HTTP封装该接收响应,并发送已封装的接收响应至发送该即时消息请求的用户终端100。内存管理模块216分配和管理负载均衡子系统101的内存资源。
服务器管理模块217配置服务器集群中服务器的台数和设置服务器集群中服务 器初始参数和服务器支持的传输协议。状态监控模块221获取服务器集群中各台服务器的工作状态,依据该工作状态可 计算服务器的性能值。实施例二,服务器集群系统如图2所示。该实施例中服务器集群系统除负载均衡 子系统101,服务器集群107外,还包括预约消息管理子系统102。其中,预约消息管理子系 统102由四个功能模块组成消息接收模块103、消息存储模块104、数据管理模块105和消 息触发模块106。其中,消息存储模块104由数据库子模块1041和数据缓存子模块1042组 成。消息接收模块103接收用户终端200发出的非即时消息请求或非即时消息请求的 更新信息。该非即时消息请求或非即时消息请求的更新信息包含了非即时消息请求的处理 时间。该非即时消息请求在该处理时间被转化为即时消息请求。消息存储模块104用于存储用户终端200发出的非即时消息请求或非即时消息请 求的更新信息。数据管理模块105用于检测消息存储模块104中非即时消息请求的处理时间以及 用于更新消息存储模块104中的非即时消息请求。消息触发模块106在非即时消息请求的处理时间将非即时消息请求转化为即时 消息请求,发送该即时消息请求至负载均衡子系统101。数据管理模块105检测消息存储模块104中非即时消息请求的处理时间的过程如 下数据管理模块105建立两个线程,其中一个线程每隔既定时间X访问一次数据库子模块 1041,判断该数据库子模块1041中是否有预约的非即时消息请求在此访问时刻处理。如果 数据库子模块1041中有预约的非即时消息请求在此访问时刻处理,该线程读取该预约的 非即时消息请求至消息触发模块106 ;如果数据库子模块1041中没有预约的非即时消息请 求在此访问时刻处理,上述线程将数据库子模块1041中预约在此访问时刻和下一次访问 时刻之间处理的非即时消息请求发送至数据缓存子模块1042。数据管理模块105的另一个 线程每隔既定时间Y访问一次该数据缓存子模块1042,判断该数据缓存子模块1042中是否 有预约的非即时消息请求在此访问时刻处理。如果数据缓存子模块1042中有预约的非即 时消息请求在此访问时刻处理,该线程读取该预约的非即时消息请求至消息触发模块106 ; 如果数据缓存子模块1042中没有预约的非即时消息请求在此访问时刻处理,该线程等待 下一访问时刻访问数据缓存子模块1042。上述既定时间Y小于所述既定时间X。数据管理模块105更新消息存储模块104中非即时消息请求的过程如下当消息 接收模块103接收到非即时消息请求的更新信息时,数据管理模块105首先访问数据缓存 子模块1042,查找数据缓存子模块1042中是否存在该更新信息对应的非即时消息请求。如 果数据缓存子模块1042中存在该更新信息对应的非即时消息请求,数据管理模块105读 取该更新信息至数据缓存子模块1042,替换其中与该更新信息对应的非即时消息请求中需 要被更新的内容,并向消息接收模块103发送更新成功指示;如果数据缓存子模块1042中 不存在该更新信息对应的非即时消息请求,数据管理模块105访问数据库子模块1041,查 找数据库子模块1041中是否存在该更新信息对应的非即时消息请求。如果数据库子模块 1041中存在该更新信息对应的非即时消息请求,数据管理模块105读取该更新信息至数据库子模块1041,替换其中与该更新信息对应的非即时消息请求中需要被更新的内容,并向 消息接收模块103发送更新成功指示;如果数据库子模块1041中不存在该更新信息对应的 非即时消息请求,数据管理模块105向消息接收模块103发送更新失败指示。负载均衡子系统101的请求接收模块接收来自预约消息管理子系统102的即时消 息请求,并从服务器集群107中选出处理该即时消息请求的目标服务器。负载均衡子系统 101为该即时消息请求选择目标服务器的过程同实施例一中负载均衡子系统101为来自用 户终端100的即时消息请求选择目标服务器的过程。目标服务器向响应接收模块213发送 接收响应,响应转发模块214将该接收响应按照HTTP封装后发送至用户终端200。响应转 发模块214可以直接将接收响应发送至用户终端200,也可以通过预约消息管理子系统102 将接收响应转发至用户终端200。在该实施例中,负载均衡子系统101的请求接收模块除接收来自预约消息管理子 系统102的即时消息请求还接收来自用户终端100的即时消息请求。本实施例中负载均衡 子系统101对来自用户终端100的即时消息请求的处理过程同实施例一中负载均衡子系统 101对来自用户终端100的即时消息的处理过程。在上述两种实施例中,负载均衡子系统101选择目标服务器的既定负载均衡方法 如图3所示。该方法开始于步骤S301。然后,在步骤S302中,请求接收模块211接收来自 用户终端100或预约消息管理子系统102的即时消息请求。在步骤S303中,HTTP解析模块215解析即时消息请求,判断解析后的即时消息请 求的消息头是否含有目标服务器的路径。如果步骤S303的结果为“是”,则流程进入步骤S311 ;否则进入步骤S304。在步骤S304中,HTTP解析模块215判断解析后的即时消息请求的消息体是否含 有业务编号。当用户终端请求一项业务时,在其发送的消息请求的消息体中会被赋予一个业务 编号。请求同一项业务的消息请求的消息体含有相同的业务编号。比如,上述业务为多媒 体会议,请求同一个多媒体会议的消息请求的消息体含有相同的业务编号。如果步骤S304的结果为“是”,则流程进入步骤S305 ;否则进入步骤S307。在步骤S305中,根据业务编号选择目标服务器。该步骤由目标服务器选择模块一 218完成。目标服务器选择模块一 218查找集群 服务器107中处理过具有相同业务编号的即时消息请求的服务器。如果找到该服务器,目 标服务器选择模块一 218将解析后的即时消息请求发送至该服务器;如果没有找到该服务 器,说明服务器集群107中还没有服务器处理过具有该业务编号的即时消息请求,目标服 务器选择模块一 218向HTTP解析模块215发出通知信号。根据业务编号选择服务器,将 具有相同业务编号的解析后的即时消息请求分配至同一台服务器,提高了服务器的处理效 率。服务器处理具有业务编号的即时消息请求时,需要查找已有的对具有该业务编号 的即时消息请求的处理结果。按业务编号选择目标服务器,将具有相同业务编号的即时消 息请求发向同一个服务器,避免对处理过具有该业务编号的即时消息请求的不同服务器的 访问,提高了服务器处理即时消息请求的效率。在步骤S306中,判断步骤S305是否成功选择目标服务器。
如果步骤S306的结果为“是”,则流程进入步骤S311 ;否则进入步骤S307。在步骤S307中,HTTP解析模块215判断解析后的即时消息请求的消息头中是否
含有会话编号。会话编号(Session ID)指的是为每个发送消息请求的用户终端分配的一个唯一 标识符。该标识符用于用户终端身份认证、程序状态记录和页面之间参数传递等操作。如果步骤S307的结果为“是”,则流程进入步骤S308 ;否则进入步骤S310。在步骤S308中,根据会话编号选择目标服务器。该步骤由目标服务器选择模块二 219完成。目标服务器选择模块二 219查找集群 服务器107中处理过具有相同会话编号的即时消息请求的服务器。如果找到该服务器,目 标服务器选择模块二 219将解析后的即时消息请求发送至该服务器;如果没有找到该服务 器,目标服务器选择模块二 219向目标选择模块三220发出通知信号。根据会话编号选择 服务器,将同一个用户终端发送的消息请求交由同一台服务器处理,避免该服务器对来自 同一用户终端的消息请求进行重复的终端身份认证等操作。在步骤S309中,判断步骤S308是否成功选择目标服务器。如果步骤S309的结果为“是”,则流程进入步骤S311 ;否则进入步骤S310。在步骤S310中,根据权值轮询调度算法选择目标服务器。该步骤由目标服务器选择模块三220完成。目标服务器选择模块三220根据服务 器集群107中各台服务器的工作状态计算相应地服务器权值,并由服务器权值计算服务器 的性能值。目标服务器选择模块三220按照服务器的性能值从大到小的顺序依次调度各台 服务器,使性能值大的服务器优先处理解析后的即时消息请求。根据权值轮询调度算法选 择目标服务器,合理地利用了服务器集群系统的资源。步骤S310之后,流程进入步骤S311。在步骤S311中,请求转发模块212按照选出的目标服务器支持的传输协议封装上 述解析后的即时消息请求,发送已封装的解析后的即时消息请求至选出的目标服务器。在步骤S312中,响应接收模块213接收来自目标服务器的接收响应。选出的目标服务器在接收到请求转发模块212发送的已封装的解析后的即时消 息请求后,发送接收响应至负载均衡子系统。在步骤S313中,响应转发模块214接收该接收响应并按HTTP封装该接收响应,发 送已封装的接收响应至即时消息请求的发送端。该即时消息请求的发送端为直接发送即时 消息请求的用户终端100或发送非即时消息请求的用户终端200。流程结束于步骤S314。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,本领 域普通技术人员可以在所附权利要求的范围内做出各种变形和修改。
权利要求
一种服务器集群系统,包括负载均衡子系统和服务器集群,所述负载均衡子系统按照既定方法选择处理即时消息请求的目标服务器,其特征在于,所述负载均衡子系统包括请求接收模块,接收即时消息请求;HTTP解析模块,解析即时消息请求的消息头和消息体;请求转发模块,按照目标服务器支持的传输协议封装所述解析后的即时消息请求,并发送已封装的解析后的即时消息请求至所述目标服务器;响应接收模块,接收目标服务器发送的接收响应;响应转发模块,按照HTTP封装所述接收响应,并发送已封装的接收响应至即时消息请求的发送端;内存管理模块,分配和管理负载均衡子系统的内存资源;服务器管理模块,配置所述服务器集群和设置所述服务器集群中服务器的参数;目标服务器选择模块一,根据所述解析后的即时消息请求的消息体中包含的业务编号选择目标服务器;目标服务器选择模块二,根据所述解析后的即时消息请求的消息头中包含的会话编号选择目标服务器;目标服务器选择模块三,根据所述服务器集群中的服务器性能选择目标服务器;状态监控模块,用于获取所述服务器集群中各台服务器的工作状态。
2.根据权利要求1所述服务器集群系统,其特征在于,所述服务器集群系统还包括预 约消息管理子系统,所述预约消息管理子系统包括消息接收模块,用于接收非即时消息请求或非即时消息请求的更新信息; 消息存储模块,用于存储所述非即时消息请求或所述非即时消息请求的更新信息; 数据管理模块,用于检测所述消息存储模块中非即时消息请求的处理时间以及用于更 新所述消息存储模块中的非即时消息请求;消息触发模块,在所述非即时消息请求的处理时间将所述非即时消息请求转化为即时 消息请求,发送所述即时消息请求至所述负载均衡子系统。
3.根据权利要求2所述的服务器集群系统,其特征在于,所述消息存储模块包括数据库子模块,用于存储来自消息接收模块的非即时消息请求或非即时消息请求的更 新信息;数据缓存子模块,用于存储来自数据库子模块的非即时消息请求或来自消息接收模块 的非即时消息请求的更新信息。
4.根据权利要求3所述的服务器集群系统,其特征在于,所述检测所述消息存储模块 中非即时消息请求的处理时间是指A、所述数据管理模块每隔既定时间X访问一次所述数据库子模块,判断所述数据库子 模块中是否有预约的非即时消息请求在访问时刻处理;B、如果所述数据库子模块中有预约的非即时消息请求在访问时刻处理,所述数据管理 模块将所述预约的非即时消息请求发送至所述消息触发模块;C、如果所述数据库子模块中没有预约的非即时消息请求在访问时刻处理,所述数据管 理模块将所述数据库子模块中预约在所述访问时刻和下一次访问时刻之间处理的非即时消息请求提取至所述数据缓存子模块;D、所述数据管理模块每隔既定时间Y访问一次所述数据缓存子模块,判断所述数据缓 存子模块中是否有预约的非即时消息请求在访问时刻处理;E、如果所述数据缓存子模块中有预约的非即时消息请求在访问时刻处理,所述数据管 理模块将所述预约的非即时消息请求发送至所述消息触发模块;F、如果所述数据缓存子模块中没有预约的非即时消息请求在访问时刻处理,所述数据 管理模块等待下一访问时刻访问所述数据缓存子模块;所述既定时间Y小于所述既定时间X。
5.根据权利要求3所述的服务器集群系统,其特征在于,所述更新所述消息存储模块 中的非即时消息请求是指A、所述消息接收模块接收非即时消息请求的更新信息;B、所述数据管理模块访问所述数据缓存子模块,查找所述数据缓存子模块中是否存在 所述更新信息对应的非即时消息请求;C、如果所述数据缓存子模块中存在所述更新信息对应的非即时消息请求,所述数据 管理模块读取所述更新信息至所述数据缓存子模块,替换所述数据缓存子模块中所述更新 信息对应的非即时消息请求中需要被更新的内容,并向所述消息接收模块发送更新成功指 示;D、如果所述数据缓存子模块中不存在所述更新信息对应的非即时消息请求,所述数据 管理模块访问所述数据库子模块,查找所述数据库子模块中是否存在所述更新信息对应的 非即时消息请求;E、如果所述数据库子模块中存在所述更新信息对应的非即时消息请求,所述数据管理 模块读取所述更新信息至所述数据库子模块,替换所述数据库子模块中所述更新信息对应 的非即时消息请求中需要被更新的内容,并向所述消息接收模块发送更新成功指示;F、如果所述数据库子模块中不存在所述更新信息对应的非即时消息请求,所述数据管 理模块向所述消息接收模块发送更新失败指示。
6.根据权利要求1所述的服务器集群系统,其特征在与,所述既定方法为A、接收即时消息请求;B、解析即时消息请求,判断解析后的即时消息请求的消息头是否含目标服务器的路径;C、如果所述解析后的即时消息请求的消息头不含目标服务器的路径,判断解析后的即 时消息请求的消息体是否含业务编号;D、如果所述解析后的即时消息请求的消息体含业务编号,根据所述业务编号选择目标 服务器,按照所述目标服务器支持的传输协议封装所述解析后的即时消息请求,发送已封 装的解析后的即时消息请求至所述目标服务器;E、如果所述解析后的即时消息请求的消息体不含业务编号或者根据所述业务编号选 择目标服务器失败,判断所述解析后的即时消息请求的消息头是否含会话编号;F、如果所述解析后的即时消息请求的消息头含会话编号,根据所述会话编号选择目标 服务器,按照所述目标服务器支持的传输协议封装所述解析后的即时消息请求,发送已封 装的解析后的即时消息请求至所述目标服务器;G、如果所述解析后的即时消息请求的消息头不含会话编号或者根据所述会话编号选 择目标服务器失败,根据权值轮询调度算法选择目标服务器,按照所述目标服务器支持的 传输协议封装所述解析后的即时消息请求,发送已封装的解析后的即时消息请求至所述目 标服务器;H、如果所述解析后的即时消息请求的消息头含目标 服务器的路径,按照目标服务器支 持的传输协议封装所述解析后即时消息请求,发送已封装的解析后的即时消息请求至所述 目标服务器;I、接收来自所述目标服务器的接收响应;J、按HTTP封装所述接收响应,并发送已封装的接收响应至所述即时消息请求的发送端。
全文摘要
本发明涉及一种服务器集群系统和负载均衡方法,以解决现有服务器集群系统没有考虑用户终端请求相同业务的问题。本发明提供的服务器集群系统包括负载均衡子系统和服务器集群,所述负载均衡子系统按照既定方法选择处理即时消息请求的目标服务器。所述负载均衡子系统包括请求接收模块、请求转发模块、响应接收模块、响应转发模块、HTTP解析模块、内存管理模块、服务器管理模块、目标服务器选择模块一、目标服务器选择模块二、目标服务器选择模块三和状态监控模块。本发明还提供了一种负载均衡方法。使用本发明能为不同类型的消息请求合理地选择目标服务器。
文档编号H04L29/08GK101938502SQ20091008930
公开日2011年1月5日 申请日期2009年7月14日 优先权日2009年7月14日
发明者刘习贺, 叶波, 王月, 程勃, 章洋, 陈俊亮, 黄丽婷 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1