分类目录归档:工程与技术

工程与技术

LevelDB阅读笔记 之 SkipList

在leveldb中,插入与查找操作是高频操作、无删除操作。因此使用物理上线性的有序结构是不现实的,那么就是经典的二叉有序树及其变种,如AVL、红黑树甚至B\B+树,但这类数据结构都会牵扯到一个问题:随着节点的插入,需要频繁地进行平衡调节。而且为了保证线程安全,在平衡调节时需要锁住大面积地子树。而有一种以随机概率思想实现的类似平衡树的线性表结构:跳表,具体见论文继续阅读

MillWheel学习及持久化流式计算总结

MillWheel 是Google 2013年公开的其内部主要的流式计算平台,其与自己所在公司研发和使用的流式计算平台(TM)在设计本质上有相似之处,这里就借助对论文的解析,边阐述MillWheel的设计原理和亮点,边总结一下在设计上取“持久化”模式流式计算的技术特点。 继续阅读

Intel386与Linux0.11的关联

386主推保护模式与多任务:
保护模式,不仅是采用分段与分页的内存区域的保护;还有对特殊操作权限的保护,即将操作分等级进行隔离保护;
多任务,则通过硬件进行现场的切换(保存与还原)。
在读Linux0.11中深切感受到操作系统底层实现与芯片的关联度,下面一一道来,
0.11版本,还没有实现对每个进程或任务的内存平坦到4GB虚拟空间,即每个任务一个独立的页目录表,而是64个任务共用一个页目录表。 继续阅读

文件传输:框架思考

  1. 低层传输模块:对外与网络交互,对内与硬盘文件交互
  2. 中间控制模块:对下控制传输模块,对上服务于业务模块
  3. 业务接口模块:解释业务配置与调试指令,转换为中间控制模块可识别的语言,最终转换为传输动作
  4. 基础服务模块:提供各个模块的基础服务,相当于utils-工具

继续阅读