CN116489116A - 一种消息发送请求处理方法、装置、电子设备及存储介质 - Google Patents

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

Info

Publication number
CN116489116A
CN116489116A CN202310416548.3A CN202310416548A CN116489116A CN 116489116 A CN116489116 A CN 116489116A CN 202310416548 A CN202310416548 A CN 202310416548A CN 116489116 A CN116489116 A CN 116489116A
Authority
CN
China
Prior art keywords
request
message sending
message
sending request
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310416548.3A
Other languages
English (en)
Inventor
向俊成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Taoyoutianxia Technology Co ltd
Original Assignee
Beijing Taoyoutianxia Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Taoyoutianxia Technology Co ltd filed Critical Beijing Taoyoutianxia Technology Co ltd
Priority to CN202310416548.3A priority Critical patent/CN116489116A/zh
Publication of CN116489116A publication Critical patent/CN116489116A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/226Delivery according to priorities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

一种消息发送请求处理方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种消息发送请求处理方法、装置、电子设备及存储介质。
背景技术
随着信息技术的发展,越来越多的业务场景需要通过Im(Instant messaging,即时通讯服务)服务发送相关消息。但当短时间内接收到大量消息发送请求时,Im服务难以保证及时处理所有的消息发送请求(即将消息发送至目标用户并向消息发送方作出响应),且由于短时间内需要同时对大量消息发送请求进行处理,会使Im服务短时间内的负载较高,对Im服务的稳定性造成影响。
目前主要有两种解决方式,第一种方式是对Im服务进行扩容的方式,通过增加Im服务的容量以提高Im服务能承受的负载上限,以使Im服务在短时间内能处理更多的消息发送请求,不会因短时间内处理的消息发送请求数量过多而崩溃,从而保持了Im服务的稳定性。第二种方式主要是控制Im服务接收消息发送请求的速率,使Im服务在一定时间内处理的消息发送请求数量有限,从而保持Im服务的稳定性。
但是,在第一种方式中,增加Im服务的容量会增加成本,当需要增加的容量过大时,成本会变得较高。而第二种方式中,由于限制了Im服务在一定时间内接收的消息发送请求数量,将会导致无法及时对部分未被接收的消息发送请求进行处理,进而影响了消息发送请求处理的时效性。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:
第一方面,本申请实施例提供了一种消息发送请求处理方法,包括:
接收至少一个消息发送请求,并确定各消息发送请求的请求类型;
对于每一消息发送请求,若请求类型为重要请求,则执行消息发送请求包含的执行步骤,并在执行步骤执行完成时输出对应的响应结果,若请求类型为次要请求,则将消息发送请求发送至预设消息队列并输出对应的响应结果,且当消息发送请求位于预设消息队列头部时,获取消息发送请求并执行消息发送请求包含的执行步骤。
在本申请的一种可选实施例中,确定各消息发送请求的请求类型,具体包括:
若消息发送请求为用户发送,则确定消息发送请求的请求类型为重要请求;
若消息发送请求为系统发送且为普通消息发送请求,则确定消息发送请求的请求类型为重要请求;
若消息发送请求为系统发送且为运营消息发送请求,则确定消息发送请求的请求类型为次要请求。
在本申请的一种可选实施例中,执行消息发送请求包含的执行步骤,具体包括:
对于消息发送请求中的每一同步执行步骤,按照执行步骤的预设执行逻辑执行执行步骤;
对于消息发送请求中的每一异步执行步骤,通过调用预设协程函数按照执行步骤的预设执行逻辑执行执行步骤。
在本申请的一种可选实施例中,具体包括:
将预设消息队列中的各消息发送请求按照接收时刻的先后顺序由头至尾进行排序。
在本申请的一种可选实施例中,当消息发送请求位于预设消息队列头部时,获取消息发送请求,具体包括:
每隔一个预设时间间隔,接收预设应用程序发送的一个消息发送请求;其中,消息发送请求位于预设消息队列头部且被预设应用程序获取,且消息发送请求的请求类型被预设应用程序转换为重要请求。
在本申请的一种可选实施例中,具体包括:
在输出响应结果后,将响应结果发送至消息发送请求的发送方。
在本申请的一种可选实施例中,接收至少一个消息发送请求,具体包括:
通过预设网关接收至少一个消息发送请求。
第二方面,本申请实施例提供了一种消息发送请求处理装置,包括:
请求接收模块,用于接收至少一个消息发送请求,并确定各消息发送请求的请求类型;
请求处理模块,用于对于每一消息发送请求,若请求类型为重要请求,则执行消息发送请求包含的执行步骤,并在执行步骤执行完成时输出对应的响应结果,若请求类型为次要请求,则将消息发送请求发送至预设消息队列并输出对应的响应结果,且当消息发送请求位于预设消息队列头部时,获取消息发送请求并执行消息发送请求包含的执行步骤。
在本申请的一种可选实施例中,请求处理模块具体用于:
若消息发送请求为用户发送,则确定消息发送请求的请求类型为重要请求;
若消息发送请求为系统发送且为普通消息发送请求,则确定消息发送请求的请求类型为重要请求;
若消息发送请求为系统发送且为运营消息发送请求,则确定消息发送请求的请求类型为次要请求。
在本申请的一种可选实施例中,请求处理模块进一步用于:
对于消息发送请求中的每一同步执行步骤,按照执行步骤的预设执行逻辑执行执行步骤;
对于消息发送请求中的每一异步执行步骤,通过调用预设协程函数按照执行步骤的预设执行逻辑执行执行步骤。
在本申请的一种可选实施例中,还包括请求排序模块,具体用于:
将预设消息队列中的各消息发送请求按照接收时刻的先后顺序由头至尾进行排序。
在本申请的一种可选实施例中,请求处理模块还可以用于:
每隔一个预设时间间隔,接收预设应用程序发送的一个消息发送请求;其中,消息发送请求位于预设消息队列头部且被预设应用程序获取,且消息发送请求的请求类型被预设应用程序转换为重要请求。
在本申请的一种可选实施例中,还包括响应结果发送模块,具体用于:
在输出响应结果后,将响应结果发送至消息发送请求的发送方。
在本申请的一种可选实施例中,请求接收模块具体用于:
通过预设网关接收至少一个消息发送请求。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序;
处理器执行计算机程序以实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
本申请实施例提供的技术方案带来的有益效果是:
通过将接收到的所有消息发送请求分别发送至Im服务和预设消息队列中,使Im服务无需立刻处理所有消息发送请求,减小了Im服务的负载,并且无需对Im服务进行扩容,无需增加成本。同时由于终端接收到所有的消息发送请求后,一方面通过Im执行部分消息发送请求的执行步骤并作出响应,另一方面将另一部分消息发送请求存储至预设消息队列并作出响应,后续再通过Im服务执行其包含的执行步骤,进而保证了消息发送请求处理的时效性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种消息发送请求处理方法的流程示意图;
图2为本申请实施例的一个示例中Im服务消息处理逻辑的流程示意图;
图3为本申请实施例的一个示例中不同类型步骤的执行方式的流程示意图;
图4为本申请实施例的一个示例中次要请求的处理方式的流程示意图;
图5为本申请实施例的一个示例中Im服务处理消息发送请求的一个示例图;
图6为本申请实施例提供的一种消息发送请求处理装置的结构框图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
图1为本申请实施例提供一种消息发送请求处理方法的流程示意图,该方法的执行主体可以是Im服务,如图1所示,该方法可以包括:
步骤S101,接收至少一个消息发送请求,并确定各消息发送请求的请求类型。
其中,消息发送请求是由用户或者系统发送的,用于请求将需要发送的消息发送给目标接收方。消息发送请求可以分为重要请求和次要请求两种。
具体地,Im服务可以同时接收所有用户或系统发送的消息发送请求,并确定出每个消息发送请求是重要请求还是次要请求。
步骤S102,对于每一消息发送请求,若请求类型为重要请求,则执行消息发送请求包含的执行步骤,并在执行步骤执行完成时输出对应的响应结果,若请求类型为次要请求,则将消息发送请求发送至预设消息队列并输出对应的响应结果,且当消息发送请求位于预设消息队列头部时,获取消息发送请求并执行消息发送请求包含的执行步骤。
其中,重要请求可以理解为处理优先度较高的消息发送请求,次要请求可以理解为处理优先度较低的消息发送请求。每一消息发送请求中包含有至少一个执行步骤,当消息发送请求中的所有执行步骤被执行完成后,表示该消息已成功发送至目标接收方。响应结果是指对消息发送请求完成处理的提示。预设消息队列是独立于Im服务的,用于存储无需Im服务及时处理的消息发送请求。
具体地,如图2所示,若发送方发送的消息发送请求是重要请求,那么Im服务将会立即执行该消息发送请求中包含的所有执行步骤(即及时处理),在执行完所有执行步骤后将输出响应结果。若消息发送请求是次要请求,那么Im服务将会把该消息发送请求发送至预设消息队列中,同时输出响应结果,然后当该消息发送请求位于预设消息队列的头部时,再从预设消息队列中获取该消息发送请求并执行该消息发送请求包含的执行步骤。
需要说明的是,对消息发送请求进行处理包含了执行消息发送请求包含的执行步骤并输出对应的响应结果两部分。在本方案中,对于类型为重要请求的消息发送请求,Im服务会立即处理该消息发送请求。而对于类型为次要请求的消息发送请求,Im服务会先将其发送至预设消息队列并先输出响应结果,后续再从预设消息队列中获取该消息发送请求并执行其包含的执行步骤。
本申请提供的方案,通过将接收到的所有消息发送请求分别发送至Im服务和预设消息队列中,使Im服务无需立刻处理所有消息发送请求,减小了Im服务的负载,并且无需对Im服务进行扩容,无需增加成本。同时由于终端接收到所有的消息发送请求后,一方面通过Im执行部分消息发送请求的执行步骤并作出响应,另一方面将另一部分消息发送请求存储至预设消息队列并作出响应,后续再通过Im服务执行其包含的执行步骤,进而保证了消息发送请求处理的时效性。
在本申请的一种可选实施例中,确定各消息发送请求的请求类型,具体包括:
若消息发送请求为用户发送,则确定消息发送请求的请求类型为重要请求;
若消息发送请求为系统发送且为普通消息发送请求,则确定消息发送请求的请求类型为重要请求;
若消息发送请求为系统发送且为运营消息发送请求,则确定消息发送请求的请求类型为次要请求。
其中,普通消息发送请求是指需要及时通知给用户的消息的发送请求,例如用户的登录和资金变更的消息,需要及时通知给用户。运营消息发送请求是指无需及时通知给用户的消息的发送请求,例如给全站用户推送一个活动的消息。
具体地,在本方案中,对于所有用户发送的消息发送请求,均归为重要请求。对于系统发送的消息发送请求,则需要进一步判断该消息发送请求中的携带的消息是普通消息还是运营消息,如果是普通消息,则该消息发送请求归为重要请求,如果是运营消息,则该消息发送请求归为次要请求。
在本申请的一种可选实施例中,执行消息发送请求包含的执行步骤,具体包括:
对于消息发送请求中的每一同步执行步骤,按照执行步骤的预设执行逻辑执行执行步骤;
对于消息发送请求中的每一异步执行步骤,通过调用预设协程函数按照执行步骤的预设执行逻辑执行执行步骤。
其中,同步执行步骤表示需要等待该执行步骤的返回结果后,才能继续执行下一执行步骤的执行步骤(如写数据库操作)。异步执行步骤则表示无需等待该执行步骤的返回结果,就可以继续执行下一执行步骤的执行步骤。预设执行逻辑表示该执行步骤的具体执行内容。预设协程函数是gevent(协程库)库中的一个函数,该函数为gevent.spawn(函数的标识),用于在事件循环中启动一个新的协程。它的语法如下:
gevent.spawn(function,*args,**kwargs)
其中,“function”是要执行的函数,“args”和“kwargs”是传递给函数的参数。使用预设协程函数可以方便地在事件循环中启动多个协程,并发执行多个任务。由于gevent使用了协程而不是线程,因此可以避免由于线程切换带来的开销和复杂性,从而提高程序的性能和可维护性。
具体地,如图3所示,Im在执行消息发送请求包含的执行步骤时,会判断该执行步骤的类型。如果该执行步骤为同步执行步骤,则在主线程中按照该执行步骤的预设执行逻辑执行该预设步骤。如果该执行步骤为异步执行步骤,则启动协程并通过协程按照该执行步骤的预设执行逻辑执行该预设步骤。
需要说明的是,在本申请的实施例中,所有的执行步骤代码都是使用Python(一种计算机编程语言)语言进行编写的。
在本申请的一种可选实施例中,具体包括:
将预设消息队列中的各消息发送请求按照接收时刻的先后顺序由头至尾进行排序。
具体地,对于Im服务发送至预设消息队列中的各消息发送请求,会根据Im接收到各消息发送请求的时刻进行排序,接收时刻越早,则在预设消息队列中排序越靠前。
在本申请的一种可选实施例中,当消息发送请求位于预设消息队列头部时,获取消息发送请求,具体包括:
每隔一个预设时间间隔,接收预设应用程序发送的一个消息发送请求;其中,消息发送请求位于预设消息队列头部且被预设应用程序获取,且消息发送请求的请求类型被预设应用程序转换为重要请求。
其中,预设应用程序是独立于Im服务和预设消息队列的,用于将预设消息队列中消息发送请求的类型转换为重要请求。预设时间间隔是由运营方设置并可以随时修改的,用于控制Im服务接收预设消息队列中的消息发送请求的速率。
具体地,如图4所示,预设应用程序每个一个预设时间间隔获取预设消息队列头部的消息发送请求,由于预设消息队列中的各消息发送请求的类型都为次要请求,因此应用程序需要将该消息发送请求的类型转换为重要请求后,再将该消息发送请求发送至Im服务,以使Im服务执行该消息发送请求包含的执行步骤。
需要说明的是,在本申请实施例中,Im服务只能执行类型为重要请求的消息发送请求,对于类型为次要请求的消息发送请求,需要通过预设应用程序转换后才能执行其包含的执行步骤。
在本申请的一种可选实施例中,具体包括:
在输出响应结果后,将响应结果发送至消息发送请求的发送方。
具体地,对于类型为重要请求的消息发送请求,Im服务会在执行完其包含的执行步骤后,再向发送方发送响应结果。对于类型为次要请求的消息发送请求,Im服务将其发送至预设队列后,就会向发送方发送响应结果,然后等待该消息发送请求出现在预设消息队列头部时,再去执行其包含的执行步骤。
需要说明的是,类型为次要请求的消息发送请求进入预设消息队列并且Im输出对应的响应结果后,Im服务后续执行完成其包含的执行步骤时,不再输出对应的响应结果。
在本申请的一种可选实施例中,接收至少一个消息发送请求,具体包括:
通过预设网关接收至少一个消息发送请求。
其中,由于Im服务不对外暴露自己接收消息请求的入口,因此需要通过设置预设网关作为接收入口来接收发送方发送的消息发送请求。
具体地,发送方向Im服务发送消息发送请求时,Im服务将通过预设网关接收消息发送请求。采用该种方式,可以保证Im服务接收消息请求的入口隐藏在预设网关后,增加了Im服务的安全性和可扩展性。
如图5所示,图5为本申请Im服务处理消息发送请求的一个示例图。其中,发送用户或发消息的业务系统将把消息发送请求先发送到Im服务的预设网关,Im服务通过预设网关接收消息发送请求,并判断发送方式用户还是系统。
若为用户发送,则Im服务会将该消息发送请求标记为重要请求并直接立即同步处理该消息发送请求中重要的部分,如写数据库的操作(即执行同步步骤),同时异步处理该消息发送请求中不重要的操作(即执行异步步骤),在执行完所有执行步骤后,即完成了将消息发送至接收用户的操作。
若为系统发送,则Im服务会将该消息发送请求标记为次要请求并先将该消息发送请求发送至预设消息队列中,然后预设应用程序会从预设消息队列中取出该消息发送请求并标记为重要请求后再次发送至预设网关,此时Im服务再同步处理该消息发送请求中重要的部分,如写数据库的操作(即执行同步步骤),同时异步处理该消息发送请求中不重要的操作(即执行异步步骤),在执行完所有执行步骤后,即完成了将消息发送至接收用户的操作。
图6为本申请实施例提供的一种消息发送请求处理装置的结构框图,如图6所示,该消息发送请求处理装置600可以包括:请求接收模块601、请求处理模块602,其中,
请求接收模块601用于接收至少一个消息发送请求,并确定各消息发送请求的请求类型;
请求处理模块602用于对于每一消息发送请求,若请求类型为重要请求,则执行消息发送请求包含的执行步骤,并在执行步骤执行完成时输出对应的响应结果,若请求类型为次要请求,则将消息发送请求发送至预设消息队列并输出对应的响应结果,且当消息发送请求位于预设消息队列头部时,获取消息发送请求并执行消息发送请求包含的执行步骤。
本申请提供的方案,通过将接收到的所有消息发送请求分别发送至Im服务和预设消息队列中,使Im服务无需立刻处理所有消息发送请求,减小了Im服务的负载,并且无需对Im服务进行扩容,无需增加成本。同时由于终端接收到所有的消息发送请求后,一方面通过Im执行部分消息发送请求的执行步骤并作出响应,另一方面将另一部分消息发送请求存储至预设消息队列并作出响应,后续再通过Im服务执行其包含的执行步骤,进而保证了消息发送请求处理的时效性。
在本申请的一种可选实施例中,请求处理模块具体用于:
若消息发送请求为用户发送,则确定消息发送请求的请求类型为重要请求;
若消息发送请求为系统发送且为普通消息发送请求,则确定消息发送请求的请求类型为重要请求;
若消息发送请求为系统发送且为运营消息发送请求,则确定消息发送请求的请求类型为次要请求。
在本申请的一种可选实施例中,请求处理模块进一步用于:
对于消息发送请求中的每一同步执行步骤,按照执行步骤的预设执行逻辑执行执行步骤;
对于消息发送请求中的每一异步执行步骤,通过调用预设协程函数按照执行步骤的预设执行逻辑执行执行步骤。
在本申请的一种可选实施例中,还包括请求排序模块,具体用于:
将预设消息队列中的各消息发送请求按照接收时刻的先后顺序由头至尾进行排序。
在本申请的一种可选实施例中,请求处理模块还可以用于:
每隔一个预设时间间隔,接收预设应用程序发送的一个消息发送请求;其中,消息发送请求位于预设消息队列头部且被预设应用程序获取,且消息发送请求的请求类型被预设应用程序转换为重要请求。
在本申请的一种可选实施例中,还包括响应结果发送模块,具体用于:
在输出响应结果后,将响应结果发送至消息发送请求的发送方。
在本申请的一种可选实施例中,请求接收模块具体用于:
通过预设网关接收至少一个消息发送请求。
下面参考图7,其示出了适于用来实现本申请实施例的电子设备(例如执行图1所示方法的终端设备或服务器)700的结构示意图。本申请实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴设备等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
电子设备包括:存储器以及处理器,存储器用于存储执行上述各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。其中,这里的处理器可以称为下文所述的处理装置701,存储器可以包括下文中的只读存储器(ROM)702、随机访问存储器(RAM)703以及存储装置708中的至少一项,具体如下所示:
如图7所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储装置708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM703中,还存储有电子设备700操作所需的各种程序和数据。处理装置701、ROM 702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
通常,以下装置可以连接至I/O接口705:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置706;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置707;包括例如磁带、硬盘等的存储装置708;以及通信装置709。通信装置709可以允许电子设备700与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置709从网络上被下载和安装,或者从存储装置708被安装,或者从ROM 702被安装。在该计算机程序被处理装置701执行时,执行本申请实施例的方法中限定的上述功能。
需要说明的是,本申请上述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
接收至少一个消息发送请求,并确定各消息发送请求的请求类型;
对于每一消息发送请求,若请求类型为重要请求,则执行消息发送请求包含的执行步骤,并在执行步骤执行完成时输出对应的响应结果,若请求类型为次要请求,则将消息发送请求发送至预设消息队列并输出对应的响应结果,且当消息发送请求位于预设消息队列头部时,获取消息发送请求并执行消息发送请求包含的执行步骤。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一约束获取模块还可以被描述为“获取第一约束的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种消息发送请求处理方法,其特征在于,包括:
接收至少一个消息发送请求,并确定各消息发送请求的请求类型;
对于每一消息发送请求,若所述请求类型为重要请求,则执行所述消息发送请求包含的执行步骤,并在所述执行步骤执行完成时输出对应的响应结果,若所述请求类型为次要请求,则将所述消息发送请求发送至预设消息队列并输出对应的响应结果,且当所述消息发送请求位于所述预设消息队列头部时,获取所述消息发送请求并执行所述消息发送请求包含的执行步骤。
2.根据权利要求1中所述的方法,其特征在于,所述确定各消息发送请求的请求类型,包括:
若所述消息发送请求为用户发送,则确定所述消息发送请求的请求类型为重要请求;
若所述消息发送请求为系统发送且为普通消息发送请求,则确定所述消息发送请求的请求类型为重要请求;
若所述消息发送请求为系统发送且为运营消息发送请求,则确定所述消息发送请求的请求类型为次要请求。
3.根据权利要求1中所述的方法,其特征在于,所述执行所述消息发送请求包含的执行步骤,包括:
对于所述消息发送请求中的每一同步执行步骤,按照所述执行步骤的预设执行逻辑执行所述执行步骤;
对于所述消息发送请求中的每一异步执行步骤,通过调用预设协程函数按照所述执行步骤的预设执行逻辑执行所述执行步骤。
4.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
将所述预设消息队列中的各消息发送请求按照接收时刻的先后顺序由头至尾进行排序。
5.根据权利要求1或4中所述的方法,其特征在于,所述当所述消息发送请求位于所述预设消息队列头部时,获取所述消息发送请求,包括:
每隔一个预设时间间隔,接收预设应用程序发送的一个所述消息发送请求;其中,所述消息发送请求位于所述预设消息队列头部且被所述预设应用程序获取,且所述消息发送请求的请求类型被所述预设应用程序转换为重要请求。
6.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
在输出响应结果后,将所述响应结果发送至所述消息发送请求的发送方。
7.根据权利要求1中所述的方法,其特征在于,所述接收至少一个消息发送请求,包括:
通过预设网关接收所述至少一个消息发送请求。
8.一种消息发送请求处理装置,其特征在于,包括:
请求接收模块,用于接收至少一个消息发送请求,并确定各消息发送请求的请求类型;
请求处理模块,用于对于每一消息发送请求,若所述请求类型为重要请求,则执行所述消息发送请求包含的执行步骤,并在所述执行步骤执行完成时输出对应的响应结果,若所述请求类型为次要请求,则将所述消息发送请求发送至预设消息队列并输出对应的响应结果,且当所述消息发送请求位于所述预设消息队列头部时,获取所述消息发送请求并执行所述消息发送请求包含的执行步骤。
9.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1-7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
CN202310416548.3A 2023-04-18 2023-04-18 一种消息发送请求处理方法、装置、电子设备及存储介质 Pending CN116489116A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310416548.3A CN116489116A (zh) 2023-04-18 2023-04-18 一种消息发送请求处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310416548.3A CN116489116A (zh) 2023-04-18 2023-04-18 一种消息发送请求处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116489116A true CN116489116A (zh) 2023-07-25

