CN104252406B - 数据处理的方法及装置 - Google Patents

数据处理的方法及装置 Download PDF

Info

Publication number
CN104252406B
CN104252406B CN201310270678.7A CN201310270678A CN104252406B CN 104252406 B CN104252406 B CN 104252406B CN 201310270678 A CN201310270678 A CN 201310270678A CN 104252406 B CN104252406 B CN 104252406B
Authority
CN
China
Prior art keywords
sequence
subsequence
frequent episodes
logged
short
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
CN201310270678.7A
Other languages
English (en)
Other versions
CN104252406A (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.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
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 Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201310270678.7A priority Critical patent/CN104252406B/zh
Priority to PCT/CN2014/080158 priority patent/WO2014206227A1/zh
Publication of CN104252406A publication Critical patent/CN104252406A/zh
Application granted granted Critical
Publication of CN104252406B publication Critical patent/CN104252406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种数据处理的方法及装置,涉及数据处理技术领域,能够避免根据固定时长分割日志事件库进行挖掘后所需的复杂的模式整合。该方法包括:根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列;将日志序列中时序上排列第一的日志序列确定为起始序列,从起始序列开始依次判断当前日志序列包含的事件数量;如果当前日志序列中的事件数量小于第一预设事件数量,则确定子序列库;分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果。本发明主要应用于数据处理的过程中。

Description

数据处理的方法及装置
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理的方法及装置。
背景技术
随着集群系统、云计算数据中心等平台的规模逐渐增长和计算任务日益复杂,系统故障造成的业务中断、数据泄漏丢失带给用户的打击越来越沉重。当故障发生后,如何进行快速精确的故障诊断成为当务之急。系统的日志中记载了系统运行过程中发生的事件,包括操作系统、内核、网络、硬件、应用程序或用户行为等,是进行系统故障诊断的首选资源。通过对日志进行数据处理,能够从日志中找出导致失效事件的根原因事件(Rootcause),以便及时解决系统故障。
现有技术中提供了并行处理日志的技术方案如下:根据固定大小对日志事件库(日志文件)进行分割,得到多个子序列库。以并行方式分别对这些子序列库进行数据处理,得到频繁序列(挖掘结果),在对所有频繁序列(挖掘结果)进行复杂的全局模式整合,得到针对上述多个子序列库的挖掘结果。
在实现上述数据处理的过程中,发明人发现现有技术中至少存在如下问题:现有的对日志事件库进行固定分割并对得到的子序列库进行并行数据处理以提高海量日志挖掘效率的方法中,在获取日志整体挖掘结果时,需要对各个子序列库得到的局部频繁序列进行复杂的模式整合才能得到全局的挖掘结果。模式整合通常需要为每个频繁序列搜索整个日志事件库,使得总体的挖掘效率降低。
发明内容
本发明提供的一种数据处理的方法及装置,能够解决由于不能保证子序列库中事件的相互独立,导致在对每个子序列库单独进行数据处理后,需要通过复杂的全局模式整合才能够得出数据处理结果,进而数据处理效率降低的问题。
第一方面,本发明提供了一种数据处理的方法,包括:
根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列,其中,一个日志序列为一个第一时长内发生的日志事件的有序集合;
将所述日志序列中时序上排列第一的日志序列确定为起始序列,从所述起始序列开始依次判断当前日志序列包含的事件数量;
如果当前日志序列中的事件数量小于第一预设事件数量,则将所述当前日志序列确定为终止序列;
将所述起始序列、所述终止序列以及所述起始序列与所述终止序列之间的日志序列三者的有序集合确定为子序列库,将所述终止序列的下一个序列确定为起始序列,继续进行判断,或者,将所述起始序列以及所述起始序列与所述终止序列之间的日志序列两者的有序集合确定为子序列库,将所述终止序列确定为起始序列,继续进行判断;
分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合。
在所述第一方面的第一种可能的实现方式中,所述方法还包括:
根据第二时长分别对所述子序列库中每个日志序列进行分片,得到在时序上连续的至少一个短日志序列,其中,一个短日志序列为一个第二时长内发生的日志事件的有序集合;
根据预设规则从每个短日志序列中确定重叠子序列,从所述至少一个短日志序列中的第一个短日志序列开始,将当前短日志序列的重叠子序列拼接到当前短日志序列的下一个短日志序列中,将拼接后的下一个短日志序列确定为第二子序列,其中,重叠子序列为以当前短日志序列时间截止点为截止点的至少一个日志事件的有序集合;
所述分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合,包括:
分别对每个子序列库中的全部第二子序列进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第二频繁序列以及每个第二频繁序列在所述子序列库中出现的次数,所述第二频繁序列为短日志序列中至少两次出现的有序集合;
如果所述至少一个第二频繁序列中的至少两个第二频繁序列具有相同的重叠子序列,则将所述至少两个第二频繁序列在所述重叠子序列处进行拼接。
在所述第一方面的第一种可能的实现方式中,还提供了所述第一方面的第二种可能的实现方式,在所述第一方面的第二种可能的实现方式中,所述根据预设规则从每个短日志序列中确定重叠子序列,从所述至少一个短日志序列中的第一个短日志序列开始,将当前短日志序列的重叠子序列拼接到当前短日志序列的下一个短日志序列中,将拼接后的下一个短日志序列确定为第二子序列,包括:
从第一个短日志序列开始,依次在当前短日志序列中,从当前短日志序列时间截止点向当前短日志序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
将所述预设时长内的有序集合或第二预设事件数量的有序集合确定为所述当前短日志序列对应的重叠子序列;
从第一个短日志序列开始,依次将当前短日志序列对应的重叠子序列拼接到所述当前段日志序列的下一个短日志序列的起始位置,所述重叠子序列与所述下一个短日志序列组成一个第二子序列。
在所述第一方面的第一种可能的实现方式中,还提供了所述第一方面的第三种可能的实现方式,在所述第一方面的第三种可能的实现方式中,所述如果所述至少一个第二频繁序列中的至少两个第二频繁序列具有相同的重叠子序列,则将所述两个第二频繁序列进行拼接,包括:
从所述至少一个第二频繁序列中的时序上排列第一的第二频繁序列开始,依次在当前第二频繁序列至时序上排列倒数第二的第二频繁序列中,从当前第二频繁序列时间截止点向当前第二频繁序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,将所述预设时长内的有序集合或第二预设事件数量的有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
从所述至少一个第二频繁序列中查找出具有相同重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
在所述第一方面的第一种可能的实现方式中,还提供了所述第一方面的第四种可能的实现方式,在所述第一方面的第四种可能的实现方式中,所述如果所述至少一个第二频繁序列中的至少两个第二频繁序列具有相同的重叠子序列,则将所述两个第二频繁序列进行拼接,包括:
从所述至少一个第二频繁序列中的时序上排列第二的第二频繁序列开始,依次在当前第二频繁序列到时序上排列最后的第二频繁序列中,从当前第二频繁序列时间起始点向当前第二频繁序列时间截止点方向,选择所述预设时长内的第三有序集合或所述第二预设事件数量的第四有序集合,将所述第三有序集合或所述第四有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列;
从所述至少一个第二频繁序列中的查找出具有相同重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
第二方面,本发明提供了一种数据处理的装置,包括:
划分单元,用于根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列,其中,一个日志序列为一个第一时长内发生的日志事件的有序集合;
第一确定单元,用于将所述划分单元划分的所述日志序列中时序上排列第一的日志序列确定为起始序列;
判断单元,用于从所述第一确定单元确定的所述起始序列开始依次判断当前日志序列包含的事件数量;
第二确定单元,用于当所述判断单元判断出当前日志序列中的事件数量小于第一预设事件数量时,将所述当前日志序列确定为终止序列;
第三确定单元,用于将所述第一确定单元确定的所述起始序列、所述第二确定单元确定的所述终止序列以及所述起始序列与所述终止序列之间的日志序列三者的有序集合确定为子序列库,所述第一确定单元还用于将所述终止序列的下一个序列确定为起始序列,所述判断单元还用于继续进行判断;
所述第三确定单元,还用于将所述第一确定单元确定的所述起始序列以及所述第二确定单元确定的所述起始序列与所述终止序列之间的日志序列两者的有序集合确定为子序列库,所述第一确定单元还用于将所述终止序列确定为起始序列,所述判断单元还用于继续进行判断;
分析单元,用于分别对所述第三确定单元确定的每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合。
在所述第二反面的第一种可能的实现方式中,所述装置还包括:
分片单元,用于根据第二时长分别对所述第三单元确定的所述子序列库中每个日志序列进行分片,得到在时序上连续的至少一个短日志序列,其中,一个短日志序列为一个第二时长内发生的日志事件的有序集合;
第四确定单元,用于根据预设规则从所述分片单元得到的每个短日志序列中确定重叠子序列;
第一拼接单元,用于从所述至少一个短日志序列中的第一个短日志序列开始,将当前短日志序列的重叠子序列拼接到当前短日志序列的下一个短日志序列中,将拼接后的下一个短日志序列确定为第二子序列,其中,重叠子序列为以当前短日志序列时间截止点为截止点的至少一个日志事件的有序集合;
所述分析单元还用于,分别对所述第一拼接单元得到的每个子序列库中的全部第二子序列进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第二频繁序列以及每个第二频繁序列在所述子序列库中出现的次数,所述第二频繁序列为短日志序列中至少两次出现的有序集合;
第二拼接单元,用于当所述分析单元得到的所述至少一个第二频繁序列中的至少两个第二频繁序列具有相同的重叠子序列时,将所述至少两个第二频繁序列在所述重叠子序列处进行拼接。
在所述第二反面的第一种可能的实现方式中,还提供了所述第二反面的第二种可能的实现方式,在所述第二反面的第二种可能的实现方式中,所述第四确定单元还包括:
第一选择子单元,用于从所述分片单元得到的第一个短日志序列开始,依次在当前短日志序列中,从当前短日志序列时间截止点向当前短日志序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
确定子单元,用于将所述第一选择子单元选择的所述预设时长内的有序集合或第二预设事件数量的有序集合确定为所述当前短日志序列对应的重叠子序列;
所述第一拼接单元还用于,从第一个短日志序列开始,依次将所述确定子单元确定的当前短日志序列对应的重叠子序列拼接到所述当前段日志序列的下一个短日志序列的起始位置,所述重叠子序列与所述下一个短日志序列组成一个第二子序列。
在所述第二反面的第一种可能的实现方式中,还提供了所述第二反面的第三种可能的实现方式,在所述第二反面的第三种可能的实现方式中,包括:
第二子选择单元,用于从所述第四确定单元确定的所述至少一个第二频繁序列中的时序上排列第一的第二频繁序列开始,依次在当前第二频繁序列至时序上排列倒数第二的第二频繁序列中,从当前第二频繁序列时间截止点向当前第二频繁序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,将所述预设时长内的有序集合或第二预设事件数量的有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
第一拼接子单元,用于从所述至少一个第二频繁序列中查找出具有相同的所述第二子选择单元选择的重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
在所述第二反面的第一种可能的实现方式中,还提供了所述第二反面的第四种可能的实现方式,在所述第二反面的第四种可能的实现方式中,所述第二拼接单元还包括:
第三选择子单元,用于从所述至少一个第二频繁序列中的时序上排列第二的第二频繁序列开始,依次在当前第二频繁序列到时序上排列最后的第二频繁序列中,从当前第二频繁序列时间起始点向当前第二频繁序列时间截止点方向,选择所述预设时长内的第三有序集合或所述第二预设事件数量的第四有序集合,将所述第三有序集合或所述第四有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列;
第二拼接子单元,用于从所述至少一个第二频繁序列中的查找出具有相同的所述第二子选择单元选择的重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
本发明提供的数据处理的方法及装置,能够根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列,将所述日志序列中时序上排列第一的日志序列确定为起始序列,从所述起始序列开始依次判断,如果当前日志序列中的事件数量小于第一预设事件数量,则将所述当前日志序列确定为终止序列;然后根据所述起始序列、所述终止序列确定为子序列库,在重新确定起始序列之后,继续进行判断直至最后一个日志序列;再分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合。现有技术中根据数据大小进行固定分割,无法利用日志的分布特性进行动态分割,且分割后的子序列库不相互独立,在获取日志整体挖掘结果时,需要对各个子序列库得到的局部频繁序列进行复杂的模式整合才能得到全局的挖掘结果。模式整合通常需要为每个频繁序列再次搜索整个日志事件库,使得总体的挖掘效率降低。本发明中,根据事件数量进行分割,能够根据日志分布进行动态分割,分割出的子序列库相互独立,各子序列库上的局部挖掘结果可以作为全局的挖掘结果,从而避免了复杂的模式整合,进而提高数据处理效率。发明人发现,日志事件库中事件的分布呈间歇密集型(bursty behavior)每一个密集段的事件只集中在该段发生,独立于其它密集段。根据每个日志序列中的事件数量划分出子序列库,能够得出对应每个密集段的子序列库。对这些子序列库进行分析之后,能够得到对应每个密集段的的分析结果,进而减小对挖掘结果进行模式整合时的复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一个数据处理的方法的流程图;
图2为本发明实施例中另一个数据处理的方法的流程图;
图3为本发明实施例中再一个数据处理的方法的流程图;
图4为本发明实施例中一个数据处理的装置的结构示意图;
图5为本发明实施例中另一个数据处理的装置的结构示意图;
图6为本发明实施例中再一个数据处理的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据处理的方法,所述方法应用于数据处理服务器等电子设备中,如图1所示,包括:
步骤101、根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列,其中,一个日志序列为一个第一时长内发生的日志事件的有序集合。
所谓有序集合为顺序排列的有序集合,每个日志序列内的日志事件的排列顺序根据日志事件的发生时间升序排列。从日志事件发生时间最早的日志事件开始,将发生在第一时长之内的日志事件确定为一个日志序列。从第一时长最后时刻发生的日志事件的下一个日志事件开始,将发生在第一时长之内的日志事件确定为一个日志序列。以此类推,得到至少一个日志序列,直到所述日志事件库中最后一个日志事件为止。第一时长为单位时长,例如1min、10s等,通常为1min。如果第一时长为1min,则生成的日志序列为第一分钟内发生的日志事件的有序集合,第二分钟内发生的日志事件的有序集合,第二分钟内发生的日志事件的有序集合,直至第N分钟内发生的日志事件的有序集合。
步骤102、将日志序列中时序上排列第一的日志序列确定为起始序列,从起始序列开始依次判断当前日志序列包含的事件数量。
步骤103、如果当前日志序列中的事件数量小于第一预设事件数量,则将当前日志序列确定为终止序列。
步骤104、将起始序列、终止序列以及起始序列与终止序列之间的日志序列三者的有序集合确定为子序列库,将终止序列的下一个序列确定为起始序列,继续进行判断,或者,将起始序列以及起始序列与终止序列之间的日志序列两者的有序集合确定为子序列库,将终止序列确定为起始序列,继续进行判断。
如果时序上排列第一的日志序列(为了方便说明,后续对时序上排列第一的日志序列称为第一个日志序列)中的事件数量不小于第一预设事件数量,则判断第二个日志序列中的事件数量是否小于第一预设事件数量,直至判断出第N个日志序列中的事件数量小于第一预设事件数量时,将第一个日志序列至第N个日志序列确定为第一个子序列库。然后,从第N+1个日志序列开始,判断第N+1个日志序列中的事件数量是否小于第一预设事件数量,直至判断出第N+M个日志序列中的事件数量小于第一预设事件数量时,将第N+1个日志序列至第N+M个日志序列确定为第二个子序列库。以此类推,得到至少一个子序列库。
或者,如果第一个日志序列中的事件数量不小于第一预设事件数量,则判断第二个日志序列中的事件数量是否小于第一预设事件数量,直至判断出第N个日志序列中的事件数量小于第一预设事件数量时,将第一个日志序列至第N-1个日志序列确定为第一个子序列库。然后,从第N+1个日志序列开始,判断第N+1个日志序列中的事件数量是否小于第一预设事件数量,直至判断出第N+M个日志序列中的事件数量小于第一预设事件数量时,将第N个日志序列至第N+M-1个日志序列确定为第二个子序列库。以此类推,得到至少一个子序列库。
例如:日志事件库用于记录操作频繁的用户操作,如键盘输入的点击事件,第一时长为1分钟,用户在1-10分钟每分钟依次键入的字符的个数依次为:150、102、90、110、120、118、125、130、98、10。日志序列x1-x10分别对应于第1分钟到第10分钟,第一预设事件数量为100。将x1确定为起始日志序列,判断x1内的事件数量150是否小于第一预设事件数量100,结果为不小于,则判断x2内的事件数量102是否小于第一预设事件数量100,结果为不小于,再判断x3内的事件数量90是否小于第一预设事件数量100,结果为小于,则将x3确定为终止序列,将所含日志事件数量分别为150、102、90的x1、x2、x3确定为第一个子序列库X1。随后,将x4确定为起始序列,并依次判断x4内的事件数量110、x5内的事件数量120、x6内的事件数量118、x7内的事件数量125、x8内的事件数量130、是否小于第一预设事件数量100,结果均为不小于,当判断x9内的事件数量98是否小于100时,结果为小于,将x9确定为终止序列,并将所含日志事件数量分别为110、120、118、125、130、98的x4、x5、x6、x7、x8、x9确定为第二个子序列库X2。再判断x10内的事件数量10是否小于100,结果为小于,将所含事件数量为10的x10作为第三个子序列库X3,由于x10为最后一个日志序列,因此结束比较。生成的子序列库有三个,分别为:X1{x1、x2、x3}、X2{x4、x5、x6、x7、x8、x9}、X3{x10}。
现有技术中,对日志事件库进行划分是根据固定的事件数量进行的。在上例中,按照现有技术中的分割方式,分割出的每个子序列库由100个输入事件组成。上述日志中一共有1053个输入事件,按照现有技术分割出的子序列库为10个事件数量为100的子序列库和一个事件数量为53的子数据库,共十一个子数据库。
现有技术中还提供了一种基于固定时间窗口的分割方式:通过固定的时间窗口对日志事件库进行分割。即将一个第一时长内的日志事件有序集合确定为一个子序列库,用此种方式对上述日志进行分割,将得到下述子序列库:{x1}、{x2}、{x3}、{x4}、{x5}、{x6}、{x7}、{x8}、{x9}、{x10},共十个。此种分割方式存在分割死板的缺陷,在后续分析的过程中,其分析对象为第一分钟、第二分钟。。。第十分钟内的数据,而非连续的一段数据。例如:用户花费2.5min的时间输入一段文字。用户输入时,会存在1min内输入的文字不是一整句话的问题,此时如果按照固定时间窗口的分割方式进行划分,则会出现数据分析的对象为不完整句子,降低数据处理结果的准确性。本发明中通过判断日志序列中事件数量是否小于第一预设事件数量,能够将集中产生日志事件的一段时间内生成的日志事件有序集合作为一个子序列库,在上例中,能够将2.5min内的全部事件确定为一个子序列库进行挖掘,进而提高数据处理结果的准确性。
步骤105、分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在子序列库中出现的次数,第一频繁序列为日志序列中至少两次出现的有序集合。
其中,所述志序列中至少两次出现的有序集合为在日志事件中出现过的连续的至少两个日志事件的集合。分析处理为现有技术中的数据处理处理,用于从子序列库中统计出第一频繁序列以及第一频繁序列出现的次数。具体的挖掘的方式可以采用现有技术中的并行化的类Apriori算法(包括GSP算法和spade算法等)、并行化的模式增长算法(包括prefixSpan算法和FreeSpan算法等)、基于序列比较的算法(如Disc-all算法等)等序列模式挖掘方法进行数据分析。
本发明提供的数据处理的方法,能够根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列,将所述日志序列中时序上排列第一的日志序列确定为起始序列,从所述起始序列开始依次判断,如果当前日志序列中的事件数量小于第一预设事件数量,则将所述当前日志序列确定为终止序列;然后根据所述起始序列、所述终止序列确定为子序列库,在重新确定起始序列之后,继续进行判断直至最后一个日志序列;再分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合。现有技术中根据数据大小进行固定分割,无法利用日志的分布特性进行动态分割,且分割后的子序列库不相互独立,在获取日志整体挖掘结果时,需要对各个子序列库得到的局部频繁序列进行复杂的模式整合才能得到全局的挖掘结果。模式整合通常需要为每个频繁序列再次搜索整个日志事件库,使得总体的挖掘效率降低。本发明中,根据事件数量进行分割,能够根据日志分布进行动态分割,分割出的子序列库相互独立,各子序列库上的局部挖掘结果可以作为全局的挖掘结果,从而避免了复杂的模式整合,进而提高数据处理效率。发明人发现,日志事件库中事件的分布呈间歇密集型(bursty behavior)每一个密集段的事件只集中在该段发生,独立于其它密集段。根据每个日志序列中的事件数量划分出子序列库,能够得出对应每个密集段的子序列库。对这些子序列库进行分析之后,能够得到对应每个密集段的的分析结果,进而减小对挖掘结果进行模式整合时的复杂度。
本发明实施例还提供了一种数据处理的方法,作为对图1所述方法的进一步描述,如图2所示,所述方法还包括:
步骤201、根据第二时长分别对子序列库中每个日志序列进行分片,得到在时序上连续的至少一个短日志序列,其中,一个短日志序列为一个第二时长内发生的日志事件的有序集合。
对子序列库中的第一个日志序列进行分片时:从第一个日志序列的起始时间点t1开始,将位于第二时长内的日志事件的有序集合确定为第一个短日志序列,将t1与第二时长相加,得到t2,从t2开始,将位于第二时长内的日志事件的有序集合确定为第二个短日志序列。以此类推,直至tx大于子序列库的终止时间点。由此能够得到的每个短日志序列对应一个第二时长内的日志事件的有序集合,各短日志序列之间为连续的。第二时长为第一时长的预设比例或者预设时长。
如:第一时长为1min,预设比例为50%,则第二时长为30s。再如:第一时长为2min,第二时长的时长为30s,此时一个第一时长为4个第二时长,因此第一子序列被分片为四个短日志序列。
步骤202、根据预设规则从每个短日志序列中确定重叠子序列,从至少一个短日志序列中的第一个短日志序列开始,将当前短日志序列的重叠子序列拼接到当前短日志序列的下一个短日志序列中,将拼接后的下一个短日志序列确定为第二子序列,其中,重叠子序列为以当前短日志序列时间截止点为截止点的至少一个日志事件的有序集合。
根据重叠子序列拼接得到的两个第二子序列之间,前一个第二子序列的尾部为重叠子序列,后一个第二子序列的头部为重叠子序列。由于分析处理是从原始数据(第二子序列)中,统计发生多次的日志事件的有序集合,因此,通过重叠子序列能够使得两个由于原始数据独立而互相独立的挖掘结果具有关联性。
具体的,如图3所示,在确定重叠子序列时可通过下述方式进行实施。
步骤301、从第一个短日志序列开始,依次在当前短日志序列中,从当前短日志序列时间截止点向当前短日志序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,其中,预设时长为第二时长的预设比例的时长,第二预设数量为当前短日志序列包含的日志事件数量的预设比例的事件数量。
步骤302、将预设时长内的有序集合或第二预设事件数量的有序集合确定为当前短日志序列对应的重叠子序列。
步骤303、从第一个短日志序列开始,依次将当前短日志序列对应的重叠子序列拼接到当前段日志序列的下一个短日志序列的起始位置,重叠子序列与下一个短日志序列组成一个第二子序列。
下面通过一个例子对图3所示方法做具体说明:
第一时长的时长为1min(60s),一个日志序列为{d1,d2,d3,d4,d5,d6},其中d1至d6为第一时长内均匀分布的日志事件。如果第二时长的时长为20s,则根据第二时长对日志序列进行分片,得到的短日志序列为x1(d1,d2),x2(d3、d4),x3(d5,d6)。如果此时预设时长为10s,则确定出在x1的重叠子序列为d2,x2的重叠子序列为d4。进行拼接:将x1的重叠子序列d2拼接到x2的起始位置,拼接后的x2’为(d2、d3、d4);将x2的重叠子序列d4拼接到x3的起始位置,拼接后的x3’为(d4、d5、d6)。得到的第二子序列分别为:x1(d1,d2)、x2’(d2、d3、d4)、x3’(d4、d5、d6)。
此时,步骤105、分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在子序列库中出现的次数,第一频繁序列为日志序列中至少两次出现的有序集合,包括:
步骤203、分别对每个子序列库中的全部第二子序列进行分析处理,得到与每个子序列库分别对应的分析结果,分析结果用于表示一个子序列库中的全部第二频繁序列以及每个第二频繁序列在子序列库中出现的次数,第二频繁序列为短日志序列中至少两次出现的有序集合。
分析处理的方法与步骤105中的一致,不同的时分析处理的对象由日志序列变为第二子序列。
步骤204、如果至少一个第二频繁序列中的至少两个第二频繁序列具有相同的重叠子序列,则将至少两个第二频繁序列在重叠子序列处进行拼接。
具体的,可通过两种方式将至少两个第二频繁你序列进行拼接:
1、从每个第二频繁序列的尾部选择重叠频繁序列,根据该重叠频繁序列进行拼接。
1)从所述至少一个第二频繁序列中的时序上排列第一的第二频繁序列开始,依次在当前第二频繁序列至时序上排列倒数第二的第二频繁序列中,从当前第二频繁序列时间截止点向当前第二频繁序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,将所述预设时长内的有序集合或第二预设事件数量的有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
2)从所述至少一个第二频繁序列中查找出具有相同重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
2、从每个第二频繁序列的尾部选择重叠频繁序列,根据该重叠频繁序列进行拼接。
1)从所述至少一个第二频繁序列中的时序上排列第二的第二频繁序列开始,依次在当前第二频繁序列到时序上排列最后的第二频繁序列中,从当前第二频繁序列时间起始点向当前第二频繁序列时间截止点方向,选择所述预设时长内的第三有序集合或所述第二预设事件数量的第四有序集合,将所述第三有序集合或所述第四有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列;
2)从所述至少一个第二频繁序列中的查找出具有相同重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
下面通过一个例子对本发明实施例提供的数据处理的方法进行具体说明:
1、根据第一时长确定日志序列:
日志事件库由x1-x12共12条日志序列组成,每条日志序列由一组日志事件ID构成,每个日志事件ID由一个自然数表示。每条日志序列是按照第一时长(假设10分钟)划分日志事件库所得。
{x1(1、23、1945、72、98、67、32、45、14、19、1278、567);
x2(14、19、1278、567、1945、23、1);
x3(45、14、23、1945、72、14、19、1278、567);
x4(616、67、567、1278、23、1945、72、19、14);
x5(1278、67、32、45、14、19、1278、567、98、23、1945、72);
x6(333、5);
x7(1690、744、1690、293、7);
x8(7、1644、293、744、1690、);
x9(744、1690、77、89);
x10(1555);
x11(40、50、99、234、798、145、176、33、985、211、202);
x12(1945、33、985、145);
x13(99、50、40、145、33、145、33、985、145)}
2.根据第一预设日志事件数量将至少一个日志序列的集合确定为第一子序列库:
给定第一预设日志事件数量为3个,统计每条序列内日志事件的个数,将事件数量小于3的序列x6和x10以及最后个日志序列x13的确定为终止序列,得到三个子序列库X1{x1;x2;x3;x4;x5}、X2{x6;x7;x8;x9}和X3{x10;x11;x12;x13}。则后续工作可在每个第一子序列库上单独进行。
3.根据第二时长对子序列库中每个日志序列进行分片:
如果第一时长为10分钟,假设预设比例为50%,第二时长为5分钟。若第一时长内的日志事件数量最大为12个,则分片大小数量为6个。对X1{x1;x2;x3;x4;x5}分片后得到由10个短序列组成的子序列库X_S1,其中每个短日志序列的事件数量不超过6个。分片后的子序列库为:
{x_s1(1、23、1945、72、98、67);
x_s2(32、45、14、19、1278、567);
x_s3(14、19、1278、567、1945、23);
x_s4(1);
x_s5(45、14、23、1945、72、14);
x_s6(19、1278、567);
x_s7(616、67、567、1278、23、1945);
x_s8(72、19、14);
x_s9(1278、67、32、45、14、19);
x_s10(1278、567、98、23、1945、72、14);}
类似方法可对其它两个子序列库X2和X3进行分片。
4.在每个短日志序列中确定重叠子序列,将该重叠子序列合并到每个短日志序列的下一个短日志序列中,将下一个短日志序列确定为一个第二子序列(重叠窗口机制):
第二时长内记录的日志事件数量最大为6个,取预设比例为1/3,则重叠子序列的长度为2。以X_S1为例,将x_s1(1、23、1945、72、98、67)的最后两个日志事件(98、67)确定为x_s1的重叠子序列,将x_s2(32、45、14、19、1278、567)的最后两个日志事件(1278、567)确定为x_s2的重叠子序列,以此类推得到x_s3至x_s10各自的重叠子序列。从x_s1开始,将x_s1的重叠子序列(98、67)拼接到x_s2的起始位置,将拼接后的x_s2确定为一个第二子序列。将x_s2的重叠子序列(1278、567)拼接到x_s3的起始位置,将拼接后的x_s3确定为另一个第二子序列。以此类推得到x_s3至x_s10各自拼接后对应的第二子序列。得到子序列库X_S1_S为:
{x_s1(1、23、1945、72、98、67);
x_s2(98、67、32、45、14、19、1278、567);
x_s3(1278、567、14、19、1278、567、1945、23);
x_s4(1945、23、1);
x_s5(1、45、14、23、1945、72、14);
x_s6(72、14、19、1278、567);
x_s7(1278、567、616、67、567、1278、23、1945);
x_s8(23、1945、72、19、14);
x_s9(19、14、1278、67、32、45、14、19);
x_s10(14、19、1278、567、98、23、1945、72、14);}
5.对子序列库进行分析处理:
采用类Apriori算法对子序列库挖掘,得到长度大于3的第二频繁序列和其出现次数为:
频繁序列(23、1945、72)出现4次,
频繁序列(67、32、45、14、19)出现2次,
频繁序列(14、19、1278、567)出现4次。
6.对挖掘结果进行拼接:
此处头部和尾部的长度与4中重叠子序列的长度相等,为2个。
在5中得到的三个频繁序列中,如果一个频繁序列的尾部与另一个频繁序列的头部相一致,则将这两个频繁序列进行根据相同的部分进行拼接。5中头部和尾部相一致的两条第二频繁序列(67、32、45、14、19)和(14、19、1278、567)进行拼接得到{67、32、45、14、19、1278、567},出现次数选择两条第二频繁序列的出现次数的较小者。则连接后得到的一子序列库的挖掘结果,即长度大于3的第一频繁序列集为:
频繁序列(23、1945、72)出现4次,
频繁序列(14、19、1278、567)出现4次,
频繁序列(67、32、45、14、19、1278、567)出现2次。
本方法通过2中日志事件中的事件数量对日志事件库进行划分操作以及3中对子序列库中的日志序列进行分片的操作显著提高了序列挖掘的效果同时4的重叠窗口机制和6的拼接操作保证得到长度较长的频繁序列,进而有助于故障诊断。
本发明实施例提供的数据处理的方法,能够将子序列库中的日志序列分片并通过拼接操作形成具有重叠子序列的第二子序列。根据挖掘算法的特点(挖掘短序列数据集比长序列数据集具有更高的效率)提出了具有重叠子序列的分片方式,进一步提高挖掘的效率。由于第二子序列具有重叠性进而降低数据挖掘后拼接过程中的复杂度,提高数据挖掘的效率。此外,本发明实施例还提出了对挖掘后得到的频繁序列进行拼接的操作,以优化频繁序列的数据挖掘结果,用于提高故障诊断的准确性。
本发明实施例还提供了一种数据处理的装置,如图4所示,包括:
划分单元41,用于根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列,其中,一个日志序列为一个第一时长内发生的日志事件的有序集合。
第一确定单元42,用于将所述划分单元41划分的所述日志序列中时序上排列第一的日志序列确定为起始序列。
判断单元43,用于从所述第一确定单元42确定的所述起始序列开始依次判断当前日志序列包含的事件数量。
第二确定单元44,用于当所述判断单元43判断出当前日志序列中的事件数量小于第一预设事件数量时,将所述当前日志序列确定为终止序列。
第三确定单元45,用于将所述第一确定单元42确定的所述起始序列、所述第二确定单元44确定的所述终止序列以及所述起始序列与所述终止序列之间的日志序列三者的有序集合确定为子序列库,所述第一确定单元42还用于将所述终止序列的下一个序列确定为起始序列,所述判断单元43还用于继续进行判断。
所述第三确定单元45,还用于将所述第一确定单元42确定的所述起始序列以及所述第二确定单元44确定的所述起始序列与所述终止序列之间的日志序列两者的有序集合确定为子序列库,所述第一确定单元42还用于将所述终止序列确定为起始序列,所述判断单元43还用于继续进行判断。
分析单元46,用于分别对所述第三确定单元45确定的每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合。
本发明实施例还提供了一种数据处理的装置,如图5所示,所述装置包括分片单元51、第四确定单元52、第一拼接单元53、第二拼接单元54。
所述分片单元51,用于根据第二时长分别对所述第三确定单元45确定的所述子序列库中每个日志序列进行分片,得到在时序上连续的至少一个短日志序列,其中,一个短日志序列为一个第二时长内发生的日志事件的有序集合;
第四确定单元52,用于根据预设规则从所述分片单元51得到的每个短日志序列中确定重叠子序列;
第一拼接单元53,用于从所述至少一个短日志序列中的第一个短日志序列开始,将当前短日志序列的重叠子序列拼接到当前短日志序列的下一个短日志序列中,将拼接后的下一个短日志序列确定为第二子序列,其中,重叠子序列为以当前短日志序列时间截止点为截止点的至少一个日志事件的有序集合;
所述分析单元46还用于,分别对所述第一拼接单元53得到的每个子序列库中的全部第二子序列进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第二频繁序列以及每个第二频繁序列在所述子序列库中出现的次数,所述第二频繁序列为短日志序列中至少两次出现的有序集合;
第二拼接单元54,用于当所述分析单元46得到的所述至少一个第二频繁序列中的至少两个第二频繁序列具有相同的重叠子序列时,将所述至少两个第二频繁序列在所述重叠子序列处进行拼接。
进一步的,所述第四确定单元52还包括:
第一选择子单元521,用于从所述分片单元51得到的第一个短日志序列开始,依次在当前短日志序列中,从当前短日志序列时间截止点向当前短日志序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
确定子单元522,用于将所述第一选择子单元521选择的所述预设时长内的有序集合或第二预设事件数量的有序集合确定为所述当前短日志序列对应的重叠子序列;
所述第一拼接单元53还用于,从第一个短日志序列开始,依次将所述确定子单元522确定的当前短日志序列对应的重叠子序列拼接到所述当前段日志序列的下一个短日志序列的起始位置,所述重叠子序列与所述下一个短日志序列组成一个第二子序列。
进一步的,所述第二拼接单元54,包括:
第二子选择单元541,用于从所述第四确定单元52确定的所述至少一个第二频繁序列中的时序上排列第一的第二频繁序列开始,依次在当前第二频繁序列至时序上排列倒数第二的第二频繁序列中,从当前第二频繁序列时间截止点向当前第二频繁序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,将所述预设时长内的有序集合或第二预设事件数量的有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
第一拼接子单元542,用于从所述至少一个第二频繁序列中查找出具有相同的所述第二子选择单元541选择的重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
进一步的,所述第二拼接单元54还包括:
第三选择子单元543,用于从所述至少一个第二频繁序列中的时序上排列第二的第二频繁序列开始,依次在当前第二频繁序列到时序上排列最后的第二频繁序列中,从当前第二频繁序列时间起始点向当前第二频繁序列时间截止点方向,选择所述预设时长内的第三有序集合或所述第二预设事件数量的第四有序集合,将所述第三有序集合或所述第四有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列;
第二拼接子单元544,用于从所述至少一个第二频繁序列中的查找出具有相同的所述第二子选择单元541选择的重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
本发明提供的数据处理的装置,能够根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列,将所述日志序列中时序上排列第一的日志序列确定为起始序列,从所述起始序列开始依次判断,如果当前日志序列中的事件数量小于第一预设事件数量,则将所述当前日志序列确定为终止序列;然后根据所述起始序列、所述终止序列确定为子序列库,在重新确定起始序列之后,继续进行判断直至最后一个日志序列;再分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合。现有技术中根据数据大小进行固定分割,无法利用日志的分布特性进行动态分割,且分割后的子序列库不相互独立,在获取日志整体挖掘结果时,需要对各个子序列库得到的局部频繁序列进行复杂的模式整合才能得到全局的挖掘结果。模式整合通常需要为每个频繁序列再次搜索整个日志事件库,使得总体的挖掘效率降低。本发明中,根据事件数量进行分割,能够根据日志分布进行动态分割,分割出的子序列库相互独立,各子序列库上的局部挖掘结果可以作为全局的挖掘结果,从而避免了复杂的模式整合,进而提高数据处理效率。发明人发现,日志事件库中事件的分布呈间歇密集型(bursty behavior)每一个密集段的事件只集中在该段发生,独立于其它密集段。根据每个日志序列中的事件数量划分出子序列库,能够得出对应每个密集段的子序列库。对这些子序列库进行分析之后,能够得到对应每个密集段的的分析结果,进而减小对挖掘结果进行模式整合时的复杂度。此外,本发明实施例提供的数据处理的装置,能够将子序列库中的日志序列分片并通过拼接操作形成具有重叠子序列的第二子序列。根据挖掘算法的特点(挖掘短序列数据集比长序列数据集具有更高的效率)提出了具有重叠子序列的分片方式,进一步提高挖掘的效率。由于第二子序列具有重叠性进而降低数据挖掘后拼接过程中的复杂度,提高数据挖掘的效率。此外,本发明实施例还提出了对挖掘后得到的频繁序列进行拼接的操作,以优化频繁序列的数据挖掘结果,用于提高故障诊断的准确性。
本发明实施例还提供了一种数据处理的装置,如图6所示,所述装置包括处理器61和存储器62,所述存储器62中存储有与图1所示方法一致的程序文件,所述处理器61从所述存储器62中读取该程序文件进行处理。
所述处理器61用于:
根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列,其中,一个日志序列为一个第一时长内发生的日志事件的有序集合;
将所述日志序列中时序上排列第一的日志序列确定为起始序列,从所述起始序列开始依次判断当前日志序列包含的事件数量;
如果当前日志序列中的事件数量小于第一预设事件数量,则将所述当前日志序列确定为终止序列;
将所述起始序列、所述终止序列以及所述起始序列与所述终止序列之间的日志序列三者的有序集合确定为子序列库,将所述终止序列的下一个序列确定为起始序列,继续进行判断,或者,将所述起始序列以及所述起始序列与所述终止序列之间的日志序列两者的有序集合确定为子序列库,将所述终止序列确定为起始序列,继续进行判断;
分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合。
进一步的,所述处理器61还用于:
根据第二时长分别对所述子序列库中每个日志序列进行分片,得到在时序上连续的至少一个短日志序列,其中,一个短日志序列为一个第二时长内发生的日志事件的有序集合;
根据预设规则从每个短日志序列中确定重叠子序列,从所述至少一个短日志序列中的第一个短日志序列开始,将当前短日志序列的重叠子序列拼接到当前短日志序列的下一个短日志序列中,将拼接后的下一个短日志序列确定为第二子序列,其中,重叠子序列为以当前短日志序列时间截止点为截止点的至少一个日志事件的有序集合;
分别对每个子序列库中的全部第二子序列进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第二频繁序列以及每个第二频繁序列在所述子序列库中出现的次数,所述第二频繁序列为短日志序列中至少两次出现的有序集合;
如果所述至少一个第二频繁序列中的至少两个第二频繁序列具有相同的重叠子序列,则将所述至少两个第二频繁序列在所述重叠子序列处进行拼接。
进一步的,所述处理器61还用于:
从第一个短日志序列开始,依次在当前短日志序列中,从当前短日志序列时间截止点向当前短日志序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
将所述预设时长内的有序集合或第二预设事件数量的有序集合确定为所述当前短日志序列对应的重叠子序列;
从第一个短日志序列开始,依次将当前短日志序列对应的重叠子序列拼接到所述当前段日志序列的下一个短日志序列的起始位置,所述重叠子序列与所述下一个短日志序列组成一个第二子序列。
进一步的,所述处理器61还用于:
从所述至少一个第二频繁序列中的时序上排列第一的第二频繁序列开始,依次在当前第二频繁序列至时序上排列倒数第二的第二频繁序列中,从当前第二频繁序列时间截止点向当前第二频繁序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,将所述预设时长内的有序集合或第二预设事件数量的有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
从所述至少一个第二频繁序列中查找出具有相同重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
进一步的,所述处理器61还用于:
从所述至少一个第二频繁序列中的时序上排列第二的第二频繁序列开始,依次在当前第二频繁序列到时序上排列最后的第二频繁序列中,从当前第二频繁序列时间起始点向当前第二频繁序列时间截止点方向,选择所述预设时长内的第三有序集合或所述第二预设事件数量的第四有序集合,将所述第三有序集合或所述第四有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列;
从所述至少一个第二频繁序列中的查找出具有相同重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
本发明提供的数据处理的装置,能够根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列,将所述日志序列中时序上排列第一的日志序列确定为起始序列,从所述起始序列开始依次判断,如果当前日志序列中的事件数量小于第一预设事件数量,则将所述当前日志序列确定为终止序列;然后根据所述起始序列、所述终止序列确定为子序列库,在重新确定起始序列之后,继续进行判断直至最后一个日志序列;再分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合。现有技术中根据数据大小进行固定分割,无法利用日志的分布特性进行动态分割,且分割后的子序列库不相互独立,在获取日志整体挖掘结果时,需要对各个子序列库得到的局部频繁序列进行复杂的模式整合才能得到全局的挖掘结果。模式整合通常需要为每个频繁序列再次搜索整个日志事件库,使得总体的挖掘效率降低。本发明中,根据事件数量进行分割,能够根据日志分布进行动态分割,分割出的子序列库相互独立,各子序列库上的局部挖掘结果可以作为全局的挖掘结果,从而避免了复杂的模式整合,进而提高数据处理效率。发明人发现,日志事件库中事件的分布呈间歇密集型(bursty behavior)每一个密集段的事件只集中在该段发生,独立于其它密集段。根据每个日志序列中的事件数量划分出子序列库,能够得出对应每个密集段的子序列库。对这些子序列库进行分析之后,能够得到对应每个密集段的的分析结果,进而减小对挖掘结果进行模式整合时的复杂度。此外,本发明实施例提供的数据处理的装置,能够将子序列库中的日志序列分片并通过拼接操作形成具有重叠子序列的第二子序列。根据挖掘算法的特点(挖掘短序列数据集比长序列数据集具有更高的效率)提出了具有重叠子序列的分片方式,进一步提高挖掘的效率。由于第二子序列具有重叠性进而降低数据挖掘后拼接过程中的复杂度,提高数据挖掘的效率。此外,本发明实施例还提出了对挖掘后得到的频繁序列进行拼接的操作,以优化频繁序列的数据挖掘结果,用于提高故障诊断的准确性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种数据处理的方法,其特征在于,包括:
根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列,其中,一个日志序列为一个第一时长内发生的日志事件的有序集合;
将所述日志序列中时序上排列第一的日志序列确定为起始序列,从所述起始序列开始依次判断当前日志序列包含的事件数量;
如果当前日志序列中的事件数量小于第一预设事件数量,则将所述当前日志序列确定为终止序列;
将所述起始序列、所述终止序列以及所述起始序列与所述终止序列之间的日志序列三者的有序集合确定为子序列库,将所述终止序列的下一个序列确定为起始序列,继续进行判断,或者,将所述起始序列以及所述起始序列与所述终止序列之间的日志序列两者的有序集合确定为子序列库,将所述终止序列确定为起始序列,继续进行判断;
分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合。
2.根据权利要求1所述的数据处理的方法,其特征在于,所述方法还包括:
根据第二时长分别对所述子序列库中每个日志序列进行分片,得到在时序上连续的至少一个短日志序列,其中,一个短日志序列为一个第二时长内发生的日志事件的有序集合;
根据预设规则从每个短日志序列中确定重叠子序列,从所述至少一个短日志序列中的第一个短日志序列开始,将当前短日志序列的重叠子序列拼接到当前短日志序列的下一个短日志序列中,将拼接后的下一个短日志序列确定为第二子序列,其中,重叠子序列为以当前短日志序列时间截止点为截止点的至少一个日志事件的有序集合;
所述分别对每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合,包括:
分别对每个子序列库中的全部第二子序列进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第二频繁序列以及每个第二频繁序列在所述子序列库中出现的次数,所述第二频繁序列为短日志序列中至少两次出现的有序集合;
如果所述至少一个第二频繁序列中的至少两个第二频繁序列具有相同的重叠子序列,则将所述至少两个第二频繁序列在所述重叠子序列处进行拼接。
3.根据权利要求2所述的数据处理的方法,其特征在于,所述根据预设规则从每个短日志序列中确定重叠子序列,从所述至少一个短日志序列中的第一个短日志序列开始,将当前短日志序列的重叠子序列拼接到当前短日志序列的下一个短日志序列中,将拼接后的下一个短日志序列确定为第二子序列,包括:
从第一个短日志序列开始,依次在当前短日志序列中,从当前短日志序列时间截止点向当前短日志序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
将所述预设时长内的有序集合或第二预设事件数量的有序集合确定为所述当前短日志序列对应的重叠子序列;
从第一个短日志序列开始,依次将当前短日志序列对应的重叠子序列拼接到所述当前短日志序列的下一个短日志序列的起始位置,所述重叠子序列与所述下一个短日志序列组成一个第二子序列。
4.根据权利要求2所述的数据处理的方法,其特征在于,所述如果所述至少一个第二频繁序列中的至少两个第二频繁序列具有相同的重叠子序列,则将所述两个第二频繁序列进行拼接,包括:
从所述至少一个第二频繁序列中的时序上排列第一的第二频繁序列开始,依次在当前第二频繁序列至时序上排列倒数第二的第二频繁序列中,从当前第二频繁序列时间截止点向当前第二频繁序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,将所述预设时长内的有序集合或第二预设事件数量的有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
从所述至少一个第二频繁序列中查找出具有相同重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
5.根据权利要求2所述的数据处理的方法,其特征在于,所述如果所述至少一个第二频繁序列中的至少两个第二频繁序列具有相同的重叠子序列,则将所述两个第二频繁序列进行拼接,包括:
从所述至少一个第二频繁序列中的时序上排列第二的第二频繁序列开始,依次在当前第二频繁序列到时序上排列最后的第二频繁序列中,从当前第二频繁序列时间起始点向当前第二频繁序列时间截止点方向,选择预设时长内的第三有序集合或第二预设事件数量的第四有序集合,将所述第三有序集合或所述第四有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列;
从所述至少一个第二频繁序列中的查找出具有相同重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
6.一种数据处理的装置,其特征在于,包括:
划分单元,用于根据第一时长对日志事件库进行划分,得到在时序上连续的至少一个日志序列,其中,一个日志序列为一个第一时长内发生的日志事件的有序集合;
第一确定单元,用于将所述划分单元划分的所述日志序列中时序上排列第一的日志序列确定为起始序列;
判断单元,用于从所述第一确定单元确定的所述起始序列开始依次判断当前日志序列包含的事件数量;
第二确定单元,用于当所述判断单元判断出当前日志序列中的事件数量小于第一预设事件数量时,将所述当前日志序列确定为终止序列;
第三确定单元,用于将所述第一确定单元确定的所述起始序列、所述第二确定单元确定的所述终止序列以及所述起始序列与所述终止序列之间的日志序列三者的有序集合确定为子序列库,所述第一确定单元还用于将所述终止序列的下一个序列确定为起始序列,所述判断单元还用于继续进行判断;
所述第三确定单元,还用于将所述第一确定单元确定的所述起始序列以及所述第二确定单元确定的所述起始序列与所述终止序列之间的日志序列两者的有序集合确定为子序列库,所述第一确定单元还用于将所述终止序列确定为起始序列,所述判断单元还用于继续进行判断;
分析单元,用于分别对所述第三确定单元确定的每个子序列库进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第一频繁序列以及每个第一频繁序列在所述子序列库中出现的次数,所述第一频繁序列为日志序列中至少两次出现的有序集合。
7.根据权利要求6所述的数据处理的装置,其特征在于,所述装置还包括:
分片单元,用于根据第二时长分别对所述第三确定单元确定的所述子序列库中每个日志序列进行分片,得到在时序上连续的至少一个短日志序列,其中,一个短日志序列为一个第二时长内发生的日志事件的有序集合;
第四确定单元,用于根据预设规则从所述分片单元得到的每个短日志序列中确定重叠子序列;
第一拼接单元,用于从所述至少一个短日志序列中的第一个短日志序列开始,将当前短日志序列的重叠子序列拼接到当前短日志序列的下一个短日志序列中,将拼接后的下一个短日志序列确定为第二子序列,其中,重叠子序列为以当前短日志序列时间截止点为截止点的至少一个日志事件的有序集合;
所述分析单元还用于,分别对所述第一拼接单元得到的每个子序列库中的全部第二子序列进行分析处理,得到与每个子序列库分别对应的分析结果,所述分析结果用于表示一个子序列库中的全部第二频繁序列以及每个第二频繁序列在所述子序列库中出现的次数,所述第二频繁序列为短日志序列中至少两次出现的有序集合;
第二拼接单元,用于当所述分析单元得到的所述至少一个第二频繁序列中的至少两个第二频繁序列具有相同的重叠子序列时,将所述至少两个第二频繁序列在所述重叠子序列处进行拼接。
8.根据权利要求7所述的数据处理的装置,其特征在于,所述第四确定单元还包括:
第一选择子单元,用于从所述分片单元得到的第一个短日志序列开始,依次在当前短日志序列中,从当前短日志序列时间截止点向当前短日志序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
确定子单元,用于将所述第一选择子单元选择的所述预设时长内的有序集合或第二预设事件数量的有序集合确定为所述当前短日志序列对应的重叠子序列;
所述第一拼接单元还用于,从第一个短日志序列开始,依次将所述确定子单元确定的当前短日志序列对应的重叠子序列拼接到所述当前短日志序列的下一个短日志序列的起始位置,所述重叠子序列与所述下一个短日志序列组成一个第二子序列。
9.根据权利要求7所述的数据处理的装置,其特征在于,所述第二拼接单元,包括:
第二子选择单元,用于从所述第四确定单元确定的所述至少一个第二频繁序列中的时序上排列第一的第二频繁序列开始,依次在当前第二频繁序列至时序上排列倒数第二的第二频繁序列中,从当前第二频繁序列时间截止点向当前第二频繁序列时间起始点方向,选择预设时长内的有序集合或第二预设事件数量的有序集合,将所述预设时长内的有序集合或第二预设事件数量的有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列,其中,所述预设时长为第二时长的预设比例的时长,所述第二预设数量为所述当前短日志序列包含的日志事件数量的预设比例的事件数量;
第一拼接子单元,用于从所述至少一个第二频繁序列中查找出具有相同的所述第二子选择单元选择的重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
10.根据权利要求7所述的数据处理的装置,其特征在于,所述第二拼接单元还包括:
第三选择子单元,用于从所述至少一个第二频繁序列中的时序上排列第二的第二频繁序列开始,依次在当前第二频繁序列到时序上排列最后的第二频繁序列中,从当前第二频繁序列时间起始点向当前第二频繁序列时间截止点方向,选择预设时长内的第三有序集合或第二预设事件数量的第四有序集合,将所述第三有序集合或所述第四有序集合确定为与所述当前第二频繁序列对应的重叠频繁序列;
第二拼接子单元,用于从所述至少一个第二频繁序列中的查找出具有相同的第二子选择单元选择的重叠频繁序列的至少两个第二频繁序列,将所述至少两个第二频繁序列进行拼接。
CN201310270678.7A 2013-06-28 2013-06-28 数据处理的方法及装置 Active CN104252406B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310270678.7A CN104252406B (zh) 2013-06-28 2013-06-28 数据处理的方法及装置
PCT/CN2014/080158 WO2014206227A1 (zh) 2013-06-28 2014-06-18 数据处理的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310270678.7A CN104252406B (zh) 2013-06-28 2013-06-28 数据处理的方法及装置

Publications (2)

Publication Number Publication Date
CN104252406A CN104252406A (zh) 2014-12-31
CN104252406B true CN104252406B (zh) 2017-04-05

Family

ID=52141034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310270678.7A Active CN104252406B (zh) 2013-06-28 2013-06-28 数据处理的方法及装置

Country Status (2)

Country Link
CN (1) CN104252406B (zh)
WO (1) WO2014206227A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294348B (zh) * 2015-05-13 2019-07-09 深圳市智美达科技有限公司 针对实时上报数据的实时排序方法和装置
CN106649615B (zh) * 2016-11-30 2020-09-22 苏州浪潮智能科技有限公司 一种日志段管理方法及装置
CN106970791A (zh) * 2017-03-09 2017-07-21 华东师范大学 一种线性时态逻辑规范的通用并行挖掘系统
CN106886417A (zh) * 2017-03-09 2017-06-23 华东师范大学 一种线性时态逻辑规范的通用并行挖掘方法
CN107612726A (zh) * 2017-09-13 2018-01-19 航天恒星科技有限公司 遥感卫星地面接收系统的接收故障综合诊断方法及装置
CN107704764A (zh) * 2017-10-18 2018-02-16 广州华多网络科技有限公司 构建训练集的方法、装置、设备及人机识别的方法
CN113341919B (zh) * 2021-05-31 2022-11-08 中国科学院重庆绿色智能技术研究院 一种基于时序数据长度优化的计算系统故障预测方法
CN113627157B (zh) * 2021-10-13 2022-02-11 京华信息科技股份有限公司 一种基于多头注意力机制的概率阈值调整方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399658A (zh) * 2007-09-24 2009-04-01 北京启明星辰信息技术有限公司 一种安全日志分析方法及系统
CN101645031A (zh) * 2009-06-30 2010-02-10 卡斯柯信号有限公司 一种动态按时间输出日志文件的方法
CN101888309A (zh) * 2010-06-30 2010-11-17 中国科学院计算技术研究所 在线日志分析方法
CN101939742A (zh) * 2007-10-02 2011-01-05 洛格逻辑公司 在日志数据中搜索关联事件

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100416569C (zh) * 2006-01-10 2008-09-03 西安交通大学 一种基于Web页面元数据的用户访问行为形式化描述方法
US8001075B2 (en) * 2007-06-01 2011-08-16 Microsoft Corporation Log file amnesia detection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399658A (zh) * 2007-09-24 2009-04-01 北京启明星辰信息技术有限公司 一种安全日志分析方法及系统
CN101939742A (zh) * 2007-10-02 2011-01-05 洛格逻辑公司 在日志数据中搜索关联事件
CN101645031A (zh) * 2009-06-30 2010-02-10 卡斯柯信号有限公司 一种动态按时间输出日志文件的方法
CN101888309A (zh) * 2010-06-30 2010-11-17 中国科学院计算技术研究所 在线日志分析方法

Also Published As

Publication number Publication date
WO2014206227A1 (zh) 2014-12-31
CN104252406A (zh) 2014-12-31

Similar Documents

Publication Publication Date Title
CN104252406B (zh) 数据处理的方法及装置
CN107591800B (zh) 基于场景分析的含分布式电源配电网运行状态预测方法
KR102229427B1 (ko) 이벤트 발견 방법, 장치, 기기 및 저장 매체
CN103593363B (zh) 视频内容索引结构的建立方法、视频检索方法及装置
TW201232294A (en) Formatting data by example
US20130339810A1 (en) Design Support System
CN105989076A (zh) 一种数据统计方法以及装置
CN106709068A (zh) 一种热点数据识别方法及其装置
CN103714004A (zh) Jvm在线内存泄露分析方法及系统
CN110647447B (zh) 用于分布式系统的异常实例检测方法、装置、设备和介质
CN107563557A (zh) 确定油井产量递减率的方法及装置
CN103440419A (zh) 一种基于故障树和层次分析法的可靠性分配系统及分配方法
CN110008247A (zh) 异常来源确定方法、装置、设备及计算机可读存储介质
WO2024119746A1 (zh) 一种数据存储的方法、装置、电子设备以及存储介质
CN103604968B (zh) 消除峰值检测误产生毛刺的系统
CN106599172A (zh) 一种海量数据的无损保真可视化优化法
CN107679133B (zh) 一种实用于海量实时pmu数据的挖掘方法
CN107340886B (zh) 一种软键盘状态确定方法、装置、介质及终端
CN112165412B (zh) 一种基于时间序列模型的流量预测方法
JP2007249492A (ja) 自動見積方法、装置、及びプログラム
CN115660957A (zh) 一种波形数据的重采样方法、装置、设备及介质
CN110427268A (zh) 一种加速器的性能影响因素的侦测方法及相关装置
CN114756468A (zh) 一种测试数据的创建方法、装置、设备及存储介质
CN110231969A (zh) 用户界面管理方法、装置、计算机装置、及可读存储介质
CN107885649A (zh) Ios应用程序的性能测试方法和装置

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