logo好方法网

免二次镜像的容器化JavaEE应用服务器的发布方法


技术摘要:
本发明提供了一种免二次镜像的容器化JavaEE应用服务器的发布方法,包括以下步骤:S100构建容器化JavaEE应用服务器的云平台;S200将应用所需要的安装程序包上传至容器化JavaEE应用服务器的云平台;构建应用运行的基础镜像;S300在云平台设置基础镜像的配置器,创建CernV  全部
背景技术:
容器是指组件和底层服务细节之间的接口。在web组件、企业级Bean等能够执行之 前,它必须被装配为一个JavaEE模块,并部署在容器上。在JAVA  EE中,各种不同类型的模块 既可以单独打包JAR部署,也可以将这些模块综合起来做成一个EAR包进行部署。应用容器 化占用资源少、部署快,每个应用被打包成一个容器镜像,每个应用与容器间成一对一关系 使容器有更大优势,使用容器可以在build或release 的阶段,为应用创建容器镜像,因为 每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到 测试、生产能提供一致环境。容器比虚机轻量、更“透明”,这更便于监控和管理,因此容器化 网络应用方面得到广泛采用,成为目前分布式架构中常用的主流技术。 现有的容器化JavaEE应用服务器的发布方法都至少需要采用两次镜像,如申请号 为CN201811363546.8文献公开的自动化应用程序容器化和镜像备份发布的方法,包括如下 四个步骤:步骤1,构建基础镜像:基于硬件平台和操作系统,构建基础镜像;步骤2,构建基 础构建镜像:从基础镜像启动容器,以相应的编程语言分类,分别增量制作基础构建镜像; 步骤3,构建应用程序容器化镜像:从基础构建镜像启动容器,将应用程序源代码注入到容 器内的已知目录,并为应用程序源代码安装编译和运行时的依赖项,在容器内对应用程序 源代码进行编译处理,将相应文件安装到指定路径,将新的容器提交为应用程序容器化镜 像;步骤4,应用程序容器化镜像测试及备份发布:运行应用程序容器化镜像,利用应用程序 测试脚本执行测试验证。 从传统角度讲,存储在库中的每套镜像都必须拥有与其各层相关的全部文件,这 意味着对任意主机设备上的Docker镜像进行更新,我们就需要从该库中下载完整的镜像。 一旦容器系统数量增长至数百、数千乃至数百万之巨时,那么库的体积就会随着容器系统 的增加而不断攀升,而每一次更新所需要下载的数据量也会越来越大,造成容器臃肿。
技术实现要素:
为了解决上述技术问题,本发明提供了一种免二次镜像的容器化JavaEE应用服务 器的发布方法,包括以下步骤: S100构建容器化JavaEE应用服务器的云平台; S200将应用所需要的安装程序包上传至容器化JavaEE应用服务器的云平台;构建应用 运行的基础镜像; S300在云平台设置基础镜像的配置器,创建CernVM-FS文件库并添加到应用的安装程 序包中,所述配置器将CernVM-FS文件库名称作为输入数据以及基础镜像root所必需的库 内路径; 5 CN 111597014 A 说 明 书 2/7 页 S400在客户端输入CernVM-FS文件库名称,所述客户端以本地方式远程启动基础镜像 root目录,通过执行应用启动脚本,执行应用启动命令,完成应用发布。 可选的,所述基础镜像的构建方法如下: 从容器化JavaEE应用服务器云平台获取应用所属类型的模板文件;所述模板文件包括 平台环境配置信息和至少一个变量信息; 获取与应用匹配的变量信息对应的待输入参数; 根据所述平台环境配置信息、变量信息和待输入参数,执行构建镜像命令,得到用于运 行应用的基础镜像。 可选的,所述云平台设有文件操作监控器和防护系统,所述应用的发布过程如下: 所述文件操作监控器捕获客户端的文件操作,将文件操作动作对应的文件操作信息向 云平台中的防护系统发送;当接收到所述防护系统发送的用于指示文件操作信息接收成功 的反馈信息后,控制云平台响应所述文件操作动作; 所述防护系统响应接收到的所述文件操作信息,向所述文件操作监控器发送用于指示 所述文件操作信息接收成功的反馈信息;利用预先设置的互联网传输组件向与所述云平台 对应的JavaEE应用服务器发送所述文件操作信息,JavaEE应用服务器根据接收到的所述文 件操作信息的指示,进行应用文件的发布。 可选的,所述云平台设有应用版本检测模块,所述应用版本检测模块从上传到云 平台上的应用所需要的安装程序包中读取应用版本,当用户使用的客户端连接上网络时, 所述应用版本检测模块通过网络查询客户端的运行应用版本,将客户端的运行应用版本与 所述云平台上的安装程序包的应用版本对比,若不一致则向用户的客户端发送应用有新版 的提示;用户查看客户端收到的提示后,根据需要自主选择立即更新、延迟更新或者不进行 更新操作。 可选的,所述云平台设有应用推广模块,所述应用推广模块从云平台上的安装程 序包中提取应用的特征信息生成推广信息,所述特征信息包括应用的功用描述信息、运行 环境要求、版本信息和发布链接; 所述应用推广模块通过网络查找未安装应用的客户端及其IP地址,记录生成推广列表 并保存,然后以设定周期向推广列表中的客户端发送推广信息;若客户端通过推广信息中 的发布链接进行了应用安装操作,则把该客户端从推广列表中删除。 可选的,所述云平台设有应用更新模块,所述应用更新模块收到云平台上传了新 版的应用安装程序包的消息时,通过网络扫描查找安装了旧版应用的客户端,建立待更新 表,所述待更新表中收录安装了旧版应用的客户端及其IP地址,然后云平台给待更新表内 收录的客户端发送将在设定时间进行应用版本更新的提示信息,到设定时间后云平台即通 过网络连接待更新表内收录的客户端远程进行应用更新; 客户端能够访问所述应用更新模块进行更新设置,对于进行了更新设置的客户端,按 照更新设置执行应用更新; 所述应用更新模块提前对待更新表内收录的客户端进行运行环境检测,经检测若客户 端的运行环境不能承载应用更新,则提前向该客户端发送需优化提示,待该客户端满足新 版应用的运行环境要求时再执行更新。 可选的,所述云平台包括防病毒系统和客户端模块;所述客户端模块用于扫描云 6 CN 111597014 A 说 明 书 3/7 页 平台的所述防病毒系统,其中, 所述客户端模块检测客户端正在打开的云平台文件采用标记语言的文本,生成用于防 病毒扫描的文本集,确定所述客户端模块与所述防病毒系统之间的通信信道的容量,并确 定所述防病毒系统的预留吞吐量; 所述防病毒系统基于用于防病毒扫描的所述文本集、通信信道的容量和预留吞吐量, 选择从所述客户端模块向所述防病毒系统的分派信息速度;根据选择的信息分派速度,分 配确定的所述防病毒系统的所述预留吞吐量中的一部分,用于执行正在打开的文本的防病 毒扫描。 可选的,所述云平台采用多通道信号进行同步发布,包括: 根据多通道信号的信号容量,设定每个通道信号的信号属性;根据信号属性,在满足预 设信号传输量的条件下,将每个通道信号进行压缩,得到对应的压缩支路,将压缩支路并行 连续存储在云平台上对应的存储阵列中; 所述云平台在进行应用发布时,调取存储阵列中的各压缩支路同步进行发布。 可选的,所述云平台运行在网络中的虚拟集群上,所述虚拟集群包括多个虚拟机 节点,所述虚拟机节点构建虚拟集群的规则间存在依赖关系,所述云平台采用以下算法计 算依赖关系的时间复杂度: 上式中, 表示依赖关系的时间复杂度; 表示复杂度函数; 表示虚拟集群中的 虚拟机节点数量;和 都表示线性增长常数; 当依赖关系的时间复杂度 达到设定值时,对云平台自身进行固化处理。 可选的,所述虚拟集群占用的物理资源包括CPU、内存和存储器,所述云平台对虚 拟集群占用物理资源进行管理和反馈,包括: 通过以下公式计算物理资源的消耗率均值: 上式中, 表示CPU、内存或者存储器的消耗率均值; 表示物理资源,即CPU、内存或 者存储器; 表示对应的物理资源消耗率; 表示对应的物理资源权重数值; 若物理资源的消耗率均值达到预设阈值,云平台则发出综合负载量占用物理资源超限 的告警信息,提示需要进行物理资源扩充或者缩减负载量。 本发明的免二次镜像的容器化JavaEE应用服务器的发布方法,只需要进行一次镜 像,避免了容器化JavaEE应用服务器所含库随着容器系统的增加而体积不断攀升,使得每 一次更新所需要下载的数据量不会有太大变化,不会造成容器臃肿。在应用发布方面,不需 要将应用的安装程序包下载到客户端,只需要在线网上访问运行安装,减少了对客户端的 资源占用及安装条件。 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 7 CN 111597014 A 说 明 书 4/7 页 书、权利要求书、以及附图中所特别指出的结构来实现和获得。 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。 附图说明 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实 施例一起用于解释本发明,并不构成对本发明的限制。在附图中: 图1为本发明实施例中一种免二次镜像的容器化JavaEE应用服务器的发布方法流程 图。
下载此资料需消耗2积分,
分享到:
收藏