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

一种大数据分布式存储系统及方法

文献发布时间:2024-04-18 20:02:18


一种大数据分布式存储系统及方法

技术领域

本发明涉及分布式存储系统领域,尤其涉及一种大数据分布式存储系统及方法。

背景技术

随着计算机信息技术与互联网信息技术的快速发展,计算机网络技术已经渗透进入各行各业,网络上的信息资源呈现爆发式增长,互联网信息技术的使用给我们的生活带来了极大的便利,但互联网上的信息十分庞杂,给使用者带来了巨大的困扰,大数据时代下的数据存储需求更加多样,传统的数据存储系统已经难以满足大数据存储的需求;

分布式存储系统是将数据分散存储在多台独立的设备上,传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要,当进行容量扩展时,需要静态停机,然后进行扩展存储,数据也要重新进行分布,若数据在某一时段骤增,信息数据增长速度大于数据库硬件升级速度,导致无法满足通过扩容对骤然增加数据存储的无缝连接,容易出现数据库容量不足,影响服务质量以及客户时效性需求,为此,我们提出了一种大数据分布式存储系统及方法。

发明内容

本发明提出的一种大数据分布式存储系统及方法,以解决现有技术中的上述不足之处。

为了实现上述目的,本发明采用了如下技术方案:

一种大数据分布式存储系统,包括分节点写入单元、自定义分布式存储单元、对象存储单元、多协议共享方式拟定单元和测试与分析单元;

所述分节点写入单元用于把原始N个数据块计算出M个校验块,编码成N+M份,写入数据时,N+M个数据块和校验块存储在不同节点的不同硬盘上,从而实现数据冗余保护,为了保障可靠性和可弹性扩展性,使用多个存储节点以分布式集群方式部署,通过两台核心交换机介入业务内网,保障存储系统上联具备万兆带宽,通过分布式文件系统整合所有节点硬盘资源构成存储资源池,对外提供统一的网络存储空间,对外显示为一个根文件目录实现文件共享,节点间可相互监控服务状态,根据业务和节点状态实现负载均衡,资源池节点并行服务,实现数据访问在集群内均匀分布,同时采用冗余网络拓扑,以保证高并发场景下的系统性能,当出现设备故障时,存储系统自动切换服务节点,在设计的纠删码(ErasureCoding,简称EC)冗余保护机制规则内发生节点故障或者任一链路发生故障,均不影响系统正常共享服务,从而保证系统的高可靠性和可扩展性;

所述自定义分布式存储单元用于对通过分节点写入单元写入的数据信息根据软件需求提供个性化数据存储服务,同时根据软件的需求对系统进行改进处理,最大限度地满足了数据的多样化,最典型的自定义分布式存储系统是Ceph,所述Ceph系统的对外接口更多,为软件提供了更加多样的访问路径,所述Ceph系统的存储方案也是多样化的,所述Ceph系统将多种存储模式纳入了框架中,但该系统不支持大跨度的规模布置,基于大数据的分布式存储技术已经衍生出多种数据存储类型,需要根据用户的实际使用进行设计,为客户提供优质的数据存储管理服务;

所述对象存储单元用于将通过分节点写入单元写入的数据信息根据不同对象属性进行存储管理(对象的数据被分散存放至哪几台分布式服务器中),同时用于将元数据独立出来,控制节点称为元数据服务器(服务器+对象存储管理软件),所述对象存储单元主要有3个方面的工作:

①将对象存储与目录结构结合,在提升吞吐量的同时提升了文件目录的移动速度;

②采用PD集群和TiKV集群管理系统中的部分元数据,提高系统存储文件数量的上限,即系统具有较好的水平扩展性;

③引入代理节点并与引入虚拟节点的一致性哈希算法结合,提高数据的可靠性和系统扩容时的稳定性;

在文件存储中,文件为串行读写,一次磁盘读写操作的时间由寻道时间、旋转延时时间和传输时间决定,其中寻道时间T

T

旋转延迟时间T

传输时间T

综上,使用文件存储时读取某文件的总耗时为T,其中c为该文件被切分的连续块数量,即:

文件存储仅能串行地读取文件,而对象存储将文件的metadata和data分开存储,达到并行读取文件的效果,同时达到高吞吐的目的;

所述多协议共享方式拟定单元用于对多种操作系统客户端同时跨平台访问处理,运用NFS、CIFS、FTP多种协议,实现Window和Linux多种操作系统客户端发起的以目录为单位的数据共享交互处理,并将共享的数据信息发送给测试与分析单元;

所述测试与分析单元用于以LINUX主机客户端共享NAS存储系统数据进行测试处理,同时客户机通过NFS将存储系统共享目录挂载为本地客户机访问目录,使客户机就如同访问本机目录一样存取存储系统远程文件和目录处理。

进一步地,还包括数据接收单元、数据识别单元和数据价值度评估单元,所述数据接收单元用于通过主机对所有发送传输过来的文件数据信息进行快速接收整理处理,并将整理后的数据信息发送给数据识别单元;

所述数据识别单元用于对通过数据接收单元接收的数据信息进行文件和图片的分析识别处理,并将分析后的数据信息发送给数据价值度评估单元;

所述数据价值度评估单元用于对通过数据识别单元识别分析后的文件数据信息进行重要程度的分析评估处理。

进一步地,还包括临时阅读单元、数据编码单元和数据校验单元,所述临时阅读单元用于将通过数据价值度评估单元评定为文件价值度不高或属于临时文件后,不进行系统的存储和其他存储标识的处理;

所述数据编码单元用于对通过数据价值度评估单元评定为高质量和重要文件后,对不同价值度的文件进行复制和纠删码的编辑标注标识处理,并将标注标识后的文件数据信息发送给数据校验单元;

所述数据校验单元用于提高数据安全性,摒弃传统硬盘级RAID模式,这种模式将数据存放于单节点上不同硬盘,只能容忍硬盘故障,不能容忍节点故障,当节点故障时,无法有效恢复数据,所述数据校验单元采用纠删码冗余保护机制,把原始N个数据块计算出M个校验块,编码成N+M份,写入数据时,N+M个数据块和校验块存储在不同节点的不同硬盘上,从而实现数据冗余保护,EC冗余方式空间利用率约为N/(N+M),N至少为2,N越大,空间利用率越高,可靠性由M决定,M越大可靠性越高,当存储节点的个数≥N+M时采用N+M冗余配比,当(N+M)/M≤存储节点的个数<N+M时采用N+M:1冗余配比,可实现数据可靠性和存储空间利用率的最佳配比。

进一步地,所述自定义分布式存储单元包括数据块存储模块、文件存储模块以及对象存储模块,所述文件存储模块用于支持Posix的CephFS存储系统、所述数据块存储模块用于支持数据块的Librbd存储系统、所述对象存储模块用于支持对象存储的RadosGW系统。

进一步地,所述对象存储单元包括负载均衡模块、元数据存储模块和数据存储模块,所述负载均衡模块用于提高系统的并发访问性能,该模块包括nginx和fileGateway,采用nginx将用户访问分散至多个fileGateway中,多个fileGateway在高并发场景下起到一定的缓冲作用;

所述元数据存储模块用于存储所有数据的元数据,所述元数据存储模块包括rediscluster和kvstore,所述rediscluster作为内存数据库为用户提供一定数据量范围内的高速查询,所述kvstore用来存储所有的元数据;

所述数据存储模块用于存放实际数据,所述数据存储模块包括代理节点和对象存储集群,在kvstore中用代理节点的信息代表文件的位置信息,而代理节点对应一个或多个对象存储集群,由存储集群完成实际存储工作。

进一步地,所述数据接收单元的输出端与数据识别单元的输入端相连接,所述数据识别单元的输出端与数据价值度评估单元的输入端相连接,所述数据价值度评估单元的输出端分别与临时阅览单元和数据编码单元的输入端相连接,所述数据编码单元的输出端与数据校验单元的输入端相连接,所述数据校验单元的输出端与分节点写入单元的输入端相连接,所述分节点写入单元的输出端分别与自定义分布式存储单元和对象存储单元的输入端相连接,所述自定义分布式存储单元的输出端与对协议共享方式拟定单元的输入端相连接,所述对象存储单元的输出端与多协议共享方式拟定单元的输入端相连接,所述多协议共享方式拟定单元的输出端与测试与分析单元的输入端相连接。

进一步地,所述分节点写入单元的输出端分别与数据块存储模块、文件存储模块和对象存储模块的输入端相连接,所述数据块存储模块、文件存储模块和对象存储模块的输出端分别与多协议共享方式拟定单元的输入端相连接。

进一步地,所述分节点写入单元的输出端与负载均衡模块的输入端相连接,所述负载均衡模块的输出端与元数据存储模块的输入端相连接,所述元数据存储模块的输出端与数据存储模块的输入端相连接,所述数据存储模块的输出端与多协议共享方式拟定单元的输入端相连接。

一种大数据分布式存储方法,其包括上述任意一项所述的一种大数据分布式存储系统,包括如下步骤:

S1、用户将上传文件请求发送到nginx服务器,由nginx服务器进行负载均衡后,将请求转交到某个具体的fileGateway;

S2、fileGateway接受到请求后首先进行鉴权处理;

S3、从rediscluster中读取ACL配置,进行用户操作鉴权,查看是否具有该目录写入权限;

S4、根据用户选择的代理存储资源,存入用户文件,并返回存储结果(对象存储需要返回objectkey值);

S5、收到存储结果后,将存储路径+文件名+代理存储资源key+文件属性数据结构存入kvstore,同时更新相关信息(包括用户已用容量、文件统计和操作日志),返回上传结果给用户。

与现有的技术相比,本发明的有益效果是:

本发明通过使用多个存储节点以分布式集群方式部署,通过两台核心交换机介入业务内网,保障存储系统上联具备万兆带宽,通过自定义分布式存储单元对写入的数据信息根据软件需求提供个性化数据存储服务,同时根据软件的需求对系统进行改进处理,最大限度地满足了数据的多样化,采用可扩展的系统结构,利用多台存储服务器分担存储负荷,不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

附图说明

图1为本发明提出的一种大数据分布式存储系统及方法的整体系统框图;

图2为本发明提出的一种大数据分布式存储系统及方法的自定义分布式存储单元的模块框图;

图3为本发明提出的一种大数据分布式存储系统及方法的对象存储单元的模块框图。

具体实施方式

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

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。此外,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义,下面将结合附图对本发明作进一步的详细介绍。

实施例1

参照图1-3:一种大数据分布式存储系统及方法,包括分节点写入单元、自定义分布式存储单元、对象存储单元、多协议共享方式拟定单元和测试与分析单元;

分节点写入单元用于把原始N个数据块计算出M个校验块,编码成N+M份,写入数据时,N+M个数据块和校验块存储在不同节点的不同硬盘上,从而实现数据冗余保护,为了保障可靠性和可弹性扩展性,使用多个存储节点以分布式集群方式部署,通过两台核心交换机介入业务内网,保障存储系统上联具备万兆带宽,通过分布式文件系统整合所有节点硬盘资源构成存储资源池,对外提供统一的网络存储空间,对外显示为一个根文件目录实现文件共享,节点间可相互监控服务状态,根据业务和节点状态实现负载均衡,资源池节点并行服务,实现数据访问在集群内均匀分布,同时采用冗余网络拓扑,以保证高并发场景下的系统性能,当出现设备故障时,存储系统自动切换服务节点,在设计的纠删码(ErasureCoding,简称EC)冗余保护机制规则内发生节点故障或者任一链路发生故障,均不影响系统正常共享服务,从而保证系统的高可靠性和可扩展性;

自定义分布式存储单元用于对通过分节点写入单元写入的数据信息根据软件需求提供个性化数据存储服务,同时根据软件的需求对系统进行改进处理,最大限度地满足了数据的多样化,最典型的自定义分布式存储系统是Ceph,Ceph系统的对外接口更多,为软件提供了更加多样的访问路径,Ceph系统的存储方案也是多样化的,Ceph系统将多种存储模式纳入了框架中,但该系统不支持大跨度的规模布置,基于大数据的分布式存储技术已经衍生出多种数据存储类型,需要根据用户的实际使用进行设计,为客户提供优质的数据存储管理服务;

对象存储单元用于将通过分节点写入单元写入的数据信息根据不同对象属性进行存储管理(对象的数据被分散存放至哪几台分布式服务器中),同时用于将元数据独立出来,控制节点称为元数据服务器(服务器+对象存储管理软件),对象存储单元主要有3个方面的工作:

①将对象存储与目录结构结合,在提升吞吐量的同时提升了文件目录的移动速度;

②采用PD集群和TiKV集群管理系统中的部分元数据,提高系统存储文件数量的上限,即系统具有较好的水平扩展性;

③引入代理节点并与引入虚拟节点的一致性哈希算法结合,提高数据的可靠性和系统扩容时的稳定性;

在文件存储中,文件为串行读写,一次磁盘读写操作的时间由寻道时间、旋转延时时间和传输时间决定,其中寻道时间T

T

旋转延迟时间T

传输时间T

综上,使用文件存储时读取某文件的总耗时为T,其中c为该文件被切分的连续块数量,即:

文件存储仅能串行地读取文件,而对象存储将文件的metadata和data分开存储,达到并行读取文件的效果,同时达到高吞吐的目的;

多协议共享方式拟定单元用于对多种操作系统客户端同时跨平台访问处理,运用NFS、CIFS、FTP多种协议,实现Window和Linux多种操作系统客户端发起的以目录为单位的数据共享交互处理,并将共享的数据信息发送给测试与分析单元;

测试与分析单元用于以LINUX主机客户端共享NAS存储系统数据进行测试处理,同时客户机通过NFS将存储系统共享目录挂载为本地客户机访问目录,使客户机就如同访问本机目录一样存取存储系统远程文件和目录处理。

本发明中,还包括数据接收单元、数据识别单元和数据价值度评估单元,数据接收单元用于通过主机对所有发送传输过来的文件数据信息进行快速接收整理处理,并将整理后的数据信息发送给数据识别单元;

数据识别单元用于对通过数据接收单元接收的数据信息进行文件和图片的分析识别处理,并将分析后的数据信息发送给数据价值度评估单元;

数据价值度评估单元用于对通过数据识别单元识别分析后的文件数据信息进行重要程度的分析评估处理。

本发明中,还包括临时阅读单元、数据编码单元和数据校验单元,临时阅读单元用于将通过数据价值度评估单元评定为文件价值度不高或属于临时文件后,不进行系统的存储和其他存储标识的处理;

数据编码单元用于对通过数据价值度评估单元评定为高质量和重要文件后,对不同价值度的文件进行复制和纠删码的编辑标注标识处理,并将标注标识后的文件数据信息发送给数据校验单元;

数据校验单元用于提高数据安全性,摒弃传统硬盘级RAID模式,这种模式将数据存放于单节点上不同硬盘,只能容忍硬盘故障,不能容忍节点故障,当节点故障时,无法有效恢复数据,数据校验单元采用纠删码冗余保护机制,把原始N个数据块计算出M个校验块,编码成N+M份,写入数据时,N+M个数据块和校验块存储在不同节点的不同硬盘上,从而实现数据冗余保护,EC冗余方式空间利用率约为N/(N+M),N至少为2,N越大,空间利用率越高,可靠性由M决定,M越大可靠性越高,当存储节点的个数≥N+M时采用N+M冗余配比,当(N+M)/M≤存储节点的个数<N+M时采用N+M:1冗余配比,可实现数据可靠性和存储空间利用率的最佳配比。

本发明中,自定义分布式存储单元包括数据块存储模块、文件存储模块以及对象存储模块,文件存储模块用于支持Posix的CephFS存储系统、数据块存储模块用于支持数据块的Librbd存储系统、对象存储模块用于支持对象存储的RadosGW系统。

本发明中,对象存储单元包括负载均衡模块、元数据存储模块和数据存储模块,负载均衡模块用于提高系统的并发访问性能,该模块包括nginx和fileGateway,采用nginx将用户访问分散至多个fileGateway中,多个fileGateway在高并发场景下起到一定的缓冲作用;

元数据存储模块用于存储所有数据的元数据,元数据存储模块包括rediscluster和kvstore,rediscluster作为内存数据库为用户提供一定数据量范围内的高速查询,kvstore用来存储所有的元数据;

数据存储模块用于存放实际数据,数据存储模块包括代理节点和对象存储集群,在kvstore中用代理节点的信息代表文件的位置信息,而代理节点对应一个或多个对象存储集群,由存储集群完成实际存储工作。

本发明中,数据接收单元的输出端与数据识别单元的输入端相连接,数据识别单元的输出端与数据价值度评估单元的输入端相连接,数据价值度评估单元的输出端分别与临时阅览单元和数据编码单元的输入端相连接,数据编码单元的输出端与数据校验单元的输入端相连接,数据校验单元的输出端与分节点写入单元的输入端相连接,分节点写入单元的输出端分别与自定义分布式存储单元和对象存储单元的输入端相连接,自定义分布式存储单元的输出端与对协议共享方式拟定单元的输入端相连接,对象存储单元的输出端与多协议共享方式拟定单元的输入端相连接,多协议共享方式拟定单元的输出端与测试与分析单元的输入端相连接。

本发明中,分节点写入单元的输出端分别与数据块存储模块、文件存储模块和对象存储模块的输入端相连接,数据块存储模块、文件存储模块和对象存储模块的输出端分别与多协议共享方式拟定单元的输入端相连接。

本发明中,分节点写入单元的输出端与负载均衡模块的输入端相连接,负载均衡模块的输出端与元数据存储模块的输入端相连接,元数据存储模块的输出端与数据存储模块的输入端相连接,数据存储模块的输出端与多协议共享方式拟定单元的输入端相连接。

实施例2

本实施例在实施例一的基础上提供了一种技术方案:一种大数据分布式存储方法,其包括上述任意一项的一种大数据分布式存储系统,包括如下步骤:

S1、用户将上传文件请求发送到nginx服务器,由nginx服务器进行负载均衡后,将请求转交到某个具体的fileGateway;

S2、fileGateway接受到请求后首先进行鉴权处理;

S3、从rediscluster中读取ACL配置,进行用户操作鉴权,查看是否具有该目录写入权限;

S4、根据用户选择的代理存储资源,存入用户文件,并返回存储结果(对象存储需要返回objectkey值);

S5、收到存储结果后,将存储路径+文件名+代理存储资源key+文件属性数据结构存入kvstore,同时更新相关信息(包括用户已用容量、文件统计和操作日志),返回上传结果给用户。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

技术分类

06120116576815