一种序列号排序的方法以及终端设备与流程

文档序号:13950769阅读:321来源:国知局
一种序列号排序的方法以及终端设备与流程

本发明涉及通信技术领域,尤其涉及一种序列号排序的方法以及终端设备。



背景技术:

组播传输是指在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个接收者传输相同的数据,也只需要复制一份相同的数据包。通过组播传输,可以提高数据传送效率。

但是当组播网络中的中心控制节点消失或故障时,由于各个终端设备不知道自己在组播网络中的排序情况,所以组播网络中的各个终端设备将无法得知自己该何时发送数据、何时接收数据,导致各个终端设备将很难或者无法进行组播传输通信。



技术实现要素:

本发明实施例提供一种序列号排序的方法以及终端设备,可以快速地对终端序列号进行排序,以便于更好地进行组播通信。

本发明第一方面提供了一种序列号排序的方法,包括:

根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,所述最大数值的终端序列号是根据竞争规则查找到的;

根据所述排序位置进行组播通信。

在第一种可能的实现方式中,所述竞争规则具体为:

将所述终端设备的终端序列号中的第一位数值作为信号检测位,并根据该信号检测位的值以及所述终端设备的侦听状态判断所述终端设备是否满足信号发送条件,并将所述终端序列号中的下一位数值作为信号检测位,重复本步骤,直至将所述终端序列号中的最后一位数值作为信号检测位,其中,若所述终端设备满足信号发送条件,则广播本端检测信号,否则,侦听检测信号;

在重复结束后,将没有侦听到检测信号的终端设备确定为具有最大数值的终端序列号的终端设备。

结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,包括:

根据所述竞争规则判断所述本端的终端序列号是否为所述组播组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述组播组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,以得到所述本端的终端序列号在组播组中的排序位置。

结合第一方面或第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,包括:

将所述本端的终端序列号的前至少一位作为分组检测位,并在所述分组检测位等于分组特性数时,将所述本端的终端序列号分到与所述分组特性数关联的二次终端组中,所述二次终端组是根据所述分组特性数所生成的组,所述分组特性数包括多个与所述分组检测位关联的数值;

根据递减排序规则对本端所在的二次终端组中的终端序列号进行递减排序,得到所述本端的终端序列号在所述二次终端组中的排序位置;

根据所述本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置;

其中,所述递减排序规则是根据最大数值的终端序列号所设置的规则。

结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述根据所述本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置,包括:

侦听所述组播组内各二次终端组中数值最小的终端序列号对应的终端设备发送的数量信息;

根据所述数量信息计算出所述本端的终端序列号在组播组中的排序位置;

其中,所述数量信息为二次终端组中的终端设备的数量。

结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,所述根据所述本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置,包括:

与所述组播组内各二次终端组中相应排序位置的终端设备以频分多址的方式发送信息,并侦听各二次终端组中相应排序位置的终端设备发送的信息;

根据对应的频域以及时域上的终端设备发送的信息计算出各二次终端组中的终端设备的数量;

根据所述各二次终端组中的终端设备的数量计算出所述本端的终端序列号在组播组中的排序位置。

结合第一方面的第三种可能的实现方式,或第一方面的第四种可能的实现方式,或第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述根据递减排序规则对本端所在的二次终端组中的终端序列号进行递减排序,得到所述本端的终端序列号在所述二次终端组中的排序位置,包括:

根据所述竞争规则判断所述本端的终端序列号是否为本端所在的二次终端组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述二次终端组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,得到所述本端的终端序列号在所述二次终端组中的排序位置。

本发明第二方面提供了一种终端设备,包括:

排序模块,用于根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,所述最大数值的终端序列号是根据竞争规则查找到的;

通信模块,用于根据所述排序位置进行组播通信。

在第一种可能的实现方式中,所述排序模块中的竞争规则具体为:

将所述终端设备的终端序列号中的第一位数值作为信号检测位,并根据该信号检测位的值以及所述终端设备的侦听状态判断所述终端设备是否满足信号发送条件,并将所述终端序列号中的下一位数值作为信号检测位,重复本步骤,直至将所述终端序列号中的最后一位数值作为信号检测位,其中,若所述终端设备满足信号发送条件,则广播本端检测信号,否则,侦听检测信号;

在重复结束后,将没有侦听到检测信号的终端设备确定为具有最大数值的终端序列号的终端设备。

结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述排序模块包括:

判断单元,用于根据所述竞争规则判断所述本端的终端序列号是否为所述组播组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述组播组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

记录单元,用于当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,以得到所述本端的终端序列号在组播组中的排序位置。

结合第二方面或第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述排序模块包括:

二次分组单元,用于将所述本端的终端序列号的前至少一位作为分组检测位,并在所述分组检测位等于分组特性数时,将所述本端的终端序列号分到与所述分组特性数关联的二次终端组中,所述二次终端组是根据所述分组特性数所生成的组,所述分组特性数包括多个与所述分组检测位关联的数值;

递减排序单元,用于根据递减排序规则对本端所在的二次终端组中的终端序列号进行递减排序,得到所述本端的终端序列号在所述二次终端组中的排序位置;

计算单元,用于根据所述本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置;

其中,所述递减排序单元中的所述递减排序规则是根据最大数值的终端序列号所设置的规则。

结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述计算单元包括:

数量侦听子单元,用于侦听所述组播组内各二次终端组中数值最小的终端序列号对应的终端设备发送的数量信息;

第一计算子单元,用于根据所述数量信息计算出所述本端的终端序列号在组播组中的排序位置;

其中,所述数量侦听子单元侦听到的所述数量信息为二次终端组中的终端设备的数量。

结合第二方面的第三种可能的实现方式,在第五种可能的实现方式中,所述计算单元包括:

发送侦听子单元,用于与所述组播组内各二次终端组中相应排序位置的终端设备以频分多址的方式发送信息,并侦听各二次终端组中相应排序位置的终端设备发送的信息;

数量计算子单元,用于根据对应的频域以及时域上的终端设备发送的信息计算出各二次终端组中的终端设备的数量;

第二计算子单元,用于根据所述各二次终端组中的终端设备的数量计算出所述本端的终端序列号在组播组中的排序位置。

结合第二方面的第三种可能的实现方式,或第二方面的第四种可能的实现方式,或第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述递减排序单元包括:

数值判断子单元,用于根据所述竞争规则判断所述本端的终端序列号是否为本端所在的二次终端组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述二次终端组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

排序记录子单元,用于当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,得到所述本端的终端序列号在所述二次终端组中的排序位置。

本发明第三方面提供了一种计算机存储介质,

所述计算机存储介质可存储有程序,该程序执行时包括第一方面提供的一种序列号排序的方法的部分或全部步骤。

本发明第四方面提供了一种终端设备,包括:处理器、通信接口和存储器,其中,

所述通信接口,用于与组播组中的终端设备进行通信;

所述存储器用于存储程序;

所述处理器用于执行所述程序,以实现

根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,所述最大数值的终端序列号是根据竞争规则查找到的;

根据所述排序位置进行组播通信。

在第一种可能的实现方式中,所述竞争规则具体为:

将所述终端设备的终端序列号中的第一位数值作为信号检测位,并根据该信号检测位的值以及所述终端设备的侦听状态判断所述终端设备是否满足信号发送条件,并将所述终端序列号中的下一位数值作为信号检测位,重复本步骤,直至将所述终端序列号中的最后一位数值作为信号检测位,其中,若所述终端设备满足信号发送条件,则广播本端检测信号,否则,侦听检测信号;

在重复结束后,将没有侦听到检测信号的终端设备确定为具有最大数值的终端序列号的终端设备。

结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器具体用于:

根据所述竞争规则判断所述本端的终端序列号是否为所述组播组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述组播组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,以得到所述本端的终端序列号在组播组中的排序位置。

结合第四方面或第四方面的第一种可能的实现方式,在第三种可能的实现方式中,所述处理器具体用于:

将所述本端的终端序列号的前至少一位作为分组检测位,并在所述分组检测位等于分组特性数时,将所述本端的终端序列号分到与所述分组特性数关联的二次终端组中,所述二次终端组是根据所述分组特性数所生成的组,所述分组特性数包括多个与所述分组检测位关联的数值;

根据递减排序规则对本端所在的二次终端组中的终端序列号进行递减排序,得到所述本端的终端序列号在所述二次终端组中的排序位置;

根据所述本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置;

其中,所述递减排序规则是根据最大数值的终端序列号所设置的规则。

结合第四方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理器具体用于:

侦听所述组播组内各二次终端组中数值最小的终端序列号对应的终端设备发送的数量信息;

根据所述数量信息计算出所述本端的终端序列号在组播组中的排序位置;

其中,所述数量信息为二次终端组中的终端设备的数量。

结合第四方面的第三种可能的实现方式,在第五种可能的实现方式中,所述处理器具体用于:

与所述组播组内各二次终端组中相应排序位置的终端设备以频分多址的方式发送信息,并侦听各二次终端组中相应排序位置的终端设备发送的信息;

根据对应的频域以及时域上的终端设备发送的信息计算出各二次终端组中的终端设备的数量;

根据所述各二次终端组中的终端设备的数量计算出所述本端的终端序列号在组播组中的排序位置。

结合第四方面的第三种可能的实现方式,或第四方面的第四种可能的实现方式,或第四方面的第五种可能的实现方式,在第六种可能的实现方式中,所述处理器具体用于:

根据所述竞争规则判断所述本端的终端序列号是否为本端所在的二次终端组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述二次终端组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,得到所述本端的终端序列号在所述二次终端组中的排序位置。

由上可见,本发明实施例通过排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,从而可以快速实现对终端序列号的排序,使得在组播网络中的中心控制节点消失或故障时,各个终端设备可以根据自己在组播网络中的排序情况继续进行正常有序的组播通信。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种序列号排序的方法的流程示意图;

图2为本发明实施例提供的另一种序列号排序的方法的流程示意图;

图3为本发明实施例提供的又一种序列号排序的方法的流程示意图;

图4为本发明实施例提供的一种计算排序位置的方法的流程示意图;

图5为本发明实施例提供的另一种计算排序位置的方法的流程示意图;

图6为本发明实施例提供的一种递减排序的方法的流程示意图;

图7为本发明实施例提供的一种终端设备的结构示意图;

图8为本发明实施例提供的一种排序模块的结构示意图;

图9为本发明实施例提供的另一种排序模块的结构示意图;

图10为本发明实施例提供的一种计算单元的结构示意图;

图11为本发明实施例提供的另一种计算单元的结构示意图;

图12为本发明实施例提供的一种递减排序单元的结构示意图;

图13为本发明实施例提供的另一种终端设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参见图1,为本发明实施例提供的一种序列号排序的方法的流程示意图,所述方法包括:

S101,根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,所述最大数值的终端序列号是根据竞争规则查找到的;

具体的,所述排序规则是根据终端序列号的数值大小设置的规则,终端设备可以根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置。

其中,所述最大数值的终端序列号是根据竞争规则查找到的。所述组播组可以为组播通信中其中一个终端组,该终端组包括多个可以互相通信的终端设备。

其中,所述竞争规则具体为:将所述终端设备的终端序列号中的第一位数值作为信号检测位,并根据该信号检测位的值以及所述终端设备的侦听状态判断所述终端设备是否满足信号发送条件,并将所述终端序列号中的下一位数值作为信号检测位,重复本步骤,直至将所述终端序列号中的最后一位数值作为信号检测位,其中,若所述终端设备满足信号发送条件,则广播本端检测信号,否则,侦听检测信号;在重复结束后,将没有侦听到检测信号的终端设备确定为具有最大数值的终端序列号的终端设备。其中,同时发送的检测信号在频域位置上不分开。

终端设备查找组播组中最大数值的终端序列号的具体过程可以为:终端设备将本端的终端序列号中的第一位数值作为信号检测位,并判断该信号检测位的值是否满足信号发送条件,并将所述本端的终端序列号中的下一位数值作为信号检测位,重复本步骤,直至将所述本端的终端序列号中的最后一位数值作为信号检测位,其中,若信号检测位的值满足信号发送条件,则所述终端设备广播本端的检测信号,否则,侦听检测信号;在重复结束后,若没有侦听到检测信号,则确定所述本端的终端序列号为最大数值的终端序列号;若侦听到检测信号,则侦听并查找到所述组播组中最大数值的终端序列号对应的终端设备。其中,所述信号发送条件可以为所述信号检测位为1,且在此之前未侦听到来自于其他终端设备发送的检测信号。其中,所述检测信号可以为易检测信号,如ZC序列。假设每个信号检测位使用一个子帧,每个子帧上需要使用1个RB,当终端序列号具有32位信号检测位时,查找到最大数值的终端序列号所需的时间为32ms。

例如,当所述排序规则是按照终端序列号的数值从大到小进行排序的规则,则对终端序列号进行排序的过程具体可以为:根据所述竞争规则判断所述本端的终端序列号是否为所述组播组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述组播组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,以得到所述本端的终端序列号在组播组中的排序位置。

S102,根据所述排序位置进行组播通信;

具体的,所述终端设备根据自己的排序位置,可以知道自己在一定的时域和频域位置向组内发送信息,并在一定的时域和频域位置侦听组内其他终端设备发送的信息,例如,若所述终端设备在组播组中的排序位置为第二位,那么所述终端设备在第一个时域位置侦听完信息后,所述终端设备可以在第二个时域位置发送信息。因此,当组播通信中的中心控制节点发生故障或消失时,组播组中的各个终端设备可以根据自己的排序位置或其他终端设备的排序位置,按一定规律进行组播通信,以避免终端设备不知道自己该何时发送信息、何时侦听信息的情况发生。

当然,组播组中的各个终端设备通过相同的排序规则获得自己在所述组播组中的排序位置,并在排序过程中互相侦听对方终端设备的排序位置,使得组播组中各个终端设备都可以得到所述组播组中所有终端设备的终端序列号排序,以便于让各个终端设备之间更好的完成组播通信。

由上可见,本发明实施例通过排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,从而可以快速实现对终端序列号的排序,使得在组播网络中的中心控制节点消失或故障时,各个终端设备可以根据自己在组播网络中的排序情况继续进行正常有序的组播通信。

再请参见图2,为本发明实施例提供的另一种序列号排序的方法的流程示意图,所述方法包括:

S201,根据所述竞争规则判断所述本端的终端序列号是否为所述组播组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述组播组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

S202,当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,以得到所述本端的终端序列号在组播组中的排序位置;

具体的,终端设备根据所述竞争规则可以查找到所述组播组中最大数值的终端序列号,所述终端设备可以判断本端的终端序列号是否为查找到的所述最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述组播组中,根据所述竞争规则判断所述本端的终端序列号是否为当前最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为当前最大数值的终端序列号;当判断所述本端的终端序列号为当前最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置;当判断所述本端的终端序列号不为当前最大数值的终端序列号时,侦听并记录当前最大数值的终端序列号所对应的终端设备在组播组中的排序位置。

S201和S202所使用的排序规则可以称为递减排序规则,所述递减排序规则具体为:组播组中的各个终端设备根据所述竞争规则从各个终端序列号中选出最大数值的终端序列号,此时组播组中的各个终端设备均可以获知具有最大数值的终端序列号的终端设备在组播组中的排序位置为第一位;除了具有最大数值的终端序列号的终端设备之外的其他终端设备继续根据所述竞争规则选出所述组播组中的第二大数值的终端序列号,同时具有最大数值的终端序列号的终端设备只负责侦听所述第二大数值的终端序列号信息并且不参与竞争,此时组播组中的各个终端设备均可以获知具有第二大数值的终端序列号的终端设备在组播组中的排序位置为第二位;除了具有最大数值的终端序列号的终端设备和第二大数值的终端序列号的终端设备之外的其他终端设备继续根据所述竞争规则选出所述组播组中的第三大数值的终端序列号,同时具有最大数值的终端序列号的终端设备和具有第二大数值的终端序列号的终端设备只负责侦听所述第三大数值的终端序列号信息并且不参与竞争,此时组播组中的各个终端设备均可以获知具有第三大数值的终端序列号的终端设备在组播组中的排序位置为第三位,重复执行本步骤,直至所述组播组中的各个终端设备均可以获知对方在所述组播组中的排序位置。假设终端序列号为32位的二进制数,且组播组中有100个终端设备,则根据所述递减排序规则,每得到一个终端设备的排序位置将需要32个子帧,每个子帧上需要一个RB,当所有终端设备都得到对应的排序位置时,将花费3200ms;若其中一个终端序列号为全零的终端序列号,则需要增加一个零子帧,使得具有全零的终端序列号的终端设备可以在所述零子帧上发送信息。

其中,所述竞争规则具体为:将所述终端设备的终端序列号中的第一位数值作为信号检测位,并根据该信号检测位的值以及所述终端设备的侦听状态判断所述终端设备是否满足信号发送条件,并将所述终端序列号中的下一位数值作为信号检测位,重复本步骤,直至将所述终端序列号中的最后一位数值作为信号检测位,其中,若所述终端设备满足信号发送条件,则广播本端检测信号,否则,侦听检测信号;在重复结束后,将没有侦听到检测信号的终端设备确定为具有最大数值的终端序列号的终端设备。

S203,根据所述排序位置进行组播通信;

具体的,所述终端设备根据自己的排序位置,可以知道自己在一定的时域和频域位置向组内发送信息,并在一定的时域和频域位置侦听组内其他终端设备发送的信息,例如,若所述终端设备在组播组中的排序位置为第二位,那么所述终端设备在第一个时域位置侦听完信息后,所述终端设备可以在第二个时域位置发送信息。因此,当组播通信中的中心控制节点发生故障或消失时,组播组中的各个终端设备可以根据自己的排序位置或其他终端设备的排序位置,按一定规律进行组播通信,以避免终端设备不知道自己该何时发送信息、何时侦听信息的情况发生。

由上可见,本发明实施例通过排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,从而可以快速实现对终端序列号的排序,使得在组播网络中的中心控制节点消失或故障时,各个终端设备可以根据自己在组播网络中的排序情况继续进行正常有序的组播通信。

再请参见图3,为本发明实施例提供的又一种序列号排序的方法的流程示意图,所述方法包括:

S301,将所述本端的终端序列号的前至少一位作为分组检测位,并在所述分组检测位等于分组特性数时,将所述本端的终端序列号分到与所述分组特性数关联的二次终端组中,所述二次终端组是根据所述分组特性数所生成的组,所述分组特性数包括多个与所述分组检测位关联的数值;

具体的,令m是2的幂,将终端序列号的前log2m位作为分组检测位,并在所述分组检测位等于分组特性数时,将所述本端的终端序列号分到与所述分组特性数关联的二次终端组中,其中所述分组特性数包括0,1,2,......,m-1。例如,m=8,则终端序列号的前3位作为分组检测位,所述分组检测位可以包括000、001、010、011、100、101、110、111,当该分组检测位为000时,将对应的终端设备分到分组特性数为0的二次终端组中;当该分组检测位为001时,将对应的终端设备分到分组特性数为1的二次终端组中;以此类推,当该分组检测位为111时,将对应的终端设备分到分组特性数为7的二次终端组中。

S302,根据递减排序规则对本端所在的二次终端组中的终端序列号进行递减排序,得到所述本端的终端序列号在所述二次终端组中的排序位置;

终端设备可以根据递减排序规则对本端所在的二次终端组中的终端序列号进行递减排序,得到所述本端的终端序列号在所述二次终端组中的排序位置。其中,每个二次终端组中排序最后一位的终端设备将知道自己所在的二次终端组中的终端设备数量。

其中,所述递减排序规则具体为:某个二次终端组中的各个终端设备根据所述竞争规则从各个终端序列号中选出最大数值的终端序列号,此时所述二次终端组中的各个终端设备均可以获知具有最大数值的终端序列号的终端设备在所述二次终端组中的排序位置为第一位;除了具有最大数值的终端序列号的终端设备之外的其他终端设备继续根据所述竞争规则选出所述二次终端组中的第二大数值的终端序列号,同时具有最大数值的终端序列号的终端设备只负责侦听所述第二大数值的终端序列号信息并且不参与竞争,此时所述二次终端组中的各个终端设备均可以获知具有第二大数值的终端序列号的终端设备在所述二次终端组中的排序位置为第二位;除了具有最大数值的终端序列号的终端设备和第二大数值的终端序列号的终端设备之外的其他终端设备继续根据所述竞争规则选出所述二次终端组中的第三大数值的终端序列号,同时具有最大数值的终端序列号的终端设备和具有第二大数值的终端序列号的终端设备只负责侦听所述第三大数值的终端序列号信息并且不参与竞争,此时所述二次终端组中的各个终端设备均可以获知具有第三大数值的终端序列号的终端设备在所述二次终端组中的排序位置为第三位,重复执行本步骤,直至所述二次终端组中的各个终端设备均可以获知对方在所述二次终端组中的排序位置。

S303,根据所述本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置;

具体的,由于各个二次终端组是根据分组特性数所生成的,所以可以按从大到小的顺序对各个二次终端组进行排序,因此,终端设备可以根据侦听到的其他二次终端组中的终端设备的数量,计算出排在本端所在的二次终端组之前的终端设备总数,从而再根据本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置。

S304,根据所述排序位置进行组播通信;

具体的,所述终端设备根据自己的排序位置,可以知道自己在一定的时域和频域位置向组内发送信息,并在一定的时域和频域位置侦听组内其他终端设备发送的信息,例如,若所述终端设备在组播组中的排序位置为第二位,那么所述终端设备在第一个时域位置侦听完信息后,所述终端设备可以在第二个时域位置发送信息。因此,当组播通信中的中心控制节点发生故障或消失时,组播组中的各个终端设备可以根据自己的排序位置或其他终端设备的排序位置,按一定规律进行组播通信,以避免终端设备不知道自己该何时发送信息、何时侦听信息的情况发生。

由上可见,本发明实施例通过排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,从而可以快速实现对终端序列号的排序,使得在组播网络中的中心控制节点消失或故障时,各个终端设备可以根据自己在组播网络中的排序情况继续进行正常有序的组播通信。

进一步的,再请参见图4,为本发明实施例提供的一种计算排序位置的方法的流程示意图,本发明实施例的所述方法可以可对应于上述图3对应实施例中的S303。本发明实施例的所述方法具体包括:

S401,侦听所述组播组内各二次终端组中数值最小的终端序列号对应的终端设备发送的数量信息;

具体的,终端设备可以侦听所述组播组内各二次终端组中数值最小的终端序列号对应的终端设备发送的数量信息,其中,所述数量信息为二次终端组中的终端设备的数量。

例如,令m是2的幂,终端序列号的前log2m位是分组检测位,终端序列号为ap-1ap-2......a0,各二次终端组中数值最小的终端序列号对应的终端设备在自己的终端序列号的ap-1=1时同时发送数量信息,此时组播组内没有发送数量信息的终端设备均可以侦听到对应的数量信息;然后,各二次终端组中数值最小的终端序列号对应的终端设备在自己的终端序列号的ap-2=1时同时发送数量信息,此时组播组内没有发送数量信息的终端设备均可以侦听到对应的数量信息;直到组播组内各个二次终端组中数值最小的终端序列号对应的终端设备在ap-log2(m)=1时发送数量信息后,各二次终端组中数值最小的终端序列号对应的终端设备不再发送数量信息,并且此时组播组内所有终端设备都已经侦听到各个二次终端组中数值最小的终端序列号对应的终端设备所发送的数量信息。

S402,根据所述数量信息计算出所述本端的终端序列号在组播组中的排序位置;

终端设备可以根据各个二次终端组中数值最小的终端序列号对应的终端设备所发送的数量信息,计算出所述本端的终端序列号在组播组中的排序位置。

例如,分组检测位为3位,分组特性数分别为0、1、2、3、4、5、6、7,与分组特性数对应的二次终端组中的终端序列号的分组检测位分别为000、001、010、011、100、101、110、111,即组播组中具有8个二次终端组。分组检测位为110的二次终端组中排序第三位的终端设备可以侦听到分组检测位为111的二次终端组中排序最后的终端设备发送的数量信息,该数量信息为分组检测位为111的二次终端组中具有8个终端设备,此时,分组检测位为110的二次终端组中排序第三位的终端设备可以计算出本端的终端序列号在组播组中的排序位置为8+3=11,以此类推,组播组中所有终端设备都可以计算出自己的终端序列号在组播组中的排序位置。

S301、S302、S401以及S402所执行的步骤为:从得到二次终端组到计算出本端在组播组的排序位置。其中,执行S301和S302的步骤需要n(p-log2m)+1个子帧,执行S401以及S402的步骤需要log2m个子帧,所以整个排序过程需要np-(n-1)log2m+1个子帧,其中,n为组播组中的终端个数,p为终端序列号的二进制位数,m为2的幂、且log2m为分组检测位的位数。每个子帧上使用m个RB,当p=32,m=32,n=100时,则整个排序过程需要2706ms。

本发明实施例通过与各个二次终端组关联的数量信息可以计算出终端序列号在组播组中的排序位置,从而可以快速地对各个终端序列号进行排序。

进一步的,再请参见图5,为本发明实施例提供的另一种计算排序位置的方法的流程示意图,本发明实施例的所述方法可以可对应于上述图3对应实施例中的S303。本发明实施例的所述方法具体包括:

S501,与所述组播组内各二次终端组中相应排序位置的终端设备以频分多址的方式发送信息,并侦听各二次终端组中相应排序位置的终端设备发送的信息;

具体的,终端设备与所述组播组内各二次终端组中相应排序位置的终端设备以频分多址的方式发送信息,并侦听各二次终端组中相应排序位置的终端设备发送的信息。其中,组播组内的所有终端设备将执行两次整体互听,具体请参见以下表1和表2:

表1

表2

其中,表1中的aij表示分组特性数为i的二次终端组中从大到小排序第j的终端设备发送信息。表2中的bij表示分组特性数为i的二次终端组中从大到小排序第(j+i)mod(n)的终端设备发送,n为组播组中终端设备的总数,(j+i)mod(n)表示为(j+i)除以n的余数。表1和表2中的m为2的幂,log2m为分组检测位的位数。

在第一次整体互听过程中,首先,各二次终端组中排序第一位的终端设备以频分多址的方式发送信息,其他终端设备侦听信息,即表1中aij的第一列的终端设备在相同时域、不同频域上发送信息;然后,各二次终端组中排序第二位的终端设备以频分多址的方式发送信息,重复执行本步骤,直至各二次终端组中排序最后一位的终端设备以频分多址的方式发送信息。

在第一次整体互听结束后,再执行第二次整体互听,在第二次整体互听过程中,bij的第一列的终端设备在相同时域、不同频域上发送信息,其他终端设备侦听信息,即分组特性数为0的二次终端组中排序第1的终端设备、和分组特性数为1的二次终端组中排序第2的终端设备、和分组特性数为2的二次终端组中排序第3的终端设备、......、以及分组特性数为m-1的二次终端组中排序第(m)mod(n)的终端设备以频分多址的方式发送信息;然后,bij的第二列的终端设备在相同时域、不同频域上发送信息,直至bij的最后一列的终端设备在相同时域、不同频域上发送信息,此时,组播组中所有终端设备均可以与所述组播组内各二次终端组中相应排序位置的终端设备以频分多址的方式发送信息,并侦听各二次终端组中相应排序位置的终端设备发送的信息。其中,终端设备所发送的信息可以包括自己的终端序列号,使得在两次整体互听结束后,每个终端设备都可以知道组播组内各个终端设备的终端序列号。

S502,根据对应的频域以及时域上的终端设备发送的信息计算出各二次终端组中的终端设备的数量;

由于aij和bij上的终端在发送信息时,都有自己的频域位置,所以任意两个不在同一时域上发送信息的终端设备可以知道对方是哪一个二次终端组中排序第几的终端设备,从而在两次整体互听结束后,每个终端设备根据对应的频域以及时域上的终端设备发送的信息可以计算出各个二次终端组中的终端设备的数量。例如,分组特性数为1的二次终端组中排序第2的终端设备可以侦听到分组特性数为2的二次终端组中排序1至9的终端设备发送的信息,从而分组特性数为1的二次终端组中排序第2的终端设备可以计算出分组特性数为2的二次终端组中的终端设备的数量为9个,以此类推,分组特性数为1的二次终端组中排序第2的终端设备可以根据侦听到的所有信息计算出各个二次终端组中的终端设备的个数。

S503,根据所述各二次终端组中的终端设备的数量计算出所述本端的终端序列号在组播组中的排序位置;

每个终端设备可以根据所述各二次终端组中的终端设备的数量计算出各自的终端序列号在组播组中的排序位置。例如,组播组中分别有分组特性数为0的二次终端组、分组特性数为1的二次终端组、分组特性数为2的二次终端组、分组特性数为3的二次终端组,即有4个二次终端组,当分组特性数为1的二次终端组中排序第4的终端设备侦听到分组特性数为2的二次终端组中终端设备数量为8个、分组特性数为3的二次终端组中终端设备数量为9个,则分组特性数为1的二次终端组中排序第4的终端设备可以计算出自己的终端序列号在组播组中的排序位置为8+9+4=21。

S301、S302、S501、S502以及S503所执行的步骤为:从得到二次终端组到整体互听再到计算出本端在组播组的排序位置。其中,执行S301和S302的步骤需要n(p-log2m)+1个子帧,执行S501、S502以及S503的步骤需要2n个子帧,所以整个排序过程需要n(p-log2m+2)+1个子帧,其中,n为组播组中的终端个数,p为终端序列号的二进制位数,m为2的幂、且log2m为分组检测位的位数。每个子帧上使用m个RB,当p=32,m=32,n=100时,则整个排序过程需要2901ms。

本发明实施例通过两次整体互听可以计算出终端序列号在组播组中的排序位置,从而可以快速地对各个终端序列号进行排序。

进一步的,再请参见图6,为本发明实施例提供的一种递减排序的方法的流程示意图;本发明实施例的所述方法可以可对应于上述图3对应实施例中的S302。本发明实施例的所述方法具体包括:

S601,根据所述竞争规则判断所述本端的终端序列号是否为本端所在的二次终端组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述二次终端组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

S602,当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,得到所述本端的终端序列号在所述二次终端组中的排序位置;

S601和S602所使用的排序规则称为递减排序规则,所述递减排序规则具体为:某个二次终端组中的各个终端设备根据所述竞争规则从各个终端序列号中选出最大数值的终端序列号,此时所述二次终端组中的各个终端设备均可以获知具有最大数值的终端序列号的终端设备在所述二次终端组中的排序位置为第一位;除了具有最大数值的终端序列号的终端设备之外的其他终端设备继续根据所述竞争规则选出所述二次终端组中的第二大数值的终端序列号,同时具有最大数值的终端序列号的终端设备只负责侦听所述第二大数值的终端序列号信息并且不参与竞争,此时所述二次终端组中的各个终端设备均可以获知具有第二大数值的终端序列号的终端设备在所述二次终端组中的排序位置为第二位;除了具有最大数值的终端序列号的终端设备和第二大数值的终端序列号的终端设备之外的其他终端设备继续根据所述竞争规则选出所述二次终端组中的第三大数值的终端序列号,同时具有最大数值的终端序列号的终端设备和具有第二大数值的终端序列号的终端设备只负责侦听所述第三大数值的终端序列号信息并且不参与竞争,此时所述二次终端组中的各个终端设备均可以获知具有第三大数值的终端序列号的终端设备在所述二次终端组中的排序位置为第三位,重复执行本步骤,直至所述二次终端组中的各个终端设备均可以获知对方在所述二次终端组中的排序位置。

本发明实施例通过递减排序规则可以快速地对各个二次终端组中的终端设备进行排序。

请参见图7,为本发明实施例提供的一种终端设备1的结构示意图,所述终端设备1可以包括:排序模块10、通信模块20;

所述排序模块10,用于根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,所述最大数值的终端序列号是根据竞争规则查找到的;

具体的,所述排序规则是根据终端序列号的数值大小设置的规则,所述排序模块10可以根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置。

其中,所述最大数值的终端序列号是根据竞争规则查找到的。所述组播组可以为组播通信中其中一个终端组,该终端组包括多个可以互相通信的终端设备1。

其中,所述排序模块10中的竞争规则具体为:将所述终端设备1的终端序列号中的第一位数值作为信号检测位,并判断该信号检测位的值是否满足信号发送条件,并将所述终端序列号中的下一位数值作为信号检测位,重复本步骤,直至将所述终端序列号中的最后一位数值作为信号检测位,其中,若信号检测位的值满足信号发送条件,则广播本端检测信号,否则,侦听检测信号;在重复结束后,将没有侦听到检测信号的终端设备1确定为具有最大数值的终端序列号的终端设备1。其中,同时发送的检测信号在频域位置上不分开。

所述排序模块10中查找组播组中最大数值的终端序列号的具体过程可以为:所述排序模块10将本端的终端序列号中的第一位数值作为信号检测位,并判断该信号检测位的值是否满足信号发送条件,并将所述本端的终端序列号中的下一位数值作为信号检测位,重复本步骤,直至将所述本端的终端序列号中的最后一位数值作为信号检测位,其中,若信号检测位的值满足信号发送条件,则所述终端设备1广播本端的检测信号,否则,侦听检测信号;在重复结束后,若没有侦听到检测信号,则确定所述本端的终端序列号为最大数值的终端序列号;若侦听到检测信号,则侦听并查找到所述组播组中最大数值的终端序列号对应的终端设备1。其中,所述信号发送条件可以为所述信号检测位为1,且在此之前未侦听到来自于其他终端设备1发送的检测信号。其中,所述检测信号可以为易检测信号,如ZC序列。假设每个信号检测位使用一个子帧,每个子帧上需要使用1个RB,当终端序列号具有32位信号检测位时,查找到最大数值的终端序列号所需的时间为32ms。

例如,当所述排序规则是按照终端序列号的数值从大到小进行排序的规则,则所述排序模块10对终端序列号进行排序的过程具体可以为:所述排序模块10根据所述竞争规则判断所述本端的终端序列号是否为所述组播组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述组播组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,以得到所述本端的终端序列号在组播组中的排序位置。

所述通信模块20,用于根据所述排序位置进行组播通信;

具体的,所述终端设备1根据自己的排序位置,可以知道自己在一定的时域和频域位置向组内发送信息,并在一定的时域和频域位置侦听组内其他终端设备发送的信息,例如,若所述终端设备1在组播组中的排序位置为第二位,那么所述终端设备在第一个时域位置侦听完信息后,所述终端设备1可以在第二个时域位置发送信息。因此,当组播通信中的中心控制节点发生故障或消失时,组播组中的各个终端设备可以根据自己的排序位置或其他终端设备的排序位置,按一定规律进行组播通信,以避免终端设备1不知道自己该何时发送信息、何时侦听信息的情况发生。

进一步的,再请参见图8,为上述图7中的排序模块10的结构示意图,所述排序模块10包括:判断单元101、记录单元102;

所述判断单元101,用于根据所述竞争规则判断所述本端的终端序列号是否为所述组播组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述组播组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

所述记录单元102,用于当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,以得到所述本端的终端序列号在组播组中的排序位置;

具体的,所述判断单元101根据所述竞争规则可以查找到所述组播组中最大数值的终端序列号,所述判断单元101可以判断本端的终端序列号是否为查找到的所述最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号的组播组中,根据所述竞争规则判断所述本端的终端序列号是否为当前最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为当前最大数值的终端序列号;当所述判断单元101判断所述本端的终端序列号为当前最大数值的终端序列号时,所述记录单元102可以记录所述本端的终端序列号的当前排序位置;当所述判断单元101判断所述本端的终端序列号不为当前最大数值的终端序列号时,所述记录单元102还可以侦听并记录当前最大数值的终端序列号所对应的终端设备1在组播组中的排序位置。

所述判断单元101和所述记录单元102所使用的排序规则可以称为递减排序规则,所述递减排序规则具体为:组播组中的各个终端设备1根据所述竞争规则从各个终端序列号中选出最大数值的终端序列号,此时组播组中的各个终端设备1均可以获知具有最大数值的终端序列号的终端设备1在组播组中的排序位置为第一位;除了具有最大数值的终端序列号的终端设备1之外的其他终端设备1继续根据所述竞争规则选出所述组播组中的第二大数值的终端序列号,同时具有最大数值的终端序列号的终端设备1只负责侦听所述第二大数值的终端序列号信息并且不参与竞争,此时组播组中的各个终端设备1均可以获知具有第二大数值的终端序列号的终端设备1在组播组中的排序位置为第二位;除了具有最大数值的终端序列号的终端设备1和第二大数值的终端序列号的终端设备1之外的其他终端设备1继续根据所述竞争规则选出所述组播组中的第三大数值的终端序列号,同时具有最大数值的终端序列号的终端设备1和具有第二大数值的终端序列号的终端设备1只负责侦听所述第三大数值的终端序列号信息并且不参与竞争,此时组播组中的各个终端设备1均可以获知具有第三大数值的终端序列号的终端设备1在组播组中的排序位置为第三位,重复执行本步骤,直至所述组播组中的各个终端设备1均可以获知对方在所述组播组中的排序位置。假设终端序列号为32位的二进制数,且组播组中有100个终端设备1,则根据所述递减排序规则,每得到一个终端设备1的排序位置将需要32个子帧,每个子帧上需要一个RB,当所有终端设备1都得到对应的排序位置时,将花费3200ms;若其中一个终端序列号为全零的终端序列号,则需要增加一个零子帧,使得具有全零的终端序列号的终端设备1可以在所述零子帧上发送信息。

进一步的,再请参见图9,为上述图7中的另一种排序模块10的结构示意图,所述排序模块10可以包括:二次分组单元103、递减排序单元104、计算单元105;

所述二次分组单元103,用于将所述本端的终端序列号的前至少一位作为分组检测位,并在所述分组检测位等于分组特性数时,将所述本端的终端序列号分到与所述分组特性数关联的二次终端组中,所述二次终端组是根据所述分组特性数所生成的组,所述分组特性数包括多个与所述分组检测位关联的数值;

具体的,令m是2的幂,所述二次分组单元103将终端序列号的前log2m位作为分组检测位,并在所述分组检测位等于分组特性数时,将所述本端的终端序列号分到与所述分组特性数关联的二次终端组中,其中所述分组特性数包括0,1,2,......,m-1。例如,m=8,则所述二次分组单元103将终端序列号的前3位作为分组检测位,所述分组检测位可以包括000、001、010、011、100、101、110、111,当该分组检测位为000时,所述二次分组单元103将本端分到分组特性数为0的二次终端组中;当该分组检测位为001时,所述二次分组单元103将本端分到分组特性数为1的二次终端组中;以此类推,当该分组检测位为111时,所述二次分组单元103将本端分到分组特性数为7的二次终端组中。

所述递减排序单元104,用于根据递减排序规则对本端所在的二次终端组中的终端序列号进行递减排序,得到所述本端的终端序列号在所述二次终端组中的排序位置;

所述递减排序单元104可以根据递减排序规则对本端所在的二次终端组中的终端序列号进行递减排序,得到所述本端的终端序列号在所述二次终端组中的排序位置。其中,每个二次终端组中排序最后一位的终端设备1将知道自己所在的二次终端组中的终端设备1数量。

其中,所述递减排序规则具体为:某个二次终端组中的各个终端设备1根据所述竞争规则从各个终端序列号中选出最大数值的终端序列号,此时所述二次终端组中的各个终端设备1均可以获知具有最大数值的终端序列号的终端设备1在所述二次终端组中的排序位置为第一位;除了具有最大数值的终端序列号的终端设备1之外的其他终端设备1继续根据所述竞争规则选出所述二次终端组中的第二大数值的终端序列号,同时具有最大数值的终端序列号的终端设备1只负责侦听所述第二大数值的终端序列号信息并且不参与竞争,此时所述二次终端组中的各个终端设备1均可以获知具有第二大数值的终端序列号的终端设备1在所述二次终端组中的排序位置为第二位;除了具有最大数值的终端序列号的终端设备1和第二大数值的终端序列号的终端设备1之外的其他终端设备1继续根据所述竞争规则选出所述二次终端组中的第三大数值的终端序列号,同时具有最大数值的终端序列号的终端设备1和具有第二大数值的终端序列号的终端设备1只负责侦听所述第三大数值的终端序列号信息并且不参与竞争,此时所述二次终端组中的各个终端设备1均可以获知具有第三大数值的终端序列号的终端设备1在所述二次终端组中的排序位置为第三位,重复执行本步骤,直至所述二次终端组中的各个终端设备1均可以获知对方在所述二次终端组中的排序位置。

所述计算单元105,用于根据所述本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置;

具体的,由于各个二次终端组是根据分组特性数所生成的,所以可以按从大到小的顺序对各个二次终端组进行排序,因此,所述计算单元105可以根据侦听到的其他二次终端组中的终端设备1的数量,计算出排在本端所在的二次终端组之前的终端设备1总数,从而所述计算单元105再根据本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置。

进一步的,再请参见图10,为上述图9中的一种计算单元105的结构示意图,所述计算单元105包括:数量侦听子单元1051、第一计算子单元1052;

所述数量侦听子单元1051,用于侦听所述组播组内各二次终端组中数值最小的终端序列号对应的终端设备1发送的数量信息;

具体的,所述数量侦听子单元1051可以侦听所述组播组内各二次终端组中数值最小的终端序列号对应的终端设备1发送的数量信息。例如,令m是2的幂,终端序列号的前log2m位是分组检测位,终端序列号为ap-1ap-2......a0,各二次终端组中数值最小的终端序列号对应的终端设备1可以在自己的终端序列号的ap-1=1时同时发送数量信息,此时组播组内没有发送数量信息的终端设备1的数量侦听子单元1051均可以侦听到对应的数量信息;然后,各二次终端组中数值最小的终端序列号对应的终端设备1在自己的终端序列号的ap-2=1时同时发送数量信息,此时组播组内没有发送数量信息的终端设备1的数量侦听子单元1051均可以侦听到对应的数量信息;直到组播组内各个二次终端组中数值最小的终端序列号对应的终端设备1在ap-log2(m)=1时发送数量信息后,各二次终端组中数值最小的终端序列号对应的终端设备1不再发送数量信息,并且此时组播组内所有终端设备1的数量侦听子单元1051都已经侦听到各个二次终端组中数值最小的终端序列号对应的终端设备1所发送的数量信息。其中,所述数量侦听子单元1051侦听到的所述数量信息为二次终端组中的终端设备1的数量。

所述第一计算子单元1052,用于根据所述数量信息计算出所述本端的终端序列号在组播组中的排序位置;

所述第一计算子单元1052可以根据各个二次终端组中数值最小的终端序列号对应的终端设备1所发送的数量信息,计算出所述本端的终端序列号在组播组中的排序位置。

