消息接收、推送、传输的方法、装置、服务器组及系统的制作方法

文档序号:7981556阅读:155来源:国知局
消息接收、推送、传输的方法、装置、服务器组及系统的制作方法
【专利摘要】本申请涉及一种消息接收、发送、传输的方法及消息接收装置、服务器组和消息传输系统。所述消息接收方法包括:设置用于作为哈希算法的目标对象的服务器组,所述服务器组中包括多个服务器;配置所述服务器组中的多个服务器接收请求消息的负载策略;根据所述负载策略,所述服务器组中的一个服务器接收对端服务器根据哈希算法转发的浏览器的请求消息。因此,本申请通过设置服务器组,由服务器组接收到通过一致性哈希算法转发来的请求消息,按照负载策略由服务器组中的一个服务器来接收,从而可以使得服务器的负载均衡。
【专利说明】消息接收、推送、传输的方法、装置、服务器组及系统
【技术领域】
[0001]本申请涉及互联网通信领域,尤其涉及一种消息接收方法、消息推送方法、消息传 输方法、消息接收装置、服务器组和消息传输系统。
【背景技术】
[0002]随着互联网的迅速发展,服务器和用户所在的客户端终端上的浏览器之间的消息 传输频繁。在面向浏览器的消息传输系统中,有两个过程,第一过程中浏览器端将请求负载 到不同服务器上,第二过程中消息推送的系统在消息需要推送的时候,根据用户账户找到 用户所在的服务器,由该服务器推送到浏览器上。
[0003]第一过程的现有的技术方案中,浏览器向服务器发送请求,采用一致性哈希 (hash)算法,将用户的请求负载到目标对象服务器上。该方案是将每个服务器划为多个控 制点,每个控制点控制一定范围内的请求,例如有10个服务器,每个服务器被划分为16个 控制点,则总共有160个控制点。假设使用哈希算法的值的范围为0-16000,则每个控制点 控制100个范围,每个服务器控制1600个范围,也就是经过hash计算后,在这1600范围内 的请求就被发送到对应的服务器上。但是一致性hash算法有个缺点,尽管每个控制点控制 的范围是一样的,但是可能经过hash计算后,处于某个范围内的数据特别多,这样会导致 发送到某个服务器上的请求特别多,因此,造成每个服务器上负载不均衡。
[0004]而第二过程消息推送的系统向浏览器推送消息时,一般需要查找用户所在的服务 器,然后将消息推送到相关服务器上,这就存在需要集中存储用户浏览器与服务器的对应 关系,从而导致消息推送系统需要维护一个庞大的数据信息,因而导致数据维护繁琐、查找 速度缓慢和系统的性能下降。

【发明内容】

