一种基于应用层协议的带宽合并中间件系统的制作方法

文档序号:7782608阅读:385来源:国知局
一种基于应用层协议的带宽合并中间件系统的制作方法
【专利摘要】本发明公开了一种应用层协议的带宽合并中间件系统,包括上层连接管理模块、请求管理模块、远端连接管理模块和运行时数据统计分析模块,上层连接管理模块管理与上层应用进行通信的连接;请求管理模块缓存原始请求,根据运行时数据和应用层协议分割请求,调度到不同网络接口上进行分发;响应管理模块缓存不同网络接口到达的子响应,根据调度策略合并响应,并递交给上层连接管理模块;远程连接管理模块将请求发送给远程服务器,接收反馈的数据并发送至响应管理模块;运行时数据统计分析模块统计数据传输的速度和延迟,为制定调度策略提供运行时数据。实施本发明能够从应用层协议的角度出发分解任务并方便地部署在移动设备上,以达到带宽合并的目的。
【专利说明】一种基于应用层协议的带宽合并中间件系统
【技术领域】
[0001]本发明涉及移动网路与网络协议领域,更具体地说,本发明涉及一种基于应用层协议的带宽合并中间件系统。
【背景技术】
[0002]随着科技的发展时代的进步,智能手机、平板电脑等移动上网设备已经取代传统PC成为人们连接互联网的首选。然而由于无线网络质量较差,导致移动设备用户体验低,但另一方面我们也认识到,各移动设备的多网络接口却不能同时应用导致隐形的资源浪费。因此,如何同时利用多条网络接口来提高网络质量成为亟待解决的问题。
[0003]带宽合并是指通过利用设备多条网络接口的能力来提升网络的吞吐量、可靠性、端到端延迟等的技术,从不同的角度出发有着不同的解决方法。
[0004]其中一类方法是从传输层的角度出发,可在移动设备上使用Mult1-TCP协议进行带宽合并,并分析了网络整体的吞吐量,但当前大多数移动设备并不支持Mult1-TCP特性,若要使这些设备使用MPTCP特性则需要额外的代理服务器;而另外一些方法则是扩展了TCP协议,并取得了不错的性能,但实现方面需要改写操作系统的协议栈;除此之外还有一些方法建立了一些新的架构,在传输层支持带宽合并,但需要服务器端有相应服务进行支持。
[0005]另一种方法是针对具体应用的带宽合并方式,如针对流媒体应用进行带宽合并,但同样因为考虑到具体应用的特性,如流媒体的分片启动延迟等特性而降低了方法的通用性,其次这类方法往往在进行带宽合并时,往往仅考虑到网络吞吐量,而并没有建立统一的模型将可靠性、延迟等其它指标考虑在内。

【发明内容】

[0006]针对现有技术的以上缺陷或改进需求,本发明提供了一种基于应用层协议的带宽合并中间件系统,其能够从应用层协议的角度出发分解任务并方便地部署在移动设备上,以达到带宽合并的目的。
[0007]本发明解决其技术问题所采用的技术方案是,提供一种基于应用层协议的带宽合并中间件系统,包括上层连接管理模块、请求管理模块、远端连接管理模块和运行时数据统计分析模块,所述上层连接管理模块与请求管理模块、响应管理模块相连,所述请求管理模块与响应管理模块、运行时数据统计分析模块和远程连接管理模块相连,所述响应管理模块与请求管理模块和远程连接管理模块相连,
[0008]所述上层连接管理模块用于管理与上层应用进行通信的连接,接收上层应用发送的请求并将请求传递给请求管理模块,同时将响应管理模块中的响应递交给上层应用;
[0009]所述请求管理模块用于缓存原始请求,并根据运行时数据统计分析模块发送的运行时数据及请求所依赖的具体应用层协议对原始请求进行分割,制定调度策略将其调度到不同的网络接口上进行分发;[0010]所述响应管理模块用于缓存不同网络接口到达的子响应,根据请求管理模块的调度策略合并响应,并递交给上层连接管理模块;
[0011]所述远程连接管理模块用于管理设备与远程服务器之间的连接,将请求管理模块中的请求发送给远程服务器,同时接收远程服务器的数据并发送至响应管理模块;
[0012]所述运行时数据统计分析模块用于统计远程连接管理模块中数据传输的速度和延迟,同时为请求管理模块制定调度策略提供运行时数据。
[0013]在本发明所述的基于应用层协议的带宽合并中间件系统中,所述上层连接管理模块包括第一连接池、第一上行递交子模块、第一下行递交子模块,
[0014]所述第一连接池用于存放当前和上层应用建立的所有连接,当有新连接进入时将其加入第一连接池,同时当旧的连接断开时将其从第一连接池中移除,所述第一连接池还用于负责跟踪所有连接状态,及时释放失效的连接;
[0015]所述第一上行递交子模块执行于新线程中,用于不断遍历第一连接池中的连接,若其中有数据,则将数据实例化为原始请求对象发送至请求管理模块,若在读取数据时发生错误,则通知第一连接池释放此次连接;
[0016]所述第一下行递交子模块执行于新线程中,用于不断遍历响应管理模块中的响应,若其中有未递交的响应,则递交给第一连接池中相应的连接,同时通知响应管理模块移除此连接;若在递交的过程中发生错误,则通知第一连接池释放此连接。
[0017]在本发明所述的基于应用层协议的带宽合并中间件系统中,所述请求管理模块包括原始请求池子模块、调度策略子模块和子请求队列子模块,
[0018]所述原始请求池子模块用于缓存从上层连接管理模块中传输下来的原始请求,以提供给调度策略子模块使用;
[0019]所述调度策略子模块用于从原始请求池子模块获取原始请求,通过运行时数据统计分析模块获取历史时段的网络状态,并根据原始请求所依赖的具体应用层协议对原始请求进行分割,并将分割后的子请求放到子请求队列子模块中;
[0020]所述子请求队列子模块为每一个网络接口建立一个子请求队列,所述队列存放需要通过相应网络接口向外发送的请求。
[0021]在本发明所述的基于应用层协议的带宽合并中间件系统中,所述响应管理模块包括原始响应池子模块、合并策略子模块和子响应池,
[0022]所述原始响应池子模块用于存放还没有递交给上层的、和原始请求一一对应的原始响应;
[0023]所述合并策略子模块用于接收从请求管理模块接收的原始请求的分割信息,根据所述信息在子响应池中寻找相应的子响应,若寻找到了一个原始请求的所有子响应,则将这些子响应重组为原始响应,并放到原始响应池子模块中;
[0024]所述子响应池用于缓存远程连接管理模块发送的子响应,并将所述子响应发送至所述合并策略子模块进行重组。
[0025]在本发明所述的基于应用层协议的带宽合并中间件系统中,所述远程连接管理模块包括第二连接池、第二上行递交子模块和第二下行递交子模块,
[0026]所述第二连接池用于存放目前和远程服务器建立的所有连接,当有新连接进入时将其加入第二连接池,同时当旧的连接断开时将其从第二连接池中移除,所述第二连接池还用于负责跟踪所有连接状态,及时释放失效的连接;
[0027]所述第二上行递交子模块执行于新线程中,用于不断递交子请求队列中的请求,并将不同队列中的请求通过相应的网络接口进行发送,同时若在发送数据时发生错误,则通知第二连接池释放此次连接;
[0028]所述第二下行递交子模块执行于新线程中,用于不断遍历第二连接池中的连接,若其中有数据,则将数据实例化为子响应对象,并发送给响应管理模块,若在读取数据时发生错误,则通知第二连接池释放此连接。
[0029]在本发明所述的基于应用层协议的带宽合并中间件系统中,所述运行时数据统计分析模块包括数据分析子模块和数据统计子模块,
[0030]所述数据分析子模块用于分析数据统计子模块存放的信息,预测当前情况下每个网络接口的丢包率、传输速度和端到端延时信息;
[0031]所述数据统计子模块用于统计远程连接管理模块传输时的情况,并记录下来供数据分析子模块使用。
[0032]因此,本发明可以获得以下的有益效果:根据运行时数据统计分析模块统计分析得到的当前网络状况,响应管理模块可制定不同的带宽合并策略并针对不同的网络环境加以优化,以尽可能地降低能耗;通过上层连接管理模块接收上层应用发来的请求,请求管理模块根据该请求所依赖的具体应用层协议对请求进行分割,使得本发明能够分解应用层协议进行带宽合并,对上层应用具有很高的透明性。本发明可以中间件的方式透明地部署在现有移动设备上,不需要改变操作系统进行带宽合并,且能保证充分利用每个网络接口,具有较高的带宽合并率。
【专利附图】

【附图说明】
[0033]下面将结合附图及实施例对本发明作进一步说明,附图中:
[0034]图1是本发明基于应用层协议的带宽合并中间件系统总体框图;
[0035]图2是本发明基于应用层协议的带宽合并中间件系统细化框图。
【具体实施方式】
[0036]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0037]图1是本发明基于应用层协议的带宽合并中间件系统总体框图。如图1所示,本发明基于应用层协议的带宽合并中间件系统包括上层连接管理模块1、请求管理模块2、响应管理模块3、远端连接管理模块4和运行时数据统计分析模块5。上层连接管理模块I与请求管理模块2、响应管理模块3相连,请求管理模块2与响应管理模块3、运行时数据统计分析模块5和远程连接管理模块4相连,响应管理模块3与请求管理模块2、远程连接管理模块4相连。
[0038]上层管理连接模块I用于管理与上层应用进行通信的连接,接收上层应用发送的请求并将请求传递给请求管理模块2,同时将响应管理模块3中的响应递交给上层应用;[0039]请求管理模块2用于缓存原始请求,并根据运行时数据统计分析模块5发送的运行时数据及请求所依赖的具体应用层协议对原始请求进行分割,制定调度策略将其调度到不同的网络接口上进行分发;
[0040]响应管理模块3用于缓存不同网络接口到达的子响应,根据请求管理模块2的调度策略合并响应,并递交给上层连接管理模块I ;
[0041]远程连接管理模块4用于管理设备与远程服务器之间的连接,将请求管理模块2中的请求发送给远程服务器,同时接收远程服务器的数据并发送至响应管理模块3 ;
[0042]运行时数据统计分析模块5用于统计远程连接管理模块4中数据传输的速度和延迟,同时为请求管理模块2制定调度策略提供运行时数据。
[0043]图2是本发明基于应用层协议的带宽合并中间件系统细化框图。如图2所示,上层连接管理模块I包括第一连接池11、第一上行递交子模块12、第一下行递交子模块13,
[0044]第一连接池11用于存放当前和上层应用建立的所有连接,当有新连接进入时将其加入第一连接池,同时当旧的连接断开时将其从第一连接池中移除,第一连接池11还用于负责跟踪所有连接状态,及时释放失效的连接;
[0045]第一上行递交子模块12执行于新线程中,用于不断遍历第一连接池中的连接,若其中有数据,则将数据实例化为原始请求对象发送至请求管理模块的原始请求池21中,若在读取数据时发生错误,则通知第一连接池11释放此次连接;
[0046]第一下行递交子模块13执行于新线程中,用于不断遍历响应管理模块中3的响应,若其中有未递交的响应,则递交给第一连接池中相应的连接,同时通知响应管理模块移除此连接;若在递交的过程中发生错误,则通知第一连接池释放此连接。
[0047]请求管理模块2包括原始请求池子模块21、调度策略子模块22和子请求队列子模块23,
[0048]原始请求池子模块21用于缓存从上层连接管理模块I中传输下来的原始请求,以提供给调度策略子模块22使用;
[0049]调度策略子模块22用于从原始请求池子模块21获取原始请求,通过运行时数据统计分析模块5中的数据分析模块51获取历史时段的网络状态,并根据原始请求所依赖的具体应用层协议对原始请求进行分割,并将分割后的子请求放到子请求队列子模块23中;
[0050]子请求队列子模块23为每一个网络接口建立一个子请求队列,所述队列存放需要通过相应网络接口向外发送的请求。
[0051]响应管理模块3包括原始响应池子模块31、合并策略子模块32和子响应池33,
[0052]原始响应池子模块31用于存放还没有递交给上层的、和原始请求一一对应的原始响应;
[0053]合并策略子模块32用于接收从请求管理模块2中的调度策略子模块22接收的原始请求的分割信息,根据所述信息在子响应池33中寻找相应的子响应,若寻找到了一个原始请求的所有子响应,则将这些子响应重组为原始响应,并放到原始响应池子模块31中;
[0054]子响应池33用于缓存远程连接管理模块4发送的子响应,并将所述子响应发送至合并策略子模块32进行重组合并。
[0055]远程连接管理模块4包括第二连接池41、第二上行递交子模块42和第二下行递交子模块43,[0056]第二连接池41用于存放目前和远程服务器建立的所有连接,当有新连接进入时将其加入第二连接池41,同时当旧的连接断开时将其从第二连接池41中移除,所述第二连接池41还用于负责跟踪所有连接状态,及时释放失效的连接;
[0057]第二上行递交子模块42执行于新线程中,用于不断递交子请求队列中的请求,并将不同队列中的请求通过相应的网络接口进行发送,同时若在发送数据时发生错误,则通知第二连接池41释放此次连接;
[0058]第二下行递交子模块43执行于新线程中,用于不断遍历第二连接池41中的连接,若其中有数据,则将数据实例化为子响应对象,并发送给响应管理模块3的子响应池33中,若在读取数据时发生错误,则通知第二连接池41释放此连接。
[0059]运行时数据统计分析模块5包括数据分析子模块51和数据统计子模块52,数据分析子模块51用于分析数据统计子模块存放的信息,预测当前情况下每个网络接口的丢包率、传输速度和端到端延时信息;
[0060]数据统计子模块52用于统计远程连接管理模块传输时的情况,并记录下来供数据分析子模块51使用。
[0061]本发明的基于应用层协议的带宽合并中间件系统工作时,上层应用首先向中间件发送请求并建立连接,此时第一连接池11负责将此连接放入连接池,第一上行递交子模块12负责读取该连接中的数据,并实例化为请求递交给原始请求池子模块21 ;原始请求池子模块21接收到此原始请求后,调度策略子模块22取出此原始请求,根据数据分析子模块51中的当前网络状态的信息,将此原始请求分割成多个子请求,并将子请求放入子请求队列子模块23的不同子请求队列中;远程连接管理模块4中的第二上行递交子模块42从子请求队列子模块23中拿到子请求,并通过第二连接池子41中的相应连接发送给远端服务器,同时第二下行递交子模块43拿到从远端服务器回发的响应内容,实例化为子响应对象,并放入子响应池子模块33中;合并策略子模块32从子响应池子模块33中取出子响应,按照调度策略子模块22中的分割策略,将不同的子响应合并成原始响应,并放入原始响应池子模块31中;下行递交子模块13从原始响应池子模块31中取出原始响应,通过连接池子模块11中的相应连接,发送给上层应用。
[0062]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于应用层协议的带宽合并中间件系统,包括上层连接管理模块、请求管理模块、远端连接管理模块和运行时数据统计分析模块,所述上层连接管理模块与请求管理模块、响应管理模块相连,所述请求管理模块与响应管理模块、运行时数据统计分析模块和远程连接管理模块相连,所述响应管理模块与请求管理模块、远程连接管理模块相连,其特征在于, 所述上层连接管理模块用于管理与上层应用进行通信的连接,接收上层应用发送的请求并将请求传递给请求管理模块,同时将响应管理模块中的响应递交给上层应用; 所述请求管理模块用于缓存原始请求,并根据运行时数据统计分析模块发送的运行时 数据及请求所依赖的具体应用层协议对原始请求进行分割,制定调度策略将其调度到不同的网络接口上进行分发; 所述响应管理模块用于缓存不同网络接口到达的子响应,根据请求管理模块的调度策略合并响应,并递交给上层连接管理模块; 所述远程连接管理模块用于管理设备与远程服务器之间的连接,将请求管理模块中的请求发送给远程服务器,同时接收远程服务器的数据并发送至响应管理模块; 所述运行时数据统计分析模块用于统计远程连接管理模块中数据传输的速度和延迟,同时为请求管理模块制定调度策略提供运行时数据。
2.如权利要求1所述的基于应用层协议的带宽合并中间件系统,其特征在于,所述上层连接管理模块包括第一连接池、第一上行递交子模块、第一下行递交子模块, 所述第一连接池用于存放当前和上层应用建立的所有连接,当有新连接进入时将其加入第一连接池,同时当旧的连接断开时将其从第一连接池中移除,所述第一连接池还用于负责跟踪所有连接状态,及时释放失效的连接; 所述第一上行递交子模块执行于新线程中,用于不断遍历第一连接池中的连接,若其中有数据,则将数据实例化为原始请求对象发送至请求管理模块,若在读取数据时发生错误,则通知第一连接池释放此次连接; 所述第一下行递交子模块执行于新线程中,用于不断遍历响应管理模块中的响应,若其中有未递交的响应,则递交给第一连接池中相应的连接,同时通知响应管理模块移除此连接;若在递交的过程中发生错误,则通知第一连接池释放此连接。
3.如权利要求1或2所述的基于应用层协议的带宽合并中间件系统,其特征在于,所述请求管理模块包括原始请求池子模块、调度策略子模块和子请求队列子模块, 所述原始请求池子模块用于缓存从上层连接管理模块中传输下来的原始请求,以提供给调度策略子模块使用; 所述调度策略子模块用于从原始请求池子模块获取原始请求,通过运行时数据统计分析模块获取过去历史时段的网络状态,并根据原始请求所依赖的具体应用层协议对原始请求进行分割,并将分割后的子请求放到子请求队列子模块中; 所述子请求队列子模块为每一个网络接口建立一个子请求队列,所述队列存放需要通过相应网络接口向外发送的请求。
4.如权利要求1或2所述的基于应用层协议的带宽合并中间件系统,其特征在于,所述响应管理模块包括原始响应池子模块、合并策略子模块和子响应池, 所述原始响应池子模块用于存放还没有递交给上层的、和原始请求一一对应的原始响应; 所述合并策略子模块用于接收从请求管理模块接收的原始请求的分割信息,根据所述信息在子响应池中寻找相应的子响应,若寻找到了一个原始请求的所有子响应,则将这些子响应重组为原始响应,并放到原始响应池子模块中; 所述子响应池用于缓存远程连接管理模块发送的子响应,并将所述子响应发送至所述合并策略子模块进行重组。
5.如权利要求1或2所述的基于应用层协议的带宽合并中间件系统,其特征在于,所述远程连接管理模块包括第二连接池、第二上行递交子模块和第二下行递交子模块, 所述第二连接池用于存放目前和远程服务器建立的所有连接,当有新连接进入时将其加入第二连接池,同时当旧的连接断开时将其从第二连接池中移除,所述第二连接池还用于负责跟踪所有连接状态,及时释放失效的连接; 所述第二上行递交子模块执行于新线程中,用于不断递交子请求队列中的请求,并将不同队列中的请求通过相应的网络接口进行发送,同时若在发送数据时发生错误,则通知第二连接池释放此次连接; 所述第二下行递交子模块执行于新线程中,用于不断遍历第二连接池中的连接,若其中有数据,则将数据实例化为子响应对象,并发送给响应管理模块,若在读取数据时发生错误,则通知第二连接池释放此连接。
6.如权利要求1或2所述的基于应用层协议的带宽合并中间件系统,其特征在于,所述运行时数据统计分析模块包括数据分析子模块和数据统计子模块, 所述数据分析子模块用于分析数据统计子模块存放的信息,预测当前情况下每个网络接口的丢包率、传输速度和端到端延时信息; 所述数据统计子模块用于统计远程连接管理模块传输时的情况,并记录下来供数据分析子模块使用。
【文档编号】H04L29/08GK103746935SQ201310739375
【公开日】2014年4月23日 申请日期:2013年12月27日 优先权日:2013年12月27日
【发明者】廖小飞, 金海 , 陆枫, 王子锐 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1