CN104636432A - 一种日志文件压缩和解压的方法及装置 - Google Patents
一种日志文件压缩和解压的方法及装置 Download PDFInfo
- Publication number
- CN104636432A CN104636432A CN201410849535.6A CN201410849535A CN104636432A CN 104636432 A CN104636432 A CN 104636432A CN 201410849535 A CN201410849535 A CN 201410849535A CN 104636432 A CN104636432 A CN 104636432A
- Authority
- CN
- China
- Prior art keywords
- data packet
- packet head
- low level
- module
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
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)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种日志文件的压缩方法和装置,所述的方法包括:获取日志文件中的多个数据包头;将前一数据包头作为后一数据包头的基准数据;采用所述基准数据和所述后一数据包头计算传递值;判断所述传递值是否小于预设数值;若是,将所述传递值作为所述后一数据包头进行记录。本发明用以针对性的压缩算法,其能够较好的针对特定格式的文件进行压缩,以提高压缩比,节省存储空间,实现简单。
Description
技术领域
本发明涉及数据处理的技术领域,特别是涉及一种日志文件的压缩方法,一种日志文件的解压方法,一种日志文件的压缩装置,以及一种日志文件的解压装置。
背景技术
当前网络技术发展日趋迅猛,在无线通信网络的管理带来了很大的挑战,各种网络管理系统也应需而生。网络管理系统能够对网络设备的参数进行设置和查询操作,以及处理网络设备上报的告警信息。但在分析涉及定位网络设备的问题时,有时往往需要以日志方式回溯一些如网络管理系统状态或者获取定位网络设备的运行状态等更加详细、直观的信息,因此在无线通信网络中各个网络设备间接口消息,为了监测方便,尽可能将各个接口消息汇集到其中一个网络设备中,这些汇集的消息通常称为网络日志。为了节省网络日志的存储空间及传输时间,需要对网络日志进行压缩。目前常见的对网络日志文件压缩算法有:Zip算法,RAR算法,7-Zip算法。这些压缩算法都是采用整体压缩的方式,并不考虑日志文件的内部相关性。因此,常见的压缩算法之间的压缩率差别不大,且均针对一般的文件,而非针对专业的网络日志文件,故在压缩率方面,常见的压缩算法并无优势。
因此,本领域技术人员迫切需要解决的问题之一在于:提出一种日志文件的压缩方法及装置,用以针对性的压缩算法,其能够较好的针对特定格式的文件进行压缩,以提高压缩比,节省存储空间,实现简单。
发明内容
本发明所要解决的技术问题是提供一种日志文件的压缩方法,一种日志文件的解压方法,用以针对性的压缩算法,其能够较好的针对特定格式的文件进行压缩,以提高压缩比,节省存储空间,实现简单。
相应的,本发明实施例还提供了一种日志文件的压缩装置,一种日志文件的解压装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明公开了一种日志文件的压缩方法,包括:
获取日志文件中的多个数据包头;
将前一数据包头作为后一数据包头的基准数据;
采用所述基准数据和所述后一数据包头计算传递值;
判断所述传递值是否小于预设数值;
若是,将所述传递值作为所述后一数据包头进行记录。
优选地,所述数据包头包括高位时间戳TimeStamp1,所述基准数据包括高位基准数据;
所述采用基准数据和所述后一数据包头计算传递值的步骤包括:
计算所述高位时间戳TimeStamp1与所述高位基准数据的高位差值;
计算所述高位差值与第一预设数值之商;
将所述商作为高位传递值;
所述判断传递值是否小于预设数值的步骤包括:
判断所述高位传递值是否小于第一预设数值;
若是,则生成高位指正标识,并添加至所述高位时间戳TimeStamp1对应的数据包头中。
优选地,所述数据包头包括低位时间戳TimeStamp2,所述基准数据包括低位基准数据;
所述采用基准数据和所述后一数据包头计算传递值的步骤包括:
计算所述低位时间戳TimeStamp2与所述低位基准数据的低位差值;
计算所述低位差值与第一预设数值之商;
将所述商作为低位传递值;
所述判断传递值是否小于预设数值的步骤包括:
判断所述低位传递值是否小于第二预设数值;
若是,则生成低位指正标识,并添加至所述低位时间戳TimeStamp2对应的数据包头中。
优选地,所述数据包头包括数据包长度CapLen,所述基准数据包括长度基准数据;
所述采用基准数据和所述后一数据包头计算传递值的步骤包括:
计算所述数据包长度CapLen与所述长度基准数据的长度差值;
将所述长度差值作为长度传递值;
所述判断传递值是否小于预设数值的步骤包括:
判断所述长度传递值是否小于第三预设数值;
若是,则生成长度指正标识,并添加至所述数据包长度CapLen对应的数据包头中。
优选地,所述数据包头包括类型字段type,在日志文件包括映射表;所述映射表中包括类型字段及对应的压缩值;所述方法还包括:
判断所述类型字段type在映射表中是否存在一致的类型字段;
若是,则采用所述压缩值作为所述类型字段type进行记录,生成类型指正标识,并添加至所述类型字段type对应的数据包头中;
若否,则将所述类型字段type作为新的类型字段,并为所述新的类型字段设置新的压缩值;
将所述新的类型字段及对应的新的压缩值写入所述映射表中。
本发明实施例还公开了一种日志文件的解压方法,在所述日志文件中包括数据包头,其中第一数据包头没有被压缩;所述方法包括:
逐个判断是否解压所述数据包头;
若是,则将前一数据包头作为后一数据包头的基准数据;
依据所述基准数据对后一数据包头进行解压。
优选地,所述基准数据包括高位基准数据,所述数据包头包括高位时间戳TimeStamp1和高位指正标识;
所述逐个判断是否解压所述数据包头的步骤包括:
判断所述数据包头中是否存在高位指正标识;
若是,则判定依据前一数据包头对后一数据包头进行解压;
则所述依据基准数据对后一数据包头进行解压的步骤包括:
计算所述高位时间戳TimeStamp1与第一预设数值之积;
计算所述积与高位基准数据之和作为所述数据包头的高位时间戳TimeStamp1。
优选地,所述基准数据包括低位基准数据,所述数据包头包括低位时间戳TimeStamp2和低位指正标识;
所述逐个判断是否解压所述数据包头的步骤包括:
判断所述数据包头中是否存在低位指正标识;
若是,则判定采用所述低位基准数据对所述数据包头进行解压;
则所述依据基准数据对后一数据包头进行解压的步骤包括:
计算所述低位时间戳TimeStamp2与第二预设数值之积;
计算所述积与低位基准数据之和作为所述数据包头的低位时间戳TimeStamp2。
优选地,所述基准数据包括长度基准数据,所述数据包头包括数据包长度CapLen和长度指正标识;
所述逐个判断是否解压所述数据包头的步骤包括:
判断所述数据包头中是否存在长度指正标识;
若是,则判定采用所述长度基准数据对所述数据包头进行解压;
则所述依据基准数据对后一数据包头进行解压的步骤包括:
计算所述数据包长度CapLen与所述长度基准数据之和;
将所述和作为所述数据包头的数据包长度CapLen。
优选地,所述数据包头包括类型字段type和类型指正标识;在日志文件包括映射表;所述映射表中包括类型字段及对应的压缩值;所述方法还包括:
判断是否存在类型指正标识;
若是,则采用所述压缩值在映射表中查找对应的类型字段;
将所述类型字段作为所述数据包头的类型字段type。
本发明实施例还公开了一种日志文件的压缩装置,包括:
获取模块,用于获取日志文件中的多个数据包头;
选取模块,用于将前一数据包头作为后一数据包头的基准数据;
计算模块,用于采用所述基准数据和所述后一数据包头计算传递值;
判断模块,用于判断所述传递值是否小于预设数值;若是,则调用记录模块;
记录模块,用于将所述传递值作为所述后一数据包头进行记录。
优选地,所述数据包头包括高位时间戳TimeStamp1,所述基准数据包括高位基准数据;
所述计算模块包括:
第一计算子模块,用于计算所述高位时间戳TimeStamp1与所述高位基准数据的高位差值;
第二计算子模块,用于计算所述高位差值与第一预设数值之商;
第一替换子模块,用于将所述商作为高位传递值;
所述判断模块包括:
第一判断子模块,用于判断所述高位传递值是否小于第一预设数值;若是,则调用第一生成子模块;
第一生成子模块,用于生成高位指正标识,并添加至所述高位时间戳TimeStamp1对应的数据包头中。
优选地,所述数据包头包括低位时间戳TimeStamp2,所述基准数据包括低位基准数据;
所述计算模块包括:
第三计算子模块,用于计算所述低位时间戳TimeStamp2与所述低位基准数据的低位差值;
第四计算子模块,用于计算所述低位差值与第一预设数值之商;
第二替换子模块,用于将所述商作为低位传递值;
所述判断模块包括:
第二判断子模块,用于判断所述低位传递值是否小于第二预设数值;若是,则调用第二生成子模块;
第二生成子模块,用于生成低位指正标识,并添加至所述低位时间戳TimeStamp2对应的数据包头中。
优选地,所述数据包头包括数据包长度CapLen,所述基准数据包括长度基准数据;
所述计算模块包括:
第五计算子模块,用于计算所述数据包长度CapLen与所述长度基准数据的长度差值;
第三替换子模块,用于将所述长度差值作为长度传递值;
所述判断模块包括:
第三判断子模块,用于判断所述长度传递值是否小于第三预设数值;若是,则调用第三生成子模块;
第三生成子模块,用于生成长度指正标识,并添加至所述数据包长度CapLen对应的数据包头中。
优选地,所述数据包头包括类型字段type,在日志文件包括映射表;所述映射表中包括类型字段及对应的压缩值;所述装置还包括:
类型字段判断模块,用于判断所述类型字段type在映射表中是否存在一致的类型字段;若是,则调用标识记录模块,若否,则调用设置模块;
标识记录模块,用于采用所述压缩值作为所述类型字段type进行记录,生成类型指正标识,并添加至所述类型字段type对应的数据包头中;设置模块,用于将所述类型字段type作为新的类型字段,并为所述新的类型字段设置新的压缩值;
写入模块,用于将所述新的压缩值及对应的新的类型指正标识写入所述映射表中。
本发明实施例还公开了一种日志文件的解压装置,所述日志文件中包括基准数据和数据包头;所述方法包括:
判断模块,用于逐个判断是否解压所述数据包头;若是,则调用解压模块;
处理模块,用于将前一数据包头作为后一数据包头的基准数据;
解压模块,用于依据所述基准数据对所述后一数据包头进行解压。
优选地,所述基准数据包括高位基准数据,所述数据包头包括高位时间戳TimeStamp1和高位指正标识;
所述判断模块包括:
第一判断子模块,用于判断所述数据包头中是否存在高位指正标识;若是,则调用第一判定子模块;
第一判定子模块,用于判定采用所述高位基准数据对所述数据包头进行解压;
则所述解压模块包括:
第一计算子模块,用于计算所述高位时间戳TimeStamp1与第一预设数值之积;
第一替换子模块,用于计算所述积与高位基准数据之和作为所述数据包头的高位时间戳TimeStamp1。
优选地,所述基准数据包括低位基准数据,所述数据包头包括低位时间戳TimeStamp2和低位指正标识;
所述判断模块包括:
第二判断子模块,用于判断所述数据包头中是否存在低位指正标识;若是,则调用第二判定子模块;
第二判定子模块,用于判定采用所述低位基准数据对所述数据包头进行解压;
则所述解压模块包括:
第二计算子模块,用于计算所述低位时间戳TimeStamp2与第二预设数值之积;
第二替换子模块,用于计算所述积与低位基准数据之和作为所述数据包头的低位时间戳TimeStamp2。
优选地,所述基准数据包括长度基准数据,所述数据包头包括数据包长度CapLen和长度指正标识;
所述判断模块包括:
第三判断子模块,用于判断所述数据包头中是否存在长度指正标识;若是,则调用第三判定子模块;
第三判定子模块,用于判定采用所述长度基准数据对所述数据包头进行解压;
则所述解压模块包括:
第三计算子模块,用于计算所述数据包长度CapLen与所述长度基准数据之和;
第三替换子模块,用于将所述和作为所述数据包头的数据包长度CapLen。
优选地,所述数据包头包括类型字段type和类型指正标识;在日志文件包括映射表;所述映射表中包括类型字段及对应的类型指正标识;所述装置还包括:
类型标识判断模块,用于判断是否存在类型指正标识;若是,则调用查找模块;
查找模块,用于采用所述压缩值在映射表中查找对应的类型字段;
类型字段替代模块,用于将所述类型字段作为所述数据包头的类型字段type。
与现有技术相比,本发明包括以下优点:
本发明实施例针对日志文件的数据包头部分进行重点压缩。从日志文件中选取前一个数据包头作为后一数据包头作为基准包头,后一数据包头则可以依据该基准包头是否进行压缩,若进行压缩,则计算出基准包头与数据包头之间的差值,并生成指正标识进行记录,若不进行压缩,则选择按照原来的数据包头进行传递。由于在日志文件中大部分只需要记录差值,可以大量减少数据包头实际所需的存储空间。本发明实施例作为一种有针对性的压缩方法,其能够较好的针对特定格式的日志文件的数据包头进行压缩,有效提高了压缩比,有效的减少传输资源和存储资源,且实现简单。
本发明实施例中需要对数据包头进行解压时,可以对数据包头进行按序进行读取并解压。此外,本发明实施例压缩、解压速度和普通文件类似,并不会对系统造成额外的负担。
附图说明
图1是本发明的一种日志文件的压缩方法实施例的步骤流程图;
图2是本发明的一种通用日志文件的结构示意图;
图3是本发明的一种通用的数据包头Packet Header的结构示意图;
图4是本发明的一种日志文件的解压方法实施例的步骤流程图;
图5是本发明的一种日志文件的压缩装置实施例的结构框图;
图6是本发明的一种日志文件的解压装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明一种日志文件的压缩方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取日志文件的多个数据包头;
在具体实现中,在日志文件中包括有多个数据包,通常数据包亦可以称为消息帧或数据帧。对于日志文件的结构,可以参照图2所示的本发明的一种通用日志文件的结构示意图,日志文件中可以包括文件头(FileHeader)、数据包头(Packet Header)以及数据包的数据(Packet Data)。
对于数据包头的结构,则可以参照图3所示的本发明的一种通用的数据包头Packet Header的结构示意图,以WinPcap(windows packet capture,公共的网络访问系统)的日志文件结构为例,数据包头Packet Header可以包括如下内容:
TimeStamp1:大小为4B,高位时间戳,可以精确到秒;
TimeStamp1:大小为4B,低位时间戳,可以精确到毫秒;
CapLen:大小为4B,当前数据区长度(数据包长度),根据数据包长度可以得到下一个数据包的起始位置;
Len:大小为4B,实际数据长度,小于等于数据包长度,通常等于数据包长度。
除上述内容外,在其他通用的数据包头中会有额外字段,但是由于相同日志文件中的每个数据包的数据包头之间结构一样的,所以并不影响本发明实施例后续对于数据包头的压缩处理。
步骤102,将前一数据包头作为后一数据包头的基准数据;
在本发明实施例中,将日志文件中的前一个数据包头作为后一个数据包头的基准数据。其中第一个数据包头不进行压缩处理。
在本发明实施例中,还可以从日志文件的多个数据包头中任意选取一个作为基准包头(基准数据),作为是否对其他数据包头进行压缩的判断标准,本发明实施例对此不加以限制。
步骤103,采用所述基准数据和所述数据包头计算传递值;
步骤104,判断所述传递值是否小于预设数值;若是,执行步骤105;
步骤105,将所述传递值作为所述后一数据包头进行记录。
在本发明的一种优选实施例中,所述数据包头可以包括高位时间戳TimeStamp1,所述基准数据可以包括高位基准数据;
所述步骤103可以包括如下子步骤:
子步骤S11,计算所述高位时间戳TimeStamp1与所述高位基准数据的高位差值;
子步骤S12,计算所述高位差值与第一预设数值之商;
子步骤S13,将所述商作为高位传递值;
所述步骤104可以包括如下子步骤:
子步骤S21,判断所述高位传递值是否小于第一预设数值;若是,则执行子步骤S22;
子步骤S22,生成高位指正标识,并添加至所述高位时间戳TimeStamp1对应的数据包头中。
在本发明的具体应用的一种优选示例中,针对普通的日志文件,其可以具有以下特点:
1、一秒内传递大量的数据包;
2、时间戳的记录按照时间以倍数递增;
3、针对TD-SCDMA(时分同步码分多址,Time Division-SynchronousCode Division Multiple Access)与TD-LTE(时分长期演进,Time DivisionLong Term Evolution)的日志文件,还具有如下特点:
3.1相邻数据包之间时间戳为5ms的倍数。
在具体实现中,数据包头中的时间类型(TimeStamp1高位时间戳+TimepStamp2低位时间戳)所占用的存储空间共8个字节,日志文件的Log生成机制给接收到的每一个数据包打上一个时间戳(TimeStamp1高位时间戳+TimepStamp2低位时间戳)。一种普通的时间戳记录方式为:第一个数据包的时间戳假设为0000ms,第二个时间戳为0005ms……。在TD的日志文件中,两个数据包的时间间隔的基本单位是5ms,所以任意两个数据包的时间间隔均为5ms的倍数。
基于这种相邻数据包之间时间间隔为5ms的倍数的特性,如果只记录时间戳与基准数据之间的差值,只传递递增量,则可以大量减少实际所需的存储空间。
对于高位时间戳而言,可以采用5s作为预设数值,假设第一个数据包的高位时间戳为0s,第二个高位时间戳为0005s……,应用本发明实施例,则可以将第一个时间戳记录为1,第二时间戳则记录为个为2,以此类推。采用1,2,3,4等自然数来记录数据包头中时间戳的增量以达到压缩的目的,则数据包头中高位时间戳的压缩效率提升5倍(根据数据包时间间隔而定),只传递差值而非具体的值,这样,在TD时间级的日志中,只需要1个字节即可记录在1秒内的时间戳(5ms x 2^8=1.28s)。并且时间是单纯增加的,如果在1字节无法完成的时候,可以传递原值。
由于TD日志文件作为实时的记录通信状态的日志,在网络畅通的情况下,每秒中会有上万条消息,并且两个数据包之间传递的时间差几乎不会超过1s,故传递原值在日志文件中出现概率极小。并且如果经常发生数据包之间的差值超过一秒的状态,则说明通信网络出现问题,且该问题属于最为严重的问题,可以在问题产生前解决。
在本发明的一种优选实施例中,所述数据包头可以包括低位时间戳TimeStamp2,所述基准数据可以包括低位基准数据;
所述步骤103可以包括如下子步骤:
子步骤S31,计算所述低位时间戳TimeStamp2与所述低位基准数据的低位差值;
子步骤S32,计算所述低位差值与第一预设数值之商;
子步骤S33,将所述商作为低位传递值;
所述步骤104可以包括如下子步骤:
子步骤S41,判断所述低位传递值是否小于第二预设数值;若是,则执行子步骤S42;
子步骤S42,生成低位指正标识,并添加至所述低位时间戳TimeStamp2对应的数据包头中。
在具体实现中,两个数据包的时间间隔的基本单位是5ms,所以任意两个数据包的间隔均为5ms的倍数,而低位时间戳TimeStamp2和高位时间戳TimeStamp1的差别在于预设数值的单位级别,低位时间戳TimeStamp2是精确到毫秒级的,高位时间戳TimeStamp1则是精确到秒级的,故高位时间戳TimeStamp1可以采用5s作为预设数值,低位时间戳TimeStamp2则可以采用5ms作为预设数值。
由于低位时间戳TimeStamp2的压缩的过程与高位时间戳TimeStamp1压缩的过程相同,故不在此赘述。
在本发明的一种优选实施例中,所述数据包头可以包括数据包长度CapLen,所述基准数据可以包括长度基准数据;
所述步骤103可以包括如下子步骤:
子步骤S51,计算所述数据包长度CapLen与所述长度基准数据的长度差值;
子步骤S52,将所述长度差值作为长度传递值;
所述步骤104可以包括如下子步骤:
子步骤S61,判断所述长度传递值是否小于第三预设数值;若是,则执行子步骤S62;
子步骤S62,生成长度指正标识,并添加至所述数据包长度CapLen对应的数据包头中。
在具体实现中,数据包长度字段CapLen所占用的存储空间为4个字节,在本发明实施例中,可以对选取某个数据包头的数据包长度作为长度基础数据,如果两者之间的差值超过1个字节,传递原来的整个数据包长度CapLen,如果两者之间的差值没有超过1个字节,传递两者的差值,如果两者相同,则后一个可以不传递。
在本发明具体应用的一种示例中,假设数据包A为基准包,其长度基础数据为10Byte,数据包B的CapLen为10Byte,数据包C的CapLen为15Byte,数据包D的CapLen为300byte;数据包A的CapLen作为长度基准数据不进行压缩,应用本发明实施例,数据包B的Caplen为0(不传递),数据包C的Caplen为5(传递差值),数据包D的包Caplen为300(传递原值)。
需要说明的,如果说基准包的长度基础数据与数据包长度CapLen之间的差值为负数,则记录原值。具体地,假设长度基准数据为L,数据包长度CapLen分别有L+100,L-130,L,则记录的传递值为100(传递差值),L-130(传递原值),0(传递差值)。
在本发明的一种优选示例中,在数据包头中还可以包括数据长度字段Len,数据长度字段Len所占用的存储空间4个字节,在实际中,数据包长度CapLen和数据长度字段Len的压缩过程类似,故不在此赘述了。
为了使本领域技术人员进一步理解本发明实施例,以下采用具体的示例对于本发明实施例的压缩过程进行说明。
假设日志文件中的数据包头包括:
从上述数据包头中选取数据编号为A的数据包头作为基准包头,基准包不做压缩,该基准包的大小具体如下所示:
4byte | 4byte | 4byte | ||
A | T | 0ms | L | Data |
根据基准包头,其余的数据包头压缩处理如下所示:
3bit | 1byte | 1byte | 1byte | |
000 | 0 | 1 | 100 | Data |
001 | 0 | 1 | L-130 | Data |
100 | T+300 | 2 | 0 | Data |
在本示例中,根据数据包头是否进行压缩,在日志文件中的数据包头中增加3个bit的指正标识(指正位):
第一个bit为TimeStamp1高位的指正位:传递差值还是原值;
第二个bit为TimeStamp2低位的指正位:传递差值还是原值;
第三个bit为CapLen长度的指正位:传递差值还是原值。
在具体实现中,可以采用0表示传递原值,采用1表示传递差值,当然反之也可,本发明实施例对此不加以限制。
在TD日志级的数据量下通常有上万个数据包,而应用本发明实施例则平均每个数据包头所需空间大致为:3bit+1byte+1byte+1byte=27bit,大大减少了数据包头实际所需的存储空间。
在本发明的一种优选实施例中,所述数据包头还可以包括类型字段type,在日志文件可以包括映射表;所述映射表中可以包括类型字段及对应的压缩值;所述方法还可以包括如下步骤:
步骤S71,判断所述类型字段type在映射表中是否存在一致的类型字段;若是,则执行步骤S72;若否,则执行步骤S73;
步骤S72,采用所述压缩值作为所述类型字段type进行记录,生成类型指正标识,并添加至所述类型字段type对应的数据包头中;
步骤S73,将所述类型字段type作为新的类型字段,并为所述新的类型字段设置新的压缩值;
将所述新的类型字段及对应的新的压缩值写入所述映射表中。
在具体实现中,日志文件中的每个数据包头中包含一个类型字段type,所占用的存储空间为4个字节。
在本发明实施例中,对于类型字段type,当第一次出现时传递原值,第二次出现时传递压缩值,每遇到一个新的类型字段,压缩值自增1,用以映射表示一个新的类型字段,在第二次及以后出现时可以使用。例如1表示类型字段A1,2表示类型字段A2……,后面数据包头中出现相同类型字段A1可以用1表示,采用这种方式建立映射表,表明压缩值与类型字段type之间的映射关系。在本发明具体应用的一种示例中,当需要自增到256的时候,可以重新归0,为之后的出现的压缩值新建一个映射表,并重新进行类型字段type和压缩值的映射。
在每个数据包头中增加一个类型指正位(类型指正标识),其中,可以采用0表示传递原值,1表示传递压缩值,当然反之也可,本发明实施例对此不加以限制。
在本发明具体应用的一种示例中,日志文件中的类型字段结构如下:
A1 | A1 | A2 | A2 | … | A32 | A32 | A33 | A33 | A32 | A32 | A33 | A33 |
应用本发明实施例针对类型字段进行压缩后则为:
A1 | 0 | A2 | 1 | … | A32 | 31 | A33 | 0 | A32 | 31 | 0 | 0 |
在本示例中,该数据包的类型字段从A1到A32,一共是32个类型字段,其中每个类型字段type分别有两个,采用映射表将类型字段type与压缩值一一进行映射,比如,用0表示类型字段A1,用1表示类型字段A2,以此类推,采用1、2、3、4……这种方式记录类型字段type,将节省将近一半的存储空间。
在本发明实施例中针对数据包头重点进行压缩,可以轻易的将数据包头进行压缩到可以接受的地步,有效的减少传输资源和存储资源。
参照图4,示出了本发明一种日志文件的解压方法实施例的步骤流程图,在日志文件中可以包括数据包头;具体可以包括如下步骤:
在本发明实施例中,在压缩后的日志文件中包括有不进行压缩处理的第一数据包头,根据作为基准数据的数据包头压缩后的数据包头,以及没有进行压缩的数据包头。其中在数据包头中还包括有用于表示是否有进行压缩的指正标识。
步骤201,逐个判断是否解压所述数据包头;若是,则执行步骤202;
步骤202,则将前一数据包头作为后一数据包头的基准数据;
步骤203,依据所述基准数据对所述数据包头进行解压。
在本发明的一种优选实施例中,所述基准数据可以包括高位基准数据,所述数据包头可以包括高位时间戳TimeStamp1和高位指正标识;
所述步骤201可以包括如下子步骤:
子步骤S81,判断所述数据包头中是否存在高位指正标识;若是,则执行子步骤S82;
子步骤S82,判定采用所述高位基准数据对所述数据包头进行解压;
则所述步骤203可以包括如下子步骤:
子步骤S91,计算所述高位时间戳TimeStamp1与第一预设数值之积;
子步骤S92,计算所述积与高位基准数据之和作为所述数据包头的高位时间戳TimeStamp1。
在具体实现中,判断数据包头中是否有高位指正标识,如果有,则可以将高位时间戳TimeStamp1与预设数值(5ms的倍数,此处可以为5s)与,与压缩后的传递值相加,获得实际的高位时间戳TimeStamp1,如果没有,则说明高位时间戳TimeStamp1进行压缩,无需进行解压。
在本发明具体应用的一种示例中,假设采用5s作为预设数值,T为高位基准数据,第一个时间戳记录为1,第二时间戳则记录为个为2……,如果存在高位指正标识需要进行解压,则可以将高位时间戳TimeStamp1(比如1)乘以预设数值,再加上高位基准数据(即1*5+T),就可以计算出高位时间戳TimeStamp1。
在本发明的一种优选实施例中,所述基准数据可以包括低位基准数据,所述数据包头可以包括低位时间戳TimeStamp2和低位指正标识;
所述步骤201可以包括如下子步骤:
子步骤S101,判断所述数据包头中是否存在低位指正标识;若是,则执行子步骤S102;
子步骤S102,判定采用所述低位基准数据对所述数据包头进行解压;
则所述步骤203可以包括如下子步骤:
子步骤S111,计算所述低位时间戳TimeStamp2与第二预设数值之积;
子步骤S112,计算所述积与低位基准数据之和作为所述数据包头的低位时间戳TimeStamp2。
在本发明的一种优选实施例中,所述基准数据可以包括长度基准数据,所述数据包头可以包括数据包长度CapLen和长度指正标识;
所述步骤201可以包括如下子步骤:
子步骤S121,判断所述数据包头中是否存在长度指正标识;若是,则执行子步骤S122;
子步骤S122,判定采用所述数据包长度CapLen对所述数据包头进行解压;
则所述步骤203可以包括如下子步骤:
子步骤S131,计算所述数据包长度CapLen与所述长度基准数据之和;
子步骤S132,将所述和作为所述数据包头的数据包长度CapLen。
在具体实现中,判断数据包头中是否有长度指正标识,如果有,则可以将基准长度与压缩后的传递值相加,获得实际的数据包长度CapLen,如果没有,则说明数据包长度CapLen没有进行压缩,无需进行解压。
在本发明具体应用的一种示例中,假设数据包A为基准包,其长度基准数据为10Byte,数据包B的Caplen为0(不传递),数据包C的Caplen为5(传递差值),数据包D的包Caplen为300(传递原值),如果存在长度指正标识需要进行解压,则将所述长度基准数据加上当前的数据包长度CapLen即可。则数据包B的CapLen为10Byte,数据包C的CapLen为15Byte,数据包D的CapLen为300byte。
需要说明的是,在数据包头中还可以包括数据长度字段Len,在实际中,数据包长度CapLen和数据长度字段Len的解压过程类似,故不在此赘述了。
在本发明的一种优选实施例中,所述数据包头可以包括类型字段type和类型指正标识;在日志文件可以包括映射表;所述映射表中包括类型字段及对应的压缩值;所述方法还可以包括如下步骤:
步骤S141,判断是否存在类型指正标识;若是,则执行步骤S142;
步骤S142,采用所述压缩值在映射表中查找对应的类型字段;
步骤S143,将所述类型字段作为所述数据包头的类型字段type。
在具体实现中,判断数据包头中是否有类型指正标识,如果有,则可以根据压缩值在映射表查找到实际的类型字段type,如果没有,则说明类型字段type没有进行压缩,无需进行解压。
在本发明具体应用的一种示例中,在映射表类型字段type与压缩值一一映射,其中,用0表示类型字段A1,用1表示类型字段A2……,进行解压时,将0对应解压为类型字段A1,1解压类型字段A2……以此类推,将全部的类型字段一一进行解压。
本发明实施例中需要对数据包头进行解压时,可以对数据包头进行按序进行读取并解压。此外,本发明实施例压缩、解压速度和普通文件类似,并不会对系统造成额外的负担。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
参照图5,示出了本发明一种日志文件的压缩装置实施例的结构框图,具体可以包括如下模块:
获取模块301,用于获取日志文件中的多个数据包头;
选取模块302,用于将前一数据包头作为后一数据包头的基准数据;
计算模块303,用于采用所述基准数据和所述后一数据包头计算传递值;
判断模块304,用于判断所述传递值是否小于预设数值;若是,则调用记录模块;
在本发明的一种优选实施例中,所述数据包头包括高位时间戳TimeStamp1,所述基准数据包括高位基准数据;
所述计算模块包括:
第一计算子模块,用于计算所述高位时间戳TimeStamp1与所述高位基准数据的高位差值;
第二计算子模块,用于计算所述高位差值与第一预设数值之商;
第一替换子模块,用于将所述商作为高位传递值;
所述判断模块包括:
第一判断子模块,用于判断所述高位传递值是否小于第一预设数值;若是,则调用第一生成子模块;
第一生成子模块,用于生成高位指正标识,并添加至所述高位时间戳TimeStamp1对应的数据包头中。
在本发明的一种优选实施例中,所述数据包头包括低位时间戳TimeStamp2,所述基准数据包括低位基准数据;
所述计算模块包括:
第三计算子模块,用于计算所述低位时间戳TimeStamp2与所述低位基准数据的低位差值;
第四计算子模块,用于计算所述低位差值与第一预设数值之商;
第二替换子模块,用于将所述商作为低位传递值;
所述判断模块包括:
第二判断子模块,用于判断所述低位传递值是否小于第二预设数值;若是,则调用第二生成子模块;
第二生成子模块,用于生成低位指正标识,并添加至所述低位时间戳TimeStamp2对应的数据包头中。
在本发明的一种优选实施例中,所述数据包头包括数据包长度CapLen,所述基准数据包括长度基准数据;
所述计算模块包括:
第五计算子模块,用于计算所述数据包长度CapLen与所述长度基准数据的长度差值;
第三替换子模块,用于将所述长度差值作为长度传递值;
所述判断模块包括:
第三判断子模块,用于判断所述长度传递值是否小于第三预设数值;若是,则调用第三生成子模块;
第三生成子模块,用于生成长度指正标识,并添加至所述数据包长度CapLen对应的数据包头中。
记录模块305,用于将所述传递值作为所述后一数据包头进行记录。
在本发明的一种优选实施例中,所述数据包头还可以包括类型字段type,在日志文件中可以包括映射表;所述映射表中可以包括类型字段及对应的压缩值;所述装置还可以包括如下模块:
类型字段判断模块,用于判断所述类型字段type在映射表中是否存在一致的类型字段;若是,则调用标识记录模块,若否,则调用设置模块;
标识记录模块,用于采用所述压缩值作为所述类型字段type进行记录,生成类型指正标识,并添加至所述类型字段type对应的数据包头中;
设置模块,用于将所述类型字段type作为新的类型字段,并为所述新的类型字段设置新的压缩值;
写入模块,用于将所述新的类型字段及对应的新的压缩值写入所述映射表中。
参照图6,示出了本发明一种日志文件的解压装置实施例的结构框图,所述日志文件中可以包括基准数据和数据包头;具体可以包括如下模块:
判断模块401,用于逐个判断是否解压所述数据包头;若是,则调用解压模块;
处理模块402,用于将前一数据包头作为后一数据包头的基准数据;
解压模块403,用于依据所述基准数据对所述数据包头进行解压。
在本发明的一种优选实施例中,所述基准数据包括高位基准数据,所述数据包头包括高位时间戳TimeStamp1和高位指正标识;
所述判断模块包括:
第一判断子模块,用于判断所述数据包头中是否存在高位指正标识;若是,则调用第一判定子模块;
第一判定子模块,用于判定采用所述高位基准数据对所述数据包头进行解压;
则所述解压模块包括:
第一计算子模块,用于计算所述高位时间戳TimeStamp1与第一预设数值之积;
第一替换子模块,用于计算所述积与高位基准数据之和作为所述数据包头的高位时间戳TimeStamp1。
在本发明的一种优选实施例中,所述基准数据包括低位基准数据,所述数据包头包括低位时间戳TimeStamp2和低位指正标识;
所述判断模块包括:
第二判断子模块,用于判断所述数据包头中是否存在低位指正标识;若是,则调用第二判定子模块;
第二判定子模块,用于判定采用所述低位基准数据对所述数据包头进行解压;
则所述解压模块包括:
第二计算子模块,用于计算所述低位时间戳TimeStamp2与第二预设数值之积;
第二替换子模块,用于计算所述积与低位基准数据之和作为所述数据包头的低位时间戳TimeStamp2。
在本发明的一种优选实施例中,所述基准数据包括长度基准数据,所述数据包头包括数据包长度CapLen和长度指正标识;
所述判断模块包括:
第三判断子模块,用于判断所述数据包头中是否存在长度指正标识;若是,则调用第三判定子模块;
第三判定子模块,用于判定采用所述长度基准数据对所述数据包头进行解压;
则所述解压模块包括:
第三计算子模块,用于计算所述数据包长度CapLen与所述长度基准数据之和;
第三替换子模块,用于将所述和作为所述数据包头的数据包长度CapLen。
在本发明的一种优选实施例中,所述数据包头包括类型字段type和类型指正标识;在日志文件包括映射表;所述映射表中包括类型字段及对应的压缩值;所述装置还可以包括如下模块:
类型标识判断模块,用于判断是否存在类型指正标识;若是,则调用查找模块;
查找模块,用于采用所述压缩值在映射表中查找对应的类型字段;
类型字段替代模块,用于将所述类型字段作为所述数据包头的类型字段type。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种日志文件的压缩方法,以及,一种日志文件的压缩装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (20)
1.一种日志文件的压缩方法,其特征在于,包括:
获取日志文件中的多个数据包头;
将前一数据包头作为后一数据包头的基准数据;
采用所述基准数据和所述后一数据包头计算传递值;
判断所述传递值是否小于预设数值;
若是,将所述传递值作为所述后一数据包头进行记录。
2.根据权利要求1所述的方法,其特征在于,所述数据包头包括高位时间戳TimeStamp1,所述基准数据包括高位基准数据;
所述采用基准数据和所述后一数据包头计算传递值的步骤包括:
计算所述高位时间戳TimeStamp1与所述高位基准数据的高位差值;
计算所述高位差值与第一预设数值之商;
将所述商作为高位传递值;
所述判断传递值是否小于预设数值的步骤包括:
判断所述高位传递值是否小于第一预设数值;
若是,则生成高位指正标识,并添加至所述高位时间戳TimeStamp1对应的数据包头中。
3.根据权利要求1所述的方法,其特征在于,所述数据包头包括低位时间戳TimeStamp2,所述基准数据包括低位基准数据;
所述采用基准数据和所述后一数据包头计算传递值的步骤包括:
计算所述低位时间戳TimeStamp2与所述低位基准数据的低位差值;
计算所述低位差值与第一预设数值之商;
将所述商作为低位传递值;
所述判断传递值是否小于预设数值的步骤包括:
判断所述低位传递值是否小于第二预设数值;
若是,则生成低位指正标识,并添加至所述低位时间戳TimeStamp2对应的数据包头中。
4.根据权利要求1所述的方法,其特征在于,所述数据包头包括数据包长度CapLen,所述基准数据包括长度基准数据;
所述采用基准数据和所述后一数据包头计算传递值的步骤包括:
计算所述数据包长度CapLen与所述长度基准数据的长度差值;
将所述长度差值作为长度传递值;
所述判断传递值是否小于预设数值的步骤包括:
判断所述长度传递值是否小于第三预设数值;
若是,则生成长度指正标识,并添加至所述数据包长度CapLen对应的数据包头中。
5.根据权利要求1所述的方法,其特征在于,所述数据包头包括类型字段type,在日志文件包括映射表;所述映射表中包括类型字段及对应的压缩值;所述方法还包括:
判断所述类型字段type在映射表中是否存在一致的类型字段;
若是,则采用所述压缩值作为所述类型字段type进行记录,生成类型指正标识,并添加至所述类型字段type对应的数据包头中;
若否,则将所述类型字段type作为新的类型字段,并为所述新的类型字段设置新的压缩值;
将所述新的类型字段及对应的新的压缩值写入所述映射表中。
6.一种日志文件的解压方法,其特征在于,在所述日志文件中包括数据包头,其中第一数据包头没有被压缩;所述方法包括:
逐个判断是否解压所述数据包头;
若是,则将前一数据包头作为后一数据包头的基准数据;
依据所述基准数据对后一数据包头进行解压。
7.根据权利要求6所述的方法,其特征在于,所述基准数据包括高位基准数据,所述数据包头包括高位时间戳TimeStamp1和高位指正标识;
所述逐个判断是否解压所述数据包头的步骤包括:
判断所述数据包头中是否存在高位指正标识;
若是,则判定依据前一数据包头对后一数据包头进行解压;
则所述依据基准数据对后一数据包头进行解压的步骤包括:
计算所述高位时间戳TimeStamp1与第一预设数值之积;
计算所述积与高位基准数据之和作为所述数据包头的高位时间戳TimeStamp1。
8.根据权利要求6所述的方法,其特征在于,所述基准数据包括低位基准数据,所述数据包头包括低位时间戳TimeStamp2和低位指正标识;
所述逐个判断是否解压所述数据包头的步骤包括:
判断所述数据包头中是否存在低位指正标识;
若是,则判定采用所述低位基准数据对所述数据包头进行解压;
则所述依据基准数据对后一数据包头进行解压的步骤包括:
计算所述低位时间戳TimeStamp2与第二预设数值之积;
计算所述积与低位基准数据之和作为所述数据包头的低位时间戳TimeStamp2。
9.根据权利要求6所述的方法,其特征在于,所述基准数据包括长度基准数据,所述数据包头包括数据包长度CapLen和长度指正标识;
所述逐个判断是否解压所述数据包头的步骤包括:
判断所述数据包头中是否存在长度指正标识;
若是,则判定采用所述长度基准数据对所述数据包头进行解压;
则所述依据基准数据对后一数据包头进行解压的步骤包括:
计算所述数据包长度CapLen与所述长度基准数据之和;
将所述和作为所述数据包头的数据包长度CapLen。
10.根据权利要求6所述的方法,其特征在于,所述数据包头包括类型字段type和类型指正标识;在日志文件包括映射表;所述映射表中包括类型字段及对应的压缩值;所述方法还包括:
判断是否存在类型指正标识;
若是,则采用所述压缩值在映射表中查找对应的类型字段;
将所述类型字段作为所述数据包头的类型字段type。
11.一种日志文件的压缩装置,其特征在于,包括:
获取模块,用于获取日志文件中的多个数据包头;
选取模块,用于将前一数据包头作为后一数据包头的基准数据;
计算模块,用于采用所述基准数据和所述后一数据包头计算传递值;
判断模块,用于判断所述传递值是否小于预设数值;若是,则调用记录模块;
记录模块,用于将所述传递值作为所述后一数据包头进行记录。
12.根据权利要求11所述的装置,其特征在于,所述数据包头包括高位时间戳TimeStamp1,所述基准数据包括高位基准数据;
所述计算模块包括:
第一计算子模块,用于计算所述高位时间戳TimeStamp1与所述高位基准数据的高位差值;
第二计算子模块,用于计算所述高位差值与第一预设数值之商;
第一替换子模块,用于将所述商作为高位传递值;
所述判断模块包括:
第一判断子模块,用于判断所述高位传递值是否小于第一预设数值;若是,则调用第一生成子模块;
第一生成子模块,用于生成高位指正标识,并添加至所述高位时间戳TimeStamp1对应的数据包头中。
13.根据权利要求11所述的装置,其特征在于,所述数据包头包括低位时间戳TimeStamp2,所述基准数据包括低位基准数据;
所述计算模块包括:
第三计算子模块,用于计算所述低位时间戳TimeStamp2与所述低位基准数据的低位差值;
第四计算子模块,用于计算所述低位差值与第一预设数值之商;
第二替换子模块,用于将所述商作为低位传递值;
所述判断模块包括:
第二判断子模块,用于判断所述低位传递值是否小于第二预设数值;若是,则调用第二生成子模块;
第二生成子模块,用于生成低位指正标识,并添加至所述低位时间戳TimeStamp2对应的数据包头中。
14.根据权利要求11所述的装置,其特征在于,所述数据包头包括数据包长度CapLen,所述基准数据包括长度基准数据;
所述计算模块包括:
第五计算子模块,用于计算所述数据包长度CapLen与所述长度基准数据的长度差值;
第三替换子模块,用于将所述长度差值作为长度传递值;
所述判断模块包括:
第三判断子模块,用于判断所述长度传递值是否小于第三预设数值;若是,则调用第三生成子模块;
第三生成子模块,用于生成长度指正标识,并添加至所述数据包长度CapLen对应的数据包头中。
15.根据权利要求11所述的装置,其特征在于,所述数据包头包括类型字段type,在日志文件包括映射表;所述映射表中包括类型字段及对应的压缩值;所述装置还包括:
类型字段判断模块,用于判断所述类型字段type在映射表中是否存在一致的类型字段;若是,则调用标识记录模块,若否,则调用设置模块;
标识记录模块,用于采用所述压缩值作为所述类型字段type进行记录,生成类型指正标识,并添加至所述类型字段type对应的数据包头中;设置模块,用于将所述类型字段type作为新的类型字段,并为所述新的类型字段设置新的压缩值;
写入模块,用于将所述新的压缩值及对应的新的类型指正标识写入所述映射表中。
16.一种日志文件的解压装置,其特征在于,所述日志文件中包括基准数据和数据包头;所述方法包括:
判断模块,用于逐个判断是否解压所述数据包头;若是,则调用解压模块;
处理模块,用于将前一数据包头作为后一数据包头的基准数据;
解压模块,用于依据所述基准数据对所述后一数据包头进行解压。
17.根据权利要求6所述的装置,其特征在于,所述基准数据包括高位基准数据,所述数据包头包括高位时间戳TimeStamp1和高位指正标识;
所述判断模块包括:
第一判断子模块,用于判断所述数据包头中是否存在高位指正标识;若是,则调用第一判定子模块;
第一判定子模块,用于判定采用所述高位基准数据对所述数据包头进行解压;
则所述解压模块包括:
第一计算子模块,用于计算所述高位时间戳TimeStamp1与第一预设数值之积;
第一替换子模块,用于计算所述积与高位基准数据之和作为所述数据包头的高位时间戳TimeStamp1。
18.根据权利要求16所述的装置,其特征在于,所述基准数据包括低位基准数据,所述数据包头包括低位时间戳TimeStamp2和低位指正标识;
所述判断模块包括:
第二判断子模块,用于判断所述数据包头中是否存在低位指正标识;若是,则调用第二判定子模块;
第二判定子模块,用于判定采用所述低位基准数据对所述数据包头进行解压;
则所述解压模块包括:
第二计算子模块,用于计算所述低位时间戳TimeStamp2与第二预设数值之积;
第二替换子模块,用于计算所述积与低位基准数据之和作为所述数据包头的低位时间戳TimeStamp2。
19.根据权利要求16所述的装置,其特征在于,所述基准数据包括长度基准数据,所述数据包头包括数据包长度CapLen和长度指正标识;
所述判断模块包括:
第三判断子模块,用于判断所述数据包头中是否存在长度指正标识;若是,则调用第三判定子模块;
第三判定子模块,用于判定采用所述长度基准数据对所述数据包头进行解压;
则所述解压模块包括:
第三计算子模块,用于计算所述数据包长度CapLen与所述长度基准数据之和;
第三替换子模块,用于将所述和作为所述数据包头的数据包长度CapLen。
20.根据权利要求16所述的装置,其特征在于,所述数据包头包括类型字段type和类型指正标识;在日志文件包括映射表;所述映射表中包括类型字段及对应的类型指正标识;所述装置还包括:
类型标识判断模块,用于判断是否存在类型指正标识;若是,则调用查找模块;
查找模块,用于采用所述压缩值在映射表中查找对应的类型字段;
类型字段替代模块,用于将所述类型字段作为所述数据包头的类型字段type。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410849535.6A CN104636432B (zh) | 2014-12-29 | 2014-12-29 | 一种日志文件压缩和解压的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410849535.6A CN104636432B (zh) | 2014-12-29 | 2014-12-29 | 一种日志文件压缩和解压的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636432A true CN104636432A (zh) | 2015-05-20 |
CN104636432B CN104636432B (zh) | 2019-03-12 |
Family
ID=53215178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410849535.6A Active CN104636432B (zh) | 2014-12-29 | 2014-12-29 | 一种日志文件压缩和解压的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636432B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354617A (zh) * | 2016-08-29 | 2017-01-25 | 广州华多网络科技有限公司 | 程序压缩性日志文件输出方法及装置 |
CN107968782A (zh) * | 2017-11-29 | 2018-04-27 | 北京经纬恒润科技有限公司 | 一种报文压缩存储方法及装置 |
CN111767213A (zh) * | 2020-06-18 | 2020-10-13 | 北京同邦卓益科技有限公司 | 数据库检查点的测试方法、装置、电子设备及存储介质 |
CN116170273A (zh) * | 2023-01-03 | 2023-05-26 | 光大科技有限公司 | 一种日志异步输出处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1408189A (zh) * | 1999-11-09 | 2003-04-02 | 诺基亚有限公司 | 用于报头压缩的切换过程 |
CN101119300A (zh) * | 2007-08-28 | 2008-02-06 | 华为技术有限公司 | 限制带宽的方法及装置 |
CN101159667A (zh) * | 2007-10-16 | 2008-04-09 | 中兴通讯股份有限公司 | 用于移动多媒体广播系统对分组数据进行报头压缩的方法 |
CN101163095A (zh) * | 2006-10-13 | 2008-04-16 | 中兴通讯股份有限公司 | 一种应用于端到端链路传输中ip报头压缩的方法 |
CN101179564A (zh) * | 2007-08-10 | 2008-05-14 | 华中科技大学 | 基于链路层自动请求重传的tcp分组头部压缩方法及其系统 |
CN102164043A (zh) * | 2010-10-27 | 2011-08-24 | 青岛海信传媒网络技术有限公司 | 日志上报方法及终端 |
-
2014
- 2014-12-29 CN CN201410849535.6A patent/CN104636432B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1408189A (zh) * | 1999-11-09 | 2003-04-02 | 诺基亚有限公司 | 用于报头压缩的切换过程 |
CN101163095A (zh) * | 2006-10-13 | 2008-04-16 | 中兴通讯股份有限公司 | 一种应用于端到端链路传输中ip报头压缩的方法 |
CN101179564A (zh) * | 2007-08-10 | 2008-05-14 | 华中科技大学 | 基于链路层自动请求重传的tcp分组头部压缩方法及其系统 |
CN101119300A (zh) * | 2007-08-28 | 2008-02-06 | 华为技术有限公司 | 限制带宽的方法及装置 |
CN101159667A (zh) * | 2007-10-16 | 2008-04-09 | 中兴通讯股份有限公司 | 用于移动多媒体广播系统对分组数据进行报头压缩的方法 |
CN102164043A (zh) * | 2010-10-27 | 2011-08-24 | 青岛海信传媒网络技术有限公司 | 日志上报方法及终端 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354617A (zh) * | 2016-08-29 | 2017-01-25 | 广州华多网络科技有限公司 | 程序压缩性日志文件输出方法及装置 |
CN106354617B (zh) * | 2016-08-29 | 2019-04-12 | 广州华多网络科技有限公司 | 程序压缩性日志文件输出方法及装置 |
CN107968782A (zh) * | 2017-11-29 | 2018-04-27 | 北京经纬恒润科技有限公司 | 一种报文压缩存储方法及装置 |
CN111767213A (zh) * | 2020-06-18 | 2020-10-13 | 北京同邦卓益科技有限公司 | 数据库检查点的测试方法、装置、电子设备及存储介质 |
CN111767213B (zh) * | 2020-06-18 | 2024-04-05 | 北京同邦卓益科技有限公司 | 数据库检查点的测试方法、装置、电子设备及存储介质 |
CN116170273A (zh) * | 2023-01-03 | 2023-05-26 | 光大科技有限公司 | 一种日志异步输出处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104636432B (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106452450B (zh) | 数据压缩的方法和系统 | |
CN111782620B (zh) | 一种信用链路自动跟踪平台及其方法 | |
CN106407303A (zh) | 数据存储、查询方法及装置 | |
CN104090889A (zh) | 数据处理方法及系统 | |
KR102061466B1 (ko) | 메모리 관리를 위한 보존 가비지 콜렉팅 및 정수 태깅 기법 | |
CN111061678B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN104636432A (zh) | 一种日志文件压缩和解压的方法及装置 | |
CN105302920A (zh) | 一种云存储数据的优化管理方法和系统 | |
CN102591855A (zh) | 一种数据标识方法及系统 | |
CN104424256A (zh) | 布隆过滤器生成方法和装置 | |
CN104427341A (zh) | 一种图像处理方法、装置及终端 | |
CN113806458A (zh) | 时空关联数据的查询方法、装置、电子设备和存储介质 | |
CN110191156A (zh) | 一种基于区块链的数据处理方法及装置 | |
CN105302915B (zh) | 基于内存计算的高性能数据处理系统 | |
CN116841973A (zh) | 面向嵌入式数据库的数据智能化压缩方法及系统 | |
CN111666344A (zh) | 异构数据同步方法及装置 | |
CN102685222B (zh) | 一种用于电力系统的云存储资源管理装置 | |
CN105204782B (zh) | 一种实现数据存储的方法及装置 | |
CN102722410B (zh) | 执行程序的方法、服务器、移动终端及系统 | |
CN104063377A (zh) | 信息处理方法和使用其的电子设备 | |
CN116610731B (zh) | 一种大数据分布式存储方法、装置、电子设备及存储介质 | |
CN103425490A (zh) | 基于crm系统中运行对象数据的管理方法 | |
CN112162951A (zh) | 一种信息检索方法、服务器及存储介质 | |
CN116910820A (zh) | 数据报表处理方法、装置、计算机设备以及存储介质 | |
CN110221778A (zh) | 酒店数据的处理方法、系统、存储介质以及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |