CN115599575B - 一种解决集群逻辑卷并发激活和反激活的新方法 - Google Patents

一种解决集群逻辑卷并发激活和反激活的新方法 Download PDF

Info

Publication number
CN115599575B
CN115599575B CN202211099975.5A CN202211099975A CN115599575B CN 115599575 B CN115599575 B CN 115599575B CN 202211099975 A CN202211099975 A CN 202211099975A CN 115599575 B CN115599575 B CN 115599575B
Authority
CN
China
Prior art keywords
tag
deactivation
usedref
file
memory lock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211099975.5A
Other languages
English (en)
Other versions
CN115599575A (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.)
China Telecom Digital Intelligence Technology Co Ltd
Original Assignee
China Telecom Digital Intelligence 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 China Telecom Digital Intelligence Technology Co Ltd filed Critical China Telecom Digital Intelligence Technology Co Ltd
Priority to CN202211099975.5A priority Critical patent/CN115599575B/zh
Publication of CN115599575A publication Critical patent/CN115599575A/zh
Priority to PCT/CN2023/113667 priority patent/WO2024051468A1/zh
Application granted granted Critical
Publication of CN115599575B publication Critical patent/CN115599575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种解决集群逻辑卷并发激活和反激活的新方法,包括:获取LV对应的文件或内存Lock;读取Tag中的引用计数usedref;判断LV是否激活,根据判断结果更新Tag中的usedref;释放LV对应的文件或内存Lock,执行当前的操作任务;获取LV对应的文件或内存Lock;读取Tag中的引用计数usedref;对于Tag中的usedref进行减1,判断是否进行LV的反激活动作;释放LV对应的文件或内存Lock。本发明可实现多任务之间安全的访问共享的逻辑卷,使并发任务之间使用逻辑卷信息的时候不再报错和异常,从而确保上层多任务的并发操作任务顺利进行。

Description

一种解决集群逻辑卷并发激活和反激活的新方法
技术领域
本发明属于云计算存储技术领域,具体涉及一种解决集群逻辑卷并发激活和反激活的新方法。
背景技术
对于集群逻辑卷操作的时候,上层应用为了获取逻辑卷的相关信息,比如元数据容量等,或频繁的激活和反激活卷信息,以获取卷上的数据信息,这些数据信息比如容量,格式,Base文件信息等。并发多个任务同时操作一个单独的逻辑卷的时候,会同时并发的激活和反激活动作。这样就存在一个并发的问题,参见图1,一个任务A激活后,执行操作;另外一个任务B发现已经激活,就直接使用了,任务A结束,进行了反激活动作,此时任务B正在使用激活的逻辑卷进行操作,发现逻辑卷已不可用。
具体来说,对于集群逻辑卷的激活和反激活,其中,激活主要是为了获取LV的相关属性信息,比如LV上的元数据,容量和base等信息;反激活是使用之后进行,标识任务已经执行结束,没有任务在使用了,可以进行LV的反激活操作。同一主机上的多个应用层程序,可能存在并发的激活或反激活操作,从而导致部分应用在使用LV的时候报错。而现有处理模型在激活和反激活的过程中,无法确保LV使用的并发性,确保数据的安全性。
发明内容
本发明所要解决的技术问题是针对上述现有技术的不足,提供一种解决集群逻辑卷并发激活和反激活的新方法,解决主机上应用层并发多任务场景下,对于同一个逻辑卷的激活和反激活操作问题,实现多任务之间安全的访问共享的逻辑卷,使并发任务之间使用逻辑卷信息的时候不再报错和异常,从而确保上层多任务的并发操作任务顺利进行。
为实现上述技术目的,本发明采取的技术方案为:
一种解决集群逻辑卷并发激活和反激活的新方法,包括:
步骤1:获取LV对应的文件或内存Lock;
步骤2:获取Lock后,读取Tag中的引用计数usedref;
步骤3:判断LV是否激活,根据判断结果更新Tag中的usedref;
步骤4:释放LV对应的文件或内存Lock,执行当前的操作任务;
步骤5:获取LV对应的文件或内存Lock;
步骤6:获取Lock后,读取Tag中的引用计数usedref;
步骤7:对于Tag中的usedref进行减1,判断是否进行LV的反激活动作;
步骤8:释放LV对应的文件或内存Lock。
为优化上述技术方案,采取的具体措施还包括:
上述的步骤1通过逻辑卷同步查询接口获取LV对应的文件锁或内存锁,即文件或内存Lock,所述文件或内存lock用于同步对于Tag的引用计数的访问。
上述的步骤2根据VG和LV的名称,读取Tag中的引用计数usedref;
所述Tag为LV的元数据,用于存储相关的标识信息,用户的个性化信息,且存储的信息容量推荐不超过1024个字节。
上述的步骤3中,如果LV没有激活,则激活LV,并令写入Tag中的usedref=1;
如果LV已经激活,对于Tag中的引用计数usedref加1后写入LV的Tag中,实现tag修改;
上述的步骤4所述操作任务包括LV的访问和信息读取任务。
上述的步骤7中,如果减1后,usedref为0,则进行LV的反激活动作,如果减1后,usedref仍大于0,则写入Tag中实现tag修改,不进行LV的反激活操作。
上述的步骤8通过逻辑卷同步释放接口,根据LV的名称,释放LV对应的文件或内存Lock。
在中间任何流程报错都需要记录日志,并跳出任务执行。
本发明具有以下有益效果:
1、本发明适用于电信云场景下,虚拟化平台的LVM逻辑卷的并发管理,能够实现上层的应用层,进行并发多任务的操作和处理,极大提升上层应用任务的并发,提高任务处理的效率,同时解决了任务执行过程中的报错场景,克服了多任务并发导致的LV访问错误信息的问题,提高了虚拟化等上层应用的存储逻辑卷管理效率和业务的持续稳定性;
本发明基于逻辑卷的Tag引用计数的配置和使用,以及对逻辑卷Tag的修改进行加锁或互斥进行同步,根据Tag中的引用计数,进行逻辑卷判断是否需要激活或反激活,实现的原理和判断方法:激活前判断如果已经激活,则对于Tag中的引用计数属性进行加1,如果没有激活则激活LV,并将LV Tag中的引用计数属性设置为1。反激活时对于使用的引用计数减1,判断使用计数是否减为0,如果减为0,则进行实际的反激活操作,否则不进行反激活的操作;本专利在虚拟化平台下,进行逻辑卷管理,能大规模提高上层应用的并发任务,避免上层应用因为并发操作而导致的LV访问的错误问题,提升虚拟化管理和配置的效率。
附图说明
图1为现有并发任务的异常流程分析流程图;
图2为本发明一种解决集群逻辑卷并发激活和反激活的新方法流程图。
具体实施方式
以下结合附图对本发明的实施例作进一步详细描述。
如图2所示,本发明一种解决集群逻辑卷并发激活和反激活的新方法,包括:
步骤1:通过逻辑卷同步查询接口获取LV对应的文件锁或内存锁,即文件或内存Lock;
步骤2:获取文件或内存Lock后,根据VG和LV的名称,读取Tag中的引用计数usedref;
在当前主机上,文件或内存lock用于同步对于Tag的引用计数的访问。
Tag相关:
Tag是LV的元数据的一种类型,存储在LV的元数据中,可以存储相关的标识信息,用户的个性化信息,存储的信息容量推荐不超过1024个字节。LV需要激活后才能使用,如果没有任务使用,则需要处于反激活状态。
使用如下命令查询tag信息,比如clvmtest是VG名称,test是lv名称,获取test的tag信息命令如下:
lvs-o tags_name clvmtest/test
LV LV Tags
lv2 usedref=1
步骤3:判断LV是否激活,如果没有激活,则激活LV,并令写入Tag中的usedref=1;
如果LV已经激活,对于Tag中的引用计数usedref加1后写入LV的Tag中,实现tag修改;
采用如下进行修改LV的tag信息:
lvchange--deltag tagvalue clvmtest/test
lvchange--addtag tagvalue clvmtest/test
步骤4:释放LV对应的文件锁或内存锁,从而能够让其它任务同步获取Tag信息并能修改;执行当前的操作任务,比如LV的访问,信息读取等上层任务;
步骤5:获取LV对应的文件锁或内存锁,即文件或内存Lock;
步骤6:获取Lock后,读取Tag中的引用计数usedref;
步骤7:对于Tag中的引用计数usedref进行减1;
如果减1后,usedref为0,则进行LV的反激活动作,如果减1后,usedref仍大于0,则写入Tag中实现tag修改,不进行LV的反激活操作;
步骤8:根据LV的名称,释放LV对应的文件锁或内存锁。
综上所述,本发明具体实施时,首先需要进行虚拟化管理配置台配置和触发LV的信息查询:配置管理台在管理集群逻辑卷的时候,在执行任务之前,都会查询LV的相关信息,执行任务结束之后,会释放LV的相关信息;
然后提供逻辑卷同步查询接口(访问和释放同步接口装置)中,首先是在本地主机获取LV对应的文件或内存lock。获取后,主要是为了并发多任务的LV信息查询的同步操作,防止多个任务同时对于LV的Tag进行修改和查询;从而保持同步;
然后获取LV的lock后,需要查询当前LV的活动情况;
然后处理Tag中引用计数:如果是在执行任务之前,则可以判断LV是否是激活状态,LV不是激活状态,则需要激活,并修改或添加Tag中的使用引用计数为1。如果LV已经激活,则读取Tag,并将使用引用计数加1,修改并写入Tag信息;如果是在执行任务之后,则读取Tag中使用引用计数,并减1。如果减为0,则执行真正的反激活LV的操作;如果减1后,还大于0,则直接返回正常,不执行反激活的动作。
在本申请实施例中,判断和修改Tag中引用计数,确保了上层多任务并发应用的同步操作。
处理完Tag信息后,需要释放LV对应的lock信息,且在应用层执行对应的任务时,不持有任何LV的lock信息。
1.基于同步信息接口,通过LV的Tag中的引用计数,防止LV被反激活的操作;
Tag中的使用引用计数判断,从而规避上层多任务的并发操作,从而提高上层业务的处理性能和效率;
分为查询(激活)信息接口,和释放(反激活)信息接口两个接口。任务之前调用查询(激活)信息接口,任务执行之后调用释放(反激活)信息接口。
2.TAG信息读取和修改,根据引用计数对于LV进行激活或反激活的算法:
读取和修改Tag中的引用计数的时候需要通过lock进行同步;
通过加锁处理Tag的信息,从而确保了多个任务并发执行Tag操作的同步处理和操作,确保了通过Tag引用计数的互斥同步的准确性;
3.中间任何流程报错需要记录日志,并跳出任务执行,从而确保数据访问的安全性和一致性。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (5)

1.一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,包括:
步骤1:获取LV对应的文件或内存Lock;
所述步骤1通过逻辑卷同步查询接口获取LV对应的文件锁或内存锁,即文件或内存Lock,所述文件或内存lock用于同步对于Tag的引用计数的访问;
步骤2:获取Lock后,读取Tag中的引用计数usedref;
步骤3:判断LV是否激活,根据判断结果更新Tag中的usedref;如果LV没有激活,则激活LV,并令写入Tag中的usedref=1;
如果LV已经激活,对于Tag中的引用计数usedref加1后写入LV的Tag中,实现tag修改;
步骤4:释放LV对应的文件或内存Lock,执行当前的操作任务;
步骤5:获取LV对应的文件或内存Lock;
步骤6:获取Lock后,读取Tag中的引用计数usedref;
步骤7:对于Tag中的usedref进行减1,判断是否进行LV的反激活动作;如果减1后,usedref为0,则进行LV的反激活动作,如果减1后,usedref仍大于0,则写入Tag中实现tag修改,不进行LV的反激活操作;
步骤8:释放LV对应的文件或内存Lock。
2.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,所述步骤2根据VG和LV的名称,读取Tag中的引用计数usedref;
所述Tag为LV的元数据,用于存储相关的标识信息,用户的个性化信息,且存储的信息容量推荐不超过1024个字节。
3.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,步骤4所述操作任务包括LV的访问和信息读取任务。
4.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,所述步骤8通过逻辑卷同步释放接口,根据LV的名称,释放LV对应的文件或内存Lock。
5.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,在中间任何流程报错都需要记录日志,并跳出任务执行。
CN202211099975.5A 2022-09-09 2022-09-09 一种解决集群逻辑卷并发激活和反激活的新方法 Active CN115599575B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211099975.5A CN115599575B (zh) 2022-09-09 2022-09-09 一种解决集群逻辑卷并发激活和反激活的新方法
PCT/CN2023/113667 WO2024051468A1 (zh) 2022-09-09 2023-08-18 一种解决集群逻辑卷并发激活和反激活的新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211099975.5A CN115599575B (zh) 2022-09-09 2022-09-09 一种解决集群逻辑卷并发激活和反激活的新方法

Publications (2)

Publication Number Publication Date
CN115599575A CN115599575A (zh) 2023-01-13
CN115599575B true CN115599575B (zh) 2024-04-16

Family

ID=84842959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211099975.5A Active CN115599575B (zh) 2022-09-09 2022-09-09 一种解决集群逻辑卷并发激活和反激活的新方法

Country Status (2)

Country Link
CN (1) CN115599575B (zh)
WO (1) WO2024051468A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599575B (zh) * 2022-09-09 2024-04-16 中电信数智科技有限公司 一种解决集群逻辑卷并发激活和反激活的新方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572568A (zh) * 2013-10-15 2015-04-29 阿里巴巴集团控股有限公司 读锁操作方法、写锁操作方法及系统
CN106897029A (zh) * 2017-02-24 2017-06-27 郑州云海信息技术有限公司 一种lvm数据一致性的控制方法及装置
CN107506141A (zh) * 2017-08-18 2017-12-22 郑州云海信息技术有限公司 一种存储系统对卷组状态自动判断和激活的方法及系统
CN108762940A (zh) * 2018-04-12 2018-11-06 武汉斗鱼网络科技有限公司 多线程访问方法及装置
CN110703996A (zh) * 2019-09-29 2020-01-17 苏州浪潮智能科技有限公司 基于tgt的集群句柄管理方法、系统、装置及可读存储介质
CN111459691A (zh) * 2020-04-13 2020-07-28 中国人民银行清算总中心 共享内存的读写方法及装置
CN114546625A (zh) * 2022-03-01 2022-05-27 苏州浪潮智能科技有限公司 一种跨平台的异步消息处理方法、装置、设备、存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096333B2 (en) * 2002-07-18 2006-08-22 International Business Machines Corporation Limited concurrent host access in a logical volume management data storage environment
CN107888689B (zh) * 2017-11-16 2019-04-30 无锡地铁集团有限公司 基于共享存储的加锁资源配置方法
CN115599575B (zh) * 2022-09-09 2024-04-16 中电信数智科技有限公司 一种解决集群逻辑卷并发激活和反激活的新方法
CN116048382A (zh) * 2022-10-25 2023-05-02 中电信数智科技有限公司 一种逻辑卷访问方法、装置、设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572568A (zh) * 2013-10-15 2015-04-29 阿里巴巴集团控股有限公司 读锁操作方法、写锁操作方法及系统
CN106897029A (zh) * 2017-02-24 2017-06-27 郑州云海信息技术有限公司 一种lvm数据一致性的控制方法及装置
CN107506141A (zh) * 2017-08-18 2017-12-22 郑州云海信息技术有限公司 一种存储系统对卷组状态自动判断和激活的方法及系统
CN108762940A (zh) * 2018-04-12 2018-11-06 武汉斗鱼网络科技有限公司 多线程访问方法及装置
CN110703996A (zh) * 2019-09-29 2020-01-17 苏州浪潮智能科技有限公司 基于tgt的集群句柄管理方法、系统、装置及可读存储介质
CN111459691A (zh) * 2020-04-13 2020-07-28 中国人民银行清算总中心 共享内存的读写方法及装置
CN114546625A (zh) * 2022-03-01 2022-05-27 苏州浪潮智能科技有限公司 一种跨平台的异步消息处理方法、装置、设备、存储介质

Also Published As

Publication number Publication date
CN115599575A (zh) 2023-01-13
WO2024051468A1 (zh) 2024-03-14

Similar Documents

Publication Publication Date Title
US10884870B2 (en) Method and system for implementing consistency groups with virtual machines
CN108804112B (zh) 一种区块链落账处理方法及系统
CN107809467B (zh) 一种云环境下容器镜像数据的删减方法
CN102200941A (zh) 进程状态监控方法及单元
US20160283123A1 (en) Method and system for byzantine fault tolerant data replication
US8626765B2 (en) Processing database operation requests
US20130006993A1 (en) Parallel data processing system, parallel data processing method and program
CN104965850A (zh) 一种基于开源技术的数据库高可用实现方法
CN115599575B (zh) 一种解决集群逻辑卷并发激活和反激活的新方法
US20110099151A1 (en) Saving snapshot of a knowledge base without blocking
CN103226598A (zh) 访问数据库的方法和装置以及数据库管理系统
CN103593257A (zh) 一种数据备份方法及装置
WO2023159976A1 (zh) 数据分段写入方法、数据读取方法及装置
CN114600094A (zh) 为数据库架构生成哈希树
CN104965835B (zh) 一种分布式文件系统的文件读写方法及装置
CN110083306A (zh) 一种分布式对象存储系统及存储方法
CN110717130B (zh) 打点方法、装置、终端及存储介质
CN103729166A (zh) 程序的线程关系确定方法、设备及系统
CN117112522A (zh) 并发进程日志管理方法、装置、设备和存储介质
CN112434045A (zh) 一种嵌入式系统进程间大数据通信的方法及装置
US11875135B2 (en) Quantum entanglement protection
CN104166686B (zh) 基于pci或pcie板卡的数据库系统、主机及使用方法
CN107622123B (zh) 一种面向asm文件系统的文件解析方法
CN112181617B (zh) 一种基于特定索引结构的高效调度算法
CN109947732B (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