CN101938502B - 一种服务器集群***及负载均衡方法 - Google Patents

一种服务器集群***及负载均衡方法 Download PDF

Info

Publication number
CN101938502B
CN101938502B CN 200910089304 CN200910089304A CN101938502B CN 101938502 B CN101938502 B CN 101938502B CN 200910089304 CN200910089304 CN 200910089304 CN 200910089304 A CN200910089304 A CN 200910089304A CN 101938502 B CN101938502 B CN 101938502B
Authority
CN
China
Prior art keywords
instant message
message request
module
server
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 200910089304
Other languages
English (en)
Other versions
CN101938502A (zh
Inventor
程渤
章洋
叶波
黄丽婷
***
王月
刘习贺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN 200910089304 priority Critical patent/CN101938502B/zh
Publication of CN101938502A publication Critical patent/CN101938502A/zh
Application granted granted Critical
Publication of CN101938502B publication Critical patent/CN101938502B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种服务器集群***和负载均衡方法,以解决现有服务器集群***没有考虑用户终端请求相同业务的问题。本发明提供的服务器集群***包括负载均衡子***和服务器集群,所述负载均衡子***按照既定方法选择处理即时消息请求的目标服务器。所述负载均衡子***包括:请求接收模块、请求转发模块、响应接收模块、响应转发模块、HTTP解析模块、内存管理模块、服务器管理模块、目标服务器选择模块一、目标服务器选择模块二、目标服务器选择模块三和状态监控模块。本发明还提供了一种负载均衡方法。使用本发明能为不同类型的消息请求合理地选择目标服务器。

Description

一种服务器集群***及负载均衡方法
技术领域
本发明涉及一种服务器集群***和负载均衡方法。
背景技术
随着互联网技术的发展,业务类型变得多样化,从单一业务的数据通信发展到如今能支持语音、视频等多种业务的多媒体通信。对于由单台服务器组成的***而言,由于单台服务器的中央处理器、输入/输出接口处理速度等方面的限制,已无法满足快速增长的数据量以及同时处理多种业务的要求,取而代之的是由多台服务器组成的服务器集群***。
服务器集群***要求一种高效负载均衡方法以保证多个消息请求被合理地分配至多台服务器。现有的基于权值轮询调度算法的负载均衡方法依据服务器性能的不同为即时消息请求选择目标服务器,充分利用了服务器集群***的资源;现有的基于会话编号(Session ID)的负载均衡方法能够识别同一用户终端发出的不同即时消息请求,使这些即时消息请求被同一台服务器处理,节省了重复身份识别、参数传递等动作。但是,上述负载均衡方法均忽略了用户终端请求相同业务的情况。
发明内容
为了解决上述现有服务器集群***没有考虑用户终端请求相同业务的问题,本发明提供了一种服务器集群***及负载均衡方法,使用该服务器集群***和负载均衡方法能为不同类型的即时消息请求选择最合适的目标服务器。
本发明的技术方案如下:
本发明提供了一种服务器集群***。该***包括负载均衡子***和服务器集群,所述负载均衡子***按照既定方法选择处理即时消息请求的目标服务器,所述既定方法为:接收即时消息请求;解析即时消息请求,判断解析后的即时消息请求的消息头是否含目标服务器的路径;如果所述解析后的即时消息请求的消息头不含目标服务器的路径,判断解析后的即时消息请求的消息体是否含业务编号;如果所述解析后的即时消息请求的消息体含业务编号,根据所述业务编号选择目标服务器,按照所述目标服务器支持的传输协议封装所述解析后的即时消息请求,发送已封装的解析后的即时消息请求至所述目标服务器;如果所述解析后的即时消息请求的消息体不含业务编号或者根据所述业务编号选择目标服务器失败,判断所述解析后的即时消息请求的消息头是否含会话编号;如果所述解析后的即时消息请求的消息头含会话编号,根据所述会话编号选择目标服务器,按照所述目标服务器支持的传输协议封装所述解析后的即时消息请求,发送已封装的解析后的即时消息请求至所述目标服务器;如果所述解析后的即时消息请求的消息头不含会话编号或者根据所述会话编号选择目标服务器失败,根据权值轮询调度算法选择目标服务器,按照所述目标服务器支持的传输协议封装所述解析后的即时消息请求,发送已封装的解析后的即时消息请求至所述目标服务器;如果所述解析后的即时消息请求的消息头含目标服务器的路径,按照目标服务器支持的传输协议封装所述解析后即时消息请求,发送已封装的解析后的即时消息请求至所述目标服务器;接收来自所述目标服务器的接收响应;按HTTP封装所述接收响应,并发送已封装的接收响应至所述即时消息请求的发送端;其特征在于,所述负载均衡子***包括:
请求接收模块,接收即时消息请求;
HTTP解析模块,解析即时消息请求的消息头和消息体;
请求转发模块,按照目标服务器支持的传输协议封装所述解析后的即时消息请求,并发送已封装的解析后的即时消息请求至所述目标服务器;
响应接收模块,接收目标服务器发送的接收响应;
响应转发模块,按照HTTP封装所述接收响应,并发送已封装的接收响应至即时消息请求的发送端;
内存管理模块,分配和管理负载均衡子***的内存资源;
服务器管理模块,配置所述服务器集群和设置所述服务器集群中服务器的参数;
目标服务器选择模块一,根据所述解析后的即时消息请求的消息体中包含的业务编号选择目标服务器;
目标服务器选择模块二,根据所述解析后的即时消息请求的消息头中包含的会话编号选择目标服务器;
目标服务器选择模块三,根据所述服务器集群中的服务器性能选择目标服务器;
状态监控模块,用于获取所述服务器集群中各台服务器的工作状态。
上述服务器集群***还包括预约消息管理子***,所述预约消息管理子***包括:
消息接收模块,用于接收非即时消息请求或非即时消息请求的更新信息;
消息存储模块,用于存储所述非即时消息请求或所述非即时消息请求的更新信息;
数据管理模块,用于检测所述消息存储模块中非即时消息请求的处理时间以及用于更新所述消息存储模块中的非即时消息请求;
消息触发模块,在所述非即时消息请求的处理时间将所述非即时消息请求转化为即时消息请求,发送所述即时消息请求至所述负载均衡子***。
上述服务器集群***中,所述消息存储模块包括:
数据库子模块,用于存储来自消息接收模块的非即时消息请求或非即时消息请求的更新信息;
数据缓存子模块,用于存储来自数据库子模块的非即时消息请求或来自消息接收模块的非即时消息请求的更新信息。
上述服务器集群***中,所述检测所述消息存储模块中非即时消息请求的处理时间是指:
A、所述数据管理模块每隔既定时间X访问一次所述数据库子模块,判断所述数据库子模块中是否有预约的非即时消息请求在访问时刻处理;
B、如果所述数据库子模块中有预约的非即时消息请求在访问时刻处理,所述数据管理模块将所述预约的非即时消息请求发送至所述消息触发模块;
C、如果所述数据库子模块中没有预约的非即时消息请求在访问时刻处理,所述数据管理模块将所述数据库子模块中预约在所述访问时刻和下一次访问时刻之间处理的非即时消息请求提取至所述数据缓存子模块;
D、所述数据管理模块每隔既定时间Y访问一次所述数据缓存子模块,判断所述数据缓存子模块中是否有预约的非即时消息请求在访问时刻处理;
E、如果所述数据缓存子模块中有预约的非即时消息请求在访问时刻处理,所述数据管理模块将所述预约的非即时消息请求发送至所述消息触发模块;
F、如果所述数据缓存子模块中没有预约的非即时消息请求在访问时刻处理,所述数据管理模块等待下一访问时刻访问所述数据缓存子模块;
所述既定时间Y小于所述既定时间X。
上述服务器集群***中,所述更新所述消息存储模块中的非即时消息请求是指:
A、所述消息接收模块接收非即时消息请求的更新信息;
B、所述数据管理模块访问所述数据缓存子模块,查找所述数据缓存子模块中是否存在所述更新信息对应的非即时消息请求;
C、如果所述数据缓存子模块中存在所述更新信息对应的非即时消息请求,所述数据管理模块读取所述更新信息至所述数据缓存子模块,替换所述数据缓存子模块中所述更新信息对应的非即时消息请求中需要被更新的内容,并向所述消息接收模块发送更新成功指示;
D、如果所述数据缓存子模块中不存在所述更新信息对应的非即时消息请求,所述数据管理模块访问所述数据库子模块,查找所述数据库子模块中是否存在所述更新信息对应的非即时消息请求;
E、如果所述数据库子模块中存在所述更新信息对应的非即时消息请求,所述数据管理模块读取所述更新信息至所述数据库子模块,替换所述数据库子模块中所述更新信息对应的非即时消息请求中需要被更新的内容,并向所述消息接收模块发送更新成功指示;
F、如果所述数据库子模块中不存在所述更新信息对应的非即时消息请求,所述数据管理模块向所述消息接收模块发送更新失败指示。
该即时消息请求的发送端为直接发送即时消息请求的用户终端或发送非即时消息请求的用户终端。
本发明的有益效果为:
(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。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,本领域普通技术人员可以在所附权利要求的范围内做出各种变形和修改。

Claims (5)

1.一种服务器集群***,包括负载均衡子***和服务器集群,所述负载均衡子***按照既定方法选择处理即时消息请求的目标服务器,所述既定方法为:接收即时消息请求;解析即时消息请求,判断解析后的即时消息请求的消息头是否含目标服务器的路径;如果所述解析后的即时消息请求的消息头不含目标服务器的路径,判断解析后的即时消息请求的消息体是否含业务编号;如果所述解析后的即时消息请求的消息体含业务编号,根据所述业务编号选择目标服务器,按照所述目标服务器支持的传输协议封装所述解析后的即时消息请求,发送已封装的解析后的即时消息请求至所述目标服务器;如果所述解析后的即时消息请求的消息体不含业务编号或者根据所述业务编号选择目标服务器失败,判断所述解析后的即时消息请求的消息头是否含会话编号;如果所述解析后的即时消息请求的消息头含会话编号,根据所述会话编号选择目标服务器,按照所述目标服务器支持的传输协议封装所述解析后的即时消息请求,发送已封装的解析后的即时消息请求至所述目标服务器;如果所述解析后的即时消息请求的消息头不含会话编号或者根据所述会话编号选择目标服务器失败,根据权值轮询调度算法选择目标服务器,按照所述目标服务器支持的传输协议封装所述解析后的即时消息请求,发送已封装的解析后的即时消息请求至所述目标服务器;如果所述解析后的即时消息请求的消息头含目标服务器的路径,按照目标服务器支持的传输协议封装所述解析后即时消息请求,发送已封装的解析后的即时消息请求至所述目标服务器;接收来自所述目标服务器的接收响应;按HTTP封装所述接收响应,并发送已封装的接收响应至所述即时消息请求的发送端;其特征在于,所述负载均衡子***包括:
请求接收模块,接收即时消息请求;
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、如果所述数据库子模块中不存在所述更新信息对应的非即时消息请求,所述数据管理模块向所述消息接收模块发送更新失败指示。
CN 200910089304 2009-07-14 2009-07-14 一种服务器集群***及负载均衡方法 Expired - Fee Related CN101938502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910089304 CN101938502B (zh) 2009-07-14 2009-07-14 一种服务器集群***及负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910089304 CN101938502B (zh) 2009-07-14 2009-07-14 一种服务器集群***及负载均衡方法

Publications (2)

Publication Number Publication Date
CN101938502A CN101938502A (zh) 2011-01-05
CN101938502B true CN101938502B (zh) 2013-03-27

Family

ID=43391630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910089304 Expired - Fee Related CN101938502B (zh) 2009-07-14 2009-07-14 一种服务器集群***及负载均衡方法

Country Status (1)

Country Link
CN (1) CN101938502B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055771B (zh) * 2011-01-24 2013-06-05 上海红神信息技术有限公司 面向云服务的多并发业务流控制装置及控制方法
US8732191B2 (en) * 2011-06-27 2014-05-20 Oracle International Corporation System and method for improving application connectivity in a clustered database environment
CN102436468A (zh) * 2011-09-14 2012-05-02 山东中创软件商用中间件股份有限公司 一种基于数据库集群的负载均衡方法及***
CN102611735B (zh) * 2011-12-21 2015-12-09 北京奇虎科技有限公司 一种应用服务的负载均衡方法及***
CN103369054B (zh) * 2013-07-30 2016-05-18 北京搜狐新媒体信息技术有限公司 一种采集任务管理方法及***
CN103561022A (zh) 2013-10-31 2014-02-05 腾讯科技(深圳)有限公司 语音服务接入方法和相关设备及语音服务***
CN103747274B (zh) * 2013-12-18 2016-08-17 北京邮电大学 一种增设缓存集群的视频数据中心及其缓存资源调度方法
CN105656853B (zh) * 2014-11-14 2018-11-20 华为技术有限公司 一种消息传递方法及相关装置
CN105516245B (zh) * 2015-11-25 2018-12-14 国家计算机网络与信息安全管理中心 一种基于流的负载均衡的***以及实现方法
CN107231269B (zh) * 2016-03-25 2020-04-07 阿里巴巴集团控股有限公司 一种集群精确限速方法和装置
CN106487918B (zh) * 2016-11-07 2019-06-18 清华大学 一种基于edX平台的MOOC***
CN108600386A (zh) * 2018-05-09 2018-09-28 数据堂(北京)科技股份有限公司 一种提供数据服务的方法及***
CN110378707B (zh) * 2019-07-24 2023-04-18 北京慧眼智行科技有限公司 一种信息处理方法及装置
CN110740161B (zh) * 2019-08-30 2022-05-13 武汉烽火众智数字技术有限责任公司 一种适配融合通信的***及方法
CN111652798B (zh) * 2020-05-26 2023-09-29 浙江大华技术股份有限公司 人脸姿态迁移方法和计算机存储介质
CN112751761A (zh) * 2020-12-28 2021-05-04 中国农业银行股份有限公司 交易路由的回切方法、中间***和业务处理***
CN113810468B (zh) * 2021-08-13 2023-04-18 济南浪潮数据技术有限公司 K8s架构下网关分发请求的方法、***、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207550A (zh) * 2007-03-16 2008-06-25 中国科学技术大学 负载均衡***及多种业务实现负载均衡的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101207550A (zh) * 2007-03-16 2008-06-25 中国科学技术大学 负载均衡***及多种业务实现负载均衡的方法

Also Published As

Publication number Publication date
CN101938502A (zh) 2011-01-05

Similar Documents

Publication Publication Date Title
CN101938502B (zh) 一种服务器集群***及负载均衡方法
US11411897B2 (en) Communication method and communication apparatus for message queue telemetry transport
CN106031130B (zh) 具有边缘代理的内容传送网络架构
KR101887581B1 (ko) 플로우 기반의 패킷 전송 장치 및 그것의 패킷 처리 방법
CN112039942A (zh) 一种订阅发布方法及服务器
CN101326493B (zh) 用于多处理器服务器中的负载分配的方法和装置
CN101296176B (zh) 一种基于群集的数据处理方法和装置
CN101610222A (zh) 基于客户端的服务器选择方法及装置
CN105991412A (zh) 消息推送方法及装置
CN109873855B (zh) 一种基于区块链网络的资源获取方法和***
US11841910B2 (en) Token-based authentication for a proxy web scraping service
CN107835437A (zh) 基于多缓存服务器的调度方法和装置
US7187683B1 (en) Statistics data collection mechanism for distributed, high-speed data processing environments
CN101026570A (zh) 基于负载均衡度量实例来选择服务器的方法和***
CN103262582A (zh) 用于在面向内容的网络环境中使用群组改变的信息共享内容的方法和设备
CN110445886A (zh) 一种实现域名访问加速的方法和***
CN112003945A (zh) 服务请求响应方法及装置
CN114268631B (zh) 低延迟网络***及其通信连接方法及可读存储介质
CN103428260A (zh) 用于将终端分配到服务器并高效地提示终端的***及方法
CN110798495B (zh) 用于在集群架构模式下端到端的消息推送的方法和服务器
CN111600929B (zh) 传输线路探测方法、路由策略生成方法及代理服务器
CN106856456A (zh) 缓存集群服务的处理方法及***
US20090300182A1 (en) Computer-readable storage medium storing event control program, event control method, and event controller
KR101066328B1 (ko) 모바일 환경에서 부하 분산 처리 방법 및 이를 구현하는 모바일 디바이스
US10616109B1 (en) System and method for web service atomic transaction (WS-AT) affinity routing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Cheng Bo

Inventor after: Zhang Yang

Inventor after: Ye Bo

Inventor after: Huang Liting

Inventor after: Chen Junliang

Inventor after: Wang Yue

Inventor after: Liu Xihe

Inventor before: Cheng Bo

Inventor before: Zhang Yang

Inventor before: Ye Bo

Inventor before: Huang Liting

Inventor before: Chen Junliang

Inventor before: Wang Yue

Inventor before: Liu Xihe

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130327

Termination date: 20140714

EXPY Termination of patent right or utility model