Graph Convolutional Network-Based Method for Fault Diagnosis Using a Hybrid of Measurement and Prior

Graph Convolutional Network-Based Method for Fault Diagnosis Using a Hybrid of Measurement and Prior Knowledge基于图卷积网络的测量与先验知识混合故障诊断方法

Abstract

Deep-neural network-based fault diagnosis methods have been widely used according to the state of the art. However, a few of them consider the prior knowledge of the system of interest, which is beneficial for fault diagnosis. To this end, a new fault diagnosis method based on the graph convolutional network (GCN) using a hybrid of the available measurement and the prior knowledge is proposed. Specifically, this method first uses the structural analysis (SA) method to prediagnose the fault and then converts the prediagnosis results into the association graph. Then, the graph and measurements are sent into the GCN model, in which a weight coefficient is introduced to adjust the influence of measurements and the prior knowledge. In this method, the graph structure of GCN is used as a joint point to connect SA based on the model and GCN based on data. In order to verify the effectiveness of the proposed method, an experiment is carried out. The results show that the proposed method, which combines the advantages of both SA and GCN, has better diagnosis results than the existing methods based on common evaluation indicators.

基于深度神经网络的故障诊断方法已经得到了广泛的应用。然而,它们很少考虑感兴趣系统的先验知识,这有利于故障诊断。为此,提出了一种基于图卷积网络(GCN)的故障诊断方法,该方法将现有测量值与先验知识相结合

具体来说,该方法首先使用结构分析(SA)方法对故障进行预诊断,然后将预诊断结果转化为关联图

然后,将图和测量值发送到GCN模型中,在GCN模型中引入权重系数来调节测量值和先验知识的影响

该方法以GCN的图结构作为连接点,将基于模型的SA与基于数据的GCN连接起来

为了验证该方法的有效性,进行了实验。结果表明,该方法结合了SA和GCN两种方法的优点,与现有基于常用评价指标的方法相比,具有更好的诊断效果。

1INTRODUCTION

在现代工业系统中,随着使用时间的增长,不同的电气或机械部件都容易出现故障。如果不能及时发现和维护这些故障,很可能会降低系统的性能,甚至造成更严重的后果 [1]-[3]。因此,故障诊断一直是现代工业研究中的一个关键问题[4]。在各种故障诊断方法中,基于模型的方法可以认为是应用最广泛的故障诊断技术[5]-[9]
例如,在[5]中,提出了两种新的故障检测分离原则,并将其应用于元飞机构型。从基于模型的角度研究了一类输入未知的切换非线性系统的故障检测问题,在T-S模糊框架中提出了一种基于未知输入观测器设计方法的故障检测新方案[6]。
文献[7]介绍了常用的基于模型的故障诊断方法,并进行了实验指导。此外,[8]采用在线关联图方法验证残差的白度特性,以区分异常操作和正常操作。一般来说,这些方法的基本思想是基于先验知识构建一个近似的物理模型或状态观测器[9]。
近年来,随着计算机处理速度的飞速发展和相关理论的完善,神经网络的研究取得了巨大的进展,特别是在深度学习领域。已经提出了大量的深度学习模型[10]-[12],这些模型可以成功地应用于语音识别[13]、图像处理[14]和数据建模等应用中。

例如,开发了一种混合变权可堆叠自动编码器来提取更多有用的特征[15]。
在这些成果的启发下,人们开始探索深度学习方法用于故障诊断。
例如,文献[16]对牵引系统数据驱动故障检测与诊断(FDD)方法进行了综述和分类。
文献[17]利用卷积神经网络(CNN)提取不同频率的信号特征,然后利用长短期记忆(LSTM)模型实现故障诊断方法。
文献[18]提出了一种改进的非优势排序遗传方法(NSGA-II),成功实现了对机器健康水平的评估。
[19]提出了一种扩展深度信念网络(EDBN)来充分利用数据,并基于EDBN构建了动态故障分类器来实现故障诊断。
在[20]中,引入了一种直接对图进行操作的特殊CNN,它允许对特征管道进行端到端学习。

