发明名称 一种适用于空间通信系统的容失文件传输控制方法
摘要 一种适用于空间通信系统的容失文件传输控制方法,包括以下步骤:1)数据编织过程:(1.1)选取一个阶d;(1.2)从N个原始数据块中随机选取d个数据块,记为S′<sub>1</sub>,S′<sub>2</sub>,...,S′<sub>d</sub>;(1.3)对的d个数据块进行逐位异或运算;2)数据解织过程;(2.1)找到阶d=1的数据块,如果接收到的数据块中没有d=1的数据块,再接收更多的数据,直到接收到d=1的数据;(2.2)还原S<sub>k</sub>,令S<sub>k</sub>=t<sub>n</sub>;(2.3)按照生成矩阵找到与S<sub>k</sub>有关的、接收到的其他数据块t<sub>i</sub>,i≠n,且取<img file="200910155561.8_AB_0.GIF" wi="113" he="36" />;(2.4)删除与S<sub>k</sub>相连的所有“边”;(2.5)如果所有的S<sub>i</sub>都被还原,得到原始文件;否则返回步骤(2.1)。本发明能有效避免链路丢包、传输可靠性强、缩短文件传输时延、增大吞吐量。
申请公布号 CN101753616A 申请公布日期 2010.06.23
申请号 CN200910155561.8 申请日期 2009.12.17
申请人 浙江大学 发明人 李晖;郁发新;罗浩;陆哲明
分类号 H04L29/08(2006.01)I;H04L1/00(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;王利强
主权项 一种适用于空间通信系统的容失文件传输控制方法,其特征在于:所述容失文件传输控制方法包括以下步骤:1)、数据编织过程:以发送端的节点数据为编码对象,具体过程为:(1.1)、选取一个阶d;(1.2)、从N个原始数据块中随机选取d个数据块,记为S′1,S′2,…,S′d;(1.3)、对的d个数据块进行逐位异或运算,定义阶的表达式为: <mrow> <mi>p</mi> <mrow> <mo>(</mo> <mi>d</mi> <mo>=</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>&rho;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&mu;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mrow> <mo>(</mo> <mi>&rho;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&mu;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>其中 <mrow> <mi>&rho;</mi> <mrow> <mo>(</mo> <mi>d</mi> <mo>=</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mn>1</mn> <mo>/</mo> <mi>N</mi> <mo>,</mo> </mtd> <mtd> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> <mo>/</mo> <mrow> <mo>(</mo> <mi>i</mi> <mo>&CenterDot;</mo> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mtd> <mtd> <mi>i</mi> <mo>=</mo> <mn>2</mn> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <mi>N</mi> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow> <mrow> <mi>&mu;</mi> <mrow> <mo>(</mo> <mi>d</mi> <mo>=</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mi>S</mi> <mo>/</mo> <mrow> <mo>(</mo> <mi>i</mi> <mo>&CenterDot;</mo> <mi>N</mi> <mo>)</mo> </mrow> <mo>,</mo> </mtd> <mtd> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <mo>[</mo> <mi>N</mi> <mo>/</mo> <mi>S</mi> <mo>]</mo> <mo>-</mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mi>S</mi> <mo>&CenterDot;</mo> <mi>ln</mi> <mrow> <mo>(</mo> <mi>S</mi> <mo>/</mo> <mi>&delta;</mi> <mo>)</mo> </mrow> <mo>/</mo> <mi>N</mi> <mo>,</mo> </mtd> <mtd> <mi>i</mi> <mo>=</mo> <mo>[</mo> <mi>N</mi> <mo>/</mo> <mi>S</mi> <mo>]</mo> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> <mo>,</mo> </mtd> <mtd> <mi>i</mi> <mo>=</mo> <mo>[</mo> <mi>N</mi> <mo>/</mo> <mi>S</mi> <mo>]</mo> <mo>+</mo> <mn>1</mn> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <mi>N</mi> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>编织过程阶的均值为 <mrow> <mover> <mi>d</mi> <mo>&OverBar;</mo> </mover> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>i</mi> <mo>&CenterDot;</mo> <mi>p</mi> <mrow> <mo>(</mo> <mi>d</mi> <mo>=</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>i</mi> <mo>&CenterDot;</mo> <mrow> <mo>(</mo> <mi>&rho;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&mu;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mrow> <mo>(</mo> <mi>&rho;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&mu;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> </mrow>编织需要N·d·Ldata次异或运算,其中Ldata为每个数据块的长度;2)、数据解织过程;接收端数据的还原过程过程为:(2.1)、找到阶d=1的数据块,如果接收到的数据块中没有d=1的数据块,再接收更多的数据,直到接收到d=1的数据;(2.2)、还原Sk,令Sk=tn;(2.3)、按照生成矩阵找到与Sk有关的、接收到的其他数据块ti,i≠n,且取 <mrow> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>=</mo> <msub> <mi>S</mi> <mi>k</mi> </msub> <mo>&CirclePlus;</mo> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>;</mo> </mrow>(2.4)、删除与Sk相连的所有“边”;(2.5)、如果所有的Si都被还原,得到原始文件;否则返回步骤(2.1)。
地址 浙江省杭州市西湖区浙大路38号