支持多文档格式的自适应数据加载方法

文档序号:6587779阅读:199来源:国知局
专利名称:支持多文档格式的自适应数据加载方法
技术领域
本发明涉及数据科学处理、演算、归纳和加载,具体讲是涉及支持多文档格式的自
适应数据加载方法。
背景技术
随着电子计算机的高速发展,企业的数据管理由纸质文件的管理到转变成了电子文件的管理。随着数据库的不断发展,企业的数据管理又由对文本文件的管理转变成了对数据库的管理。 最早的手工管理数据的缺点是显而易见的,不仅耗费大量的人力物力而且效率超低。转变成电子文件之后,虽然有了目录的索引,可以按照文件夹来一级一级的找下去,不用再去翻箱倒柜,但是其依然存在弊端,想要查找某个数据,需要查看大量的文件,效率依旧很低。 数据库的出现,给企业数据的管理带来了及其深远的影B向,使企业的数据管理方
式发生了质的变化。数据库管理是要是对大型的数据量进行处理的,其主要优点是存储简
单,而且集中管理,容易备份恢复,而且还可以有相应的安全防护,与之相对应的还有强大
的SQL结构化查询语言,便于编程操作。大大的提高了数据管理的效率。 尤其在海洋、航空、物流、供暖等领域有大量的数据都是由测量仪器自动生成的,
并且数据量庞大。随着企业信息化的深入,企业中庞大的业务数据都需要被合理的组织和
管理,并在此基础上开发众多企业应用软件。 这些数据具有以下特点 由仪器自动生成 数据量非常庞大 数据格式固定 数据格式的种类繁多 基于以上特点目前有这方面需求的企业用户都是专门为自己的系统开发一套专用系统,开发期限长,开发花费大。而且目前仍没有一个可以通用的数据加载系统。而且目前需要将现有的大量数据按照一定的格式录入到数据库里的需求很多,因此,一个通用的数据加载平台对于企业数据的管理意义重大。 通用的数据加载平台可以根据不同种类的数据格式编写不同的配置文件,从而适应各种数据格式,可以将大量的数据文件加入的数据库中,从而节省了大量的人力,提高了效率。

发明内容
为克服现有技术的不足,本发明的目的在于,针对数据库中资料的组织形式与原始数据文件组织形式的异构问题,提供从原始数据到数据库的映射。并且当加入新的数据类型时用户可以动态添加新型切割器,最终将用户提供的数据文件加载到数据库中,以便于用户的查询管理,减少人力物力的损耗。 为达到上述目的本发明采用的技术方案是,支持多文档格式的自适应数据加载方法,包括 文件切割方法把原始数据文件拆分成若干个小文件,从而实现数据文件与数据库中表的一一对应,每一类原始数据文件需要对应一个文件切割器来将其切割成若干个与数据库中表一一对应的小文件; 配置文件方法配置文件用于让程序知道当前处理的这类原始数据文件要用哪一
个切割器来切割,另外,配置文件还要告知程序,切割后的小文件,哪一个文件对应哪一张
表,以及此文件中的数据与表中字段的对应关系,以及各个表之间的父子关系。 数据加载方法通过配置文件将切割后的小文 件中的数据加载到数据库中对应表
中,从而完成了数据的加载; 设计模式方法是桥模式,具体指,数据按照领域划分,每个领域都对应的加载器,切割器按文件格式分类,每一个加载器负责加载一个领域文件夹,在每一个最底层的文件夹下存放的是数据文件和相关spec文件,spec文件指定对应数据文件所使用的切割器;
模板库方法,用于存放各种切割器的模板,当需要时,用户只需要根据新加入类型的数据的格式去选择相应的切割器模板,然后填写相应的参数,程序就会为用户自动生成一个新的切割器。 模板库方法,进一步细化为 首先建立一个模板库,在模板库中存放各种切割器原型,并将其中变化的地方用
变量表示,当用户调用模板库生成切割器时,只需按照配置文件中的内容将相应文件中的
变量替换成相应的值即可,然后调用visualstudio 2005中的devenv. exe编译生成DLL文
件,即用户所需的切割器。 本发明可带来以下技术效果 使用本工具可以将企业的庞大的业务数据自动地加载到数据库中。而且即便是企业的业务数据格式变化或者增加也不需要在重新开发,而只需修改或添加相应的配置文件就可以解决,为企业的庞大的业务数据加载提供了便利。


图l是系统层次结构图。 图2应用桥模式构成核心控制层的总体结构。 图3自动生成切割器的流程图。 图4自动生成切割器的程序流程图。 图5用桥模式实现切割器的配置。 图6是主程序调用切割器的程序流程图。 图7是数据加载模块流程图。
具体实施例方式
本发明目的是将原始数据文件(文本文件)中的数据组织形式转化成关系型数据库的数据组织形式,即将文本文件的数据加载到数据库中。
整个系统分三层用户层,功能层,数据层。如图一所示。
令用户层负责从用户得到指令,并反馈必要信息
令功能层负责整个处理过程的控制以及加载工作
令数据层负责数据的存储 为了实现本发明的目的,本发明主要采用了文件切割、配置文件、模板库以及设计模式等技术。具体如下 第一,文件切割技术。由于原始数据文件中存储的数据有可能映射到数据库中的多张表,因此为了便于加载数据,要把原始数据文件拆分成若干个小文件,从而实现数据文件与数据库中表的一一对应。由于每一类原始数据文件的格式都不相同,因此每一类原始数据文件需要对应一个文件切割器来将其切割成若干个与数据库中表一一对应的小文件。
第二,配置文件技术。每一类原始数据文件都要有一个切割器来对应,配置文件要让程序知道当前处理的这类原始数据文件要用哪一个切割器来切割。另外,配置文件还要告知程序,切割后的小文件,哪一个文件对应哪一张表,以及此文件中的数据与表中字段的对应关系,以及各个表之间的父子关系等。 利用了配置文件技术实现了切割器与原始数据文件的对应、文件与表之间的对
应、数据与表中字段之间的对应。从而解决了本工具的可配置性问题。 第三,数据加载技术。SQL礼oader是甲骨文公司提供的一个数据加载工具,其能
通过配置文件将切割后的小文件中的数据加载到数据库中对应表中。从而完成了数据的加载。 第四,设计模式技术。本工具主要采用了桥模式。
系统中有两大变化点 由于数据是按照领域划分的,每个领域的要求可能有所不同,故每个领域都应该有自己的加载器 由于原始数据文件的格式种类繁多,所以每类文件应该对应一个文件切割器。切割器负责将原始文件切割成规整的形式,作为sqlldr的输入。
针对这两大变化点,本系统设计了两个体系
按业务分类的加载器体系
按文件格式分类的切割器体系 应用桥模式构成核心控制层的总体结构如图二所示。 每一个加载器负责加载一个领域文件夹,在数据文件夹下的loaders, spec用来指定每个领域所使用的加载器。 在每一个最底层的文件夹下存放的是数据文件和相关spec文件,这里spec文件制定了对应数据文件所使用的切割器。切割器的设计原则是,尽量做成可配置的形式,争取尽可能的提取不同格式文件的相同点。 第五,模板库技术。当有新类型的数据文件需要加入到数据库中时,现有的切割器中没有能够切割此类的,那么就需要加入新的切割器。为了让用户尽可能不用自己去编写程序代码,因此建立一个模板库,用于存放各种切割器的模板,当需要时,用户只需要根据新加入类型的数据的格式去选择相应的切割器模板,然后填写相应的参数,程序就会为用户自动生成一个新的切割器。
首先建立一个模板库,在模板库中存放各种切割器原型,并将其中变化的地方用变量表示,当用户调用模板库生成切割器时,只需按照配置文件中的内容将相应文件中的变量替换成相应的值即可,然后调用visualstudio 2005中的devenv. exe编译生成DLL文件,即用户所需的切割器。如果模板库中没有用户所需的切割器类型,则用户可以根据自己的需求用以及入口函数及其参数的定义,自己编写切割器。编写后也可以将其加入到模板库中,便于下次使用。
自动生成切割器(这里所用的切割器是.dll文件)的流程如图三所示。
有益效果 使用本工具可以将企业的庞大的业务数据自动地加载到数据库中。而且即便是企业的业务数据格式变化或者增加也不需要在重新开发,而只需修改或添加相应的配置文件就可以解决,为企业的庞大的业务数据加载提供了便利。
最佳实施方式 本工具采用visual studio 2005编写。本工具主要由三大模块组成。 —,自动生成切割器模块。本模块采用的是模板库的设计,即用户需要生成切割
器时首先从模板库中选择相应的模板,然后用vs2005进行编译,从而生成切割器(.dll文
件),用户再将其拷贝到相应的文件夹下就可以使用了。 流程如图四所示. 二,文件切割模块采用桥模式解决各数据格式的切割器配置问题,如图五所示。
主程序只管调用切割的命令即接口函数,而不需要知道具体怎样切割。
主程序调用切割器的程序流程如图六所示。 数据加载模块采用的是主程序调用oracle提供的sqlldr. exe加载工具来完成数据加载的最后一步,即把切割后的数据文件加载到数据库相应的表中。
数据加载模块流程如图七所示。
权利要求
一种支持多文档格式的自适应数据加载方法,其特征是,包括文件切割方法把原始数据文件拆分成若干个小文件,从而实现数据文件与数据库中表的一一对应,每一类原始数据文件需要对应一个文件切割器来将其切割成若干个与数据库中表一一对应的小文件;配置文件方法配置文件用于让程序知道当前处理的这类原始数据文件要用哪一个切割器来切割,另外,配置文件还要告知程序,切割后的小文件,哪一个文件对应哪一张表,以及此文件中的数据与表中字段的对应关系,以及各个表之间的父子关系;数据加载方法通过配置文件将切割后的小文件中的数据加载到数据库中对应表中,从而完成了数据的加载;设计模式方法是桥模式,具体指,数据按照领域划分,每个领域都对应的加载器,切割器按文件格式分类,每一个加载器负责加载一个领域文件夹,在每一个最底层的文件夹下存放的是数据文件和相关spec文件,spec文件指定对应数据文件所使用的切割器;模板库方法,用于存放各种切割器的模板,当需要时,用户只需要根据新加入类型的数据的格式去选择相应的切割器模板,然后填写相应的参数,程序就会为用户自动生成一个新的切割器。
2. 根据权利要求l所述的一种支持多文档格式的自适应数据加载方法,其特征是,模板库方法,进一步细化为首先建立一个模板库,在模板库中存放各种切割器原型,并将其中变化的地方用变量表示,当用户调用模板库生成切割器时,只需按照配置文件中的内容将相应文件中的变量替换成相应的值即可,然后调用visualstudio 2005中的devenv. exe编译生成DLL文件,即用户所需的切割器。
全文摘要
本发明涉及数据科学处理、演算、归纳和加载,具体讲是涉及支持多文档格式的自适应数据加载方法。针对数据库中资料的组织形式与原始数据文件组织形式的异构问题,提供从原始数据到数据库的映射。并且当加入新的数据类型时用户可以动态添加新型切割器,最终将用户提供的数据文件加载到数据库中,以便于用户的查询管理,减少人力物力的损耗。为达到上述目的本发明采用的技术方案是,包括文件切割方法把原始数据文件拆分成若干个小文件;配置文件方法配置文件用于让程序知道当前处理的这类原始数据文件要用哪一个切割器来切割,数据加载方法完成数据的加载,采用桥模式的设计模式方法及模板库方法。本发明主要应用于数据处理。
文档编号G06F17/30GK101706828SQ200910311060
公开日2010年5月12日 申请日期2009年12月8日 优先权日2009年12月8日
发明者冯志勇, 孟宪森, 徐金娜, 陈世展, 陶春华 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1