日志数据传输方法、装置和设备制造方法及图纸

技术编号:24763442 阅读:51 留言:0更新日期:2020-07-04 10:57
本申请公开了日志数据处理方法、装置和设备。该方法包括:监听应用程序产生的日志数据;实时地将日志数据发送至Kafka消息队列的第一主题区域;在日志数据推送出现异常时,重试发送日志数据,如果重试成功,则停止发送日志数据至Kafka消息队列;如果重试未成功,则进一步确定日志数据被发送的次数是否达到阈值;如果达到所述阈值,则将日志数据发送到第二主题区域;如果未达到阈值,则重试将日志数据发送到第一主题区域,并进行计数统计,以统计日志数据被发送的次数。本申请实施例,在应用程序的日志数据发送出现异常时,通过确定日志数据的重新发送的结果来避免日志数据的发送错误,有效地提高日志数据传输的准确性。

Log data transmission method, device and equipment

【技术实现步骤摘要】
日志数据传输方法、装置和设备
本申请一般涉及数据处理
,尤其涉及日志数据处理方法、装置和设备。
技术介绍
随着电子商务技术的发展,网络的后端服务器承载的压力也越来越大,同时需要处理的“数据”也呈几何级增长,实时准确的收集、传输、计算海量日志随之成为电子商务中的迫切要求。现有技术中采集日志的工具,例如Flume、Scribe、Chukwa、ELK等,遵循传统的日志上报方式,即将日志数据先记录到文件系统,在通过采集Agent将日志的变化上报,可能是增量或全量地采集日志数据发送到消息队列。上述方式导致日志采集上报存在一定的延时,导致实时上报的效果不好。同时,日志数据被采集上报给消息队列后,仅依靠消息队列自身的反馈机制,导致上报的日志数据存在错误性。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种日志数据传输方法、装置和设备来提高日志传输的准确性。第一方面,本申请实施例提供了一种日志数据传输方法,该方法包括:监听应用程序产生的日志数据;实时地将日志数据发送至Kafka消息队列的第一主题区域;在日志数据推送出现异常时,重试发送日志数据,如果重试成功,则停止发送日志数据至Kafka消息队列;如果重试未成功,则进一步确定日志数据被发送的次数是否达到阈值;如果达到阈值,则将所述日志数据发送到第二主题区域;如果未达到阈值,则重试将日志数据发送到第一主题区域,并进行计数统计,以统计日志数据被发送的次数。第二方面,本申请实施例提供了一种日志数据传输装置,该装置包括:监听单元,用于监听应用程序产生的日志数据;消息发送单元,用于实时地将日志数据发送至Kafka消息队列的第一主题区域;异常处理单元,用于在日志数据发送出现异常时,重试发送日志数据,如果重试成功,则停止发送日志数据至Kafka消息队列;如果重试未成功,则进一步确定日志数据被发送的次数是否达到阈值;如果达到阈值,则将日志数据推送到第二主题区域;如果未达到阈值,则重试将日志数据发送到第一主题区域,并触发计数单元执行加1;计数单元,用于统计日志数据被发送的次数。本申请实施例提供的日志数据传输方法和装置,其方法通过实时地监听应用程序产生的日志数据,并将日志数据发送至Kafka消息队列,当应用程序的日志数据的发送出现异常时,通过重试发送日志数据,然后确定重试结果是否成功,根据确定的结果对日志数据采取容错处理,有效地避免日志数据的发送错误,提高了日志数据传输的准确性。进一步地,在日志数据发送正常时,可以通过配置Kafka的ACK响应消息,来确保日志数据被完整地传输。进一步地,采用重发次数的检测来提高数据处理的效率。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出了本申请实施例提供的日志数据传输方法的流程示意图;图2示出了本申请实施例提供的日志数据传输装置200的结构示意图;图3示出了本申请实施例提供的异常处理单元203的示例性结构框图;图4示出了适于用来实现本申请实施例的终端设备的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。请参考图1,图1示出了本申请实施例提供的日志数据传输方法的流程示意图。该方法可以在终端设备执行。如图1所示,该方法包括:步骤110,监听应用程序产生的日志数据;步骤120,实时地将日志数据推送至Kafka消息队列的第一主题区域。在终端设备上安装有各种应用程序,应用程序在运行过程中产生应用日志数据。终端设备例如可以是移动终端,优选的可以是具有操作系统的移动智能终端设备,也可以是电脑等终端设备。还可以是用作服务器的硬件终端设备。移动终端是指可以在移动中使用的设备,广义的讲包括手机、笔记本、平板电脑,甚至包括车载电脑。但是,大部分情况下是指手机或者具有多种应用功能的智能手机以及平板电脑。随着网络和技术朝着越来越宽带化的方向的发展,移动通信产业将走向真正的移动信息时代。随着集成电路技术的飞速发展,移动终端的处理能力已经拥有了强大的处理能力,移动终端正在从简单的通话工具变为一个综合信息处理平台。移动智能终端可以简称为智能终端,移动智能终端拥有接入互联网能力,通常搭载各种操作系统,可根据用户需求定制化各种功能。生活中常见的智能终端包括移动智能终端、车载智能终端、智能电视、可穿戴设备等。本申请实施例中,通过在应用程序中预先注册自定义的KafkaAppender类,并通过该KafkaAppender类来对日志数据进行监听、发送及其异常处理。KafkaAppender类可以不断地监听应用程序产生的日志数据。示例代码,例如:privatestaticfinalLoggerlog=LoggerFactory.getLogger(KafkaAppender.class)。在监听到应用程序产生日志数据之后,KafkaAppender类通过Formatter接口对日志数据进行解析,并通过append()函数调用Kafka生产者接口(API,ApplicationProgrammingInterface,应用程序编程接口)来实现日志数据的自动推送。实时地将日志数据推送至Kafka消息队列的第一主题区域,包括:解析日志数据,并确定日志数据的目的地地址为Kafka消息队列的第一主题区域;调用Kafka生产者接口将日志数据发送至第一主题区域。解析日志数据时,可以根据日志数据的标识确定日志数据的目的地址,该标识例如可以是应用程序的名称。主题区域可以是日志数据发送的目的地,是一个逻辑上的概念。如果在磁盘上可以是一个分区的目录。分区的目录,可以有多个段落组合。例如,一个主题区域Topic可以对应多个分区partition[0,1,2,3],一个分区可以对应多个段落segment组合。一个段落有默认的大小可以是1G。步骤130,在应用程序的日志数据发送出现异常时,重试发送日志数据。步骤131,确定重试发送日志数据是否成功;如果重试成功,则进入步骤131a。如果重试未成功,则进入步骤131b。步骤131a,停止发送日志数据至Kafka消息队列。步骤131b,确定日志数据被发送的次数是否达到阈值。如果到达阈值,则进入步骤132。如果未达到阈值,则进入步骤133。步骤132,将日志数据发送到第二主题区域。步骤133,重试将日本文档来自技高网...

【技术保护点】
1.一种日志数据传输方法,其特征在于,该方法包括:/n监听应用程序产生的日志数据;/n实时地将所述日志数据发送至Kafka消息队列的第一主题区域;/n在所述日志数据推送出现异常时,重试发送所述日志数据,/n如果重试成功,则停止发送所述日志数据至所述Kafka消息队列;/n如果重试未成功,则进一步确定所述日志数据被发送的次数是否达到阈值;/n如果达到所述阈值,则将所述日志数据发送到第二主题区域;/n如果未达到所述阈值,则重试将所述日志数据发送到所述第一主题区域,并进行计数统计,以统计所述日志数据被发送的次数。/n

【技术特征摘要】
1.一种日志数据传输方法,其特征在于,该方法包括:
监听应用程序产生的日志数据;
实时地将所述日志数据发送至Kafka消息队列的第一主题区域;
在所述日志数据推送出现异常时,重试发送所述日志数据,
如果重试成功,则停止发送所述日志数据至所述Kafka消息队列;
如果重试未成功,则进一步确定所述日志数据被发送的次数是否达到阈值;
如果达到所述阈值,则将所述日志数据发送到第二主题区域;
如果未达到所述阈值,则重试将所述日志数据发送到所述第一主题区域,并进行计数统计,以统计所述日志数据被发送的次数。


2.根据权利要求1所述的方法,其特征在于,该方法还包括:
如果达到阈值,将所述日志数据记录到本地日志存储位置。


3.根据权利要求1或2所述的方法,其特征在于,实时地将所述日志数据推送至Kafka消息队列的第一主题区域,包括:
解析所述日志数据,并确定所述日志数据的目的地地址为所述Kafka消息队列的第一主题区域;
调用Kafka生产者接口将所述日志数据发送至所述第一主题区域。


4.根据权利要求1所述的方法,其特征在于,该方法还包括:
在所述日志数据发送正常时,按照所述Kafka消息队列的发送模式配置ACK响应消息。


5.根据权利要求1所述的方法,其特征在于,在监听到应用程序产生的日志数据之前,该方法还包括:
在所述应用程序中预先注册自定义的KafkaAppender类,通过所述KafkaAppender类来对所述日志数据进行监听、发送及异常处理。

【专利技术属性】
技术研发人员:陈东沂姚小龙郭林东
申请(专利权)人:顺丰科技有限公司
类型:发明
国别省市:广东;44

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

1