CN113641745B - Method for operating database by cross-language platform - Google Patents

Method for operating database by cross-language platform Download PDF

Info

Publication number
CN113641745B
CN113641745B CN202110948709.4A CN202110948709A CN113641745B CN 113641745 B CN113641745 B CN 113641745B CN 202110948709 A CN202110948709 A CN 202110948709A CN 113641745 B CN113641745 B CN 113641745B
Authority
CN
China
Prior art keywords
database
language
model
python
java
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
CN202110948709.4A
Other languages
Chinese (zh)
Other versions
CN113641745A (en
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 Tonglian Financial Services Co Ltd
Original Assignee
Shanghai Tonglian Financial Services 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 Tonglian Financial Services Co Ltd filed Critical Shanghai Tonglian Financial Services Co Ltd
Priority to CN202110948709.4A priority Critical patent/CN113641745B/en
Publication of CN113641745A publication Critical patent/CN113641745A/en
Application granted granted Critical
Publication of CN113641745B publication Critical patent/CN113641745B/en
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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

The invention relates to a method for operating a database across a language platform, which comprises the following steps: the data model is designed, sqlalchemy of Python is used as a model description tool, and a database model is generated; defining data, namely creating, destroying and modifying a database object based on the generated database model; various databases are built by calling an API provided by Sqlalchemy, and index sentences are built; performing various database operations based on the ORM operation capability of Python and Java; generating a C language version structure body based on a database model generated by Sqlalchemy; and generating various database functions and embedding SQL sentence programs by combining the unified calling interfaces generated by various databases and the C language version structural body, so that the C language can perform various database operations. The invention can thoroughly solve the problems of repeated definition and difficult operation of the model and the database of a plurality of language platforms by adopting a consistent database model and a consistent database operation mode.

Description

Method for operating database by cross-language platform
Technical Field
The invention relates to the technical field of computers, in particular to a method for operating a database by a cross-language platform.
Background
Several language combinations are often required to be implemented in large projects. The same business model is repeatedly defined in different languages, and great inconvenience is brought to the later maintenance and development of the system. For example, in some large-scale application systems, in order to pursue high performance of the system, a C language is adopted as a background service of the system; the method is realized by adopting Java development language for complex interface operation; and the communication layer is developed by adopting Python as a communication front-end system language. These development languages all serve the same set of application systems, and operate the same set of business models.
In the prior art, if a set of service system adopts the language of C, java development language and Python at the same time, multiple models are usually defined, and multiple databases are adopted, which results in repeated definition and operation of the models in one service system, and the service system cannot call different databases at will.
Therefore, it is necessary to provide a method for operating databases across language platforms, which adopts a consistent database model and a consistent database operation mode, so as to thoroughly solve the problems of repeated definition and difficult operation of multiple language platforms on the model and the database.
Disclosure of Invention
The invention aims to provide a method for operating a database across language platforms, which adopts a consistent database model and a consistent database operation mode and can thoroughly solve the problems of repeated definition and difficult operation of the model and the database by a plurality of language platforms.
In order to solve the above problems, the present invention provides a method for operating a database across a language platform, comprising the following steps:
the data model is designed, sqlalchemy of Python is used as a model description tool, and a database model is generated;
defining data, namely creating, destroying and modifying a database object based on the generated database model;
various databases are built by calling an API provided by Sqlalchemy, and index sentences are built;
performing various database operations based on the ORM operation capability of Python and Java;
generating a C language version structure body based on a database model generated by Sqlalchemy; and generating various database functions and embedding SQL sentence programs by combining the unified calling interfaces generated by various databases and the C language version structural body, so that the C language can perform various database operations.
Optionally, in the method for operating databases across language platforms, the manner of operating various databases in the C language is as follows:
determining function libraries corresponding to various databases according to configuration conditions, so that unified calling interfaces are generated for the various databases;
the unified calling interface and the C language version structure body generated by various databases are combined to generate various database functions under the C language and embedded SQL sentence programs;
when the C language is adopted to operate various databases, various database functions and embedded SQL sentence programs are called.
Optionally, in the method for operating a database across language platforms, the method for generating the C language version structure body is as follows:
and analyzing the database model generated based on Sqlalchemy through the Python script to generate the C language version structure body.
Optionally, in the method for operating databases across language platforms, based on ORM operation capability of Python, various database operations are performed in the following manner:
and operating the Python version data entity by using the Sqlalchemy to realize that various databases are operated by adopting the Python.
Optionally, in the method for operating databases across language platforms, based on the ORM operation capability of Java, various database operations are performed as follows:
analyzing a database model generated based on Sqlalchemy through a Python script to generate a Java edition operation entity of Hibernate;
and operating the Java edition operation entity through Java Hibernate to realize the operation of various databases by Java.
Optionally, in the method for operating databases across language platforms, operations performed by Python, java and C languages on various databases include database Join operations.
Optionally, in the method for operating databases across language platforms, database Join operations performed by Python and Java on various databases include the following steps:
python and Java implement database Join operations based on associative operations between ORM operation capabilities and tables provided by Sqlalchemy.
Optionally, in the method for operating databases across language platforms, the step of performing database Join operation on various databases by using the language C includes the following steps:
and when the filter is input, searching the database model association object or analyzing the filtering condition according to out.
Optionally, in the method for operating a database across language platforms, creating, destroying and modifying the database object based on the generated database model includes:
creating a table;
fields add, delete, and modify.
Optionally, in the method for operating a database across a language platform, the database operated across a language platform includes Oracle, DB2, mysql, and PostgreSQL.
In the method for operating the database by the cross-language platform, provided by the invention, the Sqlalchemy of Python is used as a model description tool to generate a database model, and the Python script is used for analyzing the database model generated based on the Sqlalchemy to generate a Java version operating entity and a C language version structure body of Hibernate, so that Python, java and C languages can all operate various databases to realize the operation of the database by the cross-language platform.
Drawings
FIG. 1 is a flowchart of a method for operating a database across a language platform according to an embodiment of the present invention.
Detailed Description
Specific embodiments of the present invention will be described in more detail below with reference to the drawings. The advantages and features of the present invention will become more apparent from the following description. It should be noted that the drawings are in a very simplified form and are all to a non-precise scale, merely for convenience and clarity in aiding in the description of embodiments of the invention.
If the method described herein comprises a series of steps, the order of the steps presented herein is not necessarily the only order in which the steps may be performed, and some of the described steps may be omitted and/or some other steps not described herein may be added to the method.
In the prior art, if a set of service systems adopt the language C, java development language and Python at the same time, multiple models are usually defined, and multiple databases are adopted, so that repeated definition and operation of the models in one service system exist, and the service system cannot call different databases at will.
In database operations, different languages have different characteristics for database operations. The C language is a procedural-oriented, abstract programming language whose database operations depend on the database's embedded SQL without ORM implementation references. A set of access library oriented to structure crossing databases is designed aiming at the C language, codes written by service programmers are irrelevant to data interfaces, embedded SQL restriction of the databases is thoroughly eliminated, the databases are operated according to service abstraction, and dependence of a service system and the databases is stripped. And each of Python and Java has a set of cross-database ORM operation libraries, so that cross-data and object-oriented database programming access can be realized.
Based on the current analysis, there is a need to provide a method for operating a database across language platforms, as shown in fig. 1, fig. 1 is a flowchart of a method for operating a database across language platforms according to an embodiment of the present invention, where the method includes the following steps:
the data model is designed, sqlalchemy of Python is used as a model description tool, and a database model is generated;
defining data, namely creating, destroying and modifying a database object based on the generated database model;
various databases are built by calling an API provided by Sqlalchemy, and index sentences are built;
performing various database operations based on the ORM operation capability of Python and Java;
generating a C language version structure body based on a database model generated by Sqlalchemy; and generating various database functions and embedding SQL sentence programs by combining the unified calling interfaces generated by various databases and the C language version structural body, so that the C language can perform various database operations.
Further, the database operations include three levels: data model design, data Definition (DDL), data Manipulation (DML). Operating a database across a language platform requires solving the problem from these three perspectives.
The data model is designed to define a database structure for a description manner of the database designer based on abstract understanding of the business model. In the present invention, sqlalchemy of Python is used as a database model description tool. The Sqlalchemy model definition is adopted, so that the method has the characteristics of convenience and flexibility in editing, strong model expression capability, capability of generating an intuitive model relation diagram, and consistent expression of documents and codes.
Data Definition (DDL): creating, destroying and modifying database objects, e.g., table creation, based on the generated database model; fields add, delete, and modify. Sqlalchemy provides a convenient interface, and can directly perform corresponding operation on the database. According to the method, various databases are built by calling the API provided by the Sqlalchemy, and index sentences are built. Preferably, the database operated by the cross-language platform in the invention comprises Oracle, DB2, mysql and PostgreSQL.
Data Manipulation (DML): and providing data record operation of C language version oriented structure, shielding different database differences, and simultaneously carrying out database operation by using ORM operation capabilities of Java and Python. The implementation is summarized as follows: 1) Generating a Java edition operation entity of Java Hibernate based on Sqlalchemy model definition; 2) Based on Sqlalchemy model definition, a C language version structure body is generated, and a database operation method is automatically generated, and a cross-database access interface is provided, so that various database operations are performed.
Further, the way of making the C language perform various database operations is as follows:
determining function libraries corresponding to various databases according to configuration conditions, so that unified calling interfaces are generated for the various databases;
the unified calling interface and the C language version structure body generated by various databases are combined to generate various database functions under the C language and embedded SQL sentence programs;
when the C language is adopted to operate various databases, various database functions and embedded SQL sentence programs are called.
The method for generating the C language version structure body comprises the following steps: and analyzing the database model generated based on Sqlalchemy through the Python script to generate the C language version structure body. For example domain_c.py, a corresponding C language version structure is generated from the database table structure.
In one embodiment, as shown in fig. 1, the C language version has different operation interfaces with the respective databases, for example, oracle and Postgresql, and is implemented as follows:
for the Oracle database, it is divided into three layers: 1. a data access layer (data structure generated by domain_c.py), a data access method; 2. the data cursor operation method cursor. C includes: cb_cursor_new (new cursor object), cb_cursor_execute (execute sql statement), cb_cursor_has_more (whether the cursor has next), cb_cursor_close (close cursor), cb_cursor_free (cursor release), method call including OracleOCI, etc.; 3. the database of Oracle is written embedded in C, such as an embedded C program db_conn.pc file that performs the actual database connection operation.
For the Postgresql database, three layers are divided: 1. a data access layer (data structure generated by domain_c.py), a data access method; 2. the data cursor operation method cursor. C includes: cb_cursor_new (new cursor object), cb_cursor_execute (execute sql statement), cb_cursor_has_more (whether cursor has next or not), cb_cursor_close (close cursor), cb_cursor_free (cursor release), call of libpq-fe interface, etc.; 3. database embedded C of Postgresql is written, for example an embedded C program db_conn.gpc file that performs the actual database connection operation.
The operation of the business layer is a consistent interface facing to the database, which database version is actually used is determined according to the configuration.
Preferably, with continued reference to FIG. 1, based on the ORM operational capabilities of Python, various database operations are performed as follows: and operating the Python version data entity by using the Sqlalchemy to realize that various databases are operated by adopting the Python.
Further, with continued reference to FIG. 1, based on Java ORM operational capabilities, various database operations are performed in the following manner:
analyzing a database model generated based on Sqlalchemy through a Python script (domain_j.py) to generate a Java edition operation entity of Hibernate;
and operating the Java edition operation entity through Java Hibernate to realize the operation of various databases by Java.
Preferably, in the method for operating databases across the language platform, the operations performed by the Python, java and C languages on various databases comprise database Join operations.
Specifically, the database Join operation performed by Python and Java on various databases comprises the following steps:
python and Java implement database Join operations based on associative operations between ORM operation capabilities and tables provided by Sqlalchemy.
In one embodiment, the database Join operation performed by the C language on various types of databases comprises the following steps: an on 2-one, one 2-management operation, such as providing a cb_model_t_cb_batch_one (void_in out, cb_string_t model, cb_condition_t filter, char_file, int line) method, and searching a database model association object or analyzing the filtering condition according to out when a filter condition is transmitted in the method.
Generally, the above terms are explained and defined as follows:
embedded SQL (Embedded SQL): the method is a method for directly writing SQL sentences into source codes of programming languages such as C language, COBOL, FORTRAN and Ada. By the method, the application program can be provided with the capability of accessing data and processing the data. In this method, the language of the target source code embedded in the SQL text is called the host language.
ORM (Object Relational Mapping, ORM for short, or O/RM, or O/R mapping): the object relation mapping is a programming technology for realizing the conversion between the data of different types of systems in an object-oriented programming language.
DDL (Data Definition Language): data definition languages are used to manipulate objects and attributes of objects, including the database itself as well as database objects (e.g., tables, views, etc.).
DML (Data Manipulation Language): the data manipulation language is used for manipulating the data contained in the database object, that is, the unit of manipulation is a record.
In summary, in the method for operating the database by the cross-language platform provided by the invention, the Sqlalchemy of Python is adopted as a model description tool to generate a database model, and the Python script is adopted to analyze the database model generated based on the Sqlalchemy to generate a Java version operating entity and a C language version structure body of the Hibernate, so that various databases can be operated by the Python, java and C languages to realize the cross-language platform operation of the database.
The foregoing is merely a preferred embodiment of the present invention and is not intended to limit the present invention in any way. Any person skilled in the art will make any equivalent substitution or modification to the technical solution and technical content disclosed in the invention without departing from the scope of the technical solution of the invention, and the technical solution of the invention is not departing from the scope of the invention.

Claims (6)

1. A method of operating a database across a language platform, comprising the steps of:
the data model is designed, sqlalchemy of Python is used as a model description tool, and a database model is generated;
defining data, namely creating, destroying and modifying a database object based on the generated database model;
various databases are built by calling an API provided by Sqlalchemy, and index sentences are built;
performing various database operations based on the ORM operation capability of Python and Java;
based on a database model generated by Sqlalchemy, analyzing the database model generated by Sqlalchemy through a Python script to generate a C language version structure body; determining function libraries corresponding to various databases according to configuration conditions, so that the various databases generate a unified calling interface; the method comprises the steps of combining a unified calling interface and a C language version structure body generated by various databases to generate various database functions and embedded SQL sentence programs under the C language, and calling the various database functions and the embedded SQL sentence programs when the various databases are operated by the C language;
the C language version and each database have different operation interfaces, and for the Oracle database, the operation interfaces are divided into three layers: a data access layer, a data cursor operation method and a database embedded C language for writing Oracle; for the Postgresql database, the operation interface is divided into three layers: a data access layer, a data cursor operation method and a database embedded C language for writing Postgresql;
the operations performed by Python, java and C languages on various databases comprise database Join operations, and the operations performed by C languages on various databases comprise the following steps: and when the filter is input, searching the database model association object or analyzing the filtering condition according to out.
2. The method for operating a database across a language platform according to claim 1, wherein the operations of the various databases are performed based on ORM operation capability of Python in the following manner:
and operating the Python version data entity by using the Sqlalchemy to realize that various databases are operated by adopting the Python.
3. The method for operating databases across language platforms according to claim 1, wherein the operations of various databases are performed based on the ORM operation capability of Java as follows:
analyzing a database model generated based on Sqlalchemy through a Python script to generate a Java edition operation entity of Hibernate;
and operating the Java edition operation entity through Java Hibernate to realize the operation of various databases by Java.
4. The method for operating databases across language platforms according to claim 1, wherein the database Join operation of various types of databases by Python and Java includes the steps of:
python and Java implement database Join operations based on associative operations between ORM operation capabilities and tables provided by Sqlalchemy.
5. The method of operating a database across a language platform of claim 1, wherein creating, destroying, and modifying database objects based on the generated database model comprises:
creating a table;
fields add, delete, and modify.
6. The method of claim 1, wherein the database of cross-language platform operations comprises Oracle, DB2, mysql, and PostgreSQL.
CN202110948709.4A 2021-08-18 2021-08-18 Method for operating database by cross-language platform Active CN113641745B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110948709.4A CN113641745B (en) 2021-08-18 2021-08-18 Method for operating database by cross-language platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110948709.4A CN113641745B (en) 2021-08-18 2021-08-18 Method for operating database by cross-language platform

Publications (2)

Publication Number Publication Date
CN113641745A CN113641745A (en) 2021-11-12
CN113641745B true CN113641745B (en) 2024-01-26

Family

ID=78422636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110948709.4A Active CN113641745B (en) 2021-08-18 2021-08-18 Method for operating database by cross-language platform

Country Status (1)

Country Link
CN (1) CN113641745B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10161923A (en) * 1996-11-28 1998-06-19 Toshiba Corp Object-oriented data base managing device
CN101145162A (en) * 2007-10-31 2008-03-19 金蝶软件(中国)有限公司 Data base dynamic inquiry method and system
CN102841889A (en) * 2011-06-20 2012-12-26 中兴通讯股份有限公司 Method and device for achieving efficient database access based on ORM (object relational mapping) architecture
CN103699620A (en) * 2013-12-19 2014-04-02 珠海世纪鼎利通信科技股份有限公司 Method and system for achieving database operation by utilizing object relational mapping (ORM) frame in object orientation
CN105260403A (en) * 2015-09-22 2016-01-20 广东同望科技股份有限公司 Universal cross-database access method
CN106095792A (en) * 2016-05-27 2016-11-09 ***股份有限公司 The method and apparatus generating database manipulation code
CN106649771A (en) * 2016-12-27 2017-05-10 广州杰赛科技股份有限公司 Data model updating method and system for database
CN108334620A (en) * 2018-02-08 2018-07-27 苏州蜗牛数字科技股份有限公司 A kind of method and device operating Cluster Database based on ORM frames
CN112015831A (en) * 2020-09-09 2020-12-01 深圳市绿联科技有限公司 Method, device and equipment for operating relational database based on C language

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6378126B2 (en) * 1998-09-29 2002-04-23 International Business Machines Corporation Compilation of embedded language statements in a source code program
US20100082646A1 (en) * 2008-09-26 2010-04-01 Microsoft Corporation Tracking constraints and dependencies across mapping layers
US8601016B2 (en) * 2011-08-30 2013-12-03 International Business Machines Corporation Pre-generation of structured query language (SQL) from application programming interface (API) defined query systems

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10161923A (en) * 1996-11-28 1998-06-19 Toshiba Corp Object-oriented data base managing device
CN101145162A (en) * 2007-10-31 2008-03-19 金蝶软件(中国)有限公司 Data base dynamic inquiry method and system
CN102841889A (en) * 2011-06-20 2012-12-26 中兴通讯股份有限公司 Method and device for achieving efficient database access based on ORM (object relational mapping) architecture
WO2012174767A1 (en) * 2011-06-20 2012-12-27 中兴通讯股份有限公司 Implementation method and device for orm structure-based high efficiency database access
CN103699620A (en) * 2013-12-19 2014-04-02 珠海世纪鼎利通信科技股份有限公司 Method and system for achieving database operation by utilizing object relational mapping (ORM) frame in object orientation
CN105260403A (en) * 2015-09-22 2016-01-20 广东同望科技股份有限公司 Universal cross-database access method
CN106095792A (en) * 2016-05-27 2016-11-09 ***股份有限公司 The method and apparatus generating database manipulation code
CN106649771A (en) * 2016-12-27 2017-05-10 广州杰赛科技股份有限公司 Data model updating method and system for database
CN108334620A (en) * 2018-02-08 2018-07-27 苏州蜗牛数字科技股份有限公司 A kind of method and device operating Cluster Database based on ORM frames
CN112015831A (en) * 2020-09-09 2020-12-01 深圳市绿联科技有限公司 Method, device and equipment for operating relational database based on C language

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于SQLAlchemy的研究和在数据库编程中的应用;陈忠菊;《电脑编程技巧与维护》(第1期);全文 *
基于关键词自学习的中文网页分类技术研究与实现;鞠亮;《武汉理工大学硕士学位论文》(第2期);全文 *

Also Published As

Publication number Publication date
CN113641745A (en) 2021-11-12

Similar Documents

Publication Publication Date Title
US10866791B2 (en) Transforming non-Apex code to Apex code
CN105518676B (en) Universal SQL enhancement to query arbitrary semi-structured data and techniques to efficiently support such enhancements
Bernstein et al. Model management 2.0: manipulating richer mappings
US8260824B2 (en) Object-relational based data access for nested relational and hierarchical databases
CN107861728B (en) Method and system for converting traditional program language into modern program language
US9940392B2 (en) Performing an object relational model query against a database that includes fields defined at runtime
US8881127B2 (en) Systems and methods to automatically generate classes from API source code
US7792851B2 (en) Mechanism for defining queries in terms of data objects
CN112235311B (en) OVSDB client code automatic generation method, system, device and medium
CN109885585A (en) Support the distributed data base system and method for storing process, trigger and view
CN110889013B (en) Data association method, device, server and storage medium based on XML
CN116244387A (en) Entity relationship construction method, device, electronic equipment and storage medium
KR101769848B1 (en) A data processing system using scripts by using commercial interpreter
CN113641745B (en) Method for operating database by cross-language platform
CN111241065A (en) Security multi-compatibility lightweight database adaptation development and operation device supporting domestic database
CN111782195A (en) Query method based on adding annotation on request parameter and splicing into SQL
CN108845793B (en) ORM design method and device
CN109857390B (en) Annotation transmission method of Git warehouse file annotation system
CN114385145A (en) Web system back-end architecture design method and computer equipment
KR101030368B1 (en) Systems and methods for the implementation of unordered and ordered collections in a data store
CN117193781B (en) SIMSCRIPT language-oriented abstract syntax tree construction method and device
US20230418574A1 (en) Using a semantic tree of a compiler to execute a semantic code query against source code
Munnecke et al. MUMPS: Characteristics and comparisons with other programming systems
CN116450609B (en) Method and equipment for modeling on heterogeneous data source based on unified grammar
US20240028594A1 (en) Query refactoring framework

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