CN114253905A - 一种基于目录配额的文件写入方法、装置以及设备 - Google Patents
一种基于目录配额的文件写入方法、装置以及设备 Download PDFInfo
- Publication number
- CN114253905A CN114253905A CN202011010184.1A CN202011010184A CN114253905A CN 114253905 A CN114253905 A CN 114253905A CN 202011010184 A CN202011010184 A CN 202011010184A CN 114253905 A CN114253905 A CN 114253905A
- Authority
- CN
- China
- Prior art keywords
- directory
- file
- quota
- added
- size
- 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
- 238000000034 method Methods 0.000 title claims description 56
- 238000012545 processing Methods 0.000 claims description 23
- 238000011156 evaluation Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000004590 computer program Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
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
技术领域
本申请涉及通信技术领域,尤其涉及一种基于目录配额的文件写入方法、装置以及设备。
背景技术
目录可以看做是一个装有文件或其他目录的虚拟“容器”。其中,该“容器”中的文件为该目录下的文件,该目录与该其他目录之间存在父子关系。
而“容器”中能够装有的文件的总大小是有上限的,该上限称为目录配额。用户可以针对目录设置目录配额,以限制该目录中所有文件的总大小,使其不超过该目录配额。
当用户在该目录中增加新的文件,该目录所在的设备通常需要先判断增加新的文件后,是否会超过目录配额,以此来决定是否允许增加该新的文件。而判断的过程会消耗较长的时间,导致用户需要等待一段时间后,才能获知是否能够增加新的文件,这种判断过程耗时较长,效率较低,用户体验较差。
发明内容
本申请提供一种基于目录配额的文件写入方法、装置以及设备,用以加快写入新文件时的判断进程,提高时效。
第一方面,本申请实施例提供了一种基于目录配额的文件写入方法,该方法可以由目录更新设备执行,在该方法中,目录更新设备可以接收用户输入的针对该目录中的配额值,基于该配额值设置该目录的目录配额,该目录配额的数值等于该配额值。目录更新设备还可以接收用户输入的针对目录中的已存在文件的大小的估算值。当需要在该目录下增加待增加文件是,目录更新设备可以基于目录配额、需设置于目录下的待增加文件的大小和估算值确定是否将待增加文件写入到目录。
通过上述方法,目录更新设备能够从用户获取估算值,基于估算值能够较快的确定出是否能够将待增加文件写入目录中,能够节约时间,保证时效性,提升用户体验。
在一种可能的设计中,目录更新设备在基于目录配额、需设置于目录下的待增加文件的大小和估算值确定是否将待增加文件写入到目录时,若确定估算值与待增加文件的大小的和值不大于目录配额,目录更新设备可以在目录下写入待增加文件,还可以提醒用户允许写入文件。
通过上述方法,目录更新设备在确定写入该待增加文件后,并不会超出该目录的目录配额,目录更新设备可以快速的写入该待增加文件。
在一种可能的设计中,在该目录的父目录设置有目录配额的情况下,目录更新设备在估算值与待增加文件的大小的和值不大于配额值后,可以进一步确认在估算值、待增加文件的大小与目录的父目录下的已存在文件的大小之和是否不大于该目录的父目录的目录配额。
如果估算值、待增加文件的大小与目录的父目录下的已存在文件的大小之和不大于该目录的父目录的目录配额,目录更新设备在目录下写入待增加文件。
如果估算值、待增加文件的大小与目录的父目录下的已存在文件的大小之和大于该目录的父目录的目录配额,目录更新设备产生提示信息,提示信息用于提示用户不能在目录下写入待增加文件。针对目录之上的设置有目录配额的目录均可以采用类似的方式确定在写入该待增加文件后是否会超出目录之上的设置有目录配额的目录的目录配额。
通过上述方法,目录更新设备可以对目录之上的任一设置目录配额的目录判定是否能够写入待增加文件,保证写入待增加文件的有效性,确保能够顺利写入该待增加文件。
在一种可能的设计中,目录更新设备基于配额值、需设置于目录下的待增加文件的大小和估算值确定是否将待增加文件写入到目录时,若估算值与待增加文件的大小的和值大于配额值,目录更新设备可以产生提示信息,提示信息用于提示用户不能在目录下写入待增加文件。
通过上述方法,目录更新设备确定无法写入待增加文件(也即写入待增加文件会超过目录配额)时,可以及时提醒用户,使得用户能够尽快确定结果,提升用户体验。
在一种可能的设计中,目录更新设备还可以扫描目录中的已存在的文件,获取统计值,统计值用于指示已存在的文件已扫描的文件的大小,也即确定该目录中已存在文件的准确的大小,在扫描的过程中,还可以根据统计值更新估算值,也即每扫描一个文件,统计值增加,估算值减少。
通过上述方法,目录更新设备通过扫描目录中已存在文件,可以精确的获知该目录中已存在的文件的大小,以便后续当再次在该目录中写入文件时,目录更新设备可以利用统计值进行判定是否能写入文件。
在一种可能的设计中,目录的父目录设置有目录配额,目录更新设备还可以记录目录与目录的父目录之间的归属关系;并将目录的父目录与目录中已存在的文件之间的归属关系更新为目录与目录中已存在的文件之间的归属关系。
通过上述方法,目录更新设备通过记录目录与目录的父目录之间的归属关系,更新目录与目录中已存在的文件之间的归属关系,能够获取准确的配额关系。
第二方面,本发明实施例提供了一种目录更新装置,目录更新设备具有实现上述方法实例中目录更新设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,本发明实施例提供了一种目录更新装置,设备包括存储器以及处理器:;处理器被配置为支持设备执行上述方法中相应的功能;存储器与处理器耦合,其保存设备必要的程序指令和数据。
第四方面,本申请实施例中还提供一种计算机可读存储介质,该存储介质中存储软件程序,该软件程序在被一处理器读取并执行时可实现第一方面以及第一方面任意一种设计提供的方法。
第五方面,本申请还提供一种计算机芯片,所述芯片与存储器相连,所述芯片用于读取并执行所述存储器中存储的软件程序,执行上述第一方面以及第一方面任意一种设计提供的方法。
附图说明
图1为本申请提供的一种基于目录配额的文件写入方法的示意图;
图2~图4为本申请提供的一种界面示意图;
图5A为本申请提供的一种目录树的示意图;
图5B为本申请提供的一种配额关系示意图;
图6为本申请提供的一种更新配额关系的流程图;
图7A为本申请提供的一种更新过程中的配额关系示意图;
图7B为本申请提供的一种更新后的配额关系示意图;
图8为本申请提供的一种基于目录配额的文件写入方法的流程图;
图9为本申请提供的一种目录更新设备的结构示意图;
图10为本申请提供的一种装置的结构示意图。
具体实施方式
如图1所示,为本申请实施例提供的一种基于目录配置的文件写入方法,在图1所示的实施例中以目录更新设备执行该方法为例进行说明。该方法包括:
步骤101:目录更新设备可以接收用户输入的配额值以及估算值,其中,配额值是用户针对目录设置的,估算值是用户针对该目录中以存在文件的大小进行估算、确定的。
本申请实施例不限定目录更新设备接收到用户输入的配额值以及估算值的方式。
例如,目录更新设备可以设置在云端,客户端与目录更新设备可以建立连接。用户通过客户端可以查看保存在目录更新设备上的目录、修改该目录。修改该目录的方式有许多种,包括但不限于:修改目录的名称、删除目录、在目录中增加文件、删除目录中已存在的文件、设置目录配额。
当用户为目录设置目录配额时,用户可以在如图2所示的客户端展示向用户的显示界面上,输入配额值和估算值。客户端检测到用户输入的配额值和估算值后,可以将该配额值和估算值发送给目录更新设备。可选的,客户端还可以发送该目录的标识,以指示该配额值和估算值是针对该目录的。客户端还可以发送指示信息,用于指示目录更新设备设置目录配额。
又例如,用户可以直接在目录更新设备上进行操作,用户可以目录更新设备上输入该配额值和估算值后,目录更新设备检测到用户的操作,接收到该配额值和估算值。目录更新设备也可以向用户展示如图2所示的显示界面,以提示用户输入配额值以及估算值。
除了上述两种方式之外,用户还可以通过邮件、语音等方式,向目录更新设备发送配额值和估算值。
在上述说明中均是以目录更新设备同时接收该配额值以及估算值为例进行说明的,在实际应用中,目录更新设备可以分别接收该配额值以及估算值。
例如,用户可以先在客户端上输入该配额值,如图3所示的客户端在用户需要设置目录配额时,向用户的显示界面,客户端检测到该配额值后,可以发送该配置值到目录更新设备,以实现目录配额的设置;之后,在需要在目录中增加文件时,用户可以在客户端的提示下输入估算值,如图4所示的客户端在用户需要在目录中增加文件时展示向用户的显示界面。客户端检测到该估算值后,可以发送该估算值到目录更新设备,以使得目录更新设备确定是否能够增加文件。
又例如,用户可以在直接在目录更新设备上进行操作,分别输入该配额值以及估算值,分别接收到该配额值和估算值。类似的,目录更新设备也可以向用户展示如图3、4所示的显示界面,以提示用户输入配额值以及估算值。
当然,用户也可以通过邮件、语音等方式,分别向目录更新设备发送配额值和估算值。
目录更新设备在接收到该配额值以及估算值之后,可以分别执行如下步骤。
步骤102:针对该配额值,目录更新设备可以直接为该目录设置目录配额。
目录更新设备在接收到该配额值之后,可以为该目录设置目录配额,目录更新设备在为该目录设置目录配额时,可以将该配额值更新到该目录所在目录文件的配额关系中。
通常目录文件的结构为树状结构,如图5A所示,为目录文件的树状结构示意图,该目录文件中可以包括多个存在父子关系的目录,如图5A所示,最顶端的目录可以称为根目录,根目录下的目录可以称为该根目录的子目录(也可以称为根目录为这些目录的父目录)以及文件,各个子目录下还可以包括目录以及文件。为方便说明,在图5A中,M为根目录,A为M下的子目录,B为A下的子目录。F1为M下的文件,F2为A下的文件,F3为B下的文件。图5A所示的树状结构描述了该目录文件中目录以及文件之间的归属关系。这种树状结构也可以称为目录树。
与目录树对应的,还有该目录文件的配额关系,配额关系可以描述该目录文件中的文件与设置有目录配额的目录之间的归属关系以及设置有目录配额的目录之间的归属关系。该配额关系中还可以记录该目录文件中设置有目录配额的目录的配额值、与该目录有归属关系的文件的总大小、以及各个文件的大小。为了更形象的展示目录文件的配额关系,该目录文件的配额关系也可以体现为类似的树状结构。
如图5B所示,为如图5A所示目录文件的配额关系的示意图,在图5A所示的目录文件中,根目录M设置有目录配额,目录配额为100吉(G),该目录A、B未设置目录配额,不会体现在该配额关系中,该目录文件中的文件F1、F2、以及F3的大小分别为1G,在配额关系中文件F1、F2、以及F3与根目录之间存在归属关系。
目录文件的配额关系是基于该目录文件生成的,下面对确定目录文件的配额关系的方法进行说明:
目录文件在创建时,用户可以每创建一个目录,为创建的目录设置配额值,当检测到用户设置的配额值时,目录更新设备可以为基于配额值,为该目录设置目录配额,在该目录文件的配额关系中增加该创建的目录,记录该创建的目录的目录配额。若用户在该目录中创建了文件,可以建立文件与目录之间归属关系。举例来说,当创建目录M时,M设置有目录配额,可以在该目录文件的配额关系中添加M,以及建立该M与该M中文件F1之间的归属关系。
用户在每创建一个目录时,也可以不为创建的目录设置配额值,当未检测到用户的配额值时,目录更新设备则无需在该目录文件的配额关系中增加该创建的目录。举例来说,当创建目录A、B时,A、B未设置有目录配额,可以在该目录文件的配额关系中不添加A、B。
当用户在目录下创建文件时,目录更新设备可以在该目录文件的配额关系中增加该创建的文件,确定该文件归属的目录是否设置有目录配额,若设置有目录配额,则在该目录文件中的配额关系中,建立该文件与该文件归属的目录之间的归属关系。若未设置有目录配置,则确定该文件归属的目录之上目录(如该目录的父目录,该父目录之上的父目录,直至到根目录)中距离该目录最近的、且设置有目录配额的目录,建立该文件与该文件归属的目录之间的归属关系。举例来说,当创建文件F3时,该文件F3的目录为B,B之上的目录为A、M。其中,距离该目录B最近的设置有目录配额的目录为M,建立F3与M之间的归属关系。
目录更新设备在对该目录设置目录配额时,目录更新设备可以保存该目录的配额值,还可以更新该目录所在目录文件的配额关系。
当目录文件中一个目录设置目录配额时,在该目录文件的配额关系中,设置有目录配额的目录与文件之间的归属关系,以及设置有目录配额的目录之间的归属关系会发生变化,需要对该目录文件之前的配额关系进行修改。下面对更新目录文件的配额关系的方法进行说明,参见图6,该方法包括如下步骤:
步骤601、基于该目录文件的目录树,确定该目录中的目录以及文件,该目录中的目录以及文件可以形成一个队列,该队列为B、F3。目录更新设备可以基于该队列判断该目录的目录以及文件与其他设置有配额关系的目录的归属关系是否正确。
若当前目录更新设备检测到用户需要目录下增加文件(该增加的文件可以称为待增加文件),该待增加文件也可以增加到该队列中,若用户需要在目录B下增加文件F4,则扫描队列为B、F3、F4。
步骤602、基于该队列,从该队列的队头(也即该扫描队列中的第一个目录)开始依次判断在该目录文件已有的配额关系中,该目录是否有目录配额。
步骤603、若设置有目录配额,判断该目录与该目录中的文件之间,以及该目录与该目录中设置有目录配额的子目录之间是否已建立归属关系。
步骤604、若已建立归属关系,则保存该归属关系。
步骤605、若该目录与该目录中的文件中存在与该目录之间未建立归属关系的文件,则建立该文件与该目录之间的归属关系,删除该文件与其他目录之间的归属关系。该目录与该目录中设置有配额的子目录中存在与该目录之间未建立归属关系的子目录,则建立与该目录与该子目录之间的归属关系,删除该子目录与其他目录之间的归属关系。
步骤606、若未设置目录配额,判断该目录中的文件与该目录之上的、距离该目录最近的设置有目录配额的目录是否已建立归属关系。判断该目录中的子目录与该目录之上的、距离该目录最近的设置有目录配额的目录是否已建立归属关系。
步骤607、若已建立归属关系,则保存该归属关系。
步骤608、若该目录中的文件存在与该目录之上的、距离该目录最近的设置有目录配额的目录之间未建立归属关系的文件,则建立该文件与该目录之前的、距离该目录最近的设置有目录配额的目录之间的归属关系。若该目录中的子目录中存在与该目录之上的、距离该目录最近的设置有目录配额的目录之间未建立归属关系的子目录,则建立该子目录与该目录之前的、距离该目录最近的设置有目录配额的目录之间的归属关系。
举例来说,对于B中的文件F3,判断F3与B之间是否已建立归属关系,当前F3与B之间未建立归属关系,F3与M之间建立了归属关系,则建立F3与B之间的归属关系,删除F3与M之间的归属关系。若用户需要在目录B下增加文件F4,判断F4与B之间是否已建立归属关系,当前F4与B之间未建立归属关系,建立F4与B之间的归属关系。
目录更新设备在对该目录设置目录配额时,目录更新设备可以保存该目录的配额值,还可以更新该目录所在目录文件的配额关系。
可选的,目录更新设备在更新该目录文件的配额关系时,除了修改文件与设置有目录配额的目录之间的归属关系,还可以在该目录文件中记录该目录的配额值、与该目录有归属关系的文件的总大小、以及各个文件的大小。
目录更新设备在确定了该目录中已存在的文件时,还可以依次扫描该目录中已存在的文件,确定每个文件的大小,并记录到该目录文件的配额关系中。若目录更新设备接收到了针对该目录的估算值,目录更新设备在确定该目录中已存在的文件的大小时,还可以记录统计值、更新该估算值。该统计值为该目录中已存在的文件的总大小,随着文件的依次扫描,该统计值是逐步增加的,而估算值是逐渐减少的,也即每扫描一个文件,估算值可以减少该文件的大小,当这些文件全部扫描结束后,估算值清零。
而对于该目录中存在待增加文件,由于待增加文件的大小随着文件的写入是能够获知该待增加文件的大小的,目录更新设备可以在依次扫描该目录下已存在的文件之前,就将该待增加文件的大小记录到统计值中,在估算值中减去该待增加文件的大小。目录更新设备也可以在依次扫描该目录下已存在的文件的过程中,将该待增加文件作为需要扫描的文件之一,加入到队列中。
该扫描文件的操作可以单独执行,也可以在图6所示的方式中,在步骤4中执行,例如当判定新设置的目录配额的目录时,先对该目录下已存在的文件进行扫描,之后再判定该目录与这些文件之间是否存在归属关系。
这里需要说明的是,当目录设置有目录配额,且在该目录下写入待增加文件时,在更新该目录所在目录文件的配额关系时,可以直接建立该目录与待增加文件的归属关系,针对该待增加文件,可以不基于队列,进行归属关系的判定。目录更新设备还接收到了该目录的估算值,目录更新设备还可以记录该目录的估算值。
以B的配额值为10G,估算值为2.2G,F4的大小为1G,如图7A所示,为更新过程中,未扫描B下已存在文件大小时的目录文件的配额关系,图7A中,由于B设置了目录配额,在B之间的待增加文件F4与B之间存在归属关系。若B中的文件F3依然保持与M之间的归属关系。这种情况下,B的配额值为10G,统计值为F4的大小为1G,估算值为减去F4的大小之后得值,为1.2G。
如图7B,为更新后的目录文件的配额关系,由于B中已存在的文件F3,之前与M建立了归属关系,当B设置了目录配额之后,F3应与M建立归属关系。这种情况下,B的配额值为10G,统计值为F4和F3的大小为2G,估算值清零。
步骤103:针对该估算值,目录更新设备可以基于目录配额、需设置于该目录下的待增加文件的大小和该估算值确定是否将待增加文件写入到目录中。
当用户通过客户端或直接在目录更新设备中在目录中需要增加文件时,目录更新设备可以进行判定,确定是否能够在该目录中写入该待增加文件。
由于目录更新设备已经接收到了估算值,目录更新设备不需要精确的确定该目录中以存在文件的大小,可以基于该估算值进行预判,确定该估算值与待增加文件的大小的和值与该目录配额之间的大小关系。
若估算值与待增加文件的大小的和值小于或等于该目录配额,则说明在该目录中可以写入该待增加文件,将该待增加文件写入到该目录中。
若估算值与待增加文件的大小的和值大于该目录配额,则说明在该目录中写入该待增加文件后超出该目录配,不能将该待增加文件写入到该目录中,这种情况下,可以产生提示消息,该提示消息可以提示用户不能在该目录中写入该待增加文件。
本申请实施例并不限定提示消息的类型,例如提示消息可以是文字信息,以提示用户不能在该目录中写入该待增加文件。又例如,提示消息也可以为语音消息。
在一种可能的实施方式中,如果目录更新设备已经明确获知该目录下已存在文件的大小,如目录更新设备预先已经将该目录下的文件进行了扫描,可以获知该目录下已存在的文件的大小。目录更新设备可以直接基于该目录下已存在的文件的大小、待增加文件的大小以及该目录的目录配额确定是否能够在该目录中写入该待增加文件。
若该目录下已存在的文件的大小与待增加文件的大小的和值小于或等于该目录配额,则说明在该目录中可以写入该待增加文件,将该待增加文件写入到该目录中。
若该目录下已存在的文件的大小与待增加文件的大小的和值大于该目录配额,则说明在该目录中写入该待增加文件后超出该目录配,不能将该待增加文件写入到该目录中,这种情况下,可以产生提示消息,该提示消息可以提示用户不能在该目录中写入该待增加文件。
以如图5A所示的目录树为例,当目录更新设备在M下增加文件时,这种情况下,目录更新设备已确定了M下F1、F2以及F3这三个文件的大小,目录更新设备可以直接基于该目录下已存在的文件的大小、待增加文件的大小以及该目录的目录配额确定是否能够在该目录中写入该待增加文件。当目录更新设备在B写入文件之后,再次在B中写入文件时,这种情况下,目录更新设备由于之前已经对B中已存在的文件进行了扫描,已确定了B中已存在的文件的大小,可以基于之前记录的统计值进行判定,确定是否能够在B中写入文件。
在一种可能的实施方式中,如果目录更新设备只能获知该目录下已存在文件中部分文件的大小,如目录更新设备当前正在对该目录下的文件进行扫描,只扫描了其中部分文件,获得的统计值只能指示该部分文件的大小,估算值还没有清零。目录更新设备也可以直接基于统计值、更新后的估算值、待增加文件的大小以及该目录的目录配额确定是否能够在该目录中写入该待增加文件。
若统计值、更新后的估算值与待增加文件的大小的和值小于或等于该目录配额,则说明在该目录中可以写入该待增加文件,将该待增加文件写入到该目录中。
若统计值、更新后的估算值与待增加文件的大小的和值大于该目录配额,则说明在该目录中写入该待增加文件后超出该目录配,不能将该待增加文件写入到该目录中,这种情况下,可以产生提示消息,该提示消息可以提示用户不能在该目录中写入该待增加文件。
下面综合前述几种目录更新设备确定是否在该目录下写入该待增加文件的方式,对本申请实施例提供的一种文件写入判定方式进行说明,参见图8,该方法包括如下步骤:
步骤801、基于该目录文件的目录树,确定该目录。
步骤802、确定该目录是否为精确模式,其中,精确模式指示该目录更新设备已明确获知该目录中已存在文件的大小,也即统计值等于该目录中已存在的文件的大小。非精确模式指示该目录更新设备未明确获知该目录中已存在文件的大小,如未扫描该目录中已存在的文件,这种情况下统计值为0,估算值未更新;或目录更新设备在扫描该目录中已存在的文件的过程中,这种情况下,统计值为已扫描的文件的大小,估算值已进行了更新。
步骤803、若为精确模式,目录更新设备可以确定统计值与待增加文件的大小之和是否大于该目录的目录配额。
步骤804、若统计值与待增加文件的大小之和不大于该目录的目录配额,则在该目录下写入该待增加文件。
步骤805、若统计值与待增加文件的大小之和大于该目录的目录配额,则产生提示消息。
步骤806、若非精确模式,目录更新设备可以确定统计值、估算值与待增加文件的大小之和是否大于该目录的目录配额。
步骤807、若统计值、估算值与待增加文件的大小之和不大于该目录的目录配额,则在该目录下写入该待增加文件。
步骤808、若统计值、估算值与待增加文件的大小之和大于该目录的目录配额,则产生提示消息。
若该目录之上还存在设有目录配额的父目录,在估算值与待增加文件的大小的和值小于或等于该目录配额的情况下,目录更新设备还可以进一步确认在该目录中写入待增加文件的情况下,是否会超出该父目录的目录配额。
目录更新设备比较估算值、待增加文件的大小与目录的父目录下的已存在文件的大小之和、与该父目录的目录配额的大小。
若估算值、待增加文件的大小与目录的父目录下的已存在文件的大小之和不大于该父目录的目录配额,说明在该目录中可以写入该待增加文件,将该待增加文件写入到该目录中。
若估算值、待增加文件的大小与目录的父目录下的已存在文件的大小之和大于该父目录的目录配额,说明在该目录中写入该待增加文件会超过父目录的目录配额,在该目录中不能写入该待增加文件,可以产生提示信息,提示用户不能在所述目录下写入所述待增加文件。
进一步的,若该目录的父目录之上还存在设有目录配额的父目录,在估算值与待增加文件的大小的和值小于或等于该目录配额或估算值、待增加文件的大小与目录的父目录下的已存在文件的大小之和不大于该目录的父目录的目录配额的情况下,目录更新设备进一步确认在该目录中写入待增加文件的情况下,是否会超出该父目录的父目录的目录配额。目录更新设备确认在该目录中写入待增加文件的情况下,是否会超出该父目录的父目录的目录配额的方式与确认在该目录中写入待增加文件的情况下,是否会超出该父目录的目录配额的方式类似,具体可以参见前述说明此处不再赘述。
也就是说,目录更新设备可以对该目录之上存在有目录配额的目录均进行类似的操作,确定在该目录中写入该待增加文件的情况下,是否会超出这些目录的目录配额。
以如图5A所示的目录树为例,当目录更新设备在需要在B下写入待增加文件时,这种情况下,目录更新设备可以先基于估算值(也可以为统计值、和更新后的估算值)、B中已存在的文件F3、待增加的文件、以及B的目录配额确定在该目录B中是否可以写入该待增加文件,若估算值、待增加的文件、B中已存在的文件F3之和不大于B的目录配额,初步确定可以在B中写入该待增加文件。之后,确定对B之上的目录,如A和M。由于A不设置目录配额,则针对A,不进行该类似的操作;M设置有目录配额,目录更新设备可以先基于估算值、待增加的文件、M中已存在的文件F1、F2、F3、M的目录配额确定在该目录B中是否可以写入该待增加文件,估算值、待增加的文件、M中已存在的文件F1、F2、F3之和不大于M的目录配额,可以最终确定可以在B中写入该待增加文件,否则,无法写入,可以产生提示消息。
基于与方法实施例同一发明构思,本申请实施例还提供了一种目录更新设备,用于执行上述如图1所示的方法实施例中目录更新设备执行的方法,相关特征可参见上述方法实施例,此处不再赘述,如图9所示,目录更新设备900包括接收模块901、处理模块902以及提示模块903。
接收模块901,用于接收用户输入的针对目录中的已存在文件的大小的估算值,目录设置有目录配额,目录配额是基于用户输入的配额值确定的。
处理模块902,用于基于目录配额、需设置于目录下的待增加文件的大小和估算值确定是否将待增加文件写入到目录。处理模块902可以根据用户输入的配额值为目录设置目录配额。
在一种可能的实施方式中,处理模块902在基于目录配额、需设置于目录下的待增加文件的大小和估算值确定是否将待增加文件写入到目录时,若确定估算值与待增加文件的大小的和值不大于目录配额,在目录下写入待增加文件。
在一种可能的实施方式中,处理模块902在估算值与待增加文件的大小的和值不大于配额值的情况下,进一步确认估算值、待增加文件的大小与目录的父目录下的已存在文件的大小之和是否不大于父目录的目录配额。
如果估算值、待增加文件的大小与目录的父目录下的已存在文件的大小之和不大于父目录的目录配额,处理模块902在目录下写入待增加文件;
如果估算值、待增加文件的大小与目录的父目录下的已存在文件的大小之和大于父目录的目录配额,提示模块903,产生提示信息,提示信息用于提示用户不能在目录下写入待增加文件。
在一种可能的实施方式中,提示模块903还可以在处理模块902在确定估算值与待增加文件的大小的和值大于配额值的情况下,产生提示信息,提示信息用于提示用户不能在目录下写入待增加文件。
在一种可能的实施方式中,处理模块902还可以扫描目录中的已存在的文件,获取统计值,统计值用于指示已存在的文件已扫描的文件的大小;之后,再根据统计值更新估算值。
在一种可能的实施方式中,目录的父目录设置有目录配额,处理模块902可以记录目录与目录的父目录之间的归属关系;将目录的父目录与目录中已存在的文件之间的归属关系更新为目录与目录中已存在的文件之间的归属关系。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
在一个简单的实施例中,本领域的技术人员可以想到如图1所示的实施例中目录更新设备可采用图10所示的形式。
如图10所示的装置1000,包括至少一个处理器1001、存储器1002,可选的,还可以包括通信接口1003。
存储器1002可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器,快闪存储器,硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1002是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1002可以是上述存储器的组合。
本申请实施例中不限定上述处理器1001以及存储器1002之间的具体连接介质。
处理器1001可以为CPU,该处理器1001还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件、人工智能芯片、片上芯片等。通用处理器可以是微处理器或者是任何常规的处理器等。具有数据收发功能,能够与其他设备进行通信,在如图1装置中,也可以设置独立的数据收发模块,例如通信接口1003,用于收发数据;处理器1001在与其他设备进行通信时,可以通过通信接口1003进行数据传输,如从接收资源请求。
当所述目录更新设备采用图10所示的形式时,图10中的处理器1001可以通过调用存储器1002中存储的计算机执行指令,使得所述目录更新装置可以执行上述任一方法实施例中的所述目录更新设备执行的方法。
具体的,图9的接收模块、处理模块以及提示模块的功能/实现过程均可以通过图10中的处理器1001调用存储器1002中存储的计算机执行指令来实现。或者,图3中的处理单元302的功能/实现过程可以通过图10中的处理器1001调用存储器1002中存储的计算机执行指令来实现,图3的接收模块和提示模块的功能/实现过程可以通过图10中的通信接口1003来实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种基于目录配额的文件写入方法,其特征在于,包括:
接收用户输入的针对目录中的已存在文件的大小的估算值,所述目录设置有目录配额,所述目录配额是基于所述用户输入的配额值确定的;
基于所述目录配额、需设置于所述目录下的待增加文件的大小和所述估算值确定是否将所述待增加文件写入到所述目录。
2.如权利要求1所述的方法,其特征在于,所述基于所述目录配额、需设置于所述目录下的待增加文件的大小和所述估算值确定是否将所述待增加文件写入到所述目录,包括:
在所述估算值与所述待增加文件的大小的和值不大于所述目录配额的情况下,在所述目录下写入所述待增加文件。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
在所述估算值与所述待增加文件的大小的和值不大于所述配额值的情况下,进一步确认在所述估算值、所述待增加文件的大小与所述目录的父目录下的已存在文件的大小之和是否不大于所述父目录的目录配额,如果是,在所述目录下写入所述待增加文件,如果否,产生提示信息,所述提示信息用于提示所述用户不能在所述目录下写入所述待增加文件。
4.如权利要求1所述的方法,其特征在于,所述基于所述配额值、需设置于所述目录下的待增加文件的大小和所述估算值确定是否将所述待增加文件写入到所述目录,包括:
在所述估算值与所述待增加文件的大小的和值大于所述配额值的情况下,产生提示信息,所述提示信息用于提示所述用户不能在所述目录下写入所述待增加文件。
5.如权利要求1~4任一所述的方法,其特征在于,所述方法还包括:
扫描所述目录中的已存在的文件,获取统计值,所述统计值用于指示所述已存在的文件已扫描的文件的大小;
根据所述统计值更新所述估算值。
6.如权利要求1~5任一所述的方法,其特征在于,所述目录的父目录设置有目录配额,所述方法还包括:
记录所述目录与所述目录的父目录之间的归属关系;
将所述目录的父目录与所述目录中已存在的文件之间的归属关系更新为所述目录与所述目录中已存在的文件之间的归属关系。
7.一种目录更新设备,其特征在于,所述设备包括接收模块、处理模块;
所述接收模块,用于接收用户输入的针对目录中的已存在文件的大小的估算值,所述目录设置有目录配额,所述目录配额是基于所述用户输入的配额值确定的;
所述处理模块,用于基于所述目录配额、需设置于所述目录下的待增加文件的大小和所述估算值确定是否将所述待增加文件写入到所述目录。
8.如权利要求7所述的设备,其特征在于,所述处理模块在基于所述目录配额、需设置于所述目录下的待增加文件的大小和所述估算值确定是否将所述待增加文件写入到所述目录时,具体用于:
在所述估算值与所述待增加文件的大小的和值不大于所述目录配额的情况下,在所述目录下写入所述待增加文件。
9.如权利要求8所述的设备,其特征在于,所述设备还包括提示模块;
所述处理模块,还用于在所述估算值与所述待增加文件的大小的和值不大于所述配额值的情况下,进一步确认所述估算值、所述待增加文件的大小与所述目录的父目录下的已存在文件的大小之和是否不大于所述父目录的目录配额,如果是,在所述目录下写入所述待增加文件;
如果所述估算值、所述待增加文件的大小与所述目录的父目录下的已存在文件的大小之和大于所述父目录的目录配额,所述提示模块,用于产生提示信息,所述提示信息用于提示所述用户不能在所述目录下写入所述待增加文件。
10.如权利要求7所述的设备,其特征在于,所述提示模块,在所述处理模块在确定所述估算值与所述待增加文件的大小的和值大于所述配额值的情况下,产生提示信息,所述提示信息用于提示所述用户不能在所述目录下写入所述待增加文件。
11.如权利要求7~10任一所述的设备,其特征在于,所述处理模块还用于:
扫描所述目录中的已存在的文件,获取统计值,所述统计值用于指示所述已存在的文件已扫描的文件的大小;
根据所述统计值更新所述估算值。
12.如权利要求7~11任一所述的设备,其特征在于,所述目录的父目录设置有目录配额,所述处理模块,还用于:
记录所述目录与所述目录的父目录之间的归属关系;
将所述目录的父目录与所述目录中已存在的文件之间的归属关系更新为所述目录与所述目录中已存在的文件之间的归属关系。
13.一种装置,其特征在于,所述设备包括存储器以及处理器;所述存储器存储有程序指令,所述处理器读取所述存储器中存储的程序指令,执行如权利要求1~6任一所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011010184.1A CN114253905A (zh) | 2020-09-23 | 2020-09-23 | 一种基于目录配额的文件写入方法、装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011010184.1A CN114253905A (zh) | 2020-09-23 | 2020-09-23 | 一种基于目录配额的文件写入方法、装置以及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114253905A true CN114253905A (zh) | 2022-03-29 |
Family
ID=80788648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011010184.1A Pending CN114253905A (zh) | 2020-09-23 | 2020-09-23 | 一种基于目录配额的文件写入方法、装置以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253905A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118034611A (zh) * | 2024-04-09 | 2024-05-14 | 联想凌拓科技有限公司 | 用于对文件的配额进行管理的方法、装置、设备及介质 |
-
2020
- 2020-09-23 CN CN202011010184.1A patent/CN114253905A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118034611A (zh) * | 2024-04-09 | 2024-05-14 | 联想凌拓科技有限公司 | 用于对文件的配额进行管理的方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112650576B (zh) | 资源调度方法、装置、设备、存储介质及计算机程序产品 | |
US8397290B2 (en) | Granting least privilege access for computing processes | |
CN109213604B (zh) | 一种数据源的管理方法和装置 | |
CN107688626B (zh) | 慢查询日志处理方法、装置及电子设备 | |
CN109842621B (zh) | 一种减少token存储数量的方法及终端 | |
CN108885671A (zh) | 一种目录删除方法、装置和存储服务器 | |
CN107644075B (zh) | 收集页面信息的方法和装置 | |
CN113961510B (zh) | 一种文件处理方法、装置、设备及存储介质 | |
US20150058935A1 (en) | Out-of-Path, Content-Addressed Writes with Untrusted Clients | |
CN110086836B (zh) | 获取元数据的方法和装置 | |
US20160284013A1 (en) | Order processing system and order processing method | |
CN115039082A (zh) | 日志写入方法、装置、电子设备以及存储介质 | |
CN112363980B (zh) | 一种分布式***的数据处理方法及装置 | |
CN114995759A (zh) | 桶分片处理方法、装置、设备及介质 | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
CN111756618B (zh) | 群聊的处理方法及装置、电子设备、可读存储介质 | |
CN114253905A (zh) | 一种基于目录配额的文件写入方法、装置以及设备 | |
CN109165259B (zh) | 基于网络附属存储的索引表更新方法、处理器及存储装置 | |
CN112559118A (zh) | 应用数据迁移方法、装置、电子设备及存储介质 | |
US20030162559A1 (en) | Mobile communications terminal, information transmitting system and information receiving method | |
US20050188380A1 (en) | Cache control device, and method and computer program for the same | |
CN110019372A (zh) | 数据监控方法、装置、服务器及存储介质 | |
CN115391277A (zh) | 一种目录容量配额检测方法、装置、设备及介质 | |
CN111399754B (zh) | 存储空间的释放方法、装置及分布式*** | |
CN110968888B (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 |