CN111158590B - 一种解决哈希冲突的方法和设备 - Google Patents

一种解决哈希冲突的方法和设备 Download PDF

Info

Publication number
CN111158590B
CN111158590B CN201911297738.8A CN201911297738A CN111158590B CN 111158590 B CN111158590 B CN 111158590B CN 201911297738 A CN201911297738 A CN 201911297738A CN 111158590 B CN111158590 B CN 111158590B
Authority
CN
China
Prior art keywords
data
hard disk
fingerprint value
metadata
stored
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
CN201911297738.8A
Other languages
English (en)
Other versions
CN111158590A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201911297738.8A priority Critical patent/CN111158590B/zh
Publication of CN111158590A publication Critical patent/CN111158590A/zh
Application granted granted Critical
Publication of CN111158590B publication Critical patent/CN111158590B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种解决哈希冲突的方法和设备,该方法包括以下步骤:为待存储的数据计算指纹值,并查询指纹值是否保存在硬盘中;响应于指纹值保存在硬盘中,判断指纹值是否被锁定;响应于指纹值未锁定,判断数据是否与硬盘中的对应数据相同;响应于数据与硬盘中的对应数据不同,将数据和数据对应的第一组元数据保存在硬盘中,并将指纹值加锁以防止其他线程重复查询硬盘中的数据。通过使用本发明的方法,能够在不影响性能,保证数据一致性的同时,减少线程间重复处理哈希冲突的次数,减少重复计算,提高整机性能。

Description

一种解决哈希冲突的方法和设备
技术领域
本领域涉及计算机领域,并且更具体地涉及一种解决哈希冲突的方法和设备。
背景技术
在存储领域,海量数据查询和存储需要占用超大的资源,严重影响了数据存储的性能。在这些数据中,存在大量重复数据,为了降低存储数据占用的资源,提高数据存储性能,这种重复数据完全可以只保存一份在存储介质中,在不影响数据一致性的前提下,减少盘上数据存放量。判断数据是否重复的方法是通过哈希算法计算数据指纹值,通过比对指纹值作为数据是否相同的依据。但是哈希算法存在哈希冲突,即不同数据通过哈希运算得到相同的哈希值。
发明内容
有鉴于此,本发明实施例的目的在于提出一种解决哈希冲突的方法和设备,通过使用本发明的方法,能够在不影响性能,保证数据一致性的同时,减少线程间重复处理哈希冲突的次数,减少重复计算,提高整机性能。
基于上述目的,本发明的实施例的一个方面提供了一种解决哈希冲突的方法,包括以下步骤:
为待存储的数据计算指纹值,并查询指纹值是否保存在硬盘中;
响应于指纹值保存在硬盘中,判断指纹值是否被锁定;
响应于指纹值未锁定,判断数据是否与硬盘中的对应数据相同;
响应于数据与硬盘中的对应数据不同,将数据和数据对应的第一组元数据保存在硬盘中,并将指纹值加锁以防止其他线程重复查询硬盘中的数据。
根据本发明的一个实施例,还包括:响应于指纹值未保存在硬盘中,将数据和数据对应的第二组元数据保存在硬盘中。
根据本发明的一个实施例,第一组元数据为逻辑地址-物理地址元数据和物理地址-逻辑地址元数据,第二组元数据为指纹值-物理地址元数据、逻辑地址-物理地址元数据和物理地址-逻辑地址元数据。
根据本发明的一个实施例,还包括:响应于指纹值已锁定,将数据保存在硬盘中。
根据本发明的一个实施例,还包括:响应于指纹值未锁定且数据与硬盘中数据相同,则不保存数据,但保存第一组元数据。
本发明的实施例的另一个方面,还提供了一种解决哈希冲突的设备,其特征在于,设备包括:
至少一个处理器;和
存储器,存储器存储有处理器可运行的程序代码,程序代码在被处理器运行时执行以下步骤:
为待存储的数据计算指纹值,并查询指纹值是否保存在硬盘中;
响应于指纹值保存在硬盘中,判断指纹值是否被锁定;
响应于指纹值未锁定,判断数据是否与硬盘中的对应数据相同;
响应于数据与硬盘中的对应数据不同,将数据和数据对应的第一组元数据保存在硬盘中,并将指纹值加锁以防止其他线程重复查询硬盘中的数据。
根据本发明的一个实施例,程序代码在被处理器运行时还执行以下步骤:响应于指纹值未保存在硬盘中,将数据和数据对应的第二组元数据保存在硬盘中。
根据本发明的一个实施例,第一组元数据为逻辑地址-物理地址元数据和物理地址-逻辑地址元数据,第二组元数据为指纹值-物理地址元数据、逻辑地址-物理地址元数据和物理地址-逻辑地址元数据。
根据本发明的一个实施例,程序代码在被处理器运行时还执行以下步骤:响应于指纹值已锁定,将数据保存在硬盘中。
根据本发明的一个实施例,程序代码在被处理器运行时还执行以下步骤:响应于指纹值未锁定且数据与硬盘中数据相同,则不保存数据,但保存第一组元数据。
本发明具有以下有益技术效果:本发明实施例提供的解决哈希冲突的方法,通过为待存储的数据计算指纹值,并查询指纹值是否保存在硬盘中;响应于指纹值保存在硬盘中,判断指纹值是否被锁定;响应于指纹值未锁定,判断数据是否与硬盘中的对应数据相同;响应于数据与硬盘中的对应数据不同,将数据和数据对应的第一组元数据保存在硬盘中,并将指纹值加锁以防止其他线程重复查询硬盘中的数据的技术方案,能够在不影响性能,保证数据一致性的同时,减少线程间重复处理哈希冲突的次数,减少重复计算,提高整机性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明一个实施例的解决哈希冲突的方法的示意性流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
基于上述目的,本发明的实施例的第一个方面,提出了一种解决哈希冲突的方法的一个实施例。图1示出的是该方法的示意性流程图。
如图1中所示,该方法可以包括以下步骤:
S1为待存储的数据计算指纹值,并查询指纹值是否保存在硬盘中,可以基于现有技术的方法计算数据的指纹值,在此计算过程不做赘述,计算出指纹值后,在硬盘中搜索是否出现过该指纹值;
S2响应于指纹值保存在硬盘中,判断指纹值是否被锁定,待存储的数据的指纹值出现在硬盘中,一种情况是该数据跟硬盘上的数据重复存储,另一种情况是不同的数据计算出相同的指纹值,存在哈希冲突,这时需要判断该指纹值是否被锁定;
S3响应于指纹值未锁定,判断数据是否与硬盘中的对应数据相同,指纹值未锁定,说明该指纹值在其他的线程中未出现,此时需要判断该数据是否在硬盘中;
S4响应于数据与硬盘中的对应数据不同,将数据和数据对应的第一组元数据保存在硬盘中,并将指纹值加锁以防止其他线程重复查询硬盘中的数据,数据与硬盘中数据不同,说明不同的数据计算出了相同的指纹值,出现了哈希冲突,这时为了保证其他线程的数据同样出现这种问题,将该指纹值锁定,这时其他线程如果出现了与该指纹值相同的指纹值,发现已经被其他线程锁定了,就不在与硬盘上的数据做比较了,减少重复计算。
通过本发明的技术方案,能够在不影响性能,保证数据一致性的同时,减少线程间重复处理哈希冲突的次数,减少重复计算,提高整机性能。
在本发明的一个优选实施例中,还包括:响应于指纹值未保存在硬盘中,将数据和数据对应的第二组元数据保存在硬盘中。表示当前处理的数据为非重复数据,该数据需要保存到硬盘中,并保存指纹值-物理地址元数据、逻辑地址-物理地址元数据和物理地址-逻辑地址元数据。
在本发明的一个优选实施例中,第一组元数据为逻辑地址-物理地址元数据和物理地址-逻辑地址元数据,第二组元数据为指纹值-物理地址元数据、逻辑地址-物理地址元数据和物理地址-逻辑地址元数据。
在本发明的一个优选实施例中,还包括:响应于指纹值已锁定,将数据保存在硬盘中。指纹值已锁定说明其他线程中出现了该指纹值,这时不需要对数据进行比较,直接将该数据存储在硬盘中,减少了重复计算,提高了整机性能。
在本发明的一个优选实施例中,还包括:响应于指纹值未锁定且数据与硬盘中数据相同,则不保存数据,但保存第一组元数据。表示当前处理的数据为重复数据,该数据做重删操作,数据不需要保存到硬盘上,只需要保存数据的逻辑地址-物理地址元数据和物理地址-逻辑地址元数据即可,保存逻辑地址-物理地址元数据的目的是用户再次读该逻辑地址数据时,可以通过该元数据查找到盘上实际数据地址,并将该数据返回给用户。
实施例
1、主机下发一定大小的多个数据;
2、通过哈希算法计算每个数据的指纹值;
3、查询该指纹值是否在存储中保存;
4、当在系统中未查询到该指纹值时,表示当前处理的数据为非重复数据,该数据需要保存到硬盘中,并保存指纹值-物理地址元数据、逻辑地址-物理地址元数据和物理地址-逻辑地址元数据;
5、当在系统中查询到该指纹值,判断该指纹值是否被锁定,未被锁定时,比对硬盘中数据和当前数据是否一致,数据一致时表示当前处理的数据为重复数据,该数据做重删操作,数据不需要保存到硬盘上,只需要保存数据的逻辑地址-物理地址元数据和物理地址-逻辑地址元数据即可,保存逻辑地址-物理地址元数据的目的是用户再次读该逻辑地址数据时,可以通过该元数据查找到盘上实际数据地址,并将该数据返回给用户;
6、当在系统中查询到该指纹值,判断该指纹值是否被锁定,被锁定时,表示其他线程发生了哈希冲突,即两个不同数据计算得到了相同的指纹值,直接将该数据存储在硬盘上。如果该指纹值未锁定,比对硬盘中数据和当前数据是否一致,数据不一致时,表示该线程发生了哈希冲突,将该指纹值锁定,将数据保存在硬盘中,完成后对该指纹值解锁。通过该方法可以实现多个线程同时出现哈希冲突时,通过加锁的方式仅在一个线程做数据对比处理。
通过本发明的技术方案,能够在不影响性能,保证数据一致性的同时,减少线程间重复处理哈希冲突的次数,减少重复计算,提高整机性能。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。
基于上述目的,本发明的实施例的第二个方面,提出了一种解决哈希冲突的设备,其特征在于,设备包括:
至少一个处理器;和
存储器,存储器存储有处理器可运行的程序代码,程序代码在被处理器运行时执行以下步骤:
为待存储的数据计算指纹值,并查询指纹值是否保存在硬盘中;
响应于指纹值保存在硬盘中,判断指纹值是否被锁定;
响应于指纹值未锁定,判断数据是否与硬盘中的对应数据相同;
响应于数据与硬盘中的对应数据不同,将数据和数据对应的第一组元数据保存在硬盘中,并将指纹值加锁以防止其他线程重复查询硬盘中的数据。
在本发明的一个优选实施例中,程序代码在被处理器运行时还执行以下步骤:响应于指纹值未保存在硬盘中,将数据和数据对应的第二组元数据保存在硬盘中。
在本发明的一个优选实施例中,第一组元数据为逻辑地址-物理地址元数据和物理地址-逻辑地址元数据,第二组元数据为指纹值-物理地址元数据、逻辑地址-物理地址元数据和物理地址-逻辑地址元数据。
在本发明的一个优选实施例中,程序代码在被处理器运行时还执行以下步骤:响应于指纹值已锁定,将数据保存在硬盘中。
在本发明的一个优选实施例中,程序代码在被处理器运行时还执行以下步骤:响应于指纹值未锁定且数据与硬盘中数据相同,则不保存数据,但保存第一组元数据。
需要特别指出的是,上述系统的实施例采用了上述方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到上述方法的其他实施例中。
此外,上述方法步骤以及系统单元或模块也可以利用控制器以及用于存储使得控制器实现上述步骤或单元或模块功能的计算机程序的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。

Claims (10)

1.一种解决哈希冲突的方法,其特征在于,包括以下步骤:
为待存储的数据计算指纹值,并查询所述指纹值是否保存在硬盘中;
响应于所述指纹值保存在所述硬盘中,判断所述指纹值是否被锁定;
响应于所述指纹值未锁定,判断所述数据是否与硬盘中的对应数据相同;
响应于所述数据与所述硬盘中的对应数据不同,将所述数据和所述数据对应的第一组元数据保存在所述硬盘中,并将所述指纹值加锁以防止其他线程重复查询所述硬盘中的数据。
2.根据权利要求1所述的方法,其特征在于,还包括:响应于所述指纹值未保存在所述硬盘中,将所述数据和所述数据对应的第二组元数据保存在所述硬盘中。
3.根据权利要求2所述的方法,其特征在于,所述第一组元数据为逻辑地址-物理地址元数据和物理地址-逻辑地址元数据,所述第二组元数据为指纹值-物理地址元数据、逻辑地址-物理地址元数据和物理地址-逻辑地址元数据。
4.根据权利要求1所述的方法,其特征在于,还包括:响应于所述指纹值已锁定,将所述数据保存在所述硬盘中。
5.根据权利要求1所述的方法,其特征在于,还包括:响应于所述指纹值未锁定且所述数据与所述硬盘中数据相同,则不保存所述数据,但保存第一组元数据。
6.一种解决哈希冲突的设备,其特征在于,所述设备包括:
至少一个处理器;和
存储器,所述存储器存储有处理器可运行的程序代码,所述程序代码在被处理器运行时执行以下步骤:
为待存储的数据计算指纹值,并查询所述指纹值是否保存在硬盘中;
响应于所述指纹值保存在所述硬盘中,判断所述指纹值是否被锁定;
响应于所述指纹值未锁定,判断所述数据是否与硬盘中的对应数据相同;
响应于所述数据与所述硬盘中的对应数据不同,将所述数据和所述数据对应的第一组元数据保存在所述硬盘中,并将所述指纹值加锁以防止其他线程重复查询所述硬盘中的数据。
7.根据权利要求6所述的设备,其特征在于,所述程序代码在被处理器运行时还执行以下步骤:响应于所述指纹值未保存在所述硬盘中,将所述数据和所述数据对应的第二组元数据保存在所述硬盘中。
8.根据权利要求7所述的设备,其特征在于,所述第一组元数据为逻辑地址-物理地址元数据和物理地址-逻辑地址元数据,所述第二组元数据为指纹值-物理地址元数据、逻辑地址-物理地址元数据和物理地址-逻辑地址元数据。
9.根据权利要求6所述的设备,其特征在于,所述程序代码在被处理器运行时还执行以下步骤:响应于所述指纹值已锁定,将所述数据保存在所述硬盘中。
10.根据权利要求6所述的设备,其特征在于,所述程序代码在被处理器运行时还执行以下步骤:响应于所述指纹值未锁定且所述数据与所述硬盘中数据相同,则不保存所述数据,但保存第一组元数据。
CN201911297738.8A 2019-12-17 2019-12-17 一种解决哈希冲突的方法和设备 Active CN111158590B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911297738.8A CN111158590B (zh) 2019-12-17 2019-12-17 一种解决哈希冲突的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911297738.8A CN111158590B (zh) 2019-12-17 2019-12-17 一种解决哈希冲突的方法和设备

Publications (2)

Publication Number Publication Date
CN111158590A CN111158590A (zh) 2020-05-15
CN111158590B true CN111158590B (zh) 2021-07-06

Family

ID=70557460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911297738.8A Active CN111158590B (zh) 2019-12-17 2019-12-17 一种解决哈希冲突的方法和设备

Country Status (1)

Country Link
CN (1) CN111158590B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483605A (zh) * 2009-02-25 2009-07-15 北京星网锐捷网络技术有限公司 数据报文的存储、查找方法和装置
CN101957858A (zh) * 2010-09-27 2011-01-26 中兴通讯股份有限公司 数据比对方法和装置
CN102880628A (zh) * 2012-06-15 2013-01-16 福建星网锐捷网络有限公司 哈希数据存储方法和装置
CN109241023A (zh) * 2018-09-21 2019-01-18 郑州云海信息技术有限公司 分布式存储系统数据存储方法、装置、系统及存储介质
CN110032528A (zh) * 2019-04-19 2019-07-19 苏州浪潮智能科技有限公司 存储系统的内存数据查找方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5883300B2 (ja) * 2012-02-02 2016-03-09 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation オブジェクトを特定するためのハッシュコードを生成するための方法、プログラム及びシステム
US9098403B2 (en) * 2012-11-09 2015-08-04 Sandisk Technologies Inc. NAND flash based content addressable memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483605A (zh) * 2009-02-25 2009-07-15 北京星网锐捷网络技术有限公司 数据报文的存储、查找方法和装置
CN101957858A (zh) * 2010-09-27 2011-01-26 中兴通讯股份有限公司 数据比对方法和装置
CN102880628A (zh) * 2012-06-15 2013-01-16 福建星网锐捷网络有限公司 哈希数据存储方法和装置
CN109241023A (zh) * 2018-09-21 2019-01-18 郑州云海信息技术有限公司 分布式存储系统数据存储方法、装置、系统及存储介质
CN110032528A (zh) * 2019-04-19 2019-07-19 苏州浪潮智能科技有限公司 存储系统的内存数据查找方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111158590A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
US9575984B2 (en) Similarity analysis method, apparatus, and system
CN110909025A (zh) 数据库的查询方法、查询装置及终端
US20070067530A1 (en) Managing a Resource Lock
CN112800287B (zh) 基于图数据库的全文索引方法和系统
JP2011505615A (ja) Oltp環境における統計アプリケーション
CN108459913B (zh) 数据并行处理方法、装置及服务器
CN107436910B (zh) 一种数据查询方法和装置
CN111858651A (zh) 一种数据处理方法以及数据处理装置
CN112559386A (zh) 提升ssd性能的方法、装置、计算机设备及存储介质
CN111158590B (zh) 一种解决哈希冲突的方法和设备
CN111966682B (zh) 一种白名单防护匹配方法、系统、终端及存储介质
CN111338981B (zh) 一种内存防碎片方法、系统及储存介质
CN110674086A (zh) 数据合并方法、装置、电子设备及存储介质
CN114679464B (zh) 基于分布式锁的数据回滚方法、装置、设备和存储介质
CN110908968A (zh) 一种文件锁解锁时避免惊群的方法、装置、设备及存储介质
CN110955388A (zh) 一种存储服务器及其数据存储方法、装置和存储介质
WO2020140623A1 (zh) 电子装置、元数据处理方法和计算机可读存储介质
CN114265637A (zh) 档案管理系统配置方法、系统、电子设备以及存储介质
CN107679093B (zh) 一种数据查询方法及装置
US9158798B2 (en) Database large object reorganization
CN109597689B (zh) 一种分布式文件系统内存优化方法、装置、设备及介质
CN110096555B (zh) 一种分布式系统的表匹配处理方法及装置
CN113268487B (zh) 数据统计方法、装置及计算机可读存储介质
CN113282405B (zh) 一种负载调整的优化方法及终端
CN111324532B (zh) 一种并行计算软件的mpi参数确定方法、装置及设备

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