重构download代码以及lock file代码