积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部系统运维(19)存储(19)

语言

全部中文(简体)(14)zh(2)JavaScript(1)西班牙语(1)日语(1)

格式

全部PDF文档 PDF(19)
 
本次搜索耗时 0.016 秒,为您找到相关结果约 19 个.
  • 全部
  • 系统运维
  • 存储
  • 全部
  • 中文(简体)
  • zh
  • JavaScript
  • 西班牙语
  • 日语
  • 全部
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 Curve文件系统元数据管理

    com/abseil/abseil-cpp/tree/master/absl/c ontainer 实现了btree map和btree set,(Apache)。 google, https://code.google.com/archive/p/cpp-btree/, btree_map , btree_set, btree_multimap, and btree_multiset ,( ) Apache B+tree table O(1)~O(n) O(n) + table 需要占用额外空间,性能和hash表的大小有关,最理想可以达到O(1)复杂度,最差O(n)复杂度。 c++ stl unordered_map moose,使用c实现 4、curve文件系统的元数据内存组织 curve文件系统元数据主要有3个类型,inode, dentry, 。 extent 4 nlink; /* ref count for hard link */ int64_t size; FileType type; SpaceList std::map; // string symLink; /* for symLink only */ //
    0 码力 | 24 页 | 204.67 KB | 6 月前
    3
  • pdf文档 Curve文件系统元数据持久化方案设计

    +------+------------+-----+----------------+---------+----------+ 字段 字节数 说明 type 1 操作类型,共有以下 2 类: SET (0X01):ADD 和 UPDATE 都可以转换成 SET 操作 DEL (0X02):当为 DEL 操作时,value_length 和 value 则为空 key_length 4 key 长度 key $key_length 消耗却更少,推介使用 protobuf 进行序列化 2、KVStore 将当前实现中的 MemoryDentryStorage 和 MemoryInodeStorage 抽象成一个 KVStore,对外提供 SET/GET/DEL 等接口,inode/dentry 均编码后以 key-value 的形式存入 KVStore 当前实现可先只实现 KVStore(提供方便 API),Raft 等可以后续接入(目前实现中持久化可以在 OP_TYPE_SET, OP_TYPE_DEL, }; public: bool Init(); int Set(const std::string& key, const std::string& value); int Get(const std::string& key, std::string* value); int Delete(const std::string&
    0 码力 | 12 页 | 384.47 KB | 6 月前
    3
  • pdf文档 Curve支持S3 数据缓存方案

    该缓存方案主要针对的场景是顺序写和顺序 读,而对于随机写和随机读来说也会有一定性能提升,但效果可能不会太好。 元数据采用2层索引 由于chunk大小是固定的(默认64M),所以Inode中采用map s3ChunkInfoMap用于保存对象存储的位置信息。采用2级索引的好处是,根据操作的offset可以快速定位到index,则只需要遍历inde // TYPE_SYM_LINK only optional VolumeExtentList volumeExtentList = 13; // TYPE_FILE only map s3ChunkInfoMap = 14; // TYPE_S3 only, first is chunk index optional uint64 ClientS3Adaptor () {} void Init(const S3ClientAdaptorOption option, S3Client *client, std::shared_ptr inodeManager);© XXX Page 5 of 9 int Write(Inode *inode, uint64_t offset,
    0 码力 | 9 页 | 179.72 KB | 6 月前
    3
  • pdf文档 BRPC与UCX集成指南

    ●BRPC是Curve的基础通讯框架 ●支持远程过程调用 –C++ –TCP传输 –bthread协程(m:n调度,减少基于内核的下文切换 ,减少cache miss) ●多协议支持 –baidu_std,http,grpc… ●protobuf3 BRPC简介 ●Client/Server架构 ●使用Protobuf定义协议文件 –例如: echo.proto:4 BRPC简介 client ●读socket通过EventDispatcher触发 ●上层发送网络数据通过写socket完成,不能立刻完成的,则去启动后台bthread去完成。11 BRPC SocketMap ●根据EndPoint作为一个map的Key,Value是Socket对象 ●Socket对象引用计数,多个Channel可以共享一个Socket对象 ●往SocketMap里调用Insert,要么返回已经存在的Socket对象(引用计数加一),要么创建一 UCT ●Memory domain open/close ●Active message ●Memory get/put ●Memory atomic fetch, compare and set ●Tag match ●client/server模式的Listener, Ep(endpoint)26 UCP ●构建于uct之上,实现更加高级的功能,容易使用,但有一定开销。 ●UC
    0 码力 | 66 页 | 16.29 MB | 6 月前
    3
  • pdf文档 CurveFS S3本地缓存盘方案

    { TrimStop(); } int Init(const std::string cacheDir); int Write(std::string name, const char* buf, uint64_t length); int Read(std::string name, char* buf, uint64_t offset, uint64_t length); int CreateDir(); uint64_t GetCachedSize(); std::string GetCacheDir(); std::string GetCacheReadFullDir(); std::string GetCacheWriteFullDir(); /** * @brief tell whether whether the obj is cached in local cache disk. */ bool IsCached(std::string name); void addCache(std::string name); /** * @brief tell whether the cache disk is full or not. */
    0 码力 | 9 页 | 150.46 KB | 6 月前
    3
  • pdf文档 Open Flags 调研

    store anything in fi->fh. There are also some flags (direct_io, keep_cache) which the filesystem may set in fi, to change the way the file is opened. See fuse_file_info structure in for more details. If this request is answered with an error code of ENOSYS and FUSE_CAP_NO_OPEN_SUPPORT is set in fuse_conn_info.capable, this is treated as success and future calls to open and release will also ,在后续读写等操作中依据该状态进行处理。 // cephfs Inode Fh.flags(cephfsFh struct Inode : RefCountedObject { ... std::set fhs; } // file handle for any open file state struct Fh { InodeRef inode; int _ref;
    0 码力 | 23 页 | 524.47 KB | 6 月前
    3
  • pdf文档 CurveFS Copyset与FS对应关系

    partitions and ranges directly. Use the helper functions instead. // Partition map indexed by ID partitions map[uint64]*MetaPartition // Partition tree indexed by Start, in order to find a :: ( , , :: < > ) CopysetManager GenCopyset const ClusterInfo& cluster int numCopysets std vector Copyset * out 6.6、topology topology参考curve的topology的实现,由于curve的physical pool和logic pool在c
    0 码力 | 19 页 | 383.29 KB | 6 月前
    3
  • pdf文档 Curve文件系统空间分配方案

    B为例,具体大小可配置)是否分配出去。 第二层为free extent list,表示每个已分配的块,哪些仍然是空闲的(offset, length),以offset为key进行排序(这里可以用map或者btree对所有的free extent进行管理)。 当前设计不考虑持久化问题,空间分配器只作为内存结构,负责空间的分配与回收。在初始化时,扫描文件系统所有inode中已使用的空间。 空间分配流程 rightOffset = 0; }; struct Extent { uint64_t offset = 0; uint32_t len = 0; }; using Extents = std::vector; class Allocator { public: Allocator(...) {} virtual ~Allocator() = default;©
    0 码力 | 11 页 | 159.17 KB | 6 月前
    3
  • pdf文档 Curve核心组件之mds – 网易数帆

    zone2 zone3 server1 server2 server3 192.168.0.1:8200 192.168.0.2:8200 192.168.0.3:8200 cluster_map: servers: - name: server1 internalip: 192.168.0.1 internalport: 8200 externalip: 192.168.0.1 externalport: Copyset的生成策略:Source code : curve/src/mds/copyset/ bool GenCopyset(const ClusterInfo& cluster, int numCopysets, std::vector* out); 例如要在(zone1 zone2 zone3 zone4)中创建8个copyset: result: cs1 [copyset-1, copyset-7]
    0 码力 | 23 页 | 1.74 MB | 6 月前
    3
  • pdf文档 CurveFS Client 概要设计

    +getlk +setlk +bmap +ioctl +ioctl +poll +write_buf +retrieve_reply +forget_multi +flock +fallocate© XXX Page 5 of 11 +readdirplus +copy_file_range +lseek 关键接口分析 (fuse_req_t req, fuse_ino_t ino, struct stat *attr, int to_set, struct fuse_file_info *fi); 根据inode id 找到inode id 对应的inode 结构(从缓存或者metaserver) 根据to_set字段设置相应的attr字段,然后持久化到metaserver,并更新本地缓存。 access 可先不支持,返回ENOSYS Client的重要部分,就是上述这些cache的组织,基于以下几点考虑cache的组织方式: 1.由于cache不命中情况下,损失了cache查找这部分时间,因此,应当选用cache查找尽可能快的结构,这里考虑采用hash_map。 2. 由于fuse一次mount是一个独立的进程,因此,不需要考虑在同一个进程中支持多文件系统,每个文件系统对应独立进程。 3. cache应当有淘汰策略,元数据cache如果不淘汰,那么缓
    0 码力 | 11 页 | 487.92 KB | 6 月前
    3
共 19 条
  • 1
  • 2
前往
页
相关搜索词
Curve文件系统文件系统数据管理数据管理持久方案设计方案设计支持S3缓存BRPCUCX集成指南CurveFS本地OpenFlags调研CopysetFS对应关系空间分配核心组件mds网易数帆Client概要
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