自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 一种一致性HASH算法的实现方法,附核心代码

一致性HASH算法    一致性HASH算法的原理,还有不带虚拟结点的一致性HASH算法就不说了,直接谈一下带虚拟结点的一致性HASH算法,主要从实现的角度谈一下。整个过程包括初始化环形数组,添加结点,删除结点,查找结点等等。先看存储结构:class ConsistentHash{      enum STATUS{         EMPTY=0,

2015-06-30 18:07:03 905

原创 搜索相关服务

1,用户打开一个带搜索引擎的站点触发的第一个服务是热门搜索服务,给用户展现最近一段时间内该搜索引擎搜索量最大的几个词,此时如果用户从热门搜索词里面找到了自己想要搜索的词,直接点击即可。        2,下拉列表服务,当用户有搜索需求,热门搜索满足不了需求时,就要在搜索框输入搜索关键字了,输入的时候会出来一系列的下拉提示,此时调用的是下拉列表服务。       

2015-06-28 12:00:21 492

原创 基本算法-MD5

一,描述       MD5报文摘要生成算法在数据安全和通信领域有着广泛的应用,最早应用于信息传输过程中防止数据被中间修改,一直到现在的存储领域做为文件的指纹来实现一些更加复杂的功能,比如视频网站,新视频上传的时候会生成一个视频对应的MD5指纹,后继再有同样的视频上传的时候通过md5指纹就可以判断当前上传的视频是否已经被上传过,通过这种办法即可实现秒传视频。二,库     linux的

2015-06-27 14:20:09 746

原创 namenode倒换原因分析

一,namenode倒换原因分析      ZKFC做的HA的HADOOP集群,某信升级网络以后,经常在凌晨出现这种会话超时的情况下面是zkfc的日志,初步认为是网络问题引起的,以前的超时时间为5000ms.2015-06-23 11:34:53,393 INFO org.apache.hadoop.ha.SshFenceByTcpPort.jsch: Caught an exception, l

2015-06-24 12:45:33 1877

原创 zookeeper使用问题汇总

一,现象    zookeeper版本是3.4.5Unexpected Exception:java.nio.channels.CancelledKeyExceptionat sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:55)at sun.nio.ch.SelectionKeyImpl.interestO

2015-06-23 12:42:11 5771 3

原创 基本算法,求交集

一,交集运算算法         求多列数据的交集是一种应用广泛应用的算法,例如在搜索应用中,一个搜索关键词被分成了多个Term,每个Term对应一个倒排链表,那个整个搜索关键词的搜索结果就是各个Term对应倒排链表元素的交集。二,算法/*************************************************************************

2015-06-17 16:40:36 2778

原创 搜索基本概念

文本相关性,是搜索技术相关的最基本的概念,是单从文本的字面上来计算一个搜索的关键词与一篇文章的相关性。是搜索排序的一项重要因素,有多种计算文本相关性的方法,如余弦值计算,TF/IDF计算等等,下面介绍一下TF/IDF。一,TF/IDF    TF/IDF(Term Frenquency/Inverse Term Frenquency),称之为词步与逆向词频。    TF:词频,广义的词

2015-06-15 09:41:16 871

原创 hadoop相关问题-stop-all.sh

1,pid 文件丢失问题    如果hadoop不指定pid的文件路径,默认的路径在/tmp下面,linux会定期清理/tmp目录,导致里面的pid文件消息   ./stop-all.sh执行的时候直接从/tmp下面查找pid文件,因为已经被系统删除,便会提示找不到文件。会导致停止集群失败。   这时可以根据系统里面正在运行的hadoop进程相关信息重构一下这些PID文件。即可执行成功

2015-06-09 14:52:13 913

原创 搜索技术概述

搜索技术概述       搜索引擎是一个广义的概念,包括广义上的大搜索,如google,baidu,sogou等等,也包括一些垂直或领域的搜索,如电商搜索,企业知识库搜索等等。它们的区别很大程序上是数据源的不同,进而导致的数据量上的不同,当然设计的复杂程都相差很大。       从企业应用的角度来讲,无非是直接使用开源的框架如基于lucence的solr框架,该框架支持分布式搜索,使用相当

2015-06-09 09:41:42 870

原创 设计模式之单体模式

一,应用场景     全局范围内只生成一个对象,比如常见项目中的配置管理部分,通常就是一处初始化,全局使用。     单线程可以用单线程的模式,多线程就需要考虑到线程安全问题,可以借助pthread_once_t,pthread_mutex_t来实现线程安全二,源码     包括单线程版本与线程安全版本,附简单的测试代码。     /********************

2015-06-06 11:33:25 566

原创 常用算法之-快速排序

一,快速排序     快速排序做为o(nlogn)的内存排序算法,在日常工作和工作面试过程中出镜率也是相当的高。     最差的情况是快速排序的时间复杂度会下降到冒泡的级别,即 o(n*n)      有一些方法来规避这个问题,比如选择随机的枢纽记录。      下出给出了一个,固定枢纽记录的方法。二,C++代码/******************************

2015-06-05 10:37:42 570

原创 常见查找算法之—二分查找

一,二分查找  二分查找也称拆半查找,算法做为时间复杂度为o(nlog(n)的算法,也属于在项目中经常会被用到的算法之一   基本步骤:   1,待查找元素与有序表中间元素比较。   2,比中间元素大,修改左边界为中间位置加1,执行第1步。   3,比中间元素小,修改右边界为中间位置减1,执行第1步。二,源代码    下面是基于C++实际的源码。 /********

2015-06-04 10:31:09 471

空空如也

空空如也

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

TA关注的人

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