
C++
文章平均质量分 78
bingfox
这个作者很懒,什么都没留下…
展开
-
C++实现的ORM映射工具
1 OrmDao简介1.1. 对象关系-映射简介对像和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,数据库中表现为关系数据, 内存中的对象之间存在关联和继承关系, 而在数据库中,关系数据无法直接表达多对多关联和继承关系, 因此,对象-关系映射(ORM)系统一般以中间件的形式存在, 主要实现程序对象到关系数据库数据的映射.在开发关系数据库的系统时,原创 2009-04-15 09:48:00 · 3791 阅读 · 2 评论 -
TFS数据块同步推送分析
<br /> 看了TFS文件系统的代码,描述一下TFS的写文件时数据块复制的处理过程:<br /> 客户端接口函数:<br />//写文件操作组包的方法:写文件时的协议的方法是会发送多个独立的消息包过去<br /> int TfsFile::tfs_write(char *data, const int32_t len)<br /> {<br /> if (is_open_flag_ == TFS_FILE_OPEN_FLAG_NO)<br /> {<br />原创 2010-12-16 22:04:00 · 3024 阅读 · 0 评论 -
TFS文件系统格式化分析
<br />TFS文件系统格式化分析<br /> TFS文件系统数据服务器 DataServer在使用之前,需要先对文件系统进行格式化,可以对相关的代码进行一下分析.<br /> (1).格式化文件系统<br />//格式化文件系统<br />int BlockFileManager::format_block_file_system(const SysParam::FileSystemParam& fs_param)<br /> {<br /> int ret原创 2010-12-29 21:35:00 · 3326 阅读 · 0 评论 -
TFS文件系统数据服务器启动加载分析
TFS文件系统数据服务器启动加载分析 TFS文件系统的数据服务器在启动时会有加载超级块,加载文件块的操作,可以对照代码,做下分析. (1).启动加载int BlockFileManager::bootstrap(const SysParam::FileSystemParam& fs_param) { //装载超级块 int ret = load_super_blk(fs_param); if (TFS_SUCCESS !原创 2010-12-29 21:38:00 · 2878 阅读 · 0 评论 -
TFS文件系统写文件分析
TFS文件系统写入文件分析对TFS文件系统的写入文件的关键代码做下分析.(1).写文件消息包函数int DataManagement::write_data(const WriteDataInfo& write_info, const int32_t lease_id, int32_t& version, constchar* data_buffer, UpdateBlockType& repair) { TBSYS_LOG(DEBUG,原创 2010-12-29 21:41:00 · 3827 阅读 · 1 评论 -
TFS文件系统策略分析
TFS文件系统策略分析 首先我们来看一下TFS分布式文件系统的特点介绍: 1.完全扁平化的数据组织结构,抛弃了传统文件系统的目录结构。2.在块设备基础上建立自有的文件系统,减少EXT3等文件系统数据碎片带来的性能损耗3.单进程管理单块磁盘的方式,摒除RAID5机制4.带有HA机制的中央控制节点,在安全稳定和性能复杂度之间取得平衡。5.尽量缩减元数据大小,将元数据全部加载入内存,提升访问速度。6.跨机架和IDC的负载均衡和冗余安全策略。7.完全平滑扩容“源码之前,了无秘密”,了解TFS的最好方法是阅读原创 2011-01-07 22:22:00 · 4290 阅读 · 2 评论 -
FastDFS源码阅读笔记(一)
<br />FastDFS是fishman大牛做的分布式文件系统,并且将项目源码进行了开源,小弟抱着学习的态度,学习了源码,并且将自己关心的比如上传文件,下载文件,文件的数据同步在看的途中做了下学习笔记.<br /> 首先是数据服务器storage部分.<br />(一).storage_nio.c<br />//对于超时的处理:删除文件列表,释放任务到队列里面<br />void task_finish_clean_up(struct fast_task_info *pTask)<br />{<br原创 2010-11-17 20:35:00 · 9303 阅读 · 3 评论 -
FastDFS源码阅读笔记(三)
<br /> 然后在是跟踪服务器tacker部分:<br /> (五).fast_queue_queue.c<br />staticstruct fast_task_queue g_free_queue;<br /> <br />staticstruct fast_task_info *g_mpool = NULL;<br /> <br />int task_queue_init(struct fast_task_queue *pQueue)<br />{<br /> int result;<br原创 2010-11-17 20:55:00 · 5171 阅读 · 2 评论 -
FastDFS源码阅读笔记(二)
<br />(三).storage_service.c<br />//上传文件完成后的回调函数<br />staticvoid storage_upload_file_done_callback(struct fast_task_info *pTask,constint err_no)<br />{<br /> StorageClientInfo *pClientInfo;<br /> StorageFileContext *pFileContext;<br /> TrackerHeade原创 2010-11-17 20:42:00 · 5785 阅读 · 0 评论