日志数据处理方法、装置、计算机设备和存储介质与流程

文档序号:23469578发布日期:2020-12-29 13:09阅读:87来源:国知局
日志数据处理方法、装置、计算机设备和存储介质与流程

本申请涉及数字医疗技术领域,尤其涉及一种日志数据处理方法、装置、计算机设备和存储介质。



背景技术:

现有的医疗平台应用系统一般都是基于同一种中间件进行日志数据的格式标准化,导致不同功能模块之间或不同的开发团队编写的代码打印出来的日志数据的格式往往不一致。由于日志数据的格式不统一的,大大降低了医疗平台中日志数据的可用性和可读性,给后续对日志数据进行分析处理带来较大的难度。

因此如何在医疗平台中提高日志数据的可用性和可读性,实现更加便捷地分析日志数据成为亟需解决的问题。



技术实现要素:

本申请提供了一种日志数据处理方法、装置、计算机设备和存储介质,通过根据日志提供方对应的功能类型确定目标日志格式,进而可以根据目标日志格式对日志数据进行格式化处理后进行封装储存,后续可以更加便捷地从医疗平台的目标数据库系统获取相应的统一规范格式的日志数据并对日志数据进行分析处理,提高了医疗平台中日志数据的可用性和可读性。

第一方面,本申请提供了一种日志数据处理方法,所述方法包括:

获取待处理日志数据;

根据所述待处理日志数据的日志提供方对应的功能类型,确定所述日志提供方对应的目标日志格式;

根据所述目标日志格式,对所述待处理日志数据进行格式化处理,得到格式化后的日志数据;

基于预设的封装处理策略,对格式化后的所述日志数据进行封装处理,并将封装处理后的所述日志数据存储至目标数据库系统。

第二方面,本申请还提供了一种日志数据处理装置,所述装置包括:

日志数据获取模块,用于获取待处理日志数据;

日志格式确定模块,用于根据所述待处理日志数据的日志提供方对应的功能类型,确定所述日志提供方对应的目标日志格式;

格式化处理模块,用于根据所述目标日志格式,对所述待处理日志数据进行格式化处理,得到格式化后的日志数据;

封装处理模块,用于基于预设的封装处理策略,对格式化后的所述日志数据进行封装处理,并将封装处理后的所述日志数据存储至目标数据库系统。

第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;

所述存储器,用于存储计算机程序;

所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的日志数据处理方法。

第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的日志数据处理方法。

本申请公开了一种日志数据处理方法、装置、计算机设备和存储介质,通过获取待处理日志数据,可以根据待处理日志数据的日志提供方对应的功能类型,进而根据功能类型确定日志提供方对应的目标日志格式;通过根据目标日志格式,对待处理日志数据进行格式化处理,将日志数据的格式进行规范;通过基于预设的封装处理策略,对格式化后的日志数据进行封装处理,并将封装处理后的日志数据存储至医疗平台的目标数据库系统,后续可以更加便捷地从目标数据库系统获取相应的统一规范格式的日志数据并对日志数据进行分析处理,提高了医疗平台中日志数据的可用性和可读性。

附图说明

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

图1是本申请的实施例提供的一种日志数据处理方法的示意性流程图;

图2是本申请实施例提供的一种日志处理过程的流程示意图;

图3是本申请的实施例提供的确定目标日志格式的子步骤的示意性流程图;

图4是本申请的实施例提供的对格式化后的日志数据进行封装处理的子步骤的示意性流程图;

图5是本申请的实施例提供的日志数据处理方法的的子步骤的示意性流程图;

图6是本申请的实施例提供的获取日志查询结果的子步骤的示意性流程图;

图7是本申请实施例提供的一种在日志查询页面中触发查询按钮的界面操作示意图;

图8是本申请实施例提供的生成日志分析信息的子步骤的示意性流程图;

图9是本申请实施例提供的一种日志数据处理装置的示意性框图;

图10是本申请实施例提供的一种计算机设备的结构示意性框图。

具体实施方式

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

附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。

应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

本申请的实施例提供了一种日志数据处理方法、装置、计算机设备和存储介质。其中,该日志数据处理方法可以应用于服务器或终端中的日志处理系统,实现根据日志提供方对应的功能类型确定目标日志格式,根据目标日志格式对日志数据进行格式化处理后进行封装储存,后续可以更加便捷地从医疗平台的目标数据库系统获取相应的统一规范格式的日志数据并对日志数据进行分析处理,提高了医疗平台中日志数据的可用性和可读性。

其中,服务器可以为独立的服务器,也可以为服务器集群。终端可以是智能手机、平板电脑、笔记本电脑和台式电脑等电子设备。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

如图1所示,日志数据处理方法包括步骤s10至步骤s40。

步骤s10、获取待处理日志数据。

需要说明的是,本申请实施例中提供的日志数据处理方法可以应用于日志处理系统中,实现日志处理系统获取跨平台、跨集群或者跨开发团队之间的日志数据。如图2所示,图2是本申请实施例提供的一种日志处理过程的流程示意图,其中,cluster表示集群,instance表示实例。需要说明的是,实例是指应用服务或代理服务器。在本申请实施例中,可以采集不同的日志提供方产生的日志数据,得到待处理日志数据;然后对待处理日志数据进行格式化处理和封装处理后,存储在es系统中。

在一些实施例中,获取待处理日志数据,可以包括:确定日志提供方中的中间件,对中间件安装日志采集器;根据日志采集器获取待处理日志数据。

示例性的,日志提供方可以包括不同的子系统、集群中的应用服务,还可以包括代理服务器。其中,应用服务设置在应用服务器中;代理服务器可以包括但不限于nginx、openresty等代理服务器。

在本申请实施例中,可以通过日志提供方对应的中间件采集日志数据。日志提供方的中间件可以根据系统架构和服务的功能类型进行设定;不同的日志提供方可以使用同一种中间件,也可以使用不同的中间件。日志处理系统可以通过中间件采集日志提供方产生的日志数据。

示例性的,中间件可以包括但不限于weblogic、tomcat、springboot以及apache等中间件。需要说明的是,中间件是一种独立的系统软件或服务程序,介于操作系统和应用软件之间。

示例性的,日志采集器可以包括但不限于logstash、filebeat、fluentd以及logtail等等。在本申请实施例中,通过在日志提供方的中间件上安装日志采集器,可以通过日志采集器快速、便捷地采集日志提供方产生的日志数据。

步骤s20、根据所述待处理日志数据的日志提供方对应的功能类型,确定所述日志提供方对应的目标日志格式。

示例性的,功能类型包括代理服务功能和应用服务功能。代理服务器提供的功能类型为代理服务功能,应用服务器提供的功能类型为应用服务功能。其中,代理服务器提供的代理服务功能可以包括负载均衡、流量分流以及转发等等。

示例性的,可以确定日志提供方对应的服务器类型,根据服务器类型确定日志提供方对应的功能类型。若日志提供方对应的服务器类型为代理服务器,则可以确定日志提供方对应的功能类型为代理服务功能;若日志提供方对应的服务器类型为应用服务器,则可以确定日志提供方对应的功能类型为应用服务功能。

在本申请实施例中,可以根据日志提供方对应的功能类型,从区块链中获取功能类型对应的配置文件,并将配置文件中的日志格式作为目标日志格式。其中,配置文件包括预先设定的日志格式。

在一些实施例中,根据待处理日志数据的日志提供方对应的功能类型,确定日志提供方对应的目标日志格式,可以包括:当功能类型为代理服务功能时,从区块链中获取预设的第一类配置文件,并将第一类配置文件中包括的预设的日志标准格式作为目标日志格式。

示例性的,第一类配置文件中的日志标准格式可以定义为:log_formatmain$fmt_localtime$request_time$remote_user$body_bytes_sent$remote_addr$server_addr:$server_port$status$request_method$uri$request_uri-$http_x_forwarded_for$http_referer$http_user_agent$upstream_connect_time$upstream_header_time$upstream_response_time。其中,时间格式为yyyy-mm-ddhh:mm:ss可以通过以下代码实现:

map$fmt_localtime{

default”;}

log_by_lua_block{

ngx.var.fmt_localtime=ngx.localtime();}。

需要说明的是,在本申请实施例中,可以预先配置好日志标准格式,并根据配置好的日志标准格式生成第一类配置文件。

