消息处理方法、设备及计算机可读存储介质技术

技术编号:18894287 阅读:29 留言:0更新日期:2018-09-08 10:51
本发明专利技术公开了一种消息处理方法、设备及计算机可读存储介质,所述方法包括步骤:在旧消费者线程发生故障后,启动备用消费者线程和新消费者线程;所述备用消费者线程从预设缓存中获取第一偏移量位置,并从管理者zookeeper中获取第二偏移量位置;根据所述第一偏移量位置和所述第二偏移量位置消费服务器非实时写入的消息;所述新消费者线程根据所述第二偏移量位置消费服务器实时写入的消息。本发明专利技术通过备用消费者线程和新消费者线程消费服务器非实时以及实时写入的消息;一方面可保证最新消息能够得到处理,减少消息处理的延迟,另一方面可确保消费者线程故障期间的消息能够得到补充处理而不丢失。

Message processing method, device and computer readable storage medium

The invention discloses a message processing method, a device and a computer-readable storage medium. The method comprises steps of starting a standby consumer thread and a new consumer thread after a failure of an old consumer thread; the standby consumer thread obtains a first offset position from a preset cache, and from a manager zookeepe. The second offset position is obtained in r; a message written in real time by the consumer server according to the first offset position and the second offset position; the new consumer thread consumes a message written in real time by the server according to the second offset position. The invention consumes non-real-time and real-time written messages by the standby consumer thread and the new consumer thread consumption server; on the one hand, it can ensure that the latest messages can be processed, reduce the delay of message processing, on the other hand, it can ensure that the messages during the failure of the consumer thread can be supplemented and not lost.

