动态软件更新—文献综述和实验研究

动态软件更新—文献综述和实验研究

论文摘要

软件系统投入运行之后,还常需不断更新以修正错误、增强功能、适应环境和需求的变化。传统的方式需要先关闭系统再重新部署才能实现软件的更新。但频繁重启系统可能会带来不必要的麻烦和开销。对于关键任务系统,服务的中断还可能会导致严重的后果。动态软件更新不关闭系统,在运行过程中实现对软件程序的更新。较之离线更新,动态软件更新面临更大的技术挑战,其主要困难是要兼顾技术的灵活性、一致性保障、高效性以及易用性等。当前,已有一系列动态软件更新方面的工作,但它们主要关注各自特定的技术实现,而缺乏在实际应用场景下如何选择使用各种技术的系统方案。尤其是,动态软件更新主要应用于需要长时间运行的服务器系统,而现代服务器系统通常是包含了程序设计语言层、中间件层和业务逻辑层等的多层系统。此类系统的更新不但会涉及业务逻辑层,也会涉及到中间件层。本文以此类软件系统的动态更新需求为目标,系统地综述并比较既有的动态软件更新技术的相关研究,进而通过一组实验,较全面地评估各种既有技术的动态更新能力和性能,以此作为动态更新实际应用的系统方案的基础,并为动态软件更新技术的进一步研究提示方向。具体而言,本文的工作包括:1)提出了一种动态更新技术的比较框架。基于对动态软件更新的技术特征的分析,给出更新技术的一致性保障、灵活性、可执行性、状态迁移性、高效性、对开发人员的透明性和并发性等一系列指标作为比较的依据。并通过对基于中间件的软件系统之动态更新的可能途径的讨论,将既有技术分为从应用程序自身动态更新、中间件支持的应用程序动态更新、虚拟机支持的程序动态更新三类。2)基于上述比较框架,对现有动态更新技术DUSC、JBoss热部署、HotSpot JVM、DCE VM、JRebel、JVolve、JDUS等进行系统的综述和比较分析,并对其可用性进行讨论。3)设计了一组实验,对各个动态更新技术进行功能和性能测试。首先通过一组独立实验来验证各种技术的一致性、灵活性、可执行性、状态迁移性、可移植性和并发性等。进而,选择具有典型意义的第三方基准程序DayTrader,对相关动态更新技术进行性能实验和比较分析。最后,基于上述综述和实验,对动态更新的技术选择和应用考虑给出一系列建议。

论文目录

  • 摘要
  • Abstract
  • 致谢
  • 目录
  • 插图目录
  • 第一章 前言
  • 1.1 研究背景
  • 1.1.1 动态软件更新
  • 1.1.2 中间件
  • 1.2 研究范围
  • 1.2.1 中间件动态更新
  • 1.2.2 程序动态更新
  • 1.3 研究方法
  • 1.4 论文组织
  • 第二章 相关工作
  • 2.1 动态软件更新
  • 2.2 既有综述
  • 2.3 既有实验
  • 2.4 可适应中间件
  • 2.4.1 反射式中间件
  • 2.4.1.1 反射计算的概念
  • 2.4.1.2 DynamicTAO
  • 2.4.1.3 OpenORB
  • 2.4.1.4 小结
  • 2.4.2 面向方面的中间件
  • 2.4.2.1 AspectIX
  • 2.4.2.2 小结
  • 2.5 JBoss
  • 2.5.1 JBoss结构
  • 2.5.2 JBoss的动态更新
  • 2.6 本章小结
  • 第三章 动态更新系统综述
  • 3.1 基于中间件的系统的动态更新
  • 3.2 应用程序自身的动态更新
  • 3.2.1 转化程序
  • 3.2.2 运行系统
  • 3.2.3 小结
  • 3.3 中间件支持应用程序动态更新
  • 3.3.1 小结
  • 3.4 基于Java虚拟机的动态更新技术
  • 3.4.1 HotSpot JVM
  • 3.4.2 DCE VM
  • 3.4.3 JRebel
  • 3.4.4 JVolve
  • 3.4.4.1 更新模型
  • 3.4.4.2 更新准备工具
  • 3.4.4.3 运行系统
  • 3.4.5 JDUS
  • 3.5 比较框架
  • 3.6 动态更新技术的比较
  • 3.7 本章小结
  • 第四章 动态更新系统的评估实验
  • 4.1 功能实验
  • 4.1.1 一致性
  • 4.1.2 灵活性
  • 4.1.3 可执行性
  • 4.1.4 其他特性
  • 4.2 性能实验
  • 4.2.1 更新支持情况
  • 4.2.2 稳定运行时的负载
  • 4.2.3 动态更新的时间
  • 4.3 实验结论
  • 4.4 本章小结
  • 第五章 总结与展望
  • 5.1 工作总结
  • 5.2 有效性分析
  • 5.2.1 内部有效性
  • 5.2.2 外部有效性
  • 5.3 研究展望
  • 攻读硕士期间撰写论文列表
  • 攻读硕士期间参研项目
  • 参考文献
  • 相关论文文献

    • [1].DaVinci Resolve 16.2.3软件更新[J]. 影视制作 2020(07)
    • [2].Blackmagic Camera 7.0版软件更新[J]. 影视制作 2020(10)
    • [3].Blackmagic Design发布Teranex 3.1版软件更新[J]. 影视制作 2015(01)
    • [4].软件更新[J]. 电脑爱好者 2008(04)
    • [5].无线传感器网络远程软件更新技术[J]. 软件导刊 2011(02)
    • [6].小白日记[J]. 电脑爱好者 2009(14)
    • [7].Blackmagic Design推出Video Assist 2.3软件更新[J]. 影视制作 2016(12)
    • [8].Blackmagic Design发布Videohub 4.9软件更新[J]. 影视制作 2012(03)
    • [9].阻止Windows 10内部P2P带宽[J]. 电脑爱好者 2015(18)
    • [10].NVIDIA布局VR和专业设计领域,推动三项重大软件更新[J]. 智能制造 2016(07)
    • [11].基于NB-IoT的嵌入式远程软件更新系统设计[J]. 微电子学与计算机 2019(04)
    • [12].基于代理的动态软件更新方法[J]. 三明学院学报 2013(04)
    • [13].基于随机Petri网的机载软件更新系统性能评价[J]. 系统仿真学报 2012(10)
    • [14].浅谈Java程序动态更新技术分析[J]. 电脑迷 2018(05)
    • [15].导航计算机系统中CPLD配置软件串口更新研究[J]. 现代电子技术 2011(24)
    • [16].BMD发布Camera 6.9.4版软件更新[J]. 影视制作 2020(06)
    • [17].哈曼软件更新网关为整车实现安全OTA更新[J]. 汽车零部件 2016(08)
    • [18].软件更新 替你侦测[J]. 电脑爱好者(普及版) 2008(03)
    • [19].快速修改WinPE打造自己的工具盘[J]. 计算机与网络 2010(23)
    • [20].热点[J]. 江淮法治 2018(02)
    • [21].类动态更新事务研究[J]. 计算机科学 2008(11)
    • [22].一种新型的液晶电视软件更新技术[J]. 电子世界 2018(13)
    • [23].开卷[J]. 数码影像时代 2017(04)
    • [24].索尼发布Vita软件更新 可直接访问PS3或电脑[J]. 工业设计 2013(06)
    • [25].Adobe CS3也能离线升级 你不知道?[J]. 电脑爱好者 2008(18)
    • [26].生产现场软件更新技术研究[J]. 控制工程 2013(S1)
    • [27].生产现场软件更新技术研究[J]. 控制工程 2010(S3)
    • [28].BMD发布支持Adobe CS4的新驱动[J]. 电视字幕(特技与动画) 2009(04)
    • [29].软件更新[J]. 电脑爱好者 2008(11)
    • [30].为被迫报废的iPad唱一首安魂曲[J]. 科技创业 2014(10)

    标签:;  ;  ;  

    动态软件更新—文献综述和实验研究
    下载Doc文档

    猜你喜欢