消息的处理方法、装置和电子设备制造方法及图纸

技术编号:18710440 阅读:25 留言:0更新日期:2018-08-21 22:37
本发明专利技术实施例提供了一种消息的处理方法、装置和电子设备,设置有多个定时队列,所述多个定时队列分别与多个预设的延时级别对应,所述方法包括:接收定时消息,并将所述定时消息写入数据文件;根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中;分别监控所述多个定时队列,以判断是否存在满足预设投递条件的定时消息;如果存在满足预设投递条件的定时消息,则将满足预设投递条件的定时消息的索引信息投递到所述目标队列,以供使用者通过所述索引信息获取满足预设投递条件的定时消息。本发明专利技术提升了定时消息堆积能力,且当定时消息数量较大时,可以降低定时消息延时误差,更大程度上保障定时消息被准时投递。

Processing method, device and electronic device of message

The embodiment of the invention provides a message processing method, a device and an electronic device, which are provided with a plurality of timing queues corresponding to a plurality of preset delay levels, respectively. The method includes: receiving a timing message and writing the timing message into a data file; and according to the delay of the timing message. At the time level, the index information of the timing message is stored in the corresponding timing queue; the multiple timing queues are monitored to determine whether there is a timing message satisfying the preset delivery condition; and if there is a timing message satisfying the preset delivery condition, the index information of the timing message satisfying the preset delivery condition will be monitored. Delivered to the destination queue for the user to obtain a timed message satisfying the preset delivery condition through the index information. The invention improves the accumulation ability of timing messages, and when the number of timing messages is large, the timing message delay error can be reduced, and the timing message can be delivered on time to a greater extent.

【技术实现步骤摘要】
消息的处理方法、装置和电子设备
本专利技术实施例计算机
,尤其涉及一种消息的处理方法、装置和设备。
技术介绍
大多数消息中间件,例如阿里云MQ(MessageQueue)和MetaQ(Metamorphosis)都可以支持定时消息或者延时消息。目前,定时消息或者延时消息已应用到许多业务场景中,举个简单的例子:当在购物平台(例如,天猫)创建订单,假设设置该订单在45分钟内未支付即被关闭,这就生成一条延时消息(或者定时消息)。在咱们的实际生活中,尤其是网络交互过程中,定时消息或者延时消息随处可见。在相关技术中定时消息(或者延时消息)的实现主要采用如下方式:存储引擎接收到客户端发送的定时消息后,首先将定时消息存入等待队列(定时队列)中,再由单独的线程时刻轮询等待队列,当满足投递条件(例如,到达延时时间)时,将定时消息投递到目标队列,由消费者消费该定时消息。专利技术人的实现本专利技术的过程中,发现现有技术存在如下缺陷:定时消息堆积能力弱,当定时消息数量较大时,服务器端调度压力大、调度能力不足,导致定时消息大量堆积,出现严重的延误投递现象。
技术实现思路
本专利技术实施例提供的消息的处理方法、装置和电子设备,提升定时消息堆积能力,且当定时消息数量较大时,可以降低定时消息延时误差,更大程度上保障定时消息被准时投递。本专利技术的一方面,提供一种消息的处理方法,设置有多个定时队列,所述多个定时队列分别与多个预设的延时级别对应,所述方法包括:接收定时消息,并将所述定时消息写入数据文件;根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中;分别监控所述多个定时队列,以判断是否存在满足预设投递条件的定时消息;如果存在满足预设投递条件的定时消息,则将满足预设投递条件的定时消息的索引信息投递到所述目标队列,以供使用者通过所述索引信息获取满足预设投递条件的定时消息。本专利技术的第二方面,提供一种消息的处理装置,设置有多个定时队列,所述多个定时队列分别与多个预设的延时级别对应,所述装置包括:第一接收模块,用于接收定时消息,并将所述定时消息写入数据文件;第一存储模块,用于根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中;队列监控模块,用于分别监控所述多个定时队列,以判断是否存在满足预设投递条件的定时消息;消息重投模块,用于当存在满足预设投递条件的定时消息时,将满足预设投递条件的定时消息的索引信息投递到所述目标队列,以供使用者通过所述索引信息获取满足预设投递条件的定时消息。本专利技术的第三方面,提供一种电子设备,包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于执行所述程序,且设置有多个定时队列,所述多个定时队列分别与多个预设的延时级别对应,以用于:接收定时消息,并将所述定时消息写入数据文件;根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中;分别监控所述多个定时队列,以判断是否存在满足预设投递条件的定时消息;如果存在满足预设投递条件的定时消息,则将满足预设投递条件的定时消息的索引信息投递到所述目标队列,以供使用者通过所述索引信息获取满足预设投递条件的定时消息。本专利技术的第四方面,提供一种消息的处理方法,设置有多个定时队列,所述多个定时队列分别与多个预设的延时级别对应,所述方法包括:接收定时消息,并将所述定时消息写入数据文件;根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中。本专利技术的第五方面,提供一种消息的处理装置,设置有多个定时队列,所述多个定时队列分别与多个预设的延时级别对应,所述装置包括:第二接收模块,用于接收定时消息,并将所述定时消息写入数据文件;第二存储模块,用于根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中。本专利技术的第六方面,提供一种电子设备,包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于执行所述程序,且设置有多个定时队列,所述多个定时队列分别与多个预设的延时级别对应,以用于:接收定时消息,并将所述定时消息写入数据文件;根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中。本专利技术的第七方面,提供一种消息的处理方法,设置有多个目标队列,所述多个目标队列分别与多个原始主题信息对应,各所述目标队列存储有与所述原始主题信息对应的定时消息的索引信息,所述定时消息存储在数据文件,所述方法包括:从所述目标队列中读取索引信息;根据所述索引信息从所述数据文件中读取与所述索引信息对应的定时消息。本专利技术的第八方面,提供一种消息的处理装置,设置有多个目标队列,所述多个目标队列分别与多个原始主题信息对应,各所述目标队列存储有与所述原始主题信息对应的定时消息的索引信息,所述定时消息存储在数据文件,所述装置包括:索引信息读取模块,用于从所述目标队列中读取索引信息;定时消息读取模块,用于根据所述索引信息从所述数据文件中读取与所述索引信息对应的定时消息。本专利技术的第九方面,提供一种电子设备,包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于执行所述程序,且设置有多个目标队列,所述多个目标队列分别与多个原始主题信息对应,各所述目标队列存储有与所述原始主题信息对应的定时消息的索引信息,所述定时消息存储在数据文件,以用于:从所述目标队列中读取索引信息;根据所述索引信息从所述数据文件中读取与所述索引信息对应的定时消息。应用本专利技术实施例,将定时消息的索引信息按延时级别堆积在定时队列中,因此使定时消息具有跟普通消息一致的堆积能力,以及将满足投递条件的定时消息的索引信息投递到目标队列,使用者可以按顺序使用到该定时消息,降低了随机文件读写,保障服务器端不会因定时消息降低读写性能,降低服务器端的负载压力和调度压力,减少定时消息的堆积,从而可以更大程度上保障定时消息被准时投递,降低定时消息误差。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明图1为相关技术中定时消息的处理原理示意图;图2为本专利技术实施例提供的消息的处理方法的流程示意图之一;图3为本专利技术实施例提供的消息的处理方法的流程示意图之二;图4为本专利技术实施例提供的定时消息的处理过程示意图;图5为本专利技术实施例提供的消息的处理方法的流程示意图之三;图6为本专利技术实施例提供的消息的处理方法的流程示意图之四;图7为本专利技术实施例提供的消息的处理装置的结构示意图之一;图8为本专利技术实施例提供的消息的处理装置的结构示意图之二;图9为本专利技术实施例提供的消息的处理装置的结构示意图之三;图10为本专利技术实施例提供的消息的处理装置的结构示意图之四;图11为本专利技术实施例提供的电子设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。在本专利技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重本文档来自技高网...

【技术保护点】
1.一种消息的处理方法,其特征在于,设置有多个定时队列,所述多个定时队列分别与多个预设的延时级别对应,所述方法包括:接收定时消息,并将所述定时消息写入数据文件;根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中;分别监控所述多个定时队列,以判断是否存在满足预设投递条件的定时消息;如果存在满足预设投递条件的定时消息,则将满足预设投递条件的定时消息的索引信息投递到所述目标队列,以供使用者通过所述索引信息获取满足预设投递条件的定时消息。

【技术特征摘要】
1.一种消息的处理方法,其特征在于,设置有多个定时队列,所述多个定时队列分别与多个预设的延时级别对应,所述方法包括:接收定时消息,并将所述定时消息写入数据文件;根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中;分别监控所述多个定时队列,以判断是否存在满足预设投递条件的定时消息;如果存在满足预设投递条件的定时消息,则将满足预设投递条件的定时消息的索引信息投递到所述目标队列,以供使用者通过所述索引信息获取满足预设投递条件的定时消息。2.根据权利要求1所述的处理方法,其特征在于,所述多个延时级别分别对应多个预设的第一延时时长;所述满足预设投递条件具体为:所述定时消息的索引信息存入所述定时队列的时间已经达到所述第一延时时长。3.根据权利要求1所述的处理方法,其特征在于,所述分别监控所述多个定时队列包括:通过一个或多个线程,以轮询的方式分别监控所述多个定时队列,所述轮询的时间间隔根据所述多个延时队列的延时级别设定。4.根据权利要求1所述的处理方法,其特征在于,所述定时消息中包含有延时级别,所述定时消息中包含的延时级别为消息生成者在生成消息的过程中从所述多个预设的延时级别中选定的;所述根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中具体为:从所述定时消息中读取所述延时级别,并根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中。5.根据权利要求1所述的处理方法,其特征在于,所述定时消息中包含有投递时间或第二延时时长,所述投递时间或第二延时时长为消息生成者在生成消息的过程中设定的;所述根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中具体为:从所述定时消息中读取所述投递时间或第二延时时长,并根据所述投递时间或所述第二延时时长,确定所述定时消息的延时级别;然后,根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中。6.根据权利要求1所述的方法,其特征在于,还包括:在将所述定时消息写入数据文件的过程中,对所述定时消息的原始主题信息进行修改,在保留所述原始主题信息的基础上,增加预设的附加主题信息,以形成新主题信息;所述根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中包括:选取具有新主题信息的定时消息,并根据该定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中。7.根据权利要求6所述的方法,其特征在于,设置有多个目标队列,所述多个目标队列分别与多个原始主题信息对应;所述将满足预设投递条件的定时消息的索引信息投递到所述目标队列,以供使用者通过所述索引信息获取满足预设投递条件的定时消息包括:根据所述索引信息从所述数据文件中获取满足预设投递条件的定时消息,并将预设投递条件的定时消息中的新主题信息修改为原始主题信息;根据所述原始主题信息,将该满足预设投递条件的定时消息的索引信息投递至与所述原始主题信息对应的目标队列,以供使用者通过所述索引信息获取满足预设投递条件的定时消息。8.根据权利要求7所述的方法,其特征在于,根据所述索引信息从所述数据文件中获取满足预设投递条件的定时消息,并将预设投递条件的定时消息中的新主题信息修改为原始主题信息之后还包括:将修改为原始主题后的定时消息写入所述数据文件的当前写入位置,并更新所述满足预设投递条件的定时消息的索引信息;所述根据所述原始主题信息,将该满足预设投递条件的定时消息的索引信息投递至与所述原始主题信息对应的目标队列,以供使用者通过所述索引信息获取满足预设投递条件的定时消息具体为:根据所述原始主题信息,将该满足预设投递条件的定时消息的更新后的索引信息投递至与所述原始主题信息对应的目标队列,以供使用者通过所述更新后的索引信息获取满足预设投递条件的定时消息。9.根据权利要求1所述的方法,其特征在于,所述定时消息的索引信息包括所述定时消息在所述数据文件中的存储位置的偏移量。10.一种消息的处理装置,其特征在于,设置有多个定时队列,所述多个定时队列分别与多个预设的延时级别对应,所述装置包括:第一接收模块,用于接收定时消息,并将所述定时消息写入数据文件;第一存储模块,用于根据所述定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中;队列监控模块,用于分别监控所述多个定时队列,以判断是否存在满足预设投递条件的定时消息;消息重投模块,用于当存在满足预设投递条件的定时消息时,将满足预设投递条件的定时消息的索引信息投递到所述目标队列,以供使用者通过所述索引信息获取满足预设投递条件的定时消息。11.根据权利要求10所述的装置,其特征在于,所述装置还包括:主题修改模块,用于在将所述定时消息写入数据文件的过程中,对所述定时消息的原始主题信息进行修改,在保留所述原始主题信息的基础上,增加预设的附加主题信息,以形成新主题信息;所述第一存储模块具体用于:选取具有新主题信息的定时消息,并根据该定时消息的延时级别,将所述定时消息的索引信息存入对应的定时队列中。12.根据权利要求11所述的装置,其特征在于,设置有多个目标队列,所述多个目标队列分别与多个原始主题信息对应;所述消息重投模块包括:消息获取单元,用于根据所述索引信息从所述数据文件中获取满足预设投递条件的定时消息;主题修改单元,用于并将预设投递条件的定时消息中的新主题信息修改为原始主题信息;消息投...

【专利技术属性】
技术研发人员:周新宇王小瑞冯嘉
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1