摘要:基于SOA的數(shù)據(jù)集成是一種非常有效的信息處理技術(shù)。其目的是為了解決在信息化的深層次發(fā)展過程中,企業(yè)出現(xiàn)大量的新建軟件系統(tǒng),數(shù)據(jù)源的分散,異構(gòu)數(shù)據(jù)庫訪問困難,數(shù)據(jù)接口變得復(fù)雜起來的問題。通過采用SOA的架構(gòu)風(fēng)格對(duì)企業(yè)數(shù)據(jù)集成做一些探討和研究,并提出了基于SOA架構(gòu)風(fēng)格的數(shù)據(jù)集成模型框架。
關(guān)鍵詞:數(shù)據(jù)集成;信息系統(tǒng)集成;SOA
中圖分類號(hào):TP311.13 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2009)05-1044-03
Research into Data Integration Based on SOA
YANG Zheng-he
(School ofComputer Science,LeShan Normal University ,Sichuan 61400,China)
Abstract: Data integration based on SOA technology is an effective kind of technology in information processing.With the aim of solving problems when many enterprises have been builded their new systems with the deep-seated development of informationization that lead to the data source dispersed,isomerous database accessed more difficultly and the data interface also become more complexly.This article will discuss and study how to integrat the enterprise data by using SOA architecture style,meanwhile,a data integration model based SOA architecture style is proposed.
Key words:Data Integration; Informatin System Integration; SOA
1 引言
在日新月異的商業(yè)環(huán)境中,企業(yè)為了能更好地生存下去,就會(huì)加緊發(fā)展自身的業(yè)務(wù),產(chǎn)品的生命周期變得越來越短,客戶的需求也在隨時(shí)變化,企業(yè)原有的信息系統(tǒng)已經(jīng)不能滿足現(xiàn)有的業(yè)務(wù),如果只是對(duì)原有的系統(tǒng)進(jìn)行升級(jí)常常達(dá)不到預(yù)期的效果,企業(yè)更多的是采用新建系統(tǒng)的辦法來解決新增業(yè)務(wù)的需求 。企業(yè)為了提高整體效益,需要開展更多的合作,而這種合作不僅僅是在同一個(gè)垂直的部門內(nèi)部,還有對(duì)跨部門或其它企業(yè)間的合作。同時(shí),企業(yè)也希望對(duì)自己的客戶有一個(gè)全面的了解,以便能識(shí)別出新的市場(chǎng)機(jī)遇,從而為企業(yè)在產(chǎn)品的多元化發(fā)展提供依據(jù),吸引更多新的客戶群體以及維系原有的老客戶。企業(yè)在新建的軟件系統(tǒng)時(shí),會(huì)根據(jù)業(yè)務(wù)及項(xiàng)目選型的需要,選擇最適合項(xiàng)目的數(shù)據(jù)庫產(chǎn)品,這往往不可避免地導(dǎo)致了數(shù)據(jù)庫之間的異構(gòu)性 。在項(xiàng)目執(zhí)行的過程中由手工生成的統(tǒng)計(jì)報(bào)表及分析報(bào)告等大量有價(jià)值的信息仍然以像Office文檔、Excel文檔、PDF文檔、E-Mail等非結(jié)構(gòu)化方式保存著。數(shù)據(jù)庫之間的異構(gòu)性及信息格式的多樣,使得數(shù)據(jù)不能方便地在用戶面前統(tǒng)一展現(xiàn)出來。企業(yè)要解決這些問題就必須對(duì)原有的信息資產(chǎn)進(jìn)行數(shù)據(jù)集成以便能訪問所有分散的數(shù)據(jù)。以下該文將用SOA中的SDO進(jìn)行數(shù)據(jù)整合,并提出數(shù)據(jù)集成模型框架。
2 數(shù)據(jù)集成系統(tǒng)結(jié)構(gòu)
各個(gè)“數(shù)據(jù)孤島”中的數(shù)據(jù)往往遵守的不是同一套規(guī)則,在集成時(shí)須要分析各自的差異,研究一套完整的數(shù)據(jù)轉(zhuǎn)換方法,設(shè)計(jì)一致的、全面的數(shù)據(jù)視圖,構(gòu)建集成數(shù)據(jù)源監(jiān)視、數(shù)據(jù)提取與轉(zhuǎn)換、數(shù)據(jù)質(zhì)量分析、集成與綜合為一體的數(shù)據(jù)集成系統(tǒng)。
2.1 數(shù)據(jù)集成原型系統(tǒng)
數(shù)據(jù)集成原型系統(tǒng)體系結(jié)構(gòu)中有數(shù)據(jù)源層、集成層、表現(xiàn)層(如圖1)。
其中數(shù)據(jù)集成是系統(tǒng)的核心,主要功能有異構(gòu)數(shù)據(jù)源集成、模式集成、元數(shù)據(jù)集成、面向主題的數(shù)據(jù)組織和面向分析的多維模型整合等。具體功能為:
1)異構(gòu)數(shù)據(jù)源集成
利用面向?qū)ο蟮乃枷朐O(shè)計(jì)一種對(duì)異構(gòu)數(shù)據(jù)源的通用數(shù)據(jù)模型——半結(jié)構(gòu)化描述的數(shù)據(jù)模型,表示所有異構(gòu)數(shù)據(jù)源的數(shù)據(jù),通過在數(shù)據(jù)源上捆綁式數(shù)據(jù)抽取器抽取出格式統(tǒng)一的多源數(shù)據(jù),放入數(shù)據(jù)集成緩存區(qū),并向集成器報(bào)告;抽取器執(zhí)行集成器的抽取命令,完成實(shí)體化視圖的初始化和增量式維護(hù)。集成器是數(shù)據(jù)倉庫中的一個(gè)管理模塊,本質(zhì)上是一個(gè)擴(kuò)充的ETL工具,它根據(jù)元數(shù)據(jù)獲取數(shù)據(jù)倉庫中實(shí)體化視圖的定義和結(jié)構(gòu),并對(duì)所有集成緩存區(qū)傳來的數(shù)據(jù)進(jìn)行過濾和篩選,提取出與數(shù)據(jù)倉庫相關(guān)的數(shù)據(jù)向上傳送給數(shù)據(jù)倉庫。當(dāng)數(shù)據(jù)源是異質(zhì)結(jié)構(gòu)時(shí),集成器的實(shí)現(xiàn)是一個(gè)相當(dāng)復(fù)雜的困難的過程。它不僅要依照數(shù)據(jù)倉庫中的數(shù)據(jù)模式對(duì)數(shù)據(jù)源傳來的各種數(shù)據(jù)進(jìn)行模式或格式的轉(zhuǎn)換,還要消除這些數(shù)據(jù)之間存在的各種不一致性。這些數(shù)據(jù)的進(jìn)入,將引起數(shù)據(jù)倉庫中實(shí)體化視圖的重新計(jì)算。在這個(gè)過程中,數(shù)據(jù)倉庫可能需要發(fā)送大量維護(hù)查詢請(qǐng)求信息到集成緩存區(qū),由集成緩存區(qū)經(jīng)過計(jì)算后再將結(jié)果返回給數(shù)據(jù)倉庫,從而完成實(shí)體化視圖的聯(lián)機(jī)維護(hù)。
2)模式提取與集成
采用逆向工程從結(jié)構(gòu)化的業(yè)務(wù)數(shù)據(jù)庫中提取模式。文檔等半結(jié)構(gòu)化雖然沒有事先固定的數(shù)據(jù)模式,但可以從數(shù)據(jù)中歸納出反映當(dāng)前狀態(tài)的結(jié)構(gòu)模式,從定義對(duì)象屬性的等價(jià)著手,研究不同數(shù)據(jù)源成員對(duì)象虛擬模式特性部的相互關(guān)系,并提出相應(yīng)的集成方式,將從各異構(gòu)數(shù)據(jù)源獲取的模式信息進(jìn)行了集成,屏蔽了模式之間的差異。
3)元數(shù)據(jù)知識(shí)庫
根據(jù)元數(shù)據(jù)的全局方案和概念視圖,構(gòu)建元數(shù)據(jù)知識(shí)庫系統(tǒng),對(duì)各種元數(shù)據(jù)及其關(guān)系進(jìn)行系統(tǒng)的、有效的管理,確保元數(shù)據(jù)具有一致性和協(xié)同工作的能力。抽取、收集的元數(shù)據(jù)存儲(chǔ)在知識(shí)庫中,這是一個(gè)結(jié)構(gòu)化的存儲(chǔ)和檢索系統(tǒng),通常在數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)的。
4)元數(shù)據(jù)的交換與集成
在整個(gè)系統(tǒng)中,涉及到多個(gè)工具和元數(shù)據(jù)知識(shí)庫,為了在這些工具和知識(shí)庫中有效地進(jìn)行了元數(shù)據(jù)的共享、交換和集成,系統(tǒng)提供了動(dòng)態(tài)與靜態(tài)交換集成方式。其中動(dòng)態(tài)交換與集成為應(yīng)用提供全面的基于組件的接口,作為數(shù)據(jù)集成的系統(tǒng)的一個(gè)組件,便于將元數(shù)據(jù)無縫地嵌入到各種數(shù)據(jù)管理進(jìn)程中去,部分地實(shí)現(xiàn)數(shù)據(jù)管理的自動(dòng)化。而在靜態(tài)交換與集成中,元數(shù)據(jù)在局部工具和知識(shí)庫之間以XML格式進(jìn)行傳輸。交換的數(shù)據(jù)源和目的地及傳輸格式都使用相同的元數(shù)據(jù)元素描述,不同的元數(shù)據(jù)模型之間不需要進(jìn)行語義轉(zhuǎn)換。
5)面向主題的數(shù)據(jù)組織
數(shù)據(jù)倉庫中的數(shù)據(jù)是面向主題進(jìn)行組織的。主題是一個(gè)抽象的概念,是較高層次上將業(yè)務(wù)信息系統(tǒng)中的數(shù)據(jù)綜合、歸類并進(jìn)行分析利用的抽象。在邏輯意義上,它是對(duì)應(yīng)業(yè)務(wù)中某一宏觀分析領(lǐng)域所涉及的分析對(duì)象。面向主題的數(shù)據(jù)組歌方式,就是在較高層次上對(duì)分析對(duì)象的數(shù)據(jù)的一個(gè)一致性、完整性的描述,能統(tǒng)一地刻畫各個(gè)分析對(duì)象所涉及的各項(xiàng)數(shù)據(jù),以及數(shù)據(jù)之間的聯(lián)系。
6)面向分析的多維數(shù)據(jù)模型整合
多維數(shù)據(jù)模型整合采用軟件利用的思想,運(yùn)用逆向工程的方法,從已經(jīng)在運(yùn)行的局部數(shù)據(jù)集市中抽取出局部多維數(shù)據(jù)模型,再使用多維數(shù)據(jù)模型整合工具,對(duì)這些局部多維數(shù)據(jù)模型進(jìn)行整合,充分發(fā)揮這些局部數(shù)據(jù)模型的優(yōu)點(diǎn),得出準(zhǔn)確高效的全局多維數(shù)據(jù)模型。
2.2 數(shù)據(jù)集成系統(tǒng)的層次結(jié)構(gòu)
數(shù)據(jù)集成系統(tǒng)可分為四個(gè)層次:概念層、邏輯層、物理層、元級(jí)導(dǎo)。概念層包含了集成系統(tǒng)所關(guān)注的概念、概念間的關(guān)系和其他信息需求的形式化描述。這個(gè)層次信息的主要特征就在于它一般不是針對(duì)某個(gè)特定應(yīng)用的,它主要關(guān)注的是對(duì)應(yīng)用中信息語義關(guān)系的一種描述。概念層主要包括領(lǐng)域模型的查詢模型。而領(lǐng)域模型中包括全局模型、源模型和模型間關(guān)系描述。全局模型包括應(yīng)用系統(tǒng)感興趣的所有全局概念關(guān)系的概念級(jí)表示。源模型則提供了對(duì)源數(shù)據(jù)的概念級(jí)表示,模型間關(guān)系則主要描述不同源模型,以及源模型與全局模型中元素部的依賴關(guān)系。查詢模型同提供了種類信息需求的概念表示。邏輯層主要包括系統(tǒng)數(shù)據(jù)模式和查詢模式的描述,描述方式主要采用種類DBMS提供的典型的邏輯結(jié)構(gòu)。源模型主要描述了數(shù)據(jù)源的邏輯內(nèi)容,全局視圖模式描述了系統(tǒng)維護(hù)的物化視圖邏輯內(nèi)容。物化視圖只有在物化集成數(shù)據(jù)的時(shí)候才有效,在虛擬存儲(chǔ)方式的時(shí)候是沒有意義的。查詢模式主要描述了邏輯層的數(shù)據(jù)需求,例如SQL形式等。物理層主要功能涉及的是系統(tǒng)實(shí)際數(shù)據(jù)的管理。其中不但包括數(shù)據(jù)源以及物化視圖的實(shí)際數(shù)據(jù)的存儲(chǔ),還包括wrapper和mediator兩個(gè)部件。Wrapper用來存取數(shù)據(jù)源的實(shí)際數(shù)據(jù),對(duì)數(shù)據(jù)源進(jìn)行封裝,并以邏輯層的表示形式來提供數(shù)據(jù),mediator用來對(duì)多個(gè)wrapper或其他mediator提供的數(shù)據(jù)集成進(jìn)行處理,解決數(shù)據(jù)間結(jié)構(gòu)、語義等方面的不一致性,并以數(shù)據(jù)集的形式輸出結(jié)果。Mediator通常聯(lián)系著邏輯層的查詢,而且其結(jié)果可以物化存儲(chǔ),也可傳送給界面輸出或傳送給其他mediator。元級(jí)層主要包括元模型,它提供了系統(tǒng)不同組件的所有元信息,供用戶或設(shè)計(jì)者使用。
3 SDO模型
SDO(Service Data Object)專注于數(shù)據(jù)的標(biāo)準(zhǔn)化,為服務(wù)和應(yīng)用提供一個(gè)簡(jiǎn)單統(tǒng)一的數(shù)據(jù)模型,達(dá)到統(tǒng)一數(shù)據(jù)訪問和處理模式。
3.1 基本架構(gòu)
SDO的結(jié)構(gòu)中包含有數(shù)據(jù)圖、數(shù)據(jù)對(duì)象、屬性與類型、序列、變更摘要和數(shù)據(jù)訪問服務(wù)部分。其中數(shù)據(jù)圖(如圖2所示) 。
是一組樹型或者圖型的數(shù)據(jù)對(duì)象,主要用來當(dāng)作數(shù)據(jù)對(duì)象的容器,但并非必需的,就是一個(gè)根數(shù)據(jù)對(duì)象,而且這個(gè)根數(shù)據(jù)對(duì)象擁有一個(gè)數(shù)據(jù)對(duì)象樹;數(shù)據(jù)對(duì)象是SDO的基本數(shù)據(jù)元素,也是業(yè)務(wù)數(shù)據(jù)的容器,由一系列命名屬性構(gòu)成,并提供了靜態(tài)和動(dòng)態(tài)的數(shù)據(jù)訪問API,同時(shí),它可以擁有自己的變更摘要,可以被序列化;業(yè)務(wù)數(shù)據(jù)是作為屬性保存到數(shù)據(jù)對(duì)象中的,每一個(gè)屬性符合SDO類型定義,SDO類型可以是簡(jiǎn)單數(shù)據(jù)類型(和Java與XML的簡(jiǎn)單類型兼容),也可以是一個(gè)數(shù)據(jù)對(duì)象類型;序列是一個(gè)特殊的屬性組,每一個(gè)序列中的屬性都有索引,即對(duì)同一屬性的不同操作。序列可以用于表現(xiàn)半結(jié)構(gòu)化的XML數(shù)據(jù);變更摘要是實(shí)現(xiàn)離線數(shù)據(jù)訪問的一個(gè)重要組件,隸屬于數(shù)據(jù)圖或者數(shù)據(jù)對(duì)象。變更摘要初始是空的,隨著數(shù)據(jù)圖和數(shù)據(jù)對(duì)象的變化而填充數(shù)據(jù),從而保證數(shù)據(jù)可以被增量地更新到后臺(tái)數(shù)據(jù)庫中去;數(shù)據(jù)訪問服務(wù)可以從后臺(tái)數(shù)據(jù)源建立數(shù)據(jù)圖和數(shù)據(jù)對(duì)象,并且將其存回到相應(yīng)的數(shù)據(jù)源。
SDO采用的是離線數(shù)據(jù)圖設(shè)計(jì)理念。離線的訪問方式指,客戶端從所需的數(shù)據(jù)源中提取并構(gòu)建數(shù)據(jù)圖,然后在應(yīng)用中操作數(shù)據(jù)圖并記錄下相應(yīng)的操作,在動(dòng)作結(jié)束后由數(shù)據(jù)訪問服務(wù)(Data Access Service,簡(jiǎn)稱DAS)批量地將相應(yīng)措施的改變反映回原來的數(shù)據(jù)源中。SDO的離線數(shù)據(jù)訪問架構(gòu)如圖3。
SDO支持靜態(tài)(強(qiáng)類型)和動(dòng)態(tài)(弱類型,loosely typed)編程模式。SDO本身是語言中立的,能被用于各種編程語言,同時(shí),SDO有相應(yīng)的元數(shù)據(jù)模型,并且這一模型與后端的數(shù)據(jù)源無關(guān),可以為異構(gòu)數(shù)據(jù)源提供一個(gè)系統(tǒng)的數(shù)據(jù)模型。
3.2 SDO設(shè)計(jì)理念
SOA設(shè)計(jì)思想力求與IT業(yè)務(wù)對(duì)齊,從而需要在服務(wù)之間用統(tǒng)一的數(shù)據(jù)模型來交換數(shù)據(jù),而SDO在數(shù)據(jù)建模領(lǐng)域就是為了滿足這一設(shè)計(jì)思想,讓需求更貼近業(yè)務(wù)人員的視野,能夠直接轉(zhuǎn)化為一個(gè)技術(shù)模型。
SDO的設(shè)計(jì)理念是關(guān)注于應(yīng)用研究數(shù)據(jù)和服務(wù)數(shù)據(jù)的表現(xiàn)、操作和傳輸,建構(gòu)數(shù)據(jù)模型的方式也更加多元化,不僅僅是關(guān)系數(shù)據(jù)庫,也包括基于XML技術(shù)的數(shù)據(jù)。離線數(shù)據(jù)模型使服務(wù)組合將成為可能,使數(shù)據(jù)操作變得簡(jiǎn)單,能夠批量更新到數(shù)據(jù)源成為可能,同時(shí)也使得事務(wù)(transaction)處理變得更加容易。在MVC模式中,SDO不只是用于后端數(shù)據(jù)源,而且可以很自然地被用到Model層面。對(duì)于業(yè)務(wù)人員數(shù)據(jù)的直接表示形式是樹型層次結(jié)構(gòu),可以從第一個(gè)根對(duì)象開始展開看到相關(guān)的數(shù)據(jù)。SDO可以被看成是一個(gè)抽象的數(shù)據(jù)對(duì)象,可以根據(jù)業(yè)務(wù)需要遞歸地建立數(shù)據(jù)對(duì)象。并且,SDO可以用XSD進(jìn)行建模,可以很容易地與XML相互轉(zhuǎn)換。因此,SDO可以很方便地用于應(yīng)用開發(fā)的各個(gè)層面。
3.3 DAS和對(duì)象與關(guān)系的映射
在SDO的體系結(jié)構(gòu)中,DAS(Data Access Service)用來處理對(duì)象與關(guān)系之間的映射,因?yàn)楹蠖藬?shù)據(jù)源通常是關(guān)系數(shù)據(jù)。DAS負(fù)責(zé)將后端數(shù)據(jù)源中的數(shù)據(jù)加載到數(shù)據(jù)圖中,并將一個(gè)數(shù)據(jù)圖存回到后端數(shù)據(jù)源中去。比如,XML文件DAS可以從XML文件中讀取和存儲(chǔ)數(shù)據(jù)圖,而JDBC DAS則從關(guān)系數(shù)據(jù)庫中讀取和存儲(chǔ)數(shù)據(jù)圖。另外,由于DAS也是離線的數(shù)據(jù)架構(gòu),只有客戶端要存取數(shù)據(jù)結(jié)構(gòu)時(shí)才會(huì)真正連接到后端數(shù)據(jù)源。從而使得應(yīng)用研究中的業(yè)務(wù)邏輯可以根據(jù)其需要對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行相應(yīng)的操作,而無須關(guān)心數(shù)據(jù)源連接和頻繁讀寫操作帶來的性能問題。DAS的基本功能包括了:定義一個(gè)數(shù)據(jù)圖模型;創(chuàng)建一個(gè)數(shù)據(jù)圖;獲取變更歷史信息;根據(jù)這一信息更新后端數(shù)據(jù)源。在基本功能中,DAS會(huì)在從客戶端到數(shù)據(jù)圖時(shí)檢查數(shù)據(jù)圖是否正確,從而保證了離線數(shù)據(jù)的有效性和完整性。
在SDO中,是用Type和Property來描述數(shù)據(jù)模型的。Type提供了對(duì)DataObject或者某種簡(jiǎn)單數(shù)據(jù)類型的類型描述,而Property則描述Type的某個(gè)屬性。對(duì)于一個(gè)非簡(jiǎn)單數(shù)據(jù)類型的Type,它會(huì)包含一系列Property。SDO模型與Java,C++,UML或者EMOF中的類映射關(guān)系:類可以對(duì)應(yīng)SDO中的Type;類的field對(duì)應(yīng)于SDO中的Property。SDO模型與關(guān)系數(shù)據(jù)庫模型的映射:表對(duì)應(yīng)于SDO中的Type;表的字段對(duì)應(yīng)于SDO中的Property;SDO模型與XSD模型的映射:復(fù)雜類型和簡(jiǎn)單類型的對(duì)應(yīng)于SDO中的Type;元素和屬性對(duì)應(yīng)于SDO中的Property。其中SDO模型與XSD映射關(guān)系最和諧 。它們遵循如表1的原則。
4 應(yīng)用流程
接下來,我們對(duì)SDO架構(gòu)模型通過企業(yè)數(shù)據(jù)集成流程來說明它的使用方法(假設(shè)業(yè)務(wù)分析人員已經(jīng)理順了某一業(yè)務(wù)需求):
客戶端發(fā)送一個(gè)請(qǐng)求,要求DAS載入數(shù)據(jù)圖;DAS發(fā)起一個(gè)事務(wù),連接持久化數(shù)據(jù)源,創(chuàng)建一個(gè)數(shù)據(jù)圖來表現(xiàn)數(shù)據(jù),然后結(jié)束相應(yīng)的事務(wù);DAS返回?cái)?shù)據(jù)圖給客戶端;客戶處理相應(yīng)的數(shù)據(jù)圖;客戶端將修改后的數(shù)據(jù)圖傳給DAS;DAS開始一個(gè)新的事務(wù)用以將客戶端的數(shù)據(jù)改變更新到持久化各數(shù)據(jù)源中去。
5 結(jié)束語
數(shù)據(jù)集成重點(diǎn)要關(guān)注的是,在數(shù)據(jù)流動(dòng)的過程中解決復(fù)雜的數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)清洗問題,同時(shí),還要提供對(duì)海量數(shù)據(jù)處理的質(zhì)量保證的措施。統(tǒng)一的企業(yè)數(shù)據(jù)集成平臺(tái)應(yīng)該是SAO的一部分,為IT應(yīng)用提供信息服務(wù)支持。文章提出的以SDO來整合數(shù)據(jù)的模型,是企業(yè)在應(yīng)用系統(tǒng)集成中數(shù)據(jù)集成的重要實(shí)現(xiàn)方式,而且在現(xiàn)實(shí)工作中表現(xiàn)出不錯(cuò)的效果。需要強(qiáng)調(diào)的是,數(shù)據(jù)集成是一個(gè)持續(xù)性的項(xiàng)目,企業(yè)需要在不斷變化的環(huán)境中建立清晰的技術(shù)實(shí)現(xiàn)圖景,用更長(zhǎng)遠(yuǎn)的目光來審視技術(shù)的發(fā)展。
參考文獻(xiàn):
[1] 劉飛.國企業(yè)數(shù)據(jù)集成與數(shù)據(jù)質(zhì)量市場(chǎng)白皮書[R],北京IDC中國,2008.
[2] 鄧蘇,張維明,黃宏斌.信息系統(tǒng)集成技術(shù)[M],北京電子工業(yè)出版社.2004.
[3] 王紫瑤,南俊杰,段紫輝等.SOA核心技術(shù)及應(yīng)用[M],北京電子工業(yè)出版社.2008.