日志缩减方法、装置、计算机设备和计算机可读存储介质与流程

文档序号:31639775发布日期:2022-09-24 07:36阅读:74来源:国知局
日志缩减方法、装置、计算机设备和计算机可读存储介质与流程

1.本发明涉及日志文件处理技术领域,尤其涉及一种日志缩减方法、装置、计算机设备和计算机可读存储介质。


背景技术:

2.随着互联网的高速发展,信息数据增速明显,需要存储的数据规模越来越大,因此也会产生大量的日志信息需要记录,而这些记录大多都是重复的。特别是在金融行业,每天都会产生上亿条日志信息量,以几十个g的速度增长。常规的日志记录系统都是将所有的日志信息进行记录,毫不改动的存储到日志表和服务器中,这样会造成大量的数据冗余,大量的日志信息很快就会把服务器的磁盘空间堆满,从而导致系统运行速度和服务器访问速度减慢,也会导致数据库因日志文件太多而造成写数据慢的情况。同时,也需要技术人员频繁的对日志进行清除和归档,导致无法实时查询历史日志。
3.目前,为了解决服务器不会出现因为磁盘空间被日志信息完全占用而导致系统运行异常的问题,通常采用降低日志写入标准的方式,但是这会造成后期相关技术人员查看日志文件时信息丢失严重,严重影响日志信息的完整性和精确性。


技术实现要素:

4.有鉴于此,本发明的目的是为了克服现有技术中的不足,提供一种日志缩减方法、装置、计算机设备和计算机可读存储介质,解决当前因日志量过多而导致服务器访问速度慢的问题。
5.本公开实施例提供了一种日志缩减方法、装置、计算机设备和计算机可读存储介质。
6.第一方面,本公开实施例中提供了一种日志缩减方法,应用于服务器,所述方法包括:
7.按照预设的类别模型结合预设的计算统计公式,实时统计接收到的客户端发送的查询类请求的数量;
8.基于所述查询类请求,产生对应的入参请求报文和响应报文,将所述响应报文发送至所述客户端;
9.当所述查询类请求的数量在预设时间范围内达到对应的预设访问量阈值时,则执行预设操作,其中,所述预设操作包括将所述查询类请求对应的入参请求报文存储至日志表且不存储所述响应报文。
10.进一步地,所述方法还包括:
11.将预设间隔时间阈值内的查询类请求存储至服务器日志;
12.将超过预设间隔时间阈值的查询类请求对应的入参请求报文存储至所述日志表。
13.进一步地,所述方法还包括:
14.当所述入参请求报文的大小达到预设阈值时,将所述入参请求报文压缩后存储至
所述日志表。
15.进一步地,所述方法还包括:
16.将所述入参请求报文中的内容与预设的无效字段对比;
17.若存在与预设的无效字段相同的字段,则将所述入参请求报文中与预设的无效字段相同的字段删除。
18.进一步地,所述方法还包括:
19.利用预设的重复度识别模型对所述入参请求报文进行识别;
20.若存在两个重复度达到预设重复度阈值的入参请求报文,则将其中一个入参请求报文删除。
21.进一步地,所述方法还包括:
22.判断已经保存至所述日志表的入参请求报文中是否存在预设url地址;
23.若存在,则删除将要存储至所述日志表的入参请求报文中的预设url地址。
24.第二方面,本公开实施例中提供了一种日志缩减装置,所述装置包括:
25.统计模块,用于按照预设的类别模型结合预设的计算统计公式,实时统计接收到的客户端发送的查询类请求的数量;
26.发送模块,用于基于所述查询类请求,产生对应的入参请求报文和响应报文,将响应报文发送至所述客户端;
27.第一存储模块,用于当所述查询类请求的数量在预设时间范围内达到对应的预设访问量阈值时,则执行预设操作,其中,所述预设操作包括将所述查询类请求对应的入参请求报文存储至日志表且不存储所述响应报文。
28.进一步地,所述装置还包括:
29.第二存储模块,用于将预设间隔时间阈值内的查询类请求存储至服务器日志;
30.第三存储模块,用于将超过预设间隔时间阈值的查询类请求对应的入参请求报文存储至所述日志表。
31.第三方面,本公开实施例中提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述的日志缩减方法的步骤。
32.第四方面,本公开实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的日志缩减方法的步骤。
33.本发明的实施例具有如下优点:
34.本技术实施例提供的日志缩减方法,按照预设的类别模型结合预设的计算统计公式,实时统计接收到的客户端发送的查询类请求的数量;基于所述查询类请求,产生对应的入参请求报文和响应报文,将响应报文发送至所述客户端;当所述查询类请求的数量在预设时间范围内达到对应的预设访问量阈值时,则执行预设操作,其中,所述预设操作包括将所述查询类请求对应的入参请求报文存储至日志表且不存储所述响应报文。本发明可有效减少日志表和服务器日志的数据存储量和增长量,避免存在大量重复日志而导致日志表或服务器日志过于臃肿,提高了服务器运行的性能,减少无效的日志,缩减日志长度,大大提升了日志排查的有效性和生产问题排查的响应效率。
35.为使本发明的上述目的、特征和优点能更明显和易懂,下文特举较佳实施例,并配合所附附图,做详细说明如下。
附图说明
36.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
37.图1示出了本技术实施例提供的一种日志缩减方法的流程图;
38.图2示出了本技术实施例提供的一种日志缩减装置的结构示意图;
39.图3示出了本技术实施例提供的计算机设备的硬件架构示意图。
具体实施方式
40.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
41.需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。相反,当元件被称作“直接在”另一元件“上”时,不存在中间元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
42.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
43.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
44.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在模板的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
45.实施例1
46.如图1所示,为本技术实施例中的一种日志缩减方法的流程图,本技术实施例提供的日志缩减方法,应用于服务器,所述方法包括以下步骤:
47.步骤101,按照预设的类别模型结合预设的计算统计公式,实时统计接收到的客户端发送的查询类请求的数量;
48.具体地,按照预设的类别模型结合预设的计算统计公式,实时统计接收到的客户端发送的查询类请求的数量,进一步地,可分别统计日级别的查询类请求的数量、周级别的查询类请求的数量和月级别的查询类请求的数量。分级别统计可达到将查询类的请求按照一定的时间段统计数量,便于日志管理者和查询者进行管理和查询。
49.步骤102,基于所述查询类请求,产生对应的入参请求报文和响应报文,将所述响应报文发送至所述客户端;
50.具体地,基于统计好的查询类请求,会产生对应的入参请求报文和响应报文,产生对应的响应报文后可直接将响应报文发送至相应的客户端。其中,上述入参请求报文包括报文头及报文体,上述入参请求报文的报文头包括上述入参请求报文的属性信息,上述入参请求报文的报文体中包括至少一个日志对象,上述日志对象包括查询类请求中的对应数据。服务器端按照预设的入参请求报文格式,将多个日志对象进行组包,得到入参请求报文。
51.在本实施例中,入参请求报文的报文头包括报文长度、头标识、版本号、压缩标识、日志对象数量。其中,入参请求报文的报文长度为该报文的总字节数(不包括长度值本身的长度),即从入参请求报文的头标识开始到入参请求报文结束的字节数,占四字节,采用大端模式,单个入参请求长度最大可为4294967295字节。头标识:入参请求报文头的标识信息,可以为一字节的固定字符,例如可以为

h’(0x72);版本号:当前入参请求报文协议版本信息,占两字节;压缩标识:用于标识入参请求的报文体是否经过压缩,占一字节,压缩算法可以采用deflate算法等,可以用

c’(0x67)表示压缩,
‘0’
(0x30)表示未压缩;日志对象数量:入参请求报文体中所包含的日志对象个数,占四字节,采用大端模式,一个日志请求报文可放置最大4294967295个日志对象。
52.进一步地,入参请求报文的报文体中可以包括多个日志对象,报文体是日志对象集合,每个日志对象除日志本身内容外,还可以包括本条日志长度,日志序号值等信息,单个日志对象内容可由日志对象长度,日志序号,日志内容三部分组成,其中日志对象长度为当前日志对象的总字节数(不包括长度值本身的长度),占四字节,采用大端模式;日志序号表示当前日志对象在入参请求报文的报文体中的排列位置,占四字节,采用大端模式,同一入参请求报文中各日志对象内容的日志序号具有唯一性。日志序号可以是从1开始,此后每增加一个日志序号递增1;日志内容为查询类请求中的信息。
53.步骤103,当所述查询类请求的数量在预设时间范围内达到对应的预设访问量阈值时,则执行预设操作,其中,所述预设操作包括将所述查询类请求对应的入参请求报文存储至日志表且不存储所述响应报文。
54.具体地,当所述查询类请求的数量在预设时间范围内达到对应的预设访问量阈值,则执行预设操作。如日级别的查询类请求的数量在8小时内达到一万次则执行预设操作,周级别的查询类请求的数量在48小时内达到十万次则执行预设操作,月级别的查询类请求的数量在200小时内达一千万次则执行预设操作。可以理解的是,上述预设时间范围和预设访问量阈值都可以根据实际需求设定,本技术实施例对此不做限定。
55.进一步地,所述预设操作包括将所述查询类请求对应的入参请求报文存储至日志表且不存储所述响应报文。因为入参请求报文便于查询问题,因此只将入参请求报文存储至日志表,而不存储响应报文是因为可有效减少日志表存储数据量的大小。
56.在一种可选地实施方式中,上述方法还可以包括:
57.步骤104,将预设间隔时间阈值内的查询类请求存储至服务器日志;
58.步骤105,将超过预设间隔时间阈值的查询类请求对应的入参请求报文存储至所述日志表。
59.具体地,将同一个客户在预设间隔时间阈值内的查询类请求存储至服务器日志,其中,所述服务器日志是一个或多个由服务器自动创建和维护的日志文件,将超过预设间隔时间阈值的查询类请求对应的入参请求报文存储至所述日志表。例如将同一个客户在一小时内的查询类请求每分钟存储一笔在服务器日志中,将同一个客户在一小时以上的查询类请求对应的入参请求报文每分钟存储一笔在日志表中。上述预设间隔时间阈值可以根据实际需求设定,本技术实施例对此不做限定。
60.可以理解的是,将所述查询类请求一部分存储至所述日志表中,另一部分存储至所述服务器日志中,可有效减少日志表存储数据量的大小,缓解日志表的存储压力。
61.在一种可选地实施方式中,上述方法还可以包括:
62.步骤106,当所述入参请求报文的大小达到预设阈值时,将所述入参请求报文压缩后存储至所述日志表。
63.本实施例中,每笔入参请求报文的大小达到预设阈值时,可对所述入参请求报文进行压缩到预设大小后落表。具体地,若当前入参请求报文的大小大于预设阈值,则从末尾截断当前入参请求报文,使其大小满足预设阈值。上述预设阈值可以根据实际需求设定,本技术实施例对此不做限定。
64.可以理解的是,将所述入参请求报文先进行压缩再存储至所述日志表中,可有效减少日志表存储数据量的大小,缓解日志表的存储压力。
65.在一种可选地实施方式中,上述方法还可以包括:
66.步骤107,将所述入参请求报文中的内容与预设的无效字段对比;
67.步骤108,若存在与预设的无效字段相同的字段,则将所述入参请求报文中与预设的无效字段相同的字段删除。
68.具体地,根据预先设置好的无效字段,例如“=========”、“@@@@@@@”、“###########”或“%%%%%%%%”等一大串占位符号,将所述入参请求报文中的内容与预设的无效字段对比,若存在与预设的无效字段相同的字段,则将所述入参请求报文中与预设的无效字段相同的字段删除。上述预设的无效字段可以根据实际需求设定,本技术实施例对此不做限定。
69.可以理解的是,删除所述入参请求报文中的无效字段可有效剔除无效或者不重要的内容,只保留所述入参请求报文中关键的、必要的内容,这样再存储至所述日志表中即可有效减少日志表存储数据量的大小,缓解日志表的存储压力。
70.在一种可选地实施方式中,上述方法还可以包括:
71.步骤109,利用预设的重复度识别模型对所述入参请求报文进行识别;
72.步骤110,若存在两个重复度达到预设重复度阈值的入参请求报文,则将其中一个入参请求报文删除。
73.具体地,可利用预先训练好的重复度识别模型对所述入参请求报文进行重复度识别,若存在两个重复度达到预设重复度阈值的入参请求报文,则将其中一个入参请求报文
删除。例如若检测到有两个入参请求报文的重复度高达90%,则删除其中一个入参请求报文。上述预设重复度阈值可以设定为90%、95%、或97%等,具体可以根据实际需求设定,本技术实施例对此不做限定。
74.可以理解的是,删除重复度高的入参请求报文可有效防止重复度近似的报文存储至所述日志表,可有效减少日志表存储数据量的大小,缓解日志表的存储压力。
75.在一种可选地实施方式中,上述方法还可以包括:
76.步骤111,判断已经保存至所述日志表的入参请求报文中是否存在预设url地址;
77.步骤112,若存在,则删除将要存储至所述日志表的入参请求报文中的预设url地址。
78.具体地,具体地,根据预先设置好的url(uniform resource location,统一资源定位符)地址,例如“/get、/fetch、/list、/query”等请求相关的关键字,判断已经保存至所述日志表的入参请求报文中是否已经存在这些预设url地址,如果已经保存至所述日志表的入参请求报文中已经存在这些预设url地址,那么则删除将要存储至所述日志表入参请求报文中的预设url地址。上述预设url地址可以根据实际需求设定,本技术实施例对此不做限定。
79.可以理解的是,由于日志表中已经存在了这些预设url地址,那么在进行地址访问时全部可以直接访问,将删除将要存储至所述日志表入参请求报文中的预设url地址可有效避免已经存储的地址信息重复保存,也可有效减少日志表存储数据量的大小,缓解日志表的存储压力。
80.本发明的实施例具有如下优点:
81.本技术实施例提供的日志缩减方法,按照预设的类别模型结合预设的计算统计公式,实时统计接收到的客户端发送的查询类请求的数量;基于所述查询类请求,产生对应的入参请求报文和响应报文,将响应报文发送至所述客户端;当所述查询类请求的数量在预设时间范围内达到对应的预设访问量阈值时,则执行预设操作,其中,所述预设操作包括将所述查询类请求对应的入参请求报文存储至日志表且不存储所述响应报文。本发明可有效减少日志表和服务器日志的数据存储量和增长量,避免存在大量重复日志而导致日志表或服务器日志过于臃肿,提高了服务器运行的性能,减少无效的日志,缩减日志长度,大大提升了日志排查的有效性和生产问题排查的响应效率。
82.实施例2
83.如图2所示,为本技术实施例中的一种日志缩减装置200的结构示意图,所述日志缩减装置应用于服务器,所述装置包括:
84.统计模块201,用于按照预设的类别模型结合预设的计算统计公式,实时统计接收到的客户端发送的查询类请求的数量;
85.发送模块202,用于基于所述查询类请求,产生对应的入参请求报文和响应报文,将所述响应报文发送至所述客户端;
86.存储模块203,用于当所述查询类请求的数量在预设时间范围内达到对应的预设访问量阈值时,则执行预设操作,其中,所述预设操作包括将所述查询类请求对应的入参请求报文存储至日志表且不存储所述响应报文。
87.可选地,上述日志缩减装置还可以包括:
88.第一存储模块204,用于将预设间隔时间阈值内的查询类请求存储至服务器日志;
89.第二存储模块205,用于将超过预设间隔时间阈值的查询类请求对应的入参请求报文存储至所述日志表。
90.可选地,上述日志缩减装置还可以包括:
91.第三存储模块206,用于当所述入参请求报文的大小达到预设阈值时,将所述入参请求报文压缩后存储至所述日志表。
92.可选地,上述日志缩减装置还可以包括:
93.对比模块207,用于将所述入参请求报文中的内容与预设的无效字段对比;
94.第一删除模块208,用于若存在与预设的无效字段相同的字段,则将所述入参请求报文中与预设的无效字段相同的字段删除。
95.可选地,上述日志缩减装置还可以包括:
96.识别模块209,用于利用预设的重复度识别模型对所述入参请求报文进行识别;
97.第二删除模块210,用于若存在两个重复度达到预设重复度阈值的入参请求报文,则将其中一个入参请求报文删除。
98.可选地,上述日志缩减装置还可以包括:
99.判断模块211,用于判断已经保存至所述日志表的入参请求报文中是否存在预设url地址;
100.第三删除模块212,用于删除将要保存至所述日志表的入参请求报文中的预设url地址。
101.本发明的实施例具有如下优点:
102.本技术实施例提供的日志缩减装置,可有效减少日志表和服务器日志的数据存储量和增长量,避免存在大量重复日志而导致日志表或服务器日志过于臃肿,提高了服务器运行的性能,减少无效的日志,缩减日志长度,大大提升了日志排查的有效性和生产问题排查的响应效率。
103.实施例3
104.图3示出了本技术提供的计算机设备的硬件架构示意图,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现实施例1所述的日志缩减方法的步骤。
105.本实施例中,计算机设备300是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3示,计算机设备300至少包括但不限于:可通过系统总线相互通信链接存储器310、处理器320、网络接口330。其中:
106.存储器310至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器310可以是计算机设备300的内部存储模块,例如该计算机设备300的硬盘或内存。在另一些实施例中,存储器310也可以是计算机设备300的外部存储设备,例如该计算机设备300上配备的插接式硬盘,智能存储
卡(smartmedia card,简称为smc),安全数字(secure digital,简称为sd)卡,闪存卡(flash card)等。当然,存储器310还可以既包括计算机设备300的内部存储模块也包括其外部存储设备。本实施例中,存储器310通常用于存储安装于计算机设备300的操作系统和各类应用软件,例如视频播放方法的程序代码等。此外,存储器310还可以用于暂时地存储已经输出或者将要输出的各类数据。
107.处理器320在一些实施例中可以是中央处理器(central processing unit,简称为cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器320通常用于控制计算机设备300的总体操作,例如执行与计算机设备300进行数据交互或者通信相关的控制和处理等。本实施例中,处理器320用于运行存储器310中存储的程序代码或者处理数据。
108.网络接口330可包括无线网络接口或有线网络接口,该网络接口330通常用于在计算机设备300与其他计算机设备之间建立通信链接。例如,网络接口330用于通过网络将计算机设备300与外部终端相连,在计算机设备300与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystem of mobile communication,简称为gsm)、宽带码分多址(wideband code divisionmultiple access,简称为wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi等无线或有线网络。
109.需要指出的是,图3仅示出了具有部件310-330的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
110.在本实施例中,存储于存储器310中的日志缩减方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器320)所执行,以完成本发明。
111.实施例4
112.本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中日志缩减方法的步骤。
113.本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,简称为smc),安全数字(secure digital,简称为sd)卡,闪存卡(flash card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
114.在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
115.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
116.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,
在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1