在另一些实施例中,根据待处理日志数据的日志提供方对应的功能类型,确定日志提供方对应的目标日志格式,可以包括:当功能类型为应用服务功能时,从区块链中获取预设的第二类配置文件,根据第二配置文件确定目标日志格式。

其中,第二类配置文件包括多个预设的日志自定义格式。例如,第一自定义格式、第二自定义格式以及第三自定义格式等等;不同的日志日定义格式用于格式化不同的中间件传递的日志数据。

请参阅图3,在一些实施例中,在根据第二配置文件确定目标日志格式之前,具体可以包括以下步骤s201至步骤s203。

步骤s201、确定预设的多个中间件。

示例性的,预设的中间件可以包括weblogic、tomcat、springboot以及apache等中间件。预设的中间件可以根据日志提供方中的中间件进行确定。例如,将多个日志提供方常用的中间件作为预设的中间件。

步骤s202、基于预设的匹配策略,对每个所述中间件匹配对应的日志自定义格式。

具体地,预设匹配策略可以包括:weblogic中间件与第一自定义格式匹配;tomcat和springboot中间件与第二自定义格式匹配;apache中间件与第三自定义格式匹配。

其中,第一自定义格式为:datetimetime-takenx-c_usernamebytesc-ips-ipsc-statuscs-methodcs-uri-stemcs-urix-c_sessionidx-c_x_forwarded_for。第二自定义格式为:%{yyyy-mm-ddhh:mm:ss}t%t%{username}s%b%a%a%s%m%u%u%q%s%{x-forwarded-for}i%{cookie}i"%{user-agent}i""%{host}i"%{referer}i%{content-length}i%{origin}i。第三自定义格式为:%{%y-%m-%d%t%h:%m:%s}t%t%u%b%a%a%s%m%u%u%q%{sessionid}c%{x-forwarded-for}i%{cookie}i\"%{user-agent}i\"\"%{host}i\"%{referer}i%{content-length}i%{origin}i。

可以理解的是,由于不同的中间件传递过来的日志数据的格式不一样,因此通过对不同的中间件匹配日志自定义格式,使得不同中间件传递的日志数据通过日志自定义格式进行格式化处理后,得到格式统一的日志数据。

步骤s203、将每个所述中间件与对应的日志自定义格式进行关联并存储至所述第二类配置文件中。

具体地,将上述中间件与中间件对应的日志自定义格式进行关联并存储至第二类配置文件中。

示例性的,将weblogic中间件与第一自定义格式进行关联并存储第二类配置文件的子文件中。

示例性的,将apache中间件与第三自定义格式进行关联并存储第二类配置文件中的另一子文件中。

其中,第二配置文件中的子文件可以以存储的中间件的名称进行命名。

具体地,在根据第二配置文件确定目标日志格式,可以根据中间件的名称在第二配置文件中查询,将查询得到的子文件中的日志自定义格式作为目标日志格式。

需要强调的是,为进一步保证上述第一类配置文件和第二类配置文件的私密和安全性,上述第一类配置文件和第二类配置文件还可以存储于一区块链的节点中。在确定日志提供方对应的目标日志格式时,可以从区块链中获取第一类配置文件和第二类配置文件。

请参阅图3,在一些实施例中,在根据第二配置文件确定目标日志格式时,可以包括以下步骤s204和步骤s205。

步骤s204、确定所述日志提供方中的中间件。

示例性的,可以在根据日志采集器获取待处理日志数据时,确定日志提供方中的中间件。例如,确定日志提供方中的中间件为weblogic中间件;或者确定日志提供方中的中间件为apache中间件。

步骤s205、从所述第二类配置文件中查询所述中间件关联的日志自定义格式,并将所述日志自定义格式作为所述目标日志格式。

示例性的,若日志提供方对应的中间件为weblogic中间件,且在第二类配置文件中weblogic中间件与第一自定义格式对应,则可以确定第一自定义格式为日志提供方对应的目标日志格式。

示例性的,若日志提供方对应的中间件为apache中间件,且在第二类配置文件中apache中间件与第三自定义格式对应,则可以确定第三自定义格式为日志提供方对应的目标日志格式。

通过根据待处理日志数据的日志提供方对应的功能类型,可以从第一类配置文件或第二类配置文件中确定日志提供方对应的目标日志格式,进而可以对日志提供方的不同格式类型的日志数据进行格式化处理,将日志数据的格式进行规范。

步骤s30、根据所述目标日志格式,对所述待处理日志数据进行格式化处理,得到格式化后的日志数据。

在一些实施方式中,当目标日志格式为日志标准格式时,根据日志标准格式对待处理日志数据进行格式化处理,得到格式化后的日志数据。

在另一些实施方式中,当目标日志格式为日志自定义格式时,根据日志自定义格式对待处理日志数据进行格式化处理,得到格式化后的日志数据。

示例性的,若日志提供方对应的目标日志格式为第一自定义格式,则根据第一自定义格式对待处理日志数据进行格式化处理。

示例性的,若日志提供方对应的目标日志格式为第三自定义格式,则根据第三自定义格式对待处理日志数据进行格式化处理。

通过根据目标日志格式,对待处理日志数据进行格式化处理,可以得到格式规范的日志数据。

步骤s40、基于预设的封装处理策略,对格式化后的所述日志数据进行封装处理,并将封装处理后的所述日志数据存储至目标数据库系统。

需要说明的是,在本申请实施例中,预设的封装处理策略是指将格式化后的日志数据生成键值对的形式并添加维度信息标签。

请参阅图4,图4是步骤s40中基于预设的封装处理策略,对格式化后的日志数据进行封装处理,并将封装处理后的日志数据存储至目标数据库系统的子步骤的示意性流程图,具体包括以下步骤s401至步骤s403。

步骤s401、提取格式化后的所述日志数据对应的字段名与字段值,生成格式化后的所述日志数据对应的键值对集合。

示例性的,可以通过字段提取器提取日志数据对应的字段名与字段值。其中,字段提取器可以包括grok函数或者json解析函数,可以通过grok函数或者json解析函数实现提取日志数据中的字段名与字段值,并根据字段名与字段值生成键值对集合。可以理解的是,每一条日志数据生成一个键值对集合。

示例性的,提取的字段名可以包括但不限于source(日志来源主机名称)、acc_api(请求的功能接口名称)、acc_bytes(请求返回数据大小)、acc_clientip(发起请求的ip地址)、acc_date(发起请求的日期)、acc_method(请求方法)、acc_serverip(提供请求的ip:端口)、acc_status(请求返回状态码)、acc_time(请求的时间)、acc_time_cost(请求耗时)以及acc_um(发起请求用户名)等等。

具体地,分别根据日志数据对应的字段名与字段值,生成格式化后的日志数据对应的键值对集合。需要说明的是,键值对包括键和值,以(key=value)或者(key:value)字符串的形式表示。在本申请实施例中,日志数据的字段名作为键值对中的键,日志数据的字段名作为键值对中的值。

示例性的,生成的其中一个键值对集合可以表示为:{source:szc-l50;acc_api:/gcc/js/tree2.js;acc_bytes:1626;acc_clientip:10.159.229.25;acc_date:2020-07-25;acc_method:post;acc_serverip:30.181.225.18;acc_status:200;acc_time:12:10:50;acc_time_cost:0.003;acc_um:huyuanmei500}。

步骤s402、对所述键值对集合添加预设的维度信息标签,得到携带所述维度信息标签的所述键值对集合。

示例性的,维度信息标签可以包括appname、cluster和instance三个字段。其中,appname字段表示子系统名称;cluster字段表示集群名称;instance字段表示实例名称。

具体地,可以对键值对集合添加预设的维度信息标签。例如,对上述的键值对集合添加维度信息标签,其中,维度信息可以包括子系统名称icss-gccib-insur、集群名称icss-gccib-insurprdcluster20901以及实例名称icss-gccib_nrweb48953。

例性的,携带维度信息标签的键值对集合可以表示为:{source:szc-l50;acc_api:/gcc/js/tree2.js;acc_bytes:1626;acc_clientip:10.159.229.25;acc_date:2020-07-25;acc_method:post;acc_serverip:30.181.225.18;acc_status:200;acc_time:12:10:50;acc_time_cost:0.003;acc_um:huyuanmei500;appname:icss-gccib-insur;cluster:icss-gccib-insurprdcluster20901;instance:icss-gccib_nrweb48953}。

步骤s403、将携带所述维度信息标签的所述键值对集合存储至所述目标数据库系统中。

在本申请实施例中,医疗平台的目标数据库系统可以包括es(elasticsearch)系统。需要说明的是,es系统是一种分布式可扩展的实时搜索和分析引擎,是建立在全文搜索引擎apachelucene基础上的搜索引擎。其中,es系统支持实时文件存储和实时文件搜索,可以使用json格式存储数据。

具体地,可以将携带维度信息标签的键值对集合存储至es系统,以便后续可以直接从es系统中查询相关的日志数据并进行分析处理。

通过提取格式化后的日志数据对应的字段名与字段值,生成格式化后的日志数据对应的键值对集合,并对键值对集合添加预设的维度信息标签;后续在日志查询时,可以根据维度信息确定目标键值对,实现更加便捷地从医疗平台的目标数据库系统获取相应的统一规范格式的目标键值对并对目标键值对进行分析处理;且不需要对键值对进行格式化处理,提高了医疗平台中日志数据的可用性和可读性。

请参阅图5,在本申请实施例中,步骤s40中将封装处理后的日志数据存储至目标数据库系统之后,还可以包括以下步骤s50至步骤s70。

步骤s50、接收日志查询操作,根据所述日志查询操作在预设的日志查询页面获取对应的维度信息和查询时间段。

需要说明的是,当用户需要查询日志数据时,可以在日志处理系统的日志查询页面中进行日志查询操作。其中,日志查询操作可以包括维度选中操作和时间选择操作。

具体地,维度选中操作是指在日志查询页面的维度选择框中选择子系统、集群以及实例等维度的操作。时间选择操作是指在日志查询页面的起始时间框和结束时间框中选择时间的操作。

在一些实施例中,根据日志查询操作在预设的日志查询页面获取对应的维度信息和查询时间段,可以包括:接收用户在日志查询页面中的维度选中操作,根据维度选中操作确定维度信息;获取用户在日志查询页面中的时间选择操作,根据时间选择操作确定查询时间段。

示例性的,若接收到用户在日志查询页面中选中子系统icss-gccib-insur下的集群icss-gccib-insurprdcluster20901中的实例icss-gccib_nrweb48953的操作,则可以确定维度信息包括子系统icss-gccib-insur、集群icss-gccib-insurprdcluster20901和实例icss-gccib_nrweb48953。

示例性的,当获取用户在日志查询页面中的起始时间框输入的起始时间t1和在结束时间框输入的结束时间t2时,可以根据起始时间t1和结束时间t2确定日志查询操作对应的查询时间段为t2-t1。

步骤s60、根据所述维度信息与所述查询时间段在所述目标数据库系统中查询到所述日志查询操作对应的日志查询结果。

请参阅图6,图6步骤s60中根据维度信息与查询时间段在目标数据库系统中查询到日志查询操作对应的日志查询结果的子步骤的示意性流程图,具体可以包括以下步骤s601至步骤s603。

步骤s601、当检测到基于所述日志查询页面中的查询按钮的触发操作时,根据所述维度信息与所述查询时间段生成数据查询请求,其中,所述数据查询请求包括维度信息与查询时间段。

需要说明的是,在本申请实施例中,用户在日志查询页面中选中维度,以及输入起始时间与结束时间后,还需要对日志查询页面中的查询按钮进行触发操作,才能得到日志查询结果。请参阅图7,图7是本申请实施例提供的一种在日志查询页面中触发查询按钮的的界面操作示意图。

具体地,在查询日志数据的时候,需要向目标数据库系统发送数据查询请求。示例性的,可以根据维度信息与查询时间段生成数据查询请求,生成的数据查询请求包括维度信息与查询时间段。

其中,维度信息用于确定日志数据的维度级别和维度名称;查询时间段用于确定日志数据的时间范围。

步骤s602、将所述数据查询请求发送至所述目标数据库系统中,以使所述目标数据库系统根据所述数据查询请求中的维度信息与查询时间段在携带所述维度信息标签的所述键值对集合中确定目标键值对集合,并返回所述目标键值对集合。

具体地,可以通过与目标数据库系统连接的查询接口,将数据查询请求发送至目标数据库系统中。

具体地,目标数据库系统在收到数据查询请求后,可以根据述数据查询请求中的维度信息与查询时间段在携带维度信息标签的键值对集合中确定目标键值对集合。

示例性的,若数据查询请求中的维度信息为:子系统名称icss-gccib-insur、集群名称icss-gccib-insurprdcluster20901以及实例名称icss-gccib_nrweb48953,则目标数据库系统可以搜索携带维度信息标签为{appname:icss-gccib-insur;cluster:icss-gccib-insurprdcluster20901;instance:icss-gccib_nrweb48953}的键值对集合;然后根据数据查询请求中的查询时间段对搜索得到的键值对集合进行筛选,将筛选得到的键值对作为目标键值对。

示例性的,目标数据库系统还可以先根据数据查询请求中的查询时间段对携带维度信息标签的键值对进行初步筛选,然后根据数据查询请求中的维度信息对初步筛选得到的键值对进行搜索,将搜索得到的键值对作为目标键值对。

在确定目标键值对集合后,目标数据库系统可以通过查询接口返回目标键值对集合。

步骤s603、接收所述目标数据库系统返回的所述目标键值对集合,将所述目标键值对集合作为所述日志查询结果。

具体地,在接收到目标数据库系统返回的目标键值对集合,将目标键值对集合作为日志查询结果,以便后续将日志查询结果加载至日志查询页面。

需要强调的是,为进一步保证上述日志查询结果的私密和安全性,上述日志查询结果还可以存储于一区块链的节点中。

通过根据维度信息与查询时间段生成数据查询请求,可以使得目标数据库系统快速地根据维度信息与查询时间段在携带维度信息标签的键值对集合中确定目标键值对集合,实现了快速地从海量日志数据中查询获取到所需的日志数据,提高了医疗平台中日志数据的可用性和可读性,进而提高了日志查询的便捷性和效率。

步骤s70、根据所述日志查询结果生成日志分析信息,并将所述日志分析信息显示在所述日志查询页面上。

需要说明的是,在本申请实施例中,可以将日志查询结果加载至日志查询页面。其中,加载可以包括根据日志查询结果生成日志分析信息,并渲染至日志查询页面等操作。例如,后台可以根据日志查询页面中当前的功能分析选项,对日志查询结果进行分析处理,得到日志分析信息;然后将日志分析信息渲染至日志查询页面中。

示例性的,日志分析信息可以包括但不限于性能分析信息、异常分析信息、趋势分析信息、实例分析信息以及用户行为分析信息等等。

请参阅图8,图8是步骤s70中根据日志查询结果生成日志分析信息的子步骤的示意性流程图,具体可以包括以下步骤s701至步骤s703。

步骤s701、确定所述日志查询页面中当前的功能分析选项。

具体地,日志查询页面包括多个功能分析选项。示例性的,功能分析选项可以包括但不限于性能分析选项、异常分析选项、趋势分析选项、实例分析选项以及用户行为分析选项。

具体地,日志查询页面中当前的功能分析选项可以根据用户对功能分析选项的选中操作进行确定。示例性的,日志查询页面中当前的功能分析选项默认是性能分析选项。当用户在日志查询页面切换功能分析选项时,可以根据用户的操作确定日志查询页面中当前的功能分析选项,例如,切换后的功能分析选项为异常分析选项。

通过确定日志查询页面中当前的功能分析选项,可以在获取日志查询结果后,根据当前的功能分析选项对应的分析策略对日志查询结果进行分析处理,从而可以得到日志查询结果对应的日志分析信息。

步骤s702、基于功能分析选项与分析策略之间预设的对应关系,确定所述当前的功能分析选项对应的目标分析策略。

具体地,不同的功能分析选项对应有不同的分析策略。需要说明的是,分析策略用于对日志查询结果进行分析处理。其中,不同的分析策略可以调用不同的程序代码进行实现。程序代码可以事先根据功能分析选项对应的功能类型进行编写。其中,分析策略可以实现对日志查询结果进行聚类分析、因子分析、相关分析、对应分析、回归分析以及方差分析等等。

