CN106338975B - 一种报警归并方法及报警归并系统 - Google Patents

一种报警归并方法及报警归并系统 Download PDF

Info

Publication number
CN106338975B
CN106338975B CN201610836252.7A CN201610836252A CN106338975B CN 106338975 B CN106338975 B CN 106338975B CN 201610836252 A CN201610836252 A CN 201610836252A CN 106338975 B CN106338975 B CN 106338975B
Authority
CN
China
Prior art keywords
merger
warning message
alarm
rule
source
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.)
Active
Application number
CN201610836252.7A
Other languages
English (en)
Other versions
CN106338975A (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.)
Zhejiang Supcon Technology Co Ltd
Original Assignee
Zhejiang Supcon Technology Co Ltd
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 Zhejiang Supcon Technology Co Ltd filed Critical Zhejiang Supcon Technology Co Ltd
Priority to CN201610836252.7A priority Critical patent/CN106338975B/zh
Publication of CN106338975A publication Critical patent/CN106338975A/zh
Application granted granted Critical
Publication of CN106338975B publication Critical patent/CN106338975B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Alarm Systems (AREA)
  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)

Abstract

本申请公开了一种报警归并方法及报警归并系统,其中,报警归并方法首先通过读取配置文件中的归并规则,并将其存储在第一存储空间中作为归并报警信息的归并规则;然后按照位名号对与报警信息同序的第一报警指针数组进行分类,并将一种报警信息的分类结果存储于一个第二存储空间中;最后根据保存的归并规则依次对第二存储空间进行归并,并将所有的归并结果以归并类型进行分类排序,同时保留被归并源归并的报警在队列中,以使工作人员在处理了源报警后仍然可以查询保留在队列中的被归并源归并的报警,避免了在处理了源报警后,无法获知被归并源归并的报警的情况出现,提升了报警归并方法的安全性。

Description

一种报警归并方法及报警归并系统
技术领域
本申请涉及报警归并算法技术领域,更具体地说,涉及一种报警归并方法及报警归并系统。
背景技术
报警归并是指将在工业系统中具有强关联关系的报警信息合并为一条报警信息的做法,这样不仅可以降低报警系统负荷,而且可以避免过多的报警信息对生产人员造成过大的精神压力,从而减轻生产人员操作紧张度,避免生产人员出现误操作事故的情况出现。
工业应用环境下,特别是针对大型的石油化工项目,其工艺硬点和软点总数会达到数万个或数十万个,一旦某个工艺流程出现故障,因此而产生的报警信息数量会达到上千个,如果不对这些报警信息进行报警归并,这么多数量的报警信息势必会增加生产人员的处理压力和精神压力,甚至有可能因此而导致生产人员出现误操作事故。因此,对于大型的工业系统,对其产生的报警信息进行报警归并是很有必要的。
现有技术中对报警信息进行报警归并的方式主要依靠工作人员根据工业系统的特性设置相对应的报警归并规则,利用设置的报警归并规则对工业系统产生的报警信息进行报警归并处理,比如对于位号名为锅炉温度的高三限报警信息,可以归并位号名为锅炉温度的高二限报警信息和高一限报警信息,那么如果某次产生的报警信息中包括位号名为锅炉温度的高三限报警信息、高二限报警信息和高一限报警信息,则经过报警归并处理后,位号名为锅炉温度的高三限报警信息、高二限报警信息和高一限报警信息归并为位号名为高炉温度的高三限报警信息,这样三条报警信息就变成了一条报警信息,从而实现降低报警信息数量,降低报警系统负荷,减轻生产人员操作紧张度,避免生产人员出现误操作事故的目的。
但是,这种报警归并方法需要工作人员掌握报警归并规则的设置方法,对工作人员的技能要求较高,并且在处理了经过报警归并后的报警信息后,无法获知被归并的报警信息的处理情况,存在一定的安全隐患。
发明内容
为解决上述技术问题,本发明提供了一种报警归并方法及报警归并系统,以实现降低对工作人员的技能要求,保留被归并的报警信息,从而提升报警归并方法的安全性的目的。
为实现上述技术目的,本发明实施例提供了如下技术方案:
一种报警归并方法,包括:
读取配置文件,所述配置文件中存储有具有强关联关系的报警信息的归并规则;
创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则;
创建一个与报警信息同序的第一报警指针数组,所述第一报警指针指向与其对应的报警信息;
按照所述报警信息的位名号对所述第一报警指针数组进行分类,并将每种所述报警信息的分类结果存储于第二存储空间中,每种所述报警信息的分类结果作为所述第二存储空间的一个报警信息元素,所有的报警信息元素构成报警信息集合;
提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则对该报警信息进行归并,获得该报警信息的归并结果;
判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组,所述第二报警指针指向一个所述归并结果;所述归并类型为源报警或被归并源归并的报警。
可选的,每条所述归并规则具有相应的优先级等级;
所述创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则包括:
创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则,并以优先级等级由高到低进行排序;
所述根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则对该报警信息进行归并,获得该报警信息的归并结果包括:
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则对该报警信息进行归并,获得该报警信息的归并结果。
可选的,所述根据找出的归并规则中优先级等级最高的归并规则对该报警信息进行归并,获得该报警信息的归并结果包括:
根据找出的归并规则中优先级等级最高的归并规则,在所述第一报警指针数组中查找该报警信息的归并源,如果找到该报警信息的归并源,则将该报警信息设置为所述被归并源归并的报警,所述被归并源归并的报警被所述归并源归并;如果未找到该报警信息的归并源,则将该报警信息设置为源报警。
可选的,所述将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组包括:
将所有的所述源报警根据其在所述第一报警指针数组的顺序进行排序,构成结果队列的前端;
将所有的所述归并报警根据其在所述第一报警指针数组的顺序在所述结果队列的前端末尾进行排序,构成所述结果队列的后端;
根据所述结果队列设置与其对应的第二报警指针数组。
可选的,所述第一存储空间为STD容器;
所述第二存储空间为MFC容器。
一种报警归并系统,包括:
读取模块,用于读取配置文件,所述配置文件中存储有具有强关联关系报警信息的归并规则;
空间创建模块,用于创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则;
指针创建模块,用于创建一个与报警信息同序的第一报警指针数组,所述第一报警指针指向与其对应的报警信息;
分类模块,用于按照所述报警信息的位名号对所述第一报警指针数组进行分类,并将每种所述报警信息的分类结果存储于第二存储空间中,每种所述报警信息的分类结果作为所述第二存储空间的一个报警信息元素,所有的报警信息元素构成报警信息集合;
归并模块,用于提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则对该报警信息进行归并,获得该报警信息的归并结果;判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组;所述归并类型为源报警或被归并源归并的报警。
可选的,每条所述归并规则具有相应的优先级等级;
所述空间创建模块具体用于,创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则,并以优先级等级由高到低进行排序;
所述归并模块具体用于,提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则对该报警信息进行归并,获得该报警信息的归并结果;
判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组。
可选的,所述归并模块具体用于,提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则,在所述第一报警指针数组中查找该报警信息的归并源,如果找到该报警信息的归并源,则将该报警信息设置为所述被归并源归并的报警,所述被归并源归并的报警被所述归并源归并;如果未找到该报警信息的归并源,则将该报警信息设置为源报警;
判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组,所述第二报警指针指向一个所述归并结果。
可选的,所述归并模块具体用于,提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则,在所述第一报警指针数组中查找该报警信息的归并源,如果找到该报警信息的归并源,则将该报警信息设置为所述被归并源归并的报警,所述被归并源归并的报警被所述归并源归并;如果未找到该报警信息的归并源,则将该报警信息设置为源报警;
判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的所述源报警根据其在所述第一报警指针数组的顺序进行排序,构成结果队列的前端;将所有的所述归并报警根据其在所述第一报警指针数组的顺序在所述结果队列的前端末尾进行排序,构成所述结果队列的后端;根据所述结果队列设置与其对应的第二报警指针数组。
可选的,所述第一存储空间为STD容器;
所述第二存储空间为MFC容器。
从上述技术方案可以看出,本发明实施例提供了一种报警归并方法及报警归并系统,其中,所述报警归并方法首先通过读取配置文件中具有强关联关系报警信息的归并规则,并将其存储在第一存储空间中作为对所述报警信息的归并规则;然后按照所述报警信息的位名号对与所述报警信息同序的第一报警指针数组进行分类,并将一种所述报警信息的分类结果存储于一个第二存储空间中;最后根据保存的归并规则依次对所述第二存储空间进行归并,并将所有的归并结果以归并类型进行分类排序,对源报警进行报警提醒,但同时保留所述被归并源归并的报警在队列中,以使工作人员在处理了源报警后仍然可以查询保留在队列中的所述被归并源归并的报警,避免了在处理了所述源报警后,无法获知所述被归并源归并的报警的情况出现,提升了所述报警归并方法的安全性。
另外,所述报警归并方法不需要工作人员手动设置报警规则,降低了对工作人员的技能要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请的一个实施例提供的一种报警归并方法的流程示意图;
图2为本申请的另一个实施例提供的一种报警归并方法的流程示意图;
图3为本申请的一个实施例提供的一种报警归并系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供了一种报警归并方法,如图1所示,包括:
S101:读取配置文件,所述配置文件中存储有具有强关联关系报警信息的归并规则。
需要说明的是,所述具有强关联关系报警信息是指模拟量的高三限报警信息、高二限报警信息和高一限信息以及输入高高限报警信息和输入高限报警信息等,其中,模拟量的报警信息是指系统输出量的报警信息,比如温度、水位等。输入高高限报警信息和输入高限报警信息是指系统输入量的报警信息,这些输入量一般指第三方设备的输入量。
另外,本申请的一个具体实施例提供了一种所述归并规则在所述配置文件中的具体存储方法,具体形式可以如下:
1、[Merge_Rule0]:
Merge_Src_FlagID=53
Merge_Dst_Number=2
Merge_Dst_FlagID0=54
Merge_Dst_FlagID1=55
RuleLevel=0
IsValidForMerge=1
2、[Merge_Rule1]:
Merge_Src_FlagID=54
Merge_Dst_Number=1
Merge_Dst_FlagID0=55
RuleLevel=1
IsValidForMerge=1
3、[Merge_Rule2]
Merge_Src_FlagID=58
Merge_Dst_Number=2
Merge_Dst_FlagID0=57
Merge_Dst_FlagID1=56
RuleLevel=2
IsValidForMerge=1
……
其中,在每条所述归并规则中,RuleLevel表示该归并规则具有的优先级等级,其值越小优先级等级越高;IsValidForMerge的取值决定着该归并规则是否有效,其值为1表示归并规则有效,IsValidForMerge=0表示归并规则无效;Merge_Src_FlagID表示归并源的ID,在本实施例中,53表示高三限报警信息,54表示高二限报警信息,55表示高一限报警信息,58表示低三限报警信息,57表示低二限报警信息,56表示低一限报警信息;Merge_Dst_Number表示在一条归并规则中,可被归并源归并的归并报警数量;Merge_Dst_FlagID0表示第一个可被归并源归并的归并报警的ID,相应的,Merge_Dst_FlagID1表示第二个可被归并源归并的归并报警的ID,Merge_Dst_FlagID2表示第三个可被归并源归并的归并报警的ID……;
那么,在本实施例中,归并规则[Merge_Rule0]表示的规则是高三限报警信息归并高二限报警信息和高一限报警信息;归并规则[Merge_Rule1]表示的规则是高二限报警信息归并高一限报警信息;归并规则[Merge_Rule2]表示的规则是低三限报警信息归并低二限报警信息和低一限报警信息;剩余的归并规则与此类似,本申请在此不做穷举。
还需要说明的是,当有多条归并规则同时影响一条报警信息时,只取优先级等级最高的归并规则生成归并动作(例如高三限报警信息和高二限报警信息同时可以归并高一限报警信息,当同时存在高三限报警信息和高二限报警信息时,高一限报警信息被高三限报警信息归并。)
S102:创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则。
在上述实施例的基础上,在本申请的一个优选实施例中,当每条所述归并规则具有相应的优先级等级时;
所述创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则包括:
创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则,并以优先级等级由高到低进行排序。
具体地,在本申请的一个实施例中,所述第一存储空间为STD容器(map),其Key是Merge_Src_FlagID,值Value为一个有关Key的归并规则按优先级升序的set;例如:高二限报警信息的Merge_Src_FlagID为54,涉及到它的归并规则有两条,一个是被高三限报警信息归并,一个是归并高一限报警信息,则在本实施例中,高二限报警信息的第一存储空间的存储规则类似“map<2,set<[Merge_Rule0],[Merge_Rule1]>>”,由于[Merge_Rule1]的优先级等级1小于[Merge_Rule0]的优先级等级0,因此排列在后面。
S103:创建一个与报警信息同序的第一报警指针数组,所述第一报警指针指向与其对应的报警信息。
需要说明的是,优选的,我们设计了报警归并块的结构体存储所述第一报警指针和归并该报警的第一报警指针,当然,在步骤S103执行之后,所述报警归并块的结构体中只存储有所述第一报警指针,归并该报警的第一报警指针在执行归并动作之后才会存储。定义所述报警归并块的结构体的目的是方便用于通过归并该报警的第一报警指针找出被归并的报警信息,比如确认一条报警信息,需要把被其归并的报警信息一起确认掉,就需要该报警归并块的结构体。
S104:按照所述报警信息的位名号对所述第一报警指针数组进行分类,并将每种所述报警信息的分类结果存储于第二存储空间中,每种所述报警信息的分类结果作为所述第二存储空间的一个报警信息元素,所有的报警信息元素构成报警信息集合。
在上述实施例的基础上,在本申请的另一个优选实施例中,所述第二存储空间为MFC容器(CMap)。在本实施例中,所述第二存储空间用CMap而不用STD的map的原因是:CMap可以初始化元素个数,这样在所述报警信息的数量达到上万个时,避免了因为重新分配空间移动数据带来的性能消耗,以空间换时间。经测试,在所述报警信息的数量达到30000个时,初始化足够空间的CMap,只需要70ms左右即可完成按照位名号对所述第一报警指针数组进行分类,并将分类结果存储于所述第二存储空间中的操作;而换用map同一过程需要花费300ms左右,采用CMap作为所述第二存储空间在时间性能上提升了4倍多。
S105:提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
S106:根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则对该报警信息进行归并,获得该报警信息的归并结果。
在上述实施例的基础上,在本申请的又一个优选实施例中,当每条所述归并规则具有相应的优先级等级时,所述根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则对该报警信息进行归并,获得该报警信息的归并结果包括:
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则对该报警信息进行归并,获得该报警信息的归并结果。
具体地,在本申请的一个具体实施例中,所述根据找出的归并规则中优先级等级最高的归并规则对该报警信息进行归并,获得该报警信息的归并结果包括:
根据找出的归并规则中优先级等级最高的归并规则,在所述第一报警指针数组中查找该报警信息的归并源,如果找到该报警信息的归并源,则将该报警信息设置为所述被归并源归并的报警,所述被归并源归并的报警被所述归并源归并;如果未找到该报警信息的归并源,则将该报警信息设置为源报警。
S107:判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组,所述第二报警指针指向一个所述归并结果;所述归并类型为源报警或被归并源归并的报警。
需要说明的是,经过所述报警归并方法进行报警归并后的报警信息中所有的归并结果都会进行分类排序,对源报警进行报警提醒,但同时保留所述被归并源归并的报警在队列中,以使工作人员在处理了源报警后仍然可以查询保留在队列中的所述被归并源归并的报警,避免了在处理了所述源报警后,无法获知所述被归并源归并的报警的情况出现,提升了所述报警归并方法的安全性。
还需要说明的是,所述将所有的归并结果以归并类型进行分类排序可以使将所有的源报警进行排序后放置在队列前端,也可以将所有的被归并源归并的报警进行排序后放置在队列前端。本申请对此并不做限定,具体视实际情况而定。
但优选将所有的源报警进行排序后放置在队列前端,具体地,在本申请的一个具体实施例中,所述将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组包括:
将所有的所述源报警根据其在所述第一报警指针数组的顺序进行排序,构成结果队列的前端;
将所有的所述归并报警根据其在所述第一报警指针数组的顺序在所述结果队列的前端末尾进行排序,构成所述结果队列的后端;
根据所述结果队列设置与其对应的第二报警指针数组。
在本实施例中,所述第二报警指针指向所述结果队列中的一个所述源报警或归并报警,即所述归并结果为所述结果队列中的一个所述源报警或归并报警。
在上述实施例的基础上,在本申请的一个具体优选实施例中,如图2所示,所述提取所述报警信息集合中的一个报警信息元素作为目标元素之后,所述根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则对该报警信息进行归并,获得该报警信息的归并结果之前还包括:
S1056:判断所述目标元素中存储的报警信息是否与历史报警信息相同,如果是,则不对其进行归并处理,并返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤。
需要说明的是,判断所述目标元素中存储的报警信息是否与历史报警信息相同,如果是,则不对其进行归并处理,并返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤的目是避免对历史报警信息中尚未处理的报警信息进行重复归并。
相应的,本申请实施例还提供了一种报警归并系统,如图3所示,包括:
读取模块100,用于读取配置文件,所述配置文件中存储有具有强关联关系报警信息的归并规则;
空间创建模块200,用于创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则;
指针创建模块300,用于创建一个与报警信息同序的第一报警指针数组,所述第一报警指针指向与其对应的报警信息;
分类模块400,用于按照所述报警信息的位名号对所述第一报警指针数组进行分类,并将每种所述报警信息的分类结果存储于第二存储空间中,每种所述报警信息的分类结果作为所述第二存储空间的一个报警信息元素,所有的报警信息元素构成报警信息集合;
归并模块500,用于提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则对该报警信息进行归并,获得该报警信息的归并结果;判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组,所述第二报警指针指向一个所述归并结果;所述归并类型为源报警或被归并源归并的报警。
需要说明的是,所述具有强关联关系报警信息是指模拟量的高三限报警信息、高二限报警信息和高一限信息以及输入高高限报警信息和输入高限报警信息等,其中,模拟量的报警信息是指系统输出量的报警信息,比如温度、水位等。输入高高限报警信息和输入高限报警信息是指系统输入量的报警信息,这些输入量一般指第三方设备的输入量。
另外,本申请的一个具体实施例提供了一种所述归并规则在所述配置文件中的具体存储方法,具体形式可以如下:
1、[Merge_Rule0]:
Merge_Src_FlagID=53
Merge_Dst_Number=2
Merge_Dst_FlagID0=54
Merge_Dst_FlagID1=55
RuleLevel=0
IsValidForMerge=1
2、[Merge_Rule1]:
Merge_Src_FlagID=54
Merge_Dst_Number=1
Merge_Dst_FlagID0=55
RuleLevel=1
IsValidForMerge=1
3、[Merge_Rule2]
Merge_Src_FlagID=58
Merge_Dst_Number=2
Merge_Dst_FlagID0=57
Merge_Dst_FlagID1=56
RuleLevel=2
IsValidForMerge=1
……
其中,在每条所述归并规则中,RuleLevel表示该归并规则具有的优先级等级,其值越小优先级等级越高;IsValidForMerge的取值决定着该归并规则是否有效,其值为1表示归并规则有效,IsValidForMerge=0表示归并规则无效;Merge_Src_FlagID表示归并源的ID,在本实施例中,53表示高三限报警信息,54表示高二限报警信息,55表示高一限报警信息,58表示低三限报警信息,57表示低二限报警信息,56表示低一限报警信息;Merge_Dst_Number表示在一条归并规则中,可被归并源归并的归并报警数量;Merge_Dst_FlagID0表示第一个可被归并源归并的归并报警的ID,相应的,Merge_Dst_FlagID1表示第二个可被归并源归并的归并报警的ID,Merge_Dst_FlagID2表示第三个可被归并源归并的归并报警的ID……;
那么,在本实施例中,归并规则[Merge_Rule0]表示的规则是高三限报警信息归并高二限报警信息和高一限报警信息;归并规则[Merge_Rule1]表示的规则是高二限报警信息归并高一限报警信息;归并规则[Merge_Rule2]表示的规则是低三限报警信息归并低二限报警信息和低一限报警信息;剩余的归并规则与此类似,本申请在此不做穷举。
还需要说明的是,当有多条归并规则同时影响一条报警信息时,只取优先级等级最高的归并规则生成归并动作(例如高三限报警信息和高二限报警信息同时可以归并高一限报警信息,当同时存在高三限报警信息和高二限报警信息时,高一限报警信息被高三限报警信息归并。)
在上述实施例的基础上,在本申请的一个优选实施例中,每条所述归并规则具有相应的优先级等级;
所述空间创建模块具体用于,创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则,并以优先级等级由高到低进行排序;
所述归并模块500具体用于,提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则对该报警信息进行归并,获得该报警信息的归并结果;
判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组。
具体地,在本申请的一个实施例中,所述第一存储空间为STD容器(map),其Key是Merge_Src_FlagID,值Value为一个有关Key的归并规则按优先级升序的set;例如:高二限报警信息的Merge_Src_FlagID为54,涉及到它的归并规则有两条,一个是被高三限报警信息归并,一个是归并高一限报警信息,则在本实施例中,高二限报警信息的第一存储空间的存储规则类似“map<2,set<[Merge_Rule0],[Merge_Rule1]>>”,由于[Merge_Rule1]的优先级等级1小于[Merge_Rule0]的优先级等级0,因此排列在后面。
在上述实施例的基础上,在本申请的一个优选实施例中,我们设计了报警归并块的结构体存储所述第一报警指针和归并该报警的第一报警指针,当然,在所述空间创建模块的功能执行之后,所述报警归并块的结构体中只存储有所述第一报警指针,归并该报警的第一报警指针在执行归并动作之后才会存储。定义所述报警归并块的结构体的目的是方便用于通过归并该报警的第一报警指针找出被归并的报警信息,比如确认一条报警信息,需要把被其归并的报警信息一起确认掉,就需要该报警归并块的结构体。
在上述实施例的基础上,在本申请的另一个优选实施例中,所述第二存储空间为MFC容器(CMap)。在本实施例中,所述第二存储空间用CMap而不用STD的map的原因是:CMap可以初始化元素个数,这样在所述报警信息的数量达到上万个时,避免了因为重新分配空间移动数据带来的性能消耗,以空间换时间。经测试,在所述报警信息的数量达到30000个时,初始化足够空间的CMap,只需要70ms左右即可完成按照位名号对所述第一报警指针数组进行分类,并将分类结果存储于所述第二存储空间中的操作;而换用map同一过程需要花费300ms左右,采用CMap作为所述第二存储空间在时间性能上提升了4倍多。
上述实施例的基础上,在本申请的又一个优选实施例中,所述归并模块500具体用于,提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则,在所述第一报警指针数组中查找该报警信息的归并源,如果找到该报警信息的归并源,则将该报警信息设置为所述被归并源归并的报警,所述被归并源归并的报警被所述归并源归并;如果未找到该报警信息的归并源,则将该报警信息设置为源报警;
判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组,所述第二报警指针指向一个所述归并结果。
需要说明的是,经过所述报警归并系统进行报警归并后的报警信息中所有的归并结果都会进行分类排序,对源报警进行报警提醒,但同时保留所述被归并源归并的报警在队列中,以使工作人员在处理了源报警后仍然可以查询保留在队列中的所述被归并源归并的报警,避免了在处理了所述源报警后,无法获知所述被归并源归并的报警的情况出现,提升了所述报警归并系统的安全性。
还需要说明的是,所述将所有的归并结果以归并类型进行分类排序可以使将所有的源报警进行排序后放置在队列前端,也可以将所有的被归并源归并的报警进行排序后放置在队列前端。本申请对此并不做限定,具体视实际情况而定。
但优选将所有的源报警进行排序后放置在队列前端,具体地,在本申请的一个具体实施例中,所述归并模块具体用于,提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则,在所述第一报警指针数组中查找该报警信息的归并源,如果找到该报警信息的归并源,则将该报警信息设置为所述被归并源归并的报警,所述被归并源归并的报警被所述归并源归并;如果未找到该报警信息的归并源,则将该报警信息设置为源报警;
判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的所述源报警根据其在所述第一报警指针数组的顺序进行排序,构成结果队列的前端;将所有的所述归并报警根据其在所述第一报警指针数组的顺序在所述结果队列的前端末尾进行排序,构成所述结果队列的后端;根据所述结果队列设置与其对应的第二报警指针数组。
在本实施例中,所述第二报警指针指向所述结果队列中的一个所述源报警或归并报警,即所述归并结果为所述结果队列中的一个所述源报警或归并报警。
在上述实施例的基础上,在本申请的一个具体优选实施例中,所述归并模块500还用于判断所述目标元素中存储的报警信息是否与历史报警信息相同,如果是,则不对其进行归并处理,并返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤。
需要说明的是,判断所述目标元素中存储的报警信息是否与历史报警信息相同,如果是,则不对其进行归并处理,并返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤的目是避免对历史报警信息中尚未处理的报警信息进行重复归并。
综上所述,本申请实施例提供了一种报警归并方法及报警归并系统,其中,所述报警归并方法首先通过读取配置文件中具有强关联关系报警信息的归并规则,并将其存储在第一存储空间中作为对所述报警信息的归并规则;然后按照所述报警信息的位名号对与所述报警信息同序的第一报警指针数组进行分类,并将一种所述报警信息的分类结果存储于一个第二存储空间中;最后根据保存的归并规则依次对所述第二存储空间进行归并,并将所有的归并结果以归并类型进行分类排序,对源报警进行报警提醒,但同时保留所述被归并源归并的报警在队列中,以使工作人员在处理了源报警后仍然可以查询保留在队列中的所述被归并源归并的报警,避免了在处理了所述源报警后,无法获知所述被归并源归并的报警的情况出现,提升了所述报警归并方法的安全性。
另外,所述报警归并方法不需要工作人员手动设置报警规则,降低了对工作人员的技能要求。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种报警归并方法,其特征在于,包括:
读取配置文件,所述配置文件中存储有具有强关联关系的报警信息的归并规则;
创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则;
创建一个与报警信息同序的第一报警指针数组,所述第一报警指针数组中的第一报警指针指向与其对应的报警信息;
按照所述报警信息的位名号对所述第一报警指针数组进行分类,并将每种所述报警信息的分类结果存储于第二存储空间中,每种所述报警信息的分类结果作为所述第二存储空间的一个报警信息元素,所有的报警信息元素构成报警信息集合;
提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则对该报警信息进行归并,获得该报警信息的归并结果;
判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组,所述第二报警指针指向一个所述归并结果;所述归并类型为源报警或被归并源归并的报警。
2.根据权利要求1所述的报警归并方法,其特征在于,每条所述归并规则具有相应的优先级等级;
所述创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则包括:
创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则,并以优先级等级由高到低进行排序;
所述根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则对该报警信息进行归并,获得该报警信息的归并结果包括:
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则对该报警信息进行归并,获得该报警信息的归并结果。
3.根据权利要求2所述的报警归并方法,其特征在于,所述根据找出的归并规则中优先级等级最高的归并规则对该报警信息进行归并,获得该报警信息的归并结果包括:
根据找出的归并规则中优先级等级最高的归并规则,在所述第一报警指针数组中查找该报警信息的归并源,如果找到该报警信息的归并源,则将该报警信息设置为所述被归并源归并的报警,所述被归并源归并的报警被所述归并源归并;如果未找到该报警信息的归并源,则将该报警信息设置为源报警。
4.根据权利要求3所述的报警归并方法,其特征在于,所述将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组包括:
将所有的所述源报警根据其在所述第一报警指针数组的顺序进行排序,构成结果队列的前端;
将所有的所述归并报警根据其在所述第一报警指针数组的顺序在所述结果队列的前端末尾进行排序,构成所述结果队列的后端;
根据所述结果队列设置与其对应的第二报警指针数组。
5.根据权利要求1所述的报警归并方法,其特征在于,所述第一存储空间为STD容器;
所述第二存储空间为MFC容器。
6.一种报警归并系统,其特征在于,包括:
读取模块,用于读取配置文件,所述配置文件中存储有具有强关联关系报警信息的归并规则;
空间创建模块,用于创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则;
指针创建模块,用于创建一个与报警信息同序的第一报警指针数组,所述第一报警指针数组中的第一报警指针指向与其对应的报警信息;
分类模块,用于按照所述报警信息的位名号对所述第一报警指针数组进行分类,并将每种所述报警信息的分类结果存储于第二存储空间中,每种所述报警信息的分类结果作为所述第二存储空间的一个报警信息元素,所有的报警信息元素构成报警信息集合;
归并模块,用于提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则对该报警信息进行归并,获得该报警信息的归并结果;判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组;所述归并类型为源报警或被归并源归并的报警。
7.根据权利要求6所述的报警归并系统,其特征在于,每条所述归并规则具有相应的优先级等级;
所述空间创建模块具体用于,创建第一存储空间,所述第一存储空间包括多个元素,每个元素存储一种与所述报警信息相关的归并规则,并以优先级等级由高到低进行排序;
所述归并模块具体用于,提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则对该报警信息进行归并,获得该报警信息的归并结果;
判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组。
8.根据权利要求7所述的报警归并系统,其特征在于,所述归并模块具体用于,提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则,在所述第一报警指针数组中查找该报警信息的归并源,如果找到该报警信息的归并源,则将该报警信息设置为所述被归并源归并的报警,所述被归并源归并的报警被所述归并源归并;如果未找到该报警信息的归并源,则将该报警信息设置为源报警;
判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的归并结果以归并类型进行分类排序,并设置排序后的归并结果对应的第二报警指针数组,所述第二报警指针指向一个所述归并结果。
9.根据权利要求8所述的报警归并系统,其特征在于,所述归并模块具体用于,提取所述报警信息集合中的一个报警信息元素作为目标元素,提取的所述报警信息元素不再存在于所述报警信息集合中;
根据所述目标元素中存储的报警信息查找所述第一存储空间,找出适用于该报警信息的归并规则,根据找出的归并规则中优先级等级最高的归并规则,在所述第一报警指针数组中查找该报警信息的归并源,如果找到该报警信息的归并源,则将该报警信息设置为所述被归并源归并的报警,所述被归并源归并的报警被所述归并源归并;如果未找到该报警信息的归并源,则将该报警信息设置为源报警;
判断所述报警信息集合是否为空,如果否,则返回提取所述报警信息集合中的一个报警信息元素作为目标元素的步骤,如果是,则将所有的所述源报警根据其在所述第一报警指针数组的顺序进行排序,构成结果队列的前端;将所有的所述归并报警根据其在所述第一报警指针数组的顺序在所述结果队列的前端末尾进行排序,构成所述结果队列的后端;根据所述结果队列设置与其对应的第二报警指针数组。
10.根据权利要求6所述的报警归并系统,其特征在于,所述第一存储空间为STD容器;
所述第二存储空间为MFC容器。
CN201610836252.7A 2016-09-21 2016-09-21 一种报警归并方法及报警归并系统 Active CN106338975B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610836252.7A CN106338975B (zh) 2016-09-21 2016-09-21 一种报警归并方法及报警归并系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610836252.7A CN106338975B (zh) 2016-09-21 2016-09-21 一种报警归并方法及报警归并系统

Publications (2)

Publication Number Publication Date
CN106338975A CN106338975A (zh) 2017-01-18
CN106338975B true CN106338975B (zh) 2018-12-04

Family

ID=57839072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610836252.7A Active CN106338975B (zh) 2016-09-21 2016-09-21 一种报警归并方法及报警归并系统

Country Status (1)

Country Link
CN (1) CN106338975B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109887253B (zh) * 2018-12-27 2021-01-22 石化盈科信息技术有限责任公司 石油化工装置报警的关联分析方法
CN110362062B (zh) * 2019-07-12 2022-06-24 上海瀚银信息技术有限公司 一种故障自动处理系统
CN110532292A (zh) * 2019-08-20 2019-12-03 深圳追一科技有限公司 警情串并方法、装置、设备及存储介质
CN110531729B (zh) * 2019-10-15 2020-03-20 南京科思倍信息科技有限公司 一种基于大数据的储罐作业风险智能识别与操作方法
CN112383756B (zh) * 2020-11-13 2021-08-17 珠海大横琴科技发展有限公司 一种视频监控报警处理方法和装置
CN115277248B (zh) * 2022-09-19 2022-12-27 南京聚铭网络科技有限公司 一种网络安全报警归并方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816657A (ja) * 1994-06-27 1996-01-19 Nec Corp 出力形式制御方法
CN101282332A (zh) * 2008-05-22 2008-10-08 上海交通大学 面向网络安全告警关联的攻击图生成系统
CN102043719A (zh) * 2011-01-05 2011-05-04 河北省电力研究院 一种对iec61850配置描述文件进行测试的方法
CN103760876A (zh) * 2014-01-29 2014-04-30 北京七星华创电子股份有限公司 报警信息的存储方法及存储装置
CN105069115A (zh) * 2015-08-11 2015-11-18 浙江中控技术股份有限公司 一种基于历史报警分布式聚类的报警抑制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816657A (ja) * 1994-06-27 1996-01-19 Nec Corp 出力形式制御方法
CN101282332A (zh) * 2008-05-22 2008-10-08 上海交通大学 面向网络安全告警关联的攻击图生成系统
CN102043719A (zh) * 2011-01-05 2011-05-04 河北省电力研究院 一种对iec61850配置描述文件进行测试的方法
CN103760876A (zh) * 2014-01-29 2014-04-30 北京七星华创电子股份有限公司 报警信息的存储方法及存储装置
CN105069115A (zh) * 2015-08-11 2015-11-18 浙江中控技术股份有限公司 一种基于历史报警分布式聚类的报警抑制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种流程工业的分布式海量报警管理系统;胡静泓等;《第25届中国过程控制会议论文集》;20140809;第2页左栏第2段,第3页第2.1节,第4页第3节 *
报警信息关联模型的构建和实现;裴晋泽等;《计算机应用研究》;20061231;第98-104页 *

Also Published As

Publication number Publication date
CN106338975A (zh) 2017-01-18

Similar Documents

Publication Publication Date Title
CN106338975B (zh) 一种报警归并方法及报警归并系统
EP3055808B1 (en) Event model for correlating system component states
McKay et al. Practical graph isomorphism, II
CN101339501B (zh) 基于有向图的ws-bpel控制环路检测方法
Surana et al. An efficient approach to mine periodic-frequent patterns in transactional databases
CN104063220B (zh) 基于文件的Linux基础软件依赖关系分析方法
US7730461B2 (en) Software tool configured to generate test cases characterized by a linear range of integral values
Krzysztofowicz et al. Fusion of detection probabilities and comparison of multisensor systems
CN104081400A (zh) 使用多事务技术对面向对象环境中的对象执行几何变换的方法和装置
CN106164795B (zh) 用于分类报警的优化方法
JP5588811B2 (ja) データ分析支援システム及び方法
Morrison The use of control charts to interpret environmental monitoring data
US20110264703A1 (en) Importing Tree Structure
Mehta et al. Kinetic transition networks for the Thomson problem and Smale’s seventh problem
CN111106953B (zh) 一种异常根因分析的方法及装置
CN105653734B (zh) 一种不确定性复杂事件的处理系统及方法
Long et al. Encoding large RCC8 scenarios using rectangular pseudo-solutions
Savio et al. A novel enumeration strategy of maximal bicliques from 3-dimensional symmetric adjacency matrix
WO2015045091A1 (ja) ベイジアンネットワークの構造学習におけるスーパーストラクチャ抽出のための方法及びプログラム
Király et al. Bit‐Table Based Biclustering and Frequent Closed Itemset Mining in High‐Dimensional Binary Data
US8739279B2 (en) Implementing automatic access control list validation using automatic categorization of unstructured text
Skjelnes Recording and Minimising Nogoods from Restarts in the Solver MiniCP
KR100995127B1 (ko) 정보 분석프로세스 자동 설계 구현시스템 및 방법
Mumey Detecting Errors in Data Sets with a Local-Consistency Property
Dogaru A double-sieve method to identify emergent computation in cellular nonlinear networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant