作者列表 | Google FeedBurner 订阅源: FeedSky 订阅源:
作者:NinGoo 分类:算法 查看:39 评论:0 时间:2012-02-05 23:30:28
    前几天因为测试新版的Flashcache,为了便于监控性能指标,用Perl写了个秒级的监控程序Flashstat,一开始是通过定期获取dmsetup status的信息做解析,后来在flashcache-dev邮件列表中讨论时,Flashcache的...
作者:NinGoo 分类:算法 查看:41 评论:0 时间:2012-02-05 23:30:02
    我们可以用内存来模拟一个性能很好的Flash设备,当然这有一个缺点,就是主机重启后就啥都没了,不过用于实验测试这应该不是什么大问题。用内存来模拟块设备有两种方法,ramdisk或者tmpfs+loop device。由于ramdisk要调整大小需要修改grub并重启,这里我们用tmpfs来实现。
作者:NinGoo 分类:算法 查看:40 评论:0 时间:2012-02-05 23:28:42
    前文简单介绍了block device和device mapper。有了这两个基础,再来看flashcache的代码,就容易理解多了。Flashcache是一个内核模块,要更清晰的理解代码,还需要了解一下内核模块编写的一些基础知...
作者:NinGoo 分类:算法 查看:46 评论:0 时间:2012-02-05 23:28:16
    前文简单的介绍了block device,别急,虽然这个系列的主要目的是介绍Flashcache,这一篇还是不会切入正题,因为我们还需要先了解下什么是device mapper。 假如一台主机插入了多块硬盘,单块硬盘...
作者:NinGoo 分类:算法 查看:49 评论:0 时间:2012-02-05 23:27:46
    Cache is king. 在计算机系统中,cache的魔爪无处不在。CPU中有L1,L2,甚至L3 cache;Linux有pagecache,MySQL有buffer cache/query cache;IO系统中Raid卡/磁盘也有cache;在大型互联网系统中,数据库前面一般也都有一层...
作者:sleebin9 分类:MySQL 查看:38 评论:0 时间:2012-02-05 23:25:55
    教科书上的B+Tree是一个简化了的,方便于研究和教学的B+Tree。然而在数据库实现时,为了 更好的性能或者降低实现的难度,都会在细节上进行一定的变化。下面以InnoDB为例,来说说。
作者:appleleaf 分类:算法 查看:43 评论:0 时间:2012-02-05 23:22:36
    在Linux 2.4 IPv4 FIB的数据结构基础上实现IPv6的FIB是否可行呢?如果读了我前面这篇文字你应该会有一个判断。IPv4的FIB实现可以说有些拙劣,如果照搬一个IPv6版本,最差情况下需要进行128次hash key计算这还不包括链表的查找过程。看了一下Linux 2.6的IPv6 FIB实现,已经有了调整,用了Patrix(Radix)树实现了这个算法,下面是一些背景知识:首先是Trie树,下图是Wiki http://en.wikipedia.org/wiki/Trie 之中的一个例子 Trie树,尤其是二叉Trie树属于:是一直被使用 ,从未被(教科书)重视的东东。其特点是键值的内容成为树的检索路径,例如上图的to,tea等几条键值标明的路径。如果要对trie分类的话,我想只能按照出度来分类,上图假定键值的每一字节取值a-z,则这个trie是26叉trie树,最小
作者:appleleaf 分类:算法 查看:40 评论:0 时间:2012-02-05 23:19:26
    List是工程师的基本功,这里并不描述list增删这些细节的内容,仅仅根据我的理解写一下工程中List库的设计和实践考量。看过几个不同的list库的实现,基本上涉及到如下的设计考量: 1.List数据结构上的差异有没有头结点,是否循环,是否双向。这样就有多种组合,不罗嗦。 2.list的读写的保护。 3.List直接指针遍历还是仿照STL的Iterator方式遍历。 4.List同实际用户数据是采取一体式还是干湿分离式。 5.系统对于数据结构和算法的影响 1.从数据结构上将,Linux Kernel之中的List是双向无头节点链表。空链表如下: 非空链表如下: 我觉得维护头结点的理由之一就是可以存放list size,而无需用户在应用部分进行维护。如果没有list size,用户需要在List删减的结束的时候维护list size,如果不愿意如此麻烦,只能悲催的在需要读取
作者:appleleaf 分类:算法 查看:46 评论:0 时间:2012-02-05 23:17:33
    兼回忆贴,大概在03年开始接触Linux的协议栈代码,那个时候还找不到什么参考书,有些东西自己搞明白了但是也从来没想过在那个论坛发个帖子什么的,也没有现在的记录总结的习惯. 后来有一本08年版的《TCP/IP Architecture, Design and Implementation in Linux》其中解析了Linux2.4 协议栈的多数代码,其中第五章专门涉及skbuff的代码实现讲解,非常详细,这个小短文不翻译整个章节,各种网文很多,只是想根据关键部分说一下我理解的设计背后的原因。 skbuff的形态1 上面是最基本的一个sk_buff了,一个TCP报文的skbuff示意图,这里隐含着一些内容:报文分析的标准模式 skbuff采用的大块控制结构对象指向数据区是标准的实现模式,例如BSD这样的OS以及工程实现中都是这样的。参数的集中与其提供多个对象或者多个参数保存
作者:appleleaf 分类:算法 查看:42 评论:0 时间:2012-02-05 23:15:03
    在Linux2.4的时候,对于Linux的FIB表有些研究。凭着残存的记忆和code,恢复一下FIB的数据结构。首先扫盲一下几个路由协议架构相关的概念: 上图为路由协议的基本架构,相关内容在Cisco出版社出版的某一本图书上有概念描述,大概是《Routing TCP》。 1. 每个路由协议根据自己收集到的路由信息产生内部的路由表。所有的路由协议的路由信息汇聚到统一的RIB之中。 2. RIB的管理模块根据RIB之中的路由条目按照优先级优选出实际用于转发的路由下发到FIB之中。 3. 最终在Packet到来的时候,系统查找FIB表做路由查找。对于FIB的主要需求有两个: 1. 组织和存储选出的路由表项。 2. 按照LPM(最长掩码匹配)算法提供路由检索接口。下图是Linux24之中的FIB表中几个主要的数据对象的数据结构关系。 具体字段不做解释,最终的目的就是找到dn_fib_n
作者:愚人码头 分类:JavaScript 查看:23 评论:0 时间:2012-02-05 23:10:08
    JavaScript 中通过call或者apply用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。简单的说就是改变函数执行的上下文,这是最基本的用法。两个方法基本区别在于传参不同。 call(obj,arg1,arg2,arg3);call第一个参数传对象,可以是null。参数以逗号分开进行传值,参数可以是任何类型。 apply(obj,[arg1,arg2,arg3]);apply第一个参数传对象,参数可以是数组或者arguments 对象。
作者:droplet 分类:系统架构 查看:42 评论:0 时间:2012-02-05 23:08:37
    看了一些关于网站架构方面的文章,基本上是大同小异。也就是说,基本的原则都是一样的,而且软件也都是开源软件。但难点在于整合和运营。整合需要一些自制的工具或者根据业务定制软件;运营需要考虑数据中心建设,业务流程设计等等,不是一个简单的软件问题。从小到大的演化是一个很有意思的故事,和人的成长类似
作者:愚人码头 分类:JavaScript 查看:19 评论:0 时间:2012-02-05 23:06:38
    最近做一个项目,需要javascript动态插入样式,结果以前的方法失效了!查了2个小时的原因竟然是自己手贱,这个最后再说! javascript插入样式在前端开发中应用比较广泛,特别是在修改前端表现和页面换肤的时候。最近做的这个任务是用户在别人的站点上点击一个按钮,就会在别的站点页面下插入一个脚本,执行,这其中包含了样式的插入。 一般情况下javascript动态插入样式有两种,一种页面中引入外部样式,在中使用标签引入一个外部样式文件,另一种是在页面中使用
作者:Elton 分类:系统架构 查看:45 评论:0 时间:2012-02-05 15:40:34
    我们知道,为了应对不断增长的数据,我们对数据进行切分,存储在不同的数据库里,本文提到的数据库在非特定指明的情况下,均指一个逻辑数据库(是一组数据库,比如Master-Slave),而非单一各个物理数据库。 其主要有两种方式: 垂直切分(Vertical Partition/Sharding):就是把不同格式的数据,存储到不同的数据库。
作者:淡水河边 分类:PHP 查看:46 评论:0 时间:2012-02-05 15:39:37
    简介 mongoDB是一种 NoSQL 的文档型的数据库管理系统。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似 json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
作者:雪候鸟 分类:算法 查看:39 评论:0 时间:2012-02-05 15:38:46
    

异常与之对应的错误码(或者状态码), 到底各自有什么优点, 缺点, 我们应该怎么使用呢?

作者:sleebin9 分类:安全 查看:47 评论:0 时间:2012-02-05 15:35:37
    03 – 认证(Authentication) - 认证因子(什么东西可以用来做认证凭证)   A. Something you know 。。。。。
作者:sleebin9 分类:安全 查看:50 评论:0 时间:2012-02-05 15:34:48
    最近CSDN等网站被脱库的事情,闹得沸沸扬扬。身为程序员,我觉得软件开发人员自身安全意识的强弱和 安全知识的多寡会直接影响到所开发系统的安全性。从这个角度来分析,系统做的不安全有三种原因: A. 不知道存在安全隐患。。。。。。
作者:标点符 分类:其他 查看:40 评论:0 时间:2012-02-05 15:33:49
    百度的搜索URL存在着一定的规律和逻辑,下面的链接是我使用百度搜索“标点符”后得到的链接,下面就来一起分析下百度搜索结果URL的秘密。
作者:崔凯 分类:JavaScript 查看:38 评论:0 时间:2012-02-05 15:32:23
    跨域修改iframe内的文字。
[共4950篇文章][第1页/共248页][1][2][3][4][5][6][7][8][9][10][>|]
订阅本站
赞助商广告
靠谱《清明上河图》十字绣出售,请联系xieyayu#163.com(请把#替换为@)

© 2009 - 2012 本页面所有内容,转载请注明出处 站长Email:blogread.cn@gmail.com

京ICP备09017802号