APP下载

基于建模方式实现企业信息生命周期管理

2013-10-20珂,曹

微型电脑应用 2013年1期
关键词:对话框生命周期建模

李 珂,曹 健

0 引言

在全球信息化的高速发展的今天,每时每刻都有大量的数据产生,对于企业来说,如何有效地管理和利用其数字资产,已经越来越重要并成为决定其业务成败的关键。面对海量的数据,企业直接面临的是存储成本的问题,另外,大量的数据也意味着查询、编辑、分析、管理的高成本。因此,产生了各种各样的理论或实践来探讨和解决这些问题,信息生命周期管理就是其中一个。

信息生命周期管理包含很多层面的内容,不论是从方法学还是管理的对象,都比较广泛,本文主要针对关系数据库或数据仓库,来探讨如何实现对企业数据的生命周期管理。

从存储的角度来说,信息生命周期管理的理念是,根据某种规则,在一定时期内,将不常用、不关键的信息存储在低速、成本较低的存储设备上,甚至备份起来,从而减少在线的关键信息量,达到减少存储成本,提供利用效率,以及保护数据的目的。

另外,有的数据库产品也支持数据表的访问频率统计,根据这部分信息,则可以更精确的控制数据的存储类型,从而达到高效的存储和使用。

一个典型的数据生命周期管理的例子,主要分为3层存储,通过数据分区,将不同类型的数据存储在不同的存储设备上,可以被应用透明的访问。如图1所示:

图1 数据生命周期管理三层存储架构

要实现信息生命周期管理,需要有3个条件:硬件、分级的存储设备、存储成本不同但是可以同时被访问、软件、数据库或数据仓库必须支持数据的分区存储;管理员,管理员需要根据业务规则,控制数据的存储、访问和删除,以实现分级存储。

但是,业务规则的复杂性多变以及频繁的数据更新,使得人工来管理比较低效,而且市场上的数据库和数据仓库产品众多,如何针对不同的平台作信息生命周期管理也是一个挑战。

人们在解决复杂问题的时候常常需要建模,建模的好处是标准化、易于交流和理解、易于抽象和思考复杂的问题。建模的方式是一种有效的信息生命周期管理手段。

1 PowerDesigner中实现信息生命周期管理建模

PowerDesigner是一个企业级的建模工具,强调元模型的定义和管理,因此可以基于元模型做更多的分析、集成工作,特别在数据建模领域,占据绝对的优势地位。利用PowerDesigner的元模型管理和扩展能力,可以实现对信息生命周期管理的建模,这样有以下一些好处:

基于模型的管理比较容易理解和维护;可以利用同一个模型实现基于不同数据库或数据仓库产品的解决方案;容易和其他数据管理工具集成,实现自动化的生命周期管理,降低维护成本;根据业务变化快速动态调整策略,重新部署和集成。

1.1 PowerDesigner中的元模型

对象管理组织(OMG)有一整套关于建模的理论,一个具体的模型,比如物理数据模型,包含了表、列、引用等对象,而描述这些对象的对象就是其元对象,元对象构成的模型就是元模型。元模型就是用来描述模型的模型,当然元模型本身也是需要另一个模型来描述的,因此形成了一个递归的关系,但是,这个递归并不是无限的,在最顶层的元模型是自描述的,根据对象管理组织的MOF理论,这个递归关系总共分为四层。

在PowerDesigner中,元模型是基础,所有的建模、视图、分析等功能都是基于元模型的。因此,为了在PowerDesigner中建立新的模型,需要首先定义其元模型,PowerDesigner已经支持对数据库关系模型的建模,因此,在数据建模的基础上,只要根据生命周期管理的业务需求,加入新的元模型类和关系。

1.2 息生命周期管理元模型的设计

PowerDesigner的元模型是由一套内部的语言定义的,其核心元模型管理引擎将根据该语言所描述的定义,生成相应的C++代码,并实现COM接口,以暴露给其上的插件或脚本引擎。

另外,PowerDesigner本身也实现了一套定义自身元模型的模型,并生成元模型定义语言以及其他相关C++代码。从理论上说,当PowerDesigner框架成熟之后,可以利用它本身来为自己实现更多的建模功能,这也从某种程度上印证了对象管理组织的MOF理论的自描述性。但是从实践上说,这样要求模型非常复杂,维护起来比直接编写代码要困难许多。

针对信息生命周期管理设计的元模型,如图2所示:

图2 信息生命周期管理元模型

其中,Lifecycle是管理策略本身,它包含一个或多个Phase,每一个 Phase指定了数据保存的时间和存储设备,则当一条关系数据从创建开始,在相应的存储上保存了Phase规定的时间以后,将会被存储到下一个Phase所制定的存储设备上。

当然,要实现同一数据表的分级存储,需要数据库支持表分区,并且要制定一列日期时间类型的字段作为分区的关键列。这就是表上的PartitionKey这个属性。

最后,还需要指定一个时间窗口,以这个时间窗口为单位进行表分区,也会在这个时间窗口上进行数据的移动和存储。比如,指定时间窗口为一个月,则在每个月的这一天,将对表根据关键列进行分区,并根据Phase规定的时间选择是否移动特定分区的表内容。

详细的元模型信息,如表1所示:

表1 信息生命周期管理元模型详细信息

1.3 信息生命周期管理模型的表现

在建立了生命周期管理的元模型后,也同时暴露了访问的接口,PowerDesigner的一套通用的机制是属性对话框。

PowerDesigner的通用界面是一套灵活且强大机制,由于元模型的可抽象性,决定了可以用有限的控件来表现和管理所有基于顶层元模型实现的模型属性,并且是可以由最终用户定制的。

属性对话框是用XML语言描述的,每一个元模型类型的所有属性,会按语义展现在一个属性对话框的多个分页上,对用户来说,只需要定义想要表现的属性和其排版即可。

例如,对于Lifecycle的属性对话框,如图3所示:

图3 Lifecycle的属性对话框

其中对应Policy部分的XML代码如下所示:

在通用属性对话框背后,是一套基于MVC模式的界面框架,其中Model模型部分即对应实现COM接口的元模型,View视图部分是基于 Windows窗口和控件的对象,Controller控制器是内部实现的连接模型和视图的桥梁,通过控制器来定制控件属性行为、值转换、验证等等功能。

当然除了通用的控件以外,PowerDesigner的通用属性对话框机制还支持动态创建的特殊控件,比如 Lifecycle页面的 Phases属性,利用动态创建的按钮,同时展现了时间的长短以及相应的存储及属性信息。

1.4 代码生成与环境集成

PowerDesigner不仅仅定义模型,同时和生产系统也有着紧密的联系,它可以实现双向的转换工作,比如,连接到实际的数据库,反向工程生成相应的数据模型;也可以由模型生成数据定义脚本,在生成系统中运行。

在信息生命周期管理中,也要用到后者来生成针对特定数据库或数据仓库的脚本,应用生命周期规则到实际的生产环境中。

PowerDesigner的另一套强大的机制是模型扩展和代码生成机制,在PowerDesigner实现其元模型的的时候留有模型扩展的接口,所谓扩展,就是在运行时动态的修改PowerDesigner预定义的元模型,比如可以为某一个现有的元模型类添加一个属性,或者定义一个新的元模型类。

由于扩展是动态的,所以非常灵活,特别适用于数据建模的情况,为了支持各个不同的数据库产品,PowerDesigner的元模型大体是统一的,但是细节上有所区别,因此,在基本的数据模型基础上,通过定义不同的针对具体数据库产品的模型扩展,可以很好的支持不同的数据库和环境,从而简化了手动维护的过程。

PowerDesigner也定义一套代码生成的模板机制,这套机制同样基于元模型和扩展模型的访问,来定义生成的代码。

例如,信息生命周期管理会生成如下的代码:进行生命周期管理的脚本有很强的时间性,特定的脚本必须在特定的时间运行,并且,在整个生命周期内都要依照时间窗口的间隔持续运行下去,这是一个很适合计算机解决的问题。

很多数据库管理系统都有计划任务的功能,PowerDeigner生成脚本的时候,会按照执行日期进行分类,将脚本以需要的顺序进行管理,这样可以方便各种数据库管理系统进行配置。当然,通过PowerDesigner的模型扩展和模板机制,针对特殊系统的需求进行脚本生成的定制也是非常容易的。

2 生命周期管理建模的效果分析

2.1 成本分析

在真正实施生命周期管理项目之前,PowerDesigner也提供了一套成本分析工具,可以模拟在实施了生命周期管理之后,以财年为周期,比较存储和维护成本有多少程度的减少,并提供了Excel的接口,方便报表的生成,如表2所示:

表2 单表数据的存储成本节省和百分比

比如,表2显示了某系统中单表的存储成本根据自然年的变化情况,虽然单表每年的成本减少并不客观,但是对于大型系统和大量数据,存储成本的变化则比较可观。单表数据存储成本变化相应的柱状图,如图4和图5所示:

图4 单表数据成本节省的柱状图

图5 单表数据成本节省的百分比

2.2 对PowerDesigner框架的改进

PowerDesigner是一个相对独立的平台,其框架有很多通用的机制,在实现信息生命周期管理建模的过程中,也是一个基于PowerDesigner框架实现特定建模功能的过程。实现单个特定功能建模的过程,也是一个完善框架本身的过程。

比如,原有的通用属性对话框并不能很好的管理和表现Phase的概念,而又不希望打破框架本身而选择实现独立的属性对话框系统,这时,通过对通用属性对话框机制进行完善,PowerDesigner支持了更复杂的控制器并允许动态创建视图控件。

3 结束语

通过对信息生命周期管理建模的支持,用户可以容易的基于统一的规则对不同的数据库或数据仓库产品进行信息生命周期管理。从实现的结果看,与不进行生命周期管理分级存储相比,数据的维护成本有比较明显的降低。在未来,还可以在以下方面进行更多的支持:

支持从数据库到数据仓库的数据移动;支持更多数据库管理工具的集成等等。

[1]白中英,王红梅,郝静.基于TD-ILM的存储体系架构的研究与应用[J].计算机工程与设计,2008,29(18)

[2]裴雷,望俊成.信息生命周期管理研究进展述评[J].情报杂志,2010,29(9)

[3]申丽珍.基于ILM的数字图书馆分层存储架构研究[J].科技信息,2010,(1)

[4]唐竟.基于信息生命周期管理的数据迁移技术研究[D].湖南大学:计算机技术, 2009

[5]陆泉,陈德照,邓晶.基于信息生命周期管理的个性化信息资源建设[R].图书情报工作研究会第22次图书馆学情报学学术研讨会, 2010

[6]Michael Peterson.ILM and Tiered Storage[EB/OL].SNIA Whitepaper, 2006

猜你喜欢

对话框生命周期建模
全生命周期下呼吸机质量控制
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
正常恢复虚拟机
从生命周期视角看并购保险
民用飞机全生命周期KPI的研究与应用
Bootlace Worms’Secret etc.
What Is Beauty?
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
企业生命周期及其管理