【论文速读】《LLM4CP: Adapting Large Language Models for Channel Prediction》

news2024/11/24 1:24:57

论文地址:
https://ieeexplore.ieee.org/document/10582829

前言:之前就想,大语言模型是否可以通过微调用于通信系统的无线空口应用,这篇文章给出了答案。通过讲信道状态信息进行嵌入和注意力操作,变成大语言模型可以适配的数据,然后LLM只需要微调就可以活得较好的信道预测性能。

摘要:

本文提出了一种名为LLM4CP(Large Language Model-empowered Channel Prediction)的方法,用于预测大规模多输入多输出(m-MIMO)系统中的信道状态信息(CSI)。现有的信道预测方法由于模型不匹配错误或网络泛化问题而缺乏精度。利用大型语言模型(LLMs)的强大建模和泛化能力,作者提出了一种基于预训练LLM的信道预测方法,通过历史上行CSI序列预测未来的下行CSI序列。在微调网络时,冻结了预训练LLM的大部分参数,以实现更好的跨模态知识迁移。为了弥合信道数据与LLM特征空间之间的差距,特别定制了预处理器、嵌入层和输出模块,并考虑了独特的信道特性。仿真验证了所提出方法在全样本、少样本和泛化测试中的最先进(SOTA)预测性能,并且具有较低的训练和推理成本。

解决的主要问题:

  • 现有信道预测方法在m-MIMO系统中由于模型不匹配或泛化问题而精度不足。
  • 在高速移动性场景中,现有方法难以准确建模复杂的空间、时间、频率关系。
  • 深度学习方法在CSI分布变化时泛化能力差,需要重新训练。

贡献:

  1. 提出了一种新颖的LLM-empowered信道预测方法LLM4CP,用于MISO-OFDM系统,即在信道预测数据集上微调预训练的GPT-2。据作者所知,这是首次尝试将预训练的LLM用于信道预测。
  2. 针对信道的独特特性,设计了专门的模块和处理流程,以弥合信道数据和LLM特征空间之间的差距,从而促进跨模态知识迁移。
  3. 初步结果验证了所提出方法在TDD/FDD信道预测任务中的SOTA性能。此外,它展示了在少样本和泛化预测性能方面的优越性,以及低训练和推理成本。

引言

大规模多输入多输出(MIMO)技术被认为是第五代(5G)及未来5G移动通信系统的核心技术,用于提高频谱效率(SE)。准确的信道状态信息(CSI)在促进m-MIMO相关设计中起着基础性作用,例如收发器优化、自适应调制、资源分配等。通常,CSI是通过信道估计获得的,其更新频率由信道相干时间决定。对于涉及高速用户移动的场景,缩短的信道相干时间显著增加了信道估计的开销,从而导致系统SE的显著降低。此外,在频分双工(FDD)系统中,由于上行链路和下行链路的信道互易性不成立,基站(BS)只能通过用户反馈获得下行链路CSI,导致开销增加和延迟。信道预测是一项有前景的技术,可以减少CSI获取的开销,它基于历史CSI数据预测未来的CSI。历史CSI和预测CSI可以位于相同或不同的频带中,分别对应时分双工(TDD)和FDD模式。例如,在FDD系统中,下行链路CSI可以从之前的上行链路CSI推断出来,从而避免了信道估计和反馈的需要。现有的信道预测研究可以分为三种类型,即基于模型的方法、基于深度学习的方法和混合(物理信息深度学习基础)方法。对于基于模型的方法,已经研究了几个参数模型用于时序信道预测,包括自回归(AR)模型、正弦波叠加模型和多项式外推模型。在文献[13]中,提出了一种基于Prony的角-延迟域(PAD)信道预测算法,利用大规模MIMO正交频分复用(OFDM)系统中多径角度和延迟的高分辨率。此外,还设计了一个联合角-延迟-多普勒(JADD)CSI获取框架,用于利用上行链路和下行链路信道之间的部分互易性。尽管如此,基于模型的方法的有效性在很大程度上取决于理论模型的准确性,这可能难以适应实际信道的复杂多径特性。深度学习展示了其在自动适应数据分布方面的强大能力,无需事先假设。最近,几种经典神经网络已应用于信道预测任务。在文献[15]中,基于多层感知器(MLP)的信道预测方法展示了与基于向量卡尔曼滤波器(VKF)的信道预测器相当的性能。为了更好地学习时序变化,递归神经网络(RNN)和长短期记忆(LSTM)被应用于信道预测。此外,提出了一种基于transformer的并行信道预测方案,以避免顺序CSI预测过程中的错误传播。在文献[19][20]中,通过将预测过程视为图像处理,卷积神经网络(CNN)和生成对抗网络(GAN)被用于下行链路CSI预测。然而,由于缺乏对信道独特结构的考虑,上述方法在处理复杂的信道预测任务时存在困难,并表现出高复杂性。因此,一些基于物理信息的深度学习工作考虑了CSI的独特特性,被称为混合方法。例如,在文献[23]中,使用基于3D复杂CNN的预测器来捕获基于角-延迟域表示的时序和空间相关性。在文献[24]中,提出了一种基于ConvLSTM的时空神经网络(STNN),以并行处理高维时空CSI。尽管如此,混合方法的可扩展性相对较差,需要充分理解信道结构。尽管深度学习方法取得了显著进展,但仍存在一些限制其在实际场景中应用的不足之处。首先,预测能力受到网络大小的限制。现有方法难以准确建模复杂的空间、时间、频率关系,尤其是在高速场景和FDD系统中。其次,与基于模型的方法相比,基于深度学习的方法表现出较差的泛化能力,当CSI分布发生变化时需要重新训练。尽管一些研究通过元学习或超网络来提高泛化能力,但额外的适应阶段或超网络分支增加了操作复杂性。总之,现有的基于深度学习的预测模型难以满足高泛化性能和准确预测能力的要求。大型语言模型(LLMs)在自然语言处理(NLP)领域取得了巨大成功,并引领了一种新的范式,即微调在大规模数据集上预训练的模型,以进行需要少量或零标签的下游任务。这为解决现有信道预测方案的不足提供了有希望的解决方案。然而,以前的下游任务限于NLP领域。最近,一些研究提供了预训练LLM强大跨模态转移能力的初步证据。例如,在文献[28]中,在时间序列数据集上冻结微调预训练LLM,并在主要时间序列分析任务上实现了最先进的(SOTA)性能。在文献[30]中,提出了一种基于预训练LLM(TPLLM)的交通预测框架,采用低秩适应(LoRA)微调方法。尽管如此,现有的跨模态微调工作主要集中在时间或时空序列预测上,而不是信道预测任务。与时间序列预测任务不同,适应LLM进行信道预测存在一定的困难。首先,CSI是具有多径信道模型的高维结构数据,而不是简单的一维数据,这增加了处理的复杂性。此外,CSI和自然语言之间存在巨大的领域差距。此外,对于FDD信道预测任务,外推是在时域和频域同时完成的,进一步增加了难度。与专门为信道预测任务设计整个网络的现有方法不同,在本文中,我们尝试将LLM适应于多输入单输出(MISO)OFDM信道预测,以实现改进的预测能力和泛化能力。具体来说,我们基于预训练的GPT-2构建了一个信道预测神经网络,并对其进行微调,以基于历史上行CSI序列预测未来的下行CSI序列。与LLM用于时间序列预测的现有研究不同,我们充分考虑了信道的特定特性,并设计了预处理器、嵌入层和输出模块,以弥合CSI数据和LLM之间的差距。具体来说,考虑到多径效应,我们从频率域和延迟域处理CSI,以提取潜在的物理传播特征。为了充分保留预训练LLM中的通用知识,在训练期间冻结了其大部分参数。仿真评估了所提出方法在TDD和FDD信道预测任务中的性能,并证明了其在现有基线中的优越性。我们工作的主要贡献如下:

  • 我们提出了一种新的LLM-empowered信道预测方法LLM4CP,用于MISO-OFDM系统,即在信道预测数据集上微调预训练的GPT-2。据我们所知,这是首次尝试将预训练的LLM用于信道预测。
  • 鉴于信道的独特特性,我们设计了专用模块和处理,以弥合信道数据和LLM的特征空间之间的差距,从而促进跨模态知识迁移。
  • 初步结果验证了所提出方法在TDD/FDD信道预测任务中的SOTA性能。此外,它展示了出色的少样本和泛化预测性能,以及低训练和推理成本。

在这里插入图片描述
图2在文章中提供了三种不同的下行信道状态信息(CSI)获取方案的说明,分别对应时分双工(TDD)和频分双工(FDD)系统。每种方案都通过图示的方式展示了信道估计和预测的过程。下面是对每幅图的详细解释:
(a) TDD系统中的传统下行CSI获取方案:

  • 此图展示了在TDD系统中,由于信道互易性,基站可以通过对上行导频进行信道估计来获得下行CSI。
  • 包括上行导频发送、上行CSI估计、下行导频发送和下行CSI反馈这几个步骤。

(b) FDD系统中的传统下行CSI获取方案:

  • 在FDD系统中,由于上下行信道的频率不同,不存在信道互易性,因此用户设备需要独立估计下行CSI,然后将其反馈给基站。
  • 此图包括上行导频发送、上行CSI估计、下行导频发送、下行CSI估计(在用户设备上进行),以及用户设备将估计的下行CSI反馈给基站的步骤。

(c)基于信道预测的下行CSI获取方案:

  • 此图展示了一种基于信道预测的下行CSI获取方案,该方案可以应用于TDD和FDD系统。
  • 该方案避免了下行导频的开销和反馈延迟,通过基于历史上行CSI序列预测未来的下行CSI序列。
  • 包括基于历史上行CSI的信道预测和预测的下行CSI的使用,无需发送下行导频或进行CSI反馈。

在这里插入图片描述
图3在文章中提供了信道预测方案在时频域中的资源块(Resource Block, RB)和信道预测的示意图。它进一步阐释了信道预测的时频关系,具体包括以下两个部分:

(a) 资源块(RB)的示意图:

  • 此图展示了无线通信系统中资源块的基本结构。资源块是时频域中的一个单元,用于组织无线信道的传输。
  • 每个资源块包含一个导频(Pilot),用于信道估计或预测。导频是已知的信号模式,可以在接收端用于估计该资源块内的信道条件。

(b) 时频域中的信道预测方案:

  • 此图展示了基于信道预测的方案在时频域中的工作方式。图中标示了历史信道状态信息(Historical CSI)和预测信道状态信息(Future CSI)。
  • 区域A代表历史上行CSI,它是用于预测的基础数据。
  • 区域B和D分别对应于TDD和FDD模式下预测的下行CSI。在TDD模式下,由于信道互易性,可以直接利用上行CSI预测下行CSI。而在FDD模式下,由于上下行频率不同,需要通过上行CSI推断下行CSI。
  • 每个时频区域由多个资源块组成,每个资源块包含一个导频,用于信道估计或作为预测的参考。

LLM FOR CHANNEL PREDICTION(大型语言模型在信道预测中的应用)

这部分本文的核心部分,其中详细介绍了作者提出的基于预训练大型语言模型(LLM)的信道预测方法,称为LLM4CP(LLM-empowered Channel Prediction)。以下是对该部分内容的分析:

A. Preprocessor Module(预处理器模块)

  • 目的:为了降低将上行CSI数据直接应用于网络的复杂性,特别是当存在大量天线和子载波时。
  • 处理方式:并行处理各个发射天线和接收天线对的CSI数据,通过逆离散傅里叶变换(IDFT)在频率域和延迟域提供CSI的表示。
  • 数据规范化:对输入数据进行规范化处理,以便于网络训练和收敛。
  • Patching操作:在时间维度上对数据进行分块(patching),以捕获局部时间特征并减少计算复杂性。

