一种双边加速传输方法和系统与流程

文档序号:11254097阅读:483来源:国知局
一种双边加速传输方法和系统与流程

本发明涉及计算机网络数据技术领域,特别涉及一种双边加速传输方法和系统。



背景技术:

在互联网发展大数据化的背景下,各种流媒体传输,大文件下载对网络质量的要求越来越高,这就需要有一种高效的网络传输技术来应对这样一种数据爆发式的增长。在传统的互联网文件服务传输中,数据传输在应用层有多种的形式,比如超文本传输协议(http,hypertexttransferprotocol),文件传输协议(ftp,filetransferprotocol)等等,但是在传输层一般使用的是传输控制协议(tcp,transmissioncontrolprotocol),对于传输控制协议来说,是一种可靠的传输协议,为了保证其可靠性,实现零丢包,所付出的代价就是传输效率的低下,由于网络的拥塞控制和流量控制没有进行很好的优化,会导致丢包更加严重加重了重传的负荷,不仅加剧了网络的拥塞同时也降低了传输的速度。所以在互联网快速发展的时代,如何在有限的带宽的情况下,合理的,有效的,最大限度的利用有限的带宽,提高文件传输的速度是当前需要解决的问题之一。目前双边加速技术可以有效的解决传统数据传输中网络状况的判断,根据发送端和接收端返回的数据包来调整传输策略,从而改善网络传输状况。

然而传统的双边加速技术存在以下几个问题:(1)传统的双边加速技术需要发送端和接收端都安装特定的软件或者设备,如果有一方没有安装的话,就无法保证网络传输正常进行。(2)双边加速传输策略较为单一,无法根据实际情况进行适应。(3)需要应用层软件配合实现双边加速策略,性能不足。(4)传统双边加速技术只能采用单一的协议进行传输,故障时无法保证继续有效可靠的传输



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种双边加速传输方法和系统。所述技术方案如下:

一方面,一种双边加速传输方法,包括以下步骤:

在数据接收端内核设置数据接收端加速模块,在数据发送端内核设置数据发送端加速模块;

数据接收端加速模块在建连包中插入标识符,然后将建连包发送给数据发送端加速模块建立连接;

连接建立后,数据发送端加速模块收到数据接收端加速模块发来的数据请求,将数据包重编码,通过已经建立好的连接,按传输策略向数据接收端加速模块进行加速传输。

进一步的,数据接收端加速模块在建连包中插入标识符,然后将建连包发送给数据发送端加速模块建立连接的具体步骤包括:

数据接收端加速模块在建连包中插入标识符,然后将建连包发送给数据发送端加速模块;

数据发送端加速模块收到建连包,根据建连包中插入的标识符标记该连接,然后向数据接收端发送回应数据包;

数据接收端收到回应数据包,连接建立完成;

连接上后续的数据包传输通过数据接收端加速模块和数据发送端加速模块完成。

进一步的,数据发送端加速模块收到数据接收端加速模块发来的数据请求后,将数据包重编码,通过已经建立好的连接,按传输策略向数据接收端加速模块进行加速传输的具体步骤包括:

数据接收端向数据发送端发送数据请求;

数据发送端收到数据请求后生成数据包;

数据发送端加速模块在数据包中插入标识符进行重编码,按照传输策略,将插入标识符的数据包发送到数据接收端加速模块;

数据接收端加速模块收到数据包,判断是否需要对数据包进行解码;

如果不需要解码,则将数据包直接发送给数据接收端内核;

如果需要解码,则先将数据包进行解码,然后将解码后的数据包发送给数据接收端内核。

进一步的,数据接收端加速模块在建连包中插入标识符,然后将建连包发送给数据发送端加速模块的具体步骤包括:

数据接收端加速模块收到数据接收端应用层发来的建连包后,根据数据接收端应用层设置的接口值和全局参数判断是否需要加速;

如果不需要加速,则直接将建连包发送到数据发送端;

如果需要加速,则在建连包中插入标识符,然后将建连包发送到数据发送端;

数据发送端收到建连包,判断数据发送端内核是否安装数据发送端加速模块;

如果未安装数据发送端加速模块,则将建连包直接发送给数据发送端内核;

如果安装数据发送端加速模块,则将建连包发送给数据发送端加速模块。

进一步的,数据接收端加速模块在建连包中插入标识符,然后将建连包发送给数据发送端加速模块的步骤还包括:

数据接收端应用层建立建连包,根据数据接收端应用层自身加速策略,判断是否需要进行加速;

如果不需要加速,则将建连包直接发送给数据接收端内核;

如果需要加速,则调用相应的数据接口,设置接口值,然后将建连包发送给数据接收端内核;

数据接收端内核收到建连包,判断数据接收端内核是否安装数据接收端加速模块;

如果没有安装数据接收端加速模块,则将建连包直接发送给数据发送端;

如果安装数据接收端加速模块,则将建连包发送给数据接收端加速模块。

进一步的,数据发送端加速模块收到建连包,根据建连包中插入的标识符标记该连接,然后向数据接收端发送回应数据包的具体步骤包括:

数据发送端加速模块收到建连包,判断建连包是否包含标识符;

如果建连包不包含标识符,则将建连包直接发送到数据发送端内核;

如果建连包包含标识符,则数据发送端加速模块根据标识符标记该连接,并对建连包解码,将解码后的建连包发送到数据发送端内核;

数据发送端内核收到建连包后,向数据接收端发送回应数据包。

进一步的,数据发送端加速模块在数据包中插入标识符进行重编码,按照传输策略,将插入标识符的数据包发送到数据接收端加速模块进行加速传输的具体步骤包括:

数据发送端加速模块收到数据发送端应用层发来的数据包,根据连接标记,判断连接是否需要加速;

如果不需要加速,则直接将数据包发送到数据接收端;

如果需要加速,则在数据包中插入标识符,对数据包进行重编码,然后根据传输策略,将数据包发送到数据接收端;

数据接收端收到数据包,判断数据接收端内核是否安装有数据接收端加速模块;

如果未安装数据接收端加速模块,则将数据包发送到数据接收端内核;

如果安装数据接收端加速模块,则将数据包发送到数据接收端加速模块。

进一步的,数据发送端加速模块在数据包中插入标识符进行重编码,按照传输策略,将插入标识符的数据包发送到数据接收端加速模块进行加速传输的步骤还包括:

数据发送端应用层将数据包发送到数据发送端内核;

数据发送端内核收到数据包后,判断数据发送端内核是否安装数据发送端加速模块;

如果未安装数据发送端加速模块,则直接将数据包发送到数据接收端;

如果安装数据发送端加速模块,则将数据包发送到数据发送端加速模块。

具体的,标识符为wip(wsidcprotocol,网宿互联网数据中心协议)标识符,通过数据接收端加速模块插入建连包头部或通过数据发送端加速模块插入数据包头部。

具体的,数据发送端加速模块的传输策略具体为:

在数据包传输过程中,对于首次传输的数据包,使用原始传输协议进行传输;

对于重传的数据包,先使用原始传输协议传输,如传输失败,仍需重传数据包,则使用第二传输协议进行传输。

另一方面,一种双边加速传输系统,包括数据发送端和数据接收端,

数据接收端在内核设置数据接收端加速模块,用于在建连包中插入标识符,将建连包发送给数据发送端建立连接,并在连接建立后向数据发送端发起数据请求;

数据发送端在内核设置数据发送端加速模块,用于接收建连包,与数据接收端建立连接,并在收到数据请求后,将数据包重编码,通过上述连接,按传输策略向数据接收端加速模块进行加速传输。

进一步的,数据接收端加速模块具体包括:

标识模块,用于在建连包中插入标识符,然后将建连包发送给数据发送端加速模块;

解码模块,用于判断是否需要对数据接收端收到的数据包进行解码,将不需要解码的数据包直接发送给数据接收端内核,将需要解码的数据包进行解码,然后发送给数据接收端内核;

数据发送端加速模块具体包括:

标记模块,用于判断建连包是否包含标识符,将不包含标识符的建连包直接发送到数据发送端内核,将包含标识符的建连包解码,并根据建连包中插入的标识符标记该连接,将解码后的建连包发送到数据发送端内核;

重编码模块,用于在数据包中插入标识符进行重编码,按照传输策略,将插入标识符的数据包发送到数据接收端加速模块。

进一步的,数据接收端加速模块还包括:第一加速判断模块,用于根据应用层接口值和全局参数判断是否需要进行加速,如果需要加速则将建连包发送给标识模块,否则直接发给数据发送端加速模块;

数据发送端加速模块还包括:第二加速判断模块,用于根据连接标记,判断连接是否需要加速,如果需要加速则将数据包发送给重编码模块,否则直接发送给数据接收端加速模块。

