CN107809781A - A kind of loop free route selection method of load balancing - Google Patents

A kind of loop free route selection method of load balancing Download PDF

Info

Publication number
CN107809781A
CN107809781A CN201711063314.6A CN201711063314A CN107809781A CN 107809781 A CN107809781 A CN 107809781A CN 201711063314 A CN201711063314 A CN 201711063314A CN 107809781 A CN107809781 A CN 107809781A
Authority
CN
China
Prior art keywords
mrow
node
address
data
entered
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711063314.6A
Other languages
Chinese (zh)
Other versions
CN107809781B (en
Inventor
肖东
贾宁
魏丽萍
李燕
冯艺璇
郭圣明
马力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Acoustics CAS
Original Assignee
Institute of Acoustics CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Acoustics CAS filed Critical Institute of Acoustics CAS
Priority to CN201711063314.6A priority Critical patent/CN107809781B/en
Publication of CN107809781A publication Critical patent/CN107809781A/en
Application granted granted Critical
Publication of CN107809781B publication Critical patent/CN107809781B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/04Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
    • H04W40/10Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/12Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality
    • H04W40/125Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality using a measured number of retransmissions as a link metric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/248Connectivity information update
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a kind of loop free route selection method of load balancing, this method is on the premise of ensureing that all nodes learn identical route matrix, multiple routing tables as disjoint as possible are generated using classical Shortest path routing method, residue energy of node and the addition of Uplink/Downlink matrix change information are distributed in a data frame, routing table is selected according to these information and according to source node specified circuit by carry out data frame relay, simultaneously via node energy expenditure is saved by replying the method for pseudo- ack msg frame, by the balanced each node load of the above method and loop free route and then extend the purpose of network life.Route selection method provided by the invention is in the implementation process for converying type network, and the first node failure time is substantially later than the result of implementation of traditional Shortest path routing method, and network throughput and conventional method are basically identical.

Description

A kind of loop free route selection method of load balancing
Technical field
This method belongs to wireless sensor network field, the loop free Route Selection side of more particularly to a kind of load balancing Method.
Background technology
What the sensor node that wireless sensor network is placed on by random cloth in area-of-interest formed adopts for data The network of collection.During it runs, its data is returned host node by each node by network route transmission, and host node can also be to each Node firing order or ACK.This results in the too fast and premature failure of other node energies consumption near host node, and then causes Network paralysis.
How to avoid Energy volution, extend network life as much as possible, except engineering method (such as:Reduction hardware power consumption, Reduce software operand, dormant and awakening strategy, its battery electric quantity and node are configured according to the hop count of other nodal distance host nodes Lay density etc.) beyond, the method that other method is consumed by balanced each node energy mostly extends network life, main bag Include:
The first:According to residue energy of node and link jam situation adjustment routed path;
Second:According to geographical location information, arrival bearing angle, lay the adjustment routed path such as depth, propagation loss;
The third:Data collection is carried out using mobile node as host node, and plans its motion track and collects strategy;
4th kind:Machine learning class method, such as:The methods of based on Q study, ant group algorithm.
Here following application scenarios are mainly considered:Network node is difficult to move after laying, without the neighbours of any priori Information, topology information, and be difficult to get self geographical position information.So result in second and the third is inapplicable, it is main Consider the first and the 4th kind of two class method.This two classes method is required to Routing Protocol when using transmitted data on network.Road It is broadly divided into again by agreement:
There is a Route establishment stage in the 1st, Table Driven, each node, each node is built at this stage after laying The routing table of oneself is found, and regular or irregular renewal is carried out to routing table;
2nd, heuristic route, each node do not form the routing table of oneself after laying, and only are needing to launch data When, then row find route launched.
On the one hand, the first common at present and the 4th kind of two class method use heuristic route mostly, and need the cycle Property broadcast dump energy and link circuit condition.For it is some transmitting power consumptions much larger than stand-by power consumption on duty scene (such as:The underwater sound passes Sensor network) for, the energy expenditure of heuristic route and periodic broadcast is difficult to ignore, and it extends the effect of network life still Need to carefully it investigate.
On the other hand, the method for most balancing energies does not mention the route loop problem easily caused when changing and routeing. Minority avoids the method for loop from using loop detecting method mostly, i.e., each node detects the road of the data frame when relaying data frame Loop whether is generated during, this method is difficult to the generation for fundamentally breaking off loop.And loop is once formed, data Frame will repeat to transmit in the entire network, not only rapidly consume the energy of via node, and take limited channel resource, It is one of major obstacle for extending network life.
The content of the invention
It is an object of the invention to overcome the route selection method of the load balancing in current wireless sensor network to exist Above mentioned problem, it is proposed that a kind of loop free route selection method of load balancing, can effectively avoid change route when it is easy Caused by route loop problem.
To achieve these goals, the present invention proposes a kind of loop free route selection method of load balancing, the side Method includes:
Step 1) network lays T node, at least 2 other network nodes in the communication range of each node;For Each node arrange parameter in network;Route Selection concordance list S is established for each node and is reset, and establishes link metric change Table and transmitting information table;It is that each node establishes link metric Q and residual energy scale E by self-organization of network method;
The each node of step 2) establishes B routing table, B >=2, route is calculated simultaneously according to link metric Q and residual energy scale E Assignment is carried out, sets R-matrix C to be equal to link metric Q;
Step 3) information source node is before DATA data frames are launched by self rest energy, uplink downlink matrix change information Addition in DATA data frames, and according to the Route Selection concordance list S of itself selections according to which routing table to information destination node Send the DATA data frames;After battery has fired, record transmitting information and start " wait-repeating transmission " timer, and update transmitting letter Cease table;Other nodes are waited to perform step 4);If information source node is transferred to step 8) in " wait-repeating transmission " timer expiry;
Step 4) then verifies when some node receives the DATA data frames to the DATA data frames;If school Error checking misses, then is transferred to step 9);If verification is correct, self rest energy table E, link square are updated according to the DATA data frames Battle array Q and R-matrix C, and then Route Selection concordance list S and route matrix change table are updated, then determined whether:
If the DATA data frames had not both needed present node relaying, it is not required that present node receives, then is transferred to step 9);
If present node is the via node of the DATA data frames, step 5) is transferred to;
If present node is the destination node of the DATA data frames, present node is information destination node, is transferred to step 6);
If step 5) present node repeated mistake ack msg frame corresponding with the DATA data frames, is disguised as Information destination node replys pseudo- ack msg frame to information source node;Present node is transferred to step 9), waits other nodes to perform step 7);
If present node did not relay ack msg frame corresponding with the DATA data frames, according to information source node The routing table specified relays the DATA data frames to information destination node;Present node is transferred to step 9), waits other nodes to perform Step 4);
If step 6) information destination node did not replied the DATA data frames within the time of restriction, information destination node generation is corresponding Ack msg frame, and self rest energy, uplink downlink matrix change information are added in the ack msg frame and launched, and Select which routing table to send the ack msg frame to information source node according to according to the Route Selection concordance list S of itself, be transferred to step It is rapid 7);Otherwise, information destination node is transferred to step 9);
When some node of step 7) receives the ack msg frame, the ack msg frame is verified, if check errors, Directly it is transferred to step 9);
If verification is correct, self rest energy table E, link metric Q, R-matrix are updated according to the ack msg frame C, and then Route Selection concordance list S and route matrix change table are updated, determined whether:
If the ack msg frame had not both needed present node relaying, it is not required that present node receives, then is transferred to step 9);
If present node is the via node of the ack msg frame, according to the routing table that information destination node is specified to information source Node relays the ack msg frame and is transferred to step 9), waits other nodes to perform step 7);
If present node is the destination node of the ack msg frame, i.e. information source node in step 3), then it is assumed that transmitting into Work(, if " wait-repeating transmission " timer is still being run, cancel " wait-repeating transmission " timer, be transferred to step 9);
If step 8) information source node does not receive information destination node and is directed to the ack msg frame that the DATA data frames are replied, look into See sending times;
If sending times do not transfinite, Route Selection concordance list S is updated, is transferred to step 3);If sending times transfinite Then abandon launching the DATA data, be transferred to step 9);
Step 9) checks the transmitting information table of node item by item respectively, if certain transmitting information list item fails, this is sent out Penetrate information table deletion;Node returns to idle condition.
One kind as the above method is improved, and the step 1) specifically includes:
Step 101) is ranked up addressing, the total node number that setting network includes successively to all nodes included in network Measure the current address t of T and each node;Current address t is integer, and t ∈ [0, T), and different nodes are in the address of network Uniquely;
Step 102) is that each node sets identical to respond stand-by period TR, ACK stand-by period TA, information out-of-service time TF, sending times limitation P, link-quality weight WQ and dump energy weight WE;Each node frame number counter f resets, retransmitted Number counter p is reset;
Each node of step 103) is established Route Selection concordance list S and reset respectively, the jth of the S, and j ∈ [0, T) item element sj, sj∈ [0, B) represent selection sjThe t groups jth item routed path of individual routing table reaches node j's as by present node t Routed path;
Each node of step 104) establish respectively sky link metric change table, the table each single item comprise at least uplink/downlink, Three row/column number, result of variations parameters;
Each node of step 105) establishes the transmitting information table of sky respectively, and the table each single item comprises at least data type, information source Address, current address, lower jump address, destination address, hop count, frame number, launch time and whether await a response;
Step 106) is that each node establishes link metric Q and residual energy scale E by self-organization of network method;The chain The i-th row jth row in the matrix Q of road, i, j ∈ [0, T) link-quality of the element representation by node i to node j, link-quality qij Represent that link does not connect when ∈ [0, Q], wherein element value are " 0 ", non-zero represents link connection, the bigger expression link-quality of numerical value Better, Q is the upper limit;Residual energy scale E i-th element is node i dump energy, dump energy ei∈ [0, E], wherein member Plain value is that " 0 " represents that node energy exhausts, and " E " represents residue energy of node 100%;After the completion of self-organizing, all node links Matrix Q and residual energy scale E are respectively identical.
One kind as the above method is improved, and the step 2) specifically comprises the following steps:
Step 201) establishes B blank routing table, and each blank routing table should include T groups, and every group includes T items route letter Breath, each single item routing iinformation should comprise at least the hop count for reaching and passing through required for destination node, and at most T-1 is jumped, and each jump The address of via node;
The each element value that step 202) calculates route matrix R according to (1) formula is:
Each node of step 203) is calculated using classical shortest path first according to link metric Q and residual energy scale E; All relay node address r_r that result of calculation is passed through successively for routed path corresponding to each route table itemsijk, k ∈ [0, T) and arrive at the hop count r_h required for locationij;All r_r in result of calculationij0, i.e., for by node i arrival node j Routed path in the 0th hop node address be i;The order that result of calculation is increased into T-1 one by one since i, j by 0 is assigned It is worth in the 0th routing table, performs T × T times altogether;
If j is equal to i, by the hop count rh of i-th group of jth item0ijIt is entered as 0, and by i-th group of jth item of the 0th routing table 0th jumps relay node address rr0ij0I is entered as, remaining relay node address is entered as " broadcasting ";
If j jumps relay node address r_r in the 1st not equal to respective items in i and result of calculationij1And reach node j institutes The hop count r_h neededijIt is not infinity, by the hop count rh of i-th group of jth item of the 0th routing table0ijIt is entered as r_hij, and will The preceding r_h of jth item in 0th i-th group of routing tableijIndividual relay node address is entered as in result of calculation jth item accordingly successively Relay node address, remaining relay node address are entered as " broadcasting ";
If j jumps relay node address r_r in the 1st not equal to respective items in i and result of calculationij1Or reach node j institutes The hop count r_h neededijFor infinity, then by the hop count rh of i-th group of jth item of the 0th routing table0ijTotal node number amount T is entered as, All relay node address of i-th group of jth item of the 0th routing table are entered as " broadcasting ";
When step 204) generates remaining B-1 routing table, in b, b ∈ (0, B) individual routing table since i, j by 0 by One order for increasing to T-1 calculates item by item, and should bypass the via node that respective items are recorded in routing table before before calculating; All relay node address r_r that result of calculation is passed through successively for routed path corresponding to the route table itemsijk, k ∈ [0, T) With arrive at the hop count r_h required for locationij;All r_r in result of calculationij0, i.e., for by node i arrival node j route The 0th hop node address in path is i;By in i-th group of jth item of result of calculation assignment to b-th of routing table;
If j is equal to i, by the hop count rh of b-th of routing table, i-th group of jth itembijIt is entered as 0, and by b-th of routing table Jump relay node address rr in the 0th of i group jth itemsbij0I is entered as, remaining relay node address is entered as " broadcasting ";
If j jumps relay node address r_r in the 1st not equal to respective items in i and result of calculationij1And reach node j institutes The hop count r_h neededijIt is not infinity, by the hop count rh of b-th of routing table, i-th group of jth itembijIt is entered as r_hij, and will The preceding r_h of jth item in b-th of i-th group of routing tableijIndividual relay node address is entered as in result of calculation jth item accordingly successively Relay node address, remaining relay node address are entered as " broadcasting ";
If j jumps relay node address r_r in the 1st not equal to respective items in i and result of calculationij1Or reach node j institutes The hop count r_h neededijFor infinity, then by the hop count rh of b-th of routing table, i-th group of jth itembijTotal node number amount T is entered as, All relay node address of b-th of routing table, i-th group of jth item are entered as " broadcasting ";
After remaining B-1 routing table generation of step 205), R-matrix C is set to be equal to link metric Q.
One kind as the above method is improved, and the step 3) specifically includes:
Step 301) information source node t generates empty DATA data frames, and described empty DATA data frames should at least include:Frame is same Step, data type, source address, current address, lower jump address, destination address, hop count, information source dump energy, link metric become Change information, frame number, DATA data segments and verification;
Other arbitrary nodes of step 302) selection in addition to present node t are designated as d as destination address;Frame synchronization is handed over By physical layer assignment, data type is entered as " DATA ", and source address and current address are entered as the address t of present node, Lower jump address assignment is sd1st hop node address of individual routing table t group d items, destination address are entered as d, hop count assignment For 1, information source dump energy is entered as after present node t dump energies percentage carries out linear scalar's quantization in the range of [0, E] Result, frame number is entered as frame number counter currency, and adds 1, DATA data segments to be entered as needing in frame number counter The data to be transmitted;If link metric change table is sky, link metric change row/column number is entered as t, uplink/downlink and change Change result reset, if link metric change table non-NULL, link metric change uplink/downlink, row/column number, result of variations according to The each element assignment successively of the 1st, deletes the 1st in link metric change table and compiles subsequent item in link metric change table Number subtract 1 one by one;Verification is entered as the check results after DATA data frame assignment;
Step 303) increases by 1 transmitting information list item, by the source address in the DATA data frames after assignment, currently Address, lower jump address, destination address, hop count, frame number are corresponding in turn to and recorded in this, and the data type of this is entered as " DATA ", the launch time of this are entered as present system time, and whether awaiting a response for this is entered as "Yes";Transmitting should DATA data frames;Transmitting information table is updated, starts " wait-repeating transmission " timer;Other nodes are waited to perform step 4);If letter Source node is transferred to step 8) in " wait-repeating transmission " timer expiry.
One kind as the above method is improved, and the step 4) specifically includes:
Step 401) verifies to the DATA data frames received, if check errors, is transferred to step 9);
If verification is correct, its parameter, renewal residual energy scale E, link metric Q and R-matrix C are read;
The source address for remembering the data frame is src, if the information source dump energy of the data frame is less than in residual energy scale E Src items esrc, then by esrcIt is entered as the information source dump energy of the data frame;If the information source dump energy of the data frame is not small The src items e in residual energy scale Esrc, then do not update;The node address that dump energy is minimum in residual energy scale E is found, is remembered For em;
When the link metric change row/column l of the data frame is not equal to src, change if up-link, then by chain The element of road matrix Q and R-matrix C src rows l row is entered as the link metric result of variations of the data frame;If Change for downlink, then the link metric Q and R-matrix C l rows src elements arranged are entered as the data frame Link metric result of variations;Do not updated when the link metric change row/column l of the data frame is equal to src;
Above two more kainogenesis is any, then is transferred to step 402);Otherwise it is transferred to step 403);
The order that step 402) increases to T-1 according to j one by one by 0 updates Route Selection concordance list S successively;
Establish B floating type temporary variable tmpbAnd reset, B routing table t group jth item is calculated according to (2) formula successively Cost;
Wherein,
The routing table of Least-cost is selected, the numbering of the routing table is assigned to sj, as shown in (3) formula
Step 403) further updates link metric Q and link metric change table according to transmitting information table;Traversal hair successively Information table is penetrated, if whether a certain in transmitting information table await a response as "Yes" and meet one of following 2 conditions, it is believed that In the presence of transmitting information to be responded:
Data type in first condition, transmitting information list item is identical with the data type for receiving data frame, source address It is identical, destination address is identical, frame number is identical, the lower jump address in transmitting information list item and receive data frame current address phase Together, the current address that note receives data frame is cur,
The data type that data type in second condition, transmitting information list item receives data frame for " DATA " is Source address in " ACK ", transmitting information list item is equal to the destination address for receiving data frame, the destination in transmitting information list item Location is equal to the source address for receiving data frame, and the frame number in transmitting information list item is identical with the frame number for receiving data frame, sends out The lower jump address penetrated in information table is identical with the current address for receiving data frame,
In the presence of transmitting information to be responded and current time and this launch time in transmitting information table difference not less than response During stand-by period TR, the uplink quality in link metric is updated according to (4) formula:
Simultaneously the downlink quality in link metric is updated according to (5) formula:
Exceed response etc. in the presence of transmitting information to be responded but current time and the difference of this launch time in transmitting information table Time TR is treated, updates the uplink quality in link metric according to (6) formula:
Simultaneously the downlink quality in link metric is updated according to (7) formula:
When in the absence of when transmitting information is responded, only updating the downlink quality in link metric according to (5) formula;
If the element q of certain up-link in link metrict curIt is no afterwards before the update to change and be not equal to R-matrix Middle corresponding element ct cur, then by qt curC of the assignment to R-matrixt curIn, and change increase by 1 in table in link metric, newly New-added item uplink/downlink is entered as that up, row/column number is entered as cur, result of variations is entered as qt cur;If under certain in link metric The element q of line linkcur tBefore the update afterwards without change and not equal to corresponding element c in R-matrixcur t, then by qcur tAssign It is worth c in R-matrixcur t, and change in link metric and increase by 1 in table, the uplink/downlink of new new-added item be entered as descending, row/ Row number is entered as cur, and result of variations is entered as qcur t;It is transferred to step 404);
If the destination address of step 404) the DATA data frames is equal to current address t, the recipient of the data frame is Present node;It is transferred to step 6);
If the destination address of the DATA data frames is not equal to current address t, but lower jump address is equal to current address t, Then the relaying person of the data frame is present node;It is transferred to step 7);
Otherwise, the DATA data frames had not both needed present node relaying, it is not required that present node receives;It is transferred to step 9)。
One kind as the above method is improved, and the step 5) specifically includes:
Step 501) travels through transmitting information table;Meet following condition if there is some transmitting information list item:Its data class Type is " ACK ", its source address is equal to the destination address of the data frame, its destination address be equal to the data frame source address, Its frame number is equal to the frame number of the data frame, then is transferred to step 502) and replys pseudo- ACK frames;If there is no any one transmitting Information table meets above-mentioned condition, then is transferred to step 503) and relays the DATA data frames;
Step 502) generates empty ack msg frame, and described empty ack msg frame should at least include:Frame synchronization, data type, Source address, current address, lower jump address, destination address, hop count, information source dump energy, link metric change information, frame number And verification;Frame synchronization transfers to physical layer assignment, by the data type in the transmitting information list item, source address, current address, under Jump address, destination address, hop count, assignment is into the respective items of the pseudo- ack msg frame successively for frame number, information source dump energy assignment Source address, uplink/downlink and result of variations clearing, verification, which are entered as, for E, link metric change row/column number is entered as the pseudo- ACK The check results of data frame;Launch the pseudo- ACK frames;It is transferred to step 9);
Step 503) remember the source address of the DATA data frames be src, hop count hop, it is lower jump address be nxt, destination Location is dst, and the current address in the DATA data frames is entered as into t, lower jump address assignment according to the following rules:Travel through each route Src group dst items hop in table jumps element, if this element rr of b-th of routing tableb src dst hopWith nxt phases Deng then lower address assignment of jumping is rrb src dst hop+1, hop count be entered as hop+1;Increase by 1 transmitting information list item, by the DATA Source address, current address, lower jump address, destination address, hop count, frame number in data frame are corresponding in turn to and recorded this In, the data type of this is entered as " DATA ", and the launch time of this is entered as present system time, this whether wait Response is entered as "Yes";Launch the DATA data frames;It is transferred to step 9);
Some element if there is no any one routing table is equal with nxt, then it is assumed that the DATA data frame errors, puts Relaying is abandoned to avoid the occurrence of loop;It is transferred to step 9).
One kind as the above method is improved, and the step 6) specifically includes:
Step 601) travels through transmitting information table;Meet following condition if there is some transmitting information list item:Its data class Type is " ACK ", its source address is equal to the destination address of the data frame, its destination address be equal to the data frame source address, Its frame number is equal to the frame number of the data frame, and the difference of the launch time of current time and the transmitting information list item is not less than returning Stand-by period TR is answered, then does not take any measure;It is transferred to step 9);
Step 602) then generates empty ack msg frame if there is no the transmitting information list item for meeting above-mentioned condition, described Empty ack msg frame should at least include:Frame synchronization, data type, source address, current address, lower jump address, destination address, jump Number, information source dump energy, link metric change information, frame number and verification;It is transferred to step 603);
Step 603) frame synchronization transfers to physical layer assignment, and data type is entered as " ACK ", and source address and current address are equal The node address t of present node is entered as, destination address is entered as the source address src of the DATA data frames, and lower jump address is assigned It is worth for ssrc1st hop node address of individual routing table t group src items, hop count are entered as 1, and information source dump energy is entered as working as Result of the front nodal point t dump energies percentage after progress linear scalar's quantization in the range of [0, E], frame number are entered as the DATA The frame number of data frame;If link metric change table is sky, link metric change row/column number is entered as t, uplink/downlink and Result of variations is reset, if link metric changes table non-NULL, link metric change uplink/downlink, row/column number, result of variations are pressed Change each element assignment successively of the 1st in table according to link metric, delete the 1st in link metric change table and by subsequent item Numbering subtracts 1 one by one;Verification is entered as the check results after ack msg frame assignment;Increase by 1 transmitting information list item, will assign The source address in ack msg frame, current address, lower jump address, destination address, hop count, frame number after value is right successively It should recorded in this, the data type of this is entered as " ACK ", and the launch time of this is entered as present system time, should Whether awaiting a response for item is entered as "Yes";Launch the ack msg frame;It is transferred to step 7).
One kind as the above method is improved, and the step 7) specifically includes:
Step 701) verifies to the DATA data frames received, if check errors, is transferred to step 9);If school Test correctly, then read its parameter, renewal residual energy scale E, link metric Q, R-matrix C, and then update Route Selection index Table S;
The source address for remembering the data frame is src, if the information source dump energy of the data frame is less than in residual energy scale E Src items esrc, then by esrcIt is entered as the information source dump energy of the data frame;If the information source dump energy of the data frame is not small The src items e in residual energy scale Esrc, then do not update;The node address that dump energy is minimum in residual energy scale E is found, is remembered For em;
When the link metric change row/column l of the data frame is not equal to src, change if up-link, then by chain The element of road matrix Q and R-matrix C src rows l row is entered as the link metric result of variations of the data frame;If Change for downlink, then the link metric Q and R-matrix C l rows src elements arranged are entered as the data frame Link metric result of variations;Do not updated when the link metric change row/column l of the data frame is equal to src;
Above two more kainogenesis is any, then is transferred to step 702) otherwise, is transferred to step 703);
The order that step 702) increases to T-1 according to j one by one by 0 updates Route Selection concordance list S successively;
Establish B floating type temporary variable tmpbAnd reset, B routing table t group jth item is calculated according to (8) formula successively Cost;
Wherein,
The routing table of Least-cost is selected, the numbering of the routing table is assigned to sj, as shown in (9) formula
Step 703) further updates link metric and link metric change table according to transmitting information table;Traversal transmitting successively Information table, if whether a certain in transmitting information table await a response as "Yes" and meet one of following 2 conditions, it is believed that deposit In transmitting information to be responded:
Data type in first condition, transmitting information list item is identical with the data type for receiving data frame, source address It is identical, destination address is identical, frame number is identical, the lower jump address in transmitting information list item and receive data frame current address phase Together, the current address that note receives data frame is cur,
The data type that data type in second condition, transmitting information list item receives data frame for " DATA " is Source address in " ACK ", transmitting information list item is equal to the destination address for receiving data frame, the destination in transmitting information list item Location is equal to the source address for receiving data frame, and the frame number in transmitting information list item is identical with the frame number for receiving data frame, sends out The lower jump address penetrated in information table is identical with the current address for receiving data frame,
In the presence of transmitting information to be responded and current time and this launch time in transmitting information table difference not less than response During stand-by period TR, the uplink quality in link metric is updated according to (10) formula:
Simultaneously the downlink quality in link metric is updated according to (11) formula:
Exceed response etc. in the presence of transmitting information to be responded but current time and the difference of this launch time in transmitting information table Time TR is treated, updates the uplink quality in link metric according to (12) formula:
Simultaneously the downlink quality in link metric is updated according to (13) formula:
When in the absence of when transmitting information is responded, only updating the downlink quality in link metric according to (11) formula;
If the element q of certain up-link in link metrict curIt is no afterwards before the update to change and be not equal to R-matrix Middle corresponding element ct cur, then by qt curC of the assignment to R-matrixt curIn, and change increase by 1 in table in link metric, newly New-added item uplink/downlink is entered as that up, row/column number is entered as cur, result of variations is entered as qt cur;If under certain in link metric The element q of line linkcur tBefore the update afterwards without change and not equal to corresponding element c in R-matrixcur t, then by qcur tAssign It is worth c in R-matrixcur t, and change in link metric and increase by 1 in table, the uplink/downlink of new new-added item be entered as descending, row/ Row number is entered as cur, and result of variations is entered as qcur t;It is transferred to step 704);
If the destination address of step 704) the ack msg frame is equal to current address t, the recipient of the data frame is to work as Front nodal point, that is, need present node to receive, now think successful launch, if " wait-repeating transmission " timer is still being run, cancel " wait-repeating transmission " timer, is transferred to step 9);
If the destination address of the ack msg frame is not equal to current address t, but lower jump address is equal to current address t, then The relaying person of the data frame is present node, that is, needs present node to relay;It is transferred to step 705);
Otherwise the ack msg frame had not both needed present node relaying, it is not required that present node receives;It is transferred to step 9);
Step 705) remember the source address of the ack msg frame be src, hop count hop, it is lower jump address be nxt, destination address For dst, the current address in the ack msg frame is entered as t, lower jump address assignment according to the following rules:Travel through each routing table In src group dst items hop jump element, if this element rr of b-th of routing tableb src dst hopIt is equal with nxt, Then lower address assignment of jumping is rrb src dst hop+1, hop count be entered as hop+1;Increase by 1 transmitting information list item, by the ack msg Source address, current address, lower jump address, destination address, hop count, frame number in frame are corresponding in turn to and recorded in this, should Data type be entered as " ACK ", the launch time of this is entered as present system time, this whether await a response by According to following rule assignments:The lower jump address of the ack msg frame is entered as "No" when being equal to destination address, is otherwise entered as "Yes"; Launch the ack msg frame;A certain element if there is no any one routing table is equal with nxt, then it is assumed that the ack msg frame Mistake, relaying is abandoned to avoid the occurrence of loop;It is transferred to step 9).
One kind as the above method is improved, and the step 8) specifically includes:
Step 801) " if wait-repeating transmission " timer is more than ACK stand-by period TA, corresponding ACK numbers are not yet received According to frame, sending times counter p adds 1;
If p exceedes sending times limitation P, abandon launching the DATA frames, remove " wait-repeating transmission " timer, reset Sending times counter p, is transferred to step 9);
If p limits P not less than sending times, step 802) is performed;
The order that step 802) increases to T-1 according to j one by one by 0 updates Route Selection concordance list S successively;
Establish B floating type temporary variable tmpbAnd reset, B routing table t group jth item is calculated according to (14) formula successively Cost;
Wherein,
The routing table of Least-cost is selected, the numbering of the routing table is assigned to sj, as shown in (15) formula
After performing T times, step 803) is transferred to;
The lower jump address for the DATA data frames that step 803) note does not receive ack msg frame is nxt, according to (16) formula more Uplink quality in new link metric Q:
Simultaneously the downlink quality in link metric is updated according to (17) formula:
If the element q of certain up-link in link metric Qt nxtIt is no afterwards before the update to change and be not equal to R-matrix Corresponding element c in Ct nxt, then by qt nxtC of the assignment to R-matrix Ct nxtIn, and change increase by 1 in table in link metric, The uplink/downlink of new new-added item is entered as that up, row/column number is entered as nxt, result of variations is entered as qt nxt;If in link metric Q The element q of certain downlinknxt tBefore the update afterwards without change and not equal to corresponding element c in R-matrix Cnxt t, then will qnxt tAssignment c into R-matrixnxt t, and changing increase by 1 in table in link metric, the uplink/downlink of new new-added item is entered as down Row, row/column number are entered as nxt, and result of variations is entered as qnxt t;It is transferred to step 3).
Advantage of the invention is that:
1st, method of the invention uses Table Driven mode, weighs using residue energy of node, link-quality and its each Re-generate multiple routing tables as disjoint as possible;
2nd, all nodes of method of the invention specify routed path to relay data frame according to information source node, avoid producing Raw loop;
3rd, residue energy of node and the addition of link metric situation of change are distributed by method of the invention in a data frame, Receiving node updates the routing case of itself with equally loaded according to dump energy and link metric situation of change.
Brief description of the drawings
Fig. 1 provides the overall flow schematic diagram of the loop free route selection method of load balancing for the present invention;
Fig. 2 provides the DATA data frame format figures of the loop free route selection method of load balancing for the present invention;
Fig. 3 provides the routing update flow chart of the loop free route selection method of load balancing for the present invention;
Fig. 4 provides the ack msg frame format figure of the loop free route selection method of load balancing for the present invention;
Fig. 5 is the nodal analysis method figure used in software emulation;
Fig. 6 is that 4 nodes used in software emulation lay situation map;
Fig. 7 is that 7 nodes used in software emulation lay situation map;
Fig. 8 is that 13 nodes used in software emulation lay situation map;
Fig. 9 is that 16 nodes used in software emulation lay situation map;
Figure 10 is the network throughput comparison diagram of conventional method and the inventive method.
Embodiment
A kind of loop free route selection method of load balancing of the present invention is carried out in detail with reference to the accompanying drawings and examples Describe in detail bright.
As shown in figure 1, a kind of loop free route selection method of load balancing provided by the invention, the realization step of this method Suddenly include:
Each node initializing of step 1);When laying node, should ensure that in the communication range of each node at least 2 other Node;All nodes included in network are ranked up with addressing successively, the total node number amount T and each section that setting network includes The address t of the present node of point;Current address t is integer, and t ∈ [0, T), and ensure that different addresss of node are only in a network One, wherein host node address is 0, and member node address is successively using remaining numbering;Unless otherwise instructed, hereinafter variable is equal For integer;
Identical is set to respond stand-by period TR, ACK stand-by period TA, information out-of-service time TF, repeating transmission time for each node Number limitation P, put link-quality weight WQ, dump energy weight WE, routing table number B (B >=2), each node frame number counter f Reset, sending times counter p is reset;Each node is established Route Selection concordance list S and reset respectively, S jth (j ∈ [0, T)) Item element sj(sj∈ [0, B)) represent selection sjThe t group jth item route of individual routing table reaches node as by present node t J routed path;Each node establishes the link metric change table of sky respectively, and the table each single item comprises at least uplink/downlink, row/column Number, three parameters of result of variations;Each node establish respectively sky transmitting information table, the table each single item comprise at least data type, Source address, current address, lower jump address, destination address, hop count, frame number, launch time, whether await a response;
It is that each node establishes link metric Q and residual energy scale E by self-organization of network method;The link metric Q In the i-th row jth row (i, j ∈ [0, T)) link-quality of the element representation by node i to node j, link-quality qij∈[0, Q], represent that link does not connect when wherein element value is " 0 ", on the contrary link connection is represented, numerical value is bigger to represent that link-quality is better; Residual energy scale E i-th element is node i dump energy, dump energy ei∈ [0, E], wherein element value represent for " 0 " Node energy exhausts, and " E " represents residue energy of node 100%, eiValue is linear with dump energy;Self-organizing is completed Afterwards, it should ensure that all node link matrix Q and residual energy scale E are respectively identical;Perform step 2);
Step 2) routing table generates;Each node is using classical shortest path first according to link metric Q and residual energy scale E Generate the 0th routing table;When generating remaining routing table, around the via node in routing table before, it can generate and multiple to the greatest extent may be used Can disjoint routing table;Each node generates and retains the routing table of all nodes, due to the link metric Q phases of all nodes With, generation route table algorithm it is also identical, now the routing table for other nodes that any two node is generated also is respectively identical 's;After routing table generates, step 3) is performed;
Step 3) data transmit-receive;The data transmit-receive step being characterised by the step 3) specifically includes:
Step 301) enters idle condition;Trigger event is waited, if transmitting DATA data frame events, then perform step 302);If being to wait for ACK more than ACK stand-by period TA, step 303) is performed;If receiving data frame, then perform Step 304);
Step 302) generates empty DATA data frames, and described empty DATA data frames should at least include:Frame synchronization, data class Type, source address, current address, lower jump address, destination address, hop count, information source dump energy, link metric change information (it is upper/ Descending, row/column number, result of variations), frame number, DATA data segments and verification (as shown in Figure 2);If worked as in converying type network Front nodal point is host node, then its destination address can be the address of other arbitrary nodes except present node t, if present node Non-master, then its destination address can only be the address of host node, and for convenience of stating, destination address is designated as into d;Frame synchronization is transferred to Physical layer assignment, data type are entered as " DATA ", and source address and current address are entered as the address t of present node, under Jump address assignment is sd1st hop node address of individual routing table t group d items, destination address are entered as d, and hop count is entered as 1, information source dump energy is entered as present node t dump energies percentage after progress linear scalar's quantization in the range of [0, E] As a result, frame number is entered as frame number counter currency and adds 1, DATA data segments to be entered as needing to pass in frame number counter Defeated data;If link metric change table is sky, link metric change row/column number is entered as t, and uplink/downlink and change are tied Fruit resets, if link metric changes table non-NULL, link metric change uplink/downlink, row/column number, result of variations are according to link The each element assignment successively of the 1st in matrix change table, delete the 1st in link metric change table and by subsequent item numbering by It is individual to subtract 1;Verification is entered as the check results after DATA data frame assignment;
Increase by 1 transmitting information list item, by the source address in the DATA data frames after assignment, current address, under Jump address, destination address, hop count, frame number are corresponding in turn to and recorded in this, and the data type of this is entered as " DATA ", should The launch time of item is entered as present system time, and whether awaiting a response for this is entered as "Yes";Launch the DATA data frames; Start " wait-repeating transmission " timer;Perform step 309);
Step 303) sending times counter p adds 1, if p exceedes sending times limitation P, abandons launching the DATA frames, " wait-repeating transmission " timer is removed, resets sending times counter p, performs step 309);If p limits not less than sending times P processed, update the uplink quality in link metric according to (2) formula:
Simultaneously the downlink quality in link metric is updated according to (3) formula:
If the element q of certain up-link in link metrict curIt is no afterwards before the update to change and be not equal to R-matrix Middle corresponding element ct cur, then by qt curC of the assignment to R-matrixt curIn, and change increase by 1 in table in link metric, newly New-added item uplink/downlink is entered as that up, row/column number is entered as cur, result of variations is entered as qt cur;If under certain in link metric The element q of line linkcur tBefore the update afterwards without change and not equal to corresponding element c in R-matrixcur t, then by qcur tAssign It is worth c in R-matrixcur t, and change in link metric and increase by 1 in table, the uplink/downlink of new new-added item be entered as descending, row/ Row number is entered as cur, and result of variations is entered as qcur t;Increased to one by one by 0 according to j according to step 305) T-1 order according to Secondary renewal Route Selection concordance list S, that is, perform step 305) T times, then performs step 302);
Step 304) verification data frame (includes DATA and two kinds of ACK), and step 309) is performed if check errors;If Verification is correct, then read data frame parameter, renewal residual energy scale E, link metric Q, R-matrix C, and then updates route choosing Select concordance list S;As shown in Figure 3;
The source address for remembering the data frame is src, if the information source dump energy of the data frame is less than in residual energy scale E Src items esrc, then by esrcIt is entered as the information source dump energy of the data frame;If the information source dump energy of the data frame is not small The src items e in residual energy scale Esrc, then do not update;The node address that dump energy is minimum in residual energy scale E is found, is remembered For em;
When the link metric change row/column l of the data frame is not equal to src, change if up-link, then by chain The element of road matrix Q and R-matrix C src rows l row is entered as the link metric result of variations of the data frame, if Change for downlink, then the link metric Q and R-matrix C l rows src elements arranged are entered as the data frame Link metric result of variations;Do not updated when the link metric change row/column l of the data frame is equal to src;
Above two more kainogenesis is any, then increases to T-1 order one by one by 0 according to j according to step 305) Route Selection concordance list S is updated successively, that is, performs step 306) again after performing step 305) T times;
Step 305) establishes B floating type temporary variable tmpbAnd reset, B routing table t is calculated according to (4) formula successively The cost of group jth item;
Wherein,
The routing table of Least-cost is selected, the numbering of the routing table is assigned to sj, as shown in (5) formula
Step 306) further updates link metric and link metric change table according to transmitting information table;Traversal transmitting successively Information table, if whether a certain in transmitting information table await a response as "Yes" and meet one of following 2 conditions, it is believed that deposit In transmitting information to be responded:
1st, the data type in transmitting information list item is identical with the data type for receiving data frame, source address is identical, mesh Address it is identical, frame number is identical, the lower jump address in transmitting information list item with receive data frame current address it is identical, note connects The current address for receiving data frame is cur,
2nd, the data type in transmitting information list item is " ACK ", launched for " DATA " data type for receiving data frame Source address in information table is equal to the destination address for receiving data frame, and the destination address in transmitting information list item, which is equal to, to be received The source address of data frame, the frame number in transmitting information list item is identical with the frame number for receiving data frame, transmitting information list item In lower jump address with receive data frame current address it is identical,
In the presence of transmitting information to be responded and current time and this launch time in transmitting information table difference not less than response Stand-by period TR, update the uplink quality in link metric according to (6) formula:
Simultaneously the downlink quality in link metric is updated according to (7) formula:
Exceed response etc. in the presence of transmitting information to be responded but current time and the difference of this launch time in transmitting information table Time TR is treated, updates the uplink quality in link metric according to (2) formula, while update in link metric according to (3) formula Downlink quality;
In the absence of when transmitting information is responded, only the downlink quality in link metric is updated according to (7) formula;
If the element q of certain up-link in link metrict curIt is no afterwards before the update to change and be not equal to R-matrix Middle corresponding element ct cur, then by qt curC of the assignment to R-matrixt curIn, and change increase by 1 in table in link metric, newly New-added item uplink/downlink is entered as that up, row/column number is entered as cur, result of variations is entered as qt cur;If under certain in link metric The element q of line linkcur tBefore the update afterwards without change and not equal to corresponding element c in R-matrixcur t, then by qcur tAssign It is worth c in R-matrixcur t, and change in link metric and increase by 1 in table, the uplink/downlink of new new-added item be entered as descending, row/ Row number is entered as cur, and result of variations is entered as qcur t
After renewal, if the destination address of the data frame is equal to current address t, the recipient of the data frame is I, performs step 307);If the destination address of the data frame is not equal to current address t, but lower jump address is equal to current position Location t, then the relaying person of the data frame is me, performs step 308);
If the data type of the step 307) data frame is " DATA ", transmitting information table is traveled through;If there is some Transmitting information list item meets following condition:Its data type be " ACK ", its source address be equal to the data frame destination address, Its destination address is equal to the source address of the data frame, its frame number is equal to the frame number of the data frame, and current time is with being somebody's turn to do The difference of the launch time of transmitting information list item does not take any measure then not less than stand-by period TR is responded, and performs step 309);
If there is no the transmitting information list item for meeting above-mentioned condition, then empty ack msg frame, described empty ACK numbers are generated It should at least include according to frame:Frame synchronization, data type, source address, current address, lower jump address, destination address, hop count, information source Dump energy, link metric change information (uplink/downlink, row/column number, result of variations), frame number and verification (as shown in Figure 4); Frame synchronization transfers to physical layer assignment, and data type is entered as " ACK ", and source address and current address are entered as present node Node address t, destination address are entered as the source address src of the DATA data frames, and lower jump address assignment is ssrcIndividual routing table 1st hop node address of t group src items, hop count are entered as 1, and information source dump energy is entered as present node t dump energies hundred Divide and be entered as the frame number of the DATA data frames than the result after progress linear scalar's quantization in the range of [0, E], frame number;Such as Fruit link metric change table is sky, then link metric change row/column number is entered as t, and uplink/downlink and result of variations are reset, if Link metric changes table non-NULL, then link metric change uplink/downlink, row/column number, result of variations change in table according to link metric The assignment successively of each element of the 1st, delete the 1st in link metric change table and subsequent item numbering is subtracted 1 one by one;Verification is assigned Check results after being worth for ack msg frame assignment;Increase by 1 transmitting information list item, by the ack msg frame after assignment In source address, current address, lower jump address, destination address, hop count, frame number be corresponding in turn to and recorded in this, this Data type be entered as " ACK ", the launch time of this is entered as present system time, the assignment that whether awaits a response of this For "Yes";Launch the ack msg frame;Perform step 309);
If the data type of the data frame is " ACK ", transmitting information table is traveled through;If there is some transmitting information table Item meets following condition:Its data type is " DATA ", its source address is equal to destination address, its destination address of the data frame Source address, its frame number equal to the data frame are equal to the frame number of the data frame, then delete the list item;If " wait-weight Hair " timer is currently running, and removes " wait-repeating transmission " timer;Perform step 309);
If the data type of the step 308) data frame is " DATA ", transmitting information table is traveled through;If there is some Transmitting information list item meets following condition:Its data type be " ACK ", its source address be equal to the data frame destination address, Its destination address is equal to the source address of the data frame, its frame number is equal to the frame number of the data frame, then replys pseudo- ACK frames; Empty ack msg frame is generated, described empty ack msg frame should at least include:Frame synchronization, data type, source address, current position Location, lower jump address, destination address, hop count, information source dump energy, link metric change information (uplink/downlink, row/column number, change As a result), frame number and verification;Frame synchronization transfers to physical layer assignment, by data type in the transmitting information list item, information source Assignment into the respective items of the pseudo- ack msg frame, is believed successively for location, current address, lower jump address, destination address, hop count, frame number Source dump energy is entered as E, link metric changes row/column number and is entered as source address, uplink/downlink and result of variations clearing, school Test the check results for being entered as the pseudo- ack msg frame;Launch the pseudo- ACK frames;Perform step 309);
Meet above-mentioned condition if there is no any one transmitting information list item, then relay the DATA data frames;Note should The source address of DATA data frames is src, hop count hop, it is lower jump address be nxt, destination address dst, by the DATA data Current address in frame is entered as t, lower jump address assignment according to the following rules:Travel through the src group dst items in each routing table Hop jumps element, if this element rr of b-th of routing tableb src dst hopEqual with nxt, then lower address assignment of jumping is rrb src dst hop+1, hop count be entered as hop+1;Increase by 1 transmitting information list item, by the source address in the DATA data frames, Current address, lower jump address, destination address, hop count, frame number are corresponding in turn to and recorded in this, the data type assignment of this For " DATA ", the launch time of this is entered as present system time, and whether awaiting a response for this is entered as "Yes";Transmitting should DATA data frames;A certain element if there is no any one routing table is equal with nxt, then it is assumed that the DATA data frames are wrong By mistake, relaying is abandoned to avoid the occurrence of loop;Perform step 309);
If the data type of the data frame is " ACK ", the ack msg frame is relayed;With remembering the information source of the ack msg frame Location is src, hop count hop, it is lower jump address be nxt, destination address dst, the current address in the ack msg frame is entered as T, it is lower to jump address assignment according to the following rules:The src group dst items hop traveled through in each routing table jumps element, if b This element rr of individual routing tableb src dst hopEqual with nxt, then lower address assignment of jumping is rrb src dst hop+1, hop count assignment For hop+1;Increase by 1 transmitting information list item, by the source address in the ack msg frame, current address, lower jump address, purpose Address, hop count, frame number, which are corresponding in turn to, be recorded in this, and the data type of this is entered as " ACK ", the launch time of this Present system time is entered as, whether this 's awaits a response according to following rule assignments:Lower jump address of the ack msg frame etc. "No" is entered as when destination address, is otherwise entered as "Yes";Launch the ack msg frame;If there is no any one route The a certain element of table is equal with nxt, then it is assumed that the ack msg frame mistake, abandons relaying to avoid the occurrence of loop;Perform step 309);
Step 309) checks transmitting information table item by item respectively, if current time and the hair recorded in a certain transmitting information table The difference for penetrating the time is more than information out-of-service time TF, then deletes this transmitting information table;Return to idle condition;
In the route selection method for implementing the present invention, using OPNET softwares, half-duplex underwater sound communication mode is devised, And underwater acoustic channel is modeled, and situation is laid to 4 kinds of typical nodes and has carried out software emulation, with conventional shortest path road By method as reference, simulation result is compared.
First, the modeling of half-duplex underwater sound communication and design
In OPNET softwares, Radio Link is divided into 14 pipeline model stages and is modeled.Need in nodal analysis method Set centre frequency, bandwidth, modulation system, transmission rate, the Error Correction of Coding of emitter and receiver.Give tacit consent in OPNET wireless Link uses full duplex mode, and most of underwater sound communications can only use half-duplex mode at present.
1st, the pipeline model stage
In simulation process, underwater sound communication parameter is arranged to:BPSK modulation, half-duplex mode, centre frequency 6kHz, band Wide 4kHz, traffic rate 1kbps, coverage 5km, transmission power 10W, standby (containing receiving) power 0.05W, each node carry Battery electric quantity is 8000J, and host node is powered using bank base power supply, disregards energy expenditure.Specific in underwater sound communication, it is also necessary to note The pipeline model stage following points of meaning:
In (1) the 6th stage, underwater sound wave spread speed is 1500m/s, from acquiescence propagation velocity of electromagnetic wave it is different, it is necessary to Modification.
(2) the 8th stages needed to write code calculating receiving power again according to underwater sound propagation attenuation model.This method is imitated True process employs the Marsh-Schulkin models of classics.
(3) in actual underwater sound communication, once being collided between multiple reception signals, these reception signals all can not be correct Receive.Therefore in the noise crosstalk interference in the 9th stage, it is exaggerated the influence of noise crosstalk interference between signal.
Ocean background noise level should be calculated in (4) the 10th stages, four are classified as using classical empirical equation in emulation Class is calculated.
(5) by adjusting the parameters such as transmission power so that the 11st stage, the bit error rate when not colliding was 10- 3Left and right, And the bit error rate is 10 when colliding- 1Magnitude.
2nd, half-duplex designs
The Radio Link used in OPNET is full-duplex communication mode, no matter the emitter and receiver of same node Whether same centre frequency and bandwidth are arranged to.Therefore, it is necessary to sets itself half-duplex operation mode.
The nodal analysis method designed in OPNET emulation is as shown in Figure 5.Solid line represents data frame stream to dotted line is statistics in figure Interrupt line, one is that the triggering of reception signal rising edge is interrupted, and the starting of designations signal, another is that reception signal trailing edge touches Hair interrupts, and designations signal terminates.When transmitting transducer is in emission state, ignore rising edge and the decline of reception signal Interrupted along triggering, and abandon all data frames received.Conversely, hydrophone reception state mark is set, by signal to be transmitted It is deferred to after trailing edge triggering is interrupted and launches again.
You need to add is that:In the case of without error code, stream when data frame is properly received interrupts (to be pointed to by Receiver Router data frame flow line produces) to be interrupted with reception signal trailing edge be with caused, take one.But because Error code and in the case of abandoning data frame, will not produce stream interrupts, but can produce trailing edge interruption.Therefore two must be used Bar counts middle short line to set and empty the reception state flag bit of receiving hydrophone.
2nd, analysis of simulation result
1st, simulation flow brief introduction
In case of 4 nodes shown in Fig. 6, each node data frame time are at intervals of 60s, the current address of each node T is set gradually as 0,1,2,3 according to numbering in figure, and its interior joint 0 is host node.The response stand-by period TR of each node is 15s, ACK stand-by period TA are 45s, information out-of-service time TF is 30s, sending times limitation P is 3, puts link-quality weight WQ Be 3 for 1, dump energy weight WE, routing table number B be 2, set link-quality upper limit Q be 3, dump energy upper limit E be 15. Each node frame number counter f is reset, sending times counter p is reset.Each node establishes Route Selection concordance list S and complete respectively Portion is reset;Each node establishes the link metric change table of sky respectively;Each node establishes the transmitting information table of sky respectively.
It is that each node establishes link metric Q and residual energy scale E by self-organization of network method from 0 moment, wherein
The routing table of each node is as shown in table 1, and G represents " broadcast " in table.
1 each node route list of table
From 7230s, each node starts data acquisition road wheel of going forward side by side and flows back to biography, and turn around time is at intervals of 60s.
In 7230s, node 0 is launched after generating a DATA data frames addition energy information to node 1, source address It is that 0, the lower address and destination address of jumping is 1, hop count 1 with current address, records transmitting information and simultaneously wait ACK45s. During 7235.88s, node 2 have received the correct DATA data frames of the verification launched by node 0, updates energy information, then updates Transmitting information table, return to idle condition.In 7236.05s, node 1 have received the correct DATA numbers of the verification launched by node 0 According to frame, energy information is updated, ACK frames is then generated and launches after adding energy information to node 0, source address and current address It is 1, lower jump address and destination address are 0, hop count 1, after recording transmitting information and updating transmitting information table, are returned idle State.In 7240.16s, node 3 have received the correct ack msg frame of the verification replied by node 1, update energy information, Then transmitting information table is updated, returns to idle condition.In 7240.35s, node 0 have received the verification replied by node 1 just True ack msg frame, energy information is updated, after removing ACK waits, update transmitting information table, return to idle condition.So far, one The data transmitting of secondary no error code just completes.
Because subsequent node 1, the data transmit-receive flow of node 2 are similar with above-mentioned flow, omit here.
In 7410s, node 3 is launched after generating a DATA data frames addition energy information to node 0, record transmitting Information simultaneously waits ACK45s.Because the 0th of Route Selection concordance list S of node 3 is 0, according to the 0th routing table the 3rd in table 1 The node address that group is jumped for the 0th the 1st is 2, therefore node 3 specifies node 2 to relay the DATA data frames.In 7415.87s, section Point 1 have received the verification launched by node 3 correctly DATA data frames, update energy information, and by Route Selection concordance list S Items are updated to 0,0,1,0 successively, then update transmitting information table, return to idle condition.In 7415.95s, node 2 receives The correct DATA data frames of the verification launched by node 3, update energy information, and by Route Selection concordance list S items according to It is secondary to be updated to 0,1,0,0, after traveling through transmitting information table, the record of ACK information not corresponding with the DATA data frames is found, because This relays the DATA frame recording transmitting informations, then updates transmitting information table, returns to idle condition.Node 2 checks 2 roads respectively By the node address of the 3rd group the 0th the 1st jump in table, it is found that the node address of the 0th routing table is equal to the address of oneself, Therefore the DATA data frames are relayed according to the node address of the 3rd group the 0th the 2nd jump of the 0th routing table.In 7421.83s, Node 0 have received the correct DATA data frames of the verification relayed by node 2, renewal energy, link information, then generate ACK frames And launch after adding energy information to node 3, after recording transmitting information and updating transmitting information table, return to idle condition.Due to The 3rd of the Route Selection concordance list S of node 0 is 0, according to the node of the 3rd the 1st jump of the 0th routing table the 0th group in table 1 Location is 2, therefore node 0 specifies node 2 to relay the ack msg frame.In 7421.89s, node 3 have received what is relayed by node 2 The correct DATA data frames of verification, update energy information, then update transmitting information table, return to idle condition. During 7425.95s, node 2 have received the verification launched by node 0, and correctly the ack msg frame, renewal energy information, relaying are somebody's turn to do ACK frame recording transmitting informations, transmitting information table is then updated, return to idle condition.Node 2 check respectively 2 route in the 0th The 3rd the 1st node address jumped of group, it is found that the node address of the 0th routing table is equal to the address of oneself, therefore according to the 0th The node address of 0th group the 3rd the 2nd jump of individual routing table relays the ack msg frame.In 7426.12s, node 1 have received by Correct ack msg frame of verification that node 0 is launched, updates energy information, then updates transmitting information table, return to idle shape State.In 7430.07s, node 0 have received the correct ack msg frame of the verification relayed by node 2, update energy information, so Transmitting information table is updated afterwards, returns to idle condition.In 7430.13s, it is correct that node 3 have received the verification relayed by node 2 The ack msg frame, energy information is updated, after removing ACK waits, update transmitting information table, return to idle condition.So far, once Data transmitting without error code and comprising via node just completes.
Subsequent transmission is received nothing more than directly transmitting or relay forwarding, is repeated no more here.Go out when 8016.05s Existing error code.It is as follows that it launches reception flow:
In 8010s, node 1 is launched after generating a DATA data frames addition energy information to node 0, source address It is 0 with current address, lower jump address and destination address are 1, hop count 1, record transmitting information and wait ACK45s. During 8015.87s, node 3 have received the correct DATA data frames of the verification launched by node 1, updates energy information, then updates Transmitting information table, return to idle condition.Due to error code, the DATA data frames are not properly received by node 0.In 8057.61s When, node 1 waits ACK time-out, subtracts 1 respectively by the uplink downlink quality in itself link metric with node 0;Due to after subtracting 1 As a result it is 2, therefore does not increase link metric change information list item.After random back, in 8061.45s, node 1 regenerates Launch after DATA data frames addition energy information to node 0, record transmitting information and wait ACK45s.In 8067.45s, section Point 3 have received the correct DATA data frames of the verification launched by node 1, update energy information, then updates transmitting information table, returns Return idle condition.In 8067.64s, node 0 have received the correct DATA data frames of the verification launched by node 1, update energy Information, then generate ACK frames and launch after adding energy information to node 1, source address and current address are 0, lower to jump ground Location and destination address are 1, hop count 1, after recording transmitting information and updating transmitting information table, return to idle condition.In 8070s When, node 2 is launched after generating a DATA data frames addition energy information to node 0, and source address and current address are 2, lower jump address and destination address are 0, hop count 1, record transmitting information and wait ACK45s.Also exist just because of node 2 Data transmitting is carried out, and is half-duplex operation mode so not receiving the ACK that node 0 is replied to node 1.In 8071.93s When, node 1 have received the correct ack msg frame of the verification replied by node 0, energy information be updated, by itself link metric In with the uplink downlink quality of node 0 add 1 respectively, remove after ACK waits, update transmitting information table, return to idle condition.Extremely This, the data transmitting for once having error code just completes.
Subsequent transmission receives nothing more than direct transmitting, relay forwarding or waits to be retransmitted, repeats no more here.Until Occurs the situation for replying pseudo- ACK during 24569.36s.It is as follows that it launches reception flow:
In 24510s, node 0 is launched after generating a DATA data frames addition energy information to node 3, record hair Penetrate information and wait ACK45s.Because the 3rd of the now Route Selection concordance list S of node 0 is 1, according to the 1st road in table 1 Node address by the 3rd the 1st jump of table the 0th group is 1, therefore node 0 specifies node 1 to relay the DATA data frames. During 24515.88s, node 2 have received the correct DATA data frames of the verification launched by node 0, update energy information, and will Route Selection concordance list S items are updated to 0,1,0,0 successively, then update transmitting information table, return to idle condition. During 24516.05s, node 1 have received the correct DATA data frames of the verification launched by node 0, update energy information, and will Route Selection concordance list S items are updated to 0,0,1,0 successively, after traveling through transmitting information table, find not with the DATA data frames The record of corresponding ACK information, therefore the DATA frame recording transmitting informations are relayed, transmitting information table is then updated, is returned idle State.The node address for the 0th group the 3rd the 1st jump that node 1 is checked in 2 routes respectively, find the section of the 1st routing table Dot address is equal to the address of oneself, therefore relays the DATA according to the node address of the 3rd group the 0th the 2nd jump of the 1st routing table Data frame.In 24521.92s, node 3 have received the correct DATA data frames of the verification relayed by node 1, renewal energy, chain Road information, then generate ACK frames and launch after adding energy information to node 0, record transmitting information and update transmitting information table Afterwards, idle condition is returned.Because the 3rd of Route Selection concordance list S of node 3 is 1, according to the 1st routing table the 3rd in table 1 The node address that group is jumped for the 0th the 1st is 1, therefore node 3 specifies node 1 to relay the ack msg frame.In 24522.11s, section Point 0 have received the correct DATA data frames of the verification relayed by node 1, update energy information, then updates transmitting information table, returns Return idle condition.In 24526.03s, node 1 have received the correct ack msg frame of the verification launched by node 3, update energy Information is measured, relays the ACK frame recording transmitting informations, then updates transmitting information table, returns to idle condition.Node 1 checks 2 respectively The node address of the 3rd group the 0th the 1st jump in individual route, it is found that the node address of the 1st routing table is equal to the ground of oneself Location, therefore relay the ack msg frame according to the node address of the 3rd group the 0th the 2nd jump of the 1st routing table.In 24526.11s When, node 2 have received the verification launched by node 3, and correctly the ack msg frame, renewal energy information, then renewal transmitting are believed Table is ceased, returns to idle condition.In 24532.08s, due to error code, node 0 could not be properly received the ACK relayed by node 1 Data frame.In 24563.03s, node 0 waits ACK time-out, by the uplink downlink quality in itself link metric with node 0 Subtract 1 respectively;Because result is 2 after subtracting 1, therefore link metric change information list item is not increased.After random back, During 24563.30s, node 0 is launched after regenerating DATA data frames addition energy information to node 3, records transmitting information and waits Treat ACK45s.Why node 0 is without link metric is changed, and is because corresponding transmitting information list item is in 24522.11s nodes 0 Just it is updated over and deletes during the correct DATA data frame of verification for receiving the relaying of node 1.Due to the Route Selection of now node 0 The 3rd of concordance list S is 1, and the node address according to the 3rd the 1st jump of the 1st routing table the 0th group in table 1 is 1, therefore node 0 Node 1 is specified to relay the DATA data frames.In 24569.18s, node 2 have received the verification launched by node 0 and correctly should DATA data frames, energy information is updated, then update transmitting information table, return to idle condition.In 24569.36s, node 1 is received To the correct DATA data frames of verification launched by node 0, energy information is updated, after traveling through transmitting information table, is found Recorded ACK information corresponding with the DATA data frames, therefore generate pseudo- ACK frames and recovery of node 0, then renewal transmitting letter Table is ceased, returns to idle condition.In 24505.41s, node 0 have received the verification launched by node 1 correctly pseudo- ACK frames, more New energy information, after removing ACK waits, transmitting information table is updated, returns to idle condition.So far, the number of pseudo- ACK frames is once utilized Just completed according to transmitting.
Until 33197.83s, node 2 is dead because of depleted of energy, and this emulation terminates.
2nd, simulation result contrasts
With reference to conventional shortest path method for routing, situation, each case are laid to 4 kinds shown in Fig. 6-Fig. 9 typical nodes Data frame interval time be divided into 10 grades:60s, 120s, 180s, 240s, 300s, 360s, 420s, 480s, 540s, 600s, enter Software emulation is gone, simulation result is as shown in table 2.Contrast lists conventional method and this method in different node cloth to one's heart's content in table Condition, the network life time of different pieces of information frame period time, unit s." average " last column is use after each row temporal summation Percentage of this method than extending network life using conventional shortest path algorithm.In general, this method can averagely prolong Long 10% or so.
The simulation result of table 2 compares
For this method on the premise of network life is extended, network throughput is also essentially identical with conventional method.With in Fig. 9 In case of 16 node data frame period 60s, the network throughput contrast of conventional method and this method is as shown in Figure 10.In figure Network throughput is net handling capacity, i.e., only calculates the bit numbers that data segment is included in DATA data frames.As seen from Figure 10, it is our The handling capacity of method and the handling capacity of conventional method are essentially identical.
It should be noted last that the above embodiments are merely illustrative of the technical solutions of the present invention and it is unrestricted.Although ginseng The present invention is described in detail according to embodiment, it will be understood by those within the art that, to the technical side of the present invention Case is modified or equivalent substitution, and without departure from the spirit and scope of technical solution of the present invention, it all should cover in the present invention Right among.

Claims (9)

  1. A kind of 1. loop free route selection method of load balancing, it is characterised in that including:
    Step 1) network lays T node, at least 2 other network nodes in the communication range of each node;For network In each node arrange parameter;Establish Route Selection concordance list S for each node and reset, establish link metric change table and Transmitting information table;It is that each node establishes link metric Q and residual energy scale E by self-organization of network method;
    The each node of step 2) establishes B routing table, B >=2, is calculated according to link metric Q and residual energy scale E and route and carry out Assignment, R-matrix C is set to be equal to link metric Q;
    Step 3) information source node adds self rest energy, uplink downlink matrix change information before DATA data frames are launched Which sent in DATA data frames, and according to the Route Selection concordance list S of itself selections according to routing table to information destination node The DATA data frames;After battery has fired, record transmitting information and start " wait-repeating transmission " timer, and update transmitting information table; Other nodes are waited to perform step 4);If information source node is transferred to step 8) in " wait-repeating transmission " timer expiry;
    Step 4) then verifies when some node receives the DATA data frames to the DATA data frames;If verification is wrong By mistake, then it is transferred to step 9);If verification is correct, self rest energy table E, link metric Q are updated according to the DATA data frames With R-matrix C, and then update Route Selection concordance list S and route matrix change table, then determined whether:
    If the DATA data frames had not both needed present node relaying, it is not required that present node receives, then is transferred to step 9);
    If present node is the via node of the DATA data frames, step 5) is transferred to;
    If present node is the destination node of the DATA data frames, present node is information destination node, is transferred to step 6);
    If step 5) present node repeated mistake ack msg frame corresponding with the DATA data frames, is disguised as the stay of two nights Node replys pseudo- ack msg frame to information source node;Present node is transferred to step 9), waits other nodes to perform step 7);
    If present node did not relay ack msg frame corresponding with the DATA data frames, specified according to information source node Routing table by the DATA data frames to information destination node relay;Present node is transferred to step 9), waits other nodes to perform step 4);
    If step 6) information destination node did not replied the DATA data frames within the time of restriction, information destination node generation is corresponding Ack msg frame, and self rest energy, uplink downlink matrix change information are added in the ack msg frame and launched, and root Select which routing table to send the ack msg frame to information source node according to according to the Route Selection concordance list S of itself, be transferred to step 7);Otherwise, information destination node is transferred to step 9);
    When some node of step 7) receives the ack msg frame, the ack msg frame is verified, if check errors, directly It is transferred to step 9);
    If verification is correct, self rest energy table E, link metric Q, R-matrix C are updated according to the ack msg frame, entered And Route Selection concordance list S and route matrix change table are updated, determined whether:
    If the ack msg frame had not both needed present node relaying, it is not required that present node receives, then is transferred to step 9);
    If present node is the via node of the ack msg frame, according to the routing table that information destination node is specified to information source node Relay the ack msg frame and be transferred to step 9), wait other nodes to perform step 7);
    If present node is the destination node of the ack msg frame, i.e. information source node in step 3), then it is assumed that successful launch, If " wait-repeating transmission " timer is still being run, cancel " wait-repeating transmission " timer, be transferred to step 9);
    If step 8) information source node does not receive information destination node and is directed to the ack msg frame that the DATA data frames are replied, weight is checked Send out number;
    If sending times do not transfinite, Route Selection concordance list S is updated, is transferred to step 3);Put if sending times transfinite Abandon and launch the DATA data, be transferred to step 9);
    Step 9) checks the transmitting information table of node item by item respectively, if certain transmitting information list item fails, this is launched and believed Table is ceased to delete;Node returns to idle condition.
  2. 2. the loop free route selection method of load balancing according to claim 1, it is characterised in that the step 1) tool Body includes:
    Step 101) is ranked up addressing, the total node number amount T that setting network includes to all nodes included in network successively And the current address t of each node;Current address t is integer, and t ∈ [0, T), and different nodes are unique in the address of network 's;
    Step 102) is that each node sets identical to respond stand-by period TR, ACK stand-by period TA, information out-of-service time TF, again Send out number limitation P, link-quality weight WQ and dump energy weight WE;Each node frame number counter f is reset, sending times meter Number device p is reset;
    Each node of step 103) is established Route Selection concordance list S and reset respectively, the jth of the S, and j ∈ [0, T) item element sj, sj ∈ [0, B) represent selection sjThe t groups jth item routed path of individual routing table is as the route that node j is reached by present node t Path;
    Each node of step 104) establishes the link metric change table of sky respectively, and the table each single item comprises at least uplink/downlink, row/column Number, three parameters of result of variations;
    Each node of step 105) establish respectively sky transmitting information table, the table each single item comprise at least data type, source address, Current address, lower jump address, destination address, hop count, frame number, launch time and whether await a response;
    Step 106) is that each node establishes link metric Q and residual energy scale E by self-organization of network method;The link square The i-th row jth row in battle array Q, i, j ∈ [0, T) link-quality of the element representation by node i to node j, link-quality qij∈ Represent that link does not connect when [0, Q], wherein element value are " 0 ", non-zero represents link connection, and numerical value is bigger to represent link-quality more Good, Q is the upper limit;Residual energy scale E i-th element is node i dump energy, dump energy ei∈ [0, E], wherein element It is worth and represents that node energy exhausts for " 0 ", " E " represents residue energy of node 100%;After the completion of self-organizing, all node link squares Battle array Q and residual energy scale E is respectively identical.
  3. 3. the loop free route selection method of load balancing according to claim 2, it is characterised in that the step 2) tool Body comprises the following steps:
    Step 201) establishes B blank routing table, and each blank routing table should include T groups, and every group includes T item routing iinformations, often One routing iinformation, which should comprise at least, reaches the required hop count passed through of destination node, and at most T-1 is jumped, and each relaying of jumping saves The address of point;
    The each element value that step 202) calculates route matrix R according to (1) formula is:
    <mrow> <msub> <mi>r</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>&amp;infin;</mi> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&amp;times;</mo> <msub> <mi>e</mi> <mi>i</mi> </msub> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>W</mi> <mi>Q</mi> <mo>&amp;times;</mo> <mrow> <mo>(</mo> <mi>Q</mi> <mo>-</mo> <msub> <mi>q</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mi>W</mi> <mi>E</mi> <mo>&amp;times;</mo> <mrow> <mo>(</mo> <mi>E</mi> <mo>-</mo> <msub> <mi>e</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&amp;times;</mo> <msub> <mi>e</mi> <mi>i</mi> </msub> <mo>&amp;NotEqual;</mo> <mn>0</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
    Each node of step 203) is calculated using classical shortest path first according to link metric Q and residual energy scale E;Calculate As a result all relay node address r_r passed through successively for routed path corresponding to each route table itemsijk, k ∈ [0, T) With arrive at the hop count r_h required for locationij;All r_r in result of calculationij0, i.e., for by node i arrival node j route The 0th hop node address in path is i;Result of calculation is increased into T-1 order assignment to the 0th one by one since i, j by 0 In individual routing table, T × T times is performed altogether;
    If j is equal to i, by the hop count rh of i-th group of jth item0ij0 is entered as, and the 0th of i-th group of jth item of the 0th routing table the is jumped Relay node address rr0ij0I is entered as, remaining relay node address is entered as " broadcasting ";
    If j jumps relay node address r_r in the 1st not equal to respective items in i and result of calculationij1And required for arrival node j Hop count r_hijIt is not infinity, by the hop count rh of i-th group of jth item of the 0th routing table0ijIt is entered as r_hij, and by the 0th The preceding r_h of jth item in i-th group of routing tableijIndividual relay node address is entered as in result of calculation jth item corresponding relaying section successively Dot address, remaining relay node address are entered as " broadcasting ";
    If j jumps relay node address r_r in the 1st not equal to respective items in i and result of calculationij1Or required for arrival node j Hop count r_hijFor infinity, then by the hop count rh of i-th group of jth item of the 0th routing table0ijIt is entered as total node number amount T, the 0th All relay node address of i-th group of jth item of routing table are entered as " broadcasting ";
    When step 204) generates remaining B-1 routing table, increase one by one by 0 since i, j in b, b ∈ (0, B) individual routing table The order for being added to T-1 calculates item by item, and should bypass the via node that respective items are recorded in routing table before before calculating;Calculate As a result all relay node address r_r passed through successively for routed path corresponding to the route table itemsijk, k ∈ [0, T) and arrive Up to the hop count r_h required for destination addressij;All r_r in result of calculationij0, i.e., for by node i arrival node j routed path In the 0th hop node address be i;By in i-th group of jth item of result of calculation assignment to b-th of routing table;
    If j is equal to i, by the hop count rh of b-th of routing table, i-th group of jth itembijIt is entered as 0, and by b-th of i-th group of routing table Jump relay node address rr in the 0th of jth itembij0I is entered as, remaining relay node address is entered as " broadcasting ";
    If j jumps relay node address r_r in the 1st not equal to respective items in i and result of calculationij1And required for arrival node j Hop count r_hijIt is not infinity, by the hop count rh of b-th of routing table, i-th group of jth itembijIt is entered as r_hij, and by b-th The preceding r_h of jth item in i-th group of routing tableijIndividual relay node address is entered as in result of calculation jth item corresponding relaying section successively Dot address, remaining relay node address are entered as " broadcasting ";
    If j jumps relay node address r_r in the 1st not equal to respective items in i and result of calculationij1Or required for arrival node j Hop count r_hijFor infinity, then by the hop count rh of b-th of routing table, i-th group of jth itembijIt is entered as total node number amount T, b-th All relay node address of i-th group of jth item of routing table are entered as " broadcasting ";
    After remaining B-1 routing table generation of step 205), R-matrix C is set to be equal to link metric Q.
  4. 4. the loop free route selection method of load balancing according to claim 3, it is characterised in that the step 3) tool Body includes:
    Step 301) information source node t generates empty DATA data frames, and described empty DATA data frames should at least include:Frame synchronization, number According to type, source address, current address, lower jump address, destination address, hop count, information source dump energy, link metric change letter Breath, frame number, DATA data segments and verification;
    Other arbitrary nodes of step 302) selection in addition to present node t are designated as d as destination address;Frame synchronization transfers to thing Layer assignment is managed, data type is entered as " DATA ", and source address and current address are entered as the address t of present node, lower jump Address assignment is sd1st hop node address of individual routing table t group d items, destination address are entered as d, and hop count is entered as 1, Information source dump energy is entered as the knot after present node t dump energies percentage carries out linear scalar's quantization in the range of [0, E] Fruit, frame number is entered as frame number counter currency, and adds 1, DATA data segments to be entered as needing to pass in frame number counter Defeated data;If link metric change table is sky, link metric change row/column number is entered as t, and uplink/downlink and change are tied Fruit resets, if link metric changes table non-NULL, link metric change uplink/downlink, row/column number, result of variations are according to link The each element assignment successively of the 1st in matrix change table, delete the 1st in link metric change table and by subsequent item numbering by It is individual to subtract 1;Verification is entered as the check results after DATA data frame assignment;
    Step 303) increases by 1 transmitting information list item, by the source address in the DATA data frames after assignment, current position Location, lower jump address, destination address, hop count, frame number are corresponding in turn to and recorded in this, and the data type of this is entered as " DATA ", the launch time of this are entered as present system time, and whether awaiting a response for this is entered as "Yes";Transmitting should DATA data frames;Transmitting information table is updated, starts " wait-repeating transmission " timer;Other nodes are waited to perform step 4);If letter Source node is transferred to step 8) in " wait-repeating transmission " timer expiry.
  5. 5. the loop free route selection method of load balancing according to claim 4, it is characterised in that the step 4) tool Body includes:
    Step 401) verifies to the DATA data frames received, if check errors, is transferred to step 9);
    If verification is correct, its parameter, renewal residual energy scale E, link metric Q and R-matrix C are read;
    The source address for remembering the data frame is src, if the information source dump energy of the data frame is less than the in residual energy scale E Src items esrc, then by esrcIt is entered as the information source dump energy of the data frame;If the information source dump energy of the data frame is not less than Src items e in residual energy scale Esrc, then do not update;The node address that dump energy is minimum in residual energy scale E is found, is designated as em;
    When the link metric change row/column l of the data frame is not equal to src, change if up-link, then by link square The element of battle array Q and R-matrix C src rows l row is entered as the link metric result of variations of the data frame;If under Line link changes, then the link metric Q and R-matrix C l rows src elements arranged are entered as to the link of the data frame Matrix result of variations;Do not updated when the link metric change row/column l of the data frame is equal to src;
    Above two more kainogenesis is any, then is transferred to step 402);Otherwise it is transferred to step 403);
    The order that step 402) increases to T-1 according to j one by one by 0 updates Route Selection concordance list S successively;
    Establish B floating type temporary variable tmpbAnd reset, calculate the generation of B routing table t group jth item successively according to (2) formula Valency;
    Wherein,
    The routing table of Least-cost is selected, the numbering of the routing table is assigned to sj, as shown in (3) formula
    <mrow> <msub> <mi>s</mi> <mi>j</mi> </msub> <mo>=</mo> <munder> <mrow> <mi>arg</mi> <mi> </mi> <mi>min</mi> </mrow> <mrow> <mi>b</mi> <mo>&amp;Element;</mo> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>,</mo> <mi>B</mi> <mo>)</mo> </mrow> </munder> <mo>{</mo> <msub> <mi>tmp</mi> <mi>b</mi> </msub> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>
    Step 403) further updates link metric Q and link metric change table according to transmitting information table;Traversal transmitting letter successively Table is ceased, if whether a certain in transmitting information table await a response as "Yes" and meet one of following 2 conditions, it is believed that exist Transmitting information to be responded:
    Data type in first condition, transmitting information list item is identical with the data type for receiving data frame, source address is identical, Destination address is identical, frame number is identical, the lower jump address in transmitting information list item is identical with the current address for receiving data frame, note The current address for receiving data frame is cur,
    Data type in second condition, transmitting information list item is " ACK ", sent out for " DATA " data type for receiving data frame The source address penetrated in information table is equal to the destination address for receiving data frame, and the destination address in transmitting information list item, which is equal to, to be connect The source address of data frame is received, the frame number in transmitting information list item is identical with the frame number of reception data frame, transmitting information table Lower jump address in is identical with the current address for receiving data frame,
    Waited in the presence of transmitting information to be responded and current time and the difference of this launch time in transmitting information table not less than response During time TR, the uplink quality in link metric is updated according to (4) formula:
    <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>Q</mi> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>=</mo> <mi>Q</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>+</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
    Simultaneously the downlink quality in link metric is updated according to (5) formula:
    <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>Q</mi> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mi>Q</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>+</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
    In the presence of when transmitting information is responded but current time and the difference of this launch time in transmitting information table exceed response wait Between TR, according to (6) formula update link metric in uplink quality:
    <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>-</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>
    Simultaneously the downlink quality in link metric is updated according to (7) formula:
    <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>-</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>
    When in the absence of when transmitting information is responded, only updating the downlink quality in link metric according to (5) formula;
    If the element q of certain up-link in link metrict curIt is before the update afterwards without change and right not equal in R-matrix Answer element ct cur, then by qt curC of the assignment to R-matrixt curIn, and change increase by 1, new new-added item in table in link metric Uplink/downlink is entered as that up, row/column number is entered as cur, result of variations is entered as qt cur;If the descending chain of certain in link metric The element q on roadcur tBefore the update afterwards without change and not equal to corresponding element c in R-matrixcur t, then by qcur tAssignment arrives C in R-matrixcur t, and changing increase by 1 in table in link metric, the uplink/downlink of new new-added item is entered as descending, row/column number Cur is entered as, result of variations is entered as qcur t;It is transferred to step 404);
    If the destination address of step 404) the DATA data frames is equal to current address t, the recipient of the data frame is current Node;It is transferred to step 6);
    If the destination address of the DATA data frames is not equal to current address t, but lower jump address is equal to current address t, then should The relaying person of data frame is present node;It is transferred to step 7);
    Otherwise, the DATA data frames had not both needed present node relaying, it is not required that present node receives;It is transferred to step 9).
  6. 6. the loop free route selection method of load balancing according to claim 5, it is characterised in that the step 5) tool Body includes:
    Step 501) travels through transmitting information table;Meet following condition if there is some transmitting information list item:Its data type is " ACK ", its source address are equal to the destination address of the data frame, its destination address is equal to source address, its frame of the data frame Sequence number is equal to the frame number of the data frame, then is transferred to step 502) and replys pseudo- ACK frames;If there is no any one transmitting information List item meets above-mentioned condition, then is transferred to step 503) and relays the DATA data frames;
    Step 502) generates empty ack msg frame, and described empty ack msg frame should at least include:Frame synchronization, data type, information source Address, current address, lower jump address, destination address, hop count, information source dump energy, link metric change information, frame number and school Test;Frame synchronization transfers to physical layer assignment, by the data type in the transmitting information list item, source address, current address, lower jump ground Location, destination address, hop count, frame number successively assignment into the respective items of the pseudo- ack msg frame, information source dump energy be entered as E, Link metric change row/column number is entered as source address, uplink/downlink and result of variations clearing, verification and is entered as the pseudo- ack msg The check results of frame;Launch the pseudo- ACK frames;It is transferred to step 9);
    Step 503) remember the source address of the DATA data frames be src, hop count hop, it is lower jump address be nxt, destination address be Dst, the current address in the DATA data frames is entered as t, lower jump address assignment according to the following rules:Travel through in each routing table Src group dst items hop jump element, if this element rr of b-th of routing tableb src dst hopIt is equal with nxt, then Lower jump address assignment is rrb src dst hop+1, hop count be entered as hop+1;Increase by 1 transmitting information list item, by the DATA data frames In source address, current address, lower jump address, destination address, hop count, frame number be corresponding in turn to and recorded in this, this Data type be entered as " DATA ", the launch time of this is entered as present system time, the tax that whether awaits a response of this It is worth for "Yes";Launch the DATA data frames;It is transferred to step 9);
    Some element if there is no any one routing table is equal with nxt, then it is assumed that the DATA data frame errors, in abandoning After to avoid the occurrence of loop;It is transferred to step 9).
  7. 7. the loop free route selection method of load balancing according to claim 5, it is characterised in that the step 6) tool Body includes:
    Step 601) travels through transmitting information table;Meet following condition if there is some transmitting information list item:Its data type is " ACK ", its source address are equal to the destination address of the data frame, its destination address is equal to source address, its frame of the data frame Sequence number is equal to the frame number of the data frame, and the difference of the launch time of current time and the transmitting information list item is not less than response etc. Time TR is treated, then does not take any measure;It is transferred to step 9);
    Step 602) then generates empty ack msg frame, described sky if there is no the transmitting information list item for meeting above-mentioned condition Ack msg frame should at least include:Frame synchronization, data type, source address, current address, it is lower jump address, destination address, hop count, Information source dump energy, link metric change information, frame number and verification;It is transferred to step 603);
    Step 603) frame synchronization transfers to physical layer assignment, and data type is entered as " ACK ", the equal assignment of source address and current address For the node address t of present node, destination address is entered as the source address src of the DATA data frames, and lower jump address assignment is Ssrc1st hop node address of individual routing table t group src items, hop count are entered as 1, and information source dump energy is entered as working as prosthomere Result of the point t dump energies percentage after progress linear scalar's quantization in the range of [0, E], frame number are entered as the DATA data The frame number of frame;If link metric change table is sky, link metric change row/column number is entered as t, uplink/downlink and change As a result reset, if link metric changes table non-NULL, link metric change uplink/downlink, row/column number, result of variations are according to chain The assignment successively of each element of the 1st, deletes the 1st in link metric change table and numbers subsequent item in road matrix change table Subtract 1 one by one;Verification is entered as the check results after ack msg frame assignment;Increase by 1 transmitting information list item, assignment is complete The source address in ack msg frame, current address, lower jump address, destination address, hop count, frame number after finishing are corresponding in turn to note Record in this, the data type of this is entered as " ACK ", and the launch time of this is entered as present system time, this 's Whether await a response and be entered as "Yes";Launch the ack msg frame;It is transferred to step 7).
  8. 8. the loop free route selection method of load balancing according to claim 5, it is characterised in that the step 7) tool Body includes:
    Step 701) verifies to the DATA data frames received, if check errors, is transferred to step 9);If verification is just Really, then its parameter, renewal residual energy scale E, link metric Q, R-matrix C are read, and then updates Route Selection concordance list S;
    The source address for remembering the data frame is src, if the information source dump energy of the data frame is less than the in residual energy scale E Src items esrc, then by esrcIt is entered as the information source dump energy of the data frame;If the information source dump energy of the data frame is not less than Src items e in residual energy scale Esrc, then do not update;The node address that dump energy is minimum in residual energy scale E is found, is designated as em;
    When the link metric change row/column l of the data frame is not equal to src, change if up-link, then by link square The element of battle array Q and R-matrix C src rows l row is entered as the link metric result of variations of the data frame;If under Line link changes, then the link metric Q and R-matrix C l rows src elements arranged are entered as to the link of the data frame Matrix result of variations;Do not updated when the link metric change row/column l of the data frame is equal to src;
    Above two more kainogenesis is any, then is transferred to step 702) otherwise, is transferred to step 703);
    The order that step 702) increases to T-1 according to j one by one by 0 updates Route Selection concordance list S successively;
    Establish B floating type temporary variable tmpbAnd reset, calculate the generation of B routing table t group jth item successively according to (8) formula Valency;
    Wherein,
    The routing table of Least-cost is selected, the numbering of the routing table is assigned to sj, as shown in (9) formula
    Step 703) further updates link metric and link metric change table according to transmitting information table;Transmitting information is traveled through successively Table, if whether a certain in transmitting information table await a response as "Yes" and meet one of following 2 conditions, it is believed that exist and treat Respond transmitting information:
    Data type in first condition, transmitting information list item is identical with the data type for receiving data frame, source address is identical, Destination address is identical, frame number is identical, the lower jump address in transmitting information list item is identical with the current address for receiving data frame, note The current address for receiving data frame is cur,
    Data type in second condition, transmitting information list item is " ACK ", sent out for " DATA " data type for receiving data frame The source address penetrated in information table is equal to the destination address for receiving data frame, and the destination address in transmitting information list item, which is equal to, to be connect The source address of data frame is received, the frame number in transmitting information list item is identical with the frame number of reception data frame, transmitting information table Lower jump address in is identical with the current address for receiving data frame,
    Waited in the presence of transmitting information to be responded and current time and the difference of this launch time in transmitting information table not less than response During time TR, the uplink quality in link metric is updated according to (10) formula:
    <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>Q</mi> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>=</mo> <mi>Q</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>+</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>10</mn> <mo>)</mo> </mrow> </mrow>
    Simultaneously the downlink quality in link metric is updated according to (11) formula:
    <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>Q</mi> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mi>Q</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>+</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>11</mn> <mo>)</mo> </mrow> </mrow>
    In the presence of when transmitting information is responded but current time and the difference of this launch time in transmitting information table exceed response wait Between TR, according to (12) formula update link metric in uplink quality:
    <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>c</mi> <mi>u</mi> <mi>r</mi> </mrow> </msub> <mo>-</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>12</mn> <mo>)</mo> </mrow> </mrow>
    Simultaneously the downlink quality in link metric is updated according to (13) formula:
    <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>c</mi> <mi>u</mi> <mi>r</mi> <mi>t</mi> </mrow> </msub> <mo>-</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>13</mn> <mo>)</mo> </mrow> </mrow>
    When in the absence of when transmitting information is responded, only updating the downlink quality in link metric according to (11) formula;
    If the element q of certain up-link in link metrict curIt is before the update afterwards without change and right not equal in R-matrix Answer element ct cur, then by qt curC of the assignment to R-matrixt curIn, and change increase by 1, new new-added item in table in link metric Uplink/downlink is entered as that up, row/column number is entered as cur, result of variations is entered as qt cur;If the descending chain of certain in link metric The element q on roadcur tBefore the update afterwards without change and not equal to corresponding element c in R-matrixcur t, then by qcur tAssignment arrives C in R-matrixcur t, and changing increase by 1 in table in link metric, the uplink/downlink of new new-added item is entered as descending, row/column number Cur is entered as, result of variations is entered as qcur t;It is transferred to step 704);
    If the destination address of step 704) the ack msg frame is equal to current address t, the recipient of the data frame is to work as prosthomere Point, that is, need present node to receive, and now thinks successful launch, if " wait-repeating transmission " timer is still being run, cancels " etc. Treat-retransmit " timer, it is transferred to step 9);
    If the destination address of the ack msg frame is not equal to current address t, but lower jump address is equal to current address t, then the number It is present node according to the relaying person of frame, that is, needs present node to relay;It is transferred to step 705);
    Otherwise the ack msg frame had not both needed present node relaying, it is not required that present node receives;It is transferred to step 9);
    Step 705) remember the source address of the ack msg frame be src, hop count hop, it is lower jump address be nxt, destination address be Dst, the current address in the ack msg frame is entered as t, lower jump address assignment according to the following rules:Travel through in each routing table Src group dst items hop jump element, if this element rr of b-th of routing tableb src dst hopIt is equal with nxt, then Lower jump address assignment is rrb src dst hop+1, hop count be entered as hop+1;Increase by 1 transmitting information list item, by the ack msg frame In source address, current address, lower jump address, destination address, hop count, frame number be corresponding in turn to and recorded in this, this Data type be entered as " ACK ", the launch time of this is entered as present system time, this whether await a response according to Following rule assignments:The lower jump address of the ack msg frame is entered as "No" when being equal to destination address, is otherwise entered as "Yes";Hair Penetrate the ack msg frame;A certain element if there is no any one routing table is equal with nxt, then it is assumed that the ack msg frame is wrong By mistake, relaying is abandoned to avoid the occurrence of loop;It is transferred to step 9).
  9. 9. the loop free route selection method of load balancing according to claim 4, it is characterised in that the step 8) tool Body includes:
    Step 801) " if wait-repeating transmission " timer is more than ACK stand-by period TA, corresponding ack msg frame is not yet received, Sending times counter p adds 1;
    If p exceedes sending times limitation P, abandon launching the DATA frames, remove " wait-repeating transmission " timer, reset and retransmit Number counter p, is transferred to step 9);
    If p limits P not less than sending times, step 802) is performed;
    The order that step 802) increases to T-1 according to j one by one by 0 updates Route Selection concordance list S successively;
    Establish B floating type temporary variable tmpbAnd reset, calculate the generation of B routing table t group jth item successively according to (14) formula Valency;
    Wherein,
    The routing table of Least-cost is selected, the numbering of the routing table is assigned to sj, as shown in (15) formula
    <mrow> <msub> <mi>s</mi> <mi>j</mi> </msub> <mo>=</mo> <munder> <mrow> <mi>arg</mi> <mi> </mi> <mi>min</mi> </mrow> <mrow> <mi>b</mi> <mo>&amp;Element;</mo> <mo>&amp;lsqb;</mo> <mn>0</mn> <mo>,</mo> <mi>B</mi> <mo>)</mo> </mrow> </munder> <mo>{</mo> <msub> <mi>tmp</mi> <mi>b</mi> </msub> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>15</mn> <mo>)</mo> </mrow> </mrow>
    After performing T times, step 803) is transferred to;
    The lower jump address for the DATA data frames that step 803) note does not receive ack msg frame is nxt, according to (16) formula more new chain Uplink quality in the matrix Q of road:
    <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>n</mi> <mi>x</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>n</mi> <mi>x</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>t</mi> <mi>n</mi> <mi>x</mi> <mi>t</mi> </mrow> </msub> <mo>-</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>16</mn> <mo>)</mo> </mrow> </mrow>
    Simultaneously the downlink quality in link metric is updated according to (17) formula:
    <mrow> <msub> <mi>q</mi> <mrow> <mi>n</mi> <mi>x</mi> <mi>t</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>n</mi> <mi>x</mi> <mi>t</mi> <mi>t</mi> </mrow> </msub> <mo>=</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>q</mi> <mrow> <mi>n</mi> <mi>x</mi> <mi>t</mi> <mi>t</mi> </mrow> </msub> <mo>-</mo> <mn>1</mn> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <mi>e</mi> <mi>l</mi> <mi>s</mi> <mi>e</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>17</mn> <mo>)</mo> </mrow> </mrow>
    If the element q of certain up-link in link metric Qt nxtBefore the update afterwards without change and not equal in R-matrix C Corresponding element ct nxt, then by qt nxtC of the assignment to R-matrix Ct nxtIn, and change increase by 1 in table in link metric, newly The uplink/downlink of new-added item is entered as that up, row/column number is entered as nxt, result of variations is entered as qt nxt;If certain in link metric Q The element q of downlinknxt tBefore the update afterwards without change and not equal to corresponding element c in R-matrix Cnxt t, then by qnxt t Assignment c into R-matrixnxt t, and change in link metric and increase by 1 in table, the uplink/downlink of new new-added item be entered as it is descending, Row/column number is entered as nxt, and result of variations is entered as qnxt t;It is transferred to step 3).
CN201711063314.6A 2017-11-02 2017-11-02 Load balancing loop-free routing method Active CN107809781B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711063314.6A CN107809781B (en) 2017-11-02 2017-11-02 Load balancing loop-free routing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711063314.6A CN107809781B (en) 2017-11-02 2017-11-02 Load balancing loop-free routing method

Publications (2)

Publication Number Publication Date
CN107809781A true CN107809781A (en) 2018-03-16
CN107809781B CN107809781B (en) 2020-02-18

Family

ID=61591146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711063314.6A Active CN107809781B (en) 2017-11-02 2017-11-02 Load balancing loop-free routing method

Country Status (1)

Country Link
CN (1) CN107809781B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109362113A (en) * 2018-11-06 2019-02-19 哈尔滨工程大学 A kind of water sound sensor network cooperation exploration intensified learning method for routing
CN109474524A (en) * 2018-05-24 2019-03-15 国网浙江省电力有限公司嘉兴供电公司 A kind of micro-capacitance sensor self-assembly mode of intelligence transmission
CN111050362A (en) * 2018-10-12 2020-04-21 瑞昱半导体股份有限公司 Resource allocation method and full duplex communication system thereof
CN112994990A (en) * 2021-05-20 2021-06-18 蚂蚁金服(杭州)网络技术有限公司 Loop detection method and device, electronic equipment and storage medium
CN117155843A (en) * 2023-10-31 2023-12-01 苏州元脑智能科技有限公司 Data transmission method, device, routing node, computer network and medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202406307U (en) * 2011-12-30 2012-08-29 北京时代凌宇科技有限公司 Wireless sensor network
CN102802231A (en) * 2012-08-14 2012-11-28 中国电子科技集团公司第五十四研究所 Efficient energy aware routing method applicable to sensor network electromagnetic spectrum monitoring system
US8570190B2 (en) * 2007-09-07 2013-10-29 Led Roadway Lighting Ltd. Centralized route calculation for a multi-hop streetlight network
US8760995B1 (en) * 2010-07-08 2014-06-24 Amdocs Software Systems Limited System, method, and computer program for routing data in a wireless sensor network
EP2582182B1 (en) * 2011-10-14 2016-04-13 IHP GmbH-Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik Bluetooth scatternet tree formation for wireless sensor networks
CN105916183A (en) * 2016-06-15 2016-08-31 上海物联网有限公司 Wireless sensor network routing method based on link quality and residual energy
CN106686659A (en) * 2017-02-14 2017-05-17 重庆邮电大学 AOMDV-based energy aware node-disjoint multipath routing algorithm

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8570190B2 (en) * 2007-09-07 2013-10-29 Led Roadway Lighting Ltd. Centralized route calculation for a multi-hop streetlight network
US8760995B1 (en) * 2010-07-08 2014-06-24 Amdocs Software Systems Limited System, method, and computer program for routing data in a wireless sensor network
EP2582182B1 (en) * 2011-10-14 2016-04-13 IHP GmbH-Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik Bluetooth scatternet tree formation for wireless sensor networks
CN202406307U (en) * 2011-12-30 2012-08-29 北京时代凌宇科技有限公司 Wireless sensor network
CN102802231A (en) * 2012-08-14 2012-11-28 中国电子科技集团公司第五十四研究所 Efficient energy aware routing method applicable to sensor network electromagnetic spectrum monitoring system
CN105916183A (en) * 2016-06-15 2016-08-31 上海物联网有限公司 Wireless sensor network routing method based on link quality and residual energy
CN106686659A (en) * 2017-02-14 2017-05-17 重庆邮电大学 AOMDV-based energy aware node-disjoint multipath routing algorithm

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109474524A (en) * 2018-05-24 2019-03-15 国网浙江省电力有限公司嘉兴供电公司 A kind of micro-capacitance sensor self-assembly mode of intelligence transmission
CN109474524B (en) * 2018-05-24 2020-12-15 国网浙江省电力有限公司嘉兴供电公司 Self-organizing information transmission method for micro-grid
CN111050362A (en) * 2018-10-12 2020-04-21 瑞昱半导体股份有限公司 Resource allocation method and full duplex communication system thereof
CN111050362B (en) * 2018-10-12 2023-05-19 瑞昱半导体股份有限公司 Resource allocation method and full duplex communication system thereof
CN109362113A (en) * 2018-11-06 2019-02-19 哈尔滨工程大学 A kind of water sound sensor network cooperation exploration intensified learning method for routing
CN109362113B (en) * 2018-11-06 2022-03-18 哈尔滨工程大学 Underwater acoustic sensor network cooperation exploration reinforcement learning routing method
CN112994990A (en) * 2021-05-20 2021-06-18 蚂蚁金服(杭州)网络技术有限公司 Loop detection method and device, electronic equipment and storage medium
CN117155843A (en) * 2023-10-31 2023-12-01 苏州元脑智能科技有限公司 Data transmission method, device, routing node, computer network and medium
CN117155843B (en) * 2023-10-31 2024-02-23 苏州元脑智能科技有限公司 Data transmission method, device, routing node, computer network and medium

