陳 華,魏長(zhǎng)寶,蔡 燕
(1.江西環(huán)境工程職業(yè)學(xué)院通信學(xué)院,江西 贛州 341000;2.黃淮學(xué)院信息工程學(xué)院,河南 駐馬店 463000)
一種以數(shù)據(jù)為中心的分布式系統(tǒng)自適應(yīng)集成方法
陳 華1,魏長(zhǎng)寶2*,蔡 燕1
(1.江西環(huán)境工程職業(yè)學(xué)院通信學(xué)院,江西 贛州 341000;2.黃淮學(xué)院信息工程學(xué)院,河南 駐馬店 463000)
為了減少分布式系統(tǒng)本身的緊耦合特性,達(dá)到系統(tǒng)獨(dú)立開(kāi)發(fā)、增量開(kāi)發(fā)的目的,提出了一種以數(shù)據(jù)為中心的分布式系統(tǒng)自適應(yīng)集成方法。該方法采用在網(wǎng)絡(luò)中間件中添加協(xié)商模塊實(shí)現(xiàn)了通信合約的自適應(yīng)締結(jié)。采用該方法開(kāi)發(fā)的軟件,將3個(gè)獨(dú)立的應(yīng)用快速、高效地集成為一個(gè)溫度推送分布式系統(tǒng),并滿足了通信質(zhì)量要求。這充分說(shuō)明以數(shù)據(jù)為中心分布式集成方法可降低系統(tǒng)復(fù)雜度,達(dá)到分布式系統(tǒng)的快速、高效的集成。
計(jì)算機(jī);分布式系統(tǒng)集成;自適應(yīng);耦合度
隨著網(wǎng)絡(luò)技術(shù)以及各計(jì)算平臺(tái)的廣泛應(yīng)用和飛速發(fā)展,對(duì)分布式系統(tǒng)的要求也越來(lái)越嚴(yán)格,需其滿足大規(guī)模、動(dòng)態(tài)改變以及分散控制等要求。因而,這就要求系統(tǒng)以及各參與者間,需采用一種較為靈活的、具備動(dòng)態(tài)性和松散耦合性的通信模型和交互機(jī)制。與傳統(tǒng)的通信模型相比,發(fā)布-訂閱(Pub/Sub)通信模型能實(shí)現(xiàn)參與通信者時(shí)間和空間上的完全解耦,具備異步、多點(diǎn)通信等優(yōu)點(diǎn),較好地解決了目前分布式系統(tǒng)中存在的緊耦合問(wèn)題。
然而隨著計(jì)算環(huán)境的不斷更新、變化,發(fā)布-訂閱系統(tǒng)中仍有一些核心問(wèn)題亟待解決。目前,以數(shù)據(jù)為中心的分布式系統(tǒng)集成方法的提出為實(shí)現(xiàn)實(shí)時(shí)分布式系統(tǒng)的集成提供了較好的解決方案。這種以數(shù)據(jù)為中心的發(fā)布-訂閱通信模型(DCPS),具有使數(shù)據(jù)耦合松散化,多點(diǎn)通信等優(yōu)點(diǎn)。但該機(jī)制需通過(guò)優(yōu)先指定QoS策略才能保證通信服務(wù)的質(zhì)量,提高了系統(tǒng)的復(fù)雜度,對(duì)實(shí)現(xiàn)達(dá)到動(dòng)態(tài)、自適應(yīng)、快速集成的系統(tǒng)提供了阻礙[1-3]。
針對(duì)以上不足,本文提出一種以數(shù)據(jù)為中心的分布式系統(tǒng)自適應(yīng)集成方法,在這種方法中數(shù)據(jù)生產(chǎn)者以及消費(fèi)者將分別以通信質(zhì)量約束方和需求方的角色,以Pub/Sub的通信模型和中心節(jié)點(diǎn)為基礎(chǔ),實(shí)現(xiàn)了自動(dòng)配置通信質(zhì)量策略的能力并降低了系統(tǒng)的緊耦合性。實(shí)驗(yàn)表明通過(guò)這種自適應(yīng)的集成方法,能達(dá)到降低分布式系統(tǒng)耦合性,提高通信質(zhì)量的目的。
分布式系統(tǒng)被稱之為一個(gè)集成的“系統(tǒng)組成的系統(tǒng)”,即由多個(gè)獨(dú)立系統(tǒng)集成在一起的一個(gè)大系統(tǒng)。能跨平臺(tái)和多個(gè)系統(tǒng)間集成數(shù)據(jù),具備支持動(dòng)態(tài)變化的環(huán)境和配置,可靠性強(qiáng),安全性高等特點(diǎn)[4-5]。
盡管分布式系統(tǒng)具有如此多的優(yōu)點(diǎn),但由于其內(nèi)部各系統(tǒng)間的獨(dú)立性,對(duì)于較為復(fù)雜的分布式系統(tǒng)來(lái)說(shuō),很難使其存在于統(tǒng)一的系統(tǒng)架構(gòu)中。因而,各業(yè)務(wù)模塊間也構(gòu)成了相互耦合的復(fù)雜網(wǎng)絡(luò)關(guān)系,系統(tǒng)越復(fù)雜,其耦合性也越強(qiáng),表現(xiàn)為系統(tǒng)內(nèi)部的緊耦合特性。其內(nèi)在的緊耦合特性如圖1所示,不同的數(shù)字代表各個(gè)不同的獨(dú)立系統(tǒng),不僅獨(dú)立系統(tǒng)間存在差異性,而且網(wǎng)絡(luò)間的關(guān)系也較為復(fù)雜,兩種作用使得集成的復(fù)雜度大大提高。
圖1 分布式系統(tǒng)的內(nèi)在緊耦合關(guān)系
為降低分布式系統(tǒng)內(nèi)在的緊耦合性,提出了以下兩點(diǎn)解決方案,使耦合松散化[6]:一方面可通過(guò)降低各獨(dú)立系統(tǒng)間的差異性來(lái)降低集成復(fù)雜度;另一方面可在系統(tǒng)中加入中心信息節(jié)點(diǎn)來(lái)降低耦合,具體方法措施如下。
在圖1中,不同的數(shù)字代表不同的獨(dú)立系統(tǒng),這些獨(dú)立系統(tǒng)間存在著較大的差異,如:語(yǔ)言、數(shù)據(jù)、平臺(tái)以及協(xié)議等方面的差異,這寫(xiě)差異性的存在不可避免地增加了系統(tǒng)的集成復(fù)雜性。因此,屏蔽差異性,降低復(fù)雜度,則成了以后研究工作的重點(diǎn),通??刹捎眉夹g(shù)方法來(lái)屏蔽這種差異性,降低系統(tǒng)接口間的耦合性。如今,該技術(shù)應(yīng)用的較為廣泛,如現(xiàn)在主流的異構(gòu)跨平臺(tái)通信組件Apache Thrift基于TCP/IP協(xié)議實(shí)現(xiàn)了與多語(yǔ)言之間的通信;C++等編程語(yǔ)言實(shí)現(xiàn)了可移植跨平臺(tái)通信等。另外,屏蔽差異性還可以通過(guò)添加中間件的方法,如分布式對(duì)象技術(shù)、遠(yuǎn)程調(diào)用過(guò)程技術(shù),以及實(shí)時(shí)CORBA對(duì)象技術(shù)等[7]。為了減小各系統(tǒng)間的差異性,以達(dá)到降低集成復(fù)雜度的目的,通過(guò)在各系統(tǒng)外添加一個(gè)標(biāo)準(zhǔn)化的規(guī)程來(lái)屏蔽這種差異性,具體方法可形象的表示如圖2所示。
圖2 屏蔽了差異性的耦合關(guān)系
但采用該種方法的缺點(diǎn)是,這是一種面向?qū)ο竽P?數(shù)據(jù)庫(kù)存儲(chǔ)對(duì)象以對(duì)象為單位,以點(diǎn)對(duì)點(diǎn)的方式進(jìn)行通信,通信的實(shí)現(xiàn)必須通過(guò)優(yōu)先獲取對(duì)方的網(wǎng)絡(luò)地址才能完成聯(lián)系,在減小系統(tǒng)的集成網(wǎng)絡(luò)復(fù)雜度、降低耦合方面并沒(méi)有起到多大作用。
以屏蔽子系統(tǒng)差異性降低耦合度的方法為基礎(chǔ),提出了添加數(shù)據(jù)總線作為中心節(jié)點(diǎn)的方法,具體過(guò)程如圖3所示。在C/S通信模式下,被屏蔽了差異性的子系統(tǒng),將數(shù)據(jù)信息發(fā)送到數(shù)據(jù)總線后再通過(guò)總線發(fā)送給各獨(dú)立系統(tǒng)。采用這種方法,各子系統(tǒng)間避免了多方傳遞的這種復(fù)雜聯(lián)系,而變成圖3所示的單線聯(lián)系,即系統(tǒng)集成復(fù)雜度從O(n2)變到了O(n)。然而,采用這種方法的弊端是,所有的數(shù)據(jù)都集中到了數(shù)據(jù)總線上,容易造成總線負(fù)載過(guò)大,進(jìn)而使系統(tǒng)因超負(fù)荷而導(dǎo)致數(shù)據(jù)失效等問(wèn)題[8-9]。
圖3 加入中心節(jié)點(diǎn)的耦合關(guān)系
為了進(jìn)一步彌補(bǔ)以上兩種方法的不足,又出現(xiàn)了一種發(fā)布-訂閱(Pub/Sub)式的通信的模型。(Pub/Sub)模型定義了一種一對(duì)多的依賴關(guān)系,讓多個(gè)訂閱者對(duì)象同時(shí)收到某個(gè)主題對(duì)象。且一旦這個(gè)主題對(duì)象在本身發(fā)生改變時(shí),即會(huì)通知所有訂閱者,使它們也能夠?qū)崟r(shí)更新自己的狀態(tài)。該模型的優(yōu)點(diǎn)是,采用資源共享的方式,將數(shù)據(jù)生產(chǎn)者以及消費(fèi)者分別配以通信質(zhì)量約束方和需求方的角色。以Pub/Sub的通信模型和中心節(jié)點(diǎn)為基礎(chǔ),實(shí)現(xiàn)了自動(dòng)配置通信質(zhì)量策略的能力并降低了系統(tǒng)的緊耦合性。其具體模型如如圖4所示。
圖4 發(fā)布-訂閱通信模式下的耦合關(guān)系
該模型與上面加入中心節(jié)點(diǎn)最大的不同就是,數(shù)據(jù)間的聯(lián)系可在各個(gè)子系統(tǒng)間發(fā)生通信聯(lián)系,而不是將中心信息節(jié)點(diǎn)作為唯一的數(shù)據(jù)中轉(zhuǎn)地,從而大大減小了中心節(jié)點(diǎn)的負(fù)荷,有效解決了因負(fù)載太大而導(dǎo)致數(shù)據(jù)失效的問(wèn)題。
盡管如此,該方法還是具有一定的局限性,以DDS為標(biāo)準(zhǔn)的相關(guān)技術(shù)為例,為了實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)共享、確保通信質(zhì)量的目的,DDS將通過(guò)Qos策略來(lái)實(shí)現(xiàn)數(shù)據(jù)信息在發(fā)布者以及訂閱者之間的匹配,這種模式相當(dāng)于在各個(gè)子系統(tǒng)間建立了一個(gè)統(tǒng)一的合約,只有滿足這個(gè)合約才能進(jìn)行下一步通信。而這種優(yōu)先指定Qos的策略,無(wú)不避免地增加了系統(tǒng)的復(fù)雜度,對(duì)提高通信質(zhì)量是不利的。為了解決該方法的弊端,降低因Qos策略而引起的高復(fù)雜度,本文提出了以數(shù)據(jù)為中心的自適應(yīng)集成方法,該方法通過(guò)引入?yún)f(xié)商機(jī)制以自適應(yīng)締結(jié)通信合約,從而取消了QoS策略的事先約定過(guò)程。
系統(tǒng)集成的最終目的就是使資源達(dá)到充分共享,實(shí)現(xiàn)集中、高效、便利的管理,并使得事件按規(guī)定的協(xié)議發(fā)展。為了達(dá)到這個(gè)目的,則必須降低系統(tǒng)的復(fù)雜度,較少數(shù)據(jù)的冗余。
分布式集成的復(fù)雜性來(lái)源于多個(gè)方面,如:通信開(kāi)始前首先要約定通信內(nèi)容,然后需要確定聯(lián)系雙方的通信IP地址,最后還要確保雙方通信的質(zhì)量,確保通信的實(shí)時(shí)性、真實(shí)性以及有效性。然而,對(duì)于通信雙方的內(nèi)容以及通信地址這些信息,數(shù)據(jù)發(fā)送方在多對(duì)多通信模式下是無(wú)法獲取的。因而,為能自動(dòng)獲取通信雙方的地址、節(jié)點(diǎn)信息以及策略信息等,則要建立一種特定的機(jī)制,以彌補(bǔ)元數(shù)據(jù)只包含通信雙方內(nèi)容信息的缺陷。這種特定機(jī)制則可通過(guò)DDS實(shí)現(xiàn),DDS作為一種數(shù)據(jù)分發(fā)服務(wù),其能結(jié)合(Pub/Sub)通信模型,依靠中心信息節(jié)點(diǎn),在網(wǎng)絡(luò)中加入?yún)f(xié)商模塊,進(jìn)而使得通信服務(wù)質(zhì)量能自適應(yīng)地進(jìn)行配置。通過(guò)這種方法后,自動(dòng)獲取通信雙方的地址、節(jié)點(diǎn)信息以及策略信息等就變得很容易了。下面將對(duì)此方法構(gòu)建的通信模型以及通信傳遞過(guò)程進(jìn)行詳細(xì)地介紹。
小意:沒(méi)人能讓你墮落,除非你先放棄自己,所以,不必勉強(qiáng)自己融入別人的圈子,做你自己就好。上了大專(zhuān)不意味著停止進(jìn)步,希望你學(xué)精技術(shù)的同
為了達(dá)到降低系統(tǒng)復(fù)雜度、較少集成耦合的目的,將在元數(shù)據(jù)中限定各子系統(tǒng)間的接口。在協(xié)商模塊中,通信發(fā)布方與訂閱方可自適應(yīng)獲取通信合約。以數(shù)據(jù)為中心的分布式系統(tǒng)集成總體架構(gòu)圖如圖5所示。
圖5 總體架構(gòu)
這種以數(shù)據(jù)為中心的分布式系統(tǒng)集成主要由應(yīng)用層、傳輸層以及核心部分中間層這3部分組成。3個(gè)部分各司其職,在整個(gè)系統(tǒng)中都占據(jù)著不可替代的位置。各部分的主要功能如下:
應(yīng)用層顧名思義就是指應(yīng)用程序?qū)?該層中每個(gè)應(yīng)用程序都是獨(dú)立的,而每當(dāng)它們要進(jìn)行相互交互必須要首先約定元數(shù)據(jù)信息。以數(shù)據(jù)為中心的分布式系統(tǒng)集成規(guī)定在應(yīng)用層必須且僅能約定元數(shù)據(jù)信息。
傳輸層雖不涉及業(yè)務(wù)協(xié)議與邏輯方面,但它是OSI中最重要、最關(guān)鍵的一層,也是唯一負(fù)責(zé)總體的數(shù)據(jù)傳輸和數(shù)據(jù)控制的一層,提供端到端的交換數(shù)據(jù)的機(jī)制。通信合約信息的完整、準(zhǔn)確是順利完成傳輸?shù)谋貍錀l件,通信合約中必須包含發(fā)送雙方的地址、通信策略以及協(xié)議內(nèi)容等。
中間層是以數(shù)據(jù)為中心的分布式系統(tǒng)集成架構(gòu)中重要的基礎(chǔ)實(shí)施,也是面向數(shù)據(jù)思想的集中體現(xiàn)。中間層處于應(yīng)用層和傳輸層的中間部位,起到了中轉(zhuǎn)的作用。其作用顯而易見(jiàn),可將應(yīng)用層中約定的元數(shù)據(jù)信息,通過(guò)中間層的作用轉(zhuǎn)化為傳輸層中通信合約信息。另外,一些數(shù)據(jù)信息的傳遞也可通過(guò)中間層得以實(shí)現(xiàn)。中間件能提供一種形式化定義元數(shù)據(jù)包括數(shù)據(jù)模型和服務(wù)質(zhì)量的機(jī)制;能滿足數(shù)據(jù)流的傳輸需求,并動(dòng)態(tài)地定義和配置數(shù)據(jù)流,具有較為強(qiáng)大的功能。
根據(jù)創(chuàng)建的總體架構(gòu)模型,將按圖6所示需要完成以下工作:元數(shù)據(jù)約定、通信前握手和樣本數(shù)據(jù)傳輸。從用戶的角度來(lái)看,元數(shù)據(jù)的約定是用戶進(jìn)行系統(tǒng)集成唯一要做的,從而最大化的弱化了接口,減輕了集成耦合性。
圖6 集成步驟
然而,在應(yīng)用層方面由于應(yīng)用程序在約定信息時(shí),可能不具備完整性,因此,要想取得樣本數(shù)據(jù)交互的完備信息,系統(tǒng)在進(jìn)行通信之前首先要通過(guò)中間層的中間件和中心節(jié)點(diǎn)進(jìn)行握手取得。具體流程和握手階段的信息,可參見(jiàn)下一節(jié)。
中間層通信前握手的目的是為了將應(yīng)用層的元數(shù)據(jù)信息轉(zhuǎn)化為傳輸層的通信合約信息,該握手階段的信息模型主要涉及到以下模型:
元數(shù)據(jù)信息模型(MetaData Information Model)主要由元數(shù)據(jù)(MetaData)以及主題(Topic)兩部分組成。其中,元數(shù)據(jù)與主題間是彼此相互對(duì)應(yīng)的關(guān)系,元數(shù)據(jù)是信息模型的主要內(nèi)容,主題是為了清晰地標(biāo)出主要內(nèi)容。主題也包含兩個(gè)部分,分別為元數(shù)據(jù)類(lèi)型(MetaData Type,縮寫(xiě)為 MDType),元數(shù)據(jù)大小(MetaData Size,縮寫(xiě)為MDSize)。標(biāo)識(shí)出元數(shù)據(jù)的類(lèi)型和大小的目的是為了完成元數(shù)據(jù)信息序列化和反序列化。
在元數(shù)據(jù)信息模型中,我們需將主題從中傳遞出來(lái)到達(dá)中間件。因此,就需要數(shù)據(jù)生產(chǎn)者在中間層部分將信息注冊(cè)發(fā)布出來(lái)。發(fā)布注冊(cè)信息模型(Pub Information Model)主要由4部分組成,分別為:主題信息(Topic)、發(fā)布方關(guān)鍵信息(Key)、生產(chǎn)者節(jié)點(diǎn)信息(PubNodelInfo)、通信質(zhì)量約束信息(CommCons)。其中,關(guān)鍵信息(Key)的作用是為了在同時(shí)存在多個(gè)相同話題時(shí),能將它們通過(guò)標(biāo)識(shí)清晰地區(qū)別開(kāi)來(lái)。
訂閱注冊(cè)信息模型(Sub Information Model)也主要由4部分組成,分別為:主題信息(Topic)、發(fā)布方關(guān)鍵信息(Key)、消費(fèi)者節(jié)點(diǎn)信息(SubNodelInfo)、訂閱方通信需求信息(CommReq)。訂閱模塊與發(fā)布模塊組成部分,大致相同,但需要注意的是,在訂閱模塊,發(fā)布方的關(guān)鍵信息,不是強(qiáng)制要求的,可選擇訂閱。一旦指定了關(guān)鍵信息,則可訂閱該Key信息下的所有發(fā)布信息,若不指定則可選擇訂閱該Key信息下的發(fā)布信息。
中心節(jié)點(diǎn)信息指定的內(nèi)容主要為數(shù)據(jù)生成方的網(wǎng)絡(luò)地址和端口信息兩部分。在中心節(jié)點(diǎn)處會(huì)對(duì)發(fā)布以及訂閱模塊中的注冊(cè)信息進(jìn)行集中注冊(cè)。該部位的功能主要為:對(duì)所有的注冊(cè)信息進(jìn)行記錄和監(jiān)聽(tīng),并對(duì)所有具有類(lèi)似主題信息的發(fā)布方以及訂閱方注冊(cè)信息進(jìn)行匹配集合。當(dāng)集合完成后,繼續(xù)將該信息發(fā)送到中間層,中間層的協(xié)商模塊會(huì)對(duì)信息進(jìn)行處理并轉(zhuǎn)化為傳輸層所需的通信合約信息。至此,通信握手完成。
綜上可得,元數(shù)據(jù)在通信過(guò)程中起到了連接紐帶的作用,中間層幾乎完成了所有的細(xì)節(jié)封裝,充分體現(xiàn)了以數(shù)據(jù)為中心的分布式系統(tǒng)的集成。
所謂以數(shù)據(jù)為中心的分布式系統(tǒng)集成,就是數(shù)據(jù)生產(chǎn)者向數(shù)據(jù)消費(fèi)者發(fā)送數(shù)據(jù)時(shí),能智能區(qū)分開(kāi)各個(gè)數(shù)據(jù)消費(fèi)者的需求并發(fā)送相應(yīng)的數(shù)據(jù)。與傳統(tǒng)通過(guò)傳輸數(shù)據(jù)的方法不同,該方法通過(guò)將原先在系統(tǒng)集成之前完成的QoS策略延緩到中間件中執(zhí)行,大大降低了系統(tǒng)的耦合度,通信合約締結(jié)序列圖如圖7所示。
圖7 通信合約締結(jié)序列圖
在通信過(guò)程中,數(shù)據(jù)生產(chǎn)者負(fù)責(zé)生產(chǎn)數(shù)據(jù),數(shù)據(jù)生產(chǎn)的能力可由通信約束信息衡量,通信約束信息即通信合約締結(jié)過(guò)程中的一種表現(xiàn)形式,數(shù)據(jù)生產(chǎn)能力主要包括生產(chǎn)數(shù)據(jù)的速率以及最大生產(chǎn)量。數(shù)據(jù)消費(fèi)者要從大量的數(shù)據(jù)生產(chǎn)者生產(chǎn)的數(shù)據(jù)中找到所需求的信息,就需要通過(guò)比較數(shù)據(jù)的可靠性、數(shù)據(jù)的關(guān)鍵性等找到通信需求信息。數(shù)據(jù)生產(chǎn)者的通信約束信息和數(shù)據(jù)消費(fèi)者的通信需求信息,都要經(jīng)過(guò)中心節(jié)點(diǎn)傳到數(shù)據(jù)生產(chǎn)者處,然后再由協(xié)商模塊中的協(xié)商算法算出它們的通信合約,整個(gè)流程即為圖7所示的通信合約締結(jié)序列圖。
然而,在上面的流程中,由數(shù)據(jù)生產(chǎn)者生產(chǎn)的數(shù)據(jù)是無(wú)法確定的,因此通信約束信息也是變化的,要想動(dòng)態(tài)獲取數(shù)據(jù)生產(chǎn)者的約束信息,可采用協(xié)商模塊作為數(shù)據(jù)生產(chǎn)者中間件的一部分。
通信合約信息模型主要由5部分組成,分別為:通信合約信息(Agreement)、主題(Topic)、發(fā)布方節(jié)點(diǎn)信息(PubNodeInfo)、訂閱方節(jié)點(diǎn)信息(SubNodeInfo)、通信協(xié)議信息(CommProtocol)、通信策略信息(CommmTacics)。其中,CommProtocol指定了所使用的網(wǎng)絡(luò)通信協(xié)議,CommmTacics指定了一些控制服務(wù)質(zhì)量的關(guān)鍵信息。這兩種信息均需要由協(xié)商模塊通過(guò)協(xié)商算法獲得,系統(tǒng)可對(duì)協(xié)商算法進(jìn)行制定,并通過(guò)相應(yīng)軟件得以實(shí)現(xiàn)。而其他的Agreement、Topic、PubNodeInfo模塊信息可由中心節(jié)點(diǎn)平臺(tái)匹配取得。
本文通過(guò)以上思路,設(shè)計(jì)了包含多種模塊的軟件,其中含有:中心節(jié)點(diǎn)服務(wù)程序、中間件軟件模塊、協(xié)商算法庫(kù)以及可插入的傳輸軟件模塊。除此之外,該軟件還實(shí)現(xiàn)了跨平臺(tái)服務(wù),例如:采用TCP/IP協(xié)議的數(shù)據(jù)通信服務(wù),采用標(biāo)準(zhǔn)C++編輯語(yǔ)言的軟件開(kāi)發(fā)服務(wù),以及采取OMG IDL語(yǔ)言來(lái)約定元數(shù)據(jù),借以解除開(kāi)發(fā)語(yǔ)言差異性的問(wèn)題。接下來(lái)將以一個(gè)具體實(shí)例,來(lái)驗(yàn)證此方法的可靠性。
數(shù)據(jù)首先通過(guò)溫度傳感器可感應(yīng)到外界溫度的實(shí)時(shí)變化情況,其感應(yīng)效率很高,可達(dá)到800次/s。其次,再通過(guò)電腦PC端將溫度傳感器感應(yīng)到的數(shù)據(jù)實(shí)時(shí)記錄下來(lái),其記錄的的頻率也較高,每秒可記錄100次,且每當(dāng)溫度的變化超過(guò)設(shè)定范圍時(shí),則會(huì)激發(fā)它的提醒模式。最后,這些記錄的數(shù)據(jù)將直接反饋到移動(dòng)手機(jī)客戶端,反饋頻率較前兩個(gè)應(yīng)用略低,但依然可達(dá)到10次/s?;谶@3種應(yīng)用的特點(diǎn),我們嘗試使用圖8所示的部署方法將這3個(gè)獨(dú)立的子系統(tǒng)集成到一起,實(shí)現(xiàn)一體化的流程。圖8采用的即是以數(shù)據(jù)為中心的分布式集成方法。
圖8 溫度推送分布式系統(tǒng)部署圖
根據(jù)圖8所示的溫度推送分布式系統(tǒng)部署圖,將移動(dòng)端、PC端、溫度傳感器這3個(gè)應(yīng)用分別進(jìn)行相互的交互,圖9為在規(guī)定的一段時(shí)間內(nèi),溫度傳感器產(chǎn)生的數(shù)據(jù)、溫度實(shí)時(shí)記錄系統(tǒng)記錄的數(shù)據(jù)以及溫度報(bào)告應(yīng)用記錄的數(shù)據(jù)。
圖9 應(yīng)用生產(chǎn)和消費(fèi)的數(shù)據(jù)
從圖9中可看到,3種應(yīng)用在相同時(shí)間時(shí)記錄的溫度幾乎相同,記錄的頻率也與之前設(shè)置的一致。因此,我們可得出只需要約定好應(yīng)用之間的元數(shù)據(jù)接口并根據(jù)以數(shù)據(jù)為中心的分布式系統(tǒng)自適應(yīng)集成方法,即可自適應(yīng)的完成通信合約間的締結(jié),達(dá)到了降低系統(tǒng)集成復(fù)雜度、較少耦合的目的,也為分布式系統(tǒng)集成提供了一種新的思路。
綜上,為了減少分布式系統(tǒng)本身的緊耦合特性,達(dá)到系統(tǒng)獨(dú)立開(kāi)發(fā)、增量開(kāi)發(fā)的目的,重點(diǎn)要使得系統(tǒng)間的接口信息最小化以及動(dòng)態(tài)化。因此,本文提出了以數(shù)據(jù)為中心的分布式系統(tǒng)集成方法,基于該方法,提出通信服務(wù)信息應(yīng)在中間層中完成而不是應(yīng)用層,這樣就使得通信服務(wù)質(zhì)量信息能在中間件中自適應(yīng)獲取,達(dá)到減小耦合的目的。最后,以應(yīng)用生產(chǎn)和消費(fèi)產(chǎn)生數(shù)據(jù)的實(shí)例,說(shuō)明了該方法的快速、有效性,并能降低系統(tǒng)的耦合度。為以后設(shè)計(jì)以數(shù)據(jù)為中心分布式系統(tǒng)提供了一種新的方法。
[1] 汪洋,王振宇. 一個(gè)支持QoS的實(shí)時(shí)CORBA中間件ORB的結(jié)構(gòu)模型[J]. 計(jì)算機(jī)科學(xué),2002,29(4):38-40.
[2] 王海濤,宋麗華,張學(xué)平,等. 面向無(wú)線自組網(wǎng)的交疊分簇網(wǎng)絡(luò)結(jié)構(gòu)及性能分析[J]. 軟件學(xué)報(bào),2012,40(10):81-84.
[3] 田祎. 分布式計(jì)算機(jī)網(wǎng)絡(luò)結(jié)構(gòu)的可靠性與運(yùn)行模式分析[J]. 計(jì)算機(jī)學(xué)報(bào),2014(35):90-91.
[3] 張亞珍. 分布式計(jì)算機(jī)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化措施研究[J]. 系統(tǒng)仿真學(xué)報(bào),2015(21):18-19.
[4] 高俊,熊淑云. 分布處理計(jì)算機(jī)系統(tǒng)研究[J]. 東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2016(3):81-82.
[5] 熊淑云,高俊. 計(jì)算機(jī)技術(shù)在通訊中的應(yīng)用研究[J]. 數(shù)字技術(shù)與應(yīng)用,2015(6):118.
[6] 劉亞霄. 松散耦合的分布式信息系統(tǒng)的研究與實(shí)現(xiàn)[J]. 清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2012(8):18-25.
[7] 周建華,支曉繁,鐘亦平. 無(wú)線傳感器網(wǎng)絡(luò)的通信能量有效性的研究[J]. 傳感技術(shù)學(xué)報(bào),2016,29(1):37-41.
[8] 秦忠國(guó),姜弘道. 靜態(tài)負(fù)載平衡問(wèn)題的表示與算法[J]. 計(jì)算機(jī)科學(xué),2013,25(2):95-97.
[9] 蔡皓,馮仁劍,萬(wàn)江文. 具有多種通信方式的無(wú)線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)[J]. 傳感技術(shù)學(xué)報(bào),2012,25(1):169-172.
ResearchonData-CenteredSelf-AdaptiveArchitectureforDistributedSystemIntegration
CHENHua1,WEIChangbao2*,CAIYan1
(1.School of Communication,Jiangxi Environmental Engineering Vocational College,Ganzhou Jiangxi 341000,China;2.School of Information Engineering,Huanghuai University,Zhumadian He’nan 463000,China)
In order to reduce the tight coupling character of the distributed system and achieve the goal of system independently developed and incremental development of system,an adaptive integration method of the distributed data-centric system has been proposed. The negotiation module is added in the network middleware and the communication agreement of adaptive conclusion is realized. The software was developed by this method. In the software,three separate applications was integrated to a distributed system of temperature push quickly and efficiently. The data-centric distributed integration method can reduce the complexity of the system and achieve rapid and efficient integration of distributed systems.
computer;distribute enterprise information system;adaptive;the coupling
10.3969/j.issn.1005-9490.2017.06.031
2016-10-12修改日期2017-04-17
TP393.0
A
1005-9490(2017)06-1490-06
陳華(1982-),男,江西贛州人,漢族,碩士,講師,江西環(huán)境工程職業(yè)學(xué)院通信學(xué)院,從事計(jì)算機(jī)應(yīng)用和網(wǎng)絡(luò)研究;
魏長(zhǎng)寶(1972-),男,河南駐馬店人,漢族,碩士,副教授,研究方向?yàn)閿?shù)據(jù)應(yīng)用與信息處理技術(shù)等;
蔡燕(1983-),女,江西贛州人,漢族,碩士,講師,江西環(huán)境工程職業(yè)學(xué)院通信學(xué)院。