本发明涉及计算机及互联网技术领域,特别涉及一种基于决策树的移动应用性能瓶颈分析方法及装置。
背景技术:
随着移动互联网的发展,人们已经习惯在各种生产、生活场景中使用移动应用来满足多样化的需求。各类应用提供商也把提高用户体验作为首要任务,在这其中,移动应用的性能在衡量产品质量中扮演着重要角色。
目前大多数移动应用的性能体验差强人意(表现为卡、慢)的原因主要有三个:第一、移动应用是运营在一个复杂的、性能和稳定性都不完美的移动互联网基础架构之上,而这个基础架构的主要组成部分,Wi-Fi、无线蜂窝网、数据中心网络、内容分发网络都是复杂的计算机网络,一条应用层的消息会经过十几种、几十个设备才能最终到达目的地,过程中任何设备或链接出了问题都会导致应用层用户性能体验的下降;第二、应用软件模块调用关系复杂,用户在移动端的一次点击会涉及到多个移动端和服务器端多个软件子系统的多次调用关系,每个子系统都可能成为瓶颈;第三、虽然移动应用提供商通常会采集移动应用性能日志,并试图分析该日志来发现性能瓶颈,但分析该日志需要运维人员具备足够的领域知识;更重要的是,随着日志维度和数量的快速增长,人工分析的方法已经变得低效甚至不可行。
在大数据的浪潮下,市面上出现了很多“性能数据分析”的产品,如听云、神策、日志易等,然而这些平台分析多维日志的手段还停留在“便捷可视化”的层面。如图1所示,首先由人工选择维度组合,然后以图表的形式展示该维度组合下的数据,以帮助运维人员发现性能瓶颈。
然而,维度较多时,以上述方法分析需要消耗大量人力或是不可行;其次,因为不同维度并不独立,所以各种不同维度组合的条件存在潜在交叉,因此会看到很多维度组合都表现为瓶颈,运维人员很难明确哪个(些)维度组合是最重要的。因此,即便借助现有平台,想从移动端性能数据分析出瓶颈依然有诸多不便,很难快速得到想要的结果。
技术实现要素:
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于决策树的移动应用性能瓶颈分析方法,该方法可以提高分析效率,提高分析的准确性和实用性。
本发明的另一个目的在于提出一种基于决策树的移动应用性能瓶颈分析装置。
为达到上述目的,本发明一方面实施例提出了一种基于决策树的移动应用性能瓶颈分析方法,包括以下步骤:获取移动端性能日志;根据所述移动端性能日志基于决策树进行建模,以得到分类模型;通过所述分类模型得到瓶颈条件,以根据所述瓶颈条件得到移动应用性能瓶颈分析结果。
本发明实施例的基于决策树的移动应用性能瓶颈分析方法,可以基于决策树进行建模,从而通过分类模型得到瓶颈条件,通过基于机器学习自动从多维日志中找到最有可能是瓶颈的维度组合,从而运维人员能够更快速地发现用户体验瓶颈,提高分析效率,提高分析的准确性和实用性。
另外,根据本发明上述实施例的基于决策树的移动应用性能瓶颈分析方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述预设的分类模型通过以下方式得到:将所述移动端性能日志中每一条记录以n个属性的值为坐标映射到n维空间;根据关键性能指标和分类条件对所述每一条记录进行分类,以对所述n维空间进行不重叠划分;根据所述n维空间中已有的数据分布得到类别的分界线;根据不同维度的属性和值建立所述分类模型。
进一步地,在本发明的一个实施例中,还包括:列举所有的属性划分,并根据评价指标选择最优属性;在每个节点处得到所有候选的属性划分后,通过信息熵增益评价各个属性划分的效果;根据瓶颈条件定义得到停止生长条件,以根据所述停止生长条件停止所述决策树增长;将不满足预设条件的叶子节点标记为瓶颈节点,以确定叶子节点类别;识别瓶颈属性条件,以基于决策树进行建模。
进一步地,在本发明的一个实施例中,所述关键性能指标不达标比例大于父节点的分支所用的属性条件为所述瓶颈属性条件。
可选地,在本发明的一个实施例中,所述移动端性能日志的格式包括性能指标和潜在影响因素,其中,所述性能指标包括操作响应时间,所述潜在影响因素包括网络类型、省份和移动设备类型中的一种或多种。
为达到上述目的,本发明另一方面实施例提出了一种基于决策树的移动应用性能瓶颈分析装置,包括:获取模块,用于获取移动端性能日志;建模模块,用于根据所述移动端性能日志基于决策树进行建模,以得到分类模型;分析模块,用于通过所述分类模型得到瓶颈条件,以根据所述瓶颈条件得到移动应用性能瓶颈分析结果。
本发明实施例的基于决策树的移动应用性能瓶颈分析装置,可以基于决策树进行建模,从而通过分类模型得到瓶颈条件,通过基于机器学习自动从多维日志中找到最有可能是瓶颈的维度组合,从而运维人员能够更快速地发现用户体验瓶颈,提高分析效率,提高分析的准确性和实用性。
另外,根据本发明上述实施例的基于决策树的移动应用性能瓶颈分析装置还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述预设的分类模型通过以下方式得到:将所述移动端性能日志中每一条记录以n个属性的值为坐标映射到n维空间;根据关键性能指标和分类条件对所述每一条记录进行分类,以对所述n维空间进行不重叠划分;根据所述n维空间中已有的数据分布得到类别的分界线;根据不同维度的属性和值建立所述分类模型。
进一步地,在本发明的一个实施例中,所述建模模块还用于列举所有的属性划分,并根据评价指标选择最优属性,在每个节点处得到所有候选的属性划分后,通过信息熵增益评价各个属性划分的效果,并且根据瓶颈条件定义得到停止生长条件,以根据所述停止生长条件停止所述决策树增长,并将不满足预设条件的叶子节点标记为瓶颈节点,以确定叶子节点类别,以及识别瓶颈属性条件,以基于决策树进行建模。
进一步地,在本发明的一个实施例中,所述关键性能指标不达标比例大于父节点的分支所用的属性条件为所述瓶颈属性条件。
可选地,在本发明的一个实施例中,所述移动端性能日志的格式包括关键性能指标和潜在影响因素,其中,所述性能指标包括操作响应时间,所述潜在影响因素包括网络类型、省份和移动设备类型中的一种或多种。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为相关技术中以神策为例展示现有工具典型的分析方法的示意图;
图2为根据本发明一个实施例的基于决策树的移动应用性能瓶颈分析方法的流程图;
图3为根据本发明一个实施例的分类问题基本思想的示意图;
图4为根据本发明一个实施例的决策树的示意图;
图5为根据本发明一个实施例的基于决策树的移动应用性能瓶颈分析方法与相关技术中关键聚类方法的效果对比示意图;
图6为根据本发明一个实施例的基于决策树的移动应用性能瓶颈分析装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面在描述根据本发明实施例提出的基于决策树的移动应用性能瓶颈分析方法及装置之前,先来简单描述一下快速分析移动应用性能瓶颈的重要性。
随着移动设备和移动互联网的普及,各类移动应用已经逐渐成为人们日常生活的不可或缺的组成部分。然而,移动应用是运营在一个复杂的、性能和稳定性都不完美的移动互联网基础架构之上,用户在移动端的一次交互式操作需要移动端、中间网络、服务端等众多模块的协作才能完成,每个部分都可能成为瓶颈。为了监测用户的交互体验,通常的做法是记录每次用户交互的性能和潜在影响因素(多维度日志),然后进行集中分析。然而,随着日志数量和维度双重增长,人工分析的手段已经变得低效甚至不可行。
本发明正是基于上述问题,而提出了一种基于决策树的移动应用性能瓶颈分析方法和一种基于决策树的移动应用性能瓶颈分析装置。
下面参照附图描述根据本发明实施例提出的基于决策树的移动应用性能瓶颈分析方法及装置,首先将参照附图描述根据本发明实施例提出的基于决策树的移动应用性能瓶颈分析方法。
图2是本发明一个实施例的基于决策树的移动应用性能瓶颈分析方法的流程图。
如图2所示,该基于决策树的移动应用性能瓶颈分析方法包括以下步骤:
在步骤S201中,获取移动端性能日志。
可选地,在本发明的一个实施例中,移动端性能日志的格式包括性能指标和潜在影响因素,其中,性能指标包括操作响应时间,潜在影响因素包括网络类型、省份和移动设备类型中的一种或多种。
例如,本发明实施例针对的日志格式如表1所示,每条日志记录了一个关键性能指标(KPI),以及一系列潜在影响因素,每次用户的操作都会记录一条这样的日志。表1为所针对的移动端性能日志格式示例表。
表1
在步骤S202中,根据移动端性能日志基于决策树进行建模,以得到分类模型。
进一步地,在本发明的一个实施例中,预设的分类模型通过以下方式得到:将移动端性能日志中每一条记录以n个属性的值为坐标映射到n维空间;根据关键性能指标和分类条件对每一条记录进行分类,以对n维空间进行不重叠划分;根据n维空间中已有的数据分布得到类别的分界线;根据不同维度的属性和值建立分类模型。
也就是说,首先关于问题建模,为了解决前文提到的多维日志分析的挑战,本发明实施例的核心思想如下:
1.首先将移动端性能日志中的一个或多个属性和其具体取值的组合定义为“条件”;
2.然后定义“瓶颈条件”,条件C成为“瓶颈条件”需要满足两个特征:
(1)C下的KPI不达标日志数据量/全部KPI不达标日志数量>M;
(2)C下的KPI不达标日志数据量/C下的全部日志数量>N。
其中,上面公式中M取1%以保证所找到的瓶颈条件足够重要,即瓶颈条件需要包含足够多的KPI不达标日志;N等于全部KPI不达标日志数量/全部日志数量,即瓶颈条件下的KPI不达标日志比例要高于整体的比例,所以才是瓶颈。
3.将分析目标定义为找到一组互不重叠的瓶颈条件,这组瓶颈条件下应含有尽量多的KPI不达标日志,同时瓶颈条件的数量应尽量的少。上述目标设定的依据是当有多种瓶颈条件集合都可以解释KPI不达标的日志时,那么应该挑选其中最“精简”的一组。
其中,为了找到上述瓶颈条件集合,将该问题建模为一个分类问题。为了便于直观理解分类问题如何用于解决上述问题,考虑图3中的示意性例子。首先将日志中的每一条记录以其n个属性的值为坐标映射到n维空间,每一个维度代表一个属性,本例中n=2。同时,每一条记录根据其KPI是否超标被分为Slow Operation(SO)和Fast Operation(FO)两类。分类问题就是对n维属性空间进行不重叠划分,根据空间中已有的数据分布找到这两个类别的分界线,也就是标记n维属性空间中哪部分子空间为Slow Operation容易发生,哪部分为Fast Operation容易发生。每一个子空间都可以用不同维度的属性和值加以描述,而Slow Operation的子空间描述就可以当作瓶颈条件。需要注意的是根据分类模型的不同,描述瓶颈条件子空间的复杂程度也会不一样,有些分类模型过于复杂导致其描述无法被运维人员理解。
进一步地,在本发明的一个实施例中,还包括:列举所有的属性划分,并根据评价指标选择最优属性;在每个节点处得到所有候选的属性划分后,通过信息熵增益评价各个属性划分的效果;根据瓶颈条件定义得到停止生长条件,以根据停止生长条件停止决策树增长;将不满足预设条件的叶子节点标记为瓶颈节点,以确定叶子节点类别;识别瓶颈属性条件,以基于决策树进行建模。
其中,在本发明的一个实施例中,关键性能指标不达标比例大于父节点的分支所用的属性条件为瓶颈属性条件。
可以理解的是,监督机器学习算法是一系列典型的构建分类模型的方法,然而在本问题中除了完成单纯分类功能以外,合适的分类模型还应满足下列条件。首先,因为分类结果是为了帮助运维人员理解哪些条件下容易发生瓶颈,所以分类模型本身应该是直观、易解读的,而不是被当作一个黑盒来对数据进行分类。因此,像随机森林、逻辑回归、支持向量机、神经网络等通过较复杂函数来描述的分类模型就很难被运维人员直观理解。其次,因为搜索日志中属性是可以自由选取的,学习算法应该可以处理潜在的属性依赖关系。比如,朴素贝叶斯会假设不同属性间是相互独立的,但这个假设在实际日志中很难成立。根据上述两点考虑,本发明实施例基于决策树设计了一种分析方法:首先,决策树可以处理属性间的依赖关系,更重要的是决策树所产生的分类模型非常直观,可以很自然地描述为属性和其值的简单组合,比如
要将决策树应用于瓶颈分析,需要对决策树方法进行一系列定制,下面介绍本发明实施例的具体设计。从整体上看,决策树主要思想是通过每次贪心地从数据中所有属性中挑选一个最优属性来将数据划分成更小的子集。这里衡量属性好坏程度的启发是其得到的子集越纯净越好,也就是说子集中的数据应尽可能多的属于同一类别(KPI达标,或者不达标)。上述划分过程被递归地用于每一个已划分出来的子集上直到某种停止条件被满足。图4中展示了一棵构建的决策树作为示例。决策树中每一个内部节点代表当前数据划分所依据的属性,而对应的分支则表示每个划分应满足的属性条件。内部节点和分支共同组成了一个划分。树中的每个叶子节点表示一种类别,Slow Operation或Fast Operation。其中一个Slow Operation节点则代表了一个Slow Operation条件,也就是瓶颈条件,并通过从根节点到该Slow Operation叶子节点的路径上的属性条件的逻辑关系“与”表示。接下来介绍本发明如何定制决策树的构建过程以找到符合要求的瓶颈条件集合。
属性划分的形式:首先,决策树在每个节点处需要决定当前最好的划分。为此,决策树会先列举所有的划分,然后根据评价指标选择一个最优的属性。对于类别型属性,如网络类型和移动终端类型,本发明选择用one-against-others二向划分来产生其所有的可能划分。比如移动终端类型的一个划分可以是“iPhone”和“非iPhone”。所以一个在当前划分节点数据中有n个不同值的类别型属性可以产生n种划分方式。多向划分和穷尽所有组合的二向划分两种方法在本问题中并不适用,因为前者会有偏地选择有更多值的属性,而后者的计算开销过大。对于值型属性,如带宽,它的划分可以表示为“带宽>=v”和“带宽<v”,这里v代表值域上的划分点。所以类似地,一个在当前划分节点数据中有n个不同值的值型属性会产生n-1种划分。需要注意的是在决策树中的一条路径上,一个属性可以被多次用来划分。
属性划分的评价指标:在每个节点处得到所有候选的划分后,我们选择使用信息熵增益评价各个划分的效果。信息熵增益是基于香农信息熵(简称信息熵)的一种评价指标。首先一个集合X的信息熵被定义为其中P[X=ci]表示X属于类别ci的概率。可见集合X越纯净,H(X)越低。然后集合X在给定一个划分A后的条件信息熵定义为H(X|A)=∑iP[A=ai]H(X|A=ai),这里ai为划分A中的属性条件。最后,划分A的信息熵增益为H(X)-H(X|A)。直观上,信息熵增益衡量了划分A能够使集合X的纯净度提升多少,所以每个节点处会选择信息熵增益最高的属性划分。
停止生长条件:虽然理论上决策树可以将数据不停的划分直到所有叶子节点中的数据都属于同一类别,或其属性值全都一样而不能再进行划分,但是这样得到的决策树会长的过深,其叶子节点,也就是瓶颈条件规则,只能描述很少一部分数据,因而缺乏通用性。实践中,决策树经常会使用提前停止条件来得到一颗比较简单,同时通用性更高的树。为了使决策树的叶子节点满足前文给出的瓶颈条件定义,本发明中限制叶子节点所含数据量的最小值,表示为MinLeaf。举个例子,当MinLeaf=1%时,如果一个节点N划分后产生的任意子节点所含数据量不足整体数据的1%,那么就在节点N处停止划分。为了配置合理的MinLeaf,本发明会以1%的粒度尝试不同的MinLeaf取值,然后选择可以让决策树中瓶颈条件覆盖最多KPI不达标日志的MinLeaf。对于上述评价方法下表现相同的MinLeaf来说,本发明会再选择产生瓶颈条件最少的MinLeaf。
确定叶子节点类别:当一棵决策树停止生长后,根据瓶颈条件定义,本发明将那些所含KPI不达标日志比例高于整体KPI不达标比例的叶子节点标记为瓶颈节点。这里没有采用决策树默认的分类阈值,即需要KPI不达标日志比例高于50%,是因为类别不平衡问题。具体来说,当KPI不达标日志比例比较少时,如只有30%,这种情况下默认的分类阈值50%会倾向于将节点不归为瓶颈节点,进而导致决策树中瓶颈节点很少,甚至没有。而本发明使用决策树模型的目的并非为了将数据更准确的分类,而是为了找到KPI不达标发生概率比整体情况更高的条件,为此本发明采用整体KPI不达标比例作为分类阈值是合理,其产生的瓶颈节点也是有意义的。
识别瓶颈属性条件:需要注意的是,出现在瓶颈条件中的各个属性条件并不一定意味着它们都会起到提高KPI不达标比例的作用。在决策树的每次节点划分时,各子节点的KPI不达标比例相对于父节点是有增有降的。我们称那些KPI不达标比例大于父节点的分支所用的属性条件为瓶颈属性条件,比如在图4中,瓶颈属性条件用粗体显示。
综上所述,通过上面对决策树构建机制的定制,本发明实施例可以利用决策树分析方法找到移动性能日志中的瓶颈条件和其中的瓶颈属性条件。
在步骤S203中,通过分类模型得到瓶颈条件,以根据瓶颈条件得到移动应用性能瓶颈分析结果。
如图5所示,图5展示了本发明实施例和关键聚类方法的效果对比,图中显示了两种方法对日志分析结果的三种评价指标的累积分布图(CDF)。首先,从(a)中可以看到关键聚类方法每天要产生24到55个瓶颈条件,每天如此多的结果数量使得运维人员很难从中直接得到关键的建议,而且不得不花费运维人员大量的时间对结果进行进一步提取和总结;而作为对比,本发明实施例每天只产生不超过4个瓶颈条件,比关键聚类结果数的平均值少90%,基于本发明实施例给出的少量主要瓶颈条件,运维人员可以更容易理解当前的主要问题,而不需要做额外总结的工作。其次,(b)显示对于不同天的分析结果,本发明实施例相对于关键聚类有着更高或相近的召回率(recall),其中本发明的recall的中位数大约为75%,表示本发明输出的HSRT条件可以覆盖全部KPI不达标日志的75%,可以反映当前KPI不达标的主要瓶颈。最后,(c)中展示了两种方法的准确率(precision),作为参考对比,(c)中也显示了每天整体的KPI不达标比例作为基线。结果显示本发明实施例的precision整体分布要比整体的KPI不达标比例分布和关键聚类方法的都高,这意味着本发明所找到的瓶颈条件下KPI不达标情况更容易发生,具有更大的进一步调查意义。因为recall和precision通常为折中的一对指标,本发明实施例在这里采取的平衡二者的策略是根据所要寻找的瓶颈条件的定义,即precision应该比基线要高,之后最大化recall。
综上所述,与关键聚类方法相比,本发明实施例所产生的供进一步分析的结果减少了90%,同时还具有更高的precision和更高或接近的recall。
需要说明的是,本发明实施例中的参数可以由本领域技术人员根据实际情况进行设置,在此不做具体限制。
根据本发明实施例的基于决策树的移动应用性能瓶颈分析方法,可以基于决策树进行建模,从而通过分类模型得到瓶颈条件,通过基于机器学习自动从多维日志中找到最有可能是瓶颈的维度组合,从而运维人员能够更快速地发现用户体验瓶颈,提高分析效率,提高分析的准确性和实用性。
其次参照附图描述根据本发明实施例提出的基于决策树的移动应用性能瓶颈分析装置。
图6是本发明一个实施例的基于决策树的移动应用性能瓶颈分析装置的结构示意图。
如图6所示,该基于决策树的移动应用性能瓶颈分析装置10包括:获取模块100、建模模块200和分析模块300。
其中,获取模块100用于获取移动端性能日志。建模模块200用于根据移动端性能日志基于决策树进行建模,以得到分类模型。分析模块300用于通过分类模型得到瓶颈条件,以根据瓶颈条件得到移动应用性能瓶颈分析结果。本发明实施例的装置10可以针对移动应用性能日志通过基于机器学习自动从多维日志中找到最有可能是瓶颈的维度组合,从而运维人员能够更快速地发现用户体验瓶颈,提高分析效率,提高分析的准确性和实用性。
进一步地,在本发明的一个实施例中,预设的分类模型通过以下方式得到:将移动端性能日志中每一条记录以n个属性的值为坐标映射到n维空间;根据关键性能指标和分类条件对每一条记录进行分类,以对n维空间进行不重叠划分;根据n维空间中已有的数据分布得到类别的分界线;根据不同维度的属性和值建立分类模型。
进一步地,在本发明的一个实施例中,建模模块200还用于列举所有的属性划分,并根据评价指标选择最优属性,在每个节点处得到所有候选的属性划分后,通过信息熵增益评价各个属性划分的效果,并且根据瓶颈条件定义得到停止生长条件,以根据停止生长条件停止决策树增长,并将不满足预设条件的叶子节点标记为瓶颈节点,以确定叶子节点类别,以及识别瓶颈属性条件,以基于决策树进行建模。
进一步地,在本发明的一个实施例中,关键性能指标不达标比例大于父节点的分支所用的属性条件为瓶颈属性条件。
可选地,在本发明的一个实施例中,移动端性能日志的格式包括关键性能指标和潜在影响因素,其中,性能指标包括操作响应时间,潜在影响因素包括网络类型、省份和移动设备类型中的一种或多种。
需要说明的是,前述对基于决策树的移动应用性能瓶颈分析方法实施例的解释说明也适用于该实施例的基于决策树的移动应用性能瓶颈分析装置,此处不再赘述。
根据本发明实施例的基于决策树的移动应用性能瓶颈分析装置,可以基于决策树进行建模,从而通过分类模型得到瓶颈条件,通过基于机器学习自动从多维日志中找到最有可能是瓶颈的维度组合,从而运维人员能够更快速地发现用户体验瓶颈,提高分析效率,提高分析的准确性和实用性。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。