Nas集群系统的文件数据的处理方法及nas集群系统的制作方法

文档序号:7986486阅读:210来源:国知局
Nas集群系统的文件数据的处理方法及nas集群系统的制作方法
【专利摘要】本发明公开了一种NAS集群系统的文件数据的处理方法及NAS集群系统,其中方法包括:在客户机需要执行创建文件之前,利用HASH算法确定对应的存储设备;分析客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中存储设备,将文件创建在相应的存储设备上。通过使用这种存储设备的选取策略,因尽量使用本地存储的方式,避免了读写时网络资源的占用,同时更便于文件的查找。本发明提供的NAS集群系统的文件数据的处理方法及NAS集群系统,减少了通过网络传输的数据流量,减轻了网络负载,提高了NAS集群系统I/O处理效率。
【专利说明】 NAS集群系统的文件数据的处理方法及NAS集群系统
【技术领域】
[0001]本发明涉及数据存储【技术领域】,特别是涉及一种NAS集群系统的文件数据的处理方法及NAS集群系统。
【背景技术】
[0002]随着企业数据急剧膨胀,海量存储也愈加严峻,对于各类行业的用户而言,爆炸性增长的海量数据正如潮水般地冲击着用户的存储系统。面对不断增长的数据,传统的存储架构由于扩展性较差,当用户容量及性能需求增加时,只能一味地添加高端存储设备。长此以往,存储环境就会变得日益复杂,管理和运营成本更高,并造成了过高的能源消耗。
[0003]现在,云存储作为一种新兴的技术理念,正在改变着传统存储的提供与使用方式,也对存储行业带来了深远影响。从目前的一些统计与预测分析数据来看,云存储市场与应用发展非常迅速,有一部分企业或个人已经认可这种模式,但更多人的用户仍持怀疑和观望态度。经过一些调研分析,我们认为如下两个主要原因将影响云存储普及应用。
[0004]第一,云存储以互联网为基础提供存储服务,私有云存储可以基于LAN,公有云则需要通过广域网WAN来承载。由于带宽的限制以及网络复杂性,造成较大的数据访问延迟,尤其是对WAN来说,数据访问性能和实时性是个巨大的瓶颈。LAN目前的网络带宽可以达到IGbps和lOGpbs,WAN要差很多,诸如ADSL的宽带网络带宽通常为512K/lM/2Mbps。移动互联网带宽则更差一些,3G网络还没有大规模普及,GPRS用户仍然众多。中国目前大概有3.8亿网民,主要集中在城市,网络情况稍好。近年来,中国农村计算机和网络市场发展较快,然而与农村巨大的潜在市场相对,有线和无线通信网络带宽都非常有限。网络带宽问题如果不能解决,则性能将是云存储的关键瓶颈。这样的话,对性能和实时性要求高的应用则无法使用云存储,TB/PB级以上的海量数据存储更是可望而不可及。用户需要存储数据时,数据却无法及时进行存储,云存储也就失去了意义。
[0005]第二,数据的查找速度也是用户最为关心的,尤其是数据量巨大时。当云存储规模逐渐增大,文件数量不断攀升,要在数以亿记的文件中找到所需要的那一个是相当耗费时间的。因此,如果数据快速查找问题得不到有效解决,它也将成为云存储的绊脚石。
[0006]因此对于现有技术,如何在集群文件系统中进行文件数据读写时,减少网络传输的数据流量,提高NAS集群系统文件数据I/O处理效率并提供文件的快速查找是个亟待解决的问题。

【发明内容】

