云存储系统的文件存储方法、装置及云存储系统与流程

文档序号:11155450阅读:369来源:国知局
云存储系统的文件存储方法、装置及云存储系统与制造工艺

本发明涉及云存储技术领域,尤其涉及一种云存储系统的文件存储方法、装置及云存储系统。



背景技术:

随着互联网、物联网、移动互联网、大数据等技术的高速发展和成熟,社会信息化程度越高,产生的信息数据越多,信息安全的问题就越突出。信息存储安全在信息储存的过程和信息生命周期内,保障信息的真实性、机密性、完整性、可用性、可靠性、不可抵赖性等特性,是信息安全的主要基础。云存储系统可实现用户数据文件的安全网络存储,但现有的云存储系统对存储文件进行串行寻址存储处理,存储服务器的存储效率和存储性能较差,同时只在一个对象存储设备上进行云端存储,一旦对象存储设备出错就无法保障用户存储数据的完整性、安全性和可靠性,导致现有云存储系统的便捷性、安全性、可靠性和工作效率较低,影响了云存储系统的系统性能和用户体验。



技术实现要素:

鉴于此,本发明提供一种云存储系统的文件存储方法、装置及云存储系统,解决现有云存储系统的便捷性、安全性、可靠性和工作效率较低而影响云存储系统的系统性能和用户体验的技术问题。

根据本发明的一个实施例,提供一种云存储系统的文件存储方法,包括:从客户端获取存储文件;对获取的存储文件进行寻址以获取存储文件的对象;对获取的存储文件的对象进行寻址以获取对象对应的放置组;对获取的对象对应的放置组进行寻址以获取放置组对应的对象存储设备;以及将获取的存储文件的对象写入获取的放置组对应的对象存储设备。

优选的,所述对象存储设备为三个。

优选的,所述将获取的存储文件的对象写入获取的放置组对应的对象存储设备,包括:将获取的存储文件的对象写入获取的放置组对应的第一对象存储设备;将第一对象存储设备写入的对象分别写入第二对象存储设备和第三对象存储设备;以及向客户端发送存储文件成功存储信息。

优选的,所述对获取的存储文件进行寻址以获取存储文件的对象,包括:获取对象的预设最大文件大小;以及根据获取的对象的预设最大文件大小对获取的存储文件进行分割,以获取存储文件的对象。

优选的,所述对获取的存储文件的对象进行寻址以获取对象对应的放置组,包括:通过哈希函数计算标识符的哈希值,以获取标识符对应的伪随机值;以及将获取的标识符对应的伪随机值和掩码按位相与运算,以获取对象对应的放置组标识。

优选的,所述对获取的对象对应的放置组进行寻址以获取放置组对应的对象存储设备,包括:通过可扩展的伪随机数据分布算法对获取的对象对应的放置组标识进行运算,以获取放置组对应的对象存储设备。

根据本发明的另一个实施例,提供一种云存储系统的文件存储装置,包括:文件获取模块,用于从客户端获取存储文件;对象获取模块,用于对所述文件获取模块获取的存储文件进行寻址以获取存储文件的对象;放置组获取模块,用于对所述对象获取模块获取的存储文件的对象进行寻址以获取对象对应的放置组;对象存储设备获取模块,用于对所述放置组获取模块获取的对象对应的放置组进行寻址以获取放置组对应的对象存储设备;以及文件存储模块,用于将所述对象获取模块获取的存储文件的对象写入所述对象存储设备获取模块获取的放置组对应的对象存储设备。

优选的,所述对象存储设备获取模块获取的对象存储设备为三个。

优选的,所述文件存储模块,包括:第一写入单元,用于将所述对象获取模块获取的存储文件的对象写入所述对象存储设备获取模块获取的放置组对应的第一对象存储设备;第二写入单元,用于将所述第一写入单元对第一对象存储设备写入的对象写入所述对象存储设备获取模块获取的第二对象存储设备;第三写入单元,用于将所述第一写入单元对第一对象存储设备写入的对象写入所述对象存储设备获取模块获取的第三对象存储设备;以及存储信息发送单元,用于向客户端发送存储文件成功存储信息。

优选的,所述对象获取模块,包括:对象大小获取单元,用于获取对象的预设最大文件大小;以及对象获取单元,用于根据所述对象大小获取单元获取的对象的预设最大文件大小对所述文件获取模块获取的存储文件进行分割,以获取存储文件的对象。

优选的,所述放置组获取模块,包括:伪随机值获取单元,用于通过哈希函数计算标识符的哈希值以获取标识符对应的伪随机值;以及放置组标识获取单元,用于将所述伪随机值获取单元获取的标识符对应的伪随机值和掩码按位相与运算,以获取对象对应的放置组标识。

