![基于集群技術(shù)的RFID 中間件研究與開發(fā)_第1頁](http://file4.renrendoc.com/view/9dbb24cf7ca56899170ca263b803ab46/9dbb24cf7ca56899170ca263b803ab461.gif)
![基于集群技術(shù)的RFID 中間件研究與開發(fā)_第2頁](http://file4.renrendoc.com/view/9dbb24cf7ca56899170ca263b803ab46/9dbb24cf7ca56899170ca263b803ab462.gif)
![基于集群技術(shù)的RFID 中間件研究與開發(fā)_第3頁](http://file4.renrendoc.com/view/9dbb24cf7ca56899170ca263b803ab46/9dbb24cf7ca56899170ca263b803ab463.gif)
![基于集群技術(shù)的RFID 中間件研究與開發(fā)_第4頁](http://file4.renrendoc.com/view/9dbb24cf7ca56899170ca263b803ab46/9dbb24cf7ca56899170ca263b803ab464.gif)
![基于集群技術(shù)的RFID 中間件研究與開發(fā)_第5頁](http://file4.renrendoc.com/view/9dbb24cf7ca56899170ca263b803ab46/9dbb24cf7ca56899170ca263b803ab465.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于集群技術(shù)的RFID中間件研究與開發(fā)
1
前言
隨著RFID(Radio
Frequency
Identification)技術(shù)的推廣,越來越多的企業(yè)開始使用RFID
技術(shù),
并且正在被應(yīng)用到很多著名的ERP
系統(tǒng)中去,例如EBS
和SAP
系統(tǒng)。在整合RFID
中間件和ERP
系統(tǒng)時(shí),我們遇到了很多挑戰(zhàn)。對(duì)于大多數(shù)的ERP
系統(tǒng),高可靠性、高可用性、高擴(kuò)展性、高性能是至關(guān)重要的,因此在RFID
中間件與ERP
系統(tǒng)整合過程中,RFID
中間件也必須像必須向上層應(yīng)用系統(tǒng)提供高質(zhì)量的服務(wù),
才能保證整個(gè)系統(tǒng)的高可靠性、高可用性、高擴(kuò)展性、高性能。
為了解決這些問題,
我們將集群技術(shù)應(yīng)用到中間件中來。RFID
中間件是基于組件的形式開發(fā)的,因此系統(tǒng)可以粗略的劃分為2
個(gè)部分:數(shù)據(jù)和組件。對(duì)于數(shù)據(jù),我們可以利用集群的分布式數(shù)據(jù)管理模塊來處理,
通過分布式緩存服務(wù)形成同一的數(shù)據(jù)視圖,使得每個(gè)節(jié)點(diǎn)都可以訪問到其他節(jié)點(diǎn)的數(shù)據(jù);通過復(fù)制緩存服務(wù)為每一個(gè)數(shù)據(jù)在不同節(jié)點(diǎn)產(chǎn)生一個(gè)備份,
使得數(shù)據(jù)具有高可靠性和高可用性。對(duì)于組件,我們通過組件調(diào)度策略是把所有的組件分配到不同的節(jié)點(diǎn)去,
以實(shí)現(xiàn)系統(tǒng)的高擴(kuò)展性和高性能。
2
系統(tǒng)架構(gòu)
2.1
整體架構(gòu)
設(shè)備管理層:RFID
中間件的底層系統(tǒng)部分,完成對(duì)RFID
系統(tǒng)中的所有硬件設(shè)備的管理與監(jiān)控。為不同生產(chǎn)廠家的讀寫設(shè)備提供了統(tǒng)一的接口,屏蔽了底層環(huán)境的異構(gòu)性和復(fù)雜性;對(duì)各種硬件設(shè)備進(jìn)行統(tǒng)一的管理,
極大地簡化和加快了應(yīng)用系統(tǒng)和設(shè)備的集成。
數(shù)據(jù)處理層:
數(shù)據(jù)處理層需要對(duì)原始數(shù)據(jù)進(jìn)行處理,包括數(shù)據(jù)過濾以消除重復(fù)讀取產(chǎn)生的冗余數(shù)據(jù),
位過濾篩選感興趣的數(shù)據(jù),數(shù)據(jù)聚合分組等等。從而減少數(shù)據(jù)量并且保留感興趣的數(shù)據(jù)。
應(yīng)用程序級(jí)接口層:提供標(biāo)準(zhǔn)化的事件接口,應(yīng)用系統(tǒng)可通過向其發(fā)送事件請(qǐng)求來訂閱需要的數(shù)據(jù)。事件請(qǐng)求中定義了數(shù)據(jù)處理的方式以及發(fā)送報(bào)告的格式。該層解析應(yīng)用系統(tǒng)的事件請(qǐng)求,根據(jù)請(qǐng)求中的定義調(diào)用設(shè)備層獲取數(shù)據(jù)并對(duì)采集到的原始數(shù)據(jù)進(jìn)行數(shù)據(jù)緩存、數(shù)據(jù)編碼解析、數(shù)據(jù)過濾和數(shù)據(jù)歸并等基本數(shù)據(jù)處理操作。最后將處理結(jié)果封裝成報(bào)告,發(fā)送給應(yīng)用系統(tǒng)。
信息服務(wù)層:提供各種RFID
信息服務(wù),包括存儲(chǔ)捕獲的事件、對(duì)事件進(jìn)行推理、提供信息的查詢等,協(xié)助應(yīng)用程序完成相應(yīng)的業(yè)務(wù)操作。
業(yè)務(wù)集成層:用戶可以結(jié)合具體的業(yè)務(wù),定義相應(yīng)的業(yè)務(wù)模型,
由RFID
中間件根據(jù)定義的業(yè)務(wù)模型來輔助完成相應(yīng)業(yè)務(wù),最后將處理的結(jié)果與后臺(tái)應(yīng)用系統(tǒng)進(jìn)行整合。
集群服務(wù)層:
為上層的應(yīng)用系統(tǒng)提供一個(gè)統(tǒng)一的中間件視圖,管理集群節(jié)點(diǎn)狀態(tài),系統(tǒng)所有組件在各個(gè)節(jié)點(diǎn)間的分配,并且提供統(tǒng)一的分布式緩存視圖。
2.2
集群服務(wù)層
集群服務(wù)層主要由以下4
個(gè)部分組成:
跟蹤服務(wù):該模塊主要管理集群系統(tǒng)內(nèi)的節(jié)點(diǎn)成員列表和注冊(cè)服務(wù)列表。當(dāng)節(jié)點(diǎn)啟動(dòng)時(shí),該服務(wù)自動(dòng)啟動(dòng),并且將該節(jié)點(diǎn)加入到集群中,同時(shí)維護(hù)集群內(nèi)其他節(jié)點(diǎn)列表,探測(cè)節(jié)點(diǎn)失敗狀態(tài),并且維護(hù)集群中所注冊(cè)的服務(wù)列表(主要就是分布式緩存服務(wù))。分布式緩存服務(wù):該模塊允許節(jié)點(diǎn)去訪問其他節(jié)點(diǎn)的數(shù)據(jù),這樣就可以使得數(shù)據(jù)只保存在一個(gè)節(jié)點(diǎn)中,
另外通過悲觀鎖來實(shí)現(xiàn)分布式緩存的一致性。
復(fù)制緩存服務(wù):
該模塊同步的復(fù)制分布式緩存服務(wù)中的數(shù)據(jù),將復(fù)制數(shù)據(jù)保存在其他節(jié)點(diǎn)上。當(dāng)數(shù)據(jù)發(fā)生變動(dòng)時(shí),復(fù)制數(shù)據(jù)自動(dòng)相應(yīng)變動(dòng)。當(dāng)集群節(jié)點(diǎn)增加時(shí),自動(dòng)將復(fù)制數(shù)據(jù)均攤到新增節(jié)點(diǎn)中,實(shí)現(xiàn)復(fù)制數(shù)據(jù)的負(fù)載平衡。當(dāng)集群節(jié)點(diǎn)發(fā)生故障或者離開集群時(shí),備份數(shù)據(jù)自動(dòng)變?yōu)榭稍L問數(shù)據(jù),并且在其他節(jié)點(diǎn)備份該數(shù)據(jù)。
組件管理:該RFID
中間件是面向組件開發(fā)設(shè)計(jì)的,每個(gè)層次都是由多個(gè)組件串行或者并行組合實(shí)現(xiàn)其功能。該模塊就是通過制定一定的策略,來決定組件如何分布在各個(gè)節(jié)點(diǎn),并且協(xié)同工作,來提高系統(tǒng)性能
3
系統(tǒng)實(shí)現(xiàn)
3.1
組件定義
組件是系統(tǒng)最基本的功能模塊,
每個(gè)層次的服務(wù)都是通過多個(gè)組件串行或者并行組合來實(shí)現(xiàn)其功能的。設(shè)備管理層的基本組件就是device
組件,每個(gè)device
組件對(duì)應(yīng)一個(gè)實(shí)際讀寫器,所有的device
組件并行工作就組成了設(shè)備管理層。數(shù)據(jù)處理層的基本組件是各種過濾器,包括冗余過濾器、位過濾器等等,多個(gè)過濾器串行工作,使得要處理的數(shù)據(jù)依次通過這些過濾器,則實(shí)現(xiàn)了數(shù)據(jù)處理層的工作。
3.2
組件結(jié)構(gòu)
每個(gè)組件都包含輸入和輸出,
在這里輸入和輸出都要掛在數(shù)據(jù)緩存總線上,
各個(gè)節(jié)點(diǎn)的數(shù)據(jù)緩存總線都有分布式緩存服務(wù)來管理,并且生成一致的數(shù)據(jù)視圖,這樣就把分布在各個(gè)節(jié)點(diǎn)的組件通過分布式緩存服務(wù)整合了起來。結(jié)構(gòu)如下:
3.3
組件類型
在確定組件協(xié)同工作機(jī)制之前,
首先需要定義一下組件的類型:有狀態(tài)組件和無狀態(tài)組件。
有狀態(tài)組件:輸出結(jié)果的產(chǎn)生不只依賴當(dāng)前的輸入數(shù)據(jù),還依賴于之前的輸入數(shù)據(jù)。每一次輸入數(shù)據(jù)都會(huì)對(duì)后續(xù)結(jié)果的產(chǎn)生有影響。設(shè)備管理層的device
組件就是一個(gè)有狀態(tài)組件,因?yàn)閐evice
組件中維護(hù)著與讀寫器之間的連接,
該連接是有狀態(tài)的,所以device
組件也是有狀態(tài)的。數(shù)據(jù)處理層的冗余過濾器也是有狀態(tài)的組件,
因?yàn)槊看屋敵鼋Y(jié)果時(shí)都要判斷指定時(shí)間內(nèi)是否存在相同的數(shù)據(jù)。應(yīng)用程序級(jí)接口層的EventCycle
組件CommandCycle組件也是有狀態(tài)的組件,
因?yàn)楫a(chǎn)生的報(bào)告與指定時(shí)間段內(nèi)的所有數(shù)據(jù)有關(guān)。
無狀態(tài)組件:輸出結(jié)果的產(chǎn)生只與當(dāng)前的輸入數(shù)據(jù)有關(guān)。在輸入數(shù)據(jù)確定的情況下,輸出數(shù)據(jù)也是確定的。數(shù)據(jù)處理層中的位過濾器是無狀態(tài)組件,
因?yàn)樗恍枰鶕?jù)當(dāng)前數(shù)據(jù)數(shù)據(jù)的EPC
碼來判斷是否符合過濾條件,與之前狀態(tài)無關(guān)。應(yīng)用程序級(jí)接口層的Dispatcher
組件,
負(fù)責(zé)將產(chǎn)生的報(bào)告分發(fā)至指定URI,也是一個(gè)無狀態(tài)組件。
3.4
負(fù)載均衡
根據(jù)組件分類,
有狀態(tài)組件和無狀態(tài)組件我們將采用不同的策略。
對(duì)于無狀態(tài)組件,由于不涉及之前輸入數(shù)據(jù)的狀態(tài),數(shù)據(jù)即時(shí)產(chǎn)生即時(shí)處理。因此,我們?cè)诩好恳粋€(gè)節(jié)點(diǎn)處都創(chuàng)建出所有的無狀態(tài)組件,
每個(gè)節(jié)點(diǎn)的無狀態(tài)組件將通過一定負(fù)載均衡策略來獲得數(shù)據(jù)的處理權(quán),
從而將數(shù)據(jù)計(jì)算處理的工作量分散到各個(gè)節(jié)點(diǎn)。
可以采用的負(fù)載均衡策略目前有2
種:
輪詢調(diào)度算法(Round-Robin
Scheduling):針對(duì)每一個(gè)層次,把來自數(shù)據(jù)緩存總線的數(shù)據(jù)輪流分配給集群中各個(gè)節(jié)點(diǎn),
從1開始,直到N(集群內(nèi)節(jié)點(diǎn)數(shù)),然后重新開始循環(huán)。由于無狀態(tài)組件不會(huì)占用高消耗的系統(tǒng)資源,
如數(shù)據(jù)庫連結(jié)、Socket
連接等(如果擁有連接,該組件應(yīng)屬于有狀態(tài)組件),因此輪詢調(diào)度算法基本可以實(shí)現(xiàn)無狀態(tài)組件在各個(gè)節(jié)點(diǎn)上處理能力的負(fù)載均衡。
就近調(diào)度算法:在各個(gè)層次中,無狀態(tài)組件一般要與有狀態(tài)組件相結(jié)合,共同完成該層次所提供的功能。就近調(diào)度算法就是根據(jù)有狀態(tài)組件所處節(jié)點(diǎn)位置,來決定無狀態(tài)組件所處位置,使該層次中所有無狀態(tài)組件與有狀態(tài)組件處于同一個(gè)節(jié)點(diǎn)。這種算法的優(yōu)點(diǎn)就是當(dāng)一個(gè)層次中所有串行操作的組件都處于同一個(gè)節(jié)點(diǎn)時(shí),
數(shù)據(jù)在每一個(gè)組件處理完成時(shí)不必在不同的節(jié)點(diǎn)間遷移,
大大減少了數(shù)據(jù)遷移時(shí)的時(shí)間延遲。該算法的缺點(diǎn)就是,負(fù)載均衡的效果很大程度上取決于有狀態(tài)組件的分布情況對(duì)于有狀態(tài)組件,參見后面的組件調(diào)度策略。
3.5
組件調(diào)度策略
該策略主要用來分配有狀態(tài)組件在各個(gè)節(jié)點(diǎn)的分布,
位于組件管理模塊中。
1)
平均分配策略
平均分配策略即將每個(gè)層次中的有狀態(tài)組件平均的分配到各個(gè)節(jié)點(diǎn)中。
該策略的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,
在加入新節(jié)點(diǎn)或者節(jié)點(diǎn)故障時(shí)也比較容易在集群中重新分配組件。
該策略的缺點(diǎn)是大量的數(shù)據(jù)遷移帶來不可忽視的延遲。不同層次間的數(shù)據(jù)可能需要遷移到不同的節(jié)點(diǎn),
來移交給下一個(gè)層次的組件來處。相同層次內(nèi),也有能由多個(gè)組件組成一個(gè)串行操作,當(dāng)這些組件位于不同節(jié)點(diǎn)時(shí),也會(huì)帶來大量的層次內(nèi)組件間的數(shù)據(jù)遷移。
2)
流水分配策略
如上圖所示,流水分配策略就是類似于流水線作業(yè),按層次分配組件,將相同層次的組件放在相同的節(jié)點(diǎn)中。
該策略的優(yōu)點(diǎn)是實(shí)現(xiàn)也相對(duì)比較簡單。使得相同節(jié)點(diǎn)內(nèi)串行操作組件的數(shù)據(jù)全部位于本地節(jié)點(diǎn)內(nèi),
完全消除這類數(shù)據(jù)操作遠(yuǎn)程存儲(chǔ)和數(shù)據(jù)遷移的時(shí)間延遲。
該策略的缺點(diǎn)是不能做到負(fù)載均衡,
不同層次間的計(jì)算量差異較大,也就導(dǎo)致了不同節(jié)點(diǎn)間的負(fù)載不均衡。不同節(jié)點(diǎn)層次間的數(shù)據(jù)遷移量很大,
對(duì)于這一點(diǎn)可以利用分布式緩存服務(wù)的批量遷移功能,減少遷移次數(shù),增大每次的遷移數(shù)據(jù)量,來減少時(shí)間延遲。
3)
并行分配策略
并行分配策略就是類似于并行作業(yè),將處理相同邏輯的讀寫器定義為一個(gè)邏輯讀寫器組,
從邏輯讀寫器組出發(fā),跟蹤數(shù)據(jù)流動(dòng)的路徑,將數(shù)據(jù)流經(jīng)的所有的組件都分配在同一個(gè)節(jié)點(diǎn)處。
該策略的優(yōu)點(diǎn)是使得數(shù)據(jù)的本地副本只在一個(gè)節(jié)點(diǎn)內(nèi)傳遞,盡可能的消除數(shù)據(jù)遠(yuǎn)程調(diào)用和數(shù)據(jù)遷移的時(shí)間延遲,復(fù)制緩存服務(wù)也可以批量異步的完成備份數(shù)據(jù)的更新操作。
該策略的缺點(diǎn)是程序?qū)崿F(xiàn)的復(fù)雜度高,
當(dāng)邏輯不相關(guān)的組件之間的交叉引用增多時(shí),該策略的效率將會(huì)明顯下降。這種情況下,應(yīng)當(dāng)考慮重新設(shè)計(jì)組件架構(gòu),適當(dāng)增加重復(fù)組件,以減少不相關(guān)組件之間的交叉引用關(guān)系。
4
小結(jié)
本文第一次將集群技術(shù)引入到RFID
中間件中來。并且討論了分布式數(shù)據(jù)管理和組件調(diào)度策略。分布式數(shù)據(jù)管理通過分布式緩存服務(wù)形成同一的數(shù)據(jù)視圖,
使得每個(gè)節(jié)點(diǎn)都可以訪問到其他節(jié)點(diǎn)的數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 制梁勞務(wù)合同范例
- 信貸資產(chǎn)信托合同范本
- 乙醇燃料的成本管理和降本增效
- 不帶司機(jī)租車合同范本
- 全款買車銷售合同范本
- 兼職模特合同范例
- 冷庫設(shè)備購銷合同范本
- 農(nóng)村承包魚塘經(jīng)營合同范例
- 電影制片人聘用合同范本
- 徐州白云區(qū)門面出租經(jīng)營合同范本
- 教育信息化背景下的學(xué)術(shù)研究趨勢(shì)
- 人教版小學(xué)數(shù)學(xué)(2024)一年級(jí)下冊(cè)第五單元100以內(nèi)的筆算加、減法綜合素養(yǎng)測(cè)評(píng) B卷(含答案)
- 2025江蘇常州溧陽市部分機(jī)關(guān)事業(yè)單位招聘編外人員78人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年度體育賽事贊助合同:運(yùn)動(dòng)員代言與贊助權(quán)益2篇
- 智研咨詢發(fā)布:2024年中國新疫苗行業(yè)市場(chǎng)現(xiàn)狀、發(fā)展概況、未來前景分析報(bào)告
- 2025屆西藏林芝一中高三第二次診斷性檢測(cè)英語試卷含解析
- 中國傳統(tǒng)文化非遺文化中國剪紙介紹2
- 藥企銷售總經(jīng)理競聘
- 開封市第一屆職業(yè)技能大賽健康照護(hù)項(xiàng)目技術(shù)文件(國賽)
- 公路電子收費(fèi)系統(tǒng)安裝合同范本
- 醫(yī)院培訓(xùn)課件:《傷口評(píng)估與測(cè)量》
評(píng)論
0/150
提交評(píng)論