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