一种高复用的组件式安装包制作系统

news2024/11/24 17:45:12

目录

整体设计

流程描述

文件目录结构设计

产品资源的配置与更新

安装包制作流程

安装包执行流程


整体设计

       如下展示了安装包系统的整体结构:

将集群布署可能用到的docker资源,按最小的单元进行整理,以压缩包的形式放于资源库,方便各产品的安装包制作时使用,如Figure 3安装包制作系统的结构图;

在安装包工程里,入口文件mainboard.sh里,可以对每一个最小资源包进行调试与执行,给当前的环境安装一个docker资源,如Figure 4 安装包制作系统的执行原理;在安装包制作的时候,将这些“单个”的安装程序,进行 compose(组装),形成符合各个产品的不同的集群环境。

在安装包执行的时候,会判断*.bin文件同级目录有没有符合文件目录设计(如Figure 6 文件目录的设计)的资源,如果有,就可以用此安装包来安装自定义的产品安装; 如果没有,即直接使用安装包内的产品资源进行安装,进行标准产品的安装。

Figure 3安装包制作系统的结构图

Figure 4 安装包制作系统的执行原理

Figure 5 安装包执行原理

流程描述

  

文件目录结构设计

    Docker资源,在集群布署中是最基本的一环,如Figure 5  Mesh产品布署实例。

而docker的资源,可以为不同的产品所使用。所以在某一个资源目录下,我们为每一种产品建立一个oem目录,放置相应的产品配置相关文件;在这个资源下,如果配置比较简单,也可以放置相应的oem文件即可。所以目录设计如Figure 5 文件目录的设计 所示。

   这种目录设计,在安装包制作前,可以按此结构安放各个产品关于这个docker资源的特例配置项,如Figure 7 制作环境目录结构 所示。这样安放清晰明了。 当安装包在执行时,也会按这个结构,将此产品的相关配置复制到目标目录的相应文件目录之下 。如Figure 6 生产环境目标目录结构 所示。

  生产环境目录结构及制作环境目录结构,与文件目录设计之间的关系,如Figure 8 目录关系解析 所示。 保证各环境的目录关系,与我们设计的目录结构一致,这样保持安装包执行后,各docker资源得到正确的配置,从而按各产品自定义的参数,正确地运行。

 figure 6 文件目录的设计

Figure 7  Mesh产品布署实例

Figure 8 生产环境目标目录结构

Figure 9 制作环境目录结构

 

Figure 10 目录关系解析

产品资源的配置与更新

      产品资源,是指具体某个产品的变动的资源,比如前端的html,js,css文件,后端的jar包,及数据库建立文件create.sql等等。更新这些产品资源保证新制作的安装包建立的环境使用的产品资源是最新的。

 

 Figure 11 产品资源更新

安装包制作流程

   安装包制作流程:更新产品资源,放入正确的文件目录;再将一些系统需要的软件也打包;再添加容器资源;再组建安装脚本;最后将所有新源进行加密与打包,生成*.bin的安装包。

Figure 12 安装流程

Figure 13  制作伪代码示意

安装包执行流程

   *.bin的安装包在执行的时候,先会判断使用产品资源的位置 。 如果同级目录有符合本文目录设计的资源,即优先采用;如果没有,使用安装包内的产品资源。

   然后解压后,构建好内部网络,保证集群内的安全与可达;加载容器:在加载容器中,会读取配置好的产品资源,这样会构建出符合产品要求的集群中间件。

 

 Figure 14 安装包执行流程

 Figure 15 执行伪代码示意

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/90853.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

欧姆龙电气元器件要点14讲

对于一个电气工程师来说,不仅仅只是要会PLC、伺服控制、变频器参数调优和总线控制、触摸屏这些大的元件的使用,还有很多种类齐全、功能各异的电气元器件,它们的作用、原理、维护方法、安全要点都要熟记于心,牢牢掌握。 第一章 电气…

艾美捷CpG ODN——ODN 1720 (TLRGRADE)说明书

艾美捷CpG ODN系列——ODN 1720 (TLRGRADE):具有硫代磷酸酯骨架的GpC寡脱氧核苷酸。 艾美捷CpG ODN 丨ODN 1720 (TLRGRADE)化学性质: 序列:5-tccatgagcttcctgatgct-3(小写字母表示硫代磷酸酯键)。 MW:638…

Java中的运算符

算术运算符&#xff1a;&#xff0c; -&#xff0c;*&#xff0c;/&#xff0c;%&#xff0c;&#xff0c;--关系运算符&#xff1a;&#xff0c;!&#xff0c;<&#xff0c;>&#xff0c;<&#xff0c;>逻辑运算符&#xff1a;&&&#xff0c;||&#xff0…

基于STM32的温度控制系统

提示&#xff1a;记录毕设 文章目录前言一、任务书1.1设计(研究)目标:1.2设计(研究)内容:二、代码思路三、硬件四、联系我们五、设计六、框图代码等资料喜欢请点赞哦&#xff01;前言 基于STM32的温度控制系统&#xff0c;主控使用STM32F103ZET6&#xff0c;在正点原子的精英板…

ubuntu18.0 调节显卡GPU涡轮风扇转速

前言&#xff1a; 在炼丹的时候发现涡轮显卡的温度已经很高了85摄氏度&#xff0c;但是涡轮的风扇转速还不到65%&#xff0c;此时显卡计算频率明显已经下降了&#xff0c;所以需要手动调节风扇的转速&#xff0c;让噪音和计算速度处于均衡状态。 一、准备工作 》》安装显卡驱…

html:自定义网页右键菜单

<div id"menu"><divclass"menu-item"data-id"1">功能1</div><divclass"menu-item"data-id"2">功能2</div><divclass"menu-item"data-id"3">功能3</div><…

股票购买接口委托下单c++代码

炒股并非是运气可以驱使的&#xff0c;买股票不是赌博&#xff0c;是一种有风险的经济投资。在股市投资生涯中&#xff0c;掌握一门实战买卖技巧是我们必备的武器&#xff0c;这也是我们能长久在股市投资中得以生存的技法。 其实做股票投资是非常讲究买入和卖出的时机的。一只…

图像风格迁移-DSTN

样式传输的目的是从参考图像中再现具有样式的内容图像。现有的通用风格转换方法成功地以艺术或照片逼真的方式将任意风格传递给原始图像。然而&#xff0c;现有作品所定义的“任意风格”的范围由于其结构限制而在特定领域内受到限制。具体而言&#xff0c;根据预定义的目标域来…

用vscode配置C++3种编译器及多文件编译

末尾附上最终的模板 Vscode开发环境配置 C有很多种编译器&#xff0c;最重要的有三种 GNU的GCC(推荐)微软的MSVCClang/LLVM C的最新标准是C23,各个编译器对C各个标准的支持情况是不同的&#xff1a; C compiler support - cppreference.com 注意主要看C20的支持情况 用Vsco…

校园进销存网站

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 功能模块包括&#xff1a;员工模块、手机类型模块、供应商模块、采购模块、客户模块、销售模块、统计模块、库存模块 (1…

2022年的最后一个Win11 Dev预览版本

今日凌晨&#xff0c;微软向广大Win11 Dev用户推送了今年的最后一个版本更新&#xff0c;版本号为25267。根据官方的变化&#xff0c;引入了改变任务栏中可用搜索框样式的设置。此外&#xff0c;此版本还对任务栏、文件资源管理器、设置等进行了各种增强。 该公司还表示&#x…

nacos使用教程及原理简介

一、什么是 Nacos Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集&#xff0c;帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos的关键特性包括&#xff1a; 服务发现和服务健康监测动态配置服务动态 DNS 服务服务及其元…

java排序算法

目录 一 冒泡排序 二 选择排序 三 插入排序 四 希尔排序 五 快速排序 5.1 单边循环快速排序 5.2 双边循环快速排序 六 二分查找 七 总结 一 冒泡排序 依次比较数组中相邻的两个元素&#xff0c;若 arr[i] > arr[i1]&#xff0c;则交换两个元素&#xff0c;两两都比…

RabbitMQ原理剖析

常见的消息队列很多&#xff0c;主要包括 RabbitMQ、Kafka、RocketMQ 和 ActiveMQ&#xff0c;本篇文章只讲 RabbitMQ&#xff0c;先讲原理&#xff0c;后搞实战。 直接上思维导图&#xff1a; 1. 消息队列 1.1 消息队列模式 消息队列目前主要 2 种模式&#xff0c;分别为“…

【AI with ML】第 6 章 :使用嵌入使情绪可编程

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

Web安全研究(二)

TChecker: Precise Static Inter-Procedural Analysis for Detecting Taint-Style Vulnerabilities in PHP Applications 香港中文大学&#xff0c;CCS2022 Abstract 由于php语言的高度复杂性&#xff0c;现有的污点分析解决方案由于其不全面的程序间分析和各种实现问题&#…

DIV简单个人静态HTML网页设计作品 WEB静态个人介绍网页模板代码 DW个人网站制作成品 期末网页制作与实现

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

jmeter压测线程5000后内存溢出问题解决

一.报错内容&#xff1a; ava.lang.OutOfMemoryError: Java heap space&#xff1a;意思就是堆内存溢出&#xff0c;不够用了 版本&#xff1a;jmeter5 内存溢出&#xff1a;应用的内存已经不能满足正常使用了&#xff0c;堆栈已经达到系统设置的最大值&#xff0c;进而导致崩…

【图像融合】高斯金字塔+拉普拉斯金字塔彩色水下图像融合【含Matlab源码 1629期】

⛄一、区域分割图像融合简介 图像的分解 对源图像进行融合时,首先对图像进行分解,利用拉普拉斯金字塔分解,先对图像进行高斯金字塔分解,然后再进行拉普拉斯金字塔分解。 1 高斯金字塔分解 记源图像为G0,G0即为高斯金字塔最底层,将其进行高斯低通滤波,之后对其进行隔行隔列的下…

mysqldump实战-问题1

使用mysqldump导出数据时&#xff0c;遇到了一个权限问题(之前没报过这个提示) mysqldump: Error: Access denied; you need (at least one of) the PROCESS privilege(s) for this operation when trying to dump tablespaces 查看当前用户的权限&#xff1a; 解决方法&…