CN113934683A - 一种日志传输方法、装置、cdn***及电子设备 - Google Patents
一种日志传输方法、装置、cdn***及电子设备 Download PDFInfo
- Publication number
- CN113934683A CN113934683A CN202010668653.2A CN202010668653A CN113934683A CN 113934683 A CN113934683 A CN 113934683A CN 202010668653 A CN202010668653 A CN 202010668653A CN 113934683 A CN113934683 A CN 113934683A
- Authority
- CN
- China
- Prior art keywords
- log
- format
- information
- preset
- field
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种日志传输方法、装置、CDN***及电子设备。其中,所述方法包括:获取待传输日志;根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,所述预设日志模板为针对所述待传输日志所属目标用户预先配置的;将所述自定义日志上传至预设日志存储设备。可以通过日志模板对上传至日志存储设备的日志的日志格式进行配置,可以通过针对不同用户设置不同的日志模板,实现不同的用户的日志具有不同的日志格式,即实现了日志格式的自定义,并且无需针对用户需求对底层逻辑进行更改,因此可以降低自定义日志格式的成本。
Description
技术领域
本发明涉及内容分发网络CDN技术领域,特别是涉及一种日志传输方法、装置、CDN***及电子设备。
背景技术
内容分发网络(Content Delivery Network,简称CDN)在运行过程中将产生大量的日志,日志中携带有详细的用户访问信息,因此CDN***的用户可以从日志获取信息,并基于获取到的信息对CDN上运行的业务进行分析。
根据日志格式的不同,日志携带信息的方式也各不相同,例如一种日志格式中第一个字段用于表示日志类型,另一种日志格式中第三个字段用于表示日志类型,又例如一种日志格式中日志类型是以字母的形式表示的,另一种日志格式中日志类型是以数字的形式表示的。从日志中获取信息的方式理论上应当与日志携带信息的方式对应,而不同用户出于实际需求的不同,获取信息的方式可能不同,因此不同用户可能对日志格式有不同的要求。
相关技术中,用户可以与CDN***的提供方协商,由CDN***的提供方修改CDN***中各CDN节点记录日志的底层逻辑,以使得CDN节点记录日志的格式可以满足用户的需求,但是修改底层逻辑的成本较高。
发明内容
本发明实施例的目的在于提供一种日志传输方法、装置、CDN***及电子设备,以实现降低自定义日志格式的成本。具体技术方案如下:
在本发明实施例的第一方面,提供了一种日志传输方法,应用于内容分发网络CDN***中任一具有日志传输功能的电子设备,所述方法包括:
获取待传输日志;
根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,所述预设日志模板为针对所述待传输日志所属目标用户预先配置的;
将所述自定义日志上传至预设日志存储设备。
在一种可能的实施例中,所述预设日志模板中包括至少一个字段格式信息,每个所述字段格式信息用于表示符合所述约定日志格式的日志中一个日志字段的生成方式;
所述根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,包括:
根据所述待传输日志所携带的信息,按照预设日志模板中的每个字段格式信息所表示的生成方式生成自定义日志字段;
组合所有所述自定义日志字段,得到自定义日志。
在一种可能的实施例中,所述字段格式信息包括赋值信息和标识信息,所述赋值信息用于表示值的获取方式,所述标识信息用于表示值的标识方式;
所述生按照预设日志模板中的每个字段格式信息所表示的生成方式生成自定义日志字段,包括:
按照所述字段格式信息中的赋值信息所表示的获取方式,获取值;
按照所述字段格式信息中的标识信息所表示的标识方式标识获取到的值,得到自定义日志字段。
在一种可能的实施中,所述赋值信息包括原字段标识,所述原字段标识为所述待传输日志中字段的标识;
所述按照所述字段格式信息中的赋值信息所表示的获取方式,获取值,包括:
从所述待传输日志中获取标识为所述原字段标识的字段的值。
在一种可能的实施例中,所述赋值信息包括赋值参数;
所述按照所述字段格式信息中的赋值信息所表示的获取方式,获取值,包括:
对所述字段格式信息的赋值信息中的赋值参数进行预设映射,将映射结果作为获取到的值。
在一种可能的实施例中,所述预设日志模板包括业务信息,所述业务信息用于表示产生所述待传输日志的业务;
在所述根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志之前,所述方法还包括:
按照所述业务信息表示的业务所约定的日志格式,确定所述待传输日志所携带的信息。
在一种可能的实施例中,所述将所述自定义日志上传至预设日志存储设备,包括:
将所述自定义日志上传至针对所述目标用户预先设置的日志存储设备。
在本发明实施例的第二方面,提供了一种日志传输模块,应用于CDN中任一具有日志传输功能的电子设备,所述装置包括:
日志获取模块,用于获取待传输日志;
格式转换模块,用于根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,所述预设日志模板为针对所述待传输日志所属目标用户预先配置的;
日志上传模块,用于将所述自定义日志上传至预设日志存储设备。
在一种可能的实施例中,所述预设日志模板中包括至少一个字段格式信息,每个所述字段格式信息用于表示符合所述约定日志格式的日志中一个日志字段的生成方式;
所述格式转换模块根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,包括:
根据所述待传输日志所携带的信息,按照预设日志模板中的每个字段格式信息所表示的生成方式生成自定义日志字段;
组合所有所述自定义日志字段,得到自定义日志。
在一种可能的实施例中,所述字段格式信息包括赋值信息和标识信息,所述赋值信息用于表示值的获取方式,所述标识信息用于表示值的标识方式;
所述格式转换模块生按照预设日志模板中的每个字段格式信息所表示的生成方式生成自定义日志字段,包括:
按照所述字段格式信息中的赋值信息所表示的获取方式,获取值;
按照所述字段格式信息中的标识信息所表示的标识方式标识获取到的值,得到自定义日志字段。
在一种可能的实施例中,所述赋值信息包括原字段标识,所述原字段标识为所述待传输日志中字段的标识;
所述格式转换模块按照所述字段格式信息中的赋值信息所表示的获取方式,获取值,包括:
从所述待传输日志中获取标识为所述原字段标识的字段的值。
在一种可能的实施例中,所述赋值信息包括赋值参数;
所述格式转换模块按照所述字段格式信息中的赋值信息所表示的获取方式,获取值,包括:
对所述字段格式信息的赋值信息中的赋值参数进行预设映射,将映射结果作为获取到的值。
在一种可能的实施例中,所述预设日志模板包括业务信息,所述业务信息用于表示产生所述待传输日志的业务;
所述格式转化模块还用于在所述根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志之前,按照所述业务信息表示的业务所约定的日志格式,确定所述待传输日志所携带的信息。
在一种可能的实施例中,所述日志上传模块将所述自定义日志上传至预设日志存储设备,包括:
将所述自定义日志上传至针对所述目标用户预先设置的日志存储设备。
在本发明实施例的第三方面,提供了一种CDN***,所述CDN***包括多个CDN节点;
每个所述CDN节点通过上述第一方面任一所述的日志传输方法,将所述CDN节点本地缓存内的日志上传至预设日志存储设备。
在本发明实施例的第四方面,提供了一种电子设备,包括计算机可读存储介质,用于存放计算机程序;
处理器,用于执行计算机可读存储介质上所存放的程序时,实现上述第一方面任一所述的方法步骤。
在本发明实施例的第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的方法步骤。
本发明实施例有益效果:
本发明实施例提供的日志上传方法、装置、CDN***及电子设备,可以通过日志模板对上传至日志存储设备的日志的日志格式进行配置,可以通过针对不同用户设置不同的日志模板,实现不同的用户的日志具有不同的日志格式,即实现了日志格式的自定义,并且无需针对用户需求对底层逻辑进行更改,因此可以降低自定义日志格式的成本。。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的日志传输方法的一种流程示意图;
图2为本发明实施例提供的任务管理模块的一种结构示意图;
图3为本发明实施例提供的日志模板配置界面的一种示意图;
图4为本发明实施例提供的配置信息配置界面的一种示意图;
图5为本发明实施例提供的监控图的一种示意图;
图6为本发明实施例提供的日志传输装置的一种结构示意图;
图7为本发明实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更清楚地对本发明实施例提供的日志传输方法进行说明,下面将对本发明实施例提供的日志传输方法的可能的应用场景进行示例性的说明,以下示例仅是本发明实施例提供的日志传输方法的一种可能的应用场景,在其他可能的实施例中本发明实施例提供的日志传输方法也可以应用于其他可能的应用场景中。
CDN***中可以包括日志中心和多个CDN节点,CDN节点用于实现在CDN***中部署的业务,如点播业务、直播业务等,在业务运行过程中各个CDN节点将产生大量的日志。CDN节点可以将产生的缓存在本地的缓存cache中,每间隔预设上传周期,如2个小时、2天等,将缓存的日志上传至日志中心。CDN***提供方可以向CDN用户提供日志中心中存储的日志的下载地址,用户根据该下载地址从日志中心下载日志。
日志的日志格式是由CDN节点底层逻辑决定的,而CDN***提供方在开发CDN节点底层逻辑时难以预先了解用户对日志格式的实际需求,因此日志中心的日志格式可能无法满足用户的实际需求。例如,用户可能希望日志的第一个字段表示日志类型,而日志中心的日志中日志类型可能被携带在第三个字段中。导致用户难以从日志中获取信息。
虽然用户可以向CDN提供方反映实际需求,由CDN提供方根据用户的实际需求修改CDN节点的底层逻辑,但是重新开发底层逻辑的开发成本较高,并且难以及时根据用户的需求修改。
基于此,本发明实施例提供了一种日志传输方法,本发明实施例提供的日志传输方法可以应用于CDN***中任一具有日志传输功能的电子设备,如CDN***中的CDN节点、日志中心等。日志传输方法可以参见图1,图1所示为本发明实施例提供的日志传输方法的一种流程示意图,包括:
S101,获取待传输日志。
S102,根据待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合约定日志格式的自定义日志。
S103,将自定义日志上传至预设日志存储设备。
选用该实施例,可以通过日志模板对上传至日志存储设备的日志的日志格式进行配置,可以通过针对不同用户设置不同的日志模板,实现不同的用户的日志具有不同的日志格式,即实现了日志格式的自定义,并且无需针对用户需求对底层逻辑进行更改,因此可以降低自定义日志格式的成本。
在S101中,根据执行主体的不同可以是以不同的方式获取待传输日志的。示例性的,假设执行主体为CDN节点,则可以是获取CDN节点本地缓存中的日志,如果执行主体为日志中心,则可以是获取各个CDN节点上传的日志。
并且S101的执行时机根据应用场景的不同也可以不同,可以是实时执行的,也可以是每间隔预设周期执行,如2个小时、2天执行一次。并且在一种可能的实施例中,可以根据需求在实时执行和每间隔预设周期执行这两种执行方式之间切换。相较于每间隔预设周期执行S101,实时执行S101可以使得用户实时获取到的日志,以便于用户实时掌握CDN***的情况。相较于实时执行S101,每间隔预设周期执行S101可以减少上传次数,并且方便用户对日志进行集中处理。
在S102中,预设日志模板为针对待传输日志所属目标用户预先配置的,预设日志模板的配置方式将在后续的实施例中详细说明,在此不再赘述。预设日志模板约定日志格式的方式根据应用场景的不同可以不同。
示例性的,在一种可能的实施例中,预设日志模板中可以包括至少一个字段格式信息,每个字段格式信息用于表示符合约定日志格式的日志中一个日志字段的生成方式。
例如,假设符合约定日志格式的日志中包括3个日志字段,则预设日志模板中可以包括三个字段格式信息。在生成自定义日志时,可以是根据待传输日志所携带的信息,按照预设日志模板中的每个字段格式信息所表示的生成方式生成自定义日志字段。
假设一个日志字段可以表示为“信息名称:值”的形式,如“日志时间:2020年1月1号18时55分”、“节点:节点3”,其中信息名称用于标识值,值可以是用于表示特定含义的字符串、字符、数值等。则字段格式信息可以表示日志字段中的值如何获取,以及如何标识获取到的值。
例如在一种可能的实施例中,字段格式信息中可以包括赋值信息和标识信息,赋值信息用于表示值的获取方式,标识信息用于表示值的标识方式。在按照字段格式信息表示的生成方式生成自定义日志字段时,可以是按照该字段格式信息中的赋值信息所表示的获取方式,获取值,并按照字段格式信息中的标识信息所表示的标识方式标识获取到的值,得到自定义日志字段。
在一种可能的实施例中,赋值信息所表示的获取方式可以包括两种:
获取方式一:从待传输日志中获取指定字段所携带的值;
获取方式二:通过对预设参数进行映射得到。
下面将分别对两种方式进行说明。对于方式一,赋值信息中可以包括原字段标识,原字段标识为待传输日志中的字段的标识,赋值信息中的原字段标识可以是根据用户实际需求配置的,例如原字段标识为表示待传输日志中携带日志类型的字段的标识。按照赋值信息所表示的获取方式获取值,可以是从待传输日志中获取标识为原字段标识的字段的值。
对于方式二,赋值信息中可以包括赋值参数,也可以包括映射方式,映射方式根据应用场景的不同可以不提供,示例性的可以是利用用户自定义函数UDF(User DefinedFunctions)对预设参数进行映射,即将赋值参数作为UDF的输入,得到UDF的输出,该输出即为获取到的值。赋值参数可以是预先由相关人员根据实际需求设置的,也可以是按照预设规则确定得到的,本实施例对此不做限制。在其他可能的实施例中,赋值信息所表示的方式也可以为除方式一和方式二以外的其他方式,例如赋值信息所表示的方式可以为:从待传输日志中获取指定字段所携带的值,并通过对预设参数对获取到的值进行映射得到。示例性的,假设原始格式中第三字段所携带的信息为时间,并且所携带的时间是以十六进制的数值表示的,用户出于实际需求需要日志中的时间为十进制的数值,则可以设置赋值信息,并且赋值信息所表示的获取方式为:从待传输日志中获取第三字段所携带的值,并将获取到的值输入至参数为预设参数且用于将十六进制数值转化为十进制数值的函数。
在一种可能的实施例中,所采用的映射方式也可以是输入与输出相等的映射,即得到的映射值为预设参数自身,该实施例中可以直接将预设参数作为获取到的值。按照赋值信息所表示的获取方式获取值,可以是对赋值信息中的赋值参数进行预设映射,将映射结果作为获取到的值。
待传输日志所携带的信息可以是从待传输日志中确定得到的,可以理解的是,根据业务的不同生成的待传输日志的日志格式不同,因此不同日志的同一字段所携带的信息的含义可能不同。例如,下载业务生成的日志中第一个字段用于携带日志生成的时间,直播业务生成的日志中第一各字段可能用于表示节点。
因此,在一种可能的实施例中,为准确确定待传输日志中所携带的信息,预设日志模板中可以包括业务信息,业务信息用于表示产生待传输日志的业务。在该实施例中,可以是按照业务信息表示的业务所约定的日志格式,确定待传输日志所携带的信息。示例性的,假设业务信息表示产生待传输日志的业务为下载业务,则可以根据待传输日志中第一个字段所携带的值,确定日志生成的时间,假设业务信息表示产生待传输日志的业务为直播业务,则可以根据待传输日志中第一个字段所携带的值,确定节点。
标识获取到的值的方式根据应用场景的不同可以不同,示例性的,标识信息中可以包括标识,标识信息所表示的标识方式可以为:在获取到的值之前添加标识信息所包括的标识和预设符号,如冒号、顿号、逗号等。例如,假设获取到的值为192.168.1.1,标识信息所包括的标识为“IP地址”,则可以是在“192.168.1.1”之前增加“IP地址:”的方式标识获取到的值,即生成的字段为“IP地址:192.168.1.1”。
在S103中,预设日志存储设备根据应用场景的不同可以不同,示例性的,在一种可能的实施例中,执行主体为CDN节点时,预设日志存储设备可以是CDN***中的日志中心。
可以理解的是,CDN***往往有许多用户,如果大量用户从日志中心下载日志,则可能导致日志中心的带宽压力较大,因此,在一种可能的实施例中,预设存储设备可以是针对目标用户预先配置的日志存储设备,如可以是各个用户的用户服务器,选用该实施例,可以各个用户分别从针对该用户预先配置的日志存储设备中下载日志,无需集中在日志中心下载日志,可以有效降低下载日志对预设存储设备造成的带宽压力。
为了更清楚地对本发明实施例提供的日志传输方法进行说明,下面将以CDN节点为执行主体,结合预设日志模板的配置方式对本发明实施例提供的日志传输方法的原理进行说明。
在一种可能的实施例中,可以在每个CDN节点上可以包括收集(input)模块、计算(conpute)模块、实时回传(output)模块以及控制(controller)模块。
其中,收集模块,用于从CDN节点的缓存中实时获取日志;
计算模块,用于从收集模块获取到的日志中筛除无效的日志,其中,无效的日志可以是指不符合预设原始格式的日志、所携带的信息异常的日志、无法解码的日志等,其中,预设原始格式为CDN节点底层逻辑所生成的日志的约定格式。示例性的,假设预设原始格式中规定日志的第三个字段用于表示日志类型,并且日志类型是以字母的形式表示,而日志A的第三个字段携带一个数字,则可以认为日志A所携带的信息异常进而将日志A筛除。
实时回传模块,用于通过前述任一所述的日志传输方法,将经过计算模块筛选的日志上传至预设日志存储设备;
控制模块,用于从控制中心获取针对目标用户预先配置的预设日志模板,其中,控制中心为独立于CDN节点的设备,用户或相关工作人员可以在控制中心本地或通过远程访问控制中心的方式配置控制中心中的预设日志模板。
前述收集模块、计算模块、实时回传模块以及控制模块可以是相互独立的四个模块,也可以是集成在一起的四个模块,示例性的,在一种可能的实施例中,可以如图2所示,CDN节点中设置日志传输模块Edgeon,Edgeon模块中包括任务管理模块Task Manager,任务管理模块的结构可以如图2所示,包括收集模块210、计算模块220、实时回传模块230以及控制模块240。
其中,收集模块210用于从CDN节点的缓存Cahce中实时获取日志,计算模块220用于对收集模块210获取到的日志进行解码、过滤以及清洗,以从待传输日志中筛除无效的日志。
实时回传模块230可以包括过滤(Filter)子模块231、转换(Handle)子模块232以及打包(Flash)子模块233。过滤子模块231用于对计算模块220筛选后的日志进行再次筛选,以确定出需要上传的待上传日志,判断日志是否需要上传的规则可以是由相关人员根据实际需求预先设置的,例如,可以是判断日志所属的用户是否为目标用户,如果日志所属的用户为目标用户,则上传该日志,其中,日志所属的用户是指生成该日志的业务所归属的用户。
转换子模块232用于根据待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合约定日志格式的自定义日志,关于格式转换可以参见前述S102中的相关描述,在此不再赘述。
打包子模块233用于将自定义日志打包上传至目标用户的用户服务器,打包方式根据应用场景的不同可以不同,示例性的,可以是将自定义日志打包为数组的形式,也可以是将自定义日志打包为非数组的形式。
控制模块240用于从控制中心处获取针对目标用户预先配置的配置信息,配置信息中包括预设日志模板。下面将分别对配置信息和预设日志模板进行说明,可以参见图3,图3所示为本发明实施例提供的日志模板配置界面的一种示意图。
用户或者CDN提供方的相关人员可以通过该日志模板配置界面预先配置日志模板。其中,模板名称用于标识该日志模板,业务平台表示产生待传输日志的业务,在图3所示的示例中,业务包括下载业务(即下载平台)和直播平台(即直播平台),在其他可能的实施例中,也可以包括其他业务,如智能运算业务等。本实施例对此不做限制。
字段间隔符号设置,用于表示不同日志字段中的分割符号,例如可以设置为顿号、逗号、分号等。换行符设置,用于表示日志中不同行之间的分割符号,例如可以是换行符\n,空值默认用于表示当从待传输日志中获取到空值时,替代该空值的值,示例性的,假设预设日志模板中约定一个自定义日志字段的值的获取方式为:获取待传输日志中第二个字段所携带的值,但是待传输日志中第二个字段的值为空值,如果预设日志模板中约定该自定义日志字段的值使用“节点”标识,并且空值默认为-,则生成的自定义日志中该自定义日志字段可以为“节点:-”。
自定义字段即前述字段格式信息,序号用于标识不同自定义字段,在一种可能的实施例中,序号越靠前的自定义字段在自定义日志中的顺位越靠前。赋值类型、赋值参数、原字段标识、原字段名称用于表示自定义字段中的值的获取方式,即前述赋值信息。赋值类型可以包括固定值、原值以及用户自定义函数三种,当赋值类型为固定值或者用户自定义函数时,需要配置赋值参数,当赋值类型为固定值时,自定义字段的值即为赋值参数,当赋值类型为用户自定函数时,自定义字段的值为利用用户自定义函数对赋值参数进行映射得到的映射值。当赋值类型为原值时,需要配置原字段标识和/或原字段名称,原字段标识为待传输日志中字段的英文标识,原字段名称为待传输日志中字段的中文标识,所配置的原字段标识和所配置的原字段名称所表示的字段相同,在一种可能的实施例中,可以只配置原字段标识,并根据所配置的原字段标识自动配置对应的原字段名称。
导出字段标识、导出字段名称、导出字段类型用于表示值的标识方式即前述的标识信息。导出字段标识可以为获取到的值的英文标识,导出字段名称可以为获取到的值的中文标识,导出字段类型为值的标识的表示形式,如字符串(string)。
示例,用于展示自定义字段的示例。操作的上箭头和下箭头用于调整自定义格式信息间的先后顺序,垃圾桶图标用于删除该自定义格式信息。
根据前述配置界面配置得到的日志模板可以是以如下所示的json文件表示的:
"order":12,#序号
"category":3,#赋值类型,3表示udf
"type":"",#保留
"value":null,#保留
"function":"merge",#赋值udf名称
"function_args":"[$9-server_addr_server_port,$cache_layer],"|"",#赋值参数
"source_field_name":"9-server_addr_server_port",
"source_field_name_CN":"本机IP地址:本机端口",#中文标识
"result_field_name":"",
"result_field_name_CN":"",
"result_field_name_type":"",
"result_field_name_sample":null
}
配置信息的配置界面可以如图4所示,其中,任务名称、用户ID、业务平台、域名范围用于标识实时任务的对象,即用于表示待传输的日志。
模板名称用于关联配置信息与日志模板,示例性的,假设配置信息中的任务名称、用户ID、业务平台、域名范围表示待传输的日志为日志1-100,配置信息中的模板名称用于标识日志模板A,则CDN节点可以按照日志模板A所约定的约定日志格式对日志1-100进行格式转换,生成自定义日志,并将生成的自定义日志上传至该配置信息对应的用户的用户服务器。
任务类型和回传方法用于配置CDN节点将自定义日志上传至预设存储设备的方式,当任务类型为实时任务时,CDN节点实时上传自定义日志,当任务类型为离线任务时,CDN节点每间隔预设周期上传一次自定义日志。当回传方式为GET时,CDN节点通过GET的方式上传自定义日志,当回传方式为POST时,CDN节点通过POST的方式上传自定义日志。
是否以数组形式回传用于配置CDN节点打包上传自定义日志时是将自定义日志打包成数组的形式上传,还是将自定义日志打包成字符串的形式上传。回传地址用于表示预设日志存储设备的地址,例如,假设预设日志存储设备为用户的用户服务器,则回传地址可以配置为用户的用户服务器的地址。UA用于指定将自定义日志上传至预设日志存储设备过程中所使用的代理。
回传方式用于配置将自定义日志上传至预设日志存储设备时的路径,当回传方式为边缘回传时,可以由各个CDN节点直接将自定义日志上传至预设日志存储设备,当回传方式为中心回传时,可以由各个CDN节点先将自定义日志上传至CDN***中的日志中心,再有日志中心统一将各个CDN节点上传的自定义日志上传至预设日志存储设备。
触发条件用于配置CDN节点上传自定义日志的触发条件,多条发送上线中所配置的值表示:当CDN节点中的自定义日志的数目达到该值时,将CDN节点中的自定义日志上传,单批次最大延迟发送时所配置的值表示:CDN节点每间隔该值将至少上传一次自定义日志。
在一些可能的实施例中,为了便于用户或者CDN***提供方的相关人员监控日志上传情况,可以在预设显示设备中战士监控图,监控图可以如图5所示,其中横坐标表示日期,纵坐标表示日志数目,左侧的曲线表示成功上传的日志的数目随时间的变化情况,右侧下方的曲线表示上传失败的日志的数目随时间的变化情况。
参见图6,图6所示为本发明实施例提供的日志传输装置的一种结构示意图,可以包括:
日志获取模块601,用于获取待传输日志;
格式转换模块602,用于根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,所述预设日志模板为针对所述待传输日志所属目标用户预先配置的;
日志上传模块603,用于将所述自定义日志上传至预设日志存储设备。
在一种可能的实施例中,所述预设日志模板中包括至少一个字段格式信息,每个所述字段格式信息用于表示符合所述约定日志格式的日志中一个日志字段的生成方式;
所述格式转换模块602根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,包括:
根据所述待传输日志所携带的信息,按照预设日志模板中的每个字段格式信息所表示的生成方式生成自定义日志字段;
组合所有所述自定义日志字段,得到自定义日志。
在一种可能的实施例中,所述字段格式信息包括赋值信息和标识信息,所述赋值信息用于表示值的获取方式,所述标识信息用于表示值的标识方式;
所述格式转换模块602生按照预设日志模板中的每个字段格式信息所表示的生成方式生成自定义日志字段,包括:
按照该字段格式信息中的赋值信息所表示的获取方式,获取值;
按照该字段格式信息中的标识信息所表示的标识方式标识获取到的值,得到自定义日志字段。
在一种可能的实施例中,所述赋值信息包括原字段标识,所述原字段标识为所述待传输日志中字段的标识;
所述格式转换模块602按照该字段格式信息中的赋值信息所表示的获取方式,获取值,包括:
从所述待传输日志中获取标识为所述原字段标识的字段的值。
在一种可能的实施例中,所述赋值信息包括赋值参数;
所述格式转换模块602按照该字段格式信息中的赋值信息所表示的获取方式,获取值,包括:
对该字段格式信息的赋值信息中的赋值参数进行预设映射,将映射结果作为获取到的值。
在一种可能的实施例中,所述预设日志模板包括业务信息,所述业务信息用于表示产生所述待传输日志的业务;
所述格式转化模块还用于在所述根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志之前,按照所述业务信息表示的业务所约定的日志格式,确定所述待传输日志所携带的信息。
在一种可能的实施例中,所述日志上传模块603将所述自定义日志上传至预设日志存储设备,包括:
将所述自定义日志上传至针对所述目标用户预先设置的日志存储设备。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
获取待传输日志;
根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,所述预设日志模板为针对所述待传输日志所属目标用户预先配置的;
将所述自定义日志上传至预设日志存储设备。
在一种可能的实施例中,所述预设日志模板中包括至少一个字段格式信息,每个所述字段格式信息用于表示符合所述约定日志格式的日志中一个日志字段的生成方式;
所述根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,包括:
根据所述待传输日志所携带的信息,按照预设日志模板中的每个字段格式信息所表示的生成方式生成自定义日志字段;
组合所有所述自定义日志字段,得到自定义日志。
在一种可能的实施例中,所述字段格式信息包括赋值信息和标识信息,所述赋值信息用于表示值的获取方式,所述标识信息用于表示值的标识方式;
所述生按照预设日志模板中的每个字段格式信息所表示的生成方式生成自定义日志字段,包括:
按照该字段格式信息中的赋值信息所表示的获取方式,获取值;
按照该字段格式信息中的标识信息所表示的标识方式标识获取到的值,得到自定义日志字段。
在一种可能的实施例中,所述赋值信息包括原字段标识,所述原字段标识为所述待传输日志中字段的标识;
所述按照该字段格式信息中的赋值信息所表示的获取方式,获取值,包括:
从所述待传输日志中获取标识为所述原字段标识的字段的值。
在一种可能的实施例中,所述赋值信息包括赋值参数;
所述按照该字段格式信息中的赋值信息所表示的获取方式,获取值,包括:
对该字段格式信息的赋值信息中的赋值参数进行预设映射,将映射结果作为获取到的值。
在一种可能的实施例中,所述预设日志模板包括业务信息,所述业务信息用于表示产生所述待传输日志的业务;
在所述根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志之前,所述方法还包括:
按照所述业务信息表示的业务所约定的日志格式,确定所述待传输日志所携带的信息。
在一种可能的实施例中,所述将所述自定义日志上传至预设日志存储设备,包括:
将所述自定义日志上传至针对所述目标用户预先设置的日志存储设备。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一日志传输方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一日志传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、CDN***、计算机可读存储介质、计算机程序产品的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (13)
1.一种日志传输方法,其特征在于,应用于内容分发网络CDN***中任一具有日志传输功能的电子设备,所述方法包括:
获取待传输日志;
根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,所述预设日志模板为针对所述待传输日志所属目标用户预先配置的;
将所述自定义日志上传至预设日志存储设备。
2.根据权利要求1所述的方法,其特征在于,所述预设日志模板中包括至少一个字段格式信息,每个所述字段格式信息用于表示符合所述约定日志格式的日志中一个日志字段的生成方式;
所述根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,包括:
根据所述待传输日志所携带的信息,按照预设日志模板中的每个字段格式信息所表示的生成方式生成自定义日志字段;
组合所有所述自定义日志字段,得到自定义日志。
3.根据权利要求2所述的方法,其特征在于,所述字段格式信息包括赋值信息和标识信息,所述赋值信息用于表示值的获取方式,所述标识信息用于表示值的标识方式;
所述按照预设日志模板中的每个字段格式信息所表示的生成方式生成自定义日志字段,包括:
按照所述字段格式信息中的赋值信息所表示的获取方式,获取值;
按照所述字段格式信息中的标识信息所表示的标识方式标识获取到的值,得到自定义日志字段。
4.根据权利要求3所述的方法,其特征在于,所述赋值信息包括原字段标识,所述原字段标识为所述待传输日志中字段的标识;
所述按照所述字段格式信息中的赋值信息所表示的获取方式,获取值,包括:
从所述待传输日志中获取标识为所述原字段标识的字段的值。
5.根据权利要求3所述的方法,其特征在于,所述赋值信息包括赋值参数;
所述按照所述字段格式信息中的赋值信息所表示的获取方式,获取值,包括:
对所述字段格式信息的赋值信息中的赋值参数进行预设映射,将映射结果作为获取到的值。
6.根据权利要求1所述的方法,其特征在于,所述预设日志模板包括业务信息,所述业务信息用于表示产生所述待传输日志的业务;
在所述根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志之前,所述方法还包括:
按照所述业务信息表示的业务所约定的日志格式,确定所述待传输日志所携带的信息。
7.根据权利要求1所述的方法,其特征在于,所述将所述自定义日志上传至预设日志存储设备,包括:
将所述自定义日志上传至针对所述目标用户预先设置的日志存储设备。
8.一种日志传输装置,其特征在于,应用于CDN中任一具有日志传输功能的电子设备,所述装置包括:
日志获取模块,用于获取待传输日志;
格式转换模块,用于根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,所述预设日志模板为针对所述待传输日志所属目标用户预先配置的;
日志上传模块,用于将所述自定义日志上传至预设日志存储设备。
9.一种CDN***,其特征在于,所述CDN***包括多个CDN节点;
每个所述CDN节点通过权利要求1-7中任一所述的日志传输方法,将所述CDN节点本地缓存的日志上传至预设日志存储设备。
10.根据权利要求9所述的***,其特征在于,所述CDN节点包括收集模块、计算模块、实时回传模块以及控制模块;
所述收集模块,用于从所述CDN节点的缓存中实时获取日志;
所述计算模块,用于从所述收集模块获取到的日志中筛除无效的日志;
所述实时回传模块,用于通过权利要求1-7中任一所述的日志传输方法,将经过所述计算模块筛选的日志上传至预设日志存储设备;
所述控制模块,用于从控制中心获取针对目标用户预先配置的预设日志模板。
11.根据权利要求10所述的***,其特征在于,所述实时回传模块包括过滤子模块、转换子模块以及打包子模块;
所述过滤子模块,用于从经过所述计算模块筛选的日志中确定待传输日志;
所述转换子模块,用于根据所述待传输日志所携带的信息,按照预设日志模板所约定的约定日志格式进行格式转换,生成符合所述约定日志格式的自定义日志,所述预设日志模板为针对所述待传输日志所属目标用户预先配置的;
所述打包子模块,用于将所述自定义日志打包上传至预设日志存储设备。
12.一种电子设备,其特征在于,包括:
计算机可读存储介质,用于存放计算机程序;
处理器,用于执行计算机可读存储介质上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010668653.2A CN113934683A (zh) | 2020-07-13 | 2020-07-13 | 一种日志传输方法、装置、cdn***及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010668653.2A CN113934683A (zh) | 2020-07-13 | 2020-07-13 | 一种日志传输方法、装置、cdn***及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113934683A true CN113934683A (zh) | 2022-01-14 |
Family
ID=79273400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010668653.2A Pending CN113934683A (zh) | 2020-07-13 | 2020-07-13 | 一种日志传输方法、装置、cdn***及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113934683A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115643166A (zh) * | 2022-12-08 | 2023-01-24 | 江苏云工场信息技术有限公司 | 一种高可靠回传cdn日志的方法及装置 |
-
2020
- 2020-07-13 CN CN202010668653.2A patent/CN113934683A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115643166A (zh) * | 2022-12-08 | 2023-01-24 | 江苏云工场信息技术有限公司 | 一种高可靠回传cdn日志的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795148B (zh) | 编排文件的生成方法、装置及电子设备 | |
US11196839B1 (en) | System and method for classifying API requests in API processing systems using a tree configuration | |
CN109344170B (zh) | 流数据处理方法、***、电子设备及可读存储介质 | |
US20220309076A1 (en) | Computer Network Controlled Data Orchestration System And Method For Data Aggregation, Normalization, For Presentation, Analysis And Action/Decision Making | |
CN107957940B (zh) | 一种测试日志处理方法、***及终端 | |
KR100865015B1 (ko) | 실시간 통합 관리정보 데이터 변환 및 모니터링 장치 및 그방법 | |
US11502899B2 (en) | Dynamic product installation based on user feedback | |
CN105893259A (zh) | 代码检测***、方法及装置 | |
CN111580869A (zh) | 基于opc ua的数据通信方法及*** | |
CN110928934A (zh) | 一种用于业务分析的数据处理方法和装置 | |
CN112905323B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111459944A (zh) | 一种mr数据存储方法、装置、服务器及存储介质 | |
CN114265680A (zh) | 一种海量数据处理方法、装置、电子设备及存储介质 | |
CN110321283A (zh) | 接口测试用例生成方法、装置、计算机装置及存储介质 | |
CN114726914A (zh) | 一种跨服务商信息发送方法、装置和电子设备 | |
CN113934683A (zh) | 一种日志传输方法、装置、cdn***及电子设备 | |
US20190289480A1 (en) | Smart Building Sensor Network Fault Diagnostics Platform | |
JP6950576B2 (ja) | ネットワークシステム、トポロジ管理方法、およびプログラム | |
CN111859083A (zh) | 业务数据处理方法、装置、设备及计算机可读存储介质 | |
CN111026607A (zh) | 一种服务器监控***、方法及服务器数据采集方法和*** | |
CN113515425A (zh) | 数据动态上报的方法和装置 | |
CN111327716A (zh) | 一种业务交互方法及装置 | |
CN114257598B (zh) | 资源下载方法、装置、存储介质及电子设备 | |
CN115190149B (zh) | 用于铁路勘察的数据采集方法及*** | |
TWI785723B (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 |