示例性的,可以预先设定功能分析选项与分析策略之间的对应关系,并将功能分析选项与分析策略之间的对应关系信息存储在本地数据库中。

需要强调的是,为进一步保证上述功能分析选项与分析策略之间的对应关系信息的私密和安全性,上述功能分析选项与分析策略之间的对应关系信息还可以存储于一区块链的节点中。

示例性的,分析策略可以包括分析策略a、分析策略b以及分析策略c等等。

示例性的,若当前的功能分析选项为性能分析选项,且基于功能分析选项与分析策略之间预设的对应关系,确定性能分析选项对应的分析策略为分析策略a,则可以将分析策略a作为目标分析策略。

步骤s703、根据所述目标分析策略对所述日志查询结果进行分析处理,得到所述日志分析信息。

例如,若日志查询页面中当前的功能分析选项为性能分析信息,且目标分析策略为分析策略a,则可以根据分析策略a对日志查询结果进行性能分析处理,得到性能分析信息。

具体地,在得到日志分析信息,可以将日志分析信息渲染至日志查询页面中,以在日志查询页面中显示日志分析信息。

示例性的,在日志查询页面中显示的日志分析信息可以通过直方图、散点图、鱼骨图、柱状图、雷达图、趋势图以及表格等方式展示。

需要说明的是,渲染是指各种资源或数据通过浏览器渲染引擎的解析,输出可视化的图像或网页的过程。其中,浏览器渲染引擎包括html解析器、css解析器、布局以及javascript引擎等模块。

通过根据目标分析策略对日志查询结果进行分析处理,可以得到日志分析信息;进而可以将日志分析信息渲染至日志查询页面中,可以快速地展示各系统、集群或实例的日志分析信息,实现更加直观地进行日志分析,进一步提高了医疗平台中日志数据的可用性和可读性。

上述实施例提供的日志数据处理方法,通过在日志提供方的中间件上安装日志采集器,可以通过日志采集器快速、便捷地采集日志提供方产生的日志数据;通过对不同的中间件匹配日志自定义格式,使得不同中间件传递的日志数据通过日志自定义格式进行格式化处理后,得到格式统一的日志数据;通过根据待处理日志数据的日志提供方对应的功能类型,可以从第一类配置文件或第二类配置文件中确定日志提供方对应的目标日志格式,进而可以对日志提供方的不同格式类型的日志数据进行格式化处理,将日志数据的格式进行规范;通过提取格式化后的日志数据对应的字段名与字段值,生成格式化后的日志数据对应的键值对集合,并对键值对集合添加预设的维度信息标签,后续在日志查询时,可以根据维度信息确定目标键值对,实现更加便捷地从医疗平台的目标数据库系统获取相应的统一规范格式的目标键值对并对目标键值对进行分析处理,且不需要对键值对进行格式化处理,提高了医疗平台中日志数据的可用性和可读性;通过根据维度信息与查询时间段生成数据查询请求,可以使得目标数据库系统快速地根据维度信息与查询时间段在携带维度信息标签的键值对集合中确定目标键值对集合,实现了快速地从海量日志数据中查询获取到所需的日志数据,提高了医疗平台中日志数据的可用性和可读性,进而提高了日志查询的便捷性和效率;通过根据目标分析策略对日志查询结果进行分析处理,可以得到日志分析信息;进而可以将日志分析信息渲染至日志查询页面中,可以快速地展示各系统、集群或实例的日志分析信息,实现更加直观地进行日志分析,进一步医疗平台中提高了日志数据的可用性和可读性。

请参阅图9,图9是本申请的实施例还提供一种日志数据处理装置100的示意性框图,该日志数据处理装置用于执行前述的日志数据处理方法。其中,该日志数据处理装置可以配置于服务器或终端中。

如图9所示,该日志数据处理装置100,包括:日志数据获取模块101、日志格式确定模块102、格式化处理模块103和封装处理模块104。

日志数据获取模块101,用于获取待处理日志数据。

日志格式确定模块102,用于根据所述待处理日志数据的日志提供方对应的功能类型,确定所述日志提供方对应的目标日志格式。

格式化处理模块103,用于根据所述目标日志格式,对所述待处理日志数据进行格式化处理,得到格式化后的日志数据。

封装处理模块104,用于基于预设的封装处理策略,对格式化后的所述日志数据进行封装处理,并将封装处理后的所述日志数据存储至目标数据库系统。

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

上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。

请参阅图10,图10是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器或终端。

请参阅图10,该计算机设备包括通过系统总线连接的处理器和存储器,其中,存储器可以包括非易失性存储介质和内存储器。

处理器用于提供计算和控制能力,支撑整个计算机设备的运行。

内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种日志数据处理方法。

应当理解的是,处理器可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:

获取待处理日志数据;根据所述待处理日志数据的日志提供方对应的功能类型,确定所述日志提供方对应的目标日志格式;根据所述目标日志格式,对所述待处理日志数据进行格式化处理,得到格式化后的日志数据;基于预设的封装处理策略,对格式化后的所述日志数据进行封装处理,并将封装处理后的所述日志数据存储至目标数据库系统。

在一个实施例中,所述处理器在实现获取待处理日志数据时,用于实现:

确定所述日志提供方中的中间件,对所述中间件安装日志采集器;根据所述日志采集器获取所述待处理日志数据。

在一个实施例中,所述功能类型包括代理服务功能和应用服务功能;所述处理器在实现根据所述待处理日志数据的日志提供方对应的功能类型,确定所述日志提供方对应的目标日志格式时,用于实现:

当所述功能类型为代理服务功能时,从区块链中获取预设的第一类配置文件,并将所述第一类配置文件中包括的预设的日志标准格式作为所述目标日志格式;当所述功能类型为应用服务功能时,从区块链中获取预设的第二类配置文件,根据所述第二配置文件确定所述目标日志格式,其中,所述第二类配置文件包括多个预设的日志自定义格式。

在一个实施例中,所述处理器在实现根据所述第二配置文件确定所述目标日志格式之前,还用于实现:

确定预设的多个中间件;基于预设的匹配策略,对每个所述中间件匹配对应的日志自定义格式;将每个所述中间件与对应的日志自定义格式进行关联并存储至所述第二类配置文件中。

在一个实施例中,所述处理器在实现根据所述第二配置文件确定所述目标日志格式时,用于实现:

确定所述日志提供方中的中间件;从所述第二类配置文件中查询所述中间件关联的日志自定义格式,并将所述日志自定义格式作为所述目标日志格式。

在一个实施例中,所述处理器在实现基于预设的封装处理策略,对格式化后的所述日志数据进行封装处理,并将封装处理后的所述日志数据存储至目标数据库系统时,用于实现:

提取格式化后的所述日志数据对应的字段名与字段值,生成格式化后的所述日志数据对应的键值对集合;对所述键值对集合添加预设的维度信息标签,得到携带所述维度信息标签的所述键值对集合;将携带所述维度信息标签的所述键值对集合存储至所述目标数据库系统中。

在一个实施例中,所述处理器在实现将封装处理后的所述日志数据存储至目标数据库系统之后,还用于实现:

接收日志查询操作,根据所述日志查询操作在预设的日志查询页面获取对应的维度信息和查询时间段;根据所述维度信息与所述查询时间段在所述目标数据库系统中查询到所述日志查询操作对应的日志查询结果;根据所述日志查询结果生成日志分析信息,并将所述日志分析信息显示在所述日志查询页面上。

在一个实施例中,所述处理器在实现根据所述维度信息与所述查询时间段在所述目标数据库系统中查询到所述日志查询操作对应的日志查询结果,用于实现:

当检测到基于所述日志查询页面中的查询按钮的触发操作时,根据所述维度信息与所述查询时间段生成数据查询请求,其中,所述数据查询请求包括维度信息与查询时间段;将所述数据查询请求发送至所述目标数据库系统中,以使所述目标数据库系统根据所述数据查询请求中的维度信息与查询时间段在携带所述维度信息标签的所述键值对集合中确定目标键值对集合,并返回所述目标键值对集合;接收所述目标数据库系统返回的所述目标键值对集合,将所述目标键值对集合作为所述日志查询结果。

本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项日志数据处理方法。

其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字卡(securedigitalcard,sdcard),闪存卡(flashcard)等。

进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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