本发明涉及网络存储技术领域,特别是涉及一种网络附接存储方法。本发明还涉及一种网络附接存储服务装置。
背景技术:
网络附接存储(networkattachedstorage,nas)是基于计算机网络进行的存储,在nas系统中,一台计算机连接一个或多个存储设备,作为服务器,向网络内部提供存储服务;网络内的用户通过计算机网络来向该服务器提供访问请求。目前nas系统能够提供多种网络服务,可以为网络中的windows/linux/macos等各种不同操作系统的客户端计算机提供文件共享和数据备份。
现有技术中,nas(networkattachedstorage,网络附接存储)中的存储服务器,针对于客户端进行大目录文件复制的场景,是以单线程顺序进行的方式来复制文件,这种方式创建效率低,进行缓慢,耗时长。
技术实现要素:
有鉴于此,本发明的目的是提供一种网络附接存储方法及存储服务装置,实现以并发方式创建文件和临时文件,与现有技术相比可提高文件创建速率,减少耗时。
为实现上述目的,本发明提供如下技术方案:
一种网络附接存储方法,包括:
在接收到客户端发送的用于创建文件的请求报文后,检查当前缓存队列中是否存在与所述文件相同属性的临时文件;
若存在,则将该临时文件重命名,作为创建的文件,并将所述请求报文发送到子线程;
若不存在,则由主线程根据所述请求报文创建文件,并复制所述请求报文,将复制得到的请求报文发送到所述子线程;
由所述子线程根据接收到的请求报文创建临时文件,并将所创建的临时文件缓存到所述缓存队列中。
可选地,当接收到所述客户端发送的用于创建目录中的第一份文件的请求报文后,当前缓存队列中不存在临时文件,则由所述主线程根据该请求报文创建目录中的第一份文件,并复制该请求报文,将复制得到的请求报文发送到所述子线程。
可选地,还包括:在所述主线程创建完成文件后,向所述客户端返回指示已创建完成的响应报文。
可选地,所述子线程根据接收到的请求报文创建完成临时文件后,将所创建的临时文件发送到所述主线程,由所述主线程将临时文件缓存到所述缓存队列中。
一种网络附接存储服务装置,包括:
检查模块,用于在接收到客户端发送的用于创建文件的请求报文后,检查当前缓存队列中是否存在与所述文件相同属性的临时文件;
创建模块,用于若当前缓存队列中存在与所述文件相同属性的临时文件,则将该临时文件重命名,作为创建的文件,并将所述请求报文发送到子线程;
主线程,用于若当前缓存队列中不存在与所述文件相同属性的临时文件,则根据所述请求报文创建文件;
复制模块,用于若当前缓存队列中不存在与所述文件相同属性的临时文件,则复制所述请求报文,将复制得到的请求报文发送到所述子线程;
所述子线程,用于根据接收到的请求报文创建临时文件,并将所创建的临时文件缓存到所述缓存队列中。
可选地,还包括:
响应模块,用于在所述主线程创建完成文件后,向所述客户端返回指示已创建完成的响应报文。
可选地,所述子线程具体用于根据接收到的请求报文创建完成临时文件后,将所创建的临时文件发送到所述主线程,由所述主线程将临时文件缓存到所述缓存队列中。
由上述技术方案可知,本发明所提供的网络附接存储方法及存储服务装置,由主线程根据客户端发送的用于创建文件的请求报文创建文件,并将请求报文复制后发送到子线程,由子线程根据复制得到的请求报文创建临时文件,将临时文件缓存。
在根据客户端发送的请求创建文件过程中,在接收到客户端发送的用于创建文件的请求报文后,首先检查当前缓存队列中是否存在与所述文件相同属性的临时文件,若存在,则将该临时文件重命名作为创建的文件,并将请求报文发送到子线程,由子线程来创建临时文件;若不存在,则由主线程根据该请求报文创建文件,并复制请求报文,将复制得到的请求报文发送到子线程,由子线程根据接收到的请求报文创建临时文件。
本发明网络附接存储方法及存储服务装置,由主线程根据请求报文创建文件,并通过将请求报文复制,将复制的请求报文发送到子线程,由子线程创建临时文件,实现了以并发方式创建文件和临时文件。与现有方法中以单线程顺序进行的方式复制文件相比,可提高创建速率,加快对大目录文件的创建,减少耗时。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络附接存储方法的流程图;
图2为本发明又一实施例提供的一种网络附接存储方法的流程图;
图3为本发明实施例网络附接存储方法的一种示意图;
图4为本发明实施例网络附接存储方法的又一种示意图;
图5为本发明实施例提供的一种网络附接存储服务装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参考图1,本发明实施例提供一种网络附接存储方法,包括步骤:
s10:在接收到客户端发送的用于创建文件的请求报文后,检查当前缓存队列中是否存在与所述文件相同属性的临时文件。
用于创建文件的请求报文包含文件的元数据信息。
所述缓存队列用于缓存创建的临时文件。
在根据客户端发送的请求创建目录的文件过程中,在接收到客户端发送的用于创建文件的请求报文后,根据请求报文中文件的元数据信息,首先检查缓存队列中是否存在与所要创建的文件元数据信息相同的临时文件。
若存在,则执行步骤s11。
s11:将该临时文件重命名,作为创建的文件,并将所述请求报文发送到子线程。
本方法中,存储服务端包括主线程和子线程,其中,主线程用于根据接收到的请求报文创建文件,子线程用于根据接收到的请求报文创建临时文件。
若在缓存队列中存在与所要创建的文件相同属性的临时文件,则将该临时文件作为创建的文件,并重命名,则不需要由主线程根据接收到的请求报文创建文件。然后进入步骤s13。
若不存在,则执行步骤s12。
s12:由主线程根据所述请求报文创建文件,并复制所述请求报文,将复制得到的请求报文发送到所述子线程。
若在缓存队列中不存在与所要创建的文件相同属性的临时文件,则由主线程根据请求报文创建文件。
同时复制该请求报文,将复制得到的请求报文发送到子线程。然后进入步骤s13。
s13:由所述子线程根据接收到的请求报文创建临时文件,并将所创建的临时文件缓存到所述缓存队列中。
对于在当前缓存队列中存在与所述文件相同属性的临时文件的情况,则子线程根据接收到的请求报文创建临时文件,并将所创建的临时文件缓存到缓存队列中。
对于在当前缓存队列中不存在与所述文件相同属性的临时文件的情况,则子线程根据接收的复制得到的请求报文创建临时文件,并将所创建的临时文件缓存到缓存队列中。
在具体实施时,子线程根据接收到的请求报文创建完成临时文件后,可将所创建的临时文件发送到所述主线程,由所述主线程将临时文件缓存到所述缓存队列中。
进一步的,本实施例方法中,还包括步骤s14:在所述主线程创建完成文件后,向所述客户端返回指示已创建完成的响应报文。这样告知客户端这一文件在服务端已创建完成,若客户端目录中还存在要创建的文件,则客户端在接收到响应报文后,可以继续发送创建下一文件的请求报文。
本实施例网络附接存储方法,由主线程根据请求报文创建文件,并通过将请求报文复制,将复制的请求报文发送到子线程,由子线程创建临时文件,实现了以并发方式创建文件和临时文件。与现有方法中以单线程顺序进行的方式复制文件相比,可提高创建速率,加快对大目录文件的创建,减少耗时。
下面以对客户端的整个目录的文件进行创建为例,对应用本实施例网络附接存储方法进行目录文件创建的流程进行详细说明。请参考图2,具体过程包括以下步骤:
s20:当接收到客户端发送的用于创建目录中的第一份文件的请求报文后,当前缓存队列中不存在临时文件,则由所述主线程根据该请求报文创建目录中的第一份文件,并复制该请求报文,将复制得到的请求报文发送到子线程。
在接收到客户端发送的用于创建目录中的第一份文件的请求报文时,在缓存队列中还不存在临时文件,此时由主线程根据该请求报文,创建文件;并复制该请求报文,将复制得到的请求报文发送到子线程。
s21:由所述子线程根据接收到的请求报文创建临时文件,并将所创建的临时文件缓存到所述缓存队列中。
在具体实施时,子线程根据接收到的请求报文创建完成临时文件后,可将所创建的临时文件发送到所述主线程,由所述主线程将临时文件缓存到所述缓存队列中。
本方法中,主线程和子线程都能够访问该缓存队列。
s22:在所述主线程创建完成目录中的第一份文件后,向所述客户端返回指示已创建完成第一份文件的响应报文。
这样客户端接收到该响应报文后,得知服务端已创建完成第一份文件,则可以发送用于创建目录中第二份文件的请求报文。
s23:在接收到客户端发送的用于创建目录中的第二份文件的请求报文后,检查当前缓存队列中是否存在与所述第二份文件相同属性的临时文件。
此时即检查第二份文件与上一过程创建的临时文件是否属性相同,即是否具有相同元数据信息。
若存在,则执行步骤s24。
s24:将该临时文件重命名,作为创建的文件,并将所述请求报文发送到子线程。可参考图3,图3为本实施例网络附接存储方法的一种示意图,由图可以看出,当缓存队列中存在与第二份文件属性相同的临时文件时,将该临时文件重命名作为创建的文件。而后执行步骤s26。
若不存在,则执行步骤s25。
s25:由主线程根据该请求报文创建目录中的第二份文件,并复制该请求报文,将复制得到的请求报文发送到所述子线程。
可参考图4,图4为本实施例网络附接存储方法的又一种示意图,表示当缓存队列中不存在与第二份文件属性相同的临时文件时,则由主线程根据请求报文创建文件。
s26:由所述子线程根据接收到的请求报文创建临时文件,并将所创建的临时文件缓存到所述缓存队列中。
s27:在所述主线程创建完成目录中的第二份文件后,向所述客户端返回指示已创建完成第二份文件的响应报文。
使得客户端在接收到该响应报文后,能够继续发送创建目录中下一份文件的请求报文。按照步骤s23至步骤s27的方法依次创建目录中的各个文件,直至创建完成目录中的所有文件。
本实施例网络附接存储方法,由主线程根据请求报文创建文件,并通过将请求报文复制,将复制的请求报文发送到子线程,由子线程创建临时文件,实现了以并发方式创建文件和临时文件。可提高创建速率,加快对大目录文件的创建,减少耗时,提高网络存储性能。
相应的,请参考图5,本发明实施例还提供一种网络附接存储服务装置,包括:
检查模块30,用于在接收到客户端发送的用于创建文件的请求报文后,检查当前缓存队列中是否存在与所述文件相同属性的临时文件;
创建模块31,用于若当前缓存队列中存在与所述文件相同属性的临时文件,则将该临时文件重命名,作为创建的文件,并将所述请求报文发送到子线程;
主线程32,用于若当前缓存队列中不存在与所述文件相同属性的临时文件,则根据所述请求报文创建文件;
复制模块33,用于若当前缓存队列中不存在与所述文件相同属性的临时文件,则复制所述请求报文,将复制得到的请求报文发送到所述子线程;
所述子线程34,用于根据接收到的请求报文创建临时文件,并将所创建的临时文件缓存到所述缓存队列中。
可以看出,本实施例网络附接存储服务装置,由主线程根据客户端发送的用于创建文件的请求报文创建文件,并将请求报文复制后发送到子线程,由子线程根据复制得到的请求报文创建临时文件,将临时文件缓存。
在根据客户端发送的请求创建文件过程中,在接收到客户端发送的用于创建文件的请求报文后,首先由检查模块检查当前缓存队列中是否存在与所述文件相同属性的临时文件,若存在,则创建模块将该临时文件重命名作为创建的文件,并将请求报文发送到子线程,由子线程来创建临时文件;若不存在,则由主线程根据该请求报文创建文件,并由复制模块复制请求报文,将复制得到的请求报文发送到子线程,由子线程根据接收到的请求报文创建临时文件。
本实施例网络附接存储服务装置,由主线程根据请求报文创建文件,并通过将请求报文复制,将复制的请求报文发送到子线程,由子线程创建临时文件,实现了以并发方式创建文件和临时文件。与现有方法中以单线程顺序进行的方式复制文件相比,可提高创建速率,加快对大目录文件的创建,减少耗时。
进一步优选的,在本网络附接存储服务装置的又一实施例中,在上述内容的基础上,还包括:响应模块,用于在所述主线程创建完成文件后,向所述客户端返回指示已创建完成的响应报文。
这样告知客户端这一文件在服务端已创建完成,若客户端目录中还存在要创建的文件,则客户端在接收到响应报文后,可以继续发送创建下一文件的请求报文。
在以上实施例描述的网络附接存储服务装置中,所述子线程具体用于根据接收到的请求报文创建完成临时文件后,将所创建的临时文件发送到所述主线程,由所述主线程将临时文件缓存到所述缓存队列中。
以上对本发明所提供的一种网络附接存储方法及存储服务装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。