一种基于Word2Vec的日志异常检测方法、装置及电子设备

文档序号:26584779发布日期:2021-09-10 18:46阅读:172来源:国知局
一种基于Word2Vec的日志异常检测方法、装置及电子设备
一种基于word2vec的日志异常检测方法、装置及电子设备
技术领域
1.本发明涉及日志异常检测技术领域,特别涉及一种基于word2vec的日志异常检测方法、装置及电子设备。


背景技术:

2.系统日志记录了系统运行时的详细信息,例如时间戳,消息类型和系统运行状态。利用系统日志进行异常检测,可以有效维持系统安全,减少系统故障。
3.如图3所示,主流的日志的异常检测的总体框架,主要包括以下四个步骤:日志收集,日志解析,特征提取和异常检测。由于采取了对原始系统日志进行日志解析这一步骤,而现有的日志解析步骤中,基本采用了日志解析器。日志解析器并非是通用的,有的日志需要使用特定的日志解析器才能提取出相关信息,一些通用的日志解析器对于不同系统日志类型的解析精度不一,使用通用的日志解析器很容易产生解析错误,导致正常的日志消息被分类为异常的日志消息。


技术实现要素:

4.本发明旨在至少解决现有技术中存在的技术问题。为此,本发明提出一种基于word2vec的日志异常检测方法、装置及电子设备,略过主流日志异常检测中的日志解析步骤,一方面能够节省解析时间,另一方面能够避免解析精度不高导致异常检测性能不高的问题。
5.第一方面,本发明实施例提供一种基于word2vec的日志异常检测方法,包括以下步骤:
6.对原始系统日志进行预处理,得到日志序列;
7.通过word2vec对所述日志序列中的全部词进行嵌入训练,得到由全部词对应全部词向量组成的词向量矩阵;
8.基于所述日志序列中的每个词所占的权重,计算词

序列权值矩阵;
9.将所述词向量矩阵与所述词

序列权值矩阵相乘,得到赋予权重后的日志序列特征向量;
10.基于所述日志序列特征向量进行日志异常检测。
11.根据本发明的实施例,至少具有如下技术效果:
12.日志是记录系统中的操作事件的文件或文件的集合,大多数的日志文件数据都是原始文本和非结构化文件。通过对日志进行预处理,将对于日志异常检测的无关信息剔除,留下有用的词,基于word2vec将上述词转化成词向量矩阵。再通过将整个日志划分为多个日志序列,分别计算上述词在日志序列中的权重,基于该权重组合成词

序列权值矩阵。取词向量矩阵和词

序列权值矩阵相乘,获得日志序列的特征向量。使用这些特征向量训练日志异常检测模型,训练好的日志异常检测模型就能对新的系统日志进行异常检测。本方法略过主流日志异常检测中的日志解析步骤,一方面能够节省解析时间,另一方面能够避免
解析精度不高导致异常检测性能不高的问题。不仅如此,本方法还采用加权序列特征向量的方式,作为异常检测模型的输入,从而解决异常检测性能不高的问题。
13.可选的,所述预处理包括:截取所述原始系统日志中的日志内容;通过窗口将整个所述日志内容划分为多个日志序列。
14.可选的,所述通过word2vec对所述日志序列中的全部词进行嵌入训练,得到由全部词对应全部词向量组成的词向量矩阵包括:对所述日志内容进行分词操作,获得若干个词;通过所述word2vec中的cbow模型计算出每个所述词的词向量;将每个所述词向量由上至下排列,生成所述词向量矩阵。
15.可选的,所述权重通过tf

idf计算得到,计算公式为:
[0016][0017][0018]
其中,count(word
i
)为词i在所有所述日志序列中出现的次数,total(word)为所述日志中词的总数,total(seq)为所述日志序列总数,total(seq
i
)为包含所述词i的所述日志序列总数。
[0019]
可选的,所述计算词

序列权值矩阵包括:将所述tf(word
i
)与所述idf(word
i
)相乘,作为所述词i的tf

idf值;将连续多条所述日志组成所述日志序列,其中,多个所述词i的tf

idf值组成所述日志序列的seq向量;将多个所述日志序列的seq向量由上至下合并成所述词

序列权值矩阵。
[0020]
可选的,通过k

means的无监督聚类方法进行日志异常检测。
[0021]
第二方面,本发明实施例提供一种基于word2vec的日志异常检测装置,包括:
[0022]
预处理模块,对原始系统日志进行预处理,得到日志序列;
[0023]
合成矩阵模块,用于通过word2vec对所述日志序列中的全部词进行嵌入训练,得到由全部词对应全部词向量组成的词向量矩阵,以及用于基于所述日志序列中的每个词所占的权重,计算词

序列权值矩阵;
[0024]
获取向量模块,用于将所述词向量矩阵与所述词

序列权值矩阵相乘,得到赋予权重后的日志序列特征向量;
[0025]
异常检测模块,用于基于所述日志序列特征向量进行日志异常检测。
[0026]
第三方面,本发明实施例提供了一种电子设备,包括:
[0027]
存储器,用于存储计算机程序;
[0028]
处理器,用于执行所述计算机程序时实现前述提供的一种基于word2vec的日志异常检测方法。
[0029]
第四方面,本发明实施例提供了一种计算机可读介质,用于存储计算机程序,所述计算机程序被处理器执行时实现前述提供的一种基于word2vec的日志异常检测方法提供的一种基于word2vec的日志异常检测方法。
[0030]
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0031]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0032]
图1为本发明实施例提供的一种基于word2vec的日志异常检测方法的流程图;
[0033]
图2为本发明实施例提供的一种基于word2vec的日志异常检测方法的无监督的日志异常检测框架图;
[0034]
图3为本发明实施例提供的一种基于word2vec的日志异常检测方法的主流异常检测框架;
[0035]
图4为本发明实施例提供的一种基于word2vec的日志异常检测方法的详细流程图;
[0036]
图5为本发明实施例提供的一种基于word2vec的日志异常检测方法的cbow模型图;
[0037]
图6为本发明实施例提供的一种基于word2vec的日志异常检测方法的词向量矩阵w生成示意图;
[0038]
图7为本发明实施例提供的一种基于word2vec的日志异常检测方法的生成特征向量示例图;
[0039]
图8为本发明实施例提供的一种基于word2vec的日志异常检测方法的面向bgl数据集的两种方法比较图;
[0040]
图9为本发明实施例提供的一种基于word2vec的日志异常检测方法的不同聚类中心个数的f1分数图;
[0041]
图10为本发明实施例提供的一种基于word2vec的日志异常检测方法的划分日志不同窗口大小对聚类效果的影响图;
[0042]
图11为本发明实施例提供的一种基于word2vec的日志异常检测装置的结构图;
[0043]
图12为本发明实施例提供的计算机设备的结构示意图;
[0044]
图13为本发明实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
[0045]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046]
非另有定义,本发明所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本发明中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本发明。
[0047]
现有的方法需要对日志进行日志解析形成日志模板或日志事件,在实际操作中,日志数据往往包含以前未见过的日志事件,从而带来了不稳定性。不稳定主要来自两个方面:一是日志语句的演化,开发人员可能经常修改源代码,包括日志语句、版本更新后日志语句发生变化;二是日志数据的处理噪声,不同日志解析方法得到不同的结构化日志信息,对异常检测的结果产生巨大影响。
[0048]
实施例一
[0049]
为解决上述问题,参照图1和图2,本发明第一实施例提供一种基于word2vec的日志异常检测方法,包括以下步骤:
[0050]
步骤s110:对原始系统日志进行预处理,得到日志序列。
[0051]
系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。
[0052]
在本实施例中,原始系统日志是指未经处理的系统日志。
[0053]
在本实施例中,预处理是指将原始系统日志中的无关信息剔除,保留有用的日志消息。
[0054]
在本实施例中,连续的多条日志组成一个日志序列。假设日志总行数为n,日志序列窗口大小为t,那么总共就会形成m个日志序列,其中m=n/t。通过窗口t划分,可以将整个日志划分为多个日志序列,每个日志序列包含连续的t个日志。
[0055]
步骤s120:通过word2vec对日志序列中的全部词进行嵌入训练,得到由全部词对应全部词向量组成的词向量矩阵。
[0056]
word2vec,是一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系,该向量为神经网络之隐藏层。
[0057]
在本实施例中,使用word2vec将原始日志中的每个单词映射到向量空间,使每个单词都有其相应的坐标,然后将日志事件的坐标由该事件中所有单词坐标的质心来表示,日志序列由该序列中的所有日志事件的质心来表示。
[0058]
步骤s130:基于日志序列中的每个词所占的权重,计算词

序列权值矩阵。
[0059]
在本实施例中,使用tf

idf计算词在所有日志序列中的权重。tf

idf(term frequency

inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。tf是词频(term frequency),idf是逆文本频率指数(inverse document frequency)。
[0060]
步骤s140:将词向量矩阵与词

序列权值矩阵相乘,得到赋予权重后的日志序列特征向量。
[0061]
步骤s150:基于所述日志序列特征向量进行日志异常检测。
[0062]
主流的日志的异常检测的总体框架,主要包括以下四个步骤:日志收集,日志解析,特征提取和异常检测。由于采取了对原始系统日志进行日志解析这一步骤,而现有的日志解析步骤中,基本采用了日志解析器。日志解析器并非是通用的,有的日志需要使用特定的日志解析器才能提取出相关信息,一些通用的日志解析器对于不同系统日志类型的解析精度不一,使用通用的日志解析器很容易产生解析错误,导致正常的日志消息被分类为异常的日志消息。本发明实施例通过对日志进行预处理,将对于日志异常检测的无关信息剔除,留下有用的词,基于word2vec将上述词转化成词向量矩阵。再通过将整个日志划分为多个日志序列,分别计算上述词在日志序列中的权重,基于该权重组合成词

序列权值矩阵。取词向量矩阵和词

序列权值矩阵相乘,获得日志序列的特征向量。使用这些特征向量训练日志异常检测模型,训练好的日志异常检测模型就能对新的系统日志进行异常检测。本方
法略过主流日志异常检测中的日志解析步骤,一方面能够节省解析时间,另一方面能够避免解析精度不高导致异常检测性能不高的问题。不仅如此,本方法还采用加权序列特征向量的方式,作为异常检测模型的输入,从而解决异常检测性能不高的问题。
[0063]
实施例二
[0064]
参照图4,本实施例以前述实施例为基础,进一步细化流程,包括以下步骤:
[0065]
步骤s201:截取原始系统日志中的日志内容。
[0066]
文件日志是记录系统中的操作事件的文件或文件的集合,大多数的日志文件数据都是原始文本和非结构化文件。以我们收集的bgl数据为例,如表1所示:
[0067][0068][0069]
表1
[0070]
bgl数据中有很多时间、节点、消息类型、内核等对于日志异常检测的无关信息,例如:“1117838570 2005.06.03r02

m1

n0

c:j12

u11 ras kernel info instruction cache parity error corrected”,其中时间戳是1117848119,日期为2005.06.03,节点为r02

m1

n0

c:j12

u11,该条日志消息的类型为ras,消息生成的位置为kernel,该条日志消息对应的等级是info,该条日志消息的内容为instruction cache parity error corrected。我们先将无关信息剔除,保留有用的日志消息,即“instruction cache parity error corrected”。表2是示例“1117838570 2005.06.03 r02

m1

n0

c:j12

u11 ras kernel info instruction cache parity error corrected”这条原始日志预处理后的效果。
[0071][0072]
表2
[0073]
步骤s202:通过窗口将整个日志内容划分为多个日志序列。
[0074]
连续的多条日志组成一个日志序列。假设日志总行数为n,日志序列窗口大小为t,那么总共就会形成m个日志序列,其中m=n/t。通过窗口t划分,可以将整个日志划分为多个日志序列,每个日志序列包含连续的t个日志。
[0075]
在本实施例中,窗口包括固定窗口、滑动窗口和会话窗口。
[0076]
步骤s203:对日志内容进行分词操作,获得若干个词。
[0077]
对于日志异常处理,需要对日志内容进行分词。这里可以利用空格进行分词操作,例如“instruction cache parity error corrected”就被分为“instruction”、“cache”、“parity”、“error”、“corrected”五个单词。
[0078]
步骤s204:通过word2vec中的cbow模型计算出每个所述词的词向量。
[0079]
采用语言模型word2vec中的cbow模型计算出每个单词的值,cbow是根据某个词前面的n个词或前后n个词计算某个词概率的模型。
[0080]
如图5所示,cbow模型一般采用3层神经网络结构,分为输入层,隐藏层(嵌入层)和输出层(softmax层)。cbow模型输入上下文词的one

hot编码,然后连接一个全连接层,再连接若干个层,最后接softmax分类器,再通过梯度优化和反向传播让模型逼近最小误差就可以得到词向量。如图5所示,通过单词上下文单词w(i

2)、w(i

1)、w(i+1)和w(i+2)的one

hot向量表示,通过嵌入层和softmax可以计算出单词w(i)的词向量。那么单词i的词向量维度就为r1×
j
,其中j为单词的维度。
[0081]
步骤s205:将每个词向量由上至下排列,生成词向量矩阵。
[0082]
如果整个日志中互不相同的单词个数为s,按照单词出现的顺序,将每个单词的向量有上到下排列整合,就会生成词向量矩阵w,这个词向量矩阵的大小为r
s
×
j
,其中j为单个词向量的维度,如图6所示。
[0083]
步骤s206:通过tf

idf计算词在日志序列中的权重。
[0084]
tf

idf用于计算词在所有日志序列中的权重。如果某一词在所有的日志序列中出
现的次数较少,那么这个词就应该赋予较高的权值;如果出现的次数较多,那么它的权值就应该较低;如果没有在当前的序列中出现,那么它的权值就为0。tf计算词的频率,idf衡量日志事件的发生程度,其计算方式如公式7

1所示:
[0085][0086][0087]
其中,count(word
i
)为词i在所有所述日志序列中出现的次数,total(word)为所述日志中词的总数,total(seq)为所述日志序列总数,total(seq
i
)为包含所述词i的所述日志序列总数。
[0088]
步骤s207:将tf(word
i
)与idf(word
i
)相乘,作为词i的tf

idf值。
[0089]
计算tf与idf的乘积,作为单词i的tf

idf的值,如下公式所示:
[0090]
tf

idf(word
i
)=tf(word
i
)
×
idf(word
i
)
[0091]
步骤s208:将多个词i的tf

idf值组成日志序列的seq向量。
[0092]
由于连续的t条日志组成一个日志序列,seq
i
则表示第i个序列,seq
i
的向量大小为r1×
s
,其中s与单词总数相同。那么第一条序列seq1的特征向量中的值可以用表示tf

idf
iz
(i表示第i个序列,z表示向量中的第z列),其计算方式如下公式所示:
[0093][0094]
步骤s209:将多个日志序列的seq向量由上至下合并成词

序列权值矩阵。
[0095]
总共有m个日志序列,把m个日志序列的seq向量由上到下合并成一个词

序列权值矩阵t,则t∈r
m
×
s

[0096]
步骤s210:将词向量矩阵与词

序列权值矩阵相乘,获得日志序列特征向量。
[0097]
将矩阵t(即词

序列权值矩阵)乘以日志序列所对应的词向量矩阵w,从而获得日志序列特征向量,计算方式如下:
[0098]
e
seq
=t
×
w
[0099]
步骤s211:基于日志序列特征向量进行日志异常检测。
[0100]
采用基于k

means的无监督聚类方法进行异常检测,使用kmeans聚类方法的簇划分算法如表3:
[0101][0102][0103]
表3
[0104]
确定一个聚类范围阈值threshold,对日志间的相似性进行判断,在阈值范围之外的就被认定为异常日志,阈值范围之内的被认定为正常日志。
[0105]
实施例三
[0106]
如图7所示,为了让本领域技术人员更加理解本发明的上述实施例,下面以采用基于word2vec的方法进行异常检测为例进行说明。
[0107]
原始的日志经过预处理后提取出所需的日志消息内容,如图7中(a)所示;图7中日
志共有19个单词(即s=19),日志消息中的19个单词使用word2vec工具进行词嵌入训练,训练出bgl数据集中每个单词的向量w,j为word2vec中设置的单词特征维度的大小,每个单词的向量w
(i)
∈r1×
j
。因为总共有19个单词,所以最终形成单词向量矩阵w,w∈r
19
×
j
,如图7中的(b)所示。
[0108]
如图7中(c)所示,将日志窗口t设置为2,则每2行日志消息生成一个日志序列,共产生3条日志序列,采用tf

idf计算出序列中每个单词的权重值。如图7中(d)所示用序列中单词的权重值来表示这条序列的词

序列权值向量其中i表示第i个日志序列,将所有的日志序列由上到下整合成一个词

序列权值矩阵t(t∈r3×
19
),其中3为日志序列的数目,19为日志中不重复的单词总数。最后如图7中的(e)、(f)所示,将词

序列权值矩阵t和单词向量矩阵w相乘,计算出赋予权重后的特征向量e
seq
,用来表征原始的日志。将日志的特征向量矩阵用无监督的方法,检测日志的异常。这里采用k

means的无监督聚类方式。
[0109]
实验内容
[0110]
模型的所有实验均在百度ai studio(中国北京)上运行,该工作室为服务器配备了具有8核的intel xeon gold 6148cpu,以及具有16gb videomem gpu的tesla v100和32gb ram。
[0111]
收集bgl数据集,bgl数据包含1,048,576条日志消息,由lawrence livermore national labs(llnl)的bluegene/l超级计算机系统记录。表4展示了bgl数据集基本信息。
[0112][0113]
表4
[0114]
bgl数据集取n=1,000,000行的日志消息,一共有773个不重复单词(即s=773),每个单词的词向量维度取376维(即j=773)。序列的窗口大小取值范围为5~100行(即t取5~100)。
[0115]
实验对比
[0116]
在相关文献中广泛使用的精确度,召回率和f1分数来评估集成方法的性能。精度,召回率和f1分数计算公式如下所示:
[0117][0118][0119]
真阳性(tp)表示系统标记为异常的日志消息,实际情况也为异常。假阳性(fp)表示预测为异常的日志消息,实际是正常日志消息。假阴性(fn)表示预测为正常日志消息,其实际为异常的日志消息。
[0120]
lin等人提出了logcluster,这是一种将日志聚集在一起以简化基于日志的问题识别的方法。该系统针对于在线的大型软件系统的日志进行处理与分类,采用聚类方法,识别当前故障在之前是否发生过。本方法与logcluster的方法的实验对比,如图8所示。当本
方法,在设置聚类中心为2时的f1分数在窗口大小为5、10、20的情况下分别为0.756、0.757、0.729,而logcluster的方法在窗口大小为5、10、20的情况下分别为0.457、0.522、0.625。所以经过比较,本方法比logcluster方法更为准确。
[0121]
结果分析
[0122]
对于bgl数据集采用不同窗口词

序列权值的k

means聚类方法的异常检测的结果图如图9所示。由图9所示,从不同聚类个数的f1分数可以看出当k

means的聚类中心的个数增多时,呈现出异常检测的效果越差的趋势。图9中的窗口大小为5的蓝色折线所示,当聚类中心的个数为2时的f1分数为0.756,聚类中心的个数为3时的f1分数为0.737,聚类中心的个数为5时的f1分数为0.637。窗口大小为10的黄色折线在聚类中心个数为2的时候f1分数达到了0.75778。由此可知聚类中心的个数在2或3时,聚类效果较好。
[0123]
由图9可知聚类中心的个数在2个或3个时候可以达到本方法的无监督聚类的最好效果,那么我们分别用中心个数为2和3,讨论窗口大小对聚类效果的影响进行分析,如图10所示。图10中k=2的蓝色线所示,当窗口大小为5的时候,聚类效果最佳,随着窗口大小的逐渐增加,聚类效果由0.756逐渐下降到0.613。所以本发明所采用的基于word2vec的无监督异常检测的方法,可以有效的进行无监督异常检测。
[0124]
实施例四
[0125]
参照图11,根据本发明实施例提供了一种基于word2vec的日志异常检测装置,包括:预处理模块301、合成矩阵模块302、获取向量模块303以及异常检测模块304。预处理模块301,对原始系统日志进行预处理,得到日志序列;合成矩阵模块302,用于通过word2vec对所述日志序列中的全部词进行嵌入训练,得到由全部词对应全部词向量组成的词向量矩阵,以及用于基于所述日志序列中的每个词所占的权重,计算词

序列权值矩阵;获取向量模块303,用于将所述词向量矩阵与所述词

序列权值矩阵相乘,得到赋予权重后的日志序列特征向量;异常检测模块304,用于基于所述日志序列特征向量进行日志异常检测。
[0126]
预处理模块包括:截取单元,用于将日志进行切割分解,截取日志中的日志内容;序列单元,用于通过窗口将整个日志内容划分为多个日志序列。
[0127]
合成矩阵模块包括:分词单元,用于对日志内容进行分词操作;词向量矩阵单元,用于合成词向量矩阵;词

序列权值矩阵单元,用于合成词

序列权值矩阵。
[0128]
本发明实施例所提供的基于word2vec的无监督日志异常检测装置可执行本发明任意实施例所提供的基于word2vec的无监督日志异常检测方法,具备执行方法相应的功能模块和有益效果。
[0129]
实施例五
[0130]
如图12所示,基于同一发明构思,根据本发明实施例提供了一种计算机设备401,包括:
[0131]
至少一个处理器420;以及
[0132]
存储器410,存储器410存储有可在处理器上运行的计算机程序411,处理器420执行程序时执行如上的任一种基于word2vec的日志异常检测方法的步骤。
[0133]
实施例六
[0134]
如图13所示,基于同一发明构思,根据本发明实施例提供了一种计算机可读存储介质501,计算机可读存储介质501存储有计算机程序指令510,计算机程序指令510被处理
器执行时执行如上的任一种基于word2vec的日志异常检测方法的步骤。
[0135]
专业人员可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0136]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ramd、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
[0137]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0138]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1