基于KITSUNE的Redis数据库动态更新应用研究-论文.pdf

基于KITSUNE的Redis数据库动态更新应用研究-论文.pdf

ID:53028518

大小:399.04 KB

页数:7页

时间:2020-04-14

基于KITSUNE的Redis数据库动态更新应用研究-论文.pdf_第1页
基于KITSUNE的Redis数据库动态更新应用研究-论文.pdf_第2页
基于KITSUNE的Redis数据库动态更新应用研究-论文.pdf_第3页
基于KITSUNE的Redis数据库动态更新应用研究-论文.pdf_第4页
基于KITSUNE的Redis数据库动态更新应用研究-论文.pdf_第5页
资源描述:

《基于KITSUNE的Redis数据库动态更新应用研究-论文.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第20145卷年第32月期网络新媒体技术V0M1.4NO.2ar.2015基于KITSUNE的Redis数据库动态更新应用研究刘晓杰阳国贵吴庆波(国防科技大学计算机学院长沙410073)摘要:KITSUNE系统是针对C语言程序的通用动态更新系统,允许程序在运行时进行错误修复和更新,避免了系统重启而造成的损失。本文分析KITSUNE系统的状态转换机制,并利用KITSUNE系统对Redis数据库进行动态更新,发现了KITSUNE系统中内存管理机制的缺陷,并提出改进方案。最后,基于KITSUNE系统完成Red

2、is数据库的动态更新实验,实验结果表明本文提出的内存管理改进方案可以支持Redis数据库的动态更新,并且更新过程对Redis数据库性能影响很小。关键词:KITSUNE系统,软件动态更新,状态转换,Redis数据库DynamicSoftwareUpdatingofRedisDatabaseBasedonKITSUNESystemLIUXiaojie,YANGGuogui,wuQingbo(SchoolofComputerScience,NationalUniversityofDefenseTechnolo

3、gy,Changsha,410073,China)Abstract:KITSUNEisageneral—purposedynamicsoftwareupdatingsystembasedonClanguage,whichpermitssoftwaresystemfixesbugsandupdatesatruntime.ThedamagecausedbyprogramresetisavoidedbyusingKITSUNEsystem.ThispaperanalyzedstatetransferofKIT

4、SUNEsystem,andupdatedtheRedisdatabase.TheresultsshowedthattheKITSUNEon—lineupdatingsystemsup—posedupdatingRedisdatabasedynamically,theperformanceofRedisdatabasechangedlittleduringupdating.Keywords:KITSUNEsystem,dynamicsoftwareupdating,statetransfer,Redis

5、database1引言软件是对现实世界中问题空间和解空间的具体描述,变化性是软件的基本属性。在软件的生命周期内需要不断地进行维护或更新操作,以修复软件错误、扩展新功能或者适应新的硬件环境。传统的软件更新方式是在停机状态下进行维护或升级,但是在一些关键型应用领域,需要软件对外提供7x24(一周七天,每天24小时)的服务,对软件具有很高的持续可用性要求。在软件运行期间进行动态演化可减少关机和重启而引起的风险和损失,软件动态更新技术支持在软件运行时进行错误修复和软件更新。许多的服务器程序在运行时维持重要的状态

6、,例如需要维持无限制时间连接的服务器程序,包括OpenSSH、vsFTPd等,软件动态更新允许这些程序在更新时能够保证活跃连接,对外提供服务。Redis及memcached等键值型内存数据库,管理着大量内存数据,传统的更新机制会丢失活跃的状态(如Memcached)或者依赖硬盘重新加载(如Redis),降低了软件的持续可用性⋯,采用动态更新技术可以在更新过程中维持内存状态。现有的动态更新技术可以从基于状态信息和基于程序构成的角度分为两大类。基于程序构成的动本文于2014—10—16收到。2期刘晓杰等:基

7、于KITSUNE的Redis数据库动态更新应用研究51态更新为保证动态更新正确性需要进行类型安全验证以及逻辑正确性的验证,增加了软件复杂度。基于状态信息的动态更新技术,将程序看作状态和代码两部分。在旧版本程序运行时,将旧版本状态信息迁移转换到新版本程序的状态,新版本程序从该状态开始继续执行。基于状态信息的动态更新需要对栈进行处理并进行初始化,不必考虑类型安全问题。但是迁移的旧版本程序运行时状态无法判定是否为新版本程序的可达状态,无法判定动态更新的正确性。本文基于状态转换的KITSUNE动态更新系统进行应

8、用研究。KITSUNE动态更新系统设计借鉴了Ginseng_8和UpState¨两种软件动态更新系统的设计思想,通过手动设置更新点和对整个程序更新的方式,实现了针对C程序的通用、高效的动态更新系统。2KITSUNE软件动态更新KITSUNE系统支持多线程程序更新,通过选择更新点,收到更新请求时对整个程序更新,只需要将旧版本程序状态保存并根据需要进行状态转换。2.1KITSUNE原理及实现许多动态更新系统采取补丁加载方式进行更新,将修复错误或

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。