CN103856503A - Nas集群系统的文件数据的处理方法及nas集群系统 - Google Patents
Nas集群系统的文件数据的处理方法及nas集群系统 Download PDFInfo
- Publication number
- CN103856503A CN103856503A CN201210501184.0A CN201210501184A CN103856503A CN 103856503 A CN103856503 A CN 103856503A CN 201210501184 A CN201210501184 A CN 201210501184A CN 103856503 A CN103856503 A CN 103856503A
- Authority
- CN
- China
- Prior art keywords
- memory device
- file
- list
- hash value
- hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种NAS集群系统的文件数据的处理方法及NAS集群系统,其中方法包括:在客户机需要执行创建文件之前,利用HASH算法确定对应的存储设备;分析客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中存储设备,将文件创建在相应的存储设备上。通过使用这种存储设备的选取策略,因尽量使用本地存储的方式,避免了读写时网络资源的占用,同时更便于文件的查找。本发明提供的NAS集群系统的文件数据的处理方法及NAS集群系统,减少了通过网络传输的数据流量,减轻了网络负载,提高了NAS集群系统I/O处理效率。
Description
技术领域
本发明涉及数据存储技术领域,特别是涉及一种NAS集群系统的文件数据的处理方法及NAS集群系统。
背景技术
随着企业数据急剧膨胀,海量存储也愈加严峻,对于各类行业的用户而言,爆炸性增长的海量数据正如潮水般地冲击着用户的存储系统。面对不断增长的数据,传统的存储架构由于扩展性较差,当用户容量及性能需求增加时,只能一味地添加高端存储设备。长此以往,存储环境就会变得日益复杂,管理和运营成本更高,并造成了过高的能源消耗。
现在,云存储作为一种新兴的技术理念,正在改变着传统存储的提供与使用方式,也对存储行业带来了深远影响。从目前的一些统计与预测分析数据来看,云存储市场与应用发展非常迅速,有一部分企业或个人已经认可这种模式,但更多人的用户仍持怀疑和观望态度。经过一些调研分析,我们认为如下两个主要原因将影响云存储普及应用。
第一,云存储以互联网为基础提供存储服务,私有云存储可以基于LAN,公有云则需要通过广域网WAN来承载。由于带宽的限制以及网络复杂性,造成较大的数据访问延迟,尤其是对WAN来说,数据访问性能和实时性是个巨大的瓶颈。LAN目前的网络带宽可以达到1Gbps和10Gpbs,WAN要差很多,诸如ADSL的宽带网络带宽通常为512K/1M/2Mbps。移动互联网带宽则更差一些,3G网络还没有大规模普及,GPRS用户仍然众多。中国目前大概有3.8亿网民,主要集中在城市,网络情况稍好。近年来,中国农村计算机和网络市场发展较快,然而与农村巨大的潜在市场相对,有线和无线通信网络带宽都非常有限。网络带宽问题如果不能解决,则性能将是云存储的关键瓶颈。这样的话,对性能和实时性要求高的应用则无法使用云存储,TB/PB级以上的海量数据存储更是可望而不可及。用户需要存储数据时,数据却无法及时进行存储,云存储也就失去了意义。
第二,数据的查找速度也是用户最为关心的,尤其是数据量巨大时。当云存储规模逐渐增大,文件数量不断攀升,要在数以亿记的文件中找到所需要的那一个是相当耗费时间的。因此,如果数据快速查找问题得不到有效解决,它也将成为云存储的绊脚石。
因此对于现有技术,如何在集群文件系统中进行文件数据读写时,减少网络传输的数据流量,提高NAS集群系统文件数据I/O处理效率并提供文件的快速查找是个亟待解决的问题。
发明内容
本发明提供了一种NAS集群系统的文件数据的处理方法及NAS集群系统,最大程度避免了网络传输的方式,减轻了网络传输的负载压力并实现高效的I/O处理。
基于上述问题,本发明提供的一种NAS集群系统,包括多个客户机,每个客户机上通过接口连接有对应的多个NAS网络存储器并构成了NAS主机,NAS主机用于对NAS集群系统中每个客户机的文件数据存储和查找操作;
所述NAS主机包括检测模块、HASH定位模块、存储处理模块和链接定位模块,其中:
所述检测模块,用于实时检测NAS集群系统中的每个客户机对应的多个存储设备的存储信息并保存为本地存储设备列表及集群存储设备列表;
所述HASH定位模块,用于在客户机执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备;
所述存储处理模块,用于分析所述客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为所述客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中的存储设备,将所述文件创建在相应的存储设备上;
所述链接定位模块,用于在每个创建文件结束后,判断所述文件最终的存储设备是否为文件HASH值对应的存储设备;若否,则在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
较佳地,作为一种可实施方式,所述存储处理模块包括判断子模块,其中:
所述判断子模块,用于检查所述客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求,若判断结果为是,则确定在所述本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件;
若判断结果为否,则查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断所述文件HASH值对应的存储设备是否满足存储所述文件的存储空间需求,若是,则在所述文件HASH值对应的存储设备上创建文件;若否,则在NAS集群系统的包含所有客户机存储设备的集群存储设备列表中查找剩余存储空间最大的存储设备,并在所述集群存储设备列表中的剩余存储空间最大的存储设备满足存储所述文件的存储空间需求条件下,在所述剩余存储空间最大的存储设备上创建文件。
较佳地,作为一种可实施方式,所述存储信息包括存储设备编号、存储设备的剩余存储空间;
所述本地存储设备列表记录包括连接在客户机的多个本地存储设备及存储设备编号数据;
所述集群存储设备列表记录包括NAS集群系统中对每一个存储设备及存储设备编号数据。
较佳地,作为一种可实施方式,所述HASH定位模块包括运算子模块;
所述运算子模块,用于通过HASH函数对文件的文件名进行HASH运算后得到HASH结果值;通过I=(A mod N)进行取模运算,计算得到小于存储设备数的值I,值I对应于集群存储设备列表中编号为I的存储设备;
其中:A为HASH结果值;
N为集群存储设备列表中存储设备总数值。
较佳地,作为一种可实施方式,所述链接定位模块包括链接子模块,其中:
所述链接子模块,用于在HASH定位算法所对应的编号为I的存储设备上创建指向创建所述文件的链接。
较佳地,作为一种可实施方式,所述NAS主机还包括查找处理模块,其中:
所述查找处理模块,用于在执行文件查找操作时,查找文件HASH值对应的存储设备;若所述文件不在文件HASH值对应的存储设备上,则通过在文件HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件。
相应地,本发明还提供了一种NAS集群系统的文件数据的处理方法,包括以下步骤:
实时检测NAS集群系统中的每个客户机对应的多个存储设备的存储信息并保存为本地存储设备列表及集群存储设备列表;
在客户机执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备;
分析所述客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为所述客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中的存储设备,将所述文件创建在相应的存储设备上;
在每个创建文件结束后,判断所述文件最终的存储设备是否为文件HASH值对应的存储设备;若否,则在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
较佳地,作为一种可实施方式,所述利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备包括如下步骤:
通过HASH函数对文件的文件名进行HASH运算后得到一个HASH结果值,计为A;
通过I=(A mod N)进行取模运算,计算得到小于存储设备数的值I,值I对应于集群存储设备列表中编号为I的存储设备;
其中,N为集群存储设备列表中存储设备总数值。
较佳地,作为一种可实施方式,所述在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序,将所述文件创建在相应的存储设备上,包括如下步骤:
检查所述客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求,若判断结果为是,则确定在所述本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件;
若判断结果为否,则查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断所述文件HASH值对应的存储设备是否满足存储所述文件的存储空间需求,若是,则在所述文件HASH值对应的存储设备上创建文件;若否,则在NAS集群系统的包含所有客户机存储设备的集群存储设备列表中查找剩余存储空间最大的存储设备,并在所述集群存储设备列表中的剩余存储空间最大的存储设备满足存储所述文件的存储空间需求条件下,在所述剩余存储空间最大的存储设备上创建文件。
较佳地,作为一种可实施方式,所述在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接,包括如下步骤:
在HASH定位算法所对应的编号为I的存储设备上创建指向创建所述文件的链接。
较佳地,作为一种可实施方式,所述处理方法还包括执行查找所述文件的步骤:
在执行文件查找操作时,查找文件HASH值对应的存储设备,若所述文件不在文件HASH值对应的存储设备上,则通过在文件HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件。
本发明的有益效果包括:
本发明提供的NAS集群系统的文件数据的处理方法及NAS集群系统,由于在存储时尽量避免文件数据I/O通过网络传输,其存储和读取速率将大大提高,同时减少了网络负载。同时则在HASH定位算法查找对应的存储设备上创建指向该文件的链接,为集群中其他NAS访问该文件提供了高效的查找方法。这样,将有利于提高NAS集群系统I/O处理效率。
附图说明
图1为本发明NAS集群系统的一个实施例的系统结构示意图;
图2为图1中本发明NAS集群系统的实施例的NAS主机的结构示意图;
图3为本发明NAS集群系统的文件数据的处理方法的一个实施例的流程示意图;
图4为本发明NAS集群系统的文件数据的处理方法的另一个实施例的文件存储流程示意图;
图5为图4中本发明NAS集群系统的文件数据的处理方法的实施例的文件查找流程示意图。
具体实施方式
下面结合说明书附图,对本发明实施例中的NAS集群系统的文件数据的处理方法及NAS集群系统的具体实施方式进行说明。
本发明实施例提供的NAS(Network Attached Storage,网络存储)集群系统1,如图1所示,包括多个客户机20,每个客户机20上通过接口连接有多个NAS网络存储器21并构成了NAS主机2,NAS主机2用于对NAS集群系统1中每个客户机的文件数据存储和查找操作,所述NAS主机2包括检测模块22、HASH定位模块23、存储处理模块24和链接定位模块25,如图2所示,其中:
所述检测模块22,用于实时检测NAS集群系统中的每个客户机对应的多个存储设备的存储信息并保存为本地存储设备列表及集群存储设备列表;
所述HASH定位模块23,用于在客户机执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备;
所述存储处理模块24,用于分析所述客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为所述客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中的存储设备,将所述文件创建在相应的存储设备上;
所述链接定位模块25,用于在每个创建文件结束后,判断所述文件最终的存储设备是否为文件HASH值对应的存储设备;若否,则在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
较佳地,作为一种可实施方式,所述存储处理模块24包括判断子模块,其中:
所述判断子模块,用于检查所述客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求,若判断结果为是,则确定在所述本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件;
若判断结果为否,则查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断所述文件HASH值对应的存储设备是否满足存储所述文件的存储空间需求,若是,则在所述文件HASH值对应的存储设备上创建文件;若否,则在NAS集群系统的包含所有客户机存储设备的集群存储设备列表中查找剩余存储空间最大的存储设备,并在所述集群存储设备列表中的剩余存储空间最大的存储设备满足存储所述文件的存储空间需求条件下,在所述剩余存储空间最大的存储设备上创建文件。
较佳地,作为一种可实施方式,所述存储信息包括存储设备编号、存储设备的剩余存储空间;
所述本地存储设备列表记录包括连接在客户机的多个本地存储设备及存储设备编号数据;
所述集群存储设备列表记录包括NAS集群系统中对每一个存储设备及存储设备编号数据。
较佳地,作为一种可实施方式,所述HASH定位模块23包括运算子模块;
所述运算子模块,用于通过HASH函数对文件的文件名进行HASH运算后得到HASH结果值;通过I=(A mod N)进行取模运算,计算得到小于存储设备数的值I,值I对应于集群存储设备列表中编号为I的存储设备;
其中:A为HASH结果值;
N为集群存储设备列表中存储设备总数值。
较佳地,作为一种可实施方式,所述链接定位模块25包括链接子模块,其中:
所述链接子模块,用于在HASH定位算法所对应的编号为I的存储设备上创建指向创建所述文件的链接。
在本发明实施例中,利用HASH定位算法可以快速在第I台存储设备上找到该文件的链接,进而定位该文件。(如SHA或MD5等,每个文件都可以md5-hash的算法设置,这使得该文件独一无二,并且在整个网络上都可以追踪得到。)
较佳地,作为一种可实施方式,所述NAS主机2还包括查找处理模块26,其中:
所述查找处理模块26,用于在执行文件查找操作时,首先查找文件HASH值对应的存储设备;若所述文件不在文件HASH值对应的存储设备上,则通过在文件HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件。
在本发明实施例中,MD5-Hash-文件通过Hash函数计算得到。不管文件长度如何,它的Hash函数计算结果是一个固定长度的数字。与加密算法不同,这一个Hash算法是一个不可逆的单向函数。采用安全性高的Hash算法,如MD5、SHA时,两个不同的文件几乎不可能得到相同的Hash结果。文件Hash值是固定的,也是唯一的,在本发明实施例正是利用这一点,通过文件的Hash值来查找文件的。
本领域技术人员应该可以理解,本发明实施例所提供的NAS集群系统的实质是将一台存储设备同时用作NAS主机,通过该NAS主机创建文件时将优先在本地创建,减少了流经网络的数据量,由于本地数据I/O效率大大高于网络,因此既减轻了网络负载又提高了数据输入/输出(Input/Output,I/O)的速率。通过在记录每个NAS主机各自对应的本地存储设备,将数据优先存放到NAS主机本地存储设备上,当一个NAS主机对应多个本地存储设备时根据设定的策略选取其中最符合要求的,当所有本地设备都不符合策略要求时,再通过设定的策略选取符合要求的远程存储设备。通过使用这种存储设备的选取策略,减少了通过网络传输的数据流量,减轻了网络负载,并能提高集群I/O性能10%以上。
基于同一发明构思,本发明实施例还提供了一种NAS集群系统的文件数据的处理方法,由于此方法解决问题的原理通过前述一种NAS集群系统实现,因此该方法的实施可以参见前述系统功能的实施,重复之处不再赘述。
本发明实施例提供的一种NAS集群系统的文件数据的处理方法,如图3所示,包括以下步骤:
步骤S100、实时检测NAS集群系统中的每个客户机对应的多个存储设备的存储信息并保存为本地存储设备列表及集群存储设备列表;
步骤S200、在客户机执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备;
步骤S300、分析所述客户机对应的多个存储设备的存储信息,在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序为所述客户机对应的本地存储设备、文件HASH值确定对应的存储设备、集群存储设备列表中的存储设备,将所述文件创建在相应的存储设备上;
步骤S400、在每个创建文件结束后,判断所述文件最终的存储设备是否为文件HASH值对应的存储设备;若否,则在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
较佳地,作为一种可实施方式,所述利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备包括如下步骤:
通过HASH函数对文件的文件名进行HASH运算后得到一个HASH结果值,计为A;
通过I=(A mod N)进行取模运算,计算得到小于存储设备数的值I,值I对应于集群存储设备列表中编号为I的存储设备;
其中,N为集群存储设备列表中存储设备总数值。
较佳地,作为一种可实施方式,在所述步骤S300中,所述在确定文件存储空间需求得到满足的条件下,按照优先存储设备顺序,将所述文件创建在相应的存储设备上,包括如下步骤:
检查所述客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求,若判断结果为是,则确定在所述本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件;
若判断结果为否,则查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断所述文件HASH值对应的存储设备是否满足存储所述文件的存储空间需求,若是,则在所述文件HASH值对应的存储设备上创建文件;若否,则在NAS集群系统的包含所有客户机存储设备的集群存储设备列表中查找剩余存储空间最大的存储设备,并在所述集群存储设备列表中的剩余存储空间最大的存储设备满足存储所述文件的存储空间需求条件下,在所述剩余存储空间最大的存储设备上创建文件。
较佳地,作为一种可实施方式,所述在文件HASH值对应的存储设备上创建指向所述文件真实存储位置的链接,包括如下步骤:
在HASH定位算法所对应的编号为I的存储设备上创建指向创建所述文件的链接。
较佳地,作为一种可实施方式,所述处理方法还包括执行查找所述文件的步骤:
步骤S500、在执行文件查找操作时,首先查找文件HASH值对应的存储设备,若所述文件不在文件HASH值对应的存储设备上,则通过在文件HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件。
为了更好地说明本发明实施例提供的NAS集群系统的文件数据的处理方法,举例加以说明。
在本发明实施例中,NAS集群系统的文件数据的处理方法主要包括存储处理和查找处理步骤,其中所述存储处理步骤,如图4所示,:
数据的本地优先存储方法分如下步骤进行:
步骤S11、在集群文件系统初始化时,每个NAS主机记录下各自对应的本地存储设备到本地存储设备列表及集群存储设备列表中;在客户机需要执行创建文件之前,利用HASH算法并根据文件名和集群存储设备列表确定所述文件的文件HASH值,根据文件HASH值确定对应的存储设备;
步骤S12、当用户通过当前NAS主机执行create或mknod时,所述NAS主机首先检查客户机对应的本地存储设备列表中是否有至少一个本地存储设备满足存储所述文件的存储空间需求。若是,则执行步骤S13,若否,则跳转执行步骤S14;
步骤S13、确定在本地存储设备列表中当前剩余存储空间最大的本地存储设备上创建文件;
步骤S14、查找文件HASH值对应的集群存储设备列表中的存储设备,重新判断HASH值对应的存储设备是否满足存储所述文件的存储空间需求;如果满足,则执行步骤S15;如果不满足,则跳转执行步骤S16;
步骤S15、选取HASH值对应的存储设备,创建文件;
步骤S16、判断查询集群存储设备列表中所有存储设备是否满足存储所述文件的存储空间需求,若有,则执行步骤S17;若无,则跳转执行步骤S18;
步骤S17;选取其中剩余容量最大的存储设备,创建文件;
步骤S18、确定操作失败;
步骤S19、在每个创建文件结束后,判断所述文件最终的存储设备是否为HASH值对应的存储设备,若是,则执行步骤S20;确定操作成功;若否,则跳转执行步骤S21;在HASH值对应的存储设备上创建指向所述文件真实存储位置的链接;
步骤S20;确定操作成功;
步骤S21;在HASH值对应的存储设备上创建指向所述文件真实存储位置的链接。
如图4所示,执行create或mknod时分成如下三种情况:
情况一、找到至少一个本地设备满足要求,则直接在该本地设备上执行create或mknod操作,选取其中剩余容量最大的执行create或mknod操作,并在文件HASH定位算法所对应的存储设备上创建指向该文件的链接;
情况二、所有本地设备都不满足要求,则查找文件HASH值对应的集群存储设备列表中的存储设备;并在文件HASH定位算法所对应的存储设备上创建指向该文件的链接;
情况三、如果文件HASH值对应的集群存储设备列表中的存储设备也不能满足文件数据存储要求,则查询集群中所有存储设备,选取容量最大的执行create或mknod操作,如果不存在满足要求的存储设备,则返回操作失败。
如图5所示,(图5所示意查找步骤在即图4示意的存储步骤之后执行)文件查找过程,按如下步骤实现:
步骤S22、在执行文件查找操作时,首先判断查找文件在不在HASH值对应的存储设备上存储,若是,则执行步骤S23;若否,则跳转执行步骤S24;
步骤S23、确定查找成功;
步骤S24、通过在HASH值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件,并判断文件是否在链接指向的存储位置;若判断结果为是,则返回执行步骤S23;若判断结果为否,则执行步骤S25;
步骤S25、确定查找失败。
其中,需要说明的是:HASH定位算法,即通过特定的HASH函数对文件名进行HASH后得到一个HASH结果值,计为A,集群中存储设备总数值为N,通过简单的计算I=(A mod N)得到一个小于存储设备数的值I,值I对应于集群存储设备列表中第I台存储设备,并在所述HASH值对应的存储设备上查找文件;
如果在对应的存储设备I上找到目标文件,则返回查找成功。
如果在对应的存储设备I上找到指向文件的链接,则接着查找链接指向的存储设备S,如果在S上找到目标文件,则返回查找成功。如果没找到目标文件,则查找集群中所有设备,如果还是没找到目标文件,则返回查找失败,如果找到目标文件,则返回第一个查找成功的结果。
如果在对应的存储设备I上什么都没找到,则查找集群中所有设备,如果还是没找到目标文件,则返回查找失败,如果找到目标文件,则返回第一个查找成功的结果。
本发明提供一种NAS集群系统的文件数据的处理方法及NAS集群系统,其中方法包括:在客户机需要执行创建文件之前,利用HASH算法确定对应的存储设备;分析所述客户机对应的多个存储设备的存储信息,将数据优先存放到NAS主机本地存储设备上,当一个NAS主机对应多个本地存储设备时根据设定的策略选取其中最符合要求的,当所有本地设备都不符合策略要求时,再判断通过HASH算法确定对应的存储设备是否符合要求。通过使用这种存储设备的选取策略,更便于文件的查找。
其中,由于在存储时尽量避免文件数据I/O通过网络传输,其存储和读取速率将大大提高,同时减少了网络负载。同时则在HASH定位算法查找对应的存储设备上创建指向该文件的链接,为集群中其他NAS访问该文件提供了高效的查找方法。这样,将有利于提高NAS集群系统I/O处理效率。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (11)
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值对应的存储设备上创建的指向所述文件真实存储位置的链接,定位查找所述文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210501184.0A CN103856503B (zh) | 2012-11-29 | 2012-11-29 | Nas集群系统的文件数据的处理方法及nas集群系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210501184.0A CN103856503B (zh) | 2012-11-29 | 2012-11-29 | Nas集群系统的文件数据的处理方法及nas集群系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103856503A true CN103856503A (zh) | 2014-06-11 |
CN103856503B CN103856503B (zh) | 2017-04-12 |
Family
ID=50863714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210501184.0A Active CN103856503B (zh) | 2012-11-29 | 2012-11-29 | Nas集群系统的文件数据的处理方法及nas集群系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103856503B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391901A (zh) * | 2014-11-14 | 2015-03-04 | 北京网视通联科技有限公司 | 一种存储单元网络大数据基础构架平台及其文件存取方法 |
CN104407947A (zh) * | 2014-10-29 | 2015-03-11 | 中国建设银行股份有限公司 | 主备nas切换方法及装置 |
CN106610967A (zh) * | 2015-10-21 | 2017-05-03 | 杭州海康威视数字技术股份有限公司 | 对nas设备中视频数据的读写方法及装置 |
CN106850851A (zh) * | 2017-03-20 | 2017-06-13 | 北京小米移动软件有限公司 | 多媒体数据处理方法及装置 |
CN108566421A (zh) * | 2018-03-29 | 2018-09-21 | 四川斐讯信息技术有限公司 | 一种基于网络附属存储器的网络式分布方法及系统 |
CN112527492A (zh) * | 2019-09-18 | 2021-03-19 | 华为技术有限公司 | 一种分布式存储系统中的数据存储方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272654B1 (en) * | 2004-03-04 | 2007-09-18 | Sandbox Networks, Inc. | Virtualizing network-attached-storage (NAS) with a compact table that stores lossy hashes of file names and parent handles rather than full names |
CN101673289A (zh) * | 2009-10-10 | 2010-03-17 | 成都市华为赛门铁克科技有限公司 | 分布式文件存储构架的构建方法和装置 |
US20110072126A1 (en) * | 2009-09-18 | 2011-03-24 | Hitachi, Ltd. | Method and apparatus for constructing a dht-based global namespace |
CN102650933A (zh) * | 2012-04-06 | 2012-08-29 | 济南迈越信息科技有限公司 | 一种用于数字化变电站网络通信记录装置的存储系统 |
US20120221529A1 (en) * | 2009-04-10 | 2012-08-30 | PHD Virtual Technologies | Virtual machine data replication |
-
2012
- 2012-11-29 CN CN201210501184.0A patent/CN103856503B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7272654B1 (en) * | 2004-03-04 | 2007-09-18 | Sandbox Networks, Inc. | Virtualizing network-attached-storage (NAS) with a compact table that stores lossy hashes of file names and parent handles rather than full names |
US20120221529A1 (en) * | 2009-04-10 | 2012-08-30 | PHD Virtual Technologies | Virtual machine data replication |
US20110072126A1 (en) * | 2009-09-18 | 2011-03-24 | Hitachi, Ltd. | Method and apparatus for constructing a dht-based global namespace |
CN101673289A (zh) * | 2009-10-10 | 2010-03-17 | 成都市华为赛门铁克科技有限公司 | 分布式文件存储构架的构建方法和装置 |
CN102650933A (zh) * | 2012-04-06 | 2012-08-29 | 济南迈越信息科技有限公司 | 一种用于数字化变电站网络通信记录装置的存储系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407947A (zh) * | 2014-10-29 | 2015-03-11 | 中国建设银行股份有限公司 | 主备nas切换方法及装置 |
CN104407947B (zh) * | 2014-10-29 | 2018-04-27 | 中国建设银行股份有限公司 | 主备nas切换方法及装置 |
CN104391901A (zh) * | 2014-11-14 | 2015-03-04 | 北京网视通联科技有限公司 | 一种存储单元网络大数据基础构架平台及其文件存取方法 |
CN106610967A (zh) * | 2015-10-21 | 2017-05-03 | 杭州海康威视数字技术股份有限公司 | 对nas设备中视频数据的读写方法及装置 |
CN106610967B (zh) * | 2015-10-21 | 2020-06-12 | 杭州海康威视数字技术股份有限公司 | 对nas设备中视频数据的读写方法及装置 |
US10803109B2 (en) | 2015-10-21 | 2020-10-13 | Hangzhou Hikvision Digital Technology Co., Ltd. | Method and device for reading and writing video data in NAS device |
CN106850851A (zh) * | 2017-03-20 | 2017-06-13 | 北京小米移动软件有限公司 | 多媒体数据处理方法及装置 |
CN108566421A (zh) * | 2018-03-29 | 2018-09-21 | 四川斐讯信息技术有限公司 | 一种基于网络附属存储器的网络式分布方法及系统 |
CN108566421B (zh) * | 2018-03-29 | 2021-06-04 | 浙江华网俊业科技有限公司 | 一种基于网络附属存储器的网络式分布方法及系统 |
CN112527492A (zh) * | 2019-09-18 | 2021-03-19 | 华为技术有限公司 | 一种分布式存储系统中的数据存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103856503B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103856503A (zh) | Nas集群系统的文件数据的处理方法及nas集群系统 | |
CN102222085B (zh) | 一种基于相似性与局部性结合的重复数据删除方法 | |
US8972986B2 (en) | Locality-aware resource allocation for cloud computing | |
CN109710405B (zh) | 区块链智能合约管理方法、装置、电子设备及存储介质 | |
US20130024599A1 (en) | Method and Apparatus for SSD Storage Access | |
US20160132541A1 (en) | Efficient implementations for mapreduce systems | |
CN103218455A (zh) | Key-Value数据库用户请求的高速并发处理方法 | |
CN103679022A (zh) | 病毒扫描方法和装置 | |
CN102541467B (zh) | 一种对象数据服务器读写请求的调度方法 | |
CN103139300A (zh) | 一种基于重复数据删除的虚拟机镜像管理的优化方法 | |
US20150163280A1 (en) | Method and device for downloading file | |
CN103067297A (zh) | 一种基于资源消耗预测的动态负载均衡方法及装置 | |
CN107612984B (zh) | 一种基于互联网的大数据平台 | |
CN108134775A (zh) | 一种数据处理方法和设备 | |
WO2020134364A1 (zh) | 一种虚拟机迁移方法、云计算管理平台和存储介质 | |
CN107357873A (zh) | 一种大数据存储管理系统 | |
CN108959399A (zh) | 分布式数据删除流控方法、装置、电子设备及存储介质 | |
CN104426838A (zh) | 一种互联网缓存调度方法及系统 | |
CN103198119A (zh) | 一种快速查找具有相同重复数据删除标识的所有链接文件的方法 | |
CN205540723U (zh) | 一种基于云计算的信息检索系统 | |
CN105009102B (zh) | 用于多级聚合架构的系统和方法 | |
CN117114623B (zh) | 一种园区内监控设备的智慧管理方法及系统 | |
CN113947498A (zh) | 一种融合终端数据中心的数据存储与检索方法 | |
US11888938B2 (en) | Systems and methods for optimizing distributed computing systems including server architectures and client drivers | |
US11983644B2 (en) | Insight allotment to edged locations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |