一种消息的处理方法和设备技术

技术编号:8271401 阅读:174 留言:0更新日期:2013-01-31 03:37
本申请公开了一种消息的处理方法和设备,该方法包括:切分管理服务器接收外部请求消息,所述外部请求消息中携带有关联数据信息;所述切分管理服务器根据所述关联数据信息获得对应的关联数据值,并获得用于处理外部请求消息的承载服务器的数量Y;所述切分管理服务器根据所述关联数据值以及所述承载服务器的数量Y选择处理所述外部请求消息的承载服务器。本申请中,可平抑热区的出现,无需人工干预,并且可解决关联数据水平拓展时各承载服务器分配不均的问题,数据切分速度快,不会出现错误的切分,且能有效避免热区,稳定可靠。

【技术实现步骤摘要】
本申请涉及网络
,特别是涉及一种消息的处理方法和设备
技术介绍
由于单台服务器的负载能力有限,目前在互联网和企业界中,可通过线性累加的方式,增加提供相同应用服务的服务器,使得多个服务器可以向外部应用请求提供相同的应用服务,从而提升服务性能。为了使用多个服务器为外部应用请求提供相同的应用服务,并保证各服务器的性能,需要对外部应用请求进行数据的水平切分,从而将不同的外部应用 请求分配到各提供应用服务的服务器上进行处理。水平切分是指,通过将多个提供相同应用服务的服务器并行接入,每个服务器均能对外提供服务,且多个服务器以并行方式对外提供服务,从而提高处理能力的方法。当前水平切分方式是按照外部应用请求消息中的关联数据信息(如标志位)进行切分的,但各标志位对应的外部应用请求的数量并不均匀,这导致不能均衡切分外部应用请求,当某一标志位对应的外部应用请求的数量过多时,将会导致对应处理该标志位的服务器的压力过大。例如,外部应用请求为通过各服务器存储车牌相关信息时,标志位可以为沪A、浙A,由服务器I处理对应沪A的外部应用请求,由服务器2处理对应浙A的外部应用请求,如果对应沪A的外部应用请求远大于对应浙A的外部应用请求,则会导致服务器I处理的外部应用请求远大于服务器2处理的外部应用请求。如图I所示,为其服务器处理情况的示意图,各服务器的处理能力相同,且提供相同的应用服务,但是上述水平切分方式会使得各服务器之间处理的外部应用请求相差较大,导致一部分服务器(如服务器I、服务器3等)的外部应用请求的处理量远小于处理能力,而另一部分服务器(如服务器15等)的外部应用请求的处理量远大于处理能力。现有技术中,在选择处理外部应用请求的服务器时,还可采用哈希算法或者同余算法来实现。但是,哈希算法和同余算法无法保证外部应用请求的均匀分布;且数据切分速度慢,容易出现错误的切分,而且不能够根据结果逆推切分过程,无法核对数据的准确性,稳定性和可靠性均很低;而且无法避免不出现热区。热区指处理外部应用请求较多的服务器,例如,有a、b、c三个服务器,a分配了 10%的外部应用请求,c分配了 10%的外部应用请求,b分配了 80%的外部应用请求,则b是热区。当前避免热区的方式可为人工干预,即需要人工干预,将压力比较大的服务器中的数据放入其他单独的服务器中,但这种数据迁移的方式,迁移成本高,且迁移情况复杂度,可维护性比较差
技术实现思路
本申请提供一种消息的处理方法和设备,以将外部请求消息均衡的分配到各个承载服务器上进行处理。为了实现上述目的,本申请提出一种消息的处理方法,通过Y个承载服务器处理外部请求消息,该方法包括以下步骤切分管理服务器接收外部请求消息,所述外部请求消息中携带有关联数据信息;所述切分管理服务器根据所述关联数据信息,获得对应的关联数据值;所述切分管理服务器根据所述关联数据值以及承载服务器的数量Y,选择处理所述外部请求消息的承载服务器。本申请提出一种服务器,包括接收模块,用于接收外部请求消息,所述外部请求消息中携带有关联数据信息; 获得模块,用于根据所述关联数据信息,获得对应的关联数据值;选择模块,用于根据所述关联数据值以及承载服务器的数量Y,选择处理所述外部请求消息的承载服务器。与现有技术相比,本申请包括以下优点可平抑热区的出现,无需人工干预,并且可解决关联数据水平拓展时各承载服务器分配不均的问题,数据切分速度快,不会出现错误的切分,且能有效避免热区,可根据结果逆推切分过程,核对数据准确性,稳定可靠。当然,实施本申请的实施例的任一产品并不一定需要同时达到以上所述的所有优点。附图说明图I为现有技术中服务器处理情况示意图;图2为本申请网络架构示意图;图3为本申请实施例一中的消息的处理方法流程图;图4为本申请实施例一中切分管理服务器利用数量Y以及关联数据值选择承载服务器的流程图;图5为本申请实施例一中的效果示意图;图6和图7为本申请实施例二中的服务器结构图。具体实施例方式实施例一本申请实施例一提供一种消息的处理方法,如图2所示,为本申请应用场景示意图,各承载服务器为提供相同应用服务的服务器(如可以为存储数据的数据库),用于处理外部请求消息,且承载服务器的数量为Y ;切分管理服务器用于管理各承载服务器,将外部请求消息分配给承载服务器。基于图2所示的网络架构,如图3所示,该方法包括以下步骤步骤301,各前置服务器接收外部请求消息,并将外部请求消息发送给切分管理服务器。该外部请求消息中携带有关联数据信息(有上下文依赖关系的数据为关联数据),例如,外部应用请求为通过各承载服务器存储车牌对应的事故相关信息时,则关联数据信息可以为沪A12345、浙A23456,每个车可能有多次事故,所以车牌相同的事故记录,应该放到同一个服务中。步骤302,切分管理服务器接收外部请求消息,并根据外部请求消息中的关联数据信息获得对应的关联数据值。本申请中,可通过数字化编码等方法将关联数据信息转换为对应的关联数据值,例如,可通过ASCII,或者汉字编码转换的方式将沪A12345、浙A23456等关联数据信息转换为关联数据值。该转换方式可根据实际应用进行选择,在此不再赘述。步骤303,切分管理服务器根据关联数据值以及承载服务器的数量Y,选择处理该外部请求消息的承载服务器,由选择的承载服务器对外部请求消息进行处理(如存储车牌相关信息)。切分管理服务器可根据网络架构的部署情况,获知承载服务器的数量Y(以Y值为4为例进行说明),并利用数量Y以及关联数据值,选择处理该外部请求消息的承载服务器。 如图4所示,切分管理服务器利用数量Y以及关联数据值,选择承载服务器的过程,包括以下步骤步骤401,切分管理服务器计算切分常数Z,其中,Z为Y*2T,该T为归并次数,归并次数T和切分常数Z均为正整数。本申请中,归并次数T的值越大,则切分常数Z的值越大,切分越细腻,平衡热区的能力也就越大。例如,当T = 2时,则Z = 4*Υ ;当T = 3时,则Z = 8*Υ ;当T = 4时,则Z=16*Υ。实际应用中,考虑到关联数据信息(如沪Α12345、浙Α23456等)为有限集合或者无限集合,因此,对应的待切分数据集合(以数据集A为例,则数据集A中的数据为各关联数据信息)为有限集合或者无限集合,假设数据集A中的数量为N (大概共有多少关联数据信息可预先估算获知,其数量为N),则在选择T值时,只要数量N > Υ*2~ (Τ+1)即可。为了方便描述,本申请中以Y = 4、Τ = 2为例,则Z = 4*4 = 16,因此数据集A中的数量> Υ*8即可。步骤402,切分管理服务器计算关联数据值除以切分常数Z的余数M的值。由于切分常数Z为16,则余数M的值为0-15之间的数值。步骤403,切分管理服务器根据余数M的值所属的路由余数组与承载服务器的路由关系,选择余数M的值对应的承载服务器,该承载服务器即为处理上述外部请求消息的承载服务器。本申请中,切分管理服务器上维护有路由余数组与承载服务器的路由关系,该路由余数组具体为,根据对应不同余数M的已存储的关联数据信息进行存储量均衡统计后,所得到的应存储到同一个承载服务器的各余数M所组成的集合。例如,在进行存储量均衡统计后,余数M为0、1、2、3时,相本文档来自技高网
...

