RFID中间件为屏蔽各类设备的差异,实现应用对设备的透明操作。中间件将每个设备用统一的代理来模拟,由代理和设备直接交互。不同的设备,代理处理的消息类型、处理的方法也不同。代理之间通过UDP/IP上的XML消息来交流信息。使用XML的优点是它的异构性、可扩展性、灵活性,适用于松耦合特性的分布式系统。数据采集层又细分为代理接口和缓冲两部分。
代理接口是中间件为设备和应用层提供的双向接口,我们用代理来模拟设备接口。阅读器代理负责控制阅读器驱动、状态查询、接收RFID标签信息等工作,把设备传进来的数据转换成标准化格式,这样能更好的适应客户需要。在缓冲模块部分,由于RFID阅读器每秒钟会阅读成千上万的标签,为防止溢出,采用线程来加速包的卸载,并将数据保存在即时队列中。这里线程和数据队列构成了一个缓冲机制,以满足计算机的实时处理要求,它可以平滑从阅读器接收到大量简单重复无序的数据,按要求进行处理。每个阅读周期(读周期是和读写器交互的最小单位)线程接收一组EPC组合,将其发送到消息队列,对其进行事件有效性验证,检查是否出现读写器错误或漏读,实现对数据的初步过滤。正确读取的数据记录在数据库的Observation 表中。 |