CN117421277A - 一种文件管理方法及相关设备 - Google Patents
一种文件管理方法及相关设备 Download PDFInfo
- Publication number
- CN117421277A CN117421277A CN202210808945.0A CN202210808945A CN117421277A CN 117421277 A CN117421277 A CN 117421277A CN 202210808945 A CN202210808945 A CN 202210808945A CN 117421277 A CN117421277 A CN 117421277A
- Authority
- CN
- China
- Prior art keywords
- file
- function
- storage system
- distributed storage
- structured query
- 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
- 238000007726 management method Methods 0.000 title abstract description 172
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000006870 function Effects 0.000 claims description 154
- 238000012217 deletion Methods 0.000 claims description 26
- 230000037430 deletion Effects 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 23
- 230000010076 replication Effects 0.000 claims description 17
- 230000003993 interaction Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 11
- 238000004891 communication Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 239000008186 active pharmaceutical agent Substances 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/14—Details of searching files based on file metadata
- G06F16/144—Query formulation
-
- 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/14—Details of searching files based on file metadata
-
- 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/14—Details of searching files based on file metadata
- G06F16/156—Query results presentation
-
- 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
-
- 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/18—File system types
- G06F16/182—Distributed 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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种文件管理方法,包括:接收结构化查询语句,该结构化查询语句中包括用户自定义的文件操作函数,然后根据结构化查询语句,调用分布式存储系统提供的与文件操作函数对应的文件操作接口,执行目标操作,返回目标操作的操作结果。该方法将SQL查询应用到分布式存储系统,通过并行化处理可以实现对分布式存储系统存储的文件进行高效地列表检索、复制或删除等管理,无需用户多次翻页,也无需按照文件名前缀进行匹配,具有较高执行效率,而且该方法简化了用户操作,提高了用户体验。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种文件管理方法、文件管理系统、计算设备集群、计算机可读存储介质、计算机程序产品。
背景技术
随着信息时代的到来,产生了海量的数据。如何对海量数据进行可靠存储成为业界研究的热点。目前,业界通常采用分布式存储对海量数据进行存储。分布式存储是指将数据分散存储在多台独立的设备。例如,数据可以分为多份,然后存储在不同服务器中。如此,即使某个或某些服务器故障,也能基于其他服务器中存储的部分数据进行恢复。
分布式存储可以包括分布式对象存储、分布式文件存储等不同类型。分布式存储还可以应用到云领域,以提供云存储服务。例如,对象存储应用到云领域,可以提供对象存储云服务(object storage service,OBS)。
对象存储云服务等存储系统可以为用户提供海量、安全、高可靠、低成本的数据存储能力,越来越多的用户将文件从本地磁盘转存到云端的对象存储上。这些文件可以是结构化的文本文件,或者是非结构化的图片文件、视频文件。文件转存之后,一方面可以提升存储稳定性,另一方面也可以降低存储成本。
随着存储的文件数量不断增加,文件管理也变得越来越困难。例如,对象存储等存储系统中的文件数量超过十万以上,通过目录来浏览文件的方式就变得异常困难。虽然存储系统提供了分页功能,但从几百页的目录中查找目标文件的用户体验较差。一些存储系统也提供按关键字匹配进行查询,但关键字匹配通常局限于从文件名前缀来匹配,难以满足文件管理需求。
发明内容
本申请提供了一种文件管理方法,该方法通过将结构化查询应用于分布式存储系统,通过并行化处理可以实现对分布式存储系统存储的文件进行高效地列表检索、复制或删除等管理,无需用户多次翻页,也无需按照文件名前缀进行匹配,具有较高执行效率,而且该方法简化了用户操作,提高了用户体验。本申请还提供了上述方法对应的文件管理系统、计算设备集群、计算机可读存储介质以及计算机程序产品。
第一方面,本申请提供了一种文件管理方法。该方法可以由文件管理系统执行。文件管理系统可以是软件系统,该软件系统可以部署于计算设备集群中,计算设备集群执行软件系统的程序代码,从而执行本申请实施例的文件管理方法。在一些实施例中,文件管理系统也可以是具有文件管理功能的硬件系统,该硬件系统运行时,执行本申请实施例的文件管理方法。
具体地,文件管理系统接收结构化查询语句,该结构化查询语句中包括用户自定义的文件操作函数,然后文件管理系统可以根据结构化查询语句,调用分布式存储系统提供的与文件操作函数对应的文件操作接口,执行目标操作,例如是列表检索操作、文件复制操作或文件删除操作,然后返回目标操作的操作结果。
该方法中,文件管理系统借鉴了大数据领域用户使用结构化查询分析数据,将结构化查询与大数据并行化执行框架结合提高执行效率的思路,将结构化查询应用到分布式存储系统,通过并行化处理可以实现对分布式存储系统存储的文件进行高效地列表检索、复制或删除等管理,无需用户多次翻页,也无需按照文件名前缀进行匹配,具有较高执行效率,而且该方法简化了用户操作,提高了用户体验。此外,该方法还可以实现将文件管理与文件分析结合使用,具有较高可用性。
在一些可能的实现方式中,所述文件操作函数包括列表检索函数、文件复制函数、文件删除函数中的一种或多种。当结构化查询语句中包括对上述文件操作函数的调用时,文件管理系统可以调用分布式存储系统提供的与上述文件操作函数对应的文件操作接口,如列举接口、文件复制接口、文件删除接口,执行目标操作。
如此,用户无需手动翻页,也无需输入文件名前缀进行匹配,即可实现文件检索、文件复制或文件删除等文件管理操作,并且具有较高的执行效率。
在一些可能的实现方式中,所述文件操作函数为所述文件复制参数或所述文件删除函数时,文件管理系统可以根据所述结构化查询语句,并行调用分布式存储系统提供的与所述文件复制函数或所述文件删除函数对应的文件操作接口,执行目标操作。
该方法通过并行调用文件复制函数或文件删除函数对应的文件操作接口,如文件复制接口或文件删除接口,可以提高文件复制或文件删除的效率,提升用户体验。
在一些可能的实现方式中,文件管理系统可以根据需要复制或删除的文件数量,确定并行线程的数量,然后根据该并行线程的数量,启动多个线程以并行调用分布式存储系统提供的与上述文件操作函数对应的文件操作接口,执行目标操作。例如,文件管理系统删除20000个文件时,文件管理系统可以启动100个线程,通过100个线程并行调用文件删除接口,执行文件删除操作,其中,每个线程可以删除100个文件。
如此,可以实现在保障文件复制或文件删除效率的情况下,尽可能合理地利用资源,提高资源利用率,避免资源浪费。
在一些可能的实现方式中,所述文件操作函数为列表检索函数时,文件管理系统可以根据所述结构化查询语句,调用分布式存储系统提供的与所述列表检索函数对应的列举接口,遍历指定目录下的文件名,并将所述文件名写入数组。其中,列举接口可以根据分布式存储系统的存储类型不同而不同,例如列举接口可以是列举对象接口,或者是列举文件接口。迭代翻页参数可以包括key-marker、max key。
该方法通过列表检索函数,可以实现自动地列表检索,无需用户手动翻页,提高了检索效率。并且该方法不局限于文件名前缀的匹配,能够基于其他关键字实现对文件的列表检索,可用性较高。
在一些可能的实现方式中,列表检索的结果较多,该结果难以在一次调用返回时,文件管理系统可以再次调用列举接口,传入迭代翻页参数,以继续遍历上述指定目录下的文件,并将剩余的文件名写入所述数组。
该方法通过多次调用列举接口,传入迭代参数,以遍历指定目录下的文件,直至该指定目录下的文件均被遍历一次,从而实现对大规模文件的自动检索,提高了检索效率。
在一些可能的实现方式中,列表检索函数定义的数组可以为二维字符串数组变量。文件管理系统在遍历指定目录下的文件名时,还可以遍历文件的元数据,将文件的文件名和元数据按行写入维字符串数组变量。其中,元数据可以包括创建者、创建时间、最近修改时间、文件大小、文件类型中的一种或多种。文件名可以写入第一列,元数据可以写入第二列。
该方法通过返回元数据,可以为用户提供更加丰富的信息,从而辅助用户从返回的文件列表中选择相应的文件进行后续操作,为用户提供参考信息。
在一些可能的实现方式中,文件管理系统还可以对所述分布式存储系统存储的文件的元数据进行统计,返回统计结果。其中,分布式存储系统存储的文件的元数据可以包括文件大小、文件类型等中的一种或多种。文件管理系统可以对文件大小的平均值、和值或者分布进行统计,类似地,文件管理系统可以对不同文件类型的文件数量进行统计、对文件类型的分布进行统计。统计结果可以包括文件大小的平均值、和值、分布以及不同文件类型的文件数量、文件类型的分布中的一种或多种。
文件管理系统通过返回上述统计结果,可以辅助用户决策,为用户进行后续的文件管理提供帮助。
在一些可能的实现方式中,所述统计结果包括文件大小统计结果或文件类型统计结果中的一种或多种。如此,可以帮助用户快速了解当前分布式存储系统中存储文件的大小、类型的分布等信息,为后续文件管理提供帮助。
在一些可能的实现方式中,所述分布式存储系统包括分布式对象存储系统或分布式文件存储系统。
该方法支持不同存储类型的分布式存储系统中的文件管理,例如是分布式对象存储系统或分布式文件存储系统中的文件管理,能够满足不同业务场景的需求,具有较高可用性。
第二方面,本申请提供了一种文件管理系统。所述系统包括:
交互模块,用于接收结构化查询语句,所述结构化查询语句中包括用户自定义的文件操作函数;
管理模块,用于根据所述结构化查询语句,调用分布式存储系统提供的与所述文件操作函数对应的文件操作接口,执行目标操作;
所述交互模块,还用于返回所述目标操作的操作结果。
在一些可能的实现方式中,所述文件操作函数包括列表检索函数、文件复制函数、文件删除函数中的一种或多种。
在一些可能的实现方式中,所述管理模块具体用于:
所述文件操作函数为所述文件复制参数或所述文件删除函数时,根据所述结构化查询语句,并行调用分布式存储系统提供的与所述文件复制函数或所述文件删除函数对应的文件操作接口,执行目标操作。
在一些可能的实现方式中,所述管理模块具体用于:
所述文件操作函数为列表检索函数时,根据所述结构化查询语句,调用分布式存储系统提供的与所述列表检索函数对应的列举接口,遍历指定目录下的文件名,并将所述文件名写入数组。
在一些可能的实现方式中,所述管理模块还用于:
再次调用所述列举接口,传入迭代翻页参数,以继续遍历所述指定目录下的文件名,并将剩余的文件名写入所述数组。
在一些可能的实现方式中,所述管理模块还用于:
对所述分布式存储系统存储的文件的元数据进行统计;
所述交互模块还用于:
返回统计结果。
在一些可能的实现方式中,所述统计结果包括文件大小统计结果或文件类型统计结果中的一种或多种。
在一些可能的实现方式中,所述分布式存储系统包括分布式对象存储系统或分布式文件存储系统。
第三方面,本申请提供一种计算设备集群。所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器。所述至少一个处理器、所述至少一个存储器进行相互的通信。所述至少一个处理器用于执行所述至少一个存储器中存储的指令,以使得计算设备或计算设备集群执行如第一方面或第一方面的任一种实现方式所述的文件管理方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示计算设备或计算设备集群执行上述第一方面或第一方面的任一种实现方式所述的文件管理方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算设备或计算设备集群上运行时,使得计算设备或计算设备集群执行上述第一方面或第一方面的任一种实现方式所述的文件管理方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
图1为本申请实施例提供的一种文件管理系统的架构示意图;
图2为本申请实施例提供的一种文件管理方法的流程图;
图3为本申请实施例提供的一种文件管理方法的交互流程图;
图4为本申请实施例提供的一种文件管理系统的结构示意图;
图5为本申请实施例提供的一种计算设备集群的结构示意图;
图6为本申请实施例提供的一种计算设备集群的结构示意图;
图7为本申请实施例提供的一种计算设备集群的结构示意图;
图8为本申请实施例提供的一种计算设备集群的结构示意图。
具体实施方式
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
首先对本申请实施例中所涉及到的一些技术术语进行介绍。
分布式存储,是指将数据分片以分散存储在通过网络连接的多台独立的设备。多台独立的设备可以形成分布式存储系统,从而对外提供统一的服务。其中,每台独立的设备如服务器可以视为分布式存储系统的一个节点,也可以称作存储节点。分布式存储能够通过分散存储,解决传统的非分布式存储在数据量达到一定规模之后存在单点故障问题,具有较高可靠性和较高性能。
根据存储类型,分布式存储可以分为分布式对象存储、分布式文件存储等不同类型。其中,分布式对象存储是将分布式存储与对象存储结合,分布式文件存储是指将分布式存储与文件存储结合。其中,分布式文件存储可以包括网络附加存储(Network AttachedStorage,NAS)、Hadoop分布式文件系统(Hadoop distributed file system,HDFS)等存储架构,分布式对象存储可以包括Swift、简单存储服务(simple storage service,S3)等存储架构。
分布式对象存储综合了NAS和存储区域网络(Storage Area Network,SAN)的优点,同时具有SAN的高速直接访问和NAS的分布式数据共享等优势,为客户提供海量、安全、高可靠、低成本的数据存储能力,使用时无需考虑容量限制,满足客户各类业务场景诉求。
由于分布式对象存储等分布式存储系统可以为用户提供海量、安全、高可靠、低成本的数据存储能力,越来越多的用户选择将文本、音频、视频等文件存储至分布式存储系统中,例如是存储到对象存储云服务(object storage service,OBS)。
随着分布式存储系统中存储的文件数量不断增加,文件管理也变得越来越困难。例如,分布式存储系统中的文件数量超过十万以上,通过目录来浏览文件的方式就变得异常困难。虽然分布式存储系统提供了分页功能,但从几百页的目录中查找目标文件的用户体验较差。一些分布式存储系统也提供按关键字匹配进行查询,但关键字匹配通常局限于从文件名前缀来匹配,难以满足文件管理需求。
有鉴于此,本申请实施例提供了一种文件管理方法。该方法可以由文件管理系统执行。文件管理系统可以是软件系统,该软件系统可以部署于计算设备集群中,计算设备集群执行软件系统的程序代码,从而执行本申请实施例的文件管理方法。在一些实施例中,文件管理系统也可以是具有文件管理功能的硬件系统,该硬件系统运行时,执行本申请实施例的文件管理方法。
具体地,文件管理系统接收结构化查询(Structured Query Language,SQL)语句,该结构化查询语句中包括用户自定义的文件操作函数,然后文件管理系统可以根据SQL语句,调用分布式存储系统提供的与文件操作函数对应的文件操作接口,执行目标操作,例如是列表检索操作、文件复制操作或文件删除操作,然后返回目标操作的操作结果。
该方法中,文件管理系统借鉴了大数据领域用户使用SQL查询分析数据,将SQL查询与大数据并行化执行框架结合提高执行效率的思路,将SQL查询应用到分布式存储系统,通过并行化处理可以实现对分布式存储系统存储的文件进行高效地列表检索、复制或删除等管理,无需用户多次翻页,也无需按照文件名前缀进行匹配,具有较高执行效率,而且该方法简化了用户操作,提高了用户体验。此外,该方法还可以实现将文件管理与文件分析结合使用,具有较高可用性。
为了使得本申请的技术方案更加清楚、易于理解,下面附图,对本申请实施例的文件管理系统进行介绍。
参见图1所示的文件管理系统的架构示意图,该文件管理系统100与分布式存储系统200连接。其中,文件管理系统100可以是上文所述的软件系统或硬件系统,为了便于描述,本申请实施例以文件管理系统100为软件系统示例说明。
在该示例中,文件管理系统100可以是云原生数据湖服务(MapReduce Service,MRS)、数据湖探索(Data Lake Insight,DLI)。其中,MRS为客户提供Hudi、ClickHouse、Spark、Flink、Kafka、HBase等Hadoop生态的高性能大数据组件,支持数据湖、数据仓库、BI、AI融合等能力,DLI是完全兼容Apache Spark、Apache Flink、openLooKeng生态,提供一站式的流处理、批处理、交互式分析的Serverless融合处理分析服务。分布式存储系统200可以是分布式对象存储系统,如OBS,或者是分布式文件系统。
如图1所示,文件管理系统100支持用户自定义函数(User Defined Function,UDF)。在使用SQL对文件进行管理操作时,当系统内置函数无法满足场景需求时,用户可以编写UDF,来满足文件管理的需求。在本实施例中,用户编写的UDF包括用户自定义的文件操作函数。该文件操作函数可以为列表检索函数、文件复制函数或者文件删除函数中的一种或多种。在图1的示例中,文件管理系统100支持用户自定义的列表检索函数、文件复制函数和文件删除函数,记作UDF(ls_file,drop_file,cp_file)。
用户可以使用文件管理系统100支持的上述文件操作函数编写SQL语句,例如用户可以使用文件删除函数编写用于删除文件的SQL语句,接着文件管理系统100接收用户编写的SQL语句,根据该SQL语句,调用分布式存储系统200提供的与文件操作函数对应的文件操作接口,对分布式存储系统200中存储的文件执行目标操作,接着向用户返回目标操作的操作结果。
接下来,将从文件管理系统100的角度,对本申请实施例的文件管理方法进行详细说明。
参见图2所示的文件管理方法的流程图,该方法包括:
S202:文件管理系统100接收SQL语句。
SQL语句为基于结构化查询语言SQL的语句。SQL是一种通用的、功能极强的关系数据库语言,广泛应用于存取、查询、升级和管理相关的数据库系统。SQL还可以分为数据定义语言(Data definition language,DDL)、数据操纵语言(Data Manipulation Language,DML)和数据控制语言(Data Control Language,DCL)。
SQL语句中包括用户自定义的文件操作函数。在一些实施例中,SQL语句中可以包括用户自定义的列表检索函数、文件复制函数或文件删除函数中的一种或多种。为了降低SQL使用难度,文件管理系统100可以支持SQL框架。例如,文件管理系统100可以支持SQL2003,兼容Spark SQL、Flink SQL。基于此,文件操作函数可以基于SQL框架实现。
下面以文件操作函数基于Spark SQL框架实现进行示例说明。
第一种文件操作函数为列表检索函数,也称作文件列表函数,记作ls_file()。列表检索函数的输入参数和输出参数参见下表:
表1列表检索函数的输入参数和输出参数
参数 | 类型 | 说明 |
输入参数 | 字符串 | 指定的对象存储桶或目录路径 |
输出参数 | 表 | 包括文件名及元数据,输出结果为遍历出来的所有文件及元数据 |
其中,元数据可以包括创建者、创建时间、最近修改时间、文件大小、文件类型中的一种或多种。在一些实施例中,输出参数中的元数据为可选参数,也即列表检索函数也可以不包括元数据。
列表检索函数的工作过程可以为:定义二维字符串数组变量,第一列保存文件名,第二列保存文件的元数据。列表检索函数可以根据执行上下文获取当前用户的身份令牌(token),该token可以是与用户身份有关的编码。token可以通过base64编码算法编码得到,该token可以与用户名、密码关联,以用于标识用户身份。在一些实施例中,考虑到安全性,token还可以设置有效期,例如token的有效期可以为5分钟(minute,min)。当用户身份token验证通过时,调用底层的分布式存储系统200的列举接口,该列举接口可以是应用程序编程接口(application programming interface,API)遍历指定目录下的文件名及元数据,按行写入二维字符串数组变量,其中,文件名写入第一列,元数据写入第二列。其中,列举接口可以根据分布式存储系统200的存储类型不同而不同,例如列举接口可以是列举对象接口,或者是列举文件接口。迭代翻页参数可以包括key-marker、max key。
进一步地,当结果无法在一次调用返回时,可以再次调用列举接口,传入迭代翻页参数,继续遍历上述指定目录下的文件名及元数据,直至该指定目录下的所有文件均遍历完为止。
需要说明的是,列表检索函数的输出参数不包括元数据时,则列表检索函数在工作时,可以定义一维字符串数组变量,该数组变量可以是一列,或者是一行。相应地,在通过列举接口遍历指定目录时,可以遍历指定目录下的文件名,并将文件名写入一维字符串数组变量。
本申请还提供了列表检索函数的使用方法,如下所示:
SELECT file_name FROM(SELECT file_name FROM ls_file(“s3://bucket/dir”)as file_name,file_meta)a WHERE file_name LIKE“%abc%”
以上提供了一种通过列表检索函数编写用于文件检索的SQL语句的模板,表示检索s3://bucket/dir目录下文件名中包括“abc”字符串的文件。
第二种文件操作函数为文件删除函数,记作drop_file()。文件删除函数的输入参数和输出参数参见下表:
表2文件复制函数的输入参数和输出参数
参数 | 类型 | 说明 |
输入参数 | 字符串 | 指定要删除的文件路径及名称 |
输出参数 | 字符串 | 成功返回“OK”,失败返回“Failed-对应的错误信息” |
文件删除函数的工作过程可以为,根据执行上下文获取当前用户的身份token,当身份token验证通过,调用分布式存储系统200提供的删除接口,传入指定要删除的数据。需要说明的是,该删除接口可以是API,根据分布式存储系统200的存储类型不同,删除接口可以不同,例如删除接口可以是删除对象接口或者删除文件接口。当API调用成功,则可以返回“OK”,当API调用失败,则可以返回“Failed”,进一步地,还可以返回错误信息,如返回“Failed-对应的错误信息”。
本申请还提供了文件删除函数的使用方法,如下所示:
SELECT drop_file(file_name)FROM(SELECT file_name FROM ls_file(“s3://bucket/dir”)as file,file_meta)a WHERE file_name LIKE“%abc%”
以上提供了一种通过文件删除函数编写用于文件删除的SQL语句的模板,该模板表示删除s3://bucket/dir目录下文件名中包括“abc”字符串的文件。需要说明,该模板中还嵌套了ls_file()函数。在一些实施例中,用于文件删除SQL语句也可以不包括ls_file()函数。
第三种文件操作函数为文件复制函数,记作cp_file()。文件复制函数的输入参数和输出参数参见下表:
表3文件复制函数的输入参数和输出参数
参数 | 类型 | 说明 |
输入参数-1 | 字符串 | 要复制的源文件的路径及名称 |
输入参数-2 | 字符串 | 目标文件的路径及名称 |
输出参数 | 字符串 | 成功返回“OK”,失败返回“Failed-对应的错误信息” |
文件复制函数的工作过程可以为,根据执行上下文获取当前用户的身份token,当身份token验证通过,调用分布式存储系统200提供的复制接口,传入要复制的源文件(可以是文件存储形式的文件或对象存储形式的文件)的路径和名称以及目标文件(可以是文件存储形式的文件或对象存储形式的文件)的路径及名称。
需要说明的是,该复制接口可以是API,根据分布式存储系统200的存储类型不同,复制接口可以不同,例如复制接口可以是复制对象接口或者复制文件接口。当API调用成功,则可以返回“OK”,当API调用失败,则可以返回“Failed”,进一步地,还可以返回错误信息,如返回“Failed-对应的错误信息”。
本申请还提供了文件复制函数的使用方法,如下所示:
SELECT cp_file(file_name,concat(file_name,“.bak”)FROM(SELECT file_name FROM ls_file(“s3://bucket/dir”)as file,file_meta)a WHERE file_name LIKE“%abc%”
以上提供了一种通过文件复制函数编写用于文件复制的SQL语句的模板,该模板表示表示将s3://bucket/dir目录下文件名中包括“abc”字符串的文件复制一份,新的文件名在原文件名后加“.bak”。需要说明,该模板中还嵌套了ls_file()函数。在一些实施例中,用于文件删除SQL语句也可以不包括ls_file()函数。
用户可以参照上述模板编写用于文件检索、文件复制或文件删除的SQL语句。文件管理系统100可以通过图形用户界面(graphical user interface,GUI)或命令用户界面(command user interface,CUI)接收该SQL语句。
S204:文件管理系统100根据SQL语句,调用分布式存储系统200提供的与所述文件操作函数对应的文件操作接口,执行目标操作。
具体地,文件管理系统100可以对接收到的SQL语句进行语法分析,根据该语法分析的结果生成执行计划。接着文件管理系统100根据优化后的执行计划生成执行代码,以task方式提交到执行器executor上执行,task调用自定义函数对应的库文件UDF lib,UDF执行时,可以获取当前用户的身份token,在身份token验证通过后,调用分布式存储系统200提供的与文件操作函数对应的文件操作接口,执行目标操作。
其中,生成执行计划的过程是将SQL语句转换为一组经过优化后的逻辑和物理操作的过程。以Spark SQL为例,文件管理系统生成执行计划就是经过一系列组件如解析器parser、分析器analyzer、optimizer优化器的处理、优化,将SQL转换为一组作业Job。这一组作业可以通过有向无环图(directed acyclic graph,DAG)表征,DAG可以放入到执行器Spark Executors中执行。需要说明的是,文件管理系统100在生成执行计划时,可以根据语法分析的结果先生成逻辑执行计划,然后基于逻辑执行计划生成物理执行计划,以便于执行器执行。
其中,文件操作函数为文件复制函数或文件删除函数时,文件管理系统100可以根据所述SQL语句,并行调用分布式存储系统200提供的与所述文件复制函数或所述文件删除函数对应的文件操作接口,执行文件复制或文件删除操作。其中,文件管理系统100可以根据需要复制或删除的文件数量,确定并行线程的数量。例如,文件管理系统100删除20000个文件时,文件管理系统100可以启动100个线程,通过100个线程并行调用文件删除接口,执行文件删除操作,其中,每个线程可以删除100个文件。
文件操作函数为列表检索函数时,文件管理系统100可以根据所述SQL语句,调用分布式存储系统200提供的与所述列表检索函数对应的列举接口,遍历指定目录下的文件名,并将所述文件名写入数组。进一步地,文件管理系统100还可以遍历指定目录下文件的元数据,并将元数据写入数组。其中,数组可以是二维字符串数组变量,文件管理系统100可以将文件名写入第一列,将元数据写入第二列。
需要说明的是,当文件操作函数为列表检索函数时,文件管理系统100如果未能一次返回操作结果,则文件管理系统100可以再次调用所述列举接口,传入迭代翻页参数,以继续遍历所述指定目录下的文件名,并将剩余的文件名写入所述数组。进一步地,文件操作函数的输出参数包括元数据时,文件管理系统100可以继续遍历指定目录下的文件名和元数据,从而将文件名和元数据继续写入数组。
S206:文件管理系统100返回目标操作的操作结果。
具体地,文件操作函数为列表检索函数时,文件管理系统100可以返回文件名列表。进一步地,文件管理系统100还可以返回各文件名所标识文件的元数据。其中,文件管理系统100可以返回数组中的文件名和元数据,从而返回目标操作的操作结果。
文件操作函数为文件复制函数或文件删除函数时,文件管理系统100可以返回“成功”或者“失败”,以告知用户复制/删除文件成功或者复制/删除文件失败。
在一些可能的实现方式中,文件管理系统100还可以对分布式存储系统200存储的文件的元数据进行统计,返回统计结果。其中,分布式存储系统200存储的文件的元数据可以包括文件大小、文件类型等中的一种或多种。文件管理系统100可以对文件大小的平均值、和值或者分布进行统计,类似地,文件管理系统100可以对不同文件类型的文件数量进行统计、对文件类型的分布进行统计。统计结果可以包括文件大小的平均值、和值、分布以及不同文件类型的文件数量、文件类型的分布中的一种或多种。文件管理系统100通过返回统计结果可以辅助用户决策。
基于上述内容描述,本申请实施例提供了一种文件管理方法。该方法将SQL查询应用到分布式存储系统,通过并行化处理可以实现对分布式存储系统存储的文件进行高效地列表检索、复制或删除等管理,无需用户多次翻页,也无需按照文件名前缀进行匹配,具有较高执行效率,而且该方法简化了用户操作,提高了用户体验。此外,该方法还可以实现将文件管理与文件分析结合使用,具有较高可用性。
图2所示实施例从文件管理系统100的角度对本申请实施例的文件管理方法进行了介绍,接下来,将从用户、文件管理系统100、UDF lib和分布式存储系统200交互的角度,对本申请实施例的文件管理方法进行说明。
参见图3所示的文件管理方法的交互流程图,该方法包括:
S302:用户向文件管理系统100提交SQL语句。
该SQL语句可以是用于文件管理的SQL语句。例如,SQL语句可以是用于文件检索的SQL语句,或者是用于文件复制的SQL语句,又或者是用于文件删除的SQL语句。用户基于文件管理系统100的接口编写上述SQL语句,并提交SQL语句至文件管理系统100。
S304:文件管理系统100根据SQL语句进行语法解析,生成执行计划。
语法解析(parsing)是将输入字符流转换成结构化内部表示的过程。常见的内部表示是树。通过语法解析得到的树也称作抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。文件管理系统100可以递归地处理树这种数据结构。
文件管理系统100可以通过对SQL语句进行语法分析,获得AST,然后通过语义分析,为AST绑定元数据。接着文件管理系统100可以通过logicplanner,将绑定元数据的AST转换成逻辑计划树,然后通过优化器optimizer对逻辑计划树进行优化,生成逻辑执行计划。其中,文件管理系统100还可以通过Plan Fragmenter对逻辑执行计划进行逻辑分段,获得可供分布式分析的分段逻辑执行计划。
在生成分段的逻辑执行计划后,是不能直接放到执行器(也称作执行引擎)中执行的。因为分段的逻辑执行计划还是抽象的概念,比如Aggregation还是抽象的,其代表的是相同id进行合并,而实现方法具体到执行引擎比如mr需要hash shuffle来实现。所以需要根据不同执行引擎(presto/spark/mr/tez等)生成对应的物理执行计划。
虽然不同执行引擎各有差异,但通常都可以执行如下步骤以生成物理执行计划:
步骤1:由分段逻辑计划生成task执行图;
步骤2:将task的执行图转换成基于Operator的最小执行单元执行图。
与生成逻辑计划都在master节点不同,上述步骤1和2一般可以在worker节点中生成并运算。
S306:文件管理系统100根据执行计划生成执行代码,以task方式提交到执行器。
S308:文件管理系统100通过task调用UDF lib。
其中,文件管理系统100可以包括多个task,多个task可以并行调用UDF lib,从而提供执行效率。
S310:UDF执行时获取当前用户的身份token。
需要说明的是,执行本申请实施例的文件管理方法也可以不执行上述S310。获取身份token并基于身份token进行验证,可以保障文件管理的安全性,避免攻击者对文件进行恶意删除或恶意复制,或者窃取文件列表。
S312:身份token验证通过,UDF调用分布式存储系统200的文件操作接口,以执行目标操作。
S314:分布式存储系统200响应于UDF的接口调用,执行目标操作。
S316:分布式存储系统200返回目标操作的操作结果。
目标操作为文件复制操作或文件删除操作时,操作结果可以为成功或者失败。目标操作为列表检索操作时,操作结果可以为文件列表。文件列表中包括与检索条件匹配的文件名。进一步地,文件列表中还可以包括文件名所标识的文件的元数据。
S318:UDF对操作结果进行校验,校验通过,则执行S320。
S320:UDF返回操作结果。
S322:文件管理系统100合并操作结果。
S324:文件管理系统100返回合并后的操作结果。
当目标操作为列表检索操作,且UDF难以一次返回结果时,文件管理系统100可以对多次返回的操作结果进行合并,得到合并后的操作结果,例如是合并后的文件列表。然后文件管理系统100可以向用户返回合并后的文件列表。
其中,S322至S324为本申请实施例的可选步骤,执行本申请实施例的文件管理方法也可以不执行上述S322至S324。例如,目标操作为文件复制操作或文件删除操作时,文件管理系统100可以不执行上述S322至S324。
基于上述内容描述,可知本申请实施例的文件管理方法,使用SQL查询实现对分布式存储系统200中存储的文件的管理,SQL查询简单,易于掌握,而且可以通过并行化框架并行管理分布式存储的文件,执行效率高,能够满足用户的需求。
需要说明的是,上述实施例主要对文件管理能力进行了扩展增强。针对存算分离的架构,还可以对计算能力也进行扩展增强,例如可以通过并行化框架,进行文件压缩、音视频的编解码,提高压缩效率、编解码效率。
基于本申请实施例提供的文件管理方法,本申请实施例还提供了一种如前述的文件管理系统100。下面结合附图对文件管理系统100进行介绍。
参见图4所示的文件管理系统100的结构示意图,该系统100包括:
交互模块102,用于接收结构化查询语句,所述结构化查询语句中包括用户自定义的文件操作函数;
管理模块104,用于根据所述结构化查询语句,调用分布式存储系统提供的与所述文件操作函数对应的文件操作接口,执行目标操作;
所述交互模块102,还用于返回所述目标操作的操作结果。
当通过软件实现时,交互模块102、管理模块104可以是运行在计算设备或计算设备集群上的应用程序或者应用程序模块。该应用程序或应用程序模块可以是计算引擎、虚机(virtual machine,VM)或者是容器(container)。虚机是模拟出来的一台虚拟的计算机,也即逻辑上的一台计算机。容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以达到隔离用户空间、进程和资源的目的。应理解,上述虚机、容器是通过虚拟化服务如VM服务、容器服务实现,在实际应用中,虚拟化服务还可以时其他轻量级或者重量级的虚拟化服务,此处不作具体限定。
当通过硬件实现时,交互模块102可以包括通信接口设备,例如是显示器。管理模块104可以包括至少一个计算设备,如服务器。或者管理模块104也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
在一些可能的实现方式中,所述文件操作函数包括列表检索函数、文件复制函数、文件删除函数中的一种或多种。
在一些可能的实现方式中,所述管理模块104具体用于:
所述文件操作函数为所述文件复制参数或所述文件删除函数时,根据所述结构化查询语句,并行调用分布式存储系统提供的与所述文件复制函数或所述文件删除函数对应的文件操作接口,执行目标操作。
在一些可能的实现方式中,所述管理模块104具体用于:
所述文件操作函数为列表检索函数时,根据所述结构化查询语句,调用分布式存储系统提供的与所述列表检索函数对应的列举接口,遍历指定目录下的文件名,并将所述文件名写入数组。
在一些可能的实现方式中,所述管理模块104还用于:
再次调用所述列举接口,传入迭代翻页参数,以继续遍历所述指定目录下的文件名,并将剩余的文件名写入所述数组。
在一些可能的实现方式中,所述管理模块104还用于:
对所述分布式存储系统存储的文件的元数据进行统计;
所述交互模块102还用于:
返回统计结果。
在一些可能的实现方式中,所述统计结果包括文件大小统计结果或文件类型统计结果中的一种或多种。
在一些可能的实现方式中,所述分布式存储系统包括分布式对象存储系统或分布式文件存储系统。
本申请还提供一种计算设备500。如图5所示,计算设备500包括:总线502、处理器504、存储器506和通信接口508。处理器504、存储器506和通信接口508之间通过总线502通信。计算设备500可以是服务器或终端设备。应理解,本申请不限定计算设备500中的处理器、存储器的个数。
总线502可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线504可包括在计算设备500各个部件(例如,存储器506、处理器504、通信接口508)之间传送信息的通路。
处理器504可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器506可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器504还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。存储器506中存储有可执行的程序代码,处理器504执行该可执行的程序代码以实现前述文件管理方法。具体的,存储器506上存有文件管理系统100用于执行文件管理方法的指令。
通信接口503使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备500与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
如图6所示,所述计算设备集群包括至少一个计算设备500。计算设备集群中的一个或多个计算设备500中的存储器506中可以存有相同的文件管理系统100用于执行文件管理方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备500也可以用于执行文件管理系统100用于执行文件管理方法的部分指令。换言之,一个或多个计算设备500的组合可以共同执行文件管理系统100用于执行文件管理方法的指令。
需要说明的是,计算设备集群中的不同的计算设备500中的存储器506可以存储不同的指令,用于执行文件管理系统100的部分功能。
图7示出了一种可能的实现方式。如图7所示,两个计算设备500A和500B通过通信接口508实现连接。计算设备500A中的存储器上存有用于执行交互模块102的功能的指令。计算设备500B中的存储器上存有用于执行管理模块104的功能的指令。换言之,计算设备500A和500B的存储器506共同存储了文件管理系统100用于执行文件管理方法的指令。
图7所示的计算设备集群之间的连接方式可以是考虑到本申请提供的文件管理方法需要交互结构化查询语句、操作结果。因此,考虑将交互模块102实现的功能交由计算设备500A执行,管理模块104实现的功能由计算设备500B执行。
应理解,图7中示出的计算设备500A的功能也可以由多个计算设备500完成。同样,计算设备500B的功能也可以由多个计算设备500完成。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图8示出了一种可能的实现方式。如图8所示,两个计算设备500C和500D之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备500C中的存储器506中存有执行交互模块102的功能的指令。同时,计算设备500D中的存储器506中存有执行管理模块104的功能的指令。
图8所示的计算设备集群之间的连接方式可以是考虑到本申请提供的文件管理方法需要交互结构化查询语句、操作结果,因此考虑将交互模块102实现的功能交由计算设备500C执行,管理模块104实现的功能由计算设备500D执行。应理解,图8中示出的计算设备500C的功能也可以由多个计算设备500完成。同样,计算设备500D的功能也可以由多个计算设备500完成。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述应用于文件管理系统100用于执行文件管理方法。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行上述文件管理方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
Claims (19)
1.一种文件管理方法,其特征在于,所述方法包括:
接收结构化查询语句,所述结构化查询语句中包括用户自定义的文件操作函数;
根据所述结构化查询语句,调用分布式存储系统提供的与所述文件操作函数对应的文件操作接口,执行目标操作;
返回所述目标操作的操作结果。
2.根据权利要求1所述的方法,其特征在于,所述文件操作函数包括列表检索函数、文件复制函数、文件删除函数中的一种或多种。
3.根据权利要求2所述的方法,其特征在于,所述文件操作函数为所述文件复制参数或所述文件删除函数时,所述根据所述结构化查询语句,调用分布式存储系统提供的与所述文件操作函数对应的文件操作接口,执行目标操作,包括:
根据所述结构化查询语句,并行调用分布式存储系统提供的与所述文件复制函数或所述文件删除函数对应的文件操作接口,执行目标操作。
4.根据权利要求2所述的方法,其特征在于,所述文件操作函数为列表检索函数时,所述根据所述结构化查询语句,调用分布式存储系统提供的与所述文件操作函数对应的文件操作接口,执行目标操作,包括:
根据所述结构化查询语句,调用分布式存储系统提供的与所述列表检索函数对应的列举接口,遍历指定目录下的文件名,并将所述文件名写入数组。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
再次调用所述列举接口,传入迭代翻页参数,以继续遍历所述指定目录下的文件名,并将剩余的文件名写入所述数组。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
对所述分布式存储系统存储的文件的元数据进行统计,返回统计结果。
7.根据权利要求6所述的方法,其特征在于,所述统计结果包括文件大小统计结果或文件类型统计结果中的一种或多种。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述分布式存储系统包括分布式对象存储系统或分布式文件存储系统。
9.一种文件管理系统,其特征在于,所述系统包括:
交互模块,用于接收结构化查询语句,所述结构化查询语句中包括用户自定义的文件操作函数;
管理模块,用于根据所述结构化查询语句,调用分布式存储系统提供的与所述文件操作函数对应的文件操作接口,执行目标操作;
所述交互模块,还用于返回所述目标操作的操作结果。
10.根据权利要求9所述的系统,其特征在于,所述文件操作函数包括列表检索函数、文件复制函数、文件删除函数中的一种或多种。
11.根据权利要求10所述的系统,其特征在于,所述管理模块具体用于:
所述文件操作函数为所述文件复制参数或所述文件删除函数时,根据所述结构化查询语句,并行调用分布式存储系统提供的与所述文件复制函数或所述文件删除函数对应的文件操作接口,执行目标操作。
12.根据权利要求10所述的系统,其特征在于,所述管理模块具体用于:
所述文件操作函数为列表检索函数时,根据所述结构化查询语句,调用分布式存储系统提供的与所述列表检索函数对应的列举接口,遍历指定目录下的文件名,并将所述文件名写入数组。
13.根据权利要求12所述的系统,其特征在于,所述管理模块还用于:
再次调用所述列举接口,传入迭代翻页参数,以继续遍历所述指定目录下的文件名,并将剩余的文件名写入所述数组。
14.根据权利要求9至13任一项所述的系统,其特征在于,所述管理模块还用于:
对所述分布式存储系统存储的文件的元数据进行统计;
所述交互模块还用于:
返回统计结果。
15.根据权利要求14所述的系统,其特征在于,所述统计结果包括文件大小统计结果或文件类型统计结果中的一种或多种。
16.根据权利要求9至15任一项所述的系统,其特征在于,所述分布式存储系统包括分布式对象存储系统或分布式文件存储系统。
17.一种计算设备集群,其特征在于,所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令;所述至少一个处理器执行所述计算机可读指令,以使得所述计算设备集群执行如权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至8任一项所述的方法。
19.一种计算机程序产品,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求1至8任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210808945.0A CN117421277A (zh) | 2022-07-11 | 2022-07-11 | 一种文件管理方法及相关设备 |
PCT/CN2023/081257 WO2024011932A1 (zh) | 2022-07-11 | 2023-03-14 | 一种文件管理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210808945.0A CN117421277A (zh) | 2022-07-11 | 2022-07-11 | 一种文件管理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117421277A true CN117421277A (zh) | 2024-01-19 |
Family
ID=89521590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210808945.0A Pending CN117421277A (zh) | 2022-07-11 | 2022-07-11 | 一种文件管理方法及相关设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117421277A (zh) |
WO (1) | WO2024011932A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100555288C (zh) * | 2007-11-21 | 2009-10-28 | 金蝶软件(中国)有限公司 | 一种访问不同类型数据库的方法和系统 |
CN104536987B (zh) * | 2014-12-08 | 2017-12-05 | 联动优势电子商务有限公司 | 一种查询数据的方法及装置 |
CN111782682B (zh) * | 2020-06-30 | 2024-01-02 | 北京金山云网络技术有限公司 | 数据查询方法、装置、设备及存储介质 |
US11361026B2 (en) * | 2020-06-30 | 2022-06-14 | Snowflake Inc. | Accessing files in a database stage using a user defined function |
-
2022
- 2022-07-11 CN CN202210808945.0A patent/CN117421277A/zh active Pending
-
2023
- 2023-03-14 WO PCT/CN2023/081257 patent/WO2024011932A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024011932A1 (zh) | 2024-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544623B2 (en) | Consistent filtering of machine learning data | |
US11455217B2 (en) | Transaction consistency query support for replicated data from recovery log to external data stores | |
US11146614B2 (en) | Distributed computing on document formats | |
Vora | Hadoop-HBase for large-scale data | |
US11100420B2 (en) | Input processing for machine learning | |
US9489237B1 (en) | Dynamic tree determination for data processing | |
US11182691B1 (en) | Category-based sampling of machine learning data | |
US20170193041A1 (en) | Document-partitioned secondary indexes in a sorted, distributed key/value data store | |
Lin et al. | Full-text indexing for optimizing selection operations in large-scale data analytics | |
US8914323B1 (en) | Policy-based data-centric access control in a sorted, distributed key-value data store | |
US10095699B2 (en) | Computer-readable recording medium, execution control method, and information processing apparatus | |
CN108431766B (zh) | 用于访问数据库的方法和系统 | |
CN111221791A (zh) | 一种多源异构数据导入数据湖的方法 | |
CN113051268A (zh) | 数据查询方法、数据查询装置、电子设备及存储介质 | |
Konstantinou et al. | Distributed indexing of web scale datasets for the cloud | |
Cordova et al. | Accumulo: Application development, table design, and best practices | |
CN112912870A (zh) | 租户标识符的转换 | |
Kim et al. | Comprehensive Knowledge Archive Network harvester improvement for efficient open‐data collection and management | |
CN117421302A (zh) | 一种数据处理方法及相关设备 | |
Szul et al. | Productivity frameworks in big data image processing computations-creating photographic mosaics with Hadoop and Scalding | |
Bugiotti et al. | SPARQL Query Processing in the Cloud. | |
US10083121B2 (en) | Storage system and storage method | |
US8229946B1 (en) | Business rules application parallel processing system | |
Leff et al. | Integrator: An architecture for an integrated cloud/on-premise data-service | |
CN117421277A (zh) | 一种文件管理方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |