论文部分内容阅读
如今,数据量的不断提升,推动着大数据技术的发展,因此,对大数据的分析研究成为现阶段软件工程的重要分支,随着消息中间件技术的发展,对实时数据的获取和分析已具备了技术条件。本文主要针对中国科学院现有数据处理平台不能满足对实时数据处理的需求,比较了国内外已有系统的优缺点,提出了基于DAG(Directed Acyclic Graph,有向无环图)的流数据处理与分析引擎。该引擎不仅能够利用现有的计算资源灵活高效地处理实时的海量数据,而且还具有良好的扩展性,能够满足中国科学院对实时数据处理任务过程的需求。本文分析了目前对实时数据处理的需求,在理论方面的工作如下:(1)本文提出了算子模型算子模型的设计基于已有系统对数据操作的抽象,在实现易用性和可复用性的同时保证了与业务过程的高度统一。(2)本文设计任务调度算法任务调度算法的设计源于分布式计算框架的内部逻辑,保证了数据处理的可靠和高效。(3)异步通信机制异步通信机制是根据实际情况对同步通信机制的改良,在保证通信效率的同时,释放了对资源的占用,通过接口设计,保证了各部分之间的高内聚和低耦合。基于DAG的流数据处理与分析引擎为实现理论模型提供物理支持,同时也是验证模型正确性的必要手段。在此基础上,设计了如下的功能:(1)设计了引擎的控制功能控制功能为用户提供友好的图形用户界面,通过对操作元数据库功能的封装,保证控制功能本身的易用性。(2)设计了引擎的调度功能调度功能为用户提供对底层分布式计算框架的选择和调度。(3)设计了引擎的执行功能执行功能为用户提供向分布式计算框架提交计算的功能,通过与底层分布式计算框架的绑定,降低了底层分布式计算框架与调度功能和算子模型的耦合度;执行功能可插拔,通过对不同分布式计算框架的适配,实现在其提交计算的能力,并可根据实际情况进行对应的部署。本文对模型和引擎系统进行了验证,解决了各个模块在开发过程中遇到的问题。此外,对模型进行了验证,本文最终验证了系统的可用性和模型的正确性。该引擎的实现,在工程实践中解决了流式数据计算的问题,并为之后流计算的工程开发提供了可靠实例。同时,在理论上,也为流计算的研究提供了可参考的模型与算法。