CN110308861B - 存储数据保存方法、装置、电子设备和可读存储介质 - Google Patents
存储数据保存方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN110308861B CN110308861B CN201810232377.8A CN201810232377A CN110308861B CN 110308861 B CN110308861 B CN 110308861B CN 201810232377 A CN201810232377 A CN 201810232377A CN 110308861 B CN110308861 B CN 110308861B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- flag bit
- valid
- validity
- 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.)
- Active
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000006870 function Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004321 preservation Methods 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000005192 partition Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- 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
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了存储数据保存方法、装置、电子设备和可读存储介质,涉及数据存储技术领域,包括获取存储数据,判断所述存储数据的数据类型,其中,所述数据类型按照功能用途进行划分;按照所述数据类型将所述存储数据在数据存储设备中生成数据文件,本申请使用文件保存写缓存和RAID重建数据,不需要指定保存地址和中间内存,使用和维护更加灵活,读写速度更加迅速。
Description
技术领域
本发明涉及数据存储技术领域,尤其是涉及存储数据保存方法、装置、电子设备和可读存储介质。
背景技术
系统运行过程中,存储的写缓存和磁盘阵列(Redundant Arrays of IndependentDisks,RAID)局部重建相关数据都是使用内存存放的,该部分数据在系统掉电后会丢失。另外系统关机时,无法写入磁盘的写缓存和RAID重建数据留在内存中也会丢失。因此异常断电或正常关机时,未写入磁盘的写缓存和RAID重建数据必须写入CF卡(Compact Flash,系统盘)进行保存。
当前,CF卡给要保存的数据划分足够大的分区之后,还要给定写缓存和RAID重建数据保存区域的起始LBA地址,不利于产品拓展和维护,且在保存数据时,必须使用带页表内存(比如kmalloc内存)分批次先拷贝数据,再写入CF卡,降低了拷贝速度,加长了拷贝时间。正常关机写时间长会影响用户体验,异常断电写时间长需要电池供电时间加长。系统启动恢复数据时,也必须使用带页结构内存分批次先读出数据,再写入写缓存和RAID重建数据空间,也影响用户开机体验。
发明内容
有鉴于此,本发明的目的在于提供存储数据保存方法、装置、电子设备和可读存储介质,使用文件保存写缓存和RAID重建数据,不需要指定保存地址和中间内存,使用和维护更加灵活,读写速度更加迅速。
第一方面,本发明实施例提供了存储数据保存方法,应用于电子设备,包括:
获取存储数据,判断所述存储数据的数据类型,其中,所述数据类型按照功能用途进行划分;
按照所述数据类型将所述存储数据在数据存储设备中生成数据文件。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,还包括:
建立与所述数据文件相对应的标志位文件,并将所述标志位文件放置于所述数据存储设备中,其中,所述标志位文件的名称与所述数据类型相关联;
判断所述标志位文件中的标志位的有效性,根据所述标志位的有效性进行写入或读出操作,并将所述标志位的有效性进行更改。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述判断所述标志位文件中的标志位的有效性,根据所述标志位的有效性进行写入或读出操作,并将所述标志位的有效性进行更改包括:
判断所述标志位文件中的标志位是否有效;
在系统启动的情况下,若有效,则可于所述数据存储设备中读出所述数据文件,并将所述标志位置为无效;
在异常断电或系统关闭的情况下,若无效,则可于内存中将所述数据写入所述数据存储设备,并将所述标志位置为有效。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述判断所述标志位文件中的标志位是否有效包括:
判断所述标志位文件中的标志位是否与预设值相等;
当所述标志位与所述预设值相等时,则有效;
当所述标志位与所述预设值不相等时,则无效。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述存储数据包括写缓存数据和磁盘阵列重建数据,所述方法还包括:
在将所述存储数据写入所述数据存储设备的情况下,先根据所述写缓存数据的标志位的有效性进行相应操作,再根据所述磁盘阵列重建数据的标志位的有效性进行相应操作;
或者,
在从所述数据存储设备读出所述存储数据的情况下,先根据所述磁盘阵列重建数据的标志位的有效性进行相应操作,再根据所述写缓存数据的标志位的有效性进行相应操作。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述于内存中将所述数据文件写入所述数据存储设备包括:
判断所述数据中脏数据标志是否有效;
当所述脏数据标志有效时,将所述数据写入所述数据存储设备。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述当所述脏数据标志有效时,将所述数据写入所述数据存储设备包括:
当所述脏数据标志有效时,以预设模式打开所述数据文件;
将所述数据中的多个数据块写入所述数据存储设备,直至所述数据中的所述数据块都被遍历。
第二方面,本发明实施例提供了存储数据保存装置,包括
类型判断模块,用于获取所述存储数据,判断所述存储数据的数据类型,其中,所述数据类型按照功能用途进行划分;
文件生成模块,用于按照所述数据类型将所述存储数据在数据存储设备中生成数据文件。
第三方面,本发明实施例提供了电子设备,所述电子设备包括:
存储介质;
处理器;以及
类型判断模块,用于获取存储数据,判断所述存储数据的数据类型,其中,所述数据类型按照功能用途进行划分;
文件生成模块,用于按照所述数据类型将所述存储数据在数据存储设备中生成数据文件。
第四方面,本发明实施例还提供可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现如上所述的存储数据保存方法。
本发明实施例提供了存储数据保存方法、装置、电子设备和可读存储介质,包括获取存储数据,判断所述存储数据的数据类型,其中,所述数据类型按照功能用途进行划分;按照所述数据类型将所述存储数据在数据存储设备中生成数据文件,本申请使用文件保存写缓存和RAID重建数据,不需要指定保存地址和中间内存,使用和维护更加灵活,读写速度更加迅速。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的存储数据保存方法流程图之一;
图2为本发明实施例提供的存储数据保存方法流程图之二;
图3为本发明实施例提供的存储数据保存方法流程图之三;
图4为本发明实施例提供的用于实现上述存储数据保存方法的电子设备的方框示意图。
图标:100-电子设备;110-存储介质;120-处理器;200-存储数据保存装置;210-类型判断模块;220-文件生成模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的存储方式是将写缓存数据和RAID重建数据写入CF卡,将CF卡作为一个块设备,上述数据以写入块设备的方式保存。存储一套软件需要适配很多不同产品,不同产品的总内存和CF卡大小不一样,CF卡上给写缓存和RAID重建数据划分的区域不一样。在CF卡上给要保存的数据划分足够大的分区之后,首先要根据产品型号和写入的数据类别获取要写入CF卡块设备对应区域的起始LBA地址;其次,存储的写缓存数据和RAID重建数据都是使用GRUB(GRand Unified Bootloader)预留的物理内存进行IOREMAP函数操作后的空间,该空间在内核中没有对应的页表,所以IOREMAP内存不能直接用来写入块设备,要申请一块带页表的内存(比如kmalloc),将上述数据先拷贝到kmalloc内存后再写入块设备,当系统发生异常断电后,进入小系统,小系统内的内存有限,所以每次拷贝数据的kmalloc内存大小为128KB,这就导致上述数据经常需要通过带页表的内存多次循环传输,才能全部传输至CF卡;最后,当系统重新启动时,需要将保存在CF卡中的写缓存数据和RAID重建数据重新读到IOREMAP内存中使用,进行恢复数据的相关操作。读取过程和写入过程相似,先从CF卡读数据到kmalloc内存,再拷贝到IOREMAP的写缓存或RAID重建数据区域;同样每次读取128KB,循环很多次直至读完全部数据;
另外,系统在启动过程中,有可能还没有将CF卡中数据读出,或者读的过程中,系统又异常掉电了,此时系统内存中的写缓存数据和RAID重建数据是错误的,CF卡中的是之前保存的正确的数据,若将内存中的错误数据再写入CF卡中,会导致CF卡中之前保存的正确的数据丢失,即系统二次异常掉电时,之前保存的数据会被破坏丢失;
基于此,本发明实施例提供的存储数据保存方法、装置、电子设备和可读存储介质,CF卡给要保存的数据划分足够大的分区之后,不用各个产品指定存放LBA地址,直接使用文件名保存和区分写缓存和RAID重建数据/标志,还可以直接查看文件内数据,易于产品拓展、维护和定位,读写速度更加迅速,并增加与数据相对应的有效标志位,保证二次异常情况下CF卡保存数据不丢失,使用文件不需要中间的带页表的内存转存数据,且写文件时只写实际有数据的写缓存和RAID重建内存数据,能极大缩短异常掉电或正常关机时写数据时间和启动时数据读取时间,提高用户体验,降低异常断电时的电池供电时间要求。
为便于对本实施例进行理解,首先对本发明实施例所公开的存储数据保存方法进行详细介绍。
图1为本发明实施例提供的存储数据保存方法流程图之一。
参照图1,存储数据保存方法,应用于电子设备,包括以下步骤:
步骤S110,获取存储数据,判断存储数据的数据类型,其中,数据类型按照功能用途进行划分;
步骤S120,按照数据类型将存储数据在数据存储设备中生成数据文件。
具体地,本发明将写缓存数据和RAID重建数据以文件的方式保存,CF卡给要保存的数据划分足够大的分区之后,不需要关心每一块区域的存放位置,只需要将不同的数据保存为不同名称的文件就可以。以写文件的方式也不需要内存必须有页表,可以直接使用IOREMAP内存写入,每次写入/读出的大小系统限制为2GB,小于2GB的文件可以一次完全读写完,写缓存数据超过2GB时,才需要循环两次就可读完。如果内存配置较大,写缓存内存更大,比如5GB,需要三次或更多次。
作为一种可选的实施方式,根据不同的数据类型能够得到与各个不同数据类型相互关联的多个不同的第一名称,每个第一名称与其相关联的数据类型一一对应,即用户能够通过以第一名称命名的数据文件来区分数据文件中存储数据的数据类型;
优选地,第一名称可为数据类型本身,即数据文件可以其存储数据的数据类型命名;
进一步的,本发明实施例提供的方法还包括:
步骤S130,建立与数据文件相对应的标志位文件,并将标志位文件放置于数据存储设备中,其中,标志位文件以第二名称命名,所述第二名称与所述数据类型相关联;
作为一种可选的实施方式,标志位文件的第二名称与其相对应的数据文件中存储数据的数据类型相互关联,具体的关联方式与第一名称和数据类型关联方式相同,在此不再赘述;
优选地,标志位文件与数据文件都以数据文件中的存储数据的数据类型相命名,每个数据文件都有与之相对应的标志位文件,标志位文件和数据文件可不存储在同一目录下,根据两种文件的命名名称即可快速查找;
步骤S140,判断标志位文件中的标志位的有效性,根据标志位的有效性进行写入或读出操作,并将标志位的有效性进行更改。
进一步的,上述实施例中步骤S140还可用以下步骤实现,包括:
步骤S210,判断标志位文件中的标志位是否有效;
步骤S220,在系统启动的情况下,若有效,则可于数据存储设备中读出数据文件,并将标志位置为无效;
步骤S230,在异常断电或系统关闭的情况下,若无效,则可于内存中将数据写入数据存储设备,并将标志位置为有效。
进一步的,上述实施例中步骤S210还可用以下步骤实现,包括:
步骤S310,判断标志位文件中的标志位是否与预设值相等;
步骤S320,当标志位与预设值相等时,则有效;
步骤S330,当标志位与预设值不相等时,则无效。
针对系统二次异常掉电的情况,我们增加标志位文件,使用预设特定值表示CF卡上的存储数据是有效的,标志位的值非特定值,则说明CF卡上的存储数据无效。当CF卡上的有效标志位为有效时,只能读出、不能再次写入;数据读出后,就会有业务写入或处理,就以内存上的数据为准了,要将CF卡上的有效标志位改为无效,后续就可以将内存中的数据再次保存到CF卡中。
进一步的,存储数据包括写缓存数据和磁盘阵列重建数据,方法还包括:
步骤S150,在将存储数据写入数据存储设备的情况下,先根据写缓存数据的标志位的有效性进行相应操作,再根据磁盘阵列重建数据的标志位的有效性进行相应操作;
或者,
步骤S160,在从数据存储设备读出存储数据的情况下,先根据磁盘阵列重建数据的标志位的有效性进行相应操作,再根据写缓存数据的标志位的有效性进行相应操作。
我们增加了两种数据标志位:写缓存数据有效标志位和RAID(磁盘阵列)重建数据有效标志位,分别根据标志位的有效性进行相应操作;
这里,本发明实施例还提供存储数据保存方法流程图之二,如图2所示,异常断电或正常关机有数据需要保存时,存储数据保存方法包括以下步骤:
步骤S151,读取CF卡上写缓存数据标志文件cache_flag;
步骤S152,判断写缓存数据对应的标志位是否有效;
步骤S153,若无效(此时写缓存数据还未写入CF卡,内存为新),则将写缓存数据写入CF卡文件cache_data;
步骤S154,写完后再将写缓存数据有效标志位写入CF卡文件cache_flag,即将标志位由无效改为有效;
若有效(此时写缓存数据已经写入CF卡,但未读出),则不再将写缓存数据进行保存,跳转步骤S165;
步骤S155,先读取CF卡上RAID(磁盘阵列)重建数据标志位文件raid_flag;
步骤S156,判断与RAID重建数据相对应的标志位是否有效;
步骤S157,若无效,则将磁盘阵列重建数据写入文件raid_data;
步骤S158,写完后再将磁盘阵列重建数据有效标志位写入CF卡文件raid_flag,即将标志位由无效改为有效;
若有效,则不再将磁盘阵列重建数据保存写入,跳转至步骤S169;
步骤S159,完成存储数据保存,进行下一步关机流程。
其中,以CF卡大小为4GB为例,其中FLAG是写缓存和RAID重建数据是否有效的标志位,块设备最小单位为一个扇区(512Byte),因此FLAG大小为512Byte。
这里,本发明实施例还提供存储数据保存方法流程图之三,如图3所示,系统启动时,存储数据保存方法包括以下步骤:
步骤S161,先读取RAID(磁盘阵列)重建数据标志位文件raid_flag;
步骤S162,判断磁盘阵列重建数据对应的有效标志位是否有效;
步骤S163,若有效,则读出文件raid_data;
步骤S164,再将数据无效标志位写入文件raid_flag,即将标志位由有效改为无效;
若无效,则不读取,跳转至步骤S165;
步骤S165,读取写缓存数据标志位文件cache_flag;
步骤S166,判断写缓存数据对应的标志位是否有效;
步骤S167,若有效,则读出文件cache_data;
步骤S168,再将数据无效标志位写入文件cache_flag,即将标志位由有效改为无效;
无效则不读取,跳转至步骤S169;
步骤S169,完成数据保存进行下一步开机流程。
进一步的,上述实施例中步骤S230中于内存中将数据文件写入数据存储设备还可用以下步骤实现,包括:
步骤S410,判断数据中脏数据标志是否有效;
步骤S420,当脏数据标志有效时,将数据写入数据存储设备。
这里,内存中的数据块为多个,有脏数据的数据块有限,现有技术中也需将无脏数据的数据进行写入操作,通过本发明实施例仅需写入脏数据标志有效的数据,即包含脏数据的数据块,极大程度地节省了写入过程需消耗的时间;
进一步的,上述实施例中步骤S420还可用以下步骤实现包括:
步骤S510,当脏数据标志有效时,以预设模式打开数据文件;
这里,预设模式指的是O_SYNC模式;
步骤S520,将数据中的多个数据块写入数据存储设备,直至数据中的数据块都被遍历。
这里,以文件形式写入的是包括脏数据的多个数据块;
其中,写缓存数据/标志、RAID重建数据/标志,都以不同的文件名放置在CF卡内,正常关机/异常掉电和系统启动时,首先,写文件之前打开文件时需要加上O_SYNC模式,这样能够保证写返回时数据已经写入CF卡内,不会留在系统文件缓冲区buffer内而导致切断电池时数据丢失。其次,只写实际有数据的写缓存和RAID重建内存数据:遍历写缓存和RAID重建数据块,判断数据块的脏数据标志为1(说明有有效数据)则写文件,否则不写;
写缓存空间大小一般有2GB左右,最多可能5GB,或更多。一般视频监控应用下,流量绝大部分是顺序的,系统运行过程中,写缓存和RAID重建脏数据都比较少,采用该方法,异常关机就只需要写少量的脏数据,极大的缩短了异常关机写数据时间和电池供电时间。
此外,分别使用块设备和使用文件写入CF卡,测试不同大小数据写入CF卡的时间,进行对比后得出相同大小的数据,使用文件保存数据和读数据,消耗时间缩短了50%左右。
进一步地,如图4所示,是本发明实施例提供的用于实现所述存储数据保存方法的电子设备100的示意图。本实施例中,所述电子设备100可以是,但不限于,个人电脑(Personal Computer,PC)、笔记本电脑、监控设备、服务器等具备存储数据保存及处理能力的计算机设备。
所述电子设备100还包括存储数据保存装置200、存储介质110以及处理器120。本发明较佳实施例中,存储数据保存装置200包括至少一个可以软件或固件(Firmware)的形式存储于所述存储介质110中或固化在所述电子设备100的操作系统(Operating System,OS)中的软件功能模块。所述处理器120用于执行所述存储介质110中存储的可执行软件模块,例如,所述存储数据保存装置200所包括的软件功能模块及计算机程序等。本实施例中,所述存储数据保存装置200也可以集成于所述操作系统中,作为所述操作系统的一部分。具体地,所述存储数据保存装置200包括:
类型判断模块210,用于获取所述存储数据,判断所述存储数据的数据类型,其中,所述数据类型按照功能用途进行划分;
文件生成模块220,用于按照所述数据类型将所述存储数据在数据存储设备中生成数据文件。
可以理解的是,本实施例中的各功能模块的具体操作方法可参照上述方法实施例中相应步骤的详细描述,在此不再重复赘述。
综上所述,本发明实施例提供了存储数据保存方法、装置、电子设备和可读存储介质,包括获取存储数据,判断所述存储数据的数据类型,其中,所述数据类型按照功能用途进行划分;按照所述数据类型将所述存储数据在数据存储设备中生成数据文件,本申请使用文件保存写缓存和RAID重建数据,不需要指定保存地址和中间内存,使用和维护更加灵活,读写速度更加迅速。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,在本文中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (8)
1.一种存储数据保存方法,其特征在于,应用于电子设备,包括:
获取存储数据,判断所述存储数据的数据类型,其中,所述数据类型按照功能用途进行划分;
按照所述数据类型将所述存储数据在数据存储设备中生成数据文件;
还包括:
建立与所述数据文件相对应的标志位文件,并将所述标志位文件放置于所述数据存储设备中,其中,所述标志位文件的名称与所述数据类型相关联;
判断所述标志位文件中的标志位的有效性,根据所述标志位的有效性进行写入或读出操作,并将所述标志位的有效性进行更改;
所述判断所述标志位文件中的标志位的有效性,根据所述标志位的有效性进行写入或读出操作,并将所述标志位的有效性进行更改包括:
判断所述标志位文件中的标志位是否有效;
在系统启动的情况下,若有效,则可于所述数据存储设备中读出所述数据文件,并将所述标志位置为无效;
在异常断电或系统关闭的情况下,若无效,则可于内存中将所述数据写入所述数据存储设备,并将所述标志位置为有效。
2.根据权利要求1所述的存储数据保存方法,其特征在于,所述判断所述标志位文件中的标志位是否有效包括:
判断所述标志位文件中的标志位是否与预设值相等;
当所述标志位与所述预设值相等时,则有效;
当所述标志位与所述预设值不相等时,则无效。
3.根据权利要求1所述的存储数据保存方法,其特征在于,所述存储数据包括写缓存数据和磁盘阵列重建数据,所述方法还包括:
在将所述存储数据写入所述数据存储设备的情况下,先根据所述写缓存数据的标志位的有效性进行相应操作,再根据所述磁盘阵列重建数据的标志位的有效性进行相应操作;
或者,
在从所述数据存储设备读出所述存储数据的情况下,先根据所述磁盘阵列重建数据的标志位的有效性进行相应操作,再根据所述写缓存数据的标志位的有效性进行相应操作。
4.根据权利要求1所述的存储数据保存方法,其特征在于,所述于内存中将所述数据写入所述数据存储设备包括:
判断数据中脏数据标志是否有效;
当所述脏数据标志有效时,将所述数据写入所述数据存储设备。
5.根据权利要求4所述的存储数据保存方法,其特征在于,所述当所述脏数据标志有效时,将所述数据写入所述数据存储设备包括:
当所述脏数据标志有效时,以预设模式打开所述数据文件;
将所述数据中的多个数据块写入所述数据存储设备,直至所述数据中的所述数据块都被遍历。
6.一种存储数据保存装置,其特征在于,包括:
类型判断模块,用于获取所述存储数据,判断所述存储数据的数据类型,其中,所述数据类型按照功能用途进行划分;
文件生成模块,用于按照所述数据类型将所述存储数据在数据存储设备中生成数据文件;
所述装置还用于,建立与所述数据文件相对应的标志位文件,并将所述标志位文件放置于所述数据存储设备中,其中,所述标志位文件的名称与所述数据类型相关联;判断所述标志位文件中的标志位的有效性,根据所述标志位的有效性进行写入或读出操作,并将所述标志位的有效性进行更改;
所述装置还用于,判断所述标志位文件中的标志位是否有效;在系统启动的情况下,若有效,则可于所述数据存储设备中读出所述数据文件,并将所述标志位置为无效;在异常断电或系统关闭的情况下,若无效,则可于内存中将所述数据写入所述数据存储设备,并将所述标志位置为有效。
7.一种电子设备,其特征在于,所述电子设备包括:
存储介质;
处理器;以及
类型判断模块,用于获取存储数据,判断所述存储数据的数据类型,其中,所述数据类型按照功能用途进行划分;
文件生成模块,用于按照所述数据类型将所述存储数据在数据存储设备中生成数据文件;
所述电子设备还用于,建立与所述数据文件相对应的标志位文件,并将所述标志位文件放置于所述数据存储设备中,其中,所述标志位文件的名称与所述数据类型相关联;判断所述标志位文件中的标志位的有效性,根据所述标志位的有效性进行写入或读出操作,并将所述标志位的有效性进行更改;
所述电子设备还用于,判断所述标志位文件中的标志位是否有效;在系统启动的情况下,若有效,则可于所述数据存储设备中读出所述数据文件,并将所述标志位置为无效;在异常断电或系统关闭的情况下,若无效,则可于内存中将所述数据写入所述数据存储设备,并将所述标志位置为有效。
8.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-5中任意一项所述的存储数据保存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810232377.8A CN110308861B (zh) | 2018-03-20 | 2018-03-20 | 存储数据保存方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810232377.8A CN110308861B (zh) | 2018-03-20 | 2018-03-20 | 存储数据保存方法、装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110308861A CN110308861A (zh) | 2019-10-08 |
CN110308861B true CN110308861B (zh) | 2023-07-21 |
Family
ID=68073858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810232377.8A Active CN110308861B (zh) | 2018-03-20 | 2018-03-20 | 存储数据保存方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110308861B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764917A (zh) * | 2019-10-30 | 2020-02-07 | 国网江苏省电力有限公司 | 控制保护仿真模型间进行并行仿真的数据通信方法及装置 |
CN112765173A (zh) * | 2021-01-20 | 2021-05-07 | 四川湖山电器股份有限公司 | 一种适用于上位机的数据存储方法、系统及加载方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8554997B1 (en) * | 2013-01-18 | 2013-10-08 | DSSD, Inc. | Method and system for mirrored multi-dimensional raid |
CN103714014A (zh) * | 2013-11-18 | 2014-04-09 | 华为技术有限公司 | 处理缓存数据的方法 |
WO2016062084A1 (zh) * | 2014-10-24 | 2016-04-28 | 中兴通讯股份有限公司 | 掉电处理方法、装置及电子设备 |
CN106959819A (zh) * | 2016-01-08 | 2017-07-18 | 广州市动景计算机科技有限公司 | 数据存储方法、装置和系统以及便携式电子设备 |
CN107589908A (zh) * | 2017-08-17 | 2018-01-16 | 暨南大学 | 一种基于固态盘缓存系统中非对齐更新数据的合并方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004075063A1 (ja) * | 2003-02-20 | 2004-09-02 | Matsushita Electric Industrial Co., Ltd. | 情報記録媒体及びその領域管理方法 |
JP4975396B2 (ja) * | 2006-08-24 | 2012-07-11 | 株式会社日立製作所 | 記憶制御装置及び記憶制御方法 |
CN102014374A (zh) * | 2010-11-26 | 2011-04-13 | 中兴通讯股份有限公司 | 一种预设文件的处理方法及移动终端 |
CN103677654B (zh) * | 2012-09-24 | 2018-03-23 | 联想(北京)有限公司 | 一种存储数据的方法及电子设备 |
CN103020227B (zh) * | 2012-12-13 | 2016-06-29 | 中国银行股份有限公司 | 计算机设备中的数据处理方法和系统 |
CN104281612A (zh) * | 2013-07-03 | 2015-01-14 | 人人游戏网络科技发展(上海)有限公司 | 用于数据处理的方法和设备 |
CN104407941B (zh) * | 2014-11-26 | 2018-11-23 | 上海爱数信息技术股份有限公司 | 一种基于文件存档属性的windows文件备份方法 |
US20160299703A1 (en) * | 2015-04-07 | 2016-10-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | I/o performance in raid storage systems that have inconsistent data |
CN107818118B (zh) * | 2016-09-14 | 2019-04-30 | 北京百度网讯科技有限公司 | 数据存储方法和装置 |
-
2018
- 2018-03-20 CN CN201810232377.8A patent/CN110308861B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8554997B1 (en) * | 2013-01-18 | 2013-10-08 | DSSD, Inc. | Method and system for mirrored multi-dimensional raid |
CN103714014A (zh) * | 2013-11-18 | 2014-04-09 | 华为技术有限公司 | 处理缓存数据的方法 |
WO2016062084A1 (zh) * | 2014-10-24 | 2016-04-28 | 中兴通讯股份有限公司 | 掉电处理方法、装置及电子设备 |
CN106959819A (zh) * | 2016-01-08 | 2017-07-18 | 广州市动景计算机科技有限公司 | 数据存储方法、装置和系统以及便携式电子设备 |
CN107589908A (zh) * | 2017-08-17 | 2018-01-16 | 暨南大学 | 一种基于固态盘缓存系统中非对齐更新数据的合并方法 |
Non-Patent Citations (1)
Title |
---|
基于Flash的关键变量容错存储技术研究;龚雪容;刘根贤;生拥宏;;电子技术应用(11);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110308861A (zh) | 2019-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102017113439B4 (de) | Abbildungstabellen für Speichervorrichtungen | |
US8032707B2 (en) | Managing cache data and metadata | |
JP5715566B2 (ja) | キャッシュデータおよびメタデータの管理 | |
KR20230003556A (ko) | 순차적으로 프로그래밍하는 메모리 서브시스템에서 비동기식 전력 손실 처리 | |
JP5696118B2 (ja) | 不揮発性メモリシステムのためのウィーブシーケンスカウンタ | |
TWI465906B (zh) | 用以執行無原子元資料之電力故障安全快取的技術 | |
KR101818599B1 (ko) | 비휘발성 임시 데이터 핸들링 | |
JP5947327B2 (ja) | 複数の格納媒体デバイスについてのファイルシステムバックアップのためのデバイス、格納媒体および方法 | |
US20100070729A1 (en) | System and method of managing metadata | |
JP2015201204A (ja) | データ記憶装置におけるデータ保全性管理 | |
BR112014005623B1 (pt) | Método de gravar escritas pendentes em um conjunto de armazenamento e meio de armazenamento legível por computador | |
CN103577121A (zh) | 一种基于nand flash的高可靠线性文件存取方法 | |
TW200528969A (en) | Method and apparatus for file system snapshot persistence | |
JP2013065308A (ja) | 不揮発性メモリを有するシステムの非正常シャットダウンの取り扱い | |
CN110308861B (zh) | 存储数据保存方法、装置、电子设备和可读存储介质 | |
US11256717B2 (en) | Storage of key-value entries in a distributed storage system | |
CN107544912B (zh) | 一种日志记录方法、加载方法及其装置 | |
TWI493341B (zh) | 記憶體儲存裝置及其修復方法 | |
CN107544913B (zh) | 一种ftl表快速重建方法与装置 | |
Yuan et al. | Comprehensive evaluation of file systems robustness with SPIN model checking | |
KR101618999B1 (ko) | 네트워크 부트 시스템 | |
CN109542359B (zh) | 一种数据重建方法、装置、设备及计算机可读存储介质 | |
US20240264750A1 (en) | Atomic Operations Implemented using Memory Services of Data Storage Devices | |
Steigerwald | Imposing order | |
CN110908607A (zh) | 板载raid数据重建方法、装置、设备及可读存储介质 |
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 |