具体实施方式
本发明中第一阅读器查询相邻的第二阅读器的相邻边界天线的工作状态,第二阅读器将相邻边界天线的工作状态反馈给第一阅读器,第一阅读器根据反馈的相邻边界天线的工作状态判断是否可以触发相应天线执行标签识别操作。本发明实施例提供的方法可以适用于多个阅读器连接多根天线的情况中,为了方便介绍在具体实施例中只涉及到分别连接两根天线的两个阅读器。如图1所示,具体步骤如下:
步骤11,第一阅读器确定需要触发第一天线执行标签识别操作;
步骤12,第一阅读器向第二阅读器发送用于查询第二天线状态的状态查询请求消息;
步骤13,第二阅读器接收到所述状态查询请求消息后,确定第二阅读器的第二天线当前处于工作状态;
步骤14,第二阅读器向第一阅读器反馈第二天线处于工作状态的状态查询响应消息;
步骤15,第一阅读器接收到所述状态查询响应消息后,放弃当前触发第一天线执行标签识别操作的操作。
以下以两个具体实施例进行说明:
实施例一:
如图2所示,本发明实施例提供了分别连接两根天线的两个阅读器之间相邻边界天线间避免信号干扰的方法。如图3所示,具体步骤如下:
步骤31,第一阅读器在触发第一天线执行标签识别操作前,第一阅读器首先获取自身的天线配置表,检测第一天线的标识是否在天线配置表中,如果在,则转到步骤32;否则,对第一阅读器的下一天线进行检测;
表1是第一阅读器的天线配置表,在该表中有第一阅读器上与第二阅读器相邻的天线的天线标识、第二阅读器的地址信息、以及第二阅读器与第一阅读器之间的物理链路号,所述物理链路号具有唯一性。如果第一阅读器的天线的天线标识在所述天线配置表中,则说明该天线为边界天线,有发生信号干扰的可能性。
天线标识 |
第二阅读器IP和端口 |
第一阅读器IP和端口 |
物理链路号 |
边界天线22 |
10.86.20.50 8087 |
|
3 |
边界天线23 |
|
10.86.20.49 8086 |
2 |
表1
步骤32,第一阅读器根据第二阅读器的地址信息以及第二阅读器与第一阅读器之间的物理链路号,向第二阅读器发送对第二阅读器的第二天线的天线状态查询请求消息;
第二天线是第二阅读器上的、与第一天线相邻的天线;
步骤33,第二阅读器接收到状态查询请求后,获取自身的天线配置表,参见表1所述天线配置表中有第二阅读器上与第一阅读器相邻的天线的天线标识、第一阅读器的地址信息、以及第一阅读器与第二阅读器之间的物理链路号,所述物理链路号具有唯一性;第二阅读器根据第一阅读器的地址信息以及第一阅读器与第二阅读器之间的物理链路号,将该物理链路号信息对应的天线标识所代表的天线确定为第二天线,然后查询所述第二天线的天线状态,并向第一阅读器反馈状态查询响应消息;如图4所示,该步骤具体过程如下:
当第二阅读器的第二天线自身状态为“工作”时,则向第一阅读器反馈状态为“忙”的状态查询响应消息;
当第二阅读器刚刚向第一阅读器发出状态查询请求,并且此时尚未接到第一阅读器反馈的状态查询响应消息时,则第二天线自身状态为“刚刚发出查询”时,比较两个阅读器的IP地址,并进行如下步骤:
(1)当第二阅读器的IP地址大于第一阅读器的IP地址时,则第二阅读器向第一阅读器反馈状态为“忙”的状态查询响应消息;
(2)当第二阅读器的IP地址小于第一阅读器的IP地址时,则第二阅读器向第一阅读器反馈状态为“闲”的状态查询响应消息;
当第二阅读器的第二天线自身状态为“空闲”时,则第二阅读器向第一阅读器反馈状态为“闲”的状态查询响应消息。
当第一阅读器接收到第二阅读器反馈的状态响应消息后,将会做出相应的操作,所述操作的具体过程如下:
当第二阅读器反馈的是状态为“闲”的状态查询响应消息时,第一阅读器触发第一天线执行标签识别的操作;
当第二阅读器反馈的是状态为“忙”的状态查询响应消息时,第一阅读器放弃触发第一天线执行标签识别的操作,并完成如下操作:
(1)第一阅读器等待T时间后,第一阅读器再次向第二阅读器发起状态查询请求;
(2)第一阅读器在T2时间内一直收到第二阅读器反馈的状态为“忙”的状态查询响应消息时,则第一阅读器切换到第一天线的下一天线进行相应状态查询操作;
当第一阅读器在T1时间内一直没有收到第二阅读器反馈的状态查询响应消息时,则第一阅读器立即向第二阅读器重发状态查询消息,当第一阅读器向第二阅读器重发状态查询消息的操作的重复次数大于N1次时,且还没有收到第二阅读器反馈的状态查询响应消息时,则第一阅读器触发第一天线执行标签识别操作。
另外,时间T、T1、T2以及重发次数N1的值可以具体设置如下:T的具体值为从0时刻开始到一个数据包传递一个来回的典型时间的5倍;时间T1=20ms;时间T2=1000ms;重发次数N1=2次。
本发明实施例提供的方法,可以很好的避免相邻阅读器的相邻天线同时执行标签识别操作时时可能会产生的信号干扰问题;并且UDP协议的典型传输时间是1ms,对天线执行标签识别操作的速率影响很小,使用本实施例提供的方法后,RFID技术的相邻阅读器的识别成功率得到了很大的提升(由之前的98%到99.95%)。天线执行标签识别操作的速率总体上没有降低。并且从整体上解决了相邻阅读器间相邻天线的信号干扰的问题,使识别率得到提高,从软件层次上将临道的信号干扰降到最低。
较佳的,为了避免IP地址大的阅读器上的天线执行标签识别的次数过多,可以采用实施例二中提供的方案。
实施例二:
参见图3所示的过程,本发明实施例二的具体步骤如下:
步骤31,第一阅读器在触发第一天线执行标签识别操作前,第一阅读器首先获取自身的天线配置表,检测第一天线的标识是否在天线配置表中,如果在,则转到步骤32;否则,对第一阅读器的下一天线进行检测;
步骤32,第一阅读器根据第二阅读器的地址信息以及第二阅读器与第一阅读器之间的物理链路号,向第二阅读器发送对第二阅读器的第二天线的天线状态查询请求消息;
第二天线是第二阅读器上的、与第一天线相邻的天线;
步骤33,第二阅读器接收到状态查询请求后,获取自身的天线配置表,参见表1所述天线配置表中有第二阅读器上与第一阅读器相邻的天线的天线标识、第一阅读器的地址信息、以及第一阅读器与第二阅读器之间的物理链路号,所述物理链路号具有唯一性;第二阅读器根据第一阅读器的地址信息以及第一阅读器与第二阅读器之间的物理链路号,将该物理链路号信息对应的天线标识所代表的天线确定为第二天线,然后查询所述第二天线的天线状态,并向第一阅读器反馈状态查询响应消息;如图5示,该步骤具体过程如下:
当第二阅读器的第二天线自身状态为“工作”时,则向第一阅读器反馈状态为“忙”的消息;
当第二阅读器刚刚向第一阅读器发出状态查询请求,并且此时尚未接到第一阅读器反馈的状态查询响应消息时,则第二天线自身状态为“刚刚发出查询”时,比较两个阅读器的IP地址并进行如下步骤:
(1)当第二阅读器的IP地址大于第一阅读器的IP地址时,第二阅读器向第一阅读器反馈状态为“忙”的状态查询响应消息,然后第二阅读器将本阅读器自身的第二天线的忙闲标识位设置为闲;第一阅读器接收到该状态查询响应消息后,将自身的第一天线的忙闲标志位设置为忙;
并开启预先设置的定时器T3,在该定时器超时前,若第一阅读器和第二阅读器中任意一方接收到对方发来的对天线的状态查询请求消息、并且接收到状态查询请求消息的一方在接收到该状态查询请求消息之前向对方发出了状态查询请求消息并且还未接收到对该状态查询请求消息的响应消息,则接收到状态查询请求消息的一方在自身的状态标志位为忙时,向对方发送天线处于工作状态的状态查询响应消息,在自身的状态标志位为闲时,向对方发送天线未处于工作状态的状态查询响应消息;并且,
向对方发送天线处于工作状态的状态查询响应消息的一方将自身的状态标志位设置为闲,接收到天线处于工作状态的状态查询响应消息的一方将自身的状态标志位设置为忙;
向对方发送天线处于未工作状态的状态查询响应消息的一方将自身的状态标志位设置为忙,接收到天线处于未工作状态的状态查询响应消息的一方将自身的状态标志位设置为闲。
具体的,第二阅读器开启预先设置的定时器T3,在该定时器超时前,若第二阅读器接收到第一阅读器发来的对第二天线的天线状态查询请求消息、并且第二阅读器在接收到该状态查询请求消息之前向第一阅读器发出了状态查询请求消息并且还未接收到对该状态查询请求消息的响应消息,则第二阅读器在自身的第二天线的忙闲标志位为闲时,向第一阅读器发送第二天线处于闲的状态查询响应消息,并将自身的第二天线的忙闲标志位设置为忙;在自身的第二天线的忙闲标志位为忙时,向第一阅读器发送第二天线处于忙的状态查询响应消息,并将自身第二天线的的忙闲标志位设置为闲;
第一阅读器接收到所述第二天线处于忙的状态查询响应消息后,将自身的第一天线的忙闲标志位设置为忙;开启预先设置的定时器,在该定时器超时前,若第一阅读器接收到第二阅读器发来的对第一天线的天线状态查询请求消息、并且第一阅读器在接收到该状态查询请求消息之前向第二阅读器发出了状态查询请求消息并且还未接收到对该状态查询请求消息的响应消息,则第一阅读器在自身的第一天线的忙闲标志位为闲时,向第二阅读器发送第一天线处于闲的状态查询响应消息,在自身的第一天线的忙闲标志位为忙时,向第二阅读器发送第一天线处于忙的状态查询响应消息。
在定时器超时后,若第一阅读器和第二阅读器中任意一方接收到对方发来的对天线的状态查询请求消息、并且接收到状态查询请求消息的一方在接收到该状态查询请求消息之前向对方发出了状态查询请求消息并且还未接收到对该状态查询请求消息的响应消息,则接收到状态查询请求消息的一方判断自身相对于对方是从阅读器或是主阅读器,若是从阅读器,则向对方发送天线处于未工作状态的状态查询响应消息,若是主阅读器,则向对方发送天线处于工作状态的状态查询响应消息。
(2)当第二阅读器的IP地址小于第一阅读器的IP地址时,向第一阅读器向主阅读器反馈状态为“闲”的状态查询响应消息,然后将第二阅读器将本阅读器的第二天线的忙闲标识位设置为忙,第一阅读器接收到所述第二天线未处于工作状态的状态查询响应消息后,将自身的第一天线的忙闲标志位设置为闲;
并开启预先设置的定时器T3,在该定时器超时前,若第一阅读器和第二阅读器中任意一方接收到对方发来的对天线的状态查询请求消息、并且接收到状态查询请求消息的一方在接收到该状态查询请求消息之前向对方发出了状态查询请求消息并且还未接收到对该状态查询请求消息的响应消息,则接收到状态查询请求消息的一方在自身的状态标志位为忙时,向对方发送天线处于工作状态的状态查询响应消息,在自身的状态标志位为闲时,向对方发送天线未处于工作状态的状态查询响应消息;并且,
向对方发送天线处于工作状态的状态查询响应消息的一方将自身的状态标志位设置为闲,接收到天线处于工作状态的状态查询响应消息的一方将自身的状态标志位设置为忙;
向对方发送天线处于未工作状态的状态查询响应消息的一方将自身的状态标志位设置为忙,接收到天线处于未工作状态的状态查询响应消息的一方将自身的状态标志位设置为闲。
具体的,第二阅读器开启预先设置的定时器T3,在该定时器超时前,若第二阅读器接收到第一阅读器发来的对第二天线的天线状态查询请求消息、并且第二阅读器在接收到该状态查询请求消息之前向第一阅读器发出了状态查询请求消息并且还未接收到对该状态查询请求消息的响应消息,则第二阅读器在自身的第二天线的忙闲标志位为忙时,向第一阅读器发送第二天线处于忙的状态查询响应消息,并将自身的第二天线的忙闲标志位设置为闲;在自身的第二天线的忙闲标志位为闲时,向第一阅读器发送第二天线处于闲的状态查询响应消息,并将自身的第二天线的忙闲标志位设置为忙;
第一阅读器接收到所述第二天线处于闲的状态查询响应消息后,将自身的第一天线的忙闲标志位设置为闲;开启预先设置的定时器,在该定时器超时前,若第一阅读器接收到第二阅读器发来的对第一天线的天线状态查询请求消息、并且第一阅读器在接收到该状态查询请求消息之前向第二阅读器发出了状态查询请求消息并且还未接收到对该状态查询请求消息的响应消息,则第一阅读器在自身的第一天线的忙闲标志位为忙时,向第二阅读器发送第一天线处于忙的状态查询响应消息,在自身的第一天线的忙闲标志位为闲时,向第二阅读器发送第一天线处于闲的状态查询响应消息。
在定时器超时后,若第一阅读器和第二阅读器中任意一方接收到对方发来的对天线的状态查询请求消息、并且接收到状态查询请求消息的一方在接收到该状态查询请求消息之前向对方发出了状态查询请求消息并且还未接收到对该状态查询请求消息的响应消息,则接收到状态查询请求消息的一方判断自身相对于对方是从阅读器或是主阅读器,若是从阅读器,则向对方发送天线处于未工作状态的状态查询响应消息,若是主阅读器,则向对方发送天线处于工作状态的状态查询响应消息。
另外,在步骤(1)、(2)中所述定时器设置的定时时间为T3。
该方法可以有效的通过改变状态标识位的状态信息,起到均分IP地址大的阅读器的工作次数与IP地址小的阅读器的工作次数;如图6所示,当第一阅读器与第二阅读器同时向对方发出状态询问请求时,可通过IP地址的大小发出状态为“忙”或“闲”的状态响应消息,收到状态响应消息为“闲”的阅读器可触发自身相应天线执行标签识别的操作。
当第二阅读器的第二天线自身状态为“空闲”时,则第二阅读器利用UDP协议向第一阅读器反馈状态为“闲”的状态查询响应消息。
当第一阅读器接收到第二阅读器发来的反馈状态响应消息后,将会做出相应的操作,所述操作的具体过程如下:
当第二阅读器发来的反馈状态为“闲”的状态查询响应消息时,第一阅读器触发第一天线执行标签识别的操作;
当第二阅读器发来的反馈状态为“忙”的状态查询响应消息时,第一阅读器放弃触发第一天线执行标签识别的操作,并完成如下操作:
(1)第一阅读器等待时间T后,第一阅读器再次向第二阅读器发起态查询请求;
(2)当第一阅读器在T2时间内一直收到状态为“忙”的状态查询响应消息时,则第一阅读器切换到第一天线的下一天线进行相应状态查询操作;
当第一阅读器在T1时间内一直没有收到第二阅读器反馈的状态查询响应消息时,则第一阅读器立即向第二阅读器重发状态查询消息,当第一阅读器立向第二阅读器重发状态查询消息的操作的重复次数大于N1次,且还没有收到第二阅读器反馈的状态查询响应消息时,则第一阅读器触发第一天线执行标签识别操作。
另外,时间T、T1、T2以及重发次数N1的值可以具体设置如下:T的具体值为从0时刻开始到一个数据包传递一个来回的典型时间的5倍;时间T1=20ms;时间T2=1000ms;重发次数N1=2次。
本发明实施例提供的方法,通过避免相邻阅读器的相邻天线同时工作,可以很好的避免相邻阅读器的相邻天线同时发出信号或同时接收信号时可能会产生的信号干扰问题;并且可以避免IP地址大的阅读器的相应天线执行标签识别操作的次数过多的大于IP地址小的阅读器的相应天线执行标签识别操作的次数,并且UDP协议的典型传输时间是1ms,对天线执行标签识别操作的速率影响很小,使用本实施例提供的方法后,RFID技术的相邻阅读器的识别成功率得到了很大的提升(由之前的98%到99.95%)。天线执行标签识别操作的速率总体上没有降低。并且从整体上解决了相邻阅读器间相邻天线的信号干扰的问题,使识别率得到提高,从软件层次上将临道的信号干扰降到最低。
参见图2,本发明实施例还提供一种射频识别RFID系统,该系统包括:
第一阅读器,用于在触发第一天线执行标签识别操作前,向第二阅读器发送用于查询第二天线状态的状态查询请求消息;接收到第二阅读器反馈的状态查询响应消息后,放弃当前触发第一天线执行标签识别操作的操作;第二天线是第二阅读器上的、与第一天线相邻的天线;
第二阅读器,用于在接收到所述状态查询请求消息后,确定第二天线当前是否处于工作状态,并在第二天线当前处于工作状态时向第一阅读器反馈第二天线处于工作状态的状态查询响应消息。
所述第一阅读器用于:
在触发第一天线执行标签识别操作前,获取为自身配置的天线配置表,该天线配置表中记录有第一阅读器上与第二阅读器相邻的天线的天线标识、第二阅读器的地址信息、以及第二阅读器与第一阅读器之间的物理链路号;
判断第一天线的标识是否包含在所述天线配置表中,若是,则根据第二阅读器的地址信息以及第二阅读器与第一阅读器之间的物理链路号,向第二阅读器发送用于查询第二天线状态的状态查询请求消息。
所述第二阅读器用于:
在接收到所述状态查询请求消息之后、获取为自身配置的天线配置表,该天线配置表中记录有第二阅读器上与第一阅读器相邻的天线的天线标识、第一阅读器的地址信息、以及第一阅读器与第二阅读器之间的物理链路号;
在所述天线配置表中查找第一阅读器的物理链路号,将该物理链路号对应的天线标识所代表的天线确定为第二天线,并确定第二天线当前是否处于工作状态。
所述第二阅读器还用于:
在确定第二天线当前未处于工作状态时,向第一阅读器反馈第二天线未处于工作状态的状态查询响应消息;
第一阅读器还用于:
接收到第二天线未处于工作状态的状态查询响应消息后,触发第一天线进行标签识别操作。
所述第二阅读器用于:
在向第一阅读器反馈第二天线未处于工作状态的状态查询响应消息之前,判断自身是否在接收到所述状态查询请求消息之前向第一阅读器发出了状态查询请求消息并且还未接收到对该状态查询请求消息的响应消息;若是,则判断第二阅读器相对于第一阅读器是从阅读器或是主阅读器;若是从阅读器,则向第一阅读器反馈第二天线未处于工作状态的状态查询响应消息。
所述第二阅读器还用于:
在判断自身相对于第一阅读器是主阅读器时,向第一阅读器反馈第二天线处于工作状态的状态查询响应消息。
所述第二阅读器用于:
将自身的IP地址与第一阅读器的IP地址进行比较,若自身的IP地址大于第一阅读器的IP地址,则确定第二阅读器相对于第一阅读器是主阅读器;若自身的IP地址小于第一阅读器的IP地址,则确定第二阅读器相对于第一阅读器是从阅读器。
本发明实施例还提供一种阅读器,该阅读器包括:
状态查询单元,用于在触发第一天线执行标签识别操作前,向第二阅读器发送用于查询第二天线状态的状态查询请求消息,第二天线是第二阅读器上的、与第一天线相邻的天线;
处理单元,用于在接收到第二阅读器反馈的第二天线处于工作状态的状态查询响应消息后,放弃当前触发第一天线执行标签识别操作的操作。
所述阅读器还包括:
查询判断单元,用于在状态查询单元向第二阅读器发送用于查询第二天线状态的状态查询请求消息之前,获取为自身配置的天线配置表,该天线配置表中记录有第一阅读器上与第二阅读器相邻的天线的天线标识、第二阅读器的地址信息、以及第二阅读器与第一阅读器之间的物理链路号;判断第一天线的标识是否包含在所述天线配置表中;
所述状态查询单元用于:
在查询判断单元判断第一天线的标识包含在所述天线配置表中时,根据第二阅读器的地址信息以及第二阅读器与第一阅读器之间的物理链路号,向第二阅读器发送用于查询第二天线状态的状态查询请求消息。
所述处理单元还用于:
在接收到第二阅读器反馈的第二天线未处于工作状态的状态查询响应消息后,触发第一天线进行标签识别操作。
所述阅读器还包括:
状态反馈单元,用于在接收到第二阅读器发来的对第一天线的天线状态查询请求消息后,确定第一天线当前是否处于工作状态,并在第一天线当前处于工作状态时向第二阅读器反馈第一天线处于工作状态的状态查询响应消息。
所述阅读器还包括:
天线确定单元,用于获取为自身配置的天线配置表,该天线配置表中记录有第二阅读器上与第一阅读器相邻的天线的天线标识、第二阅读器的地址信息、以及第一阅读器与第二阅读器之间的物理链路号;
所述状态反馈单元用于:
在接收到第二阅读器发来的对第一天线的天线状态查询请求消息后,在所述天线配置表中查找第二阅读器的物理链路号,将该物理链路号对应的天线的天线标识所代表的天线确定为第一天线,并确定第一天线当前是否处于工作状态,并在第一天线当前处于工作状态时向第二阅读器反馈第一天线处于工作状态的状态查询响应消息。
综上所述,本发明的有益效果在于:
在本发明实施例提供的方案中,通过查询相邻阅读器的相邻边界天线的工作状态,决定当前阅读器的当前天线是否执行标签识别的操作,该方法可以有效的避免同频信号的干扰问题。同时,由于使用了UDP协议和主从策略,在时间和速度上也有了很大的提高。因此,本发明提供的方法和装置在时间、识别率和降低通信号干扰方面得到了很大的进步。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。