一种数据处理方法和系统的制作方法

文档序号:6577770阅读:141来源:国知局
专利名称:一种数据处理方法和系统的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种数据处理方法和系统。
背景技术
为了提高访问文件的速度,常见的方法是采用性能更高的CPU (Central Processing Unit,中央处理器),带宽更大的接口。这些方案受限于接口的物理 带宽和CPU的最高速度。近几年以来,新发展出一种方法,用多个CPU和多 个接口组合起来共同提供更高的速度。
上述方法中,客户端节点读取数据的方法包括以下步骤
1、 客户端节点向主控节点发送读取数据请求;
2、 主控节点根据该请求从数据库获取一个全局唯一的文件ID (标识)和 获取被读取文件在各个存储节点的分布,返回给客户端节点;
3、 客户端节点根据返回的文件ID和文件分布信息,向存有文件数据的 各个存储节点分别创建通信连接,获取文件数据。
客户端节点写数据的方法包括以下步骤
1、 客户端节点向主控节点发送写数据请求;
2、 主控节点获取待写文件ID,并返回给客户端节点;
3、 客户端节点把文件分片后分别写入到所有的存储节点。 在实现本发明过程中,发明人发现现有技术中至少存在如下问题
1、 读取数据的时候,客户端节点需要分别和各存储节点建立连接,对客 户端节点的CPU消耗大速度慢;
2、 文件在整个系统每个存储节点都有分布,即使只要读写很少的数据,也需要启动所有存储节点,造成不必要的设备折旧,造成能源浪费。

发明内容
本发明实施例的目的在于提供一种数据处理方法和系统,用以节省能源, 放缓设备折旧速度。
为了实现上述目的,本发明实施例提供了一种数据处理方法,包括
多个存储节点中的一个全数据节点,获得分片文件,所述分片文件表示 一存储文件对应存储在所述多个存储节点中的数据,将所述分片文件进行整 合,保存整合后的文件;
在获知客户端节点请求读取所述存储文件时,发送所述整合后的文件给 所述客户端节点。
本发明实施例还提供了一种数据处理系统,包括与客户端节点进行通信 的多个存储节点,所述多个存储节点中包括至少一个全数据节点;
所述客户端节点,用于发送读数据请求,所述读数据请求用于请求读取
存储在所述全数据节点中的数据;
所述全数据节点,用于获得分片文件,所述分片文件表示一存储文件对 应存储在所述多个存储节点中的数据,将所述分片文件进行整合,保存整合 后的文件,在获知客户端节点请求读取所述存储文件时,发送所述整合后的 文件给所述客户端节点。
本发明实施例还提供了一种数据处理方法,包括-
接收客户端节点发送的读取数据请求,所述读取数据请求中携带待读取 的文件的目录和文件名;根据所述待读取文件的目录和文件名査询本地全局 文件数据表,获得文件标识,向全部存储节点广播所述文件标识以及所述客 户端节点的地址;
存储节点在根据所述文件标识确定本地保存相应文件时,根据所述客户 端节点的地址将相应数据发送给所述客户端节点。本发明实施例还提供了一种数据处理系统,包括与客户端节点进行通信 的主控节点和多个存储节点,其中
所述客户端节点,用于向所述主控节点发送读取数据请求,所述读取数 据请求中携带文件的目录和文件名;
所述主控节点,用于根据待读取文件的目录和文件名查询本地全局文件 数据表,获得全局唯一的文件标识,并向全部存储节点广播所述文件标识以
及所述客户端节点的地址;
所述存储节点,用于在根据所述文件标识确定本地保存相应文件时,根 据所述客户端节点的地址将相应数据发送给所述客户端节点。
本发明实施例的有益效果在于
采用本发明实施例提供的技术方案,多个存储节点中的一个全数据节点 获得一存储文件对应的分布在所述多个存储节点中的分片文件,将所述分片 文件进行整合,保存整合后的文件。由于整合后的文件是一个完整文件,则 在读取文件时,只需启动一个存储节点,可以节省能源,并且放缓设备折旧 速度。
采用本发明实施例提供的技术方案,接收客户端节点发送的读取数据请
求,所述读取数据请求中携带待读取的文件的目录和文件名;根据所述待读
取文件的目录和文件名查询本地全局文件数据表,获得文件标识,向全部存 储节点广播所述文件标识以及所述客户端节点的地址,存储节点根据文件标 识确定本地保存相应文件时,根据客户端节点的地址将相应数据发送给客户 端节点。由于不需要客户端节点来和存储节点建立连接,采用广播令存储节 点获知客户端节点需要读取文件,提升了系统性能。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图1为本发明实施例提供的一种数据存储的方法的流程图2为本发明实施例中多个存储节点中的一个全数据节点的数据处理流 程图3为本发明实施例提供的一种数据读取的方法的流程图4为实施例一中的数据处理系统示意图5为实施例一中的数据存储的方法的流程图6为实施例一中的性能节点的控制流程图7为实施例二中的数据处理系统示意图8为实施例二中数据存储的方法的流程图9为实施例二中数据读取的方法的流程图。
具体实施例方式
本发明实施例提供的一种数据存储的方法,如图1所示,包括
步骤S101,客户端节点从主控节点获取待存储文件的ID以及多个存储节 点的地址,并将待存储文件分片后分别写入多个存储节点;
步骤S102,多个存储节点中的一个全数据节点将一存储文件分布在多个 存储节点中的分片文件收集并作为一个完整文件保存。
步骤S102也可以表达为获得一存储文件对应的分布在多个存储节点中 的分片文件,并将各分片文件进行整合且保存整合后的文件。也就是说,获 得分片文件,所述分片文件表示一存储文件对应存储在所述多个存储节点中 的数据,将所述分片文件进行整合,保存整合后的文件。
对于多个存储节点中的一个全数据节点来说,其数据处理流程如图2所 示,包括
步骤S201,获得一存储文件对应的分布在多个存储节点中的分片文件,将各分片文件进行整合,保存整合后的文件;
步骤S202,在获知客户端节点请求读取该存储文件时,发送整合后的文 件给客户端节点。
由于整合后的文件是一个完整文件,则在客户端节点读取文件时,只需 启动一个存储节点,可以节省能源,并且放缓设备折旧速度。另外,由于文 件只在一个存储节点中保存,那么,即使采用现有技术中的数据读取方法, 即由客户端节点来和存储节点建立连接,也能够降低客户端节点的CPU的消 耗,并提高数据读取速度。
本发明实施例提供的一种数据读取的方法,包括主控节点接收客户端 节点发送的读取数据请求,所述读取数据请求中携带待读取的文件的目录和
文件名;根据所述待读取文件的目录和文件名查询本地全局文件数据表,获 得文件标识,向全部存储节点广播所述文件标识以及所述客户端节点的地址;
存储节点在根据所述文件标识确定本地保存相应文件时,根据所述客户 端节点的地址将相应数据发送给所述客户端节点。
该数据读取的方法具体可如图3所示,包括
步骤S301,客户端节点向主控节点请求读取文件;
步骤S302,主控节点根据待读取文件的目录和文件名査询本地全局文件 数据表,获得全局唯一的文件标识,并向全部存储节点广播文件标识以及客 户端节点的地址;
步骤S303,存储节点根据文件标识判断本地是否保存相应文件,若是, 进行步骤S304,否则,直接结束;
步骤S304,存储节点根据客户端节点的地址将相应数据发送给客户端节点。
在采用图3所示的数据读取的方法时,存储节点获知客户端节点请求读
取一存储文件的方法可以为接收主控节点的读取广播消息,该读取广播消 息中包括一存储文件全局唯一的文件标识以及客户端节点的地址,在确定该
9文件标识对应该存储文件时,获知客户端节点请求读取该存储文件。
由于不需要客户端节点来和存储节点建立连接,采用广播的方式令存储
节点获知客户端节点需要读取文件,极大地提升了系统性能。
上述数据存储的方法和数据读取的方法可以配合使用,也可以单独使用,
在其各自单独使用时,可以配合其他相应存储或读取方法,本发明实施例中
不对具体的配合使用的存储或读取方法进行限定。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 详细描述。
实施例一
本实施例中的数据处理系统,如图4所示,包括主控节点(即图中的M 节点)、客户端节点(即图中的C节点)和存储节点,存储节点包括全数据 节点(即图中的B节点)和性能节点(即图中的D节点)。
本实施例中数据存储的方法,如图5所示,包括
步骤S401,客户端节点向主控节点发送写数据请求;
步骤S402,主控节点为待存储文件分配ID,并将该文件ID与存储节点 的地址发送给客户端节点;
步骤S403,客户端节点将待存储文件分片后分别写入多个存储节点;
步骤S404,多个存储节点中的一个全数据节点获得一存储文件对应的分 布在多个存储节点中的分片文件,并将各分片文件进行整合且保存整合后的 文件。
本实施例中数据读取的方法可以是如图3所示的数据读取方法,也可以 是现有技术中的数据读取方法。
由于在本实施例中将文件作为完整文件保存,则在读取文件时,只需启 动一个存储节点,可以节省能源,并且放缓设备折旧速度。另外,由于文件 只在一个存储节点中保存,那么,即使采用现有技术中的数据读取方法,即 由客户端节点来和存储节点建立连接,也能够降低客户端节点的CPU的消耗,并提高数据读取速度。
另外,在本实施例中,还包括一个性能节点的控制流程,如图6所示, 包括
步骤S501,统计存储节点的访问量;
步骤S502,判断各个存储节点的平均访问量是否小于第一设定阈值,若 是,进行步骤S503,否则进行步骤S504;
步骤S503,选择部分性能节点,并将选择到的性能节点的数据转移到剩 余的存储节点,并在转移完成后关闭选择到的性能节点,结束;
在本步骤中,性能节点的选择规则可以根据实际需要进行设定,这里不 作限定。
在具体实现时,也可以在选择部分性能节点后,先判断各选择到的性能 节点上是否保存有数据,若是,则进行数据的转移,否则,就不需要进行转 移操作。
步骤S504,判断各个存储节点的平均访问量是否大于第二设定阈值,第 二设定阈值大于第一设定阈值,若是,进行步骤S405,否则直接结束;
步骤S505,开启部分或者全部处于关闭状态的性能节点。
在本步骤中,选择开启哪些性能节点的具体方法可以根据实际需要进行 处理,这里不作限定。
在具体实现时,可以在访问量大时增加开启的性能节点数量,访问量小 时降低开启的性能节点数量,不局限于上述性能节点的控制流程。
为了确保数据冗余备份和系统可靠,可以增加主控节点和全数据节点的 数目。
由于在采用图3所示的数据读取方法的情况下,其对应的数据存储方法 可以采用现有技术中的数据存储方法,也可以采用本发明实施例中提供的数 据存储方法,在采用现有技术中的数据存储方法的情况下,存储节点可以不 区分为全数据节点和性能节点,但为了提高存储节点的利用率,降低能耗,仍然可以对存储节点的开启和关闭控制,具体可以统计各个存储节点的访问 量,若各个存储节点的平均访问量小于第一设定阈值,则选择部分存储节点, 并将选择到的存储节点的数据转移到剩余的存储节点,并在转移完成后关闭 所述选择到的存储节点。若各个存储节点的平均访问量大于第二设定阈值, 所述第二设定阈值大于所述第一设定阈值,则开启部分或者全部处于关闭状 态的性能节点。
本实施例中的数据处理系统,包括与客户端节点进行通信的多个存储节
点,该多个存储节点中包括至少一个全数据节点;
全数据节点,用于获得一存储文件对应的分布在多个存储节点中的分片 文件,并将各分片文件进行整合且保存整合后的文件,且在获知客户端节点 请求读取该存储文件时,发送整合后的文件给客户端节点。
上述数据处理系统的多个存储节点可以全部都是全数据节点,也可以一 部分是全数据节点一部分是性能节点,总之,该多个存储节点中至少包括一 个全数据节点。
在另一个实施例中,该数据处理系统还可以包括主控节点、客户端节点,
在本实施例中数据读取的方法采用如图3所示的数据读取方法的情况下
客户端节点,用于向主控节点发送读取数据请求,读取数据请求中携带
文件的目录和文件名;
主控节点,用于根据文件的目录和文件名査询本地全局文件数据表,获 得全局唯一的文件标识,并向全部存储节点广播文件标识以及客户端节点的 地址;
存储节点还用于接收主控节点的广播,并在根据文件标识确定出本地保 存相应文件时,根据客户端节点的地址将相应数据发送给客户端节点。
在本实施例中进行如图6所示的性能节点的控制流程的情况下,主控节
点还用于统计多个存储节点的访问量,若各个存储节点的平均访问量小于第 一设定阈值,则选择部分性能节点,并将选择到的性能节点的数据转移到剩余的存储节点,并在转移完成后关闭选择到的性能节点;若各个存储节点的
平均访问量大于第二设定阈值,若第二设定阈值大于第一设定阈值,则开启 部分或者全部处于关闭状态的性能节点。在具体实现时,主控节点中可以保 存各存储节点的状态信息,则在关闭或开启性能节点后,主控节点更新该状 态信息。
由于在具体实现时,图3所示的数据读取方法不一定对应本发明实施例
中提供的数据存储方法,本实施例还提供一种数据处理系统,包括主控节点、
客户端节点和多个存储节点,其中
所述客户端节点,用于向所述主控节点发送读取数据请求,所述读取数 据请求中携带文件的目录和文件名;
所述主控节点,用于根据待读取文件的目录和文件名查询本地全局文件 数据表,获得全局唯一的文件标识,并向全部存储节点广播所述文件标识以
及所述客户端节点的地址;
所述存储节点,用于在根据所述文件标识确定本地保存相应文件时,根 据所述客户端节点的地址将相应数据发送给所述客户端节点。
为了对存储节点的开启和关闭进行控制,所述主控节点还可以用于,统 计各个存储节点的访问量,若各个存储节点的平均访问量小于第一设定阈值, 则选择部分存储节点,并将选择到的存储节点的数据转移到剩余的存储节点, 并在转移完成后关闭所述选择到的存储节点。
在具体实现时,主控节点可以是一个计算节点,主要特点是计算能力强,
内存大,在内存里面保存所有的目录、文件、文件ID信息,根据读写请求里
面的目录名、文件名可以快速获得文件ID;保存有存储节点的地址信息和状
态信息;有网络接口可以通过网络和客户端节点、存储节点进行通信。
全数据节点可以是一个计算存储节点,主要特点是连接有数量多容量大 的磁盘,有网络接口通过网络和主控节点、性能节点、客户端节点进行通信, 从成本考虑可以使用便宜的机械式硬盘。客户端节点可以是一个需要读写文件的客户端,客户端的应用软件通过 客户端节点里面的文件系统客户端软件读写文件,就像读写本地文件一样, 客户端节点有网络接口可以通过网络和主控节点、存储节点进行通信。
性能节点可以是一个计算存储节点,主要特点是有大量的内存,可以缓 存文件数据,同时有大容量的SSD硬盘,这是由于性能节点容量可以比较小,
很少访问的数据可以在性能节点删除,所以性能节点可以使用SSD(Solid State Disk,固态硬盘)这种高性能的存储器,也可以使用高速硬盘;性能节点有网 络接口通过网络可以和主控节点、全数据节点、客户端节点进行通信。
在本实施例中,供各个节点进行通信的网络可以为以太网,通过以太网 交换机或者HUB连接;也可以使用InfiniBand交换机,各个节点通过InfiniBand 适配器(HBA, Host Bus Adapter)和交换机连接;可以使用Myrinet交换机。 各个节点通过Myrinet适配器(MyrinetHBA)和交换机连接;可以使用ATM (Asynchronous Transfer Mode,异步传输模式)交换机,各个节点通过ATM 适配器(ATMHBA)和交换机连接;可以使用智能光网络交换机,各个节点 通过智能光网络适配器和交换机连接。
实施例二
在本实施例中,主控节点与全数据节点可以合并设置,则本实施例中的 数据处理系统如图7所示,其中,M,节点为合并后的主控节点与全数据节点, 称为合并节点,D节点为性能节点,C为客户端节点。
本实施例中数据存储的方法,如图8所示,包括
步骤S601,客户端节点向合并节点发送写数据请求;
步骤S602,合并节点为待存储文件分配ID,并将该文件ID与性能节点 的地址发送给客户端节点;
步骤S603,客户端节点将待存储文件分片后分别写入各性能节点和合并 节点;
步骤S604,该合并节点获得一存储文件对应的分布在多个存储节点中的分片文件,并将各分片文件进行整合且保存整合后的文件。
由于在系统中可以包括多个合并节点,因此,合并节点也可以在客户端 节点请求写数据时,将其他合并节点的地址也发送给客户端节点,则客户端 节点将待存储文件分片后分别写入各性能节点和各合并节点,在这种情况下, 最终收集文件的合并节点可以不是最初为客户端分配文件ID的那个合并节 点。
本实施例中数据读取的方法,如图9所示,包括 步骤S701,客户端节点向合并节点请求读取文件;
步骤S702,合并节点根据待读取文件的目录和文件名查询本地全局文件 数据表,获得全局唯一的文件标识,并向全部性能节点广播文件标识以及客 户端节点的地址;
步骤S703,性能节点以及合并节点根据文件标识判断本地是否保存相应 文件,若是,进行步骤S704,否则,直接结束;
步骤S704,性能节点以及合并节点根据客户端节点的地址将相应数据发 送给客户端节点。
在本实施例中,同样可以具有实施例一中所述的性能节点的控制流程, 也同样可以增加主控节点和全数据节点的数目来确保数据冗余备份和系统可罪。
在本实施例中,供各个节点进行通信的网络可以为以太网,通过以太网
交换机或者HUB连接;也可以使用InfiniBand交换机,各个节点通过InfiniBand 适配器(HBA, Host Bus Adapter)和交换机连接;可以使用Myrinet交换机。 各个节点通过Myrinet适配器(MyrinetHBA)和交换机连接;可以使用ATM 交换机,各个节点通过ATM适配器(ATMHBA)和交换机连接;可以使用 智能光网络交换机,各个节点通过智能光网络适配器和交换机连接。
综上所述,采用本发明实施例提供的技术方案,由于将文件作为完整文 件保存,则在读取文件时,只需启动一个存储节点,可以节省能源,并且放缓设备折旧速度。
系统性能可以根据需要提供,性能节点可以作为加速节点,在性能需要 扩充的时候,可以增加节点。在性能需要降低的时候,关闭性能节点,同样 可以省电,放缓设备折旧速度。
并且,由于采用广播的方式,并发的方式,极大提升了系统性能。
性能节点可以使用大内存和SSD结合,比机械磁盘提供更好的性能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于 一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施
例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本 发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要 求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种数据处理方法,其特征在于,包括多个存储节点中的一个全数据节点,获得分片文件,所述分片文件表示一存储文件对应存储在所述多个存储节点中的数据,将所述分片文件进行整合,保存整合后的文件;在获知客户端节点请求读取所述存储文件时,发送所述整合后的文件给所述客户端节点。
2、 根据权利要求1所述的方法,其特征在于,还包括所述获知客户端节点请求读取所述存储文件的方法为接收主控节点的 读取广播消息,所述读取广播消息中包括一存储文件的文件标识以及客户端 节点的地址,在确定所述文件标识对应所述存储文件时,获知客户端节点请 求读取所述存储文件。
3、 根据权利要求1所述的方法,其特征在于,所述多个存储节点中包括 全数据节点和性能节点;统计所述多个存储节点的访问量,若各个存储节点的平均访问量小于第 一设定阈值,则选择部分性能节点,并将选择到的性能节点的数据转移到剩 余的存储节点,并在转移完成后关闭所述选择到的性能节点。
4、 根据权利要求3所述的方法,其特征在于,若各个存储节点的平均访问量大于第二设定阈值,所述第二设定阈值大于所述第一设定阈值,则开启 部分或者全部处于关闭状态的性能节点。
5、 一种数据处理系统,其特征在于,包括与客户端节点进行通信的多个 存储节点,所述多个存储节点中包括至少一个全数据节点;所述客户端节点,用于发送读数据请求,所述读数据请求用于请求读取 存储在所述全数据节点中的数据;所述全数据节点,用于获得分片文件,所述分片文件表示一存储文件对应存储在所述多个存储节点中的数据,将所述分片文件进行整合,保存整合 后的文件,在获知所述客户端节点请求读取所述存储文件时,发送所述整合 后的文件给所述客户端节点。
6、 根据权利要求5所述的系统,其特征在于,还包括主控节点,用于接收所述客户端节点发送的读取数据请求,所述读取数 据请求中携带待读取的文件的目录和文件名;根据所述文件的目录和所述文 件名查询本地全局文件数据表,获得文件标识,向全部存储节点广播所述文 件标识以及所述客户端节点的地址;所述存储节点还用于,接收所述主控节点的广播,并在根据所述文件标 识确定出本地保存相应文件时,根据所述客户端节点的地址将相应数据发送 给所述客户端节点。
7、 根据权利要求6所述的系统,其特征在于,所述主控节点还用于,统计所述多个存储节点的访问量,若各个存储节 点的平均访问量小于第一设定阈值,则选择部分性能节点,并将选择到的性 能节点的数据转移到剩余的存储节点,并在转移完成后关闭所述选择到的性 能节点;若各个存储节点的平均访问量大于第二设定阈值,若所述第二设定 阈值大于所述第一设定阈值,则开启部分或者全部处于关闭状态的性能节点。
8、 根据权利要求6所述的系统,其特征在于,所述性能节点为固态硬盘 或者高速硬盘。
9、 一种数据处理方法,其特征在于,包括接收客户端节点发送的读取数据请求,所述读取数据请求中携带待读取 的文件的目录和文件名;根据所述待读取文件的目录和文件名査询本地全局 文件数据表,获得文件标识,向全部存储节点广播所述文件标识以及所述客 户端节点的地址;存储节点在根据所述文件标识确定本地保存相应文件时,根据所述客户 端节点的地址将相应数据发送给所述客户端节点。
10、 根据权利要求9所述的方法,其特征在于,统计各个存储节点的访 问量,若各个存储节点的平均访问量小于第一设定阈值,则选择部分存储节 点,并将选择到的存储节点的数据转移到剩余的存储节点,并在转移完成后 关闭所述选择到的存储节点。
11、 一种数据处理系统,其特征在于,包括与客户端节点进行通信的的 主控节点和多个存储节点,其中所述客户端节点,用于向所述主控节点发送读取数据请求,所述读取数 据请求中携带文件的目录和文件名 ,所述主控节点,用于根据待读取文件的目录和文件名査询本地全局文件 数据表,获得文件标识,并向全部存储节点广播所述文件标识以及所述客户 端节点的地址;所述存储节点,用于在根据所述文件标识确定本地保存相应文件时,根 据所述客户端节点的地址将相应数据发送给所述客户端节点。
12、 根据权利要求11所述的方法,其特征在于,所述主控节点还用于, 统计各个存储节点的访问量,若各个存储节点的平均访问量小于第一设定阈 值,则选择部分存储节点,并将选择到的存储节点的数据转移到剩余的存储 节点,并在转移完成后关闭所述选择到的存储节点。
全文摘要
本发明公开了一种数据处理方法和系统,用以节省能源,放缓设备折旧速度。该方法包括多个存储节点中的一个全数据节点获得一存储文件对应的分布在所述多个存储节点中的分片文件,将所述分片文件进行整合,保存整合后的文件;在获知客户端节点请求读取所述存储文件时,发送所述整合后的文件给所述客户端节点。采用本发明实施例提供的技术方案,由于保存整合后的文件,则在读取文件时,只需启动一个存储节点,可以节省能源,并且放缓设备折旧速度。
文档编号G06F17/30GK101510223SQ20091013410
公开日2009年8月19日 申请日期2009年4月3日 优先权日2009年4月3日
发明者海 文 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1