卜梓琴 葉建位 龐 戈 陸海琛
(浙江中控軟件技術(shù)有限公司,杭州 310053)
生產(chǎn)數(shù)據(jù)在工業(yè)控制企業(yè)的生產(chǎn)經(jīng)營中起著至關(guān)重要的作用,它為企業(yè)的生產(chǎn)控制、經(jīng)營管理及戰(zhàn)略制定等方面提供了重要依據(jù)。隨著節(jié)能減排及兩化深度融合等國家利好政策的出臺與推進(jìn),生產(chǎn)數(shù)據(jù)成為企業(yè)推進(jìn)自動化和信息化建設(shè)的重點(diǎn)處理對象,采用數(shù)據(jù)整合處理及流程抽象等信息化處理技術(shù),最終通過信息系統(tǒng)來實(shí)現(xiàn)無紙化辦公和流程信息化監(jiān)管。但是,企業(yè)在有步驟地提高信息化程度的過程中,逐漸顯現(xiàn)出以下問題:第一,企業(yè)針對相應(yīng)的問題實(shí)施對應(yīng)的信息化解決方案,從而使得內(nèi)部信息系統(tǒng)不斷地增多,信息系統(tǒng)多樣、重復(fù)建設(shè)及它們之間不兼容等弊端不斷顯現(xiàn);第二,為不斷優(yōu)化信息化方案,上層應(yīng)用的擴(kuò)展為支持與多個底層信息系統(tǒng)交互而定制開發(fā)更多的接口軟件,即采用一對一的服務(wù)模式,因此使開發(fā)成本和維護(hù)成本增加。
數(shù)據(jù)源總線化布局方案就是為解決上述問題而提出。它充分利用Windows通信開發(fā)平臺(Windows Communication Foundation,WCF)的特性,通過一種總線化布局方案,使得上層應(yīng)用無需再知道底層具體的數(shù)據(jù)源類型和交互細(xì)節(jié)即可使用,真正實(shí)現(xiàn)數(shù)據(jù)源隨意插拔、上層應(yīng)用無感知的效果,并可使零碎化和個性化的各個數(shù)據(jù)源統(tǒng)一到總線上,達(dá)到統(tǒng)一管理的目的。筆者提出的數(shù)據(jù)源總線化布局解決方案充分利用了WCF技術(shù)能夠提供統(tǒng)一的、可用于建立安全、可靠的面向服務(wù)的應(yīng)用高效開發(fā)平臺[1]這一特性,并制定了一套統(tǒng)一的協(xié)議用于交互的標(biāo)準(zhǔn)化,既可達(dá)到數(shù)據(jù)源的統(tǒng)一管理又可實(shí)現(xiàn)數(shù)據(jù)源遠(yuǎn)程和獨(dú)立部署的目的。
實(shí)現(xiàn)數(shù)據(jù)源總線化布局方案(圖1),主要通過部署浙江中控軟件技術(shù)有限公司研發(fā)完成的數(shù)據(jù)源管理系統(tǒng)(圖2)來實(shí)現(xiàn)。數(shù)據(jù)源管理系統(tǒng)采用服務(wù)-客戶端模式,即在服務(wù)端主要執(zhí)行部署工作,將與數(shù)據(jù)源進(jìn)行交互時所需的對應(yīng)信息文件(以下簡稱數(shù)據(jù)源文件)部署到合適的位置。這些數(shù)據(jù)源文件主要為DLL文件和XML文件,是數(shù)據(jù)源管理系統(tǒng)主要的管理對象。在客戶端,主要實(shí)現(xiàn)與數(shù)據(jù)源的連接。連接成功后,即可通過WCF技術(shù)公布成獨(dú)立的服務(wù)以供上層應(yīng)用使用。當(dāng)然,為進(jìn)一步提高數(shù)據(jù)源管理系統(tǒng)的智能化,服務(wù)端也可自啟動與數(shù)據(jù)源的連接。
在服務(wù)端可部署多種數(shù)據(jù)源文件,來實(shí)現(xiàn)與多種數(shù)據(jù)源的交互功能。數(shù)據(jù)源管理系統(tǒng)啟動時,會自動在服務(wù)端判定是否存在已經(jīng)部署的數(shù)據(jù)源文件,如果存在,則加載已經(jīng)部署的數(shù)據(jù)源文件的配置信息,并通過反射技術(shù)加載DLL文件,通過查找屬性找到類的入口并生成獨(dú)立的Appdomain來實(shí)現(xiàn)對相應(yīng)數(shù)據(jù)源交互進(jìn)程的保護(hù),在此過程中,還可通過實(shí)現(xiàn)連接池管理來確保與數(shù)據(jù)源通信的暢通性(圖3)。
圖1 數(shù)據(jù)源總線化布局方案
圖2 數(shù)據(jù)源管理系統(tǒng)設(shè)計示意圖
圖3 數(shù)據(jù)源管理系統(tǒng)與數(shù)據(jù)源交互示意圖
一般的總線型結(jié)構(gòu)具有高度的可擴(kuò)展性,且擴(kuò)充靈活,任何節(jié)點(diǎn)只需按照一定的要求插入到總線上即可。數(shù)據(jù)源總線化布局解決方案除了具有該優(yōu)點(diǎn)外,還依靠數(shù)據(jù)源管理系統(tǒng)良好的架構(gòu)設(shè)計和優(yōu)良的技術(shù)特性,具有高度的獨(dú)立性和較強(qiáng)的抗干擾性。一般的總線型結(jié)構(gòu)在帶來便于擴(kuò)充等優(yōu)點(diǎn)時,往往也具有任一處發(fā)生故障將導(dǎo)致整個結(jié)構(gòu)癱瘓,且故障診斷困難的弊端,但數(shù)據(jù)源管理系統(tǒng)很好地克服了這一弱點(diǎn)。它內(nèi)部采用獨(dú)立的Appdomain技術(shù),在與每個數(shù)據(jù)源交互時可智能開辟獨(dú)立空間進(jìn)行裝箱運(yùn)行并實(shí)施保護(hù)。如果某個數(shù)據(jù)源異常終止,Appdomain技術(shù)會對該異常進(jìn)行隔離,從而保證與其他數(shù)據(jù)源的交互不受影響。所以不論是刪除原數(shù)據(jù)的源文件、添加新的數(shù)據(jù)源文件或者啟動、斷開與該數(shù)據(jù)源的連接,對數(shù)據(jù)源管理系統(tǒng)和正在運(yùn)行的其他數(shù)據(jù)源交互都不會產(chǎn)生任何影響。
此外,WCF技術(shù)通過契約的方式向外部開發(fā)統(tǒng)一的數(shù)據(jù)契約、服務(wù)契約和錯誤契約[1],即可實(shí)現(xiàn)標(biāo)準(zhǔn)化管理。數(shù)據(jù)源管理系統(tǒng)正是充分利用了該特點(diǎn),設(shè)計并統(tǒng)一了數(shù)據(jù)接口標(biāo)準(zhǔn),二次開發(fā)或上層應(yīng)用擴(kuò)展不再需要不斷重復(fù)地投入成本來研究和測試底層數(shù)據(jù)源的特性,只需熟悉數(shù)據(jù)接口標(biāo)準(zhǔn)即可一勞永逸,即無論原計劃是與哪個數(shù)據(jù)源交互,現(xiàn)在只要該數(shù)據(jù)源交由數(shù)據(jù)源管理系統(tǒng)管理,就會具有相同的數(shù)據(jù)結(jié)構(gòu)及接口類型定義等,這可以極大地降低投入成本。
數(shù)據(jù)源管理系統(tǒng)進(jìn)行架構(gòu)設(shè)計時,不僅要考慮到標(biāo)準(zhǔn)化管理,還要兼顧與各個數(shù)據(jù)源交互的差異性,所以采用獨(dú)立配屬的方式,為每個數(shù)據(jù)源配屬了獨(dú)立的數(shù)據(jù)源文件,在該數(shù)據(jù)源文件內(nèi),可自定義設(shè)置對應(yīng)數(shù)據(jù)源所在的IP地址、端口號及連接池初始化個數(shù)等信息,對這個信息文件內(nèi)容的修改不會影響其他信息文件。統(tǒng)一化和差異化并舉使得數(shù)據(jù)源管理和二次應(yīng)用擴(kuò)展的效率得以提高。
基于數(shù)據(jù)源總線化布局解決方案所開發(fā)的數(shù)據(jù)源管理系統(tǒng),在多個工業(yè)企業(yè)的信息化項目中得到了應(yīng)用,并產(chǎn)生了較大的經(jīng)濟(jì)和社會效益。
本方案實(shí)施后,信息系統(tǒng)布局將構(gòu)建起清晰的三層架構(gòu):應(yīng)用層、數(shù)據(jù)源框架層和數(shù)據(jù)源層。在數(shù)據(jù)源層,多種數(shù)據(jù)源執(zhí)行本方案的協(xié)議后,可在框架總線上隨意插拔,部署完成后,通過數(shù)據(jù)源管理系統(tǒng)即可實(shí)現(xiàn)對這些數(shù)據(jù)源的交互管理,而這些數(shù)據(jù)源不論是本地部署還是遠(yuǎn)程架起都不會對數(shù)據(jù)源管理系統(tǒng)產(chǎn)生任何影響。本方案使得這些數(shù)據(jù)源成為“黑箱”,上層應(yīng)用無需再根據(jù)特定的數(shù)據(jù)源實(shí)現(xiàn)定制開發(fā),只需根據(jù)方案內(nèi)提供的統(tǒng)一協(xié)議,由與原來特定的數(shù)據(jù)源直接交互方式轉(zhuǎn)變?yōu)榕c數(shù)據(jù)源管理系統(tǒng)進(jìn)行間接交互的方式,從原來的一對一服務(wù)模式,轉(zhuǎn)變?yōu)橐粚Χ喙蚕砟J剑虼藰O大地降低了成本并提高了通用性。
以甘肅省白銀市某軍工企業(yè)為例,該企業(yè)內(nèi)部有復(fù)雜的信息系統(tǒng),包含生產(chǎn)過程實(shí)時監(jiān)控系統(tǒng)、生產(chǎn)計劃管理、生產(chǎn)調(diào)度管理、生產(chǎn)統(tǒng)計報表和企業(yè)資源計劃系統(tǒng)(ERP)與實(shí)驗室信息管理系統(tǒng)(LIMS),并且該企業(yè)的數(shù)據(jù)來源復(fù)雜:有直接通過Modbus方式從儀表接入的數(shù)據(jù),也有通過OSISoft PI實(shí)時數(shù)據(jù)庫進(jìn)行中轉(zhuǎn)的數(shù)據(jù),其中還部署了浙江中控軟件技術(shù)有限公司的ESP-iSYS實(shí)時數(shù)據(jù)庫采集部分控制系統(tǒng)的數(shù)據(jù)。針對這種情況,在該項目實(shí)施時采用了數(shù)據(jù)源管理系統(tǒng)作為企業(yè)的數(shù)據(jù)總線,將各種數(shù)據(jù)源通過對應(yīng)的適配器整合到數(shù)據(jù)源管理系統(tǒng)總線上,上層的應(yīng)用系統(tǒng)統(tǒng)一通過該數(shù)據(jù)源總線存取數(shù)據(jù),這種方式極大地簡化了異構(gòu)系統(tǒng)的數(shù)據(jù)整合,使得上層各種應(yīng)用系統(tǒng)能夠基于同一個接口進(jìn)行開發(fā),進(jìn)而使得整個信息化項目的實(shí)施周期縮短。
筆者基于數(shù)據(jù)源總線化布局解決方案所提出的數(shù)據(jù)源管理系統(tǒng)已經(jīng)應(yīng)用到工業(yè)企業(yè)的實(shí)際信息化項目中,結(jié)果表明,該數(shù)據(jù)源管理系統(tǒng)能夠有效地解決企業(yè)在提高信息化程度過程中逐漸顯現(xiàn)出的問題,實(shí)現(xiàn)了對復(fù)雜信息系統(tǒng)的數(shù)據(jù)整合與簡化,并取得了一定的經(jīng)濟(jì)和社會效益。
[1] Juval L著,徐雷,徐揚(yáng)譯.WCF服務(wù)編程[M].武漢:華中科技大學(xué)出版社,2011.