一种集群存储系统存取数据的方法以及集群存储系统技术方案

技术编号:13628831 阅读:40 留言:0更新日期:2016-09-02 06:40
本发明专利技术公开了一种集群存储系统存储数据的方法以及集群存储系统,集群存储系统包括存储空间和缓存空间,集群存储系统还运行有存储程序、缓存程序和客户端程序,存储程序、缓存程序和客户端程序之间互连,并且一存储程序对应一存储空间,一缓存程序对应一缓存空间,在接收到待存储数据时,将待存储数据分割成多个数据块,并先将数据块生成N‑1份副本,并分别将数据块的每一副本缓存在一缓存空间中,数据块本身也缓存在一缓存空间;在数据块的使用率较低时,再将数据块刷入存储空间,释放缓存空间,以减少缓存空间的使用量。通过上述方式,本发明专利技术能够既优化了集群存储系统的读写性能,又降低了集群存储系统的成本,又提高集群存储系统的可靠性。

【技术实现步骤摘要】

本专利技术涉及云存储
,特别是涉及一种集群存储系统存取数据的方法以及集群存储系统
技术介绍
集群存储系统是将多台存储设备中的存储空间聚合成一个能够给应用服务器提供统一访问接口和管理界面的存储池,应用可以通过访问接口透明地访问和利用所有存储设备上的磁盘的系统。集群存储系统可以充分发挥存储设备的性能和磁盘利用率,并且容易扩展其存储池的存储容量。现有技术集群存储系统的存储空间大多使用机械硬盘。机械硬盘具有价格低、寿命长等优点,但是机械硬盘同样存在读写速度慢等缺点。集群存储系统的存储空间均采用机械硬盘,其读写速度很慢,尤其在同一时间存在大量并发性的存取请求时,机械硬盘自身的读写性能会直接影响到集群存储系统的整体读写性能。
技术实现思路
本专利技术主要解决的技术问题是提供一种集群存储系统存储数据的方法以及集群存储系统,既优化了集群存储系统的读写性能,降低了集群存储系统的成本。为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种集群存储系统,包括存储空间和缓存空间,所述集群存储系统还运行有存储程序、缓存程序和客户端程序,所述存储程序、缓存程序和客户端程序之间互连,其中,所述存储空间、缓存空间、存储程序和缓存程序的数量均为多个,并且一所述存储程序对应一存储空间,一所述缓存程
序对应一缓存空间,所述缓存空间的读写性能优于存储空间的读写性能;所述客户端程序用于在接收到待存储数据时,根据预设数据分割算法,将待存储数据分割成若干个数据块,并建立所述数据块的标识与待存储数据的标识之间的对应关系,以及根据预设第一存储算法,分别选择各个所述数据块对应的存储程序,并向所选定的存储程序发送对应的数据块。所述所选定的存储程序用于根据预设缓存算法选择正本缓存程序,并将所选定的缓存程序作为正本缓存程序,向所述正本缓存程序发送接收到的数据块,以及将所述自身的标识写入所述数据块的元数据中;所述正本缓存程序用于将所述数据块和所述数据块的元数据缓存到自身对应的缓存空间,将所述数据块的标识和正本缓存程序的标识关联关系写入缓存集合,并根据预设副本存储算法,选择N-1个所述缓存程序,并将所选定的所述缓存程序作为副本缓存程序,以及生成所述数据块的N-1份副本,分别向一所述副本缓存程序发送一份所述数据块的副本,其中,N为大于1的自然数;接收到所述数据块的副本的副本缓存程序将所述数据块的副本缓存至自身对应的缓存空间,并将自身的标识与所述数据块的标识的关联关系写入缓存集合,以及向所述正本缓存程序发送副本缓存成功应答;所述正本缓存程序还用于在接收副本缓存成功应答后所述所选定的存储程序发送数据缓存成功应答;所述所选定的存储服务器还用于在接收到数据缓存成功应答时,向客户端程序发送数据存储成功应答。其中,所述缓存程序还用于根据预设筛选算法,从自身的缓存空间中筛选待存储数据块,并根据所述待存储数据块的元数据获取处理所述待存储数据块的存储程序,以及向所述获取到的存储程序发送所述待存储数据块;所述获取到的存储程序将所述待存储数据块存储至自身对应的存储空间,并返回数据刷入成功应答。其中,所述缓存程序用于在接收到所述数据刷入成功应答后,根据所述缓存集合获取处理所述待存储数据块的其它缓存程序,并从自身的缓存空间删除所述待存储数据块;向所述其它缓存程序发送删除副本请求,其中,所述删除副本请求携带所述待存储数据块的标识;所述其它
缓存程序根据删除副本请求,从自身缓存空间删除所述待存储数据块,并在删除完成后向返回副本删除成功应答;所述缓存程序在接收到所述副本删除成功应答后,从所述缓存集合删除所述待存储数据块的标识与缓存程序的标识之间的关联关系。其中,所述预设筛选算法包括近期最少使用算法;所述缓存程序根据预设筛选算法,从自身对应的缓存空间中筛选待存储数据块包括:所述缓存程序在检测到自身对应的缓存空间的空闲剩余空间小于阈值时,根据近期最少使用算法,从自身的缓存空间中筛选待存储数据块。其中,所述存储空间为机械硬盘,所述缓存空间为固态硬盘。其中,所述客户端程序还用于在接收到数据读取请求时,获取所述数据读取请求所请求的待读取数据所对应的待读取数据块,以及处理所述待读取数据块的存储程序,向所述获取到的存储程序发送所述数据块读取请求;所述获取到的存储程序在接收到所述数据块读取请求后,通过从所述缓存集合查找所述待读取数据块是否存在缓存,若存在缓存,则向所述对应的缓存程序发送数据块读取请求;接收到所述数据块读取请求的缓存程序从自身的缓存空间中读取所述待读取数据块,并返回所述待读取数据块;所述获取到的存储程序向客户端程序返回所述待读取数据块。其中,所述获取到的存储程序在从所述缓存集合找不到所述待读取数据块的缓存时,从自身的储空间中提取所述待读取数据块,并向所述客户端程序返回所述待读取数据块。为解决上述技术问题,本专利技术采用的另一个技术方案是:提供一种集群存储系统存取数据的方法,所述集群存储系统包括存储空间和缓存空间,所述集群存储系统还运行有存储程序、缓存程序和客户端程序,所述存储程序、缓存程序和客户端程序之间互连,其中,所述存储空间、缓存空间、存储程序和缓存程序的数量均为多个,并且一所述存储程序对应一存储空间,一所述缓存程序对应一缓存空间,所述缓存空间的读写性能优于存储空间的读写性能,方法包括:接收来自客户端程序发送的数据块,其中,所述数据块是由客户端程序在接收到上传的待存储数
据时,根据预设数据分割算法,将所述待存储数据分割成的数据块,所述数据块的标识与待存储数据的标识之间建立有对应关系;根据预设缓存算法选择缓存程序,并将所选定的缓存程序作为正本缓存程序,将所述自身的标识写入所述数据块对应的元数据,以及向所述正本缓存程序发送所述数据块,以使所述正本缓存程序用于将所述数据块缓存到自身对应的缓存空间,并将自身的标识与数据块的标识之间关联关系写入缓存集合;根据预设副本存储算法,选择N-1个所述缓存程序,并将所选定的缓存程序作为副本缓存程序,以及生成所述数据块的N-1份副本,向一所述副本缓存程序发送一份所述数据块的副本,以使接收到所述数据块的副本的副本缓存程序将所述数据块的副本缓存至自身对应的缓存空间,并将自身的标识与所述数据块的标识的关联关系写入缓存集合,其中,N为大于1的自然数。其中,所述存储空间为机械硬盘,所述缓存空间为固态硬盘。本专利技术的有益效果是:区别于现有技术的情况,本专利技术在接收到待存储数据时,将待存储数据分割成多个数据块,先将数据块生成N-1份副本,并分别将数据块的每一副本缓存在一缓存空间中,数据块本身也缓存在一缓存空间,由于缓存空间的读写性能优于存储空间,可以大大提高数据块的写入速度,数据块连同其副本一共缓存有N份,有效地提高集群存储系统的可靠性;另外,在存储处理
,最近存储的数据块最近被访问的可能性越高,通过缓存空间读取数据块,也大大提高了数据块的读取速度,优化了集群存储系统的读取性能;再次的,在数据块的使用率较低时,将数据块刷入存储空间,释放缓存空间,减少缓存空间的使用量,降低集群存储系统的成本。附图说明图1是本专利技术集群存储系统实施方式的示意图;图2是本专利技术一种集群存储系统存储数据的方法实施方式的流程图。具体实施方式请参阅图1,集群存储系统20本文档来自技高网
...

【技术保护点】
一种集群存储系统,其特征在于,包括存储空间和缓存空间,所述集群存储系统还运行有存储程序、缓存程序和客户端程序,所述存储程序、缓存程序和客户端程序之间互连,其中,所述存储空间、缓存空间、存储程序和缓存程序的数量均为多个,并且一所述存储程序对应一存储空间,一所述缓存程序对应一缓存空间,所述缓存空间的读写性能优于存储空间的读写性能;所述客户端程序用于在接收到待存储数据时,根据预设数据分割算法,将待存储数据分割成若干个数据块,并建立所述数据块的标识与待存储数据的标识之间的对应关系,以及根据预设第一存储算法,分别为每一所述数据块选择一存储程序,并向所选定的所述存储程序发送对应的数据块;所述所选定的存储程序用于根据预设缓存算法选择缓存程序,并将所选定的缓存程序作为正本缓存程序,向所述正本缓存程序发送接收到的数据块,以及将所述自身的标识写入所述数据块的元数据中;所述正本缓存程序用于将所述数据块和所述数据块的元数据缓存到自身对应的缓存空间,将所述数据块的标识和正本缓存程序的标识关联关系写入缓存集合,并根据预设副本存储算法,选择N‑1个所述缓存程序,并将所选定的所述缓存程序作为副本缓存程序,以及生成所述数据块的N‑1份副本,分别向一所述副本缓存程序发送一份所述数据块的副本,其中,N为大于1的自然数;接收到所述数据块的副本的副本缓存程序将所述数据块的副本缓存至自身对应的缓存空间,并将自身的标识与所述数据块的标识的关联关系写入缓存集合,以及向所述正本缓存程序发送副本缓存成功应答;所述正本缓存程序还用于在接收副本缓存成功应答后向所述所选定的存储程序发送数据缓存成功应答;所述所选定的存储程序还用于在接收到数据缓存成功应答时,向所述客户端程序发送数据存储成功应答。...

【技术特征摘要】
1.一种集群存储系统,其特征在于,包括存储空间和缓存空间,所述集群存储系统还运行有存储程序、缓存程序和客户端程序,所述存储程序、缓存程序和客户端程序之间互连,其中,所述存储空间、缓存空间、存储程序和缓存程序的数量均为多个,并且一所述存储程序对应一存储空间,一所述缓存程序对应一缓存空间,所述缓存空间的读写性能优于存储空间的读写性能;所述客户端程序用于在接收到待存储数据时,根据预设数据分割算法,将待存储数据分割成若干个数据块,并建立所述数据块的标识与待存储数据的标识之间的对应关系,以及根据预设第一存储算法,分别为每一所述数据块选择一存储程序,并向所选定的所述存储程序发送对应的数据块;所述所选定的存储程序用于根据预设缓存算法选择缓存程序,并将所选定的缓存程序作为正本缓存程序,向所述正本缓存程序发送接收到的数据块,以及将所述自身的标识写入所述数据块的元数据中;所述正本缓存程序用于将所述数据块和所述数据块的元数据缓存到自身对应的缓存空间,将所述数据块的标识和正本缓存程序的标识关联关系写入缓存集合,并根据预设副本存储算法,选择N-1个所述缓存程序,并将所选定的所述缓存程序作为副本缓存程序,以及生成所述数据块的N-1份副本,分别向一所述副本缓存程序发送一份所述数据块的副本,其中,N为大于1的自然数;接收到所述数据块的副本的副本缓存程序将所述数据块的副本缓存至自身对应的缓存空间,并将自身的标识与所述数据块的标识的关联关系写入缓存集合,以及向所述正本缓存程序发送副本缓存成功应答;所述正本缓存程序还用于在接收副本缓存成功应答后向所述所选定的存储程序发送数据缓存成功应答;所述所选定的存储程序还用于在接收到数据缓存成功应答时,向所述客户端程序发送数据存储成功应答。2.根据权利要求1所述的集群存储系统,其特征在于,所述缓存程序还用于根据预设筛选算法,从自身的缓存空间中筛选待存储数据块,并根据所述待存储数据块的元数据获取处理所述待存储数据块的存储程序,以及向所述获取到的存储程序发送所述待存储数据块;所述获取到的存储程序将所述待存储数据块存储至自身对应的存储空间,并返回数据刷入成功应答。3.根据权利要求2所述的集群存储系统,其特征在于,所述缓存程序用于在接收到所述数据刷入成功应答后,根据所述缓存集合获取处理所述待存储数据块的其它缓存程序,并从自身的缓存空间删除所述待存储数据块;向所述其它缓存程序发送删除副本请求,其中,所述删除副本请求携带所述待存储数据块的标识;所述其它缓存程序根据删除副本请求,从自身缓存空间删除所述待存储数据块,并在删除完成后向返回副本删除成功应答;所述缓存程序在接收到所述副本删除成功应答后,从所述缓存集合删除所述待存储数据块的标识与缓存程序的标识之间的关联关系。4.根据权利要求2所述的集群存储系统,其特征在于,所述预...

【专利技术属性】
技术研发人员:林沧
申请(专利权)人:深圳市瑞驰信息技术有限公司
类型:发明
国别省市:广东;44

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

1