一种集群存储系统存取数据的方法以及集群存储系统的制作方法

文档序号:10555649阅读:393来源:国知局
一种集群存储系统存取数据的方法以及集群存储系统的制作方法
【专利摘要】本发明公开了一种集群存储系统存储数据的方法以及集群存储系统,集群存储系统包括存储空间和缓存空间,集群存储系统还运行有存储程序、缓存程序和客户端程序,存储程序、缓存程序和客户端程序之间互连,并且一存储程序对应一存储空间,一缓存程序对应一缓存空间,在接收到待存储数据时,将待存储数据分割成多个数据块,并先将数据块生成N?1份副本,并分别将数据块的每一副本缓存在一缓存空间中,数据块本身也缓存在一缓存空间;在数据块的使用率较低时,再将数据块刷入存储空间,释放缓存空间,以减少缓存空间的使用量。通过上述方式,本发明能够既优化了集群存储系统的读写性能,又降低了集群存储系统的成本,又提高集群存储系统的可靠性。
【专利说明】
一种集群存储系统存取数据的方法以及集群存储系统
技术领域
[0001]本发明涉及云存储技术领域,特别是涉及一种集群存储系统存取数据的方法以及集群存储系统。
【背景技术】
[0002]集群存储系统是将多台存储设备中的存储空间聚合成一个能够给应用服务器提供统一访问接口和管理界面的存储池,应用可以通过访问接口透明地访问和利用所有存储设备上的磁盘的系统。集群存储系统可以充分发挥存储设备的性能和磁盘利用率,并且容易扩展其存储池的存储容量。
[0003]现有技术集群存储系统的存储空间大多使用机械硬盘。机械硬盘具有价格低、寿命长等优点,但是机械硬盘同样存在读写速度慢等缺点。集群存储系统的存储空间均采用机械硬盘,其读写速度很慢,尤其在同一时间存在大量并发性的存取请求时,机械硬盘自身的读写性能会直接影响到集群存储系统的整体读写性能。

【发明内容】

[0004]本发明主要解决的技术问题是提供一种集群存储系统存储数据的方法以及集群存储系统,既优化了集群存储系统的读写性能,降低了集群存储系统的成本。
[0005]为解决上述技术问题,本发明采用的一个技术方案是:提供一种集群存储系统,包括存储空间和缓存空间,所述集群存储系统还运行有存储程序、缓存程序和客户端程序,所述存储程序、缓存程序和客户端程序之间互连,其中,所述存储空间、缓存空间、存储程序和缓存程序的数量均为多个,并且一所述存储程序对应一存储空间,一所述缓存程序对应一缓存空间,所述缓存空间的读写性能优于存储空间的读写性能;所述客户端程序用于在接收到待存储数据时,根据预设数据分割算法,将待存储数据分割成若干个数据块,并建立所述数据块的标识与待存储数据的标识之间的对应关系,以及根据预设第一存储算法,分别选择各个所述数据块对应的存储程序,并向所选定的存储程序发送对应的数据块。所述所选定的存储程序用于根据预设缓存算法选择正本缓存程序,并将所选定的缓存程序作为正本缓存程序,向所述正本缓存程序发送接收到的数据块,以及将所述自身的标识写入所述数据块的元数据中;所述正本缓存程序用于将所述数据块和所述数据块的元数据缓存到自身对应的缓存空间,将所述数据块的标识和正本缓存程序的标识关联关系写入缓存集合,并根据预设副本存储算法,选择N-1个所述缓存程序,并将所选定的所述缓存程序作为副本缓存程序,以及生成所述数据块的N-1份副本,分别向一所述副本缓存程序发送一份所述数据块的副本,其中,N为大于I的自然数;
[0006]接收到所述数据块的副本的副本缓存程序将所述数据块的副本缓存至自身对应的缓存空间,并将自身的标识与所述数据块的标识的关联关系写入缓存集合,以及向所述正本缓存程序发送副本缓存成功应答;
[0007]所述正本缓存程序还用于在接收副本缓存成功应答后所述所选定的存储程序发送数据缓存成功应答;所述所选定的存储服务器还用于在接收到数据缓存成功应答时,向客户端程序发送数据存储成功应答。
[0008]其中,所述缓存程序还用于根据预设筛选算法,从自身的缓存空间中筛选待存储数据块,并根据所述待存储数据块的元数据获取处理所述待存储数据块的存储程序,以及向所述获取到的存储程序发送所述待存储数据块;所述获取到的存储程序将所述待存储数据块存储至自身对应的存储空间,并返回数据刷入成功应答。
[0009]其中,所述缓存程序用于在接收到所述数据刷入成功应答后,根据所述缓存集合获取处理所述待存储数据块的其它缓存程序,并从自身的缓存空间删除所述待存储数据块;向所述其它缓存程序发送删除副本请求,其中,所述删除副本请求携带所述待存储数据块的标识;所述其它缓存程序根据删除副本请求,从自身缓存空间删除所述待存储数据块,并在删除完成后向返回副本删除成功应答;所述缓存程序在接收到所述副本删除成功应答后,从所述缓存集合删除所述待存储数据块的标识与缓存程序的标识之间的关联关系。
[0010]其中,所述预设筛选算法包括近期最少使用算法;所述缓存程序根据预设筛选算法,从自身对应的缓存空间中筛选待存储数据块包括:所述缓存程序在检测到自身对应的缓存空间的空闲剩余空间小于阈值时,根据近期最少使用算法,从自身的缓存空间中筛选待存储数据块。
[0011]其中,所述存储空间为机械硬盘,所述缓存空间为固态硬盘。
[0012]其中,所述客户端程序还用于在接收到数据读取请求时,获取所述数据读取请求所请求的待读取数据所对应的待读取数据块,以及处理所述待读取数据块的存储程序,向所述获取到的存储程序发送所述数据块读取请求;所述获取到的存储程序在接收到所述数据块读取请求后,通过从所述缓存集合查找所述待读取数据块是否存在缓存,若存在缓存,则向所述对应的缓存程序发送数据块读取请求;接收到所述数据块读取请求的缓存程序从自身的缓存空间中读取所述待读取数据块,并返回所述待读取数据块;所述获取到的存储程序向客户端程序返回所述待读取数据块。
[0013]其中,所述获取到的存储程序在从所述缓存集合找不到所述待读取数据块的缓存时,从自身的储空间中提取所述待读取数据块,并向所述客户端程序返回所述待读取数据块。
[0014]为解决上述技术问题,本发明采用的另一个技术方案是:提供一种集群存储系统存取数据的方法,所述集群存储系统包括存储空间和缓存空间,所述集群存储系统还运行有存储程序、缓存程序和客户端程序,所述存储程序、缓存程序和客户端程序之间互连,其中,所述存储空间、缓存空间、存储程序和缓存程序的数量均为多个,并且一所述存储程序对应一存储空间,一所述缓存程序对应一缓存空间,所述缓存空间的读写性能优于存储空间的读写性能,方法包括:接收来自客户端程序发送的数据块,其中,所述数据块是由客户端程序在接收到上传的待存储数据时,根据预设数据分割算法,将所述待存储数据分割成的数据块,所述数据块的标识与待存储数据的标识之间建立有对应关系;根据预设缓存算法选择缓存程序,并将所选定的缓存程序作为正本缓存程序,将所述自身的标识写入所述数据块对应的元数据,以及向所述正本缓存程序发送所述数据块,以使所述正本缓存程序用于将所述数据块缓存到自身对应的缓存空间,并将自身的标识与数据块的标识之间关联关系写入缓存集合;
[0015]根据预设副本存储算法,选择N-1个所述缓存程序,并将所选定的缓存程序作为副本缓存程序,以及生成所述数据块的N-1份副本,向一所述副本缓存程序发送一份所述数据块的副本,以使接收到所述数据块的副本的副本缓存程序将所述数据块的副本缓存至自身对应的缓存空间,并将自身的标识与所述数据块的标识的关联关系写入缓存集合,其中,N为大于I的自然数。
[0016]其中,所述存储空间为机械硬盘,所述缓存空间为固态硬盘。
[0017]本发明的有益效果是:区别于现有技术的情况,本发明在接收到待存储数据时,将待存储数据分割成多个数据块,先将数据块生成N-1份副本,并分别将数据块的每一副本缓存在一缓存空间中,数据块本身也缓存在一缓存空间,由于缓存空间的读写性能优于存储空间,可以大大提高数据块的写入速度,数据块连同其副本一共缓存有N份,有效地提高集群存储系统的可靠性;另外,在存储处理技术领域,最近存储的数据块最近被访问的可能性越高,通过缓存空间读取数据块,也大大提高了数据块的读取速度,优化了集群存储系统的读取性能;再次的,在数据块的使用率较低时,将数据块刷入存储空间,释放缓存空间,减少缓存空间的使用量,降低集群存储系统的成本。
【附图说明】
[0018]图1是本发明集群存储系统实施方式的示意图;
[0019]图2是本发明一种集群存储系统存储数据的方法实施方式的流程图。
【具体实施方式】
[0020]请参阅图1,集群存储系统20包括存储空间21和缓存空间22,集群存储系统还运行有存储程序211、缓存程序221和客户端程序231,存储程序211、缓存程序221和客户端程序231之间互连,其中,存储空间21、缓存空间22、存储程序211和缓存程序221的数量均为多个,并且一存储程序211对应一存储空间21,一缓存程序221对应一缓存空间22,缓存空间22的读写性能优于存储空间21。值得说明的是:集群存储系统20是由多个存储节点2组合而成的,每一个存储节点2可挂载一个或者一个以上的存储空间21和/或存储空间21,而缓存程序221和存储程序211运行在存储节点2上,客户端程序231可以安装在客户端3,或者安装在某一个存储节点2上。
[0021]客户端程序231用于根据预设数据分割算法,将待存储数据分割成若干个数据块,并建立数据块的标识与待存储数据的标识之间的对应关系,以及根据预设第一存储算法,选择为每一个数据块选定一存储程序211,向所选定的存储程序211发送数据块。在数据块的标识与待存储数据的标识之间建立对应关系后,可以根据该对应关系将数据块组合出完整的待存储数据。预设数据分割算法和预设第一存储算法本发明不作具体的限定,可以根据实际情况进行设定,例如:预设数据分割算法是等量分割算法,预设第一存储算法是负载均衡算法等等。
[0022]接收到数据块的存储程序211用于根据预设缓存算法选择缓存程序221,并将所选定的缓存程序221作为正本缓存程序(未标示),向正本缓存程序发送数据块,以及将自身的标识写入数据块的元数据。在存储程序211的标识写入数据块的元数据中后,可以直接根据数据块的元数据找到存储该数据块的存储程序211。存储程序211的标识可以为预编编码,也可以为存储程序211的地址。正本缓存程序用于将数据块和数据块元数据缓存到自身对应的缓存空间22,将数据块的标识写入缓存集合,并根据预设副本存储算法,选择N-1个缓存程序,并将所选定的缓存程序作为副本缓存程序,以及生成数据块的N-1份副本,向一副本缓存程序发送一份数据块的副本。
[0023]接收到数据块的副本的副本缓存程序将数据块的副本缓存至自身对应的缓存空间,并将自身的标识与数据块的标识的关联关系写入缓存集合,其中,N为大于I的自然数。在副本缓存程序的标识与数据块的标识的关联关系写入缓存集合后,可以通过缓存集合找到缓存数据块的副本缓存程序以及正本缓存程序
[0024]副本缓存程序在缓存完成后,向正本缓存程序发送副本缓存成功应答,正本缓存程序接收副本缓存程序的副本缓存成功应答后,向所选定的存储程序211发送数据缓存成功应答。所选定的存储服务器还用于接收数据缓存成功应答,并向客户端程序231发送数据存储成功应答。客户端程序231在接收到数据存储成功应答后,获知当前待存储数据已经被存储完成了。
[0025]缓存空间22的处理性能优于存储空间21的处理性能,在存储数据时,先将数据存储于缓存空间22大大提高数据写入集群存储系统的写入速度,改善集群存储系统的写入性能。另外,在存储处理技术领域中,最近存储的数据,最近被访问的可能越高,将先新存储的数据分成数据块存储在缓存空间22,也有利于优化集群存储系统的处理性能。再者,本发明在缓存数据块时,直接缓存数据块本身以及数据块的N-1个副本,大大提高集群存储系统的可靠性。在本实施方式中,优选的,存储空间21为机械硬盘,缓存空间22为固态硬盘,固态硬盘的读写速度优于机械硬盘,但是其价格也贵于机械硬盘。
[0026]由于每一个缓存空间22的大小是有限的,为了避免缓存空间22不足,缓存程序221还可以将缓存空间22内的数据块刷入存储空间21,具体的,缓存程序221还用于根据预设筛选算法,从自身的缓存空间22中筛选待存储数据块,并根据待存储数据块的元数据获取和处理待存储数据块的存储程序211,以及向获取到的存储程序211发送待存储数据块。由于待存储数据块的元数据中记录有与待存储数据的标识相关联的存储程序211的标识,因此,可以根据待存储数据块的元数据获取处理待存储数据块的存储程序211。获取到的存储程序211将待存储数据块存储至自身对应的存储空间21,并返回数据刷入成功应答。
[0027]在待存储数据块从缓存空间22刷入存储空间21后,将该待存储数据块从所有的缓存空间22删除,则缓存程序221用于在接收到数据刷入成功应答后,根据缓存集合获取处理待存储数据块的其它缓存程序221,并从自身的缓存空间22上删除待存储数据块。向其它缓存程序221发送删除副本请求,其中,删除副本请求携带待存储数据块的标识。所述其它缓存程序221根据删除副本请求,删除从其自身缓存空间22删除待存储数据块,并在删除完成后向返回副本删除成功应答。缓存程序221在接收到副本删除成功应答后,从缓存集合删除待存储数据块的标识与缓存程序2 21的标识之间的关联关系。
[0028]进一步的,预设筛选算法包括近期最少使用算法。将近期最少使用的数据块刷入存储空间21,有利于优化集群存储系统的缓存空间22和存储空间21存储配置,优化集群存储系统的处理性能。缓存程序221根据预设筛选算法,从自身对应的缓存空间22中筛选待存储数据块包括:缓存程序221在检测到自身对应的缓存空间22的空闲剩余空间小于阈值时,根据近期最少使用算法,从自身的缓存空间22中筛选待存储数据块。
[0029]另外,正本缓存程序与副本缓存程序之间还可以保持连接,当某一个副本缓存程序出现故障时,立马将数据块刷入存储空间21,具体的,正本缓存程序与副本缓存程序相互之间有心跳检测,当发现某个副本缓存程序检测不到心跳时,正本缓存程序根据数据块的元数据中记载的存储程序211的标识向存储程序211发送数据刷入请求并将数据块发送给对应的存储程序211。存储程序211接收到数据刷入请求和数据块后将数据块写入自身的存储空宰,并在写入成功后向发送数据刷入请求的正本缓存程序发送数据刷入成功应答,正本缓存程序在接收到数据刷入成功应答后向存储该数据块其它副本缓存程序发送副本删除请求,其它副本缓存程序在收到副本删除请求后从自身的缓存空间22删除该数据块,在删除成功后返回副本删除成功应答,正本缓存程序收到副本删除成功应答后在数据块的元数据中标注该数据块已刷入存储空间21并且已删除缓存空间22中的副本。如果检测不到心跳的是正本缓存程序,则将存放第一副本的副本缓存程序上升为正本缓存程序并执行正本缓存程序在这种状态下应采取的动作。同时,通知存储程序211的拓扑结构已经改变,以保证存储程序211在读取数据块时能够找到存放正本缓存程序。
[0030]在客户端程序231在读取数据时,优先从缓存空间22读取提高读取速度,具体的,客户端程序231还用于在接收到数据读取请求时,获取数据读取请求所请求的待读取数据所对应的待读取数据块,以及处理待读取数据块的存储程序211,向获取到的存储程序211发送据块读取请求。
[0031]获取到的存储程序211在接收到数据块读取请求后,通过从缓存集合查找待读取数据块是否存在缓存,若存在缓存,则向对应的缓存程序221发送数据块读取请求。接收到数据块读取请求的缓存程序221从自身的缓存空间22中读取待读取数据块,并返回待读取数据块;获取到的存储程序211向客户端程序231返回待读取数据块。
[0032]获取到的存储程序211在从缓存集合找到待读取数据块不存在缓存时,从自身的储空间中提取待读取数据块,并向客户端程序231231返回待读取数据块。客户端程序231可以将读取到的待读取数据块组合成完全整的数据。
[0033]本发明的有益效果是:区别于现有技术的情况,本发明在接收到待存储数据时,将待存储数据分割成多个数据块,先将数据块生成N-1份副本,并分别将数据块的每一副本缓存在一缓存空间中,数据块本身也缓存在一缓存空间,由于缓存空间的读写性能优于存储空间,可以大大提高数据块的写入速度,数据块连同其副本一共缓存有N份,有效地提高集群存储系统的可靠性;另外,在存储处理技术领域,最近存储的数据块最近被访问的可能性越高,通过缓存空间读取数据块,也大大提高了数据块的读取速度,优化了集群存储系统的读取性能;再次的,在数据块的使用率较低时,将数据块刷入存储空间,释放缓存空间,减少缓存空间的使用量,降低集群存储系统的成本本发明又提供集群存储系统存取数据的方法实施方式。集群存储系统包括存储空间和缓存空间,集群存储系统还运行有存储程序、缓存程序和客户端程序,所述存储程序、缓存程序和客户端程序之间互连,其中,存储空间、缓存空间、存储程序和缓存程序的数量均为多个,并且一存储程序对应一存储空间,一缓存程序对应一缓存空间,缓存空间的读写性能优于存储空间。值得说明的是:集群存储系统是由多个存储节点组合而成的,每一个存储节点可挂载一个或者一个以上的存储空间和/或存储空间,而缓存程序和存储程序运行在存储节点上,但是当某一存储节点只有存储空间或缓存空间,则该存储节点只运行有缓存程序或存储程序,请参阅图2,方法包括:
[0034]步骤S301:接收来自客户端程序发送的数据块,其中,数据块是由客户端程序在接收到上传的待存储数据时,根据预设数据分割算法,将待存储数据分割而成的数据块,数据块的标识与待存储数据的标识之间建立有对应关系;
[0035]客户端程序在待存储数据分割成数据块后,还根根据预设第一存储算法,选择存储数据块的存储程序,向所选定的存储程序发送数据块。另外,所分割的数据块可以组合成待存储数据。
[0036]步骤S302:根据预设缓存算法选择缓存程序,并将所选定的缓存程序作为正本缓存程序,将自身的标识写入数据块对应的元数据以及向正本缓存程序发送数据块,以使正本缓存程序用于将数据块缓存到自身对应的缓存空间,并将自身的标识与数据块的标识之间关联关系写入缓存集合。
[0037]缓存空间的读写性能优于存储空间的读写性能,通过缓存空间缓存数据块,大大提高集群存储系统的读写性能。在数据块的使用率较低时,再将数据块刷入存储空间,通过存储空间和缓存空间配合使用,比单纯只具有存储空间存储数据块的集群存储系统,本发明的存储系统的读写性能更好,比单纯只具有缓存空间的集群存储系统,本发明的存储系统价格更便宜。在本实施方式中,优选的,存储空间为机械硬盘,缓存空间为固态硬盘。
[0038]步骤S303:根据预设副本存储算法,选择N-1个缓存程序,并将所选定的缓存程序作为副本缓存程序,以及生成数据块的N-1份副本,向一副本缓存程序发送一份所述数据块的副本,以使接收到数据块的副本的副本缓存程序将数据块的副本缓存至自身对应的缓存空间,并将自身的标识与所述数据块的标识的关联关系写入缓存集合,其中,N为大于I的自然数;
[0039]除了缓存数据块本身之外,还缓存N-1个数据块的副本,并且每一数据块副本以及数据块本射位于不同缓存空间内,即N-1份副本损坏,还存在至少一份数据块,大大提高了数据块的可靠性。
[0040]对于集群存储系统的其它操作过程,例如:多副本存储、将数据块从缓存空间刷入存储空间、数据读取等等,可参阅集群存储系统实施方式中,此处不再一一赘述。
[0041]本发明的有益效果是:区别于现有技术的情况,本发明在接收到待存储数据时,将待存储数据分割成多个数据块,先将数据块生成N-1份副本,并分别将数据块的每一副本缓存在一缓存空间中,数据块本身也缓存在一缓存空间,由于缓存空间的读写性能优于存储空间,可以大大提高数据块的写入速度,数据块连同其副本一共缓存有N份,有效地提高集群存储系统的可靠性;另外,在存储处理技术领域,最近存储的数据块最近被访问的可能性越高,通过缓存空间读取数据块,也大大提高了数据块的读取速度,优化了集群存储系统的读取性能;再次的,在数据块的使用率较低时,将数据块刷入存储空间,释放缓存空间,减少缓存空间的使用量,降低集群存储系统的成本。
[0042]以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种集群存储系统,其特征在于,包括存储空间和缓存空间,所述集群存储系统还运行有存储程序、缓存程序和客户端程序,所述存储程序、缓存程序和客户端程序之间互连,其中,所述存储空间、缓存空间、存储程序和缓存程序的数量均为多个,并且一所述存储程序对应一存储空间,一所述缓存程序对应一缓存空间,所述缓存空间的读写性能优于存储空间的读写性能; 所述客户端程序用于在接收到待存储数据时,根据预设数据分割算法,将待存储数据分割成若干个数据块,并建立所述数据块的标识与待存储数据的标识之间的对应关系,以及根据预设第一存储算法,分别为每一所述数据块选择一存储程序,并向所选定的所述存储程序发送对应的数据块; 所述所选定的存储程序用于根据预设缓存算法选择缓存程序,并将所选定的缓存程序作为正本缓存程序,向所述正本缓存程序发送接收到的数据块,以及将所述自身的标识写入所述数据块的元数据中; 所述正本缓存程序用于将所述数据块和所述数据块的元数据缓存到自身对应的缓存空间,将所述数据块的标识和正本缓存程序的标识关联关系写入缓存集合,并根据预设副本存储算法,选择N-1个所述缓存程序,并将所选定的所述缓存程序作为副本缓存程序,以及生成所述数据块的N-1份副本,分别向一所述副本缓存程序发送一份所述数据块的副本,其中,N为大于I的自然数; 接收到所述数据块的副本的副本缓存程序将所述数据块的副本缓存至自身对应的缓存空间,并将自身的标识与所述数据块的标识的关联关系写入缓存集合,以及向所述正本缓存程序发送副本缓存成功应答;所述正本缓存程序还用于在接收副本缓存成功应答后向所述所选定的存储程序发送数据缓存成功应答; 所述所选定的存储程序还用于在接收到数据缓存成功应答时,向所述客户端程序发送数据存储成功应答。2.根据权利要求1所述的集群存储系统,其特征在于, 所述缓存程序还用于根据预设筛选算法,从自身的缓存空间中筛选待存储数据块,并根据所述待存储数据块的元数据获取处理所述待存储数据块的存储程序,以及向所述获取到的存储程序发送所述待存储数据块; 所述获取到的存储程序将所述待存储数据块存储至自身对应的存储空间,并返回数据刷入成功应答。3.根据权利要求2所述的集群存储系统,其特征在于, 所述缓存程序用于在接收到所述数据刷入成功应答后,根据所述缓存集合获取处理所述待存储数据块的其它缓存程序,并从自身的缓存空间删除所述待存储数据块; 向所述其它缓存程序发送删除副本请求,其中,所述删除副本请求携带所述待存储数据块的标识; 所述其它缓存程序根据删除副本请求,从自身缓存空间删除所述待存储数据块,并在删除完成后向返回副本删除成功应答; 所述缓存程序在接收到所述副本删除成功应答后,从所述缓存集合删除所述待存储数据块的标识与缓存程序的标识之间的关联关系。4.根据权利要求2所述的集群存储系统,其特征在于, 所述预设筛选算法包括近期最少使用算法; 所述缓存程序根据预设筛选算法,从自身对应的缓存空间中筛选待存储数据块包括: 所述缓存程序在检测到自身对应的缓存空间的空闲剩余空间小于阈值时,根据近期最少使用算法,从自身的缓存空间中筛选待存储数据块。5.根据权利要求2所述的集群存储系统,其特征在于, 所述存储空间为机械硬盘,所述缓存空间为固态硬盘。6.根据权利要求1所述的集群存储系统,其特征在于, 所述客户端程序还用于在接收到数据读取请求时,获取所述数据读取请求所请求的待读取数据所对应的待读取数据块,以及处理所述待读取数据块的存储程序,向所述获取到的存储程序发送所述数据块读取请求; 所述获取到的存储程序在接收到所述数据块读取请求后,通过从所述缓存集合查找所述待读取数据块是否存在缓存,若存在缓存,则向所述对应的缓存程序发送数据块读取请求; 接收到所述数据块读取请求的缓存程序从自身的缓存空间中读取所述待读取数据块,并返回所述待读取数据块; 所述获取到的存储程序向客户端程序返回所述待读取数据块。7.根据权利要求6所述的集群存储系统,其特征在于, 所述获取到的存储程序在从所述缓存集合找不到所述待读取数据块的缓存时,从自身的储空间中提取所述待读取数据块,并向所述客户端程序返回所述待读取数据块。8.—种集群存储系统存取数据的方法,其特征在于,所述集群存储系统包括存储空间和缓存空间,所述集群存储系统还运行有存储程序、缓存程序和客户端程序,所述存储程序、缓存程序和客户端程序之间互连,其中,所述存储空间、缓存空间、存储程序和缓存程序的数量均为多个,并且一所述存储程序对应一存储空间,一所述缓存程序对应一缓存空间,所述缓存空间的读写性能优于存储空间的读写性能,方法包括: 接收来自客户端程序发送的数据块,其中,所述数据块是由客户端程序在接收到上传的待存储数据时,根据预设数据分割算法,将所述待存储数据分割成的数据块,所述数据块的标识与待存储数据的标识之间建立有对应关系; 根据预设缓存算法选择缓存程序,并将所选定的缓存程序作为正本缓存程序,将所述自身的标识写入所述数据块对应的元数据,以及向所述正本缓存程序发送所述数据块,以使所述正本缓存程序用于将所述数据块缓存到自身对应的缓存空间,并将自身的标识与数据块的标识之间关联关系写入缓存集合; 根据预设副本存储算法,选择N-1个所述缓存程序,并将所选定的缓存程序作为副本缓存程序,以及生成所述数据块的N-1份副本,向一所述副本缓存程序发送一份所述数据块的副本,以使接收到所述数据块的副本的副本缓存程序将所述数据块的副本缓存至自身对应的缓存空间,并将自身的标识与所述数据块的标识的关联关系写入缓存集合,其中,N为大于I的自然数。9.根据权利要求8所述的方法,其特征在于, 所述存储空间为机械硬盘,所述缓存空间为固态硬盘。
【文档编号】H04L29/08GK105915595SQ201610223289
【公开日】2016年8月31日
【申请日】2016年4月11日
【发明人】林沧
【申请人】深圳市瑞驰信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1