CN108460092B - 包含数据库内置函数的sql查询语句自动生成方法及系统 - Google Patents

包含数据库内置函数的sql查询语句自动生成方法及系统 Download PDF

Info

Publication number
CN108460092B
CN108460092B CN201810087128.4A CN201810087128A CN108460092B CN 108460092 B CN108460092 B CN 108460092B CN 201810087128 A CN201810087128 A CN 201810087128A CN 108460092 B CN108460092 B CN 108460092B
Authority
CN
China
Prior art keywords
function
information
sql query
built
text file
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
CN201810087128.4A
Other languages
English (en)
Other versions
CN108460092A (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.)
Fujian Sinoregal Software Co ltd
Original Assignee
Fujian Sinoregal Software 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 Fujian Sinoregal Software Co ltd filed Critical Fujian Sinoregal Software Co ltd
Priority to CN201810087128.4A priority Critical patent/CN108460092B/zh
Publication of CN108460092A publication Critical patent/CN108460092A/zh
Application granted granted Critical
Publication of CN108460092B publication Critical patent/CN108460092B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/2433Query languages
    • 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/21Design, administration or maintenance of databases

Landscapes

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

Abstract

本发明提供一种包含数据库内置函数的sql查询语句自动生成方法,包括从数据库中获取要查询的表的表结构信息,且将获取的表结构信息保存成第一文本文件;从数据库中获取所有支持的内置函数的函数信息,且将获取的函数信息保存成第二文本文件;对第一文本文件中的表结构信息与第二文本文件中的函数信息进行类型比对匹配,且将相同类型的信息封装成sql查询子句;将sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句。本发明还提供一种方法所对应的系统。本发明优点:通过该方法可以实现将内置函数包含到sql查询语句中,且可以通过生成的sql查询语句来测试数据库的内置函数在复杂sql语句中的性能和功能。

Description

包含数据库内置函数的sql查询语句自动生成方法及系统
技术领域
本发明涉及数据库领域,特别涉及一种包含数据库内置函数的sql查询语句自动生成方法及系统。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理已不再仅仅是存储和管理数据,且已转变成用户所需要的各种数据管理的方式。
近几年来,随着大数据的发展,数据库的类型变得越来越多,sql语法和使用方法也不同,对功能和性能的要求也越来越高。sql查询语句自动生成工具是在测试数据库功能和性能时经常需要使用到的一种工具,但是,现有数据库的sql查询语句自动化生成工具都只包含表的列名,因此,只能对表格的列名进行测试,而对数据库内置的函数则无法进行测试,这为实际的测试工作带来了诸多的不便。
发明内容
本发明要解决的技术问题之一,在于提供一种包含数据库内置函数的sql查询语句自动生成方法,通过该方法可以实现将内置函数包含到sql查询语句中,且可以通过生成的sql查询语句来测试数据库的内置函数在复杂sql语句中的性能和功能。
本发明是这样实现技术问题之一的:包含数据库内置函数的sql查询语句自动生成方法,所述方法包括如下步骤:
步骤S1、从数据库中获取要查询的表的表结构信息,且将获取的表结构信息保存成第一文本文件;
步骤S2、从数据库中获取所有支持的内置函数的函数信息,且将获取的函数信息保存成第二文本文件;
步骤S3、对第一文本文件中的表结构信息与第二文本文件中的函数信息进行类型比对匹配,且将相同类型的信息封装成sql查询子句;
步骤S4、将sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句。
进一步地,在所述步骤S1中,所述从数据库中获取要查询的表的表结构信息具体为:从数据库中获取要查询的表的列名以及表中各个列的类型信息。
进一步地,在所述步骤S2中,所述从数据库中获取所有支持的内置函数的函数信息具体为:从数据库中获取所有支持的内置函数的函数名称、函数返回值类型、函数包含的参数个数以及各个参数的类型信息。
进一步地,所述步骤S3具体为:将第一文本文件中各个列的类型信息与第二文本文件中函数返回值类型进行比对匹配,且如果类型匹配,则生成数值比对的第一sql查询子句;如果类型不匹配,则不生成第一sql查询子句;将第一文本文件中各个列的类型信息与第二文本文件中内置函数所包含的各个参数的类型信息进行比对匹配,且如果各个列的类型信息与内置函数所包含的各个参数的类型信息均对应匹配,则将各个列的类型信息填入内置函数对应的参数表中,并生成第二sql查询子句;否则就不将各个列的类型信息填入内置函数对应的参数表中,且不生成第二sql查询子句;
所述步骤S4具体为:将生成的第一sql查询子句和第二sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句。
进一步地,所述所有支持的内置函数包括操作符、聚合函数、OLTP函数或者OLAP函数。
本发明要解决的技术问题之二,在于提供一种包含数据库内置函数的sql查询语句自动生成系统,通过该系统可以实现将内置函数包含到sql查询语句中,且可以通过生成的sql查询语句来测试数据库的内置函数在复杂sql语句中的性能和功能。
本发明是这样实现技术问题之二的:包含数据库内置函数的sql查询语句自动生成系统,所述系统包括表信息获取模块、函数信息获取模块、信息匹配模块以及语句自动生成模块;
所述表信息获取模块,用于从数据库中获取要查询的表的表结构信息,且将获取的表结构信息保存成第一文本文件;
所述函数信息获取模块,用于从数据库中获取所有支持的内置函数的函数信息,且将获取的函数信息保存成第二文本文件;
所述信息匹配模块,用于对第一文本文件中的表结构信息与第二文本文件中的函数信息进行类型比对匹配,且将相同类型的信息封装成sql查询子句;
所述语句自动生成模块,用于将sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句。
进一步地,在所述表信息获取模块中,所述从数据库中获取要查询的表的表结构信息具体为:从数据库中获取要查询的表的列名以及表中各个列的类型信息。
进一步地,在所述函数信息获取模块中,所述从数据库中获取所有支持的内置函数的函数信息具体为:从数据库中获取所有支持的内置函数的函数名称、函数返回值类型、函数包含的参数个数以及各个参数的类型信息。
进一步地,所述信息匹配模块具体为:将第一文本文件中各个列的类型信息与第二文本文件中函数返回值类型进行比对匹配,且如果类型匹配,则生成数值比对的第一sql查询子句;如果类型不匹配,则不生成第一sql查询子句;将第一文本文件中各个列的类型信息与第二文本文件中内置函数所包含的各个参数的类型信息进行比对匹配,且如果各个列的类型信息与内置函数所包含的各个参数的类型信息均对应匹配,则将各个列的类型信息填入内置函数对应的参数表中,并生成第二sql查询子句;否则就不将各个列的类型信息填入内置函数对应的参数表中,且不生成第二sql查询子句;
所述语句自动生成模块具体为:将生成的第一sql查询子句和第二sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句。
进一步地,所述所有支持的内置函数包括操作符、聚合函数、OLTP函数或者OLAP函数。
本发明具有如下优点:1、通过利用表的列类型与数据库内置函数的类型进行比对匹配的方式,使得sql查询语句自动生成工具可以按照一定的逻辑和格式把内置函数包含到sql语句中生成sql查询语句,不仅可以节省人工手动编写sql语句的时间,而且可以提高sql语句的正确性;
2、通过包含数据库内置函数的sql语句,可以实现测试数据库的内置函数在复杂sql语句中的性能和功能,有助于增加sql查询语句自动生成工具的使用深度和广度。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明包含数据库内置函数的sql查询语句自动生成方法的执行流程图。
具体实施方式
请参照图1所示,本发明包含数据库内置函数的sql查询语句自动生成方法的较佳实施例,所述方法包括如下步骤:
步骤S1、从数据库中获取要查询的表的表结构信息,且将获取的表结构信息保存成第一文本文件;
在所述步骤S1中,所述从数据库中获取要查询的表的表结构信息具体为:从数据库中获取要查询的表的列名以及表中各个列的类型信息(如数值、文本、日期、字符等)。
步骤S2、从数据库中获取所有支持的内置函数的函数信息,且将获取的函数信息保存成第二文本文件;
在所述步骤S2中,所述从数据库中获取所有支持的内置函数的函数信息具体为:从数据库中获取所有支持的内置函数的函数名称、函数返回值类型、函数包含的参数个数以及各个参数的类型信息。
所述所有支持的内置函数包括操作符(如加号、减号、等号、逗号等)、聚合函数(如MAX、MIN、SUM、AVG等)、OLTP函数或者OLAP函数。
在具体实施时,还需要修改第一文本文件和第二文本文件的格式,以使第一文本文件和第二文本文件的格式与sql查询语句自动生成工具的输入格式相符合,以方便sql查询语句自动生成工具可以对第一文本文件和第二文本文件进行比对匹配。
步骤S3、对第一文本文件中的表结构信息与第二文本文件中的函数信息进行类型比对匹配,且将相同类型的信息封装成sql查询子句;
步骤S4、将sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句。
其中,所述步骤S3具体为:将第一文本文件中各个列的类型信息与第二文本文件中函数返回值类型进行比对匹配,且如果类型匹配,则生成数值比对(如<,=,>等)的第一sql查询子句;如果类型不匹配,则不生成第一sql查询子句;
将第一文本文件中各个列的类型信息与第二文本文件中内置函数所包含的各个参数的类型信息进行比对匹配,且如果各个列的类型信息与内置函数所包含的各个参数的类型信息均对应匹配,则将各个列的类型信息填入内置函数对应的参数表中,并生成第二sql查询子句;否则就不将各个列的类型信息填入内置函数对应的参数表中,且不生成第二sql查询子句。例如,列包含A、B、C三种类型,而内置函数所包含的参数类型如果也包含A、B、C三种类型,就生成第二sql查询子句;而如果内置函数所包含的参数类型仅有A、B两种类型,则不生成第二sql查询子句。
所述步骤S4具体为:将生成的第一sql查询子句和第二sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句。
在具体实施时,在sql查询语句自动生成工具对第一文本文件中的表结构信息与第二文本文件中的函数信息进行类型比对匹配后,会将类型相匹配的列和内置函数保存起来;接着,sql查询语句自动生成工具会利用随机算法随机获取类型相匹配的列和内置函数,并生成第一sql查询子句和第二sql查询子句,同时,将第一sql查询子句和第二sql查询子句与其它查询语句封装在一起,自动生成sql查询语句。
本发明包含数据库内置函数的sql查询语句自动生成系统的较佳实施例,所述系统包括表信息获取模块、函数信息获取模块、信息匹配模块以及语句自动生成模块;
所述表信息获取模块,用于从数据库中获取要查询的表的表结构信息,且将获取的表结构信息保存成第一文本文件;
在所述表信息获取模块中,所述从数据库中获取要查询的表的表结构信息具体为:从数据库中获取要查询的表的列名以及表中各个列的类型信息(如数值、文本、日期、字符等)。
所述函数信息获取模块,用于从数据库中获取所有支持的内置函数的函数信息,且将获取的函数信息保存成第二文本文件;
在所述函数信息获取模块中,所述从数据库中获取所有支持的内置函数的函数信息具体为:从数据库中获取所有支持的内置函数的函数名称、函数返回值类型、函数包含的参数个数以及各个参数的类型信息。
所述所有支持的内置函数包括操作符(如加号、减号、等号、逗号等)、聚合函数(如MAX、MIN、SUM、AVG等)、OLTP函数或者OLAP函数。
在具体实施时,还需要修改第一文本文件和第二文本文件的格式,以使第一文本文件和第二文本文件的格式与sql查询语句自动生成工具的输入格式相符合,以方便sql查询语句自动生成工具可以对第一文本文件和第二文本文件进行比对匹配。
所述信息匹配模块,用于对第一文本文件中的表结构信息与第二文本文件中的函数信息进行类型比对匹配,且将相同类型的信息封装成sql查询子句;
所述语句自动生成模块,用于将sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句。
其中,所述信息匹配模块具体为:将第一文本文件中各个列的类型信息与第二文本文件中函数返回值类型进行比对匹配,且如果类型匹配,则生成数值比对(如<,=,>等)的第一sql查询子句;如果类型不匹配,则不生成第一sql查询子句;
将第一文本文件中各个列的类型信息与第二文本文件中内置函数所包含的各个参数的类型信息进行比对匹配,且如果各个列的类型信息与内置函数所包含的各个参数的类型信息均对应匹配,则将各个列的类型信息填入内置函数对应的参数表中,并生成第二sql查询子句;否则就不将各个列的类型信息填入内置函数对应的参数表中,且不生成第二sql查询子句。例如,列包含A、B、C三种类型,而内置函数所包含的参数类型如果也包含A、B、C三种类型,就生成第二sql查询子句;而如果内置函数所包含的参数类型仅有B两种类型,则不生成第二sql查询子句。
所述语句自动生成模块具体为:将生成的第一sql查询子句和第二sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句。
在具体实施时,在sql查询语句自动生成工具对第一文本文件中的表结构信息与第二文本文件中的函数信息进行类型比对匹配后,会将类型相匹配的列和内置函数保存起来;接着,sql查询语句自动生成工具会利用随机算法随机获取类型相匹配的列和内置函数,并生成第一sql查询子句和第二sql查询子句,同时,将第一sql查询子句和第二sql查询子句与其它查询语句封装在一起,自动生成sql查询语句。
综上所述,本发明具有如下优点:1、通过利用表的列类型与数据库内置函数的类型进行比对匹配的方式,使得sql查询语句自动生成工具可以按照一定的逻辑和格式把内置函数包含到sql语句中生成sql查询语句,不仅可以节省人工手动编写sql语句的时间,而且可以提高sql语句的正确性;
2、通过包含数据库内置函数的sql语句,可以实现测试数据库的内置函数在复杂sql语句中的性能和功能,有助于增加sql查询语句自动生成工具的使用深度和广度。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (4)

1.一种包含数据库内置函数的sql查询语句自动生成方法,其特征在于:所述方法包括如下步骤:
步骤S1、从数据库中获取要查询的表的表结构信息,且将获取的表结构信息保存成第一文本文件;
所述从数据库中获取要查询的表的表结构信息具体为:从数据库中获取要查询的表的列名以及表中各个列的类型信息;
步骤S2、从数据库中获取所有支持的内置函数的函数信息,且将获取的函数信息保存成第二文本文件;
所述函数信息包括函数名称、函数返回值类型、函数包含的参数个数以及各个参数的类型信息;
所述所有支持的内置函数包括操作符、聚合函数、OLTP函数或者OLAP函数;
步骤S3、对第一文本文件中的表结构信息与第二文本文件中的函数信息进行类型比对匹配,且将相同类型的信息封装成sql查询子句;
步骤S4、将sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句;
所述步骤S3具体为:将第一文本文件中各个列的类型信息与第二文本文件中函数返回值类型进行比对匹配,且如果类型匹配,则生成数值比对的第一sql查询子句;如果类型不匹配,则不生成第一sql查询子句;将第一文本文件中各个列的类型信息与第二文本文件中内置函数所包含的各个参数的类型信息进行比对匹配,且如果各个列的类型信息与内置函数所包含的各个参数的类型信息均对应匹配,则将各个列的类型信息填入内置函数对应的参数表中,并生成第二sql查询子句;否则就不将各个列的类型信息填入内置函数对应的参数表中,且不生成第二sql查询子句。
2.根据权利要求1所述的包含数据库内置函数的sql查询语句自动生成方法,其特征在于:
所述步骤S4具体为:将生成的第一sql查询子句和第二sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句。
3.一种包含数据库内置函数的sql查询语句自动生成系统,其特征在于:所述系统包括表信息获取模块、函数信息获取模块、信息匹配模块以及语句自动生成模块;
所述表信息获取模块,用于从数据库中获取要查询的表的表结构信息,且将获取的表结构信息保存成第一文本文件;
所述从数据库中获取要查询的表的表结构信息具体为:从数据库中获取要查询的表的列名以及表中各个列的类型信息;
所述函数信息获取模块,用于从数据库中获取所有支持的内置函数的函数信息,且将获取的函数信息保存成第二文本文件;
所述函数信息包括函数名称、函数返回值类型、函数包含的参数个数以及各个参数的类型信息;
所述所有支持的内置函数包括操作符、聚合函数、OLTP函数或者OLAP函数;
所述信息匹配模块,用于对第一文本文件中的表结构信息与第二文本文件中的函数信息进行类型比对匹配,且将相同类型的信息封装成sql查询子句;
所述语句自动生成模块,用于将sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句;
所述信息匹配模块具体为:将第一文本文件中各个列的类型信息与第二文本文件中函数返回值类型进行比对匹配,且如果类型匹配,则生成数值比对的第一sql查询子句;如果类型不匹配,则不生成第一sql查询子句;将第一文本文件中各个列的类型信息与第二文本文件中内置函数所包含的各个参数的类型信息进行比对匹配,且如果各个列的类型信息与内置函数所包含的各个参数的类型信息均对应匹配,则将各个列的类型信息填入内置函数对应的参数表中,并生成第二sql查询子句;否则就不将各个列的类型信息填入内置函数对应的参数表中,且不生成第二sql查询子句。
4.根据权利要求3所述的包含数据库内置函数的sql查询语句自动生成系统,其特征在于:
所述语句自动生成模块具体为:将生成的第一sql查询子句和第二sql查询子句与其它查询语句封装在一起,并自动生成sql查询语句。
CN201810087128.4A 2018-01-30 2018-01-30 包含数据库内置函数的sql查询语句自动生成方法及系统 Active CN108460092B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810087128.4A CN108460092B (zh) 2018-01-30 2018-01-30 包含数据库内置函数的sql查询语句自动生成方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810087128.4A CN108460092B (zh) 2018-01-30 2018-01-30 包含数据库内置函数的sql查询语句自动生成方法及系统

Publications (2)

Publication Number Publication Date
CN108460092A CN108460092A (zh) 2018-08-28
CN108460092B true CN108460092B (zh) 2022-09-16

Family

ID=63239336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810087128.4A Active CN108460092B (zh) 2018-01-30 2018-01-30 包含数据库内置函数的sql查询语句自动生成方法及系统

Country Status (1)

Country Link
CN (1) CN108460092B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069547B (zh) * 2019-03-19 2021-10-12 天津字节跳动科技有限公司 在线数据库表格数据统计方法、装置、介质和电子设备
CN110222128B (zh) * 2019-06-12 2022-10-14 浪潮软件集团有限公司 一种生成数据预置sql的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464862A (zh) * 2007-12-21 2009-06-24 英业达股份有限公司 结构化查询语言生成系统及方法
CN103136263A (zh) * 2011-11-23 2013-06-05 英业达股份有限公司 自动生成sql语句的方法
CN103744891A (zh) * 2013-12-23 2014-04-23 大唐软件技术股份有限公司 一种数据查询方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101464862A (zh) * 2007-12-21 2009-06-24 英业达股份有限公司 结构化查询语言生成系统及方法
CN103136263A (zh) * 2011-11-23 2013-06-05 英业达股份有限公司 自动生成sql语句的方法
CN103744891A (zh) * 2013-12-23 2014-04-23 大唐软件技术股份有限公司 一种数据查询方法和系统

Also Published As

Publication number Publication date
CN108460092A (zh) 2018-08-28

Similar Documents

Publication Publication Date Title
US11755575B2 (en) Processing database queries using format conversion
US9009140B2 (en) Optimization of database query
CN104123374B (zh) 分布式数据库中聚合查询的方法及装置
US8606803B2 (en) Translating a relational query to a multidimensional query
CN102682118B (zh) 一种多维数据模型访问方法及装置
CN106066895B (zh) 一种智能查询系统
US9785725B2 (en) Method and system for visualizing relational data as RDF graphs with interactive response time
CN114625732B (zh) 基于结构化查询语言sql的查询方法和系统
CN103729392A (zh) 查询优化方法及查询编译器
TWI706260B (zh) 基於行動端NoSQL資料庫的索引建立方法及裝置
US20110153582A1 (en) Handling of classification data by a search engine
CN108460092B (zh) 包含数据库内置函数的sql查询语句自动生成方法及系统
CN104714974A (zh) 一种查询语句解析与再处理的方法和装置
CN110362591B (zh) 一种报表展现方法和装置
CN107203525B (zh) 数据库的处理方法和装置
CN108399196B (zh) 数据库sql语句自动生成工具的sql自动执行方法及系统
CN109213776B (zh) 一种报表展现方法和装置
CN105808228A (zh) 动态配置报表的生成方法
CN108008947B (zh) 一种编程语句的智能提示方法、装置、服务器及存储介质
CN108388589B (zh) 一种数据库sql查询语句自动生成的装置
US20070282804A1 (en) Apparatus and method for extracting database information from a report
US20220121631A1 (en) Automatic generation of a data model from a structured query language (sql) statement
US8793268B1 (en) Smart key access and utilization to optimize data warehouse performance
CN112445867A (zh) 一种数据关系智能分析方法和系统
CN114925142A (zh) 一种orm框架的多类型数据库兼容方法、装置、设备及介质

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 350000 21 / F, building 5, f District, Fuzhou Software Park, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province

Applicant after: FUJIAN SINOREGAL SOFTWARE CO.,LTD.

Address before: Floor 20-21, building 5, area F, Fuzhou Software Park, 89 software Avenue, Gulou District, Fuzhou City, Fujian Province 350000

Applicant before: FUJIAN SINOREGAL SOFTWARE CO.,LTD.

GR01 Patent grant
GR01 Patent grant