论文部分内容阅读
随着互联网技术的飞速发展,网页的页面视图效果越来越美观,使用的页面编程技术也不仅仅局限于HTML、CSS等静态语言。以JavaScript为代表的动态脚本由于其功能强大,使界面观赏程度高等优势越来越受到开发者和用户的青睐。但是由于其编写复杂程度比传统的静态网页技术高,所以在搜索引擎、舆论分析等领域进行网页内容抓取和分析的时候,很难对JavaScript中包含的信息进行解析。所以本论文在设计并构建能够高效解析网页中JavaScript的分布式系统时,能够完成对存在于HTML文档中的JavaScript片段进行高效的提取和分布式解析的功能,并且在分布式计算机集群中合理的进行任务调度。该论文主要包括两个研究方向:首先是对网页中存在的JavaScript进行有效的提取和解析;然后结合Hadoop分布式计算技术,在深入分析现有任务调度算法、结合本系统实际情况的基础之上,设计本系统在分布式计算环境中的任务调度算法,合理的进行JavaScript解析任务调度,实现对页面中包含的JavaScript片段的高效解析。通过对JavaScript语法规则和其在网页中的存在形式的研究,设计了JavaScript的提取流程和算法,然后借鉴浏览器解析JavaScript的方法,使用JavaScript解析引擎,构造JavaScript解析环境来实现第一模块。通过对现有Map/Reduce任务调度算法的研究、分析和对比,并结合JavaScript解析任务的具体特点和分布式集群的环境,探究最适合本系统的Map/Reduce任务调度算法。对JavaScript解析任务进行合理调度,然后搭建计算机集群,对设计的分布式JavaScript解析系统进行构建。最后对分布式JS解析系统进行测试,对其应用性能和解析准确性进行验证,并且总结系统的不足,提出后续改进意见。本文实现的分布式系统能够对网页中存在的大量JavaScript进行高效、快速的解析。实验结果表明,本系统能够对网页中JavaScript片段内包含的文本文字和超链接内容进行高效、准确的提取和解析。从而,本文的研究和实现工作能够为搜索引擎、舆论分析、数据采集等领域提供更高效可靠的技术支持。