当前位置:首页 >> 能源/化工 >>

中间件的实现


RFID 中间件的实现
徐展
0755-86110606

深圳立格射频科技有限公司

提纲
? ? ?

?
? ? ? ?

什么是RFID中间件 为什么要使用 RFID中间件 RFID中间件的需求 RFID中间件的标准 ALE接口介绍 ALE实现介绍 RFID中间件的技术实现 RFID中间件产品

什么是RFID中间件
RFID 中间件是用来加工和处理 来自读写器的所有信息和事件流 的软件,是连接读写器和企业应 用的纽带,使用中间件提供一组 通用的应用程序接口(API), 即能连到RFID读写器,读取 RFID标签数据 。它要对标签数 据进行过滤、分组和计数,以减 少发往信息网络系统的数据量并 防止错误识读、多读信息。

为什么要使用 RFID中间件
?

如何将现有的系统与新的RFID Reader连接 ?
这个问题的本质是用户应用系统与硬件接口的问题。 在RFID应用中,通透性是整个应用的关键,正确抓取 数据、确保数据读取的可靠性、以及有效地将数据传 送到后端系统都是必须考虑的问题。

为什么要使用 RFID中间件

中间件在系统中的作用及位置

为什么要使用 RFID中间件

RFID中间件与系统集成

为什么要使用 RFID中间件
?

数据过滤和收集
去除阅读器产生冗余、错误的标签数据。 生成报告时只上传关心的数据(分组统计 的)。

?

RFID基础设施管理
典型的企业级应用需要管理成百上千的阅读 器(可能是不同牌子的) ,RFID中间件提供对 其进行配置管理,实时监控阅读器的状态。

RFID中间件的需求
?

数据处理尽量靠近源头
? ? ? ?

大量RFID数据存在于系统“边缘”; 让有价值的数据进入中央系统; 对数据进行清理、筛选、整合和汇总; 屏蔽各种错误与异常,避免给中央系统带来麻烦。

RFID中间件的需求
?

对事件进行层层抽象,转化为有价值的 事件
? ?

RFID应用领域面临着大量简单事件; 实现简单事件向有价值事件的转化。

RFID中间件的标准

RFID应用框架

RFID中间件的标准
?

EPCglobal 受业界委托而成立的非盈利组织,由国际 物品编码协会(EAN)和美国统一代码委 员会(UCC)共同投资,主要负责 EPC网 络的全球化标准,以便快速、自动、准确 地识别供应链中流通的商品。

RFID中间件的标准
?

?

RFID阅读器和RFID中间件之间,定义了 读写器访问协议和管理接口 RFID中间件和EPCIS捕获应用之间,定 义了RFID事件过滤和采集接口(ALE) ALE:Application Level Events

ALE接口介绍
EPCglobal推荐的ALE(Application Level Events)接口包含了以下几个部分: ECSpec定义/取消定义
?

?

EC:Event Cycle

? ?

ECReport获取 其它辅助接口

ALE接口介绍
?

ALE的基本操作 应用发一个请求到ALE的接口要求读或写 标签,ALE Engine处理从读写器传回来 的数据报生报告回给应用。形象点可以 看成给我一份从仓库1号门读到EPC码的 清单 (ECSpec定义及发送),ALE Engine生成一份仓库1号门读到EPC码的 清单报告送回(ECReport获取)。

ALE接口介绍
?

<ale:ECSpec includeSpecInReports="true"> <logicalReaders> <logicalReader>AITReader</logicalReader> </logicalReaders> <boundarySpec> <duration unit="MS">1000</duration> </boundarySpec> <reportSpecs> <reportSpec reportIfEmpty="false" reportName="AITReaderReport" reportOnlyOnChange="false"> <reportSet set="ADDITIONS"/> <filterSpec> <includePatterns> <includePattern>urn:epc:pat:sgtin-64:*.*.*.*</includePattern> </includePatterns> </filterSpec> <output includeCount="false" includeEPC="true" includeRawDecimal="false" includeRawHex="true" includeTag="true"/> </reportSpec> </reportSpecs> </ale:ECSpec>

ECSpec用来描述事件周期间隔或事件触发机制,ECReport的格式,事件过滤和组合规则等。

ALE接口介绍
?

<ale:ECReports specName="sampleECSpec" xmlns:ale="urn:epcglobal:ale:xsd:1"> <reports> <report reportName=" AITReaderReport "> <group> <groupList> <member> <tag>urn:epc:tag:gid-64-i:10.50.5</tag> </member> <member> <tag>urn:epc:tag:gid-64-i:10.40.4</tag> </member> </groupList> <groupCount> <count>2</count> </groupCount> </group> </report> </reports> </ale:ECReports>

ECReport是EPC事件的汇集,还包括其它相关的信息,譬如逻辑阅读器名称,ECSpec信息等。

ALE接口介绍
?

define(specName:string, spec:ECSpec) : void
?

定义ECSpec
取消已定义的ECSpec 得到ECSpec 得到ECSpec的名字 订阅一个ECSpec 取消订阅一个ECSpec Poll ECSpec 定义ECSpecspec, poll并取消定义 查看谁在订阅指定的 ECSpec

?

undefine(specName:string) : void
?

?

getECSpec(specName:string) : ECSpec //returns ECSpec object
?

?

getECSpecNames() : List// returns a list of specNames as strings
?

?

subscribe(specName:string, notificationURI:string) : void
?

?

unsubscribe(specName:string, notificationURI:string) : void
?

?

poll(specName:string) : ECReports //returns ECReports object
?

?

immediate(spec:ECSpec) : ECReports
?

?

getSubscribers(specName:String) : List // of notification URIs
?

?

。。。。。。

ALE实现介绍
?

?

RFID中间件和RFID读写器之间存在一个 读周期(Read Cycle) 。 ALE接口规范定义了一个事件周期 (Event Cycle),一个事件周期会包含 一个或多个读周期,因此,RFID中间件 在这一事件周期内读取的所有标签信息 被聚合起来,然后通过过滤机制,发布 成为一个ECReport。

ALE实现介绍

读周期和事件周期的关系图

ALE实现介绍
阅读器在每个read cycle 结束的时候会产生大量tag数据,即使在内部 进行了过滤操作,当系统中存在大量物理阅读器的时候,产生的数据量会 对网络带宽和CPU使用带来极大的压力,需要引入Event Generation/ Smoothing机制。如下图所示,引入事件通知机制事件的数量从6 个降低到了2个。
?

time evGlimpsed event evLost event

ALE实现介绍
?

由于在有些情况下 RFID Tags 并不能够每次都被物理阅读器发现,即使 他们处于天线的有效范围内,所以真实的时间图不会像上面一样理想, 而是会像下图所示。

time

?

有三个read cycle 并没有读到tag ,虽然tag仍然在天线区域内,如果仍 然像上面那样处理事件生成的话,就会生成四个发现事件和四个消失事 件,Smoothing机制就可以有效地避免这种问题。

ALE实现介绍
immediate, when no startTrigger specified subscribe or poll, when no startTrigger specified

immediate

define Unrequested)

subscribe or poll Requested

Start trigger received or repeatPeriod elapsed
Active

undefine

unsubscribe of last subscriber

Stop trigger received, duration elapsed, or field stable for stableFieldInterval

Stop condition reached, and only requester was poll Stop condition reached, and only requester was immediate

ALE实现介绍
?

?

从上图描述的ALE工作机制,大家可以看到,有两种机制(同步和异步) 之分。 在同步工作机制下,客户端直接调用immediate()接口,通知开始工作, 如需要触发器触发,其状态切换到请求状态,如无需触发器触发,其状 态直接切换到工作状态;在需要触发器触发的情况下,基于ECSpec定义 的采集方式(或触发器启动,或周期轮询),聚合单一事件周期内所有 读周期获取的EPC信息,生成ECReport,发送给客户端,其状态切换到 工作状态。 在异步工作机制下,第一步是定义ECSpec,告诉Edge Server如何生成 ECReport,其状态切换到未请求状态;第二步是通过调用subscribe(订 阅)或者poll(抽取),告诉Edge Server其采集EPC操作开始工作,如需 要触发器触发,其状态切换到请求状态,如无需触发器触发,其状态直 接切换到工作状态;在需要触发器触发的情况下,基于ECSpec定义的采 集方式(或触发器启动,或周期轮询),聚合单一事件周期内所有读周 期获取的EPC信息,生成ECReport,发送给客户端,其状态切换到工作 状态

RFID中间件的技术实现
?

实现ALE规范的所有必需要求 - 实现ALE接口规范所描述的工作状态机 - 支持多类EPC事件接收客户端(HTTP, TCP,FILE) - 处理ECSpec,ECReport等XML,为第 三方应用提供Web Service接口

RFID中间件的技术实现
?

集成业界主流的RFID读 写器 - Symbol/Matrix读写器 - Zebra读写器 - Intermec读写器 - ThinkMagic读写器 - Alien读写器 - Avery读写器 - SAMSys读写器 - Printronix读写器 - Awid读写器

RFID中间件的技术实现
?

提供RFID中间件自身的配置管理 - 配置读写器集成参数,实现不同读写 器的集成 - 配置ALE接口参数,实现第三方应用的 访问 - 配置中间件工作参数,实现RFID中间 件在特殊环境下适应性工作 - 提供集中管理

RFID中间件的技术实现
?

提供对RFID读写器的监控、基本配置和 管理 - 支持多个RFID读写器的同时访问,监 控 - 支持对不同RFID读写器的基本配置和 管理

RFID中间件的技术实现
?

提供灵活扩展的框架,支持ALE规范的升 级和快速集成新的RFID读写器 - 提供版本维护机制,支持ALE规范的升 级 - 提供开发工具包,快速集成新的RFID 读写器

RFID中间件产品
?

?

?

?

AIT AIT LYNKO-ALE,具有自主产权 BEA BEA EDGE SERVER IBM IBM RFID ALE Engine SUN Sun Java System RFID

公司介绍
?

深圳立格射频科技有限公司
专业的射频自动识别技术(RFID)整体解决方案提供商

?

资源优势
?

我们拥有中国第一条专业的电子标签封装线 ,具备各种频率、各 种规格的电子标签封装生产能力 ; 拥有自主知识产权的基于RFID应用的中间件软件产品; 以及其他应用软件的开发、系统咨询、系统集成服务

?

?



Q&A


赞助商链接
相关文章:
更多相关标签: