1.一种基于布谷鸟算法的LEACH二级分簇路由协议的方法,其特征在于,包括步骤:S1.向无线传感器节点广播一级簇首选举信息,选出数个一级簇首节点和数个普通节点;
S2.所述数个一级簇首节点向网络中的全部普通节点广播与一级簇首节点相关的信息,所述普通节点根据接收到的数个一级簇首节点广播信息的信号强弱选择信号最强的一级簇首节点并加入所选择的簇内,直到全部普通节点都加入到簇内,则执行步骤S3;
S3.筛选数个一级簇首节点中普通节点数量最多的一级簇首节点以及数个一级簇首节点中距离基站最远的一级簇首节点,将所述筛选出的普通节点数量最多的一级簇首节点以及距离基站最远的一级簇首节点通过布谷鸟算法确定二级簇首节点;
S4.所述普通节点将数据传输至二级簇首节点,所述二级簇首节点将接收到的数据传送至一级簇首节点;
S5.更新所述普通节点数量最多的一级簇首节点以及距离基站最远的一级簇首节点中所有普通节点的位置信息,并判断所述确定的二级簇首节点是否为所需的二级簇首节点,若是,则执行步骤S6;
S6.计算所述传输数据的普通节点、二级簇首节点、一级簇首节点的能量,并根据计算得到的能量判断是否达到预设阈值,若是,则结束数据传输;若否,则继续执行步骤S1-S5。
2.根据权利要求1所述的一种基于布谷鸟算法的LEACH分簇路由协议的方法,其特征在于,所述步骤S1中向无线传感器节点广播一级簇首选举信息后还包括收集所有无线传感器节点的地理位置并计算任意两个节点之间的距离。
3.根据权利要求2所述的一种基于布谷鸟算法的LEACH分簇路由协议的方法,其特征在于,所述步骤S1中选出数个一级簇首节点具体是通过比较随机数与阈值的大小来选择的;
所述随机数是通过每个节点产生的。
4.根据权利要求3所述的一种基于布谷鸟算法的LEACH分簇路由协议的方法,其特征在于,所述阈值的计算公式为:其中,T(n)表示阈值;p表示网络中一级簇首节点数量与网络中全部节点的比值,r表示当前经历的轮数,Gr为前r-1轮未被选为一级簇首节点的集合。
5.根据权利要求1所述的一种基于布谷鸟算法的LEACH分簇路由协议的方法,其特征在于,所述步骤S2中全部普通节点都加入到簇内之后还包括每个一级簇首节点根据簇内普通节点的数量建立TDMA时隙表,并分配簇内普通节点的数据传输时间。
6.根据权利要求5所述的一种基于布谷鸟算法的LEACH分簇路由协议的方法,其特征在于,所述步骤S4还包括若簇内没有二级簇首节点,则所述普通节点直接通过建立的TDMA时隙表将数据传输至一级簇首节点。
7.根据权利要求5所述的一种基于布谷鸟算法的LEACH分簇路由协议的方法,其特征在于,所述步骤S4中普通节点将数据传输至二级簇首节点,所述二级簇首节点将接收到的数据传送至一级簇首节点是通过建立的TDMA时隙表传输的。
8.根据权利要求1所述的一种基于布谷鸟算法的LEACH分簇路由协议的方法,其特征在于,所述步骤S3中确定二级簇首节点具体包括:确定筛选出的普通节点数量最多的一级簇首节点簇内的二级簇首节点,其公式为:其中,Ei为第i个节点剩余能量,E0为每个节点的初始能量;将剩余能量最多的普通节点确定为二级簇首节点;
确定筛选出的距离基站最远的一级簇首节点簇内的二级簇首节点,具体公式为:
其中,Di,BS为第i个节点距离基站之间的距离;将距离基站最近的普通节点确定为二级簇首节点。
9.根据权利要求1所述的一种基于布谷鸟算法的LEACH分簇路由协议的方法,其特征在于,所述步骤S5中还包括若所述确定的二级簇首节点不是所需的二级簇首节点,则更新所述确定的二级簇首节点。
10.根据权利要求9所述的一种基于布谷鸟算法的LEACH分簇路由协议的方法,其特征在于,所述步骤S5中更新所述所有普通节点的位置信息,具体公式为:v~N(0,1)
其中, 表示第i个布谷鸟在第t+1次寻找到的位置;pbest(i)(t)表示第i个布谷鸟在t次时的位置,gbest(t)表示全部布谷鸟在t次时的位置,α为步长量,取0.01,μ和v服从标准正态分布,Γ(1+β)为标准的伽玛函数;β=1.5。