一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于pulsar日志采集流处理方法、处理装置及可读存储介质与流程

2021-12-04 01:50:00 来源:中国专利 TAG:

1.本发明涉及分布式消息系统领域,尤其涉及一种基于pulsar日志采集流处理方法、处理装置及可读存储介质。


背景技术:

2.在云原生的架构里,服务及应用的部署基本都是以容器化的方式,日志的上报节点繁多;监控系统一方面需要支持大数据量的日志采集接收的能力,另一方面也要快速的完成对数据的流式处理,从而提高对业务健康的实时观测。目前普遍使用的技术方案为:利用kafka(开源流处理平台)作为日志接收的消息管道,将数据同步给hdfs(hadoop distributed file system,分布式文件系统)进行小时级的周期计算或t 1的计算,或者通过kafka同步到flink(弗林克,开源流处理框架)进行实时的流式处理。这两种方式存在以下弊端:使用hdfs的方案,数据时效性太低,监控能力滞后,业务的健康得不到保证;使用flink方案,实时性得到了保证,但是系统需要额外维护一个flink组件,整体架构偏重;而kafka集群会随着数据量的持续增加,性能会收到极大影响,且kafka是存算一体的架构,在扩容时候需要复制元数据外,还要重启,维护成本较大,同时kafka存在丢失数据的情况,数据安全性得不到保证。


技术实现要素:

3.本发明的主要目的在于提供一种基于pulsar日志采集流处理方法,旨在解决当前日志信息采集处理过程中使用kafka框架存在整体架构偏重维护量大的技术问题。
4.为实现上述目的,本发明提供一种基于pulsar日志采集流处理方法,所述基于pulsar日志采集流处理方法包括以下内容:接收日志信息生成对象生成的日志信息;将所述日志信息写入至pulsar集群中的一个或者多个消费主题的日志信息队列中;通过etl

function订阅pulsar集群中的一个或者多个消费主题,并通过所述etl

function将所述一个或者多个消费主题中的日志信息进行实时流式数据处理生成优化日志信息;将所述优化日志信息写入至pulsar集群中的一个或者多个消费主题的日志信息队列中,以供订阅对应消费主题的消费者消费。
5.进一步的,在所述以供订阅对应消费主题的消费者消费的步骤之后,还包括:将被所述消费者消费后的优化日志信息写入数据库。
6.进一步的,在所述将被所述消费者消费后的优化日志信息写入数据库的步骤之后,包括:根据当前剩余网络资源以及接入所述数据库的租户的等级,向所述租户分配对应的网络资源;
以供接入所述数据库的租户使用分配的网络资源获取所述数据库中的优化日志信息。
7.进一步的,所述通过所述etl

function将所述一或者多个消费主题中的日志信息进行实时流式数据处理生成优化日志信息包括:通过所述etl

function根据pulsar集群中不同的消费主题,动态获取计算资源,使用所述计算资源和预设实时流式数据处理方式对消费主题中的日志信息进行优化生成优化日志信息。
8.进一步的,在所述以供订阅对应消费主题的消费者消费的步骤之后,包括:当所述pulsar集群中的日志消息在预设时间内未被消费者消费时,将未被消费者消费的日志消息返回至生成所述未被消费者消费的日志消息的应用程序。
9.进一步的,所述基于pulsar日志采集流处理方法包括:将所述优化日志信息写入至pulsar集群中的一个或者多个消费主题时,所述消费主题与etl

