http://www.dataguru.cn/article-2719-1.html https://zhuanlan.zhihu.com/p/27360411 https://zhuanlan.zhihu.com/p/25704080