B. Embedding Module(嵌入模块)

  • CSI Attention:设计了CSI注意力模块来分析特征,通过卷积层和SE(Squeeze-and-Excitation)模块提取和加权不同时间片段的特征。
  • 位置编码:引入非学习的位置编码来为网络提供不同位置的区分能力。

C. Backbone Network(主干网络)

  • 选择:选择GPT-2作为LLM的主干网络,它由可学习的位置嵌入层和堆叠的变换器解码器组成。
  • 训练策略:在训练过程中,冻结了多头注意力和前馈层来保留通用知识,而对加法、层归一化和位置嵌入进行微调以适应信道预测任务。

D. Output Module(输出模块)

  • 维度转换:使用全连接层(FC)将LLM的输出特征转换为最终预测结果。
  • 逆规范化:将预测的CSI数据逆规范化,以得到最终的输出。

E. Training Configuration(训练配置)

  • 损失函数:使用均方根误差(NMSE)作为损失函数,以最小化预测误差。
  • 训练和验证:在训练阶段使用最小化验证损失的模型进行测试。

训练过程

  • 描述了训练过程,包括数据预处理、嵌入、通过LLM主干网络的处理,以及最终输出的生成。

总体而言,这部分详细介绍了如何将大型语言模型适应并应用于信道预测任务,包括数据的预处理、特征提取、主干网络的微调和最终预测结果的生成。通过这种方法,作者旨在利用LLM的强大建模和泛化能力,以提高信道预测的准确性和效率。

网络架构图(Fig. 4)

  • 提供了LLM4CP网络架构的详细视图,展示了从输入的Historical CSI到预测CSI的整个流程,包括预处理器、嵌入层、LLM主干网络和输出层。
    在这里插入图片描述
    图4在文章中提供了LLM4CP(LLM-empowered Channel Prediction)网络架构的详细视图。这个图展示了从历史信道状态信息(CSI)到预测CSI的整个处理流程。以下是对图4中各个组件的解释:
  1. Preprocessor(预处理器)

    • 接收历史CSI数据。
    • 执行逆离散傅里叶变换(IDFT)来获取迟域的表示。
    • 对数据进行规范化和重排。
  2. Embedding(嵌入层)

    • 包括CSI注意力模块,用于提取和加权特征。
    • 位置编码被添加以提供位置信息。
  3. Frozen LLM(冻结的LLM)

    • 预训练的LLM(如GPT-2)作为网络的主干,用于处理嵌入后的数据。
    • 大多数预训练参数在微调过程中保持冻结状态,以保留通用知识。
  4. CSI Attention(CSI注意力)

    • 特别设计的注意力模块,用于处理CSI数据。
  5. Patching(分块)

    • 将数据分割成小块,以捕获局部特征。
  6. Norm(归一化)

    • 对数据进行归一化处理。
  7. Rearrange(重排)

    • 调整数据维度以适应后续处理。
  8. Positional Embeddings(位置嵌入)

    • 向模型提供序列中每个元素的位置信息。
  9. Backbone Network(主干网络)

    • 由多个层组成,包括多头注意力、前馈网络、加法和层归一化。
  10. Output(输出层)

    • 将LLM的输出转换为预测的CSI数据。
    • 包括全连接层(FC)和逆规范化步骤。
  11. Training(训练)

    • 展示了模型训练的配置,包括损失函数和优化器的选择。
  12. Additional Components(附加组件)

    • 如卷积层(Conv)、ReLU激活函数、全局池化(Global pooling)、Sigmoid激活函数等,用于特征提取和处理。

图4展示了数据如何在网络中流动,以及不同模块如何协同工作以实现信道预测的目标。通过这种设计,LLM4CP能够利用预训练的大型语言模型的强大能力,同时针对信道预测任务进行定制化处理。

在这里插入图片描述
图5在文章中提供了对"patching"操作的说明,这是一种在深度学习中常用的技术,用于处理序列数据。具体来说,图5展示了如何将时间序列数据分割成固定大小的块或"patches",以便网络可以更有效地处理它们。以下是对图5中描述的patching操作的详细解释:

  • Patching Operation:这是一种将长序列分割成较短序列块的方法。在信道预测的上下文中,这意味着将历史信道状态信息(CSI)序列分割成较小的部分,以便可以并行处理,这有助于捕获局部时间特征并减少计算复杂性。

  • Input Tensor:表示原始的CSI数据,通常是一个二维或三维的张量,其包含了时间序列的特征。

  • Output Patches:表示经过patching操作后得到的序列块。这些序列块是输入张量的一部分,但是被重新组织成固定大小的小块,以便于后续的网络处理。

  • Dimensionality:图5中还展示了输入和输出张量的维度变化。例如,输入可能是一个形状为 [2K, P] 的二维张量,其中 2K 表示数据的两个极化维度(如垂直和水平),P 表示时间序列的长度。经过patching操作后,这些数据被分割成 [2K, N, P'] 形状的三维张量,其中 N 是每个patch的大小,P' 是patches的数量。

  • Non-overlapping Patches:图中的patching操作是将序列数据分割成不重叠的块。这意味着每个patch都是独立的,没有与其他patches共享数据点。

  • Zero-padding:如果最后一个patch由于序列长度不是块大小的整数倍而不完全填满,会使用零填充(zero-padding)来确保所有的patches都有相同的尺寸。

图5通过视觉化的方式展示了patching操作的流程和效果,帮助读者理解如何将连续的序列数据转换为适合深度学习模型输入的格式。这种操作在处理长序列数据时非常有用,因为它可以减少计算负担,同时允许模型学习局部时间依赖性。
在这里插入图片描述
图6在文章中提供了CSI(信道状态信息)注意力模块的网络结构和维度变化的详细说明。CSI注意力模块是用于特征分析的关键组件,它有助于从处理过的CSI数据中提取重要的时频特征。以下是对图6中描述的CSI注意力模块的详细解释:

  1. 输入和输出:图6展示了CSI注意力模块的输入(Xi)和输出(Xo)。这些表示进入和离开注意力模块的数据张量。

  2. 卷积层(Conv):使用一维卷积层来提取数据中的时间特征和频率特征。这些卷积操作通常跟随着ReLU(Rectified Linear Unit)激活函数,以引入非线性并增强特征表示。

  3. 特征图(Feature Map, Xfm):通过卷积和ReLU操作得到的中间特征表示,它包含了经过初步处理的时频信息。

  4. Squeeze-and-Excitation(SE)模块:这是一个特殊设计的模块,用于加强特征的表示能力。它通过"squeeze"(全局平均池化)和"excitation"(两个全连接层和Sigmoid激活函数)来生成不同patch的权重。

  5. 全局平均池化(Global Average Pooling, XGAP):在SE模块中,首先应用全局平均池化来生成通道统计信息,这有助于捕获整体的特征趋势。

  6. 全连接层(Fully Connected, FC):SE模块中使用两个全连接层来学习不同patch之间的相互关系,并通过Sigmoid函数生成注意力权重。

  7. 注意力权重(Attention Weights, XSE):通过SE模块生成的权重张量,用于对特征图Xfm中的每个patch进行加权。

  8. 缩放特征(Scaled Features, XSca):使用注意力权重对特征图进行加权,以突出重要特征并抑制不重要的特征。

  9. 残差连接(Residual Connection):将加权后的特征与原始特征图相加,以保留所有有用的信息并促进网络训练。

  10. CSI注意力模块的堆叠(CSI Attention Module Cascaded):可以通过多次堆叠CSI注意力模块来增强特征提取的效果。

  11. 网络结构和维度变化:图6还展示了数据在通过网络时的维度变化,从输入到输出,包括通过卷积、ReLU、SE模块、全连接层和残差连接的各个步骤。

图6通过视觉化的方式展示了CSI注意力模块如何通过一系列操作来处理和提炼信道状态信息,从而为信道预测任务提供更加丰富和有区分性的特征表示。

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

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

相关文章

Map和Set及哈希--的奥秘(详解)

目录: 一 搜索树: 二. 搜索相关概念 三.Map 的说明 四. Set 的说明 五.哈希表: 一 搜索树: 1.概念: 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: (1). 若它的左子树不为空&a…

常见中间件漏洞复现之【Jboss】!

Jboss介绍 JBoss是⼀个基于J2EE的开发源代码的应⽤服务器。JBoss代码遵循LGPL许可,可以在任何商业应⽤中免费使⽤。JBoss是⼀个管理EJB的容器和服务器,⽀持EJB1.1、EJB 2.0和EJB3的规范。但JBoss核⼼服务不包括⽀持servlet/JSP的WEB容器,⼀般…

61 函数参数——可变长度参数

可变长度参数在定义函数时主要有两种形式:*parameter 和 **parameter,前者主要用来接收任意多个实参并将其放在一个元组中,后者接收类似于关键参数一样显示赋值形式的多个实参并将其放入字典中。 # 无论调用该函数时传递了多少实参&#xff…

鸿蒙Harmony开发:onFrame逐帧回调规范

通过返回应用onFrame逐帧回调的方式,让开发者在应用侧的每一帧都可以设置属性值,从而实现设置了该属性值对应组件的动画效果。 使用animator实现动画效果 使用如下步骤可以创建一个简单的animator,并且在每个帧回调中打印当前插值。 引入相…

萌新的Java入门日记18

一、mybatis范围筛选 1.第一种表示方法 <!--resultType 查出来的结果自贡每一行都要映射到该类型的对象--><select id"getStaff" resultType"com.easy.bean.Staff">select * from staff<!--根据参数不同组合出不同的SQL语句 动态SQL语句…

java之IO篇——工具包Commons-io和Hutool

前言 结束了IO篇的File、基本流和高级流。还要认识IO流的一些工具包Commons-io和hutool&#xff0c;不算是框架&#xff0c;但是非常实用。 目录 前言 一、Commons-io 1.来历及作用 2.使用 二、Hutool 1.简介 2.使用 一、Commons-io 1.来历及作用 Commons-io是apache…

C++第七篇 模板初阶和STL简介

目录 一&#xff0c;模板初阶 1.泛型编程 2.函数模板 2.1 函数模板概念 2.2 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3.类模板(模板类&#xff0c;模板函数) 3.1 类模板定义格式 二&#xff0c;STL简介 1. 什么是STL 2. ST…

【JUC】并发编程与源码分析 1-7章

1 线程基础知识复习 1把锁&#xff1a;synchronized&#xff08;后面细讲&#xff09; 2个并&#xff1a; 并发&#xff08;concurrent&#xff09;&#xff1a;是在同一实体上的多个事件&#xff0c;是在一台机器上“同时”处理多个任务&#xff0c;同一时刻&#xff0c;其…

【学习笔记】A2X通信的协议(三)- A2X PC5通信(一)

目录 6. A2X通信 6.1 A2X PC5通信 6.1.1 一般说明 6.1.2 通过NR-PC5的单播模式A2X通信 6.1.2.1 概述 6.1.2.2 A2X PC5单播链路建立程序 6.1.2.2.1 一般说明 6.1.2.2.2 发起UE启动A2X PC5单播链路建立程序 6.1.2.2.3 目标UE接受的A2X PC5单播链路建立程序 6.1.2.2.5 目…

学单片机怎么在3-5个月内找到工作?

每个初学者&#xff0c;都如履薄冰&#xff0c;10几年前&#xff0c;我自学单片机时&#xff0c;也一样。 想通过学习&#xff0c;找一份体面点的工作&#xff0c;又害怕辛辛苦苦学出来&#xff0c;找不到工作。 好在&#xff0c;当初执行力&#xff0c;还算可以&#xff0c;自…

WebLogic

二、WebLogic 2.1 后台弱口令GetShell 漏洞描述 通过弱口令进入后台界面&#xff0c;上传部署war包&#xff0c;getshell 影响范围 全版本(前提后台存在弱口令) 漏洞复现 默认账号密码:weblogic/Oracle123weblogic常用弱口令: Default Passwords | CIRT.net这里注意&am…

设计模式--结构型

类适配器 #include <queue> #include <iostream> #include <algorithm> #include <iterator>using namespace std;// 目标接口 class Target {public:virtual ~Target() {}virtual void method() 0; };// 适配者类 class Adaptee {public:void spec_…

CHIESI凯西医药:外企入职测评综合能力及性格测试SHL题库测评真题解析

CHIESI凯西医药是一家意大利国际制药集团&#xff0c;以研发为核心&#xff0c;专注于呼吸道健康、罕见疾病和专科治疗的创新治疗方案。集团总部位于意大利帕尔马市&#xff0c;拥有超过85年的历史&#xff0c;业务遍及全球31个国家和地区&#xff0c;拥有7,000多名员工。2023年…

day22(mysql数据库主从搭建)

上午&#xff1a; 1、为mysql添加开机启动chkconfig 2、编辑配置文件my.cnf 3、修改环境变量 4、mysql角色授权 角色不生效 在配置文件中不添加activate_all_roles_on_loginon glibc安装&#xff0c;my.cnf在项目目录之下 rpm安装&#xff0c;my.cnf文件在/etc/my.cnf 5、自…

函数实例讲解(五)

文章目录 提取字符串必学的函数&#xff08;LEFT、MID、RIGHT、LEN、LENB&#xff09;1、LEFT2、RIGHT3、MID4、LEN5、LENB 提取实战套路知多少1、FIND2、ISNUMBER 利用随机函数来抽奖&#xff08;RAND、RANDBETWEEN&#xff09;1、RAND2、RANDBETWEEN 排名的几种套路&#xff…

解决nacos疯狂报错“user nacos not found”

nacos疯狂报错“user nacos not found” 参考博客&#xff1a;https://blog.csdn.net/cnskylee/article/details/137640113 背景&#xff1a;项目启动后一直刷“user nacos not found”报错信息&#xff0c;但是不影响接口调用 解决&#xff1a; 1、将nacos版本切换为2.2.2&am…

ET实现游戏中聊天系统逻辑思路(服务端)

目录 一、准备工作 1.1 前言 1.2 完善聊天服务器 1.3 自定义聊天服消息 二、玩家登录聊天服 2.1 Gate网关与聊天服通讯 2.2 保存玩家实体映射实例ID 三、处理聊天逻辑 3.1 发送聊天消息的定义 3.2 定义聊天记录组件 3.3 编写发送聊天消息处理类 ET是一个游戏框架&…

Linux--shell脚本语言—/—终章

一、shell函数 1、shell函数定义格式 参数说明&#xff1a; 1、可以带function fun() 定义&#xff0c;也可以直接fun() 定义,不带任何参数。 2、参数返回&#xff0c;可以显示加&#xff1a;return 返回&#xff0c;如果不加&#xff0c;将以最后一条命令运行结果&#xff…

(20)SSM-MyBatis关系映射

MyBatis关联映射 概述 在实际开发的工程中&#xff0c;经常对出现多表操作&#xff0c;如果常见的根据某条数据的ID去检索数据&#xff08;根据用户查询订单信息&#xff09;&#xff0c;这个时候我们数据库设计的时候就需要使用外键进行关联&#xff0c;那么mybatis在操作这…

推荐4款2024年热门的win10 录屏软件。

如果只是偶尔需要简单地录制一下电脑屏幕&#xff0c;一般大家都会选免费且操作简单的软件&#xff1b;但如果是专业的视频制作&#xff0c;就需要功能强大、支持后期编辑的软件。而下面的这4款软件却能满足以上两种需求&#xff0c;并且能够兼容的系统也很多。 1、福昕专业录屏…