CN108052394B - 基于sql语句运行时间的资源分配的方法及计算机设备 - Google Patents
基于sql语句运行时间的资源分配的方法及计算机设备 Download PDFInfo
- Publication number
- CN108052394B CN108052394B CN201711440945.5A CN201711440945A CN108052394B CN 108052394 B CN108052394 B CN 108052394B CN 201711440945 A CN201711440945 A CN 201711440945A CN 108052394 B CN108052394 B CN 108052394B
- Authority
- CN
- China
- Prior art keywords
- sql
- sql statement
- resource allocation
- resource
- vector
- 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
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于SQL语句运行时间的资源分配的方法,收集SQL历史的执行记录ID、SQL语句以及运行时间runtime;根据执行记录ID获取该SQL语句执行时所分派的资源,形成资源向量R,解析SQL语句获取运算符、表名以及列名,根据表名以及列名查询元数据信息,获取数据信息,并将其对应至运算符,形成运算向量OP;以运行时间runtime为目标变量,R和OP为预测变量,利用机器学习算法建立预测模块,训练预测模型;提交SQL语句和资源向量值R,通过预测模型预测出所需执行时间;根据所述执行时间,进行选择资源分配模式;本发明还提供一种计算机设备,有效降低系统开销,使得用户负担低,提升用户体验。
Description
技术领域
本发明涉及一种基于SQL语句运行时间的资源分配的方法及计算机设备。
背景技术
分布式计算资源分配模式分2种:批处理模式——计算资源(CPU,MEM等)分配和环境初始化在任务提交时进行,任务结束时收回资源和注销环境,再次提交任务时需重新分配资源和初始化环境。交互模式——计算资源分配和环境初始化在第一次任务执行时进行,之后的任务会不断重用已经分配好资源和环境配置。批处理模式缺陷是每次提交任务均有分配资源和初始化环境的开销,好处是任务结束就收回资源和初始化变量,适合长时间运行的任务。而交互模式优点是资源分配和初始化开销小,缺陷是如果不退出交互模式则资源一直占用不论是否有任务提交,适合短时间运行的任务。如何比较准确地判断任务运行时长,是正确选择资源分配模式和减少初始化动作的关键。通常做法是交给用户自己判断,后果是用户负担重(要了解执行引擎许多相关知识)又判断不准(决定因素多且关系复杂),造成系统开销大或资源浪费。
发明内容
本发明要解决的技术问题,在于提供一种基于SQL语句运行时间的资源分配的方法及计算机设备,有效降低系统开销,使得用户负担低,提升用户体验。
本发明之一是这样实现的:一种基于SQL语句运行时间的资源分配的方法,包括如下步骤:
步骤1、收集SQL历史的执行记录ID、SQL语句以及运行时间runtime;
步骤2、根据执行记录ID获取该SQL语句执行时所分派的资源,形成资源向量R,解析SQL语句获取运算符、表名以及列名,根据表名以及列名查询元数据信息,获取数据信息,并将其对应至运算符,形成运算向量OP;
步骤3、以运行时间runtime为目标变量,R和OP为预测变量,利用机器学习算法建立预测模块,并训练预测模型;
步骤4、向训练好的预测模型提交SQL语句和资源向量值R,通过预测模型预测出所需执行时间;
步骤5、根据所述执行时间,进行选择资源分配模式。
进一步地,所述步骤5进一步具体为:设定一运行时间阈值,将所述执行时间与阈值比较,若小于等于阈值,则资源分配模式采用交互模式,否则资源分配模式采用批处理模式。
进一步地,所述步骤2中资源向量R包括Executor数、每个Executor的CPU核数以及MEM大小。
本发明之二是这样实现的:一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
步骤1、收集SQL历史的执行记录ID、SQL语句以及运行时间runtime;
步骤2、根据执行记录ID获取该SQL语句执行时所分派的资源,形成资源向量R,解析SQL语句获取运算符、表名以及列名,根据表名以及列名查询元数据信息,获取数据信息,并将其对应至运算符,形成运算向量OP;
步骤3、以运行时间runtime为目标变量,R和OP为预测变量,利用机器学习算法建立预测模块,并训练预测模型;
步骤4、向训练好的预测模型提交SQL语句和资源向量值R,通过预测模型预测出所需执行时间;
步骤5、根据所述执行时间,进行选择资源分配模式。
进一步地,所述步骤5进一步具体为:设定一运行时间阈值,将所述执行时间与阈值比较,若小于等于阈值,则资源分配模式采用交互模式,否则资源分配模式采用批处理模式。
进一步地,所述步骤2中资源向量R包括Executor数、每个Executor的CPU核数以及MEM大小。
本发明具有如下优点:
1)有效降低系统开销。提取众多预测变量(信息),利用大量真实的历史执行数据来构建预测变量间与运行时间之间复杂的函数关系,提供较高的预测精度从而制定合理的资源提交模式并减少不必要的初始化开销。
2)用户负担低。只需设定运行阈值,无需考虑数据实际大小和各种底层引擎执行机制去人为估算运行时间。
3)提升用户体验。时间阈值既可以使用缺省设定值,也可依据个人喜好设置阈值,实现个性化,并将预测时间动态实时反馈(如进度条)给应用程序。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
具体实施方式
本发明基于SQL语句运行时间的资源分配的方法,包括如下步骤:
步骤1、收集SQL历史的执行记录ID、SQL语句以及运行时间runtime;
步骤2、根据执行记录ID获取该SQL语句执行时所分派的资源,形成资源向量R,解析SQL语句获取运算符、表名以及列名,根据表名以及列名查询元数据信息,获取数据信息,并将其对应至运算符,形成运算向量OP,所述资源向量R包括Executor数、每个Executor的CPU核数以及MEM大小;
步骤3、以运行时间runtime为目标变量,R和OP为预测变量,利用机器学习算法建立预测模块,并训练预测模型;
步骤4、向训练好的预测模型提交SQL语句和资源向量值R,通过预测模型预测出所需执行时间;
步骤5、设定一运行时间阈值,将所述执行时间与阈值比较,若小于等于阈值,则资源分配模式采用交互模式,否则资源分配模式采用批处理模式。
本发明计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
步骤1、收集SQL历史的执行记录ID、SQL语句以及运行时间runtime;
步骤2、根据执行记录ID获取该SQL语句执行时所分派的资源,形成资源向量R,解析SQL语句获取运算符、表名以及列名,根据表名以及列名查询元数据信息,获取数据信息,并将其对应至运算符,形成运算向量OP,所述资源向量R包括Executor数、每个Executor的CPU核数以及MEM大小;
步骤3、以运行时间runtime为目标变量,R和OP为预测变量,利用机器学习算法建立预测模块,并训练预测模型;
步骤4、向训练好的预测模型提交SQL语句和资源向量值R,通过预测模型预测出所需执行时间;
步骤5、设定一运行时间阈值,将所述执行时间与阈值比较,若小于等于阈值,则资源分配模式采用交互模式,否则资源分配模式采用批处理模式。
本发明另一种具体具体实施方式如下:
本发明解决思路是机器学习的手段来自动预测SQL语句在具体平台的执行时间,依此形成资源分配模式和减少环境初始化的决策依据。本系统需要收集SQL语句的执行历史,包含执行时间,执行所耗资源(CPU,MEM),SQL操作类型,以及运算符操作所处理的数据及其大小。通过机器学习模型建立(训练)执行时间与所耗资源,操作类型和处理数据大小之间的函数关系。在需要实时判断决策时,输入所耗资源,操作类型,数据大小等变量预估SQL执行时间,从而为资源分配模式提供决策依据。
方案结构:训练系统,实时预测系统,应用程序,决策行动系统,日志系统,元数据系统,用户。
主要步骤:
A:训练阶段
1)从日志系统的任务执行日志中收集SQL历史执行记录id,获取SQL语句和运行时间runtime(记为run_t);
2)从日志系统的的资源管理日志中,根据执行记录id获取该SQL语句执行时所分派的资源大小(如Executor数,每个Executor的CPU核数,MEM大小),形成资源向量R=(r1,r2,r3)。例如,运行某SQL语句的Executor数为3,每个Executor的CPU核数为4,MEM大小为8G,则资源向量取值为R=(3,4,8);
3)解析SQL语句获取运算符,如关系运算符(Projection,Union,Intersection,difference,join等)、算术运算符(如加、减、乘、除等)、逻辑运算符(AND、BETWEEN、OR、EXISTS、IN、LIKE等)、比较运算符(大于、等于、小于、不等于等)、位运算符(左移、右移、补码、二进AND、二进制OR等);注1:可按运算符英文名称的字典顺序排列(如AND,BETWEEN,EXISTS,…),并对应到向量的不同维度中(向量第一维代表AND,第二维代表BETWEEN,依此类推)。注2:一个SQL语句很少会同时出现上述列举运算符,未出现则向量取值为0,可参6)的例子。
4)解析SQL语句获取表名和列名;
5)根据4)获取的表名和列名查询元数据信息,获取数据大小信息(如表记录数、列类型、列非空值行数);
6)根据SQL解析结果,将5)获取的数据大小信息对应到3)中所获取的运算符中,形成运算向量OP=(op1,op2,..opn)。例如op1操作表table_1的f1列,通过5)获取该列有值(非空)的有num_1个,则将num_1对应到op1。对op2,..opn做同样的操作,则运算向量取值为OP=(num_1,num_2,…num_n)。
以“select sum(f1),sum(f2)from table1”这个语句为例,通过3)可解析该语句获得运算符“sum”。通过4)可解析该语句获得表名”table1”,列名”f1”,”f2”。假设通过5)查得表table1的列f1总共有1000个数据,列f2有500个数据,则将形成(0,…,1500,…,0)这样的向量,“1500”出现在向量中的维度为3)注1所定义的顺序,该数值表示sum操作的数据量大小(即需要将列f1的1000个值进行累加运算,将列f2的500个值进行累加运算)。该语句没有其他运算符,所以向量其他维的值均为0。
7)以运行时间runtime为目标变量(因变量),以R,OP为预测变量(自变量),利用机器学习算法建立和训练预测模型runtime=f(R,OP)=f(r1,r2,r3,op1,op2,..opn)。
注:①建立预测模型的机器学习算法可以很多,如SVM,线性/非线性回归,人工神经网络、回归树等等,可选择预测准确度最高的。
②训练模型是确定模型参数的过程,以线性回归为例,其模型表达式为run_t=a1*r1+a2*r2+…an*opn,其中a1,a2,…an为模型参数,需要利用大量训练数据通过最小化损失函数(如误差平方)来确定这些参数取值。
③训练所需的数据,可从历史执行记录中依此执行1)-6)来获取。获取训练数据之后,执行7)即可确定模型参数,得到训练好的模型。
8)将训练好的预测模型生成服务(记为M),供实时预测系统调用。注:步骤1)至步骤7)为训练主要步骤,可在获取大量运行历史记录之后进行第一次训练。今后随着运行记录增加可重复训练模型,并部署到服务中去(步骤8)。
B:实时预测系统
1)应用程序提交SQL语句和资源向量值R;
2)实时预测系统解析SQL语句,执行A中的3)-6),获取操作向量值OP;
3)将资源向量值R和操作向量值OP通过服务接口送入训练好的预测模型M,得到预测执行时间;
4)将预测执行时间发送给决策系统。
C:决策实施阶段
1)决策系统的策略规则生成——可依据用户的偏好制定运行时间阈值(例如,运行时间如果超过2分钟,则采取批处理模式);
2)依据资源分配模式启动应用——将获取的预测时间代入1),获取资源分配模式,然后再以此模式执行SQL。同时将该时间反馈给应用程序。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (4)
1.一种基于SQL语句运行时间的资源分配的方法,其特征在于:包括如下步骤:
步骤1、收集SQL历史的执行记录ID、SQL语句以及运行时间runtime;
步骤2、根据执行记录ID获取该SQL语句执行时所分派的资源,形成资源向量R,解析SQL语句获取运算符、表名以及列名,根据表名以及列名查询元数据信息,获取数据信息,并将其对应至运算符,形成运算向量OP;
步骤3、以运行时间runtime为目标变量,R和OP为预测变量,利用机器学习算法建立预测模块,并训练预测模型;
步骤4、向训练好的预测模型提交SQL语句和资源向量值R,通过预测模型预测出所需执行时间;
步骤5、设定一运行时间阈值,将所述执行时间与阈值比较,若小于等于阈值,则资源分配模式采用交互模式,否则资源分配模式采用批处理模式。
2.根据权利要求1所述的一种基于SQL语句运行时间的资源分配的方法,其特征在于:所述步骤2中资源向量R包括Executor数、每个Executor的CPU核数以及MEM大小。
3.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
步骤1、收集SQL历史的执行记录ID、SQL语句以及运行时间runtime;
步骤2、根据执行记录ID获取该SQL语句执行时所分派的资源,形成资源向量R,解析SQL语句获取运算符、表名以及列名,根据表名以及列名查询元数据信息,获取数据信息,并将其对应至运算符,形成运算向量OP;
步骤3、以运行时间runtime为目标变量,R和OP为预测变量,利用机器学习算法建立预测模块,并训练预测模型;
步骤4、向训练好的预测模型提交SQL语句和资源向量值R,通过预测模型预测出所需执行时间;
步骤5、设定一运行时间阈值,将所述执行时间与阈值比较,若小于等于阈值,则资源分配模式采用交互模式,否则资源分配模式采用批处理模式。
4.根据权利要求3所述的一种计算机设备,其特征在于:所述步骤2中资源向量R包括Executor数、每个Executor的CPU核数以及MEM大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711440945.5A CN108052394B (zh) | 2017-12-27 | 2017-12-27 | 基于sql语句运行时间的资源分配的方法及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711440945.5A CN108052394B (zh) | 2017-12-27 | 2017-12-27 | 基于sql语句运行时间的资源分配的方法及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108052394A CN108052394A (zh) | 2018-05-18 |
CN108052394B true CN108052394B (zh) | 2021-11-30 |
Family
ID=62128281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711440945.5A Active CN108052394B (zh) | 2017-12-27 | 2017-12-27 | 基于sql语句运行时间的资源分配的方法及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108052394B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6781191B2 (ja) * | 2018-05-24 | 2020-11-04 | ファナック株式会社 | プログラマブルコントローラ及び機械学習装置 |
CN108763563A (zh) * | 2018-06-04 | 2018-11-06 | 深圳市华傲数据技术有限公司 | 一种数据库查询方法、介质及设备 |
CN109324905B (zh) * | 2018-09-30 | 2021-03-30 | 拉卡拉支付股份有限公司 | 数据库操作方法、装置、电子设备及存储介质 |
CN109460296B (zh) * | 2018-10-23 | 2019-12-27 | 中科驭数(北京)科技有限公司 | 一种处理器的资源分配方法、装置和存储介质 |
CN109933601A (zh) * | 2019-01-24 | 2019-06-25 | 深圳壹账通智能科技有限公司 | 数据库管理方法、系统、计算机装置及可读存储介质 |
CN110162672B (zh) * | 2019-05-10 | 2021-07-27 | 上海赜睿信息科技有限公司 | 数据处理方法及装置、电子设备和可读存储介质 |
CN110956499B (zh) * | 2019-11-27 | 2023-04-07 | 掌阅科技股份有限公司 | 页面展现方法、计算设备及计算机存储介质 |
CN111046059B (zh) * | 2019-12-09 | 2023-06-30 | 中国建设银行股份有限公司 | 基于分布式数据库集群的低效sql语句分析方法及系统 |
CN111984630A (zh) * | 2020-09-01 | 2020-11-24 | 深圳壹账通智能科技有限公司 | 日志关联方法、装置和计算机设备 |
CN112380237B (zh) * | 2020-11-13 | 2024-03-01 | 深圳市兴海物联科技有限公司 | 数据库隐患sql的预测方法、装置、终端及存储介质 |
CN112667666A (zh) * | 2020-12-31 | 2021-04-16 | 民生科技有限责任公司 | 一种基于N-gram的SQL运行时间预测方法及系统 |
CN112783747B (zh) * | 2021-02-09 | 2024-06-11 | 中国工商银行股份有限公司 | 一种应用程序的执行时间预测方法及装置 |
CN112948356B (zh) * | 2021-03-10 | 2023-03-21 | 河海大学 | 一种基于资源感知的时间序列数据库可用性增强机制的构建方法 |
CN113177060B (zh) * | 2021-05-25 | 2024-02-27 | 中国工商银行股份有限公司 | 一种管理sql语句的方法、装置及设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7539667B2 (en) * | 2004-11-05 | 2009-05-26 | International Business Machines Corporation | Method, system and program for executing a query having a union operator |
US8661024B2 (en) * | 2010-01-21 | 2014-02-25 | Oracle International Corporation | Database query resource management using select statement condition |
CN103092867B (zh) * | 2011-11-03 | 2017-02-01 | 中国移动通信集团甘肃有限公司 | 一种数据管理方法及系统、数据分析装置 |
US8874548B2 (en) * | 2012-02-27 | 2014-10-28 | Nec Laboratories America, Inc. | Predicting query execution time |
CN102945256B (zh) * | 2012-10-18 | 2016-02-03 | 福建省海峡信息技术有限公司 | 海量sql语句合并归类的方法及装置 |
CN103399851B (zh) * | 2013-06-25 | 2017-02-08 | 上海携程商务有限公司 | 一种结构化查询语言(sql)脚本的性能分析与预测方法与系统 |
CN104820663A (zh) * | 2014-01-30 | 2015-08-05 | 西门子公司 | 发现低性能的sql语句以及预测sql语句性能的方法和装置 |
CN104008007B (zh) * | 2014-06-12 | 2018-06-01 | 深圳先进技术研究院 | 基于流式计算和批处理计算的互操作数据处理系统及方法 |
US9927857B2 (en) * | 2014-08-22 | 2018-03-27 | Intel Corporation | Profiling a job power and energy consumption for a data processing system |
CN104834561B (zh) * | 2015-04-29 | 2018-01-19 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN106991322A (zh) * | 2016-01-21 | 2017-07-28 | 北京启明星辰信息安全技术有限公司 | 一种结构化查询语言sql注入攻击的检测方法和装置 |
CN105868019B (zh) * | 2016-02-01 | 2019-05-21 | 中国科学院大学 | 一种Spark平台性能自动优化方法 |
CN107168870B (zh) * | 2017-04-28 | 2021-10-29 | 福建星瑞格软件有限公司 | 一种运行时程序信息获取方法 |
-
2017
- 2017-12-27 CN CN201711440945.5A patent/CN108052394B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108052394A (zh) | 2018-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108052394B (zh) | 基于sql语句运行时间的资源分配的方法及计算机设备 | |
Auer et al. | Optimal project feature weights in analogy-based cost estimation: Improvement and limitations | |
US8224845B2 (en) | Transaction prediction modeling method | |
CN108958721B (zh) | 一种智能化持续集成与持续部署流水线方法及系统 | |
US20220405641A1 (en) | Method for recommending information, recommendation server, and storage medium | |
US10013656B1 (en) | Methods and apparatus for analytical processing of provenance data for HPC workflow optimization | |
CN110020176A (zh) | 一种资源推荐方法、电子设备以及计算机可读存储介质 | |
JP2023545765A (ja) | データベース管理システムのための学習ベースのワークロードリソース最適化 | |
EP3961413A1 (en) | Method and device for determining database configuration parameters | |
US20180046561A1 (en) | System, controller, method, and program for executing simulation jobs | |
CN113157421B (zh) | 一种基于用户作业流程的分布式集群资源调度方法 | |
CN110825522A (zh) | Spark参数自适应优化方法及系统 | |
CN110162297A (zh) | 一种源代码段自然语言描述自动生成方法及系统 | |
CN112817560B (zh) | 一种基于表函数的计算任务处理方法、系统及计算机可读存储介质 | |
CN110895529B (zh) | 结构化查询语言的处理方法及相关装置 | |
CN110866605B (zh) | 数据模型训练方法、装置、电子设备及可读介质 | |
CN115147020B (zh) | 装修数据处理方法、装置、设备及存储介质 | |
CN112445893B (zh) | 一种信息搜索方法、装置、设备及存储介质 | |
CN115686995A (zh) | 一种数据监控处理方法及装置 | |
Bohlouli et al. | Grid-HPA: Predicting resource requirements of a job in the grid computing environment | |
KR102304321B1 (ko) | 시뮬레이션 실행 시간 예측 장치 및 예측 방법 | |
CN114254764B (zh) | 基于反馈的机器学习模型搜索方法、系统、设备及介质 | |
EP3547144A1 (en) | Structural tests generation | |
CN118170719B (zh) | 一种等保测评的自动化归档方法、装置、设备及存储介质 | |
US11941020B2 (en) | Displaying query results using machine learning model-determined query results visualizations |
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 |