CN113485962B - 日志文件的存储方法、装置、设备和存储介质 - Google Patents

日志文件的存储方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN113485962B
CN113485962B CN202110741313.2A CN202110741313A CN113485962B CN 113485962 B CN113485962 B CN 113485962B CN 202110741313 A CN202110741313 A CN 202110741313A CN 113485962 B CN113485962 B CN 113485962B
Authority
CN
China
Prior art keywords
log
index
data
current
fragment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110741313.2A
Other languages
English (en)
Other versions
CN113485962A (zh
Inventor
周凯洋
张成思
刘叶
周子站
王雪飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Travelsky Technology Co Ltd
Original Assignee
China Travelsky Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Travelsky Technology Co Ltd filed Critical China Travelsky Technology Co Ltd
Priority to CN202110741313.2A priority Critical patent/CN113485962B/zh
Publication of CN113485962A publication Critical patent/CN113485962A/zh
Priority to PCT/CN2022/088359 priority patent/WO2023273544A1/zh
Application granted granted Critical
Publication of CN113485962B publication Critical patent/CN113485962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种日志文件的存储方法、装置、设备和存储介质,方法包括,从目标日志文件中采集日志数据;通过日志分析组件处理日志数据;判断当前索引是否因索引分片的数据量过大而处于不可用状态,当前索引指代当前用于存储目标日志文件的索引;若当前索引处于不可用状态,利用日志数据的名称和采集时间创建新的索引,并将日志数据存储在新的索引。本方案在存储过程中自动识别当前索引的索引分片的大小,当索引分片较大时自动建立新的索引来保存采集到的日志数据,从而避免出现超大索引分片。

Description

日志文件的存储方法、装置、设备和存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种日志文件的存储方法、装置、设备和存储介质。
背景技术
Elasticsearch(下文简称ES)是现有的一种开源的分布式搜索和数据分析引擎,它在存储文件时,会创建多个索引(index),然后将文件保存在这些索引中。ES的一个索引相当于一个数据库,一个索引会划分为多个索引分片,每个索引分片均用于保存一定量的文件,多个索引分片分别保存在分布式***的多个计算机节点中。
ES的索引模板(Elasticsearch Index Template)提供了一个复用机制,可以自动的创建索引,但在实际使用时,由于采用ES索引模板来自动创建索引,每个日志文件只能由一个索引来存储,并且索引包含的索引分片的数量需要用户预先指定。但在实际业务场景中,日志文件的数据量很难准确预估,可能出现一份日志文件过大,导致对应的索引的每个索引分片存储的数据量过大(超过ES官方建议的20GB至40GB这一数据量范围),即出现超大分片,而超大分片的出现将对ES***的稳定性和查询性能造成不良影响。
发明内容
基于上述现有技术的缺点,本申请提供一种日志文件的存储方法、装置、设备和存储介质,以解决Elasticsearch***中索引分片的数据量过大的问题。
本申请第一方面提供一种日志文件的存储方法,包括:
从目标日志文件中采集日志数据;
通过日志分析组件处理所述日志数据;
判断当前索引处于可用状态或者不可用状态;其中,所述当前索引指代当前用于存储所述目标日志文件的索引;所述当前索引的索引分片的数据量不在预设的数据量范围内时,所述当前索引处于不可用状态;
若所述当前索引处于不可用状态,利用所述日志数据的采集项和采集时间创建新的索引,并将所述日志数据存储在所述新的索引。
本申请第二方面提供一种日志文件的存储装置,包括:
采集单元,用于从目标日志文件中采集日志数据;
处理单元,用于通过日志分析组件处理所述日志数据;
判断单元,用于判断当前索引处于可用状态或者不可用状态;其中,所述当前索引指代当前用于存储所述目标日志文件的索引;所述当前索引的索引分片的数据量不在预设的数据量范围内时,所述当前索引处于不可用状态;
创建单元,用于若所述当前索引处于不可用状态,利用所述日志数据的采集项和采集时间创建新的索引;
存储单元,用于将所述日志数据存储在所述新的索引。
本申请第三方面提供一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,具体用于实现本申请第一方面任意一项所提供的日志文件的存储方法。
本申请第四方面提供一种电子设备,包括存储器和处理器;
其中,所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序,具体用于实现本申请第一方面任意一项所提供的日志文件的存储方法。
本申请提供一种日志文件的存储方法、装置、设备和存储介质,方法包括,从目标日志文件中采集日志数据;通过日志分析组件处理日志数据;判断当前索引是否因索引分片的数据量过大而处于不可用状态,当前索引指代当前用于存储目标日志文件的索引;若当前索引处于不可用状态,利用日志数据的名称和采集时间创建新的索引,并将日志数据存储在新的索引。本方案在存储过程中自动识别当前索引的索引分片的大小,当索引分片较大时自动建立新的索引来保存采集到的日志数据,从而避免出现超大索引分片。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种日志文件的存储***的模块结构示意图;
图2为本申请实施例提供的一种日志文件的存储方法的流程图;
图3为本申请实施例提供的一种日志文件的存储装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本申请实施例所提供的日志文件的存储方法,主要用于在Elasticsearch***中存储各个应用服务器运行时产生的日志文件,该方法可以由图1所示的日志文件的存储***执行。如图1所示,日志文件存储***可以包括日志采集组件,索引监控组件,索引生成组件和索引分析组件,各个组件之间的连接关系如图1所示。
其中,日志采集组件分别安装在每一个应用服务器上,用于采集每个应用服务器的日志文件,并将这些日志文件发送至日志分析组件。具体的,本申请中的日志采集组件可以采用filebeat实现,filebeat是现有的一种本地文件的日志数据采集器(一种数据采集程序),可监控日志目录或特定日志文件(tail file),并将它们通过Kafka消息队列转发给Elasticsearch,使ES***将将日志保存在对应的索引中。在本申请提供的***中,每个应用服务器上的日志分析组件可以在一个独立的进程中运行,实时监控应用服务器的日志文件,每当应用服务器的日志文件中新增了日志数据时,就读取这些新增的日志数据并存入消息队列Kafka,使得这些日志数据能够通过消息队列传递至日志分析组件。
索引监控组件用于实时监控ES***中每个索引当前的容量,具体可以实时监控每个索引分片当前存储的数据量,每个索引的总数据量(总数据量为该索引包含的所有索引分片的数据量之和)和索引分片的数量,当监控到某个索引的索引分片的数据量过大,或者监控到某个索引的总数据量和其索引分片的数量不匹配时,可以将该索引设置在不可用状态,表示该索引不能继续写入数据。
索引生成组件用于根据索引监控组件的监控结果,若还有可以正常写入的索引,则不进行索引生成操作。若无可正常写入的索引,则根据命名规则新生成新的索引,并将新生成的索引信息传入日志分析组件,使得日志分析组件能够将日志采集组件新采集到的日志数据写入这个新生成的索引。
日志分析组件,在本申请提供的***中,可以用logstash程序(一种现有的日志数据的处理程序)实现。Logstash相当于一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端,并对传输的数据信息进行处理。在本方案中,日志分析组件就是基于部署在专用日志分析服务器上的logstash程序,日志分析组件可以从前述Kafka消息队列获取日志采集组件写入的日志数据,并根据配置的规则对这些日志数据进行处理,然后将处理后的日志数据写入日志文件对应的索引中。
结合图1所示的***,本申请实施例提供一种日志文件的存储方法,请参考图2,该方法可以包括如下步骤:
S201、从目标日志文件中采集日志数据。
目标日志文件,可以指代每一个应用服务器的日志文件,换言之,本申请所提供的日志文件的存储方法,可以用于实时的采集每一个应用服务器的日志文件所包含的数据,并将这些数据保存在ES***的多个索引中。
一般的,每一个应用服务器中都会预先定义一个日志文件(相当于一个文件路径),应用服务器会将运行过程中产生的日志数据实时地写入这个日志文件中。
上述日志数据可以包括,客户端向应用服务器发送的数据请求,应用服务器针对这些数据请求进行处理后,向客户端反馈的回复数据。例如,客户端发送的数据请求可以是航班信息查询请求,相应的,应用服务器反馈的回复数据可以是被查询的一个或多个航班的航班信息。
S202、通过日志分析组件处理日志数据。
根据日志分析组件所配置的处理规则的不同,步骤S202可以有多种具体的实现方式,此处不做限定。
S203、判断当前索引处于可用状态或者不可用状态。
其中,当前索引指代当前用于存储目标日志文件的索引;当前索引的索引分片的数据量不在预设的数据量范围内时,当前索引处于不可用状态。
当某一个应用服务器启动后,ES***可以针对这个应用服务器的日志文件新建一个索引,指定这个索引用于保存这个应用服务器的日志数据,该索引就是步骤S203中的当前索引。
随着应用服务器的运行,应用服务器的日志文件(即前述目标日志文件)所存储的日志数据的数据量也逐渐增大,相应的,保存日志数据的当前索引的各个索引分片的数据量也逐渐增大,当日志监控组件监控到当前索引的索引分片的数据量超过数据量范围(例如,20G至40G)时,就可以将当前索引设置于不可用状态,相对的,若日志监控组件监控到当前索引的索引分片的数据量尚未超过数据量范围,则将当前索引保持在可用状态。
若当前索引处于可用状态,则执行步骤S204,反之,若当前索引处于不可用状态,则执行步骤S205。
S204、将日志数据保存在当前索引中。
S205、利用日志数据的采集项和采集时间创建新的索引,并将日志数据存储在新的索引。
日志数据的采集项,用于指代该日志数据中预先指定的一个或多个字段。
步骤S205可以调用ES***原有的日志模板执行,具体实现过程不再详述。
下面针对上述步骤进行具体说明:
在步骤S201中,采集日志数据的方法可以是:
启动每一个应用服务器上预先安装的日志采集组件(即filebeat),使日志采集组件按增量采集模式从目标日志文件所属的路径采集日志数据。
本方案中,日志采集组件具体可以利用查找器prospector和采集器harvester两部分来实现读取目标日志文件(tail file)的数据并将数据发送到指定的输出(即Kafka消息队列),其中查找器的数量可以是多个。
当某一个应用服务器的日志采集组件启动时,它会启动一个或多个查找器,查看应用服务器中预先指定的目标日志文件的路径,对于prospector所查找的每个日志文件,prospector启动harvester。每个harvester都会从日志文件中读取该日志文件新增的日志数据,最后filebeat会将harvester从多个日志文件读取到的日志数据合并为聚合数据,然后将聚合数据写入预先指定的输出路径,也就是Kafka消息队列。
具体的,在本申请中,日志采集组件filebeat可以基于如下配置信息采集目标日志文件的日志数据:
filebeat.inputs:
-input_type:log
paths://表示目标日志文件的路径
-/var/log/apache/httpd-*.log
tail_files:true//表示采集方式为增量采集或全量采集
……………
output.Kafka://表示日志数据的输出路径,此处输出路径为Kafka消息队列
enabled:true//表示Kafka消息队列开启
hosts:[‘10.1.1.1:9092’,’10.1.1.2:9092’,’10.1.1.3:9092’]//Kafka消息队列的IP端口
topic:AOS_APPLOG_1//Kafka消息队列的名称
username:prouser
password:Kafkapwd//Kafka消息队列的用户名和密码
在上述配置信息中,paths项是指定目标日志文件的路径,此处可以指定多个路径,使得日志采集组件能够从多个目标日志文件采集日志数据。目标日志文件的路径可以支持使用正则表达式进行匹配,如httpd-*.log就包含了httpd-1.log,httpd-2.log,httpd-a.log等所有所在路径以httpd-开头,以.log结尾的日志文件。
tail_files项是指定采集日志文件的方式,该项为true是增量采集,会采集新生成的日志数据,该项为false为全量采集,会采集所有的日志数据。在本申请中,tail_files项一般均设定为true,即通常采用增量采集的模式采集日志数据。
在增量采集模式下,harvester每隔一定时间采集一次日志数据,并且每次都只采集上一次采集的时刻到当前时刻这段时间内目标日志文件中新增的日志数据。
具体的,在增量采集模式下,harvester会记录下每次采集时的日志偏移量(表征当前采集到的日志数据在目标日志文件中的位置),下一次采集时harvester从前一次记录的日志偏移量开始继续向下采集新增的日志数据。
可选的,在应用服务器上还可以设置对应的filebeat监控进程,会监控filebeat的进程状态,当filebeat进程丢失的时候会自动拉起。防止由于filebeat进程长时间未启动,日志数据存量积压过多,filebeat进程再次启动时会短时间内大量的采集日志数据,并输出到Kafka消息队列。
output.Kafka下方的信息为本申请中针对Kafka消息队列的配置,由于filebeat与Kafka的兼容性问题,filebeat不支持除SASL/PLAIN之外其他的认证方式的Kafka,因此需要对Kafka消息队列添加了SASL/PLAIN认证方式,添加了这种认证方式的Kafka消息队列需要其他应用程序提供指定的用户名和密码才能访问,因此需要在output.Kafka下方添加username和password。
Kafka消息队列在存储日志采集组件传输过来的日志数据时,可以根据日志数据的数据量的大小,将本地的存储空间划分为3至30个数据分区,从而提高存储效率。
一般的,由于一个目标日志文件的日志数据会被分别存储在多个不同的索引分片中,相应的需要将日志数据划分为多个日志分片,并且需要在多个日志分片中确定数据之间的上下文对应关系,具体来说,就是确定哪些日志数据对应于同一个数据请求,因此,在步骤S202中,通过日志分析组件处理日志数据的具体执行过程可以是:
在当前日志分片所包含的回复数据,和前一日志分片所包含、且对应于同一请求的回复数据之间建立对应关系。
其中,当前日志分片指代日志数据划分得到的,除第一个日志分片以外的每一个日志分片;前一日志分片,指代当前日志分片的前一个日志分片。
具体的,在获取到的一份日志数据被划分为多个日志分片之后,可以将这些日志分片按照在这份日志数据中出现的先后顺序进行排序。
然后,针对第二个日志分片,复制第一个日志分片作为冗余数据,第二个日志分片和冗余数据比对,检测出第二个日志分片中和冗余数据对应于同一个数据请求的数据,然后记录第二个日志分片和上述冗余数据的对应关系作为第二个日志分片的上下文对应关系。在获得第二个日志分片的所有上下文对应关系之后,可以将当前复制的冗余数据丢弃,然后检测第三个日志分片的上下文对应关系。
例如,某个应用服务器针对一个数据请求分别反馈了两次回复信息,其中第一次回复信息记录在第一个日志分片中,第二次回复信息记录在第二个日志分片中,通过进行上述比对,就可以在上述第二次回复信息和第一次回复信息之间建立对应关系,以说明这两次回复信息对应于同一个数据请求。
随后,针对第三个日志分片,复制第二个日志分片作为冗余数据,同样的将第三个日志分片和冗余数据进行比对,确定第三个日志分片中和冗余数据对应于同一个数据请求的数据,然后记录第三个日志分片和上述冗余数据的对应关系作为第三个日志分片的上下文对应关系。
后续的日志分片以此类推,直至获得除第一个日志分片以外的每一个日志分片的上下文对应关系为止。
为了达到以上效果,需要记录每一个日志分片在目标日志文件中的起始量和偏移量,其中,起始量表示日志分片在目标日志文件的哪个位置开始,偏移量表示日志分片在目标日志文件的哪个位置结束。
上述每个日志分片的上下文对应关系,可以记录Kafka消息队列内部的消息管理器中,消息管理器可以采用Zookeeper和Redis等现有的程序框架实现。
Kafka消息队列是一个分布式、支持分区的(partition)、多副本的(replica),基于Zookeeper框架的分布式消息***。Kafka消息队列最初由Linkedin公司开发,Kafka消息队列最突出的的特性就是可以实时的处理大量数据以满足各种需求场景。本发明中考虑到了需要高吞吐量、低延迟,高并发等特性所以采用了Kafka消息队列来存储日志采集组件采集到的日志数据以及每一个日志分片之间的上下文对应关系。本申请中Kafka消息队列可以部署Spark集群上,相应的,上述数据可以存储在Spark集群的内部缓存中。
除了确定日志分片之间的上下文对应关系之外,步骤S202中对日志数据的处理还可以包括使用logstash程序对日志数据进行解析。logstash程序对日志数据的处理流程可以包括input,decode,filter,encode,output五个阶段,其中input为输入阶段,可以理解为从kafka消息队列读取需要处理的日志数据,decode为解码阶段,logstash程序在此阶段将日志数据从kafka消息队列自定义的数据格式转换为logstash程序可识别的数据格式,filter为过滤阶段,logstash程序在此阶段将前一阶段转换后的日志数据按预设的解析规则进行处理,encode阶段为编码阶段,logstash程序在此阶段将处理后的日志数据编码为后续的程序可识别的数据格式,在本申请中,就是将其编码为Elasticsearch***可识别的数据格式,output阶段为输出阶段,logstash程序在此阶段将编码后的数据发送给后续的程序,在本申请中就是发送给Elasticsearch***。
在本申请中,logstash程序可以基于如下的配置信息对日志数据进行处理:
上述配置信息中,input项用于指定logstash程序所要处理的数据的输入来源,在本申请中logstash程序从Kafka消息队列读取需要处理的日志数据,因此input向中配置了Kafka消息队列的相关信息。其中,bootstrap_servers是Kafka消息队列的IP和端口信息,topics_pattern是获取Kafka消息队列的队列名称,topics_pattern支持正则匹配,如上配置的AOS_APPLOG_*,即为匹配所有以AOS_APP_LOG_开头的队列。
Filter项用于指定logstash程序处理日志数据时的解析规则,这里可以利用多种语法和插件来定义解析规则。具体在上述配置信息中,grok是一种采用组合多个预定义的正则表达式,用来匹配分割文本并映射到关键字的插件。通常用来对日志数据进行比较简单的预处理。
output项用于指定logstash程序处理后的日志数据输出的地址,在本申请中,logstash程序处理后的日志数据会需要输出至Elasticsearch***,以便保存在Elasticsearch***中目标日志文件对应的索引中,因此output项指定输出到Elasticsearch***上的指定索引。
其中,若当前索引处于可用状态,则output项所指定的索引为当前索引,若当前索引处于不可用状态,则需要由前述索引生成组件生成新的索引,此时上述output项中指定的索引就对应的变更为新生成的索引,使得处理后的日志数据保存在新的索引中。
如前文所述,每一个索引处于可用状态还是不可用状态,可以由前述索引监控组件进行配置,具体的,索引监控组件可以:
实时监控当前索引的索引分片的数据量是否在数据量范围内;
若当前索引的索引分片的数据量不在数据量范围内,将索引记录文件中当前索引的使用状态设置为不可用状态。
索引监控组件可以调用Elasticsearch提供的基于Http协议的Rest接口(API),通过向Rest接口发送Rest请求,就可以实现对Elasticsearch***中每个索引的索引分片的数据量的监控。
具体的,索引监控组件可以使用Elasticsearch的restful接口获取Elasticsearch的索引信息,对于任意一个索引,该索引的索引信息包括,该索引的索引分片的数量,每个索引分片存储的数据的数据量等信息。
一般的,通过restful获得的索引信息为json数据格式,将json数据格式的索引信息解析后,就可以得到用GB表示的每个索引的总数据量,然后用索引的总数据量除以该索引的索引分片的数量,就可以得到该索引每个索引分片的数据量。
随后,监控组件可以判断每个分片的大小是否大于预设的数据量范围(一般该数据量范围可以设定为20-40G,也可根据实际情况自行设定),如果大于规定值,则将该索引设置为不可用状态。
一般的,一个索引的索引名称,索引的数据量大小,处于可用状态或者不可用状态,以及该索引的最近更新时间等均会记录在Elasticsearch的索引记录文件中,因此索引监控组件在判断出当前索引的索引分片的数据量超过数据量范围之后,可以访问上述索引记录文件,在索引记录文件中将当前索引设置为不可用状态。这样在步骤S203中就会判断出当前索引处于不可用状态。
Elasticsearch***的索引记录文件可以按一定的时间间隔定时同步到logstash程序所在的服务器。在此基础上,logstash程序可以访问所在服务器本地的索引记录文件,若索引记录文件中当前索引的状态为可用状态,则logstash程序按原本的配置信息继续处理日志数据,并将处理后的日志数据保存在Elasticsearch***的当前索引中。
若索引记录文件中当前索引的状态为不可用状态,那么logstash程序可以利用当前读取到的日志数据的采集项和采集时间在Elasticsearch***中创建新的索引,然后用新建的索引的索引名称替换前述配置信息中当前索引的索引名称,使得后续的日志数据存入新的索引,同时将新建的索引的索引名称添加至Elasticsearch***的索引记录文件中。
本申请实施例提供的日志文件的存储方法具有如下的有益效果:
第一方面,本发明解决了当前Elasticsearch索引模板无法创建个性化索引的局限,针对单个目标日志文件,当这个目标日志文件的数据量过大时,也可以创建多个用于保存该目标日志文件的日志数据的索引。
第二方面,本发明的索引策略简单高效,不需要对需要存储的日志文件的日志数据的数据量进行准确预估,只需根据***实际资源设定单个索引最大容量及分片数量即可。当单个索引保存的日志数据的数据量过大时,可以创建新的索引并在新的索引中保存日志数据,从而避免每个索引分片的数据量过大。
第三方面,本发明实现了对Elasticsearch***中每个索引的索引状态的实时监控,可动态评估每个索引的实际数据量的大小,并在索引的数据量过大时,依据索引策略自行创建新索引。
第四方面,本发明通过对Elasticsearch***中索引的动态创建,避免碎片化的小索引分片及超大索引分片等情况的发生,提升了ES集群的稳定性与查询性能。
第五方面,本发明通过对Elasticsearch***中索引的动态创建与精细化控制,实现了对***资源的高效利用,降低后期人工维护的成本。
下面结合具体的日志文件说明本申请实施例所提供的存储方法的流程:
应用服务器A启动后,需要将应用服务器A的日志文件B的数据保存在Elasticsearch***中,为此,针对日志文件B在Elasticsearch***中创建了一个索引,记为index-1,随后,应用服务器A运行过程中实时地将日志数据写入日志文件B,同时日志采集组件实时地采集应用服务器A写入日志文件B的日志数据,将采集到的日志数据传输至logstash程序,此时logstash程序中的index项为:index=>“index-1”,logstash程序处理后将日志数据保存至Elasticsearch***的索引index-1。
经过一段时间后,索引监控组件监控到index-1的索引分片的数据量大于40GB,因此,在索引记录文件中将index-1的状态设置为不可用状态。
当索引记录文件同步至logstash程序所在服务器之后,logstash程序发现index-1处于不可用状态,于是logstash程序根据当前读取到的日志数据的采集项和采集时间在Elasticsearch***中创建一个新的索引index-2,并将上述配置信息中index项修改为:index=>“index-2”,后续日志采集组件从日志文件B采集到的日志数据,将经过logstash程序处理后存入新建的索引index-2中。
这样,即使日志文件B整体的数据量较大,也可以通过新建索引的方式避免每个索引的索引分片的数据量过大,防止出现超大分片。
虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或电子设备上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
结合本申请实施例提供的日志文件的存储方法,本申请实施例还提供一种日志文件的存储装置,请参考图3,该存储装置可以包括如下单元:
采集单元301,用于从目标日志文件中采集日志数据。
处理单元302,用于通过日志分析组件处理日志数据。
判断单元303,用于判断当前索引处于可用状态或者不可用状态。
其中,当前索引指代当前用于存储目标日志文件的索引;当前索引的索引分片的数据量不在预设的数据量范围内时,当前索引处于不可用状态。
创建单元304,用于若当前索引处于不可用状态,利用日志数据的采集项和采集时间创建新的索引。
存储单元305,用于将日志数据存储在新的索引。
可选的,采集单元301采集日志数据时,具体用于:
启动每一个应用服务器上预先安装的日志采集组件,使日志采集组件按增量采集模式从目标日志文件所属的路径采集日志数据。
可选的,处理单元301通过日志分析组件处理日志数据时,具体用于:
在当前日志分片所包含的回复数据,和前一日志分片所包含、且对应于同一数据请求的回复数据之间建立对应关系;其中,当前日志分片指代日志数据划分得到的,除第一个日志分片以外的每一个日志分片;前一日志分片,指代当前日志分片的前一个日志分片。
可选的,存储装置还包括监控单元306,用于:
实时监控当前索引的索引分片的数据量是否在数据量范围内;
若当前索引的索引分片的数据量不在数据量范围内,将索引记录文件中当前索引的使用状态设置为不可用状态。
本申请实施例提供的日志文件的存储装置,其具体工作原理可以参考本申请任一实施例提供的日志文件的存储方法中的相关步骤,此处不再赘述。
在上述日志文件的存储装置中,采集单元301相当于前述日志采集组件,处理单元302,判断单元303和存储单元305相当于前述日志分析组件。创建单元304相当于前述索引生成组件,监控单元306相当于前述索引监控组件。
本申请提供一种日志文件的装置,其中,采集单元301从目标日志文件中采集日志数据;处理单元302通过日志分析组件处理日志数据;判断单元303判断当前索引是否因索引分片的数据量过大而处于不可用状态,当前索引指代当前用于存储目标日志文件的索引;创建单元304若当前索引处于不可用状态,利用日志数据的名称和采集时间创建新的索引,存储单元305将日志数据存储在新的索引。本方案在存储过程中自动识别当前索引的索引分片的大小,当索引分片较大时自动建立新的索引来保存采集到的日志数据,从而避免出现超大索引分片。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
本申请实施例还提供一种适于用来实现本公开实施例的电子设备,该电子设备的结构示意图如图4所示。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置406加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置406;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
本申请实施例还提供一种计算机存储介质(即计算机可读介质),该计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行本申请任一实施例所提供的日志文件的存储方法。
在本公开的上下文中,计算机可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
根据本公开的一个或多个实施例,本申请如图2所示的实施例提供了一种一种日志文件的存储方法,包括:
从目标日志文件中采集日志数据;
通过日志分析组件处理所述日志数据;
判断当前索引处于可用状态或者不可用状态;其中,所述当前索引指代当前用于存储所述目标日志文件的索引;所述当前索引的索引分片的数据量不在预设的数据量范围内时,所述当前索引处于不可用状态;
若所述当前索引处于不可用状态,利用所述日志数据的采集项和采集时间创建新的索引,并将所述日志数据存储在所述新的索引。
可选的,所述采集日志数据,包括:
启动每一个应用服务器上预先安装的日志采集组件,使所述日志采集组件按增量采集模式从目标日志文件所属的路径采集日志数据。
可选的,所述通过日志分析组件处理所述日志数据,包括:
在当前日志分片所包含的回复数据,和前一日志分片所包含、且对应于同一请求的回复数据之间建立对应关系;其中,所述当前日志分片指代所述日志数据划分得到的,除第一个日志分片以外的每一个日志分片;所述前一日志分片,指代所述当前日志分片的前一个日志分片。
可选的,所述判断当前索引处于可用状态或者不可用状态之前,还包括:
实时监控所述当前索引的索引分片的数据量是否在所述数据量范围内;
若所述当前索引的索引分片的数据量不在所述数据量范围内,将索引记录文件中所述当前索引的使用状态设置为不可用状态。
根据本公开的一个或多个实施例,本申请如图3所示的实施例一种日志文件的存储装置,包括:
采集单元,用于从目标日志文件中采集日志数据;
处理单元,用于通过日志分析组件处理所述日志数据;
判断单元,用于判断当前索引处于可用状态或者不可用状态;其中,所述当前索引指代当前用于存储所述目标日志文件的索引;所述当前索引的索引分片的数据量不在预设的数据量范围内时,所述当前索引处于不可用状态;
创建单元,用于若所述当前索引处于不可用状态,利用所述日志数据的采集项和采集时间创建新的索引;
存储单元,用于将所述日志数据存储在所述新的索引。
可选的,所述采集单元采集日志数据时,具体用于:
启动每一个应用服务器上预先安装的日志采集组件,使所述日志采集组件按增量采集模式从目标日志文件所属的路径采集日志数据。
可选的,所述处理单元通过日志分析组件处理所述日志数据时,具体用于:
在当前日志分片所包含的回复数据,和前一日志分片所包含、且对应于同一数据请求的回复数据之间建立对应关系;其中,所述当前日志分片指代所述日志数据划分得到的,除第一个日志分片以外的每一个日志分片;所述前一日志分片,指代所述当前日志分片的前一个日志分片。
可选的,所述存储装置还包括监控单元,用于:
实时监控所述当前索引的索引分片的数据量是否在所述数据量范围内;
若所述当前索引的索引分片的数据量不在所述数据量范围内,将索引记录文件中所述当前索引的使用状态设置为不可用状态。
本申请实施例还提供一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,具体用于实现本申请实施例提供的日志文件的存储方法。
本申请实施例还提供一种电子设备,包括存储器和处理器;
其中,所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序,具体用于实现本申请实施例提供的日志文件的存储方法。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置406被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (8)

1.一种日志文件的存储方法,其特征在于,包括:
从目标日志文件中采集日志数据;
在当前日志分片所包含的回复数据,和前一日志分片所包含、且对应于同一请求的回复数据之间建立对应关系;其中,所述当前日志分片指代所述日志数据划分得到的,除第一个日志分片以外的每一个日志分片;所述前一日志分片,指代所述当前日志分片的前一个日志分片;
判断当前索引处于可用状态或者不可用状态;其中,所述当前索引指代当前用于存储所述目标日志文件的索引;所述当前索引的索引分片的数据量不在预设的数据量范围内时,所述当前索引处于不可用状态;
若所述当前索引处于不可用状态,利用所述日志数据的采集项和采集时间创建多个新的索引,并将所述日志数据存储在所述多个新的索引。
2.根据权利要求1所述的存储方法,其特征在于,所述采集日志数据,包括:
启动每一个应用服务器上预先安装的日志采集组件,使所述日志采集组件按增量采集模式从目标日志文件所属的路径采集日志数据。
3.根据权利要求1所述的存储方法,其特征在于,所述判断当前索引处于可用状态或者不可用状态之前,还包括:
实时监控所述当前索引的索引分片的数据量是否在所述数据量范围内;
若所述当前索引的索引分片的数据量不在所述数据量范围内,将索引记录文件中所述当前索引的使用状态设置为不可用状态。
4.一种日志文件的存储装置,其特征在于,包括:
采集单元,用于从目标日志文件中采集日志数据;
处理单元,用于通过日志分析组件处理所述日志数据;
判断单元,用于判断当前索引处于可用状态或者不可用状态;其中,所述当前索引指代当前用于存储所述目标日志文件的索引;所述当前索引的索引分片的数据量不在预设的数据量范围内时,所述当前索引处于不可用状态;
创建单元,用于若所述当前索引处于不可用状态,利用所述日志数据的采集项和采集时间创建多个新的索引;
存储单元,用于将所述日志数据存储在所述多个新的索引;
所述处理单元通过日志分析组件处理所述日志数据时,具体用于:
在当前日志分片所包含的回复数据,和前一日志分片所包含、且对应于同一数据请求的回复数据之间建立对应关系;其中,所述当前日志分片指代所述日志数据划分得到的,除第一个日志分片以外的每一个日志分片;所述前一日志分片,指代所述当前日志分片的前一个日志分片。
5.根据权利要求4所述的存储装置,其特征在于,所述采集单元采集日志数据时,具体用于:
启动每一个应用服务器上预先安装的日志采集组件,使所述日志采集组件按增量采集模式从目标日志文件所属的路径采集日志数据。
6.根据权利要求4所述的存储装置,其特征在于,所述存储装置还包括监控单元,用于:
实时监控所述当前索引的索引分片的数据量是否在所述数据量范围内;
若所述当前索引的索引分片的数据量不在所述数据量范围内,将索引记录文件中所述当前索引的使用状态设置为不可用状态。
7.一种计算机存储介质,其特征在于,用于存储计算机程序,所述计算机程序被执行时,具体用于实现如权利要求1至3任意一项所述的日志文件的存储方法。
8.一种电子设备,其特征在于,包括存储器和处理器;
其中,所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序,具体用于实现如权利要求1至3任意一项所述的日志文件的存储方法。
CN202110741313.2A 2021-06-30 2021-06-30 日志文件的存储方法、装置、设备和存储介质 Active CN113485962B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110741313.2A CN113485962B (zh) 2021-06-30 2021-06-30 日志文件的存储方法、装置、设备和存储介质
PCT/CN2022/088359 WO2023273544A1 (zh) 2021-06-30 2022-04-22 日志文件的存储方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110741313.2A CN113485962B (zh) 2021-06-30 2021-06-30 日志文件的存储方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN113485962A CN113485962A (zh) 2021-10-08
CN113485962B true CN113485962B (zh) 2023-08-01

Family

ID=77936876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110741313.2A Active CN113485962B (zh) 2021-06-30 2021-06-30 日志文件的存储方法、装置、设备和存储介质

Country Status (2)

Country Link
CN (1) CN113485962B (zh)
WO (1) WO2023273544A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485962B (zh) * 2021-06-30 2023-08-01 中国民航信息网络股份有限公司 日志文件的存储方法、装置、设备和存储介质
CN113688142B (zh) * 2021-10-25 2022-05-06 北京金山云网络技术有限公司 索引管理方法、装置、存储介质和电子设备
CN113986944B (zh) * 2021-12-29 2022-03-25 天地伟业技术有限公司 分片数据的写入方法、***及电子设备
CN117421337B (zh) * 2023-09-26 2024-05-28 东土科技(宜昌)有限公司 数据采集方法、装置、设备及计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515898A (zh) * 2019-07-31 2019-11-29 济南浪潮数据技术有限公司 一种日志处理方法及装置
CN110851436A (zh) * 2018-08-03 2020-02-28 Emc Ip控股有限公司 具有虚拟编索引的分布式搜索框架
CN110990366A (zh) * 2019-12-04 2020-04-10 中国农业银行股份有限公司 一种提升基于es的日志***性能的索引分配方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380692B2 (en) * 2008-01-25 2013-02-19 Nuance Communications, Inc. Fast index with supplemental store
US9817726B2 (en) * 2015-01-09 2017-11-14 Ariba, Inc. Delta replication of index fragments to enhance disaster recovery
US10268755B2 (en) * 2015-04-30 2019-04-23 Splunk Inc. Systems and methods for providing dynamic indexer discovery
US20170193039A1 (en) * 2015-12-30 2017-07-06 Dropbox, Inc. Servicing queries of an event log
WO2017180144A1 (en) * 2016-04-15 2017-10-19 Hitachi Data Systems Corporation Deduplication index enabling scalability
US11334548B2 (en) * 2019-01-31 2022-05-17 Thoughtspot, Inc. Index sharding
CN110442645B (zh) * 2019-07-11 2020-09-15 新华三大数据技术有限公司 数据索引方法及装置
CN113485962B (zh) * 2021-06-30 2023-08-01 中国民航信息网络股份有限公司 日志文件的存储方法、装置、设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851436A (zh) * 2018-08-03 2020-02-28 Emc Ip控股有限公司 具有虚拟编索引的分布式搜索框架
CN110515898A (zh) * 2019-07-31 2019-11-29 济南浪潮数据技术有限公司 一种日志处理方法及装置
CN110990366A (zh) * 2019-12-04 2020-04-10 中国农业银行股份有限公司 一种提升基于es的日志***性能的索引分配方法及装置

Also Published As

Publication number Publication date
CN113485962A (zh) 2021-10-08
WO2023273544A1 (zh) 2023-01-05

Similar Documents

Publication Publication Date Title
CN113485962B (zh) 日志文件的存储方法、装置、设备和存储介质
US10338958B1 (en) Stream adapter for batch-oriented processing frameworks
CN111258978B (zh) 一种数据存储的方法
US9712612B2 (en) Method for improving mobile network performance via ad-hoc peer-to-peer request partitioning
CN111221793B (zh) 数据挖掘方法、平台、计算机设备及存储介质
CN111949850B (zh) 多源数据的采集方法、装置、设备及存储介质
CN107729570B (zh) 用于服务器的数据迁移方法和装置
CN113961510B (zh) 一种文件处理方法、装置、设备及存储介质
CN111651424B (zh) 一种数据处理方法、装置、数据节点及存储介质
CN116627333A (zh) 日志缓存方法、装置、电子设备及计算机可读存储介质
CN109388651B (zh) 一种数据处理方法和装置
CN110781159A (zh) Ceph目录文件信息读取方法、装置、服务器及存储介质
US10866960B2 (en) Dynamic execution of ETL jobs without metadata repository
CN110798358B (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN112732663A (zh) 一种日志信息处理方法及装置
CN116521639A (zh) 一种日志数据的处理方法、电子设备和计算机可读介质
CN113886353B (zh) 分层存储管理软件的数据配置推荐方法、装置及存储介质
CN116016561A (zh) 数据的同步方法和装置
CN111881086B (zh) 大数据的存储方法、查询方法、电子装置及存储介质
CN113742376A (zh) 一种同步数据的方法、第一服务器以及同步数据的***
CN111581930A (zh) 在线表格数据处理方法、装置、电子设备和可读介质
CN111782834A (zh) 图像检索的方法、装置、设备及计算机可读存储介质
CN117478535B (zh) 一种日志存储的方法和装置
CN112783914A (zh) 优化语句的方法和装置
US11379147B2 (en) Method, device, and computer program product for managing storage system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant