CN104881334A - 缓存数据的防掉电保护方法及系统 - Google Patents
缓存数据的防掉电保护方法及系统 Download PDFInfo
- Publication number
- CN104881334A CN104881334A CN201510077236.XA CN201510077236A CN104881334A CN 104881334 A CN104881334 A CN 104881334A CN 201510077236 A CN201510077236 A CN 201510077236A CN 104881334 A CN104881334 A CN 104881334A
- Authority
- CN
- China
- Prior art keywords
- backup
- data
- volume
- block
- data cached
- 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
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种缓存数据的防掉电保护方法及系统。其中方法包括缓存数据备份步骤和缓存数据恢复步骤。缓存数据备份步骤包括以下步骤:当电源发生非预期中断时,预设中央处理器接收中断请求信号;查询得到逻辑卷管理卷对应的块设备的索引节点;根据索引节点,得到需要存入闪存中的页面;获取页面中的缓冲头,将缓冲头的信息及缓冲头对应的缓冲数据存入闪存,生成备份数据。缓存数据恢复步骤包括以下步骤:获取备份数据;根据逻辑区块编号换算出备份数据的需恢复的区块位置;根据唯一识别码查询区块位置在卷数据库中的逻辑卷路径,并以虚拟文件系统的方式将备份数据写入区块位置,从而恢复缓存数据。其能有效防止数据因电源突然中断而丢失。
Description
技术领域
本发明涉及计算机设备领域,特别是涉及一种缓存数据的防掉电保护方法及系统。
背景技术
高速缓存磁盘(Disk Cache)是一种软体机制,存储类计算机设备将平常存储在磁碟上的资料存放在RAM(Random Access Memory,随机存取存储器)中,计算机设备中处理器直接对存储在RAM中的资料进行处理,而无需存取磁盘,提高设备的效率。但是RAM是一种挥发性记忆体,当电源中断时,其内所储存的数据往往无法保存而丢失。
发明内容
针对上述问题,本发明提供了一种缓存数据的防掉电保护方法及系统,用于防止资料因为电源突然中断而遗失。
为达到发明目的,本发明提供一种缓存数据的防掉电保护方法,包括缓存数据备份步骤和缓存数据恢复步骤,其中:
所述缓存数据备份步骤包括以下步骤:
当电源发生非预期中断时,预设中央处理器接收中断请求信号;
获取卷数据库中的逻辑卷管理卷,并查询得到所述逻辑卷管理卷对应的块设备的索引节点;
根据查询得到的所述索引节点,得到需要存入闪存中的页面;
获取所述页面中的缓冲头,将所述缓冲头的信息及所述缓冲头对应的缓冲数据存入所述闪存,生成备份数据;
所述缓存数据恢复步骤包括以下步骤:
获取所述备份数据,所述备份数据包括所述块设备的唯一识别码和逻辑区块编号;
根据所述逻辑区块编号换算出所述备份数据的需恢复的区块位置;
根据所述唯一识别码查询所述区块位置在所述卷数据库中的逻辑卷路径,并以虚拟文件系统的方式将所述备份数据写入所述区块位置,从而恢复所述缓存数据。
作为一种可实施例,在所述缓存数据恢复步骤之前,还包括以下步骤:
当电源恢复时,获取所述闪存中的备份标识参数,判断所述备份标识参数的值为0还是1;
若所述备份标识参数的值为1,则执行所述缓存数据恢复的步骤;
若所述备份标识参数的值为0,则不执行所述缓存数据恢复的步骤。
作为一种可实施例,所述根据所述唯一识别码查询所述区块位置在所述卷数据库中的逻辑卷路径,并以虚拟文件系统的方式将所述备份数据写入区块位置,从而恢复所述缓存数据之后,还包括以下步骤:
将所述备份标识参数的值设置为0。
作为一种可实施例,所述获取卷数据库中的逻辑卷管理卷,并查询得到所述逻辑卷管理卷对应的块设备的索引节点,包括如下步骤:
导出所有块设备的双向链结串列,所述双向链结串列包括所述所有块设备的栏位指标;
获取所述卷数据库中的所述逻辑卷管理卷,将所述逻辑卷管理卷和所述所有块设备的栏位指标进行比对,找出与所述逻辑卷管理卷的栏位指标相同的块设备,所述块设备的索引节点为所述逻辑卷管理卷对应的所述块设备的索引节点。
作为一种可实施例,所述根据查询得到的所述索引节点,得到需要存入闪存中的页面,包括如下步骤:
根据所述索引节点搜索基数树中设置有标签的节点,获取所述节点的节点指标,并根据所述节点指标得到所述页面。
本发明还提供一种缓存数据的防掉电保护系统,包括缓存备份模块和缓存恢复模块,其中:
所述缓存备份模块包括接收单元,获取查询单元,页面单元和获取生成单元;
所述接收单元,被配置以当电源发生非预期中断时,预设中央处理器接收中断请求信号;
所述获取查询单元,被配置以获取卷数据库中的逻辑卷管理卷,并查询得到所述逻辑卷管理卷对应的块设备的索引节点;
所述页面单元,被配置以根据查询得到的所述索引节点,得到需要存入闪存中的页面;
所述获取生成单元,被配置以获取所述页面中的缓冲头,将所述缓冲头的信息及所述缓冲头对应的缓冲数据存入所述闪存,生成备份数据;
所述缓存恢复模块包括获取单元,换算单元和查询恢复单元;
所述获取单元,被配置以获取所述备份数据,所述备份数据包括所述块设备的唯一识别码和逻辑区块编号;
所述换算单元,被配置以根据所述逻辑区块编号换算出所述备份数据的需恢复的区块位置;
所述查询恢复单元,被配置以根据所述唯一识别码查询所述区块位置在所述卷数据库中的逻辑卷路径,并以虚拟文件系统的方式将所述备份数据写入所述区块位置,从而恢复所述缓存数据。
作为一种可实施例,还包括获取判断模块,被配置以当电源恢复时,获取所述闪存中的备份标识参数,判断所述备份标识参数的值为0还是1;若所述备份标识参数的值为1,则所述获取单元获取所述备份数据;若所述备份标识参数的值为0,则所述获取单元不获取所述备份数据。
作为一种可实施例,所述缓存恢复模块还包括设置单元,被配置以在恢复所述缓存数据之后,将所述备份标识参数的值设置为0。
作为一种可实施例,所述获取查询单元包括导出子单元和比对子单元;
所述导出子单元,被配置以导出所有块设备的双向链结串列,所述双向链结串列包括所述所有块设备的栏位指标;
所述比对子单元,被配置以获取所述卷数据库中的所述逻辑卷管理卷,将所述逻辑卷管理卷和所述所有块设备的栏位指标进行比对,找出与所述逻辑卷管理卷的栏位指标相同的块设备,所述块设备的索引节点为所述逻辑卷管理卷对应的所述块设备的索引节点。
作为一种可实施例,所述页面单元包括搜索子单元,被配置以根据所述索引节点搜索基数树中设置有标签的节点,获取所述节点的节点指标,并根据所述节点指标得到所述页面。
本发明的有益效果包括:
本发明的缓存数据的防掉电保护方法及系统,在电源发生非预期中断时,能够利用剩余电力将挥发性记忆体中的缓存数据存入非挥发性记忆体闪存中,在电力恢复时,再将备份在闪存中的缓存数据写回到块设备中,从而有效的防止数据因为电源突然中断而丢失。
附图说明
图1为本发明的缓存数据的防掉电保护方法的一实施例的流程示意图;
图2为本发明的缓存数据的防掉电保护方法的另一实施例的流程示意图;
图3为本发明的缓存数据的防掉电保护系统的一实施例的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明缓存数据的防掉电保护方法及系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参见图1,本发明实施例提供一种缓存数据的防掉电保护方法,包括缓存数据备份步骤和缓存数据恢复步骤。其中,缓存数据备份步骤包括以下步骤:
S110,当电源发生非预期中断时,预设中央处理器接收中断请求信号。
S120,获取卷数据库中的逻辑卷管理卷,并查询得到逻辑卷管理卷对应的块设备的索引节点。
S130,根据查询得到的索引节点,得到需要存入闪存中的页面。
S140,获取页面中的缓冲头,将缓冲头的信息及缓冲头对应的缓冲数据存入所述闪存,生成备份数据。
缓存数据恢复步骤包括以下步骤:
S210,获取所述备份数据,备份数据包括所述块设备的唯一识别码和逻辑区块编号。
S220,根据逻辑区块编号换算出备份数据的需恢复的区块位置。
S230,根据唯一识别码查询区块位置在卷数据库中的逻辑卷路径,并以虚拟文件系统的方式将备份数据写入区块位置,从而恢复缓存数据。
本发明的缓存数据的防掉电保护方法,是在Linux环境下实施的,Linux是一个支持多用户、多任务、多线程和多CPU(Central Processing Unit,中央处理器)的操作系统。当电源发生非预期中断时,预设中央处理器接收设备发出的IRQ(Interrupt Request,中断请求)信号,此时预设中央处理器将其他的CPU关闭,同时不响应其他的IRQ信号,以避免同时处理内存数据而造成错误。其中设备的块设备(如磁盘、磁带等)的磁盘分区采用LVM(Logic Volume Manager,逻辑卷管理)机制进行管理,用户在无需停机的情况下可以自如的对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。逻辑卷是面向用户和应用程序的存储结构,物理卷是面向操作系和机器的存储结构,当电源发生非预期中断时,设备能够利于剩余电力备份缓存数据,操作系统通过逻辑卷对应的块索引节点得到内存中需要备份的页面,并根据页面中的数据生成备份数据。在电源恢复时,再将备份数据重新写入内存中,防止数据因为电源的突然中断而丢失。
需要说明的是,LVM将磁盘阵列切割为卷,然后由虚拟文件系统(VFS,Virtual File System)来存取这些卷,借此满足磁盘高速缓存的需求。值得说明的是,虚拟文件系统虽然以文件的方式来存取卷,但实际上映射到卷的操作时会以块设备的操作来存取卷内的数据。其中,虚拟文件系统处理文件时所需的全部信息,都放在一个名为inode(索引节点)的结构中。文件名可以任意指派和改变,但inode对文件却是独一无二的,每个文件只对应一个inode,且只要文件存在,inode就保持不变。同时,对于存取文件的磁盘高速缓存也存在inode中。
其中,inode包括如下结构:
i_op:inode运算;
i_sb:super block对象指针;
i_mapping:指向address_space对象的指针;
i_ino:inode编号;
i_rdev:真实装置标识符;
i_lock:自旋锁,保护inode某些字段;
i_sb_list:串行的指标(由superblock的inode所构成);
i_data:档案的address_space对象;
i_device:串行的指针(由特定字符装置或成组设备相关的inode所构成);
i_bdev:指向成组设备驱动程序的指标。
address_space(空间地址)结构是页面的重要数据结构,这个数据结构被内嵌在拥有该页面的inode物件中。
address_space结构包括以下内容:
host:指向储存此对象的inode的指针;
page_tree:radix树的根:此树用来识别此拥有者的页面;
tree_lock:保护radix树的自旋锁;
nrpages:拥有者之页面的总数;
a_ops:操作拥有者之页面的方法。
页面中配有额外的描述器,称为缓冲头(Buffer Head),其主要目的使快速找出页面中每个区块的磁碟位址,Buffer Head的主要结构如下所示:
b_this_page:此page的循环串行指标;
b_page:指向持有此区块之缓冲区页面的描述器;
b_blocknr:逻辑区块编号;
b_data:此区块在缓冲区页面内的位置;
b_bdev:指向成组设备描述器的指标。
模组中维护一个卷数据库(Volume Database),当缓存数据备份步骤和缓存数据恢复步骤触发时,依据该卷数据库备份及还原各卷的数据。当电源发生非预期中断时,中断请求信号触发缓存数据备份步骤,利用剩余电源将内存中高速缓存中的数据保存在闪存中,当电源恢复时,触发缓存数据恢复步骤,将保存在闪存中的数据还原到卷数据库对应的卷中。在上层LVM增加或删除卷(Volume)时,必须通过系统调用(Syscall)同步卷数据库(系统再开机时LVM可能已经建立好的Volume,此时需先与LVM设定同步)。
其中,逻辑卷管理卷的主要结构如下所示:
API:
__add_lvm_volume(struct*volume);
__del_lvm_volume(char*uuid)。
其中,备份数据的主要结构如下所示:
uuid:block device的uuid
b_blocknr:此block在block device的逻辑区块编号
b_size:区块大小
b_data:实际区块数据
作为一种可实施方式,在缓存数据恢复步骤之前,还包括步骤S020,当电源恢复时,获取闪存中的备份标识参数,判断备份标识参数的值为0还是1;若备份标识参数的值为1,则执行缓存数据恢复的步骤;若备份标识参数的值为0,则不执行缓存数据恢复的步骤。
在闪存开头的地方设置cache_backup_control结构,以便在缓存数据恢复时,处理存入的备份数据。若备份标识参数的值为1,则说明此时处于系统异常情形,需进行缓存数据恢复步骤。需要说明的是,cache_backup_control结构中还包括backup_data_nr,用于判断有多少块数据需要写入,在将闪存中的备份数据写入缓存时需注意系统资源是否够用的问题,从而进行合理分配。
cache_backup_control结构的主要结构如下:
backup_flag:若为1代表开机前发生过cache backup,0则无。
backup_data_nr:cache backup所存入的cache_back_data数量。
作为一种可实施方式,步骤S230之后,还包括步骤S240,将备份标识参数的值设置为0。以说明已完成缓存数据恢复步骤。
参见图2,作为一种可实施方式,步骤S120包括如下步骤:
S121,导出所有块设备的双向链接串列,双向链接串列包括所有块设备的栏位指标。
S122,获取所述卷数据库中的逻辑卷管理卷,将所述逻辑卷管理卷和所有块设备的栏位指标进行比对,找出与所述逻辑卷管理卷的栏位指标相同的块设备,块设备的索引节点为所述逻辑卷管理卷对应的块设备的索引节点。
在Linux内核中维护了一个名称为all_bdevs的双向链结串列,其包括了所有块设备的资料结构,如块设备的栏位指标。但该双向链结串列并未EXPORT(导出),导出后才能给内核中的模块使用,因此要使用该双向链结串列时必需先进行EXPORT_SYMBOL(all_bdevs)。将从卷数据库中获取的逻辑卷管理卷的栏位指标和所有块设备的栏位指标进行一一比对,若块设备的栏位指标与逻辑卷管理卷的栏位指标相同,则该块设备的索引节点即为与该块设备的栏位指标相同的逻辑卷管理卷所对应的块设备的索引节点。
作为一种可实施方式,步骤S130包括步骤S131,根据索引节点搜索基数树中设置有标签的节点,获取节点的节点指标,并根据节点指标得到所述页面。
虚拟文件系统的页面存放在inode中的address_space结构,以page_tree栏位指向基数树(radix tree)的树根,每个基数树的每个节点可以有64个指标,指向其他节点或是页面。其中,基数树底层的节点储存的是页面的指标,而其他层的节点储存的是其他节点的指标。在Linux中使用基数树的方式搜索存取页面,可以提升搜索页面的速度。为了能够更快速的搜索修改过的页面,在基数树的节点中准备了一个标签,标签的状态可以为dirty也可以为writeback,无论是哪种状态,都需要备份。若基数树下的页面被修改时,除了页面本身的节点需要标记标签外,由此页面往上的基数树的节点都需标记标签。
基于同一发明构思,本发明还提供了一种缓存数据的防掉电保护系统,由于此系统解决问题的原理与前述一种缓存数据的防掉电保护方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的缓存数据的防掉电保护系统,参见图3,包括缓存备份模块100和缓存恢复模块300。其中:缓存备份模块100包括接收单元110,获取查询单元120,页面单元130和获取生成单元140。接收单元110,被配置以当电源发生非预期中断时,预设中央处理器接收中断请求信号。获取查询单元120,被配置以获取卷数据库中的逻辑卷管理卷,并查询得到逻辑卷管理卷对应的块设备的索引节点。页面单元130,被配置以根据查询得到的索引节点,得到需要存入闪存中的页面。获取生成单元140,被配置以获取页面中的缓冲头,将缓冲头的信息及缓冲头对应的缓冲数据存入所述闪存,生成备份数据。
缓存恢复模块300包括获取单元310,换算单元320和查询恢复单元330。获取单元310,被配置以获取备份数据,备份数据包括块设备的唯一识别码和逻辑区块编号。换算单元320,被配置以根据逻辑区块编号换算出备份数据的需恢复的区块位置。查询恢复单元330,被配置以根据唯一识别码查询区块位置在卷数据库中的逻辑卷路径,并以虚拟文件系统的方式将备份数据写入所述区块位置,从而恢复缓存数据。
本发明的缓存数据的防掉电保护系统,在电源发生非预期中断时,先利用剩余电力将内存的高速缓存中的缓存数据存储到非挥发性记忆体的闪存中,在电源恢复时,再将备份在闪存中的缓存数据写回块设备(如磁碟)中,防止数据在挥发性记忆体中因电源突然中断而遗失。
作为一种可实施方式,还包括获取判断模块200,被配置以当电源恢复时,获取闪存中的备份标识参数,判断备份标识参数的值为0还是1;若备份标识参数的值为1,则获取单元310获取备份数据;若所述备份标识参数的值为0,则获取单元310不获取备份数据。
作为一种可实施方式,所述缓存恢复模块300还包括设置单元340,被配置以在恢复缓存数据之后,将备份标识参数的值设置为0。
作为一种可实施方式,获取查询单元120包括导出子单元121和比对子单元122。导出子单元121,被配置以导出所有块设备的双向链结串列,双向链结串列包括所有块设备的栏位指标。比对子单元122,被配置以获取卷数据库中的逻辑卷管理卷,将逻辑卷管理卷和所有块设备的栏位指标进行比对,找出与逻辑卷管理卷的栏位指标相同的块设备,块设备的索引节点为逻辑卷管理卷对应的块设备的索引节点。
作为一种可实施方式,页面单元130包括搜索子单元131,被配置以根据索引节点搜索基数树中设置有标签的节点,获取节点的节点指标,并根据节点指标得到页面。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种缓存数据的防掉电保护方法,其特征在于,包括缓存数据备份步骤和缓存数据恢复步骤,其中:
所述缓存数据备份步骤包括以下步骤:
当电源发生非预期中断时,预设中央处理器接收中断请求信号;
获取卷数据库中的逻辑卷管理卷,并查询得到所述逻辑卷管理卷对应的块设备的索引节点;
根据查询得到的所述索引节点,得到需要存入闪存中的页面;
获取所述页面中的缓冲头,将所述缓冲头的信息及所述缓冲头对应的缓冲数据存入所述闪存,生成备份数据;
所述缓存数据恢复步骤包括以下步骤:
获取所述备份数据,所述备份数据包括所述块设备的唯一识别码和逻辑区块编号;
根据所述逻辑区块编号换算出所述备份数据的需恢复的区块位置;
根据所述唯一识别码查询所述区块位置在所述卷数据库中的逻辑卷路径,并以虚拟文件系统的方式将所述备份数据写入所述区块位置,从而恢复所述缓存数据。
2.根据权利要求1所述的缓存数据的防掉电保护方法,其特征在于,在所述缓存数据恢复步骤之前,还包括以下步骤:
当电源恢复时,获取所述闪存中的备份标识参数,判断所述备份标识参数的值为0还是1;
若所述备份标识参数的值为1,则执行所述缓存数据恢复的步骤;
若所述备份标识参数的值为0,则不执行所述缓存数据恢复的步骤。
3.根据权利要求2所述的缓存数据的防掉电保护方法,其特征在于,所述根据所述唯一识别码查询所述区块位置在所述卷数据库中的逻辑卷路径,并以虚拟文件系统的方式将所述备份数据写入区块位置,从而恢复所述缓存数据之后,还包括以下步骤:
将所述备份标识参数的值设置为0。
4.根据权利要求1所述的缓存数据的防掉电保护方法,其特征在于,所述获取卷数据库中的逻辑卷管理卷,并查询得到所述逻辑卷管理卷对应的块设备的索引节点,包括如下步骤:
导出所有块设备的双向链结串列,所述双向链结串列包括所述所有块设备的栏位指标;
获取所述卷数据库中的所述逻辑卷管理卷,将所述逻辑卷管理卷和所述所有块设备的栏位指标进行比对,找出与所述逻辑卷管理卷的栏位指标相同的块设备,所述块设备的索引节点为所述逻辑卷管理卷对应的所述块设备的索引节点。
5.根据权利要求1所述的缓存数据的防掉电保护方法,其特征在于,所述根据查询得到的所述索引节点,得到需要存入闪存中的页面,包括如下步骤:
根据所述索引节点搜索基数树中设置有标签的节点,获取所述节点的节点指标,并根据所述节点指标得到所述页面。
6.一种缓存数据的防掉电保护系统,其特征在于,包括缓存备份模块和缓存恢复模块,其中:
所述缓存备份模块包括接收单元,获取查询单元,页面单元和获取生成单元;
所述接收单元,被配置以当电源发生非预期中断时,预设中央处理器接收中断请求信号;
所述获取查询单元,被配置以获取卷数据库中的逻辑卷管理卷,并查询得到所述逻辑卷管理卷对应的块设备的索引节点;
所述页面单元,被配置以根据查询得到的所述索引节点,得到需要存入闪存中的页面;
所述获取生成单元,被配置以获取所述页面中的缓冲头,将所述缓冲头的信息及所述缓冲头对应的缓冲数据存入所述闪存,生成备份数据;
所述缓存恢复模块包括获取单元,换算单元和查询恢复单元;
所述获取单元,被配置以获取所述备份数据,所述备份数据包括所述块设备的唯一识别码和逻辑区块编号;
所述换算单元,被配置以根据所述逻辑区块编号换算出所述备份数据的需恢复的区块位置;
所述查询恢复单元,被配置以根据所述唯一识别码查询所述区块位置在所述卷数据库中的逻辑卷路径,并以虚拟文件系统的方式将所述备份数据写入所述区块位置,从而恢复所述缓存数据。
7.根据权利要求6所述的缓存数据的防掉电保护系统,其特征在于,还包括获取判断模块,被配置以当电源恢复时,获取所述闪存中的备份标识参数,判断所述备份标识参数的值为0还是1;若所述备份标识参数的值为1,则所述获取单元获取所述备份数据;若所述备份标识参数的值为0,则所述获取单元不获取所述备份数据。
8.根据权利要求7所述的缓存数据的防掉电保护系统,其特征在于,所述缓存恢复模块还包括设置单元,被配置以在恢复所述缓存数据之后,将所述备份标识参数的值设置为0。
9.根据权利要求6所述的缓存数据的防掉电保护系统,其特征在于,所述获取查询单元包括导出子单元和比对子单元;
所述导出子单元,被配置以导出所有块设备的双向链结串列,所述双向链结串列包括所述所有块设备的栏位指标;
所述比对子单元,被配置以获取所述卷数据库中的所述逻辑卷管理卷,将所述逻辑卷管理卷和所述所有块设备的栏位指标进行比对,找出与所述逻辑卷管理卷的栏位指标相同的块设备,所述块设备的索引节点为所述逻辑卷管理卷对应的所述块设备的索引节点。
10.根据权利要求6所述的缓存数据的防掉电保护系统,其特征在于,所述页面单元包括搜索子单元,被配置以根据所述索引节点搜索基数树中设置有标签的节点,获取所述节点的节点指标,并根据所述节点指标得到所述页面。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510077236.XA CN104881334B (zh) | 2015-02-06 | 2015-02-13 | 缓存数据的防掉电保护方法及系统 |
US15/016,540 US9747207B2 (en) | 2015-02-06 | 2016-02-05 | Crash-proof cache data protection method and system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2015100639908 | 2015-02-06 | ||
CN201510063990 | 2015-02-06 | ||
CN201510077236.XA CN104881334B (zh) | 2015-02-06 | 2015-02-13 | 缓存数据的防掉电保护方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104881334A true CN104881334A (zh) | 2015-09-02 |
CN104881334B CN104881334B (zh) | 2018-04-10 |
Family
ID=53948839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510077236.XA Active CN104881334B (zh) | 2015-02-06 | 2015-02-13 | 缓存数据的防掉电保护方法及系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9747207B2 (zh) |
CN (1) | CN104881334B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843711A (zh) * | 2016-06-21 | 2016-08-10 | 北京飞杰信息技术有限公司 | 数据防掉电保护方法及系统 |
CN106648971A (zh) * | 2016-11-11 | 2017-05-10 | 努比亚技术有限公司 | 一种崩溃crash恢复装置、终端及方法 |
CN106708754A (zh) * | 2015-11-13 | 2017-05-24 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN106776381A (zh) * | 2016-12-23 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种存储系统掉电保护方法及系统 |
CN107402719A (zh) * | 2016-11-25 | 2017-11-28 | 慧荣科技股份有限公司 | 可用于数据储存装置的数据储存方法与数据回复程序、以及采用这些方法的数据储存装置 |
CN107918588A (zh) * | 2016-10-07 | 2018-04-17 | 慧荣科技股份有限公司 | 数据储存装置及其数据写入方法 |
CN108446187A (zh) * | 2018-03-07 | 2018-08-24 | 上海达梦数据库有限公司 | 数据备份方法及数据还原方法 |
CN109685190A (zh) * | 2018-12-28 | 2019-04-26 | 江苏恒宝智能系统技术有限公司 | 一种ic卡掉电保护方法及装置 |
CN110287062A (zh) * | 2019-06-28 | 2019-09-27 | 深圳忆联信息系统有限公司 | 一种硬件缓存管理数据备份和快速恢复的方法及其系统 |
CN110399249A (zh) * | 2019-06-04 | 2019-11-01 | 腾讯科技(北京)有限公司 | 一种数据容灾方法及相关装置 |
CN111880729A (zh) * | 2020-07-15 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种基于位数组的脏数据下刷方法、装置及设备 |
CN113682964A (zh) * | 2021-08-09 | 2021-11-23 | 三一汽车起重机械有限公司 | 设备参数管理及恢复方法、平台、装置、起重机及系统 |
CN113867996A (zh) * | 2021-08-18 | 2021-12-31 | 广州方硅信息技术有限公司 | 数据容灾的处理方法、服务器、直播系统及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197498A (zh) * | 2017-12-22 | 2018-06-22 | 中国联合网络通信集团有限公司 | 获取数据的方法及装置 |
CN111681408B (zh) * | 2020-06-08 | 2021-01-26 | 广东电网有限责任公司电力科学研究院 | 一种数据修复处理方法及装置 |
TWI750811B (zh) * | 2020-09-16 | 2021-12-21 | 英柏得科技股份有限公司 | 用於記憶體的資料保護寫入方法、用於記憶體的資料保護讀取方法以及記憶體資料保護系統 |
CN113190473B (zh) * | 2021-04-30 | 2023-05-30 | 广州大学 | 基于能量收集非易失性处理器的缓存数据管理方法、介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003005247A2 (en) * | 2001-07-06 | 2003-01-16 | Computer Associates Think, Inc. | Systems and methods of information backup |
CN101364163A (zh) * | 2007-08-07 | 2009-02-11 | 英业达股份有限公司 | 一种逻辑卷创建系统及其方法 |
CN101408854A (zh) * | 2007-10-10 | 2009-04-15 | 英业达股份有限公司 | 逻辑卷管理器的数据备份系统及其方法 |
CN101470645A (zh) * | 2007-12-29 | 2009-07-01 | 华为技术有限公司 | 一种高速缓存数据恢复的方法和装置 |
US20110016262A1 (en) * | 2009-07-17 | 2011-01-20 | Hon Hai Precision Industry Co., Ltd. | Storage and method for performing data backup using the storage |
CN102955861A (zh) * | 2012-11-30 | 2013-03-06 | 华为技术有限公司 | 一种基于备份文件的索引文件生成方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996800B2 (en) * | 2011-07-07 | 2015-03-31 | Atlantis Computing, Inc. | Deduplication of virtual machine files in a virtualized desktop environment |
US9690664B2 (en) * | 2014-03-13 | 2017-06-27 | Hitachi, Ltd. | Storage system and method for controlling the same |
US9710343B2 (en) * | 2015-03-27 | 2017-07-18 | Facebook, Inc. | Power fail circuit for multi-storage-device arrays |
-
2015
- 2015-02-13 CN CN201510077236.XA patent/CN104881334B/zh active Active
-
2016
- 2016-02-05 US US15/016,540 patent/US9747207B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003005247A2 (en) * | 2001-07-06 | 2003-01-16 | Computer Associates Think, Inc. | Systems and methods of information backup |
CN101364163A (zh) * | 2007-08-07 | 2009-02-11 | 英业达股份有限公司 | 一种逻辑卷创建系统及其方法 |
CN101408854A (zh) * | 2007-10-10 | 2009-04-15 | 英业达股份有限公司 | 逻辑卷管理器的数据备份系统及其方法 |
CN101470645A (zh) * | 2007-12-29 | 2009-07-01 | 华为技术有限公司 | 一种高速缓存数据恢复的方法和装置 |
US20110016262A1 (en) * | 2009-07-17 | 2011-01-20 | Hon Hai Precision Industry Co., Ltd. | Storage and method for performing data backup using the storage |
CN102955861A (zh) * | 2012-11-30 | 2013-03-06 | 华为技术有限公司 | 一种基于备份文件的索引文件生成方法和装置 |
Non-Patent Citations (1)
Title |
---|
徐文渊,赵政文: "一种块级连续数据保护的系统设计", 《航空计算技术》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708754A (zh) * | 2015-11-13 | 2017-05-24 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN106708754B (zh) * | 2015-11-13 | 2020-04-07 | 慧荣科技股份有限公司 | 数据储存装置及其数据维护方法 |
CN105843711A (zh) * | 2016-06-21 | 2016-08-10 | 北京飞杰信息技术有限公司 | 数据防掉电保护方法及系统 |
CN107918588A (zh) * | 2016-10-07 | 2018-04-17 | 慧荣科技股份有限公司 | 数据储存装置及其数据写入方法 |
CN106648971A (zh) * | 2016-11-11 | 2017-05-10 | 努比亚技术有限公司 | 一种崩溃crash恢复装置、终端及方法 |
CN107402719B (zh) * | 2016-11-25 | 2020-10-16 | 慧荣科技股份有限公司 | 可用于数据储存装置的数据储存方法与数据回复方法、以及采用这些方法的数据储存装置 |
US10579483B2 (en) | 2016-11-25 | 2020-03-03 | Silicon Motion, Inc. | Storing a compact flash physical-to-host logical address mapping table on power loss |
CN107402719A (zh) * | 2016-11-25 | 2017-11-28 | 慧荣科技股份有限公司 | 可用于数据储存装置的数据储存方法与数据回复程序、以及采用这些方法的数据储存装置 |
CN106776381A (zh) * | 2016-12-23 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种存储系统掉电保护方法及系统 |
CN108446187B (zh) * | 2018-03-07 | 2021-02-09 | 上海达梦数据库有限公司 | 数据备份方法及数据还原方法 |
CN108446187A (zh) * | 2018-03-07 | 2018-08-24 | 上海达梦数据库有限公司 | 数据备份方法及数据还原方法 |
CN109685190A (zh) * | 2018-12-28 | 2019-04-26 | 江苏恒宝智能系统技术有限公司 | 一种ic卡掉电保护方法及装置 |
CN109685190B (zh) * | 2018-12-28 | 2022-04-12 | 江苏恒宝智能系统技术有限公司 | 一种ic卡掉电保护方法及装置 |
CN110399249A (zh) * | 2019-06-04 | 2019-11-01 | 腾讯科技(北京)有限公司 | 一种数据容灾方法及相关装置 |
CN110287062A (zh) * | 2019-06-28 | 2019-09-27 | 深圳忆联信息系统有限公司 | 一种硬件缓存管理数据备份和快速恢复的方法及其系统 |
CN111880729A (zh) * | 2020-07-15 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种基于位数组的脏数据下刷方法、装置及设备 |
CN113682964A (zh) * | 2021-08-09 | 2021-11-23 | 三一汽车起重机械有限公司 | 设备参数管理及恢复方法、平台、装置、起重机及系统 |
CN113682964B (zh) * | 2021-08-09 | 2023-08-22 | 三一汽车起重机械有限公司 | 设备参数管理及恢复方法、平台、装置、起重机及系统 |
CN113867996A (zh) * | 2021-08-18 | 2021-12-31 | 广州方硅信息技术有限公司 | 数据容灾的处理方法、服务器、直播系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US9747207B2 (en) | 2017-08-29 |
CN104881334B (zh) | 2018-04-10 |
US20160232090A1 (en) | 2016-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104881334A (zh) | 缓存数据的防掉电保护方法及系统 | |
JP6556911B2 (ja) | 注釈付きアトミック書き込み操作を行う方法および装置 | |
CN105843551B (zh) | 高性能和大容量储存重复删除中的数据完整性和损耗电阻 | |
US8074047B2 (en) | System and method for content replication detection and elimination in main memory | |
TWI804466B (zh) | 擷取記憶體中儲存的資料的方法與去重複模組 | |
EP2879040B1 (en) | Data storage method, data storage apparatus, and storage device | |
CN106663047A (zh) | 用于优化的签名比较和数据复制的系统和方法 | |
US10891074B2 (en) | Key-value storage device supporting snapshot function and operating method thereof | |
WO2017113213A1 (zh) | 访问请求处理方法、装置及计算机系统 | |
WO2017025039A1 (zh) | 一种面向闪存存储的数据访问方法及其装置 | |
US20170185354A1 (en) | Techniques for a Write Transaction at a Storage Device | |
US11030092B2 (en) | Access request processing method and apparatus, and computer system | |
US20150312366A1 (en) | Unified caching of storage blocks and memory pages in a compute-node cluster | |
US20170039142A1 (en) | Persistent Memory Manager | |
US9946496B2 (en) | SSD with non-blocking flush command | |
US20190227740A1 (en) | Atomic write method for multi-transaction | |
US11836092B2 (en) | Non-volatile storage controller with partial logical-to-physical (L2P) address translation table | |
WO2011120335A1 (zh) | 数据操作的方法、装置及计算机 | |
Wang et al. | Towards cluster-wide deduplication based on Ceph | |
US12038852B2 (en) | Partial logical-to-physical (L2P) address translation table for multiple namespaces | |
CN116257531B (zh) | 一种数据库空间回收方法 | |
US12010214B2 (en) | Hash based key value to block translation methods and systems | |
JP2012014493A (ja) | メモリ管理装置、メモリ管理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170818 Address after: 100192, A01, room 10, block 8, science and technology wealth center, A, clear road, Haidian District, Beijing Applicant after: Beijing TEAMSUN Software Technology Co., Ltd. Address before: 100192, Beijing, Haidian District School Road 8 (Science and technology wealth center), A block, 2 floor Applicant before: Beijing Fortunet Information Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |