自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

半道出家的和尚

技术是一种美...

  • 博客(29)
  • 收藏
  • 关注

原创 北大天网搜索引擎TSE分析及完全注释[6]倒排索引的建立的程序分析(4)

 以下是根据正向索引建立倒排索引的注释 int main(int argc, char* argv[])    //./CrtInvertedIdx moon.fidx.sort > sun.iidx {     ifstream ifsImgInfo(argv[1]);     if (!ifsImgInfo)      {    

2009-02-28 10:24:00 910

原创 北大天网搜索引擎TSE分析及完全注释[6]倒排索引的建立的程序分析(3)

 这里介绍正向索引的建立,如果直接建立倒排索引效率上可能会很低,所以可以先产生正向索引为后面的倒排索引打下基础。 详细的文件功能和介绍都在这里有了介绍自顶向下学搜索引擎——北大天网搜索引擎TSE分析及完全注释[5]倒排索引的建立及文件介绍 CrtForwardIdx.cpp文件 int main(int argc, char* argv[])    //./Cr

2009-02-28 10:23:00 879

原创 北大天网搜索引擎TSE分析及完全注释[6]倒排索引的建立的程序分析(2)

 面的DocIndex程序输入一个Tianwang.raw.*****文件,会产生一下三个文件 Doc.idx, Url.idx, DocId2Url.idx,我们这里对DocSegment程序进行分析。这里输入 Tianwang.raw.*****,Doc.idx,Url.idx.sort_uniq等三个文件,输出一个Tianwang.raw.***.seg 分词完毕的文件

2009-02-28 10:22:00 835

原创 北大天网搜索引擎TSE分析及完全注释[6]倒排索引的建立的程序分析(1)

 上一篇主要介绍了倒排索引建立相关的文件及中间文件。TSE建立索引在运行程序上的大致步骤可以简化分为以下几步:1、运行命令#./DocIndex会用到一个文件 tianwang.raw.520    //爬取回来的原始文件,包含多个网页的所有信息,所以很大,这也是一个有待解决的问题,到底存成大文件(如果过大会超过2G或4G的限制,而且文件过大索引效率过低)还是小文件(文件数过多用于打开

2009-02-28 10:21:00 1385

原创 北大天网搜索引擎TSE分析及完全注释[5]倒排索引的建立及文件介绍

不好意思让大家久等了,前一阵一直在忙考试,终于结束了。呵呵!废话不多说了下面我们开始吧!TSE用的是将抓取回来的网页文档全部装入一个大文档,让后对这一个大文档内的数据整体统一的建索引,其中包含了几个步骤。view plaincopy to clipboardprint?1.  The document index (Doc.idx) keeps informat

2009-02-28 10:18:00 1269

原创 北大天网搜索引擎TSE分析及完全注释[4]小结

 通过前面的三篇文章相信你已经对神秘的搜索引擎有了一个感性的认识,和普通的php类似的脚本语言服务器类似,通过获取前台关键字,通过字典分词,和事先建立建立好的倒排索引进行相关性分析,得出查询结构格式化输出结果。而这里的技术难点在于1、字典的选取(事实上根据不同时代不同地方人们的语言习惯是不一样的所以说字典的最小元的取值是不同的)2、倒排索引的建立(这里就要涉及到爬虫的抓取和索引的建立后

2009-02-28 10:17:00 1118

原创 北大天网搜索引擎TSE分析及完全注释[3]来到关键字分词及相关性分析程序

 有前面注释我们可以知道查询关键字和字典文件准备好好后,将进入用户关键字分词阶段//TSESearch.cpp中:view plaincopy to clipboardprint?CHzSeg iHzSeg;      //include ChSeg/HzSeg.h     //   iQuery.m_sSegQuery = iHzSeg.S

2009-02-28 10:15:00 1205

原创 北大天网搜索引擎TSE分析及完全注释[2]路过查询处理程序

我们可以知道整个程序是从TSESearch.cpp 中的main函数开始的我们重点一下这段代码//TSESearch.cpp CQuery iQuery; iQuery.GetInputs(); //具体程序开始执行 // current query & result page number iQuery.SetQuery(); iQuery.SetStart(); // begin

2009-02-28 10:13:00 1660

原创 北大天网搜索引擎TSE分析及完全注释[1]寻找搜索引擎入口

本着黑客精神我将陆续把最近分析注释TSE搜索引擎的心得发布出来,老鸟,大虾,大牛,高手飘过就是了,若愿意浪费指点下小弟的在下不甚感激,有问题的朋友直接留言讨论。由于本人水平有限,分析和翻译难免有错大家见笑了。上学期拜读了James F.Kurose著的《计算机网络-自顶向下方法与internet特色(第三版阴影)》,觉得写得确实不错(希望没看的朋友一定要买来看看),自己也来搞个高自顶向下的学习

2009-02-28 10:11:00 3010 2

原创 开源分布式文件系统&文件系统

 GFS(Google File System): http://www.codechina.org/doc/google/gfs-paper/MogileFS: http://www.danga.com/mogilefsHadoop/HDFS: http://hadoop.apache.org/coreKFS(Kosmos Distributed File System): ht

2009-02-23 00:16:00 1529

原创 关于hadoop和hbase的适用

  学习hadoop也有一段时间了,在测试了多天,分析了多天,其实对其内部实现还是不是很了解.源代码不是很好看哦.  今天yahoo的一个hadoop的专家过来介绍了一下,yahoo的使用经验,普遍讲的是mapreduce这块内容.而hdfs这块涉及不多.在hadoop的archetcture里也提到hadoop不适合存储小文件.它本身就是从nutch项目里分出来的,目的是存放大文件.

2009-02-23 00:15:00 1599

原创 测试hbase和hadoop操作文件的性能

 测试hbase和hadoop操作文件的性能1:单线程hbase的文件存入        String parentPath = "F:/pic/2003-zhujiajian";        File[] files = getAllFilePath(parentPath);                HBaseConfiguration config = new HBaseConfi

2009-02-23 00:14:00 3020 1

原创 分布式计算开源框架Hadoop入门实践(三)

 Hadoop基本流程一个图片太大了,只好分割成为两部分。根据流程图来说一下具体一个任务执行的情况。在分布式环境中客户端创建任务并提交。 InputFormat做Map前的预处理,主要负责以下工作:验证输入的格式是否符合JobConfig的输入定义,这个在实现Map和构建Conf的时候就会知道,不定义可以是Writable的任意子类。 将input的文件切分为逻

2009-02-22 14:39:00 1011

原创 分布式计算开源框架Hadoop入门实践(二)

 其实参看Hadoop官方文档已经能够很容易配置分布式框架运行环境了,不过这里既然写了就再多写一点,同时有一些细节需要注意的也说明一下,其实也就是这些细节会让人摸索半天。Hadoop可以单机跑,也可以配置集群跑,单机跑就不需要多说了,只需要按照Demo的运行说明直接执行命令即可。这里主要重点说一下集群配置运行的过程。环境7台普通的机器,操作系统都是Linux。内存和CPU就不说了,反正

2009-02-22 14:38:00 736

原创 分布式计算开源框架Hadoop入门实践(一)

分布式计算开源框架Hadoop入门实践(一)在SIP项目设计的过程中,对于它庞大的日志在开始时就考虑使用任务分解的多线程处理模式来分析统计,在我从前写的文章《Tiger Concurrent Practice --日志分析并行分解设计与实现》中有所提到。但是由于统计的内容暂时还是十分简单,所以就采用Memcache作为计数器,结合MySQL就完成了访问控制以及统计的工作。然而未来,对于海量日志

2009-02-22 14:34:00 915

原创 lucene IndexReader reOpen 的彻底研究

一直觉得lucene的reopen有问题,今天特地研究了下,顺便熟悉了整个IndexReader的结构体系IndexReader是一个体系,他是search的核心io之一org.apache.lucene.index Class IndexReaderjava.lang.Object   org.apache.lucene.index.IndexReader Direct Kn

2009-02-18 13:03:00 5826

原创 用 Hadoop 进行分布式并行编程, 第 3 部分

  一 前言 在本系列文章的第一篇:用 Hadoop 进行分布式并行编程,第 1 部分: 基本概念与安装部署中,介绍了 MapReduce 计算模型,分布式文件系统 HDFS,分布式并行计算等的基本原理, 并且详细介绍了如何安装 Hadoop,如何在单机及伪分布式环境 (在一台单机中用多进程模拟) 运行基于 Hadoop 的并

2009-02-16 14:03:00 910

原创 用 Hadoop 进行分布式并行编程, 第 1 部分

Hadoop 简介 Hadoop是一个开源的可运行于大规模集群上的分布式并行编程框架,由于分布式存储对于分布式编程来说是必不可少的,这个框架中还包含了一个分布式文件系统HDFS( Hadoop Distributed File System )。也许到目前为止,Hadoop还不是那么广为人知,其最新的版本号也仅仅是 0

2009-02-16 14:01:00 1019

原创 用 Hadoop 进行分布式并行编程, 第 2 部分

  前言 在上一篇文章:“用 Hadoop 进行分布式并行编程 第一部分 基本概念与安装部署”中,介绍了 MapReduce 计算模型,分布式文件系统HDFS,分布式并行计算等的基本原理, 并且详细介绍了如何安装 Hadoop,如何运行基于 Hadoop的并行程序。在本文中,将针对一个具体的计算任务,介绍如何基于 Ha

2009-02-16 13:59:00 979

原创 Infobright的架构

 Infobright是一个列存数据仓库软件,可以与MySQL集成,作为MySQL的一个存储引擎来使用(后面将会看到这是个非同一般的存储引擎)。主要的技术优势有:1. 高压缩比,通常是10:1,某些应用可能达到40:12. 无需事先做好物理设计规则,不需要建索引,不需要数据分区,对ad-hoc分析型查询执行性能非常高3. 数据装载非常快这些技术优势是如何实现的呢,这两天看了Infobright的白

2009-02-12 11:31:00 3714 2

原创 Google BigTable: 数据库实现的典范

 Google BigTable论文刚出来的时候匆匆读过,没什么感想,只记得是一个分布式多维映射表。今天重读一遍论文,再对照数据库里的相关技术,感觉有点意思了。一般来说,数据库的技术专家大多数时间都在研究一些具体的算法等问题,对一个数据库系统(或一个数据存储系统)从总体上如何实现的问题却不太做考虑,这方面的学术资料也就比较少。当要开发一个新的数据库系统或数据存储系统时,最难决定的就是各种技术应该如

2009-02-12 11:30:00 1185

原创 基于MySQL和Infobright的数据仓库技术

 除非你最近在一个荒岛上,否则你不可能不知道,数据仓库/分析/商务智能( BI )领域正在飞速发展。许多年前,当行业分析师群体调查CIO最优先考虑的事时,BI排第十位 。然而,他于2006年跃升到了第二位,今天,根据Gartner Group分析已经跃居第一位了。这没有什么神秘的原因:在激烈的经济竞争中所有行业和智能企业需要利用其内部的数据来做出重要的商业决策,包括战术和战略两方面,以保持行业的领

2009-02-12 11:27:00 1410

原创 Lucene索引原理

Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。该结构及相应的生成算法如下:    0)设有两篇文章1和2  文章1的内容为:Tom lives in Guangzhou,I live in Guangzhou too.  文章2的内容为:He once lived in Shanghai.    1)由于lucene是基于关键词索引和查询的,首先我们要取得这两篇文章

2009-02-09 10:07:00 913 2

原创 企业视频会议系统中的三大热门技术

据市场咨询公司Winter Green Research预测,统一通信市场发展周期即将步入健康成长和快速应用阶段。2008年这个市场可能会实现15%的增长,2009年将增长30%。而视频在企业级统一通信部署中将成为不折不扣的黑马。    传统的企业视频技术包括:MCU、H.323、帧中继等,而基于IP承载网的视频应用,将把更丰富的功能推到用户的面前。但要顺利使用这些功能,用户需要对一些新的技术热点

2009-02-08 22:30:00 1325

原创 eMule中的分布式哈希表技术: Kademlia

 前两天在网上看到世界知名的电骡服务器Razorback 2被查封、4人被拘禁的消息,深感当前做eMule / BitTorrent等P2P文件交换软件的不易。以分布式哈希表方式(DHT,Distributed Hash Table)来代替集中索引服务器可以说是目前可以预见到的为数不多的P2P软件发展趋势之一,比较典型的方案主要包括:CAN、CHORD、Tapestry、Pastry、Kade

2009-02-05 13:59:00 1153

原创 BitTorrent中的数据块校验方式改进:Merkle Hashing Tree

 大家都知道,目前BT应用的发展具有一个非常显著的趋势,那就是用来交换电影、游戏、ISO等大尺寸的数据文件。然而我们也能够观察到另一个事实,那就是:下载文件所对应的索引文件(.torrent)也越来越大,越来越难以下载;这是因为在索引文件中保存了被下载文件中所有数据块的20字节SHA1校验值,而文件越大,数据块越多,则.torrent文件越长(块数=文件长度/数据块长,Bit Torrent标

2009-02-02 19:53:00 2066

原创 Amazon Dynamo设计的一点分享

    什么是Dynamo? Dynamo是Amazon的高效Key-Value存储基础组件(类似于现在被广泛应用的Memcached Cache),当前被用于Amazon很多系统中作为状态管理组件。在2007年年底Amazon的CTO就写了一篇介绍Dynamo设计的文章,今年年底又在日志中提出了对于那篇文章的一个补充:“Eventual consistency”。这也让我再次仔细的去回顾了一下D

2009-02-02 19:51:00 1374

原创 写好MRD的10种技巧

 MRD-“市场需求文档”,是产品经理或者产品市场经理编写的一个产品的说明需求的文档。这些文档用于计划一个新产品或修正一个已有的产品,是被工程师团队开发产品时使用。    在硅谷的一些软件公司,MRD仅仅覆盖high-level的功能。在这种情况下,产品经理通过创建了另一个文档-通常指的是PRD(产品需求文档)来定义更加详细的产品需求。    在本文中,我用术语“MRD”泛指所有那些由产品

2009-02-02 18:09:00 1495

原创 sina,sohu等门户级网站架构设计

门户级网站架构设计1、 新浪新浪采用了ChinaCache做的CDN系统,ChinaCache在全国分布了四十多个点,同时采用基于动态dns分配的全球服务器负载均衡技术。从新浪的站点结构可以看出:> www.sina.com.cnServer: UnKnownAddress: 192.168.1.254Non-authoritative answer:Name: libra.sina.com.cn

2009-02-02 13:57:00 2589

空空如也

空空如也

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

TA关注的人

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