CN111913716A - 一种对Java Web应用的增量部署方法 - Google Patents

一种对Java Web应用的增量部署方法 Download PDF

Info

Publication number
CN111913716A
CN111913716A CN202010800486.2A CN202010800486A CN111913716A CN 111913716 A CN111913716 A CN 111913716A CN 202010800486 A CN202010800486 A CN 202010800486A CN 111913716 A CN111913716 A CN 111913716A
Authority
CN
China
Prior art keywords
warehouse
distributed
environment
java web
deployment method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010800486.2A
Other languages
English (en)
Inventor
梁健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Yibo E Commerce Co ltd
Original Assignee
Shanghai Yibo E Commerce Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Yibo E Commerce Co ltd filed Critical Shanghai Yibo E Commerce Co ltd
Priority to CN202010800486.2A priority Critical patent/CN111913716A/zh
Publication of CN111913716A publication Critical patent/CN111913716A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种对Java Web应用的增量部署方法,包括以下步骤:步骤S1,在开发环境和应用环境上分别创建空的分布式仓库;步骤S2,在所述开发环境上编译Java Web源文件,将编译结果全部加入所述分布式仓库并提交修改;步骤S3,将所述开发环境的分布式仓库推送到生产环境相应仓库,完成上线或系统更新。其中的分布式仓库采用git仓库,由于git只传输增量差异部分,所以可巧妙实现只将有差异的文件更新到应用环境中,不仅达到了系统升级,同时具有加快部署发布过程、实现秒级更新,节省时间、宽带和存储空间的效果。

Description

一种对Java Web应用的增量部署方法
技术领域
本发明涉及互联网技术领域,尤其是涉及一种对Java Web应用的增量部署方法。
背景技术
随着互联网的发展,Web应用已成为开发应用程序类型的首选,深深影响到移动开发、桌面开发、嵌入式开发等领域。Java编程语言是Web应用开发的主流编程语言。开发完的Java Web应用需要部署用于测试或上线,后续还有不断的迭代更新,高效的应用部署将有效地提升开发、测试和运营效率。
现有的技术中,现有技术:Java Web应用部署上线时,一般是开发环境内编译得到的所有文件打包(生成war文件),复制上传到服务器的应用环境中。
上述中的现有技术方案存在以下缺陷:当前Java Web开发常常引入大量的第三方组件包,全量打包往往非常大,达到数百兆字节。每次部署或升级应用系统均需要上传全量文件,会消耗很多时间、带宽和存储空间。
发明内容
针对现有技术存在的不足,本发明的目的是提供一种对Java Web应用的增量部署方法,其只推送再次编译后有变化的文件,即实现自动增量更新,具有加快部署发布过程、实现秒级更新,节省时间、宽带和存储空间的效果。
本发明的上述发明目的是通过以下技术方案得以实现的:
一种对Java Web应用的增量部署方法,包括以下步骤:
步骤S1,在开发环境和应用环境上分别创建空的分布式仓库;
步骤S2,在所述开发环境上编译Java Web源文件,将编译结果全部加入所述分布式仓库并提交修改;
步骤S3,将所述开发环境的分布式仓库推送到生产环境相应仓库,完成上线或系统更新。
本发明在一较佳示例中可以进一步配置为:所述分布式仓库配置为git仓库。
本发明在一较佳示例中可以进一步配置为:利用支持分布式部署的版本控制工具(VCS)或软件配置管理工具(SCM)来实现Java Web应用程序增量部署的方法。
综上所述,本发明包括以下至少一种有益技术效果:
1.本发明使用增量部署法,利用支持分布式部署的版本控制工具(VCS)或软件配置管理工具(SCM),例如git工具,在开发环境和应用环境内建立两个分布式仓库,部署时将开发环境内编译后的所有文件添加到git仓库,并向应用环境发起推送。由于git只传输增量差异部分,所以可巧妙实现只将有差异的文件更新到应用环境中,达到系统升级效果。
2.除了首次部署时需要传输所有内容到应用环境,在日后频繁的更新升级中,通过增量部署法,只推送再次编译后有变化的文件,即实现自动增量更新。在发布包中,程序库往往占绝大多数空间,比如100MB大小的发布包,频繁变化的部分往往只占1%甚至更少。因而增量更新可极大的加快部署发布过程,可实现秒级更新。而一般在公网环境下部署则需要1-5分钟,在耗时、带宽、存储空间方面可提升20到100倍性能。
3.由于版本管理工具均支持回退功能,一旦部署发布的版本有问题,可以实现秒级回退到之前版本。
附图说明
图1为现有技术中Java Web应用部署上线的关系示意图。
图2为本发明展示增量内容传输的流程简图。
图3为本发明的流程简图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
参照图1,为本发明公开的一种对Java Web应用的增量部署方法,包括以下步骤:
步骤S1,在开发环境和应用环境上分别创建空的分布式仓库;
步骤S2,在开发环境上编译Java Web源文件,将编译结果全部加入分布式仓库并提交修改;
步骤S3,将开发环境的分布式仓库推送到生产环境相应仓库,完成上线或系统更新。
进一步的,分布式仓库配置为git仓库,利用支持分布式部署的版本控制工具(VCS)或软件配置管理工具(SCM)来实现Java Web应用程序增量部署的方法。
除了首次部署时需要传输所有内容到应用环境,在日后频繁的更新升级中,通过增量部署法,只推送再次编译后有变化的文件,即实现自动增量更新。在发布包中,程序库往往占绝大多数空间,比如100M的发布包,频繁变化的部分往往只占1%甚至更少。
因而增量更新可极大的加快部署发布过程,可实现秒级更新。而一般在公网环境下部署则需要1-5分钟,在耗时、带宽、存储空间方面可提升20到100倍性能。由于版本管理工具均支持回退功能,一旦部署发布的版本有问题,可以实现秒级回退到之前版本。
本实施例的实施原理为:本发明使用增量部署法,利用支持分布式部署的版本控制工具(VCS)或软件配置管理工具(SCM),例如git工具,在开发环境和应用环境内建立两个分布式仓库,部署时将开发环境内编译后的所有文件添加到git仓库,并向应用环境发起推送。由于git只传输增量差异部分,所以可巧妙实现只将有差异的文件更新到应用环境中,达到系统升级效果。
本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。

Claims (3)

1.一种对Java Web应用的增量部署方法,其特征在于:包括以下步骤:
步骤S1,在开发环境和应用环境上分别创建空的分布式仓库;
步骤S2,在所述开发环境上编译Java Web源文件,将编译结果全部加入所述分布式仓库并提交修改;
步骤S3,将所述开发环境的分布式仓库推送到生产环境相应仓库,完成上线或系统更新。
2.根据权利要求1所述的一种对Java Web应用的增量部署方法,其特征在于:所述分布式仓库配置为git仓库。
3.根据权利要求2所述的一种对Java Web应用的增量部署方法,其特征在于:利用支持分布式部署的版本控制工具(VCS)或软件配置管理工具(SCM)的更新或推送方法来实现Java Web应用程序增量部署的方法。
CN202010800486.2A 2020-08-11 2020-08-11 一种对Java Web应用的增量部署方法 Pending CN111913716A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010800486.2A CN111913716A (zh) 2020-08-11 2020-08-11 一种对Java Web应用的增量部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010800486.2A CN111913716A (zh) 2020-08-11 2020-08-11 一种对Java Web应用的增量部署方法

Publications (1)

Publication Number Publication Date
CN111913716A true CN111913716A (zh) 2020-11-10

Family

ID=73283830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010800486.2A Pending CN111913716A (zh) 2020-08-11 2020-08-11 一种对Java Web应用的增量部署方法

Country Status (1)

Country Link
CN (1) CN111913716A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530137A (zh) * 2013-11-05 2014-01-22 中国联合网络通信集团有限公司 一种Java web应用部署方法及装置
US10061834B1 (en) * 2014-10-31 2018-08-28 Amazon Technologies, Inc. Incremental out-of-place updates for datasets in data stores
CN109144548A (zh) * 2018-08-27 2019-01-04 杭州安恒信息技术股份有限公司 一种基于git实现的多组件软件升级方法、装置及服务器
CN110096289A (zh) * 2019-06-28 2019-08-06 奥特酷智能科技(南京)有限公司 自动驾驶异构平台开发环境的快速部署方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530137A (zh) * 2013-11-05 2014-01-22 中国联合网络通信集团有限公司 一种Java web应用部署方法及装置
US10061834B1 (en) * 2014-10-31 2018-08-28 Amazon Technologies, Inc. Incremental out-of-place updates for datasets in data stores
CN109144548A (zh) * 2018-08-27 2019-01-04 杭州安恒信息技术股份有限公司 一种基于git实现的多组件软件升级方法、装置及服务器
CN110096289A (zh) * 2019-06-28 2019-08-06 奥特酷智能科技(南京)有限公司 自动驾驶异构平台开发环境的快速部署方法

Similar Documents

Publication Publication Date Title
CN107577475B (zh) 一种数据中心集群系统的软件包管理方法及系统
US7757226B2 (en) Method and mechanism for performing a rolling upgrade of distributed computer software
US7555750B1 (en) Update package generator employing partial predictive mapping techniques for generating update packages for mobile handsets
CN103701930A (zh) 一种移动应用程序的实时更新方法及系统
US8341609B2 (en) Code generation in the presence of paged memory
US10114745B2 (en) Assisted garbage collection in a virtual machine
US20150178054A1 (en) Executable code for constrained computing environments
CN102725730A (zh) 用于静态键入的基于类的面向对象的软件的非阻挡动态更新的方法、计算机程序产品和系统
CN105100191A (zh) 一种云编译实现Java应用安装的方法、装置及系统
CN102422266A (zh) 构建和更新运行时刻环境的系统和方法
CN105045631A (zh) 一种升级客户端侧应用程序的方法和装置
EP1269309B1 (en) Preloading of classes in a data processing device that does not have a virtual memory manager
CN101095111A (zh) 一种维护计算装置中的应用程序的方法
CN111176625B (zh) 一种在浏览器端高效编译Solidity智能合约的方法
US7600223B2 (en) Abstracted managed code execution
CN105468428A (zh) 一种安卓源代码编译方法及系统
CN105205178A (zh) 一种多进程访问内存数据库系统
Andersson et al. Dynamic code update in JDrums
CN112860251A (zh) 一种网站前端构建的方法与系统
CN111913716A (zh) 一种对Java Web应用的增量部署方法
Yokote et al. Reflective object management in the Muse operating system
CN117707543A (zh) 一种应用安装包制作和安装方法、计算设备及存储介质
CN101169726A (zh) 基于MTD分区的嵌入式Linux系统在线升级方法
CN111831323A (zh) 容器化的增量持续交付方法
WO2023121904A1 (en) Processing a user query

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination