发明内容
本发明要解决的技术问题在于,针对现有技术的上述会出现较多的碰撞、使得传输的时间较长、数据传输效率较低的缺陷,提供一种出现较少的碰撞、传输时间较短、数据传输效率较高的一种多个电子标签接入阅读器方法及装置。
本发明解决其技术问题所采用的技术方案是:构造一种多个电子标签接入阅读器方法,包括如下步骤:
A)开始接入帧,在所述帧头位置发送分组参数Q和时隙参数N到所述多个电子标签,所述多个电子标签分别随机在0到2Q-1的整数中选择组数并在0到N-1的整数中随机选择所在时隙;
B)分组时选择0中的电子标签参与本次接入,选择时隙,并发出该时隙接入指令;
C)分配于所述选择的时隙的电子标签按二进制树(Binary Tree)的方法接入;
D)遍历所有时隙?如是,执行步骤E);否则,返回步骤B);
E)除去已接入的电子标签外还有电子标签未接入?如是,返回步骤A)开始下一个接入帧;否则,退出本次接入。
在本发明所述的多个电子标签接入阅读器的方法中,所述步骤E)中进一步包括调节所述分组参数Q并返回步骤A)或调节所述分组参数Q和时隙参数N并返回步骤A)。
在本发明所述的多个电子标签接入阅读器的方法中,在不同的接入帧开始时,清除所有未接入的电子标签在上一个接入帧所选择的组数。
在本发明所述的多个电子标签接入阅读器的方法中,所述阅读器在激活所述多个电子标签后开始的第一个接入帧中所发送的分组参数Q和时隙参数N为事先设定的设定值。
在本发明所述的多个电子标签接入阅读器的方法中,所述步骤B)中,选择时隙时包括在本帧内未被选择过的时隙中按其编号依次选择所述时隙或在本帧内未被选择过的时隙中随机选择。
在本发明所述的多个电子标签接入阅读器的方法中,所述步骤C)中进一步包括如下步骤:
C1)符合要求的电子标签生成随机数0或1,并将其值赋予电子标签中的计数器;
C2)计数器值为0的电子标签回复标签信息;
C3)阅读器接收正确?如是,阅读器发送成功信息,计数器值不为零的电子标签其计数器值减1并返回步骤C2);否则,执行步骤C4);
C4)阅读器接收错误?如是,阅读器发送错误信息,计数器值不为零的电子标签的计数器值加1,计数器值为零的电子标签再次生成随机数0或1,生成随机数1的电子标签的计数器值加1,生成随机数0的电子标签维持计数器值不变并返回步骤C2);如否,执行步骤C5);
C5)阅读器未接收到回复信号,发送再次发送接入指令,计数器值不为1的电子标签,保持计数器值不变;计数器值为1的电子标签再次生成随机数0或1,生成随机数1的电子标签的计数器值不变,生成随机数0的电子标签计数器值减1并返回步骤C2)。
本发明还涉及将多个电子标签接入阅读器的装置,包括:
接入帧发生模块:用于开始接入帧,在所述帧头位置发送分组参数Q和时隙参数N到所述多个电子标签;
参数选择模块:用于在所述多个电子标签中分别随机在0到2Q-1的整数中选择组数并在0到N-1的整数中随机选择所在时隙;
时隙选择模块:用于选择时隙,并发出该时隙接入指令;
接入模块:用于将组数为0且时隙为所述选择的时隙的电子标签按二进制树的方法接入;
时隙判断模块:用于判断是否遍历所有时隙;
剩余标签判断模块:用于判断是否除去已接入的电子标签外还有电子标签未接入,在仍有未接入的电子标签的情况下调用接入帧发送模块产生新的接入帧。
在本发明所述的将多个电子标签接入阅读器的装置中,所述剩余标签判断模块还包括用于调节所述分组参数Q的分组参数调节单元。
在本发明所述的将多个电子标签接入阅读器的装置中,所述接入帧发送模块还包括用于在不同的接入帧开始时,清除所有未接入的电子标签在上一个接入帧所选择的组数的清除单元。
在本发明所述的将多个电子标签接入阅读器的装置中,还包括用于存储所述事先设定的分组参数Q和时隙参数N设定值的设定值存储模块。
实施本发明的一种多个电子标签接入阅读器的方法及装置,具有以下有益效果:由于在帧头将分组参数Q和时隙参数N发送到各电子标签,使得多个电子标签可以随机分组并将一个组的标签随机分配到本帧的各个时隙,再通过遍历上述各时隙使得被分配到上述相关组内各时隙的电子标签按二进制树的方式随机接入阅读器;而经过上述过程未接入的所有电子标签在下一个接入帧中被清除上述分组后再次分组并分配到不同的时隙上。所以,在多个电子标签存在时,其接入效率较高,接入所用时间较短。
具体实施方式
下面将结合附图对本发明实施例作进一步说明。
如图1所示,在本发明一种多个电子标签接入阅读器的方法及装置实施例中,其接入方法包括如下步骤:
步骤S101 发送分组参数Q和时隙参数N到多个电子标签:在本实施例中,标签的接入(即将电子标签的回复信号发送到阅读器)是采用接入帧的实现的,上述接入帧在结构上包括帧头和多个时隙,即在帧开始时,阅读器发送一个喊参数的命令,该命令中包含了上述分组参数Q和时隙参数N,之后,阅读器在一定时间后开始逐个时隙接入;每个时隙内上述阅读器处理的是被分配在该时隙内的电子标签的接入信号。当设置在上述阅读器的作用范围内的被阅读器激活并发出确认激活的信号到阅读器之后,阅读器开始构建并对上述多个电子标签发送接入帧,使得上述多个电子标签能在较短时间内、经过较少的碰撞接入上述阅读器。在本步骤中,当一个接入帧开始,阅读器首先对多个电子标签发送帧头部分,而帧头部分包括分组参数Q和时隙额参数N,其中,分组参数Q表示各电子标签可以随机选择的组数,而时隙参数N表示每一帧所具有的时隙数。这些参数都随上述接入帧的帧头发送到各电子标签。
步骤S102 多个电子标签分别在0到2Q-1范围内选择组数:在本步骤中,上述被激活的电子标签都会通过接收上述阅读器发出的接入帧取得上述分组参数Q和时隙额参数N,于是,各电子标签的首先按照其接受到的分组参数Q,随机在0到2Q-1的正整数取值范围内选择一个作为本电子标签的组数。
步骤S103 电子标签分别判断自己所选组数为0?如是,执行步骤S105;否则,执行步骤S104:在本步骤中,电子标签判断在上述步骤中随机选择的组数是否为零,如是,本电子标签参与本接入帧的接入;否则,本电子标签不参与本接入帧的接入。
步骤S104 本接入帧内不接入,等待清除所选Q值:执行完本步骤后,跳转到步骤S111。
步骤S105 参与接入,在0到N-1范围内选择时隙:由于本电子标签所随机选择的组数为零,所以该电子标签参与本接入帧的接入,进一步地,该电子标签在上述步骤中接收到时隙参数N的基础上,在0到N-1的整数范围内随机选择该电子标签在该接入帧内的时隙。具体来讲,一个接入帧中的时隙(也就是可以传送接入信号的时间段)数就是上述时隙参数N。
步骤S106 阅读器选择当前时隙,并通知上述参与接入的电子标签:本步骤由阅读器选择当前可以接入的时隙,通知上述各个电子标签。也就是阅读器选择允许接入的时隙数,并将该时隙数通知各电子标签。
步骤S107 本电子标签选择的时隙是当前时隙?在本步骤中,参与接入的各电子标签检查自己在上述步骤中选择的时隙是否当前时隙,如是执行步骤S109,否则执行步骤S108;具体而言,就是各电子标签在接收到阅读器的通知后,得知当前的时隙数,并判断在上述步骤中自己选择的时隙数是否与当前时隙数相等,如相等,则判断为本电子标签所处时隙为当前时隙,否则,判断为不是当前时隙。
步骤S108 该时隙内不接入,等待下一个当前时隙:在本步骤中,由于判定在上述步骤中电子标签所选择的时隙不是当前时隙,因此,选择该时隙的各电子标签均不参与本时隙的接入,而是等待下一个当前时隙。当阅读器再次发送上述的当前时隙通知时,这些电子标签返回步骤S106,参与下一个当前时隙而得判断及传输。
步骤S109 按二进制树接入:在本步骤中,参与本次时隙的接入的所有电子标签,按照二进制数的接入方法,依次接入上述阅读器。
步骤S110 完成所有时隙遍历?如是,执行步骤S111,否则,跳转到步骤S106,选择下一个时隙接入。在本实施例中,时隙的遍历就是是否本接入帧内的所有时隙都已经接入;此外,上述当前时隙的选择可以是依次选择的,例如,第一次时隙接入选择本接入帧中的时隙1,第二次时隙接入选择本接入帧中的时隙2,依次类推;也可以是随机选择的,例如第一次时隙接入选择本接入帧中的时隙5,第二次时隙接入选择本接入帧中的时隙3,……等等,但是一个原则是,本接入帧中的所有时隙都要经历过(也就是接入过)才能执行步骤S111,否则,就只能在步骤S106和步骤S110之间循环,知道所有的本接入帧中的时隙均与处理过。
步骤S111 清除尚未接入的电子标签的分组,改变或不改变上述Q值:在本步骤中,由于已经完成本接入帧的接入,因此需要将剩下的、还没有接入阅读器的电子标签在上述步骤中选择的参数Q和N消除掉,准备进行下一个接入帧的传输。在本实施例中,经过上述步骤,一定有电子标签已经接入阅读器,但是,仍有没有接入的电子标签,所以需要构建并传输下一个接入帧,因此返回步骤S101。在上述步骤被重复多次之后,将会出现所有电子标签均与接入的情况,在这种情况下,并不需要再次构建及传输下一个接入帧。同时,在本步骤中,可以依据况将上述Q请款增加或不增加Q值的方位。
在图2示出的本发明的实施例中方法流程中利用二进制树的方法,也就是说,下面所描述的步骤S201-步骤S208是一个接入帧中一个时隙中多个电子标签的接入方法,其具体包括如下步骤:
步骤S201 随机生成0或1,并将其输送到计数器:在本步骤中,多个选择了一个时隙的电子标签自己生成随机数,该随机数的取值是0、1中的一个,该随机数生成后,各电子标签将生成的随机数赋值到该电子标签的计数器中,使得计数器的值为其生成的随机数。值得一提的是,上述电子标签中的计数器的值是随时间而变化的。当经过设定时间后,计数器的值减1。这样设置的目的在于将多个电子标签分为不同的子集,进而减少同时接入的电子标签的数量。
步骤S202 计数器为零的电子标签接入:在本步骤中,上述电子标签中计数器为0的,开始接入,及发送回复信息到上述阅读器。
步骤S203 阅读器接收到正常信号?当上述的电子标签发送回复信息后,如果阅读器接收到,也就是阅读器接收到正常信号,则阅读器发送确认信号,执行步骤S207;否则,执行步骤S204。
步骤S204 阅读器接收错误:当上述阅读器接收到一个错误的回复信号后,则阅读器发送失败确认信号,执行步骤S208;否则,执行步骤S205。
步骤S205 阅读器接收为空:在本步骤中,可以判定阅读器接收到的信号为空,也就是阅读器实际上并没有接收到信号,因此,阅读器发出重新接入指令,电子标签收到后,执行步骤S206
步骤S206 计数器值为非1的,保持其值;计数器值为1的,重新生成随机数0、1,并将其赋值计数器:电子标签接收到上述阅读器发出的重新接入指令后,如果其计数器值为非1的,保持该计数器值,如果计数器值为1的,则标签重新生成随机数0或1,并给计数器赋值,同时返回步骤S202。
步骤S207 发送成功信息,计数器值不为零的其值减1:阅读器发送成功回复信号,该标签接收到上述确认信号后,退出接入,不再相应本次接入;同时,计数器值不为0的电子标签的计数器的值减1,并返回步骤S202。
步骤S208 计数器值为非零的,其值加1;计数器值为零的,重新生成随机数0、1,并将其赋值计数器:阅读器发送失败确认指令,电子标签接收到后,如果其计数器的值为非0,则计数器值加1;如果计数器的值为0,则该电子标签重新生成随机数,给其计数器赋值,同时返回步骤S202。
实际上而言,上述步骤S203到步骤S205是几种可能出现的情况,而步骤S207、步骤S208和步骤S206分别是上述步骤S203、S204、S205出现时采取的相应动作。
总之,在本实施例中,上述方法可以描述如下:阅读器对处于有效射频场区域的标签进行唤醒和选择。阅读器可以通过唤醒信号及唤醒指令唤醒处于休眠状态的标签,并使标签转入接入相关的状态。同时,阅读器可以在接入相关的指令中利用参数特征选择部分标签参与当前接入。阅读器发送指令开始当前帧的标签接入。该指令起始一个接入帧。该指令中至少包含组选参数Q和帧长参数N。阅读器利用参数Q使得所有标签分散到2Q个组中,在[0, 2Q -1]内随机选择的一个整数代表一个组。帧长参数N使得被阅读器规定的参与接入组的标签进一步分散到N个时隙内。标签收到接入指令后,根据参数Q在[0, 2Q -1]内随机选择一个整数,且选择0的标签参与当前帧的接入。没有选择0的标签在后续帧中重新根据参数Q在[0, 2Q -1]内随机选择随机数,且选择0的标签参与下一个当前帧的接入。参与到当前帧的标签在[0,N-1]内随机选择一个整数,该整数表示该标签在当前帧中的时隙位置。阅读器采用二进制树的方法接入当前帧内每个时隙内的标签。在本实施例中,参数Q根据当前帧中参与的标签数目增大或减小Q值。而二进制树方式(算法)是指:标签收到接入指令后,启动随机数发生器。所有生成1的标签使计数器加1;所有生成为0的标签,计数器值保持不变(计数器值为0),并立即回复标签信息。若阅读器在规定的时间区间中正确接收标签的回复信息,阅读器发送成功确认指令,并进入下一个时间区间接收。当发送的标签收到成功确认指令时,不再响应与接入相关的指令。未发送的标签(即计数器值不为0的标签),其计数器值减1。若阅读器在规定时间区间上错误接收标签回复信息,阅读器发送失败确认指令,并进入下一个时间区间接收。标签收到失败确认指令时,计数器值不为0的标签,计数器值加1。计数器值为0的标签,启动随机数发生器。所有生成1的标签使计数器加1;所有生成为0的标签,计数器值保持不变(计数器值为0),并立即回复标签信息。若阅读器在规定时间区间上未收到标签回复信息,发送重新接入的指令。当标签收到重新接入的指令时,计数器值不为1的标签,计数器值保持不变。计数器为1的标签,启动随机数发生器。所有生成1的标签使计数器值保持不变;所有生成为0的标签,计数器值减1(变为0),并立即回复标签信息。
在本实施例中,重复上述步骤,逐帧接入所有标签。阅读器在每帧开始时可以根据上一帧中的成功、碰撞和空闲的情况调整Q值和N值。
在本实施例中,以N=16,Q=4为例说明如下:
(1) 阅读器唤醒所有标签。
(2) 阅读器发送帧起始指令,含参数N=16,Q=4。
(3) 标签收到指令后,在在[0,15]内随机选择一个整数,且选择0的标签参与当前帧的接入。
(4) 参与到当前帧的标签在[0,15]内选择随机数作为帧时隙序号。比如,图3中有3个标签选择时隙2。
(5) 阅读器采用二进制树的方法接入当前帧内每个时隙内的标签。比如,第2时隙内的三个标签采用二进制树方法接入,如图3所示。
(6) 重复(2)-(5),并在(2)中根据接入情况修正参数,直至所有标签全部接入。
图4给出了本实施例的方法与ISO18000-6中采用二进制树方法、时隙ALOHA(Q算法)以及 18000-7中的成帧的ALOHA方法的接入效率(吞吐量)的比较。接入效率表示该方法的接入成功率,数值上等于归一化的成功时隙数与消耗的总时隙数的比值。从图中可以看到,本实施例的方法接入效率(吞吐量)达到0.48,而其它的方法均低于0.33,且本实施例中的方法简单易于实现。
本实施例中还涉及一种多个电子标签接入阅读器的装置,如图5所示,包括:用于开始接入帧,在所述帧头位置发送分组参数Q和时隙参数N到所述多个电子标签的接入帧发生模块1;用于在所述多个电子标签中分别随机在0到2Q-1的整数中选择组数并在0到N-1的整数中随机选择所在时隙的参数选择模块2;用于选择时隙,并发出该时隙接入指令的时隙选择模块3;用于将组数为0且时隙为所述选择的时隙的电子标签按二进制树的方法接入的接入模块4;用于判断是否遍历所有时隙的时隙判断模块5;用于存储所述事先设定的分组参数Q和时隙参数N设定值的设定值存储模块6;用于判断是否除去已接入的电子标签外还有电子标签未接入,在仍有未接入的电子标签的情况下调用接入帧发送模块1产生新的接入帧的剩余标签判断模块7。
其中,剩余标签判断模块7还包括用于调节所述分组参数Q的分组参数调节单元71;而接入帧发送模块1还包括用于在不同的接入帧开始时,清除所有未接入的电子标签在上一个接入帧所选择的组数的清除单元11。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。