Skip to content


Sphinx+Mysql+中文分词安装-实现中文全文搜索

什么是Sphinx Sphinx 是一个在GPLv2 下发布的一个全文检索引擎,商业授权(例如, 嵌入到其他程序中) 需要联系我们(Sphinxsearch.com)以获得商业授权。 一般而言,Sphinx是一个独立的搜索引擎,意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。 当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据。通过修改源代码,用户可以自行增加新的数据源(例如:其他类型的DBMS 的原生支持)。 搜索API支持PHP、Python、Perl、Rudy和Java,并且也可以用作MySQL存储引擎。搜索 API非常简单,可以在若干个小时之内移植到新的语言上。 Sphinx 是SQL Phrase Index的缩写,但不幸的和CMU的Sphinx项目重名

Sphinx的特性

  • 高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒);
  • 高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小于0.1秒);
  • 可处理海量数据(目前已知可以处理超过100 GB的文本数据, 在单一CPU的系统上可 处理100 M 文档);
  • 提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法;
  • 支持分布式搜索;
  • provides document exceprts generation;
  • 可作为MySQL的存储引擎提供搜索服务;
  • 支持布尔、短语、词语相似度等多种检索模式;
  • 文档支持多个全文检索字段(最大不超过32个);
  • 文档支持多个额外的属性信息(例如:分组信息,时间戳等);
  • 停止词查询;
  • 支持单一字节编码和UTF-8编码;
  • 原生的MySQL支持(同时支持MyISAM 和InnoDB );
  • 原生的PostgreSQL 支持.

一、安装所需文件 mmseg-0.7.3.tar.gz 中文分词
http://www.coreseek.com/uploads/sources/mmseg-0.7.3.tar.gz

mysql-5.1.26-rc.tar.gz mysql-5.1.26源代码

sphinx-0.9.8-rc2.tar.gz sphinx-0.9.8-rc2源代码 http://www.sphinxsearch.com/downloads/sphinx-0.9.8-rc2.tar.gz

fix-crash-in-excerpts.patch sphinx支持分词补丁 http://www.coreseek.com/uploads/sources/fix-crash-in-excerpts.patch

sphinx-0.98rc2.zhcn-support.patch sphinx支持分词补丁 http://www.coreseek.com/uploads/sources/sphinx-0.98rc2.zhcn-support.patch

二、开始安装 1.安装libmmseg

tar -zxvf mmseg-0.7.3.tar.gz cd mmseg-0.7.3 ./configure –prefix=/usr/local/mmseg make make install cd ..

安装mmseg完成,测试一下

mmseg Coreseek COS(tm) MM Segment 1.0 Copyright By Coreseek.com All Right Reserved. Usage: mmseg -u Unigram Dictionary -r Combine with -u, used a plain text build Unigram Dictionary, default Off -b Synonyms Dictionary -h print this help and exit

有问题可以尝试执行下面命令

echo ‘/usr/local/mmseg/lib’ >> /etc/ld.so.conf ldconfig -v ln -s /usr/local/mmseg/bin/mmseg /bin/mmseg
=================2011-08-26 更新=================

在centos6 g++4.4.4上编辑错误

css/UnigramCorpusReader.cpp: In member function ‘virtual int css::UnigramCorpusReader::open(const char*, const char*)’: css/UnigramCorpusReader.cpp:89: error: ‘strncmp’ was not declared in this scope make[2]: *** [UnigramCorpusReader.lo] Error 1 make[2]: Leaving directory `/root/src/sphinx/mmseg-0.7.3/src’ make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/src/sphinx/mmseg-0.7.3′ make: *** [all] Error 2

解决方法 vi .src/css/UnigramCorpusReader.cpp 第一行加上

#include

然后重新 make

2.重新编译mysql 在安装之前先打两个补丁,这个是支持中文必须打的补丁

tar -zxvf sphinx-0.9.8-rc2.tar.gz cd sphinx-0.9.8 patch -p1

之前我已安装了mysql5.1.26,这里略过具体安装步骤 mysql编译路径 /root/lemp/mysql-5.1.26-rc/ mysql安装路径 /opt/mysql

安装之前关闭mysql

/opt/mysql/bin/mysql.server stop

接着将sphinx下的mysqlse 文件夹下的数据拷贝到mysql-5.1.26-rc/storage/sphinx 下面 (这样才能在编译mysql的时候把SphinxSE存储引擎编译进去)

cp -rf mysqlse /root/lemp/mysql-5.1.26-rc/storage/sphinx cd /root/lemp/mysql-5.1.26-rc make clean sh BUILD/autorun.sh #这步是必须的,请勿遗漏

开始重新编译

CFLAGS=”-O3″ CXX=gcc CXXFLAGS=”-O3 -felide-constructors -fno-exceptions -fno-rtti” ./configure –prefix=/opt/mysql –localstatedir=/opt/mysql/var –sysconfdir=/opt/mysql –without-debug –with-unix-socket-path=/opt/mysql/mysql.sock –with-big-tables –with-charset=gbk –with-collation=gbk_chinese_ci –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –enable-assembler –with-extra-charsets=gbk,gb2312,utf8 –with-pthread –enable-thread-safe-client –with-innodb –with-plugins=sphinx make make install configure: error: unknown plugin: sphinx

我的解决方法: 重新解压一份mysql source 在执行autorun.sh前修改storage/sphinx的用户和用户组,还有权限 sh BUILD/autorun.sh ./configure -h 查看最低下有否包含了sphinx

=== Sphinx Storage Engine === Plugin Name: sphinx Description: Sphinx Storage Engines Supports build: static and dynamic Configurations: max, max-no-ndb

然后再编译

make时错误

../libtool: line 466: CDPATH: command not found ../libtool: line 1144: func_opt_split: command not found libtool: Version mismatch error. This is libtool 2.2.6, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6 libtool: and run autoconf again. make[1]: *** [conf_to_src] 错误 63 make[1]: Leaving directory `/home/andychu/lemp2/mysql-5.1.26-rc/strings’ make: *** [all-recursive] 错误 1

libtool版本不一至产生错误,可以将已安装的libtool覆盖到编译目录 cp /usr/local/bin/libtool . 再重新编译

编译完成,启动mysql,检查SphinxSE存储引擎是否编译进去

/opt/mysql/bin/mysql.server start /opt/mysql/bin/mysql -uroot -p

Mysql> 输入 show engines;

+————+———+———————————————————–+————–+—-+————+ | Engine | Support | Comment | Transactions | XA | Savepoints | +————+———+———————————————————–+————–+—-+————+ | CSV | YES | CSV storage engine | NO | NO | NO | | SPHINX | YES | Sphinx storage engine 0.9.8 | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | +————+———+———————————————————–+————–+—-+————+ 5 rows in set (0.00 sec)

此时我们可以看到已经包含sphinxSE 引擎

3.安装sphinx

cd /root/lemp/sphinx-0.9.8-rc2 ./configure –prefix=/usr/local/sphinx –with-mysql=/opt/mysql \ –with-mysql-includes=/opt/mysql/include/mysql –with-mysql-libs=/opt/mysql/lib/mysql \ –with-mmseg-includes=/usr/local/mmseg/include –with-mmseg-libs=/usr/local/mmseg/lib –with-mmseg make

头文件没找到:

tokenizer_zhcn.cpp:1:30: SegmenterManager.h: 没有那个文件或目录 tokenizer_zhcn.cpp:2:23: Segmenter.h: 没有那个文件或目录 make clean ./configure –prefix=/usr/local/sphinx –with-mysql=/opt/mysql \ –with-mysql-includes=/opt/mysql/include/mysql –with-mysql-libs=/opt/mysql/lib/mysql \ –with-mmseg-includes=/usr/local/mmseg/include/mmseg –with-mmseg-libs=/usr/local/mmseg/lib –with-mmseg /root/sphinx/sphinx-0.9.8-rc2/src/tokenizer_zhcn.cpp:34: undefined reference to `libiconv_close’ collect2: ld returned 1 exit status

官网解决办法: In the meantime I’ve change the configuration file and set #define USE_LIBICONV 0 in line 8179. 修改configure 文件把 #define USE_LIBICONV 0 最后的数值由1改为0 重新编译。

make clean ./configure –prefix=/usr/local/sphinx –with-mysql=/opt/mysql \ –with-mysql-includes=/opt/mysql/include/mysql –with-mysql-libs=/opt/mysql/lib/mysql \ –with-mmseg-includes=/usr/local/mmseg/include/mmseg –with-mmseg-libs=/usr/local/mmseg/lib –with-mmseg

vi configure 输入/define USE_LIBICONV 找到目标行 按i键后将1改成0,按esc,输入:wq保存退出

make make install

编译时报如下的错误 /usr/local/include/mmseg/freelist.h:22: error: ‘strlen’ was not declared in this scope vi /usr/local/include/mmseg/freelist.h 或者这个地址 vi /usr/local/mmseg/include/mmseg/freelist.h 加上

#include

再次编译就不会报错了。

复制一份sphinx的配置

cd /usr/local/sphinx/etc cp sphinx.conf.dist sphinx.conf

4.配置sphinx

修改/usr/local/sphinx/etc/sphinx.conf

type = mysql # some straightforward parameters for SQL source types sql_host = localhost sql_user = root sql_pass = sql_db = test sql_port = 3306 # optional, default is 3306 address = 127.0.0.1 #安全点可以只监听本机

5.索引建立

装好sphinx后在sphinx的目录中有三个目录 分别为bin etc var bin中 存有sphinx用到的一些执行文件 包括 indexer 索引建立 search 查询工具 searchd 查询服务器 等

为了下面测试方便,我们先将sphinx.conf自带的example.sql脚本倒入的mysql中 //创建了一个test库,并建立了documents测试表和数据

/opt/mysql/bin/mysql -uroot -p

索引的建立方法为

/usr/local/sphinx/bin/indexer –config /usr/local/sphinx/etc/sphinx.conf test1

test1为资源名称 不写为默认所有都建立索引 附: 建立索引期间可能由于不同版本的数据库导致indexer找不到共享库libmysqlclient.so.16 需要把/opt/mysql/lib/mysql/libmysqlclient.so.16.0.0 这个文件复制到/usr/lib下 或者作软连接即可

6.查询服务器

/usr/local/sphinx/bin/searchd –config /usr/local/sphinx/etc/sphinx.conf 为开启

/usr/local/sphinx/bin/searchd –config /usr/local/sphinx/etc/sphinx.conf –stop 为关闭

sphinx的查询 可以大致分为三种

1 数据库引擎中的查询

2 通过search工具查询 /usr/local/sphinx/bin/search –config /usr/local/sphinx/etc/sphinx.conf test

3 通过php的接口查询 详见sphinxapi.php.

三、在mysql中的使用SphinxSE方式调用Sphinx

1.在mysql中的使用SphinxSE方式调用Sphinx 首先建立一张索引专用表:

CREATE TABLE `sphinx` ( `id` int(11) NOT NULL, `weight` int(11) NOT NULL, `query` varchar(255) NOT NULL, `CATALOGID` INT NOT NULL, `EDITUSERID` INT NOT NULL, `HITS` INT NULL, `ADDTIME` INT NOT NULL, KEY `Query` (`Query`) ) ENGINE=SPHINX DEFAULT CHARSET=utf8 CONNECTION=’sphinx://localhost:3312/test1′

test1:索引的名称,可以在sphinx.conf中查找到 建立完索引专用表后,我们就可以在mysql中使用它了,例如,在mysql中输入

SELECT doc. * FROM documents doc JOIN sphinx ON ( doc.id = sphinx.id ) WHERE query = ‘doc;mode= any’

运行后,结果记录中将会显示包含doc字符串的所用记录行

关于query的语法,还有sphinx的配置等信息你可以请参考: http://www.sphinxsearch.com/doc.html

2.中文分词应用 生成词典 进入到mmseg的源代码目录后

cd data mmseg -u unigram.txt

在data下边会产生一个文件unigram.txt.uni 这个就是生成的字典 然后把字典改名为uni.lib放在可以读取的目录中即可

cp unigram.txt.uni /usr/local/sphinx/uni.lib

修改 sphinx.conf(/usr/local/sphinx/etc/sphinx.conf)配置文件 在索引中加入

charset_type = zh_cn.utf-8 charset_dictpath = /usr/local/sphinx/

数据库中增加一条中文数据

INSERT INTO `test`.`documents` ( `id` , `group_id` , `group_id2` , `date_added` , `title` , `content` ) VALUES ( NULL , ‘3’, ‘9’, NOW( ) , ‘sphinx中文搜索’, ‘Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。 ‘ );

(如果searchd已经再运行,先kill 它再运行) 注意:在添加完数据后,需要重新加载索引,这样新的数据才能被缓存进去 重建索引,成功后,开启索引监听

/usr/local/sphinx/bin/indexer –config /usr/local/sphinx/etc/sphinx.conf –all /usr/local/sphinx/bin/searchd –config /usr/local/sphinx/etc/sphinx.conf

在ide硬盘上建索引的速度

indexing index ‘test1’… collected 423228 docs, 637.2 MB sorted 125.5 Mhits, 100.0% done total 423228 docs, 637201412 bytes total 753.401 sec, 845766.13 bytes/sec, 561.76 docs/sec

这样,就可以在phpmyadmin中进行测试了。

SELECT doc. * FROM documents doc JOIN sphinx ON ( doc.id = sphinx.id ) WHERE query = ‘设计;mode= any ‘

好像没出来。。。。

修改 sphinx.conf 去掉下面的注释

sql_query_pre = SET NAMES utf8

再重启searchd就可以搜出结果了

参考: http://www.coreseek.com/uploads/pdf/sphinx_doc_zhcn_0.9.pdf http://www.sphinxsearch.com/wiki/doku.php?id=sphinx_chinese_tutorial http://www.cnblogs.com/hushixiu/articles/1295605.html http://blog.xoyo.com/dcyhldcyhl/article/839863.shtml http://blog.sina.com.cn/s/blog_5aefd9770100axf1.html http://blog.s135.com/post/360/

2009-06-28更新 编码的解决方法(未经测试)

转换现有表的数据 iconv -f GB18030 -t utf-8 -o dump.sql dump_utf8.sql

也可以不转换,直接使用现有的GBK的数据,但是需要设置连接方式 mysql_query(“SET character_set_client = ‘gbk'”, $conn); mysql_query(“SET character_set_connection =’gbk'”, $conn); //设置character_set_connection也就同时设置了collation_connection //mysql_query(“SET collation_connection = ‘gbk'”, $conn); mysql_query(“SET character_set_results =’utf8′”, $conn); 这三个设置后,查询得到的结果,就是UTF8编码的结果了。合适给SPHINX使用。

mysql_query(“SET SESSION query_cache_type=OFF”, $conn);
//indexer建立索引时的查询,不需要缓存的

2009-06-28更新 coreseek网站好像出问题不能下载咯。 提供安装部分文件下载,共3.6M,包含以下文件 build_delta_index.sh build_main_index.sh fix-crash-in-excerpts.patch mmseg-0.7.3.tar.gz sphinx-0.9.8-rc2.tar.gz sphinx-0.98rc2.zhcn-support.patch sphinx.conf sphinxapi.php test.php test2.php

猛击这里下载sphinx安装文件


2009-06-28更新 使用service 控制sphinx 先增加一sphinx用户并属于website组(事先已存在),并修改sphinx目录的属主

useradd -d /usr/local/sphinx -g website -s /sbin/nologin sphinx chown -R sphinx:website /usr/local/sphinx

创建/etc/init.d/sphinx脚本

#!/bin/sh # sphinx: Startup script for Sphinx search # # chkconfig: 345 86 14 # description: This is a daemon for high performance full text \ # search of MySQL and PostgreSQL databases. \ # See http://www.sphinxsearch.com/ for more info. # # processname: searchd # pidfile: $sphinxlocation/var/log/searchd.pid # Source function library. . /etc/rc.d/init.d/functions processname=searchd servicename=sphinx username=sphinx sphinxlocation=/usr/local/sphinx pidfile=$sphinxlocation/var/log/searchd.pid searchd=$sphinxlocation/bin/searchd RETVAL=0 PATH=$PATH:$sphinxlocation/bin start() { echo -n $”Starting Sphinx daemon: ” daemon –user=$username –check $servicename $processname RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$servicename } stop() { echo -n $”Stopping Sphinx daemon: ” $searchd –stop #killproc -p $pidfile $servicename -TERM RETVAL=$? echo if [ $RETVAL -eq 0 ]; then rm -f /var/lock/subsys/$servicename rm -f $pidfile fi } # See how we were called. case “$1″ in start) start ;; stop) stop ;; status) status $processname RETVAL=$? ;; restart) stop sleep 3 start ;; condrestart) if [ -f /var/lock/subsys/$servicename ]; then stop sleep 3 start fi ;; *) echo $”Usage: $0 {start|stop|status|restart|condrestart}” ;; esac exit $RETVAL

修改权限并加入到service,机器启动时自动启动

chmod 755 /etc/init.d/sphinx chkconfig –add sphinx chkconfig –level 345 sphinx on chkconfig –list|grep sphinx #检查下 service sphinx start #运行 service sphinx stop #停止,官方的脚本在我的as4上有点问题,所以粗鲁的改了下 service sphinx restart #重启 service sphinx status #查看是否运行

检查下已用sphinx用户运行

ps aux |grep searchd sphinx 24612 0.0 0.3 11376 6256 pts/1 S 14:07 0:00 searchd

猛击这里下载sphinx启动脚本

参考:http://www.sphinxsearch.com/wiki/doku.php?id=for_centos_5 http://www.notsofaqs.com/catsdoc/doku.php?id=sphinx:install

Posted in sphinx, 技术.

Tagged with , , .


使用INSERT INTO … ON DUPLICATE KEY… 批量插入或更新

update和replace没有同时操作多条记录的语句, 可以用insert … on durlicate key…代替,可以同时插入或更新多条记录

INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6) ON DUPLICATE KEY UPDATE b=value(b),c=value(c);

如果键a有重复则更新b和c字段,没有则插入

Posted in Mysql, 技术.

Tagged with .


分享Excel做的甘特图(Gantt Chart)

什么是甘特图? 释义 甘特图(Gantt Chart)是一种图形化地概述项目活动及其他相关系统进度情况的水平方向的条状图。 甘特图在项目管理的工作分解结构(Work Breakdown Structure)中有广泛应用,它能够直观地反映项目阶段和牵涉活动。

一幅完整的甘特图由横轴和纵轴两部分组成,横轴表示项目的总时间跨度,并以月、周或日为时间单位;纵轴表示各项目涉及的各项活动; 长短不一的条状图则表示在项目周期内单项活动的完成情况及时间跨度。

简单的甘特图可以由手工绘制,复杂的甘特图可以通过专业软件来完成,如微软的MS Project、Excel等。

符我平时用excel做的甘特图

wbs1

点此下载模板:c1g_schedule.rar

还有一个老外做的:projectmanagementgantt.rar

Posted in 其它, 项目管理.

Tagged with , .


正则表达式Web版助手工具

从网上看到的,一个很强大的web版正则工具.对于学习正则有很大的帮助.

工具地址:

https://regexr.com/

https://regex101.com/

Posted in JavaScript/DOM/XML, 技术.

Tagged with .


一个可以在线手写输入的网站

http://www.nciku.cn

 

一些字常常记得怎么写,但是忘记读音了 对于习惯拼音输入的就麻烦了 今天发现这个站不错, 能支持手写识别功能, 当然也支持中文, 还能给出对应字的拼音~ n词酷: http://www.nciku.cn/

Posted in 未分类.

Tagged with .


Farseer – Nginx for Windows 快速配置包

使用 nginx / 0.7.59 & PHP / 5.29 2 构建 Nginx 的确是 *ix 系统下非常优秀的 HTTP 服务器,但开发人员而言搭建 Windows 平台的 Nginx + PHP 环境的确非常的繁琐而且容易出错。

如果您有上述的问题,那么这个包能够帮得上您的忙。使用这名为 Farseer 的软件包,能够让您在一分钟内完成 Nginx + PHP for Windows 平台的安装。

一分钟安装

  1. 解压缩安装包,并放在合适的地方,例如本人解压缩到 E:\Farseer\ (后面称这个目录为 $FARSEER)
  2. 配置 Nginx 的 DOCUMENT_ROOT 路径,打开 $FARSEER\conf\nginx.conf 文件。找到相应的配置行,修改您需要的路径,例如 E:\htdocs
    set
     $htdocs e
    :
    /htdocs; # 在这里设定 HTTP 服务器根目录
  3. 好了,这样就可以启动 Nginx 系统了,运行 farseer.exe 即可!

http://code.google.com/p/gracecode/wiki/Farseer

作者Blog: http://www.gracecode.com/

相关错误:

mysql_connect() 找不到 修改php.ini 中exts为ext extension_dir= .\ext zend_extension_ts=”./ext/php_xdebug.dll”

404错误 set $htdocs ‘D:\Program Files\wamp\www’; # 目录名中有空格需加上单引号

set $htdocs ‘D:\svn\app\Source\truck’; # \t 会解析成制表符,所以要再加\

安装uchome时不能得到参数 可以正常安装ucenter,但在uchome安装时不能得到参数

Posted in Nginx, 技术.

Tagged with .


彼得原理

彼得原理(The Peter Principle)

彼得原理的概述 

  管理学家劳伦斯·彼得(Laurence.J.Peter),1917年生于加拿大的范库弗,1957年获美国华盛顿州立大学学士学位,6年后又获得该校教育哲学博士学位,他阅历丰富,博学多才,著述颇丰,他的名字还被收人了《美国名人榜》、《美国科学界名人录》和《国际名人传记辞典》等辞书中。

  彼得原理(The Peter Principle)正是彼得根据千百个有关组织中不能胜任的失败实例的分析而归纳出来的。其具体内容是:“在一个等级制度中,每个职工趋向于上升到他所不能胜任的地位”。彼得指出,每一个职工由于在原有职位上工作成绩表现好(胜任),就将被提升到更高一级职位;其后,如果继续胜任则将进一步被提升,直至到达他所不能胜任的职位。由此导出的彼得推论是,“每一个职位最终都将被一个不能胜任其工作的职工所占据。层级组织的工作任务多半是由尚未达到不胜任阶层的员工完成的。”每一个职工最终都将达到彼得高地,在该处他的提升商数(PQ)为零。至于如何加速提升到这个高地,有两种方法。其一,是上面的“拉动”,即依靠裙带关系和熟人等从上面拉;其二,是自我的“推动”,即自我训练和进步等,而前者是被普遍采用的。

  彼得认为,由于彼得原理的推出,使他“无意间”创设了一门新的科学——层级组织学(Hierarchiolgy)。该科学是解开所有阶层制度之谜的钥匙,因此也是了解整个文明结构的关键所在。凡是置身于商业、工业、政治、行政、军事、宗教、教育各界的每个人都和层级组织息息相关,亦都受彼得原理的控制。当然,原理的假设条件是:时间足够长,五层级组织里有足够的阶层。彼得原理被认为是同帕金森定律有联系的。

彼得反转原理

  在对层级组织的研究中,彼得还分析归纳出彼德反转原理:

  一个员工的胜任与否,是由层级组织中的上司判定,而不是外界人士。如果上司已到达不胜任的阶层,他或许会以制度的价值来评判部属。例如,他会注重员工是否遵守规范、仪式、表格之类的事;他将特别赞赏工作迅速、整洁有礼的员工。总之,类似上司是以输入(input)评断部属。于是对于那些把手段和目的的关系弄反了,方法重于目标、文书作业重于预定的目的、缺乏独立判断的自主权、只是服从而不作决定的职业性机械行为者而言,他们会被组织认为是能胜任的工作者,因此有资格获得晋升,一直升到必须作决策的职务时,组织才会发现他们已到达不胜任的阶层。而以顾客、客户或受害者的观点来看,他们本来就是不胜任的。

爬不完的晋升梯子

  现代的层级组织制度,总是从下面来补充由晋升、辞职、退休、解雇和死亡带来的空缺。人们一直把层级组织中的晋升看作是“攀登成功之梯”或“爬上权力之梯”。

  层级组织通常被比喻为梯子,因为梯子和层级组织确有一些共同的特点。例如,梯子是让人向上爬的,而且年利越高,危险越大。

  • 一个收入固定的人,平时能合理地掌握他的钱财。可一旦当他继承了一笔巨额财产后,他的理财能力就会变得无法胜任。
  • 在军队或政府层级组织中,一个称职的随从晋升为领导时,也会突然不称职。
  • 称职的科学家当被提升为研究院院长时,也可能会变成一个不称职的管理者。

  以上各类晋升,之所骈生不胜任,是因为它需要被提升者具备他以前所在职位所不需要的新能力。

  一个一向负责质量工作的雇员,可能会被提升到一个他比较胜任的督监之职。然后,他或许还能升任管理方面的领导,虽然干起来有点吃力,但是他努力工作,如果层级组织的其它条件有利的话,他还可能达到一种不称职状态──做个部门经理,这可能是他所能爬上的最高一层阶梯了。

  这时,他需要花费大量的时间去做日常工作。如果有一群称职能干的下属的支持和帮助,他还可以勉强完成工作。

  由于他看起来还算称职,加上领导者的威望,他也许会进一步得到晋升,即升任总经理──他现在已经达到了最大不称职状态。

  作为一名总经理,他的主要责任是制定与公司目标和政策紧密相关的决策,从负责质量工作到应付长远的目标和更抽象的观念,他越来越感到力所难及,不仅给公司带来损失,而且给他个人造成很大的伤害。

  某些人很理智地观察到了这种事实,就可能会决定退出这种剧烈竞争,开始一种全新的、更有价值的生活。

  今天,许多人已经开始怀疑这种“爬不完的梯子”的游戏。他们把老一辈人视为彼得原理的受害者,他们不再热衷于建立层级组织,而试着发现自己的生活方式。

  不幸的是,大多数的人并没有付诸行动,而是乐此不疲。

位子越高越好吗

  人们总是以为爬得越高就代表越好,可是环顾四周,我们看到,这种盲目往上爬的牺牲者比比皆是。

  为了便于分析,我们把员工分成三级:胜任、适度胜任以及不胜任。

  奥克曼是莱姆汽修公司的杰出技师,他对目前的职位相当满意,因为不需要做太多方案工作。因此,当公司有意调升他做行政工作时,他很想予以回绝。

  奥克曼的太太艾玛,是当地妇女协进会的活跃会员,她鼓励先生接受升适机会。如果奥克曼升官,全家的社会地位、经济能力也会各晋一级。如此一来她就可以出马竞选妇女协进会的主席,也有能力换部新车、添购新装,还可以为儿子买辆迷你摩托车了。

  奥克曼并不情愿用目前的工作,去换办公室里枯燥乏味的工作。但在艾的劝服与唠叨之下,他终于屈服了。升任六个月之后,奥克曼得了胃溃疡,医生告诫他必须滴酒不沾。艾也开始指责奥克曼和新来的秘书有染,并且把失去主席头衔的责任全部推到他身上。奥克曼的工作时间冗长不堪,但却毫无成就感,因此下班回家后就脾气暴躁。由于彼此不停的指责和争吵,奥克曼夫妇的婚姻彻底失败了。

  另外一个相反的例子是这样的。哈里斯是奥克曼的同事,他也是莱姆公司的优秀技师,而且老板也打算提升他。哈里斯的太太利莎非常了解先生很喜欢目前的工作,他一定不愿意花更多的时间坐办公室,负更多责任。莎没有强迫哈里斯去做一个他不喜欢的工作。因此,哈里斯继续当一名技师,将胃溃疡留给奥克曼独享。哈里斯一直保持开朗的个性,在社区里是个广受欢迎的人物,工作之余,他还担任社区里青年团体的领袖。邻居的车如果需要修理,一定都送到莱姆公司,以回报哈里斯平时对公益事业的热心。哈里斯的老板知道他是公司不可或缺的宝贵资产,所以为他提供了优厚的红利、稳定的工作和一切制度内允许的薪水加级。于是,哈里斯买了一辆新车,为莉莎添购新装,也为儿子买了一辆自行车和棒球手套。哈里斯一家过着舒适美满的家庭生活,他们夫妇幸福的婚姻令亲朋好友非常羡慕。他们在邻里间享有的美誉,正是奥克曼太太梦寐以求的理想。

  每个层级系统都由不同的层级或类别组成,系统中的个体则分别隶属于各个级。如果一个人的能力很强,他就会对人类社会产生下面的贡献,杰出的表现又获得升迁的机会,这样他就会从原来胜任的层级晋升到自己无法胜任的层级。

  世界上每一种工作,都会碰到无法胜任的人。只要给予充分的时间与升迁机会,这个能力不足的人终究会被调到一个不胜任的职务上,他会在这个位子上原地步,把工作搞得一塌糊涂。他的表现不仅会打击同事的士气,而且严重妨害整个组织的效率。

  更为重要的是,这些“南郭先生”们自己也会掉进一个自寻烦恼的陷阱,而且无法自拔,如同上述的奥克曼一样。

彼得原理的影响

  对一个组织而言,一旦组织中的相当部分人员被推到了其不称职的级别,就会造成组织的人浮于事,效率低下,导致平庸者出人头地,发展停滞。因此,这就要求改变单纯的“根据贡献决定晋升”的企业员工晋升机制,不能因某个人在某一个岗位级别上干得很出色,就推断此人一定能够胜任更高一级的职务。要建立科学、合理的人员选聘机制,客观评价每一位职工的能力和水平,将职工安排到其可以胜任的岗位。不要把岗位晋升当成对职工的主要奖励方式,应建立更有效的奖励机制,更多地以加薪、休假等方式作为奖励手段。有时将一名职工晋升到一个其无法很好发挥才能的岗位,不仅不是对职工的奖励,反而使职工无法很好发挥才能,也给企业带来损失。

  对个人而言,虽然我们每个人都期待着不停地升职,但不要将往上爬作为自己的惟一动力。与其在一个无法完全胜任的岗位勉力支撑、无所适从,还不如找一个自己能游刃有余的岗位好好发挥自己的专长。

彼得原理的评价

  彼得原理道破了所有阶层制度之谜。凡一切层级制度组织,如商业、工业、政治、行政、军事、宗教、教育各界,都受彼得原理控制。最明显的莫过于我国政府现行的人事制度。我国有关干部任用和政府现行公务员制度中明确指出,提升到某一级别的职位必须在下一级(或半级)职位中任职达到一定年限,逐层向上提升,并将选拔范围放到最小的圈子,最后的结果正如彼得原理所推导:大部分的领导职位是由不能胜任的人所担任。

  由于企业实行的也是层级制度,也存在同样的隐患。

  由此可以解释:政府为什么效率不高?做领导的不做事,做具体事情的不是领导;国有企业为什么办不好?企业套用政府现在的行政级别制度;为什么官僚在每一个社会中都存在?等等。

  如果简单地将企业的人分成两类,那么将存在两类人。第1类:能胜任现在的工作,但基本已“定型”,不具备自我提升的素质,永远只能做好现职工作,再向上升一级就是错误;第2类:不但能胜任现在的工作,也具备自我学习、自我总结、自我提高的素质和能力,能不断提高自己的能力,从而胜任所有的职位。

  由此可见,企业的用人之道可简单地概括为:发现并培养第2种人。由此推导的结论是:必须充分认识到人力资源管理的重要性,并有效运作,发现(包括招聘和在企业内部发展)并培养企业每一职位的接班人,在人力资源上形成可持续发展的潜力。

  提升是将一名员工从前任职位调到需要负责更多职能、担负更大责任的职位上去。一般,随之而来的是更高的地位和更多的工资。提升的动因可能是对过去工作表现突出的报偿,也可能是企业为了更好地使用个人的才能和能力。

  根据《彼得原理》一书的见解,管理人员有时会被提升到他们所不能胜任的层次。特别是有这样的情况,管理人员在其职位上取得了成就,从而使他提升到较高的职位,但这一职位所需要的才能却常常是他所不具备的。这样的提升会使该管理人员无法胜任工作。这种现象在由销售、财务、生产等部门经理中选拔总经理时表现得最为突出。

  由于表现出色的员工被从原岗位上不断地提升,直到他们不能胜任为止,但这个过程往往是单向的、不可逆的,也就是说,很少被提升者会回到原来他所胜任的岗位上去。因此,这样的“提升”最终的结果是企业中绝大部分职位都由不胜任的人担任。这个推断听来似乎有些可笑,但决非危言耸听,甚至不少企业中的实际情况确实如此。这样的现象还会产生另外一种后遗症,就是不胜任的领导可能反而会阻塞了可能的胜任者提升的途径,其危害之大可见一斑。

  尽管我们必须重视管理人员成长可能性并通过提供更大的发展空间等手段来激发他们的潜能,但彼得原理可以作为一种告诫:不要轻易地进行选拔和提拔。解决这个问题最主要的措施有三个:第一,提升的标准更需要重视潜力而不仅仅是绩效。应当以能否胜任未来的岗位为标准,而非仅仅在现在岗位上是否出色。第二,能上能下决不能只是一句空话,要在企业中真正形成这样的良性机制。一个不胜任经理的人,也许是一个很好的主管,只有通过这种机制找到每个人最胜任的角色,挖掘出每个人的最大潜力,企业才能“人尽其才”。第三,为了慎重地考察一个人能否胜任更高的职位,最好采用临时性和非正式性“提拔”的方法来观察他的能力和表现,以尽量避免降职所带来的负面影响。如设立经理助理的职位,在委员会或项目小组这类组织中赋予更大的职责,特殊情况下先让他担任代理职位等等。

  成功企业的用人之道包括:1、适当引进外来人才,好处就是用现成的人才,避开“彼得原理”所涉及的后果;2、在企业内部逐步提升,重视潜力,重要的职位大多数由所能胜任的人。

 

 

来自” http://wiki.mbalib.com/wiki/%E5%BD%BC%E5%BE%97%E5%8E%9F%E7%90%86

Posted in 经济管理.

Tagged with , .


流行的四种后门技术介绍

曾经饱受木马、后门(以下统称后门)侵害的人们都不会忘记机器被破坏后的惨象,于是人们展开了积极的防御工作,从补丁到防火墙,恨不得连网线都加个验证器,在多种多样的防御手法夹攻下,一大批后门倒下了,菜鸟们也不用提心吊胆上网了…… 可是后门会因此罢休吗?答案当然是否定的。君不见,在风平浪静的陆地下,一批新的后门正在暗渡陈仓……

 

1、反客为主的入侵者

黑客A连接上了网络,却不见他有任何行动,他在干什么呢?我们只能看见他燃起一支烟,似乎在发呆……过了一会儿,他突然把烟头一丢,双手迅速敲击键盘,透过屏幕,我们得知他已经进入了一个企业内部的服务器,一台安装了防火墙、而且深居内部的服务器……他怎么做到的呢?莫非他是神仙?请把镜头回退到刚才那一幕,黑客A在烟雾熏绕中盯着一个程序界面出神,突然,那个界面变动了一下,同时,黑客A也开始敲打键盘,接下来就是熟悉的控制界面。各位也许不相信自己的眼睛了:难道是那台机器自己找上他的?不可能…… 可是这是事实,真的是服务器自己找上来的。黑客A也不是高技术,他只是使用了一种反客为主的后门——反弹木马。

 

众所周知,通常说的入侵都是入侵者主动发起攻击,这是一种类似捕猎的方式,在警惕性高的猎物面前,他们已经力不从心;可是对于使用反弹技术的入侵者来说,他们却轻松许多,反弹木马就如一个狼外婆,等着小红帽亲自送上门去。一般的入侵是入侵者操作控制程序去查找连接受害计算机,而反弹入侵却逆其道而行之,它打开入侵者电脑的一个端口,却让受害者自己与入侵者联系并让入侵者控制,由于大多数防火墙只处理外部数据,对内部数据却闭上眼睛,于是,悲剧发生了。

反弹木马的工作模式如下:受害者(被植入反弹木马服务端的计算机)每间隔一定时间就发出连接控制端的请求,这个请求一直循环到与控制端成功连接;接下来控制端接受服务端的连接请求,两者之间的信任传输通道建立;最后,控制端做的事情就很普通了——取得受害者的控制权。由于是受害者主动发起的连接,因此防火墙在大多数情况下不会报警,而且这种连接模式还能突破内网与外部建立连接,入侵者就轻易的进入了内部的计算机。

虽然反弹木马比起一般木马要可怕,但是它有天生的致命弱点:隐蔽性还不够高,因为它不得不在本地开放一个随机端口,只要受害者有点经验,认出反弹木马不是难事。于是,另一种木马诞生了。

 

2、不安分的正常连接

现在有很多用户都安装了个人HTTP服务器,这就注定了机器会开着80端口,这很正常,但是有谁知这是一个给无数网络管理员带来痛苦的新技术,它让一个正常的服务变成了入侵者的利器。

当一台机器被种植Tunnel后,它的HTTP端口就被Tunnel重新绑定了——传输给WWW服务程序的数据,也在同时传输给背后的Tunnel,入侵者假装浏览网页(机器认为),却发送了一个特殊的请求数据(符合HTTP协议),Tunnel和WWW服务都接收到这个信息,由于请求的页面通常不存在,WWW服务会返回一个HTTP404应答,而Tunnel却忙开了……

 

首先,Tunnel发送给入侵者一个确认数据,报告Tunnel存在;然后Tunnel马上发送一个新的连接去索取入侵者的攻击数据并处理入侵者从HTTP端口发来的数据;最后,Tunnel执行入侵者想要的操作。由于这是“正常”的数据传输,防火墙一样没看见。但是目标没开放80端口怎么办呢?擅自开一个端口等于自杀。但是入侵者不会忘记那个可爱的NetBIOS端口——长年累月开放的139端口,和它分享数据,何乐不为? Tunnel技术使后门的隐蔽性又上了一个级别,可是这并不代表无懈可击了,因为一个有经验的管理员会通过Sniffer看到异常的景象…… Tunnel攻击被管理员击溃了,可是,一种更可怕的入侵正在偷偷进行中……

 

3、无用的数据传输?

眼皮底下的偷窃者——ICMP

ICMP,Internet Control Message Protocol(网际控制信息协议),最常见的网络报文,近年来被大量用于洪水阻塞攻击,但是很少有人注意到,ICMP也偷偷参与了这场木马的战争…… 最常见的ICMP报文被用作探路者——PING,它实际上是一个类型8的ICMP数据,协议规定远程机器收到这个数据后返回一个类型0的应答,报告“我在线”。可是,由于ICMP报文自身可以携带数据,就注定了它可以成为入侵者的得力助手。由于ICMP报文是由系统内核处理的,而且它不占用端口,因此它有很高的优先权。ICMP就像系统内核的亲戚,可以不受任何门卫阻拦,于是,篮子里藏着武器的乡下老人敲响了总统的房门……

使用特殊的ICMP携带数据的后门正在悄然流行,这段看似正常的数据在防火墙的监视下堂而皇之的操纵着受害者,即使管理员是个经验丰富的高手,也不会想到这些“正常”的ICMP报文在吞噬着他的机器。有人也许会说,抓包看看呀。可是,实际应用中,传递数据的ICMP报文大部分肯定是加密过的,你怎么检查?

不过,ICMP也不是无敌的,有更多经验的管理员干脆禁止了全部ICMP报文传输,使得这位亲戚不得再靠近系统,虽然这样做会影响系统的一些正常功能,可是为了避免被亲戚谋杀,也只能忍了。最亲密最不被怀疑的人,却往往是最容易杀害你的人。

 

不正常的邮递员——IP首部的计谋

我们都知道,网络是建立在IP数据报的基础上的,任何东西都要和IP打交道,可是连IP报文这个最基本的邮递员也被入侵者收买了,这场战争永不停歇……为什么呢?我们先略了解一下IP数据报的结构,它分为两个部分,首部和身体,首部装满了地址信息和识别数据,正如一个信封;身体则是我们熟悉的数据,正如信纸。任何报文都是包裹在IP报文里面传输的,通常我们只留意信纸上写了什么,却忽略了信封上是否涂抹了氰酸钾。于是,很多管理员死于检查不出的疑症……

这是协议规范的缺陷导致的,这个错误不是唯一的,正如SYN攻击也是协议规范的错误引起的。相似的是,两者都用了IP首部。SYN是用了假信封,而“套接字”木马则是在信封上多余的空白内容涂抹了毒药——IP协议规范规定,IP首部有一定的长度来放置标志位(快递?平信?)、附加数据(对信的备注),结果导致IP首部有了几个字节的空白,别小看这些空白,它能携带剧毒物质。这些看似无害的信件不会被门卫拦截,可是总统却不明不白的死在了办公室……

入侵者用简短的攻击数据填满了IP首部的空白,如果数据太多,就多发几封信。混入受害者机器的邮递员记录信封的“多余”内容,当这些内容能拼凑成一个攻击指令的时候,进攻开始了……

 

结语

后门技术发展到今天,已经不再是死板的机器对机器的战争,它们已经学会考验人类,现在的防御技术如果依然停留在简单的数据判断处理上,将被无数新型后门击溃。真正的防御必须是以人的管理操作为主体,而不是一味依赖机器代码,否则你的机器将会被腐蚀得面目全非……

来自:http://51ctoeditor.blog.techweb.com.cn/2009/03/18/%e9%bb%91%e5%ae%a2%e9%ab%98%e6%89%8b%e4%b8%ba%e6%82%a8%e8%ae%b2%e8%a7%a3%e7%9b%ae%e5%89%8d%e6%b5%81%e8%a1%8c%e7%9a%84%e5%9b%9b%e7%a7%8d%e5%90%8e%e9%97%a8%e6%8a%80%e6%9c%af/

Posted in 安全, 技术.

Tagged with , .


蘑菇管理定律

蘑菇管理定律(Mushroom Management)

  “蘑菇管理”是许多组织对待初出茅庐者的一种管理心态,初学者被置于阴暗的角落(不受重视的部门,或打杂跑腿的工作),浇上一头大粪(无端的批评、指责、代人受过),任其自生自灭(得不到必要的指导和提携)。相信很多人都有过这样一段“蘑菇”的经历,这不一定是什么坏事,尤其是当一切刚刚开始的时候,当几天“蘑菇”,能够消除我们很多不切实际的幻想,让我们更加接近现实,看问题出更加实际。

蘑菇管理定律的由来

  谈蘑菇管理定律,蘑菇是重点。之所以定位于这个名字,有人说是来自20世纪70年代一批年轻的电脑程序员的创意。由于当时许多人不理解他们的工作,持怀疑和轻视的态度,所以年轻的电脑程序员就经常自嘲“像蘑菇一样的生活”。可是为什么会有这样的自潮,往深里看,来研究下蘑菇这种植物的生存空间。

蘑菇的生长特性是需要养料和水分的,但同时也要注意避免阳光的直接照射。所以,你会发现,农民伯伯会在不起眼的暗角落里培育蘑菇,过分的曝光会让它过早夭折。蘑菇的养料说起来会让人反胃,可是那是它必须得到的。地点、养料两方面的条件给予了蘑菇的生存空间,自生自灭的它们如果放弃自己,就不会有机会履行自己的价值。

管理中的蘑菇定律

  一个组织,一般对新进的人员都是一视同仁,从起薪到工作都不会有大的差别。无论你是多么优秀的人才,在刚开始的时候,都只能从最简单的事情做起,“蘑菇” 的经历,对于成长中的年轻人来说,就像蚕茧,是羽化前必须经历的一步。所以,如何高效率地走过生命的这一段,从中尽可能汲取经验,成熟起来,并树立良好的值得信赖的个人形象,是每个刚入社会的年轻人必须面对的课题。

  古人云:“吃的苦中苦,方为人上人”“天降大任于斯人,必先苦其心志,劳其筋骨、饿其体肤”吃苦受难并非是坏事,特别是刚走向社会步入工作岗位,当上几天 “蘑菇”,能够消除很多不切实际的幻想,也能够对形形色色的人与事物有更深的了解,为今后的发展打下坚实的基础。“蘑菇”经历对于成长中的年轻人来说犹如破茧成蝶,如果承受不起这些磨难就永远不会成为展翅的蝴蝶,所以平和的走过生命的这一“蘑菇”阶段能够汲取经验,尽快成熟起来。当然,如果当“蘑菇”时间过长,有可能成为众人眼中的无能者,自己也会渐渐认同这个角色。

  现在有许多刚大学毕业的新人,放不下大学生或研究生身份,委屈的做些不愿做的小事情,如端茶倒水、跑腿送报,他们忍受不了做这种平凡或平庸的工作,从而态度消极想跳槽,这也就是现代年轻人所流露出的眼高手低的陋习。

  象牙塔中的的天之骄子,满怀理想抱负对未来充满信心,但“一室不扫何以扫天下”连小事都不愿意做,怎么能成就大事业呢?想一口吃成大胖子更是不切实际,让我们再次引吭高歌:“不经历风雨怎么见彩虹,没有人能随随便便成功”让我们在“蘑菇”的环境中锻炼自己。

  从该定律的意义可见,心态的调整对于组织的初入者,尤其是那些象牙塔里走出来的大学生们很重要。身边有许多刚大学毕业的新人,放不下大学生或研究生身份,委屈的做些不愿做的小事情,如端茶倒水、跑腿送报,他们忍受不了做这种平凡或平庸的工作,从而态度消极想跳槽,这也就是现代年轻人所流露出的眼高手低的陋习。

  难道天之轿子们就没有想到公司这样的管理是没有任何错误的,就没有记起那句歌词“不经历风雨怎么见彩虹,没有人能随随便便成功”?

  讲一个故事吧:一次,所罗门王把一个小女孩带到稻田跟前说:“你不是想要一件贵重的礼物吗?我可以赏给你,但你要替我做一件事情:把这片稻田里最大的稻穗选出来,拿给我。”

  小女孩高兴地答应了。

  “但是,我有一个条件,”所罗门王接着说,“你在经过稻田时,要一直向前走,不允许停下来,也不能退回来,更不能左右转弯。你要记住,我给你的礼物,是与你选择的稻穗大小成正比的。” 结果这个小女孩从稻田里走出来后,什么礼物也没有获得,因为她一路上总是嫌所看见的稻穗太小了。

  故事说明什么?眼高手低,一无所获!

  所以,我以为将这个定律落于实处,要从两方面着手:一、企业;二、个人。

  一、企业:

  1、避免过早曝光:他或她还是白纸,有理论难免会纸上谈兵。过早对年轻人委以重任,等于揠苗助长;

  2、养分必须足够:培训、轮岗等工作丰富化的手段是帮助人力资本转为人力资源的工具。

  二、个人:

  1、初出茅庐不要抱太大希望:当上几天“蘑菇”,能够消除我们很多不切实际的幻想,让我们更加接近现实,看问题也更加实际;

  2、耐心等待出头机会:千万别期望环境来适应你,作好单调的工作,才有机会干一番真正的事业;

  3、争取养分,茁壮成长:要有效的从做蘑菇的日子中吸取经验,令心智成熟。

  总之,蘑菇管理是一种特殊状态下的临时管理方式,管理者要把握时机和程度,被管理者一定要诚心领会,早经历早受益。

 

 

 

Posted in 经济管理.

Tagged with , .


羊群效应理论

羊群效应理论(The Effect of Sheep Flock)

“羊群效应”也称“从众心理”。是指管理学上一些企业的市场行为的一种常见现象。

  经济学里经常用“羊群效应”来描述经济个体的从众跟风心理。羊群是一种很散乱的组织,平时在一起也是盲目地左冲右撞,但一旦有一只头羊动起来,其他的羊也会不假思索地一哄而上,全然不顾前面可能有狼或者不远处有更好的草。因此,“羊群效应”就是比喻人都有一种从众心理,从众心理很容易导致盲从,而盲从往往会陷入骗局或遭到失败。

羊群效应的出现一般在一个竞争非常激烈的行业上,而且这个行业上有一个领先者(领头羊)占据了主要的注意力,那么整个羊群就会不断摹仿这个领头羊的一举一动,领头羊到哪里去吃草,其它的羊也去哪里淘金。

羊群效应相关故事

  有则幽默讲:一位石油大亨到天堂去参加会议,一进会议室发现已经座无虚席,没有地方落座,于是他灵机一动,喊了一声:“地狱里发现石油了!”这一喊不要紧,天堂里的石油大亨们纷纷向地狱跑去,很快,天堂里就只剩下那位后来的了。这时,这位大亨心想,大家都跑了过去,莫非地狱里真的发现石油了?于是,他也急匆匆地向地狱跑去。

  笑过之后,聪明的你应该很快就能明白什么是羊群效应。羊群是一种很散乱的组织,平时在一起也是盲目地左冲右撞,但一旦有一只头羊动起来,其他的羊也会不假思索地一哄而上,全然不顾旁边可能有的狼和不远处更好的草。羊群效应就是比喻人都有一种从众心理,从众心理很容易导致盲从,而盲从往往会陷入骗局或遭到失败。

  法国科学家让亨利·法布尔曾经做过一个松毛虫实验。他把若干松毛虫放在一只花盆的边缘,使其首尾相接成一圈,在花盆的不远处,又撒了一些松毛虫喜欢吃的松叶,松毛虫开始一个跟一个绕着花盆一圈又一圈地走。这一走就是七天七夜,饥饿劳累的松毛虫尽数死去。而可悲的是,只要其中任何一只稍微改变路线就能吃到嘴边的松叶。

  动物如此,人也不见得更高明。社会心理学家研究发现,影响从众的最重要的因素是持某种意见的人数多少,而不是这个意见本身。人多本身就有说服力,很少有人会在众口一词的情况下还坚持自己的不同意见。“群众的眼睛是雪亮的”、“木秀于林,风必摧之”、“出头的椽子先烂”这些教条紧紧束缚了我们的行动。20世纪末期,网络经济一路飙升,“.com”公司遍地开花,所有的投资家都在跑马圈地卖概念,IT业的CEO们在比赛烧钱,烧多少,股票就能涨多少,于是,越来越多的人义无反顾地往前冲。

  2001年,一朝泡沫破灭,浮华尽散,大家这才发现在狂热的市场气氛下,获利的只是领头羊,其余跟风的都成了牺牲者。传媒经常充当羊群效应的煽动者,一条传闻经过报纸就会成为公认的事实,一个观点借助电视就能变成民意。游行示威、大选造势、镇压异己等政治权术无不是在借助羊群效应。

  当然,任何存在的东西总有其合理性,羊群效应并不见得就一无是处。这是自然界的优选法则,在信息不对称和预期不确定条件下,看别人怎么做确实是风险比较低的(这在博弈论、纳什均衡中也有所说明)。羊群效应可以产生示范学习作用和聚集协同作用,这对于弱势群体的保护和成长是很有帮助的。

  羊群效应告诉我们:对他人的信息不可全信也不可不信,凡事要有自己的判断,出奇能制胜,但跟随者也有后发优势,常法无定法!

生活中的羊群效应

  有一个人白天在大街上跑,结果大家也跟着跑,除了第一个人,大家都不知道奔跑的理由。人们有一种从众心理,由此而产生的盲从现象就是“羊群效应”。

  很多时候我们不得不放弃自己的个性去“随大流”,因为我们每个人不可能对任何事情都了解得一清二楚,对于那些不太了解,没把握的事情,往往“随大流”。持某种意见人数多少是影响从众的最重要的一个因素,很少有人能够在众口一词的情况下,还坚持自己的不同意见。压力是另一个决定因素。在一个团体内,谁做出与众不同的行为,往往招致“背叛”的嫌疑,会被孤立,甚至受到惩罚,因而团体内成员的行为往往高度一致。

  “羊群效应”告诉我们,许多时候,并不是谚语说的那样——“群众的眼睛是雪亮的”。在市场中的普通大众,往往容易丧失基本判断力。人们喜欢凑热闹、人云亦云。群众的目光还投向资讯媒体,希望从中得到判断的依据。但是,媒体人也是普通群众,不是你的眼睛,你不会辨别垃圾信息就会失去方向。所以,收集信息并敏锐地加以判断,是让人们减少盲从行为,更多地运用自己理性的最好方法。

  理性地利用和引导羊群行为,可以创建区域品牌,并形成规模效应,从而获得利大于弊的较佳效果。寻找好领头羊是利用羊群效应的关键。

  对于个人来说,跟在别人屁股后面亦步亦趋难免被吃掉或被淘汰。最重要的就是要有自己的创意,不走寻常路才是你脱颖而出的捷径。不管是加入一个组织或者是自主创业,保持创新意识和独立思考的能力,都是至关重要的。

股市中的羊群效应

  在资本市场上,“羊群效应”是指在一个投资群体中,单个投资者总是根据其他同类投资者的行动而行动,在他人买入时买入,在他人卖出时卖出。导致出现“羊群效应”还有其他一些因素,比如,一些投资者可能会认为同一群体中的其他人更具有信息优势。“羊群效应”也可能由系统机制引发。例如,当资产价格突然下跌造成亏损时,为了满足追加保证金的要求或者遵守交易规则的限制,一些投资者不得不将其持有的资产割仓卖出。

  在目前投资股票积极性大增的情况下,个人投资者能量迅速积聚,极易形成趋同性的羊群效应,追涨时信心百倍蜂拥而致,大盘跳水时,恐慌心理也开始连锁反映,纷纷恐慌出逃,这样跳水时量能放大也属正常。只是在这时容易将股票杀在地板价上。

  这就是为什么牛市中慢涨快跌,而杀跌又往往一次到位的根本原因。但我们需牢记,一般情况下急速杀跌不是出局的时候。

当市场处于低迷状态时,其实正是进行投资布局,等待未来高点收成的绝佳时机,不过,由于大多数投资人存在“羊群效应”的心理,当大家都不看好时,即使具有最佳成长前景的投资品种也无人问津;而等到市场热度增高,投资人才争先恐后地进场抢购,一旦市场稍有调整,大家又会一窝蜂地杀出,这似乎是大多数投资人无法克服的投资心理。

  如何尽量避免跟风操作呢,我们的建议是:投资人结合自身的投资目标、风险承受度等因素,设定获利点和止损点,同时控制自己情绪来面对各种起落,加强个人“戒急用忍”能力,这样才能顺利达成投资目标。

  基金投资虽然不应像股票一样短线进出,但适度转换或调整投资组合也是必要的,因为有些风险基金是无法避免的,如市场周期性风险,即使是明星基金也必须承担随着市场景气与产业周期起伏的风险。

  设定获利点可以提醒您投资目标已经达到,避免陷入人性贪婪的弱点,最终反而错失赎回时机,使获利缩水。

设定止损点则可以锁定您的投资风险,以避免可能产生的更大损失。当基金回报率达到损益条件,您就应该判断是否获利了结或认赔赎回。设定获利点和止损点的参考依据很多,一般而言,投资人可以结合自身的风险承受度、获利期望值、目前所处年龄阶段、家庭经济状况以及所在的市场特征加以考虑,同时定期检查投资回报情况,这样才能找出最适合自己投资组合的获利及止损区间。这里特别强调每季度的定期检查,基金投资适合懒人,但仍须每季度检查基金表现、排名变化、投资标的增减,为最终的赎回或转换提供决策依据,以免错失最佳卖点或过早出局。

  需要指出的是,当基金回报达到自己设定的获利点或止损点时,并不一定要立刻获利了结或认赔卖出,此时应评估市场长线走势是否仍看好、基金操作方向是否正确,以及自己设定的获利点或止损点是否符合当时市场情况,再决定如何调整投资组合。如果是因为市场短期调整而触及止损点,此时不宜贸然赎回,以免市场马上反弹,您却因为耐性不足而卖在低点。如果基金业绩在同类型基金中表现突出,同时所在市场长线也看好,只是因为短期波动达到止损点,此时如果能容忍继续持有的风险,或许您应该重新设定警示条件,甚至可趁机加码,达到逢低摊平的目的。

  反之,当市场由多头转为空头已成定局,或者市场市盈率过高,市场风险增大时,无论是否达到获利点,都应尽快寻求最佳赎回时机。

炒股要克服羊群效应

假如你在绝望时抛售股票,你一定卖得很低。——投资大师 彼得·林奇
 来源:http://wiki.mbalib.com/wiki/%E7%BE%8A%E7%BE%A4%E6%95%88%E5%BA%94%E7%90%86%E8%AE%BA

Posted in 经济管理.

Tagged with .