[0005]本申请提供了 一种消息接收的方法、消息推送的方法、消息传输的方法、消息接收 装置和服务器组,以解决服务器上的负载不均衡,以及数据维护繁琐、查找速度缓慢和系统 的性能下降的问题。
[0006]为了实现上述,本申请提供了一种消息接收的方法。该方法包括:
[0007]设置用于作为哈希算法的目标对象的服务器组,所述服务器组中包括多个服务 器;
[0008]配置所述服务器组中的多个服务器接收请求消息的负载策略;
[0009]根据所述负载策略,所述服务器组中的一个服务器接收对端服务器根据哈希算法 转发的浏览器的请求消息。
[0010]本申请提供了一种消息推送的方法。该方法包括:
[0011]服务器组接收消息推送的系统根据哈希算法推送的下发消息,所述服务器组中包 括多个服务器;
[0012]所述服务器组中的所述多个服务器接收到所述下发消息后,每个服务器检测本身是否为根据负载策略接收请求消息的服务器;
[0013]当一个服务器确定为所述根据负载策略接收所述请求消息的服务器时,所述确定 为所述根据负载策略接收所述请求消息的服务器将所述下发消息发送。
[0014]本申请提供了一种消息传输的方法。该方法包括:
[0015]根据负载策略,服务器组中的一个服务器接收对端服务器根据哈希算法转发的浏 览器的请求消息,所述服务器组中包括多个服务器;
[0016]所述服务器组接收消息推送的系统根据哈希算法推送的下发消息;
[0017]所述服务器组中的所述多个服务器接收到所述下发消息后,每个服务器检测本身 是否为根据负载策略接收所述请求消息的服务器;
[0018]当一个服务器确定为所述根据负载策略接收所述请求消息的服务器时,所述确定 为所述根据负载策略接收所述请求消息的服务器将所述下发消息发送。
[0019]本申请提供了一种消息传输的方法。该方法包括:
[0020]对端服务器根据哈希算法向本端服务器组发送请求消息,所述本端服务器组中包 括多个服务器;
[0021]根据预先配置的负载策略,所述本端服务器组中的一个服务器接收所述请求消 息,并向第三端服务器发送;
[0022]所述第三端服务器根据哈希算法,将下发消息发送给所述本端服务器组中的多个 服务器;
[0023]所述本端服务器组中的所述根据预先配置的负载策略接收所述请求消息的所述 服务器,向所述对端服务器发送所述下发消息。
[0024]本申请提供了一种消息发送的装置,其特征在于,所述装置包括:
[0025]设置单元,用于设置服务器组,所述服务器组中包括多个服务器;
[0026]配置单元,用于配置所述服务器组中的多个服务器接收请求消息的负载策略;
[0027]处理单元,用于根据所述负载策略,所述服务器组中的一个服务器接收对端服务 器根据哈希算法转发的浏览器的请求消息。
[0028]本申请提供了一种服务器组,包括多个服务器,所述服务器用于:
[0029]接收消息推送的系统根据哈希算法推送的下发消息;
[0030]检测本身是否为根据负载策略接收所述请求消息的服务器;
[0031]将所述下发消息发送。
[0032]本申请提供了一种服务器组,包括多个服务器,所述服务器用于:
[0033]根据负载策略,接收对端服务器根据哈希算法转发的浏览器的请求消息;
[0034]接收消息推送的系统根据哈希算法推送的下发消息;
[0035]检测本身是否为根据负载策略接收所述请求消息的服务器;
[0036]将所述下发消息发送。
[0037]本申请提供了一种消息传输系统,该系统包括:
[0038]对端服务器,用于根据哈希算法向本端服务器组转发浏览器的请求消息;
[0039]所述本端服务器组中包括多个服务器,所述服务器用于根据预先配置的负载策 略,接收所述请求消息并向第三端服务器发送,以及向所述对端服务器发送下发消息。
[0040]所述第三端服务器,用于根据哈希算法,将下发消息发送给所述本端服务器组中的多个服务器。
[0041]因此,本申请通过设置服务器组,由服务器组接收到通过一致性哈希(hash)算法 转发来的请求消息,按照负载策略由服务器组中的一个服务器来接收,从而可以使得服务 器的负载均衡;服务器组中的多个服务器接收经过hash算法推送的下发消息,可以达到初 步的负载均衡,由原先按照负载策略接收了请求消息的服务器来向浏览器发送而不必维护 大量数据,并且可以快捷地发送。
【专利附图】