function订阅的消费主题不同。
10.进一步的,所述将所述日志信息写入至pulsar集群中的一个或者多个消费主题的日志信息队列中包括:根据预设分类写入路径将所述日志信息写入pulsar集群中的一个或者多个消费主题的日志信息队列中。
11.进一步的,所述基于pulsar日志采集流处理方法还包括:当pulsar集群中的消费主题饱和时,通过扩容pulsar集群中的节点来增加消费主题。
12.此外,为实现上述目的,本发明还提供一种处理装置,所述处理装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于pulsar日志采集流处理程序,所述基于pulsar日志采集流处理程序被所述处理器执行时实现上述基于pulsar日志采集流处理方法的步骤。
13.此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储有基于pulsar日志采集流处理程序,所述基于pulsar日志采集流处理程序被处理器执行时实现上述的基于pulsar日志采集流处理方法的步骤。
14.本发明实施例提出的一种基于pulsar日志采集流处理方法,通过基于pulsar构建的分布式消息系统,在pulsar集群中完成日志信息的发布、日志信息的优化和日志信息的订阅,其中日志信息的优化即日志信息的处理,是在基于pulsar平台本身,无需像kafka架构一样要额外维护flink组件,从而降低了整个系统的运维成本,而且与使用hdfs周期性数据处理不同的是日志信息优化时的数据流处理保证了数据处理的实时性,从而实现了业务健康的实时观测,避免监控能力滞后,同时当pulsar集群中的消费主题饱和之后,可以通过扩容pulsar集群的节点来增加消费主题,且在扩容过程中对正常业务不会造成影响,此外,在将对接入数据库的租户进行网络资源隔离,避免了单个租户需求急增时侵占其他租户网络资源的情况发生,因此基于pulsar日志采集流处理方法克服了现有技术使用kafka相关架构是存在的上述缺陷。
附图说明
15.图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;图2为本发明基于pulsar日志采集流处理方法中第一实施例的流程示意图;图3为本发明基于pulsar日志采集流处理方法中第二实施例的流程示意图。
16.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
17.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
18.本发明实施例的主要解决方案是:基于pulsar平台构建分布式消息系统,在pulsar集群中完成日志信息的发布、日志信息的优化和日志信息的订阅,其中,基于pulsar平台本身对日志信息进行实时数据流式处理,完成日志信息的优化;通过扩充无状态节点完成pulsar集群的扩容;对接入pulsar集群的消费者进行消费资源隔离。
19.由于现有技术中利用kafka作为日志接收的消息管道,将数据同步给hdfs进行小时级的周期计算或t 1的计算,或者通过kafka同步到flink进行实时的流式处理存在弊端:使用hdfs的方案,数据时效性太低,监控能力滞后,业务的健康得不到保证;使用flink方案,实时性得到了保证,但是系统需要额外维护一个flink组件,整体架构偏重;而kafka集群会随着数据量的持续增加,性能会收到极大影响,且kafka是存算一体的架构,在扩容时候需要复制元数据外,还要重启,维护成本较大,同时kafka存在丢失数据的情况,数据安全性得不到保证。
20.本发明提供一种解决方案,基于pulsar平台本身完成日志信息数据实时流式处理,无需像kafka架构一样要额外维护flink组件,从而降低了整个系统的运维成本,而且与使用hdfs周期性数据处理不同的是日志信息优化时的数据流处理保证了数据处理的实时性,从而实现了业务健康的实时观测,避免监控能力滞后,同时当pulsar集群中的消费主题饱和之后,可以通过扩容pulsar集群的节点来增加消费主题,且在扩容过程中对正常业务不会造成影响,克服了现有技术使用kafka相关架构是存在的上述缺陷。
21.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图。
22.本发明实施例装置可以是服务器,也可以是pc、计算机等具有数据收集、处理以及发送功能的电子终端设备。
23.如图1所示,该装置可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi

fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non

volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
24.可选地,装置还可以包括摄像头、rf(radio frequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为
运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
25.本领域技术人员可以理解,图1中示出的装置结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
26.如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于pulsar日志采集流处理程序。
27.在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于pulsar日志采集流处理程序,并执行以下操作:接收日志信息生成对象生成的日志信息;将所述日志信息写入至pulsar集群中的一个或者多个消费主题的日志信息队列中;通过etl

function订阅pulsar集群中的一个或者多个消费主题,并通过所述etl

function将所述一个或者多个消费主题中的日志信息进行实时流式数据处理生成优化日志信息;将所述优化日志信息写入至pulsar集群中的一个或者多个消费主题的日志信息队列中,以供订阅对应消费主题的消费者消费。
28.进一步地,处理器1001可以调用存储器1005中存储的基于pulsar日志采集流处理程序,还执行以下操作:在所述以供订阅对应消费主题的消费者消费的步骤之后,包括:将被所述消费者消费后的优化日志信息写入数据库。
29.进一步地,处理器1001可以调用存储器1005中存储的基于pulsar日志采集流处理程序,还执行以下操作:在所述将被所述消费者消费后的优化日志信息写入数据库的步骤之后,包括:根据当前剩余网络资源以及接入所述数据库的租户的等级,向所述租户分配对应的网络资源;以供接入所述数据库的租户使用分配的网络资源获取所述数据库中的优化日志信息。
30.进一步地,处理器1001可以调用存储器1005中存储的基于pulsar日志采集流处理程序,还执行以下操作:所述通过所述etl

function将所述一或者多个消费主题中的日志信息进行实时流式数据处理生成优化日志信息包括:通过所述etl

function根据pulsar集群中不同的消费主题,动态获取计算资源,使用所述计算资源和预设实时流式数据处理方式对消费主题中的日志信息进行优化生成优化日志信息。
31.进一步地,处理器1001可以调用存储器1005中存储的基于pulsar日志采集流处理
程序,还执行以下操作:在所述以供订阅对应消费主题的消费者消费的步骤之后,包括:当所述pulsar集群中的日志消息在预设时间内未被消费者消费时,将未被消费者消费的日志消息返回至生成所述未被消费者消费的日志消息的应用程序。
32.进一步地,处理器1001可以调用存储器1005中存储的基于pulsar日志采集流处理程序,还执行以下操作:所述基于pulsar日志采集流处理方法包括:将所述优化日志信息写入至pulsar集群中的一个或者多个消费主题时,所述消费主题与etl

function订阅的消费主题不同。
33.进一步地,处理器1001可以调用存储器1005中存储的基于pulsar日志采集流处理程序,还执行以下操作:所述将所述日志信息写入至pulsar集群中的一个或者多个消费主题的日志信息队列中包括:根据预设分类写入路径将所述日志信息写入pulsar集群中的一个或者多个消费主题的日志信息队列中。
34.进一步地,处理器1001可以调用存储器1005中存储的基于pulsar日志采集流处理程序,还执行以下操作:所述基于pulsar日志采集流处理方法还包括:当pulsar集群中的消费主题饱和时,通过扩容pulsar集群中的节点来增加消费主题。
35.参照图2,本发明一种基于pulsar日志采集流处理方法的第一实施中,所述基于pulsar日志采集流处理方法包括:步骤s10,接收日志信息生成对象生成的日志信息;可以理解的是,本实施例的实施主体是一种pub

sub(订阅发布)模式的分布式消息系统基于pulsar平台所构建。
36.所述日志信息生成对象可以是网站、电脑客户端或者移动客户端,本实施例中以客户端应用程序为例进行说明,客户端上的预先构建好的sdk(software development kit,软件开发工具包)对相应应用程序生成的日志信息进行采集,将采集到的日志信息通过agent(代理)上报至应用程序的后台服务器,如:手机上某个应用程序,用户对其进行操作后应用程序会记录操作的内容并将操作内容生成相应的日志信息,该应用程序生成的日志信息将被sdk采集到,再通过agent上报至应用程序的后台服务器,所述后台服务器又将接收每个客户端生成的日志信息。
37.步骤s20,将所述日志信息输入至pulsar集群中的一个或者多个消费主题的日志信息队列中;应用程序的后台服务器将收集到的日志信息发送至pulsar集群,其中日志信息发送时根据根据预设分类写入路径将所述日志信息写入pulsar集群中的一个或者多个消费主题的日志信息队列中,所述预设写入路径的设置可以根据日志消息生成来源或者日志信息本身的特点。如基于不同的生成来源,设置某一应用程序生成的日志信息的写入路径为指向pulsar集群中的消费主题1和消费主题2,则该应用程序生成的日志信息将会写入至消
费主题1和消费主题2中,从而完成对日志信息的分类。
38.可以理解的是,通过对日志信息的分类储存,方便了日志信息的管理,利于后续消费者对日志信息进行消费。
39.步骤s30,通过etl

function订阅pulsar集群中的一个或者多个消费主题,并通过所述etl

function将所述一或者多个消费主题中的日志信息进行实时流式数据处理生成优化日志信息;在本实施例中,分布式消息系统通过所述etl

function(extract

transform

load

function)根据pulsar集群中不同的消费主题,动态获取计算资源,使用所述计算资源和预设实时流式数据处理方式对消费主题中的日志信息进行优化生成优化日志信息。即将etl

function作为消费者订阅pulsar集群中的相应的消费主题,具体的消费主题根据实际需求来订阅,etl

function获取相应消费主题下的日志信息队列,对日志信息队列中的日志信息进行数据抽取、数据的清洗转换和数据的加载等步骤,将日志信息中缺少的部分内容加以补充,生成优化日志信息。如:etl

function订阅pulsar集群中的某个消费主题,当该消费主题的日志信息队列中接收到新的日志信息时,etl

function将开始获取到相应的计算资源,对新日志信息进行实时数据流式处理生成优化日志信息,生成后释放计算资源,而在进行数据处理时,原来的日志信息可能只是记录了用户对应用程序的操作内容,而经过数据流处理后将补充该操作内容的实施主体或者该操作内容的来源,从而进一步完善日志信息的内容。同时,当针对订阅的不同消费主题,etl

function对日志信息采取的数据流处理方式也将不同,具体的处理方式根据实际业务需求来设置,此处不再赘述。
40.可以理解的是,在pulsar中实现数据流处理,相对使用kafka框架来说无需额外维护flink组件,降低运维成本,而且与hdfs周期性数据处理不同的是数据流处理保证了数据处理的实时性,从而保证了业务健康的实时观测,避免监控能力滞后。
41.步骤s40,将所述优化日志信息写入至pulsar集群中的一个或者多个消费主题的日志信息队列中,以供订阅对应消费主题的消费者消费。
42.当etl

function生成优化日志信息之后,etl

function又将充当日志信息的生成对象将生成的优化日志信息再次写入至pulsar集群,而在将所述优化日志信息写入至pulsar集群中的一个或者多个消费主题时,所述消费主题与etl

function订阅的消费主题不同,即当某个消费主题被etl

function订阅之后,那么etl

function生成的优化日志信息将不会写入到该消费主题中。被写入了优化日志信息的消费主题将会被消费者订阅,且消费主题中的优化日志信息也将被消费者获取,根据业务需求,消费者也可以直接订阅未经etl

function处理的日志信息对应的消费主题。
43.在本实施例中,通过基于pulsar构建的分布式消息系统,在pulsar集群中完成日志信息的发布、日志信息的优化和日志信息的订阅,其中日志信息的优化即日志信息的处理,是在基于pulsar平台本身,无需额外维护flink组件,降低运维成本,而且与hdfs周期性数据处理不同的是日志信息优化时的数据流处理保证了数据处理的实时性,从而实现了业务健康的实时观测,避免监控能力滞后。
44.进一步的,参照图3,本发明一种基于pulsar日志采集流处理方法的第二实施中,所述基于pulsar日志采集流处理方法包括:步骤s100,接收日志信息生成对象生成的日志信息;
基于pulsar平台所构建的分布式消息系统接收网站、电脑客户端和移动客户端的应用程序等生成的日志信息。
45.步骤s200,将所述日志信息写入至pulsar集群中的一个或者多个消费主题的日志信息队列中;根据预设的写入路径将接收到的日志信息分别写入pulsar集群中一个或者多个不同的消费主题的日志信息队列,从而将日志信息进行分类。所述预设写入路径的设置可以根据日志消息生成来源或者日志信息本身的特点。此外,当pulsar集群中的消费主题饱和时,通过扩容pulsar集群中的节点增加消费主题。由于在pulsar集群中节点是无状态的(若节点是有状态,则当集群增加新节点进行扩容时,会涉及数据迁移和同步,进而引发磁盘 io 和网络消耗,本身在当流量突然爆发时,业务将使用大量 io 和网络带宽,此时,如果由于集群容量不足而触发扩容,迁移的带宽占用和数据冷读会直接影响到业务本身的使用,造成高延迟和错误率飙升),因此在在扩容节点时,将不会影响到其他业务的进行,如在特殊时期日志消息数量急增,对pulsar集群造成流量压力,pulsar集群的消费主题中日志信息队列无法容纳更多的日志信息且消费者也无法及时将其消费掉,即进入饱和状态,此时可以在pulsar集群中扩充节点,并在扩充的节点中增加新的消费主题,从而容纳更多的日志消息。
46.步骤s201,当所述pulsar集群中的日志消息在预设时间内未被消费者消费时,将未被消费者消费的日志消息返回至生成所述未被消费者消费的日志消息的应用程序;当pulsar集群中某一消费主题下的日志信息,长时间未被消费者消费时将会占用该消费主题的存储资源,若将其删除则会造成日志信息丢失。因此当日志信息达到预设时间还未被消费者者消费时,将该日志信息回传至生成该日志信息的网站、电脑客户端或者移动客户端,从而输出提示信息该条日志消息未被消费,在不占用消费主题的存储资源的情况下避免了该条日志消息丢失的情况。
47.步骤s300,通过etl

function订阅pulsar集群中的一个或者多个消费主题,并通过所述etl

function将所述一个或者多个消费主题中的日志信息进行实时流式数据处理生成优化日志信息;etl

function根据实际业务需求对pulsar集群中的对应的消费主题进行订阅,获取订阅消费主题中的日志信息,并对获取到的日志信息进行数据流处理,进一步完善所述日志信息,生成优化日志信息。方便日志信息需求端对日志信息进行分析。
48.步骤s400,将所述优化日志信息写入至pulsar集群中的一个或者多个消费主题的日志信息队列中;etl

function生成的优化日志信息将再次写入pulsar集群,且写入的消费主题与原来etl

function订阅的消费主题不同。
49.步骤s401,将被所述消费者消费后的优化日志信息写入数据库;此外,pulsar集群中经过优化之后的日志信息被消费者消费后还将写入数据库中,对数据库中日志消息有需求的租户(如大数据分析、数据诊断等)可以从数据库获取对应的日志消息。
50.步骤s402,根据当前剩余网络资源以及接入所述数据库的租户的等级,向所述租户分配对应的网络资源;以供接入所述数据库的租户使用分配的网络资源获取所述数据库
中的优化日志信息。
51.在消费者接入数据库获取所需的日志消息时,基于pulsar平台所构建的分布式消息系统将会根据当前剩余网络资源(可分配的流量大小,流量可认为是在单位时间内可获取到的日志信息的条数)以及租户自身的等级(所述租户等级由预先设定,消费等级高的消费者所分配的可使用流量较多)向租户分配消费资源,从而实现接入数据的租户的网络资源隔离,因此当发生某一个租户业务需求急增时(流量需求突然变大),由于受到接入数据库时分配的网络资源限制,因此不会发生侵占其他租户网络资源的情况,也不会影响其他租户的业务。
52.在本实施例中,由于基于pulsar平台的分布式消息系统中pulsar集群的节点是无状态的因此在扩充节点时不会对其他业务造成影响,同时,当pulsar集群中存在有长时间未被消费的日志信息时,将会对该日志信息使用消费回传机制,避免未被消费的日志信息占用资源以及日志信息的丢失,此外,还将接入数据库的租户的网络资源进行隔离,避免了某单个租户业务需求急增时侵占其他租户的网络资源。
53.此外,为实现上述目的,本发明还提供一种处理装置,所述处理装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于pulsar日志采集流处理程序,所述基于pulsar日志采集流处理程序被所述处理器执行时实现上述基于pulsar日志采集流处理方法的步骤。
54.此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储有基于pulsar日志采集流处理程序,所述基于pulsar日志采集流处理程序被处理器执行时实现上述的基于pulsar日志采集流处理方法的步骤。
55.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
56.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
57.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,云服务器,或者网络设备等)执行本发明各个实施例所述的方法。
58.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献