图卷积网络(GCN)作为神经网络的一种,通过引入关联图来获取数据之间的关系,从而加快训练速度,提高模型性能。
GCN的理论基础最早由Scarselli等人提出[21]。随后,Bruna等[22]和Defferrard等[23]分别对网络构建模式进行了一系列改进。
接下来,将图数据结构中节点的半监督学习分类思想[24]引入到图卷积网络的构建中。
仅使用浅层GCN模型即可得到模型,该模型并不弱于当时最新的半监督学习模型[25]。

由于GCN在数据分析上的巨大优势,一些研究者开始将GCN方法引入到故障诊断领域。

文献[26]采用GCN框架实现配电网故障定位,具有较好的鲁棒性。
在[27]中,应用深度GCN (DGCN)对滚子轴承进行基于声学的故障诊断。

[26] K. Chen, J. Hu, Y. Zhang, Z. Yu, and J. He, “Fault location in power distribution systems via deep graph convolutional networks,” IEEE J. Sel. Areas Commun., vol. 38, no. 1, pp. 119–131, Jan. 2020.
[27] D. Zhang, E. Stewart, M. Entezami, C. Roberts, and E. Stewart, “Intelligent acoustic-based fault diagnosis of roller bearings using a
deep graph convolutional network,” Measurement, vol. 156, May 2020, Art. no. 107585.

然而,基于遗传神经网络的故障诊断方法也存在局限性。
(1)该方法首先提取所有数据的特征,然后根据特征之间的相似度确定数据关联图。实际上,通过这种方式得到的关联图并不能保证准确性,这必然会对网络的训练产生负面影响。
(2)本质上,该方法仍然严重依赖于标记数据集。一旦标记的数据集不足,将极大地影响网络的准确性。在实践中,通常收集有标记的数据耗时费力,而未标记的数据则非常丰富[28]。为此,提出了一种基于结构分析的GCN故障诊断方法(GCN- sa)来解决故障诊断的局限性。

该方法综合了观测数据和感兴趣系统的先验知识。
首先采用结构分析(SA)方法对故障进行提前诊断,然后构造GCN所需的关联图;
然后,将权重系数引入到GCN的构建中,调整数据和先验知识的影响权重;
最后,利用改进的GCN实现故障诊断。

为了验证GCN-SA方法的有效性,将该方法与现有的各种故障诊断方法进行了比较,结果表明,该方法具有最佳的诊断精度。

本文的其余部分安排如下。
第二节概述了GCN的基础知识。第三部分介绍了GCN-SA方法和故障诊断过程,并指出了该方法的优点。在第四节中,通过实验验证了所提出方法的有效性和优越性。第五部分是本文的结论和对未来工作的展望。

2 PRELIMINARY

A. Graph Convolution Network

GCN的本质是:将获取的输入数据集中各度量的关联图视为先验知识,其目的是提高模型性能或减少训练时间消耗[29]。
常见的GCNs可分为两类,即:1)基于空间域的GCN[22]和2)基于谱域的GCN[25]。

基于空间域的方法在实践中效果不佳,缺乏相应的数学解释[30],因此本文采用基于频谱域的GCN方法,
主要包括两个步骤:1)关联图的构建和2)GCN的传输。

1)关联图的构造:
考虑数据集在这里插入图片描述它包含n个测量值,每个测量值是一个长度为m的时间序列。设数据集在这里插入图片描述的关联图为在这里插入图片描述,其中在这里插入图片描述每个节点表示数据集中的一个测量值在这里插入图片描述在这里插入图片描述, A为关联图G的邻接矩阵,表示节点间的连接信息。矩阵中的元素只包含0和1,分别表示为

在这里插入图片描述
在关联图G中,两个连接节点之间的关系质量直接影响GCN的模型性能。
当GCN应用于传统领域时,在收集数据集的同时可以很容易地获得G(例如在[25]的空手道俱乐部实验中,其关联图G反映了俱乐部成员之间的人际关系)。
在收集俱乐部会员数据时,很容易通过访谈或问卷调查获得俱乐部会员的人际网络。
在故障诊断领域,测量值之间的关系通常是根据它们之间的相似度来确定的(如余弦相似度或欧几里得距离)。
一种常见的方法是提取这些测量的特征,计算特征之间的相似度,然后设置相应的阈值,这意味着两个测量之间的关联的相似度高于阈值。

2) GCN正向传播:
在这里插入图片描述

考虑一个卷积运算在这里插入图片描述,其中在这里插入图片描述表示包含n个数据的数据集,在这里插入图片描述表示神经网络中可训练的参数。根据傅里叶变换,f和x可以变换到频域[24]在这里插入图片描述
在这里插入图片描述

式中在这里插入图片描述是傅里叶变换的基,一般采用三角函数基。

在这里插入图片描述

在GCN方法中,为了将关联图引入到神经网络中,使用了一种特殊的基。

其构造方法如下::首先根据关联图G构造相应的拉普拉斯矩阵在这里插入图片描述
其中A由式(1)求得,在这里插入图片描述为维数为在这里插入图片描述的单位对角矩阵D为对角上值为在这里插入图片描述的对角矩阵,一般称为度矩阵
然后,对在这里插入图片描述进行特征值分解,得到傅里叶变换中的基在这里插入图片描述
在这里插入图片描述是由拉普拉斯矩阵L的所有特征向量组成的矩阵在这里插入图片描述是由L的所有特征值组成的特征值矩阵

因此,GCN的先验知识关联图G以矩阵U
的形式嵌入到网络的前向传播中,其向量相互正交,满足傅里叶变换基的基本数学要求,这就是为什么在GCN的前向传播中使用矩阵U而不是矩阵l的原因
根据卷积定理,结合(2)(3),可以得到
在这里插入图片描述
其中在这里插入图片描述在这里插入图片描述在这里插入图片描述是是Hadamard积

解释一下: 在这里插入图片描述
在这里插入图片描述

在[24]中,设gθ为包含切比雪夫多项式在这里插入图片描述的形式,即在这里插入图片描述,其中在这里插入图片描述在这里插入图片描述在这里插入图片描述这样,可以得到如下推导

在这里插入图片描述
进一步设在这里插入图片描述在这里插入图片描述,根据切比雪夫多项式的特殊值在这里插入图片描述在这里插入图片描述,式(4)可化简为在这里插入图片描述
然后,设在这里插入图片描述,得到卷积运算的单参数公式在这里插入图片描述。最后,x是扩展到一个数据集在这里插入图片描述n的测量长度m组成的。然后利用归一化操作防止网络传播过程中梯度消失或爆炸,得到标准GCN的正向传输公式在这里插入图片描述
在这里插入图片描述s是一个激活函数,通常可以采取Relu函数,在这里插入图片描述是网络的参数矩阵,d表示单层神经网络输出值的维数,可由用户自由设置。

B. Main Steps of Fault Diagnosis Based on GCN

目前,基于GCN的传统故障诊断流程如图1所示
在这里插入图片描述

传统的基于遗传神经网络的方法的输入只是原始数据,不包括感兴趣系统的任何先验知识
因此,它是一种纯粹的基于数据的故障诊断方法。

在图1中,数据集中测量值的特征包括各种时频特征,通过特征的相似度可以确定每个测量值的相似度指数,此外,如果两个测量值中的任何一个足够相似(相似度指数大于预设阈值),则它们在图中相互连接。这样就可以确定数据集的关联图。

III. GCN-SA METHOD

A. Method Framework

1) Overall Framework of the Proposed Method:

基于GCN-SA的整个故障诊断框架如图2所示。

在这里插入图片描述
假设故障类型总数为在这里插入图片描述,将传感器采样的原始时间序列波形在这里插入图片描述用滑动窗口法进行切片,则数据集在这里插入图片描述在这里插入图片描述得到由n个滑动窗测量值组成的
然后将数据集X中的测量值导入到SA模型中,得到预诊断结果在这里插入图片描述,可获得整个数据集X的关联图G;
然后,在已有关联图G的基础上构建GCN结构在这里插入图片描述;然后将X的标记部分组成训练集来训练GCN,所有的测量值都可以输入到数据集中给训练好的GCN。
最后得到故障诊断结果。下面给出了框架的每个步骤的详细描述。

2) Sliding-Window Method:

滑动窗口法是一种常用的数据处理方法,它可以将一个长波形测量结果分割成多个较短的波形数据。
本文采用滑动窗口法对原始时间序列波形数据在这里插入图片描述进行分割,在这里插入图片描述
表示有在这里插入图片描述个测量值,每次测量值有在这里插入图片描述个变量,每个变量为一个长度为在这里插入图片描述的波形。这n≥个测量值可以代表M种类型的故障。通过设置步长l和窗口长度m,数据集在这里插入图片描述,其中在这里插入图片描述floor(·)算子表示四舍五入。