【附图说明】
[0042]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。
[0043]图1为本申请消息接收、推送、传输的方法适用的应用架构示意图。
[0044]图2为本申请实施例消息接收的方法的流程图。
[0045]图3为本申请实施例消息接收的方法的流程图。
[0046]图4为本申请实施例消息推送的方法的流程图。
[0047]图5为本申请实施例消息传输的方法的流程图。
[0048]图6为本申请实施例消息传输的方法的流程图。
【具体实施方式】
[0049]本申请通过将网页(web)服务器分组设置,并且给每一个服务器组配置负载策 略,分组后的服务器组代替现有hash算法中的一个服务器,当经过hash算法计算后,对于 属于该服务器组的哈希算法的值的范围内的请求,将被转发至该服务器组,由服务器组根 据负载策略接收该请求消息。当消息推送的系统有下发消息需要推送给用户时,利用hash 算法将该下发消息推送给服务器组中的所有服务器,而由之前接收了请求消息的服务器将 该下发消息下发给用户。
[0050]下面首先介绍本申请消息接收、推送、传输的方法适用的应用场景示意图。图1为 本申请消息接收、推送、传输的方法适用的应用架构。如图1所示,该架构包括多个客户端 终端1、多个代理服务器2、多个服务器组3和消息推送的系统4。客户端终端上具有浏览器 10,服务器组3中包括多个服务器31、32等。代理服务器2在本申请也被称为对端服务器, 该代理服务器用来将用户通过浏览器发起的请求消息经过hash算法转发给web服务器组 3 (在本申请也被称为服务器组或本端服务器组),由按照负载策略的该服务器组中一个服 务器来接收该请求消息,从而完成服务器和终端的一个连接实现消息传输的第一过程。当 消息推送的系统4具有下发消息需要推送给用户时,此时经过hash算法计算,将下发消息 发送至服务器组3中的每个服务器31,此时在第一过程中接收请求消息的服务器将该下发 消息发送浏览器10,从而完成消息传输的第二过程。在第一过程中所述浏览器10和所述服 务器组3是通过建立如超文本传送协议(hypertext transport protocol,简称HTTP)的长 连接来发送请求消息的,在第二过程中所述消息推送的系统4和所述服务器组3是通过建 立如传输控制协议(Transmission Control Protocol,简称TCP)的长连接来发送下发消息的。
[0051]在实际应用中,用户通过浏览器发起的请求消息可以为打开电子商务网站页面的 请求消息、用户登录网站的请求消息、打开页面的内容的请求消息、登录电子商务网站提供 的web即时通讯客户端等。消息推送的系统可以为例如淘宝商务网站的阿里旺旺消息推 送的系统、拍卖应用的价格推送的系统、网站信息中心等,推送的下发消息可以是即时通讯 聊天信息、向网络注册用户推送的商品促销信息、向网络注册用户推送的商品拍卖价格等。 服务器组是将多个服务器根据负载压力动态设置的,例如,淘宝电子商务网站具有很多web 服务器,首先管理人员通过设定分组的策略,例如,按照负载压力动态设置服务器,服务器 根据自身的负载压力,进行分组,以达到分成的每个服务器组能均衡负载压力。服务器组中 有多个服务器,经过组别设置后,电子商务网站就具有多组服务器组来接收hash转发的浏 览器发起的HTTP请求消息。代理服务器在进行一致性hash算法时,相当于将现有技术中 一个机器替代为一个服务器组,因此是将HTTP请求消息hash至一个服务器组。根据hash 算法转发请求消息至一台机器(在本申请中是服务器组)是现有技术,不再赘述。
[0052]下面参见图2和上面描述的内容来描述本申请实施例。图2为本申请实施例消息 接收的方法的流程图。如图2所示,本申请实施例可以包括以下步骤:
[0053]步骤21,设置用于作为哈希算法的目标对象的服务器组,所述服务器组中包括多 个服务器;
[0054]在本步骤中,如上面描述的,电子商务网站管理人员设定分组的策略,例如按照负 载压力动态设置服务器,服务器根据自身的负载压力,进行分组,以达到分成的每个服务器 组能均衡负载压力,因此当电子商务网站中的某一个服务器组的负载达到一个极限时,按 照设定,这些服务器可以动态地调整每个组别中的服务器,例如,服务器的个数、服务器的 种类等等。例如某个服务器组3包括多个服务器31、32、33、34和35。划分了组别的服务器 组用于作为哈希算法的目标对象,即替代现有技术方案中哈希算法指向的目标对象一个服 务器。
[0055]步骤22,配置所述服务器组中的多个服务器接收请求消息的负载策略;
[0056]在本步骤中,电子商务网站管理人员可以预先配置好这些服务器组中的服务器接 收请求消息的负载策略。负载策略可以是轮询表,所述轮询表用于指示根据所述轮询表中 排布好的所述服务器的顺序,所述服务器组中的多个服务器轮流接收所述请求消息。其中 服务器的顺序排布可以根据组中每个服务器已经承受的负载压力来进行排布,例如将负载 压力最大的排在最后,将负载压力排序靠后(如排在倒数前几名,如倒数第一名至倒数第 三名等,优选最小的)的服务器排在第一来接收请求消息,例如服务器31、32、33、34和35 顺序排列。服务器的顺序排布还可以根据每个服务器的性能,如果某个服务器性能很好,可 以承载很大的负载,则将其排序在第一,依次按照性能减弱来排布。
[0057]步骤23,根据所述负载策略,所述服务器组中的一个服务器接收对端服务器根据 哈希算法转发的浏览器的请求消息。
[0058]在本步骤中,例如负载策略是上述的轮询表,则当接收到hash算法来的一个请求 消息时,按照轮询表中的服务器的顺序,例如服务器31排序第一位来接收该请求消息,则 该服务器31接收对端服务器根据哈希算法转发的浏览器的请求消息。其中对端服务器根 据哈希算法转发请求消息的过程中,利用哪个参数进行哈希算法可以根据具体地应用场景来确定,例如用户登录的场景,则可以根据用户帐户进行hash算法。
[0059]在该步骤23中,一个服务器接收到请求消息之后,该服务器将记录这个连接关 系,即记录用户与连接所在机器的对应关系。
[0060]对现有的第一过程中使用的hash算法进行了改进,由服务器组代替现有的hash 算法中的一个机器,再按照负载策略的该服务器组中一个服务器来接收该请求消息,从而 完成服务器和终端浏览器的一个连接,实现了消息传输的第一过程。在服务器组中的服务 器按照负载策略接收请求消息时,接收该请求消息的服务器记录其与相应的浏览器的连接 关系,例如请求消息是打开页面时记录了浏览器的IP地址,请求消息是用户登录请求时记 录了用户的用户帐户信息等。
[0061]由于作为哈希算法目标对象的服务器组接收到请求消息后,轮询表中轮到顺序的 服务器进行负载这个请求消息,等到下一次再接收新的请求消息时,由轮询表中的排布好 顺序的另一个服务器来负载请求消息,这样可以使得服务器相对公平地来负载请求,不会 出现每次来的请求消息,由同一个服务器承担。因此,按照负载策略来负载请求消息,可以 使得服务器的负载更加均衡。
[0062]图3为本申请实施例消息接收的方法的流程图。图3所示的实施例与图2所示实 施例不同之处在于使用的负载策略不同,如图3所示,本申请实施例可以包括以下步骤:
[0063]步骤31,设置用于作为哈希算法的目标对象的服务器组,所述服务器组中包括多 个服务器;
[0064]本步骤同步骤21。不同之处在于,管理人员在设定服务器组同时,设定该服务器组 的主控服务器,由主控服务器在接收到请求消息后,轮询组中负载压力排序靠后的服务器, 或者主控服务器在侦听到有请求消息待到达时,轮询组中负载压力排序靠后的服务器。
[0065]步骤32,配置所述服务器组中的多个服务器接收请求消息的负载策略;
[0066]在本步骤中,负载策略为选择满足负载条件的服务器用以负载所述请求消息,负 载条件可以是服务器负载压力排序靠后或者服务器性能最好。
[0067]步骤33,根据所述负载策略,所述服务器组中的一个服务器接收对端服务器根据 哈希算法转发的浏览器的请求消息。
[0068]在本步骤中负载策略不同于步骤33,因此该步骤33可以包括:
[0069]步骤331,所述服务器组中的主控服务器接收所述对端服务器根据哈希算法转发 的浏览器的请求消息;
[0070]此步骤也可以为主控服务器侦听有对端服务器根据哈希算法转发的浏览器的请 求消息待到达。
[0071]步骤332,所述服务器组中的主控服务器根据负载策略,轮询所述多个服务器的负 载,来选择满足负载条件的服务器;
[0072]例如,选择了负载排序靠后的服务器或者性能最好的服务器;
[0073]步骤333,所述服务器组中的所述满足负载条件的所述服务器接收所述请求消息, 并发送所述请求消息。
[0074]在本实施例中同上述实施例不同的是,由于负载策略不同,因此可实时地选择满 足负载条件,例如负载排序靠后的服务器,来接收请求消息。
[0075]由服务器组代替现有的hash算法中的一个机器,再按照负载策略的该服务器组中选择一个满足负载条件排序靠后来接收该请求消息,从而完成服务器和终端的一个连接 实现消息传输的第一过程。因此对现有的第一过程中使用的hash算法进行了改进,按照负 载策略来选择满足负载条件例如负载排序靠后的服务器,负载该请求消息,而使得服务器 的负载更加均衡。
[0076]图4为本申请实施例消息推送的方法的流程图。如图4所示,本申请实施例可以 包括以下步骤:
[0077]步骤41,服务器组接收消息推送的系统根据哈希算法推送的下发消息;
[0078]在本步骤中,消息推送的系统例如电子商务网站的阿里旺旺消息推送系统具有下 发给某个用户的旺旺消息时即发送给某个浏览器,进行哈希算法后将该下发消息(即旺旺 消息)推送给服务器组中的每一个服务器;
[0079]步骤42,所述服务器组中的所述多个服务器在接收到所述下发消息后,每个服务 器分别检测本身是否为根据负载策略接收所述请求消息的服务器;
[0080]由于在服务器组中的服务器按照负载策略接收请求消息时,接收该请求消息的服 务器记录其与相应的浏览器的连接关系,例如请求消息是用户登录阿里旺旺时记录了用户 的用户帐户信息、用户登录网站记录了用户的用户帐户信息等,因此在本步骤中,服务器中 的每一个服务器在接收该下发消息后,检测本身是否为根据负载策略接收所述请求消息的 服务器,也就是检查是否有与消息的接收对象的浏览器建立连接,例如,查找本身是否记录 了用户帐户信息;(比如之前用户打开门户网页,某个服务器接收了这个请求,记录了这个 连接,消息推送发现有新闻要推送到门户网页上,推送到服务器上,服务器上发现有过门户 页面的连接,这样就找到了这个连接)。
[0081]步骤43,当一个服务器确定为所述根据负载策略接收所述请求消息的服务器时, 所述确定为所述根据负载策略接收所述请求消息的服务器将所述下发消息发送。
[0082]当消息推送的系统有下发消息需要推送给用户时,消息推送消息利用hash算法 将该下发消息推送给服务器组中的所有服务器,而由之前接收了请求消息的服务器将该下 发消息下发给用户。因此,服务器组中的多个服务器接收经过hash算法推送的下发消息, 可以达到初步的负载均衡,由原先按照负载策略接收了请求消息的服务器来向浏览器发送 而不必维护大量数据,并且可以快捷地发送。
[0083]上述两个实施例分别描述了服务器组接收对端服务器通过哈希算法转发的浏览 器的请求消息,其中一个服务器与浏览器建立连接,并保存了这个连接关系;在有下发消息 需要推送给用户时,服务器组接收到经过哈希算法发送来的下发消息后,建立了这个连接 的服务器将该下发消息推送给浏览器端的用户。
[0084]因此,图5为本申请实施例消息传输的方法的流程图,其描述了结合上述两个实 施例过程的一个实施例,该实施例包括以下步骤:
[0085]步骤51,根据负载策略,服务器组中的一个服务器接收对端服务器根据哈希算法 转发的浏览器的请求消息,所述服务器组中包括多个服务器;
[0086]步骤52,所述服务器组接收消息推送的系统根据哈希算法推送的对应所述请求消 息的下发消息;
[0087]步骤53,所述服务器组中的所述多个服务器接收到所述下发消息后,每个服务器 检测本身是否为根据负载策略接收所述请求消息的服务器;[0088]步骤54,当一个服务器确定为所述根据负载策略接收所述请求消息的服务器时, 所述确定为所述根据负载策略接收所述请求消息的服务器将所述下发消息发送。
[0089]上述过程中的步骤参见上述的描述,不再赘述。本申请实现了消息传输的两个过 程的负载均衡控制。因此对现有的第一过程中使用的hash算法进行了改进,按照负载策 略来,负载该请求消息,而使得服务器的负载更加均衡;服务器组中的多个服务器接收经过 hash算法推送的下发消息,可以达到初步的负载均衡,由原先按照负载策略接收了请求消 息的服务器来向浏览器发送而不必维护大量数据,并且可以快捷地发送。
[0090]图6是本申请实施例消息传输的方法流程图。结合图1和图6,本申请实施例可以 包括以下步骤:
[0091]步骤61,对端服务器根据哈希算法向本端服务器组发送请求消息,所述本端服务 器组中包括多个服务器;
[0092]步骤62,根据预先配置的负载策略,所述本端服务器组中的一个服务器接收所述 请求消息,并向第三端服务器发送;
[0093]步骤63,所述第三端服务器根据哈希算法,将下发消息发送给所述本端服务器组 中的多个服务器;
[0094]步骤64,所述本端服务器组中的所述根据预先配置的负载策略接收所述请求消息 的所述服务器,向所述对端服务器发送所述下发消息。
[0095]因此对现有的第一过程中使用的hash算法进行了改进,按照负载策略来,负载该 请求消息,而使得服务器的负载更加均衡;服务器组中的多个服务器接收经过hash算法推 送的下发消息,可以达到初步的负载均衡,由原先按照负载策略接收了请求消息的服务器 来向浏览器发送而不必维护大量数据,并且可以快捷地发送。
[0096]相应地,本申请提供了一种消息发送的装置,所述装置包括:
[0097]设置单元,用于设置服务器组,所述服务器组中包括多个服务器;
[0098]配置单元,用于配置所述服务器组中的多个服务器接收请求消息的负载策略;
[0099]处理单元,用于根据所述负载策略,所述服务器组中的一个服务器接收对端服务 器根据哈希算法转发的浏览器的请求消息。
[0100]电子商务网站管理人员通过设定单元设定分组的策略,例如按照负载压力动态设 置服务器,服务器根据自身的负载压力,进行分组,以达到分成的每个服务器组能均衡负载 压力,因此当电子商务网站中的某一个服务器组的负载达到一个极限时,按照设定,这些服 务器可以动态地调整每个组别中的服务器,例如服务器的个数、服务器的种类等等。例如某 个服务器组3包括多个服务器31、32、33、34和35。划分了组别的服务器组用于作为哈希算 法的目标对象,即替代现有技术方案中哈希算法指向的目标对象一个服务器。
[0101]电子商务网站管理人员通过配置单元可以预先配置好这些服务器组中的服务器 接收请求消息的负载策略。负载策略可以是轮询表,所述轮询表用于指示根据所述轮询表 中排布好的所述服务器的顺序,所述服务器组中的多个服务器轮流接收所述请求消息。其 中服务器的顺序排布可以根据组中每个服务器已经承受的负载压力来进行排布,例如将负 载压力最大的排在最后,将负载压力排序靠后的服务器排在第一来接收请求消息,例如服 务器31、32、33、34和35顺序排列。服务器的顺序排布还可以根据每个服务器的性能,如 果某个服务器性能很好,可以承载很大的负载,则将其排序在第一,依次按照性能减弱来排布。
[0102]处理单单元用于例如负载策略是上述的轮询表,则当接收到hash算法来的一个 请求消息时,按照轮询表中的服务器的顺序,例如服务器31排序第一位来接收该请求消 息,则该服务器31接收对端服务器根据哈希算法转发的浏览器的请求消息。其中对端服务 器根据哈希算法转发请求消息的过程中,利用哪个参数进行哈希算法可以根据具体地应用 场景来确定,例如用户登录的场景,则可以根据用户帐户进行hash算法。
[0103]管理人员通过设定单元在设定服务器组同时还可以设定该服务器组的主控服务 器,由主控服务器在接收到请求消息后,轮询组中负载压力排序靠后的服务器,或者主控服 务器在侦听到有请求消息待到达时,轮询组中负载压力排序靠后的服务器。并且通过配置 单元配置的时候,负载策略为选择满足负载条件的服务器用以负载所述请求消息,负载条 件可以是服务器负载压力排序靠后或者服务器性能最好。
[0104]而处理单元可以进一步用于所述服务器组中的主控服务器接收所述对端服务器 根据哈希算法转发的浏览器的请求消息;此步骤也可以为主控服务器侦听有对端服务器根 据哈希算法转发的浏览器的请求消息待到达。所述服务器组中的主控服务器根据负载策 略,轮询所述多个服务器的负载,来选择满足负载条件的服务器;例如选择了负载排序靠后 的服务器或者性能最好的服务器;所述服务器组中的所述满足负载条件的所述服务器接收 所述请求消息,并发送所述请求消息。
[0105]对现有的第一过程中使用的hash算法进行了改进,由服务器组代替现有的hash 算法中的一个机器,再按照负载策略的该服务器组中一个服务器来接收该请求消息,从而 完成服务器和终端浏览器的一个连接实现消息传输的第一过程。在服务器组中的服务器按 照负载策略接收请求消息时,接收该请求消息的服务器记录其与相应的浏览器的连接关系 例如请求消息是打开页面时记录了浏览器的IP地址,请求消息是用户登录请求时记录了 用户的用户帐户信息等。
[0106]由于作为哈希算法目标对象的服务器组接收到请求消息后,轮询表中轮到顺序的 服务器进行负载这个请求消息,等到下一次再接收新的请求消息时,由轮询表中的排布好 顺序的另一个服务器来负载请求消息,这样可以使得服务器相对公平地来负载请求,不会 出现每次来的请求消息,由同一个服务器承担。因此,按照负载策略来负载请求消息,可以 使得服务器的负载更加均衡。
[0107]本申请提供了一种服务器组,包括多个服务器,所述服务器用于:接收消息推送的 系统根据哈希算法推送的对应请求消息的下发消息;检测本身是否为根据负载策略接收所 述请求消息的服务器;将所述下发消息发送。当消息推送的系统有下发消息需要推送给用 户时,消息推送消息利用hash算法将该下发消息推送给服务器组中的所有服务器,而由之 前接收了请求消息的服务器将该下发消息下发给用户。因此,服务器组中的多个服务器接 收经过hash算法推送的下发消息,可以达到初步的负载均衡,由原先按照负载策略接收了 请求消息的服务器来向浏览器发送而不必维护大量数据,并且可以快捷地发送。
[0108]本申请提供了一种服务器组,包括多个服务器,所述服务器用于:根据负载策略, 接收对端服务器根据哈希算法转发的浏览器的请求消息;接收消息推送的系统根据哈希算 法推送的对应所述请求消息的下发消息;检测本身是否为根据负载策略接收所述请求消息 的服务器;将所述下发消息发送。上述过程中的步骤参见上述的描述,不再赘述。本申请实现了消息传输的两个过程的负载均衡控制。因此对现有的第一过程中使用的hash算法进 行了改进,按照负载策略来,负载该请求消息,而使得服务器的负载更加均衡;服务器组中 的多个服务器接收经过hash算法推送的下发消息,可以达到初步的负载均衡,由原先按照 负载策略接收了请求消息的服务器来向浏览器发送而不必维护大量数据,并且可以快捷地 发送。
[0109]本申请提供了一种消息传输系统,该系统包括:
[0110]对端服务器,用于根据哈希算法向本端服务器组转发浏览器的请求消息;
[0111]所述本端服务器组中包括多个服务器,所述服务器用于根据预先配置的负载策 略,接收所述请求消息,并向第三端服务器发送,以及向所述对端服务器发送所述下发消
肩、O
[0112]所述第三端服务器,用于根据哈希算法,将所述请求消息的下发消息发送给所述 本端服务器组中的多个服务器。
[0113]该系统可以参见图1描述的相关内容和上面的装置的相关描述。通过该系统,可 以实现消息传输的第一过程服务器组中的服务器可以均衡负载接收请求,在消息推送系统 下发消息时,经过哈希算法下发的下发消息,推送给服务器组中的每一个服务器,由建立连 接的服务器推送给用户,从而避免消息系统维护庞大的数据,还实现了初步的均衡负载。
[0114]本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述 的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清 楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组 成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计 约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但 是这种实现不应认为超出本申请的范围。
[0115]结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的 软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器 (ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】 内所公知的任意其它形式的存储介质中。
[0116]以上所述的【具体实施方式】,对本申请的目的、技术方案和有益效果进行了进一步 详细说明,所应理解的是,以上所述仅为本申请的【具体实施方式】而已,并不用于限定本申请 的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含 在本申请的保护范围之内。
【权利要求】
1.一种消息接收的方法,其特征在于,所述方法包括:设置用于作为哈希算法的目标对象的服务器组,所述服务器组中包括多个服务器; 配置所述服务器组中的多个服务器接收请求消息的负载策略;根据所述负载策略,所述服务器组中的一个服务器接收对端服务器根据哈希算法转发的浏览器的请求消息。
2.如权利要求1所述的消息接收的方法,其特征在于,所述负载策略为轮询表,所述轮询表用于指示根据所述轮询表中排布好的所述服务器的顺序,所述服务器组中的多个服务器轮流接收所述请求消息。
3.如权利要求1所述的消息接收的方法,其特征在于,所述负载策略为选择负载排序靠后的服务器用以发送所述请求消息;所述根据所述负载策略,所述服务器组中的一个服务器接收对端服务器根据哈希算法转发的浏览器的请求消息具体包括:所述服务器组中的主控服务器接收所述对端服务器根据哈希算法转发的浏览器的请求消息,或者侦听有所述对端服务器根据哈希算法转发的浏览器的请求消息待到达;所述服务器组中的主控服务器根据负载策略,轮询所述多个服务器的负载,来选择负载排序靠后的服务器;所述服务器组中的所述负载排序靠后的所述服务器接收所述请求消息,并发送所述请求消息。
4.一种消息推送的方法,其特征在于,所述方法包括:服务器组接收消息推送的系统根据哈希算法推送的下发消息,所述服务器组中包括多个服务器;所述服务器组中的所述多个服务器接收到所述下发消息后,每个服务器检测本身是否为根据负载策略接收请求消息的服务器;当一个服务器确定为所述根据负载策略接收所述请求消息的服务器时,所述确定为所述根据负载策略接收所述请求消息的服务器将所述下发消息发送。
5.—种消息传输的方法,其特征在于,所述方法包括:根据负载策略,服务器组中的一个服务器接收对端服务器根据哈希算法转发的浏览器的请求消息,所述服务器组中包括多个服务器;所述服务器组接收消息推送的系统根据哈希算法推送的下发消息;所述服务器组中的所述多个服务器接收到所述下发消息后,每个服务器检测本身是否为根据负载策略接收所述请求消息的服务器;当一个服务器确定为所述根据负载策略接收所述请求消息的服务器时,所述确定为所述根据负载策略接收所述请求消息的服务器将所述下发消息发送。
6.如权利要求5所述的消息接收的方法,其特征在于,所述负载策略为轮询表,所述轮询表用于指示根据所述轮询表中排布好的所述服务器的顺序,所述服务器组中的多个服务器轮流接收所述请求消息。
7.如权利要求5所述的消息接收的方法,其特征在于,所述负载策略为选择负载排序靠后的服务器用以发送所述请求消息;所述根据所述负载策略,所述服务器组中的一个服务器接收对端服务器根据哈希算法转发的浏览器的请求消息具体包括:所述服务器组中的主控服务器接收所述对端服务器根据哈希算法转发的浏览器的请求消息; 所述服务器组中的主控服务器根据负载策略,轮询所述多个服务器的负载,来选择负载排序靠后的服务器; 所述服务器组中的所述负载排序靠后的所述服务器接收所述请求消息,并发送所述请求消息。
8.—种消息传输的方法,其特征在于,所述方法包括:对端服务器根据哈希算法向本端服务器组发送请求消息,所述本端服务器组中包括多个服务器;根据预先配置的负载策略,所述本端服务器组中的一个服务器接收所述请求消息,并向第三端服务器发送;所述第三端服务器根据哈希算法,将下发消息发送给所述本端服务器组中的多个服务器;所述本端服务器组中的所述根据预先配置的负载策略接收所述请求消息的所述服务器,向所述对端服务器发送所述下发消息。
9.一种消息发送的装置,其特征在于,所述装置包括:设置单元,用于设置服务器组,所述服务器组中包括多个服务器;配置单元,用于配置所述服务器组中的多个服务器接收请求消息的负载策略;处理单元,用于根据所述负载策略,所述服务器组中的一个服务器接收对端服务器根据哈希算法转发的浏览器的请求消息。
10.一种服务器组,包括多个服务器,其特征在于,所述服务器用于:接收消息推送的系统根据哈希算法推送的下发消息;检测本身是否为根据负载策略接收所述请求消息的服务器;将所述下发消息发送。
11.一种服务器组,包括多个服务器,其特征在于,所述服务器用于:根据负载策略,接收对端服务器根据哈希算法转发的浏览器的请求消息;接收消息推送的系统根据哈希算法推送的下发消息;检测本身是否为根据负载策略接收所述请求消息的服务器;将所述下发消息发送。
12.—种消息传输系统,其特征在于,包括:对端服务器,用于根据哈希算法向本端服务器组转发浏览器的请求消息;所述本端服务器组中包括多个服务器,所述服务器用于根据预先配置的负载策略,接收所述请求消息并向第三端服务器发送,以及向所述对端服务器发送下发消息。所述第三端服务器,用于根据哈希算法,将下发消息发送给所述本端服务器组中的多个服务器。
【文档编号】H04L29/08GK103580988SQ201210270165
【公开日】2014年2月12日 申请日期:2012年7月31日 优先权日:2012年7月31日
【发明者】张乐伟 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1