CN112114750A - 一种元数据卷位图数据冲突处理方法及相关组件 - Google Patents

一种元数据卷位图数据冲突处理方法及相关组件 Download PDF

Info

Publication number
CN112114750A
CN112114750A CN202010954686.3A CN202010954686A CN112114750A CN 112114750 A CN112114750 A CN 112114750A CN 202010954686 A CN202010954686 A CN 202010954686A CN 112114750 A CN112114750 A CN 112114750A
Authority
CN
China
Prior art keywords
bit
node
conflict
setting
metadata volume
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
Application number
CN202010954686.3A
Other languages
English (en)
Other versions
CN112114750B (zh
Inventor
李燕红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010954686.3A priority Critical patent/CN112114750B/zh
Publication of CN112114750A publication Critical patent/CN112114750A/zh
Priority to PCT/CN2021/103378 priority patent/WO2022052584A1/zh
Priority to US18/012,933 priority patent/US11762554B2/en
Application granted granted Critical
Publication of CN112114750B publication Critical patent/CN112114750B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种元数据卷位图数据冲突处理方法,在元数据卷的空间分配碰到0改1和1改0的冲突时,将冲突位设置成1,可以避免GC垃圾回收会定期做空间回收处理当在一端检测到I位为0时,会回收到该bit对应的空间造成的数据覆盖写入时的数据丢失,当冲突时都设置成1可以防止该冲突位再被分配出去,防止空间被重复分配和重复写入,而避免数据覆盖造成数据丢失,在之后GC回收了它后,还可以继续分配,实现冲突位的重复利用。本申请还提供了一种元数据卷位图数据冲突处理装置、设备及一种可读存储介质,具有上述有益效果。

Description

一种元数据卷位图数据冲突处理方法及相关组件
技术领域
本申请涉及存储系统技术领域,特别涉及一种元数据卷位图数据冲突处理方法、装置、设备及一种可读存储介质。
背景技术
随着SSD盘的广泛使用,存储系统为了跟SSD适配以发挥更好的性能,目前已经产生一些适配SSD的方案。现有的研究机构、存储厂商均致力于研究如何适配SSD,提出适配方案,存储系统与SSD的适配方案中包括对于位图数据(bitmap)管理方式。bitmap用一个bit位来标记某个元素对应的Value,目前适配SSD的存储系统中bitmap管理方式包含数据卷bitmap、元数据卷bitmap两种bitmap的管理。数据卷bitmap用来标记数据LSA卷中block的状态,元数据bitmap用来标记元数据LSA卷中每个grain的状态。
bitmap分为多个大小为32KB的bitmap unit,在对元数据卷的操作过程中需要对Bitmap中bit做修改操作,修改分为两部分置0和置1,node更改bitmap unit中的值的时候,需要做到两边node同步,同步的时候按一个bitmap_sector中的free bit组帧进行向partner node进行发送,在发送数据帧的同时,用异步的方式在本node及Partner Node进行bit置位,并完成刷写后,通过回调函数得到刷写结果,并将该结果同步给partner node,如果置位或落盘失败需要继续同步。
同时,元数据模块的垃圾回收模块会不定期释放一些Block,反映到LSA元数据卷这边,是需要LSA元数据卷将Block对应的bitmap中的bit值从1变为0。node节点中设置一Set_Free_Block_List链表,当垃圾回收模块在该node释放Block时,将Block插入该链表,发送线程中检测该链表的长度,如果长度达到定值,则将该链表中free_bit取出打成数据帧,发送给partner node。node发送给partner node后二者根据free bit异步进行修改,Partner Node修改完成后,需要将修改结果同步给本node.
元数据卷bitmap进行某bit置位和释放的时候,由于二者进行的是异步操作,所以有可能不能按照预期的时序进行操作,此时置位和释放可能同时操作一个bit位,容易出现一种情况:当节点A对一个bit I做释放操作的时候,对bit操作流程需要partner node先操作,待partner node操作完成后本端node再进行操作。如此当B接收到A发来的释放操作,B操作完成,但还未回复A,此时B中检测到I bit,并对其做置位操作,此时有可能会引起数据不一致,对于后续系统处理产生负面影响,而目前没有针对该问题的明确解决方案。
因此,如何避免元数据卷bitmap操作中容易出现的数据不一致的情况对于系统的长期稳定运行的影响,是本领域技术人员急需解决的问题。
发明内容
本申请的目的是提供一种元数据卷位图数据冲突处理方法,该方法可以避免元数据卷bitmap操作中容易出现的数据不一致的情况对于系统的长期稳定运行的影响;本申请的另一目的是提供一种元数据卷位图数据冲突处理装置、设备及一种可读存储介质。
为解决上述技术问题,本申请提供一种元数据卷位图数据冲突处理方法,包括:
元数据卷bitmap中node向partner node发送对于bit I的异步修改指令;
当接收到所述partner node修改不成功的反馈信息后,将所述node以及所述partner node中的所述bit I均置为1;
当启动GC垃圾回收后,对所述bit I进行空间回收处理。
可选地,当接收到所述partner node修改不成功的反馈信息后,将所述node以及所述partner node中的所述bit I均置为1,包括:
当接收到所述partner node修改不成功的反馈信息后,将所述node中的所述bitI置为1;
当所述partner node作为异步修改指令的发起方时,接收到所述bit I修改不成功的反馈信息后,将所述partner node中的所述bit I置为1。
可选地,在将所述node中的所述bit I置为1之后,还包括:将所述bit I从freelist中移除。
可选地,在将所述node以及所述partner node中的所述bit I均置为1之后,还包括:输出置位冲突的提示信息。
本申请还提供了一种元数据卷位图数据冲突处理装置,包括:
指令发送单元,用于元数据卷bitmap中node向partner node发送对于bit I的异步修改指令;
冲突位置位单元,用于当接收到所述partner node修改不成功的反馈信息后,将所述node以及所述partner node中的所述bit I均置为1;
冲突位回收单元,用于当启动GC垃圾回收后,对所述bit I进行空间回收处理。
可选地,所述冲突位置位单元包括:
第一置位子单元,用于当接收到所述partner node修改不成功的反馈信息后,将所述node中的所述bit I置为1;
第二置位子单元,用于当所述partner node作为异步修改指令的发起方时,接收到所述bit I修改不成功的反馈信息后,将所述partner node中的所述bit I置为1。
可选地,所述第一置位子单元还用于:将所述bit I从freelist中移除。
可选地,所述元数据卷位图数据冲突处理装置还包括提示单元,用于在将所述node以及所述partner node中的所述bit I均置为1之后,输出置位冲突的提示信息。
本申请还提供了一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的元数据卷位图数据冲突处理方法的步骤。
本申请还提供了一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现所述元数据卷位图数据冲突处理方法的步骤。
本申请所提供的元数据卷位图数据冲突处理方法,在元数据卷的空间分配碰到0改1和1改0的冲突时,将冲突位设置成1,可以避免GC垃圾回收会定期做空间回收处理当在一端检测到I位为0时,会回收到该bit对应的空间造成的数据覆盖写入时的数据丢失,当冲突时都设置成1可以防止该冲突位再被分配出去,防止空间被重复分配和重复写入,而避免数据覆盖造成数据丢失,在之后GC回收了它后,还可以继续分配,实现冲突位的重复利用。
本申请还提供了一种元数据卷位图数据冲突处理装置、设备及一种可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种元数据卷位图数据冲突处理方法的流程图;
图2为本申请实施例提供的一种元数据卷异步修改节点示意图;
图3为本申请实施例提供的一种节点修改时的实现流程示意图;
图4为本申请实施例提供的一种元数据卷位图数据冲突处理装置的结构框图;
图5为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
本申请的核心是提供一种元数据卷位图数据冲突处理方法,该方法可以显著提升元数据卷位图数据冲突处理实现效率,从而为进一步的空间回收以及数据管理提供可靠的支持;本申请的另一核心是提供一种元数据卷位图数据冲突处理装置、设备及一种可读存储介质。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
元数据模块中node更改bitmap unit中的值的时候,需要做到两边node同步,可以直接发送bit值,对应的bitmap空间为1M,反映到PBA直接对应的bit表示需要20个bit才能表示完整的PBA。
如果修改的bit数量比较多,则需要多帧发送,因为单节点模式落盘以bitmap_sector为单位落,所以同步的时候按一个bitmap_sector中的free bit组帧进行向partnernode进行发送,在发送数据帧的同时,用异步的方式在本node及Partner Node进行bit置位,并完成刷写后,通过回调函数得到刷写结果,并将该结果同步给partner node。如果置位或落盘失败需要继续同步。
元数据模块的垃圾回收模块会不定期释放一些Block,反映到LSA元数据卷这边,是需要LSA元数据卷将Block对应的bitmap中的bit值从1变为0。因为垃圾回收模块释放Block毫无规律,所以不能每释放一个Block都做bitmap同步操作,若如此会比较耗CPU性能。node节点中会设置一Set_Free_Block_List链表,当垃圾回收模块在该node释放Block时,将Block插入该链表,发送线程中检测该链表的长度,如果长度达到定值,则将该链表中free_bit取出打成数据帧,发送给partner node,从Set_Free_Block_List链表中取值得过程中可以不用加锁,还可以继续插入要释放的Block,取出个数最大为该定值。定时函数中检测Set_Free_Block_List,如果该链表不为空,则调用该发送函数。
node发送给partner node后二者根据free bit异步进行修改,Partner Node修改完成后,需要将修改结果同步给本node。
元数据卷bitmap进行某bit置位和释放的时候,由于二者进行的是异步操作,所以有可能不能按按照预期的时序进行操作,此时置位和释放可能同时操作一个bit位,容易出现一种情况:当节点A对一个bit I做释放操作的时候,对bit操作流程需要partner node先操作,待partner node操作完成后本端node再进行操作。如此当B接收到A发来的释放操作,B操作完成,但还未回复A,此时B中检测到I bit,并对其做置位操作,此时有可能会引起数据不一致,针对该种情况会做相应处理。
数据卷的空间分配都是在主端一端来控制的,所以不会出现两端不一致的情况。元数据卷的空间分配是两端都需要分配,有可能会碰到0改1和1改0的冲突。
本申请提供了一种元数据卷位图数据冲突处理方法,该方法可以消除数据冲突处理对于后续系统正常运行的影响。请参考图1,图1为本实施例提供的元数据卷位图数据冲突处理方法的流程图,该方法主要包括:
步骤s110、元数据卷bitmap中node向partner node发送对于bit I的异步修改指令;
其中,bit I指任意比特,指示本申请适用于元数据卷bitmap中任意bit修改中出现的数据冲突。
元数据卷bitmap中的修改指令也可以称为置位指令,由于元数据卷bitmap中的bit置位均属于异步操作,因此发送的修改指令为异步修改指令。
node更改bitmap unit中的值的时候,需要做到两边node同步,node发送给partner node后二者根据free bit异步进行修改,Partner Node修改完成后,需要将修改结果同步给本node。
步骤s120、当接收到partner node修改不成功的反馈信息后,将node以及partnernode中的bit I均置为1;
若在置位过程中partner node反馈修改不成功,出现置位冲突,此时因为有GC垃圾回收会定期做空间回收处理,当在一端检测到I位为0时,会回收到该bit对应的空间,将两端的I位都改0,变成一致。
不一致只是一种临时的状态,当冲突时都设置成1,是为了防止再被分配出去,防止空间被重复分配和重复写入,而避免数据覆盖造成数据丢失。设置成1后,虽然该bit对应的1小块空间不能分配出去,直到GC回收了它后,才能分配出去,相比起来这个影响就很小,对数据及IO都没有任何影响,因此可以实现冲突处理。
本实施例中对于具体的置1实现方式不做限定,可以在冲突时立即将partnernode和node中的冲突位置1,可选地,当接收到partner node修改不成功的反馈信息后,将node以及partner node中的bit I均置为1的实现过程具体可以为:
(1)当接收到partner node修改不成功的反馈信息后,将node中的bit I置为1;
(2)当partner node作为异步修改指令的发起方时,接收到bit I修改不成功的反馈信息后,将partner node中的bit I置为1。
在出现冲突时,只修改指令发起端的冲突位,可以避免修改错误的同时简化实现步骤,从而提升冲突处理效率。
而在将node中的bit I置为1之后,还可以将bit I从freelist中移除,在将partner node中的bit I置为1之后,也可以将bit I从partner node的freelist中移除,以避免重复占用。
需要说明的是,当接收到partner node修改不成功的反馈信息后,进行冲突处理后,为实现对于冲突出现的统计,方便后续技术人员根据其进行维护处理,可选地,可以进一步执行输出置位冲突的提示信息,当然,也可以不执行该步骤,本实施例中对此不做限定。
步骤s130、当启动GC垃圾回收后,对bit I进行空间回收处理。
由于本申请中在出现冲突后置为1,设置成1后,虽然该bit对应的1小块空间不能分配出去,直到GC回收了它后,才能分配出去,相比起来这个影响就很小,对数据及IO都没有任何影响,因此可以实现冲突处理。
而其中,当启动GC垃圾回收后,对bit I进行空间回收处理的具体实现过程本实施例中不做限定,可以参照相关技术中的实现方式。
基于上述介绍,本实施例介绍的元数据卷位图数据冲突处理方法中,在元数据卷的空间分配碰到0改1和1改0的冲突时,将冲突位设置成1,可以避免GC垃圾回收会定期做空间回收处理当在一端检测到I位为0时,会回收到该bit对应的空间造成的数据覆盖写入时的数据丢失,当冲突时都设置成1可以防止该冲突位再被分配出去,防止空间被重复分配和重复写入,而避免数据覆盖造成数据丢失,在之后GC回收了它后,还可以继续分配,实现冲突位的重复利用。
为加深理解,本实施例中以一种具体的node A与node B间的位图数据冲突处理方式为例进行介绍。
如图2所示为一种元数据卷异步修改节点示意图。当node A发起对一bit I由1到0的修改(置位)时,首先通知node B将bit I由1置为0,node B接收到后将bit I由1置为0,并回复node A已完成对于bit I由1到0的修改,node A接收到node B反馈的修改完成的信息后,将自身节点上的bit I从1修改为0;此时node B从I所在的block选中I,并将其置为1,首先node A判断其中的I值是否为0,如果是,node A将I值由0改为1,向node B返回修改成功的反馈信息,node B接收到后,将I值从0改为1,向node A返回修改程工,完成同步的提示信息。
上述为node A先收到1改0操作时的实现流程,按照该种流程处理时置位以及释放均正常。
而在node A先收到0改1修改时的实现流程如图3所示,当node A发起对一bit I由1到0的修改(置位)时,首先通知node B将bit I由1置为0,node B接收到后将bit I由1置为0,此时node B从I所在的block选中I,并将其置为1,首先node A判断其中的I值是否为0,由于node B完成了修改置位,但node A并未完成,因此node A中的I值不为0,node A向node B返回修改不成功的反馈信息,本申请中在bit位值与命令修改不一致时置为1,node B将I值从0改为1,并从freelist中将I移除,node B回复给node A将I从1修改为0,node A判断bitI值是否为1,若是,将bit I从1改为0。
此时node B上做I释放操作时,node B对I做从1到0的操作,node A判断I值是否为0,若是,则直接返回修改成功的反馈信息,node B将I值从1改为0。
此时node A上做I修改操作时,node A从block中选取I进行从0到1置位,node B发现I值为1,不做处理,并返回置位失败,本申请中在bit位值与命令修改不一致时置为1,因此node A将I值从0改为1,并从freelist上移除I。
因为有GC垃圾回收会定期做空间回收处理,当在一端检测到I位为0时,会回收到该bit对应的空间,将两端的I位都改0,变成一致。
请参考图4,图4为本实施例提供的元数据卷位图数据冲突处理装置的结构框图;主要包括:指令发送单元210、冲突位置位单元220以及冲突位回收单元230。本实施例提供的元数据卷位图数据冲突处理装置可与上述元数据卷位图数据冲突处理方法相互对照。
其中,指令发送单元210主要用于元数据卷bitmap中node向partner node发送对于bit I的异步修改指令;
冲突位置位单元220主要用于当接收到partner node修改不成功的反馈信息后,将node以及partner node中的bit I均置为1;
冲突位回收单元230主要用于当启动GC垃圾回收后,对bit I进行空间回收处理。
可选地,冲突位置位单元220具体可以包括:
第一置位子单元,用于当接收到partner node修改不成功的反馈信息后,将node中的bit I置为1;
第二置位子单元,用于当partner node作为异步修改指令的发起方时,接收到bitI修改不成功的反馈信息后,将partner node中的bit I置为1。
可选地,第一置位子单元还用于:将bit I从freelist中移除。
可选地,元数据卷位图数据冲突处理装置中可以还包括提示单元,用于在将node以及partner node中的bit I均置为1之后,输出置位冲突的提示信息。
本实施例提供一种计算机设备,主要包括:存储器以及处理器。
其中,存储器用于存储程序;
处理器用于执行程序时实现如上述实施例介绍的元数据卷位图数据冲突处理方法的步骤,具体可参照上述元数据卷位图数据冲突处理方法的介绍。
请参考图5,为本实施例提供的计算机设备的结构示意图,该计算机设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量计算机设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在计算机设备301上执行存储介质330中的一系列指令操作。
计算机设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上面图1所描述的元数据卷位图数据冲突处理方法中的步骤可以由本实施例介绍的计算机设备的结构实现。
本实施例公开一种可读存储介质,其上存储有程序,程序被处理器执行时实现如上述实施例介绍的元数据卷位图数据冲突处理方法的步骤,具体可参照上述实施例中对元数据卷位图数据冲突处理方法的介绍。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的元数据卷位图数据冲突处理方法、装置、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种元数据卷位图数据冲突处理方法,其特征在于,包括:
元数据卷bitmap中node向partner node发送对于bit I的异步修改指令;
当接收到所述partner node修改不成功的反馈信息后,将所述node以及所述partnernode中的所述bit I均置为1;
当启动GC垃圾回收后,对所述bit I进行空间回收处理。
2.如权利要求1所述的元数据卷位图数据冲突处理方法,其特征在于,当接收到所述partner node修改不成功的反馈信息后,将所述node以及所述partner node中的所述bitI均置为1,包括:
当接收到所述partner node修改不成功的反馈信息后,将所述node中的所述bit I置为1;
当所述partner node作为异步修改指令的发起方时,接收到所述bit I修改不成功的反馈信息后,将所述partner node中的所述bit I置为1。
3.如权利要求2所述的元数据卷位图数据冲突处理方法,其特征在于,在将所述node中的所述bit I置为1之后,还包括:将所述bit I从freelist中移除。
4.如权利要求1所述的元数据卷位图数据冲突处理方法,其特征在于,在将所述node以及所述partner node中的所述bit I均置为1之后,还包括:输出置位冲突的提示信息。
5.一种元数据卷位图数据冲突处理装置,其特征在于,包括:
指令发送单元,用于元数据卷bitmap中node向partner node发送对于bit I的异步修改指令;
冲突位置位单元,用于当接收到所述partner node修改不成功的反馈信息后,将所述node以及所述partner node中的所述bit I均置为1;
冲突位回收单元,用于当启动GC垃圾回收后,对所述bit I进行空间回收处理。
6.如权利要求5所述的元数据卷位图数据冲突处理装置,其特征在于,所述冲突位置位单元包括:
第一置位子单元,用于当接收到所述partner node修改不成功的反馈信息后,将所述node中的所述bitI置为1;
第二置位子单元,用于当所述partner node作为异步修改指令的发起方时,接收到所述bit I修改不成功的反馈信息后,将所述partner node中的所述bit I置为1。
7.如权利要求6所述的元数据卷位图数据冲突处理装置,其特征在于,所述第一置位子单元还用于:将所述bit I从freelist中移除。
8.如权利要求5所述的元数据卷位图数据冲突处理装置,其特征在于,还包括提示单元,用于在将所述node以及所述partner node中的所述bit I均置为1之后,输出置位冲突的提示信息。
9.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的元数据卷位图数据冲突处理方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如权利要求1至4任一项所述元数据卷位图数据冲突处理方法的步骤。
CN202010954686.3A 2020-09-11 2020-09-11 一种元数据卷位图数据冲突处理方法及相关组件 Active CN112114750B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010954686.3A CN112114750B (zh) 2020-09-11 2020-09-11 一种元数据卷位图数据冲突处理方法及相关组件
PCT/CN2021/103378 WO2022052584A1 (zh) 2020-09-11 2021-06-30 一种元数据卷位图数据冲突处理方法及相关组件
US18/012,933 US11762554B2 (en) 2020-09-11 2021-06-30 Metadata volume bitmap data conflict processing method and related components

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010954686.3A CN112114750B (zh) 2020-09-11 2020-09-11 一种元数据卷位图数据冲突处理方法及相关组件

Publications (2)

Publication Number Publication Date
CN112114750A true CN112114750A (zh) 2020-12-22
CN112114750B CN112114750B (zh) 2023-01-10

Family

ID=73801936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010954686.3A Active CN112114750B (zh) 2020-09-11 2020-09-11 一种元数据卷位图数据冲突处理方法及相关组件

Country Status (3)

Country Link
US (1) US11762554B2 (zh)
CN (1) CN112114750B (zh)
WO (1) WO2022052584A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860109A (zh) * 2021-02-09 2021-05-28 北京汉王鹏泰科技股份有限公司 一种触控输入装置、方法、电子设备及可读存储介质
WO2022052584A1 (zh) * 2020-09-11 2022-03-17 苏州浪潮智能科技有限公司 一种元数据卷位图数据冲突处理方法及相关组件

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109445713A (zh) * 2018-11-09 2019-03-08 郑州云海信息技术有限公司 一种元数据卷的存储状态记录方法、系统及相关组件
CN111104254A (zh) * 2019-11-29 2020-05-05 北京浪潮数据技术有限公司 存储系统数据刷写方法、装置、设备及可读存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412464B2 (en) * 2003-09-29 2008-08-12 International Business Machines Corporation Asynchronous data mirroring with look-ahead synchronization record
US7318168B2 (en) 2004-07-28 2008-01-08 International Business Machines Corporation Bit map write logging with write order preservation in support asynchronous update of secondary storage
CN102622286B (zh) 2012-02-23 2016-02-03 浪潮(北京)电子信息产业有限公司 一种独立冗余磁盘阵列位图备份方法及系统
US9251231B2 (en) * 2012-10-17 2016-02-02 International Business Machines Corporation Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation
US9092449B2 (en) * 2012-10-17 2015-07-28 International Business Machines Corporation Bitmap selection for remote copying of updates
US9471499B2 (en) * 2013-05-20 2016-10-18 Globalfoundries Inc. Metadata management
US10949342B2 (en) * 2015-01-09 2021-03-16 Hewlett Packard Enterprise Development Lp Persistent memory garbage collection
US11157459B2 (en) * 2016-02-26 2021-10-26 Red Hat, Inc. Granular data self-healing
US10613980B2 (en) * 2017-12-19 2020-04-07 International Business Machines Corporation Coherence protocol providing speculative coherence response to directory probe
US10860228B1 (en) * 2019-06-24 2020-12-08 Western Digital Technologies, Inc. Method to switch between traditional SSD and open-channel SSD without data loss
CN111399772B (zh) 2020-02-29 2022-07-22 苏州浪潮智能科技有限公司 一种节点间的位图信息同步方法、装置、设备及存储介质
US11599554B2 (en) * 2020-05-29 2023-03-07 Vmware, Inc. Synchronizing changes to stale components of a distributed object using synchronization bitmaps
CN112114750B (zh) 2020-09-11 2023-01-10 苏州浪潮智能科技有限公司 一种元数据卷位图数据冲突处理方法及相关组件
US11500769B2 (en) * 2020-12-21 2022-11-15 Micron Technology, Inc. Valid data identification for garbage collection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109445713A (zh) * 2018-11-09 2019-03-08 郑州云海信息技术有限公司 一种元数据卷的存储状态记录方法、系统及相关组件
CN111104254A (zh) * 2019-11-29 2020-05-05 北京浪潮数据技术有限公司 存储系统数据刷写方法、装置、设备及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022052584A1 (zh) * 2020-09-11 2022-03-17 苏州浪潮智能科技有限公司 一种元数据卷位图数据冲突处理方法及相关组件
US11762554B2 (en) 2020-09-11 2023-09-19 Inspur Suzhou Intelligent Technology Co., Ltd. Metadata volume bitmap data conflict processing method and related components
CN112860109A (zh) * 2021-02-09 2021-05-28 北京汉王鹏泰科技股份有限公司 一种触控输入装置、方法、电子设备及可读存储介质

Also Published As

Publication number Publication date
US20230266878A1 (en) 2023-08-24
WO2022052584A1 (zh) 2022-03-17
US11762554B2 (en) 2023-09-19
CN112114750B (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
JP3386823B2 (ja) ファイルの管理方法及び装置
JP6014925B2 (ja) メモリ回収方法および装置
CN101419564B (zh) 一种采用快照恢复数据的方法和装置
CN112114750B (zh) 一种元数据卷位图数据冲突处理方法及相关组件
US20140089259A1 (en) Operation method and apparatus for data storage system
CN111078451B (zh) 分布式事务处理方法、装置、计算机设备及存储介质
CN114637475A (zh) 一种分布式存储系统控制方法、装置及可读存储介质
CN109992624B (zh) 一种区块链Block chain的同步存储方法、装置及计算机设备
CN108804523A (zh) 数据同步方法、系统及计算机可读存储介质
CN109189608A (zh) 一种保证复制事务一致性的方法以及相应的复制装置
CN109308242B (zh) 一种动态监控方法、装置、设备和存储介质
CN111666266A (zh) 一种数据迁移方法及相关设备
CN112383610A (zh) 区块链状态数据的同步处理方法及系统
CN111858474B (zh) 分布式存储系统Inode号分配管理方法及相关组件
CN106815094B (zh) 一种用于实现主备同步模式下事务提交的方法与设备
CN110825758B (zh) 一种交易处理的方法及装置
CN103714059A (zh) 一种更新数据的方法及装置
CN109918228B (zh) 一种数据掉电保持方法及系统
CN112084264A (zh) 一种日志数据同步方法、装置及服务器
CN112527561B (zh) 基于物联网云存储的数据备份方法及装置
CN115237674A (zh) 基于opendaylight的SDN控制器的数据备份方法及设备、介质
CN109408581B (zh) 一种数据交换方法、装置、设备及存储介质
CN111984472B (zh) 一种数据快照方法、装置及相关设备
CN108345669B (zh) 一种基于闪存数据库的日志更新方法及装置
CN110362428A (zh) 在线自动恢复数据库块的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant