CN111488128A - 一种元数据的更新方法、装置、设备及介质 - Google Patents
一种元数据的更新方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111488128A CN111488128A CN202010300242.8A CN202010300242A CN111488128A CN 111488128 A CN111488128 A CN 111488128A CN 202010300242 A CN202010300242 A CN 202010300242A CN 111488128 A CN111488128 A CN 111488128A
- Authority
- CN
- China
- Prior art keywords
- metadata
- updating
- target
- ssd
- destination
- 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/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- 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
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种元数据的更新方法、装置、设备及介质,包括:当接收到更新指令时,则获取与更新指令相对应的目标元数据所对应的目标等级,并将与目标元数据相对应的更新元数据缓存至目标SSD所在服务器的内存;其中,目标元数据为预先按照元数据的属性信息的更新频率对目标SSD内数据文件中的元数据进行分级的元数据;并且,数据文件中属于同一个等级的元数据集中存储在目标SSD中;并判断更新元数据是否达到预设更新条件;若是,则将更新元数据写入至目标SSD。显然,由于该方法可以极大的减少因元数据更新而修改目标SSD的次数,这样就可以显著提高目标SSD的使用寿命。
Description
技术领域
本发明涉及云计算数据中心技术领域,特别涉及一种元数据的更新方法、装置、设备及介质。
背景技术
在云计算数据中心领域,数据存储的性能和安全性一直是用户所关心的核心问题。目前,由于SSD(Solid State Disk,固态硬盘)具有性能高、功耗低以及不易损坏的优点,从而成为数据存储领域的一个热门选择。
在现有技术当中,SSD中所存储的数据文件通常是由文件数据和文件元数据所组成,而数据文件中的文件元数据都是以字节级别的小数据文件在SSD中进行存储。在此情况下,当数据文件中的目标元数据需要更新时,由于存储目标元数据的逻辑块不能在原位置进行覆盖写,只能在新的逻辑块上进行更新,这样即使是每次需要更新几个字节的元数据,却需要对整个逻辑块进行擦除与更新。显然,此种元数据的更新方法,由于需要对SSD进行频繁的修改与更新,这样不仅会影响SSD本身的性能,而且,也会大大降低SSD的使用寿命。目前,针对这一技术问题,还没有较为有效的解决办法。
由此可见,如何减少元数据在更新过程中对于SSD的修改次数,以增加SSD的使用寿命,是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种元数据的更新方法、装置、设备及介质,以减少元数据在更新过程中对于SSD的修改次数,并增加SSD的使用寿命。其具体方案如下:
一种元数据的更新方法,应用于目标SSD,包括:
当接收到更新指令时,则获取与所述更新指令相对应的目标元数据所对应的目标等级,并将与所述目标元数据相对应的更新元数据缓存至所述目标SSD所在服务器的内存;其中,所述目标元数据为预先按照元数据的属性信息的更新频率对所述目标SSD内数据文件中的元数据进行分级的元数据;并且,所述数据文件中属于同一个等级的元数据集中存储在所述目标SSD中;
判断与所述目标元数据相对应的更新元数据是否达到预设更新条件;其中,所述预设更新条件为预先根据所述目标元数据所处的所述目标等级所设定的更新条件;
若是,则将与所述目标元数据相对应的更新元数据写入至所述目标SSD。
优选的,所述预先按照元数据的属性信息的更新频率对所述目标SSD内数据文件中的元数据进行分级的过程,包括:
预先按照元数据字段的属性信息的更新频率对所述目标SSD内所述数据文件中的元数据进行分级。
优选的,所述属于同一个等级的元数据集中存储在所述目标SSD的过程,包括:
属于同一个等级的元数据字段集中存储至所述目标SSD的同一个逻辑页。
优选的,所述数据文件中属于同一个等级的元数据集中存储在所述目标SSD的目标区域中;其中,所述目标区域为预先在所述目标SSD中所划分的区域。
优选的,所述判断与所述目标元数据相对应的更新元数据是否达到预设更新条件的过程,包括:
判断与所述目标元数据相对应的更新元数据在所述内存中的存储时间是否达到预设时长;
若是,则执行所述将与所述目标元数据相对应的更新元数据写入至所述目标SSD的步骤。
优选的,所述判断与所述目标元数据相对应的更新元数据是否达到预设更新条件的过程,包括:
判断与所述目标元数据相对应的更新元数据所占用的存储空间是否超过预设阈值;
若是,则执行所述将与所述目标元数据相对应的更新元数据写入至所述目标SSD的步骤。
优选的,所述将与所述目标元数据相对应的更新元数据缓存至所述目标SSD所在服务器的内存的过程之后,还包括:
判断所述内存中是否存在需要写入同一个逻辑块的目标更新元数据;
若是,则将所述目标更新元数据进行聚合处理。
优选的,所述将与所述目标元数据所对应的更新元数据写入至所述目标SSD的过程之前,还包括:
将与所述目标元数据所对应的更新元数据写入至所述目标SSD的日志区域。
相应的,本发明还公开了一种元数据的更新装置,应用于目标SSD,包括:
数据缓存模块,用于当接收到更新指令时,则获取与所述更新指令相对应的目标元数据所对应的目标等级,并将与所述目标元数据相对应的更新元数据缓存至所述目标SSD所在服务器的内存;其中,所述目标元数据为预先按照元数据的属性信息的更新频率对所述目标SSD内数据文件中的元数据进行分级的元数据;并且,所述数据文件中属于同一个等级的元数据集中存储在所述目标SSD中;
数据判断模块,用于判断与所述目标元数据相对应的更新元数据是否达到预设更新条件;
数据写入模块,用于当所述数据判断模块的判定结果为是时,则将与所述目标元数据相对应的更新元数据写入至所述目标SSD。
相应的,本发明还公开了一种元数据的更新设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前述所公开的一种元数据的更新方法的步骤。
相应的,本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述所公开得一种元数据的更新方法的步骤。
可见,在本发明中,首先是预先按照元数据的属性信息的更新频率对目标SSD内数据文件中的元数据进行分级,并将数据文件中属于同一个等级的元数据在目标SSD中进行集中存储。显然,通过这样的设置方式,就相当于是将目标SSD中所有的元数据按照属性信息的更新频率的不同将其存储到了不同的逻辑块中,由此就可以相对降低因更新频率较高的元数据在更新过程中,对于目标SSD中逻辑块的修改数量。在此基础上,当目标SSD接收到更新指令时,则获取与更新指令相对应的目标元数据所对应的目标等级,并将与目标元数据相对应的更新元数据缓存至目标SSD所在服务器的内存中;然后,判断与目标元数据相对应的更新元数据是否达到预设更新条件;若是,则将与目标元数据所对应的更新元数据写入至目标SSD。这就相当于是根据需要更新的目标元数据所处的目标等级采取了不同的缓存策略,并且,只有在更新元数据满足预设更新条件的情况下,才能将更新元数据写入至目标SSD,由此就进一步降低了更新元数据在更新过程中需要对目标SSD进行擦除和修改的次数。显然,通过本发明所提供的元数据更新方法,由于可以极大的减少因元数据更新而修改目标SSD的次数,这样就可以显著增加目标SSD的使用寿命。相应的,本发明所提供的一种元数据的更新装置、设备及介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种元数据的更新方法的流程图;
图2为本发明实施例所提供的文件A、文件B、文件C和文件D进行分级存放时的示意图;
图3为本发明实施例所提供的查找文件A中目标元数据的示意图;
图4为本发明实施例所提供的一种元数据的更新装置的结构图;
图5为本发明实施例所提供的一种元数据的更新设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,图1为本发明实施例所提供的一种元数据的更新方法的流程图,该更新方法包括:
步骤S11:当接收到更新指令时,则获取与更新指令相对应的目标元数据所对应的目标等级,并将与目标元数据相对应的更新元数据缓存至目标SSD所在服务器的内存;
其中,目标元数据为预先按照元数据的属性信息的更新频率对目标SSD内数据文件中的元数据进行分级的元数据;并且,数据文件中属于同一个等级的元数据集中存储在目标SSD中;
步骤S12:判断与目标元数据相对应的更新元数据是否达到预设更新条件;
其中,预设更新条件为预先根据目标元数据所处的目标等级所设定的更新条件;
步骤S13:若是,则将与目标元数据相对应的更新元数据写入至目标SSD。
在本实施例中,是提供了一种新的元数据更新方法,通过该元数据的更新方法,可以极大的减少元数据在更新过程中对于SSD的擦除、修改次数,并显著提高SSD的使用寿命。具体的,在本实施例所提供的元数据更新方法中,是以目标SSD为执行主体进行说明。
可以理解的是,在目标SSD所存储的数据文件中,各个数据文件中不同元数据的更新频率互不相同。比如:数据文件中的索引位置(inode umber)、创建时间、文件名称、文件权限的更新频率较低,一般不会随意进行更改与更新,而数据文件中的文件访问时间和文件修改时间由于用户的使用次数较多,其更新频率也会较高,由此就会导致文件访问时间或文件修改时间所对应的元数据需要频繁进行修改与更新,这样就会使得目标SSD需要进行多次擦除、修改与更新。
所以,在本实施例中,为了避免更新频率较高的元数据需要频繁修改目标SSD的现象,是预先按照元数据的属性信息的更新频率对目标SSD中数据文件中的元数据进行分级,并将数据文件中属于同一个等级的元数据在目标SSD中进行集中存储。
能够想到的是,当将所有数据文件中属于同一个等级的元数据在目标SSD中进行集中存储之后,这样就相当于是将更新频率较高的元数据集中存储在了一起,将更新频率较低的元数据集中存储在了一起。显然,通过这样的设置方式,就可以相对降低因更新频率较高的元数据在更新过程中,对于目标SSD中逻辑块的修改数量。
具体的,在实际应用中,可以按照元数据的属性信息的更新频率将目标SSD中数据文件中的元数据划分为三个等级,因为在实际操作过程中,不同属性内容的元数据在更新过程中,一般可以分为更新频率较高、更新频率中等和更新频率较低这三种类型,所以,当预先按照元数据的属性信息的更新频率将目标SSD中数据文件中的元数据划分为三个等级时,就可以相对提高元数据在划分等级过程中的普适性。
当将数据文件中属于同一个等级的元数据进行集中存储之后,如果目标SSD接收到更新指令,则获取与更新指令相对应的目标元数据所对应的目标等级,并将与目标元数据相对应的更新元数据缓存至目标SSD所在服务器的内存中,然后,再判断与目标元数据相对应的更新元数据是否达到预设更新条件。
需要说明的是,在本实施例中,预设更新条件是预先根据目标元数据所处的目标等级所设定的更新条件,也即,根据与更新指令相对应的目标元数据所处的目标等级,为目标元数据相对应的更新元数据设定了不同的缓存机制。具体的,如果与目标元数据相对应的更新元数据达到预设更新条件时,则将与目标元数据相对应的更新元数据写入至目标SSD;如果与目标元数据相对应的更新元数据未达到预设更新条件,则暂停将与目标元数据所对应的更新元数据写入至目标SSD,也即,先将与目标元数据相对应的更新元数据缓存在目标SSD所在服务器的内存当中。
此外,在将与目标元数据相对应的更新元数据写入至目标SSD的过程,实际上是一个利用更新元数据替换目标元数据的过程。具体的,假设目标SSD的操作单位为逻辑页,如果一个4096字节的逻辑页上某索引节点ext2_inode的一个i_atime需要更新,首先,是将整个逻辑页读入到目标SSD的内存当中,然后,在内存中修改读入逻辑页中ext2_inode的i_atime,最后,再将内存中修改后的逻辑页写入到目标SSD相应的逻辑页中,这样就将目标SSD中的目标元数据替换为与目标元数据相对应的更新元数据。
显然,通过此种设置方式,就相当于是对目标SSD中更新元数据写入至目标SSD的次数进行了限制,这样就可以相对降低更新元数据对于目标SSD的擦除和写入次数,由此就可以进一步提高目标SSD的使用寿命。
可见,在本实施例中,首先是预先按照元数据的属性信息的更新频率对目标SSD内数据文件中的元数据进行分级,并将数据文件中属于同一个等级的元数据在目标SSD中进行集中存储。显然,通过这样的设置方式,就相当于是将目标SSD中所有的元数据按照属性信息的更新频率的不同将其存储到了不同的逻辑块中,由此就可以相对降低因更新频率较高的元数据在更新过程中,对于目标SSD中逻辑块的修改数量。在此基础上,当目标SSD接收到更新指令时,则获取与更新指令相对应的目标元数据所对应的目标等级,并将与目标元数据相对应的更新元数据缓存至目标SSD所在服务器的内存中;然后,判断与目标元数据相对应的更新元数据是否达到预设更新条件;若是,则将与目标元数据所对应的更新元数据写入至目标SSD。这就相当于是根据需要更新的目标元数据所处的目标等级采取了不同的缓存策略,并且,只有在更新元数据满足预设更新条件的情况下,才能将更新元数据写入至目标SSD,由此就进一步降低了更新元数据在更新过程中需要对目标SSD进行擦除和修改的次数。显然,通过本实施例所提供的元数据更新方法,由于可以极大的减少因元数据更新而修改目标SSD的次数,这样就可以显著增加目标SSD的使用寿命。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:预先按照元数据的属性信息的更新频率对目标SSD内数据文件中的元数据进行分级的过程,包括:
预先按照元数据字段的属性信息的更新频率对目标SSD内数据文件中的元数据进行分级。
可以理解的是,数据文件中的元数据都可以用某一种数据结构进行表示,而在元数据的数据结构中又蕴含着多个元数据字段,所以,在根据元数据的属性信息的更新频率对元数据进行分级的过程中,就可以根据元数据字段的属性信息的更新频率对目标SSD内的元数据进行分级。
比如:ext2的索引节点ext2_indoe可以用structext2_inode进行表示,其中,structext2_inode包含元数据字段_le16i_mode、_le16i_uid、_le16i_size、_le16i_atime、_le16i_ctime、_le16i_mtime、_le16i_dtime、_le16i_gid、_le16i_links_count、_le16i_block、_le16i_generation、_le16i_file_acl、_le16i_dir_acl和_le16i_faddr等等。
具体的,在根据元数据字段的属性信息的更新频率对元数据进行分级过程中,可以通过测试每个元数据字段的更新频率来对元数据进行分级。假设目标SSD中元数据的更新次数为100万次,则可以通过测试元数据中每个元数据字段的更新频率来对元数据字段进行分级。比如:元数据字段中的访问时间i_atime更新100万次,修改时间i_atime更新3万次,文件长度i_size更新1万次,文件模式i_mode更新800次,文件权限i_file_acl更新300次,创建时间i_ctime更新0次。如果设置更新次数为零到1000次之间的元数据字段为一级元数据,1000次到10万次的为二级元数据,10万次以上的为三级元数据,那么,文件模式i_mode、文件权限i_file_acl和创建时间i_ctime就属于一级元数据,修改时间i_atime和文件长度i_size就属于二级元数据,访问时间i_atime就属于三级元数据。
显然,通过本实施例所提供的技术方案,可以进一步提高在对目标SSD中元数据进行分级过程中的可靠性与可信度。
作为一种优选的实施方式,上述步骤:属于同一个等级的元数据集中存储在目标SSD的过程,包括:
属于同一个等级的元数据字段集中存储至目标SSD的同一个逻辑页。
在本实施例中,为了进一步减少对目标SSD进行擦除与重写的次数,是将元数据中处于同一个等级的元数据字段集中存储在目标SSD的同一个逻辑页,以减少更新元数据在更新过程中对于目标SSD的重写、擦写次数。
具体的,假设ext2文件系统中索引节点的数据结构ext2_inode占据了128个字节,如果一个逻辑页的大小为4096字节,那么,一个逻辑页就能够存储16个索引节点数据。如果是使用缓存策略,那么,至少四个索引节点每个都更新一次时,就会更新逻辑页中的数据,也即,索引节点最多进行四次更新就需要更新一次逻辑页。如果一个读访问,只需要更新元数据字段中访问时间i_atime的4个字节,那么,如果执行16次读访问就需要更新64个字节,并需要更新一次逻辑页。
如果是按照索引节点的字段进行分级,并假设修改时间i_atime的更新频率较高,则会将不同数据文件中的修改时间i_atime都集中存放到同一个逻辑页。因为一个逻辑页占据了4096个字节,那么,一个逻辑页就能够存放4096个数据文件的索引节点的修改时间i_atime。如果一个读访问,只需要更新访问时间i_atime中的4个字节,并使用缓存策略,在此情况下,连续进行512次读访问才需要更新一个逻辑页。
显然,通过本实施例所提供的技术方案,可以进一步减少目标SSD的重写、擦除次数,并相对延长目标SSD的使用时长。
此处,通过一个例子对元数据的分级和集中存储进行具体说明。请参见图2,图2为本发明实施例所提供的文件A、文件B、文件C和文件D进行分级存放时的示意图。在对文件A、文件B、文件C和文件D中的元数据进行分级的过程中,首先是将文件A、文件B、文件C和文件D中的元数据按照更新频率的高低划分为三个等级,也即,分别将文件A、文件B、文件C和文件D中的元数据按照更新频率的高低,将文件A中的元数据划分为A1、A2和A3,将文件B中的元数据划分为B1、B2和B3,将文件C中的元数据划分为C1、C2和C3,将文件D中的元数据划分为D1、D2和D3;然后,再将处于第一等级的A1、B1、C1和D1存储在同一个逻辑页C中,将处于第二等级的A2、B2、C2、D2存储在同一个逻辑页M中,将处于第三等级的A3、B3、C3和D3存储在同一个逻辑页O中。与此同时,其它文件中处于相同等级的元数据会将逻辑页C、逻辑页M和逻辑页O填满,以避免逻辑页C、逻辑页M和逻辑页O中出现空余的现象,至此就完成了文件A、文件B、文件C和文件D中元数据的分级。
请参见图3,图3为本发明实施例所提供的查找文件A中目标元数据的示意图。假设需要查找文件A中的处于第二等级A2的元数据,则可以通过文件A中处于第一等级A1的元数据查找的处于第二等级的元数据A2;当需要查找文件A中处于第三等级的元数据A3时,则可以通过文件A中处于第一等级的元数据A1查找处于第三等级的元数据A3。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,数据文件中属于同一个等级的元数据集中存储在目标SSD的目标区域中;其中,目标区域为预先在目标SSD中所划分的区域。
在实际操作过程中,为了进一步提高元数据在分级存储过程中的存储速度,在将所有数据文件中属于同一个等级的元数据进行集中存储的过程中,还可以是将所有数据文件中属于同一个等级的元数据集中存储至预先在目标SSD中所划分好的目标区域当中。显然,通过这样的设置方式,就可以使得元数据的存储过程更加井然有序,并由此可以相对提高元数据在分级存储过程中的整体执行效率。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,判断与目标元数据相对应的更新元数据是否达到预设更新条件的过程,包括:
判断与目标元数据相对应的更新元数据在内存中的存储时间是否达到预设时长;
若是,则执行将与目标元数据相对应的更新元数据写入至目标SSD的步骤。
在本实施例中,是提供了一种判断目标元数据所对应的更新元数据是否达到预设更新条件的具体实施方法,也即,如果目标元数据所对应的更新元数据在目标SSD所在服务器内存中的缓存时长达到预设时长,则认为目标元数据所对应的更新元数据已经达到预设更新条件,并可以将目标元数据所对应的更新元数据写入至目标SSD。
可以理解的是,如果目标元数据所对应的更新元数据未能及时写入目标SSD当中,则有可能会对目标SSD执行的其它动作步骤造成影响,所以,在实际应用中,如果目标元数据所对应的更新元数据在目标SSD所在服务器内存中的缓存时长达到预设时长时,则将目标元数据所对应的更新元数据写入至目标SSD;如果目标元数据所对应的更新元数据在目标SSD所在服务器内存中的缓存时长未达到预设时长,则将目标元数据所对应的更新元数据暂停写入至目标SSD。
显然,通过本实施例所提供的技术方案,不仅可以相对减少目标SSD的修改次数,而且,也可以避免由于更新元数据未能及时写入目标SSD中,而对目标SSD的其它功能所造成的影响。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,判断与目标元数据相对应的更新元数据是否达到预设更新条件的过程,包括:
判断与目标元数据相对应的更新元数据所占用的存储空间是否超过预设阈值;
若是,则执行将与目标元数据相对应的更新元数据写入至目标SSD的步骤。
在实际应用中,还可以通过判断目标元数据所对应的更新元数据所占用的存储空间是否超过预设阈值,来决定是否要将目标元数据所对应的更新元数据写入至目标SSD中。
可以理解的是,当目标元数据所对应的更新元数据所占用的存储空间超过预设阈值时,则说明更新元数据所需要占用的存储空间比较大,此时,就可以直接利用目标SSD中的一个新逻辑块来存储更新元数据;如果目标元数据所对应的更新元数据所占用的存储空间未超过预设阈值,则可以将更新元数据缓存在目标SSD所在服务器的内存中,并暂停将更新元数据写入至目标SSD。
可见,通过本发明实施例所提供的技术方案,可以相对保证预设更新条件在具体设置过程中的可实施性。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:将与目标元数据相对应的更新元数据缓存至目标SSD所在服务器的内存的过程之后,还包括:
判断内存中是否存在需要写入同一个逻辑块的目标更新元数据;
若是,则将目标更新元数据进行聚合处理。
可以理解的是,在实际操作过程中,在将更新数据写入目标SSD的过程中,必定会出现多个更新数据需要写入目标SSD的同一个逻辑块的情况,所以,在本实施例中,为了进一步减少更新数据需要修改目标SSD的次数,是当将与目标元数据所对应的更新数据缓存至目标SSD所在服务器的内存以后,又进一步判断了内存中是否存在有需要写入同一个逻辑块的目标更新数据,如果内存中存在有需要写入同一个逻辑块中的目标更新元数据,则将目标更新元数据进行聚合处理,也即,将需要写入同一个逻辑块的目标更新元数据合并为一个更新元数据进行处理。由此就可以进一步减少由于元数据更新而对目标SSD的修改、擦除次数,同时并增加目标SSD的使用寿命。
基于上述实施例,本实施例对技术方案作进一步的说明与优化,作为一种优选的实施方式,上述步骤:将与目标元数据所对应的更新元数据写入至目标SSD的过程之前,还包括:
将与目标元数据所对应的更新元数据写入至目标SSD的日志区域。
可以理解的是,在实际应用中,目标SSD可能会出现故障,从而导致更新元数据无法写入目标SSD的情况。因此,在本实施例中,为了提高更新数据在写入目标SSD时的安全性,还在将更新元数据写入至目标SSD的步骤之前,将更新元数据写入至目标SSD的日志区域当中。显然,通过这样的设置机制,即使在目标SSD出现故障的情况下,工作人员也可以通过目标SSD的日志区域中所存储的内容信息,将未写入至目标SSD的更新元数据写入至目标SSD,由此就进一步保证了更新数据在写入目标SSD时的安全性与可靠性。
请参见图4,图4为本发明实施例所提供的一种元数据的更新装置的结构图,该元数据的更新装置包括:
数据缓存模块21,用于当接收到更新指令时,则获取与更新指令相对应的目标元数据所对应的目标等级,并将与目标元数据相对应的更新元数据缓存至目标SSD所在服务器的内存;其中,目标元数据为预先按照元数据的属性信息的更新频率对目标SSD内数据文件中的元数据进行分级的元数据;并且,数据文件中属于同一个等级的元数据集中存储在目标SSD中;
数据判断模块22,用于判断与目标元数据相对应的更新元数据是否达到预设更新条件;
数据写入模块23,用于当数据判断模块的判定结果为是时,则将与目标元数据相对应的更新元数据写入至目标SSD。
优选的,数据缓存模块21,包括:
字段分级单元,用于预先按照元数据字段的属性信息的更新频率对目标SSD内数据文件中的元数据进行分级。
优选的,数据缓存模块21,包括:
字段存储单元,用于属于同一个等级的元数据字段集中存储至目标SSD的同一个逻辑页。
优选的,数据判断模块22,包括:
第一判断单元,用于判断与目标元数据相对应的更新元数据在内存中的存储时间是否达到预设时长;
第一判定单元,用于当第一判断单元的判定结果为是时,则执行将与目标元数据相对应的更新元数据写入至目标SSD的步骤。
优选的,数据判断模块22,包括:
第二判断单元,用于判断与目标元数据相对应的更新元数据所占用的存储空间是否超过预设阈值;
第二判定单元,用于当第二判断单元的判定结果为是时,则执行将与目标元数据相对应的更新元数据写入至目标SSD的步骤。
优选的,还包括:
内存判断模块,用于将与目标元数据相对应的更新元数据缓存至目标SSD所在服务器的内存的过程之后,还包括:判断内存中是否存在需要写入同一个逻辑块的目标更新元数据;
聚合处理模块,用于当内存判断模块的判定结果为是时,则将目标更新元数据进行聚合处理。
优选的,还包括:
日志写入模块,用于将与目标元数据所对应的更新元数据写入至目标SSD的过程之前,还包括:将与目标元数据所对应的更新元数据写入至目标SSD的日志区域。
本发明实施例所提供的一种元数据的更新装置,具有前述所公开的一种元数据的更新方法所具有的有益效果。
请参见图5,图5为本发明实施例所提供的一种元数据的更新设备的结构图,该元数据的更新设备包括:
存储器31,用于存储计算机程序;
处理器32,用于执行计算机程序时实现如前述所公开的一种元数据的更新方法的步骤。
本发明实施例所提供的一种元数据的更新设备,具有前述所公开的一种元数据的更新方法所具有的有益效果。
一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述所公开的一种元数据的更新方法的步骤。
本发明实施例所提供的一种计算机可读存储介质,具有前述所公开的一种元数据的更新方法所具有的有益效果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种元数据的更新方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种元数据的更新方法,其特征在于,应用于目标SSD,包括:
当接收到更新指令时,则获取与所述更新指令相对应的目标元数据所对应的目标等级,并将与所述目标元数据相对应的更新元数据缓存至所述目标SSD所在服务器的内存;其中,所述目标元数据为预先按照元数据的属性信息的更新频率对所述目标SSD内数据文件中的元数据进行分级的元数据;并且,所述数据文件中属于同一个等级的元数据集中存储在所述目标SSD中;
判断与所述目标元数据相对应的更新元数据是否达到预设更新条件;其中,所述预设更新条件为预先根据所述目标元数据所处的所述目标等级所设定的更新条件;
若是,则将与所述目标元数据相对应的更新元数据写入至所述目标SSD。
2.根据权利要求1所述的更新方法,其特征在于,所述预先按照元数据的属性信息的更新频率对所述目标SSD内数据文件中的元数据进行分级的过程,包括:
预先按照元数据字段的属性信息的更新频率对所述目标SSD内所述数据文件中的元数据进行分级。
3.根据权利要求2所述的更新方法,其特征在于,所述属于同一个等级的元数据集中存储在所述目标SSD的过程,包括:
属于同一个等级的元数据字段集中存储至所述目标SSD的同一个逻辑页。
4.根据权利要求1所述的更新方法,其特征在于,所述数据文件中属于同一个等级的元数据集中存储在所述目标SSD的目标区域中;其中,所述目标区域为预先在所述目标SSD中所划分的区域。
5.根据权利要求1所述的更新方法,其特征在于,所述判断与所述目标元数据相对应的更新元数据是否达到预设更新条件的过程,包括:
判断与所述目标元数据相对应的更新元数据在所述内存中的存储时间是否达到预设时长;
若是,则执行所述将与所述目标元数据相对应的更新元数据写入至所述目标SSD的步骤。
6.根据权利要求1所述的更新方法,其特征在于,所述判断与所述目标元数据相对应的更新元数据是否达到预设更新条件的过程,包括:
判断与所述目标元数据相对应的更新元数据所占用的存储空间是否超过预设阈值;
若是,则执行所述将与所述目标元数据相对应的更新元数据写入至所述目标SSD的步骤。
7.根据权利要求1所述的更新方法,其特征在于,所述将与所述目标元数据相对应的更新元数据缓存至所述目标SSD所在服务器的内存的过程之后,还包括:
判断所述内存中是否存在需要写入同一个逻辑块的目标更新元数据;
若是,则将所述目标更新元数据进行聚合处理。
8.根据权利要求1至7任一项所述的更新方法,其特征在于,所述将与所述目标元数据所对应的更新元数据写入至所述目标SSD的过程之前,还包括:
将与所述目标元数据所对应的更新元数据写入至所述目标SSD的日志区域。
9.一种元数据的更新装置,其特征在于,应用于目标SSD,包括:
数据缓存模块,用于当接收到更新指令时,则获取与所述更新指令相对应的目标元数据所对应的目标等级,并将与所述目标元数据相对应的更新元数据缓存至所述目标SSD所在服务器的内存;其中,所述目标元数据为预先按照元数据的属性信息的更新频率对所述目标SSD内数据文件中的元数据进行分级的元数据;并且,所述数据文件中属于同一个等级的元数据集中存储在所述目标SSD中;
数据判断模块,用于判断与所述目标元数据相对应的更新元数据是否达到预设更新条件;
数据写入模块,用于当所述数据判断模块的判定结果为是时,则将与所述目标元数据相对应的更新元数据写入至所述目标SSD。
10.一种元数据的更新设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述的一种元数据的更新方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的一种元数据的更新方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911402900 | 2019-12-30 | ||
CN2019114029008 | 2019-12-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488128A true CN111488128A (zh) | 2020-08-04 |
CN111488128B CN111488128B (zh) | 2022-03-22 |
Family
ID=71797889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010300242.8A Active CN111488128B (zh) | 2019-12-30 | 2020-04-16 | 一种元数据的更新方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488128B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342921A (zh) * | 2021-06-16 | 2021-09-03 | 杭州数梦工场科技有限公司 | 资源编目方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101501656A (zh) * | 2005-09-29 | 2009-08-05 | 科潘系统公司 | 用于数据的存档存储的系统 |
CN101615151A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 用于拷贝数据的系统和方法 |
CN102117287A (zh) * | 2009-12-30 | 2011-07-06 | 成都市华为赛门铁克科技有限公司 | 分布式文件系统访问方法、元数据服务器及客户端 |
US20130046918A1 (en) * | 2011-08-18 | 2013-02-21 | Samsung Electronics Co., Ltd. | Method writing meta data with reduced frequency |
CN103078898A (zh) * | 2012-12-18 | 2013-05-01 | 华为技术有限公司 | 文件系统、接口服务装置和数据存储服务提供方法 |
US20140229656A1 (en) * | 2013-02-08 | 2014-08-14 | Seagate Technology Llc | Multi-Tiered Memory with Different Metadata Levels |
CN106528866A (zh) * | 2016-12-02 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种更新元数据的方法、装置和系统 |
CN106873908A (zh) * | 2017-01-17 | 2017-06-20 | 北京联想核芯科技有限公司 | 数据存储方法及装置 |
-
2020
- 2020-04-16 CN CN202010300242.8A patent/CN111488128B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101501656A (zh) * | 2005-09-29 | 2009-08-05 | 科潘系统公司 | 用于数据的存档存储的系统 |
CN101615151A (zh) * | 2008-06-27 | 2009-12-30 | 国际商业机器公司 | 用于拷贝数据的系统和方法 |
CN102117287A (zh) * | 2009-12-30 | 2011-07-06 | 成都市华为赛门铁克科技有限公司 | 分布式文件系统访问方法、元数据服务器及客户端 |
US20130046918A1 (en) * | 2011-08-18 | 2013-02-21 | Samsung Electronics Co., Ltd. | Method writing meta data with reduced frequency |
CN103078898A (zh) * | 2012-12-18 | 2013-05-01 | 华为技术有限公司 | 文件系统、接口服务装置和数据存储服务提供方法 |
US20140229656A1 (en) * | 2013-02-08 | 2014-08-14 | Seagate Technology Llc | Multi-Tiered Memory with Different Metadata Levels |
CN106528866A (zh) * | 2016-12-02 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种更新元数据的方法、装置和系统 |
CN106873908A (zh) * | 2017-01-17 | 2017-06-20 | 北京联想核芯科技有限公司 | 数据存储方法及装置 |
Non-Patent Citations (2)
Title |
---|
JING YANG; QING YANG: ""A New Metadata Update Method for Fast Recovery of SSD Cache"", 《2013 IEEE EIGHTH INTERNATIONAL CONFERENCE ON NETWORKING, ARCHITECTURE AND STORAGE》 * |
罗圣美;陆游游;秦雄军;杨洪章;张佳程: "" 一种结合SSD特征的分布式文件系统元数据优化技术"", 《小型微型计算机系统》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342921A (zh) * | 2021-06-16 | 2021-09-03 | 杭州数梦工场科技有限公司 | 资源编目方法及装置 |
CN113342921B (zh) * | 2021-06-16 | 2024-03-22 | 杭州数梦工场科技有限公司 | 资源编目方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111488128B (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11010300B2 (en) | Optimized record lookups | |
US8856484B2 (en) | Mass storage system and methods of controlling resources thereof | |
US9575678B2 (en) | Hierarchical allocation for file system storage device | |
US11099937B2 (en) | Implementing clone snapshots in a distributed storage system | |
US10216757B1 (en) | Managing deletion of replicas of files | |
US20190213085A1 (en) | Implementing Fault Domain And Latency Requirements In A Virtualized Distributed Storage System | |
US9582421B1 (en) | Distributed multi-level caching for storage appliances | |
CN110018998B (zh) | 一种文件管理方法、系统及电子设备和存储介质 | |
CN107066498B (zh) | 键值kv存储方法和装置 | |
US20130275653A1 (en) | Multi-tier storage using multiple file sets | |
US20110231458A1 (en) | File level hierarchical storage management system, method, and apparatus | |
CN108733306B (zh) | 一种文件合并方法及装置 | |
US9785547B2 (en) | Data management apparatus and method | |
US10482065B1 (en) | Managing deletion of replicas of files | |
EP4321980A1 (en) | Method and apparatus for eliminating cache memory block, and electronic device | |
CN109804359A (zh) | 用于将数据回写到存储设备的系统和方法 | |
CN109086141B (zh) | 内存管理方法和装置以及计算机可读存储介质 | |
CN111143285A (zh) | 一种小文件存储文件系统以及小文件处理方法 | |
CN111309258A (zh) | 一种b+树的存取方法、装置和计算机可读存储介质 | |
US10133757B2 (en) | Method for managing data using in-memory database and apparatus thereof | |
CN111552442A (zh) | 一种基于ssd的缓存管理系统及方法 | |
CN105469001B (zh) | 磁盘数据保护方法及装置 | |
CN111857557B (zh) | Raid类型转换的方法、设备和计算机程序产品 | |
CN111488128B (zh) | 一种元数据的更新方法、装置、设备及介质 | |
US10073851B2 (en) | Fast new file creation cache |
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 |