主权项 |
具有QoS保障的深空网络路由方法,其步骤包括如下:(1)获取链路信息业务发起节点查阅星历表获取网络中各链路连通时间段、传播时延及传输速率,并采用传播时延截断的方法进行连通时间段修正,形成可用连通时间段;所述的传播时延截断方法是,在每条链路的每段连通时间段的末尾部分截去与链路传播时延相同的一段时间,形成可用连通时间段,若连通时间段小于传播时延,则舍弃该时间段;(2)路径选定2a)列出源节点到目的节点的所有路径;2b)任选所有路径中一条未进行时延计算的路径作为选定路径;(3)获得第一跳链路时间段采用第一跳计算方法,对第一跳链路可用连通时间段和链路传输速率进行计算,获得业务传输时间段;所述的第一跳计算方法按照下列步骤进行:第一步,将第一跳链路第一段可用连通时间的开始时刻作为传输开始时刻;第二步,传输结束时刻通过下式计算:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>D</mi><mo>=</mo><msubsup><mo>∫</mo><msub><mi>t</mi><mn>1</mn></msub><msub><mi>t</mi><mn>2</mn></msub></msubsup><mi>c</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mi>dt</mi></mrow>]]></math><img file="FSB0000122977560000011.GIF" wi="448" he="134" /></maths>其中,D是业务数据量,∫是积分符号,t<sub>1</sub>是传输开始时刻,t<sub>2</sub>是待求的传输结束时刻,c(t)是链路传输速率c随时间t变化的函数,当链路断开时传输速率为0;第三步,将传输开始时刻和传输结束时刻之间的可用连通时间段作为业务传输时间段;(4)获得其他链路时间段4a)选取第二跳链路为本跳链路,则上一跳链路为第一跳链路;4b)采用其他链路计算方法,对上一跳链路未进行计算的第一段传输时间段和本跳链路可用连通时间段进行计算,获得本跳链路相应的传输开始时刻和结束时刻;所述的其他链路计算方法按照下列步骤进行:第一步,上一跳链路第i段传输时间段的开始时刻和结束时刻分别为<img file="FSB0000122977560000021.GIF" wi="43" he="84" />和<img file="FSB0000122977560000022.GIF" wi="65" he="82" />链路传播时延为T<sub>p</sub>,在本跳各段可用连通时间段中选择大于<img file="FSB0000122977560000023.GIF" wi="140" he="74" />的最小时刻作为本跳第i部分的传输开始时刻<img file="FSB0000122977560000024.GIF" wi="89" he="81" />第二步,上一跳链路第i段传输时间段内传输的数据量可由下式确定:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><msubsup><mo>∫</mo><msubsup><mi>t</mi><mi>s</mi><mi>i</mi></msubsup><msubsup><mi>t</mi><mi>e</mi><mi>i</mi></msubsup></msubsup><mi>c</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mi>dt</mi></mrow>]]></math><img file="FSB0000122977560000025.GIF" wi="580" he="233" /></maths>其中,T<sub>i</sub>是上一跳链路第i段传输时间段内传输的数据量,<img file="FSB0000122977560000026.GIF" wi="54" he="95" />是上一跳链路第i段传输时间段的开始时刻,<img file="FSB0000122977560000027.GIF" wi="62" he="97" />是上一跳链路第i段传输时间段的结束时刻,c(t)是上一跳链路传输速率c随时间t变化的函数,当链路断开时传输速率为0;第三步,本跳链路第i部分传输结束时刻可通过下式计算:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>T</mi><mi>i</mi></msub><mo>=</mo><msubsup><mo>∫</mo><msubsup><mi>t</mi><mi>r</mi><mi>i</mi></msubsup><msubsup><mi>t</mi><mi>g</mi><mi>i</mi></msubsup></msubsup><mi>c</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mi>dt</mi></mrow>]]></math><img file="FSB0000122977560000028.GIF" wi="504" he="165" /></maths>其中,T<sub>i</sub>是上一跳链路第i段传输时间段内传输的数据量,<img file="FSB0000122977560000029.GIF" wi="62" he="104" />是本跳链路第i部分传输开始时刻,<img file="FSB00001229775600000210.GIF" wi="61" he="106" />是本跳链路第i部分传输结束时刻,c(t)是本跳链路传输速率c随时间t变化的函数,当链路断开时传输速率为0;4c)记录传输开始时刻和结束时刻;4d)对于上一跳链路,判断是否完成最后一段传输时间的计算,若完成则执行下一步;否则,更新上一跳链路未进行计算的传输时间段和本跳链路可用连通时间段,转向步骤4b);(5)修正传输时间段采用重合选取的方法,对步骤(4)中计算得到的传输开始时刻和结束时刻修正,确定本跳链路传输时间段;所述的重合选取方法是,选取本跳链路列表中的各部分传输时间段,与步骤(1)中得到的可用连通时间段比较,选取重合的时间段作为本跳传输时间段;(6)判断选定路径是否完成最后一跳链路传输时间的计算,如果完成,则执行下一步;否则,更新本跳链路和上一跳链路,转向步骤4b);(7)确定路径时延采用路径时延计算方法,对业务在第一跳链路传输开始时刻与在最后一跳链路传输结束时刻进行计算,确定路径时延;(8)判断是否存在未进行时延计算的路径,若不存在则执行下一步,否则转向步骤2b);(9)路径确定在各路径中选择时延最小的作为最优路径。 |