一种异构混合内存系统中存储日志信息的方法及其容错装置与流程

文档序号:16692836发布日期:2019-01-22 19:05阅读:111来源:国知局
一种异构混合内存系统中存储日志信息的方法及其容错装置与流程

本申请涉及服务器存储领域,并且更具体地,涉及一种异构混合内存系统中存储日志信息的方法及其容错装置。



背景技术:

内核日志的存储流程是将日志信息存储到缓冲区中,只有当缓冲区满了或者出现特定系统调用系统日志(syslog)时才会清除部分数据或全部数据,把内核日志刷新到磁盘中,一般情况下真正的内核日志数据会留在缓冲区中。若当缓冲区的数据没有及时得到保存就出现系统宕机或断电,这使得内核日志的重要信息无法得到保存。



技术实现要素:

本申请提供一种异构混合内存系统中存储日志信息的方法,能够提高系统的可靠性。

第一方面,提供一种异构混合内存系统中存储日志信息的方法,包括:判断所述系统用于存储内核日志的nvm中是否存在数据;当所述nvm中存在数据时,将所述nvm中存在的数据暂存在所述系统内核临时分配的缓存中;用户从所述缓存中读取所述数据后,清空所述nvm中存储的数据。

结合第一方面,在第一方面的第一种所述方法还包括:当所述用于存储内核日志的nvm中不存在数据时,将所述系统内核临时分配的缓存中填充的数据存储至所述nvm中。

结合第一方面及其上述实现方式,在第一方面的第一种可能的实现方式,所述方法还包括:当所述nvm中存在数据时,将所述nvm中存在的数据解析为可读形式数据保存在所述系统的系统日志中。

第二方面,提供一种异构混合内存系统中的容错装置,包括:确定单元,所述确定单元用于判断所述系统用于存储内核日志的nvm中是否存在数据;处理单元,所述处理单元用于当所述nvm中存在数据时,将所述nvm中存在的数据暂存在所述系统内核临时分配的缓存中;所述处理单元还用于在用户从所述缓存中读取所述数据后,清空所述nvm中存储的数据。

结合第二方面,在第二方面的第一种可能的实现方式中,所述处理单元还用于当所述用于存储内核日志的nvm中不存在数据时,将所述系统内核临时分配的缓存中填充的数据存储至所述nvm中。

结合第二方面及其上述实现方式,在第二方面的第二种可能的实现方式中,所述处理单元还用于当所述nvm中存在数据时,将所述nvm中存在的数据解析为可读形式数据保存在所述系统的系统日志中。

因此,本文提出一种异构混合内存系统中内核日志容错的方法,主要针对异构混合内存系统中的内核日志进行容错处理,通过内核日志缓冲区的重定向,提供实时统一管理内核日志容错机制,增强系统的可靠性、可用性、可扩展性(reliability,availabilityandserviceability,ras)。

附图说明

图1示出了本申请一个实施例方法的示意性流程图。

图2示出了本申请另一实施例的方法的示意性流程图。

图3示出了本申请一个装置的示意性框图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

如图1所示,图1示出一种异构混合内存系统中存储日志信息的方法,包括:

步骤110,判断所述系统用于存储内核日志的nvm中是否存在数据;

步骤120,当所述nvm中存在数据时,将所述nvm中存在的数据暂存在所述系统内核临时分配的缓存中;

步骤130,用户从所述缓存中读取所述数据后,清空所述nvm中存储的数据。

可选地,作为本申请一个实施例,所述方法还包括:当所述用于存储内核日志的nvm中不存在数据时,将所述系统内核临时分配的缓存中填充的数据存储至所述nvm中。

可选地,作为本申请一个实施例,所述方法还包括:当所述nvm中存在数据时,将所述nvm中存在的数据解析为可读形式数据保存在所述系统的系统日志中。

本发明主要考虑异构混合内存系统中服务器突然断电的情况下,存储在内存缓冲区的内核日志没有得到及时的记录,造成内核日志的丢失。因此,本文提出一种异构混合内存系统中内核日志容错的方法,主要针对异构混合内存系统中的内核日志进行容错处理,利用非易失内存非易失性存储器(non-volatilememory,nvm)的非易失特性实现对内核日志的容错,通过内核日志缓冲区的重定向,提供实时统一管理内核日志容错机制,增强系统的ras特性。一种异构混合内存系统中内核日志容错的方法的设计结构包括:内核日志容错模块和内核日志存储及处理模块。一种异构混合内存系统中内核日志容错的方法流程图如附图2所示。

内核日志容错模块,是指内核线程读取nvm日志空间,如果nvm日志空间有数据,说明上次机器是异常断电,nvm保存了上次断电前的内核日志,内核线程需先读出nvm日志空间中的数据暂存到内核的临时分配的缓存buf中;然后清空nvm日志空间上的数据;如果nvm日志空间没有数据,内核日志buf中操作系统已填充的数据拷贝到nvm日志空间。内核日志buf重定向到nvm日志空间。

内核日志存储及处理模块是指nvm用户态监控进程读取内核日志buf中操作系统已填充的数据拷贝到nvm日志空间中可能暂存的nvm数据,如果有数据,则解析成可读的形式保存在系统日志的目录下。nvm用户态日志解析进程解析nvm日志,dmesg也可以读取nvm日志。

因此,本文提出一种异构混合内存系统中内核日志容错的方法,主要针对异构混合内存系统中的内核日志进行容错处理,通过内核日志缓冲区的重定向,提供实时统一管理内核日志容错机制,增强系统的可靠性、可用性、可扩展性(reliability,availabilityandserviceability,ras)。

如图3所示,提供一种异构混合内存系统中的容错装置,包括:确定单元310,所述确定单元310用于判断所述系统用于存储内核日志的nvm中是否存在数据;处理单元320,所述处理单元用于当所述nvm中存在数据时,将所述nvm中存在的数据暂存在所述系统内核临时分配的缓存中;所述处理单元还用于在用户从所述缓存中读取所述数据后,清空所述nvm中存储的数据。

可选地,作为本申请一个实施例,所述处理单元320还用于当所述用于存储内核日志的nvm中不存在数据时,将所述系统内核临时分配的缓存中填充的数据存储至所述nvm中。

可选地,作为本申请一个实施例,所述处理单元还用于当所述nvm中存在数据时,将所述nvm中存在的数据解析为可读形式数据保存在所述系统的系统日志中。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者第二设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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