http://www.cnblogs.com/michaelwong/p/4348291.html

tql