一种日志文件的处理方法及相关装置与流程

文档序号:18884654发布日期:2019-10-15 20:42阅读:241来源:国知局
一种日志文件的处理方法及相关装置与流程

本申请涉及计算机技术领域,具体涉及一种日志文件的处理方法及相关装置。



背景技术:

在互联网应用中,通常多个客户端对应一个服务器,多个客户端的操作信息以日志文件的方式保存在服务器中,当客户端遇到问题时,通过查询日志文件可以方便定位产生问题的原因,目前日志文件的生成规则是基于日期生成的日志文件,每天的所有的日志都会记录到一个文件中,随着业务量的攀升,日志成几何指数增加,单个日志文件越来越大,由于日志文件太大,在查看及搜索日志文件时会比较慢,严重影响了测试及生产环境定位问题的效率,而且受服务器磁盘空间所限,日志文件需要定时清理,单个大文件的删除速度慢,也不便恢复。



技术实现要素:

本申请实施例提供了一种日志文件的处理方法及相关装置,能够提高日志文件查询和处理速度。

第一方面,本申请实施例提供了一种日志文件的处理方法,所述方法应用于服务器,所述方法包括如下步骤。

所述服务器在一天之内创建n个日志文件,并将所述n个日志文件保存在存储器中,日志文件i用于保存能够与所述服务器通讯的m个客户端在所述日志文件i对应的时间区间内的操作信息;所述n为大于1的整数,所述m为大于1的整数,所述日志文件i为所述n个日志文件中的任一日志文件;

所述服务器获取所述m个客户端的操作信息、以及获取任一操作信息的获取时刻,客户端j的操作信息由操作所述客户端j的用户触发生成,所述客户端j为所述m个客户端中的任一客户端;

所述服务器将所述m个客户端的操作信息保存到与所述操作信息获取时刻对应的日志文件中。

实施本申请实施例,服务器在一天之内创建多个日志文件,任一日志文件保存与服务器进行通讯的多个客户端的操作信息,这种日志文件的处理方法,由于每个日志文件分别对应一个时间段,结合时间点进行查询时,可以较快地查找到目标日志文件。另外由于单个日志文件较小,有利于较快地对查找到的日志文件进行处理。

在本申请一些可能的实施方式中,所述服务器在一天之内创建n个日志文件,包括:

所述服务器每天创建n个日志文件,所述n个日志文件分别对应一天之内的(24/n)小时,每个所述日志文件用于保存其对应的时间区间内所述m个客户端的操作信息。在一些可能的实施例中,服务器可以每天零点时刻创建24个日志文,每个日志文件保存多个客户端在日志文件对应时间区间产生的操作信息。

在本申请一些可能的实施方式中,所述服务器在一天之内创建n个日志文件,包括:

所述服务器在任一预设时间点((24/n)*p-(24/n))创建一个日志文件,所述日志文件用于保存所述任一预设时间点到下一预设时间点之间任一客户端生成的操作信息,p为整数,且1≤p≤n。

在本申请一些可能的实施方式中,所述方法还包括:

所述服务器获取日志查询请求,所述日志查询请求中包括用于定位日志文件的时间信息;

所述服务器根据所述日志查询请求确定与所述时间信息匹配的日志文件。

本申请实施例提供了一种多个日志文件的查询方法,当服务器获取日志查询请求后,服务器根据日志查询请求中的时间信息确定与时间信息匹配的日志文件。可以理解的,在日志查询请求中包括时间信息,所示时间信息用于定位查询的日志文件。

在本申请一些可能的实施方式中,若所述m个客户端的操作信息中包括指定的敏感信息,所述服务器获取日志查询请求信息、以及确定了与所述时间信息匹配的日志文件后,所述方法还包括:

所述服务器将与所述时间信息匹配的日志文件中的敏感信息用预设的字符替换并反馈给查询客户端。

本申请实施例对日志文件进行查询时,若日志文件中包括敏感信息的情况进行了限定,服务器将与查询请求匹配的日志文件中的敏感信息用预设的字符替换。

