软件定义网络中事务的处理方法、设备及系统技术方案

技术编号:13385445 阅读:60 留言:0更新日期:2016-07-21 23:30
本发明专利技术公开了一种软件定义网络(SDN)中事务的处理方法,包括:收到上层应用程序(APP)或上层控制器的多个命令时,下层控制器为所述多个命令依次申请对应的时间戳;并将对应的时间戳及所述多个命令发送给相应的转发层网络设备;所述转发层网络设备收到多个命令后,根据各命令对应的时间戳依次执行各命令。本发明专利技术同时还公开一种控制器、转发层网络设备及SDN中事务的处理系统。

【技术实现步骤摘要】
软件定义网络中事务的处理方法、设备及系统
本专利技术涉及软件定义网络(SDN,SoftwareDefinedNetwork),尤其涉及一种SDN中事务的处理方法、设备及系统。
技术介绍
面对未来业务的发展需求以及现网运维的压力,网络有进一步演进的诉求,由此提出了SDN。SDN实现了网络进一步的软件化、通用化以及集中化,原有网络中控制和管理等功能都是利用网管来实现的,而在SDN中,如图1所示,这些功能需要控制层(Controller)集中化实现。当一个Controller需要同时响应来自多个应用程序(APP,Application)的调用请求时,需要多个下层Controller共同配合才能完成整个操作,而下层Controller也需要多个网元共同配合才能完成,这种分布式事务场景,需要一种机制妥善解决。现有技术中,当应用层多个APP或控制层多个上层Controller向多个下层Controller同时递交请求时,有些下层Controller能够成功执行请求,有些则不能,这将可能导致Controller之间的数据不一致。为了保证操作在上下层Controller间的成功递交,现有技术引入回滚机制。其中,一种回滚机制包括两个阶段:第一阶段,上层Controller请求各个下层Controller做好提交准备,若下层Controller已做好准备,则返回一个同意提交的应答;此时下层Controller并不是真正执行了请求的操作,只是为操作做好了准备;第二阶段,上层Controller检查各个下层Controller的返回结果,若所有下层Controller都返回同意,则正式提交操作请求;若有任一下层Controller返回不同意,则撤销该操作请求。这种机制需要在上下层Controller接口中体现交互过程。此外,另一种简单的做法是:下层Controller不感知事务的存在,由发起请求调用的上层Controller单方面保证,当有下层Controller返回失败时,通过对成功的下层Controller执行反向操作来进行回滚。比如:创建跨域隧道(Tunnel)过程中有下层Controller返回失败时,则可以针对成功的下层Controller发起删除操作,删除刚刚完成创建的Tunnel片段。从上面的描述中可以看出,无论哪一种做法,上层Controller递交的操作请求仅在下层所有有效Controller都返回同意时才能成功执行;这样,大大降低了网络处理事务的效率。
技术实现思路
为解决现有存在的技术问题,本专利技术实施例提供一种SDN中事务的处理方法、设备及系统。本专利技术实施例提供了一种SDN中事务的处理方法,包括:收到上层APP或上层控制器的多个命令时,下层控制器为所述多个命令依次申请对应的时间戳;并将对应的时间戳及所述多个命令发送给相应的转发层网络设备;所述转发层网络设备收到多个命令后,根据各命令对应的时间戳依次执行各命令。上述方案中,所述为所述多个命令依次申请对应的时间戳,为:所述下层控制器通过时间服务器为所述多个命令依次申请对应的时间戳。上述方案中,所述根据各命令对应的时间戳依次执行各命令,包括:所述转发层网络设备根据各命令对应的时间戳及接收各命令时刻正在执行的命令对应的时间戳,确定接收的各命令是否有效;根据各有效命令对应的时间戳依次执行各有效命令。上述方案中,所述根据各命令对应的时间戳及接收各命令时刻正在执行的命令对应的时间戳,确定接收的各命令是否有效,包括:当前时刻执行的命令所对应的时间戳为第一时间戳;当前时刻收到的命令所对应的时间戳为第二时间戳;所述转发层网络设备确定所述第二时间戳大于所述第一时间戳时,确定当前时刻收到的命令有效。上述方案中,所述根据各有效命令对应的时间戳依次执行各有效命令,包括:将各有效命令放入等待队列中;将所述等待队列中抵达时长超过的最大容忍时长的命令依据时间戳的顺序依次放入执行队列中;根据所述执行队列中命令的排放顺序,依次执行所述执行队列中的各命令。上述方案中,所述方法还包括:所述转发层网络设备将各命令的执行情况实时反馈给所述下层控制器。本专利技术实施例还提供了一种控制器,包括:第一接收单元及申请单元及第一发送单元;其中,所述第一接收单元,用于接收上层APP或上层控制器的多个命令;所述申请单元,用于为所述多个命令依次申请对应的时间戳;所述第一发送单元,用于将对应的时间戳及所述多个命令发送给相应的转发层网络设备。上述方案中,所述申请单元,具体用于:通过时间服务器为所述多个命令依次申请对应的时间戳。上述方案中,所述第一接收单元,还用于接收所述转发层网络设备实时反馈的各命令的执行情况。本专利技术实施例又提供了一种转发层网络设备,包括:第二接收单元及执行单元;其中,所述第二接收单元,用于接收下层控制器发送的多个命令;所述执行单元,用于根据各命令对应的时间戳依次执行各命令。上述方案中,所述执行单元还包括:确定模块及执行模块;其中,所述确定模块,用于根据各命令对应的时间戳及接收各命令时刻正在执行的命令对应的时间戳,确定接收的各命令是否有效;所述执行模块,用于根据各有效命令对应的时间戳依次执行各有效命令。上述方案中,所述确定模块具体用于:确定所述第二时间戳大于所述第一时间戳时,确定当前时刻收到的命令有效;所述第一时间戳为当前时刻执行的命令所对应的时间戳;所述第二时间戳为当前时刻收到的命令所对应的时间戳。上述方案中,所述执行模块,具体用于:将各有效命令放入等待队列中;将所述等待队列中抵达时长超过的最大容忍时长的命令依据时间戳的顺序依次放入执行队列中;并根据所述执行队列中命令的排放顺序,依次执行所述执行队列中的各命令。上述方案中,所述转发层网络设备还包括:第二发送单元,用于将各命令的执行情况实时反馈给所述下层控制器。本专利技术实施例还提供了一种SDN中事务的处理系统,其特征在于,所述系统包括:下层控制器及多个转发层网络设备;其中,所述下层控制器,用于收到上层APP或上层控制器的多个命令时,为所述多个命令依次申请对应的时间戳;并将对应的时间戳及所述多个命令发送给相应的转发层网络设备;所述转发层网络设备,用于收到多个命令后,根据各命令对应的时间戳依次执行各命令。上述方案中,所述转发层网络设备,具体用于:根据各命令对应的时间戳及接收各命令时刻正在执行的命令对应的时间戳,确定接收的各命令是否有效;并根据各有效命令对应的时间戳依次执行各有效命令。本专利技术实施例提供的SDN中事务的处理方法、设备及系统,收到上层APP或上层controller的多个命令时,下层controller为所述多个命令依次申请对应的时间戳;并将对应的时间戳及所述多个命令发送给相应的转发层NE;转发层NE收到多个命令后,根据各命令对应的时间戳依次执行各命令,这样,无需为单条命令占用或冻结相关网元资源,如此,有效地提高了网络处理事务的效率,提高了网络资源的利用率,从而有效地降低了业务处理的时延。附图说明在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。图1为相关技术中的SDN架构示意图;图2为相关技术中的回滚本文档来自技高网
...

【技术保护点】
一种软件定义网络SDN中事务的处理方法,其特征在于,所述方法包括:收到上层应用程序APP或上层控制器的多个命令时,下层控制器为所述多个命令依次申请对应的时间戳;并将对应的时间戳及所述多个命令发送给相应的转发层网络设备;所述转发层网络设备收到多个命令后,根据各命令对应的时间戳依次执行各命令。

【技术特征摘要】
1.一种软件定义网络SDN中事务的处理方法,其特征在于,所述方法包括:收到上层应用程序APP或上层控制器的多个命令时,下层控制器为所述多个命令依次申请对应的时间戳;并将对应的时间戳及所述多个命令发送给相应的转发层网络设备;所述转发层网络设备收到多个命令后,利用所述转发层网络设备收到各命令的时刻与各命令申请时间戳的时间之间的映射关系,根据各命令对应的时间戳依次执行各命令。2.根据权利要求1所述的方法,其特征在于,所述为所述多个命令依次申请对应的时间戳,为:所述下层控制器通过时间服务器为所述多个命令依次申请对应的时间戳。3.根据权利要求1所述的方法,其特征在于,所述根据各命令对应的时间戳依次执行各命令,包括:所述转发层网络设备根据各命令对应的时间戳及接收各命令时刻正在执行的命令对应的时间戳,确定接收的各命令是否有效;根据各有效命令对应的时间戳依次执行各有效命令。4.根据权利要求3所述的方法,其特征在于,所述根据各命令对应的时间戳及接收各命令时刻正在执行的命令对应的时间戳,确定接收的各命令是否有效,包括:当前时刻执行的命令所对应的时间戳为第一时间戳;当前时刻收到的命令所对应的时间戳为第二时间戳;所述转发层网络设备确定所述第二时间戳大于所述第一时间戳时,确定当前时刻收到的命令有效。5.根据权利要求3所述的方法,其特征在于,所述根据各有效命令对应的时间戳依次执行各有效命令,包括:将各有效命令放入等待队列中;将所述等待队列中抵达时长超过最大容忍时长的命令依据时间戳的顺序依次放入执行队列中;根据所述执行队列中命令的排放顺序,依次执行所述执行队列中的各命令。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述转发层网络设备将各命令的执行情况实时反馈给所述下层控制器。7.一种转发层网络设备,其特征在于,所述转发层网络设备包括:第二接收单元及执行单元;其中,所述第二接收单元,用于接收下层控制器发送的多个命令;所述执行单元,用于利用所述转发层网络设备收到各命令的时刻与各命令申请时间戳的时间之间的映射关系,根据各命令对应的时间戳依次执行各命令。8.根据权利要求7所述的转发层网络设备,其特征在于,所述执行单元还包括:确定模块及执行模块;其中,所述确定模块,用于根据各命令对应的时间戳及接收各命令时刻正在执行的命令对应的时间戳,确定接收...

【专利技术属性】
技术研发人员:程伟强李晗王磊张婷婷
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1