网络事务控制方法及执行方法及网络控制器及转发设备的制作方法

文档序号:7998755阅读:389来源:国知局
网络事务控制方法及执行方法及网络控制器及转发设备的制作方法
【专利摘要】本发明涉及通信领域,公开了一种网络事务控制方法及执行方法及网络控制器及转发设备。网络事务控制方法包括:网络控制器根据网络事务,向至少两个转发设备发送包含至少一操作指令的操作集合包;各操作集合包分别包含:原子操作标识;接收各转发设备反馈的执行状态消息;如果根据各执行状态消息确定任一转发设备对任一操作指令的操作结果为:执行失败,则分别向各未被确定为执行失败的转发设备发送包含该原子操作标识的回滚控制指令,以指示该转发设备恢复至执行各操作指令前的状态。应用本技术方案可以在网络控制器控制转发设备执行网络事务时,有利于避免网络事务不完整执行的情况,即有利于减少部分设备执行成功部分设备执行失败的情况。
【专利说明】网络事务控制方法及执行方法及网络控制器及转发设备

【技术领域】
[0001] 本发明涉及通信领域,特别涉及一种网络事务控制方法及执行方法及网络控制器 及转发设备。

【背景技术】
[0002] 传统转发设备将控制功能与转发功能紧密耦合在一个封闭系统中,使转发设备的 功能不利于扩展。随着网络应用的发展,越来越多的业务需要多个转发设备的配合以提高 业务效率、满足业务需求。因此出现了新的网络架构:控制转发分离架构。
[0003] 控制转发分离架构主要由三层结构构成,分别是应用层、控制层、转发层。应用层 包含各种事务的应用程序,用户通过操作该应用程序向控制层下发业务操作命令,以执行 相应的事务。控制层主要用于根据下发的业务操作命令,向转发层中单个或多个转发设备 下发一系列执行命令。控制层主要由网络控制器实现,网络控制器可以单个设备也可以是 由多少设备组成的控制系统。转发层中的单个或多个转发设备在收到执行命令后,根据执 行命令执行相应的操作,以实现数据信息的转发。
[0004] 现有技术的网络事务控制方法具体如下:网络控制器通过向各转发设备下发 Barrier命令,各转发设备根据Barrier命令规定的顺序执行并生效网络事务对应的各操 作指令。
[0005] 在进行本发明研究过程中,发明人发现现有技术至少存在如下问题:
[0006] 按照现有技术的网络事务控制方法无法保证整个网络事务的完整性。如果某一转 发设备中任一命令执行失败,转发设备并无相应的操作,则对于一个需多个转发设备执行 的网络事务,会出现部分转发设备执行成功,部分转发设备执行失败,导致整个网络事务出 现局部缺陷。


【发明内容】

[0007] 本发明实施例第一目的在于提供一种网络事务控制方法,应用该技术方案可以在 网络控制器控制转发设备执行网络事务时,减少网络事务不完整执行的情况,即减少对同 一个网络事务部分设备执行成功部分设备执行失败的情况。
[0008] 本发明实施例第二目的在于提供一种网络事务执行方法,应用该技术方案可以在 网络控制器控制转发设备执行网络事务时,减少网络事务不完整执行的情况,即减少对同 一个网络事务部分设备执行成功部分设备执行失败的情况。
[0009] 本发明实施例第三目的在于提供一种网络控制器,应用该技术方案可以在网络控 制器控制转发设备执行网络事务时,减少网络事务不完整执行的情况,即减少对同一个网 络事务部分设备执行成功部分设备执行失败的情况。
[0010] 本发明实施例第四目的在于提供一种转发设备,应用该技术方案可以在网络控制 器控制转发设备执行网络事务时,减少网络事务不完整执行的情况,即减少对同一个网络 事务部分设备执行成功部分设备执行失败的情况。 toon] 第一方面,本发明实施例提供的一种网络事务控制方法,所述方法应用于控制和 转发分离的系统中,包括:
[0012] 网络控制器根据网络事务,向至少两个转发设备发送包含至少一个操作指令的操 作集合包;
[0013] 各所述操作集合包分别包含:用于唯一标识所述网络事务的原子操作标识;
[0014] 所述网络控制器接收各所述转发设备反馈的执行状态消息,所述执行状态消息包 含:所述原子操作标识、以及各所述转发设备对各所述操作指令的操作结果;
[0015] 如果所述网络控制器根据各所述执行状态消息确定任一所述转发设备对任一所 述操作指令的操作结果为:执行失败,则:
[0016] 所述网络控制器分别向各未被确定为执行失败的所述转发设备发送包含所述原 子操作标识的回滚控制指令,以指示各未被确定为执行失败的所述转发设备恢复至执行所 述操作集合包内的各所述操作指令前的状态。
[0017] 结合第一方面,在第一方面的第一种实现方式下,所述网络控制器根据各所述执 行状态消息确定任一所述转发设备对任一所述操作指令的操作结果为:执行失败,具体 为:
[0018] 所述网络控制器发送所述操作集合包后,启动定时器,如果在所述定时器超时时, 未收到某一所述转发设备发来的执行状态消息,则所述网络控制器确定未反馈执行状态消 息的所述转发设备对所述操作指令的操作结果为:执行失败;
[0019] 或者,所述网络控制器根据所述执行状态消息中携带的执行失败状态消息,确定 反馈所述执行状态消息的所述转发设备对所述操作指令的操作结果为:执行失败。
[0020] 结合第一方面,在第一方面的第二种实现方式下,所述方法还包括:如果所述网络 控制器根据各所述执行状态消息确定任一所述转发设备对任一所述操作指令的操作结果 为:执行失败,则:
[0021] 所述网络控制器还向各被确定为执行失败的所述转发设备发送所述回滚控制指 令。
[0022] 结合第一方面或第一方面的第一种实现方式或第一方面的第二种实现方式,在第 一方面的第三种实现方式下,在所述网络控制器根据网络事务,向至少两个转发设备发送 包含至少一个操作指令的操作集合包之前,所述方法还包括:
[0023] 所述网络控制器从业务系统接收所述网络事务;
[0024] 所述网络控制器将所述网络事务转换为所述操作集合包。
[0025] 第二方面,本发明实施例提供的一种网络事务执行方法,所述方法应用于控制和 转发分离的系统中,包括:
[0026] 转发设备接收网络控制器发送的操作集合包,所述操作集合包包含:原子操作标 识、以及至少一操作指令,所述原子操作标识用于唯一标识一网络事务,所述网络事务对应 至少一所述操作集合包;
[0027] 所述转发设备执行各所述操作指令,向所述网络控制器反馈执行状态消息,所述 执行状态消息包含:所述原子操作标识、以及所述转发设备对所述操作指令的操作结果;
[0028] 如果任一所述操作指令执行失败,所述转发设备恢复至执行所述操作集合包内的 各所述操作指令前的状态。
[0029] 结合第二方面,在第二方面的第一种实现方式下,所述方法还包括:
[0030] 所述转发设备接收所述网络控制器下发的回滚控制指令;
[0031] 相应地,所述转发设备恢复至执行所述操作集合包内的各所述操作指令前的状 态,具体为:
[0032] 所述转发设备根据所述网络控制器下发的回滚控制指令,恢复至执行所述操作集 合包内的各所述操作指令前的状态;
[0033] 所述回滚控制指令包含:所述原子操作标识。
[0034] 结合第二方面,在第二方面的第二种实现方式下,所述转发设备恢复至执行所述 操作集合包内的各所述操作指令前的状态,具体为:
[0035] 所述转发设备主动执行回滚操作,恢复至执行所述操作集合包内的各所述操作指 令前的状态。
[0036] 第三方面,本发明实施例提供了一种网络控制器,所述网络控制器应用于控制和 转发分离的系统中,包括:
[0037] 收发单元,用于与各应用于所述控制和转发分离系统中的转发设备通信,所述通 信包括:
[0038] 根据网络事务,向至少两个所述转发设备发送包含至少一个操作指令的操作集合 包,各所述操作集合包分别包含:用于唯一标识所述网络事务的原子操作标识,
[0039] 以及接收各所述转发设备反馈的执行状态消息,所述执行状态消息包含:所述原 子操作标识、以及各所述转发设备对各所述操作指令的操作结果,
[0040] 以及当操作结果确定单元根据各所述执行状态消息确定存在任一所述转发设备 对任一所述操作指令的操作结果为:执行失败时,还分别向各未被确定为执行失败的所述 转发设备发送包含所述原子操作标识的回滚控制指令,以指示各未被确定为执行失败的所 述转发设备恢复至执行所述操作集合包内的各所述操作指令前的状态;
[0041] 所述操作结果确定单元,用于根据各所述执行状态消息确定各所述转发设备对各 所述操作指令的操作结果。
[0042] 结合第三方面,在第三方面的第一种实现方式下,所述网络控制器还包括:
[0043] 定时单元,所述定时单元用于在所述收发单元发送所述操作集合包后启动定时 器;
[0044] 所述操作结果确定单元还用于:在所述定时单元启动的定时器超时时,如果所述 收发单元未收到某一所述转发设备发来的执行状态消息,则确定未反馈执行状态消息的所 述转发设备对所述操作指令的操作结果为:执行失败。
[0045] 结合第三方面,在第三方面的第二种实现方式下,所述操作结果确定单元具体用 于:根据所述执行状态消息中携带的执行失败状态消息,确定反馈所述执行状态消息的所 述转发设备对所述操作指令的操作结果为:执行失败。
[0046] 结合第三方面,在第三方面的第三种实现方式下,所述收发单元还用于:在所述操 作结果确定单元确定任一所述转发设备对任一所述操作指令的操作结果为:执行失败时, 向各被确定为执行失败的所述转发设备发送所述回滚控制指令。
[0047] 结合第三方面或第三方面的第一种实现方式或第三方面的第二种实现方式,在第 三方面的第四种实现方式下,所述网络控制器还包括:
[0048] 事务转换单元,用于在所述收发单元与各转发设备通信之前,从业务系统接收所 述网络事务,将所述网络事务转换为所述操作集合包。
[0049] 第四方面,本发明实施例提供的一种转发设备,所述转发设备应用于控制和转发 分离的系统中,包括:
[0050] 收发单元,用于与应用于所述控制和转发分离系统中的网络控制器通信,
[0051] 所述通信包括:接收所述网络控制器发送的操作集合包、以及在状态消息确定单 元确定执行状态消息后,向所述网络控制器发送所述执行状态消息,
[0052] 其中,所述操作集合包包含:原子操作标识、以及至少一操作指令,所述原子操作 标识用于唯一标识一网络事务,所述网络事务对应至少一所述操作集合包,所述执行状态 消息包含:所述原子操作标识、以及所述执行单元对所述操作指令的操作结果;
[0053] 执行单元,用于执行所述操作指令;
[0054] 状态消息确定单元,用于根据所述执行单元的执行所述操作指令的情况,确定所 述执行状态消息;
[0055] 状态恢复单元,用于如果任一所述操作指令执行失败,将所述转发设备恢复至执 行所述操作集合包内的各所述操作指令前的状态。
[0056] 结合第四方面,在第四方面的第一种实现方式下,所述收发单元还用于:在所述执 行单元执行任一所述操作指令失败时,接收所述网络控制器下发的回滚控制指令;
[0057] 所述状态恢复单元具体用于:根据所述网络控制器下发的回滚控制指令,将所述 转发设备恢复至执行所述操作集合包内的各所述操作指令前的状态,
[0058] 所述回滚控制指令包含:所述原子操作标识。
[0059] 结合第四方面,在第四方面的第二种实现方式下,所述状态恢复单元具体用于:在 所述执行单元执行任一所述操作指令失败时,主动执行回滚操作,将所述转发设备恢复至 执行所述操作集合包内的各所述操作指令前的状态。
[0060] 由上可见,应用本实施例技术方案,在控制转发分离架构下的系统中,当某一事务 需要执行时,网络控制器根据网络事务,向至少两个转发设备发送操作集合包,各操作集合 包分别包含:原子操作标识、以及至少一个操作指令。该原子操作标识用于唯一标识该需执 行的网络事务。在各转发设备执行操作指令时,各转发设备根据该操作指令的操作结果,向 网络控制器反馈执行状态消息,该执行状态消息包含该原子操作标识、以及转发设备对该 操作指令的操作结果。如果任一转发设备对任一操作指令的操作结果为:执行失败,则网络 控制器分别向各未被确定为执行失败的转发设备发送包含该原子操作标识的回滚控制指 令,指示各未被确定为执行失败的转发设备:恢复至执行该操作集合包内的各操作指令前 的状态,从而减少网络事务不完整执行的情况,即减少对同一网络事务部分设备执行成功 部分设备执行失败的情况。
[0061] 进一步,在网络控制器发送操作集合包后,,网络控制器可以启动定时器,在定时 器超时时,如果未收到任一转发设备的执行状态消息,确定该未反馈执行状态消息的转发 设备对该操作指令的执行结果为:执行失败。应该该技术方案,在转发设备执行操作指令时 发生死机或其他情况,导致无法向网络控制器发送执行状态消息时,网络控制器能确定该 转发设备的操作结果,进一步减少网络事务不完整执行的情况。
[0062] 进一步,网络控制器还可以向该确定为执行失败的转发设备发送回滚控制指令, 以指示该转发设备恢复到执行该操作指令包内各操作指令前的状态。进一步减少对同一网 络事务部分设备执行成功部分设备执行失败的情况。
[0063] 由上可见,相比与现有技术仅能用Barrier命令以保证转发设备按顺序执行操作 指令,却无法避免网络事务不完整执行的情况。本发明技术方案对需执行的网络事务进行 标识,网络控制器与各转发设备进行通信,监视该操作集合包内操作指令的操作结果。对应 任一需执行的网络事务,当网络控制器确定任一转发设备对操作指令的操作结果为执行失 败时,网络控制器向该未确定为执行失败的转发设备发送回滚控制指令,指示这些转发设 备恢复至执行该操作指令前的状态,可以减少网络事务不完整执行的情况,即减少对同一 网络事务部分设备执行成功部分设备执行失败的情况。

【专利附图】

【附图说明】
[0064] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。
[0065] 图1为本发明提供的一种网络事务控制方法的流程示意图;
[0066] 图2为本发明提供的网络事务控制方法应用场景的场景示意图;
[0067] 图3为本发明提供的网络事务控制方法的另一种可选流程示意图;
[0068] 图4为本发明提供的一种网络事务执行方法的流程示意图;
[0069] 图5为本发明提供的一种网络控制器的结构示意图;
[0070] 图6为本发明提供的一种网络控制器的结构示意图;
[0071] 图7为本发明提供的一种网络控制器的结构示意图;
[0072] 图8为本发明提供的一种转发设备的结构示意图;
[0073] 图9为本发明提供的一种转发设备的结构示意图;
[0074] 图10为本发明提供的一种网络控制器的结构示意图;
[0075] 图11为本发明提供的一种转发设备的结构示意图。

【具体实施方式】
[0076] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0077] 实施例1 :
[0078] 参见图1,本实施例提供了一种网络事务控制方法,应用于控制转发分离架构下的 系统,该架构下的系统可以但不限于为SDN(sortware defined network,软件定义网络)或 者NFV (network function virtualization,网络功能虚拟化)架构下的系统。该网络控 制器可以但不限于是一个网络控制器或由多个控制设备组成的控制器系统。该网络控制器 可以但不限于控制至少两个转发设备。
[0079] 该方法主要步骤如下:
[0080] 步骤101 :网络控制器向至少两个转发设备发送操作集合包。
[0081] 在本实施例中,网络控制器根据需执行的网络事务,向至少两个转发设备发送操 作集合包。该操作集合包包含:原子操作标识、以及至少一条操作指令。该原子操作标识 用于唯一标识该网络事务,以确保该网络事务执行的原子性。
[0082] 举例来说,网络控制器在向至少两个转发设备发送操作集合包之前,可以但不限 于从上层业务系统接收网络事务,并将该网络事务转换为该操作集合包。如,网络控制器在 业务系统中接收一网络事务,该网络事务为创建虚拟网络,则网络控制器根据网络资源信 息、该网络事务的实施流程、该网络事务的事务信息等信息,自动生成一个或多个该操作集 合包,以供一个或多个转发设备执行。
[0083] 网络事务可以由一个或多个转发设备配合完成。网络控制器根据网络事务的需要 或自身对该事务的配置,确定该事务所需要的各转发设备、以及各转发设备需要执行的各 操作指令。在确定各转发设备及相应的各操作指令后,网络控制器将该原子操作标识与操 作指令封装成操作集合包。由于网络事务可以由多个转发设备配合完成,故一个网络事务 对应有至少一个操作集合包,所有的操作集合包均包含用于唯一标识该网络事务的原子操 作标识。
[0084] 各转发设备收到操作集合包之后,执行相应的各操作指令。转发设备对已执行成 功的各操作指令对应的操作可以但不限于设置为待定状态,待转发设备收到生效控制指令 时,转发设备才使该已执行成功的各操作指令对应的操作生效。
[0085] 在本实施例中,该原子操作标识可以但不限于为序列号或编号。
[0086] 在本实施例中,该转发设备可以但不限于为路由器、交换机、或具有转发功能的网 络设备等。
[0087] 步骤102 :网络控制器接收各转发设备反馈的执行状态消息。
[0088] 在本实施例中,转发设备根据各操作指令的操作结果,向网络控制器反馈执行状 态消息。该执行状态消息包含:该原子操作标识、以及各转发设备对各操作指令集合的操作 结果。
[0089] 步骤103 :网络控制器根据各执行状态消息判定任一转发设备对任一操作指令的 操作结果是否为:执行失败,如果是,则执行步骤104。
[0090] 举例来说,网络控制器可以根据执行状态消息中携带的执行失败状态消息,确定 反馈该执行状态消息的转发设备对该操作指令的操作结果为:执行失败。
[0091] 步骤104 :网络控制器分别向各未被确定为执行失败的转发设备发送回滚控制指 令。
[0092] 在本实施例中,只要任一转发设备对任一操作指令的操作结果为:执行失败,则网 络控制器向各未被确定为执行失败的转发设备发送包含该原子操作标识的回滚控制指令, 以指示各被确定为执行失败的转发设备恢复至执行该操作集合包内各操作指令前的状态。 任一操作指令执行失败说明该网络事务无法完整的被执行,根据该回滚控制指令,各未被 确定为执行失败的转发设备恢复到执行各操作指令前的状态,能避免该网络事务不完整执 行的情况。
[0093] 为便于理解,下面以一个应用场景进行说明。参见图2,图2的系统由一个网络控 制器C1以及两个转发设备S1、S2组成的应用场景图,S1、S2分别为交换机。当需要执行的 网络事务为:创建两条流表,该网络事务需要S1、S2配合执行,则网络控制器Cl根据该网络 事务为S1、S2分别创建操作集合包。在本场景下,该操作集合包为流表创建信息,该流表创 建信息包括:至少一条操作指令,该操作集合包包含的原子操作标识为:一串序列号。
[0094] 转发设备SI、S2分别在收到流表创建信息后,执行相应的操作指令,该操作指令 对应的操作为:创建流表。举例来说,如果在流表创建过程中,S1在执行部分操作指令时发 生失败,S2执行全部操作指令均成功,则S1向网络控制器C1反馈执行失败的消息,该执行 失败的消息携带该序列号,此时如果S1具备执行失败时主动执行回滚操作的能力且被预 先设置为执行操作指令失败时主动执行回滚操作,则S1还会主动恢复到未执行流表创建 之前的状态;S2向网络控制器C1反馈执行成功的消息,该执行成功的消息携带该序列号。 网络控制器根据S1和S2反馈的消息以及该序列号,向S2发送回滚控制指令,回滚控制指 令中携带该序列号,以指示S2将回滚控制指令中序列号对应的流表信息全部删除,即指示 S2恢复到创建流表前的状态。
[0095] 由上可见,应用本实施例技术方案,在控制转发分离架构下的系统中,当某一事务 需要执行时,网络控制器根据网络事务,向至少两个转发设备发送操作集合包,各操作集合 包分别包含:原子操作标识、以及至少一个操作指令。该原子操作标识用于唯一标识该需执 行的网络事务。在各转发设备执行操作指令时,各转发设备根据该操作指令的操作结果,向 网络控制器反馈执行状态消息,该执行状态消息包含该原子操作标识、以及转发设备对该 操作指令的操作结果。如果任一转发设备对任一操作指令的操作结果为:执行失败,则网络 控制器分别向各未被确定为执行失败的转发设备发送包含该原子操作标识的回滚控制指 令,指示各未被确定为执行失败的转发设备:恢复至执行该操作集合包内的各操作指令前 的状态,有利于减少网络事务不完整执行的情况,即减少对同一网络事务部分设备执行成 功部分设备执行失败的情况。
[0096] 由上可见,相比与现有技术仅能用Barrier命令以保证转发设备按顺序执行操作 指令,却无法避免网络事务不完整执行的情况。本发明技术方案对需执行的网络事务进行 标识,网络控制器与各转发设备进行通信,监视该操作集合包内操作指令的操作结果。对应 任一需执行的网络事务,当网络控制器确定任一转发设备对操作指令的操作结果为执行失 败时,网络控制器向该未确定为执行失败的转发设备发送回滚控制指令,指示这些转发设 备恢复至执行该操作指令前的状态,可以减少网络事务不完整执行的情况,即减少对同一 网络事务部分设备执行成功部分设备执行失败的情况。
[0097] 实施例2
[0098] 本实施例与实施例1所不同之处主要在于:步骤103中,网络控制器根据执行状态 消息,判定任一转发设备对任一操作指令的操作结果,具体为:
[0099] 网络控制器发送所述操作集合包后,启动定时器,如果在定时器超时时,未收到某 一转发设备发来的执行状态消息,则网络控制器确定未反馈执行状态消息的转发设备对该 操作指令的操作结果为:执行失败。
[0100] 由上可见,本实施例除了具备实施例1的有益效果外,还进一步的,在转发设备执 行操作指令时发生死机或其他情况,导致无法向网络控制器发送执行状态消息时,网络控 制器能确定该转发设备的操作结果,进一步避免网络事务不完整执行的情况。
[0101] 实施例3
[0102] 参见图3,本实施例与实施例1所不同之处主要在于:步骤104之后,还包括以下 步骤:
[0103] 步骤301 :网络控制器分别向各被确定为执行失败的转发设备发送回滚控制指 令。
[0104] 在本实施例中,网络控制器向各被确定为执行失败的转发设备发送回滚控制指 令,以指示该转发设备恢复至执行该操作指令前的状态。在任一转发设备执行任一操作指 令失败时,网络控制器向执行该网络事务的所有转发设备发送回滚控制指令,以确保所有 的转发设备均能恢复至执行该操作指令前的状态。
[0105] 举例来说,实施例1中的交换机S1在执行部分操作指令时发生失败,但S1未被预 先设置为执行操作指令失败时主动执行回滚操作,或S1执行操作指令失败时主动执行回 滚操作的能力,则网络控制器C1可以在判断S1执行失败后向S1发送回滚控制指令;或者, 即使S1在执行失败时已经主动执行了回滚操作,但网络控制器C1并不确定S1是否在执行 失败时主动执行了回滚操作,网络控制器C1也可在判断S1执行失败后向S1发送回滚控制 指令。
[0106] 由上可见,本实施例除了具备实施例1的有益效果外,网络控制器向该确定为执 行失败的转发设备发送回滚控制指令,以指示该转发设备恢复到执行该操作指令包内各操 作指令前的状态,进一步减少部分设备执行成功部分设备执行失败的情况。
[0107] 实施例4
[0108] 参见图4,本实施例提供了一种网络事务执行方法,应用于控制转发分离架构系统 中的路由器、交换机、或具有转发功能的网络设备等转发设备。该架构下的系统可以但不限 于为SDN或者NFV架构下的系统。
[0109] 该方法主要步骤如下:
[0110] 步骤401 :转发设备接收网络控制器发送的操作集合包。
[0111] 在本实施例中,网络控制器根据需执行的事务,向至少两个转发设备发送操作集 合包。该操作集合包包含:原子操作标识、至少一操作指令,该原子操作标识用于唯一标识 一网络事务,该网络事务对应至少一操作集合包。
[0112] 该网络事务可以由一个或多个转发设备配合完成。网络控制器根据网络事务的需 要或自身对该事务的配置,确定该网络事务需要的各转发设备、以及各转发设备需要执行 的各操作指令。
[0113] 在本实施例中,该原子操作标识可以但不限于为序列号或自定义编号。
[0114] 步骤402 :转发设备执行操作集合包内的各操作指令,向网络控制器反馈执行状 态消息。
[0115] 在本实施例中,该执行状态消息包包含:该原子操作标识、以及转发设备对操作指 令的操作结果。
[0116] 举例来说,转发设备根据操作指令的执行情况,向网络控制器反馈执行成功状态 消息、或执行失败状态消息,以告知网络控制器本转发设备对该操作集合包的操作结果。如 果操作集合包内所有的操作指令均执行成功,则向网络控制器反馈执行成功状态消息,否 则反馈执行失败状态消息。
[0117] 可选地,如果转发设备对任一操作指令的操作结果为:执行失败,该转发设备可以 在预定的次数内对该执行失败的操作指令进行再次执行。若在预定次数内仍执行失败,则 执行步骤404。
[0118] 步骤403 :如果任一操作指令执行失败,转发设备恢复至执行该操作集合包内的 各操作指令前的状态。
[0119] 作为本实施例的一种举例,转发设备在任一操作指令执行失败后,可以根据网络 控制器下发的回滚控制指令,恢复至执行该操作集合包内的各操作指令前的状态。该回滚 控制指令包含该原子操作标识,可以但不限于用于撤销该操作指令对应的设备操作,释放 该操作指令的执行资源。
[0120] 作为本实施例的一种举例,转发设备在任一操作指令执行失败后,可以主动执行 回滚操作,恢复至执行该操作集合包内的各操作指令前的状态。由上可见,应用本实施例技 术方案,在控制转发分离架构下的系统中,当某一事务需要执行时,转发设备接收网络控制 器发送的操作集合包,该操作集合包包含:原子操作标识、以及至少一个操作指令。该原子 操作标识用于唯一标识该需执行的网络事务。该网络事务对应至少一该操作集合包。在转 发设备执行该操作集合包内各操作指令时,转发设备根据该操作指令的操作结果,向网络 控制器反馈执行状态消息,该执行状态消息包含该原子操作标识、以及转发设备对该操作 指令的操作结果。如果转发设备对任一操作指令的操作结果为:执行失败,则恢复至执行该 操作集合包内的各操作指令前的状态,有利于减少网络事务不完整执行的情况,即有利于 减少部分设备执行成功部分设备执行失败的情况。
[0121] 由上可见,相比与现有技术仅能用Barrier命令以保证转发设备按顺序执行操作 指令,却无法避免网络事务部分不完整执行的情况。本发明技术方案对需执行的网络事务 进行标识,转发设备与网络控制器进行通信,向网络控制器反馈该操作集合包内操作指令 的操作结果。当任一转发设备执行操作集合包中的指令失败时,主动执行回滚操作,或根据 网络控制器发来的回滚控制指令执行回滚操作,使得该转发设备恢复至执行该操作指令前 的状态,有利于减少网络事务不完整执行的情况,即减少部分设备执行成功部分设备执行 失败的情况。
[0122] 实施例5
[0123] 参见图5,本实施例提供了一种应用于控制和转发分离系统下的网络控制器,图 5为该网络控制器的一种连接结构示意图,其主要包括:收发单元501、操作结果确定单元 502。该网络控制器可以但不限于为SDN或NFV架构系统中的网络控制器,控制至少两个转 发设备。
[0124] 本实施例中的网络控制器可以对应执行实施例1-3中的方法。
[0125] 各部件的主要连接结构及工作原理如下:
[0126] 收发单元501,用于与各应用于该控制和转发分离系统中的转发设备通信。
[0127] 该通信包括:根据网络事务,向至少两个转发设备发送包含至少一个操作指令的 操作集合包,各操作集合包分别包含:用于唯一标识该网络事务的原子操作标识;以及接 收各转发设备反馈的执行状态消息,该执行状态消息包含:该原子操作标识,以及各转发设 备对各操作指令的操作结果;以及当操作结果确定单元502根据各执行状态消息确定任一 该转发设备对任一操作指令的操作结果为:执行失败时,还分别向各未被确定为执行失败 的转发设备发送包含该原子操作标识的回滚控制指令,以指示各未被确定为执行失败的转 发设备恢复至执行该操作集合包内的各操作指令前的状态。
[0128] 操作结果确定单元502,与收发单元501电连接,用于根据各执行状态消息确定各 转发设备对各操作指令的操作结果。
[0129] 可选的,该收发单元501还用于在操作结果确定单元502根据各执行状态消息确 定任一该转发设备对任一操作指令的操作结果为:执行失败时,还分别向各被确定为执行 失败的转发设备发送包含该原子操作标识的回滚控制指令,以指示各被确定为执行失败的 转发设备恢复至执行该操作集合包内的各操作指令前的状态。
[0130] 可选的,操作结果确定单元502具体用于根据执行状态消息中携带的执行失败状 态消息,确定反馈该执行状态消息的转发设备对该操作指令的操作结果为:执行失败。
[0131] 可选的,参见图6,图6为网络控制器的另一种连接结构,与图5的区别在于,该网 络控制器还包括:事务转换单元601,与收发单元501电连接,用于在收发单元501与各转 发设备通信之前,从业务系统接收网络事务,将网络事务转换为操作集合包。
[0132] 可选的,参见图7,图7为网络控制器的另一种连接结构,与图5的区别在于:该网 络控制器还包括:定时单元701,与操作结果确定单元502电连接,用于在收发单元501发 送所述操作集合包后启动定时器。相应地,该操作结果确定单元502还用于:在该定时单元 701启动的定时器超时时,如果所述收发单元501未收到某一转发设备发来的执行状态消 息,则确定未反馈执行状态消息的该转发设备对该操作指令的操作结果为:执行失败。
[0133] 由上可见,应用本实施例技术方案,在控制转发分离架构下的系统中,当某一事务 需要执行时,收发单元501根据网络事务,向至少两个转发设备发送操作集合包,各操作集 合包分别包含:原子操作标识、以及至少一个操作指令。该原子操作标识用于唯一标识该需 执行的网络事务。在各转发设备执行操作指令并向网络控制器反馈执行状态消息,收发单 元501接收该执行状态消息,该执行状态消息包含该原子操作标识、以及转发设备对该操 作指令的操作结果。操作结果确定单元502根据该执行状态消息确定各转发设备对各操作 指令的操作结果,如果任一转发设备对任一操作指令的操作结果为:执行失败,则收发单元 501分别向各未被确定为执行失败的转发设备发送包含该原子操作标识的回滚控制指令, 指示各未被确定为执行失败的转发设备:恢复至执行该操作集合包内的各操作指令前的状 态,有利于减少网络事务不完整执行的情况,即减少对同一网络事务部分设备执行成功部 分设备执行失败的情况。
[0134] 由上可见,相比与现有技术仅能用Barrier命令以保证转发设备按顺序执行操作 指令,却无法避免网络事务不完整执行的情况。本发明技术方案对需执行的网络事务进行 标识,网络控制器与各转发设备进行通信,监视该操作集合包内操作指令的操作结果。对应 任一需执行的网络事务,当网络控制器确定任一转发设备对操作指令的操作结果为执行失 败时,网络控制器向该未确定为执行失败的转发设备发送回滚控制指令,指示这些转发设 备恢复至执行该操作指令前的状态,可以减少网络事务不完整执行的情况,即减少对同一 网络事务部分设备执行成功部分设备执行失败的情况。
[0135] 进一步的如图7所示的网络控制器,在定时单元701启动的定时器超时时,如果收 发单元501未收到任一转发设备的执行状态消息,则操作结果确定单元502确定该未反馈 执行状态消息的转发设备对该操作指令的执行结果为:执行失败。应该该技术方案,在转发 设备执行操作指令时发生死机或其他情况,导致无法向网络控制器发送执行状态消息时, 网络控制器能确定该转发设备的操作结果,进一步避免网络事务不完整执行的情况。
[0136] 实施例6
[0137] 参见图8,本实施例提供了一种应用于控制转发分离架构系统中的转发设备,图8 为该转发设备的一种连接结构示意图,其主要包括:收发单元801、执行单元802、状态消息 确定单元803、状态恢复单元804。该转发设备可以但不限于为SDN或NFV架构系统中的转 发设备。
[0138] 本实施例中的转发设备可以对应执行实施例4中的方法。
[0139] 各单元的连接结构及工作原理如下:
[0140] 收发单元801,用于与该控制转发分离架构系统中的网络控制器通信。
[0141] 在本实施例中,该通信包括:接收网络控制器发送的操作集合包、以及在状态消息 确定单元802确定执行状态消息后,向网络控制器发送该执行状态消息。其中,该操作集合 包包含:原子操作标识、以及至少一操作指令。该原子操作标识用于唯一标识一网络事务。 该网络事务对应至少一该操作集合包。该执行状态消息包含:该原子操作标识、以及执行单 元对该操作指令的操作结果。
[0142] 执行单元802,与收发单元801电连接,用于执行操作集合包中的操作指令。
[0143] 状态消息确定单元803,与收发单元801、执行单元802分别电连接,用于根据执行 单元802执行所述操作指令的情况,确定所述执行状态消息。
[0144] 在本实施例中,该执行状态消息可以但不限于包含每一条操作指令的操作结果、 或者该操作集合包的总操作结果。如果在执行过程中有任一操作指令执行失败,则确定执 行状态消息中的总操作结果为:执行失败;如果所有的操作指令都执行成功,则确定执行 状态消息中的总操作结果为:执行成功。
[0145] 状态恢复单元804,用于如果任一所述操作指令执行失败,将转发设备恢复至执行 该操作集合包内的各操作指令前的状态。
[0146] 可选地,在图8所示的转发设备中,状态恢复单元804与执行单元802电连接,具 体用于:在执行单元802执行任一操作指令失败时,主动执行回滚操作,将转发设备恢复至 执行该操作集合包内的各操作指令前的状态。
[0147] 作为本实施例的一种举例,参见图9,图9为转发设备的另一种连接结构示意图, 状态恢复单元904与收发单元901电连接。本实施例收发单元901用于与该控制转发分离 架构系统中的网络控制器通信,还包括接收网络控制器发送的回滚控制指令,相应地,本实 施例的状态恢复单元904用于与该控制转发分离架构系统中的网络控制器通信,具体用于 根据收发单元901接收的网络控制器下发的回滚控制指令,将转发设备恢复至执行该操作 集合包内的各操作指令前的状态。该回滚控制指令包含该原子操作标识。
[0148] 而对应各操作指令均执行成功的情况,为现有技术中的内容,在此不再赘述。
[0149] 由上可见,应用本实施例技术方案,在控制转发分离架构下的系统中,当某一事务 需要执行时,收发单元801接收网络控制器发送的操作集合包,该操作集合包包含:原子操 作标识、以及至少一个操作指令。该原子操作标识用于唯一标识该需执行的网络事务。该 网络事务对应至少一该操作集合包。在执行单元802执行该操作集合包内各操作指令时, 状态消息确定单元803根据该操作指令的操作结果,确定执行状态消息,收发单元801向网 络控制器反馈该执行状态消息。该执行状态消息包含该原子操作标识、以及转发设备对该 操作指令的操作结果。如果执行单元802对任一操作指令的操作结果为:执行失败,则状态 恢复单元804将转发设备恢复至执行该操作集合包内的各操作指令前的状态,有利于减少 网络事务不完整执行的情况,即减少对同一网络事务部分设备执行成功部分设备执行失败 的情况。
[0150] 由上可见,相比与现有技术仅能用Barrier命令以保证转发设备按顺序执行操作 指令,却无法避免网络事务部分不完整执行的情况。本发明技术方案对需执行的网络事务 进行标识,转发设备与网络控制器进行通信,向网络控制器反馈该操作集合包内操作指令 的操作结果。当任一转发设备执行操作集合包中的指令失败时,主动执行回滚操作,或根据 网络控制器发来的回滚控制指令执行回滚操作,使得该转发设备恢复至执行该操作指令前 的状态,有利于减少网络事务不完整执行的情况,即减少部分设备执行成功部分设备执行 失败的情况。
[0151] 实施例7
[0152] 参见图10,本发明实施例还提供了一种应用于控制与转发分离架构系统下的网络 控制器1000。本实施例中的转发设备可以对应执行实施例1-3中的方法。
[0153] 如图10所示,该网络控制器1000包括:总线1004 ;以及连接到总线1004的处理 器1001、存储器1002和接口 1003,其中该接口 1003用于与至少两个转发设备进行通信;该 存储器1002用于存储指令,该处理器1001用于执行该指令用于根据网络事务,向至少两个 转发设备发送包含至少一个操作指令的操作集合包。各操作集合包分别包含:用于唯一标 识该网络事务的原子操作标识。该处理器1001执行该指令还用于接收各转发设备反馈的 执行状态消息,该执行状态消息包含:该原子操作标识、以及各转发设备对各操作指令的操 作结果。该处理器1001执行该指令还用于根据各所述执行状态消息确定任一转发设备对 任一操作指令的操作结果是否为:执行失败,如果是,则分别向各未被确定为执行失败的所 述转发设备发送包含所述原子操作标识的回滚控制指令,以指示各未被确定为执行失败的 所述转发设备恢复至执行所述操作集合包内的各所述操作指令前的状态。
[0154] 在本发明实施例中,可选地,该处理器1001执行该指令用于根据各所述执行状态 消息确定任一转发设备对任一操作指令的操作结果为:执行失败,具体为:网络控制器发 送操作集合包后,启动定时器,如果在定时器超时时,未收到某一转发设备发来的执行状态 消息,则网络控制器确定未反馈执行状态消息的转发设备对该操作指令的操作结果为:执 行失败;或者根据执行状态消息中携带的执行失败状态消息,确定反馈该执行状态消息的 转发设备对该操作指令的操作结果为:执行失败。
[0155] 在本发明实施例中,可选地,该处理器1001执行该指令还用于:如果根据各所述 执行状态消息确定任一转发设备对任一操作指令的操作结果为:执行失败,则还向各被确 定为执行失败的转发设备发送回滚控制指令。
[0156] 在本发明实施例中,可选地,该处理器1001执行该指令还用于在根据网络事务, 向至少两个转发设备发送包含至少一个操作指令的操作集合包之前,还包括:从业务系统 接收该网络事务,将该网络事务转换为操作集合包。
[0157] 由上可见,应用本实施例技术方案,在控制转发分离架构下的系统中,当某一事务 需要执行时,本发明实施例中的网络控制器根据网络事务,向至少两个转发设备发送操作 集合包,各操作集合包分别包含:原子操作标识、以及至少一个操作指令。该原子操作标识 用于唯一标识该需执行的网络事务。在各转发设备执行操作指令时,各转发设备根据该操 作指令的操作结果,向网络控制器反馈执行状态消息,该执行状态消息包含该原子操作标 识、以及转发设备对该操作指令的操作结果。如果任一转发设备对任一操作指令的操作结 果为:执行失败,则网络控制器分别向各未被确定为执行失败的转发设备发送包含该原子 操作标识的回滚控制指令,指示各未被确定为执行失败的转发设备:恢复至执行该操作集 合包内的各操作指令前的状态,从而减少网络事务不完整执行的情况,即减少对同一网络 事务部分设备执行成功部分设备执行失败的情况。
[0158] 可选的,在网络控制器发送操作集合包后,网络控制器可以启动定时器,在定时器 超时时,如果未收到某一转发设备的执行状态消息,确定该未反馈执行状态消息的转发设 备对该操作指令的执行结果为:执行失败。应该该技术方案,在转发设备执行操作指令时发 生死机或其他情况,导致无法向网络控制器发送执行状态消息时,网络控制器能确定该转 发设备的操作结果,进一步减少网络事务不完整执行的情况。
[0159] 可选的,网络控制器还可以向该确定为执行失败的转发设备发送回滚控制指令, 以指示该转发设备恢复到执行该操作指令包内各操作指令前的状态。进一步减少对同一网 络事务部分设备执行成功部分设备执行失败的情况。
[0160] 由上可见,相比与现有技术仅能用Barrier命令以保证转发设备按顺序执行操作 指令,却无法避免网络事务不完整执行的情况。本发明技术方案对需执行的网络事务进行 标识,网络控制器与各转发设备进行通信,监视该操作集合包内操作指令的操作结果。对应 任一需执行的网络事务,当网络控制器确定任一转发设备对操作指令的操作结果为执行失 败时,网络控制器向该未确定为执行失败的转发设备发送回滚控制指令,指示这些转发设 备恢复至执行该操作指令前的状态,可以减少网络事务不完整执行的情况,即减少对同一 网络事务部分设备执行成功部分设备执行失败的情况。
[0161] 实施例8
[0162] 参见图11,本实施例提供了一种应用于控制转发分离架构系统下的转发设备 1100, 本实施例中的转发设备可以对应执行实施例4中的方法。
[0163] 如图11所示,该转发设备1100包括:总线1104 ;以及连接到总线1104的处理器 1101、 存储器1102和接口 1103,其中该接口 1103用于与该系统中的网络控制器通信;该存 储器1102用于存储指令,该处理器1101用于执行该指令用于接收网络控制器发送的操作 集合包,该操作集合包包含:原子操作标识、以及至少一操作指令,该原子操作标识用于唯 一标识一网络事务,该网络事务对应至少一该操作集合包。该处理器1101执行该指令还用 于执行各操作指令,向网络控制器反馈执行状态消息,该执行失败状态消息包含:该原子操 作标识、以及转发设备对操作指令的操作结果。该处理器1101执行该指令还用于如果任一 操作指令执行失败,则该转发设备恢复至执行该操作集合包内的各操作指令前的状态。
[0164] 在本发明实施例中,可选地,该处理器1101执行该指令还用于接收网络控制器下 发的回滚控制指令,相应地,转发设备恢复至执行操作集合包内的各操作指令前的状态,具 体为:转发设备根据网络控制器下发的回滚控制指令,恢复至执行该操作集合包内的各所 述操作指令前的状态。该回滚控制指令包含:该原子操作标识。
[0165] 本发明实施例中,可选地,该处理器1101执行该指令用于将转发设备恢复至执行 操作集合包内的各操作指令前的状态,具体为:主动执行回滚操作,恢复至执行该操作集合 包内的各操作指令前的状态。
[0166] 因此,本发明实施例的转发设备,在控制转发分离架构下的系统中,当某一事务需 要执行时,转发设备接收网络控制器发送的操作集合包,该操作集合包包含:原子操作标 识、以及至少一个操作指令。该原子操作标识用于唯一标识该需执行的网络事务。该网络 事务对应至少一该操作集合包。在转发设备执行该操作集合包内各操作指令时,转发设备 根据该操作指令的操作结果,向网络控制器反馈执行状态消息,该执行状态消息包含该原 子操作标识、以及转发设备对该操作指令的操作结果。如果转发设备对任一操作指令的操 作结果为:执行失败,则恢复至执行该操作集合包内的各操作指令前的状态,有利于减少网 络事务不完整执行的情况,即有利于减少部分设备执行成功部分设备执行失败的情况。
[0167] 由上可见,相比与现有技术仅能用Barrier命令以保证转发设备按顺序执行操作 指令,却无法避免网络事务部分不完整执行的情况。本发明技术方案对需执行的网络事务 进行标识,转发设备与网络控制器进行通信,向网络控制器反馈该操作集合包内操作指令 的操作结果。当任一转发设备执行操作集合包中的指令失败时,主动执行回滚操作,或根据 网络控制器发来的回滚控制指令执行回滚操作,使得该转发设备恢复至执行该操作指令前 的状态,有利于减少网络事务不完整执行的情况,即减少部分设备执行成功部分设备执行 失败的情况。
[0168] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可 借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上 述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该 计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指 令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施 例或者实施例的某些部分所述的方法。
[0169] 以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施 方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范 围之内。
【权利要求】
1. 一种网络事务控制方法,所述方法应用于控制和转发分离的系统中,其特征在于,包 括: 网络控制器根据网络事务,向至少两个转发设备发送包含至少一个操作指令的操作集 合包; 各所述操作集合包分别包含:用于唯一标识所述网络事务的原子操作标识; 所述网络控制器接收各所述转发设备反馈的执行状态消息,所述执行状态消息包含: 所述原子操作标识、以及各所述转发设备对各所述操作指令的操作结果; 如果所述网络控制器根据各所述执行状态消息确定任一所述转发设备对任一所述操 作指令的操作结果为:执行失败,则: 所述网络控制器分别向各未被确定为执行失败的所述转发设备发送包含所述原子操 作标识的回滚控制指令,以指示各未被确定为执行失败的所述转发设备恢复至执行所述操 作集合包内的各所述操作指令前的状态。
2. 根据权利要求1所述的网络事务控制方法,其特征在于, 所述网络控制器根据各所述执行状态消息确定任一所述转发设备对任一所述操作指 令的操作结果为:执行失败,具体为: 所述网络控制器发送所述操作集合包后,启动定时器,如果在所述定时器超时时,未收 到某一所述转发设备发来的执行状态消息,则所述网络控制器确定未反馈执行状态消息的 所述转发设备对所述操作指令的操作结果为:执行失败; 或者,所述网络控制器根据所述执行状态消息中携带的执行失败状态消息,确定反馈 所述执行状态消息的所述转发设备对所述操作指令的操作结果为:执行失败。
3. 根据权利要求1所述的网络事务控制方法,其特征在于,所述方法还包括: 如果所述网络控制器根据各所述执行状态消息确定任一所述转发设备对任一所述操 作指令的操作结果为:执行失败,则: 所述网络控制器还向各被确定为执行失败的所述转发设备发送所述回滚控制指令。
4. 根据权利要求1至3之任一所述的网络事务控制方法,其特征在于,在所述网络控制 器根据网络事务,向至少两个转发设备发送包含至少一个操作指令的操作集合包之前,所 述方法还包括: 所述网络控制器从业务系统接收所述网络事务; 所述网络控制器将所述网络事务转换为所述操作集合包。
5. -种网络事务执行方法,所述方法应用于控制和转发分离的系统中,其特征在于,包 括: 转发设备接收网络控制器发送的操作集合包,所述操作集合包包含:原子操作标识、以 及至少一操作指令,所述原子操作标识用于唯一标识一网络事务,所述网络事务对应至少 一所述操作集合包; 所述转发设备执行各所述操作指令,向所述网络控制器反馈执行状态消息,所述执行 状态消息包含:所述原子操作标识、以及所述转发设备对所述操作指令的操作结果; 如果任一所述操作指令执行失败,所述转发设备恢复至执行所述操作集合包内的各所 述操作指令前的状态。
6. 根据权利要求5所述的网络事务执行方法,其特征在于,还包括: 所述转发设备接收所述网络控制器下发的回滚控制指令; 相应地,所述转发设备恢复至执行所述操作集合包内的各所述操作指令前的状态,具 体为: 所述转发设备根据所述网络控制器下发的回滚控制指令,恢复至执行所述操作集合包 内的各所述操作指令前的状态; 所述回滚控制指令包含:所述原子操作标识。
7. 根据权利要求5所述的网络事务执行方法,其特征在于, 所述转发设备恢复至执行所述操作集合包内的各所述操作指令前的状态,具体为: 所述转发设备主动执行回滚操作,恢复至执行所述操作集合包内的各所述操作指令前 的状态。
8. -种网络控制器,所述网络控制器应用于控制和转发分离的系统中,其特征在于,包 括: 收发单元,用于与各应用于所述控制和转发分离系统中的转发设备通信,所述通信包 括: 根据网络事务,向至少两个所述转发设备发送包含至少一个操作指令的操作集合包, 各所述操作集合包分别包含:用于唯一标识所述网络事务的原子操作标识, 以及接收各所述转发设备反馈的执行状态消息,所述执行状态消息包含:所述原子操 作标识、以及各所述转发设备对各所述操作指令的操作结果, 以及当操作结果确定单元根据各所述执行状态消息确定存在任一所述转发设备对任 一所述操作指令的操作结果为:执行失败时,还分别向各未被确定为执行失败的所述转发 设备发送包含所述原子操作标识的回滚控制指令,以指示各未被确定为执行失败的所述转 发设备恢复至执行所述操作集合包内的各所述操作指令前的状态; 所述操作结果确定单元,用于根据各所述执行状态消息确定各所述转发设备对各所述 操作指令的操作结果。
9. 根据权利要求8所述的网络控制器,其特征在于,还包括: 定时单元,所述定时单元用于在所述收发单元发送所述操作集合包后启动定时器; 所述操作结果确定单元具体用于:在所述定时单元启动的定时器超时时,如果所述收 发单元未收到某一所述转发设备发来的执行状态消息,则确定未反馈执行状态消息的所述 转发设备对所述操作指令的操作结果为:执行失败。
10. 根据权利要求8所述的网络控制器,其特征在于, 所述操作结果确定单元具体用于:根据所述执行状态消息中携带的执行失败状态消 息,确定反馈所述执行状态消息的所述转发设备对所述操作指令的操作结果为:执行失败。
11. 根据权利要求8所述的网络控制器,其特征在于, 所述收发单元还用于:在所述操作结果确定单元确定任一所述转发设备对任一所述操 作指令的操作结果为:执行失败时,向各被确定为执行失败的所述转发设备发送所述回滚 控制指令。
12. 根据权利要求8至11任一所述的网络控制器,其特征在于,还包括: 事务转换单元,用于在所述收发单元与各转发设备通信之前,从业务系统接收所述网 络事务,将所述网络事务转换为所述操作集合包。
13. -种转发设备,所述转发设备应用于控制和转发分离的系统中,其特征在于,包 括: 收发单元,用于与应用于所述控制和转发分离系统中的网络控制器通信, 所述通信包括:接收所述网络控制器发送的操作集合包、以及在状态消息确定单元确 定执行状态消息后,向所述网络控制器发送所述执行状态消息, 其中,所述操作集合包包含:原子操作标识、以及至少一操作指令,所述原子操作标识 用于唯一标识一网络事务,所述网络事务对应至少一所述操作集合包,所述执行状态消息 包含:所述原子操作标识、以及所述执行单元对所述操作指令的操作结果; 执行单元,用于执行所述操作指令; 状态消息确定单元,用于根据所述执行单元执行所述操作指令的情况,确定所述执行 状态消息; 状态恢复单元,用于如果任一所述操作指令执行失败,将所述转发设备恢复至执行所 述操作集合包内的各所述操作指令前的状态。
14. 根据权利要求13所述的转发设备,其特征在于, 所述收发单元还用于:在所述执行单元执行任一所述操作指令失败时,接收所述网络 控制器下发的回滚控制指令; 所述状态恢复单元具体用于:根据所述网络控制器下发的回滚控制指令,将所述转发 设备恢复至执行所述操作集合包内的各所述操作指令前的状态, 所述回滚控制指令包含:所述原子操作标识。
15. 根据权利要求13所述的转发设备,其特征在于, 所述状态恢复单元具体用于:在所述执行单元执行任一所述操作指令失败时,主动执 行回滚操作,将所述转发设备恢复至执行所述操作集合包内的各所述操作指令前的状态。
【文档编号】H04L12/26GK104125089SQ201310155850
【公开日】2014年10月29日 申请日期:2013年4月28日 优先权日:2013年4月28日
【发明者】张大成, 夏寅贲 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1