数据处理方法与流程

文档序号:18161002发布日期:2019-07-13 09:19阅读:201来源:国知局
数据处理方法与流程

本公开涉及计算机技术领域,具体而言,涉及一种数据处理方法。



背景技术:

hpc(highperformancecomputing,高性能计算)业务的开发和运行环境通常使用hpc存储设备,以提供针对业务原始数据的前处理,集群各计算节点并行计算处理的计算结果数据以及针对计算结果数据的后处理数据的存储服务。随着数据的飞速增长,原始数据生成速度越来越快,需要越来越高的网络带宽,越来越大的存储规模,在高性能计算环境中,单一的高性能存储形式已经无法满足当前基于高性能计算的数据共享和处理的需要。



技术实现要素:

为了克服现有技术中的上述不足,本公开的目的在于提供一种数据处理方法,以解决或者改善上述问题。

为了实现上述目的,本公开实施例采用的技术方案如下:

第一方面,本公开提供一种数据处理方法,应用于调度服务器,所述调度服务器分别与高性能计算hpc机群和分布式存储设备通信连接,所述hpc机群包括hpc存储设备和与所述hpc存储设备连接的多个计算节点,所述分布式存储设备用于存储终端上传的数据,所述hpc存储设备用于存储从所述分布式存储设备预先拷贝的待处理数据,所述方法包括:

向所述hpc机群中与当前处理任务关联的目标计算节点发送计算作业,使所述目标计算节点从所述hpc存储设备中读取与该计算作业对应的待处理数据进行并行计算;

在接收到所述目标计算节点计算得到的计算结果数据后,将所述计算结果数据发送给所述分布式存储设备进行存储。

在一种可能的实施方式中,所述方法还包括:

在接收到数据拷贝请求时,从所述分布式存储设备中拷贝所述数据拷贝请求指示的数据目录下的待处理数据;

将所述待处理数据发送给所述hpc存储设备,并存储在指定的目标存储目录。

在一种可能的实施方式中,所述向所述hpc机群中与当前处理任务关联的目标计算节点发送计算作业的步骤,包括:

从所述当前处理任务中获得待处理数据请求的目标计算节点以及所述待处理数据在所述hpc存储设备中的目标存储目录;

根据所述目标存储目录向所述目标计算节点发送计算作业,使所述目标计算节点根据所述计算作业从所述目标存储目录中读取所述待处理数据进行并行计算。

在一种可能的实施方式中,所述方法还包括:

将所述计算结果数据发送给所述分布式存储设备进行存储后,向所述hpc机群发送数据删除指令,使所述hpc机群根据所述数据删除指令删除所述hpc存储设备中存储的所述计算结果数据。

第二方面,本公开实施例还提供一种数据处理方法,应用于数据处理系统,所述数据处理系统包括调度服务器以及与所述调度服务器通信连接的高性能计算hpc机群和分布式存储设备,所述hpc机群包括hpc存储设备和与所述hpc存储设备连接的多个计算节点,所述分布式存储设备用于存储终端上传的数据,所述hpc存储设备用于存储从所述分布式存储设备预先拷贝的待处理数据,所述方法包括:

所述调度服务器向所述hpc机群中与当前处理任务关联的目标计算节点发送计算作业;

所述目标计算节点从所述hpc存储设备中读取与该计算作业对应的待处理数据进行并行计算,并将计算得到的计算结果数据发送给所述调度服务器;

所述调度服务器在接收到所述计算结果数据后,将所述计算结果数据发送给所述分布式存储设备进行存储。

第三方面,本公开实施例还提供一种数据处理装置,应用于调度服务器,所述调度服务器分别与高性能计算hpc机群和分布式存储设备通信连接,所述hpc机群包括hpc存储设备和与所述hpc存储设备连接的多个计算节点,所述分布式存储设备用于存储终端上传的数据,所述hpc存储设备用于存储从所述分布式存储设备预先拷贝的待处理数据,所述装置包括:

作业发送模块,用于向所述hpc机群中与当前处理任务关联的目标计算节点发送计算作业,使所述目标计算节点从所述hpc存储设备中读取与该计算作业对应的待处理数据进行并行计算;

数据发送模块,用于在接收到所述目标计算节点计算得到的计算结果数据后,将所述计算结果数据发送给所述分布式存储设备进行存储。

第四方面,本公开实施例还提供一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序运行时实现上述的数据处理方法。

相对于现有技术而言,本公开具有以下有益效果:

本公开提供的数据处理方法,通过将hpc存储设备和分布式存储设备分离使用,当需要进行高性能并行计算时,hpc存储设备用于存储从分布式存储设备预先拷贝的待处理数据,负责为hpc机群各计算节点提供并行计算实时数据,各计算节点的计算结果数据转移到分布式存储设备,分布式存储设备用于存储终端上传的数据、计算结果数据和后续需要终端处理的数据。如此,能够降低hpc存储设备的访问量和并行数据计算时的网络带宽负担,减少hpc存储设备的容量需求,进而减少hpc存储设备的总拥有成本。此外,在需要进行高性能并行计算时无需终端单独上传数据或者下载计算结果数据,节省数据操作时间,便于计算结果数据的共享。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1为一种常见的数据处理系统的应用场景示意图;

图2为本公开实施例提供的数据处理系统的应用场景示意图;

图3为本公开实施例提供的一种数据处理方法的流程示意图;

图4为本公开实施例提供的另一种数据处理方法的流程示意图;

图5为本公开实施例提供的数据处理装置的功能模块示意图之一;

图6为本公开实施例提供的数据处理装置的功能模块示意图之二。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

公共科学计算支撑平台是为了支持具有复杂数学运算和高速并行计算的科研和应用、提供一个共享的高性能基础设施资源池、并支持多租户灵活实用的开发和运行高性能软件应用的支撑平台,可以支持ai(artificialintelligence,人工智能)和hpc的相关技术。公共科学计算在基础设施层面通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的多台计算机(作为单个计算资源操作)作为高性能的计算系统和环境,为开发者提供高性能业务的开发和运行的环境。

对于高性能计算环境中庞大的数据进行前后处理和数据共享势必需要增加相应的存储载体,由于以往的高性能并行存储的设计、调整、控制和维护都很复杂,随着高性能业务的快速增长,需要高性能处理的数据也随之大量增长,hpc存储设备需要不断地扩容,造成了其toc(totalcostofownership,总拥有成本,包括前期采购、中期使用和后期维护等整个过程的总费用)相当高。

并且,hpc存储设备主要是用于数据的并行计算处理,所需的i/o(input/output,输入输出)性能很高,当数据处理完成后,结果数据需要转移到个体工作站进行后处理,不便于在高性能存储中的长久保存,需要定期清理,以便保留存储空间用于其它业务数据进行高性能并行计算处理。目前,单一的hpc存储设备配置给hpc机群的使用带来诸多数据共享和转移上的不便。

例如,下面首先结合图1所示的一种常见的数据处理系统10对相关问题进行示例性说明。如图1所示,该数据处理系统10可包括调度服务器100、hpc机群200、终端300以及服务器集群400。hpc机群200可包括hpc存储设备210和与hpc存储设备210连接的多个计算节点220。

下面对图1所示的数据处理系统10在进行高性能并行计算时的作业流程进行示例性说明:

a、用户通过终端300将本地的待处理数据上传到hpc机群200的hpc存储设备210中。例如,用户可以通过本地工作站将本地的待处理数据上传到hpc存储设备210中,或者通过远程vdi(virtualdesktopinfrastructure,虚拟桌面基础架构)终端与服务器集群400配合将本地的待处理数据上传到hpc存储设备210中;

b、调度服务器100向hpc机群200中与当前处理任务关联的各计算节点220发送计算作业,使各计算节点220从hpc存储设备210中读取与该计算作业对应的待处理数据进行并行计算;

c、各计算节点220将并行计算后的计算结果数据保存在hpc存储设备210中;

d、为了不占用hpc存储设备210的高性能存储资源,计算结果数据下载到终端300进行后期处理。

发明人经过仔细研究后发现,上述作业流程中,用户无论是从终端300本地上传待处理数据,或者下载高性能计算处理后的结果数据,都需要对hpc机群200的hpc存储设备210进行访问。当用户需要共享使用hpc存储设备210处理的数据较多,导致并发量大的时候,会极大增加hpc存储设备210的网络带宽负担。

并且,当并行计算的处理任务增多时,势必需要对hpc存储设备210进行扩容来提供更好的服务,但由于hpc存储设备210需要采用较高i/o性能的文件系统和存储设备,扩容导致的整体价格非常昂贵,会极大增加toc成本。

此外,当hpc机群200读取hpc存储设备210中的待处理数据并行计算完成后,结果数据还需要进行后续处理。在此情况下,提交作业的用户还需要将结果数据下载到本地终端300,如此非常不利于数据共享,并且数据安全性很低。

为此,基于上述技术问题的进一步发现,本公开发明人提出下述技术方案以解决或者改善上述问题。需要注意的是,以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开实施例针对上述问题所提出的解决方案,都应该是发明人在发明创造过程中对本公开做出的贡献。

请参阅图2,为本公开实施例提供的数据处理系统10的应用场景示意图,该数据处理系统10可包括调度服务器100以及与调度服务器100通信连接的hpc机群200和分布式存储设备500。该分布式存储设备500可以用于存储终端300上传的数据,hpc存储设备210可以用于存储从分布式存储设备500预先拷贝的待处理数据。其中,该分布式存储设备500可以作为数据中心,用于提供大容量、低成本的存储服务。

下面结合图2所示的应用场景对图3所示的数据处理方法进行详细说明,该数据处理方法由图2中所示的数据处理系统10执行。应当理解,在其它实施例中,本实施例的数据处理方法其中的部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该数据处理方法的详细步骤介绍如下。

步骤s110,调度服务器100向hpc机群200中与当前处理任务关联的目标计算节点发送计算作业。

步骤s120,目标计算节点从hpc存储设备210中读取与该计算作业对应的待处理数据进行并行计算,并将计算得到的计算结果数据发送给调度服务器100。

步骤s130,调度服务器100在接收到计算结果数据后,将计算结果数据发送给分布式存储设备500进行存储。

本实施例中,通过将hpc存储设备210和分布式存储设备500分离使用,当需要进行高性能并行计算时,hpc存储设备210可以存储从分布式存储设备500预先拷贝的待处理数据,并负责为hpc机群200中各计算节点220提供并行计算的实时数据。当调度服务器100向hpc机群200中与当前处理任务关联的目标计算节点发送计算作业时,目标计算节点可以从hpc存储设备210中读取与该计算作业对应的待处理数据进行并行计算,并将计算结果数据转移到分布式存储设备500。分布式存储设备500可以存储终端300上传的数据、计算结果数据以及后续需要终端300处理的数据。

如此,可以将大量需要存储并访问的待处理数据或者计算结果数据从hpc存储设备210中分离出来,实时转移到分布式存储设备500中,降低hpc存储设备210的访问量,使hpc机群200只进行高性能并行处理作业,而不必承担数据后处理的访问任务,由此减少并行数据计算时的网络带宽负担。同时,可以减少hpc存储设备210的扩容压力,降低容量需求,进而减少hpc存储设备210的总拥有成本。此外,终端300上传的数据、计算结果数据和后续需要终端300处理的数据都存储在分布式存储设备500中而不是本地的终端300,可以便于数据共享,提高整体高性能运算作业的效率和整体配置方案的总体成本,并且无需终端300每次单独上传数据或者下载计算结果数据,节省数据操作时间。

作为一种可能的实施方式,hpc存储设备210存储从分布式存储设备500预先拷贝的待处理数据的方式可以是:通过终端300向调度服务器100发送数据拷贝请求,调度服务器100在接收到数据拷贝请求时,从分布式存储设备500中拷贝数据拷贝请求指示的数据目录下的待处理数据,然后将待处理数据发送给hpc存储设备210,hpc存储设备210将待处理数据存储在指定的目标存储目录。

例如,假设待处理数据为分布式存储设备500的目录a下的数据处理项目a的3d建模基础数据,该数据处理项目a的3d建模基础数据存储在hpc存储设备210中指定的目标存储目录为目录b。那么用户可以通过终端300访问调度服务器100,此时调度服务器100向终端300提供一操作交互界面,用户可以通过该操作交互界面,在目录a中选择该数据处理项目a的3d建模基础数据以及hpc存储设备210的目录b,以生成数据拷贝请求发送给调度服务器100。调度服务器100在接收到数据拷贝请求时,将分布式存储设备500的目录a下存储的该数据处理项目a的3d建模基础数据发送给hpc存储设备210,hpc存储设备210将待处理数据存储在目录b。

值得说明的是,在其它实施方式中,用户也可以通过其它任意可行方式将分布式存储设备500的待处理数据预先拷贝到hpc存储设备210中,本实施例对此不作任何限制。

作为一种可能的实施方式,在步骤s110中,终端300的用户可以在注册账号时向调度服务器100申请hpc机群200的计算资源(包括一个或者多个计算节点220),当用户通过终端300发送当前处理任务时,可以从申请的计算资源中选择本次参与待处理数据的高性能并行计算的目标计算节点。由此,调度服务器100在执行当前处理任务时,可以从当前处理任务中获得待处理数据请求的目标计算节点以及待处理数据在hpc存储设备210中的目标存储目录。接着,根据目标存储目录向目标计算节点发送计算作业,目标计算节点根据计算作业从目标存储目录中读取待处理数据进行并行计算。

例如,仍旧以需要拷贝到hpc存储设备210的待处理数据为分布式存储设备500的目录a下的数据处理项目a的3d建模基础数据,该数据处理项目a的3d建模基础数据存储在hpc存储设备210中指定的目标存储目录为目录b为例,假设终端300的用户在注册账号时向调度服务器100申请的hpc机群200的计算资源为计算节点a、计算节点b以及计算节点c的计算资源。那么该用户发起的当前处理任务中,可以从申请的计算资源中选择本次参与待处理数据的高性能并行计算的目标计算节点为计算节点a和计算节点b的计算资源。由此,调度服务器100可以根据目录b向计算节点a和计算节点b发送计算作业,计算节点a和计算节点b根据计算作业从目录b中读取数据处理项目a的3d建模基础数据进行并行计算。

作为一种可能的实施方式,调度服务器100还可以在将计算结果数据发送给分布式存储设备500进行存储后,向hpc机群200发送数据删除指令,hpc机群200根据数据删除指令删除hpc存储设备210中存储的计算结果数据。由此,调度服务器100可以在确定计算结果数据转移完成后,使hpc机群200删除计算结果数据以释放高性能并行存储资源,从而减少高性能并行存储的空间占用,降低tco成本。

作为一种可能的实施方式,分布式存储设备500还可以根据终端300发送的获取计算结果数据的请求,将计算结果数据发送给终端300。由此,由于计算结果数据一直存储在分布式存储设备500中,无需终端300本地下载,便于计算结果数据的共享,通过分布式存储设备500还可以集中实现用户存储空间的分类和隔离,提高数据安全性。

下面结合图2所示的应用场景,仍旧以需要拷贝到hpc存储设备210的待处理数据为分布式存储设备500的目录a下的数据处理项目a的3d建模基础数据,该数据处理项目a的3d建模基础数据存储在hpc存储设备210中指定的目标存储目录为目录b,该数据处理项目a的3d建模基础数据申请的计算资源为计算节点a和计算节点b的计算资源为例,对上述实施例的技术方案进行进一步示例性说明。

a、用户通过终端300将数据处理项目a的3d建模基础数据上传到分布式存储设备500的目录a中。例如,用户可以通过本地工作站将本地的待处理数据上传到分布式存储设备500的目录a中,或者通过远程vdi终端与服务器集群400配合将本地的待处理数据上传到分布式存储设备500的目录a中;

b、调度服务器100根据当前处理任务从分布式存储设备500的目录a中拷贝数据处理项目a的3d建模基础数据,并将数据处理项目a的3d建模基础数据发送给hpc存储设备210,hpc存储设备210将数据处理项目a的3d建模基础数据存储到目录b中;

c、调度服务器100根据当前处理任务向hpc机群200中的计算节点a和计算节点b发送计算作业;

d、计算节点a和计算节点b从hpc存储设备210中读取数据处理项目a的3d建模基础数据进行并行计算,并将并行计算后的计算结果数据保存在hpc存储设备210中;

e、为了不占用hpc存储设备210的高性能存储资源,调度服务器100将hpc存储设备210中的计算结果数据转移到分布式存储设备500中进行存储,并向hpc机群200发送数据删除指令,hpc机群200根据数据删除指令删除hpc存储设备210中存储的计算结果数据;

f、分布式存储设备500根据终端300发送的获取计算结果数据的请求,将计算结果数据发送给终端300。例如,用户可以通过本地工作站向分布式存储设备500发送获取计算结果数据的请求,或者通过远程vdi终端与服务器集群400配合向分布式存储设备500获取计算结果数据的请求。

进一步地,图4示出了本公开实施例提供的另一种数据处理方法的流程示意图,与上面实施例不同的是,本数据处理方法由调度服务器100执行,可以理解的是,接下来要描述的数据处理方法中涉及的步骤在上面实施例中已经描述过,具体各个步骤的详尽内容可参照上面的实施例描述,下面仅对调度服务器100执行步骤进行简要说明。

步骤s210,向hpc机群200中与当前处理任务关联的目标计算节点发送计算作业,使目标计算节点从hpc存储设备210中读取与该计算作业对应的待处理数据进行并行计算。

例如,调度服务器100可以从当前处理任务中获得待处理数据请求的目标计算节点以及待处理数据在hpc存储设备210中的目标存储目录,然后根据目标存储目录向目标计算节点发送计算作业,使目标计算节点根据计算作业从目标存储目录中读取待处理数据进行并行计算。

步骤s220,在接收到目标计算节点计算得到的计算结果数据后,将计算结果数据发送给分布式存储设备500进行存储。

作为一种可能的实施方式,调度服务器100还可以在接收到数据拷贝请求时,从分布式存储设备500中拷贝数据拷贝请求指示的数据目录下的待处理数据,并将待处理数据发送给hpc存储设备210,并存储在指定的目标存储目录。

作为一种可能的实施方式,调度服务器100在将计算结果数据发送给分布式存储设备500进行存储后,向hpc机群200发送数据删除指令,使hpc机群200根据数据删除指令删除hpc存储设备210中存储的计算结果数据。

进一步地,图5示出了本公开实施例提供的数据处理装置110的功能模块图,该数据处理装置110实现的功能可以对应上述图4所示的数据处理方法执行的步骤。该数据处理装置110可以理解为上述调度服务器100,或调度服务器100的处理器,也可以理解为独立于上述调度服务器100或处理器之外的在调度服务器100控制下实现本申请功能的组件。如图5所示,该数据处理装置110可以包括作业发送模块111以及数据发送模块112,下面分别对该数据处理装置110的各个功能模块的功能进行详细阐述。

作业发送模块111,用于向hpc机群200中与当前处理任务关联的目标计算节点发送计算作业,使目标计算节点从hpc存储设备210中读取与该计算作业对应的待处理数据进行并行计算。

数据发送模块112,用于在接收到目标计算节点计算得到的计算结果数据后,将计算结果数据发送给分布式存储设备500进行存储。

作为一种可能的实施方式,请参阅图6,该数据处理装置110还可以包括拷贝模块101,可以用于在接收到数据拷贝请求时,从分布式存储设备500中拷贝数据拷贝请求指示的数据目录下的待处理数据。

作为一种可能的实施方式,数据发送模块112,还可以用于将待处理数据发送给hpc存储设备210,并存储在指定的目标存储目录。

作为一种可能的实施方式,作业发送模块111具体可以用于从当前处理任务中获得待处理数据请求的目标计算节点以及待处理数据在hpc存储设备210中的目标存储目录,并根据目标存储目录向目标计算节点发送计算作业,使目标计算节点根据计算作业从目标存储目录中读取待处理数据进行并行计算。

作为一种可能的实施方式,仍旧参阅图6,该数据处理装置110还可以包括删除指令发送模块113,用于将计算结果数据发送给分布式存储设备500进行存储后,向hpc机群200发送数据删除指令,使hpc机群200根据数据删除指令删除hpc存储设备210中存储的计算结果数据。

在本公开所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

可以替换的,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的电子设备、服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,术语"包括"、"包含"或者其任何其它变体意在涵盖非排它性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对于本领域技术人员而言,显然本公开不限于上述示范性实施例的细节,而且在不背离本公开的精神或基本特征的情况下,能够以其它的具体形式实现本公开。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本公开的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本公开内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

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