本发明涉及分布式云存储技术领域,尤其涉及一种基于多服务器、多硬盘组件的高效率高可靠度高安全度分布式云存储系统。
[
背景技术:
]
随着移动设备、社交网络、物联网等多种应用的蓬勃发展,人类社会产生的数据呈爆炸式增长,传统的磁盘阵列在容量、性能和带宽方面越来越难以满足以海量数据为基础的数据密集型应用的存储要求,因此,采取scale-out架构、容量和性能可随节点数线性增加的分布式集群存储系统应运而生,能提供更高的每秒读写(io)操作的次数(iops,input/outputoperationspersecond)性能的固态硬盘也逐渐取代传统磁盘成为io密集型应用的首选,在此背景下,固态硬盘昂贵的价格、先擦除后写入的应用特点,都要求在存储系统中尽可能压缩数据的实际存储空间、降低写入次数,以便进一步提高使用分布式闪存系统的性价比。
怎样才能更好的提高数据存储的安全性,并保证存储稳定性和可快速恢复性能,是本领域技术人员经常考虑的问题,也进行了大量的研发和实验,并取得了较好的成绩。
[
技术实现要素:
]
为克服现有技术所存在的问题,本发明提供一种基于多服务器、多硬盘组件的高效率高可靠度高安全度分布式云存储系统。
本发明解决技术问题的方案是提供一种高安全度分布式云存储系统,包括多个控制服务器模块、用于对数据信息进行存储的多个存储硬盘模块以及用于与外部客户端进行通讯、接收来自外部应用系统写入和存储请求信息的数据代理模块;所述数据代理模块接收请求信息,并按预定的分块参数计算得出块标识,向各不同的存储硬盘模块发送携带有所述块标识的写入和存储请求;接收来自控制服务器模块返回的节点信息,并根据所述节点信息把写入或存储请求传输到相应的存储硬盘模块节点;所述控制服务器模块用于维护一级映射表,该一级映射表包括与各不同存储硬盘模块对应的逻辑地址和存储、块标识映射关系,并接收来自数据代理模块携带有块标识的存储与写入请求信息,查找一级映射表;若已经存在相应块标识的存储记录,则刷新所述一级映射表,增加一条写入起始地址和相应的块标识的映射记录,通过数据代理模块向外部应用系统返回数据写入成功完成的信息;若不存在相应块标识的映射记录,则选择一个存储节点信息,并同步把该节点信息传输给数据代理模块;并接收来自存储硬盘模块的存储与写入信息,刷新一级映射表,新增相应存储节点的映射记录,并向应用系统返回数据写入成功完成的信息;所述存储硬盘模块用于维护二级映射表,该二级映射表包括对应各存储硬盘模块的实际物理存储地址信息;当接收来自对应的存储硬盘模块存储与写入请求信息后,即把数据写入所述存储硬盘模块的磁盘,并刷新二级映射表,新增对应的物理地址信息。
优选地,所述控制服务器模块包括多个数据节点,各数据节点储存元数据并控制对象数据的写入;各存储硬盘模块包括多个数据节点,各数据节点上储存所述对象数据及对象元数据。
优选地,所述数据节点具有节点信息,且所述元数据包括集群元数据以及对象元数据信息。
优选地,所述控制服务器模块集群进行格式化并恢复可用后,通过所有数据节点恢复所述元数据节点储存的元数据信息。
优选地,所述各控制服务器模块对应多个存储硬盘模块;并对各存储硬盘模块的存储信息进行管理控制。
优选地,所述元数据包括数据名称、数据大小、数据对应的时间以及数据在数据节点中的位置。
与现有技术相比,本发明一种高安全度分布式云存储系统通过同时采用多个控制服务器模块、用于对数据信息进行存储的多个存储硬盘模块以及用于与外部客户端进行通讯、接收来自外部应用系统写入和存储请求信息的数据代理模块系统架构,当所述数据代理模块接收请求信息,并按预定的分块参数计算得出块标识,向各不同的存储硬盘模块发送携带有所述块标识的写入和存储请求,并接收来自控制服务器模块返回的节点信息,根据所述节点信息把写入或存储请求传输到相应的存储硬盘模块节点,控制服务器模块用于维护一级映射表,该一级映射表包括与各不同存储硬盘模块对应的逻辑地址和存储、块标识映射关系,并接收来自数据代理模块携带有块标识的存储与写入请求信息,查找一级映射表,结合其他部分的映射存储关系,实际应用过程中,可以较好的利用多服务器、多硬盘存储单元的架构设计保证数据存储的安全性,并提高可靠度和更换效率,设计合理,安全度高。
[附图说明]
图1是本发明一种高安全度分布式云存储系统的框架式结构示意图。
[具体实施方式]
为使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定此发明。
请参阅图1,本发明一种高安全度分布式云存储系统1包括多个控制服务器模块、用于对数据信息进行存储的多个存储硬盘模块以及用于与外部客户端进行通讯、接收来自外部应用系统写入和存储请求信息的数据代理模块;所述数据代理模块接收请求信息,并按预定的分块参数计算得出块标识,向各不同的存储硬盘模块发送携带有所述块标识的写入和存储请求;接收来自控制服务器模块返回的节点信息,并根据所述节点信息把写入或存储请求传输到相应的存储硬盘模块节点;所述控制服务器模块用于维护一级映射表,该一级映射表包括与各不同存储硬盘模块对应的逻辑地址和存储、块标识映射关系,并接收来自数据代理模块携带有块标识的存储与写入请求信息,查找一级映射表;若已经存在相应块标识的存储记录,则刷新所述一级映射表,增加一条写入起始地址和相应的块标识的映射记录,通过数据代理模块向外部应用系统返回数据写入成功完成的信息;若不存在相应块标识的映射记录,则选择一个存储节点信息,并同步把该节点信息传输给数据代理模块;并接收来自存储硬盘模块的存储与写入信息,刷新一级映射表,新增相应存储节点的映射记录,并向应用系统返回数据写入成功完成的信息;所述存储硬盘模块用于维护二级映射表,该二级映射表包括对应各存储硬盘模块的实际物理存储地址信息;当接收来自对应的存储硬盘模块存储与写入请求信息后,即把数据写入所述存储硬盘模块的磁盘,并刷新二级映射表,新增对应的物理地址信息。
本申请通过同时采用多个控制服务器模块、用于对数据信息进行存储的多个存储硬盘模块以及用于与外部客户端进行通讯、接收来自外部应用系统写入和存储请求信息的数据代理模块系统架构,当所述数据代理模块接收请求信息,并按预定的分块参数计算得出块标识,向各不同的存储硬盘模块发送携带有所述块标识的写入和存储请求,并接收来自控制服务器模块返回的节点信息,根据所述节点信息把写入或存储请求传输到相应的存储硬盘模块节点,控制服务器模块用于维护一级映射表,该一级映射表包括与各不同存储硬盘模块对应的逻辑地址和存储、块标识映射关系,并接收来自数据代理模块携带有块标识的存储与写入请求信息,查找一级映射表,结合其他部分的映射存储关系,实际应用过程中,可以较好的利用多服务器、多硬盘存储单元的架构设计保证数据存储的安全性,并提高可靠度和更换效率,设计合理,安全度高。
优选地,所述控制服务器模块包括多个数据节点,各数据节点储存元数据并控制对象数据的写入;各存储硬盘模块包括多个数据节点,各数据节点上储存所述对象数据及对象元数据。
优选地,所述数据节点具有节点信息,且所述元数据包括集群元数据以及对象元数据信息。
优选地,所述控制服务器模块集群进行格式化并恢复可用后,通过所有数据节点恢复所述元数据节点储存的元数据信息。
优选地,所述各控制服务器模块对应多个存储硬盘模块;并对各存储硬盘模块的存储信息进行管理控制。
优选地,所述元数据包括数据名称、数据大小、数据对应的时间以及数据在数据节点中的位置。
与现有技术相比,本发明一种高安全度分布式云存储系统1通过同时采用多个控制服务器模块、用于对数据信息进行存储的多个存储硬盘模块以及用于与外部客户端进行通讯、接收来自外部应用系统写入和存储请求信息的数据代理模块系统架构,当所述数据代理模块接收请求信息,并按预定的分块参数计算得出块标识,向各不同的存储硬盘模块发送携带有所述块标识的写入和存储请求,并接收来自控制服务器模块返回的节点信息,根据所述节点信息把写入或存储请求传输到相应的存储硬盘模块节点,控制服务器模块用于维护一级映射表,该一级映射表包括与各不同存储硬盘模块对应的逻辑地址和存储、块标识映射关系,并接收来自数据代理模块携带有块标识的存储与写入请求信息,查找一级映射表,结合其他部分的映射存储关系,实际应用过程中,可以较好的利用多服务器、多硬盘存储单元的架构设计保证数据存储的安全性,并提高可靠度和更换效率,设计合理,安全度高。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。