CN110781160B - 基于VMware虚拟化文件系统损坏的数据恢复方法 - Google Patents
基于VMware虚拟化文件系统损坏的数据恢复方法 Download PDFInfo
- Publication number
- CN110781160B CN110781160B CN201910976391.3A CN201910976391A CN110781160B CN 110781160 B CN110781160 B CN 110781160B CN 201910976391 A CN201910976391 A CN 201910976391A CN 110781160 B CN110781160 B CN 110781160B
- Authority
- CN
- China
- Prior art keywords
- information
- data
- file system
- directory
- virtual machine
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/188—Virtual file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于VMware虚拟化文件系统损坏的数据恢复方法,其步骤:查找PV_INFO信息和LV_INFO信息,获取根目录以及文件系统元文件信息;解析文件系统根目录获取虚拟机的名称以及虚拟机目录的FR信息;解析FR信息获取Fnode信息并解析,获取Fnode的大小,创建时间,修改时间以及数据指针Fmap信息;根据Fmap的类型判断数据指针指向的位置获取指向数据;若Fmap指向“.sbc.sf”元文件中的内容为虚拟机子目录时,则解析此虚拟机子目录的目录项信息FR;若没有获取到此虚拟机目录的FR信息或获取的FR信息损坏,则通过搜索关键字从“.fdc.sf”元文件中查找所有Fnode信息,然后判断Fnode是否指向虚拟机子目录,根据虚拟机子目录来获取此虚拟机的名称并恢复此虚拟机子目录的所有数据。
Description
技术领域
本发明涉及一种数据恢复技术领域,特别是关于一种基于VMware虚拟化文件系统损坏的数据恢复方法。
背景技术
在目前生产过程中VMware虚拟化文件系统损坏时,意味着文件系统中用户的数据将不可见。现有的数据恢复技术只能以扫描磁盘二进制的方式,扫描已知文件类型的头部和尾部来完成对丢失数据的恢复,这种方法只能恢复已知文件格式的文件,未知格式的文件将不能恢复,并且恢复的文件可用率太低,而且扫描磁盘二进制往往很慢,无法快速解决问题。
发明内容
针对上述问题,本发明的目的是提供一种基于VMware虚拟化文件系统损坏的数据恢复方法,其能有效恢复不可见的数据。
为实现上述目的,本发明采取以下技术方案:一种基于VMware虚拟化文件系统损坏的数据恢复方法,所述VMware虚拟化文件系统的主要结构包括分区表、PV信息、LV信息、元文件区和数据区;其包括以下步骤:1)判断VMware虚拟化文件系统的分区表信息是否损坏,并查找PV信息;2)根据PV信息或关键字查找VMware虚拟化文件系统的LV信息;3)根据LV信息或关键字获取VMware虚拟化文件系统的根目录以及文件系统元文件信息;4)解析文件系统根目录,并从中获取虚拟机的名称以及虚拟机目录的FR信息,若步骤3)中没有获取到根目录或获取的根目录损坏则执行步骤9);5)解析FR信息,并从元文件“.fdc.sf”中获取此FR的Fnode信息;6)解析Fnode信息,并从Fnode中获取该Fnode的大小,创建时间,修改时间以及数据指针Fmap信息;7)解析Fmap信息,根据Fmap的类型判断数据指针指向的位置,获取指向数据;8)若Fmap指向“.sbc.sf”元文件中的内容为虚拟机子目录时,则解析此虚拟机子目录的目录项信息FR,然后执行步骤5);9)若步骤4)中没有获取到此虚拟机目录的FR信息或获取的FR信息损坏,则可通过搜索第七关键字“01 00 C0 10”从“.fdc.sf”元文件中查找所有Fnode信息,然后通过步骤6)以及步骤7)来判断此Fnode是否指向虚拟机子目录,若是,则执行步骤8),根据虚拟机子目录来获取此虚拟机的名称并恢复此虚拟机子目录的所有数据。
进一步,所述步骤1)中,读取VMware虚拟化文件系统的分区表信息,若有,则根据分区的起始位置找到VMware虚拟化文件系统的PV信息;若无或损坏,则通过搜索第一关键字“0D D0 01 C0”来查找VMware虚拟化文件系统的PV信息。
进一步,所述步骤2)中,若查找到PV信息,则解析PV信息,并从中获取VMware虚拟化文件系统的LV信息以及物理空间大小;
若没有获取到PV信息或获取的PV信息损坏,则通过搜索第二关键字“5E F1 AB2F”来查找VMware虚拟化文件系统的LV信息。
进一步,所述步骤3)中,若查找到LV信息,则解析LV信息,并从中获取VMware虚拟化文件系统的根目录以及文件系统元文件信息;
若没有获取到LV信息或获取的LV信息损坏,则通过搜索第三关键字“2E 76 68 2E73 66”来查找根目录,通过搜索第四关键字“05 00 C0 10”来查找“.fdc.sf”元文件,通过搜索第五关键字“03 00 C0 10”来查找“.sbc.sf”元文件,通过搜索第六关键字“04 00 C010”来查找“.pbc.sf”元文件。
进一步,所述步骤7)中,具体方法为:(1)当Fmap类型为1时,表示数据小于8K,此数据存储在“.sbc.sf”元文件中,解析Fmap中记录的地址,在“.sbc.sf”元文件中偏移到此地址获取Fmap指向的数据,若数据内容为虚拟机子目录,则执行步骤8),否则读取此数据块并恢复到其它存储介质中;(2)当Fmap类型为2时,表示数据小于256M并且数据大于8k,数据存储在VMware虚拟化文件系统中的数据区,解析Fmap中记录的地址,偏移到文件系统数据区对应的位置读取此数据块并恢复到其它存储介质中;(3)当Fmap类型为3时,表示数据大于256M,Fmap指向“.pbc.sf”元文件,解析Fmap中记录的地址,在“.pbc.sf”元文件中偏移到此地址获取类型为2的Fmap,然后执行步骤(2)获取指向数据。
本发明由于采取以上技术方案,其具有以下优点:1、本发明可以快速恢复损坏的VMware虚拟化文件系统中的数据。2、本发明不会对损坏的VMware虚拟化文件系统造成二次损坏。3、本发明可解决VMware虚拟化文件系统损坏以及VMware虚拟化文件系统误删除数据等情况的数据恢复。
附图说明
图1为VMware虚拟化文件系统的基本结构;
图2为本发明的整体流程示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
本发明提供一种基于VMware虚拟化文件系统损坏的数据恢复方法,该方法用于当VMware虚拟化文件系统部分机构损坏时,数据不可见,忽略损坏的区域继续读取正常的数据。如图1所示,VMware虚拟化文件系统的主要结构包括分区表、PV信息(物理卷)、LV信息(逻辑卷)、元文件区和数据区。
如图2所示,本发明包括以下步骤:
1)判断VMware虚拟化文件系统的分区表信息是否损坏,并查找PV信息;
读取VMware虚拟化文件系统的分区表信息,若有,则根据分区的起始位置找到VMware虚拟化文件系统的PV信息;若无或损坏,则可通过搜索第一关键字“0D D0 01 C0”来查找VMware虚拟化文件系统的PV信息。
2)根据PV信息或关键字查找VMware虚拟化文件系统的LV信息;
若步骤1)中查找到PV信息,则解析PV信息,并从中获取VMware虚拟化文件系统的LV信息以及物理空间大小;
若步骤1)中没有获取到PV信息或获取的PV信息损坏,则可通过搜索第二关键字“5E F1 AB 2F”来查找VMware虚拟化文件系统的LV信息。
3)根据LV信息或关键字获取VMware虚拟化文件系统的根目录以及文件系统元文件信息;
若步骤2)中查找到LV信息,则解析LV信息,并从中获取VMware虚拟化文件系统的根目录以及文件系统元文件信息;
若步骤2)中没有获取到LV信息或获取的LV信息损坏,则可通过搜索第三关键字“2E 76 68 2E 73 66”来查找根目录,通过搜索第四关键字“05 00 C0 10”来查找“.fdc.sf”(节点表系统)元文件,通过搜索第五关键字“03 00 C0 10”来查找“.sbc.sf”(目录缓存区系统)元文件,通过搜索第六关键字“04 00 C0 10”来查找“.pbc.sf”(子块位图系统)元文件。
4)解析文件系统根目录,并从中获取虚拟机的名称以及虚拟机目录的FR信息,若步骤3)中没有获取到根目录或获取的根目录损坏则执行步骤9)。
5)解析FR信息(文件记录),并从元文件“.fdc.sf”中获取此FR的Fnode(文件节点)信息。
6)解析Fnode信息,并从Fnode中获取该Fnode的大小,创建时间,修改时间以及数据指针Fmap等信息。
7)解析Fmap信息,根据Fmap的类型判断数据指针指向的位置,获取指向数据;
具体方法为:
(1)当Fmap类型为1时,表示数据小于8K,此数据存储在“.sbc.sf”元文件中,解析Fmap中记录的地址,在“.sbc.sf”元文件中偏移到此地址获取Fmap指向的数据,若数据内容为虚拟机子目录,则执行步骤8),否则读取此数据块并恢复到其它存储介质中。
(2)当Fmap类型为2时,表示数据小于256M并且数据大于8k,数据存储在VMware虚拟化文件系统中的数据区,解析Fmap中记录的地址,偏移到文件系统数据区对应的位置读取此数据块并恢复到其它存储介质中。
(3)当Fmap类型为3时,表示数据大于256M,Fmap指向“.pbc.sf”元文件,解析Fmap中记录的地址,在“.pbc.sf”元文件中偏移到此地址获取类型为2的Fmap,然后执行步骤(2)获取指向数据。
8)若Fmap指向“.sbc.sf”元文件中的内容为虚拟机子目录时,则解析此虚拟机子目录的目录项信息FR,然后执行步骤5)。
9)若步骤4)中没有获取到此虚拟机目录的FR信息或获取的FR信息损坏,则可通过搜索第七关键字“01 00 C0 10”从“.fdc.sf”元文件中查找所有Fnode信息,然后通过步骤6)以及步骤7)来判断此Fnode是否指向虚拟机子目录,若是,则执行步骤8),根据虚拟机子目录来获取此虚拟机的名称并恢复此虚拟机子目录的所有数据。
上述各实施例仅用于说明本发明,各个步骤都是可以有所变化的,在本发明技术方案的基础上,凡根据本发明原理对个别步骤进行的改进和等同变换,均不应排除在本发明的保护范围之外。
Claims (5)
1.一种基于VMware虚拟化文件系统损坏的数据恢复方法,所述VMware虚拟化文件系统的主要结构包括分区表、PV信息、LV信息、元文件区和数据区;其特征在于包括以下步骤:
1)判断VMware虚拟化文件系统的分区表信息是否损坏,并查找PV信息;PV信息为物理卷;
2)根据PV信息或关键字查找VMware虚拟化文件系统的LV信息;LV信息为逻辑卷;
3)根据LV信息或关键字获取VMware虚拟化文件系统的根目录以及文件系统元文件信息;
4)解析文件系统根目录,并从中获取虚拟机的名称以及虚拟机目录的FR信息,若步骤3)中没有获取到根目录或获取的根目录损坏则执行步骤9);FR信息为文件记录;
5)解析FR信息,并从元文件“.fdc.sf”中获取此FR的Fnode信息;Fnode为文件节点;
6)解析Fnode信息,并从Fnode中获取该Fnode的大小,创建时间,修改时间以及数据指针Fmap信息;
7)解析Fmap信息,根据Fmap的类型判断数据指针指向的位置,获取指向数据;
8)若Fmap指向“.sbc.sf”元文件中的内容为虚拟机子目录时,则解析此虚拟机子目录的目录项信息FR,然后执行步骤5);
9)若步骤4)中没有获取到此虚拟机目录的FR信息或获取的FR信息损坏,则可通过搜索第七关键字“01 00 C0 10”从“.fdc.sf”元文件中查找所有Fnode信息,然后通过步骤6)以及步骤7)来判断此Fnode是否指向虚拟机子目录,若是,则执行步骤8),根据虚拟机子目录来获取此虚拟机的名称并恢复此虚拟机子目录的所有数据。
2.如权利要求1所述数据恢复方法,其特征在于:所述步骤1)中,读取VMware虚拟化文件系统的分区表信息,若有,则根据分区的起始位置找到VMware虚拟化文件系统的PV信息;若无或损坏,则通过搜索第一关键字“0D D0 01 C0”来查找VMware虚拟化文件系统的PV信息。
3.如权利要求1所述数据恢复方法,其特征在于:所述步骤2)中,若查找到PV信息,则解析PV信息,并从中获取VMware虚拟化文件系统的LV信息以及物理空间大小;
若没有获取到PV信息或获取的PV信息损坏,则通过搜索第二关键字“5E F1 AB 2F”来查找VMware虚拟化文件系统的LV信息。
4.如权利要求1所述数据恢复方法,其特征在于:所述步骤3)中,若查找到LV信息,则解析LV信息,并从中获取VMware虚拟化文件系统的根目录以及文件系统元文件信息;
若没有获取到LV信息或获取的LV信息损坏,则通过搜索第三关键字“2E 76 68 2E 7366”来查找根目录,通过搜索第四关键字“05 00 C0 10”来查找“.fdc.sf”元文件,通过搜索第五关键字“03 00 C0 10”来查找“.sbc.sf”元文件,通过搜索第六关键字“04 00 C0 10”来查找“.pbc.sf”元文件。
5.如权利要求1所述数据恢复方法,其特征在于:所述步骤7)中,具体方法为:
(1)当Fmap类型为1时,表示数据小于8K,此数据存储在“.sbc.sf”元文件中,解析Fmap中记录的地址,在“.sbc.sf”元文件中偏移到此地址获取Fmap指向的数据,若数据内容为虚拟机子目录,则执行步骤8),否则读取此数据块并恢复到其它存储介质中;
(2)当Fmap类型为2时,表示数据小于256M并且数据大于8k,数据存储在VMware虚拟化文件系统中的数据区,解析Fmap中记录的地址,偏移到文件系统数据区对应的位置读取此数据块并恢复到其它存储介质中;
(3)当Fmap类型为3时,表示数据大于256M,Fmap指向“.pbc.sf”元文件,解析Fmap中记录的地址,在“.pbc.sf”元文件中偏移到此地址获取类型为2的Fmap,然后执行步骤(2)获取指向数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910976391.3A CN110781160B (zh) | 2019-10-15 | 2019-10-15 | 基于VMware虚拟化文件系统损坏的数据恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910976391.3A CN110781160B (zh) | 2019-10-15 | 2019-10-15 | 基于VMware虚拟化文件系统损坏的数据恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110781160A CN110781160A (zh) | 2020-02-11 |
CN110781160B true CN110781160B (zh) | 2021-07-27 |
Family
ID=69385569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910976391.3A Active CN110781160B (zh) | 2019-10-15 | 2019-10-15 | 基于VMware虚拟化文件系统损坏的数据恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781160B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400103B (zh) * | 2020-03-23 | 2023-03-14 | 北亚企安科技(北京)有限公司 | 一种针对infortrend存储的数据恢复方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959649A (zh) * | 2006-09-19 | 2007-05-09 | 珠海金山软件股份有限公司 | Ntfs卷中重建目录结构和恢复数据的方法 |
CN102609531A (zh) * | 2012-02-14 | 2012-07-25 | 北京鼎普科技股份有限公司 | 一种根据关键字反查文件的方法 |
CN105653731A (zh) * | 2016-02-02 | 2016-06-08 | 厦门市美亚柏科信息股份有限公司 | 一种jfs文件系统的删除数据恢复方法 |
CN105786653A (zh) * | 2016-03-01 | 2016-07-20 | 厦门市美亚柏科信息股份有限公司 | 基于fat32文件系统的文件恢复方法及其系统 |
CN108021472A (zh) * | 2017-11-28 | 2018-05-11 | 厦门市美亚柏科信息股份有限公司 | ReFS文件系统的格式化恢复方法及存储介质 |
CN109684028A (zh) * | 2017-10-18 | 2019-04-26 | 中兴通讯股份有限公司 | 一种操作系统与用户数据分离的方法、装置及设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7899795B1 (en) * | 2005-04-28 | 2011-03-01 | Network Appliance, Inc. | Method and system for recovering lost data volumes |
US7734603B1 (en) * | 2006-01-26 | 2010-06-08 | Netapp, Inc. | Content addressable storage array element |
US8307177B2 (en) * | 2008-09-05 | 2012-11-06 | Commvault Systems, Inc. | Systems and methods for management of virtualization data |
CN104407938B (zh) * | 2014-11-21 | 2018-05-08 | 上海爱数信息技术股份有限公司 | 一种虚拟机镜像级备份后的多种粒度恢复方法 |
CN106021031B (zh) * | 2016-05-30 | 2018-09-28 | 厦门市美亚柏科信息股份有限公司 | 一种btrfs文件系统的删除数据恢复方法和装置 |
US20180189124A1 (en) * | 2017-01-03 | 2018-07-05 | International Business Machines Corporation | Rebuilding the namespace in a hierarchical union mounted file system |
CN108415756B (zh) * | 2017-10-25 | 2022-08-23 | 国云科技股份有限公司 | 一种云平台虚拟机的云盘自动恢复方法 |
CN108459828B (zh) * | 2018-03-05 | 2021-04-27 | 国云科技股份有限公司 | 一种桌面云云磁盘重新分配方法 |
CN110232004A (zh) * | 2019-06-13 | 2019-09-13 | 深圳麦风科技有限公司 | 一种apfs文件系统数据恢复方法 |
-
2019
- 2019-10-15 CN CN201910976391.3A patent/CN110781160B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959649A (zh) * | 2006-09-19 | 2007-05-09 | 珠海金山软件股份有限公司 | Ntfs卷中重建目录结构和恢复数据的方法 |
CN102609531A (zh) * | 2012-02-14 | 2012-07-25 | 北京鼎普科技股份有限公司 | 一种根据关键字反查文件的方法 |
CN105653731A (zh) * | 2016-02-02 | 2016-06-08 | 厦门市美亚柏科信息股份有限公司 | 一种jfs文件系统的删除数据恢复方法 |
CN105786653A (zh) * | 2016-03-01 | 2016-07-20 | 厦门市美亚柏科信息股份有限公司 | 基于fat32文件系统的文件恢复方法及其系统 |
CN109684028A (zh) * | 2017-10-18 | 2019-04-26 | 中兴通讯股份有限公司 | 一种操作系统与用户数据分离的方法、装置及设备 |
CN108021472A (zh) * | 2017-11-28 | 2018-05-11 | 厦门市美亚柏科信息股份有限公司 | ReFS文件系统的格式化恢复方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110781160A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102779180B (zh) | 数据存储系统的操作处理方法,数据存储系统 | |
US9286165B2 (en) | Apparatus and method for recovering partition using backup boot record information | |
US9619512B2 (en) | Memory searching system and method, real-time searching system and method, and computer storage medium | |
US20110093466A1 (en) | Heuristic event clustering of media using metadata | |
CN107515931B (zh) | 一种基于聚类的重复数据检测方法 | |
KR20050053094A (ko) | Ext2파일 시스템의 데이터 복구방법과 그 프로그램을기록한 기록매체 | |
CN109271545B (zh) | 一种特征检索方法及装置、存储介质和计算机设备 | |
EP3848808A1 (en) | Method and system for recovering deleted file based on fat32 file system | |
CN109445703B (zh) | 一种基于块级数据去重的Delta压缩存储组件 | |
CN102999433A (zh) | 一种虚拟磁盘的冗余数据删除方法及系统 | |
US7783589B2 (en) | Inverted index processing | |
KR101593184B1 (ko) | 파일시스템 메타데이터 기반 파티션 복구 방법 및 장치 | |
CN104899114A (zh) | 一种固态硬盘上的连续时间数据保护方法 | |
CN102289526A (zh) | 一种hfs+文件系统数据恢复方法及装置 | |
CN101324898A (zh) | 一种基于文件属性的快速检索、恢复方法 | |
CN111367926A (zh) | 分布式系统的数据处理方法和装置 | |
CN111400101B (zh) | 一种jfs2文件系统数据删除时的数据恢复方法及系统 | |
CN110781160B (zh) | 基于VMware虚拟化文件系统损坏的数据恢复方法 | |
CN110297781B (zh) | 一种基于写时复制来恢复apfs中被删除数据的方法 | |
CN102609531B (zh) | 一种根据关键字反查文件的方法 | |
CN112698866B (zh) | 一种基于Git的代码行生命周期追溯方法及电子装置 | |
CN106095808B (zh) | 一种mdb文件碎片恢复的方法和装置 | |
CN103714179A (zh) | 一种系统日志的多语言支持方法和系统 | |
CN104408097A (zh) | 一种基于字符段热更新的混合索引方法及系统 | |
CN107818136B (zh) | 用于回收垃圾对象数据的方法和装置 |
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 |