APP下载

基于微服务构建模型的应用系统增量更新算法

2018-03-13徐亮亮

计算机与现代化 2018年2期
关键词:差异服务模型

黄 林,杨 军,徐亮亮

(华北计算技术研究所基础四部,北京 100083)

0 引 言

“微服务+微应用”架构[1-4]是近年兴起的新型应用系统构建模型,具有架构灵活、高内聚、低耦合、有效支持DevOps[5](开发运维一体化)等新型特征,是有效响应需求灵活多变的新型软件架构模式,在互联网企业中得到了广泛应用。

应用系统与完全自由的互联网应用相比,除了响应用户的修改需求,还具备较多的集中管理功能,往往需要以应用系统而非一堆零散的APP形式发布,经常要求在特定时间集中完成系统全面更新任务,集中更新将会对后台部署服务器造成集中式压力,同时会在网络上造成大量的应用下载流量,这些都需要有创新的系统升级方法。

增量升级已有一些算法被广泛应用,比如Bsdiff算法[6]、Xdelta3算法[7]等,但是这些算法通常只应用于单个应用的增量升级,在对大型的应用系统进行增量升级时效率低下,当网络环境不好时,整体更新时间过长,容易超时导致更新失败,应用系统发生频繁更新时,应用系统更新的块会比较集中。如何高效查找有差异的更新块也是急需解决的问题。

本文针对大型应用系统提出一种基于微服务构建模型的应用系统增量更新算法ASIUpdate(Application System Increment Update),通过细粒度分层次的系统划分,利用二分法有效地将大型应用系统进行分解,有利于准确增量更新,提高增量升级效率。一般情况下,程序修改是局部性的,版本的升级只会影响其中的一部分,大型系统进行分解后,每个局部会变得很小,增量升级的对象也很小,效率会提升很快。……

登录APP查看全文

猜你喜欢

差异服务模型
一半模型
相似与差异
重尾非线性自回归模型自加权M-估计的渐近分布
找句子差异
服务在身边 健康每一天
服务在身边 健康每一天
服务在身边 健康每一天
生物为什么会有差异?
招行30年:从“满意服务”到“感动服务”
3D打印中的模型分割与打包