,欢迎光临!
加入收藏设为首页请您留言
您当前位置:网站首页 >> 过滤器新闻 >> RFID事件模式过滤器及其构建方法-上海联兵环保免费电话:400-600-5030

RFID事件模式过滤器及其构建方法-上海联兵环保免费电话:400-600-5030

2011-09-13 16:20:08 来源:中国过滤器网 浏览:2

摘 要:随着射频识别RFID技术的快速发展,RFID中间件已经成为业界关注的焦点。本文就RFID中间件中事件过滤功能的实现进行了初步探讨,并提出了一种灵活的基于XML语言的过滤模式脚本和过滤器脚本定义方法,为RFID事件过滤模式的自由扩展提供了一个开放的平台。
关键词:射频识别;中间件;过滤器;事件模式
中图分类号:TP311 文献标识码:A
1 引言
射频识别(Radio Frequency Identification,简称RFID)技术是从上世纪80年代走向成熟的一项自动识别技术,近年来发展十分迅速[1]。与此同时,由于硬件技术的成熟和生产成本的降低,RFID市场正在逐步向软件及应用集成服务倾斜,而中间件无疑是这两个市场共同的宠儿。目前,RFID中间件市场得到了国际软件巨头的广泛关注和认可。IBM、微软、甲骨文、OATSystems、SAP以及Sun等多家公司都相继推出了RFID中间件产品。本文将以自主研发的RFID智能中间件产品Smarti系统为背景,初步介绍了RFID中间件中事件模式过滤器的构建方法,较为全面地覆盖了RFID事件模式定义、过滤器定义以及识别过程实现等方面的内容。
2 RFID中间件与模式过滤
RFID中间件[2~4]位于前端读写器硬件与后端应用系统软件(如ERP、CRM、WMS)之间的媒介层,它通过对RFID设备的精确控制,实现数据的实时采集与分析,并通过已经定义的应用逻辑,与后台应用系统无缝整合,从而大大简化了RFID应用系统集成与部署的实施环节。目前,RFID中间件得到了各大软件厂商的广泛关注,RFID系统的权威研究机构Auto ID中心也提出了类似中间件的Sa-vant概念[5,6],但就像中间件的概念一样,RFID中间件的概念范畴一直也没有得到一个明确的界定。
即使业界对RFID中间件的认识并不统一,但事件过滤却被一致公认为是RFID中间件的核心功能之一。因为从读写器获得的原始RFID事件只能简单地描述标签在感应区中存在的事实,故而与后台业务系统中定义的事件层次仍然存在着很大的差距。所以,只有通过层层过滤和归并,将一系列底层的RFID原始事件汇聚成一个具备真实业务含义的抽象事件,才能实现现有应用系统中与RFID技术及管理方法的有效整合。在已经实现的Smarti系统中,原始RFID事件需要经过四层过滤才能与上层应用的服务相互调用,其时序过程如图1所示。
本文主要介绍RFID事件模式过滤器(图1中第③个环节)的设计思想与实现方法。所谓事件模式,是指一系列事件组合的序列特征。如果把RFID事件用0/1来表示(1代表发现,0代表消失),则事件模式可以用一个0/1序列来抽象。在此基础上,Smarti系统提出了一种灵活的基于XML语言的模式脚本和过滤器脚本定义方式,实现了RFID事件过滤模式的自由扩展;同时,在实现上借鉴了数字电路中信号编码与识别等相关领域的思想,利用模式识别树实现对RFID事件序列的高速匹配。

3 过滤器的设计与实现
3.1 事件编码与滤波
RFID读写器识读到的标签事件是RFID过滤器的主要数据来源。目前,大多数读写器设备是将一段时间内读取到的标签数据存放在内存中,然后通过各种方式将这些数据准实时地传送给后台中间件或应用系统中处理。一般来说,RFID事件的描述方式有两种:一种是以固定的周期间隔将标签的存在状态向高层应用汇报,另一种则是将事件的变化过程向管理层汇报。其中,第二种方法非常类似于电路设计中Manchester编码的思想,通过描述标签存在状态的变化从而大大减少事件队列的信息冗余。例如,如果用1和0来分别表示标签被读取的状态,在没有编码的情况下,以10次/秒的读取频率,读取一个持续为1秒的标签出现过程,其事件序列可能是“001111111111000”。由此可以发现其信息冗余非常高,而且序列的规模和读写频率有关,读写频率越高,序列越大。但是,经过事件编码后,情况则大为不同。上述事件序列中的0-1跳变用0来表示,1-0跳变用1来表示,则整个序列可以被简单地描述成“01”。又因为跳变的时刻也被保存下来,其时刻信息也不会丢失,从而有效减少了事件汇报的频率。
对RFID事件进行Manchester编码是对RFID事件进行快速过滤和有效识别的一个重要前提。此外,对RFID事件序列的“滤波”过程也直接影响着RFID事件序列模式的识别效果。由于RFID的射频识别过程会因为读写器、标签以及其它射频、金属仪器之间的相互干扰而变得不稳定,因此读取的事件发生序列中也会出现类似电路系统中的“毛刺”和“杂波”现象。例如,一个“01”变化过程可能被读取为“010101”。这样的情况出现往往会对序列模式的识别造成极其严重的后果。因此,必须将多余的毛刺加以平滑和修剪。Smarti系统中采用了一种很简单的算法来实现RFID事件的滤波过程:为每个变化事件添加一个倒计时器,如果在倒计时器为0之前,该事件再次发生,则重新开始倒计时,倒计时的时间由整个系统统一确定,这样就可以消除读取信号不稳定所带来的影响。采用此种处理方法后,上述例子中“010101”序列会被平滑成一个完整的“01”序列(倒计时时间根据应用背景不同而灵活设定,代表一个信号稳定时延)。
3.2 过滤模式定义
过滤模式是过滤器的一种抽象类型定义。由于中间件已经对RFID事件进行Manchester编码,因此可以把RFID事件序列看成是一个由0/1组成的时间序列。所以,过滤模式就是用来定义这些0/1组合的次序排列规则。又因为采用的是Manchester编码规则,所以在序列中不会连续出现00或11的情况,排列规则只是定义01出现的先后次序和反复出现的频率。
过滤模式是过滤器定义的基础。每一个具体的过滤器都隶属于一种抽象的过滤模式,只是在0/1出现的间隔时间上有具体的差别。目前,在Smarti系统中已经定义的过滤模式有四种,其波形特征如图2所示:
(1)加入模式。即0模式,其中0跳变后维持相当长的时间。例如,货架上货属于此种模式。准确地说,0跳变后必然有1跳变的过程,但如果1跳变在相当长一段时间后才发生,可以缺省认为0跳变持续时间为∞,系统用默认稳定时延MAX来表示。
(2)离开模式。即1模式,其中1跳变后维持相当长的时间。例如,货架出货属于此类型。准确地说,1跳变之前必然有0跳变,但如果0跳变发生得太早,可以缺省认为1跳变之前的持续时间为∞。
(3)通过模式。即0-1模式,其中0-1之间持续的时间满足一定的要求。例如,在仓库门口的进货和出货都属于此类型。0-1之间持续的时间相对较短,并可根据实际情况对持续时间参数可以进行调整。
(4)停留模式。即0-1模式,其中0-1之间持续时间较相对较长,但又低于加入模式的最低时间约束。

除此以外,还可以根据实际需要演化出许多更加复杂的过滤模式,这里就不一一列举了。为了提供灵活的过滤模式定义功能,Smarti系统设计了一套模式定义脚本语言,既方便了模式的扩展,又为具体从属于该模式的过滤器定义提供了方便。下面以通过模式为例,具体分析模式定义的方法:


过滤模式一般由模式名称、过滤器名称、起始状态、下一状态以及最终状态几个基本元素组成。过滤模式并不是定义具体的过滤器,而是为定义具体的过滤器提供类型约束和时序关系。如上脚本所示,过滤器名称的类型属性是“UserDefine”,它表示这个字段可以由用户自由定义;而起始状态和最终状态的类型属性为“Readable”,所以起始状态的初始状态0和最终状态的系统默认稳定时延(不再有新的跳变的最大时限)是不允许用户修改的,它们属于模式固有的内容。此外,模式脚本允许描述多个01变化过程,并统一由下一状态节点来描述。因为Manchester编码的特点,所以除了初始状态外,其它每个状态不必具体指明其状态值。
3.3 过滤器定义
通过定义完备的过滤模式,Smarti系统可以在图形化的方式下准确、便捷地定义具体地过滤器。过滤器是过滤模式的具体实现。简单地说,模式定义事件序列的初始状态和跳变过程,过滤器则为模式序列上每个单元附加上时间信息。以仓库入库模式为例,传送带的入库时间大大小于人工入库时间,所以适用于这两种场合的过滤器虽然同属于同一种通过模式,但过滤器的具体参数设置却有很大不同。Smarti系统仍然采用XML脚本来描述不同过滤器的语义及约束。例如,下面是人工入库过滤器的脚本描述:

人工入库过滤器的脚本定义必须严格遵循通过过滤模式的格式要求。其中,初始状态0和最终状态的系统稳定时延是无法改变的,用户可以根据人工入库的时间特点,设置0-1跳变事件之间的间隔为4~8秒。但是,如果是传送带入库,可能跳变间隔在0.5~1秒之间。采用XML脚本语言来描述各种不同的RFID事件过滤器是Smarti系统的一个主要创新。这种更加灵活的过滤器定义方法,使RFID中间件能够满足各种应用场景的需要。同时,由于脚本语言比代码更加容易撰写和部署,可以使中间件更好地起到衔接RFID设备与后台应用的作用。
3.4 过滤器的归并与识别
对于大多数情况,一个RFID读写设备上需要部署多个过滤器来满足许多不同的应用需求。例如,一个在未来超市中部署的货架读取器,它可能会同时面临多种事件模式的识别:
(1)加入模式,货物补充到货架上等待销售;
(2)离开模式,货物被消费者从货架上取走;
(3)停留模式,用户可能在挑选商品,他的购物车在货架前停留较长时间;
(4)通过模式,用户推着购物车从货架旁经过。也就是说,一个读写器上必须同时支持这四种RFID事件的模式识别,那么就需要一个将多个过滤器描述脚本进行归并的过程。Smarti系统采用多叉树的方式来实现多个过滤器的归并。由于采用Manchester编码,所以根节点只有0、1两个分叉,分别代表经过0、1事件跳变后进入的第一个稳定状态。树的所有非根节点都代表一个稳定的跳变状态,树的深度意味着事件的跳变频度,而同一父节点上的兄弟节点属于类型比较相近的模式,只是在过滤器的时间范围上有所区别。当然,由于每个过滤器脚本都定义了最小时限和最大时限,因此可能出现脚本之间的时间冲突问题,系统会在归并过程中避免这种情况的发生。具体脚本如下:

RFID中间件根据归并后的过滤器组合脚本在内存中生成一棵完整的模式识别树。所有的事件序列经过该识别树的过滤,最终都会停留在一个稳定的跳变状态,系统的稳定时延会强制结束识别过程,从而得到最终的编码状态。如果对达到这个最终状态所经历的路径按树的层次进行编码,则最终状态的编码值相当于该过滤器的数字编码。具体如图3所示。

加入模式的编码为1,离开模式的编码为2,通过模式的编码为11,停留模式的编码为12。编码中数字的个数代表RFID事件跳变的次数,而每一位数字则代表其所处的位置(按下一跳变到来的时间顺序排列)。初始状态下只允许出现加入和离开两种模式,而这两种模式在下一层的子模式最多可以达到九个(便于进行十进制编码),以此类推,每一个状态都有唯一的数字编码序列与其对应。这样,就完成了RFID事件语义层的模式识别。
4 结束语
本文通过自主研发的RFID中间件产品Smarti系统,详细介绍了一种灵活的RFID事件模式过滤器构建方法,并充分借鉴了电路设计方面信号编码与识别的有关思想采用Manchester编码后的0/1序列来描述RFID事件序列特征;此外,还提出一种灵活的基于XML语言的模式脚本和过滤器脚本定义方式,实现了RFID事件过滤模式的自由扩展;最后对RFID事件模式定义、过滤器定义以及识别过程等方面内容的具体实现进行了全面细致的剖析,具有一定的借鉴与指导意义。

 

上海联兵环保科技有限公司
地址:上海市松江区工业区茸北分区茸阳路69号
总机:021-51691929
传真:021-57784244
免费电话:400-600-5030
技术支持:13641659499
E-mail:zhanglianbing@126.com
http://www.shlbhb.com

发表评论
网名:
评论:
验证:
共有0人对本文发表评论查看所有评论(网友评论仅供表达个人看法,并不表明本站同意其观点或证实其描述)
赞助商链接
关于我们 - 联系我们 - 咨询联兵