消息队列的拥塞控制方法和装置制造方法及图纸

技术编号:15437027 阅读:173 留言:0更新日期:2017-05-25 19:14
本申请实施例公开一种消息队列的拥塞控制方法和装置,在接收待发送消息的目标消息队列发生拥塞时,不会主动丢弃该待发送消息,而是将该待发送消息转移至优先级低的其他消息队列,通过占用优先级低的消息队列来保证待发送消息的传输,实现对目标消息队列拥塞进行控制的同时,还能够保证待发送消息的传输率。

Method and device for congestion control of message queue

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为本申请第一实施例中消息队列的拥塞控制方法的过程;图3为本申请第二实施例中消息队列的拥塞控制方法的过程;图4为本申请第三实施例中消息队列的拥塞控制方法的过程;图5为本申请实施例中消息队列的拥塞控制装置的模块图。具体实施方式本申请实施例提供一种消息队列的拥塞控制方法和装置,用于解决现有技术中对消息队列进行拥塞控制时可能降低消息传输率的问题。为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。图1为本申请实施例中消息队列的拥塞控制方法适用的消息传输系统的架构示意图。该消息传输系统中,第一客户端100所发出消息借助网络200进入队列系统300,通过队列系统中转保存,并按照消息接收方依次发送至第二客户端400。当然,在消息传输方向改变时,第一客户端100也会从第二客户端400接收消息,消息传输系统的架构也一致。第一客户端100和第二客户端400的数量均可以不止一个。第一客户端100和第二客户端400可以是包括能够经由网络200发出并接收数据的通信模块的装置。例如,每个用户终端100所基于的网络装置都可以包括服务器、台式计算机、膝上型计算机、平板计算机、智能手机、手持式计算机、个人数字助理(“PDA”),或者其它任何的有线或无线处理器驱动装置。网络200都可以包括局域网(“LAN”)、广域网(“WAN”)、内部网、互联网、移动电话网络、虚拟专用网(VPN)、蜂窝式或其它移动通信网络、蓝牙、NFC或其任何组合。消息可以是存在于基于计算机的环境中的文字、图像、音频、视频或任何其它形式的消息,例如可以是短信、邮件等。消息具有优先级,例如短信就包括了支付确认短信、登录验证短信和营销通知短信等,显然支付确认短信、登录验证短信和营销通知短信的优先级依次降低,对于用户的重要性也依次降低。消息都具有优先级,优先级有级别高低之分。不同级别的优先级表明相应的消息具有不同的优先级。消息的优先级与相应的消息的类型被关联后存入一个预设优先级集合。以消息是短信为例,可以将支付确认短信、登录验证短信和营销通知短信的优先级设定为级别依次降低的第一级别、第二级别及第三级别,再将这三种级别的优先级和相应消息类型关联,一并存入预设优先级集合内。当然,一个级别的优先级可以与多种类型的消息关联,仅需保证每个消息有且仅有一个级别的优先级即可。队列系统300可以位于网络200上的网关内,队列系统300内包括多个并列的消息队列,这些消息队列也具有优先级。消息队列的优先级也可以根据预设优先级集合来设定,使得各个消息队列的优先级相异。具体的,队列系统300内消息队列的数量与预设优先级集合内优先级的数量一致,例如预设优先级集合内包括级别依次降低的第一级别、第二级别及第三级别,那么消息队列的数量也可以设置为三个,并且这些消息队列的优先级也设置为第一级别、第二级别及第三级别,以用于分别存放对应级别的消息。本申请实施例中,队列系统300在发现其自身发生拥塞时,能够自适应控制拥塞,以保证消息的传输率。图2为本申请第一实施例中消息队列的拥塞控制方法的过程,该消息队列的拥塞控制方法的执行主体可以是前述队列系统300,其具体包括如下步骤。S20:判断用于接收待发送消息的目标消息队列是否发生拥塞,若否,执行步骤S40,若是,执行步骤S60。待发送消息用于泛指从第一客户端100或第二客户端400进入队列系统300内的消息,其可以是短信、邮件等,在此不做赘述。待发送消息具有优先级,队列系统300包括若干具有相异的优先级的消息队列,待发送消息的优先级和消息队列的优先级均根据前述预设优先级集合得到,具体可参图1描述,在此不做赘述。其中,待发送消息被通过如下过程存至队列系统300中消息队列内,以便执行本申请实施例提供的消息队列的拥塞控制方法。第一客户端100或第二客户端400生成待发送消息后,即可根据该待发送消息的类型查询预设优先级集合确定该待发送消息相应的优先级。后续,将具有优先级的待发送消息发送至队列系统300。队列系统300和待发送消本文档来自技高网
...
消息队列的拥塞控制方法和装置

【技术保护点】
一种消息队列的拥塞控制方法,其特征在于,包括:判断用于接收待发送消息的目标消息队列是否发生拥塞,所述目标消息队列位于包括若干具有优先级的消息队列的队列系统内;在所述目标消息队列发生拥塞时,在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列,将所述待发送消息存至所述比目标消息队列的优先级低的消息队列;在所述目标消息队列未发生拥塞时,将所述待发送消息存至所述目标消息队列。

【技术特征摘要】
1.一种消息队列的拥塞控制方法,其特征在于,包括:判断用于接收待发送消息的目标消息队列是否发生拥塞,所述目标消息队列位于包括若干具有优先级的消息队列的队列系统内;在所述目标消息队列发生拥塞时,在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列,将所述待发送消息存至所述比目标消息队列的优先级低的消息队列;在所述目标消息队列未发生拥塞时,将所述待发送消息存至所述目标消息队列。2.如权利要求1所述的方法,其特征在于,所述待发送消息具有优先级,所述待发送消息和目标消息队列的优先级相同。3.如权利要求1所述的方法,其特征在于,所述判断用于接收待发送消息的目标消息队列是否发生拥塞,具体包括:判断用于接收待发送消息的目标消息队列的长度是大于预设上限值、小于预设下限值还是在预设上限值和预设下限值之间;则在所述目标消息队列发生拥塞时,在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列,具体包括:在所述目标消息队列的长度大于预设上限值,或,在所述目标消息队列的长度在预设上限值和预设下限值之间并以预设概率确定所述目标消息队列发生拥塞时,在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列。4.如权利要求1所述的方法,其特征在于,所述判断用于接收待发送消息的目标消息队列是否发生拥塞,具体包括:判断用于接收待发送消息的目标消息队列的长度是大于预设上限值、小于预设下限值还是在预设上限值和预设下限值之间;则在所述目标消息队列未发生拥塞时,将所述待发送消息存至所述目标消息队列,具体包括:在所述目标消息队列的长度在预设上限值和预设下限值之间并以预设概率确定所述目标消息队列未发生拥塞时,或,在所述目标消息队列的长度小于预设下限值时,将所述待发送消息存至所述目标消息队列。5.如权利要求3或4所述的方法,其特征在于,所述预设下限值和预设上限值根据用于接收待发送消息的目标消息队列的优先级确定,所述预设概率根据用于接收待发送消息的目标消息队列的长度与预设上限值的差值确定。6.如权利要求1所述的方法,其特征在于,在判断出所述目标消息队列发生拥塞后,所述方法还包括:判断所述目标消息队列的优先级是否为最低级别;在所述目标消息队列的优先级不是最低级别时,执行所述在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列的步骤;在所述目标消息队列的优先级是最低级别时,丢弃所述待发送消息或将所述目标消息队列内消息存入硬盘。7.如权利要求1所述的方法,其特征在于,所述在所述队列系统内确定一个比所述目标消息队列的优先级低的消息队列之后,所述方法还包括:将所述目标消息队列更新为所述比目标消息队列的优先级低的消息队列,并返回所述判断用于接收待发送消息的目标消息队列是否发生拥塞的步骤。8.如权利要求1所述的方法,其特征在于,所述将所述待发送消息存至所述队列系统内比所述目标消息队列的优先级低的消息队列,具体包括:将所述待发送消息存至所述队列系统内仅比目标消息队列的优先级低一级的消息队列。9.如权利要求1所述的方法,其特征在于,所述将所述待发送消息存至所述队列系统内比所述目标消息队列的优先级低的消息队列,具体包括:将所述待发送消息存至所述队列系统内比目标消息队列的优先级低的、且队列长度最短的消息队列。10.如权利要求1所述的方法...

【专利技术属性】
技术研发人员:戴潇桐
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1