CN115525603A - 存储统计方法、装置、计算机可读存储介质与ai设备 - Google Patents
存储统计方法、装置、计算机可读存储介质与ai设备 Download PDFInfo
- Publication number
- CN115525603A CN115525603A CN202211214751.4A CN202211214751A CN115525603A CN 115525603 A CN115525603 A CN 115525603A CN 202211214751 A CN202211214751 A CN 202211214751A CN 115525603 A CN115525603 A CN 115525603A
- Authority
- CN
- China
- Prior art keywords
- counted
- directory
- size
- modification time
- time
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000004048 modification Effects 0.000 claims abstract description 91
- 238000012986 modification Methods 0.000 claims abstract description 91
- 230000015654 memory Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 9
- 238000007619 statistical method Methods 0.000 abstract description 9
- 238000013473 artificial intelligence Methods 0.000 description 44
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011160 research Methods 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
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)
Abstract
本申请实施例提供了一种存储统计方法、装置、计算机可读存储介质与AI设备,该方法包括:获取待统计目录的当前次记录的修改时间与待统计目录的上一次记录的修改时间;在当前次记录的修改时间与上一次记录的修改时间相同且待统计目录包括子目录的情况下,重新统计待统计目录的下一级子目录的大小;在当前次记录的修改时间与上一次记录的修改时间不相同且待统计目录包括子目录时,重新统计待统计目录的下一级子目录的大小和直接从属于待统计目录的文件的大小,且根据重新统计后的待统计目录的下一级子目录的大小和重新统计后的直接从属于待统计目录的文件的大小重新确定待统计目录的大小。本方案解决了存储统计方法存储的资源IO消耗过多的问题。
Description
技术领域
本申请实施例涉及AI存储领域,具体而言,涉及一种存储统计方法、装置、计算机可读存储介质与AI设备。
背景技术
人工智能平台的一个重要的功能是存储文件的操作管理,包括用户文件的管理,数据集文件的管理等,用户可以在文件管理操作产生文件,也可以是业务中训练生成文件,这些大量文件生成操作都非常消耗集群的存储资源,且AI(Artificial Intelligence,人工智能)集群对于存储的要求非常高,集群存储伴随着频繁的IO(input and output输入和输出)操作,如何在集群存储对海量的文件中进行快速文件统计,存储性能不影响平台的训练任务和其它文件操作,成为AI集群中首要解决的问题,关乎于集群用户进行模型训练工作效率。
目前的一些方案中,直接遍历所有文件进行文件大小的统计,造成遍历过程不断的消耗存储的资源IO,同时也在不断消耗的业务服务的CPU(Central Processing Unit,中央处理器)和MEM(Memory,存储器)等资源,同时该方案得出统计结果也不理想,在海量文件下(TB级别以上)统计大小具有延时,且非常耗时,造成统计的结果有误差。
发明内容
本申请实施例提供了一种存储统计方法、装置、计算机可读存储介质与AI设备,以至少解决相关技术中存储统计方法存储的资源IO消耗过多的问题。
根据本申请的一个实施例,提供了一种存储统计方法,包括:
获取待统计目录的当前次记录的修改时间与所述待统计目录的上一次记录的修改时间;
在所述当前次记录的修改时间与所述上一次记录的修改时间相同且所述待统计目录包括子目录的情况下,重新统计所述待统计目录的下一级子目录的大小,且根据重新统计后的所述待统计目录的下一级子目录的大小重新确定所述待统计目录的大小;
在所述当前次记录的修改时间与所述上一次记录的修改时间不相同且所述待统计目录包括子目录的情况下,重新统计所述待统计目录的下一级子目录的大小和直接从属于所述待统计目录的文件的大小,且根据重新统计后的所述待统计目录的下一级子目录的大小和重新统计后的直接从属于所述待统计目录的文件的大小重新确定所述待统计目录的大小。
在一个示例性实施例中,所述方法还包括:在所述当前次记录的修改时间与所述上一次记录的修改时间相同且所述待统计目录不包括子目录的情况下,不再对所述待统计目录重新进行统计。
在另一个示例性实施例中,所述方法还包括:在所述当前次记录的修改时间与所述上一次记录的修改时间不相同且所述待统计目录不包括子目录的情况下,重新统计直接从属于所述待统计目录的文件的大小,且根据重新统计后的直接从属于所述待统计目录的文件的大小重新确定所述待统计目录的大小。
在又一个示例性实施例中,所述方法还包括:构建索引目录,所述索引目录用于表征从根索引目录至所述待统计目录的路径,所述索引目录还用于表征从根索引目录到文件的路径。
在再一个示例性实施例中,所述还包括:根据所述索引目录索引到从属于所述待统计目录的下一级子目录;根据所述索引目录索引到从属于所述待统计目录的下一级子目录的子目录,直到索引到直接从属于子目录的文件。
在另一个示例性实施例中,所述方法还包括:将获取所述待统计目录的当前次记录的修改时间的时刻确定为第一时刻;将获取所述待统计目录的上一次记录的修改时间的时刻确定为第二时刻,其中,所述第一时刻和所述第二时刻之间的时间差大于或者等于一小时。
在另一个示例性实施例中,所述方法还包括:生成大小显示控件;控制所述大小显示控件对各级目录的大小进行显示。
在另一个示例性实施例中,所述待统计目录的类型至少为以下之一:用户目录、共享目录、数据集目录、模型目录。
根据本申请的另一个实施例,提供了一种存储统计装置,包括:
获取单元,用于获取待统计目录的当前次记录的修改时间与所述待统计目录的上一次记录的修改时间;
第一统计单元,用于在所述当前次记录的修改时间与所述上一次记录的修改时间相同且所述待统计目录包括子目录的情况下,重新统计所述待统计目录的下一级子目录的大小,且根据重新统计后的所述待统计目录的下一级子目录的大小重新确定所述待统计目录的大小;
第二统计单元,用于在所述当前次记录的修改时间与所述上一次记录的修改时间不相同且所述待统计目录包括子目录的情况下,重新统计所述待统计目录的下一级子目录的大小和直接从属于所述待统计目录的文件的大小,且根据重新统计后的所述待统计目录的下一级子目录的大小和重新统计后的直接从属于所述待统计目录的文件的大小重新确定所述待统计目录的大小。
根据本申请的又一个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现任意一种所述的方法的步骤。
根据本申请的又一个实施例,提供了一种AI设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任意一种所述的方法的步骤。
通过本申请,根据待统计目录的当前次记录的修改时间与上述上一次记录的修改时间的相同或者不相同,以及待统计目录是否包括子目录,适应性地调整获取待统计目录的大小的方式。即是一种增量统计的方式,相对于直接遍历所有文件进行文件大小的统计的方式,大大减少了统计的工作量,节省了存储的资源IO。
附图说明
图1是根据本申请实施例的运行存储统计方法的AI设备硬件结构框图;
图2是根据本申请实施例的存储统计方法的流程图;
图3是根据本申请实施例的一种索引目录示意图;
图4是根据本申请实施例的另一种索引目录示意图;
图5是根据本申请实施例的存储统计装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
AI集群:用于管理和使用GPU、CPU和文件存储等资源的集群,上层可支持AI训练和推理等业务的大规模集群。
文件索引:一般指索引文件,在文件中随机存取记录,需要知道记录的地址,相当于本文中的索引目录。
树形结构:树形结构是一层次的嵌套结构。一个树形结构的外层和内层有相似的结构,所以这种结构多可以递归的表示。
本申请实施例中所提供的方法实施例可以在AI设备或者类似的运算装置中执行。以运行在AI设备上为例,图1是本申请实施例的一种存储统计方法的AI设备的硬件结构框图。如图1所示,AI设备可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述AI设备还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述AI设备的结构造成限定。例如,AI设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的存储统计方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至AI设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括AI设备的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述AI设备的方法,图2是根据本申请实施例的的流程图,如图2所示,该流程包括如下步骤:
步骤S202,获取待统计目录的当前次记录的修改时间与上述待统计目录的上一次记录的修改时间;
步骤S204,在上述当前次记录的修改时间与上述上一次记录的修改时间相同且上述待统计目录包括子目录的情况下,重新统计上述待统计目录的下一级子目录的大小,且根据重新统计后的上述待统计目录的下一级子目录的大小重新确定上述待统计目录的大小;
如图3所示,例如待统计目录是目录a1,此时的目录a1包括目录b1、文件b2、文件b3。即目录b1是目录a1的子目录,此时若发现目录a1当前次记录的修改时间与上述上一次记录的修改时间相同,这种情况可以确定文件b2、文件b3并未发生改变,即时间的变化是由直接从属于待统计目录的文件的变化引起的,也就是说在直接从属于待统计目录的文件的变化的情况下,修改时间必然是不同的。但是,如果两次修改时间是相同的,并不能确定待统计目录的子目录是否发生了变化,也就是不确定目录b1的大小是否发生了变化,此时就需要再次统计目录b1的大小。
步骤S206,在上述当前次记录的修改时间与上述上一次记录的修改时间不相同且上述待统计目录包括子目录的情况下,重新统计上述待统计目录的下一级子目录的大小和直接从属于上述待统计目录的文件的大小,且根据重新统计后的上述待统计目录的下一级子目录的大小和重新统计后的直接从属于上述待统计目录的文件的大小重新确定上述待统计目录的大小。
如图3所示,例如待统计目录是目录b1,且发现目录b1的当前次记录的修改时间与上述上一次记录的修改时间不相同,那么此时可以确定的直接从属于目录b1的文件c2、文件c3中的一个或者两个发生了变化。但是不确定从属于目录b1的目录c1的大小是否发生了变化。所以,这种情况下不仅仅要统计文件的大小还需要统计目录的大小。
通过上述步骤,首先,获取待统计目录的当前次记录的修改时间与上述待统计目录的上一次记录的修改时间,然后,在上述当前次记录的修改时间与上述上一次记录的修改时间相同且上述待统计目录包括子目录的情况下,重新统计上述待统计目录的下一级子目录的大小,且根据重新统计后的上述待统计目录的下一级子目录的大小重新确定上述待统计目录的大小,最后,在上述当前次记录的修改时间与上述上一次记录的修改时间不相同且上述待统计目录包括子目录的情况下,重新统计上述待统计目录的下一级子目录的大小和直接从属于上述待统计目录的文件的大小,且根据重新统计后的上述待统计目录的下一级子目录的大小和重新统计后的直接从属于上述待统计目录的文件的大小重新确定上述待统计目录的大小。根据待统计目录的当前次记录的修改时间与上述上一次记录的修改时间的相同或者不相同,以及待统计目录是否包括子目录,适应性地调整获取待统计目录的大小的方式。即是一种增量统计的方式,相对于直接遍历所有文件进行文件大小的统计的方式,大大减少了统计的工作量,节省了存储的资源IO。
在一些实施例中,上述方法还包括:在上述当前次记录的修改时间与上述上一次记录的修改时间相同且上述待统计目录不包括子目录的情况下,不再对上述待统计目录重新进行统计。
如图4所示,例如待统计目录是目录a2,并且目录a2的当前次记录的修改时间与上述上一次记录的修改时间相同,并且目录a2只包括文件e1和文件e2,此时说明文件e1和文件e2均为发生改变,所以此时无需重新统计目录a2的大小。
在另一些实施例中,上述方法还包括:在上述当前次记录的修改时间与上述上一次记录的修改时间不相同且上述待统计目录不包括子目录的情况下,重新统计直接从属于上述待统计目录的文件的大小,且根据重新统计后的直接从属于上述待统计目录的文件的大小重新确定上述待统计目录的大小。
如图4所示,例如待统计目录是目录a2,并且目录a2的当前次记录的修改时间与上述上一次记录的修改时间不相同,并且目录a2只包括文件e1和文件e2,所以,此时不清楚时间的不同是因为文件e1变化还是文件e2的变化还是文件e1和文件e2均变化引起的,所以,此时需要重新统计文件e1和文件e2的大小。
在另一些实施例中,上述方法还包括:构建索引目录,上述索引目录用于表征从根索引目录至上述待统计目录的路径,上述索引目录还用于表征从根索引目录到文件的路径。图3示出了一种索引目录,图4示出了一种索引目录。
进一步地,上述还包括:根据上述索引目录索引到从属于上述待统计目录的下一级子目录;根据上述索引目录索引到从属于上述待统计目录的下一级子目录的子目录,直到索引到直接从属于子目录的文件。
一种更为具体的实施例中,涉及一种具体的存储统计方法,包括如下步骤:
步骤S1:构建索引目录,上述索引目录用于表征从根索引目录至上述待统计目录的路径,上述索引目录还用于表征从根索引目录到文件的路径。
如图3所示,构建的索引目录包括:a1/b1、a1/b1/c1、a1/b1/c2、a1/b1/c3、a1/b1/c2/d1、a1/b1/c2/d2、a1/b1/c2/d3、a1/b2、a1/b3。
如图4所示,构建的索引目录包括:a1/b1、a1/b2、a1/b1/c1、a1/b1/c2、a1/b1/c3、a1/b1/c3/d1、a1/b1/c3/d2、a1/b1/c3/d3、a2/e1、a2/e2。
步骤S2:根据索引目录获取各级目录的初始的大小,一种具体的描述如表1所示,表1中记载有各个目录的初始大小、当前次记录的修改时间和拥有者,2022161600表示2022年16:16:00。111对应一个拥有者,222对应一个拥有者,333对应一个拥有者,444对应一个拥有者,555对应一个拥有者,666对应一个拥有者,777对应一个拥有者,888对应一个拥有者,999对应一个拥有者。
表1各级目录的详细信息表
步骤S3:按照索引目录判断各级目录的当前次记录的修改时间与上述上一次记录的修改时间是否相同,然后根据时间的相同或者不相同,对于每一级目录进行大小的确定,例如,对于索引目录a1/b1/c2/d2,先确定a1的时间是否相同,然后进行大小的统计,再确定b1的时间是否相同,然后进行大小的统计,再确定c2的时间是否相同,然后进行大小的统计,如果d2是文件,那就统计至d2结束,如果d2不是文件,那就继续统计至从属于d2的文件,也就是说从根目录一直统计至最小的文件的层级。
具体地,本方案根据文件目录的树形层级结构,构建类似hash的树形索引目录。例如,查找并更新存储路径/a/b/c/d,需要找到/a,然后找到/a/b,再得到/a/b/c,最后得到/a/b/c/d的存储信息,由于海量存储具有海量目录,找到其中一个目录需要耗费大量的时间,这里根据索引目录首先定位到其根目录,然后在根目录的子目录定位子目录的子目录,依次类推索引拿到相应的目录,该存储索引思想是利用了linux文件***的层级结构,并构造树形存储索引,达到快速定位存储目录信息的位置,方便快速进行目录大小查询,目录更新,提高增量存储统计效率,有效控制存储资源消耗,降低进行遍历计算时对存储产生的cpu和IO资源消耗。
在一些实施例中,上述方法还包括:将获取上述待统计目录的当前次记录的修改时间的时刻确定为第一时刻;将获取上述待统计目录的上一次记录的修改时间的时刻确定为第二时刻,其中,上述第一时刻和上述第二时刻之间的时间差大于或者等于一小时。将第一时刻和上述第二时刻之间的时间差设置为一小时或者几小时,相对于相关技术中的几秒钟或者几分钟统计一次的方式大大节省了资源,释放了较多的资源。
更进一步地,上述方法还包括:生成大小显示控件;控制上述大小显示控件对各级目录的大小进行显示。实现较直观地得到各级目录的大小。
具体地,可以将跟目录的大小显示在高度相同的第一显示行,将第二级目录的显示在高度相同的第二显示行,将第三级目录的显示在高度相同的第三显示行,依次类推。
具体地,上述待统计目录的类型至少为以下之一:用户目录、共享目录、数据集目录、模型目录。其中,用户目录指的是AI平台用户家目录(只能该用户进行访问的目录),用户创建AI任务、选择文件、数据集发生在用户目录,任务生成模型和产生日志均包括在用户目录中;共享目录指的是用户或者是***管理员将文件共享至的公共目录,用户均可以访问的目录;数据集目录指的是只存放数据集的目录,数据集目录的数据量非常大;模型目录指的是对模型进行管理的目录,用于管理任务生成的模型。当然,还可以包括除用户目录、共享目录、数据集目录、模型目录以外的目录。本领域技术人员可以根据实际情况进行设定。
其中,上述步骤的执行主体可以为AI设备集群等,但不限于此。
上述实施例中涉及的方法,可以满足企业和科研高校对计算力的要求,应用于AI设备集群,采用本申请的方案可以实现对集群存储对海量的文件中进行快速文件统计,减少IO操作,且存储性能不影响平台的训练任务和其它文件操作。另外,相对于直接遍历所有文件进行文件大小的统计的方式,可以减少消耗业务服务的CPU和MEM等资源,同时达到较理想的统计结果。针对海量文件的(TB级别以上)统计,统计的延时很短可以忽略不计,统计结果误差很小。
另外,目前AI云厂商,面向客户人员个体,由于其存储归属于自己管理,所有的存储文件上传入口都在自己的存储服务器上,该业务场景的存储大小统计方法相比直接遍历所有文件进行文件大小的统计的方式比较简单,只需要在用户使用存储的过程中,上传和删除文件进行文件大小的更新,同时不断对用户存储目录的监控,可以得到实时的统计结果,这种方法效果比较好,但对于私有云场景来说,该方法是无法得到预期的效果。而本申请可以克服这一缺陷。
另一种现有的存储统计方法是存储提供quota配额方法,例如nfs和beegfs等文件***,quota配额的优点非常明显,统计的速度快,统计的结果的准确,但是只限于存储的用户大小统计,其缺点非常明显,第一是不能统计目录级别的大小;第二是存储支持单一,对于AI场景挂载多个存储并不支持;第三对于AI场景下各业务使用大小,也不能统计公共目录和数据集目录的大小;最后quota方案或多或少对存储性能有些影响。针对AI场景下私有存储的海量文件大小统计,对存储资源的网络,磁盘,CPU和内存的消耗非常大,不适应AI场景。且AI平台的任务训练对存储的压力消耗也非常大。而本申请的方案恰好可以应用在AI场景中,而克服这一不足。
本申请的方案尤其适用于海量的文件进行目录大小统计,本方案具有如下优势:第一可以支持不同AI业务场景,将AI中用户目录,公共目录,数据集目录得到快速大小统计;第二提出增量统计方法是防止频繁循环遍历存储造成存储资源的消耗,同时提升存储统计的效率;第三对存储各个目录建立索引,快速遍历各个目录的大小。同时本方案提出的方法占用存储的网络和磁盘IO资源非常少,降低AI集群存储的压力。提高了AI集群的整体资源利用率,即不影响存储节点的文件操作,也不影响计算节点的AI训练任务,有效的解放了AI集群管理节点文件操作的压力。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例上述的方法。
在本实施例中还提供了一种存储统计装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的存储统计装置的结构框图,如图5所示,该装置包括:
获取单元51,用于获取待统计目录的当前次记录的修改时间与上述待统计目录的上一次记录的修改时间;
第一统计单元52,用于在上述当前次记录的修改时间与上述上一次记录的修改时间相同且上述待统计目录包括子目录的情况下,重新统计上述待统计目录的下一级子目录的大小,且根据重新统计后的上述待统计目录的下一级子目录的大小重新确定上述待统计目录的大小;
第二统计单元53,用于在上述当前次记录的修改时间与上述上一次记录的修改时间不相同且上述待统计目录包括子目录的情况下,重新统计上述待统计目录的下一级子目录的大小和直接从属于上述待统计目录的文件的大小,且根据重新统计后的上述待统计目录的下一级子目录的大小和重新统计后的直接从属于上述待统计目录的文件的大小重新确定上述待统计目录的大小。
上述存储统计装置,根据待统计目录的当前次记录的修改时间与上述上一次记录的修改时间的相同或者不相同,以及待统计目录是否包括子目录,适应性地调整获取待统计目录的大小的方式。即是一种增量统计的方式,相对于直接遍历所有文件进行文件大小的统计的方式,大大减少了统计的工作量,节省了存储的资源IO。
在一些实施例中,上述装置还包括处理单元,处理单元用于在上述当前次记录的修改时间与上述上一次记录的修改时间相同且上述待统计目录不包括子目录的情况下,不再对上述待统计目录重新进行统计。
在一些实施例中,上述装置还包括第三统计单元,第三统计单元用于在上述当前次记录的修改时间与上述上一次记录的修改时间不相同且上述待统计目录不包括子目录的情况下,重新统计直接从属于上述待统计目录的文件的大小,且根据重新统计后的直接从属于上述待统计目录的文件的大小重新确定上述待统计目录的大小。
另外,上述装置还包括构建单元,构建单元用于构建索引目录,上述索引目录用于表征从根索引目录至上述待统计目录的路径,上述索引目录还用于表征从根索引目录到文件的路径。
进一步地,上述装置还包括第一索引单元和第二索引单元,第一索引单元用于根据上述索引目录索引到从属于上述待统计目录的下一级子目录;第二索引单元用于根据上述索引目录索引到从属于上述待统计目录的下一级子目录的子目录,直到索引到直接从属于子目录的文件。
进一步地,上述装置还包括第一确定单元和第二确定单元,第一确定单元用于将获取上述待统计目录的当前次记录的修改时间的时刻确定为第一时刻;第二确定单元用于将获取上述待统计目录的上一次记录的修改时间的时刻确定为第二时刻,其中,上述第一时刻和上述第二时刻之间的时间差大于或者等于一小时。
进一步地,上述装置还包括生成单元和控制单元,生成单元用于生成大小显示控件;控制单元用于控制上述大小显示控件对各级目录的大小进行显示。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种AI设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述AI设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上上述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种存储统计方法,其特征在于,包括:
获取待统计目录的当前次记录的修改时间与所述待统计目录的上一次记录的修改时间;
在所述当前次记录的修改时间与所述上一次记录的修改时间相同且所述待统计目录包括子目录的情况下,重新统计所述待统计目录的下一级子目录的大小,且根据重新统计后的所述待统计目录的下一级子目录的大小重新确定所述待统计目录的大小;
在所述当前次记录的修改时间与所述上一次记录的修改时间不相同且所述待统计目录包括子目录的情况下,重新统计所述待统计目录的下一级子目录的大小和直接从属于所述待统计目录的文件的大小,且根据重新统计后的所述待统计目录的下一级子目录的大小和重新统计后的直接从属于所述待统计目录的文件的大小重新确定所述待统计目录的大小。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述当前次记录的修改时间与所述上一次记录的修改时间相同且所述待统计目录不包括子目录的情况下,不再对所述待统计目录重新进行统计。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述当前次记录的修改时间与所述上一次记录的修改时间不相同且所述待统计目录不包括子目录的情况下,重新统计直接从属于所述待统计目录的文件的大小,且根据重新统计后的直接从属于所述待统计目录的文件的大小重新确定所述待统计目录的大小。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
构建索引目录,所述索引目录用于表征从根索引目录至所述待统计目录的路径,所述索引目录还用于表征从根索引目录到文件的路径。
5.根据权利要求4所述的方法,其特征在于,所述还包括:
根据所述索引目录索引到从属于所述待统计目录的下一级子目录;
根据所述索引目录索引到从属于所述待统计目录的下一级子目录的子目录,直到索引到直接从属于子目录的文件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将获取所述待统计目录的当前次记录的修改时间的时刻确定为第一时刻;
将获取所述待统计目录的上一次记录的修改时间的时刻确定为第二时刻,其中,所述第一时刻和所述第二时刻之间的时间差大于或者等于一小时。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
生成大小显示控件;
控制所述大小显示控件对各级目录的大小进行显示。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述待统计目录的类型至少为以下之一:
用户目录、共享目录、数据集目录、模型目录。
9.一种存储统计装置,其特征在于,包括:
获取单元,用于获取待统计目录的当前次记录的修改时间与所述待统计目录的上一次记录的修改时间;
第一统计单元,用于在所述当前次记录的修改时间与所述上一次记录的修改时间相同且所述待统计目录包括子目录的情况下,重新统计所述待统计目录的下一级子目录的大小,且根据重新统计后的所述待统计目录的下一级子目录的大小重新确定所述待统计目录的大小;
第二统计单元,用于在所述当前次记录的修改时间与所述上一次记录的修改时间不相同且所述待统计目录包括子目录的情况下,重新统计所述待统计目录的下一级子目录的大小和直接从属于所述待统计目录的文件的大小,且根据重新统计后的所述待统计目录的下一级子目录的大小和重新统计后的直接从属于所述待统计目录的文件的大小重新确定所述待统计目录的大小。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至8任一项中所述的方法的步骤。
11.一种AI设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至8任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211214751.4A CN115525603A (zh) | 2022-09-30 | 2022-09-30 | 存储统计方法、装置、计算机可读存储介质与ai设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211214751.4A CN115525603A (zh) | 2022-09-30 | 2022-09-30 | 存储统计方法、装置、计算机可读存储介质与ai设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115525603A true CN115525603A (zh) | 2022-12-27 |
Family
ID=84701412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211214751.4A Pending CN115525603A (zh) | 2022-09-30 | 2022-09-30 | 存储统计方法、装置、计算机可读存储介质与ai设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525603A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116089364A (zh) * | 2023-04-11 | 2023-05-09 | 山东英信计算机技术有限公司 | 一种存储文件管理方法、装置、ai平台和存储介质 |
-
2022
- 2022-09-30 CN CN202211214751.4A patent/CN115525603A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116089364A (zh) * | 2023-04-11 | 2023-05-09 | 山东英信计算机技术有限公司 | 一种存储文件管理方法、装置、ai平台和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147411B (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN108683720B (zh) | 一种容器集群服务配置方法及装置 | |
CN110555012B (zh) | 数据迁移方法及装置 | |
CN103209087B (zh) | 分布式日志统计处理方法和*** | |
CN110413599A (zh) | 数据实时处理与存储***及方法 | |
CN108874803B (zh) | 数据存储方法、装置及存储介质 | |
CN111522636A (zh) | 应用容器的调整方法、调整***、计算机可读介质及终端设备 | |
Lai et al. | Towards a framework for large-scale multimedia data storage and processing on Hadoop platform | |
CN113010565B (zh) | 基于服务器集群的服务器实时数据处理方法及*** | |
WO2021051625A1 (zh) | 数据表的构建方法、装置、设备及存储介质 | |
CN106815260B (zh) | 一种索引建立方法及设备 | |
CN108848132B (zh) | 一种基于云的配电调度主站*** | |
CN105405070A (zh) | 一种分布式内存电网***构建方法 | |
CN110706125A (zh) | 水利大数据分析信息服务***和平台服务*** | |
CN105577423A (zh) | 一种实时数据中心群集管理*** | |
CN114722092A (zh) | 时序数据处理方法、***、存储介质和电子设备 | |
CN115525603A (zh) | 存储统计方法、装置、计算机可读存储介质与ai设备 | |
WO2017000592A1 (zh) | 数据处理方法、装置及*** | |
CN103530335A (zh) | 电力计量采集***的入库操作方法及装置 | |
CN105162622A (zh) | 一种存储方法和*** | |
CN112667747B (zh) | 支持自定义插件的动态配置多数据库分布式持久化方法 | |
CN113419938A (zh) | 用户并发访问的控制方法、装置及设备 | |
CN113055490B (zh) | 数据的存储方法及装置 | |
CN114442952A (zh) | 冷数据的迁移方法、装置、存储介质及电子装置 | |
CN105677853A (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 |