一种用于消息分配、消费的方法及装置,用于消息处理的系统的制作方法_4

文档序号:9219809阅读:来源:国知局
整个消 息处理系统高效率运行;以维持并改善消费者系统的服务能力,确保系统稳定、健壮。当消 费者处于服务能力低水位时可以通过加快消费速度迅速调整消费者的最佳服务能力;两种 调节方向构成了完整的调节机制,将整个消费群、消息中间件状态调整为最健康的服务状 态,最高效的性能状态。
[0128] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、 网络接口和内存。
[0129] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/ 或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质 的示例。
[0130] 1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何 方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其 他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储 器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器(EEPR0M)、快闪记忆体或其他内存技术、只读光盘只读 存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或 其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照 本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制 的数据信号和载波。
[0131] 2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产 品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例 的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用 存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的 形式。
[0132] 本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技 术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保 护范围应当以本申请权利要求所界定的范围为准。
【主权项】
1. 一种用于消息分配的方法,其特征在于包括: 获取满足消息消费活跃度阈值的消息消费者列表; 对于满足消息消费活跃度阈值的消息消费者,依据活跃度由高到低的顺序依次向消息 消费者分配消息队列中的消息。2. 根据权利要求1所述的用于消息分配的方法,其特征在于,所述获取满足消息消费 活跃度阈值的消息消费者列表包括: 接收消息消费者发送的该消费者的当前活跃度值; 计算该当前活跃度值与历史最大活跃度的比值; 将所述比值大于或等于所述消息消费者活跃度阈值的消息消费者作为满足消息消费 活跃度阈值的消息消费者。3. 根据权利要求2所述的用于消息分配的方法,其特征在于,所述当前活跃度值为表 征消息消费者当前服务能力值的单机耗时、是否消费成功和单机每秒事务处理量中的至少 一种及其权重的加权平均数。4. 根据权利要求1所述的用于消息分配的方法,其特征在于,所述获取满足消息消费 活跃度阈值的消息消费者列表包括: 接收消息消费者发送的表征消息消费者当前服务能力值的单机耗时、是否消费成功和 单机每秒事务处理量中的至少一种以及相应的权重; 计算所述当前服务能力值及其权重的加权平均数,并将该加权平均数作为该消息消费 者的当前活跃度值; 计算所述当前活跃度值与该消息消费者历史最大活跃度值的比值; 将所述比值大于或等于所述消息消费者活跃度阈值的消息消费者作为满足消息消费 活跃度阈值的消息消费者。5. 根据权利要求2或4所述的用于消息分配的方法,其特征在于:所述消息消费者活 跃度阈值通过所有注册在线的消费者的当前活跃度的平均值与其总和的比值获得。6. 根据权利要求1所述的用于消息分配的方法,其特征在于,所述对于满足消息消费 活跃度阈值的消息消费者,依据活跃度由高到低的顺序依次向消息消费者分配消息队列中 的消息包括: 对于满足消息消费活跃度阈值的消费者,按照活跃度由高到低的顺序将消息消费者 分为不同的组,每一分组中包括至少两个消息消费者; 按照活跃度由高至低的顺序,依次向每一分组的消费者分配待消费消息; 对于每一分组中的消费者,按照机会均等原则向消息消费者分配待消费消息。7. 根据权利要求6所述的用于消息分配的方法,其特征在于,所述对于每一分组中的 消费者,按照机会均等原则向消息消费者分配待消费消息具体包括: 获取分组中每一消息消费者的消费者ID及在分组中消费者数目; 对所述消费者ID执行hash取模运算; 向满足hash取模运算结果的消费者分配待消费消息。8. 根据权利要求7所述的用于消息分配的方法,其特征在于,所述取模运算具体为 hash按余取模运算。9. 根据权利要求6所述的用于消息分配的方法,其特征在于,所述对于每一分组中的 消费者,按照机会均等原则向消息消费者分配待消费消息具体是指:依据先进先出原则的 原则,将消息队列中的消息按照接收机会均等原则向消息消费者分配待消费消息。10. -种用于消息分配的装置,其特征在于包括: 获取单元,用于获取满足消息消费活跃度阈值的消息消费者列表; 分配单元,用于对于满足消息消费活跃度阈值的消息消费者,依据活跃度由高到低的 顺序依次向消息消费者分配消息队列中的消息。11. 根据权利要求10所述的用于消息分配的装置,其特征在于,所述获取单元包括: 接收单元,用于接收消息消费者发送的该消费者的当前活跃度值; 计算单元,用于计算该当前活跃度值与历史最大活跃度的比值,并将所述比值大于或 等于所述消息消费者活跃度阈值的消息消费者作为满足消息消费活跃度阈值的消息消费 者。12. 根据权利要求10所述的用于消息分配的装置,其特征在于,所述获取单元包括: 交互单元,用于接收消息消费者发送的表征消息消费者当前服务能力值的单机耗时、 是否消费成功和单机每秒事务处理量中的至少一种以及相应的权重; 活跃度计算单元,用于计算所述当前服务能力值及其权重的加权平均数,并将该加权 平均数作为该消息消费者的当前活跃度值; 计算单元,用于计算所述当前活跃度值与该消息消费者历史最大活跃度值的比值;并 将所述比值大于或等于所述消息消费者活跃度阈值的消息消费者作为满足消息消费活跃 度阈值的消息消费者。13. 根据权利要求10所述的用于消息分配的装置,其特征在于,所述分配单元包括: 分组单元,用于对于满足消息消费活跃度阈值的消费者,按照活跃度由高到低的顺序 将消息消费者分为不同的组,每一分组组中包括至少两个消息消费者; 按组分配单元,用于按照活跃度由高至低的顺序,依次向每一分组的消费者分配待消 费消息; 组内消息分配单元,用于对于每一分组中的消费者,按照机会均等原则向消息消费者 分配待消费消息。14. 根据权利要求13所述的用于消息分配的装置,其特征在于,所述组内消息分配单 元包括: 消费者ID获取单元,用于获取分组中每一消息消费者的消费者ID; 取模运算单元,用于对所述消费者ID执行hash取模运算; 执行单元,用于向满足hash取模运算结果的消费者分配待消费消息。15. 根据权利要求14所述的用于消息分配的装置,其特征在于,所述取模运算单元,具 体用于对所述消费者ID执行hash按余取模运算。16. 根据权利要求13所述的用于消息分配的装置,其特征在于,所述组内消息分配单 元,具体用于依据先进先出原则的原则,将消息队列中的消息按照接收机会均等原则向消 息消费者分配待消费消息。17. -种用于消息消费的方法,其特征在于,包括: 获取由消息中间件推送的消息并消费该消息; 获取该消费者消费消息的当前服务能力值及各种表征当前服务能力值的各个参数权 重; 将所述当前消费服务能力值或者表征所述当前服务能力值的各个参数及其权重的加 权平均作为活跃度值反馈至所述消息中间件;或者按照设定的时间周期向消息中间件反馈 所述当前消费服务能力值或活跃度值。18. 根据权利要求17所述的用于消息消费的方法,其特征在于:所述表征当前服务能 力值的参数包括:消息消费者消费该消息的单机耗时、是否消费成功和单机每秒事务处理 量中的至少一种。19. 一种用于消息消费的装置,其特征在于,包括: 消息获取消费单元,用于获取由消息中间件推送的消息并消费该消息; 当前服务能力监测单元,用于获取该消费者消费消息的当前服务能力值及各种表征当 前服务能力值的各个参数权重; 反馈单元,将所述当前消费服务能力值或者表征所述当前服务能力值的各个参数及其 权重的加权平均作为活跃度值反馈至所述消息中间件;或者按照设定的时间周期向消息中 间件反馈所述当前消费服务能力值或活跃度值。20. -种用于消息处理的系统,其特征在于包括: 消息生产者,上述权利要求10至16任一所述的用于消息分配的装置,以及上述权利要 求19所述的用于消息消费的装置。
【专利摘要】本申请公开了一种用于消息分配的方法和装置、一种用于消息消费的方法及装置以及一种用于消息处理的系统;所述用于消息分配的方法包括:获取满足消息消费活跃度阈值的消息消费者列表;对于满足消息消费活跃度阈值的消息消费者,依据活跃度由高到低的顺序依次向消息消费者分配消息队列中的消息。本申请的方案可将整个消费群、消息中间件状态调整为最健康的服务状态,最高效的性能状态。
【IPC分类】H04L29/08
【公开号】CN104935622
【申请号】CN201410107984
【发明人】徐松, 杜涛, 岑英岚
【申请人】阿里巴巴集团控股有限公司
【公开日】2015年9月23日
【申请日】2014年3月21日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1