一种无线传感器网络的数据传输方法及装置与流程

文档序号:17150028发布日期:2019-03-19 23:20阅读:246来源:国知局
一种无线传感器网络的数据传输方法及装置与流程
本发明涉及无线传感器网络
技术领域
,特别涉及一种无线传感器网络的数据传输方法及装置。
背景技术
:wsn(wirelesssensornetwork,无线传感器网络)是由大量的传感器(也称节点)以自组织和多跳的方式构成的无线网络,以采集网络覆盖地理区域内被感知对象的信息,并最终把这些信息发送给网络的所有者。在静止不动的节点构成的wsn中,节点的主要任务是收集数据和传输数据。由于传输数据比收集数据需要更多能量,加之wsn中的大多数节点能量有限且没办法充电,因此,节点的数据传输主要考虑节省能量。现有的数据传输方法包括,在当前节点与目的节点距离较远而不能直接将数据传输给目的节点时,当前节点基于邻近节点的地理位置,确定一个中继节点进行转发。其中,确定出的中继节点与当前节点的距离小于当前节点与目的节点的距离。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:假若某个节点频繁作为中继节点转发数据,那么,其能量将比其他节点消耗得更快,容易导致该节点过早消耗完能量而影响整个网络的生命周期。技术实现要素:本发明实施例提供了一种无线传感器网络的数据传输方法及装置,能够避免节点的能量消耗不均导致少量节点过早消耗完能量,延长节点的生存时间。所述技术方案如下:一方面,提供了一种无线传感器网络的数据传输方法,所述方法包括:第i个发送节点在所述第i个发送节点与接收节点的距离大于传输距离阈值时,确定至少一个邻居节点的地理位置和剩余能量,所述邻居节点为无线传感器网络中靠近所述第i个发送节点的节点,i为正整数;基于至少一个所述邻居节点的地理位置和剩余能量,选择一个所述邻居节点作为第i+1个发送节点;向所述第i+1个发送节点发送数据转发请求,所述数据转发请求包括待发送数据、以及所述接收节点的标识和地理位置,所述数据转发请求用于指示所述第i+1个发送节点将所述待发送数据发送给所述接收节点。可选地,所述确定至少一个邻居节点的地理位置和剩余能量,包括:向所述第i个发送节点的各个所述邻居节点广播信息收集请求,所述信息收集请求包括所述第i个发送节点的标识,所述信息收集请求用于指示收到所述信息收集请求的节点向所述第i个发送节点发送信息反馈,所述信息反馈包括发送所述信息反馈的节点的地理位置和剩余能量;接收至少一个所述邻居节点发送的信息反馈;基于至少一个所述邻居节点发送的信息反馈,确定至少一个所述邻居节点的地理位置和剩余能量。可选地,所述基于至少一个所述邻居节点的地理位置和剩余能量,选择一个所述邻居节点作为第i+1个发送节点,包括:当所述邻居节点的数量大于1时,基于各个所述邻居节点的地理位置,确定所述邻居节点中的第一候选节点,所述第一候选节点与所述第i个发送节点的距离小于所述传输距离阈值,所述第一候选节点与所述接收节点的距离小于所述第i个发送节点与所述接收节点的距离;当所述第一候选节点的数量大于1时,基于各个所述第一候选节点的剩余能量,确定所述第一候选节点中的第二候选节点,所述第二候选节点的剩余能量大于能量阈值;从所述第二候选节点中选择一个节点作为所述第i+1个发送节点。可选地,所述从所述第二候选节点中选择一个节点作为所述第i+1个发送节点,包括:当所述第二候选节点的数量大于1时,确定各个所述第二候选节点的链路质量,所述链路质量为节点成功发送数据的期望传输次数;基于各个所述第二候选节点的链路质量,确定所述第二候选节点中的第三候选节点,所述第三候选节点的链路质量大于链路质量阈值;从所述第三候选节点中选择一个节点作为所述第i+1个发送节点。可选地,所述从所述第三候选节点中选择一个节点作为所述第i+1个发送节点,包括:当所述第三候选节点的数量大于1时,确定各个所述第三候选节点的传输能效,所述传输能效等于节点发送数据消耗的能量与剩余能量的比值;基于各个所述第三候选节点的传输能效,确定所述第i+1个发送节点,所述第i+1个发送节点为所述第三候选节点中传输能效最小的节点。另一方面,提供了一种无线传感器网络的数据传输装置,所述装置包括:确定模块,用于在第i个发送节点与接收节点的距离大于传输距离阈值时,确定至少一个邻居节点的地理位置和剩余能量,所述邻居节点为无线传感器网络中靠近所述第i个发送节点的节点,i为正整数;选择模块,用于基于至少一个所述邻居节点的地理位置和剩余能量,选择一个所述邻居节点作为第i+1个发送节点;发送模块,用于向所述第i+1个发送节点发送数据转发请求,所述数据转发请求包括待发送数据、以及所述接收节点的标识和地理位置,所述数据转发请求用于指示所述第i+1个发送节点将所述待发送数据发送给所述接收节点。可选地,所述确定模块用于,向所述第i个发送节点的各个所述邻居节点广播信息收集请求,所述信息收集请求包括所述第i个发送节点的标识,所述信息收集请求用于指示收到所述信息收集请求的节点向所述第i个发送节点发送信息反馈,所述信息反馈包括发送所述信息反馈的节点的地理位置和剩余能量;接收至少一个所述邻居节点发送的信息反馈;基于至少一个所述邻居节点发送的信息反馈,确定至少一个所述邻居节点的地理位置和剩余能量。可选地,所述选择模块用于,当所述邻居节点的数量大于1时,基于各个所述邻居节点的地理位置,确定所述邻居节点中的第一候选节点,所述第一候选节点与所述第i个发送节点的距离小于所述传输距离阈值,所述第一候选节点与所述接收节点的距离小于所述第i个发送节点与所述接收节点的距离;当所述第一候选节点的数量大于1时,基于各个所述第一候选节点的剩余能量,确定所述第一候选节点中的第二候选节点,所述第二候选节点的剩余能量大于能量阈值;从所述第二候选节点中选择一个节点作为所述第i+1个发送节点。可选地,所述选择模块用于,当所述第二候选节点的数量大于1时,确定各个所述第二候选节点的链路质量,所述链路质量为节点成功发送数据的期望传输次数;基于各个所述第二候选节点的链路质量,确定所述第二候选节点中的第三候选节点,所述第三候选节点的链路质量大于链路质量阈值;从所述第三候选节点中选择一个节点作为所述第i+1个发送节点。可选地,所述选择模块用于,当所述第三候选节点的数量大于1时,确定各个所述第三候选节点的传输能效,所述传输能效等于节点发送数据消耗的能量与剩余能量的比值;基于各个所述第三候选节点的传输能效,确定所述第i+1个发送节点,所述第i+1个发送节点为所述第三候选节点中传输能效最小的节点。本发明实施例提供的技术方案带来的有益效果是:通过在第i个发送节点与接收节点的距离大于传输距离阈值时,确定至少一个邻居节点的地理位置和剩余能量,并基于至少一个邻居节点的地理位置和剩余能量,选择一个邻居节点作为第i+1个发送节点;第i个发送节点可以选择一个距离接收节点较近、且剩余能量最多的邻居节点作为第i+1个发送节点,这样,在第i个发送节点向第i+1个发送节点发送数据转发请求后,第i+1个发送节点在数据转发请求的指示下将待发送数据发送给接收节点,由于第i+1个发送节点距离接收节点更近、且剩余能量最多,因此可以缩短数据的传输路径,减少转发节点的数量,节省节点的能量,同时均衡各个节点的能量,避免节点的能量消耗不均导致少量节点过早消耗完能量,延长节点的生存时间,延长整个无线传感器网络的生命周期。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种无线传感器网络的数据传输方法的流程图;图2是本发明实施例提供的一种无线传感器网络的数据传输方法的流程图;图3是本发明实施例提供的节点的邻居节点的示意图;图4是本发明实施例提供的一种无线传感器网络的数据传输装置的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。为便于理解本发明实施例提供的技术方案,首先对无线传感器网络进行介绍。该无线传感器网络包括若干节点,节点指无线传感器。各个节点的安装位置是固定的。各个节点可以安装有定位装置,例如gps(globalpositioningsystem,全球定位系统)。节点通过定位装置可以获知本节点的地理位置。地理位置可以是经、纬度。若干节点中设有中心节点。中心节点用于对其他节点的运行状态进行控制,并收集其他节点采集的数据。对于距离中心节点较远的节点,无法直接将采集的数据传输给中心节点,这时,需要依靠距离中心节点较近的节点作为中继节点进行数据的转发。为方便描述,将距离中心节点较远、且向中心节点发送的数据为本节点采集的数据的节点称为终端节点。类似地,中心节点需要通过中继节点才能将控制信息传输给终端节点。在本实施例中,发送节点指发送数据的节点。第1个发送节点可以是中心节点,除第1个发送节点之外的发送节点为中继节点,发送的数据指控制信息,这时,接收节点为终端节点;第1个发送节点也可以是终端节点,除第1个发送节点之外的发送节点为中继节点,发送的数据指终端节点采集的数据,这时,接收节点为中心节点。图1示出了本发明实施例提供的一种无线传感器网络的数据传输方法,该方法的执行主体为第i个发送节点,i为正整数。参见图1,该方法流程包括如下步骤。步骤101、在第i个发送节点与接收节点的距离大于传输距离阈值时,确定至少一个邻居节点的地理位置和剩余能量。其中,邻居节点为无线传感器网络中靠近第i个发送节点的节点。步骤102、基于至少一个邻居节点的地理位置和剩余能量,选择一个邻居节点作为第i+1个发送节点。步骤103、向第i+1个发送节点发送数据转发请求。其中,数据转发请求包括待发送数据、以及接收节点的标识和地理位置。该数据转发请求用于指示第i+1个发送节点将待发送数据发送给接收节点。本发明实施例通过在第i个发送节点与接收节点的距离大于传输距离阈值时,确定至少一个邻居节点的地理位置和剩余能量,并基于至少一个邻居节点的地理位置和剩余能量,选择一个邻居节点作为第i+1个发送节点;第i个发送节点可以选择一个距离接收节点较近、且剩余能量最多的邻居节点作为第i+1个发送节点,这样,在第i个发送节点向第i+1个发送节点发送数据转发请求后,第i+1个发送节点在数据转发请求的指示下将待发送数据发送给接收节点,由于第i+1个发送节点距离接收节点更近、且剩余能量最多,因此可以缩短数据的传输路径,减少转发节点的数量,节省节点的能量,同时均衡各个节点的能量,避免节点的能量消耗不均导致少量节点过早消耗完能量,延长节点的生存时间,延长整个无线传感器网络的生命周期。图2示出了本发明实施例提供的一种无线传感器网络的数据传输方法。参见图2,该方法流程包括如下步骤。步骤201、第1个发送节点确定接收节点的地理位置,并基于接收节点的地理位置,确定第1个发送节点与接收节点的距离。当第1个发送节点为中心节点时,接收节点可以是除中心节点之外的任何一个节点。中心节点存储有各个节点的地理位置,地理位置可以是地理坐标。各个节点可以在首次运行后,通过定位装置确定本节点的地理位置,并将本节点的地理位置上报给中心节点,这样,中心节点能够维护全网的网络拓扑。中心节点准备将控制信息传输给接收节点时,可以从存储的各个节点的地理位置中确定接收节点的地理位置,并确定中心节点与该接收节点的距离。当第1个发送节点为非中心节点时,接收节点可以是中心节点。各个节点中均存储有中心节点的地理位置。非中心节点准备将采集的数据传输给中心节点时,可以确定本节点与中心节点的距离。步骤202、第1个发送节点比较第1个发送节点与接收节点的距离与传输距离阈值。当第1个发送节点与接收节点的距离大于传输距离阈值时,执行步骤203;当第1个发送节点与接收节点的距离小于传输距离阈值时,执行步骤211。当第1个发送节点与接收节点的距离等于传输距离阈值时,执行步骤203或者步骤211。假设传输距离阈值为r,在本实施例中,任意两个节点u、v必须满足两点的距离|uv|<r,才可以通信。第1个发送节点与邻居节点之间的距离d(s,ni)计算方式如公式(1)所示。其中,xs和ys分别为第1个发送节点s的地理坐标中的横坐标和纵坐标;和分别是邻居节点ni的地理坐标中的横坐标和纵坐标。步骤203、第1个发送节点确定第1个发送节点的至少一个邻居节点的地理位置和剩余能量。其中,第1个发送节点的邻居节点为无线传感器网络中靠近第1个发送节点的节点。步骤203可以包括如下步骤。第一步、第1个发送节点向第1个发送节点的各个邻居节点广播信息收集请求。其中,信息收集请求包括第1个发送节点的标识。该信息收集请求用于指示收到信息收集请求的节点向第1个发送节点发送信息反馈。该信息反馈包括发送信息反馈的节点的地理位置和剩余能量。地理位置可以是地理坐标,剩余能量可以是剩余电量。进一步地,该信息反馈还可以包括发送信息反馈的节点的链路质量和传输能效。链路质量为节点成功发送数据的期望传输次数。传输能效等于节点发送数据消耗的能量与剩余能量的比值。假设第1个发送节点为节点s。如图3所示,节点s周围分布着m个邻居节点n1、n2、…、nx、…、nm。1≤x≤m。dst为接收节点。节点s向周围各个邻居节点广播信息收集请求,该信息收集请求的格式如表1所示。表1中,node_ids表示节点s的标识;req表示该信息的类型为信息收集请求;xs和ys为节点s的地理坐标。表1node_idsreqxsys第二步、第1个发送节点接收至少一个邻居节点发送的信息反馈。对节点s的任意一邻居节点nx,收到信息收集请求后,将收集自身的地理位置和计算剩余能量,并向节点s发送信息反馈。可选地,邻居节点nx还可以计算链路质量和传输能效,并在信息反馈中携带链路质量和传输能效。信息反馈的格式如表2所示。其中,node_idx是nx节点的标识;ack表示该信息的类型为信息反馈;xx和yx是邻居节点nx的地理坐标,eresx是nx的剩余能量,qx是nx的链路质量,ex是nx的传输能效。表2node_idxackxxyxeresxqxex下面介绍一下链路质量的计算方式。第1个发送节点的邻居节点的链路质量可以是,邻居节点与第1个发送节点之间的链路质量。链路质量的好坏可以由节点成功发送数据包的期望传输次数etx来衡量。etx的计算由两部分组成,一部分是前向转发次数pf,另一部分是应答包确认成功率pr,这样成功传输一次数据包的期望概率为pf*pr。每次尝试发送数据包的过程可认为是伯努利实验,所以etx可以通过式子(2)计算得到。前向转发是指,节点a(例如第1个发送节点的邻居节点)向节点b(例如第1个发送节点)发送的数据;应答包指,节点b收到节点a发送的数据后,向节点a反馈的应答信息。节点a向节点b发送的数据的pf可以通过节点a向节点b发送的数据的转发率pt来衡量。pt可以通过发送链路探测包来计算,示例性地,节点a每隔时间τ向节点b发送固定大小的探测包,为了防止所有节点在同一时间发送引起同步效应,不同节点间采取0.1τ的抖动发送。这样,每个节点只需要记录在过去的w秒里收到的探测包个数,就可以通过式子(3)计算出转发率pt。其中,count(t-w,t)指的是在时间w秒内节点b实际收到的探测包数量;w/τ指的是在w秒内节点b应该收到的探测包个数,即节点a在w秒内实际发送的探测包个数。节点b向节点a反馈的应答信息的pr可以通过节点b收到节点a发送的数据后向节点a反馈的应答信息的转发率pt'来衡量。与pt'的计算原理类似,pt'可以通过探测包对应的应答包计算。示例性地,节点b收到节点a发送的探测包后向节点a反馈应答包。假设节点b在l秒内实际发送的应答包数量为l/τ,节点a实际收到的应答包数量为count(t-l,t),则pt'=count(t-l,t)/(l/τ)。在分别计算出pf(等于pt)和pr(等于pt')之后,再根据公式(2)可以得到etx值,即链路质量。下面介绍一下剩余能量的计算方式。示例性地,可以采用式子(4)计算节点i的剩余能量rei。其中,e0是节点i的初始能量,eic是节点i成功传输一个数据包到下一节点消耗的能量,n是节点i的数据流的数量,m是数据流的类型数量,是第j个类型数据流中的第k个数据流的总的比特数,pktsize是数据包的大小,eit是发送节点发送数据包消耗能量,nc为节点i在传输距离阈值r内的邻居节点数,eir是接收数据消耗能量,eiack是发送一个应答包所消耗的能量。n、m、j和k均为正整数,且j小于或等于m,k小于或等于n。其中,eic通过公式(5)计算得到。eic=eit+nc×eir+eiack......(5)eit和eiack可以通过发送功率计算得到。eir可以通过接收功率计算得到。其中,节点i成功发送k位数据包到节点j的发送功率etx通过公式(6)计算得到。其中,eelec是每发送或接受一比特的数据所消耗的能量,efs和eamp分别对应的是自由空间模型的电路放大系数和多路径衰减模型的电路放大系数,自由空间模型的电路放大系数和多路径衰减模型的电路放大系数均为常数。d0是传输距离门限。di,j为节点i与节点j之间的距离。将数据包的相应位数k带入公式(6),就可以得到eit或eiack。节点j接受k位数据包所消耗的能量(即接收功率)erx通过公式(7)计算得到。erx=k×eelec......(7)将数据包的相应位数k带入公式(7),就可以得到eir。下面介绍一下传输能效的计算方式。节点i的传输能效eei可以通过公式(8)计算得到。其中,eic为节点i成功传输一个数据包到下一节点的消耗的能量(参见公式(5)),rei为节点i的剩余能量(参见公式(2))。示例性地,假设节点n2发送一个数据包需要2单位的能量,节点n3发送一个数据包需要4单位的能量,n2、n3的剩余能量分别为1单位和8单位,根据公式(8)可以得到eei分别为2和0.5。第三步、第1个发送节点基于至少一个邻居节点发送的信息反馈,确定至少一个邻居节点的地理位置和剩余能量。节点s通过信息反馈得知邻居节点nx的标识、地理位置信息、链路质量qx、剩余能量ex和传输能效eex。步骤204、第1个发送节点基于至少一个邻居节点的地理位置和剩余能量,选择一个邻居节点作为第2个发送节点。本步骤204包括两种情形,第一种情形:当第1个发送节点的邻居节点的数量等于1时,直接将该邻居节点作为第2个发送节点。第二种情形:当邻居节点的数量大于1时,需要在第1个发送节点的邻居节点中进行筛选,筛选过程包括如下步骤。首先,基于第1个发送节点的各个邻居节点的地理位置,确定第1个发送节点的邻居节点中的第一候选节点。第一候选节点与第1个发送节点的距离小于传输距离阈值,第一候选节点与接收节点的距离小于第1个发送节点与接收节点的距离。参见图3,节点n4与第1个发送节点s的距离超过了传输数据阈值r。节点n2与接收节点dst的距离大于第1个发送节点s与接收节点dst的距离。由于第一候选节点位于第1个发送节点和接收节点之间,因此,通过第一候选节点转发数据给接收节点,能够缩短转发路径,减少转发的节点数量,节省节点的能量。其次,当第一候选节点的数量大于1时,直接将该第一候选节点作为第2个发送节点。当第一候选节点的数量大于1时,基于各个第一候选节点的剩余能量,确定第一候选节点中的第二候选节点,第二候选节点的剩余能量大于能量阈值;从第二候选节点中选择一个节点作为第2个发送节点。当第二候选节点的数量等于1时,直接将该第二候选节点作为第2个发送节点。由于第二候选节点位于第1个发送节点和接收节点之间,因此能够缩短转发路径。并且,第二候选节点的剩余能量较多,通过第二候选节点转发数据给接收节点,能够避免转发节点过早消耗完能量,均衡了各个节点的能量,延长了无线传感器网络的生命周期。当第二候选节点的数量大于1时,示例性地,可以选择任何一个第二候选节点作为第2个发送节点,或者,还可以链路质量为度量,从第二候选节点中选择第2个发送节点。该选择方式包括如下步骤。第一步、确定各个第二候选节点的链路质量,链路质量为节点成功发送数据的期望传输次数。第二步、基于各个第二候选节点的链路质量,确定第二候选节点中的第三候选节点,第三候选节点的链路质量大于链路质量阈值。第三步、从第三候选节点中选择一个节点作为第2个发送节点。类似地,当第三候选节点的数量等于1时,直接将该第三候选节点作为第2个发送节点。由于第三候选节点的链路质量最高,因此能够避免链路质量差和网络拓扑的原因导致数据包丢失和重传次数增加,增加了数据传输的命中率。当第三候选节点的数量大于1时,示例性地,可以选择任何一个第三候选节点作为第2个发送节点,或者,还可以传输能效为度量,从第三候选节点中选择第2个发送节点。该选择方式包括如下步骤。首先,确定各个第三候选节点的传输能效,传输能效等于节点发送数据消耗的能量与剩余能量的比值。其次,基于各个第三候选节点的传输能效,确定第2个发送节点,第2个发送节点为第三候选节点中传输能效最小的节点。通过选择第三候选节点中传输能效最小的节点作为第2个发送节点,能够进一步节省节点的能量,延长无线传感器网络的生命周期。步骤205、第1个发送节点向第2个发送节点发送数据转发请求。其中,数据转发请求包括待发送数据、以及接收节点的标识和地理位置。该数据转发请求用于指示第2个发送节点将待发送数据发送给接收节点。第2个发送节点接收该数据转发请求。步骤206、第2个发送节点基于接收节点的地理位置,确定第2个发送节点与接收节点的距离。步骤207、第2个发送节点比较第2个发送节点与接收节点的距离与传输距离阈值。当第2个发送节点与接收节点的距离大于传输距离阈值时,执行步骤208;当第2个发送节点与接收节点的距离小于传输距离阈值时,执行步骤211。当第2个发送节点与接收节点的距离等于传输距离阈值时,执行步骤208或者步骤211。步骤208、第2个发送节点确定第2个发送节点的至少一个邻居节点的地理位置和剩余能量。步骤209、第2个发送节点基于至少一个邻居节点的地理位置和剩余能量,选择一个邻居节点作为第3个发送节点。本步骤206~209分别与步骤201~204相同,在此不再赘述。步骤210、第2个发送节点向第3个发送节点发送数据转发请求。其中,数据转发请求包括待发送数据、以及接收节点的标识和地理位置。该数据转发请求用于指示第3个发送节点将待发送数据发送给接收节点。第3个发送节点接收该数据转发请求。第3个发送节点、以及后续的发送节点传输数据的方式与第1、2个发送节点类似,在此不再赘述。步骤211、向接收节点传输待发送数据。当第1个发送节点与接收节点的距离小于传输距离阈值时,第1个发送节点向接收节点传输待发送数据;当第2个发送节点与接收节点的距离小于传输距离阈值时,第2个发送节点向接收节点传输待发送数据,以此类推。图4示出了本发明实施例提供的一种无线传感器网络的数据传输装置。该数据传输装置可以安装在无线传感器网络的各个节点中。参见图4,所述装置包括:确定模块301、选择模块302和发送模块303。确定模块301,用于在第i个发送节点与接收节点的距离大于传输距离阈值时,确定至少一个邻居节点的地理位置和剩余能量,所述邻居节点为无线传感器网络中靠近所述第i个发送节点的节点,i为正整数。选择模块302,用于基于至少一个所述邻居节点的地理位置和剩余能量,选择一个所述邻居节点作为第i+1个发送节点。发送模块303,用于向所述第i+1个发送节点发送数据转发请求,所述数据转发请求包括待发送数据、以及所述接收节点的标识和地理位置,所述数据转发请求用于指示所述第i+1个发送节点将所述待发送数据发送给所述接收节点。示例性地,所述确定模块301用于,向所述第i个发送节点的各个所述邻居节点广播信息收集请求,所述信息收集请求包括所述第i个发送节点的标识,所述信息收集请求用于指示收到所述信息收集请求的节点向所述第i个发送节点发送信息反馈,所述信息反馈包括发送所述信息反馈的节点的地理位置和剩余能量;接收至少一个所述邻居节点发送的信息反馈;基于至少一个所述邻居节点发送的信息反馈,确定至少一个所述邻居节点的地理位置和剩余能量。示例性地,所述选择模块302用于,当所述邻居节点的数量大于1时,基于各个所述邻居节点的地理位置,确定所述邻居节点中的第一候选节点,所述第一候选节点与所述第i个发送节点的距离小于所述传输距离阈值,所述第一候选节点与所述接收节点的距离小于所述第i个发送节点与所述接收节点的距离;当所述第一候选节点的数量大于1时,基于各个所述第一候选节点的剩余能量,确定所述第一候选节点中的第二候选节点,所述第二候选节点的剩余能量大于能量阈值;从所述第二候选节点中选择一个节点作为所述第i+1个发送节点。示例性地,所述选择模块302用于,当所述第二候选节点的数量大于1时,确定各个所述第二候选节点的链路质量,所述链路质量为节点成功发送数据的期望传输次数;基于各个所述第二候选节点的链路质量,确定所述第二候选节点中的第三候选节点,所述第三候选节点的链路质量大于链路质量阈值;从所述第三候选节点中选择一个节点作为所述第i+1个发送节点。示例性地,所述选择模块302用于,当所述第三候选节点的数量大于1时,确定各个所述第三候选节点的传输能效,所述传输能效等于节点发送数据消耗的能量与剩余能量的比值;基于各个所述第三候选节点的传输能效,确定所述第i+1个发送节点,所述第i+1个发送节点为所述第三候选节点中传输能效最小的节点。本发明实施例通过在第i个发送节点与接收节点的距离大于传输距离阈值时,确定至少一个邻居节点的地理位置和剩余能量,并基于至少一个邻居节点的地理位置和剩余能量,选择一个邻居节点作为第i+1个发送节点;第i个发送节点可以选择一个距离接收节点较近、且剩余能量最多的邻居节点作为第i+1个发送节点,这样,在第i个发送节点向第i+1个发送节点发送数据转发请求后,第i+1个发送节点在数据转发请求的指示下将待发送数据发送给接收节点,由于第i+1个发送节点距离接收节点更近、且剩余能量最多,因此可以缩短数据的传输路径,减少转发节点的数量,节省节点的能量,同时均衡各个节点的能量,避免节点的能量消耗不均导致少量节点过早消耗完能量,延长节点的生存时间,延长整个无线传感器网络的生命周期。需要说明的是:上述实施例提供的无线传感器网络的数据传输装置在传输数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的无线传感器网络的数据传输装置与无线传感器网络的数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1