在本申请一些可能的实施方式中,所述方法还包括:

所述服务器获取触发所述日志查询请求的用户的权限等级,不同权限等级的用户在查看日志文件时,所述指定的敏感信息对应的预设的字符不同。

本申请实施例对日志文件进行查询时,对用户的不同权限进行了限定,不同权限等级的用户在查看日志文件时,指定的敏感信息对应的预设的字符不同。

在本申请一些可能的实施方式中,所述方法还包括:

所述服务器获取所述用户触发的提升查询权限等级的请求;

若所述提升查询权限等级的请求验证通过,则所述服务器将与所述时间信息匹配的日志文件中的所述敏感信息以与升级后的权限对应的字符进行显示。

本申请实施例对提升查询权限进行了限定,具体地,若提升查询权限等级的请求验证通过后,服务器将与时间信息匹配的日志文件中敏感信息以升级后的权限对应的字符进行显示。

在本申请一些可能的实施方式中,所述方法还包括:

所述服务器获取所述存储器中剩余存储容量的信息;

所述服务器在所述存储器中的剩余存储容量小于预设值时删除所述存储器中最早创建的k个日志文件,所述k为大于1或者等于1的整数。

本申请实施例对日志文件的删除进行了限定,具体地,存储器中的剩余存储容量小于预设值时删除存储器中最早创建的一个或者多个日志文件。

第二方面,本申请实施例提供了一种日志文件处理装置,应用于服务器,所述装置包括:

处理单元,用于在一天之内创建n个日志文件,并将所述n个日志文件保存在存储器中,日志文件i用于保存能够与所述服务器通讯的m个客户端在所述日志文件i对应的时间区间内的操作信息;所述n为大于1的整数,所述m为大于1的整数,所述日志文件i为所述n个日志文件中的任一日志文件;

获取单元,用于获取所述m个客户端的操作信息、以及获取任一操作信息的获取时刻,客户端j的操作信息由操作所述客户端j的用户触发生成,所述客户端j为所述m个客户端中的任一客户端;

保存单元,用于将所述获取单元获取的所述m个客户端的操作信息保存到与所述操作信息获取时刻对应的日志文件中。

实施本申请实施例,服务器在一天之内创建多个日志文件,任一日志文件保存与服务器进行通讯的多个客户端的操作信息,这种日志文件的处理方法,由于每个日志文件分别对应一个时间段,结合时间点进行查询时,可以较快地查找到目标日志文件。另外由于单个日志文件较小,有利于较快地对查找到的日志文件进行处理

在本申请一些可能的实施方式中,所述处理单元在一天之内创建n个日志文件方面,具体用于每天创建n个日志文件,所述n个日志文件分别对应一天之内的(24/n)小时,每个所述日志文件用于保存其对应的时间区间内所述m个客户端的操作信息。在一些可能的实施例中,n可以为24,处理器可以每天零点时刻创建24个日志文。所述24个日志文件分别对应一天之内的一个小时,每个所述日志文件用于保存其对应的时间区间内所述m个客户端的操作信息。

在本申请一些可能的实施方式中,所述处理单元在一天之内创建n个日志文件方面,具有用于在任一预设时间点((24/n)*p-(24/n))创建一个日志文件,所述日志文件用于保存所述任一预设时间点到下一预设时间点之间任一客户端生成的操作信息,p为整数,且1≤p≤n。

在本申请一些可能的实施方式中,

所述获取单元还用于,获取日志查询请求信息,所述日志查询请求中包括用于定位日志文件的时间信息;

所述处理单元还用于,根据所述获取单元获取的所述日志查询请求信息确定与所述时间信息匹配的日志文件。

本申请实施例提供了一种多个日志文件的查询方法,当服务器获取日志查询请求后,服务器根据日志查询请求中的时间信息确定与时间信息匹配的日志文件。

在本申请一些可能的实施方式中,所述处理单元还用于,若所述m个客户端的操作信息中包括指定的敏感信息,所述服务器获取日志查询请求信息、以及确定了与所述时间信息匹配的日志文件后,将与所述时间信息匹配的日志文件中的敏感信息用预设的字符替换并反馈给查询客户端。

本申请实施例对日志文件进行查询时,若日志文件中包括敏感信息的情况进行了限定,服务器将与查询请求匹配的日志文件中的敏感信息用预设的字符替换。

在本申请一些可能的实施方式中,所述获取单元还用于,获取触发所述日志查询请求的用户的权限等级,不同权限等级的用户在查看日志文件时,所述指定的敏感信息对应的预设的字符不同。

本申请实施例对日志文件进行查询时,对用户的不同权限进行了限定,不同权限等级的用户在查看日志文件时,指定的敏感信息对应的预设的字符不同。

在本申请一些可能的实施方式中,所述获取单元还用于,获取所述用户触发的提升查询权限等级的请求;

所述处理单元还用于,若所述提升查询权限等级的请求验证通过,则所述敏感信息以与升级后的权限对应的字符进行显示。

本申请实施例对提升查询权限进行了限定,具体地,若提升查询权限等级的请求验证通过后,服务器将与时间信息匹配的日志文件中敏感信息以升级后的权限对应的字符进行显示。

在本申请一些可能的实施方式中,所述处理单元还用于,获取所述存储器中剩余存储容量的信息;

所述装置还包括:删除单元,

所述删除单元,用于在所述存储器中的剩余存储容量小于预设值时删除所述存储器中最早创建的k个日志文件,所述k为大于1或者等于1的整数。

本申请实施例对日志文件的删除进行了限定,具体地,存储器中的剩余存储容量小于预设值时删除存储器中最早创建的一个或者多个日志文件。

第三方面,本申请实施例提供了一种终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行第一方面或者第一方面任一可能的实施方式所述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行第一方面或者第一方面任一可能的实施方式所述的方法。

附图说明

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

图1为本申请实施例提供的一种日志文件的处理方法对应的系统架构示意图。

图2a为本申请实施例提供的一种日志文件的处理方法的流程示意图。

图2b为本申请另一实施例提供的一种日志文件的处理方法的流程示意图。

图2c为本申请另一实施例提供的一种日志文件的处理方法的流程示意图。

图2d为本申请另一实施例提供的一种日志文件的处理方法的流程示意图。

图3a为本申请实施例提供的一种日志文件的处理装置的结构示意图。

图3b为本申请另一实施例提供的一种日志文件的处理装置的结构示意图。

图4为本申请实施例提供的一种终端的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。

本申请实施例所涉及到的服务器可以是具有通信和处理功能的台式机、服务器等设备。客户端可以是手机、平板、笔记本等终端设备,客户端上安装了客户端软件,服务器等设备上安装服务器软件,在服务器的日志中记录客户端的操作,现有技术中,将用户对客户端的操作进行记录时,采用的方法是每天生成一个日志记录当天客户端的操作信息,这样操作日志文件比较大,对日志文件中的内容进行搜索或者对日志文件进行处理所需时间都比较长。本申请提供的技术方案,一天中设置多个日志文件。

为了更好的理解本申请实施例,下面首先对本申请实施例提供的一种日志文件的处理方法进行简要介绍。

请参阅图1所示,在实施日志文件的处理方法时,涉及服务器101和多个客户端102。如图2a所示,一种日志文件的处理方法,应用于服务器,所述方法包括如下步骤:

s201、服务器在一天之内创建n个日志文件,并将所述n个日志文件保存在存储器中,日志文件i用于保存能够与所述服务器通讯的m个客户端在所述日志文件i对应的时间区间内的操作信息;所述n为大于1的整数,所述m为大于1的整数,所述日志文件i为所述n个日志文件中的任一日志文件。

在一些可能的实施方式中,服务器在一天之内创建n个日志文件,包括:服务器每天创建n个日志文件,所述n个日志文件分别对应一天之内的(24/n)小时,每个所述日志文件用于保存其对应的时间区间内所述m个客户端的操作信息。举例来说,n可以为24,服务器在每天零点创建24个日志文件,所述24个日志文件分别对应一天之内的一个小时,每个所述日志文件用于保存其对应的时间区间内所述m个客户端的操作信息。

