一种数据流传输方法技术

技术编号:14850098 阅读:78 留言:0更新日期:2017-03-18 12:36
本发明专利技术提出一种数据流传输方法,包括:接收端判断数据流是否需要被压缩,若是,则建立有效映射关系,将需要压缩的数据流写入映射表,映射表存储在发送端和接收端;发送端通过查询映射表判断当前数据流是否能被压缩,若是,则用可被压缩数据流在映射表中对应的索引来压缩该数据流,并发送压缩后的数据流;接收端接收发送端发送的数据流,判断接收到的数据流是否为被压缩的数据流,若是,则在被压缩数据流中提取映射表的索引,并通过查询映射表获取被压缩数据流内容,从而解压缩数据流;接收端判断数据流是否不再需要被压缩,若是,则将映射表中相应的映射关系设为无效。本发明专利技术通过提高数据带宽的利用率,从而缓解数据拥塞的情况。

【技术实现步骤摘要】

本专利技术涉及通信
,具体涉及一种数据流传输方法
技术介绍
对于数据中心,网路拥塞一直是应用中需要面对的问题。特别是越来越多新型数据中心采用大量相对廉价的交换机代替传统的昂贵且不易扩展的设备后,核心层和汇聚层的交换网路变得更加复杂,数据拥塞更是亟待解决的问题。造成数据拥塞的原因有多种,最主要是存在多对一的情况(比如,图1中核心层和汇聚层之间)。现有的一些路径选择等技术可以减少这种情况发生,但无法完全避免。现有提高带宽利用率的技术大多为基于软件的压缩技术,缺点为:1)需要占用较多的处理器(CPU)运算时间和带宽;2)性能往往不如基于硬件的压缩技术;3)一台网络设备的多个端口同时进行压缩/解压缩时,处理器的带宽和运算能力会成为瓶颈(如图2示例)。
技术实现思路
为此,本专利技术提出一项基于硬件的,在相邻两台网络设备数据链路上对数据流进行传输的方法,通过提高数据带宽的利用率,从而缓解数据拥塞的情况。具体方案如下:一种数据流传输方法,包括步骤:接收端判断数据流是否需要被压缩,若是,则建立有效映射关系,将需要压缩的数据流写入映射表,映射表存储在发送端和接收端,若否,则不建立有效映射关系;发送端通过查询映射表判断当前数据流是否能被压缩,若是,则用可被压缩数据流在映射表中对应的索引来压缩该数据流,并发送压缩后的数据流,若否,则直接发送未被压缩数据流;接收端接收发送端发送的数据流,判断接收到的数据流是否为被压缩的数据流,若是,则在被压缩数据流中提取映射表的索引,并通过查询映射表获取被压缩数据流内容,从而解压缩数据流,若否,则不需要解压缩数据流;接收端判断数据流是否不再需要被压缩,若是,则将映射表中相应的映射关系设为无效,若否,则保持该映射关系为有效。进一步的,所述的接收端判断数据流是否需要被压缩,若是,则建立有效映射关系,将需要压缩的数据流写入映射表,映射表存储在发送端和接收端,若否,则不建立有效映射关系具体包括:接收端查询映射表判断映射表是否具有该数据流内容,若否且映射表存在空数据存储位,则将该数据流内容写入映射表;获取接收到该数据流内容的频率;比较接收到该数据流内容的频率与预设的第一阈值的大小,若接收到该数据流内容的频率大于预设的第一阈值,则数据流需要被压缩,否则不需要被压缩;若数据流需要被压缩,则将映射表中的相应映射关系设为有效,若数据流不需要被压缩,则该映射关系无效,对应的映射表中的数据存储位仍可用于建立新的映射关系;发送端映射表建立与接收端同样的映射关系。进一步的,所述的发送端映射表建立与接收端同样的映射关系的具体方法是:接收端发送注册包至发送端,注册包包含需要压缩的数据流内容以及映射表的索引;发送端收到注册包后,将需要压缩的数据流内容写入映射表相应索引处;发送端发送ACK包给接收端。进一步的,所述的用可被压缩数据流在映射表中对应的索引来压缩该数据流的具体方法是:用索引值替换需要压缩数据流内容;在被压缩数据流中设置相应标志位或者标志段,用预先设定的不同值,来区分被压缩数据流和未被压缩数据流。进一步的,所述的判断接收到的数据流是否为被压缩的数据流的具体方法是:根据接收到的数据流中上述标志位或者标志段的值,判断是否为被压缩数据流。进一步的,所述的接收端判断数据流是否不再需要被压缩的具体方法是:接收端检测映射表各数据存储位对应的压缩数据内容传输的频率,并比较各个压缩数据内容传输频率与预设的第二阈值的大小,若某个压缩数据内容传输频率小于预设的第二阈值,则将接收端映射表中该压缩数据内容对应的数据存储位设为空,即将相应的映射关系设为无效;将发送端映射表中该压缩数据内容对应的数据存储位设为空。进一步的,所述的将发送端映射表中该压缩数据内容对应的数据存储位设为空的具体方法是:接收端发送注销包至发送端;发送端收到注销包后,将发送端的映射表的数据存储位设为空,停止压缩该数据流的数据包,并发送ACK包给接收端;接收端收到ACK包后,也将接收端的映射表的相应栏设为空。其中,所述的压缩数据流内容包括但不限于源MAC地址、目的MAC地址、源IP地址、目的IP地址、TCP源端口地址和TCP目的端口地址。优选的,所述存储发送端映射表的存储介质是寄存器或者三态内容寻址存储器,所述存储接收端映射表的存储介质是寄存器或者静态随机存取存储器。本专利技术的有益效果如下:通过不断更新的映射表,形成自适应机制对数据流进行压缩传输,极大提升了压缩效果以及传输效率,在数据包长度较短时,压缩效果明显;在链路两端MAC电路之间自动进行,对上层软件透明,所以数据包不需要送到处理器就能完成压缩和解压缩,与基于软件的压缩技术相比,该技术不需要处理器参与;一台网络设备的多个端口可以同时进行压缩和解压缩,而基于软件的压缩技术由于需要处理器参与,在多个端口同时进行压缩或解压缩时,处理器带宽和运算能力都可能成为瓶颈。附图说明图1为FatTree网络拓扑结构示意图;图2为多个端口同时进行压缩/解压缩的示意图;图3为以太网帧结构示意图;图4为IP首部结构示意图;图5为TCP首部结构示意图;图6为一实施例映射表;图7为以太网数据包格式示意图;图8为压缩后的以太网数据包示意图;图9为压缩和解压缩的整体结构图;图10为注册流程图;图11为注销流程图。具体实施方式为进一步说明各实施例,本专利技术提供有附图。这些附图为本专利技术揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本专利技术的优点。现结合附图和具体实施方式对本专利技术进一步说明。本专利技术的压缩技术依据如下:以TCP/IP协议来举例,在实际的应用中,两个终端之间的一个数据流会持续一段时间。同一个数据流中的数据包(如图3所示的以太网帧)有很多栏位是一致的,比如以太网首部中的源/目的MAC地址、IP首部(图4)中的部分栏位、以及TCP首部(图5)中的部分栏位。如果相邻两台设备之间能建立相同的映射表,将相同的数据栏位(较长)用标签位(较短)代替,那就能在相邻两台设备间实现数据压缩与解压缩,从而提高带宽利用率。映射表由硬件来实现,通过查对应的映射表,可以快速有效的实现数据的压缩和解压缩。基于上述的压缩依据,本专利技术提出一种数据流传输方法,包括步骤:接收端判断数据流是否需要被压缩,若是,则建立有效映射关系,将需要压缩的数据流写入映射表,映射表存储在发送端和接收端,若否,则不建立有效映射关系;发送端通过查询映射表判断当前数据流是否能被压缩,若是,则用可被压缩数据流在映射表中对应的索引来压缩该数据流,并发送压缩后的数据流,若否,则直接发送未被压缩数据流;接收端接收发送端发送的数据流,判断接收到的数据流是否为被压缩的数据流,若是,则在被压缩数据流中提取映射表的索引,并通过查询映射表获取被压缩数据流内容,从而解压缩数据流,若否,则不需要解压缩数据流;接收端判断数据流是否不再需要被压缩,若是,则将映射表中相应的映射关系设为无效,若否,则保持该映射关系为有效。进一步的,所述的接收端判断数据流是否需要被压缩,若是,则建立有效映射关系,将需要压缩的数据流写入映射表,映射表存储在发送端和接收端,若否,则不建立有效映射关系具体包括:接收端查询映射表判断映射表本文档来自技高网...
一种数据流传输方法

