CN114064611A - 一种元数据可复用的数据建模方法及*** - Google Patents

一种元数据可复用的数据建模方法及*** Download PDF

Info

Publication number
CN114064611A
CN114064611A CN202111369011.3A CN202111369011A CN114064611A CN 114064611 A CN114064611 A CN 114064611A CN 202111369011 A CN202111369011 A CN 202111369011A CN 114064611 A CN114064611 A CN 114064611A
Authority
CN
China
Prior art keywords
metadata
component
data
group
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.)
Pending
Application number
CN202111369011.3A
Other languages
English (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.)
CISDI Chongqing Information Technology Co Ltd
Original Assignee
CISDI Chongqing Information Technology 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 CISDI Chongqing Information Technology Co Ltd filed Critical CISDI Chongqing Information Technology Co Ltd
Priority to CN202111369011.3A priority Critical patent/CN114064611A/zh
Publication of CN114064611A publication Critical patent/CN114064611A/zh
Pending legal-status Critical Current

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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

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

Abstract

本发明提供一种元数据可复用的数据建模方法及***,首先获取多个类别的原始数据,其中,每种原始数据至少包括有多个元数据;根据元数据特性对每种原始数据进行分组,获取每种原始数据对应的多个元数据组,包括:能够进行复用的一个或多个基础元数据组、不能进行复用的一个或多个专有元数据组;再对基础元数据组和专有元数据组进行组件配置;并基于组件配置后的元数据组进行元数据组组合、排序,生成每个类别的原始数据定义;最后根据所有类别的原始数据定义生成数据库表,完成数据建模。本发明通过有效复用元数据配置实现快速数据建模并减少数据库表冗余,根据元数据配置和数据建模,自动生成数据应用的界面和相关功能,提高开发效率。

Description

一种元数据可复用的数据建模方法及***
技术领域
本发明涉及计算机技术领域,特别是涉及一种元数据可复用的数据建模方法及***。
背景技术
通常一种原始数据会由多个不同类别的元数据组成,并且不同的数据间既存在相同的元数据,又存在不同元数据的情况。但是,在对原始数据建模时,目前的原始数据建模和原始数据应用的实现方式中,通常需要开发人员根据元数据的类别,为每一种原始数据定制开发相关的数据库表、表单页面以及数据存取接口等,导致不同的原始数据之间的相同元数据无法进行复用,从而造成代码冗余,开发效率低,不便于业务扩展和快速响应多变的业务需求。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种元数据可复用的数据建模方法及***,用于解决现有技术中不同原始数据之间相同元数据无法复用的问题。
为实现上述目的及其他相关目的,本发明提供一种元数据可复用的数据建模方法,所述方法包括以下步骤:
获取多个类别的原始数据,每种原始数据至少包括有多个元数据;
根据元数据特性对每种原始数据进行分组,获取每种原始数据对应的多个元数据组;其中,所述元数据特性至少包括:元数据可复用性;每种原始数据对应的多个元数据组至少包括:能够进行复用的基础元数据组、不能进行复用的专有元数据组;
对所述基础元数据组和所述专有元数据组进行组件配置;
基于组件配置后的元数据组进行元数据组组合、排序,生成每个类别的原始数据定义;
根据所有类别的原始数据定义生成数据库表,完成数据建模。
可选地,所述方法还包括:
从所述基础元数据组确定出能够关联其他元数据组的一个元数据组,记为主元数据组;
将除所述主元数据组外的其他元数据组组合后形成的新元数据组记为第一元数据组;
将所述主元数据组加入至所述第一元数据组中,记为第二元数据组;
对所述第二元数据组中的所有元数据组进行排序,生成每个类别的原始数据定义。
可选地,所述方法还包括:
获取待分组原始数据;
利用所述基础元数据组来对所述待分组原始数据中的元数据进行分组;
若对所述待分组原始数据进行分组时,所述待分组原始数据中还存在至少一个元数据不能被分进所述基础元数据组中,则将所述至少一个元数据分组至专有元数据组。
可选地,所述对所述基础元数据组或所述专有元数据组进行组件配置的过程包括:
获取所述基础元数据组或所述专有元数据组的配置界面;
在所述配置界面中的预设组件显示区域中选择目标组件,并对所选择的目标组件进行拖拽形成页面布局;所述预设组件以下至少之一:基础组件、布局组件和动态组件;
对进行页面布局后的组件进行参数设置,并在完成参数设置后,保存当前参数设置,完成对所述基础元数据组或所述专有元数据组的组件配置;所述参数包括:组件参数和表单参数。
可选地,所述基础组件包括:输入框组件、计数器组件、密码框组件、文本域组件、单选框组件、复选框组件、日期选框组件、时间选框组件、评分组件、开关组件、提示框组件、颜色选择器组件、图标组件、头像组件和富文本框组件;
所述布局组件包括:分割线组件、栅格布局组件、卡片布局组件和标签页布局组件;
所述动态组件包括:流水号组件、组织选择器组件、角色选择器组件、人员选择器组件、下拉选择器组件、级联选择器组件、树选择器组件、滑动输入条组件、上传文件组件、上传图片组件和动态表格组件。
可选地,所述预设组件中的组件参数包括:标签名称、数据字段、大小、宽度、样式、提示内容、默认值、状态、校验规则、数据来源;
其中,所述数据字段为生成数据库表时的字段名称;所述状态包括:可编辑、只读、隐藏;所述校验规则包括:非空校验、正则表达式校验、动态函数校验;所述数据来源包括:静态数据、数据字典、动态方法获取;
所述表单参数包括:表单布局方式、标签布局方式、标签宽度、权限设置和唯一键设置;
其中,所述权限设置用于设置组件新建、编辑、查看时的权限;所述唯一键设置用于设置一个或多个唯一键,以及选择一个组件或多个组件组合为唯一键。
可选地,在根据所有类别的原始数据定义生成数据库表时,还包括:
遍历所有原始数据定义中的元数据组,并判断这些元数据组是否生成数据库表;
如果未生成数据库表,则根据所述元数据组的组件配置在数据库中生成数据库表,且在所述主元数据组所对应的主元数据库表中创建唯一标识字段,以及在所述第一元数据组所对应的元数据库表中创建关联字段;所述数据库包括:Oracle、MySql、SqlServer;
如果已生成数据库表,则直接复用已生成的数据库表。
可选地,在生成所述数据库表后,还包括:生成表单应用和/或表格应用;
所述表单应用用于对单条数据进行处理,包括:查看数据详情处理、新建数据处理和编辑数据处理;
所述表格应用用于对多条数据进行展示和处理,包括:动态获取数据展示和处理、表格配置展示和处理、翻页展示和处理、排序展示和处理、筛选展示和处理、批量删除处理、查询展示和处理、导出展示和处理和导入展示和处理。
本发明还提供一种元数据可复用的数据建模***,所述***包括有:
数据采集模块,用于获取多个类别的原始数据,每种原始数据至少包括有多个元数据;
第一分组模块,用于根据元数据特性对每种原始数据进行分组,获取每种原始数据对应的多个元数据组;其中,所述元数据特性至少包括:元数据可复用性;每种原始数据对应的多个元数据组至少包括:能够进行复用的基础元数据组、不能进行复用的专有元数据组;
组件配置模块,用于对所述基础元数据组和所述专有元数据组进行组件配置;
第一组合排序模块,用于对完成组件配置后的元数据组进行元数据组组合、排序,生成每个类别的原始数据定义;
数据建模模块,用于根据所有类别的原始数据定义生成数据库表,完成数据建模。
可选地,所述***还包括:
主元数据组模块,用于从所述基础元数据组确定出能够关联其他元数据组的一个元数据组,记为主元数据组;
第二分组模块,用于将除所述主元数据组外的其他元数据组组合后形成的新元数据组记为第一元数据组,以及将所述主元数据组加入至所述第一元数据组中,记为第二元数据组;
第二组合排序模块,用于对所述第二元数据组中的所有元数据组进行排序,生成每个类别的原始数据定义。
如上所述,本发明提供一种元数据可复用的数据建模方法及***,具有以下有益效果:本发明首先获取多个类别的原始数据,其中每种原始数据至少包括有多个元数据;根据元数据特性对每种原始数据进行分组,获取每种原始数据对应的多个元数据组;其中,元数据特性至少包括:元数据可复用性;每种原始数据对应的多个元数据组至少包括:能够进行复用的基础元数据组、不能进行复用的专有元数据组;再对基础元数据组和所述专有元数据组进行组件配置;并基于组件配置后的元数据组进行元数据组组合、排序,生成每个类别的原始数据定义;最后根据所有类别的原始数据定义生成数据库表,完成数据建模。业务开发人员在对待分组原始数据进行元数据分组时,可以直接对待分组原始数据中的元数据按照基础元数据组和专有元数据组进行分组。由此可知,通过本发明,无需每次都要专业技术人员进行干预,只需要业务人员根据实际业务需求,将元数据分为不同的组,通过拖拽组件等常规化操作零代码的快速完成元数据配置,再组合新配置的元数据组或者直接复用已有元数据组完成数据定义。本发明根据数据定义中元数据组件特征和组合关系完成数据建模,自动生成数据库表和数据应用,实现数据列表展示、新建、编辑、删除、查询等功能。本发明为开发者屏蔽了数据库建模过程,可快速的针对需求的变化做出相应的调整,使开发过程更直观更高效,避免了数据库表、表单页面以及数据存取接口重复开发,提升了代码的可复用性,降低了开发复杂度和开发门槛。所以,本发明提供了丰富的组件实现可视化元数据配置,通过有效复用元数据配置实现快速数据建模并减少数据库表冗余,根据元数据配置和数据建模,自动生成数据应用的界面和相关功能,提高开发效率。
附图说明
图1为一实施例提供的元数据可复用的数据建模方法的流程示意图;
图2为另一实施例提供的元数据可复用的数据建模方法的流程示意图;
图3为一实施例提供的元数据可复用的数据建模***的硬件结构示意图;
图4为另一实施例提供的元数据可复用的数据建模***的硬件结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
请参阅图1所示,本实施例提供一种元数据可复用的数据建模方法,所述方法包括以下步骤:
S100,获取多个类别的原始数据,每种原始数据包括但不限于有多个元数据;
S200,根据元数据特性对每种原始数据进行分组,获取每种原始数据对应的多个元数据组;其中,所述元数据特性包括但不限于:元数据可复用性;每种原始数据对应的多个元数据组包括但不限于:能够进行复用的一个或多个基础元数据组、不能进行复用的一个或多个专有元数据组;
S300,对所述基础元数据组和所述专有元数据组进行组件配置;
S400,基于组件配置后的元数据组进行元数据组组合、排序,生成每个类别的原始数据定义;
S500,根据所有类别的原始数据定义生成数据库表,完成数据建模。
由此可知,业务开发人员在对待分组原始数据进行元数据分组时,可以直接对待分组原始数据中的元数据按照基础元数据组和专有元数据组进行分组。通过本实施例,无需每次都要专业技术人员进行干预,只需要业务人员根据实际业务需求,将元数据分为不同的组,通过拖拽组件等常规化操作零代码的快速完成元数据配置,再组合新配置的元数据组或者直接复用已有元数据组完成数据定义。本实施例根据数据定义中元数据组件特征和组合关系完成数据建模,自动生成数据库表和数据应用,实现数据列表展示、新建、编辑、删除、查询等功能。本实施例为开发者屏蔽了数据库建模过程,可快速的针对需求的变化做出相应的调整,使开发过程更直观更高效,避免了数据库表、表单页面以及数据存取接口重复开发,提升了代码的可复用性,降低了开发复杂度和开发门槛。所以,本实施例提供了丰富的组件实现可视化元数据配置,通过有效复用元数据配置实现快速数据建模并减少数据库表冗余,根据元数据配置和数据建模,自动生成数据应用的界面和相关功能,提高开发效率。
在一示例性实施例中,本方法还包括:从所述基础元数据组确定出能够关联其他元数据组的一个元数据组,记为主元数据组;将除所述主元数据组外的其他元数据组组合后形成的新元数据组记为第一元数据组;将所述主元数据组加入至所述第一元数据组中,记为第二元数据组;对所述第二元数据组中的所有元数据组进行排序,生成每个类别的原始数据定义。作为示例,对于专利权证书原始数据和软件著作权证书原始数据而言,这两种原始数据存在的相同元数据有名称、编号、权利人等,不同的元数据有:专利类型、授权日期、版本号、开发完成日期等。所以,本实施例可以将相同的元数据名称、编号、权利人划分为基础元数据组,并将基础元数据组定义为主元数据组,将专利类型、授权日期划分为专利专有元数据组,将版本号、开发完成日期划分为软件著作权专有元数据组。其中,基础元数据组可以被专利权证书原始数据和软件著作权证书原始数据复用,所以本实施例只需要将专利权证书原始数据和软件著作权证书原始数据分为基础元数据组、专利专有元数据组和软件著作权专有元数据组即可,即分为三个元数据组。本实施例在生成原始数据定义时,用户可以根据实际的建模数据选择匹配的元数据组进行组合,必须选择且仅选择一个主元数据组,然后对元数据组进行排序。例如对于专利权证书原始数据和软件著作权证书原始数据而言,在完成对基础元数据组、专利专有元数据组和软件著作权专有元数据组的配置后,选择基础元数据组、专利专有元数据组组合完成专利权证书原始数据定义,选择基础元数据组、软件著作权专有元数据组组合完成软件著作权证书原始数据定义。其中,基础元数据组因为其能够被两种原始数据进行复用,所以本实施例将其作为原始数据的主元数据组。
在一示例性实施例中,本方法还包括:获取待分组原始数据;利用所述基础元数据组来对所述待分组原始数据中的元数据进行分组;若对所述待分组原始数据进行分组时,所述待分组原始数据中还存在至少一个元数据不能被分进所述基础元数据组中,则将所述至少一个元数据分组至专有元数据组。本实施例可以将数据建模后形成的模型称为元数据组分组模型。作为示例,本实施例还包括判断当前时刻的专有元数据组与所述元数据分组模型中的专有元数据组是否相同,若不相同,则根据当前时间的专有元数据组与所述基础元数据组进行组合和排序,建立新的元数据组分组模型。作为示例,若元数据分组模型是基于专利权证书原始数据和软件著作权证书原始数据生成的,则在待分组原始数据为商标权证书原始数据时,目前的元数据分组模型在对商标权证书原始数据进行元数据分组时,还会存在商标图案、商品服务等剩余的元数据,则本实施例可以将商标图案、商品服务进行组合,作为当前时刻的专有元数据组,也可以分别将商标图案作为一个专有元数据组,将商品服务作为一个专有元数据组。由于目前的元数据分组模型不能对商标图案、商品服务进行元数据分组,所以本实施例还可以再建立一个新的元数据分组模型,用于对当前及后续的商标证书原始数据进行元数据分组。
在一示例性实施例中,对所述基础元数据组或所述专有元数据组进行组件配置的过程包括:获取所述基础元数据组或所述专有元数据组的配置界面;在所述配置界面中的预设组件显示区域中选择目标组件,并对所选择的目标组件进行拖拽形成页面布局;所述预设组件以下至少之一:基础组件、布局组件和动态组件;对进行页面布局后的组件进行参数设置,并在完成参数设置后,保存当前参数设置,完成对所述基础元数据组或所述专有元数据组的组件配置。在本实施例中,元数据组配置界面由组件区、编辑区、参数区、操作区四部分组成,根据实际的需要还可以增加其他区域,如增加组件嵌套关系展示区等。
其中,组件区用于显示组件库中的组件,组件库预先提供了多种组件,包括基础组件、布局组件和动态组件。作为示例,基础组件包括但不限于:输入框组件、计数器组件、密码框组件、文本域组件、单选框组件、复选框组件、日期选框组件、时间选框组件、评分组件、开关组件、提示框组件、颜色选择器组件、图标组件、头像组件和富文本框组件;布局组件包括但不限于:分割线组件、栅格布局组件、卡片布局组件和标签页布局组件;动态组件包括但不限于:流水号组件、组织选择器组件、角色选择器组件、人员选择器组件、下拉选择器组件、级联选择器组件、树选择器组件、滑动输入条组件、上传文件组件、上传图片组件和动态表格组件。本实施例中的组件数量可以根据业务的实际需求进行相应的增减,本实施例在此并不做具体的数量限定。编辑区用于执行用户对组件的选择和拖拽,对已选组件进行页面布局;在编辑区可以对组件进行删除和复制,使用复制的方式可以进行快速的组件选择和参数配置。参数区用于设置表单和组件的参数,在本实施例中,多个组件形成一个表单。表单参数主要包括表单布局方式、标签布局方式、标签宽度、权限设置和唯一键设置,其中权限设置可以分别设置组件新建、编辑、查看时的权限,表单的唯一键可以设置一个或多个,并且可以选择一个元数据或多个元数据组合为唯一键。每种组件都有特定的参数,***根据组件定义,在参数区中动态渲染组件的属性参数,包括:标签名称、数据字段、大小、宽度、样式、提示内容、默认值、状态、校验规则、数据来源等,其中数据字段即为生成数据库表时的字段名称,状态包括:可编辑、只读、隐藏,校验规则包括:非空校验、正则表达式校验、动态函数校验等。如果组件为动态组件,还可以在参数区设置数据来源,数据来源包括:静态数据、数据字典、动态方法获取等。默认值、校验规则、数据来源都可以根据业务的实际需求进行相应的增加和修改,在此并不做具体的限定。当表单或组件的参数发生变化时,在编辑区实时监听并自动重新渲染组件样式,达到所见即所得,参数配置与展示效果实时同步。操作区用于展示操作按钮,操作按钮包括:保存、预览、查看JSON数据、清空、撤销、重做。
在一示例性实施例中,在根据所有类别的原始数据定义生成数据库表时,还包括:遍历所有原始数据定义中的元数据组,并判断这些元数据组是否生成数据库表;如果未生成数据库表,则根据所述元数据组的组件配置在数据库中生成数据库表,且在所述主元数据组所对应的主元数据库表中创建唯一标识字段,以及在所述第一元数据组所对应的元数据库表中创建关联字段;所述数据库包括但不限于:Oracle、MySql、SqlServer;如果已生成数据库表,则直接复用已生成的数据库表。在本实施例中,复用的元数据组不再生成数据库表,即一些实施例中的基础元数据组不在生成数据库表。作为示例,比如发布专利权证书原始数据定义时,在数据库中分别生成基础元数据库表和专利专有元数据库表,在基础元数据库表中自动创建唯一标识字段,在专利专有元数据库表中除创建唯一标识字段外还会自动创建关联字段,实现主元数据库表与其他元数据库表的关联。发布软件著作权证书原始数据定义时,由于基础元数据组已生成数据库表,所以只需生成软件著作权专有元数据库表,同样的,在软件著作权专有元数据库表中除创建唯一标识字段外还会自动创建关联字段,实现与基础元数据库表的关联。生成数据库表时,自动根据元数据对应的组件类型生成表字段。对于基础组件和动态组件,在本实施例中预设了组件类型和字段类型的对应关系,比如输入框对应字符串类型、计数器对应数值类型、日期选框对应日期类型、富文本框对应长文本类型等;当选择了动态表格组件时,需要根据参数自动在数据库中生成子表,并创建字段与当前元数据库表关联。布局组件主要用于让基础组件和动态组件在表单应用中有更好的展示效果,布局组件不会生成表字段。本实施例生成数据库表时,可以自动根据唯一键设置创建表的索引。本实施例在生成数据库表时,通过适配Oracle、MySql、SqlServer等数据库,可以进一步的减少开发过程的工作量。
在一示例性实施例中,在生成所述数据库表后,还包括:生成表单应用和/或表格应用,这些应用可以由预先实现的通用接口完成。所述表单应用用于对单条数据进行处理,包括:查看数据详情处理、新建数据处理和编辑数据处理;在表单应用中,可以选择是用折叠面板或者标签页进行渲染,每个元数据组根据组件配置时的组件布局和参数渲染为折叠面板或者标签页中的内容,折叠面板或者标签页的数量和显示顺序根据生成数据定义时元数据组的组合和排序确定。所述表格应用用于对多条数据进行展示和处理,包括:动态获取数据展示和处理、表格配置展示和处理、翻页展示和处理、排序展示和处理、筛选展示和处理、批量删除处理、查询展示和处理、导出展示和处理和导入展示和处理。
在表格应用中,根据数据库表关联关系动态生成获取数据sql语句,对于字典类元数据,本实施例中提供转化器模块,将编码转化为标签进行展示。表格配置功能是在表格配置对话框中根据生成的数据定义列示当前数据的所有元数据,可以勾选需要在表格中显示的元数据,并设定显示顺序、列宽、视图模式、每页数量、是否显示序号、是否显示复选框等,其中视图模式包括:表格视图、缩略图视图、卡片视图。每个用户可以保存自己的表格配置,下次进入表格应用时自动按表格配置进行渲染。在表格的表头上可以对任一元数据列进行排序,如果元数据对应的组件类型为选择器,则还可以对该元数据列进行筛选。在查询对话框中,根据组件配置步骤中元数据配置时的组件类型自动确定查询组件类型,比如元数据组件为下拉选择器,对应查询组件类型为多选选择器;元数据组件为日期选框,对应查询组件类型为日期范围选框等。并根据当前表格配置将查询组件分别放入常用条件栏和其他条件栏中,在表格中显示的元数据所对应的查询组件放入常用条件栏,隐藏的元数据所对应的查询组件放入其他条件栏,其他条件栏默认折叠。查询时根据数据库表关联关系动态生成查询sql语句。导出功能是将查询到的所有数据导出为Excel文件。导入功能包括导入模板生成、导入数据校验、导入数据新建或更新。根据生成的数据定义动态生成导入模板,按照模版提供的数据格式以及说明提供数据。在导入时自动将导入数据加载到前端页面中,根据组件配置步骤中元数据配置的校验规则自动对数据进行校验并将提示显示到对应数据行。提交前需要选择提交设置,当选择“唯一字段重复时跳过”时,则重复的数据都不存入数据库;当选择“唯一字段重复时更新”,则根据唯一字段更新数据库中数据。提交完成后将每一行数据的导入结果都显示到前端页面中。
在另一实施例,如图2所示,本实施例提供一种元数据可复用的数据建模方法,包括以下步骤:
步骤1:用户根据实际的建模数据将元数据划分为不同的元数据组,并定义主元数据组。具体地,根据元数据的特性将元数据划分为不同的组并定义主元数据组,元数据的特性包括但不限于元数据的可复用性。比如专利权证书原始数据和软件著作权证书原始数据,可以将相同的元数据名称、编号、权利人划分为基础元数据组并定义为主元数据组,将专利类型、授权日期划分为专利专有元数据组,将版本号、开发完成日期划分为软件著作权专有元数据组。其中,基础元数据组可以被专利权证书原始数据和软件著作权证书原始数据复用,所以在元数据组管理模块中只需创建基础元数据组、专利专有元数据组和软件著作权专有元数据组三个元数据组。
步骤2:判断划分出的元数据组是否已完成组件配置。若未完成组件配置,则进入步骤3,若已完成组件配置,则进入步骤4。
步骤3:选择步骤1中新创建的元数据组,通过拖拽完成元数据配置。其中,元数据组配置界面由组件区、编辑区、参数区、操作区四部分组成,根据实际的需要还可以增加其他区域,如组件嵌套关系展示区等。组件区用于显示组件库中的组件,组件库提供了基础组件、布局组件和动态组件,比如输入框、计数器、单选框、复选框、日期选框、富文本框、卡片布局、标签页布局、流水号、组织选择器、级联选择器、树选择器、动态表格等组件,组件的数量可以根据业务的实际需求进行相应的增减,在此并不做具体的限定。编辑区用于执行用户对组件的选择和拖拽,对已选组件进行页面布局。在编辑区可以对组件进行删除和复制,使用复制的方式可以进行快速的组件选择和参数配置。参数区用于设置表单和组件的参数。表单参数主要包括表单布局方式、标签布局方式、标签宽度和唯一键设置,其中表单的唯一键可以设置一个或多个,并且可以选择一个元数据或多个元数据组合为唯一键。每种组件都有特定的参数,***根据组件定义,在参数区中动态渲染组件的属性参数,包括:标签名称、数据字段、大小、宽度、样式、提示内容、默认值、状态、校验规则、数据来源等,其中数据字段即为生成数据库表时的字段名称,状态包括:可编辑、只读、隐藏,校验规则包括:非空校验、正则表达式校验、动态函数校验等。如果组件为动态组件,还可以在参数区设置数据来源,数据来源包括:静态数据、数据字典、动态方法获取等。默认值、校验规则、数据来源都可以根据业务的实际需求进行相应的增加和修改,在此并不做具体的限定。当表单或组件的参数发生变化时,在编辑区实时监听并自动重新渲染组件样式,达到所见即所得,参数配置与展示效果实时同步。操作区用于展示操作按钮,操作按钮包括:保存、预览、查看JSON数据、清空、撤销、重做。以步骤1中创建的基础元数据组为例,基础元数据中包括名称、编号、权利人3个元数据。进入基础元数据组配置界面后,通过从组件区中拖拽组件到编辑区进行规划布局,其中名称、编号使用输入框组件,权利人使用人员选择器组件。组件拖拽到编辑区后在参数区设置组件参数,比如设置名称、编号的校验规则为必填,设置权利人的选择类型为多选。完成布局和参数设置后,点击预览按钮可以查看到该元数据组在表单应用中的展示效果,点击保存按钮保存元数据配置。
步骤4:选择元数据组进行组合和排序,形成数据定义。具体地,用户根据实际的建模数据选择匹配的元数据组进行组合,必须选择且仅选择一个主元数据组,并对元数据组进行排序。比如专利权证书原始数据和软件著作权证书原始数据,按步骤3描述完成对基础元数据组、专利专有元数据组和软件著作权专有元数据组的配置后,选择基础元数据组、专利专有元数据组组合完成专利权证书原始数据定义,选择基础元数据组、软件著作权专有元数据组组合完成软件著作权证书原始数据定义。其中基础元数据组被两种数据复用,并为数据的主元数据组。
步骤5:发布数据定义,完成数据建模,自动生成数据库表。具体地,发布数据定义时,遍历数据定义中元数据组,判断元数据组是否完成生成数据库表,如果未完成则根据元数据配置生成数据库表;并根据是否为主元数据组创建表关联字段;复用的元数据组不再生成数据库表。比如发布专利权证书原始数据定义时,在数据库中分别生成基础元数据库表和专利专有元数据库表,在基础元数据库表中自动创建唯一标识字段,在专利专有元数据库表中除创建唯一标识字段外还会自动创建关联字段,实现主元数据库表与其他元数据库表的关联。发布软件著作权证书原始数据定义时,由于基础元数据组已生成数据库表,所以只需生成软件著作权专有元数据库表,同样的,在软件著作权专有元数据库表中除创建唯一标识字段外还会自动创建关联字段,实现与基础元数据库表的关联。生成数据库表时,自动根据元数据对应的组件类型生成表字段。对于基础组件和动态组件,在本发明中预设了组件类型和字段类型的对应关系,比如输入框对应字符串类型、计数器对应数值类型、日期选框对应日期类型、富文本框对应长文本类型等;当选择了动态表格组件时,需要根据参数自动在数据库中生成子表,并创建字段与当前元数据库表关联。布局组件主要用于让基础组件和动态组件在表单应用中有更好的展示效果,布局组件不会生成表字段。生成数据库表时,自动根据唯一键设置创建表的索引。为了进一步的减少开发过程的工作量,在本发明中通过数据库适配模块适配Oracle、MySql、SqlServer等数据库。
步骤6:自动生成数据应用,包括表单应用和表格应用,实现数据的查看、新建、编辑、动态获取数据、表格配置、翻页、排序、筛选、删除、查询、导出、导入等功能。具体地,表单应用主要用于对单条数据的处理,包括对数据详情的查看、新建数据、编辑数据功能,这些功能都由在本发明中预先实现的通用接口完成。在表单应用中,可以选择是用折叠面板或者标签页进行渲染,每个元数据组根据步骤3中组件布局和参数渲染为折叠面板或者标签页中的内容,折叠面板或者标签页的数量和显示顺序根据步骤4中数据定义时选择的元数据组和排序确定。表格应用是用表格对多条数据进行展示和处理,包括动态获取数据、表格配置、翻页、排序、筛选、删除、查询、导出、导入等功能,这些功能都由在本发明中预先实现的通用接口完成。根据数据库表关联关系动态生成获取数据sql语句。对于字典类元数据,本发明中提供转化器模块,将编码转化为标签进行展示。表格配置功能是在表格配置对话框中根据步骤4中数据定义列示当前数据的所有元数据,可以勾选需要在表格中显示的元数据,并设定显示顺序、列宽、视图模式、每页数量、是否显示序号、是否显示复选框等,其中视图模式包括:表格视图、缩略图视图、卡片视图。每个用户可以保存自己的表格配置,下次进入表格应用时自动按表格配置进行渲染。在表格的表头上可以对任一元数据列进行排序,如果元数据对应的组件类型为选择器,则还可以对该元数据列进行筛选。在查询对话框中,根据步骤3中元数据配置时的组件类型自动确定查询组件类型,比如元数据组件为下拉选择器,对应查询组件类型为多选选择器;元数据组件为日期选框,对应查询组件类型为日期范围选框等。并根据当前表格配置将查询组件分别放入常用条件栏和其他条件栏中,在表格中显示的元数据所对应的查询组件放入常用条件栏,隐藏的元数据所对应的查询组件放入其他条件栏,其他条件栏默认折叠。查询时根据数据库表关联关系动态生成查询sql语句。导出功能是将查询到的所有数据导出为Excel文件。导入功能包括导入模板生成、导入数据校验、导入数据新建或更新。根据步骤4中数据定义动态生成导入模板,按照模版提供的数据格式以及说明提供数据。在导入时自动将导入数据加载到前端页面中,根据步骤3中元数据配置的校验规则自动对数据进行校验并将提示显示到对应数据行。提交前需要选择提交设置,当选择“唯一字段重复时跳过”时,则重复的数据都不存入数据库;当选择“唯一字段重复时更新”,则根据唯一字段更新数据库中数据。提交完成后将每一行数据的导入结果都显示到前端页面中。
综上所述,本发明提供一种元数据可复用的数据建模方法,本方法首先获取多个类别的原始数据,其中每种原始数据至少包括有多个元数据;根据元数据特性对每种原始数据进行分组,获取每种原始数据对应的多个元数据组;其中,元数据特性至少包括元数据可复用性;每种原始数据对应的多个元数据组至少包括:能够进行复用的基础元数据组、不能进行复用的专有元数据组;再对基础元数据组和所述专有元数据组进行组件配置;并基于组件配置后的元数据组进行元数据组组合、排序,生成每个类别的原始数据定义;最后根据所有类别的原始数据定义生成数据库表,完成数据建模。业务开发人员在对待分组原始数据进行元数据分组时,可以直接对待分组原始数据中的元数据按照基础元数据组和专有元数据组进行分组。由此可知,通过本方法,无需每次都要专业技术人员进行干预,只需要业务人员根据实际业务需求,将元数据分为不同的组,通过拖拽组件等常规化操作零代码的快速完成元数据配置,再组合新配置的元数据组或者直接复用已有元数据组完成数据定义。本方法根据数据定义中元数据组件特征和组合关系完成数据建模,自动生成数据库表和数据应用,实现数据列表展示、新建、编辑、删除、查询等功能。本方法为开发者屏蔽了数据库建模过程,可快速的针对需求的变化做出相应的调整,使开发过程更直观更高效,避免了数据库表、表单页面以及数据存取接口重复开发,提升了代码的可复用性,降低了开发复杂度和开发门槛。所以,本方法提供了丰富的组件实现可视化元数据配置,通过有效复用元数据配置实现快速数据建模并减少数据库表冗余,根据元数据配置和数据建模,自动生成数据应用的界面和相关功能,提高开发效率。
如图3所示,本发明还提供一种元数据可复用的数据建模***,所述***包括有:
数据采集模块M10,用于获取多个类别的原始数据,每种原始数据包括但不限于有多个元数据;
第一分组模块M20,用于根据元数据特性对每种原始数据进行分组,获取每种原始数据对应的多个元数据组;其中,所述元数据特性包括但不限于:元数据可复用性;每种原始数据对应的多个元数据组包括但不限于:能够进行复用的一个或多个基础元数据组、不能进行复用的一个或多个专有元数据组;
组件配置模块M30,用于对所述基础元数据组和所述专有元数据组进行组件配置;
第一组合排序模块M40,用于对完成组件配置后的元数据组进行元数据组组合、排序,生成每个类别的原始数据定义;
数据建模模块M50,用于根据所有类别的原始数据定义生成数据库表,完成数据建模;
数据应用生成模块M60,用于根据元数据配置和数据建模,生成表单应用和/或表格应用。
由此可知,业务开发人员在对待分组原始数据进行元数据分组时,可以直接对待分组原始数据中的元数据按照基础元数据组和专有元数据组进行分组。通过本实施例,无需每次都要专业技术人员进行干预,只需要业务人员根据实际业务需求,将元数据分为不同的组,通过拖拽组件等常规化操作零代码的快速完成元数据配置,再组合新配置的元数据组或者直接复用已有元数据组完成数据定义。***根据数据定义中元数据组件特征和组合关系完成数据建模,自动生成数据库表和数据应用,实现数据列表展示、新建、编辑、删除、查询等功能。本实施例为开发者屏蔽了数据库建模过程,可快速的针对需求的变化做出相应的调整,使开发过程更直观更高效,避免了数据库表、表单页面以及数据存取接口重复开发,提升了代码的可复用性,降低了开发复杂度和开发门槛。所以,本实施例提供了丰富的组件实现可视化元数据配置,通过有效复用元数据配置实现快速数据建模并减少数据库表冗余,根据元数据配置和数据建模,自动生成数据应用的界面和相关功能,提高开发效率。
在一示例性实施例中,如图4所示,本***还包括:
主元数据组模块M70,用于从所述基础元数据组确定出能够关联其他元数据组的一个元数据组,记为主元数据组;
第二分组模块M80,用于将除所述主元数据组外的其他元数据组组合后形成的新元数据组记为第一元数据组,以及将所述主元数据组加入至所述第一元数据组中,记为第二元数据组;
第二组合排序模块M90,用于对所述第二元数据组中的所有元数据组进行排序,生成每个类别的原始数据定义。
作为示例,对于专利权证书原始数据和软件著作权证书原始数据而言,这两种原始数据存在的相同元数据有名称、编号、权利人等,不同的元数据有:专利类型、授权日期、版本号、开发完成日期等。所以,本实施例可以将相同的元数据名称、编号、权利人划分为基础元数据组,并将基础元数据组定义为主元数据组,将专利类型、授权日期划分为专利专有元数据组,将版本号、开发完成日期划分为软件著作权专有元数据组。其中,基础元数据组可以被专利权证书原始数据和软件著作权证书原始数据复用,所以本实施例只需要将专利权证书原始数据和软件著作权证书原始数据分为基础元数据组、专利专有元数据组和软件著作权专有元数据组即可,即分为三个元数据组。本实施例在生成原始数据定义时,用户可以根据实际的建模数据选择匹配的元数据组进行组合,必须选择且仅选择一个主元数据组,然后对元数据组进行排序。例如对于专利权证书原始数据和软件著作权证书原始数据而言,在完成对基础元数据组、专利专有元数据组和软件著作权专有元数据组的配置后,选择基础元数据组、专利专有元数据组组合完成专利权证书原始数据定义,选择基础元数据组、软件著作权专有元数据组组合完成软件著作权证书原始数据定义。其中,基础元数据组因为其能够被两种原始数据进行复用,所以本实施例将其作为原始数据的主元数据组。
在一示例性实施例中,本***还包括:获取待分组原始数据;利用所述基础元数据组来对所述待分组原始数据中的元数据进行分组;若对所述待分组原始数据进行分组时,所述待分组原始数据中还存在至少一个元数据不能被分进所述基础元数据组中,则将所述至少一个元数据分组至专有元数据组。本实施例可以将数据建模后形成的模型称为元数据组分组模型。作为示例,本实施例还包括判断当前时刻的专有元数据组与所述元数据分组模型中的专有元数据组是否相同,若不相同,则根据当前时间的专有元数据组与所述基础元数据组进行组合和排序,建立新的元数据组分组模型。作为示例,若元数据分组模型是基于专利权证书原始数据和软件著作权证书原始数据生成的,则在待分组原始数据为商标权证书原始数据时,目前的元数据分组模型在对商标权证书原始数据进行元数据分组时,还会存在商标图案、商品服务等剩余的元数据,则本实施例可以将商标图案、商品服务进行组合,作为当前时刻的专有元数据组,也可以分别将商标图案作为一个专有元数据组,将商品服务作为一个专有元数据组。由于目前的元数据分组模型不能对商标图案、商品服务进行元数据分组,所以本实施例还可以再建立一个新的元数据分组模型,用于对当前及后续的商标证书原始数据进行元数据分组。
在一示例性实施例中,对所述基础元数据组或所述专有元数据组进行组件配置的过程包括:获取所述基础元数据组或所述专有元数据组的配置界面;在所述配置界面中的预设组件显示区域中选择目标组件,并对所选择的目标组件进行拖拽形成页面布局;所述预设组件以下至少之一:基础组件、布局组件和动态组件;对进行页面布局后的组件进行参数设置,并在完成参数设置后,保存当前参数设置,完成对所述基础元数据组或所述专有元数据组的组件配置。在本实施例中,元数据组配置界面由组件区、编辑区、参数区、操作区四部分组成,根据实际的需要还可以增加其他区域,如增加组件嵌套关系展示区等。
其中,组件区用于显示组件库中的组件,组件库预先提供了多种组件,包括基础组件、布局组件和动态组件。作为示例,基础组件包括但不限于:输入框组件、计数器组件、密码框组件、文本域组件、单选框组件、复选框组件、日期选框组件、时间选框组件、评分组件、开关组件、提示框组件、颜色选择器组件、图标组件、头像组件和富文本框组件;布局组件包括但不限于:分割线组件、栅格布局组件、卡片布局组件和标签页布局组件;动态组件包括但不限于:流水号组件、组织选择器组件、角色选择器组件、人员选择器组件、下拉选择器组件、级联选择器组件、树选择器组件、滑动输入条组件、上传文件组件、上传图片组件和动态表格组件。本实施例中的组件数量可以根据业务的实际需求进行相应的增减,本实施例在此并不做具体的数量限定。编辑区用于执行用户对组件的选择和拖拽,对已选组件进行页面布局;在编辑区可以对组件进行删除和复制,使用复制的方式可以进行快速的组件选择和参数配置。参数区用于设置表单和组件的参数,在本实施例中,多个组件形成一个表单。表单参数主要包括表单布局方式、标签布局方式、标签宽度、权限设置和唯一键设置,其中权限设置可以分别设置组件新建、编辑、查看时的权限,表单的唯一键可以设置一个或多个,并且可以选择一个元数据或多个元数据组合为唯一键。每种组件都有特定的参数,***根据组件定义,在参数区中动态渲染组件的属性参数,包括:标签名称、数据字段、大小、宽度、样式、提示内容、默认值、状态、校验规则、数据来源等,其中数据字段即为生成数据库表时的字段名称,状态包括:可编辑、只读、隐藏,校验规则包括:非空校验、正则表达式校验、动态函数校验等。如果组件为动态组件,还可以在参数区设置数据来源,数据来源包括:静态数据、数据字典、动态方法获取等。默认值、校验规则、数据来源都可以根据业务的实际需求进行相应的增加和修改,在此并不做具体的限定。当表单或组件的参数发生变化时,在编辑区实时监听并自动重新渲染组件样式,达到所见即所得,参数配置与展示效果实时同步。操作区用于展示操作按钮,操作按钮包括:保存、预览、查看JSON数据、清空、撤销、重做。
在一示例性实施例中,在根据所有类别的原始数据定义生成数据库表时,还包括:遍历所有原始数据定义中的元数据组,并判断这些元数据组是否生成数据库表;如果未生成数据库表,则根据所述元数据组的组件配置在数据库中生成数据库表,且在所述主元数据组所对应的主元数据库表中创建唯一标识字段,以及在所述第一元数据组所对应的元数据库表中创建关联字段;所述数据库包括但不限于:Oracle、MySql、SqlServer;如果已生成数据库表,则直接复用已生成的数据库表。在本实施例中,复用的元数据组不再生成数据库表,即一些实施例中的基础元数据组不在生成数据库表。作为示例,比如发布专利权证书原始数据定义时,在数据库中分别生成基础元数据库表和专利专有元数据库表,在基础元数据库表中自动创建唯一标识字段,在专利专有元数据库表中除创建唯一标识字段外还会自动创建关联字段,实现主元数据库表与其他元数据库表的关联。发布软件著作权证书原始数据定义时,由于基础元数据组已生成数据库表,所以只需生成软件著作权专有元数据库表,同样的,在软件著作权专有元数据库表中除创建唯一标识字段外还会自动创建关联字段,实现与基础元数据库表的关联。生成数据库表时,自动根据元数据对应的组件类型生成表字段。对于基础组件和动态组件,在本实施例中预设了组件类型和字段类型的对应关系,比如输入框对应字符串类型、计数器对应数值类型、日期选框对应日期类型、富文本框对应长文本类型等;当选择了动态表格组件时,需要根据参数自动在数据库中生成子表,并创建字段与当前元数据库表关联。布局组件主要用于让基础组件和动态组件在表单应用中有更好的展示效果,布局组件不会生成表字段。本实施例生成数据库表时,可以自动根据唯一键设置创建表的索引。本实施例在生成数据库表时,通过适配Oracle、MySql、SqlServer等数据库,可以进一步的减少开发过程的工作量。
在一示例性实施例中,在生成所述数据库表后,数据应用生成模块M60还包括:生成表单应用和/或表格应用,这些应用可以由预先实现的通用接口完成。所述表单应用用于对单条数据进行处理,包括:查看数据详情处理、新建数据处理和编辑数据处理;在表单应用中,可以选择是用折叠面板或者标签页进行渲染,每个元数据组根据组件配置时的组件布局和参数渲染为折叠面板或者标签页中的内容,折叠面板或者标签页的数量和显示顺序根据生成数据定义时元数据组的组合和排序确定。所述表格应用用于对多条数据进行展示和处理,包括:动态获取数据展示和处理、表格配置展示和处理、翻页展示和处理、排序展示和处理、筛选展示和处理、批量删除处理、查询展示和处理、导出展示和处理和导入展示和处理。
在表格应用中,根据数据库表关联关系动态生成获取数据sql语句,对于字典类元数据,本实施例中提供转化器模块,将编码转化为标签进行展示。表格配置功能是在表格配置对话框中根据生成的数据定义列示当前数据的所有元数据,可以勾选需要在表格中显示的元数据,并设定显示顺序、列宽、视图模式、每页数量、是否显示序号、是否显示复选框等,其中视图模式包括:表格视图、缩略图视图、卡片视图。每个用户可以保存自己的表格配置,下次进入表格应用时自动按表格配置进行渲染。在表格的表头上可以对任一元数据列进行排序,如果元数据对应的组件类型为选择器,则还可以对该元数据列进行筛选。在查询对话框中,根据组件配置步骤中元数据配置时的组件类型自动确定查询组件类型,比如元数据组件为下拉选择器,对应查询组件类型为多选选择器;元数据组件为日期选框,对应查询组件类型为日期范围选框等。并根据当前表格配置将查询组件分别放入常用条件栏和其他条件栏中,在表格中显示的元数据所对应的查询组件放入常用条件栏,隐藏的元数据所对应的查询组件放入其他条件栏,其他条件栏默认折叠。查询时根据数据库表关联关系动态生成查询sql语句。导出功能是将查询到的所有数据导出为Excel文件。导入功能包括导入模板生成、导入数据校验、导入数据新建或更新。根据生成的数据定义动态生成导入模板,按照模版提供的数据格式以及说明提供数据。在导入时自动将导入数据加载到前端页面中,根据组件配置步骤中元数据配置的校验规则自动对数据进行校验并将提示显示到对应数据行。提交前需要选择提交设置,当选择“唯一字段重复时跳过”时,则重复的数据都不存入数据库;当选择“唯一字段重复时更新”,则根据唯一字段更新数据库中数据。提交完成后将每一行数据的导入结果都显示到前端页面中。
在另一实施例,本实施例提供一种元数据可复用的数据建模***,用于执行以下步骤:
步骤1:用户根据实际的建模数据将元数据划分为不同的元数据组,并定义主元数据组。具体地,根据元数据的特性将元数据划分为不同的组并定义主元数据组,元数据的特性包括但不限于元数据的可复用性。比如专利权证书原始数据和软件著作权证书原始数据,可以将相同的元数据名称、编号、权利人划分为基础元数据组并定义为主元数据组,将专利类型、授权日期划分为专利专有元数据组,将版本号、开发完成日期划分为软件著作权专有元数据组。其中,基础元数据组可以被专利权证书原始数据和软件著作权证书原始数据复用,所以在元数据组管理模块中只需创建基础元数据组、专利专有元数据组和软件著作权专有元数据组三个元数据组。
步骤2:判断划分出的元数据组是否已完成组件配置。若未完成组件配置,则进入步骤3,若已完成组件配置,则进入步骤4。
步骤3:选择步骤1中新创建的元数据组,通过拖拽完成元数据配置。其中,元数据组配置界面由组件区、编辑区、参数区、操作区四部分组成,根据实际的需要还可以增加其他区域,如组件嵌套关系展示区等。组件区用于显示组件库中的组件,组件库提供了基础组件、布局组件和动态组件,比如输入框、计数器、单选框、复选框、日期选框、富文本框、卡片布局、标签页布局、流水号、组织选择器、级联选择器、树选择器、动态表格等组件,组件的数量可以根据业务的实际需求进行相应的增减,在此并不做具体的限定。编辑区用于执行用户对组件的选择和拖拽,对已选组件进行页面布局。在编辑区可以对组件进行删除和复制,使用复制的方式可以进行快速的组件选择和参数配置。参数区用于设置表单和组件的参数。表单参数主要包括表单布局方式、标签布局方式、标签宽度和唯一键设置,其中表单的唯一键可以设置一个或多个,并且可以选择一个元数据或多个元数据组合为唯一键。每种组件都有特定的参数,***根据组件定义,在参数区中动态渲染组件的属性参数,包括:标签名称、数据字段、大小、宽度、样式、提示内容、默认值、状态、校验规则、数据来源等,其中数据字段即为生成数据库表时的字段名称,状态包括:可编辑、只读、隐藏,校验规则包括:非空校验、正则表达式校验、动态函数校验等。如果组件为动态组件,还可以在参数区设置数据来源,数据来源包括:静态数据、数据字典、动态方法获取等。默认值、校验规则、数据来源都可以根据业务的实际需求进行相应的增加和修改,在此并不做具体的限定。当表单或组件的参数发生变化时,在编辑区实时监听并自动重新渲染组件样式,达到所见即所得,参数配置与展示效果实时同步。操作区用于展示操作按钮,操作按钮包括:保存、预览、查看JSON数据、清空、撤销、重做。以步骤1中创建的基础元数据组为例,基础元数据中包括名称、编号、权利人3个元数据。进入基础元数据组配置界面后,通过从组件区中拖拽组件到编辑区进行规划布局,其中名称、编号使用输入框组件,权利人使用人员选择器组件。组件拖拽到编辑区后在参数区设置组件参数,比如设置名称、编号的校验规则为必填,设置权利人的选择类型为多选。完成布局和参数设置后,点击预览按钮可以查看到该元数据组在表单应用中的展示效果,点击保存按钮保存元数据配置。
步骤4:选择元数据组进行组合和排序,形成数据定义。具体地,用户根据实际的建模数据选择匹配的元数据组进行组合,必须选择且仅选择一个主元数据组,并对元数据组进行排序。比如专利权证书原始数据和软件著作权证书原始数据,按步骤3描述完成对基础元数据组、专利专有元数据组和软件著作权专有元数据组的配置后,选择基础元数据组、专利专有元数据组组合完成专利权证书原始数据定义,选择基础元数据组、软件著作权专有元数据组组合完成软件著作权证书原始数据定义。其中基础元数据组被两种数据复用,并为数据的主元数据组。
步骤5:发布数据定义,完成数据建模,自动生成数据库表。具体地,发布数据定义时,遍历数据定义中元数据组,判断元数据组是否完成生成数据库表,如果未完成则根据元数据配置生成数据库表;并根据是否为主元数据组创建表关联字段;复用的元数据组不再生成数据库表。比如发布专利权证书原始数据定义时,在数据库中分别生成基础元数据库表和专利专有元数据库表,在基础元数据库表中自动创建唯一标识字段,在专利专有元数据库表中除创建唯一标识字段外还会自动创建关联字段,实现主元数据库表与其他元数据库表的关联。发布软件著作权证书原始数据定义时,由于基础元数据组已生成数据库表,所以只需生成软件著作权专有元数据库表,同样的,在软件著作权专有元数据库表中除创建唯一标识字段外还会自动创建关联字段,实现与基础元数据库表的关联。生成数据库表时,自动根据元数据对应的组件类型生成表字段。对于基础组件和动态组件,在本发明中预设了组件类型和字段类型的对应关系,比如输入框对应字符串类型、计数器对应数值类型、日期选框对应日期类型、富文本框对应长文本类型等;当选择了动态表格组件时,需要根据参数自动在数据库中生成子表,并创建字段与当前元数据库表关联。布局组件主要用于让基础组件和动态组件在表单应用中有更好的展示效果,布局组件不会生成表字段。生成数据库表时,自动根据唯一键设置创建表的索引。为了进一步的减少开发过程的工作量,在本发明中通过数据库适配模块适配Oracle、MySql、SqlServer等数据库。
步骤6:自动生成数据应用,包括表单应用和表格应用,实现数据的查看、新建、编辑、动态获取数据、表格配置、翻页、排序、筛选、删除、查询、导出、导入等功能。具体地,表单应用主要用于对单条数据的处理,包括对数据详情的查看、新建数据、编辑数据功能,这些功能都由在本发明中预先实现的通用接口完成。在表单应用中,可以选择是用折叠面板或者标签页进行渲染,每个元数据组根据步骤3中组件布局和参数渲染为折叠面板或者标签页中的内容,折叠面板或者标签页的数量和显示顺序根据步骤4中数据定义时选择的元数据组和排序确定。表格应用是用表格对多条数据进行展示和处理,包括动态获取数据、表格配置、翻页、排序、筛选、删除、查询、导出、导入等功能,这些功能都由在本发明中预先实现的通用接口完成。根据数据库表关联关系动态生成获取数据sql语句。对于字典类元数据,本发明中提供转化器模块,将编码转化为标签进行展示。表格配置功能是在表格配置对话框中根据步骤4中数据定义列示当前数据的所有元数据,可以勾选需要在表格中显示的元数据,并设定显示顺序、列宽、视图模式、每页数量、是否显示序号、是否显示复选框等,其中视图模式包括:表格视图、缩略图视图、卡片视图。每个用户可以保存自己的表格配置,下次进入表格应用时自动按表格配置进行渲染。在表格的表头上可以对任一元数据列进行排序,如果元数据对应的组件类型为选择器,则还可以对该元数据列进行筛选。在查询对话框中,根据步骤3中元数据配置时的组件类型自动确定查询组件类型,比如元数据组件为下拉选择器,对应查询组件类型为多选选择器;元数据组件为日期选框,对应查询组件类型为日期范围选框等。并根据当前表格配置将查询组件分别放入常用条件栏和其他条件栏中,在表格中显示的元数据所对应的查询组件放入常用条件栏,隐藏的元数据所对应的查询组件放入其他条件栏,其他条件栏默认折叠。查询时根据数据库表关联关系动态生成查询sql语句。导出功能是将查询到的所有数据导出为Excel文件。导入功能包括导入模板生成、导入数据校验、导入数据新建或更新。根据步骤4中数据定义动态生成导入模板,按照模版提供的数据格式以及说明提供数据。在导入时自动将导入数据加载到前端页面中,根据步骤3中元数据配置的校验规则自动对数据进行校验并将提示显示到对应数据行。提交前需要选择提交设置,当选择“唯一字段重复时跳过”时,则重复的数据都不存入数据库;当选择“唯一字段重复时更新”,则根据唯一字段更新数据库中数据。提交完成后将每一行数据的导入结果都显示到前端页面中。
综上所述,本发明提供一种元数据可复用的数据建模***,本***首先获取多个类别的原始数据,其中每种原始数据至少包括有多个元数据;根据元数据特性对每种原始数据进行分组,获取每种原始数据对应的多个元数据组;其中,元数据特性至少包括元数据可复用性;每种原始数据对应的多个元数据组至少包括:能够进行复用的基础元数据组、不能进行复用的专有元数据组;再对基础元数据组和所述专有元数据组进行组件配置;并基于组件配置后的元数据组进行元数据组组合、排序,生成每个类别的原始数据定义;最后根据所有类别的原始数据定义生成数据库表,完成数据建模。业务开发人员在对待分组原始数据进行元数据分组时,可以直接对待分组原始数据中的元数据按照基础元数据组和专有元数据组进行分组。由此可知,通过本***,无需每次都要专业技术人员进行干预,只需要业务人员根据实际业务需求,将元数据分为不同的组,通过拖拽组件等常规化操作零代码的快速完成元数据配置,再组合新配置的元数据组或者直接复用已有元数据组完成数据定义。本***根据数据定义中元数据组件特征和组合关系完成数据建模,自动生成数据库表和数据应用,实现数据列表展示、新建、编辑、删除、查询等功能。本***为开发者屏蔽了数据库建模过程,可快速的针对需求的变化做出相应的调整,使开发过程更直观更高效,避免了数据库表、表单页面以及数据存取接口重复开发,提升了代码的可复用性,降低了开发复杂度和开发门槛。所以,本***提供了丰富的组件实现可视化元数据配置,通过有效复用元数据配置实现快速数据建模并减少数据库表冗余,根据元数据配置和数据建模,自动生成数据应用的界面和相关功能,提高开发效率。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。应当理解的是,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述预设范围等,但这些预设范围不应限于这些术语。这些术语仅用来将预设范围彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一预设范围也可以被称为第二预设范围,类似地,第二预设范围也可以被称为第一预设范围。

Claims (10)

1.一种元数据可复用的数据建模方法,其特征在于,所述方法包括以下步骤:
获取多个类别的原始数据,每种原始数据至少包括有多个元数据;
根据元数据特性对每种原始数据进行分组,获取每种原始数据对应的多个元数据组;其中,所述元数据特性至少包括:元数据可复用性;每种原始数据对应的多个元数据组至少包括:能够进行复用的基础元数据组、不能进行复用的专有元数据组;
对所述基础元数据组和所述专有元数据组进行组件配置;
基于组件配置后的元数据组进行元数据组组合、排序,生成每个类别的原始数据定义;
根据所有类别的原始数据定义生成数据库表,完成数据建模。
2.根据权利要求1所述的元数据可复用的数据建模方法,其特征在于,所述方法还包括:
从所述基础元数据组确定出能够关联其他元数据组的一个元数据组,记为主元数据组;
将除所述主元数据组外的其他元数据组组合后形成的新元数据组记为第一元数据组;
将所述主元数据组加入至所述第一元数据组中,记为第二元数据组;
对所述第二元数据组中的所有元数据组进行排序,生成每个类别的原始数据定义。
3.根据权利要求1或2所述的元数据可复用的数据建模方法,其特征在于,所述方法还包括:
获取待分组原始数据;
利用所述基础元数据组来对所述待分组原始数据中的元数据进行分组;
若对所述待分组原始数据进行分组时,所述待分组原始数据中还存在至少一个元数据不能被分进所述基础元数据组中,则将所述至少一个元数据分组至专有元数据组。
4.根据权利要求1所述的元数据可复用的数据建模方法,其特征在于,所述对所述基础元数据组或所述专有元数据组进行组件配置的过程包括:
获取所述基础元数据组或所述专有元数据组的配置界面;
在所述配置界面中的预设组件显示区域中选择目标组件,并对所选择的目标组件进行拖拽形成页面布局;所述预设组件以下至少之一:基础组件、布局组件和动态组件;
对进行页面布局后的组件进行参数设置,并在完成参数设置后,保存当前参数设置,完成对所述基础元数据组或所述专有元数据组的组件配置;所述参数包括:组件参数和表单参数。
5.根据权利要求4所述的元数据可复用的数据建模方法,其特征在于,所述基础组件包括:输入框组件、计数器组件、密码框组件、文本域组件、单选框组件、复选框组件、日期选框组件、时间选框组件、评分组件、开关组件、提示框组件、颜色选择器组件、图标组件、头像组件和富文本框组件;
所述布局组件包括:分割线组件、栅格布局组件、卡片布局组件和标签页布局组件;
所述动态组件包括:流水号组件、组织选择器组件、角色选择器组件、人员选择器组件、下拉选择器组件、级联选择器组件、树选择器组件、滑动输入条组件、上传文件组件、上传图片组件和动态表格组件。
6.根据权利要求4或5所述的元数据可复用的数据建模方法,其特征在于,所述预设组件中的组件参数包括:标签名称、数据字段、大小、宽度、样式、提示内容、默认值、状态、校验规则、数据来源;
其中,所述数据字段为生成数据库表时的字段名称;所述状态包括:可编辑、只读、隐藏;所述校验规则包括:非空校验、正则表达式校验、动态函数校验;所述数据来源包括:静态数据、数据字典、动态方法获取;
所述表单参数包括:表单布局方式、标签布局方式、标签宽度、权限设置和唯一键设置;
其中,所述权限设置用于设置组件新建、编辑、查看时的权限;所述唯一键设置用于设置一个或多个唯一键,以及选择一个组件或多个组件组合为唯一键。
7.根据权利要求2所述的元数据可复用的数据建模方法,其特征在于,在根据所有类别的原始数据定义生成数据库表时,还包括:
遍历所有原始数据定义中的元数据组,并判断这些元数据组是否生成数据库表;
如果未生成数据库表,则根据所述元数据组的组件配置在数据库中生成数据库表,且在所述主元数据组所对应的主元数据库表中创建唯一标识字段,以及在所述第一元数据组所对应的元数据库表中创建关联字段;所述数据库包括:Oracle、MySql、SqlServer;
如果已生成数据库表,则直接复用已生成的数据库表。
8.根据权利要求7所述的元数据可复用的数据建模方法,其特征在于,在生成所述数据库表后,还包括:生成表单应用和/或表格应用;
所述表单应用用于对单条数据进行处理,包括:查看数据详情处理、新建数据处理和编辑数据处理;
所述表格应用用于对多条数据进行展示和处理,包括:动态获取数据展示和处理、表格配置展示和处理、翻页展示和处理、排序展示和处理、筛选展示和处理、批量删除处理、查询展示和处理、导出展示和处理和导入展示和处理。
9.一种元数据可复用的数据建模***,其特征在于,所述***包括有:
数据采集模块,用于获取多个类别的原始数据,每种原始数据至少包括有多个元数据;
第一分组模块,用于根据元数据特性对每种原始数据进行分组,获取每种原始数据对应的多个元数据组;其中,所述元数据特性至少包括:元数据可复用性;每种原始数据对应的多个元数据组至少包括:能够进行复用的基础元数据组、不能进行复用的专有元数据组;
组件配置模块,用于对所述基础元数据组和所述专有元数据组进行组件配置;
第一组合排序模块,用于对完成组件配置后的元数据组进行元数据组组合、排序,生成每个类别的原始数据定义;
数据建模模块,用于根据所有类别的原始数据定义生成数据库表,完成数据建模。
10.根据权利要求9所述的元数据可复用的数据建模***,其特征在于,所述***还包括:
主元数据组模块,用于从所述基础元数据组确定出能够关联其他元数据组的一个元数据组,记为主元数据组;
第二分组模块,用于将除所述主元数据组外的其他元数据组组合后形成的新元数据组记为第一元数据组,以及将所述主元数据组加入至所述第一元数据组中,记为第二元数据组;
第二组合排序模块,用于对所述第二元数据组中的所有元数据组进行排序,生成每个类别的原始数据定义。
CN202111369011.3A 2021-11-18 2021-11-18 一种元数据可复用的数据建模方法及*** Pending CN114064611A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111369011.3A CN114064611A (zh) 2021-11-18 2021-11-18 一种元数据可复用的数据建模方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111369011.3A CN114064611A (zh) 2021-11-18 2021-11-18 一种元数据可复用的数据建模方法及***

Publications (1)

Publication Number Publication Date
CN114064611A true CN114064611A (zh) 2022-02-18

Family

ID=80278086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111369011.3A Pending CN114064611A (zh) 2021-11-18 2021-11-18 一种元数据可复用的数据建模方法及***

Country Status (1)

Country Link
CN (1) CN114064611A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116301811A (zh) * 2023-03-30 2023-06-23 广州市华势信息科技有限公司 一种零代码可视化的软件开发平台
CN117331560A (zh) * 2023-11-24 2024-01-02 杭银消费金融股份有限公司 一种前端表单页面生成方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101821735A (zh) * 2007-10-08 2010-09-01 皇家飞利浦电子股份有限公司 生成与内容项的集合相关联的元数据
CN102789382A (zh) * 2012-06-28 2012-11-21 用友软件股份有限公司 用于表单生成和运行的***及方法
US20140075285A1 (en) * 2012-09-13 2014-03-13 Oracle International Corporation Metadata Reuse For Validation Against Decentralized Schemas
CN111552713A (zh) * 2020-04-30 2020-08-18 国网信息通信产业集团有限公司 一种数据校验方法及装置
CN111986799A (zh) * 2020-07-06 2020-11-24 北京欧应信息技术有限公司 一种以关节运动功能为核心的骨科知识图谱的构建***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101821735A (zh) * 2007-10-08 2010-09-01 皇家飞利浦电子股份有限公司 生成与内容项的集合相关联的元数据
CN102789382A (zh) * 2012-06-28 2012-11-21 用友软件股份有限公司 用于表单生成和运行的***及方法
US20140075285A1 (en) * 2012-09-13 2014-03-13 Oracle International Corporation Metadata Reuse For Validation Against Decentralized Schemas
CN111552713A (zh) * 2020-04-30 2020-08-18 国网信息通信产业集团有限公司 一种数据校验方法及装置
CN111986799A (zh) * 2020-07-06 2020-11-24 北京欧应信息技术有限公司 一种以关节运动功能为核心的骨科知识图谱的构建***

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MYOUNGKYU SONG 等: "Reusing metadata across components, applications, and languages", SCIENCE OF COMPUTER PROGRAMMING, 1 February 2015 (2015-02-01), pages 617 - 644 *
刘东民;邹乃飞;倪明;: "元数据驱动的通用数据库应用研究", 黑龙江水利科技, no. 04, 20 August 2006 (2006-08-20) *
李晓航 等: "基于元数据的通用数据维护框架设计", 计算机工程, no. 20, 20 October 2010 (2010-10-20), pages 80 - 82 *
架构人生: "用一个通用表单设计案例来理解元数据驱动设计", pages 1, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/155668094> *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116301811A (zh) * 2023-03-30 2023-06-23 广州市华势信息科技有限公司 一种零代码可视化的软件开发平台
CN116301811B (zh) * 2023-03-30 2023-10-20 广州市华势信息科技有限公司 一种零代码可视化的软件开发平台
CN117331560A (zh) * 2023-11-24 2024-01-02 杭银消费金融股份有限公司 一种前端表单页面生成方法及***
CN117331560B (zh) * 2023-11-24 2024-02-23 杭银消费金融股份有限公司 一种前端表单页面生成方法及***

Similar Documents

Publication Publication Date Title
US20210334250A1 (en) Construction of database schema models for database systems and rest api&#39;s
US5495567A (en) Automatic interface layout generator for database systems
US5930806A (en) Method and system for data migration from network database to relational database
CN110543303B (zh) 一种可视化业务平台
US7908299B2 (en) Method and apparatus for pseudo-conversion of table objects
US7760405B2 (en) Apparatus and method for integrating print preview with data modeling document editing
CN114064611A (zh) 一种元数据可复用的数据建模方法及***
KR20060067812A (ko) 복합 데이터 액세스
US8595610B2 (en) Method, software and computer system for manipulating aggregated data
JPS60108960A (ja) 製造工程の信頼性分析システム
US6698010B1 (en) System, method and computer program product for automatic generation of data processing program
US20050149482A1 (en) Method of updating a database created with a spreadsheet program
JPH0683598A (ja) ジョブフロー仕様書自動作成方法
US10078723B1 (en) Method and apparatus for design rules driven interactive violation display
JP6103314B2 (ja) 情報管理装置並びにファイル管理方法
JP2007133624A (ja) 連結関係情報を用いた情報管理方法及び装置
US10303668B2 (en) Automatic screen generation device, automatic screen generation program, and automatic screen generation method
JP4011995B2 (ja) 製品設計支援装置及び方法
JP4136594B2 (ja) データ処理方法およびデータ処理プログラム
US9098263B2 (en) Database application assembly and preparation
KR100428706B1 (ko) 패턴과 컴포넌트를 이용한 프로그램 코드 자동 생성방법
US20060287977A1 (en) Method of processing data for a system model
JP2015167005A (ja) 書類、バリデーションチェック及び開発ドキュメント作成用コンパイラ及びそれを用いた稟議システム
JPH0588863A (ja) プログラム開発支援システム
CN110597491B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 401329 No. 5-6, building 2, No. 66, Nongke Avenue, Baishiyi Town, Jiulongpo District, Chongqing

Applicant after: MCC CCID information technology (Chongqing) Co.,Ltd.

Address before: 401329 No. 5-6, building 2, No. 66, Nongke Avenue, Baishiyi Town, Jiulongpo District, Chongqing

Applicant before: CISDI CHONGQING INFORMATION TECHNOLOGY Co.,Ltd.