一种文件操作控制方法、装置、设备及存储介质

阅读: 评论:0

著录项
  • CN201911185715.8
  • 20191127
  • CN110928841A
  • 20200327
  • 深信服科技股份有限公司
  • 区雄骏
  • G06F16/13
  • G06F16/13 G06F16/176 G06F16/182

  • 广东省深圳市南山区学苑大道1001号南山智园A1栋一层
  • 广东(44)
  • 深圳市深佳知识产权代理事务所(普通合伙)
  • 夏欢
摘要
本申请公开了一种文件操作控制方法,应用于服务端,该方法包括以下步骤:接收目标客户端发送的针对目标文件的租约获取请求;在当前存在目标文件的第一租约的情况下,确定是否同意目标客户端的租约申请;如果确定同意目标客户端的租约申请,则向目标客户端返回租约申请成功信息,以使目标客户端持有目标文件的第二租约,对目标文件进行操作。应用本申请实施例所提供的技术方案,可避免目标文件的第一租约的持有客户端在对目标文件操作过程中,受到其他客户端对目标文件的操作的影响,同时,可以避免目标客户端对目标文件的操作受其他客户端的影响。本申请还公开了一种文件操作控制装置、设备及存储介质,具有相应技术效果。
权利要求

1.一种文件操作控制方法,其特征在于,应用于服务端,所述方法包括:

接收目标客户端发送的针对目标文件的租约获取请求;

在当前存在所述目标文件的第一租约的情况下,确定是否同意所述目标客户端的租约申请;

如果确定同意所述目标客户端的租约申请,则向所述目标客户端返回租约申请成功信息,以使所述目标客户端持有所述目标文件的第二租约,对所述目标文件进行操作。

2.根据权利要求1所述的方法,其特征在于,所述确定是否同意所述目标客户端的租约申请,包括:

向所述第一租约的持有客户端发送抢占通知;

根据所述第一租约的持有客户端的返回信息,确定是否同意所述目标客户端的租约申请。

3.根据权利要求2所述的方法,其特征在于,所述根据所述第一租约的持有客户端的返回信息,确定是否同意所述目标客户端的租约申请,包括:

如果所述第一租约的持有客户端的返回信息为允许信息,则确定同意所述目标客户端的租约申请。

4.根据权利要求3所述的方法,其特征在于,

所述允许信息为:所述第一租约的持有客户端挂起针对所述目标文件的输入输出操作之后,返回的租约释放信息;

或者,所述允许信息为:所述第一租约的持有客户端确定可与所述目标客户端同时持有所述目标文件的租约之后,返回的文件共享信息。

5.根据权利要求2所述的方法,其特征在于,所述根据所述第一租约的持有客户端的返回信息,确定是否同意所述目标客户端的租约申请,包括:

如果所述第一租约的持有客户端的返回信息为拒绝信息,则确定拒绝所述目标客户端的租约申请。

6.根据权利要求5所述的方法,其特征在于,所述拒绝信息为:所述第一租约的持有客户端确定需独自持有所述目标文件的租约之后,返回的文件独占信息。

7.根据权利要求1所述的方法,其特征在于,所述确定是否同意所述目标客户端的租约申请,包括:

根据数据库中记录的所述第一租约的属性信息,确定是否同意所述目标客户端的租约申请。

8.根据权利要求1至7之中任一项所述的方法,其特征在于,在所述接收目标客户端发送的针对目标文件的租约获取请求之后,还包括:

在当前不存在所述目标文件的第一租约的情况下,执行所述向所述目标客户端返回租约申请成功信息的步骤。

9.一种文件操作控制装置,其特征在于,应用于服务端,所述装置包括:

请求接收模块,用于接收目标客户端发送的针对目标文件的租约获取请求;

申请同意与否确定模块,用于在当前存在所述目标文件的第一租约的情况下,确定是否同意所述目标客户端的租约申请;

信息返回模块,用于如果确定同意所述目标客户端的租约申请,则向所述目标客户端返回租约申请成功信息,以使所述目标客户端持有所述目标文件的第二租约,对所述目标文件进行操作。

10.一种文件操作控制设备,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述文件操作控制方法的步骤。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述文件操作控制方法的步骤。

说明书
技术领域

本申请涉及计算机应用技术领域,特别是涉及一种文件操作控制方法、装置、设备及存储介质。

在存储系统中,客户端经常会有对文件的各种操作,如输入输出(Input/Output,IO)操作、创建快照操作等。如果不同客户端同时对一个文件进行操作,可能会导致某个操作无法达到预期结果。比如,客户端A在执行对文件1的输入输出操作,而且已经读取到文件1,在对文件1进行修改时,客户端B已经对文件1进行了修改,则可能导致客户端A对文件1的修改出错。

所以,如何实现对文件操作的控制,是本领域技术人员急需解决的技术问题。

本申请的目的是提供一种文件操作控制方法、装置、设备及存储介质,以实现对文件操作的控制。

为解决上述技术问题,本申请提供如下技术方案:

一种文件操作控制方法,应用于服务端,所述方法包括:

接收目标客户端发送的针对目标文件的租约获取请求;

在当前存在所述目标文件的第一租约的情况下,确定是否同意所述目标客户端的租约申请;

如果确定同意所述目标客户端的租约申请,则向所述目标客户端返回租约申请成功信息,以使所述目标客户端持有所述目标文件的第二租约,对所述目标文件进行操作。

在本申请的一种具体实施方式中,所述确定是否同意所述目标客户端的租约申请,包括:

向所述第一租约的持有客户端发送抢占通知;

根据所述第一租约的持有客户端的返回信息,确定是否同意所述目标客户端的租约申请。

在本申请的一种具体实施方式中,所述根据所述第一租约的持有客户端的返回信息,确定是否同意所述目标客户端的租约申请,包括:

如果所述第一租约的持有客户端的返回信息为允许信息,则确定同意所述目标客户端的租约申请。

在本申请的一种具体实施方式中,

所述允许信息为:所述第一租约的持有客户端挂起针对所述目标文件的输入输出操作之后,返回的租约释放信息;

或者,所述允许信息为:所述第一租约的持有客户端确定可与所述目标客户端同时持有所述目标文件的租约之后,返回的文件共享信息。

在本申请的一种具体实施方式中,所述根据所述第一租约的持有客户端的返回信息,确定是否同意所述目标客户端的租约申请,包括:

如果所述第一租约的持有客户端的返回信息为拒绝信息,则确定拒绝所述目标客户端的租约申请。

在本申请的一种具体实施方式中,所述拒绝信息为:所述第一租约的持有客户端确定需独自持有所述目标文件的租约之后,返回的文件独占信息。

在本申请的一种具体实施方式中,所述确定是否同意所述目标客户端的租约申请,包括:

根据数据库中记录的所述第一租约的属性信息,确定是否同意所述目标客户端的租约申请。

在本申请的一种具体实施方式中,在所述接收目标客户端发送的针对目标文件的租约获取请求之后,还包括:

在当前不存在所述目标文件的第一租约的情况下,执行所述向所述目标客户端返回租约申请成功信息的步骤。

一种文件操作控制装置,应用于服务端,所述装置包括:

请求接收模块,用于接收目标客户端发送的针对目标文件的租约获取请求;

申请同意与否确定模块,用于在当前存在所述目标文件的第一租约的情况下,确定是否同意所述目标客户端的租约申请;

信息返回模块,用于如果确定同意所述目标客户端的租约申请,则向所述目标客户端返回租约申请成功信息,以使所述目标客户端持有所述目标文件的第二租约,对所述目标文件进行操作。

一种文件操作控制设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一项所述文件操作控制方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述文件操作控制方法的步骤。

应用本申请实施例所提供的技术方案,服务端在接收到目标客户端发送的针对目标文件的租约获取请求之后,在当前存在目标文件的第一租约的情况下,确定是否同意目标客户端的租约申请,如果确定同意,则向目标客户端返回租约申请成功信息,以使目标客户端持有针对目标文件的第二租约,对目标文件进行操作。通过租约,对目标文件的操作权利进行控制,可避免目标文件的第一租约的持有客户端在对目标文件操作过程中,受到其他客户端对目标文件的操作的影响,同时,可以避免目标客户端对目标文件的操作受其他客户端的影响。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中一种文件操作控制方法的实施流程图;

图2为本申请实施例中一种在创建快照场景中文件操作控制时序流程图;

图3为本申请实施例中一种文件操作控制装置的结构示意图;

图4为本申请实施例中一种文件操作控制设备的结构示意图。

本申请的核心是提供一种文件操作控制方法,该方法可以应用于服务端,该服务端可以是针对于存储系统的一个磁盘中数据的服务端,还可以是针对于存储系统的所有磁盘中数据的服务端。

服务端在接收到目标客户端发送的针对目标文件的租约获取请求时,可以在当前存在目标文件的第一租约的情况下,确定是否同意目标客户端的租约申请,如果确定同意,则向目标客户端返回租约申请成功信息,以使目标客户端持有目标文件的第二租约,对目标文件进行操作。这样可避免目标文件的第一租约的持有客户端在对目标文件操作过程中,受到其他客户端对目标文件的操作的影响,同时,可以避免目标客户端对目标文件的操作受其他客户端的影响。

本申请中,存储系统可以包括多个主机,每个主机的一个磁盘上可运行一个服务端,或者同一服务端对应于所有主机的所有磁盘,客户端上运行了虚拟机,虚拟机可以通过客户端向服务端发起请求,对服务端所管控范围内的磁盘中数据进行操作。

为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

参见图1所示,为本申请实施例所提供的一种文件操作控制方法的实施流程图,包括以下步骤:

S110:接收目标客户端发送的针对目标文件的租约获取请求。

本申请中,通过租约限定服务端授予客户端修改文件数据的权利。在实际应用中,当客户端有进行文件操作需求时,将会向相应的服务端发送租约获取请求。目标客户端可以是存储系统的任意一个客户端,目标文件为在服务端管控范围内的一个文件,或者为在服务端管控范围内的一个文件的首分片。

在接收到目标客户端发送的针对目标文件的租约获取请求之后,可以继续执行步骤S120的操作。

S120:在当前存在目标文件的第一租约的情况下,则确定是否同意目标客户端的租约申请。

在本申请实施例中,服务端在接收到目标客户端发送的针对目标文件的租约获取请求之后,可以先查看当前是否存在目标文件的第一租约,当前存在的目标文件的租约都可称为第一租约。

如果当前存在目标文件的第一租约,则表明当前已授权给其他客户端对目标文件进行操作,第一租约的持有客户端可能正在对目标文件进行操作。在这种情况下,可以进一步确定是否同意目标客户端的租约申请。

具体的,可以基于服务端自身所存储的第一租约的属性信息进行确定。还可以通过第一租约的持有客户端进行确定。

如果当前不存在目标文件的第一租约,则表明当前未授权给其他客户端对目标文件进行操作,可以直接确定同意目标客户端的租约申请。

S130:如果确定同意目标客户端的租约申请,则向目标客户端返回租约申请成功信息,以使目标客户端持有目标文件的第二租约,对目标文件进行操作。

如果确定同意目标客户端的租约申请,则表明可以授权给目标客户端对目标文件的操作,可以向目标客户端返回租约申请成功信息,这样目标客户端可以持有目标文件的第二租约,对目标文件进行操作。

如果确定拒绝目标客户端的租约申请,则表明不能够授权给目标客户端对目标文件的操作,可以向目标客户端返回租约申请失败信息,这样目标客户端可以根据实际需要,间隔设定时长后再次发起对目标文件的租约获取请求。

应用本申请实施例所提供的方法,服务端在接收到目标客户端发送的针对目标文件的租约获取请求之后,在当前存在目标文件的第一租约的情况下,确定是否同意目标客户端的租约申请,如果确定同意,则向目标客户端返回租约申请成功信息,以使目标客户端持有针对目标文件的第二租约,对目标文件进行操作。通过租约,对目标文件的操作权利进行控制,可避免目标文件的第一租约的持有客户端在对目标文件操作过程中,受到其他客户端对目标文件的操作的影响,同时,可以避免目标客户端对目标文件的操作受其他客户端的影响。

在本申请的一种具体实施方式中,步骤S120中确定是否同意目标客户端的租约申请,可以包括以下步骤:

步骤一:向第一租约的持有客户端发送抢占通知;

步骤二:根据第一租约的持有客户端的返回信息,确定是否同意目标客户端的租约申请。

为方便描述,将上述两个步骤结合起来进行说明。

在本申请实施例中,服务端在接收到目标客户端发送的针对目标文件的租约获取请求时,如果确定当前存在目标文件的第一租约,则可以向第一租约的持有客户端发送抢占通知,以告知第一租约的持有客户端当前有针对目标文件的租约申请。第一租约的持有客户端可以根据实际情况,确定是否同意该目标客户端的租约申请,并向服务端返回相应的信息。服务端根据第一租约的持有客户端的返回信息,可以确定是否同意目标客户端的租约申请。

在实际应用中,第一租约的持有客户端已被授权对目标文件的操作。服务端向第一租约的持有客户端发送的抢占通知中可以携带目标客户端的属性信息。第一租约的持有客户端接收到抢占通知后,可以获得目标客户端的属性信息,根据自身情况和/或目标客户端的属性信息,可以确定向服务端返回允许信息还是拒绝信息。

具体的,可以有以下几种情况:

第一种,第一租约的持有客户端根据目标客户端的属性信息,确定目标客户端所要执行操作的优先级相较于自身所执行操作的优先级更高,在这种情况下,可以暂停自身对目标文件的操作,向服务端返回允许信息;如第一租约的持有客户端在对目标文件执行输入输出操作,目标客户端所要执行操作为创建快照操作,根据预设规则,创建快照操作相较于输入输出操作的优先级更高,第一租约的持有客户端可以挂起对目标文件的输入输出操作,向服务端返回允许信息;

第二种,第一租约的持有客户端根据目标客户端的属性信息,确定目标客户端所要执行操作的优先级相较于自身所执行操作的优先级更低,在这种情况下,可以继续对目标文件的操作,向服务端返回拒绝信息;如第一租约的持有客户端在对目标文件执行创建快照操作,目标客户端所要执行操作为输入输出操作,根据预设规则,输入输出操作相较于创建快照操作的优先级更高,第一租约的持有客户端可以继续对目标文件执行创建快照操作,向服务端返回拒绝信息;

第三种,第一租约的持有客户端根据目标客户端的属性信息,确定可与目标客户端同时持有目标文件的租约,在这种情况下,可以继续对目标文件的操作,向服务端返回允许信息;如第一租约的持有客户端在对目标文件执行读取操作,目标客户端所要执行的操作也为读取操作,同时对目标文件进行读取操作相互之间不会产生影响,第一租约的持有客户端可以继续对目标文件的操作,向服务端返回允许信息。

需要说明的是,上述这三种情况仅为示例,在实际应用中,可以根据实际情况设定相应规则,使得客户端可以进行准确判断。

如果第一租约的持有客户端的返回信息为允许信息,则确定同意目标客户端的租约申请。该允许信息可以是,第一租约的持有客户端挂起针对目标文件的输入输出操作之后,返回的租约释放信息,还可以是第一租约的持有客户端确定可与目标客户端同时持有目标文件的租约之后,返回的文件共享信息。也就是说,第一租约的持有客户端在接收到服务端发送的抢占通知时,确定可以同意目标客户端的租约申请,可以挂起针对目标文件的输入输出操作,然后向服务端返回租约释放信息,该租约释放信息即可视为允许信息。另外,第一租约的持有客户端确定可与目标客户端同时持有目标文件的租约之后,可以向服务端返回文件共享信息,表明可与目标客户端同时持有目标文件的租约,同意目标客户端的租约申请,该文件共享信息即可视为允许信息。

如果第一租约的持有客户端的返回信息为拒绝信息,则可以确定拒绝目标客户端的租约申请。该拒绝信息可以是,第一租约的持有客户端确定需独自持有目标文件的租约之后,返回的文件独占信息。也就是说,第一租约的持有客户端当前对于目标文件的操作不能够受到其他客户端操作的影响,需独自持有目标文件的租约。如第一租约的持有客户端当前正在对目标文件执行创建快照操作,不能够受到其他客户端操作的影响。在这种情况下,可以返回文件独占信息,该文件独占信息可视为拒绝信息。

在本申请实施例中,服务端在接收到目标客户端发送的针对目标文件的租约获取请求时,在当前存在目标文件的第一租约的情况下,向第一租约的持有客户端发送抢占通知,根据第一租约的持有客户端的返回信息,确定是否同意目标客户端的租约申请。将是否同意目标客户端的租约申请的实际决定权交给目标文件的第一租约的持有客户端,可以提高判断准确性。

在本申请的一个实施例中,步骤S120中确定是否同意目标客户端的租约申请,还可以包括以下步骤:

根据数据库中记录的第一租约的属性信息,确定是否同意目标客户端的租约申请。

在本申请实施例中,服务端在授权客户端对文件的操作时,可以在数据库中记录相应租约的属性信息,如该租约所对应操作,该租约时长等。

服务端在接收到目标客户端发送的针对目标文件的租约获取请求之后,在当前存在目标文件的第一租约的情况下,可以在数据库中查询得到第一租约的属性信息,根据第一租约的属性信息,可以确定是否同意目标客户端的租约申请。

