当前位置:首页 > 实用技巧 >

b站离线缓存删了还能找回来吗(b站卸载后缓存不见了怎么找回)

来源:原点资讯(www.yd166.com)时间:2023-11-01 15:21:33作者:YD166手机阅读>>

司春峰

哔哩哔哩技术专家

负责B站对象存储、NoSQL、数据传输、数据库代理等方向的研发工作,致力于提供稳定可靠高性能的存储服务。

背景

BLOB(binary large object)存储,通常也被称为对象存储(OSS, object storage service)。一般用来存储文件,如视频文件、音频文件等。目前,各个云计算厂商都对外提供对象存储服务,其中以亚马逊的S3系统最著名,S3系统也成为行业的事实标准。各个云计算厂商推出的对象存储服务,也纷纷兼容S3标准。

B站由于其内容的独特性(视频网站),对象存储也有着非常多的需求。下面我们会介绍B站的对象存储的设计与实现。为了便于大家理解,会采用由简单到复杂的过程进行。我们称这个对象存储系统为BOSS(Bilibili Object Storage Service)。目标13天精通超大规模分布式对象存储系统的架构与设计。

Day1

先研读S3协议,我们会发现S3其实提供的接口非常简单,主要有PUT/GET/DEL/LIST等几种类型的接口(这里先忽略分段上传等接口)。各个接口对应的语义和term定义如下:

  • bucketName:bucket的名称,可以理解为目录名
  • objectName: 对象名称,即文件名
  • PUT: 以 bucketName objectName 作为key(主键),上传数据(比如一段视频)
  • GET: 以 bucketName objectName 为key,下载数据(比如刚刚上传的视频)
  • DEL: 以 bucketName objectName 为key,把之前上传的视频进行删除
  • LIST: 以bucketName和指定的前缀为过滤条件,列出符合条件的key。比如以bucketName为前缀,列出已经上传的文件名 列表(根据上面的例子,就是列出已经上传的视频文件名)

看到这里,假设我们有一个性能非常强大的SQL服务(比如mysql ORZ), 那么我们可以建一张表(比如表名为data_and_meta),然后将数据存入即可。

表结构

b站离线缓存删了还能找回来吗,b站卸载后缓存不见了怎么找回(1)

系统架构

此时我们的系统架构如下图所示

  • 协议接入层(解析http请求,并转换为对MySQL的操作)
  • 存储层(MySQL服务)

b站离线缓存删了还能找回来吗,b站卸载后缓存不见了怎么找回(2)

其中协议网关可以采用golang编写,解析S3协议,并转换为后端对MySQL服务的操作即可。至此,Day1的工作完成, 收工回家。

Day2

第一天在设计表结构的时候,数据和元数据都堆在一起,相互有影响。今天我们将元数据和数据拆开来。新建两张表,meta表和data表。

meta和data分离的表结构

b站离线缓存删了还能找回来吗,b站卸载后缓存不见了怎么找回(3)

如上图所示,通过object_id将meta表和数据进行关联,object id为一个int64类型(先不考虑object_id哪里来的)

优点

  1. 元数据和数据进行了分离存储
  2. 可以实现数据和元数据的分别更新(可以预见,后面需要新增字段,满足不同需求)
  3. 甚至可是实现rename操作(当然S3没有这个需求)

问题

  • 对于相对比较大的文件,性能有可见的问题(先不考虑分段上传)。假设上传一个100MB的文件,只能放在MySQL的一个字段里面, 需要继续优化

引入Block表

针对单个data字段中的数据太长的问题,我们继续拆分,改成3张表,如下图所示

  • name表
  • object表
  • 数据表(多张)

b站离线缓存删了还能找回来吗,b站卸载后缓存不见了怎么找回(4)

栏目热文

b站缓存视频怎么恢复(b站缓存视频删了怎么恢复)

b站缓存视频怎么恢复(b站缓存视频删了怎么恢复)

今天为大家介绍一款名为“b站安卓版缓存视频合并工具”的工具。打开软件后,选择缓存目录即可开始操作。缓存文件通常存储在手机...

2023-11-01 15:15:00查看全文 >>

古代的玉佩怎么叫(古代的玉佩是什么材料)

古代的玉佩怎么叫(古代的玉佩是什么材料)

在阅读此文前,麻烦您点击一下“关注”,既方便您进行讨论与分享,又给您带来不一样的参与感,感谢您的支持!玉佩的种类较多,...

2023-11-01 15:21:01查看全文 >>

古代玉佩是佩戴在哪里(古代玉佩都挂在哪里)

古代玉佩是佩戴在哪里(古代玉佩都挂在哪里)

当子贡问孔子,人们为何如此喜欢玉,孔子的答案是:“玉之美,有如君子之德。”不同时期,人们佩戴玉佩的说法也不尽相同,最重视...

2023-11-01 14:45:46查看全文 >>

古代有什么玉佩名称(古代的玉佩都有什么形状的)

古代有什么玉佩名称(古代的玉佩都有什么形状的)

在中国传统文化中,玉有着特殊的地位和价值。东汉许慎的《说文解字》认为:“玉,石之美者。”他根据玉的特征,提出玉有“仁、义...

2023-11-01 15:05:56查看全文 >>

古代的玉佩有什么特征(古代的玉佩图片及名称)

古代的玉佩有什么特征(古代的玉佩图片及名称)

(接上期:战国时期玉材与玉色的区别)根据目前已知的国内重点战国时期墓葬的考古挖掘证明,结合国内各大博物馆所藏战国时期的出...

2023-11-01 15:24:28查看全文 >>

b站缓存删除可以恢复吗(b站缓存视频删除可以恢复吗)

b站缓存删除可以恢复吗(b站缓存视频删除可以恢复吗)

以Chrome浏览器举例,首先右键失效视频,检查找到父级的li标签,有一个data-aid属性,这里就是AV号打开 bi...

2023-11-01 14:46:53查看全文 >>

b站缓存视频删除可以恢复吗(b站下载视频删了能恢复吗)

b站缓存视频删除可以恢复吗(b站下载视频删了能恢复吗)

B站的视频怎么下载到电脑?B站视频快速保存的办法,看这一篇就够啦,再也不用担心B站视频无法保存到本地啦。文章不长,图文讲...

2023-11-01 15:03:27查看全文 >>

b站离线缓存的路径在哪里(b站离线缓存位置怎么改)

b站离线缓存的路径在哪里(b站离线缓存位置怎么改)

一、背景基于ClickHouse的Billions2.0日志方案上线后(B站基于Clickhouse的下一代日志体系建设...

2023-11-01 14:42:23查看全文 >>

b站离线缓存文件在哪(b站电脑端的视频离线缓存在哪里)

b站离线缓存文件在哪(b站电脑端的视频离线缓存在哪里)

大家好,这次给的大家介绍安卓系统中B站的离线文件如何保存到电脑中。1)首先在Android\data\tv.danma...

2023-11-01 15:11:56查看全文 >>

b站缓存视频删除怎么恢复(卸载b站后缓存的视频怎么恢复)

b站缓存视频删除怎么恢复(卸载b站后缓存的视频怎么恢复)

在电脑里有很多重要的文件,有些是文本文件、有些是图片格式、还有些是音频视频一类的文件,这些文件说不定有着很重要的内容,要...

2023-11-01 15:17:40查看全文 >>

文档排行