日志数据分层存储方法、装置及存储介质与流程

文档序号:17641277发布日期:2019-05-11 00:41阅读:216来源:国知局
日志数据分层存储方法、装置及存储介质与流程

本发明涉及网络技术领域,尤其涉及一种日志数据分层存储方法、装置及存储介质。



背景技术:

随着网络技术的不断发展,产生的日志种类和数量也不断增多,对于日志存储空间的需求也迅速增长。

在传统日志存储方案中采用文本文件的方式进行存储,直接将日志源产生的日志数据写入本地日志文件。日志服务器定时检测并收集各个日志文件,并将收集的文件进行压缩存储。在查询日志文件时,需要首先对压缩包进行解压,然后对解压文件进行检索,以获取需要的日志文件。面对海量日志数据,这种方式无法满足存储需求和查询效率。



技术实现要素:

本发明的实施例提供一种日志数据分层存储方法、装置及存储介质,能够降低对海量日志数据进行存储的空间占用。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,本发明的实施例提供一种日志数据分层存储方法,包括:

响应于接收到日志存储请求,获取待存储的日志源数据;

对所述日志源数据进行数据预处理,所述数据预处理包括数据冗余过滤处理及数据格式标准化处理;

基于数据拆分算法,对预处理后的数据进行字段拆分,得到多个拆分字段;

对所述多个拆分字段分别进行编码处理,得到多个字段编码数据;

将所述多个字段编码数据存储在字段空间中。

结合第一方面,在第一方面的第一种可能的实现方式中,所述对所述多个拆分字段分别进行编码处理,得到多个字段编码数据,包括:

按照key-value形式,对所述多个拆分字段分别进行编码处理,得到多个字段编码数据,所述key-value为数据型-字段数据,所述字段编码数据包括数据型信息及字段数据信息;

所述将所述多个字段编码数据存储在字段空间中,包括:

按照key-value形式,将所述多个字段编码数据存储在字段空间中。

结合第一方面,在第一方面的第二种可能的实现方式中,所述基于数据拆分算法,对预处理后的数据进行字段拆分,得到多个拆分字段之前,还包括:

获取所述日志源数据的日志类型;

确定所述字段空间中是否存在所述日志类型;

若所述字段空间中不存在所述日志类型,则在所述字段空间中创建所述日志类型;

所述基于数据拆分算法,对预处理后的数据进行字段拆分,得到多个拆分字段包括:

若所述字段空间中存在所述日志类型,则所述基于数据拆分算法,对预处理后的数据进行字段拆分,得到多个拆分字段。

结合第一方面,在第一方面的第三种可能的实现方式中,所述对所述多个拆分字段分别进行编码处理,得到多个字段编码数据之后,还包括:

对所述多个字段编码数据进行格式处理,格式处理后的所述多个字段编码数据中携带的数据型信息为有序数值串。

结合第一方面,在第一方面的第四种可能的实现方式中,所述方法还包括:

响应于接收到日志查询请求,确定所述日志查询请求对应的数据型查询信息;

按照所述数据型查询信息在所述字段空间中查询对应的日志数据;

对所述数据型查询信息对应的日志数据进行解码处理,并发送至发起所述日志查询请求的客户端。

第二方面,本发明的实施例提供一种日志数据分层存储装置,包括:

获取模块,用于响应于接收到日志存储请求,获取待存储的日志源数据;

预处理模块,用于对所述日志源数据进行数据预处理,所述数据预处理包括数据冗余过滤处理及数据格式标准化处理;

拆分模块,用于基于数据拆分算法,对预处理后的数据进行字段拆分,得到多个拆分字段;

编码模块,用于对所述多个拆分字段分别进行编码处理,得到多个字段编码数据;

存储模块,用于将所述多个字段编码数据存储在字段空间中。

结合第二方面,在第二方面的第一种可能的实现方式中,

所述编码模块,还用于按照key-value形式,对所述多个拆分字段分别进行编码处理,得到多个字段编码数据,所述key-value为数据型-字段数据,所述字段编码数据包括数据型信息及字段数据信息;

所述存储模块,还用于按照key-value形式,将所述多个字段编码数据存储在字段空间中。

结合第二方面,在第二方面的第二种可能的实现方式中,所述装置还包括:

所述获取模块,还用于获取所述日志源数据的日志类型;

确定模块,用于确定所述字段空间中是否存在所述日志类型;

创建模块,用于当所述字段空间中不存在所述日志类型时,则在所述字段空间中创建所述日志类型;

所述拆分模块,还用于当所述字段空间中存在所述日志类型时,则所述基于数据拆分算法,对预处理后的数据进行字段拆分,得到多个拆分字段。

结合第二方面,在第二方面的第三种可能的实现方式中,所述装置还包括:

格式处理模块,用于对所述多个字段编码数据进行格式处理,格式处理后的所述多个字段编码数据中携带的数据型信息为有序数值串。

结合第二方面,在第二方面的第四种可能的实现方式中,所述装置还包括:

所述确定模块,还用于响应于接收到日志查询请求,确定所述日志查询请求对应的数据型查询信息;

查询模块,用于按照所述数据型查询信息在所述字段空间中查询对应的日志数据;

解码模块,用于对所述数据型查询信息对应的日志数据进行解码处理,并发送至发起所述日志查询请求的客户端。

第三方面,本发明的实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现第一方面提供的方法的步骤。

本发明实施例提供的日志数据分层存储方法、装置及存储介质,通过响应于接收到日志存储请求,获取待存储的日志源数据;对所述日志源数据进行数据预处理,所述数据预处理包括数据冗余过滤处理及数据格式标准化处理;基于数据拆分算法,对预处理后的数据进行字段拆分,得到多个拆分字段;对所述多个拆分字段分别进行编码处理,得到多个字段编码数据;将所述多个字段编码数据存储在字段空间中。能够过滤掉冗余数据及一些无关数据,即可以在保证关键数据完整性的前提下降低存储日志数据时的存储空间占有;并且,对数据格式进行标准化处理、字段拆分编码并存储,能够在日志查询时,通过查询条件快速查找到对应的日志数据字段,从而可以有效提高日志查询的效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例的日志数据分层存储方法的流程示意图;

图2是本发明实施例的日志数据分层存储方法的另一流程示意图;

图3是本发明实施例的日志数据分层存储方法的系统架构图;

图4是本发明实施例的日志数据分层存储装置结构示意图;

图5是本发明实施例的日志数据分层存储装置的另一结构示意图;

图6是本发明实施例的日志数据分层存储装置600的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明一实施例提供一种日志数据分层存储方法,如图1所示,所述方法包括:

101、响应于接收到日志存储请求,获取待存储的日志源数据。

102、对所述日志源数据进行数据预处理,所述数据预处理包括数据冗余过滤处理及数据格式标准化处理。

其中,数据冗余过滤处理包括对日之源数据中重复信息的过滤及无用信息的过滤。在本发明实施例中,通过对预先对日志源数据信息数据冗余过滤处理能够降低对日志数据存储空间的占用。

103、基于数据拆分算法,对预处理后的数据进行字段拆分,得到多个拆分字段。

104、对所述多个拆分字段分别进行编码处理,得到多个字段编码数据。

105、将所述多个字段编码数据存储在字段空间中。

与现有技术相比,本发明实施例能够过滤掉冗余数据及一些无关数据,即可以在保证关键数据完整性的前提下降低存储日志数据时的存储空间占有;并且,对数据格式进行标准化处理、字段拆分编码并存储,能够在日志查询时,通过查询条件快速查找到对应的日志数据字段,从而可以有效提高日志查询的效率。

本发明又一实施例提供一种日志数据分层存储方法,如图2所示,所述方法包括:

201、响应于接收到日志存储请求,获取待存储的日志源数据。

202、对所述日志源数据进行数据预处理,所述数据预处理包括数据冗余过滤处理及数据格式标准化处理。

其中,数据冗余过滤处理包括对日之源数据中重复信息的过滤及无用信息的过滤。在本发明实施例中,通过对预先对日志源数据信息数据冗余过滤处理能够降低对日志数据存储空间的占用。

203、获取所述日志源数据的日志类型。

204、确定所述字段空间中是否存在所述日志类型。

步骤204之后还可以包括:若所述字段空间中不存在所述日志类型,则在所述字段空间中创建所述日志类型。

205、若所述字段空间中存在所述日志类型,则所述基于数据拆分算法,对预处理后的数据进行字段拆分,得到多个拆分字段。

206、按照key-value形式,对所述多个拆分字段分别进行编码处理,得到多个字段编码数据。

其中,所述key-value为数据型-字段数据,所述字段编码数据包括数据型信息及字段数据信息。

步骤206之后还可以包括:对所述多个字段编码数据进行格式处理,格式处理后的所述多个字段编码数据中携带的数据型信息为有序数值串。

207、按照key-value形式,将所述多个字段编码数据存储在字段空间中。

208、响应于接收到日志查询请求,确定所述日志查询请求对应的数据型查询信息。

209、按照所述数据型查询信息在所述字段空间中查询对应的日志数据。

210、对所述数据型查询信息对应的日志数据进行解码处理,并发送至发起所述日志查询请求的客户端。

示例性地,如图3所示,为本发明实施例提供的日志数据分层存储方法的一种应用系统架构图。在本发明实施例中,在日志源数据(包括:输入模块、自定义模块、输出模块)和数据库之间增加了数据处理模块(即图3中两个“日志队列”之间的部分),该数据处理模块分为三部分:数据编码子模块、字段空间子模块和数据解码子模块。

其中,数据编码子模块将日志数据进行编码,通过预处理、日志分类、字段拆分、编码和格式处理五个步骤将一条日志数据从字符型变成占用存储空间较小的数值型。预处理、日志分类和字段拆分三个步骤应用到nlp。以下为该五个步骤的具体操作方式:

(1)预处理步骤是指将日志数据中一些无关数据进行过滤并格式处理。

(2)日志分类步骤是指判断日志的类型,并将类型传到字段管理模块判断是否存在字段空间之中,若不存在该类型,则创建该类型的字段空间;若存在该类型,则直接进行字段拆分。

(3)字段拆分步骤是指根据相关算法将日志数据拆分成字段。

(4)编码步骤是指把字段编码成key-value(数值型-字段),并将该key-value存储到对应的字段空间之中。

(5)格式处理步骤是指将编码后得到的key-value的key形成有序的数值串传入日志队列并存入数据库。

字段空间子模块由字段管理和字段存储空间组成。字段管理负责字段存储空间中字段类型的创建以及各个字段类型内字段key-value的存储。

解码子模块是编码模块的逆过程。首先将查询语句的字段换成key;然后再将数据库返回的结果换成value;最后将结果返回客户端。

与现有技术相比,本发明实施例能够过滤掉冗余数据及一些无关数据,即可以在保证关键数据完整性的前提下降低存储日志数据时的存储空间占有;并且,对数据格式进行标准化处理、字段拆分编码并存储,能够在日志查询时,通过查询条件快速查找到对应的日志数据字段,从而可以有效提高日志查询的效率。

本发明又一实施例提供一种日志数据分层存储装置,如图4所示,所述装置包括:

获取模块41,用于响应于接收到日志存储请求,获取待存储的日志源数据;

预处理模块42,用于对所述日志源数据进行数据预处理,所述数据预处理包括数据冗余过滤处理及数据格式标准化处理;

拆分模块43,用于基于数据拆分算法,对预处理后的数据进行字段拆分,得到多个拆分字段;

编码模块44,用于对所述多个拆分字段分别进行编码处理,得到多个字段编码数据;

存储模块45,用于将所述多个字段编码数据存储在字段空间中。

所述编码模块44,还用于按照key-value形式,对所述多个拆分字段分别进行编码处理,得到多个字段编码数据,所述key-value为数据型-字段数据,所述字段编码数据包括数据型信息及字段数据信息;

所述存储模块45,还用于按照key-value形式,将所述多个字段编码数据存储在字段空间中。

进一步的,如图5所示,所述装置还包括:

所述获取模块41,还用于获取所述日志源数据的日志类型;

确定模块51,用于确定所述字段空间中是否存在所述日志类型;

创建模块52,用于当所述字段空间中不存在所述日志类型时,则在所述字段空间中创建所述日志类型;

所述拆分模块43,还用于当所述字段空间中存在所述日志类型时,则所述基于数据拆分算法,对预处理后的数据进行字段拆分,得到多个拆分字段。

格式处理模块53,用于对所述多个字段编码数据进行格式处理,格式处理后的所述多个字段编码数据中携带的数据型信息为有序数值串。

所述确定模块51,还用于响应于接收到日志查询请求,确定所述日志查询请求对应的数据型查询信息;

查询模块54,用于按照所述数据型查询信息在所述字段空间中查询对应的日志数据;

解码模块55,用于对所述数据型查询信息对应的日志数据进行解码处理,并发送至发起所述日志查询请求的客户端。

与现有技术相比,本发明实施例能够过滤掉冗余数据及一些无关数据,即可以在保证关键数据完整性的前提下降低存储日志数据时的存储空间占有;并且,对数据格式进行标准化处理、字段拆分编码并存储,能够在日志查询时,通过查询条件快速查找到对应的日志数据字段,从而可以有效提高日志查询的效率。

本发明实施例还提供另一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序被一个或者一个以上的处理器用来执行图1、图2所示实施例提供的日志数据分层存储方法。

本发明实施例提供的日志数据分层存储装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的日志数据分层存储方法、装置及存储介质可以适用于对海量日志数据进行存储,但不仅限于此。

如图6所示,日志数据分层存储装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,个人数字助理等。

参照图6,日志数据分层存储装置600可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(i/o)的接口512,传感器组件514,以及通信组件516。

处理组件502通常控制无人机控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令。

此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。

存储器504被配置为存储各种类型的数据以支持在无人机控制装置500的操作。这些数据的示例包括用于在无人机控制装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电源组件506为无人机控制装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为无人机控制装置500生成、管理和分配电力相关联的组件。

多媒体组件508包括在所述无人机控制装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当无人机控制装置500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(mic),当无人机控制装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。

i/o接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件514包括一个或多个传感器,用于为无人机控制装置500提供各个方面的状态评估。例如,传感器组件514可以检测到无人机控制装置500的打开/关闭状态,组件的相对定位,例如所述组件为无人机控制装置500的显示器和小键盘,传感器组件514还可以检测无人机控制装置500或无人机控制装置500一个组件的位置改变,用户与无人机控制装置500接触的存在或不存在,无人机控制装置500方位或加速/减速和无人机控制装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件516被配置为便于无人机控制装置500和其他设备之间有线或无线方式的通信。无人机控制装置500可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,无人机控制装置500可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1