CN106909477A - 一种存储服务器io栈内存数据保护方法及装置 - Google Patents
一种存储服务器io栈内存数据保护方法及装置 Download PDFInfo
- Publication number
- CN106909477A CN106909477A CN201710105156.XA CN201710105156A CN106909477A CN 106909477 A CN106909477 A CN 106909477A CN 201710105156 A CN201710105156 A CN 201710105156A CN 106909477 A CN106909477 A CN 106909477A
- Authority
- CN
- China
- Prior art keywords
- backup
- data
- thread
- internal
- internal storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明涉及存储服务器软件领域,公开一种存储服务器IO栈内存数据保护方法,包括以下步骤:用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;创建备份恢复线程;创建监控设备异常线程;通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。还公开一种存储服务器IO栈内存数据保护装置,包括:备份恢复模块,异常线程模块,监控设备模块,第一数据保存模块和第二数据保存模块。本发明克服了现有技术的不足,保护产品在工作过程中由于各种不良情况造成的掉电数据丢失。
Description
技术领域
本发明涉及存储服务器软件领域,尤其涉及一种存储服务器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进程的内存,并将内存通过第一磁盘映射到用户态下;内存申请模块102,用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;启动模块103,用于启动DUMP_main进程;备份恢复模块104,用于创建备份恢复线程;异常线程模块105,用于创建监控设备异常线程;监控设备模块106,通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;第一数据保存模块107,备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;重启模块108,用于重启程序,并发送信号给备份恢复线程;第二数据保存模块109,备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。
作为一种实施方式,所述的第一磁盘为/dev/mem。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种存储服务器IO栈内存数据保护方法,其特征在于,包括以下步骤:
用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;
创建备份恢复线程;
创建监控设备异常线程;
通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;
备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;
备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。
2.根据权利要求1所述的一种存储服务器IO栈内存数据保护方法,其特征在于,在用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况之前,还包括:通过内核驱动统一分配IO进程的内存,并将内存通过第一磁盘映射到用户态下。
3.根据权利要求1所述的一种存储服务器IO栈内存数据保护方法,其特征在于,在创建备份恢复线程之前,还包括:启动DUMP_main进程。
4.根据权利要求1所述的一种存储服务器IO栈内存数据保护方法,其特征在于,在备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中之前,还包括:重启程序,并发送信号给备份恢复线程。
5.基于权利要求1~4所述的一种存储服务器IO栈内存数据保护方法的一种存储服务器IO栈内存数据保护装置,其特征在于,包括:
内存申请模块,用户态下IO进程通过第一磁盘申请内存,且同时读取当前内存的使用情况;
备份恢复模块,用于创建备份恢复线程;
异常线程模块,用于创建监控设备异常线程;
监控设备模块:通过监控设备异常线程监控IO进程,当发生异常时,发送异常信号到备份恢复线程;
第一数据保存模块,备份恢复线程读取第一磁盘中的内存数据并将内存数据保存到SSD中;
第二数据保存模块,备份恢复线程读取SSD中的内存数据并将内存数据保存到第二磁盘中。
6.根据权利要求5所述的一种存储服务器IO栈内存数据保护装置,其特征在于,还包括:
内存分配模块:用于通过内核驱动统一分配IO进程的内存,并将内存通过第一磁盘映射到用户态下。
7.根据权利要求5所述的一种存储服务器IO栈内存数据保护装置,其特征在于,还包括:
启动模块,用于启动DUMP_main进程。
8.根据权利要求5所述的一种存储服务器IO栈内存数据保护装置,其特征在于,还包括:
重启模块,用于重启程序,并发送信号给备份恢复线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710105156.XA CN106909477A (zh) | 2017-02-25 | 2017-02-25 | 一种存储服务器io栈内存数据保护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710105156.XA CN106909477A (zh) | 2017-02-25 | 2017-02-25 | 一种存储服务器io栈内存数据保护方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106909477A true CN106909477A (zh) | 2017-06-30 |
Family
ID=59209171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710105156.XA Pending CN106909477A (zh) | 2017-02-25 | 2017-02-25 | 一种存储服务器io栈内存数据保护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106909477A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089937A (zh) * | 2017-12-28 | 2018-05-29 | 努比亚技术有限公司 | 基于直接内存分配的重启定位方法、移动终端及存储介质 |
CN108871428A (zh) * | 2018-05-09 | 2018-11-23 | 南京思达捷信息科技有限公司 | 一种基于大数据的地质监控平台及其方法 |
CN111581024A (zh) * | 2020-05-06 | 2020-08-25 | 深圳忆联信息系统有限公司 | Ssd日志的动态备份恢复方法、装置和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722431A (zh) * | 2012-04-25 | 2012-10-10 | 华为技术有限公司 | 进程监控方法及装置 |
CN105718330A (zh) * | 2016-01-15 | 2016-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种Linux系统备份数据的恢复方法及装置 |
WO2016127903A1 (zh) * | 2015-02-13 | 2016-08-18 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置和系统 |
-
2017
- 2017-02-25 CN CN201710105156.XA patent/CN106909477A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722431A (zh) * | 2012-04-25 | 2012-10-10 | 华为技术有限公司 | 进程监控方法及装置 |
WO2016127903A1 (zh) * | 2015-02-13 | 2016-08-18 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置和系统 |
CN105718330A (zh) * | 2016-01-15 | 2016-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种Linux系统备份数据的恢复方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089937A (zh) * | 2017-12-28 | 2018-05-29 | 努比亚技术有限公司 | 基于直接内存分配的重启定位方法、移动终端及存储介质 |
CN108871428A (zh) * | 2018-05-09 | 2018-11-23 | 南京思达捷信息科技有限公司 | 一种基于大数据的地质监控平台及其方法 |
CN111581024A (zh) * | 2020-05-06 | 2020-08-25 | 深圳忆联信息系统有限公司 | Ssd日志的动态备份恢复方法、装置和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8020035B2 (en) | Expander circuit for a solid state persistent storage device that provides a plurality of interfaces to corresponding storage controllers | |
CN101887351B (zh) | 一种磁盘阵列容错方法及其系统 | |
CN103577121A (zh) | 一种基于nand flash的高可靠线性文件存取方法 | |
JP2004038290A (ja) | 情報処理システムおよび同システムで用いられるディスク制御方法 | |
CN102024044A (zh) | 分布式文件系统 | |
WO2019120133A1 (zh) | 一种基于固态硬盘的日志文件的读写方法及固态硬盘 | |
CN103049070A (zh) | 缓存数据的掉电保护方法及计算机设备 | |
US8762771B2 (en) | Method for completing write operations to a RAID drive pool with an abnormally slow drive in a timely fashion | |
WO2016095372A1 (zh) | 实现事务日志镜像备份的方法及装置 | |
CN106133704A (zh) | 内存故障隔离方法和装置 | |
JP2014120179A (ja) | 停電障害状況におけるイベントトレース情報の復旧 | |
CN101782875A (zh) | 存储设备和数据存储方法 | |
CN106909477A (zh) | 一种存储服务器io栈内存数据保护方法及装置 | |
CN101576966A (zh) | 一种读写存储卡的方法及装置 | |
CN102999399B (zh) | 一种jbod阵列自动恢复存储的方法和装置 | |
US20220334733A1 (en) | Data restoration method and related device | |
US11809295B2 (en) | Node mode adjustment method for when storage cluster BBU fails and related component | |
CN110837444B (zh) | 一种存储器故障处理方法及装置 | |
CN104572374B (zh) | 存储的处理方法、装置和存储设备 | |
CN104407806B (zh) | 独立磁盘冗余阵列组硬盘信息的修改方法和装置 | |
CN116204137B (zh) | 基于dpu的分布式存储系统、控制方法、装置及设备 | |
CN113391941B (zh) | 一种raid的读写超时处理方法、装置、设备及介质 | |
CN103761156A (zh) | 一种针对文件系统的在线修复方法 | |
US9348704B2 (en) | Electronic storage system utilizing a predetermined flag for subsequent processing of each predetermined portion of data requested to be stored in the storage system | |
US9836359B2 (en) | Storage and control method of the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170630 |
|
RJ01 | Rejection of invention patent application after publication |