一种应用于云存储系统的多线程NAS网关技术方案

技术编号:12732102 阅读:55 留言:0更新日期:2016-01-20 15:31
本申请公开了一种应用于云存储系统的多线程NAS网关,包括读写请求分发模块、N个线程和N个存储队列。本申请中,云存储系统的N个文件与上述N个存储队列一一对应,读写请求分发模块用于将针对任一文件的读写请求消息存储至与该文件对应的存储队列,而上述N个线程则可用于对N个存储队列中存储的读写请求消息进行并行处理,其中,任一线程用于从与自身对应的存储队列中获取相应的读写请求消息,并对相应的文件进行读写操作处理。这样当Windows客户端在同时段向云存储系统发起多个数据读写请求时,可对上述多个数据读写请求进行并行处理,从而避免了大部分请求需要长时间处于等待状态的局面,提升了用户体验和系统的读写性能。

【技术实现步骤摘要】

本专利技术涉及云存储
,特别涉及一种应用于云存储系统的多线程NAS网关
技术介绍
目前,云存储系统在接收到Windows客户端发送的数据读写请求后,通常是采用CIFS协议(CIFS,即CommonInternetFileSystem,通用网络文件系统)来对上述数据读写请求进行处理的。然而,CIFS协议是一种基于单线程的协议,当云存储系统面临Windows客户端同时段发起的多个数据读写请求时,由于只能进行单线程的请求处理,从而导致大部分的请求需要长时间处于等待状态,既对用户体验造成不良影响,也限制了云存储系统的整体的读写性能。综上所述可以看出,当Windows客户端在同时段向云存储系统发起多个数据读写请求时,如何避免大部分请求需要长时间处于等待状态的局面是目前亟待解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种应用于云存储系统的多线程NAS网关,当Windows客户端在同时段向云存储系统发起多个数据读写请求时,避免了大部分请求需要长时间处于等待状态的局面,从而提升了用户体验和云存储系统整体的读写性能。其具体方案如下:一种应用于云存储系统的多线程NAS网关,所述云存储系统包括N个文件,所述多线程NAS网关包括读写请求分发模块、线程集和存储队列集;所述线程集包括N个线程,所述存储队列集包括N个存储队列,所述N个文件与所述N个存储队列一一对应,所述N个存储队列与所述N个线程一一对应,N为不小于2的正整数;其中,所述读写请求分发模块,用于将针对任一所述文件的读写请求消息存储至与该文件对应的存储队列;所述N个线程,用于对所述N个存储队列中存储的读写请求消息进行并行处理;其中,任一所述线程用于从与自身对应的存储队列中获取相应的读写请求消息,并根据该读写请求消息,对相应的文件进行读写操作处理。优选的,所述读写请求分发模块,具体用于当获取到针对任一所述文件的读写请求消息后,利用哈希算法,从所述N个存储队列中找出与该文件对应的存储队列,并将针对该文件的读写请求消息存储至与该文件对应的存储队列。优选的,所述多线程NAS网关还包括:容量监测模块,用于对所述N个存储队列中每一所述存储队列的存储空间的使用率进行监测。优选的,所述多线程NAS网关还包括:动态扩容模块,用于与所述容量监测模块连接,当任一所述存储队列的存储空间的使用率达到预设值后,对该存储队列的存储空间进行扩容处理。优选的,所述动态扩容模块,具体用于当任一所述存储队列的存储空间的使用率达到预设值后,按照预设的容量扩展倍数,对该存储队列的存储空间进行动态扩容处理。优选的,所述预设的容量扩展倍数为2的K次方,K为正整数。优选的,所述多线程NAS网关还包括:手动扩容模块,用于为用户提供扩容接口,当任一所述存储队列的存储空间的使用率达到预设值后,获取用户通过所述扩容接口输入的扩容指令,以利用该扩容指令对该存储队列的存储空间进行相应的扩容处理。优选的,所述扩容指令含有的参数包括扩容倍数。优选的,所述多线程NAS网关还包括:使用率显示模块,用于对每一所述存储队列的存储空间的使用率进行显示。优选的,所述多线程NAS网关还包括:预警信息生成模块,用于与所述容量监测模块连接,当任一所述存储队列的存储空间的使用率达到预设值后,生成相应的预警信息。本专利技术中,多线程NAS网关(NAS,即NetworkAttachedStorage,网络附属存储)包括读写请求分发模块、N个线程和N个存储队列,云存储系统中的N个文件与N个存储队列一一对应,N个存储队列与N个线程一一对应,N为不小于2的正整数;其中,读写请求分发模块可用于将针对任一文件的读写请求消息存储至与该文件对应的存储队列;上述N个线程用于对N个存储队列中存储的读写请求消息进行并行处理;其中,任一线程用于从与自身对应的存储队列中获取相应的读写请求消息,并根据该读写请求消息,对相应的文件进行读写操作处理。可见,本专利技术中,云存储系统的N个文件与N个存储队列一一对应,读写请求分发模块可用于将针对任一文件的读写请求消息存储至与该文件对应的存储队列,而上述N个线程则可用于对N个存储队列中存储的读写请求消息进行并行处理。这样当Windows客户端在同时段向云存储系统发起多个数据读写请求时,本专利技术提供的多线程NAS网关可对上述多个数据读写请求进行并行处理,从而避免了大部分请求需要长时间处于等待状态的局面,提升了用户体验和云存储系统整体的读写性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例公开的一种多线程NAS网关的应用结构示意图;图2为本专利技术实施例公开的一种具体的多线程NAS网关的应用结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种应用于云存储系统的多线程NAS网关,云存储系统包括N个文件。参见图1所示,本实施例中,多线程NAS网关包括读写请求分发模块11、存储队列集12和线程集13;线程集13包括N个线程,存储队列集12包括N个存储队列,N个文件与N个存储队列一一对应,N个存储队列与N个线程一一对应,N为不小于2的正整数;其中,读写请求分发模块11,用于将针对任一文件的读写请求消息存储至与该文件对应的存储队列;N个线程,用于对N个存储队列中存储的读写请求消息进行并行处理;其中,任一线程用于从与自身对应的存储队列中获取相应的读写请求消息,并根据该读写请求消息,对相应的文件进行读写操作处理。本专利技术实施例中,多线程NAS网关包括读写请求分发模块、N个线程和N个存储队列,云存储系统中的N个文件与N个存储队列一一对应,N个存储队列与N个线程一一对应,N为不小于2的正整数;其中,读写请求分发模块可用于将针对任一文件的读写请求消息存储至与该文件对应的存储队列;上述N个线程用于对N个存本文档来自技高网...

【技术保护点】
一种应用于云存储系统的多线程NAS网关,其特征在于,所述云存储系统包括N个文件,所述多线程NAS网关包括读写请求分发模块、存储队列集和线程集;所述线程集包括N个线程,所述存储队列集包括N个存储队列,所述N个文件与所述N个存储队列一一对应,所述N个存储队列与所述N个线程一一对应,N为不小于2的正整数;其中,所述读写请求分发模块,用于将针对任一所述文件的读写请求消息存储至与该文件对应的存储队列;所述N个线程,用于对所述N个存储队列中存储的读写请求消息进行并行处理;其中,任一所述线程用于从与自身对应的存储队列中获取相应的读写请求消息,并根据该读写请求消息,对相应的文件进行读写操作处理。

【技术特征摘要】
1.一种应用于云存储系统的多线程NAS网关,其特征在于,所述云存
储系统包括N个文件,所述多线程NAS网关包括读写请求分发模块、存储队
列集和线程集;所述线程集包括N个线程,所述存储队列集包括N个存储队
列,所述N个文件与所述N个存储队列一一对应,所述N个存储队列与所述
N个线程一一对应,N为不小于2的正整数;其中,
所述读写请求分发模块,用于将针对任一所述文件的读写请求消息存储
至与该文件对应的存储队列;
所述N个线程,用于对所述N个存储队列中存储的读写请求消息进行并
行处理;其中,任一所述线程用于从与自身对应的存储队列中获取相应的读
写请求消息,并根据该读写请求消息,对相应的文件进行读写操作处理。
2.根据权利要求1所述的应用于云存储系统的多线程NAS网关,其特
征在于,所述读写请求分发模块,具体用于当获取到针对任一所述文件的读
写请求消息后,利用哈希算法,从所述N个存储队列中找出与该文件对应的
存储队列,并将针对该文件的读写请求消息存储至与该文件对应的存储队列。
3.根据权利要求2所述的应用于云存储系统的多线程NAS网关,其特
征在于,还包括:
容量监测模块,用于对所述N个存储队列中每一所述存储队列的存储空
间的使用率进行监测。
4.根据权利要求3所述的应用于云存储系统的多线程NAS网关,其特
征在于,还包括:
动态扩容模块,用于与所述容量监测模块连接,当任一所述存储队列的

【专利技术属性】
技术研发人员:吕强
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1