基于阿里云平台的文章评价模型训练与应用全流程指南

基于阿里云平台的文章评价模型训练与应用全流程指南

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,觉得好请收藏。点击跳转到网站。

1. 项目概述

1.1 项目背景

在当今信息爆炸的时代,各类文章内容层出不穷,如何快速有效地评估文章质量成为许多企业和机构面临的重要挑战。本项目的目标是为客户开发一个基于阿里云平台的文章评价系统,该系统能够自动对输入的文章进行多维度评分,并以固定格式输出评价结果。

1.2 项目需求分析

客户的核心需求可以归纳为以下几点:

  1. 在阿里云平台(百炼或PAI)上训练一个定制化的千问模型
  2. 模型能够根据预设的评分准则对文章进行评价打分
  3. 输出格式需要固定化、标准化
  4. 客户无需理解模型底层原理,只需通过界面操作即可完成全部流程
  5. 最终需要教会客户独立使用该系统

1.3 技术选型

基于客户需求和技术评估,我们选择以下技术方案:

  • 平台:阿里云机器学习PAI平台
  • 基础模型:通义千问(Qwen)系列模型
  • 训练方式:基于预训练模型的微调(Fine-tuning)
  • 部署方式:PAI-EAS在线服务
  • 前端界面:PAI提供的可视化操作界面

2. 阿里云平台环境准备

2.1 阿里云账号注册与配置

首先,客户需要在阿里云官网注册账号并完成实名认证:

  1. 访问阿里云官网(https://www.aliyun.com/)
  2. 点击"免费注册"并按照流程完成账号注册
  3. 完成企业/个人实名认证
  4. 开通PAI(机器学习平台)和OSS(对象存储)服务

2.2 PAI平台开通与初始化

  1. 登录阿里云控制台,搜索"机器学习PAI"并进入
  2. 选择适合的地域(建议选择离用户最近的地域以减少延迟)
  3. 开通PAI-DSW(交互式建模)和PAI-EAS(模型在线服务)功能
  4. 创建一个新的工作空间,命名为"文章评价系统"

2.3 资源准备与配置

  1. 创建OSS Bucket用于存储训练数据和模型:

    • Bucket名称:article-evaluation-[yourname]
    • 地域:与PAI相同
    • 存储类型:标准存储
    • 权限:私有
  2. 创建RAM子账号并授权:

    • 为项目创建专用RAM用户
    • 授予AliyunPAIFullAccess和AliyunOSSFullAccess权限
    • 创建AccessKey并妥善保存

2.4 计费方式设置

根据客户预算和使用频率,建议选择:

  • 按量付费:适合初期测试和小规模使用
  • 资源包:适合长期稳定使用,成本更低

3. 数据准备与处理

3.1 数据需求分析

根据文章评价系统的需求,我们需要准备以下数据:

  1. 原始文章数据(文本内容)
  2. 人工标注的评价结果(根据评分准则)
  3. 可能的辅助数据(如文章分类、作者信息等)

3.2 数据收集与标注

3.2.1 数据收集建议
  1. 来源多样化:新闻、博客、论坛、学术文章等
  2. 领域覆盖:根据客户实际应用场景选择相关领域
  3. 长度分布:包含不同长度的文章样本
3.2.2 标注规范制定

根据客户需求制定详细的评分准则,例如:

评分维度示例:

  1. 内容质量(0-10分)
    • 信息准确性
    • 深度与洞察力
    • 原创性
  2. 语言表达(0-10分)
    • 流畅度
    • 语法正确性
    • 用词恰当性
  3. 结构组织(0-10分)
    • 逻辑连贯性
    • 段落划分合理性
    • 标题与内容匹配度
3.2.3 标注工具选择

推荐使用阿里云PAI提供的智能标注工具:

  1. 登录PAI控制台
  2. 进入"智能标注"服务
  3. 创建标注项目,上传原始数据
  4. 配置标注模板和标注人员

3.3 数据预处理

3.3.1 数据清洗

编写Python清洗脚本:

import re
import json
from tqdm import tqdmdef clean_text(text):# 去除特殊字符和多余空格text = re.sub(r'\s+', ' ', text)text = re.sub(r'[^\w\s\u4e00-\u9fff]', '', text)return text.strip()def process_data(input_file, output_file):with open(input_file, 'r', encoding='utf-8') as f_in, \open(output_file, 'w', encoding='utf-8') as f_out:for line in tqdm(f_in):data = json.loads(line)cleaned_text = clean_text(data['content'])# 验证评分数据scores = data['scores']if not all(0 <= v <= 10 for v in scores.values()):continueprocessed = {'text': cleaned_text,'scores': scores}f_out.write(json.dumps(processed, ensure_ascii=False) + '\n')# 使用示例
process_data('raw_data.jsonl', 'cleaned_data.jsonl')
3.3.2 数据格式转换

将数据转换为模型训练所需的格式:

def convert_to_train_format(input_file, output_file):with open(input_file, 'r', encoding='utf-8') as f_in, \open(output_file, 'w', encoding='utf-8') as f_out:for line in tqdm(f_in):data = json.loads(line)text = data['text']scores = data['scores']# 构建评分描述score_desc = ",".join([f"{k}:{v}" for k, v in scores.items()])total = sum(scores.values()) / len(scores)# 构建训练样本train_sample = {"instruction": "请根据以下评分标准对文章进行评价。","input": text,"output": f"文章评分结果:{score_desc},综合评分:{total:.1f}"}f_out.write(json.dumps(train_sample, ensure_ascii=False) + '\n')# 使用示例
convert_to_train_format('cleaned_data.jsonl', 'train_data.jsonl')

3.4 数据上传至OSS

使用阿里云CLI工具上传数据:

# 安装阿里云CLI
pip install aliyun-python-sdk-core aliyun-python-sdk-oss# 配置CLI
aliyun configure set --profile articleEval \--region cn-hangzhou \--access-key-id your_access_key \--access-key-secret your_access_secret# 上传数据
aliyun oss cp train_data.jsonl oss://article-evaluation-[yourname]/data/train_data.jsonl

4. 模型训练与微调

4.1 千问模型介绍

通义千问(Qwen)是阿里云推出的大规模语言模型系列,具有以下特点:

  • 支持多种参数规模(1.8B、7B、14B等)
  • 强大的中文理解和生成能力
  • 支持长文本处理
  • 可在阿里云PAI平台直接调用和微调

4.2 训练环境配置

4.2.1 创建DSW实例
  1. 登录PAI控制台
  2. 进入"交互式建模(DSW)"
  3. 点击"创建实例"
  4. 选择配置:
    • 实例名称:article-evaluation-train
    • 资源组:选择可用资源组
    • 镜像:pytorch-1.12.0-py38-cu113-ubuntu20.04(最新版)
    • 实例规格:推荐使用ecs.gn6v-c8g1.2xlarge(含V100 GPU)
4.2.2 环境准备

创建完成后,打开JupyterLab,设置训练环境:

# 安装必要库
pip install transformers==4.33.0 datasets==2.10.0 peft==0.4.0
pip install accelerate==0.21.0 bitsandbytes==0.40.2# 克隆千问模型代码
git clone https://github.com/QwenLM/Qwen-7B.git
cd Qwen-7B
pip install -r requirements.txt

4.3 模型训练代码实现

4.3.1 数据加载
from datasets import load_dataset# 从OSS加载数据
dataset = load_dataset('json', data_files={'train': '/mnt/data/train_data.jsonl','valid': '/mnt/data/valid_data.jsonl'
})print(f"训练集样本数: {len(dataset['train'])}")
print(f"验证集样本数: {len(dataset['valid'])}")
4.3.2 模型加载与配置
from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments
from peft import LoraConfig, get_peft_model# 加载千问模型和tokenizer
model_name = "Qwen/Qwen-7B"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True,device_map="auto")# 配置LoRA参数
lora_config = LoraConfig(r=8,lora_alpha=32,target_modules=["c_attn", "c_proj", "w1", "w2"],lora_dropout=0.05,bias="none",task_type="CAUSAL_LM"
)# 应用LoRA
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
4.3.3 训练参数设置
training_args = TrainingArguments(output_dir="./output",evaluation_strategy="steps",eval_steps=200,logging_steps=50,save_steps=500,learning_rate=3e-5,fp16=True,per_device_train_batch_size=4,per_device_eval_batch_size=4,gradient_accumulation_steps=4,num_train_epochs=3,weight_decay=0.01,warmup_ratio=0.1,report_to="tensorboard"
)
4.3.4 数据预处理与训练
from transformers import Trainerdef preprocess_function(examples):inputs = [f"{examples['instruction'][i]}\n输入:{examples['input'][i]}" for i in range(len(examples['input']))]targets = [examples['output'][i] for i in range(len(examples['output']))]model_inputs = tokenizer(inputs, max_length=1024, truncation=True)labels = tokenizer(targets, max_length=128, truncation=True)model_inputs["labels"] = labels["input_ids"]return model_inputstokenized_dataset = dataset.map(preprocess_function, batched=True)trainer = Trainer(model=model,args=training_args,train_dataset=tokenized_dataset["train"],eval_dataset=tokenized_dataset["valid"],
)trainer.train()

4.4 模型评估与优化

4.4.1 评估指标实现
import numpy as np
from sklearn.metrics import mean_absolute_errordef compute_metrics(eval_preds):preds, labels = eval_predspreds = np.argmax(preds, axis=-1)# 将token ID转换回文本pred_texts = tokenizer.batch_decode(preds, skip_special_tokens=True)label_texts = tokenizer.batch_decode(labels, skip_special_tokens=True)# 从输出文本中提取评分def extract_scores(text):try:scores_part = text.split("综合评分:")[0]scores = dict(item.split(":") for item in scores_part.split(","))return {k: float(v) for k, v in scores.items()}except:return Nonepred_scores = [extract_scores(t) for t in pred_texts]label_scores = [extract_scores(t) for t in label_texts]# 计算MAEmae_values = []for pred, label in zip(pred_scores, label_scores):if pred and label:for k in label.keys():mae_values.append(abs(pred[k] - label[k]))return {"mae": np.mean(mae_values)}
4.4.2 训练过程监控
  1. 使用TensorBoard监控训练过程:
    tensorboard --logdir=./output/runs
    
  2. 主要监控指标:
    • 训练损失
    • 验证损失
    • MAE(平均绝对误差)
    • 学习率变化

4.5 模型保存与导出

# 保存完整模型
model.save_pretrained("./final_model")# 保存tokenizer
tokenizer.save_pretrained("./final_model")# 转换为ONNX格式(可选)
from transformers.convert_graph_to_onnx import convertconvert(framework="pt",model="./final_model",output="./final_model.onnx",opset=12,tokenizer=tokenizer
)

5. 模型部署与服务化

5.1 PAI-EAS服务创建

  1. 登录PAI控制台,进入"模型在线服务(EAS)"
  2. 点击"创建服务"
  3. 配置服务参数:
    • 服务名称:article-evaluation-service
    • 部署方式:镜像部署
    • 资源组:选择可用资源组
    • 实例规格:ecs.gn6i-c4g1.xlarge
    • 实例数量:1-2(根据预计QPS调整)

5.2 部署代码实现

创建Flask应用作为服务接口:

from flask import Flask, request, jsonify
from transformers import AutoModelForCausalLM, AutoTokenizer
import torchapp = Flask(__name__)# 加载模型
model_path = "/mnt/model/final_model"
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True,device_map="auto")@app.route('/evaluate', methods=['POST'])
def evaluate_article():data = request.get_json()article = data.get('article', '')if not article:return jsonify({"error": "No article provided"}), 400# 生成评价input_text = f"请根据以下评分标准对文章进行评价。\n输入:{article}"inputs = tokenizer(input_text, return_tensors="pt").to(model.device)outputs = model.generate(**inputs,max_new_tokens=200,temperature=0.7,do_sample=True)result = tokenizer.decode(outputs[0], skip_special_tokens=True)# 提取评分部分try:score_part = result.split("文章评分结果:")[1]return jsonify({"result": score_part})except:return jsonify({"result": result})if __name__ == '__main__':app.run(host='0.0.0.0', port=8000)

5.3 服务测试与验证

使用curl测试服务:

curl -X POST \http://<service-address>/evaluate \-H 'Content-Type: application/json' \-d '{"article": "这里是需要评价的文章内容..."}'

预期响应示例:

{"result": "内容质量:8.2,语言表达:7.5,结构组织:8.0,综合评分:7.9"
}

5.4 服务监控与扩缩容

  1. 在EAS控制台设置自动扩缩容策略:

    • CPU使用率 > 70%时扩容
    • CPU使用率 < 30%时缩容
    • 最小实例数:1
    • 最大实例数:5
  2. 设置报警规则:

    • 响应时间 > 1s
    • 错误率 > 1%
    • 服务不可用

6. 用户界面开发

6.1 前端界面设计

由于客户要求简单的按钮操作,我们使用PAI提供的可视化功能创建简单界面:

  1. 在PAI控制台进入"可视化建模(Designer)"
  2. 创建新的工作流,命名为"文章评价系统"
  3. 添加以下组件:
    • 文本输入框(用于输入文章)
    • 按钮组件(“开始评价”)
    • 文本显示区域(用于显示结果)

6.2 界面与后端集成

配置工作流组件参数:

  1. 文本输入框:

    • 变量名:article_input
    • 默认值:“请输入要评价的文章…”
  2. 按钮组件:

    • 点击事件:调用EAS服务
    • 服务地址:article-evaluation-service
    • 请求参数:{“article”: article_input}
  3. 结果显示区域:

    • 数据绑定:response.result

6.3 界面测试与优化

测试界面功能:

  1. 输入不同长度的文章测试响应
  2. 验证结果显示格式是否符合要求
  3. 测试边界情况(空输入、超长文本等)

7. 用户培训手册

7.1 系统使用流程

完整操作流程:

  1. 登录阿里云PAI控制台
  2. 进入"可视化建模(Designer)"
  3. 打开"文章评价系统"工作流
  4. 在文本框中输入或粘贴要评价的文章
  5. 点击"开始评价"按钮
  6. 等待几秒钟,查看评分结果

7.2 常见问题解答

Q1:评价结果不符合预期怎么办?
A:可以尝试以下步骤:

  1. 检查输入文章是否完整
  2. 重新点击评价按钮
  3. 如果问题持续,联系技术支持

Q2:系统响应速度慢怎么办?
A:可能原因及解决方案:

  1. 网络问题:检查本地网络连接
  2. 服务负载高:稍后再试
  3. 文章过长:尝试分成较短段落评价

Q3:如何批量评价多篇文章?
A:当前界面支持单篇文章评价,如需批量处理:

  1. 联系技术支持配置批量处理功能
  2. 或使用API接口自行开发批量程序

7.3 维护与更新指南

日常维护:

  1. 每月检查服务运行状态
  2. 监控资源使用情况
  3. 定期备份模型和数据

系统更新:

  1. 模型更新:
    • 准备新的训练数据
    • 重新训练模型
    • 在测试环境验证后更新生产环境
  2. 界面更新:
    • 在Designer中修改工作流
    • 保存并发布新版本

8. 项目总结与展望

8.1 项目成果总结

本项目成功实现了:

  1. 基于阿里云PAI平台的文章自动评价系统
  2. 千问模型的微调与部署
  3. 简单易用的用户界面
  4. 完整的用户培训材料

8.2 可能的改进方向

未来可以考虑以下改进:

  1. 支持更多评价维度和定制化评分标准
  2. 增加评价解释功能,说明评分依据
  3. 开发浏览器插件或Office插件形式的应用
  4. 引入多模型集成评价以提高准确性

8.3 长期维护建议

为确保系统长期稳定运行,建议:

  1. 定期收集用户反馈优化模型
  2. 每季度更新训练数据以保持模型时效性
  3. 关注阿里云平台更新,及时升级相关服务
  4. 建立专门的维护团队或外包维护服务

附录A:完整代码清单

数据预处理完整代码

# [包含前面3.3节的所有数据处理代码]

模型训练完整代码

# [包含前面4.3节的所有模型训练代码]

服务部署完整代码

# [包含前面5.2节的所有服务代码]

附录B:阿里云资源费用估算

训练阶段费用

资源类型规格单价(元/小时)预计时长费用估算
DSW实例ecs.gn6v-c8g1.2xlarge3010小时300元

部署阶段费用

资源类型规格单价(元/月)数量费用估算
EAS实例ecs.gn6i-c4g1.xlarge9001900元/月

存储费用

服务容量单价费用估算
OSS100GB0.12元/GB/月12元/月

总计:

  • 一次性训练成本:约300元
  • 月度运营成本:约912元

附录C:术语解释

  1. PAI:阿里云机器学习平台(Platform of Artificial Intelligence)
  2. EAS:弹性算法服务(Elastic Algorithm Service),PAI的模型部署模块
  3. DSW:交互式建模(Data Science Workshop),PAI的Notebook开发环境
  4. Qwen:通义千问,阿里云开发的大语言模型系列
  5. LoRA:低秩适应(Low-Rank Adaptation),一种高效的模型微调技术
  6. OSS:对象存储服务(Object Storage Service),阿里云的云存储服务

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

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

相关文章

AI 及开发领域动态与资源汇总(2025年7月24日)

AI 项目、工具及动态汇总 项目/产品名称核心功能/简介主要特点/亮点相关链接Supervision一个流行的计算机视觉工具库&#xff0c;用于加速计算机视觉应用的构建。模型无关&#xff0c;可与多种主流库集成&#xff1b;提供丰富的可定制标注工具&#xff1b;支持多种数据集操作和…

C专题8:文件操作1

1.C语言中的文件是什么?所谓文件&#xff08;file&#xff09;一般指存储在外部介质上数据的集合&#xff0c;比如我们经常使用的txt、bmp、jpg、exe、rmvb等等。这些文件各有各的用途&#xff0c;我们通常将它们存放在磁盘或者可移动盘等介质中。文件无非就是一段数据的集合&…

Opencv C# 重叠 粘连 Overlap 轮廓分割 (不知道不知道)

先上效果图一种基于凹陷检测重叠轮廓分割的方法这两个星期压力大的一批&#xff0c;心脏都给干得乱跳了&#xff0c;现在高血压心率不齐贫血。兄弟们保重身体啊。简单说下逻辑&#xff1a;前处理&#xff1a;的噼里啪啦我就不说了&#xff0c;根据样品来(灰度&#xff0c;滤波&…

CentOS7 安装 rust 1.82.0

CentOS7 安装 rust 1.82.0 我在CentOS7.9中安装rust遇到报错版本低&#xff0c;再升级版本的过程中遇到诸多问题&#xff0c;简单记录。 遇到的问题 提示版本低 centos7 安装 ERROR: Rust 1.75.0 or newer required.Rust version 1.72.1 was found.原因是 CentOS7 的默认的软件…

Compose 适配 - 键鼠模式

一、概念不止触摸交互&#xff0c;在 ChromeOS 或外接键鼠的设备上&#xff0c;需要考虑焦点、悬停、右键等操作逻辑。二、使用2.1 焦点使用 Tab 键来导航&#xff0c;改变边框以提供清晰的焦点指示器。Composable fun Demo() {val interactionSource remember { MutableInter…

征服 Linux 网络:核心服务与实战解析

在当今的IT基础设施中&#xff0c;Linux作为服务器操作系统的基石&#xff0c;其强大的网络功能是其不可或缺的优势。对于任何志在成为高级系统管理员或运维工程师的人来说&#xff0c;精通Linux网络配置与服务管理是核心竞争力。 与日常应用不同&#xff0c;Linux网络管理往往…

Spark 之 DataFrame

# foreach useFeatureDF.rdd.foreachPartition {iter => iter.foreach {row =>val userId = row.getAs[Int]

射频信号(大宽高比)时频图目标检测anchors配置(下)

书接上文&#xff1a; 射频信号&#xff08;大宽高比&#xff09;时频图目标检测anchors配置&#xff08;上&#xff09; 三、4090加成检测效果深度优化 在4090 24G专用显存加持下继续探究大宽高比目标检测的奥秘&#xff1a; Conda环境迁移至租的云服 在云服上第一次测试…

跨境支付入门~国际支付结算(区块链篇)

摘要Web3区块链技术架构解析&#xff1a;从底层共识到应用生态本文系统梳理了Web3作为稳定币基础设施的技术架构&#xff0c;采用"数字共和国"的比喻框架&#xff0c;将区块链技术分解为六大核心模块&#xff1a;宪法根基&#xff08;区块链层&#xff09;&#xff1…

Docker 私服

什么是 Docker 私服&#xff1f; Docker 官方的 Docker Hub 是一个用于管理公共镜像的仓库&#xff0c;我们可以从上面拉取镜像 到本地&#xff0c;也可以把我们自己的镜像推送上去。 但是&#xff0c;有时候我们的服务器无法访问互联网&#xff0c;或者你不希望将自己的镜像…

DeepSeek vs ChatGPT:谁更胜一筹?

新兴 AI 聊天机器人的崛起与挑战&#xff1a;对话模型发展观察近年来&#xff0c;生成式人工智能领域持续取得突破&#xff0c;聊天机器人作为其中的代表&#xff0c;广泛应用于写作、编程、问答和信息处理等任务。2025 年初&#xff0c;国内某 AI 团队宣布了多项模型技术进展&…

飞算科技:以原创技术为翼,赋能产业数字化转型

在数字经济浪潮席卷全球的当下&#xff0c;一批专注于技术创新的中国企业正加速崛起&#xff0c;飞算数智科技&#xff08;深圳&#xff09;有限公司&#xff08;简称 “飞算科技”&#xff09;便是其中的佼佼者。作为一家国家级高新技术企业&#xff0c;飞算科技以自主创新为核…

电商接口什么意思?

“电商接口”这四个字&#xff0c;在中文互联网上出现的频次越来越高&#xff1a;商家后台、小程序、ERP、数据大屏……几乎任何与线上零售沾边的场景都会提到它。然而&#xff0c;对大多数刚进入电商行业的新人&#xff0c;甚至一些已经开了很多年网店的老板来说&#xff0c;这…

前端面试专栏-前沿技术:30.跨端开发技术(React Native、Flutter)

&#x1f525; 欢迎来到前端面试通关指南专栏&#xff01;从js精讲到框架到实战&#xff0c;渐进系统化学习&#xff0c;坚持解锁新技能&#xff0c;祝你轻松拿下心仪offer。 前端面试通关指南专栏主页 前端面试专栏规划详情 跨端开发技术&#xff08;React Native、Flutter&am…

复盘—MySQL触发器实现监听数据表值的变化,对其他数据表做更新

文章目录 MySQL交换数据库表中两列的值(额外的知识) 为防止后面有疑问,提前解释为什么需要 `$$` ? 第一版需求 第二版需求 第三版需求 注意事项: 存在的严重问题 最终版 关键修复说明: 完整测试场景: 额外建议(如果需要显式处理NULL): COALESCE函数 业务中出现的问题…

SpringCloud【Sentinel】

1&#xff0c;工作原理 2&#xff0c;常见规则 流量控制&#xff08;FlowRule&#xff09; 1&#xff0c;阈值类型设置如下 单机均摊&#xff1a;每个机器均摊&#xff0c;比如阈值填5&#xff0c;三个机器&#xff0c;就个机器都可以有5个 总体阈值&#xff1a;所有机器总阈…

解构未来金融:深入剖析DeFi与去中心化交易所(DEX)的技术架构

今天&#xff0c;我们来聊一个颠覆传统金融界的热门话题——DeFi&#xff08;去中心化金融&#xff09;。大家可能听说过它如何承诺将银行、交易所、保险等金融服务构建在一个开放、无需许可的区块链网络上。而这一切魔法的核心&#xff0c;正是其独特的“技术架构”。 在这篇文…

中国西北典型绿洲区土壤水分特征(2018-2019年)

数据集摘要该数据包含张掖绿洲黑河沿岸湿地、过渡带杨树林土壤水分、温度数据。数据采集时间为2018年至2019年&#xff0c;采集地点为张掖绿洲&#xff0c;数据为日数据。该数据集是按照课题制定的试验方案和中国生态系统研究网络编著的陆地生态系统水土气生观测规范进行数据的…

MySQL高可用部署

目录 一、MHA&#xff08;一主多从模式&#xff09; 1.环境准备&#xff08;所有节点&#xff09; 2. 部署 MySQL 主从复制&#xff08;MasterSlave&#xff09; 3.部署 MHA Manager&#xff08;管理节点&#xff09; &#xff08;1&#xff09;安装 MHA Manager &#xf…

从 XSS 到 Bot 攻击:常见网络攻击防不胜防?雷池 WAF 用全场景防护为网站筑牢安全墙

1. 网络攻击类型当前常见的网络攻击类型包括&#xff1a;重放攻击&#xff08;HTTP Request Replay Attack&#xff09;&#xff1a;攻击者截获合法用户的 HTTP 请求并重新发送&#xff0c;以欺骗服务器执行相同操作。危害包括消耗服务器资源、大量抓取数据或绕过认证操作敏感接…