消息处理方法和装置、存储介质和电子装置制造方法及图纸

技术编号:24682526 阅读:37 留言:0更新日期:2020-06-27 07:45
本申请提供了一种消息处理方法和装置、存储介质和电子装置,其中,该方法包括:获取具有目标消息标识的待处理数据,其中,待处理数据为从与目标流处理任务对应的多个节点处收集的数据,目标流处理任务为目标消息由被生产节点生产到被消费节点消费的流处理任务,目标消息标识用于唯一标识目标消息;在根据待处理数据确定目标消息未被正常消费的情况下,将目标消息添加到目标消息队列中,其中,目标消息队列中存储有与待处理的流处理任务对应的消息。通过本申请,解决了相关技术中的数据分发方式存在的数据易丢失的问题,保证了数据正确性,节省了人力成本。

Message processing method and device, storage medium and electronic device

【技术实现步骤摘要】
消息处理方法和装置、存储介质和电子装置
本申请涉及计算机领域,尤其涉及一种消息处理方法和装置、存储介质和电子装置。
技术介绍
目前,一些公司的消息服务提供数据变更消息,调用RPC(RemoteProcedureCall,远程过程调用)接口获取实体数据。消息服务的单个实体的数据量大,为节省开发和资源成本,可以统一对接消息服务,采用kafka(一种开源流处理平台)将实时数据进行分发,服务于各个业务方。虽然kafka具有高吞吐量,高并发,低延迟等特性,但是容易产生数据丢失。例如,在使用checkpoint(检查点)进行流处理任务处理时,kafka集群升级需要手动删除,或者,启动两个流程序同时运行,或者,将偏移量存储外部数据库。然而,kafka集群升级或者业务逻辑错误易导致数据丢失,且难以发现,需要人工干预,维护成本很高。因此,相关技术中的数据分发方式,存在数据易丢失的问题。
技术实现思路
本申请实施例提供了一种消息处理方法和装置、存储介质和电子装置,以至少解决相关技术中的数据分发方式存在的数据易丢失的问题。根据本申请实施例的一个方面,提供了一种消息处理方法,包括:获取具有目标消息标识的待处理数据,其中,待处理数据为从与目标流处理任务对应的多个节点处收集的数据,目标流处理任务为目标消息由被生产节点生产到被消费节点消费的流处理任务,目标消息标识用于唯一标识目标消息;在根据待处理数据确定目标消息未被正常消费的情况下,将目标消息添加到目标消息队列中,其中,目标消息队列中存储有与待处理的流处理任务对应的消息。可选地,获取具有目标消息标识的待处理数据包括:从数据库中读取目标时间段内的目标数据,其中,数据库中存储有从节点集群中的各个节点收集的数据,目标时间段的起始时刻与当前时刻的时间差为目标差值;使用目标消息标识从目标数据中匹配出具有目标消息标识的待处理数据。可选地,在获取具有目标消息标识的待处理数据之前,上述方法还包括:接收多个节点发送的待处理数据,其中,待处理数据包括生产节点发送的第一数据和其他节点发送的第二数据,第一数据包括目标消息、目标消息标识和时间戳,其他节点为多个节点中除了生产节点以外的节点,第二数据包括目标消息标识和时间戳;将待处理数据保存到数据库中。可选地,在获取具有目标消息标识的待处理数据之后,上述方法还包括:根据具有目标消息标识的待处理数据,确定目标消息在各个相邻节点的后一个节点处是否被正常消费,其中,相邻节点为多个节点中按照目标流处理任务具有相邻关系的两个节点;在确定出目标消息在多个节点中的目标节点未被正常消费的情况下,确定目标消息未被正常消费。可选地,在将目标消息添加到目标消息队列中之前,上述方法还包括:将待处理数据发送到目标设备,以通过目标设备显示目标消息以及目标节点;接收目标设备发送的修改指令,其中,修改指令用于修改目标流处理任务的任务处理流程;在将目标消息添加到目标消息队列中之后,上述方法还包括:按照修改后的任务处理流程处理目标消息。可选地,在根据待处理数据确定目标消息已被消费节点正常消费的情况下,上述方法还包括:将待处理数据从数据库中清除,其中,数据库中存储有从节点集群中的各个节点处收集的数据。根据本申请实施例的另一个方面,提供了一种消息处理装置,包括:获取单元,用于获取具有目标消息标识的待处理数据,其中,待处理数据为从与目标流处理任务对应的多个节点处收集的数据,目标流处理任务为目标消息由被生产节点生产到被消费节点消费的流处理任务,目标消息标识用于唯一标识目标消息;添加单元,用于在根据待处理数据确定目标消息未被正常消费的情况下,将目标消息添加到目标消息队列中,其中,目标消息队列中存储有与待处理的流处理任务对应的消息。可选地,获取单元包括:读取模块,用于从数据库中读取目标时间段内的目标数据,其中,数据库中存储有从节点集群中的各个节点收集的数据,目标时间段的起始时刻与当前时刻的时间差为目标差值;匹配模块,用于使用目标消息标识从目标数据中匹配出具有目标消息标识的待处理数据。可选地,上述装置还包括:第一接收单元,用于在获取具有目标消息标识的待处理数据之前,接收多个节点发送的待处理数据,其中,待处理数据包括生产节点发送的第一数据和其他节点发送的第二数据,第一数据包括目标消息、目标消息标识和时间戳,其他节点为多个节点中除了生产节点以外的节点,第二数据包括目标消息标识和时间戳;保存单元,用于将待处理数据保存到数据库中。可选地,上述装置还包括:第一确定单元,用于在获取具有目标消息标识的待处理数据之后,根据具有目标消息标识的待处理数据,确定目标消息在各个相邻节点的后一个节点处是否被正常消费,其中,相邻节点为多个节点中按照目标流处理任务具有相邻关系的两个节点;第二确定单元,用于在确定出目标消息在多个节点中的目标节点未被正常消费的情况下,确定目标消息未被正常消费。可选地,上述装置还包括:发送单元,用于在将目标消息添加到目标消息队列中之前,将待处理数据发送到目标设备,以通过目标设备显示目标消息以及目标节点;第二接收单元,用于接收目标设备发送的修改指令,其中,修改指令用于修改目标流处理任务的任务处理流程;处理单元,用于在将目标消息添加到目标消息队列中之后,按照修改后的任务处理流程处理目标消息。可选地,上述装置还包括:清除单元,用于在根据待处理数据确定目标消息已被消费节点正常消费的情况下,将待处理数据从数据库中清除,其中,数据库中存储有从节点集群中的各个节点处收集的数据。通过本申请,采用对流处理任务的各个核心业务处理阶段进行监控的方式,获取具有目标消息标识的待处理数据,其中,待处理数据为从与目标流处理任务对应的多个节点处收集的数据,目标流处理任务为目标消息由被生产节点生产到被消费节点消费的流处理任务,目标消息标识用于唯一标识目标消息;在根据待处理数据确定目标消息未被正常消费的情况下,将目标消息添加到目标消息队列中,其中,目标消息队列中存储有与待处理的流处理任务对应的消息,由于根据从与流处理任务对应的各个节点处收集的数据判断流数据是否丢失,并在数据丢失时自动补发,可以达到保证数据正确性、节省人力成本的技术效果,从而解决了相关技术中的数据分发方式存在的数据易丢失的问题。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是根据本申请实施例的一种可选的服务器的硬件结构框图;图2是根据本申请实施例的一种可选的消息处理方法的流程示意图;图3是根据本申请实施例的一种可选的消息处理方法的示意图;图4是根据本申请实施例的另一种可选的消息处理方法的示意图;图5是根据本申请实施例的又一种可选的消本文档来自技高网...

【技术保护点】
1.一种消息处理方法,其特征在于,包括:/n获取具有目标消息标识的待处理数据,其中,所述待处理数据为从与目标流处理任务对应的多个节点处收集的数据,所述目标流处理任务为目标消息由被生产节点生产到被消费节点消费的流处理任务,所述目标消息标识用于唯一标识所述目标消息;/n在根据所述待处理数据确定所述目标消息未被正常消费的情况下,将所述目标消息添加到目标消息队列中,其中,所述目标消息队列中存储有与待处理的流处理任务对应的消息。/n

【技术特征摘要】
1.一种消息处理方法,其特征在于,包括:
获取具有目标消息标识的待处理数据,其中,所述待处理数据为从与目标流处理任务对应的多个节点处收集的数据,所述目标流处理任务为目标消息由被生产节点生产到被消费节点消费的流处理任务,所述目标消息标识用于唯一标识所述目标消息;
在根据所述待处理数据确定所述目标消息未被正常消费的情况下,将所述目标消息添加到目标消息队列中,其中,所述目标消息队列中存储有与待处理的流处理任务对应的消息。


2.根据权利要求1所述的方法,其特征在于,所述获取具有目标消息标识的待处理数据包括:
从数据库中读取目标时间段内的目标数据,其中,所述数据库中存储有从节点集群中的各个节点收集的数据,所述目标时间段的起始时刻与当前时刻的时间差为目标差值;
使用所述目标消息标识从所述目标数据中匹配出具有所述目标消息标识的所述待处理数据。


3.根据权利要求2所述的方法,其特征在于,在所述获取具有目标消息标识的待处理数据之前,所述方法还包括:
接收所述多个节点发送的所述待处理数据,其中,所述待处理数据包括所述生产节点发送的第一数据和其他节点发送的第二数据,所述第一数据包括所述目标消息、所述目标消息标识和时间戳,所述其他节点为所述多个节点中除了所述生产节点以外的节点,所述第二数据包括所述目标消息标识和时间戳;
将所述待处理数据保存到所述数据库中。


4.根据权利要求1所述的方法,其特征在于,在所述获取具有目标消息标识的待处理数据之后,所述方法还包括:
根据具有所述目标消息标识的所述待处理数据,确定所述目标消息在各个相邻节点的后一个节点处是否被正常消费,其中,所述相邻节点为所述多个节点中按照所述目标流处理任务具有相邻关系的两个节点;
在确定出所述目标消息在所述多个节点中的目标节点未被正常消费的情况下,确定所述目标消息未被正常消费。


5.根据权利要求4所述的方法,其特征在于,
在所述将所述目标消息添加到目标消息...

【专利技术属性】
技术研发人员:杨学毅李仓良祝梦遥
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1