优选的,所述对象存储设备获取模块通过可扩展的伪随机数据分布算法对所述放置组获取模块获取的对象对应的放置组标识进行运算,以获取放置组对应的对象存储设备。

根据本发明的又一个实施例,提供一种云存储系统,所述云存储系统包括客户端和上述的云存储系统的文件存储装置。

优选的,所述云存储系统,还包括:对象存储集群,用于自动优化所述云存储系统的文件存储装置的从对象到块的映射;以及对象存储集群监视模块,用于检测和维护所述对象存储集群从对象到块的映射。

本发明提供的云存储系统的文件存储方法、装置及云存储系统,对从客户端获取的存储文件进行寻址以获取存储文件的对象,对获取的存储文件的对象进行寻址以获取对象对应的放置组,对获取的对象对应的放置组进行寻址以获取放置组对应的对象存储设备,并将获取的存储文件的对象写入获取的放置组对应的对象存储设备,通过三次映射快速实现存储文件到对象存储设备的寻址操作,并配置多个对象存储设备对用户存储文件进行安全备份存储,提高了云储存系统文件存储的便捷性、安全性、可靠性和工作效率,提升了云存储系统的系统性能和用户体验。

附图说明

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

图1为本发明一个实施例中云存储系统的文件存储方法的流程示意图。

图2为本发明一个实施例中获取存储文件的对象的流程示意图。

图3为本发明一个实施例中获取对象对应的放置组的流程示意图。

图4为本发明一个实施例中存储文件的对象写入对象存储设备的流程示意图。

图5为本发明另一个实施例中云存储系统的文件存储装置的结构示意图。

图6为本发明另一个实施例中对象获取模块的结构示意图。

图7为本发明另一个实施例中放置组获取模块的结构示意图。

图8为本发明另一个实施例中文件存储模块的结构示意图。

图9为本发明又一个实施例中云存储系统的结构示意图。

图10为本发明再一个实施例中云存储系统的结构示意图。

具体实施方式

下面结合附图和具体实施方式对本发明的技术方案作进一步更详细的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以结合具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

图1为本发明一个实施例中云存储系统的文件存储方法的流程示意图。如图所示,所述云存储系统的文件存储方法,包括:

步骤S101:从客户端获取存储文件。

在本实施例中,当用户想将本地的存储文件(File)通云存储系统进行云端安全存储时,可使用本地客户端通过互联网连接云存储系统的服务器,并将存储文件传输给云存储系统的服务器,云存储系统的服务器的通讯端口从客户端接收和获取存储文件,比如文档文件和数据库等。

步骤S102:对获取的存储文件进行寻址以获取存储文件的对象。

在获取到存储文件后,对获取的存储文件进行寻址以获取存储文件的对象(Object)。参见图2,所述获取存储文件的对象,包括:

步骤S201:获取对象的预设最大文件大小。

步骤S202:根据获取的对象的预设最大文件大小对获取的存储文件进行分割,以获取存储文件的对象。

在本实施例中,首先获取对象的预设最大文件大小比如2M或4M,然后根据获取的对象的预设最大文件大小对获取的存储文件进行分割,以获取多个存储文件的对象,使不同文件大小的文件分割成预设最大文件大小且可被服务器高效管理的对象,并可针对多个对象同时进行并行化处理而不再是针对单个存储文件的串行处理,提高了云存储系统对存储文件的管理和存储处理的工作效率。

步骤S103:对获取的存储文件的对象进行寻址以获取对象对应的放置组。

在获取到存储文件的对象后,对获取的存储文件的对象进行寻址以获取对象对应的放置组。参见图3,所述获取对象对应的放置组,包括:

步骤S301:通过哈希函数计算标识符的哈希值,以获取标识符对应的伪随机值。

步骤S302:将获取的标识符对应的伪随机值和掩码按位相与运算,以获取对象对应的放置组标识。

在本实施例中,通过静态哈希(Hash)函数计算标识符(Oid)的哈希值,以获取标识符对应近似均匀分布的伪随机值,并将获取的标识符对应的伪随机值和掩码(Mask)按位相与运算,以获取对象对应的放置组PG(Placement Group)标识(ID)。当有大量对象和大量放置组时,服务器可保证对象和放置组之间的近似均匀映射。由于对象是由存储文件均匀分割获取的,大部分对象的文件大小是相同的,寻址获取的对象对应的放置组最终保证各个放置组中存储的对象的总数据量近似均匀,提升了云存储系统的分布式存储效率和系统性能。

步骤S104:对获取的对象对应的放置组进行寻址以获取放置组对应的对象存储设备。

在获取对象对应的放置组后,对获取的对象对应的放置组进行寻址以获取放置组对应的对象存储设备OSD(Object Storage Device)。具体的,通过可扩展的伪随机数据分布CRUSH(Controlled Replication Under Scalable Hashing)算法对获取的对象对应的放置组标识进行运算,以获取多个放置组对应的对象存储设备,多个对象存储设备共同负责存储和维护对应的放置组中所有的对象。

在本实施例中,所述云存储系统为每个放置组配置三个对应的对象存储设备,实现用户存储文件的三重备份,提高了用户数据的安全性、完整性、可靠性、以及用户数据的恢复速度,同时所述对象存储设备配置固态硬盘SSD(Solid State Drive)实现数据的快速读写操作,提高了云存储系统云存储处理的速度和工作效率。

步骤S105:将获取的存储文件的对象写入获取的放置组对应的对象存储设备。

在获取到放置组对应的对象存储设备后,将获取的存储文件的对象写入获取的放置组对应的对象存储设备。参见图4,所述存储文件的对象写入对象存储设备,包括:

步骤S401:将获取的存储文件的对象写入获取的放置组对应的第一对象存储设备。

步骤S402:将第一对象存储设备写入的对象分别写入第二对象存储设备和第三对象存储设备。

步骤S403:向客户端发送存储文件成功存储信息。

在本实施例中,首选将获取的存储文件的对象写入获取的放置组对应的序号靠前的第一对象存储设备,在所述第一对象存储设备写入后将第一对象存储设备写入的对象分别写入第二对象存储设备和第三对象存储设备,并在三个对象存储设备都完成写入操作后,控制向客户端发送存储文件成功存储信息,最终实现客户端存储文件在云存储系统服务器的三个对象存储设备中的三重安全存储。在云存储系统中,多个客户端可和多个对象存储设备同时进行并行的写入操作,多个对象存储设备可均匀分担云存储数据写入操作压力,避免了单个对象存储设备的存储处理瓶颈,提高了云存储系统的系统性能和工作效率。

在本实施例的云存储系统的文件存储方法中,对从客户端获取的存储文件进行寻址以获取存储文件的对象,对获取的存储文件的对象进行寻址以获取对象对应的放置组,对获取的对象对应的放置组进行寻址以获取放置组对应的对象存储设备,并将获取的存储文件的对象写入获取的放置组对应的对象存储设备,通过三次映射快速实现存储文件到对象存储设备的寻址操作,并配置多个对象存储设备对用户存储文件进行安全备份存储,提高了云储存系统文件存储的便捷性、安全性、可靠性和工作效率,提升了云存储系统的系统性能和用户体验。

图5为本发明另一个实施例中云存储系统的文件存储装置的结构示意图。如图所示,所述云存储系统的文件存储装置100,包括文件获取模块10、对象获取模块20、放置组获取模块30、对象存储设备获取模块40和文件存储模块50。

在本实施例中,当用户想将本地的存储文件(File)通云存储系统进行云端安全存储时,可使用本地客户端通过互联网连接云存储系统的服务器,并将存储文件传输给云存储系统的服务器,所述文件获取模块10通过云存储系统的服务器的通讯端口从客户端接收和获取存储文件,比如文档文件和数据库等。

在所述文件获取模块10获取到存储文件后,所述对象获取模块20对所述文件获取模块10获取的存储文件进行寻址以获取存储文件的对象。参见图6,所述对象获取模块20,包括对象大小获取单元201和对象获取单元202。

在本实施例中,所述对象大小获取单元201首先获取对象的预设最大文件大小比如2M或4M,然后所述对象获取单元202根据所述对象大小获取单元201获取的对象的预设最大文件大小对获取的存储文件进行分割,以获取多个存储文件的对象,使不同文件大小的文件分割成预设最大文件大小且可被服务器高效管理的对象,并可针对多个对象同时进行并行化处理而不再是针对单个存储文件的串行处理,提高了云存储系统对存储文件的管理和存储处理的工作效率。

在所述对象获取模块20获取到存储文件的对象后,所述放置组获取模块30对所述对象获取模块20获取的存储文件的对象进行寻址以获取对象对应的放置组。参见图7,所述放置组获取模块30,包括伪随机值获取单元301和放置组标识获取单元302。

在本实施例中,所述伪随机值获取单元301通过静态哈希(Hash)函数计算标识符(Oid)的哈希值,以获取标识符对应近似均匀分布的伪随机值,所述放置组标识获取单元302将所述伪随机值获取单元301获取的标识符对应的伪随机值和掩码(Mask)按位相与运算,以获取对象对应的放置组PG(Placement Group)标识(ID)。当所述对象获取模块20获取到大量对象、所述放置组获取模块30获取到大量放置组时,服务器可保证对象和放置组之间的近似均匀映射。由于对象是所述文件获取模块10由存储文件均匀分割获取的,大部分对象的文件大小是相同的,所述放置组获取模块30寻址获取的对象对应的放置组最终保证各个放置组中存储的对象的总数据量近似均匀,提升了云存储系统的分布式存储效率和系统性能。

在所述放置组获取模块30获取对象对应的放置组后,所述对象存储设备获取模块40对所述放置组获取模块30获取的对象对应的放置组进行寻址以获取放置组对应的对象存储设备OSD(Object Storage Device)。具体的,所述对象存储设备获取模块40通过可扩展的伪随机数据分布CRUSH(Controlled Replication Under Scalable Hashing)算法对所述放置组获取模块30获取的对象对应的放置组标识进行运算,以获取多个放置组对应的对象存储设备,多个对象存储设备共同负责存储和维护对应的放置组中所有的对象。

在本实施例中,所述云存储系统为每个所述放置组获取模块30获取的放置组配置三个对应的对象存储设备,实现用户存储文件的三重备份,提高了用户数据的安全性、完整性、可靠性、以及用户数据的恢复速度,同时所述对象存储设备配置固态硬盘SSD(Solid State Drive)实现数据的快速读写操作,提高了云存储系统云存储处理的速度和工作效率。

在所述对象存储设备获取模块40获取到放置组对应的对象存储设备后,所述文件存储模块50将所述对象存储设备获取模块40获取的存储文件的对象写入获取的放置组对应的对象存储设备。参见图8,所述文件存储模块50,包括第一写入单元501、第二写入单元502、第三写入单元503和存储信息发送单元504。

在本实施例中,所述第一写入单元501首选将所述对象获取模块20获取的存储文件的对象写入所述对象存储设备获取模块40获取的放置组对应的序号靠前的第一对象存储设备,在所述第一写入单元501对所述第一对象存储设备写入后,所述第二写入单元502和第三写入单元503将所述第一写入单元501对第一对象存储设备写入的对象分别写入第二对象存储设备和第三对象存储设备,并在所述第一写入单元501、第二写入单元502和第三写入单元503三个对象存储设备都完成写入操作后,所述存储信息发送单元504控制向客户端发送存储文件成功存储信息,最终实现客户端存储文件在云存储系统服务器的三个对象存储设备中的三重安全存储。在云存储系统中,多个客户端可和多个对象存储设备同时进行并行的写入操作,多个对象存储设备可均匀分担云存储数据写入操作压力,避免了单个对象存储设备的存储处理瓶颈,提高了云存储系统的系统性能和工作效率。

在本实施例的云存储系统的文件存储系统100中,对所述对象获取模块20对所述文件获取模块10从客户端获取的存储文件进行寻址以获取存储文件的对象,所述放置组获取模块30对所述对象获取模块20获取的存储文件的对象进行寻址以获取对象对应的放置组,所述对象存储设备获取模块40对所述放置组获取模块30获取的对象对应的放置组进行寻址以获取放置组对应的对象存储设备,所述文件存储模块50将所述对象获取模块20获取的存储文件的对象写入所述对象存储设备获取模块40获取的放置组对应的对象存储设备,通过三次映射快速实现存储文件到对象存储设备的寻址操作,并配置多个对象存储设备对用户存储文件进行安全备份存储,提高了云储存系统文件存储的便捷性、安全性、可靠性和工作效率,提升了云存储系统的系统性能和用户体验。

图9为本发明又一个实施例中云存储系统的结构示意图。如图所示,所述云存储系统300包括客户端200和云存储系统的文件存储装置100,通过所述云存储系统的文件存储装置100实现了三次映射快速实现存储文件到对象存储设备的寻址操作,并配置多个对象存储设备对用户存储文件进行安全备份存储,提高了云储存系统300文件存储的便捷性、安全性、可靠性和工作效率,提升了云存储系统300的系统性能和用户体验。

图10为本发明再一个实施例中云存储系统的结构示意图。如图所示,在上述实施例的基础上,所述云存储系统300包括客户端200、云存储系统的文件存储装置100、对象存储集群400和对象存储集群监视模块500。在本实施例中,所述对象存储集群400自动优化所述云存储系统的文件存储装置的从对象到块的映射,以自动化指向选择最佳的存储方式来存储对象。所述对象存储集群监视模块500检测和维护所述对象存储集群400从对象到块的映射,实现所述对象存储集群400的映射的监控和管理。通过所述对象存储集群400和对象存储集群监视模块500进一步优化和管理所述云存储系统的文件存储装置的从对象到块的映射,进一步提高了云储存系统300文件存储的便捷性、安全性、可靠性和工作效率,提升了云存储系统300的系统性能和用户体验。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

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