一种数据处理方法及装置与流程

文档序号:14843678发布日期:2018-06-30 14:31阅读:156来源:国知局
一种数据处理方法及装置与流程

本发明涉及互联网技术领域,尤其涉及一种数据处理方法及装置。



背景技术:

云存储是一个以数据存储和管理为核心的云计算系统,具体可以是通过集群应用、网络技术或分布式文件系统等功能,将网络中的存储集群通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。但是一个云计算系统通常管理多种数据,不同数据对存储资源的性能需求各不相同,而传统的云存储系统并没有将存储集群按照存储性能的不同进行划分,无法满足不同数据对存储资源的性能需求,降低存储的可靠性。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种数据处理方法及装置,可满足不同数据对存储性能的需求,提高数据存储的可靠性。

为了解决上述技术问题,本发明实施例提供了一种数据处理方法,所述方法包括:

获取当前需要存储的第一数据的存储性能等级;

根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取所述第一数据的存储性能等级对应的第一集群标识;

在所述第一集群标识对应的存储集群中调度存储资源,所述存储资源用于存储所述第一数据,所述存储资源的资源量与所述第一数据的数据量相匹配。

相应地,本发明实施例还提供了一种数据处理装置,所述装置包括:

性能等级获取单元,用于获取当前需要存储的第一数据的存储性能等级;

集群标识获取单元,用于根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取所述第一数据的存储性能等级对应的第一集群标识;

存储资源调度单元,用于在所述第一集群标识对应的存储集群中调度存储资源,所述存储资源用于存储所述第一数据,所述存储资源的资源量与所述第一数据的数据量相匹配。

实施本发明实施例,通过获取当前需要存储的第一数据的存储性能等级,根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第一数据的存储性能等级对应的第一集群标识,在第一集群标识对应的存储集群中调度存储资源,存储资源用于存储第一数据,可满足不同数据对存储性能的需求,提高数据存储的可靠性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;

图1是本发明实施例中提供的一种数据处理系统的架构示意图;

图2是本发明实施例中提供的一种数据处理方法的流程示意图;

图3是本发明实施例中提供的一种数据处理装置的结构示意图;

图4是本发明实施例中提供的一种控制器的结构示意图;

图5是本发明实施例中提供的一种配置文件的示意图;

图6是本发明另一实施例中提供的一种配置文件的示意图;

图7是本发明实施例中提供的一种配置存储后端的详细信息的示意图;

图8是本发明实施例中提供的一种配置卷类型的示意图;

图9a是本发明实施例中提供的一种示意图;

图9b是本发明另一实施例中提供的一种示意图;

图10是本发明实施例中提供的一种创建卷的示意图;

图11是本发明实施例中提供的一种卷挂载到虚拟机的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种数据处理方法,控制器可以获取当前需要存储的第一数据的存储性能等级,根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第一数据的存储性能等级对应的第一集群标识,在第一集群标识对应的存储集群中调度存储资源,存储资源用于存储第一数据,可满足不同数据对存储性能的需求,提高数据存储的可靠性。

示例性的,控制器可以为OpenStack(开源的云计算管理平台)基础云中的云控制器或者集群控制器等,具体不受本申请实施例的限制。

基于上述原理,本发明实施例公开了图1所示的一种数据处理系统的架构示意图。如图1所示,该数据处理系统可以包括至少一个控制器、Ceph(可扩展存储空间)集群1、Ceph集群2以及基于内核的虚拟机(Kernel-based Virtual Machine,KVM)集群,控制器可以分别和Ceph集群1、Ceph集群2以及KVM集群建立通信连接,Ceph集群1可以和KVM集群建立通信连接,Ceph集群2可以和KVM集群建立通信连接。

其中,一个OpenStack的Region中可以包括一个KVM集群和至少两个Ceph集群。一个Ceph集群可以包括至少一个存储节点,KVM集群可以包括至少一个虚拟机。控制器可以对上述一个KVM集群和至少两个Ceph集群进行管理。控制器可以分别在Ceph集群1和Ceph集群2中创建云存储的卷,卷指的是资源量为指定资源量的存储资源,在Ceph集群1中创建的卷和Ceph集群2中创建的卷可以同时挂载给KVM集群中同一台虚拟机上,也可以挂载给KVM集群中不同的虚拟机。

基于上述原理,本发明实施例公开了图2所示的一种数据处理方法的架构示意图。如图2所示,该数据处理方法至少可以包括以下步骤:

S201,获取当前需要存储的第一数据的存储性能等级。

控制器可以获取当前需要存储的第一数据的存储性能等级,例如第一数据为音视频数据或者即时通讯数据时,由于音视频数据或者即时通讯数据对实时性需求较高,则该第一数据要求高性能存储,则第一数据的存储性能等级较高,又如第一数据为网页数据时,由于网页数据对实时性需求较低,该第一数据可以进行普通存储,则该第一数据的存储性能等级较低。示例性的,控制器可以为图1所示的控制器。

其中,存储性能等级至少包括:用于以第一存储速度存储数据的第一存储性能等级,以及用于以第二存储速度存储数据的第二存储性能等级。需要说明的是,本发明实施例中存储性能等级包含但不局限于两个存储性能等级,例如控制器基于数据对实时性的需求将数据的数据类型配置为第一数据类型、第二数据类型以及第三数据类型,第一数据类型的数据对实时性需求较高,则第一数据类型的数据的存储性能等级可以为用于以第一存储速度存储数据的第一存储性能等级;第二数据类型的数据相对第一数据类型的数据对实时性需求较低,则第二数据类型的数据的存储性能等级可以为用于以第二存储速度存储数据的第二存储性能等级;第三数据类型的数据相对第二数据类型的数据对实时性需求较低,则第三数据类型的数据的存储性能等级可以为用于以第三存储速度存储数据的第三存储性能等级,其中第一存储速度可以大于第二存储速度,第二存储速度可以大于第三存储速度。

可选的,控制器可以接收虚拟机发送的存储资源获取请求,存储资源获取请求携带第一数据的存储性能等级,根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第一数据的存储性能等级对应的第一集群标识,在第一集群标识对应的存储集群中调度存储资源,并将存储资源发送给虚拟机,以使虚拟机使用存储资源存储第一数据。示例性的,存储集群可以为图1中的Ceph集群,例如Ceph集群1或者Ceph集群2。

具体实现中,控制器可以预先建立存储性能等级和存储集群的集群标识的对应关系,例如控制器配置了两个存储集群,分别为第一存储集群和第二存储集群,其中第一存储集群的存储性能高于第二存储集群的存储性能,则控制器可以建立第一存储性能等级和第一存储集群的集群标识的对应关系,并建立第二存储性能等级和第二存储集群的集群标识的对应关系。其中,第一存储性能等级用于以第一存储速度存储数据,第二存储性能等级用于以第二存储速度存储数据,第一存储速度大于第二存储速度,则第一存储性能等级高于第二存储性能等级。需要说明的是,控制器可以根据应用场景的需要,对各个存储集群所包含的控制节点进行更新,从而改变各个存储集群的存储性能等级,具体不受本发明实施例的限制。存储集群的集群标识可以用于唯一标识该存储集群,集群标识可以包括存储集群的集群名称或者对存储集群配置的集群编号等,例如第一存储集群的集群标识为Ceph集群1,第二存储集群的集群标识为Ceph集群2。

另外,KVM集群中的一个KVM中存在需要存储的第一数据时,该KVM可以获取第一数据的存储性能等级,并生成关于第一数据的存储资源获取请求,其中该存储资源获取请求携带第一数据的存储性能等级,该KVM可以将该存储资源获取请求发送给控制器。控制器根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第一数据的存储性能等级对应的第一集群标识,在第一集群标识对应的存储集群中调度存储资源,并将存储资源发送给该虚拟机,以使该虚拟机使用上述调度得到的存储资源存储第一数据。

S202,根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第一数据的存储性能等级对应的第一集群标识。

具体的,控制器获取当前需要存储的第一数据的存储性能等级之后,可以根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第一数据的存储性能等级对应的第一集群标识。例如,第一存储性能等级对应第一存储集群的集群标识,第二存储性能等级对应第二存储集群的集群标识,则控制器获取到第一数据的存储性能等级为第一存储性能等级之后,可以获取第一数据的存储性能等级对应的第一集群标识为第一存储集群的集群标识;或者控制器获取到第一数据的存储性能等级为第二存储性能等级之后,可以获取第一数据的存储性能等级对应的第一集群标识为第二存储集群的集群标识。

可选的,控制器根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第一数据的存储性能等级对应的第一集群标识之前,可以生成各个存储集群的配置文件,配置文件可以包括存储集群的集群标识及其属性信息,属性信息包括各个用户对存储集群的控制权限、存储集群所包含的存储设备的设备信息以及存储集群所包含的存储资源总和。

示例性的,当存在两个存储集群(例如Ceph集群1和Ceph集群2)时,控制器可以配置Ceph集群1的目录ceph1,该目录用于放置Ceph集群1的配置文件。目录ceph1可以如下所示:

[root@DEVSSTEST-CON1~]#cd/etc/ceph

ceph1/cephbak/

另外,Ceph集群1的配置文件可以如图5所示,其中cinder、glance或者root可以表示用户,-rw-------或者-rw-r--r--可以表示不同用户的权限。例如,用户root对应的权限为-rw-------,用于表示Ceph集群1的配置文件对于用户root而言是可读且可写的,即用户root可以读取Ceph集群1的配置文件,也可以修改Ceph集群1的配置文件。又如,用户cinder对应的权限为-rw-r--r--,用于表示Ceph集群1的配置文件对于用户cinder而言是可读且不可写的,即用户cinder可以读取Ceph集群1的配置文件,但不可以修改Ceph集群1的配置文件。又如,用户glance对应的权限为-rw-r--r--,用于表示Ceph集群1的配置文件对于用户glance而言是可读且不可写的,即用户glance可以读取Ceph集群1的配置文件,但不可以修改Ceph集群1的配置文件。本发明实施例中控制器需要确保配置文件中用户及其对配置文件的权限是正确的,以便正确运行Ceph集群1。示例性的,mon_host=10.125.224.82,10.125.224.83,10.125.224.84可以表示Ceph集群1的IP地址为10.125.224.82、10.125.224.83或者10.125.224.84。fsid=26a79278-9104-4e72-9343-9a369395a7d5可以表示Ceph集群1的集群标识。

进一步的,控制器还可以配置Ceph集群2的目录ceph2,该目录用于放置Ceph集群2的配置文件。目录ceph2可以如下所示:

[root@DEVSSTEST-CON1~]#cd/etc/ceph

Ceph2/cephbak/

另外,Ceph集群2的配置文件可以如图6所示,其中cinder、glance或者root可以表示用户,-rw-------或者-rw-r--r--可以表示不同用户的权限。例如,用户root对应的权限为-rw-------,用于表示Ceph集群2的配置文件对于用户root而言是可读且可写的,即用户root可以读取Ceph集群2的配置文件,也可以修改Ceph集群2的配置文件。又如,用户cinder对应的权限为-rw-r--r--,用于表示Ceph集群2的配置文件对于用户cinder而言是可读且不可写的,即用户cinder可以读取Ceph集群2的配置文件,但不可以修改Ceph集群2的配置文件。又如,用户glance对应的权限为-rw-r--r--,用于表示Ceph集群2的配置文件对于用户glance而言是可读且不可写的,即用户glance可以读取Ceph集群2的配置文件,但不可以修改Ceph集群2的配置文件。本发明实施例中控制器需要确保配置文件中用户及其对配置文件的权限是正确的,以便正确运行Ceph集群2。示例性的,mon_host=10.125.224.13,10.125.224.19,10.125.224.21可以表示Ceph集群2的IP地址为10.125.224.13、10.125.224.19或者10.125.224.21。fsid=6260a31d-137f-4e54-bb51-a67065510d8f可以表示Ceph集群2的集群标识。

可选的,控制器可以在第一集群中调度资源量为第一预设资源量的第一存储资源,并在第二集群中调度资源量为第二预设资源量的第二存储资源,确定第一存储资源的资源类型与第一集群的集群标识匹配,第二存储资源的资源类型与第二集群的集群标识匹配,将第一存储资源和第二存储资源发送给虚拟机,以使虚拟机获取第一数据的存储性能等级,虚拟机根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第一数据的存储性能等级对应的第一集群标识,虚拟机确定与第一集群标识相匹配的资源类型,虚拟机使用资源类型所指示的存储资源存储第一数据。

举例来说,控制器可以配置cinder.conf文件,cinder.conf文件用于配置各个存储集群对应的存储设备,例如enabled_backends=cephdriver-1,cephdriver-2。其中,存储设备可以为存储后端,即存储集群对应的实体设备。控制器可以配置各个存储设备的详细信息,例如存储设备的设备标识、存储设备所包含的存储节点的数量或者各个存储节点的节点标识等,示例性的,可以如下所示:

volume_driver、volume_backend_name、rbd_pool、rbd_ceph_conf、rbd_flatten_volume_from_snapshot、rbd_max_clone_depth、rbd_store_chunk_size、rados_connect_timeout、glance_api_version、rbd_user、rbd_secret_uuid。控制器配置的存储设备的详细信息可以如7所示。

另外,控制器可以在块存储中声明卷的类型,如图8所示,控制器在第一存储集群中声明卷的类型为ssd,在第二存储集群中声明卷的类型为all。由于第一存储集群的存储性能高于第二存储集群的存储性能,则类型为ssd的卷的内存性能高于类型为all的卷的存储性能。

另外,控制器还可以生成卷的类型和存储设备的设备标识的对应关系,卷的类型和存储设备的设备标识的对应关系可以如图9a以及9b所示。

进一步的,控制器可以在第一集群中调度资源量为第一预设资源量的第一存储资源,并在第二集群中调度资源量为第二预设资源量的第二存储资源。以图10所示的示意图为例,控制器可以在Ceph集群1中创建第一卷,在Ceph集群2中创建第二卷,其中第一卷和第二卷的类型不相同。以图11所示的示意图为例,控制器还可以将上述创建得到的第一卷和第二卷挂载到同一个KVM,以便该KVM可以使用不同类型的卷存储不同存储性能需求的数据,以满足不同存储性能需求的数据对存储资源的需求。

S203,在第一集群标识对应的存储集群中调度存储资源。

控制器根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第一数据的存储性能等级对应的第一集群标识之后,可以在第一集群标识对应的存储集群中调度存储资源,该存储资源可以用于存储第一数据,其中存储资源的资源量可以和第一数据的数据量匹配,例如存储资源的资源量可以大于或者等于第一数据的数据量,以便完整存储第一数据。

可选的,控制器还可以获取当前需要读取的第二数据的存储性能等级,根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第二数据的存储性能等级对应的第二集群标识,在第二集群标识对应的存储集群中读取第二数据。例如,控制器需要读取第二数据时,控制器可以根据第二数据的存储性能等级确定存储第二数据的存储集群,即控制器可以根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第二数据的存储性能等级对应的第二集群标识,在第二集群标识对应的存储集群中读取第二数据。

本发明实施例中,获取当前需要存储的第一数据的存储性能等级,根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第一数据的存储性能等级对应的第一集群标识,在第一集群标识对应的存储集群中调度存储资源,存储资源用于存储第一数据,可满足不同数据对存储性能的需求,提高数据存储的可靠性。

请参见图3,图3是本发明实施例中提供的一种数据处理装置的结构示意图,所述数据处理装置可以用于实施结合图2所示的方法实施例中的部分或全部步骤,如图所示本实施例中的数据处理装置至少可以包括性能等级获取单元301、集群标识获取单元302以及存储资源调度单元303,其中:

性能等级获取单元301,用于获取当前需要存储的第一数据的存储性能等级。

集群标识获取单元302,用于根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取所述第一数据的存储性能等级对应的第一集群标识。

存储资源调度单元303,用于在所述第一集群标识对应的存储集群中调度存储资源,所述存储资源用于存储所述第一数据,所述存储资源的资源量与所述第一数据的数据量相匹配。

可选的,所述存储性能等级至少包括:用于以第一存储速度存储数据的第一存储性能等级,以及用于以第二存储速度存储数据的第二存储性能等级。

可选的,所述性能等级获取单元301,还用于获取当前需要读取的第二数据的存储性能等级。

所述集群标识获取单元302,还用于根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取所述第二数据的存储性能等级对应的第二集群标识。

进一步的,本发明实施例中的数据处理装置还可以包括:

数据读取单元304,用于在所述第二集群标识对应的存储集群中读取所述第二数据。

可选的,本发明实施例中的数据处理装置还可以包括:

配置文件生成单元305,用于所述集群标识获取单元302根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取所述第一数据的存储性能等级对应的第一集群标识之前,生成各个所述存储集群的配置文件,所述配置文件包括所述存储集群的集群标识及其属性信息,所述属性信息包括各个用户对所述存储集群的控制权限、所述存储集群所包含的存储设备的设备信息以及所述存储集群所包含的存储资源总和。

可选的,所述性能等级获取单元301,用于接收虚拟机发送的存储资源获取请求,所述存储资源获取请求携带所述第一数据的存储性能等级。

进一步的,本发明实施例中的数据处理装置还可以包括:

存储资源发送单元306,用于所述存储资源调度单元303在所述第一集群标识对应的存储集群中调度存储资源之后,将所述存储资源发送给所述虚拟机,以使所述虚拟机使用所述存储资源存储所述第一数据。

可选的,所述存储资源调度单元303,还用于在第一集群中调度资源量为第一预设资源量的第一存储资源,并在第二集群中调度资源量为第二预设资源量的第二存储资源。

进一步的,本发明实施例中的数据处理装置还可以包括:

确定单元307,用于确定所述第一存储资源的资源类型与所述第一集群的集群标识匹配,所述第二存储资源的资源类型与所述第二集群的集群标识匹配。

存储资源发送单元306,用于将所述第一存储资源和所述第二存储资源发送给虚拟机,以使所述虚拟机获取所述第一数据的存储性能等级,所述虚拟机根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取所述第一数据的存储性能等级对应的第一集群标识,所述虚拟机确定与所述第一集群标识相匹配的资源类型,所述虚拟机使用所述资源类型所指示的存储资源存储所述第一数据。

本发明实施例中,性能等级获取单元301获取当前需要存储的第一数据的存储性能等级,集群标识获取单元302根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取第一数据的存储性能等级对应的第一集群标识,存储资源调度单元303在第一集群标识对应的存储集群中调度存储资源,可满足不同数据对存储性能的需求,提高数据存储的可靠性。

请参见图4,图4是本发明实施例中提供的一种控制器的结构示意图,本发明实施例提供的控制器可以用于实施上述图2所示的本发明实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图2所示的本发明实施例。

如图4所示,该控制器包括:至少一个处理器401,例如CPU,至少一个输入装置403,至少一个输出装置404,存储器405,至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。其中,输入装置403具体可以为网络接口等,用于与存储集群之间进行交互。其中,输出装置404具体可以为网络接口等,用于与存储集群之间进行交互。其中,存储器405可能包含高速RAM存储器,也可能还包括非不稳定的存储器,例如至少一个磁盘存储器,具体用于存储存储性能等级和存储集群的集群标识的对应关系等。存储器405可选的可以包含至少一个位于远离前述处理器401的存储装置。存储器405中存储一组程序代码,且处理器401、输入装置403以及输出装置404调用存储器405中存储的程序代码,用于执行以下操作:

处理器401获取当前需要存储的第一数据的存储性能等级。

处理器401根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取所述第一数据的存储性能等级对应的第一集群标识。

处理器401在所述第一集群标识对应的存储集群中调度存储资源,所述存储资源用于存储所述第一数据,所述存储资源的资源量与所述第一数据的数据量相匹配。

可选的,所述存储性能等级至少包括:用于以第一存储速度存储数据的第一存储性能等级,以及用于以第二存储速度存储数据的第二存储性能等级。

可选的,处理器401还可以执行以下操作:

处理器401获取当前需要读取的第二数据的存储性能等级。

处理器401根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取所述第二数据的存储性能等级对应的第二集群标识。

处理器401在所述第二集群标识对应的存储集群中读取所述第二数据。

可选的,处理器401根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取所述第一数据的存储性能等级对应的第一集群标识之前,还可以执行以下操作:

生成各个所述存储集群的配置文件,所述配置文件包括所述存储集群的集群标识及其属性信息,所述属性信息包括各个用户对所述存储集群的控制权限、所述存储集群所包含的存储设备的设备信息以及所述存储集群所包含的存储资源总和。

可选的,处理器401获取当前需要存储的第一数据的存储性能等级,具体可以为:

输入装置403接收虚拟机发送的存储资源获取请求,所述存储资源获取请求携带所述第一数据的存储性能等级。

处理器401在所述第一集群标识对应的存储集群中调度存储资源之后,还可以执行以下操作:

输出装置404将所述存储资源发送给所述虚拟机,以使所述虚拟机使用所述存储资源存储所述第一数据。

可选的,处理器401还可以执行以下操作:

处理器401在第一集群中调度资源量为第一预设资源量的第一存储资源,并在第二集群中调度资源量为第二预设资源量的第二存储资源。

处理器401确定所述第一存储资源的资源类型与所述第一集群的集群标识匹配,所述第二存储资源的资源类型与所述第二集群的集群标识匹配。

输出装置404将所述第一存储资源和所述第二存储资源发送给虚拟机,以使所述虚拟机获取所述第一数据的存储性能等级,所述虚拟机根据预先建立的存储性能等级和存储集群的集群标识的对应关系,获取所述第一数据的存储性能等级对应的第一集群标识,所述虚拟机确定与所述第一集群标识相匹配的资源类型,所述虚拟机使用所述资源类型所指示的存储资源存储所述第一数据。

具体的,本发明实施例中介绍的控制器可以用以实施本发明结合图2介绍的方法实施例中的部分或全部流程。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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