例如,分组检测位为3位,分组特性数分别为0、1、2、3、4、5、6、7,与分组特性数对应的二次终端组中的终端序列号的分组检测位分别为000、001、010、011、100、101、110、111,即组播组中具有8个二次终端组。分组检测位为110的二次终端组中排序第三位的终端设备1的数量侦听子单元1051可以侦听到分组检测位为111的二次终端组中排序最后的终端设备1发送的数量信息,该数量信息为分组检测位为111的二次终端组中具有8个终端设备1,此时,分组检测位为110的二次终端组中排序第三位的终端设备1的第一计算子单元1052可以计算出本端的终端序列号在组播组中的排序位置为8+3=11,以此类推,组播组中所有终端设备1的第一计算子单元1052都可以计算出自己的终端序列号在组播组中的排序位置。

进一步的,再请参见图11,为上述图9中的另一种计算单元105的结构示意图,所述计算单元105可以包括:发送侦听子单元1053、数量计算子单元1054、第二计算子单元1055;

所述发送侦听子单元1053,用于与所述组播组内各二次终端组中相应排序位置的终端设备1以频分多址的方式发送信息,并侦听各二次终端组中相应排序位置的终端设备1发送的信息;

具体的,所述发送侦听子单元1053与所述组播组内各二次终端组中相应排序位置的终端设备1以频分多址的方式发送信息,并侦听各二次终端组中相应排序位置的终端设备1发送的信息。其中,组播组内的所有终端设备1将执行两次整体互听,具体请参见以下表1和表2:

表1

表2

其中,表1中的aij表示分组特性数为i的二次终端组中从大到小排序第j的终端设备1发送信息。表2中的bij表示分组特性数为i的二次终端组中从大到小排序第(j+i)mod(n)的终端设备1发送,n为组播组中终端设备1的总数,(j+i)mod(n)表示为(j+i)除以n的余数。表1和表2中的m为2的幂,log2m为分组检测位的位数。

在第一次整体互听过程中,首先,各二次终端组中排序第一位的终端设备1的发送侦听子单元1053以频分多址的方式发送信息,其他终端设备1的发送侦听子单元1053侦听信息,即表1中aij的第一列的终端设备1在相同时域、不同频域上发送信息;然后,各二次终端组中排序第二位的终端设备1以频分多址的方式发送信息,重复执行本步骤,直至各二次终端组中排序最后一位的终端设备1以频分多址的方式发送信息。

在第一次整体互听结束后,再执行第二次整体互听,在第二次整体互听过程中,bij的第一列的终端设备1的发送侦听子单元1053在相同时域、不同频域上发送信息,其他终端设备1的发送侦听子单元1053侦听信息,即分组特性数为0的二次终端组中排序第1的终端设备1、和分组特性数为1的二次终端组中排序第2的终端设备1、和分组特性数为2的二次终端组中排序第3的终端设备1、......、以及分组特性数为m-1的二次终端组中排序第(m)mod(n)的终端设备1以频分多址的方式发送信息;然后,bij的第二列的终端设备1在相同时域、不同频域上发送信息,直至bij的最后一列的终端设备1在相同时域、不同频域上发送信息,此时,组播组中所有终端设备1均可以与所述组播组内各二次终端组中相应排序位置的终端设备1以频分多址的方式发送信息,并侦听各二次终端组中相应排序位置的终端设备1发送的信息。其中,终端设备1所发送的信息可以包括自己的终端序列号,使得在两次整体互听结束后,每个终端设备1都可以知道组播组内各个终端设备1的终端序列号。

所述数量计算子单元1054,用于根据对应的频域以及时域上的终端设备1发送的信息计算出各二次终端组中的终端设备1的数量;

由于aij和bij上的终端在发送信息时,都有自己的频域位置,所以任意两个不在同一时域上发送信息的终端设备1可以知道对方是哪一个二次终端组中排序第几的终端设备1,从而在两次整体互听结束后,每个终端设备1的数量计算子单元1054根据对应的频域以及时域上的终端设备1发送的信息可以计算出各个二次终端组中的终端设备1的数量。例如,分组特性数为1的二次终端组中排序第2的终端设备1可以侦听到分组特性数为2的二次终端组中排序1至9的终端设备1发送的信息,从而分组特性数为1的二次终端组中排序第2的终端设备1的数量计算子单元1054可以计算出分组特性数为2的二次终端组中的终端设备1的数量为9个,以此类推,分组特性数为1的二次终端组中排序第2的终端设备1的数量计算子单元1054可以根据侦听到的所有信息计算出各个二次终端组中的终端设备1的个数。

所述第二计算子单元1055,用于根据所述各二次终端组中的终端设备1的数量计算出所述本端的终端序列号在组播组中的排序位置;

每个终端设备1的第二计算子单元1055可以根据所述各二次终端组中的终端设备1的数量计算出各自的终端序列号在组播组中的排序位置。例如,组播组中分别有分组特性数为0的二次终端组、分组特性数为1的二次终端组、分组特性数为2的二次终端组、分组特性数为3的二次终端组,即有4个二次终端组,当分组特性数为1的二次终端组中排序第4的终端设备1侦听到分组特性数为2的二次终端组中终端设备1数量为8个、分组特性数为3的二次终端组中终端设备1数量为9个,则分组特性数为1的二次终端组中排序第4的终端设备1的第二计算子单元1055可以计算出自己的终端序列号在组播组中的排序位置为8+9+4=21。

进一步的,再请参见图12,为上述图9中的递减排序单元104,所述递减排序单元104包括:数值判断子单元1041、排序记录子单元1042;

所述数值判断子单元1041,用于根据所述竞争规则判断所述本端的终端序列号是否为本端所在的二次终端组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述二次终端组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

所述排序记录子单元1042,用于当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,得到所述本端的终端序列号在所述二次终端组中的排序位置;

所述数值判断子单元1041和所述排序记录子单元1042所使用的排序规则称为递减排序规则,所述递减排序规则具体为:某个二次终端组中的各个终端设备1根据所述竞争规则从各个终端序列号中选出最大数值的终端序列号,此时所述二次终端组中的各个终端设备1均可以获知具有最大数值的终端序列号的终端设备1在所述二次终端组中的排序位置为第一位;除了具有最大数值的终端序列号的终端设备1之外的其他终端设备1继续根据所述竞争规则选出所述二次终端组中的第二大数值的终端序列号,同时具有最大数值的终端序列号的终端设备1只负责侦听所述第二大数值的终端序列号信息并且不参与竞争,此时所述二次终端组中的各个终端设备1均可以获知具有第二大数值的终端序列号的终端设备1在所述二次终端组中的排序位置为第二位;除了具有最大数值的终端序列号的终端设备1和第二大数值的终端序列号的终端设备1之外的其他终端设备1继续根据所述竞争规则选出所述二次终端组中的第三大数值的终端序列号,同时具有最大数值的终端序列号的终端设备1和具有第二大数值的终端序列号的终端设备1只负责侦听所述第三大数值的终端序列号信息并且不参与竞争,此时所述二次终端组中的各个终端设备1均可以获知具有第三大数值的终端序列号的终端设备1在所述二次终端组中的排序位置为第三位,重复执行本步骤,直至所述二次终端组中的各个终端设备1均可以获知对方在所述二次终端组中的排序位置。

由上可见,本发明实施例通过排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,从而可以快速实现对终端序列号的排序,使得在组播网络中的中心控制节点消失或故障时,各个终端设备1可以根据自己在组播网络中的排序情况继续进行正常有序的组播通信。

本发明实施例还提供了一种计算机存储介质,其中,所述计算机存储介质可存储有程序,该程序执行时包括上述图1至图6的方法实施例中记载的序列号排序的方法的部分或全部步骤。

请参见图13,为本发明实施例提供的另一种终端设备1的结构示意图,所述终端设备1可以包括处理器1001、通信接口1002和存储器1003(终端设备1中的处理器1001的数量可以为一个或多个,图13中以一个处理器1001为例)。本发明的一些实施例中,处理器1001、通信接口1002和存储器1003可通过通信总线或其他方式连接,其中,图13以通过通信总线连接为例。

其中,所述通信接口1002,用于与组播组中的终端设备1进行通信;

所述存储器1003用于存储程序;

所述处理器1001用于执行所述程序,以实现

根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,所述最大数值的终端序列号是根据竞争规则查找到的;

根据所述排序位置进行组播通信。

其中,所述竞争规则具体为:

将所述终端设备1的终端序列号中的第一位数值作为信号检测位,并根据该信号检测位的值以及所述终端设备的侦听状态判断所述终端设备1是否满足信号发送条件,并将所述终端序列号中的下一位数值作为信号检测位,重复本步骤,直至将所述终端序列号中的最后一位数值作为信号检测位,其中,若所述终端设备1满足信号发送条件,则广播本端检测信号,否则,侦听检测信号;

在重复结束后,将没有侦听到检测信号的终端设备1确定为具有最大数值的终端序列号的终端设备1。

其中,所述处理器1001在执行所述根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置的过程中,所述处理器1001具体用于:

根据所述竞争规则判断所述本端的终端序列号是否为所述组播组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述组播组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,以得到所述本端的终端序列号在组播组中的排序位置。

其中,所述处理器1001在执行所述根据排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置的过程中,所述处理器1001具体用于:

将所述本端的终端序列号的前至少一位作为分组检测位,并在所述分组检测位等于分组特性数时,将所述本端的终端序列号分到与所述分组特性数关联的二次终端组中,所述二次终端组是根据所述分组特性数所生成的组,所述分组特性数包括多个与所述分组检测位关联的数值;

根据递减排序规则对本端所在的二次终端组中的终端序列号进行递减排序,得到所述本端的终端序列号在所述二次终端组中的排序位置;

根据所述本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置;

其中,所述递减排序规则是根据最大数值的终端序列号所设置的规则。

其中,所述处理器1001在执行所述根据所述本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置的过程中,所述处理器1001具体用于:

侦听所述组播组内各二次终端组中数值最小的终端序列号对应的终端设备1发送的数量信息;

根据所述数量信息计算出所述本端的终端序列号在组播组中的排序位置;

其中,所述数量信息为二次终端组中的终端设备1的数量。

其中,所述处理器1001在执行所述根据所述本端的终端序列号在所述二次终端组中的排序位置计算出所述本端的终端序列号在组播组中的排序位置的过程中,所述处理器1001具体用于:

与所述组播组内各二次终端组中相应排序位置的终端设备1以频分多址的方式发送信息,并侦听各二次终端组中相应排序位置的终端设备1发送的信息;

根据对应的频域以及时域上的终端设备1发送的信息计算出各二次终端组中的终端设备1的数量;

根据所述各二次终端组中的终端设备1的数量计算出所述本端的终端序列号在组播组中的排序位置。

其中,所述处理器1001在执行所述根据递减排序规则对本端所在的二次终端组中的终端序列号进行递减排序,得到所述本端的终端序列号在所述二次终端组中的排序位置的过程中,所述处理器1001具体用于:

根据所述竞争规则判断所述本端的终端序列号是否为本端所在的二次终端组中最大数值的终端序列号,若判断为否,则在不包括已判断为最大数值的终端序列号所对应的终端设备的所述二次终端组中,根据所述竞争规则判断所述本端的终端序列号是否为最大数值的终端序列号,重复本步骤,直至判断所述本端的终端序列号为最大数值的终端序列号;

当判断所述本端的终端序列号为最大数值的终端序列号时,记录所述本端的终端序列号的当前排序位置,得到所述本端的终端序列号在所述二次终端组中的排序位置。

具体的,终端设备1查找组播组中最大数值的终端序列号的具体过程可以为:处理器1001将本端的终端序列号中的第一位数值作为信号检测位,并判断该信号检测位的值是否满足信号发送条件,并将所述本端的终端序列号中的下一位数值作为信号检测位,重复本步骤,直至将所述本端的终端序列号中的最后一位数值作为信号检测位,其中,若信号检测位的值满足信号发送条件,则所述终端设备1广播本端的检测信号,否则,侦听检测信号;在重复结束后,若没有侦听到检测信号,则确定所述本端的终端序列号为最大数值的终端序列号;若侦听到检测信号,则侦听并查找到所述组播组中最大数值的终端序列号对应的终端设备1。其中,所述信号发送条件可以为所述信号检测位为1,且在此之前未侦听到来自于其他终端设备1发送的检测信号。其中,所述检测信号可以为易检测信号,如ZC序列。假设每个信号检测位使用一个子帧,每个子帧上需要使用1个RB,当终端序列号具有32位信号检测位时,查找到最大数值的终端序列号所需的时间为32ms。

具体的,所述递减排序规则具体为:某个组中的各个终端设备1根据所述竞争规则从各个终端序列号中选出最大数值的终端序列号,此时该组中的各个终端设备1均可以获知具有最大数值的终端序列号的终端设备1在组播组中的排序位置为第一位;除了具有最大数值的终端序列号的终端设备1之外的其他终端设备1继续根据所述竞争规则选出该组中的第二大数值的终端序列号,同时具有最大数值的终端序列号的终端设备1只负责侦听所述第二大数值的终端序列号信息并且不参与竞争,此时该组中的各个终端设备1均可以获知具有第二大数值的终端序列号的终端设备1在该组中的排序位置为第二位;除了具有最大数值的终端序列号的终端设备1和第二大数值的终端序列号的终端设备1之外的其他终端设备1继续根据所述竞争规则选出该组中的第三大数值的终端序列号,同时具有最大数值的终端序列号的终端设备1和具有第二大数值的终端序列号的终端设备1只负责侦听所述第三大数值的终端序列号信息并且不参与竞争,此时该组中的各个终端设备1均可以获知具有第三大数值的终端序列号的终端设备1在该组中的排序位置为第三位,重复执行本步骤,直至该组中的各个终端设备1均可以获知对方在该组中的排序位置。假设终端序列号为32位的二进制数,且某个组中有100个终端设备1,则根据所述递减排序规则,每得到一个终端设备1的排序位置将需要32个子帧,每个子帧上需要一个RB,当所有终端设备1都得到对应的排序位置时,将花费3200ms;若其中一个终端序列号为全零的终端序列号,则需要增加一个零子帧,使得具有全零的终端序列号的终端设备1可以在所述零子帧上发送信息。

由上可见,本发明实施例通过排序规则和查找到的最大数值的终端序列号对本端的终端序列号进行排序,以得到所述本端的终端序列号在组播组中的排序位置,从而可以快速实现对终端序列号的排序,使得在组播网络中的中心控制节点消失或故障时,各个终端设备1可以根据自己在组播网络中的排序情况继续进行正常有序的组播通信。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1