基于分布式系统的数据存储方法和装置制造方法及图纸

技术编号:22722074 阅读:18 留言:0更新日期:2019-12-04 05:18
本申请提供一种基于分布式系统的数据存储方法和装置,获取待存储数据和目录标识后,获取待写入目录对应的每一个数据池的当前容量信息,其中,待写入目录是目录标识对应的预先创建的多个目录中的目录,每一个目录均对应有多个数据池;然后根据预设的数据池使用策略和待写入目录对应的每一个数据池的当前容量信息,从待写入目录对应的多个数据池中确定出目标数据池;最后待存储数据写入所述目标数据池。本申请提供的方案在创建目录时为每个目录分配多个数据池,需要存储数据时根据各个数据池的当前容量信息选择目标数据池,从而避免现有技术中,由于每个目录仅绑定一个数据池导致的数据存储效率低的问题。

Data storage method and device based on distributed system

The application provides a data storage method and device based on a distributed system. After acquiring the data to be stored and the directory ID, the current capacity information of each data pool corresponding to the directory to be written is obtained, wherein the directory to be written is the directory in a plurality of pre created directories corresponding to the directory ID, and each directory corresponds to a plurality of data pools; then according to the preset number According to the current capacity information of each data pool corresponding to the usage policy of the data pool and the directory to be written, the target data pool is determined from multiple data pools corresponding to the directory to be written; finally, the data to be stored is written to the target data pool. The scheme provided in the application allocates multiple data pools for each directory when creating a directory, and selects the target data pool according to the current capacity information of each data pool when storing data, so as to avoid the problem of low data storage efficiency caused by binding only one data pool for each directory in the prior art.

【技术实现步骤摘要】
基于分布式系统的数据存储方法和装置
本专利技术涉及数据存储
,特别涉及一种基于分布式系统的数据存储方法和装置。
技术介绍
分布式系统是一种在计算机
常用的存储系统。现有的分布式系统一般包括若干个用于存储数据的数据池,以及通过网络与数据池连接的存储服务器,存储服务器中通常设置多个目录,每个目录均与唯一一个数据池绑定。存储服务器需要将数据保存在指定的目录下时,首先需要判断与这个目录绑定的数据池当前的剩余存储空间是否足以保存数据,若该数据池当前剩余的存储空间不足以保存数据,则需要由用户在存储服务器手动修改目录和数据池的绑定关系,是该目录绑定至另一个可用的数据池,再将数据写入新绑定的数据池。现有技术的缺点在于,无法自动的从多个数据池中查找可用的数据池,而需要人为的进行目录和数据池的绑定,导致数据存储效率较低。
技术实现思路
基于上述现有技术缺点,本专利技术提供一种基于分布式系统的数据存储方法和装置,以解决现有技术中数据存储效率低的问题。本专利技术第一方面提供一种基于分布式系统的数据存储方法,包括:获取待存储数据和目录标识;获取待写入目录对应的每一个数据池的当前容量信息;其中,所述待写入目录是根据所述目录标识从多个预先创建的目录中确定的目录;每一个所述目录均对应有多个数据池;根据预设的数据池使用策略和所述待写入目录对应的每一个数据池的当前容量信息,从所述待写入目录对应的多个数据池中确定出目标数据池;将所述待存储数据写入所述目标数据池。可选的,所述根据预设的数据池使用策略和所述待写入目录对应的每一个数据池的当前容量信息,从所述待写入目录对应的多个数据池中确定出目标数据池,包括:针对所述待写入目录对应每一个数据池,读取所述数据池的当前容量信息中记录的所述数据池的当前剩余容量;通过比较所述待写入目录对应的每一个数据池的当前剩余容量,确定出所述待写入目录对应的多个数据池中,当前剩余容量最大的数据池;其中,所述当前剩余容量最大的数据池作为所述目标数据池。可选的,所述根据预设的数据池使用策略和所述待写入目录对应的每一个数据池的当前容量信息,从所述待写入目录对应的多个数据池中确定出目标数据池,包括:针对所述待写入目录对应的每一个数据池,读取所述数据池的当前容量信息中记录的所述数据池的当前剩余容量和所述数据池的总容量;针对所述待写入目录对应的每一个数据池,根据所述数据池的当前剩余容量和所述数据池的总容量计算出所述数据池的当前剩余容量比例;通过比较所述待写入目录对应的每一个数据池的当前剩余容量比例,确定出所述待写入目录对应的多个数据池中,当前剩余容量比例最大的数据池;其中,所述当前剩余容量比例最大的数据池,作为所述目标数据池。可选的,还包括:针对每一个预先创建的目录,获取所述目录对应的每一个数据池的当前剩余容量;判断是否存在当前剩余容量小于或等于所述容量阈值的数据池;若判断出任意一个数据池的当前剩余容量小于或等于所述容量阈值,为所述数据池对应的目录分配一个当前剩余容量大于所述容量阈值的数据池。本专利技术第二方面提供一种基于分布式系统的数据存储装置,包括:获取单元,用于获取待存储数据和目录标识;所述获取单元,用于获取待写入目录对应的每一个数据池的当前容量信息;其中,所述待写入目录是根据所述目录标识从多个预先创建的目录中确定的目录;每一个所述目录均对应有多个数据池;确定单元,用于根据预设的数据池使用策略和所述待写入目录对应的每一个数据池的当前容量信息,从所述待写入目录对应的多个数据池中确定出目标数据池;写入单元,用于将所述待存储数据写入所述目标数据池。可选的,所述确定单元包括:读取单元,用于针对所述待写入目录对应每一个数据池,读取所述数据池的当前容量信息中记录的所述数据池的当前剩余容量;比较单元,用于通过比较所述待写入目录对应的每一个数据池的当前剩余容量,确定出所述待写入目录对应的多个数据池中,当前剩余容量最大的数据池;其中,所述当前剩余容量最大的数据池作为所述目标数据池。可选的,所述确定单元包括:读取单元,用于针对所述待写入目录对应的每一个数据池,读取所述数据池的当前容量信息中记录的所述数据池的当前剩余容量和所述数据池的总容量;计算单元,用于针对所述待写入目录对应的每一个数据池,根据所述数据池的当前剩余容量和所述数据池的总容量计算出所述数据池的当前剩余容量比例;比较单元,用于通过比较所述待写入目录对应的每一个数据池的当前剩余容量比例,确定出所述待写入目录对应的多个数据池中,当前剩余容量比例最大的数据池;其中,所述当前剩余容量比例最大的数据池,作为所述目标数据池。可选的,所述获取单元还用于:针对每一个预先创建的目录,获取所述目录对应的每一个数据池的当前剩余容量;所述数据存储装置还包括:判断单元,用于判断是否存在当前剩余容量小于或等于所述容量阈值的数据池;若判断出任意一个数据池的当前剩余容量小于或等于所述容量阈值,为所述数据池对应的目录分配一个当前剩余容量大于所述容量阈值的数据池。本申请提供一种基于分布式系统的数据存储方法和装置,获取待存储数据和目录标识后,获取待写入目录对应的每一个数据池的当前容量信息,其中,待写入目录是目录标识对应的预先创建的多个目录中的目录,每一个目录均对应有多个数据池;然后根据预设的数据池使用策略和待写入目录对应的每一个数据池的当前容量信息,从待写入目录对应的多个数据池中确定出目标数据池;最后待存储数据写入所述目标数据池。本申请提供的方案在创建目录时为每个目录分配多个数据池,需要存储数据时根据各个数据池的当前容量信息选择目标数据池,从而避免现有技术中,由于每个目录仅绑定一个数据池导致的数据存储效率低的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种基于分布式系统的数据存储方法的流程图;图2为本专利技术另一实施例提供的一种基于数据池使用策略确定目标数据池的方法的流程图;图3为本专利技术又一实施例提供的一种基于数据池使用策略确定目标数据池的方法的流程图;图4为本专利技术再一实施例提供的一种更新目录绑定的数据池的方法的流程图;图5为本专利技术实施例提供的一种基于分布式系统的数据存储装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发本文档来自技高网...

