CN104463010B - 一种文件锁实现方法及装置 - Google Patents
一种文件锁实现方法及装置 Download PDFInfo
- Publication number
- CN104463010B CN104463010B CN201410616691.8A CN201410616691A CN104463010B CN 104463010 B CN104463010 B CN 104463010B CN 201410616691 A CN201410616691 A CN 201410616691A CN 104463010 B CN104463010 B CN 104463010B
- Authority
- CN
- China
- Prior art keywords
- open
- agreement
- file
- file system
- objects
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Abstract
本发明公开一种文件锁实现方法及装置,当第一协议访问文件系统时,该方法包括:将所述第一协议的打开open对象映射为第一文件锁,其中,open对象是指一次打开open请求所产生的协议数据;根据预设的互斥规则将所述第一文件锁和上一次访问文件系统的第二协议对应的第二文件锁做冲突判断,根据冲突判断结果返回创建open请求失败或者允许第一协议访问文件系统。本发明所提供的方法和装置解决多个协议共存于一个网络附属存储时,由于协议壁垒导致数据不能得到保护,文件数据容易被改写的问题。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种文件锁实现方法及装置。
背景技术
目前,网络附属存储(Network Attached Storage,NAS)支持服务器信息块(Server Message Block,SMB),网络文件系统(Network File System,NFS),文件传输协议(File Transfer Protocol,FTP),超文本传输协议(Hyper Text Transfer Protocol,HTTP)等多种协议,当多种协议的客户端同时工作在一个服务器上时,由于协议之间的壁垒,只能实现协议内的协议一致性,不能实现跨协议的协议一致性。基于上述原因会出现某一协议访问了一个已经被其他协议设置拒绝访问的文件或者目录,例如:用SMB协议创建的文件在设置了排他访问的时候依然可以被NFS协议打开或者删除,两个协议对文件系统操作的流程如图1所示,当SMB客户端先打开一个文件file1并设置排他修改时,NFS客户端的写请求就会直接修改file1,这就造成协议规则被破坏,数据不能得到保护,文件数据容易被改写,使得用户体验不好等问题。
发明内容
本发明提供一种文件锁实现方法及装置,本发明所提供的方法和装置解决多个协议共存于一个网络附属存储时,由于协议壁垒导致数据不能得到保护,文件数据容易被改写的问题。
第一方面,本发明提供一种文件锁实现方法,第一协议访问文件系统时,该方法包括:
将所述第一协议的打开open对象映射为第一文件锁,其中,open对象是指一次打开open请求所产生的协议数据;
根据预设的互斥规则将所述第一文件锁和上一次访问文件系统的第二协议对应的第二文件锁做冲突判断,根据冲突判断结果返回创建open请求失败或者允许第一协议访问文件系统。
结合第一方面,在第一种可能的实现方式中,所述冲突判断包括;
根据所述第二文件锁确定所述第二协议是否允许其他open对象操作所述文件系统;和/或
根据所述第二文件锁确定所述第二协议是否允许其他open对象缓存数据到所述文件系统。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,根据冲突判断结果返回创建open请求失败或者允许第一协议访问文件系统包括:
当所述冲突判断结果为所述第二协议不允许其他open对象操作所述文件系统,则返回创建open请求失败;否则允许第一协议访问文件系统;
当所述冲突判断结果为所述第二协议不允许其他open对象缓存数据到所述文件系统,则在召回第一协议已缓存的数据后,访问所述文件系统。
结合第一方面,或者第一方面的第一至二种可能的实现方式,在第三种可能的实现方式中,根据预设的互斥规则将所述第一文件锁和上一次访问文件系统的第二协议对应的第二文件锁做冲突判断包括:
确定所述第二文件锁中的第一标志位与所述第一文件锁中对应的第二标志位不相同,则以所述第一标志位所指示的内容作为冲突判断的结果。
结合第一方面,或者第一方面的第一至三种可能的实现方式,在第三种可能的实现方式中,当第一协议内部能够生成open对象,则将所述第一协议的open对象映射为第一文件锁包括:
确定第一协议的open对象是否有对文件系统的操作请求,如果有任一类型的操作请求,则将所述第一文件锁中与任一类型的操作对应的标志位置位;
确定第一协议的open对象是否允许其他open对象操作所述文件系统,如果允许任一类型的操作,则将所述第一文件锁中与任一类型的操作对应的标志位置位;
确定第一协议的open对象是否请求客户端缓存,如果是,则将所述第一文件锁中与缓存对应的标志位置位。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,当第一协议内部不会生成open对象,则确定第一协议的open对象是否有对文件系统的操作请求之前,该方法还包括:
生成临时的协议open对象,并将所述临时的协议open对象作为所述第一协议的open对象。
第二方面,本发明提供一种文件锁实现装置,第一协议访问文件系统时,该装置包括:
映射单元,用于将所述第一协议的打开open对象映射为第一文件锁,其中,open对象是指一次打开open请求所产生的协议数据;
冲突判断单元,用于根据预设的互斥规则将所述第一文件锁和上一次访问文件系统的第二协议对应的第二文件锁做冲突判断,根据冲突判断结果返回创建open请求失败或者允许第一协议访问文件系统。
结合第二方面,在第一种可能的实现方式中,冲突判断单元具体用于根据所述第二文件锁确定所述第二协议是否允许其他open对象操作所述文件系统;和/或,根据所述第二文件锁确定所述第二协议是否允许其他open对象缓存数据到所述文件系统。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,冲突判断单元具体用于当所述冲突判断结果为所述第二协议不允许其他open对象操作所述文件系统,则返回创建open请求失败;否则允许第一协议访问文件系统;当所述冲突判断结果为所述第二协议不允许其他open对象缓存数据到所述文件系统,则在召回第一协议已缓存的数据后,访问所述文件系统。
结合第二方面,或者第二方面的第一至二种可能的实现方式,在第三种可能的实现方式中,冲突判断单元具体用于确定所述第二文件锁中的第一标志位与所述第一文件锁中对应的第二标志位不相同,则以所述第一标志位所指示的内容作为冲突判断的结果。
结合第二方面,或者第二方面的第一至三种可能的实现方式,在第三种可能的实现方式中,当第一协议内部能够生成open对象,则映射单元具体用于确定第一协议的open对象是否有对文件系统的操作请求,如果有任一类型的操作请求,则将所述第一文件锁中与任一类型的操作对应的标志位置位;确定第一协议的open对象是否允许其他open对象操作所述文件系统,如果允许任一类型的操作,则将所述第一文件锁中与任一类型的操作对应的标志位置位;确定第一协议的open对象是否请求客户端缓存,如果是,则将所述第一文件锁中与缓存对应的标志位置位。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,当第一协议内部不会生成open对象,则映射单元还用于生成临时的协议open对象,并将所述临时的协议open对象作为所述第一协议的open对象。
上述技术方案中的一个或两个,至少具有如下技术效果:
本发明实施例所提供的方法和装置,每次open请求都会根据对应的open对象生成一个文件锁,所以每个文件锁是与每个open对象对应的,不管第一协议和第二协议是否相同,只要前一次open请求对文件系统进行了加锁处理,则当前的open请求就需要依据互斥规则做互斥判断,只有当前的open请求对应的操作是文件系统已加文件锁允许的操作才能进行。所以本发明实施例提供的方法和装置,可以融合异种协议,做到多种协议客户端对文件系统访问的数据一致,从而保证了协议的完整性。
附图说明
图1为现有技术中不同的两个协议对文件系统操作的流程示意图;
图2为本发明实施例提供的一种文件锁实现方法的流程示意图;
图3为本发明实施例中生成open对象的方法流程示意图;
图4为本发明实施例中一种文件锁实现装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合说明书附图对本发明实施例作进一步详细描述。
如图2所示,本发明实施例提供一种文件锁实现方法,第一协议访问文件系统时,该方法包括:
步骤201,将所述第一协议的打开open对象映射为第一文件锁,其中,open对象是指一次打开open请求所产生的协议数据;
本发明实施例所提供的文件锁(或称为open锁)用来整合异种协议的访问排他权限以及其他高级特性,即当各种协议要访问某一个文件或者目录时,都需要先生成一个open锁,每次open请求对应的open锁标示了该open请求所要进行的操作以及对其他操作的排他选项;然后用open锁来做跨协议的互斥判断。
步骤202,根据预设的互斥规则将所述第一文件锁和上一次访问文件系统的第二协议对应的第二文件锁做冲突判断,根据冲突判断结果返回创建open请求失败或者允许第一协议访问文件系统。
在本发明实施例中,每次open请求都会根据对应的open对象生成一个open锁,所以每个open锁是与每个open对象对应的,不管第一协议和第二协议是否相同,只要前一次open请求对文件系统进行了加锁处理,则当前的open请求就需要依据互斥规则做互斥判断,只有当前的open请求对应的操作是文件系统已加open锁允许的操作才能进行。
在本发明实施例中,通过open锁可以对用户的多种操作进行互斥判断,根据冲突判断结果返回创建open请求失败或者允许第一协议访问文件系统,可选的冲突判断包括:
A,当所述冲突判断结果为第二协议不允许其他open对象操作所述文件系统,则返回创建open请求失败;否则允许第一协议访问文件系统;
在该实施例中,对文件系统的操作包括修改、删除、插入等一切协议可对文件系统进行的操作。
B,当所述冲突判断结果为所述第二协议不允许其他open对象缓存数据到所述文件系统,则在召回第一协议已缓存的数据后,访问所述文件系统。
在该实施例中,第二协议相对于第一协议而言,是先对文件系统进行操作的协议,所以在一般情况下,第一协议要对文件系统进行操作之前,都需要根据第二文件锁中的标示确定第二协议是否允许其他协议对文件系统进行操作,如果第二文件锁标示不允许执行的操作,第一协议则不能执行。
上述对文件系统的操作以及数据缓存的判断可以是同时进行的也可以有选择的进行。
为了更清楚详细的说明本发明实施例所提供文件锁,以下对文件锁的一种可实现的生成方法做具体的说明,具体包括:
在该实施例中,文件锁可以包括3部分:用来做访问排他的互斥的sharelock,用来做客户端缓存互斥的lease和做保留待后续扩充的reserved,可以用一个32bit的整数标示,如表1:
表1
其中,用来做访问排他互斥的share lock,包括了访问位(access bits)和排他位(deny bits)两部分,访问位和排他位各自都占3个bit位,access bits可以包括写访问(access write,AW)、读访问(access read,AR)和删除访问(access delete,AD)这些位,deny bits可以包括禁止写(deny write,DW)、禁止读(deny read,DR)和禁止删除(denydelete,DD)这些位。上述各种标志位的具体排布情况如表2所示:
AR | AW | AD | DR | DW | DD |
表2
用来做客户端缓存互斥的lease,包括了6个bit,从第六位到第九位分别标示读缓存(简称R),写缓存(简称W),句柄缓存(简称H)和排他缓存(简称F)。第十和十一位表示lease的数据缓存机制的类型Type,具体类型例如SMB协议的oplock、lease,NFSv4的委托。如表3所示:
R | W | H | F | Type |
表3
其中,F位用于无效其他文件锁中lease的R,W和H位,当协议需要修改数据的时候需要将F位置位。
Type值0代表oplock,值1代表SMB2协议的lease,值2代表NFSv4的委托。
通过上述内容确定文件锁中各标志位的用途之后,具体将所述第一协议的open对象映射为第一文件锁包括:
一、在本发明实施例中,因为文件锁是基于open对象生成的,而不同的协议会通过不同的方式生成open对象,对于内部会生成open对象的协议来说,如SMB,NFSv4等,则将所述第一协议的open对象映射为第一文件锁包括(如图3所示):
步骤301,确定第一协议的open对象是否有对文件系统的操作请求,如果有任一类型的操作请求,则将所述第一文件锁中与任一类型的操作对应的标志位置位;
第一协议的open对象是否有对文件系统的读、写、删除等请求,如果有对某一项或者几项的请求,则可以对应的将文件锁的AR、AW、AD标志位进行置位。例如:
标志位置1标示有请求,置0标示没有请求;则如果读和写有请求;删除没有,则对应的文件锁中的share lock中访问位(access bits)可以是表4的结构:
AR | AW | AD |
1 | 1 | 0 |
表4
步骤302,确定第一协议的open对象是否允许其他open对象操作所述文件系统,如果允许任一类型的操作,则将所述第一文件锁中与任一类型的操作对应的标志位置位;
第一协议的open对象如果允许其他open对象操作文件系统,即是否允许其他open对象读、写、删除文件系统的数据,如果允许某一项或者几项操作,则可以对应的将文件锁的DR、DW、DD标志位进行置位。例如:
标志位置1标示允许,置0标示不允许;则如果允许读和写操作;不允许删除操作,则对应的文件锁中的排他位(deny bits)可以是表5的结构:
DR | DW | DD |
1 | 1 | 0 |
表5
步骤303,确定第一协议的open对象是否请求客户端缓存,如果是,则将所述第一文件锁中与缓存对应的标志位置位。
二、当第一协议内部不会生成open对象,则可以生成临时的协议open对象,并将临时的协议open对象作为所述第一协议的open对象;然后再基于临时的协议open对象进行文件锁的生成。
根据上述方法形成open对象对应的文件锁之后,两个open对象就可以根据对应的文件锁进行互斥判断,根据预设的互斥规则将所述第一文件锁和上一次访问文件系统的第二协议对应的第二文件锁做冲突判断包括:
确定所述第二文件锁中的第一标志位与所述第一文件锁中对应的第二标志位不相同,则以所述第一标志位所指示的内容作为冲突判断的结果。
在本发明实施例中,如果利用列表形式对本发明实施例中的互斥规则进行标示,则具体实现可以是:
任意两个open锁之间是存在互斥的,互斥规则包括share lock的互斥和lease的互斥。
首先,share lock的互斥规则可以是:将第一个share lock的access bits和第二个share lock的deny bits进行位与,将第二个share lock的access bits和第一个sharelock的deny bits进行位与,若结果都为0,则无冲突,否则,产生冲突。基于此规则产生的冲突矩阵如表6所示(表中Y即是出现冲突的情况,0代表客户端对share lock没有做任何要求):
表6
用表6所示的矩阵进行share lock的互斥判断时,若客户端1的access bits是AW,客户端2的deny bits是DW,那么当客户端1先持有open锁的时候,客户端2再来请求open锁,就会产生权限冲突。
其次,lease的互斥规则为:F位为强制互斥位,作用是强制互斥掉其他lease中的R、W、H,主要用于需要改写数据的情况下强制召回文件系统上已有的文件锁。W位和H位,W位和W位,H位和H位两两互斥。据此规则形成的一个冲突矩阵如表7所示,其中x/x/x分别标示请求lease的结果、已有lease的结果和已有lease是否需要召回客户端缓存,Y表示召回,N表示不召回,0标示客户端对lease没有做任何要求。
表7
用表7所示的矩阵进行share lock的互斥判断时,若客户端1已经持有lease,级别是R,客户端2再来请求lease级别是RH,那么结果是R/R/N,即请求者只能授予R,已有lease还是R。没有F位置位,所以没有oplock或者lease召回,召回是指是否向已经持有lease的客户端发送召回请求,让该客户端的oplock或者lease降级。
如图4所示,本发明实施例还提供一种文件锁实现装置,第一协议访问文件系统时,该装置包括:
映射单元401,用于将所述第一协议的打开open对象映射为第一文件锁,其中,open对象是指一次打开open请求所产生的协议数据;
可选的,当第一协议内部能够生成open对象,则映射单元401具体用于确定第一协议的open对象是否有对文件系统的操作请求,如果有任一类型的操作请求,则将所述第一文件锁中与任一类型的操作对应的标志位置位;确定第一协议的open对象是否允许其他open对象操作所述文件系统,如果允许任一类型的操作,则将所述第一文件锁中与任一类型的操作对应的标志位置位;确定第一协议的open对象是否请求客户端缓存,如果是,则将所述第一文件锁中与缓存对应的标志位置位。
可选的,当第一协议内部不会生成open对象,则映射单元401还用于生成临时的协议open对象,并将所述临时的协议open对象作为所述第一协议的open对象。
冲突判断单元402,用于根据预设的互斥规则将所述第一文件锁和上一次访问文件系统的第二协议对应的第二文件锁做冲突判断,根据冲突判断结果返回创建open请求失败或者允许第一协议访问文件系统。
可选的,冲突判断单元402具体用于根据所述第二文件锁确定所述第二协议是否允许其他open对象操作所述文件系统;和/或,根据所述第二文件锁确定所述第二协议是否允许其他open对象缓存数据到所述文件系统。
可选的,冲突判断单元402具体用于当所述冲突判断结果为所述第二协议不允许其他open对象操作所述文件系统,则返回创建open请求失败;否则允许第一协议访问文件系统;当所述冲突判断结果为所述第二协议不允许其他open对象缓存数据到所述文件系统,则在召回第一协议已缓存的数据后,访问所述文件系统。
可选的,冲突判断单元402具体用于确定所述第二文件锁中的第一标志位与所述第一文件锁中对应的第二标志位不相同,则以所述第一标志位所指示的内容作为冲突判断的结果。
本申请实施例中的上述一个或多个技术方案,至少具有如下的技术效果:
在本发明实施例中,每次open请求都会根据对应的open对象生成一个文件锁,所以每个文件锁是与每个open对象对应的,不管第一协议和第二协议是否相同,只要前一次open请求对文件系统进行了加锁处理,则当前的open请求就需要依据互斥规则做互斥判断,只有当前的open请求对应的操作是文件系统已加文件锁允许的操作才能进行。所以本发明实施例提供的方法和装置,可以融合异种协议,做到多种协议客户端对文件系统访问的数据一致,从而保证了协议的完整性。
本发明所述的方法并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其它的实施方式,同样属于本发明的技术创新范围。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种文件锁实现方法,其特征在于,第一协议访问文件系统时,该方法包括:
将所述第一协议的打开open对象映射为第一文件锁,其中,open对象是指一次打开open请求所产生的协议数据;
根据预设的互斥规则将所述第一文件锁和上一次访问文件系统的第二协议对应的第二文件锁做冲突判断,根据冲突判断结果返回创建open请求失败或者允许第一协议访问文件系统;其中,所述第二文件锁是根据所述open对象生成的。
2.如权利要求1所述的方法,其特征在于,所述冲突判断包括;
根据所述第二文件锁确定所述第二协议是否允许其他open对象操作所述文件系统;和/或
根据所述第二文件锁确定所述第二协议是否允许其他open对象缓存数据到所述文件系统。
3.如权利要求2所述的方法,其特征在于,根据冲突判断结果返回创建open请求失败或者允许第一协议访问文件系统包括:
当所述冲突判断结果为所述第二协议不允许其他open对象操作所述文件系统,则返回创建open请求失败;否则允许第一协议访问文件系统;
当所述冲突判断结果为所述第二协议不允许其他open对象缓存数据到所述文件系统,则在召回第一协议已缓存的数据后,访问所述文件系统。
4.如权利要求1~3任一所述的方法,其特征在于,根据预设的互斥规则将所述第一文件锁和上一次访问文件系统的第二协议对应的第二文件锁做冲突判断包括:
确定所述第二文件锁中的第一标志位与所述第一文件锁中对应的第二标志位不相同,则以所述第一标志位所指示的内容作为冲突判断的结果。
5.如权利要求1~3任一所述的方法,其特征在于,当第一协议内部能够生成open对象,则将所述第一协议的open对象映射为第一文件锁包括:
确定第一协议的open对象是否有对文件系统的操作请求,如果有任一类型的操作请求,则将所述第一文件锁中与任一类型的操作对应的标志位置位;
确定第一协议的open对象是否允许其他open对象操作所述文件系统,如果允许任一类型的操作,则将所述第一文件锁中与任一类型的操作对应的标志位置位;
确定第一协议的open对象是否请求客户端缓存,如果是,则将所述第一文件锁中与缓存对应的标志位置位。
6.如权利要求4所述的方法,其特征在于,当第一协议内部能够生成open对象,则将所述第一协议的open对象映射为第一文件锁包括:
确定第一协议的open对象是否有对文件系统的操作请求,如果有任一类型的操作请求,则将所述第一文件锁中与任一类型的操作对应的标志位置位;
确定第一协议的open对象是否允许其他open对象操作所述文件系统,如果允许任一类型的操作,则将所述第一文件锁中与任一类型的操作对应的标志位置位;
确定第一协议的open对象是否请求客户端缓存,如果是,则将所述第一文件锁中与缓存对应的标志位置位。
7.如权利要求5所述的方法,其特征在于,当第一协议内部不会生成open对象,则确定第一协议的open对象是否有对文件系统的操作请求之前,该方法还包括:
生成临时的协议open对象,并将所述临时的协议open对象作为所述第一协议的open对象。
8.如权利要求6所述的方法,其特征在于,当第一协议内部不会生成open对象,则确定第一协议的open对象是否有对文件系统的操作请求之前,该方法还包括:
生成临时的协议open对象,并将所述临时的协议open对象作为所述第一协议的open对象。
9.一种文件锁实现装置,其特征在于,第一协议访问文件系统时,该装置包括:
映射单元,用于将所述第一协议的打开open对象映射为第一文件锁,其中,open对象是指一次打开open请求所产生的协议数据;
冲突判断单元,用于根据预设的互斥规则将所述第一文件锁和上一次访问文件系统的第二协议对应的第二文件锁做冲突判断,根据冲突判断结果返回创建open请求失败或者允许第一协议访问文件系统;其中,所述第二文件锁是根据所述open对象生成的。
10.如权利要求9所述的装置,其特征在于,冲突判断单元具体用于根据所述第二文件锁确定所述第二协议是否允许其他open对象操作所述文件系统;和/或,根据所述第二文件锁确定所述第二协议是否允许其他open对象缓存数据到所述文件系统。
11.如权利要求10所述的装置,其特征在于,冲突判断单元具体用于当所述冲突判断结果为所述第二协议不允许其他open对象操作所述文件系统,则返回创建open请求失败;否则允许第一协议访问文件系统;当所述冲突判断结果为所述第二协议不允许其他open对象缓存数据到所述文件系统,则在召回第一协议已缓存的数据后,访问所述文件系统。
12.如权利要求9~11任一所述的装置,其特征在于,冲突判断单元具体用于确定所述第二文件锁中的第一标志位与所述第一文件锁中对应的第二标志位不相同,则以所述第一标志位所指示的内容作为冲突判断的结果。
13.如权利要求9~11任一所述的装置,其特征在于,当第一协议内部能够生成open对象,则映射单元具体用于确定第一协议的open对象是否有对文件系统的操作请求,如果有任一类型的操作请求,则将所述第一文件锁中与任一类型的操作对应的标志位置位;确定第一协议的open对象是否允许其他open对象操作所述文件系统,如果允许任一类型的操作,则将所述第一文件锁中与任一类型的操作对应的标志位置位;确定第一协议的open对象是否请求客户端缓存,如果是,则将所述第一文件锁中与缓存对应的标志位置位。
14.如权利要求12所述的装置,其特征在于,当第一协议内部能够生成open对象,则映射单元具体用于确定第一协议的open对象是否有对文件系统的操作请求,如果有任一类型的操作请求,则将所述第一文件锁中与任一类型的操作对应的标志位置位;确定第一协议的open对象是否允许其他open对象操作所述文件系统,如果允许任一类型的操作,则将所述第一文件锁中与任一类型的操作对应的标志位置位;确定第一协议的open对象是否请求客户端缓存,如果是,则将所述第一文件锁中与缓存对应的标志位置位。
15.如权利要求13所述的装置,其特征在于,当第一协议内部不会生成open对象,则映射单元还用于生成临时的协议open对象,并将所述临时的协议open对象作为所述第一协议的open对象。
16.如权利要求14所述的装置,其特征在于,当第一协议内部不会生成open对象,则映射单元还用于生成临时的协议open对象,并将所述临时的协议open对象作为所述第一协议的open对象。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410616691.8A CN104463010B (zh) | 2014-10-31 | 2014-10-31 | 一种文件锁实现方法及装置 |
PCT/CN2015/080428 WO2016065897A1 (zh) | 2014-10-31 | 2015-05-30 | 一种文件锁实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410616691.8A CN104463010B (zh) | 2014-10-31 | 2014-10-31 | 一种文件锁实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104463010A CN104463010A (zh) | 2015-03-25 |
CN104463010B true CN104463010B (zh) | 2018-06-19 |
Family
ID=52909030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410616691.8A Active CN104463010B (zh) | 2014-10-31 | 2014-10-31 | 一种文件锁实现方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104463010B (zh) |
WO (1) | WO2016065897A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104463010B (zh) * | 2014-10-31 | 2018-06-19 | 华为技术有限公司 | 一种文件锁实现方法及装置 |
CN107180153A (zh) * | 2016-03-11 | 2017-09-19 | 中国石油化工股份有限公司 | 使用mpi实现全波形反演的方法和系统 |
CN107506386B (zh) * | 2017-07-26 | 2020-03-27 | 深圳市大迈科技有限公司 | 一种基于nas的数据聚合方法、装置、终端设备和存储介质 |
CN111708744B (zh) * | 2020-05-15 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 基于无状态协议维护文件锁的方法、系统、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1276568A (zh) * | 1999-06-04 | 2000-12-13 | 网络装置公司 | 多协议统一文件锁定 |
CN101111840A (zh) * | 2004-12-16 | 2008-01-23 | 甲骨文国际公司 | 用于在数据库管理系统中为文件操作提供锁定的技术 |
CN101236583A (zh) * | 2007-01-30 | 2008-08-06 | 三星电子株式会社 | 支持互斥功能的方法及其数字版权管理装置 |
CN103544189A (zh) * | 2012-07-17 | 2014-01-29 | 珠海金山办公软件有限公司 | 锁定正在编辑文件的方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475142B2 (en) * | 2002-12-06 | 2009-01-06 | Cisco Technology, Inc. | CIFS for scalable NAS architecture |
CN103067496B (zh) * | 2012-12-26 | 2015-09-30 | 华为技术有限公司 | 客户端缓存机制管理方法和服务器 |
CN104125235A (zh) * | 2014-08-11 | 2014-10-29 | 浪潮电子信息产业股份有限公司 | 一种集成多协议的一体化存储方法 |
CN104463010B (zh) * | 2014-10-31 | 2018-06-19 | 华为技术有限公司 | 一种文件锁实现方法及装置 |
-
2014
- 2014-10-31 CN CN201410616691.8A patent/CN104463010B/zh active Active
-
2015
- 2015-05-30 WO PCT/CN2015/080428 patent/WO2016065897A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1276568A (zh) * | 1999-06-04 | 2000-12-13 | 网络装置公司 | 多协议统一文件锁定 |
CN101111840A (zh) * | 2004-12-16 | 2008-01-23 | 甲骨文国际公司 | 用于在数据库管理系统中为文件操作提供锁定的技术 |
CN101236583A (zh) * | 2007-01-30 | 2008-08-06 | 三星电子株式会社 | 支持互斥功能的方法及其数字版权管理装置 |
CN103544189A (zh) * | 2012-07-17 | 2014-01-29 | 珠海金山办公软件有限公司 | 锁定正在编辑文件的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2016065897A1 (zh) | 2016-05-06 |
CN104463010A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102195351B1 (ko) | 블록체인 시스템과 데이터 저장 방법 및 장치 | |
US8554909B2 (en) | Reducing messaging in a client-server system | |
US9336406B2 (en) | Multiprotocol access control list with guaranteed protocol compliance | |
CN104463010B (zh) | 一种文件锁实现方法及装置 | |
US10693947B2 (en) | Interchangeable retrieval of sensitive content via private content distribution networks | |
CN109617896B (zh) | 一种基于智能合约的物联网访问控制方法和系统 | |
US20080271130A1 (en) | Minimizing client-side inconsistencies in a distributed virtual file system | |
CN104506647B (zh) | 一种数据存储系统及存储和访问方法 | |
CN105224255B (zh) | 一种存储文件管理方法及装置 | |
US11310204B2 (en) | Centralized access to data repository from a multi-cloud computing environment | |
US10019596B2 (en) | Collision avoidance in a distributed tokenization environment | |
CN103930881B (zh) | 托管存储锁定 | |
US9875372B2 (en) | Redacting restricted content in files | |
CN108897628A (zh) | 一种分布式锁的实现方法、装置及电子设备 | |
CN110222518A (zh) | 基于区块链的可信权能访问控制方法 | |
CN105338016B (zh) | 数据高速缓存方法和装置以及资源请求响应方法和装置 | |
US11489660B2 (en) | Re-encrypting data on a hash chain | |
Riordan et al. | The Janson inequalities for general up‐sets | |
CN109284624A (zh) | 一种基于区块链存储的数据安全隔离方法及装置 | |
CN109981569A (zh) | 网络系统访问方法、装置、计算机设备及可读存储介质 | |
CN108055299A (zh) | Portal页面推送方法、网络接入服务器及Portal认证系统 | |
Badaev et al. | Rogers semilattices of families of two embedded sets in the Ershov hierarchy | |
JP2009230662A (ja) | ウェブサイト判定装置及びウェブサイト判定プログラム | |
US7644286B1 (en) | System and method for restricting data access | |
KR102274493B1 (ko) | 온라인 게시글에 대한 분쟁 해결을 위한 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |