本发明涉及数据处理技术,尤其涉及一种日志采集方法及服务器。
背景技术:
随着业务的不断发展,为了及时获取用户感知的数据信息并基于所获取的数据信息进行必要的故障诊断,通常采用传统的日志采集技术来获取数据信息。具体地,部署多个一样的采集程序,一个采集程序可以同时采集多台主机上的日志内容,之后汇总所有的日志内容并以日志文件的形式存储在磁盘中。这样,在需要进行日志内容查看时,需要人工打开日志文件并通过查找的命令信息进行搜索来判断每次搜索到的日志内容是否属于待查找的日志内容。
然而,传统的日志采集技术存在如下技术问题:
1)直接采集日志,无法对日志内容进行压缩,占用网络带宽资源大;
2)容易出现丢包情况,且丢包后无法在找回;
3)海量的日志采集,导致日志采集延时严重,无法实现日志的实时采集。
技术实现要素:
有鉴于此,本发明实施例期望提供一种日志采集方法及服务器,能够在保证节省网络带宽资源和日志内容完整性的情况下,实现对日志内容的实时采集。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供一种日志采集方法,所述方法包括:
获取日志文件;
对所述日志文件进行收集处理,获得交易报文日志;
将所述交易报文日志分发至可靠安全队列。
上述方案中,所述对所述日志文件进行收集处理,获得交易报文日志,包 括:
根据动态链接库API对所述日志文件进行组装处理,以形成交易报文日志。
上述方案中,所述将所述交易报文日志分发至可靠安全队列,包括:
根据所述交易报文日志对应报文的流水号与可靠安全队列之间的对应关系,将所述交易报文日志分发存储至对应的可靠安全队列。
上述方案中,所述方法还包括:
在交易日志开关打开或网络不通的情况下,将所述交易日志文件记录在本地文件中。
上述方案中,所述方法还包括:
对所述交易报文日志进行异常校验;
当确定所述交易报文日志存在异常情况时,通过发起明细交易日志采集请求的方式重新获取交易报文日志。
本发明实施例还提供一种服务器,所述服务器包括获取模块、收集处理模块和分发模块;
所述获取模块,用于获取日志文件;
所述收集处理模块,用于对所述日志文件进行收集处理,获得交易报文日志;
所述分发模块,用于将所述交易报文日志分发至可靠安全队列。
上述方案中,所述收集处理模块,具体用于根据动态链接库API对所述日志文件进行组装处理,以形成交易报文日志。
上述方案中,所述分发模块,具体用于根据所述交易报文日志对应报文的流水号与可靠安全队列之间的对应关系,将所述交易报文日志分发存储至对应的可靠安全队列。
上述方案中,所述服务器还包括记录模块;
所述记录模块,用于在交易日志开关打开或网络不通的情况下,将所述交易日志文件记录在本地文件中。
上述方案中,所述服务器还包括校验模块;
所述校验模块,用于对所述交易报文日志进行异常校验;
所述获取模块,还用于当确定所述交易报文日志存在异常情况时,通过发起明细交易日志采集请求的方式重新获取交易报文日志。
本发明实施例所提供的日志采集方法及服务器,获取日志文件;对所述日志文件进行收集处理,获得交易报文日志;将所述交易报文日志分发至可靠安全队列。如此,能够在保证节省网络带宽资源和日志内容完整性的情况下,实现对日志内容的实时采集。
附图说明
图1为本发明实施例日志采集方法的实现流程示意图一;
图2为本发明实施例日志采集方法的实现流程示意图二;
图3为本发明实施例日志采集方法的实现流程示意图三;
图4为本发明实施例服务器的组成结构示意图一;
图5为本发明实施例服务器的组成结构示意图二;
图6为本发明实施例服务器的组成结构示意图三;
图7为本发明一应用实例日志采集方法的具体实现流程示意图。
具体实施方式
在本发明实施例中,获取日志文件;对所述日志文件进行收集处理,获得交易报文日志;将所述交易报文日志分发至可靠安全队列。
下面结合附图及具体实施例对本发明再作进一步详细的说明。
实施例一
图1为本发明实施例日志采集方法的实现流程示意图一,如图1所示,本发明实施例日志采集方法包括:
步骤S101:获取日志文件;
具体地,用于实现日志采集功能的服务器获取由日志生成服务器生成的日 志文件;所述获取日志文件的方式可以是实时获取,也可以是周期性获取。当所述获取日志文件的方式选用实时获取时,可以很好地保证日志采集的实时性,但是这种获取方式是以牺牲网络带宽资源为代价的;当所述获取日志文件的方式选用周期性获取时,需要在确定周期的大小时,有效均衡日志采集的实时性和网络带宽资源的开销。所述服务器可以包括智能手机、平板电脑、笔记本电脑、以及个人数字助理等。
步骤S102:对所述日志文件进行收集处理,获得交易报文日志;
具体地,用于实现日志采集功能的服务器根据动态链接库API对所述日志文件进行组装处理,以形成交易报文日志。由于预先已在所述API中设置有API函数,因此当服务器获取到日志文件后,即可通过API函数对所述日志文件进行组装处理。
步骤S103:将所述交易报文日志分发至可靠安全队列。
具体地,服务器根据所述交易报文日志对应报文的流水号与可靠安全队列之间的对应关系,将所述交易报文日志分发存储至对应的可靠安全队列。这里,服务器中的API首先根据所述交易报文日志对应报文的流水号与可靠安全队列的总数进行简单的取模运算,以保证具有相同流水号的报文,进入相同的可靠安全队列。
如此,通过本发明实施例日志采集方法,能够在保证节省网络带宽资源和日志内容完整性的情况下,实现对日志内容的实时采集。
实施例二
图2为本发明实施例日志采集方法的实现流程示意图二,如图2所示,本发明实施例日志采集方法包括:
步骤S101:获取日志文件;
步骤S102:对所述日志文件进行收集处理,获得交易报文日志;
步骤S103:将所述交易报文日志分发至可靠安全队列;
本发明实施例二中的步骤S101至步骤S103可以分别对应地参见实施例一 中的步骤S101至步骤S103,为节约篇幅,这里不再赘述。
步骤S201:在交易日志开关打开或网络不通的情况下,将所述交易日志文件记录在本地文件中。
具体地,服务器在将所述交易报文日志分发至可靠安全队列的过程中,当存在交易日志开关打开或网络不通时,将所述交易日志文件记录在本地文件中。
如此,通过本发明实施例日志采集方法,能够在保证节省网络带宽资源和日志内容完整性的情况下,实现对日志内容的实时采集。
实施例三
图3为本发明实施例日志采集方法的实现流程示意图三,如图3所示,本发明实施例日志采集方法包括:
步骤S101:获取日志文件;
步骤S102:对所述日志文件进行收集处理,获得交易报文日志;
步骤S103:将所述交易报文日志分发至可靠安全队列;
本发明实施例三中的步骤S101至步骤S103可以分别对应地参见实施例一中的步骤S101至步骤S103,为节约篇幅,这里不再赘述。
步骤S301:对所述交易报文日志进行异常校验;
具体地,用于实现日志采集功能的服务器对存储至可靠安全队列中的交易报文日志进行异常校验,以确定所述交易报文日志是否存在异常,如所述交易报文日志本身是否存在异常或者所述交易报文日志对应的交易过程属于自动探测。
步骤S302:当确定所述交易报文日志存在异常情况时,通过发起明细交易日志采集请求的方式重新获取交易报文日志。
具体地,当通过异常检测,确定所述交易报文日志存在异常情况时,用于实现日志采集功能的服务器通过发起明细交易日志采集请求的方式重新获取交易报文日志。
如此,通过本发明实施例日志采集方法,能够在保证节省网络带宽资源和 日志内容完整性的情况下,实现对日志内容的实时采集。
实施例四
图4为本发明实施例服务器的组成结构示意图,如图4所示,所述服务器包括获取模块401、收集处理模块402和分发模块403;
所述获取模块401,用于获取日志文件;
所述收集处理模块402,用于对所述日志文件进行收集处理,获得交易报文日志;
具体地,所述收集处理模块402根据动态链接库API对所述日志文件进行组装处理,以形成交易报文日志。
所述分发模块403,用于将所述交易报文日志分发至可靠安全队列。
具体地,所述分发模块403根据所述交易报文日志对应报文的流水号与可靠安全队列之间的对应关系,将所述交易报文日志分发存储至对应的可靠安全队列。
在一实施例中,如图5所示,所述服务器还包括记录模块404;
所述记录模块404,用于在交易日志开关打开或网络不通的情况下,将所述交易日志文件记录在本地文件中。
在一实施例中,如图6所示,所述服务器还包括校验模块405;
所述校验模块405,用于对所述交易报文日志进行异常校验;
所述获取模块401,还用于当确定所述交易报文日志存在异常情况时,通过发起明细交易日志采集请求的方式重新获取交易报文日志。
在实际应用中,本发明实施例所述服务器中的各模块均可以通过装置中的处理器实现,也可以通过具体的逻辑电路实现;比如,在实际应用中,可由位于所述服务器中的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)实现。
具体应用场景:
图7为本发明一应用实例日志采集方法的具体实现流程示意图,如图7所示,所述日志采集方法具体包括:
步骤1、需要在日志生成服务器部署日志收集器程序;
步骤2、日志收集器连接可靠安全队列,针对每个可靠安全队列的连接,建立缓存队列,所述缓存队列中的数据通过合并压缩后发往可靠安全队列;
其中,所述可靠安全队列有多个。
步骤3、日志收集器在收到API发送过来的报文后,根据API分配好的入哪个可靠安全队列,将交易报文日志保存到相应的缓存队列;
步骤4、日志收集器的缓存队列需要限制大小,当交易报文日志所属报文发送异常时,如果缓存队列的大小超过限制的大小,则将整个缓存队列中的报文写本地文件;否则就将发送失败的报文插回缓存队列。
这样,在本发明应用实例中,通过API日志收集器,对日志内容进行压缩;当日志收集器在将交易报文日志所属报文发送至可靠安全队列的过程中,当交易日志开关打开或网络不通的情况下,将所述交易日志文件记录在本地文件中。如此,能够在保证节省网络带宽资源和日志内容完整性的情况下,实现对日志内容的实时采集。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。