AI机器学习 | 基于librosa库和使用scikit-learn库中的分类器进行语音识别

专栏集锦,大佬们可以收藏以备不时之需

Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html

Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html

Logback 详解专栏:https://blog.csdn.net/superdangbo/category_9271502.html

tensorflow专栏:https://blog.csdn.net/superdangbo/category_8691332.html

Redis专栏:https://blog.csdn.net/superdangbo/category_9950790.html

AI机器学习实战:

AI机器学习实战 | 使用 Python 和 scikit-learn 库进行情感分析

Python实战:

Python实战 | 使用 Python 和 TensorFlow 构建卷积神经网络(CNN)进行人脸识别

Spring Cloud实战:

Spring Cloud 实战 | 解密Feign底层原理,包含实战源码

Spring Cloud 实战 | 解密负载均衡Ribbon底层原理,包含实战源码

1024程序员节特辑文章:

1024程序员狂欢节特辑 | ELK+ 协同过滤算法构建个性化推荐引擎,智能实现“千人千面”

1024程序员节特辑 | 解密Spring Cloud Hystrix熔断提高系统的可用性和容错能力

1024程序员节特辑 | ELK+ 用户画像构建个性化推荐引擎,智能实现“千人千面”

1024程序员节特辑 | OKR VS KPI谁更合适?

1024程序员节特辑 | Spring Boot实战 之 MongoDB分片或复制集操作

Spring实战系列文章:

Spring实战 | Spring AOP核心秘笈之葵花宝典

Spring实战 | Spring IOC不能说的秘密?

国庆中秋特辑系列文章:

国庆中秋特辑(八)Spring Boot项目如何使用JPA

国庆中秋特辑(七)Java软件工程师常见20道编程面试题

国庆中秋特辑(六)大学生常见30道宝藏编程面试题

国庆中秋特辑(五)MySQL如何性能调优?下篇

国庆中秋特辑(四)MySQL如何性能调优?上篇

国庆中秋特辑(三)使用生成对抗网络(GAN)生成具有节日氛围的画作,深度学习框架 TensorFlow 和 Keras 来实现

国庆中秋特辑(二)浪漫祝福方式 使用生成对抗网络(GAN)生成具有节日氛围的画作

国庆中秋特辑(一)浪漫祝福方式 用循环神经网络(RNN)或长短时记忆网络(LSTM)生成祝福诗词

在这里插入图片描述

目录

  • 1、普通人在学习 AI 时结合以下10个方面开展
  • 2、机器学习应用场景
  • 3、机器学习面对的挑战
  • 4、机器学习步骤
  • 5、语音识别具体步骤
      • 1. 环境准备
      • 2. 数据准备
      • 3. 特征提取
      • 4. 模型训练
      • 5. 模型评估
  • 6、语音识别相关资料
      • 1. 学习资料
      • 2. 开源技术
      • 3. 完整代码介绍
      • 4. 调优
      • 5. 案例分享

1、普通人在学习 AI 时结合以下10个方面开展

普通人在学习 AI 时可以采取以下具体措施和对应案例:

  1. 学习基础知识:
    • 阅读书籍:《人工智能:一种现代的方法》(作者:Stuart Russell 和 Peter Norvig)
    • 在线课程:斯坦福大学 CS224n(计算机视觉)和 CS221(机器学习)
  2. 学习编程语言:
    • 选择 Python 作为入门编程语言,因为它易于学习且在 AI 领域广泛应用。
  3. 学习数学和统计学:
    • 线性代数:学习矩阵运算、向量空间和线性变换等概念。
    • 概率论与统计学:学习概率分布、假设检验和回归分析等概念。
  4. 学习 AI 相关库和框架:
    • TensorFlow:一个广泛用于深度学习的开源库。
    • PyTorch:另一个流行的深度学习框架。
    • scikit-learn:一个用于机器学习的库,包含多种分类、回归和聚类算法。
  5. 动手实践:
    • 项目案例:使用 TensorFlow 实现 MNIST 手写数字识别。
    • 参考教程:https://www.tensorflow.org/tutorials/sequential/mnist
  6. 学习具体应用领域:
    • 自然语言处理(NLP):使用 spaCy 库进行文本分类和情感分析。
    • 计算机视觉(CV):使用 OpenCV 库实现图像处理和目标检测。
  7. 关注行业动态:
    • 阅读 AI 领域的论文和研究:如《深度学习》(作者:Ian Goodfellow、Yoshua Bengio 和 Aaron Courville)
    • 关注顶级会议:如 NeurIPS(神经信息处理系统会议)和 CVPR(计算机视觉和模式识别国际会议)
  8. 加入社群交流:
    • 参与线上论坛:如 Reddit、知乎等,关注 AI 相关话题。
    • 参加线下活动:如 AI 沙龙、技术讲座和研讨会。
  9. 结合实际工作或兴趣爱好:
    • 工作案例:使用 AI 优化供应链管理或客户服务。
    • 个人兴趣:利用 AI 制作音乐、游戏或艺术作品。
  10. 持续学习:
  • 参加在线课程:如 Coursera、Udacity 等,不断提升自己的 AI 技能。
  • 阅读博客和论文:了解最新的 AI 研究和应用。
    通过以上具体措施和案例,普通人可以逐步掌握 AI 技术,并在实际应用中发挥重要作用。只要不断学习、实践和探索,普通人在 AI 领域也能取得很好的成果。

2、机器学习应用场景

AI 和机器学习技术在以下具体应用场景中发挥着重要作用,并且具有广阔的前景:

  1. 金融领域:AI 机器学习技术可以用于风险评估、投资决策、欺诈检测等,有助于金融机构提高效率和降低风险。
  2. 医疗健康:AI 机器学习技术在医疗影像分析、基因测序、疾病预测等方面具有巨大潜力,有助于提高诊断准确率和治疗效果。
  3. 自然语言处理:AI 机器学习技术在语音识别、文本分析、情感分析、机器翻译等领域具有广泛应用,为人类提供便捷的语言交互方式。
  4. 计算机视觉:AI 机器学习技术在图像识别、目标检测、人脸识别等方面有着广泛应用,助力智能监控、自动驾驶等场景。
  5. 零售业:通过分析消费者行为和购买偏好,AI 机器学习技术可以帮助零售商实现精准营销和库存管理。
  6. 制造业:AI 机器学习技术可以用于智能制造、机器人、自动化生产线等,提高生产效率和质量。
  7. 能源领域:AI 机器学习技术在智能电网、能源优化等方面具有潜力,有助于实现可持续能源发展和降低能源成本。
  8. 物流行业:AI 机器学习技术可以应用于路径规划、仓储管理、配送优化等,提高物流效率。
  9. 城市规划:AI 机器学习技术在交通优化、基础设施规划、城市安全等方面具有价值。
  10. 环境保护:AI 机器学习技术可以帮助实现更有效的环境监测、污染源识别和生态评估。
  11. 教育:AI 机器学习技术可以用于智能教育辅导、学习分析、教育内容推荐等,提高教学质量和个人学习能力。
  12. 医疗诊断:AI 机器学习技术可以辅助医生进行疾病诊断,提高诊断准确率和治疗效果。
  13. 网络安全:AI 机器学习技术在入侵检测、恶意代码分析、网络流量监控等方面具有重要意义。
  14. 艺术创作:AI 机器学习技术在生成艺术、音乐生成、绘画等方面具有潜力,为艺术家提供新的创作工具和思路。
  15. 农业领域:AI 机器学习技术在智能农业、作物病虫害预测、农业自动化等方面具有价值。
    总之,AI 机器学习技术具有广泛的应用场景和前景,随着技术的不断发展,其在各个领域的应用将更加广泛,为人类带来更多便利和创新。

3、机器学习面对的挑战

挑战:

  1. 数据隐私和安全:在数据收集、存储和处理过程中,保护用户隐私和数据安全成为重要挑战。
  2. 模型可解释性:AI 和机器学习模型往往具有很高的复杂性,解释模型决策的过程和结果对于提高透明度和信任度至关重要。
  3. 算法偏见和歧视:由于数据来源和训练过程中的偏见,AI 和机器学习模型可能出现不公平和歧视现象。
  4. 技术成熟度:AI 和机器学习技术仍处于快速发展阶段,需要不断优化和完善,以满足实际应用的需求。
  5. 人才培养:AI 和机器学习领域的人才供应与需求之间存在较大差距,人才培养成为制约行业发展的重要因素。
  6. 社会伦理和法律问题:随着 AI 和机器学习技术在各个领域的应用,如何解决伦理和法律问题日益凸显。
    综上所述,AI 和机器学习技术在众多应用场景中具有广阔的前景,但同时也面临着诸多挑战。为了实现可持续发展和广泛应用,行业需要不断探索创新,解决技术和社会问题。

4、机器学习步骤

机器学习代码的编写可以分为以下几个步骤:

  1. 数据预处理:在编写机器学习代码之前,首先需要对原始数据进行预处理。这包括数据清洗、特征提取和特征缩放等操作。以下是一个简单的数据预处理代码示例:
import pandas as pd
# 读取数据  
data = pd.read_csv('data.csv')
# 数据清洗  
data = data.drop_duplicates()  
data = data.drop_na()
# 特征提取  
X = data.iloc[:, :-1].values  
y = data.iloc[:, -1].values
# 特征缩放(标准化)  
scaler = StandardScaler()  
X = scaler.fit_transform(X)  
  1. 模型选择与训练:根据任务需求选择合适的机器学习算法,然后使用训练数据对模型进行训练。以下是一个使用决策树算法(from sklearn.tree import DecisionTreeClassifier)进行训练的示例:
from sklearn.model_selection import train_test_split  
from sklearn.metrics import accuracy_score
# 划分训练集和测试集  
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建并训练决策树模型  
clf = DecisionTreeClassifier()  
clf.fit(X_train, y_train)
# 使用训练好的模型进行预测  
y_pred = clf.predict(X_test)
# 计算预测准确率  
accuracy = accuracy_score(y_test, y_pred)  
print("决策树模型预测准确率:", accuracy)  
  1. 模型评估:使用测试数据评估模型的性能,如准确率、召回率、F1 分数等。以下是一个评估决策树模型准确率的示例:
from sklearn.metrics import accuracy_score
# 使用训练好的模型进行预测  
y_pred = clf.predict(X_test)
# 计算预测准确率  
accuracy = accuracy_score(y_test, y_pred)  
print("决策树模型预测准确率:", accuracy)  
  1. 模型优化:根据模型评估结果,对模型进行优化。这可能包括调整模型参数、使用更先进的算法或集成学习等。
  2. 实际应用:将训练好的模型应用于实际问题,如预测、分类、聚类等。以下是一个使用训练好的决策树模型进行预测的示例:
# 预测新数据  
new_data = pd.DataFrame({'特征 1': [1, 2, 3], '特征 2': [4, 5, 6]})  
new_data['预测结果'] = clf.predict(new_data.iloc[:, :-1].values)  
print(new_data)  

以上代码只是一个简单的机器学习项目示例,实际应用中可能需要根据具体任务和数据类型进行调整。此外,根据实际需求,您可能还需要学习更多的机器学习算法和高级技巧,如神经网络、深度学习、集成学习等。

5、语音识别具体步骤

语音识别是机器学习中的一个重要应用领域。下面是一个使用Python和简单方法的语音识别示例:

  1. 环境准备:
    首先,确保安装了以下库:
    • numpy
    • pandas
    • matplotlib
    • seaborn
    • scikit-learn
    • librosa
  2. 数据准备:
    对于这个简单的示例,我们将使用一个预先准备好的数据集。这个数据集应该包含两个文件:一个包含语音特征的CSV文件和一个包含对应语音标签的CSV文件。
  3. 特征提取:
    使用librosa库来提取语音特征。通常,我们会使用梅尔频谱系数(Mel-frequency cepstral coefficients (MFCCs))作为特征。
  4. 模型训练:
    使用scikit-learn库中的分类器(如SVM、 Random Forest等)来训练模型。
  5. 模型评估:
    使用测试集评估模型的性能。
    现在,让我们开始实施这个示例:

1. 环境准备

首先,确保您已经安装了上述库。您可以使用以下命令来安装它们:

pip install numpy pandas matplotlib seaborn scikit-learn librosa

2. 数据准备

假设您已经有一个名为speech_data.csv的CSV文件,其中包含语音特征,以及一个名为speech_labels.csv的CSV文件,其中包含对应的语音标签。

3. 特征提取

我们可以使用librosa库来提取MFCC特征。以下是一个简单的特征提取脚本:

import librosa
import librosa.display
import numpy as np
def extract_mfcc(file_path, n_mfcc=13):# 加载音频文件y, sr = librosa.load(file_path, sr=None)# 计算MFCCmfccs = librosa.feature.mfcc(y=y, sr=sr, n_mfcc=n_mfcc)# 返回MFCC的平均值和标准差return mfccs.mean(axis=1), mfccs.std(axis=1)
# 加载数据
data = pd.read_csv('speech_data.csv')
labels = pd.read_csv('speech_labels.csv')
# 提取MFCC特征
mfcc_features = []
for i, row in data.iterrows():file_path = row['file_path']mfcc_mean, mfcc_std = extract_mfcc(file_path)mfcc_features.append(np.hstack([mfcc_mean, mfcc_std]))
# 转换为DataFrame
mfcc_features = pd.DataFrame(mfcc_features)

4. 模型训练

我们可以使用scikit-learn中的SVM分类器来训练模型。以下是训练模型的脚本:

from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 准备数据
X = mfcc_features
y = labels['label']
# 分割训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练SVM分类器
clf = SVC(kernel='linear', C=1)
clf.fit(X_train, y_train)
# 预测
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy * 100:.2f}%")

5. 模型评估

您可以使用测试集评估模型的性能。您可以根据需要调整模型参数或尝试其他分类器来优化性能。
这只是一个简单的示例,实际应用中的语音识别系统可能更复杂。实际应用中,您可能需要使用深度学习模型(如卷积神经网络)和更大的数据集来获得更好的性能。

6、语音识别相关资料

语音识别是人工智能领域的一个关键方向,涉及到大量的机器学习和深度学习技术。下面提供一个关于语音识别的概述,包括学习资料、开源技术和完整代码介绍,以及如何进行调优和案例分享。

1. 学习资料

  • 书籍:
    • 《Speech Recognition: A Machine Learning Approach》 - Michael A. Riley
    • 《Speech Processing: A Practical Guide to信号 Processing in Speech Recognition》 - Tomoki Hayashi
  • 在线课程:
    • Coursera上的"Deep Learning for Natural Language Processing"
    • edX上的"Introduction to Deep Learning"
  • 研究论文:
    • “Deep Learning for Speech Recognition: A Review” - Yoshua Bengio et al. (2017)
    • “End-to-End Speech Recognition in TensorFlow” - TensorFlow.org

2. 开源技术

  • TensorFlow: 谷歌的TensorFlow框架是一个流行的深度学习库,支持语音识别任务。
  • Keras: Keras是一个高级神经网络API,可以在TensorFlow或其他后端上运行。
  • PyTorch: PyTorch是另一个流行的深度学习框架,也可以用于语音识别。
  • ESPNet: ESPNet是一个基于PyTorch的语音处理库,包括语音识别功能。

3. 完整代码介绍

  • TensorFlow Example:
    import tensorflow as tf# Load your dataset
    dataset = ...# Build your model
    model = tf.keras.Sequential([tf.keras.layers.Dense(64, activation='relu', input_shape=(40, 1)),tf.keras.layers.Dense(64, activation='relu'),tf.keras.layers.Dense(len(dataset.class_names))
    ])# Compile the model
    model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])# Train the model
    model.fit(dataset)
    
  • PyTorch Example:
    import torch
    import torch.nn as nn
    import torch.optim as optim# Load your dataset
    dataset = ...# Define your model
    class SpeechRecognitionModel(nn.Module):def __init__(self):super(SpeechRecognitionModel, self).__init__()self.fc1 = nn.Linear(40, 64)self.fc2 = nn.Linear(64, 64)self.fc3 = nn.Linear(64, len(dataset.class_names))def forward(self, x):x = torch.relu(self.fc1(x))x = torch.relu(self.fc2(x))x = self.fc3(x)return x# Initialize the model, loss function, and optimizer
    model = SpeechRecognitionModel()
    criterion = nn.CrossEntropyLoss()
    optimizer = optim.Adam(model.parameters())# Train the model
    for epoch in range(num_epochs):for inputs, labels in dataset:optimizer.zero_grad()outputs = model(inputs)loss = criterion(outputs, labels)loss.backward()optimizer.step()
    

4. 调优

  • 数据增强: 对数据进行预处理,如添加噪声、时间反转、平滑处理等,可以增加训练样本数量。
  • 模型结构调优: 尝试不同的网络结构,如卷积神经网络、递归神经网络等。
  • 超参数调优: 使用超参数搜索算法,如GridSearch或RandomSearch,找到最优的超参数组合。

5. 案例分享

  • 语音命令识别: 使用语音识别技术实现对用户命令的识别,如智能家居控制。
  • 实时语音翻译: 将一种语言的语音翻译成另一种语言的文本。
  • 会议记录: 将会议内容实时转录成文本。
    以上就是关于语音识别的概述,希望能对您有所帮助!

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

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

相关文章

【LeetCode刷题-树】-- 572.另一棵树的子树

572.另一棵树的子树 方法:深度优先搜索暴力匹配 深度优先搜索枚举root中的每一个节点,判断这个点的子树是否与subroot相等 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right…

Oracle如何快速删除表中重复的数据

方法一: 在Oracle中,你可以使用DELETE语句结合ROWID和子查询来删除重复的记录。以下是一个示例: DELETE FROM your_table WHERE ROWID NOT IN (SELECT MAX(ROWID)FROM your_tableGROUP BY column1, column2, ... -- 列出用于判断重复的列 )…

深度学习:欠拟合与过拟合

1 定义 1.1 模型欠拟合 AI模型的欠拟合(Underfitting)发生在模型未能充分学习训练数据中的模式和结构时,导致它在训练集和验证集上都表现不佳。欠拟合通常是由于模型太过简单,没有足够的能力捕捉到数据的复杂性和细节。 1.2 模型…

快速搜索多个word、excel等文件中内容

如何快速搜索多个word、excel等文件中内容 操作方法 以win11系统为介绍对象。 首先我们打开“我的电脑”-->“文件夹选项”-->“搜索”标签页,在“搜索内容”下方选择:"始终搜索文件名和内容(此过程可能需要几分钟)"。然后…

react-router-dom 版本6.18.0中NavLink的api和属性介绍

React Router 是一个基于 React 的路由库,它可以帮助我们在 React 应用中实现页面的切换和路由的管理。而 NavLink 则是 React Router 中的一个组件,它可以帮助我们实现导航栏的样式设置和路由跳转。 在 React Router 版本6.18.0 中,NavLink…

【C++】入门三

接下来我们说一下引用这个概念,那么什么是引用呢?简单来说引用就是取别名,比如有一个变量叫a,现在我给它取了一个别名叫b,那么此时a和b管理的都是一块空间 这个例子就可以很好的体现a和b管理的是同一块空间&#xff0…

iframe渲染后端接口文件和实现下载功能

一:什么是iframe? 1、介绍 iframe 是HTML 中的一种标签,全称为 Inline Frame,即内联框架。它可以在网页中嵌入其他页面或文档,将其他页面的内容以框架的形式展示在当前页面中。iframe的使用方式是通过在HTML文档中插入…

Idea远程debug

Idea远程debug 一、方法 1.1、启动时加参数 java -agentlib:jdwptransportdt_socket,servery,suspendn,address5005 -jar remote-debug-0.0.1-SNAPSHOT.jar1.2、运行时加参数 在没有显式-agentlib:jdwp参数的情况下进行远程调试: 首先,确保您的Sprin…

六.Linux远程登录

1.说明:公司开发的时候,具体的应用场景是这样的 1.linux服务器是开发小组共享 2.正式上线的项目是运行在公网 3.因此程序员需要远程登录到Linux进行项目管理或者开发 4.画出简单的网络拓扑示意图(帮助理解) 5.远程登录客户端有Xshell6、Xftp6&#xff0…

闭眼检测实现

引言 这段代码是一个实时眼睛状态监测程序,可以用于监测摄像头捕获的人脸图像中的眼睛状态,判断眼睛是否闭合。具体应用实现作用说明如下: 1. 实时监测眼睛状态 通过摄像头捕获的实时视频流,检测人脸关键点并计算眼睛的 EAR&a…

vue3项目安装eslint和prettier

【几乎最全/全网最长的 2 万 字】前端工程化完整流程:从头搭到尾(vue3 vite qiankun docker tailwindcss iview......)_前端工程化流程-CSDN博客 vue3tsvite项目中使用eslintprettierstylelinthusky指南 - 掘金 上面两篇文章相互结合操…

【Python大数据笔记_day10_Hive调优及Hadoop进阶】

hive调优 hive官方配置url: Configuration Properties - Apache Hive - Apache Software Foundation hive命令和参数配置 hive参数配置的意义: 开发Hive应用/调优时,不可避免地需要设定Hive的参数。设定Hive的参数可以调优HQL代码的执行效率,或帮助定位问…

MySQL 的执行原理(四)

5.5. MySQL 的查询重写规则 对于一些执行起来十分耗费性能的语句,MySQL 还是依据一些规则,竭尽全力的把这个很糟糕的语句转换成某种可以比较高效执行的形式,这个过程也可以 被称作查询重写。 5.5.1. 条件化简 我们编写的查询语句的搜索条件…

git常用命令和参数有哪些?【git看这一篇就够了】

文章目录 前言常用命令有哪些git速查表奉上常用参数后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:git操作相关 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出…

HCIA-综合实验(三)

综合实验(三) 1 实验拓扑2 IP 规划3 实验需求一、福州思博网络规划如下:二、上海思博网络规划如下:三、福州思博与上海思博网络互联四、网络优化 4 配置思路4.1 福州思博配置在 SW1、SW2、SW3 上配置交换网络SW1、SW2、SW3 运行 S…

记录一些涉及到界的题

文章目录 coppersmith的一些相关知识题1 [N1CTF 2023] e2Wrmup题2 [ACTF 2023] midRSA题3 [qsnctf 2023]浅记一下 coppersmith的一些相关知识 上界 X c e i l ( 1 2 ∗ N β 2 d − ϵ ) X ceil(\frac{1}{2} * N^{\frac{\beta^2}{d} - \epsilon}) Xceil(21​∗Ndβ2​−ϵ) …

贪吃蛇小游戏

一. 准备工作 首先获取贪吃蛇小游戏所需要的头部、身体、食物以及贪吃蛇标题等图片。、 然后,创建贪吃蛇游戏的Java项目命名为snake_game,并在这个项目里创建一个文件夹命名为images,将图片素材导入文件夹。 再在src文件下创建两个包&#…

【Go入门】 Go如何使得Web工作

【Go入门】 Go如何使得Web工作 前面小节介绍了如何通过Go搭建一个Web服务,我们可以看到简单应用一个net/http包就方便的搭建起来了。那么Go在底层到底是怎么做的呢?万变不离其宗,Go的Web服务工作也离不开我们第一小节介绍的Web工作方式。 w…

2023年【G1工业锅炉司炉】报名考试及G1工业锅炉司炉理论考试

题库来源:安全生产模拟考试一点通公众号小程序 G1工业锅炉司炉报名考试是安全生产模拟考试一点通生成的,G1工业锅炉司炉证模拟考试题库是根据G1工业锅炉司炉最新版教材汇编出G1工业锅炉司炉仿真模拟考试。2023年【G1工业锅炉司炉】报名考试及G1工业锅炉…

简单聊一聊幂等和防重

大家好,我是G探险者。 每年的双十一,618,电商系统都会面临这超高的流量,如果一个订单被反复提交,那电商系统如何保证这个订单之后执行一次减库存,扣款的操作? 这里就引入两个概念,…