一种云计算中基于任务分类的多队列错峰调度模型及方法.pdf

上传人:000****221 文档编号:1636227 上传时间:2018-06-30 格式:PDF 页数:11 大小:693.92KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510108896.X

申请日:

2015.03.12

公开号:

CN104657221A

公开日:

2015.05.27

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/50申请日:20150312|||公开

IPC分类号:

G06F9/50

主分类号:

G06F9/50

申请人:

广东石油化工学院

发明人:

左利云; 董守斌; 舒磊; 孙慧琳

地址:

525000广东省茂名市官渡二路139号大院

优先权:

专利代理机构:

南京纵横知识产权代理有限公司32224

代理人:

董建林

PDF下载: PDF下载
内容摘要

本发明公开了一种云计算中基于任务分类的多队列错峰调度模型及方法,其特征在于:包括任务管理器、本地资源管理器、全局资源管理器和调度器;首先根据任务对资源的需求情况,将任务划分成CPU密集型、I/O密集型和内存密集型三个队列,并对资源按CPU、I/O和内存负载情况进行排序,任务调度时错开资源使用高峰,将某一参数密集型任务调度至该指标负载较轻的资源,如将CPU密集型任务调度至CPU利用率较低的资源。本发明能有效实现负载均衡、提高调度效率和资源利用率。

权利要求书

权利要求书
1.  一种云计算中基于任务分类的多队列错峰调度模型,其特征在于,包括任务管理器、本地资源管理器、全局资源管理器和调度器;
所述任务管理器负责管理用户提交的任务请求,并根据任务对资源的需求差异将任务划分;
所述本地资源管理器负责本地资源节点的监测和管理,周期性的监测本地资源的负载情况,并将这些信息提交至所述全局资源管理器;
所述全局资源管理器周期性的收集本地资源管理器的监测信息,并对资源使用量情况进行排序;
所述调度器根据划分后的任务和资源使用量情况进行任务资源的调度。

2.  根据权利要求1所述的一种云计算中基于任务分类的多队列错峰调度模型,其特征是:所述资源为虚拟机资源。

3.  根据权利要求1所述的一种云计算中基于任务分类的多队列错峰调度模型,其特征是:所述资源包括参数CPU、I/O和Mem存储器。

4.  根据权利要求1所述的一种云计算中基于任务分类的多队列错峰调度模型,其特征是:所述本地资源的负载情况包括CPU利用率、I/O等待时间和Mem使用量。

5.  基于上述任一权利要求所述的一种云计算中基于任务分类的多队列错峰调度模型的调度方法,其特征是:包括步骤:
1)资源和任务的定义描述:设当前云计算系统中有N个资源U={U1,U2,...,Ui,...UN}和K个任务T={T1,T2,...,Tj,...TK};
云资源定义:Ui=(Ci,Oi,Mi);其中,参数Ci,Oi,Mi分别代表CPU利用率、I/O等待时间和Mem使用量;
云任务定义:Tj=(Cj,Lj,Mj,Dj),其中,前三个参数Cj,Lj,Mj分别代表用户 申请的CPU利用率、任务大小和Mem使用量,Dj为任务截止时间;
任务的I/O使用量定义为:
2)本地资源管理器定期读取本地虚拟机的CPU利用率、I/O等待时间和Mem使用量,并将这些信息提交至全局资源管理器;
3)全局资源管理器对所有资源分别按CPU利用率、I/O等待时间和Mem使用量三个参数从小到大排序,形成三个资源队列QC、QO和QM,表示如下:
QC={U1,U2,...UiC,...UN}     (1)
QO={U1,U2,...UiO,...UN}     (2)
QM={U1,U2,...UiM,...UN}     (3)
4)根据任务对资源的需求差异将任务划分:统计云计算系统的CPU利用率CS、I/O使用量OS和Mem使用量MS,然后对于每一个云任务Tj,计算其CPU利用率Cj,I/O使用量Oj和Mem使用量Mj与云计算系统的CS、OS和MS的比值C、O和M,取三个比值中最大的一个作为该任务的归属类别Tjh:
Tjh=Max(C,O,M)=Max(CjCS,OjOS,MjMS)---(4)]]>
根据任务的归属类别Tjh将K个任务划分为a个CPU密集型、b个I/O密集型和K-a-b个Mem密集型三个队列QTC、QTO和QTM,表示如下:
QTC={T1,T2,...,TjC,...Ta}     (5)
QTO={Ta+1,Ta+2,...TjO,...Ta+b}      (6)
QTM={Ta+b+1,Ta+b+2,...,TjM,...,TK-a-b}      (7)
5)基于步骤3)得到的资源队列和步骤4)建立的任务队列,调度器采用多队列错峰调度方法进行任务资源的调度。

6.  根据权利要求5所述的一种云计算中基于任务分类的多队列错峰调度方法,其特征是:所述多队列错峰调度方法为将CPU密集型任务调度至CPU利用 率较低的资源,I/O密集型任务调度至I/O等待时间较短的资源,Mem密集型任务调度至Mem使用较少的资源。

说明书

说明书一种云计算中基于任务分类的多队列错峰调度模型及方法
技术领域
本发明涉及一种云计算中基于任务分类的多队列错峰调度模型及方法。
背景技术
云计算中的应用任务具有多样性,对资源的需求也有很大差异,有的对存储需求较大,有的对计算能力即CPU有要求,有的则是数据密集型的,即其I/O比较明显。任务的多样性及对资源的需求差异会造成负载不均衡。另一方面,资源及其负载有很多动态和不确定因素,如资源节点的负载是随时间动态变化的,随着年份、季节、节假日的变化资源请求量也会发生变化;而资源自身也有诸多变化,可能随时有资源加入或退出,这些都将会导致一系列问题。如果过多的资源节点负载过低,那么无疑会造成资源浪费;如果负载过高,就会影响其上层服务的性能。以上这些都会导致负载不均衡,并影响用户满意度和资源利用率。
目前在云计算中实现负载均衡的方法大多是采用虚拟机迁移的方式,但是虚拟机迁移的开销会比较大,因此如果在资源任务调度时考虑负载的均衡问题将会取得更好的效果。而现有关于云计算中调度方面的研究要么是对虚拟资源的迁移调度,要么是仅从任务的角度进行一些任务调度的优化研究。而云计算中任务的多样性和资源的动态性使得这样单一优化的调度方法是十分有限的。因此,针对云任务的多样性和资源负载的动态性提出能实现负载均衡和提高调度性能的调度方法将是极其必要的。
关于云计算中任务调度的研究,根据调度目标主要分为三类:一是以调度时间为主,包括响应时间、最优跨度和完成时间等;二是以系统性能为主,如负载均衡和资源利用率等;三是多目标的优化,除了以上目标外,同时兼顾经济成本、Qos、能耗等,以下分别介绍三种任务调度:
1)以调度时间为主要目标:
以调度时间为主要目标的研究主要是通过一些启发式算法、智能优化算法等对任务调度从算法层面进行优化,以减少调度相关的时间;文献[1]“Tsai C,Huang W,Chiang M.A Hyper-Heuristic Scheduling Algorithm for Cloud”,IEEE TRANSACTIONS ON CLOUD COMPUTING,2014,2(2),提出一种超级启发式算法,主要目标是实现最优跨度。文献[2]“Tang Z,Jiang L,Zhou J.A self-adaptive scheduling algorithm for reduce start time”,Future Generation Computer Systems,2015,43在Hadoop平台上提出一种自适应调度算法,主要目标是减少完成时间。文献[3]“Tripathy B,Dash S,Padhy S K.Dynamic task scheduling using a directed neural network”,Journal of Parallel and Distributed Computing,2015,75在已提出的直接优化搜索算法(DSO)的基础上结合神经网络提出三层人工神经网络(ANN)和RBF神经网络两个调度算法,主要目标是实现最优跨度。文献[4]“Topcuoglu H,Hariri S,Wu M.Performance-effective and low-complexity task scheduling for heterogeneous computing”,IEEE Transactions on Parallel and Distributed Systems,2002,13(3)为满足高性能和快速调度的需求,提出了两个调度算法,第一个是每次选择能最早完成的任务优先调度,第二个是关键路径算法(CPOP)以最小化关键路径任务的总的执行时间为主要目标。
2)以系统性能为主要目标:
目前云计算中以系统性能为主要目标的调度主要是针对负载均衡和系统资源利用率等方面的一些改进。文献[5]“Li C C,Wang K..An SLA-aware load balancing scheme for cloud datacenters”,2014International Conference on Information Networking(ICOIN).IEEE,2014提出一个两级集中式负载均衡框架(具有较好的可扩展性和高可用性),并提出了一个基于神经网络的动态负载平衡算法,根据负载指标和神经网络指标给每一个VM分配权重,为满足SLA,动态调整更新每一个VM的权重。文献[6]“Mesbahi M,Rahmani A M,Chronopoulos A T.Cloud light weight:A new solution for load balancing in cloud computing”,2014International Conference on Data Science&Engineering(ICDSE). IEEE,2014提出了一个负载均衡算法,以平衡VM负载并保证QoS,它降低了VM迁移的数量,减少了任务执行过程中的迁移时间。文献[7]“Wen Y F,Chang C L.Load balancing job assignment for cluster-based cloud computing”,2014Sixth International Conference on Ubiquitous and Future Networks(ICUFN).IEEE,2014同时考虑了网络和系统负载均衡的处理,将任务分配至同类节点中处理和传输延迟最小的链接,将该策略与FCFS、Min-Min和Min-Max算法相结合。文献[8]“Wang T,Liu Z,Chen Y,et al.Load Balancing Task Scheduling Based on Genetic Algorithm in Cloud Computing”,2014IEEE 12th International Conference on Dependable,Autonomic and Secure Computing(DASC).IEEE,2014为实现云计算中跨节点的负载均衡并减少平均完成时间,提出结合遗传算法来实现。文献[9]“Chen H,Wang F,Helian N,et al.User-priority guided min-min scheduling algorithm for load balancing in cloud computing”,2013National Conference on Parallel Computing Technologies(PARCOMPTECH).IEEE,2013提出了一种基于用户优先级的改进的Min-Min算法,来实现负载均衡、最优跨度和提高资源利用率;假设用户可根据自己的需求选择不同等级的服务,相应成本也不同,即划分出一些VIP用户及资源来优先调度,但该方法复杂度比较高。
3)多目标优化调度:
更多的研究是多目标优化调度的研究。如兼顾QoS约束、能耗、经济成本和系统性能等。文献[10]“Hu M,Veeravalli B.Dynamic Scheduling of Hybrid Real-Time Tasks on Clusters”,IEEE TRANSACTIONS ON COMPUTERS,DECEMBER 2014,63(12)针对集群中可分割和不可分割的两种实时任务提出了一种动态实时调度算法,主要目标是保障QoS。文献[11]“Hung P P,Bui T A,Huh E N.A New Approach for Task Scheduling Optimization in Mobile Cloud Computing”,Frontier and Innovation in Future Computing and Communications.Springer Netherlands,2014针对移动云计算提出了一种客户端与云端的协同调度算法,主要目标是减少处理时间和云服务的成本。文献[12]“Xiaoyong T,Li K, Zeng Z,et al.A novel security-driven scheduling algorithm for precedence-constrained tasks in heterogeneous distributed systems”,IEEE Transactions on Computers,2011,60(7)基于优先级约束的任务和风险概率提出了一个安全驱动的调度算法,主要目标是减少完成时间并增强安全性。文献[13]“Liu Z,Qu W,Liu W,et al.Resource preprocessing and optimal task scheduling in cloud computing environments”,Concurrency and Computation:Practice and Experience,2014提出了一个通过资源分割和预算的方法来最小化任务长度,以减少任务执行时间,提高资源利用率。该方法考虑了资源的情况。其它大部分没有考虑资源,仅对任务进行优化。文献[14]“Zhu Q,Agrawal G.Resource provisioning with budget constraints for adaptive applications in cloud environments”,IEEE TRANSACTIONS ON SERVICES COMPUTING,2012,5(4)提出了一个云计算中一个多输入多输出反馈控制的动态资源调度算法,通过强化学习来调整自适应参数,以保障在时间约束下实现最优的应用效益;考虑了任务的执行时间、资源成本和利用率(CPU、Memory)。
另有综合考虑以上目标综合的算法。文献[15]“Wang Y,Shi W.Budget-Driven Scheduling Algorithms for Batches of MapReduce Jobs in Heterogeneous Clouds”,IEEE TRANSACTIONS ON CLOUD COMPUTING,2014,2(3)针对异构云上的MapReduce作业的批次,提出了一种预算驱动的贪心调度算法,考虑了Deadline约束和经济成本。文献[16]“Rodriguez M A,Buyya R.Deadline Based Resource Provisioning and Scheduling Algorithm for Scientific Workflows on Clouds”,IEEE TRANSACTIONS ON CLOUD COMPUTING,2014,2(2)针对科学工作流提出了一个资源预测和调度策略,并基于元启发式优化技术提出了一个元启发式粒子群优化算法,来减少整体工作流的执行成本,满足Deadline约束。
综上所述,现有研究主要存在以下问题:
(1)现有的研究方法中很多方法需通过通信、监控和控制,算法复杂度也比较高,这样会产生一定的延迟,较高的复杂度可能会带来负面影响;
(2)现有的很多方法要使用VM迁移,但是这种迁移代价可能比较高;
(3)很多负载均衡方法是基于负载预测的,预测VM的请求,但由于云计算中任务负载的多样性和异构硬件环境的多样复杂性,使得预测VM的请求十分困难;
(4)很多任务调度的方法仅仅是对任务调度方法本身进行优化,没有考虑任务对资源的需求差异和资源负载的动态性。
发明内容
为解决现有技术中的不足,本发明提供一种云计算中基于任务分类的多队列错峰调度模型及方法,解决了云计算中资源的动态性和任务的多样性及其对资源的需求差异,可能会导致负载不均衡,影响调度效率和资源利用率的问题。
为了实现上述目标,本发明采用如下技术方案:
一种云计算中基于任务分类的多队列错峰调度模型,其特征在于,包括任务管理器、本地资源管理器、全局资源管理器和调度器;
所述任务管理器负责管理用户提交的任务请求,并根据任务对资源的需求差异将任务划分;
所述本地资源管理器负责本地资源节点的监测和管理,周期性的监测本地资源的负载情况,并将这些信息提交至所述全局资源管理器;
所述全局资源管理器周期性的收集本地资源管理器的监测信息,并对资源使用量情况进行排序;
所述调度器根据划分后的任务和资源使用量情况进行任务资源的调度。
前述的一种云计算中基于任务分类的多队列错峰调度模型,其特征是:所述资源为虚拟机资源。
前述的一种云计算中基于任务分类的多队列错峰调度模型,其特征是:所述资源包括参数CPU、I/O和Mem存储器。
前述的一种云计算中基于任务分类的多队列错峰调度模型,其特征是:所述本地资源的负载情况包括CPU利用率、I/O等待时间和Mem使用量。
基于前述的一种云计算中基于任务分类的多队列错峰调度模型的调度方法,其特征是:包括步骤:
1)资源和任务的定义描述:设当前云计算系统中有N个资源U={U1,U2,...,Ui,...UN}和K个任务T={T1,T2,...,Tj,...TK};
云资源定义:Ui=(Ci,Oi,Mi);其中,参数Ci,Oi,Mi分别代表CPU利用率、I/O等待时间和Mem使用量;
云任务定义:Tj=(Cj,Lj,Mj,Dj),其中,前三个参数Cj,Lj,Mj分别代表用户申请的CPU利用率、任务大小和Mem使用量,Dj为任务截止时间;
任务的I/O使用量定义为:
2)本地资源管理器定期读取本地虚拟机的CPU利用率、I/O等待时间和Mem使用量,并将这些信息提交至全局资源管理器;
3)全局资源管理器对所有资源分别按CPU利用率、I/O等待时间和Mem使用量三个参数从小到大排序,形成三个资源队列QC、QO和QM,表示如下:
QC={U1,U2,...UiC,...UN}      (1)
QO={U1,U2,...UiO,...UN}      (2)
QM={U1,U2,...UiM,...UN}      (3)
4)根据任务对资源的需求差异将任务划分:统计云计算系统的CPU利用率CS、I/O使用量OS和Mem使用量MS,然后对于每一个云任务Tj,计算其CPU利用率Cj,I/O使用量Oj和Mem使用量Mj与云计算系统的CS、OS和MS的比值C、O和M,取三个比值中最大的一个作为该任务的归属类别Tjh:
Tjh=Max(C,O,M)=Max(CjCS,OjOS,MjMS)---(4)]]>
根据任务的归属类别Tjh将K个任务划分为a个CPU密集型、b个I/O密集型和K-a-b个Mem密集型三个队列QTC、QTO和QTM,表示如下:
QTC={T1,T2,...,TjC,...Ta}      (5)
QTO={Ta+1,Ta+2,...TjO,...Ta+b}      (6)
QTM={Ta+b+1,Ta+b+2,...,TjM,...,TK-a-b}      (7)
5)基于步骤3)得到的资源队列和步骤4)建立的任务队列,调度器采用多队列错峰调度方法进行任务资源的调度。
前述的一种云计算中基于任务分类的多队列错峰调度方法,其特征是:所述多队列错峰调度方法为将CPU密集型任务调度至CPU利用率较低的资源,I/O密集型任务调度至I/O等待时间较短的资源,Mem密集型任务调度至Mem使用较少的资源。
本发明所达到的有益效果:本发明根据任务对资源的需求情况,将任务划分成CPU密集型、I/O密集型和Mem内存密集型三个队列,并对资源按CPU、I/O和Mem负载情况进行排序,任务调度时错开资源使用高峰,将某一参数密集型任务调度至该指标负载较轻的资源;既能考虑任务的多样性、反映任务对资源的需求差异,又能考虑资源的负载状态,且方法较简单,不需要预测负载,也不需要迁移VM,因此方法易于实现,不涉及微分、积分运算,复杂度较低,有效实现负载均衡、提高调度效率和资源利用率。
附图说明
图1是云计算中基于任务分类的多队列错峰调度模型;
图2是云计算中基于任务分类的多队列错峰调度方法示意图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,一种云计算中基于任务分类的多队列错峰调度模型,包括任务管理器、本地资源管理器、全局资源管理器和调度器;
任务管理器负责管理用户提交的任务请求,并根据其对资源的需求差异将其划分为三个队列:CPU密集型、I/O密集型和Mem(内存)密集型;
本地资源管理器负责本地资源节点的监测和管理,周期性的监测本地虚拟资源的CPU、I/O和Mem负载情况,并将这些信息提交至全局资源管理器;
全局资源管理器周期性的收集本地资源管理器的监测信息,并按CPU利用率、I/O等待时间和Mem使用量从小到大对资源进行排序,分为三个队列。
调度器用于调用任务调度算法进行任务资源的调度。
如图2所示,一种云计算中基于任务分类的多队列错峰调度模型的调度方法,包括步骤:
1)资源和任务的定义描述:
首先假设当前云计算系统中有N个资源U={U1,U2,...,Ui,...UN}和K个任务T={T1,T2,...,Tj,...TK}。本发明的云资源主要指虚拟机资源。
在云计算中,虚拟技术可以监控资源的使用情况,如果实际执行过程中用户任务的CPU和Mem等使用量超出用户申请的数量,系统将切断用户任务的执行,视为执行失败。因此本发明假设用户提交的资源需求信息是准确的。
云资源定义:对于云计算中的每一个虚拟资源,定义其由主要的三个参数CPU、I/O和Mem组成,即Ui=(Ci,Oi,Mi);其中,参数Ci,Oi,Mi分别代表CPU利用率、I/O等待时间和Mem使用量。
云任务定义:Tj=(Cj,Lj,Mj,Dj),其中前三个参数Cj,Lj,Mj分别代表用户申请的CPU利用率、任务大小和Mem使用量,Dj为任务截止时间。
任务的I/O使用量定义为:
2)本地资源管理器定期读取本地虚拟机的CPU利用率、I/O等待时间和Mem使用量,并将这些信息提交至全局资源管理器;
3)全局资源管理器对所有资源分别按CPU利用率、I/O等待时间和Mem使用量三个参数从小到大排序,形成三个资源队列QC、QO和QM,表示如下:
QC={U1,U2,...UiC,...UN}      (1)
QO={U1,U2,...UiO,...UN}      (2)
QM={U1,U2,...UiM,...UN}      (3)
考虑到资源数量及动态性问题,在此仅对所有资源进行排序,不进行分类。所以三个队列中均包括所有资源。
4)统计云计算系统的CPU利用率CS、I/O使用量OS和Mem使用量MS,然后对于每一个云任务Tj,计算其CPU利用率Cj,I/O使用量Oj和Mem使用量Mj与云计算系统的CS、OS和MS的比值C、O和M,取三个比值中最大的一个作为该任务的归属类别Tjh:
Tjh=Max(C,O,M)=Max(CjCS,OjOS,MjMS)---(4)]]>
根据任务的归属类别Tjh将K个任务划分为a个CPU密集型、b个I/O密集型和K-a-b个Mem密集型三个队列QTC、QTO和QTM,表示如下:
QTC={T1,T2,...,TjC,...Ta}      (5)
QTO={Ta+1,Ta+2,...TjO,...Ta+b}      (6)
QTM={Ta+b+1,Ta+b+2,...,TjM,...,TK-a-b}      (7)
5)基于步骤3)得到的资源队列和步骤4)建立的任务队列,调度器采用多队列错峰调度方法进行任务资源的调度。
如图2所示,错峰调度,顾名思义,在调度时错开资源使用高峰。即将CPU密集型任务调度至CPU利用率较低的资源,I/O密集型任务调度至I/O等待时间较短的资源,Mem密集型任务调度至Mem使用较少的资源。该方法在实现时任务对CPU、I/O和Mem等资源的使用是不冲突的,能较好地实现负载均衡。
调度算法的复杂度将会对系统运行有一定影响,本专利所采用的调度方法简单,不涉及微分和积分运算,时间复杂度和空间复杂度相对较低,具体分析如下:
1)算法复杂度分析:
本发明方法时间复杂度跟资源个数N和任务个数K有关,其中资源排序部分,时间复杂度为O(NlogN),而错峰调度算法的时间复杂度为O(K),所以总的时间复杂度为O(NlogN+K)。但事实上,资源排序可以与调度算法同时进行,而且资源排序只是定期进行,所以实际的时间复杂度是小于O(NlogN+K)的。
对于空间复杂度,资源排序的空间复杂度为O(1),错峰调度算法空间复杂度为O(1),故总的空间复杂度也是O(1)。
2)优化分析:
根据错峰调度的原理,三个任务队列可同时调度至不同的资源执行,因此理论上理想情况下整个系统将有三倍的优化提高,最坏情况下,考虑原始状态下可能会出现三个队列的三个任务同时调度至同一个资源的情况,这个时候优化为0,所以优化上限为3倍,下限为0。
但是这种最坏情况只是最初状态下才可能出现,随着该调度算法的实施,系统资源负载将越来越均衡,这种最坏状态将不会再出现,所以实际上的优化下限是大于0的。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

一种云计算中基于任务分类的多队列错峰调度模型及方法.pdf_第1页
第1页 / 共11页
一种云计算中基于任务分类的多队列错峰调度模型及方法.pdf_第2页
第2页 / 共11页
一种云计算中基于任务分类的多队列错峰调度模型及方法.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《一种云计算中基于任务分类的多队列错峰调度模型及方法.pdf》由会员分享,可在线阅读,更多相关《一种云计算中基于任务分类的多队列错峰调度模型及方法.pdf(11页珍藏版)》请在专利查询网上搜索。

本发明公开了一种云计算中基于任务分类的多队列错峰调度模型及方法,其特征在于:包括任务管理器、本地资源管理器、全局资源管理器和调度器;首先根据任务对资源的需求情况,将任务划分成CPU密集型、I/O密集型和内存密集型三个队列,并对资源按CPU、I/O和内存负载情况进行排序,任务调度时错开资源使用高峰,将某一参数密集型任务调度至该指标负载较轻的资源,如将CPU密集型任务调度至CPU利用率较低的资源。本发。

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

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


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