跨网日志实时采集方法及终端与流程

文档序号:17375480发布日期:2019-04-12 23:15阅读:398来源:国知局
跨网日志实时采集方法及终端与流程

本发明涉及计算机技术领域,尤其涉及跨网日志实时采集方法及装置。



背景技术:

为了缓解车站售票窗口、车票代售点等线下售票的压力,提高乘客购票的便捷性和车票发售效率,铁路总局推出了互联网售票系统,该互联网售票系统已成为乘客购票的一个重要渠道。而为了尽可能避免“黄牛”囤票、倒票现象,扰乱购票秩序,以维护一个公平公正售票环境,保障互联网售票系统的安全显得尤为重要。

通常维护网络系统安全主要是通过采集网络系统的日志数据,经过对该网络系统的日志数据进行分析,从而更好地发现问题。

互联网售票系统的服务采用的是分布式集群部署方式,服务器分布在外网和内网,为了达到更好地发现问题,需要综合内外网的日志数据进行统计分析,目前阶段对于日志采集可实现分布式采集,进行流式传输,但是针对跨网的日志收集研究比较少。

因此,为保证互联网售票系统的安全性,如何实现实时地跨网传输数据是目前亟待解决的技术问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种跨网日志实时采集方法及装置,能够实时地跨网传输数据,从而保证互联网售票系统的安全性。

第一方面,本发明实施例提供了一种跨网日志实时采集方法,应用于包括外网子系统和内网子系统的系统中,执行于内网子系统中,所述跨网日志实时采集方法包括:

通过预设的端口映射关系,实时获取外网子系统的日志信息,其中,所述端口映射关系为外网子系统端口与内网可识别端口的映射关系;

实时获取内网子系统的日志信息;

将所述外网子系统的日志信息以及所述内网子系统的日志信息分别存入指定主题的缓冲队列中;

读取所述指定主题的缓冲队列中的日志信息,并对所述日志信息进行格式化处理,得到满足指定要求的目标子信息;

对所述目标子信息进行分布式存储。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述读取所述指定主题的缓冲队列中的日志信息,并对所述日志信息进行格式化处理,得到满足指定要求的目标子信息,包括:

将所述日志信息拆分成多个候选字段;

从所述多个候选字段中筛选出承载有与预设信息类型对应信息的目标字段,其中,所述目标字段中承载的与预设信息类型对应信息即为所述目标子信息。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述读取所述指定主题的缓冲队列中的日志信息,并对所述日志信息进行格式化处理,得到满足指定要求的目标子信息之前,所述方法还包括:

判断所述指定主题的缓冲队列中的日志信息数量是否满足预设数量阈值;

其中,所述读取所述指定主题的缓冲队列中的日志信息,并对所述日志信息进行格式化处理,得到满足指定要求的目标子信息的步骤,在判断出所述指定主题的缓冲队列中的日志信息数量满足预设数量阈值后执行。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,在所述读取所述指定主题的缓冲队列中的日志信息,并对所述日志信息进行格式化处理,得到满足指定要求的目标子信息,包括:

响应于用户输入的操作信息,获取所述操作信息中携带有用户设定的参考时间;

判断当前时间与所述参考时间的差值是否在指定时长范围内;

若判断为是,以存入指定主题的缓冲队列为参考时间对应的第一指定日志信息为起点,读取所述第一指定日志信息以及在所述第一指定日志信息之后存入所述主题的缓冲队列的第一候选日志信息,得到第一目标日志信息,并对所述第一目标日志信息进行格式化处理,得到满足指定要求的目标子信息的;

若判断为否,以所述指定主题的缓冲队列队首对应的第二指定日志信息为起点,读取所述第二指定日志信息以及在所述第二指定日志信息之后存入所述主题的缓冲队列的第二候选日志信息,得到第二目标日志信息,并对所述第二目标日志信息进行格式化处理,得到满足指定要求的目标子信息的。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述日志信息包括:日志、日志生成时间、日志的类别。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述对所述目标子信息进行分布式存储,包括:

获取每个目标子信息对应的日志生成时间;

按照所述日志生成时间的顺序对所述目标子信息进行分区存储。

第二方面,本发明实施例提供了一种跨网日志实时采集装置,应用于包括外网子系统和内网子系统的系统中,设置于内网子系统中,所述跨网日志实时采集装置包括:

第一获取单元,用于通过预设的端口映射关系,实时获取外网子系统的日志信息,其中,所述端口映射关系为外网子系统端口与内网可识别端口的映射关系;

第二获取单元,用于实时获取内网子系统的日志信息;

第一存储单元,用于将所述外网子系统的日志信息以及所述内网子系统的日志信息分别存入指定主题的缓冲队列中;

处理单元,用于读取所述指定主题的缓冲队列中的日志信息,并对所述日志信息进行格式化处理,得到满足指定要求的目标子信息;

第二存储单元,用于对所述目标子信息进行分布式存储。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理单元用于读取所述指定主题的缓冲队列中的日志信息,并对所述日志信息进行格式化处理,得到满足指定要求的目标子信息,包括:

将所述日志信息拆分成多个候选字段;

从所述多个候选字段中筛选出承载有与预设信息类型对应信息的目标字段,其中,所述目标字段中承载的与预设信息类型对应信息即为所述目标子信息。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括第一判断单元,在所述处理读取所述指定主题的缓冲队列中的日志信息,并对所述日志信息进行格式化处理,得到满足指定要求的目标子信息之前,

所述第一判断单元,用于判断所述指定主题的缓冲队列中的日志信息数量是否满足预设数量阈值;

其中,所述处理单元用于读取所述指定主题的缓冲队列中的日志信息,并对所述日志信息进行格式化处理,得到满足指定要求的目标子信息的步骤,在判断出所述指定主题的缓冲队列中的日志信息数量满足预设数量阈值后执行。

如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述处理单元用于读取所述指定主题的缓冲队列中的日志信息,并对所述日志信息进行格式化处理,得到满足指定要求的目标子信息,包括:

响应于用户输入的操作信息,获取所述操作信息中携带有用户设定的参考时间;

判断当前时间与所述参考时间的差值是否在指定时长范围内;

若判断为是,以存入指定主题的缓冲队列为参考时间对应的第一指定日志信息为起点,读取所述第一指定日志信息以及在所述第一指定日志信息之后存入所述主题的缓冲队列的第一候选日志信息,得到第一目标日志信息,并对所述第一目标日志信息进行格式化处理,得到满足指定要求的目标子信息的;

若判断为否,以所述指定主题的缓冲队列队首对应的第二指定日志信息为起点,读取所述第二指定日志信息以及在所述第二指定日志信息之后存入所述主题的缓冲队列的第二候选日志信息,得到第二目标日志信息,并对所述第二目标日志信息进行格式化处理,得到满足指定要求的目标子信息的。

上述技术方案中具有如下有益效果:

本发明提供的技术方案,在内网子系统中预设外网子系统端口与内网可识别端口的端口映射关系,使得内网子系统可以通过该端口映射关系与外网子系统通信,从而实时获取外网子系统的日志信息,实现跨网采集日志信息,为集合内外网的日志数据实现对系统安全分析提供实现可能。另外,将采集到内外网的日志信息存入指定主题的缓冲队列中,为后续对采集到的日志信息进行实时处理提供有效保障;此外,通过对日志信息进行格式化处理,得到满足指定要求的目标子信息,并对目标子信息进行分布式存储,在一定程度上节省了存储空间,提供数据存储效率。

【附图说明】

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

图1是本发明实施例提供的一种跨网部署系统的系统架构图;

图2是本发明实施例提供的一种跨网日志实时采集方法的流程示意图;

图3是本发明实施例提供的另一种跨网日志实时采集方法的流程示意图;

图4是本发明实施例提供的另一种跨网日志实时采集方法的流程示意图;

图5是本发明实施例提供的一种跨网日志实时采集装置的组成框图;

图6是本发明实施例提供的一种终端的组成框图。

【具体实施方式】

为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。

应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。

