论文部分内容阅读
由于软件需求和版本的升级,软件代码的重构与演化成为软件维护的主要手段和关键技术需求。Hadoop分布式软件随着分布式大数据处理技术的不断发展,版本不断地升级,随之而来的是基于Hadoop平台的应用软件也需要升级,这种升级过程为软件演化技术提出了新的挑战。但是,目前软件演化领域缺乏对Hadoop平台应用软件领域的研究,本文将两个领域进行综合,提出了一种基于Hadoop平台应用软件的演化方法和技术,结合具体实例探讨演化方法实现的技术过程,验证演化方法和技术的有效性。本文主要讨论Hadoop平台应用软件演化中的功能移植和计算速度提升问题。在功能移植方面,研究了 Hadoop1.0到升级版2.0和3.0的基础类库的映射关系,包括HDFS和MapReduce的演化过程,并分析了 Hadoop版本演化代码复杂度和平台升级流程;在速度提升方面,针对MapReduce任务进行演化以及MapReduce的任务监控和管理进行演化,并给出了 MapReduce磁盘读写操作到内存操作改进算法,以及MapReduce作业如何转换成Spark作业的算法。针对企业ETL处理中InnerJoin应用进行案例研究,详细分析MapReduce和Spark编程模式下,InnerJoin的应用差异。针对物联网的应用层事件ALE(Application Level Event),本文将该层的交易集合事件的处理软件为案例进行研究,以EPCGlobal物联网应用软件演化为例,给出了 ALE层交易集合事件处理功能演化案例,实现了原来的功能转换,同时计算速度有所提升。最后,本文对演化算法和演化软件进行了实验分析和测试,给出了企业ETL处理中InnerJoin应用和EPCGlobal物联网应用软件演化的测试用例。实验和测试表明本文提出的演化算法和演化软件系统具有可行性。