一种消息发送请求处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38331922 阅读:11 留言:0更新日期:2023-07-29 09:14
本申请实施例提供了一种消息发送请求处理方法,涉及计算机技术领域。该方法包括:接收消息发送请求,并确定各消息发送请求的请求类型;若请求类型为重要请求,则执行消息发送请求的执行步骤,在执行步骤执行完成时输出响应结果,若请求类型为次要请求,则将消息发送请求发送至预设消息队列并输出响应结果,当消息发送请求位于预设消息队列头部时,获取消息发送请求并执行消息发送请求的执行步骤。通过将接收到的消息发送请求分别发送至Im和预设消息队列,无需对Im进行扩容。通过Im执行部分消息发送请求的执行步骤并作出响应,将另一部分消息发送请求存储至预设消息队列并作出响应,后续再通过Im执行其执行步骤,保证了消息发送请求处理的时效性。请求处理的时效性。请求处理的时效性。

【技术实现步骤摘要】
一种消息发送请求处理方法、装置、电子设备及存储介质


[0001]本申请涉及计算机
,具体而言,本申请涉及一种消息发送请求处理方法、装置、电子设备及存储介质。

技术介绍

[0002]随着信息技术的发展,越来越多的业务场景需要通过Im(Instant messaging,即时通讯服务)服务发送相关消息。但当短时间内接收到大量消息发送请求时,Im服务难以保证及时处理所有的消息发送请求(即将消息发送至目标用户并向消息发送方作出响应),且由于短时间内需要同时对大量消息发送请求进行处理,会使Im服务短时间内的负载较高,对Im服务的稳定性造成影响。
[0003]目前主要有两种解决方式,第一种方式是对Im服务进行扩容的方式,通过增加Im服务的容量以提高Im服务能承受的负载上限,以使Im服务在短时间内能处理更多的消息发送请求,不会因短时间内处理的消息发送请求数量过多而崩溃,从而保持了Im服务的稳定性。第二种方式主要是控制Im服务接收消息发送请求的速率,使Im服务在一定时间内处理的消息发送请求数量有限,从而保持Im服务的稳定性。
[0004]但是,在第一种方式中,增加Im服务的容量会增加成本,当需要增加的容量过大时,成本会变得较高。而第二种方式中,由于限制了Im服务在一定时间内接收的消息发送请求数量,将会导致无法及时对部分未被接收的消息发送请求进行处理,进而影响了消息发送请求处理的时效性。

技术实现思路

