0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用OSGi技術(shù)實(shí)現(xiàn)ALE引擎的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-07-16 08:01 ? 次閱讀

引 言

無線射頻識(shí)別技術(shù)(Radio Frequency Identification,以下簡(jiǎn)稱RFID)是從20 世紀(jì)90 年代 興起的一項(xiàng)自動(dòng)識(shí)別技術(shù),它利用無線射頻方式進(jìn)行非接觸雙向通信,以達(dá)到識(shí)別目的并交 換數(shù)據(jù)。隨著RFID 技術(shù)和應(yīng)用的發(fā)展,RFID 系統(tǒng)日趨復(fù)雜,RFID 中間件的出現(xiàn)很好地解 決了將物理基礎(chǔ)架構(gòu)收集到的信息傳遞給企業(yè)應(yīng)用程序的問題。中間件的主要任務(wù)是對(duì)讀寫器傳來的與標(biāo)簽相關(guān)的事件、數(shù)據(jù)進(jìn)行過濾、匯集和計(jì)算,減少?gòu)淖x寫器傳往企業(yè)應(yīng)用的巨 量原始數(shù)據(jù)、增加抽象出的有意義的信息量,并提供應(yīng)用程序級(jí)別的接口來查詢RFID 事件 。

ALE是應(yīng)用層事件簡(jiǎn)稱,最初作為Savant 應(yīng)用的一部分開發(fā)而成,如今歸屬于國(guó)際 標(biāo)準(zhǔn)組織EPCglobal,它是旨在把低層的電子產(chǎn)品代碼(EPC)數(shù)據(jù)和高層的企業(yè)系統(tǒng)相互連 接的EPCglobal 網(wǎng)絡(luò)計(jì)劃的一部分,現(xiàn)在已成為標(biāo)準(zhǔn)。RFID 中間件應(yīng)該提供符合ALE 標(biāo) 準(zhǔn)的接口供企業(yè)系統(tǒng)或者第三方組件訪問,擴(kuò)大中間件的適用范圍,因此設(shè)計(jì)和開發(fā)可重構(gòu) 的、可靠的ALE 引擎對(duì)實(shí)現(xiàn)成熟的RFID 中間具有重要意義。

1 相關(guān)研究

1.1 應(yīng)用層事件(ALE)標(biāo)準(zhǔn)

RFID 讀寫器在工作時(shí)不停地讀取標(biāo)簽,造成同一個(gè)標(biāo)簽在短時(shí)間內(nèi)可能被讀到很多次, 這些數(shù)據(jù)如果直接發(fā)送給應(yīng)用程序?qū)?a href="http://www.wenjunhu.com/tongxin/" target="_blank">通信網(wǎng)絡(luò)帶來很大的負(fù)擔(dān),所以需要RFID 中間件對(duì) 這些原始數(shù)據(jù)進(jìn)行一層收集和過濾的處理。ALE 的出現(xiàn)就是為了減少原始數(shù)據(jù)的冗余性,為 應(yīng)用系統(tǒng)從大量數(shù)據(jù)中提煉出有效的業(yè)務(wù)邏輯。ALE 層介于應(yīng)用業(yè)務(wù)邏輯和原始標(biāo)簽讀取層 之間,它接收從數(shù)據(jù)源(一個(gè)或多個(gè)讀寫器)中讀取的標(biāo)簽信息,而后按照時(shí)間間隔等條件 收集數(shù)據(jù),將重復(fù)或不敢興趣的EPC 數(shù)據(jù)剔除過濾,同時(shí)可以進(jìn)行計(jì)數(shù)及組合等操作,最 后將這些信息對(duì)應(yīng)用系統(tǒng)進(jìn)行匯報(bào)。

在 ALE 中,應(yīng)用系統(tǒng)可以定義這些內(nèi)容:在什么地方(地點(diǎn)可以映射一個(gè)或多個(gè)讀寫 器及天線)讀取標(biāo)簽,將在怎樣的時(shí)間間隔內(nèi)(決定時(shí)間、某個(gè)外部事件觸發(fā))收集數(shù)據(jù), 如何過濾數(shù)據(jù),如何整理數(shù)據(jù)報(bào)告內(nèi)容(按照公司、商品還是標(biāo)簽分類),標(biāo)簽出現(xiàn)或消失 時(shí)是否對(duì)外報(bào)告,以及統(tǒng)計(jì)讀取到的標(biāo)簽數(shù)目等。

ALE 標(biāo)準(zhǔn)定義的是一組接口,它不牽涉到具體實(shí)現(xiàn)。在EPCglobal 組織的規(guī)劃中,支 持ALE 標(biāo)準(zhǔn)是RFID 中間件的最基本的一個(gè)功能;這樣,在統(tǒng)一的標(biāo)準(zhǔn)下,應(yīng)用層上的調(diào)用 方式就可統(tǒng)一,應(yīng)用系統(tǒng)也就可以快速部署。因此,實(shí)現(xiàn)ALE 引擎對(duì)RFID 中間件具有重要 意義。

1.2 OSGi

OSGi(Open Systems Gateway Initiative)[4]規(guī)范為網(wǎng)絡(luò)服務(wù)定義了一個(gè)標(biāo)準(zhǔn)的、面向組件 的計(jì)算環(huán)境,在此環(huán)境中軟件組件可以從運(yùn)行中被安裝、升級(jí)或者移除而不需要中斷設(shè)備的 操作,還可以動(dòng)態(tài)的發(fā)現(xiàn)和使用其他庫(kù)或者應(yīng)用程序。采用OSGi 的一種考慮是因?yàn)橹虚g件 的開發(fā)要依據(jù)組件概念來進(jìn)行設(shè)計(jì),這些組件被開發(fā)為軟件包,通過引用的方式來進(jìn)行互調(diào)。 在OSGi 框架中,應(yīng)用程序可以單獨(dú)進(jìn)行部署,以軟件包的形式進(jìn)行開發(fā)。正確的使用該模 型可以使軟件包進(jìn)行重用和快速替換,并且使第三方軟件包重用成為可能。

2 引擎設(shè)計(jì)

如圖1所示,ALE引擎由引擎內(nèi)核、數(shù)據(jù)處理和事件處理三大模塊組成,它們結(jié)合起來 滿足ALE標(biāo)準(zhǔn)所要求的接口功能。

使用OSGi技術(shù)實(shí)現(xiàn)ALE引擎的設(shè)計(jì)

2.1 事件處理模塊

事件處理模塊分為四個(gè)字模塊:應(yīng)用層事件接口是符合 ALE 標(biāo)準(zhǔn)的程序接口,提供標(biāo) 準(zhǔn)的方法供應(yīng)用程序調(diào)用以獲取ALE 標(biāo)準(zhǔn)的功能;事件請(qǐng)求模塊分析應(yīng)用程序的事件請(qǐng)求,即ALE 標(biāo)準(zhǔn)中定義的ECSpec ,并根據(jù)請(qǐng)求對(duì)事件報(bào)告組建模塊、引擎內(nèi)核、數(shù)據(jù)過濾模 塊、數(shù)據(jù)分組模塊和數(shù)據(jù)格式轉(zhuǎn)換模塊進(jìn)行相應(yīng)的配置;事件報(bào)告組建模塊負(fù)責(zé)按照應(yīng)用程 序的事件請(qǐng)求生成數(shù)據(jù)報(bào)告,數(shù)據(jù)報(bào)告有統(tǒng)一的格式,但是應(yīng)用程序可以指定報(bào)告的種類(當(dāng) 前讀取標(biāo)簽/消失標(biāo)簽/新增標(biāo)簽)和數(shù)據(jù)分組的規(guī)則;根據(jù)ALE 標(biāo)準(zhǔn)應(yīng)用程序可以以異步 的方式請(qǐng)求數(shù)據(jù)報(bào)告,報(bào)告分發(fā)模塊提供了以異步方式向事件報(bào)告訂閱者發(fā)送報(bào)告的功能, 發(fā)送方式可以是HTTP, FTP, Web Service 等多種方式。

2.2 引擎內(nèi)核

事件管理是 ALE 引擎中最核心的功能,引擎內(nèi)核模塊負(fù)責(zé)管理事件的生命周期,如圖 2 所示。在ALE 模型中有幾個(gè)最基本的概念:讀周期(Read Cycle),事件周期(Event Cycle)和事件周期定義(ECSpec)。讀周期是和讀寫器交互的最小時(shí)間單元,一個(gè)讀周期的 結(jié)果是一組EPCs 集合,讀周期的時(shí)間長(zhǎng)短和具體的天線、無線射頻協(xié)議有關(guān),讀周期的輸 出就是ALE 層的數(shù)據(jù)。事件周期可以是一個(gè)或多個(gè)讀周期,它是從用戶的角度來看待 讀寫器的,并可以將一個(gè)或多個(gè)讀寫器當(dāng)作一個(gè)整體,是ALE 接口和用戶交互的最小時(shí)間 單元。應(yīng)用業(yè)務(wù)邏輯層的客戶在ALE 中定義好ECSpec 之后,就可接收相應(yīng)的事件周期的 數(shù)據(jù)報(bào)告。

使用OSGi技術(shù)實(shí)現(xiàn)ALE引擎的設(shè)計(jì)

2.3 數(shù)據(jù)處理模塊

數(shù)據(jù)處理模塊分為四個(gè)子模塊:數(shù)據(jù)隊(duì)列模塊負(fù)責(zé)緩存數(shù)據(jù),當(dāng)讀寫器讀取到一個(gè)標(biāo)簽 時(shí)會(huì)把數(shù)據(jù)放入相應(yīng)的隊(duì)列,其他的數(shù)據(jù)處理模塊會(huì)把數(shù)據(jù)從隊(duì)列中取出然后進(jìn)行處理,當(dāng) 隊(duì)列滿了或者超時(shí)數(shù)據(jù)會(huì)從隊(duì)列中刪除;數(shù)據(jù)格式轉(zhuǎn)換模塊根據(jù)應(yīng)用的要求對(duì)數(shù)據(jù)做出格式 轉(zhuǎn)換;數(shù)據(jù)過濾模塊根據(jù)ECSpec的定義對(duì)數(shù)據(jù)進(jìn)行過濾,過濾規(guī)則包括“包含模式”和 “排除模式”兩種模式[3],最后出現(xiàn)在報(bào)告中的標(biāo)簽信息至少要與“包含模式”列表中的一 個(gè)模式匹配,并且不能與任何出現(xiàn)在“排除模式”中的模式匹配;數(shù)據(jù)分組模塊根據(jù)ECSpec 的定義對(duì)過濾后的數(shù)據(jù)進(jìn)行分組和統(tǒng)計(jì)。

3 引擎內(nèi)核實(shí)現(xiàn)

引擎內(nèi)核采用事件驅(qū)動(dòng)的方式實(shí)現(xiàn),見圖 3。

使用OSGi技術(shù)實(shí)現(xiàn)ALE引擎的設(shè)計(jì)

圖3 引擎內(nèi)核實(shí)現(xiàn)

