刘爱贵的专栏

中科院博士,长期从事存储领域研发工作,分布式存储资深理论研究与实践者,GlusterFS 技术专家,当前专注于Server SAN。...

排序:
默认
按更新时间
按访问量

Glusterfs全局统一命名空间

全局统一命名空间 Glusterfs采用了全局统一命名空间设计,将磁盘和内存资源聚集成一个单一的虚拟存储池进行管理,并在此命名空间中使用NFS/CIFS等标准协议来访问应用数据。与其他分布式文件系统有所不同的是,GlusterFS中没有专用的元数据服务器,而是独特地采用无元数据服务的设计,取而代之...

2011-12-02 21:20:19

阅读数:8880

评论数:20

相似数据检测算法

相似数据检测算法对给定的一对数据序列计算两者之间的相似度([0,1], 1表示完全相同)或距离([0, ), 0表示完全相同),从而度量数据之间的相似程度。相似数据检测在信息科学领域具有非常重要的应用价值,比如搜索引擎检索结果的聚类与排序、数据聚类与分类、Spam检测、论文剽窃检测、重复数据删除、...

2011-10-22 22:21:40

阅读数:18621

评论数:35

HASHDB:一个简单的KeyValue存储系统原型

1、HashDB是什么?HashDB是一个简单的KeyValue存储系统原型,提供基本的二元组的数据存储与读取功能,亦即当前被广为推崇的NoSQL存储系统。最初想到设计这个小系统,完全是出于偶然。本人维护着一个轻量级的开源重复数据删除小工具deduputil,它基于块级对文件目录

2011-08-08 22:31:09

阅读数:15728

评论数:33

深入理解Bloom Filter

Bloom Filter是1970年由Bloom提出的,最初广泛用于拼写检查和数据库系统中。近年来,随着计算机和互联网技术的发展,数据集的不断扩张使得 Bloom filter获得了新生,各种新的应用和变种不断涌现。Bloom filter是一个空间效率很高的数据结构,它由一个位

2011-07-13 12:40:43

阅读数:12186

评论数:10

分布式文件系统名字空间实现研究

名字空间(Namespace)即文件系统文件目录的组织方式,是文件系统的重要组成部分,为用户提供可视化的、可理解的文件系统视图,从而解决或降低人类与计算机之间在数据存储上的语义间隔。目前树状结构的文件系统组织方式与现实世界的组织结构最为相似,被人们所广泛接受。因此绝大多数的文件系统皆以Tree方式...

2010-11-07 18:57:00

阅读数:11891

评论数:22

数据相似性检测算法

本文研究了数据相似性的计算方法,对Bloom filter和LCS两种常用相似性检测算法进行剖析、实现和分析比较。

2010-09-08 10:57:00

阅读数:7506

评论数:17

数据同步算法研究

基于Rsync和RDC算法思想并借助重复数据删除(De-duplication)技术,对数据同步算法进行深入研究与分析,并研发了原型系统。首先介绍rsync 与RDC算法,然后详细描述算法设计与相应的数据结构,并重点分析文件分块、差异编码、文件同步算法,最后简介推拉两种应用模式。

2010-08-06 16:52:00

阅读数:33258

评论数:111

基于dedup技术的远程相似文件同步

Rsync是类Unix环境下的一个高效的远程文件复制(同步)工具,它通过著名的Rsync算法来优化流程,减少了数据通信量并提高文件传输效率。为了弥补Rsync的不足,利用dedup技术中的变长块数据切分算法,重新实现了一个远程相似文件同步原型dedup_sync。

2010-07-06 11:26:00

阅读数:3318

评论数:3

Rsync滚动校验算法

Rsync中使用了一种滚动检验(Rolling Checksum)算法,用于快速计算数据块的检验值。它是一种弱校验算法,采用的是Mark Adler的adler-32校验,给定X1, ..., Xn的校验值,X1以及Xn+1,可以快速地计算出X2, ..., Xn+1校验值。这样,就可以高效地计算...

2010-06-25 14:39:00

阅读数:7793

评论数:10

字符串Hash函数评估

Hash查找因为其O(1)的查找性能而著称,被对查找性能要求高的应用所广泛采用。它的基本思想是:(1) 创建一个定长的线性Hash表,一般可以初始化时指定length;(2) 设计Hash函数,将关键字key散射到Hash表中。其中hash函数设计是最为关键的,均匀分布、冲突概率小全在它;(3) ...

2009-12-21 21:29:00

阅读数:18895

评论数:27

KMP算法深度解析

 摘要:KMP算法是字符串匹配的经典算法,由于其O(m+n)的时间复杂度,至今仍被广泛应用。大道至简,KMP算法非常简洁,然而,其内部却蕴含着玄妙的理论,以至许多人知其然而不知其所以然。本文旨在解开KMP算法的内部玄妙所在,希望能够有助于学习与理解。 1、KMP算法    一种改进的字符串匹配算法...

2009-08-04 22:59:00

阅读数:66570

评论数:46

输出集合所有子集的算法

算法描述:把求子集运算转换为组合问题。假设集合中包含N个元素, 子集合数 =  C(N, 0) + C(N, 1) + ... + C(N, N-1) + C(N, N),对于任一个子集合,可以用一个N元组表示,即 , 其中Si取值范围为(0, 1),0表示不该子集合不包含该元素,1表示该子集合包...

2009-06-08 20:49:00

阅读数:5425

评论数:1

动态分配二维数组

C/C++程序中经常需要使用malloc / new 来生成数组。对于一维数组,这非常简单,而二维数组,动态分配要稍微复杂一点。这里给出动态分配二维数组的两种方法。 #include #include #define X 100#define Y 100// 方法一:数组空间不连续,两次调用mal...

2009-05-09 15:54:00

阅读数:2256

评论数:9

Windows性能计数器

一、性能计数器概述  性能监视,是Windows NT提供的一种系统功能。Windows NT一直以来总是集成了性能监视工具,它提供有关操作系统当前运行状况的信息,针对各种对象提供了数百个性能计数器。性能对象,就是被监视的对象,典型例子有Processor、Process、Memory、TCP/U...

2009-03-30 21:03:00

阅读数:17255

评论数:5

红黑树

      红黑树(Red-Black Tree)是一种二叉查找树(Binary Search Tree),但作了改进,即在每个结点上增加一个存储位表示结点的颜色,可以是RED或BLACK。通过对任何一条从根到叶子的路径上各个结点的着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是...

2009-02-07 11:18:00

阅读数:2565

评论数:3

散列表设计

散列表设计(刘爱贵 - Aiguille.LIU)1、基本概念  散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。...

2008-04-14 13:09:00

阅读数:4761

评论数:6

C程序中的存储分配

C程序中的存储分配(刘爱贵 - Aiguille.LIU)  C程序设计中,经常需要使用malloc/free动态管理内存,在需要的时候向操作系统申请空间,适合的时候释放不再使用的空间。那么,C库中malloc/free是如何实现的呢?参考"The C Programming Langu...

2008-04-12 17:55:00

阅读数:2827

评论数:4

TRIE树

一个能够实现查找元素、增加元素和删除元素三种操作的数据结构称为字典。TRIE树,又称键树,可以用来构造字典,适合所有元素都是由字母和数字标记的情形。下面是TRIE树的一种C++实现:#include #include #include using namespace std;const int n...

2008-03-29 13:46:00

阅读数:2364

评论数:4

二叉排序树

二叉排序树(Binary Sort Tree)中,任意结点x,其左子树所有结点的值不大于key[x] ,其右子树的所有结点值不小于key[x]。BST中的操作SEARCH、MINIMUM、MAXIMUM、SUCCESSOR、 PREDECCESSOR、INSERT、DELETE都可以在O(h)内完...

2008-03-29 13:45:00

阅读数:1691

评论数:0

一种五子棋算法

学习算法分析设计时练手所写的,主要是自娱。算法采用极大极小剪枝博弈算法,人工智能还凑和,但BUG多多,有时间再改改。设计主要包括:数据结构、估值函数、胜负判断、搜索算法VC实现:http://goc.ac.cn/liuag/html/software_fivechess.html1、数据结构//记...

2008-03-29 13:39:00

阅读数:14522

评论数:5

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