CN114490516A - 文件***的处理方法、回收站管理方法、装置及设备 - Google Patents
文件***的处理方法、回收站管理方法、装置及设备 Download PDFInfo
- Publication number
- CN114490516A CN114490516A CN202210114765.2A CN202210114765A CN114490516A CN 114490516 A CN114490516 A CN 114490516A CN 202210114765 A CN202210114765 A CN 202210114765A CN 114490516 A CN114490516 A CN 114490516A
- Authority
- CN
- China
- Prior art keywords
- file
- directory
- file system
- metadata
- directory tree
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种文件***的处理方法、回收站管理方法、装置及设备。该方法包括:取应用程序针对文件***的操作指令;若操作指令为删除指令,将文件***的文件***目录树中操作指令针对的目录/文件的元数据,从文件***目录树中删除并保存至文件***的回收目录树中,并在操作指令针对的是文件时,将回收目录树中文件的元数据与用于描述文件的存储位置的元数据进行关联,以实现将操作指令针对的目录/文件放入文件***的回收站中。该方法能够防止出现由于目录/文件被误删除导致应用程序无法正常出现的情况,避免对用户造成损失。
Description
技术领域
本申请涉及文件存储技术领域,尤其涉及一种文件***的处理方法、回收站管理方法、装置及设备。
背景技术
网络附属存储(Network Attached Storage,NAS)是一个可共享访问,弹性扩展,高可靠,高性能的文件***。它基于可移植操作***接口(Portable Operating SystemInterface,POSIX)文件接口,天然适配原生操作***,为应用程序提供共享访问。
在实际应用中,存在文件***中的文件或目录被应用程序误删除的情况。例如,由于运维人员的误操作误删文件***中的目录/文件,或者,由于应用程序的异常误删文件***中的目录/文件。通常,响应于针对文件***的目录/文件的删除指令,是将目录/文件的元数据直接从文件***目录树中删除,且被删除的目录/文件无法被恢复。因此,会出现由于目录/文件被误删,导致应用程序无法正常使用,为用户带来损失。
发明内容
本申请实施例提供一种文件***的处理方法、回收站管理方法、装置及设备,用以解决现有技术中由于目录/文件被误删,导致应用程序无法正常使用,为用户带来损失的问题。
第一方面,本申请实施例提供一种文件***的处理方法,包括:
获取应用程序针对所述文件***的操作指令;
若所述操作指令为删除指令,将所述文件***的文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***目录树中删除并保存至所述文件***的回收目录树中,并在所述操作指令针对的是文件时,将所述回收目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述操作指令针对的所述目录/文件放入所述文件***的回收站中。
第二方面,本申请实施例提供一种文件***的回收站管理方法,包括:
获取用户针对所述文件***的恢复命令;
将所述恢复命令针对的目录/文件的元数据,从所述文件***的回收目录树中删除并保存至所述文件***的文件***目录树中,并在所述恢复指令针对的是文件时,将所述文件***目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述恢复指令针对的所述目录/文件从所述文件***的回收站中恢复。
第三方面,本申请实施例提供一种文件***的处理装置,包括:
获取模块,用于获取应用程序针对所述文件***的操作指令;
删除模块,用于若所述操作指令为删除指令,将所述文件***的文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***目录树中删除并保存至所述文件***的回收目录树中,并在所述操作指令针对的是文件时,将所述回收目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述操作指令针对的所述目录/文件放入所述文件***的回收站中。
第四方面,本申请实施例提供一种文件***的回收站管理方法,包括:
获取模块,用于获取用户针对所述文件***的恢复命令;
恢复模块,用于将所述恢复命令针对的目录/文件的元数据,从所述文件***的回收目录树中删除并保存至所述文件***的文件***目录树中,并在所述恢复指令针对的是文件时,将所述文件***目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述恢复指令针对的所述目录/文件从所述文件***的回收站中恢复。
第五方面,本申请实施例提供一种计算设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如第一方面中任一项所述的方法。
第六方面,本申请实施例提供一种计算设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如第二方面中任一项所述的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如第一方面中任一项所述的方法。
第八方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如第二方面中任一项所述的方法。
本申请实施例还提供一种计算机程序,当所述计算机程序被计算机执行时,用于实现如第一方面任一项所述的方法。
本申请实施例还提供一种计算机程序,当所述计算机程序被计算机执行时,用于实现如第二方面任一项所述的方法。
在本申请实施例中,在获取到应用程序针对文件***的操作指令后,若操作指令为删除指令,可以将文件***的文件***目录树中操作指令针对的目录/文件的元数据,从文件***目录树中删除并保存至文件***的回收站目录树中,并在操作指令针对的是文件时,将回收目录树中该文件的元数据与用于描述该文件的存储位置的元数据进行关联,以实现将操作指令针对的目录/文件放入文件***的回收站中,使得在出现由于运维人员误操作或者应用程序异常等原因,导致应用程序对文件***中的目录/文件误删除的情况时,可以将误删除的目录/文件从文件***的回收站中恢复,因此能够防止出现由于目录/文件被误删除导致应用程序无法正常出现的情况,避免对用户造成损失。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1和图2为本申请实施例提供的方法的应用场景示意图;
图3为本申请一实施例提供的文件***的处理方法的流程示意图;
图4A为本申请一实施例提供的文件***目录树的示意图;
图4B为本申请一实施例提供的回收目录树的示意图;
图5为本申请一实施例提供的文件***的回收站管理方法的流程示意图;
图6为本申请实施例提供的件***的回收站的实现框图;
图7为本申请一实施例提供的文件***的处理装置的结构示意图;
图8为本申请一实施例提供的计算设备的结构示意图;
图9为本申请一实施例提供的文件***的回收站管理装置的结构示意图;
图10为本申请另一实施例提供的计算设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者***所固有的要素。在没有更多限制情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者***中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图1为本申请实施例提供的方法的应用场景示意图。如图1所示,该应用场景中可以包括:第一计算设备11、第二计算设备12和文件***13,文件***13包括至少一个第三计算设备13A和多个存储设备13B。第一计算设备11上可以运行有用户的应用程序,文件***13可以挂载到第一计算设备11上,第一计算设备11上运行的应用程序可以通过操作***提供的POSIX接口读取文件***13的存储设备13B中存储的目录/文件。
其中,第一计算设备11上运行的应用程序可以向第二计算设备12发送用于请求操作文件***13的符合标准协议的报文,第二计算设备12可以解析报文获得针对文件***13的操作指令。标准协议例如可以为网络文件***(Network File System,NFS)协议或服务器消息块(Server Message Block,SMB)协议等。第三计算设备13A可以对应用程序针对文件***13的操作指令进行相应的处理。
需要说明的是,图1中解析报文获得操作指令的计算设备,与文件***13中的计算设备为不同的计算设备仅为举例。
通常,第三计算设备13A获取到应用程序针对文件***的删除指令后,是直接将删除指令针对的目录/文件的元数据从文件***13的文件***目录树中删除,且文件***目录树中文件的元数据的删除会触发文件的数据的删除,从而使得被删除的目录/文件无法被恢复。因此,会出现由于目录/文件被误删,导致应用程序无法正常使用,为用户带来损失。
为了解决由于目录/文件被误删,导致应用程序无法正常使用,为用户带来损失的技术问题,如图1所示,在本申请实施例中,第三计算设备13A在获取到应用程序针对文件***13的操作指令后,若操作指令为删除指令,可以将文件***13的文件***目录树中操作指令针对的目录/文件的元数据,从文件***目录树中删除并保存至文件***13的回收站目录树中,并在操作指令针对的是文件时,将回收目录树中该文件的元数据与用于描述该文件的存储位置的元数据进行关联,以实现将操作指令针对的目录/文件放入文件***13的回收站中,使得在出现由于运维人员误操作或者应用程序异常等原因,导致应用程序对文件***中的目录/文件误删除的情况时,可以将误删除的目录/文件从文件***13的回收站中恢复,因此能够防止出现由于目录/文件被误删除导致应用程序无法正常出现的情况,避免对用户造成损失。
如图2所示,该应用场景中还可以包括第四计算设备14和第五计算设备15。第四计算设备14可以用于用户对文件***13进行管控操作,响应于用户的管控操作,第四计算设备14可以向第五计算设备15发送相应的请求报文(例如http请求报文),第五计算设备15可以基于第四计算设备14发送的请求报文得到对应的管控命令。第三计算设备13A可以从第五计算设备15获取用户针对文件***的管控命令,并基于获取到的管控命令进行管控处理。
需要说明的是,图2中解析报文获得管控命令的计算设备,与文件***13中的计算设备为不同的计算设备仅为举例。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突情况下,下述的实施例及实施例中的特征可以相互组合。
图3为本申请一实施例提供的文件***的处理方法的流程示意图,本实施例的执行主体可以为图1中的第三计算设备13A。如图3所示,本实施例的方法可以包括:
步骤31,获取应用程序针对所述文件***的操作指令;
步骤32,若所述操作指令为删除指令,将所述文件***的文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***目录树中删除并保存至所述文件***的回收目录树中,并在所述操作指令针对的是文件时,将所述回收目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述操作指令针对的所述目录/文件放入所述文件***的回收站中。
本申请实施例中,计算设备13A获取的应用程序针对文件***13的操作指令可能是针对文件***13的删除指令,也可能是针对文件***13的其他指令,例如读指令、写指令、重命名指令等。
可选的,在步骤32之前可以包括:确定操作指令针对的目录/文件是否在文件***的回收站中;如果确定操作***针对的目录/文件不在回收站中,可以执行步骤22,从而可以避免出现在进行与操作指令相应的处理时,操作指令针对的目录/文件已被删除的情况。
进一步可选的,如果确定操作***针对的目录/文件在回收站中,还可以返回错误提示信息,错误提示信息可以用于提示操作指令针对的目录/文件不存在,以便于应用程序可以获知操作失败的原因。
在本申请实施例中,若操作指令为删除指令,可以将文件***的文件***目录树中操作指令针对的目录/文件的元数据,从文件***目录树中删除并保存至文件***的回收目录树中。
其中,文件***的回收站的目录/文件可以采用和文件***独立的名字空间,文件***的目录树即为文件***目录树,回收站的目录树即为回收目录树,回收目录树中的元数据用于用户对误删的目录/文件进行恢复。以文件***名字空间是一颗以“/”作为根节点的目录树为例,文件***目录树例如可以如图4A所示,其中,dir可以表示目录的元数据,file可以表示文件的元数据,灰色虚线框可以表示从文件***目录树中删除的目录和文件的元数据。进一步的,以回收站名字空间是一颗以“RecycleBin”作为根节点的目录树为例,回收站目录树例如可以如图4B所示,其中的目录和文件的元数据是从图4A所示的文件***目录树中删除的目录和文件的元数据。
另外,如图4B所示,为了便于区分哪些目录和文件被放入回收站中,例如可以将回收目录树中目录和文件的属性中的一个状态属性设置为删除(Deleted)状态,还可以将文件***目录树中文件和目录的属性中的该状态属性设置为正常(Normal)状态。基于此,前述确定操作指令针对的目录/文件是否在回收站中,具体可以包括:确定操作指令针对的目录/文件的该状态属性是否为删除状态。操作指令针对的目录/文件的该状态属性不为删除状态,表示操作指令针对的目录/文件不在回收站中,否则,表示操作指令针对的目录/文件在回收站中。
示例性的,文件***目录树和回收目录树均可以采用键(key)-值(value)方式进行存储。
需要说明的是,文件***目录树中文件的元数据可以是文件的部分元数据。其中,用于描述文件的目录结构关系以及文件的创建时间,文件大小、文件权限等的元数据可以保存在文件***目录树中;用于描述目录的目录结构关系以及目录的创建时间、目录大小、目录权限等的元数据可以保存在文件***目录树中;用于描述文件在存储介质中的存储位置的元数据可以不保存在文件***目录树中。因此,在操作指令针对的是文件时,还可以将回收目录树中文件的元数据与用于描述文件的存储位置的元数据进行关联,从而可以得到文件的完整元数据。
需要说明的是,将文件***的文件***目录树中一目录的元数据,从文件***目录树中删除并保存至回收目录树中,可以理解为将该目录放入回收站。相应的,将文件***的文件***目录树中一目录的元数据,从回收站目录树中删除并保存至文件***目录树中,可以理解为将该目录从回收站中恢复。
需要说明的是,将文件***的文件***目录树中一文件的元数据,从文件***目录树中删除并保存至回收目录树中,并将回收目录树中该文件的元数据与用于描述该文件的存储位置的元数据进行关联,可以理解为将该文件将入回收站。相应的,将文件***的文件***目录树中一文件的元数据,从回收站目录树中删除并保存至文件***目录树中,并将文件***目录树中该文件的元数据与用于描述该文件的存储位置的元数据进行关联,可以理解为该将文件从回收站中恢复。
需要说明的是,回收目录树中任一文件的元数据的删除能够触发对该任一文件的数据的删除,文件***目录树中该任一文件的元数据的删除不能够触发对该任一文件的数据的删除。
一个实施例中,若操作指令为删除指令,可以直接将文件***目录树中操作指令针对的目录/文件的元数据,从文件***目录树中删除并保存至回收目录树中。
另一个实施例中,若操作指令为删除指令且满足目标条件中的全部条件,可以将文件***目录树中操作指令针对的目录/文件的元数据,从文件***目录树中删除并保存至回收目录树中。示例性的,目标条件可以包括已开启回收站、名称前缀不在目标前缀范围内、名称后缀不在目标后缀范围内或者父目录不在目标父目录范围内中的一个或多个。
需要说明的是,若操作***为删除指令但不满足目标条件中的全部条件,可以将文件***目录树中操作指令针对的目录/文件的元数据从文件***目录树中删除,但并不保存至回收目录树中。并且,文件***目录树中不放入回收站的任一文件的元数据的删除,能够触发对该任一文件的数据的删除。
其中,通过目标条件包括已开启回收站,使得可以根据需要灵活决定是否使用文件***的回收站,有利于提高灵活性。通过目标条件包括名称前缀不在目标前缀范围内,使得可以根据需要控制名称前缀在目标前缀范围内的目录和/或文件不进入回收站,有利于节省存储空间。通过目标条件包括名称后缀不在目标后缀范围内,使得可以根据需要控制名称后缀在目标后缀范围内的目录和/或文件不进入回收站,有利于节省存储空间。通过目标条件包括父目录不在目标父目录范围内,使得可以根据需要控制父目录在目标父目录范围内的目录和/或文件不进入回收站,有利于节省存储空间。
示例性的,可以由用户根据需要配置目标条件中的一个或多个条件。基于此,本实施例提供的方法还可以包括:获取用户的配置命令,并基于所述配置命令,确定回收站的开关状态、目标前缀范围、目标后缀范围或目标父目录范围中的一个或多个。其中,配置命令可以理解为管控命令的一种。
可选的,基于删除进回收站的目录和文件,还可以对文件***及其回收站的相关统计值进行相应的更新处理,使得统计值可以反映文件***和回收站分别的实际情况。基于此,一个实施例中,本实施例提供的方法还可以包括:基于操作指令针对的目录/文件,对文件***的相关统计值进行减少处理,并对回收站的相关统计值进行增加处理。
示例性的,文件***的相关统计值可以包括文件***的使用容量、目录下的文件数量以及目录下的目录数量中的一个或多个;回收站的相关统计值可以包括回收站的使用容量和/或目录下的文件数量。其中,文件***的相关统计值例如可以用于进行配额控制,例如控制文件***的使用容量不超过文件***的容量阈值,又例如控制目录下的文件数量不超过目录的文件数量阈值。回收站的相关统计值例如可以用于用户进行查看。
将文件***目录树中操作指令针对的目录/文件的元数据,从文件***目录树中删除并保存至回收目录树中,在确定操作指令针对的目录/文件的该状态属性不为删除状态之后,还可以包括:将所述操作指令针对的目录/文件的所述状态属性设置为删除状态。
本实施例提供的文件***的处理方法,通过在获取到应用程序针对文件***的操作指令后,若操作指令为删除指令,可以将文件***的文件***目录树中操作指令针对的目录/文件的元数据,从文件***目录树中删除并保存至文件***的回收站目录树中,并在操作指令针对的是文件时,将回收目录树中该文件的元数据与用于描述该文件的存储位置的元数据进行关联,以实现将操作指令针对的目录/文件放入文件***的回收站中,使得在出现由于运维人员误操作或者应用程序异常等原因,导致应用程序对文件***中的目录/文件误删除的情况时,可以将误删除的目录/文件从文件***的回收站中恢复,因此能够防止出现由于目录/文件被误删除导致应用程序无法正常出现的情况,避免对用户造成损失。
图5为本申请一实施例提供的文件***的回收站管理方法的流程示意图,本实施例的执行主体可以为图1中的第三计算设备13A。如图5所示,本实施例的方法可以包括:
步骤51,获取用户针对所述文件***的恢复命令;
步骤52,将所述恢复命令针对的目录/文件的元数据,从所述文件***的回收目录树中删除并保存至所述文件***的文件***目录树中,并在所述恢复指令针对的是文件时,将所述文件***目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述恢复指令针对的所述目录/文件从所述文件***的回收站中恢复。
其中,恢复命令可以理解为管控命令中的一种。为了提高安全性,第五计算设备15可以对用户进行身份认证以及权限控制。示例性的,对于第四计算设备14发送的用于请求从回收站中恢复数据的请求报文,第五计算设备15可以先通过身份识别***对用户进行身份识别,以得到成功或失败的身份识别结果,在身份识别结果为成功时,进一步的第五计算设备15可以通过权限管理***确定用户是否有恢复回收站中数据的权限,如果是则第五计算设备15可以将基于请求报文得到的恢复命令传递给第三计算设备13A,第三计算设备13A可以基于获取到的恢复命令进行处理。
可选的,在目录/文件在回收站中存在的时长大于时长阈值时,还可以自动将其从回收站中清理,从而有利于节省存储空间。基于此,一个实施例中,本实施例提供的方法还可以包括:在回收目录树中任一目录/文件的元数据存在的时长达到预设时长时,将该任一目录/文件的元数据从回收目录树中删除,并在该任一目录/文件为任一文件时,基于与回收目录树中该任一文件的元数据的关联元数据,触发对该任一文件的数据的删除。其中,与回收目录树中该任一文件的元数据的关联元数据,即为用于描述该任一文件的存储位置的元数据。
进一步可选的,本实施例提供的方法还包括:在目录/文件在回收站中存在的时长大于时长阈值时,基于该任一目录/文件,对回收站的相关统计值进行减少处理。从而有利于提高回收站的相关统计值的准确性。
可选的,可以支持用户通过管控命令从回收站中清理目录/文件,使得用户可以根据需要清理回收站中的目录和文件,有利于提高用户的使用体验。基于此,一个实施例中,本实施例提供的方法还可以包括:获取用户针对文件***的清理命令;将清理命令针对的目录/文件的元数据从回收目录树中删除,并在清理命令针对的是文件时,基于与回收目录树中文件的元数据的关联元数据,触发对文件的数据的删除。其中,删除命令也可以理解为管控命令中的一种。
类似的,对于第四计算设备14发送的用于请求清理回收站的请求报文,第五计算设备15可以先通过身份识别***对用户进行身份识别,以得到成功或失败的身份识别结果,在身份识别结果为成功时,进一步的第五计算设备15可以通过权限管理***确定用户是否有清理回收站中数据的权限,如果是则第五计算设备15可以将基于请求报文得到的清理命令传递给第三计算设备13A,第三计算设备13A可以基于获取到的清理命令进行处理。
进一步可选的,本实施例提供的方法还可以包括:基于清理指令针对的目录/文件,对回收站的相关统计值进行减少处理。从而有利于提高回收站的相关统计值的准确性。
可选的,可以支持用户通过管控命令查看回收站的相关信息,使得用户可以根据需要查看关于回收站的信息,有利于提高用户的使用体验。基于此,一个实施例中,本实施例提供的方法还可以包括:获取用户针对文件***的回收站的查询命令;确定查询命令对应的查询结果,并将查询结果返回给用户。其中,查询命令例如可以用于查询回收站的使用容量,目录下的文件数量等。
本实施例提供的文件***的处理方法,通过将用户的恢复命令针对的目录/文件的元数据,从文件***的回收目录树中删除并保存至文件***的文件***目录树中,并在恢复指令针对的是文件时,将文件***目录树中文件的元数据与用于描述文件的存储位置的元数据进行关联,以实现将恢复指令针对的目录/文件从文件***的回收站中恢复,实现了在出现由于运维人员误操作或者应用程序异常等原因,导致应用程序对文件***中的目录/文件误删除的情况时,可以根据用户的命令将误删除的目录/文件从文件***的回收站中恢复,因此能够防止出现由于目录/文件被误删除导致应用程序无法正常出现的情况,避免对用户造成损失。
示例性的,文件***的回收站的实现框图可以如图6所示,其中,计算设备61可以将用于请求操作文件***63的符合标准协议的报文发送给NFS/SMB前端机62,NFS/SMB前端机62可以解析报文获得针对文件***63的操作指令,并将操作指令发送给文件***63,文件***63可以执行本申请实施例提供的文件***的处理方法。
文件***63中的文件***目录结构和回收站元数据是采用独立的名字空间,其中,文件***目录结构是文件***63未放入回收站中的文件目录结构,回收站元数据是文件***放入回收站中的文件目录结构。文件***目录结构可以由采用键(key)-值(value)方式存储为文件***目录树,文件***目录树中父目录+目录名可以作为key,父目录+文件名可以作为key,属性(attribute,简称为attr)可以作为value。回收站元数据也可以采用键-值方式存储为回收目录树中,回收目录树中删除的文件/目录可以作为key,attr可以作为value。其中,属性就是元数据的内容。
如图6所示,删除操作可以对应删除文件***目录结构中目录/文件的元数据,由于回收站元数据和文件***目录是采用独立的名字空间,因此,可以控制操作指令不可以操作回收站元数据中目录/文件的元数据。
计算设备64可以响应于管控操作向管控服务65发送请求报文,管控服务65可以基于请求报文得到对应的管控命令,在管控命令是用于恢复/清除回收站中目录/文件的恢复/删除命令时,管控服务65可以将恢复/清除命令发送给文件***63的管理装置66,管理装置66可以执行本申请实施例提供的回收站管理方法。管理装置66可以根据恢复命令将目录/文件从回收站中恢复,可以根据清除命令将目录/文件从回收站中清除,还可以自动对回收站中的目录/文件清除。
在管控命令是针对回收站的浏览命令时,管控服务65还可以将浏览命令发送给文件***63,文件***63可以根据浏览命令返回回收站的相应信息。
图6中计算设备61到文件***63的链路可以称为数据链路,对应的请求可以理解为数据链路请求,计算设备64到文件***63的链路可以称为管控链路,对应的请求可以理解为管控链路请求。其中,数据链路可以是通过POSIX接口读取文件***中的目录/文件,管控链路可以是通过非POSIX接口(例如http接口)访问文件***。
图7为本申请一实施例提供的文件***的处理装置的结构示意图;参考附图7所示,本实施例提供了一种装置,该装置可以执行上述图3所示实施例提供的方法,具体的,该装置可以包括:
获取模块71,用于获取应用程序针对所述文件***的操作指令;
删除模块72,用于若所述操作指令为删除指令,将所述文件***的文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***目录树中删除并保存至所述文件***的回收目录树中,并在所述操作指令针对的是文件时,将所述回收目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述操作指令针对的所述目录/文件放入所述文件***的回收站中。
可选的,所述删除模块72,具体用于:若所述操作指令为删除指令且满足目标条件中的全部条件,将所述文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***的文件***目录树中删除并保存至所述回收目录树中;其中,所述目标条件包括已开启回收站、名称前缀不在目标前缀范围内、名称后缀不在目标后缀范围内或者父目录不在目标父目录范围内中的一个或多个。
可选的,所述获取模块71,还用于获取用户针对所述文件***的配置命令;
所述装置还包括配置模块,用于基于所述配置命令,确定回收站的开关状态、目标前缀范围、目标后缀范围或目标父目录范围中的一个或多个。
可选的,所述装置还包括统计模块,用于基于所述操作指令针对的所述目录/文件,对所述文件***的相关统计值进行减少处理,并对所述回收站的相关统计值进行增加处理。
可选的,所述删除模块72,还用于确定所述操作指令针对的目录/文件不在所述回收站中。
图7所示装置可以执行图3所示实施例提供的方法,本实施例未详细描述的部分,可参考对图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3所示实施例中的描述,在此不再赘述。
在一个可能的实现中,图7所示装置的结构可实现为一计算设备。如图8所示,该计算设备可以包括:处理器81和存储器82。其中,存储器82用于存储支持计算设备执行上述图3所示实施例中提供的方法的程序,处理器81被配置为用于执行存储器82中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器81执行时能够实现如下步骤:
获取应用程序针对所述文件***的操作指令;
若所述操作指令为删除指令,将所述文件***的文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***目录树中删除并保存至所述文件***的回收目录树中,并在所述操作指令针对的是文件时,将所述回收目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述操作指令针对的所述目录/文件放入所述文件***的回收站中。
可选的,处理器81还用于执行前述图3所示实施例中的全部或部分步骤。
其中,计算设备的结构中还可以包括通信接口83,用于计算设备与其他设备或通信网络通信。
图9为本申请一实施例提供的文件***的回收站管理装置的结构示意图;参考附图9所示,本实施例提供了一种装置,该装置可以执行上述图5所示实施例提供的方法,具体的,该装置可以包括:
获取模块91,用于获取用户针对所述文件***的恢复命令;
恢复模块92,用于将所述恢复命令针对的目录/文件的元数据,从所述文件***的回收目录树中删除并保存至所述文件***的文件***目录树中,并在所述恢复指令针对的是文件时,将所述文件***目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述恢复指令针对的所述目录/文件从所述文件***的回收站中恢复。
可选的,所述获取模块91,还用于获取用户针对所述文件***的清理命令;
所述装置还包括第一清理模块,用于将所述清理命令针对的目录/文件的元数据从所述回收目录树中删除,并在所述清理命令针对的是文件时,基于与所述回收目录树中所述文件的元数据的关联元数据,触发对所述文件的数据的删除,以实现将所述删除命令针对的目录/文件从所述回收站中删除。
可选的,所述装置还包括确定模块和第二清理模块;
所述确定模块,用于确定所述回收目录树中任一目录/文件的元数据存在的时长达到时长阈值;
所述第二清理模块,用于将所述任一目录/文件的元数据从所述回收目录树中删除,并在所述任一目录/文件为任一文件时,基于与所述回收目录树中所述任一文件的元数据的关联元数据,触发对所述任一文件的数据的删除,以实现将所述任一目录/文件从所述回收站中删除。
可选的,所述装置还包括统计模块,用于基于所述恢复命令针对的所述目录/文件,对所述文件***的相关统计值进行增加处理,并对所述回收站的相关统计值进行减少处理。
图9所示装置可以执行图5所示实施例提供的方法,本实施例未详细描述的部分,可参考对图5所示实施例的相关说明。该技术方案的执行过程和技术效果参见图5所示实施例中的描述,在此不再赘述。
在一个可能的实现中,图9所示装置的结构可实现为一计算设备。如图10所示,该计算设备可以包括:处理器101和存储器102。其中,存储器102用于存储支持计算设备执行上述图5所示实施例中提供的方法的程序,处理器101被配置为用于执行存储器102中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器101执行时能够实现如下步骤:
获取用户针对所述文件***的恢复命令;
将所述恢复命令针对的目录/文件的元数据,从所述文件***的回收目录树中删除并保存至所述文件***的文件***目录树中,并在所述恢复指令针对的是文件时,将所述文件***目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述恢复指令针对的所述目录/文件从所述文件***的回收站中恢复。
可选的,处理器101还用于执行前述图5所示实施例中的全部或部分步骤。
其中,计算设备的结构中还可以包括通信接口103,用于计算设备与其他设备或通信网络通信。
另外,本申请实施例提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如图3所示实施例提供的方法。
本申请实施例提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如图5所示实施例提供的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、链表、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (14)
1.一种文件***的处理方法,其特征在于,包括:
获取针对所述文件***的操作指令;
若所述操作指令为删除指令,将所述文件***的文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***目录树中删除并保存至所述文件***的回收目录树中,并在所述操作指令针对的是文件时,将所述回收目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述操作指令针对的所述目录/文件放入所述文件***的回收站中。
2.根据权利要求1所述的方法,其特征在于,所述若所述操作指令为删除指令,将所述文件***的文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***的文件***目录树中删除并保存至所述文件***的回收目录树中,包括:
若所述操作指令为删除指令且满足目标条件中的全部条件,将所述文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***的文件***目录树中删除并保存至所述回收目录树中;
其中,所述目标条件包括已开启回收站、名称前缀不在目标前缀范围内、名称后缀不在目标后缀范围内或者父目录不在目标父目录范围内中的一个或多个。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取用户针对所述文件***的配置命令;
基于所述配置命令,确定回收站的开关状态、目标前缀范围、目标后缀范围或目标父目录范围中的一个或多个。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述操作指令针对的所述目录/文件,对所述文件***的相关统计值进行减少处理,并对所述回收站的相关统计值进行增加处理。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述若所述操作指令为删除指令,将所述文件***的文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***的文件***目录树中删除并保存至所述文件***的回收目录树中之前,还包括:确定所述操作指令针对的目录/文件不在所述回收站中。
6.根据权利要求5所述的方法,其特征在于,所述文件***中目录/文件的状态属性是删除状态表示所述目录/文件在回收站中;
所述确定所述操作指令针对的目录/文件不在所述回收站中,包括:确定所述操作指令针对的目录/文件的所述状态属性不为删除状态;
所述将所述文件***的文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***目录树中删除并保存至所述文件***的回收目录树中之后,还包括:将所述操作指令针对的目录/文件的所述状态属性设置为删除状态。
7.一种文件***的回收站管理方法,其特征在于,包括:
获取用户针对所述文件***的恢复命令;
将所述恢复命令针对的目录/文件的元数据,从所述文件***的回收目录树中删除并保存至所述文件***的文件***目录树中,并在所述恢复指令针对的是文件时,将所述文件***目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述恢复指令针对的所述目录/文件从所述文件***的回收站中恢复。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取用户针对所述文件***的清理命令;
将所述清理命令针对的目录/文件的元数据从所述回收目录树中删除,并在所述清理命令针对的是文件时,基于与所述回收目录树中所述文件的元数据的关联元数据,触发对所述文件的数据的删除,以实现将所述删除命令针对的目录/文件从所述回收站中删除。
9.根据权利要求7所述的方法,其特征在于,包括:
确定所述回收目录树中任一目录/文件的元数据存在的时长达到时长阈值;
将所述任一目录/文件的元数据从所述回收目录树中删除,并在所述任一目录/文件为任一文件时,基于与所述回收目录树中所述任一文件的元数据的关联元数据,触发对所述任一文件的数据的删除,以实现将所述任一目录/文件从所述回收站中删除。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述方法还包括:
基于所述恢复命令针对的所述目录/文件,对所述文件***的相关统计值进行增加处理,并对所述回收站的相关统计值进行减少处理。
11.一种文件***的处理装置,其特征在于,包括:
获取模块,用于获取应用程序针对所述文件***的操作指令;
删除模块,用于若所述操作指令为删除指令,将所述文件***的文件***目录树中所述操作指令针对的目录/文件的元数据,从所述文件***目录树中删除并保存至所述文件***的回收目录树中,并在所述操作指令针对的是文件时,将所述回收目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述操作指令针对的所述目录/文件放入所述文件***的回收站中。
12.一种文件***的回收站管理装置,其特征在于,包括:
获取模块,用于获取用户针对所述文件***的恢复命令;
恢复模块,用于将所述恢复命令针对的目录/文件的元数据,从所述文件***的回收目录树中删除并保存至所述文件***的文件***目录树中,并在所述恢复指令针对的是文件时,将所述文件***目录树中所述文件的元数据与用于描述所述文件的存储位置的元数据进行关联,以实现将所述恢复指令针对的所述目录/文件从所述文件***的回收站中恢复。
13.一种计算设备,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1至5中任一项所述的方法,或者,如权利要求6至9中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被执行时,实现如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210114765.2A CN114490516A (zh) | 2022-01-30 | 2022-01-30 | 文件***的处理方法、回收站管理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210114765.2A CN114490516A (zh) | 2022-01-30 | 2022-01-30 | 文件***的处理方法、回收站管理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114490516A true CN114490516A (zh) | 2022-05-13 |
Family
ID=81478389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210114765.2A Pending CN114490516A (zh) | 2022-01-30 | 2022-01-30 | 文件***的处理方法、回收站管理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114490516A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024114344A1 (zh) * | 2022-11-28 | 2024-06-06 | 华为技术有限公司 | 一种文件管理方法及电子设备 |
-
2022
- 2022-01-30 CN CN202210114765.2A patent/CN114490516A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024114344A1 (zh) * | 2022-11-28 | 2024-06-06 | 华为技术有限公司 | 一种文件管理方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108446407B (zh) | 基于区块链的数据库审计方法和装置 | |
US9830231B2 (en) | Processes and methods for client-side fingerprint caching to improve deduplication system backup performance | |
US8756199B2 (en) | File level hierarchical storage management system, method, and apparatus | |
US9792316B1 (en) | System and method for efficient data removal in a deduplicated storage system | |
US20170206353A1 (en) | Method and system for preventing malicious alteration of data in computer system | |
US8606759B2 (en) | Apparatus, system and method for recovering meta data using fragmentary information | |
EP3495981B1 (en) | Directory deletion method and device, and storage server | |
US10013312B2 (en) | Method and system for a safe archiving of data | |
US8606751B1 (en) | System and method for backup by inode number | |
CN108197270B (zh) | 分布式文件***数据回收方法 | |
CN111240892B (zh) | 数据备份方法及装置 | |
CN107832470A (zh) | 一种基于存储***的对象存储方法及装置 | |
US20200145359A1 (en) | Handling large messages via pointer and log | |
CN109947730B (zh) | 元数据恢复方法、装置、分布式文件***及可读存储介质 | |
CN112328363A (zh) | 一种云硬盘挂载方法及其装置 | |
CN114490516A (zh) | 文件***的处理方法、回收站管理方法、装置及设备 | |
CN112306957A (zh) | 获取索引节点号的方法、装置、计算设备和存储介质 | |
CN103984622A (zh) | 基于Linux的GPON ONU设备的日志管理方法及装置 | |
WO2009031158A2 (en) | Method and apparatus for network based data recovery | |
CN110888847B (zh) | 一种回收站***及文件回收方法 | |
CN110928945B (zh) | 一种针对数据库的数据处理方法及装置,数据处理*** | |
US9852031B2 (en) | Computer system and method of identifying a failure | |
US20190065065A1 (en) | Data protection method and storage server | |
CN114281769A (zh) | 磁盘上文件管理方法、装置、计算机设备及存储介质 | |
CN115361377A (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 |