[发明专利]一种对象存取方法及装置在审
申请号: | 201711251456.5 | 申请日: | 2017-12-01 |
公开(公告)号: | CN109871181A | 公开(公告)日: | 2019-06-11 |
发明(设计)人: | 高哲;张浩;张晨晨;林文辉 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京合智同创知识产权代理有限公司 11545 | 代理人: | 李杰 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储索引信息 对象存取 预取 读取 同一数据块 第一数据 读取请求 对象存储 对象关联 顺序访问 随机访问 文件访问 磁盘 关联 缓解 | ||
本发明提供一种对象存取方法及装置,包括根据用户的读取请求,获得第一对象的存储索引信息;根据存储索引信息,从第一数据块中读取第一对象以及预取与第一对象关联的第二对象。本发明通过将关联的对象存储在同一数据块中,实现对象的预取由随机访问变为顺序访问,能够有效的缓解磁盘压力,改善文件访问效率。
技术领域
本发明涉及云存储技术领域,尤其涉及一种对象存取方法及装置。
背景技术
Swift(OpenStack Object Storage)是由全球第二大数据中心的Rackspace开发,并于2010年贡献给OpenStack社区后成为其存储服务模块。Swift搭建在比较便宜的标准硬件设备上,出于成本的考虑并没有使用RAID(磁盘冗余阵列),通过软件层面引入一致性哈希和数据容灾技术。Swift支持多租户模式、容器和对象的读写操作,其具有稳定、扩展性强、成本低等特点,受到越来越多的人重视。
Swift存储系统中由对象服务来完成对用户存储数据维护工作,而对象服务在读写文件时调用本地磁盘文件系统(XFS),将对象的数据和属性信息以文件的形式保存在磁盘上。系统从磁盘中读取数据时,不会一个扇区一个扇区的读,而是通过连续读取多个扇区,即一次性读取一个块。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:在面对越来越多的小文件对象读写的场景下,Swift分布式对象存储系访问带宽会大幅下降,对象访问效率较低。
发明内容
有鉴于此,本发明实施例所解决的技术问题之一在于提供一种对象存取方法及装置,用以克服现有技术中云存储系统中对象读写效率偏低的缺陷,达到减少文件数量,缓解磁盘压力,提高对象访问效率的效果。
本发明实施例提供一种对象存取方法,所述方法包括:
根据用户的读取请求,获得第一对象的存储索引信息;
根据所述存储索引信息,从第一数据块中读取所述第一对象以及预取与所述第一对象关联的第二对象。
可选地,在本发明一具体实施例中,所述存储索引信息包括:所述第一对象与所述第一数据块的映射关系。
可选地,在本发明一具体实施例中,所述存储索引信息存储在内存中。
可选地,在本发明一具体实施例中,在所述根据用户的读取请求,获得第一对象的存储索引信息的步骤之前,还包括:
根据用户数据,确定与所述第一对象关联的第二对象;
将所述第一对象和所述第二对象存储至第一数据块中。
可选地,在本发明一具体实施例中,在所述根据所述存储索引信息,从第一数据块中读取所述第一对象以及预取与所述第一对象关联的第二对象的步骤之后,还包括:
根据用户的对象访问操作,更新所述用户数据。
可选地,在本发明一具体实施例中,在所述根据所述存储索引信息,从第一数据块中读取所述第一对象以及预取与所述第一对象关联的第二对象的步骤之后,还包括:
获得所述用户对所述第一对象的操作增量数据,并将所述第一对象的操作增量数据存储至内存;
当所述内存中一个或者多个对象的操作增量数据的总量大于或者等于预设总量时,将所述一个或者多个对象的操作增量数据转存至磁盘。
本发明实施例还提供一种对象存取装置,所述装置包括:
索引获得模块,用于根据用户的读取请求,获得第一对象的存储索引信息;
预取模块,用于根据所述存储索引信息,从第一数据块中读取所述第一对象以及预取与所述第一对象关联的第二对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711251456.5/2.html,转载请声明来源钻瓜专利网。