消息分级处理方法、装置及电子设备与流程

文档序号:23144880发布日期:2020-12-01 13:24阅读:138来源:国知局
消息分级处理方法、装置及电子设备与流程

本发明涉及信息处理领域,更具体的说,涉及一种消息分级处理方法、装置及电子设备。



背景技术:

伴随着互联网技术的发展,网络直播的应用越来越广泛。直播系统中会使用长连接来进行实时消息处理,其中,长连接是指在一个连接上可以连续发送多个数据包。但是,目前长连接的方式来进行实时消息处理已经无法满足直播系统的消息处理需求。

例如,在线上教育直播过程中,直播间的逻辑服务器会承载直播间所有实时消息的逻辑处理过程,随着业务的不断发展,具体到某一个消息类型的处理流程会越来越复杂,会使得逻辑服务的响应时间变长,增加了逻辑服务器的处理压力。



技术实现要素:

有鉴于此,本发明提供一种消息分级处理方法、装置及电子设备,满足用户关心消息及时响应的同时,减轻逻辑服务器的处理压力。

为解决上述技术问题,本发明采用了如下技术方案:

一种消息分级处理方法,包括:

响应于消息处理请求,将待响应数据划分为实时响应数据和异步响应数据,其中,所述实时响应数据与所述消息处理请求相关联;

通过第一服务器对所述实时响应数据进行处理,得到实时消息处理结果;

通过第二服务器对所述异步响应数据进行处理,得到异步消息处理结果;

将所述实时消息处理结果与所述异步消息处理结果发送给所述消息处理请求对应的客户端;

其中,所述第一服务器和所述第二服务器是相对独立的两个服务器。

可选地,所述异步响应数据包括由第一服务器生成的异步响应消息队列,所述响应于消息处理请求,将待响应数据划分为实时响应数据和异步响应数据,包括:

对所述消息处理请求进行分析,获得需求信息,所述需求信息表征所述消息处理请求对应的客户端需要得到的反馈信息;

在待响应数据中确定与所述需求信息相关联的实时响应数据;

通过第一服务器将所述待响应数据中除所述实时响应数据之外的数据,生成异步响应消息队列。

可选地,所述对所述消息处理请求进行分析,获得需求信息,包括:

对所述消息处理请求进行分析,获得与所述消息处理请求对应的类型标识;

获取与所述类型标识相匹配的需求信息。

可选地,所述方法还包括:

将所述异步消息处理结果进行缓存;

响应于接收到所述客户端针对所述异步消息处理结果的反馈指令,将所述异步消息处理结果发送至所述客户端。

可选地,所述响应于接收到所述客户端针对所述异步消息处理结果的反馈指令,将所述异步消息处理结果发送至所述客户端,包括:

响应于接收到客户端发送的统计请求,对所述异步消息处理结果进行信息统计,获得统计结果;

将所述统计结果发送至所述客户端。

可选地,所述第二服务器包括多个子服务器,所述通过所述第二服务器对所述异步响应数据进行处理,得到异步消息处理结果,包括:

将所述异步响应数据分配至各个所述子服务器,使得所述各个子服务器生成异步消息处理结果。

一种消息分级处理装置,包括:

划分单元,用于响应于消息处理请求,将待响应数据划分为实时响应数据和异步响应数据,其中,所述实时响应数据与所述消息处理请求相关联;

第一处理单元,用于通过第一服务器对所述实时响应数据进行处理,得到实时消息处理结果;

第二处理单元,用于通过第二服务器对所述异步响应数据进行处理,得到异步消息处理结果;

发送单元,用于将所述实时消息处理结果与所述异步消息处理结果发送给所述消息处理请求对应的客户端;

其中,所述第一服务器和所述第二服务器是相对独立的两个服务器。

一种消息分级处理系统,所述系统包括:

客户端,用于生成消息处理请求,将所述消息处理请求发送至第一服务器;

所述第一服务器,用于将待响应数据划分为实时响应数据和异步响应数据,并对所述实时响应数据进行处理,得到实时消息处理结果,将所述实时处理消息结果反馈给所述客户端;还用于所述异步响应数据发送给第二服务器;

所述第二服务器,用于对所述异步响应数据进行处理,得到异步消息处理结果,并将所述异步消息处理结果发送给所述客户端。

一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行如上任意一项所述的消息分级处理方法。

一种电子设备,包括:存储器和处理器;

其中,所述存储器用于存储程序;

处理器调用程序并用于:

响应于消息处理请求,将待响应数据划分为实时响应数据和异步响应数据,其中,所述实时响应数据与所述消息处理请求相关联;

通过第一服务器对所述实时响应数据进行处理,得到实时消息处理结果;

通过第二服务器对所述异步响应数据进行处理,得到异步消息处理结果;

将所述实时消息处理结果与所述异步消息处理结果发送给所述消息处理请求对应的客户端;

其中,所述第一服务器和所述第二服务器是相对独立的两个服务器。

相较于现有技术,本发明具有以下有益效果:

本发明提供了一种消息分级处理方法、装置及电子设备,通过本发明可以基于消息处理请求将待响应数据划分为实时响应数据和异步响应数据,通过第一服务器通过第一服务器对实时响应数据进行处理,得到实时消息处理结果;并通过第二服务器对异步响应数据进行处理,得到异步消息处理结果,实现了满足用户关心消息及时响应的同时,通过第二服务器进行异步响应数据的处理可以减轻第一服务器的处理压力。

附图说明

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

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

图2为本发明实施例提供的一种答题上报的处理流程的示意图;

图3为本发明实施例提供的一种服务器拓扑结构示意图;

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

具体实施方式

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

目前,直播系统中会提供长连接来进行实时消息处理。直播间逻辑服务承载了直播间中所有实时消息的逻辑处理过程,但是随着业务的发展,具体到某一个消息类型的处理流程会越来越复杂。

本发明的发明人经过对上述应用场景的研究发现,如果可以通过实时消息通信的分级处理,将有以下优势:

可以对于一条消息处理的各个步骤进行级别划分,将请求者非必须的处理结果做异步处理,以缩短响应时间,并且可以减轻服务器的处理压力。

本发明实施例提供了一种消息分级处理方法,用于实现消息通信的分级处理,参照图1,具体可以包括:

s101、响应于消息处理请求,将待响应数据划分为实时响应数据和异步响应数据。

该消息处理请求来源于客户端,可以是指其希望通过当前直播数据获得符合某些条件的数据的请求。例如,消息处理请求为当前直播间的学生是否都在进行直播学习。

待响应数据是指当前所有的直播数据,即当前直播产生的所有数据如流量数据、互动数据、访问数据等等。实时响应数据是与消息处理请求相关联的数据,即待响应数据中能够完成对消息处理请求进行的数据。而异步响应数据是指当前客户端不条关心的处理结果对应的数据,如可以进行统计排名的统计数据等。

s102、通过第一服务器对实时响应数据进行处理,得到实时消息处理结果。

s103、通过第二服务器对所述异步响应数据进行处理,得到异步消息处理结果。

需要说明的是,在本发明的实施架构中,第一服务器与第二服务器是相互独立的服务器,具体的,第一服务器可以是逻辑服务器,第二服务器可以是微服务器。然后通过第一服务器对实时响应数据进行处理,得到实时消息处理结果,通过第二服务器对异步响应数据进行处理,得到异步消息处理结果。从而实现了实时响应数据和异步响应数据的分开处理,使得对消息处理请求的步骤减少,第一服务器待处理的数据减少了,使得响应速度更快,降低了服务器的压力。

在一种可能的实现方式中,本发明实施例中的第二服务器可以包括多个从服务器,将异步响应数据分配至各个子服务器,使得各个子服务器生成异步消息处理结果。即在对异步数据处理的时候,也可以基于处理流程进行数据的分析,根据分析结果分配至对应的服务器进行处理,从而使得处理效率更快。

s104、将所述实时消息处理结果与所述异步消息处理结果发送给所述消息处理请求对应的客户端。

将第一服务器得到的实时消息处理结果直接反馈给发出消息处理请求的客户端,第二服务器在处理得到异步消息处理结果后可以直接发送给客户端,也可以是先缓存,在得到用户的请求指令的时候再发送,本发明实施例中不限定实时消息处理结果和异步消息处理结果的发送时间,即哪个处理服务器先处理完成就可以将结果直接发送给客户端。在本发明的另一种可能的实现方式中是根据异步消息处理结果生成对应的提示信息,使得客户端根据提示信息确定是否生成异步消息处理结果的请求指令。在该实施方式中,可以先将异步消息处理结果进行缓存,响应于接收到所述客户端针对所述异步消息处理结果的请求指令,将所述异步消息处理结果发送至所述客户端。

可以先将异步消息处理结果进行缓存,当接收到客户端发送的统计请求时,对所述异步消息处理结果进行信息统计,获得统计结果;将所述统计结果发送至所述客户端。通常的统计请求需要对满足某些条件的信息进行统计,如在某个时间段的信息进行统计,因此可以先将异步消息处理结果进行缓存待满足统计条件后,生成统计结果反馈给客户端。

例如,将异步消息处理结果进行缓存时,会生成与异步消息处理结果相对应的提示信息,若接收到客户端根据提示信息生成对的可进行显示的反馈信息,将异步消息处理结果发送到客户端,使得所述客户端对所述异步消息处理结果进行显示。具体的,如异步消息处理结果是互动数据排行榜,可以生成的提示信息是排行榜的文字信息,当客户端用户点击该排行榜时,将互动数据排行榜的所有数据发送给客户端,使得客户端显示排行榜对应的图表信息。

需要说明的是,当客户端不需要对该异步数据处理结果进行显示时,会将异步数据处理结果由缓存状态切换至存储状态,即存储在目标区域,使得下次处理与该异步数据对应的请求时,可以通过目标区域的存储信息直接调取获得该结果。

在本发明实施例的一种可能的实施方式中,异步响应数据包括由第一服务器生成的异步响应消息队列,即将异步响应数据以消息队列的形式发送给第二服务器进行处理。其中,所述响应于消息处理请求,将待响应数据划分为实时响应数据和异步响应数据,包括:

对所述消息处理请求进行分析,获得需求信息,所述需求信息表征所述消息处理请求对应的客户端需要得到的反馈信息;

在待响应数据中确定与所述需求信息相关联的实时响应数据;

通过第一服务器将所述待响应数据中除所述实时响应数据之外的数据,生成异步响应消息队列。

即当接收到客户端发送的消息处理请求时,对该消息处理请求进行分析,获得需求信息,该需求信息是指客户端用户期望能够得到的反馈信息。然后在待响应数据中根据该需求信息确定对应的实时响应数据,该实时响应数据是在接收到客户端发送的消息处理请求时,立即要进行处理的数据。从而使得对该实时响应数据进行处理,能够得到用户希望得到的需求信息。然后会通过第一服务器会生成异步响应数据的消息队列,其可以是通过数据提取的该消息队列,然后发送给第二服务器,使得第二服务器能够对该消息进行处理。例如,可以为每一个消息处理请求确定一个与之对应的类型标识,然后将类型标识与需求信息进行匹配,通过与该类型标识对应的处理模式对该信息处理请求对应的处理流程进行拆分,得到实时响应数据和异步响应数据。从而可以根据消息处理请求快速确定实时响应数据和异步响应数据。

下面以线上教育直播场景举例说明。参见图2,其示出了一种答题上报的处理流程。该处理过程包括9个步骤:

步骤1:判断用户是否重复答题;

步骤2:题目选项统计;

步骤3:直播间正确人数统计;

步骤4:直播间答题人数统计;

步骤5:加入直播间排行榜;

步骤6:加入所属班组排行榜;

步骤7:所属班组答题人数统计;

步骤8:所述班组答对人数统计;

步骤9:生成同班同学都在学的提示语。

对于客户端上报者的视角来看,其只关系上报是否成功,至于各个选项、各种人数的统计,上报者自身并不关心,因此可以将实时消息请求处理步骤进行分级得到两类:一类是请求者关心的,比如上述处理流程中的是否重复答题(步骤1)、同班同学都在学的提示语的步骤(步骤9),一类可以系统中其他用户关心的,比如各种统计(步骤2-8)。根据这一分级,可以在处理流程中处理完请求者关心的数据就做返回,并且将统计处理在另一个服务中进行异步处理。

由于在本发明实施例中包括第一服务器和第二服务器,而实时响应数据通过第一服务器进行处理,当仅需要对实时响应数据进行处理时,可以考虑两个服务器的负载均衡,将实时数据的处理过程分配到两个处理器,也可以是若消息处理请求可以拆分为两个子请求时将各个子请求对应的数据分别分配到第一服务器和第二服务器进行处理,但是需要说明的是,由于第一服务器和第二服务器在该过程中均处理的是实时数据,因此将处理结果返回给客户端时是处理完成后立即返回。该方式可以提升服务器的处理效率。

当在对消息处理请求进行数据处理时,会有新增的需求,需要对该需求进行分析,确定当前需求是否应该在提交后立即返回,还是可以允许延后接收,如果是前者通过第一服务器进行处理,如果是后者通过第二服务器进行异步处理。也可以是对该新增的消息处理请求按照对应的业务逻辑进行流程拆分,得到实时响应数据和异步响应数据,将对应的数据发送至处理该数据的服务器。因此,在本发明实施例中还包括:响应于在对当前消息处理请求进行处理的过程中,接收到新消息处理请求,对所述消息处理请求进行分析;若分析结果满足实时消息处理条件(比如:解析结果是请求者关心的数据),将所述新消息处理请求添加至实时消息处理队列;若分析结果满足异步消息处理条件,将所述新消息处理请求添加至异步消息处理队列。其中,实时消息处理条件是指解析结果为请求者关心的数据的条件,如可以是解析结果是否包括特定的标识信息,而该标识信息表征请求者关心的数据对应的标识。异步消息处理条件是指解析结果为请求者暂时不关心的数据的条件,如解析结果表征该新消息处理请求是请求者通过推荐界面选择的请求信息,即该请求并不是请求者直接发出的请求,可以是其暂时不关心的请求数据。

在本发明实施例中还提供了一种消息分级处理系统,该系统包括:

客户端,用于生成消息处理请求,将所述消息处理请求发送至第一服务器;

所述第一服务器,用于将待响应数据划分为实时响应数据和异步响应数据,并对所述实时响应数据进行处理,得到实时消息处理结果,将所述实时处理消息结果反馈给所述客户端;还用于所述异步响应数据发送给第二服务器;

所述第二服务器,用于对所述异步响应数据进行处理,得到异步消息处理结果,并将所述异步消息处理结果推送给所述客户端。

下面以第一服务器功能为逻辑服务,第二服务器功能为微服务对该消息分级处理系统进行说明。参见图3,其示出了本发明实施例提供的一种服务器拓扑结构示意图,并结合图2提供的处理流程进行说明。

客户端发送请求之后,逻辑服务只处理跟请求客户端关心的数据,然后就触发图2中步骤2的返回;同时逻辑服务会异步发送数据处理请求3-1到3-n消息队列,微服务将这些请求消息分离出来,在做处理,将处理的结果通过推送服务发给客户端。具体到图2消息的各个处理步骤来说,逻辑服务在处理完步骤1和步骤9之后,就可以返回数据了,步骤2-步骤8都可以发送到消息队列,得到微服务处理完成后依次将结果推送给客户端。

在本发明实施例中消息分级处理,提升了逻辑服务的响应时间,由于现在请求处理的步骤减少了,所以响应时间也会缩短,同时即时以后当前请求处理又有新的需求增加,也不会让当前请求处理的时间无限制拉长。降低了逻辑服务的代码复杂度,由于之前所有的数据处理都是在逻辑服务中做的,现在将若干功能拆分到微服务后,降低了逻辑服务的代码复杂度。

参见图4,在本发明实施例还提供了一种消息分级处理装置,包括:

划分单元10,用于响应于消息处理请求,将待响应数据划分为实时响应数据和异步响应数据,其中,所述实时响应数据与所述消息处理请求相关联;

第一处理单元20,用于通过第一服务器对所述实时响应数据进行处理,得到实时消息处理结果;

第二处理单元30,用于通过第二服务器对所述异步响应数据进行处理,得到异步消息处理结果;

发送单元40,用于将所述实时消息处理结果与所述异步消息处理结果发送给所述消息处理请求对应的客户端;

其中,所述第一服务器和所述第二服务器是相对独立的两个服务器。

在上述实施例的基础上,所述异步响应数据包括由第一服务器生成的异步响应消息队列,所述划分单元包括:

分析子单元,用于对所述消息处理请求进行分析,获得需求信息,所述需求信息表征所述消息处理请求对应的客户端需要得到的反馈信息;

确定子单元,用于在待响应数据中确定与所述需求信息相关联的实时响应数据;

生成子单元,用于通过第一服务器将所述待响应数据中除所述实时响应数据之外的数据,生成异步响应消息队列。

在上述实施例的基础上,所述分析子单元具体用于:

对所述消息处理请求进行分析,获得与所述消息处理请求对应的类型标识;

获取与所述类型标识相匹配的需求信息。

在上述实施例的基础上,所述装置还包括:

缓存单元,用于将所述异步消息处理结果进行缓存;

异步消息发送单元,用于响应于接收到所述客户端针对所述异步消息处理结果的反馈指令,将所述异步消息处理结果发送至所述客户端。

在上述实施例的基础上,所述异步消息发送单元具体用于:

响应于接收到客户端发送的统计请求,对所述异步消息处理结果进行信息统计,获得统计结果;

将所述统计结果发送至所述客户端。

在上述实施例的基础上,所述第二服务器包括多个子服务器,所述第二处理单元具体用于:

将所述异步响应数据分配至各个所述子服务器,使得所述各个子服务器生成异步消息处理结果。

需要说明的是,本实施例中的各个模块、子模块和单元的工作过程请参照上述实施例中的相应说明,在此不再赘述。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述消息分级处理方法。

本发明实施例提供了一种电子设备,包括:存储器和处理器;

其中,所述存储器用于存储程序;

处理器调用程序并用于:

响应于消息处理请求,将待响应数据划分为实时响应数据和异步响应数据,其中,所述实时响应数据与所述消息处理请求相关联;

通过第一服务器对所述实时响应数据进行处理,得到实时消息处理结果;

通过第二服务器对所述异步响应数据进行处理,得到异步消息处理结果;

将所述实时消息处理结果与所述异步消息处理结果发送给所述消息处理请求对应的客户端;

其中,所述第一服务器和所述第二服务器是相对独立的两个服务器。

可选地,所述异步响应数据包括由第一服务器生成的异步响应消息队列,所述响应于消息处理请求,将待响应数据划分为实时响应数据和异步响应数据,包括:

对所述消息处理请求进行分析,获得需求信息,所述需求信息表征所述消息处理请求对应的客户端需要得到的反馈信息;

在待响应数据中确定与所述需求信息相关联的实时响应数据;

通过第一服务器将所述待响应数据中除所述实时响应数据之外的数据,生成异步响应消息队列。

可选地,所述对所述消息处理请求进行分析,获得需求信息,包括:

对所述消息处理请求进行分析,获得与所述消息处理请求对应的类型标识;

获取与所述类型标识相匹配的需求信息。

可选地,所述方法还包括:

将所述异步消息处理结果进行缓存;

响应于接收到所述客户端针对所述异步消息处理结果的反馈指令,将所述异步消息处理结果发送至所述客户端。

可选地,所述响应于接收到所述客户端针对所述异步消息处理结果的反馈指令,将所述异步消息处理结果发送至所述客户端,包括:

响应于接收到客户端发送的统计请求,对所述异步消息处理结果进行信息统计,获得统计结果;

将所述统计结果发送至所述客户端。

可选地,所述第二服务器包括多个子服务器,所述通过所述第二服务器对所述异步响应数据进行处理,得到异步消息处理结果,包括:

将所述异步响应数据分配至各个所述子服务器,使得所述各个子服务器生成异步消息处理结果。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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