一种nas加速方法及系统的制作方法

文档序号:7814888阅读:279来源:国知局
一种nas加速方法及系统的制作方法
【专利摘要】本发明公开了一种NAS加速方法及系统,包括:NAS服务器接收到写指令时,获取待写入的数据,并将待写入的数据缓存在NAS服务器内存中;将存储在NAS服务器内存中的数据直接写入机械硬盘;将写入机械硬盘中的数据缓存到高速缓存固态硬盘SSD中;NAS服务器接收到读指令时,若SSD盘中存储有所述读指令需要读取的数据,则根据该读指令直接读取缓存在SSD盘中的数据,并缓存在NAS服务器内存中;若SSD盘中未存储有所述读指令需要读取的数据,则根据该读指令从机械硬盘中读取数据,并缓存在NAS服务器内存中;将读取到内存中的数据传输给各客户机。通过上述方法以较低成本实现了有效的性能加速并确保了数据的安全性。
【专利说明】—种NAS加速方法及系统

【技术领域】
[0001]本发明实施例涉及数据存储【技术领域】,尤其涉及一种NAS加速方法及系统。

【背景技术】
[0002]随着非结构化数据的不断膨胀和对信息交互,信息分享,协同工作的需求日益旺盛,NAS(Network Attached Storage,网络附属存储)在很多企业或机构得到了广泛的应用。在中小企业,受限于成本因素,一般无法承担高端NAS或集群NAS相对高昂的成本,但中小企业的NAS应用却广泛存在,如企业网盘,个人桌面备份,虚拟桌面等,因此中小企业对高性能NAS的需求是客观存在的。
[0003]为了提高性能,从I/O (Input/Output,输入/输出)能力角度来讲,需提高单盘的 1PS (Input/Output Operat1ns Per Second,每秒 1/0 操作的次数),高转速,高性能的SAS(Serial Attached SCSI,串行连接SCSI)磁盘是主流的选择。但SAS盘容量较小,在具备一定规模容量需求时,成本较高。因此这两年业界提出分层存储的概念,采用SSD+SATA(Serial Advanced Technology Attachment,串口硬盘)同时满足容量和性能需求,并实现相对合理的成本控制。在实际测试中发现,对于CIFS(Common Internet FileSystem,通用网络文件系统)/NFS(Network File System,网络文件系统)应用,在随机高并发模型下,采用SSD高速缓存并不能有效的解决OPS(每秒并发处理数量)响应问题。核心原因是在于通过RAID (Redundant Arrays of Inexpensive Disks,独立磁盘冗余阵列)卡管理SSD+SATA,而现在工业界的RAID卡对SSD均没有特殊优化,依然是根据普通硬盘的特点和1/0模型进行设计,因此效果不理想。但不采用RAID卡保护,将无法获得有效的数据保护。还有一种做法是通过PC1-E RAID及其自带的软件实现加速,如Fus1n-1/O,但价格及其昂贵,中小企业很难接受。


【发明内容】

[0004]本发明提供一种NAS加速方法及系统,以较低成本实现有效的性能加速并具有较高的数据安全性。
[0005]第一方面,本发明实施例提供了一种NAS加速方法,包括:
[0006]NAS服务器接收到写指令时,获取待写入的数据,并将待写入的数据缓存在NAS服务器内存中;将存储在NAS服务器内存中的数据直接写入机械硬盘;将写入机械硬盘中的数据缓存到高速缓存固态硬盘SSD中;
[0007]NAS服务器接收到读指令时,若SSD盘中存储有所述读指令需要读取的数据,则根据该读指令直接读取缓存在SSD盘中的数据,并缓存在NAS服务器内存中;若SSD盘中未存储有所述读指令需要读取的数据,则根据该读指令从机械硬盘中读取数据,并缓存在NAS服务器内存中;将读取到内存中的数据传输给各客户机。
[0008]第二方面,本发明实施例还提供了一种NAS加速系统,该系统包括:
[0009]数据获取模块,用于获取待写入的数据,并将待写入的数据缓存在NAS服务器内存中;
[0010]数据写入模块,用于将存储在NAS服务器内存中的数据直接写入机械硬盘,并缓存到SSD盘中,再将写入机械硬盘中的数据缓存到高速缓存固态硬盘SSD中;
[0011]数据读取模块,用于当SSD盘中存储有所述读指令需要读取的数据,则根据该读指令直接读取缓存在SSD盘中的数据,并缓存在NAS服务器内存中;当SSD盘中未存储有所述读指令需要读取的数据,则根据该读指令从机械硬盘中读取数据,并缓存在NAS服务器内存中;
[0012]数据传输模块,用于将读取到内存中的数据传输给各客户机。
[0013]本发明实施例提供的NAS加速方法及系统,通过选择相对低成本的SSD磁盘作为加速设备,将性能优化的方向聚焦在提升读性能,不加速写性能,写数据在SSD中无驻留,因此,无需考虑该环节的数据安全性问题,由于被读取的数据在磁盘上还有一个源文件,因此也无需对缓存数据进行RAID保护,极大发挥了 SSD的物理性能,以较低成本实现了有效的性能加速并确保了数据的安全性。

【专利附图】

【附图说明】
[0014]图1为本发明实施例一提供的一种NAS加速方法的流程图;
[0015]图2为本发明实施例二提供的一种NAS加速方法的流程图;
[0016]图3为本发明实施例二提供的方法完成一次读写操作的流程示意图;
[0017]图4为本发明实施例三提供的一种NAS加速系统的结构示意图。

【具体实施方式】
[0018]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0019]实施例一
[0020]图1为本发明实施例一提供的一种NAS加速方法的流程图,本实施例可适用于包括NAS和至少一台客户机的网络环境中,如企业网盘等。该方法选用SSD磁盘作为加速设备,通过将性能的优化方向聚焦在提升读性能上,提供了一种新的加速机制。如图1所示,该方法具体包括如下步骤:
[0021]步骤110、NAS服务器接收到写指令时,获取待写入的数据,并将待写入的数据缓存在NAS服务器内存中;将存储在NAS服务器内存中的数据直接写入机械硬盘;将写入机械硬盘中的数据缓存到SSD中;
[0022]所述NAS为一种特殊的专用数据存储服务器,包括存储器件和内嵌系统软件,可提供跨平台文件共享功能。所述待写入的数据是指各客户机发送给NAS服务器的数据。优选地待写入数据可以是非结构化数据,如办公文档、文本、图片、视频等。由于所述待写入直接由NAS服务器内存直接写入机械硬盘,在SSD缓存中无驻留,因此即使发生类似断电故障时,所述写数据也不会丢失,数据安全性高。
[0023]在所述待写入的数据写入机械硬盘之后,将写入机械硬盘中的数据缓存到高速缓存固态硬盘SSD中,以提高后续读取数据的速度。
[0024]步骤120、NAS服务器接收到读指令时,若SSD盘中存储有所述读指令需要读取的数据,则根据该读指令直接读取缓存在SSD盘中的数据,并缓存在NAS服务器内存中;若SSD盘中未存储有所述读指令需要读取的数据,则根据该读指令从机械硬盘中读取数据,并缓存在NAS服务器内存中;将读取到内存中的数据传输给各客户机。
[0025]其中,所述读指令由各客户机发送,由NAS服务器执行。NAS服务器接收到读指令后,分析处理所述读指令,并搜寻所述读指令需要读取的数据是否存储在SSD高速缓存盘中,当所述SSD盘中存储有所述读指令需要读取的数据时,对SSD盘中的目标数据进行读操作,当所述SSD盘中未存储有所述读指令需要读取的数据时,则根据该读指令从机械硬盘中搜寻并读取数据;将从SSD盘或机械硬盘中读取的数据缓存在NAS服务器内存中并发送给请求该数据的客户机,最终完成一次读操作。由于该方法读过程中被读取的数据在机械硬盘上还有一个源文件,所以即使SSD盘中缓存的数据丢失时,依然可以从机械硬盘读取,无需采用传统的RAID卡管理模式对数据进行保护。
[0026]进一步地,所述SSD盘直接连接在机械硬盘背板上,通过所述NAS操作系统对SSD盘和机械硬盘直接进行管理。由于无需通过RAID卡管理SSD盘,因此无需考虑RAID瓶颈问题,充分发挥了 SSD盘的物理性能。
[0027]本实施例的技术方案,通过选用SSD盘作为加速设备,直接安装在机械硬盘背板上,通过操作系统直接管理SSD和机械硬盘,只聚焦加速读性能,将写数据直接写入磁盘,改变了传统的RAID卡管理模式,突破了 RAID瓶颈,数据的安全性高,充分发挥了 SSD的物理性能,实现了 NAS的加速。
[0028]实施例二
[0029]本实施例提供的一种NAS加速方法为一种优选的实施方式。图2为本发明实施例二提供的一种NAS加速方法的流程图,图3为本发明实施例二提供的方法完成一次读写操作的流程示意图。该方法具体包括如下步骤:
[0030]步骤210、将所述SSD盘划分为元数据缓存区和数据缓存区,元数据缓存区用于记录SSD中缓存数据的信息,数据缓存区用于存储缓存到SSD中的数据;
[0031]所述元数据缓存区和数据缓存区可以通过软件分别控制,所述元数据是指描述数据属性的信息,用来支持如指示存储位置、资源查找等功能。读取数据时,可以先通过读取元数据缓存区中的信息找到所需读取的数据信息,再根据所述数据信息从数据缓存区中快速读取目标数据,从而提高数据读取速率。
[0032]步骤220、NAS服务器接收到写指令时,获取待写入的数据,并将待写入的数据缓存在NAS服务器内存中;将存储在NAS服务器内存中的数据直接写入机械硬盘;将写入机械硬盘中的数据缓存到SSD中;
[0033]进一步地,所述将写入机械硬盘中的数据缓存到高速缓存固态硬盘SSD中,具体包括:将写入机械硬盘中的数据缓存到SSD的数据缓存区,并在SSD的元数据缓存区中记录缓存到数据缓存区中各数据的信息。
[0034]步骤230、NAS服务器接收到读指令时,若SSD盘中存储有所述读指令需要读取的数据,则根据该读指令直接读取缓存在SSD盘中的数据,并缓存在NAS服务器内存中;若SSD盘中未存储有所述读指令需要读取的数据,则根据该读指令从机械硬盘中读取数据,并缓存在NAS服务器内存中;将读取到内存中的数据传输给各客户机。
[0035]进一步地,所述根据该读指令直接读取缓存在SSD盘中的数据,具体包括:访问元数据缓存区以获取所述读指令需要读取的数据的信息,根据获取到的信息在数据缓存区中读取所述读指令需要读取的数据。
[0036]所述SSD盘直接连接在机械硬盘背板上,通过所述NAS操作系统对SSD盘和机械硬盘直接进行管理。由于无需通过RAID卡管理SSD盘,因此无需考虑RAID瓶颈问题,充分发挥了 SSD盘的物理性能。
[0037]在上述技术方案基础上,优选地,在读操作中,在从机械硬盘中实现两次以上读取某一数据后,将该读取的数据缓存到SSD的数据缓存区,并在SSD的元数据缓存区中记录缓存到数据缓存区中数据的信息。这样设置的好处是,不必每次读取数据都去访问机械硬盘,由于SSD中预先缓存有所需读取的数据,再一次读取该数据时可以直接从SSD中获取,从而进一步提闻数据读取速度,减少等待时间。
[0038]本实施例的技术方案,通过将SSD盘划分为元数据缓存区和数据缓存区,分别用来缓存数据的信息和数据,减少了读取数据时的搜寻时间,进一步提高了数据读取速度,进而实现NAS加速。
[0039]实施例三
[0040]图4为本发明实施例二提供的一种NAS加速系统的结构示意图,该NAS加速系统具体包括:
[0041]数据获取模块410,用于获取待写入的数据,并将待写入的数据缓存在NAS服务器内存中;
[0042]数据写入模块420,用于将存储在NAS服务器内存中的数据直接写入机械硬盘,并缓存到SSD盘中,再将写入机械硬盘中的数据缓存到高速缓存固态硬盘SSD中;
[0043]数据读取模块430,用于当SSD盘中存储有所述读指令需要读取的数据,则根据该读指令直接读取缓存在SSD盘中的数据,并缓存在NAS服务器内存中;当SSD盘中未存储有所述读指令需要读取的数据,则根据该读指令从机械硬盘中读取数据,并缓存在NAS服务器内存中;
[0044]数据传输模块440,用于将读取到NAS服务器内存中的数据传输给各客户机。
[0045]其中,SSD盘直接连接在机械硬盘背板上,通过所述NAS操作系统对SSD盘和机械硬盘直接进行管理。
[0046]所述SSD盘分为元数据缓存区和数据缓存区,元数据缓存区记录SSD盘中缓存数据的信息,数据缓存区记录缓存的数据;
[0047]进一步地,所述数据写入模块具体用于:将写入机械硬盘中的数据缓存到SSD的数据缓存区,并在SSD的元数据缓存区中记录缓存到数据缓存区中各数据的信息;所述数据读取模块具体用于:访问元数据缓存区以获取所述读指令需要读取的数据的信息,根据获取到的信息在数据缓存区中读取所述读指令需要读取的数据。
[0048]所述数据读取模块具体还用于:在从机械硬盘中实现两次以上读取某一数据后,将该读取的数据缓存到SSD的数据缓存区,并在SSD的元数据缓存区中记录缓存到数据缓存区中数据的信息。
[0049]本实施例通过该NAS加速系统的各模块间顺序工作,最终实现了 NAS的加速。上述NAS加速系统可执上述各实施例所提供的NAS加速方法,具备执行方法相应的功能模块和有益效果。
[0050]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
【权利要求】
1.一种网络附属存储NAS加速方法,其特征在于,包括: NAS服务器接收到写指令时,获取待写入的数据,并将待写入的数据缓存在NAS服务器内存中;将存储在NAS服务器内存中的数据直接写入机械硬盘;将写入机械硬盘中的数据缓存到高速缓存固态硬盘SSD中; NAS服务器接收到读指令时,若SSD盘中存储有所述读指令需要读取的数据,则根据该读指令直接读取缓存在SSD盘中的数据,并缓存在NAS服务器内存中;若SSD盘中未存储有所述读指令需要读取的数据,则根据该读指令从机械硬盘中读取数据,并缓存在NAS服务器内存中;将读取到内存中的数据传输给各客户机。
2.根据权利要求1所述的NAS加速方法,其特征在于,在NAS服务器接收到写指令之前,还包括: 将所述SSD盘划分为元数据缓存区和数据缓存区,元数据缓存区用于记录SSD中缓存数据的信息,数据缓存区用于存储缓存到SSD中的数据; 所述将写入机械硬盘中的数据缓存到高速缓存固态硬盘SSD中,具体包括: 将写入机械硬盘中的数据缓存到SSD的数据缓存区,并在SSD的元数据缓存区中记录缓存到数据缓存区中各数据的信息; 所述根据该读指令直接读取缓存在SSD盘中的数据,具体包括: 访问元数据缓存区以获取所述读指令需要读取的数据的信息,根据获取到的信息在数据缓存区中读取所述读指令需要读取的数据。
3.根据权利要求2所述的NAS加速方法,其特征在于,还包括:在从机械硬盘中实现两次以上读取某一数据后,将该读取的数据缓存到SSD的数据缓存区,并在SSD的元数据缓存区中记录缓存到数据缓存区中数据的信息。
4.根据权利要求1所述的NAS加速方法,其特征在于,所述SSD盘直接连接在机械硬盘背板上,通过所述NAS操作系统对SSD盘和机械硬盘直接进行管理。
5.一种NAS加速系统,其特征在于,包括: 数据获取模块,用于获取待写入的数据,并将待写入的数据缓存在NAS服务器内存中;数据写入模块,用于将存储在NAS服务器内存中的数据直接写入机械硬盘,并缓存到SSD盘中,再将写入机械硬盘中的数据缓存到高速缓存固态硬盘SSD中; 数据读取模块,用于当SSD盘中存储有所述读指令需要读取的数据,则根据该读指令直接读取缓存在SSD盘中的数据,并缓存在NAS服务器内存中;当SSD盘中未存储有所述读指令需要读取的数据,则根据该读指令从机械硬盘中读取数据,并缓存在NAS服务器内存中; 数据传输模块,用于将读取到内存中的数据传输给各客户机。
6.根据权利要求5所述的NAS加速系统,其特征在于,所述SSD盘分为元数据缓存区和数据缓存区,元数据缓存区记录SSD盘中缓存数据的信息,数据缓存区记录缓存的数据; 所述数据写入模块具体用于:将写入机械硬盘中的数据缓存到SSD的数据缓存区,并在SSD的元数据缓存区中记录缓存到数据缓存区中各数据的信息; 所述数据读取模块具体用于:访问元数据缓存区以获取所述读指令需要读取的数据的信息,根据获取到的信息在数据缓存区中读取所述读指令需要读取的数据。
7.根据权利要求6所述的NAS加速系统,其特征在于,所述数据读取模块具体还用于:在从机械硬盘中多次读取数据后,将读取的数据缓存到SSD的数据缓存区,并在SSD的元数据缓存区中记录缓存到数据缓存区中数据的信息。
8.根据权利要求6所述的NAS加速系统,其特征在于,SSD盘直接连接在机械硬盘背板上,通过所述NAS操作系统对SSD盘和机械硬盘直接进行管理。
【文档编号】H04L29/08GK104267912SQ201410483236
【公开日】2015年1月7日 申请日期:2014年9月19日 优先权日:2014年9月19日
【发明者】阮薛平 申请人:北京联创信安科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1