【技术保护点】
一种数据流传输方法,其特征在于,包括步骤:接收端判断数据流是否需要被压缩,若是,则建立有效映射关系,将需要压缩的数据流写入映射表,映射表存储在发送端和接收端,若否,则不建立有效映射关系;发送端通过查询映射表判断当前数据流是否能被压缩,若是,则用可被压缩数据流在映射表中对应的索引来压缩该数据流,并发送压缩后的数据流,若否,则直接发送未被压缩数据流;接收端接收发送端发送的数据流,判断接收到的数据流是否为被压缩的数据流,若是,则在被压缩数据流中提取映射表的索引,并通过查询映射表获取被压缩数据流内容,从而解压缩数据流,若否,则不需要解压缩数据流;接收端判断数据流是否不再需要被压缩,若是,则将映射表中相应的映射关系设为无效,若否,则保持该映射关系为有效。

【技术特征摘要】
1.一种数据流传输方法,其特征在于,包括步骤:接收端判断数据流是否需要被压缩,若是,则建立有效映射关系,将需要压缩的数据流写入映射表,映射表存储在发送端和接收端,若否,则不建立有效映射关系;发送端通过查询映射表判断当前数据流是否能被压缩,若是,则用可被压缩数据流在映射表中对应的索引来压缩该数据流,并发送压缩后的数据流,若否,则直接发送未被压缩数据流;接收端接收发送端发送的数据流,判断接收到的数据流是否为被压缩的数据流,若是,则在被压缩数据流中提取映射表的索引,并通过查询映射表获取被压缩数据流内容,从而解压缩数据流,若否,则不需要解压缩数据流;接收端判断数据流是否不再需要被压缩,若是,则将映射表中相应的映射关系设为无效,若否,则保持该映射关系为有效。2.根据权利要求1所述的一种数据流传输方法,其特征在于,所述的接收端判断数据流是否需要被压缩,若是,则建立有效映射关系,将需要压缩的数据流写入映射表,映射表存储在发送端和接收端,若否,则不建立有效映射关系具体包括:接收端查询映射表判断映射表是否具有该数据流内容,若否且映射表存在空数据存储位,则将该数据流内容写入映射表;获取接收到该数据流内容的频率;比较接收到该数据流内容的频率与预设的第一阈值的大小,若接收到该数据流内容的频率大于预设的第一阈值,则数据流需要被压缩,否则不需要被压缩;若数据流需要被压缩,则将映射表中的相应映射关系设为有效,若数据流不需要被压缩,则该映射关系无效,对应的映射表中的数据存储位仍可用于建立新的映射关系;发送端映射表建立与接收端同样的映射关系。3.根据权利要求2所述的一种数据流传输方法,其特征在于,所述的发送端映射表建立与接收端同样的映射关系的具体方法是:接收端发送注册包至发送端,注册包包含需要压缩的数据流内容以及映射表的索引;发送端收到注册包后,将需要压缩的数据流内容写入映...

【专利技术属性】
技术研发人员:何一凡朱顺痣洪朝群谢勇
申请(专利权)人:厦门理工学院
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1