《RFID 中间件的实现课件》由会员分享,可在线阅读,更多相关《RFID 中间件的实现课件(29页珍藏版)》请在金锄头文库上搜索。
1、RFID 中间件的实现,提纲,什么是RFID中间件 为什么要使用 RFID中间件 RFID中间件的需求 RFID中间件的标准 ALE接口介绍 ALE实现介绍 RFID中间件的技术实现 RFID中间件产品,什么是RFID中间件,RFID 中间件是用来加工和处理来自读写器的所有信息和事件流的软件,是连接读写器和企业应用的纽带,使用中间件提供一组通用的应用程序接口(API),即能连到RFID读写器,读取RFID标签数据 。它要对标签数据进行过滤、分组和计数,以减少发往信息网络系统的数据量并防止错误识读、多读信息。,为什么要使用 RFID中间件,如何将现有的系统与新的RFID Reader连接 ? 这
2、个问题的本质是用户应用系统与硬件接口的问题。在RFID应用中,通透性是整个应用的关键,正确抓取数据、确保数据读取的可靠性、以及有效地将数据传送到后端系统都是必须考虑的问题。,为什么要使用 RFID中间件,中间件在系统中的作用及位置,为什么要使用 RFID中间件,RFID中间件与系统集成,为什么要使用 RFID中间件,数据过滤和收集 去除阅读器产生冗余、错误的标签数据。 生成报告时只上传关心的数据(分组统计的)。 RFID基础设施管理 典型的企业级应用需要管理成百上千的阅读器(可能是不同牌子的) ,RFID中间件提供对其进行配置管理,实时监控阅读器的状态。,RFID中间件的需求,数据处理尽量靠近
3、源头 大量RFID数据存在于系统“边缘”; 让有价值的数据进入中央系统; 对数据进行清理、筛选、整合和汇总; 屏蔽各种错误与异常,避免给中央系统带来麻烦。,RFID中间件的需求,对事件进行层层抽象,转化为有价值的事件 RFID应用领域面临着大量简单事件; 实现简单事件向有价值事件的转化。,RFID中间件的标准,RFID应用框架,RFID中间件的标准,EPCglobal 受业界委托而成立的非盈利组织,由国际物品编码协会(EAN)和美国统一代码委员会(UCC)共同投资,主要负责 EPC网络的全球化标准,以便快速、自动、准确地识别供应链中流通的商品。,RFID中间件的标准,RFID阅读器和RFID中
4、间件之间,定义了读写器访问协议和管理接口 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码的清单 (E
5、CSpec定义及发送),ALE Engine生成一份仓库1号门读到EPC码的清单报告送回(ECReport获取)。,ALE接口介绍,ECSpec用来描述事件周期间隔或事件触发机制,ECReport的格式,事件过滤和组合规则等。 AITReader 1000 urn:epc:pat:sgtin-64:*.*.*.* ,ALE接口介绍,ECReport是EPC事件的汇集,还包括其它相关的信息,譬如逻辑阅读器名称,ECSpec信息等。 urn:epc:tag:gid-64-i:10.50.5 urn:epc:tag:gid-64-i:10.40.4 2 ,ALE接口介绍,define(specNam
6、e:string, spec:ECSpec) : void 定义ECSpec undefine(specName:string) : void 取消已定义的ECSpec getECSpec(specName:string) : ECSpec /returns ECSpec object 得到ECSpec getECSpecNames() : List/ returns a list of specNames as strings 得到ECSpec的名字 subscribe(specName:string, notificationURI:string) : void 订阅一个ECSpec un
7、subscribe(specName:string, notificationURI:string) : void 取消订阅一个ECSpec poll(specName:string) : ECReports /returns ECReports object Poll ECSpec immediate(spec:ECSpec) : ECReports 定义ECSpecspec, poll并取消定义 getSubscribers(specName:String) : List / of notification URIs 查看谁在订阅指定的 ECSpec 。,ALE实现介绍,RFID中间件和R
8、FID读写器之间存在一个读周期(Read Cycle) 。 ALE接口规范定义了一个事件周期(Event Cycle),一个事件周期会包含一个或多个读周期,因此,RFID中间件在这一事件周期内读取的所有标签信息被聚合起来,然后通过过滤机制,发布成为一个ECReport。,ALE实现介绍,读周期和事件周期的关系图,ALE实现介绍,阅读器在每个read cycle 结束的时候会产生大量tag数据,即使在内部 进行了过滤操作,当系统中存在大量物理阅读器的时候,产生的数据量会 对网络带宽和CPU使用带来极大的压力,需要引入Event GenerationSmoothing机制。如下图所示,引入事件通知
9、机制事件的数量从6 个降低到了2个。,ALE实现介绍,由于在有些情况下 RFID Tags 并不能够每次都被物理阅读器发现,即使他们处于天线的有效范围内,所以真实的时间图不会像上面一样理想,而是会像下图所示。 有三个read cycle 并没有读到tag ,虽然tag仍然在天线区域内,如果仍然像上面那样处理事件生成的话,就会生成四个发现事件和四个消失事件,Smoothing机制就可以有效地避免这种问题。,ALE实现介绍,ALE实现介绍,从上图描述的ALE工作机制,大家可以看到,有两种机制(同步和异步)之分。 在同步工作机制下,客户端直接调用immediate()接口,通知开始工作,如需要触发器
10、触发,其状态切换到请求状态,如无需触发器触发,其状态直接切换到工作状态;在需要触发器触发的情况下,基于ECSpec定义的采集方式(或触发器启动,或周期轮询),聚合单一事件周期内所有读周期获取的EPC信息,生成ECReport,发送给客户端,其状态切换到工作状态。 在异步工作机制下,第一步是定义ECSpec,告诉Edge Server如何生成ECReport,其状态切换到未请求状态;第二步是通过调用subscribe(订阅)或者poll(抽取),告诉Edge Server其采集EPC操作开始工作,如需要触发器触发,其状态切换到请求状态,如无需触发器触发,其状态直接切换到工作状态;在需要触发器触发
11、的情况下,基于ECSpec定义的采集方式(或触发器启动,或周期轮询),聚合单一事件周期内所有读周期获取的EPC信息,生成ECReport,发送给客户端,其状态切换到工作状态,RFID中间件的技术实现,实现ALE规范的所有必需要求 - 实现ALE接口规范所描述的工作状态机 - 支持多类EPC事件接收客户端(HTTP,TCP,FILE) - 处理ECSpec,ECReport等XML,为第三方应用提供Web Service接口,RFID中间件的技术实现,集成业界主流的RFID读写器 - Symbol/Matrix读写器 - Zebra读写器 - Intermec读写器 - ThinkMagic读写
12、器 - 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,