比如在每天零点的时候创建24个日志文件,一个日志文件用于保存指定的一个小时时长内的日志信息,日志信息包括是服务器获取的用户在客户端的操作信息。比如,第一个日志文件用于保存0点到1点的日志信息,第二个日志文件用于保存1点到2点的日志信息,第三个日志文件用于保存2点到3点的日志信息。

服务器获取客户端的操作触发的操作信息,若获取操作信息的时间是9点10分,则可以将操作信息保存到第十个日志文件。比如用户通过客户端获取用户的登录进行,则服务器记录用户输入的用户名和登录密码等信息。

需要说明的是,日志文件也可以是服务器在预设时间点触发生成的日志文件,比如,服务器在任一预设时间点((24/n)*p-(24/n))创建一个日志文件,p为整数,且1≤p≤n,以n为24为例,整点触发生成的日志文件。比如10点时生成第十一个日志,15点整时触发第十六个日志。比如,13点15分的操作保存在第十四个日志中。

比如用户通过客户端获取用户的登录进行,则服务器记录用户输入的用户名和登录密码等信息。

在一些可能的实施方式中,服务器在一天之内创建n个日志文件,包括:

所述服务器在任一预设时间点创建一个日志文件,所述日志文件用于保存所述任一预设时间点到下一预设时间点之间任一客户端生成的操作信息。比如,可以预先设置创建日志文件的时刻,具体地可以感觉访问量来确定创建日志文件的时刻,业务访问量大时,创建日志文件的时间间隔较短,业务访问量小时,创建日志文件的时间间隔较长,比如,通过统计若得到9点到11点业务访问量超过阈值,则可以每半小时创建一个日志文件,比如分别在9点、9点半、10点、10点半创建日志文件,其余时间段每隔一小时创建一个日志文件。

s202、所述服务器获取所述m个客户端的操作信息、以及获取任一操作信息的获取时刻,客户端j的操作信息由操作所述客户端j的用户触发生成,所述客户端j为所述m个客户端中的任一客户端。

s203、所述服务器将所述m个客户端的操作信息保存到与所述操作信息获取时刻对应的日志文件中。

由于单个日志文件较小,在搜索日志查询问题时,搜索速度快很多,增加了解决问题的效率,而且当清理日志文件时,小文件清理的速度比清理单个特大文件的速度快很多。

如图2b所示,一种日志文件的处理方法,应用于服务器,所述方法包括如下步骤:

s201、服务器在一天之内创建n个日志文件,并将所述n个日志文件保存在存储器中,日志文件i用于保存能够与所述服务器通讯的m个客户端在所述日志文件i对应的时间区间内的操作信息;所述n为大于1的整数,所述m为大于1的整数,所述日志文件i为所述n个日志文件中的任一日志文件。

在一些可能的实施方式中,服务器在一天之内创建n个日志文件,包括:

服务器在每天零点创建24个日志文件,所述24个日志文件分别对应一天之内的一个小时,每个所述日志文件用于保存其对应的时间区间内所述m个客户端的操作信息。

比如在每天零点的时候创建24个日志文件,一个日志文件用于保存指定的一个小时时长内的日志信息,日志信息包括是服务器获取的用户在客户端的操作信息。比如,第一个日志文件用于保存0点到1点的日志信息,第二个日志文件用于保存1点到2点的日志信息,第三个日志文件用于保存2点到3点的日志信息。

服务器获取客户端的操作触发的操作信息,若获取操作信息的时间是9点10分,则可以将操作信息保存到第九个日志文件。比如用户通过客户端获取用户的登录进行,则服务器记录用户输入的用户名和登录密码等信息。

需要说明的是,日志文件也可以是服务器整点触发生成的日志文件。比如10点时生成第十一个日志,15点整时触发第十六个日志。比如,13点15分的操作保存在第十四个日志中。

比如用户通过客户端获取用户的登录进行,则服务器记录用户输入的用户名和登录密码等信息。

在一些可能的实施方式中,服务器在一天之内创建n个日志文件,包括:

所述服务器在任一预设时间点创建一个日志文件,所述日志文件用于保存所述任一预设时间点到下一预设时间点之间任一客户端生成的操作信息。

s202、所述服务器获取所述m个客户端的操作信息、以及获取任一操作信息的获取时刻,客户端j的操作信息由操作所述客户端j的用户触发生成,所述客户端j为所述m个客户端中的任一客户端。

s203、所述服务器将所述m个客户端的操作信息保存到与所述操作信息获取时刻对应的日志文件中。

s204、所述服务器获取日志查询请求,所述日志查询请求中包括用于定位日志文件的时间信息。

在一些可能的实施方式中,服务器还可以获取删除日志的请求,根据删除日志的请求,服务器可以对保存在存储器中的日志文件进行删除。

s205、所述服务器根据所述日志查询请求确定与所述时间信息匹配的日志文件。

为了提高系统的安全性,防止信息泄露,在一些可能实施方式中,若所述m个客户端的操作信息中包括指定的敏感信息,所述服务器获取日志查询请求信息、以及确定了与所述时间信息匹配的日志文件后,所述方法还包括:

所述服务器将与所述时间信息匹配的日志文件中的敏感信息用预设的字符替换并反馈给查询客户端。比如当打开包括用户名和用户登录密码的日志时,显示的日志中,用户的登录密码可以以预设的********来替换用户名显示出来。

为了提高安全性,可以为不同等级的用户设置不同的查询权限,不同等级的用户在查询日志文件时,指定的敏感信息对不同等级的用户显示出的结果可以不同。比如可以设置用户的等级包括a\b\c三个级别。用户可以查询某个时间段对应的日志文件,比如可以查询2018年12月1日9点到10点的日志。不同等级的用户查询日志文件时显示内容可以有区别,比如,等级为a的用户查询日志文件时,被查询的用户的姓名、身份证号码、登录密码都以****显示。等级为b的用户查询日志文件时,被查询的用户的姓名显示姓不显示名字,身份证号码只显示最后两位,登录密码以****显示。等级为c的用户查询日志文件时,被查询的用户的姓名\身份证号码\登录密码可以都显示出来。

由于单个日志文件较小,查询日志文件时,搜索速度快很多,提高了解决问题的效率,通过为不同等级的用户设置不同的查询权限,提高系统的安全性。

如图2c所示,一种日志文件的处理方法,应用于服务器,所述方法包括如下步骤:

s201、服务器在一天之内创建n个日志文件,并将所述n个日志文件保存在存储器中,日志文件i用于保存能够与所述服务器通讯的m个客户端在所述日志文件i对应的时间区间内的操作信息;所述n为大于1的整数,所述m为大于1的整数,所述日志文件i为所述n个日志文件中的任一日志文件。

在一些可能的实施方式中,服务器在一天之内创建n个日志文件,包括:

服务器在每天零点创建24个日志文件,所述24个日志文件分别对应一天之内的一个小时,每个所述日志文件用于保存其对应的时间区间内所述m个客户端的操作信息。

比如在每天零点的时候创建24个日志文件,一个日志文件用于保存指定的一个小时时长内的日志信息,日志信息包括是服务器获取的用户在客户端的操作信息。比如,第一个日志文件用于保存0点到1点的日志信息,第二个日志文件用于保存1点到2点的日志信息,第三个日志文件用于保存2点到3点的日志信息。

服务器获取客户端的操作触发的操作信息,若获取操作信息的时间是9点10分,则可以将操作信息保存到第九个日志文件。比如用户通过客户端获取用户的登录进行,则服务器记录用户输入的用户名和登录密码等信息。

需要说明的是,日志文件也可以是服务器整点触发生成的日志文件。比如10点时生成第十一个日志,15点整时触发第十六个日志。比如,13点15分的操作保存在第十四个日志中。

比如用户通过客户端获取用户的登录信息,则服务器记录用户输入的用户名和登录密码等信息。

在一些可能的实施方式中,服务器在一天之内创建n个日志文件,包括:

所述服务器在任一预设时间点创建一个日志文件,所述日志文件用于保存所述任一预设时间点到下一预设时间点之间任一客户端生成的操作信息。

s202、所述服务器获取所述m个客户端的操作信息、以及获取任一操作信息的获取时刻,客户端j的操作信息由操作所述客户端j的用户触发生成,所述客户端j为所述m个客户端中的任一客户端。

s203、所述服务器将所述m个客户端的操作信息保存到与所述操作信息获取时刻对应的日志文件中。

s204、所述服务器获取日志查询请求,所述日志查询请求中包括用于定位日志文件的时间信息。

在一些可能的实施方式中,服务器还可以获取删除日志的请求,根据删除日志的请求,服务器可以对保存在存储器中的日志文件进行删除。

在一些可能的实施方式中,服务器还可以获取触发所述日志查询请求的用户的权限等级,不同权限等级的用户在查看日志文件时,所述指定的敏感信息对应的预设的字符不同。

需要说明的是,本申请实施例提供的日志文件可以实时被访问。

日志内容实时记录在日志文件中,日志文件保存在linux服务器中,登陆linux服务器可以实时访问日志文件,具体实施时,可以通过不同的命令实时查看文件。比如,linux服务器下可以使用tail命令,可以实时查看日志,tail命令从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail-ffilename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,可以看到最新的文件内容。在查看日志文件是,可以通过设定不同的参数,查看不同的内容,举例如下:

tail-n5log2014.log查看文件最后5行内容

tail-ftest.log查看文件最尾部的内容,并不断刷新,用ctrl+c来终止查看

tail-n+5log2014.log从第5行开始显示文件

linux下使用cat命令,是查看整个文件。

catfilename查看整个文件

cat文件|grep关键字,通过grep命令根据关键字搜索整个文件

s205、所述服务器根据所述日志查询请求确定与所述时间信息匹配的日志文件。

在一些可能的实施方式中,作为改进,用户查询日志后,若显示的内容不能满足其需求,其可以触发提升权限等级的请求,比如当前用户的等级时a,在查询日志时被查询的用户的名称、身份证号码、登录密码都以****显示,不能满足用户的查询需求,这时可以触发提升权限等级的请求,比如用户可以触发预设的提升权限等级按键,然后弹出提升权限等级验证窗口,若验证通过则可以提升到与验证通过等级对应的级别,比如用户的等级有a级提升到b级。

s206、所述服务器获取所述用户触发的提升查询权限等级的请求。

s207、若所述提升查询权限等级的请求验证通过,则所述服务器将与所述时间信息匹配的日志文件中的所述敏感信息以与升级后的权限对应的字符进行显示。

由于单个日志文件较小,查询日志文件时,搜索速度快很多,提高了解决问题的效率,用户可以通过触发提升查询权限等级的请求,提升查询的权限。。

该方案在一天之内生成多个日志文件,比如按小时生成日志文件,文件名以当前日期及当前时间为结尾,这样相当于把每天的单个的大文件拆分成24个文件,查询日志时只需要根据日志产生的时间搜索响应的日志。由于每个日志文件只记录了1个小时范围内的日志,文件大小减小了很多,大大增加了日志搜索的效率,在清理日志文件时清理多个小文件的速度也会比清理单个特大文件的速度快很多。

请参阅图2d所示,在实施日志文件的处理方法时,涉及服务器101和多个客户端102。如图2d所示,一种日志文件的处理方法,应用于服务器,所述方法包括如下步骤:

s201、服务器在一天之内创建n个日志文件,并将所述n个日志文件保存在存储器中,日志文件i用于保存能够与所述服务器通讯的m个客户端在所述日志文件i对应的时间区间内的操作信息;所述n为大于1的整数,所述m为大于1的整数,所述日志文件i为所述n个日志文件中的任一日志文件。

在一些可能的实施方式中,服务器在一天之内创建n个日志文件,包括:服务器在每天零点创建24个日志文件,所述24个日志文件分别对应一天之内的一个小时,每个所述日志文件用于保存其对应的时间区间内所述m个客户端的操作信息。

比如在每天零点的时候创建24个日志文件,一个日志文件用于保存指定的一个小时时长内的日志信息,日志信息包括是服务器获取的用户在客户端的操作信息。比如,第一个日志文件用于保存0点到1点的日志信息,第二个日志文件用于保存1点到2点的日志信息,第三个日志文件用于保存2点到3点的日志信息。

服务器获取客户端的操作触发的操作信息,若获取操作信息的时间是9点10分,则可以将操作信息保存到第十个日志文件。比如用户通过客户端获取用户的登录进行,则服务器记录用户输入的用户名和登录密码等信息。

需要说明的是,日志文件也可以是服务器整点触发生成的日志文件。比如10点时生成第十一个日志,15点整时触发第十六个日志。比如,13点15分的操作保存在第十四个日志中。

比如用户通过客户端获取用户的登录进行,则服务器记录用户输入的用户名和登录密码等信息。

在一些可能的实施方式中,服务器在一天之内创建n个日志文件,包括:

所述服务器在任一预设时间点创建一个日志文件,所述日志文件用于保存所述任一预设时间点到下一预设时间点之间任一客户端生成的操作信息。比如,可以预先设置创建日志文件的时刻,具体地可以感觉访问量来确定创建日志文件的时刻,业务访问量大时,创建日志文件的时间间隔较短,业务访问量小时,创建日志文件的时间间隔较长,比如,通过统计若得到9点到11点业务访问量超过阈值,则可以每半小时创建一个日志文件,比如分别在9点、9点半、10点、10点半创建日志文件,其余时间段每隔一小时创建一个日志文件。

s202、所述服务器获取所述m个客户端的操作信息、以及获取任一操作信息的获取时刻,客户端j的操作信息由操作所述客户端j的用户触发生成,所述客户端j为所述m个客户端中的任一客户端。

s203、所述服务器将所述m个客户端的操作信息保存到与所述操作信息获取时刻对应的日志文件中。

s204、所述服务器获取所述存储器中剩余存储容量的信息;

s205、所述服务器在所述存储器中的剩余存储容量小于预设值时删除所述存储器中最早创建的k个日志文件,所述k为大于1或者等于1的整数。

由于单个日志文件较小,当清理日志文件时,小文件清理的速度比清理单个特大文件的速度快很多,而且通过删除存储器中较早创建的一个或者多个日志文件,可以保证后续的日志文件有足够的存储空间。

可以理解的,对存储空间中日志文件的删除不限于上述方法,还可以每天定时清理日志文件,比如可以设置每天0点10分清理七天之前的日志。具体实施时可以在linux下通过编写shell脚本,设置cron调度执行,来实现日志定时清理。依次执行如下三个步骤:

s1、创建shell脚本并分配可运行权限,比如可编写如下代码:touch/opt/soft/bin/auto-del-30-days-ago-log.sh,chmod+xauto-del-30-days-ago-log.sh。

s2、编辑shell脚本,并保存。可以编写如下代码:viauto-del-30-days-ago-log.sh,#!/bin/sh。

s3、计划任务。可以编写如下代码:#crontab–e,100***/opt/soft/log/auto-del-7-days-ago-log.sh,这里的设置是每天凌晨0点10分执行auto-del-7-days-ago-log.sh文件进行数据清理任务了。

完成以上三步,可以实现定时清理日志文件,再也不会受到服务器硬盘空间不足的报警信息了

请参阅图3a,图3a为本申请实施例提供的一种日志文件处理装置,应用于服务器,日志文件处理装置300包括:

处理单元301,用于在一天之内创建n个日志文件,并将所述n个日志文件保存在存储器中,日志文件i用于保存能够与所述服务器通讯的m个客户端在所述日志文件i对应的时间区间内的操作信息;所述n为大于1的整数,所述m为大于1的整数,所述日志文件i为所述n个日志文件中的任一日志文件。

在一些可能的实施方式中,服务器在一天之内创建n个日志文件,包括:服务器每天创建n个日志文件,n个日志文件分别对应一天之内的(24/n)小时,比如,服务器可以在每天零点创建24个日志文件,所述24个日志文件分别对应一天之内的一个小时,每个所述日志文件用于保存其对应的时间区间内所述m个客户端的操作信息。

比如在每天零点的时候创建24个日志文件,一个日志文件用于保存指定的一个小时时长内的日志信息,日志信息包括是服务器获取的用户在客户端的操作信息。比如,第一个日志文件用于保存0点到1点的日志信息,第二个日志文件用于保存1点到2点的日志信息,第三个日志文件用于保存2点到3点的日志信息。

在另一些实施例中,服务器可以在任一预设时间点((24/n)*p-(24/n))创建一个日志文件,日志文件用于保存所述任一预设时间点到下一预设时间点之间任一客户端生成的操作信息,p为整数,且1≤p≤n。

获取单元302,用于获取所述m个客户端的操作信息、以及获取任一操作信息的获取时刻,客户端j的操作信息由操作所述客户端j的用户触发生成,所述客户端j为所述m个客户端中的任一客户端。

保存单元303,用于将所述获取单元获取的所述m个客户端的操作信息保存到与所述操作信息获取时刻对应的日志文件中。

由于单个日志文件较小,在搜索日志查询问题时,搜索速度快很多,增加了解决问题的效率,而且当清理日志文件时,小文件清理的速度比清理单个特大文件的速度快很多。

在一些可能的实施方式中,处理单元在一天之内创建n个日志文件方面,具有用于在任一预设时间点创建一个日志文件,所述日志文件用于保存所述任一预设时间点到下一预设时间点之间任一客户端生成的操作信息。比如,可以预先设置创建日志文件的时刻,具体地可以感觉访问量来确定创建日志文件的时刻,业务访问量大时,创建日志文件的时间间隔较短,业务访问量小时,创建日志文件的时间间隔较长,比如,通过统计若得到9点到11点业务访问量超过阈值,则可以每半小时创建一个日志文件,比如分别在9点、9点半、10点、10点半创建日志文件,其余时间段每隔一小时创建一个日志文件。

在一些可能的实施方式中,获取单元302还用于,获取日志查询请求信息,所述日志查询请求中包括用于定位日志文件的时间信息;

处理单元301还用于,根据所述获取单元获取的所述日志查询请求信息确定与所述时间信息匹配的日志文件。

在一些可能的实施方式中,处理单元301还用于,若所述m个客户端的操作信息中包括指定的敏感信息,所述服务器获取日志查询请求信息、以及确定了与所述时间信息匹配的日志文件后,将与所述时间信息匹配的日志文件中的敏感信息用预设的字符替换并反馈给查询客户端。

在一些可能的实施方式中,获取单元302还用于,获取触发所述日志查询请求的用户的权限等级,不同权限等级的用户在查看日志文件时,所述指定的敏感信息对应的预设的字符不同。

在一些可能的实施方式中,获取单元302还用于,获取所述用户触发的提升查询权限等级的请求;处理单元301还用于,若所述提升查询权限等级的请求验证通过,则所述敏感信息以与升级后的权限对应的字符进行显示。

在一些可能的实施方式中,如图3b所示,日志文件处理单元300还包括删除单元304。处理单元301还用于,获取所述存储器中剩余存储容量的信息;删除单元304,用于在所述存储器中的剩余存储容量小于预设值时删除所述存储器中最早创建的k个日志文件,所述k为大于1或者等于1的整数。

本申请实施例还提供了一种终端,如图4所示,终端400作为服务器,可以包括:处理器401、输入设备402、输出设备403和存储器404,处理器401、输入设备402、输出设备403和存储器404相互连接,具体地,通过总线405耦合连接,其中,存储器404用于存储计算机程序,计算机程序包括程序指令,处理器被配置用于调用所述程序指令,执行任一方法实施例所述的日志文件的处理方法。

本申请实施例还提供了一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种日志文件的处理方法的部分或全部步骤。

本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种日志文件的处理方法的部分或全部步骤。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

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

所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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