http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html
http://www.cnblogs.com/kaituorensheng/p/4682565.html