针对于现有技术中部署有内网和外网的系统中,为了保证系统安全和系统中数据的安全,通常部署在外网的子系统和部署在内网的子系统是不能相互访问的,而为了能够实现跨网获取日志信息,从而对内网中的日志信息以及外网中的日志信息进行综合分析,本发明提出如下解决思路:通过配置外网的子系统端口与内网子系统端口的映射关系,内网子系统在获取外网子系统的日志信息时,外网子系统利用自身的端口输出采集到外网子系统日志信息,然后,利用外网的子系统端口与内网子系统端口的映射关系,确定对应的内网子系统端口,从而通过该对应的内网子系统端口传输到内网子系统中,进而内网子系统获得外网子系统的日志信息,实现跨网日志实时采集。

在该思路的引导下,本方案实施例提供了以下可行的实施方案。

本发明实施例给出一种跨网日志实时采集方法,该方法应用于包括外网子系统和内网子系统的系统中,执行于内网子系统中。

在阐述本发明实施例给出的跨网日志实时采集方法之前,先阐述一下应用该方法的系统。具体的,请参考图1,其为本发明实施例提供的一种跨网部署系统的系统架构图。如图1所示,该系统包括外网子系统01和内网子系统02。

外网子系统01可以与该跨网部署系统所服务的外网用户进行交互,从而采集外网用户的请求参数和操作行为的日志。该外网子系统01包括互联网应用011和外网业务集群012。其中,互联网应用011为外网用户与终端交互的装置,该装置可以为位于外网用户终端的app(application,应用软件),或者还可以为位于外网用户终端的应用中的插件或软件开发工具包(softwaredevelopmentkit,sdk)等功能单元;外网业务集群012主要用于获取在互联网应用11中的操作行为和请求参数,并将这些操作行为和请求参数整合成日志信息。

内网子系统02包括内网业务集群021和执行该跨网日志实时采集方法的服务器022。其中,内网业务集群021主要用于采集内网子系统的日志信息。

外网又称广域网、公网,是连接不同地区局域网或城域网计算机通信的远程网,其跨接很大的物理范围,所覆盖的范围从几十公里到几千公里;内网又称局域网(localareanetwork,lan),是指在局部的地理范围内(如一个学校、工厂和机关内)内由多台计算机互联成的计算机组,其是封闭型的。因此,考虑到系统的内网子系统日志信息的安全性,以及综合内外网日志信息分析结果对系统安全性的重要影响,本发明将执行该跨网日志实时采集方法的服务器022部署在内网子系统中,通过将外网子系统中的日志信息传输到内网子系统中,在内网子系统中完成对内外网日志信息的存储和分析,从而在一定程度上提高了系统的安全性。

结合上述系统结构,下面阐述跨网日志实时采集方法。

具体的,请参考图2,其为本发明实施例所提供的跨网日志实时采集方法的流程示意图,如图2所示,该方法包括以下步骤:

102、通过预设的端口映射关系,实时获取外网子系统的日志信息,其中,端口映射关系为外网子系统端口与内网可识别端口的映射关系。

外网子系统和内网子系统各自设置可识别的端口,通过设置外网子系统端口与内网可识别端口的映射关系,外网子系统在向内网子系统传输日志信息时,就可以通过该端口的映射关系,找到内网可识别的端口,从而将该日志信息传输到内网子系统中。

具体可以为,采用nginx配置,该nginx配置设置在能够实现连通内网和外网的设备上。该nginx配置具体设置方式为:在nginx上设置tcp的四层端口转发,将用于实现日志信息传输的内网端口分别映射为nginx的端口,如此一来,在将外网子系统的日志信息上传到内网子系统时,外网子系统在传输日志信息时通过使用该设备地址加nginx的端口即可实时将日志数据传输到内网中。另外,补充说明的是,为了提供系统日志信息的安全性,可以设置nginx配置只允许外网向内网传输日志信息,不需要读取内网日志信息。

具体的,内网子系统在实时获取外网子系统的日志信息前,外网子系统需要先对产生的日志信息进行收集。由于外网子系统为集群系统,其上部署有外网业务系统集群,该集群包括多个服务节点,为了能够实时从日志存储目录中采集日志信息,可以在每个服务节点部署filebeat,filebeat既可实现单行读取又可以做到多行合并,占用内存较少的性能,并且filebeat会监控日志目录或者指定的日志信息,追踪这些日志信息变化以及不停读取这些日志信息,然后将这些日志信息通过端口映射关系发送到内网子系统中,从而保证内网子系统能够实时收集外网子系统的日志信息。

另外,补充说明的是,为了提供系统日志信息的安全性,可以设置该预设的端口映射关系只能用于内网子系统从外网子系统中获取日志信息。

104、实时获取内网子系统的日志信息。

具体的,内网子系统收集自身的日志信息的方式与外网子系统收集自身日志信息的方式系统相似,也是在内网子系统的业务系统集群中的每个服务节点部署filebeat,利用filebeat收集日志信息。本发明对于内网子系统收集自身的日志信息的实现过程不在赘述,具体请参考上述对外网子系统收集自身日志信息的阐述。

上述实时获取的外网子系统的日志信息和/或外网子系统的日志信息包括:日志、日志的类别。其中,日志的类别用于指示日志的业务类型。日志的类别可以是日志业务类型标识,或者,该日志的类别还可以产生该日志的业务系统的系统标识等,本发明对于日志的类别具体形式不做限定。

需要说明的是,服务器实时获取内网子系统的日志信息和外网子系统的日志信息是为了将内外网子系统的日志信息综合起来进行处理,实时获取外网子系统的日志信息与获取内网子系统的日志信,这两个操作之间没有必然的联系,也就是说,步骤102与步骤104没有执行的先后顺序,可以先步骤102,在执行步骤104;或者,也可以先执行步骤104在执行步骤102,本发明对于步骤102和步骤104执行的先后顺序不作具体限定。

106、将外网系统的日志信息以及内网子系统的日志信息分别存入指定主题的缓冲队列中。

缓冲队列主要用于临时存储获取到的内网子系统的日志信息和外网子系统的日志信息。由于服务器获取日志信息和对采集到的日志信息的处理是不同步的,通过将采集到的日志信息临时存储到缓冲队列中,服务器在对日志信息进行处理时,能够实现实时从该缓冲队列中读取日志信息,以保证对日志信息处理的时效性。

在一具体实施例中,为了能够提高获取日志信息的实时性,将该缓冲队列设置为kafka缓冲队列。kafka队列具有低延时高吞吐量的特性,具有分布式存储的性能,能够根据日志对应的业务类型对每一类别的日志采用不同的topic(主题)的缓冲队列进行存储。具体的,在互联网售票系统中,服务的业务包括:订票、余票查询、改签、退票、添加常用联系人等服务,获取的日志对应的业务类型包括订票、余票查询、改签、退票、添加常用联系人,在获取到日志信息后,分别将订票类日志信息存储到topic为订票的缓冲队列,将余票查询类日志信息存储到topic为余票查询的缓冲队列,将改签类日志信息存储到topic为改签的缓冲队列,将退票类日志信息存储到topic为退票的缓冲队列,将添加常用联系人类日志信息存储到topic为添加常用联系人的缓冲队列。

另外,对于kafka缓冲队列,消费者在对日志信息进行消费时,kafka支持同一topic的缓冲队列中的为不同消费组提供日志信息,其可以满足高并发需求,具有较好的扩展性,对大量实时信息采集具有重要作用。

108、读取指定主题的缓冲队列中的日志信息,并对日志信息进行格式化处理,得到满足指定要求的目标子信息。

日志信息包括采集到的日志、日志的类别等,日志都记载着日期、时间、使用者的ip、用户名、使用的浏览器版本、url(uniformresourcelocator,统一资源定位符)请求信息及动作等相关的描述信息。后续在基于系统安全性或者其他需求要对日志信息进行分析,其通常需要获取日志记载部分描述信息并对其进行分析,而且日志中记载的其他描述信息则为无用信息,为了节省存储空间,可以将这部分无用信息删除,仅保存分析处理时需求的部分描述信息。

具体的,对从指定主题的缓冲队列中读取日志信息后,对读取到日志信息进行格式化处理的过程可以为:解析这些日志信息,可以基于字段类型将每一条日志信息拆分成多个字段;然后,从拆分的多个字段中按照一定预设规则筛选出满足要求的目标字段。其中,筛选目标字段的预设规则可以是根据实际需求预先设定。例如,每个字段上都承载有相关信息,筛选目标字段的预设规则可以筛选承载有指定信息类型的字段。

在互联网售票系统这一系统中,假设需要分析购票乘客的订票情况,在实际分析购票乘客的订票信息时,需要根据购票乘客的用户名、订票时间、选择车票车次、选择的起始站和选择的发车日期这几种信息进行分析,在将得到的订票业务相关的日志信息进行存储时,从订票业务对应的主题缓冲队列中读取订票业务相关的日志信息,并对读取到的日志信息进行格式化处理,去除日志信息中记载的除购票乘客的用户名、订票时间、选择车票车次、选择的起始站和选择的发车日期以外的描述信息,以得到分析购票乘客的订票情况所需的这几种目标子信息。

110、对目标子信息进行分布式存储。

分布式存储具有高性能和快速读写功能,且分布式存储的可扩展性好,采用分布式存储方式进行存储可以有效提高存储效率。

在对目标子信息进行分布式存储时,可以按照时间规则对目标子信息进行分布存储。具体可以为,每条日志都会记载有日志的生成时间,可以通过获取每个目标子信息对应的日志生成时间,然后,基于日志生成时间,按照预设时间规则对目标子信息进行分区存储。其中,预设时间规则可以为:以小时为单位,同一小时内生成的日志信息对应的目标子信息存储在同一区域;或者,以天为单位,一天内生成的日志信息对应的目标子信息存储在同一区域;或者,还可以以周为单元,本发明对于预设时间规则的时间单元不做具体限定,该时间单位可以根据系统性能和/或实际需求设定。

这里需要说明的是,上述按照时间规则对目标子信息进行分区存储时,采用日志信息的生成时间为依据进行分区存储,相比于采用读入日志信息的时间为依据进行分区存储,可以在一定程度上避免由于传输过程中带来的延迟问题造成分区存储的不准确性,同时,这种以日志信息的生成时间为依据进行分区存储的方式,可以方便后续按照时间原则快速地检索相关目标子信息,提供检索相关目标子信息的效率。

具体的,本发明在实现分布式存储时,可以使用hdfs(hadoopdistributedfilesystem,hadoop分布式文件系统),该hdf上部署有hive数据库。采用hive(基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表)的存储方式,实时将得到的目标子信息转换成parquet格式,然后存储在hive数据库中。其中,parquet格式是面向分析型业务的列式存储格式,这种存储格式占用空间少,且压缩比高,能够在节省存储空间的同时,还可以提高存储的效率。

进一步来说,为了保证日志信息的安全和可恢复性,在每次日志信息进行格式化处理时,会产生一些记录这些日志信息备份信息等管理信息的小文件,如果产生的小文件数量过多,这些小文件会占用较多的存储空间,并且浪费block(块),如此,就会造成信息存储效率低的问题。基于此问题,本发明提出,在对日志信息进行格式化处理时,综合考虑处理的实时性需求和系统对小文件的容忍度,成批次的进行格式化处理。针对于此,本发明提出另一种实现方式,如图3所示,在108读取指定主题的缓冲队列中的日志信息,并对日志信息进行格式化处理,得到满足指定要求的目标子信息之前,该方法还包括:

107、判断指定主题的缓冲队列中的日志信息数量是否满足预设数量阈值;若判断出满足,则执行步骤108;若判断出不满足,则等待或执行步骤102和/或104。

其中,上述预设数量阈值是基于对日志信息处理时效性要求和系统对小文件容忍度设置的。具体的,假设每次执行格式化处理会产生10个小文件,hdfs中的namenode(文件管理者)模块最多允许存储10000个小文件,要求系统时效性越高越好,且每次至少处理50条日志信息。运维人员在综合对日志信息处理时效性要求和系统对小文件容忍度后,设定该预设数量阈值为100件。当指定主题的缓冲队列中的日志信息数量达到100件后,就可以执行读取指定主题的缓冲队列中的日志信息,并对日志信息进行格式化处理的操作;若指定主题的缓冲队列中的日志信息数量未达到100件后,则继续从外网子系统和/或内网子系统中实时获取日志信息;若指定主题的缓冲队列中的日志信息数量超过100件,在读取指定主题的缓冲队列中的日志信息,并对日志信息进行格式化处理的操作时,也只读取100件进行操作。

进一步的,在为了实现对日志信息进行实时处理的目的,从外网子系统和内网子系统中实时获取到的日志信息临时存储在缓冲队列中,而为了节省成本,避免部署多个大容量的缓冲队列,设置缓冲队列中的日志信息允许存储一定时间,当达到允许存储时间后便会自动删除。为了避免由于达到允许存储时间缓冲队列中的日志信息自动删除,造成在对日志信息进行格式化处理时,由于用户想要处理的相关日志信息已被自动删除,而无法读取到该相关日志信息,造成格式化处理不能正常执行,针对于此,本发明实施例提供了另一种实现方法,如图4所示,针对于108读取指定主题的缓冲队列中的日志信息,并对日志信息进行格式化处理,得到满足指定要求的目标子信息的实现,具体可以执行以下步骤:

201、响应于用户输入的操作信息,获取操作信息中携带有用户设定的参考时间。

用户可以通过鼠标、键盘或者触控显示屏等输入设备,输入相应操作,从而在采集到用户输入的相应操作后生成操作信息,并对得到操作信息进行解析处理,以得到对应的参考时间。

其中,该参考时间可以用于指示用户希望执行日志信息格式化处理的设备处理那些日志信息,例如,参考时间为2018年11月30日15:00,则表示用户希望该设备对2018年11月30日15:00之后的生成的日志信息进行格式化处理;又例如,参考时间为2018年11月30日18:00,则表示用户希望该设备对2018年11月30日18:00之后的生成的日志信息进行格式化处理。

202、判断当前时间与参考时间的差值是否在指定时长范围内;若判断为是,则执行步骤203;否则,执行步骤204。

其中,该指定时长范围可以为0~该指定主题的缓冲队列允许日志信息存储的最大时长;或者,该指定时长范围也可以是在0~该指定主题的缓冲队列允许日志信息存储的最大时长之间对应的一个时长范围,本发明对该指定时长范围不做具体限定。

具体的,如果当前时间与参考时间的差值是在指定时长范围,则说明该指定主题的缓冲队列中还存储有该参考时间之后(包括该参考时间)生成的日志信息,可以从指定主题的缓冲队列中读取到对应的日志信息,并执行处理;如果当前时间与参考时间的差值不在指定时长范围,则说明该参考时间生成的日志信息已经被该指定主题的缓冲队列自动删除,无法读取该日志信息,若此时,想正常执行日志信息的格式化处理,则可以读取该指定主题的缓冲队列中当前存储的日志信息,并对当前存储的日志信息进行格式化处理。

203、以存入指定主题的缓冲队列为参考时间对应的第一指定日志信息为起点,读取第一指定日志信息以及在第一指定日志信息之后存入主题的缓冲队列的第一候选日志信息,得到第一目标日志信息,并对第一目标日志信息进行格式化处理,得到满足指定要求的目标子信息的。

204、以指定主题的缓冲队列队首对应的第二指定日志信息为起点,读取第二指定日志信息以及在第二指定日志信息之后存入主题的缓冲队列的第二候选日志信息,得到第二目标日志信息,并对第二目标日志信息进行格式化处理,得到满足指定要求的目标子信息的。

下面假设当前时间为2018年11月30日18:00,该指定主题的缓冲队列允许日志信息存储的最大时长2小时,指定时长范围为[0,2]。如果用户输入的参考时间为2018年11月30日17:00,该当前时间与该参考时间的差值为1小时,其在指定时长范围[0,2]内,则读取2018年11月30日17:00及其之后存入该指定缓冲队列中的日志信息,对其进行格式化处理;如果用户输入的参考时间为2018年11月30日15:00,该当前时间与该参考时间的差值为3小时,其不在指定时长范围[0,2]内,且该指定主题的缓冲队列中队首的日志信息为2018年11月30日16:00存入该指定主题的缓冲队列中的日志信息,则读取2018年11月30日16:00及其之后存入该指定主题的缓冲队列中的日志信息。

本发明实施例的技术方案具有以下有益效果:

本发明提供的技术方案,在内网子系统中预设外网子系统端口与内网可识别端口的端口映射关系,使得内网子系统可以通过该端口映射关系与外网子系统通信,从而实时获取外网子系统的日志信息,实现跨网采集日志信息,为集合内外网的日志数据实现对系统安全分析提供实现可能。另外,将采集到内外网的日志信息存入指定主题的缓冲队列中,为后续对采集到的日志信息进行实时处理提供有效保障;此外,通过对日志信息进行格式化处理,得到满足指定要求的目标子信息,并对目标子信息进行分布式存储,在一定程度上节省了存储空间,提供数据存储效率。

基于上述实施例所提供的跨网日志实时采集方法,本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。

请参考图5,其为本发明实施例所提供的装置的功能方块图。该装置应用于包括外网子系统和内网子系统的系统中,设置于内网子系统中,如图所示,该装置包括:

第一获取单元31,用于通过预设的端口映射关系,实时获取外网子系统的日志信息,其中,端口映射关系为外网子系统端口与内网可识别端口的映射关系;

第二获取单元32,用于实时获取内网子系统的日志信息;

第一存储单元33,用于将外网子系统的日志信息以及内网子系统的日志信息分别存入指定主题的缓冲队列中;

处理单元34,用于读取指定主题的缓冲队列中的日志信息,并对日志信息进行格式化处理,得到满足指定要求的目标子信息;

第二存储单元35,用于对目标子信息进行分布式存储。

其中,上述实时获取的外网子系统的日志信息和/或外网子系统的日志信息包括:日志、日志生成时间、日志的类别。

可选的是,本发明实施例中,处理单元34用于读取指定主题的缓冲队列中的日志信息,并对日志信息进行格式化处理,得到满足指定要求的目标子信息,具体可以执行以下操作:首先,将日志信息拆分成多个候选字段;然后,从多个候选字段中筛选出承载有与预设信息类型对应信息的目标字段,其中,目标字段中承载的与预设信息类型对应信息即为目标子信息。

可选的是,本发明实施例中,跨网日志实时采集装置还包括第一判断单元(图5中未示出),在处理读取指定主题的缓冲队列中的日志信息,并对日志信息进行格式化处理,得到满足指定要求的目标子信息之前,该第一判断单元,用于判断指定主题的缓冲队列中的日志信息数量是否满足预设数量阈值;其中,处理单元34用于读取指定主题的缓冲队列中的日志信息,并对日志信息进行格式化处理,得到满足指定要求的目标子信息的步骤,在判断出指定主题的缓冲队列中的日志信息数量满足预设数量阈值后执行。

可选的是,本发明实施例中,处理单元34用于读取指定主题的缓冲队列中的日志信息,并对日志信息进行格式化处理,得到满足指定要求的目标子信息,具体包括,响应于用户输入的操作信息,获取操作信息中携带有用户设定的参考时间;判断当前时间与参考时间的差值是否在指定时长范围内;若判断为是,以存入指定主题的缓冲队列为参考时间对应的第一指定日志信息为起点,读取第一指定日志信息以及在第一指定日志信息之后存入主题的缓冲队列的第一候选日志信息,得到第一目标日志信息,并对第一目标日志信息进行格式化处理,得到满足指定要求的目标子信息的;否则,以指定主题的缓冲队列队首对应的第二指定日志信息为起点,读取第二指定日志信息以及在第二指定日志信息之后存入主题的缓冲队列的第二候选日志信息,得到第二目标日志信息,并对第二目标日志信息进行格式化处理,得到满足指定要求的目标子信息的。

可选的是,本发明实施例中,第二存储单元35用于对目标子信息进行分布式存储,具体可以执行以下操作:先获取每个目标子信息对应的日志生成时间;然后,按照日志生成时间的顺序对目标子信息进行分区存储。

由于本实施例中的各单元能够执行图2-图4所示的方法,本实施例未详细描述的部分,可参考对图2-图4的相关说明。

如图6所示,其为本发明实施例还提供了一种终端的机构示意图,如图所示,该终端包括处理器41、存储器42以及输入输出接口43;处理器41、存储器42及输入输出接口43通过总线进行通信;存储器42中被配置有计算机代码,处理器41能够调用该代码以控制输入输出接口43;

计算机代码被处理器41执行时,导致终端实现前述任一项跨网日志实时采集方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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