1 引言
進入到21世紀以來,我國的TDM(試驗數(shù)據(jù)管理)技術(shù)領(lǐng)域展現(xiàn)出蓬勃的生機,越來越多的行業(yè)和單位開始關(guān)注該技術(shù)和相關(guān)的解決方案,如航空、航天、兵器、船舶、汽車等行業(yè),尤其在航空領(lǐng)域的應(yīng)用更為廣泛,長期的設(shè)計分析、工程試驗已產(chǎn)生并積累了大量工程試驗數(shù)據(jù)。以往這些試驗數(shù)據(jù)多以數(shù)據(jù)文件或印刷文檔方式保存和管理的,對于缺乏結(jié)構(gòu)化的、格式不統(tǒng)一的文件資料,管理人員往往難以使用,更談不上對信息進行二次處理,同時隨著試驗工具的更新?lián)Q代和試驗手段的不斷改進,從試驗中獲取的數(shù)據(jù)模式也不斷發(fā)生變化,因而要求能夠統(tǒng)一管理這些模式相異、隨時間變化的數(shù)據(jù)。隨著工程試驗的不斷推進和研究的進一步深入,人們又提出了新的要求,要能夠從大量的歷史試驗數(shù)據(jù)中分析、挖掘出一些隱藏在數(shù)據(jù)中的規(guī)律,并利用這些信息和經(jīng)驗來指導(dǎo)進一步的工程設(shè)計和試驗。TDM系統(tǒng)正在成為企業(yè)提高試驗管理水平、縮短科研周期、降低科研經(jīng)費的一個重要手段。TDM的物理結(jié)構(gòu)如圖1所示。
圖1 TDM系統(tǒng)物理結(jié)構(gòu)圖
作為一個試驗數(shù)據(jù)綜合數(shù)字化管理平臺,TDM系統(tǒng)涉及很多復(fù)雜的功能和技術(shù),而數(shù)據(jù)導(dǎo)入功能就是其中之一。試驗數(shù)據(jù)導(dǎo)入功能就是從各種格式的海量試驗數(shù)據(jù)文件中快速提取目標數(shù)據(jù)、再轉(zhuǎn)換清洗后裝載到數(shù)據(jù)庫中。TDM系統(tǒng)目前試驗數(shù)據(jù)管理的需求狀況決定了數(shù)據(jù)導(dǎo)入功能的重要性。
(1)試驗數(shù)據(jù)格式多樣
目前國際和國內(nèi)的試驗數(shù)據(jù)采集設(shè)備多種多樣,并且還沒有形成統(tǒng)一的標準,而且許多客戶單位也大量采用非標設(shè)備,于是采集的試驗數(shù)據(jù)格式也就多種多樣。相對于商業(yè)或者其它領(lǐng)域的數(shù)據(jù),工程試驗數(shù)據(jù)有著其特別之處:
●數(shù)據(jù)信息組織分散,數(shù)據(jù)往往以數(shù)據(jù)文件、印刷文檔形式保存;
●數(shù)據(jù)類型復(fù)雜且模式變化;
●數(shù)據(jù)處理與管理緊密耦合;
●數(shù)據(jù)的專業(yè)性;
●數(shù)據(jù)的海量性:
這對TDM系統(tǒng)的導(dǎo)入功能帶來了很多的挑戰(zhàn)。
(2)試驗數(shù)據(jù)量很大
試驗作為產(chǎn)品研發(fā)生命周期的一項重要工作和內(nèi)容,其地位日漸增強,試驗產(chǎn)生的數(shù)據(jù)量也呈幾何數(shù)量級增長。TDM系統(tǒng)的導(dǎo)入性能也就成為一個關(guān)鍵指標。
數(shù)據(jù)導(dǎo)入功能具有以下特點:
同許多ETL工具一樣,TDM系統(tǒng)的導(dǎo)入功能包括extract(抽取)、transfer(轉(zhuǎn)換)、clean(清洗)和load(裝載)等幾個步驟。但是,試驗數(shù)據(jù)管理的特殊需求決定了它又具有自身的特點。除了前面提到的數(shù)據(jù)格式多樣、數(shù)據(jù)量大之外,單位保密要求對于產(chǎn)品架構(gòu)設(shè)計產(chǎn)生了很大的影響。許多單位,尤其是國防單位,都有嚴格的保密制度。在信息化系統(tǒng)的部署方面,普通用戶計算機一般是不允許直接訪問數(shù)據(jù)庫的,只有指定的服務(wù)器才有權(quán)限直接訪問數(shù)據(jù)庫。這就決定了傳統(tǒng)的C/S兩層結(jié)構(gòu)不能適應(yīng)客戶需求,B/S三層結(jié)構(gòu)則成為必須的選擇。
2 基于三層架構(gòu)的數(shù)據(jù)導(dǎo)入功能的設(shè)計與實現(xiàn)
系統(tǒng)分為三層結(jié)構(gòu):分別是用戶界面層(用戶層)、商業(yè)邏輯層(應(yīng)用層)和數(shù)據(jù)服務(wù)層(數(shù)據(jù)層),其中用戶層為數(shù)據(jù)導(dǎo)入客戶端工具。應(yīng)用層為基于J2EE平臺的應(yīng)用服務(wù)器和FTP服務(wù)器,J2EE服務(wù)器提供Web Service,包括Web Service和Java Beans等J2EE組件;FTP服務(wù)器提供對上傳文件的管理功能,并提供多線程的文件上載到數(shù)據(jù)層的功能。數(shù)據(jù)層包括數(shù)據(jù)庫服務(wù)器,其中數(shù)據(jù)庫服務(wù)器中包含系統(tǒng)的元數(shù)據(jù)庫、業(yè)務(wù)數(shù)據(jù)庫和相關(guān)的后臺進程。
用戶層:數(shù)據(jù)導(dǎo)入工具通過Web Service接口與系統(tǒng)應(yīng)用層提供的Web Service進行交互,建立相應(yīng)的映射規(guī)則,同時數(shù)據(jù)導(dǎo)入工具對用戶導(dǎo)入的非結(jié)構(gòu)化數(shù)據(jù)文件進行抽取和轉(zhuǎn)換,解析成格式化的文本文件,并把導(dǎo)入的數(shù)據(jù)規(guī)則及映射關(guān)系等信息保存下來,然后通過FTP把轉(zhuǎn)化后的文件上傳到應(yīng)用層,同時通過Web Service接口把數(shù)據(jù)校驗及關(guān)聯(lián)映射信息傳到應(yīng)用層。
應(yīng)用層:Web Service根據(jù)用戶層的請求信息在內(nèi)部調(diào)用相應(yīng)的Java Bean組件,Java Bean組件通過訪問數(shù)據(jù)庫服務(wù)器,對數(shù)據(jù)庫服務(wù)器中的元數(shù)據(jù)庫、后臺進程和業(yè)務(wù)數(shù)據(jù)庫進行操作。在三層結(jié)構(gòu)的數(shù)據(jù)導(dǎo)入工具中采用應(yīng)用層主要是為了保證系統(tǒng)的靈活性和數(shù)據(jù)的安全性,用戶層不能直接訪問數(shù)據(jù)庫,用戶層對數(shù)據(jù)的操作都要通過應(yīng)用層才能訪問到數(shù)據(jù)層。應(yīng)用層提供FTP服務(wù)器的功能主要是為了提高數(shù)據(jù)文件上傳的速度,也可以采用Socket編程的方式實現(xiàn)文件的上傳,同時FTP服務(wù)器提供文件下載功能,當客戶端的數(shù)據(jù)文件上傳成后可以系統(tǒng)自動把相應(yīng)的文件下載到數(shù)據(jù)層的數(shù)據(jù)庫服務(wù)器上。
數(shù)據(jù)層:元數(shù)據(jù)庫、業(yè)務(wù)數(shù)據(jù)庫和后臺進程通過應(yīng)用層Java Bean組件被訪問,當應(yīng)用層的數(shù)據(jù)文件接收成功后,通過Oracle數(shù)據(jù)庫的特性,采用建立外部表的方式對數(shù)據(jù)文件進行“導(dǎo)入”,然后對導(dǎo)入外部表的數(shù)據(jù)進行校驗和處理,并返回數(shù)據(jù)導(dǎo)入的提示信息通過應(yīng)用層到數(shù)據(jù)導(dǎo)入工具,然后再把外部表中的數(shù)據(jù)導(dǎo)入到實際表中,如圖2所示。
圖2 TDM系統(tǒng)導(dǎo)入三層架構(gòu)圖
3 通過數(shù)據(jù)庫外部表技術(shù)提升導(dǎo)入性能
為了提高數(shù)據(jù)導(dǎo)入的性能,數(shù)據(jù)導(dǎo)入方案采用先導(dǎo)入臨時表,然后進行校驗,最后再導(dǎo)入到真實表的方式。因為臨時表中無索引、數(shù)據(jù)量少,因此能顯著提高數(shù)據(jù)導(dǎo)入速度和性能。數(shù)據(jù)導(dǎo)入臨時表后,通過數(shù)據(jù)庫的功能實現(xiàn)對臨時表中的數(shù)據(jù)進行校驗和清除,同時產(chǎn)生數(shù)據(jù)導(dǎo)入日志信息,先導(dǎo)入后校驗的方式可以進一步提高數(shù)據(jù)導(dǎo)入的速度。數(shù)據(jù)導(dǎo)入的最后一步才是把臨時表中的數(shù)據(jù)導(dǎo)入到真實表中,為了提高性能,可以在晚間數(shù)據(jù)庫訪問量少的時候系統(tǒng)自動實現(xiàn)數(shù)據(jù)從臨時表導(dǎo)入到真實表,同時清空臨時表中數(shù)據(jù)。結(jié)合Oracle數(shù)據(jù)庫系統(tǒng)提供的特性,可以利用建立外部表的方法來實現(xiàn)臨時表的功能,Oracle數(shù)據(jù)庫可以把一個普通的文本格式文件看作是Oracle數(shù)據(jù)庫的外部表,外部表可以像普通表一樣進行select操作,可以建視圖,可以與其他進行連接等,但不能對其進行DML操作,即該表是只讀的。外部表為Oracle用戶提供了巨大的好處。通過使用外部表,Warehouse Builder開發(fā)人員不再需要創(chuàng)建平面文件臨時表。這樣,外部表就減少了加載平面文件數(shù)據(jù)的處理時間,而且需要的額外存儲空間也比平面文件臨時表少。外部表可以與關(guān)系表和其他外部表連接,從而在平面文件和關(guān)系表之間實現(xiàn)了異類連接。此外由于消除了額外的步驟,因此PL/SQL轉(zhuǎn)換與SQL加載程序轉(zhuǎn)換相比更加靈活,從而在大多數(shù)情況下將獲得巨大的性能提升。
圖3 外部表映射邏輯
4 結(jié)束語
TDM系統(tǒng)的導(dǎo)入功能是其核心功能之一,一些通用ETL技術(shù)都適用于該功能。本文僅從試驗數(shù)據(jù)管理需求的角度提出了數(shù)據(jù)導(dǎo)入技術(shù)的實現(xiàn)方法,并提升了數(shù)據(jù)導(dǎo)入性能。但TDM技術(shù)尚未成熟,其中的技術(shù)實現(xiàn)方式則有待于進一步探討。
TDM是PLM的重要環(huán)節(jié),是對PDM重要補充。通過對技術(shù)數(shù)據(jù)進行有效的管理和使用,企業(yè)可以更加完整準確地了解產(chǎn)品相關(guān)信息,為研發(fā)制造和相關(guān)業(yè)務(wù)決策提供可靠的數(shù)據(jù)支持。另一方面,由于技術(shù)數(shù)據(jù)的復(fù)雜特點,決定了TDM也是一項復(fù)雜的系統(tǒng)工程,需要解決諸多關(guān)鍵技術(shù),是簡單的基于數(shù)據(jù)庫的應(yīng)用系統(tǒng)所無法勝任的,必須基于成熟的TDM軟件來實現(xiàn)。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標題:產(chǎn)品技術(shù)數(shù)據(jù)管理TDM導(dǎo)入功能的設(shè)計與實現(xiàn)
本文網(wǎng)址:http://m.hanmeixuan.com/html/solutions/14019312250.html