用于智能插件管理的计算机可读介质、计算装置及方法与流程

文档序号:12863741阅读:187来源:国知局
本发明涉及管理服务器节点,特别涉及使用智能插件(smartplug)的装置与服务器节点通信的非临时性计算机可读介质、计算装置及方法。
背景技术
::在服务器节点的远端管理中,由于在典型的机架(rack)系统上存在大量的服务器节点,故可能无法轻易直接定位并存取在机架系统中的服务器节点。因此,在一些机架系统中,可配置管理背板以定位在机架系统中的服务器节点。管理背板是为将服务器节点与管理节点相连接的典型印刷电路板(printedcircuitboard,pcb)。通常,管理背板给机架系统增加了一层复杂度,从而增加维护机架系统的财力和人力成本。技术实现要素:为了提供对本发明的基本了解,下方提出一或多个实施例的简单概要。此概要并非本发明技术的所有拟定实施例的广泛综述,并且不旨在标识所有示例的关键或重要元件,也非描写本发明技术的任意或所有态样的范围。此概要唯一目的在于以简化的形式提出一个或多个示例的一些概念,以作为本发明后方提出的更加详细的描述的序言。根据本文所述示例的一或多个态样,提供一种用于管理机架系统中的服务器节点的计算装置、非临时性计算机可读介质、系统及方法。计算装置可包含管理节点以及多个计算节点,其中管理节点以及多个计算节点各具有连接端口(port)以及与连接端口进行带外(out-of-band)通信的本地地址。计算装置可还包含通信总线以及多个智能插件,其中多个智能插件可将管理节点和/或多个计算节点与通信总线耦接。多个智能插件的每一个可具有在通信总线上的唯一地址,并可配置以通过通信总线接收请求讯息、判断请求讯息是否定址成唯一地址,以及(响应于判断讯息是否定址成唯一地址)利用本地地址以将请求讯息格式化成与连接端口相容。智能插件可配置以接收来自管理节点的节点信息请求,并比对节点信息请求以及与智能插件连接的计算节点,若发现匹配的计算节点时,利用用于个别计算节点的本地地址,以传输节点信息请求至匹配的计算节点的连接端口。此外,智能插件可配置以利用本地地址以将请求讯息格式化成与usb连接端口相容。在一些实施例中,多个智能插件中的其中一个可为具有预先配置的唯一i2c从属地址的usb-i2c转换器。智能插件更进一步配置以利用本地地址以将请求讯息格式化成与i2c连接端口相容。此外,智能插件可具有将唯一地址转换成与多个计算节点的每一个相对的控制器地址的复杂可编程逻辑装置(complexprogrammablelogicdevice,cpld)。举例来说,与多个计算节点的每一个相对的控制器可为基板管理控制器(baseboardmanagementcontroller,bmc)。计算装置可包含为i2c总线的通信电缆(communicationcable)。计算装置可包含配置以检测多个计算节点的每一个至管理节点的目前连接状态的智能插件。计算装置可包含智能插件,其配置以响应于接收请求讯息而接收来自连接端口的回应讯息、将回应讯息格式化成与管理节点相容并传输回应讯息至管理节点。附图说明根据本公开的各种实施例将参照图式进行描述,其中:图1是绘示传统管理背板机架系统配置的例示性实施例的方块图;图2是绘示智能插件机架管理系统配置的例示性实施例的方块图;图3是绘示智能插件配置的例示性实施例的方块图;图4是绘示智能插件配置的例示性实施例的方块图;图5是绘示与在机架系统的服务器节点通信的例示性方法的流程图;以及图6是绘示例示性计算系统的方块图。【符号说明】100、200、300、400:方块图103-110、203-210、301、306、311、401、407、413:服务器节点102、202:管理节点111-118、302、307、312、402、408、414:控制器119、219:机架系统120-122:背板211-218、231:连接器221-228、304、309、314、406、412、417:智能插件230:机架管理电缆303、308、313、403、409、415:连接端口305、310、315:usb-i2c转换器316、317、318:usb连接器319、419:i2c总线123:管理总线404、410、416:i2c插件405、411、418:复杂可编程逻辑装置500:流程图510、520、530、540、550:步骤602:处理器604:输入装置606:显示装置608:网络接口610:计算机可读介质612:总线614:操作系统616:网络通信618:图形处理系统620:应用程序622:系统控制器具体实施方式本发明技术所公开的各种态样将参照附图进行描述。针对解释的目的,下述许多具体细节被说明以提供彻底地了解本发明的一个或多个态样。然而,显然地,本发明技术可在没有这些具体细节的情况下实现。在其它实施例中,公众所知悉的结构及装置以方块图呈现,藉以辅助说明这些态样。本文所使用的词语“例示性”是意指“用作为例子(example)、示例(instance)或说明(illustration)”。本文所述作为“例示性”的任意实施例并不一定要被理解为较佳的或优于其它实施例。首先,请参考本发明的图1,其绘示在机架系统中传统管理背板定位服务器节点的例示性实施例的方块图100。如方块图100所示,提供一种机架系统119,其为支撑元件的组件用以使个别的服务器节点安装至机架系统上,且提供多个服务器节点以及管理节点之间的结构关系。如图1所示,传统背板机架系统119可包含多个服务器节点103至110、在各服务器节点103至110内的控制器111至118、通过管理背板120至122与多个服务器节点103至110连接的管理节点(例如管理控制器)102以及将管理背板120至122与管理控制器102连接的管理总线123。各服务器节点103至110可包含控制器111至118以与管理背板120至122进行通信,以将数据传输于节点(例如管理控制器)之间。控制器111至118可服务或管理用于独立地操作cpu以支持用于服务器的管理任务的处理器(例如基板管理处理器(baseboardmanagementprocessor,bmc))。举例来说,控制器可为配置以提供带外管理(out-of-band)/监督的基板管理控制器(bmc)。在一些配置中,管理控制器(管理节点102)可包含机架管理控制器(rackmanagementcontroller,rmc)或架顶式网络(top-of-rack,tor)交换机的管理模块。管理节点102可定址在机架系统的各服务器节点的节点位置。当管理节点102必须从服务器节点提取一些信息或以请求信息辨识服务器节点时,管理节点102可传送请求讯息(例如i2c分组)至服务器节点。管理节点102通常通过管理背板120至122耦接至多个服务器节点103至110。管理背板120至122为利用标准连接器以将多个服务器节点103至110与管理控制器连接的印刷电路板(printedcircuitboard,pcb)。一些管理背板包含将管理分组委托给(toproxy)服务器节点的机箱管理控制器(chassismanagementcontroller,cm)。一些管理背板可仅利用电子电路来传输管理分组至服务器节点。管理背板120至122可通过管理总线123与管理控制器连接。管理总线123为传输管理背板以及管理节点之间的数据的系统管理电缆。本文所执行的总线信号的类型可为usb、i2c、rs232、can总线、rs485或以太网络。在本文中所列举的总线信号的类型并非详尽的清单,且因此总线信号的类型可为适用于管理总线的其他型式的信号方式。如图1所示,管理背板可将服务器节点定址(address)在管理节点102的代表位置。然而,由于在机架系统中的管理背板的位置,在定位(locating)服务器节点上可能存在一些难度。管理背板时常定位(locating)于机架系统的后侧,因此其不易设计成围绕机架系统。在一些实施例中,服务器节点可为使用适用于接收/传送数据的标准连接端口的标准服务器节点。因此,服务器节点可能不包含适用于执行更有效率的通信及管理系统的连接端口。因此,本发明技术提供一种有效率的通信机制,其适用于利用智能插件装置以及机架管理电缆以定位及与服务器节点通信,而免除了对背板的需求。请参考图2,其是绘示布线机架管理系统配置的例示性实施例的方块图200。机架系统219可利用智能插件(smartplug)装置以及机架管理电缆230维持。在本发明技术中,各服务器节点与对应的智能插件装置相对。举例来说,如图2所示,服务器节点1203与智能插件id#2221相关、服务器节点2204与智能插件id#3222相关、服务器节点3205与智能插件id#4223相对等等。智能插件装置为具有唯一i2c地址并桥接管理控制器以及服务器节点203至210的装置。智能插件装置可更进一步藉由使用指定的智能插件的唯一地址(id编号),以辅助管理控制器(例如管理节点202)以及服务器节点203至210之间的i2c分组的传输以及通信。举例来说,智能插件可包含内嵌在其表头(tableheader)的唯一插件地址(例如id编号)。一些表头可包含与插件id编号相关的预编程i2c地址。智能插件可容纳具有对应服务器节点以及智能插件id编号的匹配信息的表格。此信息可使用于将智能插件与对应的服务器节点匹配。举例来说,智能插件#2将包含在存储器中,其中智能插件#2221与服务器节点1203相关,且智能插件#3222与服务器节点2204相对。因此,若不正确的智能插件插入服务器节点,则接收到错误数据分组的智能插件将判断分组并非指向目前的智能插件。因此,智能插件将不传输分组至对应的服务器节点。替代地,智能插件将分组重新路由传输至适当的智能插件或忽略数据分组。智能插件可包含i2c装置(内建usb-i2c转换器)。唯一id在运输(shipping)之前可包含在位于转换器中的预编程芯片中。管理控制器也可得知(获得)智能插件唯一地址信息,例如当传送及接收数据分组时,将这些唯一地址并入数据分组中。服务器节点203至210可通过机架管理电缆230互连至管理节点202。机架管理电缆230可被称为用于传送数据的i2c标准总线规格,并且其为由时钟(scl)以及数据(sda)线组成的同步串行。机架管理电缆230可为可定址服务器节点位置以及与服务器节点通信的内部集成电路(inter-integratedcircuit,i2c)总线。在一些实施例中,i2c总线(例如机架管理电缆)可将主控装置与从属装置连接。举例来说,主控装置(例如管理节点202)通过机架管理电缆230与多个从属装置(例如用于服务器节点1至8的智能插件id#2至9221至228)连接。管理节点202可产生总线时钟信号,并启动机架管理电缆230上的通信。分组讯息可根据i2c总线的i2c总线协议被传输。机架管理电缆230可配置以与各服务器节点通信,并定址服务器节点位置。虽然图2描述机架管理电缆230连接八个智能插件,但此数量仅为例子,且机架管理电缆230可处理更多或更少的智能插件。举例来说,可处理超过四十个智能插件的装置。智能插件通常通过各种类型的连接器231、耦接节点211至218。连接端口的类型介于usb连接端口、i2c连接端口、串行端口至以太网络等的范围内。usb连接器类型将搭配图3描述,而i2c连接器类型将搭配图4描述。上述连接器的类型并非详尽清单,且因此这些连接器的类型可为与智能插件装置相容的其他类型的连接器。在一些实施例中,管理控制器(例如管理节点202)可包含架顶式(tor)交换机和/或机架管理控制器(rmc)。管理节点202可存储在路由信息库(routinginformationbase,rib)所管理的路由表中的路由信息。路由表可容纳可搜索的数据结构,其包含具有对应的服务器节点地址的智能插件的i2c地址。路由表不必组织成表格,但其可为可搜索的数据结构的部分类型。智能插件的i2c地址映射服务器节点地址。当分组请求从管理节点发送时,分组的终端地址可使用以从容纳与终端地址相对的路由信息的路由表项目(routingtableentry)辨识正确的智能插件。分组请求也可包含适用于从服务器节点转送回管理节点的回应分组的管理节点的地址。各服务器节点也可包含控制器。本文所述的控制器可为用于独立地操作cpu以支持用于服务器的管理任务的基板管理控制器(bmc)。bmc可包含唯一ip地址。根据将更进一步描述于下方的智能插件配置,bmc也可与不同类型的连接端口/连接器搭配。图3是绘示智能插件配置的例示性实施例的方块图300。在一些实施例中,智能插件可包含转换智能插件的i2c地址以适配服务器节点301、306、311中的usb接口的usb-i2c转换器305、310、315。智能插件在i2c总线319以及服务器节点301、306、311之间提供接口。各转换器可为在安装之前预先编程从属i2c地址的微控器。举例来说,智能插件#1304可包含0x04的指定i2c地址(唯一地址),智能插件#2309可包含0x06的指定i2c地址,且智能插件#3314可包含0x08的指定i2c地址。各智能插件的唯一地址可为彼此相异的地址。如上所述,在服务器节点上的控制器(例如bmc)302、307、312可与通用串行总线(universalserialbus,usb)连接端口303、308、313连接。控制器到usb模块处理可读取及写入转换(translated)的i2c分组的usb协议。各服务器节点的usb连接端口303、308、313可接收智能插件的usb连接器316至318。在一些实施例中,管理节点可存储由路由信息库(rib)所管理的路由表的路由信息。路由表可容纳可搜索的数据结构,其包含具有对应的服务器节点地址的智能插件的i2c地址。路由表不必组织成表格,但其可为可搜索的数据结构的部分类型。智能插件的i2c地址映射服务器节点地址。当分组请求从管理节点发送时,分组的终端地址可使用以从适配与终端地址相对的路由信息的路由表项目辨识正确的智能插件。为了辨识正确的服务器节点,当传送请求讯息时,管理节点将辨识与终端服务器节点相对的智能插件的地址。在一些实施例中,若管理分组被导引至不正确的智能插件(例如由于智能插件没有正确地安装到服务器节点),分组请求在预定时间时段后可被忽略。举例来说,管理节点将从路由表中提取映射信息,并将辨识智能插件#2309与服务器节点2306相对。为了传送请求分组至服务器节点2,管理节点将传送请求分组至智能插件#2,以使智能插件#2可传输请求分组至服务器节点2。在智能插件#2没有插入服务器节点2的情况下,智能插件#2在接收分组时将不转发请求分组。若在一段时间后没有回应分组转送至管理节点,回应分组将失效(beexpired)而被忽略。此失败事件可报告至管理节点并将被记录下来。图4是绘示智能插件配置的例示性实施例的方块图400。在一些实施例中,智能插件装置配置成包含复杂可编程逻辑装置(cpld)405、411、418,其将智能插件的i2c从属地址转换成与服务器节点接口相容的地址。举例来说,服务器节点401可包含控制器402以及连接端口(例如i2c连接端口)403,以接收智能插件406。连接端口403可为i2c连接端口以接收智能插件406的i2c插件404。相同配置用于节点2407以及节点3413。服务器节点407及413可包含控制器408及414以及连接端口(例如i2c连接端口)409及415,以接收智能插件412及417。各服务器节点的连接端口可为i2c连接端口,以接收智能插件412及417的i2c插件410及416。在一些实施例中,服务器节点1至3401、407、413的从属地址可相同。举例来说,服务器节点1至3401、407、413的控制器402、408、414地址可为0x24。因此,不可能藉由服务器节点从属地址定位服务器节点,因为各服务器节点的控制器地址在所有从属节点皆相同。在本发明技术中,管理节点可使用智能插件的唯一i2c地址以定位指定的服务器节点来取而代之。举例来说,各智能插件将针对与管理节点相对的节点提供辨识手段。举例来说,假设所有服务器节点被指定为0x24的从属地址。智能插件#1406可配置以具有0x04的i2c地址,智能插件#2412可配置以具有0x06的i2c地址,而智能插件#3417可配置以具有0x08的i2c地址。当各智能插件接收到导引至其的i2c分组时,智能插件将通过i2c总线419将i2c从属地址转换成0x24,以与对应的服务器节点地址适配。举例来说,若智能插件#2412接收到指向0x06的地址的分组讯息时,智能插件#2412将判定分组导向控制器,而将分组转发至节点2的控制器408。在智能插件不正确地插入错误的服务器节点,或相反地,请求分组发送至不正确的智能插件的情况下,智能插件可忽略请求分组。举例来说,若智能插件#2接收到导向0x08的地址(智能插件#3的地址)的请求分组时,智能插件#2接着将忽略请求或重新路由分组传输至正确的智能插件(智能插件#3)。管理节点可等待一预定时间时段,以从正确的智能插件接收回回应分组。若回应分组在一预定时段内没有在管理节点上被接收,则舍弃(dropped)请求分组。其将提示管理节点重新传送新请求分组至不同的节点。根据i2c协议,当请求分组在服务器节点上被接收时,请求分组可包含至少一智能插件的i2c地址以及在其标头的管理节点的地址。当服务器节点将回应分组传送回管理节点时,其可从请求分组中辨识终端管理节点及其地址。本发明所属领域技术人员将理解的是,上方所示的从属地址仅为示例,且各种从属地址或实施方式可使用于目前的网络架构。图5是绘示与在机架系统中的服务器节点通信的例示性方法的流程图500。顺序是从步骤510开始并接续至步骤550,首先请求讯息被传输至服务器节点且回应讯息被传输回管理节点。在步骤510,管理控制器通过通信总线接收请求讯息。请求讯息可为任意类型的请求,其包含从服务器节点提取信息的请求或检查服务器节点的可用性的请求。在步骤520,智能插件配置以判断请求讯息是否被定址成智能插件的唯一地址。唯一地址可包含在请求讯息的标头。在步骤530,响应于判断请求讯息被定址成唯一地址,智能插件利用本地地址以传输请求讯息至与智能插件相对的连接端口。在步骤540,智能插件从服务器节点的连接端口接收回应讯息。服务器节点从在请求讯息中的路由信息判断回应讯息的终端地址。此可包含在请求讯息的标头。定址请求讯息的回应讯息被转发至智能插件的唯一地址。回应讯息可包含来自管理节点的请求信息。在步骤550,智能插件配置以传输回应讯息至管理节点。图6为执行图1至图5的特征及工艺的例示性系统架构的方块图。架构可在运行由编译指令衍生出的软件应用程序的任意电子装置上执行,这些电子装置包含但不受限于个人计算机、服务器、智能手机、介质播放器、电子板、游戏机、邮件装置等。在一些实施例中,架构可包含一或多个处理器602、一或多个输入装置604、一或多个显示装置606、一或多个网络接口608以及一或多个计算机可读介质610。这些元件的每一个皆可藉由总线612耦接。显示装置606可为任意已知的显示技术,其包含但不限于使用液晶显示器(lcd)或发光二极管(led)技术的显示装置。处理器602可使用任意已知的处理器技术,其包含但不限于图形处理器以及多内核处理器。输入装置604可为任意已知的输入装置技术,其包含但不限于键盘(包含虚拟键盘)、鼠标、轨迹球以及触摸感应垫或显示器。总线612可为任意已知的内部或外部的总线技术,其包含但不限于isa、eisa、pci、pciexpress、nubus、usb、串行式ata或firewire。计算机可读介质610可为参与针对执行提供指令至处理器602的任意介质,其包含但不限于非易失性存储介质(例如光盘、磁盘、快闪驱动器等)或易失性介质(例如sdram、rom等)。然而,当提及非临时性计算机可读存储介质、计算机可读存储介质以及计算机可读存储装置时,明确地排除例如能源、载波信号、电磁波及本身为信号的介质。计算机可读介质610可包含用于执行操作系统614(例如maclinux)的各种指令。操作系统可为多人(multiuser)、多元处理(multiprocessing)、多工(multitasking)、多线程(multithreading)、实时(real-time)等。操作系统执行基本任务,其包含但不限于:辨识来自输入装置604的输入;传送输出至显示装置606;维持计算机可读介质610上的文件及数据录的追踪;对可直接或通过i/o控制器控制的周边装置(例如磁盘驱动器、打印机等)进行控制;以及管理总线612上的流量。网络通信616的指令可建立及维持网络连接(例如用于执行通信协议的软件,例如tcp/ip、http、以太网络等)。图形处理系统618可包含提供图形及图像处理能力的指令。应用程序620可为使用或执行参照图1至图5中所述的过程的应用程序。处理也可执行在操作系统614上。服务系统控制器622可为用于独立地操作处理器602和/或操作系统614的控制器。在一些实施例中,在处理器602被供应电源以及操作系统614载入处理器602之前,服务系统控制器622可被供应电源而运作。举例来说,服务系统控制器622可通过专用网络接口或其他输入装置,以提供用于计算装置的pre-os管理。例如,系统控制器622可为基板管理控制器(bmc),其通过智能平台管理接口(intelligentplatformmanagementinterface,ipmi)、键盘、影音以及鼠标(kvm)重新导向、局域网络串行(serialoverlan,sol)和/或其他接口,以监控装置传感器(例如电压、温度、风扇等)、记录失败分析事件、提供led导引诊断(guideddiagnostics)、执行电源管理和/或提供远端管理能力。服务系统控制器622可执行参照图1至图5中的上述处理。所述特征可有利地执行在至少一计算机程序上,此计算机程序可执行在包含至少一可编程处理器的可编程系统上,此可编程处理器被耦接以接收来自数据存储系统、至少一输入装置以及至少一输出装置的数据及指令,并传送数据及指令至数据存储系统、至少一输入装置以及至少一输出装置。计算机程序为可直接或间接地使用在计算机上以执行某些活动或带来某些结果的一组指令。计算机程序可以任意形式的程序语言写入(例如objective-c、java),包含编译(compiled)或交谈式(interpreted)程序语言,且计算机程序可以任意形式部署(deploy),包含作为单独程序或作为模块、元件、子例程(subroutine)或其他适用于计算环境的单元。通过示例来说明,适用于执行指令的程序的处理器包含任何类型的计算机的普遍及特殊用途的微处理器,以及单一处理器(soleprocessor)或一或多个处理器或内核。一般而言,处理器将从只读存储器、随机读取存储器或两者接收指令以及数据。计算机的必要元件为用于执行指令的处理器以及用于存储指令及数据的一或多个存储器。普遍地,计算机也包含用于存储数据文件的一或多个大容量存储装置,或操作性地耦接以与一或多个大容量存储装置进行通信;这些装置包含磁盘,例如内部硬盘以及移动盘;磁光盘;以及光盘。适用于有形地实现计算机程序指令及数据的存储装置包含所有形式的非易失性存储器。举例来说,非易失性存储器包含半导体存储器装置,例如eprom、eeprom以及快闪存储器装置;磁盘例如内部硬盘以及移动盘;磁光盘;以及cd-rom及dvd-rom磁盘。处理器以及存储器可藉由特殊应用集成电路(application-specificintegratedcircuits,asics)增补或整并在其内。为了提供与使用者互动,这些特征可执行在具有用于显示信息给使用者的显示装置的计算机上,例如阴极射线管(cathoderaytube,crt)或液晶显示器(liquidcrystaldisplay,lcd)屏幕,而键盘及指向装置,例如鼠标或轨迹球,可提供使用者藉以输入计算机。这些特征可执行在包含后端元件,例如数据服务器;中间软件元件,例如应用服务器或互联网服务器;前端元件,例如具有图形化使用者接口或互联网流览器的用户计算机或其任意组合的计算系统上。系统的元件可藉由数字数据通信的任意形式或介质相互连接,例如通信网络。举例来说,通信网络的例子包含lan、wan以及形成互联网的计算机及网络。计算系统可包含用户端以及服务端。用户端以及服务端通常彼此相隔很遥远,并普遍通过网络互动。用户端以及服务端的关系是借助于在个别计算机上执行的计算机程序而发生,并且彼此具备主从(server-client)关系。本发明所公开的实施例的一或多个特征或步骤可利用api执行。api可定义用于提供服务、数据或执行作业或计算的调用应用程序(callingapplication)以及其他软件编码(例如操作系统、库存程序(libraryroutine)、函数)之间传递的一或多个参数。api可作为程序代码中的一或多个呼叫(call)执行,这些呼叫通过参数表或其他基于定义在api规格文件的调用约定(callconvention)的结构,以传送或接收一或多个参数。参数可为常数、金钥、数据结构、物件、物件类别、变量、数据类型、指针、阵列、列表或其他呼叫。api呼叫与参数可以任意程序语言执行。程序语言可定义词汇(vocabulary)与调用约定,程序设计师可采用上述词汇与调用约定以存取支持api的函数。在一些实施例中,api呼叫可向应用程序通报执行此应用程序的装置的能力,例如输入能力、输出能力、处理能力、供电能力、通信能力等。本发明描述一定量的实施例。然而,将理解的是各种修改是可行的。举例来说,本发明所述的流程可提供其他步骤或自本发明所述的流程删除步骤,且自本发明所述的系统可增加其他元件或移除元件。因此,其他实施方式皆在本发明的权利要求书内。虽然已使用各种不同的示例及其他信息,以解释在所附的权利要求书的范围内的态样,但并非意指基于这些示例的具体特征或配置对权利要求加以限制,本领域技术人员应能使用这些示例以推导各种广泛的实施形式。更进一步,尽管一些主题可能已经以语言具体地描述结构特征和/或方法步骤的示例,但应当理解的是,主题是定义在所附的权利要求书内,而并非受限于所述的这些特征或操作。举例来说,这样的功能可不同地分配在或执行在本文认定外的其他元件中。相对而言,本文所述的特征和步骤被公开作为在所附的权利要求书的范围内的系统和方法的元件的例子。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1