【技术保护点】
1.一种基于分布式系统的数据存储方法,其特征在于,包括:/n获取待存储数据和目录标识;/n获取待写入目录对应的每一个数据池的当前容量信息;其中,所述待写入目录是根据所述目录标识从多个预先创建的目录中确定的目录;每一个所述目录均对应有多个数据池;/n根据预设的数据池使用策略和所述待写入目录对应的每一个数据池的当前容量信息,从所述待写入目录对应的多个数据池中确定出目标数据池;/n将所述待存储数据写入所述目标数据池。/n

【技术特征摘要】
1.一种基于分布式系统的数据存储方法,其特征在于,包括:
获取待存储数据和目录标识;
获取待写入目录对应的每一个数据池的当前容量信息;其中,所述待写入目录是根据所述目录标识从多个预先创建的目录中确定的目录;每一个所述目录均对应有多个数据池;
根据预设的数据池使用策略和所述待写入目录对应的每一个数据池的当前容量信息,从所述待写入目录对应的多个数据池中确定出目标数据池;
将所述待存储数据写入所述目标数据池。


2.根据权利要求1所述的数据存储方法,其特征在于,所述根据预设的数据池使用策略和所述待写入目录对应的每一个数据池的当前容量信息,从所述待写入目录对应的多个数据池中确定出目标数据池,包括:
针对所述待写入目录对应每一个数据池,读取所述数据池的当前容量信息中记录的所述数据池的当前剩余容量;
通过比较所述待写入目录对应的每一个数据池的当前剩余容量,确定出所述待写入目录对应的多个数据池中,当前剩余容量最大的数据池;其中,所述当前剩余容量最大的数据池作为所述目标数据池。


3.根据权利要求1所述的数据存储方法,其特征在于,所述根据预设的数据池使用策略和所述待写入目录对应的每一个数据池的当前容量信息,从所述待写入目录对应的多个数据池中确定出目标数据池,包括:
针对所述待写入目录对应的每一个数据池,读取所述数据池的当前容量信息中记录的所述数据池的当前剩余容量和所述数据池的总容量;
针对所述待写入目录对应的每一个数据池,根据所述数据池的当前剩余容量和所述数据池的总容量计算出所述数据池的当前剩余容量比例;
通过比较所述待写入目录对应的每一个数据池的当前剩余容量比例,确定出所述待写入目录对应的多个数据池中,当前剩余容量比例最大的数据池;其中,所述当前剩余容量比例最大的数据池,作为所述目标数据池。


4.根据权利要求1所述的数据存储方法,其特征在于,还包括:
针对每一个预先创建的目录,获取所述目录对应的每一个数据池的当前剩余容量;
判断是否存在当前剩余容量小于或等于所述容量阈值的数据池;
若判断出任意一个数据池的当前剩余容量小于或等于所述容量阈值,为所述数据池对应的目录分配一个当前剩余容量大于所述容...

【专利技术属性】
技术研发人员:赵慧慧
申请(专利权)人:北京浪潮数据技术有限公司
类型:发明
国别省市:北京;11

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

1