CN115599575A - 一种解决集群逻辑卷并发激活和反激活的新方法 - Google Patents
一种解决集群逻辑卷并发激活和反激活的新方法 Download PDFInfo
- Publication number
- CN115599575A CN115599575A CN202211099975.5A CN202211099975A CN115599575A CN 115599575 A CN115599575 A CN 115599575A CN 202211099975 A CN202211099975 A CN 202211099975A CN 115599575 A CN115599575 A CN 115599575A
- Authority
- CN
- China
- Prior art keywords
- tag
- usedref
- file
- deactivation
- 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.)
- Granted
Links
- 230000009849 deactivation Effects 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000004913 activation Effects 0.000 title claims abstract description 22
- 230000009471 action Effects 0.000 claims abstract description 4
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
-
- 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/0703—Error 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/0706—Error 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/0712—Error 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
-
- 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/0703—Error 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/0706—Error 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/0715—Error 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
-
- 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/0703—Error 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/0793—Remedial 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 (8)
1.一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,包括:
步骤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。
2.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,所述步骤1通过逻辑卷同步查询接口获取LV对应的文件锁或内存锁,即文件或内存Lock,所述文件或内存lock用于同步对于Tag的引用计数的访问。
3.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,所述步骤2根据VG和LV的名称,读取Tag中的引用计数usedref;
所述Tag为LV的元数据,用于存储相关的标识信息,用户的个性化信息,且存储的信息容量推荐不超过1024个字节。
4.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,所述步骤3中,如果LV没有激活,则激活LV,并令写入Tag中的usedref=1;
如果LV已经激活,对于Tag中的引用计数usedref加1后写入LV的Tag中,实现tag修改。
5.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,步骤4所述操作任务包括LV的访问和信息读取任务。
6.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,所述步骤7中,如果减1后,usedref为0,则进行LV的反激活动作,如果减1后,usedref仍大于0,则写入Tag中实现tag修改,不进行LV的反激活操作。
7.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,所述步骤8通过逻辑卷同步释放接口,根据LV的名称,释放LV对应的文件或内存Lock。
8.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,在中间任何流程报错都需要记录日志,并跳出任务执行。
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 true CN115599575A (zh) | 2023-01-13 |
CN115599575B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024051468A1 (zh) * | 2022-09-09 | 2024-03-14 | ***数智科技有限公司 | 一种解决集群逻辑卷并发激活和反激活的新方法 |
Citations (7)
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)
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 | ***数智科技有限公司 | 一种逻辑卷访问方法、装置、设备及介质 |
-
2022
- 2022-09-09 CN CN202211099975.5A patent/CN115599575B/zh active Active
-
2023
- 2023-08-18 WO PCT/CN2023/113667 patent/WO2024051468A1/zh unknown
Patent Citations (7)
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 | 苏州浪潮智能科技有限公司 | 一种跨平台的异步消息处理方法、装置、设备、存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024051468A1 (zh) * | 2022-09-09 | 2024-03-14 | ***数智科技有限公司 | 一种解决集群逻辑卷并发激活和反激活的新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115599575B (zh) | 2024-04-16 |
WO2024051468A1 (zh) | 2024-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107809467B (zh) | 一种云环境下容器镜像数据的删减方法 | |
CN101964820B (zh) | 一种保持数据一致性的方法及*** | |
WO2014144449A1 (en) | Apparatus and method for translation from multi-dimensional to linear address space in storage | |
US20070005669A1 (en) | Method and system for automated disk i/o optimization of restored databases | |
CN101136825B (zh) | 一种客户端/服务器结构的异步配置信息管理方法及*** | |
US10628200B2 (en) | Base state for thin-provisioned volumes | |
CN103593257B (zh) | 一种数据备份方法及装置 | |
CN106446044B (zh) | 存储空间回收方法及装置 | |
CN110399333B (zh) | 删除快照的方法、设备和计算机程序产品 | |
CN100392606C (zh) | 一种定位虚拟操作***内存泄漏的方法 | |
WO2024051468A1 (zh) | 一种解决集群逻辑卷并发激活和反激活的新方法 | |
CN113778338A (zh) | 分布式存储数据读取效率优化方法、***、设备和介质 | |
CN111897666A (zh) | 用于多进程之间通信的方法、设备及*** | |
CN103544097B (zh) | 嵌入式***的日志存储方法、***及日志读取方法和*** | |
CN103729166A (zh) | 程序的线程关系确定方法、设备及*** | |
CN114896215A (zh) | 元数据的存储方法及装置 | |
CN110717130B (zh) | 打点方法、装置、终端及存储介质 | |
CN112434045A (zh) | 一种嵌入式***进程间大数据通信的方法及装置 | |
CN105847329B (zh) | 一种基于股票数据服务器的管理设备及方法 | |
US20230325242A1 (en) | Fast shutdown of large scale-up processes | |
CN107622123B (zh) | 一种面向asm文件***的文件解析方法 | |
CN116048382A (zh) | 一种逻辑卷访问方法、装置、设备及介质 | |
CN109164988A (zh) | 基于处理器的虚拟机快照方法和*** | |
US20070061530A1 (en) | Method for storage of digital data in a mainframe data center and associated device | |
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 |