CurveFS方案设计
© XXX Page 1 of 14 CurveFS方案设计(总体设计,只实现了部分)© XXX Page 2 of 14 时间 修订人 修订内容 2021-03-23 李小翠 初稿(背景,调研,架构设计) 2021-03-30 李小翠 增加快照部分 2021-04-13 李小翠、陈威 补充元数据数据结构 2021-04-19 李小翠、吴汉卿、许超杰等 补充文件空间分配,讨论与确认 背景 计会涉及到多次rpc的交互。这里需要确认的一点是:我们需要怎样的元数据节点的性能? 可行性分析 方案对比 根据上述调研和测试结果,我们考虑了三种curvefs的元数据设计方案: CurveFS kv方案设计 curve实现块设备时,元数据不是扁平化的设计,而是采用来有目录层级的 namespace 方式,namespace 已经实现了 fs 元数据管理的雏形,具备了基本的元数据管理功能。(当时为什么要设计为0 码力 | 14 页 | 619.32 KB | 5 月前3CurveFS对接S3方案设计
© XXX Page 1 of 11 curvefs对接s3方案设计(过程文档)© XXX Page 2 of 11 时间 修订人 修订内容 2021-05-20 胡遥 初稿 2021-07-20 胡遥 细化write和read流程 整体架构 整体思路 接口和关键数据结构 mds.proto client端数据结构 metaserver.proto space相关数据结构和proto0 码力 | 11 页 | 145.77 KB | 5 月前3Curve文件系统元数据持久化方案设计
0 码力 | 12 页 | 384.47 KB | 5 月前3云原生虚拟数仓 PieCloudDB ETL 方案设计与实现
ETL方案设计与实现 邱培峰 拓数派 技术专家 云原生虚拟数仓PieCloudDB 大连理工大学软件工程本科 pgsql@qiupf.dev 邱培峰 拓数派技术专家 ETL解决方案及内核组件研发 PieCloudDB 分布式架构简介 ETL 简述 PieCloudDB ETL方案设计 Postgres -> PieCloudDB 增量数据实时 cdc 演示 01 02 030 码力 | 29 页 | 5.24 MB | 1 年前3《TensorFlow 2项目进阶实战》3-方案设计篇:如何设计可落地的AI解决方案
方案设计篇:如何设计可落地的AI解决方案 扫码试看/订阅 《 TensorFlow 2项目进阶实战》视频课程 • 行业背景:AI新零售是什么? • 用户需求:线下门店业绩如何提升? • 长期⽬目标:货架数字化与业务智能化 • 短期目标:自动化陈列审核和促销管理 • 方案设计:基于深度学习的检测/分类的AI流水线 • 方案交付:支持在线识别和API调用的 AI SaaS 目录 行业背景:AI新零售是什么 纯度 排面 SKU 种类 数量 位置 品类 占比 货架 设计 场景 层数 编号 销售执行三板斧:分销达标 销售执行三板斧:新品上架陈列稽查 销售执行三板斧:陈列激励 方案设计: 基于深度学习的检测/分类的AI流水线 货架商品检测 货架商品检测 Bottle(瓶装) Combination(组合装) 货架商品检测 Bottle(瓶装) Combination(组合装)0 码力 | 49 页 | 12.50 MB | 1 年前3CurveFS S3本地缓存盘方案
本地写缓存盘方案© XXX Page 2 of 9 背景 方案设计 主要数据结构定义 方案设计思考 POC验证 背景 当前,s3客户端在写底层存储的时候是直接写入远端对象存储,由于写远端时延相对会较高,所以为了提升性能,引入了写本地缓存盘方案。也即要写底层存储时,先把数据写到本地缓存硬盘,然后再把本地缓存 硬盘中的数据异步上传到远端对象存储。 方案设计© XXX Page 3 of 9 S3模 int loadAllCacheReadFile() {}; private: std::string CacheReadDir_;© XXX Page 8 of 9 }; 方案设计思考 本地硬盘如何管理 借用linux本地文件系统进行管理,存储进本地硬盘的内容以文件的形式来表现。 配置一个目录用于本地硬盘的文件管理,对作为缓存盘的本地硬盘进行格式化并挂载到该目录(如果0 码力 | 9 页 | 150.46 KB | 5 月前32.游戏战中陪伴助手微服务架构设计与应用
游戏战中陪伴助手微服务架构设计与应用 张敏 - AndruZhang 腾讯 - 高级后台工程师 目 录 功能介绍 01 早期探索 02 方案设计和工程实现 03 性能和成本优化 04 DevOps 建设 05 总结 & QA 06 功能介绍 第一部分 战中陪伴助手介绍——和平精英最佳第五人 战中陪伴助手介绍——和平精英最佳第五人 • 游戏战斗中指导 / 建议 • 敌人在附近 解决维度爆炸:只取部分子状态 - 统一“状态”的标准 方案设计和工程实现 第三部分 方案设计——Token、策略 更加具有通用性的方案 - 启发: - 抽象:子状态(特征维度) - 子状态组合成状态,同时子状态也可以组合成策略 - 策略选取:特征匹配 - 解决维度爆炸:只取部分子状态 - 统一“状态”的标准 - 方案设计 - 子状态:token - 状态:token 的组合(所有符合条件的)0 码力 | 47 页 | 11.10 MB | 1 年前3curvefs client删除文件和目录功能设计
Page 2 of 15 背景 相关调研 moosefs chubaofs 方案设计思考 1.Trash机制是实现1个(类似chubaofs),还是2个(类似moosefs)? 2. Trash放在哪里? 3. 是否需要做session机制(在metaserver打开),来维护inode的打开情况? 方案设计 Trash机制: Session机制: 遗留问题 工作量评估 背景 由于link、unlink等接口涉及跨服务器的两个请求的处理,可能会存在孤儿inode的问题,这一情况,chubaofs是通过运维手段去修复,见遗留问题。moosefs由于单mds,不存在这个问题。 方案设计思考 首先我们可以确定以下几个设计点: 删除的大致过程如下,首先移除dentry,然后移除inode,可以容忍只存在inode,也就是孤儿inode情况,这部分内容见下面遗留问题。 的。 3. 是否需要做session机制(在metaserver打开),来维护inode的打开情况? 经讨论,需要实现session机制,以应对打开文件被另一个进程删除的场景的场景。 方案设计 经小组会议讨论,决定使用trash + session机制去实现上述功能。 ulink流程如下:© XXX Page 10 of 15© XXX Page 11 of 15 1. 20 码力 | 15 页 | 325.42 KB | 5 月前3深度揭秘Greenplum开源数据库透明加密
深度揭秘Greenplum开源数据库 透明加密 Greenplum 研发工程师 王淏舟 1. 我们所面临的问题 2. 基于pgcypto的数据加密方案 3. GPDB数据透明加密方案设计 4. GPDB数据透明加解密流程 5. 总结 我们所面临的问题 什么是Greenplum数据库 一款开源的HTAP数据库: • MPP架构 • 完整的事务+ACID+标准SQL支持 • 支持上千个节点的部署 丰富的ETL和外部组件 • 支持Python/R/Java直接访问处理数据库数据 • https://github.com/greenplum-db/gpdb Recall GPDB数据透明加密方案设计 GPDB TDE GPDB透明加密 加密目标 • 表数据 • 预写日志数据 • 主从节点所有数据 • 索引及其他表辅助数据 • 磁盘缓存文件 设计目标 • 对用户和数据库透明0 码力 | 48 页 | 10.19 MB | 1 年前32019-2021 美团技术年货 前端篇
进行二次处理:遍历静态资源产物,增加文件 Hash(文件内容 MD5 值),并更新资 源的引用;同时通过定制 Dart-SDK,修改了 main.dart.js、字体等静态资源的加载 逻辑,使其支持 CDN 资源加载。 更详细的方案设计请参考《Flutter Web 在美团外卖的实践》一文。下面我们重点介 绍 main.dart.js 分片相关的一些优化策略。 4.2.1 Lazy Loading Flutter 官方提供 下图为预缓存的整体方案设计: 48 > 2021年美团技术年货 图 15 预缓存方案设计 编译阶段 编译阶段会扩展现有的发布流水线,在 flutter build 之后增加 prefetch build 作业, 这样 build 之后就可以对产物目录进行遍历和筛选,得到我们所需资源进而生成云端 JSON,为运行阶段提供数据基础。下面的流程图为编译阶段的详细方案设计: 图 16 预缓存编译阶段 HTTP XHR 进行缓存资源进行请求,利用浏览器本身的缓 存策略,把其他业务的资源文件写入。当用户访问已命中缓存的页面时,资源已被提 前加载,这样可以有效地减少首屏的加载时间。下图为运行阶段的详细方案设计: 图 18 预缓存运行阶段 前端 < 51 在监听阶段,我们可以获取到页面的首屏渲染完成的时机,会获取到云端 JSON,首 先判断该项目的缓存是否为启用状态。当该项目可用时,会根据全局变量0 码力 | 738 页 | 50.29 MB | 1 年前3
共 108 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11