一种关系型数据库数据分发的方法

文档序号:9326998阅读:424来源:国知局
一种关系型数据库数据分发的方法
【技术领域】
[0001]本发明涉及一种ERP系统软件数据分发技术领域,具体地说是一种关系型数据库数据分发的方法。
【背景技术】
[0002]在企业级应用开发环境中,软件公司开发出来交付到用户的产品,一般包含三部分:程序文件、数据库表结构、数据库预制数据;其中数据库预制数据大部分是和程序运行逻辑相关的数据以及一些配置信息。数据库预制数据的交付一般使用SQL的方式,SQL编写时存在兼容数据库类型(Oracle、Sql Server, DB2、Sybase等)和版本之间的差异,开发人员需要一条一条认真细致的进行编写,这无疑是一项繁琐、耗时的工作。
[0003]SQL交付时,如果不支持重复执行,而生产环境在不确定是否已执行的情况下执行后,可能会导致用户数据的错误或丢失;如果用户现场进行了一些个性化的配置,开发人员交付SQL时没有考虑,就会冲掉用户的配置,严重的会导致用户生产环境数据的错误。
[0004]为了避免上述场景的出现,需要一种不使用SQL的方式来交付数据库预制数据的方法。

【发明内容】

[0005]本发明的技术任务是针对以上不足之处,提供一种关系型数据库数据分发的方法,来解决用户界面操作手册和软件实现脱节的问题。
本发明解决其技术问题所采用的技术方案是:
一种关系型数据库数据分发的方法,包括如下步骤:
设计的步骤,即针对关系型数据库进行建模,将其描述为数据内容和数据描述两种元数据;
分发的步骤,即将数据进行解析执行。
[0006]所述设计步骤中,
数据内容描述过程为:对数据库数据进行建模,将数据库表中的行数据抽象出来,描述每个字段的内容:
字段属性,描述其字段名称、字段类型;
字段值,描述对应字段的实际数值;
数据描述过程为:对数据内容对应的数据库表中的行数据进行描述,包含行数据的变化状态以及可追溯的信息;其中
行数据描述包含对应的数据库表名、主键字段、主键值、主键值修改前的值;
行数据的变化状态用于识别本行数据是新增的、修改的、还是删除的;
可追溯的信息包含修改人、修改时间、修改的厂商、数据分类信息。
[0007]所述主键字段描述的是对应数据库表的主键,该主键字段支持复合主键;主键值描述的是对应主键的数值;主键修改前的值的描述是当行数据是更新,且更新的字段中包含了主键时进行的,当行数据是新增或删除时则不进行描述。
[0008]所述修改的厂商用于描述数据库数据的所有者;数据分类信息用于识别数据的分类,完成对数据进行业务识别。
[0009]所述设计步骤中,为了实现元数据的统一管理,为界面操作提供统一的管理接口,将界面操作和元数据进行隔离,界面只关心界面中的控件实现,由统一管理接口将界面操作转换为数据库中对应表数据的增删改元数据信息。
[0010]所述统一管理接口提供包括新增数据的识别、修改数据的识别、删除数据的识别、元数据的转换、设计时数据的查询、统一的持久化处理、元数据获取、归档的功能,其中:
统一管理接口中新增数据的识别通过主键值判断是否新增数据、修改数据实现;修改数据识别时,如果主键值发生了变化,修改前的值要进行描述;元数据转换,对数据内容进行有效性验证,判断字段类型和字段值是否匹配;设计时数据查询,将扩展的数据进行合并;持久化处理,包括元数据和合并后的元数据,且元数据归档后将数据删除。
[0011]所述分发步骤具体过程为:将元数据进行打包,提交到生产环境,由解包工具解压后,调用数据解析引擎,根据设计时定义的元数据信息,动态的构造数据库存取访问的SQL语句,访问数据库,自动完成增删改的功能。
[0012]所述元数据打包时,使用打包工具将元数据放到压缩包中,压缩包使用文件数据库的方式记录所有的元数据,同时压缩包记录和其他压缩包的依赖关系;当元数据打包后,将打包的数据进行归档处理,归档后数据删除;
解包工具解压时,根据依赖关系判断压缩包是否可以安装;多个压缩包一块安装时,解包工具根据依赖关系对压缩包进行排序;压缩包安装后解包工具记录安装信息,解包工具按照安装信息判断压缩包是否已安装、是否可安装;
数据解析引擎根据元数据中的数据描述信息,解析出在哪个表中针对哪行数据进行增删改操作,根据数据内容解析具体的字段值,然后构造SQL在数据库中执行;对于新增数据,执行时判断对应主键值是否已存在,存在的不执行;删除数据,根据外键信息判断是否被其他数据使用,已使用的不执行。
[0013]为兼容数据库差异,在数据解析引擎构造SQL以及访问数据库时,根据元数据的相关信息,即根据当前访问的数据库类型和版本,针对数据库类型和版本之间的差异,动态的调整SQL语句以适应不同的数据库类型和版本。
[0014]针对用户本地扩展的数据,数据解析引擎构造SQL时,根据元数据中的数据内容判断用户是否做了本地扩展,如果有扩展,则不允许更新用户的数据。
[0015]本发明的一种关系型数据库数据分发的方法和现有技术相比,具有以下有益效果:
本发明的一种关系型数据库数据分发的方法,通过设计时和分发时两个阶段,将数据库数据转换成元数据,借助数据解析引擎在生产环境中执行,开发人员交付数据库数据时,不需要再写SQL,通过解包工具的解压安装避免了 SQL交付导致生产环境数据出错的现象;减少ERP软件开发过程中SQL编写的繁琐性,降低软件交付引起的生产环境数据出错的几率,实用性强,易于推广。
【附图说明】
[0016]下面结合附图对本发明进一步说明。
[0017]附图1为本发明的设计步骤示意图。
[0018]附图2为本发明的分发步骤示意图。
【具体实施方式】
[0019]下面结合附图和具体实施例对本发明作进一步说明。
[0020]本发明的一种关系型数据库数据分发的方法,针对的是关系型数据库数据的交付,目的是通过提供一种不使用SQL的方式来交付关系型数据库的数据,减少ERP软件开发过程中SQL编写的繁琐性,降低软件交付引起的生产环境数据出错的几率,该方法包括如下步骤:
设计的步骤,即针对关系型数据库进行建模,将其描述为数据内容和数据描述两种元数据;
分发的步骤,即将数据进行解析执行。
[0021]所述设计步骤中,
数据内容描述过程为:对数据库数据进行建模,将数据库表中的行数据抽象出来,描述每个字段的内容:
字段属性,描述其字段名称、字段类型;
字段值,描述对应字段的实际数值;
在字段属性中的字段类型,考虑需兼容多种类型的数据库,对数据类型进行了抽象,定义了一套中立的数据类型,和具体的某种数据库的数据类型之间建立映射关系,从而屏蔽数据库差异。
[0022]数据描述过程为:对数据内容对应的数据库表中的行数据进行描述,包含行数据的变化状态以及可追溯的信息;其中
行数据描述包含对应的数据库表名、主键字段、主键值、主键值修改前的值;
行数据的变化状态用于识别本行数据是新增的、修改的、还是删除的;
可追溯的信息包含修改人、修改时间、修改的厂商、数据分类信息。
[0023]所述主键字段描述的是对应数据库表的主键,该主键字段支持复合主键;主键值描述的是对应主键的数值;主键修改前的值的描述是当行数据是更新,且更新的字段中包含了主键时进行的,当行数据是新增或删除时则不进行描述。
[0024]所述修改的厂商用于描述数据库数据的所有者;数据分类信息用于识别数据的分类,完成对数据进行业务识别。
[0025]所述设计步骤中,为了实现元数据的统一管理,为界面操作提供统一的管理接口,将界面操作和元数据进行隔离,界面只关心界面中的控件实现,界面只关心界面中的控件实现,由统一管理接口将界面操作转换为数据库中对应表数据的增删改元数据信息。
[0026]所述统一管理接口提供包括新增数据的识别、修改数据的识别、删除数据的识别、元数据的转换、设计时数据的查询、统一的持久化处理、元数据获取、归档的功能,其中:
统一管理接口中新增数据的识别通过主键值判断是否新增数据、修改数据;修改数据识别时,如果主键值发生了变化,修改前的值要进行描述;元数据转换,需要对数据内容进行有效性验证,判断字段类型和字段值是否
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1