【技术保护点】
一种消息的处理方法,其特征在于,通过Y个承载服务器处理外部请求消息,包括以下步骤:切分管理服务器接收外部请求消息,所述外部请求消息中携带有关联数据信息;所述切分管理服务器根据所述关联数据信息,获得对应的关联数据值;所述切分管理服务器根据所述关联数据值以及承载服务器的数量Y,选择处理所述外部请求消息的承载服务器。

【技术特征摘要】
1.一种消息的处理方法,其特征在于,通过Y个承载服务器处理外部请求消息,包括以下步骤 切分管理服务器接收外部请求消息,所述外部请求消息中携带有关联数据信息; 所述切分管理服务器根据所述关联数据信息,获得对应的关联数据值; 所述切分管理服务器根据所述关联数据值以及承载服务器的数量Y,选择处理所述外部请求消息的承载服务器。2.如权利要求I所述的方法,其特征在于,所述切分管理服务器根据所述关联数据值以及承载服务器的数量Y,选择处理所述外部请求消息的承载服务器,包括 所述切分管理服务器计算切分常数Z,其中,Z为Y*2T,T为归并次数; 所述切分管理服务器计算所述关联数据值除以所述切分常数Z的余数M的值; 所述切分管理服务器根据余数M的值所属的路由余数组与承载服务器的路由关系,选择所述余数M的值对应的承载服务器; 其中,所述路由余数组具体为,根据对应不同余数M的已存储的关联数据信息进行存储量均衡统计后,得到的存储到同一个承载服务器的各余数M所组成的集合。3.如权利要求2所述的方法,其特征在于,所述路由余数组与承载服务器的路由关系,具体通过以下方式确定 所述切分管理服务器将样本时间区间内已存储的关联数据信息对应的关联数据值分别除以所述切分常数Ζ,确定相对应的余数M ; 所述切分管理服务器将对应关联数据信息数量最多的余数M与对应关联数据信息数量最少的余数M组成一个第一级余数组,并在剩余的其他余数M中,继续将对应关联数据信息数量最多的余数M与对应关联数据信息数量最少的余数M组成其他第一级余数组;直至所有的余数M均归属于不同的第一级余数组; 所述切分管理服务器将对应关联数据信息数量最多的第一级余数组与对应关联数据信息数量最少的第一级余数组组成一个第二级余数组,并在剩余的其他第一级余数组中,继续将对应关联数据信息数量最多的第一级余数组与对应关联数据信息数量最少的第一级余数组组成其他第二级余数组; 以此类推,直至所有的余数M组成了与所述承载服务器数量同等的第T级余数组后,所述切分管理服务器确定第T级余数组为所述路由余数组,并分别与不同的承载服务器建立对应的路由关系。4.如权利要求3所述的方法,其特征在于,所述方法还包括 当多个承载服务器之间的存储量之差达到指定第一阈值时,所述切分管理服务器重新确定所述路由余数组与承载服务器的路由关系。5.如权利要求3所述的方法,其特征在于,所述方法还包括 当承载服务器的存储量达到指定第二阈值时,增加Υ*η个承载服务器,其中,η为正整数; 所述切分管理服务器基于当前Y个承载服务器、以及新增加的Υ*η个承载服务器,重新确定所述路由余数组与承载服务器的路由关系; 根...

【专利技术属性】
技术研发人员:姚云蛟
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1