CN105243101A - 多控制器对同一数据压缩文件进行并发访问的方法及系统 - Google Patents

多控制器对同一数据压缩文件进行并发访问的方法及系统 Download PDF

Info

Publication number
CN105243101A
CN105243101A CN201510595190.0A CN201510595190A CN105243101A CN 105243101 A CN105243101 A CN 105243101A CN 201510595190 A CN201510595190 A CN 201510595190A CN 105243101 A CN105243101 A CN 105243101A
Authority
CN
China
Prior art keywords
targeted compression
file
compression file
described targeted
data
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
CN201510595190.0A
Other languages
English (en)
Other versions
CN105243101B (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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510595190.0A priority Critical patent/CN105243101B/zh
Publication of CN105243101A publication Critical patent/CN105243101A/zh
Application granted granted Critical
Publication of CN105243101B publication Critical patent/CN105243101B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

本发明实施例公开了一种多控制器对数据压缩文件进行并发访问的方法,获取多控制器对目标压缩文件的数据进行访问的请求指令;对所述目标压缩文件执行加锁操作;当检测到对所述目标压缩文件的加锁操作成功后,对所述加锁后的目标压缩文件进行解压处理,得到所述目标压缩文件中的数据;对所述目标压缩文件执行释放锁操作。本申请中在接收到多控制器对目标压缩文件的数据进行访问的请求指令后,对压缩文件进行加锁和解锁处理,以控制多控制器对数据压缩文件系统中同一压缩文件的解压次数,保证对于同一压缩文件来说,它只能被解压一次,从而防止多控制器先后对其解压造成的共享文件系统数据不一致问题,保证了数据的一致性。

Description

多控制器对同一数据压缩文件进行并发访问的方法及系统
技术领域
本发明涉及堆叠式数据压缩文件系统的技术领域,更具体地说,涉及一种多控制器对数据压缩文件进行并发访问的方法及系统。
背景技术
随着技术的发展,人们对多控制器对数据压缩文件进行并发访问的方法越来越关注。
现有的当堆叠式数据压缩文件系统中的压缩存储的数据被访问时,数据压缩文件系统则会首先执行解压操作,而多个控制器对同一压缩文件的并发解压,则可能会导致文件系统数据不一致问题。
因此,如何有效的实现多控制器对同一数据压缩文件的并发访问,保证数据的一致性是本领域技术人员亟需解决的技术问题。
发明内容
本发明的目的在于提供一种多控制器对数据压缩文件进行并发访问的方法及系统,可有效的实现多控制器对同一数据压缩文件的并发访问,保证数据的一致性。
为实现上述目的,本发明实施例提供了如下技术方案:
一种多控制器对数据压缩文件进行并发访问的方法,该方法包括:
获取多控制器对目标压缩文件的数据进行访问的请求指令;
对所述目标压缩文件执行加锁操作;
当检测到对所述目标压缩文件的加锁操作成功后,对所述加锁后的目标压缩文件进行解压处理,得到所述目标压缩文件中的数据;
对所述目标压缩文件执行释放锁操作。
上述的访问方法,可选的,所述对所述加锁后的目标压缩文件进行解压处理,包括:
对所述加锁后的目标压缩文件的标识进行检测;
判断所述目标压缩文件的标识是否与所述请求指令中的压缩标识相匹配,若是,则对所述加锁后的目标文件进行解压处理。
上述的访问方法,可选的,还包括:
当检测到对所述目标压缩文件的加锁操作失败后,所述目标压缩文件被其他进程锁定,等待所述其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据。
上述的访问方法,可选的,还包括:
判定所述等待其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据的时间是否超过预设时间阈值,若是,则确定对所述目标压缩文件进行访问的操作失败。
上述的访问方法,可选的,还包括:
当检测到对所述目标压缩文件的加锁操作失败后,判定对所述目标压缩文件的解压过程已经完成,直接跳出解压操作,确定对所述目标压缩文件进行访问的操作失败。
一种多控制器对数据压缩文件进行并发访问的系统,该系统包括:
获取单元,用于获取多控制器对目标压缩文件的数据进行访问的请求指令;
加锁单元,用于对所述目标压缩文件执行加锁操作;
解压单元,用于当检测到对所述目标压缩文件的加锁操作成功后,对所述加锁后的目标压缩文件进行解压处理,得到所述目标压缩文件中的数据;
释放单元,用于对所述目标压缩文件执行释放锁操作。
上述的访问系统,可选的,所述解压单元,包括:
检测单元,用于对所述加锁后的目标压缩文件的标识进行检测;
判断单元,用于判断所述目标压缩文件的标识是否与所述请求指令中的压缩标识相匹配,若是,则对所述加锁后的目标文件进行解压处理。
上述的访问系统,可选的,还包括:
等待单元,用于当检测到对所述目标压缩文件的加锁操作失败后,所述目标压缩文件被其他进程锁定,等待所述其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据。
上述的访问系统,可选的,还包括:
第一判定单元,用于判定所述等待其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据的时间是否超过预设时间阈值,若是,则确定对所述目标压缩文件进行访问的操作失败。
上述的访问系统,可选的,还包括:
第二判定单元,用于当检测到对所述目标压缩文件的加锁操作失败后,判定对所述目标压缩文件的解压过程已经完成,直接跳出解压操作,确定对所述目标压缩文件进行访问的操作失败。
通过以上方案可知,本发明实施例提供的一种多控制器对数据压缩文件进行并发访问的方法,获取多控制器对目标压缩文件的数据进行访问的请求指令;对所述目标压缩文件执行加锁操作;当检测到对所述目标压缩文件的加锁操作成功后,对所述加锁后的目标压缩文件进行解压处理,得到所述目标压缩文件中的数据;对所述目标压缩文件执行释放锁操作。本申请中在接收到多控制器对目标压缩文件的数据进行访问的请求指令后,对压缩文件进行加锁和解锁处理,以控制多控制器对数据压缩文件系统中同一压缩文件的解压次数,保证对于同一压缩文件来说,它只能被解压一次,从而防止多控制器先后对其解压造成的共享文件系统数据不一致问题,保证了数据的一致性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种多控制器对数据压缩文件进行并发访问的方法的流程图;
图2为本发明实施例公开的一种多控制器对数据压缩文件进行并发访问的系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明实施例公开了一种多控制器对数据压缩文件进行并发访问的方法,可以包括以下步骤:
S101、获取多控制器对目标压缩文件的数据进行访问的请求指令。
本申请中提供的一种多控制器对数据压缩文件进行并发访问的方法适用于多控共享存储系统中,应用于堆叠在多控共享存储系统之上的数据压缩文件系统,用于解决多控制器并发访问堆叠式数据压缩文件系统的同一文件可能造成的数据不一致问题。
S102、对所述目标压缩文件执行加锁操作。
当多个控制器需要同时对同一数据压缩文件进行并发访问时,也就是说,在接到多控制器对同一数据压缩文件进行并发访问的请求指令时,对待访问的数据压缩文件进行加锁操作,此时,所述数据压缩文件仅可被接收到访问请求的多个控制器访问,以免其他应用程序再访问此数据压缩文件。
S103、判断对所述目标压缩文件的加锁操作是否成功,若是,则执行步骤S104,否则,执行步骤S106。
S104、当检测到对所述目标压缩文件的加锁操作成功后,对所述加锁后的目标压缩文件进行解压处理,得到所述目标压缩文件中的数据。
本申请中,对所述加锁后的目标压缩文件进行解压处理,包括:
对所述加锁后的目标压缩文件的标识进行检测。
判断所述目标压缩文件的标识是否与所述请求指令中的压缩标识相匹配,若是,则对所述加锁后的目标文件进行解压处理。
也就是说,需要判断加锁后的目标压缩文件是否需要进行访问的数据压缩文件,只有在加锁后的目标压缩文件是多控制器需要进行访问的数据压缩文件时,才对加锁后的目标压缩文件进行解压操作,否则,放弃此次访问,也就是说,此次访问失败。
当对数据压缩文件加锁成功后,对加锁后的目标压缩文件进行解压处理,由于加锁的原因,所述多个控制器仅仅可以对所述数据压缩文件解压一次,得到一份数据压缩文件中的数据,从而防止多控制器先后对所述数据压缩文件进行解压造成的共享文件系统数据不一致的问题。
S105、对所述目标压缩文件执行释放锁操作。
对数据压缩文件解压成功,得到数据压缩文件中的数据后,释放数据压缩文件的锁,不影响其他控制器或者应用程序访问所述数据压缩文件。
S106、当检测到对所述目标压缩文件的加锁操作失败后,所述目标压缩文件被其他进程锁定,等待所述其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据。
判定所述等待其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据的时间是否超过预设时间阈值,若是,则确定对所述目标压缩文件进行访问的操作失败。
本申请中,还包括:
当检测到对所述目标压缩文件的加锁操作失败后,判定对所述目标压缩文件的解压过程已经完成,直接跳出解压操作,确定对所述目标压缩文件进行访问的操作失败。
通过以上方案可知,本发明实施例提供的一种多控制器对数据压缩文件进行并发访问的方法,在接收到多控制器对目标压缩文件的数据进行访问的请求指令后,对压缩文件进行加锁和解锁处理,以控制多控制器对数据压缩文件系统中同一压缩文件的解压次数,保证对于同一压缩文件来说,它只能被解压一次,从而防止多控制器先后对其解压造成的共享文件系统数据不一致问题,保证了数据的一致性。
在具体实现过程中,加锁的类型有三种,分别为读锁F_RDLCK、写锁F_WRLCK、释放锁F_UNLCK,对压缩文件进行加锁的功能通过直接封装Linux标准fctnl实现,同时记录对压缩文件执行所操作日志。
堆叠式数据压缩文件系统,附加于共享存储系统之上,通过在文件系统接口层的映射和重写,将底层文件系统的服务已完整实现,在文件打开操作流程中,会执行压缩标识的检测、压缩文件的解压操作。
对压缩文件执行解压操作之前,对压缩设置写锁,如果设置成功,则允许进行解压操作,否则,要么是该文件已被其他进程锁定,我们选择等待,直到该文件被解压完毕或超时时间返回(考虑到大文件的解压时间较长,将超时时间设置为300s),要么就是该文件解压过程已完成,直接返回,跳出解压操作。
当前进程完成压缩文件解压操作后释放文件锁。
与图1中一种多控制器对数据压缩文件进行并发访问方法实施例相对应,参考图2,本申请还提供了一种多控制器对数据压缩文件进行并发访问系统的实施例,包括:
获取单元201,用于获取多控制器对目标压缩文件的数据进行访问的请求指令。
加锁单元202,用于对所述目标压缩文件执行加锁操作。
解压单元203,用于当检测到对所述目标压缩文件的加锁操作成功后,对所述加锁后的目标压缩文件进行解压处理,得到所述目标压缩文件中的数据;
释放单元204,用于对所述目标压缩文件执行释放锁操作。
所述解压单元203,包括:
检测单元,用于对所述加锁后的目标压缩文件的标识进行检测;
判断单元,用于判断所述目标压缩文件的标识是否与所述请求指令中的压缩标识相匹配,若是,则对所述加锁后的目标文件进行解压处理。
本申请中,还包括:
等待单元,用于当检测到对所述目标压缩文件的加锁操作失败后,所述目标压缩文件被其他进程锁定,等待所述其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据。
第一判定单元,用于判定所述等待其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据的时间是否超过预设时间阈值,若是,则确定对所述目标压缩文件进行访问的操作失败。
第二判定单元,用于当检测到对所述目标压缩文件的加锁操作失败后,判定对所述目标压缩文件的解压过程已经完成,直接跳出解压操作,确定对所述目标压缩文件进行访问的操作失败。
综上,本申请提供的一种多控制器对数据压缩文件进行并发访问的方法及系统,实现了多控制器对同一压缩文件的并发访问,保证了数据一致性与完整性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种多控制器对数据压缩文件进行并发访问的方法,其特征在于,该方法包括:
获取多控制器对目标压缩文件的数据进行访问的请求指令;
对所述目标压缩文件执行加锁操作;
当检测到对所述目标压缩文件的加锁操作成功后,对所述加锁后的目标压缩文件进行解压处理,得到所述目标压缩文件中的数据;
对所述目标压缩文件执行释放锁操作。
2.根据权利要求1所述的访问方法,其特征在于,所述对所述加锁后的目标压缩文件进行解压处理,包括:
对所述加锁后的目标压缩文件的标识进行检测;
判断所述目标压缩文件的标识是否与所述请求指令中的压缩标识相匹配,若是,则对所述加锁后的目标文件进行解压处理。
3.根据权利要求2所述的访问方法,其特征在于,还包括:
当检测到对所述目标压缩文件的加锁操作失败后,所述目标压缩文件被其他进程锁定,等待所述其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据。
4.根据权利要求3所述的访问方法,其特征在于,还包括:
判定所述等待其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据的时间是否超过预设时间阈值,若是,则确定对所述目标压缩文件进行访问的操作失败。
5.根据权利要求2所述的访问方法,其特征在于,还包括:
当检测到对所述目标压缩文件的加锁操作失败后,判定对所述目标压缩文件的解压过程已经完成,直接跳出解压操作,确定对所述目标压缩文件进行访问的操作失败。
6.一种多控制器对数据压缩文件进行并发访问的系统,其特征在于,该系统包括:
获取单元,用于获取多控制器对目标压缩文件的数据进行访问的请求指令;
加锁单元,用于对所述目标压缩文件执行加锁操作;
解压单元,用于当检测到对所述目标压缩文件的加锁操作成功后,对所述加锁后的目标压缩文件进行解压处理,得到所述目标压缩文件中的数据;
释放单元,用于对所述目标压缩文件执行释放锁操作。
7.根据权利要求6所述的访问系统,其特征在于,所述解压单元,包括:
检测单元,用于对所述加锁后的目标压缩文件的标识进行检测;
判断单元,用于判断所述目标压缩文件的标识是否与所述请求指令中的压缩标识相匹配,若是,则对所述加锁后的目标文件进行解压处理。
8.根据权利要求7所述的访问系统,其特征在于,还包括:
等待单元,用于当检测到对所述目标压缩文件的加锁操作失败后,所述目标压缩文件被其他进程锁定,等待所述其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据。
9.根据权利要求8所述的访问系统,其特征在于,还包括:
第一判定单元,用于判定所述等待其他进程释放所述目标文件,直到所述目标压缩文件被解压完毕,得到所述目标压缩文件中的数据的时间是否超过预设时间阈值,若是,则确定对所述目标压缩文件进行访问的操作失败。
10.根据权利要求7所述的访问系统,其特征在于,还包括:
第二判定单元,用于当检测到对所述目标压缩文件的加锁操作失败后,判定对所述目标压缩文件的解压过程已经完成,直接跳出解压操作,确定对所述目标压缩文件进行访问的操作失败。
CN201510595190.0A 2015-09-17 2015-09-17 多控制器对同一数据压缩文件进行并发访问的方法及系统 Active CN105243101B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510595190.0A CN105243101B (zh) 2015-09-17 2015-09-17 多控制器对同一数据压缩文件进行并发访问的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510595190.0A CN105243101B (zh) 2015-09-17 2015-09-17 多控制器对同一数据压缩文件进行并发访问的方法及系统

Publications (2)

Publication Number Publication Date
CN105243101A true CN105243101A (zh) 2016-01-13
CN105243101B CN105243101B (zh) 2019-05-10

Family

ID=55040750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510595190.0A Active CN105243101B (zh) 2015-09-17 2015-09-17 多控制器对同一数据压缩文件进行并发访问的方法及系统

Country Status (1)

Country Link
CN (1) CN105243101B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372030A (zh) * 2016-10-27 2017-02-01 郑州云海信息技术有限公司 一种双控制器存储系统数据同步方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088694A (en) * 1998-03-31 2000-07-11 International Business Machines Corporation Continuous availability and efficient backup for externally referenced objects
CN101719210A (zh) * 2009-12-25 2010-06-02 武汉大学 基于linux平台数字版权管理的文件使用控制方法
CN101876992A (zh) * 2009-11-17 2010-11-03 中国科学院自动化研究所 一种图像数据仓库管理方法
CN102681892A (zh) * 2012-05-15 2012-09-19 西安热工研究院有限公司 Key-Value型单写多读锁池软件模块及其运行方法
CN104462403A (zh) * 2014-12-11 2015-03-25 华为技术有限公司 文件截断方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088694A (en) * 1998-03-31 2000-07-11 International Business Machines Corporation Continuous availability and efficient backup for externally referenced objects
CN101876992A (zh) * 2009-11-17 2010-11-03 中国科学院自动化研究所 一种图像数据仓库管理方法
CN101719210A (zh) * 2009-12-25 2010-06-02 武汉大学 基于linux平台数字版权管理的文件使用控制方法
CN102681892A (zh) * 2012-05-15 2012-09-19 西安热工研究院有限公司 Key-Value型单写多读锁池软件模块及其运行方法
CN104462403A (zh) * 2014-12-11 2015-03-25 华为技术有限公司 文件截断方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372030A (zh) * 2016-10-27 2017-02-01 郑州云海信息技术有限公司 一种双控制器存储系统数据同步方法及装置

Also Published As

Publication number Publication date
CN105243101B (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
US20120239634A1 (en) Method and apparatus for accessing database and database application system
CN103150149B (zh) 处理数据库重做数据的方法和装置
JP2013060047A (ja) 車両用ネットワークシステム及び車両用情報処理方法
EP3040854B1 (en) Method, apparatus and storage medium for dynamically patching function
CN106716348A (zh) 用于执行多个线程的数据处理设备中的共享资源
CN110647318B (zh) 一种有状态应用的实例创建方法、装置、设备及介质
CN105183852A (zh) 一种数据库迁移方法和装置
CN105988798B (zh) 补丁处理方法及装置
CN105468373A (zh) 一种分支合并方法及装置
CN103577546A (zh) 一种数据备份的方法、设备及分布式集群文件系统
CN105183799B (zh) 一种权限管理的方法及客户端
CN110896489A (zh) 一种鉴权方法、装置、设备及存储介质
CN105243101A (zh) 多控制器对同一数据压缩文件进行并发访问的方法及系统
CN111352764B (zh) 一种芯片修复的方法、装置、设备及存储介质
US10338891B2 (en) Migration between model elements of different types in a modeling environment
CN111694724B (zh) 分布式表格系统的测试方法、装置、电子设备及存储介质
CN106844234B (zh) 数据写入方法及装置、双活系统
CN103713952A (zh) 一种基于ufs的虚拟磁盘分布式存储方法
CN103677879A (zh) 软件安装方法及相应软件安装装置
CN103645967A (zh) 一种只读快照回滚方法及装置
CN113360389A (zh) 一种性能测试方法、装置、设备及存储介质
CN113778551A (zh) 基于多客户端远程修改参数的方法、装置、计算机设备
CN110928684A (zh) 多HiveServer2服务器场景下连接池的实现方法及系统
CN104573574B (zh) Sata硬盘写保护方法和系统
US20230219222A1 (en) A robot controller

Legal Events

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