发明内容
有鉴于此,本公开提出了一种多标签分时工作方法,包括:
处于同一编队内的每个标签监听所述编队内其他标签的当前动态;其中,同一编队内的各标签均标记有不同的编号信息;
在监听到所述编队内其他标签的当前动态中存在未处于睡眠状态时,进行避让睡眠时长的计算;
确定所述避让睡眠时长后,进入睡眠状态;
在所述睡眠状态结束后进行测距。
在一种可能的实现方式中,还包括:
在当前标签测距完成后,计算睡眠周期;
按照睡眠周期进入睡眠状态或唤醒。
在一种可能的实现方式中,计算睡眠周期包括:
获取所述编队内标签的个数;
获取每个标签进行测距所需要的时间;
依据所述标签的个数和每个标签进行测距所需要的时间计算所述睡眠周期。
在一种可能的实现方式中,在监听到所述编队内其他标签的当前动态中存在未处于睡眠状态时,进行避让睡眠时长的计算包括:
获取所述编号信息;
当所述其他标签中的任意一个标签正在测距时,依据当前标签的编号和正在测距的标签的编号进行避让睡眠时长的计算。
在一种可能的实现方式中,依据当前标签的编号和正在测距的标签的编号进行避让睡眠时长的计算包括:
若所述当前标签的编号小于所述正在测距的标签的编号时,所述避让睡眠时长为:Nt-(n-n1)t;
其中,所述t表征每个标签进行测距所需要的时间,所述n表征正在测距的标签的编号,所述n1表征当前标签的编号,所述N表征标签的个数;
若所述当前标签的编号大于所述正在测距的标签的编号时,所述避让睡眠时长为:(n1-n)t;
其中,所述t表征每个标签进行测距所需要的时间,所述n表征正在测距的标签的编号,所述n1表征当前标签的编号。
在一种可能的实现方式中,还包括:
在当前标签正在进行测距时收到了所述其他标签中的任一标签的测距请求;
获取发出测距请求的标签的编号;
依据所述当前标签的编号和发出测距请求的标签的编号判断是否需要避让。
在一种可能的实现方式中,依据当前标签的编号和发出测距请求的标签的编号判断是否需要避让包括:
若发出测距请求的标签的编号大于所述当前标签的编号,则所述当前标签继续进行测距;
若发出测距请求的标签的编号小于所述当前标签的编号,则计算所述避让睡眠时长,所述当前标签按照所述避让睡眠时长进入所述睡眠状态;
其中,所述当前标签的编号大于等于2。
根据本公开的另一方面,提供了一种多标签分时工作装置,其特征在于,包括监听模块、避让睡眠时长计算模块、睡眠模块和测距模块。
所述监听模块,被配置为处于同一编队内的每个标签监听所述编队内其他标签的当前动态;其中,同一编队内的各标签均标记有不同的编号信息;
所述避让睡眠时长计算模块,被配置为在监听到所述编队内其他标签的当前动态中存在未处于睡眠状态时,进行避让睡眠时长的计算;
所述睡眠模块,被配置为确定所述避让睡眠时长后,进入睡眠状态;
所述测距模块,被配置为在所述睡眠状态结束后进行测距。
根据本公开的另一方面,提供了一种多标签分时工作设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现前面任一所述的方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现前面任一所述的方法。
通过处于同一编队内的每个标签监听编队内其他标签的当前动态,其中,同一编队内的各标签均标记有不同的编号信息,在监听到编队内其他标签的当前动态中存在未处于睡眠状态时,进行避让睡眠时长的计算,确定避让睡眠时长后,进入睡眠状态,在睡眠状态结束后进行测距。这样,标签只在初次开机时持续开启一定时间的接收,之后除了在测距或定位时开启接收和发送外,其他时间一直处于睡眠状态,从而大幅度降低了标签端的功耗。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的多标签分时工作方法的流程图。如图1所示,该多标签分时工作方法包括:
步骤S100,处于同一编队内的每个标签监听编队内其他标签的当前动态,其中,同一编队内的各标签均标记有不同的编号信息,步骤S200,在监听到编队内其他标签的当前动态中存在未处于睡眠状态时,进行避让睡眠时长的计算。此处,需要说明的是,睡眠状态指的是标签当前没有进行测距或定位等操作。也就是说,未处于睡眠状态的标签指的是当前正在进行测距或定位的标签,处于睡眠状态的标签则为当前没有进行测距或定位的标签。步骤S300,确定避让睡眠时长后,进入睡眠状态,步骤S400,在睡眠状态结束后进行测距。
通过处于同一编队内的每个标签监听编队内其他标签的当前动态,其中,同一编队内的各标签均标记有不同的编号信息,在监听到编队内其他标签的当前动态中存在未处于睡眠状态时,进行避让睡眠时长的计算,确定避让睡眠时长后,进入睡眠状态,在睡眠状态结束后进行测距。这样,标签只在初次开机时持续开启一定时间的接收,之后除了在测距或定位时开启接收和发送外,其他时间一直处于睡眠状态,从而大幅度降低了标签端的功耗。
具体的,参见图1,执行步骤S100,处于同一编队内的每个标签监听编队内其他标签的当前动态,其中,同一编队内的各标签均标记有不同的编号信息。
在一种可能的实现方式中,在UWB使用飞行时间测量距离获取定位信息的无线定位系统中,同一环境中同时有多个被定位标签,参见图2,执行步骤S001,每个标签初次开机时先开启接收信号,标签开机时刻不受其他标签开机时刻限制,可以随时进出定位区域,从而不影响定位效果并执行步骤S002,同时监听当前是否有其他标签在进行测距,举例来说,在当前的区域环境中有10个标签,基站为多个,优选的,基站可以为10个,在初次开机时,首先对这10个标签进行编号,则这10个标签的编号依次为1,2,3,4,5……10,10个标签均开启接收信号,且监听其他9个标签是否正在进行测距。其中,监听时间由工作人员预先设置。
进一步的,参见图1,执行步骤S200,在监听到编队内其他标签的当前动态中存在未处于睡眠状态时,进行避让睡眠时长的计算。
在一种可能的实现方式中,依据其他标签的动态进行睡眠时长的计算包括:对所有标签进行编号,当其他标签中的任意一个标签正在测距时,依据当前标签的编号和正在测距的标签的编号进行避让睡眠时长的计算。具体的,依据当前标签的编号和正在测距的标签的编号进行避让睡眠时长的计算包括:若当前标签的编号小于正在测距的标签的编号时,避让睡眠时长为:Nt-(n-n1)t,其中,t表征标签进行测距所需要的时间,n表征正在测距的标签的编号,n1表征当前标签的编号,N表征标签的个数,若当前标签的编号大于正在测距的标签的编号时,避让睡眠时长为:(n1-n)t,其中,t表征标签进行测距所需要的时间,n表征正在测距的标签的编号,n1表征当前标签的编号。举例来说,在UWB使用飞行时间测量距离获取定位信息的无线定位系统中,同一环境中同时有多个被定位标签,每个标签初次开机时先开启接收信号,并同时监听当前是否有其他标签在进行测距,举例来说,在当前的区域环境中有10个标签,基站为多个,在初次开机时,首先对这10个标签进行编号,则这10个标签的编号依次为1,2,3,4,5……10,10个标签均开启接收信号,且监听其他9个标签是否正在进行测距,当监听到其他9个标签中有正在进行测距的标签,那么参见图2,执行步骤S007,首先获取正在进行测距的标签的编号,示例性的,当前标签的编号为4,获取到正在进行测距的标签的编号为6,由于当前标签的编号小于正在测距的标签的编号时,所以避让睡眠时长可以通过公式一计算:
Nt-(n-n1)t
即,N=10,n=6,n1=4,则计算出来的睡眠时间为8t,也就是说当前的标签的睡眠时间为8个测距时间t,其中,测距时间为完成多个基站测距所需的时间。需要说明的是,测距时间t可以加一定的冗余时间。
在另一种可能的实现方式中,在当前的区域环境中有10个标签,基站为多个,在初次开机时,首先对这10个标签进行编号,则这10个标签的编号依次为1,2,3,4,5……10,10个标签均开启接收信号,且监听其他9个标签是否正在进行测距,当监听到其他9个标签中有正在进行测距的标签,那么首先获取正在进行测距的标签的编号,示例性的,当前标签的编号为4,获取到正在进行测距的标签的编号为2,由于当前标签的编号大于正在测距的标签的编号时,所以避让睡眠时长可以通过公式二计算:
(n1-n)t
即,n=2,n1=4,则计算出来的睡眠时间为2t,也就是说当前的标签的睡眠时间为2个测距时间t,其中,测距时间为完成多个基站测距所需的时间。
在另一种可能的实现方式中,在当前的区域环境中有10个标签,基站为多个,在初次开机时,首先对这10个标签进行编号,则这10个标签的编号依次为1,2,3,4,5……10,10个标签均开启接收信号,且监听其他9个标签是否正在进行测距,当未监听到有其他标签正在进行测距时,参见图2,执行步骤S003,当前标签就继续开启接收信号,进行测距。
进一步的,参见图1,执行步骤S300,确定避让睡眠时长后,进入睡眠状态。
在一种可能的实现方式中,在当前的区域环境中有10个标签,基站为多个,在初次开机时,首先对这10个标签进行编号,则这10个标签的编号依次为1,2,3,4,5……10,10个标签均开启接收信号,且监听其他9个标签是否正在进行测距,当监听到其他9个标签中有正在进行测距的标签,那么首先获取正在进行测距的标签的编号,示例性的,当前标签的编号为4,获取到正在进行测距的标签的编号为2,由于当前标签的编号大于正在测距的标签的编号时,所以避让睡眠时长可以通过公式二计算:
(n1-n)t
即,n=2,n1=4,则计算出来的睡眠时间为2t,接着,当前标签进入睡眠状态,并在2t后唤醒。
进一步的,参见图1,执行步骤S400,在睡眠状态结束后进行测距。
在一种可能的实现方式中,计算出来的睡眠时间为2t,接着,当前标签进入睡眠状态,并在2t后唤醒,唤醒后立即进行测距。
需要说明的是,使用标签进行测距的方法可以使用本领域的常规技术手段,此处不再进行说明。
在一种可能的实现方式中,还包括:当标签正在进行测距时收到了其他标签中的任一标签的测距请求,获取发出测距请求的标签的编号,依据标签的编号和发出测距请求的标签的编号判断是否需要避让。其中,依据标签的编号和发出测距请求的标签的编号判断是否需要避让包括:若发出测距请求的标签的编号大于标签的编号,则标签继续进行测距,若发出测距请求的标签的编号小于标签的编号,则计算避让睡眠时长,标签按照避让睡眠时长进入睡眠状态,其中,标签的编号大于等于2。举例来说,在当前的区域环境中有10个标签,基站为多个,在初次开机时,首先对这10个标签进行编号,则这10个标签的编号依次为1,2,3,4,5……10,10个标签均开启接收信号,且监听其他9个标签是否正在进行测距,当监听到其他9个标签中有正在进行测距的标签,那么首先获取正在进行测距的标签的编号,示例性的,当前标签的编号为4,获取到正在进行测距的标签的编号为2,由于当前标签的编号大于正在测距的标签的编号时,所以避让睡眠时长可以通过公式二计算:
(n1-n)t
即,n=2,n1=4,则计算出来的睡眠时间为2t,接着,当前标签进入睡眠状态,并在2t后唤醒进行测距,当前标签正在测距的时候,参见图2,执行步骤S004,接收到其他9个标签中任何一个标签的测距请求时,则执行步骤S005,依据标签的编号和发出测距请求的标签的编号判断是否需要避让,在编号为6的标签发出测距请求时,因为6大于当前标签的编号2,则不做任何处理,参见图2,继续执行步骤S003,当前标签继续进行测距。
在另一种可能的实现方式中,在当前的区域环境中有10个标签,基站为多个,在初次开机时,首先对这10个标签进行编号,则这10个标签的编号依次为1,2,3,4,5……10,10个标签均开启接收信号,且监听其他9个标签是否正在进行测距,参见图2,执行步骤S004,当监听到其他9个标签中有正在进行测距的标签,那么执行步骤S005,首先获取正在进行测距的标签的编号,示例性的,当前标签的编号为4,获取到正在进行测距的标签的编号为2,由于当前标签的编号大于正在测距的标签的编号时,参见图2,执行步骤S007,所以避让睡眠时长可以通过公式二计算:
(n1-n)t
即,n=2,n1=4,则计算出来的睡眠时间为2t,接着,当前标签进入睡眠状态,并在2t后唤醒进行测距,当前标签正在测距的时候,接收到其他9个标签中任何一个标签的测距请求时,则依据标签的编号和发出测距请求的标签的编号判断是否需要避让,在编号为1的标签发出测距请求时,因为1小于当前标签的编号2,则计算当前标签的睡眠时间,即以(n1-n)t进行计算避让睡眠时长,其中,n1为2,n为1,则避让睡眠时长为t,此时当前标签立刻进入睡眠模式,在t时间后从睡眠唤醒后直接进行测距,以此来避免标签信号碰撞。
进一步的,本公开的多标签分时工作方法还包括:在标签测距完成后,计算睡眠周期,按照睡眠周期进入睡眠状态或唤醒。其中,计算睡眠周期包括:获取所有标签的个数,获取每个标签进行测距所需要的时间,依据标签的个数和每个标签进行测距所需要的时间计算睡眠周期。
在一种可能的实现方式中,在当前的区域环境中有10个标签,基站为多个,在初次开机时,首先对这10个标签进行编号,则这10个标签的编号依次为1,2,3,4,5……10,10个标签均开启接收信号,且监听其他9个标签是否正在进行测距,当监听到其他9个标签中有正在进行测距的标签,那么首先获取正在进行测距的标签的编号,示例性的,当前标签的编号为4,获取到正在进行测距的标签的编号为2,由于当前标签的编号大于正在测距的标签的编号时,所以避让睡眠时长可以通过公式二计算:
(n1-n)t
即,n=2,n1=4,则计算出来的睡眠时间为2t,接着,当前标签进入睡眠状态,并在2t后唤醒进行测距,参见图2,执行步骤S004,进行测距时监听其他标签的测距请求,当在测距过程中没有其他标签的测距请求时,在测距完成后,执行步骤S006,重新计算当前标签的唤醒时间,即为全部标签的数量×t,从而将避让睡眠时长更新为10t,这样,参见图2和图3,当前标签就会以10t为睡眠周期进行步骤S008和步骤S009,进入睡眠状态和进行唤醒,在同一时间轴上进行工作,这样,标签只在初次开机时持续开启一定时间的接收,之后除了在测距或定位时开启接收和发送外,其他时间一直处于睡眠状态,从而大幅度降低了标签端的功耗。另外的,即使各标签间时钟存在差异,但时钟的差异对于一个定位周期或者测距周期来说误差太小,不足以造成短时间内工作时间轴和单个标签工作时间片顺序混乱。即使超长时间(几天或几个星期)工作后,多个标签工作时间片发生混乱和信号碰撞,也可根据上述方法进行自动调整,避免长时间定位或测距出错。
需要说明的是,尽管以上述各个实施例作为示例介绍了本公开的多标签分时工作方法如上,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定多标签分时工作方法,只要达到所需功能即可。
这样,通过处于同一编队内的每个标签监听编队内其他标签的当前动态,其中,同一编队内的各标签均标记有不同的编号信息,在监听到编队内其他标签的当前动态中存在未处于睡眠状态时,进行避让睡眠时长的计算,确定避让睡眠时长后,进入睡眠状态,在睡眠状态结束后进行测距。这样,标签只在初次开机时持续开启一定时间的接收,之后除了在测距或定位时开启接收和发送外,其他时间一直处于睡眠状态,从而大幅度降低了标签端的功耗。
进一步的,根据本公开的另一方面,还提供了一种多标签分时工作装置100。由于本公开实施例的多标签分时工作装置100的工作原理与本公开实施例的多标签分时工作方法的原理相同或相似,因此重复之处不再赘述。参见图4,本公开实施例的多标签分时工作装置100包括监听模块110、避让睡眠时长计算模块120、睡眠模块130和测距模块140。
监听模块110,被配置为每个标签在设定时间内监听其他标签的动态;
避让睡眠时长计算模块120,被配置为依据其他标签的动态进行避让睡眠时长的计算;
睡眠模块130,被配置为依据避让睡眠时长进入睡眠状态;
测距模块140,被配置为在睡眠状态结束后进行测距。
更进一步地,根据本公开的另一方面,还提供了一种多标签分时工作设备200。参阅图5,本公开实施例多标签分时工作设备200包括处理器210以及用于存储处理器210可执行指令的存储器220。其中,处理器210被配置为执行可执行指令时实现前面任一所述的多标签分时工作方法。
此处,应当指出的是,处理器210的个数可以为一个或多个。同时,在本公开实施例的多标签分时工作设备200中,还可以包括输入装置230和输出装置240。其中,处理器210、存储器220、输入装置230和输出装置240之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
存储器220作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的多标签分时工作方法所对应的程序或模块。处理器210通过运行存储在存储器220中的软件程序或模块,从而执行多标签分时工作设备200的各种功能应用及数据处理。
输入装置230可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置240可以包括显示屏等显示设备。
根据本公开的另一方面,还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器210执行时实现前面任一所述的多标签分时工作方法。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。