
算法
一水先生
这个作者很懒,什么都没留下…
展开
-
zookeeper 入门
1、zookeeper是什么 在大规模互联网服务的构建中,需要对多个服务(进程)进行协调,包括多个服务之间的资源的分配,服务与服务之间的依赖关系,同类型服务中的leader选举等。zookeeper就是用来对分布式服务做协调工作,例如可以用zookeeper实现分布式锁服务,对多个服务互斥访问进行控制。与其他现有的分布式服务协调应用相比,zookeeper具有很高的吞吐量,对于连接z转载 2012-09-11 12:41:54 · 578 阅读 · 0 评论 -
字符串与正则表达式
1、字符串String类对象是不可改变的,对于String对象的重新赋值在本质上是重新创建了一个String对象并将新值赋予该对象,其方法ToString对性能的提高并非很显著。 因为一旦创建了该对象,就不能修改该对象的值在处理字符串时,最好使用StringBuilder类,其.NET 命名空间是System.Text。该类并非创建新的对象,而是通过Append,Remove,Insert转载 2012-09-18 10:37:31 · 672 阅读 · 0 评论 -
分布式一致性Paxos算法学习笔记(三)
分布式一致性Paxos算法学习笔记(三)前两篇学习笔记给出paxos算法较为详细的文字描述。如果对算法的两个阶段四个过程的定义还不太了解可以点击这里,这段文字出自夏超伦的论文,描述在算法的两个阶段里proposer、acceptor、learner三个角色需要完成什么工作。可惜小夏同学并没有描述得很详细,我在编码实现的时候发现有很多重要的细节没有提到,proposer pick a转载 2012-09-11 12:40:56 · 1290 阅读 · 0 评论 -
通信协议之序列化
通信协议之序列化 (2012-07-07 15:15)stevenrao——2012-07-07于深圳 通信协议可以理解两个节点之间为了协同工作实现信息交换,协商一定的规则和约定,例如规定字节序,各个字段类型,使用什么压缩算法或加密算法等。常见的有tcp,udo,http,sip等常见协议。协议有流程规范和编码规范。流程如呼叫流程等信令流程,编码规范规定所有信令和数据如何打包/解包转载 2012-09-24 17:31:37 · 679 阅读 · 0 评论 -
无锁队列的实现
关于无锁队列的实现,网上有很多文章,虽然本文可能和那些文章有所重复,但是我还是想以我自己的方式把这些文章中的重要的知识点串起来和大家讲一讲这个技术。下面开始正文。关于CAS等原子操作在开始说无锁队列之前,我们需要知道一个很重要的技术就是CAS操作——Compare & Set,或是 Compare & Swap,现在几乎所有的CPU指令都支持CAS的原子操作,X86下对应的是 CMPXCH转载 2012-09-12 12:20:54 · 1200 阅读 · 1 评论 -
深入解析数据压缩算法
深入解析数据压缩算法正文 所谓数据压缩,是指在不丢失信息的前提下,缩减数据量以减少存储空间,提高传输、存储和处理效率的一种技术方法。或者是按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间。 能实现数据压缩的本质原因就是数据的冗余性。 本系列将分为上下两个部分,介绍四种数据压缩算法,分别为Huffman转载 2012-09-14 23:43:37 · 2059 阅读 · 0 评论 -
Why Open Source Software/Free Software? look at the NUmbers!
Why Open Source Software / Free Software (OSS/FS, FLOSS, or FOSS)? Look at the Numbers!David A. Wheelerhttp://www.dwheeler.com/contactme.htmlRevised as of April 16, 2007This paper provides q转载 2012-09-12 14:17:12 · 45803 阅读 · 0 评论 -
分布式一致性Paxos算法学习笔记(一)
分布式一致性Paxos算法学习笔记(一)取名 Paxos(Greek: Παξοί, pronounced Paksi in English )又名Paxi是希腊西南部一个风景如画的小岛。而Paxos算法则是现在很火的分布式一致性算法,为何以一个希腊小岛名字算法?Lamport这样解释道:I thought, and still think, that Paxos is an转载 2012-09-11 12:38:00 · 675 阅读 · 0 评论 -
算法整理(0)-- 序言
随着工作的年限变长,越发感觉算法和数据结构在软件的架构,设计,开发极为重要,也越发地觉得自己的算法理论的欠缺。于是,想重新把本科阶段的算法教科书搬出来,好好地看一遍,并整理贴出来,跟大家分享,当然也欢迎大家拍砖。 算法经典的书籍也挺多的。 参考书籍: (1)>(严蔚敏,吴伟民 编著) (2)> 麻省理工的 (3)> (1-4卷)原创 2014-03-18 14:12:48 · 835 阅读 · 0 评论 -
Brewer’s CAP Theorem
Brewer’s CAP Theoremby eric on 五月 25th, 2010Amazon和EBay一直在喝的酷爱(kool aid)饮料。by Julian Browne on 2009.1.11 (经Julian授权翻译此文,原文参见)1976年6月4号,周5,在远离音乐会大厅的一个楼上的房间内,在位于Manchester的Lesser Free Trade Ha转载 2012-09-12 00:14:17 · 2767 阅读 · 0 评论 -
分布式一致性Paxos算法学习笔记(二)
一、简介1.1Paxos算法处理的问题 Paxos 算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行"一致性算法"以保证每个节点看到的指令一致。节点通信存在两种模型:共享内存(转载 2012-09-11 12:40:03 · 717 阅读 · 0 评论 -
gossip协议
1.背景Gossip算法又被称为反熵(Anti-Entropy),熵是物理学上的一个概念,代表杂乱无章,而反熵就是在杂乱无章中寻求一致,这充分说明了Gossip的特点:在一个有界网络中,每个节点都随机地与其他节点通信,经过一番杂乱无章的通信,最终所有节点的状态都会达成一致。每个节点可能知道所有其他节点,也可能仅知道几个邻居节点,只要这些节可以通过网络连通,最终他们的状态都是一致的,当然这也是疫转载 2012-09-11 12:44:28 · 734 阅读 · 0 评论 -
libeio源码分析 – 主流程
libeio源码分析 – 主流程@淘宝千石简介This library provides fully asynchronous versions of most POSIX functions dealing with I/O. Unlike most asynchronous libraries, this not only includes read and write,转载 2012-09-11 23:15:16 · 754 阅读 · 0 评论