CN115209166A - 一种消息发送方法、装置、设备和存储介质 - Google Patents

一种消息发送方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN115209166A
CN115209166A CN202110389105.0A CN202110389105A CN115209166A CN 115209166 A CN115209166 A CN 115209166A CN 202110389105 A CN202110389105 A CN 202110389105A CN 115209166 A CN115209166 A CN 115209166A
Authority
CN
China
Prior art keywords
priority
message
sent
messages
determining
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
CN202110389105.0A
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 ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network 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 ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202110389105.0A priority Critical patent/CN115209166A/zh
Priority to PCT/CN2022/081913 priority patent/WO2022218103A1/zh
Publication of CN115209166A publication Critical patent/CN115209166A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • 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
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

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

Abstract

本公开实施例涉及一种消息发送方法、装置、设备和存储介质。其中消息发送方法包括:确定待发送消息的第一优先级;当单位时间内已发送的所述第一优先级的消息的数量达到所述第一优先级对应的第一数量阈值时,确定第二优先级,其中,所述第二优先级的等级低于所述第一优先级的等级;如果所述单位时间内已发送的所述第二优先级的消息的数量小于所述第二优先级对应的第二数量阈值,则在所述单位时间内发送所述待发送消息。采用上述技术方案,可以提高单位时间内各种类型的消息均被发送的可能性,同时保证单位时间内尽可能多的发送较高优先级的消息。

Description

一种消息发送方法、装置、设备和存储介质
技术领域
本公开涉及消息处理技术领域,尤其涉及一种消息发送方法、装置、设备和存储介质。
背景技术
目前很多平台支持直播服务,一个直播间的人数可能会从几人到几十万人不等,观众的互动频率很高时,每秒可能会产生成千上万条互动消息。而终端设备单位时间内能够处理的消息的数量非常有限,因此需要对消息的下发频率进行限制。
相关技术中,服务器对单位时间内下发的消息的数量进行控制,当单位时间内已下发的消息的数量达到阈值时,停止发送或者丢弃该单位时间内尚未下发的消息,从而使得终端设备能够正常接收和处理服务器下发的消息。但是,该相关技术中由于服务器停止发送或者丢弃了部分消息,如果该部分消息中包括终端设备对应的用户感兴趣的消息,则用户无法获得该感兴趣的消息。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种消息发送方法、装置、设备和存储介质,可以提高单位时间内各种类型的消息均被发送的可能性,同时保证单位时间内尽可能多的发送较高优先级的消息。
本公开实施例提供了一种消息发送方法,包括:
确定待发送消息的第一优先级;
当单位时间内已发送的所述第一优先级的消息的数量达到所述第一优先级对应的第一数量阈值时,确定第二优先级,其中,所述第二优先级的等级低于所述第一优先级的等级;
如果所述单位时间内已发送的所述第二优先级的消息的数量小于所述第二优先级对应的第二数量阈值,则在所述单位时间内发送所述待发送消息。
本公开实施例还提供了一种消息发送装置,包括:
第一优先级确定模块,用于确定待发送消息的第一优先级;
第二优先级确定模块,用于当单位时间内已发送的所述第一优先级的消息的数量达到所述第一优先级对应的第一数量阈值时,确定第二优先级,其中,所述第二优先级的等级低于所述第一优先级的等级;
消息发送模块,用于如果所述单位时间内已发送的所述第二优先级的消息的数量小于所述第二优先级对应的第二数量阈值,则在所述单位时间内发送所述待发送消息。
本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述电子设备实现如上所述的消息发送方法。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被计算设备执行时实现如上所述的消息发送方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的技术方案,通过对消息划分优先级,设定各优先级的消息在单位时间内可发送的数量阈值,从而限制了各优先级的消息在单位时间内的发送数量,使得各优先级的消息在单位时间内均有可能被下发。而且,当单位时间内已发送的与待发送消息的优先级相同的消息的数量达到待发送消息的优先级对应的第一数量阈值时,会确定比待发送消息的优先级等级低的第二优先级,如果单位时间内已发送的第二优先级的消息的数量小于第二优先级对应的第二数量阈值,则发送待发送消息;由此,实现了一种优先级抢占机制,即较高优先级的消息发送达到对应数量阈值时,在确定有较低优先级的消息发送未达到对应数量阈值时,较高优先级的消息可抢占较低优先级的消息的消息剩余量进行发送,保证单位时间内尽可能多的发送较高优先级的消息。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例中的一种消息发送方法的流程图;
图2为本公开实施例中的一种消息发送装置的结构框图;
图3为本公开实施例中的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
正如背景技术所述,已有技术存在单位时间内(如单位时间内)部分类型的消息无法发送的问题。例如,在直播场景下,1秒内允许发送N条消息,即1秒内发送的消息数量达到N条后,该1秒内后续的消息无法发送。然而,不同消息的重要程度不同,如聊天消息的重要程度低于送礼消息的重要程度。采用已有技术很可能出现1秒内前N条消息发送了较多的聊天消息,而第N+1条消息为送礼消息,则无法发送该送礼消息,导致重要程度较高的消息发不出去。
针对上述技术问题,本公开技术方案通过对消息划分优先级,并且较高优先级的消息可以占用部分或全部较低优先级的消息的消息剩余量进行发送,使得用户可根据实际需求设定消息的优先级,从而保证单位时间内尽可能多的发送较高优先级的消息。
具体的,图1为本公开实施例中的一种消息发送方法的流程图,本实施例可适用于消息发送设备所产生的消息进行发送或者服务器转发客户端消息的情况,该方法可以由消息发送装置执行,该装置可以采用软件和/或硬件的方式实现,该装置可配置于电子设备中,如服务器。如图1所示,该方法应用于服务端,如直播平台服务器,具体可以包括:
S110、确定待发送消息的第一优先级。
本公开实施例中,每个待发送消息均设置有优先级。在实际应用中,该优先级可以表示消息的重要程度,优先级越高,则消息越重要。一般来说,用户感兴趣的消息较为重要,其优先级等级可设置的较高。
示例性的,在直播场景中,包括服务器和多个客户端(如主播用户的主播客户端和看播用户的观众客户端),客户端通过无线网络或有线网络与服务器通信连接,主播客户端可以向服务器请求开启一个直播间,直播间开启后,观众客户端可加入该直播间。在实际应用中,参与该直播间的客户端会产生不同类型的消息,比如用户输入的文本消息和语音消息等聊天消息、用户赠送礼物时产生的送礼消息以及用户触发直播间的某些功能所产生的系统消息等。这些消息会由客户端发送到提供直播服务的服务器,再由服务器对这些消息进行处理,并将处理后的消息推送到该直播间的各个客户端。其中,服务器接收到的客户端发送的消息即为本公开中的待发送消息。
在一些实施例中,待发送消息缓存至服务器中,客户端每隔特定时间向服务器发送消息拉取请求,服务器接收到消息拉取请求后,从缓存中挨个取出上一特定时间所缓存的消息,从而获取到待发送消息。
在一些实施例中,待发送消息包括主播客户端产生的主播消息和观众客户端产生的观众消息,其中主播消息较为重要;而观众消息又包括聊天消息和送礼消息等,其中送礼消息较为重要。由此,可以根据消息的重要程度来设置消息的优先级。
可选的,可基于消息的类型确定消息的优先级。具体的,确定待发送消息的第一优先级,可包括:
S111、确定待发送消息的类型。
在一些实施例中,客户端发给服务器的消息包含消息字段,消息字段中含有表示消息类型的字符,服务器通过识别消息字段中对应的字符来确定客户端发送的消息的类型,即确定待发送消息的类型。
S112、基于待发送消息的类型以及预先设置的消息类型与优先级的对应关系,确定待发送消息的第一优先级。
在一些实施例中,预先在服务器中配置消息类型与优先级的对应关系表,其中消息类型与优先级一一对应,且直播场景中所能产生的各种消息的类型均记录在该对应关系表中。在服务器确定待发送消息的类型后,从上述对应关系表中查询相同的消息类型,再根据查询到的消息类型确定对应的优先级,即得到待发送消息的优先级。
在实际应用中,可根据需求划分消息类型,同一消息类型可进一步细分为不同子消息类型,且不同子消息类型对应的优先级不同。例如送礼消息的类型为礼物,可将礼物类型进一步细分为第一类礼物和第二类礼物,第一类礼物对应的优先级和第二类礼物对应的优先级不同。另外,可针对直播场景,在服务器中为各消息类型设置默认的优先级,即主播用户每次开启直播时,服务器中的消息类型与对应的优先级为默认设置。在一些实施例中,主播用户也可以根据自身业务需求对各消息类型对应的优先级进行调整。
S120、当单位时间内已发送的第一优先级的消息的数量达到第一优先级对应的第一数量阈值时,确定第二优先级,其中,第二优先级的等级低于第一优先级的等级。
S130、如果单位时间内已发送的第二优先级的消息的数量小于第二优先级对应的第二数量阈值,则在单位时间内发送待发送消息。
对于上述S120和S130,通常,单位时间为1秒。上述S120中,单位时间为从消息开始发送的时刻起一个或连续多个预设时间段中的任一预设时间段。例如,预设时间段为1秒,服务器接收到客户端的消息拉取请求时,向客户端发送消息,消息发送时间持续了2秒,那么从开始发送消息的时刻开始计算时间,存在连续的两个预设时间段,即第1秒时间段(0秒至第1秒之间的时间)和第2秒时间段(第1秒至第2秒之间的时间),此时,第1秒时间段和第2秒时间段均为本公开中的单位时间;而第0.5秒至第1.5秒之间的时间并非上述单位时间。本公开实施例中,受终端消息处理能力的限制,服务器在单位时间内允许发送的消息的数量有一上限值,即总数量阈值。
本公开实施例中,预先给各优先级的消息设置单位时间内的数量阈值,即各优先级的消息在单位时间内发送的数量最多可达到对应的数量阈值。在一些实施例中,各优先级的消息对应的数量阈值之和小于或等于总数量阈值。
一般来说,当单位时间内已发送的某一优先级的消息的数量达到该优先级对应的第一数量阈值时,该单位时间内不会再发送该优先级的消息。但是当该优先级的消息为较高优先级的消息时,而较低优先级的消息的发送数量仍未达到对应数量阈值,后续则只能发送较低优先级的消息,导致较高优先级的消息的发送数量仍显得较少,无法实现更多的高优先级消息的发送。对于此,本公开实施例在确定单位时间内已发送的与待发送消息优先级相同的消息的数量达到待发送消息优先级对应的第一数量阈值时,进一步确定等级低于待发送消息优先级的第二优先级,以占用第二优先级的消息剩余量来发送待发送消息,从而使得更多较高优先级的消息被发送出去。
在一些实施例中,确定第二优先级,可包括:
S121、从预先划分的消息优先级中确定等级低于第一优先级的低级优先级。
可基于上述技术方案,在为各类型的消息划分优先级的同时,标记表示优先级高低的标识,如阿拉伯数字编号,数字越大则优先级越高,此时可比较数字的大小来确定优先级等级低于待发送消息优先级的低级优先级。在一些实施例中,也可以将各类型的消息的优先级按从高到低的顺序排列,将排在待发送消息优先级之后的优先级确定为低级优先级。本公开实施例对低级优先级的确定方法不作限定。
S122、将全部低级优先级确定为第二优先级。
此时,第二优先级可包括一个或多个优先级。
相应的,当第二优先级包括一个优先级时,上述S130中,第二数量阈值应理解为该优先级对应的数量阈值;当第二优先级包括多个优先级时,上述S130中,第二数量阈值应理解为该多个优先级对应的数量阈值之和。对于上述S130,只要存在任一低级优先级且单位时间内已发送的该低级优先级的消息的数量小于该低级优先级对应的数量阈值,则发送待发送消息。如此,可最大程度地多发送高优先级的消息。在实际应用中,如果存在多个低级优先级且单位时间内已发送的各低级优先级的消息的数量均小于对应的数量阈值,则可以按照优先级由高到低的顺序占用低级优先级的消息剩余量。
在一些实施例中,确定第二优先级,可包括:
S221、从预先划分的消息优先级中确定等级低于第一优先级的低级优先级。
S222、从低级优先级中确定与优先级相关联的一个或多个关联优先级。
示例性的,除最低优先级之外,可以为每个优先级关联相对较低的一个或多个优先级。例如,消息的优先级可划分为第一类优先级、第二类优先级、第三类优先级和第四类优先级,第一类优先级、第二类优先级、第三类优先级和第四类优先级的等级依次增高;第二类优先级可关联第一类优先级,第三类优先级可关联第一类优先级和/或第二类优先级,第四类优先级可关联第一类优先级、第二类优先级和第三类优先级中的至少一个。
在一些实施例中,根据消息的重要程度划分消息的优先级,消息的重要程度越高,对应的优先级越高;同时,为避免某一较低优先级的消息在某一单位时间内完全发送不出去,可根据消息的重要程度设置各优先级所关联的优先级,对于重要程度较低的消息,其优先级可不关联低级优先级或关联部分低级优先级,对于重要程度较高的消息,其优先级可关联部分或全部低级优先级。例如,上述方案中,第二类优先级可关联或不关联第一类优先级,第三类优先级可关联第二类优先级,第四类优先级可关联第三类优先级、第二类优先级和第一类优先级。
S223、将关联优先级确定为第二优先级。
此时,对于上述S130,仅当单位时间内已发送的关联优先级的消息的数量小于关联优先级对应的数量阈值时,才发送待发送消息,降低了单位时间内较低优先级的消息完全发送不出去的可能性。
在一些实施例中,确定第二优先级,可包括:
S321、从预先划分的消息优先级中确定等级低于第一优先级的低级优先级。
S322、在存在多个低级优先级的情况下,确定各低级优先级对应的消息剩余量。
其中,对于任一低级优先级,消息剩余量为单位时间内可发送消息的数量阈值与已发送消息的数量之差。
S320、将消息剩余量最多的低级优先级确定为第二优先级。
此时,对于上述S130,在发送待发送消息时,可根据各低级优先级下消息剩余量,实时调整所占用的低级优先级,既尽可能多的发送了较高优先级的消息,又避免了由于较高优先级的消息过多地占用某一较低优先级的消息剩余量而导致的该较低优先级的消息无法发送的问题。
上述技术方案中,可以理解的是,当单位时间内已发送的与待发送消息优先级相同的消息的数量小于待发送消息优先级对应的第一数量阈值时,仍占用待发送消息优先级的消息剩余量发送待发送消息。
基于上述各实施例,在一些实施例中,消息发送方法还可包括:如果单位时间内已发送的第二优先级的消息的数量达到第二优先级对应的第二数量阈值,则丢弃待发送消息。同时可以理解的是,当单位时间内已发送的优先级的消息的数量达到优先级对应的第一数量阈值时,如果没有第二优先级,例如,待发送消息的优先级最低,或者待发送消息的优先级没有关联优先级,则丢弃待发送消息。
在一些实施例中,在发送待发送消息之后,消息发送方法还可包括:
累加单位时间内已发送的第二优先级的消息的数量。
由于待发送消息占用第二优先级的消息剩余量进行发送,因此在发送待发送消息之后,应累加单位时间内已发送的第二优先级的消息的数量。需要说明的是,当第二优先级包括多个优先级时,仅累加单位时间内已发送的待发送消息所占用优先级的消息的数量。另外,在下一单位时间开始时,上一单位时间内累计的已发送的各优先级的消息的数量清零。
本公开实施例提供的消息发送方法,通过对消息划分优先级,设定各优先级的消息在单位时间内可发送的数量阈值,从而限制了各优先级的消息在单位时间内的发送数量,使得各优先级的消息在单位时间内均有可能被下发。而且,当单位时间内已发送的与待发送消息的优先级相同的消息的数量达到待发送消息的优先级对应的第一数量阈值时,会确定比待发送消息的优先级等级低的第二优先级,如果单位时间内已发送的第二优先级的消息的数量小于第二优先级对应的第二数量阈值,则发送待发送消息;由此,实现了一种优先级抢占机制,即较高优先级的消息发送达到对应数量阈值时,在确定有较低优先级的消息发送未达到对应数量阈值时,较高优先级的消息可抢占较低优先级的消息的消息剩余量进行发送,保证单位时间内尽可能多的发送较高优先级的消息。
图2为本公开实施例中的一种消息发送装置的结构框图。本公开实施例所提供的消息发送装置可以配置于服务端中,如图2所示,该装置具体包括:
第一优先级确定模块201,用于确定待发送消息的第一优先级;
第二优先级确定模块202,用于当单位时间内已发送的第一优先级的消息的数量达到第一优先级对应的第一数量阈值时,确定第二优先级,其中,第二优先级的等级低于第一优先级的等级;
消息发送模块203,用于如果单位时间内已发送的第二优先级的消息的数量小于第二优先级对应的第二数量阈值,则在单位时间内发送待发送消息。
可选的,第一优先级确定模块201包括:
消息类型确定单元,用于确定待发送消息的类型;
第一优先级确定单元,用于基于待发送消息的类型以及预先设置的消息类型与优先级的对应关系,确定待发送消息的第一优先级。
可选的,第二优先级确定模块202包括:
第二优先级确定单元,用于从预先划分的消息优先级中确定等级低于第一优先级的低级优先级;
第三优先级确定单元,用于将全部低级优先级确定为第二优先级。
可选的,第二优先级确定模块202包括:
第二优先级确定单元,用于从预先划分的消息优先级中确定等级低于第一优先级的低级优先级;
第四优先级确定单元,用于从低级优先级中确定与优先级相关联的一个或多个关联优先级;
第五优先级确定单元,用于将关联优先级确定为第二优先级。
可选的,第二优先级确定模块202包括:
第二优先级确定单元,用于从预先划分的消息优先级中确定等级低于第一优先级的低级优先级;
剩余消息数量确定单元,用于在存在多个低级优先级的情况下,确定各低级优先级对应的消息剩余量,其中,消息剩余量为单位时间内可发送消息的数量阈值与已发送消息的数量之差;
第六优先级确定单元,用于将消息剩余量最多的低级优先级确定为第二优先级。
可选的,消息发送装置还包括:
消息丢弃模块,用于如果单位时间内已发送的第二优先级的消息的数量达到第二优先级对应的第二数量阈值,则丢弃待发送消息。
可选的,消息发送装置还包括:
计数模块,用于在发送待发送消息之后,累加单位时间内已发送的第二优先级的消息的数量。
本公开实施例提供的消息发送装置,可执行本公开方法实施例所提供的消息发送方法中服务端所执行的步骤,具备执行方法相应的功能模块和有益效果。
图3为本公开实施例中的一种电子设备的结构示意图。下面具体参考图3,其示出了适于用来实现本公开实施例中的电子设备300的结构示意图。本公开实施例中的电子设备300可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的消息发送方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(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所述的消息发送方法,其特征在于,所述确定第二优先级,包括:
从预先划分的消息优先级中确定等级低于所述第一优先级的低级优先级;
在存在多个所述低级优先级的情况下,确定各所述低级优先级对应的消息剩余量,其中,所述消息剩余量为所述单位时间内可发送消息的数量阈值与已发送消息的数量之差;
将消息剩余量最多的所述低级优先级确定为所述第二优先级。
6.根据权利要求1所述的消息发送方法,其特征在于,所述方法还包括:
如果所述单位时间内已发送的所述第二优先级的消息的数量达到所述第二优先级对应的第二数量阈值,则丢弃所述待发送消息。
7.根据权利要求1所述的消息发送方法,其特征在于,在所述发送所述待发送消息之后,所述方法还包括:
累加所述单位时间内已发送的所述第二优先级的消息的数量。
8.一种消息发送装置,其特征在于,包括:
第一优先级确定模块,用于确定待发送消息的第一优先级;
第二优先级确定模块,用于当单位时间内已发送的所述第一优先级的消息的数量达到所述第一优先级对应的第一数量阈值时,确定第二优先级,其中,所述第二优先级的等级低于所述第一优先级的等级;
消息发送模块,用于如果所述单位时间内已发送的所述第二优先级的消息的数量小于所述第二优先级对应的第二数量阈值,则在所述单位时间内发送所述待发送消息。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述电子设备实现如权利要求1-7中任一所述的消息发送方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被计算设备执行时实现如权利要求1-7中任一所述的消息发送方法。
CN202110389105.0A 2021-04-12 2021-04-12 一种消息发送方法、装置、设备和存储介质 Pending CN115209166A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110389105.0A CN115209166A (zh) 2021-04-12 2021-04-12 一种消息发送方法、装置、设备和存储介质
PCT/CN2022/081913 WO2022218103A1 (zh) 2021-04-12 2022-03-21 一种消息发送方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110389105.0A CN115209166A (zh) 2021-04-12 2021-04-12 一种消息发送方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN115209166A true CN115209166A (zh) 2022-10-18

Family

ID=83570691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110389105.0A Pending CN115209166A (zh) 2021-04-12 2021-04-12 一种消息发送方法、装置、设备和存储介质

Country Status (2)

Country Link
CN (1) CN115209166A (zh)
WO (1) WO2022218103A1 (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002044138A (ja) * 2000-07-25 2002-02-08 Nec Corp ネットワークシステム,キャッシュサーバ,中継サーバ,ルータ,キャッシュサーバ制御方法及び記録媒体
US20050081246A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation Priority mechanism for distributed sending of media data
CN1816017A (zh) * 2006-03-10 2006-08-09 杭州华为三康技术有限公司 一种数据报文的发送方法
CN102223306A (zh) * 2011-06-17 2011-10-19 中兴通讯股份有限公司 一种报文传输方法及装置
CN102521057A (zh) * 2011-12-31 2012-06-27 曙光信息产业股份有限公司 资源调度方法和装置
US20150052213A1 (en) * 2013-08-16 2015-02-19 International Business Machines Corporation Managing conversations, awareness and availability on multi-device messaging systems based on modeling device usage over time
CN104509047A (zh) * 2012-07-31 2015-04-08 华为技术有限公司 报文传输系统中分配报文缓冲区的方法
US20160127298A1 (en) * 2014-11-04 2016-05-05 International Business Machines Corporation Crowd determined message response system
CN107006000A (zh) * 2015-10-12 2017-08-01 华为技术有限公司 用于传输消息的方法和用户设备
CN108259377A (zh) * 2018-02-13 2018-07-06 中国联合网络通信集团有限公司 队列分配方法及装置
CN110662085A (zh) * 2019-10-16 2020-01-07 北京字节跳动网络技术有限公司 消息发送方法、装置、可读介质及电子设备
CN111355673A (zh) * 2018-12-24 2020-06-30 深圳市中兴微电子技术有限公司 一种数据处理方法、装置、设备及存储介质
CN111798113A (zh) * 2020-06-28 2020-10-20 北京小米松果电子有限公司 资源分配方法、装置、存储介质和电子设备
CN112199174A (zh) * 2020-09-30 2021-01-08 北京字节跳动网络技术有限公司 消息发送的控制方法、装置、电子设备及计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983278A (en) * 1996-04-19 1999-11-09 Lucent Technologies Inc. Low-loss, fair bandwidth allocation flow control in a packet switch
US7941175B1 (en) * 1999-12-20 2011-05-10 Telefonaktiebolaget L M Ericsson (Publ) Signal prioritization in a communications system
US8139596B2 (en) * 2007-06-15 2012-03-20 International Business Machines Corporation Communicating prioritized messages to a destination queue from multiple source queues using source-queue-specific priority values
US8045977B2 (en) * 2007-11-01 2011-10-25 Honeywell International Inc. Method for maintaining datalink network throughput by delaying lower priority messages
CN103491597B (zh) * 2013-09-06 2016-05-11 京信通信系统(中国)有限公司 一种微基站的接入控制方法及装置
CN112423404B (zh) * 2020-11-10 2022-09-06 中国人民解放军海军航空大学航空作战勤务学院 一种无人机随机接入组网协议方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002044138A (ja) * 2000-07-25 2002-02-08 Nec Corp ネットワークシステム,キャッシュサーバ,中継サーバ,ルータ,キャッシュサーバ制御方法及び記録媒体
US20050081246A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation Priority mechanism for distributed sending of media data
CN1816017A (zh) * 2006-03-10 2006-08-09 杭州华为三康技术有限公司 一种数据报文的发送方法
CN102223306A (zh) * 2011-06-17 2011-10-19 中兴通讯股份有限公司 一种报文传输方法及装置
CN102521057A (zh) * 2011-12-31 2012-06-27 曙光信息产业股份有限公司 资源调度方法和装置
CN104509047A (zh) * 2012-07-31 2015-04-08 华为技术有限公司 报文传输系统中分配报文缓冲区的方法
US20150052213A1 (en) * 2013-08-16 2015-02-19 International Business Machines Corporation Managing conversations, awareness and availability on multi-device messaging systems based on modeling device usage over time
US20160127298A1 (en) * 2014-11-04 2016-05-05 International Business Machines Corporation Crowd determined message response system
CN107006000A (zh) * 2015-10-12 2017-08-01 华为技术有限公司 用于传输消息的方法和用户设备
CN108259377A (zh) * 2018-02-13 2018-07-06 中国联合网络通信集团有限公司 队列分配方法及装置
CN111355673A (zh) * 2018-12-24 2020-06-30 深圳市中兴微电子技术有限公司 一种数据处理方法、装置、设备及存储介质
CN110662085A (zh) * 2019-10-16 2020-01-07 北京字节跳动网络技术有限公司 消息发送方法、装置、可读介质及电子设备
CN111798113A (zh) * 2020-06-28 2020-10-20 北京小米松果电子有限公司 资源分配方法、装置、存储介质和电子设备
CN112199174A (zh) * 2020-09-30 2021-01-08 北京字节跳动网络技术有限公司 消息发送的控制方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
WO2022218103A1 (zh) 2022-10-20

Similar Documents

Publication Publication Date Title
CN110662085B (zh) 消息发送方法、装置、可读介质及电子设备
CN110753235A (zh) 直播间红包处理方法、装置、介质及电子设备
CN109474688B (zh) 即时通信网络请求消息的发送方法、装置、设备和介质
CN112311656B (zh) 消息聚合、展示方法、装置、电子设备和计算机可读介质
CN112311841B (zh) 信息推送方法、装置、电子设备和计算机可读介质
CN112199174A (zh) 消息发送的控制方法、装置、电子设备及计算机可读存储介质
CN112954354B (zh) 视频的转码方法、装置、设备和介质
CN111246228B (zh) 直播间礼物资源更新方法、装置、介质及电子设备
CN110290398B (zh) 视频下发方法、装置、存储介质及电子设备
CN112337101A (zh) 基于直播的数据交互方法、装置、电子设备和可读介质
CN112035030A (zh) 信息展示方法、装置和电子设备
CN111432001A (zh) 用于跳转场景的方法、装置、电子设备和计算机可读介质
CN111147885B (zh) 直播间互动方法、装置、可读介质及电子设备
CN110910469A (zh) 一种绘制笔迹的方法、装置、介质和电子设备
CN111209432A (zh) 信息获取的方法、装置、电子设备及计算机可读介质
CN113364767B (zh) 一种流媒体数据显示方法、装置、电子设备及存储介质
CN114422482A (zh) 消息的发送方法、装置、电子设备、存储介质和程序产品
CN114817698A (zh) 信息推送方法及装置、信息展示方法及装置、设备和介质
CN111225255B (zh) 目标视频推送播放方法、装置、电子设备及存储介质
CN111478916B (zh) 基于视频流的数据传输方法、设备和存储介质
CN112243157A (zh) 直播控制方法、装置、电子设备及计算机可读介质
CN115209166A (zh) 一种消息发送方法、装置、设备和存储介质
CN115378878B (zh) Cdn的调度方法、装置、设备及存储介质
CN112040328B (zh) 数据交互方法、装置和电子设备
CN114979762A (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