CN112667598B - 基于业务需求变化的数据模型快速构建系统 - Google Patents
基于业务需求变化的数据模型快速构建系统 Download PDFInfo
- Publication number
- CN112667598B CN112667598B CN202011472060.5A CN202011472060A CN112667598B CN 112667598 B CN112667598 B CN 112667598B CN 202011472060 A CN202011472060 A CN 202011472060A CN 112667598 B CN112667598 B CN 112667598B
- Authority
- CN
- China
- Prior art keywords
- data
- service
- editor
- module
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于业务需求变化的数据模型快速构建系统,包括客户端、服务层、数据库,所述客户端与所述服务层通讯连接,所述服务层与所述数据库通讯连接;所述服务层执行实现数据建模元素的逻辑处理,所述客户端提供建模工具界面用户交互的逻辑;所述服务层包括模型服务模块、运行时服务模块、基础服务模块,所述模型服务模块设置有数据模型元素的访问接口,所述基础服务模块执行访问所述数据库,所述运行时服务模块定义有业务数据访问的服务方法调用所述基础服务模块。
Description
技术领域
本发明涉及一种基于业务需求变化的数据模型快速构建系统,属于数据处理技术领域。
背景技术
随着IT技术发展,各类信息业务系统的应用越来越多,企业数据也会变的越来越复杂,增加了对企业数据的访问难度。业务需求的变化都可能引发系统数据结构、业务规则等发生改变,以传统定制开发模式响应需求的变更将付出高昂的实现成本,需等待漫长的时间,因此需要以更小的代价、快速响应业务系统数据的变化。
对业务系统的数据进行数据建模,通过建模工具构建业务数据模型。开发人员通过访问数据模型访问业务数据。当业务需求发生变化,不需要像传统定制开发模式那样更改代码,而只需通过建模工具面向业务进行调整即可,其过程简单、快捷、不易出错。
发明内容
本发明的目的在于,克服现有技术存在的技术缺陷,解决上述技术问题,提出一种基于业务需求变化的数据模型快速构建系统,该系统能够满足业务开发人员对业务系统快速的进行数据建模,提供统一的数据访问接口,屏蔽了不同数据库的差别,改善开发人员使用数据的体验。
本发明具体采用如下技术方案:基于业务需求变化的数据模型快速构建系统,包括客户端、服务层、数据库,所述客户端与所述服务层通讯连接,所述服务层与所述数据库通讯连接;所述服务层执行实现数据建模元素的逻辑处理,所述客户端提供建模工具界面用户交互的逻辑;
所述服务层包括模型服务模块、运行时服务模块、基础服务模块,所述模型服务模块设置有数据模型元素的访问接口,所述基础服务模块执行访问所述数据库,所述运行时服务模块定义有业务数据访问的服务方法调用所述基础服务模块。
作为一种较佳的实施例,客户端包括数据源管理模块、数据建模模块;数据源管理模块定义有业务应用的数据库,数据建模模块作为数据建模的操作模块,基于B/S架构实现,基于模型服务模块进行数据建模,用于数据模型元素的增、删、改、查操作。
作为一种较佳的实施例,模型服务模块的数据模型元素包括:数据模型分组、类型、属性、编辑器、字典、关联;属性绑定编辑器,编辑器的类型根据属性的数据类型决定。
作为一种较佳的实施例,数据模型分组用于对类型进行分组管理;类型是数据模型对象,对应数据库的多个业务表;属性是数据模型的特征,对应业务表的数据列;编辑器指定属性在界面编辑时使用的客户端编辑控件;关联定义数据模型之间的关系;字典定义键值对数据列表,供编辑器使用。
作为一种较佳的实施例,字典包括:
数值字典,由开发人员手动创建的键值对数据;
SQL字典,SQL字典的键值对数据通过SQL语句查询获取;
类型字典,类型字典的键值对数据通过选择类型,从类型的业务数据表获取。
作为一种较佳的实施例,编辑器包括:
文本编辑器,文本编辑器提供单行文本和多行文本编辑;
数值编辑器,数值编辑器提供整型、浮点型数值编辑;
日期编辑器,日期编辑器提供日期类型数值编辑;
附件编辑器,附件编辑器提供附件编辑;
单选框编辑器,单选框编辑器提供单选值的编辑器,选项列表通过字典获取;
复选框编辑器,复选框编辑器提供多选值的编辑器,选项列表通过字典获取;
下拉框编辑器,下拉框编辑器提供下拉列表选择数据的编辑器,选项列表通过字典获取。
作为一种较佳的实施例,关联包含列关联和表关联;列关联用于一个类型与多个类型的关联映射,映射关系的数据存储在各自的业务数据表;表关联用于多个类型与多个类型的关联映射,映射关系的数据存储在关联实例表。
作为一种较佳的实施例,业务数据访问的服务方法包括:业务数据表的增、删、改、查服务方法;批量查询方法;服务端分页方法。
作为一种较佳的实施例,运行时服务模块用于执行:返回通用的弱类型对象实体,对象实体中包含字段元数据域和数据域,元数据域包括字段名、字段中文名、字段类型和字段精度,数据域存储业务数据表中的数据对象。
作为一种较佳的实施例,基础服务模块包括:
通用组件模块,用于执行:封装JDK及第三方类库提供的各类工具,提供时间、数字运算、字符、XML操作、JSON操作、输入输出验证的统一的调用接口;
数据访问模块,用于执行:对关系数据库、非结构化数据库、空间数据库及实时数据库数据资源的持续访问;
事务管理模块,用于执行:提供统一事务管理机制,处理事务的回滚与提交;
安全控制模块,用于执行:对请求拦截、请求验证、数据访问控制以及会话分析、数据库密码配置提供技术实现的接口;
资源缓存模块,用于执行:提供基于EhCahce的缓存器缓存的模型信息,提升运行时访问元素的性能;
异常处理模块,用于执行:实现运行过程中对异常信息的捕捉、封装、输出处理,屏蔽底层技术细节。
本发明所达到的有益效果:第一,本发明的系统,能够满足业务开发人员对业务系统快速的进行数据建模,改善开发人员使用数据的体验;第二,本发明支持快速的创建数据模型:开发者只需要在页面操作即可创建数据模型,不需要面对数据库操作;第三,本发明支持多种类型的数据库:数据源管理模块支持多种类型的数据库配置,开发者只需要访问运行时服务,即可访问到业务数据,屏蔽了数据库种类的差异。
附图说明
图1是本发明的基于业务需求变化的数据模型快速构建系统的总体架构示意图;
图2是数据模型构建示意图;
图3是基础服务结构示意图;
图4是属性-编辑器-字典关系示意图。
图中标记的含义:10-数据源管理模块;20-数据建模模块;30-模型服务模块,301-类型,302-编辑器,303-字典;40-运行时服务模块;50-基础服务模块,501-通用组件模块,502-数据访问模块,503-事务管理模块,504-安全控制模块,505-资源缓存模块,506-异常处理模块。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1:如图1所示,本发明提出基于业务需求变化的数据模型快速构建系统,包括客户端的数据源管理模块10、数据建模模块20,服务层的模型服务模块30、运行时服务模块40、基础服务模块50。
本系统部署访问的数据库,即系统数据库,独立于业务系统的数据库。系统数据库在系统启动的配置文件设置。业务系统的数据库通过数据源管理模块10配置。
客户端的数据源管理模块10用于业务应用数据库的配置管理。数据源的配置参数包括数据库的类型、数据库的用户名和密码、数据库的连接字符串、业务应用、表模式、表前缀。数据源提供五种类型的数据库,分别是MYSQL、ORACLE、达梦、金仓、南大通用数据库。服务端通过基础服务模块50建立数据库连接访问不同类型的数据库,开发人员不需要解决不同类型的数据库访问的差异。数据源的使用范围限定在指定的业务应用。对指定的业务应用进行数据建模,创建的数据模型存储在本系统的数据库,数据模型对应的业务表在数据源配置的数据库创建。数据源的配置参数表前缀是类型的业务表名称的前缀,在创建类型时快速加载数据源配置,方便用户配置业务表名称。
数据建模模块20是用户进行数据建模的操作界面,用于数据建模操作。数据建模模块界面以树表视图方式展现。主界面的左边是模型管理树,基于模型分组的分层方式管理数据模型。主界面右侧展示数据模型元素列表视图,视图展示的数据调用模型服务模块30获取。
模型服务模块30提供数据模型元素管理的服务,基于基础服务模块50实现。模型服务模块30负责从本系统的数据库获取元素的数据,将数据传给数据建模模块20的视图展示。用户在数据建模模块20的创建、编辑、删除、查询等操作,通过调用模型服务模块30执行逻辑处理。
数据模型元素包括数据模型分组、类型301、属性、编辑器302、字典303、关联。模型分组用于对类型进行分组管理。类型301是数据模型对象。属性是数据模型的特征。编辑器302为各种类型的属性提供在界面编辑时使用的客户端编辑控件。字典303为编辑器302提供数据来源。关联在类型之间建立关系。
如图2所示,本发明系统的业务应用的数据模型,在业务应用下面创建模型分组,对类型进行分组管理。一个类型能够创建多个业务表,业务表在业务指定的数据源创建。初始化的类型包含一个主键属性,是类型的每个业务表的主键列。类型的属性与业务表的数据列一一对应。一个类型支持多个业务表,属性记录了所对应的业务表,对业务数据进行操作时通过属性能够定位到所属的业务表。
实现业务数据表记录的快速访问,使用已存在的业务表创建类型,将业务表的数据列导入创建类型的属性。这种导入业务表方式创建的类型,使用已有的业务表。
属性绑定编辑器,编辑器类型根据属性的数据类型决定。属性动态绑定编辑器,已经绑定了属性的编辑器允许编辑,属性在视图中编辑时加载编辑器。编辑器支持绑定多个属性。未设置编辑器的属性的默认编辑器是文本编辑器。
如图4所示,文本编辑器提供单行文本和多行文本编辑;数值编辑器提供整型、浮点型数值编辑;日期编辑器提供日期类型数值编辑;附件编辑器提供大字段类型编辑;单选框编辑器提供单选值的编辑器,选项列表通过字典303获取;复选框编辑器提供多选值的编辑器,选项列表通过字典303获取;下拉框编辑器提供下拉列表选择数据的编辑器,选项列表通过字典303获取。文本类型的属性绑定文本编辑器。数值类型的属性绑定数值编辑器。日期类型的属性绑定日期编辑器。用于文件上传的属性绑定附件编辑器。单选框编辑器、复选框编辑器、下拉框编辑器根据属性的编辑方式决定。
编辑器需要使用字典作为数据来源。字典的定义类型由应用场景和数据来源决定。如图4所示,字典分为数值字典、SQL字典、类型字典。数值字典是开发人员手动创建的键值对数据,适合固定值的应用场景,例如性别、是否选择;SQL字典的键值对数据通过SQL语句查询获取,数据来源是SQL语句;类型字典的键值对数据通过选择类型和属性,从类型的业务数据表获取数据,数据来源是类型。一个字典支持多个编辑器使用。
关联在类型之间建立关系,包含列关联和表关联。列关联映射关系的数据存储在各自的业务数据表。表关联映射关系的数据存储在关联实例表。建立关联的类型必须是使用相同的数据源的类型。
运行时服务模块40是基于基础服务模块50实现业务数据访问的通用服务方法。业务数据访问的通用服务方法,包括业务数据表的增、删、改、查服务方法,以及批量查询方法和服务端分页查询方法。运行时服务方法提供RESTful方式和Hession方式的服务调用方式。运行时服务模块40提供给业务开发人员使用。使用类型唯一标识作为参数,调用运行时服务模块40接口,能够查询类型的业务数据表的所有列的数据。使用类型唯一标识和属性列名作为参数,调用运行时服务模块40接口,能够查询类型的业务数据表的指定列的数据。类型的唯一标识在数据建模模块20的类型列表视图展示,属性的列名在属性列表视图展示。运行时服务方法返回通用的弱类型对象实体,对象实体中包含字段元数据域和数据域,元数据域包括字段名、字段中文名、字段类型和字段精度等,数据域存储业务数据表中的数据对象。
如图3所示,基础服务模块50定义有一套基础的数据库访问接口,包括通用组件模块501、数据访问模块502、事务管理模块503、安全控制模块504、资源缓存模块505、异常处理模块506。
通用组件模块501封装了JDK及第三方类库提供的各类工具,提供时间、数字运算、字符、XML操作、JSON操作、输入输出验证的统一的调用接口;数据访问模块502实现对关系数据库、非结构化数据库、空间数据库、实时数据库等数据资源的访问和持久化;事务管理模块503提供统一事务管理机制,处理事务的回滚与提交,确保事务的原子性、隔离性和一致性;安全控制模块504主要对请求拦截、请求验证、数据访问控制以及会话分析、数据库密码配置提供技术实现的接口;资源缓存模块505提供基于EhCahce的缓存器缓存的模型信息,提升运行时访问元素的性能;异常处理模块506实现运行过程中对异常信息的捕捉、封装、输出处理,屏蔽底层技术细节,方便错误的查找与定位。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (8)
1.基于业务需求变化的数据模型快速构建系统,其特征在于,包括客户端、服务层、数据库,所述客户端与所述服务层通讯连接,所述服务层与所述数据库通讯连接;所述服务层执行实现数据建模元素的逻辑处理,所述客户端提供建模工具界面用户交互的逻辑;
所述服务层包括模型服务模块(30)、运行时服务模块(40)、基础服务模块(50),所述模型服务模块(30)设置有数据模型元素的访问接口,所述基础服务模块(50)执行访问所述数据库,所述运行时服务模块(40)定义有业务数据访问的服务方法调用所述基础服务模块(50);
所述模型服务模块(30)的数据模型元素包括:数据模型分组、类型(301)、属性、编辑器(302)、字典(303)、关联;所述属性绑定编辑器(302),所述编辑器(302)的类型根据属性的数据类型决定;
所述数据模型分组用于对类型进行分组管理;所述类型(301)是数据模型对象,对应数据库的多个业务表;所述属性是数据模型的特征,对应业务表的数据列;所述编辑器(302)指定属性在界面编辑时使用的客户端编辑控件;所述关联定义数据模型之间的关系;所述字典(303)定义键值对数据列表,供所述编辑器(302)使用。
2.根据权利要求1所述的基于业务需求变化的数据模型快速构建系统,其特征在于,所述客户端包括数据源管理模块(10)、数据建模模块(20);所述数据源管理模块(10)定义有业务应用的数据库,所述数据建模模块(20)作为数据建模的操作模块,基于B/S架构实现,基于所述模型服务模块(30)进行数据建模,用于所述数据模型元素的增、删、改、查操作。
3.根据权利要求1所述的基于业务需求变化的数据模型快速构建系统,其特征在于,所述字典(303)包括:
数值字典,由开发人员手动创建的键值对数据;
SQL字典,所述SQL字典的键值对数据通过SQL语句查询获取;
类型字典,所述类型字典的键值对数据通过选择类型(301),从所述类型(301)的业务数据表获取。
4.根据权利要求1所述的基于业务需求变化的数据模型快速构建系统,其特征在于,所述编辑器(302)包括:
文本编辑器,所述文本编辑器提供单行文本和多行文本编辑;
数值编辑器,所述数值编辑器提供整型、浮点型数值编辑;
日期编辑器,所述日期编辑器提供日期类型数值编辑;
附件编辑器,所述附件编辑器提供附件编辑;
单选框编辑器,所述单选框编辑器提供单选值的编辑器,选项列表通过字典(303)获取;
复选框编辑器,所述复选框编辑器提供多选值的编辑器,选项列表通过字典(303)获取;
下拉框编辑器,所述下拉框编辑器提供下拉列表选择数据的编辑器,选项列表通过字典(303)获取。
5.根据权利要求1所述的基于业务需求变化的数据模型快速构建系统,其特征在于,所述关联包含列关联和表关联;所述列关联用于一个类型与多个类型的关联映射,映射关系的数据存储在各自的业务数据表;所述表关联用于多个类型与多个类型的关联映射,映射关系的数据存储在关联实例表。
6.根据权利要求1所述的基于业务需求变化的数据模型快速构建系统,其特征在于,所述业务数据访问的服务方法包括:业务数据表的增、删、改、查服务方法;批量查询方法;服务端分页方法。
7.根据权利要求1所述的基于业务需求变化的数据模型快速构建系统,其特征在于,所述运行时服务模块(40)用于执行:返回通用的弱类型对象实体,所述对象实体中包含字段元数据域和数据域,所述元数据域包括字段名、字段中文名、字段类型和字段精度,所述数据域存储业务数据表中的数据对象。
8.根据权利要求1所述的基于业务需求变化的数据模型快速构建系统,其特征在于,所述基础服务模块(50)包括:
通用组件模块(501),用于执行:封装JDK及第三方类库提供的各类工具,提供时间、数字运算、字符、XML操作、JSON操作、输入输出验证的统一的调用接口;
数据访问模块(502),用于执行:对关系数据库、非结构化数据库、空间数据库及实时数据库数据资源的持续访问;
事务管理模块(503),用于执行:提供统一事务管理机制,处理事务的回滚与提交;
安全控制模块(504),用于执行:对请求拦截、请求验证、数据访问控制以及会话分析、数据库密码配置提供技术实现的接口;
资源缓存模块(505),用于执行:提供基于EhCahce的缓存器缓存的模型信息,提升运行时访问元素的性能;
异常处理模块(506),用于执行:实现运行过程中对异常信息的捕捉、封装、输出处理,屏蔽底层技术细节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011472060.5A CN112667598B (zh) | 2020-12-15 | 2020-12-15 | 基于业务需求变化的数据模型快速构建系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011472060.5A CN112667598B (zh) | 2020-12-15 | 2020-12-15 | 基于业务需求变化的数据模型快速构建系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112667598A CN112667598A (zh) | 2021-04-16 |
CN112667598B true CN112667598B (zh) | 2022-08-05 |
Family
ID=75405992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011472060.5A Active CN112667598B (zh) | 2020-12-15 | 2020-12-15 | 基于业务需求变化的数据模型快速构建系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667598B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778597B (zh) * | 2021-08-30 | 2023-12-29 | 惠州市德赛西威汽车电子股份有限公司 | 一种ui属性与程序逻辑关联的数据创建方法及系统 |
CN115543960B (zh) * | 2022-09-16 | 2024-01-05 | 北京神舟航天软件技术股份有限公司 | 一种业务对象的动态建模方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120173490A1 (en) * | 2010-12-30 | 2012-07-05 | Verisign, Inc. | Method and system for implementing business logic |
CN105630472B (zh) * | 2014-11-03 | 2019-12-24 | 中国科学院沈阳自动化研究所 | 制造执行系统客户端快速开发框架及其软件开发方法 |
CN111061817B (zh) * | 2019-12-16 | 2023-05-09 | 华云数据有限公司 | 自适应业务构建系统、方法及计算机可读介质 |
-
2020
- 2020-12-15 CN CN202011472060.5A patent/CN112667598B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112667598A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403282B1 (en) | Unbatching database queries for migration to a different database | |
US10452650B1 (en) | Data querying | |
US11526656B2 (en) | Logical, recursive definition of data transformations | |
KR102229010B1 (ko) | 데이터를 모델링하기 위한 시스템 및 방법 | |
US20110238709A1 (en) | Extending database tables in a multi-tenant environment | |
US20140279839A1 (en) | Integration of transactional and analytical capabilities of a database management system | |
US20140181154A1 (en) | Generating information models in an in-memory database system | |
US10339040B2 (en) | Core data services test double framework automation tool | |
CN112667598B (zh) | 基于业务需求变化的数据模型快速构建系统 | |
US9720960B2 (en) | Reporting tools for object-relational databases | |
CN111125440B (zh) | 一种基于Monad的持久层复合条件查询方法与存储介质 | |
US11341142B2 (en) | Framework and metadata artefacts for updating data artefacts | |
US20240143576A1 (en) | Registering additional type systems using a hub data model for data processing | |
US20230074856A1 (en) | Resolving data location for queries in a multi-system instance landscape | |
EP4155965A1 (en) | System and method for facilitating metadata identification and import | |
US10324908B2 (en) | Exposing database artifacts | |
US11615061B1 (en) | Evaluating workload for database migration recommendations | |
WO2022242634A1 (zh) | 查询用sql记录的管理装置及应用系统 | |
WO2023151239A1 (zh) | 一种创建微服务的方法及相关设备 | |
US11693652B2 (en) | Automated authoring of software solutions from a data model | |
WO2022220982A1 (en) | Database query execution on multiple databases | |
CN113868344A (zh) | 面向电力应用的构建系统、方法、装置、服务器及存储介质 | |
CN113761040A (zh) | 数据库与应用程序双向映射方法、设备、介质及程序产品 | |
US11940951B2 (en) | Identification and import of metadata for extensions to database artefacts | |
US11888937B2 (en) | Domain specific provider contracts for core data services |
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 |