数据处理方法以及相关装置与流程

文档序号:25992120发布日期:2021-07-23 21:04阅读:107来源:国知局
数据处理方法以及相关装置与流程

本申请涉及分布式数据处理领域,具体而言,涉及一种数据处理方法以及相关装置。



背景技术:

基于openstack的swift项目提供了弹性可伸缩、高可用的分布式对象存储服务,适合存储大规模非结构化数据。

在扩容的时候,需要将待扩容的存储设备并入到现有的swift设备里,由于数据存储需要重新满足hash的散列式分布,所以会触发历史数据的重新分配,从而引发对整体读取性能的下降。进一步,随着历史数据的不断扩大,会导致这个平衡的时间越来越长,对分布式存储系统的影响也越来越明显。

针对相关技术中分布式对象存储服务中待扩容的存储设备面临新旧数据重新分配,影响读取性能的问题,目前尚未提出有效的解决方案。

申请内容

本申请的主要目的在于提供一种数据处理方法以及相关装置,以解决问题。

为了实现上述目的,根据本申请的一个方面,提供了一种数据处理方法。

根据本申请的数据处理方法包括:基于分布式对象存储服务将多个对象存储设备作为一个独立存储环,其中,所述独立存储环中至少包括三个所述对象存储设备;根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务;根据所述对象存储服务对数据进行处理。

进一步地,根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务之后,还包括:在所述分布式对象存储服务的认证服务中创建至少一个预设区域下的对象存储端点,其中,所述预设区域包括一个分布式对象存储服务中的新区域。

进一步地,根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务还包括:根据待扩容的对象存储设备,通过访问应用程序接口并配置在不同区域下的存储策略,用以对所述待扩容的对象存储设备扩容。

进一步地,根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务还包括:在所述分布式对象存储服务的认证服务中创建至少一个预设区域下的对象存储端点之后,将并且将所述预设区域信息和所述对象存储端点信息登记到所述认证服务中。

进一步地,所述根据所述对象存储服务对数据进行处理包括:根据所述对象存储服务调用预设服务,其中,所述预设服务至少包括如下之一:记录所述对象存储服务的对象存储地址端点以及状态信息、管理所述对象存储服务的对象存储地址端点以及状态信息,所述状态信息包括:可读写和只读;根据所述预设服务提供的应用程序接口,用以所述应用程序在写数据时进行调用,并且根据获取的可写数据的所述存储环的存储地址,进行存储调用。

进一步地,所述根据所述对象存储服务对数据进行处理还包括:在管理所述对象存储服务的对象存储地址端点以及状态信息为可读写时,通过调用所述预设服务在数据存储完成之后,通过所述应用程序记录所述数据实际的对象存储服务的存储地址。

进一步地,所述根据所述对象存储服务对数据进行处理还包括:在管理所述对象存储服务的对象存储地址端点以及状态信息为只读时,根据记录的对象存储服务的存储地址,进行数据读取。

为了实现上述目的,根据本申请的另一方面,提供了一种数据处理装置。

根据本申请的数据处理装置包括:建立模块,用于基于分布式对象存储服务将多个对象存储设备作为一个独立存储环,其中,所述独立存储环中至少包括三个所述对象存储设备;扩容模块,用于根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务;处理模块,用于根据所述对象存储服务对数据进行处理。

为了实现上述目的,根据本申请的又一方面,提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

为了实现上述目的,根据本申请的再一方面,提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

在本申请实施例中数据处理方法以及相关装置,采用基于分布式对象存储服务将多个对象存储设备作为一个独立存储环,其中,所述独立存储环中至少包括三个所述对象存储设备的方式,通过根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务,达到了根据所述对象存储服务对数据进行处理的目的,从而实现了扩容过程不对新旧数据重新分配的技术效果,进而解决了分布式对象存储服务中待扩容的存储设备面临新旧数据重新分配,影响读取性能的技术问题。

此外,本申请还解决了新老设备性能瓶颈带来的性能问题。同时,因为后期不断新增的存储都具备独立提供存储服务的能力,所以提高了整体存储的可靠性,缩小了硬件更换后导致系统波动的影响范围,并且为线性提高性能和无限扩容空间提供了基础。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的数据处理方法的硬件架构示意图;

图2是根据本申请实施例的数据处理方法流程示意图;

图3是根据本申请实施例的数据处理装置结构示意图;

图4是根据本申请实施例的数据处理方法所实施的结构示意图;

图5是根据本申请实施例的数据处理方法实现原理示意图;

图6是根据本申请实施例的数据处理方法中写数据原理示意图;

图7是根据本申请实施例的数据处理方法中读数据原理示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请以每三台对象存储设备形成一个独立的对象存储服务存储环,从而在待扩容的设备重新搭建一套全新的swift存储服务。这样不单解决了之前扩容过程中,新旧数据的再分配,消除了不必要的消耗。也解决了新老设备性能瓶颈带来的性能问题。同时,因为后期不断新增的存储都具备独立提供存储服务的能力,所以提高了整体存储的可靠性,缩小了硬件更换后导致系统波动的影响范围,并且为线性提高性能和无限扩容空间提供了基础。

本申请实施例中涉及的技术术语如下:

认证信息:确认用户身份的数据。比如用户名和密码,用户名和api键,或者由身份服务提供的认证令牌。

认证:确认用户身份的过程。openstack身份服务通过验证用户提供的认证信息确认请求,当认证信息被验证后,openstack认证服务发给用户认证令牌,在后续的请求中用户将使用该令牌。

服务:一个openstack服务,服务提供了一个或多个端点endpoint,在端点内用户可以访问资源或者执行操作。

端点:网络可访问的地址,通常是url地址,通过该地址可以访问服务。

keystone客户端:openstack身份服务api的命令行接口。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

实施例一

如图1所示,本申请实施例中的数据处理方法基于的系统架构包括:存储节点100、代理节点200、认证节点300、客户端400、私有网络500以及公共网络600。

其中,所述存储节点100将磁盘存储转化为swift中的存储服务,按照存储目标类型的不同,存储节点上的存储服务分为对象存储、容器存储、账户存储。

所述代理节点200提供swiftapi的服务进程,服务转发客户端请求,提供了restfulapi。

所述认证节点300提供身份验证功能,将swift存储服务放到openstack上使用时,需要采用keystone的认证服务。

如图2所示,该方法包括如下的步骤s201至步骤s203:

步骤s201,基于分布式对象存储服务将多个对象存储设备作为一个独立存储环,其中,所述独立存储环中至少包括三个所述对象存储设备

步骤s202,根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务;

步骤s203,根据所述对象存储服务对数据进行处理。

从以上的描述中,可以看出,本申请实现了如下技术效果:

采用基于分布式对象存储服务将多个对象存储设备作为一个独立存储环,其中,所述独立存储环中至少包括三个所述对象存储设备的方式,通过根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务,达到了根据所述对象存储服务对数据进行处理的目的,从而实现了扩容过程不对新旧数据重新分配的技术效果,进而解决了分布式对象存储服务中待扩容的存储设备面临新旧数据重新分配,影响读取性能的技术问题。

在上述步骤s201中基于分布式对象存储服务首先将多个对象存储设备即swift设备作为一个独立存储环。

在一种具体实施方式中,基于的分布式对象存储服务采用的是openstackswift。

在上述步骤s202中以每三台服务形成一个独立的swift存储环,可以在待扩容的设备重新搭建一套全新的swift存储服务。

在一种具体实施方式中,待扩容的对象存储设备是在扩容的时候确定的。在上述步骤s203中根据所述对象存储服务对数据进行写入或者读取处理

在一种具体实施方式中,通过不断新增的存储服务设备都具备独立提供存储服务的能力,所以提高了整体存储的可靠性,缩小了硬件更换后导致分布式系统波动的影响范围。

作为本申请可选的实施方式,根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务之后,还包括:在所述分布式对象存储服务的认证服务中创建至少一个预设区域下的对象存储端点,其中,所述预设区域包括一个分布式对象存储服务中的新区域。

具体实施时,根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务的同时在keystone即认证服务中创建一个新区域下的对象存储端点。

也就是说,将对象存储设备,以每三台存储设备为一个环单位,分别搭建独立的swift服务,形成各自的区域region1,region2,…,regionn,以及对应的对象存储地址端点endpoint1,endpoint2,…,endpointn。

作为本申请可选的实施方式,根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务还包括:根据待扩容的对象存储设备,通过访问应用程序接口并配置在不同区域下的存储策略,用以对所述待扩容的对象存储设备扩容。

具体实施时,通过应用程序配置在不同区域下的存储策略,可以达到扩容对象存储的目的。

作为本申请可选的实施方式,根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务还包括:在所述分布式对象存储服务的认证服务中创建至少一个预设区域下的对象存储端点之后,将并且将所述预设区域信息和所述对象存储端点信息登记到所述认证服务中。

具体实施时,在对分布式对象存储服务进行扩容时,将三个所述对象存储设备为一组搭建一套全新的swift服务,从而形成一个新的区域以及它的对象存储端点,并且将信息登记到认证服务keystone中。从而解决了之前扩容过程中,新旧数据的再分配,消除了不必要的消耗。也解决了新老设备性能瓶颈带来的性能问题。

作为本申请可选的实施方式,所述根据所述对象存储服务对数据进行处理包括:根据所述对象存储服务调用预设服务,其中,所述预设服务至少包括如下之一:记录所述对象存储服务的对象存储地址端点以及状态信息、管理所述对象存储服务的对象存储地址端点以及状态信息,所述状态信息包括:可读写和只读;根据所述预设服务提供的应用程序接口,用以所述应用程序在写数据时进行调用,并且根据获取的可写数据的所述存储环的存储地址,进行存储调用。

具体实施时,以openstack分布式对象存储服务中的swift为例,基于实现swift-proxy-control服务,该服务负责记录和管理所有swift服务的对象存储地址endpoint及状态信息,状态分为可读写和只读两种。swift-proxy-control服务提供api,提供给应用程序在写数据时进行调用,获得可以写数据的存储环存储地址,进行存储调用。

作为本申请可选的实施方式,所述根据所述对象存储服务对数据进行处理还包括:在管理所述对象存储服务的对象存储地址端点以及状态信息为可读写时,通过调用所述预设服务在数据存储完成之后,通过所述应用程序记录所述数据实际的对象存储服务的存储地址。

具体实施时,swift-proxy-control服务提供api,提供给应用程序在写数据时进行调用,获得可以写数据的存储环存储地址,进行存储调用。应用服务进行数据写入时调用swift-proxy-control,在存储完成后,应用程序记录数据实际的swift存储地址。

作为本申请可选的实施方式,所述根据所述对象存储服务对数据进行处理还包括:在管理所述对象存储服务的对象存储地址端点以及状态信息为只读时,根据记录的对象存储服务的存储地址,进行数据读取。

具体实施时,swift-proxy-control服务提供api,提供给应用程序在写数据时进行调用,获得可以写数据的存储环存储地址,进行存储调用。应用程序进行读数据时,根据记录的swift存储地址,进行数据读取。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

实施例二

根据本申请实施例,还提供了一种用于实施上述方法的数据处理装置,如图3所示,该装置包括:

建立模块301,用于基于分布式对象存储服务将多个对象存储设备作为一个独立存储环,其中,所述独立存储环中至少包括三个所述对象存储设备;

扩容模块302,用于根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务;

处理模块303,用于根据所述对象存储服务对数据进行处理。

本申请实施例中的建立模块301中基于分布式对象存储服务首先将多个对象存储设备即swift设备作为一个独立存储环。

在一种具体实施方式中,基于的分布式对象存储服务采用的是openstackswift。

本申请实施例中的扩容模块302中中以每三台服务形成一个独立的swift存储环,可以在待扩容的设备重新搭建一套全新的swift存储服务。

在一种具体实施方式中,待扩容的对象存储设备是在扩容的时候确定的。

本申请实施例中的处理模块303中中根据所述对象存储服务对数据进行写入或者读取处理

在一种具体实施方式中,通过不断新增的存储服务设备都具备独立提供存储服务的能力,所以提高了整体存储的可靠性,缩小了硬件更换后导致分布式系统波动的影响范围。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

为了更好的理解上述数据处理方法流程,以下结合优选实施例对上述技术方案进行解释说明,但不用于限定本申请实施例的技术方案。

本申请以每三台对象存储设备形成一个独立的对象存储服务存储环,从而在待扩容的设备重新搭建一套全新的swift存储服务。这样不单解决了之前扩容过程中,新旧数据的再分配,消除了不必要的消耗。也解决了新老设备性能瓶颈带来的性能问题。同时,因为后期不断新增的存储都具备独立提供存储服务的能力,所以提高了整体存储的可靠性,缩小了硬件更换后导致系统波动的影响范围,并且为线性提高性能和无限扩容空间提供了基础。

如图4所示是根据本申请实施例的数据处理方法所实施的结构示意图,包括分布式对象存储服务30、待扩容的对象存储设备20以及对象存储设备10。基于分布式对象存储服务30采用三个所述对象存储设备10作为一个独立存储环。在所述待扩容的对象存储设备20中重新建立基于所述独立存储环的对象存储服务。

优选地,基于分布式对象存储服务30中重新建立基于所述独立存储环的对象存储服务,同时在认证服务keystone中创建一个新region区域下的对象存储endpoint端点。

优选地,基于分布式对象存储服务30中重新建立基于所述独立存储环的对象存储服务,通过应用程序配置在不同region区域下的存储策略,可以达到扩容对象存储的目的。

如图5所示是根据本申请实施例的数据处理方法实现原理示意图,将对象存储设备10,以每三台对象存储设备10为一个存储环单位,分别搭建独立的swift服务,形成各自的region1,region2,…,regionn,以及对应的对象存储地址endpoint1,endpoint2,…,endpointn。同时进行扩容时,将三台对象存储设备10搭建一套全新的swift服务,从而形成一个新的region以及它的对象存储endpoint。并且将信息登记到认证服务keystone中。

如图6所示是根据本申请实施例的数据处理方法中写数据原理示意图,其步骤如下:

步骤s1,应用程序在写数据阶段。

步骤s2,swift-proxy-control调用。应用服务进行数据写入时调用swift-proxy-control,在存储完成后,应用程序记录数据实际的swift存储地址。

步骤s3,swift-proxy,获得令牌。

步骤s4,完成数据存储。

步骤s5,可以调用swift其他相关服务,并且返回数据存储地址。

如图7所示是根据本申请实施例的数据处理方法中读数据原理示意图,其步骤如下:

步骤s1,读数据时应用程序直接根据保存的数据存储地址,读取数据。

步骤s2,swift-proxy。

步骤s3,认证服务keystone。

步骤s4,可以调用swift其他相关服务。

具体地,应用程序进行读数据时,根据记录的swift存储地址,进行数据读取。

本申请的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,基于分布式对象存储服务将多个对象存储设备作为一个独立存储环,其中,所述独立存储环中至少包括三个所述对象存储设备;

s2,根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务;

s3,根据所述对象存储服务对数据进行处理。

可选地,存储介质还被设置为存储用于执行以下步骤的计算机程序:

s1,在所述分布式对象存储服务的认证服务中创建至少一个预设区域下的对象存储端点,其中,所述预设区域包括一个分布式对象存储服务中的新区域;

s2,根据待扩容的对象存储设备,通过访问应用程序接口并配置在不同区域下的存储策略,用以对所述待扩容的对象存储设备扩容。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,基于分布式对象存储服务将多个对象存储设备作为一个独立存储环,其中,所述独立存储环中至少包括三个所述对象存储设备;

s2,根据待扩容的对象存储设备,重新建立基于所述独立存储环的对象存储服务;

s3,根据所述对象存储服务对数据进行处理。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1