一种日志模板提取方法、装置、电子设备及存储介质与流程

文档序号:33643828发布日期:2023-03-29 02:54阅读:28来源:国知局
一种日志模板提取方法、装置、电子设备及存储介质与流程

1.本公开涉及计算机技术领域,具体而言,涉及一种日志模板提取方法、装置、电子设备及存储介质。


背景技术:

2.日志可以帮助相关人员了解软件运行情况,快速发现并定位问题,但是随着软件规模和复杂度的提升,日志量也快速增长,为了能够高效对这些日志进行分析,可以提取出日志模板,通过日志模板可以实现日志中关键数据的快速检索等功能,相关技术中,日志模板提取方式,主要是预先训练好模板,然后基于训练好的模板进行线上分析,但是这种方式需要预先训练,成本较高,并且也无法实现线上实时分析,降低了效率。


技术实现要素:

3.本公开实施例至少提供一种日志模板提取方法、装置、电子设备及存储介质。
4.第一方面,本公开实施例提供了一种日志模板提取方法,包括:
5.获取待处理日志信息,其中,所述待处理日志信息中包括多条日志;
6.基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组,其中,所述至少一个日志组中每个日志组包括的各日志符合相似度条件,所述多维聚类算子中每个聚类算子用于计算日志之间的相似度;
7.提取所述至少一个日志组的目标日志模板。
8.一种可选的实施方式中,基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组之前,所述方法包括:
9.对所述多条日志进行预处理操作,其中,所述预处理操作包括以下至少一种:
10.将所述多条日志中长度超过预设长度阈值的日志进行裁剪;
11.基于预设的正则表达式,将所述多条日志中与所述正则表达式匹配的目标变量替换为对应的指定字符。
12.一种可选的实施方式中,基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组,包括:
13.基于多维聚类算子,分别确定所述多条日志在各聚类算子下的相似度;
14.根据所述多条日志在各聚类算子下的相似度,确定出所述多条日志中符合相似度条件的日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日志组。
15.一种可选的实施方式中,基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组,包括:
16.基于多维聚类算子,分别确定所述多条日志在各聚类算子下的相似度;
17.根据所述多条日志在各聚类算子下的相似度,确定出所述多条日志中符合相似度条件的日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日
志组;
18.根据预设聚类规则,确定所述各符合相似度条件的日志组之间是否符合所述预设聚类规则,并将符合所述预设聚类规则的日志组合并以聚类为一个日志组。
19.一种可选的实施方式中,基于多维聚类算子,分别确定所述多条日志在各聚类算子下的相似度,包括:
20.根据所述多条日志的长度,将所述多条日志进行排序;
21.依次针对未聚类为日志组的各日志,确定所述未聚类为日志组的各日志中长度最大的第一日志,并基于所述多维聚类算子,确定所述第一日志与所述未聚类为日志组的各日志中除所述第一日志外的其它日志之间的相似度;
22.则根据所述多条日志在各聚类算子下的相似度,确定出所述多条日志中符合相似度条件的日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日志组,包括:
23.依次针对未聚类为日志组的各日志,筛选出与所述第一日志符合所述相似度条件的第二日志,将所述第一日志和所述第二日志聚类为一个日志组,直至将所述多条日志均聚类完成,获得各符合相似度条件的日志组。
24.一种可选的实施方式中,若所述多维聚类算子至少包括信息覆盖度算子,则基于所述多维聚类算子,确定所述第一日志与所述未聚类为日志组的各日志中除所述第一日志外的其它日志之间的相似度,包括:
25.分别针对所述未聚类为日志组的各日志中除所述第一日志外的其它日志,确定所述第一日志与所述其它日志之间的相似度;
26.其中,针对所述其它日志中任一第三日志,确定所述第一日志与所述第三日志之间的相似度,包括:
27.根据预设分隔符,分别将所述第一日志和所述第三日志进行切分处理,获得所述第一日志的第一切分结果和所述第三日志的第三切分结果;
28.根据所述第一切分结果和所述第三切分结果,获得所述第一切分结果和所述第三切分结果的公共分词;
29.根据所述公共分词的数目和所述第三切分结果中包括的分词数目,分别获得所述公共分词的信息值和所述第三切分结果的信息值;
30.根据所述公共分词的信息值和所述第三切分结果的信息值,获得所述第一日志和所述第三日志之间的相似度。
31.一种可选的实施方式中,若所述多维聚类算子至少包括固定长度算子,则基于所述多维聚类算子,确定所述第一日志与所述未聚类为日志组的各日志中除所述第一日志外的其它日志之间的相似度,包括:
32.分别针对所述未聚类为日志组的各日志中除所述第一日志外的其它日志,确定所述第一日志与所述其它日志之间的相似度;
33.其中,针对所述其它日志中任一第四日志,确定所述第一日志与所述第四日志之间的相似度,包括:
34.根据预设分隔符,分别将所述第一日志和所述第四日志进行切分处理,获得所述第一日志的第一切分结果和所述第四日志的第四切分结果;
35.在所述第一切分结果中包括的分词数目和所述第四切分结果中包括的分词数目不相同时,确定所述第一日志和所述第四日志之间的相似度为0;
36.在所述第一切分结果中包括的分词数目和所述第四切分结果中包括的分词数目相同时,确定所述第一切分结果中各分词与所述第四切分结果中各分词是否相同,并根据所述第一切分结果中各分词与所述第四切分结果中各分词是否相同的确定结果,获得所述第一日志和所述第四日志之间的相似度。
37.一种可选的实施方式中,提取所述至少一个日志组的目标日志模板之后,还包括:
38.将所述目标日志模板与历史日志模板库中历史日志模板进行匹配;
39.在确定匹配时,将所述目标日志模板合并于所述历史日志模板,在确定不匹配时,将所述目标日志模板存储于所述历史日志模板库中。
40.一种可选的实施方式中,所述方法还包括:
41.按照预设统计周期,分别统计所述历史日志模板库中历史日志模板下在各预设统计周期中增加的日志数量;
42.根据所述历史日志模板在各预设统计周期中增加的日志数量,生成日志模板时序图,以用于展示在各预设统计周期中日志数量变化。
43.第二方面,本公开实施例还提供一种日志模板提取装置,包括:
44.获取模块,用于获取待处理日志信息,其中,所述待处理日志信息中包括多条日志;
45.聚类模块,用于基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组,其中,所述至少一个日志组中每个日志组包括的各日志符合相似度条件,所述多维聚类算子中每个聚类算子用于计算日志之间的相似度;
46.提取模块,用于提取所述至少一个日志组的目标日志模板。
47.第三方面,本公开可选实现方式还提供一种电子设备,包括处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
48.第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
49.本公开实施例中,获取待处理日志信息,其中,所述待处理日志信息中包括多条日志;基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组,其中,所述至少一个日志组中每个日志组包括的各日志符合相似度条件,所述多维聚类算子中每个聚类算子用于计算日志之间的相似度;提取所述至少一个日志组的目标日志模板,这样,可以实时进行线上日志分析,不需要预先训练日志模板,整体流程更加简单,提高日志模板提取的效率,并且采用多维聚类算子进行聚类,提高了聚类准确性,由于不需要预先训练,因此还可以很方便地增加聚类算子或更新聚类算子来满足不同需求,更加便捷灵活。
50.关于上述日志模板提取装置、电子设备、及计算机可读存储介质的效果描述参见上述日志模板提取方法的说明,这里不再赘述。
51.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非
限制本公开的技术方案。
52.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
53.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
54.图1示出了本公开实施例所提供的一种日志模板提取方法的流程图;
55.图2示出了本公开实施例所提供的日志模板提取方法的整体框架图;
56.图3示出了本公开实施例所提供的一种日志模板提取装置的示意图;
57.图4示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
58.可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
59.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
60.经研究发现,日志可以帮助相关人员了解软件运行情况,快速发现并定位问题,但是随着软件规模和复杂度的提升,日志量也快速增长,为了能够高效对这些日志进行分析,可以提取出日志模板,通过日志模板可以实现日志中关键数据的快速检索等功能,相关技术中,日志模板提取方式,主要是预先训练好模板,然后基于训练好的模板进行线上分析,但是这种方式需要预先训练,成本较高,并且也无法实现实时开启分析,降低了效率。
61.基于上述研究,本公开提供了一种日志模板提取方法,包括:获取待处理日志信息,其中,待处理日志信息中包括多条日志;基于多维聚类算子,对多条日志进行聚类,获得至少一个日志组,其中,至少一个日志组中每个日志组包括的各日志符合相似度条件,多维聚类算子中每个聚类算子用于计算日志之间的相似度,进而提取至少一个日志组的目标日志模板,这样,可以实时获取待处理日志信息,进行聚类,并提取聚类后的各日志组的日志模板,不需要预先训练好日志模板再进行线上分析,而可以直接实时开启日志分析,整体流程实现简单,依赖组件较少,并且采用多维聚类算子进行聚类,提高了聚类准确性,由于不需要预先训练,因此还可以很方便地增加聚类算子或更新聚类算子来满足不同需求,更加
简单灵活。
62.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
63.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
64.为便于对本实施例进行理解,首先对本公开实施例所公开的一种日志模板提取方法进行详细介绍,本公开实施例所提供的日志模板提取方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等,其中,个人数字助理是一种手持式电子设备,具有电子计算机的某些功能,可以用来管理个人信息,也可以上网浏览,收发电子邮件等,一般不配备键盘,也可以称为掌上电脑。在一些可能的实现方式中,该日志模板提取方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
65.下面以执行主体为服务器为例对本公开实施例提供的日志模板提取方法加以说明。
66.参见图1所示,为本公开实施例提供的日志模板提取方法的流程图,该方法包括:
67.s101:获取待处理日志信息,其中,待处理日志信息中包括多条日志。
68.本公开实施例中,针对日志分析场景,可以通过提取日志模板,提高对日志分析效率和更快定位问题等,通常是需要针对错误日志进行分析,相关人员更关注于错误日志,因此执行该步骤s101时,本公开提供了一种可能的实施方式,按照预设周期,获取所述预设周期内发生错误的错误日志信息,并将所述错误日志信息作为待处理日志信息。
69.例如,预设周期为30秒,则可以每隔30秒拉取某软件系统的错误日志信息,当然预设周期的大小并不进行限制,可以根据实际情况和需求进行设置。
70.s102:基于多维聚类算子,对多条日志进行聚类,获得至少一个日志组,其中,至少一个日志组中每个日志组包括的各日志符合相似度条件,多维聚类算子中每个聚类算子用于计算日志之间的相似度。
71.本公开实施例中,基于多维聚类算子,计算各日志之间的相似度,从而可以将符合相似度条件的日志聚为一个日志组,每个日志组中包括至少一个日志,具体执行该步骤s102时,提供了可能的实施方式:
72.实施方式一:
73.1)基于多维聚类算子,分别确定多条日志在各聚类算子下的相似度。
74.其中,本公开实施例中对于多维聚类算子,并不进行限制,可以根据需要进行设置,还可以更新用于计算相似度的聚类算子。
75.可以理解的是,不同聚类算子对应有具体计算方式,聚类算子可以表征一种相似度计算方式,本公开实施例中,在计算相似度时,可以根据多个聚类算子进行计算而获得在各聚类算子下的相似度。
76.2)根据多条日志在各聚类算子下的相似度,确定出多条日志中符合相似度条件的
日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日志组。
77.其中,相似度条件可以根据聚类算子的数量、重要程度等而进行设置,本公开实施例中并不进行限制。
78.例如,相似度条件为在各聚类算子下的相似度的平均值不小于预设阈值。如聚类算子有聚类算子1、聚类算子2、聚类算子3,则可以根据聚类算子1,计算日志a和日志b的相似度1,根据聚类算子2,计算日志a和日志b的相似度2,以及根据聚类算子3,计算日志a和日志b的相似度3,则若相似度1、相似度2和相似度3的平均值不小于预设阈值,则认为日志a和日志b符合相似度条件,可以聚类到一个日志组中。
79.又例如,相似度条件为在各聚类算子下的相似度中,不小于对应阈值的相似度的数目大于或等于预设数目阈值。如若预设数目阈值为2,相似度1不小于聚类算子1对应的阈值,相似度2不小于聚类算子2对应的阈值,相似度3小于聚类算子3对应的阈值,则确定其中有两个相似度均大于对应的阈值,可以确定日志a和日志b符合相似度条件,聚类到一个日志组中。
80.这样,本公开实施例中,采用多维聚类算子来计算日志之间的相似度,从而确定各个日志是否符合相似度条件,从而可以将符合相似度条件的日志聚为一类,相比于采用单一的聚类算子,提高了聚类准确性和可靠性。
81.实施方式二:本公开实施例中还可以结合聚类算子和预设聚类规则,对待处理日志信息中多条日志进行聚类,具体地包括:
82.1)基于多维聚类算子,分别确定多条日志在各聚类算子下的相似度。
83.2)根据多条日志在各聚类算子下的相似度,确定出多条日志中符合相似度条件的日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日志组。
84.3)根据预设聚类规则,确定各符合相似度条件的日志组之间是否符合预设聚类规则,并将符合预设聚类规则的日志组合并以聚类为一个日志组。
85.本公开实施例中,考虑到用户的实际需求,在进行日志分析时,用户可能会有针对包含某特定关键字的日志进行统一分析的特定需求,因此,可以针对用户实际需求设置聚类规则,例如,将包含“http”关键字的日志聚为一个日志组,则可以再次进行聚类,满足不同用户的实际需求。
86.另外为提高效率,可以针对基于多维聚类算子,聚类的各符合相似度条件的日志组,提取其日志模板,进而在基于预设聚类规则聚类后,可以仅需判断各符合相似度条件的日志组的日志模板,是否符合预设聚类规则,从而可以将符合预设聚类规则的日志组再聚为一个日志组。
87.并且本公开实施例中,支持用户自定义所需的聚类规则,并不进行限制。
88.这样,基于多维聚类算子进行聚类后,再基于预设聚类规则,再次进行聚类,不仅可以实现相似度聚类,还可以针对用户特定需求聚类,提高了聚类效率和灵活性。
89.另外,为进一步提高聚类效率,在聚类之前还可以先进行预处理操作,具体本公开提供了一种可能的实施方式,对多条日志进行预处理操作,其中,预处理操作包括以下至少一种:
90.1)将多条日志中长度超过预设长度阈值的日志进行裁剪。
91.通常一条日志的关键信息会出现在前面,并且用户在查看一条日志时其注意力也
会从前到后逐渐递减,因此,本公开实施例中,可以将过长的日志进行裁剪,以使其长度不超过预设长度阈值,具体地,裁剪方式例如为,直接裁剪掉日志中后面超过长度阈值的字符,并不进行限制。
92.其中,预设长度阈值可以根据需求进行设置,本公开实施例中并不进行限制,裁剪过长的日志,可以提高相似度计算和聚类的速度和效率。
93.2)基于预设的正则表达式,将多条日志中与正则表达式匹配的目标变量替换为对应的指定字符。
94.本公开实施例中,对日志进行聚类的作用是为了能够对各日志组进行日志模板提取,而不需要针对每个日志都提取一个日志模板,而对于日志模板来说,应该能够代表某一个日志组中所有日志,因此日志中某变量的具体取值,可能对于日志模板并不重要,还会影响日志相似度计算,因此本公开实施例中可以将这些变量替换为指定字符,例如,某日志中包括“183.xxx.xx.x”字符串,通过正则表达式匹配,该字符串为具体ip地址的取值,可以将该字符串替换为指定字符如“ip”。
95.本公开实施例中,在聚类之前对日志进行预处理操作,可以规范各日志的表达形式等,降低复杂度,进一步提高相似度计算的速度和效率,从而提高聚类和日志模板提取的效率。
96.s103:提取至少一个日志组的目标日志模板。
97.本公开实施例中,日志模板可以理解为记录日志的模式或格式,针对聚类的至少一个日志组中的每个日志组,分别提取每个日志组的目标日志模板,本公开提供了几种可能的实施方式:例如,可以将日志组中包括的所有日志的公共字符串,作为该日志组的目标日志模板,又例如,可以将日志组中长度最长或最短的日志,作为该日志组的目标日志模板,又例如,还可以针对日志组中包括的所有日志,按照一定规则生成一个目标日志模板,具体本公开实施例中并不进行限制。
98.进一步地,针对当前的待处理日志信息中多条日志,进行聚类并提取目标日志模板后,还可以更新历史日志模板库,具体本公开提供了一种可能的实施方式:将目标日志模板与历史日志模板库中历史日志模板进行匹配;在确定匹配时,将目标日志模板合并于历史日志模板,在确定不匹配时,将目标日志模板存储于历史日志模板库中。
99.其中,将目标日志模板与历史日志模板库中历史日志模板进行匹配时,一种可能的实施方式,可以采用多个聚类算子,计算目标日志模板与历史日志模板分别在各聚类算子下的相似度,并根据在各聚类算子下的相似度,确定是否匹配;在确定匹配时,目标日志模板与历史日志模板就可以进行合并,目标日志模板下对应的所有日志和历史日志模板下对应的所有日志就可以聚类为一个日志组,这时,可以直接将该历史日志模板作为合并后的日志组的日志模板,或者也可以将历史日志模板和目标日志模板中长度更短或公共字符串,作为合并后的日志组的日志模板,并不进行限制;在确定不匹配时,目标日志模板就可以认为是一种新的日志模板,存储于历史日志模板库中,另外还可以获取并存储目标日志模板的元数据信息。
100.另外,为便于对各日志模板进行管理和分析,本公开实施例中还可以统计各日志模板下的日志数量变化,具体本公开提供了一种可能的实施方式:按照预设统计周期,分别统计历史日志模板库中历史日志模板下在各预设统计周期中增加的日志数量;根据历史日
志模板在各预设统计周期中增加的日志数量,生成日志模板时序图,以用于展示在各预设统计周期中日志数量变化。
101.例如,有a日志模板和b日志模板,预设统计周期为1分钟,则可以分别统计a日志模板下每分钟增加几条日志,b日志模板下每分钟增加几条日志,从而分别针对a日志模板和b日志模板,生成对应的日志模板时序图,可知的是该日志模板时序图中横坐标为时间,并时间间隔为预设统计周期,纵坐标为增加的日志数量,可以更加直观清晰地获知各日志模板下每分钟新增的日志数量。
102.本公开实施例中,获取待处理日志信息,其中,待处理日志信息中包括多条日志;基于多维聚类算子,对多条日志进行聚类,获得至少一个日志组,并提取该至少一个日志组的目标日志模板,这样,不需要预先训练日志模板,可以实时接入待处理日志信息并实时检测分析,整体流程实现更加简单,依赖组件较少,并且可以方便灵活地增加或调整聚类算子,以满足不同需求,还可以采用多维聚类算子进行聚类,提高聚类效率和精准度。
103.基于上述实施例,在计算日志之间的相似度时,本公开还提供了一种基于长度排序的实施方式,并且还提供了几种可能的聚类算子,具体地:
104.基于多维聚类算子,分别确定多条日志在各聚类算子下的相似度,包括:根据多条日志的长度,将多条日志进行排序;依次针对未聚类为日志组的各日志,确定未聚类为日志组的各日志中长度最大的第一日志,并基于多维聚类算子,确定第一日志与未聚类为日志组的各日志中除第一日志外的其它日志之间的相似度;
105.则根据多条日志在各聚类算子下的相似度,确定出多条日志中符合相似度条件的日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日志组,包括:依次针对未聚类为日志组的各日志,筛选出与第一日志符合相似度条件的第二日志,将第一日志和第二日志聚类为一个日志组,直至将多条日志均聚类完成,获得各符合相似度条件的日志组。
106.例如,本公开实施例中设置候选列表和输出列表,候选列表用于记录未聚类为日志组的排序后的各日志,输出列表用于记录已聚类后的日志组和当前未聚类为日志组的各日志中长度最大的第一日志,则例如根据多条日志的长度,从大到小进行排序,候选列表中包括排序后的多条日志,从候选列表中选取长度最长的第一日志添加到输出列表,并从候选列表中删除该第一日志,计算第一日志与候选列表中包括的各日志之间的相似度,从而从候选列表中筛选出与第一日志符合相似度条件的第二日志,该第二日志可以为多个,将第一日志和第二日志聚类为一个日志组,并从候选列表中删除筛选出来的第二日志,然后再从候选列表中选取一个长度最大的第一日志,添加到输出列表,重复上述过程,直至候选列表为空,所有日志聚类完成,返回输出列表,此时从输出列表中获得所有已聚类后的日志组。
107.这样,本公开实施例中,按照日志的长度排序后,从大到小依次对待处理日志信息中多条日志进行相似度计算和聚类,这是因为考虑到,长度更长的日志通常是包含更多的信息,并且排序后再进行相似度计算,可以明确获知候选列表中各日志小于当前要比较的第一日志,也便于聚类算子的相似度计算,提高相似度计算效率和聚类效率。
108.当然也可以按照长度从小到大进行排序和相似度计算,或者也可以不进行排序,依次对各日志进行相似度计算,对此本公开实施例中并不进行限制。
109.下面基于不同的聚类算子,对相似度计算的方法进行具体说明,本公开实施例中提供了几种可能的聚类算子:
110.第一种聚类算子:多维聚类算子至少包括信息覆盖度算子。
111.则基于多维聚类算子,确定第一日志与未聚类为日志组的各日志中除第一日志外的其它日志之间的相似度,包括:分别针对未聚类为日志组的各日志中除第一日志外的其它日志,确定第一日志与其它日志之间的相似度;
112.其中,针对其它日志中任一第三日志,以第三日志为例,基于信息覆盖度算子,确定第一日志与第三日志之间的相似度,本公开提供了一种可能的实施方式:
113.1)根据预设分隔符,分别将第一日志和第三日志进行切分处理,获得第一日志的第一切分结果和第三日志的第三切分结果。
114.其中,预设分隔符可以采用正则表达式来表示,例如分隔符为句号、分号等,可以根据需求而进行设置。
115.例如,第三日志为字符串a,记为stra,第一日志为字符串b,记为strb,分隔符记为delimiter_regex,则使用分隔符可以将第一日志和第三日志切分为多个分词(token),获得第三切分结果tokena和第一切分结果tokenb。
116.具体地例如:stra="获取总分店信息失败:《nil》";
117.strb="获取总分店信息失败:ke.kite/《mask》rpc timeout/《num》:timeout=《num》2022-01-27t13:05:14.115000";
118.delimiter_regex="[^a-za-z0-9\u4e00-\u9fa5]",表示分隔符为非字母、非数字、非中文。
[0119]
从而按照该分隔符的正则表达式进行切分,可以获得:
[0120]
tokena=['获取总分店信息失败','nil'];tokenb=['获取总分店信息失败','ke','kite','mask','rpc','timeout','num','timeout','num','2022','01','27t13','05','14','115000'],即stra切分为两个分词,strb切分为15个分词。
[0121]
2)根据第一切分结果和第三切分结果,获得第一切分结果和第三切分结果的公共分词。
[0122]
即计算第一切分结果和第三切分结果的交集,获得两者包含的各个公共分词,例如计算tokena和tokenb的交集,获得公共分词记为tokenab,则tokenab=[

获取总分店信息失败

]。
[0123]
3)根据公共分词的数目和第三切分结果中包括的分词数目,分别获得公共分词的信息值和第三切分结果的信息值。
[0124]
例如,信息值的计算方式为:
[0125][0126]
其中,n=len(s)为s长度,这里s为一个数组形式,n即表示s中包括的分词数目,len表示计算长度,i为s中第几个分词。
[0127]
则具体地:
[0128][0129]
其中n=len(ab)=1。
[0130]
4)根据公共分词的信息值和第三切分结果的信息值,获得第一日志和第三日志之间的相似度。
[0131]
具体一种可能实施例为,将公共分词的信息值和第三切分结果的信息值之间的比值,作为第一日志和第三日志之间的相似度。
[0132]
例如,相似度记为ic
score
,则第一日志和第三日志之间的相似度为:
[0133][0134]
从而可以认为该相似度的取值越大,两个日志越相似,例如可以设置信息覆盖度算子对应的阈值,如0.7,超过该取值即认为是相似的,当然本公开实施例中对于最终第一日志和第三日志是否符合相似度条件的判断方式,并不进行限制。
[0135]
本公开实施例中,针对信息覆盖度算子,计算两个日志的相似度时,只需要根据其中长度较小的日志与公共分词进行相似度计算,这是因为一个较长的字符串应该是包含更多信息,若公共分词信息值占较短日志信息值的比例超过一定阈值,则可以认为长度较长的日志能够覆盖大部分较短日志的信息。
[0136]
这样,本公开实施例中,基于信息覆盖度算子进行相似度计算,可以更好地解决长度相差较大日志之间的匹配问题,从而即使两个日志之间的长度相差较大,但是其中一个日志的字符串能够覆盖大部分另一个日志的字符串信息,则也可以将这两个日志聚类到一个日志组。
[0137]
第二种聚类算子:多维聚类算子至少包括固定长度算子,该固定长度算子主要针对采用分隔符进行切分后的长度相同的情况。
[0138]
则基于多维聚类算子,确定第一日志与未聚类为日志组的各日志中除所述第一日志外的其它日志之间的相似度,包括:分别针对未聚类为日志组的各日志中除所述第一日志外的其它日志,确定第一日志与其它日志之间的相似度。
[0139]
其中,针对其它日志中任一第四日志,以第四日志为例,基于固定长度算子,确定第一日志与第四日志之间的相似度,本公开提供了一种可能的实施方式:
[0140]
1)根据预设分隔符,分别将第一日志和第四日志进行切分处理,获得第一日志的第一切分结果和第四日志的第四切分结果。
[0141]
为便于理解和区分,针对固定长度算子,这里将第一日志记为str1,四日日志记为str2,则根据预设分隔符进行切分后,第一日志的第一切分结果记为seq1,第四日志的第四切分结果记为seq2。
[0142]
2)在第一切分结果中包括的分词数目和第四切分结果中包括的分词数目不相同时,确定第一日志和第四日志之间的相似度为0。
[0143]
例如,seq1和seq2均为数组表示形式,数组中每个分量即为切分的各分词,计算seq1和seq2的长度,长度不相同,则相似度为0。
[0144]
也可以理解为,该固定长度算子针对切分后分词数目不相同的日志,是不能计算
出其相似度的,而是直接认为是0,而本公开实施例中,由于可以采用多个聚类算子,因此还可以基于其它聚类算子,计算其相似度。
[0145]
3)在第一切分结果中包括的分词数目和第四切分结果中包括的分词数目相同时,确定第一切分结果中各分词与第四切分结果中各分词是否相同,并根据第一切分结果中各分词与第四切分结果中各分词是否相同的确定结果,获得第一日志和第四日志之间的相似度。
[0146]
例如,第一日志和第四日志之间的相似度记为dr
score
,则:
[0147][0148]
其中,
[0149][0150]
seq1[:depth]=seq2[:depth]表示seq1和seq2的长度相同,即包含的分词数目相同,n为第一切分结果或第四切分结果中包括的分词数目。
[0151]
进而可以设置固定长度算子对应的阈值,例如为0.5,大于或等于该阈值,可以认为两个日志相似。
[0152]
这样,本公开实施例中,基于固定长度算子,可以针对分词数目相同的日志,计算获得其相似度,该算子不需要预先训练,计算更加高效。
[0153]
第三种聚类算子:多维聚类算子至少包括编辑距离算子。
[0154]
编辑距离表示两个字符串之间,由一个转成另一个所需的最少编辑操作次数,其中,许可的编辑操作可以包括将一个字符替换成另一个字符、插入一个字符、删除一个字符。通常,编辑距离越小,两个字符串的相似度越大。
[0155]
则基于多维聚类算子,确定第一日志与未聚类为日志组的各日志中除第一日志外的其它日志之间的相似度,包括:分别针对未聚类为日志组的各日志中除第一日志外的其它日志,确定第一日志与其它日志之间的相似度。
[0156]
其中,针对其它日志中任一第五日志,例如第五日志为例,基于编辑距离算子,确定第一日志与第五日志之间的相似度,一种可能的实施例为,计算从第一日志到第五日志或第五日志到第一日志所需的编辑操作次数,并根据该编辑操作次数,以及第一日志或第五日志的长度,确定第一日志和第五日志的相似度。
[0157]
例如,可以计算编辑操作次数与第一日志的长度的比值,或计算该编辑操作次数与第五日志的长度的比值,然后将1减去该比值的结果,作为第一日志和第五日志的相似度。
[0158]
当然基于编辑距离算子的相似度计算方法,本公开实施例中并不进行限制,也可以采用相关技术中编辑距离算法,对此并不进行限制。
[0159]
当然本公开实施例中,并不仅限于上述几种聚类算子,还可以根据需求,自定义新的聚类算子,也可以增加现有的其它聚类算子。
[0160]
下面采用具体应用场景对本公开实施例中的日志模板提取方法进行说明,参阅图2所示,为本公开实施例中日志模板提取方法的整体架构图。
[0161]
如图2所示,本公开实施例中日志模板提取方法可以分为三个部分:数据拉取、日志聚类和日志模板提取。
[0162]
第一部分:数据拉取。
[0163]
具体地,本公开实施例中,可以按照预设周期,定时从数据库中拉取目标系统或软件的待处理日志信息。
[0164]
第二部分:日志聚类。
[0165]
本公开实施例中,日志聚类可以包括:预处理操作、基于多维聚类算子聚类、基于预设聚类规则聚类。
[0166]
1)预处理操作。
[0167]
具体地,预处理操作可以包括:对超过预设长度阈值的日志进行裁剪;5将日志中与正则表达式匹配的目标变量替换为对应的指定字符等。
[0168]
2)基于多维聚类算子聚类。
[0169]
本公开实施例中,提供了三种不同的聚类算子,包括信息覆盖度算子、固定长度算子和编辑距离算子,可以分别基于不同聚类算子,计算日志之
[0170]
间在各聚类算子下的相似度,从而根据日志之间在各聚类算子下的相似度,0确定日志之间是否符合相似度条件,符合相似度条件的日志可以聚类为一
[0171]
个日志组,从而可以获得聚类后的各日志组。
[0172]
3)基于预设聚类规则聚类。
[0173]
具体地,针对基于多维聚类算子获得的各日志组,再根据预设聚类规则进行聚类,将符合该预设聚类规则的日志组再合并为一个日志组。
[0174]
5第三部分:日志模板提取。
[0175]
具体地,提取各日志组的目标日志模板。
[0176]
并且,本公开实施例中,对于这些聚类后提取的目标日志模板,还需要与历史日志模板库中的历史日志模板进行匹配,同样可以使用多个聚类
[0177]
算子进行相似度计算,符合相似度条件的认为匹配,不符合相似度条件的0认为不匹配,进而在确定匹配时,将目标日志模板归于对应的历史日志模
[0178]
板,在确定不匹配时,认为该目标日志模板为一种新的日志模板,可以存储到历史日志模板中,从而也可以不断更新历史日志模板库。
[0179]
另外,本公开实施例中,还可以分别统计各历史日志模板或目标日志
[0180]
模板下每个统计周期中新增的日志数量,从而生成各历史日志模板或目标5日志模板对应的日志模板时序图,这样可以更加清晰展示各个日志模板下的日志数量变化,助于用户进行日志分析。
[0181]
本公开实施例中,可以定时拉取待处理日志信息,并对待处理日志信息中多条日志依次进行预处理操作、基于多维聚类算子聚类、基于预设聚
[0182]
类规则聚类,获得聚类后的各日志组,进而提取各日志组的目标日志模板,0并且与历史日志模板库中的历史日志模板进行匹配,还可以生成日志模板
[0183]
时序图以展示日志数量变化,整个流程实现简单,可以直接应用于线上日志分析,而不需要预先训练日志模板,并且所需的资源消耗也大大降低,例如,对于cpu、内存等资源消耗都有所降低。
[0184]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0185]
基于同一发明构思,本公开实施例中还提供了与日志模板提取方法对应的日志模板提取装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述日志模板提取方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0186]
参照图3所示,为本公开实施例提供的一种日志模板提取装置的示意图,该装置包括:
[0187]
获取模块31,用于获取待处理日志信息,其中,所述待处理日志信息中包括多条日志;
[0188]
聚类模块32,用于基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组,其中,所述至少一个日志组中每个日志组包括的各日志符合相似度条件,所述多维聚类算子中每个聚类算子用于计算日志之间的相似度;
[0189]
提取模块33,用于提取所述至少一个日志组的目标日志模板。
[0190]
一种可选的实施方式中,基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组之前,所述方法包括:预处理模块34用于:
[0191]
对所述多条日志进行预处理操作,其中,所述预处理操作包括以下至少一种:
[0192]
将所述多条日志中长度超过预设长度阈值的日志进行裁剪;
[0193]
基于预设的正则表达式,将所述多条日志中与所述正则表达式匹配的目标变量替换为对应的指定字符。
[0194]
一种可选的实施方式中,基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组时,聚类模块32用于:
[0195]
基于多维聚类算子,分别确定所述多条日志在各聚类算子下的相似度;
[0196]
根据所述多条日志在各聚类算子下的相似度,确定出所述多条日志中符合相似度条件的日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日志组。
[0197]
一种可选的实施方式中,基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组时,聚类模块32用于包括:
[0198]
基于多维聚类算子,分别确定所述多条日志在各聚类算子下的相似度;
[0199]
根据所述多条日志在各聚类算子下的相似度,确定出所述多条日志中符合相似度条件的日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日志组;
[0200]
根据预设聚类规则,确定所述各符合相似度条件的日志组之间是否符合所述预设聚类规则,并将符合所述预设聚类规则的日志组合并以聚类为一个日志组。
[0201]
一种可选的实施方式中,基于多维聚类算子,分别确定所述多条日志在各聚类算子下的相似度时,聚类模块32用于:
[0202]
根据所述多条日志的长度,将所述多条日志进行排序;
[0203]
依次针对未聚类为日志组的各日志,确定所述未聚类为日志组的各日志中长度最大的第一日志,并基于所述多维聚类算子,确定所述第一日志与所述未聚类为日志组的各
日志中除所述第一日志外的其它日志之间的相似度;
[0204]
则根据所述多条日志在各聚类算子下的相似度,确定出所述多条日志中符合相似度条件的日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日志组时,聚类模块32用于:
[0205]
依次针对未聚类为日志组的各日志,筛选出与所述第一日志符合所述相似度条件的第二日志,将所述第一日志和所述第二日志聚类为一个日志组,直至将所述多条日志均聚类完成,获得各符合相似度条件的日志组。
[0206]
一种可选的实施方式中,若所述多维聚类算子至少包括信息覆盖度算子,则基于所述多维聚类算子,确定所述第一日志与所述未聚类为日志组的各日志中除所述第一日志外的其它日志之间的相似度时,聚类模块32用于:
[0207]
分别针对所述未聚类为日志组的各日志中除所述第一日志外的其它日志,确定所述第一日志与所述其它日志之间的相似度;
[0208]
其中,针对所述其它日志中任一第三日志,确定所述第一日志与所述第三日志之间的相似度时,聚类模块32用于:
[0209]
根据预设分隔符,分别将所述第一日志和所述第三日志进行切分处理,获得所述第一日志的第一切分结果和所述第三日志的第三切分结果;
[0210]
根据所述第一切分结果和所述第三切分结果,获得所述第一切分结果和所述第三切分结果的公共分词;
[0211]
根据所述公共分词的数目和所述第三切分结果中包括的分词数目,分别获得所述公共分词的信息值和所述第三切分结果的信息值;
[0212]
根据所述公共分词的信息值和所述第三切分结果的信息值,获得所述第一日志和所述第三日志之间的相似度。
[0213]
一种可选的实施方式中,若所述多维聚类算子至少包括固定长度算子,则基于所述多维聚类算子,确定所述第一日志与所述未聚类为日志组的各日志中除所述第一日志外的其它日志之间的相似度时,聚类模块32用于:
[0214]
分别针对所述未聚类为日志组的各日志中除所述第一日志外的其它日志,确定所述第一日志与所述其它日志之间的相似度;
[0215]
其中,针对所述其它日志中任一第四日志,确定所述第一日志与所述第四日志之间的相似度时,聚类模块32用于:
[0216]
根据预设分隔符,分别将所述第一日志和所述第四日志进行切分处理,获得所述第一日志的第一切分结果和所述第四日志的第四切分结果;
[0217]
在所述第一切分结果中包括的分词数目和所述第四切分结果中包括的分词数目不相同时,确定所述第一日志和所述第四日志之间的相似度为0;
[0218]
在所述第一切分结果中包括的分词数目和所述第四切分结果中包括的分词数目相同时,确定所述第一切分结果中各分词与所述第四切分结果中各分词是否相同,并根据所述第一切分结果中各分词与所述第四切分结果中各分词是否相同的确定结果,获得所述第一日志和所述第四日志之间的相似度。
[0219]
一种可选的实施方式中,提取所述至少一个日志组的目标日志模板之后,还包括匹配模块35用于:
[0220]
将所述目标日志模板与历史日志模板库中历史日志模板进行匹配;
[0221]
在确定匹配时,将所述目标日志模板合并于所述历史日志模板,在确定不匹配时,将所述目标日志模板存储于所述历史日志模板库中。
[0222]
一种可选的实施方式中,所述方法还包括,生成模块36用于:
[0223]
按照预设统计周期,分别统计所述历史日志模板库中历史日志模板下在各预设统计周期中增加的日志数量;
[0224]
根据所述历史日志模板在各预设统计周期中增加的日志数量,生成日志模板时序图,以用于展示在各预设统计周期中日志数量变化。
[0225]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0226]
本公开实施例还提供了一种电子设备,如图4所示,为本公开实施例提供的电子设备结构示意图,包括:
[0227]
处理器41和存储器42;所述存储器42存储有处理器41可执行的机器可读指令,处理器41用于执行存储器42中存储的机器可读指令,所述机器可读指令被处理器41执行时,处理器41执行下述步骤:
[0228]
获取待处理日志信息,其中,所述待处理日志信息中包括多条日志;
[0229]
基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组,其中,所述至少一个日志组中每个日志组包括的各日志符合相似度条件,所述多维聚类算子中每个聚类算子用于计算日志之间的相似度;
[0230]
提取所述至少一个日志组的目标日志模板。
[0231]
一种可选的实施方式中,基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组之前,处理器41还用于:
[0232]
对所述多条日志进行预处理操作,其中,所述预处理操作包括以下至少一种:将所述多条日志中长度超过预设长度阈值的日志进行裁剪;基于预设的正则表达式,将所述多条日志中与所述正则表达式匹配的目标变量替换为对应的指定字符。
[0233]
一种可选的实施方式中,基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组时,处理器41用于:
[0234]
基于多维聚类算子,分别确定所述多条日志在各聚类算子下的相似度;
[0235]
根据所述多条日志在各聚类算子下的相似度,确定出所述多条日志中符合相似度条件的日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日志组。
[0236]
一种可选的实施方式中,基于多维聚类算子,对所述多条日志进行聚类,获得至少一个日志组时,处理器41用于:
[0237]
基于多维聚类算子,分别确定所述多条日志在各聚类算子下的相似度;
[0238]
根据所述多条日志在各聚类算子下的相似度,确定出所述多条日志中符合相似度条件的日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日志组;
[0239]
根据预设聚类规则,确定所述各符合相似度条件的日志组之间是否符合所述预设聚类规则,并将符合所述预设聚类规则的日志组合并以聚类为一个日志组。
[0240]
一种可选的实施方式中,基于多维聚类算子,分别确定所述多条日志在各聚类算子下的相似度时,处理器41用于:
[0241]
根据所述多条日志的长度,将所述多条日志进行排序;
[0242]
依次针对未聚类为日志组的各日志,确定所述未聚类为日志组的各日志中长度最大的第一日志,并基于所述多维聚类算子,确定所述第一日志与所述未聚类为日志组的各日志中除所述第一日志外的其它日志之间的相似度;
[0243]
则根据所述多条日志在各聚类算子下的相似度,确定出所述多条日志中符合相似度条件的日志,并将符合相似度条件的日志聚类为一个日志组,获得各符合相似度条件的日志组时,处理器41用于:依次针对未聚类为日志组的各日志,筛选出与所述第一日志符合所述相似度条件的第二日志,将所述第一日志和所述第二日志聚类为一个日志组,直至将所述多条日志均聚类完成,获得各符合相似度条件的日志组。
[0244]
一种可选的实施方式中,若所述多维聚类算子至少包括信息覆盖度算子,则基于所述多维聚类算子,确定所述第一日志与所述未聚类为日志组的各日志中除所述第一日志外的其它日志之间的相似度时,处理器41用于:
[0245]
分别针对所述未聚类为日志组的各日志中除所述第一日志外的其它日志,确定所述第一日志与所述其它日志之间的相似度;
[0246]
其中,针对所述其它日志中任一第三日志,确定所述第一日志与所述第三日志之间的相似度时,处理器41用于:
[0247]
根据预设分隔符,分别将所述第一日志和所述第三日志进行切分处理,获得所述第一日志的第一切分结果和所述第三日志的第三切分结果;
[0248]
根据所述第一切分结果和所述第三切分结果,获得所述第一切分结果和所述第三切分结果的公共分词;
[0249]
根据所述公共分词的数目和所述第三切分结果中包括的分词数目,分别获得所述公共分词的信息值和所述第三切分结果的信息值;
[0250]
根据所述公共分词的信息值和所述第三切分结果的信息值,获得所述第一日志和所述第三日志之间的相似度。
[0251]
一种可选的实施方式中,若所述多维聚类算子至少包括固定长度算子,则基于所述多维聚类算子,确定所述第一日志与所述未聚类为日志组的各日志中除所述第一日志外的其它日志之间的相似度时,处理器41用于:
[0252]
分别针对所述未聚类为日志组的各日志中除所述第一日志外的其它日志,确定所述第一日志与所述其它日志之间的相似度;
[0253]
其中,针对所述其它日志中任一第四日志,确定所述第一日志与所述第四日志之间的相似度时,处理器41用于:
[0254]
根据预设分隔符,分别将所述第一日志和所述第四日志进行切分处理,获得所述第一日志的第一切分结果和所述第四日志的第四切分结果;
[0255]
在所述第一切分结果中包括的分词数目和所述第四切分结果中包括的分词数目不相同时,确定所述第一日志和所述第四日志之间的相似度为0;
[0256]
在所述第一切分结果中包括的分词数目和所述第四切分结果中包括的分词数目相同时,确定所述第一切分结果中各分词与所述第四切分结果中各分词是否相同,并根据
所述第一切分结果中各分词与所述第四切分结果中各分词是否相同的确定结果,获得所述第一日志和所述第四日志之间的相似度。
[0257]
一种可选的实施方式中,提取所述至少一个日志组的目标日志模板之后,处理器41还用于:
[0258]
将所述目标日志模板与历史日志模板库中历史日志模板进行匹配;
[0259]
在确定匹配时,将所述目标日志模板合并于所述历史日志模板,在确定不匹配时,将所述目标日志模板存储于所述历史日志模板库中。
[0260]
一种可选的实施方式中,处理器41还用于:
[0261]
按照预设统计周期,分别统计所述历史日志模板库中历史日志模板下在各预设统计周期中增加的日志数量;根据所述历史日志模板在各预设统计周期中增加的日志数量,生成日志模板时序图,以用于展示在各预设统计周期中日志数量变化。
[0262]
上述存储器42包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换。
[0263]
上述指令的具体执行过程可以参考本公开实施例中所述的日志模板提取方法的步骤,此处不再赘述。
[0264]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的日志模板提取方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0265]
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的日志模板提取方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0266]
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0267]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0268]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0269]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0270]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0271]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1