【技术实现步骤摘要】
基于随机线性网络编码的协作通信方法
本专利技术针对的是无线传感器网络(WirelessSensorNetworks,WSNs)及其协作通信方法,具体地说,是涉及到无线传感器网络中的网络编码和协作通信方法及其可靠性等性能。
技术介绍
无线传感器网络是近十年来兴起的一项网络技术,它集嵌入式系统、无线通信技术、计算机网络技术等高新技术于一身,有着广阔的应用前景,因此在学术界吸引了世界各国高校及研究机构的目光;在工业界也逐步得到工业巨头们的重视,目前已有无线传感器网络产品被广泛应用于军事、工业、交通、农业、医疗等多个领域。无线传感器网络由大量分布于监测区域的传感器节点组成,这些传感器节点通过无线自组织的方式构成网络。传感器节点通过安装在其上面的各类传感器(如温度传感器、湿度传感器、光照传感器等)探测相应的环境参数数据后,经过本地初步处理之后通过网络路由协议找出到达汇聚节点的路径,然后将数据发送至下一跳节点。下一跳节点经过存储转发的方式(或将数据与本地数据进行数据融合后)将数据发送到再下一跳节点,直至将数据传送到汇聚节点。汇聚节点将收到的数据进行汇总处理,然后通过公共通信网络,如卫星、互联网和移动通信网络等途径将数据发送至管理终端。由于监控区域一般位于环境恶劣的地方,不便或不可能提供持续性电源或持续性电源的提供机制复杂有待解决,因此,传感器节点一般采用电池供电。另外,由于成本和体积的限制,传感器节点的硬件配置很低,数据处理和存储能力、无线通信能力有限,通信可靠性较低。由此可以看出,一些在计算机网络和无线自组网(Ad-hocNetwork)中常用的通信协议并不能直接用 ...
【技术保护点】
一种基于随机网络编码的可靠协作通信方法,其特征在于:由若干个节点组成簇协作传输数据包,在发送或转发数据包前,每个正常工作的节点均向簇内其他节点广播自己的状态及收到的数据包个数,同时接收其他节点的广播信息并将节点号及其接收到的数据包数量存储在一个发送队列TransQueue里,之后对TransQueue队列按节点接收到的数据包个数从大到小按顺序进行排序,使得簇内每个正常工作的节点均可知道簇内其他正常工作节点的状态及其接收到的数据包数量,当有节点不能正常工作时,其他正常工作的节点会接替失效节点的发送任务,从而降低节点失效带来的不良影响。
【技术特征摘要】
1.一种基于随机线性网络编码的协作通信方法,其特征在于:由若干个节点组成簇协作传输数据包,在发送数据包前,每个正常工作的节点均向簇内其他节点广播自己的状态及收到的数据包个数,同时接收其他节点的广播信息并将节点号及其接收到的数据包数量存储在一个发送队列TransQueue里,之后对TransQueue队列按节点接收到的数据包个数从大到小按顺序进行排序,使得簇内每个正常工作的节点均可知道簇内其他正常工作节点的状态及其接收到的数据包数量,当有节点不能正常工作时,其他正常工作的节点会接替失效节点的发送任务;在每轮发送数据过程中,每个簇均需发送N个编码数据包,中间簇的节点根据TransQueue里自己所在的位置确定自己的发送时隙,并在特定的时隙对收到的数据包进行随机网络编码,之后再发送,若队列TransQueue的长度为n=N,则簇内N个节点的每个节点均按TransQueue里的顺序各发送一个编码数据包;若n<N,则簇内n个节点的每个节点按TransQueue里的顺序各发送一个编码数据包,然后按TransQueue里的第1个节点发送第n+1个编码数据包,第2个节点发送第n+2个数据包,以此类推,直到发送N个编码数据包结束,其中,n≤N;三种处理:源簇的处理、中间簇的处理、目的簇数据处理,及其相协调的处理过程;源簇的处理,分为三个阶段:源节点数据包广播阶段、簇内各节点状态广播及发送队列构建阶段和簇内各节点编码和数据发送阶段,具体处理的实现如下:阶段一:源节点数据包广播阶段——源节点将需要发送给目的节点的源数据包通过广播的方式发送给簇内其他节点;阶段二:簇内各节点状态广播及发送队列构建阶段——源簇内所有正常工作的节点在特定的时隙进行状态广播通告其他节点自己工作状态,在其他时隙则监听并接收其他节点的状态广播;根据收到的状态通告将发出状态广播的节点的节点号依次存入TransQueue队列中,轮到自己广播时也同时将自己的节点号存入TransQueue;阶段三:簇内各节点编码和数据发送阶段——假设源数据包长度可以进行M等分,源簇内正常工作的节点将源数据包分成M个等长的数据段(P1,P2,…,PM);每个簇发送数据至下一个簇时,都需要进行N次发送,当发送簇正常工作的节点个数n小于N时,由于TransQueue是循环队列,在TransQueue的n个节点按先后顺序发送完后,发送队列又回到TransQueue的开头进行剩下时隙的发送任务,不断循环直至发送完N个数据包;每个节点在一轮传输过程中可能不止发送一次,因此每个节点需要计算本节点在数据传输需要传输的次数及确定传输的时隙,具体做法如下:令N/n的商为Q,余数为r,本节点在TransQueue中所处的位置为I,则在本次传输过程中本节点需要进行的传输次数为:其中符号表示对“·”下取整的操作运算;即本节点需要分别在第I,n+I,…,(c-1)×n+I个数据时隙将数据段(P1,P2,…,PM)进行编码发送,每一次都要进行一次编码封包后发送,簇内总共分为N个发送时隙,每个时隙发送一个编码数据包,簇内所有节点总共要发出N个编码数据包;编码方法如下:先在GF(q)域上随机选取域元素vi,组成一个M×1维的列向量v=(v1,v2,…,vM)T,将(P1,P2,…,PM)和v进行GF(q)域上的相乘运算,得到编码后的数据C:C=(P1P2…PM)...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。