一种热备份系统和方法

文档序号:7623899阅读:122来源:国知局
专利名称:一种热备份系统和方法
技术领域
本发明涉及数据备份技术领域,特别是指一种热备份系统和方法。
背景技术
电信设备需要提供很高的可靠性,所以在许多电信设备中采用了主备双机热备份的方式来提高关键部分的可靠性。主备双机热备份是指设备中的主用板和备用板同时运行相同的关键部分,在主用板失效后,备用板自动接管关键部分的控制,保证业务不中断。
在现有技术中,通常通过在主用板和备用板上各设置专用于备份的备份软件,在主用板和备用板的备份软件之间通过应用层的交互实现主用板数据到备用板的传输。具体为当主用板上的应用程序中的某个任务确定其对应的某个数据需要备份时,应用模块向主用板上的备份软件发送备份指示,备份软件接收到该备份指示后,根据该指示中的信息通过中央处理器(CPU)读取本板内存中对应的数据,并将读取的数据通过数据总线以预先设定的传输速率传送给备用板上的备份软件,备用板上的备份软件接收到上述数据后,将数据通过备用板上的CPU存储到对应的备用板内存地址空间中。
由于通常主用板向备用板传输的数据中只有部分修改,其余与原已在备用板内存中存储的数据一致,所以可以不必将全部的数据都写到备用板内存中,而只需要将更改的部分写入即可。因此现有技术中提供了一种方法备用板上的备份软件在接收到主用板传输的数据后,回调主用板的针对该数据的处理函数,并根据该处理函数对备用板内存中的数据进行修改。在数据传输完成,并且回调处理函数成功后,就完成了对备用板内存中数据的修改,保证了主备双机之间的数据一致性。
应用模块中包括很多的任务,而每个任务又对应很多的数据项,在系统运行过程中,由于备份数据传输过程中主备用板之间通过应用层消息进行交互,CPU占用率高,降低了热备份效率;并且由于在保证数据一致性的过程中,回调处理函数非常容易出错,而回调函数失败就会影响数据传输的一致性,所以经常会造成主备双机数据的不一致;此外,由于备份双机之间采用数据总线进行备份数据的传输,由于数据总线带宽固定,热备份数据不能够按照质量级别采用不同的方式传输;并且由于数据总线带宽固定,导致一种热备份机制只能适应于一种硬件结构,每当重新更改热备份机制中的数据传输速率后,就需要更改硬件结构以使更改后的数据总线带宽能够满足更改后的传输速率的要求,造成了热备份机制无法货架化。

发明内容
有鉴于此,本发明的第一个主要目的在于提供一种热备份系统,能够降低热备份过程中的CPU占用率。
本发明的第二个主要目的在于提供一种热备份方法,该方法能够降低热备份过程中的CPU占用率。
为了达到上述目的的第一个方面,本发明提供了一种热备份系统,该系统包括主用板和备用板上分别包括CPU、内存、内存控制器和传输接口;其中,主用板上的CPU通过本板的内存控制器对本板的内存执行读写操作;主用板上的内存控制器记录内存中预先划分的需要备份的地址空间,并将主用板CPU通过该主用板上的内存控制器向主用板内存中需要备份的地址空间写入的数据,经过主用板上的传输接口和备用板上的传输接口发送给备用板上的内存控制器;备用板的内存控制器接收所述数据,并将所述数据写入备用板内存中与所述数据在主用板内存中相同的地址空间;主、备用板上的传输接口连接,在主用板和备用板间传输数据。
所述的内存控制器可以为CPU自带的内存控制器,传输接口可以为以太网接口,主、备用板上的以太网接口通过以太网连接。
所述的内存控制器还可以为FPGA模块中的内存控制器,所述的传输接口可以为FPGA模块中的高速接口控制器,主、备用板上的高速接口控制器通过一个或可以并行使用的多个高速电缆连接,或通过一个或可以并行使用的多个高速光缆连接。
所述的备用板可以为一个或多个;所述备用板为多个时,主用板上的内存控制器将主用板CPU通过该内存控制器向主用板内存需要备份的地址空间中写入的数据,通过主用板上的传输接口以广播的方式经过每个备用板上的传输接口发送给每个备用板上的内存控制器。
较佳地,备用板上的CPU通过备用板的内存控制器对备用板内存中不需要备份的备份级别对应的地址空间执行读写操作,备用板上的CPU通过备用板的内存控制器对备用板内存中需要备份的备份级别对应的地址空间只执行读操作,从而备用板可以利用自身内存中不需要备份的备份级别对应的内存空间运行与主用板无关的任务。
为了达到上述目的的第二个方面,本发明提供了一种热备份方法,该方法包括预先按备份级别划分主用板内存中的地址空间,并在主用板上记录本板内存中需要备份的备份级别对应的地址空间,该方法还包括A、主用板中的内存控制器根据主用板上记录的本板内存中需要备份的备份级别对应的地址空间将本板内存中需要备份的地址空间中的数据发送给备用板的内存控制器;B、备用板的内存控制器接收到所述数据后,将所述数据写入本板内存中与所述数据在主用板内存中相同的地址空间。
所述的备份级别可以包括需要备份和不需要备份;则所述主用板中的内存控制器将本板内存中需要备份的地址空间中的数据发送给备用板的内存控制器为主用板中的内存控制器在向本板内存中需要备份级别对应的地址空间写入数据时,将所述数据发送给备用板的内存控制器;和/或主用板中的内存控制器以预先设定的周期定时读取本板内存中需要备份的备份级别对应的地址空间中的数据,并将所述读取的数据发送给备用板的内存控制器。
所述的备份级别还可以包括重要、一般和不需要备份,所述需要备份的备份级别包括重要和一般;所述主用板中的内存控制器将本板内存中需要备份的地址空间中的数据发送给备用板的内存控制器包括A1、主用板中的内存控制器向本板内存中一般备份级别对应的地址空间写入数据时,将所述数据发送给备用板的内存控制器;和,A2、主用板中的内存控制器以预先设定的周期定时读取本板内存中重要备份级别对应的地址空间中的数据,并将所述读取的数据发送给备用板的内存控制器。
较佳地,所述步骤A2中,将数据发送给备用板的内存控制器之前进一步包括判断备用板中是否有传输一致点标识,如果有则擦除所述传输一致点标识,然后执行所述的将数据发送给备用板的内存控制器的步骤;如果没有则直接执行所述的将数据发送给备用板的内存控制器的步骤;所述步骤B之后进一步包括B1、主用板向备用板写入传输一致点标识,以标志该次传输成功,且主、备用板内存中重要备份级别对应的地址空间中的数据处于一致状态;C、备用板在检测到主用板发生故障后,检查自身中是否有传输一致点标识,如果有,则直接将自身转换为主用板。
较佳地,所述步骤B1后进一步包括备用板定时将本板内存中的数据写入到对应的本板文件系统中;则步骤C中,所述检查自身中是否有传输一致点标识后进一步包括如果检查到自身中没有传输一致点标识,则根据所述写入到对应的本板文件系统中的数据恢复内存。
较佳地,所述将以预先设定的周期定时读取的数据发送给备用板中的内存控制器为将以预先设定的周期定时读取的数据以预先设置的带宽发送给备用板中的内存控制器;所述预先设置的带宽根据所述的预先设定的周期进行设置。
较佳地,该方法进一步包括主用板预先记录涉及修改内存里需要备份的备份级别对应地址空间中数据的操作系统任务;则所述主用板中的内存控制器以预先设定的周期定时读取数据为主用板以预先设定的周期定时监控所述记录的操作系统任务中活动的操作系统任务,在这些活动的操作系统任务结束后,由主用板中的内存控制器读取所述数据。
较佳地,该方法进一步包括预先按与内存相同的备份级别划分主用板文件系统中的文件;则所述步骤A之前和步骤B之后进一步包括A01、系统运行中主、备用板在将文件映射到内存中时,根据备份级别将各自的文件映射到各自内存中与所述文件具有相同备份级别的地址空间中。
进一步地,所述步骤A01之前可以包括A00、主用板和备用板自检启动后,分别按备份级别登记各自内存中的地址空间和文件系统中的文件,并且主用板将自身内存中需要备份的备份级别对应地址空间中的数据直接拷贝到备用板内存中相同的地址空间。
较佳地,该方法中,预先在主用板上记录本板内存地址空间中数据的修改情况;则步骤A中所述主用板中的内存控制器将本板内存中需要备份的地址空间中的数据发送给备用板的内存控制器为主用板中的内存控制器根据主用板上记录的本板内存地址空间中的内存数据的修改情况,读取本板内存中需要备份的备份级别对应的地址空间中被修改了的数据,并将所述被修改了的数据发送给备用板的内存控制器。
较佳地,所述记录内存中需要备份的备份级别对应的地址空间的方法为在主用板上记录内存中不同的备份级别对应的地址空间,并在主用板上设置记录内存中的地址空间备份情况的登记RAM,该RAM中每一位的不同取值对应主用板内存中的一段地址空间是否需要备份;所述记录本板内存地址空间中的数据修改情况的方法为在主用板上设置记录内存地址空间中的数据修改情况的修改RAM,该RAM中每一位的不同取值对应本板内存中的一段地址空间是否被修改;则所述根据主用板上记录的本板内存地址空间中的内存数据的修改情况,读取本板内存中需要备份的备份级别对应的地址空间中被修改了的数据为根据登记RAM和修改RAM对应位的取值确定需要向备用板写入的被修改了的数据所在的地址空间,读取所确定的地址空间中的数据。
从以上方案可以看出,本发明的热备份系统中,通过设置内存控制器和传输接口;主用板上的CPU通过本板的内存控制器对本板的内存执行读写操作;主用板上的内存控制器记录内存中预先划分的需要备份的地址空间,并将主用板CPU通过其向需要备份的内存地址空间中写入的数据,通过主用板上的传输接口和备用板上的传输接口发送给备用板上的内存控制器;备用板的内存控制器接收所述数据,并将所述数据写入备用板内存中与所述数据在主用板内存中相同的地址空间中;主、备用板上的传输接口连接,在主用板和备用板间传输数据,从而在通过该系统进行热备份数据的传输时,不需要上层软件参与,也就不需要CPU的参与,从而大大降低了主用板CPU的占用率,提高了备份效率。
此外,本发明的热备份系统中通过采用包括内存控制器和高速接口控制器的FPGA模块实现上述内存控制器和传输接口,并且主、备用板的高速接口控制器之间通过能够并行使用的高速光缆或高速电缆连接,从而可以根据备份质量的需求,设置传输带宽,使得一种热备份系统能够适应多种硬件环境,实现了热备份系统的货架化。
本发明的热备份方法中,预先按备份级别划分主用板内存中的地址空间,并在主用板上记录本板内存中需要备份的地址空间,主用板通过其中的内存控制器直接读取内存中需要备份的地址空间中的数据传送到备用板的内存控制器,由备用板的内存控制器将该数据写入与该数据在主用板内存中相同的地址空间中,从而在备份过程中无需上层软件参与,也无需主、备用板上的CPU参与,降低了热备份过程中主、备用板CPU的占用率。
并且,在本发明的热备份方法中,通过设置多个需要备份的备份级别,并且对于不同的需要备份的备份级别对应的内存地址空间中的数据采用不同的备份方法实现热备份,从而实现了热备份数据的分级传输。
此外,本发明的热备份方法中,通过在主用板中对内存地址空间中的数据是否被修改进行记录,在备份过程中,只对被修改了的数据进行备份,进一步提高了备份效率。


图1为本发明具体实施例的系统结构图;图2为本发明具体实施例的热备份流程图;图3为本发明具体实施例的软件架构图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明的主要思想是,预先按备份级别划分主用板内存中的地址空间,并在主用板和备用板中设置内存控制器,在主用板中记录内存中预先划分的需要备份的地址空间;在系统运行中进行备份时,主用板的内存控制器读取本板内存中需要备份的备份级别对应的地址空间中的数据,并将所述数据发送给备用板的内存控制器;备用板的内存控制器接收到所述数据后,将所述数据写入本板内存中与所述数据在主用板内存中相同的地址空间,完成热备份。
上述的备份级别可以只包括需要备份和不需要备份两个备份级别,还可以包括重要、一般和不需要备份三个备份级别,甚至更多的备份级别,其中重要和一般都是需要备份的备份级别。按备份级别划分主用板内存中的地址空间,可以采用静态划分的方法,即对内存中的地址空间划分后就不再更改;也可以采用动态划分的方法,即可以根据各个备份级别的不同需要调整对应的内存中的地址空间。
上述主、备用板上的内存控制器之间通过每个板上的传输接口传送数据。每板上的内存控制器和传输接口可以通过现有的单元实现,如CPU自带的内存控制器和以太网接口,也可以通过在系统中增加包括内存控制器和高速接口控制器的FPGA模块来实现。对于前者,在内存控制器中记录内存中预先划分的需要备份的地址空间,主备用板之间的传输接口通过以太网连接;对于后者,在FPGA模块中记录内存中预先划分的需要备份的地址空间,且主备用板之间的传输接口通过高速光缆或高速电缆连接。
热备份的发起可以是实时触发,也可以是定时触发,在热备份定时触发方式中,为了避免在读取数据的过程中,CPU对这些数据进行修改,还可以通过软件对涉及修改内存中需要备份的地址空间的操作系统任务进行监控,在这些任务结束后,才读取数据。
此外,本发明中还可以在主用板中对主用板内存地址空间中的数据是否进行了修改进行记录,在热备份发起后,主用板的内存控制器只将需要备份的内存地址空间中被修改了的数据发送到备用板进行备份。
本发明中的备用板可以是一个,也可以是多个,如果备用板大于一个,则主用板的备份模块以广播的方式将内存里需要备份的地址空间中的数据发送到每个备用板的内存控制器,并由每个备用板的内存控制器将数据存储到备用板内存中与所述数据在主用板内存中相同的地址空间。
以下通过具体实施例对本发明进行详细说明。
在本实施例中,按备份级别对内存地址空间进行划分时,采用了三个备份级别的划分方式,即将内存地址空间划分为不需要备份、一般和重要,并且,对于需要备份的两个备份级别,即一般和重要所对应内存中的地址空间采用了不同的备份方式,下面对其进行说明。
本实施例中预先将内存中的地址空间按备份级别进行划分,划分后包括三类地址空间I类,不需要进行备份的内存地址空间,如本板状态等,备份级别为不需要备份,;II类,需要进行备份的内存地址空间,如呼叫分配记录等,备份级别为一般;III类,重要的内存数据和需要保证内部一致性文件的内存映象,如资源分配状况、设备硬件状态等,备份级别为重要。
相应地,对于文件系统,在本实施例中也按备份级别进行划分,划分后包括三类文件A类,不需要进行主备交换的文件,如本板的运行日志等,备份级别为不需要备份;B类,需要进行主备交换,但是非关键文件或操作很少但是很大的文件,不需要保证主备用板数据的一致性,如用户操作日志或单板软件包等,备份级别为一般;C类,需要进行主备交换的关键文件,需要保证主备用板数据的一致性,如数据配置文件等,备份级别为重要。
对内存和文件系统进行了上述划分后,系统在进行文件映射时,每板中,A类文件映射到I类地址空间中,B类文件映射到II类地址空间中,C类文件映射到III类地址空间中。
在本发明的具体实施例中,采用现场可编程门阵列(Field ProgrammableGate Array,FPGA)模块作为备份模块,FPGA模块中包括内存控制器和高速接口控制器。其中,FPGA模块中所采用的内存控制器和高速接口控制器都已公开且标准化,这里不再说明;FPGA模块中所采用的高速接口控制器可以自动进行并串、串并转换,在进行传输时,根据传输线路性质的不同,主用板和备用板的高速接口控制器之间可以采用多个可以并行使用的高速电缆或高速光缆进行连接。由于高速光缆或高速电缆可以并行使用,所以可以根据备份的质量需求,即根据主备之间需要数据同步时间的最小间隔,即下述定时备份的定时周期,通过配置FPGA模决中的寄存器,设置在备份过程中并行使用的高速光缆或电缆的数量。例如,在FPGA模块中设置了8个2.5Gbps的高速光缆,则所能够提供的备份质量级别为从2.5Gbps、5.0Gbps直到20Gbps八个级别。
本实施例中,每板上的FPGA模块对内存中地址空间的划分情况进行记录,即分别记录内存中的I类、II类和III类地址。
并且,主用板上的FPGA模块还通过其中的RAM对本板内存中的备份情况,即本板内存中哪些地址空间需要备份,哪些地址空间不需要备份进行记录,为描述方便,在本发明中称该记录为登记RAM。由于对内存地址中的每一位地址是否需要备份进行记录,需要耗费与内存相同大小的RAM,且由于内存位宽为8nbit,有独立寻址方式的内存颗粒数目是m,在进行备份时,备份的最小单位为1024×n×m字节,所以也没有必要记录内存中每一位地址是否需要备份,只需要记录内存中的一段地址空间是否需要备份即可,该一段地址空间可以选择上述最小单位。因此,在登记RAM中,可以对内存的地址空间以1024×n×m字节取模后进行记录,即登记RAM中的一位(bit)对应内存中的1024×n×m字节的地址空间,例如登记RAM中某一位的值为1,就代表了该位对应的1024×n×m字节地址空间需要备份;如果值为0,则代表该位对应的1024×n×m字节的地址空间不需要备份。在对内存进行了如本实施例中前述的划分后,这里所说的登记RAM中,对应于内存中II类和III类地址空间的登记RAM的位值为1,标识这些地址空间需要进行备份,而对应于I类地址空间的登记RAM的位值为0,标识这些地址空间不需要备份。
此外,FPGA模块还通过RAM对内存的修改情况进行记录,为描述方便,在本发明中称该记录内存修改情况的RAM为修改RAM,与记录内存备份情况的方法相同,在本实施例中以修改RAM中一位的值表示内存中对应的1024×n×m字节地址空间是否被修改,例如修改RAM中某位的值为1时,代表该位对应的1024×n×m字节的地址空间被修改,为0时,代表该位对应的1024×n×m字节的地址空间没有被修改。
另外,本实施例的热备份系统中,主用板和备用板上的硬件单元除FPGA模块外还分别包括CPU单元、内存单元,如图1所示,其中单板1为主用板,单板2为备用板。在图1所示的每个单板中,CPU通过FPGA模块中的内存控制器读取本板内存中的数据。而当向内存中写入数据时,主用板CPU通过主用板FPGA模块中的内存控制器写本板内存;主用板FPGA中的内存控制器将备份数据通过主、备用板间的高速光缆或高速电缆发送到备用板FPGA模块后,备用板FPGA模块通过其中的内存控制器将备份数据写入到备用板上与主用板上内存中备份数据地址相同的地址空间中。备用板CPU只能写本板内存中不需要备份的地址空间,即I类地址空间。另外,对于文件系统也一样,备用板不能写本板中需要备份的文件。即备用板上内存中的II类、III类地址空间以及B类、C类文件系统只允许备用板在进行备份相关操作时写,而不允许备用板根据自身运行的与备份无关的任务写。这样,既保证了备用板自身不会更改内存中需要备份的地址空间内的数据,备用板上又可以利用本板内存中的I类地址空间运行与备份无关的其他任务。
本实施例中,CPU通过FPGA模块中的内存控制器执行对内存的读写时,内存控制器对CPU发送给其的读写内存指令进行解析,然后以内存能够识别的指令与内存交互,所以即使内存的型号进行了更改或者内存的类型进行了变更,经过FPGA模块对指令进行转换后,对于上层软件来说,仍然不必对指令系统进行更改。例如,上层软件支持的指令系统中,内存寻址指令为READ Address,而内存能够识别的内存寻址指令为READ rowcolumn,则FPGA模块的内存控制器在接收到CPU发送的READ Address指令后,将该指令转化为对应的READ row column指令,然后通过该指令读取对应的内存数据。
如图2所示,为本实施例中热备份的流程图,其中左侧为主用板的备份流程,右侧为备用板的备份流程,具体步骤如下步骤201a、主用板自检启动后,对文件系统和内存进行分类登记,即登记主用板文件系统中的A类文件、B类文件和C类文件,以及主用板内存中的I类、II类和III类地址,并将登记的C类文件映射到主用板内存的III类地址空间中。
步骤201b、备用板自检启动后,对文件系统和内存进行分类登记,即登记备用板文件系统中的A类文件、B类文件和C类文件,以及备用板内存中的I类、II类和III类地址,并将登记的C类文件映射到备用板内存的III类地址空间中。
步骤202a、主用板对备用板的状态进行检测,如果检测到备用板为正常运行状态,执行步骤203a;否则直接结束该流程。
步骤202b、备用板对主用板的状态进行检测,如果检测到主用板为正常运行状态,执行步骤203b;否则将自身作为主用板启动。
步骤203a和步骤203b、进行初始数据文件的备份,即主用板将自身内存的II类和III类地址空间中的数据直接拷贝到备用板内存中相同的地址空间。
步骤204a和步骤204b、主用板和备用板交互进行系统运行中的备份操作,包括对主用板内存中II类地址空间的实时备份和对III类地址空间的定时备份。
由于II、III类内存地址空间备份级别不同,所以在系统运行过程中对应的备份方式也不相同。
对于II类内存地址空间中的内存数据和B类文件在II类内存地址空间中的映象,由于不需要保证一致性,所以采用实时备份的方式,即在主用板CPU通过主用板FPGA模块中的内存控制器对主用板上内存中II类地址空间进行写操作时,FPGA模块将被修改的地址空间在修改RAM中对应位的值置为1。另外,主用板FPGA模块实时对主用板内存中II类地址空间对应的登记RAM和修改RAM执行与操作,并将与操作后结果为1的RAM对应的内存地址空间中的数据通过主用板FPGA模块中的高速接口控制器、高速光缆或高速电缆,以及备用板的高速接口控制器发送给备用板FPGA模块中的内存控制器,备用板FPGA模块中的内存控制器将接收的数据写入到备用板内存中与所述数据在主用板内存中相同的地址空间,在将数据成功写入备用板内存中相同的地址空间后,向主用板FPGA模块返回备份成功信息,然后主用板FPGA模块将其中修改RAM中对应位的值设置为0。另外,对于B类文件,高层软件在修改每个B类文件结束,如调用Close文件后,计算该文件的CRC校验位,并将该CRC校验位传送到备用板内存里对应的地址空间中,以标志在备用板中完成了该文件的修改,则在备用板转换为主用板时,可以激活该文件。
而对于III类地址空间,由于其中C类文件在内存中的映象需要保证一致性,所以采用定时备份的方式进行。本实施例中主用板上的软件可以根据用户指定的周期,定时对活动的涉及到修改备份内存区的操作系统任务进行监控,在这些活动的任务都释放CPU后,向主用板上的FPGA模决发送备份命令,触发主用板上的FPGA模块进行定时备份操作,这样就避免了在备份的同时又对主用板内存执行写操作所造成的问题。主用板CPU在通过FPGA模块中的内存控制器写主用板内存中III类地址空间时,主用板FPGA模块将被修改的III类地址空间在修改RAM中对应位的值设置为1。主用板FPGA模块在接收到备份命令后,对III类地址空间对应的登记RAM和修改RAM执行与操作,然后读取进行与操作后所有结果为1的位对应的内存地址空间中的数据,并将这些数据通过主用板FPGA模块中的高速接口控制器、高速光缆或高速电缆和备用板FPGA模块中的高速接口控制器发送给备用板FPGA模决中的内存控制器,由备用板FPGA模块中的内存控制器将这些数据写入到备用板内存里与这些数据在主用板内存中相同的III类地址空间中,并在完成备份后,向主用板FPGA模块返回备份成功信息,将主用板FPGA模块中对应的修改RAM对应的位的值置为0。另外,由于需要保持C类文件在主用板和备用板内存中III类地址空间映象的一致性,FPGA模块在接收到备份命令后,进行备份之前,首先判断备用板III类内存中是否有标志数据处于一致状态的传输一致点标识,如果有则擦除该传输一致点标识,并在本次备份完成后,再写入传输一致点标识。
为了保证备用板内存中的备份数据不会因为断电或其他方式丢失,在本实施例中备用板上的FPGA模块定时将备用板上II类和III类内存中的数据写入到文件系统中,本说明书中将写入到文件系统中的这些数据称为备用板保存点文件,这些文件用于恢复内存数据。
步骤205、备用板对主用板是否发生故障进行检测,当检测到主用板发生故障后,执行步骤206。
步骤206、备用板进行数据一致性恢复后,将自身转换为主用板,并向其他单板发起审计,然后执行步骤202a。
本步骤中的数据一致性恢复具体包括检查III类内存中是否有传输一致点标识,如果有则直接将自身转换为主用板;否则,将文件系统中的备用保存点文件映射到内存中。以及利用II类内存中的CRC校验位判断该文件是否完整,如果是则激活该文件;否则不激活该文件。被激活的文件即处于主用状态,任何后续文件操作都可对该文件进行。由于主用板上需要保存包括每个单板信息的资源状态表,而其他单板中只需保存涉及到自身的资源状态表,审计就是将主用板的资源状态表和其他单板的资源状态表保持一致。备用板转换为主用板后发起审计,即对齐本板记录的信息和其他单板记录的信息,使整个电信设备回到一致状态。
为了更加清楚地说明本实施例,下面对本实施例的软件架构进行描述。如图3所示,在本实施例中,将软件功能划分成以下协议栈最高层为业务应用层,以下依次是热备份管理层、操作系统层和文件/内存驱动层,最终物理层为FPGA模块。其中,每个上层子系统都承载在下层子系统之上,提供语义上更高级的功能。下面对每层所执行的操作进行详细说明业务应用层为具体的各个业务功能模块,如操作维护、计费模块等。其中,每个业务功能模块确定自身涉及到的文件的备份级别,即确定每个业务功能模块所涉及到的文件哪些是A类文件,哪些是B类文件,哪些是C类文件。并在为文件申请内存时,对于A类文件在内存的I类地址空间中申请内存,对于B类文件在内存的II类地址空间中申请内存,对于C类文件在内存的III类地址空间中申请内存。此外,上述步骤202a、202b中主用板对备用板状态以及备用板对主用板状态的检测都是由主用板和备用板业务应用层中的故障检测模块中运行的故障检测任务实现的;同样,步骤205a中备用板对主用板是否发生故障的检测,也是由备用板业务应用层的故障检测模块中运行的故障检测任务实现的。
热备份管理层,对热备份相关的系统调用进行屏蔽,并执行热备份时机的掌握和热备份质量级别的管理。上述步骤201a和步骤201b中的工作就是由主用板和备用板的热备份管理层执行的。此外,上述向FPGA模块发送备份命令也是由热备份管理层执行的,即主用板的热备份管理层根据用户通过编码或通过脚本配置的内存和文件的分类,登记涉及修改内存中需要备份的地址空间和/或文件系统中需要备份的文件的操作系统任务,这些操作系统任务在本说明书中称为备份相关任务,但是相关任务不包括操作系统本身的任务,并在系统自检启动后,根据用户指定的周期,定时对活动的备份相关任务进行监控,在这些活动的备份相关任务都释放CPU后,向主用板上的FPGA模块发送备份命令,触发主用板上的FPGA模块进行定时备份操作。
操作系统层,采用具有优先级调度机制的通用操作系统或嵌入式操作系统。一个操作系统调度的任务从获得CPU到释放CPU的过程称为一个事务,在一个事务完成后,系统中需要备份的内存和文件处于一致状态,主备用板内存之间的定时备份数据的传输只在此时发生。
文件/内存驱动层负责提供硬件驱动,在FPGA模块中的内存控制器都已公开且标准化,这里不再对其进行说明。
物理层,即FPGA模块,接管CPU的内存控制功能,并在上层软件的配置下将文件映射到内存中,以及执行系统运行中的备份操作。在对步骤204a和步骤204b的描述中已经详细说明了FPGA模块如何执行系统运行中的备份操作。
在有多个备用板的情况下,从主用板到所有备用板的备份方式与上述实施例中描述的方式基本相同,区别在于主用板在进行初始数据文件备份、系统运行中的实时备份和定时备份时,都是以广播的方式将数据发送到所有的备用板上,每个备用板都与上述实施例中备用板所执行的工作相同,只是主用板故障后,各个备用板通过协商或竞争的方式确定由哪个备用板转换为主用板,以保证有且只有一个备用板转换成主用板。
以上是对本发明具体实施例的说明,在该实施例中按三个备份级别划分内存中的地址空间,而按更多或更少备份级别对内存地址空间划分后的具体实现,参考上述具体实施例即可。例如,在将内存地址空间划分成不需要备份和需要备份两个备份级别时,系统运行中的备份由于只需要对一个备份级别对应的内存地址空间进行,所以可以采用实时备份的方式,也可以采用定时备份的方式。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种热备份系统,该系统中,主用板和备用板上分别包括CPU和内存;其特征在于,该热备份系统的主用板上和备用板上还分别包括内存控制器和传输接口;其中,主用板上的CPU通过本板的内存控制器对本板的内存执行读写操作;主用板上的内存控制器记录内存中预先划分的需要备份的地址空间,并将主用板CPU通过该主用板上的内存控制器向主用板内存中需要备份的地址空间写入的数据,经过主用板上的传输接口和备用板上的传输接口发送给备用板上的内存控制器;备用板的内存控制器接收所述数据,并将所述数据写入备用板内存中与所述数据在主用板内存中相同的地址空间;主、备用板上的传输接口连接,在主用板和备用板间传输数据。
2.根据权利要求1所述的系统,其特征在于,所述的内存控制器为CPU自带的内存控制器,所述的传输接口为以太网接口,主、备用板上的以太网接口通过以太网连接。
3.根据权利要求1所述的系统,其特征在于,所述的内存控制器为FPGA模块中的内存控制器,所述的传输接口为FPGA模块中的高速接口控制器,主、备用板上的高速接口控制器通过一个或可以并行使用的多个高速电缆连接,或通过一个或可以并行使用的多个高速光缆连接。
4.根据权利要求1所述的系统,其特征在于,所述的备用板为一个或多个;所述备用板为多个时,主用板上的内存控制器将主用板CPU通过该内存控制器向主用板内存需要备份的地址空间中写入的数据,通过主用板上的传输接口以广播的方式经过每个备用板上的传输接口发送给每个备用板上的内存控制器。
5.根据权利要求1至4中任一所述的系统,其特征在于,备用板上的CPU通过备用板的内存控制器对备用板内存中不需要备份的备份级别对应的地址空间执行读写操作,备用板上的CPU通过备用板的内存控制器对备用板内存中需要备份的备份级别对应的地址空间只执行读操作,从而备用板可以利用自身内存中不需要备份的备份级别对应的内存空间运行与主用板无关的任务。
6.一种热备份方法,其特征在于,预先按备份级别划分主用板内存中的地址空间,并在主用板上记录本板内存中需要备份的备份级别对应的地址空间,该方法还包括A、主用板中的内存控制器根据主用板上记录的本板内存中需要备份的备份级别对应的地址空间将本板内存中需要备份的地址空间中的数据发送给备用板的内存控制器;B、备用板的内存控制器接收到所述数据后,将所述数据写入本板内存中与所述数据在主用板内存中相同的地址空间。
7.根据权利要求6所述的方法,其特征在于,所述的备份级别包括需要备份和不需要备份;则所述主用板中的内存控制器将本板内存中需要备份的地址空间中的数据发送给备用板的内存控制器为主用板中的内存控制器在向本板内存中需要备份级别对应的地址空间写入数据时,将所述数据发送给备用板的内存控制器;和/或主用板中的内存控制器以预先设定的周期定时读取本板内存中需要备份的备份级别对应的地址空间中的数据,并将所述读取的数据发送给备用板的内存控制器。
8.根据权利要求6所述的方法,其特征在于,所述的备份级别包括重要、一般和不需要备份,所述需要备份的备份级别包括重要和一般;所述主用板中的内存控制器将本板内存中需要备份的地址空间中的数据发送给备用板的内存控制器包括A1、主用板中的内存控制器向本板内存中一般备份级别对应的地址空间写入数据时,将所述数据发送给备用板的内存控制器;和,A2、主用板中的内存控制器以预先设定的周期定时读取本板内存中重要备份级别对应的地址空间中的数据,并将所述读取的数据发送给备用板的内存控制器。
9.根据权利要求8所述的方法,其特征在于,所述步骤A2中,将数据发送给备用板的内存控制器之前进一步包括判断备用板中是否有传输一致点标识,如果有则擦除所述传输一致点标识,然后执行所述的将数据发送给备用板的内存控制器的步骤;如果没有则直接执行所述的将数据发送给备用板的内存控制器的步骤;所述步骤B之后进一步包括B1、主用板向备用板写入传输一致点标识,以标志该次传输成功,且主、备用板内存中重要备份级别对应的地址空间中的数据处于一致状态;C、备用板在检测到主用板发生故障后,检查自身中是否有传输一致点标识,如果有,则直接将自身转换为主用板。
10.根据权利要求9所述的方法,其特征在于,所述步骤B1后进一步包括备用板定时将本板内存中的数据写入到对应的本板文件系统中;则步骤C中,所述检查自身中是否有传输一致点标识后进一步包括如果检查到自身中没有传输一致点标识,则根据所述写入到对应的本板文件系统中的数据恢复内存。
11.根据权利要求7至10中任一所述的方法,其特征在于,所述将以预先设定的周期定时读取的数据发送给备用板中的内存控制器为将以预先设定的周期定时读取的数据以预先设置的带宽发送给备用板中的内存控制器;所述预先设置的带宽根据所述的预先设定的周期进行设置。
12.根据权利要求7至10中任一所述的方法,其特征在于,该方法进一步包括主用板预先记录涉及修改内存里需要备份的备份级别对应地址空间中数据的操作系统任务;则所述主用板中的内存控制器以预先设定的周期定时读取数据为主用板以预先设定的周期定时监控所述记录的操作系统任务中活动的操作系统任务,在这些活动的操作系统任务结束后,由主用板中的内存控制器读取所述数据。
13.根据权利要求6至10中任一所述的方法,其特征在于,该方法进一步包括预先按与内存相同的备份级别划分主用板文件系统中的文件;则所述步骤A之前和步骤B之后进一步包括A01、系统运行中主、备用板在将文件映射到内存中时,根据备份级别将各自的文件映射到各自内存中与所述文件具有相同备份级别的地址空间中。
14.根据权利要求13所述的方法,其特征在于,所述步骤A01之前进一步包括A00、主用板和备用板自检启动后,分别按备份级别登记各自内存中的地址空间和文件系统中的文件,并且主用板将自身内存中需要备份的备份级别对应地址空间中的数据直接拷贝到备用板内存中相同的地址空间。
15.根据权利要求6所述的方法,其特征在于,预先在主用板上记录本板内存地址空间中数据的修改情况;则步骤A中所述主用板中的内存控制器将本板内存中需要备份的地址空间中的数据发送给备用板的内存控制器为主用板中的内存控制器根据主用板上记录的本板内存地址空间中的内存数据的修改情况,读取本板内存中需要备份的备份级别对应的地址空间中被修改了的数据,并将所述被修改了的数据发送给备用板的内存控制器。
16.根据权利要求15所述的方法,其特征在于,所述记录内存中需要备份的备份级别对应的地址空间的方法为在主用板上记录内存中不同的备份级别对应的地址空间,并在主用板上设置记录内存中的地址空间备份情况的登记RAM,该RAM中每一位的不同取值对应主用板内存中的一段地址空间是否需要备份;所述记录本板内存地址空间中的数据修改情况的方法为在主用板上设置记录内存地址空间中的数据修改情况的修改RAM,该RAM中每一位的不同取值对应本板内存中的一段地址空间是否被修改;则所述根据主用板上记录的本板内存地址空间中的内存数据的修改情况,读取本板内存中需要备份的备份级别对应的地址空间中被修改了的数据为根据登记RAM和修改RAM对应位的取值确定需要向备用板写入的被修改了的数据所在的地址空间,读取所确定的地址空间中的数据。
全文摘要
本发明公开了一种热备份系统,主用板和备用板上分别包括CPU、内存、内存控制器和传输接口;其中,主用板上的CPU通过本板的内存控制器对本板的内存执行读写操作;主用板上的内存控制器记录内存中预先划分的需要备份的地址空间,并将主用板CPU通过其向需要备份的内存地址空间中写入的数据,经过主用板上的传输接口和备用板上的传输接口发送给备用板上的内存控制器;备用板的内存控制器接收所述数据,并将所述数据写入备用板内存中与所述数据在主用板内存中相同的地址空间中;主、备用板上的传输接口连接,在主用板和备用板间传输数据。本发明还公开了一种热备份方法。本发明在备份过程中降低了主、备用板CPU的占用率,提高了备份效率。
文档编号H04B1/74GK1852146SQ200510102418
公开日2006年10月25日 申请日期2005年9月6日 优先权日2005年9月6日
发明者姚建中 申请人:上海华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1