消息队列的消息调度方法及消息调度装置的制造方法_2

文档序号:9551119阅读:来源:国知局
br>[0031]因此,当在电子商务平台采用本发明的方法实施例时,可以通过以下方式实现消息调度。
[0032]1)配置和维护三条(数量可以根据业务类型的划分而调整)消息队列,分别为Q1、Q2、Q3。其中,不同业务请求触发的消息响应分配至对应的队列中,例如,Q1队列定义为支付相关,Q2队列定义为商品相关,Q3队列定义为日志相关。同时,Q1、Q2、Q3根据业务价值分别定义不同的权重wl、w2、w30由消息投递线程根据业务相关类型将消息投递至对应的队列。
[0033]2)当需要调度消息时,根据三条队列的关键特征值(包括前述的w、n和ρ)计算出各消息队列的运行指标score = wXnXp,并对所有队列进行排序,从中取出最大值score_max = max (scorel, score2, score3),并从score最大的队列中取出消息请求,进行下一步处理。
[0034]3)通过负载均衡将上一步中取出的消息请求分发至业务逻辑线程。其中,业务逻辑线程的数量可根据系统资源和整体业务访问量动态配置。
[0035]4)业务逻辑线程完成消息请求的处理并返回响应。
[0036]根据上述处理可以发现,当在具体场景应用本发明提供的方法实施例时,在消息投递时,由于有针对性的对业务场景进行划分并且所产生的消息请求代表着不同的业务价值,所以能根据消息的价值将消息投递至对应级别的消息队列当中;在调度消息时,实时兼顾队列的消息数量和使用率,既能分清事务轻重,区别对待“紧急而重要”、“紧急不重要”、“不紧急但重要”、“不紧急也不重要”的消息,还能通过w、η、ρ三种关键指标来加权融合处理,对消息进行合理的定量比较,从而在调度方面实现更优化或最优化。
[0037]图2A是根据本发明实施例的一种消息队列的消息调度装置的框图,参照图2A,消息调度装置包括消息投递模块21和消息调度模块22。下面进行具体说明。
[0038]在本实施例中,消息投递模块21用于根据消息的业务类型将消息投递至多条消息队列中与所述消息的业务类型对应的消息队列,其中,所述多条消息队列中的各消息队列对应相应的业务类型。可选地,在本实施例的一种实现方式中,预先为各消息队列定义指定的业务类型。
[0039]消息调度模块22用于在调度消息时,根据所述多条消息队列中各消息队列的关键特征值计算确定所述多条消息队列中的目标消息队列,并从所述目标消息队列中调度用于进行后继处理的消息。
[0040]采用本实施例提供的消息调度装置,能够综合消息队列的关键特征进行消息调度,在保证系统效率(包括响应时间和吞吐率)的同时,实现系统资源(例如,数据处理能力、数据读取能力等)的合理配置。
[0041]可选地,在本实施例的一种实现方式中,所述多条消息队列中各消息队列的关键特征值包括:各消息队列中的消息数量(η)、各消息队列的使用率(ρ)以及预设的各消息队列的权重(η)。其中,预设的各消息队列的权重用于反应各消息队列所对应的业务类型的业务价值。
[0042]进一步可选地,如图2Β所示,消息调度模块22包括:计算子模块221,用于根据S=wXnXp计算各消息队列的运行指标,其中,S表示运行指标;选取子模块222,用于从所述多条消息队列中选取S最高消息队列作为所述目标消息队列。
[0043]可选地,在本实施例的一种实现方式中,如图2C所示,消息调度装置还包括业务逻辑模块23。在本实现方式中,消息调度模块22通过负载均衡将调度的消息发送至业务逻辑模块23,然后由业务逻辑模块23进行后继处理,例如,业务逻辑模块23完成针对被调度消息的处理及响应。
[0044]在本装置实施例中,关于相关名称、术语的解释,以及关于各个模块/子模块所执行处理或可执行处理的详细说明,请参见方法实施例中的说明,此处不再赘述。
[0045]此外,本领域技术人员也应当理解,在本实施例的一种具体实例中,消息调度装置可以是服务器,也可以是服务器中的特定部件。
[0046]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对【背景技术】做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0047]本领技术人员应当理解,以上所公开的仅为本发明的实施方式而已,当然不能以此来限定本发明之权利范围,依本发明实施方式所作的等同变化,仍属本发明权利要求所涵盖的范围。
【主权项】
1.一种消息队列的消息调度方法,其特征在于,所述方法包括: 根据消息的业务类型将消息投递至多条消息队列中与所述消息的业务类型对应的消息队列,其中,所述多条消息队列中的各消息队列对应相应的业务类型; 在调度消息时,根据所述多条消息队列中各消息队列的关键特征值计算确定所述多条消息队列中的目标消息队列,然后从所述目标消息队列中调度用于进行后继处理的消息。2.如权利要求1所述的消息调度方法,其特征在于,所述多条消息队列中各消息队列的关键特征值包括: 各消息队列中的消息数量、各消息队列的使用率以及预设的各消息队列的权重。3.如权利要求2所述的消息调度方法,其特征在于,所述预设的各消息队列的权重用于反应各消息队列所对应的业务类型的业务价值。4.如权利要求2所述的消息调度方法,其特征在于,根据所述多条消息队列中各消息队列的关键特征值计算确定所述多条消息队列中的目标消息队列包括: 根据S = wXnXp计算各消息队列的运行指标,其中,w表示权重,η表示消息数量,ρ表示使用率,S表示运行指标; 从所述多条消息队列中选取S最高的消息队列作为所述目标消息队列。5.如权利要求1所述的消息调度方法,其特征在于,所述方法还包括: 通过负载均衡将调度的消息发送至业务逻辑线程,由所述业务逻辑线程执行所述后继处理。6.一种消息队列的消息调度装置,其特征在于,所述装置包括: 消息投递模块,用于根据消息的业务类型将消息投递至多条消息队列中与所述消息的业务类型对应的消息队列,其中,所述多条消息队列中的各消息队列对应相应的业务类型; 消息调度模块,用于在调度消息时,根据所述多条消息队列中各消息队列的关键特征值计算确定所述多条消息队列中的目标消息队列,并从所述目标消息队列中调度用于进行后继处理的消息。7.如权利要求6所述的消息调度装置,其特征在于,所述多条消息队列中各消息队列的关键特征值包括: 各消息队列中的消息数量、各消息队列的使用率以及预设的各消息队列的权重。8.如权利要求7所述的消息调度装置,其特征在于,所述预设的各消息队列的权重用于反应各消息队列所对应的业务类型的业务价值。9.如权利要求7所述的消息调度装置,其特征在于,所述消息调度模块包括: 计算子模块,用于根据S = wXnXp计算各消息队列的运行指标,其中,w表示权重,η表示消息数量,Ρ表示使用率,S表示运行指标; 选取子模块,用于从所述多条消息队列中选取S最高消息队列作为所述目标消息队列。10.如权利要求6所述的消息调度装置,其特征在于, 所述消息调度装置还包括业务逻辑模块,用于接收所述消息调度模块通过负载均衡发送来的被调度的消息,并执行所述后继处理。
【专利摘要】本发明公开了一种消息队列的消息调度方法及消息调度装置,其中,所述方法包括:根据消息的业务类型将消息投递至多条消息队列中与所述消息的业务类型对应的消息队列,其中,所述多条消息队列中的各消息队列对应相应的业务类型;在调度消息时,根据所述多条消息队列中各消息队列的关键特征值计算确定所述多条消息队列中的目标消息队列,然后从所述目标消息队列中调度用于进行后继处理的消息。采用本发明,能够实现系统资源(例如,数据处理能力、数据读取能力等)的合理配置,提高系统效率(包括响应时间和吞吐率)并实现业务价值的最大化。
【IPC分类】H04L12/863, H04L12/24
【公开号】CN105306277
【申请号】CN201510800287
【发明人】胡宗维, 王伟, 张舜华, 赵金鑫, 何小峰, 包辰明, 卢颖辉, 汪楠, 谢潇宇, 李响
【申请人】中国建设银行股份有限公司
【公开日】2016年2月3日
【申请日】2015年11月19日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1