FastDFS trunk 数据结构 (version:3.11)

本文深入探讨了FDFSTrunk数据结构的实现方式,包括以size为key的AVL树和以FDFSTrunkFileIdentifier为key的AVL树的存储机制,以及trunk_add_free_block和trunk_free_block_insert函数的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

trunk 中以的树以size为key(tree_info_by_size)的AVL树中的数据是FDFSTrunkSlot *chain  的方式保存的, FDFSTrunkSlot下面保存着相同大小的node(fast_mblock_node)链表, 所以以size查找时找到的是一个相同大小node的链表。函数: trunk_add_free_block


runk 中以的树以 FDFSTrunkFileIdentifier为key(tree_info_by_id)的AVL树中的数据是FDFSTrunksById *pTrunksById的方式保存的。FDFSTrunksById下相同FDFSTrunkFileIdentifier trunk_file_id的node(FDFSTrunkFullInfo)放在数组FDFSTrunkFullInfo **blocks中; 相同的文件ID以offset大小的顺序(pTrunkInfo->file.offset)从小到大排序。函数: trunk_free_block_insert

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值