CN111901619B - 一种消息推送方法和装置 - Google Patents

一种消息推送方法和装置 Download PDF

Info

Publication number
CN111901619B
CN111901619B CN202010718373.8A CN202010718373A CN111901619B CN 111901619 B CN111901619 B CN 111901619B CN 202010718373 A CN202010718373 A CN 202010718373A CN 111901619 B CN111901619 B CN 111901619B
Authority
CN
China
Prior art keywords
message
pushed
pushing
time
room
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
Application number
CN202010718373.8A
Other languages
English (en)
Other versions
CN111901619A (zh
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 Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202010718373.8A priority Critical patent/CN111901619B/zh
Publication of CN111901619A publication Critical patent/CN111901619A/zh
Application granted granted Critical
Publication of CN111901619B publication Critical patent/CN111901619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开提供了一种消息推送方法和装置。将消息延迟操作交由服务端执行。在各个直播间的直播开始时,服务端将各个直播间的各个待推送消息按照各自的延迟信息计算预定推送时间,将待推送消息按照预定推送时间顺序存入服务端的指定存储序列中,并持续提取所述指定存储序列中,预定推送时间与当前时间相同的待推送消息,推送给对应的直播间,以在服务端实现消息的延迟推送。有效避免现有方案中,将消息内容和延时信息即时下发给直播间中的各个客户端,由各个客户端分别执行延迟通知操作可能造成的流量浪费问题。

Description

一种消息推送方法和装置
技术领域
本公开涉及互联网领域,尤其涉及一种消息推送方法和装置。
背景技术
直播间上线新的功能时,需要对直播间的主播、观众通过消息推送的形式进行功能通知提示。不同直播间依据主播的类型、权限等不同会对应具有不同的个性化通知提示。
针对同一直播间,可能有不同功能对应的多个消息需要推送的情况,因此,功能通知通常会执行延迟操作,例如:功能A的消息通知在开播后1分钟进行展示,功能B的消息通知在开播后3分钟进行展示,等等。
在传统方案中,在直播间的直播开始时将消息内容和延时信息推送给直播间中的各个客户端,由客户端执行延迟通知操作,即客户端收到消息内容后,根据延时信息计算展示时间,等到展示时间到达再展示消息内容。但观众会不断的进出不同的直播间,很多观众并没有等到展示时间就已经退出直播间,而观众退出直播间后,针对该直播间的个性化通知消息不会再进行展示,服务端下发给客户端的通知流量被浪费。
发明内容
针对上述技术问题,本公开实施例提供一种消息推送方法,技术方案如下:
根据本公开实施例的第一方面,提供一种消息推送方法,所述方法包括:
检测到任一直播间开播后,确定针对所述直播间的待推送消息和对应待推送消息的预定推送时间;
将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列中;
监测所述指定存储序列,持续提取所述指定存储序列中,预定推送时间与当前时间相同的待推送消息,将提取出的待推送消息推送给对应的直播间。
可选的,所述将各个直播间的各个待推送提示消息按照各自的预定推送时间顺序存入指定存储序列中,包括:
针对各个直播间的各个待推送消息,将待推送消息的推送时间和消息推送方确定为关键字,将待推送消息的所属直播间和消息内容确定为关键字的值;
按照各自的预定推送时间,将所述关键字和所述关键字的值的对应关系顺序存入指定存储序列中。
可选的,所述检测到任一直播间开播后,确定针对所述直播间的待推送消息和对应待推送消息的预定推送时间,包括:
检测到任一直播间开播后,确定针对所述直播间的待推送消息,并确定所述待推送消息的延迟时间;
以所述直播间的开播时间作为起始时间,根据所述起始时间和所述直播间的待推送消息的延迟时间计算出待推送消息对应的预定推送时间。
可选的,所述待推送消息中携带了直播间标识和消息推送方标识,所述将提取出的待推送消息推送给对应的直播间,包括:
将提取出的待推送消息发布在消息队列中,以使监听所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间。
可选的,所述消息队列为kafka消息队列,所述将提取出的待推送消息发布在消息队列中,以使监听所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间,包括:
将提取出的待推送消息发布在kafka消息队列中,以使订阅所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识提取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间。
可选的,所述指定存储序列为redis存储序列,所述将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列中,包括:
将各个直播间的各个待推送消息按照各自的预定推送时间,存入redis存储序列中与所述预定推送时间相对应的时间通道中,其中,redis存储序列按照时间顺序将时间段划分为不同的时间通道。
可选的,所述将提取出的待推送消息推送给对应的直播间,包括:
将所述待推送消息推送给对应直播间中的主播客户端和观众客户端。
根据本公开实施例的第二方面,提供一种消息推送装置,所述装置包括:
推送时间计算模块,被配置为检测到任一直播间开播后,确定针对所述直播间的待推送消息和对应待推送消息的预定推送时间;
待推送消息存储模块,被配置为将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列中;
消息推送模块,被配置为监测所述指定存储序列,持续提取所述指定存储序列中,预定推送时间与当前时间相同的待推送消息,将提取出的待推送消息推送给对应的直播间。
可选的,所述待推送消息存储模块,在将各个直播间的各个待推送提示消息按照各自的预定推送时间顺序存入指定存储序列时,被配置为:
针对各个直播间的各个待推送消息,将待推送消息的推送时间和消息推送方确定为关键字,将待推送消息的所属直播间和消息内容确定为关键字的值;
按照各自的预定推送时间,将所述关键字和所述关键字的值的对应关系顺序存入指定存储序列中。
可选的,所述推送时间计算模块,在检测到任一直播间开播后,确定针对所述直播间的待推送消息和对应待推送消息的预定推送时间时,被配置为:
检测到任一直播间开播后,确定针对所述直播间的待推送消息,并确定所述待推送消息的延迟时间;
以所述直播间的开播时间作为起始时间,根据所述起始时间和所述直播间的待推送消息的延迟时间计算出待推送消息对应的预定推送时间。
可选的,所述待推送消息中携带了直播间标识和消息推送方标识,所述消息推送模块,在将提取出的待推送消息推送给对应的直播间时,被配置为:
将提取出的待推送消息发布在消息队列中,以使监听所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间。
可选的,所述消息队列为kafka消息队列,所述消息推送模块,在将提取出的待推送消息发布在消息队列中,以使监听所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间时,被配置为:
将提取出的待推送消息发布在kafka消息队列中,以使订阅所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识提取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间。
可选的,所述指定存储序列为redis存储序列,所述待推送消息存储模块,在将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列时,被配置为:
将各个直播间的各个待推送消息按照各自的预定推送时间,存入redis存储序列中与所述预定推送时间相对应的时间通道中,其中,redis存储序列按照时间顺序将时间段划分为不同的时间通道。
可选的,所述消息推送模块,在将提取出的待推送消息推送给对应的直播间时,被配置为:
将所述待推送消息推送给对应直播间中的主播客户端和观众客户端。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的方法。
本公开实施例提供了一种消息推送方法、装置、电子设备及存储介质。将消息延迟操作交由服务端执行。在各个直播间的直播开始时,服务端将各个直播间的各个待推送消息按照各自的延迟信息计算预定推送时间,将待推送消息按照预定推送时间顺序存入服务端的指定存储序列中,并持续提取所述指定存储序列中,预定推送时间与当前时间相同的待推送消息,推送给对应的直播间,以在服务端实现消息的延迟推送。有效避免现有方案中,将消息内容和延时信息即时下发给直播间中的各个客户端,由各个客户端分别执行延迟通知操作可能造成的流量浪费问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开实施例。
此外,本公开实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本公开一示例性实施例示出的消息推送方法一种流程图;
图2是本公开一示例性实施例示出的消息推送方法另一种流程图;
图3是本公开一示例性实施例示出的消息推送方法另一种流程图;
图4是本公开一示例性实施例示出的消息推送方法一种示意图;
图5是本公开一示例性实施例示出的消息推送装置的另一种示意图;
图6是本公开一示例性实施例示出的电子设备的一种示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本公开提供了一种消息推送方法,以及应用所述消息推送方法的设备,首先对该消息推送方法进行整体说明,参见图1,包括以下步骤S101~步骤S103:
在步骤S101中,检测到任一直播间开播后,确定针对所述直播间的待推送消息和对应待推送消息的预定推送时间;
直播间上线新的功能时,需要对直播间的主播、观众通过消息推送的形式进行功能通知提示。不同直播间依据主播的类型、权限等不同会对应具有不同的个性化通知提示。
即,不同直播间需要展示的待推送消息往往是不同的,举例说明:直播间可分为唱歌类型直播间和游戏类型直播间,对于唱歌类型直播间,更新的功能往往与唱歌相关,例如更新歌曲合唱功能。对于游戏类型直播间,更新的功能往往与游戏相关,例如更新游戏比赛胜负投票功能,等等。
又或者,对于权限不同的直播间,直播间可以使用的功能也是不同的,例如,直播间具有粉丝标识权限时,该直播间观众可以佩戴该主播的粉丝标识,等等。
在本公开一实施例中,不同的待推送消息对应来自不同的消息推送方,该消息推送方可为待推送消息对应的更新功能所属的业务系统。
举例说明:业务系统A为歌曲合唱功能所在的业务系统,当更新歌曲合唱功能更新时,业务系统A将更新歌曲合唱功能的通知提示整合为待推送消息。并检测出直播间类型,直播间权限的等条件符合要求的若干目标直播间,在任一目标直播间开播后,确定针对所述直播间的待推送消息和对应待推送消息的预定推送时间。
针对同一直播间,可能有不同功能对应的多个消息需要推送的情况,因此,功能通知需要执行延迟推送操作,例如:功能A的消息通知在开播后1分钟进行展示,功能B的消息通知在开播后3分钟进行展示,等等。在本实施例中,若开播的直播间具有一条以上的待推送消息,则这些待推送消息会具有不同的预定推送时间,避免同时推送展示。
在本公开一实施例中,在执行步骤S102时,可以采用但不限于以下方式:
(1-1)检测到任一直播间开播后,确定针对所述直播间的待推送消息,并确定所述待推送消息的延迟时间;
(1-2)以所述直播间的开播时间作为起始时间,根据所述起始时间和所述直播间的待推送消息的延迟时间计算出待推送消息对应的预定推送时间。
具体而言,不同内容的待推送消息被设定了对应的延迟时长,基于直播间的开播时间和该延迟时长,可计算得到每个待推送消息的预定推送时间。
例如:内容为A的待推送消息A的延迟时长为1分钟,内容为B的待推送消息B的延迟时长为3分钟,内容为C的待推送消息C的延迟时长为5分钟。直播间Q在10:01开播。基于直播间Q的类型和权限等信息可知直播间Q需被推送消息A和消息C。则可计算出10:02为消息A在直播间Q的预定推送时间,10:06为消息C在直播间Q的预定推送时间。
在步骤S102中,将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列中;
在本公开一实施例中,在执行步骤S102时,可以采用但不限于以下方式:
(2-1)针对各个直播间的各个待推送消息,将待推送消息的推送时间和消息推送方确定为关键字,将待推送消息的所属直播间和消息内容确定为关键字的值;
(2-2)按照各自的预定推送时间,将所述关键字和所述关键字的值的对应关系顺序存入指定存储序列中。
其中,该步骤(2-1)到(2-2)所示的具体执行过程,可详见图2所示的实施例。
在步骤S103中,监测所述指定存储序列,持续提取所述指定存储序列中,预定推送时间与当前时间相同的待推送消息,将提取出的待推送消息推送给对应的直播间。
具体而言,指定存储序列中按照时间顺序依次存储多个来自不同的消息推送方,待推送向不同直播间的待推送消息。需要注意的是,可能存在一种情况,不同的待推送消息的预定推送时间相同,是“时间并列”关系,这些“时间并列”关系的待推送消息通常是针对不同直播间进行推送的。
在本公开一实施例中,指定存储序列可按照时间顺序依次划分为不同的时间段,将各个待推送消息按照各自的预定推送时间存储在对应的时间段中,并按照时间段提取待推送消息。举例说明:指定存储序列每隔每10秒划分一个时间段,即10:00-10:10为第一时间段,10:10-10:20为第二时间段…则预定推送时间为10:02的待推送消息A和预定推送时间为10:08的待推送消息B都会被存于第二时间段。持续监测所述指定存储序列,每10秒提取一次所述指定存储序列中,被存储在当前时间段的待推送消息,将提取出的待推送消息推送给对应的直播间。可以知道,每10秒划分为一个时间段仅为举例,每1秒,每3秒等任意时间段都是可以划分的。
具体而言,可预先配置提取程序,该提取程序用于监测所述指定存储序列,持续提取所述指定存储序列中,预定推送时间与当前时间相同的待推送消息。
在本公开一实施例中,可将提取出的待推送消息发送给各自的消息推送方,以使各个消息推送方推送给对应的直播间。
在本公开另一实施例中,可将提取出的待推送消息发布在消息队列中,以使监听所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间。
其中,将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列中时,每个待推送消息都是由其消息推送方存入消息队列的,监听所述消息队列的各个消息推送方按照待推送消息中包含的消息推送方标识取出自身的待推送消息,并推送给对应的直播间。
这种方式不需要提取程序额外识别各个待推送消息对应的消息推送方,只需要直接发布在消息队列,由监听所述消息队列的各个消息推送方进行“认领”。
在本公开一实施例中,所述消息队列为kafka消息队列,Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),Kafka中消息以Topic进行分类,发布者放入消息,订阅者取出消息,面向的都是同一个Topic。
kafka消息队列的发布者可为提取出待推送消息并发布在kafka消息队列中的提取程序,kafka消息队列的订阅者可为对应待推送消息的消息推送方。
提取程序将提取出的待推送消息发布在kafka消息队列中,以使订阅所述消息队列的各个消息推送方按照待推送消息中包含的消息推送方标识提取出自身的待推送消息,并推送给对应的直播间。
上述步骤S101至步骤S104为本公开的消息推送方法的整体实现过程。
在传统方案中,在直播间的直播开始时将消息内容和延时信息推送给直播间中的各个客户端,由客户端执行延迟通知操作,即客户端收到消息内容后,根据延时信息计算展示时间,等到展示时间到达再展示消息内容。但观众会不断的进出不同的直播间,很多观众并没有等到展示时间就已经退出直播间,而观众退出直播间后,针对该直播间的个性化通知消息不会再进行展示,服务端下发给客户端的通知流量被浪费。
为了克服这种缺陷,本公开提供的消息推送方法将消息延迟操作交由服务端执行。在各个直播间的直播开始时,服务端将各个直播间的各个待推送消息按照各自的延迟信息计算预定推送时间,将待推送消息按照预定推送时间顺序存入服务端的指定存储序列中,并持续提取所述指定存储序列中,预定推送时间与当前时间相同的待推送消息,推送给对应的直播间,以在服务端实现消息的延迟推送。有效避免现有方案中,将消息内容和延时信息即时下发给直播间中的各个客户端,由各个客户端分别执行延迟通知操作可能造成的流量浪费问题
图2是根据一示例性实施例示出的另一种消息推送方法的流程图,该消息推送方法可以用于能够执行消息推送的平台上,并建立在图1所示方法的基础上,如图2所示,可以包括以下步骤S201-S203:
在步骤S201中,针对各个直播间的各个待推送消息,将待推送消息的推送时间和消息推送方确定为关键字,将待推送消息的所属直播间和消息内容确定为关键字的值;
在步骤S202中,按照各自的预定推送时间,将所述关键字和所述关键字的值的对应关系顺序存入指定存储序列中。
具体而言,指定存储序列可为redis。将待推送消息的通知内容封装成一个消息体,根据消息的发送时间计算redis的key(delay_biz_{发送时间:单位秒}),其中biz是业务的标识,采用redis的队列数据结构,将消息写入redis对应的队列中。
首先,消息推送方(业务系统)根据消息msg_content需要延迟的时长,计算处理消息的绝对时间:当前时间+时长,转换为单位秒表示,定义为ts。
第二,消息推送方业务带提前定义好的业务类型biz、消息内容msg_content、预计处理消息时间ts,生成延时消息。
第二,根据第2步中的信息,将msg_content写入redis队列中,其中key为delay_biz_ts。
图3是根据一示例性实施例示出的一种更为具体的消息推送方法的流程图,该消息推送方法可以用于能够执行消息推送的平台上,如图3所示,可以包括以下步骤S301-S305:
在步骤S301中,检测到任一直播间开播后,确定针对所述直播间的待推送消息,并确定所述待推送消息的延迟时间;
在步骤S302中,以所述直播间的开播时间作为起始时间,根据所述起始时间和所述直播间的待推送消息的延迟时间计算出待推送消息对应的预定推送时间。
在步骤S303中,将各个直播间的各个待推送消息按照各自的预定推送时间,存入redis存储序列的对应时间通道中,其中,redis存储序列按照时间顺序将时间段划分为不同的时间通道;
具体而言,redis存储序列是按照key-value键值的形式进行数据存储的。针对各个直播间的各个待推送消息,将待推送消息的推送时间和消息推送方确定为关键字,将待推送消息的所属直播间和消息内容确定为关键字的值;
可按照各自的预定推送时间,将所述关键字和所述关键字的值的对应关系顺序存入指定存储序列中。
在步骤S304中,持续监测所述redis存储序列,在与当前时间相同的时间通道中提取待推送消息;
在步骤S305中,将提取出的待推送消息发布在kafka消息队列中,以使订阅所述消息队列的各个消息推送方按照待推送消息中包含的消息推送方标识提取出自身的待推送消息,并推送给对应的直播间。
其中,消息推送方可根据待推送消息的中包含的消息推送方标识在kafka消息队列中提取出自身先前存入的待推送消息,根据待推送消息的所属直播间信息将所述待推送消息推送给对应直播间中的主播客户端和观众客户端。
参见图4,为本公开提供的消息推送方法对应的消息推送系统的示意图。
具体而言,一个直播平台的直播间会具有多种可用功能,这些功能分属于不同的功能类型,通过不同的业务系统实现。在功能发生更新时,也是通过该功能所属的业务系统进行功能更新和生成更新消息。
业务系统本身具有消息的推送逻辑,但不具有消息推送的延迟推送逻辑,因此,在相关技术中,业务系统在接收到目标直播间的开播消息后,都会直接触发消息推送,将待推送消息给目标直播间中的各个客户端,在由客户端执行延迟展示。
上文已经说明,在客户端执行延迟展示存在一定缺陷。而服务端的业务系统不具有消息推送的延迟推送逻辑,在这种情况下,如果为每个业务系统都额外增加消息推送的延迟推送逻辑,使每个业务系统自己执行消息的计时和推送,逻辑编写的工作量较大,且会增加各个业务系统的资源开销。
在本实施例提供的消息推送方法中,消息的延迟推送是由服务端执行的。在业务系统接收到目标直播间的开播消息后,触发逻辑改为将该待推送消息存入指定存储序列中,到达预定推送时间后,依据各个待推送消息的推送方标识,业务系统可在预定推送时间自动取到自身消息并触发消息推送。避免了客户端执行延迟展示存在的缺陷,且不需要为各个业务系统分别增加延迟计时等逻辑。
相应于上述方法实施例,本公开实施例还提供一种消息推送装置,参见图5所示,所述装置可以包括:推送时间计算模块510,待推送消息存储模块520和消息推动模块530。
推送时间计算模块510,被配置为检测到任一直播间开播后,确定针对所述直播间的待推送消息和对应待推送消息的预定推送时间;
待推送消息存储模块520,被配置为将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列中;
消息推动模块530,被配置为监测所述指定存储序列,持续提取所述指定存储序列中,预定推送时间与当前时间相同的待推送消息,将提取出的待推送消息推送给对应的直播间。
本公开实施例还提供一种电子设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述消息推送方法,所述方法包括:
检测到任一直播间开播后,确定针对所述直播间的待推送消息和对应待推送消息的预定推送时间;
将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列中;
监测所述指定存储序列,持续提取所述指定存储序列中,预定推送时间与当前时间相同的待推送消息,将提取出的待推送消息推送给对应的直播间。
图6示出了根据本公开的一示例性实施例的基于主设备侧电子设备的示意结构图。请参考图6,在硬件层面,该电子设备包括处理器602、内部总线604、网络接口606、内存605以及非易失性存储器610,当然还可能包括其他业务所需要的硬件。处理器602从非易失性存储器610中读取对应的计算机程序到内存605中然后运行,在逻辑层面上形成执行消息推送方法的装置。当然,除了软件实现方式之外,本公开并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的消息推送方法,所述方法包括:
检测到任一直播间开播后,确定针对所述直播间的待推送消息和对应待推送消息的预定推送时间;
将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列中;
监测所述指定存储序列,持续提取所述指定存储序列中,预定推送时间与当前时间相同的待推送消息,将提取出的待推送消息推送给对应的直播间。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁存储设备存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
以上所述仅是本公开实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开实施例的保护范围。

Claims (14)

1.一种消息推送方法,其特征在于,所述方法应用于服务端,包括:
检测到任一直播间开播后,确定针对所述任一直播间的待推送消息和对应待推送消息的预定推送时间;
将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列中;
监测所述指定存储序列,持续提取所述指定存储序列中预定推送时间与当前时间相同的待推送消息,包括,在监测到当前时间与任一待推送消息的预定推送时间相同的情况下,从所述指定存储序列中提取所述任一待推送消息;
将提取出的待推送消息推送给对应的已开播的直播间,包括:将提取出的待推送消息发布在消息队列中,以使监听所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间。
2.如权利要求1所述的方法,其特征在于,所述将各个直播间的各个待推送提示消息按照各自的预定推送时间顺序存入指定存储序列中,包括:
针对各个直播间的各个待推送消息,将待推送消息的推送时间和消息推送方确定为关键字,将待推送消息的所属直播间和消息内容确定为关键字的值;
按照各自的预定推送时间,将所述关键字和所述关键字的值的对应关系顺序存入指定存储序列中。
3.如权利要求1所述的方法,其特征在于,所述检测到任一直播间开播后,确定针对所述直播间的待推送消息和对应待推送消息的预定推送时间,包括:
检测到任一直播间开播后,确定针对所述直播间的待推送消息,并确定所述待推送消息的延迟时间;
以所述直播间的开播时间作为起始时间,根据所述起始时间和所述直播间的待推送消息的延迟时间计算出待推送消息对应的预定推送时间。
4.如权利要求1所述的方法,其特征在于,所述消息队列为kafka消息队列,所述将提取出的待推送消息发布在消息队列中,以使监听所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间,包括:
将提取出的待推送消息发布在kafka消息队列中,以使订阅所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识提取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间。
5.如权利要求1所述的方法,其特征在于,所述指定存储序列为redis存储序列,所述将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列中,包括:
将各个直播间的各个待推送消息按照各自的预定推送时间,存入redis存储序列中与所述预定推送时间相对应的时间通道中,其中,redis存储序列按照时间顺序将时间段划分为不同的时间通道。
6.如权利要求1所述的方法,其特征在于,所述将提取出的待推送消息推送给对应的直播间,包括:
将所述待推送消息推送给对应直播间中的主播客户端和观众客户端。
7.一种消息推送装置,其特征在于,所述装置应用于服务端,包括:
推送时间计算模块,被配置为检测到任一直播间开播后,确定针对所述任一直播间的待推送消息和对应待推送消息的预定推送时间;
待推送消息存储模块,被配置为将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列中;
消息推送模块,被配置为监测所述指定存储序列,持续提取所述指定存储序列中预定推送时间与当前时间相同的待推送消息,包括,在监测到当前时间与任一待推送消息的预定推送时间相同的情况下,从所述指定存储序列中提取所述任一待推送消息;
提取出的待推送消息推送给对应的已开播的直播间,包括:将提取出的待推送消息发布在消息队列中,以使监听所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间。
8.如权利要求7所述的装置,其特征在于,所述待推送消息存储模块,在将各个直播间的各个待推送提示消息按照各自的预定推送时间顺序存入指定存储序列时,被配置为:
针对各个直播间的各个待推送消息,将待推送消息的推送时间和消息推送方确定为关键字,将待推送消息的所属直播间和消息内容确定为关键字的值;
按照各自的预定推送时间,将所述关键字和所述关键字的值的对应关系顺序存入指定存储序列中。
9.如权利要求7所述的装置,其特征在于,所述推送时间计算模块,在检测到任一直播间开播后,确定针对所述直播间的待推送消息和对应待推送消息的预定推送时间时,被配置为:
检测到任一直播间开播后,确定针对所述直播间的待推送消息,并确定所述待推送消息的延迟时间;
以所述直播间的开播时间作为起始时间,根据所述起始时间和所述直播间的待推送消息的延迟时间计算出待推送消息对应的预定推送时间。
10.如权利要求7所述的装置,其特征在于,所述消息队列为kafka消息队列,所述消息推送模块,在将提取出的待推送消息发布在消息队列中,以使监听所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间时,被配置为:
将提取出的待推送消息发布在kafka消息队列中,以使订阅所述消息队列的各个消息推送方按照待推送消息中携带的消息推送方标识提取出与所述消息推送方标识对应的待推送消息,并根据所携带的直播间标识推送给对应的直播间。
11.如权利要求7所述的装置,其特征在于,所述指定存储序列为redis存储序列,所述待推送消息存储模块,在将各个直播间的各个待推送消息按照各自的预定推送时间顺序存入指定存储序列时,被配置为:
将各个直播间的各个待推送消息按照各自的预定推送时间,存入redis存储序列中与所述预定推送时间相对应的时间通道中,其中,redis存储序列按照时间顺序将时间段划分为不同的时间通道。
12.如权利要求7所述的装置,其特征在于,所述消息推送模块,在将提取出的待推送消息推送给对应的直播间时,被配置为:
将所述待推送消息推送给对应直播间中的主播客户端和观众客户端。
13.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的方法。
14.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的方法。
CN202010718373.8A 2020-07-23 2020-07-23 一种消息推送方法和装置 Active CN111901619B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010718373.8A CN111901619B (zh) 2020-07-23 2020-07-23 一种消息推送方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010718373.8A CN111901619B (zh) 2020-07-23 2020-07-23 一种消息推送方法和装置

Publications (2)

Publication Number Publication Date
CN111901619A CN111901619A (zh) 2020-11-06
CN111901619B true CN111901619B (zh) 2023-10-31

Family

ID=73190818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010718373.8A Active CN111901619B (zh) 2020-07-23 2020-07-23 一种消息推送方法和装置

Country Status (1)

Country Link
CN (1) CN111901619B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764951A (zh) * 2021-01-27 2021-05-07 广州方硅信息技术有限公司 消息广播方法、装置、电子设备及存储介质
CN113037450A (zh) * 2021-03-17 2021-06-25 杭州遥望网络科技有限公司 一种延迟消息处理方法、装置、设备及可读存储介质
CN114401413B (zh) * 2021-12-10 2023-09-05 北京达佳互联信息技术有限公司 虚拟空间的交互提示方法、装置、电子设备和存储介质

Citations (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015055067A1 (en) * 2013-10-17 2015-04-23 Tencent Technology (Shenzhen) Company Limited Method and apparatus for pushing messages
CN105162682A (zh) * 2015-07-29 2015-12-16 大连理工大学 一种实现离线状态定时推送消息的方法
CN105491115A (zh) * 2015-11-25 2016-04-13 努比亚技术有限公司 消息推送装置及方法
CN106454484A (zh) * 2016-10-26 2017-02-22 福建中金在线信息科技有限公司 一种直播室消息的显示方法及装置
CN107026917A (zh) * 2017-06-16 2017-08-08 智者四海(北京)技术有限公司 用于消息推送的方法及系统
CN107169077A (zh) * 2017-05-10 2017-09-15 百度在线网络技术(北京)有限公司 用于推送信息的方法和装置
CN107391271A (zh) * 2017-05-17 2017-11-24 阿里巴巴集团控股有限公司 一种基于消息队列系统的延时任务触发方法和装置
CN108337296A (zh) * 2018-01-12 2018-07-27 深圳壹账通智能科技有限公司 消息推送处理方法、装置、计算机设备和存储介质
CN108388479A (zh) * 2018-02-10 2018-08-10 深圳壹账通智能科技有限公司 延迟消息推送方法、装置、计算机设备及存储介质
CN108449618A (zh) * 2018-02-24 2018-08-24 广州久邦世纪科技有限公司 一种带有活动模板的直播系统及其实现方法
CN108574851A (zh) * 2017-12-11 2018-09-25 北京金山云网络技术有限公司 推送方法、装置、流媒体服务器及计算机可读存储介质
CN109194678A (zh) * 2018-09-25 2019-01-11 吉林省联宇合达科技有限公司 基于redis消息队列的分布式流媒体服务系统及方法
CN109640130A (zh) * 2017-10-09 2019-04-16 武汉斗鱼网络科技有限公司 一种开播消息推送方法、服务器及可读存储介质
CN110035120A (zh) * 2019-03-29 2019-07-19 惠州Tcl移动通信有限公司 消息推送方法、装置、电子设备及存储介质
CN110245008A (zh) * 2018-03-09 2019-09-17 阿里巴巴集团控股有限公司 定时任务处理方法、系统和设备
CN110351569A (zh) * 2019-06-25 2019-10-18 腾讯科技(深圳)有限公司 一种直播内容处理方法、装置、设备及介质
CN110351572A (zh) * 2019-07-10 2019-10-18 广州虎牙科技有限公司 直播间信息的更新方法、装置、设备及存储介质
CN110377433A (zh) * 2019-06-04 2019-10-25 威富通科技有限公司 支付结果的异步通知方法、装置及支付网关、存储介质
CN110401840A (zh) * 2018-07-26 2019-11-01 腾讯科技(深圳)有限公司 消息推送方法、装置、系统、电子设备及计算机可读介质
CN110417884A (zh) * 2019-07-23 2019-11-05 腾讯科技(深圳)有限公司 一种消息推送方法、装置、设备及存储介质
CN110599229A (zh) * 2018-06-13 2019-12-20 武汉斗鱼网络科技有限公司 亿级流量广告实时处理方法、存储介质、电子设备和系统
CN110659121A (zh) * 2019-09-24 2020-01-07 北京达佳互联信息技术有限公司 任务数据获取方法及装置、任务配置方法及装置和服务器
CN110662085A (zh) * 2019-10-16 2020-01-07 北京字节跳动网络技术有限公司 消息发送方法、装置、可读介质及电子设备
CN111083042A (zh) * 2019-12-17 2020-04-28 北京每日优鲜电子商务有限公司 模板消息的推送方法、装置、设备及存储介质
CN111163076A (zh) * 2019-12-25 2020-05-15 广州华多网络科技有限公司 网络直播的开播消息推送方法及相关设备
CN111225041A (zh) * 2019-12-26 2020-06-02 的卢技术有限公司 一种实现延时消息队列的方法及系统
CN111245709A (zh) * 2020-02-10 2020-06-05 北京字节跳动网络技术有限公司 一种消息推送方法、装置、电子设备及存储介质
CN111385330A (zh) * 2018-12-29 2020-07-07 广州市百果园信息技术有限公司 消息推送方法、装置、计算机设备及存储介质
CN111414516A (zh) * 2020-03-17 2020-07-14 北京字节跳动网络技术有限公司 一种直播间消息处理方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10200330B2 (en) * 2015-12-10 2019-02-05 Facebook, Inc. Techniques for ephemeral messaging with a message queue

Patent Citations (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015055067A1 (en) * 2013-10-17 2015-04-23 Tencent Technology (Shenzhen) Company Limited Method and apparatus for pushing messages
CN105162682A (zh) * 2015-07-29 2015-12-16 大连理工大学 一种实现离线状态定时推送消息的方法
CN105491115A (zh) * 2015-11-25 2016-04-13 努比亚技术有限公司 消息推送装置及方法
CN106454484A (zh) * 2016-10-26 2017-02-22 福建中金在线信息科技有限公司 一种直播室消息的显示方法及装置
CN107169077A (zh) * 2017-05-10 2017-09-15 百度在线网络技术(北京)有限公司 用于推送信息的方法和装置
CN107391271A (zh) * 2017-05-17 2017-11-24 阿里巴巴集团控股有限公司 一种基于消息队列系统的延时任务触发方法和装置
CN107026917A (zh) * 2017-06-16 2017-08-08 智者四海(北京)技术有限公司 用于消息推送的方法及系统
CN109640130A (zh) * 2017-10-09 2019-04-16 武汉斗鱼网络科技有限公司 一种开播消息推送方法、服务器及可读存储介质
CN108574851A (zh) * 2017-12-11 2018-09-25 北京金山云网络技术有限公司 推送方法、装置、流媒体服务器及计算机可读存储介质
CN108337296A (zh) * 2018-01-12 2018-07-27 深圳壹账通智能科技有限公司 消息推送处理方法、装置、计算机设备和存储介质
CN108388479A (zh) * 2018-02-10 2018-08-10 深圳壹账通智能科技有限公司 延迟消息推送方法、装置、计算机设备及存储介质
CN108449618A (zh) * 2018-02-24 2018-08-24 广州久邦世纪科技有限公司 一种带有活动模板的直播系统及其实现方法
CN110245008A (zh) * 2018-03-09 2019-09-17 阿里巴巴集团控股有限公司 定时任务处理方法、系统和设备
CN110599229A (zh) * 2018-06-13 2019-12-20 武汉斗鱼网络科技有限公司 亿级流量广告实时处理方法、存储介质、电子设备和系统
CN110401840A (zh) * 2018-07-26 2019-11-01 腾讯科技(深圳)有限公司 消息推送方法、装置、系统、电子设备及计算机可读介质
CN109194678A (zh) * 2018-09-25 2019-01-11 吉林省联宇合达科技有限公司 基于redis消息队列的分布式流媒体服务系统及方法
CN111385330A (zh) * 2018-12-29 2020-07-07 广州市百果园信息技术有限公司 消息推送方法、装置、计算机设备及存储介质
CN110035120A (zh) * 2019-03-29 2019-07-19 惠州Tcl移动通信有限公司 消息推送方法、装置、电子设备及存储介质
CN110377433A (zh) * 2019-06-04 2019-10-25 威富通科技有限公司 支付结果的异步通知方法、装置及支付网关、存储介质
CN110351569A (zh) * 2019-06-25 2019-10-18 腾讯科技(深圳)有限公司 一种直播内容处理方法、装置、设备及介质
CN110351572A (zh) * 2019-07-10 2019-10-18 广州虎牙科技有限公司 直播间信息的更新方法、装置、设备及存储介质
CN110417884A (zh) * 2019-07-23 2019-11-05 腾讯科技(深圳)有限公司 一种消息推送方法、装置、设备及存储介质
CN110659121A (zh) * 2019-09-24 2020-01-07 北京达佳互联信息技术有限公司 任务数据获取方法及装置、任务配置方法及装置和服务器
CN110662085A (zh) * 2019-10-16 2020-01-07 北京字节跳动网络技术有限公司 消息发送方法、装置、可读介质及电子设备
CN111083042A (zh) * 2019-12-17 2020-04-28 北京每日优鲜电子商务有限公司 模板消息的推送方法、装置、设备及存储介质
CN111163076A (zh) * 2019-12-25 2020-05-15 广州华多网络科技有限公司 网络直播的开播消息推送方法及相关设备
CN111225041A (zh) * 2019-12-26 2020-06-02 的卢技术有限公司 一种实现延时消息队列的方法及系统
CN111245709A (zh) * 2020-02-10 2020-06-05 北京字节跳动网络技术有限公司 一种消息推送方法、装置、电子设备及存储介质
CN111414516A (zh) * 2020-03-17 2020-07-14 北京字节跳动网络技术有限公司 一种直播间消息处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111901619A (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
CN111901619B (zh) 一种消息推送方法和装置
CN111050205B (zh) 视频片段获取方法、装置、设备和存储介质
CN109600669B (zh) 一种对象播放监测方法、装置、存储介质及处理器
CN110830735B (zh) 一种视频生成方法、装置、计算机设备和存储介质
CN110798696B (zh) 直播交互方法、装置、电子设备及可读存储介质
CN109640130B (zh) 一种开播消息推送方法、服务器及可读存储介质
CN110826799B (zh) 业务预测方法、装置、服务器及可读存储介质
CN105786539B (zh) 一种文件下载方法及装置
CN111159537B (zh) 一种在阅读应用中推送呈现信息的方法与设备
CN108966316B (zh) 展示多媒体资源、预测连接等待时长的方法、装置及设备
CN110743169B (zh) 基于区块链的防作弊方法及系统
US20190348034A1 (en) Selectively blacklisting audio to improve digital assistant behavior
CN109657164B (zh) 发布消息的方法、装置及存储介质
CN108966041B (zh) 一种音视频播放埋点方法、装置、设备、计算机可读存储介质
CN108989853B (zh) 一种多媒体物料的处理方法、装置及多媒体播放设备
CN111083504B (zh) 互动方法、装置、设备
CN110225122B (zh) 一种消息推送方法、装置、设备及存储介质
CN105005612A (zh) 一种音乐文件的获取方法及移动终端
CN111050217A (zh) 一种视频播放方法及装置
CN112162680B (zh) 阅读业务和直播业务的关联方法、计算设备及存储介质
CN109348249B (zh) 确定数字专辑的用户获取数量的方法、装置及存储介质
CN113727125A (zh) 直播间的截图方法、装置、系统、介质以及计算机设备
CN109615465B (zh) 业务订单的处理方法、装置和电子设备
CN110557461A (zh) 消息推送方法、设备及存储介质
CN111309935A (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