CN105515836A - 日志处理方法、装置及服务器 - Google Patents

日志处理方法、装置及服务器 Download PDF

Info

Publication number
CN105515836A
CN105515836A CN201510848541.4A CN201510848541A CN105515836A CN 105515836 A CN105515836 A CN 105515836A CN 201510848541 A CN201510848541 A CN 201510848541A CN 105515836 A CN105515836 A CN 105515836A
Authority
CN
China
Prior art keywords
access log
log
threshold value
property value
attribute
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.)
Pending
Application number
CN201510848541.4A
Other languages
English (en)
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.)
Beijing Xiaomi Technology Co Ltd
Xiaomi Inc
Original Assignee
Xiaomi Inc
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 Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201510848541.4A priority Critical patent/CN105515836A/zh
Publication of CN105515836A publication Critical patent/CN105515836A/zh
Pending legal-status Critical Current

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
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开是关于一种日志处理方法、装置及服务器,其方法包括:获取预先分为不同类型的归类访问日志;确定每一类归类访问日志对应的属性关键字;根据所述属性关键字获取所述每一类访问日志对应的属性值;判断所述属性值是否大于预先设置的属性阈值;当所述属性值大于预先设置的属性阈值时,将所述归类访问日志发送给分布式文件***HDFS。这样可以快速响应客户端请求,也不需要维护额外的日志打点服务。另外,可以实现对线上日志进行实时监控,可以很方便的满足实际的需要。

Description

日志处理方法、装置及服务器
技术领域
本公开涉及计算机技术领域,尤其涉及一种日志处理方法、装置及服务器。
背景技术
随着科技的不断发展,使用智能终端的用户已经达到一个很大的数量,很多用户每天都需要使用不同的智能终端访问服务器,以满足数据交互的需求。而服务器也需要记录用户的访问日志,以提取用户的访问数量、规模及访问网站的规律等信息。
由于服务器上用户的访问日志信息量变得日益庞大,而传统处理用户访问日志的方法效率较低,难以应对。因此,亟需一种新的信息的日志处理方式来处理信息量庞大的用户访问日志。
发明内容
为克服相关技术中存在的问题,本公开提供一种日志处理方法、装置及服务器。
根据本公开实施例的第一方面,提供一种日志处理方法,包括:
获取预先分为不同类型的归类访问日志;
确定每一类归类访问日志对应的属性关键字;
根据所述属性关键字获取所述每一类访问日志对应的属性属性值;
判断所述属性值是否大于预先设置的属性阈值;
当所述属性值大于预先设置的属性阈值时,将所述归类访问日志发送给分布式文件***HDFS。
这样可以快速响应客户端请求,也不需要维护额外的日志打点服务。另外,可以实现对线上日志进行实时监控,可以很方便的满足实际的需要。
可选地,所述属性值包括信息占用容量;
所述判断所述属性值是否大于预先设置的属性阈值,包括:
根据所述属性关键字获取每一类访问日志对应的预设容量阈值;
判断所述信息占用容量是否大于对应的预设容量阈值;
当所述信息占用容量大于对应的预设容量阈值,确定所述属性值大于预先设置的属性阈值。
根据需要,可以通过灵活、动态的调整每一类访问日志对应的预设容量阈值,然后获取该预设容量阈值,通过将该类用户访问日志信息占用容量与对应预设容量阈值相比较,可以使服务器快速的做出反应,做出是否上传该类用户访问日志的选择。
可选地,所述属性值包括计时时长;
所述判断所述属性值是否大于预先设置的属性阈值,包括:
在获取到所述归类访问日志时开始计时,得到计时时长;
根据所述属性关键字获取每一类访问日志对应的预设阈值时长;
判断所述计时时长是否大于对应的预设阈值时长;
当所述计时时长大于对应的预设阈值时长时,确定所述属性值大于预先设置的属性阈值。
根据需要,可以通过灵活、动态的调整每一类访问日志对应的预设阈值时长,然后获取该预设阈值时长,通过将该类用户访问日志计时时长与对应预设阈值时长相比较,可以使服务器快速的做出反应,做出是否上传该类用户访问日志的选择。
可选地,所述方法还包括:
将本地存在且已经发送给所述HDFS的访问日志删除。
由于Redis服务器的存储空间有限,为了给后续nginx服务器发送的用户访问日志让出存储空间,需要将本地存在且已经发送给HDFS的访问日志删除。
根据本公开实施例的第二方面,提供一种日志处理方法,包括:
获取用户的访问日志;
提取所述访问日志中的类别关键字;
根据所述类别关键字将所述访问日志进行归类,得到不同类型的归类访问日志;
将所述归类访问日志发送给预设终端。
通过对访问日志中的内容信息进行分析,或者提取访问日志中的特征信息,确定该访问日志的类别关键字,进而可以根据类别关键字对日志进行分类。
可选地,所述将所述归类访问日志发送给预设终端,包括:
利用服务器Webdis获取所述预设终端的接口;
通过所述接口将所述归类访问日志发送给所述预设终端。
Webdis服务器分别与nginx服务器、Redis服务器相连接,nginx服务器需要向Webdis服务器发送请求,以获取Redis服务器的接口,以便将归类日志通过该接口发送给Redis服务器。这样可以通过Webdis服务器直接为Webdis服务器提供接口,将访问日志写入Redis服务器中,在通过scribe等上传工具监控Redis服务器,将Redis服务器中的日志上传到HDFS中。
根据本公开实施例的第三方面,提供一种日志处理装置,包括:
归类访问日志获取模块,用于获取预先分为不同类型的归类访问日志;
关键字确定模块,用于确定每一类归类访问日志对应的属性关键字;
属性值获取模块,用于根据所述属性关键字获取所述每一类访问日志对应的属性值;
阈值判断模块,用于判断所述属性值是否大于预先设置的属性阈值;
日志发送模块,用于在所述属性值大于预先设置的属性阈值时,将所述归类访问日志发送给分布式文件***HDFS。
可选地,所述属性值包括信息占用容量;所述阈值判断模块,包括:
阈值获取子模块,用于根据所述属性关键字获取每一类访问日志对应的预设容量阈值;
阈值判断子模块,用于判断所述信息占用容量是否大于对应的预设容量阈值;
第一属性阈值确定子模块,用于在所述信息占用容量大于对应的预设容量阈值,确定所述属性值大于预先设置的属性阈值。
可选地,所述属性值包括计时时长;所述阈值判断模块,包括:
计时子模块,用于在获取到所述归类访问日志时开始计时,得到计时时长;
阈值时长获取子模块,用于根据所述属性关键字获取每一类访问日志对应的预设阈值时长;
时长判断子模块,用于判断所述计时时长是否大于对应的预设阈值时长;
第二属性阈值确定子模块,用于在所述计时时长大于对应的预设阈值时长时,确定所述属性值大于预先设置的属性阈值。
可选地,所述装置还包括:
日志删除模块,用于将本地存在且已经发送给所述HDFS的访问日志删除。
根据本公开实施例的第四方面,提供一种日志处理装置,包括:
访问日志获取模块,用于获取用户的访问日志;
关键字提取模块,用于提取所述访问日志中的类别关键字;
日志归类模块,用于根据所述类别关键字将所述访问日志进行归类,得到不同类型的归类访问日志;
归类日志发送模块,用于将所述归类访问日志发送给预设终端。
可选地,所述归类日志发送模块,包括:
接口获取子模块,用于利用服务器Webdis获取所述预设终端的接口;
归类访问日志发送子模块,用于通过所述接口将所述归类访问日志发送给所述预设终端。
根据本公开实施例的第五方面,提供一种服务器,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取预先分为不同类型的归类访问日志;
确定每一类归类访问日志对应的属性关键字;
根据所述属性关键字获取所述每一类访问日志对应的属性值;
判断所述属性值是否大于预先设置的属性阈值;
当所述属性值大于预先设置的属性阈值时,将所述归类访问日志发送给分布式文件***HDFS。
根据本公开实施例的第六方面,提供一种服务器,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取用户的访问日志;
提取所述访问日志中的类别关键字;
根据所述类别关键字将所述访问日志进行归类,得到不同类型的归类访问日志;
将所述归类访问日志发送给预设终端。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例提供的日志处理方法、装置及服务器,在获取到用户的不同类型的访问日志后,会提取每一归类访问日志中的属性关键字,根据该属性关键字获取每一类访问日志对应的属性值,如果该属性值满足条件,那么将满足条件的归类访问日志上传到HDFS中。这样可以快速响应客户端请求,也不需要维护额外的日志打点服务。另外,可以实现对线上日志进行实时监控,可以很方便的满足实际的需要。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种应用场景示意图;
图2是根据一示例性实施例示出的一种日志处理方法的流程图;
图3是图2中步骤S240的流程图;
图4是图2中步骤S240的另一流程图;
图5是根据又一示例性实施例示出的一种日志处理方法的流程图;
图6是根据又一示例性实施例示出的一种日志处理方法的流程图;
图7是图6中步骤S640的流程图;
图8是根据一示例性实施例示出的一种日志处理装置示意图;
图9是图8中阈值判断模块的示意图;
图10是图8中阈值判断模块的另一示意图;
图11是根据又一示例性实施例示出的一种日志处理装置示意图;
图12是根据又一示例性实施例示出的一种日志处理装置示意图;
图13是图12中归类日志发送模块的示意图;
图14是根据一示例性实施例示出的一种服务器的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在用户使用手机、平板电脑或个人电脑等终端设备联网时,无论是通过浏览器访问网站,还是通过客户端,都需要与后台服务器进行数据交互。例如,当用户使用手机通过浏览器访问某网站时,相当于手机通过互联网与该网站的应用服务器进行数据交互,如果需要调用数据等功能,一般与应用服务器相连接的还有数据库服务器。由于应用服务器和数据库服务器都为本领域技术人员所了解,这里对其功能阐述不再赘述。
在用户通过终端访问应用服务器时,应用服务器会记录该用户的访问记录,并且还需要进一步对这些访问记录进行处理,根据处理结果来分析用户的上网习惯、访问人群类型和用户需求等。随着上网人群的日益增加,如何处理大量的用户访问日志进而获取用户的需求显得越来越重要。
HDFS(HadoopDistributedFileSystem,分布式文件***)被设计成适合运行在通用硬件(commodityhardware)上的分布式文件***。它和现有的分布式文件***有很多共同点。但同时,它和其他的分布式文件***的区别也是很明显的。HDFS是一个高度容错性的***,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件***数据的目的。HDFS在最开始是作为ApacheNutch搜索引擎项目的基础架构而开发的。HDFS是ApacheHadoopCore项目的一部分。
HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streamingaccess)文件***中的数据。因此,一般需要将用户的访问日志由服务器最终上传给HDFS。
传统的用户访问日志上传到HDFS的方案,一般是不是一个Web服务(如java,php或python等)提供http接口,客户端通过调用这个接口将日志数据上传到服务器端,数据会先写在服务端的机器上,然后通过scribe等日志收集工具,线下将服务端的日志数据上传到HDFS上。其中,Webdis是一个简单的Web服务器,即应用服务器,Webdis是一个数据库服务器。
由于上述传统的日志处理方案需要额外维护日志打点服务,而且一般日志量比较大,而且耗费较多的机器来作为服务器收集日志,造成资源的大量浪费。另外,传统的日志处理方案中,一般是先将日志文件写在服务器本地,然后再通过scribe等日志收集工具线下上传到HDFS中,日志只有进入HDFS后,才能最终利用HDFS提供的工具对日志进行分析,如要做到对日志本身的监控,需要在web服务中进行控制,这样就需要调整服务代码,针对不同的需求,代码还需要临时调整,灵活性查,且增加了日志统计服务的复杂度。
因此,针对上述传统日志处理方案存在的相关技术问题,本公开提供的实施例中,利用Webdis实现客户端日志上传到HDFS的日志处理方法,通过Webdis直接提供Redis的web服务,来将日志直接写入到Redis服务器中,再通过scribe等日志上传工具监控Redis服务器,将Redis服务器的日志上传到HDFS中。使得可以很快响应客户端请求,也不需要维护额外的日志打点服务。另外,还可以对日志进行简单处理,如根据日志中的用户标志关键字作为key,能将某一用户的日志归为一类,方便对日志本身内容进行监控。
图1为本公开实施例提供的应用场景示意图。如图1所示,图1包括:nginx服务器100、Webdis服务器200、Redis服务器300和HDFS400。其中,Nginx服务器是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。
部署上述服务器,并在Webdis服务器200中进行配置,Webdis服务器200可以为nginx服务器100提供Redis服务器300的接口,即使得nginx服务器100可以通过Webdis服务器200获取到Redis服务器300的接口。这样,nginx服务器100在获取到用户的访问日志后,会对这些访问日志进行预处理,如对这些日志进行分类,方便对分类后的日志进行监控。然后nginx服务器100将分类后的日志发送给Redis服务器300。
另外,还可以对Redis服务器300进行监控和结果输出,可以根据需要,将Redis服务器300处理后的结果进行输入。
Redis服务器300在接收到nginx服务器100发送的分类日志后,会根据分类日志的属性值判断接收到的分类日志是否需要立即上传到HDFS中,并删除本地中已经上传的分类日志。
为了详细阐述本公开实施例的上述执行流程,并解决相关技术问题,在本公开提供的一实施例,应用在Redis服务器中,如图2所示,首先提供了一种日志处理方法,
在步骤S210中,获取预先分为不同类型的归类访问日志。
Redis是一个key-value存储***,支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis是一个高性能的key-value数据库。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。因此,Redis服务器属于数据库服务器。
可以结合图1中的实施例进行说明,其中,Redis服务器300接收到nginx服务器100的归类日志,为nginx服务器100预先处理进行分类的。
在步骤S220中,确定每一类归类访问日志对应的属性关键字。
由于nginx服务器100在对访问日志进行分类时,是依据属性关键字进行分类,因此每一类归类日志都对应有属性关键字,这里只需找到或提取该属性关键字就可以。示例性的,nginx服务器100可以将每一类归类日志的属性关键字包含在归类日志当中,将携带有属性关键字的归类日志发送给Redis服务器300,Redis服务器300在接收到nginx服务器100发送的归类日志后,可以将其中包含的属性关键字提取出来。如果收到的归类日志中不包含属性关键字,Redis服务器300也可以根据该归类日志生成对应的属性关键字。需要说明的是,该属性关键字用来获取每一类访问日志对应的属性值。
在步骤S230中,根据属性关键字获取每一类访问日志对应的属性值。
归类访问日志中,每一归类访问日志对应的属性关键字可以有对应的属性值,该属性值可以是该归类访问日志的大小、存活时间等信息值。
在步骤S240中,判断属性值是否大于预先设置的属性阈值。
当属性值大于预先设置的属性阈值时,在步骤S150中,将归类访问日志发送给分布式文件***HDFS。
当属性值不大于预先设置的属性阈值时,回到步骤S240继续判断。
可以将上述属性值中的信息值分别与预先设置的属性阈值进行比较,如果属性值中的信息值都分别大于对应的属性阈值,那么可以将该归类访问日志上传给HDFS。否则,还需要在Redis服务器300中继续判断。
本公开实施例提供的日志处理方法,在获取到用户的不同类型的访问日志后,会提取每一归类访问日志中的属性关键字,根据该属性关键字获取每一类访问日志对应的属性值,如果该属性值满足条件,那么将满足条件的归类访问日志上传到HDFS中。这样可以快速响应客户端请求,也不需要维护额外的日志打点服务。另外,可以实现对线上日志进行实时监控,可以很方便的满足实际的需要。
在本公开提供的又一实施例中,作为图2方法的细化,如图3所示,属性值可以包括信息占用容量,则步骤S240可以包括以下流程:
在步骤S241中,根据属性关键字获取每一类访问日志对应的预设容量阈值。
在步骤S242中,判断信息占用容量是否大于对应的预设容量阈值。
当信息占用容量大于对应的预设容量阈值,在步骤S243中,确定属性值大于预先设置的属性阈值。
该预设容量阈值是预先设置的,当然,也可以根据临时需要进行设置的。示例性的,当该属性关键字为“聊天记录”时,可以预先为该属性关键字设定的预设容量阈值为5G,当该属性关键字对应的用户访问日志的信息占用量大于5G时,确定用户访问日志的属性值大于预先设定的属性阈值。
根据需要,可以通过灵活、动态的调整每一类访问日志对应的预设容量阈值,然后获取该预设容量阈值,通过将该类用户访问日志信息占用容量与对应预设容量阈值相比较,可以使服务器快速的做出反应,做出是否上传该类用户访问日志的选择。
在本公开提供的又一实施例中,作为图2方法的细化,如图4所示,属性值可以包括计时时长,则步骤S240可以包括以下流程:
在步骤S244中,在获取到归类访问日志时开始计时,得到计时时长。
在步骤S245中,根据属性关键字获取每一类访问日志对应的预设阈值时长。
在步骤S246中,判断计时时长是否大于对应的预设阈值时长。
当计时时长大于对应的预设阈值时长时,在步骤S247中,确定属性值大于预先设置的属性阈值。
该预设容量阈值是预先设置的,当然,也可以根据临时需要进行设置的。示例性的,当该属性关键字为“聊天记录”时,可以预先为该属性关键字设定的预设阈值时长为5h,当获取到该属性关键字对应的用户访问日志的计时时长大于5h时,确定用户访问日志的属性值大于预先设定的属性阈值。
根据需要,可以通过灵活、动态的调整每一类访问日志对应的预设阈值时长,然后获取该预设阈值时长,通过将该类用户访问日志计时时长与对应预设阈值时长相比较,可以使服务器快速的做出反应,做出是否上传该类用户访问日志的选择。
在本公开提供的又一实施例中,作为图2方法的细化,如图5所示,该方法还可以包括以下步骤:
在步骤S260中,将本地存在且已经发送给HDFS的访问日志删除。
由于Redis服务器300的存储空间有限,为了给后续nginx服务器100发送的用户访问日志让出存储空间,需要将本地存在且已经发送给HDFS的访问日志删除。
在本公开提供的又一实施例中,如图6所示,又提供了一种日志处理方法,可以应用在图1中的nginx服务器100中,该方法可以包括以下步骤:
在步骤S610中,获取用户的访问日志。
结合图1中的实施例,nginx服务器100可以与用户使用的客户端进行数据交互,nginx服务器100可以获取到用户的访问日志。
在步骤S620中,提取访问日志中的类别关键字。
通过对访问日志中的内容信息进行分析,或者提取访问日志中的特征信息,确定该访问日志的类别关键字。该类别关键字用来对访问日志进行分类。
在步骤S630中,根据类别关键字将访问日志进行归类,得到不同类型的归类访问日志。
在步骤S640中,将归类访问日志发送给预设终端。
结合图1中的实施例,该预设终端可以是Redis服务器300,nginx服务器100将分类后的归类访问日志发送给Redis服务器300。
在本公开提供的又一实施例中,作为图6方法的细化,如图7所示,步骤S640可以包括如下流程:
在步骤S641中,利用服务器Webdis获取预设终端的接口。
在步骤S642中,通过所述接口将所述归类访问日志发送给所述预设终端。
结合图1,Webdis服务器200分别与nginx服务器100、Redis服务器300相连接,nginx服务器100需要向Webdis服务器200发送请求,以获取Redis服务器300的接口,以便将归类日志通过该接口发送给Redis服务器300。这样可以通过Webdis服务器200直接为nginx服务器100提供接口,将访问日志写入Redis服务器300中,在通过scribe等上传工具监控Redis服务器300,将Redis服务器300中的日志上传到HDFS中。
本公开实施例提供的日志处理方法,可以在nginx进行配置就可用,且Redis写性能优越,能很快响应客户端请求,不需要维护额外的日志打点服务;且Redis提供了集群方案,稳定性,可靠性都能保障日志上传使用。另外,Redis提供了List,Set等数据结构,可以对日志进行简单处理,如根据日志中的用户标志类别关键字作为key,能将某一用户的日志归为一类,方便对日志本身内容进行监控。最后,通过对Redis监控服务进行配置,能实现对线上日志进行监控及其他运营相关需求,如需要实时获取某一时间段内用户的访问量情况时,只需要在Redis中记录起止时间对应的日志数量,再利用Redis提供的方法计算即可。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本公开可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,作为对上述各实施例的实现,本公开实施例还提供了一种日志处理装置,该装置位于服务器中,如图8所示,该装置包括:归类访问日志获取模块10、关键字确定模块20、属性值获取模块30、阈值判断模块40和日志发送模块50,其中,
归类访问日志获取模块10被配置为获取预先分为不同类型的归类访问日志;
可以结合图1中的实施例进行说明,其中,Redis服务器300接收到nginx服务器100的归类日志,为nginx服务器100预先处理进行分类的。
关键字确定模块20被配置为确定每一类归类访问日志对应的属性关键字;
由于nginx服务器100在对访问日志进行分类时,是依据属性关键字进行分类,因此每一类归类日志都对应有属性关键字,这里只需找到或提取该属性关键字就可以。示例性的,nginx服务器100可以将每一类归类日志的属性关键字包含在归类日志当中,将携带有属性关键字的归类日志发送给Redis服务器300,Redis服务器300在接收到nginx服务器100发送的归类日志后,可以将其中包含的属性关键字提取出来。如果收到的归类日志中不包含属性关键字,Redis服务器300也可以根据该归类日志生成对应的属性关键字。
属性值获取模块30被配置为根据所述属性关键字获取所述每一类访问日志对应的属性值;
归类访问日志中,每一归类访问日志对应的属性关键字可以有对应的属性值,该属性值可以是该归类访问日志的大小、存活时间等信息值。
阈值判断模块40被配置为判断所述属性值是否大于预先设置的属性阈值;
日志发送模块50被配置为在所述属性值大于预先设置的属性阈值时,将所述归类访问日志发送给分布式文件***HDFS。
可以将上述属性值中的信息值分别与预先设置的属性阈值进行比较,如果属性值中的信息值都分别大于对应的属性阈值,那么可以将该归类访问日志上传给HDFS。否则,还需要在Redis服务器300中继续判断。
本公开实施例提供的日志处理装置,在获取到用户的不同类型的访问日志后,会提取每一归类访问日志中的属性关键字,根据该属性关键字获取每一类访问日志对应的属性值,如果该属性值满足条件,那么将满足条件的归类访问日志上传到HDFS中。这样可以快速响应客户端请求,也不需要维护额外的日志打点服务。另外,可以实现对线上日志进行实时监控,可以很方便的满足实际的需要。
在本公开又一实施例中,基于图8,如图9所示,所述属性值包括信息占用容量;所述阈值判断模块40,包括:阈值获取子模块41、阈值判断子模块42和第一属性阈值确定子模块43,其中,
阈值获取子模块41被配置为根据所述属性关键字获取每一类访问日志对应的预设容量阈值;
阈值判断子模块42被配置为判断所述信息占用容量是否大于对应的预设容量阈值;
第一属性阈值确定子模块43被配置为在所述信息占用容量大于对应的预设容量阈值,确定所述属性值大于预先设置的属性阈值。
该预设容量阈值是预先设置的,当然,也可以根据临时需要进行设置的。示例性的,当该属性关键字为“聊天记录”时,可以预先为该属性关键字设定的预设容量阈值为5G,当该属性关键字对应的用户访问日志的信息占用量大于5G时,确定用户访问日志的属性值大于预先设定的属性阈值。
根据需要,可以通过灵活、动态的调整每一类访问日志对应的预设容量阈值,然后获取该预设容量阈值,通过将该类用户访问日志信息占用容量与对应预设容量阈值相比较,可以使服务器快速的做出反应,做出是否上传该类用户访问日志的选择。
在本公开又一实施例中,基于图8,如图10所示,所述属性值包括计时时长;所述阈值判断模块40,包括:计时子模块44、阈值时长获取子模块45、时长判断子模块46和第二属性阈值确定子模块47,其中,
计时子模块44被配置为在获取到所述归类访问日志时开始计时,得到计时时长;
阈值时长获取子模块45被配置为根据所述属性关键字获取每一类访问日志对应的预设阈值时长;
时长判断子模块46被配置为判断所述计时时长是否大于对应的预设阈值时长;
第二属性阈值确定子模块47被配置为在所述计时时长大于对应的预设阈值时长时,确定所述属性值大于预先设置的属性阈值。
该预设容量阈值是预先设置的,当然,也可以根据临时需要进行设置的。示例性的,当该属性关键字为“聊天记录”时,可以预先为该属性关键字设定的预设阈值时长为5h,当获取到该属性关键字对应的用户访问日志的计时时长大于5h时,确定用户访问日志的属性值大于预先设定的属性阈值。
根据需要,可以通过灵活、动态的调整每一类访问日志对应的预设阈值时长,然后获取该预设阈值时长,通过将该类用户访问日志计时时长与对应预设阈值时长相比较,可以使服务器快速的做出反应,做出是否上传该类用户访问日志的选择。
在本公开又一实施例中,基于图8,如图11所示,所述装置还包括:日志删除模块60,其中,
日志删除模块60被配置为将本地存在且已经发送给所述HDFS的访问日志删除。
由于Redis服务器300的存储空间有限,为了给后续nginx服务器100发送的用户访问日志让出存储空间,需要将本地存在且已经发送给HDFS的访问日志删除。
在本公开又一实施例中,如图12所示,提供了一种日志处理装置,包括:访问日志获取模块710、关键字提取模块720、日志归类模块730和归类日志发送模块740,其中,
访问日志获取模块710被配置为获取用户的访问日志;
结合图1中的实施例,nginx服务器100可以与用户使用的客户端进行数据交互,nginx服务器100可以获取到用户的访问日志。
关键字提取模块720被配置为提取所述访问日志中的类别关键字;
通过对访问日志中的内容信息进行分析,或者提取访问日志中的特征信息,确定该访问日志的类别关键字。
日志归类模块730被配置为根据所述类别关键字将所述访问日志进行归类,得到不同类型的归类访问日志;
归类日志发送模块740被配置为将所述归类访问日志发送给预设终端。
在本公开又一实施例中,基于图12,如图13所示,所述归类日志发送模块740,包括:接口获取子模块741和归类访问日志发送子模块742,其中,
接口获取子模块741被配置为利用服务器Webdis获取所述预设终端的接口;
归类访问日志发送子模块742被配置为通过所述接口将所述归类访问日志发送给所述预设终端。
结合图1,Webdis服务器200分别与nginx服务器100、Redis服务器300相连接,nginx服务器100需要向Webdis服务器200发送请求,以获取Redis服务器300的接口,以便将归类日志通过该接口发送给Redis服务器300。这样可以通过Webdis服务器200直接为nginx服务器100提供接口,将访问日志写入Redis服务器300中,在通过scribe等上传工具监控Redis服务器300,将Redis服务器300中的日志上传到HDFS中。
图14是根据一示例性实施例示出的一种用于日志处理的装置1400的结构示意图。例如,装置1400可以被提供为一服务器。参照图14,装置1400包括处理组件1422,其进一步包括一个或多个处理器,以及由存储器1432所代表的存储器资源,用于存储可由处理组件1422的执行的指令,例如应用程序。存储器1432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。
装置1400还可以包括一个电源组件1426被配置为执行装置1400的电源管理,一个有线或无线网络接口1450被配置为将装置1400连接到网络,和一个输入输出(I/O)接口1458。装置1400可以操作基于存储在存储器1432的操作***,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行一种日志处理方法,所述方法包括:
获取预先分为不同类型的归类访问日志;
确定每一类归类访问日志对应的属性关键字;
根据所述属性关键字获取所述每一类访问日志对应的属性值;
判断所述属性值是否大于预先设置的属性阈值;
当所述属性值大于预先设置的属性阈值时,将所述归类访问日志发送给分布式文件***HDFS。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器还能够执行一种日志处理方法,所述方法包括:
获取用户的访问日志;
提取所述访问日志中的类别关键字;
根据所述类别关键字将所述访问日志进行归类,得到不同类型的归类访问日志;
将所述归类访问日志发送给预设终端。
可以理解的是,本发明可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本公开可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (14)

1.一种日志处理方法,其特征在于,包括:
获取预先分为不同类型的归类访问日志;
确定每一类归类访问日志对应的属性关键字;
根据所述属性关键字获取所述每一类访问日志对应的属性值;
判断所述属性值是否大于预先设置的属性阈值;
当所述属性值大于预先设置的属性阈值时,将所述归类访问日志发送给分布式文件***HDFS。
2.根据权利要求1所述的日志处理方法,其特征在于,所述属性值包括信息占用容量;
所述判断所述属性值是否大于预先设置的属性阈值,包括:
根据所述属性关键字获取每一类访问日志对应的预设容量阈值;
判断所述信息占用容量是否大于对应的预设容量阈值;
当所述信息占用容量大于对应的预设容量阈值,确定所述属性值大于预先设置的属性阈值。
3.根据权利要求1所述的日志处理方法,其特征在于,所述属性值包括计时时长;
所述判断所述属性值是否大于预先设置的属性阈值,包括:
在获取到所述归类访问日志时开始计时,得到计时时长;
根据所述属性关键字获取每一类访问日志对应的预设阈值时长;
判断所述计时时长是否大于对应的预设阈值时长;
当所述计时时长大于对应的预设阈值时长时,确定所述属性值大于预先设置的属性阈值。
4.根据权利要求1所述的日志处理方法,其特征在于,所述方法还包括:
将本地存在且已经发送给所述HDFS的访问日志删除。
5.一种日志处理方法,其特征在于,包括:
获取用户的访问日志;
提取所述访问日志中的类别关键字;
根据所述类别关键字将所述访问日志进行归类,得到不同类型的归类访问日志;
将所述归类访问日志发送给预设终端。
6.根据权利要求5所述的日志处理方法,其特征在于,所述将所述归类访问日志发送给预设终端,包括:
利用服务器Webdis获取所述预设终端的接口;
通过所述接口将所述归类访问日志发送给所述预设终端。
7.一种日志处理装置,其特征在于,包括:
归类访问日志获取模块,用于获取预先分为不同类型的归类访问日志;
关键字确定模块,用于确定每一类归类访问日志对应的属性关键字;
属性值获取模块,用于根据所述属性关键字获取所述每一类访问日志对应的属性值;
阈值判断模块,用于判断所述属性值是否大于预先设置的属性阈值;
日志发送模块,用于在所述属性值大于预先设置的属性阈值时,将所述归类访问日志发送给分布式文件***HDFS。
8.根据权利要求7所述的日志处理装置,其特征在于,所述属性值包括信息占用容量;所述阈值判断模块,包括:
阈值获取子模块,用于根据所述属性关键字获取每一类访问日志对应的预设容量阈值;
阈值判断子模块,用于判断所述信息占用容量是否大于对应的预设容量阈值;
第一属性阈值确定子模块,用于在所述信息占用容量大于对应的预设容量阈值,确定所述属性值大于预先设置的属性阈值。
9.根据权利要求7所述的日志处理装置,其特征在于,所述属性值包括计时时长;所述阈值判断模块,包括:
计时子模块,用于在获取到所述归类访问日志时开始计时,得到计时时长;
阈值时长获取子模块,用于根据所述属性关键字获取每一类访问日志对应的预设阈值时长;
时长判断子模块,用于判断所述计时时长是否大于对应的预设阈值时长;
第二属性阈值确定子模块,用于在所述计时时长大于对应的预设阈值时长时,确定所述属性值大于预先设置的属性阈值。
10.根据权利要求7所述的日志处理装置,其特征在于,所述装置还包括:
日志删除模块,用于将本地存在且已经发送给所述HDFS的访问日志删除。
11.一种日志处理装置,其特征在于,包括:
访问日志获取模块,用于获取用户的访问日志;
关键字提取模块,用于提取所述访问日志中的类别关键字;
日志归类模块,用于根据所述类别关键字将所述访问日志进行归类,得到不同类型的归类访问日志;
归类日志发送模块,用于将所述归类访问日志发送给预设终端。
12.根据权利要求11所述的日志处理装置,其特征在于,所述归类日志发送模块,包括:
接口获取子模块,用于利用服务器Webdis获取所述预设终端的接口;
归类访问日志发送子模块,用于通过所述接口将所述归类访问日志发送给所述预设终端。
13.一种服务器,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取预先分为不同类型的归类访问日志;
确定每一类归类访问日志对应的属性关键字;
根据所述属性关键字获取所述每一类访问日志对应的属性值;
判断所述属性值是否大于预先设置的属性阈值;
当所述属性值大于预先设置的属性阈值时,将所述归类访问日志发送给分布式文件***HDFS。
14.一种服务器,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取用户的访问日志;
提取所述访问日志中的类别关键字;
根据所述类别关键字将所述访问日志进行归类,得到不同类型的归类访问日志;
将所述归类访问日志发送给预设终端。
CN201510848541.4A 2015-11-27 2015-11-27 日志处理方法、装置及服务器 Pending CN105515836A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510848541.4A CN105515836A (zh) 2015-11-27 2015-11-27 日志处理方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510848541.4A CN105515836A (zh) 2015-11-27 2015-11-27 日志处理方法、装置及服务器

Publications (1)

Publication Number Publication Date
CN105515836A true CN105515836A (zh) 2016-04-20

Family

ID=55723495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510848541.4A Pending CN105515836A (zh) 2015-11-27 2015-11-27 日志处理方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN105515836A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055609A (zh) * 2016-05-25 2016-10-26 北京小米移动软件有限公司 nginx日志监控方法、装置、消息分布***及信息处理的装置
CN106130807A (zh) * 2016-08-31 2016-11-16 百势软件(北京)有限公司 一种Nginx日志的提取和分析方法及装置
CN106341278A (zh) * 2016-10-28 2017-01-18 广州华多网络科技有限公司 日志上报方法、装置和终端设备
CN106775885A (zh) * 2016-12-26 2017-05-31 中国建设银行股份有限公司 一种日志输出控制方法和***及银行管理***
CN106878093A (zh) * 2017-03-31 2017-06-20 努比亚技术有限公司 一种无响应日志解析方法及终端
CN106878414A (zh) * 2017-02-14 2017-06-20 北京奇虎科技有限公司 数据写请求处理方法、装置及分布式数据存储***
CN107480190A (zh) * 2017-07-11 2017-12-15 国家计算机网络与信息安全管理中心 一种非人为访问日志的过滤方法及装置
CN107666499A (zh) * 2016-07-28 2018-02-06 北京京东尚科信息技术有限公司 用于服务器的信息存储方法和装置
WO2020102638A1 (en) * 2018-11-16 2020-05-22 Citrix Systems, Inc. Approach for a controllable trade-off between cost and availability of indexed data in a cloud log aggregation solution such as splunk or sumo
CN111538704A (zh) * 2020-03-26 2020-08-14 平安科技(深圳)有限公司 日志优化方法、装置、设备及可读存储介质
CN111913885A (zh) * 2020-08-07 2020-11-10 腾讯科技(深圳)有限公司 日志处理方法、装置、计算机可读存储介质及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1815451A (zh) * 2005-01-31 2006-08-09 华为技术有限公司 日志信息管理方法及***
CN102970158A (zh) * 2012-11-05 2013-03-13 广东睿江科技有限公司 日志存储与处理的方法及日志服务器
US20130086419A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation System and method for persisting transaction records in a transactional middleware machine environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1815451A (zh) * 2005-01-31 2006-08-09 华为技术有限公司 日志信息管理方法及***
US20130086419A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation System and method for persisting transaction records in a transactional middleware machine environment
CN102970158A (zh) * 2012-11-05 2013-03-13 广东睿江科技有限公司 日志存储与处理的方法及日志服务器

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106055609A (zh) * 2016-05-25 2016-10-26 北京小米移动软件有限公司 nginx日志监控方法、装置、消息分布***及信息处理的装置
CN106055609B (zh) * 2016-05-25 2019-08-06 北京小米移动软件有限公司 nginx日志监控方法、装置、消息分布***及信息处理的装置
CN107666499B (zh) * 2016-07-28 2021-01-26 北京京东尚科信息技术有限公司 用于服务器的信息存储方法和装置
CN107666499A (zh) * 2016-07-28 2018-02-06 北京京东尚科信息技术有限公司 用于服务器的信息存储方法和装置
CN106130807A (zh) * 2016-08-31 2016-11-16 百势软件(北京)有限公司 一种Nginx日志的提取和分析方法及装置
CN106341278A (zh) * 2016-10-28 2017-01-18 广州华多网络科技有限公司 日志上报方法、装置和终端设备
CN106775885A (zh) * 2016-12-26 2017-05-31 中国建设银行股份有限公司 一种日志输出控制方法和***及银行管理***
CN106775885B (zh) * 2016-12-26 2020-09-29 中国建设银行股份有限公司 一种日志输出控制方法和***及银行管理***
CN106878414B (zh) * 2017-02-14 2019-06-07 北京奇虎科技有限公司 数据写请求处理方法、装置及分布式数据存储***
CN106878414A (zh) * 2017-02-14 2017-06-20 北京奇虎科技有限公司 数据写请求处理方法、装置及分布式数据存储***
CN106878093A (zh) * 2017-03-31 2017-06-20 努比亚技术有限公司 一种无响应日志解析方法及终端
CN107480190A (zh) * 2017-07-11 2017-12-15 国家计算机网络与信息安全管理中心 一种非人为访问日志的过滤方法及装置
WO2020102638A1 (en) * 2018-11-16 2020-05-22 Citrix Systems, Inc. Approach for a controllable trade-off between cost and availability of indexed data in a cloud log aggregation solution such as splunk or sumo
US11429566B2 (en) 2018-11-16 2022-08-30 Citrix Systems, Inc. Approach for a controllable trade-off between cost and availability of indexed data in a cloud log aggregation solution such as splunk or sumo
CN111538704A (zh) * 2020-03-26 2020-08-14 平安科技(深圳)有限公司 日志优化方法、装置、设备及可读存储介质
CN111538704B (zh) * 2020-03-26 2023-09-15 平安科技(深圳)有限公司 日志优化方法、装置、设备及可读存储介质
CN111913885A (zh) * 2020-08-07 2020-11-10 腾讯科技(深圳)有限公司 日志处理方法、装置、计算机可读存储介质及设备

Similar Documents

Publication Publication Date Title
CN105515836A (zh) 日志处理方法、装置及服务器
Johanson et al. Big automotive data: Leveraging large volumes of data for knowledge-driven product development
CN110362544B (zh) 日志处理***、日志处理方法、终端及存储介质
US9590880B2 (en) Dynamic collection analysis and reporting of telemetry data
CN103530292B (zh) 网页显示方法和装置
CN113360554B (zh) 一种数据抽取、转换和加载etl的方法和设备
JP2015508543A (ja) 店舗訪問データを処理すること
CN104778208A (zh) 一种搜索引擎 seo 网站数据的优化抓取方法及***
CN105468737A (zh) 一种网络服务大数据分析方法、云计算平台及挖掘***
CN102955802B (zh) 从数据报表中获取数据的方法和装置
CN113221535B (zh) 情报处理方法、装置、计算机设备和存储介质
WO2016007178A1 (en) System and method for providing contextual analytics data
CN115335821B (zh) 卸载统计收集
CN111782692A (zh) 一种频率控制方法及装置
US20220036154A1 (en) Unsupervised multi-dimensional computer-generated log data anomaly detection
CN109213824B (zh) 数据抓取***、方法和装置
CN111159135A (zh) 数据处理方法、装置、电子设备及存储介质
CN103605770A (zh) 网页模板生成方法和服务器
CN117131059A (zh) 报表数据处理方法、装置、设备及存储介质
Eltahir et al. Extracting knowledge from web server logs using web usage mining
CN112506887A (zh) 车辆终端can总线数据处理方法及装置
CN112000866A (zh) 互联网数据分析方法、装置、电子装置及介质
Dewangan et al. A distributed framework for event log analysis using MapReduce
CN104572945B (zh) 一种基于云存储空间的文件搜索方法和装置
Yang et al. Incorporating site-level knowledge for incremental crawling of web forums: A list-wise strategy

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160420