掌桥专利:专业的专利平台
掌桥专利
首页

一种数据处理方法、装置以及存储系统

文献发布时间:2023-06-19 11:19:16


一种数据处理方法、装置以及存储系统

技术领域

本申请涉及计算机技术,具体涉及一种数据处理方法、装置以及存储系统。

背景技术

目前采用多种存储方式进行数据处理。其中,上述存储方式可以包括分布式存储方式。上述分布式存储方式可以包括对象存储、文件存储和块存储。

在相关技术中,不同的存储方式需要对应不同的存储接口与存储系统,不同的存储系统是相互独立不能共用的。

例如,对象存储需要使用S3(Amazon Simple Storage Service,简单存储服务)接口,文件存储需要使用Posix(Portable Operating System Interface,可移植操作系统接口)接口。当用户通过不同的数据采集工具采集数据时,由于不同采集工具对应的存储方式不同,因此,需要至少维护提供Posix接口的文件存储系统与提供S3接口的对象存储系统,来满足存储用户使用不同采集工具采集到的数据。而当用户需要获取采集的所有数据时,需要分别从访问文件系统与对象存储系统中将数据提取出来,然后再做归拢。

可见,一方面,不同存储方式存储的数据需要存储在不同的存储系统,存储空间利用率低;另一方面,对存储的数据进行处理的步骤比较繁琐,容易出错。

发明内容

为了解决不同存储方式存储的数据需要存储在不同的存储系统,存储空间利用率低以及对存储的数据进行处理的步骤比较繁琐,容易出错的问题,本申请至少公开一种数据处理方法,应用于存储系统。上述存储系统包括与多种存储服务方式分别对应的多个接口,与上述多个接口分别对应的多个数据服务单元以及上述多种存储服务方式共用的存储介质;

上述方法可以包括:

接收数据处理请求;

基于上述数据处理请求确定与该次数据处理对应的元数据信息;

将上述元数据信息共享至上述存储系统包括的各数据服务单元以使上述存储系统响应于任一接口接收到的针对上述存储介质中的存储数据的处理请求,对与上述接口对应的数据服务单元所存储的元数据对应的存储数据进行处理。

在示出的一些实施例中,上述基于上述数据处理请求确定与该次数据处理对应的元数据信息,包括:

通过与接收上述数据处理请求的接口对应的第一数据服务单元,基于上述数据处理请求确定与该次数据处理对应的元数据信息。

在示出的一些实施例中,上述存储系统包括消息队列服务;

上述方法还包括:

在上述消息队列服务中分别为上述多个数据服务单元注册服务以使上述多个数据服务单元之间相互监听;

上述将上述元数据信息共享至上述存储系统包括的各数据服务单元,包括:

通过上述第一数据服务单元,将上述元数据信息发送至上述消息队列;

上述存储系统包括的除上述第一数据服务单元以外的其它数据服务单元在监听到上述元数据信息后,从上述消息队列中获取并存储上述元数据信息。

在示出的一些实施例中,上述将上述元数据信息共享至上述存储系统包括的各数据服务单元,包括:

通过上述第一数据服务单元,将上述元数据信息分发至上述存储系统包括的其它数据服务单元;

上述其它数据服务单元响应于接收到的上述元数据信息,存储上述元数据信息。

在示出的一些实施例中,当上述数据处理请求包括针对存储数据的处理请求时,上述基于上述数据处理请求确定与该次数据处理对应的元数据信息,包括:

获取上述数据处理请求携带的存储数据信息;

基于上述存储数据信息生成对应的元数据信息,并将生成的元数据信息确定为与该次数据处理对应的元数据信息;

上述方法还包括:

在确定上述元数据信息之后,基于上述元数据信息,对上述元数据对应的存储数据进行处理。

在示出的一些实施例中,当上述数据处理请求包括针对元数据的处理请求时,上述基于上述数据处理请求确定与该次数据处理对应的元数据信息,包括:

获取上述数据处理请求携带的元数据检索条件;

基于上述检索条件,获取满足上述检索条件的元数据信息,并将获取的元数据信息确定为与该次数据处理对应的元数据信息。

在示出的一些实施例中,上述基于上述检索条件,获取满足上述检索条件的元数据,包括:

通过元数据检索或日志重做,在存储的元数据信息中获取满足上述检索条件的元数据。

在示出的一些实施例中,上述检索条件包括以下中的任N项:

