一种IT集群系统监控方法、装置、终端及系统与流程

文档序号:11147493阅读:318来源:国知局
一种IT集群系统监控方法、装置、终端及系统与制造工艺

本发明涉及通信技术领域,特别是指一种IT集群系统监控方法、装置、终端及系统。



背景技术:

在现有的IT集群中,监控系统对于物理机(服务器)和虚拟机等主要计算、存储资源的监控,基本上仍采用Server-Client(服务器-客户)的架构。即在需要被监控的物理机或虚拟机上部署监控代理(Agent),用于收集指定的监控信息,如CPU、内存等资源的使用情况,以及关键部件和进程的健康状况等,并将这些数据实时或周期性推送到监控服务器上,由监控服务器对监控数据进行存储和汇总分析。然而随着IT系统规模的不断扩大,被监控的节点数量迅速增加,监控服务器所承受的网络、存储和数据处理压力剧增。目前业内处理这种状况的一般做法是将监控系统由单个或若干个监控服务器扩展为分布式的金字塔结构。典型的监控实现方法如下:

首先所有底层被监控的服务器节点上的代理程序收集数据,然后每个代理程序将数据汇聚给所在集群的某个监控服务器节点,最后该监控服务器节点将数据累积上传给总监控服务器节点,监控集群的横向分析数据则需要从总监控节点获取。

然而上述方法存在着基础监控信息数据流量,需要监控节点提供网络、计算、存储资源对这些数据进行处理;监控开销未能得到缩减,并且在网络出现问题时,可能存在部分时间段内被监控节点基础监控数据丢失的问题。



技术实现要素:

本发明的目的是提供一种IT集群系统监控方法、装置、终端及系统,能够减少网络开销、保证监控数据完整性、降低监控节点各类资源使用。

为达到上述目的,本发明的实施例提供一种IT集群系统监控方法,应用于被监控终端,所述IT集群系统监控方法包括:

获取监控节点下发的监控信息;

根据所述监控信息,获取存储在被监控终端本地的监控数据;

根据所述监控信息实时分析处理所述监控数据,生成监控结果数据;

将所述监控结果数据发送至所述监控节点。

其中,所述获取监控节点下发的监控信息的步骤,具体包括:

监听所述被监控终端与所述监控节点的通信端口,获得所述监控节点下发的监控信息。

其中,所述监控信息包括监控配置信息时,所述IT集群系统监控方法还包括:

根据所述监控配置信息,搜集被监控终端本身符合所述监控配置信息的对应数据作为监控数据,并将所述监控数据存储至本地。

其中,所述监控信息包括告警触发策略调整信息时,相应的,所述根据所述监控信息实时分析处理所述监控数据,生成监控结果数据的步骤包括:

根据所述告警触发策略调整信息,更新告警触发策略;

实时分析所述监控数据是否满足所述告警触发策略;

在所述监控数据满足所述告警触发策略时,生成对应所述告警触发策略的告警信息作为监控结果数据。

其中,所述监控信息包括数据汇总分析请求时,相应的,所述根据所述监控信息实时分析处理所述监控数据,生成监控结果数据的步骤包括:

根据所述数据汇总分析请求,分析处理所述监控数据,生成对应所述数据汇总分析请求的监控结果数据。

为达到上述目的,本发明的实施例还提供了一种IT集群系统监控方法,应用于监控节点,所述IT集群系统监控方法包括:

下发监控信息至被监控终端;

接收所述被监控终端发送的监控结果数据,所述监控结果数据是所述被监控终端根据所述监控信息,获取存储在被监控终端本地的监控数据进行实时分析处理生成的。

其中,所述监控信息至少包括监控配置信息、告警触发策略调整信息和数据汇总分析请求中的一种。

为达到上述目的,本发明实施例还提供了一种IT集群系统监控装置,应用于被监控终端,所述IT集群系统监控装置包括:

第一获取模块,用于获取监控节点下发的监控信息;

第二获取模块,用于根据所述监控信息,获取存储在被监控终端本地的监控数据;

生成模块,用于根据所述监控信息实时分析处理所述监控数据,生成监控结果数据;

第一发送模块,用于将所述监控结果数据发送至所述监控节点。

其中,所述第一获取模块进一步用于监听所述被监控终端与所述监控节点的通信端口,获得所述监控节点下发的监控信息。

其中,所述监控信息包括监控配置信息时,所述IT集群系统监控装置还包括:

第三获取模块,用于根据所述监控配置信息,搜集被监控终端本身符合所述监控配置信息的对应数据作为监控数据,并将所述监控数据存储至本地。

其中,所述监控信息包括告警触发策略调整信息时,相应的,所述生成模块包括:

更新子模块,用于根据所述告警触发策略调整信息,更新告警触发策略;

分析子模块,用于实时分析所述监控数据是否满足所述告警触发策略;

第一生成子模块,用于在所述监控数据满足所述告警触发策略时,生成对应所述告警触发策略的告警信息作为监控结果数据。

其中,所述监控信息包括数据汇总分析请求时,相应的,所述生成模块包括:

第二生成子模块,用于根据所述数据汇总分析请求,分析处理所述监控数据,生成对应所述数据汇总分析请求的监控结果数据。

为达到上述目的,本发明实施例还提供了一种IT集群系统监控装置,应用于监控节点,所述IT集群系统监控装置包括:

第二发送模块,用于下发监控信息至被监控终端;

接收模块,用于接收所述被监控终端返回的监控结果数据,所述监控结果数据是所述被监控终端根据所述监控信息,获取存储在被监控终端本地的监控数据进行实时分析处理生成的。

其中,所述监控信息至少包括监控配置信息、告警触发策略调整信息和数据汇总分析请求中的一种。

为达到上述目的,本发明实施例还提供了一种终端,包括如上所述的应用于被监控终端的IT集群系统监控装置。

为达到上述目的,本发明实施例还提供了一种终端,包括如上所述的应用于监控节点的IT集群系统监控装置。

为达到上述目的,本发明实施例还提供了一种IT集群系统监控系统,包括如上所述的应用于被监控终端的IT集群系统监控装置的终端和如上所述的应用于监控节点的IT集群系统监控装置的终端。

本发明的上述技术方案的有益效果如下:

本发明实施例的方法,被监控终端与监控节点间的通信只在监控信息的获取和监控结果数据的上报,而监控数据的存储以及对监控数据的实时分析处理生成监控结果数据是在被监控终端本地执行的,避免了大量监控数据在被监控终端与监控节点间的网络传输,减少了网络开销,减轻了监控系统的存储、计算和网络方面的压力,而且由于监控数据只存储在被监控终端的本地而不在网络上进行传输,监控数据不会受到网络故障的影响,保证了其完整性和连续性,提升了监控的有效性。

附图说明

图1为本发明实施例的应用于被监控终端的IT集群系统监控方法的步骤流程图;

图2为本发明实施例的应用于被监控终端的IT集群系统监控方法的具体步骤流程图;

图3为本发明实施例的应用于监控节点的IT集群系统监控方法的步骤流程图;

图4为本发明实施例的应用于被监控终端的IT集群系统监控装置的结构 示意图;

图5为本发明实施例的应用于监控节点的IT集群系统监控装置的结构示意图;

图6为本发明实施例的IT集群系统监控系统的示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明针对现有的对IT集群系统的监控方法需要监控节点提供网络、计算、存储资源,监控开销大以及断网时会丢失监控数据的问题,提供一种IT集群系统监控方法,能够减少网络开销、保证监控数据完整性、降低监控节点各类资源使用。

如图1所示,本发明实施例的一种IT集群系统监控方法,应用于被监控终端,所述IT集群系统监控方法包括:

步骤101,获取监控节点下发的监控信息;

步骤102,根据所述监控信息,获取存储在被监控终端本地的监控数据;

步骤103,根据所述监控信息实时分析处理所述监控数据,生成监控结果数据;

步骤104,将所述监控结果数据发送至所述监控节点。

本发明的实施例,被监控终端本地存储自身的监控数据如CPU使用率、内存利用率等,这样,通过步骤101-104,在获取到监控节点下发的监控信息后,即可根据该监控信息获取存储在被监控终端本地的应监控信息所需要的监控数据,并根据该监控信息对监控数据进行实时分析处理,生成监控结果数据,之后,将该监控结果数据发送至监控节点。

在本发明实施例的IT集群系统监控方法中,由于被监控终端与监控节点间的通信只在监控信息的获取和监控结果数据的上报,而监控数据的存储以及对监控数据的实时分析处理生成监控结果数据是在被监控终端本地执行的,避免了大量监控数据在被监控终端与监控节点间的网络传输,减少了网络开销,减轻了监控系统的存储、计算和网络方面的压力,而且由于监控数据只存储在 被监控终端的本地而不在网络上进行传输,监控数据不会受到网络故障的影响,保证了其完整性和连续性,提升了监控的有效性。

需要说明的是,在本发明实施例的方法,可以是被监控终端中监控代理Agent执行的。监控节点可以是小规模集群中单个监控服务器,也可以是分布式监控系统中的一个子节点。监控节点与多个被监控终端通过被监控终端上的Agent进行通信和数据交互。