进一步的,数据发送端加速模块还包括:重传模块,用于对重传的数据包,先使用原始传输协议传输,如传输失败仍需重传数据包,则使用第二传输协议进行传输。

进一步的,数据接收端在内核还包括数据接收端加速模块判断模块,用于判断数据接收端内核是否设置数据接收端加速模块;

数据发送端在内核还包括数据发送端加速模块判断模块,用于判断数据发送端内核是否设置数据发送端加速模块。

进一步的,数据接收端还包括应用层加速判断模块,用于根据应用自身加速策略,判断是否需要加速,如果不需要加速,则将建连包直接发送给数据接收端内核,否则调用数据接口,设置接口值,然后将建连包发送给数据接收端内核。

本发明实施例提供的技术方案带来的有益效果是:本发明的双边加速传输方法和系统,采用内核模块的方式实现,贴近系统内核层,性能高,稳定性好;能够提供完善的应用层调用接口和全局接口,使用方便简单;无缝兼容传统传输控制协议/用户数据报协议,当传输的一方没有安装模块时,也不会造成传输故障;传输策略高度可定制化,可适应不同的网络环境需求。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的双边加速传输方法的实施方式的流程图;

图2是图1中步骤s102的具体流程图;

图3是图1中步骤s103的具体流程图;

图4是图2中步骤s1021的具体流程图;

图5是图2中步骤s1022的具体流程图;

图6是图2中步骤s1021还包括的步骤的流程图;

图7是图3中步骤s1033的具体流程图;

图8是图3中步骤s1033还包括的步骤的流程图;

图9是本发明提供的双边加速传输系统的实施方式的结构图;

图10是图9中数据接收端加速模块101和数据发送端加速模块201的具体结构图;

图11是图10中数据接收端加速模块101和数据发送端加速模块201的另一种实施方式的结构图;

图12是图11中数据发送端加速模块201的另一种实施方式的结构图;

图13是图12中数据接收端内核10和数据发送端内核20的另一种实施方式的结构图;

图14是图12中数据接收端1的另一种实施方式的结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明提供一种双边加速传输方法的实施方式,如图1所示,包括以下步骤:

s101,在数据接收端内核设置数据接收端加速模块,在数据发送端内核设置数据发送端加速模块。

本发明通过在数据接收端和数据发送端编写的内核模块,实现传输控制协议/用户数据报协议(transmissioncontrolprotocol/userdatagramprotocol,tcp/udp)的双边加速传输。

s102,数据接收端加速模块在建连包中插入标识符,然后将建连包发送给数据发送端加速模块建立连接。

数据接收端与数据发送端建立连接时,数据接收端在建立连接的数据包中插入特定的标识符进行建连,并且根据数据发送端回应的数据包的内容进行判断构建用户数据报协议加速传输还是传统的传输控制协议加速传输,本发明可以通过加速模块可以实现两种协议之间的无缝兼容。

s103,连接建立后,数据发送端加速模块收到数据接收端加速模块发来的数据请求,将数据包重编码,通过已经建立好的连接,按传输策略向数据接收端加速模块进行加速传输。

数据发送端在一条连接上传输数据包时,将数据包中插入建立本连接时在建连包中插入的特定标识符作为标记。在数据包传输过程中,首先通过数据包默认的传输协议进行传输,在传输过程中如果检测到网络拥塞,丢包严重时进行传输通道探测,对于传输失败的数据包,先使用该数据包原始的传输协议重传2-3次,如果仍旧传输失败,则换用另一传输协议进行传输,使数据包尽可能快的进行重传。

具体的,如图2所示,图1中步骤s102具体包括:

s1021,数据接收端加速模块在建连包中插入标识符,然后将建连包发送给数据发送端加速模块。

数据接收端加速模块在建连包的数据包头部插入wip(wsidcprotocol,网宿互联网数据中心协议)标识符,作为建立加速传输连接的特定标识。

s1022,数据发送端加速模块收到建连包,根据建连包中插入的标识符标记该连接,然后向数据接收端发送回应数据包。

数据发送端收到建连包后,对建连包进行解析,识别建连包头部的wip标识符,并使用该标识符标记此建连包建立的连接。以后该连接上后续进行传输的数据包均通过数据接收端加速模块和数据发送端加速模块完成。

s1023,数据接收端收到回应数据包,连接建立完成。

具体的,如图3所示,图1中步骤s103具体包括:

s1031,数据接收端向数据发送端发送数据请求。

s1032,数据发送端收到数据请求后生成数据包。

s1033,数据发送端加速模块在数据包中插入标识符进行重编码,按照传输策略,将插入标识符的数据包发送到数据接收端加速模块。

数据接收端与数据发送端建立连接完成后,数据接收端向数据发送端发送数据请求,数据发送端收到数据请求后,根据请求生成数据包,将数据发送端传输该数据包所要使用连接的标识符,即该连接建立时建连包包头插入的wip标识符插入数据包的包头,然后将数据包通过该连接传输到数据接收端加速模块。传输时先使用该数据包默认的传输协议,比如该数据包默认使用传输控制协议,则使用传输控制协议传输该数据包;若传输失败,继续使用传输控制协议传输2-3次;如果仍旧未能成功传输,此时改用用户数据报协议重新传输该数据包。

s1034,数据接收端加速模块收到数据包,判断是否需要对数据包进行解码。如需要解码则进行步骤s1035;如果不需要解码,则进行步骤s1036。

数据接收端收到数据包后,根据传输该数据包所使用连接的wip标识符判断是否需要对数据包进行解码,如果需要解码就先将数据包进行解码,然后再将解码后的数据包交给数据接收端内核处理,如果不需要解码则直接将数据包交给数据接收端内核处理即可。

s1035,将数据包进行解码。将数据包进行解码,然后进行步骤s1036。

s1036,将数据包发送给数据接收端内核。

如图4所示,图2中步骤s1021的具体步骤为:

s10211,数据接收端加速模块收到数据接收端应用层发来的建连包后,根据数据接收端应用层设置的接口值和全局参数判断是否需要加速。

数据接收端应用层将准备好的建连包发送给数据接收端加速模块用于与数据发送端建立连接,数据接收端加速模块收到建连包后,首先根据全局参数判断数据接收端是否设置了数据接收端全局所有数据均需加速传输,如全局参数没有设置数据接收端全局所有数据均需进行加速传输,则数据接收端加速模块在根据应用层设置的接口值判断该应用的数据传输是否需要进行加速;如果数据包需要进行加速传输,则进行步骤s10212;如果不需要加速,则进行步骤s10213。

s10212,在建连包中插入标识符。

如果该应用的数据包需要进行加速传输,则在建连包的包头中插入wip标识符,然后进行步骤s10213。

s10213,将建连包发送到数据发送端。

s10214,数据发送端收到建连包,判断数据发送端内核是否安装数据发送端加速模块。

数据发送端收到建连包后,首先判断数据发送端内核是否安装有数据发送端加速模块,如果安装有数据发送端加速模块,则进行步骤s10215,将建连包发送给数据发送端加速模块处理;如果未安装数据发送端加速模块,则进行步骤s10216,将建连包直接发送给数据发送端内核处理。

s10215,将建连包发送给数据发送端加速模块。

数据发送端加速模块收到建连包后,判断建连包中是否有wip标识符,如果有,则数据发送端加速模块根据标识符标记该连接,并对建连包解码,然后将建连包发送到数据发送端内核;如果没有则直接将建连包发送到数据发送端内核。

s10216,将建连包发送给数据发送端内核。

数据发送端内核未安装数据发送端加速模块,或数据发送端加速模块对建连包处理后,将建连包发送给数据发送端内核。

如图5所示,图2中步骤s1022的具体步骤为:

s10221,数据发送端加速模块收到建连包,判断建连包是否包含标识符。

数据发送端加速模块收到建连包后,对建连包进行解析,判断建连包是否包含wip标识符,如果建连包包含标识符,则进行步骤s10222;如果建连包不包含标识符,则进行步骤s10223。

s10222,数据发送端加速模块根据标识符标记该连接,并对建连包解码。

数据发送端加速模块对建连包进行解析后,根据建连包中包含的wip标识符来标记该建连包所建立的连接,对建连包解码后进行步骤s10223。

s10223,将建连包发送到数据发送端内核。

数据发送端加速模块解析建连包后未发现建连包包含wip标识符,或发现wip标识符,用该标识符标记建连包所建立的连接并解码建连包后,将建连包发送到数据发送端内核。

s10224,数据发送端内核收到建连包后,向数据接收端发送回应数据包。

数据发送端内核收到解码或未解码的建连包后,均向数据接收端发送回应数据包以完成建连过程。

如图6所示,在图4中步骤s10211之前,图2中的步骤s1021还包括:

s601,数据接收端应用层建立建连包,根据数据接收端应用层自身加速策略,判断是否需要进行加速。如果需要加速,则进行步骤s602;如果不需要加速,则进行步骤s603。

s602,调用相应的数据接口,设置接口值。

在数据接收端预先设定好加速的数据包对应的接口值,比如不需加速的数据包接口值为0,需要加速的数据包接口值为1。如果数据接收端应用层自身需要进行加速,此时调用接口值1,然后将建连包传输给数据接收端内核。

s603,将建连包发送给数据接收端内核。

如果数据接收端应用层需要进行加速,则建连包通过调用相应的数据接口传输给数据接收端内核,如果数据接收端应用层不需要进行加速,则建连包直接从数据接收端应用层传输给数据接收端内核。

s604,数据接收端内核收到建连包,判断数据接收端内核是否安装数据接收端加速模块。如果安装数据接收端加速模块,则步骤s605;如果没有安装数据接收端加速模块,则进行步骤s606。

s605,将建连包发送给数据接收端加速模块。

数据接收端加速模块收到建连数据包后,首先根据全局参数判断数据接收端是否设置了数据接收端全局所有数据均需加速传输,如全局参数没有设置数据接收端全局所有数据均需进行加速传输,则数据接收端加速模块再根据步骤s602设置的接口值判断该应用的数据传输是否需要进行加速;如果数据包需要进行加速传输,则修改该建连包,在建连包包头中插入wip标识符,然后进行步骤s606,将建连包发往数据发送端,具体可参考图4中步骤s10211-s10213。

s606,将建连包发送给数据发送端。

数据接收端内核未安装数据接收端加速模块,或数据接收端加速模块对建连包处理后,将建连包发送给数据发送端。

如图7所示,图3中步骤s1033具体包括:

s10331,数据发送端加速模块收到数据发送端应用层发来的数据包,根据连接标记,判断连接是否需要加速。

数据发送端应用层根据收到的数据接收端的数据请求生成数据包,然后发送给数据发送端加速模块传输数据包,数据发送端加速模块收到数据包,根据数据包传输时所要使用连接的wip标记,判断该数据包是否需要进行加速传输,如果需要加速,则进行步骤s10332;如果不需要加速,则进行步骤s10333。

s10332,在数据包中插入标识符,对数据包进行重编码。

该数据包需要进行加速传输,则在该数据包的包头中插入该数据包传输时所要使用连接的wip标记,对数据包进行重编码,然后根据传输策略进行步骤s10333。

s10333,将数据包发送到数据接收端。

不论是经过重编码需要加速传输的数据包或者没有进行重编码不需加速传输的数据包,对于首次传输的数据包,使用原始传输协议进行传输;对于重传的数据包,先使用原始传输协议传输,如传输失败,仍需重传数据包,则使用第二传输协议进行传输。比如数据包默认使用传输控制协议,则使用传输控制协议传输该数据包;若传输失败,继续使用传输控制协议传输2-3次;如果仍旧未能成功传输,此时改用用户数据报协议重新传输该数据包。

s10334,数据接收端收到数据包,判断数据接收端内核是否安装有数据接收端加速模块。

数据接收端收到数据包后,首先判断数据接收端内核是否安装有数据接收端加速模块,如果安装有数据接收端加速模块,则进行步骤s10335,将建连包发送给数据接收端加速模块处理;如果未安装数据接收端加速模块,则进行步骤s10336,将建连包直接发送给数据接收端内核处理。

s10335,将数据包发送到数据接收端加速模块。

数据接收端加速模块收到数据包后,根据数据包包头的wip标识符判断数据包是否需要进行解码,如果需要解码,则将数据包进行解码后再交给数据接收端内核,如果不需要解码,则将数据包直接交给数据接收端内核处理。

s10336,将数据包发送到数据接收端内核。

如图8所示,在图7中步骤s10331之前,图3中的步骤s1033还包括:

s801,数据发送端应用层将数据包发送到数据发送端内核。

数据发送端应用层根据收到的数据接收端的数据请求生成数据包,然后发送给数据发送端内核传输数据包。

s802,数据发送端内核收到数据包后,判断数据发送端内核是否安装数据发送端加速模块。如果安装数据发送端加速模块,则进行步骤s803;如果未安装数据发送端加速模块,则进行步骤s804。

s803,将数据包发送到数据发送端加速模块。

数据发送端加速模块收到数据包,根据数据包传输时所要使用连接的wip标记,判断该数据包是否需要进行加速传输,如果需要加速,则在该数据包的包头中插入该数据包传输所使用的连接的wip标记,然后根据传输策略,进行步骤s804;如果不需要加速,则直接进行步骤s804。具体可参考图7中步骤s10331-s10333。

s804,将数据包发送到数据接收端。

数据发送端内核未安装数据发送端加速模块,或数据发送端加速模块对数据包处理后,将数据包发送给数据接收端。

本发明还提供一种双边加速传输系统的实施方式,如图9所示,包括数据接收端1和数据发送端2。

数据接收端1在数据接收端内核10设置数据接收端加速模块101,用于在建连包中插入标识符,将建连包发送给数据发送端2建立连接,并在连接建立后向数据发送端2发起数据请求。

数据发送端2在数据发送端内核20设置数据发送端加速模块201,用于接收数据接收端加速模块101发送的建连包,与数据接收端1建立连接,并在收到数据请求后,将数据包重编码,通过上述连接,按传输策略向数据接收端加速模块101进行加速传输。

本发明的双边加速传输系统在数据接收端1和数据发送端2分别在内核模块中设置有加速模块。当数据接收端1和数据发送端2需要进行数据传输时,首先需要在数据接收端1和数据发送端2之间建立连接,数据接收端1在应用层生成建连包,然后应用层将建连包发送给数据接收端内核10中的数据接收端加速模块101,数据接收端加速模块101在建连包中插入wip标识符,然后将建连包发往数据发送端2。建连包到达数据发送端2后首先进入数据发送端内核20中的数据发送端加速模块201,然后通过数据发送端加速模块201在传给数据发送端内核20。数据发送端内核20向数据接收端1发送回应数据包。数据接收端1收到回应数据包后,数据接收端1与数据发送端2之间的双边加速传输连接建立完成。数据接收端1在应用层生成数据请求发送到数据接收端内核10,数据接收端内核10通过数据接收端内核10中的数据接收端加速模块101向数据发送端2发起数据请求。数据发送端2收到数据请求后,通过数据发送端加速模块201将数据请求传给数据发送端内核20,数据发送端内核20再传给数据发送端2的应用层,应用层根据数据请求生成数据包,并将数据包发送到数据发送端内核20,数据发送端内核20将数据包传给数据发送端加速模块201,数据发送端加速模块201在数据包中插入之前建连包中的wip标识符,对数据包重编码,然后通过之前建立的连接,按照策略传输将数据包加速传输给数据接收端1的数据接收端加速模块101。

如图10所示,数据接收端加速模块101具体包括:标识模块1011和解码模块1012。数据发送端加速模块201具体包括:标记模块2011和重编码模块2012。

标识模块1011用于在建连包中插入标识符,然后将建连包发送给数据发送端加速模块201;解码模块1012判断是否需要对数据接收端1收到的数据包进行解码,将不需要解码的数据包直接发送给数据接收端内核10,将需要解码的数据包进行解码,然后发送给数据接收端内核10。

标记模块2011用于判断建连包是否包含标识符,将不包含标识符的建连包直接发送到数据发送端内核20,将包含标识符的建连包解码,并根据建连包中插入的标识符标记该连接,将解码后的建连包发送到数据发送端内核20;重编码模块2012用于在数据包中插入标识符进行重编码,按照传输策略,将插入标识符的数据包发送到数据接收端加速模块101。

数据接收端1和数据发送端2的建连过程如下:数据接收端加速模块101收到建连包后将建连包交给标识模块1011,标识模块1011在建连包中插入wip标识符,然后发往数据发送端加速模块201。数据发送端加速模块201收到建连包后由标记模块2011判断建连包是否包含标识符,将不含wip标识符的建连包直接发往数据发送端内核20,将包含wip标识符的建连包解码,根据解码后得到的建连包中的wip标识符标记建连包发来的这条连接,然后将解码后的建连包发往数据发送端内核20。数据发送端内核20收到解码或未解码的建连包后,根据建连包中的信息进行后续步骤,然后向数据发送端1发送回应数据包,数据发送端1收到回应数据包后连接建立完成。

数据接收端1和数据发送端2的数据传输过程如下:建连完成后,数据接收端1向数据发送端2发起数据请求,数据发送端2收到数据请求后,将数据包发给数据发送端加速模块201,数据发送端加速模块201收到数据包后交给重编码模块2012,重编码模块在数据包中插入该数据包要使用的连接的wip标识符对数据包进行重编码,然后按照传输策略将数据包发送到数据接收端加速模块101,数据接收端加速模块101收到数据包后,由解码模块1012判断是否需要对数据接收端收到的数据包进行解码,将不需要解码的数据包直接发送给数据接收端内核10,将需要解码的数据包进行解码,然后发送给数据接收端内核10。

如图11所示,数据接收端加速模块101还包括:第一加速判断模块1013;数据发送端加速模块201还包括:第二加速判断模块2013。

第一加速判断模块1013用于根据应用层接口值和全局参数判断是否需要进行加速,如果需要加速则将建连包发送给标识模块1011,否则直接发给数据发送端加速模块201。

第二加速判断模块2013用于根据连接标记,判断连接是否需要加速,如果需要加速则将数据包发送给重编码模块2012,否则直接发送给数据接收端加速模块101。

第一加速判断模块1013在建连过程中进行加速判断,将需要加速的建连包发送到数据接收端加速模块101中的标识模块1011,将不需要加速的建连包直接发送到数据发送端加速模块201。建连包在标识模块1011和数据发送端加速模块201中的后续传输过程与图10相同。

第二加速判断模块2013在建连完成后的数据包传输过程中进行加速判断,将需要加速的数据包发送给重编码模块2012,将不需要加速的数据包直接发送给数据接收端加速模块101。数据包在重编码模块2012和数据接收端加速模块101中的后续传输过程与图10相同。

如图12所示,数据发送端加速模块201还包括:重传模块2014。

重传模块2014用于对重传的数据包,先使用原始传输协议传输,如传输失败仍需重传数据包,则使用第二传输协议进行传输。

数据包传输过程中,重编码模块2012对数据包插入wip标识符进行重编码,然后使用原始传输协议向数据接收端加速模块101进行加速传输,如果传输失败,重传模块2014接管数据包,首先仍旧使用首次传输时使用的原始传输协议进行重传,如果重传2-3次后仍旧传输失败,则使用第二传输协议重传数据包。

如图13所示,数据接收端1在数据接收端内核10还包括数据接收端加速模块判断模块102;数据发送端2在数据发送端内核20还包括数据发送端加速模块判断模块202。

数据接收端加速模块判断模块102用于判断数据接收端内核10是否设置数据接收端加速模块101。在建连过程中,当数据接收端内核10收到数据接收端应用层发来的建连包后,如果数据接收端内核10设置有数据接收端加速模块101,则数据接收端内核10将建连包发送给数据接收端加速模块101,否则直接将数据包发送给数据发送端2;在数据加速传输过程中,当数据接收端1收到数据包后,如果数据接收端内核10设置有数据接收端加速模块101,则将数据接收端1收到的数据包发送给数据接收端加速模块101,否则直接发送到数据接收端内核10。

数据发送端加速模块判断模块202用于判断数据发送端内核20是否设置数据发送端加速模块201。在建连过程中,数据发送端2收到建连包后,如果数据发送端内核20设置有数据发送端加速模块201,则将数据发送端2收到的建连包发送给数据发送端加速模块201,否则直接发送给数据发送端内核20;在数据加速传输过程中,当数据发送端内核20收到数据发送端应用层发来的数据包后,如果数据发送端内核20设置有数据发送端加速模块201,则数据发送端内核20将数据包发送给数据发送端加速模块201,否则直接将数据包发送给数据接收端1。

如图14所示,数据接收端1还包括应用层加速判断模块11,用于根据应用自身加速策略,判断是否需要加速,如果不需要加速,则将建连包直接发送给数据接收端内核,否则调用数据接口,设置接口值,然后将建连包发送给数据接收端内核10。

本发明的双边加速传输方法和系统,采用内核模块的方式实现,贴近系统内核层,性能高,稳定性好;能够提供完善的应用层调用接口和全局接口,使用方便简单;无缝兼容传统传输控制协议/用户数据报协议,当传输的一方没有安装模块时,也不会造成传输故障;传输策略高度可定制化,可适应不同的网络环境需求。

在本发明的各个实施方式中数据接收端1可以是手机,电脑,平板电脑,智能手表等客户端,数据发送端2可以是服务器。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1