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

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

Info

Publication number
CN105243101B
CN105243101B CN201510595190.0A CN201510595190A CN105243101B CN 105243101 B CN105243101 B CN 105243101B CN 201510595190 A CN201510595190 A CN 201510595190A CN 105243101 B CN105243101 B CN 105243101B
Authority
CN
China
Prior art keywords
file
targeted compression
compression file
data
locking
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
CN201510595190.0A
Other languages
English (en)
Other versions
CN105243101A (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 (6)

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

Families Citing this family (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 华为技术有限公司 文件截断方法和装置

Also Published As

Publication number Publication date
CN105243101A (zh) 2016-01-13

Similar Documents

Publication Publication Date Title
US7765440B2 (en) Method and apparatus for OS independent platform recovery
KR101759379B1 (ko) 확장된 데이터를 갖는 메모리 덤프 및 사용자 프라이버시 보호 기법
EP2875466B1 (en) Method and apparatus for performing virus scan during decompression of application installation package
US8832666B2 (en) Dynamic instrumentation
WO2017053888A1 (en) Methods and systems for uploading a program based on a target network platform
WO2016123908A1 (zh) 一种内存越界的检测方法及装置
US9501344B2 (en) Data dump for a memory in a data processing system
US20160212156A1 (en) System and method for detecting malicious code based on application programming interface
US20140068325A1 (en) Test case result processing
KR101920239B1 (ko) 파일 시스템 기능을 제공하는 단말기의 장치 및 방법
CN106462422B (zh) 用于多系统终端的系统升级方法、升级装置和终端
CN105988798B (zh) 补丁处理方法及装置
CN105183852A (zh) 一种数据库迁移方法和装置
US10366226B2 (en) Malicious code analysis device and method based on external device connected via USB cable
CN109710317A (zh) 系统启动方法、装置、电子设备及存储介质
CN110737453A (zh) 安全芯片的升级方法、装置及安全芯片
CN106716348A (zh) 用于执行多个线程的数据处理设备中的共享资源
EP3040854A1 (en) Method, apparatus and storage medium for dynamically patching function
CN111414256A (zh) 基于麒麟移动操作系统的应用程序进程派生方法、系统及介质
CN109901957B (zh) 以可扩展固件接口进行内存测试的计算装置及其方法
CN105243101B (zh) 多控制器对同一数据压缩文件进行并发访问的方法及系统
CN109002305A (zh) 一种设备程序的更新方法及其系统
CN111694724B (zh) 分布式表格系统的测试方法、装置、电子设备及存储介质
CN111797016B (zh) 应用程序的测试方法、设备、存储介质及装置
US9712380B2 (en) Analytical device control system

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