掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及数据处理技术领域,特别涉及一种日志数据处理方法、系统、设备及介质。

背景技术

互联网服务提供商为了提高企业的服务质量,需要记录用户的访问信息、网络的运行状况等。随着互联网的迅猛发展和公司业务不断拓展,带来了日益增多的互联网用户,而庞大的用户量,使得记录信息的过程会产生海量的日志数据,而如何管理和分析这些海量的日志数据成为互联网企业的一个难题。

现有的日志分析普遍存在如下问题:

(1)数据量大,增量数据和存量数据都非常大,处理和存储成本高,要求日志分析系统有较大的吞吐量;

(2)实时性要求高,日志一般用于了解系统当前发生的事情,要求数据实时;

(3)查询的QPS(每秒查询率)不高,但是单次查询的数据量大,对于查询性能要求高

(4)日志数据不规则,需要进行ETL(Extract-Transform-Load,抽取-清洗-转换)等,让日志变成规范的数据,才具有使用价值。

发明内容

本发明要解决的技术问题是为了克服现有技术无法处理大规模数据的缺陷,提供一种日志数据处理方法、系统、设备及介质。

本发明是通过下述技术方案来解决上述技术问题:

本发明提供一种日志数据处理方法,所述方法应用在日志存储系统中,所述日志存储系统包括列式数据库管理系统,所述方法包括:

从所述列式数据库管理系统中获取目标日志数据;

对所述目标日志数据采用预设管理方式进行处理以获取日志管理结果;

其中,所述预设管理方式对应IDC(Internet Data Center,互联网数据中心)管理、NODE(节点)管理、集群管理、数据库管理、表结构管理、数据管道管理、账户管理、日志管理以及日志访问管理中的至少一种。

较佳地,所述日志存储系统还包括日志数据预处理系统,所述方法还包括:

基于所述日志数据预处理系和所述列式数据库管理系统进行配置处理以获取配置结果;

其中,所述配置结果对应所述列式数据库管理系统中所述目标日志数据的生命全周期管理。

较佳地,所述基于所述日志数据预处理系和所述列式数据库管理系统进行配置处理的步骤包括:

基于所述日志数据预处理系和所述列式数据库管理系统执行日志的接入申请、建表、配置、日志下线。

较佳地,所述日志存储系统还包括展示系统,所述方法还包括:

基于所述展示系统展示所述目标日志数据;

和/或,

所述列式数据库管理系统包括Clickhouse(一个开源的高性能列式分布式数据库管理系统)集群管理系统。

本发明还提供一种日志数据处理系统,所述系统应用在日志存储系统中,所述日志存储系统包括列式数据库管理系统,所述系统包括:

获取模块,用于从所述列式数据库管理系统中获取目标日志数据;

处理模块,用于对所述目标日志数据采用预设管理方式进行处理以获取日志管理结果;

其中,所述预设管理方式对应IDC管理、NODE管理、集群管理、数据库管理、表管理、数据管道管理、账户管理、日志管理以及日志访问管理中的至少一种。

较佳地,所述日志存储系统还包括日志数据预处理系统,所述系统还包括:

配置模块,用于基于所述日志数据预处理系和所述列式数据库管理系统进行配置处理以获取配置结果;

其中,所述配置结果对应所述列式数据库管理系统中所述目标日志数据的生命全周期管理。

较佳地,所述系统包括:

执行模块,用于基于所述日志数据预处理系和所述列式数据库管理系统执行日志的接入申请、建表、配置、日志下线。

较佳地,所述日志存储系统还包括展示系统,所述系统还包括:

所述展示系统采用展示模块,基于所述展示系统展示所述目标日志数据;

和/或,

所述列式数据库管理系统包括Clickhouse集群管理系统。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的日志数据处理方法。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现那个所述的日志数据处理方法的步骤。

本发明的积极进步效果在于:(1)通过从列式数据库管理系统中获取目标日志数据,进而对目标日志数据采用预设管理方式进行处理以获取日志管理结果,其中,多种预设管理方式之间相互配合、相互协调,全面覆盖了日志数据和数据库管理系统,从而实现了对超大规模的日志数据处理以及对列式数据库管理系统的管理,使得列式数据库管理系统的能够灵活部署,也能够方便扩充容量和缩减容量,大大降低了列式数据库管理系统的运维和管理成本;(2)通过对日志数据预处理系和列式数据库管理系统执行日志的接入申请、建表、配置、日志下线,实现对日志数据的全生命周期管理,大大提高了日志接入的效率,降低日志接入的工作量,同时监控日志功能够让用户对当前日志的状况实时了解,提高了日志的可用性,也进一步提高了数据安全性和系统稳定性。

附图说明

图1为本发明实施例1的日志数据处理方法的流程图。

图2为本发明实施例2的日志数据处理方法的流程图。

图3为本发明实施例3的日志数据处理系统的结构示意图。

图4为本发明实施例4的日志数据处理系统的结构示意图。

图5为本发明实施例5的实现日志数据处理方法的电子设备的结构示意图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

实施例1

本实施例提供一种日志数据处理方法,图1示出了本实施例的流程图。参照图1,本实施例的日志数据处理方法应用在日志存储系统中,日志存储系统包括列式数据库管理系统,本实施例的日志数据处理方法包括:

S101、从列式数据库管理系统中获取目标日志数据;

S102、对目标日志数据采用预设管理方式进行处理以获取日志管理结果;

其中,预设管理方式对应IDC管理、NODE管理、集群管理、数据库管理、表结构管理、数据管道管理、账户管理、日志管理以及日志访问管理等。

具体地,本实施例通过从kafka(一个分布式的发布订阅式的消息系统)等消息队列中获取日志原始数据,进而对日志原始数据进行日志的有效字段提取、类型转换、字段重命名、数据补充完整、无效字段删除等处理,让不规则的、杂乱的日志原始数据,变成规则且有效的目标日志数据,便于后续数据处理直接使用该目标日志数据以完成相应的系统管理等操作。

具体地,本实施例中的列式数据库管理系统包括但不限于Clickhouse集群管理系统。

本实施例通过从列式数据库管理系统中获取目标日志数据,进而对目标日志数据采用预设管理方式进行处理以获取日志管理结果,其中,多种预设管理方式之间相互配合、相互协调,全面覆盖了日志数据和数据库管理系统,从而实现了对超大规模的日志数据处理以及对列式数据库管理系统的管理,使得列式数据库管理系统的能够灵活部署,也能够方便扩充容量和缩减容量,大大降低了列式数据库管理系统的运维和管理成本。

实施例2

图2示出了本实施例的流程图,本实施例的日志数据处理方法是对实施例1的进一步改进,具体地:本实施例的日志存储系统还包括日志数据预处理系统和展示系统。本实施例日志数据处理方法还包括:

S103、基于日志数据预处理系和列式数据库管理系统进行配置处理以获取配置结果;

其中,配置结果对应列式数据库管理系统中目标日志数据的生命全周期管理。

S104、基于展示系统展示目标日志数据;

具体地,展示系统可以使用Kibana系统,Kibana系统是一个开源的可视化图表展示的系统。

通过让Kibana支持Clickhouse,使得用户的使用习惯不变,减低了用户学习的成本,而且SQL(Structured Query Language,结构化查询语言)的查询语法更加简单,学习成本比Elasticsearch(一个分布式的搜索和数据分析引擎)系统的Lucene(一套用于全文检索和搜寻的开源程式库)语法更低。

当然,本领域技术人员也可以根据实际需求选用其他可展示化系统。

在一可实施的方案中,步骤S103包括:

基于日志数据预处理系和列式数据库管理系统执行日志的接入申请、建表、配置、日志下线。

在具体实施中,用户通过IDC管理对Clickhouse集群部署的IDC基本信息进行管理,IDC基本信息包括IDC中部署的Kafka地址、zookeeper(一个开放源码的分布式应用程序协调服务)地址以及IDC部署的Clickhouse集群列表;用户通过NODE管理对Clickhouse的实例进行管理,如IP(Internet Protocol,网际互连协议)、端口、所属IDC、角色等技术属性信息;集群管理则用于创建和删除Clickhouse集群、添加和删除shard(分片)、绑定和解绑shard的Clickhouse节点、调整shard的权重用于控制该shard的数据写入;数据库管理用于用户创建和删除数据库;表结构管理用于创建、删除、修改Clickhouse表结构;数据管道管理用于管理数据消费、处理、写入的全过程;账户管理用于管理Clickhouse的账号;日志管理包括日志的接入申请、建表、配置、监控、Hangout日志显示等;日志访问管理包括日志访问申请、访问控制等。日志访问管理包括日志访问申请和访问控制等。

通过多种预设管理方式使得Clickhouse强大的吞吐量让写入不再是日志处理的瓶颈,解决海量日志数据实时写入的问题;Clickhouse存储数据的高压缩比,满足了用户保存更长时间日志的需求;同时Clickhouse集群的稳定性也大大降低了大规模日志分析系统管理运维的成本,提高了日志系统的稳定性和可用性。

具体地,日志的接入申请包括填写日志接入的数据源、数据规模、保存时间、业务说明等基本信息,日志的建表包括创建用于存储日志Clickhouse的表;日志的配置包括使用Hangout(一个开放源码的ETL工具)对日志消费的源、ETL规则、写入的目标进行配置管理;日志的监控包括对日志的生成、Hangout的处理过程等进行监控;Hangout日志包括显示Hangout的运行日志,用户能通过Hangout的日志了解Hangout的运行状况,如Hangout配置错误、运行异常等情况。

具体地,日志访问申请用于用户申请对日志的访问、注册访问的SQL,并进行SQL合规性检查,检查通过后分配给用户一个查询值,用户通过查询值和接口进行数据访问,通过查询值的方式访问数据库,有效地降低了慢SQL、异常SQL、大SQL等对Clickhouse集群的影响,提高了数据安全性和系统稳定性。

通过对日志的接入申请、Clickhouse建表、hangout配置(日志消费、ETL、写入Clickhouse)、日志下线实现了日志全生命周期的管理,大大提高了日志接入的效率,降低日志接入的工作量;监控和日志功能让用户对当前日志的状况能够实时了解,大大提供了日志的可用性;日志访问管理功能也提高了数据安全性和系统稳定性。

当然,还可以通过增设预设管理功能以实现整个系统基础信息的管理,包括完成日志获取、日志处理、日志存储、日志展示等基本必要管理。

本实施例中,通过从列式数据库管理系统中获取目标日志数据,进而对目标日志数据采用预设管理方式进行处理以获取日志管理结果,在此基础上,进一步通过对日志数据预处理系和列式数据库管理系统执行日志的接入申请、建表、配置、日志下线,实现对日志数据的全生命周期管理,大大提高了日志接入的效率,降低日志接入的工作量,同时监控日志功能够让用户对当前日志的状况实时了解,提高了日志的可用性,也进一步提高了数据安全性和系统稳定性。

实施例3

本实施例提供一种日志数据处理系统,图3示出了本实施例的结构示意图。参照图3,本实施例的日志数据处理系统应用在日志存储系统中,日志存储系统包括列式数据库管理系统,本实施例的日志数据处理系统包括:

获取模块1,用于从所述列式数据库管理系统中获取目标日志数据;

处理模块2,用于对所述目标日志数据采用预设管理方式进行处理以获取日志管理结果;

其中,所述预设管理方式对应IDC管理、NODE管理、集群管理、数据库管理、表结构管理、数据管道管理、账户管理、日志管理以及日志访问管理等。

具体地,本实施例通过从kafka(一个分布式的发布订阅式的消息系统)等消息队列中获取日志原始数据,进而对日志原始数据进行日志的有效字段提取、类型转换、字段重命名、数据补充完整、无效字段删除等处理,让不规则的、杂乱的日志原始数据,变成规则且有效的目标日志数据,便于后续数据处理直接使用该目标日志数据以完成相应的系统管理等操作。

具体地,本实施例中的列式数据库管理系统包括但不限于Clickhouse集群管理系统。

本实施例中,通过从列式数据库管理系统中获取目标日志数据,进而对目标日志数据采用预设管理方式进行处理以获取日志管理结果,其中,多种预设管理方式之间相互配合、相互协调,全面覆盖了日志数据和数据库管理系统,从而实现了对超大规模的日志数据处理以及对列式数据库管理系统的管理,使得列式数据库管理系统的能够灵活部署,也能够方便扩充容量和缩减容量,大大降低了列式数据库管理系统的运维和管理成本。

实施例4

图4示出了本实施例的结构示意图,本实施例的日志数据处理系统是对实施例3的进一步改进,具体地:本实施例的日志存储系统还包括日志数据预处理系统和展示系统。本实施例日志数据处理系统还包括:

配置模块4,用于基于所述日志数据预处理系和所述列式数据库管理系统进行配置处理以获取配置结果;

其中,所述配置结果对应所述列式数据库管理系统中所述目标日志数据的生命全周期管理。

展示模块5,所述展示系统采用展示模块44,基于所述展示系统展示所述目标日志数据;

配置模块4包括执行单元41,执行单元431用于基于所述日志数据预处理系和所述列式数据库管理系统执行日志的接入申请、建表、配置、日志下线。

具体地,展示系统可以使用Kibana系统,Kibana系统是一个开源的可视化图表展示的系统。

通过让Kibana支持Clickhouse,使得用户的使用习惯不变,减低了用户学习的成本,而且SQL的查询语法更加简单,学习成本比Elasticsearch系统的Lucene语法更低。

当然,本领域技术人员也可以根据实际需求选用其他可展示化系统。

在具体实施中,用户通过IDC管理对Clickhouse集群部署的IDC基本信息进行管理,IDC基本信息包括IDC中部署的Kafka(一个分布式的发布订阅式的消息系统)地址、zookeeper(一个开放源码的分布式应用程序协调服务)地址以及IDC部署的Clickhouse集群列表;用户通过NODE管理对Clickhouse的实例进行管理,如IP(Internet Protocol,网际互连协议)、端口、所属IDC、角色等技术属性信息;集群管理则用于创建和删除Clickhouse集群、添加和删除shard(分片)、绑定和解绑shard的Clickhouse节点、调整shard的权重用于控制该shard的数据写入;数据库管理用于用户创建和删除数据库;表结构管理用于创建、删除、修改Clickhouse表结构;数据管道管理用于管理数据消费、处理、写入的全过程;账户管理用于管理Clickhouse的账号;日志管理包括日志的接入申请、建表、配置、监控、Hangout日志显示等;日志访问管理包括日志访问申请、访问控制等。日志访问管理包括日志访问申请和访问控制等。

通过多种预设管理方式使得Clickhouse强大的吞吐量让写入不再是日志处理的瓶颈,解决海量日志数据实时写入的问题;Clickhouse存储数据的高压缩比,满足了用户保存更长时间日志的需求;同时Clickhouse集群的稳定性也大大降低了大规模日志分析系统管理运维的成本,提高了日志系统的稳定性和可用性。

具体地,日志的接入申请包括填写日志接入的数据源、数据规模、保存时间、业务说明等基本信息,日志的建表包括创建用于存储日志Clickhouse的表;日志的配置包括使用Hangout(一个开放源码的ETL工具)对日志消费的源、ETL(Extract-Transform-Load,抽取-清洗-转换)规则、写入的目标进行配置管理;日志的监控包括对日志的生成、Hangout的处理过程等进行监控;Hangout日志包括显示Hangout的运行日志,用户能通过Hangout的日志了解Hangout的运行状况,如Hangout配置错误、运行异常等情况。

具体地,日志访问申请用于用户申请对日志的访问、注册访问的SQL(StructuredQuery Language,结构化查询语言),并进行SQL合规性检查,检查通过后分配给用户一个查询值,用户通过查询值和接口进行数据访问,通过查询值的方式访问数据库,有效地降低了慢SQL、异常SQL、大SQL等对Clickhouse集群的影响,提高了数据安全性和系统稳定性。

通过对日志的接入申请、Clickhouse建表、hangout配置(日志消费、ETL、写入Clickhouse)、日志下线实现了日志全生命周期的管理,大大提高了日志接入的效率,降低日志接入的工作量;监控和日志功能让用户对当前日志的状况能够实时了解,大大提供了日志的可用性;日志访问管理功能也提高了数据安全性和系统稳定性。

当然,还可以通过增设预设管理功能以实现整个系统基础信息的管理,包括完成日志获取、日志处理、日志存储、日志展示等基本必要管理。

本实施例中,通过从列式数据库管理系统中获取目标日志数据,进而对目标日志数据采用预设管理方式进行处理以获取日志管理结果,在此基础上,进一步通过对日志数据预处理系和列式数据库管理系统执行日志的接入申请、建表、配置、日志下线,实现对日志数据的全生命周期管理,大大提高了日志接入的效率,降低日志接入的工作量,同时监控日志功能够让用户对当前日志的状况实时了解,提高了日志的可用性,也进一步提高了数据安全性和系统稳定性。

实施例5

图5为本发明实施例5提供的一种电子设备的结构示意图。电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现实施例1或2中的日志数据处理方法。图5显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。

总线33包括数据总线、地址总线和控制总线。

存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。

存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1或2中的日志数据处理方法。

电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

实施例6

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现实施例1或2中的日志数据处理方法中的步骤。

其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。

在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现实施例1或2中的日志数据处理方法中的步骤。

其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

相关技术
  • 日志数据处理方法、系统、设备及介质
  • 日志数据处理方法、系统、设备及存储介质
技术分类

06120112966051