CN110780811A - 数据保护方法、装置及存储介质 - Google Patents
数据保护方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110780811A CN110780811A CN201910888659.8A CN201910888659A CN110780811A CN 110780811 A CN110780811 A CN 110780811A CN 201910888659 A CN201910888659 A CN 201910888659A CN 110780811 A CN110780811 A CN 110780811A
- Authority
- CN
- China
- Prior art keywords
- power supply
- soft raid
- data
- soft
- memory
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
Abstract
本申请公开了一种数据保护方法、装置及存储介质,属于计算机技术领域。该方法应用于第一计算机设备,第一计算机设备包括主电源、备用电源、软RAID组、内存和处理器,在主电源供电的过程中,可以监测系统供电情况,当监测到系统断电时,将主电源切换至备用电源,以通过备用电源向软RAID组、软RAID缓存和处理器供电,在备用电源供电的过程中,可以将软RAID缓存中的数据存储至软RAID组中。也即是,当主电源供电发生异常时,第一计算机设备不会直接断电,而是通过备用电源提供短时间的供电,在这个过程中可以将软RAID缓存中的数据存储至软RAID组中,从而避免数据的丢失,保障了数据的可靠性。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种数据保护方法、装置及存储介质。
背景技术
独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)是指基于多个磁盘实现数据读写的一种技术,且通过RAID将该多个磁盘组成的磁盘组也可以称为RAID组。RAID根据实现原理不同,可以分为硬RAID和软RAID,硬RAID是通过硬件实现RAID功能,而软RAID是通过操作系统和CPU实现RAID功能。软RAID相较于硬RAID有不依赖专用固件、成本低廉、操作简单、方便易用等优点,因此得到了广泛的使用,但是当软RAID组中的任一磁盘故障或系统异常掉电时,软RAID没有能够保护数据的措施,因此亟需一种针对软RAID的数据保护方法。
相关技术中,对于软RAID,计算机设备可以实时地监测软RAID组中的每个磁盘的状态,当监测到任一磁盘发生故障时,确定该故障是否满足预警触发条件,如果满足预警触发条件,则显示告警信息,该告警信息用于指示软RAID组中有磁盘发生故障,从而便于用户进行处理,避免数据的丢失。
由此可见,对于软RAID,计算机设备通过监测软RAID组中每个磁盘的状态,可以在软RAID组中有磁盘发生故障时,及时地替换并恢复数据,但是该方法在系统异常掉电的情况下,仍然无法保障数据的可靠性。
发明内容
本申请提供了一种数据保护方法、装置及存储介质,可以解决软RAID在系统异常掉电的情况下无法保障数据的可靠性问题。所述技术方案如下:
第一方面,提供了一种数据保护方法,应用于第一计算机设备,所述第一计算机设备包括主电源、备用电源、软RAID组、内存和处理器,所述软RAID组是指通过软RAID组成的磁盘组,所述方法包括:
在所述主电源供电的过程中,监测系统供电情况;
当监测到系统断电时,将所述主电源切换至所述备用电源,以通过所述备用电源向所述软RAID组、软RAID缓存和所述处理器供电,所述软RAID缓存是指从所述内存中为所述软RAID分配的且能够通过所述备用电源供电的部分内存;
在所述备用电源供电的过程中,将所述软RAID缓存中的数据存储至所述软RAID组中。
在本申请中,第一计算机设备可以实时的监测系统的供电情况,当监测到系统将要断电时,切换至备用电源供电。在备用电源供电的过程中,可以将软RAID缓存中的数据写入软RAID组中。也即是,当主电源供电发生异常时,第一计算机设备不会直接断电,而是通过备用电源提供短时间的供电,在这个过程中可以将软RAID缓存中的数据存储至软RAID组中,从而避免数据的丢失,保障了数据的可靠性。
可选地,所述监测系统供电情况,包括:
监测系统的参考电平信号的变化情况;
所述当监测到系统断电时,将所述主电源切换至所述备用电源,包括:
当监测到所述参考电平信号的变化情况满足断电条件时,将所述主电源切换至所述备用电源。
作为一种示例,第一计算机设备会实时的监测参考电平信号的变化情况,当第一计算机设备监测到参考电平信号一直未发生变化时,说明参考电平信号表示的电压值是稳定的,也即主电源供电正常;当第一计算机设备监测到参考电平信号开始发生变化,说明参考电平信号表示的电压值开始发生变化,也即主电源供电发生异常,当电压值达到低压警戒值时,也即是,参考电平信号的变化情况满足断电条件,此时可以说明主电源不足以支持系统正常的供电,系统将会断电。换句话说,第一计算机设备可以实时地监测参考电平信号的变化情况,当第一计算机设备监测到参考电平信号表示的电压值达到低压警戒值时,也即是,参考电平信号的变化情况满足断电条件,此时可以确定系统将会断电。
需要说明的是,该低压警戒值为不能支持系统正常使用的电压值,且该低压警戒值可以根据经验设置。备用电源可以采用电池或电容,通过电池的蓄电或电容的充放电对第一计算机设备进行约为几分钟的供电。具体的供电器件和时间可以根据应用场景的不同进行调整。
可选地,所述在所述主电源供电的过程中,监测系统供电情况之前,还包括:
获取所述内存中能够通过所述备用电源供电的目标内存的地址范围;
按照所述目标内存的地址范围,从所述目标内存中划分出一部分内存作为所述软RAID缓存。
在一种可能的实现方式下,第一计算机设备可以将目标内存的地址范围存储于指定位置。这样,当获取内存中能够通过备用电源供电的目标内存的地址范围时,可以读取指定位置存储的地址范围,将读取的地址范围确定为内存中能够通过备用电源供电的目标内存的地址范围。之后,第一计算机设备可以从目标内存中划分出一部分内存作为软RAID缓存。
需要说明的是,可以对第一计算机设备的基本输入输出系统和操作系统的代码进行修改。这样,通过代码修改后的基本输入输出系统可以识别内存中能够通过备用电源供电的目标内存的地址范围,并上报给操作系统;通过代码修改后的操作系统可以从目标内存中划分出一部分内存作为软RAID缓存。
在一些实施例中,第一计算机设备可以从目标内存中划分出大小为参考数值的内存,作为软RAID缓存。当然,第一计算机设备也可以按照其他的方式,从目标内存中划分出一部分内存作为软RAID缓存。
需要说明的是,参考数值可以根据需求设置,参数数值小于或等于目标内存的大小。
可选地,第一计算机设备的操作系统在获取到目标内存的地址范围后,可以根据目标内存的地址范围对目标内存做一个特殊标记,该特殊标记用于区分目标内存与其余内存。基于此,后续第一计算机设备的操作系统可以从具有特殊标记的目标内存中划分出一部分内存作为软RAID缓存。
可选地,所述方法还包括:
接收数据写请求,所述数据写请求中携带待写入的第一目标数据;
将所述第一目标数据写入所述软RAID缓存中。
可选地,所述将所述第一目标数据写入所述软RAID缓存中之后,还包括:
将所述软RAID缓存中的所述第一目标数据写入所述软RAID组中。
作为一种示例,第一计算机设备可以每隔固定的时间将软RAID缓存中的数据写入软RAID组中,或者,当软RAID缓存中存储了设定容量的数据时,将软RAID缓存中的数据写入软RAID组中。当然,第一计算机设备也可以按照其他的方式,将软RAID缓存中的数据写入软RAID组中。总之,第一计算机设备每隔一段时间会将软RAID缓存中的数据写入软RAID组中。
由于软RAID缓存为内存中的一部分,而内存的写速度比磁盘的写速度快,因此,在本申请实施例中,可以先将待写入的第一目标数据写入软RAID缓存中,提高数据写速度。又由于在系统掉电后,内存中的数据可能会丢失,但是磁盘中的数据不会丢失,因此,第一计算机设备还可以每隔一段时间,将软RAID缓存中的数据写入软RAID组中,这样,在提高数据写速度的基础上,还可以保证数据的可靠性。
可选地,所述方法还包括:
接收第二计算机设备发送的数据读请求,所述数据读请求中携带待读取的第二目标数据的存储地址;
根据所述第二目标数据的存储地址,确定所述软RAID缓存中是否存在所述第二目标数据;
如果所述软RAID缓存中存在所述第二目标数据,则将所述软RAID缓存中的所述第二目标数据发送给所述第二计算机设备。
作为一种示例,为了保证数据可以读取成功,软RAID缓存中不仅可以存储数据,还可以存储数据在软RAID组中的存储地址。这样,当第一计算机设备接收到数据读请求之后,可以根据第二目标数据的存储地址,判断软RAID缓存中是否存在第二目标数据。若软RAID缓存中存在第二目标数据,则直接读取软RAID缓存中的第二目标数据返回给第二计算机设备。若软RAID缓存中不存在第二目标数据,则进一步通过第二目标数据的存储地址,在软RAID组中读取第二目标数据返回给第二计算机设备。
由于软RAID缓存为内存中的一部分,而内存的读速度比磁盘的读速度快,因此,在本申请实施例中,可以先从软RAID缓存中读取第二目标数据,从而提高数据读速度。在软RAID缓存中没有第二目标数据时,再从软RAID组中读取第二目标数据。
第二方面,提供了一种数据保护装置,所述数据保护装置具有实现上述第一方面中数据保护方法行为的功能。所述数据保护装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的数据保护方法。
第三方面,提供了一种数据保护设备,所述数据保护设备包括处理器和存储器,所述存储器用于存储执行上述第一方面所提供的数据保护方法的程序,以及存储用于实现上述第一方面所提供的数据保护方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据保护方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据保护方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请提供的技术方案至少可以带来以下有益效果:
在本申请中,第一计算机设备可以实时的监测系统的供电情况,当监测到系统将要断电时,切换至备用电源供电。在备用电源供电的过程中,可以将软RAID缓存中的数据写入软RAID组中。也即是,在本申请中,当主电源供电发生异常时,第一计算机设备不会直接断电,而是通过备用电源提供短时间的供电,在这个过程中可以将软RAID缓存中的数据存储至软RAID组中,从而避免数据的丢失,保障了数据的可靠性。
附图说明
图1是本申请实施例提供的一种计算机设备的结构示意图;
图2是本申请实施例提供的一种数据保护方法的流程图;
图3是本申请实施例提供的一种数据保护装置的结构示意图;
图4是本申请实施例提供的另一种数据保护装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,图1是根据本申请实施例示出的一种计算机设备的结构示意图。该计算机设备包括至少一个处理器101、通信总线102、存储器103、至少一个通信接口104以及备用电源105。
处理器101可以是一个通用中央处理器(central processing unit,CPU)、网络处理器(NP)、微处理器、或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线102用于在上述组件之间传送信息。通信总线102可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器103可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器103可以是独立存在,且包括有内存和软RAID组,内存包括有软RAID缓存,存储器103通过通信总线102与处理器101相连接。存储器103也可以和处理器101集成在一起。
通信接口104使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口204包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。
备用电源105可以使用任何蓄电元件,例如电池、电容等,用于对处理器101和部分存储器103进行短时间的供电。
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,如图1中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备可以包括多个处理器。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机设备还可以包括输出设备106和输入设备107(图中未示出)。输出设备106和处理器101通信,可以以多种方式来显示信息。例如,输出设备106可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emittingdiode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备107和处理器101通信,可以以多种方式接收用户的输入。例如,输入设备107可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器103用于存储执行本申请方案的程序代码110,处理器101可以执行存储器103中存储的程序代码110。也即是,该计算机设备可以通过处理器101以及存储器103中的程序代码110,来实现下文图2实施例提供的数据保护方法。
图2是本申请实施例提供的一种数据保护方法的流程图,该方法应用于第一计算机设备中,第一计算机设备包括主电源、备用电源、软RAID组、内存和处理器。其中,软RAID组是指通过软RAID组成的磁盘组。请参考图2,该方法包括如下步骤。
步骤201:在主电源供电的过程中,监测系统供电情况。
在一些实施例中,系统的供电情况可以通过参考电平信号的变化情况来表征。也即是,第一计算机设备可以监测系统的参考电平信号的变化情况,通过参考电平信号的变化情况确定系统的供电情况。
其中,参考电平信号可以采用二进制的方式表示电压值。比如,当电压值为+5V时,可以通过二进制数“1”来表示,当电压值为0V时,可以通过二进制数“0”来表示。
作为一种示例,第一计算机设备会实时的监测参考电平信号的变化情况,当第一计算机设备监测到参考电平信号一直未发生变化时,说明参考电平信号表示的电压值是稳定的,也即主电源供电正常;当第一计算机设备监测到参考电平信号开始发生变化,说明参考电平信号表示的电压值开始发生变化,也即主电源供电发生异常,当电压值达到低压警戒值时,也即是,参考电平信号的变化情况满足断电条件,此时可以说明主电源不足以支持系统正常的供电,系统将会断电。换句话说,第一计算机设备可以实时地监测参考电平信号的变化情况,当第一计算机设备监测到参考电平信号表示的电压值达到低压警戒值时,也即是,参考电平信号的变化情况满足断电条件,此时可以确定系统将会断电。
需要说明的是,该低压警戒值为不能支持系统正常使用的电压值,且该低压警戒值可以根据经验设置。
示例性地,第一计算机设备实时的监测参考电平信号的变化情况,当第一计算机设备监测到参考电平信号为高电平时,说明主电源供电正常;当第一计算机设备监测到参考电平信号为一个下降沿,也即电压值开始逐渐减小时,说明主电源供电发生异常。当第一计算机设备监测到参考电平信号表示的电压值减小到低压警戒值时,说明系统将会断电。
在另一些实施例中,系统的供电情况可以通过标志位的变化情况来表征。也即是,第一计算机设备可以监测系统的标志位的变化情况,通过标志位的变化情况确定系统的供电情况。
其中,标志位为可以变化的数值。当标志位的数值为第一数值时,标志位有效,第一数值用于指示系统将要断电。
需要说明的是,在本申请实施例中,第一计算机设备可以监测主电源的供电电压,当第一计算机设备监测到主电源的供电电压达到低压警戒值时,可以将标志位的数值置为第一数值。这样,在第一计算机设备实时监测标志位的变化情况时,可以通过标志位的数值,确定系统是否将会断电。
作为一种示例,第一计算机设备会实时的监测标志位的变化情况,当第一计算机设备监测到标志位不为第一数值时,说明标志位无效,此时主电源供电正常;当第一计算机设备监测到标志位变化为第一数值时,说明标志位有效,此时主电源供电发生异常,并且电压值已经变化到低压警戒值,主电源不足以支持系统正常的供电,系统将会断电。换句话说,第一计算机设备可以实时地监测标志位的变化情况,当第一计算机设备监测到标志位为第一数值时,第一计算机设备确定标志位有效,系统将会断电。
进一步地,在主电源供电的过程中,监测系统供电情况之前,还可以获取内存中能够通过备用电源供电的目标内存的地址范围。按照目标内存的地址范围,从目标内存中划分出一部分内存作为软RAID缓存。
在一种可能的实现方式下,第一计算机设备可以将目标内存的地址范围存储于指定位置。这样,当获取内存中能够通过备用电源供电的目标内存的地址范围时,可以读取指定位置存储的地址范围,将读取的地址范围确定为内存中能够通过备用电源供电的目标内存的地址范围。之后,第一计算机设备可以从目标内存中划分出一部分内存作为软RAID缓存。
在一些实施例中,第一计算机设备可以从目标内存中划分出大小为参考数值的内存,作为软RAID缓存。当然,第一计算机设备也可以按照其他的方式,从目标内存中划分出一部分内存作为软RAID缓存。
需要说明的是,参考数值可以根据需求设置,参数数值小于或等于目标内存的大小。
值得注意的是,在本申请实施例中,可以对第一计算机设备的操作系统和基本输入输出系统的代码进行修改。这样,通过代码修改后的基本输入输出系统可以从指定位置读取目标内存的地址范围,并将目标内存的地址范围上报给操作系统。这样,通过代码修改后的操作系统可以按照目标内存的地址范围,从目标内存中划分出一部分内存作为软RAID缓存。
可选地,操作系统在获取到目标内存的地址范围后,可以根据目标内存的地址范围对目标内存做一个特殊标记,该特殊标记用于区分目标内存与其余内存。基于此,后续第一计算机设备的操作系统可以从具有特殊标记的目标内存中划分出一部分内存作为软RAID缓存。
需要说明的是,在主电源供电的过程中,可以在第一计算机设备中创建软RAID。软RAID可以把第一计算机设备中的多个磁盘组合成一个磁盘组,从而提升磁盘的性能或提供数据冗余保护。当第一计算机设备的操作系统为Linux系统时,可以通过mdadm命令创建软RAID。
步骤202:当监测到系统断电时,将主电源切换至备用电源,以通过备用电源向软RAID组、软RAID缓存和处理器供电。
需要说明的是,第一计算机设备中可以增加一个备用电源。当第一计算机设备监测到系统断电时,可以切换使用备用电源对软RAID组、软RAID缓存和处理器进行短时间的供电。
示例性地,备用电源可以采用电池或电容,通过电池的蓄电或电容的充放电对第一计算机设备进行约为几分钟的供电。具体的供电器件和时间可以根据应用场景的不同进行调整。
在一种可能的情况下,备用电源可以向第一计算机设备的整个系统进行供电。与主电源供电时相同,在备用电源供电的过程中,第一计算机设备的各种功能都可以正常的使用,这样,可以将软RAID缓存中的内容写入软RAID组中。
在另一种可能的情况下,备用电源可以向第一计算机设备的软RAID组、目标内存和处理器进行供电。在备用电源供电的过程中,第一计算机设备会关闭部分功能,存储数据的功能可以正常的使用。由于软RAID缓存为目标内存中的一部分内存。因此,在备用电源供电的过程中,第一计算机设备可以将软RAID缓存中的内容写入软RAID组中。
在另一种可能的情况下,备用电源可以向第一计算机设备的软RAID组、软RAID缓存和处理器进行供电。在备用电源供电的过程中,第一计算机设备仅有存储数据的功能可以正常的使用。在这种情况下,备用电源仅向软RAID缓存这部分内存进行供电。在备用电源供电的过程中,第一计算机设备可以将软RAID缓存中的内容写入软RAID组中。
值得注意的是,当备用电源向第一计算机设备的整个系统供电时,所需的功率很高,成本很高,备用电源的硬件装置占用的空间也很大,而整个系统中的很多部分在数据存储的过程中并没有使用,过于浪费资源。因此,在本申请实施例中,可以通过备用电源优先向软RAID组、软RAID缓存和处理器进行供电,或者,向软RAID组、目标内存和处理器进行供电。
进一步地,由于本申请主要是针对软RAID在系统异常掉电的情况下,如何保证软RAID的数据的可靠性,因此,在一些实施例中,可以优先向软RAID组、软RAID缓存和处理器进行供电。
步骤203:在备用电源供电的过程中,将软RAID缓存中的数据存储至软RAID组中。
当第一计算机设备切换使用备用电源供电后,备用电源可以对软RAID组、软RAID缓存和处理器进行短时间的供电。在备用电源供电的过程中,可以将软RAID缓存中存储的数据写入软RAID组中,当软RAID缓存中的数据全部写入软RAID组中,可以停止备用电源的供电。
在一种可能的实现方式下,第一计算机设备可以通过指针将软RAID缓存中的数据写入软RAID组。也即是,第一计算机设备可以通过指针指向软RAID缓存中的数据的首部,将指针指向的数据写入软RAID组中。每写入一次数据,指针就移动相应的位置,指向下一次应该写入的数据的首部,直至软RAID缓存中为空时,数据已经全部写入软RAID组中,此时,可以停止备用电源的供电。
需要说明的是,当第一计算机设备监测到系统将要断电时,将主电源切换至备用电源,同时,第一计算机设备可以停止当前正在执行的任务,转而处理将软RAID缓存中的数据存储至软RAID组中的任务。示例地,备用电源可以向处理器发送掉电中断请求。处理器接收到掉电中断请求后,会响应该掉电中断,也即是,处理器暂时停止当前正在执行的任务,转而执行将软RAID缓存中的数据全部写入软RAID组中的任务。
在本申请实施例中,可以通过代码修改后的操作系统,在备用电源供电的过程中,将软RAID缓存中的数据存储至软RAID组中。
在本申请实施例中,除了在系统异常掉电的情况下,保障数据的可靠性,还可以提高数据读写性能。接下来,对数据的读写分别进行说明。
在一些实施例中,第一计算机设备可以接收数据写请求,数据写请求中携带待写入的第一目标数据。将第一目标数据写入软RAID缓存中。进一步地,在将第一目标数据写入软RAID缓存之后,可以将软RAID缓存中的第一目标数据写入软RAID组中。
作为一种示例,第一计算机设备可以每隔固定的时间将软RAID缓存中的数据写入软RAID组中,或者,当软RAID缓存中存储了设定容量的数据时,将软RAID缓存中的数据写入软RAID组中。当然,第一计算机设备也可以按照其他的方式,将软RAID缓存中的数据写入软RAID组中。总之,第一计算机设备每隔一段时间会将软RAID缓存中的数据写入软RAID组中。
由于软RAID缓存为内存中的一部分,而内存的写速度比磁盘的写速度快,因此,在本申请实施例中,可以先将待写入的第一目标数据写入软RAID缓存中,提高数据写速度。又由于在系统掉电后,内存中的数据可能会丢失,但是磁盘中的数据不会丢失,因此,第一计算机设备还可以每隔一段时间,将软RAID缓存中的数据写入软RAID组中,这样,在提高数据写速度的基础上,还可以保证数据的可靠性。
在一些实施例中,第一计算机设备可以接收第二计算机设备发送的数据读请求,数据读请求中携带待读取的第二目标数据的存储地址。根据第二目标数据的存储地址,确定软RAID缓存中是否存在第二目标数据。如果软RAID缓存中存在第二目标数据,则将软RAID缓存中的第二目标数据发送给第二计算机设备。
作为一种示例,为了保证数据可以读取成功,软RAID缓存中不仅可以存储数据,还可以存储数据在软RAID组中的存储地址。这样,当第一计算机设备接收到数据读请求之后,可以根据第二目标数据的存储地址,判断软RAID缓存中是否存在第二目标数据。若软RAID缓存中存在第二目标数据,则直接读取软RAID缓存中的第二目标数据返回给第二计算机设备。若软RAID缓存中不存在第二目标数据,则进一步通过第二目标数据的存储地址,在软RAID组中读取第二目标数据返回给第二计算机设备。
由于软RAID缓存为内存中的一部分,而内存的读速度比磁盘的读速度快,因此,在本申请实施例中,可以先从软RAID缓存中读取第二目标数据,从而提高数据读速度。在软RAID缓存中没有第二目标数据时,再从软RAID组中读取第二目标数据。
值得注意的是,在本申请实施例中,可以通过代码修改后的操作系统进行上述读写操作。
在本申请实施例中,第一计算机设备可以实时的监测系统的供电情况,当监测到系统断电时,切换至备用电源供电,通过备用电源可以对软RAID组、软RAID缓存和处理器提供短时间的供电,在备用电源供电的过程中,可以将软RAID缓存中的数据写入软RAID组中。也即是,在本申请实施例中,当主电源供电发生异常时,第一计算机设备不会直接断电,而是通过备用电源提供短时间的供电,在这个时间内可以将软RAID缓存中的数据存储至软RAID组中,从而保障了数据的可靠性。
图3是本申请实施例提供的一种数据保护装置300的结构示意图,该数据保护装置可以由软件、硬件或者两者的结合实现成为第一计算机设备的部分或者全部,该第一计算机设备可以为图1所示的计算机设备。参见图3,该装置包括:监测模块301、切换模块302和存储模块303。
监测模块301,用于执行图2实施例中的步骤201的操作;
切换模块302,用于执行图2实施例中的步骤202的操作;
存储模块303,用于执行图2实施例中的步骤203的操作。
可选地,监测模块301具体用于:
监测系统的参考电平信号的变化情况;
切换模块具体用于:
当监测到参考电平信号的变化情况满足断电条件时,将主电源切换至备用电源。
可选地,参见图4,该装置还包括:
获取模块304,用于获取内存中能够通过备用电源供电的目标内存的地址范围;
划分模块305,用于按照目标内存的地址范围,从目标内存中划分出一部分内存作为软RAID缓存。
可选地,该装置还包括:
第一接收模块,用于接收数据写请求,数据写请求中携带待写入的第一目标数据;
第一写入模块,用于将第一目标数据写入软RAID缓存中。
可选地,该装置还包括:
第二写入模块,用于将软RAID缓存中的第一目标数据写入软RAID组中。
可选地,该装置还包括:
第二接收模块,用于接收第二计算机设备发送的数据读请求,数据读请求中携带待读取的第二目标数据的存储地址;
确定模块,用于根据第二目标数据的存储地址,确定软RAID缓存中是否存在第二目标数据;
发送模块,用于如果软RAID缓存中存在第二目标数据,则将软RAID缓存中的第二目标数据发送给第二计算机设备。
在本申请实施例中,第一计算机设备可以实时的监测系统的供电情况,当监测到系统即将断电时,切换至备用电源供电,在备用电源供电的过程中,可以将软RAID缓存中的数据写入软RAID组中。也即是,在本申请实施例中,当主电源供电发生异常时,第一计算机设备不会直接断电,而是通过备用电源提供短时间的供电,在这个时间内可以将软RAID缓存中的数据存储至软RAID组中,从而避免数据的丢失,保障了数据的可靠性。
需要说明的是:上述实施例提供的数据保护装置在数据保护时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据保护装置与数据保护方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。值得注意的是,本申请提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,本文提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种数据保护方法,其特征在于,应用于第一计算机设备,所述第一计算机设备包括主电源、备用电源、软独立磁盘冗余阵列RAID组、内存和处理器,所述软RAID组是指通过软RAID组成的磁盘组,所述方法包括:
在所述主电源供电的过程中,监测系统供电情况;
当监测到系统断电时,将所述主电源切换至所述备用电源,以通过所述备用电源向所述软RAID组、软RAID缓存和所述处理器供电,所述软RAID缓存是指从所述内存中为所述软RAID分配的且能够通过所述备用电源供电的部分内存;
在所述备用电源供电的过程中,将所述软RAID缓存中的数据存储至所述软RAID组中。
2.如权利要求1所述的方法,其特征在于,所述监测系统供电情况,包括:
监测系统的参考电平信号的变化情况;
所述当监测到系统断电时,将所述主电源切换至所述备用电源,包括:
当监测到所述参考电平信号的变化情况满足断电条件时,将所述主电源切换至所述备用电源。
3.如权利要求1或2所述的方法,其特征在于,所述在所述主电源供电的过程中,监测系统供电情况之前,还包括:
获取所述内存中能够通过所述备用电源供电的目标内存的地址范围;
按照所述目标内存的地址范围,从所述目标内存中划分出一部分内存作为所述软RAID缓存。
4.如权利要求1-3任一所述的方法,其特征在于,所述方法还包括:
接收数据写请求,所述数据写请求中携带待写入的第一目标数据;
将所述第一目标数据写入所述软RAID缓存中。
5.如权利要求4所述的方法,其特征在于,所述将所述第一目标数据写入所述软RAID缓存中之后,还包括:
将所述软RAID缓存中的所述第一目标数据写入所述软RAID组中。
6.如权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
接收第二计算机设备发送的数据读请求,所述数据读请求中携带待读取的第二目标数据的存储地址;
根据所述第二目标数据的存储地址,确定所述软RAID缓存中是否存在所述第二目标数据;
如果所述软RAID缓存中存在所述第二目标数据,则将所述软RAID缓存中的所述第二目标数据发送给所述第二计算机设备。
7.一种数据保护装置,其特征在于,应用于第一计算机设备,所述第一计算机设备包括主电源、备用电源、软独立磁盘冗余阵列RAID组、内存和处理器,所述软RAID组是指通过软RAID组成的磁盘组,所述装置包括:
监测模块,用于在所述主电源供电的过程中,监测系统供电情况;
切换模块,用于当监测到系统断电时,将所述主电源切换至所述备用电源,以通过所述备用电源向所述软RAID组、软RAID缓存和所述处理器供电,所述软RAID缓存是指从所述内存中为所述软RAID分配的且能够通过所述备用电源供电的部分内存;
存储模块,用于在所述备用电源供电的过程中,将所述软RAID缓存中的数据存储至所述软RAID组中。
8.如权利要求7所述的装置,其特征在于,所述监测模块具体用于:
监测系统的参考电平信号的变化情况;
所述切换模块具体用于:
当监测到所述参考电平信号的变化情况满足断电条件时,将所述主电源切换至所述备用电源。
9.如权利要求7或8所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取所述内存中能够通过所述备用电源供电的目标内存的地址范围;
划分模块,用于按照所述目标内存的地址范围,从所述目标内存中划分出一部分内存作为所述软RAID缓存。
10.如权利要求7-9任一所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收数据写请求,所述数据写请求中携带待写入的第一目标数据;
第一写入模块,用于将所述第一目标数据写入所述软RAID缓存中。
11.如权利要求10所述的装置,其特征在于,所述装置还包括:
第二写入模块,用于将所述软RAID缓存中的所述第一目标数据写入所述软RAID组中。
12.如权利要求7-11任一所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收第二计算机设备发送的数据读请求,所述数据读请求中携带待读取的第二目标数据的存储地址;
确定模块,用于根据所述第二目标数据的存储地址,确定所述软RAID缓存中是否存在所述第二目标数据;
发送模块,用于如果所述软RAID缓存中存在所述第二目标数据,则将所述软RAID缓存中的所述第二目标数据发送给所述第二计算机设备。
13.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910888659.8A CN110780811B (zh) | 2019-09-19 | 2019-09-19 | 数据保护方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910888659.8A CN110780811B (zh) | 2019-09-19 | 2019-09-19 | 数据保护方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110780811A true CN110780811A (zh) | 2020-02-11 |
CN110780811B CN110780811B (zh) | 2021-10-15 |
Family
ID=69383607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910888659.8A Active CN110780811B (zh) | 2019-09-19 | 2019-09-19 | 数据保护方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110780811B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363864A (zh) * | 2020-11-09 | 2021-02-12 | 海光信息技术股份有限公司 | 检测数据维持有效性的方法、检测装置和芯片 |
CN112621719A (zh) * | 2020-12-11 | 2021-04-09 | 珠海格力电器股份有限公司 | 示教器系统文件保护方法、装置、存储介质及示教器 |
CN114675791A (zh) * | 2022-05-27 | 2022-06-28 | 苏州浪潮智能科技有限公司 | 一种磁盘处理方法、系统及电子设备 |
CN117055822A (zh) * | 2023-10-11 | 2023-11-14 | 苏州元脑智能科技有限公司 | NVME SSD Raid卡板载备电系统及控制方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101241477A (zh) * | 2007-02-07 | 2008-08-13 | 株式会社日立制作所 | 存储控制装置和数据管理方法 |
CN101548271A (zh) * | 2006-12-08 | 2009-09-30 | 桑德福斯公司 | 多个存储装置中的数据冗余 |
CN101552032A (zh) * | 2008-12-12 | 2009-10-07 | 深圳市晶凯电子技术有限公司 | 用较大容量dram参与闪存介质管理构建高速固态存储盘的方法及装置 |
US20110010499A1 (en) * | 2009-07-09 | 2011-01-13 | Fujitsu Limited | Storage system, method of controlling storage system, and method of controlling control apparatus |
US20120167079A1 (en) * | 2010-12-22 | 2012-06-28 | Lsi Corporation | Method and system for reducing power loss to backup io start time of a storage device in a storage virtualization environment |
CN102662791A (zh) * | 2010-12-14 | 2012-09-12 | 西部数据技术公司 | 在万一失去电力时维护固态存储器内数据冗余方案的系统和方法 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
US20140006834A1 (en) * | 2012-06-29 | 2014-01-02 | Fujitsu Limited | Control device, power supply device, and method for controlling power |
US20140195718A1 (en) * | 2013-01-07 | 2014-07-10 | Lsi Corporation | Control logic design to support usb cache offload |
CN106557143A (zh) * | 2015-09-28 | 2017-04-05 | 伊姆西公司 | 用于数据存储设备的装置和方法 |
-
2019
- 2019-09-19 CN CN201910888659.8A patent/CN110780811B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101548271A (zh) * | 2006-12-08 | 2009-09-30 | 桑德福斯公司 | 多个存储装置中的数据冗余 |
CN101241477A (zh) * | 2007-02-07 | 2008-08-13 | 株式会社日立制作所 | 存储控制装置和数据管理方法 |
CN101552032A (zh) * | 2008-12-12 | 2009-10-07 | 深圳市晶凯电子技术有限公司 | 用较大容量dram参与闪存介质管理构建高速固态存储盘的方法及装置 |
US20110010499A1 (en) * | 2009-07-09 | 2011-01-13 | Fujitsu Limited | Storage system, method of controlling storage system, and method of controlling control apparatus |
CN102662791A (zh) * | 2010-12-14 | 2012-09-12 | 西部数据技术公司 | 在万一失去电力时维护固态存储器内数据冗余方案的系统和方法 |
US20120167079A1 (en) * | 2010-12-22 | 2012-06-28 | Lsi Corporation | Method and system for reducing power loss to backup io start time of a storage device in a storage virtualization environment |
US20140006834A1 (en) * | 2012-06-29 | 2014-01-02 | Fujitsu Limited | Control device, power supply device, and method for controlling power |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
US20140195718A1 (en) * | 2013-01-07 | 2014-07-10 | Lsi Corporation | Control logic design to support usb cache offload |
CN106557143A (zh) * | 2015-09-28 | 2017-04-05 | 伊姆西公司 | 用于数据存储设备的装置和方法 |
Non-Patent Citations (3)
Title |
---|
STEPHEN J. BIGELOW: "《计算机网络故障排除与维护实用大全》", 31 January 2006 * |
卜海兵: "《数据存储、恢复与安全应用实践》", 31 May 2012 * |
徐仁贵: "《单片微型计算机应用技术》", 28 February 2001 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363864A (zh) * | 2020-11-09 | 2021-02-12 | 海光信息技术股份有限公司 | 检测数据维持有效性的方法、检测装置和芯片 |
CN112363864B (zh) * | 2020-11-09 | 2023-10-27 | 海光信息技术股份有限公司 | 检测数据维持有效性的方法、检测装置和芯片 |
CN112621719A (zh) * | 2020-12-11 | 2021-04-09 | 珠海格力电器股份有限公司 | 示教器系统文件保护方法、装置、存储介质及示教器 |
CN114675791A (zh) * | 2022-05-27 | 2022-06-28 | 苏州浪潮智能科技有限公司 | 一种磁盘处理方法、系统及电子设备 |
CN114675791B (zh) * | 2022-05-27 | 2022-10-28 | 苏州浪潮智能科技有限公司 | 一种磁盘处理方法、系统及电子设备 |
CN117055822A (zh) * | 2023-10-11 | 2023-11-14 | 苏州元脑智能科技有限公司 | NVME SSD Raid卡板载备电系统及控制方法 |
CN117055822B (zh) * | 2023-10-11 | 2024-02-06 | 苏州元脑智能科技有限公司 | NVME SSD Raid卡板载备电系统及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110780811B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110780811B (zh) | 数据保护方法、装置及存储介质 | |
KR102329762B1 (ko) | 메모리 데이터 보호 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법 | |
US8352779B2 (en) | Performing redundant memory hopping | |
EP3282362B1 (en) | Memory data migration method and apparatus, and computer | |
US9501231B2 (en) | Storage system and storage control method | |
US9811465B2 (en) | Computer system and cache control method | |
US8949659B2 (en) | Scheduling workloads based on detected hardware errors | |
US10565108B2 (en) | Write-back cache for storage controller using persistent system memory | |
US12013758B2 (en) | Methods and systems for power failure resistance for a distributed storage system | |
US20220334733A1 (en) | Data restoration method and related device | |
US20160196085A1 (en) | Storage control apparatus and storage apparatus | |
EP4036735A1 (en) | Method, apparatus and readable storage medium | |
US10234929B2 (en) | Storage system and control apparatus | |
US20230251931A1 (en) | System and device for data recovery for ephemeral storage | |
CN112667422A (zh) | 内存故障处理方法及装置、计算设备、存储介质 | |
US20210349781A1 (en) | Systems, methods, and devices for data recovery using parity space as recovery space | |
US9568986B2 (en) | System-wide power conservation using memory cache | |
US20130232377A1 (en) | Method for reusing resource and storage sub-system using the same | |
US10956245B1 (en) | Storage system with host-directed error scanning of solid-state storage devices | |
US10990313B2 (en) | Multi-storage node system and capacity management method of multi-storage node system | |
US9836359B2 (en) | Storage and control method of the same | |
US10579392B2 (en) | System and method for mapping physical memory with mixed storage class memories | |
CN106933558A (zh) | 一种电源控制方法及装置 | |
CN118113497A (zh) | 内存故障处理方法及装置 | |
CN117520053A (zh) | 一种基于主备复制协议的数据库系统管理方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |