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

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

Info

Publication number
CN101706828B
CN101706828B CN2009103110604A CN200910311060A CN101706828B CN 101706828 B CN101706828 B CN 101706828B CN 2009103110604 A CN2009103110604 A CN 2009103110604A CN 200910311060 A CN200910311060 A CN 200910311060A CN 101706828 B CN101706828 B CN 101706828B
Authority
CN
China
Prior art keywords
file
data
cutter
database
loading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009103110604A
Other languages
English (en)
Other versions
CN101706828A (zh
Inventor
冯志勇
孟宪森
陈世展
陶春华
徐金娜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JIAOSU CHAOSHU INFORMATION TECHNOLOGY Co.,Ltd.
Original Assignee
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN2009103110604A priority Critical patent/CN101706828B/zh
Publication of CN101706828A publication Critical patent/CN101706828A/zh
Application granted granted Critical
Publication of CN101706828B publication Critical patent/CN101706828B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明数据科学处理、演算、归纳和加载,具体讲是涉及支持多文档格式的自适应数据加载方法。针对数据库中资料的组织形式与原始数据文件组织形式的异构问题,提供从原始数据到数据库的映射。并且当加入新的数据类型时用户可以动态添加新型切割器,最终将用户提供的数据文件加载到数据库中,以便于用户的查询管理,减少人力物力的损耗。为达到上述目的本发明采用的技术方案是,包括:文件切割方法:把原始数据文件拆分成若干个小文件;配置文件方法:配置文件用于让程序知道当前处理的这类原始数据文件要用哪一个切割器来切割,数据加载方法:完成数据的加载,采用桥模式的设计模式方法及模板库方法。本发明主要应用于数据处理。

Description

支持多文档格式的自适应数据加载方法
技术领域
本发明涉及数据科学处理、演算、归纳和加载,具体讲是涉及支持多文档格式的自适应数据加载方法。
背景技术
随着电子计算机的高速发展,企业的数据管理由纸质文件的管理到转变成了电子文件的管理。随着数据库的不断发展,企业的数据管理又由对文本文件的管理转变成了对数据库的管理。
最早的手工管理数据的缺点是显而易见的,不仅耗费大量的人力物力而且效率超低。转变成电子文件之后,虽然有了目录的索引,可以按照文件夹来一级一级的找下去,不用再去翻箱倒柜,但是其依然存在弊端,想要查找某个数据,需要查看大量的文件,效率依旧很低。
数据库的出现,给企业数据的管理带来了及其深远的影响,使企业的数据管理方式发生了质的变化。数据库管理是要是对大型的数据量进行处理的,其主要优点是存储简单,而且集中管理,容易备份恢复,而且还可以有相应的安全防护,与之相对应的还有强大的SQL结构化查询语言,便于编程操作。大大的提高了数据管理的效率。
尤其在海洋、航空、物流、供暖等领域有大量的数据都是由测量仪器自动生成的,并且数据量庞大。随着企业信息化的深入,企业中庞大的业务数据都需要被合理的组织和管理,并在此基础上开发众多企业应用软件。
这些数据具有以下特点:
由仪器自动生成
数据量非常庞大
数据格式固定
数据格式的种类繁多
基于以上特点目前有这方面需求的企业用户都是专门为自己的系统开发一套专用系统,开发期限长,开发花费大。而且目前仍没有一个可以通用的数据加载系统。而且目前需要将现有的大量数据按照一定的格式录入到数据库里的需求很多,因此,一个通用的数据加载平台对于企业数据的管理意义重大。
通用的数据加载平台可以根据不同种类的数据格式编写不同的配置文件,从而适应各种数据格式,可以将大量的数据文件加入的数据库中,从而节省了大量的人力,提高了效率。
发明内容
为克服现有技术的不足,本发明的目的在于,针对数据库中资料的组织形式与原始数据文件组织形式的异构问题,提供从原始数据到数据库的映射。并且当加入新的数据类型时用户可以动态添加新型切割器,最终将用户提供的数据文件加载到数据库中,以便于用户的查询管理,减少人力物力的损耗。
为达到上述目的本发明采用的技术方案是,支持多文档格式的自适应数据加载方法,包括:
文件切割方法:把原始数据文件拆分成若干个小文件,从而实现数据文件与数据库中表的一一对应,每一类原始数据文件需要对应一个文件切割器来将其切割成若干个与数据库中表一一对应的小文件;
配置文件方法:配置文件用于让程序知道当前处理的这类原始数据文件要用哪一个切割器来切割,另外,配置文件还要告知程序,切割后的小文件,哪一个文件对应哪一张表,以及此文件中的数据与表中字段的对应关系,以及各个表之间的父子关系。
数据加载方法:通过配置文件将切割后的小文件中的数据加载到数据库中对应表中,从而完成了数据的加载;
设计模式方法:是桥模式,具体指,数据按照领域划分,每个领域都对应的加载器,切割器按文件格式分类,每一个加载器负责加载一个领域文件夹,在每一个最底层的文件夹下存放的是数据文件和相关spec文件,spec文件指定对应数据文件所使用的切割器;
模板库方法,用于存放各种切割器的模板,当需要时,用户只需要根据新加入类型的数据的格式去选择相应的切割器模板,然后填写相应的参数,程序就会为用户自动生成一个新的切割器。
模板库方法,进一步细化为:
首先建立一个模板库,在模板库中存放各种切割器原型,并将其中变化的地方用变量表示,当用户调用模板库生成切割器时,只需按照配置文件中的内容将相应文件中的变量替换成相应的值即可,然后调用visualstudio 2005中的devenv.exe编译生成DLL文件,即用户所需的切割器。
本发明可带来以下技术效果:
使用本工具可以将企业的庞大的业务数据自动地加载到数据库中。而且即便是企业的业务数据格式变化或者增加也不需要在重新开发,而只需修改或添加相应的配置文件就可以解决,为企业的庞大的业务数据加载提供了便利。
附图说明
图1是系统层次结构图。
图2应用桥模式构成核心控制层的总体结构。
图3自动生成切割器的流程图。
图4自动生成切割器的程序流程图。
图5用桥模式实现切割器的配置。
图6是主程序调用切割器的程序流程图。
图7是数据加载模块流程图。
具体实施方式
本发明目的是将原始数据文件(文本文件)中的数据组织形式转化成关系型数据库的数据组织形式,即将文本文件的数据加载到数据库中。
整个系统分三层:用户层,功能层,数据层。如图一所示。
◆用户层:负责从用户得到指令,并反馈必要信息
◆功能层:负责整个处理过程的控制以及加载工作
◆数据层:负责数据的存储
为了实现本发明的目的,本发明主要采用了文件切割、配置文件、模板库以及设计模式等技术。具体如下:
第一,文件切割技术。由于原始数据文件中存储的数据有可能映射到数据库中的多张表,因此为了便于加载数据,要把原始数据文件拆分成若干个小文件,从而实现数据文件与数据库中表的一一对应。由于每一类原始数据文件的格式都不相同,因此每一类原始数据文件需要对应一个文件切割器来将其切割成若干个与数据库中表一一对应的小文件。
第二,配置文件技术。每一类原始数据文件都要有一个切割器来对应,配置文件要让程序知道当前处理的这类原始数据文件要用哪一个切割器来切割。另外,配置文件还要告知程序,切割后的小文件,哪一个文件对应哪一张表,以及此文件中的数据与表中字段的对应关系,以及各个表之间的父子关系等。
利用了配置文件技术实现了切割器与原始数据文件的对应、文件与表之间的对应、数据与表中字段之间的对应。从而解决了本工具的可配置性问题。
第三,数据加载技术。SQL*Loader是甲骨文公司提供的一个数据加载工具,其能通过配置文件将切割后的小文件中的数据加载到数据库中对应表中。从而完成了数据的加载。
第四,设计模式技术。本工具主要采用了桥模式。
系统中有两大变化点:
由于数据是按照领域划分的,每个领域的要求可能有所不同,故每个领域都应该有自己的加载器
由于原始数据文件的格式种类繁多,所以每类文件应该对应一个文件切割器。切割器负责将原始文件切割成规整的形式,作为sqlldr的输入。
针对这两大变化点,本系统设计了两个体系:
按业务分类的加载器体系
按文件格式分类的切割器体系
应用桥模式构成核心控制层的总体结构如图二所示。
每一个加载器负责加载一个领域文件夹,在数据文件夹下的loaders.spec用来指定每个领域所使用的加载器。
在每一个最底层的文件夹下存放的是数据文件和相关spec文件,这里spec文件制定了对应数据文件所使用的切割器。切割器的设计原则是,尽量做成可配置的形式,争取尽可能的提取不同格式文件的相同点。
第五,模板库技术。当有新类型的数据文件需要加入到数据库中时,现有的切割器中没有能够切割此类的,那么就需要加入新的切割器。为了让用户尽可能不用自己去编写程序代码,因此建立一个模板库,用于存放各种切割器的模板,当需要时,用户只需要根据新加入类型的数据的格式去选择相应的切割器模板,然后填写相应的参数,程序就会为用户自动生成一个新的切割器。
首先建立一个模板库,在模板库中存放各种切割器原型,并将其中变化的地方用变量表示,当用户调用模板库生成切割器时,只需按照配置文件中的内容将相应文件中的变量替换成相应的值即可,然后调用visualstudio 2005中的devenv.exe编译生成DLL文件,即用户所需的切割器。如果模板库中没有用户所需的切割器类型,则用户可以根据自己的需求用以及入口函数及其参数的定义,自己编写切割器。编写后也可以将其加入到模板库中,便于下次使用。
自动生成切割器(这里所用的切割器是.dll文件)的流程如图三所示。
有益效果
使用本工具可以将企业的庞大的业务数据自动地加载到数据库中。而且即便是企业的业务数据格式变化或者增加也不需要在重新开发,而只需修改或添加相应的配置文件就可以解决,为企业的庞大的业务数据加载提供了便利。
最佳实施方式
本工具采用visual studio 2005编写。本工具主要由三大模块组成。
一,自动生成切割器模块。本模块采用的是模板库的设计,即用户需要生成切割器时首先从模板库中选择相应的模板,然后用vs2005进行编译,从而生成切割器(.dll文件),用户再将其拷贝到相应的文件夹下就可以使用了。
流程如图四所示.
二,文件切割模块采用桥模式解决各数据格式的切割器配置问题,如图五所示。
主程序只管调用切割的命令即接口函数,而不需要知道具体怎样切割。
主程序调用切割器的程序流程如图六所示。
数据加载模块采用的是主程序调用oracle提供的sqlldr.exe加载工具来完成数据加载的最后一步,即把切割后的数据文件加载到数据库相应的表中。
数据加载模块流程如图七所示。

Claims (2)

1.一种支持多文档格式的自适应数据加载方法,其特征是,包括:
生成模板库,用于存放各种文件切割器的模板,并将其中变化的地方用变量表示,当需要时,用户只需要根据新加入类型的数据的格式去选择相应的文件切割器模板,然后填写相应的参数,编译生成DLL文件,即用户所需的文件切割器;
采用文件切割器切割文件:把原始数据文件拆分成若干个小文件,从而实现原始数据文件与数据库中表的一一对应,每一类原始数据文件需要对应一个文件切割器来将其切割成若干个与数据库中表一一对应的小文件;
生成配置文件:配置文件用于让程序知道当前处理的这类原始数据文件要用哪一个文件切割器来切割,另外,配置文件还要告知程序,切割后的小文件,哪一个文件对应哪一张表,以及此文件中的数据与表中字段的对应关系,以及各个表之间的父子关系;加载数据:通过配置文件将切割后的小文件中的数据加载到数据库中对应表中,从而完成了数据的加载,数据加载时采用设计模式;
所述设计模式是桥模式,具体指,数据按照领域划分,每个领域都有对应的加载器,文件切割器按文件格式分类;每一个加载器负责加载一个领域文件夹,在每一个最底层的文件夹下存放的是原始数据文件和相关spec文件,spec文件指定对应原始数据文件所使用的文件切割器。
2.根据权利要求1所述的一种支持多文档格式的自适应数据加载方法,其特征是,生成模板库进一步细化为:
首先建立一个模板库,在模板库中存放各种文件切割器原型,并将其中变化的地方用变量表示,当用户调用模板库生成文件切割器时,只需按照配置文件中的内容将相应文件中的变量替换成相应的值即可,然后调用visual studio 2005中的devenv.exe编译生成DLL文件,即用户所需的文件切割器。
CN2009103110604A 2009-12-08 2009-12-08 支持多文档格式的自适应数据加载方法 Expired - Fee Related CN101706828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009103110604A CN101706828B (zh) 2009-12-08 2009-12-08 支持多文档格式的自适应数据加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009103110604A CN101706828B (zh) 2009-12-08 2009-12-08 支持多文档格式的自适应数据加载方法

Publications (2)

Publication Number Publication Date
CN101706828A CN101706828A (zh) 2010-05-12
CN101706828B true CN101706828B (zh) 2012-07-04

Family

ID=42377053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009103110604A Expired - Fee Related CN101706828B (zh) 2009-12-08 2009-12-08 支持多文档格式的自适应数据加载方法

Country Status (1)

Country Link
CN (1) CN101706828B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156705A (zh) * 2011-01-26 2011-08-17 北京数码大方科技有限公司 Cad文件加载方法及装置
WO2013136347A2 (en) * 2012-03-16 2013-09-19 Omprakash Sringeri N Data management system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236637A (zh) * 2008-02-22 2008-08-06 金蝶软件(中国)有限公司 一种同时支持两种会计制度的财务系统及处理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101236637A (zh) * 2008-02-22 2008-08-06 金蝶软件(中国)有限公司 一种同时支持两种会计制度的财务系统及处理方法

Also Published As

Publication number Publication date
CN101706828A (zh) 2010-05-12

Similar Documents

Publication Publication Date Title
CN102722372B (zh) 一种通过分类配置自动生成代码的方法及系统
CN108153897B (zh) 一种plsql程序代码生成方法及系统
WO2017136236A1 (en) Document collaboration and consolidation tools and methods of use
US20060005124A1 (en) User interface for complex process implementation
CN102999537A (zh) 一种数据迁移系统和方法
US20120066210A1 (en) Interface to navigate and search a concept hierarchy
CN105447122A (zh) 一种基于多表关联可自主创建档案系统的实现方法
CN105224377A (zh) 一种通过元数据自动生成软件项目编码文件的方法及装置
CN104424265A (zh) 数字资源管理方法及系统
Lydia et al. Big data analysis using hadoop components like flume, mapreduce, pig and hive
Wang et al. A mapreducemerge-based data cube construction method
CN102663076A (zh) 文件数据处理方法
US9454592B2 (en) Managing, importing, and exporting teamspace templates and teamspaces in content repositories
CN105760520A (zh) 一种数据管控平台及架构
CN106682879A (zh) 一体化设计流程规范系统
CN104850559A (zh) 基于演示文档的幻灯片独立存储、检索与重组方法及设备
CN101706828B (zh) 支持多文档格式的自适应数据加载方法
JP2008117004A (ja) 配管部品の配置データと仕様データの流用装置およびその流用方法
CN104573002A (zh) 基于人、事、物分类建档的数据组织模型
CN103077214A (zh) 文件存储方法及装置
Badgujar et al. A comparative study: Business intelligence tools
Tvedt Experience transfer and risk analysis in digital well planning
KR102584032B1 (ko) 워크 플로우 기반의 시맨틱 cad 데이터 변환 방법 및 이를 위한 장치
Singh et al. Personalized information access in a wiki using structured tagging
CN108241624A (zh) 一种查询脚本的生成方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201126

Address after: 6 / F, building 1, digital building, 182 Yuelong South Road, Chongchuan District, Nantong City, Jiangsu Province 226000

Patentee after: JIAOSU CHAOSHU INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 06-01-45, block B, Baoneng entrepreneurship center, Xiyuzhuang street, Hongqiao District, Tianjin

Patentee before: Tianjin Kerun productivity promotion Co.,Ltd.

Effective date of registration: 20201126

Address after: 06-01-45, block B, Baoneng entrepreneurship center, Xiyuzhuang street, Hongqiao District, Tianjin

Patentee after: Tianjin Kerun productivity promotion Co.,Ltd.

Address before: 300192 Tianjin city Tianjin city Tianjin city Nankai District Wei Jin Road No. 72

Patentee before: Tianjin University

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120704

Termination date: 20201208