Also Published As

Publication number Publication date
CN107809781B (en) 2020-02-18

Similar Documents

Publication Publication Date Title
CN107809781A (en) A kind of loop free route selection method of load balancing
CN103354654B (en) High energy efficiency wireless sensor network routing method based on ant group algorithm
JP6928603B2 (en) How to adaptively and jointly manage the routing and retransmission policies of nodes in an underwater network and how to implement them.
CN106900025A (en) A kind of wireless sensor network clustering routing based on double cluster heads
CN101364918B (en) Efficiency reliable routing method based on link quality for multi-hop wireless sensor network
CN104093180B (en) Wireless sensing network route method based on multi-gateway data transmisison
CN102523617B (en) DV-Hop algorithm based on node communication radius and beacon node distribution
CN102158938B (en) Power-adjustable zonal sensor network topology control method
EP3588286B1 (en) Environment-aware cross-layer communication protocol in underground oil reservoirs
CN103634842B (en) Method for routing between a kind of distributed satellite network group
CN102625404B (en) Distributed routing protocol method for three-dimensional underwater acoustic sensor networks
CN104009913B (en) Broadcasting method based on distance and energy balance in mobile Ad Hoc network
CN104394566A (en) Fuzzy decision-based low-power dissipation self-adaption clustering multihop wireless sensor network topology control method
CN101965031B (en) Maximum probability-based cognitive radio multi-path multicast routing method
CN104579957A (en) Routing method of delay tolerant network based on degree of intimacy and time constraint forwarding
CN105916120A (en) Source node location privacy protection method based on adaptive clustering
CN113099505B (en) Air-space-ground integrated network routing method
CN103269506A (en) Mobile wireless sensor network routing method of interference sensing
CN104684040A (en) Method for establishing a routing path through Q learning on-board network based on fuzzy reasoning
CN106028398A (en) Underwater wireless sensor network topology control method based on energy consumption balance
Zadeh et al. Distributed optimal dynamic base station positioning in wireless sensor networks
CN101534538A (en) Radio mobile self-organizing network route control system based on quantum searching idea
Erim et al. Optimized mobility models for disaster recovery using UAVs
CN104159265B (en) A kind of data transmission method towards low-speed wireless MANET
CN103596239B (en) A kind of wireless sensor network routing method based on transmission direction and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant