站点平台技术架构

系统架构部署思维导图

在这里插入图片描述
平台模块分配:
1.账号模块
2.权限模块
3.站点模块
4.配置模块
5.系统升级
6.日志模块

一、前期工作

1.系统保持一致性方案:

GIT版本控制:通过总控端向租户端发送一个更新同步请求,租户端收到请求后执行GIT PULL 命令,执行完成命令后会进行获取当前版本指定的SQL文件,进行同步更新数据库结构。
具体实现逻辑:

(1)前端页面:

点击“系统升级”按钮,同时生成系统升级日志,并且向每个租户的前端接口发送一个请求。界面大概如下图所示:
在这里插入图片描述

(2)后端逻辑:

1、向租户前端接口发送一个系统升级的请求(若请求的站点过多,可能导致超时的话,则使用队列方式进行执行)
2、租户接口接受到请求之后PHP程序使用exce在项目的根目录执行git pull命令。
3、程序等待git pull 命令执行完毕,执行完毕后检测是否包含有update.sql文件,若有update.sql文件则直接更新改文件里面的SQL语句。
4、完成系统升级后进行将结果返回给总控后台,然后将结果入库到日志当中。若中间系统更新失败,则捕获系统的报错信息,并将报错的结果返回给总控后台并将报错信息记录到对应的日志当中。

2.站点权限配置方案

思维导图

在这里插入图片描述

(1)新增/编辑账号

包含字段:用户名、昵称(中文/英文)、密码(MD5)、邮箱、电话、性别、状态、站点ID。

(2)新增/编辑角色组

包含字段:名称、描述、创建者、创建时间、编辑时间、修改者、状态、权限ID

(3)分配站点

描述:一个账号可以分配多个站点。

(4)站点分配角色组

一个站点可以分配多个角色组

一、总控端新增/编辑账号、新增/编辑用户组、分配站点
系统管理员从“总控后台登陆页面”进入到总控后台系统(后台包含) => 新增/编辑用户组和站点权限、新增/账号设置账号的用户组和可操作站点。
在这里插入图片描述
二、新增/编辑用户组: 给每个类型的用户组设置租户后台的可操作和界面权限。
说明:下图所示的站点权限是指租户后台的菜单权限等功能!
在这里插入图片描述
三、添加/编辑人员账号:在新增/编辑时给账户设置用户组、赋值此账号对应的可操作的站点ID,如下图所示:
在这里插入图片描述
四、登陆站点后台,站点后台页面显示已经给的权限页面和操作(若账号在登陆到未获得权限的站点时,系统会禁止登陆)!
在这里插入图片描述
总结:一套系统需要连接多个数据库,需要配置每个站点的对应的数据库信息!

三、

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

房屋结构健康监测,科技助力让建筑更安全

房屋建筑是人们赖以生存的场所,然而当前我国许多房屋已经达到了使用寿命的中期,房屋的安全系数逐年降低,风险也随着时间的推移而累积。长期以来,我国的房屋普遍存在寿命短、隐患多的问题,“重建设,轻管理”…

【3维视觉】网格的谱分解和应用(GFT图傅里叶变换)

网格的谱分解即网格的频率分解,我们学过信号的傅里叶变换,将信号从空域变换到频域。二维图像由离散傅里叶变换DFT(Discrete Fourier Transform)。在图信号领域,也有图的傅里叶变换GFT(Graph Fourier Transform),网格可以看作是图&…

DevExpress WinForms数据编辑器组件,提供丰富的数据输入样式!(二)

DevExpress WinForms超过80个高影响力的WinForms编辑器和多用途控件,从屏蔽数据输入和内置数据验证到HTML格式化,DevExpress数据编辑库提供了无与伦比的数据编辑选项,包括用于独立数据编辑或用于容器控件(如Grid, TreeList和Ribbon)的单元格。…

关于slot-scope已经废弃的问题

说起来啊,这个问题啊,我之前一直没关注,还是webstorm给我的警告。 因为使用了element-ui的组件库,所以在使用组件的时候往往就cv大法了,直到今天用webstorm写代码是,提示了如下的错误 我这一看&#xff0c…

Springboot中sharding-jdbc的API模式并使用自定义算法

Springboot中sharding-jdbc的API模式并使用自定义算法 可配合AbstractRoutingData使用切换数据源 程序用到了AbstractRoutingData来切换数据源(数据源是自定义的格式编写并没有用springboot的自动装配的格式写),但是又用到sharding-jdbc进行…

基于微信小程序+Springboot校园二手商城系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、目前专注于大学生项目实战开发,讲解,毕业答疑辅导✌ 🍅文末获取源码联系🍅 👇&#x1f3…

【Java 高阶】一文精通 Spring MVC - 数据格式化器(六)

👉博主介绍: 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO 专家博主 ⛪️ 个人社区&#x…

接口经典题目

​ White graces:个人主页 🙉专栏推荐:《Java入门知识》🙉 🙉 内容推荐:继承与组合:代码复用的两种策略🙉 🐹今日诗词:人似秋鸿来有信,事如春梦了无痕。🐹 目录 &…

供应链安全和第三方风险管理:讨论如何应对供应链中的安全风险,以及评估和管理第三方合作伙伴可能带来的威胁

第一章:引言 在当今数字化时代,供应链的安全性越来越受到重视。企业的成功不仅仅依赖于产品和服务的质量,还取决于供应链中的安全性。然而,随着供应链越来越复杂,第三方合作伙伴的参与也带来了一系列安全风险。本文将…

RPC和HTTP协议

RPC 全称(Remote Procedure Call),它是一种针对跨进程或者跨网络节点的应用之间的远程过程调用协议。 它的核心目标是,让开发人员在进行远程方法调用的时候,就像调用本地方法一样,不需要额外为了完成这个交…

[JavaWeb]【十】web后端开发-SpringBootWeb案例(配置文件)

目录 一、参数配置化 1.1 问题分析 1.2 问题解决(application.properties) 1.2.1 application.properties 1.2.2 AliOSSUtils 1.2.3 启动服务-测试 二、yml配置文件 2.1 配置格式 2.1.1 新增 application.yml 2.1.2 启动服务 2.2 XML与prope…

linux 同时kill杀死多进程实践

使用场景 当程序中有使用到多进程且进程数较多的情况,如下图,且需要通过控制台杀死所有的 GSM_run.py 的进程时,利用 kill 命令一个一个的去结束进程是及其耗时且繁琐的,这时就需要我们的kill多进程的命令工作了。 批量 Kill 进程…

【ARM】Day9 cortex-A7核I2C实验(采集温湿度)

1. 2、编写IIC协议,采集温湿度值 iic.h #ifndef __IIC_H__ #define __IIC_H__ #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" #include "led.h" /* 通过程序模拟实现I2C总线的时序和协议* GPIOF ---> AHB4* I2C1_S…

WiFi天线和NB-IoT天线不通用

表面看起来完全一样。但是把WiFi天线插到NB-IoT设备后,信号弱了很多。还导致设备反复重启

轮转数组——C语言

题目: 解法1:把最后一位数字移动到数组的第一位,然后将第二位开始的每一位往前移动一位 这种方法的时间复杂度O(N^2) 空间复杂度O(1) rotate(int* arr, int n, int k) {k % n;int i 0;for (i …

Prompt本质解密及Evaluation实战(一)

一、基于evaluation的prompt使用解析 基于大模型的应用评估与传统应用程序的评估不太一样,特别是基于GPT系列或者生成式语言模型,因为模型生成的内容与传统意义上所说的内容或者标签不太一样。 以下是借用了ChatGPT官方的evaluation指南提出的对结果的具…

Star History 月度开源精选|Llama 2 及周边生态特辑

7 月 18 日,Meta 发布了 Llama,大语言模型 Llama 1 的进阶版,可以自由免费用于研究和商业,支持私有化部署。 所以本期 Star History 的主题是:帮助你快速把 Llama 2 在自己机器上跑起来的开源工具,无论你的…

多环境开发

多环境 1、多环境开发(YAML版) 小结: 多环境开发需要设置若干种常用环境,例如开发、生产、测试环境yaml格式中设置多环境使用—区分环境设置边界每种环境的区别在于加载的配置属性不同启用某种环境时需要指定启动时使用该环境 …

高手进阶之路---pyqt自定义信号

高手进阶之路—pyqt自定义信号 1.思考问题为什么要自定义信号,qt5本身已有信号槽函数 # pushButton 被clicked的时候connect 函数print self.pushButton.clicked.connect(self.print)def print(self):print("我被点击了")或者使用 # 需要引入 pyqtSlo…

使用ffmpeg将WebM文件转换为MP4文件的简单应用程序

tiktok网上下载的short视频是webm格式的,有些程序无法处理该程序,比如roop程序,本文介绍了如何使用wxPython库创建一个简单的GUI应用程序,用于将WebM文件转换为MP4文件。这个应用程序使用Python编写,通过调用FFmpeg命令…