[0005]本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:r/>[0006]第一方面,本申请实施例提供了一种消息发送请求处理方法,包括:
[0007]接收至少一个消息发送请求,并确定各消息发送请求的请求类型;
[0008]对于每一消息发送请求,若请求类型为重要请求,则执行消息发送请求包含的执行步骤,并在执行步骤执行完成时输出对应的响应结果,若请求类型为次要请求,则将消息发送请求发送至预设消息队列并输出对应的响应结果,且当消息发送请求位于预设消息队列头部时,获取消息发送请求并执行消息发送请求包含的执行步骤。
[0009]在本申请的一种可选实施例中,确定各消息发送请求的请求类型,具体包括:
[0010]若消息发送请求为用户发送,则确定消息发送请求的请求类型为重要请求;
[0011]若消息发送请求为系统发送且为普通消息发送请求,则确定消息发送请求的请求类型为重要请求;
[0012]若消息发送请求为系统发送且为运营消息发送请求,则确定消息发送请求的请求类型为次要请求。
[0013]在本申请的一种可选实施例中,执行消息发送请求包含的执行步骤,具体包括:
[0014]对于消息发送请求中的每一同步执行步骤,按照执行步骤的预设执行逻辑执行执行步骤;
[0015]对于消息发送请求中的每一异步执行步骤,通过调用预设协程函数按照执行步骤的预设执行逻辑执行执行步骤。
[0016]在本申请的一种可选实施例中,具体包括:
[0017]将预设消息队列中的各消息发送请求按照接收时刻的先后顺序由头至尾进行排序。
[0018]在本申请的一种可选实施例中,当消息发送请求位于预设消息队列头部时,获取消息发送请求,具体包括:
[0019]每隔一个预设时间间隔,接收预设应用程序发送的一个消息发送请求;其中,消息发送请求位于预设消息队列头部且被预设应用程序获取,且消息发送请求的请求类型被预设应用程序转换为重要请求。
[0020]在本申请的一种可选实施例中,具体包括:
[0021]在输出响应结果后,将响应结果发送至消息发送请求的发送方。
[0022]在本申请的一种可选实施例中,接收至少一个消息发送请求,具体包括:
[0023]通过预设网关接收至少一个消息发送请求。
[0024]第二方面,本申请实施例提供了一种消息发送请求处理装置,包括:
[0025]请求接收模块,用于接收至少一个消息发送请求,并确定各消息发送请求的请求类型;
[0026]请求处理模块,用于对于每一消息发送请求,若请求类型为重要请求,则执行消息发送请求包含的执行步骤,并在执行步骤执行完成时输出对应的响应结果,若请求类型为次要请求,则将消息发送请求发送至预设消息队列并输出对应的响应结果,且当消息发送请求位于预设消息队列头部时,获取消息发送请求并执行消息发送请求包含的执行步骤。
[0027]在本申请的一种可选实施例中,请求处理模块具体用于:
[0028]若消息发送请求为用户发送,则确定消息发送请求的请求类型为重要请求;
[0029]若消息发送请求为系统发送且为普通消息发送请求,则确定消息发送请求的请求类型为重要请求;
[0030]若消息发送请求为系统发送且为运营消息发送请求,则确定消息发送请求的请求类型为次要请求。
[0031]在本申请的一种可选实施例中,请求处理模块进一步用于:
[0032]对于消息发送请求中的每一同步执行步骤,按照执行步骤的预设执行逻辑执行执行步骤;
[0033]对于消息发送请求中的每一异步执行步骤,通过调用预设协程函数按照执行步骤的预设执行逻辑执行执行步骤。
[0034]在本申请的一种可选实施例中,还包括请求排序模块,具体用于:
[0035]将预设消息队列中的各消息发送请求按照接收时刻的先后顺序由头至尾进行排序。
[0036]在本申请的一种可选实施例中,请求处理模块还可以用于:
[0037]每隔一个预设时间间隔,接收预设应用程序发送的一个消息发送请求;其中,消息
发送请求位于预设消息队列头部且被预设应用程序获取,且消息发送请求的请求类型被预设应用程序转换为重要请求。
[0038]在本申请的一种可选实施例中,还包括响应结果发送模块,具体用于:
[0039]在输出响应结果后,将响应结果发送至消息发送请求的发送方。
[0040]在本申请的一种可选实施例中,请求接收模块具体用于:
[0041]通过预设网关接收至少一个消息发送请求。
[0042]第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序;
[0043]处理器执行计算机程序以实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
[0044]第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
[0045]本申请实施例提供的技术方案带来的有益效果是:
[0046]通过将接收到的所有消息发送请求分别发送至Im服务和预设消息队列中,使Im服务无需立刻处理所有消息发送请求,减小了Im服务的负载,并且无需对Im服务进行扩容,无需增加成本。同时由于终端接收到所有的消息发送请求后,一方面通过Im执行部分消息发送请求的执行步骤并作出响应,另一方本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种消息发送请求处理方法,其特征在于,包括:接收至少一个消息发送请求,并确定各消息发送请求的请求类型;对于每一消息发送请求,若所述请求类型为重要请求,则执行所述消息发送请求包含的执行步骤,并在所述执行步骤执行完成时输出对应的响应结果,若所述请求类型为次要请求,则将所述消息发送请求发送至预设消息队列并输出对应的响应结果,且当所述消息发送请求位于所述预设消息队列头部时,获取所述消息发送请求并执行所述消息发送请求包含的执行步骤。2.根据权利要求1中所述的方法,其特征在于,所述确定各消息发送请求的请求类型,包括:若所述消息发送请求为用户发送,则确定所述消息发送请求的请求类型为重要请求;若所述消息发送请求为系统发送且为普通消息发送请求,则确定所述消息发送请求的请求类型为重要请求;若所述消息发送请求为系统发送且为运营消息发送请求,则确定所述消息发送请求的请求类型为次要请求。3.根据权利要求1中所述的方法,其特征在于,所述执行所述消息发送请求包含的执行步骤,包括:对于所述消息发送请求中的每一同步执行步骤,按照所述执行步骤的预设执行逻辑执行所述执行步骤;对于所述消息发送请求中的每一异步执行步骤,通过调用预设协程函数按照所述执行步骤的预设执行逻辑执行所述执行步骤。4.根据权利要求1中所述的方法,其特征在于,所述方法还包括:将所述预设消息队列中的各消息发送请求按照接收时刻的先后顺序由头至尾进行排序。5.根据权利要求1或4中所述的方法,其特征在于,所述当所述消息发送请求位于所述预设消息队列头部时,获取...

【专利技术属性】
技术研发人员:向俊成
申请(专利权)人:北京淘友天下技术有限公司
类型:发明
国别省市:

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

1