CN113312378B - 建模方法、组件、设备、存储介质和数据仓库创建系统 - Google Patents

建模方法、组件、设备、存储介质和数据仓库创建系统 Download PDF

Info

Publication number
CN113312378B
CN113312378B CN202110854085.XA CN202110854085A CN113312378B CN 113312378 B CN113312378 B CN 113312378B CN 202110854085 A CN202110854085 A CN 202110854085A CN 113312378 B CN113312378 B CN 113312378B
Authority
CN
China
Prior art keywords
modeling
model
data
data model
original data
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
CN202110854085.XA
Other languages
English (en)
Other versions
CN113312378A (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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202110854085.XA priority Critical patent/CN113312378B/zh
Publication of CN113312378A publication Critical patent/CN113312378A/zh
Application granted granted Critical
Publication of CN113312378B publication Critical patent/CN113312378B/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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种建模方法、组件、设备、存储介质和数据仓库创建系统,该方法包括:响应于用户的输入操作,获取用预设建模语言描述的建模语句,识别获取到的建模语句包含的模型要素,并根据此模型要素建立原始数据模型。之后,再响应于模型的调整操作,获取计算机引擎的类型,以调整原始数据模型所支持的数据处理能力,从而完成符合计算引擎类型的数据模型的设计。上述方法中,在建立原始数据模型时,无需考虑计算引擎的类型,从而降低建模的开发成本,提高建模效率。同时,还可以自动得到针对不同类型的计算引擎的目标数据模型,可以进一步降低建模的开发成本,提高建模效率。

Description

建模方法、组件、设备、存储介质和数据仓库创建系统
技术领域
本发明涉及大数据技术领域,尤其涉及一种建模方法、组件、设备、存储介质和数据仓库创建系统。
背景技术
随着互联网的不断发展,企业的信息化程度也不断提高,使得企业数据也呈现出爆发式的增长。在这种背景下,商业智能(Business Intelligence,简称BI)技术就应运而生。利用BI技术可以对企业数据进行分析,以将分析结果作为企业的决策的依据。
在实际中,可以使用数据仓库中包括的数据模型对庞大的企业数据进行有序存储,以保证使用BI技术进行企业数据时分析的便捷性。因此,如何实现数据模型的高效建立就成为一个亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种建模方法、组件、设备、存储介质和数据仓库创建系统,用以高效地建立数据模型。
第一方面,本发明实施例提供一种建模方法,包括:
响应于用户的输入操作,获取用预设建模语言描述的建模语句;
识别所述建模语句中包含的模型要素;
根据所述模型要素,建立原始数据模型;
响应于模型的调整操作,根据计算引擎的类型,调整所述原始数据模型所支持的数据处理能力,以得到适用于所述计算引擎的目标数据模型。
第二方面,本发明实施例提供一种建模组件,包括:位于建模架构中模型层的转换子组件和位于解析层的解析子组件;
所述解析子组件,用于响应于用户的输入操作,获取用预设建模语言描述的建模语句;识别所述建模语句中包含的模型要素;根据所述模型要素,建立原始数据模型;
所述转换子组件,用于响应于模型的调整操作,根据计算引擎的类型,调整所述原始数据模型所支持的数据处理能力,以得到适用于所述计算引擎的目标数据模型。
第三方面,本发明实施例提供一种计算机程序产品,包括计算机程序/指令,其中,当计算机程序被处理器执行时,致使所述处理器实现上述第一方面中的建模方法。
第四方面,本发明实施例提供一种电子设备,包括处理器和存储器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的建模方法。该电子设备还可以包括通信接口,用于与其他设备或通信网络通信。
第五方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的建模方法。
第六方面,本发明实施例提供了一种数据仓库创建系统,包括:建模组件和计算引擎;
所述建模组件,用于响应于用户的输入操作,获取用预设建模语言描述的建模语句;识别所述建模语句中包含的模型要素;根据所述模型要素,建立原始数据模型;响应于模型的调整操作,根据计算引擎的类型,调整所述原始数据模型所支持的数据处理能力,以得到适用于所述计算引擎的目标数据模型;
所述计算引擎,用于获取原始数据;根据所述原始数据和所述目标数据模型,建立所述原始数据对应的数据仓库。
本发明实施例提供的建模方法,响应于用户的输入操作,获取用预设建模语言描述的建模语句,识别获取到的建模语句包含的模型要素,并根据此模型要素建立原始数据模型,即实现数据模型的初步设计。之后,再响应于模型的调整操作,获取计算机引擎的类型,以调整原始数据模型所支持的数据处理能力,从而得到适用于此计算引擎的目标数据模型,也即是完成符合计算引擎类型的数据模型的设计。
上述方法中,在建立原始数据模型时,无需考虑计算引擎的类型,从而降低建模的开发成本,提高建模效率。同时,响应于用户的调整操作,还可以自动得到针对不同类型的计算引擎的目标数据模型。相比于开发人员分别为不同类型的计算引擎开发专门适用的数据模型,借助调整功能,可以进一步降低建模的开发成本,提高建模效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据仓库创建系统的结构示意图;
图2为本发明实施例提供的一种维度模型的示意图;
图3为本发明实施例提供的一种实体-联系模型的示意图;
图4为本发明实施例提供的一种数据仓库创建系统执行过程的信令图;
图5为本发明实施例提供的一种建模组件的结构示意图;
图6为本发明实施例提供的一种数据仓库建立的信令图;
图7为本发明实施例提供的一种建模方法的流程图;
图8为本发明实施例提供的建模方法对应的操作界面;
图9为本发明实施例提供的另一种建模方法的流程图;
图10为本发明实施例提供的数据仓库创建系统和建模方法应用到在线教育场景中得到的实体-联系模型;
图11为本发明实施例提供的建模方法对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于识别”。类似地,取决于语境,短语“如果确定”或“如果识别(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当识别(陈述的条件或事件)时”或“响应于识别(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
利用本发明下述的各实施例提供的建模方法可以得到数据模型,进一步地,还可以借助计算引擎将数据填充中此数据模型,以实现数据仓库的建立。则在对本发明下述各实施例提供的建模方法进行说明之前,还可以对数据仓库创建的背景进行说明:
正如背景技术中提及的,数据仓库借助自身的数据模型可以对海量的企业数据进行有序存储。借助数据仓库,企业能够对企业数据进行快速、清晰地分析,并将分析结果作为企业的决策的依据。其中,保存在数据仓库中的企业数据可以是在为用户提供整个目标服务过程中采集到的服务数据,也可以是在目标服务包含的至少一个服务环节中采集的服务数据。
举例来说,目标服务可以是购物服务,具体可以包括线上购物和线下购物。对于整个购物服务,从商家角度具体可以包括进货环节、入库环节,从消费者角度具体还可以包括出售环节等等,则服务数据可以是在前述至少一个环节中采集到的数据。举例来说,在进货环节采集到的服务数据可以包括进货日期、进货数量、进货产品信息等等;在出售环节采集到的服务数据可以包括消费者标识、购买产品信息、购买数量、购买日期、促销力度等等。
目标服务还可以是在线教育服务。在线教学服务可以包括在线教学环节、学习质量反馈环节等等。在线教学环节即老师为学生进行在线授课的过程;学习质量反馈环节即学生进行课后考试,考试成绩直接反馈学习质量。则在在线教学环节采集到的服务数据可以包括学生标识、教师标识、学习科目、学习时长等等。在学习质量反馈环节采集到的服务数据可以包括学生标识、教师标识、考试科目、考试成绩等等。
其中,目标服务可以是任一种服务,并不限于上述的举例。对于不同的目标服务产生的服务数据,均可以使用本发明各实施例提供的数据仓库创建系统或者建模方法。上述的服务数据也即是下述各实施例中的原始数据。
除此之外,对于其他具有大数据分析需求的场景,也可以使用本发明各实施例提供的数据仓库创建系统或者建模方法,以最终利用建立的数据仓库实现大数据分析。
基于上述描述,下面结合附图对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
为了描述清晰,可以先从整个数据仓库创建的过程描述数据模型的建模过程。则本发明提供的下述各实施例中均是以在线购物服务的零售环节中采集到的服务数据为例来描述数据模型建立以及数据仓库建立的过程。下述各实施例中可以将采集到的服务数据称为原始数据。
图1为本发明实施例提供的一种数据仓库创建系统的结构示意图。该系统包括:建模组件和计算引擎。
可选地,系统中的建模组件和计算引擎可以是相互独立的,也即是图1中包含的建模组件也可以不部署于图1所示的系统中,即此建模组件可以独立于系统而单独使用。当然,建模组件也可以嵌入数据仓库创建系统包含的计算引擎中,本发明各实施例并不对二者的关系进行限定。
可选地,系统中的计算引擎可以是用于大数据处理的任一种计算引擎,比如Cloudera’s Distribution Including Apache Hadoop简称,CDH)、MaxCompute大数据计算引擎等等。
则基于上述系统,数据模型建立的过程可以描述为:
首先,在建模组件提供的操作界面中,用户即开发人员可以在操作界面中触发输入操作,建模组件响应于用户的输入操作,获取用户输入的、用预设建模语言描述的建模语句。可选地,在用户输入建模语句的过程中,建模组件还可以提供自动补全功能,以提高建模语句的输入速度和输入准确度;建模组件还可以提供语法高亮功能,以增强建模语句的可读性。
其中,预设建模语言可以包括类结构化查询语言(Structured Query Language,简称SQL)中的一种领域特定语言(Domain Special Language,简称DSL),比如可以是快速建模语言(Fast Modeling Language,简称FML),也可以是可扩展标记语言(ExtensibleMarkup Language,简称XML),也可以是JS 对象简谱(JavaScript Object Notation,简称JSON)等等。
然后,建模组件用户输入的建模语句中包含的模型要素,并根据解析出的模型要素建立原始数据模型。其中,建立出的原始数据模型中已经规定了模型支持数据类型以及对数据的处理能力,此时也即是完成了数据模型的初步设计。
可选地,建模组件对建模语句的解析可以包括对建模语句的语义识别,识别出的语义能够描述模型要素。其中,模型要素概括来说可以包括数据模型的静态特性、动态特性和完整性约束条件。
接着,建模组件响应于用户触发的调整操作,获取计算引擎的类型,并根据计算引擎的类型,调整原始数据模型所支持的数据处理能力,也即是将原始数据模型转换为适用于计算引擎的目标数据模型。
可选地,如图1所示,建模组件具体可以包括转换子组件和解析子组件。则建模组件中的解析子组件响应于用户的输入操作,以及用于识别建模语句包含的模型要素,也即是实现对建模语句的语义识别。转换子组件用于响应于用户触发的调整操作,进行数据模型的转换。
其中,对于原始数据模型的转换,由于上述建立的原始数据模型支持的数据格式可能与计算引擎支持的数据格式不同,和/或原始数据模型具有的数据处理能力可能与计算引擎具有的数据处理能力不同。所以,数据模型的转换就相当于是对数据格式和/或数据处理能力进行统一的过程,也即是调整原始数据模型的数据格式和/或数据处理能力,使其与计算引擎相匹配的过程。
其中,建立数据仓库时使用的原始数据可以是在零售环节中采集到的消费者产生的交易记录。每条交易记录中可以包括消费者标识、店铺位置、交易日期、交易金额、交易商品明细等等字段。此时,数据模型和计算引擎各自具有的数据处理能力可以是对原始数据中不同字段的处理能力,比如数据模型能够对原始数据中的各个字段进行修改,计算引擎能对特定的字段进行修改等等。
在实际中,建模组件可以根据实际需要建立不同类型的数据模型,则不同类型的数据模型,其所包含的模型要素的具体内容通常也不同。
可选地,数据模型可以是任一种概念模型,比如可以是维度模型,模型要素具体包括维度表、事实表以及量表之间的层次关系。而维度模型中事实表和维度表的划分可以根据原始数据中包含的不同字段进行划分。
承接上述举例,原始数据可以包含在零售环节中采集到的交易记录,此时,根据交易记录中包含的字段,可以划分出一张零售事实表以及日期维度表、店铺维度表、客户维度表、商品维度表等至少一张维度表。并且维度表和事实表之间的层次关系可以如图2所示。其中,日期维度表中可以包含交易日期指标,店铺维度表中包含店铺位置指标,客户维度表中包含订单号指标、消费者标识指标、交易金额指标等等,商品维度表中包含交易商品明细。
可选地,数据模型也可以是实体-联系模型(即E-R模型),此模型要素具体包括零售环节存在的实体以及各实体与实体之间的联系,可以如图3所示。
经过上述转换步骤也即是完成了目标数据模型的建立。并且在上述过程中,建模组件中的解析子组件用于获取用预设建模语言描述的建模语句,并识别获取到的建模语句包含的模型要素,从而实现数据模型的初步设计。也即是在数据模型的初步设计过程中无需考虑计算引擎的类型,专注开发原始数据模型即可,从而能够降低建模的开发成本,提高建模效率。之后,转换子组件获取计算机引擎的类型,以进一步得到设计得到符合计算引擎类型的目标数据模型相比于开发人员分别为不同类型的计算引擎开发专门适用的数据模型,借助调整功能,可以进一步降低建模的开发成本,提高建模效率。
基于上述得到的目标数据模型,还可以通过下述方式进一步完成数据仓库的建立:计算引擎将原始数据填入目标数据模型,从而建立起原始数据对应的数据仓库,也即是完成了数据模型的物理实现过程。
在实际中,由于建模组件建立的原始数据模型往往与计算引擎不适配。因此,还需要响应于用户触发的调整操作,进一步利用建模组件中的转换子组件将原始数据模型转换为专门适用于计算引擎的目标数据模型,从而使计算引擎能够根据目标数据模型建立数据仓库,也即是实现了数据模型的建立和物理实现之间的解耦。
在图1所示实施例的基础上,图4为本发明实施例提供的另一种数据仓库创建系统的结构示意图。该系统还包括:数据集成组件。
数据集成组件可以获取原始数据并对原始数据进行数据集成。其中,数据集成的过程可以为按照原始数据模型包含的模型要素,对原始数据进行划分。通过划分能够得到数据与模型要素之间的对应关系,也即是区分出原始数据中能够描述模型的静态特性、动态特性和完整性约束条件的数据。
若原始数据包含消费者在零售环节产生的交易记录,并且原始数据模型是维度模型,则数据集成组件对原始数据的划分可以为:将交易记录中不同字段的数据划分成维度表或者事实表中的指标。维度表和事实表中包含的指标可以参见图1所示实施例中的相关描述。
在完成原始数据的集成处理后,计算引擎还可以进一步根据划分结果和目标数据模型建立数据仓库,也即是将原始数据中不同字段的数据分别填入目标数据模型。
可选地,数据集成组件还可以设置原始数据的获取周期和划分周期。可选地,数据集成组件还可以建立服务器与数据集成组件之间的数据同步通道,并通过此同步通道实现原始数据从服务器到数据集成组件的同步。其中,服务器可以由提供在线购物服务的服务方维护,其中可以存储有消费者在零售环节产生的交易记录。
可选地,本发明并不限定数据集成过程和原始模型的建立过程之间的时序顺序。
本实施例中,利用数据集成组件对原始数据进行划分处理,能够使原始数据正确地填入目标模型中,从而得到准确的数据仓库。
可选地,在图1所示系统的基础上,图5为本发明实施例提供的一种建模组件的结构示意图。该建模组件中的解析子组件具体可以包括:语法解析子组件和语义解析子组件。
用户可以在建模组件提供的操作界面上输入建模语句,以使语义解析子组件根据内部预先定义的语法规则对建模语句进行语义识别,从而解析出建模语句中包含的模型要素,并根据解析出的模型要素建立原始数据模型。
具体来说,当用户输入的建模语句是FML语句,则语义解析子组件会将该FML语句转换成对应的抽象语法树(Abstract Syntax Tree,简称AST),以根据此抽象语法树识别出模型要素,进一步建立原始数据模型。
同时,在建模完成后,语义解析子组件还可以生成建模完成通知,并将其展示于建模组件提供的操作界面上,以通知用户建模完成。
可选地,在语义解析之前,还可以先对用户输入的建模语句进行语法解析,则建模组件还可以包括语法解析子组件。
此时,用户输入的建模语句会先被语法解析子组件获取到,以进行语法检查。若建模语句的语法正确,则再利用语义解析子组件识别建模语句的语义。具体来说,对建模语句的语法检查具体又可以包括句法检查和词法检查。并且在实际中,语法解析子组件具体可以是Another Tool for Language Recognition组件,简称ANTLR组件。
可选地,建模组件还可以包括驱动子组件。在建模过程中,用户能够在建模组件提供的操作界面上触发输入操作,则建模组件中驱动子组件可以认为是接口,以使用户输入的建模语句能够依次被上述的语法解析子组件和语义解析子组件得到。在实际中,驱动子组件可以包括Java数据库连接(Java Database Connectivity,简称JDBC)或者picocli等等。
可见,借助建模组件中的驱动子组件、语法解析子组件以及语义解析子组件可以实现原始数据模型的建立。
可选地,建模组件还可以包括:存储器,用于在原始数据模型建立后自动保存,或者响应于用户触发的保存操作,保存原始数据模型。
可选地,用户还可以根据实际需求对原始数据模型进行修改,此时,用户在建模组件提供的操作界面上输入针对原始数据模型的修改语句,则存储器可以实时保存更新后的原始数据模型。也即是利用建模组件的存储器可以实现建模和模型存储的同步进行。
在实际中,还存在一种分布进行模型的建立和存储的方式。并且模型的存储过程可以是在建模完成后,人工编写用于描述模型要素的文档,也即是以文档的形式保存数据模型。而后续修改数据模型时,也是以此文档为依据进行的。但这种分步的方式很容易出现文档更新不及时的情况,从而进一步影响模型更新的效果。而本实施例中,借助建模组件中的存储器,可以保证模型更新的及时性,也可以保证模型的更新效果。
可选地,建模组件还可以包括:可视化子组件。
在建立原始数据模型后,用户还可以在建模组件提供的操作界面上触发模型的可视化操作,此时同样也可以借助驱动子组件,使可视化子组件响应此可视化操作,展示原始数据模型。可选地,当原始数据模型为E-R模型时,其的展示形式可以是E-R图。可选地,可视化子组件可以是任一种文本绘图工具。
另外,在语法解析子组件进行语法检查时,若建模语句存在语法错误,可以也可以借助可视化子组件在建模组件提供的操作界面上展示建模语句中的语法错误。
建模组件借助上述提及的各组件可以实现原始数据模型的建立、展示和存储。可选地,建模组件还可以包括:转换子组件。
在原始数据模型建立完成后,用户还可以在建模组件提供的操作界面触发模型调整操作。此时,可以借助驱动子组件使建模组件对此操作进行响应,以获取计算引擎的类型,转换子组件则可以根据计算引擎的类型,调整原始数据模型所支持的数据处理能力和原始数据模型的查询语言,以得到目标数据模型,此目标数据模型所支持的数据类型以及对数据的处理能力与计算引擎保持一致。对于模型转换的相关描述还可以参见图1所示实施例中的相关描述,在此不再赘述。
可选地,计算引擎在完成数据仓库的建立后,还可以向用户发送通知。
创建数据仓库的过程还可以结合图6所示的信令图理解,而在图6中并未示出建模组件中的存储器和可视化子组件。并且需要说明的有,本实施例中所示的建模组件的具体结构也可以应用到图4所示的系统中。
并且需要说明的有,建模组件具有相应的建模架构,建模架构依次包括可视化层—驱动层—解析层—建模层—存储层。则图5中所示的各子组件与架构之间的关系,可以描述为:可视化组件位于可视化层,驱动子组件位于驱动层,转换子组件位于模型层,语法解析子组件和语义解析子组件位于解析层,存储器位于存储层。
本实施例中,建模组件具体可以包括多个子组件,并且通过子组件之间的相互作用以实现原始数据模型的建立以及后续数据模型的转换。具体来说,建模组件可以借助自身的驱动子组件、语法解析子组件以及语义解析子组件实现原始数据模型的建立;借助转换子组件使自身具有数据模型的转换能力,以提供数据模型的建立效率。
另外,本实施例提供的建模组件还可以包含于图1所示的数据仓库建立系统中,以实现数据仓库的建立。此时,能够保证数据模型建立和数据仓库建立的解耦;借助存储器使自身具有实时存储能力,从而保证原始数据模型的及时更新。此时,数据仓库建立过程的具体过程和所能达到的有益效果可以参见图1所示实施例中的相关描述,在此不再赘述。
基于上述各实施例,图7为本发明实施例提供的一种建模方法的流程图。本发明实施例提供的该建模方法可以由上述各实施例中的建模组件来执行。如图7所示,该方法包括如下步骤:
S101,响应于用户的输入操作,获取用预设建模语言描述的建模语句。
S102,识别建模语句中包含的模型要素。
S103,根据模型要素,建立原始数据模型。
用户可以在建模组件提供的操作界面上输入用预设建模语言描述的建模语句。以使建模组件获取建模语句。之后,建模组件还可以识别建模语句中包含的模型要素,并根据模型要素建立原始数据模型。此步骤可以认为是数据模型的初步设计过程。
具体地,建模组件可以提供如图8中的(a)所示的操作界面。一种可选地方式,用户可以直接在该操作界面右侧的输入区域输入建模语句。另一种可选地方式,用户还可以借助创建界面中提供的导入按钮,将在其他平台编写的开发文档直接导入到建模组件中,导入后的开发文档可以显示于操作界面右侧的输入区域内。之后,建模组件即可识别用户输入的建模语句包含的模型要素,建立原始数据模型。
可选地,建模组件对建模语句的识别可以认为是对建模语句的解析,并且此种解析具体又可以分为语法检查和语义识别两阶段。具体来说,在建模组件获取建模语句后,可以先检查建模语句的语法是否正确。若建模语句的语法正确,则再进一步识别建模语句的语义,得到模型要素。其中,语法检查具体又可以包括句法检查和词法检查。
如图5所示的实施例,建模语句的获取可以借助建模组件中的驱动子组件实现,建模语句的语法检查可以借助语法解析子组件实现,建模语句的语义识别可以借助语义解析子组件实现。
S104,响应于模型的调整操作,根据计算引擎的类型,调整原始数据模型所支持的数据处理能力,以得到适用于计算引擎的目标数据模型。在基于上述步骤得到的原始数据模型后,建模组件还可以响应于用户触发的调整操作进行模型转换,以将原始数据模型转换为适用于计算引擎的目标数据模型。
可选地,模型转换的过程可以理解为调整原始数据模型所支持的数据处理能力以原始数据模型的查询语言,以使转换后的目标数据模型所支持的数据类型以及对数据的处理能力与计算引擎相同。其中,模型转换的具体过程和意义可以参见图1所示实施例中的相关描述。
可选地,用户可以在建模组件提供的操作界面上触发调整操作,以使建模组件响应于此操作,开始数据模型的转换。其中,可以借助建模组件中的驱动子组件使建模组件对数据仓库的建立操作进行响应。
其中,与图1~图6所示实施例相同的,在本方法实施例中建立的原始数据模型也可以是维度模型或者实体-联系模型等等,则不同原始数据模型的模型要素的具体表现形式可以参见图2和图3。
另外,本实施例中未详细描述的内容,也可以参见图1~图6所示系统实施例中的相关描述,在此不再赘述。
本实施例中,响应于用户的输入操作,获取用预设建模语言描述的建模语句,识别获取到的建模语句包含的模型要素,并根据此模型要素建立原始数据模型,即实现数据模型的初步设计。之后,再响应于模型的调整操作,获取计算机引擎的类型,以调整原始数据模型所支持的数据处理能力,从而得到适用于此计算引擎的目标数据模型,也即是完成符合计算引擎类型的数据模型的设计。
上述方法中,在建立原始数据模型时,无需考虑计算引擎的类型,从而降低建模的开发成本,提高建模效率。同时,响应于用户的调整操作,还可以自动得到针对不同类型的计算引擎的目标数据模型。相比于开发人员分别为不同类型的计算引擎开发专门适用的数据模型,借助调整功能,可以进一步降低建模的开发成本,提高建模效率。
上述图1~图6所示的实施例中已经提及基于建立的目标数据模型,还可以进一步进行数据仓的建立,则图9为本发明实施例提供的另一种建模方法的流程图。在图7所示实施例的基础上,在步骤104之后,如图9所示,该方法包括如下步骤:
S201,发送目标数据模型至计算引擎,以使计算引擎根据原始数据以及目标数据模型,建立原始数据对应的数据仓库。
建模组件发送目标数据模型后,如图4所示数据仓库创建系统中的数据集成组件还可以进一步获取原始数据,并根据原始数据模型的模型要素划分原始数据,对于原始数据的解释可以参见图1所示实施例中的相关描述,在此不再赘述。
可选地,建模组件还可以通过驱动子组件,使数据集成组件对用户触发的、数据仓库的创建操作进行响应,以获取并划分原始数据。通过划分能够区分出原始数据中用于描述模型的静态特性、动态特性和完整性约束条件的数据,也即是能够得到数据与模型要素之间的对应关系。对数据的划分过程也可以参见上述图4所示实施例中的相关描述,在此不再赘述。
可选地,数据集成组件还可以设置原始数据的获取周期和划分周期。可选地,数据集成组件还可以建立服务器与数据集成组件之间的数据同步通道,通过此同步通道实现原始数据从服务器到数据集成组件的同步。
在完成数据划分后,计算引擎可以进一步获取划分结果,并根据此划分结果和目标数据模型建立数据仓库,也即是将原始数据中不同字段的数据分别填入目标数据模型。
可选地,用户在建模组件提供的操作界面上触发创建操作可以是用户点击操作界面上的“模型发布”按钮。
另外,本实施例中未详细描述的内容,也可以参见图1~图7所示实施例中的相关描述,在此不再赘述。
可选地,建模组件还可以包括存储器,用于存储建立完成的原始数据模型。也即是利用建模组件的存储器可以实现建模和模型存储的同步进行,以保证数据模型更新的准确和及时。详细描述可以参见图5所示实施例中的相关描述。
本实施例中,利用数据集成组件对原始数据进行划分处理,能够使原始数据正确地填入目标模型中,从而得到准确的数据仓库。另外,本实施例能够实现的其他技术效果还可以参见图7所示实施例中的内容,在此不再赘述。
可选地,建模工具还可以提供数据模型的可视化。在得到原始数据模型后,用户还可以对创建界面上的可视化按钮触发操作,以使建模工具展示原始数据模型。其中,原始数据模型可以展示在一个全新的窗口中,也可以悬浮展示于创建界面上,可以结合图8中的(b)理解。
可选地,计算引擎在完成数据仓库的建立后,生成表明数据仓库建立完成的通知信息,同时还会生成关于此数据仓库的创建日志,此日志中可以包括数据仓库的创建时间、数据仓库中数据模型的类型等等。计算引擎会将通知信息和日志一并发送给建模工具。建模工具响应于用户触发的日志展示操作,展示建立日志。
本实施例能够实现的技术效果还可以参见上述各实施例中的相关描述,在此不再赘述。
为了便于理解,结合在线购物服务中的零售环节对以上提供的数据仓库创建系统和方法的具体实现过程进行示例性说明。
用户A可以对终端设备上安装的购物APP触发下单操作。之后,在线购物平台维护的服务器会针对用户A此下单操作生成一条交易记录并保存。在实际的一段时间内,服务器可以得到多条交易记录。交易记录的表现形式可以为:
订单号100010214522;用户A;位于M地的店铺B;商品1,数量1;商品2,数量3;交易金额N元;交易时间2021年3月18日。
其中,交易记录中的字段包括订单号、用户标识、店铺位置、商品明细、交易时间以及交易金额,订单号字段对应的指标为:100010214522。用户标识对应的指标为:用户A。店铺位置字段对应的指标为:位于M地的店铺B。商品明细对应的指标为:商品1,数量1;商品2,数量3。交易金额对应的指标为:N元。交易时间对应的指标为:2021年3月18日。
此时,需要为多条交易记录建立对应的数据仓库,以使交易记录的存储更加有序,方便借助此数据仓库分析在线购物平台的销售情况。则数据仓库的创建过程可以描述为:
首先,数据仓库创建系统中的建模组件可以提供操作界面,以由开发人员在操作界面上输入建模语句。建模组件响应于此输入操作,可以借助建模组件中的驱动子组件,使建模组件中的语法解析子组件对建模语句进行语法检查。具体来说是检查建模语句的句法和词法。
对于存在语法错误的建模语句,还可以借助建模组件中的可视化子组件,将建模语句中的语法错误展示在建模组件提供的操作界面上。对于语法正确的建模语句,还可以进一步借助建模组件中的语义解析子组件识别建模语句的语义,以得到建模语句的模型要素,从而建立起原始维度模型。并且后续的目标数据模型也是维度模型。
在建立原始维度模型的过程中,开发人员输入的建模语句可以为:CREATE FACTTABLE ORDERID (ORDERID BIGINT) CONMENT‘TABLE’。语义解析子组件识别出建模语句的语义为:建立一张零售事实表,并且该零售事实表中存储有交易记录中的订单号字段(即ORDERID)以及该字段对应的指标,并且该指标存储为BIGINT数据类型。
根据上述描述可知,建模组件中的驱动子组件、语法解析子组件、语义解析子组件的结合使用,可以对开发人员输入的建模语句进行处理,以生成原始维度模型中的各维度表和事实表,也即是完成了数据模型的设计过程。其中,维度表和事实表之间的层次关系可以参见图2。
可选地,在实际中,建模组件中的存储器还可以对上述得到原始维度模型进行实时保存,以实现模型设计和存储的同时进行。当数据模型需要更新时,开发人员可以直接以保存的原始维度模型为基础进行模型更新,能够保证维度模型更新的准确性。
之后,开发人员还可以在建模组件提供的操作界面上进一步触发数据仓库的建立操作。建模组件响应于此建立操作,可以借助建模组件中的驱动子组件,使建模组件中的转换子组件根据计算引擎的类型,将原始维度模型转换为目标维度模型。在实际中,原始维度模型和目标维度模型支持的数据格式通常不同。
在模型转换的同时,建模组件还可以借助驱动子组件,使数据仓库创建系统中的数据集成组件对服务器中保存的交易记录包含的字段进行划分,即将订单号字段划分到零售事实表,承接上述举例,订单号字段包含的订单号“100010214522”为零售事实表中的指标。类似地,也可以将用户标识字段和交易金额字段划分到客户维度表中,将交易日期字段划分到日期维度表中,将交易商品明细字段划分到商品维度表中。
最终,根据划分结果,将交易记录中不同字段以及字段对应的指标分别填入相应的零售事实表和多个维度表中,从而建立起交易记录对应的数据仓库,也即是实现了维度模型的物理实现。
根据上述描述可知,由于建模组件具有转换功能,因此,开发人员在设计原始维度模型时,无需考虑计算引擎的类型,也实现了模型的设计和物理实现的解耦,从而能够降低模型设计的开发成本,提高开发效率。
除了上述举例,还结合在线教育服务对以上提供的数据仓库创建系统和方法的具体实现过程进行示例性说明。
假设学生A是某在线教育平台的学员,学生A可以产生多条上课记录以及考试记录,这些记录可以存储在在线教育平台维护的服务器内。
上课记录的表现形式可以为:学号1560;姓名A;课程表B;学习课程C;授课教师D;学习时长2小时;在线学习时间2021年3月18日14:00~16:00。
考试记录的表现形式可以为:学号1560;姓名A;考试表B;考试科目C;授课教师D;考试时间2021年3月18日16:00~17:00;考试成绩:80分。
其中,与上述在线购物服务类似的,上课记录和考试记录中也同时包含学号、姓名、授课教师等字段,以及各字段对应的指标。
此时,可以根据多条上课记录和考试记录建立数据仓库,便于分析学员在线教育平台上的学习情况和学习质量。则数据仓库的创建过程可以描述为:
首先,数据仓库创建系统中的建模组件可以提供操作界面,以由开发人员在操作界面上输入建模语句。
建模组件可以利用内部的驱动子组件、语法解析子组件、语义解析子组件对开发人员输入的建模语句进行语法检查和语义识别,从而生成原始E-R模型,也即是完成了数据模型的设计过程。原始E-R模型中实体与实体之间的联系可以如图9所示。
之后,开发人员还可以触发数据仓库的建立操作。建模组件响应于此建立操作,并借助建模组件中的驱动子组件,使建模组件中的转换子组件根据计算引擎的类型,将原始E-R模型转换为目标E-R模型。
在模型转换的同时,建模组件还可以借助驱动子组件,使数据仓库创建系统中的数据集成组件对服务器中保存的上课记录和考试记录包含的字段进行划分。承接上述上课记录和考试记录中包含的字段和指标,此处的划分可以认为是将上课记录和考试记录中不同的字段及其指标与图10中的各实体建立关联的过程。其中,与实体管理的字段可以认为是实体的属性。
具体地,课程实体与上课记录中的课程字段及其指标关联。课程表实体与课程表字段及其指标关联。上课实体与学号、姓名、授课教师、学习时长、在线学习时间及各自的指标关联。
考试实体与考试科目、考试成绩字段、考试时间字段及各自的指标关联。学生实体与学号字段、姓名字段及各自的指标关联。考试表与考试表字段及其指标关联。教师实体与考试记录中的授课教师及其指标关联。
最终,将划分后的上课记录和考试中不同字段及其对应的指标分别与目标E-R模型中的实体建立关联,从而建立起交易记录对应的数据仓库,也即是实现了E-R模型的物理实现。
根据上述描述可知,由于建模组件具有转换功能,因此,开发人员在设计原始E-R模型时,无需考虑计算引擎的类型,也实现了模型的设计和物理实现的解耦,从而能够降低模型设计的开发成本,提高开发效率。
可选地,在实际中,建模组件中的存储器还可以对上述得到原始E-R模型进行实时保存,以实现模型设计和存储的同时进行。当数据模型需要更新时,开发人员可以直接以保存的原始E-R模型为基础进行模型更新,能够保证模型更新的准确性。
在一个可能的设计中,建模方法可以应用在一电子设备中,如图11所示,该电子设备可以包括:处理器11和存储器12。其中,所述存储器12用于存储支持该电子设备执行上述图7至图9所示实施例中提供的建模方法的程序,所述处理器11被配置为用于执行所述存储器12中存储的程序。
所述程序包括一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器11执行时能够实现如下步骤:
响应于用户的输入操作,获取用预设建模语言描述的建模语句;
识别所述建模语句中包含的模型要素;
根据所述模型要素,建立原始数据模型;
响应于模型的调整操作,根据计算引擎的类型,调整所述原始数据模型所支持的数据处理能力,以得到适用于所述计算引擎的目标数据模型。
可选地,所述处理器11还用于执行前述图7至图9所示实施例中的全部或部分步骤。
其中,所述电子设备的结构中还可以包括通信接口13,用于该电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存上述电子设备所用的计算机软件指令,其包含用于执行上述图7至图9所示方法实施例中建模方法所涉及的程序。
另外,本发明实施例提供了一种计算机程序产品,包括计算机程序/指令,其中,当计算机程序被处理器执行时,致使所述处理器实现上述图7至图9所示方法实施例中建模方法所涉及的程序。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种建模方法,其特征在于,应用于建模组件,包括:
响应于用户的输入操作,获取用预设建模语言描述的建模语句;
识别所述建模语句中包含的模型要素;
根据所述模型要素,建立原始数据模型;
响应于模型的调整操作,获取计算引擎的类型,根据所述计算引擎的类型,调整所述原始数据模型所支持的数据处理能力以及所述原始数据模型的查询语言,以得到适用于所述计算引擎的目标数据模型。
2.根据权利要求1的方法,其特征在于,所述识别所述建模语句中包含的模型要素,包括:
检查所述建模语句的语法是否正确;
若所述建模语句的语法正确,则识别所述建模语句的语义,以得到所述模型要素。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于模型的可视化操作,展示所述原始数据模型。
4.根据权利要求1所述的方法,其特征在于,所述响应于模型的调整操作,根据计算引擎的类型,调整所述原始数据模型所支持的数据处理能力,以得到适用于所述计算引擎的目标数据模型之后,所述方法还包括:
发送所述目标数据模型至所述计算引擎,以使所述计算引擎根据获取到的原始数据以及所述目标数据模型,建立所述原始数据对应的数据仓库。
5.根据权利要求4所述的方法,其特征在于,所述目标数据模型包括维度模型,所述模型要素包括维度表、事实表以及所述维度表和所述事实表之间的层次关系,所述原始数据包括在目标服务包含的至少一个服务环节中采集的数据,所述维度表和所述事实表包括所述原始数据中的至少一个字段。
6.一种建模组件,其特征在于,包括:位于建模架构中模型层的转换子组件和位于解析层的解析子组件;
所述解析子组件,用于响应于用户的输入操作,获取用预设建模语言描述的建模语句;识别所述建模语句中包含的模型要素;根据所述模型要素,建立原始数据模型;
所述转换子组件,用于响应于模型的调整操作,获取计算引擎的类型,根据所述计算引擎的类型,调整所述原始数据模型所支持的数据处理能力以及所述原始数据模型的查询语言,以得到适用于所述计算引擎的目标数据模型。
7.根据权利要求6所述的组件,其特征在于,所述解析子组件具体包括:语法解析子组件和语义解析子组件;
所述语法解析子组件,用于检查所述建模语句的语法是否正确;
所述语义解析子组件,用于若所述建模语句的语法正确,则识别所述建模语句的语义,以得到所述模型要素。
8.一种数据仓库创建系统,其特征在于,包括:建模组件和计算引擎;
所述建模组件,用于响应于用户的输入操作,获取用预设建模语言描述的建模语句;识别所述建模语句中包含的模型要素;根据所述模型要素,建立原始数据模型;响应于模型的调整操作,获取所述计算引擎的类型,根据所述计算引擎的类型,调整所述原始数据模型所支持的数据处理能力以及所述原始数据模型的查询语言,以得到适用于所述计算引擎的目标数据模型;
所述计算引擎,用于获取原始数据;根据所述原始数据和所述目标数据模型,建立所述原始数据对应的数据仓库。
9.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至5中任一项所述的建模方法。
10.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至5中任一项所述的建模方法。
CN202110854085.XA 2021-07-28 2021-07-28 建模方法、组件、设备、存储介质和数据仓库创建系统 Active CN113312378B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110854085.XA CN113312378B (zh) 2021-07-28 2021-07-28 建模方法、组件、设备、存储介质和数据仓库创建系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110854085.XA CN113312378B (zh) 2021-07-28 2021-07-28 建模方法、组件、设备、存储介质和数据仓库创建系统

Publications (2)

Publication Number Publication Date
CN113312378A CN113312378A (zh) 2021-08-27
CN113312378B true CN113312378B (zh) 2022-02-01

Family

ID=77382005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110854085.XA Active CN113312378B (zh) 2021-07-28 2021-07-28 建模方法、组件、设备、存储介质和数据仓库创建系统

Country Status (1)

Country Link
CN (1) CN113312378B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819609A (zh) * 2012-08-23 2012-12-12 国电南京自动化股份有限公司 一种持久化数据模型建模方法
CN104598223A (zh) * 2014-12-30 2015-05-06 北京华为数字技术有限公司 一种网络建模语言解析方法及装置
CN105138771A (zh) * 2015-08-25 2015-12-09 国网江西省电力公司鹰潭供电分公司 基于电力调度自动化规则引擎的数据建模工具
US20160147850A1 (en) * 2014-11-25 2016-05-26 Patrick Winkler Enterprise data warehouse model federation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949650A (zh) * 2019-05-15 2020-11-17 华为技术有限公司 一种多语言融合查询方法及多模数据库系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102819609A (zh) * 2012-08-23 2012-12-12 国电南京自动化股份有限公司 一种持久化数据模型建模方法
US20160147850A1 (en) * 2014-11-25 2016-05-26 Patrick Winkler Enterprise data warehouse model federation
CN104598223A (zh) * 2014-12-30 2015-05-06 北京华为数字技术有限公司 一种网络建模语言解析方法及装置
CN105138771A (zh) * 2015-08-25 2015-12-09 国网江西省电力公司鹰潭供电分公司 基于电力调度自动化规则引擎的数据建模工具

Also Published As

Publication number Publication date
CN113312378A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
US11222269B2 (en) Cognitive media content
US10831449B2 (en) Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
US11074250B2 (en) Technologies for implementing ontological models for natural language queries
US10303441B2 (en) Process and system for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
CN104462460B (zh) 一种构造rest风格的本体标注可视化系统的方法
Boulila et al. A business intelligence based solution to support academic affairs: case of Taibah University
CN112036153B (zh) 工单纠错方法、装置、计算机可读存储介质和计算机设备
López et al. Assisted declarative process creation from natural language descriptions
Mitrovic et al. Teaching database design with constraint-based tutors
CN113312378B (zh) 建模方法、组件、设备、存储介质和数据仓库创建系统
US10936557B2 (en) Relational database schema generation
US20220318254A1 (en) Generation of insights based on automated document analysis
Tikito et al. ODK-X: From A Classic Process to A Smart Data Collection Process.
Neupane et al. From Questions to Insightful Answers: Building an Informed Chatbot for University Resources
Erazo-Garzon et al. A Domain-Specific Language and Model-Based Engine for Implementing IoT Dashboard Web Applications
US11727324B1 (en) Systems and methods of evaluating socio-economic and environmental impact
JP2019106035A (ja) 経営支援システム及び経営支援方法
Wever Synthesizing Creative Requirementswith Natural Language Processing
US20240095448A1 (en) Automatic guidance to interactive entity matching natural language input
Tham A conversational question and answer chatbot for university
Schindler Yavaa: supporting data workflows from discovery to visualization
Anderson Visualisation of data from IoT systems: A case study of a prototyping tool for data visualisations
Matos Product information management for complex modular security systems
Kamran Generating Ontology Based Frontend From BPMN Processes
US20200020242A1 (en) Student Assessment and Reporting

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