一种持久化数据模型建模方法

文档序号:6573805阅读:372来源:国知局
专利名称:一种持久化数据模型建模方法
技术领域
本发明涉及一种数据建模方法,属于数据处理技术领域。
背景技术
目前,系统软件开发的持久化介质基本都是关系型数据库,系统设计中采用最多的就是对业务需求分析后利用数据库设计工具 来进行业务模型的建模的方法。大部分的信息系统的数据模型都是采用类似PowerDesinger等数据库设计工具设计开发的,数据库管理员拿到具体的业务需求后,通过建立业务数据表的形式将业务模型建立到数据库中。用户的需求会经常发生变化,为了能适应业务需求的变化,数据模型也必须改变一旦数据模型发生变化将直接引发数据库结构的变化。目前数据模型都是采用数据建模工具来创建和改变的,数据库管理人员找到以前的数据模型,按照需求的改动来重新修改数据模型,这样的改动量一般都比较大,而且需要对原有的业务数据库特别了解的人才能做出最好的改动。现有的数据建模都是采用离线的方式,建完后的数据模型还必须生成到正式数据库中,这个过程一般都是通过手动或者半自动的方式利用数据库结构化语言将这些改变在正式数据库中进行修改。这样的过程会产生许多的问题,首先,从数据建模到数据库的改变需要很长的时间,而且还需要很精通原有的数据库管理人员来进行修改维护,不方便以后频繁的需求变化,不能快速的适应关键用户的需求变更,业务分析人员需要在原有业务数据中找到发生改变的内容,对这些内容进行分析后,才能重构原有业务模型。重构业务模型后,还需要将这些改动在正在使用的数据库中进行改变,这个过程将会持久很长时间;其次,改后的数据库也有可能会对原有的数据产生影响,可能会导致部分数据丢失,数据错误等异常,直接导致信息系统不能正常使用。

发明内容
为了能灵活改变数据模型的结构,又不造成已有数据丢失错误等问题,本发明采用了基于可扩展标记语言XML的数据建模。利用基于XML的建模方法,将建模的数据结构保存在XML的结构中,这种结构可以快速应对需求的变化。本发明的技术方案是提供一种持久化数据建模方法,其特征是,包含以下步骤步骤I :采用XML的方式,定义建模后的数据模型文件;步骤2 :通过数据模型驱动引擎动态生成数据模型对应的业务数据库表;步骤3 :数据模型驱动引擎根据数据模型自动验证和保存业务数据。步骤I中的数据模型文件是采用XML中schema语法来建立。步骤I中数据模型文件存储于数据模型维护表中。步骤2中数据模型驱动引擎首先建立业务中都需要的一些字段,然后数据模型驱动引擎会遍历数据模型,针对每一个业务数据元素,根据数据模型的名称和类型自动生成数据库表中的业务数据列。步骤2中根据数据模型的唯一标识作为表名来生成业务数据库表;
在建立的业务数据库表中,包括公共数据列和业务数据列,通过数据模型驱动引擎就能将数据模型与业务数据库表对应起来,数据保存和查询都利用数据模型驱动引擎进行自动的处理。步骤3中业务数据在保存到业务数据库表前利用XML自带的Schema进行校验。步骤3中保存业务数据的步骤为数据模型驱动引擎利用名称自动匹配数据模型的业务数据元素,直接将数据模型元素作为列名来组装SQL语句,并且根据数据是否已经在业务数据库表中存在来决定使用INSERT 还是 UPDATE 操作;利用组装后的SQL语句,通过数据库操作,即可以将业务数据保存到业务数据库表中。 还包含对业务数据查询的步骤数据模型驱动引擎根据数据模型定义自动组装查询的数据库语句,通过执行查询语句得到对应的业务数据。本发明所达到的有益效果通过数据建模实现对业务数据的建模取代离线的数据库设计方法,将会快速灵活的对数据模型进行改变,一旦数据模型发生改变,只需在系统中动态修改建立的数据模型,并且将保存每次的模型变更内容。数据模型建立与改变将会动态改变对应的业务数据表,快速的对业务数据进行建模与修改,大大缩短了模型的开发周期,并且降低了由于数据模型改变导致数据错误混乱等风险。数据驱动引擎会根据数据模型自动对业务数据进行处理,开发人员无需再对每一个业务都进行数据处理的代码开发,极大的提高了系统的开发速度,减少了由不同的数据处理代码导致的系统问题。
具体实施例方式下面对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。本发明采用模型驱动的思路,利用可扩展标记语言XML对数据模型进行建模。本发明主要包含以下解决步骤步骤一、采用XML (可扩展标记语言)的方式,定义建模后的数据模型文件;步骤二、通过数据模型驱动引擎动态生成数据模型对应的业务数据库表。步骤三、数据模型驱动引擎根据数据模型自动验证和保存业务数据。详细的数据建模步骤过程如下I、数据模型文件本方法利用XML来保存建模后的数据模型文件,利用XML可扩展的特性,数据模型可以根据业务需求的变化持续的进行改变。数据模型文件是采用XML中schema语法来建立的,模型文件的具体形式如下<xs: schema〉
<xs: element name=" 〃 schema=" >
<xs:complexType>
<xs:all>
<xs: element name 二〃 o I emeu 11" text 二type 二 #xs: string"/〉 <xs:element name二〃element2" text 二”时 type二〃xs:int"/〉

</xs:all>
</xs:complexType)
</xs: element〉
</xs: schema)所有的配置都是基于XML Schema的语法来配置的,XML Schema最大的一个优点 就是可针对未来的需求进行任意的扩展。xs: schema是数据模型的根节点,这个节点主要是用来定义XML Schema的一些命名空间的。在xs:schema下的xs:element用来定义的是数据模型的名称以及所属的命名空间,name属性表示的是数据模型的名称,定义后将会以该名字来唯一标识这个数据模型。schema模型是制定改数据模型的命名空间。通过schema和name两个属性,可以在业务数据库中自动生成相应的数据库表,其中schema是表的模式名,name为表名。xs:complexType元素表示开始定义数据模型中具体的业务元素。xs:all元素指定下面的业务元素的顺序可以任意排列。在xs:all下面的xs:element制定了业务数据模型中的各个业务元素,最终的业务数据都是要保留在这些元素对应的业务元素中的。name属性表示的是业务元素的唯一标识,text表示的是该业务元素的名称,type表示的是该业务元素的类型,XML Schema中定义了以下几种数据类型I) xs: string 字符串类型2) xs:decimal 浮点数类型3) xs: integer 整数类型4) xs:boolean 布尔值类型5) xs:date 日期类型6) xs:time 时间类型根据xs: schema的规范和元素介绍就可以制定一个具体的业务模型,下面的xml
内容为一个简单的业务数据模型示例。
权利要求
1.一种持久化数据建模方法,其特征是,包含以下步骤 步骤I :采用XML的方式,定义建模后的数据模型文件; 步骤2 :通过数据模型驱动引擎动态生成数据模型对应的业务数据库表; 步骤3 :数据模型驱动引擎根据数据模型自动验证和保存业务数据。
2.根据权利要求I所述的持久化数据建模方法,其特征是,步骤I中的数据模型文件是米用XML中schema语法来建立。
3.根据权利要求I所述的持久化数据建模方法,其特征是,步骤I中数据模型文件存储于数据模型维护表中。
4.根据权利要求I所述的持久化数据建模方法,其特征是,步骤2中数据模型驱动引擎首先建立业务中都需要的一些字段,然后数据模型驱动引擎会遍历数据模型,针对每一个业务数据元素,根据数据模型的名称和类型自动生成数据库表中的业务数据列。
5.根据权利要求I所述的持久化数据建模方法,其特征是,步骤2中根据数据模型的唯一标识作为表名来生成业务数据库表; 在建立的业务数据库表中,包括公共数据列和业务数据列,通过数据模型驱动引擎就能将数据模型与业务数据库表对应起来,数据保存和查询都利用数据模型驱动引擎进行自动的处理。
6.根据权利要求I所述的持久化数据建模方法,其特征是,步骤3中业务数据在保存到业务数据库表前利用XML自带的Schema进行校验。
7.根据权利要求I或6所述的持久化数据建模方法,其特征是,步骤3中保存业务数据的步骤为 数据模型驱动引擎利用名称自动匹配数据模型的业务数据元素,直接将数据模型元素作为列名来组装SQL语句,并且根据数据是否已经在业务数据库表中存在来决定使用INSERT 还是 UPDATE 操作; 利用组装后的SQL语句,通过数据库操作,即可以将业务数据保存到业务数据库表中。
8.根据权利要求7所述的持久化数据建模方法,其特征是,还包含对业务数据查询的步骤 数据模型驱动引擎根据数据模型定义自动组装查询的数据库语句,通过执行查询语句得到对应的业务数据。
全文摘要
本发明公开了一种持久化数据建模方法,包含以下步骤步骤1采用XML的方式,定义建模后的数据模型文件;步骤2通过数据模型驱动引擎动态生成数据模型对应的业务数据库表;步骤3数据模型驱动引擎根据数据模型自动验证和保存业务数据。通过数据建模实现对业务数据的建模取代离线的数据库设计方法,将会快速灵活的对数据模型进行改变。数据模型建立与改变将会动态改变对应的业务数据表,快速的对业务数据进行建模与修改,大大缩短了模型的开发周期,并且降低了由于数据模型改变导致数据错误混乱等风险。数据驱动引擎根据数据模型自动对业务数据进行处理,极大的提高了系统的开发速度,减少了由不同的数据处理代码导致的系统问题。
文档编号G06F17/30GK102819609SQ20121030313
公开日2012年12月12日 申请日期2012年8月23日 优先权日2012年8月23日
发明者朱海东, 李晓东, 张敏, 黄炳良, 胡银华, 孙峰 申请人:国电南京自动化股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1