【技术实现步骤摘要】
消息处理方法、设备及计算机可读存储介质
本专利技术涉及通信
,尤其涉及一种消息处理方法、设备及计算机可读存储介质。
技术介绍
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。Kafka的目的是通过Hadoop(一个由Apache基金会所开发的分布式系统基础架构)的并行加载机制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费。Kafka应用在大数据统计过程中,是针对大数据量的数据进行消息的产生、消息的消费来使用的。其中,消息的生产,是直接由生产者向Kafka进行消息的发送;消息的消费,是由消费者线程来进行消息的消费操作。因为在很多的生产环境中,都必须使用Kafka集群的方式来消除单点故障,所以消费者线程均是连接到整个Kafka集群中进行消息的消费动作。Kafka的消费者线程数与topic(主题)的partition(区分)有关系(一类消息有一个主题,每个主题创建时,需要固定该主题的分区数)。在某一时刻,一个partition只能有一个消费者线程能连接上。现有消费方式存在的问题是:当大量消息写入而消费者线程宕机停止后,重新启动消费者线程,则消费者线程均从kafka内部自带的zookeeper记录的位置开始消费数据;如果宕机时间较长,堆积了较多需要消费的数据,则处理这些非实时的数据需要时间,这就导致最新的数据不能实时的进行消费处理,增加了处理延时时间
技术实现思路
本专利技术实施例的主要目的在于提供一种消息处理方法、设备及计算机可读存储介质,旨在解决现有消费方式存在的问题。为实现上述目的,本专利技术实施例第一方面提供一种消息处理方法,所述方法包括步骤:在旧消费者线程发生故障后,启动备用消费者线程和新消费者线程;所述备用消费者线程从预设缓存中获取第一偏移量位置,并从管理者zookeeper中获取第二偏移量位置;根据所述第一偏移量位置和所述第二偏移量位置消费服务器非实时写入的消息;其中,所述第一偏移量位置为所述旧消费者线程消费服务器消息后的偏移量位置;所述新消费者线程根据所述第二偏移量位置消费服务器实时写入的消息。可选地,所述根据所述第一偏移量位置和所述第二偏移量位置消费服务器非实时写入的消息包括步骤:判断所述第一偏移量位置和所述第二偏移量位置是否相同;若所述第一偏移量位置和所述第二偏移量位置不相同,则所述备用消费者线程消费所述第一偏移量位置和所述第二偏移量位置之间的消息。可选地,所述备用消费者线程消费所述第一偏移量位置和所述第二偏移量位置之间的消息包括步骤:所述备用消费者线程启动多线程,并通过所述多线程消费所述第一偏移量位置和所述第二偏移量位置之间的消息。可选地,所述若所述第一偏移量位置和所述第二偏移量位置不相同,则所述备用消费者线程消费所述第一偏移量位置和所述第二偏移量位置之间的消息之后还包括步骤:若所述第一偏移量位置和所述第二偏移量位置之间的消息已经消费完毕,则关闭所述备用消费者线程。可选地,所述备用消费者线程从预设缓存中获取第一偏移量位置,并从管理者zookeeper中获取第二偏移量位置;根据所述第一偏移量位置和所述第二偏移量位置消费服务器非实时写入的消息之前还包括步骤:设置所述zookeeper中的第二偏移量位置。可选地,所述新消费者线程根据所述第二偏移量位置消费服务器实时写入的消息之后还包括步骤:若所述新消费者线程已经消费完毕,则更新所述预设缓存中的第一偏移量位置。可选地,所述在旧消费者线程发生故障后,启动备用消费者线程和新消费者线程包括步骤:检测所述旧消费者线程是否发生故障;若所述旧消费者线程发生故障,则启动备用消费者线程和新消费者线程。可选地,所述故障包括旧消费者线程宕机故障和/或旧消费者线程停止故障。此外,为实现上述目的,本专利技术实施例第二方面提供一种消息处理设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的消息处理程序,所述消息处理程序被所述处理器执行时实现第一方面所述的消息处理方法的步骤。再者,为实现上述目的,本专利技术实施例第三方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有消息处理程序,所述消息处理程序被处理器执行时实现第一方面所述的消息处理方法的步骤。本专利技术实施例提供的消息处理方法、设备及计算机可读存储介质,通过备用消费者线程和新消费者线程消费服务器非实时以及实时写入的消息;一方面可保证最新消息能够得到处理,减少消息处理的延迟,另一方面可确保消费者线程故障期间的消息能够得到补充处理而不丢失。附图说明图1为实现本专利技术各个实施例的移动终端的硬件结构示意图;图2为本专利技术实施例提供的一种通信网络系统架构图;图3为本专利技术实施例的消息处理方法流程示意图;图4为本专利技术实施例的消息处理过程中偏移量结构示意图;图5为本专利技术实施例的消息处理设备结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。终端可以以各种形式来实施。例如,本专利技术中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(PersonalDigitalAssistant,PDA)、便捷式媒体播放器(PortableMediaPlayer,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本专利技术的实施方式的构造也能够应用于固定类型的终端。请参阅图1,其为实现本专利技术各个实施例的一种移动终端的硬件结构示意图,该移动终端100可以包括:RF(RadioFrequency,射频)单元101、WiFi模块102、音频输出单元103、A/V(音频/视频)输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、处理器110、以及电源111等部件。本领域技术人员可以理解,图1中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。下面结合图1对移动终端的各个部件进行具体的介绍:射频单元101可用于收发信息或通话过程中,信号的接收和发送,具体的,将基站的下行信息接收后,给处理器110处理;另外,将上行的数据发送给基站。通常,射频单元101包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元101还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于GSM(GlobalSystemofMobilecommunication,全球移动通讯系统)、GPRS(GeneralPacketRadioS本文档来自技高网
...

【技术保护点】
1.一种消息处理方法,其特征在于,所述方法包括:在旧消费者线程发生故障后,启动备用消费者线程和新消费者线程;所述备用消费者线程从预设缓存中获取第一偏移量位置,并从管理者zookeeper中获取第二偏移量位置;根据所述第一偏移量位置和所述第二偏移量位置消费服务器非实时写入的消息;其中,所述第一偏移量位置为所述旧消费者线程消费服务器消息后的偏移量位置;所述新消费者线程根据所述第二偏移量位置消费服务器实时写入的消息。

【技术特征摘要】
1.一种消息处理方法,其特征在于,所述方法包括:在旧消费者线程发生故障后,启动备用消费者线程和新消费者线程;所述备用消费者线程从预设缓存中获取第一偏移量位置,并从管理者zookeeper中获取第二偏移量位置;根据所述第一偏移量位置和所述第二偏移量位置消费服务器非实时写入的消息;其中,所述第一偏移量位置为所述旧消费者线程消费服务器消息后的偏移量位置;所述新消费者线程根据所述第二偏移量位置消费服务器实时写入的消息。2.根据权利要求1所述的消息处理方法,其特征在于,所述根据所述第一偏移量位置和所述第二偏移量位置消费服务器非实时写入的消息包括步骤:判断所述第一偏移量位置和所述第二偏移量位置是否相同;若所述第一偏移量位置和所述第二偏移量位置不相同,则所述备用消费者线程消费所述第一偏移量位置和所述第二偏移量位置之间的消息。3.根据权利要求2所述的消息处理方法,其特征在于,所述备用消费者线程消费所述第一偏移量位置和所述第二偏移量位置之间的消息包括步骤:所述备用消费者线程启动多线程,并通过所述多线程消费所述第一偏移量位置和所述第二偏移量位置之间的消息。4.根据权利要求2所述的消息处理方法,其特征在于,所述若所述第一偏移量位置和所述第二偏移量位置不相同,则所述备用消费者线程消费所述第一偏移量位置和所述第二偏移量位置之间的消息之后还包括步骤:若所述第一偏移量位置和所述第二偏移量位置之间的消息已经消费完毕,则关...

【专利技术属性】
技术研发人员:郑秋燕
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东,44

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

1