[发明专利]一种处理文件请求的方法与系统有效
申请号: | 201510622867.5 | 申请日: | 2015-09-25 |
公开(公告)号: | CN105094992B | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 李雪生;张延良 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 文件 请求 方法 系统 | ||
本发明公开了一种处理文件请求的方法与系统,将总内存空间按第一预设规则分成多个内存池,将每个内存池分别与一个对应的元数据处理线程进行绑定,将每个元数据线程分别与一个对应的服务核进行绑定,将全部元数据按第二预设规则与各所述元数据处理线程建立对应关系,并根据每个元数据标识和对应的线程编号生成目录表,接受元数据请求,确定所述元数据请求中的各目标元数据的元数据标识,根据各所述目标元数据的元数据标识通过所述目录表查找各所述目标元数据对应的各目标元数据处理线程,将各所述目标元数据分别存储至对应的目标元数据处理线程具有绑定关系的内存池中,提高多线程的缓存性能以及内存访问性能。
技术领域
本发明涉及元数据缓存领域,特别是涉及一种处理文件请求的方法与系统。
背景技术
随着云存储应用的快速发展,尤其互联网业务的快速发展,海量小文件的应用对分布式文件系统元数据性能提出更高的要求。一般情况,元数据集群管理海量的文件元数据信息,需要使用大内存容量空间,这样多cpu、多核使用内存空间就会存在竞争及严重的缓存性能问题。
一方面,Cpu锁、核锁造成并发下降,系统处理性能不高;另一方面,元数据数据处理在大内存空间进行元数据检索、修改等操作,就会造成核的硬件多级缓存性能很难发挥,TLB性能、cache性能很差,最终计算机硬件很难有效发挥性能。
发明内容
有鉴于此,本发明的主要目的在于提供一种处理文件请求的方法与系统,可以提高多线程缓存性能和内存访问性能。
为实现上述目的,本发明提供了一种处理文件请求的方法,包括:
将总内存空间按第一预设规则分成多个内存池;
将每个内存池分别与一个对应的元数据处理线程进行绑定,将每个元数据线程分别与一个对应的服务核进行绑定;
将全部元数据按第二预设规则与各所述元数据处理线程建立对应关系,并根据每个元数据标识和对应的线程编号生成目录表;
接受元数据请求,确定所述元数据请求中的各目标元数据的元数据标识;
根据各所述目标元数据的元数据标识通过所述目录表查找各所述目标元数据对应的各目标元数据处理线程,将各所述目标元数据分别存储至对应的目标元数据处理线程具有绑定关系的内存池中。
优选地,所述方法还包括:
当内存池负载不均衡时,调整所述目录表中各元数据处理线程的平衡均值,根据所述平衡均值重新建立全部元数据与各所述元数据处理线程的对应关系,进行元数据重新负载。
优选地,进行元数据重新负载包括:
接受新元数据请求,确定所述新元数据请求中的各目标元数据的元数据标识;
根据各所述目标元数据的元数据标识通过所述目录表查找各所述目标元数据对应的各目标元数据处理线程,将各所述目标元数据分别存储至对应的目标元数据处理线程具有绑定关系的内存池中。
优选地,所述第一预设规则为将总的内存空间按照预设内存池数目均分。
优选地,所述第二预设规则为将全部元数据平均分配至各所述元数据处理线程。
本发明还提供了一种处理文件请求的系统,包括:
分块模块,用于将总内存空间按第一预设规则分成多个内存池;
绑定模块,用于将每个内存池分别与一个对应的元数据处理线程进行绑定,将每个元数据线程分别与一个对应的服务核进行绑定;
目录表生成模块,用于将全部元数据按第二预设规则与各所述元数据处理线程建立对应关系,并根据每个元数据标识和对应的线程编号生成目录表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510622867.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文件备份方法及装置
- 下一篇:虚拟机迁移方法及系统