《基于广域网大数据传输技术的研究与实现_陈雄健.docx》由会员分享,可在线阅读,更多相关《基于广域网大数据传输技术的研究与实现_陈雄健.docx(69页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 、河北科技大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研宄工 作所取得的成果。对本文的研宄做出重要贡献的个人和集体,均已在文中以明确方 式标明。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体己经发 表或撰写过的作品或成果。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名 : 魏 I fij年 i月斗曰 指导教师签名: 年 5 月冲日 河北科技大学学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本 人授权河北科技大
2、学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密,在 _年解密后适用本授权书。 本学位论文属于 y不保密。 (请在以上方框内打 “ V” ) 学位论文作者签名 : 指导教师签名: 咔年 6 月岬日 知 Y 年 月彳日 Classified Index: TP393 Secrecy Rate : Publizied UDC: 004.7 University Code: 10082 Hebei University of Science and Technology Dissertation for the Master
3、Degree Research and Implementation of Big Data Transmission Technology Based on WAN Candidate: Supervisor: Enterprise Supervisor: Academic Degree Applied for: Speciality: Employer: Date of Oral Examination: Chen Xiongj ian Prof. Wang Yafang Senior Engineer Nan Fangyan Master of Engineering Electric
4、and Communication Engineering School of Information Science & Engineering May, 2014 随着网络技术的发展,以及计算机处理能力的提升,互联网产品如雨后春笋般 涌现,整个世界正逐渐向万物互联靠近。然而随之产生的海量数据却困扰着众多科 研工作者,这些数据不仅容量大,产生速度快,而且种类繁多,具有跨地域性特点。 人们通常将这样的数据称之为大数据,由大数据所衍生的一些应用,如舆情分析、 气象预测以及广告投放等,都具有重要商业价值和科研价值。大数据在广域网内高 效稳定地传输,是大数据应用的前提,也是进行大数据分析与处理的基础
5、。传统广 域网数据传输的解决方案虽然比较成熟,但在大数据时代具有诸多局限性,例如传 输过程繁琐,传输效率不佳以及不适用于多源数据传输。 论文对大数据传 输相关内容进行了深入研宄,重点解决了广域网内数据传输不 稳定以及传输效率低的问题。本文通过对比研宄,选取 TCP作为传输层协议,设计 出一种高效的应用层报文,以解决传输过程繁琐的问题;通过对相关数据传输技术 以及广域网加速方案的分析与研宄,利用推送与收取的思想,设计了以事件为驱动 的消息队列,以保证大数据传输的可靠性;结合广域网和大数据的特点,通过自动 调节机制,设计了一种高效的资源控制和缓存控制方法,以提高数据传输的效率; 利用 JAVA和
6、C语言完成了通信管理模块、数据报封装模块、节点数据传输模块以 及中心同 步模块的设计和集成,构建了一种基于消息队列的大数据传输系统。通过 对传输系统的功能和性能测试,证明了论文设计的传输系统与其他的传输系统相比, 传输速率和网络丢包率都有一定优势。 关键词大数据;数据传输;消息队列;分布式技术;广域网 Abstract With the development of network technology, as well as the improvement of computer processing ability, Internet products spring up quickly,
7、 and the world is gradually towards a state that all things connected. However, the consequent mass data bring many troubles to researchers. These data mean not only large capacity, fast generation, and great varieties, but also distributing in various regions, so people often refer these data as bi
8、g data. A large number of applications derived by big data, such as public opinion analysis, weather forecast, and advertising, which have important commercial value and research value. The efficient transmission of big data in the WAN is not only the premise of the big data applications, but also t
9、he basis of big data processing and analysis. The traditional data transmission methods may be more mature than the news, but in the age of big data, these methods have many limitations, such as tedious transmission process, low transmission efficiency and no adaptation to the multi-source data tran
10、smission. This paper does research deeply on the technologies related to data transmission, and mainly resolve the problems of instability and low efficiency in the transmission. This paper selects TCP as transfer protocol, and designs an efficient packet in the application layer which resolves the
11、problem of complex transmission method. Based on the analysis on the research result of data transmission and WAN Acceleration, using the method of push and pop, this paper designs a message queen driven by event to ensure the reliability of data transmission. According to the characteristics of the
12、 WAN and big data, using the idea of automatic adjustment, this paper puts forward an effective method to do resource control and cache control which improves the efficiency of data transmission. According to the research result above, this paper completes the design of communication management modu
13、le, datagram encapsulation module, node data sending module and center synchronization module by using JAVA and C programmer, then build a big data transmission system based on message queue. Through function and performance test to the transmission system, it proves that has certain advantages in t
14、ransmission rates and network packet loss rate compared with other transmission system. Key Words Big data; Data transmission; Massage queen; Distributed technology; Wide area network III 目录 W . I Abstract . Ill 第 1 章 绪 论 . 1 1.1论文研宄背景和意义 . 1 1.2 国内外研宄现状 . 2 1.3 课题研宄内容 . 4 1.4 论文组织结构 . 4 第 2章相关内容分析
15、. 7 2.1 H 3 . 7 2.2 网络传输协议 . 7 2.2.1 网络模型 . 7 2.2.2数据链路层分析 . 8 2.2.3 网络层分析 . 9 2.2.4传输层分析 . 10 2.3 数据交换格式 . 11 2.3.1数据交换格式在数据传输中的地位 . 11 2.3.2常见的数据交换格式 . 11 2.4 消息中间件技术 . 14 2.4.1 消息中间件介绍 . 14 2.4.2 消息中间件的特点 . 14 2.4.3 各类消息中间件 . 15 2.5 分布式技术 . 16 2.5.1 分布式技术的产生 . 16 2.5.2 分布式技术的核心 . 16 2.5.3 大数据传输中的
16、分布式技术 . 16 2.6 网络编程 . 17 2.6.1 网络编程的概念 . 17 2.6.2 Socket 通信过程 . 17 2.6.3 常见的网络编程技术 . 18 2.7 本章小结 . 19 第 3章传输稳定高效性对比研宄 . 21 V 3.1 概述 . 21 3.2传输协议选择 . 21 3.2.1 传输协议对比 . 21 3.2.2 TCP连接建立与结束 . 22 3.2.3 TCP长连接测试 . 25 3.3 分布式多线程 . 26 3.3.1 自适应线程池 . 27 3.3.2 分布式传输 . 27 3.4 异步传输 . 28 3.5 拥塞控制 . 29 3.5.1 拥塞控
17、制原理 . 29 3.5.2 拥塞控制优化 . 29 3.6 流量控制 . 30 3.6.1 流量控制原理 . 30 3.6.2 流量控制优化 . 30 3.7 本章小结 . 31 第 4章大数据传输系统设计与实现 . 33 4.1 系统架构组成 . 33 4.2通信管理模块 . 33 4.2.1基础服务子模块 . 34 4.2.2传输控制子模块 . 35 4.2.3事务管理子模块 . 36 4.3 数据报封装模块 . 38 4.3.1 交换格式数据生成 . 38 4.3.2 报文头部的生成 . 39 4.3.3 报文的封装 . 39 4.4节点数 据传输模块 . 40 4.4.1 数据发送与
18、接收 . 40 4.4.2 本地缓存控制 . 41 4.4.3 可靠传输实现 . 43 4.4.4 缓冲区大小设置 . 44 4.4.5 +断处理设计 . 45 4.5 中心数据同步模块 . 46 4.5.1 大数据收集器 BD MC . 46 VI 4.5.2数据存储控制 . 47 4.6 本章小结 . 48 第 5 章 系 统 测 试 . 49 5.1搭建系统测试环境 . 49 5.1.1查看服务器配置 . 49 5.1.2 系统部署 . 49 5.1.3 测试指标 . 49 5.2数据传输系统功能测试 . 50 5.3数据传输吞吐量对比测试 . 52 5.4 丢包率对比测试 . 55 5
19、.5 测试总结 . 56 5.6 本章小结 . 56 会吉 i仑 . 57 参考文献 . 61 至夂 i射 . 65 VII 第 1 章绪论 1.1论文研究背景和意乂 进入 21世纪以来,随着计算机和网络技术的迅速发展,网络带宽、存储容量以 及计算机处理器能力都有了质的飞越,人们对于网络的依赖程度也越来越高,利用 网络进行工作、学习和娱乐,享受网络带来的快捷与便利,网络进一步融入了人们 的生活。 根据中国互联网络信息中心在 2014年 1月 16日发布的中国互联网络发展状 况统计报告统计,截止到 2013年 12月,中国网络用户的规模已经达到了 6.18亿, 较上一年度提升 3.7个百分点 1
20、。 与此同时,基于网络的应用产品也如雨后春笋般诞生,这些应用不仅能够为人 们的日常生活提供便利,而且还能满足科学研宄的需要 2。然而,网络应用所产生的 数据却成指数倍增加,远远超过了以往所处理的数据大小,并且这些数据产生的速 度极为迅速,来源与结构纷繁不一。人们通常将这种复杂而又繁多数据称之为大数 据 3。 2012年,信息技术研宄公司 -高德纳,对大数据进行了更为精确的表述:大数 据是容量大、产生速度快、种类多样以及具有跨地域性的信息资源,需要利用先进 的处理技术,以提高对其规律的洞察,流程的优化以及决策的制定 4。 在互联网社交领域, 2012年,新浪微博一天的微博发布数量就 达到 2亿条
21、左右, 若一条微博的大小为 20KB, 则一天所产生的数据量在 4TB左右;在电子商务领域, 阿里巴巴在“ 双十一 ” 期间独领风骚, 16小时订单数破千万,单日成交额高达 191 亿元,所产生的数据量更是超过 100TB;而在科学研宄领域,欧洲大型强粒子对撞 机 2012年积累产生的新数据量约为 15PB。 2010年至 2012年仅仅 3年时间,世界范 围内所产生的数据量就已经超过了 2010年以前的数据总和,人们真正进入了大数据 时代 5。 根据大数据应用的步骤,大数据技术可以分为提取、传输、存储、计算、挖掘 和展现六个部分。其中,大数据的传输是后续数据应用的先决条件。然而,大数据 应用
22、中的数据传输与传统数据传输有很大差异,最主要表现为三个方面:一是数据 流量具有突发性特点,二是数据传输任务有优先级之分,三是数据分布具有分散性 特点 5。所以,怎样满足大数据传输的要求,实现网络应用中的大数据高效传输,尤 其是在网络拓扑较为复杂的广域网内的大数据传输,是当前亟需解决的重大问题。 大数据中蕴含丰富的内容,其创造的价值无法估量。通过研宄广域网内大数据 的传输技术,可以提高数据传输的稳定性和可靠性,使得大数据的分析与处理工作 1 更为迅捷,从而使得利用大数据技术进行行业的预测和分析更为及时与准确,例如 广告投放、舆情分析以及天气预报等,具有相当高的商业和科研价值。 1.2国内外研究现
23、状 大数据传输技术是为了适应大数据应用的特点,所设计研宄的数据传输技术。 广域网数据传输技术作为大数据应用的基础,是信息时代网络应用的核心技术,其 发展和演化的速度非常之快。根据所用应用层技术的不同,先后出现了基于 FTP(FUe Transfer Protocol, 文件传输协议 ) 的传输技术,基于 HTTP (Hyper Text Transfer Protocol, 超文本传输协议)的传输技术,以及基于 RPC (Remote Procedure Call, 远 程过程调用)的传输技术 6。 基于 FTP协议的传输技术,就是利用 FTP协议,对不同平台间的数据进行传输 和共享。FTP进
24、行通信需要生成两个不同的连接,首先利用 TCP( Transmission Control Protocol,传输控制协议 ) 生成一个用作信息控制的虚拟连接,进行客户机和服务器 间的控制命令与信息交换;然后再生成一个独立的 TCP连接,主要 进行数据的交换 传输。 FTP传输可以使用两种模式:主动和被动模式。在主动模式下,客户机和服 务器必须同时打开,并且监听同一个端口,以便建立连接。但是在这种情况下,会 出现影响防火墙使用的问题,所以 FTP又增加了被动模式。被动模式仅仅需要服务 器建立一个监听连接端口的进程,客户机则不用监听端口,这样便可避免客户端安 装防火墙所产生的问题。虽然 FTP技
25、术将数据传输变得更为便捷,但除了上述防火 墙兼容性问题外,其还有另外三个弊端。即对于数据格式的检查过于严格,传输交 互过程过于复杂以及侦听方式不合理 7。 基于 HTTP协议的数据传输技术,是利用 HTTP协议进行高效数据传输的方法。 HTTP协议是由客户端 /服务端模型发展起来的高效传输协议,通过 Web浏览器与服 务器进行通信,以实现数据交换与传输。一般情况下,是多个客户端对应一个服务 端。 HTTP下层的传输协议为 TCP传输协议,当利用 HTTP传输少量数据时,启用 短连接,即单个数据传输完毕后双方都自动断开连接,这样做是为了防止空闲连接 导致其他客户端连接失败,使每个客户端都享有同等
26、的数据传输机会;但当利用 HTTP传输视频等大量数据时,通信连接会一直保持,直至所有数 据传输完成才断开 连接,这样节省了重连所耗费的时间 8。虽然 HTTP协议的功能非常丰富,但由于其 报文复杂,所以在进行数据传输时往往占用更多的时间。 基于 RPC的传输技术,是利用 RPC协议,通过远程网络调用计算机程序进行请 求数据传输任务的技术。使用者不用关心底层网络协议,只需要关注相关数据传输 业务。 RPC协议是以某种传输协议存在为前提,例如 TCP协议和 UDP协议,并基 于这种协议来进行相关通信程序间的数据交换与传输。在 TCP/IP网络通信模型中, 2 RPC协议覆盖了传输层和应用层。 RP
27、C协议使得分布式网络应用服务的开发更加便 捷,也更加灵活,开发者可以针对业务需求设计相应的应用层报文 9。虽然基于 RPC 的数据传输技术简化了下层网络结构的设计,提供了更为简单的通信方式,有利于 多源异构数据的传输,但其优化手段少、传输速度较慢的缺点制约着传输效率的提 随着大数据和云计算技术的兴起,越来越多的互联网企业和科研单位开始研宄 符合业务需求的广域网内大数据传输技术,以及广域网传输加速技术。其研宄的方 向主要有三个,一是基于数据的传输优化研宄,二是基于传输协议的传输优化研宄, 三是基于应用协议的传输优化研宄。 (1) 基于数据的传输优化研 究基于数据的传输优化研宄主要是针对数据压缩
28、的研宄,当数据进行压缩后,可以减少字节流中重复数据所占用的空间,从而降低 传输定量数据所耗费的带宽数量,对于带宽有限的广域网来说,可以提高数据的传 输速率。数据的压缩根据信息完整性情况可以分为有损压缩和无损压缩两类。有损 压缩允许数据在压缩的过程中有一定的不敏感信息缺失,例如在视频和音频的压缩 中,多采用这种有损压缩。而无损压缩则是利用 数据的冗余和重复性,对重复内容 进行统计归类从而实现压缩,其压缩比往往可以达到 3:1以上 1()。广域网数据传输 一般利用一些通用的数据压缩算法实现,例如 Huffman、 RLE压缩算法等。经过数 据压缩后再进行数据传输往往能够将传输速率提高 40%以上。
29、 (2) 基于传输协议的传输优化研究 对于数据进行压缩只是表面上缓解了大数 据总量庞大的问题,数据传输的根本问题则是体现在网络模型各层协议的性能上。 而传输协议和应用协议是其中最为关键的两层协议。由上世纪 70年代开始,广大科 研工作者通过不懈的努力,对数据传输层的拥塞 控制和流量控制算法进行多次的改 进,提出了多种 TCP传输的改进方案,包括 HSTCP、 STCP、 ? &5110)等 11,然而 由于自身的一些缺陷以及广域网的复杂性,这些新的传输协议还不能广泛推广运用。 除此之外, C1SC 、 Fastsoft等网络加速设备制造商也提出了很多建设性的加速方法, 使得数据能够在各自设备中
30、进行端到端的高效传输。其中 Cisco在 WAAS (广域网 应用服务)产品中,通过改变 TCP握手时 ACK的确认方法来减少建立连接和断开 连接是的握手次数,实现了广域网数据高效传输。 0!1 _1111、 0&11等在文献 12 中提出了一种 TCP的改进版本 FastTCP, 对拥塞算法进行了改进,兼容现有 TCP协 议,能够使数据传输速度提高 2-3倍。 (3) 基于应用协议的传输优化研究 上述两方面研宄虽然应用范围较广,但毕 竟没有对具体的业务需求进行有针对性的优化,所以对于数据传输速率的提升有限。 基于应用协议的传输优化主要通过简化应用层协议、使用并行传输以及利用高效应 用算法等方
31、式来解决。Riverbed公司利用 “ 可变长数据索引 ” 技术,将一整块数据 3 分割 成多个独立的小块数据,并对每块数据进行标记,并将广域网数据传输划分成 多个局域网传输,利用已有数据的指针偏移量来简化数据量,这样,有些数据传输 仅仅传送一些指针,传输速率自然也就提高了。 Aspera公司发明了核心专利 “ FASP” 传输技术,突破了固有带宽的限制,无论传输距离,网络条件以及文件大小,利用 现有的广域网资源设施,实现速度数百倍的 FTP和 HTTP, 并提供端到端的安全、 可 靠 和 卓 越 的 带 宽 控 制 。 国内 的 阿 里 巴 巴 公 司 , 建 立 实 时 数 据 传 输 平
32、 台 “ TIMETUNNEL” ,利用分布式和消息队列技术,将实时产生的数 据通过消息拉取 方式进行数据传输,每天入口流量在 50MB/S左右,出口流量在 120MB/S左右,在 有限带宽情况在达到高效的数据传输 13。 1.3课题研究内容 本课题的研宄内容是以数据传输为基础,针对大数据的特点,在广域网带宽有 限的情况下,针对 TCP/IP网络模型中的传输层和应用层进行细致的分析和研宄,并 且结合多源异构数据特点以及大数据应用需求,研宄出一种有效的大数据传输方式, 保证大数据在广域网内高效、稳定地传输。具体可以包括以下几方面 : (1) 传输协议的研究 通过对网络模型中各个协议层报文和协议算
33、法的深入研 宄,结合不同传输协议下传输速率的对比情况,选取适合大数据传输的传输协议, 并研宄优化和改进的方案,力图提高数据的传输效率。 (2) 数据交换格式的研究通 过对不同数据交换格式的对比测试,筛选出能够 整合多源异构数据的交换格式,这个格式必须能够最大程度降低数据体积,并且适 合在广域网内传输。 (3) 分布式数据高效性传输研究 由于大数据多由分布式应用所产生,具有跨 地域性特点,所以研宄分布式数据传输方法,避免因数据集中发送而产生的瞬时拥 塞,提高整体数据传输速率。将不同地域的数据 高效地传输到目的端后,等待下一 步数据分析与处理工作。 (4) 复杂网络下稳定传输 研究在大数据传输的过
34、程中,需要一种可靠的传输 控制机制对传输过程进行监控。为此,研宄高效的传输控制机制,为传输过程中所 遇到的突发事件提供解决方案。并且研宄如何在大量并发传输时保证数据传输的平 稳,防止波峰波谷互相交替情况出现。 (5) 大数据传输系统研究与设 计综合上述研宄成果,利用网络编程技术,对 技术细节进行实现,构建一种高效的数据传输系统,保证大数据在广域网内高效、 稳定地传输。 1.4论文组织结构 第 1章为绪论部分,主要是对论文的研宄 背景进行较为详细的阐述,并探讨了 4 针对广域网内大数据传输技术研宄的原因和意义所在,介绍了科技工作者在相关领 域的研宄成果。最后阐述了论文所要做的一些工作内容,同时设计和安排了论文的 组织结构。 第 2章是相关内容分析,对解决广域网大数据传输问题所涉及到的网络传输协 议、数据交换格式、消息中间件、分布式传输以及网络编程技术进行了较为系统论 述,分析和比较了这些技术在解决大数据传输时的作用,根据大数据传输中需要解 决的问题,选取合适的技术方案。 第 3章是传输稳定高效