CN114490578A - 数据模型的管理方法、装置及设备 - Google Patents
数据模型的管理方法、装置及设备 Download PDFInfo
- Publication number
- CN114490578A CN114490578A CN202210074335.2A CN202210074335A CN114490578A CN 114490578 A CN114490578 A CN 114490578A CN 202210074335 A CN202210074335 A CN 202210074335A CN 114490578 A CN114490578 A CN 114490578A
- Authority
- CN
- China
- Prior art keywords
- model
- physical
- logic
- changed
- logical
- 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.)
- Pending
Links
Images
Classifications
-
- 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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种数据模型的管理方法、装置及设备,管理方法包括:获取数据仓库相对应的逻辑模型;在逻辑模型的结构发生变更时,确定与变更前的逻辑模型相对应的第一物理模型;基于逻辑模型所对应的结构变更操作对第一物理模型进行管理,以获得与变更后的逻辑模型相对应的第二物理模型。本实施例提供的技术方案,有效地实现了在逻辑模型的结构发生变更时,无需手动生成变更语句来调整物理表结构,可以自动地基于逻辑模型所发生的结构变更操作对物理模型进行管理,以获得与变更后的逻辑模型相对应的物理模型,即可以帮助用户自动地将逻辑模型实施到物理模型,这样不仅减轻了物理模型的开发工作量,且能够满足应用场景中频繁的模型变更需求。
Description
技术领域
本发明涉及数据仓库技术领域,尤其涉及一种数据模型的管理方法、装置及设备。
背景技术
数据模型是使用结构化的语言将收集到的组织场景经营、管理和决策中使用的数据需求进行综合分析,按照模型设计规范将需求重新组织。从模型覆盖的内容粒度来看,数据模型一般可以分为主题域模型、概念模型、逻辑模型和物理模型,其中,主题域模型是最高层级的、以主题概念及其之间的关系为基本构成单元的模型,主题是对数据表达事物本质概念的高度抽象;概念模型是以数据实体及其之间的关系为基本构成单元的模型,实体名称一般采用标准的术语命名;逻辑模型是在概念模型的基础上细化,以数据属性为基本构成单元;物理模型是逻辑模型在计算机信息系统中依托于特定实现工具的数据结构。
模型管理主要提供数据模型层次结构(逻辑分层、主题域、概念分类等)、逻辑模型、物理模型设计等主要功能。在实际开发过程中,逻辑模型往往会对接多种物理存储系统,然而,在数据模型的开发阶段,逻辑模型的结构可能会频繁变更,例如:新增字段、修改字段、删除字段和修改表名等,每次变更都需要用户手动生成变更语句来调整物理表结构,这样不仅繁琐且重复,并且,随着应用场景和应用数据的不断增加,工作量也会同步增加。
发明内容
本发明实施例提供了一种数据模型的管理方法、装置及设备,在逻辑模型的结构发生频繁变更,无需每次都手动生成变更语句来调整物理表结构,提高了物理模型生成的质量和效率。
第一方面,本发明实施例提供一种数据模型的管理方法,包括:
获取数据仓库相对应的逻辑模型;
在所述逻辑模型的结构发生变更时,确定与变更前的逻辑模型相对应的第一物理模型;
基于所述逻辑模型所对应的结构变更操作对所述第一物理模型进行管理,以获得与变更后的逻辑模型相对应的第二物理模型。
第二方面,本发明实施例提供一种数据模型的管理装置,包括:
第一获取模块,用于获取数据仓库相对应的逻辑模型;
第一确定模块,用于在所述逻辑模型的结构发生变更时,确定与变更前的逻辑模型相对应的第一物理模型;
第一处理模块,用于基于所述逻辑模型所对应的结构变更操作对所述第一物理模型进行管理,以获得与变更后的逻辑模型相对应的第二物理模型。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的数据模型的管理方法。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第一方面中的数据模型的管理方法。
第五方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述第一方面中的数据模型的管理方法中的步骤。
本实施例提供的数据模型的管理方法、装置及设备,通过获取数据仓库相对应的逻辑模型,在所述逻辑模型的结构发生变更时,确定与变更前的逻辑模型相对应的第一物理模型;而后基于所述逻辑模型所对应的结构变更操作对所述第一物理模型进行管理,从而可以获得与变更后的逻辑模型相对应的第二物理模型,这样有效地实现了在逻辑模型的结构发生频繁变更时,无需每次都手动生成变更语句来调整物理表结构,而是可以自动地基于逻辑模型所发生的结构变更操作对物理模型进行管理,从而有效地帮助用户自动地将逻辑模型实施到物理模型,减轻了物理模型的开发工作量,同时满足了应用场景中频繁的模型变更需求,进一步提高了该方法的实用性,有利于市场的推广与应用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据模型的管理方法的场景示意图;
图2为本发明实施例提供的一种数据模型的管理方法的流程示意图;
图3为本发明实施例提供的另一种数据模型的管理方法的流程示意图;
图4为本发明实施例提供的基于所述逻辑模型所对应的结构变更操作对所述第一物理模型进行管理的流程示意图;
图5为本发明实施例提供的又一种数据模型的管理方法的流程示意图;
图6为本发明应用实施例提供的一种数据模型的管理系统的结构框图;
图7为本发明应用实施例提供的一种数据模型的管理方法的原理框图;
图8为本发明实施例提供的一种数据模型的管理装置的结构示意图;
图9为图8所示的数据模型的管理装置所对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
由于在数据模型实际开发的过程中,存在以下问题:开发人员需要针对不同存储生成相应的建表语句并实施物理化,同时,在逻辑模型的结构发生频繁变更时,每次变更都需要手动生成变更语句来调整物理表结构,这样不仅繁琐且重复,并且,随着应用和应用数据的不断增加,工作量也会同步增加,因此,为了解决上述技术问题,本实施例提出了一种数据模型的管理方法、装置及设备,上述数据模型的管理方法的执行主体可以为数据模型的管理装置,数据模型的管理装置可以通信连接有请求端(客户端),参考附图1所示:
其中,请求端/客户端可以是任何具有一定数据传输能力的计算设备,此外,请求端/客户端的基本结构可以包括:至少一个处理器。处理器的数量取决于客户端的配置和类型。客户端也可以包括存储器,该存储器可以为易失性的,例如RAM,也可以为非易失性的,例如只读存储器(Read-Only Memory,简称ROM)、闪存等,或者也可以同时包括两种类型。存储器内通常存储有操作系统(Operating System,简称OS)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,客户端还包括一些基本配置,例如网卡芯片、IO总线、显示组件以及一些外围设备等。可选地,一些外围设备可以包括,例如键盘、鼠标、输入笔、打印机等。其它外围设备在本领域中是众所周知的,在此不做赘述。
数据模型的管理装置是指可以在网络虚拟环境中提供数据模型的管理服务的设备,通常是指利用网络进行信息规划、数据模型的管理操作的装置。在物理实现上,数据模型的管理装置可以是任何能够提供计算服务,响应服务请求,并进行处理的设备,例如:可以是集群服务器、常规服务器、云服务器、云主机、虚拟中心等。数据模型的管理装置的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
在上述本实施例中,请求端可以与数据模型的管理装置进行网络连接,该网络连接可以是无线或有线网络连接。若请求端与数据模型的管理装置是通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax、5G等中的任意一种。
在本申请实施例中,请求端可以生成或者获取数据仓库相对应的逻辑模型,具体的,请求端上可以设置有交互界面,用户可以在交互界面上输入执行操作,通过执行操作可以生成数据仓库相对应的逻辑模型;或者,请求端上可以设置有数据传输接口,通过数据传输接口也可以获得数据仓库相对应的逻辑模型。在获取到数据仓库相对应的逻辑模型之后,为了能够实现数据模型的管理操作,可以将逻辑模型发送至数据模型的管理装置。
数据模型的管理装置,用于接收或者获取请求端发送的与数据仓库相对应的逻辑模型,在获取到逻辑模型之后,可以对逻辑模型的结构进行分析处理,以检测逻辑模型的结构是否发生变更,在一些实例中,可以通过“检测与逻辑模型相对应的逻辑表中所包括的数据库模式定义语言DDL语句是否发生变更”来实现“检测逻辑模型的结构是否发生变更”,具体的,在逻辑表中的DDL语句发生变更时,则可以确定逻辑模型的结构发生变更;在逻辑表中的DDL语句未发生变更时,则可以确定逻辑模型的结果未发生变更。
在逻辑模型的结构发生变更时,则可以获取与变更前的逻辑模型相对应的第一物理模型,由于逻辑模型的结构已经发生变更,因此,第一物理模型可能会与变更后的逻辑模型不对应。为了能够实现数据仓库的正常物理化操作,则可以基于逻辑模型所对应的结构变更操作对第一物理模型进行管理,基于结构变更操作对第一物理模型进行管理主要包括:基于结构变更操作对第一物理模型进行调整,以获得与变更后的逻辑模型相对应的第二物理模型,从而有效地实现了物理模型可以随着逻辑模型的变更自动进行变更操作。
本实施例提供的技术方案,通过获取数据仓库相对应的逻辑模型,在逻辑模型的结构发生变更时,确定与变更前的逻辑模型相对应的第一物理模型;基于逻辑模型所对应的结构变更操作对第一物理模型进行管理,从而可以获得与变更后的逻辑模型相对应的第二物理模型,有效地实现了在逻辑模型发生变更时,可以自动地进行物理模型的变更操作,这样不仅可以帮助用户自动地将逻辑模型实施到物理模型,减轻了物理模型的开发工作量,并且还可以满足应用场景中频繁的变更需求,进一步提高了该方法的实用性,有利于市场的推广与应用。
下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图2为本发明实施例提供的一种数据模型的管理方法的流程示意图;参考附图2所示,本实施例提供了一种数据模型的管理方法,该方法的执行主体可以为数据模型的管理装置,可以理解的是,该数据模型的管理装置可以实现为软件、或者软件和硬件的组合,具体的,该数据模型的管理方法主要是通过逻辑模型的变更操作实现对物理模型的管理操作,具体的,该方法可以包括以下步骤:
步骤S201:获取数据仓库相对应的逻辑模型。
步骤S202:在逻辑模型的结构发生变更时,确定与变更前的逻辑模型相对应的第一物理模型。
步骤S203:基于逻辑模型所对应的结构变更操作对第一物理模型进行管理,以获得与变更后的逻辑模型相对应的第二物理模型。
下面对上述各个步骤进行详细说明:
步骤S201:获取数据仓库相对应的逻辑模型。
其中,数据仓库可以是预先建立的数据模型或者正在建立的数据模型,一个数据仓库可以对应有一个或多个逻辑模型,即所获取到的逻辑模型的数量可以为一个或多个,逻辑模型可以由包括多个数据库模式定义语言DDL语句的逻辑表来体现。当数据仓库相对应的逻辑模型的数量为多个时,可以通过多个逻辑模型依次实现数据模型的管理操作。
具体的,当数据仓库是预先建立的数据模型时,此时的数据仓库所对应的数据模型可以包括主体域模型、概念模型、逻辑模型和物理模型,为了能够实现对数据模型进行管理操作,可以获取与数据仓库相对应的逻辑模型,此时,逻辑模型可以存储在预设区域中,通过访问预设区域即可获取数据仓库相对应的逻辑模型。
当数据仓库是正在建立的数据模型时,与数据仓库相对应的逻辑模型可以为已经建立好的模型或者正在建立的模型。为了能够实现对数据模型进行管理操作,可以获取与数据仓库相对应的逻辑模型,在与数据仓库相对应的逻辑模型为已经建立好的模型时,逻辑模型可以存储在预设区域中,通过访问预设区域即可获取数据仓库相对应的逻辑模型。在与数据仓库相对应的逻辑模型为正在建立的模型时,则可以获取用于建立逻辑模型的交互界面,获取用户在交互界面所输入的执行操作,基于执行操作获取与数据仓库相对应的逻辑模型。
在又一些实例中,数据模型的管理装置通信连接有第三设备(例如:请求端或者客户端),第三设备中存储有与数据仓库相对应的逻辑模型,为了能够使得第三设备可以实现对数据模型进行管理操作,第三设备可以主动或者被动地将数据仓库所对应的逻辑模型发送至数据模型的管理装置,从而使得数据模型的管理装置可以稳定地获取到待分析处理的逻辑模型。
步骤S202:在逻辑模型的结构发生变更时,确定与变更前的逻辑模型相对应的第一物理模型。
在获取到逻辑模型之后,可以对逻辑模型的结构进行分析处理,以检测逻辑模型的结构是否发生变更,在一些实例中,检测逻辑模型的结构是否发生变更可以包括:获取逻辑模型所对应的历史时刻结构与当前时刻结构,基于历史时刻结构与当前时刻结构检测逻辑模型的结构是否发生变更。
具体的,逻辑模型的结构可以通过与逻辑模型相对应的逻辑表来体现,因此,获取逻辑模型的历史时刻结构可以包括:获取逻辑模型的历史时刻逻辑表;相类似的,获取逻辑模型的当前时刻结构可以包括:获取逻辑模型的当前时刻逻辑表,而后将当前时刻逻辑表与历史时刻逻辑表进行分析比较,在当前时刻逻辑表与历史时刻逻辑表相同时,即在逻辑表中所包括的DDL语句未发生变更,历史时刻结构与当前时刻结构相同,进而可以确定逻辑模型的结构未发生变更;在当前时刻逻辑表与历史时刻逻辑表不同时,即在逻辑表中所包括的DDL语句已发生变更,历史时刻结构与当前时刻结构不同,逻辑模型的结构已发生变更。
在另一些实例中,检测逻辑模型的结构是否发生变更可以包括:检测是否存在针对逻辑模型的结构的变更执行操作,若存在变更执行操作,则可以确定逻辑模型的结构已发生变更;若不存在变更执行操作,则可以确定逻辑模型的结构未发生变更。
具体的,逻辑模型的结构可以通过与逻辑模型相对应的逻辑表来体现,因此,为了能够检测是否存在针对逻辑模型的结构的变更执行操作,则可以获取用于对逻辑表相对应的交互界面,检测交互界面内是否存在针对逻辑模型的结构的变更执行操作,该变更执行操作可以包括:针对逻辑表中的DDL语句进行增加字符操作、修改字符操作、删除字符操作、修改表名操作等等。在检测到交互界面内存在针对逻辑模型的结构的变更执行操作,则可以确定逻辑模型的结构已经发生变更;在未检测到交互界面内存在针对逻辑模型的结构的变更执行操作,则可以确定逻辑模型的结构未发生变更。
由于在确定逻辑模型的结构已发生变更时,与逻辑模型相对应的物理模型可能未发生变更,进而可能会出现物理模型与逻辑模型不对应的情况,因此,为了能够实现对数据模型进行有效地管理操作,保证数据模型的正常运行操作,在逻辑模型的结构发生变更时,则可以确定与变更前的逻辑模型相对应的第一物理模型,第一物理模型可以表现为通过逻辑模型第一次进行物理化之后所获得的物理库表。具体的,变更之前的逻辑模型与第一物理模型之间存在关联关系,并且第一物理模型可以存在预设区域中,在逻辑模型的结构已经发生变更时,则可以基于逻辑模型与第一物理模型之间的关联关系来访问预设区域,即可确定与变更前的逻辑模型相对应的第一物理模型。
在又一些实例中,在确定逻辑模型的结构未发生变更时,则说明此时的逻辑模型与物理模型之间的对应关系未发生变更,进而则可以无需进行任何模型管理操作。
步骤S203:基于逻辑模型所对应的结构变更操作对第一物理模型进行管理,以获得与变更后的逻辑模型相对应的第二物理模型。
在逻辑模型的结构已经发生变更时,第一物理模型可能会与变更后的逻辑模型的结构不对应,因此,为了能够保证数据模型的正常运行,则可以先确定逻辑模型所对应的结构变更操作,而后基于逻辑模型所对应的结构变更操作对第一物理模型进行管理,以获得与变更后的逻辑模型相对应的第二物理模型。
具体的,确定逻辑模型所对应的结构变更操作可以包括:获取变更前的逻辑模型和变更后的逻辑模型,基于变更前的逻辑模型和变更后的逻辑模型确定结构变更操作,其中,结构变更操作可以包括以下至少之一:结构增加操作、结构修改操作、结构删除操作等等。
在获取到结构变更操作之后,可以基于逻辑模型所对应的结构变更操作对第一物理模型进行管理,需要注意的是,不同的结构变更操作可以对应有不同的管理策略,例如:在结构变更操作为结构增加操作时,则可以基于第一管理策略对第一物理模型进行管理,从而获得与变更后的逻辑模型相对应的第二物理模型,该第二物理模型相对于第一物理模型而言,所对应的物理库表中的DDL语句有所增加。在结构变更操作为结构修改操作时,则可以基于第二管理策略对第一物理模型进行管理,从而获得与变更后的逻辑模型相对应的第二物理模型,该第二物理模型相对于第一物理模型而言,所对应的物理库表中的至少部分DDL语句有所不同。在结构变更操作为结构删除操作时,则可以基于第三管理策略对第一物理模型进行管理,从而获得与变更后的逻辑模型相对应的第二物理模型,该第二物理模型相对于第一物理模型而言,所对应的物理库表中的DDL语句有所删除。
本实施例提供的数据模型的管理方法,通过获取数据仓库相对应的逻辑模型,在所述逻辑模型的结构发生变更时,确定与变更前的逻辑模型相对应的第一物理模型;而后基于所述逻辑模型所对应的结构变更操作对所述第一物理模型进行管理,从而可以获得与变更后的逻辑模型相对应的第二物理模型,这样有效地实现了在逻辑模型的结构发生频繁变更时,无需每次都手动生成变更语句来调整物理表结构,而是可以自动地基于逻辑模型所发生的结构变更操作对物理模型进行管理,从而有效地帮助用户自动地将逻辑模型实施到物理模型,减轻了物理模型的开发工作量,同时满足了应用场景中频繁的模型变更需求,进一步提高了该方法的实用性,有利于市场的推广与应用。
图3为本发明实施例提供的另一种数据模型的管理方法的流程示意图;参考附图3所示,本实施例提供了一种自动基于逻辑模型构建相对应的物理模型的实现过程,具体的,在获取数据仓库相对应的逻辑模型之后,本实施例中的方法还可以包括:
步骤S301:获取与逻辑模型相对应的逻辑表,逻辑表中包括定义的多个数据库模式定义语言DDL语句。
在对数据仓库所对应的数据模型进行建立时,可以先建立数据仓库所对应的仓库层级关系,仓库层级关系可以包括明细层、汇总层、应用层等等,其中,明细层可以用于记录每次数据操作的明细信息,汇总层可以用于记录预设时间段内所产生的明细记录,例如,汇总层可以用于汇总一天内所生产的交易信息等等;应用层可以用于记录预设用户在预设时间段内所产生的数据处理操作,例如,应用层可以用于记录用户甲在一个月内所产生的交易操作等等。
在建立数据仓库所对应的仓库层级关系之后,可以基于仓库层级关系实现逻辑模型的可视化模型设计,在一些实例中,可视化模型设计可以通过可视化的文件夹方式来建立逻辑模型,此时,逻辑模型所对应的文件夹中可以对应存储逻辑表;在另一些实例中,可视化模型设计可以通过可视化的画布方式来建立逻辑模型,画布中的逻辑模型关联有相对应的逻辑表,需要说明的是,在画布中可以建立、标识或者体现出不同逻辑模型之间的关联关系。
在建立数据仓库相对应的逻辑模型之后,可以获取与逻辑模型相对应的逻辑表,该逻辑表中可以包括定义的多个数据库模式定义语言DDL语句,例如:`zzhm`stringCOMMENT'证件号码',`khmc`string COMMENT'客户名称'等等。另外,与逻辑模型相对应的逻辑表可以存储在预设区域中,通过访问预设区域即可获取到与逻辑模型相对应的逻辑表。
步骤S302:基于逻辑表执行物理化,生成与逻辑模型相对应的第一物理模型。
在获取到逻辑表之后,可以基于逻辑表执行物理化操作,从而可以生成与逻辑模型相对应的第一物理模型,该第一物理模型即为基于逻辑模型进行一次物理化之后所对应的物理库表。
在一些实例中,第一物理模型可以是基于逻辑模型自动地执行物理化操作所生成的,此时,在获取到逻辑表之后,可以直接调用用于对逻辑表进行物理化操作的物理化模型,而后将逻辑表自动地输入至物理化模型中,从而可以自动地生成与逻辑模型相对应的第一物理模型。
在另一些实例中,第一物理模型可以是基于逻辑模型手动地执行物理化操作所生成的,此时,在获取到逻辑表之后,可以手动调用用于对逻辑表进行物理化操作的操作控件,而后用户手动对操作控件输入点选、滑动操作,从而可以生成与逻辑模型相对应的第一物理模型。
在又一些实例中,在执行物理化操作时,由于不同类型的数据源对应有不同的物理化实现方式,因此,为了能够保证第一物理模型生成的质量和效率,本实施例中的基于逻辑表执行物理化,生成与逻辑模型相对应的第一物理模型可以包括:确定用于执行物理化的数据源;基于逻辑表,生成物理建表语句;基于数据源和物理建表语句,生成第一物理模型。
具体的,预先配置有多个能够支持物理化操作的数据源,该数据源可以包括:开放数据处理服务ODPS数据库、关系型数据库管理系统MySQL数据库、在Hadoop上的数据仓库基础构架H i ve数据库、开源对象关系型数据库系统PG数据库、分析型数据库ADB数据库等等。在具体执行物理化时,由于不同的数据源所对应的物理化操作不同,因此,为了能够保证第一物理模型生成的质量和效率,可以先确定用于执行物理化的数据源,该数据源可以为上述所提供的任意一个数据库,具体的,用于执行物理化的数据源可以是基于用户输入的数据源选择操作所确定的或者是用户预先指定好的数据源。
另外,在获取到逻辑表之后,可以对逻辑表进行分析处理,以生成物理建表语句,其中,本实施例对于物理建表语句的具体生成方式不做限定,本领域技术人员可以根据具体的应用需求或者设计需求进行设置,举例来说,预先训练有用于生成物理建表语句的网络模型,在获取到逻辑表之后,可以将逻辑表输入至网络模型中,从而可以生成与逻辑表相对应的物理建表语句。或者,预先训练有与不同逻辑表相对应物理建表框架,在获取到逻辑表之后,可以确定与逻辑表相对应的物理建表框架,而后基于逻辑表对物理建表框架进行关键字填充操作,从而可以获得与逻辑表相对应的物理建表语句。
在确定用于执行物理化的数据源,并生成物理建表语句之后,则可以基于数据源和物理建表语句执行物理化操作,从而可以生成第一物理模型。需要注意的是,在执行物理化操作,为了能够保证所生成的第一物理模型可以满足用户的设计需求,可以配置有个性化配置操作,即在生成第一物理模型之前,可以显示个性化配置页面,该个性化配置页面可以基于不同的数据源显示不同的个性化配置选项,例如:对于某些数据源所需要生成的第一物理模型而言,可以进行表类型、数据切分格式、行分隔符、列分隔符、文件存储格式以及存储位置的配置操作,例如:表类型可以为内部表或者外部表,数据切分格式可以为行列分隔符或者序列化反序列化,在数据切分格式为行列分隔符时,行分隔符可以为“\n”或者“\n\n”,列分隔符可以为“\001”等等,通过上述所显示的个性化配置页面可以获得满足用户需求的第一物理模型,进而保证了第一物理模型生成的灵活可靠性。
此外,本实施例中步骤“确定用于执行物理化的数据源”与步骤“基于逻辑表,生成物理建表语句”之间的执行顺序并不限于上述所描述的先后顺序,本领域技术人员可以根据具体的应用场景或者应用需求对上述两个步骤的执行顺序进行调整,例如:步骤“确定用于执行物理化的数据源”可以在步骤“基于逻辑表,生成物理建表语句”之后执行,或者,步骤“确定用于执行物理化的数据源”可以与步骤“基于逻辑表,生成物理建表语句”同时执行。
本实施例中,通过获取与逻辑模型相对应的逻辑表,而后基于逻辑表执行物理化,生成与逻辑模型相对应的第一物理模型,从而有效地实现了可以针对不同的数据源和逻辑模型自动生成相对应的物理模型,无需开发人员需要针对不同存储生成相应的建表语句并实施物理化,进一步减轻了物理模型的开发工作量,同时保证了与逻辑模型相对应的第一物理模型生成的质量和效率,进一步提高了该方法的实用性。
在又一些实例中,在获取与逻辑模型相对应的逻辑表之后,本实施例中的方法还可以包括:通过逻辑表,判断逻辑模型的结构是否发生变更。
在获取到逻辑表之后,可以对逻辑表进行分析处理,以判断逻辑模型的结构是否发生变更,具体的,通过逻辑表,判断逻辑模型的结构是否发生变更可以包括:在逻辑表中所包括的DDL语句发生变更时,则确定逻辑模型的结构已发生变更;在逻辑表中所包括的DDL语句未发生变更时,则确定逻辑模型的结构未发生变更,从而有效地实现了基于逻辑表可以准确地判断逻辑模型的结构是否发生变更,进而保证了该数据模型的管理方法的正常运行。
图4为本发明实施例提供的基于逻辑模型所对应的结构变更操作对第一物理模型进行管理的流程示意图;在上述实施例的基础上,参考附图4所示,本实施例提供了一种对第一物理模型进行管理的实现方式,具体的,本实施例中的基于逻辑模型所对应的结构变更操作对第一物理模型进行管理可以包括:
步骤S401:基于逻辑模型所对应的结构变更操作,检测第一物理模型是否与变更后的逻辑模型相对应。
在逻辑模型的结构发生变更时,由于此时的第一物理模型可能与已发生变更之后的逻辑模型不对应,因此,为了保证数据模型的正常运行,则可以基于逻辑模型所对应的结构变更操作检测第一物理模型是否与变更后的逻辑模型相对应。在一些实例中,检测第一物理模型是否与变更后的逻辑模型相对应可以包括:获取用于对第一物理模型和逻辑模型进行分析处理的网络模型,在获取到第一物理模型和已发生变更操作之后的逻辑模型之后,可以将第一物理模型和已发生变更的逻辑模型输入至网络模型中,从而可以确定第一物理模型是否与变更后的逻辑模型相对应,例如:在第一物理模型与变更后的逻辑模型不对应时,网络模型可以输出用于标识“第一物理模型与变更后的逻辑模型不对应”的检测结果“0”;在第一物理模型与变更后的逻辑模型相对应时,网络模型可以输出用于标识“第一物理模型与变更后的逻辑模型相对应”的检测结果“1”。
在另一些实例中,检测第一物理模型是否与变更后的逻辑模型相对应可以包括:获取与变更后的逻辑模型相对应的理论建表语句;确定与第一物理模型相对应的当前建表语句;基于理论建表语句和当前建表语句,检测第一物理模型是否与变更后的逻辑模型相对应。
其中,在获取到变更后的逻辑模型之后,可以对变更后的逻辑模型进行分析处理,以获取与变更后的逻辑模型相对应的理论建表语句,该理论建表语句与变更后的逻辑模型相对应的物理模型相对应;在获取到第一物理模型之后,可以对第一物理模型进行分析处理,以确定与第一物理模型相对应的当前建表语句。在获取到理论建表语句和当前建表语句之后,可以对理论建表语句和当前建表语句进行分析比较,以检测第一物理模型是否与变更后的逻辑模型相对应。
具体的,基于理论建表语句和当前建表语句,检测第一物理模型是否与变更后的逻辑模型相对应可以包括:将理论建表语句与当前建表语句进行分析比较,在理论建表语句与当前建表语句相一致时,则可以确定第一物理模型与变更后的逻辑模型相对应;或者,在理论建表语句与当前建表语句不一致时,则可以确定第一物理模型与变更后的逻辑模型不对应,从而有效地实现了对第一物理模型与变更后的逻辑模型是否相对应进行识别操作。
在另一些实例中,检测第一物理模型是否与变更后的逻辑模型相对应可以包括:获取与变更后的逻辑模型相对应的理论物理表结构;确定与第一物理模型相对应的当前物理表结构;基于理论物理表结构和当前物理表结构,检测第一物理模型是否与变更后的逻辑模型相对应。
在获取到变更后的逻辑模型之后,可以对变更后的逻辑模型进行分析处理,以获取与变更后的逻辑模型相对应的理论物理表结构,相类似的,在获取到第一物理模型之后,可以对第一物理模型进行分析处理,以获取与第一物理模型相对应的当前物理表结构;在获取到理论物理表结构和当前物理表结构之后,可以对理论物理表结构和当前物理表结构进行分析处理,以检测第一物理模型是否与变更后的逻辑模型相对应。
具体的,基于理论物理表结构和当前物理表结构,检测第一物理模型是否与变更后的逻辑模型相对应可以包括:将理论物理表结构与当前物理表结构进行分析比较,在理论物理表结构与当前物理表结构相一致时,则可以确定第一物理模型与变更后的逻辑模型相对应;或者,在理论物理表结构与当前物理表结构不一致时,则可以确定第一物理模型与变更后的逻辑模型不对应,从而有效地实现了对第一物理模型与变更后的逻辑模型是否相对应进行识别操作。
步骤S402:在第一物理模型与变更后的逻辑模型相对应时,则将第一物理模型确定为第二物理模型。
在第一物理模型是否与变更后的逻辑模型相对应的检测结果为第一物理模型与变更后的逻辑模型相对应时,则说明虽然逻辑模型已经发生变更,但是第一物理模型仍然与已变更后的逻辑模型相对应,例如:逻辑模型中的某些字段修改了标点符号或者增加了空格符号等等,此时,第一物理模型仍然与已经变更后的逻辑模型相对应,即基于逻辑模型和第一物理模型可以正常的数据处理操作,进而则无需对第一物理模型进行任何处理操作,可以直接将第一物理模型确定为第二物理模型,该第二物理模型与变更后的逻辑模型相对应。
步骤S403:在第一物理模型与变更后的逻辑模型不对应时,则获取与结构变更操作相对应的操作类型,并基于操作类型对第一物理模型进行管理。
在第一物理模型是否与变更后的逻辑模型相对应的检测结果为第一物理模型与变更后的逻辑模型不对应时,为了能够保证数据模型的正常运行,则可以获取与结构变更操作相对应的操作类型,其中,不同的结构变更操作可以对应有不同的操作类型,例如:结构增加操作可以对应有增加操作类型,结构删除操作可以对应有删除操作类型,结构调整操作可以对应有修改操作类型。由于不同的操作类型可以对应有不同的管理策略,因此可以基于操作类型对第一物理模型进行管理操作。
在一些实例中,基于操作类型对第一物理模型进行管理可以包括:在操作类型为第一类型、且第一类型为数据仓库所允许的合法类型时,则基于第一类型自动对第一物理模型进行调整,以获得第二物理模型;在操作类型为第二类型时,则输出交互提示信息,以通过交互提示信息与用户进行交互,获得第二物理模型;在操作类型为未知类型时,则生成第一提示信息,提示信息用于标识无法对第一物理模型进行自动调整操作;在操作类型为第一类型、且第一类型为数据仓库不允许的非法类型时,则生成第二提示信息,第二提示信息用于标识无法对第一物理模型进行自动调整操作;其中,第一类型包括以下至少之一:增加操作类型、修改操作类型;第二类型包括:删除操作类型。
举例1,在t1时刻时,逻辑模型所对应的逻辑表中包括以下DDL语句:
CREATE TABLE IF NOT EXISTS`ods_base_yhkh_demo_di`(
`id`bigint COMMENT'主键',
`zzhm`string COMMENT'证件号码',
`khmc`string COMMENT'客户名称',
`nl`bigint COMMENT'出生日期',
;
在t2时刻时,逻辑模型所对应的逻辑表中包括以下DDL语句:
CREATE TABLE IF NOT EXISTS`ods_base_yhkh_demo_di`(
`id`bigint COMMENT'主键',
`zzhm`string COMMENT'证件号码',
`khmc`string COMMENT'客户名称',
`nl`bigint COMMENT'出生日期',
`xb`string COMMENT'男/女',
`sjhm`string COMMENT'手机号码',
;
在t3时刻时,逻辑模型所对应的逻辑表中包括以下DDL语句:
CREATE TABLE IF NOT EXISTS`ods_base_yhkh_demo_di`(
`id`bigint COMMENT'主键',
`zzhm`string COMMENT'证件号码',
`khmc`string COMMENT'客户名称',
`sjhm`string COMMENT'手机号码',
;
通过对比可知,t2所对应的逻辑表相对于t1所对应的逻辑表而言,增加了以下DDL语句“`xb`string COMMENT'男/女',`sjhm`string COMMENT'手机号码'”,因此可以确定操作类型为增加操作类型。t3所对应的逻辑表相对于t1所对应的逻辑表而言,将逻辑表中的DDL语句“`nl`bigint COMMENT'出生日期'”调整为“`sjhm`string COMMENT'手机号码'”,因此可以确定操作类型为修改操作类型。
具体的,在操作类型为增加操作类型和/或修改操作类型,且增加操作类型和/或修改操作类型为数据仓库所允许的合法类型(即数据仓库能够支持上述增加操作或者修改操作所能够实现的功能)时,则可以基于逻辑模型的结构变更操作自动地对第一物理模型进行调整操作,从而有效地实现了自动获得与变更后的逻辑模型相对应的第二物理模型。
举例2,在t4时刻时,逻辑模型所对应的逻辑表中包括以下DDL语句:
CREATE TABLE IF NOT EXISTS`ods_base_yhkh_demo_di`(
`id`bigint COMMENT'主键',
`khmc`string COMMENT'客户名称',
`nl`bigint COMMENT'出生日期',
;
通过对比可知,t4所对应的逻辑表相对于t1所对应的逻辑表而言,将逻辑表中的DDL语句“`zzhm`string COMMENT'证件号码'”删除,因此可以确定操作类型为删除操作类型。
在操作类型为删除操作类型,由于删除操作类型用于对逻辑模型所对应逻辑表中的部分DDL语句进行删除操作,一般情况下,删除操作类型对逻辑模型所对应逻辑表中的DDL语句进行调整的幅度较大。因此,为了保证对第一物理模型进行生成的准确率,在操作类型为删除操作类型时,则可以输出交互提示信息,该交互提示信息可以包括以下至少之一:文本提示信息、语音提示信息等等,需要注意的是,不同格式的交互提示信息可以对应有不同的输出装置,例如:在交互提示信息为文本提示信息时,输出装置可以为显示装置,此时,文本提示信息可以包括通过显示装置进行显示的弹窗提示信息、飘窗提示信息、对话框提示信息等等;在交互提示信息为语音提示信息时,输出装置可以为语音输出装置。由于交互提示信息用于与用户进行交互操作,因此,在输出交互提示信息之后,则可以通过交互提示信息与用户进行交互操作(语音交互操作、显示装置的交互动作进行交互),在获取到用户针对交互提示信息所输入的交互操作之后,则可以基于交互操作获得第二物理模型。
在操作类型并非第一类型和第二类型时,则可以确定操作类型为未知类型,由于无法确定未知类型所对应的结构变更操作,因此无法实现对第一物理模型进行自动地管理和调整操作,此时,为了能够使得用户及时了解对第一物理模型的管理状态,则可以生成第一提示信息,该第一提示信息用于标识无法对第一物理模型进行自动调整操作。
在操作类型为第一类型、且第一类型为数据仓库不允许的非法类型时,例如:在操作类型为将“用于实现浮点数的DDL语句”修改为“用于实现整型数的DDL语句”时,由于数据仓库并不支持将浮点数的参数调整为整型数的参数,因此,虽然上述操作类型为修改操作类型,但是上述修改操作类型为数据仓库不允许的非法类型,即数据仓库并不支持进行上述修改操作,为了能够使得用户及时了解对第一物理模型的管理状态,则可以生成第二提示信息,第二提示信息用于标识无法对第一物理模型进行自动调整操作。需要注意的是,第一提示信息可以与第二提示信息不同,以使得用户快速、准确地获知到对第一物理模型所处的不同管理状态。
本实施例中,基于逻辑模型所对应的结构变更操作,检测第一物理模型是否与变更后的逻辑模型相对应,在第一物理模型与变更后的逻辑模型相对应时,则将第一物理模型确定为第二物理模型,在第一物理模型与变更后的逻辑模型不对应时,则获取与结构变更操作相对应的操作类型,并基于操作类型对第一物理模型进行管理,从而有效地实现可以基于不同的结构变更操作对第一物理模型进行不同的管理操作,进一步提高了对数据模型进行管理的准确可靠性。
图5为本发明实施例提供的又一种数据模型的管理方法的流程示意图;在上述任意一个实施例的基础上,参考附图5所示,本实施例提供了一种基于物理库表逆向构建逻辑模型的实现方式,具体的,本实施例中的方法还可以包括:
步骤S501:获取待管理的物理模型。
其中,物理模型可以由包括物理库表来体现,物理库表中可以包括多个DDL语句,为了能够实现逆向构建逻辑模型的操作,可以获取待管理的物理模型,在一些实例中,物理模型可以存储在预设区域中,通过访问预设区域即可获取待管理的物理模型。在另一些实例中,获取待管理的物理模型可以包括:获取用于建立物理模型的交互界面,获取用户在交互界面所输入的执行操作,基于执行操作获取待管理的物理模型。在又一些实例中,数据模型的管理装置通信连接有第三设备,第三设备中存储有待管理的物理模型,为了能够使得第三设备可以实现逆向构建逻辑模型的操作,第三设备可以主动或者被动地将物理模型发送至数据模型的管理装置,从而使得数据模型的管理装置可以获取到待管理的物理模型。
在又一些实例中,获取待管理的物理模型可以包括:获取原始物理模型;确定待管理的物理模型所对应的层级特征;将与层级特征相对应的原始物理模型确定为待管理的物理模型。
具体的,预先配置有多个原始物理模型,而后确定待管理的物理模型所对应的层级特征,该层级特征可以包括以下至少之一:明细层特征、汇总层特征、应用层特征等等,在一些实例中,层级特征可以实现为与各个层级相对应的层级表名、层级表格式等等。在获取到原始物理模型和待管理的物理模型所对应的层级特征之后,则可以对原始物理模型和层级特征进行分析处理,具体的,可以通过正则表达式来匹配层级特征(例如:表名),从而可以将与层级特征相对应的原始物理模型确定为待管理的物理模型,即有效地实现了通过正则表达式来匹配表名来确定待扫描呈逻辑模型的一个或多个(两个及以上)物理模型。
步骤S502:确定与物理模型相对应的物理表结构。
在获取到待管理的物理模型之后,可以对物理模型进行分析处理,以确定与物理模型相对应的物理表结构,具体的,物理模型与物理表结构之间存在关联关系,基于关联关系即可确定与物理模型相对应的物理表结构。
步骤S503:提取与物理表结构相对应的元数据信息。
在获取到物理表结构之后,可以对物理表结构进行元数据进行提取操作,从而可以获取与物理表结构相对应的元数据信息。
步骤S504:基于元数据信息,生成与物理模型相对应的逻辑模型。
在获取到元数据信息之后,可以基于元数据信息进行分析处理,以生成与物理模型相对应的逻辑模型,从而有效地实现了将物理模型逆向扫描呈相对应的逻辑模型。
举例来说,当存在一个能够对数据模型进行管理操作的管理装置时,用户甲已经研发并设计出了物理模型,为了能够通过管理装置对物理模型进行管理操作,则需要在管理装置中生成与物理模型相对应的逻辑模型,此时,需要将物理模型逆向扫描呈逻辑模型,以通过逻辑模型对物理模型实现相对应的管理操作,从而有效地实现了管理装置可以通过已经研发或者设计好的物理模型进行管理操作,进一步提高了该方法的实用性和扩展性。
本实施例中,通过获取待管理的物理模型,确定与物理模型相对应的物理表结构,提取与物理表结构相对应的元数据信息,而后基于元数据信息生成与物理模型相对应的逻辑模型,从而有效地实现了可以逆向将物理模型扫描呈逻辑模型,而后则可以基于所生成逻辑模型对物理模型进行管理操作,进一步提高了该方法使用的灵活可靠性。
具体应用时,本应用实施例提供了一种数仓建模系统,该数仓建模系统可以实现数据模型的管理方法,具体可以根据逻辑模型的定义自动生成相对应的物理建表语句,并实施到用户配置的实际数据资源中,以实现物理化操作;同时,当逻辑模型的结构发生变更时,可以触发物理建表语句的同步,并自动进行逻辑模型和物理表结构的比对操作,并可以保存差异结果,再次物理化时,会参考一致性比对结果进行具体的物化预分析操作,即判断是否能够自动完成表结构变更并生成对应变更语句,帮助用户自动地将逻辑模型实施到物理模型,减轻开发工作量,满足场景中频繁的变更需求。
具体的,参考附图6所示,本实施例中的数仓建模系统可以包括以下功能模块:主题域层级管理模块、模型和数据源管理模块、数据库模式定义语言(Data DefinitionLanguage,简称DDL)自动生成和比对模块、物理化实施模块;
1)主题域层级管理模块用于实现数据仓库层级关系的建立,其中,各个数据仓库层级包括:明细层、汇总层、应用层等。
其中,明细层(Data Warehouse Detail,简称DWD)用于记录每次数据操作的明细信息,汇总层用于汇总预设时间段内的明细信息,例如,汇总层用于汇总一天的明细记录;应用层用于汇总用户在预设时间内的明细信息,例如:应用层用于汇总用户甲在一天内的明细信息,或者,应用层用于汇总某一应用场景中所有链路的明细信息。
需要注意的是,数据仓库层级不仅可以包括上述的明细层、汇总层和应用层,本领域技术人员可以根据具体的应用需求和设计需求进行配置,例如:数据仓库层级还可以包括中间层和服务层等等,在此不再赘述。
2)数据源配置模块用于实现指定数据源的配置。
举例来说,通过数据源配置模块可以预先配置可支持物理化的开放数据处理服务ODPS数据库、关系型数据库管理系统MySQL数据库、在Hadoop上的数据仓库基础构架Hive数据库、开源对象关系型数据库系统PG数据库、分析型数据库ADB数据库等等。
3)逻辑模型管理模块用于根据预先配置的数据仓库层级关系实现可视化模型设计、同时能够根据物理库表逆向构建逻辑模型。
在逻辑模型管理模块根据预先配置的数据仓库层级关系实现可视化模型设计,可以通过建立文件夹的方式或者画布的方式来建立可视化的逻辑模型,其中,在利用画布方式建立可视化的逻辑模型时,画布中可以标识出多个不同的逻辑模型之间的关联关系。
在逻辑模型管理模块根据物理库表逆向构建逻辑模型时,逻辑模型管理模块可以自动从源数据库提取物理库表所对应的元数据信息,而后可以基于元数据信息对物理库表进行字段解析操作,从而可以自动生成物理库表所对应的逻辑模型,而后可以基于逻辑模型对物理库表进行管理操作。另外,在逆向构建逻辑模型时,本实施例中的方法同时支持手工调整,以满足用户的个性化需求,进一步提高了该方法使用的灵活可靠性。
其中,对于需要逆向构建逻辑模型的物理库表而言,本应用实施例提供了一种确定物理库表的实现方式,具体的,在云计算资源中存储有多个物理库表,不同的物理库表可以对应有不同的物理库表表名,在获取到多个物理库表之后,可以基于预设的物理库表表名和正则表达式选择需要进行逆向建立逻辑模型的一个或多个目标物理库表,目标物理库表可以为多个物理库表中的至少一部分,在获取到一个或多个目标物理库表之后,可以将所获取到的一个或多个目标物理库表批量扫描呈逻辑模型,这样有效地提高了逆向构建逻辑模型的质量和效率。
4)DDL自动生成/比对模块用于自动生成数据库执行脚本DDL语句。
具体的,DDL自动生成/比对模块可以通过利用逻辑模型管理模块生成的逻辑模型,自动生成数据库执行脚本DDL语句,同时提供自定义的配置,具体可以设置索引、生命周期以及其他存储选项等自定义的配置操作,使整个物理库表的生成过程更加灵活可用。
其中,本领域技术人员可以根据设计需求和应用需求设置不同的生命周期,生命周期用于标识数据的保存时间,为了保证数据处理的质量和效率,可以清除掉已经超出生命周期的数据。
5)物理化实施模块用于创建实际物理库表。
具体的,物理化实施模块可以通过连接指定的数据源可执行数据库脚本,创建实际物理库表;在执行DDL语句之后,可以生成一个物理库表。同时物理建表语句可以随着逻辑模型结构的变更而进行自动变更操作,具体的,当逻辑表定义的DDL语句发生变化时,会自动触发逻辑模型与物理模型之间的一致性比对操作,并生成比对结果;再次实施物理化时,会基于一致性比对结果来进行预分析,判断是否能自动完成物理表结构的变更,在能够自动完成物理表结构的变更操作时,可以直接提供变更语句。
其中,逻辑模型的结构可以主要通过逻辑模型所对应的逻辑表中的DDL语句进行体现,在DDL语句发生变更时,则可以确定逻辑模型的结构已经发生变更;在DDL语句未发生变更时,则可以确定逻辑模型的结构未发生变更,DDL语句发生变更可以包括以下至少之一:DDL语句的增加操作、DDL语句的修改操作、DDL的删除操作等等。
在逻辑模型的结构发生变化时,则可以触发逻辑模型与物理模型之间是否相对应,具体的,可以先确定逻辑模型相对应的理论物理库表,将理论物理库表中的理论建表语句与物理模型所对应的物理库表中的建表语句进行分析对比,在理论建表语句与建表语句相匹配时,则可以确定逻辑模型与物理模型相对应;在理论建表语句与建表语句不匹配时,则可以确定逻辑模型与物理模型不对应。
需要说明的是,本应用实施例可以支持根据不同存储类型自动生成相对应的物理库表DDL语句,具体的,在首次进行物理化操作时,可以根据设置的数据源,将DDL语句下发至目标云计算资源中完成物理化,当物理化完成之后,再次修改逻辑模型所对应的DDL语句时,可以自动触发逻辑模型所对应的DDL语句与物理模型所对应的DDL语句进行一致性的比较,即将修改逻辑模型之后的DDL和上一次物化的物理库表所对应的DDL语句进行比对,并保存差异结果,再次物化时,会参考一致性比对结果进行物理化预分析,判断是否能够自动完成表结构变更并生成对应变更语句,当再次实施物化可实现表结构的变更操作。
具体的,参考附图7所示,在DDL语句发生的变更为增加字段和/或变更字段类型时,则可以自动完成物理库表中DDL语句的自动变更操作,继而则可以将物理库表(与上述的第一物理模型相对应)更新为与变更后的逻辑模型相对应的调整后物理库表(与上述的第二物理模型相对应),从而实现了物理模型可以自动随着逻辑模型的变更而自动进行变更操作。
在DDL语句发生的变更为删除字段时,由于该种修改类型的DDL语句存在一定的风险,因此需要人工进行干预,即手动对物理库表进行修改操作,以将物理库表调整为与逻辑模型相对应。
在DDL语句发生的变更为识别不出来的变更类型时,则可以确定无法自动提供变更语句,或者DDL语句发生的变更能够被识别出来,但是上述变更操作是数据库所不能支持或者不允许的操作时,则可以确定无法提供变更语句,此时可以生成提示信息,以提示用户此时的物理模型的自动变更情况,以便使得用户基于提示信息进行手动调整或者手动确认操作,或者,重新建立物理库表,以提高对数据模型进行管理的质量和效率。
本应用实施例提供的技术方案,能够实现如下功能:
(1)能够根据逻辑模型的定义,自动生成对应的物理建表语句,同时能够提供自定义的配置操作,例如可以设置索引、生命周期以及其他存储选项等,使用户可以更加灵活地调整建表语句。
(2)当逻辑模型结构发生变化时,可自动进行逻辑模型和物理表结构的比对并保存差异结果,再次物化时,判断能够自动完成表结构变更,并生成对应变更语句,帮助用户快速实现从逻辑模型到物理表结构的表更。
(3)能够根据物理库表逆向构建逻辑模型,自动从源数据库提取数据库表元数据信息,自动生成数据库表的逻辑模型,同时支持手工调整,无需手动创建数据库模型。
(4)数据源配置模块实现指定数据源的配置,通过连接指定的数据源可执行数据库脚本,创建实际物理表,无需用户到各种存储系统控制台实施建表操作,从而有效地帮助用户自动地将逻辑模型实施到物理模型,减轻了物理模型的开发工作量,同时满足了应用场景中频繁的模型变更需求,进一步提高了该方法的实用性,有利于市场的推广与应用。
图8为本发明实施例提供的一种数据模型的管理装置的结构示意图;参考附图8所示,本实施例提供了一种数据模型的管理装置,该数据模型的管理装置用于执行上述图2所示的数据模型的管理方法,具体的,该数据模型的管理装置可以包括:第一获取模块11、第一确定模块12和第一处理模块13;
第一获取模块11,用于获取数据仓库相对应的逻辑模型;
第一确定模块12,用于在逻辑模型的结构发生变更时,确定与变更前的逻辑模型相对应的第一物理模型;
第一处理模块13,用于基于逻辑模型所对应的结构变更操作对第一物理模型进行管理,以获得与变更后的逻辑模型相对应的第二物理模型。
在一些实例中,在获取数据仓库相对应的逻辑模型之后,本实施例中的第一获取模块11和第一处理模块13:
第一获取模块11,用于获取与逻辑模型相对应的逻辑表,逻辑表中包括定义的多个数据库模式定义语言DDL语句;
第一处理模块13,用于基于逻辑表执行物理化,生成与逻辑模型相对应的第一物理模型。
在一些实例中,在第一处理模块13基于逻辑表执行物理化,生成与逻辑模型相对应的第一物理模型时,该第一处理模块13用于执行:确定用于执行物理化的数据源;基于逻辑表,生成物理建表语句;基于数据源和物理建表语句,生成第一物理模型。
在一些实例中,在获取与逻辑模型相对应的逻辑表之后,本实施例中的第一处理模块13用于:通过逻辑表,判断逻辑模型的结构是否发生变更。
在一些实例中,在第一处理模块13通过逻辑表,判断逻辑模型的结构是否发生变更时,该第一处理模块13用于执行:在逻辑表中所包括的DDL语句发生变更时,则确定逻辑模型的结构已发生变更;在逻辑表中所包括的DDL语句未发生变更时,则确定逻辑模型的结构未发生变更。
在一些实例中,在第一处理模块13基于逻辑模型所对应的结构变更操作对第一物理模型进行管理时,该第一处理模块13用于执行:基于逻辑模型所对应的结构变更操作,检测第一物理模型是否与变更后的逻辑模型相对应;在第一物理模型与变更后的逻辑模型相对应时,则将第一物理模型确定为第二物理模型;在第一物理模型与变更后的逻辑模型不对应时,则获取与结构变更操作相对应的操作类型,并基于操作类型对第一物理模型进行管理。
在一些实例中,在第一处理模块13检测第一物理模型是否与变更后的逻辑模型相对应时,该第一处理模块13用于执行:获取与变更后的逻辑模型相对应的理论建表语句;确定与第一物理模型相对应的当前建表语句;基于理论建表语句和当前建表语句,检测第一物理模型是否与变更后的逻辑模型相对应。
在一些实例中,在第一处理模块13基于理论建表语句和当前建表语句,检测第一物理模型是否与变更后的逻辑模型相对应时,该第一处理模块13用于执行:在理论建表语句与当前建表语句相一致时,则确定第一物理模型与变更后的逻辑模型相对应;或者,在理论建表语句与当前建表语句不一致时,则确定第一物理模型与变更后的逻辑模型不对应。
在一些实例中,在第一处理模块13检测第一物理模型是否与变更后的逻辑模型相对应时,该第一处理模块13用于执行:获取与变更后的逻辑模型相对应的理论物理表结构;确定与第一物理模型相对应的当前物理表结构;基于理论物理表结构和当前物理表结构,检测第一物理模型是否与变更后的逻辑模型相对应。
在一些实例中,在第一处理模块13基于理论物理表结构和当前物理表结构,检测第一物理模型是否与变更后的逻辑模型相对应时,该第一处理模块13用于执行:在理论物理表结构与当前物理表结构相一致时,则确定第一物理模型与变更后的逻辑模型相对应;或者,在理论物理表结构与当前物理表结构不一致时,则确定第一物理模型与变更后的逻辑模型不对应。
在一些实例中,在第一处理模块13基于操作类型对第一物理模型进行管理时,该第一处理模块13用于执行:在操作类型为第一类型、且第一类型为数据仓库所允许的合法类型时,则基于第一类型自动对第一物理模型进行调整,以获得第二物理模型;在操作类型为第二类型时,则输出交互提示信息,以通过交互提示信息与用户进行交互,获得第二物理模型;在操作类型为未知类型时,则生成第一提示信息,第一提示信息用于标识无法对第一物理模型进行自动调整操作;在操作类型为第一类型、且第一类型为数据仓库不允许的非法类型时,则生成第二提示信息,第二提示信息用于标识无法对第一物理模型进行自动调整操作;其中,第一类型包括以下至少之一:增加操作类型、修改操作类型;第二类型包括:删除操作类型。
在一些实例中,本实施例中的第一获取模块11、第一确定模块12和第一处理模块13还用于执行以下步骤:
第一获取模块11,用于获取待管理的物理模型;
第一确定模块12,用于确定与物理模型相对应的物理表结构;
第一处理模块13,用于提取与物理表结构相对应的元数据信息;基于元数据信息,生成与物理模型相对应的逻辑模型。
在一些实例中,在第一获取模块11获取待管理的物理模型时,该第一获取模块11用于执行:获取原始物理模型;确定待管理的物理模型所对应的层级特征;将与层级特征相对应的原始物理模型确定为待管理的物理模型。
图8所示装置可以执行图1-图7所示实施例的方法,本实施例未详细描述的部分,可参考对图1-图7所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1-图7所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图8所示数据模型的管理装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器等各种设备。如图9所示,该电子设备可以包括:第一处理器21和第一存储器22。其中,第一存储器22用于存储相对应电子设备执行上述图1-图7所示实施例中数据模型的管理方法的程序,第一处理器21被配置为用于执行第一存储器22中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第一处理器21执行时能够实现如下步骤:
获取数据仓库相对应的逻辑模型;
在逻辑模型的结构发生变更时,确定与变更前的逻辑模型相对应的第一物理模型;
基于逻辑模型所对应的结构变更操作对第一物理模型进行管理,以获得与变更后的逻辑模型相对应的第二物理模型。
进一步的,第一处理器21还用于执行前述图1-图7所示实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括第一通信接口23,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图1-图7所示方法实施例中数据模型的管理方法所涉及的程序。
此外,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当计算机程序被电子设备的处理器执行时,使处理器执行上述图1-图7所示方法实施例中数据模型的管理方法中的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种数据模型的管理方法,其特征在于,包括:
获取数据仓库相对应的逻辑模型;
在所述逻辑模型的结构发生变更时,确定与变更前的逻辑模型相对应的第一物理模型;
基于所述逻辑模型所对应的结构变更操作对所述第一物理模型进行管理,以获得与变更后的逻辑模型相对应的第二物理模型。
2.根据权利要求1所述的方法,其特征在于,在获取数据仓库相对应的逻辑模型之后,所述方法还包括:
获取与所述逻辑模型相对应的逻辑表,所述逻辑表中包括定义的多个数据库模式定义语言DDL语句;
基于所述逻辑表执行物理化,生成与所述逻辑模型相对应的第一物理模型。
3.根据权利要求2所述的方法,其特征在于,基于所述逻辑表执行物理化,生成与所述逻辑模型相对应的第一物理模型,包括:
确定用于执行物理化的数据源;
基于所述逻辑表,生成物理建表语句;
基于所述数据源和所述物理建表语句,生成所述第一物理模型。
4.根据权利要求2所述的方法,其特征在于,在获取与所述逻辑模型相对应的逻辑表之后,所述方法还包括:
通过所述逻辑表,判断所述逻辑模型的结构是否发生变更。
5.根据权利要求4所述的方法,其特征在于,通过所述逻辑表,判断所述逻辑模型的结构是否发生变更,包括:
在所述逻辑表中所包括的DDL语句发生变更时,则确定所述逻辑模型的结构已发生变更;
在所述逻辑表中所包括的DDL语句未发生变更时,则确定所述逻辑模型的结构未发生变更。
6.根据权利要求1所述的方法,其特征在于,基于所述逻辑模型所对应的结构变更操作对所述第一物理模型进行管理,包括:
基于所述逻辑模型所对应的结构变更操作,检测所述第一物理模型是否与变更后的逻辑模型相对应;
在所述第一物理模型与变更后的逻辑模型相对应时,则将所述第一物理模型确定为所述第二物理模型;
在所述第一物理模型与变更后的逻辑模型不对应时,则获取与所述结构变更操作相对应的操作类型,并基于所述操作类型对所述第一物理模型进行管理。
7.根据权利要求6所述的方法,其特征在于,检测所述第一物理模型是否与变更后的逻辑模型相对应,包括:
获取与变更后的逻辑模型相对应的理论建表语句;
确定与所述第一物理模型相对应的当前建表语句;
基于所述理论建表语句和当前建表语句,检测所述第一物理模型是否与变更后的逻辑模型相对应。
8.根据权利要求7所述的方法,其特征在于,基于所述理论建表语句和当前建表语句,检测所述第一物理模型是否与变更后的逻辑模型相对应,包括:
在所述理论建表语句与所述当前建表语句相一致时,则确定所述第一物理模型与变更后的逻辑模型相对应;或者,
在所述理论建表语句与所述当前建表语句不一致时,则确定所述第一物理模型与变更后的逻辑模型不对应。
9.根据权利要求6所述的方法,其特征在于,检测所述第一物理模型是否与变更后的逻辑模型相对应,包括:
获取与变更后的逻辑模型相对应的理论物理表结构;
确定与所述第一物理模型相对应的当前物理表结构;
基于所述理论物理表结构和当前物理表结构,检测所述第一物理模型是否与变更后的逻辑模型相对应。
10.根据权利要求7所述的方法,其特征在于,基于所述理论物理表结构和当前物理表结构,检测所述第一物理模型是否与变更后的逻辑模型相对应,包括:
在所述理论物理表结构与所述当前物理表结构相一致时,则确定所述第一物理模型与变更后的逻辑模型相对应;或者,
在所述理论物理表结构与所述当前物理表结构不一致时,则确定所述第一物理模型与变更后的逻辑模型不对应。
11.根据权利要求6所述的方法,其特征在于,基于所述操作类型对所述第一物理模型进行管理,包括:
在所述操作类型为第一类型、且所述第一类型为数据仓库所允许的合法类型时,则基于所述第一类型自动对所述第一物理模型进行调整,以获得第二物理模型;
在所述操作类型为第二类型时,则输出交互提示信息,以通过所述交互提示信息与用户进行交互,获得第二物理模型;
在所述操作类型为未知类型时,则生成第一提示信息,所述第一提示信息用于标识无法对所述第一物理模型进行自动调整操作;
在所述操作类型为第一类型、且所述第一类型为数据仓库不允许的非法类型时,则生成第二提示信息,所述第二提示信息用于标识无法对所述第一物理模型进行自动调整操作;
其中,所述第一类型包括以下至少之一:增加操作类型、修改操作类型;所述第二类型包括:删除操作类型。
12.根据权利要求1-11中任意一项所述的方法,其特征在于,所述方法还包括:
获取待管理的物理模型;
确定与所述物理模型相对应的物理表结构;
提取与所述物理表结构相对应的元数据信息;
基于所述元数据信息,生成与所述物理模型相对应的逻辑模型。
13.根据权利要求12所述的方法,其特征在于,获取待管理的物理模型,包括:
获取原始物理模型;
确定待管理的物理模型所对应的层级特征;
将与所述层级特征相对应的原始物理模型确定为待管理的物理模型。
14.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1-13中任一项所述的数据模型的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210074335.2A CN114490578A (zh) | 2022-01-21 | 2022-01-21 | 数据模型的管理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210074335.2A CN114490578A (zh) | 2022-01-21 | 2022-01-21 | 数据模型的管理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114490578A true CN114490578A (zh) | 2022-05-13 |
Family
ID=81471791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210074335.2A Pending CN114490578A (zh) | 2022-01-21 | 2022-01-21 | 数据模型的管理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490578A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290361A (zh) * | 2023-10-07 | 2023-12-26 | 西安新视窗科技有限公司 | 一种用于数据结构的自动化管理系统及方法 |
-
2022
- 2022-01-21 CN CN202210074335.2A patent/CN114490578A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290361A (zh) * | 2023-10-07 | 2023-12-26 | 西安新视窗科技有限公司 | 一种用于数据结构的自动化管理系统及方法 |
CN117290361B (zh) * | 2023-10-07 | 2024-05-28 | 西安新视窗科技有限公司 | 一种用于数据结构的自动化管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9792284B2 (en) | System, method and computer program product for multilingual content management | |
US10466971B2 (en) | Generation of an application from data | |
CN111512315B (zh) | 文档元数据的按块提取 | |
US10168870B2 (en) | System for retrieving, visualizing and editing semantic annotations | |
US10261808B2 (en) | Access operation with dynamic linking and access of data within plural data sources | |
US11061904B2 (en) | Resource condition correction using intelligently configured dashboard widgets | |
US20200379755A1 (en) | Automated editing task modification | |
US9646004B2 (en) | Hierarchical database report generation with automated query generation for placeholders | |
US10423416B2 (en) | Automatic creation of macro-services | |
AU2021257649B2 (en) | Vision-based cell structure recognition using hierarchical neural networks and cell boundaries to structure clustering | |
CN112182045B (zh) | 元数据管理方法、装置、计算机设备及存储介质 | |
US11704345B2 (en) | Inferring location attributes from data entries | |
CN113485909B (zh) | 测试方法、装置、计算设备以及介质 | |
CN114490578A (zh) | 数据模型的管理方法、装置及设备 | |
US10565202B2 (en) | Data write/import performance in a database through distributed memory | |
CN115629763A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
CN113407678B (zh) | 知识图谱构建方法、装置和设备 | |
US11151309B1 (en) | Screenshot-based memos | |
CN113705822A (zh) | 一种自动建模方法、系统、计算设备及存储介质 | |
CN114391151A (zh) | 增强自然语言生成平台 | |
CN112749229A (zh) | 数据转换方法、装置、存储介质及电子设备 | |
US20230315980A1 (en) | Content association in file editing | |
US11561932B2 (en) | Cognitive digital file naming | |
US20230161596A1 (en) | Unified pipeline flow with common and phase-specific paths | |
CN113704593B (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 |