发明内容
本发明的主要目的在于提供一种超融合数据存储方法及系统,旨在提高存储扩展性和降低数据冗余。
为实现上述目的,本发明提供一种超融合数据存储方法,所述超融合数据存储方法包括以下步骤:
接收客户端的第一文件操作请求,所述第一文件操作请求为写入或读取的操作请求;
根据所述第一文件操作请求,对存储池进行操作,所述存储池包括使用网络连接的多个超融合单元的存储设备。
优选地,在所述接收客户端的第一文件操作请求之前包括:
接收客户端的第二文件操作请求,当所述第二文件操作请求为写入的操作请求时,根据所述第二文件操作请求和所述存储池的目录信息生成写入规划信息,所述写入规划信息包括每个存储数据块对应的超融合单元,所述存储数据块为所述写入操作的对象的分块数据;
发送写入规划信息至所述客户端,以使客户端使用所述写入规划信息生成用于直接操作超融合单元的第一文件操作请求。
优选地,所述接收第二文件操作请求,当所述第二文件操作请求为写入的操作请求时,根据所述第二文件操作请求和所述存储池的目录信息生成写入规划信息包括:
判断所述客户端是否为主控超融合单元,所述主控超融合单元为生成所述写入规划信息的超融合单元;
当所述客户端为主控超融合单元时,按照预设策略生成所述写入规划信息。
优选地,所述接收第二文件操作请求,当所述第二文件操作请求为写入的操作请求时,根据所述第二文件操作请求和所述存储池的目录信息生成写入规划信息包括:
当接收到所述第二文件操作请求时,获取每个所述超融合单元的资源状态,所述资源状态包括每个所述超融合单元的负载数据;
根据所述负载数据,筛选出目标超融合单元,所述目标超融合单元为负载低于预设值的超融合单元;
选择所述目标超融合单元中迁移路径最短的超融合单元作为所述写入规划信息中使用的超融合单元,并发送所述写入规划信息至所述客户端。
优选地,所述根据所述第一文件操作请求,对存储池进行操作包括:
当所述第一文件操作请求为读取操作时,根据所述第一文件操作请求,获取读取对象数据的信息;
根据所述读取对象数据的信息,确定读取数据块的读取顺序,所述读取数据块为所述读取对象数据的分块数据,所述读取对象数据的信息包括存储所述超融合单元的状态,及读取所述读取数据块的路径;
根据所述读取顺序和所述读取数据块所在的超融合单元的位置,从所述存储池获取所述读取对象数据,并返回给客户端。
此外为实现上述目的,本发明提供一种超融合数据存储系统,所述超融合数据存储系统包括:
接收模块,用于接收客户端的第一文件操作请求,所述第一文件操作请求为写入或读取的操作请求;
第一操作模块,用于根据所述第一文件操作请求,对存储池进行操作,所述存储池包括使用网络连接的多个超融合单元的存储设备。
优选地,所述超融合数据存储系统还包括:
第二操作模块,用于接收客户端的第二文件操作请求,当所述第二文件操作请求为写入的操作请求时,根据所述第二文件操作请求和所述存储池的目录信息生成写入规划信息,所述写入规划信息包括每个存储数据块对应的超融合单元,所述存储数据块为所述写入操作的对象的分块数据;
发送模块,用于发送写入规划信息至所述客户端,以使客户端使用所述写入规划信息生成用于直接操作超融合单元的第一文件操作请求。
优选地,所述第二操作模块包括:
判断单元,用于判断所述客户端是否为主控超融合单元,所述主控超融合单元为生成所述写入规划信息的超融合单元;
生成单元,用于当所述客户端为主控超融合单元时,按照预设策略生成所述写入规划信息。
优选地,所述第二操作模块包括:
第一获取单元,用于当接收到所述第二文件操作请求时,获取每个所述超融合单元的资源状态,所述资源状态包括每个所述超融合单元的负载数据;
筛选单元,用于根据所述负载数据,筛选出目标超融合单元,所述目标超融合单元为负载低于预设值的超融合单元;
发送单元,用于选择所述目标超融合单元中迁移路径最短的超融合单元作为所述写入规划信息中使用的超融合单元,并发送所述写入规划信息至所述客户端。
优选地,所述第一操作模块包括:
第二获取单元,用于当所述第一文件操作请求为读取操作时,根据所述第一文件操作请求,获取读取对象数据的信息;
确定单元,用于根据所述读取对象数据的信息,确定读取数据块的读取顺序,所述读取数据块为所述读取对象数据的分块数据,所述读取对象数据的信息包括存储所述超融合单元的状态,及读取所述读取数据块的路径;
第三获取单元,用于根据所述读取顺序和所述读取数据块所在的超融合单元的位置,从所述存储池获取所述读取对象数据,并返回给客户端。
本发明通过接收客户端的第一文件操作请求,所述第一文件操作请求为写入或读取的操作请求;根据所述第一文件操作请求,对存储池进行操作,所述存储池包括使用网络连接的多个超融合单元的存储设备。通过整合多个超融合单元的存储设备形成存储池,使得能通过增加超融合单元来对存储进行扩展,数据存储扩展性强,由于使用统一的存储池管理多个超融合单元的存储设备,可以统一规划存储,从系统层面制定数据备份策略,降低了不必要的数据冗余,提升了存储设备的使用效率。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种超融合数据存储方法,参照图1,在本发明超融合数据存储方法第一实施例中,所述超融合数据存储方法包括以下步骤:
步骤S10,接收客户端的第一文件操作请求,所述第一文件操作请求为写入或读取的操作请求;
所述客户端为分布式文件系统中的一个节点,在本实施例中所述客户端为分布式文件系统中的一个超融合单元,所述超融合单元为拥有完整硬件系统功能的计算机系统,在本实施例中所述超融合单元为在机架式服务器中运行的虚拟机。
步骤S20,根据所述第一文件操作请求,对存储池进行操作,所述存储池包括使用网络连接的多个超融合单元的存储设备。
具体地,在本实施例中,请参照图11,所述存储池包括使用网络连接的m乘n个超融合单元的存储设备,所述超融合单元为虚拟机,本系统包括多个虚拟机,所述虚拟机运行在机架式服务器内,所述机架式服务器为m个,所述单个机架式服务器设有n个虚拟机,其中超融合单1-1是第1个机架式服务器中的第1个超融合单,超融合单1-n是第1个机架式服务器中的第n个超融合单,超融合单m-1是第m个机架式服务器中的第1个超融合单,超融合单m-n是第m个机架式服务器中的第n个超融合单,通过交换机使整合所有虚拟机的存储设备为所述存储池。
具体在本实施例中,当客户端需要进行读或写的存储操作时,对系统发出第一文件操作请求,接收到所述请求后,系统从存储池中执行所述第一文件操作请求,并通过网络接口返回操作结果,当所述第一文件操作请求为写入存储请求时,保存写入存储的对象至所述存储池中的超融合单元内,在本实施例中,还在不同的机架式服务器内的超融合单元上,为所述存储操作对象建立有存储副本,所述存储副本和存储对象一样为分块后的数据块存储,备份数据块存储在和原数据块存储在不同的服务器的超融合单元内,避免了单个超融合单元独自存储在固定位置,导致的位置不可用时,备份无效的问题,提高了备份的可靠性,同时由于系统能统一管理控制数据存储及备份,有效的降低了由各自存储带来的过多数据冗余的问题;同时在存储资源不够时,只需要使用网络连接增加超融合单元,不影响系统中其他应用的运行。
通过整合多个超融合单元的存储设备形成存储池,使得能通过增加超融合单元来对存储进行扩展,使得数据存储扩展性强,由于使用统一的存储池管理多个超融合单元的存储设备,可以统一规划存储,从系统层面制定数据备份策略,降低了不必要的数据冗余,提升了存储设备的使用效率。
请参照图2,基于本发明超融合数据存储方法第一实施例,在本发明超融合数据存储方法第二实施例中,在所述步骤S10之前还包括:
步骤S30,接收客户端的第二文件操作请求,当所述第二文件操作请求为写入的操作请求时,根据所述第二文件操作请求和所述存储池的目录信息生成写入规划信息,所述写入规划信息包括每个存储数据块对应的超融合单元,所述存储数据块为所述写入操作的对象的分块数据;
步骤S40,发送写入规划信息至所述客户端,以使客户端使用所述写入规划信息生成用于直接操作超融合单元的第一文件操作请求。
在本实施例中,当接收的所述第二文件操作请求为写入的操作请求时,系统只返回所述客户端所述写入规划信息,所述写入规划信息包括根据所述写入的操作请求生成的,所要操作的数据对象分割成数据块之后,每个所述数据块所预定的超融合单元的存储位置。发送给客户端所述写入规划信息,客户端通过根据所述写入规划信息,直接对超融合单元进行文件写入操作,避免了因为多个终端并发操作导致的操作效率的降低;同时由客户端根据所述目录信息进行存储操作,使得系统能控制所述客户端的存储行为,进一步提高系统处理速度。
请参照图3,基于本发明超融合数据存储方法第二实施例,在本发明超融合数据存储方法第三实施例中,所述步骤S30包括:
步骤S31,判断所述客户端是否为主控超融合单元,所述主控超融合单元为生成所述写入规划信息的超融合单元;
所述主控超融合单元为生成所述写入规划信息的超融合单元,在本实施例中,本系统采用Master-Slave架构设计,在本实施例中所述主控超融合单元为所述Master的节点,所述主控超融合单元包括两个服务器,一个为分布式文件存储管理服务器,所述分布式文件存储管理服务器完成主要存储业务;另一个为辅助服务器,所述辅助服务器提供冷备份服务与数据支持。
步骤S32,当所述客户端为主控超融合单元时,按照预设策略生成所述写入规划信息。
当所述分布式文件存储管理服务器发起第二文件操作请求时,本实施例所采用的策略是,在所述主控超融合单元所在的服务器复制一个备份后,在所述服务器之外的任一机架式服务器内的超融合单元进行备份,应当说明的是,具体的策略应当根据实际情况而定。
通过根据实际需要,对所述主控超融合单元的文件操作选择特别策略,使得能对所述主控超融合单元所产生的文件进行特殊处理,加快所述主控超融合单元文件读写效率,提升整个系统性能。
具体地,所述主控超融合单元需要存储数据时,返回主控超融合单元写入规划信息,直接在所述主控超融合单元本地进行存储,并在所述主控超融合单元最近的其他机机架式服务器内的超融合单元内建立一个副本,使得所述主控超融合单元在本地进行数据的读取,加快了处理速度的同时,确保了在本地数据崩溃时,能更快的获取备份数据。
请参照图4,基于本发明超融合数据存储方法第二实施例,在本发明超融合数据存储方法第四实施例中,所述步骤S30包括:
步骤S33,当接收到所述第二文件操作请求时,获取每个所述超融合单元的资源状态,所述资源状态包括每个所述超融合单元的负载数据;
步骤S34,根据所述负载数据,筛选出目标超融合单元,所述目标超融合单元为负载低于预设值的超融合单元;
步骤S35,选择所述目标超融合单元中迁移路径最短的超融合单元作为所述写入规划信息中使用的超融合单元,并发送所述写入规划信息至所述客户端。
通过统计每个所述超融合单元的负载情况,并根据所述负载情况分配存储任务,使得系统负载更加平衡;并且优先使用迁移路径最短的超融合单元作为所述写入规划信息中使用的超融合单元,进一步提高了文件存取的效率。
具体地,当接收到所述第二文件操作请求时,在本实施例中获取所有超融合单元的负载率,当所述超融合单元负载率在80%以下的超融合单元为目标超融合单元,同时获取所述目标超融合单元的分布分析报告。根据所述分析报告为每个目标超融合单元生成迁移路线图,在迁移路线图中最短的迁移路径为经过5个节点,所以选择所述5个节点上的超融合单元作为要使用的超融合单元,写入规划信息中,并发送所述写入规划信息至客户端。
请参照图5,基于本发明超融合数据存储方法第一实施例,在本发明超融合数据存储方法第五实施例中,所述步骤S20包括:
步骤S21,当所述第一文件操作请求为读取操作时,根据所述第一文件操作请求,获取读取对象数据的信息;
步骤S22,根据所述读取对象数据的信息,确定读取数据块的读取顺序,所述读取数据块为所述读取对象数据的分块数据,所述读取对象数据的信息包括存储所述超融合单元的状态,及读取所述读取数据块的路径;
步骤S23,根据所述读取顺序和所述读取数据块所在的超融合单元的位置,从所述存储池获取所述读取对象数据,并返回给客户端。
所述信息包括存储所述超融合单元的状态,及解析所述读取数据块的路径,在确定读取数据块的读取顺序时,为确保每一步数据读取的成功率,选择状态正常的所述超融合单元的读取所述数据块;但有些实施例中为提高效率,只会选取读取路径最短的所述超融合单元进行数据读取。
具体在本实施例中,当所述第一文件操作请求为读取操作时,选取状态为正常的超融合单元为要读取超融合单元,并在所述要读取超融合单元中选取路径最短的超融合单元进行数据读取,根据所述读取顺序和所述读取数据块所在的超融合单元的位置,从所述存储池获取所述读取对象数据,并返回给客户端,保证了能正常读取数据的同时,加快了读取的效率。
本发明提供一种超融合数据存储系统,参照图6,在本发明超融合数据存储系统第一实施例中,所述超融合数据存储系统包括:
接收模块10,用于接收客户端的第一文件操作请求,所述第一文件操作请求为写入或读取的操作请求;
所述客户端为分布式文件系统中的一个节点,在本实施例中所述客户端为分布式文件系统中的一个超融合单元,所述超融合单元为拥有完整硬件系统功能的计算机系统,在本实施例中所述超融合单元为在机架式服务器中运行的虚拟机。
第一操作模块20,用于根据所述第一文件操作请求,对存储池进行操作,所述存储池包括使用网络连接的多个超融合单元的存储设备。
具体地,在本实施例中,请参照图11,所述存储池包括使用网络连接的m乘n个超融合单元的存储设备,所述超融合单元为虚拟机,本系统包括多个虚拟机,所述虚拟机运行在机架式服务器内,所述机架式服务器为m个,所述单个机架式服务器设有n个虚拟机,通过交换机使整合所有虚拟机的存储设备为所述存储池。
具体在本实施例中,当客户端需要进行读或写的存储操作时,对系统发出第一文件操作请求,接收模块10接收到所述请求后,第一操作模块20从存储池中执行所述第一文件操作请求,并通过网络接口返回操作结果,当所述第一文件操作请求为写入存储请求时,保存写入存储的对象至所述存储池中的超融合单元内,在本实施例中,还在不同的机架式服务器内的超融合单元上,为所述存储操作对象建立有存储副本。所述存储副本和存储对象一样为分块后的数据块存储,备份数据块存储在和原数据块存储在不同的服务器的超融合单元内,避免了单个超融合单元独自存储在固定位置,导致的位置不可用时,备份无效的问题,提高了备份的可靠性,同时由于系统能统一管理控制数据存储及备份,有效的降低了由各自存储带来的过多数据冗余的问题;同时在存储资源不够时,只需要使用网络连接增加超融合单元,不影响系统中其他应用的运行。
通过整合多个超融合单元的存储设备形成存储池,使得能通过增加超融合单元来对存储进行扩展,使得数据存储扩展性强,由于使用统一的存储池管理多个超融合单元的存储设备,可以统一规划存储,从系统层面制定数据备份策略,降低了不必要的数据冗余,提升了存储设备的使用效率。
请参照图7,基于本发明超融合数据存储系统第一实施例,在本发明超融合数据存储系统第二实施例中,所述超融合数据存储系统还包括:
第二操作模块30,用于接收客户端的第二文件操作请求,当所述第二文件操作请求为写入的操作请求时,根据所述第二文件操作请求和所述存储池的目录信息生成写入规划信息,所述写入规划信息包括每个存储数据块对应的超融合单元,所述存储数据块为所述写入操作的对象的分块数据;
发送模块40,用于发送写入规划信息至所述客户端,以使客户端使用所述写入规划信息生成用于直接操作超融合单元的第一文件操作请求。
在本实施例中,第二操作模块30当所述第二文件操作为写入的操作请求时,系统只返回所述客户端所述写入规划信息,所述写入规划信息包括根据所述写入的操作请求生成的,所要操作的数据对象分割成数据块之后,每个所述数据块所预定的超融合单元的存储位置。发送模块40发送给客户端所述写入规划信息,客户端通过根据所述写入规划信息,直接对超融合单元进行文件写入操作,避免了因为多个终端并发操作导致的操作效率的降低;同时由客户端根据所述目录信息进行存储操作,使得系统能控制所述客户端的存储行为,进一步提高系统处理速度。
请参照图8,基于本发明超融合数据存储系统第二实施例,在本发明超融合数据存储系统第三实施例中,所述第二操作模块30包括:
判断单元31,用于判断所述客户端是否为主控超融合单元,所述主控超融合单元为生成所述写入规划信息的超融合单元;
所述主控超融合单元为生成所述写入规划信息的超融合单元,在本实施例中,本系统采用Master-Slave架构设计,在本实施例中所述主控超融合单元为所述Master的节点,所述主控超融合单元包括两个服务器,一个为分布式文件存储管理服务器,所述分布式文件存储管理服务器完成主要存储业务;另一个为辅助服务器,所述辅助服务器提供冷备份服务与数据支持。
生成单元32,用于当所述客户端为主控超融合单元时,按照预设策略生成所述写入规划信息。
当所述分布式文件存储管理服务器发起第二文件操作请求时,本实施例所采用的策略是,在所述主控超融合单元所在的服务器复制一个备份后,在所述服务器之外的任一机架式服务器内的超融合单元进行备份,应当说明的是,具体的策略应当根据实际情况而定。
通过根据实际需要,对所述主控超融合单元的文件操作选择特别策略,使得能对所述主控超融合单元所产生的文件进行特殊处理,加快所述主控超融合单元文件读写效率,提升整个系统性能。
具体地,所述主控超融合单元需要存储数据时,判断单元31判断出为,所述主控超融合单元,生成单元32返回主控超融合单元写入规划信息,直接在所述主控超融合单元本地进行存储,并在所述主控超融合单元最近的其他机机架式服务器内的超融合单元内建立一个副本,使得所述主控超融合单元在本地进行数据的读取,加快了处理速度的同时,确保了在本地数据崩溃时,能更快的获取备份数据。
请参照图9,基于本发明超融合数据存储系统第二实施例,在本发明超融合数据存储系统第四实施例中,所述第二操作模块包括:
第一获取单元33,用于当接收到所述第二文件操作请求时,获取每个所述超融合单元的资源状态,所述资源状态包括每个所述超融合单元的负载数据;
筛选单元34,用于根据所述负载数据,筛选出目标超融合单元,所述目标超融合单元为负载低于预设值的超融合单元;
发送单元35,用于使用所述目标超融合单元中迁移路径最短的超融合单元作为所述写入规划信息中使用的超融合单元,并发送所述写入规划信息至所述客户端。
通过统计每个所述超融合单元的负载情况,并根据所述负载情况分配存储任务,使得系统负载更加平衡;并且优先使用迁移路径最短的超融合单元作为所述写入规划信息中使用的超融合单元,进一步提高了文件存取的效率。
具体地,当接收到所述第二文件操作请求时,在本实施例中第一获取单元23获取所有超融合单元的负载率,筛选单元24筛选所述超融合单元负载率在80%以下的超融合单元为目标超融合单元,同时获取所述目标超融合单元的分布分析报告。根据所述分析报告为每个目标超融合单元生成迁移路线图,在迁移路线图中最短的迁移路径为经过5个节点,所以选择所述5个节点上的超融合单元作为要使用的超融合单元,发送单元25写入规划信息中,并发送所述写入规划信息至客户端。
请参照图10,基于本发明超融合数据存储系统第一实施例,在本发明超融合数据存储系统第五实施例中,所述第一操作模块20包括:
第二获取单元21,用于当所述第一文件操作请求为读取操作时,根据所述第一文件操作请求,获取读取对象数据的信息;
确定单元22,用于根据所述读取对象数据的信息,确定读取数据块的读取顺序,所述读取数据块为所述读取对象数据的分块数据,所述信息包括存储所述超融合单元的状态,及读取所述读取数据块的路径;
第三获取单元23,用于根据所述读取顺序和所述读取数据块所在的超融合单元的位置,从所述存储池获取所述读取对象数据,并返回给客户端。
所述信息包括存储所述超融合单元的状态,及解析所述读取数据块的路径,在确定读取数据块的读取顺序时,为确保每一步数据读取的成功率,选择状态正常的所述超融合单元的读取所述数据块;但有些实施例中为提高效率,只会选取读取路径最短的所述超融合单元进行数据读取。
具体在本实施例中,当所述第一文件操作请求为读取操作时,第二获取单元21获取获取读取对象数据的信息,确定单元22选取状态为正常的超融合单元为要读取超融合单元,并在所述要读取超融合单元中选取路径最短的超融合单元进行数据读取,第三获取单元23根据所述读取顺序和所述读取数据块所在的超融合单元的位置,从所述存储池获取所述读取对象数据,并返回给客户端,保证了能正常读取数据的同时,加快了读取的效率。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。