专利名称:倒换单板加载中的主备倒换实现方法
技术领域:
本发明涉及通信设备中的单板保护技术,更具体的说,本发明涉及一种倒换单板加载中的主备倒换实现方法。
背景技术:
在现有通信系统中,如一些核心交换机等通信设备是由多块单板插接而成的,各个单板之间可以相互通信,同时也可以和外界通过外接接口进行通信。因此对这些通信设备中的单板进行主备保护,特别是对业务处理单板进行主备保护,使业务处理单板在发生故障时,能够及时切换到备用的业务处理单板上继续工作,这将对通信稳定性起到非常重要的作用。
另外,上述通信设备中的单板在启动和升级时需要从自身的闪存flash或后台服务器加载运行的软件和相应数据。具体的,加载时首先启动引导程序,在所述引导程序启动完成后继续进行应用程序加载,下面简单说明应用程序的加载过程单板引导程序启动后向加载服务器广播发送一个加载信息请求,该加载请求中包括请求单板的板类型、物理地址以及其他相关信息;加载服务器根据收到的单板类型和物理地址等信息向指定地址的单板回送响应,通知该单板加载服务器的地址、需要加载的文件名等信息;然后该单板就可以和加载服务器之间通过获取的信息,进行应用程序的加载文件的传输;该单板将收到的加载文件放到内存指定位置,当完成加载后,该单板跳转到指定的应用程序起始位置开始运行。
目前,对于设置主备倒换的倒换单板在加载中进行主备倒换时,通常在引导程序加载和应用程序加载中都需进行相应的倒换处理,通常在引导程序和应用程序中单板都使用相同的与倒换单板主备状态绑定的物理地址,这种情况下,在实现主备倒换时,不论是引导程序还是应用程序中都需要进行物理地址的倒换处理,例如,在当前的引导程序中,由于其物理地址与倒换单板的主备状态绑定,因此当倒换单板发生主备倒换,例如备板升为主板时,该倒换单板可能处于加载的任意一个流程点上,为此,可采用下述方法进行倒换处理1.在引导程序中定义一个倒换标志;2.当发生倒换时,则设置该倒换标志,并修改倒换单板的物理地址;3.在加载的每一个阶段结束时,判断是否设置有倒换标志,如果有则进行跳转,重新执行加载过程,并清除掉该倒换标志。
上述现有技术可实现倒换单板加载中的主备倒换,但还存在如下的缺点首先,在引导程序启动过程中发生主备倒换时需要修改倒换单板的物理地址,该修改涉及IP层相关协议处理,这些处理需要使用操作系统提供的相关接口,而在实际使用中操作系统的相关功能往往存在缺陷,这些缺陷对于应用程序可以通过软件升级解决,而对于引导程序则涉及到硬件换板;其次,由于引导程序启动中涉及多个过程,在每个过程都需要判断是否发生了主备倒换,以便进行跳转操作,而跳转是软件设计中需要尽量避免的,且每一个跳转都要考虑资源的申请释放以及信号量是否死锁等问题,造成软件处理流程复杂且容易出错,降低了系统的稳定性和开发速度。
发明内容
本发明解决的技术问题是提供一种倒换单板加载中的主备倒换实现方法,以简化倒换单板主备倒换的处理流程,提高系统的稳定性和开发速度。
为解决上述问题,本发明的倒换单板加载中的主备倒换实现方法,包括步骤A.预设对应所述倒换单板的第一物理地址、对应所述倒换单板主用状态的第二物理地址以及对应所述倒换单板备用状态的第三物理地址;B.启动所述倒换单板的引导程序,然后加载应用程序并使能主备工作状态,其中所述引导程序中设置所述倒换单板的物理地址为所述第一物理地址,所述加载的应用程序中设置所述倒换单板的物理地址为相应所述倒换单板主备状态的第二或第三物理地址;C.所述倒换单板的主备状态改变时,将所述倒换单板应用程序中设置的所述倒换单板的物理地址修改为需倒换的主备状态对应的物理地址以进行相应主备倒换。
其中,步骤B加载应用程序包括倒换单板向加载服务器发送包含所述第一物理地址信息的加载请求;加载服务器根据所述第一物理地址向该倒换单板返回应用程序的加载数据。
其中,所述第一物理地址、第二物理地址和第三物理地址均为MAC地址。
与现有技术相比,本发明具有以下有益效果首先,本发明中在引导程序设置与主备倒换无关的第一物理地址,而在应用程序设置与主备倒换状态绑定的第二或第三物理地址,即在引导程序启动过程中不需要修改物理地址,避免了现有技术存在的主备倒换时由于引导程序修改而需硬件换板的问题;其次,本发明中在引导程序中设置的物理地址与主备状态无关,引导程序启动中涉及的过程不需要像现有技术一样判断是否发生了主备倒换,以及进行跳转操作等,软件处理流程相对简单,提高了系统的稳定性和开发速度。
图1是本发明倒换单板加载中的主备倒换实现方法的流程图。
具体实施例方式
本发明的核心在于单板的引导程序和应用程序中分别使用各自的物理地址,其中引导程序设置的物理地址与倒换无关,仅与单板(位置或本身)绑定,应用程序中的物理地址与主备状态绑定,从而避免倒换实现的复杂性。
参考图1,该图是本发明单板加载中进行主备倒换的流程图。
步骤10,预设对应所述倒换单板的第一物理地址,对应所述倒换单板主用状态的第二物理地址以及对应所述倒换单板备用状态的第三物理地址,其中所述第一物理地址应用于该倒换单板的引导程序,而所述第二和第三物理地址用于该倒换单板的应用程序,也即引导程序和应用程序采用不同的物理地址。
步骤11,启动所述倒换单板的引导程序,其中所述引导程序中设置所述倒换单板的物理地址为所述第一物理地址,即引导程序中倒换单板的物理地址与主备状态无关,引导程序启动过程中不进行主备倒换,在引导程序启动后,开始加载应用程序并使能主备工作状态,具体实现时,与现有技术相同,加载应用程序时可执行如下流程第一步,倒换单板向加载服务器发送包含所述第一物理地址信息的加载请求;第二步,加载服务器根据所述第一物理地址向该倒换单板返回加载数据;需要说明的是,本发明中所述加载的应用程序中设置所述倒换单板的物理地址为相应所述倒换单板主备状态的第二或第三物理地址,也即应用程序中倒换单板的物理地址与主备状态绑定,若主备状态改变,需进行相应倒换操作。
步骤12,所述倒换单板的主备状态改变时,将所述倒换单板应用程序中设置的所述倒换单板的物理地址修改为需倒换的主备状态对应的物理地址以进行相应主备倒换,也即在引导程序加载时不进行主备倒换,而是在应用程序修改相应主备状态的物理地址进行主备倒换。
下面以具体的实施例进行说明,本实施例中以使用IP通信协议时的以太网倒换单板进行说明,前面所述的倒换单板的物理地址即MAC地址。
其中单板的引导程序的48位MAC地址的后16位如表一所示(高32位取固定值)表一
引导程序中采用非主备方式,则Flag取0,应用程序中如果工作在主备状态,则flag取1。
框号和端口号两个都和单板的物理位置相关。
槽位号对于flag=0,非主备应用下,表示物理槽位号,与物理位置相关,而当flag=1时,该槽位号为逻辑槽位号,跟随单板的主备状态倒换而切换。
本实施例中假设有2块倒换单板BRDA、BRDB,其框号取0,物理槽位分别为7、8两个槽位,端口号取0。其在引导程序为非主备工作,在应用程序中为主备工作。
启动时,设置引导程序中单板的MAC地址低16位如下BRDA00000,00111,0,00000=0000,0001,1100,0000=0×01C0BRDB00000,01000,0,00000=0000,0010,0000,0000=0×0200到应用程序中,当BRDA为备用单板,BRDB为主用单板时,BRDA的逻辑槽位号为8,BRDB的逻辑槽位号为7,则对应的MAC地址低16位如下BRDA(备用)00000,01000,1,00000=0000,0010,0010,0000=0×0220BRDB(主用)00000,00111,1,00000=0000,0001,1110,0000=0×01e0如果发生倒换,则BRDA倒换为主用单板,BRDB倒换为备用单板对应MAC地址切换如下BRDA(主用)00000,00111,1,00000=0000,0001,1110,0000=0×01e
BRDB(备用)000000,01000,1,00000=0000,0010,0010,0000=0×0220综上,本发明在引导程序启动时不需要考虑主备倒换问题,也即不需要进行程序执行的各个阶段中的跳转等操作,程序代码设计的复杂度大大降低了,在实际应用中可降低引导程序开发和测性的工作量,提高系统的稳定性和开发速度。
以上所述仅为本发明的优选实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种倒换单板加载中的主备倒换实现方法,其特征在于,包括步骤A.预设对应所述倒换单板的第一物理地址、对应所述倒换单板主用状态的第二物理地址以及对应所述倒换单板备用状态的第三物理地址;B.启动所述倒换单板的引导程序,然后加载应用程序并使能主备工作状态,其中所述引导程序中设置所述倒换单板的物理地址为所述第一物理地址,所述加载的应用程序中设置所述倒换单板的物理地址为相应所述倒换单板主备状态的第二或第三物理地址;C.所述倒换单板的主备状态改变时,将所述倒换单板应用程序中设置的所述倒换单板的物理地址修改为需倒换的主备状态对应的物理地址以进行相应主备倒换。
2.根据权利要求1所述的倒换单板加载中的主备倒换实现方法,其特征在于,步骤B加载应用程序包括倒换单板向加载服务器发送包含所述第一物理地址信息的加载请求;加载服务器根据所述第一物理地址向该倒换单板返回应用程序的加载数据。
3.根据权利要求1或2任一项所述的倒换单板加载中的主备倒换实现方法,其特征在于,所述第一物理地址、第二物理地址和第三物理地址均为MAC址址。
全文摘要
本发明公开一种倒换单板加载中的主备倒换实现方法,通过在单板的引导程序和应用程序中分别使用各自的物理地址,其中引导程序设置的物理地址与倒换无关,仅与单板位置或本身绑定,应用程序中的物理地址与主备状态绑定,从而避免倒换实现的复杂性。
文档编号H04B1/74GK1790935SQ200410101209
公开日2006年6月21日 申请日期2004年12月15日 优先权日2004年12月15日
发明者童运民 申请人:华为技术有限公司