一种业务流量的分配方法及装置 【技术领域】
本发明涉及计算机网络通信技术, 尤其涉及一种业务流量的分配方法及装置。背景技术 网络管理对于精细化运营、 未经许可业务抑制、 网络安全防护和业务资源管理的 要求越来越高, 这促使了业务识别技术的发展, 体现在设备层面, 即在越来越多的网络设备 中集成了深度包检测 (DPI, Deep Packet Inspection) 业务识别单板。DPI 业务识别单板 中所谓 “深度” 是相对于普通的 L2-L4 交换机 / 路由器的报文分析层次而言的, L2-L4 交换 机 / 路由器分析 IP 包中包括源地址、 目的地址、 源端口、 目的端口以及协议类型的层 4 以下 的内容, 而 DPI 业务识别单板除了对前面的层次分析外, 还增加数据包内容的识别功能。
而随着网络规模的不断扩大、 业务流量不断增长, 升级业务识别网络, 以增加业务 识别网络的容量需求也越来越迫切。现有的升级方案中, 在业务识别网络原有的交换设备 上增设 DPI 业务识别单板的方案, 可以降低升级业务识别网络的成本, 是为运营商所认可 的, 但此方案会使一个交换设备上有多块 DPI 业务识别单板, 这样, 为了避免因业务流量分 配不均而导致某个或某些 DPI 业务识别单板过载, 即需要交换设备的主控单板将需要业务 识别的业务流量公平的分配到该交换设备各 DPI 业务识别单板上, 常用的分配方法是静态 配置, 具体为 : 将接入交换设备的各路径分别配置给各 DPI 业务识别单板, 各 DPI 业务识别 单板仅处理配置给自身的各路径的业务流量, 此方法针对路径配置, 而路径上的业务流量 随时变化, 并不能做到公平分配业务流量, 还是不能有效避免因业务流量分配不均而导致 的 DPI 业务识别单板过载问题。
发明内容
有鉴于此, 本发明的主要目的在于提供一种业务流量的分配方法及装置, 能够将 需要识别的业务流量公平的分配到各 DPI 业务识别单板。
为达到上述目的, 本发明的技术方案是这样实现的 :
一种业务流量的分配方法, 建立可用单板信息库, 该方法还包括 :
主控单板根据可用单板信息库中存储的各深度包检测 DPI 业务识别单板的处理 能力和当前流量, 得到各 DPI 业务识别单板剩余处理能力 ; 根据各 DPI 业务识别单板剩余处 理能力, 将需要识别的业务流量分配到各 DPI 业务识别单板。
进一步地, 所述将需要识别的业务流量分配到各 DPI 业务识别单板包括 :
以各 DPI 业务识别单板剩余处理能力作为该 DPI 业务识别单板的权重, 计算各 DPI 业务识别单板的权重的和 ;
将需要识别的业务流量平均划分成流量组, 使得划分得的流量组的个数等于所算 得的和 ;
为各 DPI 业务识别单板分配流量组, 使得各 DPI 业务识别单板分配到的流量组的 个数与该 DPI 业务识别单板的权重相等。进一步地, 所述建立可用单板信息库包括 :
预先设置可用单板信息库 ; 所述可用单板信息库包括的属性有 : DPI 业务识别单 板的槽位、 物理状态、 处理能力和当前流量 ;
DPI 业务识别单板与主控单板建立连接, 向主控单板上报自身槽位、 物理状态、 处 理能力和当前流量 ; 主控单板将接收到的该 DPI 业务识别单板的槽位、 处理能力和当前流 量对应存储在可用单板信息库中的一个表项内, 并将该表项的物理状态置为稳定状态。
进一步地, 该方法进一步包括 : 维护可用单板信息库 ; 具体为 :
与主控单板建立了连接的各 DPI 业务识别单板, 以预先设定的上报周期, 向主控 单板上报该 DPI 业务识别单板的当前流量 ;
主控单板使用接收到的 DPI 业务识别单板上报的当前流量, 替换可用单板信息库 中存储的该 DPI 业务识别单板的当前流量。
进一步地, 所述维护可用单板信息库还包括 :
主控单板监测到 DPI 业务识别单板故障时, 删除可用单板信息库内该 DPI 业务识 别单板对应的表项 ;
当 DPI 业务识别单板故障恢复时, 该 DPI 业务识别单板恢复与主控单板连接, 向主 控单板上报自身槽位、 处理能力和当前流量, 并在自身的物理状态稳定后, 向主控单板发送 物理状态稳定的通知 ; 主控单板在接收到所述通知后, 将接收到的该 DPI 业务识别单板的 槽位、 处理能力和当前流量对应存储在可用单板信息库中的一个表项内, 并将该表项的物 理状态置为稳定。
本发明还提供一种业务流量的分配装置, 该装置包括 : 存储模块、 分配模块 ; 其 中,
存储模块, 用于建立可用单板信息库 ;
分配模块, 用于根据可用单板信息库中存储的各 DPI 业务识别单板的处理能力和 当前流量, 得到各 DPI 业务识别单板剩余处理能力 ; 根据各 DPI 业务识别单板剩余处理能 力, 将需要识别的业务流量分配到各 DPI 业务识别单板。
进一步地, 所述分配模块包括 : 计算模块、 流量分配模块 ; 其中,
计算模块, 用于根据可用单板信息库中存储的各 DPI 业务识别单板的处理能力和 当前流量, 得到各 DPI 业务识别单板剩余处理能力 ; 以各 DPI 业务识别单板剩余处理能力作 为该 DPI 业务识别单板的权重, 计算各 DPI 业务识别单板的权重的和 ;
流量分配模块, 用于将需要识别的业务流量平均划分成流量组, 使得划分得的流 量组的个数等于所算得的和 ; 为各 DPI 业务识别单板分配流量组, 使得各 DPI 业务识别单板 分配到的流量组的个数与该 DPI 业务识别单板的权重相等。
进一步地, 该装置还包括 :
DPI 业务识别单板, 用于与主控单板建立连接时, 向所述存储模块上报自身槽位、 物理状态、 处理能力和当前流量 ;
所述存储模块包括 : 设置模块、 第一添加模块 ; 其中,
设置模块, 用于设置可用单板信息库 ; 所述可用单板信息库包括的属性有 : DPI 业 务识别单板的槽位、 物理状态、 处理能力和当前流量 ;
第一添加模块, 用于接收 DPI 业务识别单板发来的槽位、 物理状态、 处理能力和当前流量, 并将接收到的 DPI 业务识别单板的槽位、 处理能力和当前流量对应存储在可用单 板信息库中的一个表项内, 将该表项的物理状态置为稳定状态。
进一步地, 所述 DPI 业务识别单板, 还用于与主控单板建立了连接后, 以预先设定 的上报周期, 向所述存储模块上报自身的当前流量 ;
所述存储模块还包括 :
第一维护模块, 用于使用接收到的 DPI 业务识别单板上报的当前流量, 替换可用 单板信息库中存储的该 DPI 业务识别单板的当前流量。
进一步地, 所述存储模块还包括 :
监测模块, 用于监测 DPI 业务识别单板的运行状况, 并在监测到 DPI 业务识别单板 故障时, 删除可用单板信息库内该 DPI 业务识别单板对应的表项 ;
所述 DPI 业务识别单板, 还用于恢复与主控单板连接时, 向所述存储模块上报自 身槽位、 处理能力和当前流量, 并在自身的物理状态稳定后, 向所述存储模块发送物理状态 稳定的通知 ;
所述存储模块还包括 :
第二添加模块, 用于接收 DPI 业务识别单板发来的槽位、 处理能力和当前流量, 并 在接收到 DPI 业务识别单板发来的所述通知后, 将接收到的该 DPI 业务识别单板的槽位、 处 理能力和当前流量对应存储在可用单板信息库中的一个表项内, 将该表项的物理状态置为 稳定。 本发明所提供的业务流量的分配方法及装置, 通过建立可用单板信息库, 并根据 可用单板信息库中存储的各 DPI 业务识别单板的处理能力和当前流量, 将需要识别的业务 流量公平的分配到各 DPI 业务识别单板, 解决了因业务流量分配不均而导致的 DPI 业务识 别单板过载问题。
附图说明
图 1 为本发明实施例业务流量分配方法的实现流程图 ;
图 2 为本发明实施例业务流量分配装置的结构示意图。 具体实施方式
本发明实施例业务流量分配方法的实现流程如图 1 所示, 包括以下步骤 :
步骤 101 : 预先建立可用单板信息库。
这里, 所述预先建立可用单板信息库具体为 :
步骤 a1、 预先设置可用单板信息库 ; 所述可用单板信息库包括的属性有 : DPI 业务 识别单板的槽位、 物理状态、 处理能力和当前流量 ;
步骤 b1、 DPI 业务识别单板与主控单板建立连接, 向主控单板上报自身槽位、 物理 状态、 处理能力和当前流量 ; 主控单板将接收到的该 DPI 业务识别单板的槽位、 处理能力和 当前流量对应存储在可用单板信息库中的一个表项内, 并将该表项的物理状态置为稳定状 态。
这里, 步骤 101 后, 本发明实施例还包括 : 维护可用单板信息库 ; 具体为 :
步骤 a2、 与主控单板建立了连接的各 DPI 业务识别单板, 以预先设定的上报周期,向主控单板上报该 DPI 业务识别单板的当前流量 ;
步骤 b2、 主控单板使用接收到的 DPI 业务识别单板上报的当前流量, 替换可用单 板信息库中存储的该 DPI 业务识别单板的当前流量。
所述维护可用单板信息库还包括 :
步骤 a3、 主控单板监测到 DPI 业务识别单板故障时, 删除可用单板信息库内该 DPI 业务识别单板对应的表项 ;
其中, 主控单板监测到 DPI 业务识别单板故障具体为 :
DPI 业务识别单板仅业务模块故障, 其控制模块向主控单板上报故障 ; 或者,
主控单板向 DPI 业务识别单板发送探测信息, 如果没有收到回复, 则认为该 DPI 业 务识别单板故障。
步骤 b3、 当 DPI 业务识别单板故障恢复时, 该 DPI 业务识别单板恢复与主控单板连 接, 向主控单板上报自身槽位、 处理能力和当前流量, 并在自身的物理状态稳定后, 向主控 单板发送物理状态稳定的通知 ; 主控单板在接收到所述通知后, 将接收到的该 DPI 业务识 别单板的槽位、 处理能力和当前流量对应存储在可用单板信息库中的一个表项内, 并将该 表项的物理状态置为稳定。 步骤 102 : 主控单板根据可用单板信息库中存储的各 DPI 业务识别单板的处理能 力和当前流量, 得到各 DPI 业务识别单板剩余处理能力 ;
其中, DPI 业务识别单板的处理能力和其当前流量的差值, 即为该 DPI 业务识别单 板的剩余处理能力。
步骤 103 : 根据各 DPI 业务识别单板剩余处理能力, 将需要识别的业务流量分配到 各 DPI 业务识别单板。
其中, 所述将需要识别的业务流量分配到各 DPI 业务识别单板具体为 :
以各 DPI 业务识别单板剩余处理能力作为该 DPI 业务识别单板的权重, 计算各 DPI 业务识别单板的权重的和 ;
将需要识别的业务流量平均划分成流量组, 使得划分得的流量组的个数等于所算 得的和 ;
为各 DPI 业务识别单板分配流量组, 使得各 DPI 业务识别单板分配到的流量组的 个数与该 DPI 业务识别单板的权重相等。
本发明实施例业务流量分配装置的结构如图 2 所示, 包括 : 存储模块、 分配模块 ; 其中,
存储模块, 用于建立可用单板信息库 ;
分配模块, 用于根据可用单板信息库中存储的各 DPI 业务识别单板的处理能力和 当前流量, 得到各 DPI 业务识别单板剩余处理能力 ; 根据各 DPI 业务识别单板剩余处理能 力, 将需要识别的业务流量分配到各 DPI 业务识别单板。
这里, 存储模块和分配模块设置于交换设备的主控单板上。
其中, 所述分配模块包括 : 计算模块、 流量分配模块 ; 其中,
计算模块, 用于根据可用单板信息库中存储的各 DPI 业务识别单板的处理能力和 当前流量, 得到各 DPI 业务识别单板剩余处理能力 ; 以各 DPI 业务识别单板剩余处理能力作 为该 DPI 业务识别单板的权重, 计算各 DPI 业务识别单板的权重的和 ;
流量分配模块, 用于将需要识别的业务流量平均划分成流量组, 使得划分得的流 量组的个数等于所算得的和 ; 为各 DPI 业务识别单板分配流量组, 使得各 DPI 业务识别单板 分配到的流量组的个数与该 DPI 业务识别单板的权重相等。
进一步地, 该装置还包括 :
DPI 业务识别单板, 用于与主控单板建立连接时, 向所述存储模块上报自身槽位、 物理状态、 处理能力和当前流量 ;
相应的, 所述存储模块包括 : 设置模块、 第一添加模块 ; 其中,
设置模块, 用于设置可用单板信息库 ; 所述可用单板信息库包括的属性有 : DPI 业 务识别单板的槽位、 物理状态、 处理能力和当前流量 ;
第一添加模块, 用于接收 DPI 业务识别单板发来的槽位、 物理状态、 处理能力和当 前流量, 并将接收到的 DPI 业务识别单板的槽位、 处理能力和当前流量对应存储在可用单 板信息库中的一个表项内, 将该表项的物理状态置为稳定状态。
进一步地, 所述 DPI 业务识别单板, 还用于与主控单板建立了连接后, 以预先设定 的上报周期, 向所述存储模块上报自身的当前流量 ;
相应的, 所述存储模块还包括 : 第一维护模块, 用于使用接收到的 DPI 业务识别单板上报的当前流量, 替换可用 单板信息库中存储的该 DPI 业务识别单板的当前流量。
进一步地, 所述存储模块还包括 :
监测模块, 用于监测 DPI 业务识别单板的运行状况, 并在监测到 DPI 业务识别单板 故障时, 删除可用单板信息库内该 DPI 业务识别单板对应的表项 ;
所述 DPI 业务识别单板, 还用于恢复与主控单板连接时, 向所述存储模块上报自 身槽位、 处理能力和当前流量, 并在自身的物理状态稳定后, 向所述存储模块发送物理状态 稳定的通知 ;
相应的, 所述存储模块还包括 :
第二添加模块, 用于接收 DPI 业务识别单板发来的槽位、 处理能力和当前流量, 并 在接收到 DPI 业务识别单板发来的所述通知后, 将接收到的该 DPI 业务识别单板的槽位、 处 理能力和当前流量对应存储在可用单板信息库中的一个表项内, 将该表项的物理状态置为 稳定。
以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保护范围。