自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (3)
  • 收藏
  • 关注

原创 TFS文件系统策略分析

TFS文件系统策略分析   首先我们来看一下TFS分布式文件系统的特点介绍:   1.完全扁平化的数据组织结构,抛弃了传统文件系统的目录结构。2.在块设备基础上建立自有的文件系统,减少EXT3等文件系统数据碎片带来的性能损耗3.单进程管理单块磁盘的方式,摒除RAID5机制4.带有HA机制的中央控制节点,在安全稳定和性能复杂度之间取得平衡。5.尽量缩减元数据大小,将元数据全部加载入内存,提升访问速度。6.跨机架和IDC的负载均衡和冗余安全策略。7.完全平滑扩容“源码之前,了无秘密”,了解TFS的最好方法是阅读

2011-01-07 22:22:00 4236 2

原创 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 3748 1

原创 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 2805

原创 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 3230

原创 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 2925

原创 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 5112 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 5731

原创 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 9216 3

原创 memcache中内存管理源码剖析

<br />   memcahce采用了内存页面,内存页面上的内存块技术实现了内存管理器,对item的指针采用了hashtable的方法,通过item的key值实现快速定位查找item指针的方法,这里详细剖析一下实现的关键代码.<br />   首先是内存管理,在Slabs.c代码中实现.<br />   (1).void slabs_init()<br />void slabs_init(const size_t limit, const double factor, const bool preallo

2010-08-13 09:09:00 3263 1

原创 Clucene索引合并剖析

<br />  Clucene在IndexWriter::addDocument中对每个加入的文档,就得到新的段名,生成一个新的段信息,segmentInfos数组信息里面加入这个新段信息,当达到合并阀值时触发段的合并操作<br />  (1).void IndexWriter::maybeMergeSegments()方法<br />//检查是否合并段<br />void IndexWriter::maybeMergeSegments()<br />{<br />    //初次建立时每个段就会有一个文档

2010-07-19 08:41:00 2044

原创 Clucene索引建立剖析

<br />  下面,我们将结合代码,对Clucene建立索引的过程进行剖析.<br />  (一). main函数中调用建立索引的过程<br />(1).void IndexFiles()方法:<br />//参数:索引文件路径,索引后的目标路径<br />void IndexFiles(char* path, char* target, constbool clearIndex)<br />{<br />    IndexWriter* writer = NULL;<br />    lucene::a

2010-07-19 08:39:00 4963 2

原创 Clucene构建索引的辅助工具类剖析

<br />  下面,我们将对Clucene构建索引的辅助工具类进行剖析,并且对关键代码进行介绍.<br />  一.首先,我们来看一看,辅助工具类图,清楚一下这几个类的关系:<br />    (1).类图1描述了基类Directory, 文件目录类FSDirectory,内存文件目录类RAMDirectory<br />       类之间的关系图<br />                   <br />   (2).类图2描述了索引读入工具类IndexInput, 索引缓冲读入工具类Buffere

2010-07-05 15:22:00 1467

原创 CLucene阅读笔记

  阅读了开源的搜索引擎Lucene的c++版本,这里将笔记比较粗的列举一下,详细的剖析过程,会逐步的整理贴上来.   处理输入:   (1).streambase.h       template        class StreamBase {};   (2).inputstreambuffer.h       template        class InputStreamBuffer {};   (3).bufferedstream.h       template        class B

2010-06-29 18:28:00 2137

原创 编译原理及实践教材TINY编译器代码解析

<br />    编译原理及实践教材附带了TINY编译器,在这里对这个小型编译器的代码,做一下简单的解析.<br />   TINY编译器的词法分析Lex源程序是:<br />%{<br />#include "globals.h"<br />#include "util.h"<br />#include "scan.h"<br />/* lexeme of identifier or reserved word */<br />char tokenString[MAXTOKENLEN+1];<br />

2010-06-28 09:30:00 4983 3

原创 c++设计模式之备忘录模式

     最近在看王翔老师写的 设计模式基于c#的工程化实现,比较惊讶于c#的语法表达能力,对书中的备忘录模式,用c++进行改写.    ==============================================================    MemoByStack.hpp    /*抽象状态类型的接口*/    class State{    public

2009-04-23 09:20:00 840

原创 c++改写李维面向对象实践指南

    以前出过李维老师的一本书,>,我先后使用c++,java语言改写了一遍,这里列出c++改写的主要的类:======================================================================TPFMTask:class TPFMTask{   protected:      TPFMSchedule *pFSchedule; 

2009-04-15 11:05:00 969

原创 C++实现的ORM映射工具类介绍(三)

================================================================DBMapping类:class DBMapping{private: map *pTableMap; void delTabPtrFromMap(map *pMap);public: DBMapping(); ~DBMapping(); void addTabl

2009-04-15 10:38:00 1296 1

原创 C++实现的ORM映射工具类介绍(二)

 ================================================================/*数据库连接对象*/class Connection{private:   string driver;   void   *pConn;public:   Connection();   ~Connection();   void * getConnecti

2009-04-15 10:32:00 1288

原创 C++实现的ORM映射工具主要类介绍(一)

/*基类:*/template class OrmDBBase{public: virtual int save(T t)=0; virtual int update(T t)=0; virtual int del(T t)=0; virtual list selList(string selSql)=0;    }; =============================

2009-04-15 10:24:00 1888

原创 C++实现的ORM映射工具

  1      OrmDao简介1.1.    对象关系-映射简介对像和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,数据库中表现为关系数据, 内存中的对象之间存在关联和继承关系, 而在数据库中,关系数据无法直接表达多对多关联和继承关系, 因此,对象-关系映射(ORM)系统一般以中间件的形式存在, 主要实现程序对象到关系数据库数据的映射.在开发关系数据库的系统时,

2009-04-15 09:48:00 3699 2

c++线程池的实现代码

这是一个使用c++实现的线程池的源代码,在WIN以及UNIX环境下都可以使用

2008-12-12

c++实现的简单xml解析器

这是一个用c++实现的简单的xml的解析器

2008-12-12

pythonympx

资源取自pythony源代码分析,包含有两个简单的范例.

2008-12-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除