一种可充电无线传感器网络免疫路由修复方法

文档序号:10538598阅读:455来源:国知局
一种可充电无线传感器网络免疫路由修复方法
【专利摘要】本发明涉及一种可充电无线传感器网络免疫路由修复方法,在源节点与Sink节点之间建立k条不相交的路由,网络使用其中的1条路由,另外k?1条为备份路由,将由节点能量耗尽节点引起的路由故障作为抗原,将对应的修复路由作为抗体;相应的检测模块、应答与学习模块和记忆模块来模拟免疫系统排除抗原的工作机制。学习模块中,采用了克隆选择算法。基于内分泌系统的激素调节机制,对克隆和变异机制进行了改进。通过模拟免疫系统各个模块的协同工作,ISRRA能够有效地提供故障路由的修复策略,特别适合于EH?WSNs中相同故障路由多次出现的情况。此外,在故障路由修复过程中,ISRRA还对备份路由的质量进行评估并判断是否对备份路由进行更换,从而保证路由的质量。
【专利说明】
一种可充电无线传感器网络免疫路由修复方法
技术领域
[0001] 本发明属无线传感器网络技术领域,涉及一种可充电无线传感器网络免疫路由修 复方法,特别是涉及一种可充电无线传感器网络以及基于内分泌系统激素调节机制的克隆 选择算法组成的改进免疫算法的路由修复方法。
【背景技术】
[0002] 无线传感器网络(WSNs)的传感器节点一般由电池提供能量且一般难以更换,因此 有限的电池容量是WSNs保持长期连续工作的的一个重要瓶颈。为了延长WSNs的生命周期, 已有大量的工作进行了相应的研究并设计了各种能量高效的网络算法。但是,只要电池能 量是有限的,节点的能量耗尽将是不可避免的。为了克服这一缺陷,目前能量采集技术已经 应用到WSNs中。通过为传感器节点安装一个能量采集模块,例如太阳,风和振动等,传感器 节点就可以从环境中获取能量,这样能量枯竭的传感器节点就可以再次复活,从而有限地 延长WSNs的生命周期。
[0003] 然而在实际应用过程中,一些不可预知的事件,如环境改变、通信链路断裂等,都 可能会导致传感器节点失效,并进一步引起网络分裂与功能失效。因此,容错能力成为WSNs 甚至EH-WSNs,能够顺利通信的关键因素。在WSNs中,当节点由于能量耗尽或者其它因素引 起路由失效时,通过应用一定的容错路由策略技术,使整个系统能够自动调整或自动重构, 恢复已失效的路径,从而保证数据传输任务的正常执行。为了保持路由的容错能量,一般的 方法是建立k条不相交的路由。对于EH-WSNs来说,节点通过能量采集模块能够获得的能量 经常是随机的、不稳定的,并且是随时间变化的。例如,如果一个节点安装了太阳能收集模 块,那么该节点在阴天或者晚上是无法收集到能量的。同时,和传统WSNs中的节点不同,EH-WSNs中能量耗尽的节点在从环境中收集能量后,该节点还可以再次复活并为整个网络工 作。这也意味着EH-WSNs中的节点能够经常在复活和枯竭两个状态之间切换。此外,由于H1-WSNs中节点能采集的能量是不稳定的,EH-WSNs中的路由质量也是动态变化的。因此,在EH-WSNs中,当出现路由故障时,如何修复k条不相交路由,并保持路由的质量是一个需要解决 的问题。
[0004] 目前,已有大量的工作对WSNs中的路由容错策略进行了研究,其共同点就是在源 节点与Sink节点之间建立k条不相交的路由,从而最多容忍k-Ι条路由出现故障的情况下, 网络还可以正常工作而不受到影响。但是,在这些研究中并没有对容错路由的修复以及质 量保持进行相应的研究。
[0005] 最近也有对WSNs中的故障路由修复问题进行了相应的研究。针对单移动Sink和多 移动Sink引起的可用路由故障问题,Hu等分别提出了 I0LPS0A和ECPS0A。基于梯度扩散和遗 传算法,Shih等提出了一种故障节点修复算法FNILAbbasi等提出了一种利用最少节点进行 故障路由的修复机制,但该算法只能应用于由单个节点失效引起的路由故障。Lee等提出了 一个可以修复大规模节点失效的修复机制。以上这些算法,针对WSNs中的故障问题,提出了 各种有效的修复策略,但考虑的仅仅是故障路由的修复,而没有考虑路由容错问题,同时研 究的是电池供电的WSNs,也不适用于EH-WSNs。另外,针对存在具有资源丰富的超级节点的 异构无线传感器网络,Hu等提出了一种容错路由修复策略ICPSOA,但是该算法并不适用于 EH-WSNs,主要是因为在ICPSOA中,节点的能量是有限的,而在Hl-WSNs中节点的能量是可收 集且变化的。另外,k条不相交路由的质量保持在ICPSOA中也没有进行相应的考虑。
[0006] 为了解决EH-WSNs中的容错路由修复并保持容错路由的质量,受免疫系统工作机 制启发,本发明提出了ISRRA。目前,免疫系统的工作机制已经引起了越来越多的重视并在 多个方面得到了应用。免疫系统包括免疫检测、免疫应答、免疫学习和免疫记忆等多个模块 协同工作来保护生命体的健康工作。通过分析与比较,发现Hl-WSNs中的容错路由修复与免 疫系统在多个方面存在相似性,受此启发,提出了ISRRA。

【发明内容】

[0007] 本发明所要解决的技术问题是提供一种可充电无线传感器网络免疫路由修复方 法,特别是涉及一种可充电无线传感器网络以及基于内分泌系统激素调节机制的克隆选择 算法组成的改进免疫算法的路由修复方法。
[0008] 本发明的一种可充电无线传感器网络免疫路由修复方法,简称缩写为ISRRA,由可 充电无线传感器网络(EH-WSNs)静态节点、S i nk节点和检测模块、应答模块、学习模块以及 记忆库组成;EH-WSNs是一个静态网络,各传感器节点均安装有能量采集模块,如太阳能板 等,这样节点能够从自然界中收集能量,且能量耗尽的节点在从自然界中收集能量后能够 再次复活并进行工作,其节点在部署完成后将不再移动;EH-WSNs静态节点包括源节点和传 播节点,每个节点具有独立的ID号,且各节点均知道自己和Sink节点的位置信息,位置信息 可以通过GPS模块或者其他的定位算法得到;Sink节点的传输功率可以根据与其通信的节 点距离进行动态调整;静态节点可以与其1跳范围内的邻居节点进行双向通信,且通过信息 交换,节点知道其1跳范围内的邻居节点的信息;其特征在于通过改进的免疫算法有效地提 供故障路由的修复策略,特别适合于EH-WSNs中相同故障路由多次出现的情况,并能够在 EH-WSNs中实现容错路由修复、备份路由更换,包括以下步骤:
[0009] (1)初始化 EH-WSNs;
[0010] l)EH-WSNs是一个静态网络,节点在部署完成后将不在移动;
[0011] 2)每个节点具有独立的ID号,且各节点均知道自己和Sink节点的位置信息。位置 信息可以通过GPS模块或者其他的定位算法得到;
[0012] 3)Sink节点的传输功率可以根据与其通信的节点距离进行动态调整;
[0013] 4)节点可以与其1跳范围内的邻居节点进行双向通信,且通过信息交换,节点知道 其1跳范围内的邻居节点的信息;
[0014] EH-WSNs中主要参数有:
[0015] EH-WSNs中传感器节点集合 V
[0016] EH-WSNs 中 ID为i 的节点 Vi
[0017] EH-WSNs 中的 Sink 节点 s
[0018] EH-WSNs中所有节点的状态信息Pv
[0019]用G=(vu {S},E)来表示由|V|个静态节点和ifSink节点s组成的 EH-WSNs,其中 各传感器节点均安装有能量采集模块,如太阳能板等。这样节点能够从自然界中收集能量, 且能量耗尽的节点在从自然界中收集能量后能够再次复活并进行工作。每个节点均有固定 的传输和数据采集半径。若节点之间或者节点与Sink节点之间的距离小于节点的传输距 离,那么这些节点之间就存在一条边e e E。当源节点与S i n k节点之间的距离大于节点的传 输距离时,源节点采集的数据将通过多跳传输的方式发送到Sink节点。Sink节点收集各源 节点的数据并将其提供给用户使用。同时,Sink节点的任务还包括其他各类复杂算法的处 理与实施,本发明提出的ISRRA就是由Sink节点完成。
[0020] (2)在EH-WSNs的源节点与Sink节点之间建立k条不相交路径,构建容错路由模型:
[0021] 类似于传统WSNs中的容错拓扑控制策略,为了在能量耗尽、硬件故障或通信链路 错误等情况下网络能够正常工作,EH-WSNs同样通过建立k条不相交路径来实现容错。这样, 在最坏情况下,EH-WSNs最多可以容忍k-Ι次路由故障。在各节点部署完成后,从每个源节点 至lj S ink节点的k条不相交路由可以通过一些已有算法建立,如DVP,MWATCk和GATCk。
[0022] k条路由中有以下参数:
[0023]节点^与8之间的所有路由集合 P(Vl,s)
[0024]节点Vi与s之间的第j条路由 pj(Vi,s)
[0025] Pj(Vi,S)中的失效节点 Vfail
[0026] Pj(vi,s)中 ID 为 1 的节点 VI
[0027] Pj(Vi,S)中节点Vfail/vi的子节点 Vfail_c/vi_c
[0028] Pj(Vi,S)中节点Vfail/vi的父节点 Vfailj/vi』
[0029] 在节点Vi与s之间的所有路由集合P(Vi,s)中,影响选择Pj(Vi,s)为故障修复路由 的因素主要包括:
[0030] l)pj(Vi,s)中所有节点的剩余能量,rene(vi);
[0031] 2)相邻节点之间的距离,dist(e);
[0032] 3)相邻节点之间通信的能量消耗,ene(e);
[0033] 4)节点之间通信的通信延迟,delay(vi);
[0034] 5)从源节点¥!到3;[111^节点的通信跳数,11(^化」(>1,8));
[0035]在ISRRA中,以上因素决定了路由pj(vi,s)的亲和度函数aff (pj(vi,s)),其定义如 下:
[0036]
[0037]
[0038]
[0039]
[0040]
[0041] fi表示的是路由w(Vl,s)的路由长度与P(Vl,S)中所有路由长度的比值;
[0042] f2表示的是路由Pj(Vl,s)完成一次传输所消耗的能量与P( Vl,s)中所有路由完成 一次传输所消耗能量和的比值;
[0043] f3表不的是路由Pj(Vi,S)完成一次传输的通信延迟与P(Vi,s)中所有路由完成一 次传输的通信延迟和的比值;
[0044] f4表示的是路由Pj(Vl,s)完成一次传输的跳数与P(Vl,s)中所有路由完成一次传 输的跳数和的比值。
[0045] ω :、ω 2、ω 3和ω 4分别为f 和f4对应的权值,它们的取值范围是〇〈 ω :,ω 2, ω 3,ω 4〈1,且 ω !+ ω 2+ ω 3+ ω 4= 1,根据 fi、f2、f3、f4 与亲和力 aff(pj(Vi,s))的定义,可以得 到对于和ω4的取值分配分别侧重在路由长度、消耗能量、传输延迟与路由条数 这四项,每项的比重大小表示对各项的侧重程度高低;若应用中针对能量消耗与传输延迟 需求较高,贝U可以分配ω 2和ω 3占据较高比例,示例分配如(^ = 0.1,(02 = 0.4,03 = 0.4, ω4 = 0.1;若应用中针对路由长度的要求较高而其他三项要求同等或次要,则可以分配ωι 占据主导地位,分配ω :较大的比重,ω 2、ω 3和ω 4的比重整体处于较低水平,示例分配如ω 1 = 0.4, c〇2 = 0.2, c〇3 = 0.2, c〇4 = 0.2〇
[0046] 其中本发明设定^二。.、ω2 = 0.2, ω3 = 〇.2以及ω4 = 0.2。可以得出,路由的亲 和度越高,则该条路由的质量就越好。
[0047]同时,采用能量模型作为EH-WSNs中节点的能量消耗模型。单个节点采集、发送和 接收m比特数据所消耗的能量分别为:
[0048] enesen(m) =aim
[0049] enetx(m,d) = (βι+β20-)ηι
[0050] enerx(m)= γim
[005? ]其中,d为节点与其传输目标节点之间的距离,enesen(m)表示采集m比特数据所消 耗的能量;enetx(m,d)和enerx(m)分别为发送和接收m比特数据所消耗的能量,c为信道衰减 系数,,&和丫汾别是采集电路、发送电路、发送放大器和接收电路的能耗参数。
[0052] 用于计算enesen(m),enetx(m,d)和enerx(m)的参数分别定义为:(6^ = 601^/13:11:,βι = 45nJ/bit,fe=10nJ/bit,γ i = 135pj/bit/m2。信道衰减系数c为2;
[0053] 对于ISRRA,在寻优过程的每次迭代中用于抗体克隆、变异、再选择以及记忆细胞 储存的能效消耗分别定义为6116 £1。,6116£1111,6116£^和61161 1^。因此,通过估算131?1^每次迭代中 消耗的能量就可以计算出整个ISRRA的总能耗。
[0054] (3) ISRRA检测模块检测EH-WSNs中是否存在故障节点;
[0055] 当一条路由由于节点能量耗尽或其他原因出现故障时,ISRRA将立即工作,在所有 可用的节点中选择一条亲和力高的路由来替换故障路由。
[0056] 在ISRRA中,由节点能量耗尽节点引起的路由故障被视为抗原,检测模块的功能就 是负责抗原的检测与识别。在ISRRA中,每个节点都可以和其1跳范围内的邻居节点进行双 向通信。对于路由W( Vl,s)中的节点^来说,如果Vl能够正常工作并发送数据,那么它的父 节点Vi_p就能够接收到VI发送的数据。如果Vi_p在一个事先定义的时间间隔内没有收到VI发 送的数据,那么就认为VI出现故障。此时,VI称为 Vfall,Vl的父节点和子节点分别称为Vfall的 Vfail』和Vfail_c。然后,VI将的ID和故障状态信息Vfail(idfail)报告给Sink节点;
[0057] 同时Vfall_P将这些信息报告给源节点。当源节点接收到节点故障信息后,它将启用 其他的备用路由进行数据传输,同时Sink节点出发ISRRA的应答模块来进行故障路由修复 工作。
[0058] (4)若检测模块检测到EH-WSNs存在故障节点,则开启应答模块;
[0059] 当应答模块被出发后,它将首先在ISRRA的记忆单元中进行搜索,判断记忆单元中 是否具有检测到的抗原的信息。在免疫系统中,抗原提呈细胞将会把抗原的特异信息提供 给免疫细胞,相应的抗体将会识别这些信息从而刺激大量抗体的生成,最终达到清除抗原 的效果。在ISRRA中,由于建立的是不相交路由,每个中继节点只会在一条路由中出现,因 此,以故障节点的ID(id fall)作为抗原的特异信息,并用其在记忆库中进行搜索。
[0060] 在搜索过程中,应答模块将对记忆库中储存的故障路由中包含节点的ID进行搜 索。现假设记忆库中储存有MEN条故障路由信息,如果记忆库中有故障路由信息满足下式, 那么与该故障路由对应的修复路由将被视为抗体用来修复故障路由:
[0061 ] eM£Af,idfaiiGfpi l^i^Mem_Cap
[0062]其中,fPi表示储存在记忆库中的第i条故障路由信息,Mem_Cap表示记忆库的最大 储存容量。
[0063 ]如果在记忆库中搜索不到相应的记忆信息与故障路由匹配,那么ISRRA将启动学 习模块来产生抗体。
[0064] (5)应答模块开启后,首先在记忆库中进行搜索,检索记忆库中是否具有检测到的 故障节点信息;若未找到,则开启学习模块;若找到,则直接进行故障节点修复;
[0065] 记忆模块由不同的记忆细胞组成,每个记忆细胞记录相应的故障路由和修复路由 的信息。在ISRRA初次使用时,可以针对一些故障路由,根据一定的规则设计相应的修复路 由存储到记忆库中。在后续使用中,记忆库的规则就可以在线更新了。
[0066]记忆库具有一定的容量限制,其最大容量为Mem_Cap。在使用过程中,对记忆库中 的细胞按照使用频率进行排序。当学习模块提供新的信息需要存储到记忆库时,如果记忆 库存储的信息还没有达到Mem_Cap,那么直接将新信息存储到记忆库中;如果记忆库已经达 至ljMem_Cap,那么将用新的存储信息替换使用率最低的存储信息。
[0067] 借助于记忆模块,当相同的路由故障再次出现时,ISRRA通过记忆细胞将能够迅速 的提供相应的修复路由。这一特点,特别适用于EH_WSNs。这是因为在EH_WSNs中,节点可以 从自然界中采集能量,由于能量关系,节点的状态可以在死亡与复活间不停的切换。因而, 相同的路由故障再次发生的频率将远远高于传统的WSNs。
[0068] 学习模块的最终相关信息会存储在记忆库中,储存的信息包括故障路由和对应的 修复路由信息。
[0069] (6)若记忆库中没有故障节点的信息,学习模块开启,通过改进的克隆选择算法产 生修复路由pXviJ);
[0070] 如果记忆库中没有信息满足条件式,那么Sink节点将通过广播路由修复请求PRR 信息来启动学习模块。PRR信息将通过备份路由传播到源节点。当vi接受到PRR信息后,它将 广播一条路由修复应答RRR信息,其中RRR信息中包含了该节点的剩余可用能量和坐标。
[0071] 如果中继节点VI接收到RRR信息,它将根据自身的状态信息继续中继RRR信息。为 了保持k条不相交路由的质量,所有接收到RRR信息的中继节点都会计算相应的参数,计算 的参数主要包括:
[0072] 1)节点VI和其父节点νι_ρ之间的距离dist(e);
[0073] 2)通信的能量消耗ene(e);
[0074] 3)通信延迟delay(vi);
[0075] 然后节点vi将上述信息、自己的剩余可用能量rene(vi)以及自身和νι_Ρ的ID添加到 RRR信息中,并继续中继给其他节点。
[0076]上述的RRR信息中继过程会一直持续到Sink节点接受RRR信息。然后Sink节点将从 RRR中提取相应的信息并采用改进的克隆选择算法来选择具有高亲和力的路由pXvus)作 为修复路由。此外,除了对故障路由进行修复外,Sink节点还将备用路由与其他可用路由的 质量进行对比。如果存在其他可用路由的质量优于备用路由,那么相应的备份路由将被替 换。在这一过程中,克隆选择算法将产生对应的抗体来修复故障路由,对整个路由修复过程 有着重要的作用。但传统的克隆选择算法具有抗体种群多样性差和早熟的缺陷,这将严重 妨碍其产生最佳的抗体。为了克服这些缺陷,受内分泌系统中激素调节机制启发,将激素调 节机制嵌入到抗体的进化过程中,从而促进算法的全局和局部搜索能力。
[0077]改进的克隆选择算法主要是用于产生修复路由少(Vl,s),其主要步骤描述如下:
[0078 ] 1) S i nk节点利用提取的信息随机生成抗体集Ab S;
[0079 ] 2)利用af f (p j (Vi,s))计算公式,计算每个抗体与抗原之间的亲和力;
[0080] 3)从Abs中选择亲和力最佳的T个抗体形成临时抗体集Abs' ;
[0081 ] 4)按下式计算抗体与抗体之间的亲和力:
[0082]
[0083] 其中,Xi是Abs '中的一个抗体,I Abs' I是Abs'中的抗体数量,dij是抗体Xi与Xj之间 的欧式距离。af fabb (Xi)的值越大,说明抗体Xi与Abs '中其他抗体的相似性就越大。
[0084] 5)克隆Abs'中的每一抗体。克隆规模与抗体与抗原之间的亲和力以及抗体与抗体 之间的亲和力相关。为了保持优良抗体和抗体种群的多样性,克隆的规模应与抗体与抗原 之间的亲和力成正比,与抗体与抗体之间的亲和力成反比。如果一个抗体与Abs'中的其他 抗体具有较高/低的相似性,那么该抗体的克隆规模将得到抑制/促进。因此,Abs'中的抗体 Xi的克隆规模Nc为:
[0085]
[0086] 其中,「·1表示对非整数取上限,λ是一个预先定义的克隆系数,克隆系数λ理论上取 值最小为1而最大可以无上限,|Abs I是Abs中的抗体数量,aff (Xi)表示抗体Xi与抗原之间的 亲和力,如8€;^」(>:1,8))计算公式所示。
[0087] 在上述过程中,将克隆选择算法中的克隆操作按照内分泌系统中激素调控机制进 行了改进。通过这种方式,与抗原亲和力高的抗体克隆规模得到了促进,与其他抗体相似性 低的抗体克隆规模也得到促进,而与其他抗体相似性高的抗体克隆规模得到抑制,从而有 利于改进抗体种群的多样性。
[0088] 6)克隆后的部分抗体将被选择进行变异。为了防止抗体陷入局部最优,依据内分 泌系统中激素调节机制,将变异概率从原来的固定概率修改为动态变化的变异概率。克隆 后的抗体 < 的变异概率为:
[0089]
[0090] 其中,< 是初始的固定变异概率,δ是一个固定的变异系数。通过这种方式,与抗原 亲和力高的抗体具有较小的变异概率,与其他抗体具有较高/低的抗体具有较高/低的变异 概率,从而避免大量相似抗体分布在局部区域。
[0091] 抗体if的变异规则为
[0092]
[0093] 其中,xf是变异后的抗体,N(0,1)是在[0,1]之间的一个均匀分布函数。然后,变异 后的抗体和Abs中除了T外的其他抗体形成另外一个抗体集合Abs"。
[0094] 7)对Abs〃中的抗体进行重新选择。在重新选择规则中,计算原始抗原和选出的克 隆变异抗体对抗原的刺激程度。对于任意抗体Xt和抗原Yt,二者欧式距离为:
[0095] ? i =1
[0096] 抗体对抗原的刺激度为:
[0097]
[0098]然后将各抗体对抗原的刺激度与设定的阈值进行比较,刺激程度高于阈值的抗体 保留,低的将被新的抗体代替。
[0099] 8)如果满足进化寻优的终止条件,则停止优化过程并并返回亲和力最佳的抗体, 形成故障路由对应的最佳修复路由pXvuS)。否则,转到2);
[0100] 9)比较备份路由和其他抗体的亲和力。若存在其他抗体的亲和力优于备份路由的 亲和力,则返回该抗体,形成备份路由的替换路由。
[0101] 通过上面的改进克隆选择算法之后,ISRRA为故障路由设计了相应的修复路由策 略,并比较了备份路由和其他可用路由的质量,对质量不佳的备份路由提供相应的替换路 由。然后,Sink节点广播对RRR_ACK信号,其中RRR_ACK信号包换了修复路由和替换路由的所 有信息。
[0102] (7)通过改进的克隆选择算法之后,ISRRA开始修复路由和替换备份路由;同时, ISRRA将故障路由和对应的修复路由信息存储到记忆库中。
[0103]学习模块得到的最终相关信息会存储在记忆库中,储存的信息包括故障路由和对 应的修复路由信息。
[0104] 记忆模块由不同的记忆细胞组成,每个记忆细胞记录相应的故障路由和修复路由 的信息。在ISRRA初次使用时,可以针对一些故障路由,根据一定的规则设计相应的修复路 由存储到记忆库中。在后续使用中,记忆库的规则就可以在线更新了。
[0105] 借助于记忆模块,当相同的路由故障再次出现时,ISRRA通过记忆细胞将能够迅速 的提供相应的修复路由。这一特点,特别适用于EH_WSNs。这是因为在EH_WSNs中,节点可以 从自然界中采集能量,由于能量关系,节点的状态可以在死亡与复活间不停的切换。因而, 相同的路由故障再次发生的频率将远远高于传统的WSNs。
[0106] 本发明的一种可充电无线传感器网络免疫路由修复方法,在EH-WSNs的应用环境 中,由于节点可以从自然界中采集能量,节点的能量瓶颈得到了很好的解决,但是节点的能 量耗尽与补充使得节点不断的在死亡与复活之间切换,因此针对节点能耗耗尽的容错路由 修复是EH-WSNs的一种重要问题。受免疫系统清除抗原的工作机制启发,针对性地提出了一 种用于EH-WSNs多路径路由容错的路由模型,将基于IRSSA法的容错路由修复技术应用在该 模型中,来构建智能的容错路由修复策略。模拟免疫系统的工作机制,在ISRRA中,设计了相 应的检测模块、应答模块、学习模块和记忆模块。通着这些模块的协同工作,ISRRA能够为故 障路由提供较好的修复策略。在进行故障路由修复的同时,ISRRA还对备份路由的质量进行 比较,对质量较差的备份路由进行替换,使得源节点与Sink节点之间保持着k条最佳不相交 路径。在ISRRA的学习模块中,为了克服抗体种群的多样性差和早熟的缺陷,将内分泌系统 的调节机理应用到克隆和变异操作中来增加算法的寻优能力。通过实验比较可以看出, ISRRA能提供高效的复制路由修复机制,其修复的路由要优于FNR和ICPS0A算法提供的修复 路由。
[0107] 有益效果
[0108] (1)为每个源节点到s ink节点之间始终保持了 k条最佳的不相交路由。I SRRA对备 份路由的质量进行比较,对质量较差的备份路由进行替换,使得源节点与Sink节点之间保 持着k条最佳不相交路径。
[0109] (2)克服抗体种群的多样性差和早熟的缺陷,将内分泌系统的调节机理应用到克 隆和变异操作中来增加算法的寻优能力。通过这种方式,与抗原亲和力高的抗体克隆规模 得到了促进,与其他抗体相似性低的抗体克隆规模也得到促进,而与其他抗体相似性高的 抗体克隆规模得到抑制,从而有利于改进抗体种群的多样性;为了防止抗体陷入局部最优, 依据内分泌系统中激素调节机制,将变异概率从原来的固定概率修改为动态变化的变异概 率。
[0110] (3)通过记忆细胞将能够迅速的提供相应的修复路由。特别适用于EH_WSNs。这是 因为在EH_WSNs中,节点可以从自然界中采集能量,由于能量关系,节点的状态可以在死亡 与复活间不停的切换。因而,相同的路由故障再次发生的频率将远远高于传统的WSNs,能够 为故障路由提供较好的修复策略。
【附图说明】
[0111] 图1是本发明的ISRRA流程图;
[0112] 图2是本发明的100个节点下故障路由修复过程的能耗对比图;
[0113] 图3是本发明的300个节点下故障路由修复过程的能耗对比图;
[0114] 图4是本发明的500个节点下故障路由修复过程的能耗对比图;
[0115] 图5是本发明的修复路由的数据传输延迟对比图;
[0116] 图6是本发明的修复路由的平均存活时间比较图。
【具体实施方式】
[0117] 下面结合【具体实施方式】,进一步阐述本发明。应理解,这些实施例仅用于说明本发 明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术 人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限 定的范围。
[0118] 本发明的一种可充电无线传感器网络免疫路由修复方法,简称缩写为ISRRA,由可 充电无线传感器网络(EH-WSNs)静态节点、S i nk节点和检测模块、应答模块、学习模块以及 记忆库组成;EH-WSNs是一个静态网络,各传感器节点均安装有能量采集模块,如太阳能板 等,这样节点能够从自然界中收集能量,且能量耗尽的节点在从自然界中收集能量后能够 再次复活并进行工作,其节点在部署完成后将不再移动;EH-WSNs静态节点包括源节点和传 播节点,每个节点具有独立的ID号,且各节点均知道自己和Sink节点的位置信息,位置信息 可以通过GPS模块或者其他的定位算法得到;Sink节点的传输功率可以根据与其通信的节 点距离进行动态调整;静态节点可以与其1跳范围内的邻居节点进行双向通信,且通过信息 交换,节点知道其1跳范围内的邻居节点的信息;其特征在于通过改进的免疫算法有效地提 供故障路由的修复策略,特别适合于EH-WSNs中相同故障路由多次出现的情况,并能够在 EH-WSNs中实现容错路由修复、备份路由更换,包括以下步骤:
[0119] (1)初始化 EH-WSNs;
[0120] 1 )EH_WSNs是一个静态网络,节点在部署完成后将不在移动;
[0121] 2)每个节点具有独立的ID号,且各节点均知道自己和Sink节点的位置信息。位置 信息可以通过GPS模块或者其他的定位算法得到;
[0122] 3)Sink节点的传输功率可以根据与其通信的节点距离进行动态调整;
[0123] 4)节点可以与其1跳范围内的邻居节点进行双向通信,且通过信息交换,节点知道 其1跳范围内的邻居节点的信息;
[0124] EH-WSNs中主要参数有:
[0125] EH-WSNs中传感器节点集合 V
[0126] EH-WSNs 中 ID为i 的节点 Vi
[0127] EH-WSNs 中的 Sink 节点 s
[0128] EH-WSNs中所有节点的状态信息Pv
[0129] 用G=(VU {s},E)来表示由|V|个静态节点和1个Sink节点s组成的EH-WSNs,其中 各传感器节点均安装有能量采集模块,如太阳能板等。这样节点能够从自然界中收集能量, 且能量耗尽的节点在从自然界中收集能量后能够再次复活并进行工作。每个节点均有固定 的传输和数据采集半径。若节点之间或者节点与Sink节点之间的距离小于节点的传输距 离,那么这些节点之间就存在一条边e e E。当源节点与S i n k节点之间的距离大于节点的传 输距离时,源节点采集的数据将通过多跳传输的方式发送到Sink节点。Sink节点收集各源 节点的数据并将其提供给用户使用。同时,Sink节点的任务还包括其他各类复杂算法的处 理与实施,本发明提出的ISRRA就是由Sink节点完成。
[0130] (2)在EH-WSNs的源节点与Sink节点之间建立k条不相交路径,构建容错路由模型:
[0131] 类似于传统WSNs中的容错拓扑控制策略,为了在能量耗尽、硬件故障或通信链路 错误等情况下网络能够正常工作,EH-WSNs同样通过建立k条不相交路径来实现容错。这样, 在最坏情况下,EH-WSNs最多可以容忍k-Ι次路由故障。在各节点部署完成后,从每个源节点 至lj S ink节点的k条不相交路由可以通过一些已有算法建立,如DVP,MWATCk和GATCk。
[0132] k条路由中有以下参数:
[0133]节点Vi与s之间的所有路由集合 P(vi,s)
[0134]节点Vi与S之间的第j条路由 Pj(Vi,S)
[0135] Pj(Vi,S)中的失效节点 Vfail
[0136] Pj(vi,s)中 ID 为 1 的节点 VI
[0137] Pj(Vi,S)中节点Vfail/vi的子节点 Vfail_c/vi_c
[0138] Pj(Vi,S)中节点Vfail/vi的父节点 Vfailj/vi』
[0139] 在节点Vi与s之间的所有路由集合P(Vi,s)中,影响选择Pj(Vi,s)为故障修复路由 的因素主要包括:
[0140] l)pj(Vi,s)中所有节点的剩余能量,rene(vi);
[0141] 2)相邻节点之间的距离,dist(e);
[0142] 3)相邻节点之间通信的能量消耗,ene(e);
[0143] 4)节点之间通信的通信延迟,delay(vi);
[0144] 5)从源节点¥1到3;[111^节点的通信跳数,11(^化」(>1,8));
[0145]在ISRRA中,以上因素决定了路由pj(vi,s)的亲和度函数aff (pj(vi,s)),其定义如 下:
[0146]
[0147]
[0148]
[0149]
[0150]
[0151] fi表示的是路由W(Vl,s)的路由长度与P(Vl,s)中所有路由长度的比值;
[0152] f2表示的是路由W(Vl,s)完成一次传输所消耗的能量与P( Vl,s)中所有路由完成 一次传输所消耗能量和的比值;
[0153] f3表示的是路由W(Vl,s)完成一次传输的通信延迟与P(Vl,s)中所有路由完成一 次传输的通信延迟和的比值;
[0154] f4表示的是路由Pj(Vl,s)完成一次传输的跳数与P(Vl,s)中所有路由完成一次传 输的跳数和的比值。
[0155] ωι、ω 2、ω3和ω4分别为和f4对应的权值,它们的取值范围是〇〈 ω ω2, ω 3,ω 4〈1,且 ω !+ ω 2+ ω 3+ ω 4= 1,根据 fi、f2、f3、f4 与亲和力 aff(pj(Vi,s))的定义,可以得 到对于和ω4的取值分配分别侧重在路由长度、消耗能量、传输延迟与路由条数 这四项,每项的比重大小表示对各项的侧重程度高低;若应用中针对能量消耗与传输延迟 需求较高,贝U可以分配ω 2和ω 3占据较高比例,示例分配如(^ = 0.1,(02 = 0.4,03 = 0.4, ω4 = 0.1;若应用中针对路由长度的要求较高而其他三项要求同等或次要,则可以分配ωι 占据主导地位,分配ω :较大的比重,ω 2、ω 3和ω 4的比重整体处于较低水平,示例分配如ω 1 = 0.4, c〇2 = 0.2, c〇3 = 0.2, c〇4 = 0.2〇
[0156] 其中本发明设定…二。.、ω2 = 0.2, ω3 = 〇.2以及c〇4 = 0.2c3可以得出,路由的亲 和度越高,则该条路由的质量就越好。
[0157] 同时,采用能量模型作为EH-WSNs中节点的能量消耗模型。单个节点采集、发送和 接收m比特数据所消耗的能量分别为:
[0158] enesen(m) =aim
[0159] enetx(m,d) = (βι+β20-)ηι
[0160] enerx(m) = γ im
[0161 ]其中,d为节点与其传输目标节点之间的距离,enesen(m)表示采集m比特数据所消 耗的能量;enetx(m,d)和enerx(m)分别为发送和接收m比特数据所消耗的能量,c为信道衰减 系数,,&和丫汾别是采集电路、发送电路、发送放大器和接收电路的能耗参数。
[0162] 用于计算enesen(m),enetx(m,d)和enerx(m)的参数分别定义为:(6^ = 601^/13:11:,βι = 45nJ/bit,fe=10nJ/bit,γ i = 135pj/bit/m2。信道衰减系数c为2;
[0163] 对于ISRRA,在寻优过程的每次迭代中用于抗体克隆、变异、再选择以及记忆细胞 储存的能效消耗分别定义为6116 £1。,6116£1111,6116£^和61161 1^。因此,通过估算131?1^每次迭代中 消耗的能量就可以计算出整个ISRRA的总能耗。
[0164] (3) ISRRA检测模块检测EH-WSNs中是否存在故障节点;
[0165] 当一条路由由于节点能量耗尽或其他原因出现故障时,ISRRA将立即工作,在所有 可用的节点中选择一条亲和力高的路由来替换故障路由。
[0166] 在ISRRA中,由节点能量耗尽节点引起的路由故障被视为抗原,检测模块的功能就 是负责抗原的检测与识别。在ISRRA中,每个节点都可以和其1跳范围内的邻居节点进行双 向通信。对于路由W( Vl,s)中的节点^来说,如果Vl能够正常工作并发送数据,那么它的父 节点Vi_p就能够接收到VI发送的数据。如果Vi_p在一个事先定义的时间间隔内没有收到VI发 送的数据,那么就认为VI出现故障。此时,VI称为Vfall,Vl的父节点和子节点分别称为Vfall的 Vfail』和Vfail_c。然后,VI将的ID和故障状态信息Vfail(idfail)报告给Sink节点;
[0167] 同时Vfall_P将这些信息报告给源节点。当源节点接收到节点故障信息后,它将启用 其他的备用路由进行数据传输,同时Sink节点出发ISRRA的应答模块来进行故障路由修复 工作。
[0168] (4)若检测模块检测到EH-WSNs存在故障节点,则开启应答模块;
[0169] 当应答模块被出发后,它将首先在ISRRA的记忆单元中进行搜索,判断记忆单元中 是否具有检测到的抗原的信息。在免疫系统中,抗原提呈细胞将会把抗原的特异信息提供 给免疫细胞,相应的抗体将会识别这些信息从而刺激大量抗体的生成,最终达到清除抗原 的效果。在ISRRA中,由于建立的是不相交路由,每个中继节点只会在一条路由中出现,因 此,以故障节点的ID(id fall)作为抗原的特异信息,并用其在记忆库中进行搜索。
[0170]在搜索过程中,应答模块将对记忆库中储存的故障路由中包含节点的ID进行搜 索。现假设记忆库中储存有MEN条故障路由信息,如果记忆库中有故障路由信息满足下式, 那么与该故障路由对应的修复路由将被视为抗体用来修复故障路由:
[0171] Ξ//Λ e MEM, idfaii e fPi 1 ^ i ^Mem_Cap
[0172] 其中,fPl表示储存在记忆库中的第i条故障路由信息,Mem_Cap表示记忆库的最大 储存容量。
[0173 ]如果在记忆库中搜索不到相应的记忆信息与故障路由匹配,那么ISRRA将启动学 习模块来产生抗体。
[0174] (5)应答模块开启后,首先在记忆库中进行搜索,检索记忆库中是否具有检测到的 故障点信息;若未找到,则开启学习模块;若找到,则直接进行故障节点修复;
[0175] 记忆模块由不同的记忆细胞组成,每个记忆细胞记录相应的故障路由和修复路由 的信息。在ISRRA初次使用时,可以针对一些故障路由,根据一定的规则设计相应的修复路 由存储到记忆库中。在后续使用中,记忆库的规则就可以在线更新了。
[0176] 记忆库具有一定的容量限制,其最大容量为Mem_Cap。在使用过程中,对记忆库中 的细胞按照使用频率进行排序。当学习模块提供新的信息需要存储到记忆库时,如果记忆 库存储的信息还没有达到Mem_Cap,那么直接将新信息存储到记忆库中;如果记忆库已经达 至ljMem_Cap,那么将用新的存储信息替换使用率最低的存储信息。
[0177] 借助于记忆模块,当相同的路由故障再次出现时,ISRRA通过记忆细胞将能够迅速 的提供相应的修复路由。这一特点,特别适用于EH_WSNs。这是因为在EH_WSNs中,节点可以 从自然界中采集能量,由于能量关系,节点的状态可以在死亡与复活间不停的切换。因而, 相同的路由故障再次发生的频率将远远高于传统的WSNs。
[0178] 学习模块的最终相关信息会存储在记忆库中,储存的信息包括故障路由和对应的 修复路由信息。
[0179] (6)若记忆库中没有故障节点的信息,学习模块开启,通过改进的克隆选择算法产 生修复路由pXviJ);
[0180] 如果记忆库中没有信息满足条件式,那么Sink节点将通过广播路由修复请求PRR 信息来启动学习模块。PRR信息将通过备份路由传播到源节点。当vi接受到PRR信息后,它将 广播一条路由修复应答RRR信息,其中RRR信息中包含了该节点的剩余可用能量和坐标。
[0181]如果中继节点VI接收到RRR信息,它将根据自身的状态信息继续中继RRR信息。为 了保持k条不相交路由的质量,所有接收到RRR信息的中继节点都会计算相应的参数,计算 的参数主要包括:
[0182] 1)节点vi和其父节点νι_Ρ之间的距离dist(e);
[0183] 2)通信的能量消耗ene(e);
[0184] 3)通信延迟delay(vi);
[0185] 然后节点vi将上述信息、自己的剩余可用能量rene(vi)以及自身和νι_Ρ的ID添加到 RRR信息中,并继续中继给其他节点。
[0186] 上述的RRR信息中继过程会一直持续到Sink节点接受RRR信息。然后Sink节点将从 RRR中提取相应的信息并采用改进的克隆选择算法来选择具有高亲和力的路由pXvus)作 为修复路由。此外,除了对故障路由进行修复外,Sink节点还将备用路由与其他可用路由的 质量进行对比。如果存在其他可用路由的质量优于备用路由,那么相应的备份路由将被替 换。在这一过程中,克隆选择算法将产生对应的抗体来修复故障路由,对整个路由修复过程 有着重要的作用。但传统的克隆选择算法具有抗体种群多样性差和早熟的缺陷,这将严重 妨碍其产生最佳的抗体。为了克服这些缺陷,受内分泌系统中激素调节机制启发,将激素调 节机制嵌入到抗体的进化过程中,从而促进算法的全局和局部搜索能力。
[0187] 改进的克隆选择算法主要是用于产生修复路由i/(Vl,S),其主要步骤描述如下:
[0188 ] 1) S i nk节点利用提取的信息随机生成抗体集Ab s;
[0189 ] 2)利用af f (p j (Vi,s))计算公式,计算每个抗体与抗原之间的亲和力;
[0190] 3)从Abs中选择亲和力最佳的T个抗体形成临时抗体集Abs' ;
[0191] 4)按下式计算抗体与抗体之间的亲和力:
[0192]
[0193] 其中,Xi是Abs '中的一个抗体,| Abs' |是Abs'中的抗体数量,dij是抗体Xi与Xj之间 的欧式距离。af fabb (Xi)的值越大,说明抗体Xi与Abs '中其他抗体的相似性就越大。
[0194] 5)克隆Abs'中的每一抗体。克隆规模与抗体与抗原之间的亲和力以及抗体与抗体 之间的亲和力相关。为了保持优良抗体和抗体种群的多样性,克隆的规模应与抗体与抗原 之间的亲和力成正比,与抗体与抗体之间的亲和力成反比。如果一个抗体与Abs'中的其他 抗体具有较高/低的相似性,那么该抗体的克隆规模将得到抑制/促进。因此,Abs'中的抗体 Xi的克隆规模Nc为:
[0195]
[0196] 其中,表示对非整数取上限,λ是一个预先定义的克隆系数,克隆系数λ理论上取 值最小为1而最大可以无上限,I Abs I是Abs中的抗体数量,aff(Xi)表示抗体Xi与抗原之间的 亲和力,如8€;^」(>:1,8))计算公式所示。
[0197] 在上述过程中,将克隆选择算法中的克隆操作按照内分泌系统中激素调控机制进 行了改进。通过这种方式,与抗原亲和力高的抗体克隆规模得到了促进,与其他抗体相似性 低的抗体克隆规模也得到促进,而与其他抗体相似性高的抗体克隆规模得到抑制,从而有 利于改进抗体种群的多样性。
[0198] 6)克隆后的部分抗体将被选择进行变异。为了防止抗体陷入局部最优,依据内分 泌系统中激素调节机制,将变异概率从原来的固定概率修改为动态变化的变异概率。克隆 后的抗体的变异概率为:
[0199]
[0200] 其中,是初始的固定变异概率,δ是一个固定的变异系数。通过这种方式,与抗原 亲和力高的抗体具有较小的变异概率,与其他抗体具有较高/低的抗体具有较高/低的变异 概率,从而避免大量相似抗体分布在局部区域。
[0201] 抗体xf的变异规则为
[0202]
[0203] 其中是变异后的抗体,N(0,1)是在[0,1]之间的一个均匀分布函数。然后,变异 后的抗体和Abs中除了T外的其他抗体形成另外一个抗体集合Abs〃。
[0204] 7)对Abs〃中的抗体进行重新选择。在重新选择规则中,计算原始抗原和选出的克 隆变异抗体对抗原的刺激程度。对于任意抗体Xt和抗原Yt,二者欧式距离为:
[0205]
[0206] 抗体对抗原的刺激度为:
[0207]
[0208] 然后将各抗体对抗原的刺激度与设定的阈值进行比较,刺激程度高于阈值的抗体 保留,低的将被新的抗体代替。
[0209] 8)如果满足进化寻优的终止条件,则停止优化过程并并返回亲和力最佳的抗体, 形成故障路由对应的最佳修复路由pXvuS)。否则,转到2)。
[0210] 9)比较备份路由和其他抗体的亲和力。若存在其他抗体的亲和力优于备份路由的 亲和力,则返回该抗体,形成备份路由的替换路由。
[0211] 通过上面的改进克隆选择算法之后,ISRRA为故障路由设计了相应的修复路由策 略,并比较了备份路由和其他可用路由的质量,对质量不佳的备份路由提供相应的替换路 由。然后,Sink节点广播对RRR_ACK信号,其中RRR_ACK信号包换了修复路由和替换路由的所 有信息。
[0212] (7)通过改进的克隆选择算法之后,ISRRA开始修复路由和替换备份路由;同时, ISRRA将故障路由和对应的修复路由信息存储到记忆库中。
[0213] 学习模块得到的最终相关信息会存储在记忆库中,储存的信息包括故障路由和对 应的修复路由信息。
[0214] 记忆模块由不同的记忆细胞组成,每个记忆细胞记录相应的故障路由和修复路由 的信息。在ISRRA初次使用时,可以针对一些故障路由,根据一定的规则设计相应的修复路 由存储到记忆库中。在后续使用中,记忆库的规则就可以在线更新了。
[0215] 借助于记忆模块,当相同的路由故障再次出现时,ISRRA通过记忆细胞将能够迅速 的提供相应的修复路由。这一特点,特别适用于EH_WSNs。这是因为在EH_WSNs中,节点可以 从自然界中采集能量,由于能量关系,节点的状态可以在死亡与复活间不停的切换。因而, 相同的路由故障再次发生的频率将远远高于传统的WSNs。
[021 ?] 为了评估ISRRA的性能,ISRRA流程参照图1,在Mat lab R2010a环境中设计了相应 的实验,并将ISRRA的实验结果与FNR和ICPS0A的实验结果进行可对比。仿真所用电脑的基 本配置为MS Windows 7系统,Intel(R)Core(TM)i5-3470处理器(3.2GHz)及4GB RAM。
[0217] 仿真环境配置如下:100-500个节点部署在1000 X 1000m2的二维空间中。一个Sink 节点部署在该二维区域的中心位置。每个传感器节点均安装一个l〇mm X 10mm的太阳能板, 当节点能量耗尽或者低于一定阈值时,该节点可以利用太阳能板采集太阳能来补充能量。 在实验过程中,取The National Solar Radiation Data Base作为太阳能采集的基本数 据。每个传感器节点的数据采集半径和传输半径分别为20m和100m。在每一轮数据传输中, 传输的数据包大小m为400bits,节点的传输带宽为200kb/s。每个源节点到Sink节点的不相 交路由数量为k = 3。用于计算enesen(m),enetx(m,d)和enerx(m)的参数分别定义为:(^ = 60nJ/bit,0i = 45nJ/bit,β2 = 10nJ/bit,γ i = 135pJ/bit/m2。信道衰减系数c为2。这些参数 同样应用至炉冊和10?3(^中。131?^中用到的其他参数定义为 :人=20,〇0.7』=0.2,一8 =10,T = 5,eneac = 5pJ,eneam= 10pJ,enears = 15pJ 和 enemcs = 10pJ。当检测到故障路由后, 每个算法都运行100代。
[0218]首先,比较了路由修复过程中的能量消耗。为了更加有效地比较各种路由修复算 法的性能,随机选择了 10个修复过程并比较每个修复过程的能量消耗,比较结果如图2、图 3、图4所示。从图2、图3、图4中可以看出,I SRRA和ICPS0A算法中的路由修复过程消耗的能量 较FNR少。这是因为FNR的修复过程是基于Grade Diffusion(GD)算法的结果。但是⑶算法的 结果在节点失效的情况下将不再可用,从而导致FNR需要重新计算GD的值来修复故障路由, 这一过程将消耗掉大量的能量。另外,从图2、图3、图4中还可以看出,ISRRA在100个节点情 况下的第4次和第9次修复;300个节点情况下的第7次修复和500个节点情况下的第4次、第5 次和第9次修复均较FNR和ISPS0A消耗了较少的能量,分别如图2、图3、图4所示。这主要是因 为这些修复过程所修复的故障路由均是再次发生故障情况下的修复。在此情况下,ISRRA已 将对应的修复路由信息存储在记忆库中,记忆库中的记忆细胞将直接被激活产生相应的抗 体来修复故障路由,这一过程将大大减少修复过程的能量消耗。但在FNR和ICPS0A算法中, 既使相同的路由故障再次发生,相同的修复过程需要再次进行,并不能起到节省修复过程 能耗的作用。
[0219]然后,比较了修复路由的数据传输延迟,如图5所示。可以发现,ISRRA和ICPS0A的 延迟类似,均要优于FNR。这主要是因为在ISRRA和ICPS0A的修复路由选择时,传输延时和路 由的长度均进行了相应的考虑,但这些因素在FNR中并没有进行相应的考虑。
[0220]最后,比较了修复路由的存活时间,修复路由的存活时间能够直接体现修复路由 的质量,比较结果如图6所示。从图6中,可以看出ISRRA修复的路由比FNR算法修复的路由多 存活28-92轮,比ICPSOA算法修复的路由多存活8-42轮。这主要是因为在选择修复路由时, ISRRA考虑节点的可用剩余能量、节点之间的距离、通信延迟和中继跳数等因素。此外,除了 修复路由外,ISRRA还将备份路由与其他可用路由进行质量比较,对于质量较差的部分路由 进行更换。通过这一过程,ISRRA为每个源节点到Sink节点之间始终保持了k条最佳的不相 交路由。但在FNR和ICPSOA中,考虑的影响路由质量的因素并没有ISRRA多。而且在FNR和 ICPSOA中,只有故障路由得到了修复,备份路由的质量并没有进行相应的考虑与替换。因 此,ISRRA的路由质量要优于FNR和ICPSOA提供的路由质量。这种优越性随着节点数的增加 而减小,这主要是因为随着节点数量的增加,需要传输的数据量也在增加,而且相应的路由 长度也在增加。但可以看出,相对于FNR和ICPSOA,ISRRA还是最佳的。
【主权项】
1. 一种可充电无线传感器网络免疫路由修复方法,由可充电无线传感器网络静态节 点、Sink节点、检测模块、应答模块、学习模块以及记忆库组成,其特征是:由节点能量耗尽 节点引起的路由故障被视为抗原,与该故障路由对应的修复路由将被视为抗体用来修复故 障路由,并且将激素调节机制嵌入到抗体的进化过程中,得到改进的克隆选择算法,有效地 提供故障路由的修复策略,从而促进算法的全局和局部搜索能力;所述可充电无线传感器 网络免疫路由修复方法包括以下步骤: (1) 在可充电无线传感器网络的源节点与Sink节点之间建立k条不相交路径; (2) 检测模块检测可充电无线传感器网络中是否存在故障节点;检测模块的功能就是 负责抗原的检测与识别; (3) 若检测模块检测到EH-WSNs存在故障节点,则开启应答模块; (4) 应答模块开启后,首先在记忆库中进行搜索,检索记忆库中是否具有检测到的故障 节点信息;若找到,则直接进行故障节点修复;若未找到,则开启学习模块; (5) 学习模块开启后,通过改进的克隆选择算法产生修复路由i/(Vl,S);由节点能量耗 尽节点引起的路由故障被视为抗原,与该故障路由对应的修复路由将被视为抗体,改进的 克隆选择算法主要步骤描述如下: 1. Sink节点利用提取的信息随机生成抗体集Abs; 2) 计算每个抗体与抗原之间的亲和力aff (pj(Vi,s)): 3) 从Abs中选择亲和力最佳的T个抗体形成临时抗体集Abs' ; 4) 计算抗体与抗体之间的亲和力: 5) 克隆Abs '中的每一抗体; 6) 克隆后的部分抗体将被选择进行变异;为了防止抗体陷入局部最优,依据内分泌系 统中激素调节机制,变异概率为动态变化的变异概率;然后,变异后的抗体和Abs中除了 T外 的其他抗体形成另外一个抗体集合Abs"; 7) 对Abs〃中的抗体进行重新选择;在重新选择规则中,计算原始抗原和选出的克隆变 异抗体对抗原的刺激程度;然后将各抗体对抗原的刺激度与设定的阈值进行比较,刺激程 度高于阈值的抗体保留,低的将被新的抗体代替; 8) 如果满足进化寻优的终止条件,则停止优化过程并返回亲和力最佳的抗体,形成故 障路由对应的最佳修复路由Plr(V 1A);否则,转到步骤2); 9) 比较备份路由和其他抗体的亲和力;若存在其他抗体的亲和力优于备份路由的亲和 力,则返回该抗体,形成备份路由的替换路由; (6) 开始修复路由和替换备份路由;同时,将故障路由和对应的修复路由信息存储到记 忆库中。2. 根据权利要求1所述的一种可充电无线传感器网络免疫路由修复方法,其特征在于, 可充电无线传感器网络免疫路由修复方法的具体步骤为: (1)在可充电无线传感器网络的源节点与Sink节点之间建立k条不相交路径; a.初始化可充电无线传感器网络即EH-WSNs: I )EH-WSNs是一个静态网络,节点在部署完成后将不在移动; 2)每个节点具有独立的ID号,且各节点均知道自己和Sink节点的位置信息;位置信息 通过GPS模块或者其他的定位算法得到; 3. Sink节点的传输功率根据与其通信的节点距离进行动态调整; 4) 节点与其1跳范围内的邻居节点进行双向通信,且通过信息交换,节点知道其1跳范 围内的邻居节点的信息; 有以下参数: 五//-FFSVs中传感器节点集合 F ; 中趣为/的节点 %; 中的AM节点 S . 中所有节点的状态信息巧; b.在EH-WSNs的源节点与Sink节点之间建立k条不相交路径,构建容错路由模型; 为了在能量耗尽、硬件故障或通信链路错误情况下使得网络能够正常工作,EH-WSNs通 过建立k条不相交路径来实现容错;这样,在最坏情况下,EH-WSNs最多能够容忍k-Ι次路由 故障;在各节点部署完成后,从每个源节点到Sink节点的k条不相交路由通过DVP,MWATCk或 GATCk算法建立;有以下参数: 节点%与S之间的所有路由集合 ; 节点%与S之间的第./条路由 ; /?,·(Λ,4中的失效节点 ν/?? ; 巧('+, S)中/D为/的节点 V" & (Vi,中节点V/ V;的子节点 ^ fail c I _c 中节点ν>7/巧的父节点 VimWp' 在节点Vi与S之间的所有路由集合P( Vi,S )中,影响选择Pj ( Vi,S )为故障修复路由的因素 主要包括: 1. Pj (Vi,s)中所有节点的剩余能量:rene(Vi); 2) 相邻节点之间的距离:dist(e); 3) 相邻节点之间通信的能量消耗:ene (e); 4) 节点之间通信的通信延迟:delay(Vi); 5) 从源节点Vi到Sink节点的通信跳数:hop (pj (Vi,s)); (2) 检测模块检测可充电无线传感器网络中是否存在故障节点;检测模块的功能就是 负责抗原的检测与识别; (3) 若检测模块检测到EH-WSNs存在故障节点,则开启应答模块; 每个节点都能够和其1跳范围内的邻居节点进行双向通信;对于路由W(Vl,s)中的节点 V1来说,如果V1能够正常工作并发送数据,那么它的父节点V1_ P就能够接收到V1发送的数据; 如果父节点νι_Ρ在一个事先定义的时间间隔内没有收到Vl发送的数据,那么就认为Vl出现故 障; (4) 应答模块开启后,首先在记忆库中进行搜索,检索记忆库中是否具有检测到的故障 节点信息;若找到,则直接进行故障节点修复;若未找到,则开启学习模块; 在搜索过程中,应答模块将对记忆库中储存的故障路由中包含节点的ID进行搜索;假 设记忆库中储存有MEN条故障路由信息,如果记忆库中存在匹配的故障路由信息,那么与该 故障路由对应的修复路由将被视为抗体用来修复故障路由;如果在记忆库中搜索不到相应 的记忆信息与故障路由匹配,那么将启动学习模块来产生抗体; (5) 学习模块开启后,通过改进的克隆选择算法产生修复路由Plr(V1A); Sink节点将通过广播路由修复请求PRR信息来启动学习模块;PRR信息将通过备份路由 传播到源节点Vi;当Vi接受到PRR信息后,它将广播一条路由修复应答RRR信息,其中RRR信息 中包含了该节点的剩余可用能量和坐标; 如果中继节点Vi接收到RRR信息,将根据自身的状态信息继续中继RRR信息;为了保持k 条不相交路由的质量,所有接收到RRR信息的中继节点都会计算相应的参数,参数包含: 1) 节点Vi和其父节点VI』之间的距离dist(e); 2) 通信的能量消耗ene(e); 3) 通信延迟delay(vi); 然后节点Vi将上述信息、自己的剩余可用能量rene(vi)以及自身和νι_。的ID添加到RRR 信息中,并继续中继给其他节点; 上述的RRR信息中继过程会一直持续到Sink节点接受RRR信息;然后Sink节点将从RRR 中提取相应的信息并采用改进的克隆选择算法来选择具有高亲和力的路由Plr(V1A)作为修 复路由; 此外,除了对故障路由进行修复外,Sink节点还将备用路由与其他可用路由的质量进 行对比;如果存在其他可用路由的质量优于备用路由,那么相应的备份路由将被替换;在这 一过程中,改进的克隆选择算法将产生对应的抗体来修复故障路由; 由节点能量耗尽节点引起的路由故障被视为抗原,与该故障路由对应的修复路由将被 视为抗体,改进的克隆选择算法如下: 1. Sink节点利用提取的信息随机生成抗体集Abs; 2) 计算每个抗体与抗原之间的亲和力aff (pj(Vi,s)):fl表示的是路由Pj(Vi,S)的路由长度与P(Vi,S)中所有路由长度的比值:f2表示的是路由W(Vl,s)完成一次传输所消耗的能量与P(Vl,s)中所有路由完成一次传 输所消耗能量和的比值:f3表不的是路由Pj( Vi, S)完成一次传输的通信延迟与P( Vi, S)中所有路由完成一次传输 的通信延迟和的比值:f4表示的是路由W(Vl,S)完成一次传输的跳数与P(Vl,S)中所有路由完成一次传输的跳 数和的比值:y (01、(〇2、〇3和(04分别为负、€2、;^3和;^4对应的权值,且《 1+(〇2+〇3+(04=1,其中(〇1 = 0.4,《2 = 0.2,《3 = 0.2以及《4 = 0.2;路由的亲和度越高,则该条路由的质量就越好; 3) 从Abs中选择亲和力最佳的T个抗体形成临时抗体集Abs' ; 4) 按下式计算抗体与抗体之间的亲和力:其中,Xi是Abs'中的一个抗体,|Abs' I是Abs'中的抗体数量,dij是抗体Xi与Xj之间的欧 氏距离;af fabb (Xi)的值越大,说明抗体Xi与Abs '中其他抗体的相似性就越大; 5) 克隆Abs '中的每一抗体;Abs '中的抗体Xi的克隆规模Nc为:其中,|V]表示对非整数取上限,λ是一个预先定义的克隆系数,|Abs I是Abs中的抗体数 量,aff (Xi)表示抗体^与抗原之间的亲和力; 6) 克隆后的部分抗体将被选择进行变异;为了防止抗体陷入局部最优,依据内分泌系 统中激素调节机制,变异概率为动杰夺化的夺异概率:克降后的杭体xf的变异概率为: 其中,是初始的固定变异概率,S是一个固定的变异系数; 抗体矛的变异规则为:其中,Xfi是变异后的抗体,N(0,1)是在[0,1]之间的一个均匀分布函数;然后,变异后的 抗体和Abs中除了T外的其他抗体形成另外一个抗体集合Abs"; 7) 对Abs〃中的抗体进行重新选择;在重新选择规则中,计算原始抗原和选出的克隆变 异抗体对抗原的刺激程度;对于任意抗体Xt和抗原Yt,二者欧氏距离为: 抗体对抗原的刺激度为:然后将各抗体对抗原的刺激度与设定的阈值进行比较,刺激程度高于阈值的抗体保 留,低的将被新的抗体代替; 8) 如果满足进化寻优的终止条件,则停止优化过程并返回亲和力最佳的抗体,形成故 障路由对应的最佳修复路由Plr(V 1A);否则,转到2); 9) 比较备份路由和其他抗体的亲和力;若存在其他抗体的亲和力优于备份路由的亲和 力,则返回该抗体,形成备份路由的替换路由; (6)开始修复路由和替换备份路由;同时,将故障路由和对应的修复路由信息存储到记 忆库中; 学习模块得到的最终相关信息会存储在记忆库中,储存的信息包括故障路由和对应的 修复路由信息;记忆模块由不同的记忆细胞组成,每个记忆细胞记录相应的故障路由和修 复路由的ig息; 借助于记忆模块,当相同的路由故障再次出现时,通过记忆细胞将能够迅速的提供相 应的修复路由。3. 根据权利要求2所述的一种可充电无线传感器网络免疫路由修复方法,其特征在于, 传感器节点集合: 用G=(VU{s},E)来表示由I V I个静态节点和1个S ink节点s组成的EH-WSNs,其中各传 感器节点均安装有能量采集模块;这样节点能够从自然界中收集能量,且能量耗尽的节点 在从自然界中收集能量后能够再次复活并进行工作;每个节点均有固定的传输和数据采集 半径;若节点之间或者节点与Sink节点之间的距离小于节点的传输距离,那么这些节点之 间就存在一条边e e E;当源节点与S i n k节点之间的距离大于节点的传输距离时,源节点采 集的数据将通过多跳传输的方式发送到Sink节点;Sink节点收集各源节点的数据并将其提 供给用户使用。4. 根据权利要求2所述的一种可充电无线传感器网络免疫路由修复方法,其特征在于, 所述能量消耗,单个节点采集、发送和接收m比特数据所消耗的能量分别为: enesen(m) =aim; enetx(m,d) = (0i+&dc)m; enerx(m) = γ im; 其中,d为节点与其传输目标节点之间的距离,enesen(m)表示采集m比特数据所消耗的 能量;enetx(m,d)和enerx(m)分别为发送和接收m比特数据所消耗的能量,c为信道衰减系 数,^、^、此和丫:分别是采集电路、发送电路、发送放大器和接收电路的能耗参数;在寻优 过程的每次迭代中用于抗体克隆、变异、再选择以及记忆细胞储存的能效消耗分别定义为 en6ac ? en6ain? 6n6ars^Den6mcs 〇5. 根据权利要求2所述的一种可充电无线传感器网络免疫路由修复方法,其特征在于, 开启应答t吴块: 当应答模块被激发后,将首先在ISRRA的记忆单元中进行搜索,判断记忆单元中是否具 有检测到的抗原的信息;在免疫系统中,抗原提呈细胞将会把抗原的特异信息提供给免疫 细胞,相应的抗体将会识别这些信息从而刺激大量抗体的生成,最终达到清除抗原的效果; 由于建立的是不相交路由,每个中继节点只会在一条路由中出现,因此,以故障节点的ID (idfall)作为抗原的特异信息,并用其在记忆库中进行搜索; 在搜索过程中,应答模块将对记忆库中储存的故障路由中包含节点的ID进行搜索;现 假设记忆库中储存有MEN条故障路由信息,如果记忆库中有故障路由信息满足下式,那么与 该故障路由对应的修复路由将被视为抗体用来修复故障路由: .^fpi & MEM' idHd,e //λ I < / < Mem _ Cap ; 其中,fPl表示储存在记忆库中的第i条故障路由信息,Mem_Cap表示记忆库的最大储存 容量; 如果在记忆库中搜索不到相应的记忆信息与故障路由匹配,那么将启动学习模块来产 生抗体。6. 根据权利要求2所述的一种可充电无线传感器网络免疫路由修复方法,其特征在于, 步骤(7)中,通过改进的克隆选择算法之后,开始修复路由和替换备份路由;同时,将故障路 由和对应的修复路由信息存储到记忆库中: 当Vi中继节点接受到RRR_ACK信号后,将在RRR_ACK信号中搜索是否包含自身的ID;如果 自身的ID在RRR_ACK信号中,Vi将和其子节点1。和父节点νι_Ρ之间建立通信链路并继续转 发RRR_ACK信号;如果自身的ID不包含在RRR_ACK信号中,Vi将不做任何操作并丢弃RRR_ACK 信号;最终,RRR_ACK信号将传输到源节点Vi中;当接收到RRR_ACK信号后,将通过修复路由 发送RRR_END信号给Sink节点;Sink节点一旦受到RRR_END信号,则修复路由和替换路由操 作就均完成。7. 根据权利要求2所述的一种可充电无线传感器网络免疫路由修复方法,其特征在于, 所述能量采集模块为太阳能板。8. 根据权利要求2所述的一种可充电无线传感器网络免疫路由修复方法,其特征在于, fi、f2、f3和f4对应的权值 ωχ、c〇2、ω3和 ω4: 它们的取值范围是0〈(〇1,<^2,《3,<^4〈1,且<^1+(〇2+<^3+<^4=1,每项的比重大小表不 对各项的侧重程度高低;若应用中针对能量消耗与传输延迟需求较高,则分配ω 2和ω 3占据 较高比例,为ω1 = 0.1,ω2 = 〇.4, ω3 = 〇.4, ω4 = 〇.1;若应用中针对路由长度的要求较高 而其他三项要求同等或次要,则分配《:占据主导地位,分配Co1较大的比重,ω 2、ω3和ω4的 比重整体处于较低水平,为《1 = 0.4,〇2 = 0.2,〇3 = 0.2,〇4=0.2; 预先设定的克隆系数λ = 20,克隆系数λ理论上取值最小为1而最大可以无上限;抗体xf 的变异概率^(.vf)中的初始固定变异概率if = 0.7,周定变异系数δ = ο. 2; 用于计算enesen(m)、enetx(m, d)和enerx(m)的参数分别定义为:Cx1 = GOnJVbit,βι = 45nJ/bit,fe=10nJ/bit,γ i = 135pj/bit/m2;信道衰减系数c为2。
【文档编号】H04L12/703GK105897577SQ201610341073
【公开日】2016年8月24日
【申请日】2016年5月19日
【发明人】丁永生, 姚光顺, 张向飞, 田运, 郝矿荣, 蔡欣, 曹梦琦
【申请人】东华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1