一种用于对虚拟交换机部件进行初始化的方法和装置制造方法及图纸

技术编号:20081270 阅读:28 留言:0更新日期:2019-01-15 02:40
本发明专利技术公开了用于对虚拟交换机部件进行初始化的方法和装置。该方法包括:接收由软件定义网络的控制器部件发送的、用于控制软件定义网络的虚拟交换机部件的流表中的规则,并且将流表中的规则存储到用于运行虚拟交换机部件的服务器;在对虚拟交换机部件进行初始化的时候,读取服务器存储的流表中的规则,以对虚拟交换机部件进行初始化。通过将流表中的规则存储到运行虚拟交换机部件的服务器,使得虚拟交换机部件减小对控制器的依赖。由于服务器本地存储了流表中的规则,因此避免了丢失流表中的规则,虚拟交换机部件仍然可以正常工作,并正确的处理和转发数据。当因服务器重启导致流表丢失后,可以首先从服务器本地获取流表规则,加快网络恢复速度。

A Method and Device for Initializing Virtual Switch Components

The invention discloses a method and device for initializing a virtual switch component. The method includes: receiving rules from flow tables of virtual switch components for controlling software defined network sent by controller components of software defined network, and storing rules in flow tables to servers for running virtual switch components; reading rules in flow tables stored by servers when initializing virtual switch components to realize virtual reality Switch components are initialized. By storing the rules in the flow table to the server running the virtual switch components, the virtual switch components reduce their dependence on the controller. Because the server stores the rules in the flow table locally, it avoids losing the rules in the flow table, and the virtual switch components can still work properly, and process and forward data correctly. When the flow table is lost due to server restart, the flow table rules can be obtained locally from the server to speed up network recovery.

【技术实现步骤摘要】
一种用于对虚拟交换机部件进行初始化的方法和装置
本专利技术涉及软件定义网络领域,尤指一种用于对虚拟交换机部件进行初始化的方法和装置。
技术介绍
SDN(SoftwareDefinedNetwork,软件定义网络)在当今云计算平台设计和实现中非常重要的一部分功能,在SDN网络的实现中,Controller(控制器部件)及Openvswitch(虚拟交换机部件)是其中很重要的两个实体。Controller在网络中控制所有的Openvswitch,并给Openvswitch下发指令,将Openvswitch转发规则通过流表发送给Openvswitch。Openvswitch用来实现Controller指令,根据Controller下发的流表对Openvswitch的数据包进行正确的处理,包括转发、丢弃、设定优先级等。然而在这种类型的网络模型设计下,Controller的重要性非常高,流表信息完全由Controller保存。一旦Controller出现故障,Openvswitch就无法获取流表信息更新,在出现Openvswitch断电的情况下,流表信息会随之丢失,虚拟机网络通信中断,影响云平台业务。此外,在出现计算节点(即Openvswitch所在的节点)出现大量重启的情况下,Controller需要将所有的流表信息全部下发至Openvswitch,耗时较长,业务恢复缓慢,对Controller的压力较大,增加了业务恢复的恢复时间目标。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种用于对虚拟交换机部件进行初始化的方法和装置,其能够避免丢失流表中的规则,并且加快网络恢复速度。为了达到本专利技术目的,本专利技术提供了一种用于对虚拟交换机部件进行初始化的方法,该方法包括下列步骤:接收由软件定义网络的控制器部件发送的、用于控制软件定义网络的虚拟交换机部件的流表中的规则,并且将流表中的规则存储到用于运行虚拟交换机部件的服务器;在对虚拟交换机部件进行初始化的时候,读取服务器存储的流表中的规则,以对虚拟交换机部件进行初始化。进一步地,在一个可选的实施例中,在对虚拟交换机部件进行初始化的时候,读取服务器存储的流表中的规则,以对虚拟交换机部件进行初始化的步骤,包括:在对虚拟交换机部件进行初始化的时候,判断虚拟交换机部件是否是首次进行初始化:如果虚拟交换机部件是首次进行初始化,则读取服务器存储的流表中的规则,以对虚拟交换机部件进行初始化,并且在对虚拟交换机部件进行虚拟化之后将虚拟交换机部件标记为并非首次进行虚拟化。进一步地,在一个可选的实施例中,读取服务器存储的流表中的规则,以对虚拟交换机部件进行初始化的步骤还包括:如果虚拟交换机部件并非首次进行初始化,则判断虚拟交换机部件是否能够与控制器部件进行通信;如果虚拟交换机部件能够与控制器部件进行通信,则读取在服务器存储的流表中的规则,并且向控制器部件查询服务器存储的流表中的规则与由控制器部件最新发送的流表中的规则是否相同;如果查询到服务器存储的流表中的规则与由控制器部件最新发送的流表中的规则相同,则采用服务器存储的流表中的规则对虚拟交换机部件进行初始化;如果查询到服务器存储的流表中的规则与由控制器部件最新发送的流表中的规则不同,则采用由控制器部件最新发送的流表中的规则来更新服务器存储的流表中的规则,并且采用更新后的流表中的规则对虚拟交换机部件进行初始化。进一步地,在一个可选的实施例中,读取服务器存储的流表中的规则,以对虚拟交换机部件进行初始化的步骤还包括:如果判断虚拟交换机部件与控制器部件不能进行通信,则读取并且采用服务器存储的流表中的规则以对虚拟交换机部件进行初始化,并且尝试与控制器部件进行通信。进一步地,在一个可选的实施例中,读取服务器存储的流表中的规则,以对虚拟交换机部件进行初始化的步骤还包括:当尝试与控制器部件进行通信使得虚拟交换机部件与控制器成功通信之后,读取在服务器存储的流表中的规则,并且向控制器部件查询服务器存储的流表中的规则与由控制器部件最新发送的流表中的规则是否相同;如果查询到服务器存储的流表中的规则与由控制器部件最新发送的流表中的规则不同,则采用由控制器部件最新发送的流表中的规则更新服务器存储的流表中的规则。另一方面,本专利技术实施例提供了一种用于对虚拟交换机部件进行初始化的装置,该装置包括规则存储模块以及规则读取与初始化模块;其中,规则存储模块用于:接收由软件定义网络的控制器部件发送的、用于控制软件定义网络的虚拟交换机部件的流表中的规则,并且将流表中的规则存储到用于运行虚拟交换机部件的服务器;规则读取与初始化模块用于:在对虚拟交换机部件进行初始化的时候,读取服务器存储的流表中的规则,以对虚拟交换机部件进行初始化。进一步地,在一个可选的实施例中,规则读取与初始化模块用于:在对虚拟交换机部件进行初始化的时候,判断虚拟交换机部件是否是首次进行初始化:如果虚拟交换机部件是首次进行初始化,则读取服务器存储的流表中的规则,以对虚拟交换机部件进行初始化,并且在对虚拟交换机部件进行虚拟化之后将虚拟交换机部件标记为并非首次进行虚拟化。进一步地,在一个可选的实施例中,规则读取与初始化模块还用于:如果虚拟交换机部件并非首次进行初始化,则判断虚拟交换机部件是否能够与控制器部件进行通信;如果虚拟交换机部件能够与控制器部件进行通信,则读取在服务器存储的流表中的规则,并且向控制器部件查询服务器存储的流表中的规则与由控制器部件最新发送的流表中的规则是否相同;如果查询到服务器存储的流表中的规则与由控制器部件最新发送的流表中的规则相同,则采用服务器存储的流表中的规则对虚拟交换机部件进行初始化;如果查询到服务器存储的流表中的规则与由控制器部件最新发送的流表中的规则不同,则采用由控制器部件最新发送的流表中的规则来更新服务器存储的流表中的规则,并且采用更新后的流表中的规则对虚拟交换机部件进行初始化。进一步地,在一个可选的实施例中,规则读取与初始化模块还用于:如果判断虚拟交换机部件与控制器部件不能进行通信,则读取并且采用服务器存储的流表中的规则以对虚拟交换机部件进行初始化,并且尝试与控制器部件进行通信。进一步地,在一个可选的实施例中,规则读取与初始化模块还用于:当尝试与控制器部件进行通信使得虚拟交换机部件与控制器成功通信之后,读取在服务器存储的流表中的规则,并且向控制器部件查询服务器存储的流表中的规则与由控制器部件最新发送的流表中的规则是否相同;如果查询到服务器存储的流表中的规则与由控制器部件最新发送的流表中的规则不同,则采用由控制器部件最新发送的流表中的规则更新服务器存储的流表中的规则。本专利技术实施例的有益效果在于,通过将流表中的规则存储到运行虚拟交换机部件的服务器,使得虚拟交换机部件减小对控制器的依赖,并可以在一定程度上脱离控制器,由于服务器本地存储了流表中的规则,因此避免了丢失流表中的规则,因此虚拟交换机部件仍然可以正常工作,并正确的处理和转发数据。当因服务器重启导致流表丢失后,可以首先从服务器本地获取流表规则,加快网络恢复速度。之后,再通过与控制器之间的通信,将流表规则进行更新。通过这种方法,降低了业务恢复的恢复时间目标(RecoveryTimeObject,简称RTO),减小了对控制器的压力。本本文档来自技高网...

【技术保护点】
1.一种用于对虚拟交换机部件进行初始化的方法,其特征在于,所述方法包括下列步骤:接收由软件定义网络的控制器部件发送的、用于控制所述软件定义网络的虚拟交换机部件的流表中的规则,并且将所述流表中的规则存储到用于运行虚拟交换机部件的服务器;在对所述虚拟交换机部件进行初始化的时候,读取所述服务器存储的流表中的规则,以对所述虚拟交换机部件进行初始化。

【技术特征摘要】
1.一种用于对虚拟交换机部件进行初始化的方法,其特征在于,所述方法包括下列步骤:接收由软件定义网络的控制器部件发送的、用于控制所述软件定义网络的虚拟交换机部件的流表中的规则,并且将所述流表中的规则存储到用于运行虚拟交换机部件的服务器;在对所述虚拟交换机部件进行初始化的时候,读取所述服务器存储的流表中的规则,以对所述虚拟交换机部件进行初始化。2.根据权利要求1所述的方法,其中,所述在对所述虚拟交换机部件进行初始化的时候,读取所述服务器存储的流表中的规则,以对所述虚拟交换机部件进行初始化的步骤,包括:在对所述虚拟交换机部件进行初始化的时候,判断所述虚拟交换机部件是否是首次进行初始化:如果所述虚拟交换机部件是首次进行初始化,则读取所述服务器存储的流表中的规则,以对所述虚拟交换机部件进行初始化,并且在对所述虚拟交换机部件进行虚拟化之后将所述虚拟交换机部件标记为并非首次进行虚拟化。3.根据权利要求2所述的方法,其特征在于,所述读取所述服务器存储的流表中的规则,以对所述虚拟交换机部件进行初始化的步骤还包括:如果所述虚拟交换机部件并非首次进行初始化,则判断所述虚拟交换机部件是否能够与所述控制器部件进行通信;如果所述虚拟交换机部件能够与所述控制器部件进行通信,则读取在所述服务器存储的流表中的规则,并且向所述控制器部件查询所述服务器存储的流表中的规则与由所述控制器部件最新发送的流表中的规则是否相同;如果查询到所述服务器存储的流表中的规则与由所述控制器部件最新发送的流表中的规则相同,则采用所述服务器存储的流表中的规则对所述虚拟交换机部件进行初始化;如果查询到所述服务器存储的流表中的规则与由所述控制器部件最新发送的流表中的规则不同,则采用由所述控制器部件最新发送的流表中的规则来更新所述服务器存储的流表中的规则,并且采用更新后的流表中的规则对所述虚拟交换机部件进行初始化。4.根据权利要求3所述的方法,其特征在于,所述读取所述服务器存储的流表中的规则,以对所述虚拟交换机部件进行初始化的步骤还包括:如果判断所述虚拟交换机部件与所述控制器部件不能进行通信,则读取并且采用所述服务器存储的流表中的规则以对所述虚拟交换机部件进行初始化,并且尝试与所述控制器部件进行通信。5.根据权利要求4所述的方法,其特征在于,所述读取所述服务器存储的流表中的规则,以对所述虚拟交换机部件进行初始化的步骤还包括:当尝试与所述控制器部件进行通信使得所述虚拟交换机部件与所述控制器成功通信之后,读取在所述服务器存储的流表中的规则,并且向所述控制器部件查询所述服务器存储的流表中的规则与由所述控制器部件最新发送的流表中的规则是否相同;如果查询到所述服务器存储的流表中的规则与由所述控制器部件最新发送的流表中的规则不...

【专利技术属性】
技术研发人员:魏传程胡玉鹏
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1