一种云存储数据节点装置制造方法及图纸

技术编号:12175333 阅读:79 留言:0更新日期:2015-10-08 12:52
本发明专利技术公开了一种云存储数据节点装置,涉及云存储技术领域,用以提高基于云存储系统的数据写入性能。本发明专利技术实施例提供一种云存储数据节点装置,包括:服务模块、虚拟内存盘、包括多个内存管理单元的内存管理模块、监测器以及至少一个存储磁盘;内存管理模块用于通过各内存管理单元分别记录虚拟内存盘中对应的缓存空间的使用状态,并为客户端发送的数据分配内存管理单元;服务模块用于接收客户端发送的数据,并根据内存管理模块分配的内存管理单元,将数据写入对应的缓存空间中;监测器用于监测内存管理模块中的各内存管理单元的使用状态,并在满足预设条件时指示存储磁盘从所述虚拟内存盘中获取并存储数据。

【技术实现步骤摘要】

本专利技术涉及云存储
,尤其涉及一种云存储数据节点装置
技术介绍
客户端向云存储数据节点写入数据的过程,其实质是客户端向某一个硬盘写入数据的过程。现有的云存储数据写入主要是基于操作系统的缓存,直接使用系统接口进行数据写入操作,利用操作系统的缓存实现数据缓存管理与数据刷入磁盘的操作。当客户端需要向云存储数据节点写入的数据增多,那么就会发生在同一时刻有很多的请求发送给这个数据节点的磁盘,以请求写入数据,这就形成在单个磁盘上发生大量随机写入操作的现象,而大量的随机写入操作会使得磁盘对外提供的写入性能急剧下降。综上,现有技术中,当存在海量客户端持续向云存储数据节点进行写入操作时,会导致云存储系统写入性能降低,同时会产生大量的文件碎片,继而导致云存储集群性能变差。
技术实现思路
本专利技术实施例提供了一种云存储数据节点装置,用以提高基于云存储系统的数据写入性能。本专利技术实施例提供的一种云存储数据节点装置,包括服务模块、用于缓存客户端写入的数据的虚拟内存盘、包括多个内存管理单元的内存管理模块、监测器以及至少一个存储磁盘;其中,所述内存管理模块用于通过各内存管理单元分别记录虚拟内存盘中对应的缓存空间的使用状态,生成各内存管理单元的记录信息,每一内存管理单元的记录信息至少包括:该内存管理单元是否处于使用状态;并根据各内存管理单元的记录信息,为客户端发送的数据分配内存管理单元;所述服务模块用于接收客户端发送的数据,并根据所述内存管理模块分配的内存管理单元,将所述数据写入对应的缓存空间中;所述监测器用于监测所述内存管理模块中的各内存管理单元的使用状态,并在满足预设条件时指示所述存储磁盘从所述虚拟内存盘中获取并存储数据。本专利技术实施例提供的云存储数据节点装置,通过服务模块接收客户端发送的数据,通过虚拟内存盘缓存客户端写入的数据,通过内存管理模块为数据分配虚拟内存盘的内存管理单元,以及通过监测器检测内存管理模块的使用状态,并在满足预设条件时指示存储磁盘从所述虚拟内存盘中获取并存储数据,从而,提高了数据的写入性能。较佳的,所述服务模块包括分配单元和多个会话处理单元,其中,所述分配单元用于:接收客户端发送的建立会话链路的请求并为该请求分配会话处理单元,建立该会话处理单元与该客户端之间的会话链路;所述会话处理单元用于:通过该会话处理单元与客户端之间的会话链路,接收该客户端发送的数据,并根据所述内存管理模块分配的内存管理单元将该客户端发送的数据写入对应的缓存空间中。较佳的,所述会话处理单元还用于:在接收客户端发送的数据之前,通过该会话处理单元与该客户端之间的会话链路接收该客户端发送的写入数据请求,并根据该客户端发送的写入数据请求向内存管理模块申请内存管理单元;所述内存管理模块根据内存管理单元的记录信息,为客户端发送的数据分配内存管理单元时,具体用于:收到会话处理单元的申请时,根据内存管理单元的记录信息,为客户端发送的数据分配内存管理单元。较佳的,所述内存管理模块还用于:根据内存管理单元的记录信息将内存管理单元分为已分配队列和未分配队列,其中,若内存管理单元处于使用状态,则该内存管理单元属于已分配队列;若内存管理单元不处于使用状态,则该内存管理单元处于未分配队列;所述会话处理单元根据该客户端发送的写入数据请求,向内存管理模块申请内存管理单元时,具体用于:判断当前接收到的客户端发送的写入数据请求,是否为该待写入数据的第一次写入请求;若是,则申请内存管理模块的未分配队列中的内存管理单元;并在申请到未分配队列中的内存管理单元后,建立与该申请到的内存管理单元之间的绑定关系;若否,则申请内存管理模块的已分配队列中的内存管理单元。较佳的,所述会话处理单元申请内存管理模块中的已分配队列中的内存管理单元时,具体用于:判断已分配队列中已与该会话处理单元建立绑定关系的内存管理单元对应的虚拟内存盘中的缓存空间是否具有可用的空闲空间,如果是,则将该客户端发送的数据写入该空闲空间;否则,申请内存管理模块的未分配队列中的内存管理单元。较佳的,所述会话处理单元还用于:若当前用于写入客户端发送的数据的内存管理单元对应的虚拟内存盘中的缓存空间容量小于该客户端发送的数据的需求容量,则再次向内存管理模块申请未分配队列的内存管理单元。较佳的,在所述会话处理单元将所述数据写入所述虚拟内存盘中的缓存空间之后,所述会话处理单元还用于向客户端发送写入完成消息;所述内存管理模块还用于更新该缓存空间对应的内存管理单元的记录信息。较佳的,所述内存管理单元的记录信息还包括:该内存管理单元是否处于锁住状态以及该内存管理单元的最后访问时间;在内存管理模块的已分配队列中,若内存管理单元不处于锁住状态,则该内存管理单元为使用结束的内存管理单元;所述监测器在满足预设条件指示所述存储磁盘从所述虚拟内存盘中获取并存储所述数据时,具体用于:当接收到会话处理单元在内存管理模块的未分配队列中没有空闲的内存管理单元时发送的触发信号时;或,当所述内存管理模块中的已分配队列中的内存管理单元占所有内存管理单元的比例大于预设值,且小于百分之百时,在已分配队列中查找最后访问时间最早的使用结束的内存管理单元;根据该最后访问时间最早的使用结束的内存管理单元绑定的会话处理单元记录的最终操作信息,确定当前使用结束的内存管理单元列表以及该内存管理单元列表对应的缓存空间的数据写入的存储磁盘;其中,所述最终操作信息包括:该会话处理单元是否存在关联的存储磁盘的信息;将所述内存管理单元列表的记录信息发送给所述存储磁盘;所述存储磁盘根据该存储磁盘对应的内存管理单元列表的记录信息获取并存储该内存管理单元列表对应的缓存空间的数据;在所述存储磁盘根据该存储磁盘对应的内存管理单元列表的记录信息获取并存储该内存管理单元列表对应的缓存空间的数据之后,所述会话处理单元还用于:记录关联的存储磁盘的信息。较佳的,所述监测器根据该最后访问时间最早的使用结束的内存管理单元绑定的会话处理单元记录的最终操作信息,确定当前使用结束的内存管理单元列表以及该内存管理单元列表写入的存储磁盘时,具体用于:若所述会话处理单元不存在关联的存储磁盘的信息,则确定该最后访问时间最晚的使用结束的内存管理单元为当前使用结束的内存管理单元列表,并根据负载均衡策略确定当前使用结束的内存管理单元列表对应的缓存空间的数据写入的存储磁盘;若所述会话处理单元存在关联的存储磁盘的信息,则将存在该同一关联存储磁盘的信息的所有使用结束的内存管理单元确定为当前使用结束的内存管理单元列表,并将该关联存储磁盘的信息对应的存储磁盘确定为所述列表对应的数据写入的存储磁盘。较佳的,所述监测器在满足预设条件指示所述存储磁盘从所述虚拟内存盘中获取并存储所述数据时,具体还用于:当所述内存管理模块中的已分配队列中的内存管理单元占所有内存管理单元的比例等于百分之百时,遍历内存管理模块中的所有内存管理单元,查找当前使用结束的内存管理单元;根据每一当前使用结束的内存管理单元绑定的会话处理单元记录的最终操作信息,确定每一内存管理单元对应的数据写入的存储磁盘;将对应同一存储磁盘的当前使用结束的内存管理单元确定为一个内存管理单元列表;对于每一内存管理单元列表,将该内存管理单元列表的记录信息发送给该内存管理单元列表对应本文档来自技高网...

【技术保护点】
一种云存储数据节点装置,其特征在于,所述装置包括服务模块、用于缓存客户端写入的数据的虚拟内存盘、包括多个内存管理单元的内存管理模块、监测器以及至少一个存储磁盘;其中,所述内存管理模块用于通过各内存管理单元分别记录虚拟内存盘中对应的缓存空间的使用状态,生成各内存管理单元的记录信息,每一内存管理单元的记录信息至少包括:该内存管理单元是否处于使用状态;并根据各内存管理单元的记录信息,为客户端发送的数据分配内存管理单元;所述服务模块用于接收客户端发送的数据,并根据所述内存管理模块分配的内存管理单元,将所述数据写入对应的缓存空间中;所述监测器用于监测所述内存管理模块中的各内存管理单元的使用状态,并在满足预设条件时指示所述存储磁盘从所述虚拟内存盘中获取并存储数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:江文龙周明伟张海龙朱跃前张兴明
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:浙江;33

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

1