CN104270320A - 一种分布式通信***主动流量控制的方法 - Google Patents
一种分布式通信***主动流量控制的方法 Download PDFInfo
- Publication number
- CN104270320A CN104270320A CN201410508634.8A CN201410508634A CN104270320A CN 104270320 A CN104270320 A CN 104270320A CN 201410508634 A CN201410508634 A CN 201410508634A CN 104270320 A CN104270320 A CN 104270320A
- Authority
- CN
- China
- Prior art keywords
- message
- communication
- flow control
- recipient
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种分布式通信***主动流量控制的方法。该方法包括根据网络的状态,通信***网络性能探测模块实时更新当前网络的状态信息,以选择路径;智能路径选择模块根据当前网络状态信息,选择传输消息的通信链路,应用层接口无需感知底层网络和链路细节;和主动流量控制模块根据当前消息发送的模式调度消息。本发明提供的方法可以适应多种网络,向上层应用隐藏底层网络流控细节,并根据不同的通信模式选择流控方法,实现主动流量控制。
Description
技术领域
本发明涉及通信***流量控制技术,具体涉及一种分布式通信***主动流量控制的方法。
背景技术
分布式***中,各个模块之间均通过交互消息协同完成分布式***的功能,因此消息通信的性能和服务质量直接决定了分布式***实现的服务的质量。
现有的分布式***的通信模块将模块之间的通信角色分为消息发送方和消息接收方:消息发送方将应用发起的通信请求打包成发送消息,再通过网络向消息接收方传输;消息接收方接收到消息之后,解析消息格式,将消息提交给上层应用处理,并将处理结果返回给消息发送方,完成一次通信操作。传统通信***的通信过程中,发送方一般直接将消息提交给底层通信协议栈后,协议栈控制各个节点之间的通信流量,典型的有TCP/IP协议栈实现的流量控制算法,TCP/IP协议栈中实现了基于滑动窗口的流量控制算法,这在发送方和接收方都存在。
为了保证网络在拥塞时的性能通信网络,硬件实现了流量控制协议。典型的有以太网的IEEE802.3x流量控制协议,能够实现以太网端到客户端的流量控制,当客户端发起的通信请求超过网络处理能力,以太网拥塞时,服务端能通过接收方的缓冲区的状态检测到网络的拥塞,反向向客户端发送PAUSE帧,通知客户端降低通信量;客户端收到PAUSE帧后降低或者停止通信请求,从而实现控制网络中传输的数据量,减少数据包丢失的目标。
现有技术存在如下问题:
适应网络单一:由于性能和环境的需要,分布式***的通信网往往部署多套网络,或者多种不同类型的网络,如高性能Infiniband网络或者10GB以太网。每一种网络的性能和可靠性差异较大,现有的TCP/IP协议使用的拥塞控制算法和硬件实现的流控算法不能够适应所有网络。
因此,需要提供一种改进的控制***流量的技术方案来克服流量控制模式单一、仅基于端到端的流控,不关注上层应用,不能够适应分布式***的通信需求的通信模式的缺陷。
发明内容
为了克服上述现有技术的不足,本发明提供一种分布式通信***主动流量控制的方法。使通信***能够适应多种网络,向上层应用隐藏底层网络流控细节,并根据不同的通信模式选择流控方法,支持主动流量控制方法。
为了实现上述发明目的,本发明采取如下技术方案:
一种分布式通信***主动流量控制的方法,其具体步骤如下:
(1)通信***中网络性能探测模块根据网络的状态实时更新当前网络的状态信息,通信***依据该信息进行路径选择;
(2)智能路径选择模块根据当前网络状态信息,选择传输消息的通信链路,应用层接口无需感知底层网络和链路的细节;
(3)主动流量控制模块根据当前消息发送的模式,进行消息的调度。
本发明提供的优选技术方案中,所述步骤(1)更新当前网络状态信息的具体步骤如下:
A.在通信***启动时,网络性能探测模块检测并获取节点之间每一条网络链路的状态信息;
B.以一对节点为单位,对每一个节点中的每一个网络链路设置一个流控表和通信性能表;
C.节点之间通信时,发送方在发送或接收到一个消息,更新对应链路的流控表,并根据消息在发送方和接收方之间传输的时间间隔,计算出该消息在链路上传输的性能,并将该性能信息更新到链路对应的通信性能表中;
所述步骤A中的状态信息包括:物理设备信息、物理网卡的硬件缓冲信息、链路信息、链路之间的通信性能信息。
本发明提供的第二优选技术方案中,所述步骤(2)选择传输消息的通信链路的具体步骤如下:
A.应用层调用通信***提供接口指定消息的接收方地址;
B.通信***的智能路径选择模块根据消息接收方地址,找到目标节点对应的所有链路
C.遍历所有链路表,根据链路表的流控状态和通信性能,选择一条存在可发送,性能最高的通信链路
D.将消息提交到该通信链路,进行消息发送,同时更新该链路的流控状态;
E.在消息传输完成之后,依据传输结果,更新该通信链路的流控状态和通信性能。
本发明提供的第三优选技术方案中,所述步骤(3)消息调度的具体步骤如下:
A.应用层调用通信***接口,通知通信***将发起特殊模式的通信操作;
B.通信***的主动流量控制模块在接收到通信模式后,根据当前网络状态,将通信请求分解成多个通信请求,在通信请求中间携带通信模式信息,并生成消息调度请求,提交给消息调度模块,消息调度模块依据调度请求决定下层传输模块将请求发送给接收方的时间;
C.接收方在接收到通信请求之后,处理通信请求,根据通信请求中携带的通信模式信息,生成消息调度请求,消息调度模块决定向发送方应答消息的时间。
本发明提供的第四优选技术方案中,所述步骤A中的特殊模式包括:一到多通信模式和多到一通信模式。
本发明提供的第五优选技术方案中,所述一到多通信模式的具体步骤如下:
a.发送方生成并立即发送消息1到接收方1;
b.发送方生成发送消息2,延迟S1秒,再发送消息2到接收方2,所述S1为步骤a发送消息1的时间;
c.发送方生成发送消息3,延迟S2秒,再发送消息3到接收方3,所述S2为步骤a和b发送消息时间的和;
d.依照步骤a、b和c的发送模式,若发送方第一次发送消息,则立即发送消息;若发送方不是第一次发送信息,则延迟一段时间,再发送消息,所述一段时间为从第一次到上一次发送消息的时间和。
本发明提供的第六优选方案中,所述多到一通信模式的具体步骤如下:
a.发送方生成多个通信请求,发送到对应的接收方;
a-1.发送到接收方1的请求中指定消息延迟0秒,即立即返回;
a-2.发送到接收方2的请求中指定消息延迟R1秒,所述R1秒为发送方估计步骤a-1中接收方传输应答消息需要的时间;
a-3.发送到接收方3的请求中的指定消息延迟R2秒,所述R2秒为发送方估计步骤a-1和a-2接收方传输应答消息需要的时间和;
a-4.依照a-1、a-2和a-3的发送模式,发送到接收方n的请求中指定消息延迟Rn秒,所述Rn秒为从开始到上一次接收方传输应答消息需要的时间和;
b.接收方根据接收到的通信消息,处理并延迟执行时间,再向发送方返回通信请求,延迟时间有步骤a发送的通信请求指定;
c.发送方在接收到所有应答之后完成一次多到一通信过程。
与现有技术相比,本发明的有益效果在于:
本发明提供的技术方案实现了一种分布式通信***中主动流量控制的方法,能够自适应多种不同的网络,向上层隐藏底层网络流控细节,同时针对分布式***常见的通信模式,实现了主动的流量控制,降低了网络拥塞对通信的影响,提高了分布式***的通信性能。
克服了现有技术中存在的流量控制模式单一、仅基于端到端的流控,不关注上层应用,不能够适应分布式***的通信需求的通信模式的缺陷。
附图说明
图1是主动流量控制模块进行一到多通信模式流程图
图2是主动流量控制模块进行多到一通信模式流程图
具体实施方式
下面结合附图对本发明作进一步详细说明。
一种分布式通信***总主动流量控制的方法,具体步骤如下:
(1)通信***中网络性能探测模块根据网络的状态实时更新当前网络的状态信息,通信***依据该信息进行路径选择;
(2)智能路径选择模块根据当前网络状态信息,选择传输消息的通信链路,应用层接口无需感知底层网络和链路的细节;
(3)主动流量控制模块根据当前消息发送的模式,进行消息的调度。
所述步骤(1)更新当前网络状态信息的具体步骤如下:
A.在通信***启动时,网络性能探测模块检测并获取节点之间每一条网络链路的状态信息;
B.以一对节点为单位,对每一个节点中的每一个网络链路设置一个流控表和通信性能表;
C.节点之间通信时,发送方在发送或接收到一个消息,更新对应链路的流控表,并根据消息在发送方和接收方之间传输的时间间隔,计算出该消息在链路上传输的性能,并将该性能信息更新到链路对应的通信性能表中;
所述步骤A中的状态信息包括:物理设备信息、物理网卡的硬件缓冲信息、链路信息、链路之间的通信性能信息。
所述步骤(2)选择传输消息的通信链路的具体步骤如下:
A.应用层调用通信***提供接口指定消息的接收方地址;
B.通信***的智能路径选择模块根据消息接收方地址,找到目标节点对应的所有链路
C.遍历所有链路表,根据链路表的流控状态和通信性能,选择一条存在可发送,性能最高的通信链路
D.将消息提交到该通信链路,进行消息发送,同时更新该链路的流控状态;
E.在消息传输完成之后,依据传输结果,更新该通信链路的流控状态和通信性能。
所述步骤(3)消息调度的具体步骤如下:
A.应用层调用通信***接口,通知通信***将发起特殊模式的通信操作;
B.通信***的主动流量控制模块在接收到通信模式后,根据当前网络状态,将通信请求分解成多个通信请求,在通信请求中间携带通信模式信息,并生成消息调度请求,提交给消息调度模块,消息调度模块依据调度请求决定下层传输模块将请求发送给接收方的时间;
C.接收方在接收到通信请求之后,处理通信请求,根据通信请求中携带的通信模式信息,生成消息调度请求,消息调度模块决定向发送方应答消息的时间。
所述步骤A中的特殊模式包括:一到多通信模式和多到一通信模式。
如图1所示,所述一到多通信模式的具体步骤如下:
步骤1.发送方生成并立即发送消息1到接收方1;
步骤2.发送方生成发送消息2,延迟S(1)秒,再发送消息2到接收方2,所述S(1)为步骤1发送消息1的时间;
步骤3.发送方生成发送消息3,延迟S(2)秒,再发送消息3到接收方3,所述S(2)为步骤1和步骤2发送消息时间的和;
步骤4.依照步骤1、2和3的发送模式,发送方生成的发送信息N,延迟S(N-1)秒,再发送消息N到接收方N,所述S(N-1)为从开始到上一次发送消息的时间和。
如图2所示,所述多到一通信模式的具体步骤如下:
步骤1.发送方生成多个通信请求,发送到对应的接收方;
步骤1.1.发送到接收方1的请求中指定消息延迟0秒,即立即返回;
步骤1.2.发送到接收方2的请求中指定消息延迟R(1)秒,所述R(1)秒为发送方估计步骤1.1中接收方传输应答消息需要的时间;
步骤1.3.发送到接收方3的请求中的指定消息延迟R(2)秒,所述R(2)秒为发送方估计步骤1.1和1.2接收方传输应答消息需要的时间和;
步骤1.4.依照步骤1.1、步骤1.2和步骤1.3的发送模式,发送到接收方n的请求中指定消息延迟R(n-1)秒,所述R(n-1)秒为从开始到上一次接收方传输应答消息需要的时间和;
步骤2.接收方根据接收到的通信消息,处理并延迟执行时间,再向发送方返回通信请求,延迟时间有步骤1发送的通信请求指定;
步骤3.发送方在接收到所有应答之后完成一次多到一通信过程。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员在其启发下依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。
Claims (7)
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.发送到接收方1的请求中指定消息延迟0秒,即立即返回;
a-2.发送到接收方2的请求中指定消息延迟R1秒,所述R1秒为发送方估计步骤a-1中接收方传输应答消息需要的时间;
a-3.发送到接收方3的请求中的指定消息延迟R2秒,所述R2秒为发送方估计步骤a-1和a-2接收方传输应答消息需要的时间和;
a-4.依照a-1、a-2和a-3的发送模式,发送到接收方n的请求中指定消息延迟Rn秒,所述Rn秒为从开始到上一次接收方传输应答消息需要的时间和;
b.接收方根据接收到的通信消息,处理并延迟执行时间,再向发送方返回通信请求,延迟时间有步骤a发送的通信请求指定;
c.发送方在接收到所有应答之后完成一次多到一通信过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410508634.8A CN104270320B (zh) | 2014-09-28 | 2014-09-28 | 一种分布式通信***主动流量控制的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410508634.8A CN104270320B (zh) | 2014-09-28 | 2014-09-28 | 一种分布式通信***主动流量控制的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104270320A true CN104270320A (zh) | 2015-01-07 |
CN104270320B CN104270320B (zh) | 2018-03-30 |
Family
ID=52161812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410508634.8A Active CN104270320B (zh) | 2014-09-28 | 2014-09-28 | 一种分布式通信***主动流量控制的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104270320B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106877916A (zh) * | 2017-02-13 | 2017-06-20 | 重庆邮电大学 | 一种基于广义空间调制***的星座点分块检测方法 |
CN108366023A (zh) * | 2018-03-20 | 2018-08-03 | 西安电子科技大学 | 用于时延敏感网络的防碰撞流预留带宽***及其方法 |
CN109714128A (zh) * | 2017-10-25 | 2019-05-03 | 华为技术有限公司 | 数据传输方法、设备及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1901499A1 (en) * | 2006-09-14 | 2008-03-19 | Fujitsu Ltd. | Mobile communication system and communication method thereof |
CN102571529A (zh) * | 2010-12-10 | 2012-07-11 | 中兴通讯股份有限公司 | 消除头阻塞的数据发送方法和装置 |
CN103346979A (zh) * | 2013-06-21 | 2013-10-09 | 杭州华三通信技术有限公司 | 一种spbm网络中的流量分配方法及设备 |
-
2014
- 2014-09-28 CN CN201410508634.8A patent/CN104270320B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1901499A1 (en) * | 2006-09-14 | 2008-03-19 | Fujitsu Ltd. | Mobile communication system and communication method thereof |
CN102571529A (zh) * | 2010-12-10 | 2012-07-11 | 中兴通讯股份有限公司 | 消除头阻塞的数据发送方法和装置 |
CN103346979A (zh) * | 2013-06-21 | 2013-10-09 | 杭州华三通信技术有限公司 | 一种spbm网络中的流量分配方法及设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106877916A (zh) * | 2017-02-13 | 2017-06-20 | 重庆邮电大学 | 一种基于广义空间调制***的星座点分块检测方法 |
CN109714128A (zh) * | 2017-10-25 | 2019-05-03 | 华为技术有限公司 | 数据传输方法、设备及计算机存储介质 |
US11165705B2 (en) | 2017-10-25 | 2021-11-02 | Huawei Technologies Co., Ltd. | Data transmission method, device, and computer storage medium |
CN109714128B (zh) * | 2017-10-25 | 2021-12-31 | 华为技术有限公司 | 数据传输方法、设备及计算机存储介质 |
CN108366023A (zh) * | 2018-03-20 | 2018-08-03 | 西安电子科技大学 | 用于时延敏感网络的防碰撞流预留带宽***及其方法 |
CN108366023B (zh) * | 2018-03-20 | 2020-08-11 | 西安电子科技大学 | 用于时延敏感网络的防碰撞流预留带宽***及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104270320B (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103312807B (zh) | 数据传输方法、装置及*** | |
KR102187810B1 (ko) | 통신 시스템에서 데이터 흐름 제어 장치 및 방법 | |
WO2015143984A1 (zh) | 一种传输控制方法、装置及*** | |
CN102790798B (zh) | 一种内容分发网络中透明代理实现方法、设备及*** | |
CN105451165B (zh) | 一种基于多协议的近距离通信方法及装置 | |
Lai et al. | Performance modeling and analysis of TCP and UDP flows over software defined networks | |
EP3895398B1 (en) | Communication system with de-jitter buffer for reducing jitter | |
CN102958108A (zh) | 用于数据传输的方法、分流点设备、用户终端和*** | |
CN104301252A (zh) | 一种数据发送***及数据发送方法 | |
CN107210908A (zh) | 用于数据流量的速率适配的方法和*** | |
CN104468371A (zh) | 组播业务报文处理方法及装置 | |
CN103929377A (zh) | 一种有线网络与无线网络联合调度方法、相关设备及*** | |
CN104202313A (zh) | 数据转发方法及网关 | |
CN104270320A (zh) | 一种分布式通信***主动流量控制的方法 | |
CN102231699B (zh) | 分布式***中路由处理方法和分布式*** | |
CN101883047B (zh) | 多网络接口设备的数据并发传输方法 | |
CN103560947A (zh) | 一种避免中间***邻居关系震荡的方法及装置 | |
CN103581027B (zh) | 一种优化pim‑sm组播路由建立的方法 | |
EP3389196A3 (en) | System and method for sending and receiving air traffic network messages using different protocols | |
KR101610031B1 (ko) | 소프트웨어 정의 네트워크에서 컨트롤러를 내장하는 오픈플로우 스위치의 제어방법 및 장치 | |
US20210176666A1 (en) | First node and a second node and methods of operating the same | |
CN102595552B (zh) | 基于自适应动态机制的无线分组网按需路由维护方法 | |
CN107612665A (zh) | 数据信息重传方法及网络传输*** | |
CN109922159A (zh) | 一种物联网设备间云端双向虚拟连接的方法 | |
CN110278158A (zh) | 组播数据包发送方法、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |