亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        通用數(shù)采監(jiān)控系統(tǒng)數(shù)據(jù)集成設(shè)計與實現(xiàn)

        2012-03-21 10:04:18曾志強(qiáng)王紹源譚蓉
        電子技術(shù)應(yīng)用 2012年6期
        關(guān)鍵詞:功能模塊規(guī)則系統(tǒng)

        曾志強(qiáng),王紹源,譚蓉

        (湖南大學(xué)電氣與信息工程學(xué)院,湖南長沙410082)

        隨著數(shù)采監(jiān)控系統(tǒng)SCADA(Supervisory Control and Data Acquisition)業(yè)務(wù)集成的深入發(fā)展,敏捷、不受限制的采集數(shù)據(jù)的集成已成為關(guān)鍵的業(yè)務(wù)需求。企業(yè)的發(fā)展不僅需要引進(jìn)一些新的應(yīng)用數(shù)據(jù)服務(wù)器系統(tǒng),而且要整合舊的數(shù)據(jù)應(yīng)用服務(wù)器系統(tǒng),以實現(xiàn)整個企業(yè)之間甚至不同企業(yè)之間的采集數(shù)據(jù)信息的共享和更新。為實現(xiàn)異構(gòu)協(xié)議數(shù)據(jù)應(yīng)用服務(wù)器之間的信息共享,需對其傳輸?shù)臄?shù)據(jù)信息進(jìn)行變換,實現(xiàn)各傳輸協(xié)議之間的集成轉(zhuǎn)換。

        解決協(xié)議集成轉(zhuǎn)換的典型方法,主要有“ESB服務(wù)總線”、“Mule服務(wù)總線”、“基于JBI的ServiceMix服務(wù)總線”以及“CXF服務(wù)總線”[1],但這些方法只支持標(biāo)準(zhǔn)的數(shù)據(jù)傳輸協(xié)議,不能集成各種異構(gòu)數(shù)據(jù)應(yīng)用服務(wù)器自定義的協(xié)議,無法滿足企業(yè)的各種采集數(shù)據(jù)信息共享與升級的實際需求。有鑒于此,對異構(gòu)數(shù)據(jù)自定義協(xié)議集成的研究和分析,具有一定的現(xiàn)實意義。

        1 系統(tǒng)設(shè)計

        針對目前市場上協(xié)議轉(zhuǎn)換方法的不足,本文構(gòu)建一個能支持自定義協(xié)議集成的系統(tǒng)。該系統(tǒng)通過用戶配置其自定義協(xié)議,不僅實現(xiàn)接收自定義應(yīng)用傳輸協(xié)議的數(shù)據(jù)流并進(jìn)行解析,而且能發(fā)送自定義應(yīng)用協(xié)議的數(shù)據(jù)給其他異構(gòu)通信應(yīng)用服務(wù)器。此外,系統(tǒng)能支持用戶自定義協(xié)議解析規(guī)則,具有良好的擴(kuò)展性,并具有穩(wěn)定可靠、處理能力強(qiáng)、管理方便等特點。

        1.1 系統(tǒng)結(jié)構(gòu)設(shè)計

        系統(tǒng)可分為應(yīng)用層、業(yè)務(wù)層與資源層三個部分。應(yīng)用層負(fù)責(zé)對異構(gòu)數(shù)據(jù)協(xié)議的各種應(yīng)用管理及動態(tài)展示實時數(shù)據(jù)等應(yīng)用功能。業(yè)務(wù)層是整個系統(tǒng)的核心層,不僅負(fù)責(zé)監(jiān)聽計算機(jī)各不同端口,對接收的數(shù)據(jù)流進(jìn)行識別、解析以及存儲、分發(fā)等各種處理,而且為整個系統(tǒng)提供數(shù)據(jù)支撐,及各種數(shù)據(jù)的增、刪、查、改等數(shù)據(jù)操作功能;資源層包括本系統(tǒng)所有的數(shù)據(jù)資源,即數(shù)據(jù)庫、系統(tǒng)臨時數(shù)據(jù)及外部采集系統(tǒng)發(fā)送的數(shù)據(jù)流。系統(tǒng)的結(jié)構(gòu)如圖1所示。

        1.2 異構(gòu)數(shù)據(jù)協(xié)議解析規(guī)則分析及其管理設(shè)計

        協(xié)議解析規(guī)則是在解析協(xié)議時對協(xié)議數(shù)據(jù)流的處理手段。綜合分析各種標(biāo)準(zhǔn)應(yīng)用協(xié)議及各用戶自定義協(xié)議,大致有三種不同的協(xié)議解析規(guī)則:(1)控制規(guī)則:協(xié)議解析時對整體數(shù)據(jù)流的處理手段,如協(xié)議是否需要回復(fù)、校驗和及協(xié)議序列號等;(2)數(shù)據(jù)前處理規(guī)則:對單個協(xié)議數(shù)據(jù)解析前的處理手段,如解析前對單個數(shù)據(jù)字節(jié)大小端進(jìn)行的變換;(3)數(shù)據(jù)解析后處理規(guī)則:對已解析出來的單個數(shù)據(jù)進(jìn)行處理的規(guī)則,如將解析出的數(shù)據(jù)乘以標(biāo)定。

        規(guī)則管理設(shè)計原則是用戶能方便地加載自己定制的協(xié)議解析規(guī)則,使得系統(tǒng)具有更強(qiáng)的擴(kuò)展性。本系統(tǒng)擬采取數(shù)據(jù)庫機(jī)制,在系統(tǒng)的應(yīng)用層增加管理功能實現(xiàn)。

        1.3 自定義異構(gòu)數(shù)據(jù)協(xié)議模型設(shè)計

        協(xié)議格式模型的設(shè)計原則是保證協(xié)議格式能符合大部分用戶的需求,使得系統(tǒng)具有高度的靈活性和廣泛的適應(yīng)性。

        異構(gòu)協(xié)議的具體幀格式由用戶自由配置。協(xié)議格式由包頭、命令區(qū)、數(shù)據(jù)區(qū)以及包尾組成,格式配置模型如圖2所示。

        考慮到實際應(yīng)用中各自定義的數(shù)據(jù)協(xié)議格式因需而異,協(xié)議格式框架中的包頭、命令區(qū)以及包尾是協(xié)議的可選部分,在配置時可根據(jù)協(xié)議具體需求選擇。數(shù)據(jù)區(qū)是協(xié)議不可缺少的部分,協(xié)議的數(shù)據(jù)流包含的類型有數(shù)據(jù)類型與非數(shù)據(jù)類型。數(shù)據(jù)類型是字節(jié)型、短整型、整型、長整型、浮點型及雙精度型以及它們各自的數(shù)組類型組成;非數(shù)據(jù)類型為字符串類型。

        命令區(qū)存放的是協(xié)議的控制數(shù)據(jù)流,解析協(xié)議數(shù)據(jù)流時按命令區(qū)類型進(jìn)行解析。當(dāng)命令區(qū)參數(shù)不為空時,將解析結(jié)果與參數(shù)相比對,相等則調(diào)用對應(yīng)的協(xié)議控制規(guī)則;當(dāng)命令區(qū)參數(shù)為空時,可直接調(diào)用對應(yīng)的協(xié)議控制規(guī)則進(jìn)行校驗。數(shù)據(jù)區(qū)存放的是協(xié)議的消息數(shù)據(jù),其類型為數(shù)據(jù)類型,用戶可對數(shù)據(jù)在解析前后進(jìn)行必要的處理。

        2 系統(tǒng)實現(xiàn)

        系統(tǒng)使用基于J2EE平臺設(shè)計,從而實現(xiàn)了跨平臺、可復(fù)用、易維護(hù)等特性。系統(tǒng)整體使用了Spring+Hibernate框架進(jìn)行開發(fā)。系統(tǒng)依賴于Spring的IOC功能對各JavaBean進(jìn)行管理,促進(jìn)系統(tǒng)功能模塊間的松耦合。同時系統(tǒng)使用Spring對數(shù)據(jù)資源進(jìn)行事務(wù)管理,保證系統(tǒng)數(shù)據(jù)的完整性和系統(tǒng)性能的高效性[2]。系統(tǒng)采用Hibernate框架,以完全面向?qū)ο蟮乃枷雽?shù)據(jù)進(jìn)行管理與優(yōu)化,完全隔離了底層數(shù)據(jù)庫機(jī)制,使得系統(tǒng)適用于Mysql、Sql Server及Oracle等數(shù)據(jù)庫[3]。

        系統(tǒng)包括通信模塊、應(yīng)用管理模塊和數(shù)據(jù)管理模塊三個部分。模塊之間有連接接口或者由數(shù)據(jù)池進(jìn)行控制連接。通信模塊與應(yīng)用管理模塊為本系統(tǒng)的核心部分,數(shù)據(jù)管理模塊為其他模塊提供數(shù)據(jù)支撐。

        2.1 通信模塊

        系統(tǒng)采取NIO Socket通信技術(shù)以及多線程機(jī)制進(jìn)行實現(xiàn)通信模塊,提高了系統(tǒng)的并發(fā)處理能力、優(yōu)化了系統(tǒng)的響應(yīng)速度。通信模塊的組成如圖3所示。

        2.1.1 數(shù)據(jù)接收及協(xié)議識別、解析模塊

        圖3 通信模塊組成圖

        協(xié)議的識別與解析是系統(tǒng)的核心功能,正確、高效地進(jìn)行協(xié)議的識別與解析是系統(tǒng)運行的保障。在此功能模塊中,系統(tǒng)基于Mina通信框架進(jìn)行擴(kuò)展、開發(fā)。Mina框架是由Java技術(shù)開發(fā)的一種用于開發(fā)高性能和高可用性的網(wǎng)絡(luò)應(yīng)用程序的基礎(chǔ)框架,該框架具有多協(xié)議支持、多端口監(jiān)聽、異步通信等優(yōu)點[4]。利用Mina框架,不僅可在同一端口監(jiān)聽不同協(xié)議的數(shù)據(jù)流,而且可在多個端口監(jiān)聽獲取數(shù)據(jù)流。模塊解析數(shù)據(jù)時,考慮到網(wǎng)絡(luò)延遲及TCP/IP的數(shù)據(jù)采用的是分組傳輸方式,將上次解碼剩余的碼流存放起來,與下次同一Session接收的數(shù)據(jù)流合并進(jìn)行整合解碼。模塊解析數(shù)據(jù)工作流程如圖4所示。

        系統(tǒng)根據(jù)動態(tài)注冊的協(xié)議判別監(jiān)聽不同的端口,接收各采集系統(tǒng)發(fā)送的數(shù)據(jù)流,利用Mina框架的數(shù)據(jù)過濾機(jī)制和數(shù)據(jù)緩沖機(jī)制,對數(shù)據(jù)流實現(xiàn)“收”慢—“解析”快的策略。合并數(shù)據(jù)流之后,模塊聯(lián)合協(xié)議端口匹配、特征匹配等多種協(xié)議匹配方式對數(shù)據(jù)進(jìn)行協(xié)議匹配,確保協(xié)議匹配的精準(zhǔn)性。

        2.1.2 對外數(shù)據(jù)接口模塊

        系統(tǒng)采用一個線程實現(xiàn)此功能模塊。線程在系統(tǒng)啟動時初始化運行,用于維護(hù)解析成功數(shù)據(jù)的哈希表并分發(fā)數(shù)據(jù)。當(dāng)有解析成功的數(shù)據(jù)放入表中時,此線程從休眠狀態(tài)被喚醒,取出哈希表中的數(shù)據(jù),進(jìn)行三方面的分發(fā):(1)如果此協(xié)議正在被用戶查看實時數(shù)據(jù),則線程向界面推送協(xié)議的實時數(shù)據(jù)進(jìn)行顯示;(2)發(fā)送給數(shù)據(jù)存儲模塊,進(jìn)行協(xié)議數(shù)據(jù)的存儲;(3)查詢系統(tǒng)與外部數(shù)據(jù)請求系統(tǒng)進(jìn)行通信的(協(xié)議,Session)哈希表,根據(jù)條件將數(shù)據(jù)發(fā)送給對外數(shù)據(jù)接口模塊,使其向外部請求數(shù)據(jù)系統(tǒng)發(fā)送實時數(shù)據(jù)。如此輪詢分發(fā)完畢解析成功的數(shù)據(jù)后,線程進(jìn)入休眠狀態(tài)。線程采取“休眠—喚醒”機(jī)制,減少了系統(tǒng)占用的內(nèi)存資源,優(yōu)化了系統(tǒng)的性能。

        2.1.3 對外數(shù)據(jù)接口功能

        外部系統(tǒng)的數(shù)據(jù)請求分為兩種:實時數(shù)據(jù)請求與歷史數(shù)據(jù)請求。系統(tǒng)與外部系統(tǒng)建立連接,根據(jù)外部系統(tǒng)的請求類型進(jìn)行不同的處理:(1)實時數(shù)據(jù)請求:維護(hù)系統(tǒng)的通信(協(xié)議,Session)哈希表,發(fā)送所請求協(xié)議的實時數(shù)據(jù);(2)歷史數(shù)據(jù)請求:根據(jù)所請求的協(xié)議時間范圍查詢數(shù)據(jù)庫,返回相應(yīng)的數(shù)據(jù)。

        2.2 數(shù)據(jù)管理模塊

        數(shù)據(jù)管理模塊充分利用Hibernate框架出色的對象/關(guān)系數(shù)據(jù)庫映射、靈活的數(shù)據(jù)庫數(shù)據(jù)池管理、面向?qū)ο蟮腍QL語言等優(yōu)點,為其他模塊提供數(shù)據(jù)存儲、數(shù)據(jù)更新、數(shù)據(jù)查詢等功能。

        2.3 應(yīng)用管理模塊

        應(yīng)用管理模塊負(fù)責(zé)系統(tǒng)應(yīng)用層的功能管理,包括協(xié)議編輯管理、協(xié)議解析規(guī)則管理、協(xié)議生命周期管理及實時數(shù)據(jù)顯示四個應(yīng)用功能模塊。協(xié)議編輯管理與協(xié)議解析規(guī)則管理主要以數(shù)據(jù)管理模塊為支撐,而協(xié)議生命周期管理和實時數(shù)據(jù)顯示模塊是與通信模塊進(jìn)行交互實現(xiàn)。

        2.3.1 協(xié)議編輯管理功能模塊

        協(xié)議編輯管理功能模塊包括對數(shù)據(jù)協(xié)議的增、刪、查、改四個應(yīng)用功能。系統(tǒng)以異構(gòu)數(shù)據(jù)協(xié)議模型為原型,建立數(shù)據(jù)協(xié)議格式的配置界面。協(xié)議的新增、修改與查看功能通過協(xié)議格式配置界面進(jìn)行相應(yīng)操作。

        2.3.2 自定義協(xié)議規(guī)則管理功能模塊

        系統(tǒng)將自定義的協(xié)議控制規(guī)則和數(shù)據(jù)處理策略存儲在數(shù)據(jù)庫中。用戶可以采用Java語言開發(fā)實現(xiàn)系統(tǒng)定義的規(guī)則接口,開發(fā)自己的協(xié)議規(guī)則,將生成的.class文件導(dǎo)入系統(tǒng)數(shù)據(jù)庫。用戶也可以通過界面刪除相應(yīng)的協(xié)議控制規(guī)則或者數(shù)據(jù)處理策略。

        2.3.3 協(xié)議生命周期管理功能模塊

        協(xié)議的生命周期是協(xié)議在系統(tǒng)中動態(tài)注冊至撤銷的時間周期,其管理功能模塊包括協(xié)議動態(tài)注冊與撤消兩個功能。此功能模塊與通信模塊進(jìn)行交互,利用通信模塊中Mina框架的動態(tài)多端口監(jiān)聽的特性,向框架實例進(jìn)行動態(tài)注冊與撤消,從而維護(hù)系統(tǒng)協(xié)議哈希表中的協(xié)議。

        2.3.4 實時數(shù)據(jù)顯示功能

        系統(tǒng)利用Java的Swing庫為每個注冊協(xié)議動態(tài)生成一個JPanel,通過單例模式管理每個JPanel的句柄。當(dāng)通信模塊分發(fā)解析出協(xié)議數(shù)據(jù)時,系統(tǒng)通過句柄調(diào)用相應(yīng)的JPanel并向其增添實時數(shù)據(jù)。當(dāng)用戶查看相應(yīng)協(xié)議的實時數(shù)據(jù)時,系統(tǒng)將該協(xié)議的JPanel設(shè)置為可視狀態(tài),從而向用戶展示實時接收到的整體數(shù)據(jù)。

        本文設(shè)計并實現(xiàn)了一種基于Java語言開發(fā)的異構(gòu)數(shù)據(jù)協(xié)議集成通信系統(tǒng),介紹了異構(gòu)數(shù)據(jù)協(xié)議格式模型以及該系統(tǒng)的各功能模塊。系統(tǒng)核心部分采用NIO Socket技術(shù)以及多線程機(jī)制實現(xiàn),使系統(tǒng)的性能得以極大提高,同時具有良好的靈活性、平臺無關(guān)性及高擴(kuò)展性。本系統(tǒng)為采集數(shù)據(jù)的轉(zhuǎn)換集成提供了一種新的實現(xiàn)途徑,具有一定的創(chuàng)新和實用價值。

        [1]梁愛虎.SOA思想、技術(shù)與系統(tǒng)集成應(yīng)用詳解[M].北京:電子工業(yè)出版社,2007.

        [2]WALLS C,BREIDENBACH R.Spring in Action[M].America:Manning Publications,2005.

        [3]BAUER C,KING G.Hibernate in action[M].Ameircn:Manning Publications,2004.

        [4]The Apache Software Foundation.Apache Mina[EB/OL].[2011-06-16].http://mina.apache.org.

        猜你喜歡
        功能模塊規(guī)則系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        撐竿跳規(guī)則的制定
        數(shù)獨的規(guī)則和演變
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        讓規(guī)則不規(guī)則
        Coco薇(2017年11期)2018-01-03 20:59:57
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        TPP反腐敗規(guī)則對我國的啟示
        基于ASP.NET標(biāo)準(zhǔn)的采購管理系統(tǒng)研究
        輸電線路附著物測算系統(tǒng)測算功能模塊的研究
        人妻无码aⅴ中文系列久久免费| 风韵少妇性饥渴推油按摩视频| 亚欧色一区w666天堂| 欧美老妇与禽交| 九九精品国产99精品| 一区二区精品天堂亚洲av| 97一期涩涩97片久久久久久久| 性生交大片免费看淑女出招| 国产午夜精品一区二区三区不| 在线视频日韩精品三区| 国产99一区二区三区四区| 国产免国产免费| 亚洲av美女在线播放啊| 国产精品丝袜美腿诱惑| 欧美xxxxx高潮喷水| 天堂草原电视剧在线观看图片高清| 毛片无遮挡高清免费久久| 精品人妻av区二区三区| 婷婷伊人久久大香线蕉av| 最近中文字幕mv在线资源| 91中文人妻丝袜乱一区三区| 你懂的视频网站亚洲视频| 久久亚洲欧美国产精品| 國产一二三内射在线看片| 亚洲αv在线精品糸列| 黄色影院不卡一区二区| 国产色在线 | 亚洲| 可以免费在线看黄的网站| 区三区久久精品水蜜桃av| 色大全全免费网站久久| 伊人狠狠色丁香婷婷综合| 亚洲福利天堂网福利在线观看 | 日本一级片一区二区三区| 国产三级精品三级| 亚洲中久无码永久在线观看软件 | 真实夫妻露脸自拍视频在线播放 | 国产三级国产精品三级在专区| 蜜桃av人妻精品一区二区三区 | 中文字幕人成乱码中文乱码| 美女在线一区二区三区视频| 久久超碰97人人做人人爱 |