其中,步骤101,具体包括:

步骤1011,监听所述被监控终端与所述监控节点的通信端口,获得所述监控节点下发的监控信息。

这样,被监控终端与监控节点间通信的实现方式采用一般的消息中间文件即可,通过监听通信端口即可获得监控节点下发的监控信息,更方便快捷。

在本发明实施例中应该了解的是,为了避免被监控终端存储资源的浪费,被监控终端本地存储的监控数据往往是应监控节点的要求进行监控数据的采集的。所以,在上述实施例的基础上,所述监控信息包括监控配置信息时,所述IT集群系统监控方法还包括:

步骤105,根据所述监控配置信息,搜集被监控终端本身符合所述监控配置信息的对应数据作为监控数据,并将所述监控数据存储至本地。

监控配置信息包括监控项和监控周期等内容,监控节点在监控启动时或者监控配置需要调整时,将监控数据采集的监控配置信息通过监控信息下发给被监控终端。被监控终端获取到包含有监控配置信息的监控信息后,根据监控配置信息的内容按照一定的监控周期对本身符合其监控项的对应数据进行搜集,作为监控数据并存储至本地,以便后期对监控数据的分析处理。如,监控节点想要了解被监控终端的CPU利用率,监控配置信息的监控项中会包含CPU利用率一项,而被监控终端在接收到监控配置信息后就会对CPU利用率进行实时监控并将CPU利用率的数据存储到本地。

另外,被监控终端的本地存储不属于Agent,可以通过文件路径也可以是数据库,利用被监控终端的存储资源存储搜集的本身的监控数据。那么,相应的监控数据的写入形式可以是文件的一条记录,也可以是数据库表中的一条记录,一般可采用shell脚本或者Java等小应用程序实现,可根据接收到的监控 配置信息变更随时调整监控项和监控周期等。

应该了解的是,在本发明实施例中,监控节点对被监控终端监控时,为了避免被监控终端存在过度使用、消耗等问题,会对一些监控项设置告警阈值、告警条件作为各种告警触发策略,并将告警触发策略信息告知被监控终端,从而被监控终端在搜集到对应监控项的监控数据时进行告警判断,在其满足告警触发条件时发出告警信息至监控节点,提示工作人员采取相应的措施。但是,往往会需要根据使用情况对告警触发策略进行调整,因此,所述监控信息包括告警触发策略调整信息时,相应的,如图2所示,步骤103包括:

步骤1031a,根据所述告警触发策略调整信息,更新告警触发策略;

步骤1032a,实时分析所述监控数据是否满足所述告警触发策略;

步骤1033a,在所述监控数据满足所述告警触发策略时,生成对应所述告警触发策略的告警信息作为监控结果数据。

如步骤1031a-1033a,获取到告警触发策略调整信息后,首先会根据该信息更新告警触发策略,按照新的策略对监控数据进行分析判断,然后在监控数据满足告警触发策略时,触发告警,生成告警信息作为监控数据结果。之后,如步骤104,将告警信息发送至监控节点。如,之前的告警触发策略中CPU利用率的告警阈值为60%,但是随着技术的改进,CPU的运载能力增强,就要调整其告警阈值为80%,监控节点发送包括CPU利用率告警阈值为80%的告警触发策略调整信息,被监控终端接收后,更新告警触发策略,实时分析监控的CPU利用率是否达到该告警阈值,在达到该告警阈值时,向监控节点发出告警信息。

还需要了解的是,为了保证监控节点能够获取到其所需要的被监控终端的性能指标类统计信息,而不需要监控节点消耗资源去分析计算,在本发明上述实施例的基础上,所述监控信息包括数据汇总分析请求时,相应的,步骤103包括:

步骤1031b,根据所述数据汇总分析请求,分析处理所述监控数据,生成对应所述数据汇总分析请求的监控结果数据。

接收到监控节点发送的数据汇总分析请求时,根据该请求所指定的统计对象、统计时间区间和统计项就可对本地监控数据中对应数据进行分析处理,得 到对应该请求的监控结果数据,按照步骤104告知监控节点。例如,监控节点想要了解一段时间内被监控终端的CPU、内存的平均利用率,监控节点主动发送CPU、内存的数据汇总分析请求,被监控终端接收到该请求后,统计在相应的一段时间内搜集的被监控终端的CPU、内存的利用率,再计算得到平均利用率,得到监控结果数据。将该监控结果数据返回值监控节点,监控节点就知道了其想要了解的被监控终端的信息。

综上所述,本发明实施例的IT集群系统监控方法,应用于被监控终端,利用被监控终端自身的存储资源来存放监控数据,减少了监控数据的频繁传输导致的网络开销,同时不会受网络故障影响保证了监控数据完整性和连续性;利用被监控终端自身的分析处理资源对监控数据进行分析处理,减少监控系统本身的监控数据处理压力,降低了对监控系统的性能要求,提高监控系统所获取和维护数据的质量。

如图3所示,本发明的实施例还提供了一种IT集群系统监控方法,应用于监控节点,所述IT集群系统监控方法包括:

步骤301,下发监控信息至被监控终端;

步骤302,接收所述被监控终端发送的监控结果数据,所述监控结果数据是所述被监控终端根据所述监控信息,获取存储在被监控终端本地的监控数据进行实时分析处理生成的。

其中,所述监控信息至少包括监控配置信息、告警触发策略调整信息和数据汇总分析请求中的一种。

本发明实施例中的IT集群系统监控方法,监控节点只需下发监控信息至被监控终端和接收被监控终端发送的监控结果数据,利用被监控终端自身的存储资源来存放监控数据,减少了监控数据的频繁传输导致的网络开销,同时不会受网络故障影响保证了监控数据完整性和连续性;利用被监控终端自身的分析处理资源对监控数据进行分析处理,减少监控系统本身的监控数据处理压力,降低了对监控系统的性能要求,提高监控系统所获取和维护数据的质量。

需要说明的是,本发明实施例的IT集群系统监控方法应用于监控节点,是与上述应用于被监控终端的IT集群系统监控方法配合实施的,上述应用于被监控终端的IT集群系统监控方法的实现方式适用于该方法,也能达到相同 的技术效果。

如图4所示,本发明实施例还提供了一种IT集群系统监控装置,应用于被监控终端,所述IT集群系统监控装置包括:

第一获取模块401,用于获取监控节点下发的监控信息;

第二获取模块402,用于根据所述监控信息,获取存储在被监控终端本地的监控数据;

生成模块403,用于根据所述监控信息实时分析处理所述监控数据,生成监控结果数据;

第一发送模块404,用于将所述监控结果数据发送至所述监控节点。

其中,所述第一获取模块进一步用于监听所述被监控终端与所述监控节点的通信端口,获得所述监控节点下发的监控信息。

其中,所述监控信息包括监控配置信息时,所述IT集群系统监控装置还包括:

第三获取模块,用于根据所述监控配置信息,搜集被监控终端本身符合所述监控配置信息的对应数据作为监控数据,并将所述监控数据存储至本地。

其中,所述监控信息包括告警触发策略调整信息时,相应的,所述生成模块包括:

更新子模块,用于根据所述告警触发策略调整信息,更新告警触发策略;

分析子模块,用于实时分析所述监控数据是否满足所述告警触发策略;

第一生成子模块,用于在所述监控数据满足所述告警触发策略时,生成对应所述告警触发策略的告警信息作为监控结果数据。

其中,所述监控信息包括数据汇总分析请求时,相应的,所述生成模块包括:

第二生成子模块,用于根据所述数据汇总分析请求,分析处理所述监控数据,生成对应所述数据汇总分析请求的监控结果数据。

本发明实施例中的IT集群系统监控装置,应用于被监控终端,在第一获取模块获取到监控节点下发的监控信息后,第二获取模块根据该监控信息获取存储在被监控终端本地的应监控信息所需要的监控数据,并由生成模块根据该监控信息对监控数据进行实时分析处理,生成监控结果数据,之后,第一发送 模块将该监控结果数据发送至监控节点。通过利用被监控终端自身的存储资源来存放监控数据,减少了监控数据的频繁传输导致的网络开销,同时不会受网络故障影响保证了监控数据完整性和连续性;利用被监控终端自身的分析处理资源对监控数据进行分析处理,减少监控系统本身的监控数据处理压力,降低了对监控系统的性能要求,提高监控系统所获取和维护数据的质量。

需要说明的是,本发明实施例的IT集群系统监控装置是应用了上述应用于被监控终端的IT集群系统监控方法的装置,上述方法的实现方式适用于该装置,也能达到相同的技术效果。

如图5所示,本发明实施例还提供了一种IT集群系统监控装置,应用于监控节点,所述IT集群系统监控装置包括:

第二发送模块501,用于下发监控信息至被监控终端;

接收模块502,用于接收所述被监控终端返回的监控结果数据,所述监控结果数据是所述被监控终端根据所述监控信息,获取存储在被监控终端本地的监控数据进行实时分析处理生成的。

其中,所述监控信息至少包括监控配置信息、告警触发策略调整信息和数据汇总分析请求中的一种。

本发明实施例中的IT集群系统监控装置,监控节点只需通过第二发送模块下发监控信息至被监控终端和通过接收模块接收被监控终端发送的监控结果数据,利用被监控终端自身的存储资源来存放监控数据,减少了监控数据的频繁传输导致的网络开销,同时不会受网络故障影响保证了监控数据完整性和连续性;利用被监控终端自身的分析处理资源对监控数据进行分析处理,减少监控系统本身的监控数据处理压力,降低了对监控系统的性能要求,提高监控系统所获取和维护数据的质量。

需要说明的是,该装置应用于监控节点是与上述应用于被监控终端的IT集群系统监控装置配合实施的,上述应用于被监控终端的IT集群系统监控装置的实现方式适用于该装置,也能达到相同的技术效果。

本发明实施例还提供了一种终端,包括如上所述的应用于被监控终端的IT集群系统监控装置。

该终端获取到监控节点下发的监控信息后,根据该监控信息获取存储在被 监控终端本地的应监控信息所需要的监控数据,并根据该监控信息对监控数据进行实时分析处理,生成监控结果数据,之后,将该监控结果数据发送至监控节点。该终端利用自身的存储资源来存放监控数据,减少了监控数据的频繁传输导致的网络开销,同时不会受网络故障影响保证了监控数据完整性和连续性;利用自身的分析处理资源对监控数据进行分析处理,减少监控系统本身的监控数据处理压力,降低了对监控系统的性能要求,提高监控系统所获取和维护数据的质量。

需要说明的是,本发明实施例的终端是应用了上述应用于被监控终端的IT集群系统监控方法的终端,上述方法的实现方式适用于该终端,也能达到相同的技术效果。

本发明实施例还提供了一种终端,包括如上所述的应用于监控节点的IT集群系统监控装置。

该终端只需下发监控信息至被监控终端和接收被监控终端发送的监控结果数据,利用被监控终端自身的存储资源来存放监控数据,减少了监控数据的频繁传输导致的网络开销,同时不会受网络故障影响保证了监控数据完整性和连续性;利用被监控终端自身的分析处理资源对监控数据进行分析处理,减少监控系统本身的监控数据处理压力,降低了对监控系统的性能要求,提高监控系统所获取和维护数据的质量。

需要说明的是,该终端是包括了上述应用于监控节点的IT集群系统监控装置的终端,上述应用于监控节点的IT集群系统监控装置的实现方式适用于该终端,也能达到相同的技术效果。

本发明实施例还提供了一种IT集群系统监控系统,包括如上所述的应用于被监控终端的IT集群系统监控装置的终端和如上所述的应用于监控节点的IT集群系统监控装置的终端。

如图6所示,该IT集群系统监控系统的第一终端包括如上所述的应用于被监控终端的IT集群系统监控装置,第二终端包括如上所述的应用于监控节点的IT集群系统监控装置,第一终端通过Agent中的监控通信进程实现应用于被监控终端的IT集群系统监控装置的第一获取模块和第一发送模块的功能,通过网络与监控节点所对应的第二终端进行通信,接收监控节点下发的监控信 息发送给本地信息收集进程或监控数据本地分析进程,返回监控数据本地分析进程生成的监控结果数据给监控节点所对应的第二终端;本地信息收集进程实现第三获取模块的功能,根据监控配置信息,获取被监控终端本身的对应数据并存储至本地存储中;监控数据本地分析进程则实现生成模块的功能,实时读取本地存储中的监控数据进行分析处理,生成监控结果数据。

该系统监控节点所对应第二终端只需下发监控信息至被监控终端和接收被监控终端发送的监控结果数据,第一终端利用自身的存储资源来存放监控数据,减少了监控数据的频繁传输导致的网络开销,同时不会受网络故障影响保证了监控数据完整性和连续性;利用自身的分析处理资源对监控数据进行分析处理,减少监控系统本身的监控数据处理压力,降低了对监控系统的性能要求,提高监控系统所获取和维护数据的质量。

需要说明的是,该系统是包括了应用于被监控终端的IT集群系统监控装置的终端和应用于监控节点的IT集群系统监控装置的终端的系统,上述两种终端的实现方式适用于该系统,也能达到相同的技术效果。

进一步需要说明的是,此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。

本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。

实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。

在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软 件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。

范例性实施例是参考该些附图来描述于下。许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本揭示不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本揭示会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1