CN115529288B - 一种消息推送的方法、装置、计算机设备 - Google Patents
一种消息推送的方法、装置、计算机设备 Download PDFInfo
- Publication number
- CN115529288B CN115529288B CN202211150418.1A CN202211150418A CN115529288B CN 115529288 B CN115529288 B CN 115529288B CN 202211150418 A CN202211150418 A CN 202211150418A CN 115529288 B CN115529288 B CN 115529288B
- Authority
- CN
- China
- Prior art keywords
- delay
- message
- instant
- notification
- theme
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000004806 packaging method and process Methods 0.000 claims abstract description 5
- 230000003111 delayed effect Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 240000008042 Zea mays Species 0.000 description 1
- 235000005824 Zea mays ssp. parviglumis Nutrition 0.000 description 1
- 235000002017 Zea mays subsp mays Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 235000005822 corn Nutrition 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种消息推送方法。所述方法包括:接收待推送消息的身份标识;判断所述消息的参数是否包含延时通知规则:如果所述消息的参数包含所述延时通知规则,将所述消息的延时通知输入至延时主题,利用定时服务工具获取所述延时主题的延时通知,将所述延时通知封装成延时通知规则对象,存储至数据库中;将所述消息的身份标识、时间信息存储至延时队列;根据预设时间查询延时队列中的时间信息,当所述消息的时间信息符合触发时间,根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题。采用本方法能够同时推送即时通知和延时通知。
Description
技术领域
本申请涉及即时通信领域,特别是涉及一种消息推送的方法、装置、计算机设备。
背景技术
随着即时通信领域技术的发展,除了文本消息沟通、音频交流、文件传输等功能,还会通过服务号进行消息推送。
相关技术中,业务方会调用软件已有的消息推送接口推送消息。但是,依靠推送接口满足不同的推送需求,不仅增加了业务方的消息推送压力,而且对开发人员的能力要求较高。在消息推送接口更新时,所有接入消息推送接口的业务方代码都需要重新调整,增加了成本。
发明内容
基于此,有必要针对上述技术问题,提供了一种消息推送的方法、装置、计算机设备,可以同时推送即时通知和延时通知。
第一方面,本申请提供了一种消息推送方法。所述方法包括:
接收待推送的消息的身份标识;
若所述消息的参数包含延时通知规则,则将所述消息的延时通知输入至数据库中的延时主题,利用定时服务工具获取所述延时主题的延时通知,将所述延时通知封装成延时通知规则对象,存储至数据库中;
将所述消息的身份标识、时间信息存储至延时队列;
根据预设时间查询延时队列中的时间信息,当所述消息的时间信息符合触发时间时,根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题。
在其中一个实施例中,在所述接收待推送的消息的身份标识,之后还包括:若所述消息的参数不包含延时通知规则,则将所述消息的即时通知输入至即时主题,将推送工具获取的即时主题的即时通知传输给目标对象。
在其中一个实施例中,在所述若所述消息的参数包含所述延时通知规则,之后还包括:
读取所述延时通知规则中的触发参数,如果触发参数为正确,创建所述消息的即时通知,将即时通知输入至即时主题。
在其中一个实施例中,在所述根据预设时间查询延时队列中的时间信息,之后还包括:
根据所述消息的身份标识查询对应的延时通知规则,如果延时通知规则对应的触发时间大于当前时间,将所述消息的身份标识、修改后的时间信息存储至延时队列;
如果延时通知规则对应的触发时间小于当前时间,根据通知时间更新延时通知规则。
在其中一个实施例中,所述根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题包括:
根据所述消息的身份标识查询延时通知规则,如果延时通知规则不存在,结束消息推送;如果延时通知规则存在,将数据库中的延时通知规则对象传输至即时主题。
在其中一个实施例中,将所述消息的即时通知输入至即时主题包括:
根据确认机制确认即时通知,如果即时通知不存在,结束消息推送;如果即时通知存在,将推送工具获取的即时主题的即时通知传输给目标对象。
第二方面,本申请还提供了一种消息推送装置,所述装置包括:
接收模块,用于接收待推送的消息的身份标识;
判断模块,若所述消息的参数包含延时通知规则,则将所述消息的延时通知输入至数据库中的延时主题,利用定时服务工具获取所述延时主题的延时通知,将所述延时通知封装成延时通知规则对象,存储至数据库中;
延时模块,用于将所述消息的身份标识、时间信息存储至延时队列;
即时模块,用于根据预设时间查询延时队列中的时间信息,当所述消息的时间信息符合触发时间时,根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题。
在其中一个实施例中,在所述接收待推送的消息的身份标识,之后还包括:
若所述消息的参数不包含延时通知规则,将所述消息的即时通知输入至即时主题,将推送工具获取的即时主题的即时通知传输给目标对象。
在其中一个实施例中,在所述若所述消息的参数包含所述延时通知规则,之后还包括:
读取所述延时通知规则中的触发参数,如果触发参数为正确,创建所述消息的即时通知,将即时通知输入至即时主题。
在其中一个实施例中,在所述根据预设时间查询延时队列中的时间信息,之后还包括:
根据所述消息的身份标识查询对应的延时通知规则,如果延时通知规则对应的触发时间大于当前时间,将所述消息的身份标识、修改后的时间信息存储至延时队列;
如果延时通知规则对应的触发时间小于当前时间,根据通知时间更新延时通知规则。
在其中一个实施例中,所述根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题包括:
根据所述消息的身份标识查询延时通知规则,如果延时通知规则不存在,结束消息推送;如果延时通知规则存在,将数据库中的延时通知规则对象传输至即时主题。
在其中一个实施例中,将所述消息的即时通知输入至即时主题包括:
根据确认机制确认即时通知,如果即时通知不存在,结束消息推送;如果即时通知存在,将推送工具获取的即时主题的即时通知传输给目标对象。
第三方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现消息推送方法的步骤。
第四方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现消息推送方法的步骤。
第五方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现消息推送方法的步骤。
上述消息推送方法,至少包括以下有益效果:
本公开提供的实施例方案,可以通过消息的参数是否包含延时通知规则选择将消息发送至延时主题或即时主题。如果消息的参数包含延时通知规则,将消息的身份标识、时间信息存储至延时队列,定期查询延时队列中的时间信息,将符合触发时间的消息发送至即时主题。具备同时处理即时通知、延时通知推送的能力,并且延时通知到期之后,可以将延时通知转成即时通知,用于发送。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本公开实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中消息推送方法的应用环境图;
图2为一个实施例中消息推送方法的流程示意图;
图3为一个实施例中消息推送方法的流程示意图;
图4为一个实施例中消息推送方法的流程示意图;
图5为一个实施例中消息推送方法的流程示意图;
图6为一个实施例中消息推送方法的流程示意图;
图7为一个实施例中服务号消息推送流程图;
图8为一个实施例中消息推送装置的结构框图;
图9为一个实施例中计算机设备的内部结构图;
图10为一个实施例中一种服务器的内部结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本公开实施例提供一种消息推送方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在本公开的一些实施例中,如图2所示,提供了一种消息推送方法,以该方法应用于图1中的服务器对待推送的消息进行处理为例进行说明。可以理解的是,该方法可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。具体的一个实施例中,所述方法可以包括以下步骤:
S202:接收待推送的消息的身份标识。
待推送消息的身份标识可由接口生成。接口可以是即时接口,也可以是延时接口,根据待推送的消息类型确定。接口的作用可以是根据消息参数中有无延时通知规则,可以将消息写入到即时主题或延时主题,并生成待推送的消息的身份标识。待推送的消息的身份标识可以由线程哈希值、当前13位时间戳以及自增长变量组成。哈希值可以用于对待推送的消息加密,时间戳可以用于对待推送消息产生的时间进行认证,从而验证待推送消息在产生后是否经过修改,自增长变量可以用于记录待推送的消息的调用次数。
S204:若所述消息的参数包含延时通知规则,则将所述消息的延时通知输入至数据库中的延时主题,利用定时服务工具获取所述延时主题的延时通知,将所述延时通知封装成延通知时规则对象,存储至数据库中。
待推送消息的参数可以包含消息的内容、接收者的身份标识、延时通知规则等。延时通知规则可以用于判断待推送消息是否需要延时。延时通知可以包括待推送消息需要延时、消息内容以及消息发送时间。延时主题可以用于存放延时通知。延时通知规则对象可以包括消息内容以及延时通知规则。
在本公开的实施例中,可以判断待推送消息的参数是否包含延时通知规则,如果待推送消息的参数包含延时通知规则,说明待推送消息需要延时发送。可以将延时通知输入至延时主题,延时主题中可以存储多个延时通知。可以使用定时服务工具查询延时主题中是否存在新的延时通知,可以将新的延时通知封装成延时通知规则对象,存储至数据库中。
S206:将所述消息的身份标识、时间信息存储至延时队列;
时间信息可以包括当前的时间值和消息发送的时间值。延时队列可以根据时间信息对待推送消息排序,便于后续根据时间信息调用存储于延时队列中的消息的身份标识,不需要反复对比当前的时间值和消息发送的时间值。可以避免在延时任务较多、延时任务执行频率较低的情况下,执行任务的时间不够精确。
S208:根据预设时间查询延时队列中的时间信息,当所述消息的时间信息符合触发时间时,根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题。
预设时间可以是根据时间信息设置的小于消息发送时间值的时间,也可以是设置的定期查询的时间,可以保障提前获取延时队列中需要发送的消息。触发时间可以设置为小于消息发送时间值的时间点,也可以是一个时间段,可以保障在即时主题中的消息过多的情况下,消息不会滞后发送。即时主题可以用于存储超过触发时间的消息。
在本公开的一些实施例中,可以根据预设时间查询延时队列中的时间信息,如果延时队列中的部分时间信息符合触发时间,可以说明符合触发时间的部分消息需要发送。延时队列中包括消息的身份标识、时间信息,通过时间信息找到对应的身份标识。利用身份标识找到存储于数据库中的延时通知规则对象,传输至即时主题。
上述消息推送方法中,根据待推送消息的参数是否包含延时通知规则,可以将待推送消息输入不同的主题。如果待推送消息的参数包含延时通知规则,可以将延时通知封装成延时通知规则对象存储至数据库中,待推送消息的身份标识、时间信息存储至延时队列。定期查询延时队列中的时间信息,可以将符合要求的待推送消息传输至即时主题。
在本公开的一些实施例中,如图3所示,在所述接收待推送的消息的身份标识,之后还包括:
S302:若所述消息的参数不包含延时通知规则,则将所述消息的即时通知输入至即时主题,将推送工具获取的即时主题的即时通知传输给目标对象。
在本公开的实施例中,即时通知可以包括消息内容以及立即推送的标签。如果消息的参数不包含延时通知规则,可以说明消息不需要延时发送,可以直接将消息的即时通知输入至即时主题。在即时主题中包含即时通知的情况下,推送工具可以获取即时主题的即时通知传输给目标对象。
在本公开的一些实施例中,如图4所示,在所述若所述消息的参数包含所述延时通知规则,之后还包括:
读取延时通知规则中的触发参数,如果触发参数为正确,创建所述消息的即时通知,将即时通知输入至即时主题。
在判断消息的参数包含延时通知规则的情况下,可以将消息的延时通知输入至延时主题。在将消息的延时通知输入至延时主题前,可以再次对延时通知规则进行判断。在创建延时通知的过程中,可能会对消息的参数做出修改,可以再次判断消息参数中延时通知规则是否包含触发参数,触发参数用于标记是否当前发送一次通知。如果延时通知规则中不包含触发参数,可以将延时通知输入至延时主题。如果触发参数为正确,可以创建消息的即时通知,将即时通知输入至即时主题。
在本公开的一些实施例中,如图5所示,在所述根据预设时间查询延时队列中的时间信息,之后还包括:根据所述消息的身份标识查询对应的延时通知规则,如果延时通知规则对应的触发时间大于当前时间,将所述消息的身份标识、修改后的时间信息存储至延时队列;如果延时通知规则对应的触发时间小于当前时间,根据通知时间更新延时通知规则。
在本公开的实施例中,延时队列中可以包含消息的身份标识、时间信息,根据延时队列中的身份标识查询对应的延时通知规则。如果延时通知规则对应的触发时间大于当前时间,说明消息不需要即刻发送。时间信息中可以包含触发时间、当前时间、触发时间与当前时间的时间间隔,对时间信息做出修改得到修改后的时间信息。将消息的身份标识、修改后的时间信息存储至延时队列,替换延时队列中的时间信息。如果延时通知规则对应的触发时间小于当前时间,说明消息需要即刻发送。触发时间可以是小于通知时间的时间点,通知时间可以是消息需要发送的时间,可以根据通知时间更新延时通知规则,重新制定触发时间。
在本公开的一些实施例中,所述根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题包括:根据所述消息的身份标识查询延时通知规则,如果延时通知规则不存在,结束消息推送;如果延时通知规则存在,将数据库中的延时通知规则对象传输至即时主题。
在本公开的实施例中,在延时通知存放在延时主题的情况下,需要根据预设时间查询延时队列中的时间信息。当消息的时间信息符合触发时间,根据延时队列中消息的身份标识查询延时通知规则,如果延时通知规则为空,可以表示消息被删除,结束消息推送。如果延时通知规则存在,可以将数据库中的延时通知规则对象传输至即时主题。
在本公开的一些实施例中,如图6所示,将所述消息的即时通知输入至即时主题包括:
根据确认机制确认即时通知,如果即时通知不存在,结束消息推送;如果即时通知存在,将推送工具获取的即时主题的即时通知传输给目标对象。
在本公开的实施例中,即时通知可以包括消息内容以及立即推送的标签,如果确认机制(ack机制)在确认即时通知是否需要发送时,即时通知为空,说明消息可能被删除,可以结束消息推送。如果即时通知不为空,可以将推送工具获取的即时主题的即时通知传输给目标对象。
如图7所示,为一个实施例中服务号消息推送流程图。即时通讯软件是可以通过即时通讯技术实现在线聊天、交流的软件,具有文本消息沟通、音频/视频交流及文件传输等功能。消息中间件(Kafka)是一个分布式消息发布和订阅系统,具有高性能及高吞吐量等特性,可以用于实时数据处理。接收服务(receiver)可以用于提供服务号消息推送的接口。定时任务(corn)可以用于监听延时主题中的消息。推送服务(pusher)可以用于推送存入即时主题中的新消息。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的针对消息推送方法的消息推送装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的消息推送装置实施例中的具体限定可以参见上文中对于消息推送方法的限定,在此不再赘述。
所述装置可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本公开实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在一个实施例中,如图8所示,提供了一种消息推送装置800,所述装置可以为前述服务器,或者集成于所述服务器的模块、组件、器件、单元等。该装置800可以包括:
接收模块802,用于接收待推送的消息的身份标识;
判断模块804,用于若所述消息的参数包含延时通知规则,则将所述消息的延时通知输入至数据库中的延时主题,利用定时服务工具获取所述延时主题的延时通知,将所述延时通知封装成延时通知规则对象,存储至数据库中;
延时模块806,用于将所述消息的身份标识、时间信息存储至延时队列;
即时模块808,用于根据预设时间查询延时队列中的时间信息,当所述消息的时间信息符合触发时间时,根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题。
在一个实施例中,在所述接收待推送的消息的身份标识,之后还包括:
若所述消息的参数不包含延时通知规则,将所述消息的即时通知输入至即时主题,将推送工具获取的即时主题的即时通知传输给目标对象。
在一个实施例中,在所述若所述消息的参数包含所述延时通知规则,之后还包括:
读取所述延时通知规则中的触发参数,如果触发参数为正确,创建所述消息的即时通知,将即时通知输入至即时主题。
在一个实施例中,在所述根据预设时间查询延时队列中的时间信息,之后还包括:
根据所述消息的身份标识查询对应的延时通知规则,如果延时通知规则对应的触发时间大于当前时间,将所述消息的身份标识、修改后的时间信息存储至延时队列;
如果延时通知规则对应的触发时间小于当前时间,根据通知时间更新延时通知规则。
在一个实施例中,所述根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题包括:
根据所述消息的身份标识查询延时通知规则,如果延时通知规则不存在,结束消息推送;如果延时通知规则存在,将数据库中的延时通知规则对象传输至即时主题。
在一个实施例中,将所述消息的即时通知输入至即时主题包括:
根据确认机制确认即时通知,如果即时通知不存在,结束消息推送;如果即时通知存在,将推送工具获取的即时主题的即时通知传输给目标对象。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
上述针对消息推送装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储消息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种消息推送方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现消息推送方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9、图10中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本公开任一实施例所述的方法。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开任一实施例所述的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本公开所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本公开所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本公开专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开的保护范围应以所附权利要求为准。
Claims (12)
1.一种消息推送方法,其特征在于,所述方法包括:
接收待推送的消息的身份标识;
若所述消息的参数包含延时通知规则,则将所述消息的延时通知输入至数据库中的延时主题;
读取所述延时通知规则中的触发参数,如果触发参数为正确,创建所述消息的即时通知,将即时通知输入至即时主题;
利用定时服务工具获取所述延时主题的延时通知,将所述延时通知封装成延时通知规则对象,存储至数据库中;
将所述消息的身份标识、时间信息存储至延时队列;所述延时队列基于所述时间信息对待推送消息排序,用于根据时间信息获取存储于延时队列中消息的身份标识;
根据预设时间查询延时队列中的时间信息,当所述消息的时间信息符合触发时间时,根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题。
2.根据权利要求1所述的方法,其特征在于,在所述接收待推送的消息的身份标识,之后还包括:
若所述消息的参数不包含延时通知规则,则将所述消息的即时通知输入至即时主题,将推送工具获取的即时主题的即时通知传输给目标对象。
3.根据权利要求1所述的方法,其特征在于,在所述根据预设时间查询延时队列中的时间信息,之后还包括:
根据所述消息的身份标识查询对应的延时通知规则,如果延时通知规则对应的触发时间大于当前时间,将所述消息的身份标识、修改后的时间信息存储至延时队列;
如果延时通知规则对应的触发时间小于当前时间,根据通知时间更新延时通知规则。
4.根据权利要求1所述的方法,其特征在于,所述根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题包括:
根据所述消息的身份标识查询延时通知规则,如果延时通知规则不存在,结束消息推送;
如果延时通知规则存在,将数据库中的延时通知规则对象传输至即时主题。
5.根据权利要求1所述的方法,其特征在于,将所述消息的即时通知输入至即时主题包括:
根据确认机制确认即时通知,如果即时通知不存在,结束消息推送;如果即时通知存在,将推送工具获取的即时主题的即时通知传输给目标对象。
6.一种消息推送装置,其特征在于,所述装置包括:
接收模块,用于接收待推送的消息的身份标识;
判断模块,若所述消息的参数包含延时通知规则,则将所述消息的延时通知输入至数据库中的延时主题;
读取所述延时通知规则中的触发参数,如果触发参数为正确,创建所述消息的即时通知,将即时通知输入至即时主题;
利用定时服务工具获取所述延时主题的延时通知,将所述延时通知封装成延时通知规则对象,存储至数据库中;
延时模块,用于将所述消息的身份标识、时间信息存储至延时队列;所述延时队列基于所述时间信息对待推送消息排序,用于根据时间信息获取存储于延时队列中消息的身份标识;
即时模块,用于根据预设时间查询延时队列中的时间信息,当所述消息的时间信息符合触发时间时,根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题。
7.根据权利要求6所述的装置,其特征在于,在所述接收待推送的消息的身份标识,之后还包括:
若所述消息的参数不包含延时通知规则,将所述消息的即时通知输入至即时主题,将推送工具获取的即时主题的即时通知传输给目标对象。
8.根据权利要求6所述的装置,其特征在于,在所述根据预设时间查询延时队列中的时间信息,之后还包括:
根据所述消息的身份标识查询对应的延时通知规则,如果延时通知规则对应的触发时间大于当前时间,将所述消息的身份标识、修改后的时间信息存储至延时队列;
如果延时通知规则对应的触发时间小于当前时间,根据通知时间更新延时通知规则。
9.根据权利要求6所述的装置,其特征在于,所述根据所述消息的身份标识将数据库中的延时通知规则对象传输至即时主题包括:
根据所述消息的身份标识查询延时通知规则,如果延时通知规则不存在,结束消息推送;如果延时通知规则存在,将数据库中的延时通知规则对象传输至即时主题。
10.根据权利要求6所述的装置,其特征在于,将所述消息的即时通知输入至即时主题包括:
根据确认机制确认即时通知,如果即时通知不存在,结束消息推送;如果即时通知存在,将推送工具获取的即时主题的即时通知传输给目标对象。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211150418.1A CN115529288B (zh) | 2022-09-21 | 2022-09-21 | 一种消息推送的方法、装置、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211150418.1A CN115529288B (zh) | 2022-09-21 | 2022-09-21 | 一种消息推送的方法、装置、计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115529288A CN115529288A (zh) | 2022-12-27 |
CN115529288B true CN115529288B (zh) | 2024-04-19 |
Family
ID=84699995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211150418.1A Active CN115529288B (zh) | 2022-09-21 | 2022-09-21 | 一种消息推送的方法、装置、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115529288B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391271A (zh) * | 2017-05-17 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种基于消息队列系统的延时任务触发方法和装置 |
CN108388479A (zh) * | 2018-02-10 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 延迟消息推送方法、装置、计算机设备及存储介质 |
WO2019019384A1 (zh) * | 2017-07-27 | 2019-01-31 | 上海壹账通金融科技有限公司 | 消息推送方法、装置、计算机设备和存储介质 |
CN110636130A (zh) * | 2019-09-23 | 2019-12-31 | 上海钧正网络科技有限公司 | 延时消息处理方法、装置、计算机设备和存储介质 |
CN111225041A (zh) * | 2019-12-26 | 2020-06-02 | 的卢技术有限公司 | 一种实现延时消息队列的方法及系统 |
CN111782414A (zh) * | 2020-05-12 | 2020-10-16 | 北京皮尔布莱尼软件有限公司 | 一种延时消息处理方法及系统 |
WO2021088641A1 (zh) * | 2019-11-07 | 2021-05-14 | 中兴通讯股份有限公司 | 数据发送方法、处理方法、接收方法及其设备、存储介质 |
CN114363268A (zh) * | 2022-01-12 | 2022-04-15 | 平安普惠企业管理有限公司 | 消息延迟消费方法及相关产品 |
-
2022
- 2022-09-21 CN CN202211150418.1A patent/CN115529288B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391271A (zh) * | 2017-05-17 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种基于消息队列系统的延时任务触发方法和装置 |
WO2019019384A1 (zh) * | 2017-07-27 | 2019-01-31 | 上海壹账通金融科技有限公司 | 消息推送方法、装置、计算机设备和存储介质 |
CN108388479A (zh) * | 2018-02-10 | 2018-08-10 | 深圳壹账通智能科技有限公司 | 延迟消息推送方法、装置、计算机设备及存储介质 |
CN110636130A (zh) * | 2019-09-23 | 2019-12-31 | 上海钧正网络科技有限公司 | 延时消息处理方法、装置、计算机设备和存储介质 |
WO2021088641A1 (zh) * | 2019-11-07 | 2021-05-14 | 中兴通讯股份有限公司 | 数据发送方法、处理方法、接收方法及其设备、存储介质 |
CN111225041A (zh) * | 2019-12-26 | 2020-06-02 | 的卢技术有限公司 | 一种实现延时消息队列的方法及系统 |
CN111782414A (zh) * | 2020-05-12 | 2020-10-16 | 北京皮尔布莱尼软件有限公司 | 一种延时消息处理方法及系统 |
CN114363268A (zh) * | 2022-01-12 | 2022-04-15 | 平安普惠企业管理有限公司 | 消息延迟消费方法及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN115529288A (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344172B (zh) | 一种高并发数据处理方法、装置及客户端服务器 | |
CN108196961B (zh) | 一种异步消息处理方法、终端、系统及存储介质 | |
AU2016273909A1 (en) | Data pipeline architecture for cloud processing of structured and unstructured data | |
US20180262580A1 (en) | State Information For a Service | |
WO2019085600A1 (zh) | 转发聊天信息的方法、装置和电子设备 | |
CN106462638B (zh) | 基于流的反应性编程平台 | |
CN114827171B (zh) | 信息同步方法、装置、计算机设备和存储介质 | |
US20150039759A1 (en) | Apparatus, method, and non-transitory computer readable storage medium thereof for controlling access of a resource | |
US8510426B2 (en) | Communication and coordination between web services in a cloud-based computing environment | |
US9942177B1 (en) | Method and system for real-time data updates | |
CN112865927B (zh) | 消息送达验证方法、装置、计算机设备和存储介质 | |
CN117453790A (zh) | 基于云对象存储的数据交换方法及装置、设备、存储介质 | |
US20130018987A1 (en) | Adaptive replication | |
CN115529288B (zh) | 一种消息推送的方法、装置、计算机设备 | |
CN114116247A (zh) | 基于Redis的消息处理方法、装置、系统、服务器和介质 | |
CN110297945B (zh) | 基于xbrl的数据信息处理方法及系统 | |
JP6170634B2 (ja) | 送信および受信された電子メッセージの相関 | |
CN117692418A (zh) | 消息处理方法、装置、计算机设备和存储介质 | |
US20160162559A1 (en) | System and method for providing instant query | |
CN110968453A (zh) | 一种数据存储方法及装置 | |
CN118694815A (zh) | 消息推送方法、装置、存储介质及处理器 | |
US20240146682A1 (en) | Providing notifications across user devices | |
CN115955450B (zh) | 即时消息显示、推送方法、装置、电子设备及存储介质 | |
US11722451B2 (en) | Distributing event messages from a first service to additional services using a message store | |
CN113296970B (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 |