一种线形无线传感器阵列分布式能量均衡中继方法
技术领域
本发明涉及无线传感器通信技术,特别涉及一种线形无线传感器阵列分布式能量均衡中继方法,属于通信技术领域。
背景技术
随着物联网的飞速发展,无线传感器网络WSNs(Wireless Sensor Networks)不断发展,城市各处均布有无线传感器的节点,而目前无线传感器节点大部分都是使用电池的方式进行供电,因此如何更好地进行能耗的节约成为了无线传感器领域的一个重要的研究课题。而线形无线传感器阵列作为传感器阵列中的一种特殊的拓扑结构,有着较为广泛的应用场景,如山区公路的太阳能路灯、分布在河流两岸的传感模块等,具有重要的研究意义。
在无线传感器阵列当中,信息的传输无疑是十分重要的一步,而对于线形无线传感器阵列而言,传感器节点的位置大多离基站较远,直接与基站通信并不实际。但实际上各个传感器之间的距离是较短的,故在无线传感器阵列当中多使用短距通信,并采用中继多跳的方式来完成基站与传感器节点之间的通信。而如何中继、中继几次、哪些节点作为中继节点等问题则需要进行具体讨论。
目前大多数的传感器阵列使用的中继算法是最远传输距离算法,即在信息进行路由时总是选择通信范围内最远的节点作为中继节点。这样能够保证中继的次数是最少的,但最远传输距离算法会导致部分节点过早死亡,阵列的整体使用寿命降低。另外,对于线形拓扑结构的阵列而言,其阵列结构相比网状结构更加脆弱,使用最远传输距离算法后,如若部分连续相邻节点能量耗尽后,可能导致整个链路的中断。
考虑到最远传输距离算法可能带来的弊端,有相关学者提出考虑能量均衡的做法,即在节点进行中继之前,先获取各个节点的剩余电量,通过剩余电量来决定下次中继节点的选择。这种做法能在一定程度上解决最远传输距离算法中电量使用不均衡的问题,但只根据电量进行中继可能导致中继次数过多的问题,同时该算法中需要单独的一个中控中心进行各节点电量信息的收集和中继节点计算的工作,增大了系统复杂度,且使得系统的容错性大大降低,在较为脆弱的线形拓扑结构中并不完全适用。
发明内容
本发明的目的是为了解决现有技术中存在的缺陷,针对线形无线传感器阵列,提供一种分布式计算的线形传感器阵列能量均衡办法,使得相关的每个传感器均能进行中继选择的计算,并使得系统中整体能耗降低,且各个节点的能耗也更加均衡。为实现分布式计算,会在每个节点存储一个电量表,存储着该节点通信范围内所有节点的剩余电量,每当节点进行信息的发送(或转发)时,会将当前节点的新电量值和信息一起发送出去,对周围节点的电量表进行更新,保证电量表的一致性。
根据本发明的一个方面,提供了一种线形无线传感器阵列分布式能量均衡中继方法,包括:按地理位置对所述线形无线传感器阵列中的每个节点进行编号,每个节点将周围预设范围内节点的电量存储为本地电量表;当信息由源节点开始发送时,在发送方向上选择电量最高且离数据传输终点最近的候选节点作为中继节点,将信息向后转发,直到信息可直接发送到数据传输终点时,停止中继。
进一步地,所述方法还包括:在选出中继节点后,若落选节点在预设时间后没有收到中继节点的信息,则再次进行中继节点的选择;如果候选节点中所有节点均失效,则开放转发禁止区的节点参与中继节点的选择。
进一步地,所述方法还包括:当候选节点和转发禁止区内的节点均失效时,则上一中继节点或源节点提高功率进行发送,接收到信息的节点也以相同功率转发一次,使得上一中继节点或源节点确认信息已成功完成转发。
进一步地,所述按地理位置对所述线形无线传感器阵列中的每个节点进行编号,具体为:将离数据传输终点最远的节点编号为1,随着离数据传输终点越近,编号逐渐增大。
进一步地,所述信息的数据帧包括以下字段:当前发送节点编号;发送方向;数据传输终点编号;当前发送节点剩余电量;转发禁止节点编号;荷载数据;故障节点编号列表。
进一步地,所述中继节点对其转发的数据帧进行编辑后转发,其中发送方向、数据传输终点编号、荷载数据和故障节点编号列表不变,并根据自身节点情况修改当前发送节点编号和当前发送节点剩余电量两个字段。
进一步地,所述转发禁止区为当前中继节点到转发禁止节点之间的区域,所述转发禁止节点为在上一中继节点或源节点传输范围内离所述数据传输终点最近的节点。
进一步地,所述落选节点更新自身电量表中上一中继节点或源节点的电量值,并根据等待所述预设时间后是否能够接收到中继节点发送的数据,再次更新电量表。
进一步地,如果在预设时间后落选节点没有收到中继节点的信息,则所有落选节点将该中继节点的电量更新为0,并将该中继节点的编号列入故障节点编号列表中。
进一步地,在停止中继后,数据传输终点进行信息的读取与处理,其他节点进行电量表更新。
本发明的优点在于:本发明中针对线形无线传感器阵列,提供了一种分布式计算的线形传感器阵列能量均衡办法,以电量表的维护与更新为核心,使得在进行数据的多跳传输时,阵列中每个节点均能进行中继节点的计算,并选择最优的中继节点进行信息的传输,从而使得整体阵列能耗降低,且各节点的能耗也更加均衡,增长了系统的使用寿命;另外,本发明中的分布式计算方式也使得整体系统的容错性大大提升,能很好地保证数据的正确传输,在公路、桥梁、管道等线形无线传感器的应用场景下具有一定的意义和必要性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明的一种线形无线传感器阵列分布式能量均衡中继方法流程图;
图2是线形无线传感器阵列中节点分布示意图;
图3是本发明中对线形无线传感器阵列进行编号示意图;
图4是本发明中线形无线阵列信息的第一次发送以及中继节点选择的过程示意图;
图5是本发明中线形无线阵列进行中继时会出现的转发禁止区以及超功率发送的情况示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明提供的一种线形无线传感器阵列分布式能量均衡中继方法,其步骤为:
0)首先对线形无线传感器阵列中每个传感器进行编号,从离基站最远的节点开始,按照地理位置从1开始进行编号,随着离基站越近,编号逐渐增大;
1)当信号进行发送(或转发)时,发送的数据帧中,除了需要传输的数据之外,将自身节点的相关信息也打包进数据帧进行传输,具体数据帧结构如下所示:
2)在上一节点发送信息后,周围(可接收到信息的)节点获取信息并更新自身节点的电量表,同时根据发送方向,确认中继节点的候选节点(对上行方向,节点编号大于上一中继节点编号的作为中继候选节点;对下行方向,节点编号小于上一中继节点编号的作为中继候选节点)。
3)在候选中继节点中,每个节点均有附近所有节点的剩余电量,在候选区域内选择剩余电量最高的节点作为获选节点。若有多个节点剩余电量相同,则选择离数据传输终点最近的节点作为获选节点。获选节点作为下一轮数据传输的中继节点,将数据向后转发;候选节点中的其他节点作为落选节点,只做电量表更新的工作。
31)对于获选节点,需对其转发的数据帧进行编辑后转发,其中发送方向、数据传输终点编号、荷载数据和故障节点编号列表不变,并根据自身节点情况修改“当前发送(转发)节点编号”和“当前发送(转发)节点剩余电量”两个字段。另外,根据上一中继节点和发送距离,规定在上一中继节点传输范围内离数据传输终点最近的节点编号为转发禁止节点,在下次中继节点选择时,当前中继节点到转发禁止节点之间的区域为转发禁止区域,这部分节点不会被算入下次中继节点选择中的候选节点(目的是为了防止中继转发通路中出现多次短距中继)。
32)对于落选节点,需更新自身电量表中上一中继节点的电量值,同时需要等待Δt后接收获选节点发送的数据,并再次更新电量表。而当在接收到上级中继节点信息的Δt后,如若还未收到获选节点发送的信息,则说明此时的获选节点出现故障无法进行数据的中继转发,则所有落选节点将获选节点的电量更新为0,并进行新一轮的获选节点选择,选出次优解后,需要将判定出现故障的上一获选节点编号添加至故障编号列表进行传输,后续节点收到数据后,判断故障节点是否在自身节点所维护的电量表范围内,若在,则将故障节点电量值更新为0。
进一步的,如果在进行二次中继节点选择后,再等待Δt后(即接收到上一中继节点发送信息后过了2Δt)其余落选节点仍未收到获选节点的广播信息,则说明第二次中继节点选择的获选节点也出现了问题,则重复32)步骤,进行下一次中继节点的选择。
33)当经过m次中继选择后(m为候选节点数量,不包括转发禁止区),其余节点仍未收到下一次中继转发的广播信息,则说明候选节点均出现故障,则此时开放转发禁止区,从中进行中继节点的选择。
34)当经过n次中继选择后(n为候选节点数量+转发禁止区内节点数量),上一中继节点仍未收到下一次中继转发的广播信息,则说明上一中继转发节点在通信方向(上行或下行)上通信范围内所有节点均出现问题,则此时上一中继节点增大信号发送功率,重新发送一次信息帧,以使得原通信范围外的节点可收到相关信息,保证数据通路的完整性。同时,收到增大发送功率的节点发送的信号后,也用同样的功率值转发一次,保证前以节点可收到相关信息,确认信号已正确完成中继转发。
4)当数据经过多跳传输到距离终点(基站或某一节点)较近时,即当最后一次中继信息发出后,中继候选区域发现终点为中继候选之一时,则只进行电量表的更新,不进行后续处理;作为传输终点的节点则自行进行信息的读取与处理。
实施例1
本发明主要应用于各种线形传感器阵列当中,下面以公路上的路灯作为传感器节点进行分析,其具体分布如图2所示,现将其理想化如图3所示,节点之间两两间距近似相同(设为d),现设节点信号传输距离(最大传输距离)为5d,下面分析从编号为1的节点向基站(编号为100)进行信息传输的各个步骤:
S1、节点编号,前一中继节点发送数据帧,所有收到数据的节点更新电量表,判断是否为传输方向上的节点或者转发禁止区的节点,如果是传输方向上的节点且不是转发禁止区的节点,则根据剩余能量和编号、方向进行中继节点的选择。信号发送伊始,需先编辑其发送的信息帧,其发送节点编号为1,发送方向为上行,终点编号为100(基站),转发禁止节点编号为1。如图4所示,按额定功率发送后,则编号为2-6的节点将收到发送的信息,由于发送方向为上行,且没有转发禁止域,则这5个节点均为候选节点,从中进行下一中继节点的选择。
在编号为2-6的节点收到1的信息后,将信息中节点1的电量信息提取出来更新自身电量表(更新自身电量表中记录的关于节点1的电量信息),然后根据电量的高低,选择电量最高的节点作为中继节点,如果出现电量相同的节点,则选择靠近终点的节点(本例中为节点编号较大的)作为下一中继节点。这里假设电量表中显示2-6节点的剩余电量为(4,5,5,4,3),则根据上述原则,选用节点编号为4的节点作为下一中继节点(如图4所示,该节点被获选节点)。
S2、获选节点进行下一轮中继。设节点4为正常未损坏节点,则开始进行第二轮信息的中继,此时信息帧进行如下编辑:发送节点编号为4,发送方向为上行,终点编号为100(基站),转发禁止节点编号为6(根据上一次中继候选节点得出)。由于发送节点为4,且信息发送方向为上行,故编号5、6均为转发禁止域内的节点(这两个节点已经属于上一次的中继候选节点,因此这一次不再作为中继候选节点,而作为转发禁止节点,以提高节点选择效率)。如图5所示,按额定功率发送后,则编号1-9的节点将收到发送的信息,由于发送方向为上行,且转发禁止节点编号为6,故编号7、8、9的节点为候选节点,从中进行下一中继节点的选择。
S3、继续进行下一轮中继节点的选择。在编号为1-9的节点收到4的信息后,首先更新自身电量表中节点4的电量,然后根据信息帧中的发送方向和转发禁止节点,确定1-6节点不参与后续中继选择。然后从节点7-9中根据电量表内的剩余电量及编号大小确认下一中继节点。这里假设电量表中显示7-9节点的剩余电量为(3,4,4),则选用节点编号为9的节点作为下一中继节点。
S4、判断落选节点是否收到获选节点的数据包,如果收到则证明中继节点工作正常,如果没有收到则证明中继节点损坏,重新进行中继节点的选择。若节点9为正常未损坏节点,则同步骤S3一样进行下一轮的中继;若节点9为损坏节点,则本应在Δt后收到获选节点9的其他落选节点不会收到中继节点传出的信息,则认为之前的获选节点9损坏,则将自身电量表中节点9的节点电量更新为0,然后再从剩下的备选节点中(7、8)重新选择中继节点。根据剩余电量和节点编号,应选择8作为下一中继节点。
S5、继续进行下一轮中继节点的选择。若节点8为正常未损坏节点,则同步骤S3进行下一轮的中继,并将编号9记录进故障节点编号列表向后传输;若节点8为损坏节点,则同步骤S4,从剩余节点中重新选择中继节点。此时只剩节点7,若节点7为正常未损坏节点,则同步骤S3进行下一轮的中继,并将编号8记录进故障节点编号列表向后传输;若节点7为损坏节点,则说明最初定的所有候选节点均损坏。
S6、若所有转发禁止区外的节点均无法转发,则开放禁止区并在禁止区中进行选择,获选的节点进行下一轮中继。即,若出现候选节点均损坏的情况,则释放转发禁止节点(本例中为节点5和6),从这些节点中选择中继节点进行传输,在等待Δt后未收到中继广播信息则认为是节点损坏。如若转发禁止节点中选择出了可进行转发的节点,则同步骤S1进行数据的转发。
S7、若转发禁止区内的节点也均无法转发,则前一个中继节点增大发射功率重新发送。如若转发禁止节点中所有节点均损坏,相当于上一中继节点(4)在发送方向上以额定功率可传输到的节点均损坏(此时从节点4发送信息已过了5Δt,5-9节点均成为过获选节点,但均没有成功转发信息)。
若前面已判定节点5-9均损坏,则将损坏信息记录进故障节点编号,并将发送功率提高,进行二次信息转发,将信号传送给节点10进行中继(如图5中虚线所示)。当节点10收到信号后,用相同功率进行一次转发,使得4节点收到并确认信息已经正确完成中继转发。
S8、当信息经过多跳,中继到离终点较近的节点时,判断接收节点中是否有信息终点。例如,假设信号从节点1开始,经过多跳传输到了节点98。此时节点98开始转发信息,按额定功率发送后,则编号为93-100的节点将收到发送的信息,进行对应电量表的更新。此时接收到信息的节点发现信息的终点在上一中继节点的发送范围内,则不进行多余的中继选择操作;而信息终点(本例为基站,也可能是系统中任一节点)则接收信息并自行进行后续信息的处理。
如此,本发明中针对线形无线传感器阵列,提供了一种分布式计算的线形传感器阵列能量均衡办法,以电量表的维护与更新为核心,使得在进行数据的多跳传输时,阵列中每个节点均能进行中继节点的计算,并选择最优的中继节点进行信息的传输,从而使得整体阵列能耗降低,且各节点的能耗也更加均衡,增长了系统的使用寿命;另外,本发明中的分布式计算方式也使得整体系统的容错性大大提升,能很好地保证数据的正确传输,在公路、桥梁、管道等线形无线传感器的应用场景下具有一定的意义和必要性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。