服务器io诊断的方法及装置的制作方法

文档序号:6379970阅读:190来源:国知局
专利名称:服务器io诊断的方法及装置的制作方法
技术领域
本发明涉及服务器技术领域,尤其涉及一种服务器10(英文全称为=Input/Output中文全称为输入/输出)诊断的方法及装置。
背景技术
服务器系统中的IO子系统包括在服务器设备中和IO有关的硬件和软件、以及与服务器设备连接的磁盘阵列等存储设备。当服务器IO性能存在问题时,现有技术提供的技术方案需要对可能影响服务器IO性能的CPU、内存、业务应用以及与服务器连接的存储设备和存储组网等因素进行分析,并逐个验证和排除每个因素的影响直至定位出现问题的IO 路径。由于逐个验证和排除每个因素需花费大量的时间,因此降低了 IO诊断效率。

发明内容
本发明的实施例提供一种服务器IO诊断的方法及装置,实现了对每个bio (英文全称为block input output,中文全称为块的输入输出)处理过程的跟踪,能够根据bio处理过程中各时间段对应的方差直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提闻了 IO诊断的效率。为达到上述目的,本发明的实施例采用如下技术方案一种服务器IO诊断的方法,包括获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段;根据所述若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差;将调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的10路径。一种服务器10诊断的装置,包括获取单元,用于获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段;计算单元,用于根据所述获取单元获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差;比较单元,用于将所述计算单元得到的调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的10路径。本发明实施例提供的服务器10诊断的方法及装置,通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并根据得到的方差数值进行比较,根据比较结果确定出现问题的10路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的10路径。这样就要花费大量的时间,因此降低了 IO诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据bio处理过程中各时间段对应的方差直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了 IO诊断的效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例I中的一种服务器IO诊断方法的流程图;图2为本发明实施例2中的一种服务器IO诊断方法的流程图;
图3为本发明实施例3中的一种服务器IO诊断方法的流程图; 图4为本发明实施例4中的一种服务器IO诊断装置的组成框图;图5为本发明实施例4中的另一种服务器IO诊断装置的组成框图;图6为本发明实施例5中的一种服务器IO诊断装置的组成框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例I本发明实施例提供了一种服务器IO诊断的方法,如图I所示,该方法包括101、获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段。值得说明的是,调度时间段是bio从IO调度层到主驱动这一流程的时间,存储设备处理时间段是bio在整个主驱动中的处理时间,回调时间段是bio从主驱动到IO调度层的流程的时间。102、根据所述若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差。103、将调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的10路径。其中,对时间段的方差进行比较,S卩比较其数值的大小,根据比较结果确定最大方差值对应的时间段所对应的10路径为出现问题的10路径。本发明实施例提供的服务器10诊断的方法,通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的10路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的10路径。这样就要花费大量的时间,因此降低了 10诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据bio处理过程中各时间段对应的方差直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提闻了 IO诊断的效率。实施例2本发明实施例提供的服务器IO诊断的方法,如图2所示,该方法包括201、获取IO调度层接收到每个bio的时间,并将所述IO调度层接收到每个bio的时间分别作为每个bio各自对应的第一时间值。其中,bio由通用块层下发给10调度层是由“SUbmit_bio”函数中规定的相关指令来实现的,值得说明的是,本发明实施例在该函数中增设打印功能,分别打印10调度层接收到每个bio的系统时间,以该时间作为第一时间值。202、获取主驱动开始处理每个bio的时间,并将所述主驱动开始处理每个bio的时间分别作为每个bio各自对应的第二时间值。值得说明的是,在本步骤中,通过“scsi_dispatch_cmd”函数中规定的相关指令将bio转化为scsi command,并将scsi command下发给主驱动。值得说明的是,本发明实施例在该函数中增设打印功能,分别打印将scsi command下发给主驱动的系统时间,并将此作为每个bio各自对应的第二时间值。203、获取主驱动处理完每个bio的时间,并将所述主驱动处理完每个bio的时间分别作为每个bio各自对应的第三时间值。值得说明的是,在本步骤中,主驱动完成bio操作后,执行“scsi_io_completion”函数的相关指令。本发明在该函数中增设打印功能,分别打印执行所述“scsi_i0_completion”函数的系统时间,作为每个bio各自对应的第三时间值。204、获取10调度层发送每个bio的时间,并将所述10调度层发送每个bio的时间分别作为每个bio各自对应的第四时间值。其中,10调度层发送bio即表示整个bio完成,在整个bio完成后,执行“bio_endio”函数。本发明在该函数中增设打印功能,分别打印执行所述“bio_endio”函数的系统时间,作为每个bio各自对应的第四时间值。205、将每个bio各自对应的第一时间值与所述第二时间值分别作相减运算,得到每个bio各自对应的调度时间段。206、将每个bio各自对应的第二时间值与所述第三时间值分别作相减运算,得到每个bio各自对应的存储设备处理时间段。207、将每个bio各自对应的第三时间值与所述第四时间值分别作相减运算,得到每个bio各自对应的回调时间段。值得说明的是,上述步骤205-207中提到的调度时间段、存储设备处理时间段、回调时间段,其各自对应的10路径与实施例I中步骤101中的相关描述相同,在此不再重复说明。208、根据所述若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差。209、比较所述调度时间段方差、存储设备处理时间段方差和回调时间段方差的大小,根据比较结果确定最大方差值。210、确定所述最大方差值对应的时间段,并确定所述最大方差值对应的时间段对应的路径为出现问题的IO路径。值得说明的是,其中时间段即为步骤208中的调度时间段、存储设备处理时间段和回调时间段。时间段是由两个时间值的差计算得来的,而时间段的具体获得在本是实施例中步骤205-207已作了相关说明,在此不再重复描述。此外,本步骤中的时间段对应的IO路径,在实施例I中的步骤101中以作了详细描述,在此不再重复说明。另外,值得说明的是,在主驱动中用户可以通过延迟接口函数设置延迟时间,从而能对正常的bio处理流程进行修改,以排除存储设备对服务器IO诊断的影响。进一步地,延迟接口函数的设置方法具体包括I.定义全局变量delay_time,该变量表示延迟时间。
2.定义接口函数,定义的内容为提供给用户的接口函数名;设置函数的名称。通过定义提供给用户设置延迟时间的接口。3.定义设置函数,设置函数把由接口函数得到的延迟时间传送给全局变量delay_time。具体地,延迟时间用于模拟实际bio经过存储设备的延迟时间。延迟函数延迟设定的延迟时间,等延迟结束后直接调用“scsi_io_completion”函数以改变bio处理流程,使bio不需要经过实际的存储设备。从而能够排除存储器对IO路径的影响。本发明实施例提供的服务器IO诊断的方法,通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的10路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的10路径。这样就要花费大量的时间,因此降低了 10诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据bio处理过程中各时间段对应的方差直接确定出现问题的10路径,不必去逐个排除影响因素,从而提闻了 10诊断的效率。实施例3本发明提供了一种服务器10诊断的方法,该方法可以用于如下实例中。本实例以获取5个bio为例介绍具体的方法流程。在本实例中第一时间值可表示为sub-time,第二时间值可表示为dis-time,第三时间值可表示为com-time,第四时间值可表示为end-time。调度时间段表示为sub-dis-time,存储设备处理时间段表示为dis—com-time,回调时间段表不为com-end-time。值得说明的是,此处只是对时间值以及时间段名称的表不方法作了改变,并无其它实际意义。此外,第一时间值、第二时间值、第三时间值、第四时间值与实施例2中步骤201-204的相关描述相同;调度时间段、存储设备处理时间段、回调时间段与实施例2中步骤205-207的相关描述相同,则在本实施例中不再重复说明。如图3所示,该方法包括301、获取5个bio各自对应的第一时间值、第二时间值、第三时间值、第四时间值。值得说明的是,本步骤的实现方法与实施例2中步骤201-204相对应,只是由实施例2中的不确定的个数转化为确定个数5,所以在此不再重复说明。此外,如下表1,本实例以四种时间的具体数值为例进行说明。表I
biolbio2bio3 bio4bio5
sub-time (μ s) 300301302303303
dis-time (μ s) 302305307310320
com-time (μ s) 402406407412422
cmd-timeU s) 410416417419430302、对步骤301中的第一时间值、第二时间值、第三时间值、第四时间值进行相减
运算。·
·
其中,该步骤相减运算与实施例2中步骤205-207相对应,具体实现方法相同,在此不再详细说明。此外,将对于步骤301提供的5个bio的具体时间值得到其相应差值,如下表表2所示表 2
biol bio2 bio3 bio4 bio5 sub-dis-time (μ s)245717
dis-com-time (μ s)100101100102102
com-end-time (μ s)8101089分别记biol_bio5 的 sub-dis-time 为 sl_s5,分别记 biol_bio5 的 dis—com-time为 dl_d5,分别记 biol_bio5 的 com-end-time 为 cl_c5。303、根据所述 5 个 bio 各自对应的 sub-dis-time、dis—com-time 和com-end-time进行计算,得到各自的方差。其中,计算方差需要先计算上述三种时间段各自对应的平均值,sub-dis-time对应的平均值记为as, dis—com-time对应的平均值记为ad, com-end-time对应的平均值记为ac。根据本实施例中步骤302得到的5个bio的三种时间段的具体值得到其对应的平均值,如下表3所示表3
as (us) 7 ad (us) 101 ac (us) 9根据平均值计算方差过程如下
调度时间段方差为1/5 [ (sl_as)2+(s2_as)2+(s3_as)2+(s4_as)2+(s5_as)2] = 27. 6 存储设备处理时间段方差为1/5 [ (dl-ad)2+ (d2_ad)2+ (d3_ad)2+ (d4_ad)2+ (d5_ad)2] = O. 8 回调时间段方差为1/5 [ (cl_ac)2+(c2_ac)2+(c 3_ac)2+(c4_ac)2+(c5_ac)2] = O. 8304、确定最大方差值。其中,最大方差值位调度时间段方差,即由上述步骤303中得到的三个方差值中27. 6最大,对应调度时间段方差。305、根据比较结果确定出现问题的IO路径为IO调度层到主驱动。
本发明实施例提供的服务器IO诊断的方法,通过计算获取5个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的IO路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的IO路径。这样就要花费大量的时间,因此降低了 IO诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据比较结果直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了 IO诊断的效率。实施例4本发明提供了一种服务器IO诊断的装置,如图4所示,该装置包括获取单元41、计算单元42、比较单元43。获取单元41,用于获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段。计算单元42,用于根据所述获取单元41获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差。比较单元43,用于将所述计算单元42得到的调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的IO路径。可选的是,如图5所示,所述获取单元41还包括获取模块411、运算模块412 ;所述比较单元43还包括比较模块431、确定模块432。获取模块411,用于获取IO调度层接收到每个bio的时间,并将所述10调度层接收到每个bio的时间分别作为每个bio各自对应的第一时间值;用于获取主驱动开始处理每个bio的时间,并将所述主驱动开始处理每个bio的时间分别作为每个bio各自对应的第二时间值;用于获取主驱动处理完每个bio的时间,并将所述主驱动处理完每个bio的时间分别作为每个bio各自对应的第三时间值;获取10调度层发送每个bio的时间,并将所述10调度层发送每个bio的时间分别作为每个bio各自对应的第四时间值。运算模块412,用于将所述获取模块411获取到的每个bio各自对应的第一时间值与所述第二时间值分别作相减运算,得到每个bio各自对应的所述调度时间段;用于将每个bio各自对应的第二时间值与所述第三时间值分别作相减运算,得到每个bio各自对应的存储设备处理时间段;还用于将每个bio各自对应的第三时间值与所述第四时间值分别作相减运算,得到每个bio各自对应的回调时间段。
比较模块431,用于比较所述调度时间段方差、存储设备处理时间段方差和回调时间段方差的大小。确定模块432,用于根据所述比较模块431得到的比较结果确定最大方差值;确定所述最大方差值对应的时间段,并确定所述最大方差值对应的时间段对应的路径为出现问题的IO路径。本发明实施例提供的服务器IO诊断的装置,通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的IO路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的IO路径。这样就要花费大量的时间,因此降低了 IO诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据比较结果直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了 IO诊断的效率。
实施例5本发明提供了一种服务器IO诊断的装置,如图6所示,该装置包括处理器01、存储器02。处理器01,用于获取IO调度层接收到每个bio的时间,并将所述IO调度层接收到每个bio的时间分别作为每个bio各自对应的第一时间值。存储器02,用于存储所述每个bio各自对应的第一时间值。处理器01,用于获取主驱动开始处理每个bio的时间,并将所述主驱动开始处理每个bio的时间分别作为每个bio各自对应的第二时间值。存储器02,用于存储所述每个bio各自对应的第二时间值。处理器01,用于获取主驱动处理完每个bio的时间,并将所述主驱动处理完每个bio的时间分别作为每个bio各自对应的第三时间值。存储器02,用于存储所述每个bio各自对应的第三时间值。处理器OI,用于获取10调度层发送每个bio的时间,并将所述10调度层发送每个bio的时间分别作为每个bio各自对应的第四时间值。存储器02,用于存储所述每个bio各自对应的第四时间值。处理器01,用于将每个bio各自对应的第一时间值与所述第二时间值分别作相减运算,得到每个bio各自对应的调度时间段。存储器02,用于存储所述每个bio各自对应的调度时间段。处理器01,用于将每个bio各自对应的第二时间值与所述第三时间值分别作相减运算,得到每个bio各自对应的存储设备处理时间段。存储器02,用于存储所述每个bio各自对应的存储设备处理时间段。处理器01,用于将每个bio各自对应的第三时间值与所述第四时间值分别作相减运算,得到每个bio各自对应的回调时间段。存储器02,用于存储所述每个bio各自对应的回调时间段。处理器01,用于根据所述若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差。
存储器02,用于存储所述调度时间段方差、存储设备处理时间段方差和回调时间
段方差。处理器01,用于比较所述调度时间段方差、存储设备处理时间段方差和回调时间段方差的大小,根据比较结果确定最大方差值。存储器02,用于存储所述最大方差值。处理器01,用于确定所述最大方差值对应的时间段,并确定所述最大方差值对应的时间段对应的路径为出现问题的IO路径。存储器02,用于存储所述出现问题的IO路径。 可选的是,处理器01,还用于设置延迟接口函数。存储器02,还用于存储所述延迟接口函数。本发明实施例提供的服务器IO诊断的装置,通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的IO路径。现有技术方案,必须逐个验证和排除CPU、内存、业务应用等每个因素的影响直至定位出现问题的IO路径。这样就要花费大量的时间,因此降低了 IO诊断效率。而本发明提供的技术方案实现了对每个bio处理过程的跟踪,能够根据比较结果直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了 IO诊断的效率。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种服务器输入/输出IO诊断的方法,其特征在于,包括 获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段; 根据所述若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差; 将调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的IO路径。
2.根据权利要求I所述的服务器IO诊断的方法,其特征在于,所述获取若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段,具体包括 获取IO调度层接收到每个bio的时间,并将所述IO调度层接收到每个bio的时间分别作为每个bio各自对应的第一时间值; 获取主驱动开始处理每个bio的时间,并将所述主驱动开始处理每个bio的时间分别作为每个bio各自对应的第二时间值; 获取主驱动处理完每个bio的时间,并将所述主驱动处理完每个bio的时间分别作为每个bio各自对应的第三时间值; 获取10调度层发送每个bio的时间,并将所述10调度层发送每个bio的时间分别作为每个bio各自对应的第四时间值; 将每个bio各自对应的第一时间值与所述第二时间值分别作相减运算,得到每个bio各自对应的调度时间段; 将每个bio各自对应的第二时间值与所述第三时间值分别作相减运算,得到每个bio各自对应的存储设备处理时间段; 将每个bio各自对应的第三时间值与所述第四时间值分别作相减运算,得到每个bio各自对应的回调时间段。
3.根据权利要求I所述的服务器10诊断的方法,其特征在于,所述将调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的10路径,具体包括 比较所述调度时间段方差、存储设备处理时间段方差和回调时间段方差的大小,根据比较结果确定最大方差值; 确定所述最大方差值对应的时间段,并确定所述最大方差值对应的时间段对应的路径为出现问题的10路径。
4.一种服务器10诊断的装置,其特征在于,包括 获取单元,用于获取若干个块的输入输出bio各自对应的调度时间段、存储设备处理时间段和回调时间段; 计算单元,用于根据所述获取单元获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段进行计算,得到调度时间段方差、存储设备处理时间段方差和回调时间段方差; 比较单元,用于将所述计算单元得到的调度时间段方差、存储设备处理时间段方差和回调时间段方差进行比较,根据比较结果确定出现问题的10路径。
5.根据权利要求4所述的装置,其特征在于,所述获取单元包括获取模块,用于获取IO调度层接收到每个bio的时间,并将所述IO调度层接收到每个bio的时间分别作为每个bio各自对应的第一时间值;用于获取主驱动开始处理每个bio的时间,并将所述主驱动开始处理每个bio的时间分别作为每个bio各自对应的第二时间值;用于获取主驱动处理完每个bio的时间,并将所述主驱动处理完每个bio的时间分别作为每个bio各自对应的第三时间值;获取IO调度层发送每个bio的时间,并将所述IO调度层发送每个bio的时间分别作为每个bio各自对应的第四时间值; 运算模块,用于将所述获取模块获取到的每个bio各自对应的第一时间值与所述第二时间值分别作相减运算,得到每个bio各自对应的所述调度时间段;用于将每个bio各自对应的第二时间值与所述第三时间值分别作相减运算,得到每个bio各自对应的存储设备处理时间段;还用于将每个bio各自对应的第三时间值与所述第四时间值分别作相减运算,得到每个bio各自对应的回调时间段。
6.根据权利要求4所述的服务器IO诊断的装置,其特征在于,所述比较单元包括 比较模块,用于比较所述调度时间段方差、存储设备处理时间段方差和回调时间段方差的大小; 确定模块,用于根据所述比较模块得到的比较结果确定最大方差值;确定所述最大方差值对应的时间段,并确定所述最大方差值对应的时间段对应的路径为出现问题的10路径。
全文摘要
本发明公开了一种服务器IO诊断的方法及装置,涉及服务器技术领域,实现了对每个bio处理过程的跟踪,能够根据比较结果直接确定出现问题的IO路径,不必去逐个排除影响因素,从而提高了IO诊断的效率。本发明的具体实施例包括通过计算获取的若干个bio各自对应的调度时间段、存储设备处理时间段和回调时间段的方差;并得到的方差数值进行比较,根据比较结果确定出现问题的IO路径。本发明主要应用于服务器IO诊断流程中。
文档编号G06F11/26GK102945196SQ201210422249
公开日2013年2月27日 申请日期2012年10月29日 优先权日2012年10月29日
发明者钱天进, 晏臣 申请人:杭州华为数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1