CN105339934A - 一种报文处理方法及装置 - Google Patents

一种报文处理方法及装置 Download PDF

Info

Publication number
CN105339934A
CN105339934A CN201480034154.0A CN201480034154A CN105339934A CN 105339934 A CN105339934 A CN 105339934A CN 201480034154 A CN201480034154 A CN 201480034154A CN 105339934 A CN105339934 A CN 105339934A
Authority
CN
China
Prior art keywords
flow table
message
parallelization
table item
fragment
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
Application number
CN201480034154.0A
Other languages
English (en)
Other versions
CN105339934B (zh
Inventor
李岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105339934A publication Critical patent/CN105339934A/zh
Application granted granted Critical
Publication of CN105339934B publication Critical patent/CN105339934B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及计算机网络技术领域,尤其涉及一种报文处理方法及装置,用于提高交换机进行报文转发处理的效率;本发明实施例提供的一种报文处理方法,包括:控制器为交换机的并行化开始流表配置包括并行化操作开始命令的第一流表项,并为所述交换机的并行化结束流表配置包括并行化操作结束命令的第二流表项;其中,所述并行化操作开始命令包括对匹配所述第一流表项的原始报文执行分片操作后,将形成的多份分片报文输送至下一级流表的第一指示信息,所述分片操作为复制操作或分割操作;所述并行化操作结束命令包括将匹配所述第二流表项的分片报文输送至所述交换机中用于将来源于同一原始报文的所有分片报文进行合并的合并处理单元的第二指示信息。

Description

一种报文处理方法及装置 技术领域
本发明涉及计算机网络技术领域, 尤其涉及一种报文处理方法及装置。 背景技术
在目前的电信网络中, 存在着众多复杂的网络设备, 如路由器、 网关、 交换机、 防火墙和各类服务器等, 每台设备都由内部的报文转发模块和各类 协议控制模块组成, 这种分布式的控制模块部署方式, 使得网络的部署和管 理非常复杂, 为了实施对某个控制参数的修改或升级, 网络操作员必须对每 台设备进行单独的操作。
为了提高网元的部署灵活性和可管理性, 业界提出了软件定义网络
( Software Defined Network, SDN ) 的 4既念, SDN通过将网元的控制功能和 转发功能解耦, 并将各网元的控制功能进行集中部署, 提高了网络的管理效 率, 并使得转发面设备更为简单化; SDN思想正在被广泛应用到数据中心网 络和电信网络中, 其中, 开放式流(Openflow )协议是 SDN网络中最典型和 应用最多的协议。
Openflow协议中的网元包括开放式流控制器(Openflow Controller, OF Controller ) 和开放式流交换机 (Openflow Switch , OF Switch ) , 其中 OF Controller负责根据报文的特征确定对应该报文的执行动作, 并将报文的特征 及对应的执行动作组合成流表项下发给 OF Switch, OF Switch接收并存储该 流表项, 针对后续报文特征匹配该流表项的报文, 执行流表项中规定的动作, 从而实现对报文的操作处理。
OF Switch在釆用上述方式处理接收的报文时, 需要执行多级流表匹配, 根据每级流表中匹配的流表项进行串行处理 , 其多级流表匹配及处理过程如 图 1所示; 具体处理流程为, 首先, 报文从某个输入端口进入 OF Switch, OF Switch先用 tableO的流表项与接收的报文进行匹配, 并在匹配上某个流表项 后, 执行匹配的流表项中的操作集, 包括执行立即执行动作, 保存延迟执行 动作, 其中, 将报文输入到下一级流表的命令(goto-table ) 最后执行, 如果 匹配的流表项的命令里包括 goto-table , 则将报文发往下一级流表, 如果匹配 的流表项的命令里不包括 goto-table, 则说明需要退出流水线。
根据上述报文处理流程可知,报文在 OF Switch的多个流表之间是串行处 理的, 一个报文在某一级流表处理完成后, 根据 goto-table的指示进入下一级 流表进行处理,也即, OF Switch只能对接收的报文在一条流水线上进行处理, 处理效率较低, 无法实现对报文的高速转发处理; 再者, 对于承载在独立的 硬件 (如单板)上的单个流表, 只能对输入的具有固定大小的报文才能实现 高速转发处理, 而上述报文处理流程显然无法实现各流表之间只传输固定大 'J、的报文, 因此限制了 OF Switch的处理效率;
综上, 上述报文处理流程处理报文的效率较低, 无法实现对报文的高速 转发处理。 发明内容
本发明提供一种报文处理方法及装置, 用于提高交换机进行报文转发处 理的效率。
第一方面, 提供一种报文处理方法, 包括:
控制器为交换机的并行化开始流表配置包括并行化操作开始命令的第一 流表项, 并为所述交换机的并行化结束流表配置包括并行化操作结束命令的 第二流表项; 其中, 所述并行化操作开始命令包括对匹配所述第一流表项的 原始报文执行分片操作后, 将形成的多份分片报文输送至下一级流表的第一 指示信息, 所述分片操作为复制操作或分割操作; 所述并行化操作结束命令 包括将匹配所述第二流表项的分片报文输送至所述交换机中用于将来源于同 所述控制器向所述交换机下发所述第一流表项和第二流表项, 并指示所 述交换机将所述第一流表项添加到所述并行化开始流表中, 将所述第二流表 项添加到所述并行化结束流表中。
结合第一方面, 在第一种可能的实现方式中, 所述第一指示信息为指示 所述交换机对匹配所述第一流表项的原始报文执行复制操作后, 将形成的多 份分片报文分别输送至不同的下一级流表的信息; 或,
所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。
结合第一方面, 或第一方面的第一种可能的实现方式, 在第二种可能的 实现方式中, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
结合第一方面的第二种可能的实现方式, 在第三种可能的实现方式中, 若所述分片操作为物理复制操作, 则所述方法还包括: 所述控制器为流表项 中的每个立即执行动作配置操作标志位, 所述操作标志位用于供所述交换机 确定需要合并的立即执行动作的结果, 以指示所述交换机在执行完任意一个 立即执行动作后, 将所述任意一个立即执行动作对应的操作标志位作为操作 后的报文的元数据, 其中, 所述立即执行动作是交换机在报文匹配上设定流 表项后就针对该^艮文执行的该设定流表项中的动作, 该交换机无需将所述立 即执行动作保存到需要将该报文从该交换机输出时再执行。
结合第一方面, 或第一方面的第一种可能的实现方式, 在第四种可能的 实现方式中, 若所述分片操作为分割操作, 则所述并行化操作开始命令还包 括每份分片报文的大小。
结合第一方面, 或第一方面的第一至四种可能的实现方式中的任意一种 可能的实现方式, 在第五种可能的实现方式中, 针对任意一个第一流表项, 所述并行化操作开始命令还包括为所有匹配该第一流表项的原始报文的分片 报文设置同一个并行化识别元数据的指示信息, 所述并行化识别元数据用于 标记匹配所述任意一个第一流表项的原始报文的分片报文。
第二方面, 提供一种报文处理方法, 包括:
交换机接收控制器下发的包括并行化操作开始命令的第一流表项和包括 并行化操作结束命令的第二流表项, 并根据所述控制器的指示, 将所述第一 流表项添加到并行化开始流表中, 将所述第二流表项添加到并行化结束流表 中;
所述交换机在原始报文到达并行化开始流表后, 若能将所述原始报文成 功匹配所述第一流表项, 则执行所述并行化操作开始命令; 其中, 所述并行 化操作开始命令包括对匹配所述第一流表项的原始报文执行分片操作后, 将 形成的多份分片报文输送至下一级流表的第一指示信息, 所述分片操作为复 制操作或分割操作;
所述交换机在任一分片报文到达并行化结束流表后, 若能成功匹配所述 第二流表项, 则执行所述并行化操作结束命令; 所述并行化操作结束命令包 括将匹配所述第二流表项的分片报文输送至所述交换机中用于将来源于同一 结合第二方面, 在第一种可能的实现方式中, 所述第一指示信息为指示 所述交换机对匹配所述第一流表项的原始报文执行复制操作后, 将形成的多 份分片报文分别输送至不同的下一级流表的信息; 或,
所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。
结合第二方面, 或第二方面的第一种可能的实现方式, 在第二种可能的 实现方式中, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
结合第二方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述分片操作为物理复制操作; 所述方法还包括:
针对匹配设定流表项的一份分片报文, 所述交换机在对该份分片报文执 行完任意一个立即执行动作后, 将所述设定流表项中配置的该立即执行动作 对应的操作标志位作为操作后的报文的元数据; 所述操作标志位用于供所述 交换机确定需要合并的立即执行动作的结果; 所述立即执行动作是交换机在 报文匹配上设定流表项后就针对该报文执行的该设定流表项中的动作, 该交 换机无需将所述立即执行动作保存到需要将该报文从该交换机输出时再执 行。
结合第二方面, 或第二方面的第一至三种可能的实现方式中的任意一种 可能的实现方式, 在第四种可能的实现方式中, 所述并行化操作开始命令还 包括为匹配第一流表项的原始报文的分片报文设置并行化识别元数据的指示 信息, 所述并行化识别元数据用于区分分片报文和未经过分片的原始报文; 所述交换机执行所述并行化操作结束命令, 包括:
所述交换机在任一分片报文到达并行化结束流表后, 若能根据所述任一 分片报文携带的并行化识别元数据成功匹配所述第二流表项, 则执行所述并 行化操作结束命令。
结合第二方面, 或第二方面的第一种可能的实现方式, 或第二方面的第 四种可能的实现方式, 在第五种可能的实现方式中, 若所述分片操作为分割 操作, 则所述并行化操作开始命令还包括每份分片报文的大小。
结合第二方面, 或第二方面的第一至五种可能的实现方式中的任意一种 可能的实现方式, 在第六种可能的实现方式中, 所述交换机执行所述并行化 操作开始命令, 包括:
所述交换机将生成的分片元数据携带在每份分片报文中输送至下一级流 表; 所述分片元数据用于识别来源于同一个原始报文的分片报文;
所述交换机执行所述并行化操作结束命令, 包括:
所述交换机在所述任一分片报文到达所述合并处理单元后, 根据所述任 一分片报文中携带的分片元数据, 将所述任一分片报文与其它分片报文进行 合并。
结合第二方面的第六种可能的实现方式, 在第七种可能的实现方式中, 所述分片元数据包括原始报文的标识、 将原始报文分片的份数和每份分片报 文的序列号。
结合第二方面, 或第二方面的第一至七种可能的实现方式中的任意一种 可能的实现方式, 在第八种可能的实现方式中, 所述交换机执行所述并行化 操作结束命令, 包括:
若所述第二流表项中包括将报文输送至下一级流表的转发命令, 则所述 交换机将所述转发命令作为元数据携带在所述任一分片报文中输送至所述合 并处理单元进行合并处理, 并在合并处理完成后, 根据所述转发命令, 将合 并后的报文转发给下一级流表;
若所述第二流表项中不包括将报文输送至下一级流表的转发命令, 则所 述交换机在合并处理完成后, 执行合并后的报文的延迟执行动作, 并将合并 后的报文通过输出端口转发出去; 其中, 所述延迟执行动作是针对匹配该延 迟执行动作所属流表项的报文, 直到需要将该报文从该交换机输出时才执行 的动作。
结合第二方面的第八种可能的实现方式, 在第九种可能的实现方式中, 所述交换机将合并后的报文转发给下一级流表, 或将合并后的报文通过输出 端口转发出去之前, 还包括:
所述交换机确定需要合并的不同分片报文的操作集之间不存在冲突; 所 述操作集包括所述延迟执行动作, 和 /或, 包括在所述分片报文匹配上设定流 表项后就执行的该设定流表项中的立即执行动作。
第三方面, 提供一种报文处理装置, 包括配置模块和发送模块, 其中: 所述配置模块, 用于为交换机的并行化开始流表配置包括并行化操作开 始命令的第一流表项, 并为所述交换机的并行化结束流表配置包括并行化操 作结束命令的第二流表项, 并将所述配置的所述第一流表项和第二流表项输 送至所述发送模块; 其中, 所述并行化操作开始命令包括对匹配所述第一流 表项的原始报文执行分片操作后, 将形成的多份分片报文输送至下一级流表 的第一指示信息, 所述分片操作为复制操作或分割操作; 所述并行化操作结 束命令包括将匹配所述第二流表项的分片报文输送至所述交换机中用于将来 息;
所述发送模块, 用于向所述交换机下发所述第一流表项和第二流表项, 并指示所述交换机将所述第一流表项添加到所述并行化开始流表中, 并将所 述第二流表项添加到所述并行化结束流表中。
结合第三方面, 在第一种可能的实现方式中, 所述第一指示信息为指示 所述交换机对匹配所述第一流表项的原始报文执行复制操作后, 将形成的多 份分片报文分别输送至不同的下一级流表的信息; 或,
所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。
结合第三方面, 或第三方面的第一种可能的实现方式, 在第二种可能的 实现方式中, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
结合第三方面的第二种可能的实现方式, 在第三种可能的实现方式中, 若所述分片操作为物理复制操作, 则所述配置模块, 还用于为流表项中的每 个立即执行动作配置操作标志位, 所述操作标志位用于供所述交换机确定需 要合并的立即执行动作的结果, 以指示所述交换机在执行完任意一个立即执 行动作后, 将所述任意一个立即执行动作对应的操作标志位作为操作后的报 文的元数据, 其中, 所述立即执行动作是交换机在报文匹配上设定流表项后 就针对该报文执行的该设定流表项中的动作, 该交换机无需将所述立即执行 动作保存到需要将该报文从该交换机输出时再执行。 结合第三方面, 或第三方面的第一种可能的实现方式, 在第四种可能的 实现方式中, 若所述分片操作为分割操作, 则所述并行化操作开始命令还包 括每份分片报文的大小。
结合第三方面, 或第三方面的第一至四种可能的实现方式中的任意一种 可能的实现方式, 在第五种可能的实现方式中, 针对任意一个第一流表项, 所述并行化操作开始命令还包括为所有匹配该第一流表项的原始报文的分片 报文设置同一个并行化识别元数据的指示信息, 所述并行化识别元数据用于 标记匹配所述任意一个第一流表项的原始报文的分片报文。
第四方面, 提供一种报文处理装置, 包括接收模块、 第一执行模块和第 二执行模块, 其中:
所述接收模块, 用于接收控制器下发的包括并行化操作开始命令的第一 流表项和包括并行化操作结束命令的第二流表项, 并根据所述控制器的指示, 将所述第一流表项添加到交换机的并行化开始流表中, 将所述第二流表项添 加到交换机的并行化结束流表中;
第一执行模块, 用于在原始报文到达并行化开始流表后, 若能将所述原 始报文成功匹配所述第一流表项, 则执行所述并行化操作开始命令; 其中, 所述并行化操作开始命令包括对匹配所述第一流表项的原始报文执行分片操 作后, 将形成的多份分片报文输送至下一级流表的第一指示信息, 所述分片 操作为复制操作或分割操作;
第二执行模块, 用于在任一分片报文到达并行化结束流表后, 若能成功 匹配所述第二流表项, 则执行所述并行化操作结束命令; 所述并行化操作结 束命令包括将匹配所述第二流表项的分片报文输送至所述交换机中用于将来 信息。
结合第四方面, 在第一种可能的实现方式中, 所述第一指示信息为指示 所述第一执行模块对匹配所述第一流表项的原始报文执行复制操作后, 将形 成的多份分片报文分别输送至不同的下一级流表的信息; 或, 所述第一指示信息为指示所述第一执行模块对匹配所述第一流表项的原 始报文执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的 信息。
结合第四方面, 或第四方面的第一种可能的实现方式, 在第二种可能的 实现方式中, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
结合第四方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述分片操作为物理复制操作; 所述装置还包括第三执行模块, 用于针对匹 配设定流表项的一份分片报文, 在对该份分片报文执行完任意一个立即执行 动作后, 将所述设定流表项中配置的该立即执行动作对应的操作标志位作为 操作后的报文的元数据; 所述操作标志位用于供所述第二执行模块确定需要 合并的立即执行动作的结果; 所述立即执行动作是所述第三执行模块在报文 匹配上设定流表项后就针对该 ^艮文执行的该设定流表项中的动作, 无需将所 述立即执行动作保存到需要将该报文从交换机输出时再执行。
结合第四方面, 或第四方面的第一至三种可能的实现方式中的任意一种 可能的实现方式, 在第四种可能的实现方式中, 所述并行化操作开始命令还 包括为匹配第一流表项的原始报文的分片报文设置并行化识别元数据的指示 信息, 所述并行化识别元数据用于区分分片报文和未经过分片的原始报文; 所述第二执行模块具体用于: 在任一分片报文到达并行化结束流表后, 若能根据所述任一分片报文携带的并行化识别元数据成功匹配所述第二流表 项, 则执行所述并行化操作结束命令。
结合第四方面, 或第四方面的第一种可能的实现方式, 或第四方面的第 四种可能的实现方式, 在第五种可能的实现方式中, 若所述分片操作为分割 操作, 则所述并行化操作开始命令还包括每份分片报文的大小。 结合第四方面, 或第四方面的第一至五种可能的实现方式中的任意一种 可能的实现方式, 在第六种可能的实现方式中, 所述第一执行模块具体用于: 将生成的分片元数据携带在每份分片报文中输送至下一级流表; 所述分片元 数据用于识别来源于同一个原始报文的分片报文;
所述第二执行模块具体用于: 在所述任一分片报文到达所述合并处理单 元后, 根据所述任一分片报文中携带的分片元数据, 将所述任一分片报文与 其它分片报文进行合并。
结合第四方面的第六种可能的实现方式, 在第七种可能的实现方式中, 所述分片元数据包括原始报文的标识、 将原始报文分片的份数和每份分片报 文的序列号。
结合第四方面, 或第四方面的第一至七种可能的实现方式中的任意一种 可能的实现方式, 在第八种可能的实现方式中, 所述第二执行模块具体用于: 若所述第二流表项中包括将报文输送至下一级流表的转发命令, 则将所述转 发命令作为元数据携带在所述任一分片报文中输送至所述合并处理单元进行 合并处理, 并在合并处理完成后, 根据所述转发命令, 将合并后的报文转发 给下一级流表;
若所述第二流表项中不包括将报文输送至下一级流表的转发命令, 则在 合并处理完成后, 执行合并后的报文的延迟执行动作, 并将合并后的报文通 过输出端口转发出去; 其中, 所述延迟执行动作是针对匹配该延迟执行动作 所属流表项的报文, 直到需要将该报文从交换机输出时才执行的动作。
结合第四方面的第八种可能的实现方式, 在第九种可能的实现方式中, 所述第二执行模块, 还用于在将合并后的报文转发给下一级流表, 或将合并 后的报文通过输出端口转发出去之前, 确定需要合并的不同分片报文的操作 集之间不存在冲突; 所述操作集包括所述延迟执行动作, 和 /或, 包括在所述 分片报文匹配上设定流表项后就执行的该设定流表项中的立即执行动作。
第五方面, 提供一种报文处理装置, 包括处理器和存储器, 所述存储器 存储执行指令, 当所述装置运行时, 所述处理器与所述存储器之间通信, 所 述处理器执行所述执行指令使得所述装置执行如下方法:
为交换机的并行化开始流表配置包括并行化操作开始命令的第一流表 项, 并为所述交换机的并行化结束流表配置包括并行化操作结束命令的第二 流表项; 其中, 所述并行化操作开始命令包括对匹配所述第一流表项的原始 报文执行分片操作后, 将形成的多份分片报文输送至下一级流表的第一指示 信息, 所述分片操作为复制操作或分割操作; 所述并行化操作结束命令包括 将匹配所述第二流表项的分片报文输送至所述交换机中用于将来源于同一原 向所述交换机下发所述第一流表项和第二流表项, 并指示所述交换机将 所述第一流表项添加到所述并行化开始流表中, 将所述第二流表项添加到所 述并行化结束流表中。
结合第五方面, 在第一种可能的实现方式中, 所述第一指示信息为指示 所述交换机对匹配所述第一流表项的原始报文执行复制操作后, 将形成的多 份分片报文分别输送至不同的下一级流表的信息; 或,
所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份复制报文输送至同一个下一级流表的信息。
结合第五方面, 或第五方面的第一种可能的实现方式, 在第二种可能的 实现方式中, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
结合第五方面的第二种可能的实现方式, 在第三种可能的实现方式中, 若所述分片操作为物理复制操作, 则所述处理器执行的所述方法还包括: 为 流表项中的每个立即执行动作配置操作标志位, 所述操作标志位用于供所述 交换机确定需要合并的立即执行动作的结果, 以指示所述交换机在执行完任 意一个立即执行动作后, 将所述任意一个立即执行动作对应的操作标志位作 为操作后的报文的元数据, 其中, 所述立即执行动作是交换机在报文匹配上 设定流表项后就针对该报文执行的该设定流表项中的动作, 该交换机无需将 所述立即执行动作保存到需要将该报文从该交换机输出时再执行。
结合第五方面, 或第五方面的第一种可能的实现方式, 在第四种可能的 实现方式中, 若所述分片操作为分割操作, 则所述并行化操作开始命令还包 括每份分片报文的大小。
结合第五方面, 或第五方面的第一至四种可能的实现方式中的任意一种 可能的实现方式, 在第五种可能的实现方式中, 针对任意一个第一流表项, 所述并行化操作开始命令还包括为所有匹配该第一流表项的原始报文的分片 报文设置同一个并行化识别元数据的指示信息, 所述并行化识别元数据用于 标记匹配所述任意一个第一流表项的原始报文的分片报文。
第六方面, 提供一种报文处理装置, 包括处理器和存储器, 所述存储器 存储执行指令, 当所述装置运行时, 所述处理器与所述存储器之间通信, 所 述处理器执行所述执行指令使得所述装置执行如下方法:
接收控制器下发的包括并行化操作开始命令的第一流表项和包括并行化 操作结束命令的第二流表项, 并根据所述控制器的指示, 将所述第一流表项 添加到交换机中的并行化开始流表中, 将所述第二流表项添加到交换机中的 并行化结束流表中;
在原始报文到达并行化开始流表后, 若能将所述原始报文成功匹配所述 第一流表项, 则执行所述并行化操作开始命令; 其中, 所述并行化操作开始 命令包括对匹配所述第一流表项的原始报文执行分片操作后, 将形成的多份 分片报文输送至下一级流表的第一指示信息, 所述分片操作为复制操作或分 割操作;
在任一分片报文到达并行化结束流表后, 若能成功匹配所述第二流表项, 则执行所述并行化操作结束命令; 所述并行化操作结束命令包括将匹配所述 第二流表项的分片报文输送至所述交换机中用于将来源于同一原始报文的所 有分片报文进行合并处理的合并处理单元的第二指示信息。 结合第六方面, 在第一种可能的实现方式中, 所述第一指示信息为指示 所述处理器对匹配所述第一流表项的原始报文执行复制操作后, 将形成的多 份分片报文分别输送至不同的下一级流表的信息; 或,
所述第一指示信息为指示所述处理器对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。
结合第六方面, 或第六方面的第一种可能的实现方式, 在第二种可能的 实现方式中, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
结合第六方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述分片操作为物理复制操作; 所述处理器执行的所述方法还包括:
针对匹配设定流表项的一份分片报文, 在对该份分片报文执行完任意一 个立即执行动作后, 将所述设定流表项中配置的该立即执行动作对应的操作 标志位作为操作后的报文的元数据; 所述操作标志位用于供所述处理器确定 需要合并的立即执行动作的结果; 所述立即执行动作是所述处理器在所述分 片报文匹配上设定流表项后就执行的该设定流表项中的动作, 无需将所述立 即执行动作保存到需要将该报文从交换机输出时再执行。
结合第六方面, 或第六方面的第一至三种可能的实现方式中的任意一种 可能的实现方式, 在第四种可能的实现方式中, 所述并行化操作开始命令还 包括为匹配第一流表项的原始报文的分片报文设置并行化识别元数据的指示 信息, 所述并行化识别元数据用于区分分片报文和未经过分片的原始报文; 所述处理器执行的所述方法中, 所述执行所述并行化操作结束命令, 包 括:
在任一分片报文到达并行化结束流表后, 若能根据所述任一分片报文携 带的并行化识别元数据成功匹配所述第二流表项, 则执行所述并行化操作结 束命令。
结合第六方面, 或第六方面的第一种可能的实现方式, 或第六方面的第 四种可能的实现方式, 在第五种可能的实现方式中, 若所述分片操作为分割 操作, 则所述并行化操作开始命令还包括每份分片报文的大小。
结合第六方面, 或第六方面的第一至五种可能的实现方式中的任意一种 可能的实现方式, 在第六种可能的实现方式中, 所述处理器执行的所述方法 中, 所述执行所述并行化操作开始命令, 包括:
将生成的分片元数据携带在每份分片报文中输送至下一级流表; 所述分 片元数据用于识别来源于同一个原始报文的分片报文;
所述执行所述并行化操作结束命令, 包括:
在所述任一分片报文到达所述合并处理单元后, 根据所述任一分片报文 中携带的分片元数据, 将所述任一分片报文与其它分片报文进行合并。
结合第六方面的第六种可能的实现方式, 在第七种可能的实现方式中, 所述分片元数据包括原始报文的标识、 将原始报文分片的份数和每份分片报 文的序列号。
结合第六方面, 或第六方面的第一至七种可能的实现方式中的任意一种 可能的实现方式, 在第八种可能的实现方式中, 所述处理器执行的所述方法 中, 所述执行所述并行化操作结束命令, 包括:
若所述第二流表项中包括将报文输送至下一级流表的转发命令, 则将所 述转发命令作为元数据携带在所述任一分片报文中输送至所述合并处理单元 进行合并处理, 并在合并处理完成后, 根据所述转发命令, 将合并后的报文 转发给下一级流表;
若所述第二流表项中不包括将报文输送至下一级流表的转发命令, 则在 合并处理完成后, 执行合并后的报文的延迟执行动作, 并将合并后的报文通 过输出端口转发出去; 其中, 所述延迟执行动作是针对匹配该延迟执行动作 所属流表项的报文, 直到需要将该报文从交换机输出时才执行的动作。
结合第六方面的第八种可能的实现方式, 在第九种可能的实现方式中, 所述处理器执行的所述方法中, 所述将合并后的报文转发给下一级流表, 或 将合并后的报文通过输出端口转发出去之前, 还包括:
确定需要合并的不同分片报文的操作集之间不存在冲突; 所述操作集包 括所述延迟执行动作, 和 /或, 包括在所述分片报文匹配上设定流表项后就执 行的该设定流表项中的立即执行动作。
本发明实施例的上述报文处理方式实际是一种并行处理方式, 可以根据 一个原始报文生成多份分片报文, 将每份分片报文分别放入对应的流水线中 进行操作处理, 最后, 可以将操作后的每份分片报文进行合并; 这种并行处 理方式可以极大地提高交换机的处理效率, 实现对报文的高速转发处理; 具体地, 若上述分片操作为复制操作, 则可以实现将不同的分片报文分 别发往不同的流水线进行处理, 也即将对该原始报文的多项操作处理并行执 行, 最后将处理结果进行合并, 如此可以极大地提高处理效率, 尤其适用于 对所述原始报文的处理操作较多的情况; 上述分片操作为分割操作的处理方 式适用于对于承载在独立的硬件 (如单板)上的单个流表, 只能对输入的具 有固定大小的报文才能进行高速转发处理的情况, 釆用本发明实施例, 在将 原始报文分割成固定大小的分片报文后, 进入后续的并行处理流程, 最后再 将处理后的分片报文合并, 如此可以实现对具有固定大小的报文进行高速的 转发处理。 附图说明
图 1为本发明实施例一提供的报文处理方法流程图
图 2为本发明实施例二提供的报文处理方法流程图
图 3为本发明实施例三提供的报文处理方法流程图
图 4为本发明实施例四提供的报文处理方法流程图
图 5为本发明实施例五提供的报文处理方法流程图
图 6为本发明实施例六提供的报文处理方法流程图
图 7为本发明实施例七提供的报文处理方法流程图 图 8为本发明实施例一提供的报文处理装置结构示意图;
图 9为本发明实施例二提供的报文处理装置结构示意图。
图 10为本发明实施例三提供的报文处理装置结构示意图,
图 11为本发明实施例四提供的报文处理装置结构示意图, 具体实施方式
为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发 明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例, 都属于本发明保护的范围。
如图 1所示, 为本发明实施例一提供的报文处理方法流程图, 包括: S101 : 控制器为交换机的并行化开始流表配置包括并行化操作开始命令 的第一流表项, 并为所述交换机的并行化结束流表配置包括并行化操作结束 命令的第二流表项; 其中, 所述并行化操作开始命令包括对匹配所述第一流 表项的原始报文执行分片操作后, 将形成的多份分片报文输送至下一级流表 的第一指示信息, 所述分片操作为复制操作或分割操作; 所述并行化操作结 束命令包括将匹配所述第二流表项的分片报文输送至所述交换机中用于将来 息;
S102: 所述控制器向所述交换机下发所述第一流表项和第二流表项, 并 指示所述交换机将所述第一流表项添加到所述并行化开始流表中, 将所述第 二流表项添加到所述并行化结束流表中。
在具体实施过程中, 控制器向并行化开始流表下发包括并行化操作开始 命令的第一流表项, 该并行化操作开始命令可以指示交换机执行分片 (包括 复制和分割)操作, 同时, 在该并行化操作开始命令中可以通过相关参数指 示交换机每份分片报文需要进入的下一级流表; 控制器向并行化结束流表下 发包括并行化操作结束命令的第二流表项, 该并行化操作结束命令可以指示 交换机在分片报文匹配上第二流表项后, 将操作完的分片报文发送到合并处 理单元, 与其它分片 文进行合并; 本发明实施例中的合并处理单元独立于 各流表组成的流水线, 由于合并处理操作耗时较长, 需要在一个原始报文的 分片报文都到达后才能完成处理, 为了提高流水线的处理效率, 不对流水线 工作造成负担, 本发明实施例中将合并处理操作移植到合并处理单元完成; 在上述步骤中, 交换机也可以将匹配第一流表项的报文输送至独立于各 流表组成的流水线的并行处理单元, 由该并行处理单元执行分片操作和将各 分片报文输送至下一级流表的操作, 但由于这种分片和转发操作耗时短, 可 以立即完成, 因此, 可以直接在上述流水线中完成即可。
本发明实施例中, 若上述分片操作为复制操作, 则控制器可以将原始报 文进入交换机后的第一个流表指定为并行化开始流表, 也可以将交换机中的 任一流表指定为并行化开始流表, 同时, 控制器根据复制操作后每份分片报 文的流表走向来确定并行化结束流表, 比如, 在对原始报文执行复制操作后, 生成两份内容相同的分片报文, 第一份分片报文依次需要经过 table0、 tablel 处理, 第二份分片报文需要经过 table2 处理, 则针对第一份分片报文, 并行 化结束流表为 tablel , 针对第二份复制报文, 并行化结束流表为 table2; 若上 述分片操作为分割操作, 这种操作一般适于对于承载在独立的硬件(如单板) 上的单个流表, 只能对输入的具有固定大小的报文才能进行高速转发处理的 情况, 在这种情况下, 可以设定交换机中的一个流表作为处理所有分片报文 的并行化结束流表, 比如, 若需要将原始报文从并行化开始流表 tablel 经并 行化结束流表 table3转发至 table2, 则可以将原始报文在 tablel执行分割操作 后, 将形成的多份具有固定大小的分片报文输送至 table3 , 由 table3再将各分 片报文输送至合并处理单元, 由该合并处理单元将各分片报文合并后输送至 table2, 这样, table3可以实现对具有固定大小的报文进行高速的转发处理。
可选地, 步骤 S101中, 所述第一指示信息为指示所述交换机对匹配所述 第一流表项的原始报文执行复制操作后, 将形成的多份分片报文分别输送至 不同的下一级流表的信息; 或,
所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分割报文输送至同一个下一级流表的信息。
在具体实施过程中, 若步骤 S101中的分片操作为复制操作, 则一般是需 要交换机将形成的每份分片报文分别放入不同的流表中进行处理(这些流表 可以运行在不同的网络处理器或网络处理器的不同线程上), 再将处理后的操 作集(包括应用动作 Apply- Action和写动作 Write-Action等 )合并, 比如, 假 设原始报文原本需要经过三级流表(分别包括 table0、 tablel、 table2 )的处理, 在形成两份分片报文后, 将第一份分片报文依次经过 table0、 table 1处理, 将 第二份分片报文经过 table2处理, 第一份和第二份分片报文分别在 tablel和 table2处理完毕后转往合并处理单元, 进行合并; 若步骤 S101中的分片操作 为分割操作, 则一般是需要交换机将形成的每份分片报文发送至同一个流表, 再根据该同一个流表, 将所有的分片报文发送至合并处理单元, 再由该合并 流表。
可选地, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
在具体实施过程中, 上述复制操作可以为逻辑复制操作, 也可以为物理 复制操作, 逻辑复制操作, 即并不将报文进行物理拷贝, 而是使用多个索引 指向同一个报文, 实际上就是生成了多个指向同一报文的指针; 而物理复制 操作是将报文进行了实际的物理拷贝, 形成多份内容相同的报文。
可选地, 若所述分片操作为物理复制操作, 则所述方法还包括: 所述控 制器为流表项中的每个立即执行动作配置操作标志位, 所述操作标志位用于 供所述交换机确定需要合并的立即执行动作的结果, 以指示所述交换机在执 行完任意一个立即执行动作后, 将所述任意一个立即执行动作对应的操作标 志位作为操作后的报文的元数据; 其中, 所述立即执行动作是交换机在报文 匹配上设定流表项后就针对该报文执行的该设定流表项中的动作, 该交换机 无需将所述立即执行动作保存到需要将该报文从该交换机输出时再执行。
在具体实施中, 若上述分片操作为逻辑复制操作, 则在对逻辑复制后的 不同分片报文进行操作时, 对不同的分片报文所执行的立即执行动作 (如应 用动作 Apply- Action )的结果之间是相互共享的, 在进行合并时, 只需合并延 迟执行动作(如写动作 Write-Action ) 即可, 这里, 流表项中的立即执行动作 (如 Apply- Action, 包括修改报文或者输出到某个转发端口等), 用于在将报 文匹配到该流表项时, 就立即执行, 流表项中的延迟执行动作, 用于在将才艮 文匹配到该流表项时, 先保存这些动作, 在需要退出交换机的流水线时, 也 即需要通过输出端口输出时, 再统一执行; 而对于物理复制操作, 由于后续 不同的流水线对分片报文进行操作处理是相互独立、 没有关联的, 在进行分 片报文合并时, 还需要识别有哪些内容已经过了立即执行动作的处理, 并检 查这些立即执行动作产生的结果是否存在冲突, 因此, 本发明实施例中控制 器为任意一个立即执行动作配置对应的操作标志位, 交换机在对任意一个物 理复制的分片报文执行完一个立即执行动作后, 将该动作对应的操作标志位 作为操作后的报文的元数据输出, 以便于后续在进行分片报文合并时识别之 前的立即执行动作的内容。
可选地, 若所述分片操作为分割操作, 则所述并行化操作开始命令还包 括每份分片报文的大小;
在具体实施过程中, 针对上述描述的分割操作所适用的情况, 可以在并 行化操作开始命令中指定每份分片报文的大小 (size ), 除此, 每份分片报文 的大小也可以作为交换机的配置信息, 不需要控制器指定。
可选地, 针对任意一个第一流表项, 所述并行化操作开始命令还包括为 所有匹配该第一流表项的原始报文的分片报文设置同一个并行化识别元数据 的指示信息, 所述并行化识别元数据用于标记匹配所述任意一个第一流表项 的原始报文的分片报文;
在具体实施过程中, 可以为每份匹配并行化开始流表的流表项的分片报 文设置同一个并行化识别元数据, 以用于和其它未经过分片操作的报文进行 区分; 釆用同一个并行化识别元数据来识别所有匹配同一个并行化开始流表 的流表项的分片报文, 可以在某些情况下减少流表项的数量; 比如, 若上述 分片操作为复制操作, 分片报文在经合并处理后还需进入下一级流表, 则 交换机在根据上述并行化开始流表的流表项在对某个报文进行复制操 作, 生成多份分片报文后, 若交换机需要在并行化开始流表的下一级流表 Y 对某个虚拟局域网 ( Virtual Local Area Network, VLAN ) 下的所有报文做个 修改 VLAN的操作, 则可以只在流表 Y中设置两个流表项, 分别匹配上述分 片报文和其它未经过分片的原始报文, 其中匹配上述分片报文的流表项中包 括并行化识别元数据、 并行化结束命令(包括输送至合并处理单元进行合并 的指示 )和进入下一级流表 U的指示, 匹配其它未经过分片的原始报文不包 括并行化识别元数据和所述并行化结束命令, 只包括进入下一级流表 U的指 示, 根据这两个流表项, 可以将分片报文发往合并处理单元合并后再输送至 下一级流表 U, 而将未进行分片操作的原始报文直接输送至下一级流表 U; 若不设置上述并行化识别元数据, 交换机在不同的报文到达流表 Y后, 还需 要设置多个(大于两个) 流表项, 分别匹配每份报文的其它内容(除并行化 识别元数据外的内容), 识别该报文是否经过了并行化处理, 如此, 便会导致 流表项数量的增多, 增加了匹配复杂度;
若上述分片操作为分割操作, 上述并行化识别元数据可以用于识别匹配 同一个第一流表项的分片报文, 交换机可以在并行化开始流表的下一级流表 W, 根据设置的包括该并行化识别元数据的流表项, 将所有匹配同一个第一 流表项的分片报文匹配所述包括该并行化识别元数据的流表项后, 输送至对 应的同一个合并处理单元, 由该合并处理单元合并后输送至同一个下一级流 表!^。
如图 2所示, 为本发明实施例二提供的 文处理方法流程图, 本发明实 施例二与上述实施例一属于同一发明构思, 下面的描述中只阐述上述实施例 一中没有介绍的内容, 重复之处, 不再赘述; 本发明实施例二提供的报文处 理方法包括:
S201 : 交换机接收控制器下发的包括并行化操作开始命令的第一流表项 和包括并行化操作结束命令的第二流表项, 并根据所述控制器的指示, 将所 述第一流表项添加到并行化开始流表, 并将所述第二流表项添加到并行化结 束流表中;
S202: 所述交换机在原始报文到达并行化开始流表后, 若能将所述原始 报文成功匹配所述第一流表项, 则执行所述并行化操作开始命令; 其中, 所 述并行化操作开始命令包括对匹配所述第一流表项的原始报文执行分片操作 后, 将形成的多份分片报文输送至下一级流表的第一指示信息, 所述分片操 作为复制操作或分割操作;
S203 : 所述交换机在任一分片报文到达并行化结束流表后, 若能成功匹 配所述第二流表项, 则执行所述并行化操作结束命令; 所述并行化操作结束 命令包括将匹配所述第二流表项的分片报文输送至所述交换机中用于将来源 息。
可选地, 所述第一指示信息为指示所述交换机对匹配所述第一流表项的 原始报文执行复制操作后, 将形成的多份复制报文分别输送至不同的下一级 流表的信息; 或,
所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分割报文输送至同一个下一级流表的信息。
可选地, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。 可选地, 所述分片操作为物理复制操作; 所述方法还包括: 针对匹配设定流表项的一份分片报文, 所述交换机在对该份分片报文执 行完任意一个立即执行动作后, 将所述设定流表项中配置的该立即执行动作 对应的操作标志位作为操作后的报文的元数据; 所述操作标志位用于供所述 交换机确定需要合并的立即执行动作的结果; 其中, 所述立即执行动作是交 换机在报文匹配上设定流表项后就针对该报文执行的该设定流表项中的动 作, 该交换机无需将所述立即执行动作保存到需要将该报文从该交换机输出 时再执行。
可选地, 所述并行化操作开始命令还包括为匹配第一流表项的原始报文 的分片报文设置并行化识别元数据的指示信息, 所述并行化识别元数据用于 区分分片报文和未经过分片的原始报文;
所述交换机执行所述并行化操作结束命令, 包括:
所述交换机在任一分片报文到达并行化结束流表后, 若能将所述任一分 片报文根据所述任一分片报文携带的并行化识别元数据成功匹配所述第二流 表项, 则执行所述并行化操作结束命令。
可选地, 若所述分片操作为分割操作, 则所述并行化操作开始命令还包 括每份分割报文的大小。
可选地, 所述交换机执行所述并行化操作开始命令, 包括:
所述交换机将生成的分片元数据携带在每份分片报文中输送至下一级流 表; 所述分片元数据用于识别来源于同一个原始报文的分片报文;
所述交换机执行所述并行化操作结束命令, 包括:
所述交换机在所述任一分片报文到达所述合并处理单元后, 根据所述任 一分片报文中携带的分片元数据, 将所述任一分片报文与其它分片报文进行 合并。
在具体实施过程中, 为了便于后续将来源于同一个原始报文的分片报文 进行合并, 可以为所有来源于同一个原始报文的分片报文设置分片元数据, 在其中任一分片报文到达合并处理单元后, 该合并处理单元根据该分片报文 携带的分片元数据, 将其与其它携带有同样的分片元数据的分片报文进行合 并。
可选地, 所述分片元数据包括原始报文的标识、 将原始报文分片的份数 和每份分片报文的序列号。
在具体实施中, 合并处理单元在接收到分片报文后, 首先根据分片报文 中携带的原始报文的标识识别来自于同一个原始报文的所有分片报文, 然后, 根据每份分片报文的序列号, 将各分片报文进行合并, 最后根据原始报文分 片的份数, 判断合并操作是否完成; 比如, 为某个原始报文分配一个唯一标 识 A, 该原始报文分片的份数为三份, 其中, 分片报文 1的序列号为 1 , 分片 报文 2的序列号为 2, 分片报文 3的序列号为 3 , 在这三份分片报文到达合并 处理单元后, 根据这三份分片报文中携带的标识 A, 确定这三份分片报文来 自于同一个原始报文, 根据每份分片报文携带的序列号, 将其依次合并, 根 据分片报文中携带的分片份数 3 , 确定合并操作完成。
可选地, 步骤 S203中, 所述交换机执行所述并行化操作结束命令, 包括: 若所述第二流表项中包括将报文输送至下一级流表的转发命令, 则所述 交换机将所述转发命令作为元数据携带在所述任一分片报文中输送至所述合 并处理单元进行合并处理, 并在合并处理完成后, 根据所述转发命令, 将合 并后的报文转发给下一级流表;
若所述第二流表项中不包括将报文输送至下一级流表的转发命令, 则所 述交换机在合并处理完成后, 执行合并后的报文的延迟执行动作, 并将合并 后的报文通过输出端口转发出去; 其中, 所述延迟执行动作是针对匹配该延 迟执行动作所属流表项的报文, 直到需要将该报文从该交换机输出时才执行 的动作。
在具体实施过程中, 若并行化结束流表的流表项中指示将分片报文合并 后不经过下一级流表直接输出, 则在合并处理完成后, 执行合并后的报文的 延迟执行动作, 由于立即执行动作在前面的流表中都已立即完成, 这里合并 后需要执行的操作集只剩下延迟执行动作 (如 Write-Action ); 若并行化结束 流表的流表项中指示将分片报文合并后还需要进入下一级流表, 则交换机可 以将并行化结束流表的流表项中所包括的输送至下一级流表的转发命令作为 元数据输送给合并处理单元, 合并处理单元根据该元数据, 对分片报文进行 合并处理后, 不执行合并后的报文的延迟执行动作, 而是将保存的延迟执行 动作携带在合并后的报文中输送给下一级流表。
可选地, 所述交换机将合并后的报文转发给下一级流表, 或将合并后的 报文通过输出端口转发出去之前, 还包括:
所述交换机确定需要合并的不同分片报文的操作集之间不存在冲突; 所 述操作集包括所述延迟执行动作, 和 /或, 包括在所述分片报文匹配上设定流 表项后就执行的该设定流表项中的立即执行动作。
在具体实施过程中, 交换机在将分片报文进行合并时, 还需要检查需要 合并的不同分片报文的操作集之间是否存在冲突, 这里的操作集除了可以包 括延迟执行动作, 还可以包括通过操作标志位区分的立即执行动作 (针对上 述物理复制操作), 比如, 操作后的分片报文 1相对原始报文, 将目的互联网 协议( Internet Protocol, IP )地址修改为了 a, 操作后的分片报文 2相对原始 报文, 将目的 IP地址修改为了 b, 两者存在冲突, 则可以将两种修改操作的 结果丟弃, 仍釆用原始报文的目的 IP地址, 或者, 可以将合并后的报文直接 丟弃(也即将对应原始报文的每份分片报文丟弃), 或者, 可以通过 Packet in 消息向控制器发送出错报文, 指示控制器不同分片报文的操作结果存在冲突, 并根据控制器的指示做进一步的处理。 实施例作进一步说明;
如图 3 所示, 为本发明实施例三提供的 文处理方法流程图, 该实施例 中, 对原始报文执行的分片操作为逻辑复制操作, 分片报文在到达合并处理 单元经合并处理后, 直接通过输出端口输出 (不进入下一级流表), 包括:
S301 : 控制器向交换机下发为并行化开始流表配置的第一流表项, 该第 一流表项用于指示交换机对匹配该第一流表项的原始报文执行逻辑复制操作 后, 将形成的多份分片报文输送至下一级流表;
这里, 第一流表项可以是由并行化开始流表的原有流表项修改而来, 该 第一流表项中除了原有流表项的匹配内容 XXX外,新增一个复制指令( apply copy action ), 指示交换机在报文到达该第一流表项时, 执行逻辑复制操作, 该指令的参数中可以指明每份分片报文需要进入的下一级流表(由于为每份 分片报文保证指明了下一级流表, 也就相当于同时指明了逻辑复制份数), 比 如将原始报文复制成两份, 每份分片报文分别进入流表 Y和流表 Z接受不同 的操作处理(如包括应用动作 Apply- Action和写动作 Write-Action等); 这样, 控制器为交换机的并行化开始流表 TableX配置的第一流表项可表示为: Flow mod [ match XXX, apply copy action (goto table Y, goto table Z )]。
S302: 控制器向交换机下发为并行化结束流表配置的第二流表项, 该第 二流表项用于指示交换机对匹配该第二流表项的分片报文输送至合并处理单 元进行合并处理;
这里, 第二流表项可以是由并行化结束流表的原有流表项修改而来, 该 第二流表项中除了原有流表项的匹配内容外,新增一个合并处理( goto merge ) 的命令, 指示交换机将匹配该第二流表项的报文输送至合并处理单元进行合 并处理; 比如, 两份分片报文的并行化结束流表分别为 TableY和 TableZ, Table Y的第二流表项中除了原有流表项的匹配内容 YYY和需执行的动作外, 新增 goto merge命令,指示交换机将匹配 YYY的分片报文发送至合并处理单 元, TableZ的第二流表项中除了原有流表项的匹配内容 ZZZ和需执行的动作 外, 新增 goto merge命令, 指示交换机将匹配 ZZZ的分片 4艮文发送至合并处 理单元, 这样,控制器为交换机的 TableY和 TableZ分别配置的第二流表项分 另 ll可表示为 Flow mod [ match YYY, apply action, write action(C), goto merge] , Flow mod [ match ZZZ, apply action, write action(D), goto merge];
S303 : 交换机在原始报文到达并行化开始流表后, 执行匹配操作, 如果 匹配成功则执行逻辑复制操作, 并为每份分片报文生成分片元数据, 该分片 元数据包括原始报文的标识、 将原始报文分片的份数和每份分片报文的序列 号;
这里, 到达并行化开始流表的原始报文可以携带有输入端口 (Ingress port ), 前置流表产生的元数据 ( Metadata )和操作集( Action Set ( a, b ) )等; 原始 4艮文的标识为标识该原始 4艮文的唯一标识,比如,该原始 ^艮文的标识为 A, 分片份数为 2 , 第一份分片报文的序列号为 1 , 第二份分片报文的序列号为 2; 原始报文的标识可用于在后续进行分片报文合并时, 识别来源于同一个原始 报文的分片报文, 分片报文的序列号和份数便于保证合并的完整性和确认合 并操作的完成。
S304: 交换机将逻辑复制后的每份分片报文分别发往并行化开始流表的 下一级流表, 在下一级流表匹配流表项成功后, 执行该流表项中的立即执行 动作, 若该下一级流表为并行化结束流表, 则在匹配上所述第二流表项, 并 执行完该第二流表项中的立即执行动作后, 将分片报文发往合并处理单元进 行合并处理;
比如, 下一级流表(也即并行化结束流表) 包括 TableY和 TableZ, 在将 第一份分片报文匹配 TableY中的第二流表项的内容 YYY成功后, 执行对应 的 Apply-Action, 之后, 执行 goto merge命令, 将报文发往合并处理单元进行 合并; 在将第二份分片报文匹配 TableZ中的第二流表项的内容 ZZZ成功后, 执行对应的 Apply-Action, 之后, 执行 goto merge命令, 将才艮文发往合并处理 单元进行合并; 这里, 由于是逻辑复制操作 (逻辑复制传递的实际是指针), 在根据 TableY和 TableZ 中的第二流表项分别对分片报文执行 Apply-Action (立即执行动作)时, 需要避免同时对报文的同一内容进行修改而引起冲突, 因此,控制器在配置 TableY和 TableZ时需要保证不会引起这样的冲突; 按照 步骤 S302下发的流表项, 对于匹配 TableY的第二流表项的分片报文(前置 流表产生的操作集 Action Set ( a, b ) ), 在该分片报文输出该 TableY后, 操 作集变为 Action Set ( a, b, c ),对于匹配 TableZ的第二流表项的分片报文(前 置流表产生的操作集 Action Set ( a, b ) ), 在该分片报文输出该 TableZ后, 操作集变为 Action Set ( a, b, d ); S305: 交换机在报文到达合并处理单元后, 根据步骤 S303中产生的分片 元数据对分片报文进行合并, 并在合并操作集时, 检查需要合并的分片报文 的操作集是否存在冲突, 若不存在冲突, 则执行合并后的操作集, 并将合并 后的报文通过输出端口转发出去;
这里, 交换机中的合并处理单元在接收到分片报文后, 首先识别哪些分 片报文来自于同一个原始报文, 之后, 根据分片报文的序列号将分片报文合 并, 根据分片的份数确定合并操作是否完成, 比如, 根据上述步骤 S303中产 生的分片元数据, 将具有原始报文的标识 A的分片报文进行合并, 在将序列 号分别为 1和 2的分片报文合并后, 根据分片报文的份数 2 , 确定合并操作完 成; 在合并操作集时, 需要检查需要合并的操作集是否存在冲突, 若存在冲 突, 就需要丟弃合并后的报文(也即丟弃原始报文的每份分片报文), 或将存 在冲突的操作集丟弃, 或者, 也可以通过 Packet in消息向控制器发送出错报 文; 如果操作集没有冲突, 则执行合并后的操作集, 这里执行的合并后的操 作集包括某些延迟执行动作 (Write-Actions ); 比如, 根据上述步骤中分别由 Table Y和 TableZ输出的分片报文的操作集 Action Set ( a, b, c )和 Action Set ( a, b, d ), 得到合并后的操作集为 Action Set ( a, b, c, d ), 确定该操作集 不存在冲突, 执行该操作集, 并通过输入端口输出操作完的报文。
如图 4所示, 为本发明实施例四提供的 文处理方法流程图, 该实施例 中, 对原始报文执行的分片操作仍为逻辑复制操作, 但是, 分片报文在到达 合并处理单元经合并处理后, 并不直接通过输出端口输出, 而是进入下一级 流表, 该实施例主要针对在报文到达后续流表时对于复制的分片报文分别操 作可能会产生冲突, 所以需要先合并报文, 再进行后续处理, 包括:
S401 : 控制器向交换机下发为并行化开始流表配置的第一流表项, 该第 一流表项用于指示交换机对匹配该第一流表项的原始报文执行逻辑复制操作 后, 将形成的多份分片报文输送至下一级流表, 同时指示交换机为每份分片 报文添加相同的并行化识别元数据, 该并行化识别元数据用于识别所有匹配 该第一流表项的原始报文的分片报文; 比如,该第一流表项中包括原有的匹配内容 XXX、新增的复制指令( apply copy action ), 以及设置并行化识别元数据 metadatal的命令, 指示交换机在报 文到达该第一流表项时, 执行逻辑复制操作, 该指令的参数中可以指明每份 分片报文需要进入的下一级流表, 比如将原始报文复制成两份, 每份分片报 文分别进入流表 Y和流表 Z接受不同的操作处理, 这样, 控制器为交换机的 并行化开始流表 TableX配置的第一流表项可表示为: Flow mod [ match XXX, apply copy action (goto table Y, goto table Z ), write metadatal]。
S402: 控制器向交换机下发为并行化结束流表配置的第二流表项, 该第 二流表项用于指示交换机对匹配该第二流表项的分片报文输送至合并处理单 元进行合并处理;
比如, 该第二流表项中除包括原有流表项的匹配内容和相关执行动作外, 新增一个需要匹配的并行化识别元数据、一个合并处理( goto merge )的命令、 以及进入下一级流表的指示(goto table ); 比如, 两份分片报文的并行化结束 流表分别为 Table Y和 TableZ , Table Y的第二流表项中除了原有流表项的匹配 内容 YYY和需要执行的动作外, 新增并行化识别元数据 metadatal , 合并处 理 goto merge命令和进入下一级流表 goto tableU的命令, 指示交换机将匹配 YYY和 metadatal的分片报文发送至合并处理单元, TableZ的第二流表项中 除了原有流表项的匹配内容 ZZZ和需要执行的动作外, 新增并行化识别元数 据 metadata2、合并处理 goto merge命令和进入下一级流表 goto tableU的命令, 指示交换机将匹配 ZZZ和 metadata2的分片报文发送至合并处理单元, 这样, 控制器为交换机的 TableY 和 TableZ 分别配置的第二流表项分别可表示为 Flow mod [ match YYY and metadatal, apply action, write action(C), goto merge, goto TableU] , Flow mod [ match ZZZ and metadata2, apply action, write action(D). goto merge, goto TableU];
S403 : 交换机在原始报文到达并行化开始流表后, 执行匹配操作, 如果 匹配成功则执行逻辑复制操作, 并为每份分片报文添加步骤 S401中的并行化 识别元数据, 同时为每份分片报文生成分片元数据, 该分片元数据包括原始 报文的标识、 将原始报文分片的份数和每份分片报文的序列号;
S404: 交换机将逻辑复制后的每份分片报文分别发往并行化开始流表的 下一级流表, 在下一级流表匹配流表项成功后, 执行该流表项中的立即执行 动作, 若该下一级流表为并行化结束流表, 则在匹配上所述第二流表项, 并 执行完该第二流表项中的立即执行动作后, 将进入该并行化结束流表的下一 级流表的指令作为元数据携带在分片报文中, 发往合并处理单元进行合并处 理;
这里, 在报文到达并行化结束流表后, 需要同时匹配第二流表项中的并 行化识别元数据, 在匹配成功后, 执行立即执行动作, 并将报文发往合并处 理单元进行合并处理; 比如, 上述下一级流表(这里同时为并行化结束流表) 包括 TableY和 TableZ, 在将第一份分片报文匹配 TableY中的第二流表项的 内容 YYY和 metadatal成功后, 执行对应的 Apply- Action (立即执行动作 ), 将第二流表项中的 write action(C)保存下来, 之后, 执行 goto merge命令, 将 报文发往合并处理单元进行合并; 在将第二份分片报文匹配 TableZ中的第二 流表项的内容 ZZZ和 metadatal成功后,执行对应的 Apply-Action, 而将第二 流表项中的 write action(D)保存下来, 比如,对于匹配 TableY的第二流表项的 分片报文(前置流表产生的操作集 Action Set ( a, b ) ), 在该分片报文输出该 TableY后, 操作集变为 Action Set ( a, b, c ), 对于匹配 TableZ的第二流表项 的分片报文(前置流表产生的操作集 Action Set ( a, b ) ), 在该分片报文输出 该 TableZ后, 操作集变为 Action Set ( a, b, d ); 之后, 执行 goto merge命令, 将携带有进入下一级流表的指令的报文发往合并处理单元进行合并;
可见, 在上述步骤中, 交换机不执行第二流表项中的进入下一级流表的 命令 ( goto tableU ), 而是将其作为元数据携带在分片报文中发往合并处理单 元。
S405: 交换机在报文到达合并处理单元后, 检查需要合并的分片报文的 操作集是否存在冲突, 若不存在冲突, 则根据步骤 S403中产生的分片元数据 对分片报文进行合并, 并将合并后的报文发往下一级流表; 这里, 交换机中的合并处理单元在接收到分片报文后, 首先识别哪些分 片报文来自于同一个原始报文, 之后, 根据分片报文的序列号将分片报文合 并, 根据分片的份数确定合并操作是否完成; 在合并操作集时, 需要检查需 要合并的操作集是否存在冲突, 若存在冲突, 则进行出错处理, 若没有冲突, 则将合并后的报文发往下一级流表; 比如, 根据上述步骤中分别由 TableY和 TableZ输出的分片才艮文的操作集 Action Set ( a, b, c )和 Action Set ( a, b, d ), 得到合并后的操作集为 Action Set ( a, b , c, d ), 确定合并的操作集不存在冲 突, 则将该合并后的操作集携带在合并后的报文中发往下一级流表, 这里, 只有一份分片报文具有 goto table元数据, 或者多份分片报文同时具有 goto table元数据, 且多份分片 4艮文的 goto table元数据中的下一级流表标识一致, 则可以认为不存在冲突。
如图 5 所示, 为本发明实施例五提供的 文处理方法流程图, 该实施例 中, 对原始报文执行的分片操作为物理复制操作, 分片报文在到达合并处理 单元经合并处理后, 直接通过输出端口输出 (不进入下一级流表), 包括:
S501 : 控制器向交换机下发为并行化开始流表配置的第一流表项, 该第 一流表项用于指示交换机对匹配该第一流表项的原始报文执行物理复制操作 后, 将形成的多份分片报文输送至下一级流表;
这里, 第一流表项可以是由并行化开始流表的原有流表项修改而来, 该 第一流表项中除了原有流表项的匹配内容 XXX外,新增一个复制指令( apply copy action ), 指示交换机在报文到达该第一流表项时, 执行物理复制操作, 该指令的参数中可以指明每份分片报文需要进入的下一级流表, 比如将原始 报文复制成两份, 每份分片报文分别进入流表 Y和流表 Z接受不同的操作处 理; 这样, 控制器为交换机的并行化开始流表 TableX配置的第一流表项可表 示为: Flow mod [ match XXX, apply copy action (goto table Y, goto table Z )]。
S502: 控制器向交换机下发为并行化结束流表配置的第二流表项, 该第 二流表项用于指示交换机对匹配该第二流表项的分片报文输送至合并处理单 元进行合并处理; 同时, 控制器向交换机下发的流表项 (包括第二流表项) 中, 若包括立即执行动作, 则指明每个立即执行动作对应的操作标志位; 这里, 第二流表项可以是由并行化结束流表的原有流表项修改而来, 该 第二流表项中除了原有流表项的匹配内容外,新增一个合并处理( goto merge ) 命令, 并为每个立即执行动作配置了操作标志位, 指示交换机在执行完一个 立即执行动作后, 将该立即执行动作对应的操作标志位作为元数据输出; 比 如, 两份分片报文的并行化结束流表分别为 TableY和 TableZ, TableY的第二 流表项中除了原有流表项的匹配内容 YYY外,新增 goto merge命令以及为每 个立即执行动作设置操作标志位( set action flag )的命令, TableZ的第二流表 项中除了原有流表项的匹配内容 ZZZ外, 新增 goto merge命令以及为每个立 即执行动作设置操作标志位( set action flag )的命令, 这样, 控制器为交换机 的 TableY和 TableZ分别配置的第二流表项分别可表示为 Flow mod [ match YYY, apply actionC ( set action flag ) , goto merge] , Flow mod [ match ZZZ, apply actionD ( set action flag ) , goto merge];
S503 : 交换机在原始报文到达并行化开始流表后, 执行匹配操作, 如果 匹配成功则执行物理复制操作, 并为每份分片报文生成分片元数据, 该分片 元数据包括原始报文的标识、 将原始报文分片的份数和每份分片报文的序列 号;
这里, 到达并行化开始流表的原始报文可以携带有输入端口 (Ingress port ), 前置流表产生的元数据 ( Metadata )和操作集( Action Set ( a, b ) )等; 原始 4艮文的标识为标识该原始 4艮文的唯一标识,比如,该原始 ^艮文的标识为 A, 分片份数为 2 , 第一份分片报文的序列号为 1 , 第二份分片报文的序列号为 2; 原始报文的标识可用于在后续进行分片报文合并时, 识别来源于同一个原始 报文的分片报文, 分片报文的序列号和份数便于保证合并的完整性和确认合 并操作的完成。
S504: 交换机将物理复制后的每份分片报文分别发往并行化开始流表的 下一级流表, 在下一级流表匹配流表项成功后, 执行该流表项中的立即执行 动作, 并设置每个立即执行动作对应的操作标志位, 若该下一级流表为并行 化结束流表, 则在匹配上所述第二流表项, 并执行完该第二流表项中的立即 执行动作后, 设置每个立即执行动作对应的操作标志位, 并将分片报文发往 合并处理单元进行合并处理;
比如, 下一级流表(也即并行化结束流表) 包括 TableY和 TableZ, 在将 第一份分片报文匹配 TableY中的第二流表项的内容 YYY成功后, 执行对应 的 Apply- ActionC,并标记对应的操作标志位 ( Action Flag C ),之后 ,执行 goto merge命令, 将报文发往合并处理单元进行合并; 在将第二份分片报文匹配 TableZ中的第二流表项的内容 ZZZ成功后, 执行对应的 Apply- ActionD , 并 标记对应的操作标志位 ( Action Flag D ), 之后 , 执行 goto merge命令, 将才艮 文发往合并处理单元进行合并;
S505: 交换机在报文到达合并处理单元后, 根据步骤 S503中产生的分片 元数据对分片报文进行合并, 并在合并操作集时, 根据立即执行动作的操作 标志位, 检查需要合并的分片报文的操作集是否存在冲突, 若不存在冲突, 则将合并后的报文通过输出端口转发出去;
这里, 交换机中的合并处理单元在接收到分片报文后, 首先识别哪些分 片报文来自于同一个原始报文, 之后, 根据分片报文的序列号将分片报文合 并, 根据分片的份数确定合并操作是否完成, 在合并时, 根据不同分片报文 的操作标志位, 将每个操作标志位对应的内容作为合并后的报文对应位置上 的内容, 如果不同分片报文的操作标志位对应的内容存在冲突, 则需要进行 出错处理; 这里, 若多份分片报文具有相同的操作标志位, 但对应该操作标 志位的内容不同, 则说明出现了冲突, 比如, 根据操作标志位, 确定第一份 分片报文和第二份分片报文都将原始报文的目的 IP地址进行了修改, 但是修 改后的目的 IP地址不同, 则进行出错处理; 例如, 根据上述步骤 S503 中产 生的分片元数据, 将具有原始报文的标识 A的分片报文进行合并, 在将序列 号分别为 1和 2的分片报文进行合并时, 将分片报文 1和 2的每个操作标志 位对应的内容作为合并后的报文对应位置上的内容, 如果这两个分片报文的 操作标志位对应的内容存在冲突, 则需要进行出错处理, 若不存在冲突, 则 根据分片报文的份数 2, 确定合并操作完成。
如图 6所示, 为本发明实施例六提供的 文处理方法流程图, 该实施例 中, 对原始报文执行的分片操作为分割操作, 分片报文在到达合并处理单元 经合并处理后, 进入下一级流表, 包括:
S601 : 控制器向交换机下发为并行化开始流表配置的第一流表项, 该第 一流表项用于指示交换机对匹配该第一流表项的原始报文执行分割操作后, 将形成的多份分片报文输送至下一级流表, 同时指示交换机为每份分片报文 添加相同的并行化识别元数据, 该并行化识别元数据用于识别所有匹配该第 一流表项的原始报文的分片报文;
比如,该第一流表项中包括原有的匹配内容 XXX、新增的分割指令( apply split action )、 以及设置并行化识别元数据 metadataA的命令, 指示交换机在报 文到达该第一流表项时, 执行分割操作, 该指令的参数中可以指明每份分片 报文需要进入的下一级流表以及每份分片报文的大小, 比如指示将原始报文 分割成两份, 每份分片报文都进入 Table3 , 可以根据承载流表的硬件的处理 需求, 设置分片报文的大小, 比如原始报文大小为 1080字节, 设置分片报文 大小为 600 字节, 则分割成两个分片报文, 可以为其中一个分片报文填充冗 余字节以达到每份分片报文都为 600字节的要求; 这样, 控制器为交换机的 并行化开始流表 TableX配置的第一流表项可表示为: Flow mod [ match XXX, apply split action (size, goto table 3 ), set metadataA]。
S602: 控制器向交换机下发为并行化结束流表配置的第二流表项, 该第 二流表项用于指示交换机对匹配该第二流表项的分片报文输送至与该分片报 文的并行化识别元数据对应的合并处理单元进行合并处理;
比如, 该第二流表项中除包括原有流表项的匹配内容外, 新增一个需要 匹配的并行化识别元数据、 一个合并处理(goto merge ) 的命令、 以及进入下 一级流表的指示 (goto table ); 比如, 两份分片报文的并行化结束流表都为 Table3 , Table3的第二流表项中包括并行化识别元数据 metadataA、 进入合并 处理单元 1进行合并处理的命令 ( goto merge 1 )和进入下一级流表 goto table4 1进行合并,这样,控制器为交换机的 Table3配置的第二流表项可表示为 Flow mod [ match metadataA, goto table4, goto mergel] ;
S603 : 交换机在原始报文到达并行化开始流表后, 执行匹配操作, 如果 匹配成功则执行分片操作, 并为每份分片报文添加步骤 S601中的并行化识别 元数据, 同时为每份分片报文生成分片元数据, 该分片元数据包括原始报文 的标识、 将原始报文分片的份数和每份分片报文的序列号;
S604: 交换机将分割后的分片报文发往下一级流表(即为并行化结束流 表), 在根据所述并行化识别元数据匹配上所述第二流表项后, 将进入下一级 流表的指令作为元数据携带在分片报文中, 发往第二流表项中指示的合并处 理单元进行合并处理;
这里, 交换机将分割后的分片报文发往 Table3时, 携带有输入端口, 前 置流表产生的元数据和操作集, 以及上述并行化识别元数据和分片元数据; 在才艮文到达并行化结束流表后, 需要匹配第二流表项中的并行化识别元 上述并行化结束流表为 Table3 , 在将任意一份分片报文匹配 Table3的第二流 表项的内容 metadataA成功后, 执行 goto mergel命令, 将携带 goto table4元 数据的报文发往与 goto table4属于同一硬件所承载的合并处理单元进行合并 处理。
S605: 交换机在报文到达合并处理单元后, 根据步骤 S603中产生的分片 元数据对分片报文进行合并, 并将合并后的报文发往该合并处理单元对应的 下一级流表;
这里, 交换机中的合并处理单元在接收到分片报文后, 首先识别哪些分 片报文来自于同一个原始报文, 之后, 根据分片报文的序列号将分片报文合 并, 根据分片的份数确定合并操作是否完成; 根据上述步骤, 在确定合并操 作完成后, 将合并后的 4艮文发往 goto table4。
如图 7 所示, 为本发明实施例七提供的报文处理方法流程图, 在本实施 元完成, 该并行处理单元独立于各流表组成的流水线, 包括:
S701 : 控制器向交换机下发为并行化开始流表配置的第一流表项, 该第 一流表项用于指示交换机将匹配该第一流表项的原始报文发送到交换机中的 并行处理单元, 该并行处理单元用于对原始报文执行分片操作和转发到下一 级流表的操作;
这里, 第一流表项可以是由并行化开始流表的原有流表项修改而来, 该 第一流表项中除了原有流表项的匹配内容 XXX外,新增一个将报文发送到并 行处理单元进行分片和转发到下一级流表的命令 ( goto parallelize ), 该命令的 参数中可以指明每份分片报文需要进入的下一级流表, 比如指明每份分片报 文分别进入流表 Y和流表 Z;这样,控制器为交换机的并行化开始流表 TableX 配置的第一流表项可表示为: Flow mod [ match XXX, goto parallelize (goto table Y, goto table Z )]。
S702: 控制器向交换机下发为并行化结束流表配置的第二流表项, 该第 二流表项用于指示交换机对匹配该第二流表项的分片报文输送至合并处理单 元进行合并处理;
该步骤的具体实施参见上述实施例, 这里不再赘述。
S703 : 交换机在原始报文到达并行化开始流表后, 执行匹配操作, 如果 匹配成功, 则将控制器下发的转发到下一级流表的命令作为元数据携带在原 始报文中输送给并行处理单元;
S704: 交换机在原始报文到达并行处理单元后, 执行分片操作, 为每份 分片报文生成分片元数据, 并将生成的每份分片报文发送到对应的下一级流 表; 该分片元数据包括原始报文的标识、 将原始报文分片的份数和每份分片 报文的序列号;
S705 : 当分片报文在下一级流表匹配流表项成功后, 交换机执行该流表 项中的立即执行动作, 若该下一级流表为并行化结束流表, 则在匹配上所述 第二流表项, 并执行完该第二流表项中的立即执行动作后, 将分片 4艮文发往 合并处理单元进行合并处理;
该步骤的具体实施参见上述实施例, 这里不再赘述。
S706: 交换机在分片报文到达合并处理单元后, 根据步骤 S704中产生的 分片元数据对分片报文进行合并后通过输入端口输出;
该步骤的具体实施参见上述实施例, 这里不再赘述。
基于同一发明沟通, 本发明实施例还提供了以下报文处理装置, 由于本 发明实施例的报文处理装置的具体实施与上述方法的实施相似, 重复之处, 不再赘述。
如图 8所示, 为本发明实施例一提供的报文处理装置结构示意图, 包括 配置模块 81和发送模块 82 , 其中:
所述配置模块 81 , 用于为交换机的并行化开始流表配置包括并行化操作 开始命令的第一流表项, 并为所述交换机的并行化结束流表配置包括并行化 操作结束命令的第二流表项, 并将所述配置的所述第一流表项和第二流表项 输送至所述发送模块 82; 其中, 所述并行化操作开始命令包括对匹配所述第 一流表项的原始报文执行分片操作后, 将形成的多份分片报文输送至下一级 流表的第一指示信息, 所述分片操作为复制操作或分割操作; 所述并行化操 作结束命令包括将匹配所述第二流表项的分片报文输送至所述交换机中用于 信息;
所述发送模块 82 ,用于向所述交换机下发所述第一流表项和第二流表项, 并指示所述交换机将所述第一流表项添加到所述并行化开始流表中, 将所述 第二流表项添加到所述并行化结束流表中。
可选地, 所述第一指示信息为指示所述交换机对匹配所述第一流表项的 原始报文执行复制操作后, 将形成的多份分片报文分别输送至不同的下一级 流表的信息; 或,
所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。 可选地, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
可选地, 若所述分片操作为物理复制操作, 则所述配置模块 81 , 还用于 为流表项中的每个立即执行动作配置操作标志位, 所述操作标志位用于供所 述交换机确定需要合并的立即执行动作的结果, 以指示所述交换机在执行完 任意一个立即执行动作后, 将所述任意一个立即执行动作对应的操作标志位 作为操作后的报文的元数据, 其中, 所述立即执行动作是交换机在报文匹配 上设定流表项后就针对该 4艮文执行的该设定流表项中的动作, 该交换机无需 将所述立即执行动作保存到需要将该报文从该交换机输出时再执行。
可选地, 若所述分片操作为分割操作, 则所述并行化操作开始命令还包 括每份分片报文的大小。
可选地, 针对任意一个第一流表项, 所述并行化操作开始命令还包括为 所有匹配该第一流表项的原始报文的分片报文设置同一个并行化识别元数据 的指示信息, 所述并行化识别元数据用于标记匹配所述任意一个第一流表项 的原始报文的分片报文。
如图 9所示, 为本发明实施例二提供的报文处理装置结构示意图, 包括 接收模块 91、 第一执行模块 92和第二执行模块 93 , 其中:
接收模块 91 , 用于接收控制器下发的包括并行化操作开始命令的第一流 表项和包括并行化操作结束命令的第二流表项, 并根据所述控制器的指示, 将所述第一流表项添加到交换机的并行化开始流表中, 将所述第二流表项添 加到交换机的并行化结束流表中;
第一执行模块 92, 用于在原始报文到达并行化开始流表后, 若能将所述 原始报文成功匹配所述第一流表项, 则执行所述并行化操作开始命令; 其中, 所述并行化操作开始命令包括对匹配所述第一流表项的原始报文执行分片操 作后, 将形成的多份分片报文输送至下一级流表的第一指示信息, 所述分片 操作为复制操作或分割操作;
第二执行模块 93 , 用于在任一分片报文到达并行化结束流表后, 若能成 功匹配所述第二流表项, 则执行所述并行化操作结束命令; 所述并行化操作 结束命令包括将匹配所述第二流表项的分片报文输送至所述交换机中用于将 示信息。
可选地, 所述第一指示信息为指示所述第一执行模块对匹配所述第一流 表项的原始报文执行复制操作后, 将形成的多份分片报文分别输送至不同的 下一级流表的信息; 或,
所述第一指示信息为指示所述第一执行模块对匹配所述第一流表项的原 始报文执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的 信息。
可选地, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
可选地, 所述分片操作为物理复制操作; 所述装置还包括第三执行模块 94 , 用于针对匹配设定流表项的一份分片报文, 在对该份分片报文执行完任 意一个立即执行动作后, 将所述设定流表项中配置的该立即执行动作对应的 操作标志位作为操作后的报文的元数据; 所述操作标志位用于供所述第二执 行模块 93确定需要合并的立即执行动作的结果; 所述立即执行动作是所述第 三执行模块 94在报文匹配上设定流表项后就针对该报文执行的该设定流表项 中的动作, 无需将所述立即执行动作保存到需要将该报文从交换机输出时再 执行。
可选地, 所述并行化操作开始命令还包括为匹配第一流表项的原始报文 的分片报文设置并行化识别元数据的指示信息, 所述并行化识别元数据用于 区分分片报文和未经过分片的原始报文;
所述第二执行模块 93具体用于:在任一分片报文到达并行化结束流表后, 若能根据所述任一分片报文携带的并行化识别元数据成功匹配所述第二流表 项, 则执行所述并行化操作结束命令。
可选地, 若所述分片操作为分割操作, 则所述并行化操作开始命令还包 括每份分片报文的大小。
可选地, 所述第一执行模块 92具体用于: 将生成的分片元数据携带在每 份分片报文中输送至下一级流表; 所述分片元数据用于识别来源于同一个原 始报文的分片报文;
所述第二执行模块 93具体用于: 在所述任一分片报文到达所述合并处理 单元后, 根据所述任一分片报文中携带的分片元数据, 将所述任一分片报文 与其它分片报文进行合并。
可选地, 所述分片元数据包括原始报文的标识、 将原始报文分片的份数 和每份分片报文的序列号。
可选地, 所述第二执行模块 93具体用于: 若所述第二流表项中包括将报 文输送至下一级流表的转发命令, 则将所述转发命令作为元数据携带在所述 后, 根据所述转发命令, 将合并后的报文转发给下一级流表;
若所述第二流表项中不包括将报文输送至下一级流表的转发命令, 则在 合并处理完成后, 执行合并后的报文的延迟执行动作, 并将合并后的报文通 过输出端口转发出去; 其中, 所述延迟执行动作是针对匹配该延迟执行动作 所属流表项的报文, 直到需要将该报文从交换机输出时才执行的动作。
可选地, 所述第二执行模块 93 , 还用于在将合并后的报文转发给下一级 流表, 或将合并后的报文通过输出端口转发出去之前, 确定需要合并的不同 分片报文的操作集之间不存在冲突; 所述操作集包括所述延迟执行动作, 和 / 或, 包括在所述分片报文匹配上设定流表项后就执行的该设定流表项中的立 即执行动作。
如图 10所示, 为本发明实施例三提供的报文处理装置结构示意图, 包括 处理器 101和存储器 102,所述存储器 101存储执行指令,当所述装置运行时, 所述处理器 101与所述存储器 102之间通信, 所述处理器 101执行所述执行 指令使得所述装置执行如下方法:
为交换机的并行化开始流表配置包括并行化操作开始命令的第一流表 项, 并为所述交换机的并行化结束流表配置包括并行化操作结束命令的第二 流表项; 其中, 所述并行化操作开始命令包括对匹配所述第一流表项的原始 报文执行分片操作后, 将形成的多份分片报文输送至下一级流表的第一指示 信息, 所述分片操作为复制操作或分割操作; 所述并行化操作结束命令包括 将匹配所述第二流表项的分片报文输送至所述交换机中用于将来源于同一原 向所述交换机下发所述第一流表项和第二流表项, 并指示所述交换机将 所述第一流表项添加到所述并行化开始流表中, 将所述第二流表项添加到所 述并行化结束流表中。
可选地, 所述第一指示信息为指示所述交换机对匹配所述第一流表项的 原始报文执行复制操作后, 将形成的多份分片报文分别输送至不同的下一级 流表的信息; 或,
所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。
可选地, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
可选地, 若所述分片操作为物理复制操作, 则所述处理器 101 执行的所 述方法还包括: 为流表项中的每个立即执行动作配置操作标志位, 所述操作 标志位用于供所述交换机确定需要合并的立即执行动作的结果, 以指示所述 交换机在执行完任意一个立即执行动作后, 将所述任意一个立即执行动作对 应的操作标志位作为操作后的报文的元数据, 其中, 所述立即执行动作是交 换机在报文匹配上设定流表项后就针对该报文执行的该设定流表项中的动 作, 该交换机无需将所述立即执行动作保存到需要将该报文从该交换机输出 时再执行。
可选地, 若所述分片操作为分割操作, 则所述并行化操作开始命令还包 括每份分片报文的大小。
可选地, 针对任意一个第一流表项, 所述并行化操作开始命令还包括为 所有匹配该第一流表项的原始报文的分片报文设置同一个并行化识别元数据 的指示信息, 所述并行化识别元数据用于标记匹配所述任意一个第一流表项 的原始报文的分片报文。
如图 11所示, 为本发明实施例四提供的报文处理装置结构示意图, 包括 处理器 111和存储器 112,所述存储器 111存储执行指令,当所述装置运行时, 所述处理器 111与所述存储器 112之间通信,所述处理器 111执行所述执行指 令使得所述装置执行如下方法:
接收控制器下发的包括并行化操作开始命令的第一流表项和包括并行化 操作结束命令的第二流表项, 并根据所述控制器的指示, 将所述第一流表项 添加到交换机中的并行化开始流表中, 将所述第二流表项添加到交换机中的 并行化结束流表中;
在原始报文到达并行化开始流表后, 若能将所述原始报文成功匹配所述 第一流表项, 则执行所述并行化操作开始命令; 其中, 所述并行化操作开始 命令包括对匹配所述第一流表项的原始报文执行分片操作后, 将形成的多份 分片报文输送至下一级流表的第一指示信息, 所述分片操作为复制操作或分 割操作;
在任一分片报文到达并行化结束流表后, 若能成功匹配所述第二流表项, 则执行所述并行化操作结束命令; 所述并行化操作结束命令包括将匹配所述 第二流表项的分片报文输送至所述交换机中用于将来源于同一原始报文的所 有分片报文进行合并处理的合并处理单元的第二指示信息。
可选地, 所述第一指示信息为指示所述处理器对匹配所述第一流表项的 原始报文执行复制操作后, 将形成的多份分片报文分别输送至不同的下一级 流表的信息; 或,
所述第一指示信息为指示所述处理器对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。
可选地, 所述复制操作为逻辑复制操作, 所述逻辑复制操作包括针对任 意一个匹配所述第一流表项的原始报文, 生成多个指向该原始报文的指针; 或,
所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
可选地, 所述分片操作为物理复制操作; 所述处理器 111 执行的所述方 法还包括:
针对匹配设定流表项的一份分片报文, 在对该份分片报文执行完任意一 个立即执行动作后, 将所述设定流表项中配置的该立即执行动作对应的操作 标志位作为操作后的报文的元数据; 所述操作标志位用于供所述处理器确定 需要合并的立即执行动作的结果; 所述立即执行动作是所述处理器在所述分 片报文匹配上设定流表项后就执行的该设定流表项中的动作, 无需将所述立 即执行动作保存到需要将该报文从交换机输出时再执行。
可选地, 所述并行化操作开始命令还包括为匹配第一流表项的原始报文 的分片报文设置并行化识别元数据的指示信息, 所述并行化识别元数据用于 区分分片报文和未经过分片的原始报文;
所述处理器 111执行的所述方法中, 所述执行所述并行化操作结束命令, 包括:
在任一分片报文到达并行化结束流表后, 若能根据所述任一分片报文携 带的并行化识别元数据成功匹配所述第二流表项, 则执行所述并行化操作结 束命令。
可选地, 若所述分片操作为分割操作, 则所述并行化操作开始命令还包 括每份分片报文的大小。
可选地, 所述处理器 111 执行的所述方法中, 所述执行所述并行化操作 开始命令, 包括:
将生成的分片元数据携带在每份分片报文中输送至下一级流表; 所述分 片元数据用于识别来源于同一个原始报文的分片报文;
所述执行所述并行化操作结束命令, 包括:
在所述任一分片报文到达所述合并处理单元后, 根据所述任一分片报文 中携带的分片元数据, 将所述任一分片报文与其它分片报文进行合并。
可选地, 所述分片元数据包括原始报文的标识、 将原始报文分片的份数 和每份分片报文的序列号。
可选地, 所述处理器 111 执行的所述方法中, 所述执行所述并行化操作 结束命令, 包括:
若所述第二流表项中包括将报文输送至下一级流表的转发命令, 则将所 述转发命令作为元数据携带在所述任一分片报文中输送至所述合并处理单元 进行合并处理, 并在合并处理完成后, 根据所述转发命令, 将合并后的报文 转发给下一级流表;
若所述第二流表项中不包括将报文输送至下一级流表的转发命令, 则在 合并处理完成后, 执行合并后的报文的延迟执行动作, 并将合并后的报文通 过输出端口转发出去; 其中, 所述延迟执行动作是针对匹配该延迟执行动作 所属流表项的报文, 直到需要将该报文从交换机输出时才执行的动作。
可选地, 所述处理器 111 执行的所述方法中, 所述将合并后的报文转发 给下一级流表, 或将合并后的报文通过输出端口转发出去之前, 还包括: 确定需要合并的不同分片报文的操作集之间不存在冲突; 所述操作集包 括所述延迟执行动作, 和 /或, 包括在所述分片报文匹配上设定流表项后就执 行的该设定流表项中的立即执行动作。 本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或 计算机程序产品。 因此, 本发明可釆用完全硬件实施例、 完全软件实施例、 或结合软件和硬件方面的实施例的形式。 而且, 本发明可釆用在一个或多个 其中包含有计算机可用程序代码的计算机可用存储介质 (包括但不限于磁盘 存储器、 CD-ROM、 光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、 装置(系统)、 和计算机程序产 品的流程图和 /或方框图来描述的。 应理解可由计算机程序指令实现流程图 和 /或方框图中的每一流程和 /或方框、 以及流程图和 /或方框图中的流程 和 /或方框的结合。 可提供这些计算机程序指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器, 使得通 过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流 程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的 装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设 备以特定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器 中的指令产生包括指令装置的制造品, 该指令装置实现在流程图一个流程或 多个流程和 /或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的 处理, 从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图 一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的步 骤。
尽管已描述了本发明的优选实施例, 但本领域内的技术人员一旦得知了 基本创造性概念, 则可对这些实施例作出另外的变更和修改。 所以, 所附权 利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。 显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明 的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。

Claims (1)

  1. 权 利 要 求
    1、 一种报文处理方法, 其特征在于, 包括:
    控制器为交换机的并行化开始流表配置包括并行化操作开始命令的第一 流表项, 并为所述交换机的并行化结束流表配置包括并行化操作结束命令的 第二流表项; 其中, 所述并行化操作开始命令包括对匹配所述第一流表项的 原始报文执行分片操作后, 将形成的多份分片报文输送至下一级流表的第一 指示信息, 所述分片操作为复制操作或分割操作; 所述并行化操作结束命令 包括将匹配所述第二流表项的分片报文输送至所述交换机中用于将来源于同 所述控制器向所述交换机下发所述第一流表项和第二流表项, 并指示所 述交换机将所述第一流表项添加到所述并行化开始流表中, 将所述第二流表 项添加到所述并行化结束流表中。
    2、 如权利要求 1所述的方法, 其特征在于, 所述第一指示信息为指示所 述交换机对匹配所述第一流表项的原始报文执行复制操作后, 将形成的多份 分片报文分别输送至不同的下一级流表的信息; 或,
    所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。
    3、 如权利要求 1或 2所述的方法, 其特征在于, 所述复制操作为逻辑复 制操作, 所述逻辑复制操作包括针对任意一个匹配所述第一流表项的原始报 文, 生成多个指向该原始报文的指针; 或,
    所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
    4、 如权利要求 3所述的方法, 其特征在于, 若所述分片操作为物理复制 操作, 则所述方法还包括: 所述控制器为流表项中的每个立即执行动作配置 操作标志位, 所述操作标志位用于供所述交换机确定需要合并的立即执行动 作的结果, 以指示所述交换机在执行完任意一个立即执行动作后, 将所述任 意一个立即执行动作对应的操作标志位作为操作后的报文的元数据, 其中, 所述立即执行动作是交换机在报文匹配上设定流表项后就针对该报文执行的 该设定流表项中的动作, 该交换机无需将所述立即执行动作保存到需要将该 报文从该交换机输出时再执行。
    5、 如权利要求 1或 2所述的方法, 其特征在于, 若所述分片操作为分割 操作, 则所述并行化操作开始命令还包括每份分片报文的大小。
    6、 如权利要求 1~5任一所述的方法, 其特征在于, 针对任意一个第一流 表项, 所述并行化操作开始命令还包括为所有匹配该第一流表项的原始报文 的分片报文设置同一个并行化识别元数据的指示信息, 所述并行化识别元数 据用于标记匹配所述任意一个第一流表项的原始报文的分片报文。
    7、 一种报文处理方法, 其特征在于, 包括:
    交换机接收控制器下发的包括并行化操作开始命令的第一流表项和包括 并行化操作结束命令的第二流表项, 并根据所述控制器的指示, 将所述第一 流表项添加到并行化开始流表中, 将所述第二流表项添加到并行化结束流表 中;
    所述交换机在原始报文到达并行化开始流表后, 若能将所述原始报文成 功匹配所述第一流表项, 则执行所述并行化操作开始命令; 其中, 所述并行 化操作开始命令包括对匹配所述第一流表项的原始报文执行分片操作后, 将 形成的多份分片报文输送至下一级流表的第一指示信息, 所述分片操作为复 制操作或分割操作;
    所述交换机在任一分片报文到达并行化结束流表后, 若能成功匹配所述 第二流表项, 则执行所述并行化操作结束命令; 所述并行化操作结束命令包 括将匹配所述第二流表项的分片报文输送至所述交换机中用于将来源于同一
    8、 如权利要求 7所述的方法, 其特征在于, 所述第一指示信息为指示所 述交换机对匹配所述第一流表项的原始报文执行复制操作后, 将形成的多份 分片报文分别输送至不同的下一级流表的信息; 或, 所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。
    9、 如权利要求 7或 8所述的方法, 其特征在于, 所述复制操作为逻辑复 制操作, 所述逻辑复制操作包括针对任意一个匹配所述第一流表项的原始报 文, 生成多个指向该原始报文的指针; 或,
    所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
    10、 如权利要求 9 所述的方法, 其特征在于, 所述分片操作为物理复制 操作; 所述方法还包括:
    针对匹配设定流表项的一份分片报文, 所述交换机在对该份分片报文执 行完任意一个立即执行动作后, 将所述设定流表项中配置的该立即执行动作 对应的操作标志位作为操作后的报文的元数据; 所述操作标志位用于供所述 交换机确定需要合并的立即执行动作的结果; 所述立即执行动作是交换机在 报文匹配上设定流表项后就针对该报文执行的该设定流表项中的动作, 该交 换机无需将所述立即执行动作保存到需要将该报文从该交换机输出时再执 行。
    11、 如权利要求 7~10任一所述的方法, 其特征在于, 所述并行化操作开 始命令还包括为匹配第一流表项的原始报文的分片报文设置并行化识别元数 据的指示信息, 所述并行化识别元数据用于区分分片报文和未经过分片的原 始才艮文;
    所述交换机执行所述并行化操作结束命令, 包括:
    所述交换机在任一分片报文到达并行化结束流表后, 若能根据所述任一 分片报文携带的并行化识别元数据成功匹配所述第二流表项, 则执行所述并 行化操作结束命令。
    12、 如权利要求 7、 8或 11所述的方法, 其特征在于, 若所述分片操作 为分割操作, 则所述并行化操作开始命令还包括每份分片报文的大小。
    13、 如权利要求 7~12任一所述的方法, 其特征在于, 所述交换机执行所 述并行化操作开始命令, 包括:
    所述交换机将生成的分片元数据携带在每份分片报文中输送至下一级流 表; 所述分片元数据用于识别来源于同一个原始报文的分片报文;
    所述交换机执行所述并行化操作结束命令, 包括:
    所述交换机在所述任一分片报文到达所述合并处理单元后, 根据所述任 一分片报文中携带的分片元数据, 将所述任一分片报文与其它分片报文进行 合并。
    14、 如权利要求 13所述的方法, 其特征在于, 所述分片元数据包括原始 报文的标识、 将原始报文分片的份数和每份分片报文的序列号。
    15、 如权利要求 7~14任一所述的方法, 其特征在于, 所述交换机执行所 述并行化操作结束命令, 包括:
    若所述第二流表项中包括将报文输送至下一级流表的转发命令, 则所述 交换机将所述转发命令作为元数据携带在所述任一分片报文中输送至所述合 并处理单元进行合并处理, 并在合并处理完成后, 根据所述转发命令, 将合 并后的报文转发给下一级流表;
    若所述第二流表项中不包括将报文输送至下一级流表的转发命令, 则在 合并处理完成后, 执行合并后的报文的延迟执行动作, 并将合并后的报文通 过输出端口转发出去; 其中, 所述延迟执行动作是针对匹配该延迟执行动作 所属流表项的报文, 直到需要将该报文从该交换机输出时才执行的动作。
    16、 如权利要求 15所述的方法, 其特征在于, 所述交换机将合并后的报 文转发给下一级流表, 或将合并后的报文通过输出端口转发出去之前, 还包 括:
    所述交换机确定需要合并的不同分片报文的操作集之间不存在冲突; 所 述操作集包括所述延迟执行动作, 和 /或, 包括在所述分片报文匹配上设定流 表项后就执行的该设定流表项中的立即执行动作。
    17、 一种报文处理装置, 其特征在于, 包括配置模块和发送模块, 其中: 所述配置模块, 用于为交换机的并行化开始流表配置包括并行化操作开 始命令的第一流表项, 并为所述交换机的并行化结束流表配置包括并行化操 作结束命令的第二流表项, 并将所述配置的所述第一流表项和第二流表项输 送至所述发送模块; 其中, 所述并行化操作开始命令包括对匹配所述第一流 表项的原始报文执行分片操作后, 将形成的多份分片报文输送至下一级流表 的第一指示信息, 所述分片操作为复制操作或分割操作; 所述并行化操作结 束命令包括将匹配所述第二流表项的分片报文输送至所述交换机中用于将来 息;
    所述发送模块, 用于向所述交换机下发所述第一流表项和第二流表项, 并指示所述交换机将所述第一流表项添加在所述并行化开始流表中, 将所述 第二流表项添加到所述并行化结束流表中。
    18、 如权利要求 17所述的装置, 其特征在于, 所述第一指示信息为指示 所述交换机对匹配所述第一流表项的原始报文执行复制操作后, 将形成的多 份分片报文分别输送至不同的下一级流表的信息; 或,
    所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。
    19、 如权利要求 17或 18所述的装置, 其特征在于, 所述复制操作为逻 辑复制操作, 所述逻辑复制操作包括针对任意一个匹配所述第一流表项的原 始报文, 生成多个指向该原始报文的指针; 或,
    所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
    20、 如权利要求 19所述的装置, 其特征在于, 若所述分片操作为物理复 制操作, 则所述配置模块, 还用于为流表项中的每个立即执行动作配置操作 标志位, 所述操作标志位用于供所述交换机确定需要合并的立即执行动作的 结果, 以指示所述交换机在执行完任意一个立即执行动作后, 将所述任意一 个立即执行动作对应的操作标志位作为操作后的报文的元数据, 其中, 所述 立即执行动作是交换机在报文匹配上设定流表项后就针对该报文执行的该设 定流表项中的动作, 该交换机无需将所述立即执行动作保存到需要将该报文 从该交换机输出时再执行。
    21、 如权利要求 17或 18所述的装置, 其特征在于, 若所述分片操作为 分割操作, 则所述并行化操作开始命令还包括每份分片报文的大小。
    22、 如权利要求 17~21任一所述的装置, 其特征在于, 针对任意一个第 一流表项, 所述并行化操作开始命令还包括为所有匹配该第一流表项的原始 报文的分片报文设置同一个并行化识别元数据的指示信息, 所述并行化识别 元数据用于标记匹配所述任意一个第一流表项的原始报文的分片报文。
    23、 一种报文处理装置, 其特征在于, 包括接收模块、 第一执行模块和 第二执行模块, 其中:
    所述接收模块, 用于接收控制器下发的包括并行化操作开始命令的第一 流表项和包括并行化操作结束命令的第二流表项, 并根据所述控制器的指示, 将所述第一流表项添加到交换机的并行化开始流表中, 将所述第二流表项添 加到所述交换机的并行化结束流表中;
    第一执行模块, 用于在原始报文到达并行化开始流表后, 若能将所述原 始报文成功匹配所述第一流表项, 则执行所述并行化操作开始命令; 其中, 所述并行化操作开始命令包括对匹配所述第一流表项的原始报文执行分片操 作后, 将形成的多份分片报文输送至下一级流表的第一指示信息, 所述分片 操作为复制操作或分割操作;
    第二执行模块, 用于在任一分片报文到达并行化结束流表后, 若能成功 匹配所述第二流表项, 则执行所述并行化操作结束命令; 所述并行化操作结 束命令包括将匹配所述第二流表项的分片报文输送至所述交换机中用于将来 信息。
    24、 如权利要求 23所述的装置, 其特征在于, 所述第一指示信息为指示 所述第一执行模块对匹配所述第一流表项的原始报文执行复制操作后, 将形 成的多份分片报文分别输送至不同的下一级流表的信息; 或, 所述第一指示信息为指示所述第一执行模块对匹配所述第一流表项的原 始报文执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的 信息。
    25、 如权利要求 23或 24所述的装置, 其特征在于, 所述复制操作为逻 辑复制操作, 所述逻辑复制操作包括针对任意一个匹配所述第一流表项的原 始报文, 生成多个指向该原始报文的指针; 或,
    所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
    26、 如权利要求 25所述的装置, 其特征在于, 所述分片操作为物理复制 操作; 所述装置还包括第三执行模块, 用于针对匹配设定流表项的一份分片 报文, 在对该份分片报文执行完任意一个立即执行动作后, 将所述设定流表 项中配置的该立即执行动作对应的操作标志位作为操作后的报文的元数据; 所述操作标志位用于供所述第二执行模块确定需要合并的立即执行动作的结 果; 所述立即执行动作是所述第三执行模块在报文匹配上设定流表项后就针 对该报文执行的该设定流表项中的动作, 无需将所述立即执行动作保存到需 要将该报文从交换机输出时再执行。
    27、 如权利要求 23~26任一所述的装置, 其特征在于, 所述并行化操作 开始命令还包括为匹配第一流表项的原始报文的分片报文设置并行化识别元 数据的指示信息, 所述并行化识别元数据用于区分分片报文和未经过分片的 原始报文;
    所述第二执行模块具体用于: 在任一分片报文到达并行化结束流表后, 若能根据所述任一分片报文携带的并行化识别元数据成功匹配所述第二流表 项, 则执行所述并行化操作结束命令。
    28、 如权利要求 23、 24或 27所述的装置, 其特征在于, 若所述分片操 作为分割操作, 则所述并行化操作开始命令还包括每份分片报文的大小。
    29、 如权利要求 23~28任一所述的装置, 其特征在于, 所述第一执行模 块具体用于: 将生成的分片元数据携带在每份分片报文中输送至下一级流表; 所述分片元数据用于识别来源于同一个原始报文的分片报文;
    所述第二执行模块具体用于: 在所述任一分片报文到达所述合并处理单 元后, 根据所述任一分片报文中携带的分片元数据, 将所述任一分片报文与 其它分片报文进行合并。
    30、 如权利要求 29所述的装置, 其特征在于, 所述分片元数据包括原始 报文的标识、 将原始报文分片的份数和每份分片报文的序列号。
    31、 如权利要求 23~30任一所述的装置, 其特征在于, 所述第二执行模 块具体用于: 若所述第二流表项中包括将报文输送至下一级流表的转发命令, 则将所述转发命令作为元数据携带在所述任一分片报文中输送至所述合并处 理单元进行合并处理, 并在合并处理完成后, 根据所述转发命令, 将合并后 的报文转发给下一级流表;
    若所述第二流表项中不包括将报文输送至下一级流表的转发命令, 则在 合并处理完成后, 执行合并后的报文的延迟执行动作, 并将合并后的报文通 过输出端口转发出去; 其中, 所述延迟执行动作是针对匹配该延迟执行动作 所属流表项的报文, 直到需要将该报文从交换机输出时才执行的动作。
    32、 如权利要求 31所述的装置, 其特征在于, 所述第二执行模块, 还用 于在将合并后的报文转发给下一级流表, 或将合并后的报文通过输出端口转 发出去之前, 确定需要合并的不同分片报文的操作集之间不存在冲突; 所述 操作集包括所述延迟执行动作, 和 /或, 包括在所述分片报文匹配上设定流表 项后就执行的该设定流表项中的立即执行动作。
    33、 一种报文处理装置, 其特征在于, 包括处理器和存储器, 所述存储 器存储执行指令, 当所述装置运行时, 所述处理器与所述存储器之间通信, 所述处理器执行所述执行指令使得所述装置执行如下方法:
    为交换机的并行化开始流表配置包括并行化操作开始命令的第一流表 项, 并为所述交换机的并行化结束流表配置包括并行化操作结束命令的第二 流表项; 其中, 所述并行化操作开始命令包括对匹配所述第一流表项的原始 报文执行分片操作后, 将形成的多份分片报文输送至下一级流表的第一指示 信息, 所述分片操作为复制操作或分割操作; 所述并行化操作结束命令包括 将匹配所述第二流表项的分片报文输送至所述交换机中用于将来源于同一原 向所述交换机下发所述第一流表项和第二流表项, 并指示所述交换机将 所述第一流表项添加到所述并行化开始流表, 将所述第二流表项添加到所述 并行化结束流表中。
    34、 如权利要求 33所述的装置, 其特征在于, 所述第一指示信息为指示 所述交换机对匹配所述第一流表项的原始报文执行复制操作后, 将形成的多 份分片报文分别输送至不同的下一级流表的信息; 或,
    所述第一指示信息为指示所述交换机对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。
    35、 如权利要求 33或 34所述的装置, 其特征在于, 所述复制操作为逻 辑复制操作, 所述逻辑复制操作包括针对任意一个匹配所述第一流表项的原 始报文, 生成多个指向该原始报文的指针; 或,
    所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
    36、 如权利要求 35所述的装置, 其特征在于, 若所述分片操作为物理复 制操作, 则所述处理器执行的所述方法还包括: 为流表项中的每个立即执行 动作配置操作标志位, 所述操作标志位用于供所述交换机确定需要合并的立 即执行动作的结果, 以指示所述交换机在执行完任意一个立即执行动作后, 将所述任意一个立即执行动作对应的操作标志位作为操作后的报文的元数 据, 其中, 所述立即执行动作是交换机在报文匹配上设定流表项后就针对该 报文执行的该设定流表项中的动作, 该交换机无需将所述立即执行动作保存 到需要将该报文从该交换机输出时再执行。
    37、 如权利要求 33或 34所述的装置, 其特征在于, 若所述分片操作为 分割操作, 则所述并行化操作开始命令还包括每份分片报文的大小。
    38、 如权利要求 33~37任一所述的装置, 其特征在于, 针对任意一个第 一流表项, 所述并行化操作开始命令还包括为所有匹配该第一流表项的原始 报文的分片报文设置同一个并行化识别元数据的指示信息, 所述并行化识别 元数据用于标记匹配所述任意一个第一流表项的原始报文的分片报文。
    39、 一种报文处理装置, 其特征在于, 包括处理器和存储器, 所述存储 器存储执行指令, 当所述装置运行时, 所述处理器与所述存储器之间通信, 所述处理器执行所述执行指令使得所述装置执行如下方法:
    接收控制器下发的包括并行化操作开始命令的第一流表项和包括并行化 操作结束命令的第二流表项, 并根据所述控制器的指示, 将所述第一流表项 添加到交换机中的并行化开始流表中, 将所述第二流表项添加到交换机中的 并行化结束流表中;
    在原始报文到达并行化开始流表后, 若能将所述原始报文成功匹配所述 第一流表项, 则执行所述并行化操作开始命令; 其中, 所述并行化操作开始 命令包括对匹配所述第一流表项的原始报文执行分片操作后, 将形成的多份 分片报文输送至下一级流表的第一指示信息, 所述分片操作为复制操作或分 割操作;
    在任一分片报文到达并行化结束流表后, 若能成功匹配所述第二流表项, 则执行所述并行化操作结束命令; 所述并行化操作结束命令包括将匹配所述 第二流表项的分片报文输送至所述交换机中用于将来源于同一原始报文的所 有分片报文进行合并处理的合并处理单元的第二指示信息。
    40、 如权利要求 39所述的装置, 其特征在于, 所述第一指示信息为指示 所述处理器对匹配所述第一流表项的原始报文执行复制操作后, 将形成的多 份分片报文分别输送至不同的下一级流表的信息; 或,
    所述第一指示信息为指示所述处理器对匹配所述第一流表项的原始报文 执行分割操作后, 将形成的多份分片报文输送至同一个下一级流表的信息。
    41、 如权利要求 39或 40所述的装置, 其特征在于, 所述复制操作为逻 辑复制操作, 所述逻辑复制操作包括针对任意一个匹配所述第一流表项的原 始报文, 生成多个指向该原始报文的指针; 或, 所述复制操作为物理复制操作, 所述物理复制操作包括将任意一个匹配 所述第一流表项的原始报文拷贝多份。
    42、 如权利要求 41所述的方法, 其特征在于, 所述分片操作为物理复制 操作; 所述处理器执行的所述方法还包括:
    针对匹配设定流表项的一份分片报文, 在对该份分片报文执行完任意一 个立即执行动作后, 将所述设定流表项中配置的该立即执行动作对应的操作 标志位作为操作后的报文的元数据; 所述操作标志位用于供所述处理器确定 需要合并的立即执行动作的结果; 所述立即执行动作是所述处理器在所述分 片报文匹配上设定流表项后就执行的该设定流表项中的动作, 无需将所述立 即执行动作保存到需要将该报文从交换机输出时再执行。
    43、 如权利要求 39~42任一所述的装置, 其特征在于, 所述并行化操作 开始命令还包括为匹配第一流表项的原始报文的分片报文设置并行化识别元 数据的指示信息, 所述并行化识别元数据用于区分分片报文和未经过分片的 原始报文;
    所述处理器执行的所述方法中, 所述执行所述并行化操作结束命令, 包 括:
    在任一分片报文到达并行化结束流表后, 若能根据所述任一分片报文携 带的并行化识别元数据成功匹配所述第二流表项, 则执行所述并行化操作结 束命令。
    44、 如权利要求 39、 40或 43所述的装置, 其特征在于, 若所述分片操 作为分割操作, 则所述并行化操作开始命令还包括每份分片报文的大小。
    45、 如权利要求 39~44任一所述的装置, 其特征在于, 所述处理器执行 的所述方法中, 所述执行所述并行化操作开始命令, 包括:
    将生成的分片元数据携带在每份分片报文中输送至下一级流表; 所述分 片元数据用于识别来源于同一个原始报文的分片报文;
    所述执行所述并行化操作结束命令, 包括:
    在所述任一分片报文到达所述合并处理单元后, 根据所述任一分片报文 中携带的分片元数据, 将所述任一分片报文与其它分片报文进行合并。
    46、 如权利要求 45所述的装置, 其特征在于, 所述分片元数据包括原始 报文的标识、 将原始报文分片的份数和每份分片报文的序列号。
    47、 如权利要求 39~46任一所述的装置, 其特征在于, 所述处理器执行 的所述方法中, 所述执行所述并行化操作结束命令, 包括:
    若所述第二流表项中包括将报文输送至下一级流表的转发命令, 则将所 述转发命令作为元数据携带在所述任一分片报文中输送至所述合并处理单元 进行合并处理, 并在合并处理完成后, 根据所述转发命令, 将合并后的报文 转发给下一级流表;
    若所述第二流表项中不包括将报文输送至下一级流表的转发命令, 则在 合并处理完成后, 执行合并后的报文的延迟执行动作, 并将合并后的报文通 过输出端口转发出去; 其中, 所述延迟执行动作是针对匹配该延迟执行动作 所属流表项的报文, 直到需要将该报文从交换机输出时才执行的动作。
    48、 如权利要求 47所述的装置, 其特征在于, 所述处理器执行的所述方 法中, 所述将合并后的报文转发给下一级流表, 或将合并后的报文通过输出 端口转发出去之前, 还包括:
    确定需要合并的不同分片报文的操作集之间不存在冲突; 所述操作集包 括所述延迟执行动作, 和 /或, 包括在所述分片报文匹配上设定流表项后就执 行的该设定流表项中的立即执行动作。
CN201480034154.0A 2014-05-22 2014-05-22 一种报文处理方法及装置 Active CN105339934B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/078131 WO2015176277A1 (zh) 2014-05-22 2014-05-22 一种报文处理方法及装置

Publications (2)

Publication Number Publication Date
CN105339934A true CN105339934A (zh) 2016-02-17
CN105339934B CN105339934B (zh) 2018-10-19

Family

ID=54553232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480034154.0A Active CN105339934B (zh) 2014-05-22 2014-05-22 一种报文处理方法及装置

Country Status (2)

Country Link
CN (1) CN105339934B (zh)
WO (1) WO2015176277A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108243106A (zh) * 2016-12-23 2018-07-03 华为技术有限公司 控制网络切片的方法、转发设备、控制设备和通信系统
CN110233798A (zh) * 2018-03-05 2019-09-13 华为技术有限公司 数据处理方法、装置及系统
CN110430138A (zh) * 2019-07-26 2019-11-08 新华三技术有限公司合肥分公司 数据流转发状态记录方法及网络设备
CN111343110A (zh) * 2018-12-19 2020-06-26 中国电信股份有限公司 报文处理方法、sdn交换机及计算机可读存储介质
CN113347090A (zh) * 2020-02-18 2021-09-03 华为技术有限公司 报文处理方法、转发设备以及报文处理系统
CN114336962A (zh) * 2021-12-14 2022-04-12 江苏未来智慧信息科技有限公司 针对电厂工况的监测系统与监测方法
CN114679425A (zh) * 2022-03-24 2022-06-28 深圳震有科技股份有限公司 一种5g网络下的报文处理方法、网络设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10567284B1 (en) 2017-11-17 2020-02-18 Juniper Networks, Inc. Transport batching technique for network communications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102497297A (zh) * 2011-12-13 2012-06-13 曙光信息产业(北京)有限公司 基于多核多线程的深度报文检测技术的实现系统和方法
CN103095583A (zh) * 2012-11-09 2013-05-08 盛科网络(苏州)有限公司 通过芯片环回实现Openflow两级流表的方法及系统
CN103401777A (zh) * 2013-08-21 2013-11-20 中国人民解放军国防科学技术大学 Openflow的并行查找方法和系统
CN103401783A (zh) * 2013-07-26 2013-11-20 盛科网络(苏州)有限公司 实现Openflow多级流表的方法及装置
US20140040459A1 (en) * 2012-08-01 2014-02-06 Hewlett-Packard Development Company, L.P. System and method for data communication using a classified flow table in openflow networks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428094B (zh) * 2013-08-12 2016-08-17 杭州华三通信技术有限公司 开放流OpenFlow系统中的报文转发方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102497297A (zh) * 2011-12-13 2012-06-13 曙光信息产业(北京)有限公司 基于多核多线程的深度报文检测技术的实现系统和方法
US20140040459A1 (en) * 2012-08-01 2014-02-06 Hewlett-Packard Development Company, L.P. System and method for data communication using a classified flow table in openflow networks
CN103095583A (zh) * 2012-11-09 2013-05-08 盛科网络(苏州)有限公司 通过芯片环回实现Openflow两级流表的方法及系统
CN103401783A (zh) * 2013-07-26 2013-11-20 盛科网络(苏州)有限公司 实现Openflow多级流表的方法及装置
CN103401777A (zh) * 2013-08-21 2013-11-20 中国人民解放军国防科学技术大学 Openflow的并行查找方法和系统

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108243106A (zh) * 2016-12-23 2018-07-03 华为技术有限公司 控制网络切片的方法、转发设备、控制设备和通信系统
CN108243106B (zh) * 2016-12-23 2020-09-04 华为技术有限公司 控制网络切片的方法、转发设备、控制设备和通信系统
US10798760B2 (en) 2016-12-23 2020-10-06 Huawei Technologies Co., Ltd. Method for controlling network slice, forwarding device, control device, and communications system
CN110233798B (zh) * 2018-03-05 2021-02-26 华为技术有限公司 数据处理方法、装置及系统
CN110233798A (zh) * 2018-03-05 2019-09-13 华为技术有限公司 数据处理方法、装置及系统
US11522789B2 (en) 2018-03-05 2022-12-06 Huawei Technologies Co., Ltd. Data processing method, apparatus, and system for combining data for a distributed calculation task in a data center network
CN111343110A (zh) * 2018-12-19 2020-06-26 中国电信股份有限公司 报文处理方法、sdn交换机及计算机可读存储介质
CN111343110B (zh) * 2018-12-19 2022-03-29 中国电信股份有限公司 报文处理方法、sdn交换机及计算机可读存储介质
CN110430138B (zh) * 2019-07-26 2022-02-22 新华三技术有限公司合肥分公司 数据流转发状态记录方法及网络设备
CN110430138A (zh) * 2019-07-26 2019-11-08 新华三技术有限公司合肥分公司 数据流转发状态记录方法及网络设备
CN113347090A (zh) * 2020-02-18 2021-09-03 华为技术有限公司 报文处理方法、转发设备以及报文处理系统
CN114336962A (zh) * 2021-12-14 2022-04-12 江苏未来智慧信息科技有限公司 针对电厂工况的监测系统与监测方法
CN114679425A (zh) * 2022-03-24 2022-06-28 深圳震有科技股份有限公司 一种5g网络下的报文处理方法、网络设备及存储介质
CN114679425B (zh) * 2022-03-24 2024-05-31 深圳震有科技股份有限公司 一种5g网络下的报文处理方法、网络设备及存储介质

Also Published As

Publication number Publication date
WO2015176277A1 (zh) 2015-11-26
CN105339934B (zh) 2018-10-19

Similar Documents

Publication Publication Date Title
CN105339934A (zh) 一种报文处理方法及装置
CN109962847B (zh) 业务功能链报文的封装方法和装置及计算机可读存储介质
CN104618244B (zh) 一种sdn网络与传统ip网络互通的方法及系统
CN105052087A (zh) 一种基于流表的表项寻址方法、交换机及控制器
CN103020024B (zh) 一种文件格式转换方法
CN104899085B (zh) 一种数据处理方法和装置
CN104052667A (zh) 报文处理方法及设备
CN103004158A (zh) 具有可编程内核的网络设备
CN103269315B (zh) 标签分配方法、装置、系统和网络设备
CN105099922A (zh) 一种跨虚拟可扩展局域网的数据报文转发方法和装置
CN107547349A (zh) 一种虚拟机迁移的方法及装置
CN106375105B (zh) 一种确定路径故障的方法、控制器、交换机和系统
CN105141681A (zh) Rpki文件的同步方法及装置
CN106685826A (zh) 交换机堆叠系统、从设备、交换芯片及处理协议报文方法
CN103595712B (zh) 一种Web认证方法、装置及系统
CN104205745B (zh) 报文处理的方法与设备
CN106059964B (zh) 报文转发方法及装置
CN105072050A (zh) 一种数据传输方法及装置
CN102263700B (zh) 一种报文收发方法、装置和系统
CN104125150A (zh) 一种协议报文处理方法、装置及系统
CN106878171B (zh) 一种用于多数据源的流式数据处理方法及装置
CN104584492A (zh) 报文处理方法、设备及系统
CN105471756A (zh) 一种数据包处理方法及装置
CN103299298A (zh) 处理业务的方法和系统
CN104184729A (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