具体的,如果第一租约对应操作的优先级高于目标客户端所要执行操作的优先级,则可以拒绝目标客户端的租约申请,如果第一租约对应操作的优先级低于目标客户端所要执行操作的优先级,则可以向第一租约的持有客户端发送租约释放指令,并在接收到第一租约的持有客户端的租约释放完成信息后,同意目标客户端的租约申请。

当然,服务端还可以基于其他预设规则根据第一租约的属性信息,确定是否同意目标客户端的租约申请。本申请实施例不再赘述。

在本申请实施例中,服务端在接收到目标客户端发送的针对目标文件的租约获取请求时,在当前存在目标文件的第一租约的情况下,直接根据数据库中记录的第一租约的属性信息,确定是否同意目标客户端的租约申请。在服务端对租约进行整体把控,可以提高对于目标客户端的租约申请的响应速度。

在本申请的一个实施例中,在步骤S110接收目标客户端发送的针对目标文件的租约获取请求之后,该方法还可以包括以下步骤:

在当前不存在目标文件的第一租约的情况下,执行向目标客户端返回租约申请成功信息的步骤。

在本申请实施例中,服务端在接收到目标客户端发送的针对目标文件的租约获取请求后,可以先查看当前是否存在目标文件的第一租约,如果当前不存在目标文件的第一租约,即表明当前不存在对于目标文件的操作。可以直接向目标客户端返回租约申请成功信息,这样目标客户端可以持有目标文件的第二租约,对目标文件进行操作。以快速响应目标客户端的租约申请。

为便于理解,下面对本申请实施例的具体应用场景进行说明。

在实际应用中,可以将本申请实施例应用到解决进行创建快照操作时出现的非一致性问题的场景中。

首先,解释几个概念。

快照:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。快照的作用主要是能够进行在线数据备份与恢复。当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复某个可用的时间点的状态;

一致性:数据的一致性问题一般是指数据前后之间的逻辑关系是否一致;

一致性组:一致性组包含一组文件,对一致性组创建快照,将同时对一致性组内所有文件创建快照,并保证快照数据的一致性。

如果在某一时刻对两个文件,如文件1和文件2同时进行创建快照操作,期望保存数据在当前时刻的可用副本。服务端收到创建快照的请求后,分别对各个文件执行创建快照操作。

实际时序为:

对文件1创建快照;

文件1收到写入操作,写入IOA;

文件2收到写入操作,写入IOB;

对文件2创建快照。

经过上述时序,最终创建出来的快照,文件1不包含IOA,文件2包含IOB,如果IOB依赖于IOA,则从此快照恢复出来的数据,其数据一致性受损。

一致性组快照可以解决多文件快照的数据一致性问题,即同时对一致性组中文件执行创建快照操作。下面对应用本申请实施例方案进行创建快照具体过程进行详细描述。

如图2所示,假设存在客户端1、客户端2、客户端3和服务端,文件1和文件2均在服务端的管控范围内,且文件1和文件2为一致性组中文件。

客户端2在要对文件1执行IO操作时,向服务端发起对文件1的租约获取请求,在当前不存在文件1的任何租约的情况下,服务端同意客户端2的租约申请,向客户端2返回租约申请成功信息,客户端2对文件1进行IO操作;

同样,客户端3在要对文件2执行IO操作时,向服务端发起对文件2的租约获取请求,在当前不存在文件2的任何租约的情况下,服务端同意客户端3的租约申请,向客户端3返回租约申请成功信息,客户端3对文件2进行IO操作;

客户端1在要对一致性组进行创建快照操作(创建快照可以是用户触发的)时,向服务端发起对文件1、文件2的租约获取请求,服务端在当前存在文件1的租约和文件2的租约的情况下,分别向客户端2和客户端3发送抢占通知,客户端2挂起文件1的IO后,向服务端返回租约释放信息,客户端3挂起文件2的IO后,向服务端返回租约释放信息,服务端在接收到租约释放信息后,在分别释放客户端1、客户端2持有的租约后,可以分别向客户端2和客户端3返回释放成功信息,并向客户端1返回租约申请成功信息,客户端1持有文件1、文件2的租约,可以对文件1、文件2进行创建快照操作。

通过上述实施过程,使用租约机制可以控制客户端对文件操作的权利,可以实现为避免出现一致性问题所必需的文件IO挂起功能。

实际上,对于文件IO的挂起和恢复,还可以通过在服务端增加文件锁来实现。文件IO在写入前,对相应的范围加锁,写入完成后再释放锁,如果锁请求阻塞,则写入IO也阻塞。如果需要挂起文件IO,则需对文件的整个范围加锁,一旦加锁成功,则文件IO的所有加锁请求都将阻塞。

这种方式对于没有文件分片的系统来说比较简单。但是,如果存储系统对文件在客户端进行了分片,每个分片在服务端作为一个独立对象进行处理,则对文件IO进行挂起时,需要对所有分片发送加锁请求,对于分片数量很多的文件来说,不单影响创建快照的时间,也可能导致用户IO长时间挂起,影响业务。

而本申请实施例,通过租约机制实现对客户端进行文件操作的控制。在服务端提供租约机制,客户端在发起文件IO前,先向服务端申请一个租约,此租约代表服务端授予客户端修改文件数据的权利。发起创建快照的客户端需要挂起文件IO,也向服务端申请一个租约,当服务端发现文件已经存在一个租约时,负责发送抢占通知给该租约的持有客户端,该租约的持有客户端收到抢占通知后,挂起文件IO,然后释放自身持有的租约,一旦业务持有的租约释放,则快照创建操作申请的租约即可以加上,此时已经确保文件的IO被挂起,因此可以继续执行创建快照的后续步骤。由于租约申请只针对文件,所以即使一个文件包含大量分片,也只需申请一次租约,与使用服务端加锁的方案相比,可以缩短创建快照过程中IO挂起时间。

相应于上面的方法实施例,本申请实施例还提供了一种文件操作控制装置,应用于服务端,下文描述的文件操作控制装置与上文描述的文件操作控制方法可相互对应参照。

参见图3所示,该装置可以包括以下步骤:

请求接收模块310,用于接收目标客户端发送的针对目标文件的租约获取请求;

申请同意与否确定模块320,用于在当前存在目标文件的第一租约的情况下,确定是否同意目标客户端的租约申请;

信息返回模块330,用于如果确定同意目标客户端的租约申请,则向目标客户端返回租约申请成功信息,以使目标客户端持有目标文件的第二租约,对目标文件进行操作。

应用本申请实施例所提供的装置,服务端在接收到目标客户端发送的针对目标文件的租约获取请求之后,在当前存在目标文件的第一租约的情况下,确定是否同意目标客户端的租约申请,如果确定同意,则向目标客户端返回租约申请成功信息,以使目标客户端持有针对目标文件的第二租约,对目标文件进行操作。通过租约,对目标文件的操作权利进行控制,可避免目标文件的第一租约的持有客户端在对目标文件操作过程中,受到其他客户端对目标文件的操作的影响,同时,可以避免目标客户端对目标文件的操作受其他客户端的影响。

在本申请的一种具体实施方式中,申请同意与否确定模块320,包括:

通知发送子模块,用于向第一租约的持有客户端发送抢占通知;

申请同意与否确定子模块,用于根据第一租约的持有客户端的返回信息,确定是否同意目标客户端的租约申请。

在本申请的一种具体实施方式中,申请同意与否确定子模块,具体用于:

如果第一租约的持有客户端的返回信息为允许信息,则确定同意目标客户端的租约申请。

在本申请的一种具体实施方式中,

允许信息为:第一租约的持有客户端挂起针对目标文件的输入输出操作之后,返回的租约释放信息;

或者,允许信息为:第一租约的持有客户端确定可与目标客户端同时持有目标文件的租约之后,返回的文件共享信息。

在本申请的一种具体实施方式中,申请同意与否确定子模块,具体用于:

如果第一租约的持有客户端的返回信息为拒绝信息,则确定拒绝目标客户端的租约申请。

在本申请的一种具体实施方式中,拒绝信息为:第一租约的持有客户端确定需独自持有目标文件的租约之后,返回的文件独占信息。

在本申请的一种具体实施方式中,申请同意与否确定模块320,具体用于:

根据数据库中记录的第一租约的属性信息,确定是否同意目标客户端的租约申请。

在本申请的一种具体实施方式中,信息返回模块330,还用于:

在接收目标客户端发送的针对目标文件的租约获取请求之后,在当前不存在目标文件的第一租约的情况下,执行向目标客户端返回租约申请成功信息的步骤。

相应于上面的方法实施例,本申请实施例还提供了一种文件操作控制设备,如图4所示,该设备包括:

存储器410,用于存储计算机程序;

处理器420,用于执行计算机程序时实现上述文件操作控制方法的步骤。

相应于上面的方法实施例,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述文件操作控制方法的步骤。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

本文发布于:2023-04-13 19:14:37,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/86674.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图