发明名称 一种最大化最小公平多数据流传输调度方法
摘要 本发明提供了一种最大化最小公平多数据流传输调度方法,属于计算机网络中的网络数据流量优化领域。所述方法包括:输入数据中心网络拓扑信息和数据流传输请求信息,计算网络拓扑中每条边的中介性特征值;所述数据中心网络拓扑信息包括各个数据中心之间的链路连接关系和每条链路的带宽容量;所述数据流传输请求信息包括每个数据流传输请求的发送端、目的端和请求传输的数据量;基于所述中介性特征值,对两点间的不同路径进行评估,为每个数据流传输请求选出特定的K条不重叠传输路径的集合P<sub>i</sub>;以及基于每个数据流传输请求的所述K条不重叠传输路径的集合P<sub>i</sub>,迭代求出其对应最优的满足最大化最小公平规则的网络带宽资源分配方案。
申请公布号 CN103036792B 申请公布日期 2015.05.20
申请号 CN201310005320.1 申请日期 2013.01.07
申请人 北京邮电大学 发明人 苏森;双锴;王艺文;徐鹏;王玉龙
分类号 H04L12/733(2013.01)I;H04L12/911(2013.01)I 主分类号 H04L12/733(2013.01)I
代理机构 北京思创毕升专利事务所 11218 代理人 郭韫
主权项 一种最大化最小公平多数据流传输调度方法,其特征在于:所述方法包括:输入数据中心网络拓扑信息和数据流传输请求信息,计算网络拓扑中每条边的中介性特征值;所述数据中心网络拓扑信息包括各个数据中心之间的链路连接关系和每条链路的带宽容量;所述数据流传输请求信息包括每个数据流传输请求的发送端、目的端和请求传输的数据量;基于所述中介性特征值,对两点间的不同路径进行评估,为每个数据流传输请求选出特定的K条不重叠传输路径的集合P<sub>i</sub>;以及基于每个数据流传输请求的所述K条不重叠传输路径的集合P<sub>i</sub>,迭代求出其对应最优的满足最大化最小公平规则的网络带宽资源分配方案;所述基于所述中介性特征值,对两点间的不同路径进行评估,为每个数据流传输请求选出特定的K条不重叠传输路径的集合P<sub>i</sub>包括:(A1):给定网络G(V,E),源点和目的点分别为v<sub>s</sub>和v<sub>t</sub>,以及需要求出的路径数目K;(A2):在网络G上求解其最短路径p1,将p1加入集合Ps,并将p1所占据的带宽资源从G中减去,得到残余网络Gr;所述Ps为分配给每个数据流传输请求的路径集合;(A3):在残余网络Gr上重复步骤(A2)直至路径数达到K或无法求出新的最短路径;若其中出现多条长度相等的路径的情况,选择中介性特征值和最小的路径;所述中介性特征值和是指每个路径中各条边的中介性特征值的和;(A4):若求出K条路径,则转入步骤(A10),否则设置变量k=1,并转入步骤(A5);(A5):将Ps中的路径按照长度从小到大进行排序,然后从Ps中选出第k条路径,p<sub>k</sub>=(v<sub>1</sub>,v<sub>2</sub>,...,v<sub>i</sub>,v<sub>j</sub>,...,v<sub>n</sub>),其中,n为该路径上的节点数量,i,j均为初始值为0的整数;(A6):对任意0<j<n,先将p<sub>k</sub>的链路(v<sub>i</sub>,v<sub>j</sub>)长度设为无穷,之后在网络G上求出从v<sub>1</sub>至v<sub>n</sub>的最短路径p<sub>d</sub>,并将其加入集合B,重复步骤(A6)直至j=n‑1;(A7):将i加1,恢复G中各链路长度为初始值,重复步骤(A6)直至i=n‑2;(A8):从集合B中选出中介特征值和最小的一条路径p’,并将其加入集合Ps;(A9):若求出K条路径,则转入步骤(A10),否则将k加1,并重复步骤(A5)至步骤(A9),直至B中不存在任何路径,然后转入步骤(A10);(A10)结束;所述基于每个数据流传输请求的所述K条不重叠传输路径的集合P<sub>i</sub>,迭代求出其对应最优的满足最大化最小公平规则的网络带宽资源分配方案包括:(B1):基于对数据中心网间带宽资源开销的预测信息,利用时间延展网络转换方法将具有动态空闲带宽资源的网络转换为静态流网络;(B2):基于所述静态流网络,对所有数据流传输请求建立最大化最小公平多商品流线性规划模型;(B3):迭代地求解所述最大化最小公平多商品流线性规划模型,得出各个数据流传输请求的最大传输流量以及对应的数据传输路径;所述(B1)的所述时间延展网络转换方法是这样实现的:将网络资源从时间维度进行延展,使具有动态空闲带宽资源的网络的动态带宽资源和节点的存储资源能力统一转化到一张静态流网络上;所述(B2)中的所述最大化最小公平多商品流线性规划模型为:maximize λ<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo></mtd><mtd><munder><mi>&Sigma;</mi><mrow><msub><mi>r</mi><mi>i</mi></msub><mo>&Element;</mo><mi>R</mi></mrow></munder><munder><mi>&Sigma;</mi><mrow><mi>p</mi><mo>&Element;</mo><msub><mi>P</mi><mi>i</mi></msub></mrow></munder><msubsup><mi>f</mi><mi>p</mi><msub><mi>r</mi><mi>i</mi></msub></msubsup><mo>&le;</mo><msub><mi>C</mi><mi>e</mi></msub><mo>,</mo></mtd><mtd><mo>&ForAll;</mo><mi>e</mi><mo>&Element;</mo><mi>E</mi><mo>,</mo><mi>e</mi><mo>&Element;</mo><msub><mi>P</mi><mi>i</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000663671580000031.GIF" wi="1228" he="165" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><munder><mi>&Sigma;</mi><mrow><mi>p</mi><mo>&Element;</mo><msub><mi>P</mi><mi>i</mi></msub></mrow></munder><msubsup><mi>f</mi><mi>p</mi><msub><mi>r</mi><mi>i</mi></msub></msubsup><mo>&GreaterEqual;</mo><mrow><mi>&lambda;</mi><mo>&CenterDot;</mo><msub><mi>dem</mi><mi>i</mi></msub><mo>,</mo></mrow></mtd><mtd><mo>&ForAll;</mo><msub><mi>r</mi><mi>i</mi></msub><mo>&Element;</mo><msub><mi>R</mi><mi>unsat</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000663671580000032.GIF" wi="1102" he="172" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><munder><mi>&Sigma;</mi><mrow><mi>p</mi><mo>&Element;</mo><msub><mi>P</mi><mi>i</mi></msub></mrow></munder><msubsup><mi>f</mi><mi>p</mi><msub><mi>r</mi><mi>i</mi></msub></msubsup><mo>&GreaterEqual;</mo><mrow><msubsup><mi>&lambda;</mi><msub><mi>q</mi><mi>i</mi></msub><mi>sat</mi></msubsup><mo>&CenterDot;</mo><msub><mi>dem</mi><mi>i</mi></msub><mo>,</mo></mrow></mtd><mtd><mo>&ForAll;</mo><msub><mi>r</mi><mi>i</mi></msub><mo>&Element;</mo><msub><mi>R</mi><mi>sat</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000663671580000033.GIF" wi="1100" he="172" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>f</mi><mi>p</mi><msub><mi>r</mi><mi>i</mi></msub></msubsup><mo>&GreaterEqual;</mo><mn>0</mn><mo>,</mo><mi>&lambda;</mi><mo>&GreaterEqual;</mo><mn>0</mn><mo>,</mo><mo>&ForAll;</mo><mi>p</mi><mo>&Element;</mo><msub><mi>P</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn><mo>.</mo><mo>.</mo><mo>.</mo><mi>K</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000663671580000034.GIF" wi="1091" he="107" /></maths>其中,r<sub>i</sub>是一个数据流传输请求,R是所有数据流传输请求的集合,<img file="FDA0000663671580000035.GIF" wi="101" he="116" />表示在路径p上分配给r<sub>i</sub>的带宽值,C<sub>e</sub>代表链路e的带宽资源,E={e<sub>1</sub>,e<sub>2</sub>,...,e<sub>m</sub>},是网络中所有链路e的集合,λ为饱和的带宽分配比例值,dem<sub>i</sub>是r<sub>i</sub>传输的数据量,R<sub>unsat</sub>为非饱和请求集合,<img file="FDA0000663671580000036.GIF" wi="112" he="118" />为已经求得最大传输流量的那些请求所对应的λ值,R<sub>sat</sub>为饱和请求集合;(1)、(2)、(3)和(4)这四个式子为约束条件。
地址 100876 北京市海淀区西土城路10号