一种分布式数据存储方法及装置制造方法及图纸

技术编号:18006817 阅读:127 留言:0更新日期:2018-05-21 07:27
本发明专利技术提供了一种分布式数据存储方法及装置,其中,该方法包括在接收到对数据对象进行存储的存储指令时,调起预设的虚拟存储区,然后接收数据对象被划分后的数据块,并将数据块存储至虚拟存储区中。当数据对象的全部数据块在虚拟存储区中存储后,获取存储在虚拟存储区中的各数据块的元信息。进而将获取的元信息进行整合得到数据对象的索引信息,并利用数据对象的索引信息替换虚拟存储区的索引信息,以完成数据对象的存储操作。由此,本发明专利技术实施例在对数据对象进行存储时,数据对象已经被划分为多个数据块,从而能够实现同时并行的接收各个数据块,并将接收到的各数据块存储至虚拟存储区中,有效地提高了数据对象的存储效率。

【技术实现步骤摘要】
一种分布式数据存储方法及装置
本专利技术涉及计算机
,特别是涉及一种分布式数据存储方法及装置。
技术介绍
随着移动互联网、物联网等应用的飞速发展,全球数据量出现了爆炸式增长。面对大规模的数据量,目前通常采用分布式数据存储方式对大量数据进行存储。在对大量数据进行分布式存储时,由于数据量较大,因此需要有专门的模块来管理上传数据的元信息,但是对元信息进行有效地管理是一个相当复杂的过程。因此,如何在对数据进行存储时有效地简化元信息的处理逻辑以及提高数据接收、存储速率,是一个亟待解决的技术问题。此外,现有的对存储数据进行复制、删除数据的方式是直接对数据的内容进行复制和删除,这使得存储数据库中同时保存有多份相同的数据内容,特别是在对所占内存较大的数据进行复制时,会造成内存资源的巨大浪费,不利于内存资源的有效利用。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的分布式数据存储方法及装置。根据本专利技术的一方面,提供了一种分布式数据存储方法,包括:接收到对数据对象进行存储的存储指令时,调起预设虚拟存储区;接收所述数据对象被划分后的数据块,并将所述数据块存储至所述虚拟存储区中;当所述数据对象的全部数据块在所述虚拟存储区中存储后,获取存储在所述虚拟存储区中的各数据块的元信息;将获取的元信息进行整合得到所述数据对象的索引信息,并利用所述数据对象的索引信息替换所述虚拟存储区的索引信息,以完成所述数据对象的存储操作。可选地,在接收到对数据对象进行存储的存储指令之前,还包括:建立虚拟存储区,并将所述虚拟存储区对应的索引信息保存至索引数据库中,所述虚拟存储区由对所述数据对象进行存储的存储指令触发调用。可选地,所述接收所述数据对象被划分后的数据块,并将所述数据块存储至所述虚拟存储区中,包括:利用不同服务器分别接收所述数据对象被划分后各数据块,并将接收的数据块存储至所述虚拟存储区中,其中,所述不同服务器由服务器集群根据负载均衡原理为准备上传的各数据块分配。可选地,所述接收所述数据对象被划分后的数据块,并将所述数据块存储至所述虚拟存储区中,包括:依据被划分后的各数据块在所述数据对象中的位置次序,在所述虚拟存储区中以存储地址递增的顺序为各数据块分配独立的虚拟子存储区;在接收到数据块时,分析所述数据块在所述数据对象中的位置,并将所述数据块存储至与其对应的虚拟子存储区中,直到将所述数据对象的全部数据块分别存储至各自对应的虚拟子存储区中。可选地,所述接收所述数据对象被划分后的数据块,并将所述数据块存储至所述虚拟存储区中,包括:在接收到所述数据对象的任一数据块时,将该数据块存储至所述虚拟存储区中,直到将所述数据对象的全部数据块都存储至虚拟存储区中;获取所述任一数据块对应的元信息,并将获取的元信息保存至索引数据库中。可选地,当所述数据对象的全部数据块都存储至虚拟存储区中之后,还包括:依据各数据块的元信息,对所述虚拟存储区中各数据块的位置顺序进行调整,以使所述虚拟存储区中各数据块的位置顺序对应于各数据块在所述数据对象中的位置次序。可选地,所述将获取的元信息进行整合得到所述数据对象的索引信息,包括:将获取的元信息依据各数据块之间的关系进行整合,以得到所述数据对象的索引信息。可选地,所述将获取的元信息依据各数据块之间的关系进行整合,以得到所述数据对象的索引信息,包括:根据获取的元信息确定各数据块在所述数据对象中的位置次序;依据各数据块在所述数据对象中的位置次序,将各数据块对应的元信息进行组合,利用组合后的元信息作为所述数据对象的索引信息。可选地,所述将获取的元信息进行整合得到所述数据对象的索引信息,并利用所述数据对象的索引信息替换所述虚拟存储区的索引信息,以完成所述数据对象的存储操作之后,还包括:当接收到对所述数据对象进行复制的复制指令时,判断所述复制指令是否为复制完整的数据对象;若是,查找与所述数据对象对应的索引信息,复制查找到的索引信息并将所述查找到的索引信息对应的数据存储区的引用计数加一。可选地,若判断所述复制指令不是复制完整的数据对象,则分析所述复制指令对应的待复制数据块,查找与所述待复制数据块对应的索引信息;依据查找到的索引信息建立所述待复制数据块的新的索引信息,并将建立的新的索引信息保存至索引数据库中;将查找到的索引信息对应的数据存储区的引用计数加一。可选地,所述将获取的元信息进行整合得到所述数据对象的索引信息,并利用所述数据对象的索引信息替换所述虚拟存储区的元信息,以完成所述数据对象的存储操作之后,还包括:当接收到对所述数据对象进行删除的删除指令时,查找与所述数据对象对应的索引信息;将查找到的索引信息放入待删队列中,并将查找到的索引信息对应的数据存储区的引用计数减一。可选地,所述将查找到的索引信息放入待删队列中,并将查找到的索引信息对应的数据存储区的引用计数减一之后,还包括:判断所述查找到的索引信息对应的数据存储区的引用计数是否为0,若是,删除该索引信息对应的数据对象。可选地,所述元信息的内容包括以下至少一项:所述数据块的数据大小、数据类型、数据存储地址、数据结构、数据属性以及唯一标识。依据本专利技术的另一方面,还提供了一种分布式数据存储装置,包括:调起模块,适于接收到对数据对象进行存储的存储指令时,调起预设虚拟存储区;存储模块,适于接收所述数据对象被划分后的数据块,并将所述数据块存储至所述虚拟存储区中;获取模块,适于当所述数据对象的全部数据块在所述虚拟存储区中存储后,获取存储在所述虚拟存储区中的各数据块的元信息;整合模块,适于将获取的元信息进行整合得到所述数据对象的索引信息,并利用所述数据对象的索引信息替换所述虚拟存储区的索引信息,以完成所述数据对象的存储操作。可选地,所述装置还包括:建立模块,适于在所述调起模块接收到对数据对象进行存储的存储指令之前,建立虚拟存储区,并将所述虚拟存储区对应的索引信息保存至索引数据库中,所述虚拟存储区由对所述数据对象进行存储的存储指令触发调用。可选地,所述存储模块还适于:利用不同服务器分别接收所述数据对象被划分后各数据块,并将接收的数据块存储至所述虚拟存储区中,其中,所述不同服务器由服务器集群根据负载均衡原理为准备上传的各数据块分配。可选地,所述存储模块还适于:依据被划分后的各数据块在所述数据对象中的位置次序,在所述虚拟存储区中以存储地址递增的顺序为各数据块分配独立的虚拟子存储区;在接收到数据块时,分析所述数据块在所述数据对象中的位置,并将所述数据块存储至与其对应的虚拟子存储区中,直到将所述数据对象的全部数据块分别存储至各自对应的虚拟子存储区中。可选地,所述存储模块还适于:在接收到所述数据对象的任一数据块时,将该数据块存储至所述虚拟存储区中,直到将所述数据对象的全部数据块都存储至虚拟存储区中;获取所述任一数据块对应的元信息,并将获取的元信息保存至索引数据库中。可选地,所述装置还包括:调整模块,适于在所述存储模块将所述数据对象的全部数据块都存储至虚拟存储区中之后,依据各数据块的元信息,对所述虚拟存储区中各数据块的位置顺序进行调整,以使所述虚拟存储区中各数据块的位置顺序对应于各数据块在所述数据对象中的位置次序。可选地,所述整合模块还适于:将获取的元信息依据各数据本文档来自技高网...
一种分布式数据存储方法及装置

【技术保护点】
一种分布式数据存储方法,包括:接收到对数据对象进行存储的存储指令时,调起预设虚拟存储区;接收所述数据对象被划分后的数据块,并将所述数据块存储至所述虚拟存储区中;当所述数据对象的全部数据块在所述虚拟存储区中存储后,获取存储在所述虚拟存储区中的各数据块的元信息;将获取的元信息进行整合得到所述数据对象的索引信息,并利用所述数据对象的索引信息替换所述虚拟存储区的索引信息,以完成所述数据对象的存储操作。

【技术特征摘要】
1.一种分布式数据存储方法,包括:接收到对数据对象进行存储的存储指令时,调起预设虚拟存储区;接收所述数据对象被划分后的数据块,并将所述数据块存储至所述虚拟存储区中;当所述数据对象的全部数据块在所述虚拟存储区中存储后,获取存储在所述虚拟存储区中的各数据块的元信息;将获取的元信息进行整合得到所述数据对象的索引信息,并利用所述数据对象的索引信息替换所述虚拟存储区的索引信息,以完成所述数据对象的存储操作。2.根据权利要求1所述的方法,其中,所述在接收到对数据对象进行存储的存储指令之前,还包括:建立虚拟存储区,并将所述虚拟存储区对应的索引信息保存至索引数据库中,所述虚拟存储区由对所述数据对象进行存储的存储指令触发调用。3.根据权利要求1或2所述的方法,其中,所述接收所述数据对象被划分后的数据块,并将所述数据块存储至所述虚拟存储区中,包括:利用不同服务器分别接收所述数据对象被划分后各数据块,并将接收的数据块存储至所述虚拟存储区中,其中,所述不同服务器由服务器集群根据负载均衡原理为准备上传的各数据块分配。4.根据权利要求1或2所述的方法,其中,所述接收所述数据对象被划分后的数据块,并将所述数据块存储至所述虚拟存储区中,包括:依据被划分后的各数据块在所述数据对象中的位置次序,在所述虚拟存储区中以存储地址递增的顺序为各数据块分配独立的虚拟子存储区;在接收到数据块时,分析所述数据块在所述数据对象中的位置,并将所述数据块存储至与其对应的虚拟子存储区中,直到将所述数据对象的全部数据块分别存储至各自对应的虚拟子存储区中。5.根据权利要求1或2所述的方法,其中,所述接收所述数据对象被划分后的数据块,并将所述数据块存储至所述虚拟存储区中,包...

【专利技术属性】
技术研发人员:高敦桥宋昭
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1