一种存储服务器IO栈内存数据保护方法及装置制造方法及图纸

技术编号:15746477 阅读:86 留言:0更新日期:2017-07-03 01:52
本发明专利技术涉及存储服务器软件领域,公开一种存储服务器IO栈内存数据保护方法,包括以下步骤:用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;创建备份恢复线程;创建监控设备异常线程;通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。还公开一种存储服务器IO栈内存数据保护装置,包括:备份恢复模块,异常线程模块,监控设备模块,第一数据保存模块和第二数据保存模块。本发明专利技术克服了现有技术的不足,保护产品在工作过程中由于各种不良情况造成的掉电数据丢失。

Storage server, IO stack, memory data protection method and device

The invention relates to a storage server software field, discloses a storage server IO stack memory data protection method, which comprises the following steps: IO process user mode through the first disk application memory usage, and read the current memory; create backup thread; create monitoring equipment by monitoring equipment abnormal abnormal thread; thread monitor IO process and when an exception occurs, the abnormal signal sent to backup and restore backup and recovery thread; thread reads data of the first memory disk and memory data will be saved to the SSD backup and recovery; thread memory read data in SSD and memory data saved to disk second. The invention also discloses a storage server IO stack memory data protection device, which comprises a backup recovery module, an exception thread module, a monitoring device module, a first data storage module and a second data storage module. The invention overcomes the shortcomings of the prior art and protects the data loss caused by various bad conditions during the operation of the product.

【技术实现步骤摘要】
一种存储服务器IO栈内存数据保护方法及装置
本专利技术涉及存储服务器软件领域,尤其涉及一种存储服务器IO栈内存数据保护方法及装置。
技术介绍
存储服务器在设计时,不论是前期的设计和后期的保护,通常都会有相应的数据保护措施,如冗余磁盘阵列(RAID)保护,但是存储服务器IO栈存储进程的崩溃、掉电情况,无法保护还没有刷写到磁盘的内存中的数据,如果内存非常大,如32G、64G、128G、1T,则造成大面积的数据丢失,而且一旦丢失则无法恢复,对于存储数据来说是一场灾难,故亟待寻求解决上述问题的方法。
技术实现思路
本专利技术提供的一种存储服务器IO栈内存数据保护方法及装置,克服了现有技术中存在的不足,保护产品在工作过程的时候由于各种不良情况造成的掉电数据丢失、IO流进程的异常退出,以及用于启动中恢复数据,从而保证IO栈数据的可靠性。为了达到上述目的,本专利技术是通过以下技术方案实现的:本专利技术提供一种存储服务器IO栈内存数据保护方法,包括以下步骤:用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;创建备份恢复线程;创建监控设备异常线程;通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。进一步地,在用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况之前,还包括:通过内核驱动统一分配IO进程的内存,并将内存通过第一磁盘映射到用户态下。进一步地,在创建备份恢复线程之前,还包括:启动DUMP_main进程。进一步地,在备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中之前,还包括:重启程序,并发送信号给备份恢复线程。基于上述的一种存储服务器IO栈内存数据保护方法的一种存储服务器IO栈内存数据保护装置,其特征在于,包括:内存申请模块,用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;备份恢复模块,用于创建备份恢复线程;异常线程模块,用于创建监控设备异常线程;监控设备模块:通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;第一数据保存模块,备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;第二数据保存模块,备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。进一步地,还包括:内存分配模块:用于通过内核驱动统一分配IO进程的内存,并将内存通过第一磁盘映射到用户态下。进一步地,还包括:启动模块,用于启动DUMP_main进程。进一步地,还包括:重启模块,用于重启程序,并发送信号给备份恢复线程。本专利技术所提供的一种存储服务器IO栈内存数据保护方法,具有如下优点:1.数据完整性,在IO栈出现问题或者硬件错误时,保存数据到SSD固态硬盘中,保证内存数据不丢失;2.可恢复性,可以在启动时将SSD数据恢复到内存中,然后刷写到硬盘中;3.可靠性,最终数据写入到IO硬盘中,保证了数据的可靠性。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例的附图作一简单地介绍。图1为本专利技术实施例1一种存储服务器IO栈内存数据保护方法的流程示意图之一。图2为本专利技术实施例2一种存储服务器IO栈内存数据保护方法的流程示意图之二。图3为本专利技术实施例3一种存储服务器IO栈内存数据保护装置的结构示意图之一。图4为本专利技术实施例4一种存储服务器IO栈内存数据保护装置的结构示意图之二。具体实施方式下面对本专利技术中涉及到的一些技术词语进行解释:IO进程:负责用户IO内存的分配和释放的使用。DUMP_main进程:负责保存磁盘中管理的内存。/dev/mem:物理内存的全镜像,用来访问物理内存。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面结合附图和实施例对本专利技术进行详细的描述。实施例1参考图1,本专利技术的一种存储服务器IO栈内存数据保护方法,包括以下步骤:S101:用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;S102:创建备份恢复线程;S103:创建监控设备异常线程;S104:通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;S105:备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;S106:备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。作为一种实施方式,所述的第一磁盘为/dev/mem。实施例2参考图2,本专利技术的另一种存储服务器IO栈内存数据保护方法,包括以下步骤:S201:通过内核驱动统一分配IO进程的内存,并将内存通过第一磁盘映射到用户态下;S202:用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;S203:启动DUMP_main进程;S204:创建备份恢复线程;S205:创建监控设备异常线程;S206:通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;S207:备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;S208:重启程序,并发送信号给备份恢复线程;S209:备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。作为一种实施方式,所述的第一磁盘为/dev/mem。实施例3参考图3,本专利技术的一种存储服务器IO栈内存数据保护装置,包括:内存申请模块102、备份恢复模块104、异常线程模块105、监控设备模块106、第一数据保存模块107和第二数据保存模块109;内存申请模块102依次连接备份恢复模块104、异常线程模块105、监控设备模块106、第一数据保存模块107和第二数据保存模块109。内存申请模块102,用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;备份恢复模块104,用于创建备份恢复线程;异常线程模块105,用于创建监控设备异常线程;监控设备模块106,通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;第一数据保存模块107,备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;第二数据保存模块109,备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。作为一种实施方式,所述的第一磁盘为/dev/mem。实施例4参考图4,本专利技术的另一种存储服务器IO栈内存数据保护装置,包括:内存分配模块101、内存申请模块102、启动模块103、备份恢复模块104、异常线程模块105、监控设备模块106、第一数据保存模块107、重启模块108和第二数据保存模块109;内存分配模块101依次连接内存申请模块102、启动模块103、备份恢复模块104、异常线程模块105、监控设备模块106、第一数据保存模块107、重启模块108和第二数据保存模块109。内存分配模块101,用于通过内核驱动统一分配IO进程的内存,并将内存通过第一磁本文档来自技高网...
一种存储服务器IO栈内存数据保护方法及装置

【技术保护点】
一种存储服务器IO栈内存数据保护方法,其特征在于,包括以下步骤:用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;创建备份恢复线程;创建监控设备异常线程;通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。

【技术特征摘要】
1.一种存储服务器IO栈内存数据保护方法,其特征在于,包括以下步骤:用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;创建备份恢复线程;创建监控设备异常线程;通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。2.根据权利要求1所述的一种存储服务器IO栈内存数据保护方法,其特征在于,在用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况之前,还包括:通过内核驱动统一分配IO进程的内存,并将内存通过第一磁盘映射到用户态下。3.根据权利要求1所述的一种存储服务器IO栈内存数据保护方法,其特征在于,在创建备份恢复线程之前,还包括:启动DUMP_main进程。4.根据权利要求1所述的一种存储服务器IO栈内存数据保护方法,其特征在于,在备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中之前,还包括:重启程序,并发送信号给备份恢复线程。5.基于权利要求...

【专利技术属性】
技术研发人员:黄玉龙
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1