RFID世界網(wǎng) >
技術(shù)文章 >
其他 >
正文
基于RFID實(shí)時(shí)監(jiān)控系統(tǒng)的通信數(shù)據(jù)處理方案研究
作者:高飛
來源:RFID世界網(wǎng)
日期:2008-01-25 17:12:52
摘要:扼要分析RFID技術(shù)在柔性制造系統(tǒng)(FMS)中的優(yōu)勢(shì),通過介紹RFID在汽油發(fā)動(dòng)機(jī)生產(chǎn)線監(jiān)控執(zhí)行系統(tǒng)中的實(shí)際應(yīng)用,給出系統(tǒng)的整體參考架構(gòu),進(jìn)一步重點(diǎn)分析系統(tǒng)中數(shù)據(jù)通信中間件技術(shù)的選擇、邊緣層的數(shù)據(jù)過濾技術(shù)及通信數(shù)據(jù)的持久化方案,從而對(duì)基于RFID系統(tǒng)中通信數(shù)據(jù)處理的實(shí)際設(shè)計(jì)方案給出了一種可行的、有價(jià)值的參考。
0 引 言
隨著信息技術(shù)的廣泛發(fā)展,生產(chǎn)技術(shù)發(fā)生了革命性的變化,柔性制造系統(tǒng)(FMS)已逐漸開始在離散制造業(yè)中嶄露頭腳。傳統(tǒng)的生產(chǎn)系統(tǒng)由于缺乏信息監(jiān)測(cè)手段,無法隨生產(chǎn)條件及生產(chǎn)目標(biāo)的改變而動(dòng)態(tài)均衡調(diào)整生產(chǎn),故障事件得不到及時(shí)處理,物流缺乏指導(dǎo),工位連接不暢導(dǎo)致阻塞和缺料事件。條形碼技術(shù)以其較低成本,較高的準(zhǔn)確性、可靠性及輸入速度快等優(yōu)點(diǎn)得到了行業(yè)的廣泛認(rèn)可。但隨著高度柔性化系統(tǒng)對(duì)數(shù)據(jù)采集精確度日益提高,同時(shí)生產(chǎn)也要求物品實(shí)現(xiàn)真正的自動(dòng)化管理,RFID(射頻識(shí)別)技術(shù)應(yīng)運(yùn)而生。
與傳統(tǒng)的條形碼識(shí)別相比,射頻識(shí)別技術(shù)有更大的讀寫距離和范圍,可以直接識(shí)別生產(chǎn)流水線上移動(dòng)中的智能吊架標(biāo)簽,并且避免了條形碼可能受到外部灰塵、油污等環(huán)境污染而對(duì)識(shí)別造成的影響。此外更重要的是射頻識(shí)別技術(shù)不但可以將射頻標(biāo)簽的數(shù)據(jù)讀出,還可以通過終端來進(jìn)行數(shù)據(jù)重復(fù)寫入。
文中的應(yīng)用背景正是基于離散制造業(yè)的生產(chǎn)過程實(shí)時(shí)監(jiān)控執(zhí)行系統(tǒng),采用RF1D的智能識(shí)別替代原有的條碼識(shí)別技術(shù),使車間管理由繁化簡(jiǎn),更加體現(xiàn)數(shù)據(jù)采集的實(shí)時(shí)性及準(zhǔn)確性,使生產(chǎn)自動(dòng)化理念得到了徹底體現(xiàn)。
1 基于RFID實(shí)時(shí)監(jiān)控系統(tǒng)的構(gòu)成
圖1描述的生產(chǎn)過程實(shí)時(shí)監(jiān)控執(zhí)行系統(tǒng)的RFID解決方案參考架構(gòu)分六層實(shí)現(xiàn):數(shù)據(jù)采集層、RFID邊緣服務(wù)器層、數(shù)據(jù)持久層、企業(yè)服務(wù)器層、集成層和應(yīng)用層。
*RFID邊緣服務(wù)器層,邊緣服務(wù)器定期輪詢閱讀器(例如,每秒兩次),以消除重復(fù)操作,并執(zhí)行過濾和設(shè)備管理。邊緣服務(wù)器還產(chǎn)生AI 事件并將事件發(fā)送到上層應(yīng)用。
*持久層,負(fù)責(zé)底層通信數(shù)據(jù)與上層EP,P數(shù)據(jù)的持久化操作,并存儲(chǔ)電子標(biāo)簽事件。
*企業(yè)服務(wù)器層,處理及控制企業(yè)應(yīng)用層的業(yè)務(wù)邏輯,同時(shí)提供對(duì)持久層的集中管理。
*企業(yè)應(yīng)用層,提供人機(jī)交互界面,實(shí)現(xiàn)對(duì)業(yè)務(wù)的操作和管理。
*集成層,集成現(xiàn)有ERP,通過使用組件服務(wù),最大化已有的業(yè)務(wù)處理資源。通過抽取、處理、分析不同業(yè)務(wù)數(shù)據(jù),進(jìn)行數(shù)據(jù)和業(yè)務(wù)的整合。
RFID控制信息通過操作門戶流入集成層,然后流入企業(yè)服務(wù)器層、持久層、邊緣層,最后通過工位控制器流入閱讀器;而閱讀器獲取的RFID數(shù)據(jù)則在過濾后順著這個(gè)鏈向上傳送。
2 通信中間件技術(shù)模型選擇
中間件是處于操作系統(tǒng)和應(yīng)用程序之間的軟件,它是一種獨(dú)立的服務(wù)程序,分布式應(yīng)用軟件借助中間件在不同的技術(shù)之間共享資源[引。網(wǎng)絡(luò)通信中間件應(yīng)能在不同平臺(tái)之間通信,實(shí)現(xiàn)分布式系統(tǒng)中可靠的、高效的、實(shí)時(shí)的跨平臺(tái)數(shù)據(jù)傳輸。通信中間件最常見的三種形式包括:會(huì)話編程(如TCP/IP的Socket)、遠(yuǎn)程過程調(diào)用(RPC)以及消息隊(duì)列中間件(MOM,message~oriented middleware)。
2.1 遠(yuǎn)程過程調(diào)用(RPC)
遠(yuǎn)程過程調(diào)用(RPC)是一種同步對(duì)話方式模型 。RPC為客戶機(jī)提供向后端服務(wù)器申請(qǐng)服務(wù)的通信機(jī)制,如果你把客戶機(jī)/月艮務(wù)器應(yīng)用程序想作是一個(gè)分割的程序,則服務(wù)器運(yùn)行數(shù)據(jù)訪問部分,因?yàn)樗x數(shù)據(jù)最近,客戶機(jī)則運(yùn)行數(shù)據(jù)表示和與用戶交互的前端部分。這樣,遠(yuǎn)程過程調(diào)用可看作是把分割的程序通過網(wǎng)絡(luò)重組的部件。使用RPC通信實(shí)質(zhì)上就是把程序分為主調(diào)程序和被調(diào)程序兩類,兩者之間以典型的C/S模式進(jìn)行信息交流。而且主傲調(diào)程序一般是同步、基于連接的。
2.2 會(huì)話編程
會(huì)話編程也是一種同步的對(duì)話模式。會(huì)話通信是在對(duì)等的通信雙方之間存在一種基于應(yīng)用程序的私有邏輯通信,在整個(gè)會(huì)話過程中一直保持該邏輯連接被通信雙方的應(yīng)用程序獨(dú)占。一個(gè)程序也可以同時(shí)參加多個(gè)對(duì)話,當(dāng)邏輯連接與程序連接關(guān)系緊密時(shí),一般采用會(huì)話編程。會(huì)話編程要求程序間的耦合度很高,因此編程時(shí)需過多關(guān)注底層通信的細(xì)節(jié)問題。
2.3 消息隊(duì)列中間件
消息隊(duì)列中間件采用的是異步通信模式,它利用高效可靠的消息傳遞機(jī)制進(jìn)行平臺(tái)無關(guān)的數(shù)據(jù)交換,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)的集成。其實(shí)現(xiàn)原理是:消息的發(fā)送者把自己想要發(fā)送的信息放入一個(gè)容器中(Message),然后把它保存至一個(gè)系統(tǒng)公用空間的消息隊(duì)列(Message Queue)中;本地或者是異地的消息接收程序再?gòu)脑撽?duì)列中取出發(fā)給它的消息進(jìn)行處理。消息傳遞機(jī)制中傳遞的消息由通信雙方商議協(xié)定,這樣做的好處是:一方面對(duì)數(shù)據(jù)進(jìn)行了加密,另一方面采用自己定義的通信格式可以節(jié)省傳遞量。此外消息也可以含有時(shí)間戳,以便于接收方對(duì)某些與時(shí)間相關(guān)的應(yīng)用進(jìn)行處理。消息還可以含有到期時(shí)間,它表明如果在指定時(shí)間內(nèi)消息還未到達(dá)則作廢。
2.4 確定模型
RFID讀寫器每秒能捕捉120 400個(gè)信號(hào),產(chǎn)生大量需要處理的數(shù)據(jù),為了處理龐大的數(shù)據(jù)流,必須采用多線程多路技術(shù)。考慮到線程處理的異步及程序的完整、可移植性,以及通信應(yīng)用程序的松耦合度,系統(tǒng)中通信機(jī)制采用了消息隊(duì)列服務(wù)模型。采用消息隊(duì)列的好處有:由于是異步通信,無論是發(fā)送方還是接收方都不用等待對(duì)方返回成功消息,就可以執(zhí)行余下的代碼,因而大大地提高了事物處理的能力;在信息傳送過程中,信息發(fā)送機(jī)制具有一定功能的故障恢復(fù)能力;消息傳遞機(jī)制使得消息通信的雙方具有不同的物理平臺(tái)成為可能。具體解決方案是采用阻塞I/O技術(shù),為每個(gè)客戶端打開一個(gè)套接字,并為每一客戶創(chuàng)建一個(gè)唯一的線程,通過批量信息傳送,將許多請(qǐng)求打包到一個(gè)數(shù)據(jù)包以減輕網(wǎng)絡(luò)擁塞,縮短多個(gè)請(qǐng)求通過安全層和其他代碼層所需的時(shí)間。
3 邊緣服務(wù)器層數(shù)據(jù)流過濾技術(shù)
邊緣服務(wù)器層(簡(jiǎn)稱邊緣層)位于企業(yè)應(yīng)用層與通信中間件之間。以保障信息傳送,以及執(zhí)行任何所需的數(shù)據(jù)格式轉(zhuǎn)換。由于通信中間件只保證數(shù)據(jù)流無差錯(cuò)實(shí)時(shí)傳送并不負(fù)責(zé)對(duì)傳輸數(shù)據(jù)包的解析、分組等復(fù)雜工作。因此實(shí)時(shí)采集的原始數(shù)據(jù)流經(jīng)過通信中間件到達(dá)邊緣層或由企業(yè)應(yīng)用層下發(fā)的指令、數(shù)據(jù)等信息將交給邊緣層作統(tǒng)一處理。
3.1 生成ALE事件
邊緣層處理的數(shù)據(jù)來源有兩個(gè)方向:一種數(shù)據(jù)導(dǎo)向來于RFID讀寫器采集的數(shù)據(jù)流,另一種來于企業(yè)應(yīng)用層下發(fā)的指令及數(shù)據(jù)。在分布式事務(wù)處理系統(tǒng)中要處理大量事務(wù),常常在系統(tǒng)中要同時(shí)做大量的事務(wù)。例如在聯(lián)機(jī)事務(wù)處理系統(tǒng)(OLTP )中,每筆事務(wù)常常要多臺(tái)服務(wù)器上的程序順序地協(xié)調(diào)完成,一旦中間發(fā)生某種故障時(shí),不但要完成恢復(fù)工作,而且要自動(dòng)切換系統(tǒng),達(dá)到系統(tǒng)永不停機(jī),實(shí)現(xiàn)高可靠性運(yùn)行;同時(shí)要使大量事務(wù)在應(yīng)用服務(wù)器能實(shí)時(shí)并發(fā)運(yùn)行,并進(jìn)行負(fù)載平衡地調(diào)度,實(shí)現(xiàn)昂貴的可靠性機(jī)和大型計(jì)算機(jī)系統(tǒng)同等的功能,為了實(shí)現(xiàn)這個(gè)目標(biāo),要求系統(tǒng)具有監(jiān)視和調(diào)度整個(gè)系統(tǒng)的功能 。因此作為一個(gè)事務(wù)處理平臺(tái),根據(jù)X/OPEN的參數(shù)模型規(guī)定,應(yīng)由事務(wù)處理中間件、通信處理中間件以及數(shù)據(jù)存取管理中間件三部分組成。
本應(yīng)用中邊緣層將事務(wù)處理與數(shù)據(jù)存取管理做統(tǒng)一調(diào)度,通信處理則交由通信中間件執(zhí)行。事務(wù)的生成與執(zhí)行采用ALE(應(yīng)用級(jí)事件)標(biāo)準(zhǔn)(ALE由EPC—global軟件行動(dòng)小組中超過100多家的領(lǐng)先企業(yè)研究開發(fā),并建立了支持EPC的軟件產(chǎn)品在收集、管理和安排EPC技術(shù)在供應(yīng)鏈中生成的數(shù)據(jù)時(shí)所應(yīng)采用的方法)。ALE能有助RFID使用者選擇希望接收的RFID數(shù)據(jù),避免因接收過量不需要的數(shù)據(jù)而造成系統(tǒng)超負(fù)荷。
3.2 消息傳遞機(jī)制
由于網(wǎng)絡(luò)、異常、人為誤操作等原因,數(shù)據(jù)可能會(huì)出現(xiàn)丟失、差錯(cuò)、重復(fù)等狀況,因此不能保證消息傳遞的“一次發(fā)送正確性”。另一方面事務(wù)的執(zhí)行過程:消息在事務(wù)化人隊(duì)和出隊(duì)中,若操作存在不一致性,即一個(gè)操作尚未完成,如消息人隊(duì),就不能保證它已經(jīng)人隊(duì),同樣也不能保證真的處理了出隊(duì)。因而在消息傳遞中除了采用異步傳輸模式外,在邊緣層還需設(shè)置處理時(shí)序,設(shè)定保障機(jī)制,即與實(shí)時(shí)更新數(shù)據(jù)庫(kù)建立一種匹配,對(duì)數(shù)據(jù)進(jìn)行輕量級(jí)偵聽檢測(cè)。若傳輸數(shù)據(jù)與數(shù)據(jù)庫(kù)中更新之間存在完美匹配,則將丟棄重復(fù)數(shù)據(jù),若兩者之間存在完全匹配,則修改丟失或差錯(cuò)數(shù)據(jù)項(xiàng)。若兩者不存在匹配,則作為一次新的事務(wù)進(jìn)行提交處理。
3.3 單點(diǎn)故障的解決
為了減緩數(shù)據(jù)流寫人中央數(shù)據(jù)庫(kù)給系統(tǒng)帶來的瓶頸,需要消除集成層的單點(diǎn)故障,可行的辦法是將數(shù)據(jù)暫時(shí)存放在內(nèi)存,事件完成后將之丟棄或?qū)?shù)據(jù)暫時(shí)保存在系統(tǒng)文件中,等待一個(gè)完整的Au 事件完成后,由應(yīng)用服務(wù)器自動(dòng)從內(nèi)存或系統(tǒng)文件中提取數(shù)據(jù)寫入中央存儲(chǔ)數(shù)據(jù)庫(kù)中。這樣就可大大減少系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的依賴性。因此需要合理設(shè)置緩存堆棧大小,避免存儲(chǔ)大量數(shù)據(jù)而導(dǎo)致堆棧溢出,同時(shí)應(yīng)避免過度使用內(nèi)存空間導(dǎo)致系統(tǒng)出現(xiàn)瓶頸,一般推薦緩存大小應(yīng)設(shè)置為磁盤數(shù)據(jù)塊的整數(shù)倍,本系統(tǒng)中設(shè)置為16kB,當(dāng)緩存數(shù)據(jù)容量達(dá)到16kB時(shí),若一個(gè)ALE事件尚未完成,則先將緩存數(shù)據(jù)寫入數(shù)據(jù)庫(kù),同時(shí)在中央數(shù)據(jù)庫(kù)的臨時(shí)表中記錄當(dāng)前完成操作的日志,以便于下一次提交時(shí)事務(wù)的確認(rèn)。若一個(gè)AI止事件已經(jīng)完成而緩存容量尚未達(dá)到16kB,則也將數(shù)據(jù)提交寫入數(shù)據(jù)庫(kù)。
4 數(shù)據(jù)流的持久化
實(shí)時(shí)監(jiān)控系統(tǒng)需要收集生產(chǎn)過程中大量的實(shí)時(shí)數(shù)據(jù),并且需對(duì)實(shí)時(shí)事件能及時(shí)進(jìn)行處理,車間實(shí)時(shí)監(jiān)控系統(tǒng)同時(shí)需要與企業(yè)計(jì)劃層和數(shù)據(jù)采集層保持雙向通信能力,從上下兩層接收相應(yīng)數(shù)據(jù)并反饋處理結(jié)果和生產(chǎn)指令,因此底層與上層頻繁的數(shù)據(jù)流交互成為系統(tǒng)伸縮和擴(kuò)展的一個(gè)瓶徑,此外計(jì)劃層或采集層業(yè)務(wù)需求的靈活變更也會(huì)給系統(tǒng)的維護(hù)帶來一定的困難。
在業(yè)務(wù)層和關(guān)系數(shù)據(jù)庫(kù)之間增加一個(gè)健壯的持久層,負(fù)責(zé)實(shí)現(xiàn)對(duì)象和關(guān)系數(shù)據(jù)庫(kù)之間的映射。利用這個(gè)持久層框架的機(jī)制,對(duì)象與關(guān)系數(shù)據(jù)庫(kù)之間的轉(zhuǎn)換就可以透明地進(jìn)行,而不用去關(guān)心數(shù)據(jù)庫(kù)連接、并發(fā)性和事務(wù)等問題,即業(yè)務(wù)層就可以直接獲取或存儲(chǔ)對(duì)象,中間的轉(zhuǎn)換過程就交給框架處理了。這樣就可以避免由于數(shù)據(jù)庫(kù)結(jié)構(gòu)或類中任何一方變化時(shí)系統(tǒng)的大幅修改,極大減少了系統(tǒng)層次之間的耦合性,同時(shí)高效的緩存數(shù)據(jù)處理和對(duì)象持久化策略可以極大消除系統(tǒng)的瓶徑。
5 結(jié)論
通過剖析現(xiàn)有離散制造業(yè)采用“RFID電子標(biāo)簽”信息采集模式的優(yōu)點(diǎn),進(jìn)一步通過分析RF1D在生產(chǎn)過程實(shí)時(shí)監(jiān)控執(zhí)行系統(tǒng)中的應(yīng)用,給出了一種通信數(shù)據(jù)流處理的解決方案。采用以上技術(shù)的解決方案已成功地應(yīng)用于基于RFID的汽油發(fā)動(dòng)機(jī)生產(chǎn)線監(jiān)控執(zhí)行系統(tǒng)中,并在應(yīng)用中取得了較好的效果。但本方案還不完善,未能很好地解決安全性問題,如何在套接字接口實(shí)現(xiàn)安全認(rèn)證、身份驗(yàn)證、授權(quán)和審計(jì)等還有待進(jìn)一步研究。
參考文獻(xiàn):
[1] 周四軍,王建字.基于條形碼技術(shù)的車間監(jiān)控系統(tǒng)的實(shí)時(shí)信息采集[J].電子技術(shù)應(yīng)用.2000(5):21—23.
[2] 王璐,秦汝祥,賈群.基于RFID技術(shù)的門禁監(jiān)控系統(tǒng)[J].微機(jī)發(fā)展,2003,13(11).59—63.
[3] 秦王景,儲(chǔ)方杰,高文.中間件技術(shù)研究[J].計(jì)算機(jī)應(yīng)用研究,2006,23(2):292—296.
[4] 李俊平.銀行大機(jī)互連通信中間件的設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程.2000,28(6):58—63.
[5] 高建華,沈 瑩.一種新的交易事務(wù)處理程序設(shè)計(jì)方法[J].計(jì)算機(jī)工程與科學(xué).2001,23(5):87—90.
[6] 周函,周波,董金祥.對(duì)象持久層高性能Cache實(shí)現(xiàn)技術(shù)[J].計(jì)算機(jī)應(yīng)用研究,2003,20(11):35 37.
隨著信息技術(shù)的廣泛發(fā)展,生產(chǎn)技術(shù)發(fā)生了革命性的變化,柔性制造系統(tǒng)(FMS)已逐漸開始在離散制造業(yè)中嶄露頭腳。傳統(tǒng)的生產(chǎn)系統(tǒng)由于缺乏信息監(jiān)測(cè)手段,無法隨生產(chǎn)條件及生產(chǎn)目標(biāo)的改變而動(dòng)態(tài)均衡調(diào)整生產(chǎn),故障事件得不到及時(shí)處理,物流缺乏指導(dǎo),工位連接不暢導(dǎo)致阻塞和缺料事件。條形碼技術(shù)以其較低成本,較高的準(zhǔn)確性、可靠性及輸入速度快等優(yōu)點(diǎn)得到了行業(yè)的廣泛認(rèn)可。但隨著高度柔性化系統(tǒng)對(duì)數(shù)據(jù)采集精確度日益提高,同時(shí)生產(chǎn)也要求物品實(shí)現(xiàn)真正的自動(dòng)化管理,RFID(射頻識(shí)別)技術(shù)應(yīng)運(yùn)而生。
與傳統(tǒng)的條形碼識(shí)別相比,射頻識(shí)別技術(shù)有更大的讀寫距離和范圍,可以直接識(shí)別生產(chǎn)流水線上移動(dòng)中的智能吊架標(biāo)簽,并且避免了條形碼可能受到外部灰塵、油污等環(huán)境污染而對(duì)識(shí)別造成的影響。此外更重要的是射頻識(shí)別技術(shù)不但可以將射頻標(biāo)簽的數(shù)據(jù)讀出,還可以通過終端來進(jìn)行數(shù)據(jù)重復(fù)寫入。
文中的應(yīng)用背景正是基于離散制造業(yè)的生產(chǎn)過程實(shí)時(shí)監(jiān)控執(zhí)行系統(tǒng),采用RF1D的智能識(shí)別替代原有的條碼識(shí)別技術(shù),使車間管理由繁化簡(jiǎn),更加體現(xiàn)數(shù)據(jù)采集的實(shí)時(shí)性及準(zhǔn)確性,使生產(chǎn)自動(dòng)化理念得到了徹底體現(xiàn)。
1 基于RFID實(shí)時(shí)監(jiān)控系統(tǒng)的構(gòu)成
圖1描述的生產(chǎn)過程實(shí)時(shí)監(jiān)控執(zhí)行系統(tǒng)的RFID解決方案參考架構(gòu)分六層實(shí)現(xiàn):數(shù)據(jù)采集層、RFID邊緣服務(wù)器層、數(shù)據(jù)持久層、企業(yè)服務(wù)器層、集成層和應(yīng)用層。
圖1 生產(chǎn)過程實(shí)時(shí)監(jiān)控執(zhí)行系統(tǒng)的RFID解決方案參考架構(gòu)圖
*RFID邊緣服務(wù)器層,邊緣服務(wù)器定期輪詢閱讀器(例如,每秒兩次),以消除重復(fù)操作,并執(zhí)行過濾和設(shè)備管理。邊緣服務(wù)器還產(chǎn)生AI 事件并將事件發(fā)送到上層應(yīng)用。
*持久層,負(fù)責(zé)底層通信數(shù)據(jù)與上層EP,P數(shù)據(jù)的持久化操作,并存儲(chǔ)電子標(biāo)簽事件。
*企業(yè)服務(wù)器層,處理及控制企業(yè)應(yīng)用層的業(yè)務(wù)邏輯,同時(shí)提供對(duì)持久層的集中管理。
*企業(yè)應(yīng)用層,提供人機(jī)交互界面,實(shí)現(xiàn)對(duì)業(yè)務(wù)的操作和管理。
*集成層,集成現(xiàn)有ERP,通過使用組件服務(wù),最大化已有的業(yè)務(wù)處理資源。通過抽取、處理、分析不同業(yè)務(wù)數(shù)據(jù),進(jìn)行數(shù)據(jù)和業(yè)務(wù)的整合。
RFID控制信息通過操作門戶流入集成層,然后流入企業(yè)服務(wù)器層、持久層、邊緣層,最后通過工位控制器流入閱讀器;而閱讀器獲取的RFID數(shù)據(jù)則在過濾后順著這個(gè)鏈向上傳送。
2 通信中間件技術(shù)模型選擇
中間件是處于操作系統(tǒng)和應(yīng)用程序之間的軟件,它是一種獨(dú)立的服務(wù)程序,分布式應(yīng)用軟件借助中間件在不同的技術(shù)之間共享資源[引。網(wǎng)絡(luò)通信中間件應(yīng)能在不同平臺(tái)之間通信,實(shí)現(xiàn)分布式系統(tǒng)中可靠的、高效的、實(shí)時(shí)的跨平臺(tái)數(shù)據(jù)傳輸。通信中間件最常見的三種形式包括:會(huì)話編程(如TCP/IP的Socket)、遠(yuǎn)程過程調(diào)用(RPC)以及消息隊(duì)列中間件(MOM,message~oriented middleware)。
2.1 遠(yuǎn)程過程調(diào)用(RPC)
遠(yuǎn)程過程調(diào)用(RPC)是一種同步對(duì)話方式模型 。RPC為客戶機(jī)提供向后端服務(wù)器申請(qǐng)服務(wù)的通信機(jī)制,如果你把客戶機(jī)/月艮務(wù)器應(yīng)用程序想作是一個(gè)分割的程序,則服務(wù)器運(yùn)行數(shù)據(jù)訪問部分,因?yàn)樗x數(shù)據(jù)最近,客戶機(jī)則運(yùn)行數(shù)據(jù)表示和與用戶交互的前端部分。這樣,遠(yuǎn)程過程調(diào)用可看作是把分割的程序通過網(wǎng)絡(luò)重組的部件。使用RPC通信實(shí)質(zhì)上就是把程序分為主調(diào)程序和被調(diào)程序兩類,兩者之間以典型的C/S模式進(jìn)行信息交流。而且主傲調(diào)程序一般是同步、基于連接的。
2.2 會(huì)話編程
會(huì)話編程也是一種同步的對(duì)話模式。會(huì)話通信是在對(duì)等的通信雙方之間存在一種基于應(yīng)用程序的私有邏輯通信,在整個(gè)會(huì)話過程中一直保持該邏輯連接被通信雙方的應(yīng)用程序獨(dú)占。一個(gè)程序也可以同時(shí)參加多個(gè)對(duì)話,當(dāng)邏輯連接與程序連接關(guān)系緊密時(shí),一般采用會(huì)話編程。會(huì)話編程要求程序間的耦合度很高,因此編程時(shí)需過多關(guān)注底層通信的細(xì)節(jié)問題。
2.3 消息隊(duì)列中間件
消息隊(duì)列中間件采用的是異步通信模式,它利用高效可靠的消息傳遞機(jī)制進(jìn)行平臺(tái)無關(guān)的數(shù)據(jù)交換,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)的集成。其實(shí)現(xiàn)原理是:消息的發(fā)送者把自己想要發(fā)送的信息放入一個(gè)容器中(Message),然后把它保存至一個(gè)系統(tǒng)公用空間的消息隊(duì)列(Message Queue)中;本地或者是異地的消息接收程序再?gòu)脑撽?duì)列中取出發(fā)給它的消息進(jìn)行處理。消息傳遞機(jī)制中傳遞的消息由通信雙方商議協(xié)定,這樣做的好處是:一方面對(duì)數(shù)據(jù)進(jìn)行了加密,另一方面采用自己定義的通信格式可以節(jié)省傳遞量。此外消息也可以含有時(shí)間戳,以便于接收方對(duì)某些與時(shí)間相關(guān)的應(yīng)用進(jìn)行處理。消息還可以含有到期時(shí)間,它表明如果在指定時(shí)間內(nèi)消息還未到達(dá)則作廢。
2.4 確定模型
RFID讀寫器每秒能捕捉120 400個(gè)信號(hào),產(chǎn)生大量需要處理的數(shù)據(jù),為了處理龐大的數(shù)據(jù)流,必須采用多線程多路技術(shù)。考慮到線程處理的異步及程序的完整、可移植性,以及通信應(yīng)用程序的松耦合度,系統(tǒng)中通信機(jī)制采用了消息隊(duì)列服務(wù)模型。采用消息隊(duì)列的好處有:由于是異步通信,無論是發(fā)送方還是接收方都不用等待對(duì)方返回成功消息,就可以執(zhí)行余下的代碼,因而大大地提高了事物處理的能力;在信息傳送過程中,信息發(fā)送機(jī)制具有一定功能的故障恢復(fù)能力;消息傳遞機(jī)制使得消息通信的雙方具有不同的物理平臺(tái)成為可能。具體解決方案是采用阻塞I/O技術(shù),為每個(gè)客戶端打開一個(gè)套接字,并為每一客戶創(chuàng)建一個(gè)唯一的線程,通過批量信息傳送,將許多請(qǐng)求打包到一個(gè)數(shù)據(jù)包以減輕網(wǎng)絡(luò)擁塞,縮短多個(gè)請(qǐng)求通過安全層和其他代碼層所需的時(shí)間。
3 邊緣服務(wù)器層數(shù)據(jù)流過濾技術(shù)
邊緣服務(wù)器層(簡(jiǎn)稱邊緣層)位于企業(yè)應(yīng)用層與通信中間件之間。以保障信息傳送,以及執(zhí)行任何所需的數(shù)據(jù)格式轉(zhuǎn)換。由于通信中間件只保證數(shù)據(jù)流無差錯(cuò)實(shí)時(shí)傳送并不負(fù)責(zé)對(duì)傳輸數(shù)據(jù)包的解析、分組等復(fù)雜工作。因此實(shí)時(shí)采集的原始數(shù)據(jù)流經(jīng)過通信中間件到達(dá)邊緣層或由企業(yè)應(yīng)用層下發(fā)的指令、數(shù)據(jù)等信息將交給邊緣層作統(tǒng)一處理。
3.1 生成ALE事件
邊緣層處理的數(shù)據(jù)來源有兩個(gè)方向:一種數(shù)據(jù)導(dǎo)向來于RFID讀寫器采集的數(shù)據(jù)流,另一種來于企業(yè)應(yīng)用層下發(fā)的指令及數(shù)據(jù)。在分布式事務(wù)處理系統(tǒng)中要處理大量事務(wù),常常在系統(tǒng)中要同時(shí)做大量的事務(wù)。例如在聯(lián)機(jī)事務(wù)處理系統(tǒng)(OLTP )中,每筆事務(wù)常常要多臺(tái)服務(wù)器上的程序順序地協(xié)調(diào)完成,一旦中間發(fā)生某種故障時(shí),不但要完成恢復(fù)工作,而且要自動(dòng)切換系統(tǒng),達(dá)到系統(tǒng)永不停機(jī),實(shí)現(xiàn)高可靠性運(yùn)行;同時(shí)要使大量事務(wù)在應(yīng)用服務(wù)器能實(shí)時(shí)并發(fā)運(yùn)行,并進(jìn)行負(fù)載平衡地調(diào)度,實(shí)現(xiàn)昂貴的可靠性機(jī)和大型計(jì)算機(jī)系統(tǒng)同等的功能,為了實(shí)現(xiàn)這個(gè)目標(biāo),要求系統(tǒng)具有監(jiān)視和調(diào)度整個(gè)系統(tǒng)的功能 。因此作為一個(gè)事務(wù)處理平臺(tái),根據(jù)X/OPEN的參數(shù)模型規(guī)定,應(yīng)由事務(wù)處理中間件、通信處理中間件以及數(shù)據(jù)存取管理中間件三部分組成。
本應(yīng)用中邊緣層將事務(wù)處理與數(shù)據(jù)存取管理做統(tǒng)一調(diào)度,通信處理則交由通信中間件執(zhí)行。事務(wù)的生成與執(zhí)行采用ALE(應(yīng)用級(jí)事件)標(biāo)準(zhǔn)(ALE由EPC—global軟件行動(dòng)小組中超過100多家的領(lǐng)先企業(yè)研究開發(fā),并建立了支持EPC的軟件產(chǎn)品在收集、管理和安排EPC技術(shù)在供應(yīng)鏈中生成的數(shù)據(jù)時(shí)所應(yīng)采用的方法)。ALE能有助RFID使用者選擇希望接收的RFID數(shù)據(jù),避免因接收過量不需要的數(shù)據(jù)而造成系統(tǒng)超負(fù)荷。
3.2 消息傳遞機(jī)制
由于網(wǎng)絡(luò)、異常、人為誤操作等原因,數(shù)據(jù)可能會(huì)出現(xiàn)丟失、差錯(cuò)、重復(fù)等狀況,因此不能保證消息傳遞的“一次發(fā)送正確性”。另一方面事務(wù)的執(zhí)行過程:消息在事務(wù)化人隊(duì)和出隊(duì)中,若操作存在不一致性,即一個(gè)操作尚未完成,如消息人隊(duì),就不能保證它已經(jīng)人隊(duì),同樣也不能保證真的處理了出隊(duì)。因而在消息傳遞中除了采用異步傳輸模式外,在邊緣層還需設(shè)置處理時(shí)序,設(shè)定保障機(jī)制,即與實(shí)時(shí)更新數(shù)據(jù)庫(kù)建立一種匹配,對(duì)數(shù)據(jù)進(jìn)行輕量級(jí)偵聽檢測(cè)。若傳輸數(shù)據(jù)與數(shù)據(jù)庫(kù)中更新之間存在完美匹配,則將丟棄重復(fù)數(shù)據(jù),若兩者之間存在完全匹配,則修改丟失或差錯(cuò)數(shù)據(jù)項(xiàng)。若兩者不存在匹配,則作為一次新的事務(wù)進(jìn)行提交處理。
3.3 單點(diǎn)故障的解決
為了減緩數(shù)據(jù)流寫人中央數(shù)據(jù)庫(kù)給系統(tǒng)帶來的瓶頸,需要消除集成層的單點(diǎn)故障,可行的辦法是將數(shù)據(jù)暫時(shí)存放在內(nèi)存,事件完成后將之丟棄或?qū)?shù)據(jù)暫時(shí)保存在系統(tǒng)文件中,等待一個(gè)完整的Au 事件完成后,由應(yīng)用服務(wù)器自動(dòng)從內(nèi)存或系統(tǒng)文件中提取數(shù)據(jù)寫入中央存儲(chǔ)數(shù)據(jù)庫(kù)中。這樣就可大大減少系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的依賴性。因此需要合理設(shè)置緩存堆棧大小,避免存儲(chǔ)大量數(shù)據(jù)而導(dǎo)致堆棧溢出,同時(shí)應(yīng)避免過度使用內(nèi)存空間導(dǎo)致系統(tǒng)出現(xiàn)瓶頸,一般推薦緩存大小應(yīng)設(shè)置為磁盤數(shù)據(jù)塊的整數(shù)倍,本系統(tǒng)中設(shè)置為16kB,當(dāng)緩存數(shù)據(jù)容量達(dá)到16kB時(shí),若一個(gè)ALE事件尚未完成,則先將緩存數(shù)據(jù)寫入數(shù)據(jù)庫(kù),同時(shí)在中央數(shù)據(jù)庫(kù)的臨時(shí)表中記錄當(dāng)前完成操作的日志,以便于下一次提交時(shí)事務(wù)的確認(rèn)。若一個(gè)AI止事件已經(jīng)完成而緩存容量尚未達(dá)到16kB,則也將數(shù)據(jù)提交寫入數(shù)據(jù)庫(kù)。
4 數(shù)據(jù)流的持久化
實(shí)時(shí)監(jiān)控系統(tǒng)需要收集生產(chǎn)過程中大量的實(shí)時(shí)數(shù)據(jù),并且需對(duì)實(shí)時(shí)事件能及時(shí)進(jìn)行處理,車間實(shí)時(shí)監(jiān)控系統(tǒng)同時(shí)需要與企業(yè)計(jì)劃層和數(shù)據(jù)采集層保持雙向通信能力,從上下兩層接收相應(yīng)數(shù)據(jù)并反饋處理結(jié)果和生產(chǎn)指令,因此底層與上層頻繁的數(shù)據(jù)流交互成為系統(tǒng)伸縮和擴(kuò)展的一個(gè)瓶徑,此外計(jì)劃層或采集層業(yè)務(wù)需求的靈活變更也會(huì)給系統(tǒng)的維護(hù)帶來一定的困難。
在業(yè)務(wù)層和關(guān)系數(shù)據(jù)庫(kù)之間增加一個(gè)健壯的持久層,負(fù)責(zé)實(shí)現(xiàn)對(duì)象和關(guān)系數(shù)據(jù)庫(kù)之間的映射。利用這個(gè)持久層框架的機(jī)制,對(duì)象與關(guān)系數(shù)據(jù)庫(kù)之間的轉(zhuǎn)換就可以透明地進(jìn)行,而不用去關(guān)心數(shù)據(jù)庫(kù)連接、并發(fā)性和事務(wù)等問題,即業(yè)務(wù)層就可以直接獲取或存儲(chǔ)對(duì)象,中間的轉(zhuǎn)換過程就交給框架處理了。這樣就可以避免由于數(shù)據(jù)庫(kù)結(jié)構(gòu)或類中任何一方變化時(shí)系統(tǒng)的大幅修改,極大減少了系統(tǒng)層次之間的耦合性,同時(shí)高效的緩存數(shù)據(jù)處理和對(duì)象持久化策略可以極大消除系統(tǒng)的瓶徑。
5 結(jié)論
通過剖析現(xiàn)有離散制造業(yè)采用“RFID電子標(biāo)簽”信息采集模式的優(yōu)點(diǎn),進(jìn)一步通過分析RF1D在生產(chǎn)過程實(shí)時(shí)監(jiān)控執(zhí)行系統(tǒng)中的應(yīng)用,給出了一種通信數(shù)據(jù)流處理的解決方案。采用以上技術(shù)的解決方案已成功地應(yīng)用于基于RFID的汽油發(fā)動(dòng)機(jī)生產(chǎn)線監(jiān)控執(zhí)行系統(tǒng)中,并在應(yīng)用中取得了較好的效果。但本方案還不完善,未能很好地解決安全性問題,如何在套接字接口實(shí)現(xiàn)安全認(rèn)證、身份驗(yàn)證、授權(quán)和審計(jì)等還有待進(jìn)一步研究。
參考文獻(xiàn):
[1] 周四軍,王建字.基于條形碼技術(shù)的車間監(jiān)控系統(tǒng)的實(shí)時(shí)信息采集[J].電子技術(shù)應(yīng)用.2000(5):21—23.
[2] 王璐,秦汝祥,賈群.基于RFID技術(shù)的門禁監(jiān)控系統(tǒng)[J].微機(jī)發(fā)展,2003,13(11).59—63.
[3] 秦王景,儲(chǔ)方杰,高文.中間件技術(shù)研究[J].計(jì)算機(jī)應(yīng)用研究,2006,23(2):292—296.
[4] 李俊平.銀行大機(jī)互連通信中間件的設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程.2000,28(6):58—63.
[5] 高建華,沈 瑩.一種新的交易事務(wù)處理程序設(shè)計(jì)方法[J].計(jì)算機(jī)工程與科學(xué).2001,23(5):87—90.
[6] 周函,周波,董金祥.對(duì)象持久層高性能Cache實(shí)現(xiàn)技術(shù)[J].計(jì)算機(jī)應(yīng)用研究,2003,20(11):35 37.