Family

ID=87226284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310416548.3A Pending CN116489116A (zh) 2023-04-18 2023-04-18 一种消息发送请求处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116489116A (zh)

Similar Documents

Publication Publication Date Title
CN109523187B (zh) 任务调度方法、装置和设备
CN111931962B (zh) 信息展示方法、装置和电子设备
CN110781373B (zh) 榜单更新方法、装置、可读介质和电子设备
CN111432001B (zh) 用于跳转场景的方法、装置、电子设备和计算机可读介质
CN112379982B (zh) 任务处理方法、装置、电子设备及计算机可读存储介质
CN111309747A (zh) 数据同步方法、系统和装置
CN112015816A (zh) 数据同步方法、装置、介质及电子设备
CN110618768B (zh) 信息呈现方法和装置
CN111968648A (zh) 语音识别方法、装置、可读介质及电子设备
CN111309366B (zh) 一种管理注册核心的方法、装置、介质和电子设备
CN113220281A (zh) 一种信息生成方法、装置、终端设备及存储介质
CN111324470B (zh) 用于生成信息的方法及装置
CN110489219B (zh) 一种调度功能对象的方法、装置、介质和电子设备
CN111352872A (zh) 执行引擎、数据处理方法、装置、电子设备和介质
CN111444457B (zh) 数据发布方法、装置、存储介质及电子设备
CN116489116A (zh) 一种消息发送请求处理方法、装置、电子设备及存储介质
CN109933556B (zh) 用于处理信息的方法和装置
CN111538552A (zh) 礼物面板配置方法、装置、可读介质及电子设备
CN114651237A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN114513548B (zh) 定向调用信息处理方法及装置
CN110855767B (zh) 一种操作请求的响应方法、装置、设备和存储介质
US20240152504A1 (en) Data interaction method, apparatus, and electronic device
CN111400322B (zh) 用于存储数据的方法、装置、电子设备和介质
CN114253520B (zh) 接口代码生成方法和装置
CN111258670B (zh) 组件数据的管理方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination