一种分布式通信系统主动流量控制的方法

文档序号:7815696阅读:340来源:国知局
一种分布式通信系统主动流量控制的方法
【专利摘要】本发明提供一种分布式通信系统主动流量控制的方法。该方法包括根据网络的状态,通信系统网络性能探测模块实时更新当前网络的状态信息,以选择路径;智能路径选择模块根据当前网络状态信息,选择传输消息的通信链路,应用层接口无需感知底层网络和链路细节;和主动流量控制模块根据当前消息发送的模式调度消息。本发明提供的方法可以适应多种网络,向上层应用隐藏底层网络流控细节,并根据不同的通信模式选择流控方法,实现主动流量控制。
【专利说明】一种分布式通信系统主动流量控制的方法

【技术领域】
[0001]本发明涉及通信系统流量控制技术,具体涉及一种分布式通信系统主动流量控制的方法。

【背景技术】
[0002]分布式系统中,各个模块之间均通过交互消息协同完成分布式系统的功能,因此消息通信的性能和服务质量直接决定了分布式系统实现的服务的质量。
[0003]现有的分布式系统的通信模块将模块之间的通信角色分为消息发送方和消息接收方:消息发送方将应用发起的通信请求打包成发送消息,再通过网络向消息接收方传输;消息接收方接收到消息之后,解析消息格式,将消息提交给上层应用处理,并将处理结果返回给消息发送方,完成一次通信操作。传统通信系统的通信过程中,发送方一般直接将消息提交给底层通信协议栈后,协议栈控制各个节点之间的通信流量,典型的有TCP/IP协议栈实现的流量控制算法,TCP/IP协议栈中实现了基于滑动窗口的流量控制算法,这在发送方和接收方都存在。
[0004]为了保证网络在拥塞时的性能通信网络,硬件实现了流量控制协议。典型的有以太网的IEEE802.3x流量控制协议,能够实现以太网端到客户端的流量控制,当客户端发起的通信请求超过网络处理能力,以太网拥塞时,服务端能通过接收方的缓冲区的状态检测到网络的拥塞,反向向客户端发送PAUSE帧,通知客户端降低通信量;客户端收到PAUSE帧后降低或者停止通信请求,从而实现控制网络中传输的数据量,减少数据包丢失的目标。
[0005]现有技术存在如下问题:
[0006]适应网络单一:由于性能和环境的需要,分布式系统的通信网往往部署多套网络,或者多种不同类型的网络,如高性能Infiniband网络或者1GB以太网。每一种网络的性能和可靠性差异较大,现有的TCP/IP协议使用的拥塞控制算法和硬件实现的流控算法不能够适应所有网络。
[0007]因此,需要提供一种改进的控制系统流量的技术方案来克服流量控制模式单一、仅基于端到端的流控,不关注上层应用,不能够适应分布式系统的通信需求的通信模式的缺陷。


【发明内容】

[0008]为了克服上述现有技术的不足,本发明提供一种分布式通信系统主动流量控制的方法。使通信系统能够适应多种网络,向上层应用隐藏底层网络流控细节,并根据不同的通信模式选择流控方法,支持主动流量控制方法。
[0009]为了实现上述发明目的,本发明采取如下技术方案:
[0010]一种分布式通信系统主动流量控制的方法,其具体步骤如下:
[0011](I)通信系统中网络性能探测模块根据网络的状态实时更新当前网络的状态信息,通信系统依据该信息进行路径选择;
[0012](2)智能路径选择模块根据当前网络状态信息,选择传输消息的通信链路,应用层接口无需感知底层网络和链路的细节;
[0013](3)主动流量控制模块根据当前消息发送的模式,进行消息的调度。
[0014]本发明提供的优选技术方案中,所述步骤(I)更新当前网络状态信息的具体步骤如下:
[0015]A.在通信系统启动时,网络性能探测模块检测并获取节点之间每一条网络链路的状态信息;
[0016]B.以一对节点为单位,对每一个节点中的每一个网络链路设置一个流控表和通信性能表;
[0017]C.节点之间通信时,发送方在发送或接收到一个消息,更新对应链路的流控表,并根据消息在发送方和接收方之间传输的时间间隔,计算出该消息在链路上传输的性能,并将该性能信息更新到链路对应的通信性能表中;
[0018]所述步骤A中的状态信息包括:物理设备信息、物理网卡的硬件缓冲信息、链路信息、链路之间的通信性能信息。
[0019]本发明提供的第二优选技术方案中,所述步骤(2)选择传输消息的通信链路的具体步骤如下:
[0020]A.应用层调用通信系统提供接口指定消息的接收方地址;
[0021]B.通信系统的智能路径选择模块根据消息接收方地址,找到目标节点对应的所有链路
[0022]C.遍历所有链路表,根据链路表的流控状态和通信性能,选择一条存在可发送,性能最高的通信链路
[0023]D.将消息提交到该通信链路,进行消息发送,同时更新该链路的流控状态;
[0024]E.在消息传输完成之后,依据传输结果,更新该通信链路的流控状态和通信性能。
[0025]本发明提供的第三优选技术方案中,所述步骤(3)消息调度的具体步骤如下:
[0026]A.应用层调用通信系统接口,通知通信系统将发起特殊模式的通信操作;
[0027]B.通信系统的主动流量控制模块在接收到通信模式后,根据当前网络状态,将通信请求分解成多个通信请求,在通信请求中间携带通信模式信息,并生成消息调度请求,提交给消息调度模块,消息调度模块依据调度请求决定下层传输模块将请求发送给接收方的时间;
[0028]C.接收方在接收到通信请求之后,处理通信请求,根据通信请求中携带的通信模式信息,生成消息调度请求,消息调度模块决定向发送方应答消息的时间。
[0029]本发明提供的第四优选技术方案中,所述步骤A中的特殊模式包括:一到多通信模式和多到一通信模式。
[0030]本发明提供的第五优选技术方案中,所述一到多通信模式的具体步骤如下:
[0031]a.发送方生成并立即发送消息I到接收方I ;
[0032]b.发送方生成发送消息2,延迟SI秒,再发送消息2到接收方2,所述SI为步骤a发送消息I的时间;
[0033]c.发送方生成发送消息3,延迟S2秒,再发送消息3到接收方3,所述S2为步骤a和b发送消息时间的和;
[0034]d.依照步骤a、b和c的发送模式,若发送方第一次发送消息,则立即发送消息;若发送方不是第一次发送信息,则延迟一段时间,再发送消息,所述一段时间为从第一次到上一次发送消息的时间和。
[0035]本发明提供的第六优选方案中,所述多到一通信模式的具体步骤如下:
[0036]a.发送方生成多个通信请求,发送到对应的接收方;
[0037]a-Ι.发送到接收方I的请求中指定消息延迟O秒,即立即返回;
[0038]a-2.发送到接收方2的请求中指定消息延迟Rl秒,所述Rl秒为发送方估计步骤a-1中接收方传输应答消息需要的时间;
[0039]a-3.发送到接收方3的请求中的指定消息延迟R2秒,所述R2秒为发送方估计步骤a-Ι和a-2接收方传输应答消息需要的时间和;
[0040]a-4.依照a-l、a_2和a_3的发送模式,发送到接收方η的请求中指定消息延迟Rn秒,所述Rn秒为从开始到上一次接收方传输应答消息需要的时间和;
[0041]b.接收方根据接收到的通信消息,处理并延迟执行时间,再向发送方返回通信请求,延迟时间有步骤a发送的通信请求指定;
[0042]c.发送方在接收到所有应答之后完成一次多到一通信过程。
[0043]与现有技术相比,本发明的有益效果在于:
[0044]本发明提供的技术方案实现了一种分布式通信系统中主动流量控制的方法,能够自适应多种不同的网络,向上层隐藏底层网络流控细节,同时针对分布式系统常见的通信模式,实现了主动的流量控制,降低了网络拥塞对通信的影响,提高了分布式系统的通信性倉泛。
[0045]克服了现有技术中存在的流量控制模式单一、仅基于端到端的流控,不关注上层应用,不能够适应分布式系统的通信需求的通信模式的缺陷。

【专利附图】

【附图说明】
[0046]图1是主动流量控制模块进行一到多通信模式流程图
[0047]图2是主动流量控制模块进行多到一通信模式流程图

【具体实施方式】
[0048]下面结合附图对本发明作进一步详细说明。
[0049]一种分布式通信系统总主动流量控制的方法,具体步骤如下:
[0050](I)通信系统中网络性能探测模块根据网络的状态实时更新当前网络的状态信息,通信系统依据该信息进行路径选择;
[0051](2)智能路径选择模块根据当前网络状态信息,选择传输消息的通信链路,应用层接口无需感知底层网络和链路的细节;
[0052](3)主动流量控制模块根据当前消息发送的模式,进行消息的调度。
[0053]所述步骤(I)更新当前网络状态信息的具体步骤如下:
[0054]A.在通信系统启动时,网络性能探测模块检测并获取节点之间每一条网络链路的状态信息;
[0055]B.以一对节点为单位,对每一个节点中的每一个网络链路设置一个流控表和通信性能表;
[0056]C.节点之间通信时,发送方在发送或接收到一个消息,更新对应链路的流控表,并根据消息在发送方和接收方之间传输的时间间隔,计算出该消息在链路上传输的性能,并将该性能信息更新到链路对应的通信性能表中;
[0057]所述步骤A中的状态信息包括:物理设备信息、物理网卡的硬件缓冲信息、链路信息、链路之间的通信性能信息。
[0058]所述步骤⑵选择传输消息的通信链路的具体步骤如下:
[0059]A.应用层调用通信系统提供接口指定消息的接收方地址;
[0060]B.通信系统的智能路径选择模块根据消息接收方地址,找到目标节点对应的所有链路
[0061 ] C.遍历所有链路表,根据链路表的流控状态和通信性能,选择一条存在可发送,性能最高的通信链路
[0062]D.将消息提交到该通信链路,进行消息发送,同时更新该链路的流控状态;
[0063]E.在消息传输完成之后,依据传输结果,更新该通信链路的流控状态和通信性能。
[0064]所述步骤(3)消息调度的具体步骤如下:
[0065]A.应用层调用通信系统接口,通知通信系统将发起特殊模式的通信操作;
[0066]B.通信系统的主动流量控制模块在接收到通信模式后,根据当前网络状态,将通信请求分解成多个通信请求,在通信请求中间携带通信模式信息,并生成消息调度请求,提交给消息调度模块,消息调度模块依据调度请求决定下层传输模块将请求发送给接收方的时间;
[0067]C.接收方在接收到通信请求之后,处理通信请求,根据通信请求中携带的通信模式信息,生成消息调度请求,消息调度模块决定向发送方应答消息的时间。
[0068]所述步骤A中的特殊模式包括:一到多通信模式和多到一通信模式。
[0069]如图1所示,所述一到多通信模式的具体步骤如下:
[0070]步骤1.发送方生成并立即发送消息I到接收方I ;
[0071]步骤2.发送方生成发送消息2,延迟S (I)秒,再发送消息2到接收方2,所述S(I)为步骤I发送消息I的时间;
[0072]步骤3.发送方生成发送消息3,延迟S (2)秒,再发送消息3到接收方3,所述S (2)为步骤I和步骤2发送消息时间的和;
[0073]步骤4.依照步骤1、2和3的发送模式,发送方生成的发送信息N,延迟S(N-1)秒,再发送消息N到接收方N,所述S(N-1)为从开始到上一次发送消息的时间和。
[0074]如图2所示,所述多到一通信模式的具体步骤如下:
[0075]步骤1.发送方生成多个通信请求,发送到对应的接收方;
[0076]步骤1.1.发送到接收方I的请求中指定消息延迟O秒,即立即返回;
[0077]步骤1.2.发送到接收方2的请求中指定消息延迟R(I)秒,所述R(I)秒为发送方估计步骤1.1中接收方传输应答消息需要的时间;
[0078]步骤1.3.发送到接收方3的请求中的指定消息延迟R (2)秒,所述R(2)秒为发送方估计步骤1.1和1.2接收方传输应答消息需要的时间和;
[0079]步骤1.4.依照步骤1.1、步骤1.2和步骤1.3的发送模式,发送到接收方η的请求中指定消息延迟R(n-l)秒,所述R(n-l)秒为从开始到上一次接收方传输应答消息需要的时间和;
[0080]步骤2.接收方根据接收到的通信消息,处理并延迟执行时间,再向发送方返回通信请求,延迟时间有步骤I发送的通信请求指定;
[0081]步骤3.发送方在接收到所有应答之后完成一次多到一通信过程。
[0082]最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员在其启发下依然可以对本发明的【具体实施方式】进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。
【权利要求】
1.一种分布式通信系统主动流量控制的方法,该方法包括如下步骤: (1)根据网络的状态,通信系统网络性能探测模块实时更新当前网络的状态信息,以选择路径; (2)智能路径选择模块根据当前网络状态信息,选择传输消息的通信链路,应用层接口无需感知底层网络和链路细节; (3)主动流量控制模块根据当前消息发送的模式调度消息。
2.根据权利要求1所述分布式通信系统主动流量控制的方法,其特征在于,所述步骤(1)更新当前网络状态信息包括如下步骤: A.启动通信系统时,网络性能探测模块检测并获取节点之间每一条网络链路的状态信息; B.以一对节点为单位,对每一个节点中的每一个网络链路设置一个流控表和通信性能表; C.节点之间通信时,发送方发送或接收到一个消息,更新一次对应链路的流控表,并根据消息在发送方和接收方之间传输的时间间隔,计算该消息在链路上传输的性能,并将该性能信息更新到链路对应的通信性能表中; 所述步骤A中的状态信息包括:物理设备信息、物理网卡的硬件缓冲信息、链路信息、链路之间的通信性能信息。
3.根据权利要求1所述分布式通信系统主动流量控制的方法,其特征在于,所述步骤(2)选择传输消息的通信链路包括如下步骤: A.应用层调用通信系统提供接口指定消息的接收方地址; B.通信系统的智能路径选择模块根据消息接收方地址,找到目标节点对应的所有链路 C.遍历所有链路表,根据链路表的流控状态和通信性能,选择一条存在可发送性能最高的通信链路 D.将消息提交到该通信链路,进行消息发送,同时更新该链路的流控状态; E.在消息传输完成之后,依据传输结果,更新该通信链路的流控状态和通信性能。
4.根据权利要求1所述分布式通信系统主动流量控制的方法,其特征在于,所述步骤(3)消息调度包括如下步骤: A.应用层调用通信系统接口,通知通信系统将发起特殊模式的通信操作; B.通信系统的主动流量控制模块接收到通信模式后,根据当前网络状态,分解通信请求,在通信请求中间携带通信模式信息,并将生成的消息调度请求提交给消息调度模块,消息调度模块依据调度请求决定下层传输模块将请求发送给接收方的时间; C.接收方在接收到通信请求之后,处理通信请求,根据通信请求中携带的通信模式信息,生成消息调度请求,消息调度模块决定向发送方应答消息的时间。
5.根据权利要求4所述分布式通信系统主动流量控制的方法,其特征在于,所述步骤A中的特殊模式包括:一到多通信模式和多到一通信模式。
6.根据权利要求5所述分布式通信系统主动流量控制的方法,其特征在于,所述一到多通信模式的步骤如下: a.发送方生成并立即向接收方1发送消息1; b.发送方生成发送消息2,延迟S1秒,再向接收方2发送消息2,所述S1为步骤a发送消息1的时间; c.发送方生成发送消息3,延迟S2秒,再向接收方3发送消息3,所述S2为步骤a和b发送消息时间的和; d.依照步骤a、b和c的发送模式,若发送方第一次发送消息,则立即发送消息;若发送方不是第一次发送信息,则延迟一段时间,再发送消息,所述一段时间为从第一次到上一次发送消息的时间和。
7.根据权利要求5所述分布式通信系统主动流量控制的方法,其特征在于,所述多到一通信模式的步骤如下: a.发送方向对应的接收方发送生成的多个通信请求; a-Ι.发送到接收方1的请求中指定消息延迟0秒,即立即返回; a-2.发送到接收方2的请求中指定消息延迟R1秒,所述R1秒为发送方估计步骤a_l中接收方传输应答消息需要的时间; a-3.发送到接收方3的请求中的指定消息延迟R2秒,所述R2秒为发送方估计步骤a-1和a-2接收方传输应答消息需要的时间和; a-4.依照a-l、a-2和a_3的发送模式,发送到接收方η的请求中指定消息延迟Rn秒,所述Rn秒为从开始到上一次接收方传输应答消息需要的时间和; b.接收方根据接收到的通信消息,处理并延迟执行时间,再向发送方返回通信请求,延迟时间有步骤a发送的通信请求指定; c.发送方在接收到所有应答之后完成一次多到一通信过程。
【文档编号】H04L12/801GK104270320SQ201410508634
【公开日】2015年1月7日 申请日期:2014年9月28日 优先权日:2014年9月28日
【发明者】张攀勇, 彭成, 季旻, 苗艳超 申请人:曙光信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1