专利名称:元数据驱动的数据预处理方法
技术领域:
本发明涉及一种元数据驱动的数据预处理方法,数据预处理是数据仓库、数据挖掘和商务智能等软件系统中的重要组成部分。
背景技术:
数据预处理主要指数据的抽取、清洗、转换和加载的过程,数据预处理过程定义在软件系统中通过元数据表现。由于目前现有的数据预处理方法都是以相关算法为中心进行组织,这就造成了整个数据预处理过程被割裂成若干个相对独立的处理步骤。每一个处理步骤都根据自己的算法采用不同的元数据表示方式,增加了元数据维护和使用的难度,从而影响到整个软件系统的效率、兼容性和可靠性。
发明内容
本发明所要解决的技术问题是提供一种元数据驱动的数据预处理方法,该方法能够很好地解决软件系统中数据预处理过程难于表示、维护和交换的现状,并能够保证软件系统的执行效率、兼容性和可靠性。
为了解决上述技术问题,本发明的元数据驱动的数据预处理方法首先考虑数据预处理过程中各个步骤的元数据管理,采取统一的规范来表示元数据;在此基础上,数据的处理过程的启动、监控和中止都将反映在元数据的变化上,受到元数据的驱动。本发明的元数据驱动的数据预处理方法包括如下步骤1、建立元数据存储器;2、各类数据预处理算法在元数据管理器中注册;3、用户通过界面定义数据预处理流程,并在元数据管理器中保存。4、元数据管理器驱动各类数据预处理算法进行数据处理;5、数据处理过程相关信息通过元数据管理器保存在元数据存储器中。
本发明的优点和技术上的进步1、可以方便地实现数据预处理算法的扩充和升级。
本发明中,由于各类数据预处理算法通过注册的方式加入到系统中。因此当我们需要对已有的算法进行更新或升级时,或者需要扩充新的算法时,只需要对相关的算法模块进行注册。
2、能够与系统中其它模块或其它系统方便地进行元数据交换。
在创建元数据存储器的过程中,用户可以根据应用领域或行业标准来选择不同的元数据管理标准作为元数据存储器的规范。目前已有的元数据管理规范,如CWM(公共仓库元模型),对元数据的交换都有明确的标准,因此我们可以很方便地和使用同一规范的其它系统进行元数据交换。
3、可以实现处理流程定义和处理过程的分离。
在本发明中,用户终端界面并不和具体的处理算法直接交互,这样可以实现处理流程定义和处理过程的分离。用户可以根据在元数据管理器中注册的处理算法来进行定义,而不必关系这些算法在系统中具体是如何实现的;开发人员在进行处理算法的开发过程中主要考虑和元数据管理器的交互,从而避免了过多考虑用户行为的算法使用的影响。此外,通过定义和处理的分离,用户还可以在算法没有完全实现的情况下来进行处理流程定义。
4、为软件系统的执行效率、兼容性和可靠性提供了保障。
在本发明中,算法的执行不需要考虑终端用户的行为,因此系统可以最大限度地进行执行效率的优化;方便的元数据交换在一定程度上提高了软件系统的兼容性;流程定义和处理过程的分离为软件系统的可靠性提供了保障。
图1所示的是元数据驱动的数据预处理方法的架构图。
具体实施例方式
如图1所示,本发明的元数据驱动的数据预处理方法包括如下步骤1、建立元数据存储器3。
根据行业特点和相关的行业规范,选定一种元数据管理标准,在本具体实施例中,我们采用OMG(国际对象管理组织)组织的CWM(CommonWarehouse Metamodel公共仓库元模型)标准;或者定义自己的元数据管理标准。根据软件系统的规模,选定适合的元数据存储方式,如文本文件、XML文件、关系数据库、专用存储器等。根据元数据管理标准和元数据存储器定义元数据访问接口,包括终端用户访问接口、算法接口和存储接口。在以上工作的基础上为软件系统创建元数据存储器。
2、各类数据预处理算法4在元数据管理器2中注册。
根据元数据管理提供的算法接口,对已有的数据预处理算法进行改写,即,按照算法接口的要求将已有算法的输入参数、输入数据格式和输出数据格式重新定义,以适应元数据管理器的要求。或者按照算法接口中对算法输入参数和数据格式的要求编写新的数据预处理算法,并对这些算法进行模块化。然后在元数据管理器中将这些算法进行注册,产生相应的执行模块描述元数据保存在元数据存储器中,作为用户定义处理流程和系统进行数据处理的依据。
3、用户通过界面定义数据预处理流程,并在元数据管理器中保存。
用户通过终端界面访问元数据管理器,从元数据存储器中获取算法描述、数据描述等相关的信息,通过图形界面进行处理流程定义。产生的处理流程定义通过终端用户访问接口保存在元数据存储器中,作为系统进行数据处理的依据。
4、元数据管理器驱动各类数据预处理算法进行数据处理。
元数据管理器根据元数据存储器中保存的处理流程定义,产生数据处理执行计划。一个处理流程都会分配到一个唯一的ID,由这个ID我们可以按顺序找到流程内部的每个处理步骤,而根据每个步骤处理的先后逻辑、触发事件和调度时间,我们可以生成数据处理执行计划,并通过算法接口调用相关的处理算法进行数据处理。数据处理可以包括过滤、映射、聚合、行列转换、重复元组检测等常用处理。
5、数据处理过程相关信息通过元数据管理器保存在元数据存储器中。
在数据处理过程中,关于处理的进度、执行结果、日志信息等内容被作为元数据保存在元数据存储器中。用户可以通过终端界面对这些信息进行查询,通过这种方式实现对处理流程的监控。
权利要求
1.一种元数据驱动的数据预处理方法,其特征在于,包括如下步骤建立元数据存储器;各类数据预处理算法在元数据管理器中注册;用户通过界面定义数据预处理流程,并在元数据管理器中保存;元数据管理器驱动各类数据预处理算法进行数据处理;数据处理过程相关信息通过元数据管理器保存在元数据存储器中。
2.根据权利要求1所述的一种元数据驱动的数据预处理方法,其特征在于,所述的元数据存储器的元数据管理标准为OMG组织的CWM标准。
3.根据权利要求2所述的一种元数据驱动的数据预处理方法,其特征在于,根据元数据管理标准和元数据存储器定义元数据访问接口。
4.根据权利要求1所述的一种元数据驱动的数据预处理方法,其特征在于,所述的各类数据预处理算法在元数据管理器中注册的步骤包括根据元数据管理提供的算法接口,对已有的数据预处理算法进行改写,即,按照算法接口的要求将已有算法的输入参数、输入数据格式和输出数据格式重新定义,以适应元数据管理器的要求。
5.根据权利要求1所述的一种元数据驱动的数据预处理方法,其特征在于,所述的各类数据预处理算法在元数据管理器中注册的步骤包括按照算法接口中对算法输入参数和数据格式的要求编写新的数据预处理算法,并对这些算法进行模块化;然后在元数据管理器中将这些算法进行注册,产生相应的执行模块描述元数据保存在元数据存储器中,作为用户定义处理流程和系统进行数据处理的依据。
6.根据权利要求1所述的一种元数据驱动的数据预处理方法,其特征在于,所述的元数据管理器驱动各类数据预处理算法进行数据处理的步骤包括元数据管理器根据元数据存储器中保存的处理流程定义,产生数据处理执行计划;一个处理流程都会分配到一个唯一的ID,由这个ID按顺序找到流程内部的每个处理步骤,而根据每个步骤处理的先后逻辑、触发事件和调度时间,生成数据处理执行计划,并通过算法接口调用相关的处理算法进行数据处理。
全文摘要
本发明所要解决的技术问题是提供一种元数据驱动的数据预处理方法,包括如下步骤1.建立元数据存储器;2.各类数据预处理算法在元数据管理器中注册;3.用户通过界面定义数据预处理流程,并在元数据管理器中保存。4.元数据管理器驱动各类数据预处理算法进行数据处理;5.数据处理过程相关信息通过元数据管理器保存在元数据存储器中。该方法能够很好地解决软件系统中数据预处理过程难于表示、维护和交换的现状,并能够保证软件系统的执行效率、兼容性和可靠性。
文档编号G06F17/30GK1722135SQ20041005293
公开日2006年1月18日 申请日期2004年7月16日 优先权日2004年7月16日
发明者胡大斌 申请人:上海宝信软件股份有限公司