一個(gè) ECSpec 在內(nèi)核里對(duì)應(yīng)著一個(gè)事件周期管理者,應(yīng)用層對(duì)于ALE 讀接口的調(diào)用會(huì) 映射到具體的事件周期管理者上,由事件周期管理者來完成接口提供的功能。當(dāng)一個(gè) ECSpec 被定義時(shí)(即調(diào)用define 或immediate 方法),引擎就會(huì)為這個(gè)ECSpec 創(chuàng)建 對(duì)應(yīng)的事件周期管理者,同時(shí)創(chuàng)建一個(gè)事件周期對(duì)象和各種觸發(fā)器。當(dāng)ALE 接口調(diào)用請(qǐng)求 者第一次對(duì)某個(gè)ECSpec 發(fā)出調(diào)用請(qǐng)求時(shí)(例如調(diào)用subscribe, poll, immediate 方法) 將激活對(duì)應(yīng)的事件周期管理者,此時(shí)由這個(gè)事件周期管理者所控制的事件周期對(duì)象和各個(gè)觸 發(fā)器也被激活,事件周期對(duì)象開始按照ECSpec 中所定義的邊界條件開始和結(jié)束激活狀態(tài), 并收集RFID 標(biāo)簽數(shù)據(jù)。當(dāng)最后一個(gè)接口調(diào)用請(qǐng)求的調(diào)用方法返回時(shí),事件周期管理者再次 進(jìn)入休眠狀態(tài),對(duì)應(yīng)的事件周期對(duì)象和各個(gè)觸發(fā)器也停止運(yùn)行,直到被再次喚醒或者隨著該 ECSpec 的撤銷被撤銷。

ECSpec 會(huì)在未請(qǐng)求、已請(qǐng)求和活躍狀態(tài)三種狀態(tài)的之間遷移,狀態(tài)策略模塊根據(jù)狀 態(tài)轉(zhuǎn)換的規(guī)則轉(zhuǎn)換ECSpec 的狀態(tài)。外部調(diào)用請(qǐng)求會(huì)導(dǎo)致狀態(tài)的變遷,不同的狀態(tài)下接收 到相同的調(diào)用請(qǐng)求除了執(zhí)行不同的操作外還可能使ECSpec 變遷為不同的后繼狀態(tài),因此 這里使用了狀態(tài)模式。每一時(shí)刻ECSpec 都會(huì)處于某一種狀態(tài)中,事件周期管理者接收到 接口調(diào)用請(qǐng)求后都會(huì)把請(qǐng)求代理給狀態(tài)策略模塊,由當(dāng)前狀態(tài)策略決定對(duì)調(diào)用如何響應(yīng)和確 定后繼狀態(tài)是什么。

ALE 標(biāo)準(zhǔn)中定義了事件周期觸發(fā)器,并且具體定義了一個(gè)時(shí)間觸發(fā)器。在引擎中,除了 這個(gè)時(shí)間觸發(fā)器外,所有事件周期邊界條件都被看作是一種觸發(fā)器,因此抽象出一個(gè)觸發(fā)器 接口Trigger 。事件周期中定義的各種的邊界條件, 如duation, repeatPeriod, stableSetInterval 等等都是抽象Tigger 的具體實(shí)現(xiàn)。因此抽象Trigger 可以理解為影響事 件周期開始和結(jié)束的觸發(fā)條件,而ALE 標(biāo)準(zhǔn)中所定義的ECTrigger 成為抽象Trigger 的其中 一種具體實(shí)現(xiàn)。在具體觸發(fā)器的創(chuàng)建過程中使用了抽象工廠模式,事件周期管理者在初始化 的時(shí)候調(diào)用工廠方法創(chuàng)建各種具體的觸發(fā)器。

4 結(jié) 論

使用事件驅(qū)動(dòng)的方式設(shè)計(jì)和實(shí)現(xiàn)了 ALE 引擎,減低了各模塊之間的耦合度,有利于引 擎的維護(hù)和擴(kuò)展。抽象了事件周期觸發(fā)器概念,令所有邊界觸發(fā)條件和觸發(fā)器能夠統(tǒng)一管理 和工作,簡(jiǎn)化了把用戶自定義的觸發(fā)器加入引擎的過程,令觸發(fā)器系統(tǒng)有更好的擴(kuò)展性。作 為RFID 中間件中重要的部分,該引擎為可重構(gòu)的RFID 中間件提供了很好的支持。而采用 OSGi 技術(shù)實(shí)現(xiàn)ALE 引擎得以實(shí)現(xiàn)諸如動(dòng)態(tài)更新數(shù)據(jù)處理和事件處理組件的需求,對(duì)于中小 型企業(yè)應(yīng)用RFID 技術(shù),可以動(dòng)態(tài)地組合ALE 引擎的功能,不再需要一次性購(gòu)買大量復(fù)雜 的RFID中間件產(chǎn)品,從而形成了一種快速的和可擴(kuò)展的RFID 中間件解決方案,降低了RFID 應(yīng)用技術(shù)的成本。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RFID
    +關(guān)注

    關(guān)注

    388

    文章

    6182

    瀏覽量

    238200
  • 無線
    +關(guān)注

    關(guān)注

    31

    文章

    5468

    瀏覽量

    173584
  • 通信網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    21

    文章

    2044

    瀏覽量

    52116
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于Notes的OA工作流引擎的設(shè)計(jì)和實(shí)現(xiàn)

    Domino/Notes平臺(tái)上實(shí)現(xiàn)了工作流引擎實(shí)現(xiàn)了的工作流引擎由后臺(tái)類實(shí)現(xiàn)業(yè)務(wù)邏輯和前端類實(shí)現(xiàn)
    發(fā)表于 04-24 09:22

    請(qǐng)問nand中的ALE該怎么算?

    ; NANDFLASH_ALE = (blocknum & 0x0003) > 2; NANDFLASH_ALE = (blocknum & 0x0c00) >> 10
    發(fā)表于 10-28 09:30

    求助,關(guān)于單片機(jī)ALE引腳的問題

    單片機(jī)不訪問外部鎖存器的時(shí)候ALE斷有正脈沖信號(hào)輸出,此頻率約為始終振蕩頻率的1/6,每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)候。兩個(gè)機(jī)械周期中ALE只出現(xiàn)一次,及丟失一個(gè)ALE脈沖,這句話是不是有毛病,我覺的應(yīng)該丟失3個(gè)啊
    發(fā)表于 11-03 08:14

    基于Web的地圖服務(wù)引擎的設(shè)計(jì)與實(shí)現(xiàn)

    論文結(jié)合實(shí)時(shí)柵格地圖渲染引擎和矢量地圖發(fā)布引擎的優(yōu)點(diǎn),提出一種新的基于Web的地圖服務(wù)引擎的設(shè)計(jì)方案和實(shí)現(xiàn)過程,并采用柵格地圖預(yù)渲染入庫(kù)的方式,顯著地改善了
    發(fā)表于 12-14 16:23 ?20次下載

    RFID中間件ALE引擎設(shè)計(jì)與實(shí)現(xiàn)

    無線射頻識(shí)別技術(shù)(RFID)中間件為應(yīng)用系統(tǒng)封裝底層RFID設(shè)備操作細(xì)節(jié)、處理設(shè)備收集的數(shù)據(jù)、提供應(yīng)用程序級(jí)別的接口來控制RFID讀寫器和查詢RFID事件。本文介紹了一個(gè)支持EPCglobal
    發(fā)表于 01-25 14:12 ?18次下載

    短波快速跳頻系統(tǒng)下新的ALE呼叫方法

    文章對(duì)于第三代短波ALE(快速鏈路建立)進(jìn)行了研究,對(duì)其中的關(guān)鍵技術(shù)進(jìn)行了討論.并在美軍3G-ALE 標(biāo)準(zhǔn)的基礎(chǔ)上,根據(jù)短波信道的傳播特性,針對(duì)窄帶接收的短波快速跳頻通信
    發(fā)表于 01-27 11:56 ?22次下載

    基于OSGI家庭網(wǎng)關(guān)的多媒體系統(tǒng)設(shè)計(jì)

    隨著家庭網(wǎng)絡(luò)技術(shù)和多媒體技術(shù)的飛速發(fā)展,如何實(shí)現(xiàn)數(shù)字家庭中多媒體服務(wù)智能化和人性化已成為當(dāng)今研究的熱點(diǎn)。本文介紹一種基于OSGI家庭網(wǎng)關(guān)和UPNP AV架構(gòu)擴(kuò)展的媒體共享系統(tǒng)
    發(fā)表于 02-26 13:48 ?18次下載

    基于OSGI的智能家庭系統(tǒng)設(shè)計(jì)

    為了解決普適環(huán)境下智能家庭各類設(shè)備組網(wǎng)困難的問題,本系統(tǒng)采用OSGi(Open Service Gateway Initiative)服務(wù)框架和LonWorks現(xiàn)場(chǎng)總線技術(shù),利用低壓電力線載波手段來設(shè)計(jì)和實(shí)現(xiàn)智能家庭系統(tǒng)。
    發(fā)表于 04-28 10:36 ?35次下載
    基于<b class='flag-5'>OSGI</b>的智能家庭系統(tǒng)設(shè)計(jì)

    OSGi原理與最佳實(shí)踐_王昊

    本書基于作者多年使用0SGi的經(jīng)驗(yàn)而編寫,涵蓋了0SGi從/kfqN深入的知識(shí)體系,從OSGi的簡(jiǎn)介開始,介紹OSGi的作用及基本概念;其后進(jìn)入OSGi實(shí)戰(zhàn),結(jié)合實(shí)例講解如何基于OSGi
    發(fā)表于 12-23 15:35 ?0次下載
    <b class='flag-5'>OSGi</b>原理與最佳實(shí)踐_王昊

    基于JAVA技術(shù)的搜索引擎的研究與實(shí)現(xiàn)

    本文還利用Java技術(shù)對(duì)搜索引擎的三個(gè)核心部分即網(wǎng)絡(luò)蜘蛛、網(wǎng)頁索引、搜索進(jìn)行了實(shí)現(xiàn)。索引和搜索部分借助Lucene全文搜索引擎庫(kù)中的Java類進(jìn)行實(shí)
    發(fā)表于 05-07 14:14 ?35次下載
    基于JAVA<b class='flag-5'>技術(shù)</b>的搜索<b class='flag-5'>引擎</b>的研究與<b class='flag-5'>實(shí)現(xiàn)</b>

    使用單片機(jī)實(shí)現(xiàn)ADC0808中斷方式AD的ALE輸出CLK的仿真文件免費(fèi)下載

    使用單片機(jī)實(shí)現(xiàn)ADC0808中斷方式AD的ALE輸出CLK的仿真文件免費(fèi)下載
    發(fā)表于 03-21 09:43 ?11次下載

    使用51單片機(jī)實(shí)現(xiàn)ADC0808查詢方式AD ALE輸出CLK的仿真文件

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)實(shí)現(xiàn)ADC0808查詢方式AD ALE輸出CLK的仿真文件免費(fèi)下載。
    發(fā)表于 03-22 16:36 ?12次下載

    OpenDaylight中的OSGi

    從寫單個(gè)類的打印Hello World小程序到OSGi模塊化開發(fā),確實(shí)存在較大的難度,本文將從模塊化、OSGI模型以及OSGI在OpenDaylight中的應(yīng)用等方面進(jìn)行介紹。
    的頭像 發(fā)表于 02-14 15:05 ?792次閱讀
    OpenDaylight中的<b class='flag-5'>OSGi</b>

    基于OSGI的智能家庭系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于OSGI的智能家庭系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-27 10:41 ?0次下載
    基于<b class='flag-5'>OSGI</b>的智能家庭系統(tǒng)的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    ALE的刻蝕原理?

    ????? ALE,英文名Atomic Layer Etching,中文名原子層刻蝕。是和ALD相對(duì)的,均是自限性反應(yīng),一個(gè)是沉積一個(gè)是刻蝕。ALD是每個(gè)循環(huán)只沉積一層原子,ALE是每個(gè)循環(huán)只刻蝕
    的頭像 發(fā)表于 12-20 14:15 ?233次閱讀
    <b class='flag-5'>ALE</b>的刻蝕原理?