检索生成时刻处于预设时间区间的元数据;检索存储路径处于预设路径的元数据;检索存储路径处于预设路径且生成时刻处于预设时间区间的元数据。

在示出的一些实施例中,上述存储系统包括分布式存储系统;

上述存储介质包括若干存储分组;上述存储分组包括若干存储节点;上述方法还包括:

当接收到待存储数据时,通过与接收上述待存储数据的接口对应的数据服务单元,生成与上述待存储数据对应的元数据信息;

根据上述元数据信息指示的存储路径确定上述存储介质中与上述待存储数据对应的存储分组以及该存储分组中对应的存储节点;

将上述待存储数据存储至上述存储节点。

在示出的一些实施例中,上述方法还包括:

生成与上述待存储数据对应的副本;

将生成的副本存储至上述存储介质包括的其它存储分组。

本申请还提出一种数据处理装置,应用于存储系统。上述存储系统包括与多种存储服务方式分别对应的多个接口,与上述多个接口分别对应的多个数据服务单元以及上述多种存储服务方式共用的存储介质。上述装置可以包括:

接收模块,用于接收数据处理请求;

确定模块,用于基于上述数据处理请求确定与该次数据处理对应的元数据信息;

共享模块,将上述元数据信息共享至上述存储系统包括的各数据服务单元以使上述存储系统响应于任一接口接收到的针对上述存储介质中的存储数据的处理请求,对与上述接口对应的数据服务单元所存储的元数据对应的存储数据进行处理。

本申请还包括一种存储系统,上述系统包括:

接口层,与上述接口层通信连接的数据服务层,与上述数据服务层通信连接的存储引擎层,以及与上述存储引擎层通信连接的存储介质;

其中,上述接口层包括与多种存储服务方式分别对应的多个接口;

上述数据服务层包括与上述多个接口分别对应的多个数据服务器;上述数据服务层提供上述多个数据服务器之间的元数据信息共享服务;

上述存储介质包括上述多种存储服务方式共用的存储介质;

上述存储引擎层用于将通过上述多种存储服务方式中任一方式存储的数据存储至上述存储介质;

上述系统执行如前述任一实施例示出的数据处理方法。

在本申请中,一方面,通过在存储系统中部署多种存储方式共用的存储介质,从而可以将多种存储方式存储的数据存储在该存储介质中,提升了存储空间利用率。另一方面,通过在存储系统包括的多个存储服务单元中共享用于访问存储数据的元数据信息,以使上述存储系统可以响应于任一接口接收到的针对上述存储介质中的存储数据的处理请求,对与上述接口对应的数据服务单元所存储的元数据对应的存储数据进行处理,从而使得用户可以仅通过一个接口即可访问上述存储系统存储的所有数据,简化了用户提取数据的流程,降低了出错率。

应当理解的是,以上一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请示出的一种存储系统的结构示意图;

图2为本申请示出的一种数据处理方法的方法流程图;

图3为本申请示出的一种存储系统架构示意图;

图4为本申请示出的一种存储系统的拓扑结构示意图;

图5为本申请示出的一种元数据共享流程示意图;

图6为本申请示出的一种数据处理装置的结构示意图。

具体实施方式

下面将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的设备和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在可以包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。还应当理解,本文中所使用的词语“如果”,取决于语境,可以被解释成为“在……时”或“当……时”或“响应于确定”。

有鉴于此,本申请提出一种数据处理方法。一方面,该方法通过在存储系统中部署多种存储方式共用的存储介质,从而可以将多种存储方式存储的数据存储在该存储介质中,提升了存储空间利用率。另一方面,该方法通过在存储系统包括的多个存储服务单元中共享用于访问存储数据的元数据信息,以使上述存储系统可以响应于任一接口接收到的针对上述存储介质中的存储数据的处理请求,对与上述接口对应的数据服务单元所存储的元数据对应的存储数据进行处理,从而使得用户可以仅通过一个接口即可访问上述存储系统存储的所有数据,简化了用户提取数据的流程,降低了出错率。

该方法可以应用于存储系统。上述存储系统包括与多种存储服务方式分别对应的多个接口,与上述多个接口分别对应的多个数据服务单元以及上述多种存储服务方式共用的存储介质。

在本申请中,多个可以是指大于等于两个,具体数量可以根据实际业务进行设定,在此不作特别限定。例如,多个接口可以是指两个以上的接口。多个数据服务单元可以是指两个以上的与接口分别对应的数据服务单元。

其中,上述存储系统可以是单点式存储系统或分布式存储系统。在一些例子中,为了优化存储性能,上述存储系统可以是分布式存储系统。

以下以上述存储系统为分布式存储系统为例进行说明。可以理解的是,单点式存储系统的相关说明可以参照分布式存储系统的相关说明,在本申请中不进行详述。

请参见图1,图1为本申请示出的一种存储系统的结构示意图。需要说明的是,图1仅为示意性说明,在实际应用中可以使用其他类似结构。

如图1所示,上述存储系统可以包括多个接口,多个数据服务单元,以及存储介质。其中,上述多个接口可以分别与多个数据服务单元进行数据交互。上述多个数据服务单元可以与上述存储介质进行数据交互。

图1示出的接口可以与用户进行交互。例如,上述多个接口可以包括支持文件存储的Posix接口以及支持对象存储的S3接口等。在分布式存储系统中,上述接口可以部署于与用户客户端交互的计算节点中。

上述多个接口分别对应于图1示出的多个数据服务单元。例如,若用户通过Posix接口进行数据处理,则可以通过与Posix接口对应的数据服务单元进行数据处理。若用户通过S3接口进行数据处理,则可以通过与S3接口对应的数据服务单元进行数据处理。

上述数据服务单元用于数据管理服务。其中,与不同接口对应的数据服务单元使用不同的存储方式进行数据管理。

例如,上述接口为文件存储接口时,与该接口对应的数据服务单元可以生成与存储数据(用户采集并存储在存储介质中的数据)对应的文件元数据(即对存储数据的描述性数据),以实现文件存储方式的数据管理。

再例如,上述接口为对象存储接口时,与该接口对应的数据服务单元可以生成与存储数据(用户采集并存储在存储介质中的数据)对应的对象元数据(即对存储数据的描述性数据),以实现对象存储方式的数据管理。

需要说明的是,同一存储数据在不同类型的数据服务单元存储的元数据之间是可以相互转换的,在此对转换方法进行详述。例如,文件元数据可以转换为对象元数据;对象元数据也可以转换为文件元数据。其中,上述文件元数据与上述对象元数据可以指向同一存储数据。

上述元数据具体是存储数据的描述数据。该元数据可以由数据服务单元基于存储数据生成。元数据可以包括上述存储数据的存储路径,数据名称,数据大小,存储时间等信息。

上述元数据可以用于访问存储在存储介质中的存储数据。

例如,当文件存储类型的数据服务单元存储了某一文件元数据时,该单元可以基于自身存储的文件元数据向用户展示显示视图(上述展示视图包括以预设展示形式向用户展示元数据)。当用户需要访问与上述文件元数据对应的存储数据时,可以将上述展示视图展示出的文件元数据打包至数据访问请求中。然后通过文件接口将该请求发送至上述存储系统,上述存储系统可以通过上述文件元数据指示的存储路径,确定上述存储数据的存储地址,然后再根据该存储地址获取并向用户返回上述存储数据。

在分布式存储系统中,上述数据服务单元可以部署于为数据服务节点中。

图1示出的存储介质,具体是上述多种存储服务方式共用的存储介质。通过任一数据接口接收的数据均可以存储于上述存储介质。

在一些例子中,上述存储介质包括若干存储分组。上述存储分组可以包括若干存储节点。当接收到待存储数据时,可以通过与接收上述待存储数据的接口对应的数据服务单元,生成与上述待存储数据对应的元数据信息。然后根据上述元数据信息指示的存储路径确定上述存储介质中与上述待存储数据对应的存储分组以及该存储分组中对应的存储节点。最后将上述待存储数据存储至上述存储节点。

在上述例子中,可以实现分布式存储,均衡各存储节点的存储压力,提升分布式存储系统的存储性能。

在一些例子中,上述存储系统还可以生成与上述待存储数据对应的副本。然后将生成的副本存储至上述存储介质包括的其它存储分组。

在上述例子中,可以通过副本机制保障数据存储的可靠性。

在一些例子中,上述存储系统还可以包括存储引擎单元,用于基于元数据信息,将对应存储数据存储至上述存储介质。

请参见图2,图2为本申请示出的一种数据处理方法的方法流程图。该方法应用于存储系统。上述存储系统包括与多种存储服务方式分别对应的多个接口,与上述多个接口分别对应的多个数据服务单元以及上述多种存储服务方式共用的存储介质。以下结合附图1进行实施例说明。

如图2所示,上述方法可以包括:

S202,接收数据处理请求。

在一些例子中,用户可以通过自身搭载的客户端与上述存储系统提供的任一接口进行交互,向上述存储系统发送数据处理请求。上述存储系统可以通过上述接口接收上述数据处理请求。本申请不对接口协议进行特别限定。

其中,上述数据处理请求可以包括针对存储数据的处理请求或针对元数据的处理请求。上述针对存储数据的处理请求可以包括对存储数据的存储、修改、删除等请求。上述针对元数据的处理请求可以包括元数据共享请求。上述元数据共享请求可以包括将已经存储的元数据共享至上述存储系统包括的各数据服务单元。

接收到数据处理请求后,可以执行S204。

S204,基于上述数据处理请求确定与该次数据处理对应的元数据信息。

在一些例子中,上述数据处理请求可以包括存储数据信息或者与存储数据对应的元数据信息或元数据检索条件等信息。

在接收到上述数据处理请求后,可以解析上述数据处理请求中携带的数据信息,并在获取上述数据信息之后,可以基于上述数据信息确定上述元数据信息。

例如,若上述数据处理请求携带存储数据信息,可以通过与接收该数据处理请求的接口对应的第一数据服务单元生成对应的元数据信息以确定与该次数据处理对应的元数据信息。

若上述数据处理请求携带元数据检索条件,可以从存储的元数据信息中获取满足上述检索条件的元数据信息,并将获取的元数据信息确定为与该次数据处理对应的元数据信息。

在一些例子中,为了兼容已有的存储服务方式,降低存储系统开发难度。可以通过与接收上述请求的接口对应的第一数据服务单元执行上述S204步骤。

例如,当上述接口为文件存储接口时,对应的数据服务单元是文件存储服务单元。此时通过文件存储服务单元执行S204时,可以利用已有的文件存储方式进行相关步骤执行,因此可以无需在存储系统中另外开发代码,从而可以兼容已有的存储服务方式,降低存储系统开发难度。

在确定与该次数据处理对应的元数据信息之后,可以执行S206。

S206,将上述元数据信息共享至上述存储系统包括的各数据服务单元以使上述存储系统响应于任一接口接收到的针对上述存储介质中的存储数据的处理请求,对与上述接口对应的数据服务单元所存储的元数据对应的存储数据进行处理。

例如,上述存储系统可以将确定的元数据信息分发至各数据服务单元,以完成上述共享。

上述针对上述存储介质中的存储数据的处理请求,可以包括对上述存储数据的访问、删除、修改等处理请求,在一些例子中上述处理请求可以是访问请求。

在上述方案中,一方面,由于上述存储系统包括多种存储方式共用的存储介质,因此,通过多种存储方式存储的数据存储在共用的存储介质中,提升了存储空间利用率;另一方面,由于可以用于访问存储数据的元数据信息可以共享至上述存储系统包括的各数据服务单元,因此可以使上述存储系统可以响应于任一接口接收到的针对上述存储介质中的存储数据的处理请求,对与上述接口对应的数据服务单元所存储的元数据对应的存储数据进行处理,从而使得用户可以仅通过一个接口即可访问上述存储系统存储的所有数据,简化了用户提取数据的流程,降低了出错率。

在一些例子中,可以利用消息队列服务实现元数据信息共享。上述存储系统可以提供消息队列服务。在上述消息队列服务中分别为上述多个数据服务单元注册服务以使上述多个数据服务单元之间相互监听。

例如,可以在上述存储系统初始化时,完成上述注册。

之后,在将上述元数据信息共享至上述存储系统包括的各数据服务单元时,可以通过与接收上述请求的接口对应的第一数据服务单元,将上述元数据信息发送至上述消息队列。然后,上述存储系统包括的除上述第一数据服务单元以外的其它数据服务单元在监听到上述元数据信息后,可以从上述消息队列中获取并存储上述元数据信息。

在上述例子中,通过上述消息队列服务保障了各数据服务单元之间的元数据信息共享,进而可以保证用户可以通过一个接口即可访问上述存储系统存储的所有数据,简化了用户提取数据的流程,降低了出错率。

在一些例子中,可以通过消息通知服务实现元数据信息共享。上述存储系统可以提供消息通知服务。在上述消息通知服务中分别为上述多个数据服务单元注册服务以使上述多个数据服务单元可以之间可以相互通知消息。

例如,可以在上述存储系统初始化时,完成上述注册。

之后,在将上述元数据信息共享至上述存储系统包括的各数据服务单元时,可以通过与接收上述请求的接口对应的第一数据服务单元,将上述元数据信息分发至上述存储系统包括的除上述第一数据服务单元以外的上述其它数据服务单元。然后,上述其它数据服务单元可以响应于接收到的上述元数据信息,存储上述元数据信息。

在上述例子中,通过消息通知服务保障了各数据服务单元之间的元数据信息共享,进而保证可以保证用户可以通过一个接口即可访问上述存储系统存储的所有数据,简化了用户提取数据的流程,降低了出错率。

在一些例子中,可以在处理用户发起的针对存储数据的数据处理请求时同步进行该存储数据的元数据共享。

此时,上述数据处理请求包括针对存储数据的数据处理请求。

以下将存储数据的数据处理请求分为两类进行说明。其中,第一类可以包括数据存储请求等创建数据的请求;第二类可以包括数据修改或删除请求等更新数据的请求。

可以理解的是在第一类请求中,上述存储系统中并未存储相应的存储数据,因此也没有对应的元数据信息。此时,在发起数据处理请求时,该请求中携带的是存储数据信息。在第二类请求中,上述存储系统中已经存储了相应的存储数据,因此也已存储了对应的元数据信息。此时,在发起数据处理请求时,该请求携带的是与存储数据对应的元数据信息。

针对第一类请求:

当上述数据处理请求包括针对存储数据的存储请求时,在执行上述S204时,可以获取上述数据处理请求携带的存储数据信息。然后可以基于上述存储数据信息生成对应的元数据信息,并将生成的元数据信息确定为与该次数据处理对应的元数据信息。

在一些例子中,在接收到上述请求后,可以将该请求传递至与接收该请求的接口对应的第一数据服务单元中。然后由该单元生成与上述存储数据信息对应的元数据信息并存储起来。

然后可以基于消息队列机制,由该单元将上述元数据信息发送至消息队列,再由第一数据服务单元以外的其它数据服务单元获取并存储该元数据信息从而实现元数据消息的共享。

之后,还可以基于生成的元数据信息,将上述存储数据存储至上述存储介质。

在一些例子中,上述存储系统可以包括用于负责数据存储的存储引擎。该存储引擎可以管理上述存储介质,将该介质分为若干存储分组。其中,上述存储分组可以包括若干存储节点或存储磁盘。

该存储引擎可以根据上述元数据信息指示的存储路径确定上述存储介质中与上述待存储数据对应的存储分组以及该存储分组中对应的存储节点。然后可以将上述待存储数据存储至上述存储节点。

在一些例子中,上述存储引擎还可以生成与上述待存储数据对应的副本。然后,可以将生成的副本存储至上述存储介质包括的其它存储分组。

在上述例子中,一方面,通过在接收到针对存储数据的存储请求后,可以在进行数据存储的过程中完成该存储数据对应元数据的共享处理,从而可以使用户在将存储数据存储完成后可以马上通过任意接口访问到该存储数据,提升用户体验。另一方面,可以利用副本机制,可以保证数据存储的可靠性。

针对第二类请求:

当上述数据处理请求包括针对存储数据的修改或删除等更新请求时,在执行上述S204时,可以获取上述数据处理请求携带的更新后的存储数据信息。然后基于上述更新后的存储数据信息生成对应的元数据更新信息,并将生成的元数据更新信息确定为与该次数据处理对应的元数据信息。

在一些例子中,在接收到上述请求后,可以将该请求传递至与接收该请求的接口对应的第一数据服务单元中。然后由该单元基于更新后的存储数据信息,生成元数据更新信息并存储起来。

之后可以由该单元完成上述元数据更新信息的共享,在此不进行详述。

之后可以基于上述元数据更新信息,对上述元数据对应的存储数据进行处理。

例如,如果上述数据处理请求是更新处理请求时,则可以基于上述元数据更新信息指示的存储路径,确定上述存储数据的存储地址,然后将更新后的存储数据存储至该地址以完成对原存储数据的更新。

在上述例子中,通过在接收到针对存储数据的更新请求后,可以在进行数据更新的过程中完成该存储数据对应元数据的共享处理,从而可以使用户在将存储数据更新完成后可以马上通过任意接口访问更新后的存储数据,提升用户体验。

在一些例子中,为了保证存储系统的性能,可以延后进行元数据共享。

此时,上述数据处理请求可以包括针对元数据的数据处理请求。即用户发起针对存储数据的处理请求时,存储系统仅完成数据处理操作,在接收到用户发起的针对元数据的共享请求后,再实现元数据共享。

在一些例子中,在针对元数据的共享处理请求中可以包括待处理元数据的检索条件。通过该检索条件可以将满足条件的元数据进行共享,从而实现元数据的灵活共享,提升用户体验。

在一些例子中,当上述数据处理请求包括针对元数据的处理请求时,在执行上述S204时,可以取上述数据处理请求携带的检索条件。然后可以基于上述检索条件,获取满足上述检索条件的元数据信息,并将获取的元数据信息确定为与该次数据处理对应的元数据信息。

上述检索条件,可以包括以下中的任N项:

检索生成时刻处于预设时间区间的元数据;检索存储路径处于预设路径的元数据;检索存储路径处于预设路径且生成时刻处于预设时间区间的元数据。其中,上述N为小于等于3的正整数。

可以理解的是,设置上述检索条件可以使用户更加灵活的进行元数据共享处理。

在一些例子中,在接收到上述请求后,可以将该请求传递至与接收该请求的接口对应的数据服务单元中。然后由该单元基于上述检索条件,通过元数据检索或日志重做,在存储的元数据信息中获取满足上述检索条件的元数据。然后该单元可以将检索到通过消息队列机制传递至其他数据服务单元,从而实现元数据共享。

在上述例子中,由于存储系统可以响应于用户灵活发起的元数据共享请求实现满足检索条件的元数据的共享,从而一方面,可以延后进行元数据共享,保证存储系统存储访问性能;另一方面,可以提升用户使用感受。

本申请还提出一种存储系统。

请参见图3,图3为本申请示出的一种存储系统架构示意图。

如图3所示,上述系统可以包括接口层,与上述接口层通信连接的数据服务层,与上述数据服务层通信连接的存储引擎层,以及与上述存储引擎层通信连接的存储介质。

其中,上述接口层包括与多种存储服务方式分别对应的多个接口。

上述数据服务层包括与上述多个接口分别对应的多个数据服务器;上述数据服务层提供上述多个数据服务器之间的元数据信息共享服务。

上述存储介质包括上述多种存储服务方式共用的存储介质。

上述存储引擎层用于将通过上述多种存储服务方式中任一方式存储的数据存储至上述存储介质。

上述系统可以执行如前述任一实施例示出的数据处理方法。

以存储系统兼容文件存储与对象存储为例进行实施例说明。

上述存储系统(以下简称系统)为分布式存储系统,该分布式存储系统可以是具有中心节点的分布式存储系统,也可以是不具有中心节点的分布式存储系统。在此不作限定。

请参见图4,图4为本申请示出的一种存储系统的拓扑结构示意图。需要说明的是图4示出的拓扑结构仅为示意性的,在实际应用中可以有多种变形。

示意性的,如图4所示,上述存储系统可以包括接口层,与接口层通信连接的数据服务层,与数据服务层通信连接的存储引擎层以及与存储引擎层通信连接的存储介质。

其中,上述接口层可以包括若干计算节点(图中未示出),该计算节点用于与用户交互。

上述计算节点中看提供用于文件存储的文件接口(例如,Posix接口),以及用于对象存储的对象接口(例如,S3接口)。通过接口层可以接收用户的数据处理请求或向用户返回存储数据。

上述数据服务层可以包括以文件存储方式管理数据的文件元数据服务器(以下简称文件服务器)。该文件服务器与上述Posix接口对应。通过Posix接口接收到的数据处理请求可以传递至该文件服务器进行处理。

上述数据服务层可以包括以对象存储方式管理数据的对象网关服务器(以下简称对象服务器)。该对象服务器与上述S3接口对应。通过S3接口接收到的数据处理请求可以传递至该对象服务器进行处理。

上述数据服务层还可以在上述文件服务器与对象服务器中部署元数据检索服务与消息队列服务。可以理解的是,通常在该系统初始化时,可以完成文件服务器与对象服务器在上述消息队列服务中的注册,以使两个服务器可以相互监听。

上述数据服务层还可以将自身存储的元数据,以显示视图的方式展示于用户。用户可以通过显示视图示出的元数据访问存储在该系统中的数据。

上述存储介质可以包括若干存储节点或存储磁盘。上述存储介质为文件存储与对象存储共用的存储介质。

上述存储引擎层可以包括若干存储引擎服务器。上述存储引擎层通过管理逻辑可以将存储介质分为若干存储分组。其中,上述存储分组包括若干存储磁盘或存储节点。

上述存储引擎层可以将通过文件存储或对象存储方式存储的数据存储至上述存储介质。由此可以实现存储介质的共用。

上述存储引擎层还可以通过副本机制将存储数据复制到其他存储分组中,由此保障数据存储的可靠性。

上述系统可以提供同步元数据共享与延迟元数据共享功能。

同步元数据共享服务:

请参见图5,图5为本申请示出的一种元数据共享流程示意图。

如图5所示,在系统初始化时可以先执行第1步,完成文件服务器与对象服务器在消息队列服务中的注册服务,以使二者可以相互监听。

当用户通过爬虫工具(假设爬虫工具仅支持文件存储)从网络中采集到数据A时,该用户可以基于该数据A构建数据存储请求,并将该存储请求通过上述系统的Posix接口发送至上述系统。

上述系统接收到存储请求后,可以将该请求发送至文件服务器(图5示出的第2步)。

上述文件服务器可以解析该存储请求,获取该请求携带的数据A。然后可以基于该数据A中携带的信息构建对应元数据信息,并存储该元数据信息。

之后一方面,该文件服务器可以将该元数据信息以及该数据A发送至存储引擎服务器(图5中未示出)。存储引擎服务器可以基于元数据信息指示的存储路径,确定对应的存储分组以及存储节点,完成数据A的存储,并且可以根据数据A生成若干副本并存储在其他存储分组。

另一方面,该文件服务器可以将上述元数据信息发送至消息队列(图5示出的第3步)。对象服务器在监听到文件服务器上传的元数据信息后,可以从消息队列中获取上述元数据信息并存储起来(图5示出的第4步)。

至此则完成了该数据A的存储,并同步完成了数据A对应的元数据信息的共享。

不难理解,存储介质中已经存储了该数据A,并且在文件服务器与对象服务器(以下简称两个服务器)中均存储了该数据A的元数据信息。之后上述两个服务器可以通过显示视图的方式向用户展示数据A对应的元数据,以使用户可以实时的通过上述系统提供的文件接口或对象接口基于上述元数据访问该数据A。

延迟元数据共享功能:

以下继续结合图5示出的流程进行说明。

如图5所示,在系统初始化时可以先执行第1步,完成文件服务器与对象服务器在消息队列服务中的注册服务,以使二者可以相互监听。

为了保证存储系统的性能,用户可以选择在数据存储时关闭同步共享的功能,此时用户可以利用系统空闲时间进行元数据的共享。

用户可以将检索条件设置为检索存储时刻处于当天0点至23点59分这一时间段内,且存储在D盘的元数据。然后可以将基于该检索条件构建元数据共享请求,并通过Posix接口发送至上述系统。

上述系统接收到存储请求后,可以将该请求发送至文件服务器(图5示出的第2步)。

上述文件服务器可以解析该存储请求,获取该请求携带的检索条件。然后可以基于该检索条件,利用元数据检索服务,在自身存储的元数据信息中,检索出存储位置在D盘并且存储时刻为当天0点至23点59分的元数据信息。

之后,该文件服务器可以将检索出的元数据信息发送至消息队列(图5示出的第3步)。对象服务器在监听到文件服务器上传的元数据信息后,可以从消息队列中获取上述元数据信息并存储起来(图5示出的第4步)。

至此则完成了延迟完成了元数据信息的共享。

不难理解,此时文件服务器与对象服务器(以下简称两个服务器)中均存储了上述元数据信息。之后上述两个服务器可以通过显示视图的方式向用户展示上述元数据,以使用户可以通过上述系统提供的文件接口或对象接口基于上述元数据访问存储系统存储的数据。

与上述任一实施例相对应的,本申请还提出一种数据处理装置。该装置可以应用于存储系统。上述存储系统包括与多种存储服务方式分别对应的多个接口,与上述多个接口分别对应的多个数据服务单元以及上述多种存储服务方式共用的存储介质。

请参见图6,图6为本申请示出的一种数据处理装置的结构示意图。

如图6所示,上述装置60可以包括:

接收模块61,用于接收数据处理请求;

确定模块62,用于基于上述数据处理请求确定与该次数据处理对应的元数据信息;

共享模块63,用于将上述元数据信息共享至上述存储系统包括的各数据服务单元以使上述存储系统响应于任一接口接收到的针对上述存储介质中的存储数据的处理请求,对与上述接口对应的数据服务单元所存储的元数据对应的存储数据进行处理。

在示出的一些实施例中,上述确定模块62具体用于:

通过与接收上述数据处理请求的接口对应的第一数据服务单元,基于上述数据处理请求确定与该次数据处理对应的元数据信息。

在示出的一些实施例中,上述存储系统包括消息队列服务;上述装置60还包括:

监听模块64,用于在上述消息队列服务中分别为上述多个数据服务单元注册服务以使上述多个数据服务单元之间相互监听;

上述共享模块63具体用于:

通过上述第一数据服务单元,将上述元数据信息发送至上述消息队列;

上述存储系统包括的除上述第一数据服务单元以外的其它数据服务单元在监听到上述元数据信息后,从上述消息队列中获取并存储上述元数据信息。

在示出的一些实施例中,上述共享模块63具体用于:

通过上述第一数据服务单元,将上述元数据信息分发至上述存储系统包括的其它数据服务单元;

上述其它数据服务单元响应于接收到的上述元数据信息,存储上述元数据信息。

在示出的一些实施例中,当上述数据处理请求包括针对存储数据的处理请求时,上述确定模块62具体用于:

获取上述数据处理请求携带的存储数据信息;

基于上述存储数据信息生成对应的元数据信息,并将生成的元数据信息确定为与该次数据处理对应的元数据信息;

上述装置60还包括:

修改模块,用于在确定上述元数据信息之后,基于上述元数据信息,对上述元数据对应的存储数据进行处理。

在示出的一些实施例中,当上述数据处理请求包括针对元数据的处理请求时,上述确定模块62具体用于:

获取上述数据处理请求携带的元数据检索条件;

基于上述检索条件,获取满足上述检索条件的元数据信息,并将获取的元数据信息确定为与该次数据处理对应的元数据信息。

在示出的一些实施例中,上述确定模块62具体用于:

通过元数据检索或日志重做,在存储的元数据信息中获取满足上述检索条件的元数据。

在示出的一些实施例中,上述检索条件包括以下中的任N项:

检索生成时刻处于预设时间区间的元数据;检索存储路径处于预设路径的元数据;检索存储路径处于预设路径且生成时刻处于预设时间区间的元数据。

在示出的一些实施例中,上述存储系统包括分布式存储系统;上述存储介质包括若干存储分组;上述存储分组包括若干存储节点;上述装置60还包括:

数据存储模块,用于当接收到待存储数据时,通过与接收上述待存储数据的接口对应的数据服务单元,生成与上述待存储数据对应的元数据信息;

根据上述元数据信息指示的存储路径确定上述存储介质中与上述待存储数据对应的存储分组以及该存储分组中对应的存储节点;

将上述待存储数据存储至上述存储节点。

在示出的一些实施例中,上述装置60还包括:

副本存储模块,用于生成与上述待存储数据对应的副本;

将生成的副本存储至上述存储介质包括的其它存储分组。

本领域技术人员应明白,本申请一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本申请一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请中的“和/或”表示至少具有两者中的其中一个,例如,“A和/或B”可以包括三种方案:A、B、以及“A和B”。

本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本申请中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、可以包括本申请中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本申请中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。

本申请中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。上述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。

适合用于执行计算机程序的计算机可以包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件可以包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将可以包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。

适合于存储计算机程序指令和数据的计算机可读介质可以包括所有形式的非易失性存储器、媒介和存储器设备,例如可以包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。

虽然本申请包含许多具体实施细节,但是这些不应被解释为限制任何公开的范围或所要求保护的范围,而是主要用于描述特定公开的具体实施例的特征。本申请内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。

由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。

以上仅为本申请一个或多个实施例的较佳实施例而已,并不用以限制本申请一个或多个实施例,凡在本申请一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请一个或多个实施例保护的范围之内。

相关技术
  • 存储系统、数据处理方法、装置、存储系统及电子设备
  • 一种分布式存储系统的数据处理方法及分布式存储系统
技术分类

06120112881193