一种虚拟设备端口迁移的方法和接口板的制作方法

文档序号:6371998阅读:143来源:国知局
专利名称:一种虚拟设备端口迁移的方法和接口板的制作方法
技术领域
本申请涉及通信技术领域,特别涉及一种虚拟设备端口迁移的方法和接口板。
背景技术
通过虚拟化技术将一台物理设备划分成多台逻辑设备,每台逻辑设备就称为一台虚拟设备(Virtual Device, VD)0每台VD都有支撑自身系统运行的硬件和软件资源,包括独立的接口、CPU等,独立维护的路由和转发表项,独立的管理员和接入用户,独立的启动文件和配置文件,从而保证了 VD的创建、运行、重启、删除,并不会影响其它VD的业务和配置。对于用户来说,每台VD就是一台独立的设备。设备支持VD功能后,整台物理设备就是一个VD,称为缺省VD,当用户登录物理设备时,实际登录的就是缺省VD。用户在物理设备上的配置实质就是对缺省VD的配置。缺省VD的名称为Admin,编号为I。缺省VD不需要创建,不能被删除。与缺省VD相对应的是非缺省VD,即在该物理设备上新创建的VD。产品要支持VD特性,需要在同一块单板上同时下发多个VD的配置,并同时生效;具体的,从不同端口进入的报文,根据端口所在VD,去匹配该VD的配置和转发表项进行处理。对于路由器一般可以方便地进行设置,而不会有冲突,而绝大多数的交换机由于受芯片制约,不同VD的配置可能是冲突的,譬如L2entry,Fib等,不能做到冲突的表项同时下发、分别匹配,因此交换机通常是按照芯片来划分VD端口的,规定同一个芯片所有外部端口只属于一个VD,这个VD成为有效VD时,在此芯片上只下发和这个VD相关的配置和转发表项,解决了不同VD之间可能的配置冲突问题。VD端口迁移,指用户配置将属于一个VD的端口迁移到另一个VD。此时迁移前的VD中会先报接口拔出,接口配置会被删除;其他芯片需要将这块芯片上的VD内的全局数据删除,再下发迁移后的VD内的全局数据;接着在迁移后的VD中报接口插入,下发迁移后的VD的接口配置,从而完成整个VD端口迁移操作。现有实现时,单板上同时运行着多个VD,VD端口迁移过程中,平台通常不关心这个过程,而由驱动去完成数据的更新。如驱动将单板上所有VD的数据记录下来,当发生VD迁移时,驱动不需要上层软件的参与,根据自己的记录,就可以完成VD数据的更新。但上述解决方案对内存的需求将非常大。譬如一块单板上运行着多个VD,包含多块芯片,每个VD都需要保存各自的数据,每个芯片也需要有对应的数据,对于内存的需求是非常大的;主控板需要处理各种协议,一般内存较大,但是接口板为成本考虑,内存无法满足要求。其次,通常情况,芯片需要设置的全局表项规模往往很大,如Fib,arp等,驱动一般不需要单独记录。如果采用上述方案同样的数据上层软件和底层驱动都要完整的记录一份,造成大量的冗余数据,且容易造成上下层不一致的现象,同时也是很多交换机内存无法承受的。

发明内容
有鉴于此,本申请提供一种虚拟设备端口迁移的方法和接口板,能够在节省内存占用的情况下,实现端口虚拟设备端口的迁移。为解决上述技术问题,本发明的技术方案是这样实现的一种虚拟设备端口迁移的方法,应用于交换机的任一接口板上,所述接口板包括多个芯片,所述接口板将各芯片的所有端口作为一个端口组,当创建VD时,以端口组为单位为创建的各VD添加端口,当所述各VD中第一 VD的任一端口组的端口迁移到第二 VD时,包括所述接口板获知迁移所述第一 VD的所述端口组的端口时,将所述第一 VD对应的全局数据进行备份,并根据当前备份的全局数据删除所述端口组对应的芯片上的全局数据;获知为所述第二 VD添加所述端口组的端口时,将所述第二 VD对应的全局数据进行备份,并根据当前备份的全局数据在所述端口组对应的芯片上下发全局数据。
一种接口板,可应用于包括多个接口板的交换机上,所述接口板包括多个芯片,所述接口板包括创建单元、配置单元、获知单元、备份单元和处理单元;所述创建单元,用于创建VD ;所述配置单元,用于将所述各芯片的所有端口作为一个端口组,当所述创建单元创建VD时,以端口组为单位为创建的各VD添加端口 ;所述获知单元,用于获知迁移任一端口组的端口 ;获知添加任一端口组的端口 ;所述备份单元,用于当所述获知单元获知迁移所述创建VD中的第一 VD的所述端口组的端口时,将所述第一 VD对应的全局数据进行备份;当所述获知单元获知为所述创建的VD中的第二 VD添加所述端口组的端口时,将所述第二 VD对应的全局数据进行备份;所述处理单元,用于当所述获知单元获知迁移所述第一 VD的所述端口组的端口,且所述备份单元将所述第一 VD对应的全局数据进行备份时,根据当前备份的全局数据删除所述端口组对应的芯片上的全局数据;当所述获知单元获知为所述第二 VD添加所述端口组的端口,且所述备份单元将所述第二 VD对应的全局数据进行备份时,根据当前备份的全局数据在所述端口组对应的芯片上下发全局数据。综上所述,本申请通过将各芯片的所有端口作为一个端口组,以端口组为单位为各VD分配端口,任一端口组的端口迁移时,将该端口组的所有端口看做一个整体,备份迁移前所在VD的全局数据,将该端口组所对应的芯片上的全局数据删除,再备份迁移后的VD的全局数据,根据当前备份的全局数据在所述端口组对应的芯片上下发全局数据,能够在节省内存占用的情况下,实现端口虚拟设备端口的迁移。


图I为本发明实施例中第一 VD的任一端口组的端口迁移到第二 VD的方法流程图;图2为本发明具体实施例中第一 VD的任一端口组的端口迁移到第二 VD的方法流程图;图3为本发明具体实施例中基于上述方法技术的接口板结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。本发明实施例中提出一种虚拟设备端口迁移的方法,该应用于交换机的任一接口板上,所述接口板包括多个芯片,该接口板将各芯片的所有端口作为一个端口组,当创建VD时,以端口组为单位为创建的各VD添加端口,即一个芯片的所有端口只属于一个VD,但是一个VD可以包括多个芯片的端口。以各VD中任意两个VD分别为第一 VD和第二 VD的端口迁移为例。参见图I,图I为本发明实施例中第一VD的任一端口组的端口迁移到第二 VD的方法流程图。具体步骤为步骤101,接口板获知迁移第一 VD的任一端口组的端口时,将所述第一 VD对应的全局数据进行备份,并根据当前备份的全局数据删除所述端口组对应的芯片上的全局数
据。为第一 VD分配的端口组可以为一个也可以为多个,在具体实现时,当第一 VD分配的端口组为多个,且要迁移多个端口组时,同迁移一个端口组的操作类似,这里无论第一 VD分配了几个端口组,以迁移一个端口组为例来描述端口组迁移的过程。无论分配几个端口组,VD的各芯片上的全局数据都是一样的,因此本步骤中,需要备份的全局数据为第一 VD的全局数据。步骤102,接口板获知为所述第二 VD添加所述端口组的端口时,将所述第二 VD对应的全局数据进行备份,并根据当前备份的全局数据在所述端口组对应的芯片上下发全局数据。当所述端口组的端口要分配给第二 VD时,将第二 VD的全局数据下发到该端口组对应的芯片。参见图2,图2为本发明具体实施例中第一 VD的任一端口组的端口迁移到第二 VD的方法流程图。具体步骤为步骤201,在接口板上创建第一 VD和第二 VD时,接口板将其上各芯片的所有端口作为一个端口组,并以端口组为单位为第一 VD和第二 VD添加端口。假设该接口板上有10芯片,则有10个端口组,分别为端口组I、端口组
2......端口组10,创建了 5个VD,分别为第一 VD、第二 VD......第五VD,以其中两个VD :
第一 VD和第二 VD为例,将端口组I和端口组2所对应的端口分配给第一 VD,将端口组3对应的端口分配给第二 VD,其他VD的端口分配类似这里不再详细赘述。步骤202,接口板分别绑定记录第一 VD和第二 VD的标识、对应的端口组标识、全局数据和分配的各端口的端口配置。对于第一 VD绑定记录的内容为第一 VD标识、端口组I、端口组I中各端口的端口配置、端口组2、端口组2中各端口的端口配置,以及第一 VD的全局数据;对于第二 VD绑定记录的内容为第二 VD标识、端口组3、端口组3中各端口的端口配置、以及第二 VD的全局数据。步骤203,当获知迁移第一 VD的任一端口组的端口时,根据记录的所述端口组的各端口的端口配置删除所述端口组对应芯片上的端口配置,获知所述端口组中各端口拔出。
假设迁移的是端口组1,则根据记录的端口配置将端口组I所对应的芯片上的端口配置。本发明具体实施例中,只有上层平台记录一份全局数据和端口配置,驱动并不需要记录,节省了内存。当将要进行端口迁移时,驱动将将要进行的迁移通知上层平台,上层平台只记录了 VD与端口之间的关系,即能够识别端口,因此可以直接将端口组所对应的芯片上的端口配置删除。步骤204,接口板根据所述绑定记录获知所述第一 VD的标识对应的全局数据,并将该全局数据进行备份,根据当前备份的全局数据删除所述端口组对应的芯片上的全局数据,并将当前备份的全局数据删除。上层平台不能识别端口组对应的芯片,不知道需删除哪个芯片上的全局数据,只能将整个VD的全局数据都删除,因此,本发明具体实施例中通过将上层平台中记录的全局数据进行备份,根据备份的数据在所述端口组中对应的芯片上的全局数据删除。具体实现时将端口组I所对应的芯片上的全局数据删除,而端口组2所对应的芯片上的全局数据不变。
步骤205,接口板对第一 VD的所述端口组的各端口的调用进行统计。步骤206,预设时间内,确定所述统计的结果是否不变,如果是,执行步骤207,否贝U,执行步骤205。步骤205和步骤206通过对端口组I的各端口的调用进行统计,来确定端口组I所对应的芯片上的全局数据是否完全删除,其中预设时间根据具体情况设定,如10s。步骤207,接口板获知为所述第二 VD添加所述端口组的端口时,根据所述绑定记录获知所述第二 VD的标识对应的全局数据,将该全局数据进行备份,根据当前备份的全局数据在所述端口组对应的芯片上下发全局数据,并将当前备份的全局数据删除。同上删除实现类似,上层平台不知道端口组所在的芯片,将第二 VD的全局数据备份,驱动通过备份的数据在所述端口组对应的芯片上下发全局数据。本步骤中在具体实现时,可以将全局数据分段备份,可以备份一段数据,根据该备份的一段数据删除芯片上的数据,删除芯片上的数据结束时,即可以将备份的数据删除。步骤208,接口板下发各所述端口组中各端口的端口配置,获知所述端口组中各端口插入,并更新对应的绑定记录。本步骤中获知端口组中各端口插入时,记录的端口信息应该进行相应的更新,更新后第一 VD和第二 VD绑定记录的内容如下对于第一 VD更新后绑定记录的内容为第一 VD标识、端口组2、端口组2中各端口的端口配置,以及第一 VD的全局数据;对于第二 VD更新后绑定记录的内容为第二 VD标识、端口组I、端口组I中各端口的端口配置、端口组3、端口组3中各端口的端口配置、以及第二 VD的全局数据。本发明具体实施例中基于同样的发明构思,还提出一种接口板,可应用于包括多个接口板的交换机上,所述接口板包括多个芯片。参见图3,图3为本发明具体实施例中基于上述方法技术的接口板结构示意图。该接口板包括创建单元301、配置单元302、获知单元303、备份单元304和处理单元305。创建单元301,用于创建VD。配置单元302,用于将所述各芯片的所有端口作为一个端口组,当创建单元301创建VD时,以端口组为单位为创建的各VD添加端口。获知单元303,用于获知迁移任一端口组的端口 ;获知添加任一端口组的端口。备份单元304,用于当获知单元303获知迁移所述创建VD中的第一 VD的所述端口组的端口时,将所述第一 VD对应的全局数据进行备份;当获知单元303获知为所述创建的VD中的第二 VD添加所述端口组的端口时 ,将所述第二 VD对应的全局数据进行备份。处理单元305,用于当获知单元303获知迁移所述第一 VD的所述端口组的端口,且备份单元304将所述第一 VD对应的全局数据进行备份时,根据当前备份的全局数据删除所述端口组对应的芯片上的全局数据;当获知单元303获知为所述第二VD添加所述端口组的端口,且备份单元304将所述第二 VD对应的全局数据进行备份时,根据当前备份的全局数据在所述端口组对应的芯片上下发全局数据。较佳地,配置单元302,进一步用于以端口组为单位为创建的各VD添加端口时,绑定记录所述VD标识、对应端口组标识和全局数据。备份单元304,用于根据配置单元302的绑定记录获知所述第一 VD的标识对应的全局数据,并将该全局数据进行备份;根据配置单元302的绑定记录获知所述第二 VD的标识对应的全局数据,并将该全局数据进行备份。较佳地,处理单元305,进一步用于当获知单元303获知迁移所述第一 VD的所述端口组的端口时,根据记录的所述端口组的各端口的端口配置删除所述端口组对应芯片上的端口配置,并获知所述端口组中各端口拔出;当执行所述根据备份的全局数据在所述端口组对应的芯片上下发全局数据操作之后,在所述端口组对应的芯片上下发各所述端口组中各端口的端口配置,获知所述端口组中各端口插入。较佳地,配置单元302,进一步用于绑定记录各端口组标识和该端口组中各端口的端口配置;当处理单元305获知所述端口组中各端口插入时,更新所述端口组对应的绑定记录。较佳地,备份单元304,进一步用于处理单元305根据当前备份的全局数据删除所述端口组对应的芯片上的全局数据时,将当前备份的全局数据删除;当处理单元305根据当前备份的全局数据在所述端口组对应的芯片上下发全局数据时,将当前备份的全局数据删除。较佳地,该接口板进一步包括确定单元306。确定单元306,用于在处理单元305根据当前备份的全局数据删除所述端口组对应的芯片上的全局数据之后,获知单元304获知为所述第二 VD添加所述端口组的端口之前,对所述第一 VD的所述端口组的各端口的调用进行统计,预设时间内,若所述统计的结果相同,则触发获知单元304执行所述获知为所述第二 VD添加所述端口组的端口操作;否则继续统计,直到预设时间内统计结果不变,触发获知单元304执行所述获知为所述第二VD添加所述端口组的端口操作。上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中通过将各芯片的所有端口作为一个端口组,以端口组为单位为各VD分配端口,任一端口组的端口迁移时,将该端口组的所有端口看做一个整体,备份迁移前所在VD的全局数据,将该端口组所对应的芯片上的全局数据删除,再备份迁移后的VD的全局数据,根据当前备份的全局数据在所述端口组对应的芯片上下发全局数据,能够在节省内存占用的情况下,实现端口虚拟设备端口的迁移。并增加判断机制,保证所述端口组对应的芯片上的迁移前的VD的全局数据完全删除,再下发迁移后的VD的全局数据。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。
权利要求
1.一种虚拟设备端ロ迁移的方法,应用于交換机的任一接ロ板上,所述接ロ板包括多个芯片,其特征在于,所述接ロ板将各芯片的所有端ロ作为ー个端ロ组,当创建虚拟设备VD时,以端ロ组为单位为创建的各VD添加端ロ,当所述各VD中第一 VD的任一端ロ组的端ロ迁移到第二 VD时,包括 所述接ロ板获知迁移所述第一 VD的所述端ロ组的端ロ吋,将所述第一 VD对应的全局数据进行备份,井根据当前备份的全局数据删除所述端ロ组对应的芯片上的全局数据; 获知为所述第二 VD添加所述端ロ组的端ロ吋,将所述第二 VD对应的全局数据进行备份,井根据当前备份的全局数据在所述端ロ组对应的芯片上下发全局数据。
2.根据权利要求I所述的方法,其特征在于,所述以端ロ组为单位为创建的各VD添加端ロ时,所述方法进ー步包括绑定记录所述VD标识、对应的端ロ组标识和全局数据; 所述将所述第一 VD对应的全局数据进行备份包括根据所述绑定记录获知所述第一VD的标识对应的全局数据,并将该全局数据进行备份; 所述将所述第二 VD对应的全局数据进行备份包括根据所述绑定记录获知所述第二VD的标识对应的全局数据,并将该全局数据进行备份。
3.根据权利要求2所述的方法,其特征在于,所述以端ロ组为单位为创建的各VD添加端ロ时,所述方法进ー步包括绑定记录各端ロ组标识和该端ロ组中各端ロ的端ロ配置; 所述接ロ板获知迁移所述第一 VD的所述端ロ组的端ロ之后,将所述第一 VD对应的全局数据进行备份之前所述方法进ー步包括根据记录的所述端ロ组的各端ロ的端ロ配置删除所述端ロ组对应芯片上的端ロ配置,并获知所述端ロ组中各端ロ拔出; 所述根据备份的全局数据在所述端ロ组对应的芯片上下发全局数据之后,所述方法进一歩包括在所述端ロ组对应的芯片上下发各所述端ロ组中各端ロ的端ロ配置,获知所述立而ロ组中各ま而ロ摘入。
4.根据权利要求3所述的方法,其特征在干, 所述获知所述端ロ组中各端ロ插入吋,所述方法进ー步包括更新所述端ロ组对应的绑定记录。
5.根据权利要求1-4任意ー项中所述的方法,其特征在干, 所述根据当前备份的全局数据删除所述端ロ组对应的芯片上的全局数据之后,所述方法进ー步包括将当前备份的全局数据删除; 所述根据当前备份的全局数据在所述端ロ组对应的芯片上下发全局数据之后,所述方法进ー步包括将当前备份的全局数据删除。
6.根据权利要求1-4任意ー项中所述的方法,其特征在于,在所述根据当前备份的全局数据删除所述端ロ组对应的芯片上的全局数据之后,所述获知为所述第二 VD添加所述端ロ组的端ロ之前,所述方法进ー步包括 对所述第一 VD的所述端ロ组的各端ロ的调用进行统计,预设时间内,若所述统计的结果相同,则执行所述获知为所述第二 VD添加所述端ロ组的端ロ操作及后续步骤;否则继续统计,直到预设时间内统计结果不变,执行所述获知为所述第二 VD添加所述端ロ组的端ロ操作及后续步骤。
7.一种接ロ板,可应用于包括多个接ロ板的交换机上,所述接ロ板包括多个芯片,其特征在于,所述接ロ板包括创建单元、配置単元、获知单元、备份单元和处理单元;所述创建単元,用于创建虚拟设备VD ; 所述配置単元,用于将所述各芯片的所有端ロ作为ー个端ロ组,当所述创建单元创建VD时,以端ロ组为单位为创建的各VD添加端ロ ; 所述获知单元,用于获知迁移任一端ロ组的端ロ ;获知添加任一端ロ组的端ロ ; 所述备份単元,用于当所述获知単元获知迁移所述创建VD中的第一 VD的所述端ロ组的端ロ吋,将所述第一 VD对应的全局数据进行备份;当所述获知単元获知为所述创建的VD中的第二 VD添加所述端ロ组的端ロ吋,将所述第二 VD对应的全局数据进行备份; 所述处理単元,用于当所述获知単元获知迁移所述第一 VD的所述端ロ组的端ロ,且所述备份単元将所述第一 VD对应的全局数据进行备份时,根据当前备份的全局数据删除所述端ロ组对应的芯片上的全局数据;当所述获知单元获知为所述第二 VD添加所述端ロ组的端ロ,且所述备份单元将所述第二 VD对应的全局数据进行备份时,根据当前备份的全局数据在所述端ロ组对应的芯片上下发全局数据。
8.根据权利要求7所述的接ロ板,其特征在干, 所述配置単元,进ー步用于以端ロ组为单位为创建的各VD添加端ロ吋,绑定记录所述VD标识、对应端ロ组标识和全局数据; 所述备份単元,用于根据所述配置単元的绑定记录获知所述第一 VD的标识对应的全局数据,并将该全局数据进行备份;根据所述配置単元的绑定记录获知所述第二 VD的标识对应的全局数据,并将该全局数据进行备份。
9.根据权利要求8所述的接ロ板,其特征在干, 所述处理単元,进ー步用于当所述获知単元获知迁移所述第一 VD的所述端ロ组的端ロ时,根据记录的所述端ロ组的各端ロ的端ロ配置删除所述端ロ组对应芯片上的端ロ配置,并获知所述端ロ组中各端ロ拔出;当执行所述根据备份的全局数据在所述端ロ组对应的芯片上下发全局数据操作之后,在所述端ロ组对应的芯片上下发各所述端ロ组中各端ロ的端ロ配置,获知所述端ロ组中各端ロ插入。
10.根据权利要求9所述的接ロ板,其特征在干, 所述配置単元,进ー步用于绑定记录各端ロ组标识和该端ロ组中各端ロ的端ロ配置;当所述处理单元获知所述端ロ组中各端ロ插入时,更新所述端ロ组对应的绑定记录。
11.根据权利要求7-10任意一项中所述的接ロ板,其特征在干, 所述备份単元,进ー步用于所述处理单元根据当前备份的全局数据删除所述端ロ组对应的芯片上的全局数据时,将当前备份的全局数据删除;当所述处理単元根据当前备份的全局数据在所述端ロ组对应的芯片上下发全局数据时,将当前备份的全局数据删除。
12.根据权利要求7-10任意一项中所述的接ロ板,其特征在于, 所述接ロ板进ー步包括确定单元; 所述确定単元,用于在所述处理単元根据当前备份的全局数据删除所述端ロ组对应的芯片上的全局数据之后,所述获知单元获知为所述第二 VD添加所述端ロ组的端ロ之前,对所述第一 VD的所述端ロ组的各端ロ的调用进行统计,预设时间内,若所述统计的结果相同,则触发所述获知单元执行所述获知为所述第二 VD添加所述端ロ组的端ロ操作;否则继续统计,直到预设时间内统计结果不变,触发所述获知单元执行所述获知为所述第二 VD添加所述端ロ组的端ロ操作。
全文摘要
本申请公开了一种虚拟设备端口迁移的方法,该方法包括接口板获知迁移所述第一VD的所述端口组的端口时,将所述第一VD对应的全局数据进行备份,根据当前备份的全局数据删除所述端口组对应的芯片上的全局数据;获知为所述第二VD添加所述端口组的端口时,将所述第二VD对应的全局数据进行备份,并根据当前备份的全局数据在所述端口组对应的芯片上下发全局数据。基于同样的发明构思,本发明还提出一种接口板,能够在节省内存占用的情况下,实现端口虚拟设备端口的迁移。
文档编号G06F3/06GK102760047SQ20121021150
公开日2012年10月31日 申请日期2012年6月21日 优先权日2012年6月21日
发明者王明辉 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1