一种云系统消息分发方法,装置和系统制造方法及图纸

技术编号:15520589 阅读:41 留言:0更新日期:2017-06-04 10:06
本发明专利技术实施例公开了一种云系统消息分发方法,装置和系统。该方法包括:分发装置将M个消息发送给第一服务器处理,并根据第一服务器的处理情况确定该M个消息中服务质量差的N个消息,分发装置提取该N个消息的共同消息特征,并记录该共同消息特征与第一服务器的对应关系,该对应关系用于指示第一服务器处理具有该共同消息特征的消息的QoS差。其中,M为大于1的正整数,N为不大于M的正整数。分发装置通过实际统计,识别出服务器不适合处理的消息的共同消息特征,并记录服务器与消息特征之间的对应关系,后续在进行消息分发时,可以主动的避开不适合的服务器,从而提高了系统处理性能和成功率。

Cloud system message distribution method, device and system

The embodiment of the invention discloses a message distribution method, a device and a system of a cloud system. The method includes: processing a distribution device sends a M message to the first server, and to determine the N news service of the M message in the poor quality of the results according to the first server, common message feature extraction of the N message distribution device, correspondence and records the common characteristics of news and the first server, the corresponding the relationship is used to indicate the first server processing have the common characteristics of the poor QoS news news. Among them, M is a positive integer greater than 1, and N is a positive integer not greater than M. The distribution device through the actual statistics, identify the common features of news server is not suitable for processing information, and record the corresponding relationship between the server and the message feature, in the subsequent message distribution, can take the initiative to avoid not suitable for the server, so as to improve the system performance and success rate.

【技术实现步骤摘要】
一种云系统消息分发方法,装置和系统
本专利技术实施例涉及云计算领域,尤其涉及一种云系统消息分发方法,装置和系统。
技术介绍
云环境中,系统设计的最基本原则之一是水平扩展,即通过增加集群节点来提高系统处理能力,因此,负荷分担集群、分布式集群在云系统中应用越来越广泛。在负荷分担集群中,后端多台服务器(Server)组成业务处理集群,任一服务器节点可单独处理客户端(Client)的消息,Client通过负载均衡器(Loadbalancer)访问Server,Loadbalancer按照配置的负载均衡算法把Client的消息分发给Server。分布式集群与负荷分担集群的主要区别是Client的消息一般由多台Server协同处理。客户端代理(ClientAgent)作为协调者,把Client消息划分为多个子消息,再分发给多个Server处理,并把多个Server的处理结果合并后返回Client。ClientAgent可按负载均衡算法选举合适的Server。在负载均衡算法中,负载评估只考虑Server负载,即假设所有消息的处理成本是相同的,无法保证消息处理成本差异较大场景下的负载均衡,且长期运行后,由于Server运行环境变化,导致该Server处理特定消息失败时,负载均衡算法无法有效隔离,导致集群处理消息成功率下降。为了解决消息间处理成本差异较大场景下的故障快速隔离,现有技术在Server端增加反馈机制,Server接收到的Loadbalancer或ClientAgent发送的消息中携带deadline字段,deadline用于指示需要完成消息处理的时间,Server接收到消息后,先评估能否满足deadline,如满足,则继续处理,否则直接回应答通知Loadbalancer或ClientAgent不能满足deadline需求,Loadbalancer或ClientAgent重新选择其他Server处理。随着消息处理复杂度增加,Server端很难准确评估能否满足deadline要求,漏判误判风险高,而且网络交互和Server端评估会带来较大的开销。
技术实现思路
有鉴于此,本专利技术实施例公开了一种云系统消息分发方法,装置和系统。第一方面,本申请提供了一种云系统分发方法,云系统包括客户端(Client),分发装置和多个服务器(Server)节点,该方法包括:分发装置将M个消息发送给第一服务器处理,并根据第一服务器的处理情况确定该M个消息中服务质量(QoS,QualityOfService)差的N个消息,分发装置提取该N个消息的共同消息特征,并记录该共同消息特征与第一服务器的对应关系,该对应关系用于指示第一服务器处理具有该共同消息特征的消息的QoS差。其中,M为大于1的正整数,N为不大于M的正整数。分发装置通过实际统计,识别出服务器不适合处理的消息的共同消息特征,并记录服务器与消息特征之间的对应关系,后续在进行消息分发时,可以主动的避开不适合的服务器,避免了某个Server由于软件老化(如内存碎片)无法处理特定消息(如消息大小超过特定值),从而引起的处理失败或处理时间长或某个Server由于运行环境变化触发软件错误,从而处理特定消息(读损坏的文件)时进程异常退出等情况,提高了系统处理性能和成功率。根据第一方面,在第一方面第一种可能的实现方式中,分发装置根据消息处理时间确定QoS差的消息。分发装置确定该M个消息中QoS差的N个消息可以为:分发装置确定处理时间大于预设时间阈值的N个消息,并将该N个消息作为QoS差的消息。分发装置将M个消息发送给第一服务器处理后,会监控第一服务器处理该M个消息中每个消息的处理时间。如果第一服务器对一个消息的处理时间大于预设时间阈值,或在预设时间阈值到达时还没有收到该消息的应答消息,则分发装置记录该消息。根据第一方面,在第一方面第二种可能的实现方式中,分发装置根据M个消息中的每个消息的响应消息,确定服务质量差的N个消息,其中,N个消息中的每个消息的响应消息中携带特征码,该特征码用于指示第一服务器处理该消息的服务质量差。进一步的,响应消息中还可以携带QoS类型,例如,可以使用0表示禁止,1表示响应时延长,2表示资源不足,3表示处理失败等。根据第一方面或第一方面以上任一种可能的实现方式,在第一方面第三种可能的实现方式中,分发装置记录共同消息特征与第一服务器的对应关系之后,该方法还包括:分发装置接收来自客户端的待分发消息,待分发消息具有该共同消息特征,分发装置根据记录的对应关系和该共同消息特征确定第一服务器,并在第一服务器外的其他服务器中选择第二服务器,并将待分发消息分发给第二服务器处理。分发装置可以直接将待分发消息发送给第二服务器处理,也可以将待分发消息拆分为多个子消息,然后将其中的一个子消息发送给第二服务器处理。通过分发装置记录的对应关系,在为待访问消息选择目标服务器时,可以避开不适合的服务器,从而保证了处理成功率和效率。根据第一方面第三种可能的实现方式,在第一方面第四种可能的实现方式中,分发装置在第一服务器外的服务器中选择第二服务器为:分发装置根据预设分发算法为待分发消息选择预分配服务器,如果预分配服务器为第一服务器,则分发装置为待分发消息选择第二服务器,第二服务器为第一服务器的从节点。分布式集群中,为保证可靠性,1个子消息一般至少有2个服务器可以处理,如果目标服务器是QoS差的服务器,则可以选择目标服务器的从服务器处理待分发消息。如果目标服务器没有从服务器或者目标服务器的从服务器也是QoS差的服务器,则可以将待分发消息发送给目标服务器处理或者直接给客户端发送处理失败的指示消息。根据第一方面或第一方面以上任一种可能的实现方式,在第一方面第五种可能的实现方式中,分发装置记录共同消息特征与第一服务器的对应关系之后,该方法还包括:分发装置接收来自客户端的待分发消息,待分发消息具有该共同消息特征,分发装置根据记录的对应关系和该共同消息特征确定第一服务器,调低第一服务器的权重,并使用动态分配算法为待分发消息选择服务器。如果预设算法为动态分发算法,为了降低选择QoS差的服务器的概率,分发装置调低QoS差的服务器的权重,然后使用动态分发算法选择目标服务器。更具体的,分发装置可以将QoS差的服务器的权重调整为0,以避免选择QoS差的服务器。第二方面,本申请提供了一种可读介质,包括执行指令,当计算设备的处理器执行该执行指令时,该计算设备执行以上第一方面或以上第一方面的任一种可能的实现方式中的方法。第三方面,本申请提供了一种计算设备,包括:处理器、存储器和总线;存储器用于存储执行指令,处理器与存储器通过总线连接,当计算设备运行时,处理器执行存储器存储的执行指令,以使计算设备执行以上第一方面或以上第一方面的任一种可能的实现方式中的方法。第四方面,本申请提供一种云系统消息分发装置,云系统包括客户端,该分发装置和多个服务器,该分发装置包括:分发单元,用于将M个消息发送给第一服务器处理,其中,M为大于1的正整数;确定单元,用于根据第一服务器的处理情况确定该M个消息中服务质量差的N个消息,其中,N为不大于M的正整数;记录单元,用于提取该N个消息的共同消息特征,并记录共同消息特征与第一服务器的对应关系该对应关系用于指示本文档来自技高网
...
一种云系统消息分发方法,装置和系统

【技术保护点】
一种云系统消息分发方法,其特征在于,所述云系统包括分发装置和多个服务器,所述方法包括:所述分发装置将M个消息发送给第一服务器,其中,M为大于1的正整数;所述分发装置确定所述M个消息中服务质量差的N个消息,其中,N为不大于M的正整数;所述分发装置提取所述N个消息的共同消息特征,并记录所述共同消息特征与所述第一服务器的对应关系。

【技术特征摘要】
1.一种云系统消息分发方法,其特征在于,所述云系统包括分发装置和多个服务器,所述方法包括:所述分发装置将M个消息发送给第一服务器,其中,M为大于1的正整数;所述分发装置确定所述M个消息中服务质量差的N个消息,其中,N为不大于M的正整数;所述分发装置提取所述N个消息的共同消息特征,并记录所述共同消息特征与所述第一服务器的对应关系。2.根据权利要求1所述的方法,其特征在于,所述分发装置确定所述M个消息中服务质量差的N个消息包括:所述分发装置确定所述M个消息中处理时间大于预设时间阈值的N个消息。3.根据权利要求1所述的方法,其特征在于,所述分发装置确定所述M个消息中服务质量差的N个消息包括:所述分发装置根据所述M个消息中的每个消息的响应消息,确定所述服务质量差的N个消息,其中,所述N个消息中的每个消息的响应消息中携带特征码,所述特征码用于指示服务质量差。4.根据权利要求1-3任一项所述的方法,其特征在于,所述分发装置记录所述共同消息特征与所述第一服务器的对应关系之后,所述方法还包括:所述分发装置接收来自客户端的待分发消息,所述待分发消息具有所述共同消息特征;所述分发装置根据所述对应关系确定所述第一服务器,并在所述第一服务器外的服务器中选择第二服务器,并将所述待分发消息分发给所述第二服务器处理。5.根据权利要求4所述的方法,其特征在于,所述分发装置在所述第一服务器外的服务器中选择第二服务器包括:所述分发装置根据预设分发算法为所述待分发消息选择预分配服务器;如果所述预分配服务器为所述第一服务器,则所述分发装置为所述待分发消息选择所述第二服务器,所述第二服务器为所述第一服务器的从节点。6.根据权利要求1-3任一项所述的方法,其特征在于,所述分发装置记录所述共同消息特征与所述第一服务器的对应关系之后,所述方法还包括:所述分发装置接收来自所述客户端的待分发消息,所述待分发消息具有所述共同消息特征;所述分发装置根据所述对应关系确定所述第一服务器,调低所述第一服务器的权重,并使用动态分配算法为所述待分发消息选择服务器。7.一种云系统消息分发装置,其特征在于,所述云系统包括所述装置和多个服务器,所述装置包括:分发单元,用于将M个消息发送给第一服务器,其中,M为大于1的正整数;确定单元,用于确定所述M个消息中服...

【专利技术属性】
技术研发人员:韦光胜
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1