来源:RFID世界网 作者:狄菲 赵卫东 周志平 彭瑞 季军 发布时间:2009-02-23 15:45:37 字体:[大 中 小]
摘 要:针对无线射频识别(RFID)技术在仓储管理中的应用,探讨如何设计RFID中间件的问题。采用数据过滤,数据聚合,添加业务逻辑处理、查询支持等方法,将数据流转换为适合上层应用程序的逻辑形式,实现仓储管理的自动化、智能化。
表1 Observation表
2.2 事件处理层
事件处理层位于原始数据采集层和业务逻辑之间。它根据上层系统发送的定义文件和回发地址,生成报告文件,按发布/订阅机制将报告反馈给系统 J。原始数据采集层提供了硬件的统一接口,事件处理层则定义了应用系统对RFID中间件的标准访问方式。它对原始RFID数据进一步处理,使数据转化为上层系统需要的形式。图3为RFID数据处理流程。
图3 数据处理流程
数据流经过缓冲机制后,还存在着大量的冗余信息,需要对其进行过滤、聚合,提取出有意义的事件。我们按解析机制发来的事件周期T对数据流进行操作,按上层定义的业务规则判断事件类型,并存储在相应的表格中。
2.2.1 过滤机制
经过缓冲机制后的数据流还存在着大量的重复,即阅读器重复和标签重复。标签位于一个阅读器识读范围内时,阅读器就会不断地读取标签数据,直到标签离开为止,称为标签重复;另外,当标签同时处于多个阅读器的识读范围内时,它的数据也会被不同的阅读器重复读取。图4为阅读器重复。
为解决上述问题,对标签重复,我们只记录标签第一次出现和最后一次出现的时间;对阅读器重复,一是在布置阅读器位置时考虑到交叠情况,尽量用最少的阅读器数量覆盖全部区域。但为了提高识读率,往往不能避免交叠。这里采取的是虚拟阅读器的方法,同一地区的多个阅读器组成一个虚拟阅读器。如图4的R1,R2,R3,R4共同组成一个虚拟阅读器V0。过滤后的数据存放在表2中,T—Start为V~Reader初次阅读某标签的时间,以后再读到该标签则更新T—End和Count值(Coum为标签读取次数,有时为简便起见,可略去)。
表2 Filter表
图4 阅读器重复示例
对Filter表加上触发器,当有插入事件发生时,则表示有新的标签出现;当某标签的T End(Count)在规定的时间内都未发生变化时,则引动触发器,认为该标签消失。将消失的标签信息送入下一个机制。这样只报告标签进入和离开的时间,大大减少了数据量。
2.2.2 事务处理机制
过滤后的数据流蕴含大量的语义信息。事务处理机制根据订阅机制提供的业务规则,对数据流进行分析,提取出有意义的事件模式。
在本项目的仓储管理系统中,有三种基本的事件类型:移动事件、警告事件和关联事件。移动事件包括出/入库事件、移库事件,是关于标签位置发生变化的事件。警告事件人员进入禁区、操作错误等。
关联事件为了责任到户,系统需要知道某批托盘货物 是由哪个人员驾驶哪辆叉车运载的,即人员一叉车一托盘关联关系。
下面以出/入库事件为例,阐述系统的处理流程。对接收的标签查询其历史信息,判断其标签类型(托盘、人员、叉车)。对托盘标签来说,如果查询历史信息,该托盘原始位置为车间,且初始默认为空托,入库门阅读器读到该标签信息,则为入库事件,于是将该事件插入到入库表中。同理,出库事件、转库事件和警告事件都会引起相应的表格操作。
2.2.3 订阅/解析器
订阅/解析器使得系统有着更好的可扩展性和可移植性。在原始数据采集层,代理兼容了不同的设备接口,使中间件与设备无关。而解析机制则将上层系统发来的定义文件转化为中间件可以理解的方式。事件周期T和业务规则都是由上层定义的,中间件只需按要求进行处理就可以了。报告文件由事务处理机制生成并发送到指定位置,同时在数据库记录。
2.2.4 数据库支持
传统的数据库更新并不频繁按设定的时间进行。但RFID数据库的更新非常频繁。阅读器不断的读入原始数据,进行过滤、聚合处理后的数据要进行存储,上层应用程序又不断地进行查询,使得RHD数据库的构建和传统数据库不同,需要分层建立。如图5所示:底层是原始RHD数据库,过滤聚合(清理)后的数据库位于第二层,然后是业务逻辑层,为便于查询,最上层由需要频繁查询的数据组成。这些层次对应着中间件数据处理的不同阶段。
图5 数据库层次示例
3 RFID技术在仓储管理中的应用
广东某公司的石化仓储计量控制系统应用RFID技术有较好的效果,它可以实时显示库存状态,对货物进行准确定位,积极支持上层查询,对数据进行有效采集、传输和记录,实现对货品的动态管理,提高效率和安全性。
3.1 定位
标签的原始位置,出入库记录,转库记录都被整合在History表中,显示每个标签的历史位置信息。为更精确地获取贴标签的库内位置,需要在仓库内部布置位置阅读器,获取标签信息。这部分的功能有待系统进一步扩展。
3.2 查询监控
系统要了解出库物品和入库物品是否与出库.单/入库单一致,需要对货品进行跟踪监控,查询是否有漏读或不可靠阅读;出/入库货品种类数量、人员叉车托盘是否按指定分配等。应用程序可以直接查询数据库,也可以用发送/订阅模式从中间件获得实时信息。当发现库存量、出/入库计划、计划外出库或操作不规范等情况,系统自动报警。
3.3 显示库存状态
为了即时获取库存数量,库存量=原始库存量+入库量一出库量。对入库表、出库表添加触发器,一旦有插入操作,并且出入库量不为0,即不为空托时,会启动一个触发器,对产品表的库存量进行修改。以下为对入库表加上触发器:
4 结语
本文主要介绍了RFID仓库管理系统中RFID中间件的设计问题。应用RFID标签和阅读器实现对货品的动态管理,可提高效率和安全性。同时为了适应不同的阅读器和应用系统要求,采用RFID中间件技术,使RFID数据采集与应用程序相分离,不仅适用于仓储管理系统,稍作改进后可推广到其他的商业领域中去。
本文提出的中间件模型按功能分为两层,针对数据处理的不同阶段有相应的机制进行处理。在实际应用中,一些系统只使用中间件完成数据采集功能,剩下的工作完全由应用系统和数据库交互完成。本文对中问件的功能进行了拓展,对数据库进行过滤、聚合、事件模式提取,使原始数据转化为上层需要的形式,更好地适应了系统需求。应用代理和发布/订阅技术,使系统有良好的可扩展性和移植性。
(企业数字化技术教育部工程研究中心;同济大学CAD研究中心;中国石化股份有限公司茂名分公司,狄菲 ,赵卫东 ,周志平 ,彭瑞 ,季军)
推荐文章
论坛热帖