论文部分内容阅读
随着移动互联网的飞速发展,移动应用已经占领我们生活的方方面面,但由于应用商店监管不到位、非法利益驱动、开发者水平良莠不齐等原因,恶意应用越来越多,安全问题越来越严重,给用户生活带来的不便也越来越多。针对这种情况,我们急需加强应用上架前的批量安全检测,目前已有的检测技术多种多样,应用数量庞大,单机检测已经无法满足我们大批量检测的需求,必须引入分布式系统进行并行检测。在分析研究现有的分布式任务管理框架后,发现它们都不适合直接用来做分布式任务管理系统,因此本文针对移动应用检测任务的特点设计了一个分布式任务管理系统。本文首先研究了当前的移动应用安全检测技术,分析了它们的优缺点,然后研究了现有的分布式任务管理框架,分析了它们的使用局限性和设计精髓。在此基础上,本文总结了移动应用检测任务的特点,提出了一种将多项检测方法以工作流形式推进的快速检测方法,可以更加高效地进行应用检测。随后,本文介绍了分布式任务管理系统中使用的关键技术。在本文的设计中,移动应用快速检测任务用有向无环图来描述;中心管理节点采用基于动态反馈的任务调度策略进行任务调度;中心管理节点借助Zookeeper解决单点问题;海量小文件用TFS文件系统存储。最后,本文设计实现了一个符合移动应用检测任务特点的分布式任务管理系统,首先说明了系统需求,然后介绍了系统架构和系统流程,最后详细地介绍了系统的平台客户端、中心节点管理层、检测引擎节点层、数据存储层四大功能模块中具体功能的设计与实现。本文给出了整个系统的系统拓扑和系统构建方法,通过实验验证了分布式任务管理系统的基本功能,通过性能测试,分析了调度策略的提高效率的具体效果,验证了检测任务的平均检测时间,测试了单点崩溃恢复的时间,证明了分布式任务管理系统的高效、高可用和易扩展的特点,符合移动应用批量安全检测的全部业务需求。