3)利用SA方法对数据集中的故障进行预诊断:

SA 方法是近年来提出的一种基于模型的故障诊断方法。
它可以通过一系列编程步骤完成相关系统的故障诊断。
它以相关系统的已知数学模型作为先验知识,可以方便快捷地实现故障诊断[31]-[33]
根据 SA 方法的这些优点,本文采用 SA 方法对数据集中的故障进行预诊断
具体诊断过程可分为以下几个步骤。

S1 (Fault System Structure Analysis of the Fault System Structure):

基于已有的感兴趣系统的拟合模型,列出所有方程,将方程组中的变量分为未知变量、故障变量和已知变量
然后,构建系统的结构模型图(结构表征图),以反映方程组中变量与方程之间的关系

S2 (Fault Analysis):

通过Dulmage-Mendelsohn (DM)分解和FI矩阵分析故障可检测性(FD)和故障隔离性(FI)
DM分解是一种类似于上三角形式的系数矩阵重新排列的运算工具
它可以将原系统的结构模型图分解为三种类型的区域。各区域的定义如下:

(1)结构待定部分M−,其特征是未知变量的数量大于方程的数量。
(2)正定部分在这里插入图片描述,其特征是未知变量的数量等于方程的数量。

(3)结构超定部分在这里插入图片描述,其特征是未知变量的数量小于方程的数量。

SA方法关注的是结构的超定部分
方程的数量大于未知变量的数量意味着结构中存在解析冗余关系
因此,如果方程中的所有故障都在结构的过定部分,则可以检测到所有故障;
相反,如果在正定部分或欠定部分存在故障,则无法检测到故障
此时,必须更改结构表征图。
通常的方法是通过增加传感器的数量来获取更多的系统信息,从而产生新的冗余关系,使所有故障都出现在超定部分

系统的隔离分析必须在可检测性分析之后进行。所谓隔离性,是指系统在发生故障时,将该故障与其他故障区分开来的能力。

在系统模型M中,如果故障在这里插入图片描述在这里插入图片描述满足以下关系,则可以将在这里插入图片描述在这里插入图片描述相互隔离:

在这里插入图片描述
式中,在这里插入图片描述分别为含有故障在这里插入图片描述在这里插入图片描述在这里插入图片描述为消除方程在这里插入图片描述后的结构过定部分。

S3 (Construct残差):

在所有故障都能被完全检测和隔离的基础上,生成多个残差进行故障诊断。
残差的含义是残差中包含故障变量,当故障变量的值为0时,残差值相应为0
因此,在实际诊断过程中,在无故障时(此时故障变量值为0)残差值将接近于0(考虑噪声干扰)
在故障条件下(故障变量值不为0)残差绝对值最大

S4:确定故障诊断策略。

每个残差设置相应的阈值如果实际诊断中残差值超过阈值,则认为出现异常情况,综合考虑各残差的异常情况确定故障诊断规则表

S5:

将滑动窗法获得的所有测量值在这里插入图片描述依次用于SA方法的故障诊断,并分别计算S3中构造的残差。然后将所有残差与相应的阈值进行比较,得到诊断结果集在这里插入图片描述根据故障诊断规则表得到。
每个诊断结果都以一个热向量的形式写入,即 在这里插入图片描述
,且 i∈ {1, 2,..., n}

4)基于SA的关联图构建:

关联图可以理解为GCN对感兴趣系统的先验知识,其质量对GCN的模型性能有非常重要的影响

传统的基于遗传神经网络的故障诊断方法在构建关联图时不能保证其准确性,这将在III-B节的第三部分进行详细描述。
在本文中,我们使用预诊断结果在这里插入图片描述,由SA得到的pn构造关联图。

需要注意的是,模型的先验知识是否正确,极大地影响了基于sa的故障诊断方法的准确性。

模型的先验知识不是完全正确的,所以对应的p不是完全正确的

因此,在GCN- SA方法中,p仅用于构建关联图G,而不作为标签集参与后续GCN模型的训练。

根据预诊断结果在这里插入图片描述,确定关联图在这里插入图片描述。V表示图的“顶点”,在这里插入图片描述表示数据集中所有的测量值。A为邻接矩阵,反映节点间的连接,即图的“边”,在这里插入图片描述。根据G的结构,所有被SA划分为同一故障类型的测量值在图中是相互连接的,所有被划分为不同故障类型的测量值之间没有连接。
因此,G实际上是一个由M块组成的图,M表示故障类型的数量
图3是一个关联图的例子,其中G被分成四个部分(M = 4)

在这里插入图片描述

5)构造加权GCN结构

根据得到的关联图G,构造了一个基于特殊域的GCN模型
神经网络的输入数据集应为数据集X,该数据集通过滑动窗口方法进行处理

在传统GCN中,单层GCN的正向传输公式为[25]

在这里插入图片描述
其中,通过关联图G的邻接矩阵在这里插入图片描述单位矩阵相加直接得到在这里插入图片描述

在这里插入图片描述
A由式(1)得,在这里插入图片描述,让在这里插入图片描述在这里插入图片描述,然后我们得到
在这里插入图片描述

由公式可知,通过对输入数据集X进行线性变换在这里插入图片描述,可以得到GCN的数据集在这里插入图片描述在这里插入图片描述会受到与它相连的测量(由邻接矩阵A引起)和它本身(由单位矩阵In引起)的影响,两者的影响是相同的。

然而,关联图G本身,可以看作是模型的先验知识,并不完全准确。

可以预见,当训练集的规模较小时,关联图对网络准确率的提高贡献较大,而训练集的贡献较小;
当训练集的规模足够大时,不完全先验知识对网络推广的贡献不大,而足够训练集的贡献更大

因此,在方法中加入权系数在这里插入图片描述,将(9)变为

在这里插入图片描述

其中,在这里插入图片描述是与训练集规模正相关的系数,可以设为在这里插入图片描述在这里插入图片描述为增益因子,在这里插入图片描述为训练集规模占总数据集规模的比例,例如,当总数据集规模为10000,训练集规模为在这里插入图片描述,由于r的变化范围不够大在这里插入图片描述,所以引入指数函数和增益因子k来增加θ的变化范围。简而言之,在这里插入图片描述可以理解为调整先验知识(通过A影响网络训练)和训练集(通过In影响网络训练)影响的权重值。

接下来,在GCN层之后添加两个1-D卷积(Conv1D)层,用于特征提取最后,增加两个完全连接层和一个softmax层,以保证GCN-SA神经网络模型的输出为一个热向量[34],即

在这里插入图片描述

6) GCN-SA Training Model:

本文将分类思想用于故障诊断,并以交叉熵损失函数作为神经网络的优化目标
在实际应用中,随着信息和存储技术的发展,利用传感器记录大量的测量数据变得非常容易;相应地,人工标记这些测量值是费时费力的。
因此,故障诊断中可以收集到的数据集往往是由大量未标记的测量值和一小部分标记的测量值组成的[35],[36]

为了适应这种情况,本方法使用的数据集 在这里插入图片描述 中只有一小部分有相应的标签,可以形成训练集 在这里插入图片描述和相应的标签集 L = {L1, L2,..., Ln1};另一部分测量没有相应的标签,形成测试集在这里插入图片描述

在训练过程中,神经网络将根据关联图G获得数据集X中所有测量值的关联关系,并将整个数据集X输入到神经网络中

这样,在图G的帮助下,提出的方法实际上使用了整个数据集,这是一种半监督学习方法

然后,由于GCN模型接收了整个数据集中的所有测量值,因此它将对所有测量值进行预测,得到在这里插入图片描述根据(12)。
在构造损失函数时,只累积训练集的交叉熵损失函数。
由于关联图G反映了整个数据集的关系,所以测试集也参与了训练。
但是对于GCN模型,测试集的标签是不可见的,所以不会累积测试集的交叉熵损失函数。
因此,总损失函数可得为
在这里插入图片描述
其中n1表示训练集的大小,M为故障类型的个数,Z由式(12)得到。

整个GCN-SA的网络层参数可以通过反向传播算法进行迭代优化[37],最后通过更新参数使损失函数最小化

所提方法的实现算法如表1和表2所示。
在这里插入图片描述
在这里插入图片描述

B. GCN-SA法的优点

GCN-SA是对传统的基于gcn的故障诊断方法的改进。
将基于模型的故障诊断方法(SA方法)与基于数据的故障诊断方法(gcn方法)相结合,将感兴趣系统的先验知识信息与标记的训练集信息相结合,消除了两种方法的一些局限性,得到了优于两种基本方法的实验结果

1) GCN-SA方法与基于模型的故障诊断方法的比较:
基于模型的故障诊断方法的准确性很大程度上取决于模型的先验知识是否正确。
在GCNSA方法中,将基于模型方法的诊断结果转化为关联图,并引入GCN中,指导GCN训练
由于GCN本身可以从关联图(先验知识)和训练集中获取信息,因此理论上,即使GCN-SA方法不学习训练集中的任何知识,也可以获得精度不低于SA方法的神经网络。

2) GCN- sa方法与GCN方法的比较:传统GCN框架存在几个缺点。

浅层GCN网络不能大规模地传播标签信息(层次越浅,节点的接受域越小)。在[23]中,作者构造的图卷积神经网络的正向传递公式为在这里插入图片描述K反映单层神经网络的感受野值。一般情况下,为了减少网络参数的数量,K小于5,会使接受野变小。在[24]中,K = 2,表示该节点仅与该节点本身及其直连节点相关。因此,在这种情况下,浅层GCN不可能将标记节点中的信息辐射到远处的节点[38]。

2)深度GCN网络可能导致过平滑问题。

可以通过建立多层图CNN来增加接收野的大小。
然而,这种方法的缺点是数据集中的所有测量值在前向传输过程中会变得高度相似
这种方法训练出的 GCN 输出对于不同的输入数据差别不大,从而大大降低了分类精度[23]。

GCN-SA可以极大地缓解以上两个缺点。
该方法的关联图来源于预诊断结果p = {p1, p2,…, pn},由SA方法提供。从第III-A4节可以看出,本方法中的关联图是由M个不连通的块(M为故障类型的个数)组成的图,任意块中的所有节点都是相互完全连通的,这保证了即使设置浅GCN且接收域很小(例如设K = 2), GCN也能获得关联图提供的所有信息。

此外,由于浅层图卷积网络足以获得关联图的全部信息,因此只需要建立一到两层图卷积网络,其他层仍然使用传统的神经网络框架,可以极大地消除过平滑带来的问题。

3) GCN-SA方法与基于gcn的故障诊断方法的比较:

在传统的基于gcn的故障诊断方法中,根据每个测量值的相似程度确定两个测量值之间的关联关系,但这种方法获得的关联关系并不总是保证准确。流形学习中一个常见的例子如图4所示,其中节点A和B似乎距离非常近,这很容易被传统的基于gcn的故障诊断方法视为一种关联关系。然而,他们确实相距很远,几乎没有联系。
在这里插入图片描述

此外,传统的基于gcn的方法中的关联图本质上是由数据集中的测量值导出的
与普通神经网络相比,它不获取除输入数据集以外的任何信息
在GCN-SA方法中,SA方法用于确定数据之间的关联关系
由于SA方法使用了先验知识,因此可以在很大程度上保证生成的关联关系的准确性。
另一方面,由于引入了SA方法,所提出的方法不仅获得了输入数据集中包含的信息,而且利用了SA方法中包含的关于模型的先验知识,因此可以获得更好的结果

GCN-SA故障诊断流程如图5所示。值得指出的是,实际工业系统的先验知识可以通过查阅感兴趣系统的仪器说明书来获得

在这里插入图片描述
GCN-SA故障诊断流程。(与图1和图5相比,传统的基于gcn的故障诊断方法属于纯基于数据的故障诊断方法,其全部信息源仅为原始故障数据波形。另一方面,GCN-SA方法全面接受感兴趣系统的故障波形数据和大量先验知识

4) 引入权重系数θ:

引入系数 θ 是为了自适应地调整先验知识对图卷积网络训练的影响
当训练集的规模较小时,它侧重于从先验知识中获取信息,而当训练集的规模足够大时,它侧重于从训练集本身获取信息,这样得到的拉普拉斯矩阵可以更好地指导神经网络的训练,并在一定程度上提高网络在测试集中的准确率。

四、实验研究

为了验证GCN-SA方法的有效性,本部分进行了实验研究
实验由两部分组成。
第一部分通过与其他故障诊断方法的比较,验证了GCN-SA方法的有效性
第二部分验证了权系数θ对方法精度的积极影响

A. Data Description

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值