CN116340270A - 并发遍历枚举方法、装置、设备及存储介质 - Google Patents
并发遍历枚举方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116340270A CN116340270A CN202310631756.5A CN202310631756A CN116340270A CN 116340270 A CN116340270 A CN 116340270A CN 202310631756 A CN202310631756 A CN 202310631756A CN 116340270 A CN116340270 A CN 116340270A
- Authority
- CN
- China
- Prior art keywords
- enumeration
- directory
- files
- marked
- recursive
- 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.)
- Granted
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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
-
- 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/1873—Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种并发遍历枚举方法、装置、设备及存储介质,该方法包括在接收到对已枚举数据的枚举指令时,根据已枚举数据中的标记目录将已枚举数据转换为若干不同的枚举处理单元,其中,标记目录由基于未标记递归文件数目对已枚举数据中的目录进行标记所生成,未标记递归文件数目为各目录的递归子目录中尚未标记的目录所包括的文件数目;并发执行若干不同的枚举处理单元,以完成对已枚举数据的遍历枚举。本发明对已枚举数据中的目录进行标记,然后将标记获得的标记目录转换为枚举处理单元,相较于现有技术的枚举方式各目录均转换为并发处理单元,本发明上述方法大幅度减少了并发处理单元,降低了并发执行带来的额外计算机能力消耗。
Description
技术领域
本发明涉及计算机系统技术领域,尤其涉及一种并发遍历枚举方法、装置、设备及存储介质。
背景技术
随着信息化信息的大量普及,在计算机系统中存储的数据,容量越来越大。其中,有很大部分的非结构化数据以文件的形式存储在文件系统中,文件系统为了管理这些文件,会将这些文件放在各种目录结构中,当处理这些数据(文件)时,例如,需要对所有数据进行备份,或对所有数据进行特征分析等,需要进行遍历枚举,才能获取到所有的数据(文件)。
目前,进行遍历枚举的常规方式是基于待处理目录队列的并发遍历枚举,在遍历枚举的过程中,所有目录都会进入待处理目录队列,然后并发处理。但是,由于并发处理时,最小单元为一个目录,各目录均转换为并发处理单元,那么线程(进程)进行数据同步与执行空间切换的消耗与目录数量呈线性关系,需要消耗大量的计算机计算能力。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种并发遍历枚举方法、装置、设备及存储介质,旨在解决现有技术的并发遍历枚举方式在并发处理时,最小单元为一个目录,各目录均转换为并发处理单元,那么线程(进程)进行数据同步与执行空间切换的消耗与目录数量呈线性关系,需要消耗大量的计算机计算能力技术问题。
为实现上述目的,本发明提供了一种并发遍历枚举方法,所述并发遍历枚举方法包括:
在接收到对已枚举数据的枚举指令时,根据所述已枚举数据中的标记目录将所述已枚举数据转换为若干不同的枚举处理单元,其中,所述标记目录由基于未标记递归文件数目对所述已枚举数据中的目录进行标记所生成,所述未标记递归文件数目为各目录的递归子目录中尚未标记的目录所包括的文件数目;
并发执行所述若干不同的枚举处理单元,以完成对所述已枚举数据的遍历枚举。
可选地,所述标记目录包括第一标记目录和第二标记目录,所述在接收到对已枚举数据的枚举指令时,根据所述已枚举数据中的标记目录将所述已枚举数据转换为若干不同的枚举处理单元的步骤,包括:
在接收到对已枚举数据的枚举指令时,根据所述第一标记目录生成第一枚举处理单元;
对所述第二标记目录的各子目录进行分组,以使分组获得的若干子目录中各分组的未标记递归文件数目处于预设处理范围;
根据所述若干子目录分组生成若干第二枚举处理单元,其中,各第二枚举处理单元与各子目录分组分别对应;
相应地,所述并发执行所述若干不同的枚举处理单元,以完成对所述已枚举数据的遍历枚举的步骤,包括:
并发执行所述第一枚举处理单元以及所述若干第二枚举处理单元,以完成对所述已枚举数据的遍历枚举。
可选地,所述根据所述若干子目录分组生成若干第二枚举处理单元的步骤之后,还包括:
判断所述已枚举数据的根目录是否已被标记;
若所述根目录未被标记,则根据所述根目录生成第三枚举处理单元;
相应地,所述并发执行所述第一枚举处理单元以及所述若干第二枚举处理单元,以完成对所述已枚举数据的并发遍历枚举的步骤,包括:
并发执行所述第一枚举处理单元、所述若干第二枚举处理单元以及所述第三枚举处理单元,以完成对所述已枚举数据的并发遍历枚举。
可选地,所述并发执行所述第一枚举处理单元、所述若干第二枚举处理单元以及所述第三枚举处理单元的步骤之前,还包括:
在所述第一标记目录中存在已标记的第一递归子目录时,将所述第一递归子目录添加到枚举忽略列表中,以使所述第一枚举处理单元被执行时不对所述第一递归子目录进行处理,所述枚举忽略列表为跳过枚举处理的列表;
在所述各子目录分组中存在已标记的第二递归子目录时,将所述第二递归子目录添加到枚举忽略列表中,以使所述第二枚举处理单元被执行时不对所述第二递归子目录进行处理;
在所述根目录中存在已标记的第三递归子目录时,将所述第三递归子目录添加到所述枚举忽略列表中,以使所述第三枚举处理单元被执行时不对所述第三递归子目录进行处理。
可选地,所述在接收到对已枚举数据的枚举指令时,根据所述第一标记目录生成第一枚举处理单元的步骤之前,还包括:
获取文件系统的目录结构,并判断所述目录结构中是否存在经过遍历枚举的已枚举数据;
若存在所述已枚举数据,则将所述已枚举数据中的各目录转换为目录树;
对所述目录树中各层节点目录下的未标记递归文件数目与预设处理范围进行比较,所述预设处理范围为文件数量最小值和文件数量最大值所构成的范围;
对所述未标记递归文件数目达到所述文件数量最小值的节点目录进行标记,其中,将所述未标记递归文件数目处于预设处理范围的节点标记为第一标记目录,将所述未标记递归文件数目达到所述文件数量最大值的节点标记为第二标记目录。
可选地,所述对所述未标记递归文件数目达到所述文件数量最小值的节点目录进行标记的步骤之后,还包括:
将经过标记的所述目录树渲染至可视化的预设交互界面中,以使目标人员通过所述预设交互界面对所述目录树中的节点进行手动标记处理。
可选地,所述对所述目录树中各层节点目录下的未标记递归文件数目与预设处理范围进行比较的步骤之后,还包括:
对所述未标记递归文件数目未达到所述文件数量最小值的节点目录不进行标记。
此外,为实现上述目的,本发明还提出一种并发遍历枚举装置,所述并发遍历枚举装置包括:
处理单元转换模块,用于在接收到对已枚举数据的枚举指令时,根据所述已枚举数据中的标记目录将所述已枚举数据转换为若干不同的枚举处理单元,其中,所述标记目录由基于未标记递归文件数目对所述已枚举数据中的目录进行标记所生成,所述未标记递归文件数目为各目录的递归子目录中尚未标记的目录所包括的文件数目;
处理单元执行模块,用于并发执行所述若干不同的枚举处理单元,以完成对所述已枚举数据的遍历枚举。
此外,为实现上述目的,本发明还提出一种并发遍历枚举设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的并发遍历枚举程序,所述并发遍历枚举程序配置为实现如上文所述的并发遍历枚举方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有并发遍历枚举程序,所述并发遍历枚举程序被处理器执行时实现如上文所述的并发遍历枚举方法的步骤。
本发明提供了一种并发遍历枚举方法、装置、设备及存储介质,该方法包括在接收到对已枚举数据的枚举指令时,根据已枚举数据中的标记目录将已枚举数据转换为若干不同的枚举处理单元,其中,标记目录由基于未标记递归文件数目对已枚举数据中的目录进行标记所生成,未标记递归文件数目为各目录的递归子目录中尚未标记的目录所包括的文件数目;并发执行若干不同的枚举处理单元,以完成对已枚举数据的遍历枚举。本发明对已枚举数据中的目录进行标记,然后将标记获得的标记目录转换为不同的枚举处理单元,通过并发执行各枚举处理单元完成对已枚举数据的遍历枚举,相较于现有技术的枚举方式在并发处理时,最小单元为一个目录,各目录均转换为并发处理单元,本发明上述方法将标记目录转换为枚举处理单元,并非所有目录,大幅度减少了并发处理单元,降低了并发执行带来的额外计算机能力消耗。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的并发遍历枚举设备的结构示意图;
图2为本发明并发遍历枚举方法第一实施例的流程示意图;
图3为本发明并发遍历枚举方法第二实施例的流程示意图;
图4为本发明并发遍历枚举方法第三实施例的流程示意图;
图5为本发明并发遍历枚举方法第三实施例中自动标记流程示意图;
图6为本发明并发遍历枚举方法第三实施例中枚举过程整体流程示意图;
图7为本发明并发遍历枚举方法第三实施例中处理单元转换示意图;
图8为本发明并发遍历枚举装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的并发遍历枚举设备结构示意图。
如图1所示,该并发遍历枚举设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对并发遍历枚举设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及并发遍历枚举程序。
在图1所示的并发遍历枚举设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明并发遍历枚举设备中的处理器1001、存储器1005可以设置在并发遍历枚举设备中,所述并发遍历枚举设备通过处理器1001调用存储器1005中存储的并发遍历枚举程序,并执行本发明实施例提供的并发遍历枚举方法。
本发明实施例提供了一种并发遍历枚举方法,参照图2,图2为本发明并发遍历枚举方法第一实施例的流程示意图。
本实施例中,所述并发遍历枚举方法包括以下步骤:
步骤S10:在接收到对已枚举数据的枚举指令时,根据所述已枚举数据中的标记目录将所述已枚举数据转换为若干不同的枚举处理单元,其中,所述标记目录由基于未标记递归文件数目对所述已枚举数据中的目录进行标记所生成,所述未标记递归文件数目为各目录的递归子目录中尚未标记的目录所包括的文件数目。
需要说明的是,本实施例方法的执行主体可以是具有数据处理、网络通信以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,还可以是实现相同或相似功能的其他电子设备。以下以上述并发遍历枚举设备(简称枚举设备)对本实施例和下述各实施例进行说明。
可理解的是,上述枚举指令可为对枚举目录进行遍历枚举的触发指令,其中,对目录进行遍历枚举,也即遍历枚举目录可为将指定目录中的文件信息以及子目录中的文件信息,不重复地获取一次的过程。
需要说明的是,上述已枚举数据可为已对文件系统的目录结构经过遍历枚举获得的历史数据,对文件系统的目录结构进行遍历枚举的方式可为使用现有技术的枚举方式,如单线程深度优先遍历枚举方法或者基于待处理目录队列的并发遍历枚举方法等,也可为使用本实施例所涉及的枚举方式所获得。
可理解的是,上述文件系统可为操作系统用于明确存储设备或分区上的文件的方法和数据结构,即在存储设备上组织文件的系统,该文件系统使用文件和目录树的抽象逻辑概念代替数据实际存储的物理位置。
可理解的是,若未检测到遍历枚举的历史数据,则使用上述现有技术的枚举方式进行遍历枚举,并保存为历史数据,也即,本实施例是对历史数据进行分析,得到再次遍历枚举的优化方案。
需要说明的是,上述单线程深度优先遍历枚举方法程序逻辑简单,临时存储空间与目录的深度呈线性关系,需要的临时存储空间少,但是,由于其单线程的处理方式,性能低下,难以满足项目需求,在访问高延迟的存储系统时,问题尤为突出。
可理解的是,上述基于待处理目录队列的并发遍历枚举方法通过并发处理,可以利用更多的计算机资源来遍历枚举,提高遍历枚举的性能,但是,其在遍历枚举的过程中,所有目录都会进入待处理目录队列,临时存储空间和目录数量呈线性关系,需要消耗大量的临时存储空间,并且,由于并发处理时,最小单元为一个目录,那么线程(进程)进行数据同步与执行空间切换的消耗与目录呈线性关系,需要额外消耗大量的计算机能力,故而提出本实施例,以解决该缺陷以及上述单线程深度优先遍历枚举的缺陷。
需要说明的是,上述标记可为一种元数据,实现对数据的标识。
可理解的是,上述递归子目录可为指定目录下的子目录,以及子目录所包括的子目录,也即子目录的子目录,子目录的子目录的子目录,依次类推到整个指定目录。
在具体实现中,上述枚举设备可根据已枚举数据中尚未标记的递归文件数目所处的范围对已枚举数据的目录进行标记,在标记过程中,一个标记目录中可包含多个目录,在接收到针对已枚举数据的枚举指令时,便可将一个标记目录转换为一个或多个枚举处理单元,根据标记的不同,枚举处理单元也不同。
步骤S20:并发执行所述若干不同的枚举处理单元,以完成对所述已枚举数据的遍历枚举。
需要说明的是,上述并发可为将一个任务分割成几个小部分,并让这几个小部分同时被执行的过程。
在具体实现中,上述枚举设备并发执行各枚举处理单元,由于单个枚举处理单元中包含一个标记下的多个目录,该目录数量相较于整个已枚举数据中的目录较少,故而,单个枚举处理单元作为一个子任务,通过上述单线程深度优先遍历枚举的方式进行枚举,无需遍历整个已枚举数据的目录,有效减少了临时存储空间。
应理解的是,通过并发执行上述多个以单线程深度优先遍历枚举分析进行枚举的子任务,由于单个子任务中已执行了多个目录,因此,无需并发执行整个已枚举数据的目录,大幅度减少了并发处理单元,降低了并发执行带来的额外计算机能耗。
需要说明的是,经过上述遍历枚举后,可将遍历枚举后的数据与上述已枚举数据进行合并,作为后续标记的基础数据。
本实施例通过在接收到对已枚举数据的枚举指令时,根据已枚举数据中的标记目录将已枚举数据转换为若干不同的枚举处理单元,其中,标记目录由基于未标记递归文件数目对已枚举数据中的目录进行标记所生成,未标记递归文件数目为各目录的递归子目录中尚未标记的目录所包括的文件数目;并发执行若干不同的枚举处理单元,以完成对已枚举数据的遍历枚举。本实施例对已枚举数据中的目录进行标记,然后将标记获得的标记目录转换为不同的枚举处理单元,通过并发执行各枚举处理单元完成对已枚举数据的遍历枚举,相较于现有技术的枚举方式在并发处理时,最小单元为一个目录,各目录均转换为并发处理单元,本实施例上述方法将标记目录转换为枚举处理单元,并非所有目录,大幅度减少了并发处理单元,降低了并发执行带来的额外计算机能力消耗。
参考图3,图3为本发明并发遍历枚举方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述标记目录包括第一标记目录和第二标记目录,所述步骤S10包括:
步骤S101:在接收到对已枚举数据的枚举指令时,根据所述第一标记目录生成第一枚举处理单元。
需要说明的是,上述第一标记目录可为未标记递归文件数目处于预设处理范围的目录,预设处理范围可根据已枚举数据的总文件数量与期望生成多少个并发处理单元确定。
可理解的是,上述第一枚举处理单元可为由上述第一标记目录生成的处理单元,该第一枚举处理单元的枚举目录列表有唯一一项,也即第一标记目录,并且第一枚举处理单元的枚举类型为递归枚举。
需要说明的是,上述枚举目录列表可为枚举列表中目录的路径,也即上述第一枚举处理单元进行枚举的目录路径。
可理解的是,上述递归枚举即可为对枚举目录列表中目录下的递归子目录依次进行枚举。
在具体实现中,上述枚举设备可将未标记递归文件数目处于上述预设处理范围的目录标记为第一标记目录,由于已枚举数据的总文件数量较多,会有较多目录的未标记递归文件数目落入上述预设处理范围,因此可划分出多个第一标记目录,每个第一标记目录各自生成一个第一枚举处理单元,在执行第一枚举处理单元时,对第一枚举处理单元的枚举目录列表进行递归枚举,也即依次枚举第一标记目录的各递归子目录。
步骤S102:对所述第二标记目录的各子目录进行分组,以使分组获得的若干子目录中各分组的未标记递归文件数目处于预设处理范围。
需要说明的是,上述第二标记目录可为未标记递归文件数目超出预设处理范围的最大值的目录。
在具体实现中,由于上述第二标记目录的未标记递归文件数目超出预设处理范围的最大值,数目较大,若按第一标记目录的方式进行枚举,会存在枚举数量不均衡的问题,由于第二标记目录的未标记递归文件超出上述预设处理范围的最大值,因此,第二标记目录中存在未标记递归文件数目处于上述预设处理范围的目录,将处于上述预设处理范围的目录划分为一组,便可使得分组后的各组目录中的未标记递归文件数目处于上述预设处理范围,从而可以准确进行枚举。
应理解的是,若分组后某目录仍然无法属于上述预设处理范围,如低于上述预设处理范围的最小值,则可将该无法满足上述预设处理范围的目录独立分为一组。
步骤S103:根据所述若干子目录分组生成若干第二枚举处理单元,其中,各第二枚举处理单元与各子目录分组分别对应。
需要说明的是,上述第二枚举处理单元即可由各组子目录生成的处理单元。
在具体实现中,上述枚举设备可将上述分组后的各子目录均生成一个第二枚举处理单元,各第二枚举处理单元的枚举列表为对应的分组子目录,枚举类型为递归枚举,也即在执行第二枚举处理单元时,对枚举列表中的分组子目录进行递归枚举。
应理解的是,上述第二枚举处理单元枚举的是第二标记目录分组获得的各子目录,并未对第二标记目录本身进行枚举,因此第二标记目录本身也需要加入到各第二枚举处理单元中的一个枚举目录列表中,并且枚举类型是仅枚举此目标,如此,在枚举到第二标记目录时,只枚举第二标记目录,不枚举第二标记目录中的各子目录。
相应地,所述步骤S20:包括:
步骤S201:并发执行所述第一枚举处理单元以及所述若干第二枚举处理单元,以完成对所述已枚举数据的遍历枚举。
在具体实现中,上述枚举设备对各第一枚举处理单元和各第二枚举处理单元进行并发枚举,也即同时执行各第一枚举处理单元和各第二枚举处理单元,从而完成对上述已枚举数据的遍历枚举。
进一步地,为了避免遗漏已枚举数据中的部分目录,本实施例中,所述步骤S103之后,还包括:
步骤S104:判断所述已枚举数据的根目录是否已被标记。
在具体实现中,上述枚举设备需要判断上述已枚举数据的根目录是否已被标记,以避免根目录被遗漏,导致枚举不全面。
步骤S105:若所述根目录未被标记,则根据所述根目录生成第三枚举处理单元。
在具体实现中,上述枚举设备在检测到上述根目录未被标记,说明该根目录也需要被枚举,故而可生成该根目录对应的第三枚举处理单元,其中,第三枚举处理单元的枚举列表只有一项,也即上述根目录。
应理解的是,若上述根目录已被标记,则说明该根目录已加入了其中一个枚举处理单元,此时无需额外生成枚举处理单元。
相应地,所述步骤S201,包括:
步骤S2011:并发执行所述第一枚举处理单元、所述若干第二枚举处理单元以及所述第三枚举处理单元,以完成对所述已枚举数据的并发遍历枚举。
在具体实现中,上述枚举设备通过并发执行各第一枚举处理单元、各第二枚举处理单元以及上述第三枚举处理单元,从而避免已枚举数据中的根目录被遗漏,提高枚举的全面性,进而提高枚举的精度。
进一步地,为了避免各枚举处理单元重复枚举,本实施例中,所述步骤S2011之前,还包括:
步骤S106:在所述第一标记目录中存在已标记的第一递归子目录时,将所述第一递归子目录添加到枚举忽略列表中,以使所述第一枚举处理单元被执行时不对所述第一递归子目录进行处理,所述枚举忽略列表为跳过枚举处理的列表。
需要说明的是,上述第一递归子目录可为第一标记目录中有标记的目录,由于该第一递归子目录已被标记,因此,该第一递归子目录会生成对应枚举处理单元对其进行枚举,若第一标记目录在生成第一枚举处理单元时未跳过该第一递归子目录,则会重复枚举。
在具体实现中,上述枚举设备在检测到上述第一标记目录中存在已标记的第一递归子目录时,为了避免重复枚举,需要将该第一递归子目录加入枚举忽略列表,以使第一枚举处理单元被执行时跳过该第一递归子目录,避免重复枚举。
应理解的是,上述第一递归子目录虽然被第一枚举处理单元跳过,但是,由于该第一递归子目录已被标记,其也会根据其标记类型生成单独的枚举处理单元,因此,该第一递归子目录并不会被遗漏。
需要说明的是,上述标记类型即可为上述第一标记目录的类型、第二标记目录的类型和第三标记目录的类型,可参照上述相应部分的说明,此处不再赘述。
步骤S107:在所述各子目录分组中存在已标记的第二递归子目录时,将所述第二递归子目录添加到枚举忽略列表中,以使所述第二枚举处理单元被执行时不对所述第二递归子目录进行处理。
需要说明的是,上述第二递归子目录可为第二标记目录中各子目录分组中有标记的目录,由于该第二递归子目录已被标记,因此,该第二递归子目录会生成对应枚举处理单元对其进行枚举,若第各子目录分组在生成第二枚举处理单元时未跳过该第二递归子目录,则会重复枚举。
在具体实现中,上述枚举设备在检测到上述第二标记目录中各子目录分组中存在已标记的第二递归子目录时,为了避免重复枚举,需要将该第二递归子目录加入枚举忽略列表,以使第二枚举处理单元被执行时跳过该第二递归子目录,避免重复枚举。
应理解的是,上述第二递归子目录虽然被第二枚举处理单元跳过,但是,由于该第二递归子目录已被标记,其也会根据其标记类型生成单独的枚举处理单元,因此,该第二递归子目录并不会被遗漏。
步骤S108:在所述根目录中存在已标记的第三递归子目录时,将所述第三递归子目录添加到所述枚举忽略列表中,以使所述第三枚举处理单元被执行时不对所述第三递归子目录进行处理。
需要说明的是,上述第三递归子目录可为根目录中有标记的目录,由于该第三递归子目录已被标记,因此,该第三递归子目录会生成对应枚举处理单元对其进行枚举,若根目录分在生成第三枚举处理单元时未跳过该第三递归子目录,则会重复枚举。
在具体实现中,上述枚举设备在检测到上述根目录中存在已标记的第三递归子目录时,为了避免重复枚举,需要将该第三递归子目录加入枚举忽略列表,以使第三枚举处理单元被执行时跳过该第三递归子目录,避免重复枚举。
应理解的是,上述第三递归字目录虽然被第三枚举处理单元跳过,但是,由于该第三递归子目录已被标记,其也会根据其标记类型生成单独的枚举处理单元,因此,该第三递归子目录并不会被遗漏。
参考图4,图4为本发明并发遍历枚举方法第三实施例的流程示意图。
基于第二实施例,在本实施例中,所述步骤S101之前,所述方法还包括:
步骤S01:获取文件系统的目录结构,并判断所述目录结构中是否存在经过遍历枚举的已枚举数据。
需要说明的是,由于上述文件系统使用文件和树形目录的抽象逻辑概念代替数据实际存储的物理位置,因此该文件系统就是一个N叉树的数据结构,该N叉树的数据结构即为上述目录结构。
在具体实现中,上述枚举设备可获取上述文件系统的目录结构,并检测该目录结构中是否存在经过现有枚举方式枚举的已枚举数据,或本实施例涉及的枚举方式枚举的已枚举数据,现有枚举方式可参照上述单线程深度优先遍历枚举方法和基于待处理目录队列的并发遍历枚举方法。
应理解的是,若上述目录结构中未存在经过遍历枚举的已枚举数据,则可使用已有的技术方案,也即上述现有枚举方式进行遍历枚举,并保存为已枚举数据。
步骤S02:若存在所述已枚举数据,则将所述已枚举数据中的各目录转换为目录树。
需要说明的是,如上文所述,整个文件系统是一个N叉树的数据结构,因此可将文件系统的各目录转换为目录树,目录树中的每个节点就是目录,节点与目录可以近似理解为一个概念。
在具体实现中,上述枚举设备在检测到上述经过遍历枚举的已枚举数据时,即可将上述已枚举数据中的各目录转换为目录树,然后根据目录树的层数从大到小依次进行分析。
有理解的是,上述层数可为目录树的各层的序号,例如,目录树的根节点为第一层,根节点的子节点为第二层,根节点的子节点的子节点为第三层,以此类推。
步骤S03:对所述目录树中各层节点目录下的未标记递归文件数目与预设处理范围进行比较,所述预设处理范围为文件数量最小值和文件数量最大值所构成的范围。
需要说明的是,上述预设处理范围可为根据总文件数量与期望生成多少个并发处理单元确定,也即,期望标记生成的并发处理单元需要处理的文件数量均落在该预设处理范围内,以保证枚举的精度。
可理解的是,上述文件数量最小值可为并发处理单元至少处理多少个文件,上述文件数量最大值可为并发处理单元最多处理多少个文件。
在具体实现中,上述枚举设备基于从大到小的顺序依次遍历上述目录树的层数,对各层节点目录下的未标记递归文件数目与上述预设处理范围进行比较,根据比较结果进行相应的标记。
步骤S04:对所述未标记递归文件数目达到所述文件数量最小值的节点目录进行标记,其中,将所述未标记递归文件数目处于预设处理范围的节点标记为第一标记目录,将所述未标记递归文件数目达到所述文件数量最大值的节点标记为第二标记目录。
在具体实现中,上述枚举设备可针对各层节点,判断各节点的未标记递归文件数目是否达到上述预设处理范围的文件数量最小值,若该节点达到了该文件数量最小值,则进行标记。
应理解的是,上述枚举设备可在检测到某一节点的上述未标记递归文件数目处于上述预设处理范围,也即该节点的未标记递归文件数目大于上述文件数量最小值,且小于文件数量最大值时,将该节点标记为第一标记目录,相应地,在检测到某一节点的上述未标记递归文件未处于上述预设处理范围,且大于上述文件数量最大值时,将该节点标记为第二标记目录。
需要说明的是,上述第一标记目录和第二标记目录的标记均会持久化记录,以供后续枚举过程使用,并且,按照上述方式进行标记后,后续根据标记生成的并发处理单元需要处理的文件数据大致都会在文件数量最小值与文件数量最大值对应的预设处理范围内。
进一步地,本实施例中,所述步骤S04之后,还包括:
步骤S05:将经过标记的所述目录树渲染至可视化的预设交互界面中,以使目标人员通过所述预设交互界面对所述目录树中的节点进行手动标记处理。
需要说明的是,上述预设交互界面可为与用户进行数据交互的可视化界面。
可理解的是,上述目标人员可为操作上述预设交互界面,对标记进行处理的操作人员。
在具体实现中,上述枚举设备可以树结构形式,将上述经过标记的目录树渲染至可视化的上述预设交互界面中,以将上述目录树中的各标记可视化呈现给目标人员,目标人员可通过预设交互界面对目录树中的节点进行手动标记处理,如修改标记、删除标记以及添加标记等,经过手动处理的标记也会持久化记录,供后续枚举过程使用,也即在目标人员在遍历枚举的过程中,提供了自定义的功能,可以有效的帮助用户快速分析重要数据区域的数据结构。
应理解的是,上述目标人员还可通过上述预设交互界面查看各种维度的数据统计,例如,指定目录下的目录与文件数量、指定目录的递归文件数量以及指定目录的排除已标记的递归文件数量等。
进一步地,本实施例中,所述步骤S03的步骤之后,还包括:
步骤S031:对所述未标记递归文件数目未达到所述文件数量最小值的节点目录不进行标记。
在具体实现中,在某一节点的未标记递归文件数目未达到上述文件数量最小值时,说明该节点下的递归文件数目较少,若转换为枚举处理单元,反而会占用较多计算机能耗,故而,上述枚举设备可对所述未标记递归文件数目未达到所述文件数量最小值的节点目录不进行标记,以优化计算机能耗。
为了便于理解,参考图5进行说明,但并不对本方案进行限定。图5为本发明并发遍历枚举方法第三实施例中自动标记流程示意图,图5中,作为标记的整体流程,开始后便可生成目录树,然后根据目录树的层数从大到小依次进行分析,对排除已标记的递归文件数量与文件数量最大值进行比较判断,将文件数量最小值<=排除已标记的递归文件数量<=文件数量最大值的节点生成标记1,将排除已标记的递归文件数量>文件数量最大值的节点生成标记2,将排除已标记的递归文件数量<文件数量最小值的节点不作标记,然后将自动标记的标记信息进行持久化记录,然后分析是否到了根节点,若否,则继续按层数进行分析,若是,则结束标记。
需要说明的是,上述排除已标记的递归文件数量即可为上述未标记递归文件数量,也即进行递归文件数量统计时,跳过已经标记过的目录进行统计(换言之就是不统计已经标记过的目录中的文件)。该排除已标记的递归文件数量也即上述未标记递归文件数量。
可理解的是,上述标记1即可为第一标记目录的标记,上述标记2即可为第二标记目录的标记。
为了便于理解,参考图6进行说明,但并不对本方案进行限定。图6为本发明并发遍历枚举方法第三实施例中枚举过程整体流程示意图,图6中,作为枚举的整体流程,首先开始遍历枚举,然后检测是否有历史枚举记录,若否,则使用传统方案遍历枚举,并保存该历史枚举记录,若是,则生成目录树,并在目录树中进行标记,包括自动标记和手动标记,然后将标记转换为枚举处理单元,并发执行上述枚举处理单元,最后保存历史枚举记录,完成遍历枚举。
为了便于理解,参考图7进行说明,但并不对本方案进行说明。图7为本发明并发遍历枚举方法第三实施例中处理单元转换示意图,图7可作为对枚举过程的举例,图7中,根目录下有目录A,目录A下有目录AA、AB、AC(后记为A/AA、A/AB、A/AC,路径命名方式后续不再特别赘述),目录A/AA下有目录 AAA、AAB。其中目录AAA为标记1类型,目录AAB为标记2类型,目录A/AA/AAA下有目录AAA0000000、AAA0000001、AAA0000002、AAA0000003、AAA0000004。其中,目录AAA0000000为标记1类型,目录A/AA/AAB下有目录AAB0000001、AAB0000002、AAB0000003、AAB0000004、AAB0000005、AAB0000006。这些目录下,各自都有递归文件800个。
如图7所示,假设文件数量最小值为2000,假设文件数量最大值为3000。分析目录树最大层,也就是第5层。此时可知目录A/AA/AAA/AAA0000000为类型1标记,按照上述规则生成“执行单元1”。其递归子目录都没有标记,转换后,枚举目录列表仅有“A/AA/AAA/AAA0000000”,枚举类型为“递归枚举”,忽略目录列表为空。其他目录都没有标记,都不处理,分析目录树第4层,此时可知目录A/AA/AAA为类型1标记,按照上述所述规则生成“执行单元2”。其递归子目录中“A/AA/AAA/AAA0000000”被标记了,转换后,枚举目录列表仅有“A/AA/AAA”,枚举类型为“递归枚举”,忽略目录列表为“A/AA/AAA/AAA0000000”。此时可知目录A/AA/AAB为类型2标记,按照上述规则分成两个组,并生成“执行单元3”和“执行单元4”。第一组(执行单元3)为“A/AA/AAB/AAB0000001、A/AA/AAB/AAB0000002、A/AA/AAB/AAB0000003”,合计文件数量2400,大于2000,小于3000,其递归子目录都没有标记,转换后,枚举目录列表为“A/AA/AAB/AAB0000001、A/AA/AAB/AAB0000002、A/AA/AAB/AAB0000003”,枚举类型为“递归枚举”,忽略目录列表为空;第二组(执行单元4)为“A/AA/AAB/AAB0000004、A/AA/AAB/AAB0000005、A/AA/AAB/AAB0000006、A/AA/AAB”, 合计文件数量2400,大于2000,小于3000,其中“A/AA/AAB/AAB0000004、A/AA/AAB/AAB0000005、A/AA/AAB/AAB0000006”的递归子目录都没有标记,“A/AA/AAB”的递归子目录存在多个标记,转换后,枚举目录列表为“A/AA/AAB/AAB0000004、A/AA/AAB/AAB0000005、A/AA/AAB/AAB0000006、A/AA/AAB”,其中“A/AA/AAB/AAB0000004、A/AA/AAB/AAB0000005、A/AA/AAB/AAB0000006”枚举类型为“递归枚举”,“A/AA/AAB” 枚举类型为“仅枚举此目录”,忽略目录列表为空。分析目录树第3层,此时可知目录A/AA、A/AB、A/AC没有标记,不处理。分析目录树第2层,此时可知目录A没有标记,不处理。分析目录树第1层(根目录),此时可知根目录没有标记,但按照上述规则,需要生成“执行单元5” 。其递归子目录存在多个标记,但所有被标记的目录都是“A/AA/AAA、A/AA/AAB”本身或者它们的子目录,转换后,枚举目录列表仅有“根目录”,枚举类型为“递归枚举”,忽略目录列表为“A/AA/AAA、A/AA/AAB”。并发执行上述执行单元即可完成目录树的遍历枚举。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有并发遍历枚举程序,所述并发遍历枚举程序被处理器执行时实现如上文所述的并发遍历枚举方法的步骤。
参照图8,图8为本发明并发遍历枚举装置第一实施例的结构框图。
如图8所示,本发明实施例提出的并发遍历枚举装置包括:
处理单元转换模块501,用于在接收到对已枚举数据的枚举指令时,根据所述已枚举数据中的标记目录将所述已枚举数据转换为若干不同的枚举处理单元,其中,所述标记目录由基于未标记递归文件数目对所述已枚举数据中的目录进行标记所生成,所述未标记递归文件数目为各目录的递归子目录中尚未标记的目录所包括的文件数目。
处理单元执行模块502,用于并发执行所述若干不同的枚举处理单元,以完成对所述已枚举数据的遍历枚举。
本实施例通过在接收到对已枚举数据的枚举指令时,根据已枚举数据中的标记目录将已枚举数据转换为若干不同的枚举处理单元,其中,标记目录由基于未标记递归文件数目对已枚举数据中的目录进行标记所生成,未标记递归文件数目为各目录的递归子目录中尚未标记的目录所包括的文件数目;并发执行若干不同的枚举处理单元,以完成对已枚举数据的遍历枚举。本实施例对已枚举数据中的目录进行标记,然后将标记获得的标记目录转换为不同的枚举处理单元,通过并发执行各枚举处理单元完成对已枚举数据的遍历枚举,相较于现有技术的枚举方式在并发处理时,最小单元为一个目录,各目录均转换为并发处理单元,本实施例上述方法将标记目录转换为枚举处理单元,并非所有目录,大幅度减少了并发处理单元,降低了并发执行带来的额外计算机能力消耗。
本发明并发遍历枚举装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种并发遍历枚举方法,其特征在于,所述并发遍历枚举方法包括:
在接收到对已枚举数据的枚举指令时,根据所述已枚举数据中的标记目录将所述已枚举数据转换为若干不同的枚举处理单元,其中,所述标记目录由基于未标记递归文件数目对所述已枚举数据中的目录进行标记所生成,所述未标记递归文件数目为各目录的递归子目录中尚未标记的目录所包括的文件数目;
并发执行所述若干不同的枚举处理单元,以完成对所述已枚举数据的遍历枚举。
2.如权利要求1所述的并发遍历枚举方法,其特征在于,所述标记目录包括第一标记目录和第二标记目录,所述在接收到对已枚举数据的枚举指令时,根据所述已枚举数据中的标记目录将所述已枚举数据转换为若干不同的枚举处理单元的步骤,包括:
在接收到对已枚举数据的枚举指令时,根据所述第一标记目录生成第一枚举处理单元;
对所述第二标记目录的各子目录进行分组,以使分组获得的若干子目录中各分组的未标记递归文件数目处于预设处理范围;
根据所述若干子目录分组生成若干第二枚举处理单元,其中,各第二枚举处理单元与各子目录分组分别对应;
相应地,所述并发执行所述若干不同的枚举处理单元,以完成对所述已枚举数据的遍历枚举的步骤,包括:
并发执行所述第一枚举处理单元以及所述若干第二枚举处理单元,以完成对所述已枚举数据的遍历枚举。
3.如权利要求2所述的并发遍历枚举方法,其特征在于,所述根据所述若干子目录分组生成若干第二枚举处理单元的步骤之后,还包括:
判断所述已枚举数据的根目录是否已被标记;
若所述根目录未被标记,则根据所述根目录生成第三枚举处理单元;
相应地,所述并发执行所述第一枚举处理单元以及所述若干第二枚举处理单元,以完成对所述已枚举数据的并发遍历枚举的步骤,包括:
并发执行所述第一枚举处理单元、所述若干第二枚举处理单元以及所述第三枚举处理单元,以完成对所述已枚举数据的并发遍历枚举。
4.如权利要求3所述的并发遍历枚举方法,其特征在于,所述并发执行所述第一枚举处理单元、所述若干第二枚举处理单元以及所述第三枚举处理单元的步骤之前,还包括:
在所述第一标记目录中存在已标记的第一递归子目录时,将所述第一递归子目录添加到枚举忽略列表中,以使所述第一枚举处理单元被执行时不对所述第一递归子目录进行处理,所述枚举忽略列表为跳过枚举处理的列表;
在所述各子目录分组中存在已标记的第二递归子目录时,将所述第二递归子目录添加到枚举忽略列表中,以使所述第二枚举处理单元被执行时不对所述第二递归子目录进行处理;
在所述根目录中存在已标记的第三递归子目录时,将所述第三递归子目录添加到所述枚举忽略列表中,以使所述第三枚举处理单元被执行时不对所述第三递归子目录进行处理。
5.如权利要求2至4任一项所述的并发遍历枚举方法,其特征在于,所述在接收到对已枚举数据的枚举指令时,根据所述第一标记目录生成第一枚举处理单元的步骤之前,还包括:
获取文件系统的目录结构,并判断所述目录结构中是否存在经过遍历枚举的已枚举数据;
若存在所述已枚举数据,则将所述已枚举数据中的各目录转换为目录树;
对所述目录树中各层节点目录下的未标记递归文件数目与预设处理范围进行比较,所述预设处理范围为文件数量最小值和文件数量最大值所构成的范围;
对所述未标记递归文件数目达到所述文件数量最小值的节点目录进行标记,其中,将所述未标记递归文件数目处于预设处理范围的节点标记为第一标记目录,将所述未标记递归文件数目达到所述文件数量最大值的节点标记为第二标记目录。
6.如权利要求5所述的并发遍历枚举方法,其特征在于,所述对所述未标记递归文件数目达到所述文件数量最小值的节点目录进行标记的步骤之后,还包括:
将经过标记的所述目录树渲染至可视化的预设交互界面中,以使目标人员通过所述预设交互界面对所述目录树中的节点进行手动标记处理。
7.如权利要求5所述的并发遍历枚举方法,其特征在于,所述对所述目录树中各层节点目录下的未标记递归文件数目与预设处理范围进行比较的步骤之后,还包括:
对所述未标记递归文件数目未达到所述文件数量最小值的节点目录不进行标记。
8.一种并发遍历枚举装置,其特征在于,所述并发遍历枚举装置包括:
处理单元转换模块,用于在接收到对已枚举数据的枚举指令时,根据所述已枚举数据中的标记目录将所述已枚举数据转换为若干不同的枚举处理单元,其中,所述标记目录由基于未标记递归文件数目对所述已枚举数据中的目录进行标记所生成,所述未标记递归文件数目为各目录的递归子目录中尚未标记的目录所包括的文件数目;
处理单元执行模块,用于并发执行所述若干不同的枚举处理单元,以完成对所述已枚举数据的遍历枚举。
9.一种并发遍历枚举设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的并发遍历枚举程序,所述并发遍历枚举程序配置为实现如权利要求1至7中任一项所述的并发遍历枚举方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有并发遍历枚举程序,所述并发遍历枚举程序被处理器执行时实现如权利要求1至7任一项所述的并发遍历枚举方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310631756.5A CN116340270B (zh) | 2023-05-31 | 2023-05-31 | 并发遍历枚举方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310631756.5A CN116340270B (zh) | 2023-05-31 | 2023-05-31 | 并发遍历枚举方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116340270A true CN116340270A (zh) | 2023-06-27 |
CN116340270B CN116340270B (zh) | 2023-07-28 |
Family
ID=86879139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310631756.5A Active CN116340270B (zh) | 2023-05-31 | 2023-05-31 | 并发遍历枚举方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116340270B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592888A (zh) * | 2001-11-14 | 2005-03-09 | 英特尔公司 | 多节点计算机系统的枚举方法和装置 |
US20080133922A1 (en) * | 2006-11-30 | 2008-06-05 | Red Hat, Inc. | File Update Availability Checking In a Hierarchal File Store |
CN101331715A (zh) * | 2005-12-14 | 2008-12-24 | 微软公司 | 涉及多个节点枚举器的节点发现 |
CN102939593A (zh) * | 2010-03-05 | 2013-02-20 | 艾菲股份有限公司 | 无限存储器 |
CN103440139A (zh) * | 2013-09-11 | 2013-12-11 | 北京邮电大学 | 一种面向主流微博网站微博id的采集方法及工具 |
US20160321295A1 (en) * | 2011-04-26 | 2016-11-03 | Zettaset, Inc. | Scalable Distributed Metadata File-System using Key-Value Stores |
CN106648903A (zh) * | 2017-01-03 | 2017-05-10 | 北京百度网讯科技有限公司 | 调用分布式文件系统的方法和装置 |
CN111400259A (zh) * | 2020-03-24 | 2020-07-10 | 中孚信息股份有限公司 | 一种目录内容的遍历方法 |
CN114943072A (zh) * | 2022-07-25 | 2022-08-26 | 北京网藤科技有限公司 | 一种在多种软件系统间实现u盘联动管控的方法及系统 |
-
2023
- 2023-05-31 CN CN202310631756.5A patent/CN116340270B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592888A (zh) * | 2001-11-14 | 2005-03-09 | 英特尔公司 | 多节点计算机系统的枚举方法和装置 |
CN101331715A (zh) * | 2005-12-14 | 2008-12-24 | 微软公司 | 涉及多个节点枚举器的节点发现 |
US20080133922A1 (en) * | 2006-11-30 | 2008-06-05 | Red Hat, Inc. | File Update Availability Checking In a Hierarchal File Store |
CN102939593A (zh) * | 2010-03-05 | 2013-02-20 | 艾菲股份有限公司 | 无限存储器 |
US20160321295A1 (en) * | 2011-04-26 | 2016-11-03 | Zettaset, Inc. | Scalable Distributed Metadata File-System using Key-Value Stores |
CN103440139A (zh) * | 2013-09-11 | 2013-12-11 | 北京邮电大学 | 一种面向主流微博网站微博id的采集方法及工具 |
CN106648903A (zh) * | 2017-01-03 | 2017-05-10 | 北京百度网讯科技有限公司 | 调用分布式文件系统的方法和装置 |
CN111400259A (zh) * | 2020-03-24 | 2020-07-10 | 中孚信息股份有限公司 | 一种目录内容的遍历方法 |
CN114943072A (zh) * | 2022-07-25 | 2022-08-26 | 北京网藤科技有限公司 | 一种在多种软件系统间实现u盘联动管控的方法及系统 |
Non-Patent Citations (1)
Title |
---|
王振宇;: "一类链状图的枚举特征", 数学物理学报, no. 05 * |
Also Published As
Publication number | Publication date |
---|---|
CN116340270B (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107491487B (zh) | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 | |
US8176072B2 (en) | Method and system for tag suggestion in a tag-associated data-object storage system | |
US20120130983A1 (en) | Efficient string pattern matching for large pattern sets | |
US9852180B2 (en) | Systems and methods of accessing distributed data | |
CN101446984A (zh) | 一种文件存储方法、装置及文件删除方法和装置 | |
CN111752955A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN111078705A (zh) | 基于Spark平台建立数据索引方法及数据查询方法 | |
CN115391427A (zh) | Impala自动化伸缩的系统、方法、介质及设备 | |
CN109189343B (zh) | 一种元数据落盘方法、装置、设备及计算机可读存储介质 | |
CN116340270B (zh) | 并发遍历枚举方法、装置、设备及存储介质 | |
US7308448B1 (en) | Method and apparatus for implementing a lock-free skip list that supports concurrent accesses | |
CN112069175B (zh) | 数据查询的方法、装置及电子设备 | |
CN116150093B (zh) | 一种对象存储列举对象的实现方法及电子设备 | |
CN103020186B (zh) | 一种基于嵌入式设备的文件检索方法、装置以及设备 | |
CN107122247B (zh) | 一种静态占用图片的检测方法和装置 | |
CN111177506A (zh) | 一种基于大数据的分类存储方法及系统 | |
US7392359B2 (en) | Non-blocking distinct grouping of database entries with overflow | |
KR100667741B1 (ko) | 특징 벡터 데이터 공간의 인덱싱 방법 | |
CN115495462A (zh) | 批量数据更新方法、装置、电子设备和可读存储介质 | |
CN112100247B (zh) | ElasticSearch查询数据的方法及其系统 | |
CN114461762A (zh) | 档案变更识别方法、装置、设备及存储介质 | |
CN109241098B (zh) | 一种分布式数据库的查询优化方法 | |
CN117349236B (zh) | 文件读取方法、装置、设备及存储介质 | |
KR100884889B1 (ko) | 검색 데이터베이스의 자동 색인어 추가 방법 및 시스템 | |
CN109213443B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |