一种基于多核网络处理器系统的数据恢复方法与流程

文档序号:15047143发布日期:2018-07-27 22:55阅读:222来源:国知局

本发明涉及多核处理器的内存管理方法,特别涉及一种基于多核处理器系统的数据恢复方法。



背景技术:

在上世纪末期,网络处理器开始兴盛,至今已迅速成长为网络处理设备的优先选择方案。多核技术的出现,给软件系统结构,软件模型,操作系统,核间通信技术等诸多方面带来巨大挑战,也带动了软件的革命。多核网络处理器以其高性能、低功耗优势正逐步取代传统的单处理器成为市场的主流。

多核网络处理器上运行的程序,由于系统软件长时间运行可能产生各种故障,从而导致程序崩溃。当程序崩溃后数据往往会丢失,这无疑会给对于稳定性要求较高的系统造成麻烦。

为了应对多核网络处理器上程序崩溃造成的数据丢失,需要一种数据恢复的方法。但是现有的内存数据恢复方法都是针对单机系统,没有涉及内存管理及控制程序与应用程序分处于不同核上的情况。



技术实现要素:

本发明的目的在于克服目前多核网络处理器系统的数据恢复方法存在的上述缺陷,提出了一种新的基于多核网络处理器系统的数据恢复方法,该方法可以在多核网络处理器系统的内存管理及控制程序崩溃并软重启时,重新初始化系统或恢复内存管理及控制程序崩溃前的数据,而不重启其它核上正常运行的应用程序。

为了实现上述目的,本发明提供了及一种基于多核网络处理器系统的数据恢复方法,所述多核网络处理器的内存由多个核共享,其中a核运行内存管理及控制程序,其它核运行应用程序,所述方法包括:

步骤1)当a核上的内存管理及控制程序崩溃时,用户软重启内存管理及控制程序;

步骤2)内存管理及控制程序读取指定格式的配置文件,并重新定位内存中的信息区及数据区的起始位置,检测内存信息区与数据区;

步骤3)内存管理及控制程序根据配置文件内容与内存信息区内容,选择进行系统初始化或进行数据恢复;

步骤4)如果其它核上的应用程序正常运行,无需重启;否则软重启其它核上的应用程序。

上述技术方案中,所述的内存管理及控制程序负责分配、初始化及管理内存并为应用程序提供内存使用信息。

上述技术方案中,所述多核网络处理器系统在程序软重启后,内存中的存储内容仍然保留,不因程序软重启而擦除,且内存中的存储内容为各个核所共享。

上述技术方案中,所述步骤2)中的内存信息区存储配置文件中的数据,内存数据区存储应用程序所需的数据。

上述技术方案中,所述步骤3)具体包括:

步骤3-1)内存管理及控制程序对比内存信息区内容及配置文件内容,若配置文件内容有更新,即配置文件内容与内存信息区内容不同,转至步骤3-2),否则,转至步骤3-3);

步骤3-2)内存管理及控制程序回收内存中的信息区及数据区,根据配置文件,重新分配内存,并初始化内存信息区及数据区;

步骤3-3)保留内存信息区及数据区内容,重新初始化内存管理及控制程序所需的全局变量和数据区指针信息。

本发明的优势在于:

1、通过本发明的方法,可以在基于多核网络处理器的系统的内存管理及控制程序崩溃并软重启时,重新初始化系统或恢复内存管理及控制程序崩溃前的数据,而不重启其它正常运行的应用程序;

2、通过本发明的方法,当配置文件的内容没有变动时,可以在内存管理及控制程序软重启后,不必再次重新分配及初始化内存,而继续使用重启前的数据;

3、本发明的方法可以解决多核网络处理器上因程序崩溃造成的数据丢失问题。

附图说明

图1为本发明的基于多核网络处理器系统的数据恢复方法的流程图;

图2为本发明基于多核网络处理器系统的结构图;

图3为本发明实施例在一种常见应用场景下的数据恢复方法示意图。

具体实施方式

下面通过附图和实施例,对本发明的技术方案进一步的详细描述。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。

图1为本发明的基于多核网络处理器系统的数据恢复方法示意图。多核网络处理器系统运行在多个核上,处理器内存由多个核共享,其中a核运行内存管理及控制程序,b核和其它核运行应用程序。

为了便于理解,下面通过一个具体的实施例,结合图2和图3的应用场景,对本发明的方法做详细的说明。

多核网络处理器在程序软重启后,其内存中的存储内容依然保留,多核共享内存;系统运行在多核网络处理器上。a核上的内存管理及控制程序崩溃时,需要进行数据恢复。

如图1所示,一种基于多核网络处理器系统的数据恢复方法,所述方法包括:

步骤1)当用户通过打印信息观测到a核上的内存管理及控制程序崩溃时,用户软重启内存管理及控制程序;

所述的内存管理及控制程序负责分配、初始化及管理内存并为应用程序提供内存使用信息。

在本发明实施例中,所述的基于多核网络处理器系统在程序软重启后,内存中的存储内容仍然保留,不因程序软重启而擦除,且内存中的存储内容为各个核所共享。

步骤2)内存管理及控制程序读取指定格式的配置文件,并重新定位内存中的信息区及数据区的起始位置,检测内存信息区与数据区;

所述的内存信息区存储配置文件中的数据,内存数据区存储应用程序所需的数据。

步骤3)内存管理及控制程序根据配置文件内容与内存信息区内容,选择进行系统初始化或进行数据恢复;具体包括:

步骤3-1)内存管理及控制程序对比内存信息区内容及配置文件内容,若配置文件内容有更新,即配置文件内容与内存信息区内容不同,转至步骤3-2),否则,转至步骤3-3);

步骤3-2)内存管理及控制程序回收内存中的信息区及数据区,根据配置文件,重新分配内存,并初始化内存信息区及数据区;

步骤3-3)保留内存信息区及数据区内容,重新初始化内存管理及控制程序所需的全局变量、数据区指针等信息。

步骤4)用户通过查看打印信息等方式确认b核的应用程序依然正常运行,故不必对b核的应用程序进行重启,b核的应用程序继续运行;若观测到b核的应用程序不再正常运行,需要软重启b核程序,此时若观测到a核上的内存管理及控制程序正常运行,不必重启a核程序,不必重新分配及初始化内存。

所述的系统继续运行时,应用程序与内存管理及控制程序运行于不同的核上,在内存管理及控制程序崩溃时,用户可通过查看打印信息等方式可确认应用程序依然正常运行,故应用程序可不进行重启。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1