主权项 |
一种基于6LoWPAN的无线传感器网络节能数据传递方法,其特征在于:所述无线传感器网络节能数据传递方法包括以下过程:首先,通过在信源和信宿之间寻找一个最优的临时拼装节点TAN,选择临时拼装节点TAN的方法如下:步骤1:以<A<sub>i</sub>,A<sub>j</sub>>表示连接节点A<sub>i</sub>和节点A<sub>j</sub>的链路,以<A<sub>0</sub>,A<sub>1</sub>,...,A<sub>n</sub>>表示以A<sub>0</sub>为信源节点、A<sub>n</sub>为信宿节点并且经过节点A<sub>1</sub>,A<sub>2</sub>,A<sub>3</sub>,...和A<sub>n‑1</sub>的数据包传递路径,共n跳;步骤2:按式(19)计算E<sub>avg</sub>(n),并取Min_E=E<sub>avg</sub>(n),并记Best_Pair={n};<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><msub><mi>E</mi><mi>avg</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>≡</mo><msub><mi>P</mi><mi>Succ</mi></msub><msubsup><mi>E</mi><mi>Total</mi><mrow><mo>(</mo><mi>S</mi><mo>)</mo></mrow></msubsup><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><msub><mi>P</mi><mi>Succ</mi></msub><mo>)</mo></mrow><msubsup><mi>E</mi><mi>Total</mi><mrow><mo>(</mo><mi>F</mi><mo>)</mo></mrow></msubsup></mtd></mtr><mtr><mtd><mo>=</mo><msub><mi>S</mi><mi>IP</mi></msub><munderover><mi>Π</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><mo>[</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><mo>]</mo></mrow><mi>M</mi></msup><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>[</mo><mn>2</mn><msub><mi>E</mi><mi>elec</mi></msub><mo>+</mo><msub><mi>ϵ</mi><mi>amp</mi></msub><msubsup><mi>d</mi><mi>i</mi><mi>γ</mi></msubsup><mo>]</mo><mfrac><mrow><mn>1</mn><mo>-</mo><mrow><mo>(</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msup><msub><mi>q</mi><mi>i</mi></msub><mi>N</mi></msup><mo>+</mo><msup><msub><mi>q</mi><mi>i</mi></msub><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><mrow><mn>1</mn><mo>-</mo><msub><mi>q</mi><mi>i</mi></msub></mrow></mfrac><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><munderover><mi>Π</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msup><mrow><mo>[</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><mo>]</mo></mrow><mi>M</mi></msup><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>·</mo><munderover><mi>Σ</mi><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mi>t</mi><mo>[</mo><munderover><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mi>k</mi><mrow><mo>(</mo><mi>N</mi><mo>[</mo><msub><mrow><mn>2</mn><mi>E</mi></mrow><mi>elec</mi></msub><mo>+</mo><msub><mi>ϵ</mi><mi>amp</mi></msub><msubsup><mi>d</mi><mi>j</mi><mi>γ</mi></msubsup><mo>]</mo><mo>+</mo><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><mfrac><mrow><mn>1</mn><mo>-</mo><mrow><mo>(</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msup><msub><mi>q</mi><mi>i</mi></msub><mi>N</mi></msup><mo>+</mo><msup><msub><mi>Nq</mi><mi>i</mi></msub><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><mrow><mn>1</mn><mo>-</mo><msub><mi>q</mi><mi>i</mi></msub></mrow></mfrac><mo>[</mo><msub><mrow><mn>2</mn><mi>E</mi></mrow><mi>elec</mi></msub><mo>+</mo><msub><mi>ϵ</mi><mi>amp</mi></msub><msubsup><mi>d</mi><mi>i</mi><mi>γ</mi></msubsup><mo>]</mo><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>·</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>j</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><munderover><mi>Π</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></munderover><mo>[</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><mo>]</mo><mo>+</mo><mrow><mo>(</mo><mi>M</mi><mo>-</mo><mi>t</mi><mo>)</mo></mrow><mi>k</mi><munderover><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>[</mo><mn>2</mn><msub><mi>E</mi><mi>elec</mi></msub><mo>+</mo><msub><mi>ϵ</mi><mi>amp</mi></msub><msubsup><mi>d</mi><mi>i</mi><mi>γ</mi></msubsup><mo>]</mo><mfrac><mrow><mn>1</mn><mo>-</mo><mrow><mo>(</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><msup><msub><mi>q</mi><mi>i</mi></msub><mi>N</mi></msup><mo>+</mo><msup><msub><mi>Nq</mi><mi>i</mi></msub><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow><mrow><mn>1</mn><mo>-</mo><msub><mi>q</mi><mi>i</mi></msub></mrow></mfrac></mtd></mtr><mtr><mtd><mo>·</mo><msup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><munderover><mi>Π</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>[</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><mo>]</mo><mo>)</mo></mrow><mi>t</mi></msup><msup><mrow><mo>(</mo><munderover><mi>Π</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo>[</mo><mn>1</mn><mo>-</mo><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>N</mi></msup><mo>]</mo><mo>)</mo></mrow><mrow><mi>M</mi><mo>-</mo><mi>t</mi></mrow></msup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>19</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519082320000011.GIF" wi="1753" he="792" /></maths>其中,S<sub>IP</sub>是IPv6数据包所包含的比特数;q<sub>i</sub>和d<sub>i</sub>分别是链路<A<sub>i‑1</sub>,A<sub>i</sub>>的丢包率和链路<A<sub>i‑1</sub>,A<sub>i</sub>>两端点的距离,i=1,2,…,n;M表示IPv6数据包被分成的片数;N表示单跳链路中MAC层的最大重传次数;E<sub>elec</sub>表示发射装置和接收电路每发送或接收单位比特的耗能;ε<sub>amp</sub>表示发射放大器在单位平方米传送每比特所耗的能量;γ是路径损耗参数;P<sub>succ</sub>表示M个分片全部被信宿接收的概率;<img file="FDA0000519082320000012.GIF" wi="113" he="78" />表示在IPv6数据包被成功传递到信宿的条件下路径<A<sub>0</sub>,A<sub>1</sub>,...,A<sub>n</sub>>上所有节点发送数据包的总能耗;<img file="FDA0000519082320000013.GIF" wi="109" he="78" />表示在IPv6数据包未能被成功传递到信宿的条件下,路径<A<sub>0</sub>,A<sub>1</sub>,...,A<sub>n</sub>>上所有节点发送数据包的总能耗;k表示一个数据包所占的比特数;t是求和变量,它依次取值t=1,2,…,M;步骤3:取n<sub>1</sub>=1;步骤4:取n<sub>2</sub>=n‑n<sub>1</sub>;步骤5:按式(19)计算E<sub>avg</sub>(n<sub>1</sub>)和E<sub>avg</sub>(n<sub>2</sub>);步骤6:如果E<sub>avg</sub>(n<sub>1</sub>)+E<sub>avg</sub>(n<sub>2</sub>)<Min_E,则取Min_E=E<sub>avg</sub>(n<sub>1</sub>)+E<sub>avg</sub>(n<sub>2</sub>),并记Best_Pair={n<sub>1</sub>,n<sub>2</sub>};步骤7:n<sub>1</sub>=n<sub>1</sub>+1,如果n<sub>1</sub><n,转到步骤4;步骤8:如果Best_Pair有两个值n<sub>1</sub>和n<sub>2</sub>,则将距离信源n<sub>1</sub>跳的中间节点选取为TAN,否则,在信源和信宿之间不设TAN;接着,在TAN选取之后,信源节点A<sub>0</sub>把数据包分片,然后按照6LoWPAN协议中给出的MUR即Mesh‑under Routing方法把所有的分片发送到TAN;TAN的协议栈的适应层把接收到的所有分片上交到网络层,网络层将所有分片拼装成源IPv6数据包即信源节点A<sub>0</sub>所发送的数据包;之后,TAN的网络层提取IPv6数据包头部的目的IP地址,查找路由表获得下一跳节点地址,再将IPv6数据包分片并通过MUR路由到信宿节点A<sub>n</sub>,然后,信宿节点把接收到的数据分片拼装成原来的IPv6数据包。 |