合并重构后的代码，重新组织代码结构

Signed-off-by: hurley25 <liuhuan1992@gmail.com>