KI-DDI:知识图谱 + 大模型 + 图注意力,医学诊断

news2024/11/26 14:49:58

KI-DDI:知识图谱 + 大模型 + 图注意力,医学诊断

      • 具体到点精细分析
        • 对话处理 SapBERT
        • 医学知识处理 - 图注意力网络(GAT)
        • 信息融合 - 对话嵌入 - 知识图谱嵌入
        • 知识图谱的权重
      • KI-DDI 图
        • 分析性关联图
      • 知识图谱 + 大模型 VS KI-DDI
        • 更强的个性化

 


论文:Towards Knowledge-Infused Automated Disease Diagnosis Assistant

代码:https://github.com/NLP-RL/KI-DDI

具体到点精细分析

目的:建立一个知识注入的、话语感知的疾病诊断助手(KI-DDI)

问题:现有的自动诊断系统缺乏医学知识的有效利用和对患者-医生对话的深入理解

解法:开发一个两通道的、知识注入的、话语感知的疾病诊断模型(KI-DDI)

子解法1(因为需要理解患者-医生对话):使用transformer编码器处理患者-医生对话

  • 之所以用transformer编码器,是因为它能有效捕捉长序列文本中的上下文信息。
  • 例如:对于"我感觉胃里像有蝴蝶在飞"这样的描述,transformer可以理解这是一种比喻,而不是字面意思。

子解法2(因为需要利用医学知识):使用图注意力网络(GAT)创建症状-疾病嵌入

  • 之所以用GAT,是因为它能动态调整不同症状和疾病之间的重要性权重。
  • 例如:对于"头痛"这个症状,GAT可以根据其他症状的存在来调整它与不同疾病的关联强度。

子解法3(因为需要结合对话理解和医学知识):融合对话嵌入和知识图谱嵌入

  • 之所以需要融合,是因为这样可以综合考虑患者描述和医学知识。
  • 例如:将"我经常感到疲劳"这个描述与知识图谱中的多种可能疾病关联起来。

子解法4(因为需要最终给出诊断结果):使用深度神经网络进行疾病识别

  • 之所以用深度神经网络,是因为它能处理复杂的非线性关系,适合多因素的疾病诊断。
  • 例如:综合考虑多个症状、患者描述和医学知识,得出最可能的诊断结果。

这些子解法的逻辑链是一个决策树网络:

KI-DDI
├── 对话处理
│   └── Transformer编码器(SapBERT)
├── 医学知识处理
│   └── 图注意力网络(GAT)
├── 信息融合
│   ├── 对话嵌入
│   └── 知识图谱嵌入
└── 诊断生成
    └── 深度神经网络

构建了一个症状-疾病知识图谱(S-S-D),其中症状和疾病作为节点,它们之间的边表示共现关系。

采用了受tf-idf方法启发的症状频率-逆疾病频率(sf-idf)方法来确定边的权重,这个权重反映了症状和疾病之间的关联程度。

在KI-DDI模型中,首先将整个对话输入语言模型以提取嵌入表示。

然后,从对话中提取症状,并从知识图谱中检索相关的子图。

通过将对话节点与子图连接,我们形成了一个联合图。

最后,通过平均池化获得图嵌入,并使用注意力机制计算对话节点和自我报告的加权和,将图嵌入与对话嵌入融合,用于疾病分类。

对话处理 SapBERT


这个图展示了KI-DDI模型中的对话处理系统,它的核心是一个叫做SapBERT的强大工具。

  1. 信息输入:
    系统接收两种主要信息:患者的自我报告和整个医患对话。
    这些信息被转换成"输入向量",也就是计算机可以理解的数字序列。

  2. SapBERT的作用:
    SapBERT就像一个超级翻译官。它能够:

    • 理解患者自我报告的内容
    • 捕捉整个对话的细节
    • 抓住患者和医生话语中的深层含义
  3. 特殊标记的使用:
    系统使用一些特殊标记来区分不同部分:

    • "自我报告开始标记"和"自我报告结束标记"标示出患者自述的范围
    • "患者标记"和"医生标记"分别指出患者和医生发言的开始
  4. 生成编码表示:
    SapBERT处理这些信息后,会生成两种重要的编码表示:

    • S:代表患者自我报告的编码
    • C:代表整个对话的编码
      这两种编码包含了原始信息的精华,但以更加结构化的形式呈现。
  5. 编码过程:

    • 对于S,系统输入自我报告的开始标记、内容和结束标记
    • 对于C,系统输入患者标记、患者话语序列、医生标记和医生话语序列
      SapBERT(在图中也称为"语言模型")处理这些输入,生成最终的编码
  6. 话语处理:
    系统能够单独处理每一句话,无论是来自患者还是医生,保证不遗漏任何重要信息。

这个过程的巧妙之处在于,它能够将复杂的医患对话转化为计算机可以进一步分析的形式,同时保留了原始对话中的重要语义信息。

这使得KI-DDI模型能够更加准确地理解患者的症状描述和医生的诊断过程,从而为后续的疾病诊断提供强有力的支持。

医学知识处理 - 图注意力网络(GAT)

  1. 基本原理:

    研究者们发现,处理结构化数据可以帮助我们更好地总结信息并确定行动路径。

    这种思路被应用到了人工智能模型中,特别是在处理大量数据时,图基础模型变得越来越受欢迎。

  2. GAT的引入:

    为了提高效率,研究者们构建了图注意力网络(GAT)。GAT建立在知识图谱(S-D)的基础上,并结合上下文信息,用于疾病诊断。

  3. GAT的内部结构:

    • GAT由多层组成,每层包含多个顶点。

    • 每个顶点的状态由一个数学方程(方程8)描述。

    • 顶点之间的关系通过"第一跳邻居"来定义。

    • 网络中有可训练的参数(如Wh和a),这使得模型可以从数据中学习。

    • 注意力机制(通过方程9计算)用于确定不同信息的重要性。

  4. 图嵌入过程:

    • GAT处理后的信息被转换为"顶点嵌入"。

    • 通过平均池化操作,将所有顶点的嵌入合并成一个"图嵌入"。

    • 这个过程考虑了节点特征在不同维度上的分布。

  5. 联合图的概念:

    • 联合图是将对话信息(对话节点)添加到医学知识子图中形成的。

    • 这种结合允许模型同时考虑一般医学知识和具体病例信息。

  6. 最终输出:

    图嵌入作为GAT的最终输出,它浓缩了原始知识图谱和对话信息的精华,为后续的疾病诊断提供了强有力的支持。

这个过程的创新之处在于,它能够将复杂的医学知识和具体的患者对话信息融合在一起,通过图结构和注意力机制,提取出最相关的信息。

这使得KI-DDI模型能够更准确地理解患者的情况,并在此基础上进行疾病诊断。

信息融合 - 对话嵌入 - 知识图谱嵌入

  1. 信息来源:

    模型考虑了两个主要的信息来源:患者自己报告的数据和医生提取的症状。

    这两种信息在不同情况下对理解疾病都很重要。

  2. 注意力机制:

    模型使用了一种叫做"加法注意力"的技术来计算注意力。

    这允许模型根据具体情况关注最相关的信息。

  3. 核心组件:

    • GAT输出:来自图注意力网络,作为查询

    • 自我报告编码:患者自述的编码表示

    • 对话编码:整个医患对话的编码表示

    这三个组件分别代表了不同角度的信息。

  4. 信息融合过程:

    a. 首先,对自我报告编码和对话编码进行加权平均。

    b. 然后,将这个加权平均结果与GAT输出拼接在一起。

    c. 拼接后的结果通过一个线性层,最终用于疾病分类。

  5. 可学习参数:

    模型包含多个可学习参数(W1, W2, v),这使得模型能够通过训练来优化其性能。

  6. 注意力计算:

    • 方程(12)用于计算注意力值α

    • 方程(13)用于确定最终的上下文表示

  7. 最终步骤:

    得到的"关注后的上下文"被传递给疾病诊断网络,该网络最终用于疾病预测。

这个过程的创新之处在于它综合考虑了多个信息源(患者报告、医患对话、医学知识图),并使用注意力机制来动态调整不同信息的重要性。

通过这种方式,模型能够模仿医生的诊断过程,同时考虑到每个病例的独特性。

这种方法不仅提高了诊断的准确性,还增强了模型的可解释性,因为我们可以通过注意力权重来理解模型在做出诊断时关注了哪些信息。

知识图谱的权重

我的知识图谱只有【症状-疾病】,KI-DDI 还有权重。

症状频率-逆疾病频率(sf-idf)方法是受到文本分析中广泛使用的tf-idf(词频-逆文档频率)方法启发而来的。

这种方法用于确定症状和疾病之间关联的强度。

  1. 症状频率 (SF):

SF(s,d) = n(s,d) / N(d)

其中:

  • s 是症状,d 是疾病
  • n(s,d) 是症状 s 在疾病 d 中出现的次数
  • N(d) 是疾病 d 的所有症状出现的总次数
  1. 逆疾病频率 (IDF):

IDF(s) = log(D / D(s))

其中:

  • D 是数据集中总的疾病数量
  • D(s) 是包含症状 s 的疾病数量
  1. SF-IDF 计算:

SF-IDF(s,d) = SF(s,d) * IDF(s)

  1. 具体实施步骤:

    a. 数据准备:

    • 收集包含症状-疾病对的大量医疗记录。
    • 统计每种疾病的症状列表及其出现频率。

    b. 计算 SF:

    • 对于每个疾病,计算每个症状的频率。
    • 例如,如果"发热"在"感冒"中出现100次,而"感冒"总共有500个症状记录,则 SF(“发热”, “感冒”) = 100/500 = 0.2。

    c. 计算 IDF:

    • 统计每个症状在多少种疾病中出现。
    • 例如,如果"发热"在50种疾病中出现,而总共有1000种疾病,则 IDF(“发热”) = log(1000/50) ≈ 3。

    d. 计算 SF-IDF:

    • 将 SF 和 IDF 相乘。
    • 继续上面的例子,SF-IDF(“发热”, “感冒”) = 0.2 * 3 = 0.6。

    e. 归一化(可选):

    • 可以对结果进行归一化,使所有权重在0到1之间。
    • 可以使用最大-最小归一化或其他适当的方法。
  2. 解释结果:

    • 高 SF-IDF 值表示该症状对该疾病来说既常见(高SF)又具有区分性(高IDF)。
    • 低 SF-IDF 值可能表示症状在该疾病中不常见,或者是一个在多种疾病中都常见的症状。
  3. 注意事项:

    • 数据质量:确保使用大量高质量的医疗记录来计算这些值。
    • 稀有疾病:对于罕见疾病,可能需要特殊处理,因为它们的样本量可能很小。
    • 动态更新:随着新数据的加入,定期更新这些权重。
    • 临床验证:结果应该由医学专家审核,确保它们与临床经验一致。
  4. 实现示例(Python):

import math
from collections import defaultdict

def calculate_sf_idf(symptom_disease_data):
    # 统计数据
    disease_symptom_count = defaultdict(lambda: defaultdict(int))
    disease_total_symptoms = defaultdict(int)
    symptom_in_diseases = defaultdict(set)
    total_diseases = set()

    for disease, symptoms in symptom_disease_data.items():
        total_diseases.add(disease)
        for symptom in symptoms:
            disease_symptom_count[disease][symptom] += 1
            disease_total_symptoms[disease] += 1
            symptom_in_diseases[symptom].add(disease)

    # 计算 SF-IDF
    sf_idf = {}
    total_disease_count = len(total_diseases)

    for disease, symptoms in disease_symptom_count.items():
        sf_idf[disease] = {}
        for symptom, count in symptoms.items():
            sf = count / disease_total_symptoms[disease]
            idf = math.log(total_disease_count / len(symptom_in_diseases[symptom]))
            sf_idf[disease][symptom] = sf * idf

    return sf_idf

# 示例使用
symptom_disease_data = {
    "感冒": ["发热", "咳嗽", "流鼻涕"],
    "流感": ["发热", "肌肉疼痛", "疲劳"],
    "肺炎": ["发热", "咳嗽", "呼吸困难"]
}

result = calculate_sf_idf(symptom_disease_data)
print(result)

这种方法提供了一个量化症状-疾病关联强度的客观方式,可以用作知识图谱中边的权重,从而为GNN或DUCG模型提供有价值的输入。

KI-DDI 图

  1. 第一阶段(STAGE-1):

    • 使用编码器处理患者的自我报告和整个对话。
    • 同时从知识图谱中提取相关的子图(KG SubGraph)。
  2. 第二阶段(STAGE-2):

    • 使用注意力机制处理编码后的信息。
    • 应用图注意力网络(GAT)处理症状(蓝色节点)和疾病(红色节点)之间的关系。
    • 最后通过平均池化(Mean Pool)得到最终表示。
分析性关联图

  1. 患者-医生互动输入:
    您: “我最近牙疼,特别是吃冷热食物时。”
    医生: “您能具体描述一下疼痛的位置和性质吗?”
    您: “是左下方的一颗牙,感觉像针刺一样疼。”

  2. 自我报告处理:
    系统首先分析您的初始描述"牙疼,特别是吃冷热食物时"。这被视为自我报告的核心内容。

  3. 症状调查:
    系统通过SapBERT模型分析对话,提取关键症状:

    • 牙疼
    • 对冷热敏感
    • 左下方牙齿
    • 针刺样疼痛
  4. 自然语言理解:

    • 意图分类: 系统识别出您的意图是寻求牙痛的诊断和治疗。
    • 症状标注: 系统标注出上述提到的症状。
  5. 知识图谱激活:
    系统访问其医学知识图谱,找出与这些症状相关的可能疾病,如:

    • 龋齿(蛀牙)
    • 牙本质过敏
    • 牙髓炎
    • 牙周炎
  6. 图注意力网络(GAT)分析:
    GAT分析症状和可能疾病之间的关系:

    • 它可能会特别关注"对冷热敏感"这一症状,因为这在区分上述疾病时非常关键。
    • "针刺样疼痛"可能会增加牙髓炎的可能性权重。
  7. 医学知识注入:
    系统结合专业医学知识,如:

    • 龋齿早期通常对冷热敏感
    • 牙髓炎往往伴有剧烈、持续的疼痛
  8. SapBERT深入语义分析:
    SapBERT模型进一步分析您的描述,可能会注意到:

    • "针刺一样疼"这种描述在医学上常与神经性疼痛相关
    • "左下方的一颗牙"可能暗示问题局限于特定牙齿,而非全面的牙周问题
  9. 疾病诊断:
    综合以上所有信息,KI-DDI系统可能会得出如下诊断:
    主要可能: 早期到中期的龋齿(蛀牙)
    次要可能: 早期牙髓炎

    系统还可能建议:
    “建议进行口腔检查和X光检查以确认诊断。如果是龋齿,可能需要补牙治疗。”

  10. 疾病分类准确率评估:
    系统会记录这次诊断,未来当得知实际诊断结果后,会用于评估和提高系统的准确率。

KI-DDI如何综合利用多种技术和信息源,模拟人类医生的思维过程,从简单的牙疼描述推导出可能的诊断结果。

这种方法不仅考虑了症状本身,还考虑了症状的表达方式和潜在的关联,从而提供更准确的初步诊断。

知识图谱 + 大模型 VS KI-DDI

症状权重:

  • 医学大模型+知识图谱可能对所有头痛症状赋予相似的权重。
  • KI-DDI根据每位患者的具体描述调整症状的重要性,如患者A的压力相关性和患者B的单侧性。

治疗建议:

  • 医学大模型+知识图谱提供了通用的进一步检查建议。
  • KI-DDI为每位患者提供了更具针对性的治疗和管理建议。

考虑个人因素:

  • 医学大模型+知识图谱的回应对两位患者几乎相同。
  • KI-DDI考虑了患者A的工作压力和患者B的特定症状模式。

后续跟进:

  • 医学大模型+知识图谱建议进行全面检查。
  • KI-DDI提供了更具体的后续步骤,如患者A的压力管理和患者B的头痛日记。
更强的个性化

KI-DDI 个性化方面更强,医疗一定是个性化的:

假设有两位患者,都抱怨头痛,但具体情况略有不同:

患者A:
“我最近经常头痛,感觉像是整个头部被箍住了,特别是在工作压力大的时候更严重。有时候还会伴随轻微的恶心感。”

患者B:
“我有时会突然感到剧烈的头痛,通常集中在一侧,疼起来像是被人用锤子敲打一样。疼痛时还会对光线特别敏感。”

  1. 医学大模型+知识图谱的处理:

对于患者A和B,系统可能会给出类似的标准化诊断列表:

"基于您描述的头痛症状,可能的诊断包括:

  1. 紧张性头痛
  2. 偏头痛
  3. 丛集性头痛
  4. 鼻窦炎引起的头痛
  5. 颅内压增高

建议您进行进一步的神经系统检查和头部影像学检查。"

这个诊断列表对两位患者基本相同,因为它们都符合"头痛"这一广泛类别。

 

  1. KI-DDI 的处理:

KI-DDI可能会为每位患者提供更个性化的分析:

对患者A:

"根据您的描述,您的头痛症状更符合紧张性头痛的特征:

  1. 头痛感觉像是被箍住,这是紧张性头痛的典型表现。
  2. 症状与工作压力相关,这进一步支持紧张性头痛的诊断。
  3. 伴随的轻微恶心感可能是由于长期疼痛引起的。

建议:

  • 考虑进行压力管理和放松训练
  • 可以尝试温和的止痛药,如布洛芬
  • 如果症状持续,建议进行颈部和头皮肌肉检查
  • 保持良好的作息习惯可能会有帮助"

对患者B:

"您描述的症状高度符合偏头痛的特征:

  1. 头痛剧烈且集中在一侧,这是偏头痛的典型表现。
  2. 疼痛的搏动性质(像锤子敲打)也符合偏头痛特征。
  3. 对光线敏感(称为畏光)是偏头痛的常见伴随症状。

建议:

  • 建议您记录头痛日记,包括发作频率、持续时间和可能的触发因素
  • 考虑进行偏头痛特异性药物治疗,如曲普坦类药物
  • 避免已知的偏头痛触发因素,如某些食物或压力
  • 建议进行神经系统检查,以排除其他可能的原因"

对比分析:

  1. 诊断精确度:

    • 医学大模型+知识图谱给出了覆盖面广的标准诊断列表。
    • KI-DDI针对每位患者的具体症状提供了更精确的诊断倾向。
  2. 症状权重:

    • 医学大模型+知识图谱可能对所有头痛症状赋予相似的权重。
    • KI-DDI根据每位患者的具体描述调整症状的重要性,如患者A的压力相关性和患者B的单侧性。
  3. 治疗建议:

    • 医学大模型+知识图谱提供了通用的进一步检查建议。
    • KI-DDI为每位患者提供了更具针对性的治疗和管理建议。
  4. 考虑个人因素:

    • 医学大模型+知识图谱的回应对两位患者几乎相同。
    • KI-DDI考虑了患者A的工作压力和患者B的特定症状模式。
  5. 后续跟进:

    • 医学大模型+知识图谱建议进行全面检查。
    • KI-DDI提供了更具体的后续步骤,如患者A的压力管理和患者B的头痛日记。

KI-DDI如何通过考虑每位患者的独特症状描述和生活因素来提供更个性化的诊断和建议,而医学大模型+知识图谱则提供了更标准化但不太具体的诊断方法。

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

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

相关文章

[数据集][目标检测]街灯路灯检测数据集VOC+YOLO格式1893张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1893 标注数量(xml文件个数):1893 标注数量(txt文件个数):1893 标注…

adaptive AUTOSAR UCM模块中SoftwareCluster与Software Package是什么样的关系,他们分别包含哪些元素?

在自适应AUTOSAR(Adaptive AUTOSAR)的更新和配置管理(UCM)模块中,SoftwareCluster和Software Package是软件更新过程中的两个关键概念,它们之间有着密切的关系: SoftwareCluster:通常指的是一组功能相关的软件组件,它们共同实现了车辆中的一个或多个特定功能。在UCM中…

钓鱼的常见几种方式

钓鱼的多种方式 office钓鱼攻击 宏与宏病毒 # 宏 宏是office自带的一种高级脚本特性,通过VBA代码,可以在office中去完成某项特定的任务,而不必再重复相同的动作,目的是让用户文档中一些任务自动化# 宏病毒 宏病毒是一种寄存在文…

Qt实现圆型控件的三种方法之设置样式表

前言 最近在研究绘制各种形状的控件,这里专门挑出圆形的控件进行记录,其它形状的也大差不差,会了圆形的之后其它的也类似。 正文 这里我挑出Label来进行举例。 通过设置样式表 (QSS) 这种方法简单且适用于不需要自定义绘制的场景。就是要…

uniapp实现应用内检测版本更新(Android直接下载/ios跳转app store)

背景:最近需要给app加一个可以检测到新版本并更新的功能, 之前没有考虑过这个问题,第一次尝试,特此记录一下。 我在这里使用到了uniapp上的更新插件,并在此插件基础上进行更改以适应我的项目。 插件链接:ht…

【专题】2023-2024中国游戏企业研发竞争力报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p37447 在当今的数字时代,游戏产业已然成为经济与文化领域中一股不可忽视的重要力量。2023 年,中国自研游戏市场更是呈现出一片繁荣且复杂的景象,实际销售收入达到了令人瞩目的 2563.8 亿元&#x…

计算机毕业设计选题推荐-民宿可视化分析-Python爬虫-随机森林算法

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Catf1ag CTF Web(九)

前言 Catf1agCTF 是一个面向所有CTF(Capture The Flag)爱好者的综合训练平台,尤其适合新手学习和提升技能 。该平台由catf1ag团队打造,拥有超过200个原创题目,题目设计注重知识点的掌握,旨在帮助新手掌握C…

易趋产品升级 | EasyTrack11_V2.0功能更新合集

近日,易趋PPM(EasyTrack PPM)为了帮助企业全面提升数字化项目管理能力,完成了新一轮的产品升级,从【个人空间】、【项目组合管理】、【合同与外包管理】。除了以上三大功能模块之外,其他升级项暂略。 1.个人…

Ajax技术详解

Ajax简介 Ajax 即 "Asynchronous Javascript And XML"(异步 JavaScript 和 XML),是指一种创建交互式、快速动态应用的网页开发技术,无需重新加载整个网页的情况下,能够更新页面局部数据的技术。 为什么要使…

c++习题25-判断字符串是否回文

目录 一,题目 二,思路 三,代码 一,题目 描述 输入一个字符串,输出该字符串是否回文。回文是指顺读和倒读都一样的字符串。 输入描述 输入为一行字符串(字符串中没有空白字符,字符串长度不…

Linux文件属性和打包压缩详解

1、文件属性体系 1.1 文件系统概述 [rootyunwei /]# ls -lhi 总用量 72K3505 lrwxrwxrwx. 1 root root 7 3月 7 2019 bin -> usr/bin 262152 dr-xr-xr-x. 5 root root 4.0K 12月 19 16:00 boot 399635 drwxr-xr-x 2 root root 4.0K 11月 5 2019 data1026 drw…

【数据结构】二叉树基础知识

0. 前言 在前面几期博客,我们已经学习过了各种线性的数据结构,顺序表、链表、栈、队列, 本期博客我们一起来学习一种非线性的结构——树 1. 树的概念及结构 1.1 树的概念 树是一种非线性的数据结构,它是由n(n>…

学习嵌入式第二十九天

ipc进程间通信方式 PC,即进程间通信(Inter-Process Communication),是操作系统中不同进程之间交换数据的一种机制。以下是一些常见的IPC方式: 管道:用于父子进程或兄弟进程之间的通信。消息队列&#xff…

火绒一键修复所有dll缺失?教你快速修复dll错误问题

你的电脑是否遇到过dll文件缺失的状态?那么应该如何将dll文件进行修复,不知道大家有没有听过火绒和电脑dll修复工具一键修复所有的dll缺失?今天我们就来了解一下如何使用火绒和电脑dll修复工具修复电脑错误dll文件丢失的问题。 dll是什么&…

海南云亿商务咨询有限公司靠谱不?

在这个短视频与直播浪潮席卷而来的时代,抖音电商以其独特的魅力迅速崛起,成为无数商家争相入驻的新战场。作为这一领域的佼佼者,海南云亿商务咨询有限公司凭借其专业的服务、前瞻性的视野和实战型的策略,正引领着一批又一批的商家…

【C语言进阶】数据如何安家?C语言内存中的存储艺术深度解析

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C语言 “ 登神长阶 ” 🤡往期回顾🤡:C语言调试 🌹🌹期待您的关注 🌹🌹 ❀C语言数据在内存中的存储 &#…

如何应对突发技术故障和危机:开发团队的应急策略

开发团队如何应对突发的技术故障和危机? 在数字化时代,软件服务的稳定性对于企业至关重要。然而,即使是大型平台,如网易云音乐,也可能遇到突发的技术故障。网页端出现502 Bad Gateway 报错,且App也无法正常…

云计算day30

1. 配置⼀主⼆从mysql57 1. mycat对mysql8不完全⽀持 2. mysql8主从问题不⼤ get_pub_key1 1. gtids事务复制 2. 删除/etc/my.cnf 3. 同步data⽂件需要先停⽤mysql服务,删除data⽬录中的 auto.cnf 4. gtid模式以及经典模式都需要锁表 flush tables with rea…