隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,在信息化建設(shè)過程中構(gòu)建了許多信息系統(tǒng)來管理數(shù)據(jù)業(yè)務(wù)。這些信息系統(tǒng)內(nèi)部的數(shù)據(jù)帶有明顯的分布性、自制性和異構(gòu)性,為了保證各信息系統(tǒng)之間的信息進(jìn)行共享、維護(hù)和管理,使得上層應(yīng)用可以容易地集成這些異構(gòu)數(shù)據(jù)源,使得業(yè)務(wù)開發(fā)人員能夠集中精力于業(yè)務(wù)應(yīng)用開發(fā),減少在底層數(shù)據(jù)層的開發(fā)、維護(hù)和管理成本,需要找出一種能夠?qū)Ψ植籍悩?gòu)數(shù)據(jù)進(jìn)行統(tǒng)一管理的通用、可靠、高效的管理體系。SOA技術(shù)能夠很好地實(shí)現(xiàn)對異構(gòu)數(shù)據(jù)進(jìn)行管理,異構(gòu)數(shù)據(jù)管理的方法也有很多,本文從SOA技術(shù)方面對異構(gòu)數(shù)據(jù)管理進(jìn)行研究。
1.異構(gòu)數(shù)據(jù)管理理論
異構(gòu)數(shù)據(jù)源主要類型有:數(shù)據(jù)庫、信息系統(tǒng)、數(shù)據(jù)文件、XML文件、數(shù)據(jù)采集設(shè)備等。這些不同的數(shù)據(jù)源分布式存在,往往通過系統(tǒng)局域網(wǎng)甚至廣域網(wǎng)進(jìn)行連接,不同的數(shù)據(jù)源具有不同的數(shù)據(jù)格式和數(shù)據(jù)訪問方式,如數(shù)據(jù)庫往往提供ODBC 或者JDBC 等程序訪問接口;信息系統(tǒng)一般相對封閉,也有一些比較完善的信息系統(tǒng)向外提供Web Service 或者REST API 形式的訪問接口;數(shù)據(jù)文件和XML文件也是數(shù)據(jù)存儲(chǔ)的重要形式,這些文件類的數(shù)據(jù)源通常無法進(jìn)行數(shù)據(jù)互操作,比較難于管理。
SOA(Service-Oriented Architecture)稱為面向服務(wù)的體系結(jié)構(gòu),是一種進(jìn)行分布式系統(tǒng)開發(fā)的體系結(jié)構(gòu),它將應(yīng)用程序的不同功能單元/服務(wù)通過它們之間定義清晰的接口和約定聯(lián)系起來,而接口采用中立的描述進(jìn)行定義,它獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語言,這使得構(gòu)建在各種異構(gòu)系統(tǒng)中的服務(wù)能夠以一種統(tǒng)一和通用的方式進(jìn)行交互。SOA 的基礎(chǔ)是“服務(wù)”的概念,服務(wù)是封裝成用于業(yè)務(wù)流程的可重用組件的應(yīng)用程序函數(shù)。SOA結(jié)構(gòu)中所有的功能部件定義為獨(dú)立的服務(wù),這些服務(wù)具有定義明確的可調(diào)用接口,它定義了必需的參數(shù)和結(jié)果的類型,是整個(gè)系統(tǒng)的關(guān)鍵,同時(shí)也是應(yīng)用程序關(guān)注的焦點(diǎn)。基于SOA的異構(gòu)數(shù)據(jù)管理系統(tǒng)是指在依照SOA 概念,采用相對成熟的SOA技術(shù)體系,以Web 技術(shù)尤其是Web 服務(wù)技術(shù)為基礎(chǔ)構(gòu)建的面向服務(wù)的分布式異構(gòu)數(shù)據(jù)管理系統(tǒng),為數(shù)據(jù)上層應(yīng)用提供可靠地?cái)?shù)據(jù)管理服務(wù)。
異構(gòu)數(shù)據(jù)管理主要技術(shù)主要包括異構(gòu)數(shù)據(jù)集成、異構(gòu)數(shù)據(jù)同步、多數(shù)據(jù)源互操作、數(shù)據(jù)狀態(tài)發(fā)布訂閱、異構(gòu)數(shù)據(jù)可靠訪問、分布式數(shù)據(jù)源狀態(tài)監(jiān)控。在分布式網(wǎng)絡(luò)環(huán)境中異構(gòu)數(shù)據(jù)管理技術(shù)主要是通過采用基于SOA的技術(shù)體系實(shí)現(xiàn)異構(gòu)數(shù)據(jù)集成、異構(gòu)數(shù)據(jù)同步、多數(shù)據(jù)源互操作、數(shù)據(jù)狀態(tài)發(fā)布訂閱、異構(gòu)數(shù)據(jù)可靠訪問、分布式數(shù)據(jù)源狀態(tài)監(jiān)控等數(shù)據(jù)管理核心功能。
數(shù)據(jù)同步的理論研究工作在多個(gè)相關(guān)領(lǐng)域(變化數(shù)據(jù)獲取領(lǐng)域、數(shù)據(jù)復(fù)制技術(shù)領(lǐng)域、數(shù)據(jù)傳輸領(lǐng)域以及分布式數(shù)據(jù)庫領(lǐng)域)研究的共同促進(jìn)下取得了很大的進(jìn)步。對數(shù)據(jù)同步技術(shù)的分類研究、一致性研究、沖突研究等都發(fā)表了大量的文章而且各個(gè)數(shù)據(jù)庫廠商都已經(jīng)提出了各自的解決方案?偟膩碚f,不管是從理論上還是從應(yīng)用上,數(shù)據(jù)同步都取得了很大的進(jìn)展,其中關(guān)鍵的問題是研究變化的數(shù)據(jù)的獲取技術(shù)。變化數(shù)據(jù)獲取和數(shù)據(jù)同步息息相關(guān),變化數(shù)據(jù)獲取是數(shù)據(jù)同步的前提和基礎(chǔ),對于數(shù)據(jù)同步的選時(shí)方式和更新方式具有直接的決定性作用。常用的數(shù)據(jù)同步技術(shù)包括:基于影子表法、基于API法、基于快照法、基于控制表法、基于時(shí)間戳法、基于日志法、基于觸發(fā)器法。
實(shí)現(xiàn)多數(shù)據(jù)源之間的互操作的復(fù)雜性大大取決于系統(tǒng)中數(shù)據(jù)源的數(shù)目和異構(gòu)程度。在解決復(fù)雜性和異構(gòu)性方面,SOA和Web 服務(wù)技術(shù)顯示了極大地希望。Web 服務(wù)帶來了一種新的網(wǎng)絡(luò)應(yīng)用模式。以XML為核心的Web 服務(wù)技術(shù)能在異構(gòu)系統(tǒng)間構(gòu)筑一個(gè)通用的、平臺(tái)獨(dú)立、語言無關(guān)的技術(shù)層,實(shí)現(xiàn)彼此之間的連接和集成。伴隨著Web 技術(shù)的應(yīng)用,SOA技術(shù)也得到了很好的發(fā)展,SOA是一種構(gòu)件分布式系統(tǒng)的建構(gòu)模型,它能夠根據(jù)需求通過網(wǎng)絡(luò)相對松散耦合的應(yīng)用組件進(jìn)行分布式部署、組合和應(yīng)用,它是當(dāng)前企業(yè)信息系統(tǒng)的發(fā)展方向。
數(shù)據(jù)狀態(tài)信息在分布式數(shù)據(jù)數(shù)據(jù)管理系統(tǒng)中的作用十分重要,它是數(shù)據(jù)同步、數(shù)據(jù)狀態(tài)監(jiān)控等底層的實(shí)現(xiàn)機(jī)制。發(fā)布/訂閱(Publish/Subscribe,簡稱pub/sub)是一種使分布式系統(tǒng)中的各參與者能夠以發(fā)布/ 訂閱的方式進(jìn)行交互的中間件系統(tǒng)。在pub/sub 方式下,生產(chǎn)者將發(fā)布內(nèi)容發(fā)送給pub/sub 中間件;消費(fèi)者則向pub/sub 中間件發(fā)出一個(gè)訂閱條件,表示對系統(tǒng)中的哪些內(nèi)容感興趣;而pub/sub 中間件保證將生產(chǎn)者發(fā)布的內(nèi)容及時(shí)、可靠地傳送給所有對之感興趣的消費(fèi)者。
2.異構(gòu)數(shù)據(jù)管理實(shí)現(xiàn)
在分布式網(wǎng)絡(luò)環(huán)境中采用基于SOA技術(shù)體系的技術(shù)方法,通過SOA技術(shù)體系中的Web服務(wù)、UDDI、WSDL服務(wù)描述、企業(yè)服務(wù)總線ESB、消息隊(duì)列MQ實(shí)現(xiàn)異構(gòu)數(shù)據(jù)管理的功能;谕ㄓ肧OA架構(gòu)的異構(gòu)數(shù)據(jù)管理系統(tǒng)框架遵循SOA的基本架構(gòu)設(shè)計(jì),引入服務(wù)提供者、服務(wù)使用者和服務(wù)注冊中心的概念。每個(gè)系統(tǒng)組件都被進(jìn)行服務(wù)化封裝,既是服務(wù)提供者優(yōu)勢其他服務(wù)的使用者。SOA基本角色的交互關(guān)系如圖1所示。
圖1 SOA 基本角色關(guān)系圖
異構(gòu)數(shù)據(jù)管理的實(shí)現(xiàn)采用具有高性能的企業(yè)服務(wù)總線(ESB)為核心,在服務(wù)總線內(nèi)部通過可靠信息傳遞、組件服務(wù)通信優(yōu)化等技術(shù)實(shí)現(xiàn)高性能的組件服務(wù)交互通道。原系統(tǒng)組件通過各種適配器轉(zhuǎn)換成為可注冊服務(wù)添加到服務(wù)總線管理域。通過這些組件服務(wù)的互操作和數(shù)據(jù)通信實(shí)現(xiàn)復(fù)雜系統(tǒng)集成,各異構(gòu)數(shù)據(jù)源系統(tǒng)內(nèi)部可以運(yùn)行獨(dú)立的特定應(yīng)用系統(tǒng),這些數(shù)據(jù)源系統(tǒng)的輸出信息通過服務(wù)總線中的服務(wù)描述完成系統(tǒng)集成。
2.1 異構(gòu)數(shù)據(jù)源服務(wù)化
異構(gòu)數(shù)據(jù)源服務(wù)化供應(yīng)是基于SOA的復(fù)雜系統(tǒng)集成的基礎(chǔ)。組件服務(wù)化描述方法主要以通用SOA 接口描述方法(Web Services Description Language,WSDL)為主,WSDL 可以用于描述組件功能及交互方法,實(shí)現(xiàn)不同語言、不同平臺(tái)間的組件互操作。
WSDL 是Web 服務(wù)描述語言,是基于XML 的關(guān)于如何與Web 服務(wù)通訊和使用的服務(wù)描述;也就是描述與目錄中列出的Web 服務(wù)進(jìn)行交互時(shí)需要綁定的協(xié)議和信息格式。通常采用抽象語言描述該服務(wù)支持的操作和信息,使用時(shí)再將實(shí)際的網(wǎng)絡(luò)協(xié)議和信息格式綁定。包括參數(shù)類型、消息、端口類型、操作、綁定、端口和服務(wù)等元素。其基本結(jié)構(gòu)如圖2 所示。
圖2 WSDL基本結(jié)構(gòu)圖
2.2 基于SOA的數(shù)據(jù)組件服務(wù)可靠通信與優(yōu)化技術(shù)
系統(tǒng)數(shù)據(jù)組件服務(wù)通過服務(wù)總線進(jìn)行交互,交互方式又稱協(xié)調(diào)模式。分布式異構(gòu)數(shù)據(jù)管理系統(tǒng)對系統(tǒng)性能要求很高,進(jìn)而需要對數(shù)據(jù)組件服務(wù)的交互進(jìn)行全面的優(yōu)化。鑒于在某方面的應(yīng)用中,由于參與者可能不允許將某些信息交由他方集中管理,這種集中式的管理方式不能夠滿足要求,由于服務(wù)的協(xié)作是通過消息傳遞完成的,因此,可以采用數(shù)據(jù)流分析方法組件服務(wù)交互的數(shù)據(jù)流進(jìn)行優(yōu)化,減少消息傳遞的數(shù)量和次數(shù),從而提高組合服務(wù)的性能。
針對協(xié)調(diào)模式的優(yōu)化將首先建立協(xié)調(diào)模式的形式化模型,然后采用形式化分析方法對模型進(jìn)行驗(yàn)證,并采用數(shù)據(jù)分析方法進(jìn)行優(yōu)化。
協(xié)調(diào)協(xié)議是Web 服務(wù)協(xié)調(diào)框架的核心,可以支持基本的Web 服務(wù)組合功能,且能夠控制數(shù)據(jù)流和控制流的分離,在參與的服務(wù)之間進(jìn)行數(shù)據(jù)傳輸,避免了將所有數(shù)據(jù)通過中心引擎進(jìn)行轉(zhuǎn)發(fā)。
針對定義的協(xié)調(diào)協(xié)議模型采用數(shù)據(jù)流分析方法對其進(jìn)行數(shù)據(jù)優(yōu)化。數(shù)據(jù)流優(yōu)化首先是進(jìn)行數(shù)據(jù)信息收集,然后研究數(shù)據(jù)流優(yōu)化算法。
數(shù)據(jù)流分析是編譯系統(tǒng)中的重要內(nèi)容,它能從程序代碼中收集程序的語義信息,并通過代數(shù)的方法在編譯時(shí)確定變量的定義和引用。主要通過建立并計(jì)算數(shù)據(jù)流方程來收集數(shù)據(jù)流信息,最典型的數(shù)據(jù)流方程為。這個(gè)方程的含義為:當(dāng)控制流通過一個(gè)語句(或基本塊)時(shí),在語句(或基本塊)末尾得到的信息或者是在該語句(或基本塊)中產(chǎn)生的信息,或者是進(jìn)入語句(或基本塊)開始點(diǎn)時(shí)候帶的并且沒有被這個(gè)語句注銷的哪些信息。這樣的方程叫數(shù)據(jù)流方程?梢愿鶕(jù)程序的結(jié)構(gòu)設(shè)計(jì)不同的數(shù)據(jù)流方程,收集數(shù)據(jù)流信息,通過設(shè)計(jì)數(shù)據(jù)流優(yōu)化算法優(yōu)化程序數(shù)據(jù)流。
2.3 建立企業(yè)服務(wù)總線(ESB)實(shí)現(xiàn)可靠數(shù)據(jù)傳遞與數(shù)據(jù)發(fā)布訂閱機(jī)制
在基于通用SOA技術(shù)基礎(chǔ)之上,采用開放的總線結(jié)構(gòu),研究并設(shè)計(jì)的分布式網(wǎng)絡(luò)環(huán)境中用于異構(gòu)數(shù)據(jù)傳輸集成的服務(wù)總線體系結(jié)構(gòu),如圖3所示。
圖3 異構(gòu)數(shù)據(jù)傳輸集成服務(wù)總線體系結(jié)構(gòu)
在此結(jié)構(gòu)中,異構(gòu)數(shù)據(jù)集成服務(wù)總線的功能主要分兩個(gè)層次:應(yīng)用協(xié)議層和服務(wù)通信層。在服務(wù)通信層,異構(gòu)數(shù)據(jù)集成服務(wù)總線的功能主要是保證服務(wù)間消息通信的安全可靠,實(shí)現(xiàn)消息路由以及一些復(fù)雜消息傳遞機(jī)制,如組播技術(shù)、消息批處理功能、消息分段技術(shù)、異步遠(yuǎn)程拷貝和傳送過程中的零拷貝訪問等。在應(yīng)用協(xié)議層次,異構(gòu)數(shù)據(jù)集成服務(wù)總線的功能主要是為不同數(shù)據(jù)數(shù)據(jù)源系統(tǒng)進(jìn)行協(xié)議轉(zhuǎn)換,比如數(shù)據(jù)庫系統(tǒng)如何與其他信息系統(tǒng)進(jìn)行數(shù)據(jù)互聯(lián);不同事務(wù)處理機(jī)制如何完成分布式事務(wù)處理等;還有就是在應(yīng)用層次對數(shù)據(jù)管理服務(wù)的服務(wù)質(zhì)量或服務(wù)等級進(jìn)行匹配。
服務(wù)總線需要具有以下功能:使用異步操作技術(shù)而非阻塞操作;使用多線程技術(shù)并發(fā)處理緊急任務(wù);仔細(xì)挑選架構(gòu)與優(yōu)先技術(shù)以避免線程沖突,并使用看門狗和延時(shí)設(shè)定監(jiān)控以維持應(yīng)用程序正常運(yùn)行。
2.4 建立基于SOA的異構(gòu)數(shù)據(jù)監(jiān)控系統(tǒng)
異構(gòu)數(shù)據(jù)監(jiān)控系統(tǒng)主要基于SNMP 網(wǎng)絡(luò)管理協(xié)議,結(jié)合智能代理技術(shù)為每個(gè)數(shù)據(jù)源添加專門的代理,獲取數(shù)據(jù)源狀態(tài),通過ESB 進(jìn)行狀態(tài)信息發(fā)布,信息監(jiān)控系統(tǒng)通過ESB 獲取訂閱的狀態(tài)信息,通過可視化形式顯示系統(tǒng)數(shù)據(jù)源狀態(tài)信息。
3.結(jié)束語
本文主要介紹了在分布式網(wǎng)絡(luò)中異構(gòu)數(shù)據(jù)管理技術(shù),在分布式網(wǎng)絡(luò)中的異構(gòu)數(shù)據(jù)管理主要通過采用基于SOA的技術(shù)體系,通過基于SOA的數(shù)據(jù)組件服務(wù)和企業(yè)服務(wù)總線技術(shù)實(shí)現(xiàn)異構(gòu)數(shù)據(jù)管理的功能,達(dá)到解決信息集成困難問題的目的。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的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://www.oesoe.com/
本文標(biāo)題:基于SOA的異構(gòu)數(shù)據(jù)管理技術(shù)
本文網(wǎng)址:http://www.oesoe.com/html/consultation/10839513035.html