CN115905114A - 元数据的批量更新方法、系统、电子设备及可读存储介质 - Google Patents
元数据的批量更新方法、系统、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN115905114A CN115905114A CN202310220789.0A CN202310220789A CN115905114A CN 115905114 A CN115905114 A CN 115905114A CN 202310220789 A CN202310220789 A CN 202310220789A CN 115905114 A CN115905114 A CN 115905114A
- Authority
- CN
- China
- Prior art keywords
- metadata
- updated
- transaction
- target node
- thread
- 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
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种元数据的批量更新方法、系统、电子设备及可读存储介质,涉及分布式文件系统领域,该方法包括:响应于收到业务更新指令,触发业务更新指令对应的线程,对线程增加PG锁后执行线程对应的第一操作;根据第一操作建立内部对象与业务对象的映射;当收到元数据更新回调指令,触发回调线程,对回调线程增加PG锁后,遍历内部对象映射的业务对象以确定待更新元数据;根据所有业务对象及其对应的待更新元数据,构造一个事务;将事务转发至目标节点,以使目标节点根据事务对待更新元数据进行下盘操作。本申请所公开的批量更新方法,对线程增加PG锁,取消了对象锁,降低了批量更新过程中事务量,从而具有更高效的元数据批量更新效果。
Description
技术领域
本发明涉及分布式文件系统领域,特别涉及一种元数据的批量更新方法、系统、电子设备及可读存储介质。
背景技术
数字化转型背景下,海量数据不断增长,分布式文件系统已经得到普遍应用,分布式文件系统通常包括主控服务器、存储服务器以及多个客户端,其本质是将大量的文件,均匀分布到多个存储服务器上,具有高扩展性、高可靠性的特点。
为了提高文件系统性能,对分布式文件系统的操作通常采用聚合追加写的方式,集群被分为缓存池和数据池,客户IO(Input/Output,输入/输出)首先写入到三副本的缓存池,缓存池将写入的IO数据缓存在主OSD(Object-based Storage Device,对象存储设备)的内存中,当前缓存的数据达到内部对象大小或者满条带时,申请一个数据池内部对象,将主OSD缓存的数据写入到数据池,保证数据池的对象一直是追加写。
客户端写入时的对象称为业务对象,数据池中存储的聚合后的对象称为内部对象,客户端不感知内部对象,所以需要保存一份业务对象到内部对象的映射,这部分映射的数据存储在业务对象的元数据信息中,元数据的更新是在下刷内部对象成功后的回调函数中进行。
然而,一个内部对象可能对应着成百上千个业务对象,在当前的元数据更新的机制下,下刷数据完成触发回调进行元数据更新的时候,需要为每个业务对象构造一个事务进行元数据更新,这样不仅需要事务对应的大量的消息转发,而且每个对象元数据的更新在bluestore的RocksDB都需要同步提交而产生一次磁盘IO,导致元数据更新效率低。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种具有较高更新效率的元数据的批量更新方法、系统、电子设备及可读存储介质。其具体方案如下:
一种元数据的批量更新方法,应用于分布式文件系统,包括:
响应于收到业务更新指令,触发所述业务更新指令对应的线程,对所述线程增加PG锁后执行所述线程对应的第一操作;
根据所述第一操作建立内部对象与业务对象的映射;
当收到元数据更新回调指令,触发回调线程,对所述回调线程增加PG锁后,遍历所述内部对象映射的所述业务对象以确定待更新元数据;
根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务;
将所述事务转发至所述待更新元数据对应的目标节点,以使所述目标节点根据所述事务对所述待更新元数据进行下盘操作。
可选的,遍历所述内部对象映射的所述业务对象以确定待更新元数据之后,还包括:
将所有所述待更新元数据写入本地内存;
当收到关于所述待更新元数据的操作指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的第二操作,其中所述本地内存中的所述待更新元数据的操作优先级高于所述目标节点的所述待更新元数据;
当收到所述目标节点反馈的下盘成功信息,删除所述本地内存中的所述待更新元数据。
可选的,所述操作指令为第二操作与当前正在进行的所述线程的第一操作互斥的操作指令。
可选的,所述当收到关于所述待更新元数据的操作指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的第二操作的过程,包括:
当收到关于所述待更新元数据的读指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的读操作。
可选的,所述根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务之后,还包括:
根据所有所述业务对象及其对应的所述待更新元数据,创建元数据日志;
当任一所述目标节点发生故障,根据所述元数据日志对所述目标节点进行所述元数据日志中记载的操作。
可选的,所述目标节点包括主节点和备份节点,所述目标节点根据所述事务对所述待更新元数据进行下盘操作的过程,包括:
当目标节点为所述备份节点,在所述备份节点上根据所述事务对所述待更新元数据进行下盘操作。
可选的,当目标节点为所述备份节点,在所述备份节点上根据所述事务对所述待更新元数据进行下盘操作之后,还包括:
判断所述备份节点是否存在故障待恢复数据;
若是,在所述备份节点删除所述故障待恢复数据。
可选的,所述批量更新方法还包括:
当收到所有所述备份节点反馈的下盘成功信息,删除所述主节点上关于所有所述备份节点的故障待恢复记录。
可选的,所述目标节点根据所述事务对所述待更新元数据进行下盘操作的过程,还包括:
当所述目标节点为所述主节点,判断所述主节点是否存在故障待恢复数据;
若是,对所述主节点上的所述故障待恢复数据进行恢复,然后在所述主节点上根据所述事务对所述待更新元数据进行下盘操作;
若否,在所述主节点上根据所述事务对所述待更新元数据进行下盘操作。
可选的,根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务的过程,包括:
根据所有所述业务对象及其对应的所述待更新元数据,调用setattr接口构造一个事务。
可选的,所述业务更新指令包括:业务写指令,和/或业务读指令,和/或内部对象下刷触发指令。
可选的,所述业务写指令包括写入指令、和/或清零指令、和/或删除指令、和/或截留指令。
可选的,对所述线程增加PG锁后执行所述线程对应的第一操作之后,还包括:
当所述线程对应的第一操作完成,解除所述线程对应的PG锁;
相应的,将所述事务转发至所述待更新元数据对应的目标节点,以使所述目标节点根据所述事务对所述待更新元数据进行下盘操作之后,还包括:
当完成所述事务的转发,解除所述回调线程对应的PG锁。
可选的,将所述事务转发至所述待更新元数据对应的目标节点的过程,包括:
将所述事务提交到RocksDB,以使所述事务被转发至所述待更新元数据对应的目标节点。
可选的,对所述线程增加PG锁后执行所述线程对应的第一操作之后,还包括:
获取所述第一操作对应的第一正向关系;
获取目标节点当前对应的第二正向关系;
对所述第一正向关系和所述第二正向关系进行正向合并,以确定所述业务对象的待更新元数据。
可选的,所述获取目标节点当前对应的第二正向关系的过程,包括:
通过store层获取目标节点当前对应的第二正向关系。
可选的,对所述第一正向关系和所述第二正向关系进行正向合并,以确定所述业务对象的待更新元数据之后,还包括:
更新相应的所述内部对象的摘要信息。
相应的,本申请还公开了一种元数据的批量更新系统,应用于分布式文件系统,包括:
线程模块,用于响应于收到业务更新指令,触发所述业务更新指令对应的线程,对所述线程增加PG锁后执行所述线程对应的第一操作;
映射模块,用于根据所述第一操作建立内部对象与业务对象的映射;
确定模块,用于当收到元数据更新回调指令,触发回调线程,对所述回调线程增加PG锁后,遍历所述内部对象映射的所述业务对象以确定待更新元数据;
构造模块,用于根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务;
转发模块,用于将所述事务转发至所述待更新元数据对应的目标节点,以使所述目标节点根据所述事务对所述待更新元数据进行下盘操作。
相应的,本申请还公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任一项所述元数据的批量更新方法的步骤。
相应的,本申请还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述元数据的批量更新方法的步骤。
本申请所公开的批量更新方法,对线程增加PG锁,取消了对象锁,处理效率提升,然后在遍历所有业务对象后确定可批量更新的待更新元数据,并生成一个事务用于转发和下盘,由于事务数量相对于现有技术明显降低,因此降低了批量更新过程中消息转发的耗时和磁盘IO的数量,从而具有更高效的元数据批量更新效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例中一种元数据的批量更新方法的步骤流程图;
图2为本发明实施例中一种目标节点当前对应的第二正向关系示意图;
图3为本发明实施例中一种切割后的第二正向关系示意图;
图4为本发明实施例中另一种切割后的第二正向关系示意图;
图5为本发明实施例中一种删除后的第二正向关系示意图;
图6为本发明实施例中一种作为正向合并后的元数据中性关系示意图;
图7为本发明实施例中一种元数据的批量更新系统的结构分布图;
图8为本发明实施例中一种电子设备的结构分布图;
图9为本发明实施例中一种可读存储介质的结构分布图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一个内部对象可能对应着成百上千个业务对象,在当前的元数据更新的机制下,下刷数据完成触发回调进行元数据更新的时候,需要为每个业务对象构造一个事务进行元数据更新,这样不仅需要事务对应的大量的消息转发,而且每个对象元数据的更新在bluestore的RocksDB都需要同步提交而产生一次磁盘IO,导致元数据更新效率低。
本申请所公开的批量更新方法,对线程增加PG锁,取消了对象锁,处理效率提升,然后在遍历所有业务对象后确定可批量更新的待更新元数据,并生成一个事务用于转发和下盘,由于事务数量相对于现有技术明显降低,因此降低了批量更新过程中消息转发的耗时和磁盘IO的数量,从而具有更高效的元数据批量更新效果。
本发明实施例公开了一种元数据的批量更新方法,应用于分布式文件系统。分布式文件系统通常包括多个OSD,每个OSD可看作一个节点。分布式文件系统的存储方式一般以多副本,通常为三副本形式进行备份,其中存储副本的多个节点分为主节点和备份节点,主节点通常只有一个,其操作优先级高于备份节点;控制节点主要用于实现与客户端之间的通讯以及本实施例中元数据批量更新方法,控制节点可选择由主节点实现,也可选择其他节点。
具体的,参见图1所示,元数据的批量更新方法包括:
S1:响应于收到业务更新指令,触发业务更新指令对应的线程,对线程增加PG(Placement Group,归置组)锁后执行线程对应的第一操作;
可以理解的是,本实施例中元数据的批量更新方法主要应用于分布式文件系统,其中业务更新指令包括且不限于:业务写指令,和/或业务读指令,和/或内部对象下刷触发指令。具体的,业务写指令指对分布式文件系统中的数据进行更新处理的指令,进一步的,业务写指令包括且不限于写入指令、和/或清零指令、和/或删除指令、和/或截留指令。可以理解的是,其中,写入指令对应的第一操作为write写操作,清零指令对应的第一操作为zero清零操作,删除指令对应的第一操作为delete删除操作,截留指令对应的第一操作为truncate操作,意为在预设位置截断目标数据并保留目标数据中的前段数据。类似的,业务读指令指对分布式文件系统中的数据进行读取的指令,读取过程中数据不发生变动;内部对象下刷触发指令,指缓存池中数据满足内部对象大小或满条带时所触发的指令,该指令下对应的第一操作包括申请一个数据池的内部对象、将缓存池中的数据写入到数据池中,其中将缓存池中的数据写入到数据池中的动作称之为下刷或下盘。
S2:根据第一操作建立内部对象与业务对象的映射;
可以理解的是,内部对象是分布式文件系统内部的数据池中聚合后的对象,业务对象指客户端写入时的对象,由于客户端在写入时不感知内部对象,因此需要一份内部对象与业务对象之间的映射用于信息检索,该映射将存储在业务对象的元数据信息中。可以理解的是,该过程中业务对象的元数据信息将发生更改,因此可以首先获取业务对象存储于目标节点的当前元数据信息,然后根据本次第一操作对当前元数据信息进行更新,然后将更新的元数据信息暂存,以备后续步骤查询。
S3:当收到元数据更新回调指令,触发回调线程,对回调线程增加PG锁后,遍历内部对象映射的业务对象以确定待更新元数据;
S4:根据所有业务对象及其对应的待更新元数据,构造一个事务;
进一步的,步骤S4根据所有业务对象及其对应的待更新元数据,构造一个事务的过程,包括:
根据所有业务对象及其对应的待更新元数据,调用setattr接口构造一个事务;
进一步的,还包括:将其对应的待更新元数据的所有正向关系和摘要信息写入事务中。
S5:将事务转发至待更新元数据对应的目标节点,以使目标节点根据事务对待更新元数据进行下盘操作。
其中,这里的目标节点不限制是否为backfill target成员,向所有目标节点君转发真正的事务。
进一步的,步骤S5将事务转发至待更新元数据对应的目标节点的过程,包括:将事务提交到RocksDB,以使事务被转发至待更新元数据对应的目标节点。可以理解的是,Rocksdb是基于leveldb开发的一套基于LSM树(Log Structure Merge Tree,基于日志追加的数据结构)结构的数据存储引擎,针对SSD(Solid State Disk,固态硬盘)做过相应的特殊化优化处理,能够高速吞吐PB级的数据,又有极高的IO效率。
可以理解的是,步骤S3-S5在收到元数据更新回调指令后依次执行。元数据更新回调指令一般是在数据下刷成功,也即内部对象下刷触发指令的第一操作完成后由系统自动触发生成,用于对下刷数据对应的元数据进行更新,因此对应的待更新元数据、业务对象、内部对象与触发该元数据更新回调指令的下刷数据对应。
可以理解的是,步骤S3-S5在遍历业务对象后确定了完整的待更新元数据,根据所有的待更新元数据构造一个事务并转发到目标节点,以使目标节点利用该事务实现所有待更新元数据的下盘操作。该过程中构造的事务数量唯一,在转发事务时所需的消息数量极少,耗时少,目标节点利用这一个事务即可完成所有待更新元数据的下盘,过程中信息条数大幅减少,但信息量并未变化,依然保证了大量的待更新元数据的可靠下盘,具有批量、高效、可靠的效果。
可以理解的是,本实施例中为了减少锁操作对资源、耗时的影响,取消了对象锁的设置,仅以PG锁来确保操作互斥,PG锁将在操作完成后进行解锁释放。
具体的,步骤S1对线程增加PG锁后执行线程对应的第一操作之后,还包括:当线程对应的第一操作完成,解除线程对应的PG锁;
相应的,步骤S5将事务转发至待更新元数据对应的目标节点,以使目标节点根据事务对待更新元数据进行下盘操作之后,还包括:
当完成事务的转发,解除回调线程对应的PG锁。
进一步的,为了确保本实施例过程中出现多并发的第一操作时的读写一致性,本实施例在增加PG锁的同时,可设置对所有第一操作的数据首先写入本地内存,之后再按流程进行数据落盘。一旦出现了并发的其他第一操作,例如写操作或读操作,先在本地内存中查找相应的数据,如果本地内存中没有则再去store层的已下盘位置查找相应的数据,该第一操作的结果数据将同样被保存在本地内存和临时变量中。
同理,对于回调线程,步骤S3遍历内部对象映射的业务对象以确定待更新元数据之后,还包括:
将所有待更新元数据写入本地内存;
当收到关于待更新元数据的操作指令,对本地内存中的待更新元数据和/或目标节点的待更新元数据进行相应的第二操作,其中本地内存中的待更新元数据的操作优先级高于目标节点的待更新元数据;
当收到目标节点反馈的下盘成功信息,删除本地内存中的待更新元数据。
可以理解的是,如果本地内存中存在待更新元数据,则本地内存中的待更新元数据的时效性要强于目标节点中的,因此优选本地内存中的待更新元数据。进一步的,一旦待更新元数据下盘成功,则二者内容一致、时效性相同,不再需要本地内存存储待更新元数据以支持更新的时效性,PG锁也已解锁,不再需要强调读写一致性,因此可删除本地内存中的待更新元数据。
可以理解的是,操作指令通常为第二操作与当前正在进行的线程的第一操作互斥的操作指令。例如,当收到关于待更新元数据的操作指令,对本地内存中的待更新元数据和/或目标节点的待更新元数据进行相应的第二操作的过程,包括:
当收到关于待更新元数据的读指令,对本地内存中的待更新元数据和/或目标节点的待更新元数据进行相应的读操作。
本实施例中对线程增加PG锁,取消了对象锁,处理效率提升,然后在遍历所有业务对象后确定可批量更新的待更新元数据,并生成一个事务用于转发和下盘,由于事务数量相对于现有技术明显降低,因此降低了批量更新过程中消息转发的耗时和磁盘IO的数量,从而具有更高效的元数据批量更新效果。
本发明实施例公开了一种具体的元数据的批量更新方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
可以理解的是,待更新元数据的确定,从对象来讲,包括所有内部对象映射的业务对象,从动作本身来讲,主要指根据当前已完成的第一操作对业务对象的当前元数据信息进行更新,具体的更新指,将业务对象原本存储在目标节点中的第二正向关系和当前存储在本地内存中的第一正向关系进行正向合并得到结果作为该业务对象的待更新元数据,用于对当前元数据进行更新。具体的,对所述线程增加PG锁后执行所述线程对应的第一操作之后,还包括:
获取所述第一操作对应的第一正向关系;
获取目标节点当前对应的第二正向关系;
对所述第一正向关系和所述第二正向关系进行正向合并,以确定所述业务对象的待更新元数据。
可以理解的是,这里的第一正向关系、第二正向关系指的是元数据正向关系信息。
进一步的,所述获取目标节点当前对应的第二正向关系的过程,包括:
通过store层获取目标节点当前对应的第二正向关系。
进一步的,对所述第一正向关系和所述第二正向关系进行正向合并,以确定所述业务对象的待更新元数据之后,还包括:
更新相应的所述内部对象的摘要信息。
具体的,第一正向关系和第二正向关系通常都以(offset,length)的形式表示,其中offset为起始位置,length为新数据长度,例如目标节点当前对应的第二正向关系参照图2所示。
进一步的,假设第一正向关系为(8192,1048576),则对第一正向关系和第二正向关系的正向合并过程如下:
首先,查找起始位置8192在第二正向关系的位置,确定在(4096,8192)这个数据片段,将其以8192为起始位置切割出新的数据片段,切割后的第二正向关系参照图3所示。
然后,查找offset+length的位置点(8192+1048576=1056768)在第二正向关系的位置,确定在(1048576,16384)这个数据片段,将这个数据片段以1056768为起始位置切割出新的数据片段,切割后的第二正向关系参照图4所示。
在第二正向关系中删除与第一正向关系对应相同范围的数据片段,删除后的第二正向关系参照图5所示。
将第一正向关系对应的数据片段写入第二正向关系并保存,即作为正向合并后的元数据中性关系参照图6所示。
当然,除了这种正向合并的方法外,其他处理计算、实现正向合并效果的方法也可应用在本实施例的正向合并中,例如直接将第一正向关系覆盖写入第二正向关系等,具体不作限制。
本发明实施例公开了一种具体的元数据的批量更新方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
具体的,根据所有业务对象及其对应的待更新元数据,构造一个事务之后,还包括:
根据所有业务对象及其对应的待更新元数据,创建元数据日志;
当任一目标节点发生故障,根据元数据日志对目标节点进行所述元数据日志中记载的操作。
可以理解的是,元数据日志主要指pglog,元数据更新时要求同步记录pglog,记录并存储后,在故障触发时根据元数据日志对目标节点进行所述元数据日志中记载的操作。进一步的,本实施例中一个元数据日志对应多个业务对象,具有元数据集中、批量更新效率更快的优点。
进一步的,目标节点包括主节点和备份节点,目标节点根据事务对待更新元数据进行下盘操作的过程,包括:
当目标节点为备份节点,在备份节点上根据事务对待更新元数据进行下盘操作。
进一步的,当目标节点为备份节点,在备份节点上根据事务对待更新元数据进行下盘操作之后,还包括:
判断备份节点是否存在故障待恢复数据;
若是,在备份节点删除故障待恢复数据。
进一步的,当收到所有备份节点反馈的下盘成功信息,删除主节点上关于所有备份节点的故障待恢复记录。
可以理解的是,目标节点根据事务对待更新元数据进行下盘操作的过程,还包括:
当目标节点为主节点,判断主节点是否存在故障待恢复数据;
若是,对主节点上的故障待恢复数据进行恢复,然后在主节点上根据事务对待更新元数据进行下盘操作;
若否,在主节点上根据事务对待更新元数据进行下盘操作。
可以理解的是,故障待恢复数据是节点在故障一段时间后恢复正常,正常状态下对于故障状态时由于故障未来得及同步的数据的名称,对于是否处理故障待恢复数据,本实施例根据主备节点分别采取不同的措施。其中,主节点为故障待恢复数据优先,待更新元数据次之,备份节点为待更新元数据为主,忽略故障待恢复数据。实际上,由于备份节点的恢复数据可能被待更新元数据再次更新,因此,为了避免重复无用的动作,可直接下盘待更新元数据,此时备份节点的所有数据版本均将与主节点一致,无需恢复之前的故障待恢复数据。
进一步的,对于备份节点和主节点对故障待恢复数据/记录,如备份节点上的missing对象、主节点上的peer_missing对象,在备份节点完成待更新元数据的下盘操作后,均变为无效状态,可直接删除,以节省空间。
相应的,本申请实施例还公开了一种元数据的批量更新系统,应用于分布式文件系统,参见图7所示,包括:
线程模块1,用于响应于收到业务更新指令,触发所述业务更新指令对应的线程,对所述线程增加PG锁后执行所述线程对应的第一操作;
映射模块2,用于根据所述第一操作建立内部对象与业务对象的映射;
确定模块3,用于当收到元数据更新回调指令,触发回调线程,对所述回调线程增加PG锁后,遍历所述内部对象映射的所述业务对象以确定待更新元数据;
构造模块4,用于根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务;
转发模块5,用于将所述事务转发至所述待更新元数据对应的目标节点,以使所述目标节点根据所述事务对所述待更新元数据进行下盘操作。
本实施例中对线程增加PG锁,取消了对象锁,处理效率提升,然后在遍历所有业务对象后确定可批量更新的待更新元数据,并生成一个事务用于转发和下盘,由于事务数量相对于现有技术明显降低,因此降低了批量更新过程中消息转发的耗时和磁盘IO的数量,从而具有更高效的元数据批量更新效果。
在一些具体的实施例中,批量更新系统还包括内存管理模块,用于:
在确定模块3遍历所述内部对象映射的所述业务对象以确定待更新元数据之后,将所有所述待更新元数据写入本地内存;
当收到关于所述待更新元数据的操作指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的第二操作,其中所述本地内存中的所述待更新元数据的操作优先级高于所述目标节点的所述待更新元数据;
当收到所述目标节点反馈的下盘成功信息,删除所述本地内存中的所述待更新元数据。
在一些具体的实施例中,所述操作指令为第二操作与当前正在进行的所述线程的第一操作互斥的操作指令。
在一些具体的实施例中,所述当收到关于所述待更新元数据的操作指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的第二操作的过程,包括:
当收到关于所述待更新元数据的读指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的读操作。
在一些具体的实施例中,所述构造模块4根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务之后,还用于:
根据所有所述业务对象及其对应的所述待更新元数据,创建元数据日志;
当任一所述目标节点发生故障,根据所述元数据日志对所述目标节点进行所述元数据日志中记载的操作。
在一些具体的实施例中,所述目标节点包括主节点和备份节点,所述目标节点根据所述事务对所述待更新元数据进行下盘操作的过程,包括:
当目标节点为所述备份节点,在所述备份节点上根据所述事务对所述待更新元数据进行下盘操作。
在一些具体的实施例中,当目标节点为所述备份节点,在所述备份节点上根据所述事务对所述待更新元数据进行下盘操作之后,还包括:
判断所述备份节点是否存在故障待恢复数据;
若是,在所述备份节点删除所述故障待恢复数据。
在一些具体的实施例中,转发模块5还用于:
当收到所有所述备份节点反馈的下盘成功信息,删除所述主节点上关于所有所述备份节点的故障待恢复记录。
在一些具体的实施例中,所述目标节点根据所述事务对所述待更新元数据进行下盘操作的过程,还包括:
当所述目标节点为所述主节点,判断所述主节点是否存在故障待恢复数据;
若是,对所述主节点上的所述故障待恢复数据进行恢复,然后在所述主节点上根据所述事务对所述待更新元数据进行下盘操作;
若否,在所述主节点上根据所述事务对所述待更新元数据进行下盘操作;
在一些具体的实施例中,所述构造模块4根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务的过程,包括:
根据所有所述业务对象及其对应的所述待更新元数据,调用setattr接口构造一个事务。
在一些具体的实施例中,所述业务更新指令包括:业务写指令,和/或业务读指令,和/或内部对象下刷触发指令。
在一些具体的实施例中,所述业务写指令包括写入指令、和/或清零指令、和/或删除指令、和/或截留指令。
在一些具体的实施例中,线程模块1对所述线程增加PG锁后执行所述线程对应的第一操作之后,还包括:
当所述线程对应的第一操作完成,解除所述线程对应的PG锁;
相应的,构造模块4还用于:
当完成所述事务的转发,解除所述回调线程对应的PG锁。
在一些具体的实施例中,转发模块5将所述事务转发至所述待更新元数据对应的目标节点的过程,包括:
将所述事务提交到RocksDB,以使所述事务被转发至所述待更新元数据对应的目标节点。
在一些具体的实施例中,线程模块1对所述线程增加PG锁后执行所述线程对应的第一操作之后,还包括:
获取所述第一操作对应的第一正向关系;
获取目标节点当前对应的第二正向关系;
对所述第一正向关系和所述第二正向关系进行正向合并,以确定所述业务对象的待更新元数据。
在一些具体的实施例中,所述获取目标节点当前对应的第二正向关系的过程,包括:
通过store层获取目标节点当前对应的第二正向关系。
在一些具体的实施例中,对所述第一正向关系和所述第二正向关系进行正向合并,以确定所述业务对象的待更新元数据之后,还包括:
更新相应的所述内部对象的摘要信息。
本申请实施例还公开了一种电子设备,参见图8所示,包括处理器11和存储器12;其中,所述处理11执行所述存储器12中保存的计算机程序时实现以下步骤:
响应于收到业务更新指令,触发所述业务更新指令对应的线程,对所述线程增加PG锁后执行所述线程对应的第一操作;
根据所述第一操作建立内部对象与业务对象的映射;
当收到元数据更新回调指令,触发回调线程,对所述回调线程增加PG锁后,遍历所述内部对象映射的所述业务对象以确定待更新元数据;
根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务;
将所述事务转发至所述待更新元数据对应的目标节点,以使所述目标节点根据所述事务对所述待更新元数据进行下盘操作。
本实施例中对线程增加PG锁,取消了对象锁,处理效率提升,然后在遍历所有业务对象后确定可批量更新的待更新元数据,并生成一个事务用于转发和下盘,由于事务数量相对于现有技术明显降低,因此降低了批量更新过程中消息转发的耗时和磁盘IO的数量,从而具有更高效的元数据批量更新效果。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
将所有所述待更新元数据写入本地内存;
当收到关于所述待更新元数据的操作指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的第二操作,其中所述本地内存中的所述待更新元数据的操作优先级高于所述目标节点的所述待更新元数据;
当收到所述目标节点反馈的下盘成功信息,删除所述本地内存中的所述待更新元数据。
在一些具体的实施例中,所述操作指令为第二操作与当前正在进行的所述线程的第一操作互斥的操作指令。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
当收到关于所述待更新元数据的读指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的读操作。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
根据所有所述业务对象及其对应的所述待更新元数据,创建元数据日志;
当任一所述目标节点发生故障,根据所述元数据日志对所述目标节点进行所述元数据日志中记载的操作。
在一些具体的实施例中,所述目标节点包括主节点和备份节点,所述目标节点根据所述事务对所述待更新元数据进行下盘操作的过程,包括:
当目标节点为所述备份节点,在所述备份节点上根据所述事务对所述待更新元数据进行下盘操作。
在一些具体的实施例中,当目标节点为所述备份节点,在所述备份节点上根据所述事务对所述待更新元数据进行下盘操作之后,还包括:
判断所述备份节点是否存在故障待恢复数据;
若是,在所述备份节点删除所述故障待恢复数据。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
当收到所有所述备份节点反馈的下盘成功信息,删除所述主节点上关于所有所述备份节点的故障待恢复记录。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
当所述目标节点为所述主节点,判断所述主节点是否存在故障待恢复数据;
若是,对所述主节点上的所述故障待恢复数据进行恢复,然后在所述主节点上根据所述事务对所述待更新元数据进行下盘操作;
若否,在所述主节点上根据所述事务对所述待更新元数据进行下盘操作;
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
根据所有所述业务对象及其对应的所述待更新元数据,调用setattr接口构造一个事务。
在一些具体的实施例中,所述业务更新指令包括:业务写指令,和/或业务读指令,和/或内部对象下刷触发指令。
在一些具体的实施例中,所述业务写指令包括写入指令、和/或清零指令、和/或删除指令、和/或截留指令。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
当所述线程对应的第一操作完成,解除所述线程对应的PG锁;
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
当完成所述事务的转发,解除所述回调线程对应的PG锁。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
将所述事务提交到RocksDB,以使所述事务被转发至所述待更新元数据对应的目标节点。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
获取所述第一操作对应的第一正向关系;
获取目标节点当前对应的第二正向关系;
对所述第一正向关系和所述第二正向关系进行正向合并,以确定所述业务对象的待更新元数据。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
通过store层获取目标节点当前对应的第二正向关系。
在一些具体的实施例中,所述处理器11执行所述存储器12中保存的计算机子程序时,具体可以实现以下步骤:
更新相应的所述内部对象的摘要信息。
进一步的,本实施例中的电子设备,还可以包括:
输入接口13,用于获取外界导入的计算机程序,并将获取到的计算机程序保存至所述存储器12中,还可以用于获取外界终端设备传输的各种指令和参数,并传输至处理器11中,以便处理器11利用上述各种指令和参数展开相应的处理。本实施例中,所述输入接口13具体可以包括但不限于USB接口、串行接口、语音输入接口、指纹输入接口、硬盘读取接口等。
输出接口14,用于将处理器11产生的各种数据输出至与其相连的终端设备,以便于与输出接口14相连的其他终端设备能够获取到处理器11产生的各种数据。本实施例中,所述输出接口14具体可以包括但不限于USB接口、串行接口等。
通讯单元15,用于在电子设备和外部服务器之间建立远程通讯连接,以便于电子设备能够将镜像文件挂载到外部服务器中。本实施例中,通讯单元15具体可以包括但不限于基于无线通讯技术或有线通讯技术的远程通讯单元。
键盘16,用于获取用户通过实时敲击键帽而输入的各种参数数据或指令。
显示器17,用于对元数据批量更新过程的相关信息进行实时显示,以便于用户及时地了解当前元数据更新情况。
鼠标18,可以用于协助用户输入数据并简化用户的操作。
进一步的,本申请实施例还公开了一种可读存储介质,这里所说的可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动硬盘、CD-ROM或技术领域内所公知的任意其他形式的存储介质。参见图9所示,可读存储介质20中存储有计算机程序21,所述计算机程序21被处理器执行时实现以下步骤:
响应于收到业务更新指令,触发所述业务更新指令对应的线程,对所述线程增加PG锁后执行所述线程对应的第一操作;
根据所述第一操作建立内部对象与业务对象的映射;
当收到元数据更新回调指令,触发回调线程,对所述回调线程增加PG锁后,遍历所述内部对象映射的所述业务对象以确定待更新元数据;
根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务;
将所述事务转发至所述待更新元数据对应的目标节点,以使所述目标节点根据所述事务对所述待更新元数据进行下盘操作。
本实施例中对线程增加PG锁,取消了对象锁,处理效率提升,然后在遍历所有业务对象后确定可批量更新的待更新元数据,并生成一个事务用于转发和下盘,由于事务数量相对于现有技术明显降低,因此降低了批量更新过程中消息转发的耗时和磁盘IO的数量,从而具有更高效的元数据批量更新效果。
在一些具体的实施例中,所述可读存储介质20中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
将所有所述待更新元数据写入本地内存;
当收到关于所述待更新元数据的操作指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的第二操作,其中所述本地内存中的所述待更新元数据的操作优先级高于所述目标节点的所述待更新元数据;
当收到所述目标节点反馈的下盘成功信息,删除所述本地内存中的所述待更新元数据。
在一些具体的实施例中,所述操作指令为第二操作与当前正在进行的所述线程的第一操作互斥的操作指令。
在一些具体的实施例中,所述可读存储介质20中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
当收到关于所述待更新元数据的读指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的读操作。
在一些具体的实施例中,所述可读存储介质20中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
根据所有所述业务对象及其对应的所述待更新元数据,创建元数据日志;
当任一所述目标节点发生故障,根据所述元数据日志对所述目标节点进行所述元数据日志中记载的操作。
在一些具体的实施例中,所述目标节点包括主节点和备份节点,所述目标节点根据所述事务对所述待更新元数据进行下盘操作的过程,包括:
当目标节点为所述备份节点,在所述备份节点上根据所述事务对所述待更新元数据进行下盘操作。
在一些具体的实施例中,当目标节点为所述备份节点,在所述备份节点上根据所述事务对所述待更新元数据进行下盘操作之后,还包括:
判断所述备份节点是否存在故障待恢复数据;
若是,在所述备份节点删除所述故障待恢复数据。
在一些具体的实施例中,所述可读存储介质20中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
当收到所有所述备份节点反馈的下盘成功信息,删除所述主节点上关于所有所述备份节点的故障待恢复记录。
在一些具体的实施例中,所述可读存储介质20中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
当所述目标节点为所述主节点,判断所述主节点是否存在故障待恢复数据;
若是,对所述主节点上的所述故障待恢复数据进行恢复,然后在所述主节点上根据所述事务对所述待更新元数据进行下盘操作;
若否,在所述主节点上根据所述事务对所述待更新元数据进行下盘操作;
在一些具体的实施例中,所述可读存储介质20中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
根据所有所述业务对象及其对应的所述待更新元数据,调用setattr接口构造一个事务。
在一些具体的实施例中,所述业务更新指令包括:业务写指令,和/或业务读指令,和/或内部对象下刷触发指令。
在一些具体的实施例中,所述业务写指令包括写入指令、和/或清零指令、和/或删除指令、和/或截留指令。
在一些具体的实施例中,所述可读存储介质20中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
当所述线程对应的第一操作完成,解除所述线程对应的PG锁;
在一些具体的实施例中,所述可读存储介质20中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
当完成所述事务的转发,解除所述回调线程对应的PG锁。
在一些具体的实施例中,所述可读存储介质20中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
将所述事务提交到RocksDB,以使所述事务被转发至所述待更新元数据对应的目标节点。
在一些具体的实施例中,所述可读存储介质20中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
获取所述第一操作对应的第一正向关系;
获取目标节点当前对应的第二正向关系;
对所述第一正向关系和所述第二正向关系进行正向合并,以确定所述业务对象的待更新元数据。
在一些具体的实施例中,所述可读存储介质20中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
通过store层获取目标节点当前对应的第二正向关系。
在一些具体的实施例中,所述可读存储介质中存储的计算机子程序被处理器执行时,具体可以实现以下步骤:
更新相应的所述内部对象的摘要信息。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种元数据的批量更新方法、系统、电子设备及可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (20)
1.一种元数据的批量更新方法,应用于分布式文件系统,其特征在于,包括:
响应于收到业务更新指令,触发所述业务更新指令对应的线程,对所述线程增加PG锁后执行所述线程对应的第一操作;
根据所述第一操作建立内部对象与业务对象的映射;
当收到元数据更新回调指令,触发回调线程,对所述回调线程增加PG锁后,遍历所述内部对象映射的所述业务对象以确定待更新元数据;
根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务;
将所述事务转发至所述待更新元数据对应的目标节点,以使所述目标节点根据所述事务对所述待更新元数据进行下盘操作。
2.根据权利要求1所述批量更新方法,其特征在于,遍历所述内部对象映射的所述业务对象以确定待更新元数据之后,还包括:
将所有所述待更新元数据写入本地内存;
当收到关于所述待更新元数据的操作指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的第二操作,其中所述本地内存中的所述待更新元数据的操作优先级高于所述目标节点的所述待更新元数据;
当收到所述目标节点反馈的下盘成功信息,删除所述本地内存中的所述待更新元数据。
3.根据权利要求2所述批量更新方法,其特征在于,所述操作指令为第二操作与当前正在进行的所述线程的第一操作互斥的操作指令。
4.根据权利要求2所述批量更新方法,其特征在于,所述当收到关于所述待更新元数据的操作指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的第二操作的过程,包括:
当收到关于所述待更新元数据的读指令,对所述本地内存中的所述待更新元数据和/或所述目标节点的所述待更新元数据进行相应的读操作。
5.根据权利要求1所述批量更新方法,其特征在于,所述根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务之后,还包括:
根据所有所述业务对象及其对应的所述待更新元数据,创建元数据日志;
当任一所述目标节点发生故障,根据所述元数据日志对所述目标节点进行所述元数据日志中记载的操作。
6.根据权利要求5所述批量更新方法,其特征在于,所述目标节点包括主节点和备份节点,所述目标节点根据所述事务对所述待更新元数据进行下盘操作的过程,包括:
当目标节点为所述备份节点,在所述备份节点上根据所述事务对所述待更新元数据进行下盘操作。
7.根据权利要求6所述批量更新方法,其特征在于,当目标节点为所述备份节点,在所述备份节点上根据所述事务对所述待更新元数据进行下盘操作之后,还包括:
判断所述备份节点是否存在故障待恢复数据;
若是,在所述备份节点删除所述故障待恢复数据。
8.根据权利要求7所述批量更新方法,其特征在于,还包括:
当收到所有所述备份节点反馈的下盘成功信息,删除所述主节点上关于所有所述备份节点的故障待恢复记录。
9.根据权利要求6所述批量更新方法,其特征在于,所述目标节点根据所述事务对所述待更新元数据进行下盘操作的过程,还包括:
当所述目标节点为所述主节点,判断所述主节点是否存在故障待恢复数据;
若是,对所述主节点上的所述故障待恢复数据进行恢复,然后在所述主节点上根据所述事务对所述待更新元数据进行下盘操作;
若否,在所述主节点上根据所述事务对所述待更新元数据进行下盘操作。
10.根据权利要求1所述批量更新方法,其特征在于,根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务的过程,包括:
根据所有所述业务对象及其对应的所述待更新元数据,调用setattr接口构造一个事务。
11.根据权利要求1所述批量更新方法,其特征在于,所述业务更新指令包括:业务写指令,和/或业务读指令,和/或内部对象下刷触发指令。
12.根据权利要求11所述批量更新方法,其特征在于,所述业务写指令包括写入指令、和/或清零指令、和/或删除指令、和/或截留指令。
13.根据权利要求1所述批量更新方法,其特征在于,对所述线程增加PG锁后执行所述线程对应的第一操作之后,还包括:
当所述线程对应的第一操作完成,解除所述线程对应的PG锁;
相应的,将所述事务转发至所述待更新元数据对应的目标节点,以使所述目标节点根据所述事务对所述待更新元数据进行下盘操作之后,还包括:
当完成所述事务的转发,解除所述回调线程对应的PG锁。
14.根据权利要求1所述批量更新方法,其特征在于,将所述事务转发至所述待更新元数据对应的目标节点的过程,包括:
将所述事务提交到RocksDB,以使所述事务被转发至所述待更新元数据对应的目标节点。
15.根据权利要求1至14任一项所述批量更新方法,其特征在于,对所述线程增加PG锁后执行所述线程对应的第一操作之后,还包括:
获取所述第一操作对应的第一正向关系;
获取目标节点当前对应的第二正向关系;
对所述第一正向关系和所述第二正向关系进行正向合并,以确定所述业务对象的待更新元数据。
16.根据权利要求15所述批量更新方法,其特征在于,所述获取目标节点当前对应的第二正向关系的过程,包括:
通过store层获取目标节点当前对应的第二正向关系。
17.根据权利要求15所述批量更新方法,其特征在于,对所述第一正向关系和所述第二正向关系进行正向合并,以确定所述业务对象的待更新元数据之后,还包括:
更新相应的所述内部对象的摘要信息。
18.一种元数据的批量更新系统,应用于分布式文件系统,其特征在于,包括:
线程模块,用于响应于收到业务更新指令,触发所述业务更新指令对应的线程,对所述线程增加PG锁后执行所述线程对应的第一操作;
映射模块,用于根据所述第一操作建立内部对象与业务对象的映射;
确定模块,用于当收到元数据更新回调指令,触发回调线程,对所述回调线程增加PG锁后,遍历所述内部对象映射的所述业务对象以确定待更新元数据;
构造模块,用于根据所有所述业务对象及其对应的所述待更新元数据,构造一个事务;
转发模块,用于将所述事务转发至所述待更新元数据对应的目标节点,以使所述目标节点根据所述事务对所述待更新元数据进行下盘操作。
19.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至17任一项所述元数据的批量更新方法的步骤。
20.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至17任一项所述元数据的批量更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310220789.0A CN115905114B (zh) | 2023-03-09 | 2023-03-09 | 元数据的批量更新方法、系统、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310220789.0A CN115905114B (zh) | 2023-03-09 | 2023-03-09 | 元数据的批量更新方法、系统、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115905114A true CN115905114A (zh) | 2023-04-04 |
CN115905114B CN115905114B (zh) | 2023-05-30 |
Family
ID=85730209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310220789.0A Active CN115905114B (zh) | 2023-03-09 | 2023-03-09 | 元数据的批量更新方法、系统、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115905114B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301663A (zh) * | 2023-05-12 | 2023-06-23 | 新华三技术有限公司 | 一种数据存储方法、装置及主机 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170277713A1 (en) * | 2016-03-25 | 2017-09-28 | Amazon Technologies, Inc. | Low latency distributed storage service |
CN109271367A (zh) * | 2018-12-07 | 2019-01-25 | 浪潮(北京)电子信息产业有限公司 | 分布式文件系统多节点快照回滚方法及系统 |
CN110019267A (zh) * | 2017-11-21 | 2019-07-16 | 中国移动通信有限公司研究院 | 一种元数据更新方法、装置、系统、电子设备及存储介质 |
US20190332685A1 (en) * | 2018-04-27 | 2019-10-31 | EMC IP Holding Company LLC | Set-based mutual exclusion using object metadata tags in a storage appliance |
CN110515557A (zh) * | 2019-08-23 | 2019-11-29 | 北京浪潮数据技术有限公司 | 一种集群管理方法、装置、设备及可读存储介质 |
CN110750517A (zh) * | 2019-10-12 | 2020-02-04 | 浪潮电子信息产业股份有限公司 | 一种本地存储引擎系统的数据处理方法、装置以及设备 |
CN111367926A (zh) * | 2020-02-27 | 2020-07-03 | 星辰天合(北京)数据科技有限公司 | 分布式系统的数据处理方法和装置 |
US20210133026A1 (en) * | 2019-10-31 | 2021-05-06 | Western Digital Technologies, Inc. | Erasure Coded Data Shards Containing Multiple Data Objects |
US20210216531A1 (en) * | 2020-01-14 | 2021-07-15 | EMC IP Holding Company LLC | Efficient handling of highly amortized metadata page updates in storage clusters with delta log-based architectures |
CN113672167A (zh) * | 2021-07-09 | 2021-11-19 | 济南浪潮数据技术有限公司 | 一种分布式存储系统的数据一致性校验方法、装置及设备 |
CN114780043A (zh) * | 2022-05-09 | 2022-07-22 | 北京星辰天合科技股份有限公司 | 基于多层缓存的数据处理方法及装置、电子设备 |
US20220405243A1 (en) * | 2021-06-17 | 2022-12-22 | Vmware, Inc. | Batching of metadata updates in journaled filesystems using logical metadata update transactions |
-
2023
- 2023-03-09 CN CN202310220789.0A patent/CN115905114B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170277713A1 (en) * | 2016-03-25 | 2017-09-28 | Amazon Technologies, Inc. | Low latency distributed storage service |
CN110019267A (zh) * | 2017-11-21 | 2019-07-16 | 中国移动通信有限公司研究院 | 一种元数据更新方法、装置、系统、电子设备及存储介质 |
US20190332685A1 (en) * | 2018-04-27 | 2019-10-31 | EMC IP Holding Company LLC | Set-based mutual exclusion using object metadata tags in a storage appliance |
CN109271367A (zh) * | 2018-12-07 | 2019-01-25 | 浪潮(北京)电子信息产业有限公司 | 分布式文件系统多节点快照回滚方法及系统 |
CN110515557A (zh) * | 2019-08-23 | 2019-11-29 | 北京浪潮数据技术有限公司 | 一种集群管理方法、装置、设备及可读存储介质 |
CN110750517A (zh) * | 2019-10-12 | 2020-02-04 | 浪潮电子信息产业股份有限公司 | 一种本地存储引擎系统的数据处理方法、装置以及设备 |
US20210133026A1 (en) * | 2019-10-31 | 2021-05-06 | Western Digital Technologies, Inc. | Erasure Coded Data Shards Containing Multiple Data Objects |
US20210216531A1 (en) * | 2020-01-14 | 2021-07-15 | EMC IP Holding Company LLC | Efficient handling of highly amortized metadata page updates in storage clusters with delta log-based architectures |
CN111367926A (zh) * | 2020-02-27 | 2020-07-03 | 星辰天合(北京)数据科技有限公司 | 分布式系统的数据处理方法和装置 |
US20220405243A1 (en) * | 2021-06-17 | 2022-12-22 | Vmware, Inc. | Batching of metadata updates in journaled filesystems using logical metadata update transactions |
CN113672167A (zh) * | 2021-07-09 | 2021-11-19 | 济南浪潮数据技术有限公司 | 一种分布式存储系统的数据一致性校验方法、装置及设备 |
CN114780043A (zh) * | 2022-05-09 | 2022-07-22 | 北京星辰天合科技股份有限公司 | 基于多层缓存的数据处理方法及装置、电子设备 |
Non-Patent Citations (3)
Title |
---|
卢菁;朱小栋;彭敦陆;霍欢;: "MDUAM:一个企业信息集成系统中元数据更新分析与管理系统", 小型微型计算机系统, no. 06, pages 174 - 178 * |
李新鹏等: "Ceph云存储中基于强化学习的QoS优化", 计算机工程与设计, pages 455 - 461 * |
王梦童;邵培南;: "Ceph分布式存储系统拟态防御设计", 信息技术, no. 02, pages 51 - 56 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301663A (zh) * | 2023-05-12 | 2023-06-23 | 新华三技术有限公司 | 一种数据存储方法、装置及主机 |
Also Published As
Publication number | Publication date |
---|---|
CN115905114B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210056074A1 (en) | File System Data Access Method and File System | |
EP3596619B1 (en) | Methods, devices and systems for maintaining consistency of metadata and data across data centers | |
US8868512B2 (en) | Logging scheme for column-oriented in-memory databases | |
CN108363806B (zh) | 数据库的多版本并发控制方法、装置、服务器及存储介质 | |
CN108319602B (zh) | 数据库管理方法及数据库系统 | |
CN108664359B (zh) | 一种数据库恢复方法、装置、设备及存储介质 | |
US20080027998A1 (en) | Method and apparatus of continuous data protection for NAS | |
EP3575968A1 (en) | Method and device for synchronizing active transaction lists | |
CN108415986B (zh) | 一种数据处理方法、装置、系统、介质和计算设备 | |
US7549037B1 (en) | Efficient off-host backup of a file set clone | |
JP7215971B2 (ja) | 記憶機器のデータ位置の処理方法及び処理装置、コンピュータ機器並びにコンピュータ読み取り可能な記憶媒体 | |
CN111177159B (zh) | 一种数据处理的系统、方法和数据更新设备 | |
CN111177143A (zh) | 键值数据存储方法、装置、存储介质与电子设备 | |
CN115905114A (zh) | 元数据的批量更新方法、系统、电子设备及可读存储介质 | |
CN114741453A (zh) | 数据同步的方法、系统及计算机可读存储介质 | |
JP4971717B2 (ja) | ディレクトリ分散型記憶装置及びデータ処理要求移譲プログラム | |
US10860534B2 (en) | Executing a conditional command on an object stored in a storage system | |
WO2020192663A1 (zh) | 一种数据管理方法及相关设备 | |
US11093348B2 (en) | Method, device and computer program product for recovering metadata | |
CN108271420A (zh) | 管理文件的方法、文件系统和服务器系统 | |
CN115061630A (zh) | 一种数据迁移方法、装置、设备及介质 | |
CN108376104B (zh) | 节点调度方法及装置、计算机可读存储介质 | |
CN112181248A (zh) | 一种历史列表的操作方法和装置 | |
CN112015807A (zh) | 数据同步的处理方法、装置、电子设备及计算机存储介质 | |
CN115981570B (zh) | 一种基于kv数据库的分布式对象存储方法和系统 |
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 |