CN113656430B - 一种批量表数据自动扩充的控制方法及装置 - Google Patents

一种批量表数据自动扩充的控制方法及装置 Download PDF

Info

Publication number
CN113656430B
CN113656430B CN202110922404.6A CN202110922404A CN113656430B CN 113656430 B CN113656430 B CN 113656430B CN 202110922404 A CN202110922404 A CN 202110922404A CN 113656430 B CN113656430 B CN 113656430B
Authority
CN
China
Prior art keywords
expanded
data
field
fields
common
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
CN202110922404.6A
Other languages
English (en)
Other versions
CN113656430A (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.)
Shanghai 2345 Network Technology Co ltd
Original Assignee
Shanghai 2345 Network 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 Shanghai 2345 Network Technology Co ltd filed Critical Shanghai 2345 Network Technology Co ltd
Priority to CN202110922404.6A priority Critical patent/CN113656430B/zh
Publication of CN113656430A publication Critical patent/CN113656430A/zh
Application granted granted Critical
Publication of CN113656430B publication Critical patent/CN113656430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种批量表数据自动扩充的控制方法,包括:a.基于待扩充表的表结构确定两张待扩充表的全部表字段、公共字段以及全部字段;b.针对待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤,将与特征表字段数据存在对应关系且除特征公共字段外的全部字段数据作为第一查询结果;c.以特征扩充策略为基本单位拼接公共字段的增量值获得扩充N倍的辅助表数据,以待扩充表的公共字段为分组确定公共字段枚举值,在辅助表数据中过滤公共字段枚举值后确定第二查询结果;d.将第一查询结果与第二查询结果做笛卡尔积确定待插入虚拟表,将待插入虚拟表插入待扩充表形成最终扩充表数据。本发明操作简单,功能强大,具有商业价值。

Description

一种批量表数据自动扩充的控制方法及装置
技术领域
本发明属于程序开发技术领域,具体地,涉及一种批量表数据自动扩充的控制方法及装置。
背景技术
在ACCESS中,表(TABLE)是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库系统的基础。SQL数据库中用于存储数据的工具。表是包含数据库中所有数据的数据库对象。表定义为列的集合。与电子表格相似,数据在表中式按行和列的格式组织排列的。表中的每一列都设计为存储某种类型的信息(例如日期、名称、美元金额或数字)。表上有几种控制(约束、规则、默认值和自定义用户数据类型)用于确保数据的有效性。
在应用系统测试过程中,往往需要使用大量的表数据作为支撑,而在实际操作过程中可供使用的表数据很少,甚至无法满足跨天、跨周、跨月、跨年等场景的测试需求。此时,则需要技术人员编写数据扩充SQL,然而这样的重复性劳动需要花费大量的人力以及时间,具体地,需要人工手动一张张的进行扩充,非常影响工作效率。
如何实现对自动拼接数据扩充SQL,无需手动编写SQL;如何自动执行扩充SQL,无需人工执行;如何实现表批量扩充,无需一张张扩充;如何只需要提供表名就可以实现数据的自动扩充,提升测试效率,避免重复性工作成为了目前亟待解决的技术问题,而目前,市场上并没有一种能够有效解决上述问题的具体办法,尤其涉及一种批量表数据自动扩充的控制方法及装置。
发明内容
针对现有技术存在的技术缺陷,本发明的目的是提供一种批量表数据自动扩充的控制方法及装置,根据本发明的一个方面,提供了一种批量表数据自动扩充的控制方法,包括如下步骤:
a.基于待扩充表的表结构确定至少两张待扩充表的全部表字段、两张待扩充表所共有的一个或多个公共字段以及除一个或多个公共字段外两张待扩充表的一个或多个全部字段,所述待扩充表的表结构以列为单位分为多个表字段,以行为单位设置有属于同一对应关系的表字段数据;
b.针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤,将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果;
c.以特征扩充策略为基本单位拼接公共字段的增量值获得扩充N倍的辅助表数据,以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果,其中,所述特征扩充策略至少包括离散变量数据;
d.将所述第一查询结果与所述第二查询结果做笛卡尔积确定待插入虚拟表,并将所述待插入虚拟表插入待扩充表以形成最终扩充表数据;
其中,所述步骤c还包括如下步骤:
c1:从初始值开始扩充至第N个离散变量数据,将每个离散变量数据以SQL字符串的形式保存到数组中;
c2:使用指定连接符unionall拼接所述数组并得到扩充N倍的辅助表数据;
c3:以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值;
c4:在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果。
进一步地,在所述步骤a中,基于DESC查询待扩充表的表结构。
进一步地,当仅存在一张待扩充表时,所述步骤a还包括:
基于待扩充表的表结构确定所述待扩充表的全部表字段,指定所述待扩充表中任意表字段中的一个或多个作为公共字段并确定除一个或多个公共字段外所述待扩充表的一个或多个全部字段。
进一步地,在所述步骤b中,包括如下步骤:
b1:针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤;
b2:将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果。
优选地,在所述步骤b1中,所述特征公共字段通过如下方式确定:
任意选取;
指定选取;或者
按照前后顺序选取。
优选地,在所述步骤b1中,所述特征表字段数据通过如下方式确定:
-任意选取;
-指定选取;或者
-按照前后顺序选取。
进一步地,在所述步骤d中,将第二查询结果与第一查询结果中每一行模板数据连接,构成包含N倍模板数据且字段名与字段顺序与所述待扩充表一致的待插入虚拟表。
进一步地,在所述步骤d之后,还包括:遍历所有待扩充表,重复执行步骤a至步骤d,直至确定所有待扩充表。
根据本发明的另一个方面,提供了一种批量表数据自动扩充的控制装置,其采用所述的控制方法,包括:
第一确定装置:基于待扩充表的表结构确定至少两张待扩充表的全部表字段、两张待扩充表所共有的一个或多个公共字段以及除一个或多个公共字段外两张待扩充表的一个或多个全部字段,所述待扩充表的表结构以列为单位分为多个表字段,以行为单位设置有属于同一对应关系的表字段数据;
第一处理装置:针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤,将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果;
第二处理装置:以特征扩充策略为基本单位拼接公共字段的增量值获得扩充N倍的辅助表数据,以所述待扩充表的公共字段中的每个公共字段为分组确定G个分组的公共字段枚举值,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果,其中,所述特征扩充策略至少包括离散变量数据;
第二确定装置:将所述第一查询结果与所述第二查询结果做笛卡尔积确定待插入虚拟表,并将所述待插入虚拟表插入待扩充表以形成最终扩充表数据;
其中,所述第二处理装置还包括:
第三处理装置:从初始值开始扩充至第N个离散变量数据,将每个离散变量数据以SQL字符串的形式保存到数组中;
第四处理装置:使用指定连接符unionall拼接所述数组并得到扩充N倍的辅助表数据;
第四确定装置:以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值;
第五确定装置:在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果。
进一步地,所述第一处理装置包括:
第一获取装置:针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤;
第三确定装置:将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果。
本发明提供了一种批量表数据自动扩充的控制方法,包括如下步骤:基于待扩充表的表结构确定至少两张待扩充表的全部表字段、两张待扩充表所共有的一个或多个公共字段以及除一个或多个公共字段外两张待扩充表的一个或多个全部字段,所述待扩充表的表结构以列为单位分为多个表字段,以行为单位设置有属于同一对应关系的表字段数据;针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤,将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果;以特征扩充策略为基本单位拼接公共字段的增量值获得扩充N倍的辅助表数据,以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果,其中,所述特征扩充策略至少包括离散变量数据;将所述第一查询结果与所述第二查询结果做笛卡尔积确定待插入虚拟表,并将所述待插入虚拟表插入待扩充表以形成最终扩充表数据。本发明能够自动拼接数据扩充SQL,无需手动编写SQL;自动执行扩充SQL,无需人工执行;实现表批量扩充,无需一张张扩充;只需要提供表名就可以实现数据的自动扩充,提升测试效率,避免重复性工作。本发明操作简单,使用方便,功能强大,具有极高的商业价值。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出了本发明的具体实施方式的,一种批量表数据自动扩充的控制方法的具体流程示意图;
图2示出了本发明的第一实施例的,针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤,将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果的具体流程示意图;
图3示出了本发明的另一具体实施方式的,以特征扩充策略为基本单位拼接公共字段的增量值获得扩充N倍的辅助表数据,以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果的具体流程示意图;以及
图4示出了本发明的另一具体实施方式的,一种批量表数据自动扩充的控制装置的模块连接示意图。
具体实施方式
为了更好的使本发明的技术方案清晰的表示出来,下面结合附图对本发明作进一步说明。
图1示出了本发明的具体实施方式的,一种批量表数据自动扩充的控制方法的具体流程示意图,本申请公开了一种批量表数据自动扩充的控制方法,包括如下步骤:
首先,进入步骤S101,基于待扩充表的表结构确定至少两张待扩充表的全部表字段、两张待扩充表所共有的一个或多个公共字段以及除一个或多个公共字段外两张待扩充表的一个或多个全部字段,所述待扩充表的表结构以列为单位分为多个表字段,以行为单位设置有属于同一对应关系的表字段数据,在这样的实施例中,基于DESC查询待扩充表的表结构,describe是查看表结构的,而desc是describe的简写,例如desctablename,所述待扩充表的全部表字段、所述待扩充表的公共字段以及所述除公共字段外的全部字段属于并列关系:通过SQL(desc表名)获取到表的字段信息,假设有col1,col2,col3,p_dt这4个字段,将表的字段规整类为3块:(1)存储全部字段的列表list(col1,col2,col3,p_dt);(2)公共字段p_dt,其中,选取批量待扩充表中任意一个相同字段即可,一般选取可以标识一批数据的字段。因数仓中90%的表都包含有日期字段p_dt,在本申请中优选地默认选择日期字段作为公共字段去筛选模板数据;(3)存储除公共字段外的全部字段的列表list(col1,col2,col3)。最后,在python中将这3块以一个元组的形式作为“获取表结构函数”的返回值,其可以理解为将这3块并列后作为一个整体返回。本步骤中的待扩充表的全部表字段、待扩充表的公共字段以及除公共字段外的全部字段将在后续步骤中用以辅助计算处理,在此不予赘述。
进一步地,基于待扩充表的表结构确定至少两张待扩充表的全部表字段,本申请是基于至少两张待扩充表的表结构来确定需要扩充的内容,其原因在于,两张不同的待扩充表中存在有两套全部表字段,而两套全部表字段中所共有的字段即为公共字段,在这样的实施例中,所述公共字段可以为1个,也可以为多个,基于上述公共字段,在两张待扩充表中除一个或多个公共字段外的全部表字段的其他字段即为一个或多个全部字段,进一步地,所述待扩充表的表结构以列为单位分为多个表字段,所述表字段可以为姓名、性别、出生日期、民族、籍贯等等,而以行为单位设置有属于同一对应关系的表字段数据,例如,在一行中,姓名为A1、性别女、出生日期1988-05-12、民族X1、籍贯Y1Y1。
本领域技术人员理解,所述步骤S101详细描述了当存在两个或两个以上待扩充表的情况,然而在本申请的一个特殊变化例中,当仅存在一张待扩充表时,基于待扩充表的表结构确定所述待扩充表的全部表字段,指定所述待扩充表中任意表字段中的一个或多个作为公共字段并确定除一个或多个公共字段外所述待扩充表的一个或多个全部字段。例如,当所述待扩充表的全部表字段为M、N、X、Y、Z、P、J时,则可以指定所述公共字段为X、Y、J,此时,所述全部字段即为M、N、Z、P,而当指定所述公共字段为P时,此时,所述全部字段即为M、N、X、Y、Z、J,再例如,当所述待扩充表的全部表字段为M、N时,则可以指定所述公共字段为M或N,此时,所述全部字段即为N或M。
然后,进入步骤S102,针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤,将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果,本领域技术人员理解,本发明从待扩充表中获取所述待扩充表的任意一个公共字段的任意一个值,在一个优选地实施例中,假设公共字段有x、y、z,但只需选取任意一个,假设选取的任意值为z,则全部表字段为a,b,c,d,e,x、y、z,除公共字段外的全部字段为a,b,c,d,e,x、y(包含x和y),取公共字段z的任意一个值,假设取公共字段z=’2021-05-19’,使用z=’2021-05-19’条件过滤表数据,只取a,b,c,d,e,x、y字段(即除公共字段外的全部字段)的数据,本申请将在后述的具体实施例中作进一步的描述。
紧接着,进入步骤S103,以特征扩充策略为基本单位拼接公共字段的增量值获得扩充N倍的辅助表数据,以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果,其中,所述特征扩充策略至少包括离散变量数据。
在本申请中,所述特征扩充策略优选地采用日期,而在其他的实施例中,还可以是机器号码、员工数量、部门编号等等,结合步骤S102中实施例,假设需要扩充后的数据为z=2021-01-01,z=2021-01-02,z=2021-01-03,那扩充策略可以是从初始值2021-01-01开始,每次加1,循环3次,得到辅助数据2021-01-01,2021-01-02,2021-01-03,G个分组代表了分组的数量,循环次数代表了扩充倍数,这些可以人为设定。
进一步地,所述离散变量数据不一定要包括日期,可以选择一个公共字段,但是最好是标识一批数据的字段,例如待扩充表数据为:姓名字段a,公共字段z(表示部门编号)
而在其他的实施例中,所述离散变量数据还可以以部门编号为特征,扩充得到03、04、05部门的数据,假设公共字段值取z=01,则扩充后的表数据为:
进一步地,以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,假设表数据为:
以待扩充表的公共字段z分组,获取到的公共字段z的全部枚举值就是2021-01-09,2021-01-10。
进一步地,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果,以公共字段枚举值为条件,过滤辅助表,保留非公共字段枚举值的数据。假设辅助表数据:
公共字段枚举值为2021-01-09,2021-01-10,过滤掉2021-01-09数据,过滤后的辅助表数据(即第二查询结果):
公共字段z
2021-01-01
2021-01-02
2021-01-03
2021-01-04
2021-01-05
2021-01-06
2021-01-07
2021-01-08
而如何以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果将在后述的具体实施方式中做进一步描述。
最后,进入步骤S104,将所述第一查询结果与所述第二查询结果做笛卡尔积确定待插入虚拟表,并将所述待插入虚拟表插入待扩充表以形成最终扩充表数据,笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员,笛卡尔积在SQL中的实现方式既是交叉连接(Cross Join)。所有连接方式都会先生成临时笛卡尔积表,笛卡尔积是关系代数里的一个概念,表示两个表中的每一行数据任意组合,上图中两个表连接即为笛卡尔积(交叉连接),在实际应用中,笛卡尔积本身大多没有什么实际用处,只有在两个表连接时加上限制条件,才会有实际意义。而在本申请中,将第二查询结果与第一查询结果中每一行模板数据连接,构成包含N倍模板数据且字段名与字段顺序与所述待扩充表一致的待插入虚拟表。
进一步地,实现过程举例如下:假设所述公共字段Z表示部门编号,假设待扩充表数据为:
,根据公共字段z=01过滤得到第一查询结果集(除公共字段外的全部字段):
,假设第二查询结果集为:
,将第一查询结果和第二查询结果做连接查询,形成的中间表数据是两个查询结果的笛卡尔积,所述连接查询为from第一查询结果,第二查询结果;所述笛卡尔积为第一查询结果的每一行与第二查询结果的全部行进行连接,则中间表的数据为:
,然后按步骤S101中所获取的待扩充表的全部表字段顺序返回虚拟表数据,将虚拟表数据插入待扩充表,表数据:
进一步地,为了批量完成表数据的自动扩充,本申请需要在完成步骤S101至步骤S104后,遍历所有待扩充表,重复执行步骤S101至步骤S104,直至确定所有待扩充表。本领域技术人员理解,扩充其他表数据的技术方案与前述表的扩充的规律是相同的,因为使用的是相同的扩充策略。即结合前述实施例,第一张表扩充03、04、05部门的数据,第二张表扩充的也是03、04、05部门的数据。
图2示出了本发明的第一实施例的,基于待扩充表的公共字段的任意值对待扩充表的全部表字段进行过滤确定过滤表数据,基于所述除公共字段外的全部字段查询所述过滤表数据确定第一查询结果的具体流程示意图,在所述步骤S102中,包括如下步骤:
首先,进入步骤S1021,针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤,本领域技术人员理解,本申请首先通过desc查询待扩充表的表结构,获取待扩充表的全部表字段、多张待扩充表的公共字段、除公共字段外的全部字段,然后获取待扩充表公共字段的任意一个值,将其作为扩充模板,库名以及表名确定一张表,不同类型的数据源的查询SQL可能有差异,Hive和ClickHouse数据源的SQL示例如下:select公共字段from库名.表名limit1。
进一步地,所述特征公共字段通过任意选取的方式确定,即随机选取,而在其他的实施例中,还可以指定选取或者按照前后顺序选取,这都不影响本发明的具体实施,在此不予赘述。
进一步地,所述特征表字段数据通过任意选取的方式确定,即随机选取,而在其他的实施例中,还可以指定选取或者按照前后顺序选取,这都不影响本发明的具体实施,在此不予赘述。
然后,进入步骤S1022,将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果。
在一个优选地实施例中,假设有2张待扩充表,第一张表数据为(其中,字段为a,b,c,d,e,x,y,z):
姓名a 性别b 出生日期c 职位d 学历e 民族x 籍贯y 入职日期z
A1 1988-05-12 测试 本科 X1 Y1 2021-05-19
A2 1988-06-13 测试 本科 X1 Y2 2021-05-19
A4 1989-07-12 测试 硕士 X1 Y3 2021-05-19
A5 1991-06-16 测试 本科 X1 Y1 2021-05-20
A6 1995-08-08 测试 本科 X1 Y1 2021-05-20
第二张表数据为(其中,字段为a,f,x,y,z):
姓名a 职务f 民族x 籍贯y 入职日期z
A1 经理 X1 Y1 2021-05-19
A2 组长 X1 Y2 2021-05-19
A4 组员 X1 Y3 2021-05-19
A5 组长 X1 Y1 2021-05-20
A6 组员 X1 Y1 2021-05-20
此时,2张待扩充表的公共字段有民族x、籍贯y、入职日期z,但只需选取任意一个,假设选取的入职日期z。
对于第一张待扩充表来说,全部表字段为a,b,c,d,e,x、y、z,除公共字段外的全部字段为a,b,c,d,e,x、y(包含x和y),取公共字段z的任意一个值,假设取公共字段z=’2021-05-19’,使用z=’2021-05-19’条件过滤表数据,只取a,b,c,d,e,x、y字段(即除公共字段外的全部字段)的数据,即:
姓名a 性别b 出生日期c 职位d 学历e 民族x 籍贯y
A1 1988-05-12 测试 本科 X1 Y1
A2 1988-06-13 测试 本科 X1 Y2
A4 1989-07-12 测试 硕士 X1 Y3
将该数据作为第一查询结果,即扩充的模板数据。
假设第二查询结果集为:
入职日期z
2021-01-01
2021-01-02
,将第一查询结果和第二查询结果做连接查询,形成的中间表数据是两个查询结果的笛卡尔积,所述连接查询为from第一查询结果,第二查询结果;所述笛卡尔积为第一查询结果的每一行与第二查询结果的全部行进行连接,则中间表的数据为:
姓名a 性别b 出生日期c 职位d 学历e 民族x 籍贯y 入职日期z
A1 1988-05-12 测试 本科 X1 Y1 2021-01-01
A1 1988-05-12 测试 本科 X1 Y1 2021-01-02
A2 1988-06-13 测试 本科 X1 Y2 2021-01-01
A2 1988-06-13 测试 本科 X1 Y2 2021-01-02
A4 1989-07-12 测试 硕士 X1 Y3 2021-01-01
A4 1989-07-12 测试 硕士 X1 Y3 2021-01-02
,然后按步骤S101中所获取的待扩充表的全部表字段顺序返回虚拟表数据,将虚拟表数据插入待扩充表,表数据:
图3示出了本发明的另一具体实施方式的,以特征扩充策略为基本单位拼接公共字段的增量值获得扩充N倍的辅助表数据,以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果的具体流程示意图,进一步地,在所述步骤S103中,还包括步骤:
首先,进入步骤S1031,从初始值开始扩充至第N个离散变量数据,将每个离散变量数据以SQL字符串的形式保存到数组中,假设公共字段为日期,利用循环获取从初始日期开始的N个日期,然后将每个日期值以SQL字符串的形式保存到数组中。
然后,进入步骤S1032,使用指定连接符unionall拼接所述数组并得到扩充N倍的辅助表数据,使用指定连接符unionall拼接数组元素,最后得到扩充N倍的辅助SQL,SQL示例如下:
select'2021-01-01'as公共字段
unionall
select'2021-01-02'as公共字段
unionall
...
unionall
select'2021-01-0N'as公共字段。
紧接着,进入步骤S1033,以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,利用公共字段对待扩充表数据进行分组,获取公共字段的全部枚举值,SQL示例如下:
select公共字段from库名.表名groupby公共字段。
最后,进入步骤S1034,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果,以步骤S1033获取的待扩充表公共字段已有枚举值作为条件,过滤步骤S1032构造的扩充辅助数据,以避免扩充重复数据,SQL示例如下:select*from({步骤S1032的SQL})awhere公共字段notin({步骤S1033的SQL})。
进一步地,结合图2以及图3所示出的实施例,对图2中的第一查询结果和图3中的第二查询结果做笛卡尔积,即将步骤S1034的查询结果与步骤S1023的每一行模板数据连接,构成包含N倍模板数据且字段名与字段顺序与待扩充表一致的虚拟表。然后将虚拟表数据插入待扩充表,SQL示例如下:
进一步地,对下一张待扩充表执行图2至图3中的步骤,进而实现批量表数据自动扩充。
结合图2中所示出的优选地实施例,遍历所有待扩充表,重复执行步骤S101至步骤S104,直至确定所有待扩充表,则在另一个扩展实施例中,对于第二张待扩充表来说,全部表字段为a,f,x、y、z,除公共字段外的全部字段为a,f,x、y(包含x和y),取公共字段z的任意一个值,假设取公共字段z=’2021-05-20’,使用z=’2021-05-20’条件过滤表数据,只取a,f,x、y字段(即除公共字段外的全部字段)的数据,即:
姓名a 职务f 民族x 籍贯y
A5 组长 X1 Y1
A6 组员 X1 Y1
将该数据作为第一查询结果,即扩充的模板数据。
假设第二查询结果集为:
入职日期z
2021-01-01
2021-01-02
,将第一查询结果和第二查询结果做连接查询,形成的中间表数据是两个查询结果的笛卡尔积,所述连接查询为from第一查询结果,第二查询结果;所述笛卡尔积为第一查询结果的每一行与第二查询结果的全部行进行连接,则中间表的数据为:
姓名a 职务f 民族x 籍贯y 入职日期z
A5 组长 X1 Y1 2021-01-01
A5 组长 X1 Y1 2021-01-02
A6 组员 X1 Y1 2021-01-01
A6 组员 X1 Y1 2021-01-02
,然后按步骤S101中所获取的待扩充表的全部表字段顺序返回虚拟表数据,将虚拟表数据插入待扩充表,表数据:
姓名a 职务f 民族x 籍贯y 入职日期z
A1 经理 X1 Y1 2021-05-19
A2 组长 X1 Y2 2021-05-19
A4 组员 X1 Y3 2021-05-19
A5 组长 X1 Y1 2021-05-20
A6 组员 X1 Y1 2021-05-20
A5 组长 X1 Y1 2021-01-01
A5 组长 X1 Y1 2021-01-02
A6 组员 X1 Y1 2021-01-01
A6 组员 X1 Y1 2021-01-02
图4示出了本发明的另一具体实施方式的,一种批量表数据自动扩充的控制装置的模块连接示意图,根据本发明的另一个方面,提供了一种批量表数据自动扩充的控制装置,其采用图1至图3中所述的控制方法,包括第一确定装置1:基于待扩充表的表结构确定待扩充表的全部表字段、待扩充表的公共字段以及除公共字段外的全部字段,所述第一确定装置1的工作原理可以参考前述步骤S101,在此不予赘述。
进一步地,所述控制装置还包括第一处理装置2:基于待扩充表的公共字段的任意值对待扩充表的全部表字段进行过滤确定过滤表数据,基于所述除公共字段外的全部字段查询所述过滤表数据确定第一查询结果,所述第一处理装置2的工作原理可以参考前述步骤S102,在此不予赘述。
进一步地,所述控制装置还包括第二处理装置3:以特征扩充策略为基本单位拼接公共字段的增量值获得扩充N倍的辅助表数据,以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果,其中,所述特征扩充策略至少包括离散变量数据,所述第二处理装置3的工作原理可以参考前述步骤S103,在此不予赘述。
进一步地,所述控制装置还包括第二确定装置4:将所述第一查询结果与所述第二查询结果做笛卡尔积确定待插入虚拟表,并将所述待插入虚拟表插入待扩充表以形成最终扩充表数据,所述第二确定装置4的工作原理可以参考前述步骤S104,在此不予赘述。
进一步地,所述第一处理装置2包括第一获取装置21:针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤,所述第一获取装置21的工作原理可以参考前述步骤S1021,在此不予赘述。
进一步地,所述第一处理装置2还包括第三确定装置22:将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果,所述第三确定装置22的工作原理可以参考前述步骤S1022,在此不予赘述。
进一步地,所述第二处理装置3还包括第三处理装置31:从初始值开始扩充至第N个离散变量数据,将每个离散变量数据以SQL字符串的形式保存到数组中,所述第三处理装置31的工作原理可以参考前述步骤S1031,在此不予赘述。
进一步地,所述第二处理装置3还包括第四处理装置32:使用指定连接符unionall拼接所述数组并得到扩充N倍的辅助表数据,所述第四处理装置32的工作原理可以参考前述步骤S1032,在此不予赘述。
进一步地,所述第二处理装置3还包括第四确定装置33:以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,所述第五确定装置33的工作原理可以参考前述步骤S1033,在此不予赘述。
进一步地,所述第二处理装置3还包括第五确定装置34:在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果,所述第六确定装置34的工作原理可以参考前述步骤S1034,在此不予赘述。
作为本申请的另一种实施方式,首先我们需确定获取表字段的方法(表名,公共字段名,数据库连接信息):#括号内为入参
#处理过程:
通过desc获取到表的结构信息,将字段分为3类:存储全部字段的列表list,公共字段,存储除公共字段外的全部字段的列表list;
#返回值是元组:python中()表示元组,3类字段作为一个元组的3个元素;
return(存储全部字段的列表list,公共字段,存储除公共字段外的全部字段的列表list)。
然后,确定获取辅助SQL的方法(公共字段,初始值,扩充倍数):
#处理过程:
从初始值开始,通过循环(策略可以是每次加1,也可以是从指定枚举集中获取)获取N个数据,然后将每个数据以SQL字符串的形式保存到数组中。然后使用指定连接符unionall拼接列表,得到辅助SQL字符串;
#返回值
return辅助SQL字符串assist_table_SQL
紧接着,确定数据扩充方法(表名,存储全部字段的列表list,公共字段,存储除公共字段外的全部字段的列表list,辅助SQL字符串,数据库连接信息):
#处理过程
使用指定连接符逗号(,)分别拼接存储全部字段的列表list和存储除公共字段外的全部字段的列表list,得到包含全部字段的字符串(all_columns_str)和包含除公共字段外的全部字段的字符串(no_common_columns_str);
通过insertintoselect方式向待扩充表扩充数据,完整SQL示例如下:
最后,执行上述SQL,完成插入。
结合上述确定方式,将所有待扩充表存储在一个列表list中,然后循环列表中的每一个待扩充表。在循环体中对每个待扩充表执行如下操作:
(1)调用获取表字段的方法,获取(存储全部字段的列表list,公共字段,存储除公共字段外的全部字段的列表list);
(2)给定初始值和扩充倍数后,调用获取辅助SQL的方法,获取辅助SQL字符串;
(3)利用步骤1和步骤2的返回值,调用数据扩充方法,完成数据扩充。
需要说明的是,上述各装置实施例的具体实施方式与前述对应方法实施例的具体实施方式相同,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实施例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
此外,本领域技术人员理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域技术人员理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (10)

1.一种批量表数据自动扩充的控制方法,其特征在于,包括如下步骤:
a.基于待扩充表的表结构确定至少两张待扩充表的全部表字段、两张待扩充表所共有的一个或多个公共字段以及除一个或多个公共字段外两张待扩充表的一个或多个全部字段,所述待扩充表的表结构以列为单位分为多个表字段,以行为单位设置有属于同一对应关系的表字段数据;
b.针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤,将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果;
c.以特征扩充策略为基本单位拼接公共字段的增量值获得扩充N倍的辅助表数据,以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果,其中,所述特征扩充策略至少包括离散变量数据;
d.将所述第一查询结果与所述第二查询结果做笛卡尔积确定待插入虚拟表,并将所述待插入虚拟表插入待扩充表以形成最终扩充表数据;
其中,所述步骤c包括如下步骤:
c1:从初始值开始扩充至第N个离散变量数据,将每个离散变量数据以SQL字符串的形式保存到数组中;
c2:使用指定连接符union all拼接所述数组并得到扩充N倍的辅助表数据;
c3:以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值;
c4:在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果。
2.根据权利要求1所述的控制方法,其特征在于,在所述步骤a中,基于DESC查询待扩充表的表结构。
3.根据权利要求1所述的控制方法,其特征在于,当仅存在一张待扩充表时,所述步骤a还包括:
基于待扩充表的表结构确定所述待扩充表的全部表字段,指定所述待扩充表中任意表字段中的一个或多个作为公共字段并确定除一个或多个公共字段外所述待扩充表的一个或多个全部字段。
4.根据权利要求1所述的控制方法,其特征在于,在所述步骤b中,包括如下步骤:
b1:针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤;
b2:将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果。
5.根据权利要求4所述的控制方法,其特征在于,在所述步骤b1中,所述特征公共字段通过如下方式确定:
任意选取;
指定选取;或者
按照前后顺序选取。
6.根据权利要求4所述的控制方法,其特征在于,在所述步骤b1中,所述特征表字段数据通过如下方式确定:
任意选取;
指定选取;或者
按照前后顺序选取。
7.根据权利要求1所述的控制方法,其特征在于,在所述步骤d中,将第二查询结果与第一查询结果中每一行模板数据连接,构成包含N倍模板数据且字段名与字段顺序与所述待扩充表一致的待插入虚拟表。
8.根据权利要求1所述的控制方法,其特征在于,在所述步骤d之后,还包括:遍历所有待扩充表,重复执行步骤a至步骤d,直至确定所有待扩充表。
9.一种批量表数据自动扩充的控制装置,其采用权利要求1-8中任一项所述的控制方法,其特征在于,包括:
第一确定装置(1):基于待扩充表的表结构确定至少两张待扩充表的全部表字段、两张待扩充表所共有的一个或多个公共字段以及除一个或多个公共字段外两张待扩充表的一个或多个全部字段,所述待扩充表的表结构以列为单位分为多个表字段,以行为单位设置有属于同一对应关系的表字段数据;
第一处理装置(2):针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤,将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果;
第二处理装置(3):以特征扩充策略为基本单位拼接公共字段的增量值获得扩充N倍的辅助表数据,以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值,在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果,其中,所述特征扩充策略至少包括离散变量数据;
第二确定装置(4):将所述第一查询结果与所述第二查询结果做笛卡尔积确定待插入虚拟表,并将所述待插入虚拟表插入待扩充表以形成最终扩充表数据;
其中,所述第二处理装置(3)还包括:
第三处理装置(31):从初始值开始扩充至第N个离散变量数据,将每个离散变量数据以SQL字符串的形式保存到数组中;
第四处理装置(32):使用指定连接符union all拼接所述数组并得到扩充N倍的辅助表数据;
第四确定装置(33):以所述待扩充表的公共字段为分组确定G个分组的公共字段枚举值;
第五确定装置(34):在所述辅助表数据中过滤所述公共字段枚举值后确定第二查询结果。
10.根据权利要求9所述的控制装置,其特征在于,所述第一处理装置(2)包括:
第一获取装置(21):针对其中一张待扩充表的特征公共字段中的特征表字段数据对待扩充表的全部表字段进行过滤;
第三确定装置(22):将与所述特征表字段数据存在对应关系且除所述特征公共字段外的全部字段数据作为第一查询结果。
CN202110922404.6A 2021-08-12 2021-08-12 一种批量表数据自动扩充的控制方法及装置 Active CN113656430B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110922404.6A CN113656430B (zh) 2021-08-12 2021-08-12 一种批量表数据自动扩充的控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110922404.6A CN113656430B (zh) 2021-08-12 2021-08-12 一种批量表数据自动扩充的控制方法及装置

Publications (2)

Publication Number Publication Date
CN113656430A CN113656430A (zh) 2021-11-16
CN113656430B true CN113656430B (zh) 2024-02-27

Family

ID=78480202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110922404.6A Active CN113656430B (zh) 2021-08-12 2021-08-12 一种批量表数据自动扩充的控制方法及装置

Country Status (1)

Country Link
CN (1) CN113656430B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479200A (zh) * 2010-11-26 2012-05-30 金蝶软件(中国)有限公司 一种多维度动态数据表生成方法、装置及终端
AU2013200067A1 (en) * 2003-09-15 2013-01-24 Ab Initio Technology Llc. Data profiling
CN102982065A (zh) * 2003-09-15 2013-03-20 起元科技有限公司 数据处理方法、数据处理装置及计算机可读存储介质
CN107729500A (zh) * 2017-10-20 2018-02-23 锐捷网络股份有限公司 一种联机分析处理的数据处理方法、装置及后台设备
CN108319661A (zh) * 2018-01-10 2018-07-24 链家网(北京)科技有限公司 一种备件信息的结构化存储方法及装置
CN108717429A (zh) * 2018-05-11 2018-10-30 平安科技(深圳)有限公司 财务数据制证方法、装置、计算机设备及存储介质
CN109063178A (zh) * 2018-08-22 2018-12-21 四川新网银行股份有限公司 一种自动扩展的自助分析报表的方法及装置
CN110765133A (zh) * 2019-10-24 2020-02-07 上海二三四五网络科技有限公司 一种基于数据取余分配数据表的控制方法及装置
CN111459982A (zh) * 2020-03-27 2020-07-28 中国平安人寿保险股份有限公司 一种数据查询方法、装置、终端设备及存储介质
CN112270599A (zh) * 2020-12-25 2021-01-26 北京泛钛客科技有限公司 一种用于金融场景中存贷用户特征数据的计算方法及装置
CN112364024A (zh) * 2020-11-30 2021-02-12 上海二三四五网络科技有限公司 一种表数据批量自动比对的控制方法及装置
CN112699403A (zh) * 2020-12-28 2021-04-23 深圳前海微众银行股份有限公司 数据处理方法、装置、介质、设备及程序产品

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076482B2 (en) * 2001-10-25 2006-07-11 Bea Systems, Inc. Multi-part looked-up table fields and its use in data processing operations involving multiple tables of a relational database
JP6357161B2 (ja) * 2012-10-22 2018-07-11 アビニシオ テクノロジー エルエルシー データストレージシステムにおけるデータソースを特徴付けるための方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2013200067A1 (en) * 2003-09-15 2013-01-24 Ab Initio Technology Llc. Data profiling
CN102982065A (zh) * 2003-09-15 2013-03-20 起元科技有限公司 数据处理方法、数据处理装置及计算机可读存储介质
CN102479200A (zh) * 2010-11-26 2012-05-30 金蝶软件(中国)有限公司 一种多维度动态数据表生成方法、装置及终端
CN107729500A (zh) * 2017-10-20 2018-02-23 锐捷网络股份有限公司 一种联机分析处理的数据处理方法、装置及后台设备
CN108319661A (zh) * 2018-01-10 2018-07-24 链家网(北京)科技有限公司 一种备件信息的结构化存储方法及装置
CN108717429A (zh) * 2018-05-11 2018-10-30 平安科技(深圳)有限公司 财务数据制证方法、装置、计算机设备及存储介质
CN109063178A (zh) * 2018-08-22 2018-12-21 四川新网银行股份有限公司 一种自动扩展的自助分析报表的方法及装置
CN110765133A (zh) * 2019-10-24 2020-02-07 上海二三四五网络科技有限公司 一种基于数据取余分配数据表的控制方法及装置
CN111459982A (zh) * 2020-03-27 2020-07-28 中国平安人寿保险股份有限公司 一种数据查询方法、装置、终端设备及存储介质
CN112364024A (zh) * 2020-11-30 2021-02-12 上海二三四五网络科技有限公司 一种表数据批量自动比对的控制方法及装置
CN112270599A (zh) * 2020-12-25 2021-01-26 北京泛钛客科技有限公司 一种用于金融场景中存贷用户特征数据的计算方法及装置
CN112699403A (zh) * 2020-12-28 2021-04-23 深圳前海微众银行股份有限公司 数据处理方法、装置、介质、设备及程序产品

Also Published As

Publication number Publication date
CN113656430A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
JP5328099B2 (ja) データプロファイリング
US8626745B2 (en) Multi-query optimization
EP3764242A1 (en) Profiling data with location information
US20100306212A1 (en) Fetching Optimization in Multi-way Pipelined Database Joins
CN109791543B (zh) 执行多表连接操作的控制方法及对应装置
US20090063458A1 (en) method and system for minimizing sorting
CN104778236A (zh) 一种基于元数据的etl实现方法及系统
CN105183880A (zh) 一种哈希连接的方法及装置
JP6418431B2 (ja) 効率的な1対1結合のための方法
CN112364024A (zh) 一种表数据批量自动比对的控制方法及装置
US20070050420A1 (en) Method and apparatus for transferring data between databases
CN113656430B (zh) 一种批量表数据自动扩充的控制方法及装置
US9798755B2 (en) Systems and methods for generating a cross-product matrix in a single pass through data using single pass levelization
US11232158B2 (en) Single view presentation of multiple queries in a data visualization application
CN112204540B (zh) 位图过滤器、其生成方法及用位图过滤器执行连接的方法
US8290930B2 (en) Query result generation based on query category and data source category
CN116628136A (zh) 基于声明式推理的协同查询处理方法、系统、电子设备
US7487165B2 (en) Computer implemented method for retrieving hit count data from a data base system and according computer program product
US11386155B2 (en) Filter evaluation in a database system
CN106649754B (zh) 一种数据仓库性能测试方法及系统
Gentleman et al. Package ‘genefilter’
CN115658771A (zh) 一种数据处理方法、装置、系统和存储介质
EP3079080A1 (en) Method and apparatus for parallel processing a group aggregate function
CN118051779B (zh) 用于大模型训练的参数自动搜索方法、装置及电子设备
CN110825444B (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