元数据管理方法、电子设备及计算机程序产品技术

技术编号:33551666 阅读:16 留言:0更新日期:2022-05-26 22:47
本申请公开了一种元数据管理方法、电子设备及可读存储介质,S3FS服务预先获取S3云端的存储桶内每个对象的元数据,把各对象的元数据写入S3FS服务的持久化数据库。采用该种方案,通过将元数据存储在持久化数据库中,使得用户通过S3FS服务操作文件的过程中,S3FS服务可直接基于本地存储的元数据,对访问请求进行处理,无需从S3云端获取元数据,降低了S3FS服务和S3云端的交互次数,提高响应速度的同时,降低资源消耗,并提高网络可靠性。并提高网络可靠性。并提高网络可靠性。

【技术实现步骤摘要】
元数据管理方法、电子设备及计算机程序产品


[0001]本申请涉及云存储
,特别涉及一种元数据管理方法、电子设备及计算机程序产品。

技术介绍

[0002]目前,主流的存储类型主要有三种:块存储、文件存储和对象存储。其中,对象存储有着块存储的高速直接访问磁盘的优点,同时兼具文件存储的分布式共享特点。因此,对象存储正逐渐在云计算存储服务领域占据越来越重要的地位。
[0003]对象存储本质上是网络存储系统,一般通过应用程序接口(Application Programming Interface,API)的形式进行访问。但是,普通用户很难通过写代码调用API的形式访问对象存储系统。S3FS是google开发的一款支持将对象存储中的存储桶(bucket)以文件形式导出的文件系统接口,兼容可移植操作系统接口(Portable Operating System Interface,POSIX)语义。S3FS是基于用户空间文件系统(File system in Userspace,FUSE)开发文件系统,允许Linux和Mac Os X挂载S3的存储桶在本地文件系统,S3FS能够保持对象原来的格式。因此,可借助S3FS系统来实现将对象存储转换为文件存储,这样一来,普通用户就可以像访问文件存储系统一样访问对象存储系统。
[0004]当用户操作文件时产生用于请求元数据的访问请求,部署了S3FS服务的设备接收到访问请求后,先判断内存中是否存在请求的元数据。若内存中没有,则通过网络从S3云端请求元数据。
[0005]然而,文件存储系统的日常使用中,用户对文件的大量操作产生大量的访问请求,使得元数据的访问和更新十分频繁。由于部署了S3FS服务的设备的内存空间有限,导致S3FS服务需频繁从S3云端获取元数据,不仅响应速度慢,耗费大量资源,而且当S3云端无法正常访问时,也会导致S3FS服务无法处理用户请求,影响用户体验。

技术实现思路

[0006]本申请提供一种元数据管理方法、电子设备及可读存储介质,通过将元数据存储在本地的持久化数据库中,减少S3FS服务和S3云端的交互,提高响应速度的同时,降低资源消耗。
[0007]第一方面,本申请实施例提供一种元数据管理方法,应用于S3FS服务,所述方法包括:
[0008]从S3云端获取挂载的存储桶内的元数据;
[0009]将所述存储桶内的元数据写入持久化数据库,所述持久化数据库是为所述S3FS服务创建的用于保存元数据的本地数据库。
[0010]一种可行的实现方式中,所述从S3云端获取挂载的存储桶内的元数据,包括:向所述S3云端发送获取请求,以请求获取所述存储桶对应的文件信息列表;
[0011]接收来自所述S3云端的获取响应,所述获取响应携带所述文件信息列表;
[0012]将所述文件信息列表发布到多线程请求队列中,以通过所述多线程请求队列中的线程请求所述文件信息列表中各文件的元数据,并将请求到的元数据写入所述数据库。
[0013]一种可行的实现方式中,所述将所述存储桶内的元数据写入持久化数据库之后,还包括:
[0014]处理用户发送的文件访问请求;
[0015]若所述文件访问请求触发了元数据的更新操作,则更新所述持久化数据库以及本地内存中对应的元数据;
[0016]向所述用户发送文件访问响应。
[0017]一种可行的实现方式中,所述更新所述持久化数据库以及本地内存中对应的元数据,包括:
[0018]当所述更新操作为新增时,生成新的元数据;
[0019]将所述新的元数据写入所述持久化数据库以及本地内存。
[0020]一种可行的实现方式中,所述更新所述持久化数据库以及本地内存中对应的元数据,包括:
[0021]当所述更新操作为修改时,从所述持久化数据库中查询出待修改的元数据并修改后,对本地内存中的所述待修改的元数据进行修改。
[0022]一种可行的实现方式中,所述更新所述持久化数据库以及本地内存中对应的元数据,包括:
[0023]当所述更新操作为删除时,从本地内存中删除待删除的元数据后,从所述持久化数据库中删除所述待删除的元数据。
[0024]一种可行的实现方式中,所述更新所述持久化数据库以及本地内存中对应的元数据之后,还包括:
[0025]记录所述元数据的更新操作;
[0026]基于所述记录将所述元数据的更新操作同步至所述S3云端。
[0027]一种可行的实现方式中,所述基于所述记录将所述元数据的更新操作同步至所述S3云端,包括:
[0028]在将所述文件访问请求对应的文件更新操作同步至所述S3云端的同时,基于所述记录将所述元数据的更新操作同步至所述S3云端。
[0029]一种可行的实现方式中,所述基于所述记录将所述元数据的更新操作同步至所述S3云端,包括:
[0030]根据预设元数据同步周期,将所述记录中未同步的所述元数据的更新操作同步至所述S3云端。
[0031]一种可行的实现方式中,当所述S3FS服务是重新部署的S3FS服务时,所述挂载的存储桶是重新部署S3FS服务之前,所述S3FS服务已挂载的存储桶。
[0032]一种可行的实现方式中,所述从S3云端获取挂载的存储桶内的元数据之前,还包括:
[0033]清空所述持久化数据库。
[0034]一种可行的实现方式中,当所述S3FS服务是初始部署的S3FS服务时,所述挂载的存储桶是所述S3FS服务初始挂载的存储桶。
[0035]第二方面,本申请实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如上第一方面或第一方面各种可能的实现方式所述的方法。
[0036]第三方面,本申请实施例提供一种包含计算程序的计算机程序产品,所述计算机程序被处理器执行时实现如上第一方面或第一方面各种可能的实现方式所述的方法。
[0037]本申请实施例提供的元数据管理方法、电子设备及计算机程序产品,S3FS服务预先获取S3云端的存储桶内每个对象的元数据,把各对象的元数据写入S3FS服务的持久化数据库。采用该种方案,通过将元数据存储在持久化数据库中,使得用户通过S3FS服务操作文件的过程中,S3FS服务可直接基于本地存储的元数据,对访问请求进行处理,无需从S3云端获取元数据,降低了S3FS服务和S3云端的交互次数,提高响应速度的同时,降低资源消耗,并提高网络可靠性。
附图说明
[0038]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]图1是本申请实施例提供的元数据管理方法的网络架构示意图;
[0040]图2是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种元数据管理方法,其特征在于,应用于S3FS服务,所述方法包括:从S3云端获取挂载的存储桶内的元数据;将所述存储桶内的元数据写入持久化数据库,所述持久化数据库是为所述S3FS服务创建的用于保存元数据的本地数据库。2.根据权利要求1所述的方法,其特征在于,所述从S3云端获取挂载的存储桶内的元数据,包括:向所述S3云端发送获取请求,以请求获取所述存储桶对应的文件信息列表;接收来自所述S3云端的获取响应,所述获取响应携带所述文件信息列表;将所述文件信息列表发布到多线程请求队列中,以通过所述多线程请求队列中的线程请求所述文件信息列表中各文件的元数据,并将请求到的元数据写入所述数据库。3.根据权利要求1所述的方法,其特征在于,所述将所述存储桶内的元数据写入持久化数据库之后,还包括:处理用户发送的文件访问请求;若所述文件访问请求触发了元数据的更新操作,则更新所述持久化数据库以及本地内存中对应的元数据;向所述用户发送文件访问响应。4.根据权利要求3所述的方法,其特征在于,所述更新所述持久化数据库以及本地内存中对应的元数据,包括:当所述更新操作为新增时,生成新的元数据;将所述新的元数据写入所述持久化数据库以及本地内存。5.根据权利要求3所述的方法,其特征在于,所述更新所述持久化数据库以及本地内存中对应的元数据,包括:当所述更新操作为修改时,从所述持久化数据库中查询出待修改的元数据并修改后,对本地内存中的所述待修改的元数据进行修改。6.根据权利要求3所述的方法,其特征在于,所述更新所述持久化数据库以及本地内存中对应的元数据,包括:当所述更新操作为删除时,从本地内存中删除待删除的元数据后,从所述持久化数据库中删除所述待删除的元数据。7.根据权利要求3<...

【专利技术属性】
技术研发人员:杜若峰
申请(专利权)人:深圳爱捷云科技有限公司
类型:发明
国别省市:

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

1