The embodiment of the application of congestion control method and apparatus is disclosed a message queue, the message queue to be sent in the target receiving message when the congestion occurs, will not take the initiative to send discard the message, but the message to be transferred to other low priority message queue, to ensure the transmission to send messages through the occupation of low priority the message queue, to realize the control of the target message queue at the same time, also can ensure the transmission rate to send messages.
【技术实现步骤摘要】
消息队列的拥塞控制方法和装置
本申请涉及消息传输
,特别涉及一种消息队列的拥塞控制方法和装置。
技术介绍
随着互联网时代的到来,通过消息队列来传输的消息越来越多,消息队列发生拥塞的概率也不断增加。现有技术中,一般通过丢尾方式来控制消息队列的拥塞,其包括如下步骤:S1、在待发送消息存至消息队列时,获取该消息队列的长度;S2、判断该消息队列的长度是否大于阈值,若是,确定该消息队列发生拥塞,进而执行步骤S3;S3、将前述存至消息队列内的待发送消息丢弃,以降低消息队列中消息数量,实现减轻该消息队列的拥塞。在实现本申请过程中,专利技术人发现现有技术中至少存在如下问题:由于丢尾算法仅依靠丢弃队列尾部的消息来减轻该消息队列的拥塞,那么可能存在某一段时间集中进入消息队列的都是较为优先级较高的重要消息,若发生拥塞,这些优先级较高的重要消息容易被大量丢弃,导致消息传输率降低。
技术实现思路
本申请实施例的目的是提供一种消息队列的拥塞控制方法和装置,能在控制消息队列的拥塞时保证消息的传输率。为解决上述技术问题,本申请实施例提供一种消息队列的拥塞控制方法是这样实现的:判断用于接收待发送消息的目标消息队列是否发生拥塞,所述目标消息队列位于包括若干具有优先级的消息队列的队列系统内;在所述目标消息队列发生拥塞时,在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列,将所述待发送消息存至所述比目标消息队列的优先级低的消息队列;在所述目标消息队列未发生拥塞时,将所述待发送消息存至所述目标消息队列。为解决上述技术问题,本申请实施例提供一种消息队列的拥塞控制装置是这样实现的:拥塞判 ...
【技术保护点】
一种消息队列的拥塞控制方法,其特征在于,包括:判断用于接收待发送消息的目标消息队列是否发生拥塞,所述目标消息队列位于包括若干具有优先级的消息队列的队列系统内;在所述目标消息队列发生拥塞时,在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列,将所述待发送消息存至所述比目标消息队列的优先级低的消息队列;在所述目标消息队列未发生拥塞时,将所述待发送消息存至所述目标消息队列。
【技术特征摘要】
1.一种消息队列的拥塞控制方法,其特征在于,包括:判断用于接收待发送消息的目标消息队列是否发生拥塞,所述目标消息队列位于包括若干具有优先级的消息队列的队列系统内;在所述目标消息队列发生拥塞时,在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列,将所述待发送消息存至所述比目标消息队列的优先级低的消息队列;在所述目标消息队列未发生拥塞时,将所述待发送消息存至所述目标消息队列。2.如权利要求1所述的方法,其特征在于,所述待发送消息具有优先级,所述待发送消息和目标消息队列的优先级相同。3.如权利要求1所述的方法,其特征在于,所述判断用于接收待发送消息的目标消息队列是否发生拥塞,具体包括:判断用于接收待发送消息的目标消息队列的长度是大于预设上限值、小于预设下限值还是在预设上限值和预设下限值之间;则在所述目标消息队列发生拥塞时,在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列,具体包括:在所述目标消息队列的长度大于预设上限值,或,在所述目标消息队列的长度在预设上限值和预设下限值之间并以预设概率确定所述目标消息队列发生拥塞时,在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列。4.如权利要求1所述的方法,其特征在于,所述判断用于接收待发送消息的目标消息队列是否发生拥塞,具体包括:判断用于接收待发送消息的目标消息队列的长度是大于预设上限值、小于预设下限值还是在预设上限值和预设下限值之间;则在所述目标消息队列未发生拥塞时,将所述待发送消息存至所述目标消息队列,具体包括:在所述目标消息队列的长度在预设上限值和预设下限值之间并以预设概率确定所述目标消息队列未发生拥塞时,或,在所述目标消息队列的长度小于预设下限值时,将所述待发送消息存至所述目标消息队列。5.如权利要求3或4所述的方法,其特征在于,所述预设下限值和预设上限值根据用于接收待发送消息的目标消息队列的优先级确定,所述预设概率根据用于接收待发送消息的目标消息队列的长度与预设上限值的差值确定。6.如权利要求1所述的方法,其特征在于,在判断出所述目标消息队列发生拥塞后,所述方法还包括:判断所述目标消息队列的优先级是否为最低级别;在所述目标消息队列的优先级不是最低级别时,执行所述在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列的步骤;在所述目标消息队列的优先级是最低级别时,丢弃所述待发送消息或将所述目标消息队列内消息存入硬盘。7.如权利要求1所述的方法,其特征在于,所述在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列之后,所述方法还包括:将所述目标消息队列更新为所述比目标消息队列的优先级低的消息队列,并返回所述判断用于接收待发送消息的目标消息队列是否发生拥塞的步骤。8.如权利要求1所述的方法,其特征在于,所述将所述待发送消息存至所述队列系统内比所述目标消息队列的优先级低的消息队列,具体包括:将所述待发送消息存至所述队列系统内仅比目标消息队列的优先级低一级的消息队列。9.如权利要求1所述的方法,其特征在于,所述将所述待发送消息存至所述队列系统内比所述目标消息队列的优先级低的消息队列,具体包括:将所述待发送消息存至所述队列系统内比目标消息队列的优先级低的、且队列长度最短的消息队列。10.如权利要求1所述的方法...
【专利技术属性】
技术研发人员:戴潇桐,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。