CN103177120B - 一种基于索引的XPath查询模式树匹配方法 - Google Patents
一种基于索引的XPath查询模式树匹配方法 Download PDFInfo
- Publication number
- CN103177120B CN103177120B CN201310125977.1A CN201310125977A CN103177120B CN 103177120 B CN103177120 B CN 103177120B CN 201310125977 A CN201310125977 A CN 201310125977A CN 103177120 B CN103177120 B CN 103177120B
- Authority
- CN
- China
- Prior art keywords
- node
- index
- tree
- data
- query
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于索引的XPath查询模式树匹配方法,包括:对XML数据库中的文档集合建立索引;解析XPath查询语句,并构建查询语句对应的查询模式树;将查询模式树拆分成若干个子查询,并通过索引获取子查询结果;恢复子查询获取的结果节点流数据,并对节点流数据进行模式树匹配。本发明基于索引结合数据恢复的方法,优化了模式树匹配要处理的数据规模,减少了I/O开销,提高了匹配性能,此外,本发明提出了配合位置索引进行模式树匹配的方法,有效地解决了位置查询的问题。
Description
技术领域
本发明涉及数据库查询领域,尤其涉及一种在XML数据库中基于索引的XPath查询模式树匹配方法。
背景技术
随着信息技术的迅猛发展,XML已经逐渐成为数据表达和数据交换的标准和载体,在电子商务,网络服务和数字图书馆等诸多重要领域都得到了大规模的应用。对日益增长的海量XML数据进行高性能查询处理也成为了一个重要的问题。
XPath是一种对XML文件中的节点进行定位的查询语言,它之于XML数据库的关系就相当于SQL之于关系数据库。XPath的核心语法表示形式是路径表达式,一个路径表达式是从XML文件中的一个节点到另一个节点或一个节点集合的一组步骤,这些步骤以“/”字符分隔,每个步骤包括三个构成组件:轴(axis),它用于以最直接的方式,依靠节点间的结构关系(例如祖先,后代),从上下文节点定位到下一节点集合;节点测试(nodetest),它依据节点名称,节点类型或处理指令类型,对轴定位的节点集进行筛选;一个或多个谓词(predicate)的语法形式为:[表达式],用于对节点测试筛选后的节点集进一步过滤,根据表达式筛除掉一些不符合表达式要求的节点。
一个XPath查询语句通常可建模为一棵树状结构的查询模式树。XML数据库查询的核心操作就是根据查询模式树所表示的结构和内容特征,在XML数据空间中进行搜索,提取与之相匹配的数据。
目前查询模式树匹配的主流方案可分为以下三类:
第一类方法基于导航的思想,通过在XML文档中导航来匹配查询模式,缺点是处理大文档时效率很低,并且只适用于线性模式查询,不适用于带分支的树模式查询。
第二类方法基于整体匹配的思想,将XML数据的文档树和查询模式树映射成特定的序列,然后基于序列进行匹配,通常做法是映射到字符串序列,这种方法虽然简洁,但也有其缺陷,对字符串的大量连接和匹配操作,使得性能开销加大,对数据的大量扫描也增加了I/O的负担。
第三类方法基于先分解再连接的思想,将查询模式分解成若干个片段,分别求出每个片段的查询结果然后进行合并,这类方法的缺陷在于分解粒度过细,导致连接和中间结果的数目太多。
此外,现有方案的主要关注点是结构和内容的模式匹配。而在实际应用中,用户不仅关注XML文档的结构和内容信息,也关注XML文档节点的位置信息,例如,用户可能想查询文档集合中所有论文的名为“张三”的第一作者,对应的XPath语句为//paper/author[1][.=’张三’]。对于此类位置查询,或位置与内容相结合的查询,现有的模式匹配方法做的尝试较少,解决方法也不够高效。
发明内容
为解决上述中存在的问题与缺陷,本发明提供了一种基于索引的XPath查询模式树匹配方法。所述技术方案如下:
一种基于索引的XPath查询模式树匹配方法,包括:
对XML数据库中的文档集合建立索引;
解析XPath查询语句,并构建查询语句对应的查询模式树;
将查询模式树拆分成若干个子查询,并通过索引获取子查询结果;
恢复子查询获取的结果节点流数据,并对节点流数据进行模式树匹配。
本发明提供的技术方案的有益效果是:
1、有效支持多类型查询的索引方法,尤其是支持位置查询的索引方法。该方法在索引方面提供了位置索引和值索引,在一定范围内解决了位置查询及位置和内容相结合的查询问题;在索引数据内容组织方面,以XML文档的结构信息作为索引的数据项,有利于结构模式匹配和数据恢复,以B树为数据组织形式,为高效处理海量数据的查询提供了可靠支持。
2、以路径为粒度进行子查询分解,减少了中间结果的数目。
3、基于索引查询得到的路径末端节点数据流,文档树的叶子节点向文档树的根节点方向恢复,其索引查询只需返回路径的末端模式节点对应的数据节点,优化了模式树匹配处理的数据集规模,减少了I/O开销,提高了查询性能。
附图说明
图1是基于索引的XPath查询模式树匹配方法流程图;
图2是恢复节点流数据及对节点流数据进行模式树匹配的流程图;
图3是基于索引的XPath查询模式树查询示例图;
图4是索引数据组织示例图;
图5是数据结构示例图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述:
本实施例提供了一种基于索引的XPath查询模式树匹配方法,如图1所示,该方法包括:
步骤10对XML数据库中的文档集合建立索引;
根据用户的需求,对XML数据库中的某个XML文档集合,建立用户指定类型的索引,将建立成功的索引存储到外存物理设备中。所述索引包括值索引、路径索引和位置索引,具体包括:
建立文档集合的文档数据中的所有模式路径对应的路径索引,其中每条模式路径对应一个简单路径表达式,将索引数据存储到外存物理设备;
优选地,根据指定的简单路径表达式和值的类型,为对应的路径建立相应的值索引,辅助实现值查询功能;
优选地,根据用户指定的简单路径表达式,为对应的路径建立位置索引,辅助实现位置查询功能;
上述值索引、路径索引和位置索引存储的数据以节点为粒度,存储的是与简单路径表达式相匹配的数据中,与路径末端模式节点相匹配的数据节点信息。
索引包括值索引、路径索引、位置索引,其中值索引的类型又分为字符串索引、整数索引、浮点数索引、日期索引、日期-时间表索引,以满足用户的精确查询需求。
索引的数据组织形式基于B树,它是一种高性能的外存树状数据结构,具有平衡,树层数较少等优点,适用于大规模数据的磁盘存储和查找。针对不同类型的索引,B树存储的数据项和数据项键值也有所不同。值索引存储的数据项以节点文本值为键,数据项内容为<节点文本值,节点的树结构编码,节点的路径结构编码>;位置索引存储的数据项以位置为键,数据项内容为<位置,节点的树结构编码,节点的路径结构编码>;节点测试索引存储的数据项以节点的路径结构编码为键,数据项内容为<节点的路径结构编码,节点的树结构编码>。节点的树结构编码反映的是它在文档树中的整***置,节点的路径结构编码反映的是它属于文档树中的哪一条路径模式。例如图4就是图3文档对应的路径索引的数据组织图。
步骤20解析XPath查询语句,并构建查询语句对应的查询模式树;
将用户输入的XPath查询语句进行解析,在内存中构建查询语句对应的查询模式树。
对用户输入的XPath查询语句,进行词法解析,语法解析和静态类型检查,构建该语句对应的抽象语法树;基于该抽象语法树进行优化,构建查询模式树,模式树中的模式节点包括三类:查询节点、谓词节点和逻辑运算符节点;查询节点用于表示XPath中每步的节点测试,谓词节点表示值查询约束或者位置范围约束,逻辑运算符节点表示逻辑运算符AND和OR。
如图3中的XPath查询语句//a[.//b]//c[1][.>4and.<8]被建模为图3中的模式树,三类模式节点用三类不同的图形组件表示,圆形节点表示的是查询节点,方形节点表示的是谓词节点,例如图中的c就有三个子孙谓词节点,表示c需要满足位置为1,值大于4,且值小于8这三个条件。菱形节点表示的是逻辑运算符节点,例如图中的c的两个值约束谓词的父节点为AND,表示c需要同时满足这两个条件。
步骤30将查询模式树拆分成若干个子查询,并通过索引获取子查询结果;
将查询模式树进行优化,拆分成若干个子查询,分析子查询的查询类型,使用对应类型的索引获取子查询结果。从查询模式树的根节点开始,按先序对树进行递归周游,将查询树分解成一个或多个XPath路径查询单元,寻找路径查询单元的策略是:如果访问到一个叶子节点,则找到了从查询模式树的根节点到叶子节点的一条路径,该路径对应着一个XPath路径查询单元。图3中的查询语句可以分解为三个XPath路径查询单元,如下表所示:
表1
路径查询单元编号 | 简单路径表达式 | 谓词 |
1 | //a//b | 无 |
2 | //a//c | 位置谓词,pos=1 |
3 | //a//c | 两个值比较谓词,value>4,value<8 |
分解成查询单元后,索引模块会对每个路径查询单元分析查询类型,并使相应类型的索引进行查询。例如,上述三个查询单元分别使用路径索引、位置索引和整数类型的值索引查询。
步骤40恢复子查询获取的结果节点流数据,并对节点流数据进行模式树匹配。
该步骤用到的数据结构包括模式树对应的模式节点线性表,构造中间结果时的堆栈和线性表。例如,图3中的模式树对应的模式节点线性表有三个节点,如图5所示,每个模式节点的区间编码Region记录它在模式树中的后代范围,Name记录节点名称,Axis记录节点轴;数据中间栈用于自底向上地构建中间结果,从索引得到的叶子节点流进行数据恢复后,恢复的节点按照先序入栈,以后序弹出。例如,图5中的数据中间栈里已有两个节点进栈,分别对应着图3中数据树的根节点,和根节点的第一个子节点,每个数据节点保存着该节点的内容信息,结构信息,以及匹配模式需要的信息,其中deweyId表示树结构编码,pathId表示路径结构编码,dsMap记录节点后代在中间结果线性表中的结果区间开始和结束位置,path表示这个节点是由哪一条路径查询单元得到的节点恢复得到的;中间结果线性表记录每个模式节点对应的匹配的数据节点列表,例如,图5中模式节点a对应的中间结果线性表有两个满足的数据节点,第一个数据节点的模式为b的后代数据节点的结果范围为模式节点b对应的线性表的第1个元素到第4个元素,以先序排列。
上述简单路径表达式(SimplePathExpression):是一种形式简洁的XPath查询语句。它的语法组件包括一个或多个步(Step),每个步由轴(axis)和节点名称测试(nametest)组成,语法形式为:
SimplePath::=Step|Step/SimplePath|step//SimplePath
Step::=nametest|nametest
简单路径表达式没有谓词(predicate),例如,/child::A是一个简单路径表达式,但/child::A[B]不是简单路径表达式。
如果把XML文档建模成一棵文档节点树,简单路径表达式可以用来表示从文档节点树的根节点到某个子节点的有向直线路径,该路径没有分叉,每个节点和后续节点的对应关系都是唯一的。因此,简单路径表达式很适合用于路径结构查询,定位满足特定路径结构的节点。
XPath路径查询单元(XPathPathQueryUnit):用于表示本发明将用户的XPath查询语句解析成查询模式树后,拆分得到的原子路径查询单元,也就是交由索引应答的最小查询对象。
它的语法组件为一个简单路径表达式,零个或多个值比较谓词,和零个或一个位置范围谓词。值比较谓词和位置范围谓词的作用是对由简单路径表达式筛选得到的节点集合,再次进行基于值比较或位置范围的过滤。
例如,//a//c[1]为一个XPath路径查询单元,由简单路径表达式//a//c和位置谓词[1]组成;//b//d[.=’14’]也为一个XPath路径查询单元,由简单路径表达式//b//d和值比较谓词[.=’14’]组成。
该查询单元不仅能支持结构查询,也有效地支持了值查询和位置范围查询。
如图2所示,上述步骤40具体包括:
步骤401,先序历遍模式树,将模式树映射到一个模式节点线性表,并对每个模式节点进行区间编码,记录每个模式节点包含的结构信息和位置信息。
步骤402,对每个子查询得到的数据节点流进行排序,该排序基于数据节点的树结构编码,按先序排列,例如,图3中的树结构编码为”1”的节点排列在树结构编码为“1.1.1”的节点之前。
步骤403,取当前数据流中按先序第一个节点,记为LeafNode,根据该节点判断当前堆栈是否有与模式树局部子树片段相匹配的数据节点,并将该数据节点弹出堆栈放入对应的线性表。如果数据流的节点已取完,跳至步骤406。
步骤404基于LeafNode自底向上地恢复数据,所谓自底向上的“底”指的是叶子节点,也就是说从文档树的叶子节点往文档树的根节点方向,在内存中重构节点。
步骤405,从恢复栈中依次取出恢复的数据节点,根据节点对应的模式节点,和中间结果线性表,标记它在模式树中的后代在中间结果线性表中对应的结果区间的开始位置,然后放入数据中间栈中,并返回步骤403。
步骤406,处理完从索引得到的所有的数据流后,从模式节点线性表的第一个模式节点,也就是模式树的根节点开始,递归地自顶向下枚举最终结果,历遍当前模式节点对应的线性表的结果区间内的可选节点,并更新每个可选节点在模式树上的所有模式节点后代的数据节点结果区间,直到匹配完模式节点线性表的每个模式节点为止。如果模式节点线性表的每个节点都能枚举到对应的数据节点,说明在数据中存在着匹配整个模式树的一组数据节点,匹配成功。例如,图3中的示例,匹配成功的节点组包括:<1,1.1.1,1.2.3>,<1,1.2.1,1.2.3>,<1,1.2.1.1,1.2.3>,<1,1.2.2,1.2.3>,<1,1.1.1,1.3>,<1,1.2.1,1.3>,<1,1.2.1.1,1.3>,<1,1.2.2,1.3>,<1.2,1.2.1,1.2.3>,<1.2,1.2.1.1,1.2.3>,<1.2,1.2.2,1.2.3>。
上述步骤403具体包括如下:
步骤403a取所有XPath路径查询单元得到的数据流中当前按先序第一个节点,例如路径查询单元1的当前第一个数据节点编码为1.1.1,路径查询单元2的当前第一个数据节点编码为1.2.3,路径查询单元3的当前第一个节点的编码为1.2.3。则按编码先序,取1.1.1对应的数据节点。如果同一个编码的节点位于不同的两个流中,则进行消重。
如,对应于图3的例子,步骤403a取的LeafNode的deweyId为1.2.1,需要恢复该节点到deweyId为1的节点之间与模式树的模式节点相匹配的数据节点,根据以上方法,编码为1.2的节点将被恢复。
步骤403b判断堆栈的当前栈顶数据节点是否是LeafNode在文档树中的祖先,如果是的话则结束步骤403,如果不是的话则执行操作403c。
例如,当前栈顶数据节点的编码为1.1,LeafNode的编码为1.2.1,两个编码不为前缀关系,此时栈顶数据节点不是LeafNode的祖先。
步骤403c判断该栈顶节点是否能弹出放入它的模式对应的中间结果线性表。首先更新栈顶数据节点的所有模式树后代对应的中间结果线性表中的结束位置,例如,编码为1.1的节点弹出时,它在模式表中的后代分别为b和c,b对应的中间结果列表的结果区间为[1,1],但c对应的中间结果列表无结果,则说明该节点没有模式为c的后代,此时节点与模式树不匹配,弹出栈,但不放入模式对应的中间结果线性表。
步骤403d如果栈不为空,则跳至操作403a继续循环,否则结束步骤403。
上述步骤404具体包括如下:
步骤404a确定恢复数据的区间,如果当前堆栈不为空,并且当前LeafNode的path和栈顶节点的path非同一条,则恢复区间为[LeafNode,栈底节点],否则恢复区间为[LeafNode,栈顶节点];如果当前堆栈为空,则恢复区间为[LeafNode,文档树根节点]。
步骤404b根据恢复区间的起始和结束节点的树结构编码,计算这两个节点之间在文档树上相隔的偏移量;然后自底向上地根据叶子节点的pathId,deweyId,以及到该层的偏移量,重构该层祖先节点,并判断该祖先节点的模式是否属于模式树,如果属于则说明该节点为需要恢复的节点,保留到恢复节点数据栈中。
上述实施例基于索引结合数据恢复的方法,优化了模式树匹配要处理的数据规模,减少了I/O开销,提高了匹配性能,此外,本发明提出了配合位置索引进行模式树匹配的方法,有效地解决了位置查询的问题。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于索引的XPath查询模式树匹配方法,其特征在于,所述方法包括:
A对XML数据库中的文档集合建立索引;
B解析XPath查询语句,并构建查询语句对应的查询模式树;
C将查询模式树拆分成若干个子查询,并通过索引获取子查询结果;
D恢复子查询获取的结果节点流数据,并对节点流数据进行模式树匹配;
映射模式树到模式节点线性表,对模式节点进行区间编码,并记录模式节点包含的结构信息和位置信息;
对数据节点流进行排序;
取数据节点流中第一节点,根据所述节点判断当前堆栈与模式树局部子树数据节点的匹配性,并将相匹配的节点弹出堆栈放入对应的线性表;
根据节点流中第一节点,从文档树的叶子节点向文档树的根节点方向恢复数据;
取出恢复的数据节点,标记数据节点在模式树中的后代在中间结果线性表中对应的结果区间的开始位置,并放入数据中间栈中;继续从数据节点流中取当前第一节点进行处理;
处理完数据节点流后,自文档树的根节点向文档树的叶子节点方向枚举模式数匹配的最终结果。
2.根据权利要求1所述的基于索引的XPath查询模式树匹配方法,其特征在于,所述文档集合建立的索引包括文档树数据中的所有模式路径对应的路径索引、对应路径建立的值索引和位置索引。
3.根据权利要求1所述的基于索引的XPath查询模式树匹配方法,其特征在于,查询模式树中的模式节点包括三类:查询节点、谓词节点和逻辑运算符节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310125977.1A CN103177120B (zh) | 2013-04-12 | 2013-04-12 | 一种基于索引的XPath查询模式树匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310125977.1A CN103177120B (zh) | 2013-04-12 | 2013-04-12 | 一种基于索引的XPath查询模式树匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103177120A CN103177120A (zh) | 2013-06-26 |
CN103177120B true CN103177120B (zh) | 2016-03-30 |
Family
ID=48636981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310125977.1A Active CN103177120B (zh) | 2013-04-12 | 2013-04-12 | 一种基于索引的XPath查询模式树匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103177120B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9659045B2 (en) * | 2013-11-08 | 2017-05-23 | Oracle International Corporation | Generic indexing for efficiently supporting ad-hoc query over hierarchically marked-up data |
WO2015188315A1 (zh) * | 2014-06-10 | 2015-12-17 | 华为技术有限公司 | 一种数据查询方法、装置及*** |
CN104298732B (zh) * | 2014-09-29 | 2018-01-09 | 中国科学院计算技术研究所 | 一种面向网络用户的个性化文本排序及推荐方法 |
CN104506464A (zh) * | 2014-12-12 | 2015-04-08 | 北京中科江南软件有限公司 | 基于节点描述符的电子报文解析组件 |
CN104615720B (zh) * | 2015-02-05 | 2018-05-11 | 同方知网(北京)技术有限公司 | 一种基于索引的xml文档查询优化方法 |
CN106528280B (zh) * | 2015-09-15 | 2019-10-29 | 阿里巴巴集团控股有限公司 | 一种任务分配方法和*** |
CN106610999A (zh) * | 2015-10-26 | 2017-05-03 | 北大方正集团有限公司 | 查询处理方法和装置 |
CN106126545A (zh) * | 2016-06-15 | 2016-11-16 | 北京智能管家科技有限公司 | 分布式的裂变查询方法及装置 |
CN108009019B (zh) * | 2016-10-29 | 2021-06-22 | 网宿科技股份有限公司 | 分布式数据定位实例的方法、客户端及分布式计算*** |
EP3671579A1 (en) * | 2018-12-19 | 2020-06-24 | Siemens Aktiengesellschaft | Method and system for providing a service for a complex industrial system |
CN111400342A (zh) * | 2019-01-03 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 数据库更新方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7454415B1 (en) * | 2003-02-24 | 2008-11-18 | Trustees Of Columbia University | Method and system for pattern matching having holistic twig joins |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588368A (zh) * | 2004-09-07 | 2005-03-02 | 孟小峰 | 基于模式的xml存储方法及应用 |
-
2013
- 2013-04-12 CN CN201310125977.1A patent/CN103177120B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7454415B1 (en) * | 2003-02-24 | 2008-11-18 | Trustees Of Columbia University | Method and system for pattern matching having holistic twig joins |
Non-Patent Citations (1)
Title |
---|
XML树模式匹配查询研究;胡叶;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120415;第I138-1500第11-19页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103177120A (zh) | 2013-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103177120B (zh) | 一种基于索引的XPath查询模式树匹配方法 | |
US9507848B1 (en) | Indexing and querying semi-structured data | |
US8346813B2 (en) | Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments | |
US8140558B2 (en) | Generating structured query language/extensible markup language (SQL/XML) statements | |
CN102033954B (zh) | 关系数据库中可扩展标记语言文档全文检索查询索引方法 | |
US7293018B2 (en) | Apparatus, method, and program for retrieving structured documents | |
US6721727B2 (en) | XML documents stored as column data | |
US11947502B2 (en) | Concurrent enumeration of multiple hierarchies in a database environment | |
Sleiman et al. | Tex: An efficient and effective unsupervised web information extractor | |
US9165086B2 (en) | Hybrid binary XML storage model for efficient XML processing | |
CN107169033A (zh) | 基于数据模式转换和并行框架的关系数据查询优化方法 | |
CN101719156B (zh) | 一种在关系型数据库中无缝集成纯xml查询引擎的*** | |
US8972377B2 (en) | Efficient method of using XML value indexes without exact path information to filter XML documents for more specific XPath queries | |
Tao et al. | Nearest keyword search in xml documents | |
CN104781811A (zh) | 评估xml全文搜索 | |
CN103226599A (zh) | 一种精确提取网页内容的方法及*** | |
Embley et al. | Transforming web tables to a relational database | |
Kricke et al. | Graph data transformations in Gradoop | |
US7502802B2 (en) | Optimizing cursor movement in holistic twig joins | |
CN114372174A (zh) | 一种xml文档分布式查询方法及*** | |
CN107577752B (zh) | 一种基于关键字的xml检索排序处理***及方法 | |
Chu et al. | Automatic data extraction of websites using data path matching and alignment | |
RU2433467C1 (ru) | Способ формирования структуры агрегированных данных и способ поиска данных посредством структуры агрегированных данных в системе управления базами данных | |
CN107291938A (zh) | 订单查询***及方法 | |
Guo et al. | RED: Redundancy-Driven Data Extraction from Result Pages? |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |