译码移动互联网下基于RS编码的文件传输软件设计体系建设

文件传输软件  时间:2021-01-12  阅读:()

移动互联网下基于RS编码的文件传输软件设计体系建设

文件传输是一项非常重要的网络应用。传统的文件传输软件如F TP等通常采用TCP协议 TCP是面向连接的运输层协议它可以实现数据的按序、可靠传输。 TCP最初是针对有线网络设计的该网络的特点是低时延、低误码率。而在移动互联网环境下情形相反大时延高误码率是其特点。 TCP原有的一些设计并不能很好地适应这一新的网络环境导致效率低下。其中 TCP协议的重传机制和拥塞控制机制是导致其在移动互联网环境下效率低下的两个主要原因分析如下。

首先 TCP协议使用重传机制来实现数据的可靠传输。TCP会自动对发送方所发出的数据进行编号并且启动计时器如果在规定的时间内未收到接收方对该数据的ACK便会触发计时器 自动重发数据。如果重传次数超过系统所设定的阈值 TCP协议栈会向上层报告传输失败。对于一次成功的数据传输包括数据发送和ACK成功两个部分缺一不可。对于传统的有线网络来说收发双方的信道质量是有保证的。而对于移动互联网 由于处在无线环境下其误码率大大高于有线环境甚至还会存在信道不对称的情况。TCP 的重传机制会显著增加交互开销从而降低数据传输的成功概率和速率。

针对上述问题提出了多种解决方法常见的方法是对TCP进行优化如TCP网络编码[3-4]、改进拥塞控制[5-7] 。

上述方法的优点是对上层应用透明无需修改即可使用。缺点是需要修改TCP协议栈 由于协议栈与操作系统是紧密结合的。而移动互联网中各种节点上所运行的操作系统型号和版本各不相同需要针对每种系统进行专门的优化从应用的角度来说上述方案可行性较低。

为此该文设计并实现了基于RS编码的文件传输软件。该软件基于UDP协议利用RS编码的特性实现文件分块传输的前向纠错可容忍一定范围内的数据丢失无需重传可有效减少交互开销对超出纠错范围的分片数据利用重传机制保证可靠传输。它具有如下优点首先根除了TCP 拥塞误判所带来的性能下降其次利用RS编码进行前向纠错可有效降低交互开销最后软件独立于操作系统无需修改协议栈可行性高。实验结果表明在高误码率大时延情况下该软件的传输速率明显高于传统的文件传输软件。

1基于RS编码的容错传输机制

1.1 RS编码原理

RS编码是一种常见的纠删码它由Reed I S Solomon G 于1960年提出[8] 。RS算法的基本原理是通过对原始的m个数据进行编码得到n个数据 n>m对于n个编码数据取其中任意的m个数据通过译码操作均可恢复出m个原始数据[9-10] 示意图如下所示基于RS纠删码的信息分散算法 。

RS算法的关键编码和译码过程实际上是一个矩阵的运算过程。假设原始数据为m个则可以视为1行m列的矩阵S1 m与一个m行n列的矩阵Mm n相乘最后的结果为1行n 列的矩阵D 1  n这就是编码过程见式1  。其中Mmn称为生成矩阵它满足这样的一个特性 由该矩阵的任意m 列数据所组成的m*m的方阵M’mm都存在逆矩阵M’-1mm。由编码的过程可以得到下面的公式1  对于方阵M’mm 由式1  可以得到式2 依然成立。又根据生成矩阵的定义对任意的M’mm都存在逆矩阵M’-1mm因此可以得到式3 。由于D1 m是任选的因此式3 即译码过程对于最终剩余的编码数据只要个数大于m个即可从中选择m个组成D1  m 同时选择m个数据在生成矩阵中对应的列组成方阵M’mm计算逆矩阵M’-1m m再运用式1  按照固定的大小对待发送的文件进行分割划分的每个单元称为1个Block每个Block的大小不超过网络的MTU这样做的目的是防止Block在数据链路层进行分片由于分片的传输没有重传机制因此任意一个分片的丢失都会导致上层Block的传输失败需要重传整个Block数据

2 按序对Block进行分组每组Block就是一个编码的基本单元假设一组Block的数量为m m的值可以由上层指定默认为4编码后的Block数量为n默认为6

4发送模块检查当前待发送的Block组根据每个Block 的接收情况确定组内需要发送的Block需要考虑两种情况

一种是该组Block未发送那么直接按序发送组内所有Block第二种情况是该组Block已发送且有部分Block已接收但不满足译码条件此时需要计算要达到译码条件还需要继续发送的Block数并在此基础上加1 例如在m=4 n=8的情况下 已经收到2个Block那么可以计算出还需要译码还需要4-2=2个Block在此基础上再增加1 那么此次发送3个Block只需要收到其中任意2个 即可译码至于待发送的3个Block则从未收到的8-2=6个Block中任意挑选即可

5 发送模块发送完若干组Block数据后会等待接收方的ACK回馈 同时启动定时器。如果超时则会跳到3 重新计算分片序列重新发送。如果接收到ACK清除定时器ACK会包含已收到各组Block的情况如果接收的Block均已满足译码条件则再看该文件的所有数据是否发送完毕如果是则结束如果未完成则跳至3 。如果该组Block 不满足译码条件则跳至3 继续发送。

接收方流程

1  在指定端口监听接收Block组

2 向发送方发送Block接收的ACK

3计算已接收的Block组是否满足译码条件如果不满足跳至1  如果满足则跳至4 

4 对Block组进行译码根据相应的信息将译码得出的Block写入文件对应的偏移处

5 判断文件接收是否完毕如果是则退出如果否

则跳至1  继续接收。

1.3性能分析

与TCP重传机制相比采用RS编码的容错传输机制可以有效提升数据发送的成功概率。假设Block在发送过程中成功率为p待传输的Block数为m编码后的Block数为nn>m 为简化模型不考虑接收方到发送方信道质量的影响 即发送方总能收到ACK。RS编码译码模块是RS算法的实现模块向上提供以字节为单位的RS编码和译码接口。生成矩阵的构建是RS算法实现的一个关键常用的是范德蒙矩阵和柯西矩阵。 由于柯西矩阵的特性译码时对于原始的数据无需译码 因此相对范德蒙矩阵效率高。此外不管是范德蒙矩阵还是柯西矩阵在进行译码时都需要进行矩阵的逆运算 由于实数域的运算都将存在无法整除的可能 因此将矩阵的运算转移到伽罗华域在进行编码和译码时都采用伽罗华域的运算一次编码和一次译码正好实现最终的数据回归到实数域此外伽罗华域的运算还将实数域的加法转换为异或、乘法转换为加、除法转换为减转换后的运算非常适合在计算机上进行优化从而提高效率。

异常处理模块主要是对程序中所遇到的各种异常情况进行进行分类、分级的处理并且写入相应的日志信息。

2.2多线程任务处理框架

按照设计需求传输软件需要支持多任务并行处理包括同时支持发送任务和接收任务 以及多个发送任务或多个

接收任务且任务的执行、操作、状态显示三者都需要并行处理。这就要求软件必须支持任务的异步执行而且底层传输任务的处理与界面的显示和操作之间要有良好的处理接口。为此设计了基于任务队列的多线程处理框架来解决上述问题。

4结束语

本文针对移动互联网环境下误码率高、时延大的特点设计了基于RS编码的文件传输软件利用RS编码进行前向纠错 同时

结合重传机制保证超出纠错范围的数据的可靠传输。实验结果表明在高误码率、大时延情况下该软件在文件传输的成功率和速度上明显优于传统的文件传输软件。该文中所涉及的文件传输协议和基于RS传输的相关技术同样可应用于其它无线环境下传输软件的设计。

参考文献

[1]Holland G Vaidya N.Analysis of TCP performance over mobile ad hoc networks[J].Wireless Networks 2002 8

2/3  275-288.

[2]Xylomenos G Polyzos G CMahonen P et al.TCP performance issues over wireless links[J].Communications Mag azi ne IEEE 2001  39 4  52-58.

[3]Sundararaj an J K Shah DMédard M et al.Network coding meets TCP Theory and implementation[J].Proceedings

of the IEEE 201 1  99 3  490-512.

[4]Juan LWeimin G Junke W et al.Enhanced Network Coding for TCP in Wireless Networks[C].7th International Conference on Wireless Communications Networking and Mobile Computing.Wuhan China 201 1  1-4.

[5]El Rakabawy S M Lindemann C.A practical adaptive pacing scheme for TCP in multihop wireless networks[J].EEE ACM Trans.  Netw 201 1  19 4  975-988.

[6]Dunaytsev RMoltchanov D Koucheryavy Y et al.Modeling tcp sack performance over wireless channels with completely reliable arq/fec Int.J.Communication

Systems[J].201 1  24 12  1533-1564.

[7]Shin K Kim J Choi S B.Loss Recovery Scheme for TCP Using MAC MIB over Wireless Access Networks[J].IEEE Communications Letters 201 1  15 10  1059-1061.

[8]Reed I S Solomon G.Polynomial codes over certain finite fields[J].Journal of the Society for Industrial and Applied Mathematics 1960 8 2  300-304.

[9]罗象宏舒继武.存储系统中的纠删码研究综述[J].计算机研究与发展 2013 49 1   1-1 1.

PacificRack 端午节再来一款年付$38 VPS主机 2核4GB内存1TB流量

这不端午节和大家一样回家休息几天,也没有照顾网站的更新。今天又出去忙一天没有时间更新,这里简单搜集看看是不是有一些商家促销活动,因为我看到电商平台各种推送活动今天又开始一波,所以说现在的各种促销让人真的很累。比如在前面我们也有看到PacificRack 商家发布过年中活动,这不在端午节(昨天)又发布一款闪购活动,有些朋友姑且较多是端午节活动,刚才有看到活动还在的,如果有需要的朋友可以看看。第一、端...

HostWebis:美国/法国便宜服务器,100Mbps不限流量,高配置大硬盘,$44/月起

hostwebis怎么样?hostwebis昨天在webhosting发布了几款美国高配置大硬盘机器,但报价需要联系客服。看了下该商家的其它产品,发现几款美国服务器、法国服务器还比较实惠,100Mbps不限流量,高配置大硬盘,$44/月起,有兴趣的可以关注一下。HostWebis是一家国外主机品牌,官网宣称1998年就成立了,根据目标市场的不同,以不同品牌名称提供网络托管服务。2003年,通过与W...

618云上Go:腾讯云秒杀云服务器95元/年起,1C2G5M三年仅288元起

进入6月,各大网络平台都开启了618促销,腾讯云目前也正在开展618云上Go活动,上海/北京/广州/成都/香港/新加坡/硅谷等多个地区云服务器及轻量服务器秒杀,最低年付95元起,参与活动的产品还包括短信包、CDN流量包、MySQL数据库、云存储(标准存储)、直播/点播流量包等等,本轮秒杀活动每天5场,一直持续到7月中旬,感兴趣的朋友可以关注本页。活动页面:https://cloud.tencent...

文件传输软件为你推荐
独立ip主机独立IP虚拟主机的主机弊端海外主机美国主机与国内主机有哪些区别查询ip怎么查看IP地址域名申请申请域名需要什么条件?具体点!急!急!!!100m虚拟主机100M虚拟主机有多大,能放多少东西虚拟主机mysql在虚拟主机如何打开数据库?jsp虚拟主机虚拟主机不能支持JSP的吗安徽虚拟主机有没有免费使用的主机,网站刚做完,本地测试没有问题,想在线测试一下页面会不会跑版。有谁知道有没有免费的虚拟主机试用,两三天即可。华众虚拟主机管理系统星外,华众,依然这三个虚拟主机管理系统中哪个好花生壳域名一个花生壳使用域名的限制
拜登买域名批特朗普 腾讯云数据库 谷歌香港 win8.1企业版升级win10 元旦促销 免费个人空间申请 四核服务器 优酷黄金会员账号共享 789 谷歌台湾 lamp是什么意思 中国联通宽带测速 徐州电信 云销售系统 netvigator 服务器防御 新疆服务器 windowssever2008 windows2008 美国主机 更多