CN109743188A - 日志数据处理方法和装置 - Google Patents
日志数据处理方法和装置 Download PDFInfo
- Publication number
- CN109743188A CN109743188A CN201811408036.8A CN201811408036A CN109743188A CN 109743188 A CN109743188 A CN 109743188A CN 201811408036 A CN201811408036 A CN 201811408036A CN 109743188 A CN109743188 A CN 109743188A
- Authority
- CN
- China
- Prior art keywords
- field
- log
- data
- identification
- target journaling
- 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
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供了一种日志数据处理方法和装置,其中方法包括:根据日志传输请求获取目标日志数据,并确定目标日志数据所属的目标业务场景;获取目标业务场景对应的字段替换表;其中,字段替换表中记录有目标业务场景对应的日志字段的字段标识,以及字段标识对应的替换字符,替换字符的长度小于对应的字段标识的长度;利用字段替换表,对目标日志数据中的日志字段的字段标识进行替换;其中,目标日志数据中的日志字段包括目标业务场景对应的日志字段;向日志数据接收方传输替换后的目标日志数据;其中,目标日志数据接收方具有访问字段替换表的权限。通过本实施例能够减少日志传输时所需传输的数据量,从而提高日志数据传输的稳定性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种日志数据处理方法和装置。
背景技术
随着互联网的快速发展,互联网技术已经渗透进各行各业,每天产生的网络数据呈现爆发式增长。日志数据获取作为数据处理过程中非常重要的环节,逐渐成为人们关注的重点。
通常在获取日志数据时,由日志数据采集方采集日志数据,然后通过网络通道将日志数据发送至接收方。由于日志数据较多,在传输日志时所要传输的数据量较大,因此不可避免地存在日志数据传输丢失等情况。由此,有必要提供一种技术方案,以提高日志数据传输的稳定性。
发明内容
本申请实施例的目的是提供一种日志数据处理方法和装置,能够减少日志传输时所需传输的数据量,从而提高日志数据传输的稳定性。
为达到上述技术目的,本申请实施例是这样实现的:
第一方面,本申请实施例提供了一种日志数据处理方法,包括:
根据日志传输请求获取目标日志数据,并确定所述目标日志数据所属的目标业务场景;
获取所述目标业务场景对应的字段替换表;其中,所述字段替换表中记录有所述目标业务场景对应的日志字段的字段标识,以及所述字段标识对应的替换字符,所述替换字符的长度小于对应的所述字段标识的长度;
利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换,以缩短所述目标日志数据中的日志字段的字段标识的长度;其中,所述目标日志数据中的日志字段包括所述目标业务场景对应的日志字段;
向日志数据接收方传输替换后的所述目标日志数据;其中,所述目标日志数据接收方具有访问所述字段替换表的权限。
第二方面,本申请实施例提供了一种日志数据处理装置,包括:
确定模块,用于根据日志传输请求获取目标日志数据,并确定所述目标日志数据所属的目标业务场景;
获取模块,用于获取所述目标业务场景对应的字段替换表;其中,所述字段替换表中记录有所述目标业务场景对应的日志字段的字段标识,以及所述字段标识对应的替换字符,所述替换字符的长度小于对应的所述字段标识的长度;
替换模块,用于利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换,以缩短所述目标日志数据中的日志字段的字段标识的长度;其中,所述目标日志数据中的日志字段包括所述目标业务场景对应的日志字段;
传输模块,用于向日志数据接收方传输替换后的所述目标日志数据;其中,所述目标日志数据接收方具有访问所述字段替换表的权限。
第三方面,本申请实施例提供了一种日志数据处理设备,包括:存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如上述第一方面所述的日志数据处理方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时实现如上述第一方面所述的日志数据处理方法的步骤。
本申请实施例中,在获取目标日志数据后,可以根据目标业务场景对应的字段替换表,对目标日志数据中的日志字段的字段标识进行替换,以缩短目标日志数据中的日志字段的字段标识的长度,并向日志数据接收方传输替换后的目标日志数据。由于通过替换字段标识的方式缩短了目标日志数据中的日志字段的字段标识的长度,因此能够达到减少日志传输时所需传输的数据量,提高日志数据传输的稳定性的效果。由于日志数据接收方具有访问上述字段替换表的权限,因此无需向日志数据接收方传输字段替换表,日志数据接收方可以自行访问上述字段替换表,从而对替换后的目标日志数据进行还原,进一步达到了减少日志传输时所需传输的数据量,提高日志数据传输的稳定性的效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的日志数据处理方法的应用场景示意图;
图2为本申请一实施例提供的日志数据处理方法的流程示意图;
图3为本申请另一实施例提供的日志数据处理方法的流程示意图;
图4为本申请另一实施例提供的日志数据处理方法的流程示意图;
图5为本申请一实施例提供的日志数据处理装置的模块组成示意图;
图6为本申请一实施例提供的日志数据处理设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例提供了一种日志数据处理方法和装置,能够减少日志传输时所需传输的数据量,从而提高日志数据传输的稳定性。
图1为本申请一实施例提供的日志数据处理方法的应用场景示意图,如图1所示,该场景包括日志数据发送方100,日志传输集群200和日志数据接收方300,其中,日志数据发送方又可以称为日志数据生产端,日志数据接收方又可以称为日志消费端。在一个实施例中,日志数据发送方100可以为Flume日志数据发送方,日志传输集群200可以为Flume日志传输集群,日志数据接收方可以为Flume日志数据接收方,或者,为HDFS(HadoopDistributed File System,Hadoop分布式文件系统)数据库,或者,为kafka平台等。图1所示的场景中,日志数据发送方100可以执行本实施例中的日志数据处理方法,以向日志数据接收方传输日志,并达到减少日志传输时所需传输的数据量,提高日志数据传输的稳定性的效果。
图2为本申请一实施例提供的日志数据处理方法的流程示意图,该方法可以由日志数据发送方执行,如图2所示,该流程包括以下步骤:
步骤S202,根据日志传输请求获取目标日志数据,并确定目标日志数据所属的目标业务场景;
步骤S204,获取目标业务场景对应的字段替换表,其中,字段替换表中记录有目标业务场景对应的日志字段的字段标识,以及该字段标识对应的替换字符,该替换字符的长度小于对应的字段标识的长度;
步骤S206,利用字段替换表,对目标日志数据中的日志字段的字段标识进行替换,以缩短目标日志数据中的日志字段的字段标识的长度,其中,目标日志数据中的日志字段包括目标业务场景对应的日志字段;
步骤S208,向日志数据接收方传输替换后的目标日志数据,其中,目标日志数据接收方具有访问字段替换表的权限。
本申请实施例中,在获取目标日志数据后,可以根据目标业务场景对应的字段替换表,对目标日志数据中的日志字段的字段标识进行替换,以缩短目标日志数据中的日志字段的字段标识的长度,并向日志数据接收方传输替换后的目标日志数据。由于通过替换字段标识的方式缩短了目标日志数据中的日志字段的字段标识的长度,因此能够达到减少日志传输时所需传输的数据量,提高日志数据传输的稳定性的效果。由于日志数据接收方具有访问上述字段替换表的权限,因此无需向日志数据接收方传输字段替换表,日志数据接收方可以自行访问上述字段替换表,从而对替换后的目标日志数据进行还原,进一步达到了减少日志传输时所需传输的数据量,提高日志数据传输的稳定性的效果。
上述步骤S102中,日志数据发送方可以从日志数据接收方处获取日志传输请求,日志传输请求中携带有待传输的日志标识。日志数据发送方可以根据该日志标识,获取待传输的目标日志数据,日志数据发送方还可以根据该日志标识,确定目标日志数据所属的目标业务场景。
一个例子中,日志数据发送方从日志数据接收方处获取日志传输请求,日志传输请求携带有日志标识,日志标识举例为“支付日志,2018-10-1至2018-10-21”,则日志数据发送方根据该日志标识,获取2018年10月1日至2018年10月21日之间的支付日志数据作为目标日志数据,并根据该日志标识,确定目标日志数据所属的目标业务场景为支付场景。
本实施例中,预先为目标业务场景创建有字段替换表。该创建过程可以为:
(a1)确定目标业务场景对应的多个日志字段,以及该多个日志字段中每个日志字段的字段标识;
(a2)为该多个日志字段中每个日志字段的字段标识生成相对应的替换字符;
(a3)利用该多个日志字段的字段标识,以及,该多个日志字段中每个日志字段的字段标识对应的替换字符,组合得到目标业务场景对应的字段替换表。
具体地,对于每个业务场景而言,该业务场景对应的日志数据中,包含的日志字段是相同的,比如,支付场景的日志数据中,包括“用户标识”、“交易信息”、“交易时间”、“交易金额”等字段,下单场景的日志数据中,包括“用户标识”、“下单时间”、“买家留言”、“商品信息”等字段。
基于此,本实施例中,先确定目标业务场景对应的多个日志字段,该确定过程中,可以确定目标业务场景对应的全部日志字段,也可以确定目标业务场景对应的部分日志字段。确定目标业务场景对应的部分日志字段时,可以为目标业务场景设定长度阈值,在目标业务场景对应的全部日志字段中,将字段标识的长度大于该长度阈值的日志字段确定出来,从而确定目标业务场景对应的部分日志字段。
通过设定长度阈值的方式,将目标业务场景中字段标识的长度大于该长度阈值的日志字段确定出来,能够使得后续替换目标日志数据中的字段标识时,替换长度较长的字段标识,从而使字段标识的替换更具有针对性。
在确定目标业务场景对应的多个日志字段后,确定该多个日志字段中每个日志字段的字段标识。比如,目标业务场景为支付场景,多个日志字段包括“交易渠道”字段和“客户名称”字段,“交易渠道”的字段标识为“message__base_info__host_info__channel_id”,“客户名称”的字段标识为“message__base_info__host_info__client_id”。
然后,上述动作(a2)中,为该多个日志字段中每个日志字段的字段标识生成相对应的替换字符,可以在MYSQL数据库中记录该多个日志字段中每个日志字段的字段标识,利用MYSQL数据库的自增ID(identy,标识)功能,为该多个日志字段中每个日志字段的字段标识生成相对应的替换字符。具体地,MYSQL数据库具有自增ID功能,利用该功能,能够为该多个日志字段中每个日志字段的字段标识生成唯一DI,将该唯一ID作为相对应的替换字符,可以保证每个替换字符的唯一性。在MYSQL数据库中生成替换字符,还能够方便在问题排查时进行问题定位。
最后,上述动作(a3)中,利用该多个日志字段的字段标识,以及,该多个日志字段中每个日志字段的字段标识对应的替换字符,组合得到目标业务场景对应的字段替换表。目标业务场景对应的字段替换表可以举例如下表1所示。
表1
替换字符 | 日志字段的字段标识 |
1 | message__base_info__host_info__channel_id |
2 | message__base_info__host_info__client_id |
3 | message__base_info__host_info__install_time |
4 | message__base_info__host_info__installer_source |
5 | message__base_info__host_info__is_system |
6 | message__base_info__host_info__module |
7 | message__base_info__host_info__package_name |
本实施例中,在为目标业务场景创建对应的字段替换表后,由于字段替换表中记录有目标业务场景对应的日志字段的字段标识和对应的替换字符,并且,目标日志数据中的日志字段包括目标业务场景对应的日志字段,因此可以获取该字段替换表,利用该字段替换表,对目标日志数据中的日志字段的字段标识进行替换,以缩短目标日志数据中的日志字段的字段标识的长度。
比如,字段替换表中记录有目标业务场景对应的日志字段A、日志字段B和日志字段C的字段标识和对应的替换字符,目标日志数据中的日志字段包括目标业务场景对应的日志字段A、日志字段B、日志字段C和日志字段D,则能够利用该字段替换表,对目标日志数据中的日志字段A、B、C的字段标识进行替换,以缩短目标日志数据中的日志字段的字段标识的长度。
上述步骤S206中,利用字段替换表,对目标日志数据中的日志字段的字段标识进行替换,可以为:
(b1)在字段替换表中查找目标日志数据中的日志字段的字段标识,并获取查找到的字段标识对应的替换字符;
(b2)在目标日志数据中,利用查找到的字段标识对应的替换字符替换查找到的字段标识。
以上述表1为例,目标日志数据中的日志字段的字段标识包括“message__base_info__host_info__channel_id”,在上表1中查找该标识,并获取对应的替换字符“1”,然后,在目标日志数据中,利用“1”替换“message__base_info__host_info__channel_id”。
一个例子中,假设目标日志数据为:
{"message__base_info__host_info__channel_id":"google","message__base_info__host_info__client_id":"1nt9ape0du1102kjix9oggu1sbj66b10","message__base_info__host_info__install_time":"|2018-06-27
15:21:00","message__base_info__host_info__installer_source":"google","message__base_info__host_info__is_system":"1","message__base_info__host_info__module":"SM-G930F","message__base_info__host_info__version_code":"1.0.1"}
利用上表1对字段标识进行替换后,得到:{"1":"google","2":"1nt9ape0du1102kjix9oggu1sbj66b10","3":"2018-06-27
15:21:00","4":"google","5":"1","6":"SM-G930F","7":"1.0.1"}
可见,通过替换字段标识的方式大大缩短了目标日志数据中的日志字段的字段标识的长度,在日志数据跨机房传输、或者日志数据利用公网传输等情况下,通过缩短字段标识的长度,减少日志传输时所需传输的数据量,能够在不增加硬件成本、不影响业务进度的情况下,有效提高日志数据传输的稳定性和可靠性,缓解日志传输时数据丢失、数据延迟等情况。
考虑到随着业务的变化,目标业务场景对应的字段替换表中的字段标识不全面的情况,本实施例中的方法还包括:在利用字段替换表,对目标日志数据中的日志字段的字段标识进行替换之后,若确定目标日志数据中存在未被替换的字段标识,则为该未被替换的字段标识生成相对应的替换字符,在目标日志数据中,利用该未被替换的字段标识对应的替换字符替换该未被替换的字段标识,并将该未被替换的字段标识和该未被替换的字段标识对应的替换字符记录在目标业务场景对应的字段替换表中。
具体地,在利用字段替换表,对目标日志数据中的日志字段的字段标识进行替换之后,判断目标日志数据中是否存在未被替换的字段标识,若存在,则说明字段替换表中没有记录该未被替换的字段标识,因此,本实施例中,为该未被替换的字段标识生成相对应的替换字符,可以在MYSQL数据库中,利用该数据库的自增ID功能,为该未被替换的字段标识生成相对应的替换字符,该替换字符不与前述生成的替换字符相重复。
然后,在目标日志数据中,利用该未被替换的字段标识对应的替换字符替换该未被替换的字段标识,从而保证目标日志数据中的每个字段标识均被替换,该替换过程可以如前面描述,这里不再重复。
最后,还将该未被替换的字段标识和该未被替换的字段标识对应的替换字符记录在目标业务场景对应的字段替换表中,从而在一开始未建立全量的目标业务场景对应的字段替换表的情况下,补全目标业务场景对应的字段替换表。
在一个具体的实施例中,首先,确定目标业务场景对应的全部日志字段,以及每个日志字段的字段标识,在MYSQL数据库中,记录该每个日志字段的字段标识,利用MYSQL数据库的自增ID功能,为该每个日志字段的字段标识生成相对应的替换字符,在MYSQL数据库中,将该每个日志字段的字段标识和每个日志字段的字段标识对应的替换字符组成如上表1所示的字段替换表。
然后,将该字段替换表读取出来存储在内存中,从而在对目标日志数据进行替换时,可以直接从内存中读取字段替换表,无需从数据库中读取字段替换表,提高数据查询和数据替换的效率。
最后,利用字段替换表,对目标日志数据中的日志字段的字段标识进行替换。在利用字段替换表,对目标日志数据中的日志字段的字段标识进行替换之后,若确定目标日志数据中存在未被替换的字段标识,则将该未被替换的字段标识写入MYSQL数据库中,利用MYSQL数据库的自增ID功能,为该未被替换的字段标识生成相对应的替换字符,并将该未被替换的字段标识和对应的替换字符同步到内存中的字段替换表中,然后对该未被替换的字段标识进行替换。
可见,通过本实施例,能够解决字段标识替换不全的问题,并可以在一开始未建立全量的目标业务场景对应的字段替换表的情况下,补全目标业务场景对应的字段替换表,提高目标业务场景的可扩展性,支持目标业务场景随时增加新的日志字段。
本实施例中,目标日志数据包括多条子数据,目标日志数据中的日志字段位于各条子数据中,也即,目标日志数据由多条子数据组成,每条子数据由目标日志数据中的日志字段构成。相应地,本实施例中的方法还包括:在利用目标业务场景对应的字段替换表,对目标日志数据中的日志字段的字段标识进行替换之前,根据各条子数据的格式和/或各条子数据的标识,在目标日志数据中确定问题子数据并删除。
一个情况下,根据各条子数据的格式,在目标日志数据中确定格式错误的子数据作为问题子数据,并在目标日志数据中删除问题子数据。另一个情况下,根据各条子数据的标识,在目标日志数据中确定调试子数据作为问题子数据,并在目标日志数据中删除问题子数据。又一个情况下,根据各条子数据的格式,在目标日志数据中确定格式错误的子数据作为问题子数据,根据各条子数据的标识,在目标日志数据中确定调试子数据作为问题子数据,在目标日志数据中删除这两种问题子数据。
本实施例中,各条子数据具有对应的标识,通过该标识可以区分该条子数据是否为调试子数据,比如,该标识为1,则该条子数据为调试子数据,该标识为0,则该条子数据不为调试子数据。调试子数据指的是在调试业务的过程中生成的调试数据,由于调试子数据表示业务调试结果,不表示业务的正常运行结果,因此不是监测业务是否正常的必要日志,因此这里予以删除。
图3为本申请另一实施例提供的日志数据处理方法的流程示意图,该方法可以由日志数据发送方执行,如图3所示,该流程包括以下步骤:
步骤S302,根据日志传输请求获取目标日志数据。
步骤S304,根据目标日志数据中各条子数据的格式和/或各条子数据的标识,在目标日志数据中确定问题子数据并删除。
步骤S306,确定目标日志数据所属的目标业务场景,并获取目标业务场景对应的字段替换表。
步骤S308,利用字段替换表,对删除后的目标日志数据中的日志字段的字段标识进行替换,以缩短目标日志数据中的日志字段的字段标识的长度。
步骤S310,向日志数据接收方传输替换后的目标日志数据。
通过图3中的流程,能够在替换字段标识之前,在目标日志数据中确定并删除问题子数据,从而剔除不必要的数据,减少替换字段标识的工作量,保证向日志数据接收方传输所需的日志数据。
一个实施例中,向日志数据接收方传输替换后的目标日志数据,可以为:
(c1)确定当前的网络传输速率,根据预设的网络传输速率范围和字段优先级阈值之间的对应关系,确定当前的网络传输速率对应的目标字段优先级阈值;
(c2)确定替换后的目标日志数据中各个字段的字段优先级,并在替换后的目标日志数据中确定字段优先级高于等于目标字段优先级阈值的第一字段,向日志数据接收方传输替换后的第一字段的字段标识和字段取值。
具体地,本实施例中目标日志数据的各个字段预设有对应的字段优先级,比如,优先级最高为7级,最低为1。本实施例中,还预设有网络传输速率范围和字段优先级阈值之间的对应关系,该对应关系可以如下表2所示。
表2
网络传输速率范围 | 字段优先级阈值 |
[10M/s,0) | 6 |
[50M/s,10M/s) | 3 |
[100M/s,50M/s) | 1 |
本实施例中,确定当前的网络传输速率,根据预设的网络传输速率范围和字段优先级阈值之间的对应关系,确定当前的网络传输速率对应的目标字段优先级阈值,比如当前的网络传输速率为60M/s,则根据上表2确定目标字段优先级阈值为3。
接下来,在替换后的目标日志数据中,确定各个字段的字段优先级,其中,目标日志数据中可以有一专门的标识数据用于标识各个字段的字段优先级。在确定得到各个字段的字段优先级后,在替换后的目标日志数据中确定字段优先级高于等于目标字段优先级阈值字段为第一字段,向日志数据接收方传输替换后的第一字段的字段标识和字段取值。
举例,目标字段优先级阈值为3,则在替换后的目标日志数据中,将字段优先级阈值高于或等于3的字段确定为第一字段,并将第一字段的字段标识和字段取值提取出来发送至日志数据接收方,其中,由于目标日志数据中的字段标识被替换后,因此传输的第一字段的字段标识为基于替换字符替换后的字段标识。
通过以上方式,能够达到基于网络传输速率确定需要传输的字段的效果,从而根据网络传输速率优先传输优先级高的字段,便于日志数据接收方在网络情况不好的时候优先获取重要字段的字段取值。
另一实施例中,向日志数据接收方传输替换后的目标日志数据,可以为:
(d1)根据预设的各业务场景和各数据传输协议之间的对应关系,确定目标业务场景对应的目标传输协议;
(d2)利用目标传输协议向日志数据接收方传输替换后的目标日志数据。
本实施例中,预设有各业务场景和各数据传输协议之间的对应关系,比如,对于安全性要求较高的业务场景,可以设置其对应的数据传输协议为TCP(Transmission ControlProtocol,传输控制协议),对于安全性要求不高的业务场景,可以设置其对应的数据传输协议为UDP(User Datagram Protocol,用户数据报协议),各业务场景和各数据传输协议之间的对应关系可以通过类似于上面表1表2的形式表示,这里不再举例。
本实施例中,首先,根据预设的各业务场景和各数据传输协议之间的对应关系,确定目标业务场景对应的目标传输协议,比如,目标业务场景为支付场景,目标传输协议为TCP。然后,利用目标传输协议向日志数据接收方传输替换后的目标日志数据。
通过以上方式,能够达到基于业务场景确定数据传输协议的效果,从而有针对性地确定所需的数据传输协议,提高数据传输效率。
本实施例中,日志数据接收方在接收到目标日志数据后,还可以访问字段替换表,比如访问MYSQL数据库中的字段替换表,根据字段替换表对目标日志数据中的字段标识进行反替换,从而得到完整的目标日志数据。
下面以Flume日志采集系统为例,说明本实施例中的日志数据处理方法的一种具体实现方式。
图4为本申请另一实施例提供的日志数据处理方法的流程示意图,该方法可以由Flume日志采集系统中的日志数据发送方执行,如图4所示,该流程包括以下步骤:
步骤S402,在flume中开发拦截器,该拦截器的作用是替换日志数据中的字段标识。
本步骤中,基于flume的source开发拦截器,建立新的拦截器的class文件,继承Interceptor父类,自定义拦截器采用继承Interceptor父类的方式开发,并采用flume的拦截器模板,可以提高开发效率和开发速度。
本步骤中,还编译打包代码,将生成的java包上传到flume的lib目录下,从而方便对拦截器进行管理,并修改flume的配置文件,设置拦截器的类型,指定使用的自定义的拦截器的类名,然后启动flume-ng,从而使拦截器生效。
步骤S404,在MYSQL数据库中,基于MYSQL的自增ID功能,建立目标业务场景对应的字段替换表。
步骤S406,获取目标业务场景对应的目标日志数据。
步骤S408,将目标日志数据中的调试数据和格式错误的数据删除。
步骤S410,利用所开发的拦截器,根据目标业务场景对应的字段替换表,对删除后的目标日志数据中的字段标识进行替换。
本步骤中,目标日志数据的格式为json格式,可以将目标业务场景对应的字段替换表读取到内存中,在内存中查找字段替换表中的替换字符,从而对目标日志数据中的字段标识进行替换,并基于内存查找的方式提高数据查找效率。
步骤S412,将替换后的目标日志数据传输至HDFS数据库。
通过该步骤,日志数据接收方可以从HDFS上读取传输过来的日志数据,读取MYSQL数据库中的字段替换表,进行日志数据的反替换。
综上,通过本实施例,通过替换字段标识的方式大大缩短了目标日志数据中的日志字段的字段标识的长度,在日志数据跨机房传输、或者日志数据利用公网传输等情况下,通过缩短字段标识的长度,减少日志传输时所需传输的数据量,能够在不增加硬件成本、不影响业务进度的情况下,有效提高日志数据传输的稳定性和可靠性,缓解日志传输时数据丢失、数据延迟等情况。
本申请实施例还提供了一种日志数据处理装置,用于实现上面的日志数据处理方法,图5为本申请一实施例提供的日志数据处理装置的模块组成示意图,如图5所示,该装置包括:
确定模块51,用于根据日志传输请求获取目标日志数据,并确定所述目标日志数据所属的目标业务场景;
获取模块52,用于获取所述目标业务场景对应的字段替换表;其中,所述字段替换表中记录有所述目标业务场景对应的日志字段的字段标识,以及所述字段标识对应的替换字符,所述替换字符的长度小于对应的所述字段标识的长度;
替换模块53,用于利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换,以缩短所述目标日志数据中的日志字段的字段标识的长度;其中,所述目标日志数据中的日志字段包括所述目标业务场景对应的日志字段;
传输模块54,用于向日志数据接收方传输替换后的所述目标日志数据;其中,所述目标日志数据接收方具有访问所述字段替换表的权限。
可选地,所述装置还包括建立模块,用于:确定所述目标业务场景对应的多个日志字段,以及所述多个日志字段中每个日志字段的字段标识;为所述多个日志字段中每个日志字段的字段标识生成相对应的替换字符;利用所述多个日志字段的字段标识,以及,所述多个日志字段中每个日志字段的字段标识对应的替换字符,组合得到所述目标业务场景对应的字段替换表。
可选地,所述建立模块具体用于:在MYSQL数据库中记录所述多个日志字段中每个日志字段的字段标识,利用MYSQL数据库的自增ID功能,为所述多个日志字段中每个日志字段的字段标识生成相对应的替换字符。
可选地,所述替换模块53具体用于:在所述字段替换表中查找所述目标日志数据中的日志字段的字段标识,并获取查找到的字段标识对应的替换字符;在所述目标日志数据中,利用所述查找到的字段标识对应的替换字符替换所述查找到的字段标识。
可选地,所述装置还包括补充模块,用于:在利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换之后,若确定所述目标日志数据中存在未被替换的字段标识,则为所述未被替换的字段标识生成相对应的替换字符;在所述目标日志数据中,利用所述未被替换的字段标识对应的替换字符替换所述未被替换的字段标识,并将所述未被替换的字段标识和所述未被替换的字段标识对应的替换字符记录在所述字段替换表中。
可选地,所述目标日志数据包括多条子数据,所述目标日志数据中的日志字段位于各条所述子数据中;所述装置还包括删除模块,用于:在利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换之前,根据各条子数据的格式和/或各条子数据的标识,在所述目标日志数据中确定问题子数据并删除。
可选地,所述传输模块54具体用于:确定当前的网络传输速率,根据预设的网络传输速率范围和字段优先级阈值之间的对应关系,确定所述当前的网络传输速率对应的目标字段优先级阈值;确定替换后的所述目标日志数据中各个字段的字段优先级,并在替换后的所述目标日志数据中确定字段优先级高于或等于所述目标字段优先级阈值的第一字段,向日志数据接收方传输替换后的所述第一字段的字段标识和字段取值。
可选地,所述传输模块54具体用于:根据预设的各业务场景和各数据传输协议之间的对应关系,确定所述目标业务场景对应的目标传输协议;利用所述目标传输协议向日志数据接收方传输替换后的所述目标日志数据。
本申请实施例中,在获取目标日志数据后,可以根据目标业务场景对应的字段替换表,对目标日志数据中的日志字段的字段标识进行替换,以缩短目标日志数据中的日志字段的字段标识的长度,并向日志数据接收方传输替换后的目标日志数据。由于通过替换字段标识的方式缩短了目标日志数据中的日志字段的字段标识的长度,因此能够达到减少日志传输时所需传输的数据量,提高日志数据传输的稳定性的效果。由于日志数据接收方具有访问上述字段替换表的权限,因此无需向日志数据接收方传输字段替换表,日志数据接收方可以自行访问上述字段替换表,从而对替换后的目标日志数据进行还原,进一步达到了减少日志传输时所需传输的数据量,提高日志数据传输的稳定性的效果。
本实施例中的日志数据处理装置能够实现前述日志数据处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本申请实施例还提供了一种日志数据处理设备,图6为本申请一实施例提供的日志数据处理设备的结构示意图,如图6所示,该设备包括:存储器601、处理器602、总线603和通信接口604。存储器601、处理器602和通信接口604通过总线603进行通信,通信接口604可以包括输入输出接口,输入输出接口包括但不限于键盘、鼠标、显示器、麦克风、扩音器等。
图6中,所述存储器601上存储有可在所述处理器602上运行的计算机可执行指令,所述计算机可执行指令被所述处理器602执行时实现以下流程:
根据日志传输请求获取目标日志数据,并确定所述目标日志数据所属的目标业务场景;
获取所述目标业务场景对应的字段替换表;其中,所述字段替换表中记录有所述目标业务场景对应的日志字段的字段标识,以及所述字段标识对应的替换字符,所述替换字符的长度小于对应的所述字段标识的长度;
利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换,以缩短所述目标日志数据中的日志字段的字段标识的长度;其中,所述目标日志数据中的日志字段包括所述目标业务场景对应的日志字段;
向日志数据接收方传输替换后的所述目标日志数据;其中,所述目标日志数据接收方具有访问所述字段替换表的权限。
可选地,所述计算机可执行指令被所述处理器执行时,还包括:确定所述目标业务场景对应的多个日志字段,以及所述多个日志字段中每个日志字段的字段标识;为所述多个日志字段中每个日志字段的字段标识生成相对应的替换字符;利用所述多个日志字段的字段标识,以及,所述多个日志字段中每个日志字段的字段标识对应的替换字符,组合得到所述目标业务场景对应的字段替换表。
可选地,所述计算机可执行指令被所述处理器执行时,为所述多个日志字段中每个日志字段的字段标识生成相对应的替换字符,包括:在MYSQL数据库中记录所述多个日志字段中每个日志字段的字段标识,利用MYSQL数据库的自增ID功能,为所述多个日志字段中每个日志字段的字段标识生成相对应的替换字符。
可选地,所述计算机可执行指令被所述处理器执行时,利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换,包括:在所述字段替换表中查找所述目标日志数据中的日志字段的字段标识,并获取查找到的字段标识对应的替换字符;在所述目标日志数据中,利用所述查找到的字段标识对应的替换字符替换所述查找到的字段标识。
可选地,所述计算机可执行指令被所述处理器执行时,还包括:在利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换之后,若确定所述目标日志数据中存在未被替换的字段标识,则为所述未被替换的字段标识生成相对应的替换字符;在所述目标日志数据中,利用所述未被替换的字段标识对应的替换字符替换所述未被替换的字段标识,并将所述未被替换的字段标识和所述未被替换的字段标识对应的替换字符记录在所述字段替换表中。
可选地,所述计算机可执行指令被所述处理器执行时,所述目标日志数据包括多条子数据,所述目标日志数据中的日志字段位于各条所述子数据中;还包括:在利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换之前,根据各条子数据的格式和/或各条子数据的标识,在所述目标日志数据中确定问题子数据并删除。
可选地,所述计算机可执行指令被所述处理器执行时,向日志数据接收方传输替换后的所述目标日志数据,包括:确定当前的网络传输速率,根据预设的网络传输速率范围和字段优先级阈值之间的对应关系,确定所述当前的网络传输速率对应的目标字段优先级阈值;确定替换后的所述目标日志数据中各个字段的字段优先级,并在替换后的所述目标日志数据中确定字段优先级高于或等于所述目标字段优先级阈值的第一字段,向日志数据接收方传输替换后的所述第一字段的字段标识和字段取值。
可选地,所述计算机可执行指令被所述处理器执行时,向日志数据接收方传输替换后的所述目标日志数据,包括:根据预设的各业务场景和各数据传输协议之间的对应关系,确定所述目标业务场景对应的目标传输协议;利用所述目标传输协议向日志数据接收方传输替换后的所述目标日志数据。
本申请实施例中,在获取目标日志数据后,可以根据目标业务场景对应的字段替换表,对目标日志数据中的日志字段的字段标识进行替换,以缩短目标日志数据中的日志字段的字段标识的长度,并向日志数据接收方传输替换后的目标日志数据。由于通过替换字段标识的方式缩短了目标日志数据中的日志字段的字段标识的长度,因此能够达到减少日志传输时所需传输的数据量,提高日志数据传输的稳定性的效果。由于日志数据接收方具有访问上述字段替换表的权限,因此无需向日志数据接收方传输字段替换表,日志数据接收方可以自行访问上述字段替换表,从而对替换后的目标日志数据进行还原,进一步达到了减少日志传输时所需传输的数据量,提高日志数据传输的稳定性的效果。
本申请实施例提供的日志数据处理设备能够实现前述日志数据处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令被处理器执行时能够实现前述日志数据处理方法实施例中的各个过程,并达到相同的功能和效果,这里不再重复。
其中,所述的计算机可读存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种日志数据处理方法,其特征在于,包括:
根据日志传输请求获取目标日志数据,并确定所述目标日志数据所属的目标业务场景;
获取所述目标业务场景对应的字段替换表;其中,所述字段替换表中记录有所述目标业务场景对应的日志字段的字段标识,以及所述字段标识对应的替换字符,所述替换字符的长度小于对应的所述字段标识的长度;
利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换,以缩短所述目标日志数据中的日志字段的字段标识的长度;其中,所述目标日志数据中的日志字段包括所述目标业务场景对应的日志字段;
向日志数据接收方传输替换后的所述目标日志数据;其中,所述目标日志数据接收方具有访问所述字段替换表的权限。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述目标业务场景对应的多个日志字段,以及所述多个日志字段中每个日志字段的字段标识;
为所述多个日志字段中每个日志字段的字段标识生成相对应的替换字符;
利用所述多个日志字段的字段标识,以及,所述多个日志字段中每个日志字段的字段标识对应的替换字符,组合得到所述目标业务场景对应的字段替换表。
3.根据权利要求2所述的方法,其特征在于,为所述多个日志字段中每个日志字段的字段标识生成相对应的替换字符,包括:
在MYSQL数据库中记录所述多个日志字段中每个日志字段的字段标识,利用MYSQL数据库的自增ID功能,为所述多个日志字段中每个日志字段的字段标识生成相对应的替换字符。
4.根据权利要求1所述的方法,其特征在于,利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换,包括:
在所述字段替换表中查找所述目标日志数据中的日志字段的字段标识,并获取查找到的字段标识对应的替换字符;
在所述目标日志数据中,利用所述查找到的字段标识对应的替换字符替换所述查找到的字段标识。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换之后,若确定所述目标日志数据中存在未被替换的字段标识,则为所述未被替换的字段标识生成相对应的替换字符;
在所述目标日志数据中,利用所述未被替换的字段标识对应的替换字符替换所述未被替换的字段标识,并将所述未被替换的字段标识和所述未被替换的字段标识对应的替换字符记录在所述字段替换表中。
6.根据权利要求1所述的方法,其特征在于,所述目标日志数据包括多条子数据,所述目标日志数据中的日志字段位于各条所述子数据中;所述方法还包括:
在利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换之前,根据各条子数据的格式和/或各条子数据的标识,在所述目标日志数据中确定问题子数据并删除。
7.根据权利要求1至6任一项所述的方法,其特征在于,向日志数据接收方传输替换后的所述目标日志数据,包括:
确定当前的网络传输速率,根据预设的网络传输速率范围和字段优先级阈值之间的对应关系,确定所述当前的网络传输速率对应的目标字段优先级阈值;
确定替换后的所述目标日志数据中各个字段的字段优先级,并在替换后的所述目标日志数据中确定字段优先级高于或等于所述目标字段优先级阈值的第一字段,向日志数据接收方传输替换后的所述第一字段的字段标识和字段取值。
8.根据权利要求1至6任一项所述的方法,其特征在于,向日志数据接收方传输替换后的所述目标日志数据,包括:
根据预设的各业务场景和各数据传输协议之间的对应关系,确定所述目标业务场景对应的目标传输协议;
利用所述目标传输协议向日志数据接收方传输替换后的所述目标日志数据。
9.一种日志数据处理装置,其特征在于,包括:
确定模块,用于根据日志传输请求获取目标日志数据,并确定所述目标日志数据所属的目标业务场景;
获取模块,用于获取所述目标业务场景对应的字段替换表;其中,所述字段替换表中记录有所述目标业务场景对应的日志字段的字段标识,以及所述字段标识对应的替换字符,所述替换字符的长度小于对应的所述字段标识的长度;
替换模块,用于利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换,以缩短所述目标日志数据中的日志字段的字段标识的长度;其中,所述目标日志数据中的日志字段包括所述目标业务场景对应的日志字段;
传输模块,用于向日志数据接收方传输替换后的所述目标日志数据;其中,所述目标日志数据接收方具有访问所述字段替换表的权限。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括建立模块,用于:
确定所述目标业务场景对应的多个日志字段,以及所述多个日志字段中每个日志字段的字段标识;
为所述多个日志字段中每个日志字段的字段标识生成相对应的替换字符;
利用所述多个日志字段的字段标识,以及,所述多个日志字段中每个日志字段的字段标识对应的替换字符,组合得到所述目标业务场景对应的字段替换表。
11.根据权利要求10所述的装置,其特征在于,所述建立模块具体用于:
在MYSQL数据库中记录所述多个日志字段中每个日志字段的字段标识,利用MYSQL数据库的自增ID功能,为所述多个日志字段中每个日志字段的字段标识生成相对应的替换字符。
12.根据权利要求9所述的装置,其特征在于,所述替换模块具体用于:
在所述字段替换表中查找所述目标日志数据中的日志字段的字段标识,并获取查找到的字段标识对应的替换字符;
在所述目标日志数据中,利用所述查找到的字段标识对应的替换字符替换所述查找到的字段标识。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括补充模块,用于:
在利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换之后,若确定所述目标日志数据中存在未被替换的字段标识,则为所述未被替换的字段标识生成相对应的替换字符;
在所述目标日志数据中,利用所述未被替换的字段标识对应的替换字符替换所述未被替换的字段标识,并将所述未被替换的字段标识和所述未被替换的字段标识对应的替换字符记录在所述字段替换表中。
14.根据权利要求9所述的装置,其特征在于,所述目标日志数据包括多条子数据,所述目标日志数据中的日志字段位于各条所述子数据中;所述装置还包括删除模块,用于:
在利用所述字段替换表,对所述目标日志数据中的日志字段的字段标识进行替换之前,根据各条子数据的格式和/或各条子数据的标识,在所述目标日志数据中确定问题子数据并删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811408036.8A CN109743188A (zh) | 2018-11-23 | 2018-11-23 | 日志数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811408036.8A CN109743188A (zh) | 2018-11-23 | 2018-11-23 | 日志数据处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109743188A true CN109743188A (zh) | 2019-05-10 |
Family
ID=66358124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811408036.8A Pending CN109743188A (zh) | 2018-11-23 | 2018-11-23 | 日志数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109743188A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110187976A (zh) * | 2019-07-24 | 2019-08-30 | 翱捷科技(上海)有限公司 | 一种移动终端的日志输出控制方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103841052A (zh) * | 2012-11-27 | 2014-06-04 | 中国科学院声学研究所 | 一种带宽资源分配系统与方法 |
CN104283723A (zh) * | 2014-10-31 | 2015-01-14 | 北京蓝汛通信技术有限责任公司 | 网络访问日志处理方法及装置 |
CN104378234A (zh) * | 2014-11-19 | 2015-02-25 | 北京数迅科技有限公司 | 跨数据中心的数据传输处理方法及系统 |
US20160197621A1 (en) * | 2015-01-04 | 2016-07-07 | Emc Corporation | Text compression and decompression |
CN106886483A (zh) * | 2015-12-16 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 提供、获取终端应用日志的方法和装置 |
CN108322350A (zh) * | 2018-02-27 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 业务监控方法及装置和电子设备 |
-
2018
- 2018-11-23 CN CN201811408036.8A patent/CN109743188A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103841052A (zh) * | 2012-11-27 | 2014-06-04 | 中国科学院声学研究所 | 一种带宽资源分配系统与方法 |
CN104283723A (zh) * | 2014-10-31 | 2015-01-14 | 北京蓝汛通信技术有限责任公司 | 网络访问日志处理方法及装置 |
CN104378234A (zh) * | 2014-11-19 | 2015-02-25 | 北京数迅科技有限公司 | 跨数据中心的数据传输处理方法及系统 |
US20160197621A1 (en) * | 2015-01-04 | 2016-07-07 | Emc Corporation | Text compression and decompression |
CN106886483A (zh) * | 2015-12-16 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 提供、获取终端应用日志的方法和装置 |
CN108322350A (zh) * | 2018-02-27 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 业务监控方法及装置和电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110187976A (zh) * | 2019-07-24 | 2019-08-30 | 翱捷科技(上海)有限公司 | 一种移动终端的日志输出控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107368259B (zh) | 一种向区块链系统中写入业务数据的方法和装置 | |
CN101009516B (zh) | 一种进行数据同步的方法、系统及装置 | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
CN101711470A (zh) | 一种用于在对等网络上创建共享信息列表的系统和方法 | |
CN104346365A (zh) | 确定与特定业务相关的关联日志的方法和装置 | |
CN108289034A (zh) | 一种故障发现方法和装置 | |
CN107347062A (zh) | 一种日志数据处理的方法、电子设备和可读存储介质 | |
CN110910143A (zh) | 身份标识生成方法、装置、相关节点及介质 | |
CN111353136B (zh) | 一种操作请求的处理方法和装置 | |
CN109377383A (zh) | 产品数据同步方法、装置、计算机设备及存储介质 | |
CN103825918A (zh) | 数据同步方法、终端设备、服务器和系统 | |
CN110619022B (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN111083179A (zh) | 物联网云平台、基于物联网云平台的设备交互方法及装置 | |
CN116308344A (zh) | 一种基于区块链的交易数据认证共识方法和系统 | |
US7991008B2 (en) | Method for identifying the transmission control protocol stack of a connection | |
CN105184559B (zh) | 一种支付系统及方法 | |
CN111367916B (zh) | 一种数据存储方法及装置 | |
CN109743188A (zh) | 日志数据处理方法和装置 | |
CN114338527B (zh) | IPv6主动标识符处理方法及系统 | |
CN114239963A (zh) | 有向图循环路径检测方法及装置 | |
US9374474B1 (en) | System, method, and computer program for detecting duplicated telecommunications events in a consumer telecommunications network | |
CN113922972A (zh) | 基于md5标识码的数据转发方法和装置 | |
CN112732789A (zh) | 基于区块链的可搜索加密方法和电子设备 | |
CN112671842A (zh) | 信息传递方法、装置、电子设备及可读存储介质 | |
CN111241005A (zh) | 一种基于键值对的安全分区存储方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190510 |
|
RJ01 | Rejection of invention patent application after publication |