CN112395103A - 延迟消息发送方法、装置及存储介质 - Google Patents
延迟消息发送方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112395103A CN112395103A CN202011205008.3A CN202011205008A CN112395103A CN 112395103 A CN112395103 A CN 112395103A CN 202011205008 A CN202011205008 A CN 202011205008A CN 112395103 A CN112395103 A CN 112395103A
- Authority
- CN
- China
- Prior art keywords
- target
- messages
- delay
- message
- candidate
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种延迟消息发送方法、装置及存储介质。在本申请实施例中,在监控到期望发送时间与当前时间匹配的目标主题时,对目标主题的单次发送的延迟消息的数量进行管控。这样,在目标主题为多个时,多个目标主题都有概率将期望发送时间到期的延迟消息发送出去。即使多个目标主题中有消息堆积的目标主题,也不会影响其他目标主题的延迟消息的正常发送,尽可能地避免消息堆积的主题对其他主题的消息吞吐量的影响。与此同时,存在消息堆积的目标主题也会持续地发送延迟消息,只是单次发送的延迟消息的数量受到约束。由此,能够很好地解决现有技术中消息堆积的主题会影响其他主题的消息吞吐量的技术问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种延迟消息发送方法、装置及存储介质。
背景技术
基于消息中间件技术,生产者所生成的消息可以被消费者消费。以消息中间件实现为消息队列为例,消息队列的消息传递模式一般包括点对点(point to point,PTP)模式和发布/订阅(Publish/Subscribe,Pub/Sub)模式。PTP模式的特点是一个生成者与一个消费者对应。Pub/Sub模式的特点是一个生产者产生消息并进行发送后,可以由多个消费者进行接收。
生产者把消息发送到消息队列中以后,并不期望被立即消费,而是等待指定时间后才可以被消费者消费,这类消息通常被称为延迟消息。每条消息都有一个主题(Topic),一个Topic可以有1个或多个生产者所发送的消息。目前,按照延迟消息的期望发送时间进行发送各条延迟消息。然而,若某个主题的延迟消息比较多,甚至出现堆积现象时,按照上述延迟消息的发送方式,很可能出现其他主题的延迟消息无法如期发送出去,影响其他主题的消息吞吐量。
发明内容
本申请的多个方面提供一种延迟消息发送方法、装置及存储介质,用以尽可能地避免消息堆积的主题对其他主题的消息吞吐量的影响。
本申请实施例提供一种延迟消息发送方法,包括:
监控多个主题中延迟消息的期望发送时间;
若监控到期望发送时间与当前时间匹配的目标主题,则从所述目标主题中的候选延迟消息中,分别选择不大于预设消息数量的目标延迟消息;
根据所述目标主题之间的先后顺序,依次发送所述目标主题中的目标延迟消息;其中,候选延迟消息是期望发送时间与当前时间匹配的延迟消息。
本申请实施例还提供一种延迟消息发送装置,包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
监控多个主题中延迟消息的期望发送时间;
若监控到期望发送时间与当前时间匹配的目标主题,则从所述目标主题中的候选延迟消息中,分别选择不大于预设消息数量的目标延迟消息;
根据所述目标主题之间的先后顺序,依次发送所述目标主题中的目标延迟消息;其中,候选延迟消息是期望发送时间与当前时间匹配的延迟消息。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器实现上述延迟消息发送方法中的步骤。
本申请实施例提供的延迟消息发送方法、装置及存储介质,在监控到期望发送时间与当前时间匹配的目标主题时,对目标主题的单次发送的延迟消息的数量进行管控。这样,在目标主题为多个时,多个目标主题都有概率将期望发送时间到期的延迟消息发送出去。即使多个目标主题中有消息堆积的目标主题,也不会影响其他目标主题的延迟消息的正常发送,尽可能地避免消息堆积的主题对其他主题的消息吞吐量的影响。与此同时,存在消息堆积的目标主题也会持续地发送延迟消息,只是单次发送的延迟消息的数量受到约束。由此,能够很好地解决现有技术中将一个主题中的延迟消息发送完毕后再发送其他主题的延迟消息的方式所导致的消息堆积的主题会影响其他主题的消息吞吐量的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的一种延迟消息发送方法的流程示意图;
图2为本申请一示例性实施例提供的一种延迟消息发送装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的一种延迟消息发送方法的流程示意图。如图1所示,该方法包括如下步骤:
步骤101、监控多个主题中延迟消息的期望发送时间。
步骤102、若监控到期望发送时间与当前时间匹配的目标主题,则从目标主题中的候选延迟消息中,分别选择不大于预设消息数量的目标延迟消息。
步骤103、根据目标主题之间的先后顺序,依次发送目标主题中的目标延迟消息;其中,候选延迟消息是期望发送时间与当前时间匹配的延迟消息。
在实际应用中,各个主题中可能有不同期望发送时间的延迟消息。相同期望发送时间的延时消息的延迟时间可能相同,也可能不同;不同期望发送时间的延时消息的延迟时间可能相同,也可能不同。在理想状态下,延迟消息应该在期望发送时间到达时发送到消费者侧。每个延迟消息的期望发送时间是由生产者生产该延迟消息的生产时间与该延迟消息的延迟时间相加得到的。
一般来说,生产者在生产每个延迟消息时,会直接或间接指定该延迟消息的延迟时间。例如,生产者会配置延迟消息的延迟等级,不同的延迟等级对应不同的延迟时间。例如,可配置的延迟级别有18种,分别是1s、5s、10s、30s、1m、2m、3m、4m、5m、6m、7m、8m、9m、10m、20m、30m、1h及2h,s对应的时间单位为秒,m对应的时间单位为分钟,h对应的时间单位为小时,d对应的时间单位为天。
在不同的应用场景中,消息的主题会有所不同。例如,针对电商系统,其消息的主题可以分为:交易消息、物流消息、客服消息等。不同主题可能会有相同期望发送时间的延迟消息,在主题的数量比较多时,若不加以调控,在一个主题出现消息堆积时,其他主题的延迟消息也会受到影响,无法如期发送出去,影响其他主题的消息吞吐量。
在本实施例中,实时监控各个主题中的延迟消息的期望发送时间,针对每个主题,若监控到该主题中存在期望发送时间早于或等于当前时间的延迟消息尚未向消费者发送,则该主题为期望发送时间与当前时间匹配的目标主题。在监控到目标主题时,对每次发送该主题的延迟消息的数量进行管控。
在实际应用中,目标主题的数量可能有一个或多个。显然,当目标主题的数量为多个时,每个目标主题都有相同的发送延迟消息的概率,这样即使存在消息堆积的目标主题,也不会影响其他目标主题的延迟消息的正常发送,与此同时,存在消息堆积的目标主题也会持续地发送延迟消息,只是单次发送的延迟消息的数量受到约束。
在本实施例中,对每个目标主题,单次只发送该主题的不大于预设消息数量的目标延迟消息,这些目标延迟消息时从属于该目标主题的期望发送时间与当前时间匹配的候选延迟消息中选择得到的。其中,预设消息数量根据大量的试验数据进行设置,预设消息数量可以理解为最多可允许发送的消息数量。也就是说,每个目标主题单次最多可发送预设消息数量的目标延迟消息。
例如,目标主题为目标主题1、目标主题2、目标主题3,在当前时间为08:00:01时,目标主题1中的候选延迟消息有500条,目标主题2中的候选延迟消息有50条,目标主题3中的候选延迟消息有80条。其中,目标主题1中的500条候选延迟消息中有450条的期望发送时间早于08:00:01,50条的期望发送时间为08:00:01。预设消息数量为100条,这时,从目标主题1的候选延迟消息中选择100条目标延迟消息进行发送,以及将目标主题2的50条候选延迟消息作为目标延迟消息进行发送,将目标主题3的80条候选延迟消息作为目标延迟消息进行发送。显然,出现堆积的目标主题1不会影响目标主题2、目标主题3的延迟消息的发送。另外,在当前时间更新为08:00:02,目标主题1依然是与08:00:02匹配的目标主题,在08:00:02继续发送目标主题1的延迟消息。
在一种可选的实施例中,在目标主题的数量为多个时,可以根据目标主题之间的优先级从高到低的顺序,依次发送目标主题中的目标延迟消息。优先级越高,目标主题中的目标延迟消息被安排发送的顺序越靠前,由此,尽可能地保证优先级较高的目标主题的延迟消息尽早发送出去。其中,目标主题之间的优先级根据实际情形进行制定。沿用上述电商系统的主题,可以根据各主题的重要性设置优先级,例如优先级从高到低的顺序为:交易消息、物流消息、客服消息。
本实施例提供的延迟消息发送方法,在监控到期望发送时间与当前时间匹配的目标主题时,对目标主题的单次发送的延迟消息的数量进行管控。这样,在目标主题为多个时,多个目标主题都有概率将期望发送时间到期的延迟消息发送出去。即使多个目标主题中有消息堆积的目标主题,也不会影响其他目标主题的延迟消息的正常发送,尽可能地避免消息堆积的主题对其他主题的消息吞吐量的影响。与此同时,存在消息堆积的目标主题也会持续地发送延迟消息,只是单次发送的延迟消息的数量受到约束。由此,能够很好地解决现有技术中将一个主题中的延迟消息发送完毕后再发送其他主题的延迟消息的方式所导致的消息堆积的主题会影响其他主题的消息吞吐量的技术问题。
在上述实施例的基础上,在监控多个主题中的延迟消息的期望发送时间时,可以将多个主题中的延迟消息的期望发送时间与当前时间进行比较;获取存在与当前时间相同或早于当前时间的期望发送时间的主题,作为目标主题。
在本实施例中,将存在与当前时间相同或早于当前时间的期望发送时间的主题作为期望发送时间与当前时间匹配的目标主题,这样,即使存在消息堆积的主题,该主题的延迟消息也能不断地发送出去,并不会终止对该主题的延迟消息的发送。
在上述实施例的基础上,从目标主题中的候选延迟消息中,分别选择不大于预设消息数量的目标延迟消息,可以包括:若目标主题中候选延迟消息的数量不大于预设消息数量,则将全部候选延迟消息作为目标延迟消息;若目标主题中候选延迟消息的数量大于预设消息数量,则按照候选延迟消息的期望发送时间,选择不大于预设消息数量的目标延迟消息。
在实际应用中,目标主题中候选延迟消息的数量可能不大于预设消息数量,也可能大于预设消息数量。若该目标主题的候选延迟消息不大于预设消息数量时,则该目标主题的候选延迟消息全部作为目标延迟消息。若该目标主题的候选延迟消息大于预设消息数量时,则该目标主题的候选延迟消息中部分作为目标延迟消息。
在目标主题的候选延迟消息大于预设消息数量时,可以候选延迟消息的期望发送时间由早到晚的顺序,从中选择期望发送时间最早的不大于预设消息数量的目标延迟消息,也可以选择期望发送时间最晚的不大于预设消息数量的目标延迟消息。
进一步的,还可以结合候选延迟消息的期望发送时间和延迟等级进行目标延迟消息的选择操作。具体而言,按照候选延迟消息的期望发送时间由早到晚的顺序,依次从每个期望发送时间对应的候选延迟消息中选择目标延迟消息,直到达到预设消息数量;对于最后被选择的期望发送时间,若该期望发送时间对应的候选延迟消息的数量大于还需选择的目标延迟消息的数量,按照候选延迟消息的延迟等级由低到高的顺序,从中选择目标延迟消息。
在本实施例中,延迟时间的长短能够反映系统对延迟消息被拖延发送的容忍度。延迟等级越低,延迟时间越短,对应的延迟消息越需要尽早发送出去,系统对该延迟消息的容忍度较低,即系统越不能够容忍对应的延迟消息被拖延发送。延迟等级越高,延迟时间越长,对应的延迟消息越不需要尽早发送出去,系统对该延迟消息的容忍度较高,即系统越能够容忍对应的延迟消息被拖延发送。因此,在选择目标延迟消息时,结合延迟等级可以优先选出需要尽早发送出去的目标延迟消息。
沿用上例,在当前时间为08:00:01时,某个目标主题中的候选延迟消息有110条,预设消息数量为100条。其中,50条的期望发送时间早于08:00:01,60条的期望发送时间为08:00:01,在60条候选延迟消息中,延迟等级1对应的延迟时间为1秒的延迟消息有10条,延迟等级2对应的延迟时间为5秒的延迟消息有30条,延迟等级3对应的延迟时间为5秒的延迟消息有20条。
在选择100条目标延迟消息时,首先,将期望发送时间早于08:00:01的50条候选延迟消息选择为目标延迟消息;接着,从期望发送时间为08:00:01的60条中选择延迟等级最低的50条(包括延迟等级1对应的10条,延迟等级2对应的30条,延迟等级3对应的10条)作为目标延迟消息,凑足100条目标延迟消息。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤103的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A,步骤103的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图2为本申请一示例性实施例提供的一种延迟消息发送装置的结构示意图。如图2所示,该装置包括:包括:存储器11和处理器12。
存储器11,用于存储计算机程序,并可被配置为存储其它各种数据以支持在处理器上的操作。这些数据的示例包括用于在处理器上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器11可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器12,与存储器11耦合,用于执行存储器11中的计算机程序,以用于:
监控多个主题中延迟消息的期望发送时间;
若监控到期望发送时间与当前时间匹配的目标主题,则从目标主题中的候选延迟消息中,分别选择不大于预设消息数量的目标延迟消息;
根据目标主题之间的先后顺序,依次发送目标主题中的目标延迟消息;其中,候选延迟消息是期望发送时间与当前时间匹配的延迟消息。
进一步的,处理器12在选择目标主题时,具体用于:
将多个主题中的延迟消息的期望发送时间与当前时间进行比较;
获取存在与当前时间相同或早于当前时间的期望发送时间的主题,作为目标主题。
进一步的,处理器12在选择目标延迟消息时,具体用于:若目标主题中候选延迟消息的数量不大于预设消息数量,则将全部候选延迟消息作为目标延迟消息;若目标主题中候选延迟消息的数量大于预设消息数量,则按照候选延迟消息的期望发送时间,选择不大于预设消息数量的目标延迟消息。
进一步的,处理器12在按照候选延迟消息的期望发送时间,选择不大于预设消息数量的目标延迟消息目标延迟消息时,具体用于:
按照候选延迟消息的期望发送时间由早到晚的顺序,从中选择不大于预设消息数量的目标延迟消息。
进一步的,处理器12在按照候选延迟消息的期望发送时间由早到晚的顺序,从中选择不大于预设消息数量的目标延迟消息时,具体用于:
按照候选延迟消息的期望发送时间由早到晚的顺序,依次从每个期望发送时间对应的候选延迟消息中选择目标延迟消息,直到达到预设消息数量;
对于最后被选择的期望发送时间,若该期望发送时间对应的候选延迟消息的数量大于还需选择的目标延迟消息的数量,按照候选延迟消息的延迟等级由高到低的顺序,从中选择目标延迟消息。
进一步的,处理器12在发送目标主题中的目标延迟消息时,具体用于:
根据目标主题之间的优先级从高到低的顺序,依次发送目标主题中的目标延迟消息。
图2所示装置可以执行上述实施例的方法,本实施例未详细描述的部分,可参考对上述实施例的相关说明。该技术方案的执行过程和技术效果参见上述实施例中的描述,在此不再赘述。
进一步,如图2所示,该装置还包括:通信组件13、显示器14、电源组件15、音频组件16等其它组件。图2中仅示意性给出部分组件,并不意味着处理器只包括图2所示组件。另外,图2中虚线框所示组件为可选组件,而非必选组件,具体可视延迟消息发送装置的具体实现形态而定。如果延迟消息发送装置实现为笔记本电脑、平板、手机等终端设备,则可以包含图2中虚线框所示组件;如果延迟消息发送装置实现为常规服务器、云服务器或服务器阵列等服务端设备,则不包含图2中虚线框所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由处理器执行的各步骤。
上述图2中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图2中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述图2中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图2中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种延迟消息发送方法,其特征在于,包括:
监控多个主题中延迟消息的期望发送时间;
若监控到期望发送时间与当前时间匹配的目标主题,则从所述目标主题中的候选延迟消息中,分别选择不大于预设消息数量的目标延迟消息;
根据所述目标主题之间的先后顺序,依次发送所述目标主题中的目标延迟消息;其中,候选延迟消息是期望发送时间与当前时间匹配的延迟消息。
2.根据权利要求1所述的方法,其特征在于,还包括:
将所述多个主题中的延迟消息的期望发送时间与当前时间进行比较;
获取存在与当前时间相同或早于当前时间的期望发送时间的主题,作为目标主题。
3.根据权利要求1所述的方法,其特征在于,从所述目标主题中的候选延迟消息中,分别选择不大于预设消息数量的目标延迟消息,包括:
若所述目标主题中候选延迟消息的数量不大于预设消息数量,则将全部候选延迟消息作为目标延迟消息;
若所述目标主题中候选延迟消息的数量大于预设消息数量,则按照候选延迟消息的期望发送时间,选择不大于预设消息数量的目标延迟消息。
4.根据权利要求3所述的方法,其特征在于,按照候选延迟消息的期望发送时间,选择不大于预设消息数量的目标延迟消息,包括:
按照候选延迟消息的期望发送时间由早到晚的顺序,从中选择不大于预设消息数量的目标延迟消息。
5.根据权利要求4所述的方法,其特征在于,按照候选延迟消息的期望发送时间由早到晚的顺序,从中选择不大于预设消息数量的目标延迟消息,包括:
按照候选延迟消息的期望发送时间由早到晚的顺序,依次从每个期望发送时间对应的候选延迟消息中选择目标延迟消息,直到达到预设消息数量;
对于最后被选择的期望发送时间,若该期望发送时间对应的候选延迟消息的数量大于还需选择的目标延迟消息的数量,按照候选延迟消息的延迟等级由高到低的顺序,从中选择目标延迟消息。
6.根据权利要求1至5任一项所述的方法,其特征在于,根据所述目标主题之间的先后顺序,依次发送所述目标主题中的目标延迟消息,包括:
根据所述目标主题之间的优先级从高到低的顺序,依次发送所述目标主题中的目标延迟消息。
7.一种延迟消息发送装置,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
监控多个主题中延迟消息的期望发送时间;
若监控到期望发送时间与当前时间匹配的目标主题,则从所述目标主题中的候选延迟消息中,分别选择不大于预设消息数量的目标延迟消息;
根据所述目标主题之间的先后顺序,依次发送所述目标主题中的目标延迟消息;其中,候选延迟消息是期望发送时间与当前时间匹配的延迟消息。
8.根据权利要求7所述的装置,其特征在于,所述处理器在选择目标主题时,具体用于:
将所述多个主题中的延迟消息的期望发送时间与当前时间进行比较;
获取存在与当前时间相同或早于当前时间的期望发送时间的主题,作为目标主题。
9.根据权利要求7所述的装置,其特征在于,所述处理器在选择目标延迟消息时,具体用于:
若所述目标主题中候选延迟消息的数量不大于预设消息数量,则将全部候选延迟消息作为目标延迟消息;
若所述目标主题中候选延迟消息的数量大于预设消息数量,则按照候选延迟消息的期望发送时间,选择不大于预设消息数量的目标延迟消息。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器实现权利要求1-6任一项所述方法中的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011205008.3A CN112395103B (zh) | 2020-11-02 | 2020-11-02 | 延迟消息发送方法、装置及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011205008.3A CN112395103B (zh) | 2020-11-02 | 2020-11-02 | 延迟消息发送方法、装置及存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN112395103A true CN112395103A (zh) | 2021-02-23 |
| CN112395103B CN112395103B (zh) | 2022-09-13 |
Family
ID=74597733
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202011205008.3A Active CN112395103B (zh) | 2020-11-02 | 2020-11-02 | 延迟消息发送方法、装置及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN112395103B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113259195A (zh) * | 2021-05-10 | 2021-08-13 | 中国人民解放军63660部队 | 一种消息中间件性能测试方法 |
Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110225229A1 (en) * | 2010-03-11 | 2011-09-15 | Yahoo! Inc. | Distributed publish/subscribe system |
| US20120331030A1 (en) * | 2011-06-27 | 2012-12-27 | International Business Machines Corporation | Configurable pacing for messaging systems |
| US20150039734A1 (en) * | 2013-08-05 | 2015-02-05 | The Trustees Of The University Of Pennsylvania | Methods, systems, and computer readable media for enabling real-time guarantees in publish-subscribe middleware using dynamically reconfigurable networks |
| US20150120852A1 (en) * | 2013-10-28 | 2015-04-30 | International Business Machines Corporation | Subscriber based priority of messages in a publisher-subscriber domain |
| US9674131B1 (en) * | 2015-12-04 | 2017-06-06 | International Business Machines Corporation | Message delivery system |
| CN107197015A (zh) * | 2017-05-23 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种基于消息队列系统的消息处理方法和装置 |
| CN107509119A (zh) * | 2017-07-11 | 2017-12-22 | 北京潘达互娱科技有限公司 | 一种监控报警方法与装置 |
| CN107888499A (zh) * | 2017-11-17 | 2018-04-06 | 北京邮电大学 | 一种基于sdn的发布订阅系统及消息转发方法 |
| EP3331202A1 (en) * | 2016-04-15 | 2018-06-06 | Huawei Technologies Co., Ltd. | Message presentation method, device, and system |
| CN109560976A (zh) * | 2017-09-25 | 2019-04-02 | 北京国双科技有限公司 | 一种消息延迟的监控方法及装置 |
| US20190163545A1 (en) * | 2017-11-30 | 2019-05-30 | Oracle International Corporation | Messages with delayed delivery in an in-database sharded queue |
| US10313257B1 (en) * | 2014-06-12 | 2019-06-04 | Tripwire, Inc. | Agent message delivery fairness |
-
2020
- 2020-11-02 CN CN202011205008.3A patent/CN112395103B/zh active Active
Patent Citations (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110225229A1 (en) * | 2010-03-11 | 2011-09-15 | Yahoo! Inc. | Distributed publish/subscribe system |
| US20120331030A1 (en) * | 2011-06-27 | 2012-12-27 | International Business Machines Corporation | Configurable pacing for messaging systems |
| US20150039734A1 (en) * | 2013-08-05 | 2015-02-05 | The Trustees Of The University Of Pennsylvania | Methods, systems, and computer readable media for enabling real-time guarantees in publish-subscribe middleware using dynamically reconfigurable networks |
| US20150120852A1 (en) * | 2013-10-28 | 2015-04-30 | International Business Machines Corporation | Subscriber based priority of messages in a publisher-subscriber domain |
| US10313257B1 (en) * | 2014-06-12 | 2019-06-04 | Tripwire, Inc. | Agent message delivery fairness |
| US9674131B1 (en) * | 2015-12-04 | 2017-06-06 | International Business Machines Corporation | Message delivery system |
| EP3331202A1 (en) * | 2016-04-15 | 2018-06-06 | Huawei Technologies Co., Ltd. | Message presentation method, device, and system |
| CN107197015A (zh) * | 2017-05-23 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种基于消息队列系统的消息处理方法和装置 |
| CN107509119A (zh) * | 2017-07-11 | 2017-12-22 | 北京潘达互娱科技有限公司 | 一种监控报警方法与装置 |
| CN109560976A (zh) * | 2017-09-25 | 2019-04-02 | 北京国双科技有限公司 | 一种消息延迟的监控方法及装置 |
| CN107888499A (zh) * | 2017-11-17 | 2018-04-06 | 北京邮电大学 | 一种基于sdn的发布订阅系统及消息转发方法 |
| US20190163545A1 (en) * | 2017-11-30 | 2019-05-30 | Oracle International Corporation | Messages with delayed delivery in an in-database sharded queue |
Non-Patent Citations (2)
| Title |
|---|
| 刘子晨: ""基于Tair/Redis的延迟队列系统的设计与实现"", 《中国优秀博硕学位论文全文数据库(硕士)信息科技辑》 * |
| 朱方娥等: "基于JMS的消息队列中间件的研究与实现", 《计算机技术与发展》 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113259195A (zh) * | 2021-05-10 | 2021-08-13 | 中国人民解放军63660部队 | 一种消息中间件性能测试方法 |
| CN113259195B (zh) * | 2021-05-10 | 2022-07-05 | 中国人民解放军63660部队 | 一种消息中间件性能测试方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112395103B (zh) | 2022-09-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10491535B2 (en) | Adaptive data synchronization | |
| KR101723203B1 (ko) | 통신 네트워크 내의 모바일 디바이스로의 애플리케이션 데이터의 전송 제어를 위한 장치 및 방법 | |
| CN113301075B (zh) | 流量控制方法、分布式系统、设备及存储介质 | |
| CN111782470A (zh) | 分布式容器日志数据处理方法及装置 | |
| WO2018033463A1 (en) | A method for predicting the engagement level of a user of a user device, a related engagement prediction device and user device | |
| CN109412821A (zh) | 消息处理方法和装置以及电子设备 | |
| CN113301076B (zh) | 流量控制方法、分布式系统、设备及存储介质 | |
| CN104253872A (zh) | 信息同步更新方法、系统和终端 | |
| CN112395103B (zh) | 延迟消息发送方法、装置及存储介质 | |
| CN115086234B (zh) | 消息处理方法及系统、设备及存储介质 | |
| CN113806656B (zh) | 确定用户的特征的方法、设备及计算机可读介质 | |
| EP3975598A1 (en) | Method, apparatus, and device for subscribing resources in field of internet of things, and storage medium | |
| CN112734545A (zh) | 区块链数据共享方法、装置及系统 | |
| CN112905358A (zh) | 分布式系统的软件分发方法、装置及系统 | |
| CN112396511A (zh) | 分布式风控变量数据处理方法、装置及系统 | |
| US20150236987A1 (en) | Device, method and non-transitory computer readable storage medium for performing instant message communication | |
| CN113268272B (zh) | 基于私有云的应用交付方法、装置及系统 | |
| CN113885969A (zh) | 嵌入式设备、嵌入式软件加载方法与存储介质 | |
| CN119376659B (zh) | 标签管理方法、数据读写方法、系统、设备、介质和产品 | |
| CN116962496A (zh) | 搜索服务框架及搜索服务请求处理、服务隔离方法和设备 | |
| CN113342501B (zh) | 系统故障处理方法及装置 | |
| CN112565173B (zh) | 用于消息处理的方法和装置 | |
| EP4668840A1 (en) | Small data transmission (sdt) method and apparatus | |
| CN113490018A (zh) | 一种广告播放方法、播放端、管理端及存储介质 | |
| CN112346883A (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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |