資料倉儲和後設資料

miguelmin發表於2009-08-28
1. 前言
  在事務處理系統中的資料,主要用於記錄和查詢業務情況。隨著資料倉儲(DW)技術的不斷成熟,企業的資料逐漸變成了決策的主要依據。資料倉儲是一種面向決策主題、由多資料來源整合、擁有當前及歷史總結資料、以讀為主的資料庫系統,其目的是支援決策。資料倉儲要根據決策的需要收集來自企業內外的有關資料,並加以適當的組織處理,使其能有效地為決策過程提供資訊。資料倉儲中的資料是從許多業務處理系統中抽取、轉換而來,對於這樣一個複雜的企業資料環境,如何以安全、高效的方式來對它們進行管理和訪問就變得尤為重要。解決這一問題的關鍵是對後設資料進行科學有效的管理。後設資料是關於資料、操縱資料的程式和應用程式的結構和意義的描述資訊,其主要目標是提供資料資源的全面指南。後設資料不僅定義了資料倉儲中資料的模式、來源以及抽取和轉換規則等,而且整個資料倉儲系統的執行都是基於後設資料的,是後設資料把資料倉儲系統中的各個鬆散的元件聯絡起來,組成了一個有機的整體。
  本文首先介紹了後設資料的定義、作用和意義;然後討論了資料倉儲系統中後設資料管理的現狀和關於後設資料的標準化情況;最後提出了建立後設資料管理系統的步驟和實施方法。[@more@]

  
  2. 後設資料
  2.1 後設資料的概念
  按照傳統的定義,後設資料(Metadata)是關於資料的資料。在資料倉儲系統中,後設資料可以幫助資料倉儲管理員和資料倉儲的開發人員非常方便地找到他們所關心的資料;後設資料是描述資料倉儲內資料的結構和建立方法的資料,可將其按用途的不同分為兩類:技術後設資料(Technical Metadata)和業務後設資料(Business Metadata)。
  技術後設資料是儲存關於資料倉儲系統技術細節的資料,是用於開發和管理資料倉儲使用的資料,它主要包括以下資訊:
  資料倉儲結構的描述,包括倉庫模式、檢視、維、層次結構和匯出資料的定義,以及資料集市的位置和內容;
  業務系統、資料倉儲和資料集市的體系結構和模式;
  彙總用的演算法,包括度量和維定義演算法,資料粒度、主題領域、聚集、彙總、預定義的查詢與報告;
  由操作環境到資料倉儲環境的對映,包括源資料和它們的內容、資料分割、資料提取、清理、轉換規則和資料重新整理規則、安全(使用者授權和存取控制)。
  業務後設資料從業務角度描述了資料倉儲中的資料,它提供了介於使用者和實際系統之間的語義層,使得不懂計算機技術的業務人員也能夠“讀懂”資料倉儲中的資料。業務後設資料主要包括以下資訊:使用者的業務術語所表達的資料模型、物件名和屬性名;訪問資料的原則和資料的來源;系統所提供的分析方法以及公式和報表的資訊;具體包括以下資訊:
  企業概念模型:這是業務後設資料所應提供的重要的資訊,它表示企業資料模型的高層資訊、整個企業的業務概念和相互關係。以這個企業模型為基礎,不懂資料庫技術和SQL語句的業務人員對資料倉儲中的資料也能做到心中有數。
  多維資料模型:這是企業概念模型的重要組成部分,它告訴業務分析人員在資料集市當中有哪些維、維的類別、資料立方體以及資料集市中的聚合規則。這裡的資料立方體表示某主題領域業務事實表和維表的多維組織形式。
  業務概念模型和物理資料之間的依賴:以上提到的業務後設資料只是表示出了資料的業務檢視,這些業務檢視與實際的資料倉儲或資料庫、多維資料庫中的表、欄位、維、層次等之間的對應關係也應該在後設資料知識庫中有所體現。
  
  2.2 後設資料的作用
  在資料倉儲系統中,後設資料機制主要支援以下五類系統管理功能:(1)描述哪些資料在資料倉儲中;(2)定義要進入資料倉儲中的資料和從資料倉儲中產生的資料;(3)記錄根據業務事件發生而隨之進行的資料抽取工作時間安排;(4)記錄並檢測系統資料一致性的要求和執行情況;(5)衡量資料質量。
  與其說資料倉儲是軟體開發專案,還不如說是系統整合專案[1],因為它的主要工作是把所需的資料倉儲工具整合在一起,完成資料的抽取、轉換和載入,OLAP分析和資料探勘等。如圖1所示,它的典型結構由操作環境層、資料倉儲層和業務層等組成。
  
  其中,第一層(操作環境層)是指整個企業內有關業務的OLTP系統和一些外部資料來源;第二層是透過把第一層的相關資料抽取到一箇中心區而組成的資料倉儲層;第三層是為了完成對業務資料的分析而由各種工具組成的業務層。圖中左邊的部分是後設資料管理,它起到了承上啟下的作用,具體體現在以下幾個方面:
   便於整合
   提高系統的靈活性
   保證資料的質量
   幫助使用者理解資料的意義
  
  3. 資料倉儲後設資料管理現狀
  後設資料管理的主要任務有兩個方面:一是負責儲存和維護後設資料庫中的後設資料;二是負責資料倉儲建模工具、資料獲取工具、前端工具等之間的訊息傳遞,協調各模組和工具之間的工作。
  由以上幾節我們瞭解到後設資料幾乎可以被稱為是資料倉儲乃至商業智慧(BI)系統的“靈魂”,正是由於後設資料在整個資料倉儲生命週期中有著重要的地位,各個廠商的資料倉儲解決方案都提到了關於對後設資料的管理。但遺憾的是對於後設資料的管理,各個解決方案都沒有明確提出一個完整的管理模式;它們提供的僅僅是對特定的區域性後設資料的管理。當前市場上與後設資料有關的主要工具見圖2。
  
  如圖2所示,與後設資料相關的資料倉儲工具大致可分為四類:
  1. 資料抽取工具:把業務系統中的資料抽取、轉換、整合到資料倉儲中,如Ardent的DataStage、CA(原Platinum)的Decision Base和ETI的Extract等。這些工具僅提供了技術後設資料,幾乎沒有提供對業務後設資料的支援。
  2. 前端展現工具:包括OLAP分析、報表和商業智慧工具等,如MicroStrategy的DSS Agent、Cognos的PowerPlay、Business Objects的BO,以及Brio等。它們透過把關係表對映成與業務相關的事實表和維表來支援多維業務檢視,進而對資料倉儲中的資料進行多維分析。這些工具都提供了業務後設資料與技術後設資料相對應的語義層。
  3. 建模工具:為非技術人員準備的業務建模工具,這些工具可以提供更高層的與特定業務相關的語義。如CA的ERwin、Sysbase的PowerDesigner以及Rational的Rose等。
  4. 後設資料儲存工具:後設資料通常儲存在專用的資料庫中,該資料庫就如同一個“黑盒子”,外部無法知道這些工具所用到和產生的後設資料是如何儲存的。還有一類被稱為後設資料知識庫(Metadata Repository)的工具,它們獨立於其它工具,為後設資料提供一個集中的儲存空間。包括微軟的Repository,CA的Repository,Ardent的MetaStage和Sybase的WCC等。
  
  4. 後設資料管理的標準化
  沒有規矩不成方圓。後設資料管理之所以困難,一個很重要的原因就是缺乏統一的標準。在這種情況下,各公司的後設資料管理解決方案各不相同。近幾年,隨著後設資料聯盟MDC(Meta Data Coalition)的開放資訊模型OIM(Open Information Model)和OMG組織的公共倉庫模型CWM(Common Warehouse Model)標準的逐漸完善,以及MDC和OMG組織的合併,為資料倉儲廠商提供了統一的標準,從而為後設資料管理鋪平了道路。
  從後設資料的發展歷史不難看出,後設資料管理主要有兩種方法:
  (1) 對於相對簡單的環境,按照通用的後設資料管理標準建立一個集中式的後設資料知識庫。
  (2) 對於比較複雜的環境,分別建立各部分的後設資料管理系統,形成分散式後設資料知識庫,然後,透過建立標準的後設資料交換格式,實現後設資料的整合管理。
  下面我們分別介紹資料倉儲領域中兩個最主要的後設資料標準:MDC的OIM標準和OMG的CWM標準。
  
  4.1 MDC的OIM儲存模型
  MDC成立於1995年,是一個致力於建立與廠商無關的、不依賴於具體技術的企業後設資料管理標準的非贏利技術聯盟,該聯盟有150多個會員,其中包括微軟和IBM等著名軟體廠商。1999年7月MDC接受了微軟的建議,將OIM作為後設資料標準。
  OIM的目的是透過公共的後設資料資訊來支援不同工具和系統之間資料的共享和重用。它涉及了資訊系統(從設計到釋出)的各個階段,透過對後設資料型別的標準描述來達到工具和知識庫之間的資料共享。OIM所宣告的後設資料型別都採用統一建模語言UML(Universal Modeling Language)進行描述,並被組織成易於使用、易於擴充套件的多個主題範圍(Subject Areas),這些主題範圍包括:
  分析與設計(Analysis and Design):主要用於軟體分析、設計和建模。該主題範圍又進一步劃分為:UML包(Package)、UML擴充套件包、通用元素(Generic Elements)包、公共資料型別(Common Data Types)包和實體關係建模(Entity Relationship Modeling)包等。
  物件與元件(Object and Component):涉及物件導向開發技術的方方面面。該主題範圍只包含元件描述建模(Component Description Modeling)包。
  資料庫與資料倉儲(Database and Warehousing):為資料庫模式管理、複用和建立資料倉儲提供後設資料概念支援。該主題範圍進一步劃分為:關聯式資料庫模式(Relational Database Schema)包、OLAP模式(OLAP Schema)包、資料轉換(Data Transformations)包、面向記錄的資料庫模式(Record-Oriented Database Schema)包、XML模式(XML Schema)包和報表定義(Report Definitions)包等。
  業務工程(Business Engineering):為企業運作提供一個藍圖。該主題範圍進一步劃分為:業務目標(Business Goal)包、組織元素(Organizational Elements)包、業務規則(Business Rules)包、商業流程(Business Processes)包等。
  知識管理(Knowledge Management):涉及企業的資訊結構。該主題範圍進一步劃分為:知識描述(Knowledge Descriptions)包和語義定義(Semantic Definitions)包。
  上述主題範圍中的包都是採用UML定義的,可以說UML語言是整個OIM標準的基礎。雖然OIM標準並不是專門針對資料倉儲的,但資料倉儲是它的主要應用領域之一。目前市場上基於該標準的後設資料管理工具已經比較成熟,例如微軟的Repositry和CA的Repositry均採用了OIM標準。
  
  4.2 OMG組織的CWM模型
  OMG是一個擁有500多會員的國際標準化組織,著名的CORBA標準即出自該組織。公共倉庫元模型(Common Warehouse Metamodel)的主要目的是在異構環境下,幫助不同的資料倉儲工具、平臺和後設資料知識庫進行後設資料交換。2001年3月,OMG頒佈了CWM 1.0標準。CWM模型既包括後設資料儲存,也包括後設資料交換,它是基於以下三個工業標準制定的:
  (1) UML:它對CWM模型進行建模。
  (2) MOF(元物件設施):它是OMG元模型和後設資料的儲存標準,提供在異構環境下對後設資料知識庫的訪問介面。
  (3) XMI(XML後設資料交換):它可以使後設資料以XML檔案流的方式進行交換。
  OMG後設資料知識庫體系結構如圖3所示。
  
  CWM為資料倉儲和商業智慧(BI)工具之間共享後設資料,制定了一整套關於語法和語義的規範。它主要包含以下四個方面的規範:
  (1) CWM元模型(Metamodel):描述資料倉儲系統的模型;
  (2) CWM XML:CWM元模型的XML表示;
  (3) CWM DTD:DW/BI共享後設資料的交換格式
  (4) CWM IDL:DW/BI共享後設資料的應用程式訪問介面(API)
  下面重點討論CWM元模型的組成,它與OIM規範一樣,也是由很多包組成的。組成CWM元模型的包結構如圖4所示。
  
  (1) 元模型(MetaModel)包:構造和描述其它CWM包中的元模型類的基礎。它是UML的一個子集,由以下四個子包組成:
  a) 核心(Core)包:它的類和關聯是該模型的核心,其它所有的包都以它為基礎。
  b) 行為(Behavioral)包:包括描述CWM物件行為的類與關聯,並且它為描述所定義的行為提供了基礎。
  c) 關係(Relationships)包:包括描述CWM物件之間關係的類與關聯。
  d) 例項(Instance)包:包括表示CWM分類器(Classfier)的類與關聯。
  (2) 基礎包(Foundation):它包括表示CWM概念和結構的模型元素,這些模型元素又可被其他CWM包所共享,它由以下六個子包組成:
  a) 業務資訊(Business Information)包:包括表示模型元素業務資訊的類與關聯。
  b) 資料型別(Data Types)包:包括表示建模者可以用來建立所需資料型別的結構的類與關聯。
  c) 表示式(Expressions)包:包括表示表示式樹的類與關聯。
  d) 關鍵字和索引(Keys and Indexes)包:包括表示鍵和索引的類與關聯。
  e) 軟體釋出(Software Deployment)包:包括軟體如何在資料倉儲中釋出的類與關聯。
  f) 型別對映(Type Mapping)包:包括表示不同系統之間資料型別對映的類與關聯。
  (3) 資源包(Resource):用於描述資料資源的包,它包括以下四個子包:
  a) 關係(Relational)包:包括表示關係型資料資源的後設資料的類與關聯。
  b) 記錄(Record)包:包括表示記錄型資料資源的後設資料的類與關聯。
  c) 多維(Multidimensional)包:包括表示多維資料資源的後設資料的類與關聯。
  d) XML包:包括表示XML資料資源的後設資料的類與關聯。
  (4) 分析(Analysis)包:它由以下五個子包組成:
  a) 轉換(Transformation)包:包括表示資料抽取和轉換工具的後設資料的類與關聯。
  b) OLAP包:包括表示OLAP工具的後設資料的類與關聯。
  c) 資料探勘(Data Mining)包:包括表示資料探勘工具的後設資料的類與關聯。
  d) 資訊視覺化(Information Visualization)包:包括表示資訊視覺化工具的後設資料的類與關聯。
  e) 業務術語(Business Nomenclature)包:包括表示分類業務的後設資料的類與關聯。
  (5) 管理(Management)包:用於描述資料倉儲管理的包,它包括以下兩個子包:
  a) 倉庫過程(Warehouse Process)包:包括表示倉庫過程的後設資料的類與關聯。
  b) 倉庫操作(Warehouse Operation)包:包括表示倉庫操作結果的後設資料的類與關聯。
  在資料抽取過程中,資料從各個業務系統中被統一轉換儲存到中央資料倉儲中。CWM中的轉換模型定義了資料在源和目的之間移動的過程,其中不僅包括源和目標之間的引數,還包括轉換中的業務邏輯。這些業務邏輯可能包括一些商業規則、類庫甚至是使用者指令碼。資料倉儲如果有一個規範的轉換模型將給工具軟體廠商和專業服務提供商帶來極大的好處,例如,按照統一的規範廠商可以設計一個通用的模型從標準ERP包中抽取資料。工具廠商甚至可以隨軟體提供成熟的模型,整合商也可以將一個模型應用到多個專案中。
  終端使用者同樣也能從CWM中受益,在使用商業智慧分析軟體進行多維分析的時候,使用者往往會對資料的含義和來源產生疑問。CWM能夠提供這些資訊,使用者可以清楚地看到資料來自哪個系統,並且是如何組成的。
  4.3 CWM與OIM之間的關係
  上兩節分別介紹了與資料倉儲相關的兩個主要標準,CWM實際上是專門為資料倉儲後設資料而制定的一套標準,而OIM並不是針對資料倉儲後設資料的。OIM所關注的後設資料的範圍比CWM要廣,CWM只限定於資料倉儲領域,而OIM模型包括有:分析與設計模型、物件與元件、資料庫與資料倉儲、商業工程、知識管理等五個領域。OIM與CWM在建模語言的選擇(都選擇UML當做自己的描述語言)、資料庫模型的支援、OLAP分析模型的支援、資料轉換模型的支援方面都比較一致;但是OIM並不是基於元物件設施(MOF)的,這意味著用OIM所描述的後設資料需要透過其它的介面才能訪問,而CWM所描述的後設資料可以透過CORBA IDL來訪問;在資料交換方面,OIM必須透過特定的轉換形成XML檔案來交換後設資料,而CWM可以用XMI來進行交換。儘管如此,由於OMG與MDC兩個組織的合併,CWM也會與OIM相互相容以保護廠商已有的投資。
  需要說明的是,MDC與OMG組織已經合併,今後所有的工具都將遵循統一的CWM標準,不過支援CWM的工具才剛剛出現,而支援OIM標準的工具已經相對成熟。
  
  5. 後設資料管理的相關研究工作
  目前後設資料的研究集中在:資料和資料庫管理[11,12,13]、後設資料模型[14,15,16]、資料整合[17,18]、後設資料工具[19]。在各研究領域中都存在一些問題。
  在資料倉儲的研究課題當中,有許多是針對後設資料的研究。文獻〔5〕描述了一個在資料倉儲環境中,基於微軟的Repositry的、後設資料驅動的資料轉換方法,它包含了技術後設資料與業務後設資料;文獻〔6〕中描述了一個基於後設資料的資料倉儲安全的解決方法,它只限定在技術後設資料級別;更有名的一個研究專案是資料倉儲質量專案(Data Warehouse Quality),這個專案的核心是透過後設資料模型來衡量整個資料倉儲中的資料質量。它是基於一個演繹資料庫CONCEPTBASE的,並且使用該資料庫特定的邏輯語言進行描述,目前該專案距離實用的階段還比較遠。
  
  6. 後設資料管理系統的設計與實現
  6.1 設計原則
  資料倉儲環境下的後設資料管理系統的建設是十分困難的。但是在實際專案的實施過程中,這個環節又是非常重要的。當前情況下,OMG組織的CWM標準將會成為資料倉儲後設資料領域事實上的標準,在後設資料管理系統的建立過程中應儘量參考這個標準,這樣使系統的可擴充套件性增強。可是在與之相關的工具成熟之前,我們完全可以採用OIM中的元模型(因CWM對OIM是相容的)以及支援它的後設資料管理工具進行後設資料管理系統的建設,而且後設資料所包含的範圍很廣。我們在建立後設資料管理系統的時候,絕對不能盲目追求大而全,要堅持目標驅動的原則,在實施的時候要採取增量式、漸進式的建設原則。具體的建設步驟如下:
  
  (1) 如果是在建設資料倉儲系統的初期,那麼首先要確定系統的邊界範圍,系統範圍確定的原則是首先保障重點,不求大,只求精。
  
  (2) 系統邊界確定以後,把現有系統的後設資料整理出來,加入語義層的對應。然後存到一個資料庫中,這個資料庫可以採用專用的後設資料知識庫,也可以採用一般的關係型資料庫。
  (3) 確定後設資料管理的範圍。比如,我們只想透過後設資料來管理資料倉儲中資料的轉換過程,以及有關資料的抽取路線,以使資料倉儲開發和使用人員明白倉庫中資料的整個歷史過程。
  (4) 確定後設資料管理的工具,採用一定的工具可以完成相應的工作。當前相關工具有微軟的Repositry,它帶有相應的程式設計介面,可以藉助於它來完成元模型出入庫的功能;與之相似的還有Platinum的OEE;另外還有Sybase的Wcc,它可以透過MDC以前的一個老標準――MDIS來整合抽取工具與轉換工具,在一個視窗中就可以表示資料抽取與轉換,並且可以把語義層以MDIS的格式匯出到一個前端工具當中(比如Cognos的Improptu)。
  
  6.3 後設資料儲存模式
  後設資料存在的狀況是有差異的,系統層後設資料應隨資料庫存在,且由建立在分散式網路資料庫管理系統統一管理;資料集層次後設資料可以隨資料庫存在也可隨資料集存在;資料特徵層次的後設資料只能隨資料集存在。
  
  簡單地,後設資料存貯有兩種形式(圖5):其一是以資料集為基礎,即每一個資料集有一個對應的後設資料文件,每一個後設資料檔案中包含對相應資料集的後設資料內容。另一種存在方式是以資料庫為基礎(即後設資料庫),給一個資料庫有一個後設資料檔案,該檔案為一表格資料,它由若干項組成,每一項表示後設資料的一個要素,其記錄為每一個資料集的後設資料內容。
  
  兩種存貯方式各有優缺點,對於第一種儲存模式,其好處是呼叫資料時其相應的後設資料也作為一個獨立的檔案被傳輸,相對資料庫有較強的獨立性,在對後設資料進行檢索時可以利用資料庫的功能實現,也可以將後設資料檔案調到其它資料庫系統中進行操作;其問題是:每一資料集都有一個後設資料文件,那麼在規模巨大的資料庫中則會有大量的後設資料檔案,管理上極為不便。在第二中存在模式中,由於庫中只有一個後設資料檔案,管理極為方便,新增或刪除資料集只把該檔案中新增或刪除相應的記錄項即可;但如果想獲取某資料集的後設資料時,實際得到的只是關係表格資料的一個記錄,則要求資料使用者使用的系統中可以接受這種特定形式的資料。因此推薦使用後設資料庫的方式。
  
  後設資料庫是用於儲存後設資料的地方,後設資料庫最好選用主流的關聯式資料庫管理系統,支援CWM標準。一個後設資料庫還包含那些用於操作和查詢後設資料的機制;建立後設資料庫的主要好處是提供了統一的關鍵資料結構和業務規則,易於將企業內部的多個資料集市有機的結合起來;特別是,現在一些客戶傾向建立多個資料集市,而不是一個龐大無比的資料倉儲。可以考慮在建立資料倉儲(或資料集市)之前,先建立一個用於描述資料的、用於應用整合的後設資料庫,做好資料倉儲實施的初期支援工作,對後續開發和維護有很大的幫助。
  在擁有不同廠商、不同功能和不同後設資料庫的環境下,要實現兩種產品之間的後設資料同步是非常富有挑戰性的工作。因為必須從一種產品中獲得足夠詳細的後設資料,將其對映到另一種產品中,再指出兩者意義或編碼的差別;通常系統有數百、數千個後設資料,必須對每個後設資料重複這一過程。
  
  在整個資料倉儲環境中,後設資料管理工具可以從各個資料倉儲元件中收集後設資料,儲存到後設資料庫中,然後向業務使用者傳遞和展示正確的資訊。採集、整合和描述後設資料可以擴充套件到十分廣泛的範圍,可以在設計和建模的過程中,可以在資料轉換、清洗和過濾的過程中,也可以在資料移植的過程中;可以從資料庫/資料儲存軟體,和前端展示工具中得到後設資料。
  後設資料庫為整個企業的寶貴資訊提供了詳細的記錄,儲存資料儲存位置和商業含義、生成和維護資料的主體、資料驅動的應用處理、與其它資料的關係以及資料的轉換過程等。後設資料庫保證了資料倉儲資料的一致性和準確性,為企業進行資料質量管理提供資料依據。
  另外,後設資料庫還支援強大的查詢和報表生成工具,使用者使用報表工具可以查詢後設資料庫,從後設資料庫獲得重要的決策支援資訊。
  
  6.2 後設資料管理模式
  後設資料管理涉及到各個層次的後設資料,管理的內容包括後設資料的獲取、後設資料的更新、使用和麵嚮應用專案的後設資料使用處理等多個方面。後設資料的管理涉及資料庫、資料處理軟體、資料使用系統、面向應用的資料分析等各個環節。下面給出了一種普通意義的以後設資料資訊系統為基礎的後設資料管理模式(圖6):
  
  通常意義上的後設資料管理是指後設資料透過各種途徑形成後,對其內容的新增、刪除、更新等涉及內容改變的操作和後設資料內容檢索、查詢、放置、組織等常規性後設資料操作,從這種意義上後設資料的管理可以透過兩種方式實現,即系統管理模式和使用者管理模式。系統管理模式是面向資料庫的,由資料庫管理系統專業人員完成,資料使用者只有使用權,沒有後設資料的操作權,資料應用專案中新生成的資料集的後設資料也有應用系統傳遞給資料庫管理員,然後由資料庫管理員統一管理。這種方式中,資料在處理過程中形成的動態後設資料很難及時記錄下來。另一種管理方式是使用者管理模式,它是面向應用專案的,即允許某些資料使用者在資料應用後設資料的變動資訊直接反饋給後設資料庫,這樣則能保證後設資料的動態更新和新生成資料集後設資料的及時捕獲及寫入後設資料檔案。但這種模式中資料使用者的許可權要適當的控制,以避免資料庫的破壞。通常對後設資料的管理是採用兩者結合的模式。
  總之,建立後設資料管理系統一定要堅持關注標準,又不被標準所束縛的原則,建立符合自身目標的後設資料管理系統。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16723161/viewspace-1026465/,如需轉載,請註明出處,否則將追究法律責任。

相關文章