《一种分布式通信系统主动流量控制的方法.pdf》由会员分享,可在线阅读,更多相关《一种分布式通信系统主动流量控制的方法.pdf(9页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104270320 A (43)申请公布日 2015.01.07 CN 104270320 A (21)申请号 201410508634.8 (22)申请日 2014.09.28 H04L 12/801(2013.01) (71)申请人 曙光信息产业股份有限公司 地址 300384 天津市西青区华苑产业区 (环 外) 海泰华科大街 15 号 1-3 层 (72)发明人 张攀勇 彭成 季旻 苗艳超 (74)专利代理机构 北京安博达知识产权代理有 限公司 11271 代理人 徐国文 (54) 发明名称 一种分布式通信系统主动流量控制的方法 (57) 摘要 本发明提供一种分。
2、布式通信系统主动流量控 制的方法。该方法包括根据网络的状态, 通信系 统网络性能探测模块实时更新当前网络的状态信 息, 以选择路径 ; 智能路径选择模块根据当前网 络状态信息, 选择传输消息的通信链路, 应用层接 口无需感知底层网络和链路细节 ; 和主动流量控 制模块根据当前消息发送的模式调度消息。本发 明提供的方法可以适应多种网络, 向上层应用隐 藏底层网络流控细节, 并根据不同的通信模式选 择流控方法, 实现主动流量控制。 (51)Int.Cl. 权利要求书 2 页 说明书 5 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书5页 附图1。
3、页 (10)申请公布号 CN 104270320 A CN 104270320 A 1/2 页 2 1. 一种分布式通信系统主动流量控制的方法, 该方法包括如下步骤 : (1) 根据网络的状态, 通信系统网络性能探测模块实时更新当前网络的状态信息, 以选 择路径 ; (2) 智能路径选择模块根据当前网络状态信息, 选择传输消息的通信链路, 应用层接口 无需感知底层网络和链路细节 ; (3) 主动流量控制模块根据当前消息发送的模式调度消息。 2. 根据权利要求 1 所述分布式通信系统主动流量控制的方法, 其特征在于, 所述步骤 (1) 更新当前网络状态信息包括如下步骤 : A. 启动通信系统时,。
4、 网络性能探测模块检测并获取节点之间每一条网络链路的状态信 息 ; B. 以一对节点为单位, 对每一个节点中的每一个网络链路设置一个流控表和通信性能 表 ; C. 节点之间通信时, 发送方发送或接收到一个消息, 更新一次对应链路的流控表, 并根 据消息在发送方和接收方之间传输的时间间隔, 计算该消息在链路上传输的性能, 并将该 性能信息更新到链路对应的通信性能表中 ; 所述步骤 A 中的状态信息包括 : 物理设备信息、 物理网卡的硬件缓冲信息、 链路信息、 链路之间的通信性能信息。 3. 根据权利要求 1 所述分布式通信系统主动流量控制的方法, 其特征在于, 所述步骤 (2) 选择传输消息的通。
5、信链路包括如下步骤 : A. 应用层调用通信系统提供接口指定消息的接收方地址 ; B. 通信系统的智能路径选择模块根据消息接收方地址, 找到目标节点对应的所有链路 C. 遍历所有链路表, 根据链路表的流控状态和通信性能, 选择一条存在可发送性能最 高的通信链路 D. 将消息提交到该通信链路, 进行消息发送, 同时更新该链路的流控状态 ; E. 在消息传输完成之后, 依据传输结果, 更新该通信链路的流控状态和通信性能。 4. 根据权利要求 1 所述分布式通信系统主动流量控制的方法, 其特征在于, 所述步骤 (3) 消息调度包括如下步骤 : A. 应用层调用通信系统接口, 通知通信系统将发起特殊模。
6、式的通信操作 ; B. 通信系统的主动流量控制模块接收到通信模式后, 根据当前网络状态, 分解通信请 求, 在通信请求中间携带通信模式信息, 并将生成的消息调度请求提交给消息调度模块, 消 息调度模块依据调度请求决定下层传输模块将请求发送给接收方的时间 ; C. 接收方在接收到通信请求之后, 处理通信请求, 根据通信请求中携带的通信模式信 息, 生成消息调度请求, 消息调度模块决定向发送方应答消息的时间。 5.根据权利要求4所述分布式通信系统主动流量控制的方法, 其特征在于, 所述步骤A 中的特殊模式包括 : 一到多通信模式和多到一通信模式。 6. 根据权利要求 5 所述分布式通信系统主动流量。
7、控制的方法, 其特征在于, 所述一到 多通信模式的步骤如下 : a. 发送方生成并立即向接收方 1 发送消息 1 ; b. 发送方生成发送消息 2, 延迟 S1 秒, 再向接收方 2 发送消息 2, 所述 S1 为步骤 a 发送 权 利 要 求 书 CN 104270320 A 2 2/2 页 3 消息 1 的时间 ; c. 发送方生成发送消息 3, 延迟 S2 秒, 再向接收方 3 发送消息 3, 所述 S2 为步骤 a 和 b 发送消息时间的和 ; d. 依照步骤 a、 b 和 c 的发送模式, 若发送方第一次发送消息, 则立即发送消息 ; 若发送 方不是第一次发送信息, 则延迟一段时间,。
8、 再发送消息, 所述一段时间为从第一次到上一次 发送消息的时间和。 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. 依照。
9、 a-1、 a-2 和 a-3 的发送模式, 发送到接收方 n 的请求中指定消息延迟 Rn 秒, 所述 Rn 秒为从开始到上一次接收方传输应答消息需要的时间和 ; b. 接收方根据接收到的通信消息, 处理并延迟执行时间, 再向发送方返回通信请求, 延 迟时间有步骤 a 发送的通信请求指定 ; c. 发送方在接收到所有应答之后完成一次多到一通信过程。 权 利 要 求 书 CN 104270320 A 3 1/5 页 4 一种分布式通信系统主动流量控制的方法 技术领域 0001 本发明涉及通信系统流量控制技术, 具体涉及一种分布式通信系统主动流量控制 的方法。 背景技术 0002 分布式系统中, 。
10、各个模块之间均通过交互消息协同完成分布式系统的功能, 因此 消息通信的性能和服务质量直接决定了分布式系统实现的服务的质量。 0003 现有的分布式系统的通信模块将模块之间的通信角色分为消息发送方和消息接 收方 : 消息发送方将应用发起的通信请求打包成发送消息, 再通过网络向消息接收方传输 ; 消息接收方接收到消息之后, 解析消息格式, 将消息提交给上层应用处理, 并将处理结果返 回给消息发送方, 完成一次通信操作。 传统通信系统的通信过程中, 发送方一般直接将消息 提交给底层通信协议栈后, 协议栈控制各个节点之间的通信流量, 典型的有 TCP/IP 协议栈 实现的流量控制算法, TCP/IP 。
11、协议栈中实现了基于滑动窗口的流量控制算法, 这在发送方 和接收方都存在。 0004 为了保证网络在拥塞时的性能通信网络, 硬件实现了流量控制协议。典型的有以 太网的 IEEE802.3x 流量控制协议, 能够实现以太网端到客户端的流量控制, 当客户端发起 的通信请求超过网络处理能力, 以太网拥塞时, 服务端能通过接收方的缓冲区的状态检测 到网络的拥塞, 反向向客户端发送 PAUSE 帧, 通知客户端降低通信量 ; 客户端收到 PAUSE 帧 后降低或者停止通信请求, 从而实现控制网络中传输的数据量, 减少数据包丢失的目标。 0005 现有技术存在如下问题 : 0006 适应网络单一 : 由于性。
12、能和环境的需要, 分布式系统的通信网往往部署多套网络, 或者多种不同类型的网络, 如高性能 Infi niband 网络或者 10GB 以太网。每一种网络的性能 和可靠性差异较大, 现有的 TCP/IP 协议使用的拥塞控制算法和硬件实现的流控算法不能 够适应所有网络。 0007 因此, 需要提供一种改进的控制系统流量的技术方案来克服流量控制模式单一、 仅基于端到端的流控, 不关注上层应用, 不能够适应分布式系统的通信需求的通信模式的 缺陷。 发明内容 0008 为了克服上述现有技术的不足, 本发明提供一种分布式通信系统主动流量控制的 方法。 使通信系统能够适应多种网络, 向上层应用隐藏底层网络。
13、流控细节, 并根据不同的通 信模式选择流控方法, 支持主动流量控制方法。 0009 为了实现上述发明目的, 本发明采取如下技术方案 : 0010 一种分布式通信系统主动流量控制的方法, 其具体步骤如下 : 0011 (1) 通信系统中网络性能探测模块根据网络的状态实时更新当前网络的状态信 息, 通信系统依据该信息进行路径选择 ; 说 明 书 CN 104270320 A 4 2/5 页 5 0012 (2) 智能路径选择模块根据当前网络状态信息, 选择传输消息的通信链路, 应用层 接口无需感知底层网络和链路的细节 ; 0013 (3) 主动流量控制模块根据当前消息发送的模式, 进行消息的调度。。
14、 0014 本发明提供的优选技术方案中, 所述步骤 (1) 更新当前网络状态信息的具体步骤 如下 : 0015 A. 在通信系统启动时, 网络性能探测模块检测并获取节点之间每一条网络链路的 状态信息 ; 0016 B. 以一对节点为单位, 对每一个节点中的每一个网络链路设置一个流控表和通信 性能表 ; 0017 C. 节点之间通信时, 发送方在发送或接收到一个消息, 更新对应链路的流控表, 并 根据消息在发送方和接收方之间传输的时间间隔, 计算出该消息在链路上传输的性能, 并 将该性能信息更新到链路对应的通信性能表中 ; 0018 所述步骤 A 中的状态信息包括 : 物理设备信息、 物理网卡的。
15、硬件缓冲信息、 链路信 息、 链路之间的通信性能信息。 0019 本发明提供的第二优选技术方案中, 所述步骤 (2) 选择传输消息的通信链路的具 体步骤如下 : 0020 A. 应用层调用通信系统提供接口指定消息的接收方地址 ; 0021 B. 通信系统的智能路径选择模块根据消息接收方地址, 找到目标节点对应的所有 链路 0022 C. 遍历所有链路表, 根据链路表的流控状态和通信性能, 选择一条存在可发送, 性 能最高的通信链路 0023 D. 将消息提交到该通信链路, 进行消息发送, 同时更新该链路的流控状态 ; 0024 E. 在消息传输完成之后, 依据传输结果, 更新该通信链路的流控状。
16、态和通信性能。 0025 本发明提供的第三优选技术方案中, 所述步骤 (3) 消息调度的具体步骤如下 : 0026 A. 应用层调用通信系统接口, 通知通信系统将发起特殊模式的通信操作 ; 0027 B. 通信系统的主动流量控制模块在接收到通信模式后, 根据当前网络状态, 将通 信请求分解成多个通信请求, 在通信请求中间携带通信模式信息, 并生成消息调度请求, 提 交给消息调度模块, 消息调度模块依据调度请求决定下层传输模块将请求发送给接收方的 时间 ; 0028 C. 接收方在接收到通信请求之后, 处理通信请求, 根据通信请求中携带的通信模 式信息, 生成消息调度请求, 消息调度模块决定向发。
17、送方应答消息的时间。 0029 本发明提供的第四优选技术方案中, 所述步骤 A 中的特殊模式包括 : 一到多通信 模式和多到一通信模式。 0030 本发明提供的第五优选技术方案中, 所述一到多通信模式的具体步骤如下 : 0031 a. 发送方生成并立即发送消息 1 到接收方 1 ; 0032 b. 发送方生成发送消息 2, 延迟 S1 秒, 再发送消息 2 到接收方 2, 所述 S1 为步骤 a 发送消息 1 的时间 ; 0033 c. 发送方生成发送消息 3, 延迟 S2 秒, 再发送消息 3 到接收方 3, 所述 S2 为步骤 a 和 b 发送消息时间的和 ; 说 明 书 CN 10427。
18、0320 A 5 3/5 页 6 0034 d. 依照步骤 a、 b 和 c 的发送模式, 若发送方第一次发送消息, 则立即发送消息 ; 若 发送方不是第一次发送信息, 则延迟一段时间, 再发送消息, 所述一段时间为从第一次到上 一次发送消息的时间和。 0035 本发明提供的第六优选方案中, 所述多到一通信模式的具体步骤如下 : 0036 a. 发送方生成多个通信请求, 发送到对应的接收方 ; 0037 a-1. 发送到接收方 1 的请求中指定消息延迟 0 秒, 即立即返回 ; 0038 a-2. 发送到接收方 2 的请求中指定消息延迟 R1 秒, 所述 R1 秒为发送方估计步骤 a-1 中接。
19、收方传输应答消息需要的时间 ; 0039 a-3. 发送到接收方 3 的请求中的指定消息延迟 R2 秒, 所述 R2 秒为发送方估计步 骤 a-1 和 a-2 接收方传输应答消息需要的时间和 ; 0040 a-4. 依照 a-1、 a-2 和 a-3 的发送模式, 发送到接收方 n 的请求中指定消息延迟 Rn 秒, 所述 Rn 秒为从开始到上一次接收方传输应答消息需要的时间和 ; 0041 b. 接收方根据接收到的通信消息, 处理并延迟执行时间, 再向发送方返回通信请 求, 延迟时间有步骤 a 发送的通信请求指定 ; 0042 c. 发送方在接收到所有应答之后完成一次多到一通信过程。 0043。
20、 与现有技术相比, 本发明的有益效果在于 : 0044 本发明提供的技术方案实现了一种分布式通信系统中主动流量控制的方法, 能够 自适应多种不同的网络, 向上层隐藏底层网络流控细节, 同时针对分布式系统常见的通信 模式, 实现了主动的流量控制, 降低了网络拥塞对通信的影响, 提高了分布式系统的通信性 能。 0045 克服了现有技术中存在的流量控制模式单一、 仅基于端到端的流控, 不关注上层 应用, 不能够适应分布式系统的通信需求的通信模式的缺陷。 附图说明 0046 图 1 是主动流量控制模块进行一到多通信模式流程图 0047 图 2 是主动流量控制模块进行多到一通信模式流程图 具体实施方式 。
21、0048 下面结合附图对本发明作进一步详细说明。 0049 一种分布式通信系统总主动流量控制的方法, 具体步骤如下 : 0050 (1) 通信系统中网络性能探测模块根据网络的状态实时更新当前网络的状态信 息, 通信系统依据该信息进行路径选择 ; 0051 (2) 智能路径选择模块根据当前网络状态信息, 选择传输消息的通信链路, 应用层 接口无需感知底层网络和链路的细节 ; 0052 (3) 主动流量控制模块根据当前消息发送的模式, 进行消息的调度。 0053 所述步骤 (1) 更新当前网络状态信息的具体步骤如下 : 0054 A. 在通信系统启动时, 网络性能探测模块检测并获取节点之间每一条网。
22、络链路的 状态信息 ; 0055 B. 以一对节点为单位, 对每一个节点中的每一个网络链路设置一个流控表和通信 说 明 书 CN 104270320 A 6 4/5 页 7 性能表 ; 0056 C. 节点之间通信时, 发送方在发送或接收到一个消息, 更新对应链路的流控表, 并 根据消息在发送方和接收方之间传输的时间间隔, 计算出该消息在链路上传输的性能, 并 将该性能信息更新到链路对应的通信性能表中 ; 0057 所述步骤 A 中的状态信息包括 : 物理设备信息、 物理网卡的硬件缓冲信息、 链路信 息、 链路之间的通信性能信息。 0058 所述步骤 (2) 选择传输消息的通信链路的具体步骤如。
23、下 : 0059 A. 应用层调用通信系统提供接口指定消息的接收方地址 ; 0060 B. 通信系统的智能路径选择模块根据消息接收方地址, 找到目标节点对应的所有 链路 0061 C. 遍历所有链路表, 根据链路表的流控状态和通信性能, 选择一条存在可发送, 性 能最高的通信链路 0062 D. 将消息提交到该通信链路, 进行消息发送, 同时更新该链路的流控状态 ; 0063 E. 在消息传输完成之后, 依据传输结果, 更新该通信链路的流控状态和通信性能。 0064 所述步骤 (3) 消息调度的具体步骤如下 : 0065 A. 应用层调用通信系统接口, 通知通信系统将发起特殊模式的通信操作 ;。
24、 0066 B. 通信系统的主动流量控制模块在接收到通信模式后, 根据当前网络状态, 将通 信请求分解成多个通信请求, 在通信请求中间携带通信模式信息, 并生成消息调度请求, 提 交给消息调度模块, 消息调度模块依据调度请求决定下层传输模块将请求发送给接收方的 时间 ; 0067 C. 接收方在接收到通信请求之后, 处理通信请求, 根据通信请求中携带的通信模 式信息, 生成消息调度请求, 消息调度模块决定向发送方应答消息的时间。 0068 所述步骤 A 中的特殊模式包括 : 一到多通信模式和多到一通信模式。 0069 如图 1 所示, 所述一到多通信模式的具体步骤如下 : 0070 步骤 1.。
25、 发送方生成并立即发送消息 1 到接收方 1 ; 0071 步骤2.发送方生成发送消息2, 延迟S(1)秒, 再发送消息2到接收方2, 所述S(1) 为步骤 1 发送消息 1 的时间 ; 0072 步骤3.发送方生成发送消息3, 延迟S(2)秒, 再发送消息3到接收方3, 所述S(2) 为步骤 1 和步骤 2 发送消息时间的和 ; 0073 步骤4.依照步骤1、 2和3的发送模式, 发送方生成的发送信息N, 延迟S(N-1)秒, 再发送消息 N 到接收方 N, 所述 S(N-1) 为从开始到上一次发送消息的时间和。 0074 如图 2 所示, 所述多到一通信模式的具体步骤如下 : 0075 步。
26、骤 1. 发送方生成多个通信请求, 发送到对应的接收方 ; 0076 步骤 1.1. 发送到接收方 1 的请求中指定消息延迟 0 秒, 即立即返回 ; 0077 步骤 1.2. 发送到接收方 2 的请求中指定消息延迟 R(1) 秒, 所述 R(1) 秒为发送方 估计步骤 1.1 中接收方传输应答消息需要的时间 ; 0078 步骤 1.3. 发送到接收方 3 的请求中的指定消息延迟 R(2) 秒, 所述 R(2) 秒为发送 方估计步骤 1.1 和 1.2 接收方传输应答消息需要的时间和 ; 0079 步骤1.4.依照步骤1.1、 步骤1.2和步骤1.3的发送模式, 发送到接收方n的请求 说 明 。
27、书 CN 104270320 A 7 5/5 页 8 中指定消息延迟 R(n-1) 秒, 所述 R(n-1) 秒为从开始到上一次接收方传输应答消息需要的 时间和 ; 0080 步骤 2. 接收方根据接收到的通信消息, 处理并延迟执行时间, 再向发送方返回通 信请求, 延迟时间有步骤 1 发送的通信请求指定 ; 0081 步骤 3. 发送方在接收到所有应答之后完成一次多到一通信过程。 0082 最后应当说明的是 : 以上实施例仅用以说明本发明的技术方案而非对其限制, 尽 管参照上述实施例对本发明进行了详细的说明, 所属领域的普通技术人员在其启发下依然 可以对本发明的具体实施方式进行修改或者等同替换, 这些未脱离本发明精神和范围的任 何修改或者等同替换, 均在申请待批的本发明的权利要求保护范围之内。 说 明 书 CN 104270320 A 8 1/1 页 9 图 1 图 2 说 明 书 附 图 CN 104270320 A 9 。