CN110399261A - 一种基于共现图的系统告警聚类分析方法 - Google Patents

一种基于共现图的系统告警聚类分析方法 Download PDF

Info

Publication number
CN110399261A
CN110399261A CN201910508755.5A CN201910508755A CN110399261A CN 110399261 A CN110399261 A CN 110399261A CN 201910508755 A CN201910508755 A CN 201910508755A CN 110399261 A CN110399261 A CN 110399261A
Authority
CN
China
Prior art keywords
occurrence
system alarm
alarm information
information
distance
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.)
Granted
Application number
CN201910508755.5A
Other languages
English (en)
Other versions
CN110399261B (zh
Inventor
周川
高扬
胡玥
谭建龙
郭莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201910508755.5A priority Critical patent/CN110399261B/zh
Publication of CN110399261A publication Critical patent/CN110399261A/zh
Application granted granted Critical
Publication of CN110399261B publication Critical patent/CN110399261B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques

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)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Alarm Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于共现图的系统告警聚类分析方法。本方法为:1)利用历史系统告警信息构建通用共现图;根据通用共现图中节点之间的距离将各系统告警信息聚为若干故障簇,并为每一故障簇设置一生命周期;2)对于一新产生的系统告警信息a,计算系统告警信息a与处于生命周期内的各个故障簇之间的距离;当系统告警信息a与一故障簇的距离小于设定阈值时,则将系统告警信息a加入到该故障簇中,否则为该系统告警信息a新建一个故障簇;3)在过去的一设定时间段内如果有新的系统告警信息纳入一故障簇,则维持该故障簇处于生命周期内,否则删除对应的故障簇。本发明能更准确得将有内在联系的系统告警聚到同一故障簇中。

Description

一种基于共现图的系统告警聚类分析方法
技术领域
本发明涉及一种基于共现图的系统告警聚类分析方法,属于计算机软件技术领域。
背景技术
软件业务系统在运行过程中,会出现各种各样的故障,监控软件因此会产生系统告警来 记录这些故障并告知用户。系统运维团队往往需要利用大量的经验知识与时间精力去分析系 统告警,找到故障根因,解决系统出现的问题。系统告警的聚类分析旨在将疑似同一故障引 发的相关告警聚成同一个故障簇,在辅助运维人员发现故障根因、恢复系统正常运行方面发 挥着重要作用。
现有的系统告警聚类分析方法大致可归为以下四类以及它们的组合。(1)以时间为依据, 将发出时间相近的系统告警聚到同一故障簇中;(2)利用告警描述的相似度、局部敏感哈希、 编辑距离等信息将具有相似描述的告警聚到同一故障簇中;(3)利用系统调用图(call graph), 将拥有调用关系的主机上的系统告警聚到同一故障簇中;(4)将一些运维经验编写成规则, 将符合规则的告警聚到同一故障簇中。
对应上述四类方法,现有的系统告警聚类分析方法存在的局限性分别为:
1.系统告警具有多源并发性,单纯以时间为依据进行类簇划分的方法过于简单粗暴;
2.基于告警描述信息的方法不能将具有内在联系、却描述迥异的系统告警聚到同一故障 簇中;
3.由于系统调用关系复杂且随业务更新频繁,完整的系统调用图通常难以获取或全面绘 制;
4.基于规则的方法需要有大量的专业知识,对运维人员有很高要求。同时经验规则所能 覆盖的情形有限,难以覆盖业务系统出现的新情形、新故障。此外,经验规则的可移植性较 差,很难在不同领域的运维任务中自由切换。
发明内容
本发明的目的在于提供一种基于共现图的系统告警聚类分析方法。本发明在系统告警的 聚类分析任务使用共现图方法,从不同角度,利用告警信息构建多张共现图,为系统告警的 聚类分析提供决策依据。
本发明的技术方案为:
一种基于共现图的系统告警聚类分析方法,其步骤包括:
1)利用所选的历史系统告警信息构建通用共现图;根据通用共现图中节点之间的距离将 各系统告警信息聚为若干故障簇,并为每一故障簇设置一生命周期;
2)对于一新产生的系统告警信息a,计算系统告警信息a与处于生命周期内的各个故障 簇之间的距离;当系统告警信息a与一故障簇的距离小于设定阈值时,则将系统告警信息a加入到该故障簇中,如果系统告警信息a与多个故障簇的距离小于设定阈值, 则将系统告警信息a加入到距离最小的故障簇中;如果系统告警信息a与各故障簇的 距离都大于设定阈值,则为该系统告警信息a新建一个故障簇;
3)在过去的一设定时间段内如果有新的系统告警信息纳入一故障簇,则维持该故障簇处 于生命周期内,否则删除对应的故障簇。
进一步的,利用各系统告警信息的发生时间邻近关系构建通用共现图;所述通用共现图 中的每个节点为系统告警信息中的告警源,如果两条系统告警信息A1、B1的发生时间间隔 小于阈值T1,则系统告警信息A1、B1所对应的节点之间存在一条边。
进一步的,通用共现图中连接两告警源的边的长度为过去设定一段时间内两个告警源共 现次数的倒数。
进一步的,系统告警信息a与故障簇的距离为系统告警信息a与该故障簇中每条系统告 警信息在通用共现图上距离的平均值。
进一步的,步骤1)中,对于通用共现图中,如果两条系统告警信息A2、B2所对应的两 节点之间存在一条边且系统告警信息A2、B2来自不同的监控软件,则缩小通用共现图中系 统告警信息A2、B2所对应两节点之间的距离;将处理后的通用共现图称为层级共现图,根 据该层级共现图中节点之间的距离将各系统告警信息聚为若干故障簇。
进一步的,步骤1)中,还生成一系统调用共现图;系统调用共现图中的每个节点为系统 告警信息中的告警源,如果两条系统告警信息A3、B3的监控软件具有调用关系,则系统告 警信息A3、B3所对应的节点之间存在一条边,系统告警信息A3、B3之间边的长度为系统 告警信息A3、B3共现次数的倒数;基于层级共现图中节点之间的距离和系统调用共现图中 节点之间的距离将各系统告警信息聚为若干故障簇。
进一步的,所述系统告警信息包括告警源、发生时间、告警描述、告警级别和监控程序 类型。
一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计 算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法中各步骤的指 令。
一种计算机可读存储介质,其特征在于,存储一计算机程序,所述计算机程序包括用于 执行上述方法中各步骤的指令。
与现有技术相比,本发明的积极效果为:
共现信息是系统告警自身的信息,不需要人为制定规则。共现图减弱了聚类分析任务对 运维经验和系统调用图的依赖。本发明通过引入共现图,利用机器学习的方法去挖掘不同系 统告警之间的内在联系,从而减弱对专业经验和系统调用图的依赖,更准确得将有内在联系 的系统告警聚到同一故障簇中,从而大幅减少排查业务系统故障的人工成本。
具体实施方式
下面对本发明的技术方案做进一步的详细说明。
本发明提出了一种基于共现图的系统告警聚类分析方法。该方法利用系统告警信息构建 多张共现图,并将其应用于系统告警的聚类分析任务中。为方便下文解释,统一做如下定义:
告警:监控软件在业务程序运行过程中监控硬件设备、软件程序等而产生的异常告警信 息,通常包括告警源(如IP地址)、发生时间、告警描述、告警级别、监控程序类型等信息。
共现图:利用告警发生时间的邻近关系而构建的共现关系图,简称共现图。共现图中的 每个节点为告警源,如果两条告警的发生时间接近(比方时间间隔小于某个给定的阈值T,如 这里取T为1小时),则这两条告警所对应的节点(即告警源)之间存在一条边,表示它们之 间存在共现关系。这里的共现图是一个带权图,边上的权重定义为过往一段时间(时间长短 可由训练数据的时间跨度来定)内两个告警源共现次数的倒数。之所以取倒数,是想将该倒 数值视为两个告警源之间的距离。边上的权重越小,代表该边对应的两个告警源距离越近, 在发生故障时越相关,越有可能在同一个故障簇里面。
本发明基于的现实假设为:经常同时出现的告警源往往具有一定的关联关系,于是可以 利用告警源在共现图上的距离来刻画两个告警之间的关联密切程度,从而衡量它们是否要聚 到同一个故障簇里面。
1.构建通用共现图
给定系统告警集合A={a1,…,aN},涉及到的告警源集合记为V,将每个告警源视为共现 图中的一个节点,记每个告警an∈A的告警源为s(an)∈V。设定时间窗口T,我们按如下方 法在节点集V上定义无向边集E。若告警ai与告警aj的发生时间间隔小于T,则ai的告警源s(ai)与aj的告警源s(aj)在共现图中存在一条边(即共现了一次),对整个系统告警集合 A={a1,…,aN}搜索完成之后,共现图中边上的权重定义为该边两侧节点(即两个告警源)共现次数的倒数。该权重可视为两个告警源之间的距离。权重(即距离)越小,代表这两个告警源存在关联关系的可能性越大,在发生故障时越相关,越有可能在同一个故障簇里面。
2.构建系统调用共现图(可选,视情况而定)
如果可以获取系统调用图,则还可以进一步基于系统调用图构建系统调用共现图。系统 调用共现图一般由监控软件产生,是个无权图。本方法在系统调用图的基础上构建带权重的 系统调用共现图,以便更真实得描述不同主机之间的紧密联系程度。采用与上一步骤1类似 的赋值方法来更新系统调用共现图中边上的权重。若告警ai与告警aj的发生时间间隔小于T, 且ai的告警源s(ai)与aj的告警源s(aj)在系统调用图中存在连边(即存在调用关系),则记 s(ai)与s(aj)共现了一次。对整个系统告警集合A={a1,…,aN}搜索完成之后,在系统调用共 现图中边上的权重定义为该边两侧节点(即两个告警源)共现次数的倒数。对那些未在系统 告警集合A={a1,…,aN}中共现的连边(即共现图中的某条连边两侧的告警源为共现过),将 其权重统一记为1。在构建系统调用共现图的过程中,由于调用关系已经在调用图中体现, 所以只更新边的权重而不增加新的边。这里系统调用共现图上节点的距离可以用来反映节点 间在系统调用维度上的紧密联系程度。如果系统调用图是不可获取的或不稳定的,则并不使 用系统调用共现图。
3.构建层级共现图
系统调用共现图只适用于告警源出现在系统调用图的情形,不适用于告警源没出现在系 统调用图的情形。因此我们提出层级共现图来弥补这一缺陷。层级共现图的构建方法与通用 共现图的构建方式极为类似,唯一的不同之处在于共现图边权重的赋值方式。为了突出不同 监控软件产生告警之间的关联关系,层级共现图针对来自不同监控软件的告警源之间赋予不 同的权重。在第1步已构建好的通用共现图的基础上,如果两个告警源来自不同的监控软件, 则对应边上的权重(即距离)减半,从而这两个告警源之间的关系更加紧密,更有可能聚到 同一个故障簇里面。如果两个告警源来自相同的监控软件,则对应边上的权重(即距离)保 持不变。修改权重后的通用共现图就是我们这里的层级共现图。
4.将共现图用于系统告警聚类分析
上述2张或3张(取决于‘系统调用共现图’是否可用)共现图构建完成后,我们便可以进行告警聚类分析了。这里我们采用增量式聚类方法。对于新来的告警,计算它与处于生命周期内的各个故障簇之间的距离。一个故障簇处于生命周期是指它在刚刚过去的一段时间 内(这里取1小时)还有新的告警纳入。我们将告警与故障簇的距离定义为告警与故障簇中 每条告警在共现图上距离的平均值,可采用经典的Dijkstra算法来计算告警在共现图上距离。 由于这里存在多张共现图,因此该距离还需进一步在多张图上分别计算,并再次平均。当告 警与处于生命周期的故障簇的距离小于阈值(这里取0.1)时,则可以将告警加入到该故障簇 中;当告警与多个处于生命周期的故障簇的距离小于阈值,则将告警加入到距离最小的故障 簇中;当告警与所有故障簇的距离都大于阈值时,则为该告警新建一个故障簇。
在实际运行的过程中可以对不同的共现图设置不同的阈值,采用集成的方式来决定一个 新告警的归属。上述所有共现图可以利用历史数据构建,也可以在处理系统告警的同时即时 创建和更新。
实验分析:
我们使用某公司提供的系统告警信息,其中包括2000条系统告警,时间跨度为24小时, 告警由PinPoint和Zabbix监控软件产生,系统调用图由PinPoint产生。由Zabbix产生的告警, 告警源在系统调用图中无对应节点。我们做了两组实验,一组使用系统调用图,在实验中使 用层级共现图和系统调用共现图;另一组不使用系统调用图,在实验中使用普通共现图和层 级共现图。实验效果如下:
实验结果显示,共现图能够将不同监控软件产生的告警聚集到同一故障簇中,而且共现 图的使用减弱了算法对于系统调用图的依赖。两种方式使用的共现图虽有所不同,但结果却 是相似的。我们上述结果得到相关专业人员的高度肯定。
尽管为说明目的公开了本发明的具体内容、实施算法,其目的在于帮助理解本发明的内 容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神 和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例所公 开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (9)

1.一种基于共现图的系统告警聚类分析方法,其步骤包括:
1)利用所选的历史系统告警信息构建通用共现图;根据通用共现图中节点之间的距离将各系统告警信息聚为若干故障簇,并为每一故障簇设置一生命周期;
2)对于一新产生的系统告警信息a,计算系统告警信息a与处于生命周期内的各个故障簇之间的距离;当系统告警信息a与一故障簇的距离小于设定阈值时,则将系统告警信息a加入到该故障簇中,如果系统告警信息a与多个故障簇的距离小于设定阈值,则将系统告警信息a加入到距离最小的故障簇中;如果系统告警信息a与各故障簇的距离都大于设定阈值,则为该系统告警信息a新建一个故障簇;
3)在过去的一设定时间段内如果有新的系统告警信息纳入一故障簇,则维持该故障簇处于生命周期内,否则删除对应的故障簇。
2.如权利要求1所述的方法,其特征在于,利用各系统告警信息的发生时间邻近关系构建通用共现图;所述通用共现图中的每个节点为系统告警信息中的告警源,如果两条系统告警信息A1、B1的发生时间间隔小于阈值T1,则系统告警信息A1、B1所对应的节点之间存在一条边。
3.如权利要求2所述的方法,其特征在于,通用共现图中连接两告警源的边的长度为过去设定一段时间内两个告警源共现次数的倒数。
4.如权利要求1所述的方法,其特征在于,系统告警信息a与故障簇的距离为系统告警信息a与该故障簇中每条系统告警信息在通用共现图上距离的平均值。
5.如权利要求1所述的方法,其特征在于,步骤1)中,对于通用共现图中,如果两条系统告警信息A2、B2所对应的两节点之间存在一条边且系统告警信息A2、B2来自不同的监控软件,则缩小通用共现图中系统告警信息A2、B2所对应两节点之间的距离;将处理后的通用共现图称为层级共现图,根据该层级共现图中节点之间的距离将各系统告警信息聚为若干故障簇。
6.如权利要求5所述的方法,其特征在于,步骤1)中,还生成一系统调用共现图;系统调用共现图中的每个节点为系统告警信息中的告警源,如果两条系统告警信息A3、B3的监控软件具有调用关系,则系统告警信息A3、B3所对应的节点之间存在一条边,系统告警信息A3、B3之间边的长度为系统告警信息A3、B3共现次数的倒数;基于层级共现图中节点之间的距离和系统调用共现图中节点之间的距离将各系统告警信息聚为若干故障簇。
7.如权利要求1所述的方法,其特征在于,所述系统告警信息包括告警源、发生时间、告警描述、告警级别和监控程序类型。
8.一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1至7任一所述方法中各步骤的指令。
9.一种计算机可读存储介质,其特征在于,存储一计算机程序,所述计算机程序包括用于执行权利要求1至7任一所述方法中各步骤的指令。
CN201910508755.5A 2019-06-13 2019-06-13 一种基于共现图的系统告警聚类分析方法 Active CN110399261B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910508755.5A CN110399261B (zh) 2019-06-13 2019-06-13 一种基于共现图的系统告警聚类分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910508755.5A CN110399261B (zh) 2019-06-13 2019-06-13 一种基于共现图的系统告警聚类分析方法

Publications (2)

Publication Number Publication Date
CN110399261A true CN110399261A (zh) 2019-11-01
CN110399261B CN110399261B (zh) 2020-12-18

Family

ID=68324054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910508755.5A Active CN110399261B (zh) 2019-06-13 2019-06-13 一种基于共现图的系统告警聚类分析方法

Country Status (1)

Country Link
CN (1) CN110399261B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346934A (zh) * 2020-11-10 2021-02-09 深圳市康必达控制技术有限公司 一种智能告警方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110280483A1 (en) * 2006-09-08 2011-11-17 Google Inc. Shape Clustering in Post Optical Character Recognition Processing
US20170357879A1 (en) * 2017-08-01 2017-12-14 Retina-Ai Llc Systems and methods using weighted-ensemble supervised-learning for automatic detection of ophthalmic disease from images
CN108229585A (zh) * 2018-02-05 2018-06-29 北京安信天行科技有限公司 一种日志的归类方法及系统
CN108415900A (zh) * 2018-02-05 2018-08-17 中国科学院信息工程研究所 一种基于多级共现关系词图的可视化文本信息发现方法及系统
CN108595708A (zh) * 2018-05-10 2018-09-28 北京航空航天大学 一种基于知识图谱的异常信息文本分类方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110280483A1 (en) * 2006-09-08 2011-11-17 Google Inc. Shape Clustering in Post Optical Character Recognition Processing
US20170357879A1 (en) * 2017-08-01 2017-12-14 Retina-Ai Llc Systems and methods using weighted-ensemble supervised-learning for automatic detection of ophthalmic disease from images
CN108229585A (zh) * 2018-02-05 2018-06-29 北京安信天行科技有限公司 一种日志的归类方法及系统
CN108415900A (zh) * 2018-02-05 2018-08-17 中国科学院信息工程研究所 一种基于多级共现关系词图的可视化文本信息发现方法及系统
CN108595708A (zh) * 2018-05-10 2018-09-28 北京航空航天大学 一种基于知识图谱的异常信息文本分类方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐前方: "基于数据挖掘的网络故障告警相关性研究", 《中国博士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346934A (zh) * 2020-11-10 2021-02-09 深圳市康必达控制技术有限公司 一种智能告警方法

Also Published As

Publication number Publication date
CN110399261B (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
Bensi et al. Efficient Bayesian network modeling of systems
CN110609759B (zh) 一种故障根因分析的方法及装置
Darwiche Bayesian networks
US11176206B2 (en) Incremental generation of models with dynamic clustering
Guan et al. Ensemble of Bayesian predictors and decision trees for proactive failure management in cloud computing systems.
CN111475804A (zh) 一种告警预测方法及系统
CN111885040A (zh) 分布式网络态势感知方法、系统、服务器及节点设备
CN110168523A (zh) 改变监测跨图查询
CN109684320B (zh) 监测数据在线清洗的方法和设备
JP5514643B2 (ja) 障害原因判定ルール変化検知装置及びプログラム
CN111177398B (zh) 一种组织架构更新方法及装置
CN107111609A (zh) 用于神经语言行为识别系统的词法分析器
CN114647525A (zh) 诊断方法、装置、终端及存储介质
CN116562370A (zh) 一种基于应急知识图谱的突发公共卫生事件情景推演方法
CN103942739A (zh) 建筑项目风险知识库的构建方法
CN110399261A (zh) 一种基于共现图的系统告警聚类分析方法
Haug et al. Change detection for local explainability in evolving data streams
CN109635008B (zh) 一种基于机器学习的设备故障检测方法
US20130117245A1 (en) Method and system for identification of asset records in a version managed datastore
CN116545867A (zh) 一种监控通信网络网元性能指标异常的方法及装置
CN111680572B (zh) 一种电网运行场景动态判定方法及系统
US20230124678A1 (en) Storage medium to store transmission data setting support program, gateway device, and transmission data setting supporting method
Ke et al. PBWA: A Provenance‐Based What‐If Analysis Approach for Data Mining Processes
CN111552847B (zh) 一种变更对象数量的方法和装置
Riesz et al. Petriflow: A petri net based framework for modelling and control of workflow processes

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
GR01 Patent grant
GR01 Patent grant