CN105022796B - 一种文件遍历方法、装置及系统 - Google Patents
一种文件遍历方法、装置及系统 Download PDFInfo
- Publication number
- CN105022796B CN105022796B CN201510372452.7A CN201510372452A CN105022796B CN 105022796 B CN105022796 B CN 105022796B CN 201510372452 A CN201510372452 A CN 201510372452A CN 105022796 B CN105022796 B CN 105022796B
- Authority
- CN
- China
- Prior art keywords
- subtask
- traversal
- task
- memory node
- memory
- 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.)
- Active
Links
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/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/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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (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)
Abstract
本发明实施例公开了一种文件遍历方法、装置及系统。一种文件遍历方法,应用于遍历服务器,遍历服务器根据接收到的对目标存储集群的遍历请求,生成初始遍历任务,并接收第一存储节点对该初始遍历任务进行拆分后得到的子任务集合,目标存储集群中的各存储节点进行子任务请求,子任务集合中的子任务对应的存储节点分别完成文件遍历操作,并接收各存储节点返回的遍历数据,生成遍历结果。应用本发明实施例所提供的技术方案,在文件遍历过程中,遍历服务器进行初始遍历任务的生成、子任务的分发,各存储节点分别在本地执行相应的子任务,存储节点之间没有交互过程,提高了文件遍历的性能,降低了存储集群本身的负载压力。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种文件遍历方法、装置及系统。
背景技术
分布式文件系统由多个存储集群构成,每个存储集群有多个存储节点。为了承载海量文件的存储,分布式文件系统一般会采用去中心化的设计,既便于水平扩展,又可以避免单点故障导致整个系统无法正常运行,保持分布式文件系统的高可用性。为了易用性,分布式文件系统一般会暴露出可移植操作系统接口(Portable Operating SystemInterface,POSIX),可以在客户机上挂载使用。
在去中心化的分布式文件系统中,没有节点保存全量的元数据,如果在进行数据迁移或文件归档时需要进行文件遍历操作,无法在某个节点中查询该分布式文件系统中全部的元数据信息。现有的一种文件遍历方法是,将该分布式文件系统以存储卷方式挂载到客户机上,客户机将所要遍历的存储卷作为一个普通的本地目录进行文件遍历操作。
在分布式文件系统中,所要遍历的存储卷中的文件可能存储于该分布式系统的不同存储节点的多个存储块中,如果要进行文件遍历,需要多个存储节点之间进行交互来获得遍历结果,每个目录层次的遍历操作都会跨整个存储集群。比如,所要遍历的文件分别存储于存储节点A、存储节点B、存储节点C中的相应存储块中,要在存储集群中执行文件遍历操作,需要存储集群的各个存储节点在本节点中均执行文件遍历任务,并且各个存储节点之间需要通过交互方式相互告知自身的遍历数据,最终获得遍历结果。这样,会引发大量的IO请求,使得每个存储节点的负载较大,整个存储集群的服务水平下降。
发明内容
为解决上述问题,本发明实施例公开了一种文件遍历方法、装置及系统。技术方案如下:
一种文件遍历方法,应用于遍历服务器,所述遍历服务器与目标存储集群中的各存储节点通信连接,所述方法包括:
接收对所述目标存储集群的遍历请求;
根据所述遍历请求,生成初始遍历任务;
接收所述目标存储集群中各存储节点发送的取初始任务请求,将所述初始遍历任务发送给所述目标存储集群中的第一存储节点;
获得所述第一存储节点对所述初始遍历任务进行拆分后得到的子任务集合,其中,所述子任务集合中每一个子任务与一个存储块对应,每一个存储节点均至少包含一个存储块;
接收所述目标存储集群中各存储节点发送的取子任务请求,将所述子任务集合中的各子任务分别发送给与该子任务相对应的存储块所在的存储节点;
针对每个子任务,接收与该子任务相对应的存储块所在的存储节点在其本地进行文件遍历后返回的遍历数据;
根据接收到的遍历数据,确定针对所述初始遍历任务的遍历结果。
在本发明的一种具体实施方式中,所述根据接收到的遍历数据,确定针对所述初始遍历任务的遍历结果,包括:
对接收到的遍历数据进行去重处理,将去重处理后的遍历数据确定为针对所述初始遍历任务的遍历结果。
一种文件遍历方法,应用于目标存储集群中的存储节点,所述存储节点与遍历服务器通信连接,所述方法包括:
向所述遍历服务器发送取初始任务请求,接收所述遍历服务器返回的初始遍历任务;
对所述初始遍历任务进行拆分,得到多个子任务,每一个子任务均与一个存储块对应,每一个存储节点均至少包含一个存储块;
将包含拆分得到的子任务的子任务集合发送给所述遍历服务器;
获得与所述存储节点自身包含的存储块相对应的子任务;
针对获得的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
在本发明的一种具体实施方式中,所述初始遍历任务中包含待遍历的存储卷的标识,所述对所述初始遍历任务进行拆分,得到多个子任务,包括:
查询本节点上的卷信息副本;
确定所述待遍历的每个存储卷对应的存储块;
将所述初始遍历任务拆分为多个与存储块对应的子任务,各子任务对应的存储块不同。
一种文件遍历方法,应用于目标存储集群的存储节点,所述存储节点与遍历服务器通信连接,所述方法包括:
向所述遍历服务器发送取子任务请求,接收所述遍历服务器返回的至少一个子任务,每一个子任务均与自身包含的一个存储块对应;
针对接收到的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
一种文件遍历装置,应用于遍历服务器,所述遍历服务器与目标存储集群中的各存储节点通信连接,所述装置包括:
遍历请求接收模块,用于接收对所述目标存储集群的遍历请求;
遍历任务生成模块,用于根据所述遍历请求,生成初始遍历任务;
遍历任务发送模块,用于接收所述目标存储集群中各存储节点发送的取初始任务请求,将所述初始遍历任务发送给所述目标存储集群中的第一存储节点;
子任务集合获得模块,用于获得所述第一存储节点对所述初始遍历任务进行拆分后得到的子任务集合,其中,所述子任务集合中每一个子任务与一个存储块对应,每一个存储节点均至少包含一个存储块;
子任务发送模块,用于接收所述目标存储集群中各存储节点发送的取子任务请求,将所述子任务集合中的各子任务分别发送给与该子任务相对应的存储块所在的存储节点;
遍历数据接收模块,用于针对每个子任务,接收与该子任务相对应的存储块所在的存储节点在其本地进行文件遍历后返回的遍历数据;
遍历结果确定模块,用于根据接收到的遍历数据,确定针对所述初始遍历任务的遍历结果。
在本发明的一种具体实施方式中,所述遍历结果确定模块,具体用于:
对接收到的遍历数据进行去重处理,将去重处理后的遍历数据确定为针对所述初始遍历任务的遍历结果。
一种文件遍历装置,应用于目标存储集群中的存储节点,所述存储节点与遍历服务器通信连接,所述装置包括:
遍历任务接收模块,用于向所述遍历服务器发送取初始任务请求,接收所述遍历服务器返回的初始遍历任务;
任务拆分模块,用于对所述初始遍历任务进行拆分,得到多个子任务,每一个子任务均与一个存储块对应,每一个存储节点均至少包含一个存储块;
子任务集合发送模块,用于将包含拆分得到的子任务的子任务集合发送给所述遍历服务器;
子任务获得模块,用于获得与所述存储节点自身包含的存储块相对应的子任务;
遍历数据第一发送模块,用于针对获得的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
在本发明的一种具体实施方式中,所述任务拆分模块,包括:
信息查询子模块,用于在所述初始遍历任务中包含待遍历的存储卷的标识的情况下,查询本节点上的卷信息副本;
存储块确定子模块,用于确定所述待遍历的每个存储卷对应的存储块;
任务拆分子模块,用于将所述初始遍历任务拆分为多个与存储块对应的子任务,各子任务对应的存储块不同。
一种文件遍历装置,应用于目标存储集群的存储节点,所述存储节点与遍历服务器通信连接,所述装置包括:
子任务接收模块,用于向所述遍历服务器发送取子任务请求,接收所述遍历服务器返回的至少一个子任务,每一个子任务均与自身包含的一个存储块对应;
遍历数据第二发送模块,用于针对接收到的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
一种文件遍历系统,所述文件遍历系统包括目标存储集群和遍历服务器,所述目标存储集群中各存储节点与所述遍历服务器通信连接:
所述遍历服务器,用于接收对所述目标存储集群的遍历请求;根据所述遍历请求,生成初始遍历任务;接收所述目标存储集群中各存储节点发送的取初始任务请求,将所述初始遍历任务发送给所述目标存储集群中的第一存储节点;获得所述第一存储节点对所述初始遍历任务进行拆分后得到的子任务集合,其中,所述子任务集合中每一个子任务与一个存储块对应,每一个存储节点均至少包含一个存储块;接收所述目标存储集群中各存储节点发送的取子任务请求,将所述子任务集合中的各子任务分别发送给与该子任务相对应的存储块所在的存储节点;针对每个子任务,接收与该子任务相对应的存储块所在的存储节点在其本地进行文件遍历后返回的遍历数据;根据接收到的遍历数据,确定针对所述初始遍历任务的遍历结果;
所述目标存储集群中的第一存储节点,用于向所述遍历服务器发送取初始任务请求,接收所述遍历服务器返回的初始遍历任务;对所述初始遍历任务进行拆分,得到多个子任务,每一个子任务均与一个存储块对应,每一个存储节点均至少包含一个存储块;将包含拆分得到的子任务的子任务集合发送给所述遍历服务器;获得与所述第一存储节点自身包含的存储块相对应的子任务;针对获得的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器;
所述目标存储集群中除所述第一存储节点外的其他存储节点,用于向所述遍历服务器发送取子任务请求,接收所述遍历服务器返回的至少一个子任务,每一个子任务均与自身包含的一个存储块对应;针对接收到的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
应用本发明实施例所提供的技术方案,遍历服务器根据接收到的对目标存储集群的遍历请求,生成初始遍历任务,并接收第一存储节点对该初始遍历任务进行拆分后得到的子任务集合,目标存储集群中的各存储节点进行子任务请求,子任务集合中的子任务对应的存储节点分别完成文件遍历操作,并接收各存储节点返回的遍历数据,生成遍历结果。在文件遍历过程中,遍历服务器进行初始遍历任务的生成、子任务的分发,各存储节点分别在本地执行相应的子任务,存储节点之间没有交互过程,提高了文件遍历的性能,降低了存储集群本身的负载压力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中文件遍历系统的结构示意图;
图2为本发明实施例中一种文件遍历方法的实施流程图;
图3为本发明实施例中另一种文件遍历方法的实施流程图;
图4为本发明实施例中另一种文件遍历方法的实施流程图;
图5为图2对应的文件遍历装置的一种结构示意图;
图6为图3对应的文件遍历装置的一种结构示意图;
图7为图4对应的文件遍历装置的一种结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对本发明实施例的应用场景进行说明。
本发明实施例提供了一种文件遍历方法,该方法可以应用于遍历服务器。在实际应用中,该遍历服务器中可以运行以下几个服务:文件遍历服务、消息队列服务、关系型数据库服务,参见图1所示的遍历服务器002。其中,各服务的主要作用如下:
文件遍历服务:主要作为初始遍历任务创建、管理及查询入口。
消息队列服务:主要负责初始遍历任务的分发、遍历数据的去重。消息队列的操作通过集合保证原子性。消息队列服务也可以称之为消息队列中间件,可以包含多个消息队列。针对不同对象,可以提供不同的消息队列,如针对存储集群的任务拆分队列,针对存储节点的文件遍历任务队列,针对初始遍历任务的任务遍历路径队列等。
关系型数据库服务:主要负责遍历数据的汇总与持久化。
在实际应用中,该遍历服务器还可以由多个服务器组成,如,运行文件遍历服务的服务器、运行消息队列服务的服务器和运行关系型数据库服务的服务器。
遍历服务器可以与存储集群中的存储节点进行通信连接,主要负责存储集群中文件的遍历。存储节点主要负责初始遍历任务的拆分以及在单个存储节点上执行文件遍历子任务。需要说明的是,图1仅示出了目标存储集群001,本发明实施例从针对目标存储集群的遍历请求的角度对文件遍历方法进行说明。
当然,在实际应用中,该遍历服务器可以服务于多个存储集群,遍历请求中可以携带存储集群的标识信息,根据遍历请求中携带的存储集群的标识信息即可确定需要在哪个存储集群中进行文件遍历。
参见图2所示,为本发明实施例提供的一种文件遍历方法的实施流程图,该方法可以包括以下步骤:
S110:接收对所述目标存储集群的遍历请求。
所述遍历请求可以包含存储卷标识、目标目录、遍历深度、过滤目录中的一种或多种信息。
当用户有针对目标存储集群进行文件遍历的需求时,可以向遍历服务器发送遍历请求。实际应用中,存储集群在客户机上展示给用户的是多个存储卷,每个存储卷中的文件被存储到不同存储节点的不同存储块上。用户可以指定某个存储卷、或者某几个目录进行文件遍历,当然,还可以指定遍历深度,及过滤目录,即不需要遍历的目录。
遍历服务器接收到对目标存储集群的遍历请求后,可以接续执行步骤S120的操作。当然,具体的,可以是遍历服务器中的遍历服务接收该遍历请求。
S120:根据所述遍历请求,生成初始遍历任务。
遍历服务器接收到对目标存储集群的遍历请求后,可以获得该遍历请求中包含的信息。根据遍历请求中包含的信息,遍历服务器中的遍历服务可以生成针对该遍历请求的初始遍历任务,该初始遍历任务的任务配置信息与遍历请求中包含的信息一致。
在实际应用中,遍历服务器中的遍历服务可以将生成的初始遍历任务发送给关系型数据库服务和消息队列服务,由关系型数据库服务将该初始遍历任务保存到关系型数据库中,同时,消息队列服务可以将该初始遍历任务插入到针对该目标存储集群的任务拆分队列中。这里的任务拆分队列为存储集群粒度的队列,也就是说针对每个存储集群都设置有其相对应的任务拆分队列。在针对目标存储集群的任务拆分队列中,可以保存针对于该目标存储集群的待拆分的初始遍历任务的标识。
S130:接收所述目标存储集群中各存储节点发送的取初始任务请求,将所述初始遍历任务发送给所述目标存储集群中的第一存储节点。
目标存储集群的存储节点可以定时向遍历服务器发送取初始任务请求,以在针对该目标存储集群的任务拆分队列中进行查询,如果在该任务拆分队列中存在初始遍历任务,则遍历服务器会将该初始遍历任务发送给该目标存储集群中的第一存储节点。该第一存储节点可以是该目标存储集群中的任意一个存储节点。由于任务拆分队列访问的原子性,同一个初始遍历任务只会被目标存储集群中的一个存储节点获取。
S140:获得所述第一存储节点对所述初始遍历任务进行拆分后得到的子任务集合。
其中,所述子任务集合中每一个子任务与一个存储块对应,每一个存储节点均至少包含一个存储块。
在实际应用中,分布式文件系统中的文件往往会哈希到不同的存储块,一个存储节点上可能会存在多个存储块,每个存储块上存放着不同的文件。获取到初始遍历任务的第一存储节点需要将该初始遍历任务拆分成多个子任务,每一个子任务与一个存储块对应,一个或多个子任务可能对应于不同的存储节点,由相应的存储节点在本地执行相应的文件遍历操作。
如果遍历服务器接收到的遍历请求中包含存储卷的标识信息,则初始遍历任务的任务配置信息中也会记录有需要遍历的存储卷的标识信息。第一存储节点根据存储卷的标识信息,通过查询本节点上的卷信息副本,可以识别到所要遍历的卷分布在目标存储集群的哪些存储节点的哪些存储块上。对于这些所涉及的存储节点的存储块,第一存储节点可以将初始遍历任务拆分为多个子任务,每个存储块对应一个子任务。需要说明的是,在目标存储集群的存储节点上可以保存卷信息副本,卷信息副本中包含有存储卷、存储节点、存储块的对应关系。
遍历服务器获得第一存储节点发送的子任务集合后,针对该子任务集合中的每个子任务,可以将该子任务保存到针对该子任务对应的存储节点的文件遍历任务队列中,每一个存储节点可能对应于一个或多个子任务。
这里的文件遍历任务队列为存储节点粒度的队列,内容为待遍历的路径哈希到该存储节点上的存储块的绝对路径以及在关系型数据库中所保存的初始遍历任务的标识信息。第一存储节点对初始遍历任务进行拆分,可以拆分得到多个子任务,每个子任务对应的存储块不同。
S150:接收所述目标存储集群中各存储节点发送的取子任务请求,将所述子任务集合中的各子任务分别发送给与该子任务相对应的存储块所在的存储节点。
目标存储集群中的各存储节点可以定时向遍历服务器发送取子任务请求,以查询针对本节点的文件遍历任务队列中是否存在子任务,如果存在至少一个子任务,则遍历服务器可以将该至少一个子任务发送给与该至少一个子任务相对应的存储块所在的存储节点。
S160:针对每个子任务,接收与该子任务相对应的存储块所在的存储节点在其本地进行文件遍历后返回的遍历数据。
对于接收到子任务的任意一个存储节点来说,该存储节点接收到子任务后,可以从子任务中解析出保存在关系型数据库中的初始遍历任务的标识信息,以及本地需要遍历的目标路径。该存储节点通过向关系型数据库查询初始文件遍历任务,可以获取到完整的任务配置信息,如遍历深度、过滤目录等信息,然后该存储节点可以应用现有的遍历算法遍历本节点对应的目录,现有的遍历算法如广度优先算法,本发明实施例不再赘述。
接收到子任务的每个存储节点根据接收到的子任务在本地进行文件遍历后,将遍历数据发送给遍历服务器。
针对每个子任务,遍历服务器都可以接收到该子任务相对应的存储块所在的存储节点在其本地进行文件遍历后返回的遍历数据,可以继续执行步骤S170的操作。
S170:根据接收到的遍历数据,确定针对所述初始遍历任务的遍历结果。
遍历服务器每接收到一条遍历数据,相当于遍历到一条路径,可以向任务遍历路径队列添加这条路径。任务遍历路径队列为初始遍历任务粒度的队列,针对初始遍历任务的所有执行结果,如遍历出来的路径,均可以放入到该遍历路径队列中。
根据接收到的遍历数据,遍历服务器可以确定针对初始遍历任务的遍历结果。当然,遍历服务器可以将遍历路径队列提供给外部系统访问,对遍历结果,如所遍历出来的路径,做进一步加工,比如做数据迁移或者归档。
在本发明的一种具体实施方式中,遍历服务器接收到所有相关存储节点返回的遍历数据后,可以对接收到的遍历数据进行去重处理,将去重处理后的遍历数据确定为针对所述初始遍历任务的遍历结果。
在实际应用中,为了持久化与可靠性,分布式文件系统的多个存储块之间会相互做副本。所以,不同存储节点在执行相应的子任务进行文件遍历时会得到冗余的路径。为了保证任务遍历路径队列中的路径的唯一性,需要对各存储节点返回的遍历数据进行去重处理。
为了去重,每个初始遍历任务有一个集合数据结构作为路径池,如果已经有相同路径存在,则集合会向存储节点返回添加失败消息,只有成功加入到该路径池的路径,才会进入到任务遍历路径队列。同时,该任务遍历路径队列可以向关系型数据库中提交一个正式的解析结果。另外,这个集合的另一个作用是把去重工作移到了消息队列中间件,减轻了关系型数据库的压力。
在本发明的一个实施例中,该方法还可以包括以下步骤:
接收到每个子任务相对应的存储块所在的存储节点返回的遍历数据后,将所述初始遍历任务的任务状态修改为完成状态。
遍历服务器可以定期检查消息队列中间件中的任务状态,当初始遍历任务分配到所有存储节点上的子任务执行结束后,会修改关系型数据库中的初始任务的状态,以便文件遍历请求者,如用户进行进一步的操作。
在任务配置中有回调链接url的情况下,遍历服务器可以执行回调,通知外部访问系统初始遍历任务完成,以及如何访问到遍历结果。该遍历结果可以从消息队列中间件中获取,还可以从关系型数据库中获取。
参见图3所示,为本发明实施例提供的文件遍历方法的一种实施流程图,该方法应用于目标存储集群中的存储节点,该存储节点与遍历服务器通信连接,所述方法可以包括以下步骤:
S210:向所述遍历服务器发送取初始任务请求,接收所述遍历服务器返回的初始遍历任务。
在实际应用中,针对目标存储集群的初始遍历任务可以由遍历服务器生成并保存。初始遍历任务可以是遍历服务器根据接收到的对目标存储集群的遍历请求生成的。
目标存储集群中的存储节点可以定时向遍历服务器发送取初始任务请求,如果遍历服务器中存在初始遍历任务,则遍历服务器接收到该存储节点的取初始任务请求后,可以将该初始遍历任务发送给该存储节点。该存储节点可以是该目标存储集群中的任意一个存储节点。遍历服务器可以通过设置队列访问的原子性,使同一个初始遍历任务只会被目标存储集群中的一个存储节点获取。
S220:对所述初始遍历任务进行拆分,得到多个子任务。
每一个子任务均与一个存储块对应,每一个存储节点均至少包含一个存储块。
在实际应用中,分布式文件系统中的文件往往会哈希到不同的存储块,一个存储节点上可能会存在多个存储块,每个存储块上存放着不同的文件。获取到初始遍历任务的存储节点需要将该初始遍历任务拆分成多个子任务,每一个子任务与一个存储块对应,一个或多个子任务可能对应于不同的存储节点,由相应的存储节点在本地执行相应的文件遍历操作。
在本发明的一种具体实施方式中,所述初始遍历任务中包含待遍历的存储卷的标识信息,步骤S220可以包括以下三个步骤:
第一个步骤:查询本节点上的卷信息副本;
第二个步骤:确定所述待遍历的每个存储卷对应的存储块;
第三个步骤:将所述初始遍历任务拆分为多个与存储块对应的子任务,各子任务对应的存储块不同。
为描述方便,将上述三个步骤结合起来进行说明。
遍历服务器发送给该存储节点的初始遍历任务中可以包含待遍历的存储卷的标识信息,该存储节点根据存储卷的标识信息,通过查询本节点上的卷信息副本,可以确定待遍历的存储卷对应的存储块,并可以识别到所要遍历的存储卷分布在目标存储集群的哪些存储节点上。对于这些所涉及的存储节点的存储块,该存储节点可以将初始遍历任务拆分为多个子任务,每个存储块对应一个子任务,每个子任务对应于不同的存储块。
需要说明的是,在目标存储集群的存储节点上可以保存卷信息副本,卷信息副本中包含有存储卷、存储节点、存储块的对应关系。
S230:将包含拆分得到的子任务的子任务集合发送给所述遍历服务器。
在步骤S220,该存储节点对初始遍历任务进行拆分后,得到针对该初始遍历任务的多个子任务,将子任务集合发送给遍历服务器。
S240:获得与所述存储节点自身包含的存储块相对应的子任务;
在步骤S220,该存储节点对初始遍历任务进行拆分后,得到针对该初始遍历任务的多个子任务,各子任务对应的存储块不同,与存储节点具有一定的对应关系。拆分得到的子任务中可能存在与该存储节点自身包含的存储块相对应的子任务。
在实际应用中,该存储节点可以通过以下方式获得与自身包含的存储块相对应的子任务:
第一种方式,该存储节点对初始遍历任务进行拆分后,如果拆分得到的子任务中存在与自身包含的存储块相对应的子任务,则可以直接获得这些子任务;
第二种方式,该存储节点对初始遍历任务进行拆分后,将拆分后的子任务集合发送给遍历服务器,向遍历服务器发送取子任务请求,接收遍历服务器发送的与自身包含的存储块相对应的子任务。
S250:针对获得的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
该存储节点获得与自身包含的存储块相对应的子任务后,可以针对获得的每个子任务,从该子任务中解析出遍历服务器中保存的初始遍历任务的标识信息,以及本地需要遍历的目标路径。该存储节点通过向遍历服务器查询初始文件遍历任务,可以获取到完整的任务配置信息,如遍历深度、过滤目录等信息,然后该存储节点可以应用现有的遍历算法遍历本节点对应的目录,现有的遍历算法如广度优先算法,本发明实施例不再赘述。
该存储节点针对获得的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给遍历服务器,以由遍历服务器对遍历数据进行汇总,生成遍历结果。
参见图4所示,为本发明实施例提供的一种文件遍历方法的实施流程图,该方法应用于目标存储集群的存储节点,所述存储节点与遍历服务器通信连接,所述方法可以包括以下步骤:
S310:向所述遍历服务器发送取子任务请求,接收所述遍历服务器返回的至少一个子任务。
每一个子任务均与自身包含的一个存储块对应。
遍历服务器可以根据对目标存储集群的遍历请求,生成初始遍历任务,并获得针对该初始遍历任务的子任务,每一个子任务对应的存储块不同。该存储节点可以定时向遍历服务器发送取子任务请求,以查询遍历服务器中是否存在与本节点包含的存储块对应的子任务。如果存在至少一个与本节点包含的存储块对应的子任务,遍历服务器将相对应的子任务发送给该存储节点。该存储节点接收到遍历服务器返回的至少一个子任务后,继续执行步骤S320的操作。
S320:针对接收到的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
该存储节点获得与自身包含的存储块相对应的子任务后,可以针对获得的每个子任务,从该子任务中解析出遍历服务器中保存的初始遍历任务的标识,以及本地需要遍历的目标路径。该存储节点通过向遍历服务器查询初始文件遍历任务,可以获取到完整的任务配置信息,如遍历深度、过滤目录等信息,然后该存储节点可以应用现有的遍历算法遍历本节点对应的目录,现有的遍历算法如广度优先算法,本发明实施例不再赘述。
该存储节点针对获得的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给遍历服务器,以由遍历服务器对遍历数据进行汇总,生成遍历结果。
应用本发明实施例所提供的技术方案,遍历服务器根据接收到的对目标存储集群的遍历请求,生成初始遍历任务,并接收第一存储节点对该初始遍历任务进行拆分后得到的子任务集合,目标存储集群中的各存储节点进行子任务请求,子任务集合中的子任务对应的存储节点分别完成文件遍历操作,并接收各存储节点返回的遍历数据,生成遍历结果。在文件遍历过程中,遍历服务器进行初始遍历任务的生成、子任务的分发,各存储节点分别在本地执行相应的子任务,存储节点之间没有交互过程,提高了文件遍历的性能,降低了存储集群本身的负载压力。
相应于图2所示方法实施例,本发明实施例提供了一种文件遍历装置,该装置应用于遍历服务器,所述遍历服务器与目标存储集群中的各存储节点通信连接,参见图5所示,该装置可以包括以下模块:
遍历请求接收模块410,用于接收对所述目标存储集群的遍历请求;
遍历任务生成模块420,用于根据所述遍历请求,生成初始遍历任务;
遍历任务发送模块430,用于接收所述目标存储集群中各存储节点发送的取初始任务请求,将所述初始遍历任务发送给所述目标存储集群中的第一存储节点;
子任务集合获得模块440,用于获得所述第一存储节点对所述初始遍历任务进行拆分后得到的子任务集合,其中,所述子任务集合中每一个子任务与一个存储块对应,每一个存储节点均至少包含一个存储块;
子任务发送模块450,用于接收所述目标存储集群中各存储节点发送的取子任务请求,将所述子任务集合中的各子任务分别发送给与该子任务相对应的存储块所在的存储节点;
遍历数据接收模块460,用于针对每个子任务,接收与该子任务相对应的存储块所在的存储节点在其本地进行文件遍历后返回的遍历数据;
遍历结果确定模块470,用于根据接收到的遍历数据,确定针对所述初始遍历任务的遍历结果。
在本发明的一种具体实施方式中,所述遍历结果确定模块470,可以具体用于:
对接收到的遍历数据进行去重处理,将去重处理后的遍历数据确定为针对所述初始遍历任务的遍历结果。
相应于图3所示方法实施例,本发明实施例还提供了一种文件遍历装置,该装置应用于目标存储集群中的存储节点,所述存储节点与遍历服务器通信连接,参见图6所示,该装置可以包括以下模块:
遍历任务接收模块510,用于向所述遍历服务器发送取初始任务请求,接收所述遍历服务器返回的初始遍历任务;
任务拆分模块520,用于对所述初始遍历任务进行拆分,得到多个子任务,每一个子任务均与一个存储块对应,每一个存储节点均至少包含一个存储块;
子任务集合发送模块530,用于将包含拆分得到的子任务的子任务集合发送给所述遍历服务器;
子任务获得模块540,用于获得与所述存储节点自身包含的存储块相对应的子任务;
遍历数据第一发送模块550,用于针对获得的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
在本发明的一种具体实施方式中,所述任务拆分模块520,可以包括以下子模块:
信息查询子模块,用于在所述初始遍历任务中包含待遍历的存储卷的标识的情况下,查询本节点上的卷信息副本;
存储块确定子模块,用于确定所述待遍历的每个存储卷对应的存储块;
任务拆分子模块,用于将所述初始遍历任务拆分为多个与存储块对应的子任务,各子任务对应的存储块不同。
相应于图4所示方法实施例,本发明实施例还提供了一种文件遍历装置,该装置应用于目标存储集群的存储节点,所述存储节点与遍历服务器通信连接,参见图7所示,该装置可以包括以下模块:
子任务接收模块610,用于向所述遍历服务器发送取子任务请求,接收所述遍历服务器返回的至少一个子任务,每一个子任务均与自身包含的一个存储块对应;
遍历数据第二发送模块620,用于针对接收到的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
应用本发明实施例所提供的装置,遍历服务器根据接收到的对目标存储集群的遍历请求,生成初始遍历任务,并接收第一存储节点对该初始遍历任务进行拆分后得到的子任务集合,目标存储集群中的各存储节点进行子任务请求,子任务集合中的子任务对应的存储节点分别完成文件遍历操作,并接收各存储节点返回的遍历数据,生成遍历结果。在文件遍历过程中,遍历服务器进行初始遍历任务的生成、子任务的分发,各存储节点分别在本地执行相应的子任务,存储节点之间没有交互过程,提高了文件遍历的性能,降低了存储集群本身的负载压力。
参见图1所示,本发明实施例提供了一种文件遍历系统,该文件遍历系统包括目标存储集群001和遍历服务器002,所述目标存储集群001中各存储节点与所述遍历服务器002通信连接:
所述遍历服务器002,用于接收对所述目标存储集群的遍历请求;根据所述遍历请求,生成初始遍历任务;接收所述目标存储集群中各存储节点发送的取初始任务请求,将所述初始遍历任务发送给所述目标存储集群中的第一存储节点;获得所述第一存储节点对所述初始遍历任务进行拆分后得到的子任务集合,其中,所述子任务集合中每一个子任务与一个存储块对应,每一个存储节点均至少包含一个存储块;接收所述目标存储集群中各存储节点发送的取子任务请求,将所述子任务集合中的各子任务分别发送给与该子任务相对应的存储块所在的存储节点;针对每个子任务,接收与该子任务相对应的存储块所在的存储节点在其本地进行文件遍历后返回的遍历数据;根据接收到的遍历数据,确定针对所述初始遍历任务的遍历结果;
所述目标存储集群001中的第一存储节点,用于向所述遍历服务器发送取初始任务请求,接收所述遍历服务器返回的初始遍历任务;对所述初始遍历任务进行拆分,得到多个子任务,每一个子任务均与一个存储块对应,每一个存储节点均至少包含一个存储块;将包含拆分得到的子任务的子任务集合发送给所述遍历服务器;获得与所述第一存储节点自身包含的存储块相对应的子任务;针对获得的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器;
所述目标存储集群001中除所述第一存储节点外的其他存储节点,用于向所述遍历服务器发送取子任务请求,接收所述遍历服务器返回的至少一个子任务,每一个子任务均与自身包含的一个存储块对应;针对接收到的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
应用本发明实施例所提供的系统,遍历服务器根据接收到的对目标存储集群的遍历请求,生成初始遍历任务,并接收第一存储节点对该初始遍历任务进行拆分后得到的子任务集合,目标存储集群中的各存储节点进行子任务请求,子任务集合中的子任务对应的存储节点分别完成文件遍历操作,并接收各存储节点返回的遍历数据,生成遍历结果。在文件遍历过程中,遍历服务器进行初始遍历任务的生成、子任务的分发,各存储节点分别在本地执行相应的子任务,存储节点之间没有交互过程,提高了文件遍历的性能,降低了存储集群本身的负载压力。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种文件遍历方法,其特征在于,应用于遍历服务器,所述遍历服务器与目标存储集群中的各存储节点通信连接,所述方法包括:
接收对所述目标存储集群的遍历请求;
根据所述遍历请求,生成初始遍历任务;
接收所述目标存储集群中各存储节点发送的取初始任务请求,将所述初始遍历任务发送给所述目标存储集群中的第一存储节点;
获得所述第一存储节点对所述初始遍历任务进行拆分后得到的子任务集合,其中,所述子任务集合中每一个子任务与一个存储块对应,每一个存储节点均至少包含一个存储块;
接收所述目标存储集群中各存储节点发送的取子任务请求,将所述子任务集合中的各子任务分别发送给与该子任务相对应的存储块所在的存储节点;
针对每个子任务,接收与该子任务相对应的存储块所在的存储节点在其本地进行文件遍历后返回的遍历数据;
根据接收到的遍历数据,确定针对所述初始遍历任务的遍历结果。
2.根据权利要求1所述的方法,其特征在于,所述根据接收到的遍历数据,确定针对所述初始遍历任务的遍历结果,包括:
对接收到的遍历数据进行去重处理,将去重处理后的遍历数据确定为针对所述初始遍历任务的遍历结果。
3.一种文件遍历方法,其特征在于,应用于目标存储集群中的存储节点,所述存储节点与遍历服务器通信连接,所述方法包括:
向所述遍历服务器发送取初始任务请求,接收所述遍历服务器返回的初始遍历任务;
对所述初始遍历任务进行拆分,得到多个子任务,每一个子任务均与一个存储块对应,每一个存储节点均至少包含一个存储块;
将包含拆分得到的子任务的子任务集合发送给所述遍历服务器;
直接或从所述遍历服务器中获得与所述存储节点自身包含的存储块相对应的子任务;
针对获得的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
4.根据权利要求3所述的方法,其特征在于,所述初始遍历任务中包含待遍历的存储卷的标识,所述对所述初始遍历任务进行拆分,得到多个子任务,包括:
查询本节点上的卷信息副本;
确定所述待遍历的每个存储卷对应的存储块;
将所述初始遍历任务拆分为多个与存储块对应的子任务,各子任务对应的存储块不同。
5.一种文件遍历装置,其特征在于,应用于遍历服务器,所述遍历服务器与目标存储集群中的各存储节点通信连接,所述装置包括:
遍历请求接收模块,用于接收对所述目标存储集群的遍历请求;
遍历任务生成模块,用于根据所述遍历请求,生成初始遍历任务;
遍历任务发送模块,用于接收所述目标存储集群中各存储节点发送的取初始任务请求,将所述初始遍历任务发送给所述目标存储集群中的第一存储节点;
子任务集合获得模块,用于获得所述第一存储节点对所述初始遍历任务进行拆分后得到的子任务集合,其中,所述子任务集合中每一个子任务与一个存储块对应,每一个存储节点均至少包含一个存储块;
子任务发送模块,用于接收所述目标存储集群中各存储节点发送的取子任务请求,将所述子任务集合中的各子任务分别发送给与该子任务相对应的存储块所在的存储节点;
遍历数据接收模块,用于针对每个子任务,接收与该子任务相对应的存储块所在的存储节点在其本地进行文件遍历后返回的遍历数据;
遍历结果确定模块,用于根据接收到的遍历数据,确定针对所述初始遍历任务的遍历结果。
6.根据权利要求5所述的装置,其特征在于,所述遍历结果确定模块,具体用于:
对接收到的遍历数据进行去重处理,将去重处理后的遍历数据确定为针对所述初始遍历任务的遍历结果。
7.一种文件遍历装置,其特征在于,应用于目标存储集群中的存储节点,所述存储节点与遍历服务器通信连接,所述装置包括:
遍历任务接收模块,用于向所述遍历服务器发送取初始任务请求,接收所述遍历服务器返回的初始遍历任务;
任务拆分模块,用于对所述初始遍历任务进行拆分,得到多个子任务,每一个子任务均与一个存储块对应,每一个存储节点均至少包含一个存储块;
子任务集合发送模块,用于将包含拆分得到的子任务的子任务集合发送给所述遍历服务器;
子任务获得模块,用于直接或从所述遍历服务器中获得与所述存储节点自身包含的存储块相对应的子任务;
遍历数据第一发送模块,用于针对获得的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
8.根据权利要求7所述的装置,其特征在于,所述任务拆分模块,包括:
信息查询子模块,用于在所述初始遍历任务中包含待遍历的存储卷的标识的情况下,查询本节点上的卷信息副本;
存储块确定子模块,用于确定所述待遍历的每个存储卷对应的存储块;
任务拆分子模块,用于将所述初始遍历任务拆分为多个与存储块对应的子任务,各子任务对应的存储块不同。
9.一种文件遍历系统,其特征在于,所述文件遍历系统包括目标存储集群和遍历服务器,所述目标存储集群中各存储节点与所述遍历服务器通信连接:
所述遍历服务器,用于接收对所述目标存储集群的遍历请求;根据所述遍历请求,生成初始遍历任务;接收所述目标存储集群中各存储节点发送的取初始任务请求,将所述初始遍历任务发送给所述目标存储集群中的第一存储节点;获得所述第一存储节点对所述初始遍历任务进行拆分后得到的子任务集合,其中,所述子任务集合中每一个子任务与一个存储块对应,每一个存储节点均至少包含一个存储块;接收所述目标存储集群中各存储节点发送的取子任务请求,将所述子任务集合中的各子任务分别发送给与该子任务相对应的存储块所在的存储节点;针对每个子任务,接收与该子任务相对应的存储块所在的存储节点在其本地进行文件遍历后返回的遍历数据;根据接收到的遍历数据,确定针对所述初始遍历任务的遍历结果;
所述目标存储集群中的第一存储节点,用于向所述遍历服务器发送取初始任务请求,接收所述遍历服务器返回的初始遍历任务;对所述初始遍历任务进行拆分,得到多个子任务,每一个子任务均与一个存储块对应,每一个存储节点均至少包含一个存储块;将包含拆分得到的子任务的子任务集合发送给所述遍历服务器;直接或从所述遍历服务器中获得与所述第一存储节点自身包含的存储块相对应的子任务;针对获得的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器;
所述目标存储集群中除所述第一存储节点外的其他存储节点,用于向所述遍历服务器发送取子任务请求,接收所述遍历服务器返回的至少一个子任务,每一个子任务均与自身包含的一个存储块对应;针对接收到的每个子任务,在与该子任务相应的存储块中进行文件遍历,并将遍历数据发送给所述遍历服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510372452.7A CN105022796B (zh) | 2015-06-30 | 2015-06-30 | 一种文件遍历方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510372452.7A CN105022796B (zh) | 2015-06-30 | 2015-06-30 | 一种文件遍历方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105022796A CN105022796A (zh) | 2015-11-04 |
CN105022796B true CN105022796B (zh) | 2019-03-15 |
Family
ID=54412766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510372452.7A Active CN105022796B (zh) | 2015-06-30 | 2015-06-30 | 一种文件遍历方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105022796B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451062B (zh) * | 2017-08-09 | 2020-12-29 | 百度在线网络技术(北京)有限公司 | 一种用户界面遍历测试方法、装置、服务器、存储介质 |
CN107888684A (zh) * | 2017-11-13 | 2018-04-06 | 小草数语(北京)科技有限公司 | 分布式系统计算任务处理方法、装置及控制器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279568A (zh) * | 2013-06-18 | 2013-09-04 | 无锡紫光存储系统有限公司 | 一种元数据管理系统及方法 |
CN103324533A (zh) * | 2012-03-22 | 2013-09-25 | 华为技术有限公司 | 分布式数据处理方法、装置及系统 |
CN104239144A (zh) * | 2014-09-22 | 2014-12-24 | 珠海许继芝电网自动化有限公司 | 一种多级分布式任务处理系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1900189B1 (en) * | 2005-06-29 | 2018-04-18 | Cisco Technology, Inc. | Parallel filesystem traversal for transparent mirroring of directories and files |
US8345976B2 (en) * | 2010-08-06 | 2013-01-01 | Sony Corporation | Systems and methods for segmenting digital images |
CN103677751B (zh) * | 2012-09-06 | 2016-12-21 | 阿里巴巴集团控股有限公司 | 任务并行处理方法和装置 |
CN104699542B (zh) * | 2015-03-31 | 2018-02-09 | 北京奇艺世纪科技有限公司 | 任务处理方法及系统 |
-
2015
- 2015-06-30 CN CN201510372452.7A patent/CN105022796B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324533A (zh) * | 2012-03-22 | 2013-09-25 | 华为技术有限公司 | 分布式数据处理方法、装置及系统 |
CN103279568A (zh) * | 2013-06-18 | 2013-09-04 | 无锡紫光存储系统有限公司 | 一种元数据管理系统及方法 |
CN104239144A (zh) * | 2014-09-22 | 2014-12-24 | 珠海许继芝电网自动化有限公司 | 一种多级分布式任务处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105022796A (zh) | 2015-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9720989B2 (en) | Dynamic partitioning techniques for data streams | |
US9276959B2 (en) | Client-configurable security options for data streams | |
US9794135B2 (en) | Managed service for acquisition, storage and consumption of large-scale data streams | |
US9053167B1 (en) | Storage device selection for database partition replicas | |
US8069224B2 (en) | Method, equipment and system for resource acquisition | |
US20150134795A1 (en) | Data stream ingestion and persistence techniques | |
US20080263082A1 (en) | Recovery segment identification in a computing infrastructure | |
CN103186554B (zh) | 分布式数据镜像方法及存储数据节点 | |
CN109451088A (zh) | 一种数据访问方法及装置 | |
CN101771723A (zh) | 数据同步方法 | |
CN107026876B (zh) | 一种文件数据访问系统及方法 | |
CN103095687A (zh) | 元数据处理方法及装置 | |
CN109684273A (zh) | 一种快照管理方法、装置、设备及可读存储介质 | |
CN109062697A (zh) | 一种提供空间分析服务的方法和装置 | |
KR101236477B1 (ko) | 비대칭 클러스터 파일 시스템의 데이터 처리 방법 | |
CN105512279A (zh) | 一种元数据访问方法、相关设备及系统 | |
CN111782134A (zh) | 数据处理方法、装置、系统和计算机可读存储介质 | |
CN107370809A (zh) | 数据同步方法及数据搜索系统 | |
CN110008029B (zh) | ceph元数据集群目录分配方法、系统、装置及可读存储介质 | |
CN110012050A (zh) | 消息处理、存储方法、装置及系统 | |
CN105022796B (zh) | 一种文件遍历方法、装置及系统 | |
CN101778131A (zh) | 数据同步系统 | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
CN106227470B (zh) | 一种存储资源管理方法及装置 | |
CN101789963A (zh) | 数据同步系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |