基于负载预测的NUMA架构中虚拟机调度方法.pdf

上传人:奻奴 文档编号:1637751 上传时间:2018-06-30 格式:PDF 页数:10 大小:621.72KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510081101.0

申请日:

2015.02.15

公开号:

CN104636187A

公开日:

2015.05.20

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/455申请日:20150215|||公开

IPC分类号:

G06F9/455; G06F9/50

主分类号:

G06F9/455

申请人:

浙江大学

发明人:

陈建海; 左起同; 王备; 何钦铭; 杨策; 黄步添

地址:

310027浙江省杭州市西湖区浙大路38号

优先权:

专利代理机构:

杭州天勤知识产权代理有限公司33224

代理人:

马士林

PDF下载: PDF下载
内容摘要

本发明公开了一种基于负载预测的NUMA架构中虚拟机调度方法,首先针对每个虚拟机,按照预设的时间间隔定时获取NUMA架构中各个物理节点的状态信息,根据计算负载方差,当负载方差大于方差阈值时,根据历史状态信息确定调度方案,并按照调度方案进行虚拟机调度。本发明的虚拟机调度方法提升了NUMA体系结构下VNUMA虚拟机的运行性能,能够防止NUMA体系结构下VNUMA虚拟机调度程序反复调度同一台虚拟机造成的调度“颠簸”现象;(使得调度后的系统负载均衡度小于调度前的负载均衡度,经过多次调度后能够使得系统接近理论上负载最均衡的状态。

权利要求书

权利要求书
1.  一种基于负载预测的NUMA架构中虚拟机调度方法,其特征在于, 针对每个虚拟机,按照预设的时间间隔定时获取NUMA架构中各个物理节 点的状态信息,所述的状态信息包括相应物理节点的CPU、内存使用率,运 行于其上的VCPU总数以及运行于其上的当前虚拟机的VCPU数,每次获 得状态信息后执行如下操作:
(1)根据状态信息计算各个物理节点的负载;
(2)根据各个物理节点的负载计算NUMA架构的初始负载方差,并判 断初始负载方差是否大于预设的方差阈值;
若初始负载方差小于或等于预设的方差阈值则进行虚拟机调度,则不 操作;
否则,确定负载最高的物理节点并作为源节点,并通过负载预测确定 是否存在调度方案,所述的调度方案包括待迁移虚拟机和目标节点:
若存在调度方案,则按照所述的调度方案将待迁移虚拟机从所述源 节点迁移至目标节点上;
否则,不操作。

2.  如权利要求1所述的基于负载预测的NUMA架构中虚拟机调度方 法,其特征在于,所述的时间间隔为1~5s。

3.  如权利要求1所述的基于负载预测的NUMA架构中虚拟机调度方 法,所述步骤(1)利用如下公式根据状态信息计算各个物理节点的负载:
Load_degreenode=wcpu*cpu_usagenode+wmem*mem_usagenode
其中,Load_degreenode为物理节点负载量,wcpu和wmem为CPU负载权重 系数和内存负载权重系数,cpu_usagenode为该物理节点的CPU使用率, mem_usagenode为该物理节点的内存使用率。

4.  如权利要求1所述的基于负载预测的NUMA架构中虚拟机调度方 法,其特征在于,所述的方差阈值为0.25~1。

5.  如权利要求1所述的基于负载预测的NUMA架构中虚拟机调度方 法,其特征在于,通过负载预测确定是否存在调度方案时包括如下步骤:
(2-1)以NUMA架构中除源节点外,负载小于预设的负载阈值的其他 物理节点作为候选节点;
(2-2)针对源节点上的每个虚拟机,分别预测将该虚拟机迁移至每个 候选节点上后NUMA架构的负载方差;
(2-3)若所有候选节点对应的负载方差均大于或等于初始负载方差, 则认为不存在调度方案;
否则,认为存在调度方案,所述调度方案以负载方差最小时对应的候选 节点作为目标节点,对应的虚拟机为待迁移虚拟机。

6.  如权利要求5所述的基于负载预测的NUMA架构中虚拟机调度方 法,其特征在于,预设的负载阈值为0.75~1。

7.  如权利要求5所述的基于负载预测的NUMA架构中虚拟机调度方 法,其特征在于,所述步骤(2-2)中将当前虚拟机迁移至任意一个候选节 点上后NUMA架构的负载方差通过如下方法预测:
(2-21)根据源节点和当前候选节点的状态信息分别预测当前虚拟机迁 移至候选节点后源节点和当前候选节点的负载;
(2-22)根据预测得到的当前虚拟机迁移至候选节点后源节点和当前候 选节点的负载以及其余候选节点的负载计算NUMA架构的负载方差。

8.  如权利要求7所述的基于负载预测的NUMA架构中虚拟机调度方 法,其特征在于,所述步骤(2-21)中根据如下方法预测当前虚拟机迁移至 当前候选节点后源节点的负载:
(a1)预测迁移后源节点的CPU使用率Csp:
Csp=Cs-CVM
其中,Cs为迁移前源节点的CPU使用率,CVM为当前虚拟机在源节点上 的CPU使用率;
(a2)预测迁移后源节点的内存使用率Usp:
U sp = PM u - VM s PM d ]]>
其中,PMd为源节点总内存大小,PMu为源节点在调度前已使用的内存 大小,VMs为虚拟机在源节点上的内存大小;
(a3)根据预测的迁移后源节点的CPU使用率和内存使用率计算迁移后 源节点的负载。

9.  如权利要求7所述的基于负载预测的NUMA架构中虚拟机调度方 法,其特征在于,所述步骤(2-21)中根据如下方法预测当前虚拟机迁移至 当前候选节点后当前候选节点的负载:
(b1)根据最近若干次获取的源节点的状态信息,采用岭回归法预测源 节点上当前虚拟机的正相关系数kvm和bvm,其中正相关系数kvm和bvm满足 如下公式:
usage vm usage total = k vm vcpu vm vcpu total + b vm , ]]>
其中,usagevm为当前虚拟机在源节点上的CPU使用率,usagetotal为源节 点的CPU总使用率,vcpuvm为当前虚拟机在源节点上的VCPU数,vcputotal为源节点上所有虚拟机的VCPU总数;
(b2)利用所述的正相关系数kvm和bvm,计算当前虚拟机在当前候选节 点上的CPU使用率usagedst_vm:
usage dst _ vm = ( k vm vcpu src _ vm vcpu dst _ total + vcpu src _ vm + b vm ) ( 1 - k vm vcpu src _ vm vcpu dst _ total + vcpu src _ vm + b vm ) * usage dst _ total , ]]>
其中,usagedst_total为迁移前当前候选节点的CPU总使用率,vcpudst_total为当前候选节点上所有虚拟机的VCPU总数,vcpusrc_vm为当前虚拟机运行在 源节点上的VCPU数;
(b3)预测当前候选节点的内存使用率Udp:
U dp = PM u + VM s PM d ]]>
其中,PMd为候选节点总内存大小,PMu为候选节点在调度前已使用的 内存大小,VMs为虚拟机在源节点上的内存大小。
(b4)根据预测的内存使用率和CPU使用率计算迁移后当前候选节点的 负载。

说明书

说明书基于负载预测的NUMA架构中虚拟机调度方法
技术领域
本发明涉及网络技术领域,具体涉及一种基于负载预测的NUMA架构 中虚拟机调度方法。
背景技术
随着计算机硬件的不断发展,服务器愈加倾向于承载多种相互独立的业 务。虚拟化技术便很好的适应了这种需求:其对计算机硬件资源进行合理分 配给多个操作系统,使得这些操作系统能够并发地运行在物理计算机之上。 且操作系统间保持着相互的独立,很好地解决了此类问题。现在,虚拟化技 术已被广泛运用于互联网服务,云计算等一些领域。
在虚拟化技术的诞生之初,计算机多采用SMP结构(Symmetric  Multi-Processing,对称多处理结构),即内存空间为所有的CPU所共享,每 一个CPU都可以对内存的任意一个地址进行访问,因此,虚拟化系统大多 将虚拟机默认为SMP结构。然而,随着计算机CPU物理核个数的增加,现 有的SMP结构会带来效率问题:当多个CPU同时访问内存是会造成总线的 竞争,从而导致系统整体性能的下降。于是NUMA结构(Non Uniform  Memory Access Architecture,非统一内存访问)的计算机被引入:其将若干 个CPU与一块内存划分为一个节点,每个CPU访问本节点的私有内存时性 能较高,访问其他节点的内存时性能较低。通过操作系统对应用程序的合理 调配,其能够最大程度地减少访存的竞争,同时访存时间又不会有太大的影 响。
虚拟化技术亦适应了NUMA体系结构的发展,虚拟机监视器创建支持 NUMA体系结构的虚拟机。虚拟机监视器为虚拟机的VCPU和内存划分为 若干个虚拟节点,并在创建虚拟机之初通过初始化虚拟机的APIC表中的 SRAT表和SLIT表使得虚拟机操作系统能够感知虚拟机的虚拟化NUMA拓 扑结构。此后,虚拟机监视器在分配VCPU和内存时使得每一个虚拟节点的 VCPU和内存分配到同一个物理节点上,这样便解决了运行在虚拟机之上的 操作系统因为不了解底层NUMA结构而造成的性能下降问题。
然而,虚拟节点和物理节点的对应关系在虚拟机的运行过程中需要根据 节点的负载进行动态调整。现有的负载均衡方式往往是在负载最高的节点上 根据CPU使用率和内存使用率选取一个合适的虚拟机迁移到负载较低的目 标节点中去。然而,在负载高的节点上所采集到的CPU使用率并不等同于 其迁移到目标节点之后给目标节点所增加的CPU使用率开销。于是,基于 传统的方法进行迁移,往往会造成迁移之后系统的负载的均衡度不能做到最 优。
发明内容
针对现有技术的不足,本发明提出一种基于负载预测的NUMA架构中 虚拟机调度方法。
针对每个虚拟机,按照预设的时间间隔定时获取NUMA架构中各个物 理节点的状态信息,所述的状态信息包括相应物理节点的CPU、内存使用率, 运行于其上的VCPU总数以及运行于其上的当前虚拟机的VCPU数,每次 获得状态信息后执行如下操作:
(1)根据状态信息计算各个物理节点的负载;
(2)根据各个物理节点的负载计算NUMA架构的初始负载方差,并判 断初始负载方差是否大于预设的方差阈值;
若初始负载方差小于或等于预设的方差阈值则进行虚拟机调度,则不 操作(即休眠一个时间间隔);
否则,确定负载最高的物理节点并作为源节点,并通过负载预测确定 是否存在调度方案,所述的调度方案包括待迁移虚拟机和目标节点:
若存在调度方案,则按照所述的调度方案将待迁移虚拟机从所述源 节点迁移至目标节点上;
否则,不操作。
本发明的虚拟机调度方法中进行次调度仅调度一个虚拟机,一次调度结 束后,负载可能仍然均衡,此时可能需要经过多次调度才能达到负载均衡。 且由于整个过程中,各个物理节点的使用状态也会改变,因此通过按照预设 的时间间隔进行周期性调度,能够实时对系统负载进行调度。
本发明迁移时将待迁移虚拟机的内存和虚拟CPU同时从源节点迁移至 目标节点上,不会破坏系统的原有架构。
执行步骤(1)和(2)的时间开销通常必须小于设定的时间间隔。本发 明中所述的时间间隔为1~5s,作为优选,所述的时间间隔为1s。
本发明中计算各个物理节点的负载时同时考虑到CPU负载和内存负载, 相应的,所述步骤(1)利用如下公式根据状态信息计算各个物理节点的负 载:
Load_degreenode=wcpu*cpu_usagenode+wmem*mem_usagenode
其中,Load_degreenode为物理节点负载量,wcpu和wmem为CPU负载权重 系数和内存负载权重系数,cpu_usagenode为该物理节点的CPU使用率, mem_usagenode为该物理节点的内存使用率。
其中,CPU负载权重系数wcpu和内存负载权重系数wmem满足条件: wcpu+wmem=1。考虑到实际应用时,CPU负载和内存负载对NUMA架构中各 个物理节点负载的影响,作为优选,本发明中wcpu=wmem=0.5。
设定的方差阈值的大小直接关系到最终进行虚拟机调度的频率,该方差 阈值可根据实际应用情况进行调整。本发明所述的方差阈值为0.25~1。
通过负载预测确定是否存在调度方案时包括如下步骤:
(2-1)以NUMA架构中除源节点外,负载小于预设的负载阈值的其他 物理节点作为候选节点;
本发明中预设的负载阈值为0.75~1。
(2-2)针对源节点上的每个虚拟机,分别预测将该虚拟机迁移至每个 候选节点上后NUMA架构的负载方差;
将当前虚拟机迁移至任意一个候选节点上后NUMA架构的负载方差通 过如下方法预测:
(2-21)根据源节点和当前候选节点的状态信息分别预测当前虚拟机迁 移至候选节点后源节点和当前候选节点的负载;
根据如下方法预测当前虚拟机迁移至当前候选节点后源节点的负载:
(a1)预测迁移后源节点的CPU使用率Csp:
Csp=Cs-CVM
其中,Cs为迁移前源节点的CPU使用率,CVM为当前虚拟机在源节点上 的CPU使用率;
(a2)预测迁移后源节点的内存使用率Usp:
U sp = PM u - VM s PM d ]]>
其中,PMd为源节点总内存大小,PMu为源节点在调度前已使用的内存 大小(可根据检测到的内存使用率和内存量大小计算得到,也可直接采集), VMs为虚拟机在源节点上的内存大小;
(a3)根据预测的迁移后源节点的CPU使用率和内存使用率计算迁移后 源节点的负载。
根据如下方法预测当前虚拟机迁移至当前候选节点后当前候选节点的 负载:
(b1)根据最近若干次获取的源节点的状态信息,采用岭回归法预测源 节点上当前虚拟机的正相关系数kvm和bvm,其中正相关系数kvm和bvm满足 如下公式:
usage vm usage total = k vm vcpu vm vcpu total + b vm , ]]>
其中,usagevm为当前虚拟机在源节点上的CPU使用率,usagetotal为源节 点的CPU总使用率,vcpuvm为当前虚拟机运行在源节点上的VCPU数, vcputotal为源节点上运行的所有虚拟机的VCPU总数;
本发明中根据最近5~15次获取的源节点的状态信息预测当前虚拟机的正 相关系数kvm和bvm,优选为最近10次。其中,该公式中的vcpuvm和vcputotal从同一次获取的源节点的状态信息中得到,利用不同次获取的源节点的状态 信息,根据以上公式从而预测得到源节点上当前虚拟机的正相关系数kvm和 bvm。
(b2)利用所述的正相关系数kvm和bvm,计算当前虚拟机在当前候选节 点上的CPU使用率usagedst_vm:
usage dst _ vm = ( k vm vcpu src _ vm vcpu dst _ total + vcpu src _ vm + b vm ) ( 1 - k vm vcpu src _ vm vcpu dst _ total + vcpu src _ vm + b vm ) * usage dst _ total , ]]>
其中,usagedst_total为迁移前当前候选节点的CPU总使用率,vcpudst_total为当前候选节点上所有虚拟机的VCPU总数,vcpusrc_vm为当前虚拟机运行在 源节点上的VCPU数;
(b3)预测当前候选节点的内存使用率Udp:
U dp = PM u + VM s PM d ]]>
其中,PMd为候选节点总内存大小,PMu为候选节点在调度前已使用的 内存大小,VMs为虚拟机在源节点上的内存大小。
(b4)根据预测的内存使用率和CPU使用率计算迁移后当前候选节点 的负载。
(2-22)根据预测得到的当前虚拟机迁移至候选节点后源节点和当前候 选节点的负载以及其余候选节点的负载计算NUMA架构的负载方差。
(2-3)若所有候选节点对应的负载方差均大于或等于初始负载方差, 则认为不存在调度方案;
否则,认为存在调度方案,所述调度方案以负载方差最小时对应的候选 节点作为目标节点,对应的虚拟机为待迁移虚拟机。
本发明中进行预测时若能够被使用的状态信息的个数(即采集次数)不 足预测时设定的数量时,直接根据能够使用的数据进行预测即可。
本发明提供的一种基于负载预测的NUMA架构中虚拟机调度方法,调 度方案根据历史记录预测每台虚拟机调度到每个节点上对系统负载均衡度 的影响,来决策需调度的虚拟机和调度的目标节点,引入虚拟机的正相关系 数kvm,bvm的定义,并根据计算出的虚拟机正相关系数虚拟机在目标节点上 的CPU使用率进行预测。
与现有技术相比,本发明具有如下优点:
(a)提升了NUMA体系结构下VNUMA虚拟机的运行性能;
(b)能够防止NUMA体系结构下VNUMA虚拟机调度程序反复调度 同一台虚拟机造成的调度“颠簸”现象;
(c)能够使得调度后的系统负载均衡度小于调度前的负载均衡度,经 过多次调度后能够使得系统接近理论上负载最均衡的状态。
附图说明
图1为本实施例的基于负载预测的NUMA架构中虚拟机调度方法的流 程图。
具体实施方式
下面将结合附图和具体实施例对本发明进行详细描述。
一种基于负载预测的NUMA架构中虚拟机调度方法如图1所示,首先 针对每个虚拟机,按照预设的时间间隔定时获取NUMA架构中各个物理节 点的状态信息,状态信息包括相应物理节点的CPU使用率、内存使用率, 运行于其上的VCPU总数以及运行于其上的当前虚拟机的VCPU数;
获取每个物理节点的状态信息可以以物理节点为单位,此时获取到的状 态信息包括该物理节点的CPU、内存使用率和运行于其上的每个虚拟机的 VCPU数以及运行于其上的VCPU总数。
为便于计算,获取时也可以以虚拟机为单位,针对每个虚拟机,分别获 取每一个物理节点的CPU使用率和内存使用率,该虚拟机在该物理节点上 运行部分的VCPU数,以及该物理节点上运行的VCPU总数。
本实施例中获取时以虚拟机为单位,并将获取的各个状态存储到相应的 四元组中。本实施例中四元组表示如下:(usagevm,usagetotal,vcpuvm,vcputotal), 其中usagevm为虚拟机在某一物理节点上的CPU使用率,usagetotal为该物理 节点的CPU总使用率,vcpuvm为虚拟机在某一物理节点上的VCPU数, vcputotal为该物理节点上所有虚拟机的VCPU总数。
每次获取状态信息后进行如下操作:
(1)根据状态信息计算各个物理节点的负载;
本实施例中计算各个物理节点的负载时同时考虑到CPU负载和内存负 载,相应的,利用如下公式根据状态信息计算各个物理节点的负载:
Load_degreenode=wcpu*cpu_usagenode+wmem*mem_usagenode
其中,Load_degreenode为物理节点负载量,wcpu和wmem为CPU负载权重 系数和内存负载权重系数,cpu_usagenode为该物理节点的CPU使用率, mem_usagenode为该物理节点的内存使用率。
其中,CPU负载权重系数wcpu和内存负载权重系数wmem满足条件: wcpu+wmem=1,本实施例中wcpu=wmem=0.5。
(2)根据各个物理节点的负载计算NUMA架构的初始负载方差,并判 断初始负载方差是否大于预设的方差阈值(本实施例中方差阈值为0.3);
若初始负载方差小于或等于预设的方差阈值则进行虚拟机调度,则不 操作;
否则,确定负载最高的物理节点并作为源节点,并通过负载预测确定 是否存在调度方案,调度方案包括待迁移虚拟机和目标节点:
若存在调度方案,则按照该调度方案将待迁移虚拟机从所述源节点 迁移至目标节点上;
否则,不操作。
本实施例中调度时将待迁移虚拟机的内存和虚拟CPU同时从源节点迁 移至目标节点上,不会破坏系统的原有架构。
本实施例中通过负载预测确定是否存在调度方案时包括如下步骤:
(2-1)以NUMA架构中除源节点外,负载小于预设的负载阈值(本实 施例中负载阈值为0.9)的其他物理节点作为候选节点;
(2-2)针对源节点上的每个虚拟机,分别预测将该虚拟机迁移至每个 候选节点上后NUMA架构的负载方差;
本实施例中将当前虚拟机迁移至任意一个候选节点上后NUMA架构的 负载方差通过如下方法预测:
(2-21)根据源节点和当前候选节点的状态信息分别预测当前虚拟机迁 移至候选节点后源节点和当前候选节点的负载;
根据如下方法预测当前虚拟机迁移至当前候选节点后源节点的负载:
(a1)预测迁移后源节点的CPU使用率Csp:
Csp=Cs-CVM
其中,Cs为迁移前源节点的CPU使用率,CVM为当前虚拟机在源节点上 的CPU使用率;
(a2)预测迁移后源节点的内存使用率Usp:
U sp = PM u - VM s PM d ]]>
其中,PMd为源节点总内存大小,PMu为源节点在调度前已使用的内存 大小(可根据检测到的内存使用率和内存量大小计算得到,也可直接采集), VMs为虚拟机在源节点上的内存大小;
(a3)根据预测的迁移后源节点的CPU使用率和内存使用率计算迁移后 源节点的负载。
根据如下方法预测当前虚拟机迁移至当前候选节点后当前候选节点的 负载:
(b1)根据最近若干次(本实施例中为10次)获取的源节点的状态信息, 采用岭回归法预测源节点上当前虚拟机的正相关系数kvm和bvm,其中正相关 系数kvm和bvm满足如下公式:
usage vm usage total = k vm vcpu vm vcpu total + b vm , ]]>
其中,usagevm为当前虚拟机在源节点上的CPU使用率,usagetotal为源节 点的CPU总使用率,vcpuvm为当前虚拟机运行在源节点上的VCPU数, vcputotal为源节点上运行的所有虚拟机的VCPU总数;
(b2)利用当前虚拟机的正相关系数kvm和bvm,计算当前虚拟机在当前 候选节点上的CPU使用率usagedst_vm:
usage dst _ vm = ( k vm vcpu src _ vm vcpu dst _ total + vcpu src _ vm + b vm ) ( 1 - k vm vcpu src _ vm vcpu dst _ total + vcpu src _ vm + b vm ) * usage dst _ total , ]]>
其中,usagedst_total为迁移前当前候选节点的CPU总使用率,vcpudst_total为当前候选节点上所有虚拟机的VCPU总数,vcpusrc_vm为当前虚拟机运行在 源节点上的VCPU数;
(b3)预测当前候选节点的内存使用率Udp:
U dp = PM u + VM s PM d ]]>
其中,PMd为候选节点总内存大小,PMu为候选节点在调度前已使用的 内存大小,VMs为虚拟机在源节点上的内存大小。
(b4)根据预测的内存使用率和CPU使用率计算迁移后当前候选节点 的负载。
(2-22)根据预测得到的当前虚拟机迁移至候选节点后源节点和当前候 选节点的负载以及其余候选节点的负载计算NUMA架构的负载方差。
(2-3)若所有候选节点对应的负载方差均大于或等于初始负载方差, 则认为不存在调度方案;
否则,认为存在调度方案,并以负载方差最小时对应的候选节点作为目 标节点,对应的虚拟机为待迁移虚拟机形成调度方案。
本实施例中进行预测时若能够被使用的状态信息的个数(即采集次数) 不足预测时10次时,直接根据能够使用的数据进行预测即可。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细 说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发 明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包 含在本发明的保护范围之内。

基于负载预测的NUMA架构中虚拟机调度方法.pdf_第1页
第1页 / 共10页
基于负载预测的NUMA架构中虚拟机调度方法.pdf_第2页
第2页 / 共10页
基于负载预测的NUMA架构中虚拟机调度方法.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《基于负载预测的NUMA架构中虚拟机调度方法.pdf》由会员分享,可在线阅读,更多相关《基于负载预测的NUMA架构中虚拟机调度方法.pdf(10页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于负载预测的NUMA架构中虚拟机调度方法,首先针对每个虚拟机,按照预设的时间间隔定时获取NUMA架构中各个物理节点的状态信息,根据计算负载方差,当负载方差大于方差阈值时,根据历史状态信息确定调度方案,并按照调度方案进行虚拟机调度。本发明的虚拟机调度方法提升了NUMA体系结构下VNUMA虚拟机的运行性能,能够防止NUMA体系结构下VNUMA虚拟机调度程序反复调度同一台虚拟机造成的调。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1