一种读写对象存储系统中的数据的方法以及装置制造方法及图纸

技术编号:14063169 阅读:51 留言:0更新日期:2016-11-28 01:42
本发明专利技术公开一种读写对象存储系统中的数据的方法以及装置。其中,所述方法包括:将对象存储系统挂载到内核fuse模块在用户空间创建的用户空间文件系统中,并配置每个客户端到对象存储系统中存储空间的路径信息;若客户端读取存储对象,先从用户空间文件系统的缓存中读取数据,若缓存中没有要读取的数据,则根据用户空间文件系统数据库中存储对象的元数据信息封装rest服务接口,通过rest服务操作对象存储系统中的存储对象,实现对象存储系统中的数据的读取;若客户端写入文件,用户空间文件系统根据文件大小和分块大小,将文件分割成一个或多个分块文件,写入本地缓存,并存储文件属性信息和分块信息,及调用rest服务将缓存中的分块写入对象存储系统,并记录存储对象的元数据信息。

【技术实现步骤摘要】

本专利技术涉及数据读写领域,具体地,涉及一种读写对象存储系统中的数据的方法以及装置
技术介绍
随着高通量测序技术的不断发展,生物信息数据正以爆炸式速度增长。生物大数据包罗信息多、价值大,具有数据量大(Volume)、多样性(Variety)、价值高(Value)、处理速度快(Velocity)等“4V”特点,如能有效挖掘,对科研、农业、医药、健康、卫生等各方面都将产生深刻的影响。在数据爆炸式增长的同时,如何对这些数据进行存储和有效利用也是个极具挑战的问题。传统的基础架构已经对这些大规模的数据束手无策,对基础架构的扩充和维护也需要较大的成本。幸运的是,以大规模分布式数据中心集群为支撑的对象存储云服务的不断发展,使得企业在大数据存储方面有了一个很好的解决方案。然而,在处理大量生物信息数据时,如何简便信息计算程序对大量中间文件进行频繁的读写操作是一个极具有挑战性的问题。
技术实现思路
本专利技术的目的是提供一种读写对象存储系统中的数据的方法以及装置。其中,所述方法不仅极大地方便了信息计算程序对大量中间文件进行频繁的读写操作,而且还优化了计算程序的处理流程。为了实现上述目的,本专利技术提供一种读写对象存储系统中的数据的方法。所述方法包括:将所述对象存储系统挂载到内核fuse模块在用户空间创建的用户空间文件系统中,并配置每个客户端到所述对象存储系统中存储空间的路径信息;在客户端读取存储对象的情况下,先从所述用户空间文件系统的缓存中读取数据,若缓存中没有要读取的数据,则根据所述用户空间文件系统数据库中存储对象的元数据信息封装rest服务接口,通过rest服务操作所述对象存储系统中的存储对象,实现所述对象存储系统中的数据的读取;在客户端写入文件的情况下,所述用户空间文件系统根据文件大小和分块大小,将文件分割成一个或多个分块文件,写入本地缓存,并存储文件属性信息和分块信息,最后调用rest服务将缓存中的分块写入所述对象存储系统,并记录存储对象的元数据信息。可选地,所述方法还包括:在所述客户端读取存储对象的情况下,根据所述数据库中存储的元数据信息判断本地缓存空间中是否存在所请求的数据资源,若存在,则读取所述本地缓存空间中的数据。可选地,所述方法还包括:在根据所述文件大小及分块大小对所述文件进行处理后,将处理后的文件存储至本地缓存空间,并通过rest服务将存储至本地缓存空间的文件上传至所述对象存储系统的存储空间中。可选地,所述将文件分割成一个或多个分块文件,包括:根据所述文件的属性信息判断所述文件的大小是否大于预设的阈值;在根据所述文件的属性信息判断所述文件的大小大于预设的阈值的情况下,将所述文件进行分块处理,并将所述文件的分块存储至本地缓存空间中。可选地,所述方法还包括:采用LRU算法管理所述本地缓存空间,换出缓存中最近最久未被使用的数据,存入最近写入的数据。可选地,所述元数据信息包括以下中的至少一者:分块信息、存储对象元数据、文件与对象的映射关系以及本地文件属性信息。可选地,所述对象存储系统包括S3对象存储系统和OSS对象存储系统。可选地,所述方法还包括:在所述内核fuse模块在用户空间创建用户空间文件系统时,通过参数配置选择对象存储系统类别和数据中心。相应地,本专利技术还提供一种读写对象存储系统中的数据的装置。所述装置包括:挂载单元,用于将所述对象存储系统挂载到内核fuse模块在用户空间创建的用户空间文件系统中,并配置每个客户端到所述对象存储系统中存储空间的路径信息;读取单元,用于在客户端读取存储对象的情况下,先从所述用户空间文件系统的缓存中读取数据,若缓存中没有要读取的数据,则根据所述用户空间文件系统数据库中存储对象的元数据信息封装rest服务接口,通过rest服务操作所述对象存储系统中的存储对象,实现所述对象存储系统中的数据的读取;写入单元,用于在客户端写入文件的情况下,所述用户空间文件系统根据文件大小和分块大小,将文件分割成一个或多个分块文件,写入本地缓存,并存储文件属性信息和分块信息,最后调用rest服务将缓存中的的分块写入所述对象存储系统,并记录存储对象的元数据信息。可选地,所述读取单元,还用于:在所述客户端读取存储对象的情况下,根据所述数据库中存储的元数据信息判断本地缓存空间中是否存在所请求的数据资源,若存在,则读取所述本地缓存空间中的数据。通过上述技术方案,将对象存储系统挂载到内核fuse模块在用户空间创建的用户空间文件系统中,并配置每个客户端到对象存储系统中存储空间的路径信息;在客户端读取存储对象的情况下,先从用户空间文件系统的缓存中读取数据,若缓存中没有要读取的数据,则根据用户空间文件系统数据库中存储对象的元数据信息封装rest服务接口,通过rest服务操作对象存储系统中的存储对象,实现对象存储系统中的数据的读取;在客户端写入文件的情况下,用户空间文件系统根据文件大小和分块大小,将文件分割成一个或多个分块文件,写入本地缓存,并存储文件属性信息和分块信息,最后调用rest服务将缓存中的分块写入对象存储系统,并记录存储对象的元数据信息,不仅极大地方便了信息计算程序对大量中间文件进行频繁的读写操作,而且还优化了计算程序的处理流程。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。图1是本专利技术一实施例提供的读写对象存储系统中的数据的方法的流程图;图2是本专利技术一实施例提供的读写对象存储系统中的数据的装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1是本专利技术一实施例提供的读写对象存储系统中的数据的方法的流程图。如图1所示,本专利技术一实施例提供的读写对象存储系统中的数据的方法包括:在步骤S101中,将所述对象存储系统挂载到内核fuse模块在用户空间创建的用户空间文件系统中,并配置每个客户端到所述对象存储系统中存储空间的路径信息。其中,所述对象存储系统包括亚马逊的S3对象存储系统和阿里云的OSS对象存储系统。对象存储系统负责对象数据的存储,由对象存储系统提供标准的API接口,供rest服务进行对象操作。内核fuse模块提供文件操作接口,并和虚拟文件系统进行交互。通过rest服务和内核fuse模块将对象存储系统以文件系统的形式挂载到用户空间中。此外,通过rest接口操作及管理对象存储系统中的远程存储对象。根据不同的文件操作封装一组不同的rest接口和缓存操作接口成为一个单独事务,以完成一个文件操作,如读操作或写操作等。具体地,每个客户端到对象存储系统的存储空间均有一条自定义的路径,并将自定义的路径挂载于用户空间文件系统中,从而实现了数据的隔离和保护。在客户端所写入的文件被分块处理成多个文件分块的情况下,一个文件会对应多个存储对象,也就是说,一个文件映射成多个对象存储至对象本文档来自技高网...
一种读写对象存储系统中的数据的方法以及装置

【技术保护点】
一种读写对象存储系统中的数据的方法,其特征在于,所述方法包括:将所述对象存储系统挂载到内核fuse模块在用户空间创建的用户空间文件系统中,并配置每个客户端到所述对象存储系统中存储空间的路径信息;在客户端读取存储对象的情况下,先从所述用户空间文件系统的缓存中读取数据,若缓存中没有要读取的数据,则根据所述用户空间文件系统数据库中存储对象的元数据信息封装rest服务接口,通过rest服务操作所述对象存储系统中的存储对象,实现所述对象存储系统中的数据的读取;在客户端写入文件的情况下,所述用户空间文件系统根据文件大小和分块大小,将文件分割成一个或多个分块文件,写入本地缓存,并存储文件属性信息和分块信息,最后调用rest服务将缓存中的分块写入所述对象存储系统,并记录存储对象的元数据信息。

【技术特征摘要】
1.一种读写对象存储系统中的数据的方法,其特征在于,所述方法包括:将所述对象存储系统挂载到内核fuse模块在用户空间创建的用户空间文件系统中,并配置每个客户端到所述对象存储系统中存储空间的路径信息;在客户端读取存储对象的情况下,先从所述用户空间文件系统的缓存中读取数据,若缓存中没有要读取的数据,则根据所述用户空间文件系统数据库中存储对象的元数据信息封装rest服务接口,通过rest服务操作所述对象存储系统中的存储对象,实现所述对象存储系统中的数据的读取;在客户端写入文件的情况下,所述用户空间文件系统根据文件大小和分块大小,将文件分割成一个或多个分块文件,写入本地缓存,并存储文件属性信息和分块信息,最后调用rest服务将缓存中的分块写入所述对象存储系统,并记录存储对象的元数据信息。2.根据权利要求1所述的读写对象存储系统中的数据的方法,其特征在于,所述方法还包括:在所述客户端读取存储对象的情况下,根据所述数据库中存储的元数据信息判断本地缓存空间中是否存在所请求的数据资源,若存在,则读取所述本地缓存空间中的数据。3.根据权利要求1所述的读写对象存储系统中的数据的方法,其特征在于,所述方法还包括:在根据所述文件大小及分块大小对所述文件进行处理后,将处理后的文件存储至本地缓存空间,并通过rest服务将存储至本地缓存空间的文件上传至所述对象存储系统的存储空间中。4.根据权利要求1所述的读写对象存储系统中的数据的方法,其特征在于,所述将文件分割成一个或多个分块文件,包括:根据所述文件的属性信息判断所述文件的大小是否大于预设的阈值;在根据所述文件的属性信息判断所述文件的大小大于预设的阈值的情况下,将所述文件进行分块处理,并将所述文件的分块存储至本地缓存空间中。5.根据权利要求2-4中任意一项权利要求所述的读写对象存储系统中的数据的方法,其特征在于,所述方法还包...

【专利技术属性】
技术研发人员:郑洪坤李明华杨峻张增金
申请(专利权)人:北京百迈客云科技有限公司
类型:发明
国别省市:北京;11

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

1