消息处理方法及装置与流程

文档序号:11180497阅读:395来源:国知局
消息处理方法及装置与流程

本发明涉及信息处理领域,尤其涉及一种消息处理方法及装置。



背景技术:

随着通信技术的发展,出现了越来越多的娱乐方式,如微博、手机游戏、网络视频直播等,其中网络视频直播由于其直观、内容丰富等特点,尤其受到人们的欢迎。

在直播网站中或者直播网站中的一个直播间内,用户可以通过向服务器发送消息实现直播网站中的多种功能,例如互动功能、广播功能等等。现有技术中,服务器实时接收用户发送的消息,并实时将消息发送至客户端,增大了服务器的消息处理压力。



技术实现要素:

有鉴于此,本发明实施例提供一种消息处理方法及装置,通过对消息进行分类以及合并处理,减轻服务器的消息处理压力。

本发明实施例提供一种消息处理方法,包括:

将预设时间内接收到的至少一种类型的消息放入缓存队列中;

对所述缓存队列中的消息按照消息类型同一性进行分组处理,以获得各消息组;

对同一消息组内的消息进行合并处理;

将合并处理后的各消息组发送至对应的接收方。

可选地,所述消息类型包括如下类型中的至少一种:全站广播消息类型、面向部分直播间广播的消息类型、面向主播的消息类型、面向观看用户的消息类型。

可选地,所述对同一消息组内的消息进行合并处理,包括:

对相同/相似消息内容的消息进行合并;和/或

对同一消息来源的消息进行合并;和/或

对同一接收方的消息进行合并。

可选地,所述消息类型包括所述面向部分直播间广播的消息类型,所述对同一消息组内的消息进行合并处理,包括:

针对所述各消息组中与所述面向部分直播间广播的消息类型对应的任一消息组:

根据所述任一消息组内消息对应的直播间标识,对所述任一消息组内消息进行分组处理,以获得各子分组;

根据预设的直播间标识与区域转发节点间的对应关系,确定与所述各直播间标识对应的各区域转发节点;

将所述各子分组中的消息分别发送至对应的区域转发节点,以通过所述区域转发节点转发至对应的直播间。

可选地,所述将预设时间内接收到的至少一种类型的消息放入缓存队列中,包括:

若服务器的处理负载大于预设阈值,则将预设时间内接收到的至少一种类型的消息放入缓存队列中。

本发明实施例提供一种消息处理装置,包括:

缓存模块,用于将预设时间内接收到的至少一种类型的消息放入缓存队列中;

分组模块,用于对所述缓存队列中的消息按照消息类型同一性进行分组处理,以获得各消息组;

合并模块,用于对同一消息组内的消息进行合并处理;

发送模块,用于将合并处理后的各消息组发送至对应的接收方。

可选地,所述消息类型包括如下类型中的至少一种:全站广播消息类型、面向部分直播间广播的消息类型、面向主播的消息类型、面向观看用户的消息类型;

所述合并模块具体用于:

对相同/相似消息内容的消息进行合并;和/或

对同一消息来源的消息进行合并;和/或

对同一接收方的消息进行合并。

可选地,所述消息类型包括所述面向部分直播间广播的消息类型,所述合并模块具体包括:

分组单元,用于根据任一消息组内消息对应的直播间标识,对所述任一消息组内消息进行分组处理,以获得各子分组,其中,所述任一消息组为所述各消息组中与所述面向部分直播间广播的消息类型对应的任一消息组;

确定单元,用于根据预设的直播间标识与区域转发节点间的对应关系,确定与所述各直播间标识对应的各区域转发节点;

发送单元,用于将所述各子分组中的消息分别发送至对应的区域转发节点,以通过所述区域转发节点转发至对应的直播间。

可选地,所述缓存模块还用于:

若服务器的处理负载大于预设阈值,则将预设时间内接收到的至少一种类型的消息放入缓存队列中。

本发明实施例提供的消息处理方法及装置,消息服务器首先将预设时间内接收到的消息放入缓存队列中,进而,按照消息类型对缓存队列中的消息进行分组,也即是使消息服务器能够针对每个消息类型获得与该消息类型对应的一个消息组。消息服务器对能够合并的消息进行一次性的消息处理,这样能够降低消息服务器的消息处理压力,同时对于消息组中其余不能合并的消息仍旧作为一条独立的消息处理。最终,再将合并处理后的各消息组中各消息发送至对应的接收方。基于此,消息服务器通过对消息进行缓存、分组以及合并处理,能够有效减少消息服务器处理消息的次数,从而降低消息服务器的消息处理压力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的消息处理方法实施例一的流程图;

图2为本发明实施例提供的消息处理方法实施例二的流程图;

图3为本发明实施例提供的消息处理方法实施例三的流程图;

图4为本发明实施例提供的消息处理装置实施例一的结构示意图;

图5为本发明实施例提供的消息处理装置实施例二的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述xxx,但这些xxx不应限于这些术语。这些术语仅用来将xxx彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一xxx也可以被称为第二xxx,类似地,第二xxx也可以被称为第一xxx。

取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

图1为本发明实施例提供的消息处理方法实施例一的流程图,本实施例提供的该消息处理方法的执行主体可以为消息服务器,如图1所示,该方法包括如下步骤:

s101,将预设时间内接收到的至少一种类型的消息放入缓存队列中。

用户可以通过观看客户端访问直播网站或者直播网站中的某一直播间,在访问直播网站或某一直播间期间,用户可以通过在直播网站中触发不同的操作从而产生不同消息类型的消息。用户在触发了某种操作后,观看客户端响应于用户的该操作,向消息服务器发送与该操作对应消息类型的消息。消息服务器接收预设时间内的至少一种类型的消息,并将接收到的消息缓存于缓存队列中。其中,消息服务器接收到的消息中包括用以指示消息类型的消息类型标识。

可选地,消息服务器可以按照消息的接收者对消息进行类型划分。消息类型可以包括全站广播消息类型、面向部分直播间广播的消息类型、面向主播的消息类型、面向观看用户的消息类型。

可选地,实际应用中,当用户在某一直播间内向主播赠送了一个价值较高的虚拟礼物时,此时直播网站通常会将此礼物消息广播至直播网站中的每个直播间以体现出网站用户的活跃性,这种礼物消息对应的消息类型为全站广播消息类型。或者,当直播网站中正在进行某项活动,例如主题线下活动,网站的维护人员为了推广此项活动,会将有关此项活动内容的活动推广消息发送至直播网站中的各个直播间,使当前在线的用户都可以了解这项活动,这种活动推广消息对应的消息类型也为全站广播消息类型。

可选地,当用户选择观看某一类型的直播间并且向主播赠送了礼物价值较高的虚拟礼物时,此时所有观看此类型直播间的用户都可以看到此礼物消息,此种礼物消息对应的类型为面向部分直播间广播的消息类型。

可选地,当用户在观看某一直播间的直播内容时,用户可以通过向主播发送弹幕消息来实现与主播互动,此种弹幕消息对应的消息类型为面向主播的消息类型。

可选地,当用户想要跟同一直播间内的其他用户进行一对一或一对多的聊天互动时,则可以向某一个或几个用户发送弹幕消息,此种弹幕消息对应的消息类型为面向用户的消息类型。

s102,对缓存队列中的消息按照消息类型同一性进行分组处理,以获得各消息组。

由于消息服务器接收到的消息中包括消息类型标识,因此,消息服务器能够根据消息类型标识将缓存队列中的消息按照消息类型进行分组,将相同消息类型的消息放入同一分组中,以得到至少一种消息类型对应的至少一个消息组。

s103,对同一消息组内的消息进行合并处理。

s104,将合并处理后的各消息组发送至对应的接收方。

对同一消息类型的一个消息组内的消息进行合并,以便消息服务器对能够合并的消息进行一次性的处理,而对于该消息组中其余不能合并的消息仍旧作为独立的一条消息进行处理。消息服务器再利用消息中包括的接收方标识将经过合并处理后各消息组中的各条消息发送至对应的接收方。

本实施例中,消息服务器首先将预设时间内接收到的消息放入缓存队列中,进而,按照消息类型对缓存队列中的消息进行分组,也即是使消息服务器能够针对每个消息类型获得与该消息类型对应的一个消息组。消息服务器对能够合并的消息进行一次性的消息处理,这样能够降低消息服务器的消息处理压力,同时对于消息组中其余不能合并的消息仍旧作为一条独立的消息处理。最终,再将合并处理后的各消息组中各消息发送至对应的接收方。基于此,消息服务器通过对消息进行缓存、分组以及合并处理,能够有效减少消息服务器处理消息的次数,从而降低消息服务器的消息处理压力。

图2为本发明实施例提供的消息处理方法实施例二的流程图,如图2所示,该方法可以包括如下步骤:

s201,将预设时间内接收到的至少一种类型的消息放入缓存队列中。

s202,对缓存队列中的消息按照消息类型同一性进行分组处理,以获得各消息组。

上述步骤的执行过程与前述实施例的相应步骤相似,可以参见如图1所示实施例中的相关描述,在此不再赘述。

s203,采用合并策略对同一消息组内的消息进行合并处理,其中,合并策略包括消息内容合并策略、消息来源合并策略以及消息接收方合并策略。

消息服务器接收到消息后,可以获取消息中包括的多种信息,如发送方标识、接收方标识以及内容关键词等等,其中的内容关键词可以用以表示消息的内容。消息服务器根据消息中包括的多种信息采用相应的合并策略对各消息组中的能够进行消息合并的消息进行合并处理,以便消息服务器对能够合并的消息进行一次性的处理,而对于各消息组中不能进行合并处理的消息,仍将其作为单独的一条消息进行处理。其中,合并策略可以包括:消息内容合并策略、消息来源合并策略以及消息接收方合并策略。

值得说明的是,消息服务器可以根据消息组中消息对应的消息类型使用上述的合并策略对同一消息组内的消息进行合并。

可选地,对于全站广播消息类型或者面向部分直播间广播消息类型的消息所属的消息组来说,消息服务器可以采用消息内容合并策略对同一消息组中具有相同/相似消息内容的消息进行合并。

全站广播消息类型的消息可以是某用户向某直播间赠送高价值礼物的礼物消息或者网站活动的活动推广消息。消息服务器将处于全站广播消息类型消息所属的消息组内的每条消息的内容关键词,此内容关键词用以表明礼物消息中的礼物信息例如礼物名称等,或者活动推广消息中的活动信息例如活动名称、持续时间等。进而,消息服务器计算该消息组内各个消息包括的内容关键词之间的关键词相似度,并通过此关键词相似度判断来该消息组中的各条消息是否可以使用消息内容合并策略进行消息合并。

可选地,对于面向观看用户的消息类型的消息所属的消息组来说,消息服务器可以采用消息来源合并策略对该消息组中具有相同消息来源的消息进行合并。

面向观看用户的消息类型的消息可以是用户与用户之间的聊天消息,并且消息中包括的发送者标识可以用以表示消息的来源。消息服务器可以根据此发送者标识将该消息组中某一用户向另一用户发送的多条聊天消息进行合并,以便于消息服务器一次性处理这些消息。

可选地,对于任意一种消息类型的消息所属的消息组来说,消息服务器可以采用消息接收方合并策略对某一消息类型所属的消息组中接收方相同的消息进行合并。

消息服务器获取消息中包括的接收方标识,此接收方标识用以表明消息接收的对象,将该消息组中接收方标识相同的多条消息进行合并,以便于消息服务器一次性处理这些消息。

需要说明的是,上述说明只提到了针对某种消息类型所对应的消息组中的消息单独使用某种合并策略。但消息服务器还可以针对某一消息类型的消息结合使用多种合并策略来对处于同一消息组内的各消息进行合并处理。

可选地,对于面向主播的消息类型的消息所处的消息组,可以将消息内容合并策略以及消息来源合并策略结合使用,对此类型的消息进行合并,也即是将某一用户向某一直播间主播发送的多条消息内容相同或相似的消息进行合并。

可选地,对于面向观看用户的消息类型的消息所处的消息组,可以将消息内容合并策略以及消息接收方合并策略结合使用,将发送至同一用户的并且消息内容相同或相似的多条消息进行合并。

s204,将合并处理后的各消息组发送至对应的接收方。

上述步骤的执行过程与前述实施例的相应步骤相似,可以参见如图1所示实施例中的相关描述,在此不再赘述。

另外,在实际应用中,消息服务器通常是处于正常的工作状态下的,但也会出现消息服务器负载过大的情况。在这种情况下,消息服务器可以将接收到的至少一种类型的消息放入缓存队列中。再通过执行上述步骤s202-s204,对缓存队列中的消息进行分组、合并以及分发操作。

本实施例中,不同的消息组内缓存的是不同消息类型的消息,消息服务器对于不同消息组内的能够合并的消息采用不同的消息合并策略,而对于不同消息组内不能进行合并处理的消息,仍旧当作一条单独的消息进行处理。这样使得消息的合并更加有针性,优化消息合并的效果,从而降低消息服务器的消息处理压力。

图3为本发明实施例提供的消息处理方法实施例三的流程图,当缓存队列中只存在面向部分直播间广播的消息类型的消息时,如图3所示,该方法包括如下步骤:

s301,将预设时间内接收到的面向部分直播间广播的消息类型的消息放入缓存队列中。

上述步骤的执行过程与前述实施例的相应步骤相似,可以参见如图1所示实施例中的相关描述,在此不再赘述。

s302,根据消息组内消息对应的直播间标识,对消息组内消息进行分组处理,以获得各子分组。

对于面向部分直播间广播的消息类型的消息,可选地,消息中包括的接收者标识可以是直播间标识。针对面向部分直播间广播的消息类型的消息所属的消息组,消息服务器可以根据直播间标识对此消息组内的消息进行进一步地分组处理,以形成至少一个子分组。此时每个子分组中的消息是针对某一直播间的消息。

s303,根据预设的直播间标识与区域转发节点间的对应关系,确定与各直播间标识对应的各区域转发节点。

s304,将各子分组中的消息分别发送至对应的区域转发节点,以通过区域转发节点转发至对应的直播间。

可选地,主播在注册一个直播间后,消息服务器可以根据主播注册时填写的位置区域信息为该直播间分配一个具有相同或相近的位置区域的区域转发节点,使区域转发节点与直播间建立起对应关系。并且由于每个直播间都有与其唯一对应的直播间标识,这也就是建立起区域转发节点与直播间标识之间的对应关系。

可选地,消息服务器还可以获取主播客户端对应的ip地址所属的运营商,并为主播客户端对应的直播间分配一个具有相同运营商的区域转发节点,并且通过每个直播间所对应的唯一的直播间标识,进而使消息服务器建立起直播间标识与区域转发节点之间的对应关系。

基于此,消息服务器可以根据上述预设的对应关系确定与直播间标识对应的区域转发节点,将各子分组内的消息发送至对应的区域转发节点,区域节点再将各子分组内的消息发送至与直播间标识对应的直播间,用户此时便可以看到此面向部分直播间广播的消息类型的消息。

同样地,在实际应用中,消息服务器通常是处于正常的工作状态下的,但也会出现消息服务器负载过大的情况。消息服务器可以将接收到的面向部分直播间广播的消息类型的消息放入缓存队列中。再通过执行上述步骤s302-s304,对缓存队列中的消息进行分组、合并以及分发。

本实施例中,针对于缓存队列中缓存的面向部分直播间广播的消息类型的消息,将此类型的消息根据直播间标识进行进一步分组,以进一步提高消息合并的针对性。再将针对不同直播间的广播消息通过与其对应的区域转发节点发送至各个直播间,从而降低了消息服务器的消息分发压力。

图4为本发明实施例提供的消息处理装置实施例一的结构示意图,如图4所示,该消息处理装置包括:缓存模块11、分组模块12、合并模块13、发送模块14。

缓存模块11,用于将预设时间内接收到的至少一种类型的消息放入缓存队列中。

分组模块12,用于对缓存队列中的消息按照消息类型同一性进行分组处理,以获得各消息组。

合并模块13,用于对同一消息组内的消息进行合并处理。

发送模块14,用于将合并处理后的各消息组发送至对应的接收方。

可选地,消息类型包括如下类型中的至少一种:全站广播消息类型、面向部分直播间广播的消息类型、面向主播的消息类型、面向观看用户的消息类型,则该消息处理装置中的合并模块具体用于:合并模块13具体用于:

对相同/相似消息内容的消息进行合并,和/或

对同一消息来源的消息进行合并,和/或

对同一接收方的消息进行合并。

可选地,缓存模块11还用于:

若服务器的处理负载大于预设阈值,则将预设时间内接收到的至少一种类型的消息放入缓存队列中。

图4所示装置可以执行图1或图2所示实施例的方法,本实施例未详细描述的部分,可参考对图1或图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1或图2所示实施例中的描述,在此不再赘述。

图5为本发明实施例提供的消息处理装置实施例二的结构示意图,如图5所示,在图4所示实施例基础上,消息类型包括所述面向部分直播间广播的消息类型,该消息处理装置中的合并模块13具体包括:分组单元131、确定单元132、发送单元133。

分组单元131,用于根据任一消息组内消息对应的直播间标识,对任一消息组内消息进行分组处理,以获得各子分组,其中,任一消息组为各消息组中与面向部分直播间广播的消息类型对应的任一消息组。

确定单元132,用于根据预设的直播间标识与区域转发节点间的对应关系,确定与各直播间标识对应的各区域转发节点。

发送单元133,用于将各子分组中的消息分别发送至对应的区域转发节点,以通过区域转发节点转发至对应的直播间。

可选地,缓存模块11还用于:

若服务器的处理负载大于预设阈值,则将预设时间内接收到的至少一种类型的消息放入缓存队列中。

图5所示装置可以执行图3所示实施例的方法,本实施例未详细描述的部分,可参考对图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3所示实施例中的描述,在此不再赘述。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以产品的形式体现出来,该计算机产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1