[0007]本发明提供了一种NAS集群系统的文件数据的处理方法及NAS集群系统,最大程度避免了网络传输的方式,减轻了网络传输的负载压力并实现高效的I/O处理。
[0008]基于上述问题,本发明提供的一种NAS集群系统,包括多个客户机,每个客户机上通过接口连接有对应的多个NAS网络存储器并构成了 NAS主机,NAS主机用于对NAS集群系统中每个客户机的文件数据存储和查找操作;[0009]所述NAS主机包括检测模块、HASH定位模块、存储处理模块和链接定位模块,其中:
[0010]所述检测模块,用于实时检测NAS集群系统中的每个客户机对应的多个存储设备的存储信息并保存为本地存储设备列表及集群存储设备列表;
[0011 ] 所述HASH定位模块,用于在客户机执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备;
[0012]所述存储处理模块,用于分析所述客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为所述客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中的存储设备,将所述文件创建在相应的存储设备上;
[0013]所述链接定位模块,用于在每个创建文件结束后,判断所述文件最终的存储设备是否为文件HASH值对应的存储设备;若否,则在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
[0014]较佳地,作为一种可实施方式,所述存储处理模块包括判断子模块,其中:
[0015]所述判断子模块,用于检查所述客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求,若判断结果为是,则确定在所述本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件;
[0016]若判断结果为否,则查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断所述文件HASH值对应的存储设备是否满足存储所述文件的存储空间需求,若是,则在所述文件HASH值对应的存储设备上创建文件;若否,则在NAS集群系统的包含所有客户机存储设备的集群存储设备列表中查找剩余存储空间最大的存储设备,并在所述集群存储设备列表中的剩余存储空间最大的存储设备满足存储所述文件的存储空间需求条件下,在所述剩余存储空间最大的存储设备上创建文件。
[0017]较佳地,作为一种可实施方式,所述存储信息包括存储设备编号、存储设备的剩余存储空间;
[0018]所述本地存储设备列表记录包括连接在客户机的多个本地存储设备及存储设备编号数据;
[0019]所述集群存储设备列表记录包括NAS集群系统中对每一个存储设备及存储设备编号数据。
[0020]较佳地,作为一种可实施方式,所述HASH定位模块包括运算子模块;
[0021]所述运算子模块,用于通过HASH函数对文件的文件名进行HASH运算后得到HASH结果值;通过I=(A mod N)进行取模运算,计算得到小于存储设备数的值I,值I对应于集群存储设备列表中编号为I的存储设备;
[0022]其中:A为HASH结果值;
[0023]N为集群存储设备列表中存储设备总数值。
[0024]较佳地,作为一种可实施方式,所述链接定位模块包括链接子模块,其中:
[0025]所述链接子模块,用于在HASH定位算法所对应的编号为I的存储设备上创建指向创建所述文件的链接。[0026]较佳地,作为一种可实施方式,所述NAS主机还包括查找处理模块,其中:
[0027]所述查找处理模块,用于在执行文件查找操作时,查找文件HASH值对应的存储设备;若所述文件不在文件HASH值对应的存储设备上,则通过在文件HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件。
[0028]相应地,本发明还提供了一种NAS集群系统的文件数据的处理方法,包括以下步骤:
[0029]实时检测NAS集群系统中的每个客户机对应的多个存储设备的存储信息并保存为本地存储设备列表及集群存储设备列表;
[0030]在客户机执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备;
[0031]分析所述客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为所述客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中的存储设备,将所述文件创建在相应的存储设备上;
[0032]在每个创建文件结束后,判断所述文件最终的存储设备是否为文件HASH值对应的存储设备;若否,则在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
[0033]较佳地,作为一种可实施方式,所述利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备包括如下步骤:
[0034]通过HASH函数对文件的文件名进行HASH运算后得到一个HASH结果值,计为A ;
[0035]通过I=(A mod N)进行取模运算,计算得到小于存储设备数的值I,值I对应于集群存储设备列表中编号为I的存储设备;
[0036]其中,N为集群存储设备列表中存储设备总数值。
[0037]较佳地,作为一种可实施方式,所述在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序,将所述文件创建在相应的存储设备上,包括如下步骤:
[0038]检查所述客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求,若判断结果为是,则确定在所述本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件;
[0039]若判断结果为否,则查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断所述文件HASH值对应的存储设备是否满足存储所述文件的存储空间需求,若是,则在所述文件HASH值对应的存储设备上创建文件;若否,则在NAS集群系统的包含所有客户机存储设备的集群存储设备列表中查找剩余存储空间最大的存储设备,并在所述集群存储设备列表中的剩余存储空间最大的存储设备满足存储所述文件的存储空间需求条件下,在所述剩余存储空间最大的存储设备上创建文件。
[0040]较佳地,作为一种可实施方式,所述在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接,包括如下步骤:
[0041]在HASH定位算法所对应的编号为I的存储设备上创建指向创建所述文件的链接。
[0042]较佳地,作为一种可实施方式,所述处理方法还包括执行查找所述文件的步骤:
[0043]在执行文件查找操作时,查找文件HASH值对应的存储设备,若所述文件不在文件HASH值对应的存储设备上,则通过在文件HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件。
[0044]本发明的有益效果包括:
[0045]本发明提供的NAS集群系统的文件数据的处理方法及NAS集群系统,由于在存储时尽量避免文件数据I/o通过网络传输,其存储和读取速率将大大提高,同时减少了网络负载。同时则在HASH定位算法查找对应的存储设备上创建指向该文件的链接,为集群中其他NAS访问该文件提供了高效的查找方法。这样,将有利于提高NAS集群系统I/O处理效率。
【专利附图】

【附图说明】
[0046]图1为本发明NAS集群系统的一个实施例的系统结构示意图;
[0047]图2为图1中本发明NAS集群系统的实施例的NAS主机的结构示意图;
[0048]图3为本发明NAS集群系统的文件数据的处理方法的一个实施例的流程示意图;
[0049]图4为本发明NAS集群系统的文件数据的处理方法的另一个实施例的文件存储流程不意图;
[0050]图5为图4中本发明NAS集群系统的文件数据的处理方法的实施例的文件查找流程不意图。
【具体实施方式】
[0051]下面结合说明书附图,对本发明实施例中的NAS集群系统的文件数据的处理方法及NAS集群系统的【具体实施方式】进行说明。
[0052]本发明实施例提供的NAS (Network Attached Storage,网络存储)集群系统I,如图1所示,包括多个客户机20,每个客户机20上通过接口连接有多个NAS网络存储器21并构成了 NAS主机2,NAS主机2用于对NAS集群系统I中每个客户机的文件数据存储和查找操作,所述NAS主机2包括检测模块22、HASH定位模块23、存储处理模块24和链接定位模块25,如图2所示,其中:
[0053]所述检测模块22,用于实时检测NAS集群系统中的每个客户机对应的多个存储设备的存储信息并保存为本地存储设备列表及集群存储设备列表;
[0054]所述HASH定位模块23,用于在客户机执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备;
[0055]所述存储处理模块24,用于分析所述客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为所述客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中的存储设备,将所述文件创建在相应的存储设备上;
[0056]所述链接定位模块25,用于在每个创建文件结束后,判断所述文件最终的存储设备是否为文件HASH值对应的存储设备;若否,则在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
[0057]较佳地,作为一种可实施方式,所述存储处理模块24包括判断子模块,其中:[0058]所述判断子模块,用于检查所述客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求,若判断结果为是,则确定在所述本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件;
[0059]若判断结果为否,则查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断所述文件HASH值对应的存储设备是否满足存储所述文件的存储空间需求,若是,则在所述文件HASH值对应的存储设备上创建文件;若否,则在NAS集群系统的包含所有客户机存储设备的集群存储设备列表中查找剩余存储空间最大的存储设备,并在所述集群存储设备列表中的剩余存储空间最大的存储设备满足存储所述文件的存储空间需求条件下,在所述剩余存储空间最大的存储设备上创建文件。
[0060]较佳地,作为一种可实施方式,所述存储信息包括存储设备编号、存储设备的剩余存储空间;
[0061]所述本地存储设备列表记录包括连接在客户机的多个本地存储设备及存储设备编号数据;
[0062]所述集群存储设备列表记录包括NAS集群系统中对每一个存储设备及存储设备编号数据。
[0063]较佳地,作为一种可实施方式,所述HASH定位模块23包括运算子模块;
[0064]所述运算子模块,用于通过HASH函数对文件的文件名进行HASH运算后得到HASH结果值;通过I=(A mod N)进行取模运算,计算得到小于存储设备数的值I,值I对应于集群存储设备列表中编号为I的存储设备;
[0065]其中:A为HASH结果值;
[0066]N为集群存储设备列表中存储设备总数值。
[0067]较佳地,作为一种可实施方式,所述链接定位模块25包括链接子模块,其中:
[0068]所述链接子模块,用于在HASH定位算法所对应的编号为I的存储设备上创建指向创建所述文件的链接。
[0069]在本发明实施例中,利用HASH定位算法可以快速在第I台存储设备上找到该文件的链接,进而定位该文件。(如SHA或MD5等,每个文件都可以md5-hash的算法设置,这使得该文件独一无二,并且在整个网络上都可以追踪得到。)
[0070]较佳地,作为一种可实施方式,所述NAS主机2还包括查找处理模块26,其中:
[0071]所述查找处理模块26,用于在执行文件查找操作时,首先查找文件HASH值对应的存储设备;若所述文件不在文件HASH值对应的存储设备上,则通过在文件HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件。
[0072]在本发明实施例中,MD5-Hash_文件通过Hash函数计算得到。不管文件长度如何,它的Hash函数计算结果是一个固定长度的数字。与加密算法不同,这一个Hash算法是一个不可逆的单向函数。采用安全性高的Hash算法,如MD5、SHA时,两个不同的文件几乎不可能得到相同的Hash结果。文件Hash值是固定的,也是唯一的,在本发明实施例正是利用这一点,通过文件的Hash值来查找文件的。
[0073]本领域技术人员应该可以理解,本发明实施例所提供的NAS集群系统的实质是将一台存储设备同时用作NAS主机,通过该NAS主机创建文件时将优先在本地创建,减少了流经网络的数据量,由于本地数据I/O效率大大高于网络,因此既减轻了网络负载又提高了数据输入/输出(Input/Output, I/O)的速率。通过在记录每个NAS主机各自对应的本地存储设备,将数据优先存放到NAS主机本地存储设备上,当一个NAS主机对应多个本地存储设备时根据设定的策略选取其中最符合要求的,当所有本地设备都不符合策略要求时,再通过设定的策略选取符合要求的远程存储设备。通过使用这种存储设备的选取策略,减少了通过网络传输的数据流量,减轻了网络负载,并能提高集群I/O性能10%以上。
[0074]基于同一发明构思,本发明实施例还提供了一种NAS集群系统的文件数据的处理方法,由于此方法解决问题的原理通过前述一种NAS集群系统实现,因此该方法的实施可以参见前述系统功能的实施,重复之处不再赘述。
[0075]本发明实施例提供的一种NAS集群系统的文件数据的处理方法,如图3所示,包括以下步骤:
[0076]步骤S100、实时检测NAS集群系统中的每个客户机对应的多个存储设备的存储信息并保存为本地存储设备列表及集群存储设备列表;
[0077]步骤S200、在客户机执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备;
[0078]步骤S300、分析所述客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为所述客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中的存储设备,将所述文件创建在相应的存储设备上;
[0079]步骤S400、在每个创建文件结束后,判断所述文件最终的存储设备是否为文件HASH值对应的存储设备;若否,则在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
[0080]较佳地,作为一种可实施方式,所述利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备包括如下步骤:
[0081]通过HASH函数对文件的文件名进行HASH运算后得到一个HASH结果值,计为A ;
[0082]通过I=(A mod N)进行取模运算,计算得到小于存储设备数的值I,值I对应于集群存储设备列表中编号为I的存储设备;
[0083]其中,N为集群存储设备列表中存储设备总数值。
[0084]较佳地,作为一种可实施方式,在所述步骤S300中,所述在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序,将所述文件创建在相应的存储设备上,包括如下步骤:
[0085]检查所述客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求,若判断结果为是,则确定在所述本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件;
[0086]若判断结果为否,则查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断所述文件HASH值对应的存储设备是否满足存储所述文件的存储空间需求,若是,则在所述文件HASH值对应的存储设备上创建文件;若否,则在NAS集群系统的包含所有客户机存储设备的集群存储设备列表中查找剩余存储空间最大的存储设备,并在所述集群存储设备列表中的剩余存储空间最大的存储设备满足存储所述文件的存储空间需求条件下,在所述剩余存储空间最大的存储设备上创建文件。[0087]较佳地,作为一种可实施方式,所述在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接,包括如下步骤:
[0088]在HASH定位算法所对应的编号为I的存储设备上创建指向创建所述文件的链接。
[0089]较佳地,作为一种可实施方式,所述处理方法还包括执行查找所述文件的步骤:
[0090]步骤S500、在执行文件查找操作时,首先查找文件HASH值对应的存储设备,若所述文件不在文件HASH值对应的存储设备上,则通过在文件HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件。
[0091]为了更好地说明本发明实施例提供的NAS集群系统的文件数据的处理方法,举例加以说明。
[0092]在本发明实施例中,NAS集群系统的文件数据的处理方法主要包括存储处理和查找处理步骤,其中所述存储处理步骤,如图4所示,:
[0093]数据的本地优先存储方法分如下步骤进行:
[0094]步骤SI 1、在集群文件系统初始化时,每个NAS主机记录下各自对应的本地存储设备到本地存储设备列表及集群存储设备列表中;在客户机需要执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备;
[0095]步骤S12、当用户通过当前NAS主机执行create或mknod时,所述NAS主机首先检查客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求。若是,则执行步骤S13,若否,则跳转执行步骤S14 ;
[0096]步骤S13、确定在本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件;
[0097]步骤S14、查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断HASH值对应的存储设备是否满足存储所述文件的存储空间需求;如果满足,则执行步骤S15 ;如果不满足,则跳转执行步骤S16 ;
[0098]步骤S15、选取HASH值对应的存储设备,创建文件;
[0099]步骤S16、判断查询集群存储设备列表中所有存储设备是否满足存储所述文件的存储空间需求,若有,则执行步骤S17 ;若无,则跳转执行步骤S18 ;
[0100]步骤S17 ;选取其中剩余容量最大的存储设备,创建文件;
[0101]步骤S18、确定操作失败;
[0102]步骤S19、在每个创建文件结束后,判断所述文件最终的存储设备是否为HASH值对应的存储设备,若是,则执行步骤S20 ;确定操作成功;若否,则跳转执行步骤S21 ;在HASH值对应的存储设备上创建指向所述文件真实存储位置的链接;
[0103]步骤S20 ;确定操作成功;
[0104]步骤S21 ;在HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
[0105]如图4所示,执行create或mknod时分成如下三种情况:
[0106]情况一、找到至少一个本地设备满足要求,则直接在该本地设备上执行create或mknod操作,选取其中剩余容量最大的执行create或mknod操作,并在文件HASH定位算法所对应的存储设备上创建指向该文件的链接;
[0107]情况二、所有本地设备都不满足要求,则查找文件HASH值对应的集群存储设备列表中的存储设备;并在文件HASH定位算法所对应的存储设备上创建指向该文件的链接;
[0108]情况三、如果文件HASH值对应的集群存储设备列表中的存储设备也不能满足文件数据存储要求,则查询集群中所有存储设备,选取容量最大的执行create或mknod操作,如果不存在满足要求的存储设备,则返回操作失败。
[0109]如图5所示,(图5所示意查找步骤在即图4示意的存储步骤之后执行)文件查找过程,按如下步骤实现:
[0110]步骤S22、在执行文件查找操作时,首先判断查找文件在不在HASH值对应的存储设备上存储,若是,则执行步骤S23 ;若否,则跳转执行步骤S24 ;
[0111]步骤S23、确定查找成功;
[0112]步骤S24、通过在HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件,并判断文件是否在链接指向的存储位置;若判断结果为是,则返回执行步骤S23 ;若判断结果为否,则执行步骤S25 ;
[0113]步骤S25、确定查找失败。
[0114]其中,需要说明的是:HASH定位算法,即通过特定的HASH函数对文件名进行HASH后得到一个HASH结果值,计为A,集群中存储设备总数值为N,通过简单的计算I=(A modN)得到一个小于存储设备数的值I,值I对应于集群存储设备列表中第I台存储设备,并在所述HASH值对应的存储设备上查找文件;
[0115]如果在对应的存储设备I上找到目标文件,则返回查找成功。
[0116]如果在对应的存储设备I上找到指向文件的链接,则接着查找链接指向的存储设备S,如果在S上找到目标文件,则返回查找成功。如果没找到目标文件,则查找集群中所有设备,如果还是没找到目标文件,则返回查找失败,如果找到目标文件,则返回第一个查找成功的结果。
[0117]如果在对应的存储设备I上什么都没找到,则查找集群中所有设备,如果还是没找到目标文件,则返回查找失败,如果找到目标文件,则返回第一个查找成功的结果。
[0118]本发明提供一种NAS集群系统的文件数据的处理方法及NAS集群系统,其中方法包括:在客户机需要执行创建文件之前,利用HASH算法确定对应的存储设备;分析所述客户机对应的多个存储设备的存储信息,将数据优先存放到NAS主机本地存储设备上,当一个NAS主机对应多个本地存储设备时根据设定的策略选取其中最符合要求的,当所有本地设备都不符合策略要求时,再判断通过HASH算法确定对应的存储设备是否符合要求。通过使用这种存储设备的选取策略,更便于文件的查找。
[0119]其中,由于在存储时尽量避免文件数据I/O通过网络传输,其存储和读取速率将大大提高,同时减少了网络负载。同时则在HASH定位算法查找对应的存储设备上创建指向该文件的链接,为集群中其他NAS访问该文件提供了高效的查找方法。这样,将有利于提高NAS集群系统I/O处理效率。
[0120]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种NAS集群系统,包括多个客户机,其特征在于,每个客户机上通过接口连接有对应的多个NAS网络存储器并构成了 NAS主机,NAS主机用于对NAS集群系统中每个客户机的文件数据存储和查找操作; 所述NAS主机包括检测模块、HASH定位模块、存储处理模块和链接定位模块,其中:所述检测模块,用于实时检测NAS集群系统中的每个客户机对应的多个存储设备的存储信息并保存为本地存储设备列表及集群存储设备列表; 所述HASH定位模块,用于在客户机执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备;所述存储处理模块,用于分析所述客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为所述客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中的存储设备,将所述文件创建在相应的存储设备上; 所述链接定位模块,用于在每个创建文件结束后,判断所述文件最终的存储设备是否为文件HASH值对应的存储设备;若否,则在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
2.根据权利要求1所述的NAS集群系统,其特征在于,所述存储处理模块包括判断子模块,其中: 所述判断子模块,用于检查所述客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求,若判断结果为是,则确定在所述本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件; 若判断结果为否,则查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断所述文件HASH值对应的存储设备是否满足存储所述文件的存储空间需求,若是,则在所述文件HASH值对应的存储设备上创建 文件;若否,则在NAS集群系统的包含所有客户机存储设备的集群存储设备列表中查找剩余存储空间最大的存储设备,并在所述集群存储设备列表中的剩余存储空间最大的存储设备满足存储所述文件的存储空间需求条件下,在所述剩余存储空间最大的存储设备上创建文件。
3.根据权利要求2所述的NAS集群系统,其特征在于,所述存储信息包括存储设备编号、存储设备的剩余存储空间; 所述本地存储设备列表记录包括连接在客户机的多个本地存储设备及存储设备编号数据; 所述集群存储设备列表记录包括NAS集群系统中对每一个存储设备及存储设备编号数据。
4.根据权利要求2所述的NAS集群系统,其特征在于,所述HASH定位模块包括运算子模块; 所述运算子模块,用于通过HASH函数对文件的文件名进行HASH运算后得到HASH结果值;通过I=(A mod N)进行取模运算,计算得到小于存储设备数的值I,值I对应于集群存储设备列表中编号为I的存储设备; 其中:A为HASH结果值; N为集群存储设备列表中存储设备总数值。
5.根据权利要求1或4所述的NAS集群系统,其特征在于,所述链接定位模块包括链接子模块,其中: 所述链接子模块,用于在HASH定位算法所对应的编号为I的存储设备上创建指向创建所述文件的链接。
6.根据权利要求4所述的NAS集群系统,其特征在于,所述NAS主机还包括查找处理模块,其中: 所述查找处理模块,用于在执行文件查找操作时,查找文件HASH值对应的存储设备;若所述文件不在文件HASH值对应的存储设备上,则通过在文件HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件。
7.—种NAS集群系统的文件数据的处理方法,其特征在于,包括以下步骤: 实时检测NAS集群系统中的每个客户机对应的多个存储设备的存储信息并保存为本地存储设备列表及集群存储设备列表; 在客户机执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备; 分析所述客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为所述客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中的存储设备,将所述文件创建在相应的存储设备上; 在每个创建文件结束后,判断所述文件最终的存储设备是否为文件HASH值对应的存储设备;若否,则在 文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
8.根据权利要求7所述的NAS集群系统的文件数据的处理方法,其特征在于,所述利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备包括如下步骤: 通过HASH函数对文件的文件名进行HASH运算后得到一个HASH结果值,计为A ; 通过I=(A mod N)进行取模运算,计算得到小于存储设备数的值I,值I对应于集群存储设备列表中编号为I的存储设备; 其中,N为集群存储设备列表中存储设备总数值。
9.根据权利要求7所述的NAS集群系统的文件数据的处理方法,其特征在于,所述在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序,将所述文件创建在相应的存储设备上,包括如下步骤: 检查所述客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求,若判断结果为是,则确定在所述本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件; 若判断结果为否,则查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断所述文件HASH值对应的存储设备是否满足存储所述文件的存储空间需求,若是,则在所述文件HASH值对应的存储设备上创建文件;若否,则在NAS集群系统的包含所有客户机存储设备的集群存储设备列表中查找剩余存储空间最大的存储设备,并在所述集群存储设备列表中的剩余存储空间最大的存储设备满足存储所述文件的存储空间需求条件下,在所述剩余存储空间最大的存储设备上创建文件。
10.根据权利要求7、8或9所述的NAS集群系统的文件数据的处理方法,其特征在于,所述在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接,包括如下步骤: 在HASH定位算法所对应的编号为I的存储设备上创建指向创建所述文件的链接。
11.根据权利要求10所述的NAS集群系统的文件数据的处理方法,其特征在于,还包括执行查找所述文件的步骤: 在执行文件查找操作时,查找文件HASH值对应的存储设备,若所述文件不在文件HASH值对应的存储设备上,则通过在文件HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找·所述文件。
【文档编号】H04L29/08GK103856503SQ201210501184
【公开日】2014年6月11日 申请日期:2012年11月29日 优先权日:2012年11月29日
【发明者】高杰, 胡联奎, 王雪山, 刘兆喜, 邵文韬, 赵前, 杜军, 李迪, 罗毅 申请人:北京华胜天成科技股份有限公司, 北京鲸鲨软件科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1