国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      支持多文檔格式的自適應(yīng)數(shù)據(jù)加載方法

      文檔序號(hào):6587779閱讀:245來(lái)源:國(guó)知局
      專利名稱:支持多文檔格式的自適應(yīng)數(shù)據(jù)加載方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)科學(xué)處理、演算、歸納和加載,具體講是涉及支持多文檔格式的自
      適應(yīng)數(shù)據(jù)加載方法。
      背景技術(shù)
      隨著電子計(jì)算機(jī)的高速發(fā)展,企業(yè)的數(shù)據(jù)管理由紙質(zhì)文件的管理到轉(zhuǎn)變成了電子文件的管理。隨著數(shù)據(jù)庫(kù)的不斷發(fā)展,企業(yè)的數(shù)據(jù)管理又由對(duì)文本文件的管理轉(zhuǎn)變成了對(duì)數(shù)據(jù)庫(kù)的管理。 最早的手工管理數(shù)據(jù)的缺點(diǎn)是顯而易見(jiàn)的,不僅耗費(fèi)大量的人力物力而且效率超低。轉(zhuǎn)變成電子文件之后,雖然有了目錄的索引,可以按照文件夾來(lái)一級(jí)一級(jí)的找下去,不用再去翻箱倒柜,但是其依然存在弊端,想要查找某個(gè)數(shù)據(jù),需要查看大量的文件,效率依舊很低。 數(shù)據(jù)庫(kù)的出現(xiàn),給企業(yè)數(shù)據(jù)的管理帶來(lái)了及其深遠(yuǎn)的影B向,使企業(yè)的數(shù)據(jù)管理方
      式發(fā)生了質(zhì)的變化。數(shù)據(jù)庫(kù)管理是要是對(duì)大型的數(shù)據(jù)量進(jìn)行處理的,其主要優(yōu)點(diǎn)是存儲(chǔ)簡(jiǎn)
      單,而且集中管理,容易備份恢復(fù),而且還可以有相應(yīng)的安全防護(hù),與之相對(duì)應(yīng)的還有強(qiáng)大
      的SQL結(jié)構(gòu)化查詢語(yǔ)言,便于編程操作。大大的提高了數(shù)據(jù)管理的效率。 尤其在海洋、航空、物流、供暖等領(lǐng)域有大量的數(shù)據(jù)都是由測(cè)量?jī)x器自動(dòng)生成的,
      并且數(shù)據(jù)量龐大。隨著企業(yè)信息化的深入,企業(yè)中龐大的業(yè)務(wù)數(shù)據(jù)都需要被合理的組織和
      管理,并在此基礎(chǔ)上開(kāi)發(fā)眾多企業(yè)應(yīng)用軟件。 這些數(shù)據(jù)具有以下特點(diǎn) 由儀器自動(dòng)生成 數(shù)據(jù)量非常龐大 數(shù)據(jù)格式固定 數(shù)據(jù)格式的種類繁多 基于以上特點(diǎn)目前有這方面需求的企業(yè)用戶都是專門為自己的系統(tǒng)開(kāi)發(fā)一套專用系統(tǒng),開(kāi)發(fā)期限長(zhǎng),開(kāi)發(fā)花費(fèi)大。而且目前仍沒(méi)有一個(gè)可以通用的數(shù)據(jù)加載系統(tǒng)。而且目前需要將現(xiàn)有的大量數(shù)據(jù)按照一定的格式錄入到數(shù)據(jù)庫(kù)里的需求很多,因此,一個(gè)通用的數(shù)據(jù)加載平臺(tái)對(duì)于企業(yè)數(shù)據(jù)的管理意義重大。 通用的數(shù)據(jù)加載平臺(tái)可以根據(jù)不同種類的數(shù)據(jù)格式編寫不同的配置文件,從而適應(yīng)各種數(shù)據(jù)格式,可以將大量的數(shù)據(jù)文件加入的數(shù)據(jù)庫(kù)中,從而節(jié)省了大量的人力,提高了效率。

      發(fā)明內(nèi)容
      為克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于,針對(duì)數(shù)據(jù)庫(kù)中資料的組織形式與原始數(shù)據(jù)文件組織形式的異構(gòu)問(wèn)題,提供從原始數(shù)據(jù)到數(shù)據(jù)庫(kù)的映射。并且當(dāng)加入新的數(shù)據(jù)類型時(shí)用戶可以動(dòng)態(tài)添加新型切割器,最終將用戶提供的數(shù)據(jù)文件加載到數(shù)據(jù)庫(kù)中,以便于用戶的查詢管理,減少人力物力的損耗。 為達(dá)到上述目的本發(fā)明采用的技術(shù)方案是,支持多文檔格式的自適應(yīng)數(shù)據(jù)加載方法,包括 文件切割方法把原始數(shù)據(jù)文件拆分成若干個(gè)小文件,從而實(shí)現(xiàn)數(shù)據(jù)文件與數(shù)據(jù)庫(kù)中表的一一對(duì)應(yīng),每一類原始數(shù)據(jù)文件需要對(duì)應(yīng)一個(gè)文件切割器來(lái)將其切割成若干個(gè)與數(shù)據(jù)庫(kù)中表一一對(duì)應(yīng)的小文件; 配置文件方法配置文件用于讓程序知道當(dāng)前處理的這類原始數(shù)據(jù)文件要用哪一
      個(gè)切割器來(lái)切割,另外,配置文件還要告知程序,切割后的小文件,哪一個(gè)文件對(duì)應(yīng)哪一張
      表,以及此文件中的數(shù)據(jù)與表中字段的對(duì)應(yīng)關(guān)系,以及各個(gè)表之間的父子關(guān)系。 數(shù)據(jù)加載方法通過(guò)配置文件將切割后的小文 件中的數(shù)據(jù)加載到數(shù)據(jù)庫(kù)中對(duì)應(yīng)表
      中,從而完成了數(shù)據(jù)的加載; 設(shè)計(jì)模式方法是橋模式,具體指,數(shù)據(jù)按照領(lǐng)域劃分,每個(gè)領(lǐng)域都對(duì)應(yīng)的加載器,切割器按文件格式分類,每一個(gè)加載器負(fù)責(zé)加載一個(gè)領(lǐng)域文件夾,在每一個(gè)最底層的文件夾下存放的是數(shù)據(jù)文件和相關(guān)spec文件,spec文件指定對(duì)應(yīng)數(shù)據(jù)文件所使用的切割器;
      模板庫(kù)方法,用于存放各種切割器的模板,當(dāng)需要時(shí),用戶只需要根據(jù)新加入類型的數(shù)據(jù)的格式去選擇相應(yīng)的切割器模板,然后填寫相應(yīng)的參數(shù),程序就會(huì)為用戶自動(dòng)生成一個(gè)新的切割器。 模板庫(kù)方法,進(jìn)一步細(xì)化為 首先建立一個(gè)模板庫(kù),在模板庫(kù)中存放各種切割器原型,并將其中變化的地方用
      變量表示,當(dāng)用戶調(diào)用模板庫(kù)生成切割器時(shí),只需按照配置文件中的內(nèi)容將相應(yīng)文件中的
      變量替換成相應(yīng)的值即可,然后調(diào)用visualstudio 2005中的devenv. exe編譯生成DLL文
      件,即用戶所需的切割器。 本發(fā)明可帶來(lái)以下技術(shù)效果 使用本工具可以將企業(yè)的龐大的業(yè)務(wù)數(shù)據(jù)自動(dòng)地加載到數(shù)據(jù)庫(kù)中。而且即便是企業(yè)的業(yè)務(wù)數(shù)據(jù)格式變化或者增加也不需要在重新開(kāi)發(fā),而只需修改或添加相應(yīng)的配置文件就可以解決,為企業(yè)的龐大的業(yè)務(wù)數(shù)據(jù)加載提供了便利。


      圖l是系統(tǒng)層次結(jié)構(gòu)圖。 圖2應(yīng)用橋模式構(gòu)成核心控制層的總體結(jié)構(gòu)。 圖3自動(dòng)生成切割器的流程圖。 圖4自動(dòng)生成切割器的程序流程圖。 圖5用橋模式實(shí)現(xiàn)切割器的配置。 圖6是主程序調(diào)用切割器的程序流程圖。 圖7是數(shù)據(jù)加載模塊流程圖。
      具體實(shí)施例方式
      本發(fā)明目的是將原始數(shù)據(jù)文件(文本文件)中的數(shù)據(jù)組織形式轉(zhuǎn)化成關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)組織形式,即將文本文件的數(shù)據(jù)加載到數(shù)據(jù)庫(kù)中。
      整個(gè)系統(tǒng)分三層用戶層,功能層,數(shù)據(jù)層。如圖一所示。
      令用戶層負(fù)責(zé)從用戶得到指令,并反饋必要信息
      令功能層負(fù)責(zé)整個(gè)處理過(guò)程的控制以及加載工作
      令數(shù)據(jù)層負(fù)責(zé)數(shù)據(jù)的存儲(chǔ) 為了實(shí)現(xiàn)本發(fā)明的目的,本發(fā)明主要采用了文件切割、配置文件、模板庫(kù)以及設(shè)計(jì)模式等技術(shù)。具體如下 第一,文件切割技術(shù)。由于原始數(shù)據(jù)文件中存儲(chǔ)的數(shù)據(jù)有可能映射到數(shù)據(jù)庫(kù)中的多張表,因此為了便于加載數(shù)據(jù),要把原始數(shù)據(jù)文件拆分成若干個(gè)小文件,從而實(shí)現(xiàn)數(shù)據(jù)文件與數(shù)據(jù)庫(kù)中表的一一對(duì)應(yīng)。由于每一類原始數(shù)據(jù)文件的格式都不相同,因此每一類原始數(shù)據(jù)文件需要對(duì)應(yīng)一個(gè)文件切割器來(lái)將其切割成若干個(gè)與數(shù)據(jù)庫(kù)中表一一對(duì)應(yīng)的小文件。
      第二,配置文件技術(shù)。每一類原始數(shù)據(jù)文件都要有一個(gè)切割器來(lái)對(duì)應(yīng),配置文件要讓程序知道當(dāng)前處理的這類原始數(shù)據(jù)文件要用哪一個(gè)切割器來(lái)切割。另外,配置文件還要告知程序,切割后的小文件,哪一個(gè)文件對(duì)應(yīng)哪一張表,以及此文件中的數(shù)據(jù)與表中字段的對(duì)應(yīng)關(guān)系,以及各個(gè)表之間的父子關(guān)系等。 利用了配置文件技術(shù)實(shí)現(xiàn)了切割器與原始數(shù)據(jù)文件的對(duì)應(yīng)、文件與表之間的對(duì)
      應(yīng)、數(shù)據(jù)與表中字段之間的對(duì)應(yīng)。從而解決了本工具的可配置性問(wèn)題。 第三,數(shù)據(jù)加載技術(shù)。SQL禮oader是甲骨文公司提供的一個(gè)數(shù)據(jù)加載工具,其能
      通過(guò)配置文件將切割后的小文件中的數(shù)據(jù)加載到數(shù)據(jù)庫(kù)中對(duì)應(yīng)表中。從而完成了數(shù)據(jù)的加載。 第四,設(shè)計(jì)模式技術(shù)。本工具主要采用了橋模式。
      系統(tǒng)中有兩大變化點(diǎn) 由于數(shù)據(jù)是按照領(lǐng)域劃分的,每個(gè)領(lǐng)域的要求可能有所不同,故每個(gè)領(lǐng)域都應(yīng)該有自己的加載器 由于原始數(shù)據(jù)文件的格式種類繁多,所以每類文件應(yīng)該對(duì)應(yīng)一個(gè)文件切割器。切割器負(fù)責(zé)將原始文件切割成規(guī)整的形式,作為sqlldr的輸入。
      針對(duì)這兩大變化點(diǎn),本系統(tǒng)設(shè)計(jì)了兩個(gè)體系
      按業(yè)務(wù)分類的加載器體系
      按文件格式分類的切割器體系 應(yīng)用橋模式構(gòu)成核心控制層的總體結(jié)構(gòu)如圖二所示。 每一個(gè)加載器負(fù)責(zé)加載一個(gè)領(lǐng)域文件夾,在數(shù)據(jù)文件夾下的loaders, spec用來(lái)指定每個(gè)領(lǐng)域所使用的加載器。 在每一個(gè)最底層的文件夾下存放的是數(shù)據(jù)文件和相關(guān)spec文件,這里spec文件制定了對(duì)應(yīng)數(shù)據(jù)文件所使用的切割器。切割器的設(shè)計(jì)原則是,盡量做成可配置的形式,爭(zhēng)取盡可能的提取不同格式文件的相同點(diǎn)。 第五,模板庫(kù)技術(shù)。當(dāng)有新類型的數(shù)據(jù)文件需要加入到數(shù)據(jù)庫(kù)中時(shí),現(xiàn)有的切割器中沒(méi)有能夠切割此類的,那么就需要加入新的切割器。為了讓用戶盡可能不用自己去編寫程序代碼,因此建立一個(gè)模板庫(kù),用于存放各種切割器的模板,當(dāng)需要時(shí),用戶只需要根據(jù)新加入類型的數(shù)據(jù)的格式去選擇相應(yīng)的切割器模板,然后填寫相應(yīng)的參數(shù),程序就會(huì)為用戶自動(dòng)生成一個(gè)新的切割器。
      首先建立一個(gè)模板庫(kù),在模板庫(kù)中存放各種切割器原型,并將其中變化的地方用變量表示,當(dāng)用戶調(diào)用模板庫(kù)生成切割器時(shí),只需按照配置文件中的內(nèi)容將相應(yīng)文件中的變量替換成相應(yīng)的值即可,然后調(diào)用visualstudio 2005中的devenv. exe編譯生成DLL文件,即用戶所需的切割器。如果模板庫(kù)中沒(méi)有用戶所需的切割器類型,則用戶可以根據(jù)自己的需求用以及入口函數(shù)及其參數(shù)的定義,自己編寫切割器。編寫后也可以將其加入到模板庫(kù)中,便于下次使用。
      自動(dòng)生成切割器(這里所用的切割器是.dll文件)的流程如圖三所示。
      有益效果 使用本工具可以將企業(yè)的龐大的業(yè)務(wù)數(shù)據(jù)自動(dòng)地加載到數(shù)據(jù)庫(kù)中。而且即便是企業(yè)的業(yè)務(wù)數(shù)據(jù)格式變化或者增加也不需要在重新開(kāi)發(fā),而只需修改或添加相應(yīng)的配置文件就可以解決,為企業(yè)的龐大的業(yè)務(wù)數(shù)據(jù)加載提供了便利。
      最佳實(shí)施方式 本工具采用visual studio 2005編寫。本工具主要由三大模塊組成。 —,自動(dòng)生成切割器模塊。本模塊采用的是模板庫(kù)的設(shè)計(jì),即用戶需要生成切割
      器時(shí)首先從模板庫(kù)中選擇相應(yīng)的模板,然后用vs2005進(jìn)行編譯,從而生成切割器(.dll文
      件),用戶再將其拷貝到相應(yīng)的文件夾下就可以使用了。 流程如圖四所示. 二,文件切割模塊采用橋模式解決各數(shù)據(jù)格式的切割器配置問(wèn)題,如圖五所示。
      主程序只管調(diào)用切割的命令即接口函數(shù),而不需要知道具體怎樣切割。
      主程序調(diào)用切割器的程序流程如圖六所示。 數(shù)據(jù)加載模塊采用的是主程序調(diào)用oracle提供的sqlldr. exe加載工具來(lái)完成數(shù)據(jù)加載的最后一步,即把切割后的數(shù)據(jù)文件加載到數(shù)據(jù)庫(kù)相應(yīng)的表中。
      數(shù)據(jù)加載模塊流程如圖七所示。
      權(quán)利要求
      一種支持多文檔格式的自適應(yīng)數(shù)據(jù)加載方法,其特征是,包括文件切割方法把原始數(shù)據(jù)文件拆分成若干個(gè)小文件,從而實(shí)現(xiàn)數(shù)據(jù)文件與數(shù)據(jù)庫(kù)中表的一一對(duì)應(yīng),每一類原始數(shù)據(jù)文件需要對(duì)應(yīng)一個(gè)文件切割器來(lái)將其切割成若干個(gè)與數(shù)據(jù)庫(kù)中表一一對(duì)應(yīng)的小文件;配置文件方法配置文件用于讓程序知道當(dāng)前處理的這類原始數(shù)據(jù)文件要用哪一個(gè)切割器來(lái)切割,另外,配置文件還要告知程序,切割后的小文件,哪一個(gè)文件對(duì)應(yīng)哪一張表,以及此文件中的數(shù)據(jù)與表中字段的對(duì)應(yīng)關(guān)系,以及各個(gè)表之間的父子關(guān)系;數(shù)據(jù)加載方法通過(guò)配置文件將切割后的小文件中的數(shù)據(jù)加載到數(shù)據(jù)庫(kù)中對(duì)應(yīng)表中,從而完成了數(shù)據(jù)的加載;設(shè)計(jì)模式方法是橋模式,具體指,數(shù)據(jù)按照領(lǐng)域劃分,每個(gè)領(lǐng)域都對(duì)應(yīng)的加載器,切割器按文件格式分類,每一個(gè)加載器負(fù)責(zé)加載一個(gè)領(lǐng)域文件夾,在每一個(gè)最底層的文件夾下存放的是數(shù)據(jù)文件和相關(guān)spec文件,spec文件指定對(duì)應(yīng)數(shù)據(jù)文件所使用的切割器;模板庫(kù)方法,用于存放各種切割器的模板,當(dāng)需要時(shí),用戶只需要根據(jù)新加入類型的數(shù)據(jù)的格式去選擇相應(yīng)的切割器模板,然后填寫相應(yīng)的參數(shù),程序就會(huì)為用戶自動(dòng)生成一個(gè)新的切割器。
      2. 根據(jù)權(quán)利要求l所述的一種支持多文檔格式的自適應(yīng)數(shù)據(jù)加載方法,其特征是,模板庫(kù)方法,進(jìn)一步細(xì)化為首先建立一個(gè)模板庫(kù),在模板庫(kù)中存放各種切割器原型,并將其中變化的地方用變量表示,當(dāng)用戶調(diào)用模板庫(kù)生成切割器時(shí),只需按照配置文件中的內(nèi)容將相應(yīng)文件中的變量替換成相應(yīng)的值即可,然后調(diào)用visualstudio 2005中的devenv. exe編譯生成DLL文件,即用戶所需的切割器。
      全文摘要
      本發(fā)明涉及數(shù)據(jù)科學(xué)處理、演算、歸納和加載,具體講是涉及支持多文檔格式的自適應(yīng)數(shù)據(jù)加載方法。針對(duì)數(shù)據(jù)庫(kù)中資料的組織形式與原始數(shù)據(jù)文件組織形式的異構(gòu)問(wèn)題,提供從原始數(shù)據(jù)到數(shù)據(jù)庫(kù)的映射。并且當(dāng)加入新的數(shù)據(jù)類型時(shí)用戶可以動(dòng)態(tài)添加新型切割器,最終將用戶提供的數(shù)據(jù)文件加載到數(shù)據(jù)庫(kù)中,以便于用戶的查詢管理,減少人力物力的損耗。為達(dá)到上述目的本發(fā)明采用的技術(shù)方案是,包括文件切割方法把原始數(shù)據(jù)文件拆分成若干個(gè)小文件;配置文件方法配置文件用于讓程序知道當(dāng)前處理的這類原始數(shù)據(jù)文件要用哪一個(gè)切割器來(lái)切割,數(shù)據(jù)加載方法完成數(shù)據(jù)的加載,采用橋模式的設(shè)計(jì)模式方法及模板庫(kù)方法。本發(fā)明主要應(yīng)用于數(shù)據(jù)處理。
      文檔編號(hào)G06F17/30GK101706828SQ200910311060
      公開(kāi)日2010年5月12日 申請(qǐng)日期2009年12月8日 優(yōu)先權(quán)日2009年12月8日
      發(fā)明者馮志勇, 孟憲森, 徐金娜, 陳世展, 陶春華 申請(qǐng)人:天津大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1