自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(378)
  • 资源 (14)
  • 收藏
  • 关注

转载 Actor模型

最近在看Yahoo的S4: distributed stream computing platform,主要是结合了MapReduce和Actor模型,于是找了些资料学习Actor模型,在这里简单介绍一下,S4等后续文章再介绍。  Actor这个模型由Carl Hewitt在1973年提出,Gul Agha在1986年发表技术报告“Actors: A Model of Concurrent

2012-02-24 14:59:32 3393

翻译 从pentaho到jaspersoft

从pentaho到jaspersoft因infobright之故,我认识了pentaho和jaspersoft,因为infobright提供与它们配套的虚拟机,人都是懒惰的,更何况我使用虚拟机已经到了痴迷的程度。于是我先上了pentaho的贼船,至今仍徘徊在jaspersoft这条不知道能不能驶到头的幽灵船上。infobright网站上是这样描述它的这两个partner的:

2012-02-09 19:02:01 4093

转载 pear和pecl

PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR就是PHP的CPAN。PECL (PHP Extension Community Library),PHP的扩展库,它提供了一系列已知的扩展库,由C++等其他语言编写而成,以.so形式出现,.so 为共享库

2012-01-15 22:37:16 4020

转载 semi-join anti-join

表连接的方式如join,semi-join,outer-join,anti-join;表连接的实现方式如nested loop,merge,hash.本文简单的介绍表连接的方式join,semi-join,outer-join,anti-join和适用情景。

2011-09-01 17:40:10 2230

转载 ssh 免密码登陆

ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。1.在A机下生成公钥/私钥对。

2011-08-10 09:06:20 2429

原创 开博了~

吼吼~

2011-07-11 17:37:22 244

转载 随机算法

在日常工作中,经常需要使用随机算法。比如面对大量的数据, 需要从其中随机选取一些数据来做分析。 又如在得到某个分数后, 为了增加随机性, 需要在该分数的基础上, 添加一个扰动, 并使该扰动服从特定的概率分布。本文主要从这两个方面出发, 介绍一些算法, 供大家参考。首先假设我们有一个使用的随机函数float frand(), 返回值在(0, 1)上均匀分布。大多数的程序语言库提供这样的函数。 在其他

2011-06-08 23:20:00 3492

转载 系统性能监控常用命令

<br />系统监控<br />系统监控需要安装psacct,sysstat,SysVinit三个rpm软件安装包<br />一.<br />显示系统内核消息<br />uname -srvmo<br />显示系统运行时间和平均负载<br />uptime<br />显示系统进程列表<br />ps aux<br />显示系统物理内存和交换区的使用<br />free<br />显示系统的磁盘空间用量<br />df -h<br />显示磁盘分区<br />fdisk -l<br />显示系统PCI信息,也

2011-05-25 13:00:00 3276

转载 eventfd 进程间通知机制

<br />eventfd 在内核版本,2.6.22以后有效。查看内核版本可以用命令 uname -r 。<br /><br />1 #include <sys/eventfd.h><br />int eventfd(unsigned int initval, int flags);<br />这个函数会创建一个 事件对象 (eventfd object), 用来实现,进程(线程)间 的 等待/通知(wait/notify) 机制. 内核会为这个对象维护一个64位的计数器(uint64_t)。<

2011-05-23 23:18:00 3980

转载 STL内存管理器的分配策略

<br /><br />STL提供了很多泛型容器,如vector,list和map。程序员在使用这些容器时只需关心何时往容器内塞对象,而不用关心如何管理内存,需要用多少内存,这些STL容器极大地方便了C++程序的编写。例如可以通过以下语句创建一个vector,它实际上是一个按需增长的动态数组,其每个元素的类型为int整型:<br />stl::vector<int> array;<br />拥有这样一个动态数组后,用户只需要调用push_back方法往里面添加对象,而不需要考虑需要多少内存:<br />ar

2011-05-22 15:38:00 3089

转载 Memcached内存分配

<br />Memcached是一个高效的分布式内存cache,了解memcached的内存管理机制,便于我们理解memcached,让我们可以针对我们数据特点进行调优,让其更好的为我所用。这里简单谈一下我对memcached的内存管理的一些认识,在没有特别注明的情况下,这里谈到的memcached是1.2版本,1.1和1.2版本有一些差异。基本概念:Slab和chunk在Memcached内存结构中有两个非常重要的概念:slab 和 chunk,我们先从下图中对这两个概念有一个感性的认识:图 1 memc

2011-05-22 11:25:00 2684

转载 进程可打开的最大句柄数

一个进程能够打开最大文件句柄(Linux)<br />在Linux下,我们使用ulimit -n命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。系统默认值1024。 <br />   对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象squid、mysql、java等单进程处理大量请求的应用来说就有 点捉襟见肘了。如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到“too many files open”的错误提示。如何知道当前进程打开了多少

2011-05-18 22:41:00 6405 1

原创 mongodb和redis(未完)

<br />mongodb:<br />1)文档数据库<br />MongoDB的面向文档采用的是BSON。如 blog的文章和评论,可以做如下设计:<br />{ 'id':1, 'author':'NinGoo', 'title':'白话MongoDB(一)', 'content':'按照官方的说法,此处省略一万字', comment:[ { 'comment-author':'宋兵甲', 'comment-content':'有木有' } , { 'commen

2011-05-08 23:33:00 3471

转载 存储模式RP和OPP

<br /><br />在分布式存储数据库的世界中,无论是基于Key/Value的数据库还是Column Base的数据库,都有一个重要的因子——Key,或者叫RowKey。我们总是根据Key来快速的获取存储的数据。毫不夸张的说,Key是读数据的基础。<br />对于Key的存储,有两种截然不同的分布方式,我们称之为:随机分布(RP)和顺序分布(OPP)<br />RP和OPP之间并没有绝对的优劣,但遗憾的是任何数据库只能选择其中的一种。在这篇文章中我们希望能够讨论一下两种方式的优劣,经典数据库的选择和我们

2011-05-08 18:36:00 2623

转载 开源许可证~

<br />如何为代码选择开源许可证,这是一个问题。<br />世界上的开源许可证,大概有上百种。很少有人搞得清楚它们的区别。即使在最流行的六种----GPL、BSD、MIT、Mozilla、Apache和LGPL----之中做选择,也很复杂。<br />乌克兰程序员Paul Bagwell,画了一张分析图,说明应该怎么选择。这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。<br />下面是我制作的中文版,请点击看大图。<br /><br />(完)<br />

2011-05-03 13:10:00 2346

转载 linux判断文件是否存在

<br />对于判断文件是否存在,每个人有不同的方法!我通常采用两种方法 : open 和 access ;<br /><br />这个俩个方法有相似之处,且有不同之处;下面为大家详细说明他们的不同之处:<br /><br />open 是打开,读写等操作文件的一个函数,access就是一个判断文件权限的函数。在linux下,由于文件有不同的权限,当当前用户没有对此文件的读权限的时候,用来判断文件是否存在,显然不合适。而access却可以做到。<br /><br />open 的第一个参数是文件路径,第二个

2011-05-03 12:48:00 6638

转载 JobTracker在集群规模扩大后可扩展性瓶颈~

<br /><br />当hadoop集群规模很小的时候,比如100台,200台,300台的时候,可能 一切看上去都很好,jobtracker分配task到计算槽位非常高效,集群的槽位资源在计算多的时候基本能够打满,所以集群的利用率非常高,一切看上 去都运转良好。在这种情况下,当计算越来越多,提交作业的人越来越多,集群的计算槽位逐渐无法满足需求的时候,大多数人第一个想到的解决办法就是:加机 器。的确,hadoop设计上的优秀和可扩展性可以方便的让集群管理员对集群增删机器,所以当集群计算资源紧缺,又有空闲的机

2011-04-24 14:42:00 3950 2

转载 python 编码转换

<br />====== python 编码转换 ====== <br /><br />主要介绍了python的编码机制,unicode, utf-8, utf-16, GBK, GB2312,ISO-8859-1 等编码之间的转换。 <br /><br />**常见的编码转换分为以下几种情况:** <br /><br />===== unicode 转换为其它编码(GBK, GB2312等) ===== <br /><br />例如:a为unicode编码 要转为gb2312。a.encode('gb23

2011-04-20 10:31:00 2538

转载 C++类模板的三种特化类型

C++类模板的三种特化<br />By SmartPtr(http://www.cppblog.com/SmartPtr/)<br /><br /><br />说起C++的模板及模板特化, 相信很多人都很熟悉 ,但是说到模板特化的几种类型,相信了解的人就不是很多。我这里归纳了针对一个模板参数的类模板特化的几种类型, 一是特化为绝对类型; 二是特化为引用,指针类型;三是特化为另外一个类模板。<br />这里用一个简单的例子来说明这三种情况:// general version<br />template<cl

2011-04-17 14:20:00 2353

转载 socket与RPC

<br /> RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,出于一种类比的愿望,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像LPC(本地过程调用).<br />越底层,代码越复杂、灵活性越高、效率越高;越上层,抽象封装的越好、代码越简单、效率越差。Socket和RPC的区别再次说明了这点。<br />——————下面转自:http://johnyan.hostzi.com/phpbb3/viewtopic.php?t=1305——————

2011-04-16 22:16:00 4211

转载 常见nosql数据库介绍

<br />随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域, 非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不 从心,暴露了很多难以克服的问题,例如:<br /><br />1、High performance – 对数据库高并发读写的需求 <br />web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常

2011-04-14 12:40:00 2510

转载 HBase中的Client如何路由到正确的RegionServer

HBase中的Client如何路由到正确的RegionServerPosted onJuly 27, 2010byHarry_Ding<br />在HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入,删除,查询数据都需要先找到相应的RegionServer。什么叫相应的RegionServer?就是管理你要操作的那个Region的RegionServer。Client本身并不知道哪个RegionServer管理哪个Region,那么它是如何找到相应的RegionServe

2011-04-13 17:15:00 2351

转载 hadoop运行痕迹~~

<br />Hadoop 学习总结之一:HDFS简介<br />Hadoop学习总结之二:HDFS读写过程解析<br />Hadoop学习总结之三:Map-Reduce入门<br />Hadoop学习总结之四:Map-Reduce的过程解析<br /> <br />在使用hadoop的时候,可能遇到各种各样的问题,然而由于hadoop的运行机制比较复杂,因而出现了问题的时候比较难于发现问题。<br />本文欲通过某种方式跟踪Hadoop的运行痕迹,方便出现问题的时候可以通过这些痕迹来解决问题。一、环境的搭建

2011-04-12 16:30:00 1589 1

转载 linux c++动态链接库so编写

<br />Linux下的动态链接库是.so文件,即:Shared Object,下面是一个简单的例子说明如何写.so以及程序如何动态载入.so中的函数和对象。<br />testso.h:#ifndef _TESTSO_H#define _TESTSO_Hextern "C" { int myadd(int a, int b); typedef int myadd_t(int, int); // myadd function type}#endif // _TESTSO

2011-04-11 17:07:00 11842 1

转载 有用的性能数据,请记住它吧~~

<br /><br />转载自:http://surana.wordpress.com/2009/01/01/numbers-everyone-should-know/L1 cache reference 0.5 nsBranch mispredict 5 nsL2 cache reference 7 nsMutex lock/unlock 100 nsMain memory reference 100 nsCompress 1K bytes with Zippy 10,000 nsSend 2K byte

2011-04-10 15:07:00 1543

转载 linux定时器setitimer

<br />setitimer()为Linux的API,并非C语言的Standard Library,setitimer()有两个功能,一是指定一段时间后,才执行某个function,二是每间格一段时间就执行某个function,以下程序demo如何使用setitimer()。 <br /> <br />view plaincopy to clipboardprint?<br />01./* <br />02. <br />03.  <br />04. <br />05.Filename    : time

2011-04-08 10:21:00 740

转载 ulimit 参数

<br />表 1. ulimit 参数说明选项 [options]含义例子-H 设置硬资源限制,一旦设置不能增加。ulimit – Hs 64;限制硬资源,线程栈大小为 64K。-S 设置软资源限制,设置后可以增加,但是不能超过硬资源设置。ulimit – Sn 32;限制软资源,32 个文件描述符。-a 显示当前所有的 limit 信息。ulimit – a;显示当前所有的 limit 信息。-c 最大的 core 文件的大小, 以 blocks 为单位。ulimit – c unlimited; 对生

2011-04-02 16:08:00 631

转载 C++ dlopen mini HOWTO

C++ dlopen mini HOWTO<br />作者:Aaron Isotton <[email protected]> 2006-03-16<br />译者:[email protected] 2006-08-05<br />------------------------------------------------<br />摘要<br />  如何使用dlopen API动态地加载C++函数和类<br />-----------------------------------------

2011-04-01 19:48:00 603

转载 CAP理论及系统一致性

<br />CAP理论及系统一致性<br />印象中CAP理论开始流行是从Amazon Dynamo的论文开始的,Amazon的CTO还在他的博客中介绍了最终一致性的概念,从此以后,各种会议和交流中都少不了CAP的影子。然而,对于分布式系统工程设计和开发来说,CAP意味着什么呢?<br />CAP 理论由 Berkerly 的 Brewer 教授提出,三者的含义如下:一致性 ( Consistency) :任何一个读操作总是能读取到之前完成的写操作结果;可用性 ( Availability) :每一个操作总

2011-03-30 20:53:00 1066 2

转载 GFS, HDFS, Blob File System架构对比

GFS, HDFS, Blob File System架构对比<br />作者: Chuanhui | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明<br />本文链接地址: http://www.nosqlnotes.net/archives/119<br />分布式文件系统很多,包括GFS,HDFS,淘宝开源的TFS,Tencent用于相册存储的TFS (Tencent FS,为了便于区别,后续称为QFS),以及Facebook Haystack。其中,TFS,QFS以及Hayst

2011-03-28 23:14:00 1642 1

转载 zookeeper安装和应用场合(名字,配置,锁,队列,集群管理)

<br />安装和配置详解<br />本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。<br />单机模式<br />单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目录如:/home/zookeeper-3.2.2 下,Zookeeper 的启动

2011-03-27 15:52:00 6123

转载 zookeeper使用和应用场合

<br />zookeeper介绍<br />zookeeper是一个为分布式应用提供一致性服务的软件,它是开源的Hadoop项目中的一个子项目,并且根据google发表的论文来实现的,接下来我们首先来安装使用下这个软件,然后再来探索下其中比较重要一致性算法。 <br />zookeeper安装和使用<br />zookeeper的安装基本上可以按照 http://hadoop.apache.org/zookeeper/docs/current/ zookeeperStarted.html 这个页面上的步骤

2011-03-27 11:22:00 1650

转载 Zookeeper全解析——Paxos作为灵魂

<br />原计划在介绍完ZK Client之后就着手ZK Server的介绍,但是发现ZK Server所包含的内容实在太多,并不是简简单单一篇Blog就能搞定的。于是决定从基础搞起比较好。<br />那么ZK Server最基础的东西是什么呢?我想应该是Paxos了。所以本文会介绍Paxos以及它在ZK Server中对应的实现。<br />先说Paxos,它是一个基于消息传递的一致性算法,Leslie Lamport在1990年提出,近几年被广泛应用于分布式计算中,Google的Chubby,Apac

2011-03-26 18:40:00 974

转载 Zookeeper全解析——Client端

Zookeeper全解析——Client端Posted onAugust 10, 2010byHarry_Ding<br />Zookeeper的Client直接与用户打交道,是我们使用Zookeeper的interface。了解ZK Client的结构和工作原理有利于我们合理的使用ZK,并能在使用中更早的发现问题。本文将在研究源码的技术上讲述ZK Client的工作原理及内部工作机制。<br />在看完ZK Client的大致架构以后我希望能有一种简单的方式描述ZK Client的基本结构,想来想去我觉得

2011-03-26 18:39:00 1707

转载 Paxos在大型系统中常见的应用场景

<br /><br />在分布式算法领域,有个非常重要的算法叫Paxos, 它的重要性有多高呢,Google的Chubby [1]中提到<br />all working protocols for asynchronous consensus we have so far encountered have Paxos at their core.<br />关于Paxos算法的详述在维基百科中有更多介绍,中文版介绍的是choose value的规则[2],英文版介绍的是Paxos 3 phase

2011-03-26 18:23:00 733

转载 Chubby总结

参考文献:[1] The Chubby lock service for loosely-coupled distributed systems [2] Paxos Made Simple声明文中大部分的观点来自于文献[1]中的描述,但也夹杂了部分本人自己的理解,所以不能保证本文的正确性。真想深入了解Chubby还是好好读原版论文吧:)前言MapReduce 很多人已经知道了,但关于Chubyy似乎熟悉它的就非常有限,这倒是不奇怪,因为MapReduce是一个针对开发人员的 ProgrammingModel

2011-03-26 18:07:00 902

原创 存储系统总结(未完)

<br />1)全内存存储<br />内存存储索引和数据<br /> <br />2)内存+磁盘<br />内存存储索引等,磁盘存储数据文件<br />索引主要有hash和B+树等;<br />磁盘数据文件大多采用日志性数据文件;只在文件末尾追加而不修改文件,写入和更新是追加新记录,删除也是追加记录(记录的value为特殊的值);此外,还有定期merge数据文件的过程,以免数据文件过多过大(随机io转换为顺序io,加快读写效率)。<br /> <br />hbase中使用b+树索引数据(根据row key

2011-03-26 18:06:00 738

转载 Cassandra 和 HBase 中使用的 BigTable 模型

<br />英文原文链接:http://horicky.blogspot.com/2010/10/bigtable-model-with-cassandra-and-hbase.html<br />中文原文链接:http://lgone.com/html/y2010/812.html<br />本文主要对Cassandra和HBase特性和实现中对BigTable理论的应用。<br />1.Fundamentally Distributed(分布式存储)<br />项目从最初规划上,就是为海量数据服务的,当

2011-03-24 18:34:00 721

转载 Bigtable Merge-Dump存储引擎

<br /><br />作者: Chuanhui | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明<br />本文链接地址: http://www.nosqlnotes.net/archives/122<br />单机存储引擎解决单机读写问题,Merge-Dump存储引擎设计成一种通用的存储引擎,同时支持数据写入,随机读取和顺序扫描功能。顺序扫描功能应用很广,比如MapReduce批处理,同一个广告主的所有关键词广告统计,用户浏览所有的收藏信息,淘宝卖家管理大量的商品等。简单的KV系统

2011-03-24 17:56:00 765

转载 随机访问KV存储引擎

<br /><br />Key-Value系统只需要支持简单的随机读(Get),写(Put)和删除(Del)操作。由于磁盘是顺序存储介质,因此可以往数据文件追加Key-Value记录并在内存中存放记录所在的磁盘位置,即索引信息。由于对同一个Key的更新(Put)操作以最后一个为准,内存中的索引只需要记录最新的Key-Value对位置即可,而对于删除操作,也是往数据文件追加一个删除记录。由于内存的大小有限,需要尽可能减小索引记录的大小,比如只支持64位的整数Key(其它类型的Key可以通过md5运算得到64位

2011-03-24 17:55:00 997

C++网络编程 卷1 运用ACE和模式消除复杂性

C++网络编程 卷1 运用ACE和模式消除复杂性

2009-07-16

C++网络编程 卷1 运用ACE和模式消除复杂性

C++网络编程 卷1 运用ACE和模式消除复杂性

2009-07-16

C++网络编程 卷1 运用ACE和模式消除复杂性

C++网络编程 卷1 运用ACE和模式消除复杂性

2009-07-16

C++网络编程 卷1 运用ACE和模式消除复杂性

C++网络编程 卷1 运用ACE和模式消除复杂性

2009-07-16

基于C++CORBA高级编程.

基于C++CORBA高级编程.基于C++CORBA高级编程.

2009-07-16

基于C++CORBA高级编程.

基于C++CORBA高级编程.基于C++CORBA高级编程.

2009-07-16

基于C++CORBA高级编程.

基于C++CORBA高级编程.基于C++CORBA高级编程.

2009-07-16

QTTabBar_1.2.2.1_glb

QTTabBar_1.2.2.1_glb.zip ,使资源管理器有多标签的功能,强烈推荐。

2009-03-06

WndTabs320

WndTabs320,使vc6.0拥有标签功能

2009-03-06

VisualAssistX+v10.5.1715

VisualAssistX+v10.5.1715

2009-03-06

SourceStyler_v1.3 + 汉化补丁 + keygen

SourceStyler_v1.3 + 汉化补丁 + keygen

2009-03-04

大内高手(详细的内存知识)

大内高手,介绍内存相关的知识 我一直认为作为一个在linux下工作的C程序员,若对内存有深刻的认识,不但程序的性能会更高,运行更稳定,编程速度也会更快。反之亦有相反的效果,有时一些内存错误让你摸不着头脑,不但大大降低开发速度,开发出来的软件稳定性也值得怀疑。 为了提高组员的编程水平,去年我制定了一系列的培训计划,并负责主讲部分重要课程,其中基础类课程中,有一堂关于内存的课程。当时的讲稿写得很粗略,后来的新同事说看不明白,我决定重新整理一下,放在BLOG,希望对新手有所帮助。 至于文章的标题,基本上是为了搞笑。最近重温星爷经典《大内密探零零发》,这是以大内高手作为文章的标题原因之一。另外也可以这样理解,内指内存,至于大字,修饰内存指其容量大,修饰内存高手形容水平很高,两种理解都可以。

2008-09-10

The.Linux.Networking.Architecture_Design.and.Implementation

The.Linux.Networking.Architecture_Design.and.Implementation

2007-08-16

Linux Kernel

Linux Kernel

2007-08-09

空空如也

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

TA关注的人

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