参考:
http://www.cnblogs.com/geneil/archive/2011/12/03/2272869.html
http://blog.chinaunix.net/uid-11829250-id-337300.html